diff --git a/backend-external/src/v1/routes/pay-transparency-routes.ts b/backend-external/src/v1/routes/pay-transparency-routes.ts index 59c12863f..0c0e5c3aa 100644 --- a/backend-external/src/v1/routes/pay-transparency-routes.ts +++ b/backend-external/src/v1/routes/pay-transparency-routes.ts @@ -87,11 +87,6 @@ const router = express.Router(); * type: array * items: * $ref: "#/components/schemas/Report" - * history: - * type: array - * items: - * $ref: "#/components/schemas/Report" - * */ /** @@ -109,14 +104,17 @@ const router = express.Router(); * name: page * schema: * type: integer + * minimum: 0 * required: false * description: The page offset number to retrive reports - optional * - in: query * name: pageSize * schema: * type: integer + * minimum: 1 + * maximum: 50 * required: false - * description: The number of records/reports per page (max 1000) - optional + * description: The number of records/reports per page (max 50, default 50) - optional * - in: query * name: startDate * type: date @@ -147,17 +145,17 @@ router.get( try { const startDate = req.query.startDate?.toString(); const endDate = req.query.endDate?.toString(); - const offset = Number((req.query.page || '0')?.toString()); - const limit = Number((req.query.pageSize || '1000')?.toString()); - if (isNaN(offset) || isNaN(limit)) { + const page = Number((req.query.page || '0')?.toString()); + const pageSize = Number((req.query.pageSize || '50')?.toString()); + if (isNaN(page) || isNaN(pageSize)) { return res.status(400).json({ error: 'Invalid offset or limit' }); } const { status, data } = await payTransparencyService.getPayTransparencyData( startDate, endDate, - offset, - limit, + page * pageSize, + pageSize, ); if (data.error) { diff --git a/backend/src/v1/routes/external-consumer-routes.spec.ts b/backend/src/v1/routes/external-consumer-routes.spec.ts index a2450cb13..0a16b151d 100644 --- a/backend/src/v1/routes/external-consumer-routes.spec.ts +++ b/backend/src/v1/routes/external-consumer-routes.spec.ts @@ -65,7 +65,7 @@ describe('external-consumer-routes', () => { .expect(({ body }) => { expect(body).toEqual({ page: 0, - pageSize: 1000, + pageSize: 50, records: [ { calculated_data: [ diff --git a/backend/src/v1/services/external-consumer-service.ts b/backend/src/v1/services/external-consumer-service.ts index 1b96dd685..5e80d3eff 100644 --- a/backend/src/v1/services/external-consumer-service.ts +++ b/backend/src/v1/services/external-consumer-service.ts @@ -84,6 +84,8 @@ const buildReport = (data: RawQueryResult[]) => { }; }; +const DEFAULT_PAGE_SIZE = 50; + const externalConsumerService = { /** * This function returns a list of objects with pagination details to support the analytics team. @@ -113,8 +115,8 @@ const externalConsumerService = { .plusDays(1) .withHour(0) .withMinute(0); - if (limit > 1000 || !limit || limit <= 0) { - limit = 1000; + if (!limit || limit <= 0 || limit > DEFAULT_PAGE_SIZE) { + limit = DEFAULT_PAGE_SIZE; } if (!offset || offset < 0) { offset = 0;