@@ -62,6 +62,11 @@ export const requestEntities = async (url) => {
6262
6363 const response = await axios ( config ) ;
6464 const responseData = response . data && response . data . data ;
65+
66+ // Add logging to see the metadata response
67+ console . log ( '=== GRAPHQL METADATA RESPONSE ===' ) ;
68+ console . log ( 'Full response:' , JSON . stringify ( responseData , null , 2 ) ) ;
69+
6570 const types =
6671 responseData && responseData . __schema && responseData . __schema . types ;
6772 const rootQueryTypes = types
@@ -226,21 +231,34 @@ export const requestEntity = async (
226231
227232 const entityName = displayEntity . queryAll ;
228233 const fields = displayEntity . fields ;
234+
235+ // Add logging to see what fields are being processed
236+ console . log ( '=== PROCESSING ENTITY FIELDS ===' ) ;
237+ console . log ( 'Entity name:' , entityName ) ;
238+ console . log ( 'Fields:' , JSON . stringify ( fields , null , 2 ) ) ;
239+
229240 let queryFields = [ ] ;
230241 for ( let i = 0 ; i < fields . length ; i ++ ) {
242+ console . log ( `Processing field ${ i } :` , fields [ i ] . name , fields [ i ] ) ;
243+
231244 if ( fields [ i ] . extensions == null ) {
232245 queryFields . push ( fields [ i ] . name ) ;
233246 } else {
234247 if ( fields [ i ] . type . kind !== 'LIST' ) {
235248 if ( fields [ i ] ?. extensions ?. relation ?. displayField ) {
236249 if ( fields [ i ] . extensions . relation . embedded && entities ) {
250+ // Handle NON_NULL types - get the actual type name from ofType
251+ const typeName = fields [ i ] . type . kind === 'NON_NULL'
252+ ? fields [ i ] . type . ofType . name
253+ : fields [ i ] . type . name ;
254+
237255 const embeddedEntity = entities . filter (
238- ( item ) => item . name === fields [ i ] . type . name
256+ ( item ) => item . name === typeName
239257 ) [ 0 ] ;
240258
241259 // Safety check for embeddedEntity
242260 if ( ! embeddedEntity || ! embeddedEntity . fields ) {
243- console . warn ( `Embedded entity not found for type: ${ fields [ i ] . type . name } ` ) ;
261+ console . warn ( `Embedded entity not found for type: ${ typeName } ` ) ;
244262 queryFields . push ( fields [ i ] . name ) ;
245263 } else {
246264 let fieldsStr = '' ;
@@ -260,12 +278,17 @@ export const requestEntity = async (
260278 } else if ( fields [ i ] ?. extensions ?. relation ) {
261279 // Handle fields with relation but no displayField
262280 if ( fields [ i ] . extensions . relation . embedded && entities ) {
281+ // Handle NON_NULL types - get the actual type name from ofType
282+ const typeName = fields [ i ] . type . kind === 'NON_NULL'
283+ ? fields [ i ] . type . ofType . name
284+ : fields [ i ] . type . name ;
285+
263286 const embeddedEntity = entities . filter (
264- ( item ) => item . name === fields [ i ] . type . name
287+ ( item ) => item . name === typeName
265288 ) [ 0 ] ;
266289
267290 if ( ! embeddedEntity || ! embeddedEntity . fields ) {
268- console . warn ( `Embedded entity not found for type: ${ fields [ i ] . type . name } ` ) ;
291+ console . warn ( `Embedded entity not found for type: ${ typeName } ` ) ;
269292 queryFields . push ( fields [ i ] . name ) ;
270293 } else {
271294 let fieldsStr = '' ;
0 commit comments