Files
edr-platform/apps/edr-passenger-web/backoffice/src/lib/permissions.ts

200 lines
8.5 KiB
TypeScript

export const PERMS = {
dashboard: 'edr_passenger_app:dashboard:view',
bookings: {
view: 'edr_passenger_app:bookings:view',
manage: 'edr_passenger_app:bookings:manage',
cancel: 'edr_passenger_app:bookings:cancel',
reschedule: 'edr_passenger_app:bookings:reschedule',
create: 'edr_passenger_app:bookings:create',
edit: 'edr_passenger_app:bookings:edit',
delete: 'edr_passenger_app:bookings:delete',
},
reschedulePolicies: {
view: 'edr_passenger_app:reschedule_policies:view',
manage: 'edr_passenger_app:reschedule_policies:manage',
create: 'edr_passenger_app:reschedule_policies:create',
edit: 'edr_passenger_app:reschedule_policies:edit',
delete: 'edr_passenger_app:reschedule_policies:delete',
},
upgradePolicies: {
view: 'edr_passenger_app:upgrade_policies:view',
manage: 'edr_passenger_app:upgrade_policies:manage',
create: 'edr_passenger_app:upgrade_policies:create',
edit: 'edr_passenger_app:upgrade_policies:edit',
delete: 'edr_passenger_app:upgrade_policies:delete',
},
passengers: {
view: 'edr_passenger_app:passengers:view',
manage: 'edr_passenger_app:passengers:manage',
create: 'edr_passenger_app:passengers:create',
edit: 'edr_passenger_app:passengers:edit',
delete: 'edr_passenger_app:passengers:delete',
},
tickets: {
view: 'edr_passenger_app:tickets:view',
manage: 'edr_passenger_app:tickets:manage',
generate: 'edr_passenger_app:tickets:generate',
board: 'edr_passenger_app:tickets:board',
create: 'edr_passenger_app:tickets:create',
edit: 'edr_passenger_app:tickets:edit',
delete: 'edr_passenger_app:tickets:delete',
},
// ── Master Data ────────────────────────────────────────────────
stations: {
view: 'edr_passenger_app:stations:view',
manage: 'edr_passenger_app:stations:manage',
create: 'edr_passenger_app:stations:create',
edit: 'edr_passenger_app:stations:edit',
delete: 'edr_passenger_app:stations:delete',
},
trains: {
view: 'edr_passenger_app:trains:view',
manage: 'edr_passenger_app:trains:manage',
create: 'edr_passenger_app:trains:create',
edit: 'edr_passenger_app:trains:edit',
delete: 'edr_passenger_app:trains:delete',
},
coaches: {
view: 'edr_passenger_app:coaches:view',
manage: 'edr_passenger_app:coaches:manage',
create: 'edr_passenger_app:coaches:create',
edit: 'edr_passenger_app:coaches:edit',
delete: 'edr_passenger_app:coaches:delete',
},
seats: {
view: 'edr_passenger_app:seats:view',
manage: 'edr_passenger_app:seats:manage',
create: 'edr_passenger_app:seats:create',
edit: 'edr_passenger_app:seats:edit',
delete: 'edr_passenger_app:seats:delete',
block: 'edr_passenger_app:seats:block',
},
classes: {
view: 'edr_passenger_app:classes:view',
manage: 'edr_passenger_app:classes:manage',
create: 'edr_passenger_app:classes:create',
edit: 'edr_passenger_app:classes:edit',
delete: 'edr_passenger_app:classes:delete',
},
routes: {
view: 'edr_passenger_app:routes:view',
manage: 'edr_passenger_app:routes:manage',
create: 'edr_passenger_app:routes:create',
edit: 'edr_passenger_app:routes:edit',
delete: 'edr_passenger_app:routes:delete',
},
schedules: {
view: 'edr_passenger_app:schedules:view',
manage: 'edr_passenger_app:schedules:manage',
create: 'edr_passenger_app:schedules:create',
edit: 'edr_passenger_app:schedules:edit',
delete: 'edr_passenger_app:schedules:delete',
cancel: 'edr_passenger_app:schedules:cancel',
},
scheduleFares: {
view: 'edr_passenger_app:schedule_fares:view',
manage: 'edr_passenger_app:schedule_fares:manage',
create: 'edr_passenger_app:schedule_fares:create',
edit: 'edr_passenger_app:schedule_fares:edit',
delete: 'edr_passenger_app:schedule_fares:delete',
},
// ── Tourism ────────────────────────────────────────────────────
packages: {
view: 'edr_passenger_app:packages:view',
manage: 'edr_passenger_app:packages:manage',
create: 'edr_passenger_app:packages:create',
edit: 'edr_passenger_app:packages:edit',
delete: 'edr_passenger_app:packages:delete',
publish: 'edr_passenger_app:packages:publish',
},
inquiries: {
view: 'edr_passenger_app:inquiries:view',
manage: 'edr_passenger_app:inquiries:manage',
create: 'edr_passenger_app:inquiries:create',
edit: 'edr_passenger_app:inquiries:edit',
delete: 'edr_passenger_app:inquiries:delete',
},
// ── Finance ────────────────────────────────────────────────────
tariffRates: {
view: 'edr_passenger_app:tariff_rates:view',
manage: 'edr_passenger_app:tariff_rates:manage',
create: 'edr_passenger_app:tariff_rates:create',
edit: 'edr_passenger_app:tariff_rates:edit',
delete: 'edr_passenger_app:tariff_rates:delete',
},
payments: {
view: 'edr_passenger_app:payments:view',
manage: 'edr_passenger_app:payments:manage',
create: 'edr_passenger_app:payments:create',
supplementary: 'edr_passenger_app:payments:supplementary',
edit: 'edr_passenger_app:payments:edit',
delete: 'edr_passenger_app:payments:delete',
// legacy aliases — still honoured by the backend guards
viewAll: 'edr_passenger_app:payments:view_all',
refund: 'edr_passenger_app:payments:refund',
manageMethods: 'edr_passenger_app:payments:manage_methods',
},
excessBaggage: {
charge: 'edr_passenger_app:excess_baggage:charge',
},
paymentMethods: {
view: 'edr_passenger_app:payment_methods:view',
manage: 'edr_passenger_app:payment_methods:manage',
create: 'edr_passenger_app:payment_methods:create',
edit: 'edr_passenger_app:payment_methods:edit',
delete: 'edr_passenger_app:payment_methods:delete',
},
currencies: {
view: 'edr_passenger_app:currencies:view',
manage: 'edr_passenger_app:currencies:manage',
create: 'edr_passenger_app:currencies:create',
edit: 'edr_passenger_app:currencies:edit',
delete: 'edr_passenger_app:currencies:delete',
},
reports: {
// all-reports umbrella — kept, and kept in every per-report guard array
view: 'edr_passenger_app:reports:view',
overall: { view: 'edr_passenger_app:reports_overall:view' },
finance: {
view: 'edr_passenger_app:reports_finance:view',
export: 'edr_passenger_app:reports_finance:export',
},
coachUtilization: { view: 'edr_passenger_app:reports_coach_utilization:view' },
seatStatus: { view: 'edr_passenger_app:reports_seat_status:view' },
blockedSeats: {
view: 'edr_passenger_app:reports_blocked_seats:view',
export: 'edr_passenger_app:reports_blocked_seats:export',
},
passengers: { view: 'edr_passenger_app:reports_passengers:view' },
boarding: { view: 'edr_passenger_app:reports_boarding:view' },
payments: { view: 'edr_passenger_app:reports_payments:view' },
catalog: { view: 'edr_passenger_app:reports_catalog:view' },
},
fraud: {
view: 'edr_passenger_app:fraud:view',
manage: 'edr_passenger_app:fraud:manage',
create: 'edr_passenger_app:fraud:create',
edit: 'edr_passenger_app:fraud:edit',
delete: 'edr_passenger_app:fraud:delete',
},
audit: {
view: 'edr_passenger_app:audit:view',
},
agents: {
view: 'edr_passenger_app:agents:view',
manage: 'edr_passenger_app:agents:manage',
create: 'edr_passenger_app:agents:create',
edit: 'edr_passenger_app:agents:edit',
delete: 'edr_passenger_app:agents:delete',
},
notifications: {
send: 'edr_passenger_app:notifications:send',
},
admin: 'edr_passenger_app:admin',
} as const;