cancel requests endpoint

This commit is contained in:
x032205
2025-12-06 18:11:41 -05:00
parent e82d810ac7
commit 89c1c5ffc4
2 changed files with 52 additions and 1 deletions
@@ -673,6 +673,29 @@ export const approvalPolicyServiceFactory = ({
return { requests };
};
const cancelRequest = async (requestId: string, actor: OrgServiceActor) => {
const request = await approvalRequestDAL.findById(requestId);
if (!request) {
throw new ForbiddenRequestError({ message: "Request not found" });
}
if (request.status !== ApprovalRequestStatus.Pending) {
throw new BadRequestError({ message: "Request is not pending" });
}
if (request.requesterId !== actor.id) {
throw new ForbiddenRequestError({ message: "You are not the requester of this request" });
}
const updatedRequest = await approvalRequestDAL.updateById(requestId, {
status: ApprovalRequestStatus.Cancelled
});
const steps = await approvalRequestDAL.findStepsByRequestId(requestId);
return { request: { ...updatedRequest, steps } };
};
return {
create,
list,
@@ -683,6 +706,7 @@ export const approvalPolicyServiceFactory = ({
listRequests,
getRequestById,
approveRequest,
rejectRequest
rejectRequest,
cancelRequest
};
};