メインコンテンツまでスキップ

管理者ルート

🎯 概要

各管理者ルートは次のパターンに従います: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リクエスト → ✅ バリデーター → 🔧 ハンドラー → 📊 状態更新 → 🎯 ページレンダー

すべての管理者ルートは、信頼性と保守性のためにこの一貫したパターンに従います。