Files
doneit-web/.angular/cache/14.2.12/babel-webpack/f832042f3d30f98257b4cc7ed950ce5d.json
T
Eudes Inácio 53b71ea16f its working
2023-06-30 09:54:21 +01:00

1 line
43 KiB
JSON

{"ast":null,"code":"import _asyncToGenerator from \"C:/Users/eudes.inacio/GabineteDigital/gabinete-digital-fo/node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js\";\nimport { __decorate } from \"tslib\";\nimport { HttpHeaders, HttpParams } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { HttpService } from './http.service';\nimport { StorageService } from './storage.service';\nimport { HttpClient } from '@angular/common/http';\nimport { environment } from 'src/environments/environment';\nimport { Storage } from '@ionic/storage';\nimport { PermissionService } from './permission.service';\nimport { SessionStore } from '../store/session.service';\nimport { ChangeProfileService } from 'src/app/services/change-profile.service';\nimport { NetworkServiceService, ConnectionStatus } from 'src/app/services/network-service.service';\nimport { RochetChatConnectorService } from 'src/app/services/chat/rochet-chat-connector.service';\nlet ChatService = class ChatService {\n constructor(http, httpService, storage, storageService, p, changeProfileService, NetworkServiceService, RochetChatConnectorService) {\n this.http = http;\n this.httpService = httpService;\n this.storage = storage;\n this.storageService = storageService;\n this.p = p;\n this.changeProfileService = changeProfileService;\n this.NetworkServiceService = NetworkServiceService;\n this.RochetChatConnectorService = RochetChatConnectorService;\n this.functionTimer = null;\n this.timerEventTriggerDate = null;\n this.timerEventTriggerDateLastUpdate = null;\n this.changeProfileService.registerCallback(() => {\n this.setheader();\n });\n }\n getDocumentDetails(url) {\n let headersc = new HttpHeaders();\n headersc = headersc.set('X-User-Id', SessionStore.user.ChatData.data.userId);\n headersc = headersc.set('X-Auth-Token', SessionStore.user.ChatData.data.authToken);\n headersc = headersc.set('Sec-Fetch-Dest', 'attachment');\n headersc = headersc.set('Sec-Fetch-Mode', 'navigate');\n headersc = headersc.set('Cookie', 'rc_uid=fsMwcNdufWvdnChj7');\n headersc = headersc.set('Cookie', 'rc_token=MLbhikLQI4xo9_vL43HqheKPPbxjag7hKfwxe9AjcvY');\n // headersc = headersc.set(\"Host\", \"www.tabularium.pt\");\n // headersc = headersc.set(\"Origin\", \"http://localhost:8100\");\n headersc = headersc.set('Referer', 'http://localhost:8100/');\n let optionsc = {\n headers: headersc,\n withCredentials: true\n };\n // let fullUrl = \"https://www.tabularium.pt/\" + url;\n return this.http.get(url, optionsc).subscribe(() => {\n // this.fileService.viewDocumentByUrl(url)\n });\n }\n getAllChannels() {\n return this.http.get(environment.apiChatUrl + 'channels.list', this.options);\n }\n getAllUserChannels() {\n return this.http.get(environment.apiChatUrl + 'channels.list.joined', this.options);\n }\n getAllRooms() {\n return this.http.get(environment.apiChatUrl + 'rooms.get', this.options);\n }\n getRoomInfo(roomId) {\n let params = new HttpParams();\n params = params.set(\"roomId\", roomId);\n let opts = {\n headers: this.headers,\n params: params\n };\n return this.http.get(environment.apiChatUrl + 'rooms.info', opts);\n }\n customsRooms(params) {\n let opts = {\n headers: this.headers,\n params: params\n };\n return this.http.get(environment.apiChatUrl + 'rooms.get', opts);\n }\n getAllPrivateGroups() {\n return this.http.get(environment.apiChatUrl + 'groups.list', this.options);\n }\n getAllUsers() {\n return this.http.get(environment.apiChatUrl + 'users.list', this.options);\n }\n getAllConnectedUsers() {\n return this.http.get(environment.apiChatUrl + 'users.presence', this.options);\n }\n //Load messages from roomId\n getAllDirectMessages() {\n return this.http.get(environment.apiChatUrl + 'im.list', this.options);\n }\n //Load messages from roomId\n getRoomMessages(roomId) {\n let params = new HttpParams();\n params = params.set(\"roomId\", roomId);\n let opts = {\n headers: this.headers,\n params: params\n };\n return this.http.get(environment.apiChatUrl + 'im.history', opts);\n }\n sendMessage(body) {\n let opts = {\n headers: this.headers\n };\n return this.http.post(environment.apiChatUrl + 'chat.sendMessage', body, opts);\n }\n uploadFile(formData, rid) {\n let url = environment.apiChatUrl + 'rooms.upload/' + rid;\n let opts = {\n headers: this.headers\n };\n return this.http.post(url, formData, opts);\n }\n deleteMessage(body) {\n let opts = {\n headers: this.headers\n };\n return this.http.post(environment.apiChatUrl + 'chat.delete', body, opts);\n }\n leaveRoom(body) {\n let opts = {\n headers: this.headers\n };\n return this.http.post(environment.apiChatUrl + 'rooms.leave', body, opts);\n }\n //Load members from a chat\n getMembers(roomId) {\n let params = new HttpParams();\n params = params.set(\"roomId\", roomId);\n let opts = {\n headers: this.headers,\n params: params\n };\n return this.http.get(environment.apiChatUrl + 'im.members', opts);\n }\n getMemberInfo(userId) {\n let params = new HttpParams();\n params = params.set(\"userId\", userId);\n let opts = {\n headers: this.headers,\n params: params\n };\n return this.http.get(environment.apiChatUrl + 'users.info', opts);\n }\n setUserStatus(body) {\n let opts = {\n headers: this.headers\n };\n return this.http.post(environment.apiChatUrl + 'users.setStatus', body, this.options);\n }\n removeChatRoom(body) {\n let opts = {\n headers: this.headers\n };\n return this.http.post(environment.apiChatUrl + 'im.delete', body, this.options);\n }\n createRoom(body) {\n return this.http.post(environment.apiChatUrl + 'im.create', body, this.options);\n }\n getDirectMessage(roomId) {\n let params = new HttpParams();\n params = params.set(\"roomId\", roomId);\n let opts = {\n headers: this.headers,\n params: params\n };\n return this.http.get(environment.apiChatUrl + 'im.messages', opts);\n }\n /* GROUPS */\n addGroup(body) {\n return this.http.post(environment.apiChatUrl + 'groups.create', body, this.options);\n }\n setGroupCustomFields(body) {\n return this.http.post(environment.apiChatUrl + 'groups.setCustomFields', body, this.options);\n }\n getGroupMembers(roomId) {\n let params = new HttpParams();\n let url = environment.apiChatUrl + 'groups.members';\n params = params.set(\"roomId\", roomId);\n let opts = {\n headers: this.headers,\n params: params\n };\n return this.http.get(url, opts);\n }\n getChannelMembers(roomId) {\n let params = new HttpParams();\n let url = environment.apiChatUrl + 'channels.members';\n params = params.set(\"roomId\", roomId);\n let opts = {\n headers: this.headers,\n params: params\n };\n return this.http.get(url, opts);\n }\n /* GROUP MESSAGES */\n getPrivateGroupMessages(roomId) {\n let params = new HttpParams();\n params = params.set(\"roomId\", roomId);\n let opts = {\n headers: this.headers,\n params: params\n };\n return this.http.get(environment.apiChatUrl + 'groups.history', opts);\n }\n getPublicGroupMessages(roomId) {\n let params = new HttpParams();\n params = params.set(\"roomId\", roomId);\n let opts = {\n headers: this.headers,\n params: params\n };\n return this.http.get(environment.apiChatUrl + 'channels.history', opts);\n }\n closeGroup(body) {\n return this.http.post(environment.apiChatUrl + 'groups.close', body, this.options);\n }\n closeChannel(body) {\n return this.http.post(environment.apiChatUrl + 'channels.close', body, this.options);\n }\n leaveGroup(body) {\n return this.http.post(environment.apiChatUrl + 'groups.leave', body, this.options);\n }\n leaveChannel(body) {\n return this.http.post(environment.apiChatUrl + 'channels.leave', body, this.options);\n }\n removeChannelMember(body) {\n let opts = {\n headers: this.headers\n };\n return this.http.post(environment.apiChatUrl + 'channels.kick', body, opts);\n }\n addChannelOwner(body) {\n return this.http.post(environment.apiChatUrl + 'channels.addOwner', body, this.options);\n }\n addGroupOwner(body) {\n return this.http.post(environment.apiChatUrl + 'groups.addOwner', body, this.options);\n }\n deleteGroup(body) {\n return this.http.post(environment.apiChatUrl + 'groups.delete', body, this.options);\n }\n deleteChannel(body) {\n return this.http.post(environment.apiChatUrl + 'channels.delete', body, this.options);\n }\n addUserToGroup(body) {\n return this.http.post(environment.apiChatUrl + 'groups.invite', body, this.options);\n }\n getGroupInfo(roomId) {\n let params = new HttpParams();\n params = params.set(\"roomId\", roomId);\n let opts = {\n headers: this.headers,\n params: params\n };\n return this.http.get(environment.apiChatUrl + 'groups.info', opts);\n }\n renameGroup(body) {\n return this.http.post(environment.apiChatUrl + 'groups.rename', body, this.options);\n }\n removeGroupMember(body) {\n let opts = {\n headers: this.headers\n };\n return this.http.post(environment.apiChatUrl + 'groups.kick', body, opts);\n }\n subscribe(roomId) {\n var _this = this;\n return _asyncToGenerator(function* () {\n let params = new HttpParams();\n params = params.set(\"roomId\", roomId);\n let opts = {\n headers: _this.headers,\n params: params\n };\n _this.http.get(environment.apiChatUrl + 'im.messages', opts).subscribe( /*#__PURE__*/function () {\n var _ref = _asyncToGenerator(function* (res) {\n if (res == 502) {\n // Connection timeout\n // happens when the connection was pending for too long\n // let's reconnect\n yield _this.subscribe(roomId);\n } else if (res != 200) {\n // Show Error\n //showMessage(response.statusText);\n _this.getRoomMessages(roomId);\n // Reconnect in one second\n yield new Promise(resolve => setTimeout(resolve, 1000)).catch(error => {\n console.error(error);\n });\n yield _this.subscribe(roomId);\n } else {\n // Got message\n //let message = await response.text();\n _this.getRoomMessages(roomId);\n yield _this.subscribe(roomId);\n }\n });\n return function (_x) {\n return _ref.apply(this, arguments);\n };\n }());\n })();\n }\n setheader() {\n try {\n if (this.p.userPermission(this.p.permissionList.Chat.access) && SessionStore.user.ChatData) {\n this.headers = new HttpHeaders();\n if (this.p.userPermission(this.p.permissionList.Chat.access)) {\n // \n this.headers = this.headers.set('X-User-Id', SessionStore.user.ChatData.data.userId);\n this.headers = this.headers.set('X-Auth-Token', SessionStore.user.ChatData.data.authToken);\n this.options = {\n headers: this.headers\n };\n this.resetTimer();\n }\n }\n } catch (error) {}\n }\n refreshtoken() {\n var _this2 = this;\n return _asyncToGenerator(function* () {\n if (_this2.headers && SessionStore.user.ChatData) {\n _this2.headers = _this2.headers.set('Authorization', SessionStore.user.BasicAuthKey);\n let options = {\n headers: _this2.headers\n };\n try {\n let res = yield _this2.http.get(environment.apiURL + 'UserAuthentication/RegenereChatToken', options).toPromise();\n let data = {\n status: res['status'],\n data: {\n userId: res['data'].userId,\n authToken: res['data'].authToken\n }\n };\n SessionStore.user.ChatData = data;\n SessionStore.save();\n _this2.setheader();\n _this2.timerEventTriggerDateLastUpdate = new Date();\n } catch (error) {\n if (_this2.NetworkServiceService.getCurrentNetworkStatus() == ConnectionStatus.Offline) {\n _this2.RochetChatConnectorService.registerCallback({\n requestId: 'refreshtoken',\n type: 'reConnect',\n funx: function () {\n var _ref2 = _asyncToGenerator(function* () {\n _this2.resetTimer();\n yield _this2.refreshtoken();\n return true;\n });\n return function funx() {\n return _ref2.apply(this, arguments);\n };\n }()\n });\n } else {\n setTimeout( /*#__PURE__*/_asyncToGenerator(function* () {\n _this2.resetTimer();\n yield _this2.refreshtoken();\n }), 60000);\n }\n }\n } else if (!SessionStore.user.ChatData) {\n // do nothing\n } else if (!_this2.headers) {\n _this2.setheader();\n _this2.refreshtoken();\n }\n })();\n }\n lastUpdateIs10sAgo() {\n const currentTime = new Date();\n const diffTime = Math.abs(currentTime - this.timerEventTriggerDateLastUpdate);\n if (this.timerEventTriggerDateLastUpdate == null) {\n return true;\n }\n if (diffTime >= 5000) {\n return true;\n }\n return false;\n }\n resetTimer() {\n clearTimeout(this.functionTimer);\n this.timerEventTriggerDate = new Date(+new Date() + 60000 * 15);\n this.functionTimer = setTimeout(() => {\n if (this.NetworkServiceService.getCurrentNetworkStatus() == ConnectionStatus.Online) {\n this.refreshtoken();\n } else {\n this.resetTimer();\n }\n }, 60000 * 15); // time is in milliseconds\n }\n};\n\nChatService.ctorParameters = () => [{\n type: HttpClient\n}, {\n type: HttpService\n}, {\n type: Storage\n}, {\n type: StorageService\n}, {\n type: PermissionService\n}, {\n type: ChangeProfileService\n}, {\n type: NetworkServiceService\n}, {\n type: RochetChatConnectorService\n}];\nChatService = __decorate([Injectable({\n providedIn: 'root'\n})], ChatService);\nexport { ChatService };","map":{"version":3,"mappings":";;AAAA,SAASA,WAAW,EAAEC,UAAU,QAAQ,sBAAsB;AAC9D,SAASC,UAAU,QAAQ,eAAe;AAC1C,SAASC,WAAW,QAAQ,gBAAgB;AAC5C,SAASC,cAAc,QAAQ,mBAAmB;AAClD,SAASC,UAAU,QAAQ,sBAAsB;AACjD,SAASC,WAAW,QAAQ,8BAA8B;AAC1D,SAASC,OAAO,QAAQ,gBAAgB;AACxC,SAASC,iBAAiB,QAAQ,sBAAsB;AACxD,SAASC,YAAY,QAAQ,0BAA0B;AACvD,SAASC,oBAAoB,QAAQ,yCAAyC;AAC9E,SAASC,qBAAqB,EAAGC,gBAAgB,QAAO,0CAA0C;AAClG,SAASC,0BAA0B,QAAQ,qDAAqD;AAKzF,IAAMC,WAAW,GAAjB,MAAMA,WAAW;EAStBC,YACUC,IAAgB,EAChBC,WAAwB,EACxBC,OAAgB,EAChBC,cAA8B,EAC/BC,CAAoB,EACnBC,oBAA0C,EAC1CV,qBAA4C,EAC5CE,0BAAsD;IAPtD,SAAI,GAAJG,IAAI;IACJ,gBAAW,GAAXC,WAAW;IACX,YAAO,GAAPC,OAAO;IACP,mBAAc,GAAdC,cAAc;IACf,MAAC,GAADC,CAAC;IACA,yBAAoB,GAApBC,oBAAoB;IACpB,0BAAqB,GAArBV,qBAAqB;IACrB,+BAA0B,GAA1BE,0BAA0B;IA2ZpC,kBAAa,GAAG,IAAI;IACpB,0BAAqB,GAAG,IAAI;IAC5B,oCAA+B,GAAG,IAAI;IA3ZpC,IAAI,CAACQ,oBAAoB,CAACC,gBAAgB,CAAC,MAAK;MAC9C,IAAI,CAACC,SAAS,EAAE;IAClB,CAAC,CAAC;EAEJ;EAEAC,kBAAkBA,CAACC,GAAW;IAC5B,IAAIC,QAAQ,GAAG,IAAI1B,WAAW,EAAE;IAChC0B,QAAQ,GAAGA,QAAQ,CAACC,GAAG,CAAC,WAAW,EAAElB,YAAY,CAACmB,IAAI,CAACC,QAAQ,CAACC,IAAI,CAACC,MAAM,CAAC;IAC5EL,QAAQ,GAAGA,QAAQ,CAACC,GAAG,CAAC,cAAc,EAAElB,YAAY,CAACmB,IAAI,CAACC,QAAQ,CAACC,IAAI,CAACE,SAAS,CAAC;IAClFN,QAAQ,GAAGA,QAAQ,CAACC,GAAG,CAAC,gBAAgB,EAAE,YAAY,CAAC;IACvDD,QAAQ,GAAGA,QAAQ,CAACC,GAAG,CAAC,gBAAgB,EAAE,UAAU,CAAC;IACrDD,QAAQ,GAAGA,QAAQ,CAACC,GAAG,CAAC,QAAQ,EAAE,0BAA0B,CAAC;IAC7DD,QAAQ,GAAGA,QAAQ,CAACC,GAAG,CAAC,QAAQ,EAAE,sDAAsD,CAAC;IACzF;IACA;IACAD,QAAQ,GAAGA,QAAQ,CAACC,GAAG,CAAC,SAAS,EAAE,wBAAwB,CAAC;IAC5D,IAAIM,QAAQ,GAAG;MACbC,OAAO,EAAER,QAAQ;MACjBS,eAAe,EAAE;KAClB;IACD;IACA,OAAO,IAAI,CAACnB,IAAI,CAACoB,GAAG,CAACX,GAAG,EAAEQ,QAAQ,CAAC,CAACI,SAAS,CAAC,MAAK;MACjD;IAAA,CACD,CAAC;EACJ;EAEAC,cAAcA;IACZ,OAAO,IAAI,CAACtB,IAAI,CAACoB,GAAG,CAAC9B,WAAW,CAACiC,UAAU,GAAG,eAAe,EAAE,IAAI,CAACC,OAAO,CAAC;EAC9E;EAEAC,kBAAkBA;IAChB,OAAO,IAAI,CAACzB,IAAI,CAACoB,GAAG,CAAC9B,WAAW,CAACiC,UAAU,GAAG,sBAAsB,EAAE,IAAI,CAACC,OAAO,CAAC;EACrF;EAEAE,WAAWA;IACT,OAAO,IAAI,CAAC1B,IAAI,CAACoB,GAAG,CAAC9B,WAAW,CAACiC,UAAU,GAAG,WAAW,EAAE,IAAI,CAACC,OAAO,CAAC;EAC1E;EAEAG,WAAWA,CAACC,MAAW;IACrB,IAAIC,MAAM,GAAG,IAAI5C,UAAU,EAAE;IAC7B4C,MAAM,GAAGA,MAAM,CAAClB,GAAG,CAAC,QAAQ,EAAEiB,MAAM,CAAC;IACrC,IAAIE,IAAI,GAAG;MACTZ,OAAO,EAAE,IAAI,CAACA,OAAO;MACrBW,MAAM,EAAEA;KACT;IACD,OAAO,IAAI,CAAC7B,IAAI,CAACoB,GAAG,CAAC9B,WAAW,CAACiC,UAAU,GAAG,YAAY,EAAEO,IAAI,CAAC;EACnE;EAEAC,YAAYA,CAACF,MAAW;IACtB,IAAIC,IAAI,GAAG;MACTZ,OAAO,EAAE,IAAI,CAACA,OAAO;MACrBW,MAAM,EAAEA;KACT;IACD,OAAO,IAAI,CAAC7B,IAAI,CAACoB,GAAG,CAAC9B,WAAW,CAACiC,UAAU,GAAG,WAAW,EAAEO,IAAI,CAAC;EAClE;EACAE,mBAAmBA;IACjB,OAAO,IAAI,CAAChC,IAAI,CAACoB,GAAG,CAAC9B,WAAW,CAACiC,UAAU,GAAG,aAAa,EAAE,IAAI,CAACC,OAAO,CAAC;EAC5E;EAEAS,WAAWA;IACT,OAAO,IAAI,CAACjC,IAAI,CAACoB,GAAG,CAAC9B,WAAW,CAACiC,UAAU,GAAG,YAAY,EAAE,IAAI,CAACC,OAAO,CAAC;EAC3E;EACAU,oBAAoBA;IAClB,OAAO,IAAI,CAAClC,IAAI,CAACoB,GAAG,CAAC9B,WAAW,CAACiC,UAAU,GAAG,gBAAgB,EAAE,IAAI,CAACC,OAAO,CAAC;EAC/E;EAEA;EACAW,oBAAoBA;IAClB,OAAO,IAAI,CAACnC,IAAI,CAACoB,GAAG,CAAC9B,WAAW,CAACiC,UAAU,GAAG,SAAS,EAAE,IAAI,CAACC,OAAO,CAAC;EACxE;EACA;EACAY,eAAeA,CAACR,MAAW;IAEzB,IAAIC,MAAM,GAAG,IAAI5C,UAAU,EAAE;IAC7B4C,MAAM,GAAGA,MAAM,CAAClB,GAAG,CAAC,QAAQ,EAAEiB,MAAM,CAAC;IAErC,IAAIE,IAAI,GAAG;MACTZ,OAAO,EAAE,IAAI,CAACA,OAAO;MACrBW,MAAM,EAAEA;KACT;IACD,OAAO,IAAI,CAAC7B,IAAI,CAACoB,GAAG,CAAC9B,WAAW,CAACiC,UAAU,GAAG,YAAY,EAAEO,IAAI,CAAC;EACnE;EAEAO,WAAWA,CAACC,IAAS;IACnB,IAAIR,IAAI,GAAG;MACTZ,OAAO,EAAE,IAAI,CAACA;KACf;IACD,OAAO,IAAI,CAAClB,IAAI,CAACuC,IAAI,CAACjD,WAAW,CAACiC,UAAU,GAAG,kBAAkB,EAAEe,IAAI,EAAER,IAAI,CAAC;EAChF;EAEAU,UAAUA,CAACC,QAAa,EAAEC,GAAW;IACnC,IAAIjC,GAAG,GAAGnB,WAAW,CAACiC,UAAU,GAAG,eAAe,GAAGmB,GAAG;IACxD,IAAIZ,IAAI,GAAG;MACTZ,OAAO,EAAE,IAAI,CAACA;KACf;IACD,OAAO,IAAI,CAAClB,IAAI,CAACuC,IAAI,CAAC9B,GAAG,EAAEgC,QAAQ,EAAEX,IAAI,CAAC;EAC5C;EAEAa,aAAaA,CAACL,IAAS;IACrB,IAAIR,IAAI,GAAG;MACTZ,OAAO,EAAE,IAAI,CAACA;KACf;IACD,OAAO,IAAI,CAAClB,IAAI,CAACuC,IAAI,CAACjD,WAAW,CAACiC,UAAU,GAAG,aAAa,EAAEe,IAAI,EAAER,IAAI,CAAC;EAC3E;EAEAc,SAASA,CAACN,IAAS;IACjB,IAAIR,IAAI,GAAG;MACTZ,OAAO,EAAE,IAAI,CAACA;KACf;IACD,OAAO,IAAI,CAAClB,IAAI,CAACuC,IAAI,CAACjD,WAAW,CAACiC,UAAU,GAAG,aAAa,EAAEe,IAAI,EAAER,IAAI,CAAC;EAC3E;EACA;EACAe,UAAUA,CAACjB,MAAW;IAEpB,IAAIC,MAAM,GAAG,IAAI5C,UAAU,EAAE;IAC7B4C,MAAM,GAAGA,MAAM,CAAClB,GAAG,CAAC,QAAQ,EAAEiB,MAAM,CAAC;IAErC,IAAIE,IAAI,GAAG;MACTZ,OAAO,EAAE,IAAI,CAACA,OAAO;MACrBW,MAAM,EAAEA;KACT;IACD,OAAO,IAAI,CAAC7B,IAAI,CAACoB,GAAG,CAAC9B,WAAW,CAACiC,UAAU,GAAG,YAAY,EAAEO,IAAI,CAAC;EACnE;EAEAgB,aAAaA,CAAC/B,MAAc;IAC1B,IAAIc,MAAM,GAAG,IAAI5C,UAAU,EAAE;IAC7B4C,MAAM,GAAGA,MAAM,CAAClB,GAAG,CAAC,QAAQ,EAAEI,MAAM,CAAC;IAErC,IAAIe,IAAI,GAAG;MACTZ,OAAO,EAAE,IAAI,CAACA,OAAO;MACrBW,MAAM,EAAEA;KACT;IACD,OAAO,IAAI,CAAC7B,IAAI,CAACoB,GAAG,CAAC9B,WAAW,CAACiC,UAAU,GAAG,YAAY,EAAEO,IAAI,CAAC;EACnE;EAEAiB,aAAaA,CAACT,IAAS;IACrB,IAAIR,IAAI,GAAG;MACTZ,OAAO,EAAE,IAAI,CAACA;KACf;IACD,OAAO,IAAI,CAAClB,IAAI,CAACuC,IAAI,CAACjD,WAAW,CAACiC,UAAU,GAAG,iBAAiB,EAAEe,IAAI,EAAE,IAAI,CAACd,OAAO,CAAC;EACvF;EAEAwB,cAAcA,CAACV,IAAS;IACtB,IAAIR,IAAI,GAAG;MACTZ,OAAO,EAAE,IAAI,CAACA;KACf;IACD,OAAO,IAAI,CAAClB,IAAI,CAACuC,IAAI,CAACjD,WAAW,CAACiC,UAAU,GAAG,WAAW,EAAEe,IAAI,EAAE,IAAI,CAACd,OAAO,CAAC;EACjF;EAEAyB,UAAUA,CAACX,IAAS;IAClB,OAAO,IAAI,CAACtC,IAAI,CAACuC,IAAI,CAACjD,WAAW,CAACiC,UAAU,GAAG,WAAW,EAAEe,IAAI,EAAE,IAAI,CAACd,OAAO,CAAC;EACjF;EACA0B,gBAAgBA,CAACtB,MAAc;IAC7B,IAAIC,MAAM,GAAG,IAAI5C,UAAU,EAAE;IAC7B4C,MAAM,GAAGA,MAAM,CAAClB,GAAG,CAAC,QAAQ,EAAEiB,MAAM,CAAC;IAErC,IAAIE,IAAI,GAAG;MACTZ,OAAO,EAAE,IAAI,CAACA,OAAO;MACrBW,MAAM,EAAEA;KACT;IACD,OAAO,IAAI,CAAC7B,IAAI,CAACoB,GAAG,CAAC9B,WAAW,CAACiC,UAAU,GAAG,aAAa,EAAEO,IAAI,CAAC;EACpE;EAEA;EACAqB,QAAQA,CAACb,IAAS;IAEhB,OAAO,IAAI,CAACtC,IAAI,CAACuC,IAAI,CAACjD,WAAW,CAACiC,UAAU,GAAG,eAAe,EAAEe,IAAI,EAAE,IAAI,CAACd,OAAO,CAAC;EACrF;EACA4B,oBAAoBA,CAACd,IAAS;IAC5B,OAAO,IAAI,CAACtC,IAAI,CAACuC,IAAI,CAACjD,WAAW,CAACiC,UAAU,GAAG,wBAAwB,EAAEe,IAAI,EAAE,IAAI,CAACd,OAAO,CAAC;EAC9F;EAEA6B,eAAeA,CAACzB,MAAc;IAC5B,IAAIC,MAAM,GAAG,IAAI5C,UAAU,EAAE;IAC7B,IAAIwB,GAAG,GAAGnB,WAAW,CAACiC,UAAU,GAAG,gBAAgB;IACnDM,MAAM,GAAGA,MAAM,CAAClB,GAAG,CAAC,QAAQ,EAAEiB,MAAM,CAAC;IAErC,IAAIE,IAAI,GAAG;MACTZ,OAAO,EAAE,IAAI,CAACA,OAAO;MACrBW,MAAM,EAAEA;KACT;IACD,OAAO,IAAI,CAAC7B,IAAI,CAACoB,GAAG,CAACX,GAAG,EAAEqB,IAAI,CAAC;EACjC;EAEAwB,iBAAiBA,CAAC1B,MAAc;IAC9B,IAAIC,MAAM,GAAG,IAAI5C,UAAU,EAAE;IAC7B,IAAIwB,GAAG,GAAGnB,WAAW,CAACiC,UAAU,GAAG,kBAAkB;IACrDM,MAAM,GAAGA,MAAM,CAAClB,GAAG,CAAC,QAAQ,EAAEiB,MAAM,CAAC;IAErC,IAAIE,IAAI,GAAG;MACTZ,OAAO,EAAE,IAAI,CAACA,OAAO;MACrBW,MAAM,EAAEA;KACT;IACD,OAAO,IAAI,CAAC7B,IAAI,CAACoB,GAAG,CAACX,GAAG,EAAEqB,IAAI,CAAC;EACjC;EACA;EACAyB,uBAAuBA,CAAC3B,MAAW;IAEjC,IAAIC,MAAM,GAAG,IAAI5C,UAAU,EAAE;IAC7B4C,MAAM,GAAGA,MAAM,CAAClB,GAAG,CAAC,QAAQ,EAAEiB,MAAM,CAAC;IAErC,IAAIE,IAAI,GAAG;MACTZ,OAAO,EAAE,IAAI,CAACA,OAAO;MACrBW,MAAM,EAAEA;KACT;IACD,OAAO,IAAI,CAAC7B,IAAI,CAACoB,GAAG,CAAC9B,WAAW,CAACiC,UAAU,GAAG,gBAAgB,EAAEO,IAAI,CAAC;EACvE;EACA0B,sBAAsBA,CAAC5B,MAAW;IAChC,IAAIC,MAAM,GAAG,IAAI5C,UAAU,EAAE;IAC7B4C,MAAM,GAAGA,MAAM,CAAClB,GAAG,CAAC,QAAQ,EAAEiB,MAAM,CAAC;IAErC,IAAIE,IAAI,GAAG;MACTZ,OAAO,EAAE,IAAI,CAACA,OAAO;MACrBW,MAAM,EAAEA;KACT;IACD,OAAO,IAAI,CAAC7B,IAAI,CAACoB,GAAG,CAAC9B,WAAW,CAACiC,UAAU,GAAG,kBAAkB,EAAEO,IAAI,CAAC;EACzE;EACA2B,UAAUA,CAACnB,IAAS;IAClB,OAAO,IAAI,CAACtC,IAAI,CAACuC,IAAI,CAACjD,WAAW,CAACiC,UAAU,GAAG,cAAc,EAAEe,IAAI,EAAE,IAAI,CAACd,OAAO,CAAC;EACpF;EACAkC,YAAYA,CAACpB,IAAS;IACpB,OAAO,IAAI,CAACtC,IAAI,CAACuC,IAAI,CAACjD,WAAW,CAACiC,UAAU,GAAG,gBAAgB,EAAEe,IAAI,EAAE,IAAI,CAACd,OAAO,CAAC;EACtF;EACAmC,UAAUA,CAACrB,IAAS;IAClB,OAAO,IAAI,CAACtC,IAAI,CAACuC,IAAI,CAACjD,WAAW,CAACiC,UAAU,GAAG,cAAc,EAAEe,IAAI,EAAE,IAAI,CAACd,OAAO,CAAC;EACpF;EACAoC,YAAYA,CAACtB,IAAS;IACpB,OAAO,IAAI,CAACtC,IAAI,CAACuC,IAAI,CAACjD,WAAW,CAACiC,UAAU,GAAG,gBAAgB,EAAEe,IAAI,EAAE,IAAI,CAACd,OAAO,CAAC;EACtF;EACAqC,mBAAmBA,CAACvB,IAAS;IAC3B,IAAIR,IAAI,GAAG;MACTZ,OAAO,EAAE,IAAI,CAACA;KACf;IACD,OAAO,IAAI,CAAClB,IAAI,CAACuC,IAAI,CAACjD,WAAW,CAACiC,UAAU,GAAG,eAAe,EAAEe,IAAI,EAAER,IAAI,CAAC;EAC7E;EAEAgC,eAAeA,CAACxB,IAAS;IACvB,OAAO,IAAI,CAACtC,IAAI,CAACuC,IAAI,CAACjD,WAAW,CAACiC,UAAU,GAAG,mBAAmB,EAAEe,IAAI,EAAE,IAAI,CAACd,OAAO,CAAC;EACzF;EAEAuC,aAAaA,CAACzB,IAAS;IACrB,OAAO,IAAI,CAACtC,IAAI,CAACuC,IAAI,CAACjD,WAAW,CAACiC,UAAU,GAAG,iBAAiB,EAAEe,IAAI,EAAE,IAAI,CAACd,OAAO,CAAC;EACvF;EAEAwC,WAAWA,CAAC1B,IAAS;IACnB,OAAO,IAAI,CAACtC,IAAI,CAACuC,IAAI,CAACjD,WAAW,CAACiC,UAAU,GAAG,eAAe,EAAEe,IAAI,EAAE,IAAI,CAACd,OAAO,CAAC;EACrF;EAEAyC,aAAaA,CAAC3B,IAAS;IACrB,OAAO,IAAI,CAACtC,IAAI,CAACuC,IAAI,CAACjD,WAAW,CAACiC,UAAU,GAAG,iBAAiB,EAAEe,IAAI,EAAE,IAAI,CAACd,OAAO,CAAC;EACvF;EACA0C,cAAcA,CAAC5B,IAAS;IACtB,OAAO,IAAI,CAACtC,IAAI,CAACuC,IAAI,CAACjD,WAAW,CAACiC,UAAU,GAAG,eAAe,EAAEe,IAAI,EAAE,IAAI,CAACd,OAAO,CAAC;EACrF;EACA2C,YAAYA,CAACvC,MAAW;IACtB,IAAIC,MAAM,GAAG,IAAI5C,UAAU,EAAE;IAC7B4C,MAAM,GAAGA,MAAM,CAAClB,GAAG,CAAC,QAAQ,EAAEiB,MAAM,CAAC;IAErC,IAAIE,IAAI,GAAG;MACTZ,OAAO,EAAE,IAAI,CAACA,OAAO;MACrBW,MAAM,EAAEA;KACT;IACD,OAAO,IAAI,CAAC7B,IAAI,CAACoB,GAAG,CAAC9B,WAAW,CAACiC,UAAU,GAAG,aAAa,EAAEO,IAAI,CAAC;EACpE;EACAsC,WAAWA,CAAC9B,IAAS;IACnB,OAAO,IAAI,CAACtC,IAAI,CAACuC,IAAI,CAACjD,WAAW,CAACiC,UAAU,GAAG,eAAe,EAAEe,IAAI,EAAE,IAAI,CAACd,OAAO,CAAC;EACrF;EACA6C,iBAAiBA,CAAC/B,IAAS;IACzB,IAAIR,IAAI,GAAG;MACTZ,OAAO,EAAE,IAAI,CAACA;KACf;IACD,OAAO,IAAI,CAAClB,IAAI,CAACuC,IAAI,CAACjD,WAAW,CAACiC,UAAU,GAAG,aAAa,EAAEe,IAAI,EAAER,IAAI,CAAC;EAC3E;EAEMT,SAASA,CAACO,MAAW;IAAA;IAAA;MAEzB,IAAIC,MAAM,GAAG,IAAI5C,UAAU,EAAE;MAC7B4C,MAAM,GAAGA,MAAM,CAAClB,GAAG,CAAC,QAAQ,EAAEiB,MAAM,CAAC;MACrC,IAAIE,IAAI,GAAG;QACTZ,OAAO,EAAEoD,KAAI,CAACpD,OAAO;QACrBW,MAAM,EAAEA;OACT;MAEDyC,KAAI,CAACtE,IAAI,CAACoB,GAAG,CAAC9B,WAAW,CAACiC,UAAU,GAAG,aAAa,EAAEO,IAAI,CAAC,CAACT,SAAS;QAAA,6BAAC,WAAMkD,GAAG,EAAG;UAGhF,IAAIA,GAAG,IAAI,GAAG,EAAE;YACd;YACA;YACA;YACA,MAAMD,KAAI,CAACjD,SAAS,CAACO,MAAM,CAAC;WAC7B,MAAM,IAAI2C,GAAG,IAAI,GAAG,EAAE;YACrB;YACA;YACAD,KAAI,CAAClC,eAAe,CAACR,MAAM,CAAC;YAC5B;YACA,MAAM,IAAI4C,OAAO,CAACC,OAAO,IAAIC,UAAU,CAACD,OAAO,EAAE,IAAI,CAAC,CAAC,CAACE,KAAK,CAAGC,KAAK,IAAI;cACvEC,OAAO,CAACD,KAAK,CAACA,KAAK,CAAC;YACtB,CAAC,CAAC;YACF,MAAMN,KAAI,CAACjD,SAAS,CAACO,MAAM,CAAC;WAC7B,MAAM;YACL;YACA;YACA0C,KAAI,CAAClC,eAAe,CAACR,MAAM,CAAC;YAC5B,MAAM0C,KAAI,CAACjD,SAAS,CAACO,MAAM,CAAC;;QAGhC,CAAC;QAAA;UAAA;QAAA;MAAA,IAAC;IAAA;EAGJ;EAEArB,SAASA;IACP,IAAI;MAEF,IAAI,IAAI,CAACH,CAAC,CAAC0E,cAAc,CAAC,IAAI,CAAC1E,CAAC,CAAC2E,cAAc,CAACC,IAAI,CAACC,MAAM,CAAC,IAAIxF,YAAY,CAACmB,IAAI,CAACC,QAAQ,EAAE;QAC1F,IAAI,CAACK,OAAO,GAAG,IAAIlC,WAAW,EAAE;QAEhC,IAAI,IAAI,CAACoB,CAAC,CAAC0E,cAAc,CAAC,IAAI,CAAC1E,CAAC,CAAC2E,cAAc,CAACC,IAAI,CAACC,MAAM,CAAC,EAAE;UAC5D;UACA,IAAI,CAAC/D,OAAO,GAAG,IAAI,CAACA,OAAO,CAACP,GAAG,CAAC,WAAW,EAAElB,YAAY,CAACmB,IAAI,CAACC,QAAQ,CAACC,IAAI,CAACC,MAAM,CAAC;UACpF,IAAI,CAACG,OAAO,GAAG,IAAI,CAACA,OAAO,CAACP,GAAG,CAAC,cAAc,EAAElB,YAAY,CAACmB,IAAI,CAACC,QAAQ,CAACC,IAAI,CAACE,SAAS,CAAC;UAC1F,IAAI,CAACQ,OAAO,GAAG;YACbN,OAAO,EAAE,IAAI,CAACA;WACf;UAED,IAAI,CAACgE,UAAU,EAAE;;;KAGtB,CAAC,OAAON,KAAK,EAAE;EAGlB;EAEMO,YAAYA;IAAA;IAAA;MAEhB,IAAGC,MAAI,CAAClE,OAAO,IAAIzB,YAAY,CAACmB,IAAI,CAACC,QAAQ,EAAE;QAC7CuE,MAAI,CAAClE,OAAO,GAAGkE,MAAI,CAAClE,OAAO,CAACP,GAAG,CAAC,eAAe,EAAElB,YAAY,CAACmB,IAAI,CAACyE,YAAY,CAAC;QAChF,IAAI7D,OAAO,GAAG;UACZN,OAAO,EAAEkE,MAAI,CAAClE;SACf;QAED,IAAI;UACF,IAAIqD,GAAG,SAASa,MAAI,CAACpF,IAAI,CAACoB,GAAG,CAAC9B,WAAW,CAACgG,MAAM,GAAG,sCAAsC,EAAE9D,OAAO,CAAC,CAAC+D,SAAS,EAAE;UAE/G,IAAIzE,IAAI,GAAG;YACT0E,MAAM,EAAEjB,GAAG,CAAC,QAAQ,CAAC;YACrBzD,IAAI,EAAE;cACJC,MAAM,EAAEwD,GAAG,CAAC,MAAM,CAAC,CAACxD,MAAM;cAC1BC,SAAS,EAAEuD,GAAG,CAAC,MAAM,CAAC,CAACvD;;WAE1B;UACDvB,YAAY,CAACmB,IAAI,CAACC,QAAQ,GAAGC,IAAI;UACjCrB,YAAY,CAACgG,IAAI,EAAE;UACnBL,MAAI,CAAC7E,SAAS,EAAE;UAChB6E,MAAI,CAACM,+BAA+B,GAAG,IAAIC,IAAI,EAAE;SAClD,CAAC,OAAOf,KAAK,EAAE;UAEd,IAAGQ,MAAI,CAACzF,qBAAqB,CAACiG,uBAAuB,EAAE,IAAIhG,gBAAgB,CAACiG,OAAO,EAAE;YACnFT,MAAI,CAACvF,0BAA0B,CAACS,gBAAgB,CAAC;cAC/CwF,SAAS,EAAE,cAAc;cACzBC,IAAI,EAAE,WAAW;cACjBC,IAAI;gBAAA,8BAAE,aAAW;kBAEfZ,MAAI,CAACF,UAAU,EAAE;kBACjB,MAAME,MAAI,CAACD,YAAY,EAAE;kBAEzB,OAAO,IAAI;gBACb,CAAC;gBAAA;kBAAA;gBAAA;cAAA;aACF,CAAC;WACH,MAAM;YAELT,UAAU,iCAAC,aAAW;cACpBU,MAAI,CAACF,UAAU,EAAE;cACjB,MAAME,MAAI,CAACD,YAAY,EAAE;YAC3B,CAAC,GAAE,KAAK,CAAC;;;OAMd,MAAM,IAAG,CAAC1F,YAAY,CAACmB,IAAI,CAACC,QAAQ,EAAE;QACrC;MAAA,CACD,MAAM,IAAI,CAACuE,MAAI,CAAClE,OAAO,EAAE;QACxBkE,MAAI,CAAC7E,SAAS,EAAE;QAChB6E,MAAI,CAACD,YAAY,EAAE;;IACpB;EAEH;EAGAc,kBAAkBA;IAChB,MAAMC,WAAW,GAAQ,IAAIP,IAAI,EAAE;IAEnC,MAAMQ,QAAQ,GAAGC,IAAI,CAACC,GAAG,CAACH,WAAW,GAAG,IAAI,CAACR,+BAA+B,CAAC;IAE7E,IAAG,IAAI,CAACA,+BAA+B,IAAI,IAAI,EAAE;MAC/C,OAAO,IAAI;;IAGZ,IAAGS,QAAQ,IAAI,IAAI,EAAG;MACrB,OAAO,IAAI;;IAGb,OAAO,KAAK;EAEd;EAMAjB,UAAUA;IACRoB,YAAY,CAAC,IAAI,CAACC,aAAa,CAAC;IAChC,IAAI,CAACC,qBAAqB,GAAG,IAAIb,IAAI,CAAC,CAAC,IAAIA,IAAI,EAAE,GAAG,KAAK,GAAC,EAAE,CAAC;IAE7D,IAAI,CAACY,aAAa,GAAG7B,UAAU,CAAC,MAAK;MAEnC,IAAG,IAAI,CAAC/E,qBAAqB,CAACiG,uBAAuB,EAAE,IAAIhG,gBAAgB,CAAC6G,MAAM,EAAE;QAClF,IAAI,CAACtB,YAAY,EAAE;OACpB,MAAM;QACL,IAAI,CAACD,UAAU,EAAE;;IAGrB,CAAC,EAAE,KAAK,GAAG,EAAE,CAAC,CAAC,CAAE;EAEnB;;;;;;;;;;;;;;;;;;;;AA9bWpF,WAAW,eAHvBZ,UAAU,CAAC;EACVwH,UAAU,EAAE;CACb,CAAC,GACW5G,WAAW;SAAXA,WAAW","names":["HttpHeaders","HttpParams","Injectable","HttpService","StorageService","HttpClient","environment","Storage","PermissionService","SessionStore","ChangeProfileService","NetworkServiceService","ConnectionStatus","RochetChatConnectorService","ChatService","constructor","http","httpService","storage","storageService","p","changeProfileService","registerCallback","setheader","getDocumentDetails","url","headersc","set","user","ChatData","data","userId","authToken","optionsc","headers","withCredentials","get","subscribe","getAllChannels","apiChatUrl","options","getAllUserChannels","getAllRooms","getRoomInfo","roomId","params","opts","customsRooms","getAllPrivateGroups","getAllUsers","getAllConnectedUsers","getAllDirectMessages","getRoomMessages","sendMessage","body","post","uploadFile","formData","rid","deleteMessage","leaveRoom","getMembers","getMemberInfo","setUserStatus","removeChatRoom","createRoom","getDirectMessage","addGroup","setGroupCustomFields","getGroupMembers","getChannelMembers","getPrivateGroupMessages","getPublicGroupMessages","closeGroup","closeChannel","leaveGroup","leaveChannel","removeChannelMember","addChannelOwner","addGroupOwner","deleteGroup","deleteChannel","addUserToGroup","getGroupInfo","renameGroup","removeGroupMember","_this","res","Promise","resolve","setTimeout","catch","error","console","userPermission","permissionList","Chat","access","resetTimer","refreshtoken","_this2","BasicAuthKey","apiURL","toPromise","status","save","timerEventTriggerDateLastUpdate","Date","getCurrentNetworkStatus","Offline","requestId","type","funx","lastUpdateIs10sAgo","currentTime","diffTime","Math","abs","clearTimeout","functionTimer","timerEventTriggerDate","Online","providedIn"],"sourceRoot":"","sources":["C:\\Users\\eudes.inacio\\GabineteDigital\\gabinete-digital-fo\\src\\app\\services\\chat.service.ts"],"sourcesContent":["import { HttpHeaders, HttpParams } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpService } from './http.service';\r\nimport { StorageService } from './storage.service';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { environment } from 'src/environments/environment';\r\nimport { Storage } from '@ionic/storage';\r\nimport { PermissionService } from './permission.service';\r\nimport { SessionStore } from '../store/session.service';\r\nimport { ChangeProfileService } from 'src/app/services/change-profile.service';\r\nimport { NetworkServiceService , ConnectionStatus} from 'src/app/services/network-service.service';\r\nimport { RochetChatConnectorService } from 'src/app/services/chat/rochet-chat-connector.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ChatService {\r\n headers: HttpHeaders;\r\n options: any;\r\n options1: any;\r\n X_User_Id: any;\r\n X_Auth_Token: any;\r\n loggedUserChat: any;\r\n bindOnMessage: any;\r\n\r\n constructor(\r\n private http: HttpClient,\r\n private httpService: HttpService,\r\n private storage: Storage,\r\n private storageService: StorageService,\r\n public p: PermissionService,\r\n private changeProfileService: ChangeProfileService,\r\n private NetworkServiceService: NetworkServiceService,\r\n private RochetChatConnectorService: RochetChatConnectorService) {\r\n\r\n this.changeProfileService.registerCallback(() => {\r\n this.setheader();\r\n })\r\n\r\n }\r\n\r\n getDocumentDetails(url: string) {\r\n let headersc = new HttpHeaders();\r\n headersc = headersc.set('X-User-Id', SessionStore.user.ChatData.data.userId);\r\n headersc = headersc.set('X-Auth-Token', SessionStore.user.ChatData.data.authToken);\r\n headersc = headersc.set('Sec-Fetch-Dest', 'attachment');\r\n headersc = headersc.set('Sec-Fetch-Mode', 'navigate');\r\n headersc = headersc.set('Cookie', 'rc_uid=fsMwcNdufWvdnChj7');\r\n headersc = headersc.set('Cookie', 'rc_token=MLbhikLQI4xo9_vL43HqheKPPbxjag7hKfwxe9AjcvY');\r\n // headersc = headersc.set(\"Host\", \"www.tabularium.pt\");\r\n // headersc = headersc.set(\"Origin\", \"http://localhost:8100\");\r\n headersc = headersc.set('Referer', 'http://localhost:8100/');\r\n let optionsc = {\r\n headers: headersc,\r\n withCredentials: true\r\n };\r\n // let fullUrl = \"https://www.tabularium.pt/\" + url;\r\n return this.http.get(url, optionsc).subscribe(() => {\r\n // this.fileService.viewDocumentByUrl(url)\r\n });\r\n }\r\n\r\n getAllChannels() {\r\n return this.http.get(environment.apiChatUrl + 'channels.list', this.options);\r\n }\r\n\r\n getAllUserChannels() {\r\n return this.http.get(environment.apiChatUrl + 'channels.list.joined', this.options);\r\n }\r\n\r\n getAllRooms() {\r\n return this.http.get(environment.apiChatUrl + 'rooms.get', this.options);\r\n }\r\n\r\n getRoomInfo(roomId: any) {\r\n let params = new HttpParams();\r\n params = params.set(\"roomId\", roomId);\r\n let opts = {\r\n headers: this.headers,\r\n params: params\r\n }\r\n return this.http.get(environment.apiChatUrl + 'rooms.info', opts);\r\n }\r\n\r\n customsRooms(params: any) {\r\n let opts = {\r\n headers: this.headers,\r\n params: params\r\n }\r\n return this.http.get(environment.apiChatUrl + 'rooms.get', opts);\r\n }\r\n getAllPrivateGroups() {\r\n return this.http.get(environment.apiChatUrl + 'groups.list', this.options);\r\n }\r\n\r\n getAllUsers() {\r\n return this.http.get(environment.apiChatUrl + 'users.list', this.options);\r\n }\r\n getAllConnectedUsers() {\r\n return this.http.get(environment.apiChatUrl + 'users.presence', this.options);\r\n }\r\n\r\n //Load messages from roomId\r\n getAllDirectMessages() {\r\n return this.http.get(environment.apiChatUrl + 'im.list', this.options);\r\n }\r\n //Load messages from roomId\r\n getRoomMessages(roomId: any) {\r\n\r\n let params = new HttpParams();\r\n params = params.set(\"roomId\", roomId);\r\n\r\n let opts = {\r\n headers: this.headers,\r\n params: params,\r\n }\r\n return this.http.get(environment.apiChatUrl + 'im.history', opts);\r\n }\r\n\r\n sendMessage(body: any) {\r\n let opts = {\r\n headers: this.headers,\r\n }\r\n return this.http.post(environment.apiChatUrl + 'chat.sendMessage', body, opts);\r\n }\r\n\r\n uploadFile(formData: any, rid: string) {\r\n let url = environment.apiChatUrl + 'rooms.upload/' + rid;\r\n let opts = {\r\n headers: this.headers,\r\n }\r\n return this.http.post(url, formData, opts);\r\n }\r\n\r\n deleteMessage(body: any) {\r\n let opts = {\r\n headers: this.headers,\r\n }\r\n return this.http.post(environment.apiChatUrl + 'chat.delete', body, opts);\r\n }\r\n\r\n leaveRoom(body: any) {\r\n let opts = {\r\n headers: this.headers,\r\n }\r\n return this.http.post(environment.apiChatUrl + 'rooms.leave', body, opts);\r\n }\r\n //Load members from a chat\r\n getMembers(roomId: any) {\r\n\r\n let params = new HttpParams();\r\n params = params.set(\"roomId\", roomId);\r\n\r\n let opts = {\r\n headers: this.headers,\r\n params: params\r\n }\r\n return this.http.get(environment.apiChatUrl + 'im.members', opts);\r\n }\r\n\r\n getMemberInfo(userId: string) {\r\n let params = new HttpParams();\r\n params = params.set(\"userId\", userId);\r\n\r\n let opts = {\r\n headers: this.headers,\r\n params: params\r\n }\r\n return this.http.get(environment.apiChatUrl + 'users.info', opts);\r\n }\r\n\r\n setUserStatus(body: any) {\r\n let opts = {\r\n headers: this.headers,\r\n }\r\n return this.http.post(environment.apiChatUrl + 'users.setStatus', body, this.options);\r\n }\r\n\r\n removeChatRoom(body: any) {\r\n let opts = {\r\n headers: this.headers,\r\n }\r\n return this.http.post(environment.apiChatUrl + 'im.delete', body, this.options);\r\n }\r\n\r\n createRoom(body: any) {\r\n return this.http.post(environment.apiChatUrl + 'im.create', body, this.options);\r\n }\r\n getDirectMessage(roomId: string) {\r\n let params = new HttpParams();\r\n params = params.set(\"roomId\", roomId);\r\n\r\n let opts = {\r\n headers: this.headers,\r\n params: params\r\n }\r\n return this.http.get(environment.apiChatUrl + 'im.messages', opts);\r\n }\r\n\r\n /* GROUPS */\r\n addGroup(body: any) {\r\n\r\n return this.http.post(environment.apiChatUrl + 'groups.create', body, this.options);\r\n }\r\n setGroupCustomFields(body: any) {\r\n return this.http.post(environment.apiChatUrl + 'groups.setCustomFields', body, this.options);\r\n }\r\n\r\n getGroupMembers(roomId: string) {\r\n let params = new HttpParams();\r\n let url = environment.apiChatUrl + 'groups.members';\r\n params = params.set(\"roomId\", roomId);\r\n\r\n let opts = {\r\n headers: this.headers,\r\n params: params\r\n }\r\n return this.http.get(url, opts);\r\n }\r\n\r\n getChannelMembers(roomId: string) {\r\n let params = new HttpParams();\r\n let url = environment.apiChatUrl + 'channels.members';\r\n params = params.set(\"roomId\", roomId);\r\n\r\n let opts = {\r\n headers: this.headers,\r\n params: params\r\n }\r\n return this.http.get(url, opts);\r\n }\r\n /* GROUP MESSAGES */\r\n getPrivateGroupMessages(roomId: any) {\r\n\r\n let params = new HttpParams();\r\n params = params.set(\"roomId\", roomId);\r\n\r\n let opts = {\r\n headers: this.headers,\r\n params: params\r\n }\r\n return this.http.get(environment.apiChatUrl + 'groups.history', opts);\r\n }\r\n getPublicGroupMessages(roomId: any) {\r\n let params = new HttpParams();\r\n params = params.set(\"roomId\", roomId);\r\n\r\n let opts = {\r\n headers: this.headers,\r\n params: params\r\n }\r\n return this.http.get(environment.apiChatUrl + 'channels.history', opts);\r\n }\r\n closeGroup(body: any) {\r\n return this.http.post(environment.apiChatUrl + 'groups.close', body, this.options);\r\n }\r\n closeChannel(body: any) {\r\n return this.http.post(environment.apiChatUrl + 'channels.close', body, this.options);\r\n }\r\n leaveGroup(body: any) {\r\n return this.http.post(environment.apiChatUrl + 'groups.leave', body, this.options);\r\n }\r\n leaveChannel(body: any) {\r\n return this.http.post(environment.apiChatUrl + 'channels.leave', body, this.options);\r\n }\r\n removeChannelMember(body: any) {\r\n let opts = {\r\n headers: this.headers,\r\n }\r\n return this.http.post(environment.apiChatUrl + 'channels.kick', body, opts);\r\n }\r\n\r\n addChannelOwner(body: any) {\r\n return this.http.post(environment.apiChatUrl + 'channels.addOwner', body, this.options);\r\n }\r\n\r\n addGroupOwner(body: any) {\r\n return this.http.post(environment.apiChatUrl + 'groups.addOwner', body, this.options);\r\n }\r\n\r\n deleteGroup(body: any) {\r\n return this.http.post(environment.apiChatUrl + 'groups.delete', body, this.options);\r\n }\r\n\r\n deleteChannel(body: any) {\r\n return this.http.post(environment.apiChatUrl + 'channels.delete', body, this.options);\r\n }\r\n addUserToGroup(body: any) {\r\n return this.http.post(environment.apiChatUrl + 'groups.invite', body, this.options);\r\n }\r\n getGroupInfo(roomId: any) {\r\n let params = new HttpParams();\r\n params = params.set(\"roomId\", roomId);\r\n\r\n let opts = {\r\n headers: this.headers,\r\n params: params\r\n }\r\n return this.http.get(environment.apiChatUrl + 'groups.info', opts);\r\n }\r\n renameGroup(body: any) {\r\n return this.http.post(environment.apiChatUrl + 'groups.rename', body, this.options);\r\n }\r\n removeGroupMember(body: any) {\r\n let opts = {\r\n headers: this.headers,\r\n }\r\n return this.http.post(environment.apiChatUrl + 'groups.kick', body, opts);\r\n }\r\n\r\n async subscribe(roomId: any) {\r\n\r\n let params = new HttpParams();\r\n params = params.set(\"roomId\", roomId);\r\n let opts = {\r\n headers: this.headers,\r\n params: params\r\n }\r\n\r\n this.http.get(environment.apiChatUrl + 'im.messages', opts).subscribe(async res => {\r\n\r\n\r\n if (res == 502) {\r\n // Connection timeout\r\n // happens when the connection was pending for too long\r\n // let's reconnect\r\n await this.subscribe(roomId);\r\n } else if (res != 200) {\r\n // Show Error\r\n //showMessage(response.statusText);\r\n this.getRoomMessages(roomId)\r\n // Reconnect in one second\r\n await new Promise(resolve => setTimeout(resolve, 1000)).catch ((error) => {\r\n console.error(error);\r\n });\r\n await this.subscribe(roomId);\r\n } else {\r\n // Got message\r\n //let message = await response.text();\r\n this.getRoomMessages(roomId)\r\n await this.subscribe(roomId);\r\n }\r\n\r\n })\r\n\r\n\r\n }\r\n\r\n setheader() {\r\n try {\r\n \r\n if (this.p.userPermission(this.p.permissionList.Chat.access) && SessionStore.user.ChatData) {\r\n this.headers = new HttpHeaders();\r\n \r\n if (this.p.userPermission(this.p.permissionList.Chat.access)) {\r\n // \r\n this.headers = this.headers.set('X-User-Id', SessionStore.user.ChatData.data.userId);\r\n this.headers = this.headers.set('X-Auth-Token', SessionStore.user.ChatData.data.authToken);\r\n this.options = {\r\n headers: this.headers,\r\n };\r\n\r\n this.resetTimer();\r\n }\r\n }\r\n } catch (error) {\r\n\r\n }\r\n }\r\n\r\n async refreshtoken() {\r\n\r\n if(this.headers && SessionStore.user.ChatData) {\r\n this.headers = this.headers.set('Authorization', SessionStore.user.BasicAuthKey);\r\n let options = {\r\n headers: this.headers\r\n };\r\n \r\n try {\r\n let res = await this.http.get(environment.apiURL + 'UserAuthentication/RegenereChatToken', options).toPromise();\r\n \r\n let data = {\r\n status: res['status'],\r\n data: {\r\n userId: res['data'].userId,\r\n authToken: res['data'].authToken\r\n }\r\n }\r\n SessionStore.user.ChatData = data\r\n SessionStore.save()\r\n this.setheader()\r\n this.timerEventTriggerDateLastUpdate = new Date();\r\n } catch (error) {\r\n\r\n if(this.NetworkServiceService.getCurrentNetworkStatus() == ConnectionStatus.Offline) {\r\n this.RochetChatConnectorService.registerCallback({\r\n requestId: 'refreshtoken',\r\n type: 'reConnect',\r\n funx: async () => {\r\n\r\n this.resetTimer();\r\n await this.refreshtoken();\r\n\r\n return true\r\n }\r\n })\r\n } else {\r\n\r\n setTimeout(async () => {\r\n this.resetTimer();\r\n await this.refreshtoken();\r\n }, 60000)\r\n\r\n }\r\n\r\n }\r\n\r\n } else if(!SessionStore.user.ChatData) {\r\n // do nothing\r\n } else if (!this.headers) {\r\n this.setheader()\r\n this.refreshtoken()\r\n }\r\n\r\n }\r\n\r\n\r\n lastUpdateIs10sAgo() {\r\n const currentTime: any = new Date();\r\n\r\n const diffTime = Math.abs(currentTime - this.timerEventTriggerDateLastUpdate);\r\n\r\n if(this.timerEventTriggerDateLastUpdate == null) {\r\n return true\r\n }\r\n \r\n if(diffTime >= 5000) {\r\n return true\r\n }\r\n\r\n return false\r\n \r\n }\r\n\r\n functionTimer = null;\r\n timerEventTriggerDate = null\r\n timerEventTriggerDateLastUpdate = null\r\n\r\n resetTimer() {\r\n clearTimeout(this.functionTimer);\r\n this.timerEventTriggerDate = new Date(+new Date() + 60000*15);\r\n\r\n this.functionTimer = setTimeout(() => {\r\n\r\n if(this.NetworkServiceService.getCurrentNetworkStatus() == ConnectionStatus.Online) {\r\n this.refreshtoken();\r\n } else {\r\n this.resetTimer()\r\n }\r\n \r\n }, 60000 * 15); // time is in milliseconds\r\n\r\n }\r\n\r\n}\r\n"]},"metadata":{},"sourceType":"module"}