Merge branch 'develop'
All checks were successful
Spell Check / Spell Check with Typos (push) Successful in 3s
All checks were successful
Spell Check / Spell Check with Typos (push) Successful in 3s
This commit is contained in:
commit
116fa02bd9
4 changed files with 57 additions and 1 deletions
5
prisma/migrations/20250403074007_add/migration.sql
Normal file
5
prisma/migrations/20250403074007_add/migration.sql
Normal 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;
|
||||
|
|
@ -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())
|
||||
|
|
|
|||
|
|
@ -178,6 +178,7 @@ type UserUpdate = {
|
|||
branchId?: string | string[];
|
||||
};
|
||||
|
||||
const permissionCondCompany = createPermCondition((_) => true);
|
||||
const permissionCond = createPermCondition(globalAllow);
|
||||
const permissionCheck = createPermCheck(globalAllow);
|
||||
|
||||
|
|
@ -348,7 +349,9 @@ export class UserController extends Controller {
|
|||
: {
|
||||
some: {
|
||||
branch: {
|
||||
OR: permissionCond(req.user, { activeOnly: activeBranchOnly }),
|
||||
OR: responsibleDistrictId
|
||||
? permissionCondCompany(req.user, { activeOnly: activeBranchOnly }) // NOTE: when pass responsibleDistrictId should see all user not only to current branch
|
||||
: permissionCond(req.user, { activeOnly: activeBranchOnly }),
|
||||
},
|
||||
},
|
||||
},
|
||||
|
|
|
|||
|
|
@ -230,6 +230,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}")
|
||||
|
|
@ -887,6 +916,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") {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue