35 lines
889 B
TypeScript
35 lines
889 B
TypeScript
import ShowQueueService from "./ShowQueueService";
|
|
|
|
import UserQueue from "../../models/UserQueue";
|
|
|
|
import ListTicketsServiceCache from "../TicketServices/ListTicketServiceCache";
|
|
|
|
import { deleteTicketsFieldsCache } from "../../helpers/TicketCache";
|
|
import { del } from "../../helpers/RedisClient";
|
|
|
|
const DeleteQueueService = async (queueId: number | string): Promise<void> => {
|
|
const queue = await ShowQueueService(queueId);
|
|
|
|
if (queue.id) {
|
|
const tickets = await ListTicketsServiceCache({ queueId });
|
|
|
|
await deleteTicketsFieldsCache(tickets, [
|
|
"queue.id",
|
|
"queue.name",
|
|
"queue.color"
|
|
]);
|
|
}
|
|
|
|
try {
|
|
await UserQueue.destroy({ where: { queueId: queueId } });
|
|
|
|
del(`queue:${queueId}`);
|
|
} catch (error) {
|
|
console.log("Error on delete UserQueue by queueId: ", queueId);
|
|
}
|
|
|
|
await queue.destroy();
|
|
};
|
|
|
|
export default DeleteQueueService;
|