diff --git a/packages/backend/src/controllers/api/v1/automatisch/version.js b/packages/backend/src/controllers/api/v1/automatisch/version.js index 8363d670..1f8915f4 100644 --- a/packages/backend/src/controllers/api/v1/automatisch/version.js +++ b/packages/backend/src/controllers/api/v1/automatisch/version.js @@ -1,5 +1,6 @@ -import appConfig from '../../../../config/app'; +import appConfig from '../../../../config/app.js'; +import { renderObject } from '../../../../helpers/renderer.js'; export default async (request, response) => { - response.json({ version: appConfig.version }); + renderObject(response, { version: appConfig.version }); }; diff --git a/packages/backend/src/controllers/api/v1/automatisch/version.test.js b/packages/backend/src/controllers/api/v1/automatisch/version.test.js index 678883c5..8ade5188 100644 --- a/packages/backend/src/controllers/api/v1/automatisch/version.test.js +++ b/packages/backend/src/controllers/api/v1/automatisch/version.test.js @@ -1,7 +1,6 @@ import { describe, it, expect } from 'vitest'; import request from 'supertest'; import app from '../../../../app.js'; -import appConfig from '../../../../config/app.js'; describe('GET /api/v1/automatisch/version', () => { it('should return Automatisch version', async () => { @@ -9,6 +8,19 @@ describe('GET /api/v1/automatisch/version', () => { .get('/api/v1/automatisch/version') .expect(200); - expect(response.body).toEqual({ version: appConfig.version }); + const expectedPayload = { + data: { + version: '0.10.0', + }, + meta: { + count: 1, + currentPage: null, + isArray: false, + totalPages: null, + type: 'Object', + }, + }; + + expect(response.body).toEqual(expectedPayload); }); }); diff --git a/packages/backend/src/helpers/renderer.js b/packages/backend/src/helpers/renderer.js new file mode 100644 index 00000000..fcc6e6a0 --- /dev/null +++ b/packages/backend/src/helpers/renderer.js @@ -0,0 +1,18 @@ +const renderObject = (response, object) => { + const isArray = Array.isArray(object); + + const computedPayload = { + data: object, + meta: { + type: object.constructor.name, + count: isArray ? object.length : 1, + isArray, + currentPage: null, + totalPages: null, + }, + }; + + return response.json(computedPayload); +}; + +export { renderObject };