⚙️ 属性ハンドラーブロック
属性ハンドラーブロックは、Nodeblocksアプリケーションにおける属性グループ管理操作のためのコアビジネスロジック機能を提供します。これらのハンドラーは、属性グループのライフサイクル管理、データ変換、レスポンスフォーマッティングの共通パターンをカプセル化します。
🎯 概要
属性ハンドラーブロックは以下を目的として設計されています:
- 再利用可能な機能での属性ビジネスロジックのカプセル化
- 適切なエラー管理による属性データベース操作の処理
- 異なるフォーマット間での属性データの変換
- TypeScript統合による型安全性の確保
- 他の属性ブロックとのコンポジションのサポート
📋 属性ハンドラー種類
属性非同期ハンドラー
非同期属性操作(データベース呼び出し、APIリクエストなど)を実行する機能。
属性同期ハンドラー
同期属性操作(データ変換、検証など)を実行する機能。
属性ターミネーターハンドラー
最終的な属性レスポンスをフォーマットして返す機能。
🔧 利用可能な属性ハンドラー
createAttributeGroup
データベースに新しい属性グループを作成します。
目的: エンティティ管理による属性グループの作成を処理
使用方法:
import { handlers } from '@nodeblocks/backend-sdk';
const { createAttributeGroup } = handlers;
// コンポジションで使用
const attributePipeline = compose(createAttributeGroup, createAttributeGroupTerminator);
getAttributeGroupById
一意の識別子による単一属性グループを取得します。
目的: 属性グループIDを使用してデータベースから属性グループ詳細を取得
使用方法:
import { handlers } from '@nodeblocks/backend-sdk';
const { getAttributeGroupById } = handlers;
// コンポジションで使用
const attributePipeline = compose(getAttributeGroupById, normalizeAttributeGroupTerminator);
findAttributeGroups
オプションのフィルタリング付きで複数の属性グループを検索します。
目的: フィルタサポート付き属性グループのクエリを処理
使用方法:
import { handlers } from '@nodeblocks/backend-sdk';
const { findAttributeGroups } = handlers;
// コンポジションで使用
const attributePipeline = compose(findAttributeGroups, normalizeAttributesListTerminator);
updateAttributeGroup
検証とエラー処理によるデータベース内の属性グループデータを更新します。
目的: 適切な検証による属性グループレコードの更新
使用方法:
import { handlers } from '@nodeblocks/backend-sdk';
const { updateAttributeGroup } = handlers;
// コンポジションで使用
const attributePipeline = compose(updateAttributeGroup, getAttributeGroupById, normalizeAttributeGroupTerminator);
deleteAttributeGroup
一意の識別子によるデータベースから属性グループを削除します。
目的: 検証による属性グループレコードの永続的削除
使用方法:
import { handlers } from '@nodeblocks/backend-sdk';
const { deleteAttributeGroup } = handlers;
// コンポジションで使用
const attributePipeline = compose(deleteAttributeGroup, deleteAttributeTerminator);
🎯 属性ターミネーターハンドラー
createAttributeGroupTerminator
適切なステータスコードによる属性グループ作成を終了します。
目的: 201ステータスによる属性グループ作成成功レスポンスのフォーマット
normalizeAttributeGroupTerminator
データベース固有のフィールドを削除して属性グループデータを正規化します。
目的: APIレスポンス用属性グループデータのクリーニング
normalizeAttributesListTerminator
各アイテムからデータベース固有のフィールドを削除して属性グループリストを正規化します。
目的: APIレスポンス用属性グループ配列データのクリーニング
deleteAttributeTerminator
適切なステータスコードによる属性グループ削除を終了します。
目的: 204ステータスによる削除成功レスポンスのフォーマット
🔗 関連ドキュメント
- 属性スキーマブロック - 属性データ検証と契約
- 属性ルートブロック - 属性HTTPエンドポイント定義
- 属性フィーチャーブロック - 属性コンポーズド機能