feat: Use feature flags across the routes (#10797)

This commit is contained in:
Shivam Mishra
2025-02-12 06:06:20 +05:30
committed by GitHub
parent 55d41b112b
commit c838779932
13 changed files with 39 additions and 1 deletions

View File

@@ -1,3 +1,4 @@
import { FEATURE_FLAGS } from '../../../../featureFlags';
import Bot from './Index.vue'; import Bot from './Index.vue';
import CsmlEditBot from './csml/Edit.vue'; import CsmlEditBot from './csml/Edit.vue';
import CsmlNewBot from './csml/New.vue'; import CsmlNewBot from './csml/New.vue';
@@ -23,6 +24,7 @@ export default {
name: 'agent_bots', name: 'agent_bots',
component: Bot, component: Bot,
meta: { meta: {
featureFlag: FEATURE_FLAGS.AGENT_BOTS,
permissions: ['administrator'], permissions: ['administrator'],
}, },
}, },
@@ -31,6 +33,7 @@ export default {
name: 'agent_bots_csml_new', name: 'agent_bots_csml_new',
component: CsmlNewBot, component: CsmlNewBot,
meta: { meta: {
featureFlag: FEATURE_FLAGS.AGENT_BOTS,
permissions: ['administrator'], permissions: ['administrator'],
}, },
}, },
@@ -39,6 +42,7 @@ export default {
name: 'agent_bots_csml_edit', name: 'agent_bots_csml_edit',
component: CsmlEditBot, component: CsmlEditBot,
meta: { meta: {
featureFlag: FEATURE_FLAGS.AGENT_BOTS,
permissions: ['administrator'], permissions: ['administrator'],
}, },
}, },

View File

@@ -1,3 +1,4 @@
import { FEATURE_FLAGS } from '../../../../featureFlags';
import { frontendURL } from '../../../../helper/URLHelper'; import { frontendURL } from '../../../../helper/URLHelper';
import SettingsWrapper from '../SettingsWrapper.vue'; import SettingsWrapper from '../SettingsWrapper.vue';
import AgentHome from './Index.vue'; import AgentHome from './Index.vue';
@@ -19,6 +20,7 @@ export default {
name: 'agent_list', name: 'agent_list',
component: AgentHome, component: AgentHome,
meta: { meta: {
featureFlag: FEATURE_FLAGS.AGENT_MANAGEMENT,
permissions: ['administrator'], permissions: ['administrator'],
}, },
}, },

View File

@@ -1,3 +1,4 @@
import { FEATURE_FLAGS } from '../../../../featureFlags';
import { frontendURL } from '../../../../helper/URLHelper'; import { frontendURL } from '../../../../helper/URLHelper';
import SettingsWrapper from '../SettingsWrapper.vue'; import SettingsWrapper from '../SettingsWrapper.vue';
import AttributesHome from './Index.vue'; import AttributesHome from './Index.vue';
@@ -19,6 +20,7 @@ export default {
name: 'attributes_list', name: 'attributes_list',
component: AttributesHome, component: AttributesHome,
meta: { meta: {
featureFlag: FEATURE_FLAGS.CUSTOM_ATTRIBUTES,
permissions: ['administrator'], permissions: ['administrator'],
}, },
}, },

View File

@@ -1,3 +1,4 @@
import { FEATURE_FLAGS } from '../../../../featureFlags';
import { frontendURL } from '../../../../helper/URLHelper'; import { frontendURL } from '../../../../helper/URLHelper';
import SettingsWrapper from '../SettingsWrapper.vue'; import SettingsWrapper from '../SettingsWrapper.vue';
@@ -19,6 +20,7 @@ export default {
path: 'list', path: 'list',
name: 'auditlogs_list', name: 'auditlogs_list',
meta: { meta: {
featureFlag: FEATURE_FLAGS.AUDIT_LOGS,
permissions: ['administrator'], permissions: ['administrator'],
}, },
component: AuditLogsHome, component: AuditLogsHome,

View File

@@ -1,3 +1,4 @@
import { FEATURE_FLAGS } from '../../../../featureFlags';
import { frontendURL } from '../../../../helper/URLHelper'; import { frontendURL } from '../../../../helper/URLHelper';
import SettingsWrapper from '../SettingsWrapper.vue'; import SettingsWrapper from '../SettingsWrapper.vue';
import Automation from './Index.vue'; import Automation from './Index.vue';
@@ -19,6 +20,7 @@ export default {
name: 'automation_list', name: 'automation_list',
component: Automation, component: Automation,
meta: { meta: {
featureFlag: FEATURE_FLAGS.AUTOMATIONS,
permissions: ['administrator'], permissions: ['administrator'],
}, },
}, },

View File

@@ -1,3 +1,4 @@
import { FEATURE_FLAGS } from '../../../../featureFlags';
import { frontendURL } from '../../../../helper/URLHelper'; import { frontendURL } from '../../../../helper/URLHelper';
import { import {
ROLES, ROLES,
@@ -22,6 +23,7 @@ export default {
path: 'list', path: 'list',
name: 'canned_list', name: 'canned_list',
meta: { meta: {
featureFlag: FEATURE_FLAGS.CANNED_RESPONSES,
permissions: [...ROLES, ...CONVERSATION_PERMISSIONS], permissions: [...ROLES, ...CONVERSATION_PERMISSIONS],
}, },
component: CannedHome, component: CannedHome,

View File

@@ -1,3 +1,4 @@
import { FEATURE_FLAGS } from '../../../../featureFlags';
import { frontendURL } from 'dashboard/helper/URLHelper'; import { frontendURL } from 'dashboard/helper/URLHelper';
import SettingsWrapper from '../SettingsWrapper.vue'; import SettingsWrapper from '../SettingsWrapper.vue';
@@ -17,6 +18,7 @@ export default {
path: 'list', path: 'list',
name: 'custom_roles_list', name: 'custom_roles_list',
meta: { meta: {
featureFlag: FEATURE_FLAGS.CUSTOM_ROLES,
permissions: ['administrator'], permissions: ['administrator'],
}, },
component: CustomRolesHome, component: CustomRolesHome,

View File

@@ -1,3 +1,4 @@
import { FEATURE_FLAGS } from '../../../../featureFlags';
import { frontendURL } from '../../../../helper/URLHelper'; import { frontendURL } from '../../../../helper/URLHelper';
import ChannelFactory from './ChannelFactory.vue'; import ChannelFactory from './ChannelFactory.vue';
@@ -27,6 +28,7 @@ export default {
name: 'settings_inbox_list', name: 'settings_inbox_list',
component: InboxHome, component: InboxHome,
meta: { meta: {
featureFlag: FEATURE_FLAGS.INBOX_MANAGEMENT,
permissions: ['administrator'], permissions: ['administrator'],
}, },
}, },
@@ -55,6 +57,7 @@ export default {
name: 'settings_inbox_new', name: 'settings_inbox_new',
component: ChannelList, component: ChannelList,
meta: { meta: {
featureFlag: FEATURE_FLAGS.INBOX_MANAGEMENT,
permissions: ['administrator'], permissions: ['administrator'],
}, },
}, },
@@ -63,6 +66,7 @@ export default {
name: 'settings_inbox_finish', name: 'settings_inbox_finish',
component: FinishSetup, component: FinishSetup,
meta: { meta: {
featureFlag: FEATURE_FLAGS.INBOX_MANAGEMENT,
permissions: ['administrator'], permissions: ['administrator'],
}, },
}, },
@@ -71,6 +75,7 @@ export default {
name: 'settings_inboxes_page_channel', name: 'settings_inboxes_page_channel',
component: ChannelFactory, component: ChannelFactory,
meta: { meta: {
featureFlag: FEATURE_FLAGS.INBOX_MANAGEMENT,
permissions: ['administrator'], permissions: ['administrator'],
}, },
props: route => { props: route => {
@@ -81,6 +86,7 @@ export default {
path: ':inbox_id/agents', path: ':inbox_id/agents',
name: 'settings_inboxes_add_agents', name: 'settings_inboxes_add_agents',
meta: { meta: {
featureFlag: FEATURE_FLAGS.INBOX_MANAGEMENT,
permissions: ['administrator'], permissions: ['administrator'],
}, },
component: AddAgents, component: AddAgents,
@@ -92,6 +98,7 @@ export default {
name: 'settings_inbox_show', name: 'settings_inbox_show',
component: Settings, component: Settings,
meta: { meta: {
featureFlag: FEATURE_FLAGS.INBOX_MANAGEMENT,
permissions: ['administrator'], permissions: ['administrator'],
}, },
}, },

View File

@@ -1,3 +1,4 @@
import { FEATURE_FLAGS } from '../../../../featureFlags';
import { frontendURL } from '../../../../helper/URLHelper'; import { frontendURL } from '../../../../helper/URLHelper';
import SettingsWrapper from '../SettingsWrapper.vue'; import SettingsWrapper from '../SettingsWrapper.vue';
import IntegrationHooks from './IntegrationHooks.vue'; import IntegrationHooks from './IntegrationHooks.vue';
@@ -19,6 +20,7 @@ export default {
name: 'settings_applications', name: 'settings_applications',
component: Index, component: Index,
meta: { meta: {
featureFlag: FEATURE_FLAGS.INTEGRATIONS,
permissions: ['administrator'], permissions: ['administrator'],
}, },
}, },
@@ -27,6 +29,7 @@ export default {
component: DashboardApps, component: DashboardApps,
name: 'settings_integrations_dashboard_apps', name: 'settings_integrations_dashboard_apps',
meta: { meta: {
featureFlag: FEATURE_FLAGS.INTEGRATIONS,
permissions: ['administrator'], permissions: ['administrator'],
}, },
}, },
@@ -35,6 +38,7 @@ export default {
component: Webhook, component: Webhook,
name: 'settings_integrations_webhook', name: 'settings_integrations_webhook',
meta: { meta: {
featureFlag: FEATURE_FLAGS.INTEGRATIONS,
permissions: ['administrator'], permissions: ['administrator'],
}, },
}, },
@@ -62,6 +66,7 @@ export default {
name: 'settings_integrations_slack', name: 'settings_integrations_slack',
component: Slack, component: Slack,
meta: { meta: {
featureFlag: FEATURE_FLAGS.INTEGRATIONS,
permissions: ['administrator'], permissions: ['administrator'],
}, },
props: route => ({ code: route.query.code }), props: route => ({ code: route.query.code }),
@@ -71,6 +76,7 @@ export default {
name: 'settings_applications_integration', name: 'settings_applications_integration',
component: IntegrationHooks, component: IntegrationHooks,
meta: { meta: {
featureFlag: FEATURE_FLAGS.INTEGRATIONS,
permissions: ['administrator'], permissions: ['administrator'],
}, },
props: route => ({ props: route => ({

View File

@@ -1,3 +1,4 @@
import { FEATURE_FLAGS } from '../../../../featureFlags';
import { frontendURL } from '../../../../helper/URLHelper'; import { frontendURL } from '../../../../helper/URLHelper';
import SettingsWrapper from '../SettingsWrapper.vue'; import SettingsWrapper from '../SettingsWrapper.vue';
@@ -23,6 +24,7 @@ export default {
path: 'list', path: 'list',
name: 'labels_list', name: 'labels_list',
meta: { meta: {
featureFlag: FEATURE_FLAGS.LABELS,
permissions: ['administrator'], permissions: ['administrator'],
}, },
component: Index, component: Index,

View File

@@ -1,3 +1,4 @@
import { FEATURE_FLAGS } from '../../../../featureFlags';
import { frontendURL } from 'dashboard/helper/URLHelper'; import { frontendURL } from 'dashboard/helper/URLHelper';
import { import {
@@ -20,6 +21,7 @@ export default {
name: 'macros_wrapper', name: 'macros_wrapper',
component: Macros, component: Macros,
meta: { meta: {
featureFlag: FEATURE_FLAGS.MACROS,
permissions: [...ROLES, ...CONVERSATION_PERMISSIONS], permissions: [...ROLES, ...CONVERSATION_PERMISSIONS],
}, },
}, },
@@ -41,6 +43,7 @@ export default {
name: 'macros_edit', name: 'macros_edit',
component: MacroEditor, component: MacroEditor,
meta: { meta: {
featureFlag: FEATURE_FLAGS.MACROS,
permissions: [...ROLES, ...CONVERSATION_PERMISSIONS], permissions: [...ROLES, ...CONVERSATION_PERMISSIONS],
}, },
}, },
@@ -49,6 +52,7 @@ export default {
name: 'macros_new', name: 'macros_new',
component: MacroEditor, component: MacroEditor,
meta: { meta: {
featureFlag: FEATURE_FLAGS.MACROS,
permissions: [...ROLES, ...CONVERSATION_PERMISSIONS], permissions: [...ROLES, ...CONVERSATION_PERMISSIONS],
}, },
}, },

View File

@@ -1,3 +1,4 @@
import { FEATURE_FLAGS } from '../../../../featureFlags';
import { frontendURL } from '../../../../helper/URLHelper'; import { frontendURL } from '../../../../helper/URLHelper';
import SettingsWrapper from '../SettingsWrapper.vue'; import SettingsWrapper from '../SettingsWrapper.vue';
@@ -14,6 +15,7 @@ export default {
path: '', path: '',
name: 'sla_wrapper', name: 'sla_wrapper',
meta: { meta: {
featureFlag: FEATURE_FLAGS.SLA,
permissions: ['administrator'], permissions: ['administrator'],
}, },
redirect: to => { redirect: to => {
@@ -24,6 +26,7 @@ export default {
path: 'list', path: 'list',
name: 'sla_list', name: 'sla_list',
meta: { meta: {
featureFlag: FEATURE_FLAGS.SLA,
permissions: ['administrator'], permissions: ['administrator'],
}, },
component: Index, component: Index,

View File

@@ -1,5 +1,5 @@
import { frontendURL } from '../../../../helper/URLHelper'; import { frontendURL } from '../../../../helper/URLHelper';
import { FEATURE_FLAGS } from 'dashboard/featureFlags'; import { FEATURE_FLAGS } from '../../../../featureFlags';
import TeamsIndex from './Index.vue'; import TeamsIndex from './Index.vue';
import CreateStepWrap from './Create/Index.vue'; import CreateStepWrap from './Create/Index.vue';