メインコンテンツまでスキップ
バージョン: 0.4.2

📧 招待ルートブロック

招待ルートブロックは、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);