refactor: domain repositories (#4403)

This commit is contained in:
Jason Rasmussen
2023-10-09 10:25:03 -04:00
committed by GitHub
parent b56f22aac3
commit 2ea080cacd
93 changed files with 313 additions and 227 deletions
@@ -0,0 +1,32 @@
import { Tags } from 'exiftool-vendored';
import { InitOptions } from 'local-reverse-geocoder';
export const IMetadataRepository = 'IMetadataRepository';
export interface GeoPoint {
latitude: number;
longitude: number;
}
export interface ReverseGeocodeResult {
country: string | null;
state: string | null;
city: string | null;
}
export interface ImmichTags extends Omit<Tags, 'FocalLength'> {
ContentIdentifier?: string;
MotionPhoto?: number;
MotionPhotoVersion?: number;
MotionPhotoPresentationTimestampUs?: number;
MediaGroupUUID?: string;
ImagePixelDepth?: string;
FocalLength?: number;
}
export interface IMetadataRepository {
init(options: Partial<InitOptions>): Promise<void>;
reverseGeocode(point: GeoPoint): Promise<ReverseGeocodeResult>;
deleteCache(): Promise<void>;
getExifTags(path: string): Promise<ImmichTags | null>;
}