.
This commit is contained in:
+24
-17
@@ -226,38 +226,45 @@ const router = createRouter({
|
||||
{
|
||||
path: '/marketing-analysis',
|
||||
name: 'marketing-main',
|
||||
component: () => import('@/views/pages/marketing/MarketingMain.vue')
|
||||
component: () => import('@/views/pages/marketing/MarketingMain.vue'),
|
||||
meta: { requiresAuth: true }
|
||||
},
|
||||
{
|
||||
path: '/marketing-analysis/analysis',
|
||||
name: 'marketing-analysis',
|
||||
component: () => import('@/views/pages/marketing/MarketingAnalysis.vue')
|
||||
component: () => import('@/views/pages/marketing/MarketingAnalysis.vue'),
|
||||
meta: { requiresAuth: true }
|
||||
},
|
||||
{
|
||||
path: '/marketing-analysis/promotion',
|
||||
name: 'marketing-promotion',
|
||||
component: () => import('@/views/pages/marketing/MarketingPromotion.vue')
|
||||
component: () => import('@/views/pages/marketing/MarketingPromotion.vue'),
|
||||
meta: { requiresAuth: true }
|
||||
},
|
||||
{
|
||||
path: '/marketing-analysis/results',
|
||||
name: 'marketing-results',
|
||||
component: () => import('@/views/pages/marketing/MarketingResults.vue')
|
||||
component: () => import('@/views/pages/marketing/MarketingResults.vue'),
|
||||
meta: { requiresAuth: true }
|
||||
},
|
||||
{
|
||||
path: '/marketing-analysis/analyses',
|
||||
name: 'marketing-analyses-list',
|
||||
component: () => import('@/views/pages/marketing/MarketingAnalysesList.vue')
|
||||
component: () => import('@/views/pages/marketing/MarketingAnalysesList.vue'),
|
||||
meta: { requiresAuth: true }
|
||||
},
|
||||
{
|
||||
path: '/marketing-analysis/strategies',
|
||||
name: 'marketing-strategies-list',
|
||||
component: () => import('@/views/pages/marketing/MarketingStrategiesList.vue'),
|
||||
meta: { requiresAuth: true }
|
||||
},
|
||||
{
|
||||
path: '/marketing-analysis/credentials',
|
||||
name: 'marketing-credentials',
|
||||
component: () => import('@/views/pages/marketing/MarketingCredentials.vue'),
|
||||
meta: { requiresAuth: true }
|
||||
},
|
||||
{
|
||||
path: '/marketing-analysis/strategies',
|
||||
name: 'marketing-strategies-list',
|
||||
component: () => import('@/views/pages/marketing/MarketingStrategiesList.vue')
|
||||
},
|
||||
{
|
||||
path: '/marketing-analysis/credentials',
|
||||
name: 'marketing-credentials',
|
||||
component: () => import('@/views/pages/marketing/MarketingCredentials.vue')
|
||||
},
|
||||
{
|
||||
path: '/pages/notfound',
|
||||
name: 'notfound',
|
||||
@@ -284,13 +291,13 @@ const router = createRouter({
|
||||
|
||||
router.beforeEach(async (to) => {
|
||||
const isAuthenticated = !!AuthService.getAccessToken();
|
||||
if (to.meta.requiresAuth && !isAuthenticated) {
|
||||
if (to.meta?.requiresAuth && !isAuthenticated) {
|
||||
return { name: 'login', query: { redirect: to.fullPath } };
|
||||
}
|
||||
if (to.name === 'login' && isAuthenticated) {
|
||||
return { path: '/' };
|
||||
}
|
||||
if (to.meta.requiresAdmin) {
|
||||
if (to.meta?.requiresAdmin) {
|
||||
try {
|
||||
const me = await IdentityService.getCurrentUser();
|
||||
const roles = Array.isArray(me?.roles) ? me.roles : [];
|
||||
|
||||
Reference in New Issue
Block a user