🚀 Identity 機能ブロック
Identity 機能ブロックは、NodeBlocks アプリケーションにおけるアイデンティティ管理操作のための完全な事前合成機能を備えています。これらの機能は、適切な検証、認証、エラー処理を備えた即時使用可能な API エンドポイントを作成するためにスキーマとルートを組み合わせます。
🎯 概要
Identity 機能ブロックは次のことを目的として設計されています:
- アイデンティティ管理操作のための完全な API エンドポイントを提供する
- 検証された操作のためのスキーマとルートを組み合わせる
- 認証と認可チェックを自動的に含む
- 機能合成パターンをサポートする
- ログとエラー管理をシームレスに処理する
📋 機能構造
各アイデンティティ機能は、一貫した合成パターンに従います:
- スキーマ: 入力データとパラメーターを検証する
- ルート: ブロックを使用した HTTP エンドポイントを提供する
- 合成:
compose
関数を使用してスキーマとルートを組み合わせる
🔧 利用可能な Identity 機能
getIdentityFeatures
スキーマ検証とルーティングを使用したアイデンティティ取得機能。
目的: 適切な認可を使用してアイデンティティデータを取得する
合成:
- スキーマ:
getIdentitySchema
- アイデンティティ ID パラメーターを検証する - ルート:
getIdentityRoute
- 取得ハンドラーを持つ GET/identities/:identityId
使用例:
import { features } from '@nodeblocks/backend-sdk';
// 直接使用(ハンドラーで dataStores が必要)
app.use('/api', defService(features.getIdentityFeatures));
// データベース構成を使用
app.use('/api', defService(partial(features.getIdentityFeatures, [{ dataStores: db }])));
API エンドポイント: GET /api/identities/:identityId
findIdentitiesFeatures
スキーマ検証とルーティングを使用したアイデンティティリスト機能。
目的: 検索機能を使用したアイデンティティリストを提供する
合成:
- スキーマ:
findIdentitySchema
- フィルタリングのためのクエリパラメーターを検証する - ルート:
findIdentitiesRoute
- 検索とページネーションを持つ GET/identities
使用方法:
import { features } from '@nodeblocks/backend-sdk';
// 直接使用(ハンドラーで dataStores が必要)
app.use('/api', defService(features.findIdentitiesFeatures));
// データベース構成を使用
app.use('/api', defService(partial(features.findIdentitiesFeatures, [{ dataStores: db }])));
API エンドポイント: GET /api/identities
updateIdentityFeatures
スキーマ検証とルーティングを使用したアイデンティティ更新機能。
目的: 適切な認可を使用してアイデンティティデータを変更する
合成:
- スキーマ:
updateIdentitySchema
- アイデンティティ更新データを検証する - ルート:
updateIdentityRoute
- 更新ハンドラーを持つ PATCH/identities/:identityId
使用方法:
import { features } from '@nodeblocks/backend-sdk';
// 直接使用(ハンドラーで dataStores が必要)
app.use('/api', defService(features.updateIdentityFeatures));
// データベース構成を使用
app.use('/api', defService(partial(features.updateIdentityFeatures, [{ dataStores: db }])));
API エンドポイント: PATCH /api/identities/:identityId
deleteIdentityFeatures
スキーマ検証とルーティングを使用したアイデンティティ削除機能。
目的: アクセスコントロールを使用してアイデンティティを削除する
合成:
- スキーマ:
deleteIdentitySchema
- アイデンティティ ID パラメーターを検証する - ルート:
deleteIdentityRoute
- 削除ハンドラーを持つ DELETE/identities/:identityId
使用方法:
import { features } from '@nodeblocks/backend-sdk';
// 直接使用(ハンドラーで dataStores が必要)
app.use('/api', defService(features.deleteIdentityFeatures));
// データベース構成を使用
app.use('/api', defService(partial(features.deleteIdentityFeatures, [{ dataStores: db }])));
API エンドポイント: DELETE /api/identities/:identityId
🔗 関連ドキュメント
- Identity スキーマブロック - アイデンティティデータ検証とコントラクト
- Identity ブロック - アイデンティティビジネスロジック関数
- Identity ルートブロック - HTTP エンドポイント定義