mirror of
https://github.com/immich-app/immich
synced 2025-10-17 18:19:27 +00:00
refactor: repositories (#15561)
* refactor: version history repository * refactor: oauth repository * refactor: trash repository * refactor: telemetry repository * refactor: metadata repository * refactor: cron repository * refactor: map repository * refactor: server-info repository * refactor: album user repository * refactor: notification repository
This commit is contained in:
parent
995314446b
commit
1869b1b41a
57 changed files with 372 additions and 469 deletions
|
|
@ -2,12 +2,22 @@ import { UserEntity } from 'src/entities/user.entity';
|
|||
import { ExifOrientation, ImageFormat, Permission, TranscodeTarget, VideoCodec } from 'src/enum';
|
||||
import { AccessRepository } from 'src/repositories/access.repository';
|
||||
import { ActivityRepository } from 'src/repositories/activity.repository';
|
||||
import { AlbumUserRepository } from 'src/repositories/album-user.repository';
|
||||
import { ApiKeyRepository } from 'src/repositories/api-key.repository';
|
||||
import { AuditRepository } from 'src/repositories/audit.repository';
|
||||
import { ConfigRepository } from 'src/repositories/config.repository';
|
||||
import { CronRepository } from 'src/repositories/cron.repository';
|
||||
import { LoggingRepository } from 'src/repositories/logging.repository';
|
||||
import { MapRepository } from 'src/repositories/map.repository';
|
||||
import { MediaRepository } from 'src/repositories/media.repository';
|
||||
import { MemoryRepository } from 'src/repositories/memory.repository';
|
||||
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 { MetricGroupRepository, TelemetryRepository } from 'src/repositories/telemetry.repository';
|
||||
import { TrashRepository } from 'src/repositories/trash.repository';
|
||||
import { VersionHistoryRepository } from 'src/repositories/version-history.repository';
|
||||
import { ViewRepository } from 'src/repositories/view-repository';
|
||||
|
||||
export type DeepPartial<T> = T extends object ? { [K in keyof T]?: DeepPartial<T[K]> } : T;
|
||||
|
|
@ -23,9 +33,11 @@ export type RepositoryInterface<T extends object> = Pick<T, keyof T>;
|
|||
|
||||
export type IActivityRepository = RepositoryInterface<ActivityRepository>;
|
||||
export type IAccessRepository = { [K in keyof AccessRepository]: RepositoryInterface<AccessRepository[K]> };
|
||||
export type IAlbumUserRepository = RepositoryInterface<AlbumUserRepository>;
|
||||
export type IApiKeyRepository = RepositoryInterface<ApiKeyRepository>;
|
||||
export type IAuditRepository = RepositoryInterface<AuditRepository>;
|
||||
export type IConfigRepository = RepositoryInterface<ConfigRepository>;
|
||||
export type ICronRepository = RepositoryInterface<CronRepository>;
|
||||
export type ILoggingRepository = Pick<
|
||||
LoggingRepository,
|
||||
| 'verbose'
|
||||
|
|
@ -39,9 +51,18 @@ export type ILoggingRepository = Pick<
|
|||
| 'setContext'
|
||||
| 'setAppName'
|
||||
>;
|
||||
export type IMapRepository = RepositoryInterface<MapRepository>;
|
||||
export type IMediaRepository = RepositoryInterface<MediaRepository>;
|
||||
export type IMemoryRepository = RepositoryInterface<MemoryRepository>;
|
||||
export type IMetadataRepository = RepositoryInterface<MetadataRepository>;
|
||||
export type IMetricGroupRepository = RepositoryInterface<MetricGroupRepository>;
|
||||
export type INotificationRepository = RepositoryInterface<NotificationRepository>;
|
||||
export type IOAuthRepository = RepositoryInterface<OAuthRepository>;
|
||||
export type IServerInfoRepository = RepositoryInterface<ServerInfoRepository>;
|
||||
export type ITelemetryRepository = RepositoryInterface<TelemetryRepository>;
|
||||
export type ITrashRepository = RepositoryInterface<TrashRepository>;
|
||||
export type IViewRepository = RepositoryInterface<ViewRepository>;
|
||||
export type IVersionHistoryRepository = RepositoryInterface<VersionHistoryRepository>;
|
||||
|
||||
export type ActivityItem =
|
||||
| Awaited<ReturnType<IActivityRepository['create']>>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue