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

🛣️ 招待ルート

招待ルートは、Nodeblocksアプリケーションで招待管理操作のための事前設定HTTPエンドポイントを提供します。これらのルートは、ハンドラー、バリデーター、ミドルウェアを組み合わせて、適切な認証、認可、エラー処理を含む完全なAPIエンドポイントを作成します。


🎯 概要

招待ルートは以下の目的で設計されています:

  • 完全なAPIエンドポイントの提供 - 招待管理操作のため
  • ハンドラーとバリデーターの組み合わせ - セキュアな操作のため
  • 認証と認可チェックの含む - チェックを含みます
  • 関数型構成パターンのサポート - パターンをサポート
  • ロギングとエラー管理の自動処理 - 自動的に処理

📋 ルート構造

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

  • HTTPメソッド: 操作タイプを定義(GET、POST、PATCH、DELETE)
  • パス: パラメータ付きエンドポイントURLを指定
  • ハンドラー: ビジネスロジック用の構成関数チェーン
  • バリデーター: 認証と認可チェック

🔧 利用可能な招待ルート

createInvitationRoute

POST /invitations経由で新しい招待を作成します。

目的: メール送信付きで招待作成を処理

ルート詳細:

  • Method: POST
  • Path: /invitations
  • Authentication: 必須(Bearerトークン)

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

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

使用例:

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

// Register route with Express app
app.use('/api', routes.createInvitationRoute);

findInvitationsRoute

GET /invitations経由ですべての招待を取得します。

目的: ページネーション付きで招待を一覧表示

ルート詳細:

  • Method: GET
  • Path: /invitations
  • Authentication: 必須(Bearerトークン)

ハンドラー: findInvitations, normalizeInvitationsListTerminator

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

使用例:

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

// Register route with Express app
app.use('/api', routes.findInvitationsRoute);

getInvitationByIdRoute

GET /invitations/:invitationId経由でIDで特定の招待を取得します。

目的: 招待データを取得

ルート詳細:

  • Method: GET
  • Path: /invitations/:invitationId
  • Authentication: 必須(Bearerトークン)

ハンドラー: getInvitationById, normalizeInvitationTerminator

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

使用例:

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

// Register route with Express app
app.use('/api', routes.getInvitationByIdRoute);

deleteInvitationRoute

DELETE /invitations/:invitationId経由でIDで特定の招待を削除します。

目的: 招待を削除

ルート詳細:

  • Method: DELETE
  • Path: /invitations/:invitationId
  • Authentication: 必須(Bearerトークン)

ハンドラー: deleteInvitation, deleteInvitationTerminator

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

使用例:

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

// Register route with Express app
app.use('/api', routes.deleteInvitationRoute);