👥 プロフィールブロック
プロフィールブロックは、NodeBlocksアプリケーションでソーシャルプロフィール関係とユーザーエンゲージメントを管理するための包括的な機能を提供します。これらのブロックは、プロフィールフォロー、組織フォロー、製品いいねを適切なエラー管理とデータ正規化で処理します。
🎯 概要
プロフィールブロックは以下の目的で設計されています:
- プロフィール関係の管理 - フォローやソーシャル接続を含む
- 組織フォローの処理 - ユーザー購読のため
- 製品いいねのサポート - ユーザーエンゲージメント追跡のため
- ソーシャルデータの正規化 - アバター統合を含む
- 型安全性の確保 - 包括的なエラー処理を含む
- 他のプロフィール操作との合成のサポート
📦 ブロックタイプ
🔍 スキーマ
プロフィールデータ検証用のJSON Schema定義:
- createProfileFollowSchema: パスパラメータ検証を含むプロフィールフォロー作成検証
- deleteProfileFollowSchema: パスパラメータ検証を含むプロフィールフォロー削除検証
- getProfileFollowersSchema: パスパラメータ検証を含むプロフィールフォロワー取得検証
- createOrganizationFollowSchema: パスパラメータ検証を含む組織フォロー作成検証
- deleteOrganizationFollowSchema: パスパラメータ検証を含む組織フォロー削除検証
- createProductLikeSchema: パスパラメータ検証を含む製品いいね作成検証
- deleteProductLikeSchema: パスパラメータ検証を含む製品いいね削除検証
🔧 ブロック
プロフィール操作用の純粋なビジネスロジック関数:
- createProfileFollow: 重複防止を含むプロフィール間のフォロー関係の作成
- deleteProfileFollow: プロフィール間のフォロー関係の削除(フォロー解除)
- normalizeFollowers: アバターobjectIdをアクセス可能なURLに変換してフォロワーデータを正規化
- buildProfileFollowersByFollowProfileIdQuery: 特定のプロフィールをフォローしているプロフィールを見つけるためのMongoDBフィルターの構築
- createOrganizationFollow: プロフィールと組織間の組織フォロー関係の作成
- deleteOrganizationFollow: プロフィールからの組織フォロー関係の削除(組織のフォロー解除)
- createProductLike: 重複防止を含むプロフィールと製品間の製品いいね関係の作成
- deleteProductLike: プロフィールからの製品いいね関係の削除(製品のいいね解除)
エラークラス:
- ProfileBlockError: プロフィール関連ブロック操作の基本エラークラス
- ProfileNotFoundBlockError: プロフィールが見つからないエラー
- ProfileAlreadyFollowedBlockError: プロフィールが既にフォローされているエラー
- ProfileFollowNotFoundBlockError: プロフィールフォロー関係が見つからないエラー
- ProfileUnexpectedDBError: プロフィール操作の予期しないデータベースエラー
- ProfileDbBlockError: プロフィールデータベース操作エラー
- OrganizationAlreadyFollowedBlockError: 組織が既にフォローされているエラー
- OrganizationFollowNotFoundBlockError: 組織フォロー関係が見つからないエラー
- ProductAlreadyLikedBlockError: 製品が既にいいねされているエラー
- ProductLikeNotFoundBlockError: 製品いいね関係が見つからないエラー
🛣️ ルート
プロフィール操作のHTTPエンドポイント定義:
- createProfileFollowRoute: PUT
/profiles/:profileId/profile-follows/:followProfileIdフォロー作成付き - deleteProfileFollowRoute: DELETE
/profiles/:profileId/profile-follows/:followProfileIdフォロー削除付き - getProfileFollowersRoute: GET
/profiles/:profileId/followersフォロワー取得とページネーション付き - createOrganizationFollowRoute: PUT
/profiles/:profileId/organization-follows/:followOrganizationId組織フォロー作成付き - deleteOrganizationFollowRoute: DELETE
/profiles/:profileId/organization-follows/:followOrganizationId組織フォロー削除付き - createProductLikeRoute: PUT
/profiles/:profileId/product-likes/:likeProductId製品いいね作成付き - deleteProductLikeRoute: DELETE
/profiles/:profileId/product-likes/:likeProductId製品いいね削除付き
🚀 機能
スキーマ、ルート、ハンドラーを組み合わせた完全なプロフィール管理機能:
- createProfileFollowFeature: スキーマ検証とルーティングを含むプロフィールフォロー作成
- deleteProfileFollowFeature: スキーマ検証とルーティングを含むプロフィールフォロー削除
- getProfileFollowersFeature: スキーマ検証、ページネーション、ルーティングを含むプロフィールフォロワー取得
- createOrganizationFollowFeature: スキーマ検証とルーティングを含む組織フォロー作成
- deleteOrganizationFollowFeature: スキーマ検証とルーティングを含む組織フォロー削除
- createProductLikeFeature: スキーマ検証とルーティングを含む製品いいね作成
- deleteProductLikeFeature: スキーマ検証とルーティングを含む製品いいね削除
🔗 関連ドキュメント
- プロフィールスキーマ - プロフィールデータ検証とコントラクト
- プロフィールブロック - プロフィールビジネスロジック関数
- プロフィールルート - HTTPエンドポイント定義
- プロフィール機能 - 完全なプロフィール管理機能