mirror of
https://github.com/immich-app/immich.git
synced 2025-01-10 13:56:47 +01:00
32 lines
827 B
TypeScript
32 lines
827 B
TypeScript
|
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 Tags {
|
||
|
ContentIdentifier?: string;
|
||
|
MotionPhoto?: number;
|
||
|
MotionPhotoVersion?: number;
|
||
|
MotionPhotoPresentationTimestampUs?: number;
|
||
|
MediaGroupUUID?: string;
|
||
|
ImagePixelDepth?: string;
|
||
|
}
|
||
|
|
||
|
export interface IMetadataRepository {
|
||
|
init(options: Partial<InitOptions>): Promise<void>;
|
||
|
reverseGeocode(point: GeoPoint): Promise<ReverseGeocodeResult>;
|
||
|
deleteCache(): Promise<void>;
|
||
|
getExifTags(path: string): Promise<ImmichTags | null>;
|
||
|
}
|