Frontend Routing and Roles

Role Gate Frequency in Route Definitions

From Navigation.jsx route wrappers:

Role Occurrences
ects_view_cargo 13
ects_view_device 12
ects_edit_route 12
ects_view_journey 11
ects_edit_cargo 11
ects_view_inventory 8
ects_edit_device 8
ects_view_maintenance 7
ects_view_alerts 7
ects_view_route 6
ects_edit_inventory 6
ects_view_reports 5

Route Families

Authentication/public

  • /login
  • /register
  • /reset-password
  • /change-server

Cargo

Examples:

  • /cargo/unassigned-cargo
  • /cargo/create-cargo
  • /cargo/all-cargos
  • /cargo/vehicles-list

Journey

Examples:

  • /journey/create-journey
  • /journey/active
  • /journey/flagged
  • /journey/completed

Routes and geofencing

Examples:

  • /routes/list
  • /routes/add-route
  • /routes/checkpoints
  • /routes/corridors
  • /routes/route-holds

Inventory and maintenance

Examples:

  • /inventories/inventory-summary
  • /inventories/inventory
  • /inventories/assigned-inventory
  • /inventories/maintenance-records

Alerts

Examples:

  • /alerts/open-alerts
  • /alerts/escalated-alerts
  • /alerts/closed-alerts
  • /alerts/system-notifications

Device and settings

Examples:

  • /device/device-summary
  • /device/device-list
  • /device/device-configurations
  • /settings/users
  • /settings/preferences

Practical Access-Control Behavior

  • Menu visibility is role-filtered in navbar/sidebar components
  • Route rendering is role-checked in SessionManager
  • API calls still require backend authorization; UI access alone is not sufficient