EQMS-1537: cleanup all review/approval requests on qms doc deletion (#8790)

Signed-off-by: Victor Ilyushchenko <alt13ri@gmail.com>
This commit is contained in:
Victor Ilyushchenko
2025-04-30 22:50:00 +07:00
committed by GitHub
parent d4875e8af9
commit 48997b88ea
@@ -291,14 +291,17 @@ export async function OnDocEnteredNonActionableState (
const result: Tx[] = []
for (const tx of txes) {
const requests = await control.findAll(control.ctx, documents.class.DocumentRequest, {
attachedTo: tx.objectId,
status: RequestStatus.Active
attachedTo: tx.objectId
})
const cancelTxes = requests.map((request) =>
control.txFactory.createTxUpdateDoc<DocumentRequest>(request._class, request.space, request._id, {
status: RequestStatus.Cancelled
const cancelTxes = requests
.filter((request) => {
return request.status === RequestStatus.Active || tx.operations.state === DocumentState.Deleted
})
)
.map((request) =>
control.txFactory.createTxUpdateDoc<DocumentRequest>(request._class, request.space, request._id, {
status: RequestStatus.Cancelled
})
)
await control.apply(control.ctx, [
...cancelTxes,
control.txFactory.createTxUpdateDoc<ControlledDocument>(tx.objectClass, tx.objectSpace, tx.objectId, {