All files / src/modules/media media.module.ts

100% Statements 15/15
50% Branches 4/8
100% Functions 0/0
100% Lines 13/13

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 3911x 11x 11x 11x 11x 11x 11x 11x 11x 11x 11x   11x                                                   11x
import { Module } from '@nestjs/common';
import { ConfigModule } from '@nestjs/config';
import { MediaService } from '@app/modules/media/media.service';
import { MediaController } from '@app/modules/media/media.controller';
import { PrismaModule } from '@app/modules/prisma/prisma.module';
import { BullModule } from '@nestjs/bullmq';
import { MediaProcessor } from '@app/modules/media/media.processor';
import { MediaGcProcessor } from '@app/modules/media/media-gc.processor';
import { MediaGcScheduler } from '@app/modules/media/media-gc.scheduler';
import { R2SignedUrlService } from '@app/common/services/r2-signed-url.service';
import { NullQueue } from '@app/utils/null-queue';
 
const IS_TEST = process.env.NODE_ENV === 'test' || process.env.TEST_MODE === '1';
 
@Module({
  imports: [
    PrismaModule,
    ConfigModule,
    ...(IS_TEST ? [] : [
      // Use global BullModule.forRootAsync() from AppModule
      BullModule.registerQueue({ name: 'media' }),
      BullModule.registerQueue({ name: 'media-gc' }),
    ]),
  ],
  controllers: [MediaController],
  providers: [
    MediaService,
    ...(IS_TEST ? [] : [MediaProcessor, MediaGcProcessor, MediaGcScheduler]),
    R2SignedUrlService,
    ...(IS_TEST
      ? [
          { provide: 'BullQueue_media', useClass: NullQueue },
          { provide: 'BullQueue_media-gc', useClass: NullQueue },
        ]
      : []),
  ],
  exports: [MediaService, R2SignedUrlService],
})
export class MediaModule {}