| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- import { Module, OnModuleInit } from '@nestjs/common';
- import { ConfigModule } from '@nestjs/config';
- import { DevtoolsModule } from '@nestjs/devtools-integration';
- import dayjs from 'dayjs';
- import timezone from 'dayjs/plugin/timezone.js';
- import utc from 'dayjs/plugin/utc.js';
- import { CommonModule } from '@box/common/common.module';
- import { SharedModule } from '@box/db/shared.module';
- import { appConfigFactory } from './app.config';
- import { validateEnvironment } from './config/env.validation';
- import { LoggerModule } from 'nestjs-pino';
- import { MgntBackendModule } from './mgnt-backend/mgnt-backend.module';
- import pinoConfig from '@box/common/config/pino.config'; // adjust if your export name differs
- @Module({
- imports: [
- // Global config, load from .env.mgnt.dev then .env with validation
- ConfigModule.forRoot({
- isGlobal: true,
- envFilePath: ['.env.mgnt.dev', '.env'],
- validate: validateEnvironment,
- }),
- ConfigModule.forFeature(appConfigFactory),
- CommonModule,
- // Shared utilities (includes PrismaModule, UtilsService)
- SharedModule,
- // Pino logger
- LoggerModule.forRoot(pinoConfig),
- // Your actual management backend
- MgntBackendModule,
- // 4) Devtools
- DevtoolsModule.register({
- http: process.env.NODE_ENV === 'development',
- }),
- ],
- })
- export class AppModule implements OnModuleInit {
- onModuleInit() {
- dayjs.extend(utc);
- dayjs.extend(timezone);
- }
- }
|