@wildix/xbees-conversations-utils 1.1.45 → 1.1.46

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,7 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.normalizeStreamMember = exports.normalizeStreamChannel = exports.localizeStreamMessage = exports.normalizeStreamMessage = exports.normalizeStreamReaction = exports.localizeStreamUser = exports.normalizeStreamUser = void 0;
3
+ exports.normalizeStreamChannelsUsers = exports.normalizeStreamChannelsUsersToMap = exports.normalizeStreamChannelUsersToMap = exports.normalizeStreamChannelUsers = exports.normalizeStreamChannelOwnReadIndicators = exports.normalizeStreamChannelReadIndicators = exports.normalizeStreamChannelReadIndicator = exports.localizeStreamChannel = exports.localizeStreamChannelsMembersToMapByChannelId = exports.localizeStreamChannelMembers = exports.localizeStreamMember = exports.normalizeStreamMember = exports.normalizeStreamChannel = exports.localizeStreamMessage = exports.normalizeStreamMessage = exports.normalizeStreamReaction = exports.localizeStreamUser = exports.normalizeStreamUser = void 0;
4
4
  const types_1 = require("./types");
5
+ const xbees_conversations_client_1 = require("@wildix/xbees-conversations-client");
5
6
  function normalizeStreamUser(streamUser) {
6
7
  return {
7
8
  id: streamUser.id,
@@ -73,6 +74,7 @@ function normalizeStreamMessage(streamMessage, channelId) {
73
74
  }
74
75
  exports.normalizeStreamMessage = normalizeStreamMessage;
75
76
  function localizeStreamMessage(streamMessage, channelId, userId) {
77
+ const { pinned, ref } = streamMessage;
76
78
  const normalizedMessage = normalizeStreamMessage(streamMessage, channelId);
77
79
  const createdAt = new Date(normalizedMessage.createdAt);
78
80
  const updatedAt = normalizedMessage.updatedAt ? new Date(normalizedMessage.updatedAt) : undefined;
@@ -84,7 +86,7 @@ function localizeStreamMessage(streamMessage, channelId, userId) {
84
86
  ownReactions.push(reaction);
85
87
  }
86
88
  });
87
- const direction = userId === streamMessage.user_id ? types_1.MessageDirection.OUTGOING : types_1.MessageDirection.INCOMING;
89
+ const direction = userId === normalizedMessage.user.id ? types_1.MessageDirection.OUTGOING : types_1.MessageDirection.INCOMING;
88
90
  return {
89
91
  ...normalizedMessage,
90
92
  user: localizeStreamUser(streamMessage.user),
@@ -92,6 +94,8 @@ function localizeStreamMessage(streamMessage, channelId, userId) {
92
94
  direction,
93
95
  createdAt,
94
96
  updatedAt,
97
+ pinned,
98
+ ref: ref || null,
95
99
  };
96
100
  }
97
101
  exports.localizeStreamMessage = localizeStreamMessage;
@@ -118,36 +122,36 @@ function normalizeStreamChannel(channel) {
118
122
  assignee = data.assignee;
119
123
  }
120
124
  return {
125
+ access: data.access,
126
+ assignee,
127
+ broadcast: data.broadcast || data.is_broadcast,
121
128
  channelId: data.id,
122
129
  channelType: data.type,
123
- memberCount: data.member_count || 0,
124
- subject: data.subject,
125
- description: data.description,
126
- picture: data.picture,
127
- pictureColor: data.picture_color,
128
- access: data.access,
129
130
  company: data.company,
130
131
  context,
132
+ createdAt: data.created_at,
133
+ createdBy: data.created_by_id || data.created_by.id,
134
+ description: data.description,
135
+ external: data.external,
131
136
  kite: data.kite,
132
137
  kiteTarget: data.kite_target,
133
138
  kiteVariant: data.kite_variant,
134
139
  kiteAssign: data.kite_assign,
135
140
  kiteServiceName: data.kite_service_name,
136
141
  kiteDefaultSubject: data.kite_default_subject,
142
+ memberCount: data.member_count || 0,
143
+ mms: data.mms,
144
+ picture: data.picture,
145
+ pictureColor: data.picture_color,
137
146
  service: data.service,
138
147
  serviceTitle: data.service_title,
139
148
  serviceRecipient: data.service_recipient,
140
- assignee,
141
- telephony: data.telephony,
142
149
  sms: data.sms,
143
- mms: data.mms,
150
+ subject: data.subject,
151
+ telephony: data.telephony,
152
+ updatedAt: data.updated_at,
144
153
  whatsapp: data.whatsapp,
145
154
  whatsappStatus: data.whatsapp_status,
146
- broadcast: data.broadcast || data.is_broadcast,
147
- external: data.external,
148
- createdAt: data.created_at,
149
- createdBy: data.created_by_id,
150
- updatedAt: data.updated_at,
151
155
  };
152
156
  }
153
157
  exports.normalizeStreamChannel = normalizeStreamChannel;
@@ -160,3 +164,119 @@ function normalizeStreamMember(member) {
160
164
  };
161
165
  }
162
166
  exports.normalizeStreamMember = normalizeStreamMember;
167
+ function localizeStreamMember(member) {
168
+ const { role, user, user_id, created_at } = member;
169
+ return {
170
+ id: user?.id || user_id,
171
+ createdAt: created_at ? new Date(created_at) : new Date(),
172
+ role: (role || 'member'),
173
+ };
174
+ }
175
+ exports.localizeStreamMember = localizeStreamMember;
176
+ function localizeStreamChannelMembers(streamChannel) {
177
+ const { state } = streamChannel;
178
+ const wid = streamChannel.getClient().userID;
179
+ return Object.values(state.members).map(localizeStreamMember).filter((member) => member.id !== wid);
180
+ }
181
+ exports.localizeStreamChannelMembers = localizeStreamChannelMembers;
182
+ function localizeStreamChannelsMembersToMapByChannelId(streamChannels) {
183
+ return streamChannels.reduce((accumulator, channel) => {
184
+ const members = localizeStreamChannelMembers(channel);
185
+ const channelId = channel.data?.id;
186
+ accumulator[channelId] = members;
187
+ return accumulator;
188
+ }, {});
189
+ }
190
+ exports.localizeStreamChannelsMembersToMapByChannelId = localizeStreamChannelsMembersToMapByChannelId;
191
+ function localizeStreamChannel(streamChannel) {
192
+ const normalizedChannel = normalizeStreamChannel(streamChannel);
193
+ const { data, state } = streamChannel;
194
+ const wid = streamChannel.getClient().userID || '';
195
+ const createdAt = new Date(normalizedChannel.createdAt);
196
+ const updatedAt = new Date(normalizedChannel.updatedAt || normalizedChannel?.createdBy);
197
+ const members = Object.values(state.members).filter(({ user_id }) => user_id !== wid);
198
+ const userId = data?.type === xbees_conversations_client_1.ChannelType.DIRECT && members.length > 0 ? members[0].user_id : null;
199
+ const unread = state.read[wid]?.unread_messages || 0;
200
+ const unreadMark = data?.unreadMarkUsers?.includes(wid) || false;
201
+ const lastMessage = streamChannel.lastMessage();
202
+ const normalizedLastMessage = lastMessage ? localizeStreamMessage(lastMessage, normalizedChannel.channelId, wid) : null;
203
+ const lastMessageAt = normalizedLastMessage ? normalizedLastMessage.createdAt : updatedAt || createdAt;
204
+ const lastRead = state.read[wid]?.last_read || null;
205
+ const role = state.membership.role || xbees_conversations_client_1.ChannelMemberRole.MEMBER;
206
+ const isArchived = Boolean(data?.hidden);
207
+ return {
208
+ ...normalizedChannel,
209
+ userId,
210
+ role,
211
+ createdAt,
212
+ updatedAt,
213
+ isArchived,
214
+ unread,
215
+ unreadMark,
216
+ isExternal: Boolean(normalizedChannel.external),
217
+ isBroadcast: Boolean(normalizedChannel.broadcast),
218
+ lastRead,
219
+ lastMessage: normalizedLastMessage,
220
+ lastMessageAt,
221
+ };
222
+ }
223
+ exports.localizeStreamChannel = localizeStreamChannel;
224
+ function normalizeStreamChannelReadIndicator(channelReadStatus, channelId) {
225
+ const { user, last_read } = channelReadStatus;
226
+ return {
227
+ userId: user.id,
228
+ lastRead: last_read,
229
+ user: localizeStreamUser(user),
230
+ channelId,
231
+ };
232
+ }
233
+ exports.normalizeStreamChannelReadIndicator = normalizeStreamChannelReadIndicator;
234
+ function normalizeStreamChannelReadIndicators(streamChannel) {
235
+ const wid = streamChannel.getClient().userID;
236
+ const { state: { read }, data } = streamChannel;
237
+ return Object.values(read)
238
+ .filter(({ user }) => wid !== user.id)
239
+ .map((readIndicator) => {
240
+ return normalizeStreamChannelReadIndicator(readIndicator, data?.id);
241
+ });
242
+ }
243
+ exports.normalizeStreamChannelReadIndicators = normalizeStreamChannelReadIndicators;
244
+ function normalizeStreamChannelOwnReadIndicators(streamChannel) {
245
+ const wid = streamChannel.getClient().userID;
246
+ const { state: { read }, data } = streamChannel;
247
+ return Object.values(read)
248
+ .filter(({ user }) => wid === user.id)
249
+ .map((readIndicator) => {
250
+ return normalizeStreamChannelReadIndicator(readIndicator, data?.id);
251
+ });
252
+ }
253
+ exports.normalizeStreamChannelOwnReadIndicators = normalizeStreamChannelOwnReadIndicators;
254
+ function normalizeStreamChannelUsers(streamChannel) {
255
+ const { state } = streamChannel;
256
+ const wid = streamChannel.getClient().userID;
257
+ return Object.values(state.members)
258
+ .filter((member) => member.user && member.user.id !== wid)
259
+ .map((member) => localizeStreamUser(member.user));
260
+ }
261
+ exports.normalizeStreamChannelUsers = normalizeStreamChannelUsers;
262
+ function normalizeStreamChannelUsersToMap(streamChannel) {
263
+ const normalizedUsers = normalizeStreamChannelUsers(streamChannel);
264
+ return normalizedUsers.reduce((accumulator, user) => {
265
+ accumulator[user.id] = user;
266
+ return accumulator;
267
+ }, {});
268
+ }
269
+ exports.normalizeStreamChannelUsersToMap = normalizeStreamChannelUsersToMap;
270
+ function normalizeStreamChannelsUsersToMap(streamChannels) {
271
+ return streamChannels.reduce((accumulator, channel) => {
272
+ return {
273
+ ...normalizeStreamChannelUsersToMap(channel),
274
+ ...accumulator,
275
+ };
276
+ }, {});
277
+ }
278
+ exports.normalizeStreamChannelsUsersToMap = normalizeStreamChannelsUsersToMap;
279
+ function normalizeStreamChannelsUsers(streamChannels) {
280
+ return Object.values(normalizeStreamChannelsUsersToMap(streamChannels));
281
+ }
282
+ exports.normalizeStreamChannelsUsers = normalizeStreamChannelsUsers;
@@ -1,4 +1,5 @@
1
- import { MessageDirection } from "./types";
1
+ import { MessageDirection, } from "./types";
2
+ import { ChannelType, ChannelMemberRole, } from "@wildix/xbees-conversations-client";
2
3
  export function normalizeStreamUser(streamUser) {
3
4
  return {
4
5
  id: streamUser.id,
@@ -66,6 +67,7 @@ export function normalizeStreamMessage(streamMessage, channelId) {
66
67
  };
67
68
  }
68
69
  export function localizeStreamMessage(streamMessage, channelId, userId) {
70
+ const { pinned, ref } = streamMessage;
69
71
  const normalizedMessage = normalizeStreamMessage(streamMessage, channelId);
70
72
  const createdAt = new Date(normalizedMessage.createdAt);
71
73
  const updatedAt = normalizedMessage.updatedAt ? new Date(normalizedMessage.updatedAt) : undefined;
@@ -77,7 +79,7 @@ export function localizeStreamMessage(streamMessage, channelId, userId) {
77
79
  ownReactions.push(reaction);
78
80
  }
79
81
  });
80
- const direction = userId === streamMessage.user_id ? MessageDirection.OUTGOING : MessageDirection.INCOMING;
82
+ const direction = userId === normalizedMessage.user.id ? MessageDirection.OUTGOING : MessageDirection.INCOMING;
81
83
  return {
82
84
  ...normalizedMessage,
83
85
  user: localizeStreamUser(streamMessage.user),
@@ -85,6 +87,8 @@ export function localizeStreamMessage(streamMessage, channelId, userId) {
85
87
  direction,
86
88
  createdAt,
87
89
  updatedAt,
90
+ pinned,
91
+ ref: ref || null,
88
92
  };
89
93
  }
90
94
  export function normalizeStreamChannel(channel) {
@@ -110,36 +114,36 @@ export function normalizeStreamChannel(channel) {
110
114
  assignee = data.assignee;
111
115
  }
112
116
  return {
117
+ access: data.access,
118
+ assignee,
119
+ broadcast: data.broadcast || data.is_broadcast,
113
120
  channelId: data.id,
114
121
  channelType: data.type,
115
- memberCount: data.member_count || 0,
116
- subject: data.subject,
117
- description: data.description,
118
- picture: data.picture,
119
- pictureColor: data.picture_color,
120
- access: data.access,
121
122
  company: data.company,
122
123
  context,
124
+ createdAt: data.created_at,
125
+ createdBy: data.created_by_id || data.created_by.id,
126
+ description: data.description,
127
+ external: data.external,
123
128
  kite: data.kite,
124
129
  kiteTarget: data.kite_target,
125
130
  kiteVariant: data.kite_variant,
126
131
  kiteAssign: data.kite_assign,
127
132
  kiteServiceName: data.kite_service_name,
128
133
  kiteDefaultSubject: data.kite_default_subject,
134
+ memberCount: data.member_count || 0,
135
+ mms: data.mms,
136
+ picture: data.picture,
137
+ pictureColor: data.picture_color,
129
138
  service: data.service,
130
139
  serviceTitle: data.service_title,
131
140
  serviceRecipient: data.service_recipient,
132
- assignee,
133
- telephony: data.telephony,
134
141
  sms: data.sms,
135
- mms: data.mms,
142
+ subject: data.subject,
143
+ telephony: data.telephony,
144
+ updatedAt: data.updated_at,
136
145
  whatsapp: data.whatsapp,
137
146
  whatsappStatus: data.whatsapp_status,
138
- broadcast: data.broadcast || data.is_broadcast,
139
- external: data.external,
140
- createdAt: data.created_at,
141
- createdBy: data.created_by_id,
142
- updatedAt: data.updated_at,
143
147
  };
144
148
  }
145
149
  export function normalizeStreamMember(member) {
@@ -150,3 +154,108 @@ export function normalizeStreamMember(member) {
150
154
  role: (role || 'member'),
151
155
  };
152
156
  }
157
+ export function localizeStreamMember(member) {
158
+ const { role, user, user_id, created_at } = member;
159
+ return {
160
+ id: user?.id || user_id,
161
+ createdAt: created_at ? new Date(created_at) : new Date(),
162
+ role: (role || 'member'),
163
+ };
164
+ }
165
+ export function localizeStreamChannelMembers(streamChannel) {
166
+ const { state } = streamChannel;
167
+ const wid = streamChannel.getClient().userID;
168
+ return Object.values(state.members).map(localizeStreamMember).filter((member) => member.id !== wid);
169
+ }
170
+ export function localizeStreamChannelsMembersToMapByChannelId(streamChannels) {
171
+ return streamChannels.reduce((accumulator, channel) => {
172
+ const members = localizeStreamChannelMembers(channel);
173
+ const channelId = channel.data?.id;
174
+ accumulator[channelId] = members;
175
+ return accumulator;
176
+ }, {});
177
+ }
178
+ export function localizeStreamChannel(streamChannel) {
179
+ const normalizedChannel = normalizeStreamChannel(streamChannel);
180
+ const { data, state } = streamChannel;
181
+ const wid = streamChannel.getClient().userID || '';
182
+ const createdAt = new Date(normalizedChannel.createdAt);
183
+ const updatedAt = new Date(normalizedChannel.updatedAt || normalizedChannel?.createdBy);
184
+ const members = Object.values(state.members).filter(({ user_id }) => user_id !== wid);
185
+ const userId = data?.type === ChannelType.DIRECT && members.length > 0 ? members[0].user_id : null;
186
+ const unread = state.read[wid]?.unread_messages || 0;
187
+ const unreadMark = data?.unreadMarkUsers?.includes(wid) || false;
188
+ const lastMessage = streamChannel.lastMessage();
189
+ const normalizedLastMessage = lastMessage ? localizeStreamMessage(lastMessage, normalizedChannel.channelId, wid) : null;
190
+ const lastMessageAt = normalizedLastMessage ? normalizedLastMessage.createdAt : updatedAt || createdAt;
191
+ const lastRead = state.read[wid]?.last_read || null;
192
+ const role = state.membership.role || ChannelMemberRole.MEMBER;
193
+ const isArchived = Boolean(data?.hidden);
194
+ return {
195
+ ...normalizedChannel,
196
+ userId,
197
+ role,
198
+ createdAt,
199
+ updatedAt,
200
+ isArchived,
201
+ unread,
202
+ unreadMark,
203
+ isExternal: Boolean(normalizedChannel.external),
204
+ isBroadcast: Boolean(normalizedChannel.broadcast),
205
+ lastRead,
206
+ lastMessage: normalizedLastMessage,
207
+ lastMessageAt,
208
+ };
209
+ }
210
+ export function normalizeStreamChannelReadIndicator(channelReadStatus, channelId) {
211
+ const { user, last_read } = channelReadStatus;
212
+ return {
213
+ userId: user.id,
214
+ lastRead: last_read,
215
+ user: localizeStreamUser(user),
216
+ channelId,
217
+ };
218
+ }
219
+ export function normalizeStreamChannelReadIndicators(streamChannel) {
220
+ const wid = streamChannel.getClient().userID;
221
+ const { state: { read }, data } = streamChannel;
222
+ return Object.values(read)
223
+ .filter(({ user }) => wid !== user.id)
224
+ .map((readIndicator) => {
225
+ return normalizeStreamChannelReadIndicator(readIndicator, data?.id);
226
+ });
227
+ }
228
+ export function normalizeStreamChannelOwnReadIndicators(streamChannel) {
229
+ const wid = streamChannel.getClient().userID;
230
+ const { state: { read }, data } = streamChannel;
231
+ return Object.values(read)
232
+ .filter(({ user }) => wid === user.id)
233
+ .map((readIndicator) => {
234
+ return normalizeStreamChannelReadIndicator(readIndicator, data?.id);
235
+ });
236
+ }
237
+ export function normalizeStreamChannelUsers(streamChannel) {
238
+ const { state } = streamChannel;
239
+ const wid = streamChannel.getClient().userID;
240
+ return Object.values(state.members)
241
+ .filter((member) => member.user && member.user.id !== wid)
242
+ .map((member) => localizeStreamUser(member.user));
243
+ }
244
+ export function normalizeStreamChannelUsersToMap(streamChannel) {
245
+ const normalizedUsers = normalizeStreamChannelUsers(streamChannel);
246
+ return normalizedUsers.reduce((accumulator, user) => {
247
+ accumulator[user.id] = user;
248
+ return accumulator;
249
+ }, {});
250
+ }
251
+ export function normalizeStreamChannelsUsersToMap(streamChannels) {
252
+ return streamChannels.reduce((accumulator, channel) => {
253
+ return {
254
+ ...normalizeStreamChannelUsersToMap(channel),
255
+ ...accumulator,
256
+ };
257
+ }, {});
258
+ }
259
+ export function normalizeStreamChannelsUsers(streamChannels) {
260
+ return Object.values(normalizeStreamChannelsUsersToMap(streamChannels));
261
+ }
@@ -1,5 +1,5 @@
1
- import { StreamChannel, StreamMessageResponse, StreamReactionResponse, StreamUserResponse, StreamChannelResponse, StreamChannelMemberResponse } from "./stream";
2
- import { LocalizedMessage, LocalizedUser } from "./types";
1
+ import { StreamChannel, StreamMessageResponse, StreamReactionResponse, StreamUserResponse, StreamChannelResponse, StreamChannelMemberResponse, StreamReadIndicator } from "./stream";
2
+ import { LocalizedMessage, LocalizedUser, LocalizedChannel, LocalizedChannelMember, LocalizedReadIndicator } from "./types";
3
3
  import { Channel, ChannelMember, Message, Reaction, User } from "@wildix/xbees-conversations-client";
4
4
  export declare function normalizeStreamUser(streamUser: StreamUserResponse): User;
5
5
  export declare function localizeStreamUser(streamUser: StreamUserResponse): LocalizedUser;
@@ -8,3 +8,14 @@ export declare function normalizeStreamMessage(streamMessage: StreamMessageRespo
8
8
  export declare function localizeStreamMessage(streamMessage: StreamMessageResponse, channelId: string, userId: string): LocalizedMessage;
9
9
  export declare function normalizeStreamChannel(channel: StreamChannel | StreamChannelResponse): Channel;
10
10
  export declare function normalizeStreamMember(member: StreamChannelMemberResponse): ChannelMember;
11
+ export declare function localizeStreamMember(member: Partial<StreamChannelMemberResponse>): LocalizedChannelMember;
12
+ export declare function localizeStreamChannelMembers(streamChannel: StreamChannel): LocalizedChannelMember[];
13
+ export declare function localizeStreamChannelsMembersToMapByChannelId(streamChannels: StreamChannel[]): Record<string, LocalizedChannelMember[]>;
14
+ export declare function localizeStreamChannel(streamChannel: StreamChannel): LocalizedChannel;
15
+ export declare function normalizeStreamChannelReadIndicator(channelReadStatus: StreamReadIndicator, channelId: string): LocalizedReadIndicator;
16
+ export declare function normalizeStreamChannelReadIndicators(streamChannel: StreamChannel): LocalizedReadIndicator[];
17
+ export declare function normalizeStreamChannelOwnReadIndicators(streamChannel: StreamChannel): LocalizedReadIndicator[];
18
+ export declare function normalizeStreamChannelUsers(streamChannel: StreamChannel): LocalizedUser[];
19
+ export declare function normalizeStreamChannelUsersToMap(streamChannel: StreamChannel): Record<string, LocalizedUser>;
20
+ export declare function normalizeStreamChannelsUsersToMap(streamChannels: StreamChannel[]): Record<string, LocalizedUser>;
21
+ export declare function normalizeStreamChannelsUsers(streamChannels: StreamChannel[]): LocalizedUser[];
@@ -1,4 +1,4 @@
1
- import { Channel, ChannelData, ChannelFilters, ChannelMembership, ChannelMemberResponse, ChannelSort, ChannelResponse, Event, ExtendableGenerics, LiteralStringForUnion, Message, MessageResponse, ReactionResponse, UR, UserResponse, ChannelAPIResponse, User, Reaction, PartialMessageUpdate, UpdatedMessage, PartialUpdateChannel } from 'stream-chat';
1
+ import { Channel, ChannelData, ChannelState, ChannelFilters, ChannelMembership, ChannelMemberResponse, ChannelSort, ChannelResponse, Event, ExtendableGenerics, LiteralStringForUnion, Message, MessageResponse, ReactionResponse, SearchAPIResponse, SyncResponse, UR, UserResponse, GetRepliesAPIResponse, GetReactionsAPIResponse, OwnUserResponse, ChannelAPIResponse, User, Reaction, PartialMessageUpdate, UpdatedMessage, PartialUpdateChannel } from 'stream-chat';
2
2
  import { MessageQuote, MessageForward, MessageAttachment, MessageGiphy, User as NormalizedUser, ChannelAccess, MessageSmsStatus, MessageWhatsAppStatus, ChannelWhatsAppStatus, Element } from "@wildix/xbees-conversations-client";
3
3
  export interface StreamChannelFields extends UR {
4
4
  subject?: string;
@@ -103,3 +103,10 @@ export type StreamChannelSort = ChannelSort<StreamType>;
103
103
  export type StreamChannelData = ChannelData<StreamType>;
104
104
  export type StreamPartialUpdateChannel = PartialUpdateChannel<StreamType>;
105
105
  export type StreamChannelAPIResponse = ChannelAPIResponse<StreamType>;
106
+ export type StreamSearchAPIResponse = SearchAPIResponse<StreamType>;
107
+ export type StreamSyncResponse = SyncResponse<StreamType>;
108
+ export type StreamGetRepliesAPIResponse = GetRepliesAPIResponse<StreamType>;
109
+ export type StreamOwnUserResponse = OwnUserResponse<StreamType>;
110
+ export type StreamChannelState = ChannelState<StreamType>;
111
+ export type StreamGetReactionsAPIResponse = GetReactionsAPIResponse<StreamType>;
112
+ export type StreamReadIndicator = (StreamChannelState['read'])[keyof StreamChannelState['read']];
@@ -1,4 +1,4 @@
1
- import { Channel, ChannelMemberRole, Message, Reaction, User } from "@wildix/xbees-conversations-client";
1
+ import { Channel, ChannelMemberRole, ChannelMember, Message, Reaction, User } from "@wildix/xbees-conversations-client";
2
2
  export declare enum MessageDirection {
3
3
  INCOMING = "incoming",
4
4
  OUTGOING = "outgoing"
@@ -16,10 +16,29 @@ export interface LocalizedMessage extends Omit<Message, 'user' | 'createdAt' | '
16
16
  direction: MessageDirection;
17
17
  createdAt: Date;
18
18
  updatedAt?: Date;
19
+ pinned: boolean | undefined;
20
+ ref?: string | null;
19
21
  }
20
- export interface LocalizedChannel extends Omit<Channel, 'createdAt' | 'updatedAt'> {
21
- userId?: string;
22
- role: ChannelMemberRole;
22
+ export interface LocalizedChannel extends Omit<Channel, 'createdAt' | 'updatedAt' | 'is_broadcast' | 'external' | 'hidden'> {
23
23
  createdAt: Date;
24
+ isArchived: boolean;
25
+ isBroadcast?: boolean;
26
+ isExternal: boolean;
27
+ lastMessage: LocalizedMessage | null;
28
+ lastMessageAt: Date;
29
+ lastRead: Date;
30
+ role: ChannelMemberRole;
31
+ unread: number;
32
+ unreadMark: boolean;
24
33
  updatedAt?: Date;
34
+ userId: string | null;
35
+ }
36
+ export interface LocalizedReadIndicator {
37
+ userId: string;
38
+ lastRead: Date;
39
+ user: LocalizedUser;
40
+ channelId: string;
41
+ }
42
+ export interface LocalizedChannelMember extends Omit<ChannelMember, 'createdAt'> {
43
+ createdAt: Date;
25
44
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wildix/xbees-conversations-utils",
3
- "version": "1.1.45",
3
+ "version": "1.1.46",
4
4
  "description": "",
5
5
  "main": "./dist-cjs/index.js",
6
6
  "module": "./dist-es/index.js",