diff --git a/.github/workflows/budibase_ci.yml b/.github/workflows/budibase_ci.yml index 1a2e74f863..d095e3c2a4 100644 --- a/.github/workflows/budibase_ci.yml +++ b/.github/workflows/budibase_ci.yml @@ -56,7 +56,6 @@ jobs: run: yarn install:pro $BRANCH $BASE_BRANCH - run: yarn - run: yarn bootstrap - - run: yarn build:client - run: yarn test - uses: codecov/codecov-action@v3 with: @@ -78,28 +77,28 @@ jobs: - run: yarn bootstrap - run: yarn test:pro - integration-test: - runs-on: ubuntu-latest - services: - couchdb: - image: ibmcom/couchdb3 - env: - COUCHDB_PASSWORD: budibase - COUCHDB_USER: budibase - ports: - - 4567:5984 - steps: - - uses: actions/checkout@v2 - - name: Use Node.js 14.x - uses: actions/setup-node@v1 - with: - node-version: 14.x - - name: Install Pro - run: yarn install:pro $BRANCH $BASE_BRANCH - - run: yarn - - run: yarn bootstrap - - run: yarn build - - run: | - cd qa-core - yarn - yarn api:test:ci +# integration-test: +# runs-on: ubuntu-latest +# services: +# couchdb: +# image: ibmcom/couchdb3 +# env: +# COUCHDB_PASSWORD: budibase +# COUCHDB_USER: budibase +# ports: +# - 4567:5984 +# steps: +# - uses: actions/checkout@v2 +# - name: Use Node.js 14.x +# uses: actions/setup-node@v1 +# with: +# node-version: 14.x +# - name: Install Pro +# run: yarn install:pro $BRANCH $BASE_BRANCH +# - run: yarn +# - run: yarn bootstrap +# - run: yarn build +# - run: | +# cd qa-core +# yarn +# yarn api:test:ci diff --git a/lerna.json b/lerna.json index 7926e03ecb..7db5c851c2 100644 --- a/lerna.json +++ b/lerna.json @@ -1,5 +1,5 @@ { - "version": "2.4.42-alpha.5", + "version": "2.4.43", "npmClient": "yarn", "packages": [ "packages/*" diff --git a/package.json b/package.json index 592d389dec..1ae713f96c 100644 --- a/package.json +++ b/package.json @@ -25,7 +25,6 @@ "setup": "node ./hosting/scripts/setup.js && yarn && yarn bootstrap && yarn build && yarn dev", "bootstrap": "lerna bootstrap && lerna link && ./scripts/link-dependencies.sh", "build": "lerna run build", - "build:client": "lerna run build --ignore @budibase/backend-core --ignore @budibase/worker --ignore @budibase/server --ignore @budibase/builder --ignore @budibase/cli --ignore @budibase/sdk", "build:dev": "lerna run prebuild && tsc --build --watch --preserveWatchOutput", "build:backend": "lerna run build --ignore @budibase/client --ignore @budibase/bbui --ignore @budibase/builder --ignore @budibase/cli", "build:sdk": "lerna run build:sdk", @@ -45,7 +44,7 @@ "dev": "yarn run kill-all && lerna link && lerna run --parallel dev:builder --concurrency 1", "dev:noserver": "yarn run kill-builder && lerna link && lerna run dev:stack:up && lerna run --parallel dev:builder --concurrency 1 --ignore @budibase/backend-core --ignore @budibase/server --ignore @budibase/worker", "dev:server": "yarn run kill-server && lerna run --parallel dev:builder --concurrency 1 --scope @budibase/backend-core --scope @budibase/worker --scope @budibase/server", - "test": "lerna run test", + "test": "lerna run test --stream", "test:pro": "bash scripts/pro/test.sh", "lint:eslint": "eslint packages && eslint qa-core", "lint:prettier": "prettier --check \"packages/**/*.{js,ts,svelte}\" && prettier --write \"examples/**/*.{js,ts,svelte}\" && prettier --check \"qa-core/**/*.{js,ts,svelte}\"", diff --git a/packages/backend-core/package.json b/packages/backend-core/package.json index e7c6217cee..fcc5acd8d3 100644 --- a/packages/backend-core/package.json +++ b/packages/backend-core/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/backend-core", - "version": "2.4.42-alpha.5", + "version": "2.4.43", "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.2", "@budibase/pouchdb-replication-stream": "1.2.10", - "@budibase/types": "2.4.42-alpha.5", + "@budibase/types": "^2.4.43", "@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/scripts/test.sh b/packages/backend-core/scripts/test.sh index 2965134399..3d8240e65a 100644 --- a/packages/backend-core/scripts/test.sh +++ b/packages/backend-core/scripts/test.sh @@ -1,4 +1,5 @@ #!/bin/bash +set -e if [[ -n $CI ]] then @@ -7,6 +8,6 @@ then jest --coverage --runInBand --forceExit else # --maxWorkers performs better in development - echo "jest --coverage" - jest --coverage -fi + echo "jest --coverage --forceExit" + jest --coverage --forceExit +fi \ No newline at end of file diff --git a/packages/backend-core/src/configs/configs.ts b/packages/backend-core/src/configs/configs.ts index b461497747..c279babb71 100644 --- a/packages/backend-core/src/configs/configs.ts +++ b/packages/backend-core/src/configs/configs.ts @@ -32,8 +32,7 @@ export async function getConfig( const db = context.getGlobalDB() try { // await to catch error - const config = (await db.get(generateConfigID(type))) as T - return config + return (await db.get(generateConfigID(type))) as T } catch (e: any) { if (e.status === 404) { return diff --git a/packages/backend-core/src/middleware/passport/datasource/google.ts b/packages/backend-core/src/middleware/passport/datasource/google.ts index 32451cb8d2..6fd4e9ff32 100644 --- a/packages/backend-core/src/middleware/passport/datasource/google.ts +++ b/packages/backend-core/src/middleware/passport/datasource/google.ts @@ -78,17 +78,23 @@ export async function postAuth( ), { successRedirect: "/", failureRedirect: "/error" }, async (err: any, tokens: string[]) => { + const baseUrl = `/builder/app/${authStateCookie.appId}/data` // update the DB for the datasource with all the user info await doWithDB(authStateCookie.appId, async (db: Database) => { - const datasource = await db.get(authStateCookie.datasourceId) + let datasource + try { + datasource = await db.get(authStateCookie.datasourceId) + } catch (err: any) { + if (err.status === 404) { + ctx.redirect(baseUrl) + } + } if (!datasource.config) { datasource.config = {} } datasource.config.auth = { type: "google", ...tokens } await db.put(datasource) - ctx.redirect( - `/builder/app/${authStateCookie.appId}/data/datasource/${authStateCookie.datasourceId}` - ) + ctx.redirect(`${baseUrl}/datasource/${authStateCookie.datasourceId}`) }) } )(ctx, next) diff --git a/packages/backend-core/tests/utilities/structures/index.ts b/packages/backend-core/tests/utilities/structures/index.ts index ca77f476d0..ff2e5b147f 100644 --- a/packages/backend-core/tests/utilities/structures/index.ts +++ b/packages/backend-core/tests/utilities/structures/index.ts @@ -8,4 +8,5 @@ export * as plugins from "./plugins" export * as sso from "./sso" export * as tenant from "./tenants" export * as users from "./users" +export * as userGroups from "./userGroups" export { generator } from "./generator" diff --git a/packages/backend-core/tests/utilities/structures/userGroups.ts b/packages/backend-core/tests/utilities/structures/userGroups.ts new file mode 100644 index 0000000000..4dc870a00a --- /dev/null +++ b/packages/backend-core/tests/utilities/structures/userGroups.ts @@ -0,0 +1,10 @@ +import { UserGroup } from "@budibase/types" +import { generator } from "./generator" + +export function userGroup(): UserGroup { + return { + name: generator.word(), + icon: generator.word(), + color: generator.word(), + } +} diff --git a/packages/bbui/package.json b/packages/bbui/package.json index b4c0241a49..c4cf512fce 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.4.42-alpha.5", + "version": "2.4.43", "license": "MPL-2.0", "svelte": "src/index.js", "module": "dist/bbui.es.js", @@ -38,8 +38,8 @@ ], "dependencies": { "@adobe/spectrum-css-workflow-icons": "1.2.1", - "@budibase/shared-core": "2.4.42-alpha.5", - "@budibase/string-templates": "2.4.42-alpha.5", + "@budibase/shared-core": "^2.4.43", + "@budibase/string-templates": "^2.4.43", "@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 1e175eb757..51bce9ab4a 100644 --- a/packages/builder/package.json +++ b/packages/builder/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/builder", - "version": "2.4.42-alpha.5", + "version": "2.4.43", "license": "GPL-3.0", "private": true, "scripts": { @@ -58,11 +58,11 @@ } }, "dependencies": { - "@budibase/bbui": "2.4.42-alpha.5", - "@budibase/client": "2.4.42-alpha.5", - "@budibase/frontend-core": "2.4.42-alpha.5", - "@budibase/shared-core": "2.4.42-alpha.5", - "@budibase/string-templates": "2.4.42-alpha.5", + "@budibase/bbui": "^2.4.43", + "@budibase/client": "^2.4.43", + "@budibase/frontend-core": "^2.4.43", + "@budibase/shared-core": "^2.4.43", + "@budibase/string-templates": "^2.4.43", "@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/DatasourceNavigator/_components/GoogleButton.svelte b/packages/builder/src/components/backend/DatasourceNavigator/_components/GoogleButton.svelte index 4622bd7b19..0cf92dde2b 100644 --- a/packages/builder/src/components/backend/DatasourceNavigator/_components/GoogleButton.svelte +++ b/packages/builder/src/components/backend/DatasourceNavigator/_components/GoogleButton.svelte @@ -5,18 +5,28 @@ export let preAuthStep export let datasource + export let disabled $: tenantId = $auth.tenantId