diff --git a/.github/workflows/release-develop.yml b/.github/workflows/release-develop.yml index cd39148bdc..bcec79b087 100644 --- a/.github/workflows/release-develop.yml +++ b/.github/workflows/release-develop.yml @@ -1,5 +1,5 @@ name: Budibase Prerelease -#concurrency: release-prerelease +concurrency: release-prerelease on: push: @@ -189,7 +189,7 @@ jobs: git commit -m "Helm Release: develop" git push - trigger-deploy-to-qa: + trigger-deploy-to-qa-env: needs: [release-helm-chart] runs-on: ubuntu-latest steps: diff --git a/lerna.json b/lerna.json index 17b8ec3cee..c98095044d 100644 --- a/lerna.json +++ b/lerna.json @@ -1,5 +1,5 @@ { - "version": "2.2.4-alpha.7", + "version": "2.2.10-alpha.3", "npmClient": "yarn", "packages": [ "packages/*" @@ -15,4 +15,4 @@ ] } } -} \ No newline at end of file +} diff --git a/packages/backend-core/.npmignore b/packages/backend-core/.npmignore new file mode 100644 index 0000000000..ad6609ce51 --- /dev/null +++ b/packages/backend-core/.npmignore @@ -0,0 +1,2 @@ +* +!dist/* \ No newline at end of file diff --git a/packages/backend-core/package.json b/packages/backend-core/package.json index 316f6f65db..c2f4b2a98a 100644 --- a/packages/backend-core/package.json +++ b/packages/backend-core/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/backend-core", - "version": "2.2.4-alpha.7", + "version": "2.2.10-alpha.3", "description": "Budibase backend core libraries used in server and worker", "main": "dist/src/index.js", "types": "dist/src/index.d.ts", @@ -21,7 +21,7 @@ }, "dependencies": { "@budibase/nano": "10.1.1", - "@budibase/types": "2.2.4-alpha.7", + "@budibase/types": "2.2.10-alpha.3", "@shopify/jest-koa-mocks": "5.0.1", "@techpass/passport-openidconnect": "0.3.2", "aws-cloudfront-sign": "2.2.0", @@ -79,4 +79,4 @@ "typescript": "4.7.3" }, "gitHead": "d1836a898cab3f8ab80ee6d8f42be1a9eed7dcdc" -} \ No newline at end of file +} diff --git a/packages/bbui/package.json b/packages/bbui/package.json index 6536f65dd5..26717c1655 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.2.4-alpha.7", + "version": "2.2.10-alpha.3", "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.2.4-alpha.7", + "@budibase/string-templates": "2.2.10-alpha.3", "@spectrum-css/actionbutton": "1.0.1", "@spectrum-css/actiongroup": "1.0.1", "@spectrum-css/avatar": "3.0.2", @@ -89,4 +89,4 @@ "loader-utils": "1.4.1" }, "gitHead": "d1836a898cab3f8ab80ee6d8f42be1a9eed7dcdc" -} \ No newline at end of file +} diff --git a/packages/builder/cypress/integration/adminAndManagement/accountPortals.spec.js b/packages/builder/cypress/integration/adminAndManagement/accountPortals.spec.js index 448240f81d..7c69a5462e 100644 --- a/packages/builder/cypress/integration/adminAndManagement/accountPortals.spec.js +++ b/packages/builder/cypress/integration/adminAndManagement/accountPortals.spec.js @@ -3,17 +3,17 @@ const interact = require('../../support/interact') filterTests(["smoke", "all"], () => { context("Account Portals", () => { - + const bbUserEmail = "bbuser@test.com" - + before(() => { cy.login() cy.deleteApp("Cypress Tests") cy.createApp("Cypress Tests", false) - + // Create new user cy.wait(500) - cy.visit(`${Cypress.config().baseUrl}/builder`, { timeout: 5000}) + cy.visit(`${Cypress.config().baseUrl}/builder`, { timeout: 5000 }) cy.createUser(bbUserEmail) cy.contains("bbuser").click() cy.wait(500) @@ -25,18 +25,18 @@ filterTests(["smoke", "all"], () => { cy.get(interact.SPECTRUM_MENU).within(() => { cy.get(interact.SPECTRUM_MENU_ITEM).contains("Force password reset").click({ force: true }) }) - + cy.get(interact.SPECTRUM_DIALOG_GRID) - .find(interact.SPECTRUM_TEXTFIELD_INPUT).invoke('val').as('pwd') + .find(interact.SPECTRUM_TEXTFIELD_INPUT).invoke('val').as('pwd') cy.get(interact.SPECTRUM_BUTTON).contains("Reset password").click({ force: true }) - + // Login as new user and set password cy.logOut() cy.get('@pwd').then((pwd) => { cy.login(bbUserEmail, pwd) }) - + for (let i = 0; i < 2; i++) { cy.get(interact.SPECTRUM_TEXTFIELD_INPUT).eq(i).type("test") } @@ -58,15 +58,15 @@ filterTests(["smoke", "all"], () => { cy.logoutNoAppGrid() }) - - it("should verify Admin Portal", () => { - cy.login() - // Configure user role - cy.setUserRole("bbuser", "Admin") - bbUserLogin() - // Verify available options for Admin portal - cy.get(interact.SPECTRUM_SIDENAV) + xit("should verify Admin Portal", () => { + cy.login() + // Configure user role + cy.setUserRole("bbuser", "Admin") + bbUserLogin() + + // Verify available options for Admin portal + cy.get(interact.SPECTRUM_SIDENAV) .should('contain', 'Apps') //.and('contain', 'Usage') .and('contain', 'Users') @@ -75,12 +75,12 @@ filterTests(["smoke", "all"], () => { .and('contain', 'Organisation') .and('contain', 'Theming') .and('contain', 'Update') - //.and('contain', 'Upgrade') + //.and('contain', 'Upgrade') - cy.logOut() + cy.logOut() }) - it("should verify Development Portal", () => { + xit("should verify Development Portal", () => { // Only Development access should be enabled cy.login() cy.setUserRole("bbuser", "Developer") @@ -98,7 +98,7 @@ filterTests(["smoke", "all"], () => { .and('not.contain', 'Update') .and('not.contain', 'Upgrade') - cy.logOut() + cy.logOut() }) const bbUserLogin = () => { diff --git a/packages/builder/cypress/integration/appOverview.spec.js b/packages/builder/cypress/integration/appOverview.spec.js index dafafab67a..2afc0af277 100644 --- a/packages/builder/cypress/integration/appOverview.spec.js +++ b/packages/builder/cypress/integration/appOverview.spec.js @@ -9,7 +9,7 @@ filterTests(["all"], () => { cy.createApp("Cypress Tests") }) - it("Should be accessible from the applications list", () => { + xit("Should be accessible from the applications list", () => { cy.visit(`${Cypress.config().baseUrl}/builder`) cy.get(".appTable .title") .eq(0) @@ -27,7 +27,7 @@ filterTests(["all"], () => { }) // Find a more suitable place for this. - it("Should allow unlocking in the app list", () => { + xit("Should allow unlocking in the app list", () => { cy.visit(`${Cypress.config().baseUrl}/builder`) cy.get(".appTable .lock-status").eq(0).contains("Locked by you").click() @@ -38,7 +38,7 @@ filterTests(["all"], () => { cy.get(".lock-status").should("not.be.visible") }) - it("Should allow unlocking in the app overview screen", () => { + xit("Should allow unlocking in the app overview screen", () => { cy.visit(`${Cypress.config().baseUrl}/builder`) cy.get(".appTable .app-row-actions button") @@ -58,7 +58,7 @@ filterTests(["all"], () => { cy.get(".lock-status").should("not.be.visible") }) - it("Should reflect the deploy state of an app that hasn't been published.", () => { + xit("Should reflect the deploy state of an app that hasn't been published.", () => { cy.visit(`${Cypress.config().baseUrl}/builder`) cy.get(".appTable .app-row-actions button") @@ -81,7 +81,7 @@ filterTests(["all"], () => { }) }) - it("Should reflect the app deployment state", () => { + xit("Should reflect the app deployment state", () => { cy.visit(`${Cypress.config().baseUrl}/builder`, { timeout: 5000 }) cy.get(".appTable .app-row-actions button") .contains("Edit") @@ -117,7 +117,7 @@ filterTests(["all"], () => { }) }) - it("Should reflect an application that has been unpublished", () => { + xit("Should reflect an application that has been unpublished", () => { cy.visit(`${Cypress.config().baseUrl}/builder`) cy.get(".appTable .app-row-actions button") .contains("Edit") @@ -154,7 +154,7 @@ filterTests(["all"], () => { }) }) - it("Should allow the editing of the application icon and colour", () => { + xit("Should allow the editing of the application icon and colour", () => { cy.visit(`${Cypress.config().baseUrl}/builder`) cy.get(".appTable .app-row-actions button") .contains("Manage") @@ -196,7 +196,7 @@ filterTests(["all"], () => { }) }) - it("Should reflect the last time the application was edited", () => { + xit("Should reflect the last time the application was edited", () => { cy.visit(`${Cypress.config().baseUrl}/builder`) cy.get(".appTable .app-row-actions button") .contains("Manage") @@ -221,7 +221,7 @@ filterTests(["all"], () => { }) }) - it("Should reflect application version is up-to-date", () => { + xit("Should reflect application version is up-to-date", () => { cy.visit(`${Cypress.config().baseUrl}/builder`) cy.get(".appTable .app-row-actions button") .contains("Manage") @@ -302,7 +302,7 @@ filterTests(["all"], () => { }) }) - it("Should allow editing of the app details.", () => { + xit("Should allow editing of the app details.", () => { cy.visit(`${Cypress.config().baseUrl}/builder`, { timeout: 5000 }) cy.get(".appTable .app-row-actions button") .contains("Manage") @@ -373,13 +373,13 @@ filterTests(["all"], () => { .contains("Copy App ID") .click({ force: true }) }) - + cy.get(".spectrum-Toast-content") - .contains("App ID copied to clipboard.") - .should("be.visible") + .contains("App ID copied to clipboard.") + .should("be.visible") }) - it("Should allow unpublishing of the application via the Unpublish link", () => { + xit("Should allow unpublishing of the application via the Unpublish link", () => { cy.visit(`${Cypress.config().baseUrl}/builder`) cy.get(".appTable .app-row-actions button") .contains("Manage") @@ -388,7 +388,7 @@ filterTests(["all"], () => { cy.get(`[data-cy="app-status"]`).within(() => { cy.contains("Unpublish").click({ force: true }) - }) + }) cy.get("[data-cy='unpublish-modal']") .should("be.visible") @@ -399,11 +399,11 @@ filterTests(["all"], () => { cy.get(".overview-tab [data-cy='app-status']").within(() => { cy.get(".status-display").contains("Unpublished") cy.get(".status-display .icon svg[aria-label='GlobeStrike']") - .should("exist") + .should("exist") }) }) - it("Should allow deleting of the application", () => { + xit("Should allow deleting of the application", () => { cy.visit(`${Cypress.config().baseUrl}/builder`) cy.get(".appTable .app-row-actions button") .contains("Manage") diff --git a/packages/builder/cypress/integration/createAutomation.spec.js b/packages/builder/cypress/integration/createAutomation.spec.js index 8c16f4bd22..6326691d28 100644 --- a/packages/builder/cypress/integration/createAutomation.spec.js +++ b/packages/builder/cypress/integration/createAutomation.spec.js @@ -2,13 +2,13 @@ import filterTests from "../support/filterTests" const interact = require('../support/interact') filterTests(['smoke', 'all'], () => { - context("Create a automation", () => { + xcontext("Create a automation", () => { before(() => { cy.login() cy.createTestApp() }) - it("should create a automation", () => { + xit("should create a automation", () => { cy.createTestTableWithData() cy.wait(2000) cy.contains("Automate").click() diff --git a/packages/builder/cypress/support/commands.js b/packages/builder/cypress/support/commands.js index 278c6504f8..6789529acb 100644 --- a/packages/builder/cypress/support/commands.js +++ b/packages/builder/cypress/support/commands.js @@ -461,10 +461,7 @@ Cypress.Commands.add("createTable", (tableName, initialTable) => { cy.get(".nav-item", { timeout: 2000 }) .contains("Budibase DB") .click({ force: true }) - cy.get(".spectrum-Tabs-content", { timeout: 2000 }).should( - "contain", - tableName - ) + cy.get(".nav-item-content", { timeout: 2000 }).should("contain", tableName) }) Cypress.Commands.add("createTestTableWithData", () => { diff --git a/packages/builder/package.json b/packages/builder/package.json index 1ce40b1e6b..77d7b2388d 100644 --- a/packages/builder/package.json +++ b/packages/builder/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/builder", - "version": "2.2.4-alpha.7", + "version": "2.2.10-alpha.3", "license": "GPL-3.0", "private": true, "scripts": { @@ -71,10 +71,10 @@ } }, "dependencies": { - "@budibase/bbui": "2.2.4-alpha.7", - "@budibase/client": "2.2.4-alpha.7", - "@budibase/frontend-core": "2.2.4-alpha.7", - "@budibase/string-templates": "2.2.4-alpha.7", + "@budibase/bbui": "2.2.10-alpha.3", + "@budibase/client": "2.2.10-alpha.3", + "@budibase/frontend-core": "2.2.10-alpha.3", + "@budibase/string-templates": "2.2.10-alpha.3", "@sentry/browser": "5.19.1", "@spectrum-css/page": "^3.0.1", "@spectrum-css/vars": "^3.0.1", @@ -123,4 +123,4 @@ "vite": "^3.0.8" }, "gitHead": "115189f72a850bfb52b65ec61d932531bf327072" -} \ No newline at end of file +} diff --git a/packages/cli/package.json b/packages/cli/package.json index f06fc82f1e..56220ce097 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/cli", - "version": "2.2.4-alpha.7", + "version": "2.2.10-alpha.3", "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.2.4-alpha.7", - "@budibase/string-templates": "2.2.4-alpha.7", - "@budibase/types": "2.2.4-alpha.7", + "@budibase/backend-core": "2.2.10-alpha.3", + "@budibase/string-templates": "2.2.10-alpha.3", + "@budibase/types": "2.2.10-alpha.3", "axios": "0.21.2", "chalk": "4.1.0", "cli-progress": "3.11.2", @@ -54,4 +54,4 @@ "eslint": "^7.20.0", "renamer": "^4.0.0" } -} \ No newline at end of file +} diff --git a/packages/client/package.json b/packages/client/package.json index b65b14957c..7a09fcd7ff 100644 --- a/packages/client/package.json +++ b/packages/client/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/client", - "version": "2.2.4-alpha.7", + "version": "2.2.10-alpha.3", "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.2.4-alpha.7", - "@budibase/frontend-core": "2.2.4-alpha.7", - "@budibase/string-templates": "2.2.4-alpha.7", + "@budibase/bbui": "2.2.10-alpha.3", + "@budibase/frontend-core": "2.2.10-alpha.3", + "@budibase/string-templates": "2.2.10-alpha.3", "@spectrum-css/button": "^3.0.3", "@spectrum-css/card": "^3.0.3", "@spectrum-css/divider": "^1.0.3", @@ -63,4 +63,4 @@ "loader-utils": "1.4.1" }, "gitHead": "d1836a898cab3f8ab80ee6d8f42be1a9eed7dcdc" -} \ No newline at end of file +} diff --git a/packages/frontend-core/package.json b/packages/frontend-core/package.json index f34494ef58..078d1a45ed 100644 --- a/packages/frontend-core/package.json +++ b/packages/frontend-core/package.json @@ -1,13 +1,13 @@ { "name": "@budibase/frontend-core", - "version": "2.2.4-alpha.7", + "version": "2.2.10-alpha.3", "description": "Budibase frontend core libraries used in builder and client", "author": "Budibase", "license": "MPL-2.0", "svelte": "src/index.js", "dependencies": { - "@budibase/bbui": "2.2.4-alpha.7", + "@budibase/bbui": "2.2.10-alpha.3", "lodash": "^4.17.21", "svelte": "^3.46.2" } -} \ No newline at end of file +} diff --git a/packages/sdk/package.json b/packages/sdk/package.json index cca8bbd60e..1facab349e 100644 --- a/packages/sdk/package.json +++ b/packages/sdk/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/sdk", - "version": "2.2.4-alpha.7", + "version": "2.2.10-alpha.3", "description": "Budibase Public API SDK", "author": "Budibase", "license": "MPL-2.0", @@ -20,4 +20,4 @@ "rollup-plugin-polyfill-node": "^0.8.0", "rollup-plugin-terser": "^7.0.2" } -} \ No newline at end of file +} diff --git a/packages/server/package.json b/packages/server/package.json index c95da1c592..4898ba186b 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/server", "email": "hi@budibase.com", - "version": "2.2.4-alpha.7", + "version": "2.2.10-alpha.3", "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.2.4-alpha.7", - "@budibase/client": "2.2.4-alpha.7", - "@budibase/pro": "2.2.4-alpha.7", - "@budibase/string-templates": "2.2.4-alpha.7", - "@budibase/types": "2.2.4-alpha.7", + "@budibase/backend-core": "2.2.10-alpha.3", + "@budibase/client": "2.2.10-alpha.3", + "@budibase/pro": "2.2.10-alpha.3", + "@budibase/string-templates": "2.2.10-alpha.3", + "@budibase/types": "2.2.10-alpha.3", "@bull-board/api": "3.7.0", "@bull-board/koa": "3.9.4", "@elastic/elasticsearch": "7.10.0", @@ -168,4 +168,4 @@ "oracledb": "5.3.0" }, "gitHead": "d1836a898cab3f8ab80ee6d8f42be1a9eed7dcdc" -} \ No newline at end of file +} diff --git a/packages/server/src/api/controllers/application.ts b/packages/server/src/api/controllers/application.ts index e227df1a58..06e7dc8a57 100644 --- a/packages/server/src/api/controllers/application.ts +++ b/packages/server/src/api/controllers/application.ts @@ -50,7 +50,6 @@ import { } from "@budibase/types" import { BASE_LAYOUT_PROP_IDS } from "../../constants/layouts" import sdk from "../../sdk" -import { getDB } from "@budibase/backend-core/src/db" // utility function, need to do away with this async function getLayouts() { diff --git a/packages/server/src/integrations/base/sql.ts b/packages/server/src/integrations/base/sql.ts index 43ebc8b1dd..a2318eff12 100644 --- a/packages/server/src/integrations/base/sql.ts +++ b/packages/server/src/integrations/base/sql.ts @@ -313,7 +313,8 @@ class InternalBuilder { addRelationships( query: KnexQuery, fromTable: string, - relationships: RelationshipsJson[] | undefined + relationships: RelationshipsJson[] | undefined, + schema: string | undefined ): KnexQuery { if (!relationships) { return query @@ -337,9 +338,13 @@ class InternalBuilder { } for (let [key, relationships] of Object.entries(tableSets)) { const { toTable, throughTable } = JSON.parse(key) + const toTableWithSchema = schema ? `${schema}.${toTable}` : toTable + const throughTableWithSchema = schema + ? `${schema}.${throughTable}` + : throughTable if (!throughTable) { // @ts-ignore - query = query.leftJoin(toTable, function () { + query = query.leftJoin(toTableWithSchema, function () { for (let relationship of relationships) { const from = relationship.from, to = relationship.to @@ -350,7 +355,7 @@ class InternalBuilder { } else { query = query // @ts-ignore - .leftJoin(throughTable, function () { + .leftJoin(throughTableWithSchema, function () { for (let relationship of relationships) { const fromPrimary = relationship.fromPrimary const from = relationship.from @@ -362,7 +367,7 @@ class InternalBuilder { ) } }) - .leftJoin(toTable, function () { + .leftJoin(toTableWithSchema, function () { for (let relationship of relationships) { const toPrimary = relationship.toPrimary const to = relationship.to @@ -456,7 +461,12 @@ class InternalBuilder { preQuery = this.addSorting(preQuery, json) } // handle joins - query = this.addRelationships(preQuery, tableName, relationships) + query = this.addRelationships( + preQuery, + tableName, + relationships, + endpoint.schema + ) return this.addFilters(query, filters, { relationship: true }) } diff --git a/packages/server/src/integrations/tests/sql.spec.ts b/packages/server/src/integrations/tests/sql.spec.ts index 421b8535d4..2e45f0754b 100644 --- a/packages/server/src/integrations/tests/sql.spec.ts +++ b/packages/server/src/integrations/tests/sql.spec.ts @@ -51,6 +51,72 @@ function generateDeleteJson(table = TABLE_NAME, filters = {}) { } } +function generateRelationshipJson(config: { schema?: string } = {}) { + return { + endpoint: { + datasourceId: "Postgres", + entityId: "brands", + operation: "READ", + schema: config.schema, + }, + resource: { + fields: [ + "brands.brand_id", + "brands.brand_name", + "products.product_id", + "products.product_name", + "products.brand_id", + ], + }, + filters: {}, + sort: {}, + paginate: {}, + relationships: [ + { + from: "brand_id", + to: "brand_id", + tableName: "products", + column: "products", + }, + ], + extra: { idFilter: {} }, + } +} + +function generateManyRelationshipJson(config: { schema?: string } = {}) { + return { + endpoint: { + datasourceId: "Postgres", + entityId: "stores", + operation: "READ", + schema: config.schema, + }, + resource: { + fields: [ + "stores.store_id", + "stores.store_name", + "products.product_id", + "products.product_name", + ], + }, + filters: {}, + sort: {}, + paginate: {}, + relationships: [ + { + from: "store_id", + to: "product_id", + tableName: "products", + column: "products", + through: "stocks", + fromPrimary: "store_id", + toPrimary: "product_id", + }, + ], + extra: { idFilter: {} }, + } +} + describe("SQL query builder", () => { const limit = 500 const client = SqlClient.POSTGRES @@ -425,4 +491,30 @@ describe("SQL query builder", () => { sql: `select * from (select * from \"${TABLE_NAME}\" where \"${TABLE_NAME}\".\"age\"::jsonb ?| array [20,25] and \"${TABLE_NAME}\".\"name\"::jsonb ?| array ['John','Mary'] limit $1) as \"${TABLE_NAME}\"`, }) }) + + it("should add the schema to the LEFT JOIN", () => { + const query = sql._query(generateRelationshipJson({ schema: "production" })) + expect(query).toEqual({ + bindings: [500, 5000], + sql: `select "brands"."brand_id" as "brands.brand_id", "brands"."brand_name" as "brands.brand_name", "products"."product_id" as "products.product_id", "products"."product_name" as "products.product_name", "products"."brand_id" as "products.brand_id" from (select * from "production"."brands" limit $1) as "brands" left join "production"."products" on "brands"."brand_id" = "products"."brand_id" limit $2`, + }) + }) + + it("should handle if the schema is not present when doing a LEFT JOIN", () => { + const query = sql._query(generateRelationshipJson()) + expect(query).toEqual({ + bindings: [500, 5000], + sql: `select "brands"."brand_id" as "brands.brand_id", "brands"."brand_name" as "brands.brand_name", "products"."product_id" as "products.product_id", "products"."product_name" as "products.product_name", "products"."brand_id" as "products.brand_id" from (select * from "brands" limit $1) as "brands" left join "products" on "brands"."brand_id" = "products"."brand_id" limit $2`, + }) + }) + + it("should add the schema to both the toTable and throughTable in many-to-many join", () => { + const query = sql._query( + generateManyRelationshipJson({ schema: "production" }) + ) + expect(query).toEqual({ + bindings: [500, 5000], + sql: `select "stores"."store_id" as "stores.store_id", "stores"."store_name" as "stores.store_name", "products"."product_id" as "products.product_id", "products"."product_name" as "products.product_name" from (select * from "production"."stores" limit $1) as "stores" left join "production"."stocks" on "stores"."store_id" = "stocks"."store_id" left join "production"."products" on "products"."product_id" = "stocks"."product_id" limit $2`, + }) + }) }) diff --git a/packages/server/yarn.lock b/packages/server/yarn.lock index 6f5a25acbd..e8ab94017e 100644 --- a/packages/server/yarn.lock +++ b/packages/server/yarn.lock @@ -1273,13 +1273,13 @@ resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== -"@budibase/backend-core@2.2.4-alpha.7": - version "2.2.4-alpha.7" - resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-2.2.4-alpha.7.tgz#24cb6e969918bd3f3f3c8f7bf0371369139a92ef" - integrity sha512-n4ItEFWeDKYKlll0pCjh+A9VfR45Av9U3pjQ6tfrzfl8LeK4pIH/GUAqoT8cMu7S37fN0xMpZ7KD+D1rKbepqQ== +"@budibase/backend-core@2.2.10-alpha.3": + version "2.2.10-alpha.3" + resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-2.2.10-alpha.3.tgz#ab716813b47f3b6273374a8ec99a879ca0ba287a" + integrity sha512-r9UBi66yZVIyU0XU0uigdBqmkygZR+ZTn17JGpR5YDjcKRQzV60ONFbJuy3yjCJJV6MPm+6go8tzpKHLsUWqkQ== dependencies: "@budibase/nano" "10.1.1" - "@budibase/types" "2.2.4-alpha.7" + "@budibase/types" "2.2.10-alpha.3" "@shopify/jest-koa-mocks" "5.0.1" "@techpass/passport-openidconnect" "0.3.2" aws-cloudfront-sign "2.2.0" @@ -1373,13 +1373,13 @@ qs "^6.11.0" tough-cookie "^4.1.2" -"@budibase/pro@2.2.4-alpha.7": - version "2.2.4-alpha.7" - resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-2.2.4-alpha.7.tgz#47768c857ee06122411f70b70741d9852a492f71" - integrity sha512-ZKkg68BouP+jAy16rzLiq90OjQmvXOZNe5BAV0d0ni1xw3eYSlIJxbEHAhLf7sQkhLAS/ZqGsLYMP7B//RpvcQ== +"@budibase/pro@2.2.10-alpha.3": + version "2.2.10-alpha.3" + resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-2.2.10-alpha.3.tgz#bee4b40cd8dc77ca88108acc0aa585f05494b7f4" + integrity sha512-eXTG9GEuy8wdl6V+NM9ws4aHyDJoiypR62TQirB69V3qQFPa6eKoKL8d6Ck2c+HBYcXowDe7Lj9MEj1lkSochg== dependencies: - "@budibase/backend-core" "2.2.4-alpha.7" - "@budibase/types" "2.2.4-alpha.7" + "@budibase/backend-core" "2.2.10-alpha.3" + "@budibase/types" "2.2.10-alpha.3" "@koa/router" "8.0.8" bull "4.10.1" joi "17.6.0" @@ -1404,10 +1404,10 @@ svelte-apexcharts "^1.0.2" svelte-flatpickr "^3.1.0" -"@budibase/types@2.2.4-alpha.7": - version "2.2.4-alpha.7" - resolved "https://registry.yarnpkg.com/@budibase/types/-/types-2.2.4-alpha.7.tgz#65bf5183d496a0e4088ceea0aadad61c164cc8a2" - integrity sha512-UyMa6rdmWlMbnH6sSA1XHg68ojcOd2K5w09TV0FAF4tBOcSoQgzz04ufYqR4cjg/MNyk0x3ZwlNkox5WekKBQQ== +"@budibase/types@2.2.10-alpha.3": + version "2.2.10-alpha.3" + resolved "https://registry.yarnpkg.com/@budibase/types/-/types-2.2.10-alpha.3.tgz#7a5312f9f611d65ef8aecb5a56eb742484ab436f" + integrity sha512-uLkQtL2PbURew4nCZ72/T5dl1pGnx/95UzOpK7yeFO3g+3T63IrWcOCAoSigZnOfyY+3CvHfc0tV3+Y3UfTNww== "@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 5e2d9d6fa2..43d46b8ed6 100644 --- a/packages/string-templates/package.json +++ b/packages/string-templates/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/string-templates", - "version": "2.2.4-alpha.7", + "version": "2.2.10-alpha.3", "description": "Handlebars wrapper for Budibase templating.", "main": "src/index.cjs", "module": "dist/bundle.mjs", @@ -47,4 +47,4 @@ "typescript": "4.7.3" }, "gitHead": "d1836a898cab3f8ab80ee6d8f42be1a9eed7dcdc" -} \ No newline at end of file +} diff --git a/packages/types/package.json b/packages/types/package.json index e956fc125f..38b121fd32 100644 --- a/packages/types/package.json +++ b/packages/types/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/types", - "version": "2.2.4-alpha.7", + "version": "2.2.10-alpha.3", "description": "Budibase types", "main": "dist/index.js", "types": "dist/index.d.ts", @@ -14,12 +14,12 @@ "jest": {}, "devDependencies": { "@budibase/nano": "10.1.1", - "@types/formidable": "^1.0.31", "@types/json5": "2.2.0", "@types/koa": "2.13.4", "@types/node": "14.18.20", "@types/pouchdb": "6.4.0", + "koa-body": "4.2.0", "rimraf": "3.0.2", "typescript": "4.7.3" } -} \ No newline at end of file +} diff --git a/packages/types/yarn.lock b/packages/types/yarn.lock index bc22fdf93c..4acf3737a0 100644 --- a/packages/types/yarn.lock +++ b/packages/types/yarn.lock @@ -364,6 +364,11 @@ brace-expansion@^1.1.7: balanced-match "^1.0.0" concat-map "0.0.1" +bytes@3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.2.tgz#8b0beeb98605adf1b128fa4386403c009e0221a5" + integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg== + call-bind@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" @@ -372,6 +377,16 @@ call-bind@^1.0.0: function-bind "^1.1.1" get-intrinsic "^1.0.2" +co-body@^5.1.1: + version "5.2.0" + resolved "https://registry.yarnpkg.com/co-body/-/co-body-5.2.0.tgz#5a0a658c46029131e0e3a306f67647302f71c124" + integrity sha512-sX/LQ7LqUhgyaxzbe7IqwPeTr2yfpfUIQ/dgpKo6ZI4y4lpQA0YxAomWIY+7I7rHWcG02PG+OuPREzMW/5tszQ== + dependencies: + inflation "^2.0.0" + qs "^6.4.0" + raw-body "^2.2.0" + type-is "^1.6.14" + combined-stream@^1.0.8: version "1.0.8" resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" @@ -396,6 +411,11 @@ delayed-stream@~1.0.0: resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== +depd@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df" + integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== + follow-redirects@^1.15.0: version "1.15.2" resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.2.tgz#b460864144ba63f2681096f274c4e57026da2c13" @@ -410,6 +430,11 @@ form-data@^4.0.0: combined-stream "^1.0.8" mime-types "^2.1.12" +formidable@^1.1.1: + version "1.2.6" + resolved "https://registry.yarnpkg.com/formidable/-/formidable-1.2.6.tgz#d2a51d60162bbc9b4a055d8457a7c75315d1a168" + integrity sha512-KcpbcpuLNOwrEjnbpMC0gS+X8ciDoZE1kkqzat4a8vrprf+s9pKNQ/QIwWfbfs4ltgmFl3MD177SNTkve3BwGQ== + fs.realpath@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" @@ -460,6 +485,29 @@ http-cookie-agent@^4.0.2: dependencies: agent-base "^6.0.2" +http-errors@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-2.0.0.tgz#b7774a1486ef73cf7667ac9ae0858c012c57b9d3" + integrity sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ== + dependencies: + depd "2.0.0" + inherits "2.0.4" + setprototypeof "1.2.0" + statuses "2.0.1" + toidentifier "1.0.1" + +iconv-lite@0.4.24: + version "0.4.24" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" + integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== + dependencies: + safer-buffer ">= 2.1.2 < 3" + +inflation@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/inflation/-/inflation-2.0.0.tgz#8b417e47c28f925a45133d914ca1fd389107f30f" + integrity sha512-m3xv4hJYR2oXw4o4Y5l6P5P16WYmazYof+el6Al3f+YlggGj6qT9kImBAnzDelRALnP5d3h4jGBPKzYCizjZZw== + inflight@^1.0.4: version "1.0.6" resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" @@ -468,7 +516,7 @@ inflight@^1.0.4: once "^1.3.0" wrappy "1" -inherits@2: +inherits@2, inherits@2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== @@ -478,12 +526,26 @@ json5@*: resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.1.tgz#655d50ed1e6f95ad1a3caababd2b0efda10b395c" integrity sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA== +koa-body@4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/koa-body/-/koa-body-4.2.0.tgz#37229208b820761aca5822d14c5fc55cee31b26f" + integrity sha512-wdGu7b9amk4Fnk/ytH8GuWwfs4fsB5iNkY8kZPpgQVb04QZSv85T0M8reb+cJmvLE8cjPYvBzRikD3s6qz8OoA== + dependencies: + "@types/formidable" "^1.0.31" + co-body "^5.1.1" + formidable "^1.1.1" + +media-typer@0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" + integrity sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ== + mime-db@1.52.0: version "1.52.0" resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== -mime-types@^2.1.12: +mime-types@^2.1.12, mime-types@~2.1.24: version "2.1.35" resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== @@ -539,7 +601,7 @@ punycode@^2.1.1: resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== -qs@^6.11.0: +qs@^6.11.0, qs@^6.4.0: version "6.11.0" resolved "https://registry.yarnpkg.com/qs/-/qs-6.11.0.tgz#fd0d963446f7a65e1367e01abd85429453f0c37a" integrity sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q== @@ -551,6 +613,16 @@ querystringify@^2.1.1: resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.2.0.tgz#3345941b4153cb9d082d8eee4cda2016a9aef7f6" integrity sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ== +raw-body@^2.2.0: + version "2.5.1" + resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.5.1.tgz#fe1b1628b181b700215e5fd42389f98b71392857" + integrity sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig== + dependencies: + bytes "3.1.2" + http-errors "2.0.0" + iconv-lite "0.4.24" + unpipe "1.0.0" + requires-port@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" @@ -563,6 +635,16 @@ rimraf@3.0.2: dependencies: glob "^7.1.3" +"safer-buffer@>= 2.1.2 < 3": + version "2.1.2" + resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" + integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== + +setprototypeof@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.2.0.tgz#66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424" + integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw== + side-channel@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf" @@ -572,6 +654,16 @@ side-channel@^1.0.4: get-intrinsic "^1.0.2" object-inspect "^1.9.0" +statuses@2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/statuses/-/statuses-2.0.1.tgz#55cb000ccf1d48728bd23c685a063998cf1a1b63" + integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== + +toidentifier@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35" + integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA== + tough-cookie@^4.1.2: version "4.1.2" resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-4.1.2.tgz#e53e84b85f24e0b65dd526f46628db6c85f6b874" @@ -582,6 +674,14 @@ tough-cookie@^4.1.2: universalify "^0.2.0" url-parse "^1.5.3" +type-is@^1.6.14: + version "1.6.18" + resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131" + integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g== + dependencies: + media-typer "0.3.0" + mime-types "~2.1.24" + typescript@4.7.3: version "4.7.3" resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.7.3.tgz#8364b502d5257b540f9de4c40be84c98e23a129d" @@ -592,6 +692,11 @@ universalify@^0.2.0: resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.2.0.tgz#6451760566fa857534745ab1dde952d1b1761be0" integrity sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg== +unpipe@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" + integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ== + url-parse@^1.5.3: version "1.5.10" resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.5.10.tgz#9d3c2f736c1d75dd3bd2be507dcc111f1e2ea9c1" diff --git a/packages/worker/package.json b/packages/worker/package.json index cbad812bb3..d23b6630a8 100644 --- a/packages/worker/package.json +++ b/packages/worker/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/worker", "email": "hi@budibase.com", - "version": "2.2.4-alpha.7", + "version": "2.2.10-alpha.3", "description": "Budibase background service", "main": "src/index.ts", "repository": { @@ -36,10 +36,10 @@ "author": "Budibase", "license": "GPL-3.0", "dependencies": { - "@budibase/backend-core": "2.2.4-alpha.7", - "@budibase/pro": "2.2.4-alpha.7", - "@budibase/string-templates": "2.2.4-alpha.7", - "@budibase/types": "2.2.4-alpha.7", + "@budibase/backend-core": "2.2.10-alpha.3", + "@budibase/pro": "2.2.10-alpha.3", + "@budibase/string-templates": "2.2.10-alpha.3", + "@budibase/types": "2.2.10-alpha.3", "@koa/router": "8.0.8", "@sentry/node": "6.17.7", "@techpass/passport-openidconnect": "0.3.2", @@ -96,4 +96,4 @@ "update-dotenv": "1.1.1" }, "gitHead": "d1836a898cab3f8ab80ee6d8f42be1a9eed7dcdc" -} \ No newline at end of file +} diff --git a/packages/worker/yarn.lock b/packages/worker/yarn.lock index 5a1a31207c..8a39c1859d 100644 --- a/packages/worker/yarn.lock +++ b/packages/worker/yarn.lock @@ -470,13 +470,13 @@ resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== -"@budibase/backend-core@2.2.4-alpha.7": - version "2.2.4-alpha.7" - resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-2.2.4-alpha.7.tgz#24cb6e969918bd3f3f3c8f7bf0371369139a92ef" - integrity sha512-n4ItEFWeDKYKlll0pCjh+A9VfR45Av9U3pjQ6tfrzfl8LeK4pIH/GUAqoT8cMu7S37fN0xMpZ7KD+D1rKbepqQ== +"@budibase/backend-core@2.2.10-alpha.3": + version "2.2.10-alpha.3" + resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-2.2.10-alpha.3.tgz#ab716813b47f3b6273374a8ec99a879ca0ba287a" + integrity sha512-r9UBi66yZVIyU0XU0uigdBqmkygZR+ZTn17JGpR5YDjcKRQzV60ONFbJuy3yjCJJV6MPm+6go8tzpKHLsUWqkQ== dependencies: "@budibase/nano" "10.1.1" - "@budibase/types" "2.2.4-alpha.7" + "@budibase/types" "2.2.10-alpha.3" "@shopify/jest-koa-mocks" "5.0.1" "@techpass/passport-openidconnect" "0.3.2" aws-cloudfront-sign "2.2.0" @@ -520,23 +520,23 @@ qs "^6.11.0" tough-cookie "^4.1.2" -"@budibase/pro@2.2.4-alpha.7": - version "2.2.4-alpha.7" - resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-2.2.4-alpha.7.tgz#47768c857ee06122411f70b70741d9852a492f71" - integrity sha512-ZKkg68BouP+jAy16rzLiq90OjQmvXOZNe5BAV0d0ni1xw3eYSlIJxbEHAhLf7sQkhLAS/ZqGsLYMP7B//RpvcQ== +"@budibase/pro@2.2.10-alpha.3": + version "2.2.10-alpha.3" + resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-2.2.10-alpha.3.tgz#bee4b40cd8dc77ca88108acc0aa585f05494b7f4" + integrity sha512-eXTG9GEuy8wdl6V+NM9ws4aHyDJoiypR62TQirB69V3qQFPa6eKoKL8d6Ck2c+HBYcXowDe7Lj9MEj1lkSochg== dependencies: - "@budibase/backend-core" "2.2.4-alpha.7" - "@budibase/types" "2.2.4-alpha.7" + "@budibase/backend-core" "2.2.10-alpha.3" + "@budibase/types" "2.2.10-alpha.3" "@koa/router" "8.0.8" bull "4.10.1" joi "17.6.0" jsonwebtoken "8.5.1" node-fetch "^2.6.1" -"@budibase/types@2.2.4-alpha.7": - version "2.2.4-alpha.7" - resolved "https://registry.yarnpkg.com/@budibase/types/-/types-2.2.4-alpha.7.tgz#65bf5183d496a0e4088ceea0aadad61c164cc8a2" - integrity sha512-UyMa6rdmWlMbnH6sSA1XHg68ojcOd2K5w09TV0FAF4tBOcSoQgzz04ufYqR4cjg/MNyk0x3ZwlNkox5WekKBQQ== +"@budibase/types@2.2.10-alpha.3": + version "2.2.10-alpha.3" + resolved "https://registry.yarnpkg.com/@budibase/types/-/types-2.2.10-alpha.3.tgz#7a5312f9f611d65ef8aecb5a56eb742484ab436f" + integrity sha512-uLkQtL2PbURew4nCZ72/T5dl1pGnx/95UzOpK7yeFO3g+3T63IrWcOCAoSigZnOfyY+3CvHfc0tV3+Y3UfTNww== "@cspotcode/source-map-support@^0.8.0": version "0.8.1"