From c70d59c8d2f64c4e469ae7bb17ebc87fbb860968 Mon Sep 17 00:00:00 2001 From: James Date: Wed, 1 Feb 2023 09:33:22 -0500 Subject: [PATCH] chore: safely traverses locale=all in cases where relationship is null --- src/fields/hooks/afterRead/relationshipPopulationPromise.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/fields/hooks/afterRead/relationshipPopulationPromise.ts b/src/fields/hooks/afterRead/relationshipPopulationPromise.ts index 9549bd743e..28578189b5 100644 --- a/src/fields/hooks/afterRead/relationshipPopulationPromise.ts +++ b/src/fields/hooks/afterRead/relationshipPopulationPromise.ts @@ -101,7 +101,7 @@ const relationshipPopulationPromise = async ({ const rowPromises = []; if (fieldSupportsMany(field) && field.hasMany) { - if (req.locale === 'all' && typeof siblingDoc[field.name] === 'object') { + if (req.locale === 'all' && typeof siblingDoc[field.name] === 'object' && siblingDoc[field.name] !== null) { Object.keys(siblingDoc[field.name]).forEach((key) => { if (Array.isArray(siblingDoc[field.name][key])) { siblingDoc[field.name][key].forEach((relatedDoc, index) => { @@ -144,7 +144,7 @@ const relationshipPopulationPromise = async ({ rowPromises.push(rowPromise()); }); } - } else if (typeof siblingDoc[field.name] === 'object' && req.locale === 'all') { + } else if (typeof siblingDoc[field.name] === 'object' && siblingDoc[field.name] !== null && req.locale === 'all') { Object.keys(siblingDoc[field.name]).forEach((key) => { const rowPromise = async () => { await populate({