diff --git a/packages/client/src/api/api.js b/packages/client/src/api/api.js index 280b580164..b915f14fd1 100644 --- a/packages/client/src/api/api.js +++ b/packages/client/src/api/api.js @@ -1,7 +1,9 @@ +import { notificationStore } from "../store" +import { ApiVersion } from "../constants" + /** * API cache for cached request responses. */ -import { notificationStore } from "../store" let cache = {} /** @@ -22,6 +24,7 @@ const makeApiCall = async ({ method, url, body, json = true }) => { const headers = { Accept: "application/json", "x-budibase-app-id": window["##BUDIBASE_APP_ID##"], + "x-budibase-api-version": ApiVersion, ...(json && { "Content-Type": "application/json" }), ...(!inBuilder && { "x-budibase-type": "client" }), } diff --git a/packages/client/src/constants.js b/packages/client/src/constants.js index 31ac4b285e..e0595c0ce9 100644 --- a/packages/client/src/constants.js +++ b/packages/client/src/constants.js @@ -7,3 +7,11 @@ export const ActionTypes = { RefreshDatasource: "RefreshDatasource", SetDataProviderQuery: "SetDataProviderQuery", } + +export const ApiVersion = "1" + +/** + * API Version Changelog + * v1: + * - Coerce types for search endpoint + */ diff --git a/packages/server/src/api/controllers/row/internalSearch.js b/packages/server/src/api/controllers/row/internalSearch.js index a1aa77b34a..c13091d6e8 100644 --- a/packages/server/src/api/controllers/row/internalSearch.js +++ b/packages/server/src/api/controllers/row/internalSearch.js @@ -28,6 +28,7 @@ class QueryBuilder { setVersion(version) { this.version = version + return this } setTable(tableId) { @@ -335,6 +336,7 @@ exports.paginatedSearch = async (appId, query, params) => { } limit = Math.min(limit, 200) const search = new QueryBuilder(appId, query) + .setVersion(params.version) .setTable(params.tableId) .setSort(params.sort) .setSortOrder(params.sortOrder)