diff --git a/packages/backend-core/src/auth.ts b/packages/backend-core/src/auth/auth.ts similarity index 79% rename from packages/backend-core/src/auth.ts rename to packages/backend-core/src/auth/auth.ts index 91a4b750ad..75e425bd0f 100644 --- a/packages/backend-core/src/auth.ts +++ b/packages/backend-core/src/auth/auth.ts @@ -1,16 +1,14 @@ -const passport = require("koa-passport") +const _passport = require("koa-passport") const LocalStrategy = require("passport-local").Strategy const JwtStrategy = require("passport-jwt").Strategy -import { getGlobalDB } from "./tenancy" +import { getGlobalDB } from "../tenancy" const refresh = require("passport-oauth2-refresh") -import { Config } from "./constants" -import { getScopedConfig } from "./db" +import { Config } from "../constants" +import { getScopedConfig } from "../db" import { - jwt, + jwt as jwtPassport, local, authenticated, - google, - oidc, auditLog, tenancy, authError, @@ -21,22 +19,41 @@ import { builderOnly, builderOrAdmin, joiValidator, -} from "./middleware" -import { invalidateUser } from "./cache/user" + oidc, + google, +} from "../middleware" +import { invalidateUser } from "../cache/user" import { User } from "@budibase/types" -import { logAlert } from "./logging" +import { logAlert } from "../logging" +export { + auditLog, + authError, + internalApi, + ssoCallbackUrl, + adminOnly, + builderOnly, + builderOrAdmin, + joiValidator, + google, + oidc, +} from "../middleware" +export const buildAuthMiddleware = authenticated +export const buildTenancyMiddleware = tenancy +export const buildCsrfMiddleware = csrf +export const passport = _passport +export const jwt = require("jsonwebtoken") // Strategies -passport.use(new LocalStrategy(local.options, local.authenticate)) -if (jwt.options.secretOrKey) { - passport.use(new JwtStrategy(jwt.options, jwt.authenticate)) +_passport.use(new LocalStrategy(local.options, local.authenticate)) +if (jwtPassport.options.secretOrKey) { + _passport.use(new JwtStrategy(jwtPassport.options, jwtPassport.authenticate)) } else { logAlert("No JWT Secret supplied, cannot configure JWT strategy") } -passport.serializeUser((user: User, done: any) => done(null, user)) +_passport.serializeUser((user: User, done: any) => done(null, user)) -passport.deserializeUser(async (user: User, done: any) => { +_passport.deserializeUser(async (user: User, done: any) => { const db = getGlobalDB() try { @@ -115,7 +132,7 @@ async function refreshGoogleAccessToken( }) } -async function refreshOAuthToken( +export async function refreshOAuthToken( refreshToken: string, configType: string, configId: string @@ -152,7 +169,7 @@ async function refreshOAuthToken( return refreshResponse } -async function updateUserOAuth(userId: string, oAuthConfig: any) { +export async function updateUserOAuth(userId: string, oAuthConfig: any) { const details = { accessToken: oAuthConfig.accessToken, refreshToken: oAuthConfig.refreshToken, @@ -179,23 +196,3 @@ async function updateUserOAuth(userId: string, oAuthConfig: any) { console.error("Could not update OAuth details for current user", e) } } - -export = { - buildAuthMiddleware: authenticated, - passport, - google, - oidc, - jwt: require("jsonwebtoken"), - buildTenancyMiddleware: tenancy, - auditLog, - authError, - buildCsrfMiddleware: csrf, - internalApi, - refreshOAuthToken, - updateUserOAuth, - ssoCallbackUrl, - adminOnly, - builderOnly, - builderOrAdmin, - joiValidator, -} diff --git a/packages/backend-core/src/auth/index.ts b/packages/backend-core/src/auth/index.ts new file mode 100644 index 0000000000..306751af96 --- /dev/null +++ b/packages/backend-core/src/auth/index.ts @@ -0,0 +1 @@ +export * from "./auth" diff --git a/packages/backend-core/src/db/constants.ts b/packages/backend-core/src/constants/db.ts similarity index 100% rename from packages/backend-core/src/db/constants.ts rename to packages/backend-core/src/constants/db.ts diff --git a/packages/backend-core/src/constants/index.ts b/packages/backend-core/src/constants/index.ts new file mode 100644 index 0000000000..62d5e08e63 --- /dev/null +++ b/packages/backend-core/src/constants/index.ts @@ -0,0 +1,2 @@ +export * from "./db" +export * from "./misc" diff --git a/packages/backend-core/src/constants.ts b/packages/backend-core/src/constants/misc.ts similarity index 100% rename from packages/backend-core/src/constants.ts rename to packages/backend-core/src/constants/misc.ts diff --git a/packages/backend-core/src/context/Context.ts b/packages/backend-core/src/context/Context.ts index 6ffb57e44e..f0ccdb97a8 100644 --- a/packages/backend-core/src/context/Context.ts +++ b/packages/backend-core/src/context/Context.ts @@ -1,18 +1,17 @@ import { AsyncLocalStorage } from "async_hooks" -import { ContextMap } from "./constants" export default class Context { - static storage = new AsyncLocalStorage() + static storage = new AsyncLocalStorage>() - static run(context: ContextMap, func: any) { + static run(context: Record, func: any) { return Context.storage.run(context, () => func()) } - static get(): ContextMap { - return Context.storage.getStore() as ContextMap + static get(): Record { + return Context.storage.getStore() as Record } - static set(context: ContextMap) { + static set(context: Record) { Context.storage.enterWith(context) } } diff --git a/packages/backend-core/src/context/constants.ts b/packages/backend-core/src/context/constants.ts deleted file mode 100644 index 64fdb45dec..0000000000 --- a/packages/backend-core/src/context/constants.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { IdentityContext } from "@budibase/types" - -export type ContextMap = { - tenantId?: string - appId?: string - identity?: IdentityContext -} diff --git a/packages/backend-core/src/context/mainContext.ts b/packages/backend-core/src/context/mainContext.ts index 9fe8a016a6..d743d2f49b 100644 --- a/packages/backend-core/src/context/mainContext.ts +++ b/packages/backend-core/src/context/mainContext.ts @@ -2,20 +2,43 @@ // store an app ID to pretend there is a context import env from "../environment" import Context from "./Context" +import { getDevelopmentAppID, getProdAppID } from "../db/conversions" +import { getDB } from "../db/db" import { - baseGlobalDBName, DocumentType, - getDB, - getDevelopmentAppID, - getProdAppID, SEPARATOR, -} from "../db" -import { ContextMap } from "./constants" + StaticDatabases, + DEFAULT_TENANT_ID, +} from "../constants" import { Database, IdentityContext } from "@budibase/types" -import { DEFAULT_TENANT_ID } from "./index" + +export type ContextMap = { + tenantId?: string + appId?: string + identity?: IdentityContext +} let TEST_APP_ID: string | null = null +export function getGlobalDBName(tenantId?: string) { + // tenant ID can be set externally, for example user API where + // new tenants are being created, this may be the case + if (!tenantId) { + tenantId = getTenantId() + } + return baseGlobalDBName(tenantId) +} + +export function baseGlobalDBName(tenantId: string | undefined | null) { + let dbName + if (!tenantId || tenantId === DEFAULT_TENANT_ID) { + dbName = StaticDatabases.GLOBAL.name + } else { + dbName = `${tenantId}${SEPARATOR}${StaticDatabases.GLOBAL.name}` + } + return dbName +} + export function isMultiTenant() { return env.MULTI_TENANCY } diff --git a/packages/backend-core/src/db/Replication.ts b/packages/backend-core/src/db/Replication.ts index 12f6001a70..eb9d613a58 100644 --- a/packages/backend-core/src/db/Replication.ts +++ b/packages/backend-core/src/db/Replication.ts @@ -1,5 +1,5 @@ -import { getPouchDB, closePouchDB } from "./couch/pouchDB" -import { DocumentType } from "./constants" +import { getPouchDB, closePouchDB } from "./couch" +import { DocumentType } from "../constants" class Replication { source: any diff --git a/packages/backend-core/src/db/conversions.ts b/packages/backend-core/src/db/conversions.ts index 48eaf31844..381c5cb90f 100644 --- a/packages/backend-core/src/db/conversions.ts +++ b/packages/backend-core/src/db/conversions.ts @@ -1,4 +1,4 @@ -import { APP_DEV_PREFIX, APP_PREFIX } from "./constants" +import { APP_DEV_PREFIX, APP_PREFIX } from "../constants" import { App } from "@budibase/types" const NO_APP_ERROR = "No app provided" diff --git a/packages/backend-core/src/db/index.ts b/packages/backend-core/src/db/index.ts index 7269aa8f92..0d9f75fa18 100644 --- a/packages/backend-core/src/db/index.ts +++ b/packages/backend-core/src/db/index.ts @@ -2,6 +2,8 @@ export * from "./couch" export * from "./db" export * from "./utils" export * from "./views" -export * from "./constants" export * from "./conversions" -export * from "./tenancy" +export { default as Replication } from "./Replication" +// exports to support old export structure +export * from "../constants/db" +export { getGlobalDBName, baseGlobalDBName } from "../context" diff --git a/packages/backend-core/src/db/tenancy.ts b/packages/backend-core/src/db/tenancy.ts deleted file mode 100644 index d920f7cd41..0000000000 --- a/packages/backend-core/src/db/tenancy.ts +++ /dev/null @@ -1,22 +0,0 @@ -import { DEFAULT_TENANT_ID } from "../constants" -import { StaticDatabases, SEPARATOR } from "./constants" -import { getTenantId } from "../context" - -export const getGlobalDBName = (tenantId?: string) => { - // tenant ID can be set externally, for example user API where - // new tenants are being created, this may be the case - if (!tenantId) { - tenantId = getTenantId() - } - return baseGlobalDBName(tenantId) -} - -export const baseGlobalDBName = (tenantId: string | undefined | null) => { - let dbName - if (!tenantId || tenantId === DEFAULT_TENANT_ID) { - dbName = StaticDatabases.GLOBAL.name - } else { - dbName = `${tenantId}${SEPARATOR}${StaticDatabases.GLOBAL.name}` - } - return dbName -} diff --git a/packages/backend-core/src/db/tests/utils.spec.js b/packages/backend-core/src/db/tests/utils.spec.js index 0d16e2dec2..f95889c1cc 100644 --- a/packages/backend-core/src/db/tests/utils.spec.js +++ b/packages/backend-core/src/db/tests/utils.spec.js @@ -1,10 +1,12 @@ require("../../../tests") const { - generateAppID, getDevelopmentAppID, getProdAppID, isDevAppID, isProdAppID, +} = require("../conversions") +const { + generateAppID, getPlatformUrl, getScopedConfig } = require("../utils") diff --git a/packages/backend-core/src/db/utils.ts b/packages/backend-core/src/db/utils.ts index cfab451de4..590c3eeef8 100644 --- a/packages/backend-core/src/db/utils.ts +++ b/packages/backend-core/src/db/utils.ts @@ -1,26 +1,20 @@ -import { newid } from "../utils/hashing" -import { DEFAULT_TENANT_ID, Config } from "../constants" +import { newid } from "../newid" import env from "../environment" import { + DEFAULT_TENANT_ID, SEPARATOR, DocumentType, UNICODE_MAX, ViewName, InternalTable, -} from "./constants" -import { getTenantId, getGlobalDB } from "../context" -import { getGlobalDBName } from "./tenancy" + APP_PREFIX, +} from "../constants" +import { getTenantId, getGlobalDB, getGlobalDBName } from "../context" import { doWithDB, allDbs, directCouchAllDbs } from "./db" import { getAppMetadata } from "../cache/appMetadata" import { isDevApp, isDevAppID, getProdAppID } from "./conversions" -import { APP_PREFIX } from "./constants" import * as events from "../events" -import { App, Database } from "@budibase/types" - -export * from "./constants" -export * from "./conversions" -export { default as Replication } from "./Replication" -export * from "./tenancy" +import { App, Database, ConfigType } from "@budibase/types" /** * Generates a new app ID. @@ -494,7 +488,7 @@ export const getScopedFullConfig = async function ( )[0] // custom logic for settings doc - if (type === Config.SETTINGS) { + if (type === ConfigType.SETTINGS) { if (scopedConfig && scopedConfig.doc) { // overrides affected by environment variables scopedConfig.doc.config.platformUrl = await getPlatformUrl({ @@ -533,7 +527,7 @@ export const getPlatformUrl = async (opts = { tenantAware: true }) => { // get the doc directly instead of with getScopedConfig to prevent loop let settings try { - settings = await db.get(generateConfigID({ type: Config.SETTINGS })) + settings = await db.get(generateConfigID({ type: ConfigType.SETTINGS })) } catch (e: any) { if (e.status !== 404) { throw e diff --git a/packages/backend-core/src/db/views.ts b/packages/backend-core/src/db/views.ts index c563d55be3..4a87be0a68 100644 --- a/packages/backend-core/src/db/views.ts +++ b/packages/backend-core/src/db/views.ts @@ -1,6 +1,11 @@ -import { DocumentType, ViewName, DeprecatedViews, SEPARATOR } from "./utils" +import { + DocumentType, + ViewName, + DeprecatedViews, + SEPARATOR, + StaticDatabases, +} from "../constants" import { getGlobalDB } from "../context" -import { StaticDatabases } from "./constants" import { doWithDB } from "./" import { Database, DatabaseQueryOpts } from "@budibase/types" diff --git a/packages/backend-core/src/environment.ts b/packages/backend-core/src/environment.ts index 5d010f1421..b35f3ecaa4 100644 --- a/packages/backend-core/src/environment.ts +++ b/packages/backend-core/src/environment.ts @@ -75,7 +75,8 @@ const environment = { process.env.DEPLOYMENT_ENVIRONMENT || "docker-compose", _set(key: any, value: any) { process.env[key] = value - module.exports[key] = value + // @ts-ignore + environment[key] = value }, } diff --git a/packages/backend-core/src/events/analytics.ts b/packages/backend-core/src/events/analytics.ts index 90cacc902b..f621a9c98b 100644 --- a/packages/backend-core/src/events/analytics.ts +++ b/packages/backend-core/src/events/analytics.ts @@ -1,8 +1,8 @@ import env from "../environment" -import tenancy from "../tenancy" +import * as tenancy from "../tenancy" import * as dbUtils from "../db/utils" import { Config } from "../constants" -import { withCache, TTL, CacheKey } from "../cache/generic" +import { withCache, TTL, CacheKey } from "../cache" export const enabled = async () => { // cloud - always use the environment variable diff --git a/packages/backend-core/src/featureFlags/index.ts b/packages/backend-core/src/featureFlags/index.ts index 0d59e5129e..71e226c976 100644 --- a/packages/backend-core/src/featureFlags/index.ts +++ b/packages/backend-core/src/featureFlags/index.ts @@ -1,5 +1,5 @@ import env from "../environment" -import tenancy from "../tenancy" +import * as tenancy from "../tenancy" /** * Read the TENANT_FEATURE_FLAGS env var and return an array of features flags for each tenant. diff --git a/packages/backend-core/src/index.ts b/packages/backend-core/src/index.ts index ace9bc5034..a4d4ad0a80 100644 --- a/packages/backend-core/src/index.ts +++ b/packages/backend-core/src/index.ts @@ -8,17 +8,16 @@ import * as permissions from "./security/permissions" import * as accounts from "./cloud/accounts" import * as installation from "./installation" import env from "./environment" -import tenancy from "./tenancy" +import * as tenancy from "./tenancy" import * as featureFlags from "./featureFlags" import * as sessions from "./security/sessions" import * as deprovisioning from "./context/deprovision" -import auth from "./auth" +import * as auth from "./auth" import * as constants from "./constants" -import * as dbConstants from "./db/constants" import * as logging from "./logging" import * as pino from "./pino" import * as middleware from "./middleware" -import plugins from "./plugin" +import * as plugins from "./plugin" import * as encryption from "./security/encryption" import * as queue from "./queue" import * as db from "./db" @@ -35,7 +34,7 @@ const init = (opts: any = {}) => { const core = { init, db, - ...dbConstants, + ...constants, redis, locks: redis.redlock, objectStore, @@ -44,7 +43,6 @@ const core = { cache, auth, constants, - ...constants, migrations, env, accounts, diff --git a/packages/backend-core/src/migrations/tests/index.spec.js b/packages/backend-core/src/migrations/tests/index.spec.js index 8fbc244cd6..b7d2e14ea5 100644 --- a/packages/backend-core/src/migrations/tests/index.spec.js +++ b/packages/backend-core/src/migrations/tests/index.spec.js @@ -3,7 +3,7 @@ const { runMigrations, getMigrationsDoc } = require("../index") const { getDB } = require("../../db") const { StaticDatabases, -} = require("../../db/utils") +} = require("../../constants") let db diff --git a/packages/backend-core/src/plugin/index.ts b/packages/backend-core/src/plugin/index.ts index a6d1853007..3eeaeaa90c 100644 --- a/packages/backend-core/src/plugin/index.ts +++ b/packages/backend-core/src/plugin/index.ts @@ -1,7 +1 @@ -import * as utils from "./utils" - -const pkg = { - ...utils, -} - -export = pkg +export * from "./utils" diff --git a/packages/backend-core/src/tenancy/index.ts b/packages/backend-core/src/tenancy/index.ts index e0006abab2..1618a136dd 100644 --- a/packages/backend-core/src/tenancy/index.ts +++ b/packages/backend-core/src/tenancy/index.ts @@ -1,9 +1,2 @@ -import * as context from "../context" -import * as tenancy from "./tenancy" - -const pkg = { - ...context, - ...tenancy, -} - -export = pkg +export * from "../context" +export * from "./tenancy" diff --git a/packages/backend-core/src/tenancy/tenancy.ts b/packages/backend-core/src/tenancy/tenancy.ts index cc1088ab08..e0e0703433 100644 --- a/packages/backend-core/src/tenancy/tenancy.ts +++ b/packages/backend-core/src/tenancy/tenancy.ts @@ -1,10 +1,4 @@ -import { - doWithDB, - queryPlatformView, - StaticDatabases, - getGlobalDBName, - ViewName, -} from "../db" +import { doWithDB, queryPlatformView, getGlobalDBName } from "../db" import { DEFAULT_TENANT_ID, getTenantId, @@ -18,7 +12,7 @@ import { TenantResolutionStrategy, GetTenantIdOptions, } from "@budibase/types" -import { Header } from "../constants" +import { Header, StaticDatabases, ViewName } from "../constants" const TENANT_DOC = StaticDatabases.PLATFORM_INFO.docs.tenants const PLATFORM_INFO_DB = StaticDatabases.PLATFORM_INFO.name diff --git a/packages/backend-core/src/tests/utils.spec.js b/packages/backend-core/src/tests/utils.spec.js index 76fc7b4481..fb3828921d 100644 --- a/packages/backend-core/src/tests/utils.spec.js +++ b/packages/backend-core/src/tests/utils.spec.js @@ -1,7 +1,8 @@ const { structures } = require("../../tests") const utils = require("../utils") const events = require("../events") -const { doInTenant, DEFAULT_TENANT_ID }= require("../context") +const { DEFAULT_TENANT_ID } = require("../constants") +const { doInTenant } = require("../context") describe("utils", () => { describe("platformLogout", () => { diff --git a/packages/backend-core/src/utils/utils.ts b/packages/backend-core/src/utils/utils.ts index d830164414..3e9fbb177a 100644 --- a/packages/backend-core/src/utils/utils.ts +++ b/packages/backend-core/src/utils/utils.ts @@ -1,17 +1,11 @@ -import { - DocumentType, - SEPARATOR, - ViewName, - getAllApps, - queryGlobalView, -} from "../db" +import { getAllApps, queryGlobalView } from "../db" import { options } from "../middleware/passport/jwt" import { Header, Cookie, MAX_VALID_DATE } from "../constants" import env from "../environment" import * as userCache from "../cache/user" import { getSessionsForUser, invalidateSessions } from "../security/sessions" import * as events from "../events" -import tenancy from "../tenancy" +import * as tenancy from "../tenancy" import { App, BBContext, @@ -19,6 +13,7 @@ import { TenantResolutionStrategy, } from "@budibase/types" import { SetOption } from "cookies" +import { DocumentType, SEPARATOR, ViewName } from "../constants" const jwt = require("jsonwebtoken") const APP_PREFIX = DocumentType.APP + SEPARATOR diff --git a/packages/server/src/app.ts b/packages/server/src/app.ts index 9010bf87f3..0fb78d7525 100644 --- a/packages/server/src/app.ts +++ b/packages/server/src/app.ts @@ -12,18 +12,18 @@ if (process.env.ELASTIC_APM_ENABLED) { import { ExtendableContext } from "koa" import * as db from "./db" db.init() -const Koa = require("koa") -const destroyable = require("server-destroy") -const koaBody = require("koa-body") -const http = require("http") -const api = require("./api") -const automations = require("./automations/index") -const Sentry = require("@sentry/node") -const { Thread } = require("./threads") +import Koa from "koa" +import koaBody from "koa-body" +import http from "http" +import * as api from "./api" +import * as automations from "./automations" +import { Thread } from "./threads" import * as redis from "./utilities/redis" import { events, logging } from "@budibase/backend-core" import { initialise as initialiseWebsockets } from "./websocket" import { startup } from "./startup" +const Sentry = require("@sentry/node") +const destroyable = require("server-destroy") const app = new Koa() @@ -34,6 +34,7 @@ app.use( formLimit: "10mb", jsonLimit: "10mb", textLimit: "10mb", + // @ts-ignore enableTypes: ["json", "form", "text"], parsedMethods: ["POST", "PUT", "PATCH", "DELETE"], }) @@ -76,12 +77,13 @@ server.on("close", async () => { } }) -module.exports = server.listen(env.PORT || 0, async () => { +export = server.listen(env.PORT || 0, async () => { await startup(app, server) }) const shutdown = () => { server.close() + // @ts-ignore server.destroy() } diff --git a/packages/server/src/environment.ts b/packages/server/src/environment.ts index d3b884c12c..bf5330f9b6 100644 --- a/packages/server/src/environment.ts +++ b/packages/server/src/environment.ts @@ -88,7 +88,8 @@ const environment = { CLIENT_ID: process.env.CLIENT_ID, _set(key: string, value: any) { process.env[key] = value - module.exports[key] = value + // @ts-ignore + environment[key] = value }, isTest, isJest, diff --git a/packages/worker/src/api/index.ts b/packages/worker/src/api/index.ts index 073235c3ba..e37c6c2d94 100644 --- a/packages/worker/src/api/index.ts +++ b/packages/worker/src/api/index.ts @@ -163,4 +163,4 @@ for (let route of routes) { router.use(route.allowedMethods()) } -export = router +export default router diff --git a/packages/worker/src/environment.ts b/packages/worker/src/environment.ts index 84f8ba0a4d..f4c339ad6d 100644 --- a/packages/worker/src/environment.ts +++ b/packages/worker/src/environment.ts @@ -68,7 +68,7 @@ const environment = { _set(key: any, value: any) { process.env[key] = value // @ts-ignore - env[key] = value + environment[key] = value }, isDev, isTest, diff --git a/packages/worker/src/index.ts b/packages/worker/src/index.ts index b1ebb72e20..b513b11279 100644 --- a/packages/worker/src/index.ts +++ b/packages/worker/src/index.ts @@ -19,7 +19,7 @@ db.init() import Koa from "koa" import koaBody from "koa-body" import http from "http" -import * as api from "./api" +import api from "./api" import * as redis from "./utilities/redis" import Sentry from "@sentry/node" const koaSession = require("koa-session") diff --git a/packages/worker/src/tests/TestConfiguration.ts b/packages/worker/src/tests/TestConfiguration.ts index 015ebb6258..871b7ec6a6 100644 --- a/packages/worker/src/tests/TestConfiguration.ts +++ b/packages/worker/src/tests/TestConfiguration.ts @@ -2,7 +2,7 @@ import "./mocks" import * as dbConfig from "../db" dbConfig.init() import env from "../environment" -import controllers from "./controllers" +import * as controllers from "./controllers" const supertest = require("supertest") import { Config } from "../constants" import { diff --git a/packages/worker/src/tests/controllers.js b/packages/worker/src/tests/controllers.js deleted file mode 100644 index 226355506f..0000000000 --- a/packages/worker/src/tests/controllers.js +++ /dev/null @@ -1,7 +0,0 @@ -module.exports = { - email: require("../api/controllers/global/email"), - workspaces: require("../api/controllers/global/workspaces"), - config: require("../api/controllers/global/configs"), - templates: require("../api/controllers/global/templates"), - users: require("../api/controllers/global/users"), -} diff --git a/packages/worker/src/tests/controllers.ts b/packages/worker/src/tests/controllers.ts new file mode 100644 index 0000000000..bdcf11434b --- /dev/null +++ b/packages/worker/src/tests/controllers.ts @@ -0,0 +1,5 @@ +export * as email from "../api/controllers/global/email" +export * as workspaces from "../api/controllers/global/workspaces" +export * as config from "../api/controllers/global/configs" +export * as templates from "../api/controllers/global/templates" +export * as users from "../api/controllers/global/users" diff --git a/packages/worker/src/tests/structures/configs.js b/packages/worker/src/tests/structures/configs.ts similarity index 88% rename from packages/worker/src/tests/structures/configs.js rename to packages/worker/src/tests/structures/configs.ts index fbd82de0a7..a692e77987 100644 --- a/packages/worker/src/tests/structures/configs.js +++ b/packages/worker/src/tests/structures/configs.ts @@ -1,7 +1,7 @@ const { Config } = require("../../constants") const { utils } = require("@budibase/backend-core") -exports.oidc = conf => { +export function oidc(conf?: any) { return { type: Config.OIDC, config: { @@ -21,7 +21,7 @@ exports.oidc = conf => { } } -exports.google = conf => { +export function google(conf?: any) { return { type: Config.GOOGLE, config: { @@ -33,7 +33,7 @@ exports.google = conf => { } } -exports.smtp = conf => { +export function smtp(conf?: any) { return { type: Config.SMTP, config: { @@ -47,7 +47,7 @@ exports.smtp = conf => { } } -exports.smtpEthereal = () => { +export function smtpEthereal() { return { type: Config.SMTP, config: { @@ -63,7 +63,7 @@ exports.smtpEthereal = () => { } } -exports.settings = conf => { +export function settings(conf?: any) { return { type: Config.SETTINGS, config: { diff --git a/packages/worker/src/tests/structures/index.ts b/packages/worker/src/tests/structures/index.ts index 3a4c3324df..0ac32e77ee 100644 --- a/packages/worker/src/tests/structures/index.ts +++ b/packages/worker/src/tests/structures/index.ts @@ -1,5 +1,5 @@ import { structures } from "@budibase/backend-core/tests" -import configs from "./configs" +import * as configs from "./configs" import * as users from "./users" import * as groups from "./groups" import { v4 as uuid } from "uuid"