📧 Invitation Route Blocks
Invitation route blocks provide pre-configured HTTP endpoints for invitation management operations in Nodeblocks applications. These routes combine handlers, validators, and middleware to create complete API endpoints with proper authentication, authorization, and error handling.
🎯 Overview
Invitation route blocks are designed to:
- Provide complete API endpoints for invitation management operations
- Combine handlers with validators for secure operations
- Include authentication and authorization checks
- Support functional composition patterns
- Handle logging and error management automatically
📋 Route Structure
Each invitation route follows a consistent pattern:
- HTTP Method: Defines the operation type (GET, POST, PATCH, DELETE)
- Path: Specifies the endpoint URL with parameters
- Handler: Composed function chain for business logic
- Validators: Authentication and authorization checks
🔧 Available Invitation Routes
createInvitationRoute
Creates a new invitation via POST /invitations.
Purpose: Handles invitation creation with email sending
Route Details:
- Method:
POST
- Path:
/invitations
- Authentication: Required (Bearer token)
Handlers: createInvitation
, getInvitationById
, buildInvitationOnetimeTokenPayload
, generateOnetimeToken
, sendInvitationEmail
, createInvitationTerminator
Validators: verifyAuthentication
(getBearerTokenInfo), validateResourceAccess
(['admin'], getBearerTokenInfo)
Usage:
import { routes } from '@nodeblocks/backend-sdk';
// Register route with Express app
app.use('/api', routes.createInvitationRoute);
findInvitationsRoute
Retrieves all invitations via GET /invitations.
Purpose: Lists invitations with pagination
Route Details:
- Method:
GET
- Path:
/invitations
- Authentication: Required (Bearer token)
Handlers: findInvitations
, normalizeInvitationsListTerminator
Validators: verifyAuthentication
(getBearerTokenInfo), validateResourceAccess
(['admin'], getBearerTokenInfo)
Usage:
import { routes } from '@nodeblocks/backend-sdk';
// Register route with Express app
app.use('/api', routes.findInvitationsRoute);
getInvitationByIdRoute
Retrieves a specific invitation by ID via GET /invitations/:invitationId.
Purpose: Fetches invitation data
Route Details:
- Method:
GET
- Path:
/invitations/:invitationId
- Authentication: Required (Bearer token)
Handlers: getInvitationById
, normalizeInvitationTerminator
Validators: verifyAuthentication
(getBearerTokenInfo), validateResourceAccess
(['admin'], getBearerTokenInfo)
Usage:
import { routes } from '@nodeblocks/backend-sdk';
// Register route with Express app
app.use('/api', routes.getInvitationByIdRoute);
deleteInvitationRoute
Deletes a specific invitation by ID via DELETE /invitations/:invitationId.
Purpose: Removes invitation
Route Details:
- Method:
DELETE
- Path:
/invitations/:invitationId
- Authentication: Required (Bearer token)
Handlers: deleteInvitation
, deleteInvitationTerminator
Validators: verifyAuthentication
(getBearerTokenInfo), validateResourceAccess
(['admin'], getBearerTokenInfo)
Usage:
import { routes } from '@nodeblocks/backend-sdk';
// Register route with Express app
app.use('/api', routes.deleteInvitationRoute);