Merge branch 'develop' of github.com:Budibase/budibase into fix/single-image
This commit is contained in:
commit
ccaec179fd
|
@ -93,6 +93,10 @@ spec:
|
||||||
value: {{ .Values.globals.selfHosted | quote }}
|
value: {{ .Values.globals.selfHosted | quote }}
|
||||||
- name: SENTRY_DSN
|
- name: SENTRY_DSN
|
||||||
value: {{ .Values.globals.sentryDSN }}
|
value: {{ .Values.globals.sentryDSN }}
|
||||||
|
- name: ENABLE_ANALYTICS
|
||||||
|
value: {{ .Values.globals.enableAnalytics | quote }}
|
||||||
|
- name: POSTHOG_TOKEN
|
||||||
|
value: {{ .Values.globals.posthogToken }}
|
||||||
- name: ACCOUNT_PORTAL_URL
|
- name: ACCOUNT_PORTAL_URL
|
||||||
value: {{ .Values.globals.accountPortalUrl | quote }}
|
value: {{ .Values.globals.accountPortalUrl | quote }}
|
||||||
- name: ACCOUNT_PORTAL_API_KEY
|
- name: ACCOUNT_PORTAL_API_KEY
|
||||||
|
|
|
@ -89,7 +89,7 @@ affinity: {}
|
||||||
globals:
|
globals:
|
||||||
appVersion: "latest"
|
appVersion: "latest"
|
||||||
budibaseEnv: PRODUCTION
|
budibaseEnv: PRODUCTION
|
||||||
enableAnalytics: true
|
enableAnalytics: "1"
|
||||||
sentryDSN: ""
|
sentryDSN: ""
|
||||||
posthogToken: "phc_fg5I3nDOf6oJVMHSaycEhpPdlgS8rzXG2r6F2IpxCHS"
|
posthogToken: "phc_fg5I3nDOf6oJVMHSaycEhpPdlgS8rzXG2r6F2IpxCHS"
|
||||||
logLevel: info
|
logLevel: info
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
{
|
{
|
||||||
"version": "1.0.200-alpha.3",
|
"version": "1.0.206",
|
||||||
"npmClient": "yarn",
|
"npmClient": "yarn",
|
||||||
"packages": [
|
"packages": [
|
||||||
"packages/*"
|
"packages/*"
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "@budibase/backend-core",
|
"name": "@budibase/backend-core",
|
||||||
"version": "1.0.200-alpha.3",
|
"version": "1.0.206",
|
||||||
"description": "Budibase backend core libraries used in server and worker",
|
"description": "Budibase backend core libraries used in server and worker",
|
||||||
"main": "dist/src/index.js",
|
"main": "dist/src/index.js",
|
||||||
"types": "dist/src/index.d.ts",
|
"types": "dist/src/index.d.ts",
|
||||||
|
@ -13,13 +13,13 @@
|
||||||
"license": "GPL-3.0",
|
"license": "GPL-3.0",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"prebuild": "rimraf dist/",
|
"prebuild": "rimraf dist/",
|
||||||
|
"prepack": "cp package.json dist",
|
||||||
"build": "tsc -p tsconfig.build.json",
|
"build": "tsc -p tsconfig.build.json",
|
||||||
"build:dev": "yarn prebuild && tsc --build --watch --preserveWatchOutput",
|
"build:dev": "yarn prebuild && tsc --build --watch --preserveWatchOutput",
|
||||||
"test": "jest",
|
"test": "jest",
|
||||||
"test:watch": "jest --watchAll"
|
"test:watch": "jest --watchAll"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@budibase/types": "^1.0.200-alpha.3",
|
|
||||||
"@techpass/passport-openidconnect": "0.3.2",
|
"@techpass/passport-openidconnect": "0.3.2",
|
||||||
"aws-sdk": "2.1030.0",
|
"aws-sdk": "2.1030.0",
|
||||||
"bcrypt": "5.0.1",
|
"bcrypt": "5.0.1",
|
||||||
|
@ -57,6 +57,7 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
|
"@budibase/types": "^1.0.206",
|
||||||
"@shopify/jest-koa-mocks": "3.1.5",
|
"@shopify/jest-koa-mocks": "3.1.5",
|
||||||
"@types/jest": "27.5.1",
|
"@types/jest": "27.5.1",
|
||||||
"@types/koa": "2.0.52",
|
"@types/koa": "2.0.52",
|
||||||
|
|
|
@ -14,7 +14,6 @@ import {
|
||||||
CloudAccount,
|
CloudAccount,
|
||||||
UserIdentity,
|
UserIdentity,
|
||||||
InstallationGroup,
|
InstallationGroup,
|
||||||
isSelfHostAccount,
|
|
||||||
UserContext,
|
UserContext,
|
||||||
Group,
|
Group,
|
||||||
} from "@budibase/types"
|
} from "@budibase/types"
|
||||||
|
@ -36,6 +35,7 @@ const pkg = require("../../package.json")
|
||||||
*/
|
*/
|
||||||
export const getCurrentIdentity = async (): Promise<Identity> => {
|
export const getCurrentIdentity = async (): Promise<Identity> => {
|
||||||
let identityContext = identityCtx.getIdentity()
|
let identityContext = identityCtx.getIdentity()
|
||||||
|
const environment = getDeploymentEnvironment()
|
||||||
|
|
||||||
let identityType
|
let identityType
|
||||||
|
|
||||||
|
@ -47,36 +47,47 @@ export const getCurrentIdentity = async (): Promise<Identity> => {
|
||||||
|
|
||||||
if (identityType === IdentityType.INSTALLATION) {
|
if (identityType === IdentityType.INSTALLATION) {
|
||||||
const installationId = await getInstallationId()
|
const installationId = await getInstallationId()
|
||||||
|
const hosting = getHostingFromEnv()
|
||||||
return {
|
return {
|
||||||
id: formatDistinctId(installationId, identityType),
|
id: formatDistinctId(installationId, identityType),
|
||||||
|
hosting,
|
||||||
type: identityType,
|
type: identityType,
|
||||||
installationId,
|
installationId,
|
||||||
|
environment,
|
||||||
}
|
}
|
||||||
} else if (identityType === IdentityType.TENANT) {
|
} else if (identityType === IdentityType.TENANT) {
|
||||||
const installationId = await getInstallationId()
|
const installationId = await getInstallationId()
|
||||||
const tenantId = await getEventTenantId(context.getTenantId())
|
const tenantId = await getEventTenantId(context.getTenantId())
|
||||||
|
const hosting = getHostingFromEnv()
|
||||||
|
|
||||||
return {
|
return {
|
||||||
id: formatDistinctId(tenantId, identityType),
|
id: formatDistinctId(tenantId, identityType),
|
||||||
type: identityType,
|
type: identityType,
|
||||||
|
hosting,
|
||||||
installationId,
|
installationId,
|
||||||
tenantId,
|
tenantId,
|
||||||
|
environment,
|
||||||
}
|
}
|
||||||
} else if (identityType === IdentityType.USER) {
|
} else if (identityType === IdentityType.USER) {
|
||||||
const userContext = identityContext as UserContext
|
const userContext = identityContext as UserContext
|
||||||
const tenantId = await getEventTenantId(context.getTenantId())
|
const tenantId = await getEventTenantId(context.getTenantId())
|
||||||
let installationId: string | undefined
|
const installationId = await getInstallationId()
|
||||||
|
|
||||||
// self host account users won't have installation
|
const account = userContext.account
|
||||||
if (!userContext.account || !isSelfHostAccount(userContext.account)) {
|
let hosting
|
||||||
installationId = await getInstallationId()
|
if (account) {
|
||||||
|
hosting = account.hosting
|
||||||
|
} else {
|
||||||
|
hosting = getHostingFromEnv()
|
||||||
}
|
}
|
||||||
|
|
||||||
return {
|
return {
|
||||||
id: userContext._id,
|
id: userContext._id,
|
||||||
type: identityType,
|
type: identityType,
|
||||||
|
hosting,
|
||||||
installationId,
|
installationId,
|
||||||
tenantId,
|
tenantId,
|
||||||
|
environment,
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
throw new Error("Unknown identity type")
|
throw new Error("Unknown identity type")
|
||||||
|
@ -91,12 +102,14 @@ export const identifyInstallationGroup = async (
|
||||||
const type = IdentityType.INSTALLATION
|
const type = IdentityType.INSTALLATION
|
||||||
const hosting = getHostingFromEnv()
|
const hosting = getHostingFromEnv()
|
||||||
const version = pkg.version
|
const version = pkg.version
|
||||||
|
const environment = getDeploymentEnvironment()
|
||||||
|
|
||||||
const group: InstallationGroup = {
|
const group: InstallationGroup = {
|
||||||
id,
|
id,
|
||||||
type,
|
type,
|
||||||
hosting,
|
hosting,
|
||||||
version,
|
version,
|
||||||
|
environment,
|
||||||
}
|
}
|
||||||
|
|
||||||
await identifyGroup(group, timestamp)
|
await identifyGroup(group, timestamp)
|
||||||
|
@ -112,6 +125,8 @@ export const identifyTenantGroup = async (
|
||||||
): Promise<void> => {
|
): Promise<void> => {
|
||||||
const id = await getEventTenantId(tenantId)
|
const id = await getEventTenantId(tenantId)
|
||||||
const type = IdentityType.TENANT
|
const type = IdentityType.TENANT
|
||||||
|
const installationId = await getInstallationId()
|
||||||
|
const environment = getDeploymentEnvironment()
|
||||||
|
|
||||||
let hosting: Hosting
|
let hosting: Hosting
|
||||||
let profession: string | undefined
|
let profession: string | undefined
|
||||||
|
@ -129,6 +144,8 @@ export const identifyTenantGroup = async (
|
||||||
id,
|
id,
|
||||||
type,
|
type,
|
||||||
hosting,
|
hosting,
|
||||||
|
environment,
|
||||||
|
installationId,
|
||||||
profession,
|
profession,
|
||||||
companySize,
|
companySize,
|
||||||
}
|
}
|
||||||
|
@ -154,10 +171,13 @@ export const identifyUser = async (
|
||||||
const verified =
|
const verified =
|
||||||
account && account?.budibaseUserId === user._id ? account.verified : false
|
account && account?.budibaseUserId === user._id ? account.verified : false
|
||||||
const installationId = await getInstallationId()
|
const installationId = await getInstallationId()
|
||||||
|
const hosting = account ? account.hosting : getHostingFromEnv()
|
||||||
|
const environment = getDeploymentEnvironment()
|
||||||
|
|
||||||
const identity: UserIdentity = {
|
const identity: UserIdentity = {
|
||||||
id,
|
id,
|
||||||
type,
|
type,
|
||||||
|
hosting,
|
||||||
installationId,
|
installationId,
|
||||||
tenantId,
|
tenantId,
|
||||||
verified,
|
verified,
|
||||||
|
@ -165,6 +185,7 @@ export const identifyUser = async (
|
||||||
providerType,
|
providerType,
|
||||||
builder,
|
builder,
|
||||||
admin,
|
admin,
|
||||||
|
environment,
|
||||||
}
|
}
|
||||||
|
|
||||||
await identify(identity, timestamp)
|
await identify(identity, timestamp)
|
||||||
|
@ -177,6 +198,9 @@ export const identifyAccount = async (account: Account) => {
|
||||||
let providerType = isSSOAccount(account) ? account.providerType : undefined
|
let providerType = isSSOAccount(account) ? account.providerType : undefined
|
||||||
const verified = account.verified
|
const verified = account.verified
|
||||||
const accountHolder = true
|
const accountHolder = true
|
||||||
|
const hosting = account.hosting
|
||||||
|
const installationId = await getInstallationId()
|
||||||
|
const environment = getDeploymentEnvironment()
|
||||||
|
|
||||||
if (isCloudAccount(account)) {
|
if (isCloudAccount(account)) {
|
||||||
if (account.budibaseUserId) {
|
if (account.budibaseUserId) {
|
||||||
|
@ -188,10 +212,13 @@ export const identifyAccount = async (account: Account) => {
|
||||||
const identity: UserIdentity = {
|
const identity: UserIdentity = {
|
||||||
id,
|
id,
|
||||||
type,
|
type,
|
||||||
|
hosting,
|
||||||
|
installationId,
|
||||||
tenantId,
|
tenantId,
|
||||||
providerType,
|
providerType,
|
||||||
verified,
|
verified,
|
||||||
accountHolder,
|
accountHolder,
|
||||||
|
environment,
|
||||||
}
|
}
|
||||||
|
|
||||||
await identify(identity)
|
await identify(identity)
|
||||||
|
@ -211,6 +238,14 @@ export const identifyGroup = async (
|
||||||
await processors.identifyGroup(group, timestamp)
|
await processors.identifyGroup(group, timestamp)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const getDeploymentEnvironment = () => {
|
||||||
|
if (env.isDev()) {
|
||||||
|
return "development"
|
||||||
|
} else {
|
||||||
|
return env.DEPLOYMENT_ENVIRONMENT
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
const getHostingFromEnv = () => {
|
const getHostingFromEnv = () => {
|
||||||
return env.SELF_HOSTED ? Hosting.SELF : Hosting.CLOUD
|
return env.SELF_HOSTED ? Hosting.SELF : Hosting.CLOUD
|
||||||
}
|
}
|
||||||
|
|
|
@ -7,14 +7,17 @@ import PosthogProcessor from "./PosthogProcessor"
|
||||||
/**
|
/**
|
||||||
* Events that are always captured.
|
* Events that are always captured.
|
||||||
*/
|
*/
|
||||||
const EVENT_WHITELIST = [Event.VERSION_UPGRADED, Event.VERSION_DOWNGRADED]
|
const EVENT_WHITELIST = [
|
||||||
|
Event.INSTALLATION_VERSION_UPGRADED,
|
||||||
|
Event.INSTALLATION_VERSION_DOWNGRADED,
|
||||||
|
]
|
||||||
const IDENTITY_WHITELIST = [IdentityType.INSTALLATION, IdentityType.TENANT]
|
const IDENTITY_WHITELIST = [IdentityType.INSTALLATION, IdentityType.TENANT]
|
||||||
|
|
||||||
export default class AnalyticsProcessor implements EventProcessor {
|
export default class AnalyticsProcessor implements EventProcessor {
|
||||||
posthog: PosthogProcessor | undefined
|
posthog: PosthogProcessor | undefined
|
||||||
|
|
||||||
constructor() {
|
constructor() {
|
||||||
if (env.POSTHOG_TOKEN) {
|
if (env.POSTHOG_TOKEN && !env.isTest()) {
|
||||||
this.posthog = new PosthogProcessor(env.POSTHOG_TOKEN)
|
this.posthog = new PosthogProcessor(env.POSTHOG_TOKEN)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -23,7 +23,8 @@ export default class PosthogProcessor implements EventProcessor {
|
||||||
): Promise<void> {
|
): Promise<void> {
|
||||||
properties.version = pkg.version
|
properties.version = pkg.version
|
||||||
properties.service = env.SERVICE
|
properties.service = env.SERVICE
|
||||||
properties.environment = env.DEPLOYMENT_ENVIRONMENT
|
properties.environment = identity.environment
|
||||||
|
properties.hosting = identity.hosting
|
||||||
|
|
||||||
const appId = context.getAppId()
|
const appId = context.getAppId()
|
||||||
if (appId) {
|
if (appId) {
|
||||||
|
|
|
@ -15,5 +15,5 @@ export * as table from "./table"
|
||||||
export * as serve from "./serve"
|
export * as serve from "./serve"
|
||||||
export * as user from "./user"
|
export * as user from "./user"
|
||||||
export * as view from "./view"
|
export * as view from "./view"
|
||||||
export * as version from "./version"
|
export * as installation from "./installation"
|
||||||
export * as backfill from "./backfill"
|
export * as backfill from "./backfill"
|
||||||
|
|
|
@ -1,11 +1,11 @@
|
||||||
import { publishEvent } from "../events"
|
import { publishEvent } from "../events"
|
||||||
import { Event, VersionCheckedEvent, VersionChangeEvent } from "@budibase/types"
|
import { Event, VersionCheckedEvent, VersionChangeEvent } from "@budibase/types"
|
||||||
|
|
||||||
export async function checked(version: string) {
|
export async function versionChecked(version: string) {
|
||||||
const properties: VersionCheckedEvent = {
|
const properties: VersionCheckedEvent = {
|
||||||
currentVersion: version,
|
currentVersion: version,
|
||||||
}
|
}
|
||||||
await publishEvent(Event.VERSION_CHECKED, properties)
|
await publishEvent(Event.INSTALLATION_VERSION_CHECKED, properties)
|
||||||
}
|
}
|
||||||
|
|
||||||
export async function upgraded(from: string, to: string) {
|
export async function upgraded(from: string, to: string) {
|
||||||
|
@ -14,7 +14,7 @@ export async function upgraded(from: string, to: string) {
|
||||||
to,
|
to,
|
||||||
}
|
}
|
||||||
|
|
||||||
await publishEvent(Event.VERSION_UPGRADED, properties)
|
await publishEvent(Event.INSTALLATION_VERSION_UPGRADED, properties)
|
||||||
}
|
}
|
||||||
|
|
||||||
export async function downgraded(from: string, to: string) {
|
export async function downgraded(from: string, to: string) {
|
||||||
|
@ -22,5 +22,10 @@ export async function downgraded(from: string, to: string) {
|
||||||
from,
|
from,
|
||||||
to,
|
to,
|
||||||
}
|
}
|
||||||
await publishEvent(Event.VERSION_DOWNGRADED, properties)
|
await publishEvent(Event.INSTALLATION_VERSION_DOWNGRADED, properties)
|
||||||
|
}
|
||||||
|
|
||||||
|
export async function firstStartup() {
|
||||||
|
const properties = {}
|
||||||
|
await publishEvent(Event.INSTALLATION_FIRST_STARTUP, properties)
|
||||||
}
|
}
|
|
@ -84,9 +84,9 @@ export const checkInstallVersion = async (): Promise<void> => {
|
||||||
},
|
},
|
||||||
async () => {
|
async () => {
|
||||||
if (isUpgrade) {
|
if (isUpgrade) {
|
||||||
await events.version.upgraded(currentVersion, newVersion)
|
await events.installation.upgraded(currentVersion, newVersion)
|
||||||
} else if (isDowngrade) {
|
} else if (isDowngrade) {
|
||||||
await events.version.downgraded(currentVersion, newVersion)
|
await events.installation.downgraded(currentVersion, newVersion)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
|
@ -55,7 +55,7 @@ jest.spyOn(events.org, "logoUpdated")
|
||||||
jest.spyOn(events.org, "platformURLUpdated")
|
jest.spyOn(events.org, "platformURLUpdated")
|
||||||
jest.spyOn(events.org, "analyticsOptOut")
|
jest.spyOn(events.org, "analyticsOptOut")
|
||||||
|
|
||||||
jest.spyOn(events.version, "checked")
|
jest.spyOn(events.installation, "versionChecked")
|
||||||
|
|
||||||
jest.spyOn(events.query, "created")
|
jest.spyOn(events.query, "created")
|
||||||
jest.spyOn(events.query, "updated")
|
jest.spyOn(events.query, "updated")
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"name": "@budibase/bbui",
|
"name": "@budibase/bbui",
|
||||||
"description": "A UI solution used in the different Budibase projects.",
|
"description": "A UI solution used in the different Budibase projects.",
|
||||||
"version": "1.0.200-alpha.3",
|
"version": "1.0.206",
|
||||||
"license": "MPL-2.0",
|
"license": "MPL-2.0",
|
||||||
"svelte": "src/index.js",
|
"svelte": "src/index.js",
|
||||||
"module": "dist/bbui.es.js",
|
"module": "dist/bbui.es.js",
|
||||||
|
@ -38,7 +38,7 @@
|
||||||
],
|
],
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@adobe/spectrum-css-workflow-icons": "^1.2.1",
|
"@adobe/spectrum-css-workflow-icons": "^1.2.1",
|
||||||
"@budibase/string-templates": "^1.0.200-alpha.3",
|
"@budibase/string-templates": "^1.0.206",
|
||||||
"@spectrum-css/actionbutton": "^1.0.1",
|
"@spectrum-css/actionbutton": "^1.0.1",
|
||||||
"@spectrum-css/actiongroup": "^1.0.1",
|
"@spectrum-css/actiongroup": "^1.0.1",
|
||||||
"@spectrum-css/avatar": "^3.0.2",
|
"@spectrum-css/avatar": "^3.0.2",
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "@budibase/builder",
|
"name": "@budibase/builder",
|
||||||
"version": "1.0.200-alpha.3",
|
"version": "1.0.206",
|
||||||
"license": "GPL-3.0",
|
"license": "GPL-3.0",
|
||||||
"private": true,
|
"private": true,
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
@ -69,10 +69,10 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@budibase/bbui": "^1.0.200-alpha.3",
|
"@budibase/bbui": "^1.0.206",
|
||||||
"@budibase/client": "^1.0.200-alpha.3",
|
"@budibase/client": "^1.0.206",
|
||||||
"@budibase/frontend-core": "^1.0.200-alpha.3",
|
"@budibase/frontend-core": "^1.0.206",
|
||||||
"@budibase/string-templates": "^1.0.200-alpha.3",
|
"@budibase/string-templates": "^1.0.206",
|
||||||
"@sentry/browser": "5.19.1",
|
"@sentry/browser": "5.19.1",
|
||||||
"@spectrum-css/page": "^3.0.1",
|
"@spectrum-css/page": "^3.0.1",
|
||||||
"@spectrum-css/vars": "^3.0.1",
|
"@spectrum-css/vars": "^3.0.1",
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "@budibase/cli",
|
"name": "@budibase/cli",
|
||||||
"version": "1.0.200-alpha.3",
|
"version": "1.0.206",
|
||||||
"description": "Budibase CLI, for developers, self hosting and migrations.",
|
"description": "Budibase CLI, for developers, self hosting and migrations.",
|
||||||
"main": "src/index.js",
|
"main": "src/index.js",
|
||||||
"bin": {
|
"bin": {
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "@budibase/client",
|
"name": "@budibase/client",
|
||||||
"version": "1.0.200-alpha.3",
|
"version": "1.0.206",
|
||||||
"license": "MPL-2.0",
|
"license": "MPL-2.0",
|
||||||
"module": "dist/budibase-client.js",
|
"module": "dist/budibase-client.js",
|
||||||
"main": "dist/budibase-client.js",
|
"main": "dist/budibase-client.js",
|
||||||
|
@ -19,9 +19,9 @@
|
||||||
"dev:builder": "rollup -cw"
|
"dev:builder": "rollup -cw"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@budibase/bbui": "^1.0.200-alpha.3",
|
"@budibase/bbui": "^1.0.206",
|
||||||
"@budibase/frontend-core": "^1.0.200-alpha.3",
|
"@budibase/frontend-core": "^1.0.206",
|
||||||
"@budibase/string-templates": "^1.0.200-alpha.3",
|
"@budibase/string-templates": "^1.0.206",
|
||||||
"@spectrum-css/button": "^3.0.3",
|
"@spectrum-css/button": "^3.0.3",
|
||||||
"@spectrum-css/card": "^3.0.3",
|
"@spectrum-css/card": "^3.0.3",
|
||||||
"@spectrum-css/divider": "^1.0.3",
|
"@spectrum-css/divider": "^1.0.3",
|
||||||
|
|
|
@ -1,12 +1,12 @@
|
||||||
{
|
{
|
||||||
"name": "@budibase/frontend-core",
|
"name": "@budibase/frontend-core",
|
||||||
"version": "1.0.200-alpha.3",
|
"version": "1.0.206",
|
||||||
"description": "Budibase frontend core libraries used in builder and client",
|
"description": "Budibase frontend core libraries used in builder and client",
|
||||||
"author": "Budibase",
|
"author": "Budibase",
|
||||||
"license": "MPL-2.0",
|
"license": "MPL-2.0",
|
||||||
"svelte": "src/index.js",
|
"svelte": "src/index.js",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@budibase/bbui": "^1.0.200-alpha.3",
|
"@budibase/bbui": "^1.0.206",
|
||||||
"lodash": "^4.17.21",
|
"lodash": "^4.17.21",
|
||||||
"svelte": "^3.46.2"
|
"svelte": "^3.46.2"
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"name": "@budibase/server",
|
"name": "@budibase/server",
|
||||||
"email": "hi@budibase.com",
|
"email": "hi@budibase.com",
|
||||||
"version": "1.0.200-alpha.3",
|
"version": "1.0.206",
|
||||||
"description": "Budibase Web Server",
|
"description": "Budibase Web Server",
|
||||||
"main": "src/index.ts",
|
"main": "src/index.ts",
|
||||||
"repository": {
|
"repository": {
|
||||||
|
@ -77,11 +77,10 @@
|
||||||
"license": "GPL-3.0",
|
"license": "GPL-3.0",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@apidevtools/swagger-parser": "10.0.3",
|
"@apidevtools/swagger-parser": "10.0.3",
|
||||||
"@budibase/backend-core": "^1.0.200-alpha.3",
|
"@budibase/backend-core": "^1.0.206",
|
||||||
"@budibase/client": "^1.0.200-alpha.3",
|
"@budibase/client": "^1.0.206",
|
||||||
"@budibase/pro": "1.0.200-alpha.3",
|
"@budibase/pro": "1.0.206",
|
||||||
"@budibase/string-templates": "^1.0.200-alpha.3",
|
"@budibase/string-templates": "^1.0.206",
|
||||||
"@budibase/types": "^1.0.200-alpha.3",
|
|
||||||
"@bull-board/api": "3.7.0",
|
"@bull-board/api": "3.7.0",
|
||||||
"@bull-board/koa": "3.9.4",
|
"@bull-board/koa": "3.9.4",
|
||||||
"@elastic/elasticsearch": "7.10.0",
|
"@elastic/elasticsearch": "7.10.0",
|
||||||
|
@ -152,7 +151,7 @@
|
||||||
"@babel/core": "7.17.4",
|
"@babel/core": "7.17.4",
|
||||||
"@babel/preset-env": "7.16.11",
|
"@babel/preset-env": "7.16.11",
|
||||||
"@budibase/standard-components": "^0.9.139",
|
"@budibase/standard-components": "^0.9.139",
|
||||||
"@budibase/types": "^1.0.200-alpha.3",
|
"@budibase/types": "^1.0.206",
|
||||||
"@jest/test-sequencer": "24.9.0",
|
"@jest/test-sequencer": "24.9.0",
|
||||||
"@types/apidoc": "0.50.0",
|
"@types/apidoc": "0.50.0",
|
||||||
"@types/bson": "4.2.0",
|
"@types/bson": "4.2.0",
|
||||||
|
|
|
@ -131,5 +131,5 @@ exports.getBudibaseVersion = async ctx => {
|
||||||
ctx.body = {
|
ctx.body = {
|
||||||
version,
|
version,
|
||||||
}
|
}
|
||||||
await events.version.checked(version)
|
await events.installation.versionChecked(version)
|
||||||
}
|
}
|
||||||
|
|
|
@ -17,7 +17,6 @@ const { attachmentsRelativeURL } = require("../../../utilities")
|
||||||
const { DocumentTypes, isDevAppID } = require("../../../db/utils")
|
const { DocumentTypes, isDevAppID } = require("../../../db/utils")
|
||||||
const { getAppDB, getAppId } = require("@budibase/backend-core/context")
|
const { getAppDB, getAppId } = require("@budibase/backend-core/context")
|
||||||
const AWS = require("aws-sdk")
|
const AWS = require("aws-sdk")
|
||||||
const AWS_REGION = env.AWS_REGION ? env.AWS_REGION : "eu-west-1"
|
|
||||||
const { events } = require("@budibase/backend-core")
|
const { events } = require("@budibase/backend-core")
|
||||||
|
|
||||||
async function prepareUpload({ s3Key, bucket, metadata, file }) {
|
async function prepareUpload({ s3Key, bucket, metadata, file }) {
|
||||||
|
@ -42,8 +41,10 @@ async function prepareUpload({ s3Key, bucket, metadata, file }) {
|
||||||
exports.serveBuilder = async function (ctx) {
|
exports.serveBuilder = async function (ctx) {
|
||||||
let builderPath = resolve(TOP_LEVEL_PATH, "builder")
|
let builderPath = resolve(TOP_LEVEL_PATH, "builder")
|
||||||
await send(ctx, ctx.file, { root: builderPath })
|
await send(ctx, ctx.file, { root: builderPath })
|
||||||
|
if (!ctx.file.includes("assets/")) {
|
||||||
await events.serve.servedBuilder()
|
await events.serve.servedBuilder()
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
exports.uploadFile = async function (ctx) {
|
exports.uploadFile = async function (ctx) {
|
||||||
let files =
|
let files =
|
||||||
|
@ -128,6 +129,7 @@ exports.getSignedUploadURL = async function (ctx) {
|
||||||
// Determine type of datasource and generate signed URL
|
// Determine type of datasource and generate signed URL
|
||||||
let signedUrl
|
let signedUrl
|
||||||
let publicUrl
|
let publicUrl
|
||||||
|
const awsRegion = datasource?.config?.region || "eu-west-1"
|
||||||
if (datasource.source === "S3") {
|
if (datasource.source === "S3") {
|
||||||
const { bucket, key } = ctx.request.body || {}
|
const { bucket, key } = ctx.request.body || {}
|
||||||
if (!bucket || !key) {
|
if (!bucket || !key) {
|
||||||
|
@ -136,7 +138,7 @@ exports.getSignedUploadURL = async function (ctx) {
|
||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
const s3 = new AWS.S3({
|
const s3 = new AWS.S3({
|
||||||
region: AWS_REGION,
|
region: awsRegion,
|
||||||
accessKeyId: datasource?.config?.accessKeyId,
|
accessKeyId: datasource?.config?.accessKeyId,
|
||||||
secretAccessKey: datasource?.config?.secretAccessKey,
|
secretAccessKey: datasource?.config?.secretAccessKey,
|
||||||
apiVersion: "2006-03-01",
|
apiVersion: "2006-03-01",
|
||||||
|
@ -144,7 +146,7 @@ exports.getSignedUploadURL = async function (ctx) {
|
||||||
})
|
})
|
||||||
const params = { Bucket: bucket, Key: key }
|
const params = { Bucket: bucket, Key: key }
|
||||||
signedUrl = s3.getSignedUrl("putObject", params)
|
signedUrl = s3.getSignedUrl("putObject", params)
|
||||||
publicUrl = `https://${bucket}.s3.${AWS_REGION}.amazonaws.com/${key}`
|
publicUrl = `https://${bucket}.s3.${awsRegion}.amazonaws.com/${key}`
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
ctx.throw(400, error)
|
ctx.throw(400, error)
|
||||||
}
|
}
|
||||||
|
|
|
@ -33,8 +33,8 @@ describe("/dev", () => {
|
||||||
.expect(200)
|
.expect(200)
|
||||||
|
|
||||||
expect(res.body.version).toBe(version)
|
expect(res.body.version).toBe(version)
|
||||||
expect(events.version.checked).toBeCalledTimes(1)
|
expect(events.installation.versionChecked).toBeCalledTimes(1)
|
||||||
expect(events.version.checked).toBeCalledWith(version)
|
expect(events.installation.versionChecked).toBeCalledWith(version)
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
})
|
})
|
|
@ -72,7 +72,7 @@ exports.run = async function ({ inputs, appId, emitter }) {
|
||||||
})
|
})
|
||||||
|
|
||||||
try {
|
try {
|
||||||
await queryController.executeV1(ctx)
|
await queryController.executeV2(ctx)
|
||||||
const { data, ...rest } = ctx.body
|
const { data, ...rest } = ctx.body
|
||||||
return {
|
return {
|
||||||
response: data,
|
response: data,
|
||||||
|
|
|
@ -66,7 +66,6 @@ module Firebase {
|
||||||
"==",
|
"==",
|
||||||
"<",
|
"<",
|
||||||
"<=",
|
"<=",
|
||||||
"==",
|
|
||||||
"!=",
|
"!=",
|
||||||
">=",
|
">=",
|
||||||
">",
|
">",
|
||||||
|
|
|
@ -20,6 +20,7 @@ const handleError = (e: any, errors?: any) => {
|
||||||
}
|
}
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
console.trace(e)
|
||||||
throw e
|
throw e
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -22,10 +22,23 @@ export const backfill = async (appDb: any, timestamp: string | number) => {
|
||||||
const queries: Query[] = await getQueries(appDb)
|
const queries: Query[] = await getQueries(appDb)
|
||||||
|
|
||||||
for (const query of queries) {
|
for (const query of queries) {
|
||||||
const datasource: Datasource = await getDatasource(
|
let datasource: Datasource
|
||||||
appDb,
|
|
||||||
query.datasourceId
|
try {
|
||||||
)
|
datasource = await getDatasource(appDb, query.datasourceId)
|
||||||
|
} catch (e: any) {
|
||||||
|
// handle known bug where a datasource has been deleted
|
||||||
|
// and the query has not
|
||||||
|
if (e.status === 404) {
|
||||||
|
datasource = {
|
||||||
|
_id: query.datasourceId,
|
||||||
|
source: "unknown",
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
throw e
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
await events.query.created(datasource, query, timestamp)
|
await events.query.created(datasource, query, timestamp)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -14,6 +14,7 @@ import {
|
||||||
App,
|
App,
|
||||||
TenantBackfillSucceededEvent,
|
TenantBackfillSucceededEvent,
|
||||||
Event,
|
Event,
|
||||||
|
User,
|
||||||
} from "@budibase/types"
|
} from "@budibase/types"
|
||||||
import env from "../../../environment"
|
import env from "../../../environment"
|
||||||
import { DEFAULT_TIMESTAMP } from "."
|
import { DEFAULT_TIMESTAMP } from "."
|
||||||
|
@ -94,8 +95,24 @@ export const run = async (db: any) => {
|
||||||
const totals: any = {}
|
const totals: any = {}
|
||||||
const errors: any = []
|
const errors: any = []
|
||||||
|
|
||||||
|
let allUsers: User[] = []
|
||||||
try {
|
try {
|
||||||
const installTimestamp = await getInstallTimestamp(db)
|
allUsers = await users.getUsers(db)
|
||||||
|
} catch (e: any) {
|
||||||
|
handleError(e, errors)
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!allUsers || allUsers.length === 0) {
|
||||||
|
// first time startup - we don't need to backfill anything
|
||||||
|
// tenant will be identified when admin user is created
|
||||||
|
if (env.SELF_HOSTED) {
|
||||||
|
await events.installation.firstStartup()
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
const installTimestamp = await getInstallTimestamp(db, allUsers)
|
||||||
if (installTimestamp) {
|
if (installTimestamp) {
|
||||||
timestamp = installTimestamp
|
timestamp = installTimestamp
|
||||||
}
|
}
|
||||||
|
@ -175,11 +192,15 @@ export const isComplete = async (): Promise<boolean> => {
|
||||||
}
|
}
|
||||||
|
|
||||||
export const getInstallTimestamp = async (
|
export const getInstallTimestamp = async (
|
||||||
globalDb: any
|
globalDb: any,
|
||||||
|
allUsers?: User[]
|
||||||
): Promise<number | undefined> => {
|
): Promise<number | undefined> => {
|
||||||
const allUsers = await users.getUsers(globalDb)
|
if (!allUsers) {
|
||||||
|
allUsers = await users.getUsers(globalDb)
|
||||||
|
}
|
||||||
|
|
||||||
// get the oldest user timestamp
|
// get the oldest user timestamp
|
||||||
|
if (allUsers) {
|
||||||
const timestamps = allUsers
|
const timestamps = allUsers
|
||||||
.map(user => user.createdAt)
|
.map(user => user.createdAt)
|
||||||
.filter(timestamp => !!timestamp)
|
.filter(timestamp => !!timestamp)
|
||||||
|
@ -192,3 +213,4 @@ export const getInstallTimestamp = async (
|
||||||
return timestamps[0]
|
return timestamps[0]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -104,7 +104,6 @@ export const migrate = async (options?: MigrationOptions) => {
|
||||||
|
|
||||||
const migrateWithLock = async (options?: MigrationOptions) => {
|
const migrateWithLock = async (options?: MigrationOptions) => {
|
||||||
// get a new lock client
|
// get a new lock client
|
||||||
|
|
||||||
const redlock = await redis.clients.getMigrationsRedlock()
|
const redlock = await redis.clients.getMigrationsRedlock()
|
||||||
// lock for 15 minutes
|
// lock for 15 minutes
|
||||||
const ttl = 1000 * 60 * 15
|
const ttl = 1000 * 60 * 15
|
||||||
|
|
|
@ -23,6 +23,8 @@ const clearMigrations = async () => {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
jest.setTimeout(10000)
|
||||||
|
|
||||||
describe("migrations", () => {
|
describe("migrations", () => {
|
||||||
const config = new TestConfig()
|
const config = new TestConfig()
|
||||||
|
|
||||||
|
|
|
@ -1094,10 +1094,10 @@
|
||||||
resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39"
|
resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39"
|
||||||
integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==
|
integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==
|
||||||
|
|
||||||
"@budibase/backend-core@1.0.200-alpha.0":
|
"@budibase/backend-core@1.0.201-alpha.4":
|
||||||
version "1.0.200-alpha.0"
|
version "1.0.201-alpha.4"
|
||||||
resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.0.200-alpha.0.tgz#2fd1e1cc71c07891fd66e37ceaab2cffb0df1106"
|
resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.0.201-alpha.4.tgz#51fda5838e9c51c88c85204ad867811e49b7d34c"
|
||||||
integrity sha512-CZPPuj+WIDTxLVbrv/B4J4rQiNnkRBs3ZWK2AvlVlY9knWuM034MKHPK3YaeQdVofZqkTOfWKZp6KFRroC304g==
|
integrity sha512-5oQMfKPDMpB4x5MzGgOtWFIPzc7RG/uu+rSe65PVwWfp77bDa3kxtCtC1p6vtJuPlb4GYrHqGLtr7WePbJf4fA==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@techpass/passport-openidconnect" "0.3.2"
|
"@techpass/passport-openidconnect" "0.3.2"
|
||||||
aws-sdk "2.1030.0"
|
aws-sdk "2.1030.0"
|
||||||
|
@ -1175,12 +1175,12 @@
|
||||||
svelte-flatpickr "^3.2.3"
|
svelte-flatpickr "^3.2.3"
|
||||||
svelte-portal "^1.0.0"
|
svelte-portal "^1.0.0"
|
||||||
|
|
||||||
"@budibase/pro@1.0.200-alpha.0":
|
"@budibase/pro@1.0.201-alpha.4":
|
||||||
version "1.0.200-alpha.0"
|
version "1.0.201-alpha.4"
|
||||||
resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.0.200-alpha.0.tgz#68adc9a61a1b975a990e1a4d4ddf5dba69fc038c"
|
resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.0.201-alpha.4.tgz#5b92dc7a4bb2004bcd43339c863430ea640e0b74"
|
||||||
integrity sha512-GxIxvBjCO7kQxFwASKtGC57C2cAN3oiHU+tTCb57qKtp63GdP1z+iqDLtUEOIXXume9bC1xxTD/LSBMziTrHKg==
|
integrity sha512-fsDlE8O4Y4JpZI3NwBoN8udX4cEx7/ebZ41Q7qD5VwA6Q2niapRcX0MvDmGdjDSVECG+NJU1uqCdg5cDq1Odxw==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@budibase/backend-core" "1.0.200-alpha.0"
|
"@budibase/backend-core" "1.0.201-alpha.4"
|
||||||
node-fetch "^2.6.1"
|
node-fetch "^2.6.1"
|
||||||
|
|
||||||
"@budibase/standard-components@^0.9.139":
|
"@budibase/standard-components@^0.9.139":
|
||||||
|
@ -14327,4 +14327,4 @@ z-schema@^5.0.1:
|
||||||
zlib@1.0.5:
|
zlib@1.0.5:
|
||||||
version "1.0.5"
|
version "1.0.5"
|
||||||
resolved "https://registry.yarnpkg.com/zlib/-/zlib-1.0.5.tgz#6e7c972fc371c645a6afb03ab14769def114fcc0"
|
resolved "https://registry.yarnpkg.com/zlib/-/zlib-1.0.5.tgz#6e7c972fc371c645a6afb03ab14769def114fcc0"
|
||||||
integrity sha1-bnyXL8NxxkWmr7A6sUdp3vEU/MA=
|
integrity sha512-40fpE2II+Cd3k8HWTWONfeKE2jL+P42iWJ1zzps5W51qcTsOUKM5Q5m2PFb0CLxlmFAaUuUdJGc3OfZy947v0w==
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "@budibase/string-templates",
|
"name": "@budibase/string-templates",
|
||||||
"version": "1.0.200-alpha.3",
|
"version": "1.0.206",
|
||||||
"description": "Handlebars wrapper for Budibase templating.",
|
"description": "Handlebars wrapper for Budibase templating.",
|
||||||
"main": "src/index.cjs",
|
"main": "src/index.cjs",
|
||||||
"module": "dist/bundle.mjs",
|
"module": "dist/bundle.mjs",
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "@budibase/types",
|
"name": "@budibase/types",
|
||||||
"version": "1.0.200-alpha.3",
|
"version": "1.0.206",
|
||||||
"description": "Budibase types",
|
"description": "Budibase types",
|
||||||
"main": "dist/index.js",
|
"main": "dist/index.js",
|
||||||
"types": "dist/index.d.ts",
|
"types": "dist/index.d.ts",
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
import { Hosting } from "../hosting"
|
||||||
|
|
||||||
export enum Event {
|
export enum Event {
|
||||||
// USER
|
// USER
|
||||||
USER_CREATED = "user:created",
|
USER_CREATED = "user:created",
|
||||||
|
@ -37,10 +39,11 @@ export enum Event {
|
||||||
ORG_LOGO_UPDATED = "org:info:logo:updated",
|
ORG_LOGO_UPDATED = "org:info:logo:updated",
|
||||||
ORG_PLATFORM_URL_UPDATED = "org:platformurl:updated",
|
ORG_PLATFORM_URL_UPDATED = "org:platformurl:updated",
|
||||||
|
|
||||||
// VERSIONS
|
// INSTALLATION
|
||||||
VERSION_CHECKED = "version:checked",
|
INSTALLATION_VERSION_CHECKED = "installation:version:checked",
|
||||||
VERSION_UPGRADED = "version:upgraded",
|
INSTALLATION_VERSION_UPGRADED = "installation:version:upgraded",
|
||||||
VERSION_DOWNGRADED = "version:downgraded",
|
INSTALLATION_VERSION_DOWNGRADED = "installation:version:downgraded",
|
||||||
|
INSTALLATION_FIRST_STARTUP = "installation:firstStartup",
|
||||||
|
|
||||||
// ORG / ANALYTICS
|
// ORG / ANALYTICS
|
||||||
ANALYTICS_OPT_OUT = "analytics:opt:out",
|
ANALYTICS_OPT_OUT = "analytics:opt:out",
|
||||||
|
@ -157,6 +160,7 @@ export interface BaseEvent {
|
||||||
appId?: string
|
appId?: string
|
||||||
installationId?: string
|
installationId?: string
|
||||||
tenantId?: string
|
tenantId?: string
|
||||||
|
hosting?: Hosting
|
||||||
}
|
}
|
||||||
|
|
||||||
export type RowImportFormat = "csv"
|
export type RowImportFormat = "csv"
|
||||||
|
|
|
@ -10,6 +10,8 @@ export enum GroupType {
|
||||||
export interface Group {
|
export interface Group {
|
||||||
id: string
|
id: string
|
||||||
type: IdentityType
|
type: IdentityType
|
||||||
|
environment: string
|
||||||
|
hosting: Hosting
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface TenantGroup extends Group {
|
export interface TenantGroup extends Group {
|
||||||
|
@ -17,12 +19,11 @@ export interface TenantGroup extends Group {
|
||||||
// as we don't have this at the user level
|
// as we don't have this at the user level
|
||||||
profession?: string // only available in cloud
|
profession?: string // only available in cloud
|
||||||
companySize?: string // only available in cloud
|
companySize?: string // only available in cloud
|
||||||
hosting: Hosting // need hosting at the tenant level for cloud self host accounts
|
installationId: string
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface InstallationGroup extends Group {
|
export interface InstallationGroup extends Group {
|
||||||
version: string
|
version: string
|
||||||
hosting: Hosting
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// IDENTITIES
|
// IDENTITIES
|
||||||
|
@ -36,6 +37,8 @@ export enum IdentityType {
|
||||||
export interface Identity {
|
export interface Identity {
|
||||||
id: string
|
id: string
|
||||||
type: IdentityType
|
type: IdentityType
|
||||||
|
hosting: Hosting
|
||||||
|
environment: string
|
||||||
installationId?: string
|
installationId?: string
|
||||||
tenantId?: string
|
tenantId?: string
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"name": "@budibase/worker",
|
"name": "@budibase/worker",
|
||||||
"email": "hi@budibase.com",
|
"email": "hi@budibase.com",
|
||||||
"version": "1.0.200-alpha.3",
|
"version": "1.0.206",
|
||||||
"description": "Budibase background service",
|
"description": "Budibase background service",
|
||||||
"main": "src/index.ts",
|
"main": "src/index.ts",
|
||||||
"repository": {
|
"repository": {
|
||||||
|
@ -34,10 +34,9 @@
|
||||||
"author": "Budibase",
|
"author": "Budibase",
|
||||||
"license": "GPL-3.0",
|
"license": "GPL-3.0",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@budibase/backend-core": "^1.0.200-alpha.3",
|
"@budibase/backend-core": "^1.0.206",
|
||||||
"@budibase/pro": "1.0.200-alpha.3",
|
"@budibase/pro": "1.0.206",
|
||||||
"@budibase/types": "^1.0.200-alpha.3",
|
"@budibase/string-templates": "^1.0.206",
|
||||||
"@budibase/string-templates": "^1.0.200-alpha.3",
|
|
||||||
"@koa/router": "8.0.8",
|
"@koa/router": "8.0.8",
|
||||||
"@sentry/node": "6.17.7",
|
"@sentry/node": "6.17.7",
|
||||||
"@techpass/passport-openidconnect": "0.3.2",
|
"@techpass/passport-openidconnect": "0.3.2",
|
||||||
|
@ -67,7 +66,7 @@
|
||||||
"server-destroy": "1.0.1"
|
"server-destroy": "1.0.1"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@budibase/types": "^1.0.200-alpha.3",
|
"@budibase/types": "^1.0.206",
|
||||||
"@types/jest": "26.0.23",
|
"@types/jest": "26.0.23",
|
||||||
"@types/koa": "2.13.4",
|
"@types/koa": "2.13.4",
|
||||||
"@types/koa-router": "7.4.4",
|
"@types/koa-router": "7.4.4",
|
||||||
|
|
|
@ -291,10 +291,10 @@
|
||||||
resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39"
|
resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39"
|
||||||
integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==
|
integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==
|
||||||
|
|
||||||
"@budibase/backend-core@1.0.200-alpha.0":
|
"@budibase/backend-core@1.0.201-alpha.4":
|
||||||
version "1.0.200-alpha.0"
|
version "1.0.201-alpha.4"
|
||||||
resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.0.200-alpha.0.tgz#2fd1e1cc71c07891fd66e37ceaab2cffb0df1106"
|
resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.0.201-alpha.4.tgz#51fda5838e9c51c88c85204ad867811e49b7d34c"
|
||||||
integrity sha512-CZPPuj+WIDTxLVbrv/B4J4rQiNnkRBs3ZWK2AvlVlY9knWuM034MKHPK3YaeQdVofZqkTOfWKZp6KFRroC304g==
|
integrity sha512-5oQMfKPDMpB4x5MzGgOtWFIPzc7RG/uu+rSe65PVwWfp77bDa3kxtCtC1p6vtJuPlb4GYrHqGLtr7WePbJf4fA==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@techpass/passport-openidconnect" "0.3.2"
|
"@techpass/passport-openidconnect" "0.3.2"
|
||||||
aws-sdk "2.1030.0"
|
aws-sdk "2.1030.0"
|
||||||
|
@ -322,12 +322,12 @@
|
||||||
uuid "8.3.2"
|
uuid "8.3.2"
|
||||||
zlib "1.0.5"
|
zlib "1.0.5"
|
||||||
|
|
||||||
"@budibase/pro@1.0.200-alpha.0":
|
"@budibase/pro@1.0.201-alpha.4":
|
||||||
version "1.0.200-alpha.0"
|
version "1.0.201-alpha.4"
|
||||||
resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.0.200-alpha.0.tgz#68adc9a61a1b975a990e1a4d4ddf5dba69fc038c"
|
resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.0.201-alpha.4.tgz#5b92dc7a4bb2004bcd43339c863430ea640e0b74"
|
||||||
integrity sha512-GxIxvBjCO7kQxFwASKtGC57C2cAN3oiHU+tTCb57qKtp63GdP1z+iqDLtUEOIXXume9bC1xxTD/LSBMziTrHKg==
|
integrity sha512-fsDlE8O4Y4JpZI3NwBoN8udX4cEx7/ebZ41Q7qD5VwA6Q2niapRcX0MvDmGdjDSVECG+NJU1uqCdg5cDq1Odxw==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@budibase/backend-core" "1.0.200-alpha.0"
|
"@budibase/backend-core" "1.0.201-alpha.4"
|
||||||
node-fetch "^2.6.1"
|
node-fetch "^2.6.1"
|
||||||
|
|
||||||
"@cspotcode/source-map-consumer@0.8.0":
|
"@cspotcode/source-map-consumer@0.8.0":
|
||||||
|
|
Loading…
Reference in New Issue