コンテンツにスキップ

生成コード更新

メソッド

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

HTTPメソッド

PUT: 生成コード情報更新

命名規則

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

リクエストとレスポンス

ヘッダー

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

リクエストヘッダー

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

レスポンスヘッダー

  • Content-Type

生成コード情報更新

URI

PUT /v1/organizations/{organization_id}/projects/{project_id}/generated_codes/{code_id}

パスパラメータ

名前 型 必須 説明
organization_id string 必須 組織UUID
project_id string 必須 プロジェクトUUID
code_id string 必須 生成コードUUID

リクエストボディ

リクエストボディはJSONです。

{
  "source_code": "const UpdatedComponent = () => { return <div>Updated</div>; }",
  "status": 2
}

リクエストパラメータ

名前 型 必須 説明
source_code string 任意 更新されたソースコード
status number 任意 処理ステータス(0-3)

レスポンス

レスポンスはJSONです。

{
  "id": "generated-code-uuid",
  "projectId": "project-uuid",
  "sourceCode": "const UpdatedComponent = () => { return <div>Updated</div>; }",
  "status": 2,
  "createdAt": 1234567890000,
  "updatedAt": 1234567899999,
  "deletedAt": null,
  "createdBy": "user-id",
  "updatedBy": "updater-id",
  "deletedBy": null
}

認証

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

例外処理

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

説明 ステータスコード ステータス名
無効なデータ 400 Bad Request
認証情報不足 401 Unauthorized
実行権限不足 403 Forbidden
生成コード、プロジェクト、または組織が見つかりません 404 Not Found
内部サーバーエラー 500 Internal Server Error

処理フロー

  1. パスパラメータから組織ID、プロジェクトID、コードIDを抽出
  2. リクエストボディから更新フィールドを抽出
  3. ユーザーがプロジェクトへのアクセス権を持つか検証
  4. データベースで生成コードを更新
  5. 更新された生成コード情報を返却

詳細フローチャート

flowchart TD
    Start([PUT Request]) --> Auth[認証・パラメータ取得]
    Auth --> Service[Service Layer]
    Service --> AccessCheck[権限チェック]
    AccessCheck --> HasAccess{Write権限?}
    HasAccess -->|なし| Err404[404 Not Found]
    HasAccess -->|あり| ValidateFields{1フィールド以上?}
    ValidateFields -->|なし| Err400[400 Bad Request]
    ValidateFields -->|あり| CheckExist[既存確認]
    CheckExist --> Exists{存在?}
    Exists -->|なし| Err404
    Exists -->|あり| UpdateDB[DB更新<br/>Transaction]
    UpdateDB --> Success[200 OK]