diff --git a/packages/backend/src/GlobalModule.ts b/packages/backend/src/GlobalModule.ts index b07d68b90d..d5cb177fc4 100644 --- a/packages/backend/src/GlobalModule.ts +++ b/packages/backend/src/GlobalModule.ts @@ -10,6 +10,10 @@ import { MeiliSearch } from 'meilisearch'; import { MiMeta } from '@/models/Meta.js'; import { bindThis } from '@/decorators.js'; import { renderInlineError } from '@/misc/render-inline-error.js'; +import { TimeService, NativeTimeService } from '@/core/TimeService.js'; +import { EnvService } from '@/core/EnvService.js'; +import { CacheManagementService } from '@/core/CacheManagementService.js'; +import { InternalEventService } from '@/core/InternalEventService.js'; import { DI } from './di-symbols.js'; import { Config, loadConfig } from './config.js'; import { createPostgresDataSource } from './postgres.js'; @@ -165,11 +169,19 @@ const $meta: Provider = { inject: [DI.db, DI.redisForSub], }; +const $CacheManagementService: Provider[] = [CacheManagementService, { provide: 'CacheManagementService', useExisting: CacheManagementService }]; +const $InternalEventService: Provider[] = [InternalEventService, { provide: 'InternalEventService', useExisting: InternalEventService }]; +const $TimeService: Provider[] = [ + { provide: TimeService, useClass: NativeTimeService }, + { provide: 'TimeService', useExisting: TimeService }, +]; +const $EnvService: Provider[] = [EnvService, { provide: 'EnvService', useExisting: EnvService }]; + @Global() @Module({ imports: [RepositoryModule], - providers: [$config, $db, $meta, $meilisearch, $redis, $redisForPub, $redisForSub, $redisForTimelines, $redisForReactions, $redisForRateLimit], - exports: [$config, $db, $meta, $meilisearch, $redis, $redisForPub, $redisForSub, $redisForTimelines, $redisForReactions, $redisForRateLimit, RepositoryModule], + providers: [$config, $db, $meta, $meilisearch, $redis, $redisForPub, $redisForSub, $redisForTimelines, $redisForReactions, $redisForRateLimit, $CacheManagementService, $InternalEventService, $TimeService, $EnvService].flat(), + exports: [$config, $db, $meta, $meilisearch, $redis, $redisForPub, $redisForSub, $redisForTimelines, $redisForReactions, $redisForRateLimit, $CacheManagementService, $InternalEventService, $TimeService, $EnvService, RepositoryModule].flat(), }) export class GlobalModule implements OnApplicationShutdown { private readonly logger = new Logger('global'); diff --git a/packages/backend/src/core/CoreModule.ts b/packages/backend/src/core/CoreModule.ts index f818a65ff8..951f9169fa 100644 --- a/packages/backend/src/core/CoreModule.ts +++ b/packages/backend/src/core/CoreModule.ts @@ -15,8 +15,6 @@ import { SystemWebhookService } from '@/core/SystemWebhookService.js'; import { UserSearchService } from '@/core/UserSearchService.js'; import { WebhookTestService } from '@/core/WebhookTestService.js'; import { FlashService } from '@/core/FlashService.js'; -import { TimeService } from '@/core/TimeService.js'; -import { EnvService } from '@/core/EnvService.js'; import { ApUtilityService } from '@/core/activitypub/ApUtilityService.js'; import { ApLogService } from '@/core/ApLogService.js'; import { UpdateInstanceQueue } from '@/core/UpdateInstanceQueue.js'; @@ -188,7 +186,6 @@ const $HashtagService: Provider = { provide: 'HashtagService', useExisting: Hash const $HttpRequestService: Provider = { provide: 'HttpRequestService', useExisting: HttpRequestService }; const $IdService: Provider = { provide: 'IdService', useExisting: IdService }; const $ImageProcessingService: Provider = { provide: 'ImageProcessingService', useExisting: ImageProcessingService }; -const $InternalEventService: Provider = { provide: 'InternalEventService', useExisting: InternalEventService }; const $InternalStorageService: Provider = { provide: 'InternalStorageService', useExisting: InternalStorageService }; const $MetaService: Provider = { provide: 'MetaService', useExisting: MetaService }; const $MfmService: Provider = { provide: 'MfmService', useExisting: MfmService }; @@ -239,8 +236,7 @@ const $ChannelFollowingService: Provider = { provide: 'ChannelFollowingService', const $ChatService: Provider = { provide: 'ChatService', useExisting: ChatService }; const $RegistryApiService: Provider = { provide: 'RegistryApiService', useExisting: RegistryApiService }; const $ReversiService: Provider = { provide: 'ReversiService', useExisting: ReversiService }; -const $TimeService: Provider = { provide: 'TimeService', useExisting: TimeService }; -const $EnvService: Provider = { provide: 'EnvService', useExisting: EnvService }; +const $InstanceStatsService = { provide: 'InstanceStatsService', useExisting: InstanceStatsService }; const $NoteVisibilityService: Provider = { provide: 'NoteVisibilityService', useExisting: NoteVisibilityService }; const $ChartLoggerService: Provider = { provide: 'ChartLoggerService', useExisting: ChartLoggerService }; @@ -400,8 +396,6 @@ const $SponsorsService: Provider = { provide: 'SponsorsService', useExisting: Sp ChatService, RegistryApiService, ReversiService, - TimeService, - EnvService, NoteVisibilityService, ChartLoggerService, @@ -506,7 +500,6 @@ const $SponsorsService: Provider = { provide: 'SponsorsService', useExisting: Sp $HttpRequestService, $IdService, $ImageProcessingService, - $InternalEventService, $InternalStorageService, $MetaService, $MfmService, @@ -557,8 +550,6 @@ const $SponsorsService: Provider = { provide: 'SponsorsService', useExisting: Sp $ChatService, $RegistryApiService, $ReversiService, - $TimeService, - $EnvService, $NoteVisibilityService, $ChartLoggerService, @@ -715,8 +706,6 @@ const $SponsorsService: Provider = { provide: 'SponsorsService', useExisting: Sp ChatService, RegistryApiService, ReversiService, - TimeService, - EnvService, NoteVisibilityService, FederationChart, @@ -820,7 +809,6 @@ const $SponsorsService: Provider = { provide: 'SponsorsService', useExisting: Sp $HttpRequestService, $IdService, $ImageProcessingService, - $InternalEventService, $InternalStorageService, $MetaService, $MfmService, @@ -870,8 +858,6 @@ const $SponsorsService: Provider = { provide: 'SponsorsService', useExisting: Sp $ChatService, $RegistryApiService, $ReversiService, - $TimeService, - $EnvService, $NoteVisibilityService, $FederationChart,