37 lines
843 B
TypeScript
37 lines
843 B
TypeScript
|
import Ticket from "../../models/Ticket";
|
||
|
import AppError from "../../errors/AppError";
|
||
|
import Contact from "../../models/Contact";
|
||
|
import User from "../../models/User";
|
||
|
import Queue from "../../models/Queue";
|
||
|
|
||
|
const ShowTicketService = async (id: string | number): Promise<Ticket> => {
|
||
|
const ticket = await Ticket.findByPk(id, {
|
||
|
include: [
|
||
|
{
|
||
|
model: Contact,
|
||
|
as: "contact",
|
||
|
attributes: ["id", "name", "number", "profilePicUrl"],
|
||
|
include: ["extraInfo"]
|
||
|
},
|
||
|
{
|
||
|
model: User,
|
||
|
as: "user",
|
||
|
attributes: ["id", "name"]
|
||
|
},
|
||
|
{
|
||
|
model: Queue,
|
||
|
as: "queue",
|
||
|
attributes: ["id", "name", "color"]
|
||
|
}
|
||
|
]
|
||
|
});
|
||
|
|
||
|
if (!ticket) {
|
||
|
throw new AppError("ERR_NO_TICKET_FOUND", 404);
|
||
|
}
|
||
|
|
||
|
return ticket;
|
||
|
};
|
||
|
|
||
|
export default ShowTicketService;
|