import AppError from "../../errors/AppError"; import CheckContactOpenTickets from "../../helpers/CheckContactOpenTickets"; import GetDefaultWhatsApp from "../../helpers/GetDefaultWhatsApp"; import Ticket from "../../models/Ticket"; import ShowContactService from "../ContactServices/ShowContactService"; import { getIO } from "../../libs/socket"; import ShowUserServiceReport from "../UserServices/ShowUserServiceReport"; import format from 'date-fns/format'; import ptBR from 'date-fns/locale/pt-BR'; import { splitDateTime } from "../../helpers/SplitDateTime"; import TicketEmiterSumOpenClosedByUser from "../../helpers/OnlineReporEmiterInfoByUser"; interface Request { contactId: number; status: string; userId: number; } const CreateTicketService = async ({ contactId, status, userId }: Request): Promise => { const defaultWhatsapp = await GetDefaultWhatsApp(userId); await CheckContactOpenTickets(contactId); const { isGroup } = await ShowContactService(contactId); const { id }: Ticket = await defaultWhatsapp.$create("ticket", { contactId, status, isGroup, userId }); const ticket = await Ticket.findByPk(id, { include: ["contact"] }); if (!ticket) { throw new AppError("ERR_CREATING_TICKET"); } //test del // 2022-05-11T05:20:33.000Z, // const dateToday = ticket.createdAt.toISOString().split('T')[0] const dateToday = splitDateTime(new Date(format(new Date(), 'yyyy-MM-dd HH:mm:ss', { locale: ptBR }))) //openByUser : [ { id: 13, status: 'online' } ] TicketEmiterSumOpenClosedByUser(userId.toString(), dateToday.fullDate, dateToday.fullDate) // return ticket; }; export default CreateTicketService;