projeto-hit/backend/src/models/Whatsapp.ts

78 lines
1.1 KiB
TypeScript
Raw Normal View History

import {
Table,
Column,
CreatedAt,
UpdatedAt,
Model,
DataType,
PrimaryKey,
AutoIncrement,
Default,
AllowNull,
HasMany,
Unique,
BelongsToMany
} from "sequelize-typescript";
import Queue from "./Queue";
import Ticket from "./Ticket";
import WhatsappQueue from "./WhatsappQueue";
@Table
class Whatsapp extends Model<Whatsapp> {
@PrimaryKey
@AutoIncrement
@Column
id: number;
@AllowNull
@Unique
@Column(DataType.TEXT)
name: string;
@Column(DataType.TEXT)
session: string;
@Column(DataType.TEXT)
qrcode: string;
@Column
status: string;
@Column
battery: string;
@Column
plugged: boolean;
@Column
retries: number;
@Column(DataType.TEXT)
greetingMessage: string;
@Column(DataType.TEXT)
farewellMessage: string;
@Default(false)
@AllowNull
@Column
isDefault: boolean;
@CreatedAt
createdAt: Date;
@UpdatedAt
updatedAt: Date;
@HasMany(() => Ticket)
tickets: Ticket[];
@BelongsToMany(() => Queue, () => WhatsappQueue)
queues: Array<Queue & { WhatsappQueue: WhatsappQueue }>;
@HasMany(() => WhatsappQueue)
whatsappQueues: WhatsappQueue[];
}
export default Whatsapp;