メインコンテンツまでスキップ
バージョン: 0.5.0 (最新)

📧 Invitation ルートブロック

Invitation route ブロックは、NodeBlocks アプリケーションにおける招待管理操作のための事前設定済み HTTP エンドポイントを提供します。これらのルートは、ハンドラー、バリデーター、ミドルウェアを組み合わせて、適切な認証、認可、エラー処理を備えた完全な API エンドポイントを作成します。


🎯 概要

Invitation ルートブロックは次のことを目的として設計されています:

  • 招待管理操作のための完全な API エンドポイントを提供する
  • 安全な操作のためのハンドラーとバリデーターを組み合わせる
  • 認証と認可チェックを含める
  • 機能合成パターンをサポートする
  • ログとエラー管理を自動的に処理する

📋 ルート構造

各招待ルートは、一貫したパターンを従います:

  • HTTP メソッド: 操作タイプを定義する(GET, POST, PATCH, DELETE)
  • パス: パラメーターを含むエンドポイント URL を指定する
  • ハンドラー: ビジネスロジックのための合成関数チェーン
  • バリデーター: 認証と認可チェック

🔧 利用可能な Invitation ルート

createInvitationRoute

POST /invitations を介して新しい招待を作成します。

目的: メール送信を使用した招待作成を処理する

ルート詳細:

  • メソッド: POST
  • パス: /invitations
  • 認証: 必須(Bearer トークン)

ハンドラー: createInvitation, getInvitationById, buildInvitationOnetimeTokenPayload, generateOnetimeToken, sendInvitationEmail, createInvitationTerminator

バリデーター: isAuthenticated, checkIdentityType(['admin'])

使用例:

import { routes } from '@nodeblocks/backend-sdk';

// Express アプリにルートを登録
app.use('/api', routes.createInvitationRoute);

findInvitationsRoute

GET /invitations を介してすべての招待を取得します。

目的: ページネーションを使用して招待をリストする

ルート詳細:

  • メソッド: GET
  • パス: /invitations
  • 認証: 必須(Bearer トークン)

ハンドラー: findInvitations, normalizeInvitationsListTerminator

バリデーター: isAuthenticated, checkIdentityType(['admin'])

使用例:

import { routes } from '@nodeblocks/backend-sdk';

// Express アプリにルートを登録
app.use('/api', routes.findInvitationsRoute);

getInvitationByIdRoute

GET /invitations/:invitationId を介して ID によって特定の招待を取得します。

目的: 招待データを取得する

ルート詳細:

  • メソッド: GET
  • パス: /invitations/:invitationId
  • 認証: 必須(Bearer トークン)

ハンドラー: getInvitationById, normalizeInvitationTerminator

バリデーター: isAuthenticated, checkIdentityType(['admin'])

使用例:

import { routes } from '@nodeblocks/backend-sdk';

// Express アプリにルートを登録
app.use('/api', routes.getInvitationByIdRoute);

deleteInvitationRoute

DELETE /invitations/:invitationId を介して ID によって特定の招待を削除します。

目的: 招待を削除する

ルート詳細:

  • メソッド: DELETE
  • パス: /invitations/:invitationId
  • 認証: 必須(Bearer トークン)

ハンドラー: deleteInvitation, deleteInvitationTerminator

バリデーター: isAuthenticated, checkIdentityType(['admin'])

使用例:

import { routes } from '@nodeblocks/backend-sdk';

// Express アプリにルートを登録
app.use('/api', routes.deleteInvitationRoute);