@vserifsaglam/chat-react-client 1.0.2 → 1.0.3
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.
- package/dist/api/chatApi.d.ts +19 -1
- package/dist/hooks/useMessageManagements.d.ts +2 -1
- package/dist/hooks/useMessages.d.ts +2 -1
- package/dist/index.js +88 -40
- package/dist/index.js.map +1 -1
- package/dist/index.modern.js +88 -40
- package/dist/index.modern.js.map +1 -1
- package/dist/types.d.ts +12 -0
- package/package.json +1 -1
package/dist/api/chatApi.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AuthConfig, Conversation, ConversationSearchResult, MessagesResponse, SendMessageRequest, SendMessageResponse, MarkConversationReadResponse, UpdateMessageRequest, UpdateMessageResponse, DeleteMessageResponse, FileUploadResponse, ApiResponse, BanClientRequest, UnbanClientRequest, AdminBanClientRequest, AdminUnbanClientRequest, BanStatusResponse, ClientProfileResponse, ClientPreferencesResponse, UpdatePreferencesRequest, UpdatePreferencesResponse } from '../types';
|
|
1
|
+
import { AuthConfig, Conversation, ConversationSearchResult, MessagesResponse, SendMessageRequest, SendMessageResponse, MarkConversationReadResponse, UpdateMessageRequest, UpdateMessageResponse, DeleteMessageResponse, FileUploadResponse, ApiResponse, BanClientRequest, UnbanClientRequest, AdminBanClientRequest, AdminUnbanClientRequest, BanStatusResponse, ClientProfileResponse, ClientPreferencesResponse, UpdatePreferencesRequest, UpdatePreferencesResponse, RemainingLimitResponse } from '../types';
|
|
2
2
|
/**
|
|
3
3
|
* Chat API client for making requests to the chat backend
|
|
4
4
|
*/
|
|
@@ -97,6 +97,15 @@ export declare class ChatApi {
|
|
|
97
97
|
* @returns A promise that resolves to a delete message response
|
|
98
98
|
*/
|
|
99
99
|
deleteMessage(messageId: number): Promise<DeleteMessageResponse>;
|
|
100
|
+
/**
|
|
101
|
+
* Get remaining message limit
|
|
102
|
+
* @param params Query with receiver_client_id or conversation_uid
|
|
103
|
+
* @returns A promise that resolves to a remaining limit response
|
|
104
|
+
*/
|
|
105
|
+
getRemainingLimit(params: {
|
|
106
|
+
receiver_client_id?: string;
|
|
107
|
+
conversation_uid?: string;
|
|
108
|
+
}): Promise<RemainingLimitResponse>;
|
|
100
109
|
/**
|
|
101
110
|
* Upload a file
|
|
102
111
|
* @param file The file to upload
|
|
@@ -138,6 +147,15 @@ export declare class ChatApi {
|
|
|
138
147
|
* @returns A promise that resolves to a client profile response
|
|
139
148
|
*/
|
|
140
149
|
getClientProfile(): Promise<ClientProfileResponse>;
|
|
150
|
+
/**
|
|
151
|
+
* Get the preferences of the authenticated client
|
|
152
|
+
* @returns A promise that resolves to a client preferences response
|
|
153
|
+
*/
|
|
141
154
|
getClientPreferences(): Promise<ClientPreferencesResponse>;
|
|
155
|
+
/**
|
|
156
|
+
* Update client preferences
|
|
157
|
+
* @param request The update preferences request
|
|
158
|
+
* @returns A promise that resolves to an update preferences response
|
|
159
|
+
*/
|
|
142
160
|
updateClientPreferences(request: UpdatePreferencesRequest): Promise<UpdatePreferencesResponse>;
|
|
143
161
|
}
|
|
@@ -6,7 +6,7 @@ export declare function useMessageManagement(selectedConversationId: string): {
|
|
|
6
6
|
fileLoading: boolean;
|
|
7
7
|
uploadProgress: number;
|
|
8
8
|
uploadFile: (file: File) => Promise<import("..").FileUploadResponse | null>;
|
|
9
|
-
handleSendMessage: (content: string, receiver: SenderReceiverUser) => Promise<
|
|
9
|
+
handleSendMessage: (content: string, receiver: SenderReceiverUser) => Promise<any>;
|
|
10
10
|
handleSendFileMessage: (content: string, fileId: number, receiver: SenderReceiverUser, filename?: string | undefined, url?: string | undefined) => Promise<boolean | undefined>;
|
|
11
11
|
deleteMessage: (messageId: number) => Promise<import("..").DeleteMessageResponse | null>;
|
|
12
12
|
updateMessage: (messageId: number, update: import("..").UpdateMessageRequest) => Promise<import("..").UpdateMessageResponse | null>;
|
|
@@ -16,4 +16,5 @@ export declare function useMessageManagement(selectedConversationId: string): {
|
|
|
16
16
|
setMessages: import("react").Dispatch<import("react").SetStateAction<import("..").MessagesResponse | null>>;
|
|
17
17
|
preferences: import("..").ClientPreferences | null;
|
|
18
18
|
updatePreferences: (enableRead: boolean) => Promise<boolean>;
|
|
19
|
+
getRemainingLimit: (receiverClientId?: string | undefined, conversationId?: any) => Promise<import("..").RemainingLimitResponse | null>;
|
|
19
20
|
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
import { MessagesResponse, SendMessageRequest, SendMessageResponse, MarkConversationReadResponse, UpdateMessageRequest, UpdateMessageResponse, DeleteMessageResponse, ApiResponse, Message, ClientPreferences } from '../types';
|
|
2
|
+
import { MessagesResponse, SendMessageRequest, SendMessageResponse, MarkConversationReadResponse, UpdateMessageRequest, UpdateMessageResponse, DeleteMessageResponse, ApiResponse, Message, ClientPreferences, RemainingLimitResponse } from '../types';
|
|
3
3
|
/**
|
|
4
4
|
* Hook for managing messages
|
|
5
5
|
*/
|
|
@@ -20,4 +20,5 @@ export declare const useMessages: (conversationUid?: string | undefined) => {
|
|
|
20
20
|
setMessages: import("react").Dispatch<import("react").SetStateAction<MessagesResponse | null>>;
|
|
21
21
|
updatePreferences: (enableRead: boolean) => Promise<boolean>;
|
|
22
22
|
preferences: ClientPreferences | null;
|
|
23
|
+
getRemainingLimit: (receiverClientId?: string | undefined, conversationId?: any) => Promise<RemainingLimitResponse | null>;
|
|
23
24
|
};
|
package/dist/index.js
CHANGED
|
@@ -363,9 +363,21 @@ var ChatApi = /*#__PURE__*/function () {
|
|
|
363
363
|
return Promise.reject(e);
|
|
364
364
|
}
|
|
365
365
|
};
|
|
366
|
-
_proto.
|
|
366
|
+
_proto.getRemainingLimit = function getRemainingLimit(params) {
|
|
367
367
|
try {
|
|
368
368
|
var _this13 = this;
|
|
369
|
+
return Promise.resolve(_this13.client.get('/api/messages/remaining-limit', {
|
|
370
|
+
params: params
|
|
371
|
+
})).then(function (response) {
|
|
372
|
+
return response.data;
|
|
373
|
+
});
|
|
374
|
+
} catch (e) {
|
|
375
|
+
return Promise.reject(e);
|
|
376
|
+
}
|
|
377
|
+
};
|
|
378
|
+
_proto.uploadFile = function uploadFile(file) {
|
|
379
|
+
try {
|
|
380
|
+
var _this14 = this;
|
|
369
381
|
var formData = new FormData();
|
|
370
382
|
formData.append('file', file);
|
|
371
383
|
var config = {
|
|
@@ -373,7 +385,7 @@ var ChatApi = /*#__PURE__*/function () {
|
|
|
373
385
|
'Content-Type': 'multipart/form-data'
|
|
374
386
|
}
|
|
375
387
|
};
|
|
376
|
-
return Promise.resolve(
|
|
388
|
+
return Promise.resolve(_this14.client.post('/api/files/upload', formData, config)).then(function (response) {
|
|
377
389
|
return response.data;
|
|
378
390
|
});
|
|
379
391
|
} catch (e) {
|
|
@@ -382,8 +394,8 @@ var ChatApi = /*#__PURE__*/function () {
|
|
|
382
394
|
};
|
|
383
395
|
_proto.banClient = function banClient(request) {
|
|
384
396
|
try {
|
|
385
|
-
var
|
|
386
|
-
return Promise.resolve(
|
|
397
|
+
var _this15 = this;
|
|
398
|
+
return Promise.resolve(_this15.client.post('/api/bans/client', request)).then(function (response) {
|
|
387
399
|
return response.data;
|
|
388
400
|
});
|
|
389
401
|
} catch (e) {
|
|
@@ -392,8 +404,8 @@ var ChatApi = /*#__PURE__*/function () {
|
|
|
392
404
|
};
|
|
393
405
|
_proto.unbanClient = function unbanClient(request) {
|
|
394
406
|
try {
|
|
395
|
-
var
|
|
396
|
-
return Promise.resolve(
|
|
407
|
+
var _this16 = this;
|
|
408
|
+
return Promise.resolve(_this16.client["delete"]('/api/bans/client', {
|
|
397
409
|
data: request
|
|
398
410
|
})).then(function (response) {
|
|
399
411
|
return response.data;
|
|
@@ -404,8 +416,8 @@ var ChatApi = /*#__PURE__*/function () {
|
|
|
404
416
|
};
|
|
405
417
|
_proto.adminBanClient = function adminBanClient(request) {
|
|
406
418
|
try {
|
|
407
|
-
var
|
|
408
|
-
return Promise.resolve(
|
|
419
|
+
var _this17 = this;
|
|
420
|
+
return Promise.resolve(_this17.client.post('/api/bans/admin', request)).then(function (response) {
|
|
409
421
|
return response.data;
|
|
410
422
|
});
|
|
411
423
|
} catch (e) {
|
|
@@ -414,8 +426,8 @@ var ChatApi = /*#__PURE__*/function () {
|
|
|
414
426
|
};
|
|
415
427
|
_proto.adminUnbanClient = function adminUnbanClient(request) {
|
|
416
428
|
try {
|
|
417
|
-
var
|
|
418
|
-
return Promise.resolve(
|
|
429
|
+
var _this18 = this;
|
|
430
|
+
return Promise.resolve(_this18.client["delete"]('/api/bans/admin', {
|
|
419
431
|
data: request
|
|
420
432
|
})).then(function (response) {
|
|
421
433
|
return response.data;
|
|
@@ -426,8 +438,8 @@ var ChatApi = /*#__PURE__*/function () {
|
|
|
426
438
|
};
|
|
427
439
|
_proto.checkBanStatus = function checkBanStatus(clientId) {
|
|
428
440
|
try {
|
|
429
|
-
var
|
|
430
|
-
return Promise.resolve(
|
|
441
|
+
var _this19 = this;
|
|
442
|
+
return Promise.resolve(_this19.client.get("/api/bans/status/" + clientId)).then(function (response) {
|
|
431
443
|
return response.data;
|
|
432
444
|
});
|
|
433
445
|
} catch (e) {
|
|
@@ -436,8 +448,8 @@ var ChatApi = /*#__PURE__*/function () {
|
|
|
436
448
|
};
|
|
437
449
|
_proto.getClientProfile = function getClientProfile() {
|
|
438
450
|
try {
|
|
439
|
-
var
|
|
440
|
-
return Promise.resolve(
|
|
451
|
+
var _this20 = this;
|
|
452
|
+
return Promise.resolve(_this20.client.get('/api/clients/profile')).then(function (response) {
|
|
441
453
|
return response.data;
|
|
442
454
|
});
|
|
443
455
|
} catch (e) {
|
|
@@ -446,8 +458,8 @@ var ChatApi = /*#__PURE__*/function () {
|
|
|
446
458
|
};
|
|
447
459
|
_proto.getClientPreferences = function getClientPreferences() {
|
|
448
460
|
try {
|
|
449
|
-
var
|
|
450
|
-
return Promise.resolve(
|
|
461
|
+
var _this21 = this;
|
|
462
|
+
return Promise.resolve(_this21.client.get('/api/clients/preferences')).then(function (response) {
|
|
451
463
|
return response.data;
|
|
452
464
|
});
|
|
453
465
|
} catch (e) {
|
|
@@ -456,8 +468,8 @@ var ChatApi = /*#__PURE__*/function () {
|
|
|
456
468
|
};
|
|
457
469
|
_proto.updateClientPreferences = function updateClientPreferences(request) {
|
|
458
470
|
try {
|
|
459
|
-
var
|
|
460
|
-
return Promise.resolve(
|
|
471
|
+
var _this22 = this;
|
|
472
|
+
return Promise.resolve(_this22.client.put('/api/clients/preferences', request)).then(function (response) {
|
|
461
473
|
return response.data;
|
|
462
474
|
});
|
|
463
475
|
} catch (e) {
|
|
@@ -2068,7 +2080,10 @@ var useMessages = function useMessages(conversationUid) {
|
|
|
2068
2080
|
return Promise.reject(e);
|
|
2069
2081
|
}
|
|
2070
2082
|
}, [conversationUid]);
|
|
2071
|
-
var
|
|
2083
|
+
var getRemainingLimit = React.useCallback(function (receiverClientId, conversationId) {
|
|
2084
|
+
if (conversationId === void 0) {
|
|
2085
|
+
conversationId = conversationUid;
|
|
2086
|
+
}
|
|
2072
2087
|
try {
|
|
2073
2088
|
if (!api) {
|
|
2074
2089
|
setError(new Error('API not initialized'));
|
|
@@ -2078,9 +2093,12 @@ var useMessages = function useMessages(conversationUid) {
|
|
|
2078
2093
|
setError(null);
|
|
2079
2094
|
return Promise.resolve(_finallyRethrows(function () {
|
|
2080
2095
|
return _catch(function () {
|
|
2081
|
-
return Promise.resolve(api.
|
|
2096
|
+
return Promise.resolve(api.getRemainingLimit({
|
|
2097
|
+
receiver_client_id: receiverClientId,
|
|
2098
|
+
conversation_uid: conversationId
|
|
2099
|
+
}));
|
|
2082
2100
|
}, function (err) {
|
|
2083
|
-
var error = err instanceof Error ? err : new Error('Failed to
|
|
2101
|
+
var error = err instanceof Error ? err : new Error('Failed to get remaining limit');
|
|
2084
2102
|
setError(error);
|
|
2085
2103
|
return null;
|
|
2086
2104
|
});
|
|
@@ -2092,6 +2110,31 @@ var useMessages = function useMessages(conversationUid) {
|
|
|
2092
2110
|
} catch (e) {
|
|
2093
2111
|
return Promise.reject(e);
|
|
2094
2112
|
}
|
|
2113
|
+
}, [api, conversationUid]);
|
|
2114
|
+
var markMessageAsRead = React.useCallback(function (messageId) {
|
|
2115
|
+
try {
|
|
2116
|
+
if (!api) {
|
|
2117
|
+
setError(new Error('API not initialized'));
|
|
2118
|
+
return Promise.resolve(null);
|
|
2119
|
+
}
|
|
2120
|
+
setLoading(true);
|
|
2121
|
+
setError(null);
|
|
2122
|
+
return Promise.resolve(_finallyRethrows(function () {
|
|
2123
|
+
return _catch(function () {
|
|
2124
|
+
return Promise.resolve(api.markMessageAsRead(messageId));
|
|
2125
|
+
}, function (err) {
|
|
2126
|
+
var error = err instanceof Error ? err : new Error('Failed to mark message as read');
|
|
2127
|
+
setError(error);
|
|
2128
|
+
return null;
|
|
2129
|
+
});
|
|
2130
|
+
}, function (_wasThrown3, _result3) {
|
|
2131
|
+
setLoading(false);
|
|
2132
|
+
if (_wasThrown3) throw _result3;
|
|
2133
|
+
return _result3;
|
|
2134
|
+
}));
|
|
2135
|
+
} catch (e) {
|
|
2136
|
+
return Promise.reject(e);
|
|
2137
|
+
}
|
|
2095
2138
|
}, []);
|
|
2096
2139
|
var sendMessage = React.useCallback(function (message) {
|
|
2097
2140
|
try {
|
|
@@ -2112,10 +2155,10 @@ var useMessages = function useMessages(conversationUid) {
|
|
|
2112
2155
|
setError(error);
|
|
2113
2156
|
return null;
|
|
2114
2157
|
});
|
|
2115
|
-
}, function (
|
|
2158
|
+
}, function (_wasThrown4, _result4) {
|
|
2116
2159
|
setLoading(false);
|
|
2117
|
-
if (
|
|
2118
|
-
return
|
|
2160
|
+
if (_wasThrown4) throw _result4;
|
|
2161
|
+
return _result4;
|
|
2119
2162
|
}));
|
|
2120
2163
|
} catch (e) {
|
|
2121
2164
|
return Promise.reject(e);
|
|
@@ -2156,10 +2199,10 @@ var useMessages = function useMessages(conversationUid) {
|
|
|
2156
2199
|
setError(error);
|
|
2157
2200
|
return null;
|
|
2158
2201
|
});
|
|
2159
|
-
}, function (
|
|
2202
|
+
}, function (_wasThrown5, _result5) {
|
|
2160
2203
|
setLoading(false);
|
|
2161
|
-
if (
|
|
2162
|
-
return
|
|
2204
|
+
if (_wasThrown5) throw _result5;
|
|
2205
|
+
return _result5;
|
|
2163
2206
|
}));
|
|
2164
2207
|
} catch (e) {
|
|
2165
2208
|
return Promise.reject(e);
|
|
@@ -2190,10 +2233,10 @@ var useMessages = function useMessages(conversationUid) {
|
|
|
2190
2233
|
setError(error);
|
|
2191
2234
|
return null;
|
|
2192
2235
|
});
|
|
2193
|
-
}, function (
|
|
2236
|
+
}, function (_wasThrown6, _result6) {
|
|
2194
2237
|
setLoading(false);
|
|
2195
|
-
if (
|
|
2196
|
-
return
|
|
2238
|
+
if (_wasThrown6) throw _result6;
|
|
2239
|
+
return _result6;
|
|
2197
2240
|
}));
|
|
2198
2241
|
} catch (e) {
|
|
2199
2242
|
return Promise.reject(e);
|
|
@@ -2224,10 +2267,10 @@ var useMessages = function useMessages(conversationUid) {
|
|
|
2224
2267
|
setError(error);
|
|
2225
2268
|
return null;
|
|
2226
2269
|
});
|
|
2227
|
-
}, function (
|
|
2270
|
+
}, function (_wasThrown7, _result7) {
|
|
2228
2271
|
setLoading(false);
|
|
2229
|
-
if (
|
|
2230
|
-
return
|
|
2272
|
+
if (_wasThrown7) throw _result7;
|
|
2273
|
+
return _result7;
|
|
2231
2274
|
}));
|
|
2232
2275
|
} catch (e) {
|
|
2233
2276
|
return Promise.reject(e);
|
|
@@ -2362,7 +2405,8 @@ var useMessages = function useMessages(conversationUid) {
|
|
|
2362
2405
|
deleteMessage: deleteMessage,
|
|
2363
2406
|
setMessages: setMessages,
|
|
2364
2407
|
updatePreferences: updatePreferences,
|
|
2365
|
-
preferences: preferences
|
|
2408
|
+
preferences: preferences,
|
|
2409
|
+
getRemainingLimit: getRemainingLimit
|
|
2366
2410
|
};
|
|
2367
2411
|
};
|
|
2368
2412
|
|
|
@@ -2725,7 +2769,8 @@ function useMessageManagement(selectedConversationId) {
|
|
|
2725
2769
|
updateMessage = _useMessages.updateMessage,
|
|
2726
2770
|
setMessages = _useMessages.setMessages,
|
|
2727
2771
|
preferences = _useMessages.preferences,
|
|
2728
|
-
updatePreferences = _useMessages.updatePreferences
|
|
2772
|
+
updatePreferences = _useMessages.updatePreferences,
|
|
2773
|
+
getRemainingLimit = _useMessages.getRemainingLimit;
|
|
2729
2774
|
var _useAllMessageEvents = useAllMessageEvents$1(),
|
|
2730
2775
|
messageSent = _useAllMessageEvents.messageSent,
|
|
2731
2776
|
messageEdited = _useAllMessageEvents.messageEdited,
|
|
@@ -2807,7 +2852,7 @@ function useMessageManagement(selectedConversationId) {
|
|
|
2807
2852
|
})
|
|
2808
2853
|
});
|
|
2809
2854
|
});
|
|
2810
|
-
return
|
|
2855
|
+
return success;
|
|
2811
2856
|
} else {
|
|
2812
2857
|
setMessages(function (prevMessages) {
|
|
2813
2858
|
return _extends({}, prevMessages, {
|
|
@@ -2820,10 +2865,11 @@ function useMessageManagement(selectedConversationId) {
|
|
|
2820
2865
|
})
|
|
2821
2866
|
});
|
|
2822
2867
|
});
|
|
2823
|
-
return
|
|
2868
|
+
return success;
|
|
2824
2869
|
}
|
|
2825
2870
|
});
|
|
2826
2871
|
}, function (error) {
|
|
2872
|
+
var _error$response$data, _error$response;
|
|
2827
2873
|
setMessages(function (prevMessages) {
|
|
2828
2874
|
return _extends({}, prevMessages, {
|
|
2829
2875
|
messages: ((prevMessages === null || prevMessages === void 0 ? void 0 : prevMessages.messages) || []).filter(function (msg) {
|
|
@@ -2831,8 +2877,9 @@ function useMessageManagement(selectedConversationId) {
|
|
|
2831
2877
|
})
|
|
2832
2878
|
});
|
|
2833
2879
|
});
|
|
2834
|
-
|
|
2835
|
-
|
|
2880
|
+
return (_error$response$data = error === null || error === void 0 ? void 0 : (_error$response = error.response) === null || _error$response === void 0 ? void 0 : _error$response.data) != null ? _error$response$data : {
|
|
2881
|
+
message: 'Unknown error'
|
|
2882
|
+
};
|
|
2836
2883
|
}));
|
|
2837
2884
|
} catch (e) {
|
|
2838
2885
|
return Promise.reject(e);
|
|
@@ -2926,7 +2973,8 @@ function useMessageManagement(selectedConversationId) {
|
|
|
2926
2973
|
hasMore: hasMore,
|
|
2927
2974
|
setMessages: setMessages,
|
|
2928
2975
|
preferences: preferences,
|
|
2929
|
-
updatePreferences: updatePreferences
|
|
2976
|
+
updatePreferences: updatePreferences,
|
|
2977
|
+
getRemainingLimit: getRemainingLimit
|
|
2930
2978
|
};
|
|
2931
2979
|
}
|
|
2932
2980
|
|