📦 Order ルートブロック
Order ルートブロックは、NodeBlocks アプリケーションの注文管理操作のための事前構成 HTTP エンドポイントを提供します。これらのルートはハンドラー、検証子、ミドルウェアを組み合わせて、適切な認証、認可、エラーハンドリングを使用した完全な API エンドポイントを作成します。
🎯 概要
Order ルートブロックは次のことを目的として設計されています:
- 注文管理操作のための完全な API エンドポイントを提供する
- 安全な操作のためにハンドラーと検証子を組み合わせる
- 認証と認可チェックを含む
- 関数型構成パターンをサポートする
- ログ記録とエラー管理を自動的に処理する
📋 ルート構造
各注文ルートは、一貫したパターンを従います:
- HTTP Method: 操作タイプを定義(GET, POST, PATCH, DELETE)
- Path: パラメーター付きのエンドポイント URL を指定
- Handler: ビジネスロジックのための構成された関数チェーン
- Validators: 認証と認可チェック
🔧 利用可能な Order ルート
createOrderRoute
新しい注文を作成し、作成されたリソースを返します。
目的: 完全なリソース取得を使用して注文作成を処理します
Route Details:
- Method:
POST
- Path:
/orders
- Authentication: 必須(Bearer トークン)
Handlers: createOrder
, getOrderById
, createOrderTerminator
Validators: isAuthenticated
, some
(checkIdentityType
(['admin']), isSelf
(['params', 'requestBody', 'identityId']))
使用例:
import { routes } from '@nodeblocks/backend-sdk';
// Express アプリにルートを登録
app.use('/api', routes.createOrderRoute);
getOrderRoute
ID によって特定の注文を取得します。
目的: アクセス制御を使用して注文データを取得します
Route Details:
- Method:
GET
- Path:
/orders/:orderId
- Authentication: 必須(Bearer トークン)
Handlers: getOrderById
, normalizeOrderTerminator
Validators: isAuthenticated
, some
(checkIdentityType
(['admin']), ownsOrder
(['params', 'requestParams', 'orderId']))
使用例:
import { routes } from '@nodeblocks/backend-sdk';
// Express アプリにルートを登録
app.use('/api', routes.getOrderRoute);
findOrdersRoute
正規化されたリスト形式ですべての注文を取得します。
目的: ページネーションとアクセス制御を使用して注文をリストします
Route Details:
- Method:
GET
- Path:
/orders
- Authentication: 必須(Bearer トークン)
Handlers: findOrders
, normalizeOrdersListTerminator
Validators: isAuthenticated
, some
(checkIdentityType
(['admin']), isSelf
(['params', 'requestQuery', 'identityId']))
使用例:
import { routes } from '@nodeblocks/backend-sdk';
// Express アプリにルートを登録
app.use('/api', routes.findOrdersRoute);
updateOrderRoute
既存の注文を更新し、更新されたリソースを返します。
目的: アクセス制御を使用して注文データを変更します
Route Details:
- Method:
PATCH
- Path:
/orders/:orderId
- Authentication: 必須(Bearer トークン)
Handlers: updateOrder
, getOrderById
, normalizeOrderTerminator
Validators: isAuthenticated
, some
(checkIdentityType
(['admin']), ownsOrder
(['params', 'requestParams', 'orderId']))
使用例:
import { routes } from '@nodeblocks/backend-sdk';
// Express アプリにルートを登録
app.use('/api', routes.updateOrderRoute);
deleteOrderRoute
ID によって注文を削除します。
目的: アクセス制御を使用して注文を削除します
Route Details:
- Method:
DELETE
- Path:
/orders/:orderId
- Authentication: 必須(Bearer トークン)
Handlers: deleteOrder
, deleteOrderTerminator
Validators: isAuthenticated
, some
(checkIdentityType
(['admin']), ownsOrder
(['params', 'requestParams', 'orderId']))
使用例:
import { routes } from '@nodeblocks/backend-sdk';
// Express アプリにルートを登録
app.use('/api', routes.deleteOrderRoute);