Recursive crud fix

This commit is contained in:
Hein 2025-11-19 14:32:20 +02:00
parent 53a4e67f70
commit 35f23b6d9e

View File

@ -406,13 +406,23 @@ func ShouldUseNestedProcessor(data map[string]interface{}, model interface{}, re
relInfo := relationshipHelper.GetRelationshipInfo(modelType, key) relInfo := relationshipHelper.GetRelationshipInfo(modelType, key)
if relInfo != nil { if relInfo != nil {
// Check if the value is actually nested data (object or array) // Check if the value is actually nested data (object or array)
switch value.(type) { switch v := value.(type) {
case map[string]interface{}, []interface{}, []map[string]interface{}: case map[string]interface{}:
logger.Debug("Found nested relation field: %s", key) //logger.Debug("Found nested relation field: %s", key)
return ShouldUseNestedProcessor(v, relInfo.RelatedModel, relationshipHelper)
case []interface{}, []map[string]interface{}:
//logger.Debug("Found nested relation field: %s", key)
for _, item := range v.([]interface{}) {
if itemMap, ok := item.(map[string]interface{}); ok {
if ShouldUseNestedProcessor(itemMap, relInfo.RelatedModel, relationshipHelper) {
return true return true
} }
} }
} }
return false
}
}
}
return false return false
} }