メインコンテンツまでスキップ
バージョン: 0.4.2

📂 カテゴリバリデーターブロック

カテゴリバリデーターブロックは、Nodeblocksアプリケーションにおけるカテゴリ関連操作のための検証機能を提供します。これらのバリデーターは、カテゴリの存在確認と操作前検証を確保します。


🎯 概要

カテゴリバリデーターブロックは以下を目的として設計されています:

  • 操作前のカテゴリ存在の検証
  • 階層関係の整合性確認
  • カテゴリアクセス制御の実装
  • 安全なカテゴリ操作の保証
  • 再利用可能な検証ロジックの提供

📋 カテゴリバリデーター種類

存在確認バリデーター

カテゴリの存在とアクセス可能性をチェックするバリデーター。


🔧 利用可能なカテゴリバリデーター

doesCategoryExist

操作前にカテゴリの存在を検証します。

目的: 操作が実行される前にカテゴリがデータベースに存在することを確認

パラメータ:

  • payload: RouteHandlerPayload - リクエストコンテキストとデータを含む
    • params.requestParams.categoryId: 検証するカテゴリID
    • context.db: データベース接続

戻り値: void - カテゴリが存在すれば通過

例外:

  • NodeblocksError (404) メッセージ「Category not found」(カテゴリが見つからない場合)
  • NodeblocksError (400) メッセージ「Category ID is required」(カテゴリIDが提供されていない場合)

キー機能:

  • カテゴリIDがリクエストパラメータに含まれていることを確認
  • データベースでカテゴリIDの存在を検索
  • カテゴリが見つからない場合は404エラーを返す
  • 後続のハンドラーがアクセス可能なカテゴリで動作することを保証

使用方法:

import { validators } from '@nodeblocks/backend-sdk';

const { doesCategoryExist } = validators;

// カテゴリ更新前の存在確認
compose(doesCategoryExist, updateCategory, normalizeCategoryTerminator);

// カテゴリ削除前の存在確認
compose(doesCategoryExist, deleteCategory, deleteCategoryTerminator);

// カテゴリ取得前の存在確認
compose(doesCategoryExist, getCategoryById, normalizeCategoryTerminator);

実用例:

// カテゴリステータス変更での使用
compose(
doesCategoryExist,
enableCategory,
enableCategoryTerminator
);

// 階層操作での使用
compose(
doesCategoryExist,
validateParentCategory,
updateCategory,
normalizeCategoryTerminator
);

🔗 関連ドキュメント