import { UpdatedAtTrigger, UpdateIdColumn } from 'src/decorators'; import { AssetFileType } from 'src/enum'; import { AssetTable } from 'src/schema/tables/asset.table'; import { Column, CreateDateColumn, ForeignKeyColumn, Generated, PrimaryGeneratedColumn, Table, Timestamp, Unique, UpdateDateColumn, } from 'src/sql-tools'; @Table('asset_file') @Unique({ columns: ['assetId', 'type'] }) @UpdatedAtTrigger('asset_file_updatedAt') export class AssetFileTable { @PrimaryGeneratedColumn() id!: Generated; @ForeignKeyColumn(() => AssetTable, { onDelete: 'CASCADE', onUpdate: 'CASCADE' }) assetId!: string; @CreateDateColumn() createdAt!: Generated; @UpdateDateColumn() updatedAt!: Generated; @Column() type!: AssetFileType; @Column() path!: string; @UpdateIdColumn({ index: true }) updateId!: Generated; }