From 28aaab78b3620a7687a8bcfbb06d1cbb57774ca9 Mon Sep 17 00:00:00 2001 From: rijkvanzanten Date: Fri, 7 Aug 2020 17:24:02 -0400 Subject: [PATCH] Support deleting nested o2m records --- api/src/services/payload.ts | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/api/src/services/payload.ts b/api/src/services/payload.ts index aef4088f45..82df130e9b 100644 --- a/api/src/services/payload.ts +++ b/api/src/services/payload.ts @@ -248,11 +248,16 @@ export default class PayloadService { ); const toBeUpdated = relatedRecords.filter( - (record) => record.hasOwnProperty(relation.many_primary) === true + (record) => record.hasOwnProperty(relation.many_primary) === true && record.hasOwnProperty('$delete') === false ); + const toBeDeleted = relatedRecords + .filter(record => record.hasOwnProperty(relation.many_primary) === true && record.hasOwnProperty('$delete') && record.$delete === true) + .map(record => record[relation.many_primary]); + await itemsService.create(toBeCreated); await itemsService.update(toBeUpdated); + await itemsService.delete(toBeDeleted); } } }