From c196b00708c49b3f710946e13c96cc2b5cb5cbab Mon Sep 17 00:00:00 2001 From: liuyi Date: Mon, 12 May 2025 15:32:07 +0800 Subject: [PATCH] edit core config --- src/modules/core/services/config.service.ts | 28 ++++++++++++++++++--- 1 file changed, 25 insertions(+), 3 deletions(-) diff --git a/src/modules/core/services/config.service.ts b/src/modules/core/services/config.service.ts index 52296aa..9714cef 100644 --- a/src/modules/core/services/config.service.ts +++ b/src/modules/core/services/config.service.ts @@ -1,4 +1,4 @@ -import { Global, Injectable, Module } from '@nestjs/common'; +import { DynamicModule, Global, Injectable, Module } from '@nestjs/common'; import { get } from 'lodash'; import { AppController } from '@/app.controller'; @@ -11,6 +11,12 @@ const config: Record = { @Injectable() export class ConfigService { + protected config: RecordAny = {}; + + constructor(data: RecordAny) { + this.config = data; + } + get(key: string, defaultValue?: T): T | undefined { return get(config, key, defaultValue); } @@ -21,10 +27,26 @@ export class ConfigService { providers: [ConfigService], exports: [ConfigService], }) -export class CoreModule {} +export class CoreModule { + static forRoot(options: { config: RecordAny }): DynamicModule { + return { + module: CoreModule, + global: true, + providers: [ + { + provide: ConfigService, + useFactory() { + return new ConfigService(options.config); + }, + }, + ], + exports: [ConfigService], + }; + } +} @Module({ - imports: [ContentModule, CoreModule], + imports: [ContentModule, CoreModule.forRoot({ config: { name: 'ray' } })], providers: [AppService], controllers: [AppController], })