📧 招待ブロック
招待ブロックは、Nodeblocksアプリケーションでユーザー招待を管理するための包括的な事前設定コンポーネントセットを提供します。これらのブロックは、招待の作成、メール配信、トークン検証、招待ライフサイクル管理を処理します。
🎯 概要
招待ブロックは以下の目的で設計されています:
- ユーザー招待の作成と管理 - 組織アクセス制御のため
- 招待メールの送信 - セキュアなワンタイムトークン付き
- 招待トークンの検証 - セキュアな承認ワークフローのため
- 招待ライフサイクルの処理 - 作成から承認/削除まで
- 組織ベースの招待管理 - サポート
📦 ブロックタイプ
🔍 スキーマ
招待データ検証のためのJSON Schema定義:
- invitationSchema: 基本招待データ構造
- createInvitationSchema: 招待作成検証
- getInvitationSchema: 単一招待取得
- deleteInvitationSchema: 招待削除
- findInvitationsSchema: フィルタリングとページネーション付き招待検索
⚙️ ハンドラー
招待操作のコアビジネスロジック:
- createInvitation: データベースに新しい招待を作成
- sendInvitationEmail: トークン付き招待メールを送信
- findInvitations: フィルタリング付き招待クエリ
- getInvitationById: 単一招待を取得
- updateInvitation: 招待データを更新
- deleteInvitation: データベースから招待を削除
- buildCheckInvitationTokenPayload: トークン検証を設定
- buildInvitationOnetimeTokenPayload: OTT生成用のペイロードを準備
- getInvitationIdFromTokenInfo: トークンから招待IDを抽出
- verifyInvitationPayload: 招待の真正性を検証
- isPendingInvitation: 招待ステータスを検証
- buildAcceptInvitationPayload: 承認データを準備
- createInvitationTerminator: 201ステータスで成功した招待作成応答をフォーマット
- normalizeInvitationTerminator: データベース固有のフィールドを削除して招待データを正規化
- normalizeInvitationsListTerminator: 各アイテムからデータベース固有のフィールドを削除して招待リストを正規化
- deleteInvitationTerminator: 204ステータスで成功した削除応答をフォーマット
🛣️ ルート
招待操作のHTTPエンドポイント定義:
- createInvitationRoute: POST
/invitations- 新しい招待を作成 - getInvitationByIdRoute: GET
/invitations/:invitationId- 招待を取得 - findInvitationsRoute: GET
/invitations- 招待を一覧表示 - deleteInvitationRoute: DELETE
/invitations/:invitationId- 招待を削除
🚀 機能
スキーマ、ルート、ハンドラーを組み合わせた完全な招待管理機能:
- createInvitationFeature: メール処理とトークン生成付き招待作成
- getInvitationFeature: 検証付き招待取得
- findInvitationsFeature: フィルタリングとページネーション付き招待検索
- deleteInvitationFeature: 適切な検証とクリーンアップ付き招待削除