📂 カテゴリブロック
カテゴリブロックは、Nodeblocksアプリケーションで階層的なカテゴリ構造を管理するための包括的な機能を提供します。これらのブロックは、親子関係のサポートでカテゴリの作成、更新、取得、検索操作を処理します。
🎯 概要
カテゴリブロックは以下の目的で設計されています:
- 階層的なカテゴリを管理 - 親子関係を持つ
- カテゴリライフサイクルをサポート - 有効化/無効化操作
- カテゴリ検索とフィルタリング機能を有効化
- カテゴリ管理のためのCRUD操作を提供
- 大きなカテゴリコレクションのページネーションをサポート
📦 ブロックタイプ
🔍 スキーマ
カテゴリデータのバリデーション用のJSON Schema定義:
- categorySchema: 基本カテゴリ構造
- createCategorySchema: カテゴリ作成のバリデーション
- updateCategorySchema: カテゴリ変更
- getCategorySchema: カテゴリ取得
- deleteCategorySchema: カテゴリ削除
- enableCategorySchema: カテゴリ有効化
- disableCategorySchema: カテゴリ無効化
- findCategoriesSchema: フィルタリングとページネーションを使用したカテゴリ検索
⚙️ ハンドラー
カテゴリ操作のコアビジネスロジック:
- createCategory: 階層サポートを持つカテゴリ作成
- getCategoryById: カテゴリデータ取得
- findCategories: カテゴリ検索とフィルタリング
- updateCategory: カテゴリ変更
- enableCategory: カテゴリ有効化
- disableCategory: カテゴリ無効化
- deleteCategory: クリーンアップを含むカテゴリ削除
🛣️ ルート
カテゴリ操作のHTTPエンドポイント定義:
- createCategoryRoute: POST
/categories(認証: Bearer + admin) - getCategoryRoute: GET
/categories/:categoryId - findCategoriesRoute: GET
/categories(ページネーション対応) - updateCategoryRoute: PATCH
/categories/:categoryId(認証: Bearer + admin) - enableCategoryRoute: POST
/categories/:categoryId/enable(認証: Bearer + admin) - disableCategoryRoute: POST
/categories/:categoryId/disable(認証: Bearer + admin) - deleteCategoryRoute: DELETE
/categories/:categoryId(認証: Bearer + admin)
🚀 機能
スキーマ、ルート、ハンドラーを組み合わせた完全なカテゴリ管理機能:
- createCategoryFeature: バリデーションとルーティングを持つカテゴリ作成
- getCategoryFeatures: アクセス制御を持つカテゴリ取得
- findCategoriesFeatures: フィルタリングとページネーションを持つカテゴリ検索
- editCategoryFeatures: バリデーションとアクセス制御を持つカテゴリ更新
- enableCategoryStatusFeatures: カテゴリ有効化機能
- disableCategoryStatusFeatures: カテゴリ無効化機能
- editCategoryStatusFeatures: 完全なカテゴリステータス管理
- deleteCategoryFeatures: 適切なバリデーションとクリーンアップを持つカテゴリ削除
✅ バリデーター
カテゴリ操作のバリデーション関数:
- doesCategoryExist: 操作前にカテゴリの存在を検証
🔗 関連ドキュメント
- カテゴリスキーマ - カテゴリデータのバリデーションと契約
- カテゴリハンドラー - ビジネスロジックとカテゴリ操作
- カテゴリルート - HTTPエンドポイント定義
- カテゴリ機能 - 完全なカテゴリ管理機能
- カテゴリバリデーター - カテゴリバリデーション関数