mirror of
https://github.com/bigcapitalhq/bigcapital.git
synced 2026-02-16 12:50:38 +00:00
40 lines
1.2 KiB
TypeScript
40 lines
1.2 KiB
TypeScript
import { Global, Module } from '@nestjs/common';
|
|
import { SettingRepository } from './repositories/Setting.repository';
|
|
import { SettingsStore } from './SettingsStore';
|
|
import { SettingsApplicationService } from './SettingsApplication.service';
|
|
import { SaveSettingsService } from './commands/SaveSettings.service';
|
|
import { SettingsController } from './Settings.controller';
|
|
import { SETTINGS_PROVIDER } from './Settings.types';
|
|
import { GetSettingsService } from './queries/GetSettings.service';
|
|
import { ClsModule } from 'nestjs-cls';
|
|
|
|
@Global()
|
|
@Module({
|
|
imports: [
|
|
ClsModule.forFeatureAsync({
|
|
provide: SETTINGS_PROVIDER,
|
|
inject: [SettingRepository],
|
|
useFactory: (settingRepository: SettingRepository) => async () => {
|
|
const settings = new SettingsStore(settingRepository);
|
|
|
|
// Load settings from database.
|
|
await settings.load();
|
|
|
|
return settings;
|
|
},
|
|
global: true,
|
|
strict: true,
|
|
type: 'function',
|
|
}),
|
|
],
|
|
providers: [
|
|
SettingRepository,
|
|
GetSettingsService,
|
|
SettingsApplicationService,
|
|
SaveSettingsService,
|
|
],
|
|
exports: [SettingRepository],
|
|
controllers: [SettingsController],
|
|
})
|
|
export class SettingsModule {}
|