2023-10-11 04:14:44 +02:00
|
|
|
import { Column, Entity, PrimaryGeneratedColumn, Unique } from 'typeorm';
|
|
|
|
|
|
|
|
@Entity('move_history')
|
|
|
|
// path lock (per entity)
|
|
|
|
@Unique('UQ_entityId_pathType', ['entityId', 'pathType'])
|
|
|
|
// new path lock (global)
|
|
|
|
@Unique('UQ_newPath', ['newPath'])
|
|
|
|
export class MoveEntity {
|
|
|
|
@PrimaryGeneratedColumn('uuid')
|
|
|
|
id!: string;
|
|
|
|
|
|
|
|
@Column({ type: 'varchar' })
|
|
|
|
entityId!: string;
|
|
|
|
|
|
|
|
@Column({ type: 'varchar' })
|
|
|
|
pathType!: PathType;
|
|
|
|
|
|
|
|
@Column({ type: 'varchar' })
|
|
|
|
oldPath!: string;
|
|
|
|
|
|
|
|
@Column({ type: 'varchar' })
|
|
|
|
newPath!: string;
|
|
|
|
}
|
|
|
|
|
|
|
|
export enum AssetPathType {
|
|
|
|
ORIGINAL = 'original',
|
2024-04-02 06:56:56 +02:00
|
|
|
PREVIEW = 'preview',
|
|
|
|
THUMBNAIL = 'thumbnail',
|
2023-10-11 04:14:44 +02:00
|
|
|
ENCODED_VIDEO = 'encoded_video',
|
|
|
|
SIDECAR = 'sidecar',
|
|
|
|
}
|
|
|
|
|
|
|
|
export enum PersonPathType {
|
|
|
|
FACE = 'face',
|
|
|
|
}
|
|
|
|
|
2023-10-14 19:12:59 +02:00
|
|
|
export enum UserPathType {
|
|
|
|
PROFILE = 'profile',
|
|
|
|
}
|
|
|
|
|
|
|
|
export type PathType = AssetPathType | PersonPathType | UserPathType;
|