管理者ルート
🎯 概要
各管理者ルートは次のパターンに従います:URL → バリデーター → ハンドラー → 状態更新
🔐 認証ルート
招待の承諾
🌐 URL: /auth/accept-invitation/:invitationId/:token
📄 現在のページ: accept_invitation
🔧 ハンドラー: handleAcceptInvitation
- URLパラメータから招待トークンを処理
- 招待IDとトークンを検証
- 組織招待を承諾
✅ バリデーター: なし(パブリックルート)
ログイン
🌐 URL: /login
📄 現在のページ: login
🔧 ハンドラー: handleAuthLoginRoute
- クエリパラメータから意図されたURLを取得
- ログインフォーム状態を設定
- ログイン後のリダイレクトを処理
✅ バリデーター: isUserNotLoggedIn
- 既に認証済みのユーザーをログインから遠ざけてリダイレクト
ログアウト
🌐 URL: /logout
📄 現在のページ: logout
🔧 ハンドラー: handleAuthLogoutRoute
- ユーザーセッションと認証データをクリア
- 認証トークンを無効化
- ログインページにリダイレクト
✅ バリデーター: なし
🏠 ダッシュボードルート
ホームダッシュボード
🌐 URL: /home
📄 現在のページ: home
🔧 ハンドラー: handleHomeRoute
- ダッシュボード概要データを読み込み
- 最近のプロダクト、カテゴリ、属性を取得
- 主要メトリクスを含む管理者ダッシュボードを表示
✅ バリデーター: isUserNotLoggedIn
- 認証済みユーザーのみがダッシュボードにアクセスできることを確認
👥 ユーザー管理ルート
ユーザーリスト
🌐 URL: /users
📄 現在のページ: users_list
🔧 ハンドラー: handleUsersListRoute
- すべてのユーザーのページネーション付きリストを取得
- 名前/メールによる検索をサポート
- ユーザーページネーションデータを読み込み
✅ バリデーター:
isUserLoggedIn
- 認証を検証updateLoggedInUser
- 現在のユーザーデータを更新
ユーザー詳細
🌐 URL: /users/:userId
📄 現在のページ: user_show
🔧 ハンドラー: handleUserByIdRoute
- 特定のユーザープロファイル詳細を読み込み
- 関連するカテゴリと属性を取得
- 包括的なユーザー情報を表示
✅ バリデーター:
isUserLoggedIn
- 認証を検証updateLoggedInUser
- 現在のユーザーデータを更新
メンバーリスト
🌐 URL: /members
📄 現在のページ: members_list
🔧 ハンドラー: handleMembersListForAdminRoute
- すべての組織の組織メンバーをリスト
- 管理者レベルのメンバー管理を提供
- メンバーページネーションデータを読み込み
✅ バリデーター:
isUserLoggedIn
- 認証を検証updateLoggedInUser
- 現在のユーザーデータを更新
🏢 組織管理ルート
組織リスト
🌐 URL: /organizations
📄 現在のページ: organization_list
🔧 ハンドラー: handleOrganizationListRoute
- ページネーション付きですべての組織を取得
- 作成日順に並び替え(新しい順)
- 組織概要データを表示
✅ バリデーター:
isUserLoggedIn
- 認証を検証updateLoggedInUser
- 現在のユーザーデータを更新
組織詳細
🌐 URL: /organizations/:orgId
📄 現在のページ: organization_show_admin
🔧 ハンドラー: handleSingleOrganizationAdminRoute
- 詳細な組織情報を読み込み
- 組織データの管理者ビューを提供
- 組織管理アクションを有効化
✅ バリデーター:
isUserLoggedIn
- 認証を検証updateLoggedInUser
- 現在のユーザーデータを更新
組織申請リスト
🌐 URL: /applications
📄 現在のページ: organization_applications_list
🔧 ハンドラー: handleOrganizationApplicationsListRoute
- ステータスフィルタリング付きで組織申請をリスト
- レビューステータスによるフィルタリングをサポート(waiting_for_review、allなど)
- 申請ページネーションデータを読み込み
✅ バリデーター:
isUserLoggedIn
- 認証を検証updateLoggedInUser
- 現在のユーザーデータを更新
組織申請詳細
🌐 URL: /applications/:applicationId
📄 現在のページ: organization_application_show_admin
🔧 ハンドラー: handleSingleOrganizationApplicationAdminRoute
- 組織申請の詳細ビューを表示
- 管理者レビューと承認アクションを有効化
- 申請固有データを読み込み
✅ バリデーター:
isUserLoggedIn
- 認証を検証updateLoggedInUser
- 現在のユーザーデータを更新
⚙️ 設定ルート
メイン設定
🌐 URL: /settings
📄 現在のページ: user_settings
🔧 ハンドラー: handleSettingsRoute
- 現在のユーザー設定データを読み込み
- ユーザープロファイル情報を表示
- 設定変更オプションへのアクセスを提供
✅ バリデーター:
isUserLoggedIn
- 認証を検証updateLoggedInUser
- 現在のユーザーデータを更新
メール変更
🌐 URL: /settings/change-email
📄 現在のページ: change_email_settings
🔧 ハンドラー: handleSettingsChangeEmailRoute
- メール変更フォームを読み込み
- メール更新リクエストを処理
- メール認証プロセスを開始
✅ バリデーター:
isUserLoggedIn
- 認証を検証updateLoggedInUser
- 現在のユーザーデータを更新
名前変更
🌐 URL: /settings/change-name
📄 現在のページ: change_name_settings
🔧 ハンドラー: handleSettingsChangeNameRoute
- 名前更新機能を提供
- 現在のユーザー名データを読み込み
- 名前変更の送信を処理
✅ バリデーター:
isUserLoggedIn
- 認証を検証updateLoggedInUser
- 現在のユーザーデータを更新
パスワード変更
🌐 URL: /settings/change-password
📄 現在のページ: change_password_settings
🔧 ハンドラー: handleSettingsChangePasswordRoute
- セキュアなパスワード更新フォームを提供
- 現在のパスワードを検証
- 新しいパスワードの送信を処理
✅ バリデーター:
isUserLoggedIn
- 認証を検証updateLoggedInUser
- 現在のユーザーデータを更新
電話番号変更
🌐 URL: /settings/change-phone-number
📄 現在のページ: change_phone_number_settings
🔧 ハンドラー: handleSettingsChangePhoneNumberRoute
- 電話番号更新を有効化
- 電話番号形式を検証
- ユーザー連絡先情報を更新
✅ バリデーター:
isUserLoggedIn
- 認証を検証updateLoggedInUser
- 現在のユーザーデータを更新
メール変更の確認
🌐 URL: /settings/verify-change-email-success/:verifyChangeEmailToken
📄 現在のページ: verify_change_email_success
🔧 ハンドラー: handleSettingsVerifyChangeEmailSuccessRoute
- メール認証トークンを処理
- メールアドレス変更を確認
- ユーザーメール認証ステータスを更新
✅ バリデーター:
isUserLoggedIn
- 認証を検証updateLoggedInUser
- 現在のユーザーデータを更新
🔑 パスワードリセットルート
パスワードリセット要求
🌐 URL: /reset-password-request
📄 現在のページ: reset_password_request
🔧 ハンドラー: handleResetPasswordRequestRoute
- パスワードリセット要求フォームを提供
- パスワードリセットメールを開始
- リセットトークン生成を設定
✅ バリデーター: なし(パブリックルート)
新しいパスワードの送信
🌐 URL: /reset-password-submit/:resetPasswordToken
📄 現在のページ: reset_password_submit
🔧 ハンドラー: handleResetPasswordSubmitRoute
- URLからリセットトークンを検証
- 新しいパスワード送信フォームを提供
- パスワードリセット完了を処理
✅ バリデーター: scrollTo
(上にスクロール)
パスワードリセット成功
🌐 URL: /reset-password-success
📄 現在のページ: reset_password_success
🔧 ハンドラー: handleResetPasswordSuccessRoute
- パスワードリセット確認を表示
- ログインリダイレクトオプションを提供
- リセットトークンをクリア
✅ バリデーター: scrollTo
(上にスクロール)
🔧 バリデーター関数リファレンス
バリデーター | 目的 |
---|---|
isUserLoggedIn | ✅ 認証を検証、必要に応じてログインにリダイレクト |
isUserNotLoggedIn | ↪️ 認証済みユーザーをログイン/サインアップページからリダイレクト |
updateLoggedInUser | 🔄 APIから現在のユーザーデータを更新 |
scrollTo | ⬆️ ルートナビゲーション時にページを上にスクロール |
🎨 ルートフローパターン
🌐 URLリクエスト → ✅ バリデーター → 🔧 ハンドラー → 📊 状態更新 → 🎯 ページレンダー
すべての管理者ルートは、信頼性と保守性のためにこの一貫したパターンに従います。