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

📂 カテゴリルートブロック

カテゴリルートブロックは、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);