import { Table, Column, CreatedAt, UpdatedAt, Model, DataType, PrimaryKey, AutoIncrement, Default, BelongsTo, ForeignKey } from "sequelize-typescript"; import Ticket from "./Ticket"; @Table class Message extends Model { @PrimaryKey @Column id: string; @Default(0) @Column ack: number; @Default(false) @Column read: boolean; @Default(false) @Column fromMe: boolean; @Column(DataType.TEXT) body: string; @Column(DataType.STRING) get mediaUrl(): string | null { if (this.getDataValue("mediaUrl")) { return `${process.env.BACKEND_URL}:${ process.env.PROXY_PORT }/public/${this.getDataValue("mediaUrl")}`; } return null; } @Column mediaType: string; @CreatedAt @Column(DataType.DATE(6)) createdAt: Date; @UpdatedAt @Column(DataType.DATE(6)) updatedAt: Date; @ForeignKey(() => Ticket) @Column ticketId: number; @BelongsTo(() => Ticket) ticket: Ticket; } export default Message;