メインコンテンツまでスキップ
バージョン: 0.9.0 (最新)

🚀 アイデンティティ機能

アイデンティティ機能は、NodeBlocksアプリケーションでのアイデンティティ管理操作用の完全な事前構成機能を提供します。これらの機能は、スキーマとルートを組み合わせて、適切な検証、認証、エラーハンドリングを含む即座に使用可能なAPIエンドポイントを作成します。


🎯 概要

アイデンティティ機能は以下の目的で設計されています:

  • アイデンティティ管理操作用の完全なAPIエンドポイントの提供
  • 検証された操作用のスキーマとルートの組み合わせ
  • 認証と認可チェックの自動包含
  • 関数合成パターンのサポート
  • ログ記録とエラー管理のシームレスな処理

📋 機能構造

各アイデンティティ機能は一貫した合成パターンに従います:

  • Schema: 入力データとパラメータを検証します
  • Route: ブロックを含むHTTPエンドポイントを提供します
  • 構成: compose関数を使用してスキーマとルートを組み合わせます

🔧 利用可能なアイデンティティ機能

getIdentityFeatures

スキーマ検証とルーティングを含むアイデンティティ取得機能。

目的: 適切な認可でアイデンティティデータを取得します

構成:

  • Schema: getIdentitySchema - アイデンティティIDパラメータを検証します
  • Route: getIdentityRoute - 取得ハンドラーを含む GET /identities/:identityId

使用例:

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


// With database configuration
app.use('/api', defService(partial(features.getIdentityFeatures, [{ dataStores: db }])));

APIエンドポイント: GET /api/identities/:identityId


findIdentitiesFeatures

スキーマ検証とルーティングを含むアイデンティティリスト表示機能。

目的: 検索機能を含むアイデンティティリスト表示を提供します

構成:

  • Schema: findIdentitySchema - フィルタリング用のクエリパラメータを検証します
  • Route: findIdentitiesRoute - 検索とページネーションを含む GET /identities

使用例:

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


// With database configuration
app.use('/api', defService(partial(features.findIdentitiesFeatures, [{ dataStores: db }])));

APIエンドポイント: GET /api/identities


updateIdentityFeatures

スキーマ検証とルーティングを含むアイデンティティ更新機能。

目的: 適切な認可でアイデンティティデータを変更します

構成:

使用例:

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


// With database configuration
app.use('/api', defService(partial(features.updateIdentityFeatures, [{ dataStores: db }])));

APIエンドポイント: PATCH /api/identities/:identityId


deleteIdentityFeatures

スキーマ検証とルーティングを含むアイデンティティ削除機能。

目的: アクセス制御を含むアイデンティティを削除します

構成:

使用例:

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


// With database configuration
app.use('/api', defService(partial(features.deleteIdentityFeatures, [{ dataStores: db }])));

APIエンドポイント: DELETE /api/identities/:identityId


lockIdentityFeature

スキーマ検証とルーティングを含むアイデンティティロック機能。

目的: 適切な認可でセキュリティ目的でアイデンティティをロックします。

構成:

  • Schema: lockIdentitySchema - アイデンティティIDパラメータを検証します
  • Route: lockIdentityRoute - ロックハンドラーを含む POST /identities/:identityId/lock

使用例:

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

// With database configuration
app.use('/api', defService(partial(features.lockIdentityFeature, [{ dataStores: db }])));

APIエンドポイント: POST /api/identities/:identityId/lock

レスポンス (204 No Content):

{}

主な機能:

  • 認可制御: 管理者ユーザーへのアクセスを制限します
  • アトミック操作: MongoDBアトミック更新操作を使用します
  • エラーハンドリング: 検証とデータベース障害に対する包括的なエラーハンドリング

認可:

  • 認証が必要です
  • 管理者ユーザーのみがアクセス可能です

エラーレスポンス:

  • 401: Unauthorized - 無効または欠落している認証
  • 403: Forbidden - ユーザーに管理者権限がない
  • 404: Not Found - アイデンティティが存在しない
  • 500: Internal Server Error - データベース操作が失敗した

unlockIdentityFeature

スキーマ検証とルーティングを含むアイデンティティアンロック機能。

目的: 適切な認可で以前にロックされたアイデンティティをアンロックします。

構成:

  • Schema: unlockIdentitySchema - アイデンティティIDパラメータを検証します
  • Route: unlockIdentityRoute - アンロックハンドラーを含む POST /identities/:identityId/unlock

使用例:

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

// With database configuration
app.use('/api', defService(partial(features.unlockIdentityFeature, [{ dataStores: db }])));

APIエンドポイント: POST /api/identities/:identityId/unlock

レスポンス (204 No Content):

{}

主な機能:

  • 認可制御: 管理者ユーザーへのアクセスを制限します
  • アトミック操作: MongoDBアトミック更新操作を使用します
  • エラーハンドリング: 検証とデータベース障害に対する包括的なエラーハンドリング

認可:

  • 認証が必要です
  • 管理者ユーザーのみがアクセス可能です

エラーレスポンス:

  • 401: Unauthorized - 無効または欠落している認証
  • 403: Forbidden - ユーザーに管理者権限がない
  • 404: Not Found - アイデンティティが存在しない
  • 500: Internal Server Error - データベース操作が失敗した

🔗 関連ドキュメント