設計書 → 40.apis → resources → create_resource → detail-design_gen.md
create_resource detail design
- Operation:
createResource
- Endpoint:
POST /resources
1. 正常系入力
| Location |
Name |
Type |
説明 |
body |
request |
CreateResourceRequest |
- |
Request body CreateResourceRequest
| 項目 |
型 |
説明 |
name |
ResourceName |
利用者に表示する資源名です。空白除去後1〜100文字です。 |
description |
DescriptionText |
資源の設備や用途を説明する文章です。0〜1,000文字です。 |
kind |
ResourceKind |
会議室または備品を表す資源種別です。 |
2. 正常系前提
- 条件分岐: 呼び出し元が資源を管理できる管理者でない場合。: 不成立
- 例外処理: ROUTER_HANDLED_EXCEPTIONS: 発生しない
3. 正常系リソース変更
DB resources 作成
- SQL:
001_insert_resources.sql
- 目的: 管理者が登録した資源を有効な初期版で保存する。
| カラム |
カラム説明 |
パラメータ/SQL式 |
値の取得元 |
resource_id |
資源ID。 |
resource_id |
自動生成: uuid4() を str 化 |
name |
資源名。空白除去後1〜100文字。 |
name |
request.body.name |
description |
資源の説明。0〜1,000文字。 |
description |
request.body.description |
kind |
資源種別。roomまたはequipment。 |
kind |
request.body.kind |
active |
新規予約を受け付けるかどうか。 |
TRUE |
SQL式: TRUE |
row_version |
利用者に公開する楽観ロック用の行バージョン。 |
1 |
SQL式: 1 |
control_version |
同一資源の予約作成・取消・無効化を競合させる内部制御版。 |
0 |
SQL式: 0 |
4. 正常系レスポンス
- Response model:
CreateResourceResponse
| 項目 |
説明 |
値の取得元 |
resourceId |
予約対象の資源を一意に識別するIDです。 |
resource.resource_id |
name |
利用者に表示する資源名です。 |
resource.name |
description |
資源の設備や用途を説明する文章です。 |
resource.description |
kind |
会議室または備品を表す資源種別です。 |
resource.kind |
active |
新規予約を受け付けるかどうかです。 |
resource.active |
version |
資源編集の楽観ロックに使う公開版です。 |
resource.version |