mirror of
https://code.equilibrium.co.ao/ITO/doneit-web.git
synced 2026-04-18 12:37:53 +00:00
1 line
27 KiB
JSON
1 line
27 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 { Injectable, ErrorHandler } from '@angular/core';\nimport { StorageService } from './storage.service';\nimport { HttpClient, HttpHeaders, HttpEventType } from '@angular/common/http';\nimport { environment } from 'src/environments/environment';\nimport { BehaviorSubject } from 'rxjs';\nimport { AlertController } from '@ionic/angular';\nimport { SessionStore } from '../store/session.service';\nimport { AESEncrypt } from '../services/aesencrypt.service';\nimport { RochetChatConnectorService } from 'src/app/services/chat/rochet-chat-connector.service';\nimport { Router } from '@angular/router';\nimport { NfService } from 'src/app/services/chat/nf.service';\nimport { ProcessesService } from 'src/app/services/processes.service';\nimport { AttachmentsService } from 'src/app/services/attachments.service';\nimport { Storage } from '@ionic/storage';\nimport { InitialsService } from './functions/initials.service';\nimport { PermissionService } from './permission.service';\nimport { ChatSystemService } from 'src/app/services/chat/chat-system.service';\nimport { HttpErrorHandle } from 'src/app/services/http-error-handle.service';\nimport { captureException } from '@sentry/angular';\nlet AuthService = class AuthService {\n constructor(http, storageService, alertController, aesencrypt, RochetChatConnectorService, router, NfService, processesService, AttachmentsService, storage, initialsService, p, ChatSystemService, httpErroHandle, errorHandler) {\n this.http = http;\n this.storageService = storageService;\n this.alertController = alertController;\n this.aesencrypt = aesencrypt;\n this.RochetChatConnectorService = RochetChatConnectorService;\n this.router = router;\n this.NfService = NfService;\n this.processesService = processesService;\n this.AttachmentsService = AttachmentsService;\n this.storage = storage;\n this.initialsService = initialsService;\n this.p = p;\n this.ChatSystemService = ChatSystemService;\n this.httpErroHandle = httpErroHandle;\n this.errorHandler = errorHandler;\n this.userData$ = new BehaviorSubject('');\n this.userId$ = new BehaviorSubject('');\n this.headers = new HttpHeaders();\n this.isWsAuthenticated = false;\n this.tabIsActive = true;\n if (SessionStore.exist) {\n if (this.p.userPermission(this.p.permissionList.Chat.access) == true) {\n this.loginToChatWs();\n }\n }\n window.addEventListener('focus', event => {\n if (!this.tabIsActive) {\n this.tabIsActive = true;\n const data = SessionStore.getDataFromLocalStorage();\n if (!data?.user?.Authorization && SessionStore?.user?.Authorization) {\n window.location.reload();\n }\n }\n });\n window.addEventListener('blur', event => {\n this.tabIsActive = false;\n });\n }\n login(user, {\n saveSession = true\n }) {\n var _this = this;\n return _asyncToGenerator(function* () {\n user.BasicAuthKey = 'Basic ' + btoa(user.username + ':' + _this.aesencrypt.encrypt(user.password, user.username));\n // Basic peter.maquiran@equilibrium.co.ao:senha123456\n // console.log(user.BasicAuthKey)\n _this.headers = _this.headers.set('Authorization', user.BasicAuthKey);\n _this.opts = {\n headers: _this.headers\n };\n let response;\n try {\n response = yield _this.http.post(environment.apiURL + \"UserAuthentication/Login\", '', _this.opts).toPromise();\n if (saveSession) {\n _this.SetSession(response, user);\n }\n } catch (error) {\n /* throw(`Login ${error} `); */\n _this.errorHandler.handleError(error);\n _this.httpErroHandle.httpStatusHandle(error);\n captureException(error);\n } finally {\n return response;\n }\n })();\n }\n // async UpdateLogin() {}\n SetSession(response, user) {\n const session = Object.assign(SessionStore.user, response);\n if (response) {\n if (session.RoleID == 100000014) {\n session.Profile = 'PR';\n } else if (session.RoleID == 100000011) {\n session.Profile = 'MDGPR';\n } else if (session.RoleID == 99999872) {\n session.Profile = 'Consultant';\n } else {\n session.Profile = 'Unknown';\n }\n session.Password = user.password;\n session.BasicAuthKey = user.BasicAuthKey;\n SessionStore.reset(session);\n return true;\n }\n this.initialsService.getInitials(session.FullName);\n }\n loginToChatWs() {\n var _this2 = this;\n setTimeout(() => {\n if (SessionStore.user.ChatData?.data) {\n this.RochetChatConnectorService.connect();\n this.RochetChatConnectorService.login().then(message => {\n SessionStore.user.RochetChatUserId = message.result.id;\n SessionStore.save();\n this.RochetChatConnectorService.setStatus('online');\n window['RochetChatConnectorService'] = this.RochetChatConnectorService;\n setTimeout(() => {\n this.ChatSystemService.getAllRooms();\n this.RochetChatConnectorService.setStatus('online');\n }, 200);\n }).catch(error => {\n // console.error(SessionStore.user.ChatData, 'web socket login',error)\n });\n }\n // before sending a message with a attachment\n this.NfService.beforeSendAttachment = /*#__PURE__*/function () {\n var _ref = _asyncToGenerator(function* (message, room) {\n if (message.hasFile) {\n if (message.file.type != 'application/webtrix') {\n const formData = message.temporaryData;\n try {\n let guid = yield _this2.AttachmentsService.uploadFile(formData).toPromise();\n message.file.guid = guid.path;\n message.downloadFileMsg();\n return true;\n } catch (e) {\n console.error('BeforesendAtachment', e);\n return false;\n }\n } else {\n try {\n const res = message.temporaryData;\n let url = yield _this2.processesService.GetDocumentUrl(res.data.selected.Id, res.data.selected.ApplicationType).toPromise();\n let url_no_options = url.replace(\"webTRIX.Viewer\", \"webTRIX.Viewer.Branch1\");\n message.attachments[0].title_link = url_no_options;\n message.attachments[0].message_link = url_no_options;\n return true;\n } catch (e) {\n console.error('BeforesendAtachment', e);\n return false;\n }\n }\n }\n return false;\n });\n return function (_x, _x2) {\n return _ref.apply(this, arguments);\n };\n }();\n this.NfService.downloadFileMsg = /*#__PURE__*/function () {\n var _ref2 = _asyncToGenerator(function* (message, room) {\n // \n let downloadFile = \"\";\n if (message.file.type == \"application/img\") {\n const event = yield _this2.AttachmentsService.downloadFile(message.file.guid).toPromise();\n if (event.type === HttpEventType.DownloadProgress) {\n //this.downloadProgess = Math.round((100 * event.loaded) / event.total);\n return true;\n } else if (event.type === HttpEventType.Response) {\n downloadFile = 'data:image/jpeg;base64,' + btoa(new Uint8Array(event.body).reduce((data, byte) => data + String.fromCharCode(byte), ''));\n message.file = {\n guid: message.file.guid,\n image_url: downloadFile,\n type: message.file.type\n };\n yield _this2.storage.set(message.file.guid, downloadFile).then(() => {\n // \n });\n return true;\n }\n return false;\n }\n });\n return function (_x3, _x4) {\n return _ref2.apply(this, arguments);\n };\n }();\n }, 1);\n }\n autologout(expirationDate) {\n setTimeout(() => {\n this.logout();\n }, expirationDate);\n }\n logout() {\n SessionStore.setInativity(false);\n SessionStore.setUrlBeforeInactivity(this.router.url);\n setTimeout(() => {\n this.router.navigateByUrl('/', {\n replaceUrl: true\n });\n }, 100);\n }\n logoutChat() {}\n presentAlert(message) {\n var _this3 = this;\n return _asyncToGenerator(function* () {\n const alert = yield _this3.alertController.create({\n cssClass: 'my-custom-class',\n header: 'Mensagem do sistema',\n message: message,\n buttons: ['OK']\n });\n yield alert.present();\n })();\n }\n};\nAuthService.ctorParameters = () => [{\n type: HttpClient\n}, {\n type: StorageService\n}, {\n type: AlertController\n}, {\n type: AESEncrypt\n}, {\n type: RochetChatConnectorService\n}, {\n type: Router\n}, {\n type: NfService\n}, {\n type: ProcessesService\n}, {\n type: AttachmentsService\n}, {\n type: Storage\n}, {\n type: InitialsService\n}, {\n type: PermissionService\n}, {\n type: ChatSystemService\n}, {\n type: HttpErrorHandle\n}, {\n type: ErrorHandler\n}];\nAuthService = __decorate([Injectable({\n providedIn: 'root'\n})], AuthService);\nexport { AuthService };","map":{"version":3,"mappings":"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","names":["Injectable","ErrorHandler","StorageService","HttpClient","HttpHeaders","HttpEventType","environment","BehaviorSubject","AlertController","SessionStore","AESEncrypt","RochetChatConnectorService","Router","NfService","ProcessesService","AttachmentsService","Storage","InitialsService","PermissionService","ChatSystemService","HttpErrorHandle","captureException","AuthService","constructor","http","storageService","alertController","aesencrypt","router","processesService","storage","initialsService","p","httpErroHandle","errorHandler","exist","userPermission","permissionList","Chat","access","loginToChatWs","window","addEventListener","event","tabIsActive","data","getDataFromLocalStorage","user","Authorization","location","reload","login","saveSession","BasicAuthKey","btoa","username","_this","encrypt","password","headers","set","opts","response","post","apiURL","toPromise","SetSession","error","handleError","httpStatusHandle","session","Object","assign","RoleID","Profile","Password","reset","getInitials","FullName","setTimeout","ChatData","connect","then","message","RochetChatUserId","result","id","save","setStatus","getAllRooms","catch","beforeSendAttachment","room","hasFile","file","type","formData","temporaryData","guid","_this2","uploadFile","path","downloadFileMsg","e","console","res","url","GetDocumentUrl","selected","Id","ApplicationType","url_no_options","replace","attachments","title_link","message_link","downloadFile","DownloadProgress","Response","Uint8Array","body","reduce","byte","String","fromCharCode","image_url","autologout","expirationDate","logout","setInativity","setUrlBeforeInactivity","navigateByUrl","replaceUrl","logoutChat","presentAlert","alert","_this3","create","cssClass","header","buttons","present","providedIn"],"sourceRoot":"","sources":["C:\\Users\\eudes.inacio\\GabineteDigital\\gabinete-digital-fo\\src\\app\\services\\auth.service.ts"],"sourcesContent":["import { Injectable, ErrorHandler } from '@angular/core';\r\nimport { StorageService } from './storage.service';\r\nimport { HttpClient, HttpHeaders, HttpEventType } from '@angular/common/http';\r\nimport { LoginUserRespose, UserForm, UserSession } from '../models/user.model';\r\nimport { environment } from 'src/environments/environment';\r\nimport { BehaviorSubject } from 'rxjs';\r\nimport { AlertController } from '@ionic/angular';\r\nimport { SessionStore } from '../store/session.service';\r\nimport { AESEncrypt } from '../services/aesencrypt.service';\r\nimport { RochetChatConnectorService } from 'src/app/services/chat/rochet-chat-connector.service';\r\nimport { Router } from '@angular/router';\r\nimport { NfService } from 'src/app/services/chat/nf.service';\r\nimport { MessageService } from 'src/app/services/chat/message.service';\r\nimport { ProcessesService } from 'src/app/services/processes.service';\r\nimport { AttachmentsService } from 'src/app/services/attachments.service';\r\nimport { RoomService } from './chat/room.service';\r\nimport { Storage } from '@ionic/storage';\r\nimport { InitialsService } from './functions/initials.service';\r\nimport { PermissionService } from './permission.service';\r\nimport { ChatSystemService } from 'src/app/services/chat/chat-system.service';\r\nimport { HttpErrorHandle } from 'src/app/services/http-error-handle.service';\r\nimport { captureException } from '@sentry/angular';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AuthService {\r\n userData$ = new BehaviorSubject<any>('');\r\n userId$ = new BehaviorSubject<any>('');\r\n headers: HttpHeaders = new HttpHeaders();\r\n public wsValidatedUserChat:any;\r\n public isWsAuthenticated: boolean = false;\r\n opts:any;\r\n\r\n tabIsActive = true\r\n\r\n constructor(\r\n private http: HttpClient,\r\n private storageService:StorageService,\r\n public alertController: AlertController,\r\n private aesencrypt: AESEncrypt,\r\n private RochetChatConnectorService: RochetChatConnectorService,\r\n private router: Router,\r\n private NfService:NfService,\r\n private processesService: ProcessesService,\r\n private AttachmentsService: AttachmentsService,\r\n private storage: Storage,\r\n private initialsService: InitialsService,\r\n public p: PermissionService,\r\n public ChatSystemService: ChatSystemService,\r\n private httpErroHandle: HttpErrorHandle,\r\n private errorHandler: ErrorHandler) {\r\n\r\n if (SessionStore.exist) {\r\n if(this.p.userPermission(this.p.permissionList.Chat.access) == true ) {\r\n this.loginToChatWs()\r\n }\r\n\r\n }\r\n\r\n window.addEventListener('focus', (event) => {\r\n if(!this.tabIsActive) {\r\n this.tabIsActive = true\r\n const data = SessionStore.getDataFromLocalStorage();\r\n \r\n if(!data?.user?.Authorization && SessionStore?.user?.Authorization) {\r\n window.location.reload();\r\n }\r\n }\r\n });\r\n \r\n window.addEventListener('blur', (event) => {\r\n this.tabIsActive = false\r\n });\r\n\r\n }\r\n\r\n async login(user: UserForm, {saveSession = true}): Promise<LoginUserRespose> {\r\n user.BasicAuthKey = 'Basic ' + btoa(user.username + ':' + this.aesencrypt.encrypt(user.password,user.username ));\r\n\r\n // Basic peter.maquiran@equilibrium.co.ao:senha123456\r\n // console.log(user.BasicAuthKey)\r\n\r\n this.headers = this.headers.set('Authorization', user.BasicAuthKey);\r\n this.opts = {\r\n headers: this.headers,\r\n }\r\n\r\n let response: any;\r\n\r\n try {\r\n response = await this.http.post<LoginUserRespose>(environment.apiURL + \"UserAuthentication/Login\", '', this.opts).toPromise();\r\n \r\n\r\n if(saveSession) {\r\n this.SetSession(response, user)\r\n }\r\n } catch (error) {\r\n /* throw(`Login ${error} `); */\r\n this.errorHandler.handleError(error);\r\n this.httpErroHandle.httpStatusHandle(error)\r\n captureException(error);\r\n \r\n } finally {\r\n return response\r\n }\r\n\r\n }\r\n\r\n // async UpdateLogin() {}\r\n\r\n SetSession(response: LoginUserRespose, user:UserForm) {\r\n const session: UserSession = Object.assign(SessionStore.user, response)\r\n\r\n if (response) {\r\n if( session.RoleID == 100000014) {\r\n session.Profile = 'PR'\r\n } else if(session.RoleID == 100000011) {\r\n session.Profile = 'MDGPR'\r\n } else if(session.RoleID == 99999872) {\r\n session.Profile = 'Consultant'\r\n } else {\r\n session.Profile = 'Unknown'\r\n }\r\n \r\n session.Password = user.password\r\n session.BasicAuthKey = user.BasicAuthKey\r\n SessionStore.reset(session)\r\n\r\n return true;\r\n }\r\n\r\n this.initialsService.getInitials(session.FullName);\r\n }\r\n\r\n loginToChatWs() {\r\n setTimeout(() => {\r\n \r\n if(SessionStore.user.ChatData?.data) {\r\n this.RochetChatConnectorService.connect();\r\n this.RochetChatConnectorService.login().then((message: any) => {\r\n \r\n SessionStore.user.RochetChatUserId = message.result.id\r\n SessionStore.save()\r\n\r\n this.RochetChatConnectorService.setStatus('online')\r\n window['RochetChatConnectorService'] = this.RochetChatConnectorService\r\n setTimeout(() => {\r\n this.ChatSystemService.getAllRooms();\r\n this.RochetChatConnectorService.setStatus('online')\r\n }, 200);\r\n \r\n\r\n }).catch((error) => {\r\n // console.error(SessionStore.user.ChatData, 'web socket login',error)\r\n })\r\n }\r\n \r\n\r\n\r\n // before sending a message with a attachment\r\n this.NfService.beforeSendAttachment = async (message: MessageService, room?: RoomService) => {\r\n\r\n if(message.hasFile) {\r\n if(message.file.type != 'application/webtrix') {\r\n const formData = message.temporaryData\r\n\r\n try {\r\n let guid: any = await this.AttachmentsService.uploadFile(formData).toPromise()\r\n message.file.guid = guid.path\r\n\r\n message.downloadFileMsg()\r\n\r\n return true\r\n } catch(e) {\r\n console.error('BeforesendAtachment', e)\r\n return false\r\n }\r\n\r\n } else {\r\n try {\r\n const res = message.temporaryData\r\n\r\n let url = await this.processesService.GetDocumentUrl(res.data.selected.Id, res.data.selected.ApplicationType).toPromise();\r\n\r\n let url_no_options: string = url.replace(\"webTRIX.Viewer\",\"webTRIX.Viewer.Branch1\");\r\n message.attachments[0].title_link = url_no_options\r\n message.attachments[0].message_link = url_no_options\r\n\r\n return true\r\n\r\n } catch(e) {\r\n console.error('BeforesendAtachment', e)\r\n return false\r\n }\r\n }\r\n }\r\n\r\n return false\r\n }\r\n\r\n this.NfService.downloadFileMsg = async (message: MessageService, room?: RoomService) => {\r\n\r\n // \r\n let downloadFile = \"\";\r\n if (message.file.type == \"application/img\") {\r\n const event: any = await this.AttachmentsService.downloadFile(message.file.guid).toPromise();\r\n\r\n if (event.type === HttpEventType.DownloadProgress) {\r\n //this.downloadProgess = Math.round((100 * event.loaded) / event.total);\r\n return true\r\n } else if (event.type === HttpEventType.Response) {\r\n downloadFile = 'data:image/jpeg;base64,' + btoa(new Uint8Array(event.body).reduce((data, byte) => data + String.fromCharCode(byte), ''));\r\n\r\n message.file = {\r\n guid: message.file.guid,\r\n image_url: downloadFile,\r\n type: message.file.type\r\n }\r\n\r\n await this.storage.set(message.file.guid, downloadFile).then(() => {\r\n // \r\n });\r\n return true\r\n }\r\n return false\r\n }\r\n };\r\n\r\n }, 1)\r\n }\r\n\r\n autologout(expirationDate:number) {\r\n setTimeout(() => {\r\n this.logout();\r\n }, expirationDate)\r\n }\r\n\r\n logout() {\r\n\r\n SessionStore.setInativity(false)\r\n SessionStore.setUrlBeforeInactivity(this.router.url);\r\n setTimeout(() => {\r\n this.router.navigateByUrl('/', { replaceUrl: true });\r\n }, 100)\r\n\r\n }\r\n\r\n logoutChat() {\r\n }\r\n \r\n async presentAlert(message: string) {\r\n const alert = await this.alertController.create({\r\n cssClass: 'my-custom-class',\r\n header: 'Mensagem do sistema',\r\n message: message,\r\n buttons: ['OK']\r\n });\r\n\r\n await alert.present();\r\n }\r\n}\r\n"]},"metadata":{},"sourceType":"module"} |