fix(richtext-*): hasMany relationships not populated correctly
This commit is contained in:
@@ -36,6 +36,7 @@ export const recurseNestedFields = ({
|
|||||||
if (field.type === 'relationship') {
|
if (field.type === 'relationship') {
|
||||||
if (field.hasMany && Array.isArray(data[field.name])) {
|
if (field.hasMany && Array.isArray(data[field.name])) {
|
||||||
if (Array.isArray(field.relationTo)) {
|
if (Array.isArray(field.relationTo)) {
|
||||||
|
// polymorphic relationship
|
||||||
data[field.name].forEach(({ relationTo, value }, i) => {
|
data[field.name].forEach(({ relationTo, value }, i) => {
|
||||||
const collection = req.payload.collections[relationTo]
|
const collection = req.payload.collections[relationTo]
|
||||||
if (collection) {
|
if (collection) {
|
||||||
@@ -99,21 +100,23 @@ export const recurseNestedFields = ({
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (typeof data[field.name] !== 'undefined' && typeof field.relationTo === 'string') {
|
if (typeof data[field.name] !== 'undefined' && typeof field.relationTo === 'string') {
|
||||||
const collection = req.payload.collections[field.relationTo]
|
if (!('hasMany' in field) || !field.hasMany) {
|
||||||
promises.push(
|
const collection = req.payload.collections[field.relationTo]
|
||||||
populate({
|
promises.push(
|
||||||
id: data[field.name],
|
populate({
|
||||||
collection,
|
id: data[field.name],
|
||||||
currentDepth,
|
collection,
|
||||||
data,
|
currentDepth,
|
||||||
depth,
|
data,
|
||||||
field,
|
depth,
|
||||||
key: field.name,
|
field,
|
||||||
overrideAccess,
|
key: field.name,
|
||||||
req,
|
overrideAccess,
|
||||||
showHiddenFields,
|
req,
|
||||||
}),
|
showHiddenFields,
|
||||||
)
|
}),
|
||||||
|
)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} else if (fieldHasSubFields(field) && !fieldIsArrayType(field)) {
|
} else if (fieldHasSubFields(field) && !fieldIsArrayType(field)) {
|
||||||
if (fieldAffectsData(field) && typeof data[field.name] === 'object') {
|
if (fieldAffectsData(field) && typeof data[field.name] === 'object') {
|
||||||
|
|||||||
@@ -76,21 +76,23 @@ export const recurseNestedFields = ({
|
|||||||
data[field.name]?.value &&
|
data[field.name]?.value &&
|
||||||
data[field.name]?.relationTo
|
data[field.name]?.relationTo
|
||||||
) {
|
) {
|
||||||
const collection = req.payload.collections[data[field.name].relationTo]
|
if (!('hasMany' in field) || !field.hasMany) {
|
||||||
promises.push(
|
const collection = req.payload.collections[data[field.name].relationTo]
|
||||||
populate({
|
promises.push(
|
||||||
id: data[field.name].value,
|
populate({
|
||||||
collection,
|
id: data[field.name].value,
|
||||||
currentDepth,
|
collection,
|
||||||
data: data[field.name],
|
currentDepth,
|
||||||
depth,
|
data: data[field.name],
|
||||||
field,
|
depth,
|
||||||
key: 'value',
|
field,
|
||||||
overrideAccess,
|
key: 'value',
|
||||||
req,
|
overrideAccess,
|
||||||
showHiddenFields,
|
req,
|
||||||
}),
|
showHiddenFields,
|
||||||
)
|
}),
|
||||||
|
)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (typeof data[field.name] !== 'undefined' && typeof field.relationTo === 'string') {
|
if (typeof data[field.name] !== 'undefined' && typeof field.relationTo === 'string') {
|
||||||
|
|||||||
Reference in New Issue
Block a user