import { Table, Column, CreatedAt, UpdatedAt, Model, PrimaryKey, AutoIncrement, DataType, BelongsTo, ForeignKey } from "sequelize-typescript"; import Company from "./Company"; import Contact from "./Contact"; import Ticket from "./Ticket"; import User from "./User"; @Table class Schedule extends Model { @PrimaryKey @AutoIncrement @Column id: number; @Column(DataType.TEXT) body: string; @Column sendAt: Date; @Column sentAt: Date; @ForeignKey(() => Contact) @Column contactId: number; @ForeignKey(() => Ticket) @Column ticketId: number; @ForeignKey(() => User) @Column userId: number; @ForeignKey(() => Company) @Column companyId: number; @Column(DataType.STRING) status: string; @CreatedAt createdAt: Date; @UpdatedAt updatedAt: Date; @BelongsTo(() => Contact, "contactId") contact: Contact; @BelongsTo(() => Ticket) ticket: Ticket; @BelongsTo(() => User) user: User; @BelongsTo(() => Company) company: Company; @Column mediaPath: string; @Column mediaName: string; } export default Schedule;