improvement: code cleanup

This commit is contained in:
canove
2021-01-07 22:01:13 -03:00
parent 896f122cf7
commit c8c8dc43e9
9 changed files with 297 additions and 250 deletions

View File

@@ -4,14 +4,11 @@ import {
CreatedAt,
UpdatedAt,
Model,
DataType,
PrimaryKey,
ForeignKey,
BelongsTo,
HasMany,
AutoIncrement,
AfterFind,
BeforeUpdate,
Default
} from "sequelize-typescript";
@@ -30,7 +27,7 @@ class Ticket extends Model<Ticket> {
@Column({ defaultValue: "pending" })
status: string;
@Column(DataType.VIRTUAL)
@Column
unreadMessages: number;
@Column
@@ -69,26 +66,6 @@ class Ticket extends Model<Ticket> {
@HasMany(() => Message)
messages: Message[];
@AfterFind
static async countTicketsUnreadMessages(tickets: Ticket[]): Promise<void> {
if (tickets && tickets.length > 0) {
await Promise.all(
tickets.map(async ticket => {
ticket.unreadMessages = await Message.count({
where: { ticketId: ticket.id, read: false }
});
})
);
}
}
@BeforeUpdate
static async countTicketUnreadMessags(ticket: Ticket): Promise<void> {
ticket.unreadMessages = await Message.count({
where: { ticketId: ticket.id, read: false }
});
}
}
export default Ticket;