hazo_chat 2.1.1 → 3.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../src/api/messages.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAIxD,OAAO,KAAK,EAAE,sBAAsB,EAA6E,MAAM,YAAY,CAAC;AAkEpI;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,sBAAsB;mBAcvC,WAAW,KAAG,OAAO,CAAC,YAAY,CAAC;oBAoKlC,WAAW,KAAG,OAAO,CAAC,YAAY,CAAC;EAqIjE;AAED;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,sBAAsB;qBAY1D,WAAW,WACX;QAAE,MAAM,EAAE;YAAE,EAAE,EAAE,MAAM,CAAA;SAAE,GAAG,OAAO,CAAC;YAAE,EAAE,EAAE,MAAM,CAAA;SAAE,CAAC,CAAA;KAAE,KAC5D,OAAO,CAAC,YAAY,CAAC;EA8HzB;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,sBAAsB;sBAatD,WAAW,WACX;QAAE,MAAM,EAAE;YAAE,EAAE,EAAE,MAAM,CAAA;SAAE,GAAG,OAAO,CAAC;YAAE,EAAE,EAAE,MAAM,CAAA;SAAE,CAAC,CAAA;KAAE,KAC5D,OAAO,CAAC,YAAY,CAAC;EAwHzB"}
1
+ {"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../src/api/messages.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAIxD,OAAO,KAAK,EAAE,sBAAsB,EAAkG,MAAM,YAAY,CAAC;AA0FzJ;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,sBAAsB;mBAcvC,WAAW,KAAG,OAAO,CAAC,YAAY,CAAC;oBA2KlC,WAAW,KAAG,OAAO,CAAC,YAAY,CAAC;EAiJjE;AAED;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,sBAAsB;qBAY1D,WAAW,WACX;QAAE,MAAM,EAAE;YAAE,EAAE,EAAE,MAAM,CAAA;SAAE,GAAG,OAAO,CAAC;YAAE,EAAE,EAAE,MAAM,CAAA;SAAE,CAAC,CAAA;KAAE,KAC5D,OAAO,CAAC,YAAY,CAAC;EA2IzB;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,sBAAsB;sBAatD,WAAW,WACX;QAAE,MAAM,EAAE;YAAE,EAAE,EAAE,MAAM,CAAA;SAAE,GAAG,OAAO,CAAC;YAAE,EAAE,EAAE,MAAM,CAAA;SAAE,CAAC,CAAA;KAAE,KAC5D,OAAO,CAAC,YAAY,CAAC;EAuIzB"}
@@ -68,6 +68,23 @@ async function defaultGetUserIdFromRequest() {
68
68
  const cookieStore = await cookies();
69
69
  return cookieStore.get('hazo_auth_user_id')?.value || null;
70
70
  }
71
+ /**
72
+ * Verify that a user is a member of a chat group
73
+ * @returns The membership record if found, null otherwise
74
+ */
75
+ async function verifyGroupMembership(hazoConnect, user_id, chat_group_id) {
76
+ const membershipService = createCrudService(hazoConnect, 'hazo_chat_group_users');
77
+ try {
78
+ const memberships = await membershipService.list((qb) => qb.select('*')
79
+ .where('chat_group_id', 'eq', chat_group_id)
80
+ .where('user_id', 'eq', user_id));
81
+ return memberships[0] || null;
82
+ }
83
+ catch (error) {
84
+ console.error('[hazo_chat] Error verifying group membership:', error);
85
+ return null;
86
+ }
87
+ }
71
88
  /**
72
89
  * Creates GET and POST handlers for chat messages
73
90
  *
@@ -80,7 +97,7 @@ export function createMessagesHandler(options) {
80
97
  * GET handler - Fetch chat messages with pagination
81
98
  *
82
99
  * Query params:
83
- * - receiver_user_id (required): The other user in the conversation
100
+ * - chat_group_id (required): The chat group to fetch messages from
84
101
  * - reference_id (optional): Filter by reference ID
85
102
  * - reference_type (optional): Filter by reference type
86
103
  * - limit (optional): Number of messages per page (default: 50, max: 100)
@@ -99,16 +116,27 @@ export function createMessagesHandler(options) {
99
116
  }
100
117
  // Get query params
101
118
  const { searchParams } = new URL(request.url);
102
- const receiver_user_id = searchParams.get('receiver_user_id');
119
+ const chat_group_id = searchParams.get('chat_group_id');
103
120
  const reference_id = searchParams.get('reference_id') || '';
104
121
  const reference_type = searchParams.get('reference_type') || '';
105
122
  const cursor = searchParams.get('cursor') || '';
106
123
  const direction = searchParams.get('direction') || 'older';
107
124
  const limit_param = searchParams.get('limit');
108
125
  // Validate required params
109
- if (!receiver_user_id) {
110
- console.error('[hazo_chat/messages GET] Missing receiver_user_id');
111
- return createErrorResponse('receiver_user_id is required', 400, 'MISSING_RECEIVER');
126
+ if (!chat_group_id) {
127
+ console.error('[hazo_chat/messages GET] Missing chat_group_id');
128
+ return createErrorResponse('chat_group_id is required', 400, 'MISSING_CHAT_GROUP');
129
+ }
130
+ // Get hazo_connect instance early for membership check
131
+ const hazoConnect = getHazoConnect();
132
+ // Verify user is a member of the chat group
133
+ const membership = await verifyGroupMembership(hazoConnect, current_user_id, chat_group_id);
134
+ if (!membership) {
135
+ console.error('[hazo_chat/messages GET] User is not a member of chat group:', {
136
+ current_user_id,
137
+ chat_group_id,
138
+ });
139
+ return createErrorResponse('Access denied - not a member of this chat group', 403, 'FORBIDDEN');
112
140
  }
113
141
  // Validate input lengths
114
142
  if (reference_id && reference_id.length > MAX_REFERENCE_ID_LENGTH) {
@@ -128,21 +156,22 @@ export function createMessagesHandler(options) {
128
156
  }
129
157
  console.log('[hazo_chat/messages GET] Fetching messages:', {
130
158
  current_user_id,
131
- receiver_user_id,
159
+ chat_group_id,
132
160
  reference_id,
133
161
  reference_type,
134
162
  cursor,
135
163
  direction,
136
164
  limit,
137
165
  });
138
- // Get hazo_connect instance and create CRUD service
139
- const hazoConnect = getHazoConnect();
166
+ // Create CRUD service (hazoConnect already obtained above)
140
167
  const chatService = createCrudService(hazoConnect, 'hazo_chat');
141
168
  let messages = [];
142
169
  try {
143
170
  // Build query with proper filtering
144
171
  const all_messages = await chatService.list((qb) => {
145
172
  let builder = qb.select('*');
173
+ // Filter by chat group - this is the primary filter
174
+ builder = builder.where('chat_group_id', 'eq', chat_group_id);
146
175
  // Filter by reference if provided
147
176
  if (reference_id) {
148
177
  builder = builder.where('reference_id', 'eq', reference_id);
@@ -170,15 +199,8 @@ export function createMessagesHandler(options) {
170
199
  }
171
200
  return builder;
172
201
  });
173
- // Filter to only messages between current user and receiver
174
- // Also exclude deleted messages
175
- const filtered_messages = all_messages.filter((msg) => {
176
- if (msg.deleted_at)
177
- return false;
178
- const is_sent_by_me = msg.sender_user_id === current_user_id && msg.receiver_user_id === receiver_user_id;
179
- const is_sent_to_me = msg.sender_user_id === receiver_user_id && msg.receiver_user_id === current_user_id;
180
- return is_sent_by_me || is_sent_to_me;
181
- });
202
+ // Filter out deleted messages (membership check already done above)
203
+ const filtered_messages = all_messages.filter((msg) => !msg.deleted_at);
182
204
  // Apply limit after filtering
183
205
  messages = filtered_messages.slice(0, limit);
184
206
  // If we fetched in desc order, reverse to return in asc order
@@ -218,7 +240,7 @@ export function createMessagesHandler(options) {
218
240
  * POST handler - Create a new chat message
219
241
  *
220
242
  * Request body:
221
- * - receiver_user_id (required): The recipient user ID
243
+ * - chat_group_id (required): The chat group to send the message to
222
244
  * - message_text (required): The message content (max 5000 chars)
223
245
  * - reference_id (optional): Reference ID for context grouping
224
246
  * - reference_type (optional): Reference type (default: 'chat')
@@ -235,11 +257,22 @@ export function createMessagesHandler(options) {
235
257
  }
236
258
  // Parse request body
237
259
  const body = await request.json();
238
- const { receiver_user_id, message_text, reference_id, reference_type } = body;
260
+ const { chat_group_id, message_text, reference_id, reference_type } = body;
239
261
  // Validate required fields
240
- if (!receiver_user_id) {
241
- console.error('[hazo_chat/messages POST] Missing receiver_user_id');
242
- return createErrorResponse('receiver_user_id is required', 400, 'MISSING_RECEIVER');
262
+ if (!chat_group_id) {
263
+ console.error('[hazo_chat/messages POST] Missing chat_group_id');
264
+ return createErrorResponse('chat_group_id is required', 400, 'MISSING_CHAT_GROUP');
265
+ }
266
+ // Get hazo_connect instance early for membership check
267
+ const hazoConnect = getHazoConnect();
268
+ // Verify user is a member of the chat group
269
+ const membership = await verifyGroupMembership(hazoConnect, sender_user_id, chat_group_id);
270
+ if (!membership) {
271
+ console.error('[hazo_chat/messages POST] User is not a member of chat group:', {
272
+ sender_user_id,
273
+ chat_group_id,
274
+ });
275
+ return createErrorResponse('Access denied - not a member of this chat group', 403, 'FORBIDDEN');
243
276
  }
244
277
  // Validate message_text
245
278
  if (!message_text || typeof message_text !== 'string') {
@@ -263,8 +296,7 @@ export function createMessagesHandler(options) {
263
296
  if (reference_type && reference_type.length > MAX_REFERENCE_TYPE_LENGTH) {
264
297
  return createErrorResponse(`reference_type exceeds maximum length of ${MAX_REFERENCE_TYPE_LENGTH}`, 400, 'INVALID_REFERENCE_TYPE');
265
298
  }
266
- // Get hazo_connect instance and create CRUD service
267
- const hazoConnect = getHazoConnect();
299
+ // Create CRUD service (hazoConnect already obtained above)
268
300
  const chatService = createCrudService(hazoConnect, 'hazo_chat');
269
301
  // Generate message ID and timestamps
270
302
  const message_id = generateUUID();
@@ -275,7 +307,7 @@ export function createMessagesHandler(options) {
275
307
  reference_id: reference_id || '',
276
308
  reference_type: reference_type || 'chat',
277
309
  sender_user_id,
278
- receiver_user_id,
310
+ chat_group_id,
279
311
  message_text: trimmed_message,
280
312
  reference_list: null,
281
313
  read_at: null,
@@ -286,7 +318,7 @@ export function createMessagesHandler(options) {
286
318
  console.log('[hazo_chat/messages POST] Saving message:', {
287
319
  id: message_id,
288
320
  sender_user_id,
289
- receiver_user_id,
321
+ chat_group_id,
290
322
  reference_id: reference_id || '',
291
323
  reference_type: reference_type || 'chat',
292
324
  message_length: trimmed_message.length,
@@ -305,7 +337,7 @@ export function createMessagesHandler(options) {
305
337
  message: {
306
338
  id: message_id,
307
339
  sender_user_id,
308
- receiver_user_id,
340
+ chat_group_id,
309
341
  reference_id: reference_id || '',
310
342
  reference_type: reference_type || 'chat',
311
343
  message_text: trimmed_message,
@@ -382,14 +414,23 @@ export function createMarkAsReadHandler(options) {
382
414
  console.error('[hazo_chat/messages/[id]/read PATCH] Message not found:', message_id);
383
415
  return NextResponse.json({ success: false, error: 'Message not found' }, { status: 404 });
384
416
  }
385
- // Verify that the current user is the receiver (only receivers can mark as read)
386
- if (message.receiver_user_id !== current_user_id) {
387
- console.error('[hazo_chat/messages/[id]/read PATCH] User is not the receiver:', {
417
+ // Verify that the current user is a member of the chat group
418
+ const membership = await verifyGroupMembership(hazoConnect, current_user_id, message.chat_group_id);
419
+ if (!membership) {
420
+ console.error('[hazo_chat/messages/[id]/read PATCH] User is not a member of chat group:', {
388
421
  message_id,
389
422
  current_user_id,
390
- receiver_user_id: message.receiver_user_id,
423
+ chat_group_id: message.chat_group_id,
391
424
  });
392
- return NextResponse.json({ success: false, error: 'Unauthorized - only the receiver can mark messages as read' }, { status: 403 });
425
+ return NextResponse.json({ success: false, error: 'Unauthorized - not a member of this chat group' }, { status: 403 });
426
+ }
427
+ // Cannot mark your own messages as read
428
+ if (message.sender_user_id === current_user_id) {
429
+ console.error('[hazo_chat/messages/[id]/read PATCH] User cannot mark own message as read:', {
430
+ message_id,
431
+ current_user_id,
432
+ });
433
+ return NextResponse.json({ success: false, error: 'Cannot mark your own messages as read' }, { status: 400 });
393
434
  }
394
435
  // Don't update if already read
395
436
  if (message.read_at) {
@@ -514,6 +555,16 @@ export function createDeleteHandler(options) {
514
555
  console.error('[hazo_chat/messages/[id] DELETE] Message not found:', message_id);
515
556
  return createErrorResponse('Message not found', 404, 'MESSAGE_NOT_FOUND');
516
557
  }
558
+ // Verify that the current user is a member of the chat group
559
+ const membership = await verifyGroupMembership(hazoConnect, current_user_id, message.chat_group_id);
560
+ if (!membership) {
561
+ console.error('[hazo_chat/messages/[id] DELETE] User is not a member of chat group:', {
562
+ message_id,
563
+ current_user_id,
564
+ chat_group_id: message.chat_group_id,
565
+ });
566
+ return createErrorResponse('Unauthorized - not a member of this chat group', 403, 'FORBIDDEN');
567
+ }
517
568
  // Verify that the current user is the sender (only senders can delete their messages)
518
569
  if (message.sender_user_id !== current_user_id) {
519
570
  console.error('[hazo_chat/messages/[id] DELETE] User is not the sender:', {
@@ -1 +1 @@
1
- {"version":3,"file":"messages.js","sourceRoot":"","sources":["../../src/api/messages.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"messages.js","sourceRoot":"","sources":["../../src/api/messages.ts"],"names":[],"mappings":"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"}
@@ -69,7 +69,7 @@ export interface MessagesHandlerOptions {
69
69
  * Chat message input for creating new messages
70
70
  */
71
71
  export interface ChatMessageInput {
72
- receiver_user_id: string;
72
+ chat_group_id: string;
73
73
  message_text: string;
74
74
  reference_id?: string;
75
75
  reference_type?: string;
@@ -82,7 +82,7 @@ export interface ChatMessageRecord {
82
82
  reference_id: string;
83
83
  reference_type: string;
84
84
  sender_user_id: string;
85
- receiver_user_id: string;
85
+ chat_group_id: string;
86
86
  message_text: string;
87
87
  reference_list: string | null;
88
88
  read_at: string | null;
@@ -91,4 +91,27 @@ export interface ChatMessageRecord {
91
91
  changed_at: string;
92
92
  [key: string]: unknown;
93
93
  }
94
+ /**
95
+ * Chat group user membership record
96
+ */
97
+ export interface ChatGroupUserRecord {
98
+ chat_group_id: string;
99
+ user_id: string;
100
+ role: 'client' | 'staff' | 'owner' | 'admin' | 'member';
101
+ created_at: string;
102
+ changed_at: string | null;
103
+ [key: string]: unknown;
104
+ }
105
+ /**
106
+ * Chat group database record
107
+ */
108
+ export interface ChatGroupRecord {
109
+ id: string;
110
+ client_user_id: string | null;
111
+ group_type: 'support' | 'peer' | 'group' | null;
112
+ name: string | null;
113
+ created_at: string;
114
+ changed_at: string | null;
115
+ [key: string]: unknown;
116
+ }
94
117
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/api/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAM/C;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,KAAK,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB,CAAC,CAAC,GAAG,OAAO;IAC7C,OAAO,EAAE,IAAI,CAAC;IACd,IAAI,EAAE,CAAC,CAAC;CACT;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAMD;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC;;;;;;;;;;;;OAYG;IACH,cAAc,EAAE,MAAM,OAAO,CAAC;IAE9B;;;;;;;;;;;;;;OAcG;IACH,oBAAoB,CAAC,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;CACzF;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,gBAAgB,EAAE,MAAM,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/api/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAM/C;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,KAAK,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB,CAAC,CAAC,GAAG,OAAO;IAC7C,OAAO,EAAE,IAAI,CAAC;IACd,IAAI,EAAE,CAAC,CAAC;CACT;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAMD;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC;;;;;;;;;;;;OAYG;IACH,cAAc,EAAE,MAAM,OAAO,CAAC;IAE9B;;;;;;;;;;;;;;OAcG;IACH,oBAAoB,CAAC,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;CACzF;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,QAAQ,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,QAAQ,CAAC;IACxD,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,UAAU,EAAE,SAAS,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;IAChD,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB"}
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * Unread Count Library Function Factory
3
3
  *
4
- * Creates a function to get unread message counts grouped by reference_id
5
- * for a given receiver user ID.
4
+ * Creates a function to get unread message counts grouped by chat_group_id
5
+ * for a given user who is a member of those groups.
6
6
  *
7
7
  * @example
8
8
  * ```typescript
@@ -15,8 +15,8 @@
15
15
  * });
16
16
  *
17
17
  * // Use the function
18
- * const unreadCounts = await getUnreadCount('receiver-user-id-123');
19
- * // Returns: [{ reference_id: 'ref-1', count: 5 }, { reference_id: 'ref-2', count: 3 }]
18
+ * const unreadCounts = await getUnreadCount({ user_id: 'user-123' });
19
+ * // Returns: [{ chat_group_id: 'group-1', count: 5 }, { chat_group_id: 'group-2', count: 3 }]
20
20
  * ```
21
21
  */
22
22
  /**
@@ -38,20 +38,29 @@ export interface UnreadCountFunctionOptions {
38
38
  */
39
39
  getHazoConnect: () => unknown;
40
40
  }
41
+ /**
42
+ * Parameters for getting unread counts
43
+ */
44
+ export interface UnreadCountParams {
45
+ /** The user ID to get unread counts for */
46
+ user_id: string;
47
+ /** Optional: Filter by specific chat group IDs. If not provided, returns counts for all groups the user belongs to */
48
+ chat_group_ids?: string[];
49
+ }
41
50
  /**
42
51
  * Result type for unread count function
43
52
  */
44
53
  export interface UnreadCountResult {
45
- /** The reference ID */
46
- reference_id: string;
47
- /** Number of unread messages for this reference */
54
+ /** The chat group ID */
55
+ chat_group_id: string;
56
+ /** Number of unread messages in this group */
48
57
  count: number;
49
58
  }
50
59
  /**
51
- * Creates a function to get unread message counts by reference_id
60
+ * Creates a function to get unread message counts by chat_group_id
52
61
  *
53
62
  * @param options - Configuration options
54
- * @returns Function that takes receiver_user_id and returns unread counts
63
+ * @returns Function that takes UnreadCountParams and returns unread counts
55
64
  */
56
- export declare function createUnreadCountFunction(options: UnreadCountFunctionOptions): (receiver_user_id: string) => Promise<UnreadCountResult[]>;
65
+ export declare function createUnreadCountFunction(options: UnreadCountFunctionOptions): (params: UnreadCountParams) => Promise<UnreadCountResult[]>;
57
66
  //# sourceMappingURL=unread_count.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"unread_count.d.ts","sourceRoot":"","sources":["../../src/api/unread_count.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAMH;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC;;;;;;;;;;;;OAYG;IACH,cAAc,EAAE,MAAM,OAAO,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,uBAAuB;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,mDAAmD;IACnD,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,0BAA0B,IAUzE,kBAAkB,MAAM,KACvB,OAAO,CAAC,iBAAiB,EAAE,CAAC,CA2DhC"}
1
+ {"version":3,"file":"unread_count.d.ts","sourceRoot":"","sources":["../../src/api/unread_count.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAMH;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC;;;;;;;;;;;;OAYG;IACH,cAAc,EAAE,MAAM,OAAO,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,2CAA2C;IAC3C,OAAO,EAAE,MAAM,CAAC;IAChB,sHAAsH;IACtH,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,wBAAwB;IACxB,aAAa,EAAE,MAAM,CAAC;IACtB,8CAA8C;IAC9C,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,0BAA0B,IAUzE,QAAQ,iBAAiB,KACxB,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAsGhC"}
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * Unread Count Library Function Factory
3
3
  *
4
- * Creates a function to get unread message counts grouped by reference_id
5
- * for a given receiver user ID.
4
+ * Creates a function to get unread message counts grouped by chat_group_id
5
+ * for a given user who is a member of those groups.
6
6
  *
7
7
  * @example
8
8
  * ```typescript
@@ -15,63 +15,87 @@
15
15
  * });
16
16
  *
17
17
  * // Use the function
18
- * const unreadCounts = await getUnreadCount('receiver-user-id-123');
19
- * // Returns: [{ reference_id: 'ref-1', count: 5 }, { reference_id: 'ref-2', count: 3 }]
18
+ * const unreadCounts = await getUnreadCount({ user_id: 'user-123' });
19
+ * // Returns: [{ chat_group_id: 'group-1', count: 5 }, { chat_group_id: 'group-2', count: 3 }]
20
20
  * ```
21
21
  */
22
22
  import { createCrudService } from 'hazo_connect/server';
23
23
  /**
24
- * Creates a function to get unread message counts by reference_id
24
+ * Creates a function to get unread message counts by chat_group_id
25
25
  *
26
26
  * @param options - Configuration options
27
- * @returns Function that takes receiver_user_id and returns unread counts
27
+ * @returns Function that takes UnreadCountParams and returns unread counts
28
28
  */
29
29
  export function createUnreadCountFunction(options) {
30
30
  const { getHazoConnect } = options;
31
31
  /**
32
- * Get unread message counts grouped by reference_id for a receiver user
32
+ * Get unread message counts grouped by chat_group_id for a user
33
33
  *
34
- * @param receiver_user_id - The user ID to get unread counts for
35
- * @returns Array of objects with reference_id and count of unread messages
34
+ * @param params - The parameters including user_id and optional chat_group_ids filter
35
+ * @returns Array of objects with chat_group_id and count of unread messages
36
36
  */
37
- return async function hazo_chat_get_unread_count(receiver_user_id) {
37
+ return async function hazo_chat_get_unread_count(params) {
38
38
  try {
39
- if (!receiver_user_id || receiver_user_id.trim() === '') {
40
- console.error('[hazo_chat_get_unread_count] Missing receiver_user_id');
39
+ const { user_id, chat_group_ids } = params;
40
+ if (!user_id || user_id.trim() === '') {
41
+ console.error('[hazo_chat_get_unread_count] Missing user_id');
41
42
  return [];
42
43
  }
43
44
  console.log('[hazo_chat_get_unread_count] Fetching unread counts for:', {
44
- receiver_user_id,
45
+ user_id,
46
+ chat_group_ids,
45
47
  });
46
- // Get hazo_connect instance and create CRUD service
48
+ // Get hazo_connect instance
47
49
  const hazoConnect = getHazoConnect();
50
+ // First, get all groups the user is a member of
51
+ const membershipService = createCrudService(hazoConnect, 'hazo_chat_group_users');
52
+ const memberships = await membershipService.list((qb) => qb.select('*').where('user_id', 'eq', user_id));
53
+ if (memberships.length === 0) {
54
+ console.log('[hazo_chat_get_unread_count] User is not a member of any groups');
55
+ return [];
56
+ }
57
+ // Get the group IDs to check (either filtered or all)
58
+ const user_group_ids = memberships.map((m) => m.chat_group_id);
59
+ const groups_to_check = chat_group_ids
60
+ ? chat_group_ids.filter((id) => user_group_ids.includes(id))
61
+ : user_group_ids;
62
+ if (groups_to_check.length === 0) {
63
+ console.log('[hazo_chat_get_unread_count] No matching groups to check');
64
+ return [];
65
+ }
66
+ // Fetch all unread messages from those groups (excluding user's own messages)
48
67
  const chatService = createCrudService(hazoConnect, 'hazo_chat');
49
- // Fetch all unread messages for this receiver
50
- const unread_messages = await chatService.list((qb) => {
51
- return qb
68
+ // We need to query each group and aggregate
69
+ // Since hazo_connect may not support IN clause directly, fetch all messages and filter
70
+ const all_unread_messages = [];
71
+ for (const group_id of groups_to_check) {
72
+ const group_messages = await chatService.list((qb) => qb
52
73
  .select('*')
53
- .where('receiver_user_id', 'eq', receiver_user_id)
74
+ .where('chat_group_id', 'eq', group_id)
54
75
  .where('read_at', 'is', null)
55
- .where('deleted_at', 'is', null);
56
- });
57
- // Group by reference_id and count
76
+ .where('deleted_at', 'is', null));
77
+ // Filter out messages sent by the current user (they don't count as unread for sender)
78
+ const unread_for_user = group_messages.filter((msg) => msg.sender_user_id !== user_id);
79
+ all_unread_messages.push(...unread_for_user);
80
+ }
81
+ // Group by chat_group_id and count
58
82
  const count_map = new Map();
59
- for (const message of unread_messages) {
60
- const ref_id = message.reference_id || '';
61
- const current_count = count_map.get(ref_id) || 0;
62
- count_map.set(ref_id, current_count + 1);
83
+ for (const message of all_unread_messages) {
84
+ const group_id = message.chat_group_id;
85
+ const current_count = count_map.get(group_id) || 0;
86
+ count_map.set(group_id, current_count + 1);
63
87
  }
64
88
  // Convert map to array of results
65
- const results = Array.from(count_map.entries()).map(([reference_id, count]) => ({
66
- reference_id,
89
+ const results = Array.from(count_map.entries()).map(([chat_group_id, count]) => ({
90
+ chat_group_id,
67
91
  count,
68
92
  }));
69
93
  // Sort by count descending (most unread first)
70
94
  results.sort((a, b) => b.count - a.count);
71
95
  console.log('[hazo_chat_get_unread_count] Found unread counts:', {
72
- receiver_user_id,
73
- total_references: results.length,
74
- total_unread: unread_messages.length,
96
+ user_id,
97
+ total_groups: results.length,
98
+ total_unread: all_unread_messages.length,
75
99
  });
76
100
  return results;
77
101
  }
@@ -1 +1 @@
1
- {"version":3,"file":"unread_count.js","sourceRoot":"","sources":["../../src/api/unread_count.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAkCxD;;;;;GAKG;AACH,MAAM,UAAU,yBAAyB,CAAC,OAAmC;IAC3E,MAAM,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC;IAEnC;;;;;OAKG;IACH,OAAO,KAAK,UAAU,0BAA0B,CAC9C,gBAAwB;QAExB,IAAI,CAAC;YACH,IAAI,CAAC,gBAAgB,IAAI,gBAAgB,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;gBACxD,OAAO,CAAC,KAAK,CAAC,uDAAuD,CAAC,CAAC;gBACvE,OAAO,EAAE,CAAC;YACZ,CAAC;YAED,OAAO,CAAC,GAAG,CAAC,0DAA0D,EAAE;gBACtE,gBAAgB;aACjB,CAAC,CAAC;YAEH,oDAAoD;YACpD,MAAM,WAAW,GAAG,cAAc,EAAwB,CAAC;YAC3D,MAAM,WAAW,GAAG,iBAAiB,CAAoB,WAAW,EAAE,WAAW,CAAC,CAAC;YAEnF,8CAA8C;YAC9C,MAAM,eAAe,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE;gBACpD,OAAO,EAAE;qBACN,MAAM,CAAC,GAAG,CAAC;qBACX,KAAK,CAAC,kBAAkB,EAAE,IAAI,EAAE,gBAAgB,CAAC;qBACjD,KAAK,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC;qBAC5B,KAAK,CAAC,YAAY,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;YACrC,CAAC,CAAC,CAAC;YAEH,kCAAkC;YAClC,MAAM,SAAS,GAAG,IAAI,GAAG,EAAkB,CAAC;YAE5C,KAAK,MAAM,OAAO,IAAI,eAAe,EAAE,CAAC;gBACtC,MAAM,MAAM,GAAG,OAAO,CAAC,YAAY,IAAI,EAAE,CAAC;gBAC1C,MAAM,aAAa,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBACjD,SAAS,CAAC,GAAG,CAAC,MAAM,EAAE,aAAa,GAAG,CAAC,CAAC,CAAC;YAC3C,CAAC;YAED,kCAAkC;YAClC,MAAM,OAAO,GAAwB,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CACtE,CAAC,CAAC,YAAY,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC1B,YAAY;gBACZ,KAAK;aACN,CAAC,CACH,CAAC;YAEF,+CAA+C;YAC/C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;YAE1C,OAAO,CAAC,GAAG,CAAC,mDAAmD,EAAE;gBAC/D,gBAAgB;gBAChB,gBAAgB,EAAE,OAAO,CAAC,MAAM;gBAChC,YAAY,EAAE,eAAe,CAAC,MAAM;aACrC,CAAC,CAAC;YAEH,OAAO,OAAO,CAAC;QACjB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,aAAa,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;YAC/E,OAAO,CAAC,KAAK,CAAC,qCAAqC,EAAE,aAAa,EAAE,KAAK,CAAC,CAAC;YAE3E,mDAAmD;YACnD,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"unread_count.js","sourceRoot":"","sources":["../../src/api/unread_count.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AA4CxD;;;;;GAKG;AACH,MAAM,UAAU,yBAAyB,CAAC,OAAmC;IAC3E,MAAM,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC;IAEnC;;;;;OAKG;IACH,OAAO,KAAK,UAAU,0BAA0B,CAC9C,MAAyB;QAEzB,IAAI,CAAC;YACH,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,GAAG,MAAM,CAAC;YAE3C,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;gBACtC,OAAO,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC;gBAC9D,OAAO,EAAE,CAAC;YACZ,CAAC;YAED,OAAO,CAAC,GAAG,CAAC,0DAA0D,EAAE;gBACtE,OAAO;gBACP,cAAc;aACf,CAAC,CAAC;YAEH,4BAA4B;YAC5B,MAAM,WAAW,GAAG,cAAc,EAAwB,CAAC;YAE3D,gDAAgD;YAChD,MAAM,iBAAiB,GAAG,iBAAiB,CACzC,WAAW,EACX,uBAAuB,CACxB,CAAC;YAEF,MAAM,WAAW,GAAG,MAAM,iBAAiB,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CACtD,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,SAAS,EAAE,IAAI,EAAE,OAAO,CAAC,CAC/C,CAAC;YAEF,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC7B,OAAO,CAAC,GAAG,CAAC,iEAAiE,CAAC,CAAC;gBAC/E,OAAO,EAAE,CAAC;YACZ,CAAC;YAED,sDAAsD;YACtD,MAAM,cAAc,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;YAC/D,MAAM,eAAe,GAAG,cAAc;gBACpC,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;gBAC5D,CAAC,CAAC,cAAc,CAAC;YAEnB,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACjC,OAAO,CAAC,GAAG,CAAC,0DAA0D,CAAC,CAAC;gBACxE,OAAO,EAAE,CAAC;YACZ,CAAC;YAED,8EAA8E;YAC9E,MAAM,WAAW,GAAG,iBAAiB,CAAoB,WAAW,EAAE,WAAW,CAAC,CAAC;YAEnF,4CAA4C;YAC5C,uFAAuF;YACvF,MAAM,mBAAmB,GAAwB,EAAE,CAAC;YAEpD,KAAK,MAAM,QAAQ,IAAI,eAAe,EAAE,CAAC;gBACvC,MAAM,cAAc,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CACnD,EAAE;qBACC,MAAM,CAAC,GAAG,CAAC;qBACX,KAAK,CAAC,eAAe,EAAE,IAAI,EAAE,QAAQ,CAAC;qBACtC,KAAK,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC;qBAC5B,KAAK,CAAC,YAAY,EAAE,IAAI,EAAE,IAAI,CAAC,CACnC,CAAC;gBAEF,uFAAuF;gBACvF,MAAM,eAAe,GAAG,cAAc,CAAC,MAAM,CAC3C,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,cAAc,KAAK,OAAO,CACxC,CAAC;gBAEF,mBAAmB,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,CAAC;YAC/C,CAAC;YAED,mCAAmC;YACnC,MAAM,SAAS,GAAG,IAAI,GAAG,EAAkB,CAAC;YAE5C,KAAK,MAAM,OAAO,IAAI,mBAAmB,EAAE,CAAC;gBAC1C,MAAM,QAAQ,GAAG,OAAO,CAAC,aAAa,CAAC;gBACvC,MAAM,aAAa,GAAG,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBACnD,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,aAAa,GAAG,CAAC,CAAC,CAAC;YAC7C,CAAC;YAED,kCAAkC;YAClC,MAAM,OAAO,GAAwB,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CACtE,CAAC,CAAC,aAAa,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC3B,aAAa;gBACb,KAAK;aACN,CAAC,CACH,CAAC;YAEF,+CAA+C;YAC/C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;YAE1C,OAAO,CAAC,GAAG,CAAC,mDAAmD,EAAE;gBAC/D,OAAO;gBACP,YAAY,EAAE,OAAO,CAAC,MAAM;gBAC5B,YAAY,EAAE,mBAAmB,CAAC,MAAM;aACzC,CAAC,CAAC;YAEH,OAAO,OAAO,CAAC;QACjB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,aAAa,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;YAC/E,OAAO,CAAC,KAAK,CAAC,qCAAqC,EAAE,aAAa,EAAE,KAAK,CAAC,CAAC;YAE3E,mDAAmD;YACnD,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC,CAAC;AACJ,CAAC"}
@@ -28,14 +28,14 @@ import { Button } from '../ui/button.js';
28
28
  import { useChatMessages } from '../../hooks/use_chat_messages.js';
29
29
  import { useChatReferences } from '../../hooks/use_chat_references.js';
30
30
  import { useFileUpload } from '../../hooks/use_file_upload.js';
31
- function HazoChatInner({ receiver_user_id, reference_id = '', reference_type = 'chat', api_base_url = '/api/hazo_chat', additional_references = [], timezone = DEFAULT_TIMEZONE, title, subtitle, on_close, className, realtime_mode = DEFAULT_REALTIME_MODE, polling_interval = DEFAULT_POLLING_INTERVAL, messages_per_page = DEFAULT_MESSAGES_PER_PAGE, show_sidebar_toggle = false, show_delete_button = true, bubble_radius = 'default' }) {
31
+ function HazoChatInner({ chat_group_id, reference_id = '', reference_type = 'chat', api_base_url = '/api/hazo_chat', additional_references = [], timezone = DEFAULT_TIMEZONE, title, subtitle, on_close, className, realtime_mode = DEFAULT_REALTIME_MODE, polling_interval = DEFAULT_POLLING_INTERVAL, messages_per_page = DEFAULT_MESSAGES_PER_PAGE, show_sidebar_toggle = false, show_delete_button = true, bubble_radius = 'default' }) {
32
32
  // Get context
33
33
  const { current_user, selected_reference, highlighted_message_id, pending_attachments, is_sidebar_open, set_selected_reference, set_highlighted_message_id, add_pending_attachment, remove_pending_attachment, clear_pending_attachments, toggle_sidebar, set_sidebar_open, add_reference } = useHazoChatContext();
34
34
  // -------------------------------------------------------------------------
35
35
  // Messages hook (uses API calls)
36
36
  // -------------------------------------------------------------------------
37
37
  const { messages, is_loading: is_loading_messages, has_more, load_more, send_message, delete_message, mark_as_read, polling_status, refresh: refresh_messages } = useChatMessages({
38
- receiver_user_id,
38
+ chat_group_id,
39
39
  reference_id,
40
40
  reference_type,
41
41
  api_base_url,
@@ -114,7 +114,7 @@ function HazoChatInner({ receiver_user_id, reference_id = '', reference_type = '
114
114
  const payload = {
115
115
  reference_id: reference_id || '',
116
116
  reference_type,
117
- receiver_user_id,
117
+ chat_group_id,
118
118
  message_text: text,
119
119
  reference_list: attachment_refs.length > 0 ? attachment_refs : undefined
120
120
  };
@@ -128,7 +128,7 @@ function HazoChatInner({ receiver_user_id, reference_id = '', reference_type = '
128
128
  current_user,
129
129
  reference_id,
130
130
  reference_type,
131
- receiver_user_id,
131
+ chat_group_id,
132
132
  upload_all,
133
133
  send_message,
134
134
  clear_pending_attachments,
@@ -216,13 +216,13 @@ function HazoChatInner({ receiver_user_id, reference_id = '', reference_type = '
216
216
  * See SETUP_CHECKLIST.md for detailed setup instructions.
217
217
  */
218
218
  export function HazoChat(props) {
219
- const { receiver_user_id, reference_id, reference_type = 'chat', api_base_url = '/api/hazo_chat', additional_references = [], timezone = DEFAULT_TIMEZONE, title, subtitle, on_close, realtime_mode, polling_interval, messages_per_page, show_sidebar_toggle, show_delete_button, bubble_radius, className } = props;
219
+ const { chat_group_id, reference_id, reference_type = 'chat', api_base_url = '/api/hazo_chat', additional_references = [], timezone = DEFAULT_TIMEZONE, title, subtitle, on_close, realtime_mode, polling_interval, messages_per_page, show_sidebar_toggle, show_delete_button, bubble_radius, className } = props;
220
220
  // Convert ReferenceItem[] to ChatReferenceItem[]
221
221
  const initial_refs = useMemo(() => additional_references.map((ref) => ({
222
222
  ...ref,
223
223
  scope: ref.scope || 'field'
224
224
  })), [additional_references]);
225
- return (_jsx(TooltipProvider, { children: _jsx(HazoChatProvider, { api_base_url: api_base_url, initial_references: initial_refs, children: _jsx(HazoChatInner, { receiver_user_id: receiver_user_id, reference_id: reference_id, reference_type: reference_type, api_base_url: api_base_url, additional_references: initial_refs, timezone: timezone, title: title, subtitle: subtitle, on_close: on_close, realtime_mode: realtime_mode, polling_interval: polling_interval, messages_per_page: messages_per_page, show_sidebar_toggle: show_sidebar_toggle, show_delete_button: show_delete_button, bubble_radius: bubble_radius, className: className }) }) }));
225
+ return (_jsx(TooltipProvider, { children: _jsx(HazoChatProvider, { api_base_url: api_base_url, initial_references: initial_refs, children: _jsx(HazoChatInner, { chat_group_id: chat_group_id, reference_id: reference_id, reference_type: reference_type, api_base_url: api_base_url, additional_references: initial_refs, timezone: timezone, title: title, subtitle: subtitle, on_close: on_close, realtime_mode: realtime_mode, polling_interval: polling_interval, messages_per_page: messages_per_page, show_sidebar_toggle: show_sidebar_toggle, show_delete_button: show_delete_button, bubble_radius: bubble_radius, className: className }) }) }));
226
226
  }
227
227
  HazoChat.displayName = 'HazoChat';
228
228
  //# sourceMappingURL=hazo_chat.js.map