👤 User ブロック
User ブロックは、NodeBlocks アプリケーションにおけるユーザー管理のための包括的な機能を提供します。これらのブロックは、作成、認証、プロファイル管理、アカウント管理を含むユーザーライフサイクル操作を処理します。
🎯 概要
User ブロックは以下を目的として設計されています:
- 完全な CRUD 操作でユーザーアカウントを管理
- 認証と認可フローを処理
- 検証付きでプロファイル管理を提供
- ロック/アンロック操作でアカウントセキュリティをサポート
- ロールベースのアクセスでユーザー管理を有効化
📦 ブロックタイプ
🔍 スキーマ
ユーザー データ検証のための JSON Schema 定義:
- userSchema: ベースユーザーエンティティ構造
- createUserSchema: ユーザー登録検証
- updateUserSchema: プロファイル更新検証
- getUserSchema: ユーザー取得検証
- deleteUserSchema: ユーザー削除検証
- lockUserSchema: ユーザーアカウントロック検証
- unlockUserSchema: ユーザーアカウントアンロック検証
- findUsersSchema: フィルタリングとページネーション付きユーザー検索
🔧 ブロック
ユーザー プロファイル操作のための純粋なビジネスロジック関数:
- getUserById: データストアからのプロファイル取得
- normalizeUser: 単一ユーザーオブジェクトを正規化
- normalizeUsers: ユーザーオブジェクトの配列を正規化
⚙️ ハンドラー
ユーザー操作のためのコアビジネスロジック:
- createUser: ユーザーアカウント作成
- getUserById: ユーザー データ取得
- updateUser: プロファイル更新
- deleteUser: アカウント削除
- lockUser: アカウントセキュリティロック
- unlockUser: アカウントアンロック
🛣️ ルート
ユーザー操作のための HTTP エンドポイント定義:
- createUserRoute: ユーザー作成ハンドラー付き POST
/users
- getUserRoute: ユーザー取得ハンドラー付き GET
/users/:profileId
- findUsersRoute: ユーザー検索とページネーション付き GET
/users
- updateUserRoute: ユーザー更新ハンドラー付き PATCH
/users/:profileId
- deleteUserRoute: ユーザー削除ハンドラー付き DELETE
/users/:profileId
- lockUserRoute: ユーザーロックハンドラー付き POST
/identities/:identityId/lock
- unlockUserRoute: ユーザーアンロックハンドラー付き POST
/identities/:identityId/unlock
- getAvatarUploadUrlRoute: 署名付き URL 生成付き GET
/user-profiles/:profileId/avatar-upload-url
🚀 機能
スキーマ、ルート、ハンドラーを組み合わせた完全なユーザー管理機能:
- createUserFeature: 検証付きユーザー登録
- getUserFeatures: アクセスコントロール付きユーザープロファイル取得
- findUsersFeatures: ページネーション付きユーザー検索とリスト
- editUserFeatures: 認可付きユーザープロファイル更新
- deleteUserFeatures: アクセスコントロール付きユーザーアカウント削除
- lockUserFeatures: ユーザーアカウントロック (管理者専用)
- unlockUserFeatures: ユーザーアカウントアンロック (管理者専用)
- getAvatarUploadUrlFeature: アバターアップロード URL 生成
✅ バリデーター
ユーザー操作のための検証関数:
- ownsProfile: 認証されたアイデンティティによるプロファイル所有権を検証
- validateUserProfileAccess (廃止予定): レガシーアクセスバリデーター;
ownsProfile
に置き換え
🔗 関連ドキュメント
- User スキーマブロック - ユーザー データ検証とコントラクト
- User ハンドラーブロック - ユーザー業務ロジック関数
- User ルートブロック - HTTP エンドポイント定義
- User 機能ブロック - 完全なユーザー管理機能
- User バリデーターブロック - ユーザー検証関数