From 9235175303ab81c5266fda68934d522916332114 Mon Sep 17 00:00:00 2001 From: Methapon2001 <61303214+Methapon2001@users.noreply.github.com> Date: Mon, 13 Jan 2025 15:42:26 +0700 Subject: [PATCH] feat: handle delete credit note together with file --- src/controllers/08-credit-note-controller.ts | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/src/controllers/08-credit-note-controller.ts b/src/controllers/08-credit-note-controller.ts index d424202..ad17bb7 100644 --- a/src/controllers/08-credit-note-controller.ts +++ b/src/controllers/08-credit-note-controller.ts @@ -24,7 +24,15 @@ import { } from "../services/permission"; import HttpError from "../interfaces/http-error"; import HttpStatus from "../interfaces/http-status"; -import { deleteFile, fileLocation, getFile, getPresigned, listFile, setFile } from "../utils/minio"; +import { + deleteFile, + deleteFolder, + fileLocation, + getFile, + getPresigned, + listFile, + setFile, +} from "../utils/minio"; import { notFoundError } from "../utils/error"; import { CreditNotePaybackType, CreditNoteStatus, Prisma } from "@prisma/client"; import { queryOrNot } from "../utils/relation"; @@ -511,6 +519,11 @@ export class CreditNoteController extends Controller { if (!record) throw notFoundError("Credit Note"); await permissionCheck(req.user, record.quotation.registeredBranch); + + await Promise.all([ + deleteFolder(fileLocation.creditNote.slip(creditNoteId)), + deleteFolder(fileLocation.creditNote.attachment(creditNoteId)), + ]); return await prisma.creditNote.delete({ where: { id: creditNoteId } }); } }