🏢 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))
});