chat4app-client-angular 0.0.1 → 0.0.2

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.
Files changed (35) hide show
  1. package/bundles/chat4app-client-angular.umd.js +467 -0
  2. package/bundles/chat4app-client-angular.umd.js.map +1 -0
  3. package/bundles/chat4app-client-angular.umd.min.js +2 -0
  4. package/bundles/chat4app-client-angular.umd.min.js.map +1 -0
  5. package/chat4app-client-angular.d.ts +5 -0
  6. package/chat4app-client-angular.d.ts.map +1 -0
  7. package/chat4app-client-angular.metadata.json +1 -0
  8. package/esm2015/chat4app-client-angular.js +5 -0
  9. package/esm2015/lib/chat4app-client-angular.component.js +18 -0
  10. package/esm2015/lib/chat4app-client-angular.module.js +12 -0
  11. package/esm2015/lib/chat4app-client-angular.service.js +357 -0
  12. package/esm2015/public-api.js +7 -0
  13. package/fesm2015/chat4app-client-angular.js +395 -0
  14. package/fesm2015/chat4app-client-angular.js.map +1 -0
  15. package/lib/chat4app-client-angular.component.d.ts +6 -0
  16. package/lib/chat4app-client-angular.component.d.ts.map +1 -0
  17. package/lib/chat4app-client-angular.module.d.ts +3 -0
  18. package/lib/chat4app-client-angular.module.d.ts.map +1 -0
  19. package/lib/chat4app-client-angular.service.d.ts +136 -0
  20. package/lib/chat4app-client-angular.service.d.ts.map +1 -0
  21. package/package.json +10 -2
  22. package/{src/public-api.ts → public-api.d.ts} +4 -7
  23. package/public-api.d.ts.map +1 -0
  24. package/karma.conf.js +0 -44
  25. package/ng-package.json +0 -7
  26. package/src/lib/chat4app-client-angular.component.spec.ts +0 -25
  27. package/src/lib/chat4app-client-angular.component.ts +0 -20
  28. package/src/lib/chat4app-client-angular.module.ts +0 -12
  29. package/src/lib/chat4app-client-angular.service.spec.ts +0 -16
  30. package/src/lib/chat4app-client-angular.service.ts +0 -556
  31. package/src/test.ts +0 -26
  32. package/tsconfig.lib.json +0 -26
  33. package/tsconfig.lib.prod.json +0 -10
  34. package/tsconfig.spec.json +0 -17
  35. package/tslint.json +0 -17
@@ -0,0 +1,467 @@
1
+ (function (global, factory) {
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('stompjs'), require('sockjs-client'), require('@angular/common/http'), require('moment')) :
3
+ typeof define === 'function' && define.amd ? define('chat4app-client-angular', ['exports', '@angular/core', 'stompjs', 'sockjs-client', '@angular/common/http', 'moment'], factory) :
4
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global["chat4app-client-angular"] = {}, global.ng.core, global.Stomp, global.SockJS, global.ng.common.http, global.moment));
5
+ })(this, (function (exports, i0, Stomp, SockJS, i1, moment) { 'use strict';
6
+
7
+ function _interopNamespace(e) {
8
+ if (e && e.__esModule) return e;
9
+ var n = Object.create(null);
10
+ if (e) {
11
+ Object.keys(e).forEach(function (k) {
12
+ if (k !== 'default') {
13
+ var d = Object.getOwnPropertyDescriptor(e, k);
14
+ Object.defineProperty(n, k, d.get ? d : {
15
+ enumerable: true,
16
+ get: function () { return e[k]; }
17
+ });
18
+ }
19
+ });
20
+ }
21
+ n["default"] = e;
22
+ return Object.freeze(n);
23
+ }
24
+
25
+ var i0__namespace = /*#__PURE__*/_interopNamespace(i0);
26
+ var Stomp__namespace = /*#__PURE__*/_interopNamespace(Stomp);
27
+ var SockJS__namespace = /*#__PURE__*/_interopNamespace(SockJS);
28
+ var i1__namespace = /*#__PURE__*/_interopNamespace(i1);
29
+ var moment__namespace = /*#__PURE__*/_interopNamespace(moment);
30
+
31
+ var Chat4appClientAngularService = /** @class */ (function () {
32
+ function Chat4appClientAngularService(http) {
33
+ this.http = http;
34
+ this.chatServer = "";
35
+ this.chatUrl = "";
36
+ }
37
+ Chat4appClientAngularService.prototype.ngOnInit = function () {
38
+ };
39
+ Chat4appClientAngularService.prototype.config = function (chat4AppConfig) {
40
+ this.chatServer = chat4AppConfig.endpoint;
41
+ this.chatUrl = chat4AppConfig.endpoint + "/api/v1/";
42
+ };
43
+ Chat4appClientAngularService.prototype.init = function (callback, chatCallback, token) {
44
+ var _this = this;
45
+ if (!this.chatServer || this.chatServer.trim().length == 0) {
46
+ throw new Error("Invalid endpoint");
47
+ }
48
+ this.getTokenChat4app().subscribe(function (res) {
49
+ _this.setTokenChat4app(res.token);
50
+ if (chatCallback && token) {
51
+ _this.connectWebsocket(chatCallback, token);
52
+ }
53
+ callback(res.token);
54
+ });
55
+ };
56
+ Chat4appClientAngularService.prototype.getChatUrlDownload = function (messageFileId) {
57
+ return this.chatUrl + "chatmessage/getFile?messageFileId=" + messageFileId;
58
+ };
59
+ Chat4appClientAngularService.prototype.getMessageChat = function (chatId, fromId, toId) {
60
+ var url = this.chatUrl + "chatmessage/" + chatId + "/" + fromId + "/" + toId;
61
+ return this.http.get(url, {
62
+ headers: new i1.HttpHeaders().set('Authorization', this.getBearerToken())
63
+ });
64
+ };
65
+ Chat4appClientAngularService.prototype.getMessageChatByGrop = function (chatId, groupId, fromId) {
66
+ var url = this.chatUrl + "chatmessage/byGroup/" + chatId + "/" + groupId + "/" + fromId;
67
+ return this.http.get(url, {
68
+ headers: new i1.HttpHeaders().set('Authorization', this.getBearerToken())
69
+ });
70
+ };
71
+ Chat4appClientAngularService.prototype.addMessageChat = function (chatMessage4App) {
72
+ var url = this.chatUrl + "chatmessage/" + chatMessage4App.chatId;
73
+ return this.http.post(url, chatMessage4App, {
74
+ headers: new i1.HttpHeaders().set('Authorization', this.getBearerToken())
75
+ });
76
+ };
77
+ Chat4appClientAngularService.prototype.props = function (chatFilterRequest4App) {
78
+ var url = this.chatUrl + "chatmessage/props";
79
+ return this.http.post(url, chatFilterRequest4App, {
80
+ headers: new i1.HttpHeaders().set('Authorization', this.getBearerToken())
81
+ });
82
+ };
83
+ Chat4appClientAngularService.prototype.removeUsersChat = function (chatId, chatUsersId, chatUsersExternalId) {
84
+ var params = new Array();
85
+ if (chatUsersId && chatUsersId.length > 0) {
86
+ chatUsersId.forEach(function (cui) {
87
+ params.push("chatUserId=" + cui);
88
+ });
89
+ }
90
+ else if (chatUsersExternalId && chatUsersExternalId.length > 0) {
91
+ chatUsersExternalId.forEach(function (cuei) {
92
+ params.push("chatUserExternalId=" + cuei);
93
+ });
94
+ }
95
+ var url = this.chatUrl + "chatuser/" + chatId + "?" + params.join("&");
96
+ return this.http.delete(url, {
97
+ headers: new i1.HttpHeaders().set('Authorization', this.getBearerToken())
98
+ });
99
+ };
100
+ Chat4appClientAngularService.prototype.removeUserChat = function (chatId, chatUserId, chatUserExternalId) {
101
+ var param = "";
102
+ if (chatUserId) {
103
+ param = "chatUserId=" + chatUserId;
104
+ }
105
+ else {
106
+ param = "chatUserExternalId=" + chatUserExternalId;
107
+ }
108
+ var url = this.chatUrl + "chatuser/" + chatId + "?" + param;
109
+ return this.http.delete(url, {
110
+ headers: new i1.HttpHeaders().set('Authorization', this.getBearerToken())
111
+ });
112
+ };
113
+ Chat4appClientAngularService.prototype.updateUserChat = function (chatId, charUser4AppUpdate) {
114
+ var url = this.chatUrl + "chatuser/" + chatId;
115
+ return this.http.put(url, charUser4AppUpdate, {
116
+ headers: new i1.HttpHeaders().set('Authorization', this.getBearerToken())
117
+ });
118
+ };
119
+ Chat4appClientAngularService.prototype.createUserChat = function (chatId, chatUser4App) {
120
+ var url = this.chatUrl + "chatuser/" + chatId;
121
+ return this.http.post(url, chatUser4App, {
122
+ headers: new i1.HttpHeaders().set('Authorization', this.getBearerToken())
123
+ });
124
+ };
125
+ Chat4appClientAngularService.prototype.createUsersChat = function (chatId, chatUser4App) {
126
+ var url = this.chatUrl + "chatuser/users/" + chatId;
127
+ return this.http.post(url, chatUser4App, {
128
+ headers: new i1.HttpHeaders().set('Authorization', this.getBearerToken())
129
+ });
130
+ };
131
+ Chat4appClientAngularService.prototype.createChat = function (chat4app) {
132
+ var url = this.chatUrl + "chat";
133
+ return this.http.post(url, chat4app, {
134
+ headers: new i1.HttpHeaders().set('Authorization', this.getBearerToken())
135
+ });
136
+ };
137
+ Chat4appClientAngularService.prototype.createUpdateChat = function (chat4app) {
138
+ var url = this.chatUrl + "chat";
139
+ return this.http.put(url, chat4app, {
140
+ headers: new i1.HttpHeaders().set('Authorization', this.getBearerToken())
141
+ });
142
+ };
143
+ Chat4appClientAngularService.prototype.getLastMessageGroup = function (chatExternalId, groupId) {
144
+ var url = this.chatUrl + "chatmessage/lastMessageGroup?chatExternalId=" + chatExternalId + "&groupId=" + groupId;
145
+ return this.http.get(url, {
146
+ headers: new i1.HttpHeaders().set('Authorization', this.getBearerToken())
147
+ });
148
+ };
149
+ Chat4appClientAngularService.prototype.getLastMessage = function (chatExternalId, chatUserExternalId) {
150
+ var url = this.chatUrl + "chatmessage/lastMessage?chatExternalId=" + chatExternalId + "&chatUserExternalId=" + chatUserExternalId;
151
+ return this.http.get(url, {
152
+ headers: new i1.HttpHeaders().set('Authorization', this.getBearerToken())
153
+ });
154
+ };
155
+ Chat4appClientAngularService.prototype.countNotReadMessages = function (chatUserExternalId, chatExternalId, groupId) {
156
+ var url = this.chatUrl + "chatmessage/countNotReadMessages?chatUserExternalId=" + chatUserExternalId;
157
+ if (chatExternalId && chatExternalId.length > 0) {
158
+ url += "&chatExternalId=" + chatExternalId;
159
+ }
160
+ if (groupId && groupId.length > 0) {
161
+ url += "&groupId=" + groupId;
162
+ }
163
+ return this.http.get(url, {
164
+ headers: new i1.HttpHeaders().set('Authorization', this.getBearerToken())
165
+ });
166
+ };
167
+ Chat4appClientAngularService.prototype.getChatByExternalId = function (externalId) {
168
+ var url = this.chatUrl + "chat?externalId=" + externalId;
169
+ return this.http.get(url, {
170
+ headers: new i1.HttpHeaders().set('Authorization', this.getBearerToken())
171
+ });
172
+ };
173
+ Chat4appClientAngularService.prototype.readMessage = function (chatMessageId, toId) {
174
+ var url = this.chatUrl + "chatmessage/read/" + chatMessageId;
175
+ if (toId && toId.length > 0) {
176
+ url += "/" + toId;
177
+ }
178
+ return this.http.put(url, null, {
179
+ headers: new i1.HttpHeaders().set('Authorization', this.getBearerToken())
180
+ });
181
+ };
182
+ Chat4appClientAngularService.prototype.online = function (chatId, chatUserId) {
183
+ var url = this.chatUrl + "chatmessage/online/" + chatId + "/" + chatUserId;
184
+ return this.http.get(url, {
185
+ headers: new i1.HttpHeaders().set('Authorization', this.getBearerToken())
186
+ });
187
+ };
188
+ Chat4appClientAngularService.prototype.sendFile = function (chatId, fromId, toId, fileToUpload) {
189
+ var endpoint = this.chatUrl + "chatmessage/sendFile/" + chatId + "/" + fromId + "/" + toId;
190
+ var formData = new FormData();
191
+ formData.append('file', fileToUpload);
192
+ return this.http
193
+ .post(endpoint, formData, {
194
+ headers: new i1.HttpHeaders().set('Authorization', this.getBearerToken())
195
+ });
196
+ };
197
+ Chat4appClientAngularService.prototype.sendFileGroup = function (chatId, fromId, groupId, fileToUpload) {
198
+ var endpoint = this.chatUrl + "chatmessage/sendFileGroup/" + chatId + "/" + fromId + "/" + groupId;
199
+ var formData = new FormData();
200
+ formData.append('file', fileToUpload);
201
+ return this.http
202
+ .post(endpoint, formData, {
203
+ headers: new i1.HttpHeaders().set('Authorization', this.getBearerToken())
204
+ });
205
+ };
206
+ /* Token */
207
+ Chat4appClientAngularService.prototype.getBearerToken = function () {
208
+ var ret = "Bearer " + window.sessionStorage.getItem("chat4AppSessionToken");
209
+ return ret;
210
+ };
211
+ Chat4appClientAngularService.prototype.getTokenChat4app = function () {
212
+ return this.http.post("/rest/secured/chat-helper", null);
213
+ };
214
+ Chat4appClientAngularService.prototype.setTokenChat4app = function (chat4AppSessionToken) {
215
+ window.sessionStorage.setItem("chat4AppSessionToken", chat4AppSessionToken);
216
+ };
217
+ /* Connection */
218
+ Chat4appClientAngularService.prototype.onMessageFirebaseReceived = function (data, chatCallback) {
219
+ //alert("onMessageReceived connectFirebase");
220
+ if (data.type == "msg") {
221
+ var chat4appMessage = new Chat4AppMessageReceive();
222
+ chat4appMessage.data.chatId = data.chatId;
223
+ chat4appMessage.data.chatMessageId = data.chatMessageId;
224
+ chat4appMessage.data.externalId = data.externalId;
225
+ chat4appMessage.data.fromId = data.fromId;
226
+ chat4appMessage.data.toId = data.toId;
227
+ chat4appMessage.data.dateHour = data.dateHour;
228
+ chat4appMessage.data.type = data.type;
229
+ chat4appMessage.notification.body = data.body;
230
+ if (data.fileId && data.fileId.length > 0) {
231
+ chat4appMessage.data.fileId = data.fileId;
232
+ chat4appMessage.data.fileName = data.fileName;
233
+ chat4appMessage.data.fileSize = data.fileSize;
234
+ chat4appMessage.data.fileType = data.fileType;
235
+ }
236
+ var datTmp = new Map();
237
+ for (var key in data) {
238
+ datTmp.set(key, data[key]);
239
+ }
240
+ chat4appMessage.data.all = datTmp;
241
+ chatCallback.onMessage(chat4appMessage);
242
+ }
243
+ else if ((data.type == "on" || data.type == "off")) {
244
+ var chat4appMessage = new Chat4AppMessageReceive();
245
+ chat4appMessage.data.chatId = data.chatId;
246
+ chat4appMessage.data.chatMessageId = data.chatMessageId;
247
+ chat4appMessage.data.externalId = data.externalId;
248
+ chat4appMessage.data.fromId = data.fromId;
249
+ chat4appMessage.data.toId = data.toId;
250
+ chat4appMessage.data.dateHour = data.dateHour;
251
+ chat4appMessage.data.type = data.type;
252
+ var datTmp = new Map();
253
+ for (var key in data) {
254
+ datTmp.set(key, data[key]);
255
+ }
256
+ chat4appMessage.data.all = datTmp;
257
+ chatCallback.onOffline(chat4appMessage);
258
+ }
259
+ };
260
+ Chat4appClientAngularService.prototype.connectWebsocket = function (chatCallback, token) {
261
+ var _this = this;
262
+ this.disconnect();
263
+ var securityToken = this.getBearerToken();
264
+ this.sock = new SockJS__namespace(this.chatServer + '/stomp/gkz-stomp-endpoint?token=' + securityToken);
265
+ this.stompClient = Stomp__namespace.over(this.sock);
266
+ this.stompClient.debug = function (msg) {
267
+ //console.log(msg);
268
+ };
269
+ this.stompClient.connect({}, function (frame) {
270
+ //console.log(frame);
271
+ _this.stompClient.subscribe('/queue/' + token, function (msg) {
272
+ //console.log('mensagem', msg);
273
+ if (msg.command == "MESSAGE") {
274
+ //console.log(msg)
275
+ var msgObj = JSON.parse(msg.body);
276
+ var datTmp = new Map();
277
+ for (var key in msgObj.data) {
278
+ datTmp.set(key, msgObj.data[key]);
279
+ }
280
+ msgObj.data.all = datTmp;
281
+ if (msgObj.data.type == "msg") {
282
+ chatCallback.onMessage(msgObj);
283
+ }
284
+ else if ((msgObj.data.type == "on" || msgObj.data.type == "off")) {
285
+ chatCallback.onOffline(msgObj);
286
+ }
287
+ //callback(msg.body);
288
+ // ichatcallback.forEach((iChat)=>{
289
+ // iChat.onMessage(JSON.parse(msg.body) );
290
+ // });
291
+ }
292
+ });
293
+ }, function (message) {
294
+ // check message for disconnect
295
+ //console.log("Disconnect");
296
+ setTimeout(function () {
297
+ _this.connectWebsocket(chatCallback, token);
298
+ }, 500);
299
+ });
300
+ };
301
+ Chat4appClientAngularService.prototype.disconnect = function () {
302
+ // console.log("disconnect")
303
+ try {
304
+ if (this.stompClient) {
305
+ this.stompClient.disconnect();
306
+ }
307
+ }
308
+ catch (e) {
309
+ console.log(e);
310
+ }
311
+ };
312
+ Chat4appClientAngularService.prototype.convertChat4AppMessageReceiveToChatMessage4App = function (msg) {
313
+ var message = new ChatMessage4App();
314
+ message.body = msg.notification.body;
315
+ message.chatId = msg.data.chatId;
316
+ message.fromId = msg.data.fromId;
317
+ message.toId = msg.data.toId;
318
+ message.dateHourIncluded = moment__namespace.utc(msg.data.dateHour, "DD-MM-YYYY hh:mm:ss").toDate();
319
+ if (msg.data.fileId && msg.data.fileId.length > 0) {
320
+ var messageFile = new ChatMessageFile4App();
321
+ messageFile.id = msg.data.fileId;
322
+ messageFile.name = msg.data.fileName;
323
+ messageFile.size = msg.data.fileSize;
324
+ messageFile.type = msg.data.fileType;
325
+ message.chatMessageFile = messageFile;
326
+ }
327
+ return message;
328
+ };
329
+ return Chat4appClientAngularService;
330
+ }());
331
+ Chat4appClientAngularService.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function Chat4appClientAngularService_Factory() { return new Chat4appClientAngularService(i0__namespace.ɵɵinject(i1__namespace.HttpClient)); }, token: Chat4appClientAngularService, providedIn: "root" });
332
+ Chat4appClientAngularService.decorators = [
333
+ { type: i0.Injectable, args: [{
334
+ providedIn: 'root'
335
+ },] }
336
+ ];
337
+ Chat4appClientAngularService.ctorParameters = function () { return [
338
+ { type: i1.HttpClient }
339
+ ]; };
340
+ var Chat4App = /** @class */ (function () {
341
+ function Chat4App() {
342
+ }
343
+ return Chat4App;
344
+ }());
345
+ var ChatUser4App = /** @class */ (function () {
346
+ function ChatUser4App() {
347
+ }
348
+ return ChatUser4App;
349
+ }());
350
+ var ChatMessage4App = /** @class */ (function () {
351
+ function ChatMessage4App() {
352
+ }
353
+ return ChatMessage4App;
354
+ }());
355
+ var ChatMessageFile4App = /** @class */ (function () {
356
+ function ChatMessageFile4App() {
357
+ }
358
+ return ChatMessageFile4App;
359
+ }());
360
+ var ChatMessageMeta4App = /** @class */ (function () {
361
+ function ChatMessageMeta4App() {
362
+ }
363
+ return ChatMessageMeta4App;
364
+ }());
365
+ var Chat4AppMessageReceive = /** @class */ (function () {
366
+ function Chat4AppMessageReceive() {
367
+ this.data = new Chat4AppMessageReceiveData();
368
+ this.notification = new Chat4AppMessageReceiveNotification();
369
+ }
370
+ return Chat4AppMessageReceive;
371
+ }());
372
+ var Chat4AppMessageReceiveData = /** @class */ (function () {
373
+ function Chat4AppMessageReceiveData() {
374
+ }
375
+ return Chat4AppMessageReceiveData;
376
+ }());
377
+ var Chat4AppMessageReceiveNotification = /** @class */ (function () {
378
+ function Chat4AppMessageReceiveNotification() {
379
+ }
380
+ return Chat4AppMessageReceiveNotification;
381
+ }());
382
+ var ChatUserResponse4App = /** @class */ (function () {
383
+ function ChatUserResponse4App() {
384
+ }
385
+ return ChatUserResponse4App;
386
+ }());
387
+ var ChatFilterRequest4App = /** @class */ (function () {
388
+ function ChatFilterRequest4App() {
389
+ }
390
+ return ChatFilterRequest4App;
391
+ }());
392
+ var Chat4AppConfig = /** @class */ (function () {
393
+ function Chat4AppConfig(endpoint) {
394
+ this.endpoint = endpoint;
395
+ }
396
+ return Chat4AppConfig;
397
+ }());
398
+ exports.ChatStatus4App = void 0;
399
+ (function (ChatStatus4App) {
400
+ ChatStatus4App["CREATED"] = "CREATED";
401
+ ChatStatus4App["CLOSED"] = "CLOSED";
402
+ })(exports.ChatStatus4App || (exports.ChatStatus4App = {}));
403
+ exports.ChatUserStatus4App = void 0;
404
+ (function (ChatUserStatus4App) {
405
+ ChatUserStatus4App["REMOVED"] = "REMOVED";
406
+ })(exports.ChatUserStatus4App || (exports.ChatUserStatus4App = {}));
407
+ exports.ChatFilterType = void 0;
408
+ (function (ChatFilterType) {
409
+ ChatFilterType[ChatFilterType["COUNT_NOT_READ"] = 1] = "COUNT_NOT_READ";
410
+ ChatFilterType[ChatFilterType["LAST_MESSAGE"] = 2] = "LAST_MESSAGE";
411
+ })(exports.ChatFilterType || (exports.ChatFilterType = {}));
412
+
413
+ var Chat4appClientAngularComponent = /** @class */ (function () {
414
+ function Chat4appClientAngularComponent() {
415
+ }
416
+ Chat4appClientAngularComponent.prototype.ngOnInit = function () {
417
+ };
418
+ return Chat4appClientAngularComponent;
419
+ }());
420
+ Chat4appClientAngularComponent.decorators = [
421
+ { type: i0.Component, args: [{
422
+ selector: 'lib-chat4app-client-angular',
423
+ template: "\n <p>\n chat4app-client-angular works!\n </p>\n "
424
+ },] }
425
+ ];
426
+ Chat4appClientAngularComponent.ctorParameters = function () { return []; };
427
+
428
+ var Chat4appClientAngularModule = /** @class */ (function () {
429
+ function Chat4appClientAngularModule() {
430
+ }
431
+ return Chat4appClientAngularModule;
432
+ }());
433
+ Chat4appClientAngularModule.decorators = [
434
+ { type: i0.NgModule, args: [{
435
+ declarations: [Chat4appClientAngularComponent],
436
+ imports: [],
437
+ exports: [Chat4appClientAngularComponent]
438
+ },] }
439
+ ];
440
+
441
+ /*
442
+ * Public API Surface of chat4app-client-angular
443
+ */
444
+
445
+ /**
446
+ * Generated bundle index. Do not edit.
447
+ */
448
+
449
+ exports.Chat4App = Chat4App;
450
+ exports.Chat4AppConfig = Chat4AppConfig;
451
+ exports.Chat4AppMessageReceive = Chat4AppMessageReceive;
452
+ exports.Chat4AppMessageReceiveData = Chat4AppMessageReceiveData;
453
+ exports.Chat4AppMessageReceiveNotification = Chat4AppMessageReceiveNotification;
454
+ exports.Chat4appClientAngularComponent = Chat4appClientAngularComponent;
455
+ exports.Chat4appClientAngularModule = Chat4appClientAngularModule;
456
+ exports.Chat4appClientAngularService = Chat4appClientAngularService;
457
+ exports.ChatFilterRequest4App = ChatFilterRequest4App;
458
+ exports.ChatMessage4App = ChatMessage4App;
459
+ exports.ChatMessageFile4App = ChatMessageFile4App;
460
+ exports.ChatMessageMeta4App = ChatMessageMeta4App;
461
+ exports.ChatUser4App = ChatUser4App;
462
+ exports.ChatUserResponse4App = ChatUserResponse4App;
463
+
464
+ Object.defineProperty(exports, '__esModule', { value: true });
465
+
466
+ }));
467
+ //# sourceMappingURL=chat4app-client-angular.umd.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chat4app-client-angular.umd.js","sources":["../../../projects/chat4app-client-angular/src/lib/chat4app-client-angular.service.ts","../../../projects/chat4app-client-angular/src/lib/chat4app-client-angular.component.ts","../../../projects/chat4app-client-angular/src/lib/chat4app-client-angular.module.ts","../../../projects/chat4app-client-angular/src/public-api.ts","../../../projects/chat4app-client-angular/src/chat4app-client-angular.ts"],"sourcesContent":["import { Injectable, OnInit } from '@angular/core';\nimport * as Stomp from 'stompjs';\nimport * as SockJS from 'sockjs-client';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport * as moment from 'moment';\n\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class Chat4appClientAngularService implements OnInit {\n\n chatServer = \"\";\n chatUrl = \"\";\n \n sock: any;\n stompClient: any;\n\n constructor( private http: HttpClient) {\n \n }\n ngOnInit(): void {\n }\n\n config(chat4AppConfig: Chat4AppConfig) {\n this.chatServer = chat4AppConfig.endpoint;\n this.chatUrl = chat4AppConfig.endpoint + \"/api/v1/\" ;\n }\n \n init(callback: any, chatCallback?: IChatCallback, token?: string) {\n\n if (!this.chatServer || this.chatServer.trim().length == 0){\n throw new Error(\"Invalid endpoint\");\n }\n\n this.getTokenChat4app().subscribe((res: any) => {\n this.setTokenChat4app(res.token);\n \n if (chatCallback && token) {\n this.connectWebsocket(chatCallback, token);\n }\n \n callback(res.token);\n })\n }\n \n getChatUrlDownload(messageFileId: string) {\n return this.chatUrl + \"chatmessage/getFile?messageFileId=\" + messageFileId;\n }\n \n \n getMessageChat(chatId: string, fromId: string, toId: string): Observable<Array<ChatMessage4App>> {\n let url = this.chatUrl + \"chatmessage/\" + chatId + \"/\" + fromId + \"/\" + toId;\n \n return this.http.get<Array<ChatMessage4App>>(url,\n {\n headers: new HttpHeaders().set('Authorization', this.getBearerToken())\n })\n \n }\n getMessageChatByGrop(chatId: string, groupId: string, fromId: string): Observable<Array<ChatMessage4App>> {\n let url = this.chatUrl + \"chatmessage/byGroup/\" + chatId + \"/\" + groupId + \"/\" + fromId;\n \n return this.http.get<Array<ChatMessage4App>>(url,\n {\n headers: new HttpHeaders().set('Authorization', this.getBearerToken())\n })\n \n }\n \n \n addMessageChat(chatMessage4App: ChatMessage4App): Observable<ChatMessage4App> {\n let url = this.chatUrl + \"chatmessage/\" + chatMessage4App.chatId;\n \n return this.http.post<ChatMessage4App>(url, chatMessage4App,\n {\n headers: new HttpHeaders().set('Authorization', this.getBearerToken())\n })\n \n }\n props(chatFilterRequest4App: Array<ChatFilterRequest4App>): Observable<ChatUserResponse4App> {\n let url = this.chatUrl + \"chatmessage/props\";\n \n return this.http.post<ChatUserResponse4App>(url, chatFilterRequest4App,\n {\n headers: new HttpHeaders().set('Authorization', this.getBearerToken())\n })\n \n }\n \n \n removeUsersChat(chatId: string, chatUsersId?: string[], chatUsersExternalId?: string[]): Observable<ChatUser4App[]> {\n let params = new Array();\n if (chatUsersId && chatUsersId.length > 0) {\n \n chatUsersId.forEach(cui => {\n params.push(\"chatUserId=\" + cui);\n });\n } else if (chatUsersExternalId && chatUsersExternalId.length > 0) {\n chatUsersExternalId.forEach(cuei => {\n params.push(\"chatUserExternalId=\" + cuei);\n })\n \n }\n \n let url = this.chatUrl + \"chatuser/\" + chatId + \"?\" + params.join(\"&\");\n \n return this.http.delete<ChatUser4App[]>(url,\n {\n headers: new HttpHeaders().set('Authorization', this.getBearerToken())\n })\n }\n \n removeUserChat(chatId: string, chatUserId?: string, chatUserExternalId?: string): Observable<ChatUser4App> {\n let param = \"\";\n if (chatUserId) {\n param = \"chatUserId=\" + chatUserId;\n } else {\n param = \"chatUserExternalId=\" + chatUserExternalId;\n }\n \n let url = this.chatUrl + \"chatuser/\" + chatId + \"?\" + param;\n \n return this.http.delete<ChatUser4App>(url,\n {\n headers: new HttpHeaders().set('Authorization', this.getBearerToken())\n })\n }\n \n updateUserChat(chatId: string, charUser4AppUpdate: ChatUser4App): Observable<ChatUser4App> {\n \n let url = this.chatUrl + \"chatuser/\" + chatId;\n \n return this.http.put<ChatUser4App>(url, charUser4AppUpdate,\n {\n headers: new HttpHeaders().set('Authorization', this.getBearerToken())\n })\n }\n \n \n createUserChat(chatId: string, chatUser4App: ChatUser4App): Observable<ChatUser4App> {\n let url = this.chatUrl + \"chatuser/\" + chatId;\n \n return this.http.post<ChatUser4App>(url, chatUser4App,\n {\n headers: new HttpHeaders().set('Authorization', this.getBearerToken())\n })\n }\n \n createUsersChat(chatId: string, chatUser4App: ChatUser4App[]): Observable<ChatUser4App[]> {\n let url = this.chatUrl + \"chatuser/users/\" + chatId;\n \n return this.http.post<ChatUser4App[]>(url, chatUser4App,\n {\n headers: new HttpHeaders().set('Authorization', this.getBearerToken())\n })\n }\n \n \n createChat(chat4app: Chat4App): Observable<Chat4App> {\n let url = this.chatUrl + \"chat\";\n \n return this.http.post<Chat4App>(url, chat4app,\n {\n headers: new HttpHeaders().set('Authorization', this.getBearerToken())\n })\n }\n createUpdateChat(chat4app: Chat4App): Observable<Chat4App> {\n let url = this.chatUrl + \"chat\";\n \n return this.http.put<Chat4App>(url, chat4app,\n {\n headers: new HttpHeaders().set('Authorization', this.getBearerToken())\n })\n }\n \n \n getLastMessageGroup(chatExternalId: string, groupId: string): Observable<ChatUserResponse4App> {\n \n let url = this.chatUrl + \"chatmessage/lastMessageGroup?chatExternalId=\" + chatExternalId + \"&groupId=\" + groupId;\n \n return this.http.get<ChatUserResponse4App>(url,\n {\n headers: new HttpHeaders().set('Authorization', this.getBearerToken())\n })\n }\n getLastMessage(chatExternalId: string, chatUserExternalId: string): Observable<ChatUserResponse4App> {\n \n let url = this.chatUrl + \"chatmessage/lastMessage?chatExternalId=\" + chatExternalId + \"&chatUserExternalId=\" + chatUserExternalId;\n \n return this.http.get<ChatUserResponse4App>(url,\n {\n headers: new HttpHeaders().set('Authorization', this.getBearerToken())\n })\n }\n countNotReadMessages(chatUserExternalId: string, chatExternalId?: string, groupId?: string): Observable<ChatUserResponse4App> {\n \n let url = this.chatUrl + \"chatmessage/countNotReadMessages?chatUserExternalId=\" + chatUserExternalId;\n \n if (chatExternalId && chatExternalId.length > 0) {\n url += \"&chatExternalId=\" + chatExternalId;\n }\n \n if (groupId && groupId.length > 0) {\n url += \"&groupId=\" + groupId;\n }\n \n return this.http.get<ChatUserResponse4App>(url,\n {\n headers: new HttpHeaders().set('Authorization', this.getBearerToken())\n })\n }\n \n \n getChatByExternalId(externalId: string): Observable<Chat4App> {\n \n let url = this.chatUrl + \"chat?externalId=\" + externalId;\n \n return this.http.get<Chat4App>(url,\n {\n headers: new HttpHeaders().set('Authorization', this.getBearerToken())\n })\n }\n readMessage(chatMessageId: string, toId?: string): Observable<void> {\n \n let url = this.chatUrl + \"chatmessage/read/\" + chatMessageId;\n \n if (toId && toId.length > 0) {\n url += \"/\" + toId;\n }\n \n return this.http.put<void>(url, null,\n {\n headers: new HttpHeaders().set('Authorization', this.getBearerToken())\n })\n }\n online(chatId: string, chatUserId: string): Observable<number> {\n \n let url = this.chatUrl + \"chatmessage/online/\" + chatId + \"/\" + chatUserId;\n \n return this.http.get<number>(url,\n {\n headers: new HttpHeaders().set('Authorization', this.getBearerToken())\n })\n }\n \n \n sendFile(chatId: string, fromId: string, toId: string, fileToUpload: File): Observable<ChatMessageFile4App> {\n const endpoint = this.chatUrl + \"chatmessage/sendFile/\" + chatId + \"/\" + fromId + \"/\" + toId;\n \n const formData: FormData = new FormData();\n formData.append('file', fileToUpload);\n \n return this.http\n .post<ChatMessageFile4App>(endpoint, formData,\n {\n headers: new HttpHeaders().set('Authorization', this.getBearerToken())\n });\n }\n \n sendFileGroup(chatId: string, fromId: string, groupId: string, fileToUpload: File): Observable<ChatMessageFile4App> {\n const endpoint = this.chatUrl + \"chatmessage/sendFileGroup/\" + chatId + \"/\" + fromId + \"/\" + groupId;\n \n const formData: FormData = new FormData();\n formData.append('file', fileToUpload);\n \n return this.http\n .post<ChatMessageFile4App>(endpoint, formData,\n {\n headers: new HttpHeaders().set('Authorization', this.getBearerToken())\n });\n }\n \n \n /* Token */\n getBearerToken(): string {\n \n let ret = \"Bearer \" + window.sessionStorage.getItem(\"chat4AppSessionToken\");\n \n return ret;\n }\n \n getTokenChat4app() {\n return this.http.post(\"/rest/secured/chat-helper\", null);\n }\n \n setTokenChat4app(chat4AppSessionToken: string) {\n \n \n window.sessionStorage.setItem(\"chat4AppSessionToken\", chat4AppSessionToken);\n }\n \n \n /* Connection */\n \n onMessageFirebaseReceived(data: any, chatCallback: IChatCallback) {\n \n \n //alert(\"onMessageReceived connectFirebase\");\n \n if (data.type == \"msg\") {\n \n let chat4appMessage = new Chat4AppMessageReceive();\n chat4appMessage.data.chatId = data.chatId;\n chat4appMessage.data.chatMessageId = data.chatMessageId;\n chat4appMessage.data.externalId = data.externalId;\n chat4appMessage.data.fromId = data.fromId;\n chat4appMessage.data.toId = data.toId;\n chat4appMessage.data.dateHour = data.dateHour;\n chat4appMessage.data.type = data.type;\n chat4appMessage.notification.body = data.body;\n \n if (data.fileId && data.fileId.length > 0) {\n chat4appMessage.data.fileId = data.fileId;\n chat4appMessage.data.fileName = data.fileName;\n chat4appMessage.data.fileSize = data.fileSize;\n chat4appMessage.data.fileType = data.fileType;\n \n }\n \n let datTmp = new Map<string, string>();\n \n for (let key in data) {\n datTmp.set(key, data[key]);\n }\n \n chat4appMessage.data.all = datTmp;\n \n chatCallback.onMessage(chat4appMessage);\n \n } else if ((data.type == \"on\" || data.type == \"off\")) {\n let chat4appMessage = new Chat4AppMessageReceive();\n chat4appMessage.data.chatId = data.chatId;\n chat4appMessage.data.chatMessageId = data.chatMessageId;\n chat4appMessage.data.externalId = data.externalId;\n chat4appMessage.data.fromId = data.fromId;\n chat4appMessage.data.toId = data.toId;\n chat4appMessage.data.dateHour = data.dateHour;\n chat4appMessage.data.type = data.type;\n\n let datTmp = new Map<string, string>();\n \n for (let key in data) {\n datTmp.set(key, data[key]);\n }\n \n chat4appMessage.data.all = datTmp;\n \n chatCallback.onOffline(chat4appMessage);\n \n }\n }\n \n connectWebsocket(chatCallback: IChatCallback, token: string) {\n this.disconnect();\n \n let securityToken = this.getBearerToken();\n \n this.sock = new SockJS(this.chatServer + '/stomp/gkz-stomp-endpoint?token=' + securityToken);\n this.stompClient = Stomp.over(this.sock);\n this.stompClient.debug = function (msg: any) {\n //console.log(msg);\n }\n \n this.stompClient.connect({}, (frame: any) => {\n //console.log(frame);\n \n this.stompClient.subscribe('/queue/' + token, (msg: any) => {\n //console.log('mensagem', msg);\n \n if (msg.command == \"MESSAGE\") {\n \n //console.log(msg)\n \n let msgObj = JSON.parse(msg.body);\n \n let datTmp = new Map<string, string>();\n \n for (let key in msgObj.data) {\n datTmp.set(key, msgObj.data[key]);\n }\n \n msgObj.data.all = datTmp;\n \n if (msgObj.data.type == \"msg\") {\n chatCallback.onMessage(msgObj);\n } else if ((msgObj.data.type == \"on\" || msgObj.data.type == \"off\")) {\n chatCallback.onOffline(msgObj);\n }\n \n //callback(msg.body);\n // ichatcallback.forEach((iChat)=>{\n // iChat.onMessage(JSON.parse(msg.body) );\n // });\n }\n \n });\n },\n (message: any) => {\n // check message for disconnect\n //console.log(\"Disconnect\");\n \n setTimeout(() => {\n this.connectWebsocket(chatCallback, token);\n }, 500);\n \n });\n \n }\n \n disconnect() {\n// console.log(\"disconnect\")\n try {\n if (this.stompClient) {\n this.stompClient.disconnect();\n }\n \n } catch (e) {\n console.log(e);\n }\n }\n\n convertChat4AppMessageReceiveToChatMessage4App(msg: Chat4AppMessageReceive): ChatMessage4App{\n let message = new ChatMessage4App();\n message.body = msg.notification.body;\n message.chatId = msg.data.chatId;\n message.fromId = msg.data.fromId;\n message.toId = msg.data.toId;\n message.dateHourIncluded = moment.utc(msg.data.dateHour, \"DD-MM-YYYY hh:mm:ss\").toDate();\n\n if (msg.data.fileId && msg.data.fileId.length > 0) {\n let messageFile = new ChatMessageFile4App();\n \n messageFile.id = msg.data.fileId;\n messageFile.name = msg.data.fileName;\n messageFile.size = msg.data.fileSize;\n messageFile.type = msg.data.fileType;\n\n message.chatMessageFile = messageFile;\n }\n\n return message;\n\n }\n \n }\n \n \n export class Chat4App {\n id: string;\n configId: string;\n externalId: string;\n title: string;\n status: ChatStatus4App;\n users: Array<ChatUser4App>;\n \n }\n export class ChatUser4App {\n id: string;\n name: string;\n clientToken: string;\n picturePath: string;\n email: string;\n externalId: string;\n status: ChatUserStatus4App;\n }\n export class ChatMessage4App {\n id: string;\n fromId: string;\n toId: string;\n chatId: string;\n title: string;\n body: string;\n meta: Array<ChatMessageMeta4App>;\n groupId: string;\n read: Boolean;\n dateHourIncluded: Date;\n chatMessageFile: ChatMessageFile4App;\n }\n export class ChatMessageFile4App {\n id: string;\n name: string;\n type: string;\n size: number;\n fullPath: string;\n }\n export class ChatMessageMeta4App {\n name: string;\n value: string;\n }\n export class Chat4AppMessageReceive {\n data: Chat4AppMessageReceiveData = new Chat4AppMessageReceiveData();\n notification: Chat4AppMessageReceiveNotification = new Chat4AppMessageReceiveNotification();\n token: string;\n }\n export class Chat4AppMessageReceiveData {\n toId: string;\n chatId: string;\n dateHour: string;\n chatMessageId: string;\n externalId: string;\n type: string;\n fromId: string;\n fileId: string;\n fileName: string;\n fileSize: number;\n fileType: string;\n all: Map<string, string>;\n \n \n \n }\n export class Chat4AppMessageReceiveNotification {\n body: string;\n }\n \n export class ChatUserResponse4App {\n totalMessages: number;\n chat: Chat4App;\n chatMessage: ChatMessage4App;\n chats: ChatUserResponse4App[];\n }\n export class ChatFilterRequest4App {\n type: ChatFilterType;\n chatExternalId: string;\n chatUserExternalId: string;\n groupId: string;\n }\n export class Chat4AppConfig {\n constructor(public endpoint: string) {\n \n }\n }\n\n \n export enum ChatStatus4App {\n CREATED = \"CREATED\",\n CLOSED = \"CLOSED\"\n \n }\n export enum ChatUserStatus4App {\n REMOVED = \"REMOVED\"\n \n }\n export enum ChatFilterType {\n COUNT_NOT_READ = 1,\n LAST_MESSAGE = 2\n }\n \n export interface IChatCallback {\n onMessage(msg: Chat4AppMessageReceive): void;\n onOffline(msg: Chat4AppMessageReceive): void;\n }\n ","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'lib-chat4app-client-angular',\n template: `\n <p>\n chat4app-client-angular works!\n </p>\n `,\n styles: [\n ]\n})\nexport class Chat4appClientAngularComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","import { NgModule } from '@angular/core';\nimport { Chat4appClientAngularComponent } from './chat4app-client-angular.component';\n\n\n\n@NgModule({\n declarations: [Chat4appClientAngularComponent],\n imports: [\n ],\n exports: [Chat4appClientAngularComponent]\n})\nexport class Chat4appClientAngularModule { }\n","/*\n * Public API Surface of chat4app-client-angular\n */\n\nexport * from './lib/chat4app-client-angular.service';\nexport * from './lib/chat4app-client-angular.component';\nexport * from './lib/chat4app-client-angular.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["HttpHeaders","SockJS","Stomp","moment","Injectable","HttpClient","ChatStatus4App","ChatUserStatus4App","ChatFilterType","Component","NgModule"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("@angular/core"),require("stompjs"),require("sockjs-client"),require("@angular/common/http"),require("moment")):"function"==typeof define&&define.amd?define("chat4app-client-angular",["exports","@angular/core","stompjs","sockjs-client","@angular/common/http","moment"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self)["chat4app-client-angular"]={},t.ng.core,t.Stomp,t.SockJS,t.ng.common.http,t.moment)}(this,(function(t,e,a,r,n,o){"use strict";function s(t){if(t&&t.__esModule)return t;var e=Object.create(null);return t&&Object.keys(t).forEach((function(a){if("default"!==a){var r=Object.getOwnPropertyDescriptor(t,a);Object.defineProperty(e,a,r.get?r:{enumerable:!0,get:function(){return t[a]}})}})),e.default=t,Object.freeze(e)}var i=s(e),h=s(a),p=s(r),c=s(n),d=s(o),u=function(){function t(t){this.http=t,this.chatServer="",this.chatUrl=""}return t.prototype.ngOnInit=function(){},t.prototype.config=function(t){this.chatServer=t.endpoint,this.chatUrl=t.endpoint+"/api/v1/"},t.prototype.init=function(t,e,a){var r=this;if(!this.chatServer||0==this.chatServer.trim().length)throw new Error("Invalid endpoint");this.getTokenChat4app().subscribe((function(n){r.setTokenChat4app(n.token),e&&a&&r.connectWebsocket(e,a),t(n.token)}))},t.prototype.getChatUrlDownload=function(t){return this.chatUrl+"chatmessage/getFile?messageFileId="+t},t.prototype.getMessageChat=function(t,e,a){var r=this.chatUrl+"chatmessage/"+t+"/"+e+"/"+a;return this.http.get(r,{headers:(new n.HttpHeaders).set("Authorization",this.getBearerToken())})},t.prototype.getMessageChatByGrop=function(t,e,a){var r=this.chatUrl+"chatmessage/byGroup/"+t+"/"+e+"/"+a;return this.http.get(r,{headers:(new n.HttpHeaders).set("Authorization",this.getBearerToken())})},t.prototype.addMessageChat=function(t){var e=this.chatUrl+"chatmessage/"+t.chatId;return this.http.post(e,t,{headers:(new n.HttpHeaders).set("Authorization",this.getBearerToken())})},t.prototype.props=function(t){var e=this.chatUrl+"chatmessage/props";return this.http.post(e,t,{headers:(new n.HttpHeaders).set("Authorization",this.getBearerToken())})},t.prototype.removeUsersChat=function(t,e,a){var r=new Array;e&&e.length>0?e.forEach((function(t){r.push("chatUserId="+t)})):a&&a.length>0&&a.forEach((function(t){r.push("chatUserExternalId="+t)}));var o=this.chatUrl+"chatuser/"+t+"?"+r.join("&");return this.http.delete(o,{headers:(new n.HttpHeaders).set("Authorization",this.getBearerToken())})},t.prototype.removeUserChat=function(t,e,a){var r="";r=e?"chatUserId="+e:"chatUserExternalId="+a;var o=this.chatUrl+"chatuser/"+t+"?"+r;return this.http.delete(o,{headers:(new n.HttpHeaders).set("Authorization",this.getBearerToken())})},t.prototype.updateUserChat=function(t,e){var a=this.chatUrl+"chatuser/"+t;return this.http.put(a,e,{headers:(new n.HttpHeaders).set("Authorization",this.getBearerToken())})},t.prototype.createUserChat=function(t,e){var a=this.chatUrl+"chatuser/"+t;return this.http.post(a,e,{headers:(new n.HttpHeaders).set("Authorization",this.getBearerToken())})},t.prototype.createUsersChat=function(t,e){var a=this.chatUrl+"chatuser/users/"+t;return this.http.post(a,e,{headers:(new n.HttpHeaders).set("Authorization",this.getBearerToken())})},t.prototype.createChat=function(t){var e=this.chatUrl+"chat";return this.http.post(e,t,{headers:(new n.HttpHeaders).set("Authorization",this.getBearerToken())})},t.prototype.createUpdateChat=function(t){var e=this.chatUrl+"chat";return this.http.put(e,t,{headers:(new n.HttpHeaders).set("Authorization",this.getBearerToken())})},t.prototype.getLastMessageGroup=function(t,e){var a=this.chatUrl+"chatmessage/lastMessageGroup?chatExternalId="+t+"&groupId="+e;return this.http.get(a,{headers:(new n.HttpHeaders).set("Authorization",this.getBearerToken())})},t.prototype.getLastMessage=function(t,e){var a=this.chatUrl+"chatmessage/lastMessage?chatExternalId="+t+"&chatUserExternalId="+e;return this.http.get(a,{headers:(new n.HttpHeaders).set("Authorization",this.getBearerToken())})},t.prototype.countNotReadMessages=function(t,e,a){var r=this.chatUrl+"chatmessage/countNotReadMessages?chatUserExternalId="+t;return e&&e.length>0&&(r+="&chatExternalId="+e),a&&a.length>0&&(r+="&groupId="+a),this.http.get(r,{headers:(new n.HttpHeaders).set("Authorization",this.getBearerToken())})},t.prototype.getChatByExternalId=function(t){var e=this.chatUrl+"chat?externalId="+t;return this.http.get(e,{headers:(new n.HttpHeaders).set("Authorization",this.getBearerToken())})},t.prototype.readMessage=function(t,e){var a=this.chatUrl+"chatmessage/read/"+t;return e&&e.length>0&&(a+="/"+e),this.http.put(a,null,{headers:(new n.HttpHeaders).set("Authorization",this.getBearerToken())})},t.prototype.online=function(t,e){var a=this.chatUrl+"chatmessage/online/"+t+"/"+e;return this.http.get(a,{headers:(new n.HttpHeaders).set("Authorization",this.getBearerToken())})},t.prototype.sendFile=function(t,e,a,r){var o=this.chatUrl+"chatmessage/sendFile/"+t+"/"+e+"/"+a,s=new FormData;return s.append("file",r),this.http.post(o,s,{headers:(new n.HttpHeaders).set("Authorization",this.getBearerToken())})},t.prototype.sendFileGroup=function(t,e,a,r){var o=this.chatUrl+"chatmessage/sendFileGroup/"+t+"/"+e+"/"+a,s=new FormData;return s.append("file",r),this.http.post(o,s,{headers:(new n.HttpHeaders).set("Authorization",this.getBearerToken())})},t.prototype.getBearerToken=function(){return"Bearer "+window.sessionStorage.getItem("chat4AppSessionToken")},t.prototype.getTokenChat4app=function(){return this.http.post("/rest/secured/chat-helper",null)},t.prototype.setTokenChat4app=function(t){window.sessionStorage.setItem("chat4AppSessionToken",t)},t.prototype.onMessageFirebaseReceived=function(t,e){if("msg"==t.type){(n=new I).data.chatId=t.chatId,n.data.chatMessageId=t.chatMessageId,n.data.externalId=t.externalId,n.data.fromId=t.fromId,n.data.toId=t.toId,n.data.dateHour=t.dateHour,n.data.type=t.type,n.notification.body=t.body,t.fileId&&t.fileId.length>0&&(n.data.fileId=t.fileId,n.data.fileName=t.fileName,n.data.fileSize=t.fileSize,n.data.fileType=t.fileType);var a=new Map;for(var r in t)a.set(r,t[r]);n.data.all=a,e.onMessage(n)}else if("on"==t.type||"off"==t.type){var n;(n=new I).data.chatId=t.chatId,n.data.chatMessageId=t.chatMessageId,n.data.externalId=t.externalId,n.data.fromId=t.fromId,n.data.toId=t.toId,n.data.dateHour=t.dateHour,n.data.type=t.type;a=new Map;for(var r in t)a.set(r,t[r]);n.data.all=a,e.onOffline(n)}},t.prototype.connectWebsocket=function(t,e){var a=this;this.disconnect();var r=this.getBearerToken();this.sock=new p(this.chatServer+"/stomp/gkz-stomp-endpoint?token="+r),this.stompClient=h.over(this.sock),this.stompClient.debug=function(t){},this.stompClient.connect({},(function(r){a.stompClient.subscribe("/queue/"+e,(function(e){if("MESSAGE"==e.command){var a=JSON.parse(e.body),r=new Map;for(var n in a.data)r.set(n,a.data[n]);a.data.all=r,"msg"==a.data.type?t.onMessage(a):"on"!=a.data.type&&"off"!=a.data.type||t.onOffline(a)}}))}),(function(r){setTimeout((function(){a.connectWebsocket(t,e)}),500)}))},t.prototype.disconnect=function(){try{this.stompClient&&this.stompClient.disconnect()}catch(t){console.log(t)}},t.prototype.convertChat4AppMessageReceiveToChatMessage4App=function(t){var e=new m;if(e.body=t.notification.body,e.chatId=t.data.chatId,e.fromId=t.data.fromId,e.toId=t.data.toId,e.dateHourIncluded=d.utc(t.data.dateHour,"DD-MM-YYYY hh:mm:ss").toDate(),t.data.fileId&&t.data.fileId.length>0){var a=new v;a.id=t.data.fileId,a.name=t.data.fileName,a.size=t.data.fileSize,a.type=t.data.fileType,e.chatMessageFile=a}return e},t}();u.ɵprov=i.ɵɵdefineInjectable({factory:function(){return new u(i.ɵɵinject(c.HttpClient))},token:u,providedIn:"root"}),u.decorators=[{type:e.Injectable,args:[{providedIn:"root"}]}],u.ctorParameters=function(){return[{type:n.HttpClient}]};var l,f,g=function(){},y=function(){},m=function(){},v=function(){},C=function(){},I=function(){this.data=new A,this.notification=new H},A=function(){},H=function(){},T=function(){},k=function(){},w=function(t){this.endpoint=t};t.ChatStatus4App=void 0,(l=t.ChatStatus4App||(t.ChatStatus4App={})).CREATED="CREATED",l.CLOSED="CLOSED",t.ChatUserStatus4App=void 0,(t.ChatUserStatus4App||(t.ChatUserStatus4App={})).REMOVED="REMOVED",t.ChatFilterType=void 0,(f=t.ChatFilterType||(t.ChatFilterType={}))[f.COUNT_NOT_READ=1]="COUNT_NOT_READ",f[f.LAST_MESSAGE=2]="LAST_MESSAGE";var U=function(){function t(){}return t.prototype.ngOnInit=function(){},t}();U.decorators=[{type:e.Component,args:[{selector:"lib-chat4app-client-angular",template:"\n <p>\n chat4app-client-angular works!\n </p>\n "}]}],U.ctorParameters=function(){return[]};var M=function(){};M.decorators=[{type:e.NgModule,args:[{declarations:[U],imports:[],exports:[U]}]}],t.Chat4App=g,t.Chat4AppConfig=w,t.Chat4AppMessageReceive=I,t.Chat4AppMessageReceiveData=A,t.Chat4AppMessageReceiveNotification=H,t.Chat4appClientAngularComponent=U,t.Chat4appClientAngularModule=M,t.Chat4appClientAngularService=u,t.ChatFilterRequest4App=k,t.ChatMessage4App=m,t.ChatMessageFile4App=v,t.ChatMessageMeta4App=C,t.ChatUser4App=y,t.ChatUserResponse4App=T,Object.defineProperty(t,"__esModule",{value:!0})}));
2
+ //# sourceMappingURL=chat4app-client-angular.umd.min.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../projects/chat4app-client-angular/src/lib/chat4app-client-angular.service.ts","../../../projects/chat4app-client-angular/src/lib/chat4app-client-angular.component.ts","../../../projects/chat4app-client-angular/src/lib/chat4app-client-angular.module.ts"],"names":["Chat4appClientAngularService","http","this","chatServer","chatUrl","prototype","ngOnInit","config","chat4AppConfig","endpoint","init","callback","chatCallback","token","_this","trim","length","Error","getTokenChat4app","subscribe","res","setTokenChat4app","connectWebsocket","getChatUrlDownload","messageFileId","getMessageChat","chatId","fromId","toId","url","get","headers","HttpHeaders","set","getBearerToken","getMessageChatByGrop","groupId","addMessageChat","chatMessage4App","post","props","chatFilterRequest4App","removeUsersChat","chatUsersId","chatUsersExternalId","params","Array","forEach","cui","push","cuei","join","delete","removeUserChat","chatUserId","chatUserExternalId","param","updateUserChat","charUser4AppUpdate","put","createUserChat","chatUser4App","createUsersChat","createChat","chat4app","createUpdateChat","getLastMessageGroup","chatExternalId","getLastMessage","countNotReadMessages","getChatByExternalId","externalId","readMessage","chatMessageId","online","sendFile","fileToUpload","formData","FormData","append","sendFileGroup","window","sessionStorage","getItem","chat4AppSessionToken","setItem","onMessageFirebaseReceived","data","type","chat4appMessage","Chat4AppMessageReceive","dateHour","notification","body","fileId","fileName","fileSize","fileType","datTmp","Map","key","all","onMessage","onOffline","disconnect","securityToken","sock","SockJS","stompClient","Stomp","over","debug","msg","connect","frame","command","msgObj","JSON","parse","message","setTimeout","e","console","log","convertChat4AppMessageReceiveToChatMessage4App","ChatMessage4App","dateHourIncluded","moment","utc","toDate","messageFile","ChatMessageFile4App","id","name","size","chatMessageFile","Injectable","args","providedIn","HttpClient","ChatStatus4App","ChatFilterType","Chat4App","ChatUser4App","ChatMessageMeta4App","Chat4AppMessageReceiveData","Chat4AppMessageReceiveNotification","ChatUserResponse4App","ChatFilterRequest4App","Chat4AppConfig","ChatUserStatus4App","Chat4appClientAngularComponent","Component","selector","template","Chat4appClientAngularModule","NgModule","declarations","imports","exports"],"mappings":"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","sourcesContent":["import { Injectable, OnInit } from '@angular/core';\nimport * as Stomp from 'stompjs';\nimport * as SockJS from 'sockjs-client';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport * as moment from 'moment';\n\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class Chat4appClientAngularService implements OnInit {\n\n chatServer = \"\";\n chatUrl = \"\";\n \n sock: any;\n stompClient: any;\n\n constructor( private http: HttpClient) {\n \n }\n ngOnInit(): void {\n }\n\n config(chat4AppConfig: Chat4AppConfig) {\n this.chatServer = chat4AppConfig.endpoint;\n this.chatUrl = chat4AppConfig.endpoint + \"/api/v1/\" ;\n }\n \n init(callback: any, chatCallback?: IChatCallback, token?: string) {\n\n if (!this.chatServer || this.chatServer.trim().length == 0){\n throw new Error(\"Invalid endpoint\");\n }\n\n this.getTokenChat4app().subscribe((res: any) => {\n this.setTokenChat4app(res.token);\n \n if (chatCallback && token) {\n this.connectWebsocket(chatCallback, token);\n }\n \n callback(res.token);\n })\n }\n \n getChatUrlDownload(messageFileId: string) {\n return this.chatUrl + \"chatmessage/getFile?messageFileId=\" + messageFileId;\n }\n \n \n getMessageChat(chatId: string, fromId: string, toId: string): Observable<Array<ChatMessage4App>> {\n let url = this.chatUrl + \"chatmessage/\" + chatId + \"/\" + fromId + \"/\" + toId;\n \n return this.http.get<Array<ChatMessage4App>>(url,\n {\n headers: new HttpHeaders().set('Authorization', this.getBearerToken())\n })\n \n }\n getMessageChatByGrop(chatId: string, groupId: string, fromId: string): Observable<Array<ChatMessage4App>> {\n let url = this.chatUrl + \"chatmessage/byGroup/\" + chatId + \"/\" + groupId + \"/\" + fromId;\n \n return this.http.get<Array<ChatMessage4App>>(url,\n {\n headers: new HttpHeaders().set('Authorization', this.getBearerToken())\n })\n \n }\n \n \n addMessageChat(chatMessage4App: ChatMessage4App): Observable<ChatMessage4App> {\n let url = this.chatUrl + \"chatmessage/\" + chatMessage4App.chatId;\n \n return this.http.post<ChatMessage4App>(url, chatMessage4App,\n {\n headers: new HttpHeaders().set('Authorization', this.getBearerToken())\n })\n \n }\n props(chatFilterRequest4App: Array<ChatFilterRequest4App>): Observable<ChatUserResponse4App> {\n let url = this.chatUrl + \"chatmessage/props\";\n \n return this.http.post<ChatUserResponse4App>(url, chatFilterRequest4App,\n {\n headers: new HttpHeaders().set('Authorization', this.getBearerToken())\n })\n \n }\n \n \n removeUsersChat(chatId: string, chatUsersId?: string[], chatUsersExternalId?: string[]): Observable<ChatUser4App[]> {\n let params = new Array();\n if (chatUsersId && chatUsersId.length > 0) {\n \n chatUsersId.forEach(cui => {\n params.push(\"chatUserId=\" + cui);\n });\n } else if (chatUsersExternalId && chatUsersExternalId.length > 0) {\n chatUsersExternalId.forEach(cuei => {\n params.push(\"chatUserExternalId=\" + cuei);\n })\n \n }\n \n let url = this.chatUrl + \"chatuser/\" + chatId + \"?\" + params.join(\"&\");\n \n return this.http.delete<ChatUser4App[]>(url,\n {\n headers: new HttpHeaders().set('Authorization', this.getBearerToken())\n })\n }\n \n removeUserChat(chatId: string, chatUserId?: string, chatUserExternalId?: string): Observable<ChatUser4App> {\n let param = \"\";\n if (chatUserId) {\n param = \"chatUserId=\" + chatUserId;\n } else {\n param = \"chatUserExternalId=\" + chatUserExternalId;\n }\n \n let url = this.chatUrl + \"chatuser/\" + chatId + \"?\" + param;\n \n return this.http.delete<ChatUser4App>(url,\n {\n headers: new HttpHeaders().set('Authorization', this.getBearerToken())\n })\n }\n \n updateUserChat(chatId: string, charUser4AppUpdate: ChatUser4App): Observable<ChatUser4App> {\n \n let url = this.chatUrl + \"chatuser/\" + chatId;\n \n return this.http.put<ChatUser4App>(url, charUser4AppUpdate,\n {\n headers: new HttpHeaders().set('Authorization', this.getBearerToken())\n })\n }\n \n \n createUserChat(chatId: string, chatUser4App: ChatUser4App): Observable<ChatUser4App> {\n let url = this.chatUrl + \"chatuser/\" + chatId;\n \n return this.http.post<ChatUser4App>(url, chatUser4App,\n {\n headers: new HttpHeaders().set('Authorization', this.getBearerToken())\n })\n }\n \n createUsersChat(chatId: string, chatUser4App: ChatUser4App[]): Observable<ChatUser4App[]> {\n let url = this.chatUrl + \"chatuser/users/\" + chatId;\n \n return this.http.post<ChatUser4App[]>(url, chatUser4App,\n {\n headers: new HttpHeaders().set('Authorization', this.getBearerToken())\n })\n }\n \n \n createChat(chat4app: Chat4App): Observable<Chat4App> {\n let url = this.chatUrl + \"chat\";\n \n return this.http.post<Chat4App>(url, chat4app,\n {\n headers: new HttpHeaders().set('Authorization', this.getBearerToken())\n })\n }\n createUpdateChat(chat4app: Chat4App): Observable<Chat4App> {\n let url = this.chatUrl + \"chat\";\n \n return this.http.put<Chat4App>(url, chat4app,\n {\n headers: new HttpHeaders().set('Authorization', this.getBearerToken())\n })\n }\n \n \n getLastMessageGroup(chatExternalId: string, groupId: string): Observable<ChatUserResponse4App> {\n \n let url = this.chatUrl + \"chatmessage/lastMessageGroup?chatExternalId=\" + chatExternalId + \"&groupId=\" + groupId;\n \n return this.http.get<ChatUserResponse4App>(url,\n {\n headers: new HttpHeaders().set('Authorization', this.getBearerToken())\n })\n }\n getLastMessage(chatExternalId: string, chatUserExternalId: string): Observable<ChatUserResponse4App> {\n \n let url = this.chatUrl + \"chatmessage/lastMessage?chatExternalId=\" + chatExternalId + \"&chatUserExternalId=\" + chatUserExternalId;\n \n return this.http.get<ChatUserResponse4App>(url,\n {\n headers: new HttpHeaders().set('Authorization', this.getBearerToken())\n })\n }\n countNotReadMessages(chatUserExternalId: string, chatExternalId?: string, groupId?: string): Observable<ChatUserResponse4App> {\n \n let url = this.chatUrl + \"chatmessage/countNotReadMessages?chatUserExternalId=\" + chatUserExternalId;\n \n if (chatExternalId && chatExternalId.length > 0) {\n url += \"&chatExternalId=\" + chatExternalId;\n }\n \n if (groupId && groupId.length > 0) {\n url += \"&groupId=\" + groupId;\n }\n \n return this.http.get<ChatUserResponse4App>(url,\n {\n headers: new HttpHeaders().set('Authorization', this.getBearerToken())\n })\n }\n \n \n getChatByExternalId(externalId: string): Observable<Chat4App> {\n \n let url = this.chatUrl + \"chat?externalId=\" + externalId;\n \n return this.http.get<Chat4App>(url,\n {\n headers: new HttpHeaders().set('Authorization', this.getBearerToken())\n })\n }\n readMessage(chatMessageId: string, toId?: string): Observable<void> {\n \n let url = this.chatUrl + \"chatmessage/read/\" + chatMessageId;\n \n if (toId && toId.length > 0) {\n url += \"/\" + toId;\n }\n \n return this.http.put<void>(url, null,\n {\n headers: new HttpHeaders().set('Authorization', this.getBearerToken())\n })\n }\n online(chatId: string, chatUserId: string): Observable<number> {\n \n let url = this.chatUrl + \"chatmessage/online/\" + chatId + \"/\" + chatUserId;\n \n return this.http.get<number>(url,\n {\n headers: new HttpHeaders().set('Authorization', this.getBearerToken())\n })\n }\n \n \n sendFile(chatId: string, fromId: string, toId: string, fileToUpload: File): Observable<ChatMessageFile4App> {\n const endpoint = this.chatUrl + \"chatmessage/sendFile/\" + chatId + \"/\" + fromId + \"/\" + toId;\n \n const formData: FormData = new FormData();\n formData.append('file', fileToUpload);\n \n return this.http\n .post<ChatMessageFile4App>(endpoint, formData,\n {\n headers: new HttpHeaders().set('Authorization', this.getBearerToken())\n });\n }\n \n sendFileGroup(chatId: string, fromId: string, groupId: string, fileToUpload: File): Observable<ChatMessageFile4App> {\n const endpoint = this.chatUrl + \"chatmessage/sendFileGroup/\" + chatId + \"/\" + fromId + \"/\" + groupId;\n \n const formData: FormData = new FormData();\n formData.append('file', fileToUpload);\n \n return this.http\n .post<ChatMessageFile4App>(endpoint, formData,\n {\n headers: new HttpHeaders().set('Authorization', this.getBearerToken())\n });\n }\n \n \n /* Token */\n getBearerToken(): string {\n \n let ret = \"Bearer \" + window.sessionStorage.getItem(\"chat4AppSessionToken\");\n \n return ret;\n }\n \n getTokenChat4app() {\n return this.http.post(\"/rest/secured/chat-helper\", null);\n }\n \n setTokenChat4app(chat4AppSessionToken: string) {\n \n \n window.sessionStorage.setItem(\"chat4AppSessionToken\", chat4AppSessionToken);\n }\n \n \n /* Connection */\n \n onMessageFirebaseReceived(data: any, chatCallback: IChatCallback) {\n \n \n //alert(\"onMessageReceived connectFirebase\");\n \n if (data.type == \"msg\") {\n \n let chat4appMessage = new Chat4AppMessageReceive();\n chat4appMessage.data.chatId = data.chatId;\n chat4appMessage.data.chatMessageId = data.chatMessageId;\n chat4appMessage.data.externalId = data.externalId;\n chat4appMessage.data.fromId = data.fromId;\n chat4appMessage.data.toId = data.toId;\n chat4appMessage.data.dateHour = data.dateHour;\n chat4appMessage.data.type = data.type;\n chat4appMessage.notification.body = data.body;\n \n if (data.fileId && data.fileId.length > 0) {\n chat4appMessage.data.fileId = data.fileId;\n chat4appMessage.data.fileName = data.fileName;\n chat4appMessage.data.fileSize = data.fileSize;\n chat4appMessage.data.fileType = data.fileType;\n \n }\n \n let datTmp = new Map<string, string>();\n \n for (let key in data) {\n datTmp.set(key, data[key]);\n }\n \n chat4appMessage.data.all = datTmp;\n \n chatCallback.onMessage(chat4appMessage);\n \n } else if ((data.type == \"on\" || data.type == \"off\")) {\n let chat4appMessage = new Chat4AppMessageReceive();\n chat4appMessage.data.chatId = data.chatId;\n chat4appMessage.data.chatMessageId = data.chatMessageId;\n chat4appMessage.data.externalId = data.externalId;\n chat4appMessage.data.fromId = data.fromId;\n chat4appMessage.data.toId = data.toId;\n chat4appMessage.data.dateHour = data.dateHour;\n chat4appMessage.data.type = data.type;\n\n let datTmp = new Map<string, string>();\n \n for (let key in data) {\n datTmp.set(key, data[key]);\n }\n \n chat4appMessage.data.all = datTmp;\n \n chatCallback.onOffline(chat4appMessage);\n \n }\n }\n \n connectWebsocket(chatCallback: IChatCallback, token: string) {\n this.disconnect();\n \n let securityToken = this.getBearerToken();\n \n this.sock = new SockJS(this.chatServer + '/stomp/gkz-stomp-endpoint?token=' + securityToken);\n this.stompClient = Stomp.over(this.sock);\n this.stompClient.debug = function (msg: any) {\n //console.log(msg);\n }\n \n this.stompClient.connect({}, (frame: any) => {\n //console.log(frame);\n \n this.stompClient.subscribe('/queue/' + token, (msg: any) => {\n //console.log('mensagem', msg);\n \n if (msg.command == \"MESSAGE\") {\n \n //console.log(msg)\n \n let msgObj = JSON.parse(msg.body);\n \n let datTmp = new Map<string, string>();\n \n for (let key in msgObj.data) {\n datTmp.set(key, msgObj.data[key]);\n }\n \n msgObj.data.all = datTmp;\n \n if (msgObj.data.type == \"msg\") {\n chatCallback.onMessage(msgObj);\n } else if ((msgObj.data.type == \"on\" || msgObj.data.type == \"off\")) {\n chatCallback.onOffline(msgObj);\n }\n \n //callback(msg.body);\n // ichatcallback.forEach((iChat)=>{\n // iChat.onMessage(JSON.parse(msg.body) );\n // });\n }\n \n });\n },\n (message: any) => {\n // check message for disconnect\n //console.log(\"Disconnect\");\n \n setTimeout(() => {\n this.connectWebsocket(chatCallback, token);\n }, 500);\n \n });\n \n }\n \n disconnect() {\n// console.log(\"disconnect\")\n try {\n if (this.stompClient) {\n this.stompClient.disconnect();\n }\n \n } catch (e) {\n console.log(e);\n }\n }\n\n convertChat4AppMessageReceiveToChatMessage4App(msg: Chat4AppMessageReceive): ChatMessage4App{\n let message = new ChatMessage4App();\n message.body = msg.notification.body;\n message.chatId = msg.data.chatId;\n message.fromId = msg.data.fromId;\n message.toId = msg.data.toId;\n message.dateHourIncluded = moment.utc(msg.data.dateHour, \"DD-MM-YYYY hh:mm:ss\").toDate();\n\n if (msg.data.fileId && msg.data.fileId.length > 0) {\n let messageFile = new ChatMessageFile4App();\n \n messageFile.id = msg.data.fileId;\n messageFile.name = msg.data.fileName;\n messageFile.size = msg.data.fileSize;\n messageFile.type = msg.data.fileType;\n\n message.chatMessageFile = messageFile;\n }\n\n return message;\n\n }\n \n }\n \n \n export class Chat4App {\n id: string;\n configId: string;\n externalId: string;\n title: string;\n status: ChatStatus4App;\n users: Array<ChatUser4App>;\n \n }\n export class ChatUser4App {\n id: string;\n name: string;\n clientToken: string;\n picturePath: string;\n email: string;\n externalId: string;\n status: ChatUserStatus4App;\n }\n export class ChatMessage4App {\n id: string;\n fromId: string;\n toId: string;\n chatId: string;\n title: string;\n body: string;\n meta: Array<ChatMessageMeta4App>;\n groupId: string;\n read: Boolean;\n dateHourIncluded: Date;\n chatMessageFile: ChatMessageFile4App;\n }\n export class ChatMessageFile4App {\n id: string;\n name: string;\n type: string;\n size: number;\n fullPath: string;\n }\n export class ChatMessageMeta4App {\n name: string;\n value: string;\n }\n export class Chat4AppMessageReceive {\n data: Chat4AppMessageReceiveData = new Chat4AppMessageReceiveData();\n notification: Chat4AppMessageReceiveNotification = new Chat4AppMessageReceiveNotification();\n token: string;\n }\n export class Chat4AppMessageReceiveData {\n toId: string;\n chatId: string;\n dateHour: string;\n chatMessageId: string;\n externalId: string;\n type: string;\n fromId: string;\n fileId: string;\n fileName: string;\n fileSize: number;\n fileType: string;\n all: Map<string, string>;\n \n \n \n }\n export class Chat4AppMessageReceiveNotification {\n body: string;\n }\n \n export class ChatUserResponse4App {\n totalMessages: number;\n chat: Chat4App;\n chatMessage: ChatMessage4App;\n chats: ChatUserResponse4App[];\n }\n export class ChatFilterRequest4App {\n type: ChatFilterType;\n chatExternalId: string;\n chatUserExternalId: string;\n groupId: string;\n }\n export class Chat4AppConfig {\n constructor(public endpoint: string) {\n \n }\n }\n\n \n export enum ChatStatus4App {\n CREATED = \"CREATED\",\n CLOSED = \"CLOSED\"\n \n }\n export enum ChatUserStatus4App {\n REMOVED = \"REMOVED\"\n \n }\n export enum ChatFilterType {\n COUNT_NOT_READ = 1,\n LAST_MESSAGE = 2\n }\n \n export interface IChatCallback {\n onMessage(msg: Chat4AppMessageReceive): void;\n onOffline(msg: Chat4AppMessageReceive): void;\n }\n ","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'lib-chat4app-client-angular',\n template: `\n <p>\n chat4app-client-angular works!\n </p>\n `,\n styles: [\n ]\n})\nexport class Chat4appClientAngularComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","import { NgModule } from '@angular/core';\nimport { Chat4appClientAngularComponent } from './chat4app-client-angular.component';\n\n\n\n@NgModule({\n declarations: [Chat4appClientAngularComponent],\n imports: [\n ],\n exports: [Chat4appClientAngularComponent]\n})\nexport class Chat4appClientAngularModule { }\n"]}