💬 Chat Blocks
Chat blocks provide comprehensive functionality for real-time communication in Nodeblocks applications. These blocks handle chat lifecycle operations including channels, messages, and subscriptions.
🎯 Overview
Chat blocks are designed to:
- Manage chat channels with full CRUD operations
- Handle message exchange and real-time communication
- Provide message template management for reusable content
- Provide subscription management for notifications
- Support multi-channel communication
- Enable chat administration with comprehensive controls
📦 Block Types
🔍 Schemas
JSON Schema definitions for chat data validation:
- chatChannelSchema: Base channel entity structure
- createChatChannelSchema: Channel creation validation
- updateChatChannelSchema: Channel modifications
- getChatChannelSchema: Channel retrieval
- deleteChatChannelSchema: Channel deletion
- findChatChannelsSchema: Channel search with filtering and pagination
- chatMessageSchema: Message entity structure
- createChatMessageSchema: Message creation validation
- updateChatMessageSchema: Message modifications
- getChatMessageSchema: Message retrieval
- deleteChatMessageSchema: Message deletion
- findChatMessagesSchema: Message search with filtering and pagination
- chatMessageTemplateSchema: Message template entity structure
- createChatMessageTemplateSchema: Message template creation validation
- chatSubscriptionSchema: Subscription entity structure
- createChatSubscriptionSchema: Subscription creation validation
- getChatSubscriptionSchema: Subscription retrieval
- deleteChatSubscriptionSchema: Subscription deletion
- findChatSubscriptionsSchema: Subscription search with filtering and pagination
🔧 Blocks
Pure business logic functions for chat operations:
- Message Templates:
createChatMessageTemplate
- Creates a new chat message template,getChatMessageTemplateById
- Retrieves a template by its unique identifier
⚙️ Handlers
Core business logic for chat operations:
- Channel Operations: createChatChannel, getChatChannelById, findChatChannels, updateChatChannel, deleteChatChannel
- Message Operations: createChatMessage, getChatMessageById, findChatMessages, updateChatMessage, deleteChatMessage
- Subscription Operations: createChatSubscription, getChatSubscriptionById, findChatSubscriptions, deleteChatSubscription
🛣️ Routes
HTTP endpoint definitions for chat operations:
- Channel Routes: createChatChannelRoute, getChatChannelRoute, findChatChannelsRoute, updateChatChannelRoute, deleteChatChannelRoute
- Message Routes: createChatMessageRoute, getChatMessageRoute, findChatMessagesRoute, updateChatMessageRoute, deleteChatMessageRoute
- Message Template Routes: createChatMessageTemplateRoute, getChatMessageTemplateRoute
- Subscription Routes: createChatSubscriptionRoute, getChatSubscriptionRoute, findChatSubscriptionsRoute, deleteChatSubscriptionRoute
🚀 Features
Composed chat features for easy integration:
- Channel Features: createChannelFeature, getChannelFeature, findChannelsFeature, updateChannelFeature, deleteChannelFeature
- Message Features: createChatMessageFeature, getChatMessageFeature, findChatMessagesFeature, updateChatMessageFeature, deleteChatMessageFeature
- Message Template Features: createChatMessageTemplateFeature, getChatMessageTemplateFeature
- Subscription Features: createChatSubscriptionFeature, getChatSubscriptionFeature, findChatSubscriptionsFeature, deleteChatSubscriptionFeature
✅ Validators
Validation functions for chat operations:
- hasSubscription: Validates that an identity is subscribed to a channel
- ownsSubscription: Validates subscription ownership by the subscribed identity
- ownsChannel: Validates channel ownership by the identity
- ownsMessage: Validates message ownership by the sender
- hasOrganizationAccessToMessageTemplate: Validates org role-based access to message templates
- validateChannelAccess (deprecated): Legacy access validator; replaced by
ownsChannel
- validateMessageAccess (deprecated): Legacy access validator; replaced by
ownsMessage
🔗 Related Documentation
- Chat Schema Blocks - Chat data validation and contracts
- Chat Handler Blocks - Chat business logic functions
- Chat Route Blocks - Chat HTTP endpoint definitions
- Chat Feature Blocks - Complete chat feature documentation
- Chat Validator Blocks - Chat validation functions