SlotKeeper 設計と品質

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