From bb1faac62a0e69d3ef05b4e2016f84d9b0cc4b27 Mon Sep 17 00:00:00 2001 From: Rory Powell Date: Wed, 15 Feb 2023 15:10:02 +0000 Subject: [PATCH] Merge master into develop --- hosting/docker-compose.dev.yaml | 2 +- lerna.json | 2 +- packages/backend-core/package.json | 4 +- .../middleware/passport/third-party-common.ts | 2 +- packages/bbui/package.json | 4 +- packages/builder/package.json | 10 ++-- .../Datasources/CreateEditRelationship.svelte | 18 ++---- .../modals/CreateTableModal.svelte | 4 +- .../controls/FilterEditor/FilterDrawer.svelte | 2 +- .../settings/controls/FormFieldSelect.svelte | 4 +- packages/cli/package.json | 8 +-- packages/client/package.json | 8 +-- .../client/src/components/Component.svelte | 6 +- .../src/components/app/forms/Field.svelte | 2 +- packages/frontend-core/package.json | 4 +- packages/sdk/package.json | 2 +- packages/server/package.json | 12 ++-- .../integrations/postgres/emp-territory.sql | 32 ++++++++++ packages/server/src/app.ts | 10 +++- packages/server/src/environment.ts | 1 + packages/server/src/integrations/base/sql.ts | 13 +++++ .../server/src/integrations/tests/sql.spec.ts | 38 ++++++++++++ packages/server/yarn.lock | 45 +++++--------- packages/string-templates/package.json | 2 +- packages/types/package.json | 2 +- packages/worker/package.json | 10 ++-- .../worker/src/api/controllers/global/auth.ts | 7 ++- packages/worker/yarn.lock | 58 +++++++++---------- 28 files changed, 191 insertions(+), 121 deletions(-) create mode 100644 packages/server/scripts/integrations/postgres/emp-territory.sql diff --git a/hosting/docker-compose.dev.yaml b/hosting/docker-compose.dev.yaml index a9eedac375..7d8198db73 100644 --- a/hosting/docker-compose.dev.yaml +++ b/hosting/docker-compose.dev.yaml @@ -69,4 +69,4 @@ volumes: minio_data: driver: local redis_data: - driver: local + driver: local \ No newline at end of file diff --git a/lerna.json b/lerna.json index 9b156b326d..cd86b7f52b 100644 --- a/lerna.json +++ b/lerna.json @@ -1,5 +1,5 @@ { - "version": "2.3.11-alpha.0", + "version": "2.3.15", "npmClient": "yarn", "packages": [ "packages/*" diff --git a/packages/backend-core/package.json b/packages/backend-core/package.json index 17b581ca0b..6c3774f964 100644 --- a/packages/backend-core/package.json +++ b/packages/backend-core/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/backend-core", - "version": "2.3.11-alpha.0", + "version": "2.3.15", "description": "Budibase backend core libraries used in server and worker", "main": "dist/src/index.js", "types": "dist/src/index.d.ts", @@ -24,7 +24,7 @@ "dependencies": { "@budibase/nano": "10.1.1", "@budibase/pouchdb-replication-stream": "1.2.10", - "@budibase/types": "2.3.11-alpha.0", + "@budibase/types": "2.3.15", "@shopify/jest-koa-mocks": "5.0.1", "@techpass/passport-openidconnect": "0.3.2", "aws-cloudfront-sign": "2.2.0", diff --git a/packages/backend-core/src/middleware/passport/third-party-common.ts b/packages/backend-core/src/middleware/passport/third-party-common.ts index 451cdf6cc6..9d7b93f370 100644 --- a/packages/backend-core/src/middleware/passport/third-party-common.ts +++ b/packages/backend-core/src/middleware/passport/third-party-common.ts @@ -94,7 +94,7 @@ export async function authenticateThirdParty( try { await saveUserFn(dbUser, { hashPassword: false, requirePassword: false }) } catch (err: any) { - return authError(done, err) + return authError(done, "Error saving user", err) } // now that we're sure user exists, load them from the db diff --git a/packages/bbui/package.json b/packages/bbui/package.json index 63c48f9ed0..de4886c7dc 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": "2.3.11-alpha.0", + "version": "2.3.15", "license": "MPL-2.0", "svelte": "src/index.js", "module": "dist/bbui.es.js", @@ -38,7 +38,7 @@ ], "dependencies": { "@adobe/spectrum-css-workflow-icons": "1.2.1", - "@budibase/string-templates": "2.3.11-alpha.0", + "@budibase/string-templates": "^2.3.15", "@spectrum-css/accordion": "3.0.24", "@spectrum-css/actionbutton": "1.0.1", "@spectrum-css/actiongroup": "1.0.1", diff --git a/packages/builder/package.json b/packages/builder/package.json index 7af5726b8f..420a24222b 100644 --- a/packages/builder/package.json +++ b/packages/builder/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/builder", - "version": "2.3.11-alpha.0", + "version": "2.3.15", "license": "GPL-3.0", "private": true, "scripts": { @@ -58,10 +58,10 @@ } }, "dependencies": { - "@budibase/bbui": "2.3.11-alpha.0", - "@budibase/client": "2.3.11-alpha.0", - "@budibase/frontend-core": "2.3.11-alpha.0", - "@budibase/string-templates": "2.3.11-alpha.0", + "@budibase/bbui": "^2.3.15", + "@budibase/client": "^2.3.15", + "@budibase/frontend-core": "^2.3.15", + "@budibase/string-templates": "^2.3.15", "@fortawesome/fontawesome-svg-core": "^6.2.1", "@fortawesome/free-brands-svg-icons": "^6.2.1", "@fortawesome/free-solid-svg-icons": "^6.2.1", diff --git a/packages/builder/src/components/backend/Datasources/CreateEditRelationship.svelte b/packages/builder/src/components/backend/Datasources/CreateEditRelationship.svelte index 4a3c4f6c60..1413cd157e 100644 --- a/packages/builder/src/components/backend/Datasources/CreateEditRelationship.svelte +++ b/packages/builder/src/components/backend/Datasources/CreateEditRelationship.svelte @@ -152,7 +152,7 @@ fromTable, throughTable, fromTable.primary[0], - throughFromKey + throughToKey ), throughToKey: errorChecker.manyForeignKeySet(throughToKey) || @@ -160,7 +160,7 @@ toTable, throughTable, toTable.primary[0], - throughToKey + throughFromKey ), fromForeign: errorChecker.foreignKeySet(fromForeign) || @@ -391,24 +391,14 @@ options={Object.keys(getTable(throughId)?.schema)} bind:value={throughToKey} bind:error={errors.throughToKey} - on:change={e => - changed(() => { - if (throughFromKey === e.detail) { - throughFromKey = null - } - })} + on:change={changed} /> { - return schemaFields.find(field => field.name === filter.field) + return enrichedSchemaFields.find(field => field.name === filter.field) } const santizeTypes = filter => { diff --git a/packages/builder/src/components/design/settings/controls/FormFieldSelect.svelte b/packages/builder/src/components/design/settings/controls/FormFieldSelect.svelte index 806abc4e92..b7b9f87bb4 100644 --- a/packages/builder/src/components/design/settings/controls/FormFieldSelect.svelte +++ b/packages/builder/src/components/design/settings/controls/FormFieldSelect.svelte @@ -25,8 +25,8 @@ const getOptions = (schema, type) => { let entries = Object.entries(schema ?? {}) let types = [] - if (type === "field/options") { - // allow options to be used on both options and string fields + if (type === "field/options" || type === "field/longform") { + // allow options and longform to be used on string fields as well types = [type, "field/string"] } else { types = [type] diff --git a/packages/cli/package.json b/packages/cli/package.json index db519cc1c3..c735bd3c17 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/cli", - "version": "2.3.11-alpha.0", + "version": "2.3.15", "description": "Budibase CLI, for developers, self hosting and migrations.", "main": "src/index.js", "bin": { @@ -26,9 +26,9 @@ "outputPath": "build" }, "dependencies": { - "@budibase/backend-core": "2.3.11-alpha.0", - "@budibase/string-templates": "2.3.11-alpha.0", - "@budibase/types": "2.3.11-alpha.0", + "@budibase/backend-core": "^2.3.15", + "@budibase/string-templates": "^2.3.15", + "@budibase/types": "^2.3.15", "axios": "0.21.2", "chalk": "4.1.0", "cli-progress": "3.11.2", diff --git a/packages/client/package.json b/packages/client/package.json index ca9ca128f4..527d018997 100644 --- a/packages/client/package.json +++ b/packages/client/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/client", - "version": "2.3.11-alpha.0", + "version": "2.3.15", "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": "2.3.11-alpha.0", - "@budibase/frontend-core": "2.3.11-alpha.0", - "@budibase/string-templates": "2.3.11-alpha.0", + "@budibase/bbui": "^2.3.15", + "@budibase/frontend-core": "^2.3.15", + "@budibase/string-templates": "^2.3.15", "@spectrum-css/button": "^3.0.3", "@spectrum-css/card": "^3.0.3", "@spectrum-css/divider": "^1.0.3", diff --git a/packages/client/src/components/Component.svelte b/packages/client/src/components/Component.svelte index f109449f38..a846a315bc 100644 --- a/packages/client/src/components/Component.svelte +++ b/packages/client/src/components/Component.svelte @@ -174,11 +174,11 @@ // Determine whether we should render a skeleton loader for this component $: showSkeleton = $loading && - definition.name !== "Screenslot" && + definition?.name !== "Screenslot" && children.length === 0 && !instance._blockElementHasChildren && - !definition.block && - definition.skeleton !== false + !definition?.block && + definition?.skeleton !== false // Update component context $: store.set({ diff --git a/packages/client/src/components/app/forms/Field.svelte b/packages/client/src/components/app/forms/Field.svelte index a14c6ac9c8..435805cee8 100644 --- a/packages/client/src/components/app/forms/Field.svelte +++ b/packages/client/src/components/app/forms/Field.svelte @@ -85,7 +85,7 @@ {:else if !fieldState} - {:else if schemaType && schemaType !== type && type !== "options"} + {:else if schemaType && schemaType !== type && !["options", "longform"].includes(type)} diff --git a/packages/frontend-core/package.json b/packages/frontend-core/package.json index 5f03a5c7b0..e1778fe5ad 100644 --- a/packages/frontend-core/package.json +++ b/packages/frontend-core/package.json @@ -1,12 +1,12 @@ { "name": "@budibase/frontend-core", - "version": "2.3.11-alpha.0", + "version": "2.3.15", "description": "Budibase frontend core libraries used in builder and client", "author": "Budibase", "license": "MPL-2.0", "svelte": "src/index.js", "dependencies": { - "@budibase/bbui": "2.3.11-alpha.0", + "@budibase/bbui": "^2.3.15", "lodash": "^4.17.21", "svelte": "^3.46.2" } diff --git a/packages/sdk/package.json b/packages/sdk/package.json index 4b67c8ca01..2593f3504c 100644 --- a/packages/sdk/package.json +++ b/packages/sdk/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/sdk", - "version": "2.3.11-alpha.0", + "version": "2.3.15", "description": "Budibase Public API SDK", "author": "Budibase", "license": "MPL-2.0", diff --git a/packages/server/package.json b/packages/server/package.json index 909369165f..d98eb9c9ed 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/server", "email": "hi@budibase.com", - "version": "2.3.11-alpha.0", + "version": "2.3.15", "description": "Budibase Web Server", "main": "src/index.ts", "repository": { @@ -43,11 +43,11 @@ "license": "GPL-3.0", "dependencies": { "@apidevtools/swagger-parser": "10.0.3", - "@budibase/backend-core": "2.3.11-alpha.0", - "@budibase/client": "2.3.11-alpha.0", - "@budibase/pro": "2.3.11-alpha.0", - "@budibase/string-templates": "2.3.11-alpha.0", - "@budibase/types": "2.3.11-alpha.0", + "@budibase/backend-core": "^2.3.15", + "@budibase/client": "^2.3.15", + "@budibase/pro": "2.3.15", + "@budibase/string-templates": "^2.3.15", + "@budibase/types": "^2.3.15", "@bull-board/api": "3.7.0", "@bull-board/koa": "3.9.4", "@elastic/elasticsearch": "7.10.0", diff --git a/packages/server/scripts/integrations/postgres/emp-territory.sql b/packages/server/scripts/integrations/postgres/emp-territory.sql new file mode 100644 index 0000000000..f258dbf46a --- /dev/null +++ b/packages/server/scripts/integrations/postgres/emp-territory.sql @@ -0,0 +1,32 @@ +SELECT 'CREATE DATABASE main' +WHERE NOT EXISTS (SELECT FROM pg_database WHERE datname = 'main')\gexec +CREATE SCHEMA test; +CREATE TABLE territories ( + territory_id character varying(20) PRIMARY KEY, + territory_description character varying(60) NOT NULL +); +CREATE TABLE employees ( + employee_id smallint PRIMARY KEY, + last_name character varying(20) NOT NULL, + first_name character varying(10) NOT NULL, + title character varying(30), + title_of_courtesy character varying(25), + birth_date date, + hire_date date, + address character varying(60), + city character varying(15), + region character varying(15), + postal_code character varying(10), + country character varying(15), + home_phone character varying(24), + extension character varying(4), + photo bytea, + notes text, + reports_to smallint REFERENCES employees(employee_id), + photo_path character varying(255) +); +CREATE TABLE employee_territories ( + employee_id smallint REFERENCES employees(employee_id), + territory_id character varying(20) REFERENCES territories(territory_id), + CONSTRAINT pk_employee_territories PRIMARY KEY (employee_id, territory_id) +); diff --git a/packages/server/src/app.ts b/packages/server/src/app.ts index 6855880a27..be0c63f06a 100644 --- a/packages/server/src/app.ts +++ b/packages/server/src/app.ts @@ -27,13 +27,17 @@ const destroyable = require("server-destroy") const app = new Koa() +let mbNumber = parseInt(env.HTTP_MB_LIMIT || "10") +if (!mbNumber || isNaN(mbNumber)) { + mbNumber = 10 +} // set up top level koa middleware app.use( koaBody({ multipart: true, - formLimit: "10mb", - jsonLimit: "10mb", - textLimit: "10mb", + formLimit: `${mbNumber}mb`, + jsonLimit: `${mbNumber}mb`, + textLimit: `${mbNumber}mb`, // @ts-ignore enableTypes: ["json", "form", "text"], parsedMethods: ["POST", "PUT", "PATCH", "DELETE"], diff --git a/packages/server/src/environment.ts b/packages/server/src/environment.ts index 6272e0e462..256d8d10c3 100644 --- a/packages/server/src/environment.ts +++ b/packages/server/src/environment.ts @@ -83,6 +83,7 @@ const environment = { MULTI_TENANCY: process.env.MULTI_TENANCY, ENABLE_ANALYTICS: process.env.ENABLE_ANALYTICS, SELF_HOSTED: process.env.SELF_HOSTED, + HTTP_MB_LIMIT: process.env.HTTP_MB_LIMIT, // old CLIENT_ID: process.env.CLIENT_ID, _set(key: string, value: any) { diff --git a/packages/server/src/integrations/base/sql.ts b/packages/server/src/integrations/base/sql.ts index e42350091b..e66795a6db 100644 --- a/packages/server/src/integrations/base/sql.ts +++ b/packages/server/src/integrations/base/sql.ts @@ -248,6 +248,19 @@ class InternalBuilder { } if (filters.range) { iterate(filters.range, (key, value) => { + const isEmptyObject = (val: any) => { + return ( + val && + Object.keys(val).length === 0 && + Object.getPrototypeOf(val) === Object.prototype + ) + } + if (isEmptyObject(value.low)) { + value.low = "" + } + if (isEmptyObject(value.high)) { + value.high = "" + } if (value.low && value.high) { // Use a between operator if we have 2 valid range values const fnc = allOr ? "orWhereBetween" : "whereBetween" diff --git a/packages/server/src/integrations/tests/sql.spec.ts b/packages/server/src/integrations/tests/sql.spec.ts index b05a761b54..2b9a0f1f10 100644 --- a/packages/server/src/integrations/tests/sql.spec.ts +++ b/packages/server/src/integrations/tests/sql.spec.ts @@ -553,4 +553,42 @@ describe("SQL query builder", () => { sql: `select * from (select top (@p0) * from [${tableName}] where LOWER([${tableName}].[name]) LIKE @p1) as [${tableName}]`, }) }) + + it("should ignore high range value if it is an empty object", () => { + const query = sql._query( + generateReadJson({ + filters: { + range: { + dob: { + low: "2000-01-01 00:00:00", + high: {}, + }, + }, + }, + }) + ) + expect(query).toEqual({ + bindings: ["2000-01-01 00:00:00", 500], + sql: `select * from (select * from \"${TABLE_NAME}\" where \"${TABLE_NAME}\".\"dob\" > $1 limit $2) as \"${TABLE_NAME}\"`, + }) + }) + + it("should ignore low range value if it is an empty object", () => { + const query = sql._query( + generateReadJson({ + filters: { + range: { + dob: { + low: {}, + high: "2010-01-01 00:00:00", + }, + }, + }, + }) + ) + expect(query).toEqual({ + bindings: ["2010-01-01 00:00:00", 500], + sql: `select * from (select * from \"${TABLE_NAME}\" where \"${TABLE_NAME}\".\"dob\" < $1 limit $2) as \"${TABLE_NAME}\"`, + }) + }) }) diff --git a/packages/server/yarn.lock b/packages/server/yarn.lock index c01c5c3ca4..dc61d61137 100644 --- a/packages/server/yarn.lock +++ b/packages/server/yarn.lock @@ -1278,14 +1278,13 @@ resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== -"@budibase/backend-core@2.3.11-alpha.0": - version "2.3.11-alpha.0" - resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-2.3.11-alpha.0.tgz#361e30139a1a26d023902c6bdb4fdcac2610b69f" - integrity sha512-hlaeTkYsSJJYIwwqL3LJ7Pxzq0tOgSjQ38+nFiBPIzjkDSaV0UPwi0rZAZq/kPvaT7AKdTEcf8tn1wiui/VkYA== +"@budibase/backend-core@2.3.15": + version "2.3.15" + resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-2.3.15.tgz#ede3a14c9741054d9f07caf2eddbf6c4326181fb" + integrity sha512-8hMUVK9oYZDv4vdlvRIAliFEUdWvYkQHSS4W3bHC+Lun3mKASZ8X02tBoyx8uRwXNYEZcKqDXNBOogjROjA2fw== dependencies: "@budibase/nano" "10.1.1" - "@budibase/pouchdb-replication-stream" "1.2.10" - "@budibase/types" "2.3.11-alpha.0" + "@budibase/types" "^2.3.15" "@shopify/jest-koa-mocks" "5.0.1" "@techpass/passport-openidconnect" "0.3.2" aws-cloudfront-sign "2.2.0" @@ -1310,6 +1309,7 @@ posthog-node "1.3.0" pouchdb "7.3.0" pouchdb-find "7.2.2" + pouchdb-replication-stream "1.2.9" redlock "4.2.0" sanitize-s3-objectkey "0.0.1" semver "7.3.7" @@ -1379,26 +1379,13 @@ qs "^6.11.0" tough-cookie "^4.1.2" -"@budibase/pouchdb-replication-stream@1.2.10": - version "1.2.10" - resolved "https://registry.yarnpkg.com/@budibase/pouchdb-replication-stream/-/pouchdb-replication-stream-1.2.10.tgz#4100df2effd7c823edadddcdbdc380f6827eebf5" - integrity sha512-1zeorOwbelZ7HF5vFB+pKE8Mnh31om8k1M6T3AZXVULYTHLsyJrMTozSv5CJ1P8ZfOIJab09HDzCXDh2icFekg== +"@budibase/pro@2.3.15": + version "2.3.15" + resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-2.3.15.tgz#d5c069effe0826aca9f09a1ee70cfd04f13517fc" + integrity sha512-2NJGGZ0xR1F/XdT5MAiZCYUv6QfMFEr2vgPowoOOZV59nvdzGCYLYZ1/4oW6/D8Fn4bxkevJ4EfS3ivN9tDHkw== dependencies: - argsarray "0.0.1" - inherits "^2.0.3" - lodash.pick "^4.0.0" - ndjson "^1.4.3" - pouch-stream "^0.4.0" - pouchdb-promise "^6.0.4" - through2 "^2.0.0" - -"@budibase/pro@2.3.11-alpha.0": - version "2.3.11-alpha.0" - resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-2.3.11-alpha.0.tgz#b59edba2c04e2a490f3d9246cd328d8dd3213295" - integrity sha512-z7tLgRKYKm1psNZGdRErQT8tV+vSj9hXJkD/H/uFxsJ3IQkjWbcFP5FUBPads5RnvCtqOfYu8OpRHCJfNNBoCA== - dependencies: - "@budibase/backend-core" "2.3.11-alpha.0" - "@budibase/types" "2.3.11-alpha.0" + "@budibase/backend-core" "2.3.15" + "@budibase/types" "2.3.15" "@koa/router" "8.0.8" bull "4.10.1" joi "17.6.0" @@ -1424,10 +1411,10 @@ svelte-apexcharts "^1.0.2" svelte-flatpickr "^3.1.0" -"@budibase/types@2.3.11-alpha.0": - version "2.3.11-alpha.0" - resolved "https://registry.yarnpkg.com/@budibase/types/-/types-2.3.11-alpha.0.tgz#55cdcef6fb30c79e9d7d90ae8789e4f0cc6a2b63" - integrity sha512-SFW9vManFRJ45bgMW7wkDiNxiQQfAME8HOmSqCHKDC0OPzsDydygIl7BNeF/domFvCXxDD3NPu7HC2JXMlV6cw== +"@budibase/types@2.3.15", "@budibase/types@^2.3.15": + version "2.3.15" + resolved "https://registry.yarnpkg.com/@budibase/types/-/types-2.3.15.tgz#32562b64153a2e41d93d756a090c28fbc8b814aa" + integrity sha512-LxPxZ+UzUJGXUQ9xLP4svkWdjLoyYW1MBjVe57sjQnFRw0SvI97brNvTiD74XY9yW47CDfSYx7Cd4ywpmWTM5w== "@bull-board/api@3.7.0": version "3.7.0" diff --git a/packages/string-templates/package.json b/packages/string-templates/package.json index 2c3ea9ca94..a2d0490bff 100644 --- a/packages/string-templates/package.json +++ b/packages/string-templates/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/string-templates", - "version": "2.3.11-alpha.0", + "version": "2.3.15", "description": "Handlebars wrapper for Budibase templating.", "main": "src/index.cjs", "module": "dist/bundle.mjs", diff --git a/packages/types/package.json b/packages/types/package.json index 7a0ce71f1c..ce5c48458f 100644 --- a/packages/types/package.json +++ b/packages/types/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/types", - "version": "2.3.11-alpha.0", + "version": "2.3.15", "description": "Budibase types", "main": "dist/index.js", "types": "dist/index.d.ts", diff --git a/packages/worker/package.json b/packages/worker/package.json index 7a36f18d87..646963d88e 100644 --- a/packages/worker/package.json +++ b/packages/worker/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/worker", "email": "hi@budibase.com", - "version": "2.3.11-alpha.0", + "version": "2.3.15", "description": "Budibase background service", "main": "src/index.ts", "repository": { @@ -36,10 +36,10 @@ "author": "Budibase", "license": "GPL-3.0", "dependencies": { - "@budibase/backend-core": "2.3.11-alpha.0", - "@budibase/pro": "2.3.11-alpha.0", - "@budibase/string-templates": "2.3.11-alpha.0", - "@budibase/types": "2.3.11-alpha.0", + "@budibase/backend-core": "^2.3.15", + "@budibase/pro": "2.3.15", + "@budibase/string-templates": "^2.3.15", + "@budibase/types": "^2.3.15", "@koa/router": "8.0.8", "@sentry/node": "6.17.7", "@techpass/passport-openidconnect": "0.3.2", diff --git a/packages/worker/src/api/controllers/global/auth.ts b/packages/worker/src/api/controllers/global/auth.ts index e6d3c329d7..738b67c553 100644 --- a/packages/worker/src/api/controllers/global/auth.ts +++ b/packages/worker/src/api/controllers/global/auth.ts @@ -27,13 +27,16 @@ export async function oidcCallbackUrl(config?: { callbackURL?: string }) { return ssoCallbackUrl(tenancy.getGlobalDB(), config, ConfigType.OIDC) } -async function authInternal(ctx: any, user: any, err = null, info = null) { +async function authInternal(ctx: any, user: any, err: any = null, info = null) { if (err) { - console.error("Authentication error", err) + console.error("Authentication error") + console.error(err) + console.trace(err) return ctx.throw(403, info ? info : "Unauthorized") } if (!user) { + console.error("Authentication error - no user provided") return ctx.throw(403, info ? info : "Unauthorized") } diff --git a/packages/worker/yarn.lock b/packages/worker/yarn.lock index 7074ec8e3d..1bae4757c1 100644 --- a/packages/worker/yarn.lock +++ b/packages/worker/yarn.lock @@ -475,14 +475,13 @@ resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== -"@budibase/backend-core@2.3.11-alpha.0": - version "2.3.11-alpha.0" - resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-2.3.11-alpha.0.tgz#361e30139a1a26d023902c6bdb4fdcac2610b69f" - integrity sha512-hlaeTkYsSJJYIwwqL3LJ7Pxzq0tOgSjQ38+nFiBPIzjkDSaV0UPwi0rZAZq/kPvaT7AKdTEcf8tn1wiui/VkYA== +"@budibase/backend-core@2.3.15": + version "2.3.15" + resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-2.3.15.tgz#ede3a14c9741054d9f07caf2eddbf6c4326181fb" + integrity sha512-8hMUVK9oYZDv4vdlvRIAliFEUdWvYkQHSS4W3bHC+Lun3mKASZ8X02tBoyx8uRwXNYEZcKqDXNBOogjROjA2fw== dependencies: "@budibase/nano" "10.1.1" - "@budibase/pouchdb-replication-stream" "1.2.10" - "@budibase/types" "2.3.11-alpha.0" + "@budibase/types" "^2.3.15" "@shopify/jest-koa-mocks" "5.0.1" "@techpass/passport-openidconnect" "0.3.2" aws-cloudfront-sign "2.2.0" @@ -507,6 +506,7 @@ posthog-node "1.3.0" pouchdb "7.3.0" pouchdb-find "7.2.2" + pouchdb-replication-stream "1.2.9" redlock "4.2.0" sanitize-s3-objectkey "0.0.1" semver "7.3.7" @@ -526,26 +526,13 @@ qs "^6.11.0" tough-cookie "^4.1.2" -"@budibase/pouchdb-replication-stream@1.2.10": - version "1.2.10" - resolved "https://registry.yarnpkg.com/@budibase/pouchdb-replication-stream/-/pouchdb-replication-stream-1.2.10.tgz#4100df2effd7c823edadddcdbdc380f6827eebf5" - integrity sha512-1zeorOwbelZ7HF5vFB+pKE8Mnh31om8k1M6T3AZXVULYTHLsyJrMTozSv5CJ1P8ZfOIJab09HDzCXDh2icFekg== +"@budibase/pro@2.3.15": + version "2.3.15" + resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-2.3.15.tgz#d5c069effe0826aca9f09a1ee70cfd04f13517fc" + integrity sha512-2NJGGZ0xR1F/XdT5MAiZCYUv6QfMFEr2vgPowoOOZV59nvdzGCYLYZ1/4oW6/D8Fn4bxkevJ4EfS3ivN9tDHkw== dependencies: - argsarray "0.0.1" - inherits "^2.0.3" - lodash.pick "^4.0.0" - ndjson "^1.4.3" - pouch-stream "^0.4.0" - pouchdb-promise "^6.0.4" - through2 "^2.0.0" - -"@budibase/pro@2.3.11-alpha.0": - version "2.3.11-alpha.0" - resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-2.3.11-alpha.0.tgz#b59edba2c04e2a490f3d9246cd328d8dd3213295" - integrity sha512-z7tLgRKYKm1psNZGdRErQT8tV+vSj9hXJkD/H/uFxsJ3IQkjWbcFP5FUBPads5RnvCtqOfYu8OpRHCJfNNBoCA== - dependencies: - "@budibase/backend-core" "2.3.11-alpha.0" - "@budibase/types" "2.3.11-alpha.0" + "@budibase/backend-core" "2.3.15" + "@budibase/types" "2.3.15" "@koa/router" "8.0.8" bull "4.10.1" joi "17.6.0" @@ -553,10 +540,10 @@ lru-cache "^7.14.1" node-fetch "^2.6.1" -"@budibase/types@2.3.11-alpha.0": - version "2.3.11-alpha.0" - resolved "https://registry.yarnpkg.com/@budibase/types/-/types-2.3.11-alpha.0.tgz#55cdcef6fb30c79e9d7d90ae8789e4f0cc6a2b63" - integrity sha512-SFW9vManFRJ45bgMW7wkDiNxiQQfAME8HOmSqCHKDC0OPzsDydygIl7BNeF/domFvCXxDD3NPu7HC2JXMlV6cw== +"@budibase/types@2.3.15", "@budibase/types@^2.3.15": + version "2.3.15" + resolved "https://registry.yarnpkg.com/@budibase/types/-/types-2.3.15.tgz#32562b64153a2e41d93d756a090c28fbc8b814aa" + integrity sha512-LxPxZ+UzUJGXUQ9xLP4svkWdjLoyYW1MBjVe57sjQnFRw0SvI97brNvTiD74XY9yW47CDfSYx7Cd4ywpmWTM5w== "@cspotcode/source-map-support@^0.8.0": version "0.8.1" @@ -6561,6 +6548,19 @@ pouchdb-promise@6.4.3, pouchdb-promise@^6.0.4: dependencies: lie "3.1.1" +pouchdb-replication-stream@1.2.9: + version "1.2.9" + resolved "https://registry.yarnpkg.com/pouchdb-replication-stream/-/pouchdb-replication-stream-1.2.9.tgz#aa4fa5d8f52df4825392f18e07c7e11acffc650a" + integrity sha512-hM8XRBfamTTUwRhKwLS/jSNouBhn9R/4ugdHNRD1EvJzwV8iImh6sDYbCU9PGuznjyOjXz6vpFRzKeI2KYfwnQ== + dependencies: + argsarray "0.0.1" + inherits "^2.0.3" + lodash.pick "^4.0.0" + ndjson "^1.4.3" + pouch-stream "^0.4.0" + pouchdb-promise "^6.0.4" + through2 "^2.0.0" + pouchdb-selector-core@7.2.2: version "7.2.2" resolved "https://registry.yarnpkg.com/pouchdb-selector-core/-/pouchdb-selector-core-7.2.2.tgz#264d7436a8c8ac3801f39960e79875ef7f3879a0"