chat4app-client-angular 0.0.32 → 0.0.33
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/bundles/chat4app-client-angular.umd.js +45 -1
- package/bundles/chat4app-client-angular.umd.js.map +1 -1
- package/bundles/chat4app-client-angular.umd.min.js +1 -1
- package/bundles/chat4app-client-angular.umd.min.js.map +1 -1
- package/chat4app-client-angular.metadata.json +1 -1
- package/esm2015/lib/chat4app-client-angular.service.js +41 -1
- package/fesm2015/chat4app-client-angular.js +42 -2
- package/fesm2015/chat4app-client-angular.js.map +1 -1
- package/lib/chat4app-client-angular.service.d.ts +19 -0
- package/lib/chat4app-client-angular.service.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -261,6 +261,39 @@
|
|
|
261
261
|
headers: new i1.HttpHeaders().set('Authorization', this.getBearerToken())
|
|
262
262
|
});
|
|
263
263
|
};
|
|
264
|
+
Chat4appClientAngularService.prototype.createGroup = function (group) {
|
|
265
|
+
var url = this.chatUrl + "/group";
|
|
266
|
+
return this.http.post(url, group, {
|
|
267
|
+
headers: new i1.HttpHeaders().set('Authorization', this.getBearerToken())
|
|
268
|
+
});
|
|
269
|
+
};
|
|
270
|
+
Chat4appClientAngularService.prototype.getGroup = function (chatId, groupId) {
|
|
271
|
+
var url = this.chatUrl + "/group/" + groupId + "/" + chatId;
|
|
272
|
+
return this.http.get(url, {
|
|
273
|
+
headers: new i1.HttpHeaders().set('Authorization', this.getBearerToken())
|
|
274
|
+
});
|
|
275
|
+
};
|
|
276
|
+
Chat4appClientAngularService.prototype.listGroups = function (chatId, externalId) {
|
|
277
|
+
var url = this.chatUrl + "/group/";
|
|
278
|
+
if (chatId && chatId.length > 0) {
|
|
279
|
+
url += "&chatId=" + chatId;
|
|
280
|
+
}
|
|
281
|
+
if (externalId && externalId.length > 0) {
|
|
282
|
+
url += "&externalId=" + externalId;
|
|
283
|
+
}
|
|
284
|
+
return this.http.get(url, {
|
|
285
|
+
headers: new i1.HttpHeaders().set('Authorization', this.getBearerToken())
|
|
286
|
+
});
|
|
287
|
+
};
|
|
288
|
+
Chat4appClientAngularService.prototype.listFilesGroup = function (chatId, groupId) {
|
|
289
|
+
var url = this.chatUrl + "/group/" + chatId;
|
|
290
|
+
if (groupId && groupId.length > 0) {
|
|
291
|
+
url += "&groupId=" + chatId;
|
|
292
|
+
}
|
|
293
|
+
return this.http.get(url, {
|
|
294
|
+
headers: new i1.HttpHeaders().set('Authorization', this.getBearerToken())
|
|
295
|
+
});
|
|
296
|
+
};
|
|
264
297
|
/* Token */
|
|
265
298
|
Chat4appClientAngularService.prototype.getBearerToken = function () {
|
|
266
299
|
var ret = "Bearer " + window.sessionStorage.getItem("chat4AppSessionToken");
|
|
@@ -589,6 +622,11 @@
|
|
|
589
622
|
}
|
|
590
623
|
return Chat4AppTranslate;
|
|
591
624
|
}());
|
|
625
|
+
var ChatGroupApp = /** @class */ (function () {
|
|
626
|
+
function ChatGroupApp() {
|
|
627
|
+
}
|
|
628
|
+
return ChatGroupApp;
|
|
629
|
+
}());
|
|
592
630
|
exports.ChatStatus4App = void 0;
|
|
593
631
|
(function (ChatStatus4App) {
|
|
594
632
|
ChatStatus4App["CREATED"] = "CREATED";
|
|
@@ -602,7 +640,12 @@
|
|
|
602
640
|
(function (ChatFilterType) {
|
|
603
641
|
ChatFilterType[ChatFilterType["COUNT_NOT_READ"] = 1] = "COUNT_NOT_READ";
|
|
604
642
|
ChatFilterType[ChatFilterType["LAST_MESSAGE"] = 2] = "LAST_MESSAGE";
|
|
605
|
-
})(exports.ChatFilterType || (exports.ChatFilterType = {}));
|
|
643
|
+
})(exports.ChatFilterType || (exports.ChatFilterType = {}));
|
|
644
|
+
exports.GroupStatus4App = void 0;
|
|
645
|
+
(function (GroupStatus4App) {
|
|
646
|
+
GroupStatus4App["CREATED"] = "CREATED";
|
|
647
|
+
GroupStatus4App["CLOSED"] = "REMOVED";
|
|
648
|
+
})(exports.GroupStatus4App || (exports.GroupStatus4App = {}));
|
|
606
649
|
|
|
607
650
|
var Chat4appClientAngularComponent = /** @class */ (function () {
|
|
608
651
|
function Chat4appClientAngularComponent() {
|
|
@@ -650,6 +693,7 @@
|
|
|
650
693
|
exports.Chat4appClientAngularModule = Chat4appClientAngularModule;
|
|
651
694
|
exports.Chat4appClientAngularService = Chat4appClientAngularService;
|
|
652
695
|
exports.ChatFilterRequest4App = ChatFilterRequest4App;
|
|
696
|
+
exports.ChatGroupApp = ChatGroupApp;
|
|
653
697
|
exports.ChatMessage4App = ChatMessage4App;
|
|
654
698
|
exports.ChatMessageFile4App = ChatMessageFile4App;
|
|
655
699
|
exports.ChatMessageMeta4App = ChatMessageMeta4App;
|
|
@@ -1 +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';\r\nimport * as Stomp from 'stompjs';\r\nimport * as SockJS from 'sockjs-client';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\n\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class Chat4appClientAngularService implements OnInit {\r\n\r\n chatServer = \"\";\r\n chatUrl = \"\";\r\n debug = false;\r\n \r\n sock: any;\r\n stompClient: any;\r\n\r\n timeoutReconnect = 500;\r\n\r\n constructor( private http: HttpClient) {\r\n \r\n }\r\n ngOnInit(): void {\r\n }\r\n\r\n config(chat4AppConfig: Chat4AppConfig) {\r\n this.chatServer = chat4AppConfig.endpoint;\r\n this.chatUrl = chat4AppConfig.endpoint + \"/api/v1/\" ;\r\n this.debug = chat4AppConfig.debug;\r\n }\r\n \r\n init(securityChatToken: string, callback: any, chatCallback?: IChatCallback, connectionClientId?: string) {\r\n\r\n if (!this.chatServer || this.chatServer.trim().length == 0){\r\n throw new Error(\"Endpoint is empty\");\r\n }\r\n if (!securityChatToken || securityChatToken.trim().length == 0){\r\n throw new Error(\"SecurityChatToken is empty\");\r\n }\r\n\r\n this.setTokenChat4app(securityChatToken);\r\n \r\n if (chatCallback && connectionClientId) {\r\n this.connectWebsocket(chatCallback, connectionClientId);\r\n }\r\n \r\n callback(securityChatToken);\r\n }\r\n \r\n getChatUrlDownload(messageFileId: string) {\r\n return this.chatUrl + \"chatmessage/getFile?messageFileId=\" + messageFileId + \"&token=\" + this.getBearerToken();\r\n }\r\n \r\n \r\n getMessageChat(chatId: string, fromId: string, toId: string): Observable<Array<ChatMessage4App>> {\r\n let url = this.chatUrl + \"chatmessage/\" + chatId + \"/\" + fromId + \"/\" + toId;\r\n \r\n return this.http.get<Array<ChatMessage4App>>(url,\r\n {\r\n headers: new HttpHeaders().set('Authorization', this.getBearerToken())\r\n })\r\n \r\n }\r\n getMessageChatByGrop(chatId: string, groupId: string, fromId: string): Observable<Array<ChatMessage4App>> {\r\n let url = this.chatUrl + \"chatmessage/byGroup/\" + chatId + \"/\" + groupId + \"/\" + fromId;\r\n \r\n return this.http.get<Array<ChatMessage4App>>(url,\r\n {\r\n headers: new HttpHeaders().set('Authorization', this.getBearerToken())\r\n })\r\n \r\n }\r\n \r\n \r\n addMessageChat(chatMessage4App: ChatMessage4App): Observable<ChatMessage4App> {\r\n let url = this.chatUrl + \"chatmessage/\" + chatMessage4App.chatId;\r\n \r\n return this.http.post<ChatMessage4App>(url, chatMessage4App,\r\n {\r\n headers: new HttpHeaders().set('Authorization', this.getBearerToken())\r\n })\r\n \r\n }\r\n props(chatFilterRequest4App: Array<ChatFilterRequest4App>): Observable<ChatUserResponse4App[]> {\r\n let url = this.chatUrl + \"chatmessage/props\";\r\n \r\n return this.http.post<ChatUserResponse4App[]>(url, chatFilterRequest4App,\r\n {\r\n headers: new HttpHeaders().set('Authorization', this.getBearerToken())\r\n })\r\n \r\n }\r\n \r\n \r\n removeUsersChat(chatId: string, chatUsersId?: string[], chatUsersExternalId?: string[]): Observable<ChatUser4App[]> {\r\n let params = new Array();\r\n if (chatUsersId && chatUsersId.length > 0) {\r\n \r\n chatUsersId.forEach(cui => {\r\n params.push(\"chatUserId=\" + cui);\r\n });\r\n } else if (chatUsersExternalId && chatUsersExternalId.length > 0) {\r\n chatUsersExternalId.forEach(cuei => {\r\n params.push(\"chatUserExternalId=\" + cuei);\r\n })\r\n \r\n }\r\n \r\n let url = this.chatUrl + \"chatuser/\" + chatId + \"?\" + params.join(\"&\");\r\n \r\n return this.http.delete<ChatUser4App[]>(url,\r\n {\r\n headers: new HttpHeaders().set('Authorization', this.getBearerToken())\r\n })\r\n }\r\n \r\n removeUserChat(chatId: string, chatUserId?: string, chatUserExternalId?: string): Observable<ChatUser4App> {\r\n let param = \"\";\r\n if (chatUserId) {\r\n param = \"chatUserId=\" + chatUserId;\r\n } else {\r\n param = \"chatUserExternalId=\" + chatUserExternalId;\r\n }\r\n \r\n let url = this.chatUrl + \"chatuser/\" + chatId + \"?\" + param;\r\n \r\n return this.http.delete<ChatUser4App>(url,\r\n {\r\n headers: new HttpHeaders().set('Authorization', this.getBearerToken())\r\n })\r\n }\r\n \r\n updateUserChat(chatId: string, charUser4AppUpdate: ChatUser4App): Observable<ChatUser4App> {\r\n \r\n let url = this.chatUrl + \"chatuser/\" + chatId;\r\n \r\n return this.http.put<ChatUser4App>(url, charUser4AppUpdate,\r\n {\r\n headers: new HttpHeaders().set('Authorization', this.getBearerToken())\r\n })\r\n }\r\n \r\n \r\n createUserChat(chatId: string, chatUser4App: ChatUser4App): Observable<ChatUser4App> {\r\n let url = this.chatUrl + \"chatuser/\" + chatId;\r\n \r\n return this.http.post<ChatUser4App>(url, chatUser4App,\r\n {\r\n headers: new HttpHeaders().set('Authorization', this.getBearerToken())\r\n })\r\n }\r\n \r\n createUsersChat(chatId: string, chatUser4App: ChatUser4App[]): Observable<ChatUser4App[]> {\r\n let url = this.chatUrl + \"chatuser/users/\" + chatId;\r\n \r\n return this.http.post<ChatUser4App[]>(url, chatUser4App,\r\n {\r\n headers: new HttpHeaders().set('Authorization', this.getBearerToken())\r\n })\r\n }\r\n \r\n \r\n createChat(chat4app: Chat4App): Observable<Chat4App> {\r\n let url = this.chatUrl + \"chat\";\r\n \r\n return this.http.post<Chat4App>(url, chat4app,\r\n {\r\n headers: new HttpHeaders().set('Authorization', this.getBearerToken())\r\n })\r\n }\r\n createUpdateChat(chat4app: Chat4App): Observable<Chat4App> {\r\n let url = this.chatUrl + \"chat\";\r\n \r\n return this.http.put<Chat4App>(url, chat4app,\r\n {\r\n headers: new HttpHeaders().set('Authorization', this.getBearerToken())\r\n })\r\n }\r\n \r\n \r\n getLastMessageGroup(chatExternalId: string, groupId: string): Observable<ChatUserResponse4App> {\r\n \r\n let url = this.chatUrl + \"chatmessage/lastMessageGroup?chatExternalId=\" + chatExternalId + \"&groupId=\" + groupId;\r\n \r\n return this.http.get<ChatUserResponse4App>(url,\r\n {\r\n headers: new HttpHeaders().set('Authorization', this.getBearerToken())\r\n })\r\n }\r\n getLastMessage(chatExternalId: string, chatUserExternalId: string): Observable<ChatUserResponse4App> {\r\n \r\n let url = this.chatUrl + \"chatmessage/lastMessage?chatExternalId=\" + chatExternalId + \"&chatUserExternalId=\" + chatUserExternalId;\r\n \r\n return this.http.get<ChatUserResponse4App>(url,\r\n {\r\n headers: new HttpHeaders().set('Authorization', this.getBearerToken())\r\n })\r\n }\r\n countNotReadMessages(chatUserExternalId: string, chatExternalId?: string, groupId?: string): Observable<ChatUserResponse4App> {\r\n \r\n let url = this.chatUrl + \"chatmessage/countNotReadMessages?chatUserExternalId=\" + chatUserExternalId;\r\n \r\n if (chatExternalId && chatExternalId.length > 0) {\r\n url += \"&chatExternalId=\" + chatExternalId;\r\n }\r\n \r\n if (groupId && groupId.length > 0) {\r\n url += \"&groupId=\" + groupId;\r\n }\r\n \r\n return this.http.get<ChatUserResponse4App>(url,\r\n {\r\n headers: new HttpHeaders().set('Authorization', this.getBearerToken())\r\n })\r\n }\r\n \r\n \r\n getChatByExternalId(externalId: string): Observable<Chat4App> {\r\n \r\n let url = this.chatUrl + \"chat?externalId=\" + externalId;\r\n \r\n return this.http.get<Chat4App>(url,\r\n {\r\n headers: new HttpHeaders().set('Authorization', this.getBearerToken())\r\n })\r\n }\r\n\r\n getChatById(id: string): Observable<Chat4App> {\r\n \r\n let url = this.chatUrl + \"chat?chatId=\" + id;\r\n \r\n return this.http.get<Chat4App>(url,\r\n {\r\n headers: new HttpHeaders().set('Authorization', this.getBearerToken())\r\n })\r\n }\r\n\r\n listChatByUser(externalUserId: string, userId: string, chatStatus: ChatStatus4App ): Observable<Array< Chat4App>> {\r\n \r\n let url = this.chatUrl + \"chat/listChatByUser/?externalUserId=\" + externalUserId \r\n + \"&userId=\" + userId\r\n + \"&chatStatus=\" + chatStatus;\r\n \r\n return this.http.get<Array<Chat4App>>(url,\r\n {\r\n headers: new HttpHeaders().set('Authorization', this.getBearerToken())\r\n })\r\n }\r\n\r\n closeChat(chatId: string, chatExternalId: string): Observable<void> {\r\n \r\n let url = this.chatUrl ;\r\n\r\n if (chatId && chatId.length > 0){\r\n url+= \"chat?chatId=\" + chatId; \r\n }\r\n \r\n if (chatExternalId && chatExternalId.length > 0){\r\n url+= \"chat?externalId=\" + chatExternalId; \r\n }\r\n \r\n return this.http.delete<void>(url,\r\n {\r\n headers: new HttpHeaders().set('Authorization', this.getBearerToken())\r\n })\r\n }\r\n\r\n readMessage(chatMessageId: string, toId?: string): Observable<void> {\r\n \r\n let url = this.chatUrl + \"chatmessage/read/\" + chatMessageId;\r\n \r\n if (toId && toId.length > 0) {\r\n url += \"/\" + toId;\r\n }\r\n \r\n return this.http.put<void>(url, null,\r\n {\r\n headers: new HttpHeaders().set('Authorization', this.getBearerToken())\r\n })\r\n }\r\n online(chatId: string): Observable<number> {\r\n \r\n let url = this.chatUrl + \"chatmessage/online/\" + chatId ;\r\n \r\n return this.http.get<number>(url,\r\n {\r\n headers: new HttpHeaders().set('Authorization', this.getBearerToken())\r\n })\r\n }\r\n\r\n sendFile(chatId: string, fromId: string, toId: string, fileToUpload: File): Observable<ChatMessageFile4App> {\r\n const endpoint = this.chatUrl + \"chatmessage/sendFile/\" + chatId + \"/\" + fromId + \"/\" + toId;\r\n \r\n const formData: FormData = new FormData();\r\n formData.append('file', fileToUpload);\r\n \r\n return this.http\r\n .post<ChatMessageFile4App>(endpoint, formData,\r\n {\r\n headers: new HttpHeaders().set('Authorization', this.getBearerToken())\r\n });\r\n }\r\n \r\n sendFileGroup(chatId: string, fromId: string, groupId: string, fileToUpload: File): Observable<ChatMessageFile4App> {\r\n const endpoint = this.chatUrl + \"chatmessage/sendFileGroup/\" + chatId + \"/\" + fromId + \"/\" + groupId;\r\n \r\n const formData: FormData = new FormData();\r\n formData.append('file', fileToUpload);\r\n \r\n return this.http\r\n .post<ChatMessageFile4App>(endpoint, formData,\r\n {\r\n headers: new HttpHeaders().set('Authorization', this.getBearerToken())\r\n });\r\n }\r\n\r\n translateMessage(chatMessageId: string, languageTarget: string): Observable<Chat4AppTranslate> {\r\n \r\n let url = this.chatUrl + \"chatmessage/translate/\" + chatMessageId + \"/\" + languageTarget;\r\n \r\n return this.http.get<Chat4AppTranslate>(url,\r\n {\r\n headers: new HttpHeaders().set('Authorization', this.getBearerToken())\r\n })\r\n }\r\n\r\n startTyping(chatId: string,fromId: string, toId: string): Observable<void> {\r\n \r\n let url = this.chatUrl + \"chatmessage/startTyping/\" + chatId + \"/\" + fromId + \"/\" + toId;\r\n \r\n return this.http.put<void>(url, null,\r\n {\r\n headers: new HttpHeaders().set('Authorization', this.getBearerToken())\r\n })\r\n }\r\n\r\n startTypingGroup(chatId: string,fromId: string, groupId: string): Observable<void> {\r\n \r\n let url = this.chatUrl + \"chatmessage/startTypingGroup/\" + chatId + \"/\" + fromId + \"/\" + groupId;\r\n \r\n return this.http.put<void>(url, null,\r\n {\r\n headers: new HttpHeaders().set('Authorization', this.getBearerToken())\r\n })\r\n }\r\n stopTyping(chatId: string,fromId: string, toId: string): Observable<void> {\r\n \r\n let url = this.chatUrl + \"chatmessage/stopTyping/\" + chatId + \"/\" + fromId + \"/\" + toId;\r\n \r\n return this.http.put<void>(url, null,\r\n {\r\n headers: new HttpHeaders().set('Authorization', this.getBearerToken())\r\n })\r\n }\r\n\r\n stopTypingGroup(chatId: string,fromId: string, groupId: string): Observable<void> {\r\n \r\n let url = this.chatUrl + \"chatmessage/stopTypingGroup/\" + chatId + \"/\" + fromId + \"/\" + groupId;\r\n \r\n return this.http.put<void>(url, null,\r\n {\r\n headers: new HttpHeaders().set('Authorization', this.getBearerToken())\r\n })\r\n }\r\n\r\n \r\n /* Token */\r\n getBearerToken(): string {\r\n \r\n let ret = \"Bearer \" + window.sessionStorage.getItem(\"chat4AppSessionToken\");\r\n \r\n return ret;\r\n }\r\n \r\n \r\n setTokenChat4app(chat4AppSessionToken: string) {\r\n \r\n \r\n window.sessionStorage.setItem(\"chat4AppSessionToken\", chat4AppSessionToken);\r\n }\r\n \r\n \r\n /* Connection */\r\n \r\n onMessageFirebaseReceived(data: any, chatCallback: IChatCallback) {\r\n \r\n \r\n //alert(\"onMessageReceived connectFirebase\");\r\n \r\n if (data.type == \"msg\") {\r\n \r\n let chat4appMessage = new Chat4AppMessageReceive();\r\n chat4appMessage.data.chatId = data.chatId;\r\n chat4appMessage.data.chatMessageId = data.chatMessageId;\r\n chat4appMessage.data.externalId = data.externalId;\r\n chat4appMessage.data.fromId = data.fromId;\r\n chat4appMessage.data.toId = data.toId;\r\n chat4appMessage.data.groupId = data.groupId;\r\n chat4appMessage.data.dateHour = data.dateHour;\r\n chat4appMessage.data.type = data.type;\r\n chat4appMessage.notification.body = data.body;\r\n \r\n if (data.fileId && data.fileId.length > 0) {\r\n chat4appMessage.data.fileId = data.fileId;\r\n chat4appMessage.data.fileName = data.fileName;\r\n chat4appMessage.data.fileSize = data.fileSize;\r\n chat4appMessage.data.fileType = data.fileType;\r\n \r\n }\r\n \r\n let datTmp = new Map<string, string>();\r\n \r\n for (let key in data) {\r\n datTmp.set(key, data[key]);\r\n }\r\n \r\n chat4appMessage.data.all = datTmp;\r\n \r\n chatCallback.onMessage(chat4appMessage);\r\n \r\n } else if ((data.type == \"on\" || data.type == \"off\")) {\r\n let chat4appMessage = new Chat4AppMessageReceive();\r\n chat4appMessage.data.chatId = data.chatId;\r\n chat4appMessage.data.chatMessageId = data.chatMessageId;\r\n chat4appMessage.data.externalId = data.externalId;\r\n chat4appMessage.data.fromId = data.fromId;\r\n chat4appMessage.data.toId = data.toId;\r\n chat4appMessage.data.groupId = data.groupId;\r\n chat4appMessage.data.dateHour = data.dateHour;\r\n chat4appMessage.data.type = data.type;\r\n\r\n let datTmp = new Map<string, string>();\r\n \r\n for (let key in data) {\r\n datTmp.set(key, data[key]);\r\n }\r\n \r\n chat4appMessage.data.all = datTmp;\r\n \r\n chatCallback.onOffline(chat4appMessage);\r\n\r\n } else if (data.type == \"read\" ) {\r\n let chat4appMessage = new Chat4AppMessageReceive();\r\n chat4appMessage.data.chatId = data.chatId;\r\n chat4appMessage.data.chatMessageId = data.chatMessageId;\r\n chat4appMessage.data.externalId = data.externalId;\r\n chat4appMessage.data.fromId = data.fromId;\r\n chat4appMessage.data.toId = data.toId;\r\n chat4appMessage.data.groupId = data.groupId;\r\n chat4appMessage.data.dateHour = data.dateHour;\r\n chat4appMessage.data.type = data.type;\r\n\r\n let datTmp = new Map<string, string>();\r\n \r\n for (let key in data) {\r\n datTmp.set(key, data[key]);\r\n }\r\n \r\n chat4appMessage.data.all = datTmp;\r\n \r\n chatCallback.onRead(chat4appMessage);\r\n } else if (data.type == \"startTyping\" || data.type == \"stopTyping\" ) {\r\n let chat4appMessage = new Chat4AppMessageReceive();\r\n chat4appMessage.data.chatId = data.chatId;\r\n chat4appMessage.data.chatMessageId = data.chatMessageId;\r\n chat4appMessage.data.externalId = data.externalId;\r\n chat4appMessage.data.fromId = data.fromId;\r\n chat4appMessage.data.toId = data.toId;\r\n chat4appMessage.data.groupId = data.groupId;\r\n chat4appMessage.data.dateHour = data.dateHour;\r\n chat4appMessage.data.type = data.type;\r\n\r\n let datTmp = new Map<string, string>();\r\n \r\n for (let key in data) {\r\n datTmp.set(key, data[key]);\r\n }\r\n \r\n chat4appMessage.data.all = datTmp;\r\n \r\n chatCallback.onStartStopTyping(chat4appMessage);\r\n } else if (data.type == \"new_user\" ) {\r\n let chat4appMessage = new Chat4AppMessageReceive();\r\n chat4appMessage.data.chatId = data.chatId;\r\n chat4appMessage.data.chatMessageId = data.chatMessageId;\r\n chat4appMessage.data.externalId = data.externalId;\r\n chat4appMessage.data.fromId = data.fromId;\r\n chat4appMessage.data.toId = data.toId;\r\n chat4appMessage.data.groupId = data.groupId;\r\n chat4appMessage.data.dateHour = data.dateHour;\r\n chat4appMessage.data.type = data.type;\r\n\r\n let datTmp = new Map<string, string>();\r\n \r\n for (let key in data) {\r\n datTmp.set(key, data[key]);\r\n }\r\n \r\n chat4appMessage.data.all = datTmp;\r\n \r\n chatCallback.onNewUser(chat4appMessage);\r\n } else if (data.type == \"remove_user\" ) {\r\n let chat4appMessage = new Chat4AppMessageReceive();\r\n chat4appMessage.data.chatId = data.chatId;\r\n chat4appMessage.data.chatMessageId = data.chatMessageId;\r\n chat4appMessage.data.externalId = data.externalId;\r\n chat4appMessage.data.fromId = data.fromId;\r\n chat4appMessage.data.toId = data.toId;\r\n chat4appMessage.data.groupId = data.groupId;\r\n chat4appMessage.data.dateHour = data.dateHour;\r\n chat4appMessage.data.type = data.type;\r\n\r\n let datTmp = new Map<string, string>();\r\n \r\n for (let key in data) {\r\n datTmp.set(key, data[key]);\r\n }\r\n \r\n chat4appMessage.data.all = datTmp;\r\n \r\n chatCallback.onRemoveUser(chat4appMessage);\r\n } else if (data.type == \"chat_closed\" ) {\r\n let chat4appMessage = new Chat4AppMessageReceive();\r\n chat4appMessage.data.chatId = data.chatId;\r\n chat4appMessage.data.chatMessageId = data.chatMessageId;\r\n chat4appMessage.data.externalId = data.externalId;\r\n chat4appMessage.data.fromId = data.fromId;\r\n chat4appMessage.data.toId = data.toId;\r\n chat4appMessage.data.groupId = data.groupId;\r\n chat4appMessage.data.dateHour = data.dateHour;\r\n chat4appMessage.data.type = data.type;\r\n\r\n let datTmp = new Map<string, string>();\r\n \r\n for (let key in data) {\r\n datTmp.set(key, data[key]);\r\n }\r\n \r\n chat4appMessage.data.all = datTmp;\r\n \r\n chatCallback.onChatClosed(chat4appMessage);\r\n }\r\n\r\n \r\n }\r\n \r\n connectWebsocket(chatCallback: IChatCallback, token: string) {\r\n this.disconnect();\r\n \r\n let securityToken = this.getBearerToken();\r\n \r\n this.sock = new SockJS(this.chatServer + '/stomp/gkz-stomp-endpoint?token=' + securityToken);\r\n this.stompClient = Stomp.over(this.sock);\r\n const that = this;\r\n\r\n this.stompClient.debug = function (msg: any) {\r\n if (this.debug) {\r\n console.log(msg);\r\n }\r\n \r\n }\r\n\r\n let tokenAuth = \"\";\r\n\r\n if (securityToken && securityToken.startsWith(\"Bearer \")){\r\n tokenAuth = securityToken;\r\n } else {\r\n tokenAuth = \"Bearer \" + securityToken;\r\n }\r\n \r\n this.stompClient.connect({\"X-Authorization\": tokenAuth}, (frame: any) => {\r\n //console.log(frame);\r\n that.timeoutReconnect = 500;\r\n \r\n this.stompClient.subscribe('/queue/' + token, (msg: any) => {\r\n //console.log('mensagem', msg);\r\n \r\n if (msg.command == \"MESSAGE\") {\r\n \r\n //console.log(msg)\r\n\r\n if (!chatCallback.isTokenFirebaseActive()) {\r\n \r\n let msgObj = JSON.parse(msg.body);\r\n \r\n let datTmp = new Map<string, string>();\r\n \r\n for (let key in msgObj.data) {\r\n datTmp.set(key, msgObj.data[key]);\r\n }\r\n \r\n msgObj.data.all = datTmp;\r\n \r\n if (msgObj.data.type == \"msg\") {\r\n chatCallback.onMessage(msgObj);\r\n } else if ((msgObj.data.type == \"on\" || msgObj.data.type == \"off\")) {\r\n chatCallback.onOffline(msgObj);\r\n } else if (msgObj.data.type == \"read\" ) {\r\n chatCallback.onRead(msgObj);\r\n } else if (msgObj.data.type == \"startTyping\" || msgObj.data.type == \"stopTyping\") {\r\n chatCallback.onStartStopTyping(msgObj);\r\n } else if (msgObj.data.type == \"new_user\") {\r\n chatCallback.onNewUser(msgObj);\r\n } else if (msgObj.data.type == \"remove_user\") {\r\n chatCallback.onRemoveUser(msgObj);\r\n } else if (msgObj.data.type == \"chat_closed\") {\r\n chatCallback.onChatClosed(msgObj);\r\n }\r\n }\r\n\r\n \r\n //callback(msg.body);\r\n // ichatcallback.forEach((iChat)=>{\r\n // iChat.onMessage(JSON.parse(msg.body) );\r\n // });\r\n }\r\n \r\n });\r\n },\r\n (message: any) => {\r\n // check message for disconnect\r\n //console.log(\"Disconnect\");\r\n \r\n setTimeout(() => {\r\n that.timeoutReconnect*=100;\r\n this.connectWebsocket(chatCallback, token);\r\n }, that.timeoutReconnect);\r\n \r\n });\r\n \r\n }\r\n \r\n disconnect() {\r\n// console.log(\"disconnect\")\r\n try {\r\n if (this.stompClient) {\r\n this.stompClient.disconnect();\r\n }\r\n \r\n } catch (e) {\r\n console.log(e);\r\n }\r\n }\r\n\r\n convertChat4AppMessageReceiveToChatMessage4App(msg: Chat4AppMessageReceive): ChatMessage4App{\r\n let message = new ChatMessage4App();\r\n message.body = msg?.notification?.body;\r\n message.chatId = msg.data.chatId;\r\n message.fromId = msg.data.fromId;\r\n message.toId = msg.data.toId;\r\n message.groupId = msg.data.groupId;\r\n message.replyFrom = msg.data.replyFrom;\r\n if (msg.data.dateHour && msg.data.dateHour.length > 0) {\r\n message.dateHourIncluded = msg.data.dateHour.substring(6,10) + \"-\" \r\n + msg.data.dateHour.substring(3,5) + \"-\" \r\n + msg.data.dateHour.substring(0,2) \r\n + msg.data.dateHour.substring(10) \r\n ;\r\n }\r\n message.id = msg.data.chatMessageId;\r\n\r\n if (msg.data.fileId && msg.data.fileId.length > 0) {\r\n let messageFile = new ChatMessageFile4App();\r\n \r\n messageFile.id = msg.data.fileId;\r\n messageFile.name = msg.data.fileName;\r\n messageFile.size = msg.data.fileSize;\r\n messageFile.type = msg.data.fileType;\r\n\r\n message.chatMessageFile = messageFile;\r\n }\r\n\r\n if (msg.data.vFileId && msg.data.vFileId.length > 0) {\r\n let messageFile = new ChatMessageFile4App();\r\n \r\n messageFile.id = msg.data.vFileId;\r\n messageFile.name = msg.data.vFileName;\r\n messageFile.size = msg.data.vFileSize;\r\n messageFile.type = msg.data.vFileType;\r\n\r\n message.chatVoiceFile = messageFile;\r\n }\r\n\r\n\r\n return message;\r\n\r\n }\r\n \r\n }\r\n \r\n \r\n export class Chat4App {\r\n id: string;\r\n configId: string;\r\n externalId: string;\r\n title: string;\r\n status: ChatStatus4App;\r\n users: Array<ChatUser4App>;\r\n\r\n meta: Array<ChatMessageMeta4App>;\r\n \r\n }\r\n export class ChatUser4App {\r\n id: string;\r\n name: string;\r\n clientToken: string;\r\n picturePath: string;\r\n email: string;\r\n phoneNumber: string;\r\n externalId: string;\r\n meta: Array<ChatMessageMeta4App>;\r\n status: ChatUserStatus4App;\r\n }\r\n export class ChatMessage4App {\r\n id: string;\r\n fromId: string;\r\n toId: string;\r\n chatId: string;\r\n title: string;\r\n body: string;\r\n meta: Array<ChatMessageMeta4App>;\r\n groupId: string;\r\n read: Boolean;\r\n replyFrom: string;\r\n dateHourIncluded: string;\r\n gToIdRead: string[];\r\n chatMessageFile: ChatMessageFile4App;\r\n chatVoiceFile: ChatMessageFile4App;\r\n }\r\n export class ChatMessageFile4App {\r\n id: string;\r\n name: string;\r\n type: string;\r\n size: number;\r\n fullPath: string;\r\n }\r\n export class ChatMessageMeta4App {\r\n name: string;\r\n value: string;\r\n }\r\n export class Chat4AppMessageReceive {\r\n data: Chat4AppMessageReceiveData = new Chat4AppMessageReceiveData();\r\n notification: Chat4AppMessageReceiveNotification = new Chat4AppMessageReceiveNotification();\r\n token: string;\r\n }\r\n export class Chat4AppMessageReceiveData {\r\n toId: string;\r\n chatId: string;\r\n dateHour: string;\r\n chatMessageId: string;\r\n externalId: string;\r\n type: string;\r\n fromId: string;\r\n replyFrom: string;\r\n groupId: string;\r\n fileId: string;\r\n fileName: string;\r\n fileSize: number;\r\n fileType: string;\r\n vFileId: string;\r\n vFileName: string;\r\n vFileSize: number;\r\n vFileType: string;\r\n\r\n all: Map<string, string>;\r\n }\r\n export class Chat4AppMessageReceiveNotification {\r\n body: string;\r\n }\r\n \r\n export class ChatUserResponse4App {\r\n totalMessages: number;\r\n chat: Chat4App;\r\n chatMessage: ChatMessage4App;\r\n chats: ChatUserResponse4App[];\r\n }\r\n export class ChatFilterRequest4App {\r\n type: ChatFilterType;\r\n chatExternalId: string;\r\n chatUserExternalId: string;\r\n groupId: string;\r\n }\r\n export class Chat4AppConfig {\r\n constructor(public endpoint: string, public debug?: boolean) {\r\n \r\n }\r\n }\r\n\r\n export class Chat4AppTranslate {\r\n text: string;\r\n translatedText: string;\r\n originalSourceLanguageCode: string;\r\n sourceLanguageCode: string;\r\n targetLanguageCode: string;\r\n messageId: string;\r\n }\r\n\r\n\r\n \r\n export enum ChatStatus4App {\r\n CREATED = \"CREATED\",\r\n CLOSED = \"CLOSED\"\r\n \r\n }\r\n export enum ChatUserStatus4App {\r\n REMOVED = \"REMOVED\"\r\n \r\n }\r\n export enum ChatFilterType {\r\n COUNT_NOT_READ = 1,\r\n LAST_MESSAGE = 2\r\n }\r\n \r\n export interface IChatCallback {\r\n isTokenFirebaseActive(): Boolean;\r\n onMessage(msg: Chat4AppMessageReceive): void;\r\n onOffline(msg: Chat4AppMessageReceive): void;\r\n onRead(msg: Chat4AppMessageReceive): void;\r\n onStartStopTyping(msg: Chat4AppMessageReceive): void;\r\n onNewUser(msg: Chat4AppMessageReceive): void;\r\n onRemoveUser(msg: Chat4AppMessageReceive): void;\r\n onChatClosed(msg: Chat4AppMessageReceive): void;\r\n }\r\n ","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-chat4app-client-angular',\r\n template: `\r\n <p>\r\n chat4app-client-angular works!\r\n </p>\r\n `,\r\n styles: [\r\n ]\r\n})\r\nexport class Chat4appClientAngularComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { Chat4appClientAngularComponent } from './chat4app-client-angular.component';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [Chat4appClientAngularComponent],\r\n imports: [\r\n ],\r\n exports: [Chat4appClientAngularComponent]\r\n})\r\nexport class Chat4appClientAngularModule { }\r\n","/*\r\n * Public API Surface of chat4app-client-angular\r\n */\r\n\r\nexport * from './lib/chat4app-client-angular.service';\r\nexport * from './lib/chat4app-client-angular.component';\r\nexport * from './lib/chat4app-client-angular.module';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["HttpHeaders","SockJS","Stomp","Injectable","HttpClient","ChatStatus4App","ChatUserStatus4App","ChatFilterType","Component","NgModule"],"mappings":"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"}
|
|
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';\r\nimport * as Stomp from 'stompjs';\r\nimport * as SockJS from 'sockjs-client';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\n\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class Chat4appClientAngularService implements OnInit {\r\n\r\n chatServer = \"\";\r\n chatUrl = \"\";\r\n debug = false;\r\n \r\n sock: any;\r\n stompClient: any;\r\n\r\n timeoutReconnect = 500;\r\n\r\n constructor( private http: HttpClient) {\r\n \r\n }\r\n ngOnInit(): void {\r\n }\r\n\r\n config(chat4AppConfig: Chat4AppConfig) {\r\n this.chatServer = chat4AppConfig.endpoint;\r\n this.chatUrl = chat4AppConfig.endpoint + \"/api/v1/\" ;\r\n this.debug = chat4AppConfig.debug;\r\n }\r\n \r\n init(securityChatToken: string, callback: any, chatCallback?: IChatCallback, connectionClientId?: string) {\r\n\r\n if (!this.chatServer || this.chatServer.trim().length == 0){\r\n throw new Error(\"Endpoint is empty\");\r\n }\r\n if (!securityChatToken || securityChatToken.trim().length == 0){\r\n throw new Error(\"SecurityChatToken is empty\");\r\n }\r\n\r\n this.setTokenChat4app(securityChatToken);\r\n \r\n if (chatCallback && connectionClientId) {\r\n this.connectWebsocket(chatCallback, connectionClientId);\r\n }\r\n \r\n callback(securityChatToken);\r\n }\r\n \r\n getChatUrlDownload(messageFileId: string) {\r\n return this.chatUrl + \"chatmessage/getFile?messageFileId=\" + messageFileId + \"&token=\" + this.getBearerToken();\r\n }\r\n \r\n \r\n getMessageChat(chatId: string, fromId: string, toId: string): Observable<Array<ChatMessage4App>> {\r\n let url = this.chatUrl + \"chatmessage/\" + chatId + \"/\" + fromId + \"/\" + toId;\r\n \r\n return this.http.get<Array<ChatMessage4App>>(url,\r\n {\r\n headers: new HttpHeaders().set('Authorization', this.getBearerToken())\r\n })\r\n \r\n }\r\n getMessageChatByGrop(chatId: string, groupId: string, fromId: string): Observable<Array<ChatMessage4App>> {\r\n let url = this.chatUrl + \"chatmessage/byGroup/\" + chatId + \"/\" + groupId + \"/\" + fromId;\r\n \r\n return this.http.get<Array<ChatMessage4App>>(url,\r\n {\r\n headers: new HttpHeaders().set('Authorization', this.getBearerToken())\r\n })\r\n \r\n }\r\n \r\n \r\n addMessageChat(chatMessage4App: ChatMessage4App): Observable<ChatMessage4App> {\r\n let url = this.chatUrl + \"chatmessage/\" + chatMessage4App.chatId;\r\n \r\n return this.http.post<ChatMessage4App>(url, chatMessage4App,\r\n {\r\n headers: new HttpHeaders().set('Authorization', this.getBearerToken())\r\n })\r\n \r\n }\r\n props(chatFilterRequest4App: Array<ChatFilterRequest4App>): Observable<ChatUserResponse4App[]> {\r\n let url = this.chatUrl + \"chatmessage/props\";\r\n \r\n return this.http.post<ChatUserResponse4App[]>(url, chatFilterRequest4App,\r\n {\r\n headers: new HttpHeaders().set('Authorization', this.getBearerToken())\r\n })\r\n \r\n }\r\n \r\n \r\n removeUsersChat(chatId: string, chatUsersId?: string[], chatUsersExternalId?: string[]): Observable<ChatUser4App[]> {\r\n let params = new Array();\r\n if (chatUsersId && chatUsersId.length > 0) {\r\n \r\n chatUsersId.forEach(cui => {\r\n params.push(\"chatUserId=\" + cui);\r\n });\r\n } else if (chatUsersExternalId && chatUsersExternalId.length > 0) {\r\n chatUsersExternalId.forEach(cuei => {\r\n params.push(\"chatUserExternalId=\" + cuei);\r\n })\r\n \r\n }\r\n \r\n let url = this.chatUrl + \"chatuser/\" + chatId + \"?\" + params.join(\"&\");\r\n \r\n return this.http.delete<ChatUser4App[]>(url,\r\n {\r\n headers: new HttpHeaders().set('Authorization', this.getBearerToken())\r\n })\r\n }\r\n \r\n removeUserChat(chatId: string, chatUserId?: string, chatUserExternalId?: string): Observable<ChatUser4App> {\r\n let param = \"\";\r\n if (chatUserId) {\r\n param = \"chatUserId=\" + chatUserId;\r\n } else {\r\n param = \"chatUserExternalId=\" + chatUserExternalId;\r\n }\r\n \r\n let url = this.chatUrl + \"chatuser/\" + chatId + \"?\" + param;\r\n \r\n return this.http.delete<ChatUser4App>(url,\r\n {\r\n headers: new HttpHeaders().set('Authorization', this.getBearerToken())\r\n })\r\n }\r\n \r\n updateUserChat(chatId: string, charUser4AppUpdate: ChatUser4App): Observable<ChatUser4App> {\r\n \r\n let url = this.chatUrl + \"chatuser/\" + chatId;\r\n \r\n return this.http.put<ChatUser4App>(url, charUser4AppUpdate,\r\n {\r\n headers: new HttpHeaders().set('Authorization', this.getBearerToken())\r\n })\r\n }\r\n \r\n \r\n createUserChat(chatId: string, chatUser4App: ChatUser4App): Observable<ChatUser4App> {\r\n let url = this.chatUrl + \"chatuser/\" + chatId;\r\n \r\n return this.http.post<ChatUser4App>(url, chatUser4App,\r\n {\r\n headers: new HttpHeaders().set('Authorization', this.getBearerToken())\r\n })\r\n }\r\n \r\n createUsersChat(chatId: string, chatUser4App: ChatUser4App[]): Observable<ChatUser4App[]> {\r\n let url = this.chatUrl + \"chatuser/users/\" + chatId;\r\n \r\n return this.http.post<ChatUser4App[]>(url, chatUser4App,\r\n {\r\n headers: new HttpHeaders().set('Authorization', this.getBearerToken())\r\n })\r\n }\r\n \r\n \r\n createChat(chat4app: Chat4App): Observable<Chat4App> {\r\n let url = this.chatUrl + \"chat\";\r\n \r\n return this.http.post<Chat4App>(url, chat4app,\r\n {\r\n headers: new HttpHeaders().set('Authorization', this.getBearerToken())\r\n })\r\n }\r\n createUpdateChat(chat4app: Chat4App): Observable<Chat4App> {\r\n let url = this.chatUrl + \"chat\";\r\n \r\n return this.http.put<Chat4App>(url, chat4app,\r\n {\r\n headers: new HttpHeaders().set('Authorization', this.getBearerToken())\r\n })\r\n }\r\n \r\n \r\n getLastMessageGroup(chatExternalId: string, groupId: string): Observable<ChatUserResponse4App> {\r\n \r\n let url = this.chatUrl + \"chatmessage/lastMessageGroup?chatExternalId=\" + chatExternalId + \"&groupId=\" + groupId;\r\n \r\n return this.http.get<ChatUserResponse4App>(url,\r\n {\r\n headers: new HttpHeaders().set('Authorization', this.getBearerToken())\r\n })\r\n }\r\n getLastMessage(chatExternalId: string, chatUserExternalId: string): Observable<ChatUserResponse4App> {\r\n \r\n let url = this.chatUrl + \"chatmessage/lastMessage?chatExternalId=\" + chatExternalId + \"&chatUserExternalId=\" + chatUserExternalId;\r\n \r\n return this.http.get<ChatUserResponse4App>(url,\r\n {\r\n headers: new HttpHeaders().set('Authorization', this.getBearerToken())\r\n })\r\n }\r\n countNotReadMessages(chatUserExternalId: string, chatExternalId?: string, groupId?: string): Observable<ChatUserResponse4App> {\r\n \r\n let url = this.chatUrl + \"chatmessage/countNotReadMessages?chatUserExternalId=\" + chatUserExternalId;\r\n \r\n if (chatExternalId && chatExternalId.length > 0) {\r\n url += \"&chatExternalId=\" + chatExternalId;\r\n }\r\n \r\n if (groupId && groupId.length > 0) {\r\n url += \"&groupId=\" + groupId;\r\n }\r\n \r\n return this.http.get<ChatUserResponse4App>(url,\r\n {\r\n headers: new HttpHeaders().set('Authorization', this.getBearerToken())\r\n })\r\n }\r\n \r\n \r\n getChatByExternalId(externalId: string): Observable<Chat4App> {\r\n \r\n let url = this.chatUrl + \"chat?externalId=\" + externalId;\r\n \r\n return this.http.get<Chat4App>(url,\r\n {\r\n headers: new HttpHeaders().set('Authorization', this.getBearerToken())\r\n })\r\n }\r\n\r\n getChatById(id: string): Observable<Chat4App> {\r\n \r\n let url = this.chatUrl + \"chat?chatId=\" + id;\r\n \r\n return this.http.get<Chat4App>(url,\r\n {\r\n headers: new HttpHeaders().set('Authorization', this.getBearerToken())\r\n })\r\n }\r\n\r\n listChatByUser(externalUserId: string, userId: string, chatStatus: ChatStatus4App ): Observable<Array< Chat4App>> {\r\n \r\n let url = this.chatUrl + \"chat/listChatByUser/?externalUserId=\" + externalUserId \r\n + \"&userId=\" + userId\r\n + \"&chatStatus=\" + chatStatus;\r\n \r\n return this.http.get<Array<Chat4App>>(url,\r\n {\r\n headers: new HttpHeaders().set('Authorization', this.getBearerToken())\r\n })\r\n }\r\n\r\n closeChat(chatId: string, chatExternalId: string): Observable<void> {\r\n \r\n let url = this.chatUrl ;\r\n\r\n if (chatId && chatId.length > 0){\r\n url+= \"chat?chatId=\" + chatId; \r\n }\r\n \r\n if (chatExternalId && chatExternalId.length > 0){\r\n url+= \"chat?externalId=\" + chatExternalId; \r\n }\r\n \r\n return this.http.delete<void>(url,\r\n {\r\n headers: new HttpHeaders().set('Authorization', this.getBearerToken())\r\n })\r\n }\r\n\r\n readMessage(chatMessageId: string, toId?: string): Observable<void> {\r\n \r\n let url = this.chatUrl + \"chatmessage/read/\" + chatMessageId;\r\n \r\n if (toId && toId.length > 0) {\r\n url += \"/\" + toId;\r\n }\r\n \r\n return this.http.put<void>(url, null,\r\n {\r\n headers: new HttpHeaders().set('Authorization', this.getBearerToken())\r\n })\r\n }\r\n online(chatId: string): Observable<number> {\r\n \r\n let url = this.chatUrl + \"chatmessage/online/\" + chatId ;\r\n \r\n return this.http.get<number>(url,\r\n {\r\n headers: new HttpHeaders().set('Authorization', this.getBearerToken())\r\n })\r\n }\r\n\r\n sendFile(chatId: string, fromId: string, toId: string, fileToUpload: File): Observable<ChatMessageFile4App> {\r\n const endpoint = this.chatUrl + \"chatmessage/sendFile/\" + chatId + \"/\" + fromId + \"/\" + toId;\r\n \r\n const formData: FormData = new FormData();\r\n formData.append('file', fileToUpload);\r\n \r\n return this.http\r\n .post<ChatMessageFile4App>(endpoint, formData,\r\n {\r\n headers: new HttpHeaders().set('Authorization', this.getBearerToken())\r\n });\r\n }\r\n \r\n sendFileGroup(chatId: string, fromId: string, groupId: string, fileToUpload: File): Observable<ChatMessageFile4App> {\r\n const endpoint = this.chatUrl + \"chatmessage/sendFileGroup/\" + chatId + \"/\" + fromId + \"/\" + groupId;\r\n \r\n const formData: FormData = new FormData();\r\n formData.append('file', fileToUpload);\r\n \r\n return this.http\r\n .post<ChatMessageFile4App>(endpoint, formData,\r\n {\r\n headers: new HttpHeaders().set('Authorization', this.getBearerToken())\r\n });\r\n }\r\n\r\n translateMessage(chatMessageId: string, languageTarget: string): Observable<Chat4AppTranslate> {\r\n \r\n let url = this.chatUrl + \"chatmessage/translate/\" + chatMessageId + \"/\" + languageTarget;\r\n \r\n return this.http.get<Chat4AppTranslate>(url,\r\n {\r\n headers: new HttpHeaders().set('Authorization', this.getBearerToken())\r\n })\r\n }\r\n\r\n startTyping(chatId: string,fromId: string, toId: string): Observable<void> {\r\n \r\n let url = this.chatUrl + \"chatmessage/startTyping/\" + chatId + \"/\" + fromId + \"/\" + toId;\r\n \r\n return this.http.put<void>(url, null,\r\n {\r\n headers: new HttpHeaders().set('Authorization', this.getBearerToken())\r\n })\r\n }\r\n\r\n startTypingGroup(chatId: string,fromId: string, groupId: string): Observable<void> {\r\n \r\n let url = this.chatUrl + \"chatmessage/startTypingGroup/\" + chatId + \"/\" + fromId + \"/\" + groupId;\r\n \r\n return this.http.put<void>(url, null,\r\n {\r\n headers: new HttpHeaders().set('Authorization', this.getBearerToken())\r\n })\r\n }\r\n stopTyping(chatId: string,fromId: string, toId: string): Observable<void> {\r\n \r\n let url = this.chatUrl + \"chatmessage/stopTyping/\" + chatId + \"/\" + fromId + \"/\" + toId;\r\n \r\n return this.http.put<void>(url, null,\r\n {\r\n headers: new HttpHeaders().set('Authorization', this.getBearerToken())\r\n })\r\n }\r\n\r\n stopTypingGroup(chatId: string,fromId: string, groupId: string): Observable<void> {\r\n \r\n let url = this.chatUrl + \"chatmessage/stopTypingGroup/\" + chatId + \"/\" + fromId + \"/\" + groupId;\r\n \r\n return this.http.put<void>(url, null,\r\n {\r\n headers: new HttpHeaders().set('Authorization', this.getBearerToken())\r\n })\r\n }\r\n\r\n createGroup(group: ChatGroupApp): Observable<ChatGroupApp> {\r\n let url = this.chatUrl + \"/group\";\r\n \r\n return this.http.post<ChatGroupApp>(url, group,\r\n {\r\n headers: new HttpHeaders().set('Authorization', this.getBearerToken())\r\n })\r\n }\r\n getGroup(chatId: string, groupId: string): Observable<ChatGroupApp> {\r\n \r\n let url = this.chatUrl + \"/group/\" + groupId + \"/\" + chatId;\r\n \r\n return this.http.get<ChatGroupApp>(url,\r\n {\r\n headers: new HttpHeaders().set('Authorization', this.getBearerToken())\r\n })\r\n }\r\n\r\n listGroups(chatId?: string, externalId?: string): Observable<Array<ChatGroupApp>> {\r\n \r\n let url = this.chatUrl + \"/group/\" ;\r\n\r\n if (chatId && chatId.length>0) {\r\n url += \"&chatId=\" + chatId;\r\n }\r\n if (externalId && externalId.length>0) {\r\n url += \"&externalId=\" + externalId;\r\n }\r\n \r\n return this.http.get<Array<ChatGroupApp>>(url,\r\n {\r\n headers: new HttpHeaders().set('Authorization', this.getBearerToken())\r\n })\r\n }\r\n\r\n listFilesGroup(chatId: string, groupId: string): Observable<Array<ChatMessageFile4App>> {\r\n \r\n let url = this.chatUrl + \"/group/\" + chatId ;\r\n\r\n if (groupId && groupId.length>0) {\r\n url += \"&groupId=\" + chatId;\r\n }\r\n \r\n return this.http.get<Array<ChatMessageFile4App>>(url,\r\n {\r\n headers: new HttpHeaders().set('Authorization', this.getBearerToken())\r\n })\r\n }\r\n \r\n /* Token */\r\n getBearerToken(): string {\r\n \r\n let ret = \"Bearer \" + window.sessionStorage.getItem(\"chat4AppSessionToken\");\r\n \r\n return ret;\r\n }\r\n \r\n \r\n setTokenChat4app(chat4AppSessionToken: string) {\r\n \r\n \r\n window.sessionStorage.setItem(\"chat4AppSessionToken\", chat4AppSessionToken);\r\n }\r\n \r\n \r\n /* Connection */\r\n \r\n onMessageFirebaseReceived(data: any, chatCallback: IChatCallback) {\r\n \r\n \r\n //alert(\"onMessageReceived connectFirebase\");\r\n \r\n if (data.type == \"msg\") {\r\n \r\n let chat4appMessage = new Chat4AppMessageReceive();\r\n chat4appMessage.data.chatId = data.chatId;\r\n chat4appMessage.data.chatMessageId = data.chatMessageId;\r\n chat4appMessage.data.externalId = data.externalId;\r\n chat4appMessage.data.fromId = data.fromId;\r\n chat4appMessage.data.toId = data.toId;\r\n chat4appMessage.data.groupId = data.groupId;\r\n chat4appMessage.data.dateHour = data.dateHour;\r\n chat4appMessage.data.type = data.type;\r\n chat4appMessage.notification.body = data.body;\r\n \r\n if (data.fileId && data.fileId.length > 0) {\r\n chat4appMessage.data.fileId = data.fileId;\r\n chat4appMessage.data.fileName = data.fileName;\r\n chat4appMessage.data.fileSize = data.fileSize;\r\n chat4appMessage.data.fileType = data.fileType;\r\n \r\n }\r\n \r\n let datTmp = new Map<string, string>();\r\n \r\n for (let key in data) {\r\n datTmp.set(key, data[key]);\r\n }\r\n \r\n chat4appMessage.data.all = datTmp;\r\n \r\n chatCallback.onMessage(chat4appMessage);\r\n \r\n } else if ((data.type == \"on\" || data.type == \"off\")) {\r\n let chat4appMessage = new Chat4AppMessageReceive();\r\n chat4appMessage.data.chatId = data.chatId;\r\n chat4appMessage.data.chatMessageId = data.chatMessageId;\r\n chat4appMessage.data.externalId = data.externalId;\r\n chat4appMessage.data.fromId = data.fromId;\r\n chat4appMessage.data.toId = data.toId;\r\n chat4appMessage.data.groupId = data.groupId;\r\n chat4appMessage.data.dateHour = data.dateHour;\r\n chat4appMessage.data.type = data.type;\r\n\r\n let datTmp = new Map<string, string>();\r\n \r\n for (let key in data) {\r\n datTmp.set(key, data[key]);\r\n }\r\n \r\n chat4appMessage.data.all = datTmp;\r\n \r\n chatCallback.onOffline(chat4appMessage);\r\n\r\n } else if (data.type == \"read\" ) {\r\n let chat4appMessage = new Chat4AppMessageReceive();\r\n chat4appMessage.data.chatId = data.chatId;\r\n chat4appMessage.data.chatMessageId = data.chatMessageId;\r\n chat4appMessage.data.externalId = data.externalId;\r\n chat4appMessage.data.fromId = data.fromId;\r\n chat4appMessage.data.toId = data.toId;\r\n chat4appMessage.data.groupId = data.groupId;\r\n chat4appMessage.data.dateHour = data.dateHour;\r\n chat4appMessage.data.type = data.type;\r\n\r\n let datTmp = new Map<string, string>();\r\n \r\n for (let key in data) {\r\n datTmp.set(key, data[key]);\r\n }\r\n \r\n chat4appMessage.data.all = datTmp;\r\n \r\n chatCallback.onRead(chat4appMessage);\r\n } else if (data.type == \"startTyping\" || data.type == \"stopTyping\" ) {\r\n let chat4appMessage = new Chat4AppMessageReceive();\r\n chat4appMessage.data.chatId = data.chatId;\r\n chat4appMessage.data.chatMessageId = data.chatMessageId;\r\n chat4appMessage.data.externalId = data.externalId;\r\n chat4appMessage.data.fromId = data.fromId;\r\n chat4appMessage.data.toId = data.toId;\r\n chat4appMessage.data.groupId = data.groupId;\r\n chat4appMessage.data.dateHour = data.dateHour;\r\n chat4appMessage.data.type = data.type;\r\n\r\n let datTmp = new Map<string, string>();\r\n \r\n for (let key in data) {\r\n datTmp.set(key, data[key]);\r\n }\r\n \r\n chat4appMessage.data.all = datTmp;\r\n \r\n chatCallback.onStartStopTyping(chat4appMessage);\r\n } else if (data.type == \"new_user\" ) {\r\n let chat4appMessage = new Chat4AppMessageReceive();\r\n chat4appMessage.data.chatId = data.chatId;\r\n chat4appMessage.data.chatMessageId = data.chatMessageId;\r\n chat4appMessage.data.externalId = data.externalId;\r\n chat4appMessage.data.fromId = data.fromId;\r\n chat4appMessage.data.toId = data.toId;\r\n chat4appMessage.data.groupId = data.groupId;\r\n chat4appMessage.data.dateHour = data.dateHour;\r\n chat4appMessage.data.type = data.type;\r\n\r\n let datTmp = new Map<string, string>();\r\n \r\n for (let key in data) {\r\n datTmp.set(key, data[key]);\r\n }\r\n \r\n chat4appMessage.data.all = datTmp;\r\n \r\n chatCallback.onNewUser(chat4appMessage);\r\n } else if (data.type == \"remove_user\" ) {\r\n let chat4appMessage = new Chat4AppMessageReceive();\r\n chat4appMessage.data.chatId = data.chatId;\r\n chat4appMessage.data.chatMessageId = data.chatMessageId;\r\n chat4appMessage.data.externalId = data.externalId;\r\n chat4appMessage.data.fromId = data.fromId;\r\n chat4appMessage.data.toId = data.toId;\r\n chat4appMessage.data.groupId = data.groupId;\r\n chat4appMessage.data.dateHour = data.dateHour;\r\n chat4appMessage.data.type = data.type;\r\n\r\n let datTmp = new Map<string, string>();\r\n \r\n for (let key in data) {\r\n datTmp.set(key, data[key]);\r\n }\r\n \r\n chat4appMessage.data.all = datTmp;\r\n \r\n chatCallback.onRemoveUser(chat4appMessage);\r\n } else if (data.type == \"chat_closed\" ) {\r\n let chat4appMessage = new Chat4AppMessageReceive();\r\n chat4appMessage.data.chatId = data.chatId;\r\n chat4appMessage.data.chatMessageId = data.chatMessageId;\r\n chat4appMessage.data.externalId = data.externalId;\r\n chat4appMessage.data.fromId = data.fromId;\r\n chat4appMessage.data.toId = data.toId;\r\n chat4appMessage.data.groupId = data.groupId;\r\n chat4appMessage.data.dateHour = data.dateHour;\r\n chat4appMessage.data.type = data.type;\r\n\r\n let datTmp = new Map<string, string>();\r\n \r\n for (let key in data) {\r\n datTmp.set(key, data[key]);\r\n }\r\n \r\n chat4appMessage.data.all = datTmp;\r\n \r\n chatCallback.onChatClosed(chat4appMessage);\r\n }\r\n\r\n \r\n }\r\n \r\n connectWebsocket(chatCallback: IChatCallback, token: string) {\r\n this.disconnect();\r\n \r\n let securityToken = this.getBearerToken();\r\n \r\n this.sock = new SockJS(this.chatServer + '/stomp/gkz-stomp-endpoint?token=' + securityToken);\r\n this.stompClient = Stomp.over(this.sock);\r\n const that = this;\r\n\r\n this.stompClient.debug = function (msg: any) {\r\n if (this.debug) {\r\n console.log(msg);\r\n }\r\n \r\n }\r\n\r\n let tokenAuth = \"\";\r\n\r\n if (securityToken && securityToken.startsWith(\"Bearer \")){\r\n tokenAuth = securityToken;\r\n } else {\r\n tokenAuth = \"Bearer \" + securityToken;\r\n }\r\n \r\n this.stompClient.connect({\"X-Authorization\": tokenAuth}, (frame: any) => {\r\n //console.log(frame);\r\n that.timeoutReconnect = 500;\r\n \r\n this.stompClient.subscribe('/queue/' + token, (msg: any) => {\r\n //console.log('mensagem', msg);\r\n \r\n if (msg.command == \"MESSAGE\") {\r\n \r\n //console.log(msg)\r\n\r\n if (!chatCallback.isTokenFirebaseActive()) {\r\n \r\n let msgObj = JSON.parse(msg.body);\r\n \r\n let datTmp = new Map<string, string>();\r\n \r\n for (let key in msgObj.data) {\r\n datTmp.set(key, msgObj.data[key]);\r\n }\r\n \r\n msgObj.data.all = datTmp;\r\n \r\n if (msgObj.data.type == \"msg\") {\r\n chatCallback.onMessage(msgObj);\r\n } else if ((msgObj.data.type == \"on\" || msgObj.data.type == \"off\")) {\r\n chatCallback.onOffline(msgObj);\r\n } else if (msgObj.data.type == \"read\" ) {\r\n chatCallback.onRead(msgObj);\r\n } else if (msgObj.data.type == \"startTyping\" || msgObj.data.type == \"stopTyping\") {\r\n chatCallback.onStartStopTyping(msgObj);\r\n } else if (msgObj.data.type == \"new_user\") {\r\n chatCallback.onNewUser(msgObj);\r\n } else if (msgObj.data.type == \"remove_user\") {\r\n chatCallback.onRemoveUser(msgObj);\r\n } else if (msgObj.data.type == \"chat_closed\") {\r\n chatCallback.onChatClosed(msgObj);\r\n }\r\n }\r\n\r\n \r\n //callback(msg.body);\r\n // ichatcallback.forEach((iChat)=>{\r\n // iChat.onMessage(JSON.parse(msg.body) );\r\n // });\r\n }\r\n \r\n });\r\n },\r\n (message: any) => {\r\n // check message for disconnect\r\n //console.log(\"Disconnect\");\r\n \r\n setTimeout(() => {\r\n that.timeoutReconnect*=100;\r\n this.connectWebsocket(chatCallback, token);\r\n }, that.timeoutReconnect);\r\n \r\n });\r\n \r\n }\r\n \r\n disconnect() {\r\n// console.log(\"disconnect\")\r\n try {\r\n if (this.stompClient) {\r\n this.stompClient.disconnect();\r\n }\r\n \r\n } catch (e) {\r\n console.log(e);\r\n }\r\n }\r\n\r\n convertChat4AppMessageReceiveToChatMessage4App(msg: Chat4AppMessageReceive): ChatMessage4App{\r\n let message = new ChatMessage4App();\r\n message.body = msg?.notification?.body;\r\n message.chatId = msg.data.chatId;\r\n message.fromId = msg.data.fromId;\r\n message.toId = msg.data.toId;\r\n message.groupId = msg.data.groupId;\r\n message.replyFrom = msg.data.replyFrom;\r\n if (msg.data.dateHour && msg.data.dateHour.length > 0) {\r\n message.dateHourIncluded = msg.data.dateHour.substring(6,10) + \"-\" \r\n + msg.data.dateHour.substring(3,5) + \"-\" \r\n + msg.data.dateHour.substring(0,2) \r\n + msg.data.dateHour.substring(10) \r\n ;\r\n }\r\n message.id = msg.data.chatMessageId;\r\n\r\n if (msg.data.fileId && msg.data.fileId.length > 0) {\r\n let messageFile = new ChatMessageFile4App();\r\n \r\n messageFile.id = msg.data.fileId;\r\n messageFile.name = msg.data.fileName;\r\n messageFile.size = msg.data.fileSize;\r\n messageFile.type = msg.data.fileType;\r\n\r\n message.chatMessageFile = messageFile;\r\n }\r\n\r\n if (msg.data.vFileId && msg.data.vFileId.length > 0) {\r\n let messageFile = new ChatMessageFile4App();\r\n \r\n messageFile.id = msg.data.vFileId;\r\n messageFile.name = msg.data.vFileName;\r\n messageFile.size = msg.data.vFileSize;\r\n messageFile.type = msg.data.vFileType;\r\n\r\n message.chatVoiceFile = messageFile;\r\n }\r\n\r\n\r\n return message;\r\n\r\n }\r\n \r\n }\r\n \r\n \r\n export class Chat4App {\r\n id: string;\r\n configId: string;\r\n externalId: string;\r\n title: string;\r\n status: ChatStatus4App;\r\n users: Array<ChatUser4App>;\r\n\r\n meta: Array<ChatMessageMeta4App>;\r\n \r\n }\r\n export class ChatUser4App {\r\n id: string;\r\n name: string;\r\n clientToken: string;\r\n picturePath: string;\r\n email: string;\r\n phoneNumber: string;\r\n externalId: string;\r\n meta: Array<ChatMessageMeta4App>;\r\n status: ChatUserStatus4App;\r\n }\r\n export class ChatMessage4App {\r\n id: string;\r\n fromId: string;\r\n toId: string;\r\n chatId: string;\r\n title: string;\r\n body: string;\r\n meta: Array<ChatMessageMeta4App>;\r\n groupId: string;\r\n read: Boolean;\r\n replyFrom: string;\r\n dateHourIncluded: string;\r\n gToIdRead: string[];\r\n chatMessageFile: ChatMessageFile4App;\r\n chatVoiceFile: ChatMessageFile4App;\r\n }\r\n export class ChatMessageFile4App {\r\n id: string;\r\n name: string;\r\n type: string;\r\n size: number;\r\n fullPath: string;\r\n }\r\n export class ChatMessageMeta4App {\r\n name: string;\r\n value: string;\r\n }\r\n export class Chat4AppMessageReceive {\r\n data: Chat4AppMessageReceiveData = new Chat4AppMessageReceiveData();\r\n notification: Chat4AppMessageReceiveNotification = new Chat4AppMessageReceiveNotification();\r\n token: string;\r\n }\r\n export class Chat4AppMessageReceiveData {\r\n toId: string;\r\n chatId: string;\r\n dateHour: string;\r\n chatMessageId: string;\r\n externalId: string;\r\n type: string;\r\n fromId: string;\r\n replyFrom: string;\r\n groupId: string;\r\n fileId: string;\r\n fileName: string;\r\n fileSize: number;\r\n fileType: string;\r\n vFileId: string;\r\n vFileName: string;\r\n vFileSize: number;\r\n vFileType: string;\r\n\r\n all: Map<string, string>;\r\n }\r\n export class Chat4AppMessageReceiveNotification {\r\n body: string;\r\n }\r\n \r\n export class ChatUserResponse4App {\r\n totalMessages: number;\r\n chat: Chat4App;\r\n chatMessage: ChatMessage4App;\r\n chats: ChatUserResponse4App[];\r\n }\r\n export class ChatFilterRequest4App {\r\n type: ChatFilterType;\r\n chatExternalId: string;\r\n chatUserExternalId: string;\r\n groupId: string;\r\n }\r\n export class Chat4AppConfig {\r\n constructor(public endpoint: string, public debug?: boolean) {\r\n \r\n }\r\n }\r\n\r\n export class Chat4AppTranslate {\r\n text: string;\r\n translatedText: string;\r\n originalSourceLanguageCode: string;\r\n sourceLanguageCode: string;\r\n targetLanguageCode: string;\r\n messageId: string;\r\n }\r\n\r\n export class ChatGroupApp {\r\n id: string;\r\n chatId: string;\r\n externalId: string;\r\n title: string;\r\n description: string;\r\n users: Array<string>;\r\n files: Array<ChatMessageFile4App>;\r\n meta: Array<ChatMessageMeta4App>;\r\n status: GroupStatus4App;\r\n }\r\n\r\n \r\n export enum ChatStatus4App {\r\n CREATED = \"CREATED\",\r\n CLOSED = \"CLOSED\"\r\n \r\n }\r\n export enum ChatUserStatus4App {\r\n REMOVED = \"REMOVED\"\r\n \r\n }\r\n export enum ChatFilterType {\r\n COUNT_NOT_READ = 1,\r\n LAST_MESSAGE = 2\r\n }\r\n\r\n export enum GroupStatus4App {\r\n CREATED = \"CREATED\",\r\n CLOSED = \"REMOVED\"\r\n }\r\n\r\n \r\n export interface IChatCallback {\r\n isTokenFirebaseActive(): Boolean;\r\n onMessage(msg: Chat4AppMessageReceive): void;\r\n onOffline(msg: Chat4AppMessageReceive): void;\r\n onRead(msg: Chat4AppMessageReceive): void;\r\n onStartStopTyping(msg: Chat4AppMessageReceive): void;\r\n onNewUser(msg: Chat4AppMessageReceive): void;\r\n onRemoveUser(msg: Chat4AppMessageReceive): void;\r\n onChatClosed(msg: Chat4AppMessageReceive): void;\r\n }\r\n ","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-chat4app-client-angular',\r\n template: `\r\n <p>\r\n chat4app-client-angular works!\r\n </p>\r\n `,\r\n styles: [\r\n ]\r\n})\r\nexport class Chat4appClientAngularComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { Chat4appClientAngularComponent } from './chat4app-client-angular.component';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [Chat4appClientAngularComponent],\r\n imports: [\r\n ],\r\n exports: [Chat4appClientAngularComponent]\r\n})\r\nexport class Chat4appClientAngularModule { }\r\n","/*\r\n * Public API Surface of chat4app-client-angular\r\n */\r\n\r\nexport * from './lib/chat4app-client-angular.service';\r\nexport * from './lib/chat4app-client-angular.component';\r\nexport * from './lib/chat4app-client-angular.module';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["HttpHeaders","SockJS","Stomp","Injectable","HttpClient","ChatStatus4App","ChatUserStatus4App","ChatFilterType","GroupStatus4App","Component","NgModule"],"mappings":"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"}
|
|
@@ -1,2 +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")):"function"==typeof define&&define.amd?define("chat4app-client-angular",["exports","@angular/core","stompjs","sockjs-client","@angular/common/http"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self)["chat4app-client-angular"]={},t.ng.core,t.Stomp,t.SockJS,t.ng.common.http)}(this,(function(t,e,a,r,n){"use strict";function o(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 s=o(e),i=o(a),d=o(r),h=o(n),p=function(){function t(t){this.http=t,this.chatServer="",this.chatUrl="",this.debug=!1,this.timeoutReconnect=500}return t.prototype.ngOnInit=function(){},t.prototype.config=function(t){this.chatServer=t.endpoint,this.chatUrl=t.endpoint+"/api/v1/",this.debug=t.debug},t.prototype.init=function(t,e,a,r){if(!this.chatServer||0==this.chatServer.trim().length)throw new Error("Endpoint is empty");if(!t||0==t.trim().length)throw new Error("SecurityChatToken is empty");this.setTokenChat4app(t),a&&r&&this.connectWebsocket(a,r),e(t)},t.prototype.getChatUrlDownload=function(t){return this.chatUrl+"chatmessage/getFile?messageFileId="+t+"&token="+this.getBearerToken()},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.getChatById=function(t){var e=this.chatUrl+"chat?chatId="+t;return this.http.get(e,{headers:(new n.HttpHeaders).set("Authorization",this.getBearerToken())})},t.prototype.listChatByUser=function(t,e,a){var r=this.chatUrl+"chat/listChatByUser/?externalUserId="+t+"&userId="+e+"&chatStatus="+a;return this.http.get(r,{headers:(new n.HttpHeaders).set("Authorization",this.getBearerToken())})},t.prototype.closeChat=function(t,e){var a=this.chatUrl;return t&&t.length>0&&(a+="chat?chatId="+t),e&&e.length>0&&(a+="chat?externalId="+e),this.http.delete(a,{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){var e=this.chatUrl+"chatmessage/online/"+t;return this.http.get(e,{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.translateMessage=function(t,e){var a=this.chatUrl+"chatmessage/translate/"+t+"/"+e;return this.http.get(a,{headers:(new n.HttpHeaders).set("Authorization",this.getBearerToken())})},t.prototype.startTyping=function(t,e,a){var r=this.chatUrl+"chatmessage/startTyping/"+t+"/"+e+"/"+a;return this.http.put(r,null,{headers:(new n.HttpHeaders).set("Authorization",this.getBearerToken())})},t.prototype.startTypingGroup=function(t,e,a){var r=this.chatUrl+"chatmessage/startTypingGroup/"+t+"/"+e+"/"+a;return this.http.put(r,null,{headers:(new n.HttpHeaders).set("Authorization",this.getBearerToken())})},t.prototype.stopTyping=function(t,e,a){var r=this.chatUrl+"chatmessage/stopTyping/"+t+"/"+e+"/"+a;return this.http.put(r,null,{headers:(new n.HttpHeaders).set("Authorization",this.getBearerToken())})},t.prototype.stopTypingGroup=function(t,e,a){var r=this.chatUrl+"chatmessage/stopTypingGroup/"+t+"/"+e+"/"+a;return this.http.put(r,null,{headers:(new n.HttpHeaders).set("Authorization",this.getBearerToken())})},t.prototype.getBearerToken=function(){return"Bearer "+window.sessionStorage.getItem("chat4AppSessionToken")},t.prototype.setTokenChat4app=function(t){window.sessionStorage.setItem("chat4AppSessionToken",t)},t.prototype.onMessageFirebaseReceived=function(t,e){if("msg"==t.type){(n=new m).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.groupId=t.groupId,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){(n=new m).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.groupId=t.groupId,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)}else if("read"==t.type){(n=new m).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.groupId=t.groupId,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.onRead(n)}else if("startTyping"==t.type||"stopTyping"==t.type){(n=new m).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.groupId=t.groupId,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.onStartStopTyping(n)}else if("new_user"==t.type){(n=new m).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.groupId=t.groupId,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.onNewUser(n)}else if("remove_user"==t.type){(n=new m).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.groupId=t.groupId,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.onRemoveUser(n)}else if("chat_closed"==t.type){var n;(n=new m).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.groupId=t.groupId,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.onChatClosed(n)}},t.prototype.connectWebsocket=function(t,e){var a=this;this.disconnect();var r=this.getBearerToken();this.sock=new d(this.chatServer+"/stomp/gkz-stomp-endpoint?token="+r),this.stompClient=i.over(this.sock);var n=this;this.stompClient.debug=function(t){this.debug&&console.log(t)};var o="";o=r&&r.startsWith("Bearer ")?r:"Bearer "+r,this.stompClient.connect({"X-Authorization":o},(function(r){n.timeoutReconnect=500,a.stompClient.subscribe("/queue/"+e,(function(e){if("MESSAGE"==e.command&&!t.isTokenFirebaseActive()){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):"read"==a.data.type?t.onRead(a):"startTyping"==a.data.type||"stopTyping"==a.data.type?t.onStartStopTyping(a):"new_user"==a.data.type?t.onNewUser(a):"remove_user"==a.data.type?t.onRemoveUser(a):"chat_closed"==a.data.type&&t.onChatClosed(a)}}))}),(function(r){setTimeout((function(){n.timeoutReconnect*=100,a.connectWebsocket(t,e)}),n.timeoutReconnect)}))},t.prototype.disconnect=function(){try{this.stompClient&&this.stompClient.disconnect()}catch(t){console.log(t)}},t.prototype.convertChat4AppMessageReceiveToChatMessage4App=function(t){var e,a,r=new f;(r.body=null===(e=null==t?void 0:t.notification)||void 0===e?void 0:e.body,r.chatId=t.data.chatId,r.fromId=t.data.fromId,r.toId=t.data.toId,r.groupId=t.data.groupId,r.replyFrom=t.data.replyFrom,t.data.dateHour&&t.data.dateHour.length>0&&(r.dateHourIncluded=t.data.dateHour.substring(6,10)+"-"+t.data.dateHour.substring(3,5)+"-"+t.data.dateHour.substring(0,2)+t.data.dateHour.substring(10)),r.id=t.data.chatMessageId,t.data.fileId&&t.data.fileId.length>0)&&((a=new I).id=t.data.fileId,a.name=t.data.fileName,a.size=t.data.fileSize,a.type=t.data.fileType,r.chatMessageFile=a);t.data.vFileId&&t.data.vFileId.length>0&&((a=new I).id=t.data.vFileId,a.name=t.data.vFileName,a.size=t.data.vFileSize,a.type=t.data.vFileType,r.chatVoiceFile=a);return r},t}();p.ɵprov=s.ɵɵdefineInjectable({factory:function(){return new p(s.ɵɵinject(h.HttpClient))},token:p,providedIn:"root"}),p.decorators=[{type:e.Injectable,args:[{providedIn:"root"}]}],p.ctorParameters=function(){return[{type:n.HttpClient}]};var c,u,l=function(){},g=function(){},f=function(){},I=function(){},y=function(){},m=function(){this.data=new v,this.notification=new H},v=function(){},H=function(){},T=function(){},C=function(){},w=function(t,e){this.endpoint=t,this.debug=e},A=function(){};t.ChatStatus4App=void 0,(c=t.ChatStatus4App||(t.ChatStatus4App={})).CREATED="CREATED",c.CLOSED="CLOSED",t.ChatUserStatus4App=void 0,(t.ChatUserStatus4App||(t.ChatUserStatus4App={})).REMOVED="REMOVED",t.ChatFilterType=void 0,(u=t.ChatFilterType||(t.ChatFilterType={}))[u.COUNT_NOT_READ=1]="COUNT_NOT_READ",u[u.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=l,t.Chat4AppConfig=w,t.Chat4AppMessageReceive=m,t.Chat4AppMessageReceiveData=v,t.Chat4AppMessageReceiveNotification=H,t.Chat4AppTranslate=A,t.Chat4appClientAngularComponent=U,t.Chat4appClientAngularModule=M,t.Chat4appClientAngularService=p,t.ChatFilterRequest4App=C,t.ChatMessage4App=f,t.ChatMessageFile4App=I,t.ChatMessageMeta4App=y,t.ChatUser4App=g,t.ChatUserResponse4App=T,Object.defineProperty(t,"__esModule",{value:!0})}));
|
|
1
|
+
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("@angular/core"),require("stompjs"),require("sockjs-client"),require("@angular/common/http")):"function"==typeof define&&define.amd?define("chat4app-client-angular",["exports","@angular/core","stompjs","sockjs-client","@angular/common/http"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self)["chat4app-client-angular"]={},t.ng.core,t.Stomp,t.SockJS,t.ng.common.http)}(this,(function(t,e,a,r,o){"use strict";function n(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 s=n(e),i=n(a),h=n(r),p=n(o),d=function(){function t(t){this.http=t,this.chatServer="",this.chatUrl="",this.debug=!1,this.timeoutReconnect=500}return t.prototype.ngOnInit=function(){},t.prototype.config=function(t){this.chatServer=t.endpoint,this.chatUrl=t.endpoint+"/api/v1/",this.debug=t.debug},t.prototype.init=function(t,e,a,r){if(!this.chatServer||0==this.chatServer.trim().length)throw new Error("Endpoint is empty");if(!t||0==t.trim().length)throw new Error("SecurityChatToken is empty");this.setTokenChat4app(t),a&&r&&this.connectWebsocket(a,r),e(t)},t.prototype.getChatUrlDownload=function(t){return this.chatUrl+"chatmessage/getFile?messageFileId="+t+"&token="+this.getBearerToken()},t.prototype.getMessageChat=function(t,e,a){var r=this.chatUrl+"chatmessage/"+t+"/"+e+"/"+a;return this.http.get(r,{headers:(new o.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 o.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 o.HttpHeaders).set("Authorization",this.getBearerToken())})},t.prototype.props=function(t){var e=this.chatUrl+"chatmessage/props";return this.http.post(e,t,{headers:(new o.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 n=this.chatUrl+"chatuser/"+t+"?"+r.join("&");return this.http.delete(n,{headers:(new o.HttpHeaders).set("Authorization",this.getBearerToken())})},t.prototype.removeUserChat=function(t,e,a){var r="";r=e?"chatUserId="+e:"chatUserExternalId="+a;var n=this.chatUrl+"chatuser/"+t+"?"+r;return this.http.delete(n,{headers:(new o.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 o.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 o.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 o.HttpHeaders).set("Authorization",this.getBearerToken())})},t.prototype.createChat=function(t){var e=this.chatUrl+"chat";return this.http.post(e,t,{headers:(new o.HttpHeaders).set("Authorization",this.getBearerToken())})},t.prototype.createUpdateChat=function(t){var e=this.chatUrl+"chat";return this.http.put(e,t,{headers:(new o.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 o.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 o.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 o.HttpHeaders).set("Authorization",this.getBearerToken())})},t.prototype.getChatByExternalId=function(t){var e=this.chatUrl+"chat?externalId="+t;return this.http.get(e,{headers:(new o.HttpHeaders).set("Authorization",this.getBearerToken())})},t.prototype.getChatById=function(t){var e=this.chatUrl+"chat?chatId="+t;return this.http.get(e,{headers:(new o.HttpHeaders).set("Authorization",this.getBearerToken())})},t.prototype.listChatByUser=function(t,e,a){var r=this.chatUrl+"chat/listChatByUser/?externalUserId="+t+"&userId="+e+"&chatStatus="+a;return this.http.get(r,{headers:(new o.HttpHeaders).set("Authorization",this.getBearerToken())})},t.prototype.closeChat=function(t,e){var a=this.chatUrl;return t&&t.length>0&&(a+="chat?chatId="+t),e&&e.length>0&&(a+="chat?externalId="+e),this.http.delete(a,{headers:(new o.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 o.HttpHeaders).set("Authorization",this.getBearerToken())})},t.prototype.online=function(t){var e=this.chatUrl+"chatmessage/online/"+t;return this.http.get(e,{headers:(new o.HttpHeaders).set("Authorization",this.getBearerToken())})},t.prototype.sendFile=function(t,e,a,r){var n=this.chatUrl+"chatmessage/sendFile/"+t+"/"+e+"/"+a,s=new FormData;return s.append("file",r),this.http.post(n,s,{headers:(new o.HttpHeaders).set("Authorization",this.getBearerToken())})},t.prototype.sendFileGroup=function(t,e,a,r){var n=this.chatUrl+"chatmessage/sendFileGroup/"+t+"/"+e+"/"+a,s=new FormData;return s.append("file",r),this.http.post(n,s,{headers:(new o.HttpHeaders).set("Authorization",this.getBearerToken())})},t.prototype.translateMessage=function(t,e){var a=this.chatUrl+"chatmessage/translate/"+t+"/"+e;return this.http.get(a,{headers:(new o.HttpHeaders).set("Authorization",this.getBearerToken())})},t.prototype.startTyping=function(t,e,a){var r=this.chatUrl+"chatmessage/startTyping/"+t+"/"+e+"/"+a;return this.http.put(r,null,{headers:(new o.HttpHeaders).set("Authorization",this.getBearerToken())})},t.prototype.startTypingGroup=function(t,e,a){var r=this.chatUrl+"chatmessage/startTypingGroup/"+t+"/"+e+"/"+a;return this.http.put(r,null,{headers:(new o.HttpHeaders).set("Authorization",this.getBearerToken())})},t.prototype.stopTyping=function(t,e,a){var r=this.chatUrl+"chatmessage/stopTyping/"+t+"/"+e+"/"+a;return this.http.put(r,null,{headers:(new o.HttpHeaders).set("Authorization",this.getBearerToken())})},t.prototype.stopTypingGroup=function(t,e,a){var r=this.chatUrl+"chatmessage/stopTypingGroup/"+t+"/"+e+"/"+a;return this.http.put(r,null,{headers:(new o.HttpHeaders).set("Authorization",this.getBearerToken())})},t.prototype.createGroup=function(t){var e=this.chatUrl+"/group";return this.http.post(e,t,{headers:(new o.HttpHeaders).set("Authorization",this.getBearerToken())})},t.prototype.getGroup=function(t,e){var a=this.chatUrl+"/group/"+e+"/"+t;return this.http.get(a,{headers:(new o.HttpHeaders).set("Authorization",this.getBearerToken())})},t.prototype.listGroups=function(t,e){var a=this.chatUrl+"/group/";return t&&t.length>0&&(a+="&chatId="+t),e&&e.length>0&&(a+="&externalId="+e),this.http.get(a,{headers:(new o.HttpHeaders).set("Authorization",this.getBearerToken())})},t.prototype.listFilesGroup=function(t,e){var a=this.chatUrl+"/group/"+t;return e&&e.length>0&&(a+="&groupId="+t),this.http.get(a,{headers:(new o.HttpHeaders).set("Authorization",this.getBearerToken())})},t.prototype.getBearerToken=function(){return"Bearer "+window.sessionStorage.getItem("chat4AppSessionToken")},t.prototype.setTokenChat4app=function(t){window.sessionStorage.setItem("chat4AppSessionToken",t)},t.prototype.onMessageFirebaseReceived=function(t,e){if("msg"==t.type){(o=new m).data.chatId=t.chatId,o.data.chatMessageId=t.chatMessageId,o.data.externalId=t.externalId,o.data.fromId=t.fromId,o.data.toId=t.toId,o.data.groupId=t.groupId,o.data.dateHour=t.dateHour,o.data.type=t.type,o.notification.body=t.body,t.fileId&&t.fileId.length>0&&(o.data.fileId=t.fileId,o.data.fileName=t.fileName,o.data.fileSize=t.fileSize,o.data.fileType=t.fileType);var a=new Map;for(var r in t)a.set(r,t[r]);o.data.all=a,e.onMessage(o)}else if("on"==t.type||"off"==t.type){(o=new m).data.chatId=t.chatId,o.data.chatMessageId=t.chatMessageId,o.data.externalId=t.externalId,o.data.fromId=t.fromId,o.data.toId=t.toId,o.data.groupId=t.groupId,o.data.dateHour=t.dateHour,o.data.type=t.type;a=new Map;for(var r in t)a.set(r,t[r]);o.data.all=a,e.onOffline(o)}else if("read"==t.type){(o=new m).data.chatId=t.chatId,o.data.chatMessageId=t.chatMessageId,o.data.externalId=t.externalId,o.data.fromId=t.fromId,o.data.toId=t.toId,o.data.groupId=t.groupId,o.data.dateHour=t.dateHour,o.data.type=t.type;a=new Map;for(var r in t)a.set(r,t[r]);o.data.all=a,e.onRead(o)}else if("startTyping"==t.type||"stopTyping"==t.type){(o=new m).data.chatId=t.chatId,o.data.chatMessageId=t.chatMessageId,o.data.externalId=t.externalId,o.data.fromId=t.fromId,o.data.toId=t.toId,o.data.groupId=t.groupId,o.data.dateHour=t.dateHour,o.data.type=t.type;a=new Map;for(var r in t)a.set(r,t[r]);o.data.all=a,e.onStartStopTyping(o)}else if("new_user"==t.type){(o=new m).data.chatId=t.chatId,o.data.chatMessageId=t.chatMessageId,o.data.externalId=t.externalId,o.data.fromId=t.fromId,o.data.toId=t.toId,o.data.groupId=t.groupId,o.data.dateHour=t.dateHour,o.data.type=t.type;a=new Map;for(var r in t)a.set(r,t[r]);o.data.all=a,e.onNewUser(o)}else if("remove_user"==t.type){(o=new m).data.chatId=t.chatId,o.data.chatMessageId=t.chatMessageId,o.data.externalId=t.externalId,o.data.fromId=t.fromId,o.data.toId=t.toId,o.data.groupId=t.groupId,o.data.dateHour=t.dateHour,o.data.type=t.type;a=new Map;for(var r in t)a.set(r,t[r]);o.data.all=a,e.onRemoveUser(o)}else if("chat_closed"==t.type){var o;(o=new m).data.chatId=t.chatId,o.data.chatMessageId=t.chatMessageId,o.data.externalId=t.externalId,o.data.fromId=t.fromId,o.data.toId=t.toId,o.data.groupId=t.groupId,o.data.dateHour=t.dateHour,o.data.type=t.type;a=new Map;for(var r in t)a.set(r,t[r]);o.data.all=a,e.onChatClosed(o)}},t.prototype.connectWebsocket=function(t,e){var a=this;this.disconnect();var r=this.getBearerToken();this.sock=new h(this.chatServer+"/stomp/gkz-stomp-endpoint?token="+r),this.stompClient=i.over(this.sock);var o=this;this.stompClient.debug=function(t){this.debug&&console.log(t)};var n="";n=r&&r.startsWith("Bearer ")?r:"Bearer "+r,this.stompClient.connect({"X-Authorization":n},(function(r){o.timeoutReconnect=500,a.stompClient.subscribe("/queue/"+e,(function(e){if("MESSAGE"==e.command&&!t.isTokenFirebaseActive()){var a=JSON.parse(e.body),r=new Map;for(var o in a.data)r.set(o,a.data[o]);a.data.all=r,"msg"==a.data.type?t.onMessage(a):"on"==a.data.type||"off"==a.data.type?t.onOffline(a):"read"==a.data.type?t.onRead(a):"startTyping"==a.data.type||"stopTyping"==a.data.type?t.onStartStopTyping(a):"new_user"==a.data.type?t.onNewUser(a):"remove_user"==a.data.type?t.onRemoveUser(a):"chat_closed"==a.data.type&&t.onChatClosed(a)}}))}),(function(r){setTimeout((function(){o.timeoutReconnect*=100,a.connectWebsocket(t,e)}),o.timeoutReconnect)}))},t.prototype.disconnect=function(){try{this.stompClient&&this.stompClient.disconnect()}catch(t){console.log(t)}},t.prototype.convertChat4AppMessageReceiveToChatMessage4App=function(t){var e,a,r=new I;(r.body=null===(e=null==t?void 0:t.notification)||void 0===e?void 0:e.body,r.chatId=t.data.chatId,r.fromId=t.data.fromId,r.toId=t.data.toId,r.groupId=t.data.groupId,r.replyFrom=t.data.replyFrom,t.data.dateHour&&t.data.dateHour.length>0&&(r.dateHourIncluded=t.data.dateHour.substring(6,10)+"-"+t.data.dateHour.substring(3,5)+"-"+t.data.dateHour.substring(0,2)+t.data.dateHour.substring(10)),r.id=t.data.chatMessageId,t.data.fileId&&t.data.fileId.length>0)&&((a=new y).id=t.data.fileId,a.name=t.data.fileName,a.size=t.data.fileSize,a.type=t.data.fileType,r.chatMessageFile=a);t.data.vFileId&&t.data.vFileId.length>0&&((a=new y).id=t.data.vFileId,a.name=t.data.vFileName,a.size=t.data.vFileSize,a.type=t.data.vFileType,r.chatVoiceFile=a);return r},t}();d.ɵprov=s.ɵɵdefineInjectable({factory:function(){return new d(s.ɵɵinject(p.HttpClient))},token:d,providedIn:"root"}),d.decorators=[{type:e.Injectable,args:[{providedIn:"root"}]}],d.ctorParameters=function(){return[{type:o.HttpClient}]};var u,c,l,g=function(){},f=function(){},I=function(){},y=function(){},v=function(){},m=function(){this.data=new H,this.notification=new T},H=function(){},T=function(){},A=function(){},C=function(){},w=function(t,e){this.endpoint=t,this.debug=e},U=function(){},M=function(){};t.ChatStatus4App=void 0,(u=t.ChatStatus4App||(t.ChatStatus4App={})).CREATED="CREATED",u.CLOSED="CLOSED",t.ChatUserStatus4App=void 0,(t.ChatUserStatus4App||(t.ChatUserStatus4App={})).REMOVED="REMOVED",t.ChatFilterType=void 0,(c=t.ChatFilterType||(t.ChatFilterType={}))[c.COUNT_NOT_READ=1]="COUNT_NOT_READ",c[c.LAST_MESSAGE=2]="LAST_MESSAGE",t.GroupStatus4App=void 0,(l=t.GroupStatus4App||(t.GroupStatus4App={})).CREATED="CREATED",l.CLOSED="REMOVED";var k=function(){function t(){}return t.prototype.ngOnInit=function(){},t}();k.decorators=[{type:e.Component,args:[{selector:"lib-chat4app-client-angular",template:"\n <p>\n chat4app-client-angular works!\n </p>\n "}]}],k.ctorParameters=function(){return[]};var S=function(){};S.decorators=[{type:e.NgModule,args:[{declarations:[k],imports:[],exports:[k]}]}],t.Chat4App=g,t.Chat4AppConfig=w,t.Chat4AppMessageReceive=m,t.Chat4AppMessageReceiveData=H,t.Chat4AppMessageReceiveNotification=T,t.Chat4AppTranslate=U,t.Chat4appClientAngularComponent=k,t.Chat4appClientAngularModule=S,t.Chat4appClientAngularService=d,t.ChatFilterRequest4App=C,t.ChatGroupApp=M,t.ChatMessage4App=I,t.ChatMessageFile4App=y,t.ChatMessageMeta4App=v,t.ChatUser4App=f,t.ChatUserResponse4App=A,Object.defineProperty(t,"__esModule",{value:!0})}));
|
|
2
2
|
//# sourceMappingURL=chat4app-client-angular.umd.min.js.map
|