Files
immich/server/apps/microservices/src/microservices.module.ts
2023-02-18 09:18:07 -06:00

58 lines
1.8 KiB
TypeScript

import { immichAppConfig } from '@app/common/config';
import {
AssetEntity,
ExifEntity,
SmartInfoEntity,
UserEntity,
APIKeyEntity,
InfraModule,
UserTokenEntity,
AlbumEntity,
} from '@app/infra';
import { StorageModule } from '@app/storage';
import { Module } from '@nestjs/common';
import { ConfigModule } from '@nestjs/config';
import { TypeOrmModule } from '@nestjs/typeorm';
import { CommunicationModule } from '../../immich/src/api-v1/communication/communication.module';
import { AssetUploadedProcessor } from './processors/asset-uploaded.processor';
import { MachineLearningProcessor } from './processors/machine-learning.processor';
import { MetadataExtractionProcessor } from './processors/metadata-extraction.processor';
import { StorageMigrationProcessor } from './processors/storage-migration.processor';
import { ThumbnailGeneratorProcessor } from './processors/thumbnail.processor';
import { UserDeletionProcessor } from './processors/user-deletion.processor';
import { VideoTranscodeProcessor } from './processors/video-transcode.processor';
import { BackgroundTaskProcessor } from './processors/background-task.processor';
import { DomainModule } from '@app/domain';
@Module({
imports: [
ConfigModule.forRoot(immichAppConfig),
DomainModule.register({
imports: [InfraModule],
}),
TypeOrmModule.forFeature([
UserEntity,
ExifEntity,
AssetEntity,
SmartInfoEntity,
APIKeyEntity,
UserTokenEntity,
AlbumEntity,
]),
StorageModule,
CommunicationModule,
],
controllers: [],
providers: [
AssetUploadedProcessor,
ThumbnailGeneratorProcessor,
MetadataExtractionProcessor,
VideoTranscodeProcessor,
MachineLearningProcessor,
UserDeletionProcessor,
StorageMigrationProcessor,
BackgroundTaskProcessor,
],
})
export class MicroservicesModule {}