hedgedoc/lib/models/author.ts
Philip Molares 22683451bd
changed imports to new ./modules import style
Signed-off-by: Philip Molares <philip.molares@udo.edu>
Signed-off-by: David Mehren <dmehren1@gmail.com>
2020-04-25 16:04:03 +02:00

31 lines
827 B
TypeScript

import { AutoIncrement, Table, Column, DataType, PrimaryKey, Model, BelongsTo, createIndexDecorator, ForeignKey } from 'sequelize-typescript'
import { Note, User } from './index';
const NoteUserIndex = createIndexDecorator({unique: true});
@Table
export class Author extends Model<Author> {
@PrimaryKey
@AutoIncrement
@Column(DataType.INTEGER)
id: number;
@Column(DataType.STRING)
color: string;
@ForeignKey(() => Note)
@NoteUserIndex
@Column(DataType.UUID)
noteId: string;
@BelongsTo(() => Note, { foreignKey: 'noteId', onDelete: 'CASCADE', constraints: false, hooks: true })
note: Note;
@ForeignKey(() => User)
@NoteUserIndex
@Column(DataType.UUID)
userId: string;
@BelongsTo(() => User, { foreignKey: 'userId', onDelete: 'CASCADE', constraints: false, hooks: true })
user: User;
}