{"version":3,"file":"component.mjs","sources":["../../../../../server/src/services/builders/resolvers/component.ts"],"sourcesContent":["import type { Internal, Schema } from '@strapi/types';\n\nimport type { Context } from '../../types';\n\nexport default ({ strapi }: Context) => ({\n  buildComponentResolver({\n    contentTypeUID,\n    attributeName,\n  }: {\n    contentTypeUID: Internal.UID.ContentType;\n    attributeName: string;\n  }) {\n    const { transformArgs } = strapi.plugin('graphql').service('builders').utils;\n\n    return async (parent: any, args: any, ctx: any) => {\n      const contentType = strapi.getModel(contentTypeUID);\n\n      const { component: componentName } = contentType.attributes[\n        attributeName\n      ] as Schema.Attribute.Component;\n\n      const component = strapi.getModel(componentName);\n\n      const transformedArgs = transformArgs(args, { contentType: component, usePagination: true });\n      await strapi.contentAPI.validate.query(transformedArgs, component, {\n        auth: ctx?.state?.auth,\n      });\n\n      const sanitizedQuery = await strapi.contentAPI.sanitize.query(transformedArgs, component, {\n        auth: ctx?.state?.auth,\n      });\n\n      const dbQuery = strapi.get('query-params').transform(component.uid, sanitizedQuery);\n\n      return strapi.db?.query(contentTypeUID).load(parent, attributeName, dbQuery);\n    };\n  },\n});\n"],"names":["strapi","buildComponentResolver","contentTypeUID","attributeName","transformArgs","plugin","service","utils","parent","args","ctx","contentType","getModel","component","componentName","attributes","transformedArgs","usePagination","contentAPI","validate","query","auth","state","sanitizedQuery","sanitize","dbQuery","get","transform","uid","db","load"],"mappings":"AAIA,yBAAe,CAAA,CAAC,EAAEA,MAAM,EAAW,IAAM;AACvCC,QAAAA,sBAAAA,CAAAA,CAAuB,EACrBC,cAAc,EACdC,aAAa,EAId,EAAA;YACC,MAAM,EAAEC,aAAa,EAAE,GAAGJ,MAAAA,CAAOK,MAAM,CAAC,SAAWC,CAAAA,CAAAA,OAAO,CAAC,UAAA,CAAA,CAAYC,KAAK;YAE5E,OAAO,OAAOC,QAAaC,IAAWC,EAAAA,GAAAA,GAAAA;gBACpC,MAAMC,WAAAA,GAAcX,MAAOY,CAAAA,QAAQ,CAACV,cAAAA,CAAAA;gBAEpC,MAAM,EAAEW,WAAWC,aAAa,EAAE,GAAGH,WAAYI,CAAAA,UAAU,CACzDZ,aACD,CAAA;gBAED,MAAMU,SAAAA,GAAYb,MAAOY,CAAAA,QAAQ,CAACE,aAAAA,CAAAA;gBAElC,MAAME,eAAAA,GAAkBZ,cAAcK,IAAM,EAAA;oBAAEE,WAAaE,EAAAA,SAAAA;oBAAWI,aAAe,EAAA;AAAK,iBAAA,CAAA;gBAC1F,MAAMjB,MAAAA,CAAOkB,UAAU,CAACC,QAAQ,CAACC,KAAK,CAACJ,iBAAiBH,SAAW,EAAA;AACjEQ,oBAAAA,IAAAA,EAAMX,KAAKY,KAAOD,EAAAA;AACpB,iBAAA,CAAA;gBAEA,MAAME,cAAAA,GAAiB,MAAMvB,MAAAA,CAAOkB,UAAU,CAACM,QAAQ,CAACJ,KAAK,CAACJ,eAAAA,EAAiBH,SAAW,EAAA;AACxFQ,oBAAAA,IAAAA,EAAMX,KAAKY,KAAOD,EAAAA;AACpB,iBAAA,CAAA;gBAEA,MAAMI,OAAAA,GAAUzB,OAAO0B,GAAG,CAAC,gBAAgBC,SAAS,CAACd,SAAUe,CAAAA,GAAG,EAAEL,cAAAA,CAAAA;AAEpE,gBAAA,OAAOvB,OAAO6B,EAAE,EAAET,MAAMlB,cAAgB4B,CAAAA,CAAAA,IAAAA,CAAKtB,QAAQL,aAAesB,EAAAA,OAAAA,CAAAA;AACtE,aAAA;AACF;AACF,KAAA,CAAC;;;;"}