{"version":3,"file":"pagination.mjs","sources":["../../../../../server/src/services/builders/resolvers/pagination.ts"],"sourcesContent":["import type { Context } from '../../types';\n\nexport default ({ strapi }: Context) => ({\n  async resolvePagination(parent: any, _: any, ctx: any) {\n    const { args, resourceUID } = parent.info;\n    const { start, limit } = args;\n    const safeLimit = Math.max(limit, 1);\n    const contentType = strapi.getModel(resourceUID);\n\n    await strapi.contentAPI.validate.query(args, contentType, {\n      auth: ctx?.state?.auth,\n    });\n\n    const sanitizedQuery = await strapi.contentAPI.sanitize.query(args, contentType, {\n      auth: ctx?.state?.auth,\n    });\n\n    const total = await strapi.documents!(resourceUID).count(sanitizedQuery);\n\n    const pageSize = limit === -1 ? total - start : safeLimit;\n    const pageCount = limit === -1 ? safeLimit : Math.ceil(total / safeLimit);\n    const page = limit === -1 ? safeLimit : Math.floor(start / safeLimit) + 1;\n\n    return { total, page, pageSize, pageCount };\n  },\n});\n"],"names":["strapi","resolvePagination","parent","_","ctx","args","resourceUID","info","start","limit","safeLimit","Math","max","contentType","getModel","contentAPI","validate","query","auth","state","sanitizedQuery","sanitize","total","documents","count","pageSize","pageCount","ceil","page","floor"],"mappings":"AAEA,0BAAe,CAAA,CAAC,EAAEA,MAAM,EAAW,IAAM;AACvC,QAAA,MAAMC,iBAAkBC,CAAAA,CAAAA,MAAW,EAAEC,CAAM,EAAEC,GAAQ,EAAA;AACnD,YAAA,MAAM,EAAEC,IAAI,EAAEC,WAAW,EAAE,GAAGJ,OAAOK,IAAI;AACzC,YAAA,MAAM,EAAEC,KAAK,EAAEC,KAAK,EAAE,GAAGJ,IAAAA;AACzB,YAAA,MAAMK,SAAYC,GAAAA,IAAAA,CAAKC,GAAG,CAACH,KAAO,EAAA,CAAA,CAAA;YAClC,MAAMI,WAAAA,GAAcb,MAAOc,CAAAA,QAAQ,CAACR,WAAAA,CAAAA;YAEpC,MAAMN,MAAAA,CAAOe,UAAU,CAACC,QAAQ,CAACC,KAAK,CAACZ,MAAMQ,WAAa,EAAA;AACxDK,gBAAAA,IAAAA,EAAMd,KAAKe,KAAOD,EAAAA;AACpB,aAAA,CAAA;YAEA,MAAME,cAAAA,GAAiB,MAAMpB,MAAAA,CAAOe,UAAU,CAACM,QAAQ,CAACJ,KAAK,CAACZ,IAAAA,EAAMQ,WAAa,EAAA;AAC/EK,gBAAAA,IAAAA,EAAMd,KAAKe,KAAOD,EAAAA;AACpB,aAAA,CAAA;AAEA,YAAA,MAAMI,QAAQ,MAAMtB,MAAAA,CAAOuB,SAAS,CAAEjB,WAAAA,CAAAA,CAAakB,KAAK,CAACJ,cAAAA,CAAAA;AAEzD,YAAA,MAAMK,QAAWhB,GAAAA,KAAAA,KAAU,CAAC,CAAA,GAAIa,QAAQd,KAAQE,GAAAA,SAAAA;YAChD,MAAMgB,SAAAA,GAAYjB,UAAU,CAAC,CAAA,GAAIC,YAAYC,IAAKgB,CAAAA,IAAI,CAACL,KAAQZ,GAAAA,SAAAA,CAAAA;YAC/D,MAAMkB,IAAAA,GAAOnB,UAAU,CAAC,CAAA,GAAIC,YAAYC,IAAKkB,CAAAA,KAAK,CAACrB,KAAAA,GAAQE,SAAa,CAAA,GAAA,CAAA;YAExE,OAAO;AAAEY,gBAAAA,KAAAA;AAAOM,gBAAAA,IAAAA;AAAMH,gBAAAA,QAAAA;AAAUC,gBAAAA;AAAU,aAAA;AAC5C;AACF,KAAA,CAAC;;;;"}