40188-vm/frontend/src/menuAside.ts
2026-06-03 16:17:31 +00:00

444 lines
17 KiB
TypeScript

import * as icon from '@mdi/js';
import { MenuAsideItem } from './interfaces'
const menuAside: MenuAsideItem[] = [
{
href: '/dashboard',
icon: icon.mdiViewDashboardOutline,
label: 'Dashboard',
},
{
href: '/users/users-list',
label: 'Users',
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
icon: icon.mdiAccountGroup ?? icon.mdiTable,
permissions: 'READ_USERS'
},
{
href: '/roles/roles-list',
label: 'Roles',
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
icon: icon.mdiShieldAccountVariantOutline ?? icon.mdiTable,
permissions: 'READ_ROLES'
},
{
href: '/permissions/permissions-list',
label: 'Permissions',
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
icon: icon.mdiShieldAccountOutline ?? icon.mdiTable,
permissions: 'READ_PERMISSIONS'
},
{
href: '/organizations/organizations-list',
label: 'Organizations',
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
icon: icon.mdiTable ?? icon.mdiTable,
permissions: 'READ_ORGANIZATIONS'
},
{
href: '/tenants/tenants-list',
label: 'Tenants',
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
icon: 'mdiDomain' in icon ? icon['mdiDomain' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
permissions: 'READ_TENANTS'
},
{
href: '/departments/departments-list',
label: 'Departments',
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
icon: 'mdiSitemap' in icon ? icon['mdiSitemap' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
permissions: 'READ_DEPARTMENTS'
},
{
href: '/teams/teams-list',
label: 'Teams',
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
icon: 'mdiAccountGroup' in icon ? icon['mdiAccountGroup' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
permissions: 'READ_TEAMS'
},
{
href: '/memberships/memberships-list',
label: 'Memberships',
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
icon: 'mdiAccountKey' in icon ? icon['mdiAccountKey' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
permissions: 'READ_MEMBERSHIPS'
},
{
href: '/identity_providers/identity_providers-list',
label: 'Identity providers',
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
icon: 'mdiShieldAccount' in icon ? icon['mdiShieldAccount' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
permissions: 'READ_IDENTITY_PROVIDERS'
},
{
href: '/user_identities/user_identities-list',
label: 'User identities',
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
icon: 'mdiLinkVariant' in icon ? icon['mdiLinkVariant' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
permissions: 'READ_USER_IDENTITIES'
},
{
href: '/policy_rules/policy_rules-list',
label: 'Policy rules',
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
icon: 'mdiLockCheck' in icon ? icon['mdiLockCheck' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
permissions: 'READ_POLICY_RULES'
},
{
href: '/kms_configs/kms_configs-list',
label: 'Kms configs',
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
icon: 'mdiKeyOutline' in icon ? icon['mdiKeyOutline' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
permissions: 'READ_KMS_CONFIGS'
},
{
href: '/conference_templates/conference_templates-list',
label: 'Conference templates',
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
icon: 'mdiClipboardTextOutline' in icon ? icon['mdiClipboardTextOutline' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
permissions: 'READ_CONFERENCE_TEMPLATES'
},
{
href: '/rooms/rooms-list',
label: 'Rooms',
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
icon: 'mdiVideoBox' in icon ? icon['mdiVideoBox' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
permissions: 'READ_ROOMS'
},
{
href: '/room_invitations/room_invitations-list',
label: 'Room invitations',
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
icon: 'mdiEmailOutline' in icon ? icon['mdiEmailOutline' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
permissions: 'READ_ROOM_INVITATIONS'
},
{
href: '/conferences/conferences-list',
label: 'Conferences',
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
icon: 'mdiCalendarVideo' in icon ? icon['mdiCalendarVideo' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
permissions: 'READ_CONFERENCES'
},
{
href: '/participants/participants-list',
label: 'Participants',
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
icon: 'mdiAccountVoice' in icon ? icon['mdiAccountVoice' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
permissions: 'READ_PARTICIPANTS'
},
{
href: '/conference_nodes/conference_nodes-list',
label: 'Conference nodes',
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
icon: 'mdiServerNetwork' in icon ? icon['mdiServerNetwork' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
permissions: 'READ_CONFERENCE_NODES'
},
{
href: '/sfu_allocations/sfu_allocations-list',
label: 'Sfu allocations',
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
icon: 'mdiVectorLink' in icon ? icon['mdiVectorLink' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
permissions: 'READ_SFU_ALLOCATIONS'
},
{
href: '/breakout_rooms/breakout_rooms-list',
label: 'Breakout rooms',
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
icon: 'mdiDoorSliding' in icon ? icon['mdiDoorSliding' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
permissions: 'READ_BREAKOUT_ROOMS'
},
{
href: '/chat_channels/chat_channels-list',
label: 'Chat channels',
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
icon: 'mdiChatOutline' in icon ? icon['mdiChatOutline' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
permissions: 'READ_CHAT_CHANNELS'
},
{
href: '/chat_messages/chat_messages-list',
label: 'Chat messages',
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
icon: 'mdiMessageTextOutline' in icon ? icon['mdiMessageTextOutline' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
permissions: 'READ_CHAT_MESSAGES'
},
{
href: '/files/files-list',
label: 'Files',
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
icon: 'mdiFileOutline' in icon ? icon['mdiFileOutline' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
permissions: 'READ_FILES'
},
{
href: '/room_files/room_files-list',
label: 'Room files',
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
icon: 'mdiFolderOutline' in icon ? icon['mdiFolderOutline' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
permissions: 'READ_ROOM_FILES'
},
{
href: '/recordings/recordings-list',
label: 'Recordings',
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
icon: 'mdiRecordRec' in icon ? icon['mdiRecordRec' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
permissions: 'READ_RECORDINGS'
},
{
href: '/transcripts/transcripts-list',
label: 'Transcripts',
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
icon: 'mdiTextToSpeech' in icon ? icon['mdiTextToSpeech' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
permissions: 'READ_TRANSCRIPTS'
},
{
href: '/canvas_documents/canvas_documents-list',
label: 'Canvas documents',
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
icon: 'mdiVectorSquare' in icon ? icon['mdiVectorSquare' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
permissions: 'READ_CANVAS_DOCUMENTS'
},
{
href: '/canvas_events/canvas_events-list',
label: 'Canvas events',
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
icon: 'mdiTimelineTextOutline' in icon ? icon['mdiTimelineTextOutline' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
permissions: 'READ_CANVAS_EVENTS'
},
{
href: '/layout_models/layout_models-list',
label: 'Layout models',
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
icon: 'mdiBrain' in icon ? icon['mdiBrain' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
permissions: 'READ_LAYOUT_MODELS'
},
{
href: '/layout_preferences/layout_preferences-list',
label: 'Layout preferences',
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
icon: 'mdiTuneVariant' in icon ? icon['mdiTuneVariant' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
permissions: 'READ_LAYOUT_PREFERENCES'
},
{
href: '/federated_learning_updates/federated_learning_updates-list',
label: 'Federated learning updates',
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
icon: 'mdiChartBellCurve' in icon ? icon['mdiChartBellCurve' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
permissions: 'READ_FEDERATED_LEARNING_UPDATES'
},
{
href: '/ai_companion_sessions/ai_companion_sessions-list',
label: 'Ai companion sessions',
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
icon: 'mdiRobotOutline' in icon ? icon['mdiRobotOutline' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
permissions: 'READ_AI_COMPANION_SESSIONS'
},
{
href: '/knowledge_graph_items/knowledge_graph_items-list',
label: 'Knowledge graph items',
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
icon: 'mdiGraphOutline' in icon ? icon['mdiGraphOutline' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
permissions: 'READ_KNOWLEDGE_GRAPH_ITEMS'
},
{
href: '/external_integrations/external_integrations-list',
label: 'External integrations',
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
icon: 'mdiConnection' in icon ? icon['mdiConnection' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
permissions: 'READ_EXTERNAL_INTEGRATIONS'
},
{
href: '/tasks/tasks-list',
label: 'Tasks',
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
icon: 'mdiClipboardCheckOutline' in icon ? icon['mdiClipboardCheckOutline' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
permissions: 'READ_TASKS'
},
{
href: '/courses/courses-list',
label: 'Courses',
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
icon: 'mdiSchoolOutline' in icon ? icon['mdiSchoolOutline' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
permissions: 'READ_COURSES'
},
{
href: '/course_enrollments/course_enrollments-list',
label: 'Course enrollments',
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
icon: 'mdiAccountSchoolOutline' in icon ? icon['mdiAccountSchoolOutline' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
permissions: 'READ_COURSE_ENROLLMENTS'
},
{
href: '/assignments/assignments-list',
label: 'Assignments',
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
icon: 'mdiFileDocumentEditOutline' in icon ? icon['mdiFileDocumentEditOutline' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
permissions: 'READ_ASSIGNMENTS'
},
{
href: '/submissions/submissions-list',
label: 'Submissions',
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
icon: 'mdiUploadOutline' in icon ? icon['mdiUploadOutline' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
permissions: 'READ_SUBMISSIONS'
},
{
href: '/quizzes/quizzes-list',
label: 'Quizzes',
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
icon: 'mdiClipboardTextSearchOutline' in icon ? icon['mdiClipboardTextSearchOutline' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
permissions: 'READ_QUIZZES'
},
{
href: '/quiz_results/quiz_results-list',
label: 'Quiz results',
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
icon: 'mdiChartBoxOutline' in icon ? icon['mdiChartBoxOutline' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
permissions: 'READ_QUIZ_RESULTS'
},
{
href: '/marketplace_apps/marketplace_apps-list',
label: 'Marketplace apps',
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
icon: 'mdiStorefrontOutline' in icon ? icon['mdiStorefrontOutline' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
permissions: 'READ_MARKETPLACE_APPS'
},
{
href: '/app_installations/app_installations-list',
label: 'App installations',
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
icon: 'mdiPuzzleOutline' in icon ? icon['mdiPuzzleOutline' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
permissions: 'READ_APP_INSTALLATIONS'
},
{
href: '/app_crash_reports/app_crash_reports-list',
label: 'App crash reports',
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
icon: 'mdiBugOutline' in icon ? icon['mdiBugOutline' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
permissions: 'READ_APP_CRASH_REPORTS'
},
{
href: '/audit_events/audit_events-list',
label: 'Audit events',
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
icon: 'mdiClipboardListOutline' in icon ? icon['mdiClipboardListOutline' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
permissions: 'READ_AUDIT_EVENTS'
},
{
href: '/data_subject_requests/data_subject_requests-list',
label: 'Data subject requests',
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
icon: 'mdiShieldSearch' in icon ? icon['mdiShieldSearch' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
permissions: 'READ_DATA_SUBJECT_REQUESTS'
},
{
href: '/service_incidents/service_incidents-list',
label: 'Service incidents',
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
icon: 'mdiAlertCircleOutline' in icon ? icon['mdiAlertCircleOutline' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
permissions: 'READ_SERVICE_INCIDENTS'
},
{
href: '/deployment_changes/deployment_changes-list',
label: 'Deployment changes',
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
icon: 'mdiRocketLaunchOutline' in icon ? icon['mdiRocketLaunchOutline' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
permissions: 'READ_DEPLOYMENT_CHANGES'
},
{
href: '/feature_flags/feature_flags-list',
label: 'Feature flags',
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
icon: 'mdiFlagOutline' in icon ? icon['mdiFlagOutline' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
permissions: 'READ_FEATURE_FLAGS'
},
{
href: '/quality_reports/quality_reports-list',
label: 'Quality reports',
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
icon: 'mdiChartLine' in icon ? icon['mdiChartLine' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
permissions: 'READ_QUALITY_REPORTS'
},
{
href: '/event_streams/event_streams-list',
label: 'Event streams',
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
icon: 'mdiTransitConnectionVariant' in icon ? icon['mdiTransitConnectionVariant' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
permissions: 'READ_EVENT_STREAMS'
},
{
href: '/conference_events/conference_events-list',
label: 'Conference events',
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
icon: 'mdiLightningBoltOutline' in icon ? icon['mdiLightningBoltOutline' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
permissions: 'READ_CONFERENCE_EVENTS'
},
{
href: '/profile',
label: 'Profile',
icon: icon.mdiAccountCircle,
},
{
href: '/api-docs',
target: '_blank',
label: 'Swagger API',
icon: icon.mdiFileCode,
permissions: 'READ_API_DOCS'
},
]
export default menuAside