📧 招待ルートブロック
招待ルートブロックは、Nodeblocksアプリケーションにおける招待管理操作のための事前設定されたHTTPエンドポイントを提供します。これらのルートは、適切な認証、認可、エラー処理による完全なAPIエンドポイントを作成するために、ハンドラー、バリデーター、ミドルウェアを組み合わせます。
🎯 概要
招待ルートブロックは以下を目的として設計されています:
- 招待管理操作のための完全なAPIエンドポイントの提供
- 安全な操作のためのハンドラーとバリデーターの組み合わせ
- 認証と認可チェックの実装
- 関数コンポジションパターンのサポート
- ログとエラー管理の自動処理
📋 ルート構造
各招待ルートは一貫したパターンに従います:
- HTTPメソッド: 操作タイプの定義(GET、POST、PATCH、DELETE)
- パス: パラメータ付きエンドポイントURLの指定
- ハンドラー: ビジネスロジックのためのコンポーズド関数チェーン
- バリデーター: 認証と認可のチェック
🔧 利用可能な招待ルート
createInvitationRoute
POST /invitationsによる新しい招待を作成します。
目的: メール送信による招待作成を処理
ルート詳細:
- メソッド:
POST
- パス:
/invitations
- 認証: 必要(Bearerトークン)
ハンドラー: createInvitation
, getInvitationById
, buildInvitationOnetimeTokenPayload
, generateOnetimeToken
, sendInvitationEmail
, createInvitationTerminator
バリデーター: verifyAuthentication
(getBearerTokenInfo), validateResourceAccess
(['admin'], getBearerTokenInfo)
使用方法:
import { routes } from '@nodeblocks/backend-sdk';
// Expressアプリでルートを登録
app.use('/api', routes.createInvitationRoute);
findInvitationsRoute
GET /invitationsによるすべての招待を取得します。
目的: ページネーション付き招待をリスト
ルート詳細:
- メソッド:
GET
- パス:
/invitations
- 認証: 必要(Bearerトークン)
ハンドラー: findInvitations
, normalizeInvitationsListTerminator
バリデーター: verifyAuthentication
(getBearerTokenInfo), validateResourceAccess
(['admin'], getBearerTokenInfo)
使用方法:
import { routes } from '@nodeblocks/backend-sdk';
// Expressアプリでルートを登録
app.use('/api', routes.findInvitationsRoute);
getInvitationByIdRoute
GET /invitations/:invitationIdによるIDで特定の招待を取得します。
目的: 招待データを取得
ルート詳細:
- メソッド:
GET
- パス:
/invitations/:invitationId
- 認証: 必要(Bearerトークン)
ハンドラー: getInvitationById
, normalizeInvitationTerminator
バリデーター: verifyAuthentication
(getBearerTokenInfo), validateResourceAccess
(['admin'], getBearerTokenInfo)
使用方法:
import { routes } from '@nodeblocks/backend-sdk';
// Expressアプリでルートを登録
app.use('/api', routes.getInvitationByIdRoute);
deleteInvitationRoute
DELETE /invitations/:invitationIdによるIDで特定の招待を削除します。
目的: 招待を削除
ルート詳細:
- メソッド:
DELETE
- パス:
/invitations/:invitationId
- 認証: 必要(Bearerトークン)
ハンドラー: deleteInvitation
, deleteInvitationTerminator
バリデーター: verifyAuthentication
(getBearerTokenInfo), validateResourceAccess
(['admin'], getBearerTokenInfo)
使用方法:
import { routes } from '@nodeblocks/backend-sdk';
// Expressアプリでルートを登録
app.use('/api', routes.deleteInvitationRoute);