removed configuration from index files and moved to di container
This commit is contained in:
parent
a3459f5865
commit
80c1dcb6cb
6 changed files with 261 additions and 94 deletions
|
|
@ -9,7 +9,7 @@ import { Hono } from 'hono';
|
|||
import { cors } from 'hono/cors';
|
||||
// Library imports
|
||||
import {
|
||||
createServiceContainer,
|
||||
createServiceContainerFromConfig,
|
||||
initializeServices as initializeAwilixServices,
|
||||
type ServiceContainer,
|
||||
} from '@stock-bot/di';
|
||||
|
|
@ -50,40 +50,17 @@ async function initializeServices() {
|
|||
logger.info('Initializing data-ingestion service with improved DI...');
|
||||
|
||||
try {
|
||||
// Create Awilix container with proper config structure
|
||||
// Create Awilix container directly from AppConfig
|
||||
logger.debug('Creating Awilix DI container...');
|
||||
const awilixConfig = {
|
||||
redis: {
|
||||
host: config.database.dragonfly.host,
|
||||
port: config.database.dragonfly.port,
|
||||
db: config.database.dragonfly.db,
|
||||
},
|
||||
mongodb: {
|
||||
uri: config.database.mongodb.uri,
|
||||
database: config.database.mongodb.database,
|
||||
},
|
||||
postgres: {
|
||||
host: config.database.postgres.host,
|
||||
port: config.database.postgres.port,
|
||||
database: config.database.postgres.database,
|
||||
user: config.database.postgres.user,
|
||||
password: config.database.postgres.password,
|
||||
},
|
||||
questdb: {
|
||||
enabled: false, // Disable QuestDB for now
|
||||
host: config.database.questdb.host,
|
||||
httpPort: config.database.questdb.httpPort,
|
||||
pgPort: config.database.questdb.pgPort,
|
||||
influxPort: config.database.questdb.ilpPort,
|
||||
database: config.database.questdb.database,
|
||||
},
|
||||
proxy: {
|
||||
cachePrefix: 'proxy:',
|
||||
ttl: 3600,
|
||||
},
|
||||
};
|
||||
|
||||
container = createServiceContainer(awilixConfig);
|
||||
container = createServiceContainerFromConfig(config, {
|
||||
enableQuestDB: false, // Data ingestion doesn't need QuestDB yet
|
||||
enableMongoDB: true,
|
||||
enablePostgres: true,
|
||||
enableCache: true,
|
||||
enableQueue: true,
|
||||
enableBrowser: true, // Data ingestion needs browser for web scraping
|
||||
enableProxy: true, // Data ingestion needs proxy for rate limiting
|
||||
});
|
||||
await initializeAwilixServices(container);
|
||||
logger.info('Awilix container created and initialized');
|
||||
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@ import { initializeServiceConfig } from '@stock-bot/config';
|
|||
|
||||
// Library imports
|
||||
import {
|
||||
createServiceContainer,
|
||||
createServiceContainerFromConfig,
|
||||
initializeServices as initializeAwilixServices,
|
||||
type ServiceContainer
|
||||
} from '@stock-bot/di';
|
||||
|
|
@ -53,36 +53,18 @@ async function initializeServices() {
|
|||
logger.info('Initializing data pipeline service with DI...');
|
||||
|
||||
try {
|
||||
// Create Awilix container with proper config structure
|
||||
// Create Awilix container directly from AppConfig
|
||||
logger.debug('Creating Awilix DI container...');
|
||||
const awilixConfig = {
|
||||
redis: {
|
||||
host: config.database.dragonfly.host,
|
||||
port: config.database.dragonfly.port,
|
||||
db: config.database.dragonfly.db,
|
||||
},
|
||||
mongodb: {
|
||||
uri: config.database.mongodb.uri,
|
||||
database: config.database.mongodb.database,
|
||||
},
|
||||
postgres: {
|
||||
host: config.database.postgres.host,
|
||||
port: config.database.postgres.port,
|
||||
database: config.database.postgres.database,
|
||||
user: config.database.postgres.user,
|
||||
password: config.database.postgres.password,
|
||||
},
|
||||
questdb: {
|
||||
enabled: config.database.questdb.enabled || false,
|
||||
host: config.database.questdb.host,
|
||||
httpPort: config.database.questdb.httpPort,
|
||||
pgPort: config.database.questdb.pgPort,
|
||||
influxPort: config.database.questdb.ilpPort,
|
||||
database: config.database.questdb.database,
|
||||
},
|
||||
};
|
||||
|
||||
container = createServiceContainer(awilixConfig);
|
||||
container = createServiceContainerFromConfig(config, {
|
||||
enableQuestDB: config.database.questdb?.enabled || false,
|
||||
// Data pipeline needs all databases
|
||||
enableMongoDB: true,
|
||||
enablePostgres: true,
|
||||
enableCache: true,
|
||||
enableQueue: true,
|
||||
enableBrowser: false, // Data pipeline doesn't need browser
|
||||
enableProxy: false, // Data pipeline doesn't need proxy
|
||||
});
|
||||
await initializeAwilixServices(container);
|
||||
logger.info('Awilix container created and initialized');
|
||||
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@ import { initializeServiceConfig } from '@stock-bot/config';
|
|||
|
||||
// Library imports
|
||||
import {
|
||||
createServiceContainer,
|
||||
createServiceContainerFromConfig,
|
||||
initializeServices as initializeAwilixServices,
|
||||
type ServiceContainer
|
||||
} from '@stock-bot/di';
|
||||
|
|
@ -51,36 +51,17 @@ async function initializeServices() {
|
|||
logger.info('Initializing web API service with DI...');
|
||||
|
||||
try {
|
||||
// Create Awilix container with proper config structure
|
||||
// Create Awilix container directly from AppConfig
|
||||
logger.debug('Creating Awilix DI container...');
|
||||
const awilixConfig = {
|
||||
redis: {
|
||||
host: config.database.dragonfly.host,
|
||||
port: config.database.dragonfly.port,
|
||||
db: config.database.dragonfly.db,
|
||||
},
|
||||
mongodb: {
|
||||
uri: config.database.mongodb.uri,
|
||||
database: config.database.mongodb.database,
|
||||
},
|
||||
postgres: {
|
||||
host: config.database.postgres.host,
|
||||
port: config.database.postgres.port,
|
||||
database: config.database.postgres.database,
|
||||
user: config.database.postgres.user,
|
||||
password: config.database.postgres.password,
|
||||
},
|
||||
questdb: {
|
||||
enabled: false, // Web API doesn't need QuestDB
|
||||
host: config.database.questdb.host,
|
||||
httpPort: config.database.questdb.httpPort,
|
||||
pgPort: config.database.questdb.pgPort,
|
||||
influxPort: config.database.questdb.ilpPort,
|
||||
database: config.database.questdb.database,
|
||||
},
|
||||
};
|
||||
|
||||
container = createServiceContainer(awilixConfig);
|
||||
container = createServiceContainerFromConfig(config, {
|
||||
enableQuestDB: false, // Web API doesn't need QuestDB
|
||||
enableMongoDB: true,
|
||||
enablePostgres: true,
|
||||
enableCache: true,
|
||||
enableQueue: false, // Web API doesn't need queue processing
|
||||
enableBrowser: false, // Web API doesn't need browser
|
||||
enableProxy: false, // Web API doesn't need proxy
|
||||
});
|
||||
await initializeAwilixServices(container);
|
||||
logger.info('Awilix container created and initialized');
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue