2024-03-20 16:02:51 -05:00
|
|
|
import { AssetEntity } from 'src/entities/asset.entity';
|
2023-12-08 11:15:46 -05:00
|
|
|
import { Column, Entity, Index, JoinColumn, OneToOne, PrimaryColumn } from 'typeorm';
|
|
|
|
|
|
|
|
|
|
@Entity('smart_search', { synchronize: false })
|
|
|
|
|
export class SmartSearchEntity {
|
|
|
|
|
@OneToOne(() => AssetEntity, { onDelete: 'CASCADE', nullable: true })
|
|
|
|
|
@JoinColumn({ name: 'assetId', referencedColumnName: 'id' })
|
|
|
|
|
asset?: AssetEntity;
|
|
|
|
|
|
|
|
|
|
@PrimaryColumn()
|
|
|
|
|
assetId!: string;
|
|
|
|
|
|
|
|
|
|
@Index('clip_index', { synchronize: false })
|
2025-01-09 11:15:41 -05:00
|
|
|
@Column({ type: 'float4', array: true, transformer: { from: JSON.parse, to: (v) => v } })
|
2023-12-08 11:15:46 -05:00
|
|
|
embedding!: number[];
|
|
|
|
|
}
|