Files
bigcapital/packages/server-nest/src/modules/Settings/Settings.module.ts
2025-01-11 11:02:57 +02:00

33 lines
1.0 KiB
TypeScript

import { 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';
@Module({
providers: [
SettingRepository,
{
provide: SETTINGS_PROVIDER,
useFactory: async (settingRepository: SettingRepository) => {
const settings = new SettingsStore(settingRepository);
// Load settings from database.
await settings.load();
return settings;
},
inject: [SettingRepository],
},
GetSettingsService,
SettingsApplicationService,
SaveSettingsService,
],
controllers: [SettingsController],
exports: [SETTINGS_PROVIDER],
})
export class SettingsModule {}