diff --git a/src/controllers/04-institution-controller.ts b/src/controllers/04-institution-controller.ts index ab1275b..3747600 100644 --- a/src/controllers/04-institution-controller.ts +++ b/src/controllers/04-institution-controller.ts @@ -16,7 +16,7 @@ import { Tags, } from "tsoa"; import prisma from "../db"; -import { notFoundError } from "../utils/error"; +import { isUsedError, notFoundError } from "../utils/error"; import { queryOrNot } from "../utils/relation"; import { RequestWithUser } from "../interfaces/user"; import { deleteFile, fileLocation, getFile, getPresigned, listFile, setFile } from "../utils/minio"; @@ -155,9 +155,15 @@ export class InstitutionController extends Controller { return await prisma.$transaction(async (tx) => { const record = await tx.institution.findFirst({ where: { id: institutionId }, + include: { + taskOrder: { + take: 1, + }, + }, }); if (!record) throw notFoundError("Institution"); + if (record.taskOrder.length > 0) throw isUsedError("Institution"); return await tx.institution.delete({ where: { id: institutionId },