Merge branch 'master' into uncomment-search-test-todos
This commit is contained in:
commit
6516a01657
|
@ -73,9 +73,9 @@ jobs:
|
|||
- name: Check types
|
||||
run: |
|
||||
if ${{ env.USE_NX_AFFECTED }}; then
|
||||
yarn check:types --since=${{ env.NX_BASE_BRANCH }}
|
||||
yarn check:types --since=${{ env.NX_BASE_BRANCH }} --ignore @budibase/account-portal-server
|
||||
else
|
||||
yarn check:types
|
||||
yarn check:types --ignore @budibase/account-portal-server
|
||||
fi
|
||||
|
||||
helm-lint:
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"version": "2.28.6",
|
||||
"version": "2.28.7",
|
||||
"npmClient": "yarn",
|
||||
"packages": [
|
||||
"packages/*",
|
||||
|
|
|
@ -40,7 +40,7 @@
|
|||
"build:oss": "NODE_OPTIONS=--max-old-space-size=1500 lerna run build --stream --ignore @budibase/account-portal-server --ignore @budibase/account-portal-ui",
|
||||
"build:account-portal": "NODE_OPTIONS=--max-old-space-size=1500 lerna run build --stream --scope @budibase/account-portal-server --scope @budibase/account-portal-ui",
|
||||
"build:dev": "lerna run --stream prebuild && yarn nx run-many --target=build --output-style=dynamic --watch --preserveWatchOutput",
|
||||
"check:types": "lerna run --concurrency 2 check:types",
|
||||
"check:types": "lerna run --concurrency 2 check:types --ignore @budibase/account-portal-server",
|
||||
"build:sdk": "lerna run --stream build:sdk",
|
||||
"deps:circular": "madge packages/server/dist/index.js packages/worker/src/index.ts packages/backend-core/dist/src/index.js packages/cli/src/index.js --circular",
|
||||
"release": "lerna publish from-package --yes --force-publish --no-git-tag-version --no-push --no-git-reset",
|
||||
|
|
|
@ -9,8 +9,13 @@ export function getTenantDB(tenantId: string) {
|
|||
export async function saveTenantInfo(tenantInfo: TenantInfo) {
|
||||
const db = getTenantDB(tenantInfo.tenantId)
|
||||
// save the tenant info to db
|
||||
return await db.put({
|
||||
return db.put({
|
||||
_id: "tenant_info",
|
||||
...tenantInfo,
|
||||
})
|
||||
}
|
||||
|
||||
export async function getTenantInfo(tenantId: string): Promise<TenantInfo> {
|
||||
const db = getTenantDB(tenantId)
|
||||
return db.get("tenant_info")
|
||||
}
|
||||
|
|
|
@ -19,6 +19,7 @@
|
|||
devToolsStore,
|
||||
devToolsEnabled,
|
||||
environmentStore,
|
||||
sidePanelStore,
|
||||
} from "stores"
|
||||
import NotificationDisplay from "components/overlay/NotificationDisplay.svelte"
|
||||
import ConfirmationDisplay from "components/overlay/ConfirmationDisplay.svelte"
|
||||
|
@ -102,6 +103,16 @@
|
|||
embedded: !!$appStore.embedded,
|
||||
})
|
||||
}
|
||||
const handleHashChange = () => {
|
||||
const { open } = $sidePanelStore
|
||||
if (open) {
|
||||
sidePanelStore.actions.close()
|
||||
}
|
||||
}
|
||||
window.addEventListener("hashchange", handleHashChange)
|
||||
return () => {
|
||||
window.removeEventListener("hashchange", handleHashChange)
|
||||
}
|
||||
})
|
||||
|
||||
$: {
|
||||
|
|
|
@ -29,10 +29,6 @@
|
|||
}
|
||||
}
|
||||
|
||||
// $: {
|
||||
|
||||
// }
|
||||
|
||||
// Derive visibility
|
||||
$: open = $sidePanelStore.contentId === $component.id
|
||||
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
import { Hosting } from "../../sdk"
|
||||
import { Document } from "../document"
|
||||
|
||||
export interface TenantInfo extends Document {
|
||||
|
@ -10,4 +11,5 @@ export interface TenantInfo extends Document {
|
|||
budibaseUserId?: string
|
||||
}
|
||||
tenantId: string
|
||||
hosting: Hosting
|
||||
}
|
||||
|
|
|
@ -8,3 +8,7 @@ export const save = async (ctx: Ctx<TenantInfo>) => {
|
|||
_rev: response.rev,
|
||||
}
|
||||
}
|
||||
|
||||
export const get = async (ctx: Ctx) => {
|
||||
ctx.body = await tenancy.getTenantInfo(ctx.params.id)
|
||||
}
|
||||
|
|
|
@ -129,6 +129,10 @@ const NO_TENANCY_ENDPOINTS = [
|
|||
route: "/api/global/tenant",
|
||||
method: "POST",
|
||||
},
|
||||
{
|
||||
route: "/api/global/tenant/:id",
|
||||
method: "GET",
|
||||
},
|
||||
]
|
||||
|
||||
// most public endpoints are gets, but some are posts
|
||||
|
|
|
@ -18,16 +18,19 @@ function buildTenantInfoValidation() {
|
|||
familyName: OPTIONAL_STRING,
|
||||
budibaseUserId: OPTIONAL_STRING,
|
||||
}).required(),
|
||||
hosting: Joi.string().required(),
|
||||
tenantId: Joi.string().required(),
|
||||
}).required()
|
||||
)
|
||||
}
|
||||
|
||||
router.post(
|
||||
"/api/global/tenant",
|
||||
cloudRestricted,
|
||||
buildTenantInfoValidation(),
|
||||
controller.save
|
||||
)
|
||||
router
|
||||
.post(
|
||||
"/api/global/tenant",
|
||||
cloudRestricted,
|
||||
buildTenantInfoValidation(),
|
||||
controller.save
|
||||
)
|
||||
.get("/api/global/tenant/:id", controller.get)
|
||||
|
||||
export default router
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import { TenantInfo } from "@budibase/types"
|
||||
import { Hosting, TenantInfo } from "@budibase/types"
|
||||
import { TestConfiguration } from "../../../../tests"
|
||||
import { tenancy as _tenancy } from "@budibase/backend-core"
|
||||
|
||||
|
@ -36,6 +36,7 @@ describe("/api/global/tenant", () => {
|
|||
budibaseUserId: "USER_ID",
|
||||
},
|
||||
tenantId: "tenant123",
|
||||
hosting: Hosting.CLOUD,
|
||||
}
|
||||
const response = await config.api.tenants.saveTenantInfo(tenantInfo)
|
||||
|
||||
|
|
Loading…
Reference in New Issue