diff --git a/src/controllers/04-product-controller.ts b/src/controllers/04-product-controller.ts index 6e07f98..3646479 100644 --- a/src/controllers/04-product-controller.ts +++ b/src/controllers/04-product-controller.ts @@ -25,7 +25,7 @@ import { } from "../services/permission"; import { isSystem } from "../utils/keycloak"; import { filterStatus } from "../services/prisma"; -import { deleteFile, fileLocation, getFile, listFile, setFile } from "../utils/minio"; +import { deleteFile, deleteFolder, fileLocation, getFile, listFile, setFile } from "../utils/minio"; import { isUsedError, notFoundError, relationError } from "../utils/error"; import { queryOrNot } from "../utils/relation"; @@ -434,6 +434,8 @@ export class ProductController extends Controller { if (record.status !== Status.CREATED) throw isUsedError("Product"); + await deleteFolder(fileLocation.product.img(productId)); + return await prisma.product.delete({ include: { createdBy: true, diff --git a/src/controllers/04-service-controller.ts b/src/controllers/04-service-controller.ts index 0670295..a60c555 100644 --- a/src/controllers/04-service-controller.ts +++ b/src/controllers/04-service-controller.ts @@ -27,7 +27,15 @@ import { } from "../services/permission"; import { filterStatus } from "../services/prisma"; import { isUsedError, notFoundError, relationError } from "../utils/error"; -import { deleteFile, fileLocation, getFile, getPresigned, listFile, setFile } from "../utils/minio"; +import { + deleteFile, + deleteFolder, + fileLocation, + getFile, + getPresigned, + listFile, + setFile, +} from "../utils/minio"; import { queryOrNot } from "../utils/relation"; const MANAGE_ROLES = [ @@ -560,6 +568,8 @@ export class ServiceController extends Controller { if (record.status !== Status.CREATED) throw isUsedError("Service"); + await deleteFolder(fileLocation.service.img(serviceId)); + return await prisma.service.delete({ include: { createdBy: true,