Skip to main content

Routes & Permissions

Routes định nghĩa tập trung tại src/config/routes.tsx. App.tsx render PUBLIC_ROUTES + PROTECTED_ROUTES.

/* redirect tới route đầu tiên user có quyền (RedirectToFirstAccessibleRoute).


Public routes

PathComponent
/loginLoginPage

Protected routes

PathComponentPermissionGhi chú
/dashboardDashboarddashboard
/usersUsersManagementuserManagementPlayers list
/users/:idUserDetailPageuserManagement
/cashiersCashierManagementagentManagement
/transactionsTransactionsManagementtransactionManagement
/transactions/:idTransactionDetailPagetransactionManagement
/withdrawal-requestsWithdrawalManagementwithdrawalManagement
/flagged-withdrawalsFlaggedWithdrawalsManagementwithdrawalManagement
/manual-game-depositsManualGameDepositsManagementmanualGameDepositManagement
/walletsGameWalletsManagementwalletManagement
/ticketsTicketManagementticketManagement
/tickets/:ticketIdTicketManagementticketManagement
/adminsAdminManagementadminManagement
/super-agentsSuperAgentManagementagentManagement
/super-agents/:idSuperAgentDetailPageagentManagement
/agentsAgentManagementagentManagement
/agents/:idAgentDetailPageagentManagement
/agents/:id/transactionsAgentPaymentTransactionsPageagentManagement
/agents/:id/wallet-transferAgentWalletTransferPageagentManagement
/shopsShopManagementagentManagement
/shops/:shopIdShopDetailPageagentManagement
/game-providersGameProvidersManagementgameProviderManagement
/vfx-configScheduleManagementvfxConfigManagement
/vfx-config/schedules/:idScheduleDetailvfxConfigManagement
/transaction-limitsTransactionLimitsManagementtransactionLimitsManagement
/provider-feesProviderFeesManagementtransactionLimitsManagement
/usd-walletsUsdWalletsManagementtransactionManagement
/credit-walletsCreditWalletsManagementtransactionManagement
/domainsDomainsManagementdomainManagement
/integration-logsIntegrationLogsManagementsuperAdminOnly
/broadcastsBroadcastManagementsuperAdminOnly
/in-app-popupsInAppPopupManagementsuperAdminOnly
/forbiddenForbiddenPage

Legacy redirect

/agents/:agentId/shops/:shopId/shops/:shopId


Logic tại components/layout/Layout.tsx.

Top-level (meta.nav: true)

LabelPath
Dashboard/dashboard
Payment transactions/transactions
Withdrawal Requests/withdrawal-requests
Flagged Withdrawals/flagged-withdrawals
Manual Game Deposits/manual-game-deposits
Support Tickets/tickets

Wallets

LabelPath
Game Wallets/wallets
USD Wallets/usd-wallets
Credit Wallets/credit-wallets

Account management

LabelPath
Admin Management/admins
Super Agent Management/super-agents
Agent Management/agents
Shop Management/shops
Cashier Management/cashiers
Players/users

Platform configuration

LabelPath
Domain Management/domains
VFX & Background Config/vfx-config
Game Providers/game-providers
Transaction Limits & Fraud/transaction-limits
Provider Fees/provider-fees
API Logs/integration-logs (super admin)

Notifications

LabelPath
Global broadcasts/broadcasts
In-app popups/in-app-popups

Role → Permission matrix

Permissionsystem/superplatformfinancesupport
dashboard
userManagement
transactionManagement
withdrawalManagement
manualGameDepositManagement
ticketManagement
adminManagement
agentManagement
walletManagement
gameProviderManagement
vfxConfigManagement
transactionLimitsManagement
domainManagement

system_adminsuper_admin có toàn quyền + truy cập superAdminOnly routes.


Components bảo vệ route

ComponentVai trò
ProtectedRouteGuard auth + permission + role
RedirectToFirstAccessibleRouteSmart redirect /
Layout / Sidebar / HeaderShell chính
AdminNotificationBellPoll broadcasts mỗi 2 phút
FinanceCorrectionDebitModalĐiều chỉnh tài chính
GameRecallAllModalThu hồi toàn bộ game wallet
ProfitAnalysisPanelPhân tích rút tiền bất thường