Files
omnivore/packages/api/src/entity/highlight.ts
2022-02-11 09:24:33 -08:00

57 lines
961 B
TypeScript

import {
BaseEntity,
Column,
CreateDateColumn,
Entity,
JoinColumn,
OneToOne,
PrimaryGeneratedColumn,
UpdateDateColumn,
} from 'typeorm'
import { User } from './user'
import { Page } from './page'
@Entity({ name: 'highlight' })
export class Highlight extends BaseEntity {
@PrimaryGeneratedColumn('uuid')
id?: string
@Column({ type: 'varchar', length: 14 })
shortId!: string
@OneToOne(() => User)
@JoinColumn({ name: 'user_id' })
user!: User
@OneToOne(() => Page)
@JoinColumn({ name: 'article_id' })
page!: Page
@Column('text')
quote!: string
@Column({ type: 'varchar', length: 5000 })
prefix?: string
@Column({ type: 'varchar', length: 5000 })
suffix?: string
@Column('text')
patch!: string
@Column('text')
annotation?: string
@Column('boolean')
deleted?: boolean
@CreateDateColumn()
createdAt?: Date
@UpdateDateColumn()
updatedAt?: Date
@Column('timestamp')
sharedAt?: Date
}