From 9d894896e1733de662036c263a9ae9c46c966069 Mon Sep 17 00:00:00 2001 From: adrians5j Date: Wed, 8 May 2024 19:23:07 +0200 Subject: [PATCH] fix: ensure all fields are always included in the result --- packages/api-headless-cms/src/constants.ts | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/packages/api-headless-cms/src/constants.ts b/packages/api-headless-cms/src/constants.ts index 121d4629d8b..940af91e2f0 100644 --- a/packages/api-headless-cms/src/constants.ts +++ b/packages/api-headless-cms/src/constants.ts @@ -62,13 +62,16 @@ export const pickEntryMetaFields = ( ) => { const pickedEntryMetaFields: Partial = {}; for (const entryMetaFieldName of ENTRY_META_FIELDS) { - if (entryMetaFieldName in object) { - const mustPick = !filter || filter(entryMetaFieldName); - if (mustPick) { - Object.assign(pickedEntryMetaFields, { - [entryMetaFieldName]: object[entryMetaFieldName] - }); - } + const fieldExists = entryMetaFieldName in object; + if (!fieldExists) { + object[entryMetaFieldName] = undefined; + } + + const mustPick = !filter || filter(entryMetaFieldName); + if (mustPick) { + Object.assign(pickedEntryMetaFields, { + [entryMetaFieldName]: object[entryMetaFieldName] + }); } }