immich/server/src/app.module.ts

72 lines
2.1 KiB
TypeScript
Raw Normal View History

2022-02-03 10:06:44 -06:00
import { MiddlewareConsumer, Module, NestModule } from '@nestjs/common';
import { TypeOrmModule } from '@nestjs/typeorm';
import { databaseConfig } from './config/database.config';
import { UserModule } from './api-v1/user/user.module';
import { AssetModule } from './api-v1/asset/asset.module';
import { AuthModule } from './api-v1/auth/auth.module';
import { ImmichJwtModule } from './modules/immich-jwt/immich-jwt.module';
import { DeviceInfoModule } from './api-v1/device-info/device-info.module';
import { AppLoggerMiddleware } from './middlewares/app-logger.middleware';
import { ConfigModule, ConfigService } from '@nestjs/config';
import { immichAppConfig } from './config/app.config';
import { BullModule } from '@nestjs/bull';
import { ImageOptimizeModule } from './modules/image-optimize/image-optimize.module';
import { ServerInfoModule } from './api-v1/server-info/server-info.module';
import { BackgroundTaskModule } from './modules/background-task/background-task.module';
import { CommunicationModule } from './api-v1/communication/communication.module';
import { SharingModule } from './api-v1/sharing/sharing.module';
import { AppController } from './app.controller';
import { ScheduleModule } from '@nestjs/schedule';
import { ScheduleTasksModule } from './modules/schedule-tasks/schedule-tasks.module';
2022-02-03 10:06:44 -06:00
@Module({
imports: [
ConfigModule.forRoot(immichAppConfig),
2022-02-03 10:06:44 -06:00
TypeOrmModule.forRoot(databaseConfig),
2022-02-03 10:06:44 -06:00
UserModule,
2022-02-03 10:06:44 -06:00
AssetModule,
2022-02-03 10:06:44 -06:00
AuthModule,
2022-02-03 10:06:44 -06:00
ImmichJwtModule,
2022-02-03 10:06:44 -06:00
DeviceInfoModule,
2022-02-03 10:06:44 -06:00
BullModule.forRootAsync({
useFactory: async () => ({
2022-02-03 10:06:44 -06:00
redis: {
host: process.env.REDIS_HOSTNAME || 'immich_redis',
port: 6379,
2022-02-03 10:06:44 -06:00
},
}),
}),
ImageOptimizeModule,
ServerInfoModule,
BackgroundTaskModule,
CommunicationModule,
SharingModule,
ScheduleModule.forRoot(),
ScheduleTasksModule
2022-02-03 10:06:44 -06:00
],
controllers: [AppController],
2022-02-03 10:06:44 -06:00
providers: [],
})
export class AppModule implements NestModule {
configure(consumer: MiddlewareConsumer): void {
if (process.env.NODE_ENV == 'development') {
// consumer.apply(AppLoggerMiddleware).forRoutes('*');
}
2022-02-03 10:06:44 -06:00
}
}