dependencies Legend  Declarations  Module  Bootstrap  Providers  Exports cluster_AppModule cluster_AppModule_imports cluster_AppModule_providers database(DB_GROUPD_CONFIG, ) database(DB_GROUPD_CONFIG, ) AppModule AppModule database(DB_GROUPD_CONFIG, )->AppModule AppService AppService AppService->AppModule ImageService ImageService ImageService->AppModule RCService RCService RCService->AppModule RoadService RoadService RoadService->AppModule SurveyService SurveyService SurveyService->AppModule UploadService UploadService UploadService->AppModule
/**
 * @author this is from the template of NestJS
 */
import { Module } from '@nestjs/common';
import { KnexModule } from 'nestjs-knex';
import { ConfigModule, ConfigService } from '@nestjs/config';

import { DB_GROUPD_CONFIG } from './database';

import { AppController } from './app.controller';
import { AppService } from './app.service';

import { RCController } from './conditions/rc.controller';
import { RCService } from './conditions/rc.service';

import { RoadController } from './roads/road.controller';
import { RoadService } from './roads/road.service';

import { ImageController } from './images/image.controller';
import { ImageService } from './images/image.service';
import { ServeStaticModule } from '@nestjs/serve-static';

import { SurveyService } from './surveys/survey.service';
import { SurveyController } from './surveys/survey.controller';

import { UploadController } from './upload/upload.controller';
import { UploadService } from './upload/upload.service';
import { BullModule } from '@nestjs/bull';
import { FileProcessor } from './upload/file.processor';

import * as process from 'process';

const database = (config: any, name: string) => {
  return KnexModule.forRootAsync(
    {
      useFactory: () => ({ config }),
    },
    name,
  );
};

@Module({
  imports: [
    ConfigModule.forRoot(),
    database(DB_GROUPD_CONFIG, 'group-d'),
    ServeStaticModule.forRoot({
      rootPath: process.env.IMAGE_STORE_PATH,
      serveRoot: '/cdn/',
    }),
    BullModule.forRoot({
      redis: {
        host: process.env.REDIS_HOST,
        port: Number(process.env.REDIS_PORT),
      },
    }),
    BullModule.registerQueue({
      name: 'file-processing',
    }),
  ],
  controllers: [
    AppController,
    RCController,
    RoadController,
    SurveyController,
    ImageController,
    UploadController,
  ],
  providers: [
    AppService,
    ConfigService,
    RCService,
    RoadService,
    SurveyService,
    ImageService,
    FileProcessor,
    UploadService,
  ],
})
export class AppModule {}

results matching ""

    No results matching ""