コンテンツにスキップ

組織取得

メソッド

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

HTTPメソッド

GET: 組織情報取得

命名規則

クエリパラメータとノードの命名を統一し、可読性を向上させるため、リクエスト時のURIとJSON内のノードにはsnake_caseを使用します。

リクエストとレスポンス

ヘッダー

メタ情報はレスポンスボディではなく、HTTPヘッダーに設定されます。

リクエストヘッダー

  • Authorization
  • Content-Type
  • Accept
  • Accept-language

レスポンスヘッダー

  • Content-Type

組織情報取得

URI

GET /v1/organizations/{organization_id}

パスパラメータ

名前 型 必須 説明
organization_id string 必須 組織UUID

レスポンス

レスポンスはJSONです。

{
  "id": "org-uuid",
  "name": "Acme Corporation",
  "createdAt": 1234567890000,
  "updatedAt": 1234567890000,
  "createdBy": "creator-id",
  "updatedBy": "updater-id",
  "deletedAt": null,
  "deletedBy": null
}

レスポンスフィールド

名前 型 説明
id string 組織UUID
name string 組織名
createdAt number 作成日時(エポックミリ秒)
updatedAt number 更新日時(エポックミリ秒)
deletedAt number | null 削除日時(エポックミリ秒)

認証

認証はAmazon Cognitoから発行されるJSON Web Tokens (JWT)を使用して行われます。

例外処理

例外処理のステータスコードは以下の通りです。

説明 ステータスコード ステータス名
認証情報不足 401 Unauthorized
実行権限不足 403 Forbidden
組織が見つかりません 404 Not Found
内部サーバーエラー 500 Internal Server Error

処理フロー

  1. パスパラメータから組織IDを抽出
  2. リクエスト者のCognito subを取得
  3. サービスハンドラーで管理者/ユーザーアクセスチェックを実行
  4. データベースから組織をクエリ
  5. リクエスト者がアクセス権を持つか検証(メンバーまたは管理者)
  6. 組織情報を返却

詳細フローチャート

flowchart TD
    Start([GET Request]) --> Auth[認証・パラメータ取得]
    Auth --> Service[Service Layer]
    Service --> AccessCheck[権限チェック]
    AccessCheck --> HasAccess{Read権限?}
    HasAccess -->|なし| Err404[404 Not Found]
    HasAccess -->|あり| QueryDB[Repository Layer]
    QueryDB --> FindRecord[レコード取得<br/>WHERE deletedAt IS NULL]
    FindRecord --> Exists{存在?}
    Exists -->|なし| Err404
    Exists -->|あり| Format[レスポンス整形]
    Format --> Success[200 OK]

認可

  • 一般ユーザーは自身の組織のみアクセス可能
  • 管理者ユーザーはすべての組織にアクセス可能