🛣️ Product ルート
Product ルートは Express ミドルウェアではなく SDK コンポーザーです。各機能がスキーマを提供し、詳細にはメソッド、パス、バリデーター順序、パイプライン、レスポンスステータスを記載します。
一覧
詳細
createProductRoute
実装
エンドポイント: POST /products
アクセス: 認証が必要です。バリデーターはソース順に実行されます: isAuthenticated(), checkIdentityType(['admin']).
リクエスト: createProductSchema は、付随する本文、パス、クエリの契約を定義します。
パイプライン: createProduct
成功: 最終の orThrow 成功マップは statusCode 記述子なしで通常のルートデータを返します。このコンポーザーは成功ステータスを設定しません。
失敗: ProductNotFoundBlockError → 404, FileStorageServiceError → 500. スキーマおよびバリデーターの失敗は、合成されたミドルウェアで処理されます。完全なソースを表示
findProductsRoute
実装
エンドポイント: GET /products
アクセス: 公開です。ソースはルートバリデーターを提供しません。
リクエスト: findProductsSchema は、付随する本文、パス、クエリの契約を定義します。
パイプライン: このルートは Product ブロックと共有ユーティリティを直接合成します。以下の完全なソースを参照してください。
成功: 最終の orThrow 成功マップは statusCode 記述子なしで通常のルートデータを返します。このコンポーザーは成功ステータスを設定しません。
失敗: ProductNotFoundBlockError → 404, FileStorageServiceError → 500, ProductBlockError → 500. スキーマおよびバリデーターの失敗は、合成されたミドルウェアで処理されます。完全なソースを表示
createProductBatchRoute
実装
エンドポイント: POST /products/batch
アクセス: 認証が必要です。バリデーターはソース順に実行されます: isAuthenticated(), checkIdentityType(['admin']).
リクエスト: createProductBatchSchema は、付随する本文、パス、クエリの契約を定義します。
パイプライン: createProductBatch → getProductsByIds
成功: 最終の orThrow 成功マップは statusCode 記述子なしで通常のルートデータを返します。このコンポーザーは成功ステータスを設定しません。
失敗: ProductNotFoundBlockError → 404, FileStorageServiceError → 500. スキーマおよびバリデーターの失敗は、合成されたミドルウェアで処理されます。完全なソースを表示
updateProductBatchRoute
実装
エンドポイント: PATCH /products/batch
アクセス: 認証が必要です。バリデーターはソース順に実行されます: isAuthenticated(), checkIdentityType(['admin']).
リクエスト: updateProductBatchSchema は、付随する本文、パス、クエリの契約を定義します。
パイプライン: updateProductBatch → getProductsByIds
成功: 最終の orThrow 成功マップは statusCode 記述子なしで通常のルートデータを返します。このコンポーザーは成功ステータスを設定しません。
失敗: ProductNotFoundBlockError → 404, FileStorageServiceError → 500. スキーマおよびバリデーターの失敗は、合成されたミドルウェアで処理されます。完全なソースを表示
deleteProductBatchRoute
実装
エンドポイント: DELETE /products/batch
アクセス: 認証が必要です。バリデーターはソース順に実行されます: isAuthenticated(), checkIdentityType(['admin']).
リクエスト: deleteProductBatchSchema は、付随する本文、パス、クエリの契約を定義します。
パイプライン: deleteProductBatch → deleteBatchProductsTerminator
成功: deleteBatchProductsTerminator による 204 レスポンス記述子。
失敗: ルート固有の orThrow エラー対応付けはありません。 スキーマおよびバリデーターの失敗は、合成されたミドルウェアで処理されます。完全なソースを表示
getProductRoute
実装
エンドポイント: GET /products/:productId
アクセス: 公開です。ソースはルートバリデーターを提供しません。
リクエスト: getProductSchema は、付随する本文、パス、クエリの契約を定義します。
パイプライン: このルートは Product ブロックと共有ユーティリティを直接合成します。以下の完全なソースを参照してください。
成功: 最終の orThrow 成功マップは statusCode 記述子なしで通常のルートデータを返します。このコンポーザーは成功ステータスを設定しません。
失敗: ProductNotFoundBlockError → 404, FileStorageServiceError → 500. スキーマおよびバリデーターの失敗は、合成されたミドルウェアで処理されます。完全なソースを表示
updateProductRoute
実装
エンドポイント: PATCH /products/:productId
アクセス: 認証が必要です。バリデーターはソース順に実行されます: isAuthenticated(), checkIdentityType(['admin']).
リクエスト: updateProductSchema は、付随する本文、パス、クエリの契約を定義します。
パイプライン: updateProduct
成功: 最終の orThrow 成功マップは statusCode 記述子なしで通常のルートデータを返します。このコンポーザーは成功ステータスを設定しません。
失敗: ProductNotFoundBlockError → 404, FileStorageServiceError → 500. スキーマおよびバリデーターの失敗は、合成されたミドルウェアで処理されます。完全なソースを表示
deleteProductRoute
実装
エンドポイント: DELETE /products/:productId
アクセス: 認証が必要です。バリデーターはソース順に実行されます: isAuthenticated(), checkIdentityType(['admin']).
リクエスト: deleteProductSchema は、付随する本文、パス、クエリの契約を定義します。
パイプライン: deleteProduct
成功: レスポンス本文なしの 204。ソースは [['undefined'], 204] に対応付けます。
失敗: ProductNotFoundBlockError → 404, FileStorageServiceError → 500. スキーマおよびバリデーターの失敗は、合成されたミドルウェアで処理されます。完全なソースを表示
copyProductRoute
実装
エンドポイント: POST /products/:productId/copy
アクセス: 認証が必要です。バリデーターはソース順に実行されます: isAuthenticated(), checkIdentityType(['admin']).
リクエスト: copyProductSchema は、付随する本文、パス、クエリの契約を定義します。
パイプライン: copyProduct
成功: レスポンス本文なしの 204。ソースは [['undefined'], 204] に対応付けます。
失敗: ProductNotFoundBlockError → 404, FileStorageServiceError → 500. スキーマおよびバリデーターの失敗は、合成されたミドルウェアで処理されます。完全なソースを表示
copyProductBatchRoute
実装
エンドポイント: POST /products/batch/copy
アクセス: 認証が必要です。バリデーターはソース順に実行されます: isAuthenticated(), checkIdentityType(['admin']).
リクエスト: copyProductBatchSchema は、付随する本文、パス、クエリの契約を定義します。
パイプライン: copyProductBatch → getProductsByIds
成功: レスポンス本文なしの 204。ソースは [['undefined'], 204] に対応付けます。
失敗: ProductNotFoundBlockError → 404, FileStorageServiceError → 500. スキーマおよびバリデーターの失敗は、合成されたミドルウェアで処理されます。完全なソースを表示
getProductImageUploadUrlRoute
実装
エンドポイント: GET /products/:productId/image-upload-url
アクセス: 認証が必要です。バリデーターはソース順に実行されます: isAuthenticated(), checkIdentityType(['admin']).
リクエスト: getSignedImageUploadUrlSchema は、付随する本文、パス、クエリの契約を定義します。
パイプライン: このルートは Product ブロックと共有ユーティリティを直接合成します。以下の完全なソースを参照してください。
成功: 最終の orThrow 呼び出しによる 200。
失敗: FileStorageServiceError → 500, ProductBlockError → 500. スキーマおよびバリデーターの失敗は、合成されたミドルウェアで処理されます。完全なソースを表示
createProductImageRoute
実装
エンドポイント: POST /products/:productId/images
アクセス: 認証が必要です。バリデーターはソース順に実行されます: isAuthenticated(), checkIdentityType(['admin']).
リクエスト: createProductImageSchema は、付随する本文、パス、クエリの契約を定義します。
パイプライン: このルートは Product ブロックと共有ユーティリティを直接合成します。以下の完全なソースを参照してください。
成功: 最終の orThrow 呼び出しによる 201。
失敗: ProductNotFoundBlockError → 404, ProductImageNotFoundBlockError → 404, ProductUnexpectedDBError → 500. スキーマおよびバリデーターの失敗は、合成されたミドルウェアで処理されます。完全なソースを表示
deleteProductImageRoute
実装
エンドポイント: DELETE /products/:productId/images/:imageId
アクセス: 認証が必要です。バリデーターはソース順に実行されます: isAuthenticated(), checkIdentityType(['admin']).
リクエスト: deleteProductImageSchema は、付随する本文、パス、クエリの契約を定義します。
パイプライン: このルートは Product ブロックと共有ユーティリティを直接合成します。以下の完全なソースを参照してください。
成功: 最終の orThrow 呼び出しによる 204。
失敗: ProductNotFoundBlockError → 404, ProductImageNotFoundBlockError → 404, ProductUnexpectedDBError → 500, FileStorageServiceError → 500. スキーマおよびバリデーターの失敗は、合成されたミドルウェアで処理されます。完全なソースを表示
createProductVariantRoute
実装
エンドポイント: POST /products/:productId/variants
アクセス: 認証が必要です。バリデーターはソース順に実行されます: isAuthenticated(), checkIdentityType(['admin']).
リクエスト: createProductVariantSchema は、付随する本文、パス、クエリの契約を定義します。
パイプライン: このルートは Product ブロックと共有ユーティリティを直接合成します。以下の完全なソースを参照してください。
成功: 最終の orThrow 呼び出しによる 201。
失敗: ProductVariantDbError → 500, ProductVariantNotFoundError → 404. スキーマおよびバリデーターの失敗は、合成されたミドルウェアで処理されます。完全なソースを表示
getProductVariantRoute
実装
エンドポイント: GET /products/:productId/variants/:productVariantId
アクセス: 認証が必要です。バリデーターはソース順に実行されます: isAuthenticated().
リクエスト: getProductVariantSchema は、付随する本文、パス、クエリの契約を定義します。
パイプライン: このルートは Product ブロックと共有ユーティリティを直接合成します。以下の完全なソースを参照してください。
成功: 最終の orThrow 呼び出しによる 200。
失敗: ProductVariantDbError → 500, ProductVariantNotFoundError → 404. スキーマおよびバリデーターの失敗は、合成されたミドルウェアで処理されます。完全なソースを表示
updateProductVariantRoute
実装
エンドポイント: PATCH /products/:productId/variants/:productVariantId
アクセス: 認証が必要です。バリデーターはソース順に実行されます: isAuthenticated(), checkIdentityType(['admin']).
リクエスト: updateProductVariantSchema は、付随する本文、パス、クエリの契約を定義します。
パイプライン: このルートは Product ブロックと共有ユーティリティを直接合成します。以下の完全なソースを参照してください。
成功: 最終の orThrow 呼び出しによる 200。
失敗: ProductVariantDbError → 500, ProductVariantNotFoundError → 404. スキーマおよびバリデーターの失敗は、合成されたミドルウェアで処理されます。完全なソースを表示
deleteProductVariantRoute
実装
エンドポイント: DELETE /products/:productId/variants/:productVariantId
アクセス: 認証が必要です。バリデーターはソース順に実行されます: isAuthenticated(), checkIdentityType(['admin']).
リクエスト: deleteProductVariantSchema は、付随する本文、パス、クエリの契約を定義します。
パイプライン: このルートは Product ブロックと共有ユーティリティを直接合成します。以下の完全なソースを参照してください。
成功: 最終の orThrow 呼び出しによる 204。
失敗: ProductVariantDbError → 500. スキーマおよびバリデーターの失敗は、合成されたミドルウェアで処理されます。完全なソースを表示
findProductVariantsRoute
実装
エンドポイント: GET /products/:productId/variants
アクセス: 公開です。ソースはルートバリデーターを提供しません。
リクエスト: findProductVariantsSchema は、付随する本文、パス、クエリの契約を定義します。
パイプライン: このルートは Product ブロックと共有ユーティリティを直接合成します。以下の完全なソースを参照してください。
成功: 最終の orThrow 呼び出しによる 200。
失敗: ProductVariantDbError → 500. スキーマおよびバリデーターの失敗は、合成されたミドルウェアで処理されます。完全なソースを表示
createProductVariantBulkRoute
実装
エンドポイント: POST /product/:productId/variants/bulk
アクセス: 認証が必要です。バリデーターはソース順に実行されます: isAuthenticated(), checkIdentityType(['admin']).
リクエスト: createProductVariantBulkSchema は、付随する本文、パス、クエリの契約を定義します。
パイプライン: このルートは Product ブロックと共有ユーティリティを直接合成します。以下の完全なソースを参照してください。
成功: 最終の orThrow 呼び出しによる 201。
失敗: ProductVariantDbError → 500. スキーマおよびバリデーターの失敗は、合成されたミドルウェアで処理されます。完全なソースを表示
updateProductVariantBulkRoute
実装
エンドポイント: PATCH /product/:productId/variants/bulk
アクセス: 認証が必要です。バリデーターはソース順に実行されます: isAuthenticated(), checkIdentityType(['admin']).
リクエスト: updateProductVariantBulkSchema は、付随する本文、パス、クエリの契約を定義します。
パイプライン: このルートは Product ブロックと共有ユーティリティを直接合成します。以下の完全なソースを参照してください。
成功: 最終の orThrow 呼び出しによる 200。
失敗: ProductVariantDbError → 500, ProductVariantNotFoundError → 404. スキーマおよびバリデーターの失敗は、合成されたミドルウェアで処理されます。完全なソースを表示
deleteProductVariantBulkRoute
実装
エンドポイント: POST /product/:productId/variants/bulk-delete
アクセス: 認証が必要です。バリデーターはソース順に実行されます: isAuthenticated(), checkIdentityType(['admin']).
リクエスト: deleteProductVariantBulkSchema は、付随する本文、パス、クエリの契約を定義します。
パイプライン: このルートは Product ブロックと共有ユーティリティを直接合成します。以下の完全なソースを参照してください。
成功: 最終の orThrow 呼び出しによる 204。
失敗: ProductVariantDbError → 500. スキーマおよびバリデーターの失敗は、合成されたミドルウェアで処理されます。完全なソースを表示
findProductsByOrganizationIdRoute
実装
エンドポイント: GET /products/organizations/:organizationId
アクセス: 認証が必要です。バリデーターはソース順に実行されます: isAuthenticated(), hasOrgRole(...).
リクエスト: findByOrganizationIdSchema は、付随する本文、パス、クエリの契約を定義します。
パイプライン: このルートは Product ブロックと共有ユーティリティを直接合成します。以下の完全なソースを参照してください。
成功: 最終の orThrow 成功マップは statusCode 記述子なしで通常のルートデータを返します。このコンポーザーは成功ステータスを設定しません。
失敗: ProductUnexpectedDBError → 500, FileStorageServiceError → 500. スキーマおよびバリデーターの失敗は、合成されたミドルウェアで処理されます。完全なソースを表示
getProductLikersRoute
実装
エンドポイント: GET /products/:productId/likers
アクセス: 認証が必要です。バリデーターはソース順に実行されます: isAuthenticated(), checkIdentityType(['admin']).
リクエスト: getProductLikersSchema は、付随する本文、パス、クエリの契約を定義します。
パイプライン: このルートは Product ブロックと共有ユーティリティを直接合成します。以下の完全なソースを参照してください。
成功: 最終の orThrow 呼び出しによる 200。
失敗: ProductNotFoundBlockError → 404, ProductUnexpectedDBError → 500, ProfileDbBlockError → 500, AvatarBlockError → 500. スキーマおよびバリデーターの失敗は、合成されたミドルウェアで処理されます。完全なソースを表示