Files
seshat/backend/nestjs-seshat-api/src/books/entities/book-origin.entity.ts
2025-02-24 20:54:58 +00:00

24 lines
700 B
TypeScript

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;
}