From 8709fb2f0b0e6d38d2826888a15d9391d926dd94 Mon Sep 17 00:00:00 2001 From: Maurits Lourens Date: Tue, 5 Oct 2021 12:20:09 +0200 Subject: [PATCH 01/94] add a slash before the path and a questionmark before the querystring --- .../src/components/integration/index.svelte | 6 +++--- packages/server/src/integrations/rest.ts | 14 +++++++++----- 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/packages/builder/src/components/integration/index.svelte b/packages/builder/src/components/integration/index.svelte index 5c821d3a53..a0e1b8c1c4 100644 --- a/packages/builder/src/components/integration/index.svelte +++ b/packages/builder/src/components/integration/index.svelte @@ -17,9 +17,9 @@ $: urlDisplay = schema.urlDisplay && - `${datasource.config.url}${query.fields.path ?? ""}${ - query.fields.queryString ?? "" - }` + `${datasource.config.url}${ + query.fields.path ? "/" + query.fields.path : "" + }${query.fields.queryString ? "?" + query.fields.queryString : ""}` function updateQuery({ detail }) { query.fields[schema.type] = detail.value diff --git a/packages/server/src/integrations/rest.ts b/packages/server/src/integrations/rest.ts index d6cf71e324..9c6ece52d6 100644 --- a/packages/server/src/integrations/rest.ts +++ b/packages/server/src/integrations/rest.ts @@ -152,13 +152,17 @@ module RestModule { } } + getUrl(path: string, queryString: string): string { + return `${this.config.url}/${path}?${queryString}` + } + async create({ path = "", queryString = "", headers = {}, json = {} }) { this.headers = { ...this.config.defaultHeaders, ...headers, } - const response = await fetch(this.config.url + path + queryString, { + const response = await fetch(this.getUrl(path, queryString), { method: "POST", headers: this.headers, body: JSON.stringify(json), @@ -173,7 +177,7 @@ module RestModule { ...headers, } - const response = await fetch(this.config.url + path + queryString, { + const response = await fetch(this.getUrl(path, queryString), { headers: this.headers, }) @@ -186,7 +190,7 @@ module RestModule { ...headers, } - const response = await fetch(this.config.url + path + queryString, { + const response = await fetch(this.getUrl(path, queryString), { method: "POST", headers: this.headers, body: JSON.stringify(json), @@ -201,7 +205,7 @@ module RestModule { ...headers, } - const response = await fetch(this.config.url + path + queryString, { + const response = await fetch(this.getUrl(path, queryString), { method: "PATCH", headers: this.headers, body: JSON.stringify(json), @@ -216,7 +220,7 @@ module RestModule { ...headers, } - const response = await fetch(this.config.url + path + queryString, { + const response = await fetch(this.getUrl(path, queryString), { method: "DELETE", headers: this.headers, }) From dbf747f749da975dc56ccee6960cda9e67d04c43 Mon Sep 17 00:00:00 2001 From: Maurits Lourens Date: Tue, 5 Oct 2021 13:38:03 +0200 Subject: [PATCH 02/94] fix tests --- .../src/integrations/tests/rest.spec.js | 70 ++++++++++--------- 1 file changed, 36 insertions(+), 34 deletions(-) diff --git a/packages/server/src/integrations/tests/rest.spec.js b/packages/server/src/integrations/tests/rest.spec.js index a0b12f6c17..cb69d3c38d 100644 --- a/packages/server/src/integrations/tests/rest.spec.js +++ b/packages/server/src/integrations/tests/rest.spec.js @@ -1,98 +1,100 @@ -jest.mock("node-fetch", () => jest.fn(() => ({ json: jest.fn(), text: jest.fn() }))) +jest.mock("node-fetch", () => + jest.fn(() => ({ json: jest.fn(), text: jest.fn() })) +) const fetch = require("node-fetch") const RestIntegration = require("../rest") class TestConfiguration { constructor(config = {}) { - this.integration = new RestIntegration.integration(config) + this.integration = new RestIntegration.integration(config) } } describe("REST Integration", () => { const BASE_URL = "https://myapi.com" - let config + let config beforeEach(() => { config = new TestConfiguration({ - url: BASE_URL + url: BASE_URL, }) }) it("calls the create method with the correct params", async () => { const query = { - path: "/api", - queryString: "?test=1", + path: "api", + queryString: "test=1", headers: { - Accept: "application/json" + Accept: "application/json", }, json: { - name: "test" - } + name: "test", + }, } const response = await config.integration.create(query) expect(fetch).toHaveBeenCalledWith(`${BASE_URL}/api?test=1`, { method: "POST", - body: "{\"name\":\"test\"}", + body: '{"name":"test"}', headers: { - Accept: "application/json" - } + Accept: "application/json", + }, }) }) it("calls the read method with the correct params", async () => { const query = { - path: "/api", - queryString: "?test=1", + path: "api", + queryString: "test=1", headers: { - Accept: "text/html" - } + Accept: "text/html", + }, } const response = await config.integration.read(query) expect(fetch).toHaveBeenCalledWith(`${BASE_URL}/api?test=1`, { headers: { - Accept: "text/html" - } + Accept: "text/html", + }, }) }) it("calls the update method with the correct params", async () => { const query = { - path: "/api", - queryString: "?test=1", + path: "api", + queryString: "test=1", headers: { - Accept: "application/json" + Accept: "application/json", }, json: { - name: "test" - } + name: "test", + }, } const response = await config.integration.update(query) expect(fetch).toHaveBeenCalledWith(`${BASE_URL}/api?test=1`, { method: "POST", - body: "{\"name\":\"test\"}", + body: '{"name":"test"}', headers: { - Accept: "application/json" - } + Accept: "application/json", + }, }) }) it("calls the delete method with the correct params", async () => { const query = { - path: "/api", - queryString: "?test=1", + path: "api", + queryString: "test=1", headers: { - Accept: "application/json" + Accept: "application/json", }, json: { - name: "test" - } + name: "test", + }, } const response = await config.integration.delete(query) expect(fetch).toHaveBeenCalledWith(`${BASE_URL}/api?test=1`, { method: "DELETE", headers: { - Accept: "application/json" - } + Accept: "application/json", + }, }) }) -}) \ No newline at end of file +}) From 1cd46327bf9249ea0e69dee5e6996903daa64331 Mon Sep 17 00:00:00 2001 From: Budibase Release Bot <> Date: Thu, 7 Oct 2021 22:18:59 +0000 Subject: [PATCH 03/94] v0.9.160 --- lerna.json | 2 +- packages/auth/package.json | 2 +- packages/bbui/package.json | 2 +- packages/builder/package.json | 8 ++++---- packages/cli/package.json | 2 +- packages/client/package.json | 6 +++--- packages/server/package.json | 8 ++++---- packages/string-templates/package.json | 2 +- packages/worker/package.json | 6 +++--- 9 files changed, 19 insertions(+), 19 deletions(-) diff --git a/lerna.json b/lerna.json index 510f605b3f..9c1d1db679 100644 --- a/lerna.json +++ b/lerna.json @@ -1,5 +1,5 @@ { - "version": "0.9.159", + "version": "0.9.160", "npmClient": "yarn", "packages": [ "packages/*" diff --git a/packages/auth/package.json b/packages/auth/package.json index 5af97cb10a..9c81a03a1b 100644 --- a/packages/auth/package.json +++ b/packages/auth/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/auth", - "version": "0.9.159", + "version": "0.9.160", "description": "Authentication middlewares for budibase builder and apps", "main": "src/index.js", "author": "Budibase", diff --git a/packages/bbui/package.json b/packages/bbui/package.json index bba2722293..dfb0fcb75b 100644 --- a/packages/bbui/package.json +++ b/packages/bbui/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/bbui", "description": "A UI solution used in the different Budibase projects.", - "version": "0.9.159", + "version": "0.9.160", "license": "AGPL-3.0", "svelte": "src/index.js", "module": "dist/bbui.es.js", diff --git a/packages/builder/package.json b/packages/builder/package.json index f09c2e9c59..856168470d 100644 --- a/packages/builder/package.json +++ b/packages/builder/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/builder", - "version": "0.9.159", + "version": "0.9.160", "license": "AGPL-3.0", "private": true, "scripts": { @@ -65,10 +65,10 @@ } }, "dependencies": { - "@budibase/bbui": "^0.9.159", - "@budibase/client": "^0.9.159", + "@budibase/bbui": "^0.9.160", + "@budibase/client": "^0.9.160", "@budibase/colorpicker": "1.1.2", - "@budibase/string-templates": "^0.9.159", + "@budibase/string-templates": "^0.9.160", "@sentry/browser": "5.19.1", "@spectrum-css/page": "^3.0.1", "@spectrum-css/vars": "^3.0.1", diff --git a/packages/cli/package.json b/packages/cli/package.json index 4024bf0906..5f35fb3984 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/cli", - "version": "0.9.159", + "version": "0.9.160", "description": "Budibase CLI, for developers, self hosting and migrations.", "main": "src/index.js", "bin": { diff --git a/packages/client/package.json b/packages/client/package.json index 4b1e88b2fa..a5252dcfdf 100644 --- a/packages/client/package.json +++ b/packages/client/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/client", - "version": "0.9.159", + "version": "0.9.160", "license": "MPL-2.0", "module": "dist/budibase-client.js", "main": "dist/budibase-client.js", @@ -19,9 +19,9 @@ "dev:builder": "rollup -cw" }, "dependencies": { - "@budibase/bbui": "^0.9.159", + "@budibase/bbui": "^0.9.160", "@budibase/standard-components": "^0.9.139", - "@budibase/string-templates": "^0.9.159", + "@budibase/string-templates": "^0.9.160", "regexparam": "^1.3.0", "shortid": "^2.2.15", "svelte-spa-router": "^3.0.5" diff --git a/packages/server/package.json b/packages/server/package.json index f3fa66a595..6a9c127f67 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/server", "email": "hi@budibase.com", - "version": "0.9.159", + "version": "0.9.160", "description": "Budibase Web Server", "main": "src/index.js", "repository": { @@ -66,9 +66,9 @@ "author": "Budibase", "license": "AGPL-3.0-or-later", "dependencies": { - "@budibase/auth": "^0.9.159", - "@budibase/client": "^0.9.159", - "@budibase/string-templates": "^0.9.159", + "@budibase/auth": "^0.9.160", + "@budibase/client": "^0.9.160", + "@budibase/string-templates": "^0.9.160", "@elastic/elasticsearch": "7.10.0", "@koa/router": "8.0.0", "@sendgrid/mail": "7.1.1", diff --git a/packages/string-templates/package.json b/packages/string-templates/package.json index fa2e0ae8c0..1459cd1f4d 100644 --- a/packages/string-templates/package.json +++ b/packages/string-templates/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/string-templates", - "version": "0.9.159", + "version": "0.9.160", "description": "Handlebars wrapper for Budibase templating.", "main": "src/index.cjs", "module": "dist/bundle.mjs", diff --git a/packages/worker/package.json b/packages/worker/package.json index 30e7107fd3..b628591971 100644 --- a/packages/worker/package.json +++ b/packages/worker/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/worker", "email": "hi@budibase.com", - "version": "0.9.159", + "version": "0.9.160", "description": "Budibase background service", "main": "src/index.js", "repository": { @@ -27,8 +27,8 @@ "author": "Budibase", "license": "AGPL-3.0-or-later", "dependencies": { - "@budibase/auth": "^0.9.159", - "@budibase/string-templates": "^0.9.159", + "@budibase/auth": "^0.9.160", + "@budibase/string-templates": "^0.9.160", "@koa/router": "^8.0.0", "@techpass/passport-openidconnect": "^0.3.0", "aws-sdk": "^2.811.0", From 22527970b237e0cbc64f579fec1eebe42dc1c778 Mon Sep 17 00:00:00 2001 From: Budibase Release Bot <> Date: Thu, 7 Oct 2021 22:32:31 +0000 Subject: [PATCH 04/94] v0.9.161 --- lerna.json | 2 +- packages/auth/package.json | 2 +- packages/bbui/package.json | 2 +- packages/builder/package.json | 8 ++++---- packages/cli/package.json | 2 +- packages/client/package.json | 6 +++--- packages/server/package.json | 8 ++++---- packages/string-templates/package.json | 2 +- packages/worker/package.json | 6 +++--- 9 files changed, 19 insertions(+), 19 deletions(-) diff --git a/lerna.json b/lerna.json index 9c1d1db679..3b72b76b32 100644 --- a/lerna.json +++ b/lerna.json @@ -1,5 +1,5 @@ { - "version": "0.9.160", + "version": "0.9.161", "npmClient": "yarn", "packages": [ "packages/*" diff --git a/packages/auth/package.json b/packages/auth/package.json index 9c81a03a1b..2bfc50a6a3 100644 --- a/packages/auth/package.json +++ b/packages/auth/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/auth", - "version": "0.9.160", + "version": "0.9.161", "description": "Authentication middlewares for budibase builder and apps", "main": "src/index.js", "author": "Budibase", diff --git a/packages/bbui/package.json b/packages/bbui/package.json index dfb0fcb75b..2afd4a5f30 100644 --- a/packages/bbui/package.json +++ b/packages/bbui/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/bbui", "description": "A UI solution used in the different Budibase projects.", - "version": "0.9.160", + "version": "0.9.161", "license": "AGPL-3.0", "svelte": "src/index.js", "module": "dist/bbui.es.js", diff --git a/packages/builder/package.json b/packages/builder/package.json index 856168470d..09f6fbc1e2 100644 --- a/packages/builder/package.json +++ b/packages/builder/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/builder", - "version": "0.9.160", + "version": "0.9.161", "license": "AGPL-3.0", "private": true, "scripts": { @@ -65,10 +65,10 @@ } }, "dependencies": { - "@budibase/bbui": "^0.9.160", - "@budibase/client": "^0.9.160", + "@budibase/bbui": "^0.9.161", + "@budibase/client": "^0.9.161", "@budibase/colorpicker": "1.1.2", - "@budibase/string-templates": "^0.9.160", + "@budibase/string-templates": "^0.9.161", "@sentry/browser": "5.19.1", "@spectrum-css/page": "^3.0.1", "@spectrum-css/vars": "^3.0.1", diff --git a/packages/cli/package.json b/packages/cli/package.json index 5f35fb3984..8bbef74dd7 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/cli", - "version": "0.9.160", + "version": "0.9.161", "description": "Budibase CLI, for developers, self hosting and migrations.", "main": "src/index.js", "bin": { diff --git a/packages/client/package.json b/packages/client/package.json index a5252dcfdf..c79e9d0c61 100644 --- a/packages/client/package.json +++ b/packages/client/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/client", - "version": "0.9.160", + "version": "0.9.161", "license": "MPL-2.0", "module": "dist/budibase-client.js", "main": "dist/budibase-client.js", @@ -19,9 +19,9 @@ "dev:builder": "rollup -cw" }, "dependencies": { - "@budibase/bbui": "^0.9.160", + "@budibase/bbui": "^0.9.161", "@budibase/standard-components": "^0.9.139", - "@budibase/string-templates": "^0.9.160", + "@budibase/string-templates": "^0.9.161", "regexparam": "^1.3.0", "shortid": "^2.2.15", "svelte-spa-router": "^3.0.5" diff --git a/packages/server/package.json b/packages/server/package.json index 6a9c127f67..5c5637e229 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/server", "email": "hi@budibase.com", - "version": "0.9.160", + "version": "0.9.161", "description": "Budibase Web Server", "main": "src/index.js", "repository": { @@ -66,9 +66,9 @@ "author": "Budibase", "license": "AGPL-3.0-or-later", "dependencies": { - "@budibase/auth": "^0.9.160", - "@budibase/client": "^0.9.160", - "@budibase/string-templates": "^0.9.160", + "@budibase/auth": "^0.9.161", + "@budibase/client": "^0.9.161", + "@budibase/string-templates": "^0.9.161", "@elastic/elasticsearch": "7.10.0", "@koa/router": "8.0.0", "@sendgrid/mail": "7.1.1", diff --git a/packages/string-templates/package.json b/packages/string-templates/package.json index 1459cd1f4d..a758d157cb 100644 --- a/packages/string-templates/package.json +++ b/packages/string-templates/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/string-templates", - "version": "0.9.160", + "version": "0.9.161", "description": "Handlebars wrapper for Budibase templating.", "main": "src/index.cjs", "module": "dist/bundle.mjs", diff --git a/packages/worker/package.json b/packages/worker/package.json index b628591971..cd8b590f4d 100644 --- a/packages/worker/package.json +++ b/packages/worker/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/worker", "email": "hi@budibase.com", - "version": "0.9.160", + "version": "0.9.161", "description": "Budibase background service", "main": "src/index.js", "repository": { @@ -27,8 +27,8 @@ "author": "Budibase", "license": "AGPL-3.0-or-later", "dependencies": { - "@budibase/auth": "^0.9.160", - "@budibase/string-templates": "^0.9.160", + "@budibase/auth": "^0.9.161", + "@budibase/string-templates": "^0.9.161", "@koa/router": "^8.0.0", "@techpass/passport-openidconnect": "^0.3.0", "aws-sdk": "^2.811.0", From 415bc4e0dbc09c02deebe93ab239850d166233a7 Mon Sep 17 00:00:00 2001 From: Andrew Kingston Date: Fri, 8 Oct 2021 11:42:10 +0100 Subject: [PATCH 05/94] Add new generic CodeMirror editor component --- packages/builder/src/components/common/CodeMirrorEditor.svelte | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 packages/builder/src/components/common/CodeMirrorEditor.svelte diff --git a/packages/builder/src/components/common/CodeMirrorEditor.svelte b/packages/builder/src/components/common/CodeMirrorEditor.svelte new file mode 100644 index 0000000000..e69de29bb2 From 9d12bc7388f6ca50a00fb685708513d6c47b1a6c Mon Sep 17 00:00:00 2001 From: Andrew Kingston Date: Fri, 8 Oct 2021 12:06:52 +0100 Subject: [PATCH 06/94] Add QOL addons to CodeMirror editor --- .../components/common/CodeMirrorEditor.svelte | 146 ++++++++++++++++++ .../src/components/integration/codemirror.js | 18 ++- 2 files changed, 160 insertions(+), 4 deletions(-) diff --git a/packages/builder/src/components/common/CodeMirrorEditor.svelte b/packages/builder/src/components/common/CodeMirrorEditor.svelte index e69de29bb2..047f9874a7 100644 --- a/packages/builder/src/components/common/CodeMirrorEditor.svelte +++ b/packages/builder/src/components/common/CodeMirrorEditor.svelte @@ -0,0 +1,146 @@ + + + + +
+