Browse Source

Feature flag upgrade page

master
Rory Powell 5 years ago
parent
commit
b21ba78cf2
  1. 14
      packages/builder/src/helpers/featureFlags.js
  2. 14
      packages/builder/src/pages/builder/portal/_layout.svelte
  3. 6
      packages/worker/src/api/controllers/global/self.js

14
packages/builder/src/helpers/featureFlags.js

@ -0,0 +1,14 @@
import { auth } from "../stores/portal"
import { get } from "svelte/store"
export const FEATURE_FLAGS = {
LICENSING: "LICENSING",
}
export const isEnabled = featureFlag => {
const user = get(auth).user
if (user?.featureFlags?.includes(featureFlag)) {
return true
}
return false
}

14
packages/builder/src/pages/builder/portal/_layout.svelte

@ -20,6 +20,7 @@
import ChangePasswordModal from "components/settings/ChangePasswordModal.svelte"
import UpdateAPIKeyModal from "components/settings/UpdateAPIKeyModal.svelte"
import Logo from "assets/bb-emblem.svg"
import { isEnabled, FEATURE_FLAGS } from "../../../helpers/featureFlags"
let loaded = false
let userInfoModal
@ -54,15 +55,18 @@
if (!$adminStore.cloud) {
menu = menu.concat([
{
title: "Updates",
title: "Update",
href: "/builder/portal/settings/update",
},
{
title: "Upgrade",
href: "/builder/portal/settings/upgrade",
},
])
}
if (isEnabled(FEATURE_FLAGS.LICENSING)) {
menu = menu.concat({
title: "Upgrade",
href: "/builder/portal/settings/upgrade",
})
}
} else {
menu = menu.concat([
{

6
packages/worker/src/api/controllers/global/self.js

@ -15,6 +15,7 @@ const { encrypt } = require("@budibase/backend-core/encryption")
const { newid } = require("@budibase/backend-core/utils")
const { getUser } = require("../../utilities")
const { Cookies } = require("@budibase/backend-core/constants")
const { featureFlags } = require("@budibase/backend-core")
function newApiKey() {
return encrypt(`${getTenantId()}${SEPARATOR}${newid()}`)
@ -104,6 +105,11 @@ exports.getSelf = async ctx => {
// get the main body of the user
ctx.body = await getUser(userId)
// add the feature flags for this tenant
const tenantId = getTenantId()
ctx.body.featureFlags = featureFlags.getTenantFeatureFlags(tenantId)
addSessionAttributesToUser(ctx)
}

Loading…
Cancel
Save