diff --git a/server/src/cores/storage.core.ts b/server/src/cores/storage.core.ts index 50b07981a6..0dc225b90c 100644 --- a/server/src/cores/storage.core.ts +++ b/server/src/cores/storage.core.ts @@ -9,8 +9,7 @@ import { ICryptoRepository } from 'src/interfaces/crypto.interface'; import { IMoveRepository } from 'src/interfaces/move.interface'; import { IPersonRepository } from 'src/interfaces/person.interface'; import { IStorageRepository } from 'src/interfaces/storage.interface'; -import { ISystemMetadataRepository } from 'src/interfaces/system-metadata.interface'; -import { IConfigRepository, ILoggingRepository } from 'src/types'; +import { IConfigRepository, ILoggingRepository, ISystemMetadataRepository } from 'src/types'; import { getAssetFiles } from 'src/utils/asset.util'; import { getConfig } from 'src/utils/config'; diff --git a/server/src/interfaces/system-metadata.interface.ts b/server/src/interfaces/system-metadata.interface.ts deleted file mode 100644 index fd83d33ee9..0000000000 --- a/server/src/interfaces/system-metadata.interface.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { SystemMetadata } from 'src/entities/system-metadata.entity'; - -export const ISystemMetadataRepository = 'ISystemMetadataRepository'; - -export interface ISystemMetadataRepository { - get(key: T): Promise; - set(key: T, value: SystemMetadata[T]): Promise; - delete(key: T): Promise; - readFile(filename: string): Promise; -} diff --git a/server/src/repositories/index.ts b/server/src/repositories/index.ts index b54c69e117..d6eddc4ccf 100644 --- a/server/src/repositories/index.ts +++ b/server/src/repositories/index.ts @@ -15,7 +15,6 @@ import { ISessionRepository } from 'src/interfaces/session.interface'; import { ISharedLinkRepository } from 'src/interfaces/shared-link.interface'; import { IStackRepository } from 'src/interfaces/stack.interface'; import { IStorageRepository } from 'src/interfaces/storage.interface'; -import { ISystemMetadataRepository } from 'src/interfaces/system-metadata.interface'; import { ITagRepository } from 'src/interfaces/tag.interface'; import { IUserRepository } from 'src/interfaces/user.interface'; import { AccessRepository } from 'src/repositories/access.repository'; @@ -74,6 +73,7 @@ export const repositories = [ NotificationRepository, OAuthRepository, ServerInfoRepository, + SystemMetadataRepository, TelemetryRepository, TrashRepository, ViewRepository, @@ -98,7 +98,6 @@ export const providers = [ { provide: ISharedLinkRepository, useClass: SharedLinkRepository }, { provide: IStackRepository, useClass: StackRepository }, { provide: IStorageRepository, useClass: StorageRepository }, - { provide: ISystemMetadataRepository, useClass: SystemMetadataRepository }, { provide: ITagRepository, useClass: TagRepository }, { provide: IUserRepository, useClass: UserRepository }, ]; diff --git a/server/src/repositories/map.repository.ts b/server/src/repositories/map.repository.ts index fcfa74a5d0..d813ff29f2 100644 --- a/server/src/repositories/map.repository.ts +++ b/server/src/repositories/map.repository.ts @@ -1,4 +1,4 @@ -import { Inject, Injectable } from '@nestjs/common'; +import { Injectable } from '@nestjs/common'; import { getName } from 'i18n-iso-countries'; import { Expression, Kysely, sql, SqlBool } from 'kysely'; import { InjectKysely } from 'nestjs-kysely'; @@ -11,9 +11,9 @@ import { DB, GeodataPlaces, NaturalearthCountries } from 'src/db'; import { DummyValue, GenerateSql } from 'src/decorators'; import { NaturalEarthCountriesTempEntity } from 'src/entities/natural-earth-countries.entity'; import { LogLevel, SystemMetadataKey } from 'src/enum'; -import { ISystemMetadataRepository } from 'src/interfaces/system-metadata.interface'; import { ConfigRepository } from 'src/repositories/config.repository'; import { LoggingRepository } from 'src/repositories/logging.repository'; +import { SystemMetadataRepository } from 'src/repositories/system-metadata.repository'; export interface MapMarkerSearchOptions { isArchived?: boolean; @@ -48,7 +48,7 @@ interface MapDB extends DB { export class MapRepository { constructor( private configRepository: ConfigRepository, - @Inject(ISystemMetadataRepository) private metadataRepository: ISystemMetadataRepository, + private metadataRepository: SystemMetadataRepository, private logger: LoggingRepository, @InjectKysely() private db: Kysely, ) { diff --git a/server/src/repositories/system-metadata.repository.ts b/server/src/repositories/system-metadata.repository.ts index 7cd4d715e2..a110b9bc44 100644 --- a/server/src/repositories/system-metadata.repository.ts +++ b/server/src/repositories/system-metadata.repository.ts @@ -5,12 +5,11 @@ import { readFile } from 'node:fs/promises'; import { DB, SystemMetadata as DbSystemMetadata } from 'src/db'; import { GenerateSql } from 'src/decorators'; import { SystemMetadata } from 'src/entities/system-metadata.entity'; -import { ISystemMetadataRepository } from 'src/interfaces/system-metadata.interface'; type Upsert = Insertable; @Injectable() -export class SystemMetadataRepository implements ISystemMetadataRepository { +export class SystemMetadataRepository { constructor(@InjectKysely() private db: Kysely) {} @GenerateSql({ params: ['metadata_key'] }) diff --git a/server/src/services/asset.service.spec.ts b/server/src/services/asset.service.spec.ts index 8ff846d39d..f1e537a3d8 100755 --- a/server/src/services/asset.service.spec.ts +++ b/server/src/services/asset.service.spec.ts @@ -9,9 +9,9 @@ import { IEventRepository } from 'src/interfaces/event.interface'; import { IJobRepository, JobName, JobStatus } from 'src/interfaces/job.interface'; import { IPartnerRepository } from 'src/interfaces/partner.interface'; import { IStackRepository } from 'src/interfaces/stack.interface'; -import { ISystemMetadataRepository } from 'src/interfaces/system-metadata.interface'; import { IUserRepository } from 'src/interfaces/user.interface'; import { AssetService } from 'src/services/asset.service'; +import { ISystemMetadataRepository } from 'src/types'; import { assetStub } from 'test/fixtures/asset.stub'; import { authStub } from 'test/fixtures/auth.stub'; import { faceStub } from 'test/fixtures/face.stub'; diff --git a/server/src/services/auth.service.spec.ts b/server/src/services/auth.service.spec.ts index 780d802922..dc9f2162f4 100644 --- a/server/src/services/auth.service.spec.ts +++ b/server/src/services/auth.service.spec.ts @@ -7,10 +7,9 @@ import { ICryptoRepository } from 'src/interfaces/crypto.interface'; import { IEventRepository } from 'src/interfaces/event.interface'; import { ISessionRepository } from 'src/interfaces/session.interface'; import { ISharedLinkRepository } from 'src/interfaces/shared-link.interface'; -import { ISystemMetadataRepository } from 'src/interfaces/system-metadata.interface'; import { IUserRepository } from 'src/interfaces/user.interface'; import { AuthService } from 'src/services/auth.service'; -import { IApiKeyRepository, IOAuthRepository } from 'src/types'; +import { IApiKeyRepository, IOAuthRepository, ISystemMetadataRepository } from 'src/types'; import { keyStub } from 'test/fixtures/api-key.stub'; import { authStub } from 'test/fixtures/auth.stub'; import { sessionStub } from 'test/fixtures/session.stub'; diff --git a/server/src/services/backup.service.spec.ts b/server/src/services/backup.service.spec.ts index 33d77a59aa..015a51a39c 100644 --- a/server/src/services/backup.service.spec.ts +++ b/server/src/services/backup.service.spec.ts @@ -6,9 +6,8 @@ import { IDatabaseRepository } from 'src/interfaces/database.interface'; import { JobStatus } from 'src/interfaces/job.interface'; import { IProcessRepository } from 'src/interfaces/process.interface'; import { IStorageRepository } from 'src/interfaces/storage.interface'; -import { ISystemMetadataRepository } from 'src/interfaces/system-metadata.interface'; import { BackupService } from 'src/services/backup.service'; -import { IConfigRepository, ICronRepository } from 'src/types'; +import { IConfigRepository, ICronRepository, ISystemMetadataRepository } from 'src/types'; import { systemConfigStub } from 'test/fixtures/system-config.stub'; import { mockSpawn, newTestService } from 'test/utils'; import { describe, Mocked } from 'vitest'; diff --git a/server/src/services/base.service.ts b/server/src/services/base.service.ts index 865a16a9da..acceadd0aa 100644 --- a/server/src/services/base.service.ts +++ b/server/src/services/base.service.ts @@ -23,7 +23,6 @@ import { ISessionRepository } from 'src/interfaces/session.interface'; import { ISharedLinkRepository } from 'src/interfaces/shared-link.interface'; import { IStackRepository } from 'src/interfaces/stack.interface'; import { IStorageRepository } from 'src/interfaces/storage.interface'; -import { ISystemMetadataRepository } from 'src/interfaces/system-metadata.interface'; import { ITagRepository } from 'src/interfaces/tag.interface'; import { IUserRepository } from 'src/interfaces/user.interface'; import { AccessRepository } from 'src/repositories/access.repository'; @@ -41,6 +40,7 @@ import { MetadataRepository } from 'src/repositories/metadata.repository'; import { NotificationRepository } from 'src/repositories/notification.repository'; import { OAuthRepository } from 'src/repositories/oauth.repository'; import { ServerInfoRepository } from 'src/repositories/server-info.repository'; +import { SystemMetadataRepository } from 'src/repositories/system-metadata.repository'; import { TelemetryRepository } from 'src/repositories/telemetry.repository'; import { TrashRepository } from 'src/repositories/trash.repository'; import { VersionHistoryRepository } from 'src/repositories/version-history.repository'; @@ -84,7 +84,7 @@ export class BaseService { @Inject(ISharedLinkRepository) protected sharedLinkRepository: ISharedLinkRepository, @Inject(IStackRepository) protected stackRepository: IStackRepository, @Inject(IStorageRepository) protected storageRepository: IStorageRepository, - @Inject(ISystemMetadataRepository) protected systemMetadataRepository: ISystemMetadataRepository, + protected systemMetadataRepository: SystemMetadataRepository, @Inject(ITagRepository) protected tagRepository: ITagRepository, protected telemetryRepository: TelemetryRepository, protected trashRepository: TrashRepository, diff --git a/server/src/services/cli.service.spec.ts b/server/src/services/cli.service.spec.ts index 149b030e50..987af3a287 100644 --- a/server/src/services/cli.service.spec.ts +++ b/server/src/services/cli.service.spec.ts @@ -1,6 +1,6 @@ -import { ISystemMetadataRepository } from 'src/interfaces/system-metadata.interface'; import { IUserRepository } from 'src/interfaces/user.interface'; import { CliService } from 'src/services/cli.service'; +import { ISystemMetadataRepository } from 'src/types'; import { userStub } from 'test/fixtures/user.stub'; import { newTestService } from 'test/utils'; import { Mocked, describe, it } from 'vitest'; diff --git a/server/src/services/duplicate.service.spec.ts b/server/src/services/duplicate.service.spec.ts index 3c332edbe9..6fdb9c2b5c 100644 --- a/server/src/services/duplicate.service.spec.ts +++ b/server/src/services/duplicate.service.spec.ts @@ -1,10 +1,9 @@ import { IAssetRepository, WithoutProperty } from 'src/interfaces/asset.interface'; import { IJobRepository, JobName, JobStatus } from 'src/interfaces/job.interface'; import { ISearchRepository } from 'src/interfaces/search.interface'; -import { ISystemMetadataRepository } from 'src/interfaces/system-metadata.interface'; import { DuplicateService } from 'src/services/duplicate.service'; import { SearchService } from 'src/services/search.service'; -import { ILoggingRepository } from 'src/types'; +import { ILoggingRepository, ISystemMetadataRepository } from 'src/types'; import { assetStub } from 'test/fixtures/asset.stub'; import { authStub } from 'test/fixtures/auth.stub'; import { newTestService } from 'test/utils'; diff --git a/server/src/services/media.service.spec.ts b/server/src/services/media.service.spec.ts index 9ce6c8edb9..9844aa7f0f 100644 --- a/server/src/services/media.service.spec.ts +++ b/server/src/services/media.service.spec.ts @@ -18,9 +18,8 @@ import { IJobRepository, JobCounts, JobName, JobStatus } from 'src/interfaces/jo import { IMoveRepository } from 'src/interfaces/move.interface'; import { IPersonRepository } from 'src/interfaces/person.interface'; import { IStorageRepository } from 'src/interfaces/storage.interface'; -import { ISystemMetadataRepository } from 'src/interfaces/system-metadata.interface'; import { MediaService } from 'src/services/media.service'; -import { ILoggingRepository, IMediaRepository, RawImageInfo } from 'src/types'; +import { ILoggingRepository, IMediaRepository, ISystemMetadataRepository, RawImageInfo } from 'src/types'; import { assetStub } from 'test/fixtures/asset.stub'; import { faceStub } from 'test/fixtures/face.stub'; import { probeStub } from 'test/fixtures/media.stub'; diff --git a/server/src/services/metadata.service.spec.ts b/server/src/services/metadata.service.spec.ts index ffc3c171dc..6384c17a42 100644 --- a/server/src/services/metadata.service.spec.ts +++ b/server/src/services/metadata.service.spec.ts @@ -12,12 +12,17 @@ import { IEventRepository } from 'src/interfaces/event.interface'; import { IJobRepository, JobName, JobStatus } from 'src/interfaces/job.interface'; import { IPersonRepository } from 'src/interfaces/person.interface'; import { IStorageRepository } from 'src/interfaces/storage.interface'; -import { ISystemMetadataRepository } from 'src/interfaces/system-metadata.interface'; import { ITagRepository } from 'src/interfaces/tag.interface'; import { IUserRepository } from 'src/interfaces/user.interface'; import { ImmichTags } from 'src/repositories/metadata.repository'; import { MetadataService } from 'src/services/metadata.service'; -import { IConfigRepository, IMapRepository, IMediaRepository, IMetadataRepository } from 'src/types'; +import { + IConfigRepository, + IMapRepository, + IMediaRepository, + IMetadataRepository, + ISystemMetadataRepository, +} from 'src/types'; import { assetStub } from 'test/fixtures/asset.stub'; import { fileStub } from 'test/fixtures/file.stub'; import { probeStub } from 'test/fixtures/media.stub'; diff --git a/server/src/services/notification.service.spec.ts b/server/src/services/notification.service.spec.ts index 671cae0774..41e9e35ff8 100644 --- a/server/src/services/notification.service.spec.ts +++ b/server/src/services/notification.service.spec.ts @@ -8,11 +8,10 @@ import { IAlbumRepository } from 'src/interfaces/album.interface'; import { IAssetRepository } from 'src/interfaces/asset.interface'; import { IEventRepository } from 'src/interfaces/event.interface'; import { IJobRepository, INotifyAlbumUpdateJob, JobName, JobStatus } from 'src/interfaces/job.interface'; -import { ISystemMetadataRepository } from 'src/interfaces/system-metadata.interface'; import { IUserRepository } from 'src/interfaces/user.interface'; import { EmailTemplate } from 'src/repositories/notification.repository'; import { NotificationService } from 'src/services/notification.service'; -import { INotificationRepository } from 'src/types'; +import { INotificationRepository, ISystemMetadataRepository } from 'src/types'; import { albumStub } from 'test/fixtures/album.stub'; import { assetStub } from 'test/fixtures/asset.stub'; import { userStub } from 'test/fixtures/user.stub'; diff --git a/server/src/services/person.service.spec.ts b/server/src/services/person.service.spec.ts index 1cd1b34ec4..65cd8815f8 100644 --- a/server/src/services/person.service.spec.ts +++ b/server/src/services/person.service.spec.ts @@ -10,9 +10,8 @@ import { DetectedFaces, IMachineLearningRepository } from 'src/interfaces/machin import { IPersonRepository } from 'src/interfaces/person.interface'; import { FaceSearchResult, ISearchRepository } from 'src/interfaces/search.interface'; import { IStorageRepository } from 'src/interfaces/storage.interface'; -import { ISystemMetadataRepository } from 'src/interfaces/system-metadata.interface'; import { PersonService } from 'src/services/person.service'; -import { IMediaRepository } from 'src/types'; +import { IMediaRepository, ISystemMetadataRepository } from 'src/types'; import { ImmichFileResponse } from 'src/utils/file'; import { assetStub } from 'test/fixtures/asset.stub'; import { authStub } from 'test/fixtures/auth.stub'; diff --git a/server/src/services/server.service.spec.ts b/server/src/services/server.service.spec.ts index 3f7fafcebf..4a405629c9 100644 --- a/server/src/services/server.service.spec.ts +++ b/server/src/services/server.service.spec.ts @@ -1,8 +1,8 @@ import { SystemMetadataKey } from 'src/enum'; import { IStorageRepository } from 'src/interfaces/storage.interface'; -import { ISystemMetadataRepository } from 'src/interfaces/system-metadata.interface'; import { IUserRepository } from 'src/interfaces/user.interface'; import { ServerService } from 'src/services/server.service'; +import { ISystemMetadataRepository } from 'src/types'; import { newTestService } from 'test/utils'; import { Mocked } from 'vitest'; diff --git a/server/src/services/smart-info.service.spec.ts b/server/src/services/smart-info.service.spec.ts index ff0dcc3160..1b985ab421 100644 --- a/server/src/services/smart-info.service.spec.ts +++ b/server/src/services/smart-info.service.spec.ts @@ -5,9 +5,8 @@ import { IDatabaseRepository } from 'src/interfaces/database.interface'; import { IJobRepository, JobName, JobStatus } from 'src/interfaces/job.interface'; import { IMachineLearningRepository } from 'src/interfaces/machine-learning.interface'; import { ISearchRepository } from 'src/interfaces/search.interface'; -import { ISystemMetadataRepository } from 'src/interfaces/system-metadata.interface'; import { SmartInfoService } from 'src/services/smart-info.service'; -import { IConfigRepository } from 'src/types'; +import { IConfigRepository, ISystemMetadataRepository } from 'src/types'; import { getCLIPModelInfo } from 'src/utils/misc'; import { assetStub } from 'test/fixtures/asset.stub'; import { systemConfigStub } from 'test/fixtures/system-config.stub'; diff --git a/server/src/services/storage-template.service.spec.ts b/server/src/services/storage-template.service.spec.ts index 46ec4f53e1..467456d5aa 100644 --- a/server/src/services/storage-template.service.spec.ts +++ b/server/src/services/storage-template.service.spec.ts @@ -8,9 +8,9 @@ import { ICryptoRepository } from 'src/interfaces/crypto.interface'; import { JobStatus } from 'src/interfaces/job.interface'; import { IMoveRepository } from 'src/interfaces/move.interface'; import { IStorageRepository } from 'src/interfaces/storage.interface'; -import { ISystemMetadataRepository } from 'src/interfaces/system-metadata.interface'; import { IUserRepository } from 'src/interfaces/user.interface'; import { StorageTemplateService } from 'src/services/storage-template.service'; +import { ISystemMetadataRepository } from 'src/types'; import { albumStub } from 'test/fixtures/album.stub'; import { assetStub } from 'test/fixtures/asset.stub'; import { userStub } from 'test/fixtures/user.stub'; diff --git a/server/src/services/storage.service.spec.ts b/server/src/services/storage.service.spec.ts index 3a5bf3bad9..d92fd09e53 100644 --- a/server/src/services/storage.service.spec.ts +++ b/server/src/services/storage.service.spec.ts @@ -1,8 +1,7 @@ import { SystemMetadataKey } from 'src/enum'; import { IStorageRepository } from 'src/interfaces/storage.interface'; -import { ISystemMetadataRepository } from 'src/interfaces/system-metadata.interface'; import { StorageService } from 'src/services/storage.service'; -import { IConfigRepository, ILoggingRepository } from 'src/types'; +import { IConfigRepository, ILoggingRepository, ISystemMetadataRepository } from 'src/types'; import { ImmichStartupError } from 'src/utils/misc'; import { mockEnvData } from 'test/repositories/config.repository.mock'; import { newTestService } from 'test/utils'; diff --git a/server/src/services/system-config.service.spec.ts b/server/src/services/system-config.service.spec.ts index 02166cdeb8..537ef21056 100644 --- a/server/src/services/system-config.service.spec.ts +++ b/server/src/services/system-config.service.spec.ts @@ -14,9 +14,8 @@ import { } from 'src/enum'; import { IEventRepository } from 'src/interfaces/event.interface'; import { QueueName } from 'src/interfaces/job.interface'; -import { ISystemMetadataRepository } from 'src/interfaces/system-metadata.interface'; import { SystemConfigService } from 'src/services/system-config.service'; -import { DeepPartial, IConfigRepository, ILoggingRepository } from 'src/types'; +import { DeepPartial, IConfigRepository, ILoggingRepository, ISystemMetadataRepository } from 'src/types'; import { mockEnvData } from 'test/repositories/config.repository.mock'; import { newTestService } from 'test/utils'; import { Mocked } from 'vitest'; diff --git a/server/src/services/system-metadata.service.spec.ts b/server/src/services/system-metadata.service.spec.ts index 3dc2f0a6bb..071626d593 100644 --- a/server/src/services/system-metadata.service.spec.ts +++ b/server/src/services/system-metadata.service.spec.ts @@ -1,6 +1,6 @@ import { SystemMetadataKey } from 'src/enum'; -import { ISystemMetadataRepository } from 'src/interfaces/system-metadata.interface'; import { SystemMetadataService } from 'src/services/system-metadata.service'; +import { ISystemMetadataRepository } from 'src/types'; import { newTestService } from 'test/utils'; import { Mocked } from 'vitest'; diff --git a/server/src/services/user.service.spec.ts b/server/src/services/user.service.spec.ts index cb7c2f08ad..9ed941c36c 100644 --- a/server/src/services/user.service.spec.ts +++ b/server/src/services/user.service.spec.ts @@ -4,9 +4,9 @@ import { CacheControl, UserMetadataKey } from 'src/enum'; import { IAlbumRepository } from 'src/interfaces/album.interface'; import { IJobRepository, JobName } from 'src/interfaces/job.interface'; import { IStorageRepository } from 'src/interfaces/storage.interface'; -import { ISystemMetadataRepository } from 'src/interfaces/system-metadata.interface'; import { IUserRepository } from 'src/interfaces/user.interface'; import { UserService } from 'src/services/user.service'; +import { ISystemMetadataRepository } from 'src/types'; import { ImmichFileResponse } from 'src/utils/file'; import { authStub } from 'test/fixtures/auth.stub'; import { systemConfigStub } from 'test/fixtures/system-config.stub'; diff --git a/server/src/services/version.service.spec.ts b/server/src/services/version.service.spec.ts index 406d3c1439..1fe55afc45 100644 --- a/server/src/services/version.service.spec.ts +++ b/server/src/services/version.service.spec.ts @@ -4,9 +4,14 @@ import { serverVersion } from 'src/constants'; import { ImmichEnvironment, SystemMetadataKey } from 'src/enum'; import { IEventRepository } from 'src/interfaces/event.interface'; import { IJobRepository, JobName, JobStatus } from 'src/interfaces/job.interface'; -import { ISystemMetadataRepository } from 'src/interfaces/system-metadata.interface'; import { VersionService } from 'src/services/version.service'; -import { IConfigRepository, ILoggingRepository, IServerInfoRepository, IVersionHistoryRepository } from 'src/types'; +import { + IConfigRepository, + ILoggingRepository, + IServerInfoRepository, + ISystemMetadataRepository, + IVersionHistoryRepository, +} from 'src/types'; import { mockEnvData } from 'test/repositories/config.repository.mock'; import { newTestService } from 'test/utils'; import { Mocked } from 'vitest'; diff --git a/server/src/types.ts b/server/src/types.ts index 9928669136..c74dac5753 100644 --- a/server/src/types.ts +++ b/server/src/types.ts @@ -15,6 +15,7 @@ import { MetadataRepository } from 'src/repositories/metadata.repository'; import { NotificationRepository } from 'src/repositories/notification.repository'; import { OAuthRepository } from 'src/repositories/oauth.repository'; import { ServerInfoRepository } from 'src/repositories/server-info.repository'; +import { SystemMetadataRepository } from 'src/repositories/system-metadata.repository'; import { MetricGroupRepository, TelemetryRepository } from 'src/repositories/telemetry.repository'; import { TrashRepository } from 'src/repositories/trash.repository'; import { VersionHistoryRepository } from 'src/repositories/version-history.repository'; @@ -59,6 +60,7 @@ export type IMetricGroupRepository = RepositoryInterface; export type INotificationRepository = RepositoryInterface; export type IOAuthRepository = RepositoryInterface; export type IServerInfoRepository = RepositoryInterface; +export type ISystemMetadataRepository = RepositoryInterface; export type ITelemetryRepository = RepositoryInterface; export type ITrashRepository = RepositoryInterface; export type IViewRepository = RepositoryInterface; diff --git a/server/src/utils/config.ts b/server/src/utils/config.ts index cd28c63618..64a0a37c86 100644 --- a/server/src/utils/config.ts +++ b/server/src/utils/config.ts @@ -7,8 +7,7 @@ import { SystemConfig, defaults } from 'src/config'; import { SystemConfigDto } from 'src/dtos/system-config.dto'; import { SystemMetadataKey } from 'src/enum'; import { DatabaseLock } from 'src/interfaces/database.interface'; -import { ISystemMetadataRepository } from 'src/interfaces/system-metadata.interface'; -import { DeepPartial, IConfigRepository, ILoggingRepository } from 'src/types'; +import { DeepPartial, IConfigRepository, ILoggingRepository, ISystemMetadataRepository } from 'src/types'; import { getKeysDeep, unsetDeep } from 'src/utils/misc'; export type SystemConfigValidator = (config: SystemConfig, newConfig: SystemConfig) => void | Promise; diff --git a/server/test/repositories/system-metadata.repository.mock.ts b/server/test/repositories/system-metadata.repository.mock.ts index 793dd4c1c0..b96b525697 100644 --- a/server/test/repositories/system-metadata.repository.mock.ts +++ b/server/test/repositories/system-metadata.repository.mock.ts @@ -1,4 +1,4 @@ -import { ISystemMetadataRepository } from 'src/interfaces/system-metadata.interface'; +import { ISystemMetadataRepository } from 'src/types'; import { clearConfigCache } from 'src/utils/config'; import { Mocked, vitest } from 'vitest'; diff --git a/server/test/utils.ts b/server/test/utils.ts index 94377ca18c..02032d114b 100644 --- a/server/test/utils.ts +++ b/server/test/utils.ts @@ -16,6 +16,7 @@ import { MetadataRepository } from 'src/repositories/metadata.repository'; import { NotificationRepository } from 'src/repositories/notification.repository'; import { OAuthRepository } from 'src/repositories/oauth.repository'; import { ServerInfoRepository } from 'src/repositories/server-info.repository'; +import { SystemMetadataRepository } from 'src/repositories/system-metadata.repository'; import { TelemetryRepository } from 'src/repositories/telemetry.repository'; import { TrashRepository } from 'src/repositories/trash.repository'; import { VersionHistoryRepository } from 'src/repositories/version-history.repository'; @@ -36,6 +37,7 @@ import { INotificationRepository, IOAuthRepository, IServerInfoRepository, + ISystemMetadataRepository, ITrashRepository, IVersionHistoryRepository, IViewRepository, @@ -170,7 +172,7 @@ export const newTestService = ( sharedLinkMock, stackMock, storageMock, - systemMock, + systemMock as ISystemMetadataRepository as SystemMetadataRepository, tagMock, telemetryMock as unknown as TelemetryRepository, trashMock as ITrashRepository as TrashRepository,