From 96685f32584f5ac8a2e73cf7312bf28375207cb5 Mon Sep 17 00:00:00 2001 From: Andrew Kingston Date: Wed, 21 Sep 2022 19:12:25 +0100 Subject: [PATCH] Export SDK as a class to allow multiple instances --- packages/sdk/src/index.js | 35 ++++++++++++++++++----------------- 1 file changed, 18 insertions(+), 17 deletions(-) diff --git a/packages/sdk/src/index.js b/packages/sdk/src/index.js index 23b3f9507e..4569907702 100644 --- a/packages/sdk/src/index.js +++ b/packages/sdk/src/index.js @@ -1,22 +1,23 @@ import * as BudibaseApi from "../sdk" -let ApiClient = new BudibaseApi.ApiClient() +export default class SDK { + applications = new BudibaseApi.ApplicationsApi() + queries = new BudibaseApi.QueriesApi() + rows = new BudibaseApi.RowsApi() + tables = new BudibaseApi.TablesApi() + users = new BudibaseApi.UsersApi() -// Default to current host -ApiClient.basePath = "/api/public/v1" + constructor({ apiKey, host }) { + let ApiClient = new BudibaseApi.ApiClient() -/** - * Configures the Budibase Public API SDK - * @param apiKey the user's API key - * @param host the Budibase server host - */ -export const configure = ({ apiKey, host }) => { - ApiClient.authentications["ApiKeyAuth"].apiKey = apiKey - ApiClient.basePath = `${host || ""}/api/public/v1` + // Default to current host + ApiClient.basePath = `${host || ""}/api/public/v1` + ApiClient.authentications["ApiKeyAuth"].apiKey = apiKey + + this.applications = new BudibaseApi.ApplicationsApi(ApiClient) + this.queries = new BudibaseApi.QueriesApi(ApiClient) + this.rows = new BudibaseApi.RowsApi(ApiClient) + this.tables = new BudibaseApi.TablesApi(ApiClient) + this.users = new BudibaseApi.UsersApi(ApiClient) + } } - -export const ApplicationsApi = new BudibaseApi.ApplicationsApi(ApiClient) -export const QueriesApi = new BudibaseApi.QueriesApi(ApiClient) -export const RowsApi = new BudibaseApi.RowsApi(ApiClient) -export const TablesApi = new BudibaseApi.TablesApi(ApiClient) -export const UsersApi = new BudibaseApi.UsersApi(ApiClient)