Feature flags (#543)
* Re-organize a bit controllers * Added the featureflagcontroller * Implement feature flags in the front-end * Clean env files * Clean console.log messages * Fix feature flag test
This commit is contained in:
2
client/middleware/custom-domain.global.js
vendored
2
client/middleware/custom-domain.global.js
vendored
@@ -47,7 +47,7 @@ export default defineNuxtRouteMiddleware((to) => {
|
||||
})
|
||||
}
|
||||
|
||||
if (!config.public.customDomainsEnabled) {
|
||||
if (!useFeatureFlag('custom_domains')) {
|
||||
// If custom domain not allowed, redirect
|
||||
return redirectToMainDomain({
|
||||
reason: "custom_domains_disabled",
|
||||
|
||||
9
client/middleware/feature-flags.global.js
vendored
Normal file
9
client/middleware/feature-flags.global.js
vendored
Normal file
@@ -0,0 +1,9 @@
|
||||
import { useFeatureFlagsStore } from '~/stores/featureFlags'
|
||||
|
||||
export default defineNuxtRouteMiddleware(async () => {
|
||||
const featureFlagsStore = useFeatureFlagsStore()
|
||||
|
||||
if (import.meta.server && Object.keys(featureFlagsStore.flags).length === 0) {
|
||||
await featureFlagsStore.fetchFlags()
|
||||
}
|
||||
})
|
||||
2
client/middleware/self-hosted-credentials.js
vendored
2
client/middleware/self-hosted-credentials.js
vendored
@@ -2,7 +2,7 @@ export default defineNuxtRouteMiddleware(() => {
|
||||
const authStore = useAuthStore()
|
||||
const runtimeConfig = useRuntimeConfig()
|
||||
|
||||
if (runtimeConfig.public?.selfHosted) {
|
||||
if (useFeatureFlag('self_hosted')) {
|
||||
if (authStore.check && authStore.user?.email === 'admin@opnform.com') {
|
||||
return navigateTo({ name: "update-credentials" })
|
||||
}
|
||||
|
||||
5
client/middleware/self-hosted.js
vendored
5
client/middleware/self-hosted.js
vendored
@@ -1,11 +1,10 @@
|
||||
export default defineNuxtRouteMiddleware((from, to, next) => {
|
||||
const runtimeConfig = useRuntimeConfig()
|
||||
const route = useRoute()
|
||||
if (runtimeConfig.public?.selfHosted) {
|
||||
if (useFeatureFlag('self_hosted')) {
|
||||
if (from.name === 'register' && route.query?.email && route.query?.invite_token) {
|
||||
return
|
||||
}
|
||||
if (from.name === 'ai-form-builder' && runtimeConfig.public?.aiFeaturesEnabled) {
|
||||
if (from.name === 'ai-form-builder' && useFeatureFlag('ai_features')) {
|
||||
return
|
||||
}
|
||||
return navigateTo({ name: "index" })
|
||||
|
||||
Reference in New Issue
Block a user