Admin Routes
π― Overviewβ
Each admin route follows: URL β Validators β Handler β State Update
π Authentication Routesβ
Accept Invitationβ
π URL: /auth/accept-invitation/:invitationId/:token
π Current Page: accept_invitation
π§ Handler: handleAcceptInvitation
- Processes invitation tokens from URL parameters
- Validates invitation ID and token
- Accepts organization invitations
β Validators: None (public route)
Loginβ
π URL: /login
π Current Page: login
π§ Handler: handleAuthLoginRoute
- Captures intended URL from query parameters
- Sets up login form state
- Handles post-login redirects
β
Validators: isUserNotLoggedIn
- Redirects already authenticated users away from login
Logoutβ
π URL: /logout
π Current Page: logout
π§ Handler: handleAuthLogoutRoute
- Clears user session and authentication data
- Invalidates auth tokens
- Redirects to login page
β Validators: None
π Dashboard Routesβ
Home Dashboardβ
π URL: /home
π Current Page: home
π§ Handler: handleHomeRoute
- Loads dashboard overview data
- Fetches recent products, categories, and attributes
- Displays admin dashboard with key metrics
β
Validators: isUserNotLoggedIn
- Ensures only authenticated users access dashboard
π₯ User Management Routesβ
Users Listβ
π URL: /users
π Current Page: users_list
π§ Handler: handleUsersListRoute
- Fetches paginated list of all users
- Supports search by name/email
- Loads user pagination data
β Validators:
isUserLoggedIn
- Validates authenticationupdateLoggedInUser
- Refreshes current user data
User Detailsβ
π URL: /users/:userId
π Current Page: user_show
π§ Handler: handleUserByIdRoute
- Loads specific user profile details
- Fetches associated categories and attributes
- Displays comprehensive user information
β Validators:
isUserLoggedIn
- Validates authenticationupdateLoggedInUser
- Refreshes current user data
Members Listβ
π URL: /members
π Current Page: members_list
π§ Handler: handleMembersListForAdminRoute
- Lists organization members across all organizations
- Provides admin-level member management
- Loads member pagination data
β Validators:
isUserLoggedIn
- Validates authenticationupdateLoggedInUser
- Refreshes current user data
π’ Organization Management Routesβ
Organizations Listβ
π URL: /organizations
π Current Page: organization_list
π§ Handler: handleOrganizationListRoute
- Fetches all organizations with pagination
- Orders by creation date (newest first)
- Displays organization overview data
β Validators:
isUserLoggedIn
- Validates authenticationupdateLoggedInUser
- Refreshes current user data
Organization Detailsβ
π URL: /organizations/:orgId
π Current Page: organization_show_admin
π§ Handler: handleSingleOrganizationAdminRoute
- Loads detailed organization information
- Provides admin view of organization data
- Enables organization management actions
β Validators:
isUserLoggedIn
- Validates authenticationupdateLoggedInUser
- Refreshes current user data
Organization Applications Listβ
π URL: /applications
π Current Page: organization_applications_list
π§ Handler: handleOrganizationApplicationsListRoute
- Lists organization applications with status filtering
- Supports filtering by review status (waiting_for_review, all, etc.)
- Loads application pagination data
β Validators:
isUserLoggedIn
- Validates authenticationupdateLoggedInUser
- Refreshes current user data
Organization Application Detailsβ
π URL: /applications/:applicationId
π Current Page: organization_application_show_admin
π§ Handler: handleSingleOrganizationApplicationAdminRoute
- Shows detailed view of organization application
- Enables admin review and approval actions
- Loads application-specific data
β Validators:
isUserLoggedIn
- Validates authenticationupdateLoggedInUser
- Refreshes current user data
βοΈ Settings Routesβ
Main Settingsβ
π URL: /settings
π Current Page: user_settings
π§ Handler: handleSettingsRoute
- Loads current user settings data
- Displays user profile information
- Provides access to setting modification options
β Validators:
isUserLoggedIn
- Validates authenticationupdateLoggedInUser
- Refreshes current user data
Change Emailβ
π URL: /settings/change-email
π Current Page: change_email_settings
π§ Handler: handleSettingsChangeEmailRoute
- Loads email change form
- Handles email update requests
- Initiates email verification process
β Validators:
isUserLoggedIn
- Validates authenticationupdateLoggedInUser
- Refreshes current user data
Change Nameβ
π URL: /settings/change-name
π Current Page: change_name_settings
π§ Handler: handleSettingsChangeNameRoute
- Provides name update functionality
- Loads current user name data
- Handles name change submissions
β Validators:
isUserLoggedIn
- Validates authenticationupdateLoggedInUser
- Refreshes current user data
Change Passwordβ
π URL: /settings/change-password
π Current Page: change_password_settings
π§ Handler: handleSettingsChangePasswordRoute
- Provides secure password update form
- Validates current password
- Handles new password submission
β Validators:
isUserLoggedIn
- Validates authenticationupdateLoggedInUser
- Refreshes current user data
Change Phone Numberβ
π URL: /settings/change-phone-number
π Current Page: change_phone_number_settings
π§ Handler: handleSettingsChangePhoneNumberRoute
- Enables phone number updates
- Validates phone number format
- Updates user contact information
β Validators:
isUserLoggedIn
- Validates authenticationupdateLoggedInUser
- Refreshes current user data
Verify Email Changeβ
π URL: /settings/verify-change-email-success/:verifyChangeEmailToken
π Current Page: verify_change_email_success
π§ Handler: handleSettingsVerifyChangeEmailSuccessRoute
- Processes email verification tokens
- Confirms email address changes
- Updates user email verification status
β Validators:
isUserLoggedIn
- Validates authenticationupdateLoggedInUser
- Refreshes current user data
π Password Reset Routesβ
Request Password Resetβ
π URL: /reset-password-request
π Current Page: reset_password_request
π§ Handler: handleResetPasswordRequestRoute
- Provides password reset request form
- Initiates password reset email
- Sets up reset token generation
β Validators: None (public route)
Submit New Passwordβ
π URL: /reset-password-submit/:resetPasswordToken
π Current Page: reset_password_submit
π§ Handler: handleResetPasswordSubmitRoute
- Validates reset tokens from URL
- Provides new password submission form
- Processes password reset completion
β
Validators: scrollTo
(scroll to top)
Password Reset Successβ
π URL: /reset-password-success
π Current Page: reset_password_success
π§ Handler: handleResetPasswordSuccessRoute
- Displays password reset confirmation
- Provides login redirect options
- Clears reset tokens
β
Validators: scrollTo
(scroll to top)
π§ Validator Functions Referenceβ
Validator | Purpose |
---|---|
isUserLoggedIn | β Validates authentication, redirects to login if needed |
isUserNotLoggedIn | βͺοΈ Redirects authenticated users from login/signup pages |
updateLoggedInUser | π Refreshes current user data from API |
scrollTo | β¬οΈ Scrolls page to top on route navigation |
π¨ Route Flow Patternβ
π URL Request β β
Validators β π§ Handler β π State Update β π― Page Render
Every admin route follows this consistent pattern for reliability and maintainability.