diff --git a/demo/images/IMG_5910.jpg.xmp b/demo/images/IMG_5910.jpg.xmp index 8ca2fac0..0043a4b1 100644 --- a/demo/images/IMG_5910.jpg.xmp +++ b/demo/images/IMG_5910.jpg.xmp @@ -356,7 +356,7 @@ Adobe Photoshop Lightroom 6.1 (Windows) 2023-09-02T16:18:48+02:00 2015-07-24T22:45:50 - 3 + 4 2018-11-17T20:27:31+01:00 2018-11-17T20:27:31+01:00 2018-11-17T20:27:31+01:00 + 4 { metadata.keywords = [(response as any).dc.subject].flat(); + metadata.rating = (response as any).xmp.Rating; }); } } @@ -199,6 +200,7 @@ export class MetadataLoader { const sidecarData = exifr.sidecar(sidecarPath); sidecarData.then((response) => { metadata.keywords = [(response as any).dc.subject].flat(); + metadata.rating = (response as any).xmp.Rating; }); } } diff --git a/src/common/entities/ConentWrapper.ts b/src/common/entities/ConentWrapper.ts index 5bd6e3e2..f0321575 100644 --- a/src/common/entities/ConentWrapper.ts +++ b/src/common/entities/ConentWrapper.ts @@ -238,7 +238,6 @@ export class ContentWrapper { } ContentWrapper.mapify(cw, m, isSearchResult); } else if (MediaDTOUtils.isVideo(m)) { - delete (m as PhotoDTO).metadata.rating; delete (m as PhotoDTO).metadata.caption; delete (m as PhotoDTO).metadata.cameraData; delete (m as PhotoDTO).metadata.faces; diff --git a/src/common/entities/PhotoDTO.ts b/src/common/entities/PhotoDTO.ts index f95a10e8..0fb626b2 100644 --- a/src/common/entities/PhotoDTO.ts +++ b/src/common/entities/PhotoDTO.ts @@ -26,8 +26,10 @@ export interface FaceRegion { box?: FaceRegionBox; // some faces don t have region ass they are coming from keywords } +export type RatingTypes = 0 | 1 | 2 | 3 | 4 | 5; + export interface PhotoMetadata extends MediaMetadata { - rating?: 0 | 1 | 2 | 3 | 4 | 5; + rating?: RatingTypes; caption?: string; keywords?: string[]; cameraData?: CameraMetadata; diff --git a/src/common/entities/VideoDTO.ts b/src/common/entities/VideoDTO.ts index e726c625..97abddd1 100644 --- a/src/common/entities/VideoDTO.ts +++ b/src/common/entities/VideoDTO.ts @@ -1,5 +1,6 @@ import {DirectoryPathDTO} from './DirectoryDTO'; import {MediaDimension, MediaDTO, MediaMetadata} from './MediaDTO'; +import {PositionMetaData, CameraMetadata, RatingTypes} from './PhotoDTO'; export interface VideoDTO extends MediaDTO { id: number; @@ -16,4 +17,5 @@ export interface VideoMetadata extends MediaMetadata { fileSize: number; fps: number; keywords?: string[]; + rating?: RatingTypes; }