// libs/core/src/cache/cache-manager.module.ts import { Module } from '@nestjs/common'; import { MongoPrismaService } from '@box/db/prisma/mongo-prisma.service'; import { AdPoolService } from '../ad/ad-pool.service'; import { AdPoolBuilder } from '../ad/ad-pool.builder'; import { AdPoolWarmupService } from '../ad/ad-pool-warmup.service'; import { AdCacheWarmupService } from '../ad/ad-cache-warmup.service'; import { CategoryCacheService } from './category/category-cache.service'; import { CategoryCacheBuilder } from './category/category-cache.builder'; import { CategoryWarmupService } from './category/category-warmup.service'; import { TagCacheService } from './tag/tag-cache.service'; import { TagCacheBuilder } from './tag/tag-cache.builder'; import { TagWarmupService } from './tag/tag-warmup.service'; import { ChannelCacheService } from './channel/channel-cache.service'; import { ChannelCacheBuilder } from './channel/channel-cache.builder'; import { ChannelWarmupService } from './channel/channel-warmup.service'; import { VideoCategoryCacheBuilder } from './video/category/video-category-cache.builder'; import { VideoCategoryWarmupService } from './video/category/video-category-warmup.service'; import { VideoListCacheBuilder } from './video/list/video-list-cache.builder'; import { RecommendedVideosCacheBuilder } from './video/recommended/recommended-videos-cache.builder'; import { LatestVideosCacheBuilder } from './video/latest/latest-videos-cache.builder'; @Module({ providers: [ // Shared data sources MongoPrismaService, // Ad pools & individual ad caches AdPoolService, AdPoolBuilder, AdPoolWarmupService, AdCacheWarmupService, // Categories CategoryCacheService, CategoryCacheBuilder, CategoryWarmupService, // Tags TagCacheService, TagCacheBuilder, TagWarmupService, // Channels ChannelCacheService, ChannelCacheBuilder, ChannelWarmupService, // Videos (Categories & Tags) VideoCategoryCacheBuilder, VideoCategoryWarmupService, VideoListCacheBuilder, // Recommended Videos RecommendedVideosCacheBuilder, LatestVideosCacheBuilder, ], exports: [ AdPoolService, AdPoolBuilder, AdCacheWarmupService, CategoryCacheService, CategoryCacheBuilder, TagCacheService, TagCacheBuilder, ChannelCacheService, ChannelCacheBuilder, VideoCategoryCacheBuilder, VideoListCacheBuilder, RecommendedVideosCacheBuilder, LatestVideosCacheBuilder, ], }) export class CacheManagerModule {}