コンテンツにスキップ

プロジェクトのユーザー一括置換

メソッド

REST メソッドを採用しています。

HTTP メソッド

PUT: プロジェクトの有効なユーザー割り当てをすべて置換

命名規則

URI パラメータには snake_case、JSON フィールドには camelCase を使用します。

リクエストとレスポンス

ヘッダー

リクエストヘッダー

  • Authorization: Bearer <access_token>
  • Content-Type: application/json

URI

/api/v1/projects/{project_id}/users
名前 型 必須 説明
project_id integer 必須 プロジェクト ID

リクエストボディ

{
  "assignments": [
    { "userId": 4, "projectAccess": "2" },
    { "userId": 7, "projectAccess": "1" }
  ]
}
フィールド 型 必須 説明
assignments array 必須 置換後の全割り当て。最大 100 件
assignments[].userId integer 必須 ユーザーレコード ID。重複不可
assignments[].projectAccess string 必須 "1" = 読み取り、"2" = 読み取り・書き込み

空の assignments 配列を指定すると、プロジェクトの有効なユーザー割り当てをすべて解除します。

レスポンス(200 OK)

置換後の有効な割り当てを list で返します。

認証要件

ユーザーとプロジェクトの読み取り・書き込み権限を持つ管理者 Cognito Bearer トークンが必要です。

例外処理

説明 ステータスコード ステータス名
不正なリスト、ユーザー ID の重複、または組織の不一致 400 Bad Request
トークンが欠落または無効 401 Unauthorized
ユーザーまたはプロジェクトの権限不足 403 Forbidden
ユーザーまたはプロジェクトが見つからない 404 Not Found

処理フロー

  1. 管理者セッション、リクエスト、書き込み権限を検証します。
  2. すべての有効なユーザーがプロジェクトと同じ組織に属することを確認します。
  3. 1 つのトランザクションで、省略された割り当てを論理削除し、指定された割り当てを upsert します。
  4. 有効な割り当て一式を返します。

ソース: apps/admin/src/routes/v1/user-project.ts