cache-manager.module.ts 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. // libs/core/src/cache/cache-manager.module.ts
  2. import { Module } from '@nestjs/common';
  3. import { MongoPrismaService } from '@box/db/prisma/mongo-prisma.service';
  4. import { AdPoolService } from '../ad/ad-pool.service';
  5. import { AdPoolBuilder } from '../ad/ad-pool.builder';
  6. import { AdPoolWarmupService } from '../ad/ad-pool-warmup.service';
  7. import { AdCacheWarmupService } from '../ad/ad-cache-warmup.service';
  8. import { CategoryCacheService } from './category/category-cache.service';
  9. import { CategoryCacheBuilder } from './category/category-cache.builder';
  10. import { CategoryWarmupService } from './category/category-warmup.service';
  11. import { TagCacheService } from './tag/tag-cache.service';
  12. import { TagCacheBuilder } from './tag/tag-cache.builder';
  13. import { TagWarmupService } from './tag/tag-warmup.service';
  14. import { ChannelCacheService } from './channel/channel-cache.service';
  15. import { ChannelCacheBuilder } from './channel/channel-cache.builder';
  16. import { ChannelWarmupService } from './channel/channel-warmup.service';
  17. import { VideoCategoryCacheBuilder } from './video/category/video-category-cache.builder';
  18. import { VideoCategoryWarmupService } from './video/category/video-category-warmup.service';
  19. import { VideoListCacheBuilder } from './video/list/video-list-cache.builder';
  20. import { RecommendedVideosCacheBuilder } from './video/recommended/recommended-videos-cache.builder';
  21. import { LatestVideosCacheBuilder } from './video/latest/latest-videos-cache.builder';
  22. @Module({
  23. providers: [
  24. // Shared data sources
  25. MongoPrismaService,
  26. // Ad pools & individual ad caches
  27. AdPoolService,
  28. AdPoolBuilder,
  29. AdPoolWarmupService,
  30. AdCacheWarmupService,
  31. // Categories
  32. CategoryCacheService,
  33. CategoryCacheBuilder,
  34. CategoryWarmupService,
  35. // Tags
  36. TagCacheService,
  37. TagCacheBuilder,
  38. TagWarmupService,
  39. // Channels
  40. ChannelCacheService,
  41. ChannelCacheBuilder,
  42. ChannelWarmupService,
  43. // Videos (Categories & Tags)
  44. VideoCategoryCacheBuilder,
  45. VideoCategoryWarmupService,
  46. VideoListCacheBuilder,
  47. // Recommended Videos
  48. RecommendedVideosCacheBuilder,
  49. LatestVideosCacheBuilder,
  50. ],
  51. exports: [
  52. AdPoolService,
  53. AdPoolBuilder,
  54. AdCacheWarmupService,
  55. CategoryCacheService,
  56. CategoryCacheBuilder,
  57. TagCacheService,
  58. TagCacheBuilder,
  59. ChannelCacheService,
  60. ChannelCacheBuilder,
  61. VideoCategoryCacheBuilder,
  62. VideoListCacheBuilder,
  63. RecommendedVideosCacheBuilder,
  64. LatestVideosCacheBuilder,
  65. ],
  66. })
  67. export class CacheManagerModule {}