Bedrud ドキュメント

管理者エンドポイントは /api/admin/ 以下にあります。これらには Super Admin ロールが必要です。

概要

エンドポイントメソッド説明
/api/admin/usersGETすべてのユーザーを一覧表示
/api/admin/users/:id/statusPUTユーザーの有効化・無効化

エンドポイント

ユーザー一覧の取得

登録済みのすべてのユーザーの一覧を取得します。

GET /api/admin/users

ヘッダー: Authorization: Bearer <accessToken>

必要なロール: Super Admin

レスポンス (200):

{
  "users": [
    {
      "id": "uuid",
      "email": "user@example.com",
      "name": "John Doe",
      "avatar": "https://...",
      "role": "user",
      "provider": "email",
      "isActive": true,
      "createdAt": "2025-01-15T10:30:00Z"
    },
    {
      "id": "uuid-2",
      "email": "admin@example.com",
      "name": "Admin User",
      "role": "admin",
      "provider": "email",
      "isActive": true,
      "createdAt": "2025-01-10T08:00:00Z"
    }
  ]
}

ユーザーステータスの更新

ユーザーアカウントを有効化または無効化します。無効化されたユーザーはログインできません。

PUT /api/admin/users/:id/status

ヘッダー: Authorization: Bearer <accessToken>

必要なロール: Super Admin

URLパラメータ:

パラメータ説明
idユーザーUUID

リクエストボディ:

{
  "isActive": false
}

レスポンス (200):

{
  "message": "user status updated",
  "user": {
    "id": "uuid",
    "email": "user@example.com",
    "isActive": false
  }
}

ユーザーロール

ロール説明権限
guest一時ユーザールームへの参加のみ
user一般ユーザールームの作成・参加、プロフィール管理
adminSuper Adminすべてのユーザー権限 + ユーザー管理、すべてのルームの閲覧

管理者の作成

管理者ユーザーはCLI経由で作成します:

# ユーザーの作成
bedrud user create --email "admin@example.com" --password "securepassword" --name "Admin"
 
# 管理者への昇格
bedrud user promote --email "admin@example.com"

ユーザーを管理者に昇格させるAPIエンドポイントは意図的に用意されていません。これはセキュリティ上の理由です。


エラーレスポンス

{
  "error": "forbidden"
}
ステータスコード意味
401未認証
403Super Admin権限がありません
404ユーザーが見つかりません
500サーバー内部エラー

関連ドキュメント