diff --git a/packages/core/utils/src/modules-sdk/__tests__/build-query.spec.ts b/packages/core/utils/src/modules-sdk/__tests__/build-query.spec.ts index 6c9623faaf..b30c3c994f 100644 --- a/packages/core/utils/src/modules-sdk/__tests__/build-query.spec.ts +++ b/packages/core/utils/src/modules-sdk/__tests__/build-query.spec.ts @@ -64,6 +64,18 @@ describe("buildQuery", () => { }) }) + test("should build pagination with values of 0", () => { + const config: FindConfig = { + take: 0, + skip: 0, + } + const result = buildQuery({}, config) + expect(result.options).toMatchObject({ + limit: 0, + offset: 0, + }) + }) + test("should handle withDeleted flag", () => { const filters = { deleted_at: "some-value" } const result = buildQuery(filters) diff --git a/packages/core/utils/src/modules-sdk/build-query.ts b/packages/core/utils/src/modules-sdk/build-query.ts index cb66b6a604..315ede012e 100644 --- a/packages/core/utils/src/modules-sdk/build-query.ts +++ b/packages/core/utils/src/modules-sdk/build-query.ts @@ -25,8 +25,14 @@ export function buildQuery( const findOptions: DAL.FindOptions["options"] = { populate: deduplicate(config.relations ?? []), fields: config.select as string[], - limit: (Number.isSafeInteger(config.take) && config.take) || undefined, - offset: (Number.isSafeInteger(config.skip) && config.skip) || undefined, + limit: + Number.isSafeInteger(config.take) && config.take != null + ? config.take + : undefined, + offset: + Number.isSafeInteger(config.skip) && config.skip != null + ? config.skip + : undefined, } if (config.order) {