mirror of
https://github.com/immich-app/immich.git
synced 2026-01-14 22:13:14 -08:00
52 lines
1.2 KiB
TypeScript
52 lines
1.2 KiB
TypeScript
import { AssetOrder } from 'src/enum';
|
|
import { AssetTable } from 'src/schema/tables/asset.table';
|
|
import { UserTable } from 'src/schema/tables/user.table';
|
|
import {
|
|
Column,
|
|
ColumnIndex,
|
|
CreateDateColumn,
|
|
DeleteDateColumn,
|
|
ForeignKeyColumn,
|
|
PrimaryGeneratedColumn,
|
|
Table,
|
|
UpdateDateColumn,
|
|
UpdateIdColumn,
|
|
} from 'src/sql-tools';
|
|
|
|
@Table({ name: 'albums', primaryConstraintName: 'PK_7f71c7b5bc7c87b8f94c9a93a00' })
|
|
export class AlbumTable {
|
|
@PrimaryGeneratedColumn()
|
|
id!: string;
|
|
|
|
@ForeignKeyColumn(() => UserTable, { onDelete: 'CASCADE', onUpdate: 'CASCADE', nullable: false })
|
|
ownerId!: string;
|
|
|
|
@Column({ default: 'Untitled Album' })
|
|
albumName!: string;
|
|
|
|
@Column({ type: 'text', default: '' })
|
|
description!: string;
|
|
|
|
@CreateDateColumn()
|
|
createdAt!: Date;
|
|
|
|
@UpdateDateColumn()
|
|
updatedAt!: Date;
|
|
|
|
@ColumnIndex('IDX_albums_update_id')
|
|
@UpdateIdColumn()
|
|
updateId?: string;
|
|
|
|
@DeleteDateColumn()
|
|
deletedAt!: Date | null;
|
|
|
|
@ForeignKeyColumn(() => AssetTable, { nullable: true, onDelete: 'SET NULL', onUpdate: 'CASCADE' })
|
|
albumThumbnailAssetId!: string;
|
|
|
|
@Column({ type: 'boolean', default: true })
|
|
isActivityEnabled!: boolean;
|
|
|
|
@Column({ default: AssetOrder.DESC })
|
|
order!: AssetOrder;
|
|
}
|