feat: sync description, add e2e tests

This commit is contained in:
Jason Rasmussen
2023-11-21 21:46:04 -05:00
parent b8a9cbc659
commit 454d36f9ab
4 changed files with 55 additions and 9 deletions
+3 -7
View File
@@ -586,15 +586,11 @@ export class AssetService {
}
}
private async updateMetadata(dto: ISidecarWriteJob & { description?: string }) {
private async updateMetadata(dto: ISidecarWriteJob) {
const { id, description, dateTimeOriginal, latitude, longitude } = dto;
if (description !== undefined) {
await this.assetRepository.upsertExif({ assetId: id, description });
}
const writes = _.omitBy({ dateTimeOriginal, latitude, longitude }, _.isUndefined);
const writes = _.omitBy({ description, dateTimeOriginal, latitude, longitude }, _.isUndefined);
if (Object.keys(writes).length > 0) {
await this.assetRepository.upsertExif({ assetId: id, ...writes });
await this.jobRepository.queue({ name: JobName.SIDECAR_WRITE, data: { id, ...writes } });
}
}
+1
View File
@@ -35,6 +35,7 @@ export interface IDeleteFilesJob extends IBaseJob {
}
export interface ISidecarWriteJob extends IEntityJob {
description?: string;
dateTimeOriginal?: string;
latitude?: number;
longitude?: number;
@@ -253,15 +253,16 @@ export class MetadataService {
}
async handleSidecarWrite(job: ISidecarWriteJob) {
const { id, dateTimeOriginal, latitude, longitude } = job;
const { id, description, dateTimeOriginal, latitude, longitude } = job;
const asset = await this.assetRepository.getById(id);
if (!asset) {
return false;
}
const sidecarPath = asset.sidecarPath || `${asset.originalPath}.xmp`;
const exif = _.omitBy(
const exif = _.omitBy<Tags>(
{
ImageDescription: description,
CreationDate: dateTimeOriginal,
GPSLatitude: latitude,
GPSLongitude: longitude,