This pull request includes multiple changes to the sidebar and route metas to configure visibility of features on the dashboard. Here's a summary of the changes 1. Added `installationTypes`, field to routes `meta`, this works along side `permissions` and `featureFlags` This allows us to decide weather a particular feature is accessible on a particular type. For instance, the Billing pages should only be available on Cloud 2. Updated `usePolicy` and `policy.vue` to use the new `installationTypes` config 3. Updated Sidebar related components to remove `showOnlyOnCloud` to use the new policy updates. Testing the PR Here's the matrix of cases: https://docs.google.com/spreadsheets/d/15AAJntJZoyudaby77BOnRcC4435FGuT7PXbUXoTyU50/edit?usp=sharing --------- Co-authored-by: Pranav <pranav@chatwoot.com> Co-authored-by: Sojan Jose <sojan@pepalo.com> Co-authored-by: Pranav <pranavrajs@gmail.com>
34 lines
900 B
JavaScript
34 lines
900 B
JavaScript
import { frontendURL } from '../../../../helper/URLHelper';
|
|
import { INSTALLATION_TYPES } from 'dashboard/constants/installationTypes';
|
|
import SettingsWrapper from '../SettingsWrapper.vue';
|
|
import Index from './Index.vue';
|
|
|
|
export default {
|
|
routes: [
|
|
{
|
|
path: frontendURL('accounts/:accountId/settings/billing'),
|
|
meta: {
|
|
permissions: ['administrator'],
|
|
installationTypes: [INSTALLATION_TYPES.CLOUD],
|
|
},
|
|
component: SettingsWrapper,
|
|
props: {
|
|
headerTitle: 'BILLING_SETTINGS.TITLE',
|
|
icon: 'credit-card-person',
|
|
showNewButton: false,
|
|
},
|
|
children: [
|
|
{
|
|
path: '',
|
|
name: 'billing_settings_index',
|
|
component: Index,
|
|
meta: {
|
|
installationTypes: [INSTALLATION_TYPES.CLOUD],
|
|
permissions: ['administrator'],
|
|
},
|
|
},
|
|
],
|
|
},
|
|
],
|
|
};
|