import { UUID } from 'crypto'; import { BookOriginType } from 'src/shared/enums/book_origin_type'; import { Column, Entity, JoinColumn, ManyToOne, OneToOne, PrimaryColumn, Unique } from 'typeorm'; import { BookEntity } from './book.entity'; @Entity("book_origins") @Unique(['bookOriginId', 'type', 'value']) export class BookOriginEntity { @PrimaryColumn({ name: 'book_origin_id' }) readonly bookOriginId: UUID; @Column({ name: 'book_id' }) readonly bookId: UUID; @Column({ name: 'origin_type' }) type: BookOriginType; @Column({ name: 'origin_value' }) value: string; @OneToOne(type => BookEntity, book => book.metadata) @JoinColumn({ name: 'book_id' }) book: BookEntity; }