🚀 プロフィール機能
プロフィール機能は、NodeBlocksアプリケーションでプロフィール関係管理操作のための完全な事前合成機能を提供します。これらの機能は、スキーマとルートを組み合わせて、適切な検証、認証、エラー処理を含む使用可能なAPIエンドポイントを作成します。
🎯 概要
プロフィール機能は以下の目的で設計されています:
- 完全なAPIエンドポイントの提供 - プロフィール関係管理操作のため
- スキーマとルートの組み合わせ - 検証された操作のため
- 認証と認可チェックの自動含める
- 関数合成パターンのサポート
- ロギングとエラー管理のシームレスな処理
- ソーシャル関係のサポート - フォロー、組織フォロー、製品いいねを含む
📋 機能構造
各プロフィール機能は一貫した合成パターンに従います:
- Schema: 入力データとパラメータを検証
- Route: ブロック付きHTTPエンドポイントを提供
- 構成:
compose関数を使用してスキーマとルートを組み合わせ
🔧 利用可能なプロフィール機能
createProfileFollowFeature
スキーマ検証とルーティングを含むプロフィールフォロー作成機能。
目的: 自動重複防止、検証、適切なエラー処理を含む完全なプロフィールフォロー作成機能を提供します。
構成:
- Schema:
createProfileFollowSchema- プロフィールフォローリクエストパスパラメータを検証 - Route:
createProfileFollowRoute- PUT/profiles/:profileId/profile-follows/:followProfileIdフォロー作成ハンドラー付き
使用例:
import { features } from '@nodeblocks/backend-sdk';
// With database configuration
app.use('/api', defService(partial(features.createProfileFollowFeature, [{ dataStores: db }])));
API Endpoint: PUT /api/profiles/:profileId/profile-follows/:followProfileId
deleteProfileFollowFeature
スキーマ検証とルーティングを含むプロフィールフォロー削除機能。
目的: 検証と適切なエラー処理を含む完全なプロフィールフォロー削除(フォロー解除)機能を提供します。
構成:
- Schema:
deleteProfileFollowSchema- プロフィールフォロー削除リクエストパスパラメータを検証 - Route:
deleteProfileFollowRoute- DELETE/profiles/:profileId/profile-follows/:followProfileIdフォロー削除ハンドラー付き
使用例:
import { features } from '@nodeblocks/backend-sdk';
// With database configuration
app.use('/api', defService(partial(features.deleteProfileFollowFeature, [{ dataStores: db }])));
API Endpoint: DELETE /api/profiles/:profileId/profile-follows/:followProfileId
getProfileFollowersFeature
スキーマ検証とルーティングを含むプロフィールフォロワー取得機能。
目的: 検証、ページネーション、アバター正規化を含む完全なプロフィールフォロワー取得機能を提供します。
構成:
- Schema:
getProfileFollowersSchema- プロフィールフォロワー取得リクエストパスパラメータを検証 - Route:
getProfileFollowersRoute- GET/profiles/:profileId/followersフォロワー取得ハンドラー付き
使用例:
import { features } from '@nodeblocks/backend-sdk';
// With database configuration
app.use('/api', defService(partial(features.getProfileFollowersFeature, [{ dataStores: db }])));
API Endpoint: GET /api/profiles/:profileId/followers
createOrganizationFollowFeature
スキーマ検証とルーティングを含む組織フォロー作成機能。
目的: 検証と適切なエラー処理を含む完全な組織フォロー作成機能を提供します。
構成:
- Schema:
createOrganizationFollowSchema- 組織フォロー作成リクエストパスパラメータを検証 - Route:
createOrganizationFollowRoute- PUT/profiles/:profileId/organization-follows/:followOrganizationIdフォロー作成ハンドラー付き
使用例:
import { features } from '@nodeblocks/backend-sdk';
// With database configuration
app.use('/api', defService(partial(features.createOrganizationFollowFeature, [{ dataStores: db }])));
API Endpoint: PUT /api/profiles/:profileId/organization-follows/:followOrganizationId
deleteOrganizationFollowFeature
スキーマ検証とルーティングを含む組織フォロー削除機能。
目的: 検証と適切なエラー処理を含む完全な組織フォロー削除機能を提供します。
構成:
- Schema:
deleteOrganizationFollowSchema- 組織フォロー削除リクエストパスパラメータを検証 - Route:
deleteOrganizationFollowRoute- DELETE/profiles/:profileId/organization-follows/:followOrganizationIdフォロー削除ハンドラー付き
使用例:
import { features } from '@nodeblocks/backend-sdk';
// With database configuration
app.use('/api', defService(partial(features.deleteOrganizationFollowFeature, [{ dataStores: db }])));
API Endpoint: DELETE /api/profiles/:profileId/organization-follows/:followOrganizationId
createProductLikeFeature
スキーマ検証とルーティングを含む製品いいね作成機能。
目的: 検証と適切なエラー処理を含む完全な製品いいね作成機能を提供します。
構成:
- Schema:
createProductLikeSchema- 製品いいね作成リクエストパスパラメータを検証 - Route:
createProductLikeRoute- PUT/profiles/:profileId/product-likes/:likeProductIdいいね作成ハンドラー付き
使用例:
import { features } from '@nodeblocks/backend-sdk';
// With database configuration
app.use('/api', defService(partial(features.createProductLikeFeature, [{ dataStores: db }])));
API Endpoint: PUT /api/profiles/:profileId/product-likes/:likeProductId
deleteProductLikeFeature
スキーマ検証とルーティングを含む製品いいね削除機能。
目的: 検証と適切なエラー処理を含む完全な製品いいね削除機能を提供します。
構成:
- Schema:
deleteProductLikeSchema- 製品いいね削除リクエストパスパラメータを検証 - Route:
deleteProductLikeRoute- DELETE/profiles/:profileId/product-likes/:likeProductIdいいね削除ハンドラー付き
使用例:
import { features } from '@nodeblocks/backend-sdk';
// With database configuration
app.use('/api', defService(partial(features.deleteProductLikeFeature, [{ dataStores: db }])));
API Endpoint: DELETE /api/profiles/:profileId/product-likes/:likeProductId
🔗 関連ドキュメント
- プロフィールスキーマ - プロフィールデータ検証とコントラクト
- プロフィールブロック - プロフィールビジネスロジック関数
- プロフィールルート - HTTPエンドポイント定義