import { DirectoryPathDTO } from './DirectoryDTO'; import { MediaDimension, MediaDTO, MediaMetadata } from './MediaDTO'; export interface CoverPhotoDTO extends MediaDTO { name: string; directory: DirectoryPathDTO; } export interface PhotoDTO extends CoverPhotoDTO, MediaDTO { id: number; name: string; directory: DirectoryPathDTO; metadata: PhotoMetadata; missingThumbnails?: number; } export interface FaceRegionBox { width: number; height: number; left: number; top: number; } export interface FaceRegion { name: string; box?: FaceRegionBox; } export interface PhotoMetadata extends MediaMetadata { title?: string; caption?: string; cameraData?: CameraMetadata; positionData?: PositionMetaData; size: MediaDimension; creationDate: number; creationDateOffset?: string; fileSize: number; faces?: FaceRegion[]; } export interface PositionMetaData { GPSData?: GPSMetadata; country?: string; state?: string; city?: string; } export interface GPSMetadata { latitude?: number; longitude?: number; } export interface CameraMetadata { ISO?: number; model?: string; make?: string; fStop?: number; exposure?: number; focalLength?: number; lens?: string; }