fix: deleting a user keeping user's tickets open assigned to "null"

This commit is contained in:
canove
2020-09-26 20:19:33 -03:00
parent 574fe9c517
commit 36a2451dc5
2 changed files with 42 additions and 0 deletions

View File

@@ -1,5 +1,7 @@
import User from "../../models/User";
import AppError from "../../errors/AppError";
import Ticket from "../../models/Ticket";
import UpdateDeletedUserOpenTicketsStatus from "../../helpers/UpdateDeletedUserOpenTicketsStatus";
const DeleteUserService = async (id: string): Promise<void> => {
const user = await User.findOne({
@@ -10,6 +12,14 @@ const DeleteUserService = async (id: string): Promise<void> => {
throw new AppError("No user found with this ID.", 404);
}
const userOpenTickets: Ticket[] = await user.$get("tickets", {
where: { status: "open" }
});
if (userOpenTickets.length > 0) {
UpdateDeletedUserOpenTicketsStatus(userOpenTickets);
}
await user.destroy();
};