mirror of
https://github.com/KevinMidboe/immich.git
synced 2025-12-08 20:29:05 +00:00
* feat: libraries Co-authored-by: Jason Rasmussen <jrasm91@gmail.com> Co-authored-by: Alex <alex.tran1502@gmail.com>
23 lines
1.1 KiB
TypeScript
23 lines
1.1 KiB
TypeScript
import { LibraryEntity, LibraryType } from '@app/infra/entities';
|
|
import { LibraryStatsResponseDto } from './library.dto';
|
|
|
|
export const ILibraryRepository = 'ILibraryRepository';
|
|
|
|
export interface ILibraryRepository {
|
|
getCountForUser(ownerId: string): Promise<number>;
|
|
getAllByUserId(userId: string, type?: LibraryType): Promise<LibraryEntity[]>;
|
|
getAll(withDeleted?: boolean, type?: LibraryType): Promise<LibraryEntity[]>;
|
|
getAllDeleted(): Promise<LibraryEntity[]>;
|
|
get(id: string, withDeleted?: boolean): Promise<LibraryEntity | null>;
|
|
create(library: Partial<LibraryEntity>): Promise<LibraryEntity>;
|
|
delete(id: string): Promise<void>;
|
|
softDelete(id: string): Promise<void>;
|
|
getDefaultUploadLibrary(ownerId: string): Promise<LibraryEntity | null>;
|
|
getUploadLibraryCount(ownerId: string): Promise<number>;
|
|
update(library: Partial<LibraryEntity>): Promise<LibraryEntity>;
|
|
getStatistics(id: string): Promise<LibraryStatsResponseDto>;
|
|
getOnlineAssetPaths(id: string): Promise<string[]>;
|
|
getAssetIds(id: string, withDeleted?: boolean): Promise<string[]>;
|
|
existsByName(name: string, withDeleted?: boolean): Promise<boolean>;
|
|
}
|