removed configuration from index files and moved to di container

This commit is contained in:
Boki 2025-06-22 18:34:58 -04:00
parent a3459f5865
commit 80c1dcb6cb
6 changed files with 261 additions and 94 deletions

View file

@ -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');

View file

@ -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');

View file

@ -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');