276 lines
9.7 KiB
TypeScript
276 lines
9.7 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: '/hotels/hotels-list',
|
|
label: 'Hotels',
|
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
// @ts-ignore
|
|
icon: 'mdiOfficeBuilding' in icon ? icon['mdiOfficeBuilding' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
|
|
permissions: 'READ_HOTELS'
|
|
},
|
|
{
|
|
href: '/departments/departments-list',
|
|
label: 'Departments',
|
|
// 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_DEPARTMENTS'
|
|
},
|
|
{
|
|
href: '/staff_profiles/staff_profiles-list',
|
|
label: 'Staff profiles',
|
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
// @ts-ignore
|
|
icon: 'mdiBadgeAccount' in icon ? icon['mdiBadgeAccount' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
|
|
permissions: 'READ_STAFF_PROFILES'
|
|
},
|
|
{
|
|
href: '/shifts/shifts-list',
|
|
label: 'Shifts',
|
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
// @ts-ignore
|
|
icon: 'mdiCalendarClock' in icon ? icon['mdiCalendarClock' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
|
|
permissions: 'READ_SHIFTS'
|
|
},
|
|
{
|
|
href: '/room_types/room_types-list',
|
|
label: 'Room types',
|
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
// @ts-ignore
|
|
icon: 'mdiBedQueen' in icon ? icon['mdiBedQueen' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
|
|
permissions: 'READ_ROOM_TYPES'
|
|
},
|
|
{
|
|
href: '/rooms/rooms-list',
|
|
label: 'Rooms',
|
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
// @ts-ignore
|
|
icon: 'mdiDoor' in icon ? icon['mdiDoor' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
|
|
permissions: 'READ_ROOMS'
|
|
},
|
|
{
|
|
href: '/guests/guests-list',
|
|
label: 'Guests',
|
|
// 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_GUESTS'
|
|
},
|
|
{
|
|
href: '/guest_documents/guest_documents-list',
|
|
label: 'Guest documents',
|
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
// @ts-ignore
|
|
icon: 'mdiCardAccountDetails' in icon ? icon['mdiCardAccountDetails' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
|
|
permissions: 'READ_GUEST_DOCUMENTS'
|
|
},
|
|
{
|
|
href: '/rate_plans/rate_plans-list',
|
|
label: 'Rate plans',
|
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
// @ts-ignore
|
|
icon: 'mdiTagMultiple' in icon ? icon['mdiTagMultiple' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
|
|
permissions: 'READ_RATE_PLANS'
|
|
},
|
|
{
|
|
href: '/seasonal_rates/seasonal_rates-list',
|
|
label: 'Seasonal rates',
|
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
// @ts-ignore
|
|
icon: 'mdiCalendarRange' in icon ? icon['mdiCalendarRange' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
|
|
permissions: 'READ_SEASONAL_RATES'
|
|
},
|
|
{
|
|
href: '/dynamic_pricing_rules/dynamic_pricing_rules-list',
|
|
label: 'Dynamic pricing rules',
|
|
// 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_DYNAMIC_PRICING_RULES'
|
|
},
|
|
{
|
|
href: '/sales_channels/sales_channels-list',
|
|
label: 'Sales channels',
|
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
// @ts-ignore
|
|
icon: 'mdiShareVariant' in icon ? icon['mdiShareVariant' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
|
|
permissions: 'READ_SALES_CHANNELS'
|
|
},
|
|
{
|
|
href: '/ota_connections/ota_connections-list',
|
|
label: 'Ota connections',
|
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
// @ts-ignore
|
|
icon: 'mdiCloudSync' in icon ? icon['mdiCloudSync' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
|
|
permissions: 'READ_OTA_CONNECTIONS'
|
|
},
|
|
{
|
|
href: '/reservations/reservations-list',
|
|
label: 'Reservations',
|
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
// @ts-ignore
|
|
icon: 'mdiCalendarCheck' in icon ? icon['mdiCalendarCheck' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
|
|
permissions: 'READ_RESERVATIONS'
|
|
},
|
|
{
|
|
href: '/reservation_guests/reservation_guests-list',
|
|
label: 'Reservation guests',
|
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
// @ts-ignore
|
|
icon: 'mdiAccountMultiple' in icon ? icon['mdiAccountMultiple' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
|
|
permissions: 'READ_RESERVATION_GUESTS'
|
|
},
|
|
{
|
|
href: '/stay_folios/stay_folios-list',
|
|
label: 'Stay folios',
|
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
// @ts-ignore
|
|
icon: 'mdiReceiptText' in icon ? icon['mdiReceiptText' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
|
|
permissions: 'READ_STAY_FOLIOS'
|
|
},
|
|
{
|
|
href: '/folio_items/folio_items-list',
|
|
label: 'Folio items',
|
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
// @ts-ignore
|
|
icon: 'mdiFormatListBulleted' in icon ? icon['mdiFormatListBulleted' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
|
|
permissions: 'READ_FOLIO_ITEMS'
|
|
},
|
|
{
|
|
href: '/payments/payments-list',
|
|
label: 'Payments',
|
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
// @ts-ignore
|
|
icon: 'mdiCreditCard' in icon ? icon['mdiCreditCard' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
|
|
permissions: 'READ_PAYMENTS'
|
|
},
|
|
{
|
|
href: '/refunds/refunds-list',
|
|
label: 'Refunds',
|
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
// @ts-ignore
|
|
icon: 'mdiCashRefund' in icon ? icon['mdiCashRefund' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
|
|
permissions: 'READ_REFUNDS'
|
|
},
|
|
{
|
|
href: '/invoices/invoices-list',
|
|
label: 'Invoices',
|
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
// @ts-ignore
|
|
icon: 'mdiFileDocument' in icon ? icon['mdiFileDocument' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
|
|
permissions: 'READ_INVOICES'
|
|
},
|
|
{
|
|
href: '/housekeeping_tasks/housekeeping_tasks-list',
|
|
label: 'Housekeeping tasks',
|
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
// @ts-ignore
|
|
icon: 'mdiBroom' in icon ? icon['mdiBroom' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
|
|
permissions: 'READ_HOUSEKEEPING_TASKS'
|
|
},
|
|
{
|
|
href: '/maintenance_tickets/maintenance_tickets-list',
|
|
label: 'Maintenance tickets',
|
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
// @ts-ignore
|
|
icon: 'mdiTools' in icon ? icon['mdiTools' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
|
|
permissions: 'READ_MAINTENANCE_TICKETS'
|
|
},
|
|
{
|
|
href: '/notifications/notifications-list',
|
|
label: 'Notifications',
|
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
// @ts-ignore
|
|
icon: 'mdiEmailFast' in icon ? icon['mdiEmailFast' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
|
|
permissions: 'READ_NOTIFICATIONS'
|
|
},
|
|
{
|
|
href: '/booking_widgets/booking_widgets-list',
|
|
label: 'Booking widgets',
|
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
// @ts-ignore
|
|
icon: 'mdiWidget' in icon ? icon['mdiWidget' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
|
|
permissions: 'READ_BOOKING_WIDGETS'
|
|
},
|
|
{
|
|
href: '/subscriptions/subscriptions-list',
|
|
label: 'Subscriptions',
|
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
// @ts-ignore
|
|
icon: 'mdiCrown' in icon ? icon['mdiCrown' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
|
|
permissions: 'READ_SUBSCRIPTIONS'
|
|
},
|
|
{
|
|
href: '/audit_logs/audit_logs-list',
|
|
label: 'Audit logs',
|
|
// 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_AUDIT_LOGS'
|
|
},
|
|
{
|
|
href: '/daily_snapshots/daily_snapshots-list',
|
|
label: 'Daily snapshots',
|
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
// @ts-ignore
|
|
icon: 'mdiChartBox' in icon ? icon['mdiChartBox' as keyof typeof icon] : icon.mdiTable ?? icon.mdiTable,
|
|
permissions: 'READ_DAILY_SNAPSHOTS'
|
|
},
|
|
{
|
|
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
|