📂 カテゴリルートブロック
カテゴリルートブロックは、NodeBlocks アプリケーションにおけるカテゴリ管理操作のための事前設定された HTTP エンドポイントを提供します。これらのルートは、ハンドラー、バリデーター、ミドルウェアを組み合わせ、適切な認証、認可、エラー処理を使用して完全な API エンドポイントを作成します。
🎯 概要
カテゴリルートブロックは次のことを目的として設計されています:
- カテゴリ管理操作のための完全な API エンドポイントを提供する
- ハンドラーをバリデーターと組み合わせ、安全な操作を実現する
- 認証および認可チェックを含む
- 関数型合成パターンをサポートする
- ログ記録とエラー管理を自動的に処理する
📋 ルート構造
各カテゴリルートは一貫したパターンを従います:
- HTTP メソッド: 操作タイプを定義(GET、POST、PATCH、DELETE)
- パス: パラメータを含むエンドポイント URL を指定
- ハンドラー: ビジネスロジックのための合成関数チェーン
- バリデーター: 認証および認可チェック
🔧 利用可能なカテゴリルート
createCategoryRoute
新しいカテゴリを作成し、作成されたリソースを返します。
目的: カテゴリ作成を処理します
ルート詳細:
- メソッド:
POST
- パス:
/categories
- 認証: 必須(Bearer トークン)
ハンドラー: createCategory
, getCategoryById
, normalizeCategoryTerminator
バリデーター: isAuthenticated
, checkIdentityType
(['admin'])
使用例:
import { routes } from '@nodeblocks/backend-sdk';
// Express アプリにルートを登録
app.use('/api', routes.createCategoryRoute);
getCategoryRoute
存在検証を使用して ID によって特定の カテゴリを取得します。
目的: 検証を使用してカテゴリデータを取得します
ルート詳細:
- メソッド:
GET
- パス:
/categories/:categoryId
- 認証: 不要
ハンドラー: getCategoryById
, normalizeCategoryTerminator
バリデーター: doesCategoryExist
使用例:
import { routes } from '@nodeblocks/backend-sdk';
// Express アプリにルートを登録
app.use('/api', routes.getCategoryRoute);
findCategoriesRoute
正規化されたリスト形式ですべてのカテゴリを取得します。
Purpose: ページネーションを使用してカテゴリをリストします
ルート詳細:
- メソッド:
GET
- パス:
/categories
- 認証: 不要
ハンドラー: findCategories
, normalizeCategoriesListTerminator
バリデーター: なし
使用例:
import { routes } from '@nodeblocks/backend-sdk';
// Express アプリにルートを登録
app.use('/api', routes.findCategoriesRoute);
updateCategoryRoute
既存のカテゴリを更新し、更新されたリソースを返します。
目的: カテゴリデータを変更します
ルート詳細:
- メソッド:
PATCH
- パス:
/categories/:categoryId
- 認証: 必須(Bearer トークン)
ハンドラー: updateCategory
, getCategoryById
, normalizeCategoryTerminator
バリデーター: isAuthenticated
, checkIdentityType
(['admin']), doesCategoryExist
使用例:
import { routes } from '@nodeblocks/backend-sdk';
// Express アプリにルートを登録
app.use('/api', routes.updateCategoryRoute);
deleteCategoryRoute
存在検証を使用して ID によってカテゴリを削除します。
目的: カテゴリを削除します
ルート詳細:
- メソッド:
DELETE
- パス:
/categories/:categoryId
- 認証: 必須(Bearer トークン)
ハンドラー: deleteCategory
, deleteCategoryTerminator
バリデーター: isAuthenticated
, checkIdentityType
(['admin']), doesCategoryExist
使用例:
import { routes } from '@nodeblocks/backend-sdk';
// Express アプリにルートを登録
app.use('/api', routes.deleteCategoryRoute);
enableCategoryRoute
存在検証を使用して ID によってカテゴリを有効化します。
目的: カテゴリステータスを有効化します
ルート詳細:
- メソッド:
POST
- パス:
/categories/:categoryId/enable
- 認証: 必須(Bearer トークン)
ハンドラー: enableCategory
, enableCategoryTerminator
バリデーター: isAuthenticated
, checkIdentityType
(['admin']), doesCategoryExist
使用例:
import { routes } from '@nodeblocks/backend-sdk';
// Express アプリにルートを登録
app.use('/api', routes.enableCategoryRoute);
disableCategoryRoute
存在検証を使用して ID によってカテゴリを無効化します。
目的: カテゴリステータスを無効化します
ルート詳細:
- メソッド:
POST
- パス:
/categories/:categoryId/disable
- 認証: 必須(Bearer トークン)
ハンドラー: disableCategory
, disableCategoryTerminator
バリデーター: isAuthenticated
, checkIdentityType
(['admin']), doesCategoryExist
使用例:
import { routes } from '@nodeblocks/backend-sdk';
// Express アプリにルートを登録
app.use('/api', routes.disableCategoryRoute);