mirror of
				https://codeberg.org/yeentown/barkey.git
				synced 2025-11-04 07:24:13 +00:00 
			
		
		
		
	refactor(backend): refactor dependency
This commit is contained in:
		
							parent
							
								
									db2d391b3a
								
							
						
					
					
						commit
						e6077b03c3
					
				
					 3 changed files with 13 additions and 14 deletions
				
			
		| 
						 | 
				
			
			@ -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,
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,9 +1,7 @@
 | 
			
		|||
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,
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		
		Reference in a new issue