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

⚙️ カテゴリハンドラーブロック

カテゴリハンドラーブロックは、Nodeblocksアプリケーションにおけるカテゴリ管理操作のためのコアビジネスロジック機能を提供します。これらのハンドラーは、階層的カテゴリ管理、ステータス制御、データ変換の共通パターンをカプセル化します。


🎯 概要

カテゴリハンドラーブロックは以下を目的として設計されています:

  • 再利用可能な機能でのカテゴリビジネスロジックのカプセル化
  • 階層サポート付きカテゴリデータベース操作の処理
  • 異なるフォーマット間でのカテゴリデータの変換
  • カテゴリステータス管理(有効/無効)の実装
  • 他のカテゴリブロックとのコンポジションのサポート

📋 カテゴリハンドラー種類

カテゴリ非同期ハンドラー

非同期カテゴリ操作(データベース呼び出し、階層処理など)を実行する機能。

カテゴリ同期ハンドラー

同期カテゴリ操作(データ変換、検証など)を実行する機能。

カテゴリターミネーターハンドラー

最終的なカテゴリレスポンスをフォーマットして返す機能。


🔧 利用可能なカテゴリハンドラー

createCategory

階層サポート付きデータベースに新しいカテゴリを作成します。

目的: 親子関係によるカテゴリの作成を処理

使用方法:

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

const { createCategory } = handlers;

// コンポジションで使用
const categoryPipeline = compose(createCategory, createCategoryTerminator);

getCategoryById

一意の識別子による単一カテゴリを取得します。

目的: カテゴリIDを使用してデータベースからカテゴリ詳細を取得

使用方法:

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

const { getCategoryById } = handlers;

// コンポジションで使用
const categoryPipeline = compose(getCategoryById, normalizeCategoryTerminator);

findCategories

フィルタリングと階層サポート付きで複数のカテゴリを検索します。

目的: 階層構造をサポートするカテゴリのクエリを処理

使用方法:

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

const { findCategories } = handlers;

// コンポジションで使用
const categoryPipeline = compose(findCategories, normalizeCategoriesListTerminator);

updateCategory

検証とエラー処理によるデータベース内のカテゴリデータを更新します。

目的: 階層関係を維持しながらカテゴリレコードを更新

使用方法:

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

const { updateCategory } = handlers;

// コンポジションで使用
const categoryPipeline = compose(updateCategory, getCategoryById, normalizeCategoryTerminator);

enableCategory

カテゴリを有効ステータスに設定します。

目的: カテゴリアクセスを有効化

使用方法:

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

const { enableCategory } = handlers;

// コンポジションで使用
const categoryPipeline = compose(enableCategory, enableCategoryTerminator);

disableCategory

カテゴリを無効ステータスに設定します。

目的: カテゴリアクセスを無効化

使用方法:

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

const { disableCategory } = handlers;

// コンポジションで使用
const categoryPipeline = compose(disableCategory, disableCategoryTerminator);

deleteCategory

クリーンアップ付きでデータベースからカテゴリを削除します。

目的: 階層関係を考慮してカテゴリを削除

使用方法:

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

const { deleteCategory } = handlers;

// コンポジションで使用
const categoryPipeline = compose(deleteCategory, deleteCategoryTerminator);

🎯 カテゴリターミネーターハンドラー

createCategoryTerminator

適切なステータスコードによるカテゴリ作成を終了します。

目的: 201ステータスによるカテゴリ作成成功レスポンスのフォーマット


normalizeCategoryTerminator

データベース固有のフィールドを削除してカテゴリデータを正規化します。

目的: APIレスポンス用カテゴリデータのクリーニング


normalizeCategoriesListTerminator

各アイテムからデータベース固有のフィールドを削除してカテゴリリストを正規化します。

目的: APIレスポンス用カテゴリ配列データのクリーニング


enableCategoryTerminator

カテゴリ有効化操作の成功レスポンスをフォーマットします。

目的: カテゴリ有効化成功レスポンスの提供


disableCategoryTerminator

カテゴリ無効化操作の成功レスポンスをフォーマットします。

目的: カテゴリ無効化成功レスポンスの提供


deleteCategoryTerminator

適切なステータスコードによるカテゴリ削除を終了します。

目的: 204ステータスによる削除成功レスポンスのフォーマット


🔗 関連ドキュメント