コンテンツにスキップ

Code2Des テーブル

概要

1 件の Code2Des generation に対する、backend-owned lifecycle、Page Import source、Figma destination、result pointer、最初の成功 materialization record を保存します。

テーブル定義

論理名 物理名 カラム名 データ型 主キー リレーション ユニーク NULL 許可 デフォルト値 備考
Code2Des code2des id string ◯ Backend UUIDv7 (varchar(255))。API の code2desId および worker の code2des_id
organization_id number organization:id Organization scope。update/delete 時に cascade
project_id number project:id Project scope。update/delete 時に cascade
page_import_id string page_import:id Source Page Import (varchar(255))。Index は non-unique のため、1 件の capture を複数 job から利用可能
figma_file_key string Plugin discovery destination (varchar(255))
screen_id string User-visible generated screen identity (varchar(255))
placement_target string ◯ 任意の initial Figma placement context (varchar(255))
status enum '0' code2des_status。型コード参照
attempt number 1 Worker attempt fence (integer)。retry path を追加するまでは 1 固定
nonce string Job ごとの callback/manifest correlation fence (varchar(255))。User API には公開しない
result_url string ◯ Native-Figma result または failure artifact pointer (varchar(1000))
warning_count number ◯ Deterministic conversion warning count (integer)
error_message string ◯ Client に公開可能な terminal failure detail (text)
materialized_at datetime ◯ 最初の成功 Figma root 作成時刻
materialized_node_id string ◯ 最初に作成成功した Figma root ID (varchar(255))
created_at datetime CURRENT_TIMESTAMP Shared audit field
updated_at datetime CURRENT_TIMESTAMP Shared audit field
deleted_at datetime ◯ Shared soft-delete field
created_by string Cognito subject または backend actor (varchar(50))
updated_by string Cognito subject または backend actor (varchar(50))
deleted_by string ◯ Cognito subject または backend actor (varchar(50))

リレーション

  • organization_id → organization.id。update/delete 時に cascade
  • project_id → project.id。update/delete 時に cascade
  • page_import_id → page_import.id。update/delete 時に cascade。Foreign-key index は non-unique

インデックス

  • PRIMARY KEY (id)
  • INDEX code2des_page_import_idx (page_import_id)
  • INDEX code2des_project_status_idx (project_id, status)
  • INDEX code2des_org_project_file_status_idx (organization_id, project_id, figma_file_key, status)

型コード

Database enum は code2des_status です。

値 意味
'0' processing
'1' completed。Result 取得/materialization が可能
'2' failed

備考

  • 各 trigger は既存の completed Page Import から新しい Code2Des row を作ります。したがって、再 generation でも以前の job と Figma node を保持します。
  • Webhook は永続化された job の id、attempt、nonce と一致する必要があり、database update は row が processing かつ non-deleted であることも要求します。
  • materialized_at と materialized_node_id は job の最初の成功 placement でのみ書き込みます。Placement の再 call は idempotent で、この root を上書きしません。
  • Lifecycle GET はこの row を control-plane metadata として返します。別の result GET が S3 artifact を検証し、S3 credential を公開せずに image bytes を hydrate します。