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

💬 チャットブロック

チャットブロックは、Nodeblocksアプリケーションでリアルタイム通信の包括的な機能を提供します。これらのブロックは、チャネル、メッセージ、サブスクリプションを含むチャットライフサイクル操作を処理します。


🎯 概要

チャットブロックは以下の目的で設計されています:

  • チャットチャネルの管理 - 完全なCRUD操作
  • メッセージ交換の処理 - リアルタイム通信
  • セキュアなファイル添付のサポート - 署名付きURLと悪意のあるファイルタイプフィルタリング
  • リアルタイムでのメッセージストリーミング - WebSocketとMongoDB変更ストリーム経由
  • 読み取り状態の追跡 - ユーザーがチャネルで読み取ったメッセージをマーク
  • メッセージテンプレート管理の提供 - 再利用可能なコンテンツ
  • 通知用のサブスクリプション管理の提供 - 通知管理
  • マルチチャネル通信のサポート - 複数チャネル対応
  • 包括的なコントロールによるチャット管理の有効化 - 管理機能

📦 ブロックタイプ

🔍 Schemas

チャットデータバリデーション用のJSON Schema定義:

  • ChatChannelIcon: チャネルアイコンメタデータ用のTypeScript型
  • chatChannelSchema: ベースチャネルエンティティ構造
  • createChatChannelSchema: チャネル作成バリデーション
  • updateChatChannelSchema: チャネル変更
  • getChatChannelSchema: チャネル取得
  • deleteChatChannelSchema: チャネル削除
  • findChatChannelsSchema: フィルタリングとページネーション付きチャネル検索
  • getChannelMessagesSchema: チャネルメッセージ取得バリデーション
  • chatMessageSchema: メッセージエンティティ構造
  • chatMessageAttachmentSchema: objectIdとtypeによるメッセージ添付バリデーション
  • createChatMessageAttachmentSchema: 既存メッセージにファイルを追加するための添付作成バリデーション
  • deleteChatMessageAttachmentSchema: messageIdとattachmentIdパスパラメータによる添付削除バリデーション
  • createChatMessageSchema: 添付サポート付きメッセージ作成バリデーション
  • updateChatMessageSchema: メッセージ変更
  • getChatMessageSchema: メッセージ取得
  • deleteChatMessageSchema: メッセージ削除
  • findChatMessagesSchema: フィルタリングとページネーション付きメッセージ検索
  • channelIdQueryParameter: チャネルID用のWebSocketクエリパラメータ
  • streamChatMessagesSchema: リアルタイムメッセージストリーミングバリデーション
  • chatMessageTemplateSchema: メッセージテンプレートエンティティ構造
  • createChatMessageTemplateSchema: メッセージテンプレート作成バリデーション
  • getChatMessageTemplateSchema: メッセージテンプレート取得バリデーション
  • updateChatMessageTemplateSchema: メッセージテンプレート変更
  • deleteChatMessageTemplateSchema: メッセージテンプレート削除バリデーション
  • findChatMessageTemplatesSchema: フィルタリングとページネーション付きメッセージテンプレート検索
  • findChatMessageTemplatesForOrganizationSchema: ページネーション付き組織スコープのメッセージテンプレート検索
  • chatSubscriptionSchema: サブスクリプションエンティティ構造
  • createChatSubscriptionSchema: サブスクリプション作成バリデーション
  • getChatSubscriptionSchema: サブスクリプション取得
  • deleteChatSubscriptionSchema: サブスクリプション削除
  • findChatSubscriptionsSchema: フィルタリングとページネーション付きサブスクリプション検索
  • chatChannelReadStateSchema: チャネル読み取り状態エンティティ構造
  • upsertChatChannelReadStateSchema: チャネル読み取り状態アップサートバリデーション

チャットスキーマを表示 →

🔧 Blocks

チャット操作用の純粋なビジネスロジック関数:

チャットブロック関数を表示 →

⚙️ Handlers

チャット操作のコアビジネスロジック:

  • Channel Operations: createChatChannel, getChatChannelById, findChatChannels, updateChatChannel, deleteChatChannel
  • Channel Terminator Functions: createChatChannelTerminator, normalizeChatChannelTerminator, normalizeChatChannelsListTerminator, deleteChatChannelTerminator
  • Message Operations: createChatMessage, getChatMessageById, findChatMessages, updateChatMessage, deleteChatMessage
  • Message Terminator Functions: createChatMessageTerminator, normalizeChatMessageTerminator, normalizeChatMessagesListTerminator, deleteChatMessageTerminator
  • Subscription Operations: createChatSubscription, getChatSubscriptionById, findChatSubscriptions, deleteChatSubscription
  • Subscription Terminator Functions: createChatSubscriptionTerminator, normalizeChatSubscriptionTerminator, normalizeChatSubscriptionsListTerminator, deleteChatSubscriptionTerminator

チャットハンドラーを表示 →

🛣️ Routes

チャット操作のHTTPおよびWebSocketエンドポイント定義:

  • Channel Routes: createChatChannelRoute, getChatChannelRoute, findChatChannelsRoute, updateChatChannelRoute, deleteChatChannelRoute, getChannelMessagesRoute, getChatChannelIconUploadUrlRoute
  • Message Routes: createChatMessageRoute, getChatMessageRoute, findChatMessagesRoute, updateChatMessageRoute, deleteChatMessageRoute, getChatMessageAttachmentUploadUrlRoute, createChatMessageAttachmentRoute, deleteChatMessageAttachmentRoute, streamChatMessagesRoute (WebSocket)
  • Message Template Routes: createChatMessageTemplateRoute, getChatMessageTemplateRoute, updateChatMessageTemplateRoute, findChatMessageTemplatesRoute, findChatMessageTemplatesForOrganizationRoute, deleteChatMessageTemplateRoute
  • Subscription Routes: createChatSubscriptionRoute, getChatSubscriptionRoute, findChatSubscriptionsRoute, deleteChatSubscriptionRoute
  • Channel Read State Routes: upsertChatChannelReadStateRoute

チャットルートを表示 →

🚀 Features

簡単な統合用の構成されたチャット機能:

  • Channel Features: createChannelFeature, getChannelFeature, findChannelsFeature, updateChannelFeature, deleteChannelFeature, getChannelMessagesFeature, getChannelIconUploadUrlFeature
  • Message Features: createChatMessageFeature, getChatMessageFeature, findChatMessagesFeature, updateChatMessageFeature, deleteChatMessageFeature, getChatMessageAttachmentUrlFeature, createChatMessageAttachmentFeature, deleteChatMessageAttachmentFeature, streamChatMessagesFeature (WebSocket)
  • Message Template Features: createChatMessageTemplateFeature, getChatMessageTemplateFeature, updateChatMessageTemplateFeature, findChatMessageTemplatesFeature, findChatMessageTemplatesForOrganizationFeature, deleteChatMessageTemplateFeature
  • Subscription Features: createChatSubscriptionFeature, getChatSubscriptionFeature, findChatSubscriptionsFeature, deleteChatSubscriptionFeature
  • Channel Read State Features: upsertChatChannelReadStateFeature

チャット機能を表示 →

Validators

チャット操作のバリデーション関数:

  • channelExists: データベース内にチャットチャネルが存在することをバリデーション
  • hasSubscription: アイデンティティがチャネルにサブスクライブされていることをバリデーション
  • ownsSubscription: サブスクライブされたアイデンティティによるサブスクリプション所有権をバリデーション
  • ownsChannel: アイデンティティによるチャネル所有権をバリデーション
  • ownsMessage: 送信者によるメッセージ所有権をバリデーション
  • hasOrganizationAccessToMessageTemplate: メッセージテンプレートへの組織ロールベースアクセスをバリデーション
  • validateChannelAccess (deprecated): レガシーアクセスバリデーター; ownsChannelに置き換え
  • validateMessageAccess (deprecated): レガシーアクセスバリデーター; ownsMessageに置き換え

チャットバリデーターを表示 →


🔗 関連ドキュメント