Skip to main content
Version: 0.5.0 (Previous)

🏢 Organization Handler Blocks

Organization handler blocks provide core business logic functions for organization management operations in Nodeblocks applications. These handlers encapsulate common patterns for organization database operations, data transformation, and response formatting.


🎯 Overview

Organization handler blocks are designed to:

  • Encapsulate organization business logic in reusable functions
  • Handle organization database operations with proper error management
  • Transform organization data between different formats
  • Ensure type safety with TypeScript integration
  • Support composition with other organization blocks

🔧 Available Organization Handlers

🎯 Organization Terminator Handlers

normalizeOrganizationTerminator

Normalizes organization data by removing database-specific fields.

Purpose: Cleans organization data for API response

Parameters:

  • result - Result containing RouteHandlerPayload or Error

Returns: Normalized organization object

Example Usage:

// Used in composition:
compose(schema, getOrganizationById, normalizeOrganizationTerminator);

normalizeOrganizationsListTerminator

Normalizes organizations list by removing database-specific fields from each item.

Purpose: Cleans organizations array data for API response

Parameters:

  • result - Result containing RouteHandlerPayload or Error

Returns: Array of normalized organization objects

Example Usage:

// Used in composition:
compose(schema, findOrganizations, normalizeOrganizationsListTerminator);

deleteOrganizationTerminator

Terminates organization deletion with proper status code.

Purpose: Formats successful deletion response with 204 status

Parameters:

  • result - Result containing RouteHandlerPayload or Error

Returns: Response object with 204 statusCode

Example Usage:

// Used in composition:
compose(schema, deleteOrganization, deleteOrganizationTerminator);

normalizeOrganizationMemberRoleTerminator

Normalizes organization member role data for API response.

Purpose: Formats member role data for API response

Parameters:

  • result - Result containing RouteHandlerPayload or Error

Returns: Object containing normalized role data

Example Usage:

// Used in composition:
compose(schema, getOrganizationMemberRole, normalizeOrganizationMemberRoleTerminator);

normalizeOrganizationMemberExistenceTerminator

Normalizes organization member existence data for API response.

Purpose: Formats member existence check data for API response

Parameters:

  • result - Result containing RouteHandlerPayload or Error

Returns: Object containing normalized existence data

Example Usage:

// Used in composition:
compose(schema, checkOrganizationMemberExistence, normalizeOrganizationMemberExistenceTerminator);

normalizeOrganizationMembersListTerminator

Normalizes organization members list.

Purpose: Formats organization members list for API response

Parameters:

  • result - Result containing RouteHandlerPayload or Error

Returns: Object containing normalized members list data

Example Usage:

// Used in composition:
compose(schema, findOrganizationMembers, normalizeOrganizationMembersListTerminator);

deleteOrganizationMemberTerminator

Terminates organization member deletion with proper status code.

Purpose: Formats successful member deletion response with 204 status

Parameters:

  • result - Result containing RouteHandlerPayload or Error

Returns: Response object with 204 statusCode

Example Usage:

// Used in composition:
compose(schema, deleteOrganizationMember, deleteOrganizationMemberTerminator);

upsertOrganizationMembersTerminator

Terminates organization members upsert with proper status code.

Purpose: Formats successful members upsert response with 204 status

Parameters:

  • result - Result containing RouteHandlerPayload or Error

Returns: Response object with 204 statusCode

Example Usage:

// Used in composition:
compose(schema, upsertOrganizationMembers, upsertOrganizationMembersTerminator);

normalizeOrganizationsForIdentityTerminator

Normalizes organizations list for identity by removing database-specific fields and formatting response.

Purpose: Formats organizations for identity data for API response

Parameters:

  • result - Result containing RouteHandlerPayload or Error

Returns: Object containing normalized organizations for identity data

Example Usage:

// Used in route composition:
const findOrganizationsForMemberRoute = withRoute({
handler: compose(findOrganizationsForIdentity, lift(normalizeOrganizationsForIdentityTerminator))
});