メインコンテンツまでスキップ
バージョン: 0.13.0 (Previous)

⚙️ 注文ハンドラー

注文ハンドラーは Express ミドルウェアではなく、ルートパイプライン関数です。params と context から RouteHandlerPayload 値を読み取り、成功した値を context.data にマージするか、成功した Result を HTTP レスポンスディスクリプターで終了します。

一覧​

ハンドラーパイプラインでの役割入力 / コンテキスト結果 / 動作 / エラー使用するルート
createOrderハンドラーrequestBody、db.orders基本エンティティを書き込みます。本文が空または挿入失敗は 400、データベース失敗は 500。createOrderRoute
updateOrderハンドラーパス/コンテキストの注文 ID、requestBody、db.orders基本更新を書き込みます。400、404、または 500。updateOrderRoute
getOrderByIdハンドラーパス/コンテキストの注文 ID、db.ordersorderGroup を書き込みます。400、404、または 500。createOrderRoute、getOrderRoute、updateOrderRoute
findOrdersハンドラーrequestQuery、db.ordersorderGroups を書き込みます。クエリ失敗時は 500。findOrdersRoute
deleteOrderハンドラーパス/コンテキストの注文 ID、db.orders削除フラグを書き込みます。400、404、または 500。deleteOrderRoute
createOrderTerminatorターミネーターcontext.data.orderGroup_id を削除して { data, statusCode: 201 } を返します。createOrderRoute
normalizeOrderTerminatorターミネーターcontext.data.orderGroup_id を削除して注文グループを返します。グループがない場合は 404。getOrderRoute、updateOrderRoute
normalizeOrdersListTerminatorターミネーターcontext.data.orderGroupsすべての注文グループから _id を削除し、ページネーションメタデータを保持します。findOrdersRoute
deleteOrderTerminatorターミネーターcontext.data.orderGroupDeleted{ statusCode: 204 } を返します。フラグがない場合は 500。deleteOrderRoute

詳細​

createOrder​

実装

空でない params.requestBody を必要とし、createBaseEntity を呼び出して context.db.orders に挿入し、orderId を保存します。エラーは 400 Request body is required、400 Failed to create order、または 500 Unknown error creating order です。作成で使用されます。

updateOrder​

実装

パスの orderId より前に context.data.orderId を使用し、空でない本文を必要とし、updateOne を呼び出します。成功時に ID を保存します。エラーは ID/本文の欠落または変更失敗が 400、404 Order not found、500 Failed to update order です。更新で使用されます。

getOrderById​

実装

データ/パスの注文 ID を使用し、パブリックな id で検索して orderGroup を保存します。エラーは ID 欠落が 400、404 Order not found、500 Failed to get order です。作成、取得、更新で使用されます。

findOrders​

実装

params.requestQuery を変更せず Mongo フィルターとして使用し、find(...).toArray() を呼び出して orderGroups を保存します。失敗は 500 Failed to find orders です。検索で使用されます。

deleteOrder​

実装

データ/パスの注文 ID を使用し、パブリックな id で削除して、orderGroupDeleted: true を保存します。エラーは ID 欠落が 400、削除数ゼロが 404、500 Failed to delete order です。削除で使用されます。

createOrderTerminator​

実装

エラー結果をスローします。そうでなければ orderGroup を必要とし、_id を削除して { data: orderGroup, statusCode: 201 } を返します。作成で使用されます。

normalizeOrderTerminator​

実装

エラー結果をスローします。そうでなければ orderGroup を必要とし、_id を削除してドキュメントを返します。取得と更新で使用されます。

normalizeOrdersListTerminator​

実装

配列またはページネーション済みの { data, metadata } を受け取り、各 _id を削除してページネーションメタデータを保持します。他の形状では 500 Unknown error normalizing orders list をスローします。検索で使用されます。

deleteOrderTerminator​

実装

エラー結果をスローし、orderGroupDeleted を必要とし、{ statusCode: 204 } を返します。フラグがない場合は 500 Unknown error deleting order です。削除で使用されます。