📐 注文スキーマ
注文スキーマは、保存される注文の厳密な形状を定義し、注文機能のルートにリクエスト検証を関連付けます。
一覧
| エクスポート | リクエストの場所 | 契約 |
|---|---|---|
orderSchema | 該当なし | 再利用可能な厳密な注文オブジェクト。 |
createOrderSchema | 本文 | 必須の JSON 注文本文。 |
updateOrderSchema | パス、本文 | 注文 ID と必須の JSON 本文。 |
getOrderSchema | パス | 必須の文字列型注文 ID。 |
deleteOrderSchema | パス | 必須の文字列型注文 ID。 |
findOrdersSchema | クエリ | 任意のフィルターと範囲が制限されたページネーション。 |
共有ソースコンテキストを表示
const orderIdPathParameter: OpenAPIParameter = {
in: 'path',
name: 'orderId',
required: true,
schema: {
type: 'string',
},
};
詳細
orderSchema
定義
createOrderSchema と updateOrderSchema が展開する、再利用可能で厳密な JSON Schema の形状です。これ自体はルートに関連付けられません。保存されたドキュメントには、ソースで生成されたベースエンティティフィールドおよび MongoDB の _id が含まれることもあります。_id はこのスキーマの一部ではなく、注文応答ターミネーターによって削除されます。
| 場所 | フィールド | 型 | 必須 | 制約 |
|---|---|---|---|---|
| 本文 | currency | string | いいえ | 形式・列挙値なし。 |
| 本文 | identityId | string | いいえ | UUID 形式。 |
| 本文 | items | array | いいえ | 各項目は次の厳密なネストオブジェクトです。 |
本文 / items[] | price | number | はい | 最小値 0。項目に追加プロパティは不可。 |
本文 / items[] | productId | string | はい | UUID 形式。 |
本文 / items[] | quantity | number | はい | 最小値 1。 |
| 本文 | organizationId | string | いいえ | UUID 形式。 |
| 本文 | status | string | いいえ | 列挙値なし。 |
| 本文 | subtotal | number | いいえ | 最小値 0。 |
| 本文 | tax | number | いいえ | 最小値 0。 |
| 本文 | total | number | いいえ | 最小値 0。 |
外側のオブジェクトおよび各 items[] オブジェクトには additionalProperties: false が設定されています。
使用するルート: createOrderRoute および updateOrderRoute を通じて間接的に使用します。使用する機能: createOrderFeature および updateOrderFeature を通じて間接的に使用します。完全なソースを表示
createOrderSchema
定義
createOrderFeature によって合成される createOrderRoute 用の必須 application/json 本文を検証します。orderSchema を展開するため、本文は厳密です。
| 場所 | フィールド | 型 | 必須 | 制約 |
|---|---|---|---|---|
| 本文 | identityId | string | はい | UUID 形式。 |
| 本文 | items | array | はい | 厳密な項目オブジェクト。各項目には UUID の productId、1 以上の数値 quantity、0 以上の数値 price が必要です。 |
| 本文 | total | number | はい | 最小値 0。 |
| 本文 | currency、organizationId、status、subtotal、tax | orderSchema と同じ | いいえ | 展開されるスキーマが正確な形式と最小値を定義します。 |
使用するルート: createOrderRoute。使用する機能: createOrderFeature。完全なソースを表示
updateOrderSchema
定義
updateOrderFeature によって合成される updateOrderRoute を検証します。JSON 本文は必須ですが、展開されるスキーマの required: [] により必須プロパティはありません。実行時の updateOrder はさらに空のオブジェクトを拒否します。
| 場所 | フィールド | 型 | 必須 | 制約 |
|---|---|---|---|---|
| パス | orderId | string | はい | 形式・パターンなし。 |
| 本文 | すべての orderSchema フィールド | 再利用可能なスキーマと同じ | いいえ | application/json。厳密な外側/ネストオブジェクト。本文のプロパティはスキーマ上必須ではありません。 |
使用するルート: updateOrderRoute。使用する機能: updateOrderFeature。完全なソースを表示
getOrderSchema
定義
getOrderFeature によって合成される getOrderRoute のパスを検証します。クエリおよびリクエスト本文はありません。
| 場所 | フィールド | 型 | 必須 | 制約 |
|---|---|---|---|---|
| パス | orderId | string | はい | 形式・パターンなし。 |
使用するルート: getOrderRoute。使用する機能: getOrderFeature。完全なソースを表示
deleteOrderSchema
定義
deleteOrderFeature によって合成される deleteOrderRoute のパスを検証します。クエリおよびリクエスト本文はありません。
| 場所 | フィールド | 型 | 必須 | 制約 |
|---|---|---|---|---|
| パス | orderId | string | はい | 形式・パターンなし。 |
使用するルート: deleteOrderRoute。使用する機能: deleteOrderFeature。完全なソースを表示
findOrdersSchema
定義
findOrdersFeature によって合成される findOrdersRoute のクエリ入力を検証します。パスパラメーターと本文はありません。withPagination は、残りのクエリが Mongo フィルターとして findOrders に渡される前に、page と limit を消費します。
| 場所 | フィールド | 型 | 必須 | 制約 |
|---|---|---|---|---|
| クエリ | currency | string | いいえ | 形式・列挙値なし。 |
| クエリ | organizationId | string | いいえ | 形式・パターンなし。 |
| クエリ | status | string | いいえ | 列挙値なし。 |
| クエリ | subtotal | number | いいえ | 最小値 0。 |
| クエリ | tax | number | いいえ | 最小値 0。 |
| クエリ | total | number | いいえ | 最小値 0。 |
| クエリ | identityId | string | いいえ | 形式・パターンなし。 |
| クエリ | page | integer | いいえ | 共有ページネーション。最小値 1、最大値 1000。 |
| クエリ | limit | integer | いいえ | 共有ページネーション。最小値 1、最大値 50。 |
使用するルート: findOrdersRoute。使用する機能: findOrdersFeature。完全なソースを表示