Skip to content
Snippets Groups Projects
Commit e6077b03 authored by syuilo's avatar syuilo
Browse files

refactor(backend): refactor dependency

parent db2d391b
No related branches found
No related tags found
No related merge requests found
......@@ -17,27 +17,30 @@ const $config: Provider = {
const $db: Provider = {
provide: DI.db,
useFactory: async () => {
const db = createPostgreDataSource();
useFactory: async (config) => {
const db = createPostgreDataSource(config);
return await db.initialize();
},
inject: [DI.config],
};
const $redis: Provider = {
provide: DI.redis,
useFactory: () => {
const redisClient = createRedisConnection();
useFactory: (config) => {
const redisClient = createRedisConnection(config);
return redisClient;
},
inject: [DI.config],
};
const $redisSubscriber: Provider = {
provide: DI.redisSubscriber,
useFactory: () => {
const redisSubscriber = createRedisConnection();
useFactory: (config) => {
const redisSubscriber = createRedisConnection(config);
redisSubscriber.subscribe(config.host);
return redisSubscriber;
},
inject: [DI.config],
};
@Global()
......
......@@ -70,7 +70,7 @@ import { UserSecurityKey } from '@/models/entities/UserSecurityKey.js';
import { Webhook } from '@/models/entities/Webhook.js';
import { Channel } from '@/models/entities/Channel.js';
import { loadConfig } from '@/config.js';
import { Config } from '@/config.js';
import Logger from '@/logger.js';
import { envOption } from './env.js';
......@@ -179,9 +179,7 @@ export const entities = [
const log = process.env.NODE_ENV !== 'production';
const config = loadConfig();
export function createPostgreDataSource() {
export function createPostgreDataSource(config: Config) {
return new DataSource({
type: 'postgres',
host: config.db.host,
......
import Redis from 'ioredis';
import { loadConfig } from '@/config.js';
export function createRedisConnection(): Redis.Redis {
const config = loadConfig();
import { Config } from '@/config.js';
export function createRedisConnection(config: Config): Redis.Redis {
return new Redis({
port: config.redis.port,
host: config.redis.host,
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment