コンテンツにスキップ

生成コード削除

メソッド

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

HTTPメソッド

DELETE: 生成コード削除(論理削除)

命名規則

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

リクエストとレスポンス

ヘッダー

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

リクエストヘッダー

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

レスポンスヘッダー

  • Content-Type

生成コード削除

URI

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

パスパラメータ

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

レスポンス

レスポンスはJSONです。

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

レスポンスフィールド

名前 型 説明
id string 生成コードUUID
projectId string プロジェクトUUID
sourceCode string ソースコード
status number 処理ステータス(0-3)
createdAt number 作成日時(エポックミリ秒)
updatedAt number 更新日時(エポックミリ秒)
deletedAt number 削除日時(エポックミリ秒)
deletedBy string 削除者ID

認証

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

例外処理

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

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

処理フロー

  1. パスパラメータから組織ID、プロジェクトID、コードIDを抽出
  2. ユーザーがプロジェクトへのアクセス権を持つか検証
  3. 生成コードが指定されたプロジェクトに属していることを検証
  4. 論理削除を実行(deletedAtとdeletedByを設定)
  5. 削除された生成コード情報を返却

詳細フローチャート

flowchart TD
    Start([DELETE Request]) --> Auth[認証・パラメータ取得]
    Auth --> Service[Service Layer]
    Service --> AccessCheck[権限チェック]
    AccessCheck --> HasAccess{Write権限?}
    HasAccess -->|なし| Err404[404 Not Found]
    HasAccess -->|あり| Transaction[Transaction開始]
    Transaction --> CheckExist[既存確認<br/>WHERE deletedAt IS NULL]
    CheckExist --> Exists{存在?}
    Exists -->|なし| Err404
    Exists -->|あり| SoftDelete[UPDATE SET<br/>deletedAt, deletedBy]
    SoftDelete --> Commit[Commit]
    Commit --> Success[200 OK]

特記事項

このエンドポイントは論理削除を実行します。レコードはデータベースから物理的に削除されず、deletedAtとdeletedByフィールドが設定されます。