メインコンテンツまでスキップ
バージョン: 0.14.0 (最新)

⚙️ プロダクトハンドラー

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

一覧

ハンドラーパイプラインでの役割入力 / コンテキスト結果 / 動作 / エラー使用するルート
createProductハンドラーrequestBodydb.products基本エンティティを作成し productId を書き込みます。空本文/挿入失敗は 400、DB 失敗は 500createProductRoute
createProductBatchハンドラー配列の requestBodydb.products基本エンティティを作成し productIds を書き込みます。無効入力/件数不一致は 400、DB 失敗は 500createProductBatchRoute
getProductByIdハンドラーcontext.data.productId またはパス productIddb.productsproduct を書き込みます。ID 欠落は 400、不在は 404、DB 失敗は 500カスタム合成のみ
getProductsByIdsハンドラーcontext.data.productIds または requestBodydb.productsproducts を書き込みます。ID 欠落/非配列は 400、一致なしは 404、DB 失敗は 500createProductBatchRouteupdateProductBatchRoutecopyProductBatchRoute
findProductsハンドラーrequestQuerydb.productsクエリまたは空フィルターから products を書き込みます。DB 失敗は 500カスタム合成のみ
updateProductハンドラーパス/コンテキスト ID、requestBodydb.productsupdateBaseEntity で更新して updateProductId を書き込みます。入力欠落/変更なしは 400、一致なしは 404、DB 失敗は 500updateProductRoute
updateProductBatchハンドラーID、更新データ、db.products一致 ID を更新して productIds を書き込みます。入力欠落/空/変更なしは 400、一致なしは 404、DB 失敗は 500updateProductBatchRoute
copyProductハンドラーパス/コンテキスト ID、db.products_id なしでコピーし、新しい productId を書き込みます。ID 欠落/挿入失敗は 400、不在は 404、DB 失敗は 500copyProductRoute
copyProductBatchハンドラーID、db.products見つかったプロダクトを _id なしでコピーし、新しい productIds を書き込みます。無効 ID/件数不一致は 400、一致なしは 404、DB 失敗は 500copyProductBatchRoute
deleteProductハンドラーパス/コンテキスト ID、db.productsdeleteProduct を書き込みます。ID なしは 400、削除なしは 404、DB 失敗は 500deleteProductRoute
deleteProductBatchハンドラーID、db.productsdeleteProducts を書き込みます。無効 ID/削除なしは 400、DB 失敗は 500deleteProductBatchRoute
normalizeProductTerminatorターミネーター結果、context.data.product_id を削除し、エラー結果またはデータ欠落時は 500 をスローします。カスタム合成のみ
normalizeProductsListTerminatorターミネーター結果、context.data.products配列またはページネーション済み data から _id を削除しメタデータを保持します。カスタム合成のみ
deleteProductTerminatorターミネーター結果、context.data.deleteProduct{ statusCode: 204 } を返します。エラー結果/データ欠落は 500カスタム合成のみ
deleteBatchProductsTerminatorターミネーター結果、context.data.deleteProducts{ statusCode: 204 } を返します。エラー結果/データ欠落は 500deleteProductBatchRoute

詳細

createProduct

実装

params.requestBodycontext.db.products を読み取り、context.data.productId を書き込みます。空でない本文を必要とし、基本エンティティを作成します。空本文/挿入失敗は 400、DB 失敗は 500 です。createProductRoute で使用されます。

createProductBatch

実装

params.requestBody の配列と context.db.products を読み取り、context.data.productIds を書き込みます。空でない配列を必要とし、1 回の挿入で基本エンティティを作成します。無効入力/件数不一致は 400、DB 失敗は 500 です。createProductBatchRoute で使用されます。

getProductById

実装

context.data.productId または params.requestParams.productIdcontext.db.products を読み取り、context.data.product を書き込みます。ID なしは 400、プロダクト不在は 404、DB 失敗は 500 です。カスタム合成のみで使用されます。

getProductsByIds

実装

context.data.productIds または params.requestBodycontext.db.products を読み取り、context.data.products を書き込みます。ID 欠落/非配列は 400、一致なしは 404、DB 失敗は 500 です。createProductBatchRouteupdateProductBatchRoutecopyProductBatchRoute で使用されます。

findProducts

実装

params.requestQuerycontext.db.products を読み取り、context.data.products を書き込みます。リクエストフィルターまたは空フィルターでクエリし、DB 失敗時は 500 を返します。カスタム合成のみです。

updateProduct

実装

context.data.productId または params.requestParams.productIdparams.requestBodycontext.db.products を読み取り、context.data.updateProductId を書き込みます。updateBaseEntity で更新します。入力欠落/変更なしは 400、一致なしは 404、DB 失敗は 500 です。updateProductRoute で使用されます。

updateProductBatch

実装

context.data.productIds または params.requestBody.idscontext.data.data または params.requestBody.datacontext.db.products を読み取り、context.data.productIds を書き込みます。一致する全 ID を updateBaseEntity で更新します。入力欠落/空/変更なしは 400、一致なしは 404、DB 失敗は 500 です。updateProductBatchRoute で使用されます。

copyProduct

実装

context.data.productId または params.requestParams.productIdcontext.db.products を読み取り、新しい context.data.productId を書き込みます。ソースを _id なしで基本エンティティへコピーします。ID 欠落/挿入失敗は 400、不在は 404、DB 失敗は 500 です。copyProductRoute で使用されます。

copyProductBatch

実装

context.data.productIds または params.requestBodycontext.db.products を読み取り、新しい context.data.productIds を書き込みます。見つかったプロダクトを _id なしでコピーします。無効 ID/件数不一致は 400、一致なしは 404、DB 失敗は 500 です。copyProductBatchRoute で使用されます。

deleteProduct

実装

context.data.productId または params.requestParams.productIdcontext.db.products を読み取り、context.data.deleteProduct を書き込みます。1 件を削除します。ID なしは 400、削除なしは 404、DB 失敗は 500 です。deleteProductRoute で使用されます。

deleteProductBatch

実装

context.data.productIds または params.requestBodycontext.db.products を読み取り、context.data.deleteProducts を書き込みます。一致 ID を削除します。無効 ID/削除なしは 400、DB 失敗は 500 です。deleteProductBatchRoute で使用されます。

normalizeProductTerminator

実装

Result 値と context.data.product を読み取ります。エラー結果をスローし、そうでなければ _id を削除してプロダクトを返します。データがない場合は 500 をスローします。カスタム合成のみです。

normalizeProductsListTerminator

実装

Result 値と context.data.products を読み取ります。エラー結果をスローし、そうでなければ配列またはページネーション済み data から _id を削除してメタデータを保持します。カスタム合成のみです。

deleteProductTerminator

実装

Result 値と context.data.deleteProduct を読み取ります。エラー結果をスローし、削除データ欠落は 500、それ以外は { statusCode: 204 } を返します。カスタム合成のみです。

deleteBatchProductsTerminator

実装

Result 値と context.data.deleteProducts を読み取ります。エラー結果をスローし、削除データ欠落は 500、それ以外は { statusCode: 204 } を返します。deleteProductBatchRoute で使用されます。