Initial commit

This commit is contained in:
2024-04-17 22:54:13 +02:00
commit a8fdb455f4
162 changed files with 49158 additions and 0 deletions
+34
View File
@@ -0,0 +1,34 @@
import {Photo} from "./photo.js";
export class Album {
/**
* @param {Album} [album]
*/
constructor(album) {
this._id = album?._id;
this.albumId = album?.albumId;
this.name = album?.name;
this.description = album?.description;
this.sort = album?.sort;
this.sortOrder = album?.sortOrder;
this.photos = album?.photos?.map(photo => new Photo(photo)) || [];
this.coverPhoto = this.photos.length > 0 ? this.photos[0] : null;
}
/** @type {string} **/
id;
/** @type {string} **/
albumId;
/** @type {string} **/
name;
/** @type {string} **/
description;
/** @type {"manual"|"auto"} **/
sort;
/** @type {number} **/
sortOrder;
/** @type {Photo[]} **/
photos;
/** @type {Photo} **/
coverPhoto;
}
+12
View File
@@ -0,0 +1,12 @@
import {Photo} from "./photo";
export class Instance {
constructor(instance) {
this._id = instance?._id;
this.instanceId = instance?.instanceId;
this.title = instance?.title;
this.subtitle = instance?.subtitle;
this.coverPhoto = instance?.coverPhoto ? new Photo(instance.coverPhoto) : null;
this.urls = instance?.urls?.map(u => u) || [];
}
}
+29
View File
@@ -0,0 +1,29 @@
export class Photo {
/**
* @param {Photo} photo
*/
constructor(photo) {
this.photoId = photo?.photoId;
this.albumId = photo?.albumId;
this.name = photo?.name;
this.fileName = photo?.fileName;
this.mimeType = photo?.mimeType;
this.s3Path = photo?.s3Path;
this.description = photo?.description;
this.sortOrder = photo?.sortOrder;
this.url = `${window._env_.REACT_APP_API_URL}/api/s3/${this.s3Path}`;
}
/** @type {string} **/
photoId;
/** @type {string} **/
albumId;
/** @type {string} **/
name;
/** @type {string} **/
s3Path;
/** @type {string} **/
description;
/** @type {number} **/
sortOrder;
}