add router updata-messenger add update defaultMessengerId
All checks were successful
Spell Check / Spell Check with Typos (push) Successful in 7s

This commit is contained in:
Kanjana 2025-04-03 18:00:21 +07:00
parent f98028fe6e
commit af4093d439
3 changed files with 53 additions and 0 deletions

View file

@ -0,0 +1,5 @@
-- AlterTable
ALTER TABLE "RequestData" ADD COLUMN "defaultMessengerId" TEXT;
-- AddForeignKey
ALTER TABLE "RequestData" ADD CONSTRAINT "RequestData_defaultMessengerId_fkey" FOREIGN KEY ("defaultMessengerId") REFERENCES "User"("id") ON DELETE SET NULL ON UPDATE CASCADE;

View file

@ -493,6 +493,7 @@ model User {
requestWorkStepStatus RequestWorkStepStatus[]
userTask UserTask[]
RequestData RequestData[]
}
model UserResponsibleArea {
@ -1469,6 +1470,9 @@ model RequestData {
flow Json?
defaultMessenger User? @relation(fields: [defaultMessengerId], references: [id])
defaultMessengerId String?
requestWork RequestWork[]
createdAt DateTime @default(now())

View file

@ -234,6 +234,35 @@ export class RequestDataController extends Controller {
return record;
}
@Post("updata-messenger")
@Security("keycloak")
async updateRequestData(
@Request() req: RequestWithUser,
@Body()
boby: {
defaultMessengerId: string;
requestDataId: string[];
},
) {
const record = await prisma.requestData.updateManyAndReturn({
where: {
id: { in: boby.requestDataId },
quotation: {
registeredBranch: {
OR: permissionCond(req.user),
},
},
},
data: {
defaultMessengerId: boby.defaultMessengerId,
},
});
if (record.length <= 0) throw notFoundError("Request Data");
return record[0];
}
}
@Route("/api/v1/request-data/{requestDataId}")
@ -891,6 +920,21 @@ export class RequestListController extends Controller {
update: payload,
});
if (record.responsibleUserId === null) {
await prisma.requestWorkStepStatus.update({
where: {
step_requestWorkId: {
step: step,
requestWorkId,
},
responsibleUserId: null,
},
data: {
responsibleUserId: record.requestWork?.request.defaultMessengerId,
},
});
}
switch (payload.workStatus) {
case "Ready":
if (record.requestWork.request.requestDataStatus === "Pending") {