diff --git a/hosting/docker-compose.yaml b/hosting/docker-compose.yaml index 5281155545..7d3e6960dc 100644 --- a/hosting/docker-compose.yaml +++ b/hosting/docker-compose.yaml @@ -75,7 +75,7 @@ services: ports: - "${MAIN_PORT}:10000" container_name: bbproxy - image: proxy-service + image: budibase/proxy environment: - PROXY_RATE_LIMIT_WEBHOOKS_PER_SECOND=10 depends_on: diff --git a/lerna.json b/lerna.json index 6b58661011..405c088ea0 100644 --- a/lerna.json +++ b/lerna.json @@ -1,5 +1,5 @@ { - "version": "1.2.28-alpha.1", + "version": "1.2.30", "npmClient": "yarn", "packages": [ "packages/*" diff --git a/packages/backend-core/package.json b/packages/backend-core/package.json index ccbbc9bb53..5122ff14c1 100644 --- a/packages/backend-core/package.json +++ b/packages/backend-core/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/backend-core", - "version": "1.2.28-alpha.1", + "version": "1.2.30", "description": "Budibase backend core libraries used in server and worker", "main": "dist/src/index.js", "types": "dist/src/index.d.ts", @@ -20,7 +20,7 @@ "test:watch": "jest --watchAll" }, "dependencies": { - "@budibase/types": "1.2.28-alpha.1", + "@budibase/types": "^1.2.30", "@techpass/passport-openidconnect": "0.3.2", "aws-sdk": "2.1030.0", "bcrypt": "5.0.1", diff --git a/packages/backend-core/src/events/emit/BBEventEmitter.ts b/packages/backend-core/src/events/emit/BBEventEmitter.ts deleted file mode 100644 index 41668858e1..0000000000 --- a/packages/backend-core/src/events/emit/BBEventEmitter.ts +++ /dev/null @@ -1,27 +0,0 @@ -import { EventEmitter } from "events" -import * as context from "../../context" -import { Identity, Event } from "@budibase/types" - -export interface EmittedEvent { - tenantId: string - identity: Identity - appId: string | undefined - properties: any -} - -class BBEventEmitter extends EventEmitter { - emitEvent(event: Event, properties: any, identity: Identity) { - const tenantId = context.getTenantId() - const appId = context.getAppId() - - const emittedEvent: EmittedEvent = { - tenantId, - identity, - appId, - properties, - } - this.emit(event, emittedEvent) - } -} - -export const emitter = new BBEventEmitter() diff --git a/packages/backend-core/src/events/emit/index.ts b/packages/backend-core/src/events/emit/index.ts deleted file mode 100644 index 60e47f7a13..0000000000 --- a/packages/backend-core/src/events/emit/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "./BBEventEmitter" diff --git a/packages/backend-core/src/events/events.ts b/packages/backend-core/src/events/events.ts index 63fedf4754..cda90d12c9 100644 --- a/packages/backend-core/src/events/events.ts +++ b/packages/backend-core/src/events/events.ts @@ -2,41 +2,6 @@ import { Event } from "@budibase/types" import { processors } from "./processors" import * as identification from "./identification" import * as backfill from "./backfill" -import { emitter, EmittedEvent } from "./emit" -import * as context from "../context" -import * as logging from "../logging" - -const USE_EMITTER: any[] = [ - Event.SERVED_BUILDER, - Event.SERVED_APP, - Event.SERVED_APP_PREVIEW, -] - -for (let event of USE_EMITTER) { - emitter.on(event, async (props: EmittedEvent) => { - try { - await context.doInTenant(props.tenantId, async () => { - if (props.appId) { - await context.doInAppContext(props.appId, async () => { - await processors.processEvent( - event as Event, - props.identity, - props.properties - ) - }) - } else { - await processors.processEvent( - event as Event, - props.identity, - props.properties - ) - } - }) - } catch (e) { - logging.logAlert(`Unable to process async event ${event}`, e) - } - }) -} export const publishEvent = async ( event: Event, @@ -46,11 +11,6 @@ export const publishEvent = async ( // in future this should use async events via a distributed queue. const identity = await identification.getCurrentIdentity() - if (USE_EMITTER.includes(event)) { - emitter.emitEvent(event, properties, identity) - return - } - const backfilling = await backfill.isBackfillingEvent(event) // no backfill - send the event and exit if (!backfilling) { diff --git a/packages/backend-core/src/events/publishers/serve.ts b/packages/backend-core/src/events/publishers/serve.ts index 13afede029..128e0b9b11 100644 --- a/packages/backend-core/src/events/publishers/serve.ts +++ b/packages/backend-core/src/events/publishers/serve.ts @@ -7,22 +7,26 @@ import { AppServedEvent, } from "@budibase/types" -export async function servedBuilder() { - const properties: BuilderServedEvent = {} +export async function servedBuilder(timezone: string) { + const properties: BuilderServedEvent = { + timezone, + } await publishEvent(Event.SERVED_BUILDER, properties) } -export async function servedApp(app: App) { +export async function servedApp(app: App, timezone: string) { const properties: AppServedEvent = { appVersion: app.version, + timezone, } await publishEvent(Event.SERVED_APP, properties) } -export async function servedAppPreview(app: App) { +export async function servedAppPreview(app: App, timezone: string) { const properties: AppPreviewServedEvent = { appId: app.appId, appVersion: app.version, + timezone, } await publishEvent(Event.SERVED_APP_PREVIEW, properties) } diff --git a/packages/bbui/package.json b/packages/bbui/package.json index e9508e53d4..28721bba6f 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": "1.2.28-alpha.1", + "version": "1.2.30", "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": "1.2.28-alpha.1", + "@budibase/string-templates": "^1.2.30", "@spectrum-css/actionbutton": "^1.0.1", "@spectrum-css/actiongroup": "^1.0.1", "@spectrum-css/avatar": "^3.0.2", diff --git a/packages/builder/package.json b/packages/builder/package.json index 045f6ce2d3..e384e073a2 100644 --- a/packages/builder/package.json +++ b/packages/builder/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/builder", - "version": "1.2.28-alpha.1", + "version": "1.2.30", "license": "GPL-3.0", "private": true, "scripts": { @@ -69,10 +69,10 @@ } }, "dependencies": { - "@budibase/bbui": "1.2.28-alpha.1", - "@budibase/client": "1.2.28-alpha.1", - "@budibase/frontend-core": "1.2.28-alpha.1", - "@budibase/string-templates": "1.2.28-alpha.1", + "@budibase/bbui": "^1.2.30", + "@budibase/client": "^1.2.30", + "@budibase/frontend-core": "^1.2.30", + "@budibase/string-templates": "^1.2.30", "@sentry/browser": "5.19.1", "@spectrum-css/page": "^3.0.1", "@spectrum-css/vars": "^3.0.1", diff --git a/packages/builder/src/components/design/settings/controls/ButtonActionEditor/actions/ExecuteQuery.svelte b/packages/builder/src/components/design/settings/controls/ButtonActionEditor/actions/ExecuteQuery.svelte index 462ee71cbe..042a55d761 100644 --- a/packages/builder/src/components/design/settings/controls/ButtonActionEditor/actions/ExecuteQuery.svelte +++ b/packages/builder/src/components/design/settings/controls/ButtonActionEditor/actions/ExecuteQuery.svelte @@ -3,6 +3,7 @@ import { datasources, integrations, queries } from "stores/backend" import BindingBuilder from "components/integration/QueryBindingBuilder.svelte" import IntegrationQueryEditor from "components/integration/index.svelte" + import { IntegrationTypes } from "constants/backend" export let parameters export let bindings = [] @@ -11,6 +12,12 @@ $: datasource = $datasources.list.find( ds => ds._id === parameters.datasourceId ) + // Executequery action just works on PostgreSQL and MongoDB datasources + $: executeQueryDatasources = $datasources.list.filter( + x => + x.source === IntegrationTypes.POSTGRES || + x.source === IntegrationTypes.MONGODB + ) function fetchQueryDefinition(query) { const source = $datasources.list.find( @@ -24,7 +31,7 @@