From bb30a98de125de9ecd1edfa9feb90f5af5168198 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eudes=20In=C3=A1cio?= Date: Fri, 22 Jan 2021 16:03:05 +0100 Subject: [PATCH 1/7] Cache of Firebase token --- .../executionHistory/executionHistory.bin | Bin 7289248 -> 7289248 bytes .../executionHistory/executionHistory.lock | Bin 17 -> 17 bytes .../.gradle/6.1.1/fileHashes/fileHashes.bin | Bin 892535 -> 892585 bytes .../.gradle/6.1.1/fileHashes/fileHashes.lock | Bin 17 -> 17 bytes .../buildOutputCleanup.lock | Bin 17 -> 17 bytes android/.idea/workspace.xml | 315 +------------ .../debug/bundle-manifest/AndroidManifest.xml | 3 + .../tmp/debug/dex-renamer-state.txt | 2 +- .../tmp/debug/zip-cache/androidResources | Bin 43296 -> 43296 bytes .../debug/AndroidManifest.xml | 3 + .../manifest-merger-blame-debug-report.txt | 438 +++++++++--------- .../out/public/home-home-module-es2015.js | 33 +- .../out/public/home-home-module-es2015.js.map | 2 +- .../debug/out/public/home-home-module-es5.js | 38 +- .../out/public/home-home-module-es5.js.map | 2 +- .../public/pages-login-login-module-es2015.js | 17 + .../pages-login-login-module-es2015.js.map | 2 +- .../public/pages-login-login-module-es5.js | 43 +- .../pages-login-login-module-es5.js.map | 2 +- .../debug/AndroidManifest.xml | 3 + .../debug/out/resources-debug.ap_ | Bin 959628 -> 959664 bytes .../app/build/outputs/apk/debug/app-debug.apk | Bin 19708665 -> 19757001 bytes .../logs/manifest-merger-debug-report.txt | 68 +-- android/app/src/main/AndroidManifest.xml | 1 + .../assets/public/home-home-module-es2015.js | 33 +- .../public/home-home-module-es2015.js.map | 2 +- .../assets/public/home-home-module-es5.js | 38 +- .../assets/public/home-home-module-es5.js.map | 2 +- .../public/pages-login-login-module-es2015.js | 17 + .../pages-login-login-module-es2015.js.map | 2 +- .../public/pages-login-login-module-es5.js | 43 +- .../pages-login-login-module-es5.js.map | 2 +- src/app/pages/login/login.page.ts | 99 ++-- 33 files changed, 568 insertions(+), 642 deletions(-) diff --git a/android/.gradle/6.1.1/executionHistory/executionHistory.bin b/android/.gradle/6.1.1/executionHistory/executionHistory.bin index 7f469d1b7f866bc9a8cc385ea946daada7c43017..4ef0665598d679f3c8689be373e3f61511ef08c6 100644 GIT binary patch delta 2314 zcma*odsNJ67zc1aGo|Jyy)&p$ZOwF1={6K5*{!f$beTd^YfLj4Q`1F=lnrGKvo@Q^ z_F&0i&q0nPUAM`eExc$-~0Q`d*0{!7@r>I z7*UCy(f8JK^jy7#-csL3Z>6{1%WD$4X6F@XG};W!^mI*nUXD(uEzoJQwc5g<{9fHZ zi!&9oqQnN@K|Ja^h>iO}kR=^hqi-`kj|%IZbs|fkVm3oVZJ-#`)$(LWSi=j1lKI{a z&|u>Av3(Zn9CW8>=i%i>lWW`Tvv969(6cf+l!c86$~8pYb}_SQ(=4~YW@N_{c|J{q zFcVuZ7@<7)dR0iXMA@--$&_Bawak_``#V%BgRNlZ)nP37HnYW0UhJJsB{l4mAo8$= zY*p~r+jV`t=+MD!8a^;4Zy!+JXKTnl+u~|%?(BO<+GaSNZ+~VFE)UqNg7emUe7<<~ zBy&;d%c-|-%n&hKLHvMqg%%Z`3psO?-+|HO?FgpKP#zhtV=d~JZKzdjKh$}Qzc$y< z(!`>^$OiSJElsvV=8@Rcs-k0O8jYy|9Vr7=OIE<{y?!D(UPCV0kZU)KYQI_Q&Z)XY zu10Vjw?nvv^*~xLPYPg&;$r{(sc}1nYs4Y#2gV*bLre0=6-HoXjJ#YGe1786jM8@Q z++!+cHI%B7fY2;)sC%Y_2;feWP9@`ciY*)FjnqB7e8pKEA z3W4yXc2rqJS{U*wFlcIhNo%i>`<9_gnSmAq$-%Ek@~1 zrZF(|T1;|9U7{t33WxyIL~27{EF#MoLKUm6qz{){EG$3N8gZwspJC-)`lA78 zAhJXDNQed@2jqyH&}YaQxgZe|BUj{x+>r+wj69JS@)JJW6?PDC5k|iC<;ZR@hAqxqBy#8ar`~bM|+Oh z2(5^ej8D*JLzOTX_kd4J_ECV$-!dc{e0iXr`H=H&@v_SCv2cGjMt57;x+Q1{VA_RdW^_ALK*0hpYzZVA&q?rK;)vUUajk>;{Jv`=|U7 zb>Ffha$e1fV%w2FLHMfJ)Hj#T3T|Gq8VpXpvQo1m1ND`m1WJ7qW1`$YmV5THUVj2p zZSMx<91+(Lm!F6xpougte^OGT`9J9MrRmxoHBz02P$8V1%fpU{L5muPQiwu$4BpRueS4?|vZrhxamyzA?N@~cR z8_YuL@MH~yot6)JXI_h7;c_fe*}N^X2P2)74K5!Y8l|DBNJEV~ru{n7Y|0vRx2GX3N=F$;hcZzX%0@Y8 LI@R6ImCFAG;Fb8_ delta 2127 zcma*odrVVT90zbOt+n=AIIT|}leU07Tabd3=`0{1C{R>dd{8Kl3Q~$l1XPrVR;%I= zt@1O@D1wm$H&fB=%*;3+I29jZ(~$U>)0(L45kbwSW6}M!+2zjfrX&4y5Y$kWHG;?VDFz?weX2 z>sVzv=m}AF_M*7YyE5ja^zbN`s`OVAu4S_U5A)~Ju7J{C#)zDDwZ=xaX z?6WYk@sr}M=Z~x&eZenLcvyL97ch4JK+r#C+lk$`yWG6Y%-wRJUYTZEI}$vfu(!q6 z)~Q{lXOsulK3yExef`{HrWK@5SQ+$YiMUX-Qoj|N?EdaxU#1q2?dw+_GsH$XTBbWp z&pzttvG(?`Xbch}XWHB260n*i@)j7Yvpim`Yhlj#?Jz%rV<+SiIwzNWCv1!h^`RGa z+F%BXIVw-Oy_8&L#8bAmtNmLynZ0((Vhi_7n91ydx-2b_@~@KHC#VIbk4De!wD-ll zqM|Z#bR@ZSyF1{?wnc^)GwSc$Zxj3s(zD5{fCy9*sJ@c)GNkK{Y<$_LUz5Y$Y{KI7 znEkLq=UD`j%W^L$>6DL#bywsfSZGVC82k~0tRpNCXBDAGt4K8C;(VdQ#hI~cDrX%6 z!KG&Ux|*07(YVyd0sJ11-C^>$@E>DWjACHw-MQ(uGxK;LsUTu75S5U=tR-6*lGZK! zMshr_Wd6(Binh2asddK&f<#D+#-ed(Jeq(eqDjaVxgmGtfj&T!ktdR%fpuia3wa|S zGzIx0Kje=BP#_9Ia-=}PC$*BYStSRZV*P0T|Bl~REV%_YU_Ej2Z1V0ze zJO|PBDO-nJrFZI6mek=ZBeIF-n4msK5lMe?(|pfBPM$(Z`#m(R4E%0Xh(P9@Vgkcb zg@Pt|YECi0FHrb{Qwdp5k4rVK%)k<_UEMEhvkfle9j)_$|Xk2d>i?r}(1RkuEBwR6ugd+e=k^`%J=y)!9u z;C#pR$z}7TiS2Y&)XK5`%juM<{)W~R>LHmaD zpRqTx5gP2$d9d9st+mcJYUymF&X)Jy@Dq0G>W5D|C@zm=Au~KZ7ox7{T!+m(2~=&v zp)BFsp^4BW67k-bgEZ=@t}^&Nq34;XD{g$PbBB<8wQ$(<3kJhReAb&pT`mrKj^mJj zO~d{71{d@hl7oOb7zBI!{aDcWjY)!#mdHuguGc!0juz6c*NgfcB)oHMyhs0q$Dxke z_^a1iH^aAl!4jMLBoAtSoe^lwcPvIrXucz3d=YuKTHs)DX5HI58Kzxa-f0&|_08D! zcDf-|-#T=sMNgO1VPuIWg2B$Vl6QLs`g}6}x{v$M{kv;u*8=_Z`9pU+IuGZuDP-^I zng@H0MPT?sB!QZxYUw~Dav?D->&NZzv>92;@rVMF*we* yHXYHUOq7KTC>!OVT-tOb@5_iGO=T^3n1_sLDauC$Xc;O*CRBvXwBTW}O7|y`D3hE3 diff --git a/android/.gradle/6.1.1/executionHistory/executionHistory.lock b/android/.gradle/6.1.1/executionHistory/executionHistory.lock index da122fbd8598738ac2e43a8d545fbb6b23322d04..46676a6b569ae66c4c3279a0dc0c03b1d8cee581 100644 GIT binary patch literal 17 VcmZR+!1ty7NyeeO3}C=E697SP1?K<& literal 17 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

mtudvnTo_i%7EiomA; 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 diff --git a/android/.idea/workspace.xml b/android/.idea/workspace.xml index a4c51ca47..9fb0d092a 100644 --- a/android/.idea/workspace.xml +++ b/android/.idea/workspace.xml @@ -15,325 +15,48 @@ - - - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

\\r\\n
\\r\\n logo\\r\\n
\\r\\n

Inicie a sessão

\\r\\n
\\r\\n

Nome de utilizador

\\r\\n \\r\\n \\r\\n \\r\\n

Palavra-passe

\\r\\n \\r\\n \\r\\n \\r\\n Iniciar\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\";","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\n\r\nimport { LoginPage } from './login.page';\r\n\r\nconst routes: Routes = [\r\n {\r\n path: '',\r\n component: LoginPage\r\n }\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule],\r\n})\r\nexport class LoginPageRoutingModule {}\r\n","import { NgModule, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\n\r\nimport { IonicModule } from '@ionic/angular';\r\n\r\nimport { LoginPageRoutingModule } from './login-routing.module';\r\n\r\nimport { LoginPage } from './login.page';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n IonicModule,\r\n LoginPageRoutingModule\r\n ],\r\n declarations: [LoginPage],\r\n schemas: [CUSTOM_ELEMENTS_SCHEMA]\r\n})\r\nexport class LoginPageModule {}\r\n","export default \".wrapper {\\n margin: 0 auto;\\n}\\n\\n.div-logo {\\n width: 200px;\\n margin: 0 auto;\\n padding-bottom: 15px;\\n}\\n\\n.div-logo img {\\n width: 100%;\\n}\\n\\n.wrapper ion-input {\\n font-size: 18px;\\n}\\n\\n.wrapper ion-button {\\n font-size: medium;\\n margin-top: 18px;\\n}\\n\\nion-item {\\n --background: transparent;\\n}\\n\\n.form {\\n width: 300px;\\n overflow: auto;\\n margin: 0 auto;\\n}\\n\\n.form-label {\\n margin: 15px 0 5px 0;\\n font-size: 15px;\\n}\\n\\n.form-input {\\n --background: #fff;\\n /* --color:#fff; */\\n border-radius: 10px;\\n margin: 5px 0 5px 0;\\n}\\n\\n.btn-ok-login {\\n width: 160px !important;\\n height: 45px !important;\\n margin: 15px auto;\\n padding: 10px 15px;\\n border-radius: 22.5px;\\n background-color: #42b9fe;\\n color: #ffffff !important;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvcGFnZXMvbG9naW4vQzpcXFVzZXJzXFxldWRlcy5pbmFjaW9cXEdhYmluZXQtRGlnaXRhbFByb2plY3RcXE5ldyBmb2xkZXJcXGdhYmluZXRlLWRpZ2l0YWwvc3JjXFxhcHBcXHBhZ2VzXFxsb2dpblxcbG9naW4ucGFnZS5zY3NzIiwic3JjL2FwcC9wYWdlcy9sb2dpbi9sb2dpbi5wYWdlLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDSSxjQUFBO0FDQ0o7O0FEQ0E7RUFDSSxZQUFBO0VBQ0EsY0FBQTtFQUNBLG9CQUFBO0FDRUo7O0FEQUE7RUFDSSxXQUFBO0FDR0o7O0FEREE7RUFDSSxlQUFBO0FDSUo7O0FERkE7RUFDSSxpQkFBQTtFQUNBLGdCQUFBO0FDS0o7O0FESEE7RUFDSSx5QkFBQTtBQ01KOztBREpBO0VBQ0ksWUFBQTtFQUNBLGNBQUE7RUFDQSxjQUFBO0FDT0o7O0FETEE7RUFDSSxvQkFBQTtFQUNBLGVBQUE7QUNRSjs7QUROQTtFQUNJLGtCQUFBO0VBQ0Esa0JBQUE7RUFDQSxtQkFBQTtFQUNBLG1CQUFBO0FDU0o7O0FEUEE7RUFDSSx1QkFBQTtFQUNBLHVCQUFBO0VBQ0EsaUJBQUE7RUFDQSxrQkFBQTtFQUNBLHFCQUFBO0VBQ0EseUJBQUE7RUFDQSx5QkFBQTtBQ1VKIiwiZmlsZSI6InNyYy9hcHAvcGFnZXMvbG9naW4vbG9naW4ucGFnZS5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLndyYXBwZXJ7XHJcbiAgICBtYXJnaW46IDAgYXV0bztcclxufVxyXG4uZGl2LWxvZ297XHJcbiAgICB3aWR0aDogMjAwcHg7XHJcbiAgICBtYXJnaW46ICAwIGF1dG87XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogMTVweDtcclxufVxyXG4uZGl2LWxvZ28gaW1ne1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbn1cclxuLndyYXBwZXIgaW9uLWlucHV0e1xyXG4gICAgZm9udC1zaXplOiAxOHB4O1xyXG59XHJcbi53cmFwcGVyIGlvbi1idXR0b257XHJcbiAgICBmb250LXNpemU6IG1lZGl1bTtcclxuICAgIG1hcmdpbi10b3A6IDE4cHg7XHJcbn1cclxuaW9uLWl0ZW17XHJcbiAgICAtLWJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG59XHJcbi5mb3Jte1xyXG4gICAgd2lkdGg6IDMwMHB4O1xyXG4gICAgb3ZlcmZsb3c6IGF1dG87XHJcbiAgICBtYXJnaW46IDAgYXV0bztcclxufVxyXG4uZm9ybS1sYWJlbHtcclxuICAgIG1hcmdpbjogMTVweCAwIDVweCAwO1xyXG4gICAgZm9udC1zaXplOiAxNXB4O1xyXG59XHJcbi5mb3JtLWlucHV0eyBcclxuICAgIC0tYmFja2dyb3VuZDogI2ZmZjtcclxuICAgIC8qIC0tY29sb3I6I2ZmZjsgKi9cclxuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XHJcbiAgICBtYXJnaW46IDVweCAwIDVweCAwO1xyXG59XHJcbi5idG4tb2stbG9naW57XHJcbiAgICB3aWR0aDogMTYwcHggIWltcG9ydGFudDtcclxuICAgIGhlaWdodDogNDVweCAhaW1wb3J0YW50O1xyXG4gICAgbWFyZ2luOiAxNXB4IGF1dG87XHJcbiAgICBwYWRkaW5nOiAxMHB4IDE1cHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiAyMi41cHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDJiOWZlO1xyXG4gICAgY29sb3I6ICNmZmZmZmYgIWltcG9ydGFudDtcclxuICB9IiwiLndyYXBwZXIge1xuICBtYXJnaW46IDAgYXV0bztcbn1cblxuLmRpdi1sb2dvIHtcbiAgd2lkdGg6IDIwMHB4O1xuICBtYXJnaW46IDAgYXV0bztcbiAgcGFkZGluZy1ib3R0b206IDE1cHg7XG59XG5cbi5kaXYtbG9nbyBpbWcge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLndyYXBwZXIgaW9uLWlucHV0IHtcbiAgZm9udC1zaXplOiAxOHB4O1xufVxuXG4ud3JhcHBlciBpb24tYnV0dG9uIHtcbiAgZm9udC1zaXplOiBtZWRpdW07XG4gIG1hcmdpbi10b3A6IDE4cHg7XG59XG5cbmlvbi1pdGVtIHtcbiAgLS1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cblxuLmZvcm0ge1xuICB3aWR0aDogMzAwcHg7XG4gIG92ZXJmbG93OiBhdXRvO1xuICBtYXJnaW46IDAgYXV0bztcbn1cblxuLmZvcm0tbGFiZWwge1xuICBtYXJnaW46IDE1cHggMCA1cHggMDtcbiAgZm9udC1zaXplOiAxNXB4O1xufVxuXG4uZm9ybS1pbnB1dCB7XG4gIC0tYmFja2dyb3VuZDogI2ZmZjtcbiAgLyogLS1jb2xvcjojZmZmOyAqL1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICBtYXJnaW46IDVweCAwIDVweCAwO1xufVxuXG4uYnRuLW9rLWxvZ2luIHtcbiAgd2lkdGg6IDE2MHB4ICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogNDVweCAhaW1wb3J0YW50O1xuICBtYXJnaW46IDE1cHggYXV0bztcbiAgcGFkZGluZzogMTBweCAxNXB4O1xuICBib3JkZXItcmFkaXVzOiAyMi41cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0MmI5ZmU7XG4gIGNvbG9yOiAjZmZmZmZmICFpbXBvcnRhbnQ7XG59Il19 */\";","import { Component, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { AuthService } from 'src/app/services/auth.service';\r\nimport { User } from 'src/app/models/user.model';\r\nimport { ToastService } from 'src/app/services/toast.service';\r\nimport { environment } from 'src/environments/environment';\r\nimport { AlertController } from '@ionic/angular';\r\nimport { StorageService } from 'src/app/services/storage.service';\r\nimport { AuthConnstants } from 'src/app/config/auth-constants';\r\nimport { PhotoService } from 'src/app/services/photo.service';\r\n\r\n\r\n@Component({\r\n selector: 'app-login',\r\n templateUrl: './login.page.html',\r\n styleUrls: ['./login.page.scss'],\r\n})\r\nexport class LoginPage implements OnInit {\r\n\r\n logstatus: boolean;\r\n username: string = environment.defaultuser;\r\n password: string = environment.defaultuserpwd;\r\n userattempt: User;\r\n\r\n public body = {\"user\": this.username,\"password\": this.password};\r\n public postData = {\"user\": this.username,\"password\": this.password};\r\n\r\n constructor(\r\n private router: Router, \r\n private authService: AuthService,\r\n private storageService: StorageService,\r\n private toastService: ToastService,\r\n private photoService: PhotoService,\r\n public alertController: AlertController) { }\r\n\r\n ngOnInit() {\r\n \r\n }\r\n //Function to validade the login inputs\r\n validateInput(){\r\n return (\r\n this.username.trim().length > 0 \r\n && this.password.trim().length > 0\r\n );\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 /* loginRocketChat(){\r\n this.authService.loginChat(this.postData).subscribe((res: any) =>{\r\n this.storageService.store(AuthConnstants.AUTH, res.data);\r\n console.log('Login to Rocket chat OK');\r\n },(error:any) =>{\r\n console.log('Network error');\r\n });\r\n } */\r\n \r\n\r\n \r\n async Login(){\r\n /* try { */\r\n //Go to our home in home/feed.\r\n //this.router.navigate(['/home/events']);\r\n if(this.validateInput()){\r\n this.userattempt = {\r\n username: this.username,\r\n password: this.password,\r\n domainName: environment.domain,\r\n BasicAuthKey: \"\"\r\n }\r\n if (await this.authService.login(this.userattempt)){\r\n /* this.loginRocketChat(); */\r\n this.router.navigate(['/home/events']);\r\n }\r\n else\r\n { \r\n //this.toastService.presentToast('Não foi possível fazer login\"');\r\n this.presentAlert('O nome de utilizador e palavra-passe estão incorretas ou verifique a sua conexão com a internet e volte a tentar.'); \r\n } \r\n }\r\n else{\r\n //this.toastService.presentToast('Preencha todos campos');\r\n this.presentAlert('Por favor, insira o seu nome de utilizador e palavra-passe.');\r\n } \r\n /* } catch (error) {\r\n error\r\n this.presentAlert('Ocorreu um erro ao fazer login. Contacte o administrador de sistema. '+ error);\r\n } */\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\n/* import { Plugins, CameraResultType, Capacitor, FilesystemDirectory, CameraPhoto, CameraSource } from '@capacitor/core'; */\r\nimport { Photo } from '../models/photo';\r\nimport { Platform } from '@ionic/angular';\r\nimport { Camera, CameraOptions } from '@ionic-native/camera/ngx';\r\n\r\n /* const { Camera, Filesystem, Storage } = Plugins; */\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class PhotoService {\r\n public photos: Photo[] = [];\r\n private PHOTO_STORAGE: string = \"photos\";\r\n private platform: Platform;\r\n\r\n constructor(platform: Platform,\r\n private camera:Camera) {\r\n this.platform = platform;\r\n }\r\n\r\n async takePicture(){\r\n const options: CameraOptions = {\r\n quality: 100,\r\n destinationType: this.camera.DestinationType.FILE_URI,\r\n encodingType: this.camera.EncodingType.JPEG,\r\n mediaType: this.camera.MediaType.PICTURE\r\n }\r\n\r\n \r\n \r\n this.camera.getPicture(options).then((imageData) => {\r\n // imageData is either a base64 encoded string or a file URI\r\n // If it's base64 (DATA_URL):\r\n let base64Image = 'data:image/jpeg;base64,' + imageData;\r\n return base64Image;\r\n }, (err) => {\r\n // Handle error\r\n });\r\n\r\n }\r\n\r\n\r\n /* async addNewToGallery() {\r\n // Take a photo using Capacitor\r\n const capturedPhoto = await Camera.getPhoto({\r\n resultType: CameraResultType.Base64, \r\n source: CameraSource.Camera, \r\n quality: 90,\r\n width: 1080,\r\n height: 720,\r\n });\r\n \r\n this.photos.unshift({\r\n fileName: new Date().getTime() + '.png',\r\n webviewPath: capturedPhoto.base64String,\r\n fileFormat: capturedPhoto.format,\r\n });\r\n\r\n console.log(capturedPhoto);\r\n \r\n \r\n console.log(this.photos[0]);\r\n \r\n } */\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { ToastController } from '@ionic/angular';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ToastService {\r\n\r\n constructor(public toastController: ToastController) { }\r\n\r\n async presentToast(infoMessage: string) {\r\n const toast = await this.toastController.create({\r\n message: infoMessage,\r\n duration: 2000\r\n });\r\n toast.present();\r\n }\r\n\r\n}\r\n"],"sourceRoot":"webpack:///"} \ No newline at end of file +{"version":3,"sources":["./src/app/pages/login/login.page.html","./src/app/pages/login/login-routing.module.ts","./src/app/pages/login/login.module.ts","./src/app/pages/login/login.page.scss","./src/app/pages/login/login.page.ts","./src/app/services/photo.service.ts","./src/app/services/toast.service.ts"],"names":[],"mappings":"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","file":"pages-login-login-module-es2015.js","sourcesContent":["export default \"\\r\\n
\\r\\n
\\r\\n logo\\r\\n
\\r\\n

Inicie a sessão

\\r\\n
\\r\\n

Nome de utilizador

\\r\\n \\r\\n \\r\\n \\r\\n

Palavra-passe

\\r\\n \\r\\n \\r\\n \\r\\n Iniciar\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\";","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\n\r\nimport { LoginPage } from './login.page';\r\n\r\nconst routes: Routes = [\r\n {\r\n path: '',\r\n component: LoginPage\r\n }\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule],\r\n})\r\nexport class LoginPageRoutingModule {}\r\n","import { NgModule, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\n\r\nimport { IonicModule } from '@ionic/angular';\r\n\r\nimport { LoginPageRoutingModule } from './login-routing.module';\r\n\r\nimport { LoginPage } from './login.page';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n IonicModule,\r\n LoginPageRoutingModule\r\n ],\r\n declarations: [LoginPage],\r\n schemas: [CUSTOM_ELEMENTS_SCHEMA]\r\n})\r\nexport class LoginPageModule {}\r\n","export default \".wrapper {\\n margin: 0 auto;\\n}\\n\\n.div-logo {\\n width: 200px;\\n margin: 0 auto;\\n padding-bottom: 15px;\\n}\\n\\n.div-logo img {\\n width: 100%;\\n}\\n\\n.wrapper ion-input {\\n font-size: 18px;\\n}\\n\\n.wrapper ion-button {\\n font-size: medium;\\n margin-top: 18px;\\n}\\n\\nion-item {\\n --background: transparent;\\n}\\n\\n.form {\\n width: 300px;\\n overflow: auto;\\n margin: 0 auto;\\n}\\n\\n.form-label {\\n margin: 15px 0 5px 0;\\n font-size: 15px;\\n}\\n\\n.form-input {\\n --background: #fff;\\n /* --color:#fff; */\\n border-radius: 10px;\\n margin: 5px 0 5px 0;\\n}\\n\\n.btn-ok-login {\\n width: 160px !important;\\n height: 45px !important;\\n margin: 15px auto;\\n padding: 10px 15px;\\n border-radius: 22.5px;\\n background-color: #42b9fe;\\n color: #ffffff !important;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvcGFnZXMvbG9naW4vQzpcXFVzZXJzXFxldWRlcy5pbmFjaW9cXEdhYmluZXQtRGlnaXRhbFByb2plY3RcXE5ldyBmb2xkZXJcXGdhYmluZXRlLWRpZ2l0YWwvc3JjXFxhcHBcXHBhZ2VzXFxsb2dpblxcbG9naW4ucGFnZS5zY3NzIiwic3JjL2FwcC9wYWdlcy9sb2dpbi9sb2dpbi5wYWdlLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDSSxjQUFBO0FDQ0o7O0FEQ0E7RUFDSSxZQUFBO0VBQ0EsY0FBQTtFQUNBLG9CQUFBO0FDRUo7O0FEQUE7RUFDSSxXQUFBO0FDR0o7O0FEREE7RUFDSSxlQUFBO0FDSUo7O0FERkE7RUFDSSxpQkFBQTtFQUNBLGdCQUFBO0FDS0o7O0FESEE7RUFDSSx5QkFBQTtBQ01KOztBREpBO0VBQ0ksWUFBQTtFQUNBLGNBQUE7RUFDQSxjQUFBO0FDT0o7O0FETEE7RUFDSSxvQkFBQTtFQUNBLGVBQUE7QUNRSjs7QUROQTtFQUNJLGtCQUFBO0VBQ0Esa0JBQUE7RUFDQSxtQkFBQTtFQUNBLG1CQUFBO0FDU0o7O0FEUEE7RUFDSSx1QkFBQTtFQUNBLHVCQUFBO0VBQ0EsaUJBQUE7RUFDQSxrQkFBQTtFQUNBLHFCQUFBO0VBQ0EseUJBQUE7RUFDQSx5QkFBQTtBQ1VKIiwiZmlsZSI6InNyYy9hcHAvcGFnZXMvbG9naW4vbG9naW4ucGFnZS5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLndyYXBwZXJ7XHJcbiAgICBtYXJnaW46IDAgYXV0bztcclxufVxyXG4uZGl2LWxvZ297XHJcbiAgICB3aWR0aDogMjAwcHg7XHJcbiAgICBtYXJnaW46ICAwIGF1dG87XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogMTVweDtcclxufVxyXG4uZGl2LWxvZ28gaW1ne1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbn1cclxuLndyYXBwZXIgaW9uLWlucHV0e1xyXG4gICAgZm9udC1zaXplOiAxOHB4O1xyXG59XHJcbi53cmFwcGVyIGlvbi1idXR0b257XHJcbiAgICBmb250LXNpemU6IG1lZGl1bTtcclxuICAgIG1hcmdpbi10b3A6IDE4cHg7XHJcbn1cclxuaW9uLWl0ZW17XHJcbiAgICAtLWJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG59XHJcbi5mb3Jte1xyXG4gICAgd2lkdGg6IDMwMHB4O1xyXG4gICAgb3ZlcmZsb3c6IGF1dG87XHJcbiAgICBtYXJnaW46IDAgYXV0bztcclxufVxyXG4uZm9ybS1sYWJlbHtcclxuICAgIG1hcmdpbjogMTVweCAwIDVweCAwO1xyXG4gICAgZm9udC1zaXplOiAxNXB4O1xyXG59XHJcbi5mb3JtLWlucHV0eyBcclxuICAgIC0tYmFja2dyb3VuZDogI2ZmZjtcclxuICAgIC8qIC0tY29sb3I6I2ZmZjsgKi9cclxuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XHJcbiAgICBtYXJnaW46IDVweCAwIDVweCAwO1xyXG59XHJcbi5idG4tb2stbG9naW57XHJcbiAgICB3aWR0aDogMTYwcHggIWltcG9ydGFudDtcclxuICAgIGhlaWdodDogNDVweCAhaW1wb3J0YW50O1xyXG4gICAgbWFyZ2luOiAxNXB4IGF1dG87XHJcbiAgICBwYWRkaW5nOiAxMHB4IDE1cHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiAyMi41cHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDJiOWZlO1xyXG4gICAgY29sb3I6ICNmZmZmZmYgIWltcG9ydGFudDtcclxuICB9IiwiLndyYXBwZXIge1xuICBtYXJnaW46IDAgYXV0bztcbn1cblxuLmRpdi1sb2dvIHtcbiAgd2lkdGg6IDIwMHB4O1xuICBtYXJnaW46IDAgYXV0bztcbiAgcGFkZGluZy1ib3R0b206IDE1cHg7XG59XG5cbi5kaXYtbG9nbyBpbWcge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLndyYXBwZXIgaW9uLWlucHV0IHtcbiAgZm9udC1zaXplOiAxOHB4O1xufVxuXG4ud3JhcHBlciBpb24tYnV0dG9uIHtcbiAgZm9udC1zaXplOiBtZWRpdW07XG4gIG1hcmdpbi10b3A6IDE4cHg7XG59XG5cbmlvbi1pdGVtIHtcbiAgLS1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cblxuLmZvcm0ge1xuICB3aWR0aDogMzAwcHg7XG4gIG92ZXJmbG93OiBhdXRvO1xuICBtYXJnaW46IDAgYXV0bztcbn1cblxuLmZvcm0tbGFiZWwge1xuICBtYXJnaW46IDE1cHggMCA1cHggMDtcbiAgZm9udC1zaXplOiAxNXB4O1xufVxuXG4uZm9ybS1pbnB1dCB7XG4gIC0tYmFja2dyb3VuZDogI2ZmZjtcbiAgLyogLS1jb2xvcjojZmZmOyAqL1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICBtYXJnaW46IDVweCAwIDVweCAwO1xufVxuXG4uYnRuLW9rLWxvZ2luIHtcbiAgd2lkdGg6IDE2MHB4ICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogNDVweCAhaW1wb3J0YW50O1xuICBtYXJnaW46IDE1cHggYXV0bztcbiAgcGFkZGluZzogMTBweCAxNXB4O1xuICBib3JkZXItcmFkaXVzOiAyMi41cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0MmI5ZmU7XG4gIGNvbG9yOiAjZmZmZmZmICFpbXBvcnRhbnQ7XG59Il19 */\";","import { Component, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { AuthService } from 'src/app/services/auth.service';\r\nimport { User } from 'src/app/models/user.model';\r\nimport { ToastService } from 'src/app/services/toast.service';\r\nimport { environment } from 'src/environments/environment';\r\nimport { AlertController } from '@ionic/angular';\r\nimport { StorageService } from 'src/app/services/storage.service';\r\nimport { AuthConnstants } from 'src/app/config/auth-constants';\r\nimport { PhotoService } from 'src/app/services/photo.service';\r\n\r\nimport { Plugins, PushNotification, PushNotificationToken, PushNotificationActionPerformed } from '@capacitor/core';\r\n\r\nconst { PushNotifications } = Plugins;\r\n\r\n\r\n\r\n@Component({\r\n selector: 'app-login',\r\n templateUrl: './login.page.html',\r\n styleUrls: ['./login.page.scss'],\r\n})\r\nexport class LoginPage implements OnInit {\r\n\r\n logstatus: boolean;\r\n username: string = environment.defaultuser;\r\n password: string = environment.defaultuserpwd;\r\n userattempt: User;\r\n\r\n public body = { \"user\": this.username, \"password\": this.password };\r\n public postData = { \"user\": this.username, \"password\": this.password };\r\n\r\n constructor(\r\n private router: Router,\r\n private authService: AuthService,\r\n private storageService: StorageService,\r\n private toastService: ToastService,\r\n private photoService: PhotoService,\r\n public alertController: AlertController) { }\r\n\r\n ngOnInit() {\r\n\r\n }\r\n //Function to validade the login inputs\r\n validateInput() {\r\n return (\r\n this.username.trim().length > 0\r\n && this.password.trim().length > 0\r\n );\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 /* loginRocketChat(){\r\n this.authService.loginChat(this.postData).subscribe((res: any) =>{\r\n this.storageService.store(AuthConnstants.AUTH, res.data);\r\n console.log('Login to Rocket chat OK');\r\n },(error:any) =>{\r\n console.log('Network error');\r\n });\r\n } */\r\n\r\n storeUserIdANdToken() {\r\n\r\n (PushNotifications as any).requestPermission().then(result => {\r\n PushNotifications.register();\r\n });\r\n\r\n PushNotifications.addListener(\r\n 'registration',\r\n (token: PushNotificationToken) => {\r\n console.log('FIREBASE TOKEN', token.value)\r\n this.storageService.store(this.username, token.value);\r\n this.storageService.get(this.username).then(value => {\r\n console.log('STORAGE TOKEN',value )\r\n })\r\n },\r\n );\r\n\r\n };\r\n\r\n\r\n async Login() {\r\n /* try { */\r\n //Go to our home in home/feed.\r\n //this.router.navigate(['/home/events']);\r\n if (this.validateInput()) {\r\n this.userattempt = {\r\n username: this.username,\r\n password: this.password,\r\n domainName: environment.domain,\r\n BasicAuthKey: \"\"\r\n }\r\n if (await this.authService.login(this.userattempt)) {\r\n /* this.loginRocketChat(); */\r\n this.storeUserIdANdToken()\r\n this.router.navigate(['/home/events']);\r\n }\r\n else {\r\n //this.toastService.presentToast('Não foi possível fazer login\"');\r\n this.presentAlert('O nome de utilizador e palavra-passe estão incorretas ou verifique a sua conexão com a internet e volte a tentar.');\r\n }\r\n }\r\n else {\r\n //this.toastService.presentToast('Preencha todos campos');\r\n this.presentAlert('Por favor, insira o seu nome de utilizador e palavra-passe.');\r\n }\r\n /* } catch (error) {\r\n error\r\n this.presentAlert('Ocorreu um erro ao fazer login. Contacte o administrador de sistema. '+ error);\r\n } */\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\n/* import { Plugins, CameraResultType, Capacitor, FilesystemDirectory, CameraPhoto, CameraSource } from '@capacitor/core'; */\r\nimport { Photo } from '../models/photo';\r\nimport { Platform } from '@ionic/angular';\r\nimport { Camera, CameraOptions } from '@ionic-native/camera/ngx';\r\n\r\n /* const { Camera, Filesystem, Storage } = Plugins; */\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class PhotoService {\r\n public photos: Photo[] = [];\r\n private PHOTO_STORAGE: string = \"photos\";\r\n private platform: Platform;\r\n\r\n constructor(platform: Platform,\r\n private camera:Camera) {\r\n this.platform = platform;\r\n }\r\n\r\n async takePicture(){\r\n const options: CameraOptions = {\r\n quality: 100,\r\n destinationType: this.camera.DestinationType.FILE_URI,\r\n encodingType: this.camera.EncodingType.JPEG,\r\n mediaType: this.camera.MediaType.PICTURE\r\n }\r\n\r\n \r\n \r\n this.camera.getPicture(options).then((imageData) => {\r\n // imageData is either a base64 encoded string or a file URI\r\n // If it's base64 (DATA_URL):\r\n let base64Image = 'data:image/jpeg;base64,' + imageData;\r\n return base64Image;\r\n }, (err) => {\r\n // Handle error\r\n });\r\n\r\n }\r\n\r\n\r\n /* async addNewToGallery() {\r\n // Take a photo using Capacitor\r\n const capturedPhoto = await Camera.getPhoto({\r\n resultType: CameraResultType.Base64, \r\n source: CameraSource.Camera, \r\n quality: 90,\r\n width: 1080,\r\n height: 720,\r\n });\r\n \r\n this.photos.unshift({\r\n fileName: new Date().getTime() + '.png',\r\n webviewPath: capturedPhoto.base64String,\r\n fileFormat: capturedPhoto.format,\r\n });\r\n\r\n console.log(capturedPhoto);\r\n \r\n \r\n console.log(this.photos[0]);\r\n \r\n } */\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { ToastController } from '@ionic/angular';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ToastService {\r\n\r\n constructor(public toastController: ToastController) { }\r\n\r\n async presentToast(infoMessage: string) {\r\n const toast = await this.toastController.create({\r\n message: infoMessage,\r\n duration: 2000\r\n });\r\n toast.present();\r\n }\r\n\r\n}\r\n"],"sourceRoot":"webpack:///"} \ No newline at end of file diff --git a/android/app/build/intermediates/merged_assets/debug/out/public/pages-login-login-module-es5.js b/android/app/build/intermediates/merged_assets/debug/out/public/pages-login-login-module-es5.js index 9130dd476..0b9119005 100644 --- a/android/app/build/intermediates/merged_assets/debug/out/public/pages-login-login-module-es5.js +++ b/android/app/build/intermediates/merged_assets/debug/out/public/pages-login-login-module-es5.js @@ -252,6 +252,14 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons var src_app_services_photo_service__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__( /*! src/app/services/photo.service */ "./src/app/services/photo.service.ts"); + /* harmony import */ + + + var _capacitor_core__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__( + /*! @capacitor/core */ + "./node_modules/@capacitor/core/dist/esm/index.js"); + + var PushNotifications = _capacitor_core__WEBPACK_IMPORTED_MODULE_9__["Plugins"].PushNotifications; var LoginPage = /*#__PURE__*/function () { function LoginPage(router, authService, storageService, toastService, photoService, alertController) { @@ -323,6 +331,24 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons }); } */ + }, { + key: "storeUserIdANdToken", + value: function storeUserIdANdToken() { + var _this = this; + + PushNotifications.requestPermission().then(function (result) { + PushNotifications.register(); + }); + PushNotifications.addListener('registration', function (token) { + console.log('FIREBASE TOKEN', token.value); + + _this.storageService.store(_this.username, token.value); + + _this.storageService.get(_this.username).then(function (value) { + console.log('STORAGE TOKEN', value); + }); + }); + } }, { key: "Login", value: function Login() { @@ -332,7 +358,7 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons switch (_context2.prev = _context2.next) { case 0: if (!this.validateInput()) { - _context2.next = 11; + _context2.next = 12; break; } @@ -347,28 +373,29 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons case 4: if (!_context2.sent) { - _context2.next = 8; + _context2.next = 9; break; } /* this.loginRocketChat(); */ + this.storeUserIdANdToken(); this.router.navigate(['/home/events']); - _context2.next = 9; + _context2.next = 10; break; - case 8: + case 9: //this.toastService.presentToast('Não foi possível fazer login"'); this.presentAlert('O nome de utilizador e palavra-passe estão incorretas ou verifique a sua conexão com a internet e volte a tentar.'); - case 9: - _context2.next = 12; + case 10: + _context2.next = 13; break; - case 11: + case 12: //this.toastService.presentToast('Preencha todos campos'); this.presentAlert('Por favor, insira o seu nome de utilizador e palavra-passe.'); - case 12: + case 13: case "end": return _context2.stop(); } diff --git a/android/app/build/intermediates/merged_assets/debug/out/public/pages-login-login-module-es5.js.map b/android/app/build/intermediates/merged_assets/debug/out/public/pages-login-login-module-es5.js.map index 5c909ab2e..14385a016 100644 --- a/android/app/build/intermediates/merged_assets/debug/out/public/pages-login-login-module-es5.js.map +++ b/android/app/build/intermediates/merged_assets/debug/out/public/pages-login-login-module-es5.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///src/app/pages/login/login.page.html","webpack:///src/app/pages/login/login-routing.module.ts","webpack:///src/app/pages/login/login.module.ts","webpack:///src/app/pages/login/login.page.scss","webpack:///src/app/pages/login/login.page.ts","webpack:///src/app/services/photo.service.ts","webpack:///src/app/services/toast.service.ts"],"names":["routes","path","component","LoginPageRoutingModule","imports","forChild","exports","LoginPageModule","declarations","schemas","LoginPage","router","authService","storageService","toastService","photoService","alertController","username","defaultuser","password","defaultuserpwd","body","postData","trim","length","message","create","cssClass","header","buttons","alert","present","validateInput","userattempt","domainName","domain","BasicAuthKey","login","navigate","presentAlert","selector","template","PhotoService","platform","camera","photos","PHOTO_STORAGE","options","quality","destinationType","DestinationType","FILE_URI","encodingType","EncodingType","JPEG","mediaType","MediaType","PICTURE","getPicture","then","imageData","base64Image","err","providedIn","ToastService","toastController","infoMessage","duration","toast"],"mappings":"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","file":"pages-login-login-module-es5.js","sourcesContent":["export default \"\\r\\n
\\r\\n
\\r\\n logo\\r\\n
\\r\\n

Inicie a sessão

\\r\\n
\\r\\n

Nome de utilizador

\\r\\n \\r\\n \\r\\n \\r\\n

Palavra-passe

\\r\\n \\r\\n \\r\\n \\r\\n Iniciar\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\";","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\n\r\nimport { LoginPage } from './login.page';\r\n\r\nconst routes: Routes = [\r\n {\r\n path: '',\r\n component: LoginPage\r\n }\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule],\r\n})\r\nexport class LoginPageRoutingModule {}\r\n","import { NgModule, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\n\r\nimport { IonicModule } from '@ionic/angular';\r\n\r\nimport { LoginPageRoutingModule } from './login-routing.module';\r\n\r\nimport { LoginPage } from './login.page';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n IonicModule,\r\n LoginPageRoutingModule\r\n ],\r\n declarations: [LoginPage],\r\n schemas: [CUSTOM_ELEMENTS_SCHEMA]\r\n})\r\nexport class LoginPageModule {}\r\n","export default \".wrapper {\\n margin: 0 auto;\\n}\\n\\n.div-logo {\\n width: 200px;\\n margin: 0 auto;\\n padding-bottom: 15px;\\n}\\n\\n.div-logo img {\\n width: 100%;\\n}\\n\\n.wrapper ion-input {\\n font-size: 18px;\\n}\\n\\n.wrapper ion-button {\\n font-size: medium;\\n margin-top: 18px;\\n}\\n\\nion-item {\\n --background: transparent;\\n}\\n\\n.form {\\n width: 300px;\\n overflow: auto;\\n margin: 0 auto;\\n}\\n\\n.form-label {\\n margin: 15px 0 5px 0;\\n font-size: 15px;\\n}\\n\\n.form-input {\\n --background: #fff;\\n /* --color:#fff; */\\n border-radius: 10px;\\n margin: 5px 0 5px 0;\\n}\\n\\n.btn-ok-login {\\n width: 160px !important;\\n height: 45px !important;\\n margin: 15px auto;\\n padding: 10px 15px;\\n border-radius: 22.5px;\\n background-color: #42b9fe;\\n color: #ffffff !important;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvcGFnZXMvbG9naW4vQzpcXFVzZXJzXFxldWRlcy5pbmFjaW9cXEdhYmluZXQtRGlnaXRhbFByb2plY3RcXE5ldyBmb2xkZXJcXGdhYmluZXRlLWRpZ2l0YWwvc3JjXFxhcHBcXHBhZ2VzXFxsb2dpblxcbG9naW4ucGFnZS5zY3NzIiwic3JjL2FwcC9wYWdlcy9sb2dpbi9sb2dpbi5wYWdlLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDSSxjQUFBO0FDQ0o7O0FEQ0E7RUFDSSxZQUFBO0VBQ0EsY0FBQTtFQUNBLG9CQUFBO0FDRUo7O0FEQUE7RUFDSSxXQUFBO0FDR0o7O0FEREE7RUFDSSxlQUFBO0FDSUo7O0FERkE7RUFDSSxpQkFBQTtFQUNBLGdCQUFBO0FDS0o7O0FESEE7RUFDSSx5QkFBQTtBQ01KOztBREpBO0VBQ0ksWUFBQTtFQUNBLGNBQUE7RUFDQSxjQUFBO0FDT0o7O0FETEE7RUFDSSxvQkFBQTtFQUNBLGVBQUE7QUNRSjs7QUROQTtFQUNJLGtCQUFBO0VBQ0Esa0JBQUE7RUFDQSxtQkFBQTtFQUNBLG1CQUFBO0FDU0o7O0FEUEE7RUFDSSx1QkFBQTtFQUNBLHVCQUFBO0VBQ0EsaUJBQUE7RUFDQSxrQkFBQTtFQUNBLHFCQUFBO0VBQ0EseUJBQUE7RUFDQSx5QkFBQTtBQ1VKIiwiZmlsZSI6InNyYy9hcHAvcGFnZXMvbG9naW4vbG9naW4ucGFnZS5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLndyYXBwZXJ7XHJcbiAgICBtYXJnaW46IDAgYXV0bztcclxufVxyXG4uZGl2LWxvZ297XHJcbiAgICB3aWR0aDogMjAwcHg7XHJcbiAgICBtYXJnaW46ICAwIGF1dG87XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogMTVweDtcclxufVxyXG4uZGl2LWxvZ28gaW1ne1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbn1cclxuLndyYXBwZXIgaW9uLWlucHV0e1xyXG4gICAgZm9udC1zaXplOiAxOHB4O1xyXG59XHJcbi53cmFwcGVyIGlvbi1idXR0b257XHJcbiAgICBmb250LXNpemU6IG1lZGl1bTtcclxuICAgIG1hcmdpbi10b3A6IDE4cHg7XHJcbn1cclxuaW9uLWl0ZW17XHJcbiAgICAtLWJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG59XHJcbi5mb3Jte1xyXG4gICAgd2lkdGg6IDMwMHB4O1xyXG4gICAgb3ZlcmZsb3c6IGF1dG87XHJcbiAgICBtYXJnaW46IDAgYXV0bztcclxufVxyXG4uZm9ybS1sYWJlbHtcclxuICAgIG1hcmdpbjogMTVweCAwIDVweCAwO1xyXG4gICAgZm9udC1zaXplOiAxNXB4O1xyXG59XHJcbi5mb3JtLWlucHV0eyBcclxuICAgIC0tYmFja2dyb3VuZDogI2ZmZjtcclxuICAgIC8qIC0tY29sb3I6I2ZmZjsgKi9cclxuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XHJcbiAgICBtYXJnaW46IDVweCAwIDVweCAwO1xyXG59XHJcbi5idG4tb2stbG9naW57XHJcbiAgICB3aWR0aDogMTYwcHggIWltcG9ydGFudDtcclxuICAgIGhlaWdodDogNDVweCAhaW1wb3J0YW50O1xyXG4gICAgbWFyZ2luOiAxNXB4IGF1dG87XHJcbiAgICBwYWRkaW5nOiAxMHB4IDE1cHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiAyMi41cHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDJiOWZlO1xyXG4gICAgY29sb3I6ICNmZmZmZmYgIWltcG9ydGFudDtcclxuICB9IiwiLndyYXBwZXIge1xuICBtYXJnaW46IDAgYXV0bztcbn1cblxuLmRpdi1sb2dvIHtcbiAgd2lkdGg6IDIwMHB4O1xuICBtYXJnaW46IDAgYXV0bztcbiAgcGFkZGluZy1ib3R0b206IDE1cHg7XG59XG5cbi5kaXYtbG9nbyBpbWcge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLndyYXBwZXIgaW9uLWlucHV0IHtcbiAgZm9udC1zaXplOiAxOHB4O1xufVxuXG4ud3JhcHBlciBpb24tYnV0dG9uIHtcbiAgZm9udC1zaXplOiBtZWRpdW07XG4gIG1hcmdpbi10b3A6IDE4cHg7XG59XG5cbmlvbi1pdGVtIHtcbiAgLS1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cblxuLmZvcm0ge1xuICB3aWR0aDogMzAwcHg7XG4gIG92ZXJmbG93OiBhdXRvO1xuICBtYXJnaW46IDAgYXV0bztcbn1cblxuLmZvcm0tbGFiZWwge1xuICBtYXJnaW46IDE1cHggMCA1cHggMDtcbiAgZm9udC1zaXplOiAxNXB4O1xufVxuXG4uZm9ybS1pbnB1dCB7XG4gIC0tYmFja2dyb3VuZDogI2ZmZjtcbiAgLyogLS1jb2xvcjojZmZmOyAqL1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICBtYXJnaW46IDVweCAwIDVweCAwO1xufVxuXG4uYnRuLW9rLWxvZ2luIHtcbiAgd2lkdGg6IDE2MHB4ICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogNDVweCAhaW1wb3J0YW50O1xuICBtYXJnaW46IDE1cHggYXV0bztcbiAgcGFkZGluZzogMTBweCAxNXB4O1xuICBib3JkZXItcmFkaXVzOiAyMi41cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0MmI5ZmU7XG4gIGNvbG9yOiAjZmZmZmZmICFpbXBvcnRhbnQ7XG59Il19 */\";","import { Component, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { AuthService } from 'src/app/services/auth.service';\r\nimport { User } from 'src/app/models/user.model';\r\nimport { ToastService } from 'src/app/services/toast.service';\r\nimport { environment } from 'src/environments/environment';\r\nimport { AlertController } from '@ionic/angular';\r\nimport { StorageService } from 'src/app/services/storage.service';\r\nimport { AuthConnstants } from 'src/app/config/auth-constants';\r\nimport { PhotoService } from 'src/app/services/photo.service';\r\n\r\n\r\n@Component({\r\n selector: 'app-login',\r\n templateUrl: './login.page.html',\r\n styleUrls: ['./login.page.scss'],\r\n})\r\nexport class LoginPage implements OnInit {\r\n\r\n logstatus: boolean;\r\n username: string = environment.defaultuser;\r\n password: string = environment.defaultuserpwd;\r\n userattempt: User;\r\n\r\n public body = {\"user\": this.username,\"password\": this.password};\r\n public postData = {\"user\": this.username,\"password\": this.password};\r\n\r\n constructor(\r\n private router: Router, \r\n private authService: AuthService,\r\n private storageService: StorageService,\r\n private toastService: ToastService,\r\n private photoService: PhotoService,\r\n public alertController: AlertController) { }\r\n\r\n ngOnInit() {\r\n \r\n }\r\n //Function to validade the login inputs\r\n validateInput(){\r\n return (\r\n this.username.trim().length > 0 \r\n && this.password.trim().length > 0\r\n );\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 /* loginRocketChat(){\r\n this.authService.loginChat(this.postData).subscribe((res: any) =>{\r\n this.storageService.store(AuthConnstants.AUTH, res.data);\r\n console.log('Login to Rocket chat OK');\r\n },(error:any) =>{\r\n console.log('Network error');\r\n });\r\n } */\r\n \r\n\r\n \r\n async Login(){\r\n /* try { */\r\n //Go to our home in home/feed.\r\n //this.router.navigate(['/home/events']);\r\n if(this.validateInput()){\r\n this.userattempt = {\r\n username: this.username,\r\n password: this.password,\r\n domainName: environment.domain,\r\n BasicAuthKey: \"\"\r\n }\r\n if (await this.authService.login(this.userattempt)){\r\n /* this.loginRocketChat(); */\r\n this.router.navigate(['/home/events']);\r\n }\r\n else\r\n { \r\n //this.toastService.presentToast('Não foi possível fazer login\"');\r\n this.presentAlert('O nome de utilizador e palavra-passe estão incorretas ou verifique a sua conexão com a internet e volte a tentar.'); \r\n } \r\n }\r\n else{\r\n //this.toastService.presentToast('Preencha todos campos');\r\n this.presentAlert('Por favor, insira o seu nome de utilizador e palavra-passe.');\r\n } \r\n /* } catch (error) {\r\n error\r\n this.presentAlert('Ocorreu um erro ao fazer login. Contacte o administrador de sistema. '+ error);\r\n } */\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\n/* import { Plugins, CameraResultType, Capacitor, FilesystemDirectory, CameraPhoto, CameraSource } from '@capacitor/core'; */\r\nimport { Photo } from '../models/photo';\r\nimport { Platform } from '@ionic/angular';\r\nimport { Camera, CameraOptions } from '@ionic-native/camera/ngx';\r\n\r\n /* const { Camera, Filesystem, Storage } = Plugins; */\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class PhotoService {\r\n public photos: Photo[] = [];\r\n private PHOTO_STORAGE: string = \"photos\";\r\n private platform: Platform;\r\n\r\n constructor(platform: Platform,\r\n private camera:Camera) {\r\n this.platform = platform;\r\n }\r\n\r\n async takePicture(){\r\n const options: CameraOptions = {\r\n quality: 100,\r\n destinationType: this.camera.DestinationType.FILE_URI,\r\n encodingType: this.camera.EncodingType.JPEG,\r\n mediaType: this.camera.MediaType.PICTURE\r\n }\r\n\r\n \r\n \r\n this.camera.getPicture(options).then((imageData) => {\r\n // imageData is either a base64 encoded string or a file URI\r\n // If it's base64 (DATA_URL):\r\n let base64Image = 'data:image/jpeg;base64,' + imageData;\r\n return base64Image;\r\n }, (err) => {\r\n // Handle error\r\n });\r\n\r\n }\r\n\r\n\r\n /* async addNewToGallery() {\r\n // Take a photo using Capacitor\r\n const capturedPhoto = await Camera.getPhoto({\r\n resultType: CameraResultType.Base64, \r\n source: CameraSource.Camera, \r\n quality: 90,\r\n width: 1080,\r\n height: 720,\r\n });\r\n \r\n this.photos.unshift({\r\n fileName: new Date().getTime() + '.png',\r\n webviewPath: capturedPhoto.base64String,\r\n fileFormat: capturedPhoto.format,\r\n });\r\n\r\n console.log(capturedPhoto);\r\n \r\n \r\n console.log(this.photos[0]);\r\n \r\n } */\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { ToastController } from '@ionic/angular';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ToastService {\r\n\r\n constructor(public toastController: ToastController) { }\r\n\r\n async presentToast(infoMessage: string) {\r\n const toast = await this.toastController.create({\r\n message: infoMessage,\r\n duration: 2000\r\n });\r\n toast.present();\r\n }\r\n\r\n}\r\n"]} \ No newline at end of file +{"version":3,"sources":["webpack:///src/app/pages/login/login.page.html","webpack:///src/app/pages/login/login-routing.module.ts","webpack:///src/app/pages/login/login.module.ts","webpack:///src/app/pages/login/login.page.scss","webpack:///src/app/pages/login/login.page.ts","webpack:///src/app/services/photo.service.ts","webpack:///src/app/services/toast.service.ts"],"names":["routes","path","component","LoginPageRoutingModule","imports","forChild","exports","LoginPageModule","declarations","schemas","PushNotifications","LoginPage","router","authService","storageService","toastService","photoService","alertController","username","defaultuser","password","defaultuserpwd","body","postData","trim","length","message","create","cssClass","header","buttons","alert","present","requestPermission","then","result","register","addListener","token","console","log","value","store","get","validateInput","userattempt","domainName","domain","BasicAuthKey","login","storeUserIdANdToken","navigate","presentAlert","selector","template","PhotoService","platform","camera","photos","PHOTO_STORAGE","options","quality","destinationType","DestinationType","FILE_URI","encodingType","EncodingType","JPEG","mediaType","MediaType","PICTURE","getPicture","imageData","base64Image","err","providedIn","ToastService","toastController","infoMessage","duration","toast"],"mappings":"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","file":"pages-login-login-module-es5.js","sourcesContent":["export default \"\\r\\n
\\r\\n
\\r\\n logo\\r\\n
\\r\\n

Inicie a sessão

\\r\\n
\\r\\n

Nome de utilizador

\\r\\n \\r\\n \\r\\n \\r\\n

Palavra-passe

\\r\\n \\r\\n \\r\\n \\r\\n Iniciar\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\";","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\n\r\nimport { LoginPage } from './login.page';\r\n\r\nconst routes: Routes = [\r\n {\r\n path: '',\r\n component: LoginPage\r\n }\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule],\r\n})\r\nexport class LoginPageRoutingModule {}\r\n","import { NgModule, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\n\r\nimport { IonicModule } from '@ionic/angular';\r\n\r\nimport { LoginPageRoutingModule } from './login-routing.module';\r\n\r\nimport { LoginPage } from './login.page';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n IonicModule,\r\n LoginPageRoutingModule\r\n ],\r\n declarations: [LoginPage],\r\n schemas: [CUSTOM_ELEMENTS_SCHEMA]\r\n})\r\nexport class LoginPageModule {}\r\n","export default \".wrapper {\\n margin: 0 auto;\\n}\\n\\n.div-logo {\\n width: 200px;\\n margin: 0 auto;\\n padding-bottom: 15px;\\n}\\n\\n.div-logo img {\\n width: 100%;\\n}\\n\\n.wrapper ion-input {\\n font-size: 18px;\\n}\\n\\n.wrapper ion-button {\\n font-size: medium;\\n margin-top: 18px;\\n}\\n\\nion-item {\\n --background: transparent;\\n}\\n\\n.form {\\n width: 300px;\\n overflow: auto;\\n margin: 0 auto;\\n}\\n\\n.form-label {\\n margin: 15px 0 5px 0;\\n font-size: 15px;\\n}\\n\\n.form-input {\\n --background: #fff;\\n /* --color:#fff; */\\n border-radius: 10px;\\n margin: 5px 0 5px 0;\\n}\\n\\n.btn-ok-login {\\n width: 160px !important;\\n height: 45px !important;\\n margin: 15px auto;\\n padding: 10px 15px;\\n border-radius: 22.5px;\\n background-color: #42b9fe;\\n color: #ffffff !important;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvcGFnZXMvbG9naW4vQzpcXFVzZXJzXFxldWRlcy5pbmFjaW9cXEdhYmluZXQtRGlnaXRhbFByb2plY3RcXE5ldyBmb2xkZXJcXGdhYmluZXRlLWRpZ2l0YWwvc3JjXFxhcHBcXHBhZ2VzXFxsb2dpblxcbG9naW4ucGFnZS5zY3NzIiwic3JjL2FwcC9wYWdlcy9sb2dpbi9sb2dpbi5wYWdlLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDSSxjQUFBO0FDQ0o7O0FEQ0E7RUFDSSxZQUFBO0VBQ0EsY0FBQTtFQUNBLG9CQUFBO0FDRUo7O0FEQUE7RUFDSSxXQUFBO0FDR0o7O0FEREE7RUFDSSxlQUFBO0FDSUo7O0FERkE7RUFDSSxpQkFBQTtFQUNBLGdCQUFBO0FDS0o7O0FESEE7RUFDSSx5QkFBQTtBQ01KOztBREpBO0VBQ0ksWUFBQTtFQUNBLGNBQUE7RUFDQSxjQUFBO0FDT0o7O0FETEE7RUFDSSxvQkFBQTtFQUNBLGVBQUE7QUNRSjs7QUROQTtFQUNJLGtCQUFBO0VBQ0Esa0JBQUE7RUFDQSxtQkFBQTtFQUNBLG1CQUFBO0FDU0o7O0FEUEE7RUFDSSx1QkFBQTtFQUNBLHVCQUFBO0VBQ0EsaUJBQUE7RUFDQSxrQkFBQTtFQUNBLHFCQUFBO0VBQ0EseUJBQUE7RUFDQSx5QkFBQTtBQ1VKIiwiZmlsZSI6InNyYy9hcHAvcGFnZXMvbG9naW4vbG9naW4ucGFnZS5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLndyYXBwZXJ7XHJcbiAgICBtYXJnaW46IDAgYXV0bztcclxufVxyXG4uZGl2LWxvZ297XHJcbiAgICB3aWR0aDogMjAwcHg7XHJcbiAgICBtYXJnaW46ICAwIGF1dG87XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogMTVweDtcclxufVxyXG4uZGl2LWxvZ28gaW1ne1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbn1cclxuLndyYXBwZXIgaW9uLWlucHV0e1xyXG4gICAgZm9udC1zaXplOiAxOHB4O1xyXG59XHJcbi53cmFwcGVyIGlvbi1idXR0b257XHJcbiAgICBmb250LXNpemU6IG1lZGl1bTtcclxuICAgIG1hcmdpbi10b3A6IDE4cHg7XHJcbn1cclxuaW9uLWl0ZW17XHJcbiAgICAtLWJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG59XHJcbi5mb3Jte1xyXG4gICAgd2lkdGg6IDMwMHB4O1xyXG4gICAgb3ZlcmZsb3c6IGF1dG87XHJcbiAgICBtYXJnaW46IDAgYXV0bztcclxufVxyXG4uZm9ybS1sYWJlbHtcclxuICAgIG1hcmdpbjogMTVweCAwIDVweCAwO1xyXG4gICAgZm9udC1zaXplOiAxNXB4O1xyXG59XHJcbi5mb3JtLWlucHV0eyBcclxuICAgIC0tYmFja2dyb3VuZDogI2ZmZjtcclxuICAgIC8qIC0tY29sb3I6I2ZmZjsgKi9cclxuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XHJcbiAgICBtYXJnaW46IDVweCAwIDVweCAwO1xyXG59XHJcbi5idG4tb2stbG9naW57XHJcbiAgICB3aWR0aDogMTYwcHggIWltcG9ydGFudDtcclxuICAgIGhlaWdodDogNDVweCAhaW1wb3J0YW50O1xyXG4gICAgbWFyZ2luOiAxNXB4IGF1dG87XHJcbiAgICBwYWRkaW5nOiAxMHB4IDE1cHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiAyMi41cHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDJiOWZlO1xyXG4gICAgY29sb3I6ICNmZmZmZmYgIWltcG9ydGFudDtcclxuICB9IiwiLndyYXBwZXIge1xuICBtYXJnaW46IDAgYXV0bztcbn1cblxuLmRpdi1sb2dvIHtcbiAgd2lkdGg6IDIwMHB4O1xuICBtYXJnaW46IDAgYXV0bztcbiAgcGFkZGluZy1ib3R0b206IDE1cHg7XG59XG5cbi5kaXYtbG9nbyBpbWcge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLndyYXBwZXIgaW9uLWlucHV0IHtcbiAgZm9udC1zaXplOiAxOHB4O1xufVxuXG4ud3JhcHBlciBpb24tYnV0dG9uIHtcbiAgZm9udC1zaXplOiBtZWRpdW07XG4gIG1hcmdpbi10b3A6IDE4cHg7XG59XG5cbmlvbi1pdGVtIHtcbiAgLS1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cblxuLmZvcm0ge1xuICB3aWR0aDogMzAwcHg7XG4gIG92ZXJmbG93OiBhdXRvO1xuICBtYXJnaW46IDAgYXV0bztcbn1cblxuLmZvcm0tbGFiZWwge1xuICBtYXJnaW46IDE1cHggMCA1cHggMDtcbiAgZm9udC1zaXplOiAxNXB4O1xufVxuXG4uZm9ybS1pbnB1dCB7XG4gIC0tYmFja2dyb3VuZDogI2ZmZjtcbiAgLyogLS1jb2xvcjojZmZmOyAqL1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICBtYXJnaW46IDVweCAwIDVweCAwO1xufVxuXG4uYnRuLW9rLWxvZ2luIHtcbiAgd2lkdGg6IDE2MHB4ICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogNDVweCAhaW1wb3J0YW50O1xuICBtYXJnaW46IDE1cHggYXV0bztcbiAgcGFkZGluZzogMTBweCAxNXB4O1xuICBib3JkZXItcmFkaXVzOiAyMi41cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0MmI5ZmU7XG4gIGNvbG9yOiAjZmZmZmZmICFpbXBvcnRhbnQ7XG59Il19 */\";","import { Component, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { AuthService } from 'src/app/services/auth.service';\r\nimport { User } from 'src/app/models/user.model';\r\nimport { ToastService } from 'src/app/services/toast.service';\r\nimport { environment } from 'src/environments/environment';\r\nimport { AlertController } from '@ionic/angular';\r\nimport { StorageService } from 'src/app/services/storage.service';\r\nimport { AuthConnstants } from 'src/app/config/auth-constants';\r\nimport { PhotoService } from 'src/app/services/photo.service';\r\n\r\nimport { Plugins, PushNotification, PushNotificationToken, PushNotificationActionPerformed } from '@capacitor/core';\r\n\r\nconst { PushNotifications } = Plugins;\r\n\r\n\r\n\r\n@Component({\r\n selector: 'app-login',\r\n templateUrl: './login.page.html',\r\n styleUrls: ['./login.page.scss'],\r\n})\r\nexport class LoginPage implements OnInit {\r\n\r\n logstatus: boolean;\r\n username: string = environment.defaultuser;\r\n password: string = environment.defaultuserpwd;\r\n userattempt: User;\r\n\r\n public body = { \"user\": this.username, \"password\": this.password };\r\n public postData = { \"user\": this.username, \"password\": this.password };\r\n\r\n constructor(\r\n private router: Router,\r\n private authService: AuthService,\r\n private storageService: StorageService,\r\n private toastService: ToastService,\r\n private photoService: PhotoService,\r\n public alertController: AlertController) { }\r\n\r\n ngOnInit() {\r\n\r\n }\r\n //Function to validade the login inputs\r\n validateInput() {\r\n return (\r\n this.username.trim().length > 0\r\n && this.password.trim().length > 0\r\n );\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 /* loginRocketChat(){\r\n this.authService.loginChat(this.postData).subscribe((res: any) =>{\r\n this.storageService.store(AuthConnstants.AUTH, res.data);\r\n console.log('Login to Rocket chat OK');\r\n },(error:any) =>{\r\n console.log('Network error');\r\n });\r\n } */\r\n\r\n storeUserIdANdToken() {\r\n\r\n (PushNotifications as any).requestPermission().then(result => {\r\n PushNotifications.register();\r\n });\r\n\r\n PushNotifications.addListener(\r\n 'registration',\r\n (token: PushNotificationToken) => {\r\n console.log('FIREBASE TOKEN', token.value)\r\n this.storageService.store(this.username, token.value);\r\n this.storageService.get(this.username).then(value => {\r\n console.log('STORAGE TOKEN',value )\r\n })\r\n },\r\n );\r\n\r\n };\r\n\r\n\r\n async Login() {\r\n /* try { */\r\n //Go to our home in home/feed.\r\n //this.router.navigate(['/home/events']);\r\n if (this.validateInput()) {\r\n this.userattempt = {\r\n username: this.username,\r\n password: this.password,\r\n domainName: environment.domain,\r\n BasicAuthKey: \"\"\r\n }\r\n if (await this.authService.login(this.userattempt)) {\r\n /* this.loginRocketChat(); */\r\n this.storeUserIdANdToken()\r\n this.router.navigate(['/home/events']);\r\n }\r\n else {\r\n //this.toastService.presentToast('Não foi possível fazer login\"');\r\n this.presentAlert('O nome de utilizador e palavra-passe estão incorretas ou verifique a sua conexão com a internet e volte a tentar.');\r\n }\r\n }\r\n else {\r\n //this.toastService.presentToast('Preencha todos campos');\r\n this.presentAlert('Por favor, insira o seu nome de utilizador e palavra-passe.');\r\n }\r\n /* } catch (error) {\r\n error\r\n this.presentAlert('Ocorreu um erro ao fazer login. Contacte o administrador de sistema. '+ error);\r\n } */\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\n/* import { Plugins, CameraResultType, Capacitor, FilesystemDirectory, CameraPhoto, CameraSource } from '@capacitor/core'; */\r\nimport { Photo } from '../models/photo';\r\nimport { Platform } from '@ionic/angular';\r\nimport { Camera, CameraOptions } from '@ionic-native/camera/ngx';\r\n\r\n /* const { Camera, Filesystem, Storage } = Plugins; */\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class PhotoService {\r\n public photos: Photo[] = [];\r\n private PHOTO_STORAGE: string = \"photos\";\r\n private platform: Platform;\r\n\r\n constructor(platform: Platform,\r\n private camera:Camera) {\r\n this.platform = platform;\r\n }\r\n\r\n async takePicture(){\r\n const options: CameraOptions = {\r\n quality: 100,\r\n destinationType: this.camera.DestinationType.FILE_URI,\r\n encodingType: this.camera.EncodingType.JPEG,\r\n mediaType: this.camera.MediaType.PICTURE\r\n }\r\n\r\n \r\n \r\n this.camera.getPicture(options).then((imageData) => {\r\n // imageData is either a base64 encoded string or a file URI\r\n // If it's base64 (DATA_URL):\r\n let base64Image = 'data:image/jpeg;base64,' + imageData;\r\n return base64Image;\r\n }, (err) => {\r\n // Handle error\r\n });\r\n\r\n }\r\n\r\n\r\n /* async addNewToGallery() {\r\n // Take a photo using Capacitor\r\n const capturedPhoto = await Camera.getPhoto({\r\n resultType: CameraResultType.Base64, \r\n source: CameraSource.Camera, \r\n quality: 90,\r\n width: 1080,\r\n height: 720,\r\n });\r\n \r\n this.photos.unshift({\r\n fileName: new Date().getTime() + '.png',\r\n webviewPath: capturedPhoto.base64String,\r\n fileFormat: capturedPhoto.format,\r\n });\r\n\r\n console.log(capturedPhoto);\r\n \r\n \r\n console.log(this.photos[0]);\r\n \r\n } */\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { ToastController } from '@ionic/angular';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ToastService {\r\n\r\n constructor(public toastController: ToastController) { }\r\n\r\n async presentToast(infoMessage: string) {\r\n const toast = await this.toastController.create({\r\n message: infoMessage,\r\n duration: 2000\r\n });\r\n toast.present();\r\n }\r\n\r\n}\r\n"]} \ No newline at end of file diff --git a/android/app/build/intermediates/merged_manifests/debug/AndroidManifest.xml b/android/app/build/intermediates/merged_manifests/debug/AndroidManifest.xml index a0af0992a..3b7028cbd 100644 --- a/android/app/build/intermediates/merged_manifests/debug/AndroidManifest.xml +++ b/android/app/build/intermediates/merged_manifests/debug/AndroidManifest.xml @@ -75,6 +75,9 @@ + *IlHN)iQk04$gf>f3jVy&k8FehxWZzQuc%{Xf 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 W=3sLebJ7LE4ijDRjBoVor~d=+@0gGP delta 11519 zcmY*e2RxPE8+YG(ugv3;EvsQ%dn9{AJEW43QAtCx+6b**L#b{&rHp8*sQk4PT3WPz zX``iVKP5%{pZC5IKJMqf&-a<o*2iQ&Jt$jxacVs9ly zL<}uNM1~^jvMeMzVsVK3++~YH7sM<#ULC&lp}+sqnNRl5%=PNI!x8_dY!yu|;K!w@;LQLItf}*hAby`rif1!FJ2^$`z)1rO`@CA zscP*%`I|=*T}uPut-(&mc{)K8#?3F zY}+6CmKEh~D!Q1kJ=|b1R6g_bIhjQPoHg$y;t_X)zin`?{t)O(A_pJt@1v?|GX_6|Z*Ijk4jKxo1NymUEX&pCWkC|jNEOF!AQvdXHPturjU-zinds=_2 zxZ7gr*#1p*Q&fWbhId9Gw|9K#>P)LK7_F9i$|0pI_h6xl>Us|e+im){(wn=F=&i5L zbIi+bh`gyK{-MXd=X}|`y+@W9E7=51N^YE7^+dEdojrfO!A+;U(~7xoq(YYziu&BE zvU=>Dt8;0It&QZAVVmwvGgHsyjjqiT^KrL7P_bod;Mx_o;|C|5JZCn+uC&d@YxB8zVsmHxYE#LH3OTHq z>Xf+bO;U^cGm`JhjryK=XvbyWRrWG50WJ@&9Zxr&>F~IC{kQyVrR8TmRU$-NSIGyu zwO%L)_8ebQ#fs0VYyV=CP-wArO%#9fC)={~LuB3e6}tSdFgR`Hmlf;hDoeQrzwkD7 zl?nTyZ35OZZbPE2yKPsCtqt#7uC?A}f7PrnGGon+3#%ovE{`ninsxKlU5jh!$?@{^iq;UWF!{IC4tn zY}(Krwhk{Bca&AH{IcrF=+&n~i!<84x|!a5*_6AzGqh4ADb!$L?uPuMzn9!fwt3l9 z_r*9mkjR&uFn_t};L49pns$=&ynFt)a9n{$_DZSTNA=I^&t6H~H-7Gg?eXXD&Rk{` z+Hy)eP|e|iRmn9s?;yJv{?@#&Q|wb>9TKKqxFqx7{=3@7MD2I%)RDb`7rRcxRTO7@ zwaz#|CQly&^pl z^o{(@cDmg9deCY4x`>UX2OUp%h!D2N-Sjc_2Ngb8%e#)X-m6e>YKDi?(70LYZqlC7 zE8G%F_teCE)T&#szwnTU?n1*x!`7`&=ZYOEv^t$}cUWC#P6NhmFE5J_D5H{g6XSHfBqFYS0P@x?B8Ko zIqvVI5*M!baod(9uej#-EAIrURF%4@m$B1$J=j4r(D{~y18{VEg z)2wvqJ&bJE_FOor?bPa`b5}OZ&^Buh6g-g*EoN7~Id;SPW8ssbW0$i(=t}+Y`#H&b z!5Mg&J12L0dA6h9q_V~t@_UpEx<_SAzTS}_`*cBZ)vd~x?T))w+dUVbQgF;nXH?hI zVU8ZB$Nk)Dw$WisLhkE(=bj%tc1fM<=htDMYo+|{n7y6r7SD|vxtc;Hw_L1o(K=NHFR-kJ3_bmNaIj?ahTRc38*1#c!77Ii#bVtqlgbIq&& zlI`6mdjI@s+Vdc8;<@ZX%~(O=gc zkL#%4(KYkM#jCrs?xfzgGj5rckuc_Gl;h$G=X^t}r(SX9E!T73*hPD8=9lGOHK@KB zRHy#y@xcqn8_s!LoG>zMik$ndpMto{D>F@=UHN2FF&NHvx&-mWB z#>(k&n)rQpo2|0pwcETpj_!*gx@Y}QX^y#?VeF>c{@Lk^#YvYnuk%->nrC{&zx7F2 zZ+B~rZQ0N1D!=rg7xiN1PR=NiSv9Cx$ya zoKb%vZb`)^#yc;NZDxNjq0WfC;l5)plOIB*B<|VcTw{7h>~NyyUOmCTy_9<>*Vl)+kg}*3QuB)v&qU`#GWJjf|Z45V!NYJrnu!`0upOg}=JkH2h@U z53h=g8PQI+?J`EFDfqt0J(;gN+ILgu>l=k>Z9k57`XB!3fBI{ZQ(y^8+MOw%19Y56SSdq^p>SDq0)KhCcS>K zcwerlWL6MQ&16xW^yXofeytgb#ZOg(a+4xbxIxDfT30NIi;e5lXjjWk?mpF;8Wy+r zZcuh|UbCLBvmiY8yP?68kQa|<&&v4}_*;E`&zzS!nlBYKeKSIHCoVniw>WL}fl>Jv zjx@i$mZ|ygLiFHT#_|P}+LRe8lV4cK)4|@%#O&Qli>!{En*o zmTVOYb3J}+O_1sOpUrn1>%;W!t4S?qTGgL-UR|62Ms0)IYv1iJDtvFQbdIyherdmO zOVj#sOaIx}vg>x;zcD}k3_FQLwabozTO~@*KUTNbo_w;T(Q?UyPnfsph@AnKE)=K! z9_8DWA2+$NpzUV+9{ew#?BEbRwL;J2{zVu!tJznuET}o*`O@*y@ju7auJsCOD183k z=H(h!=b(ECi**)MDlfgTt!b9))qH6ausi0O9`|b6h^BeD0m9k2p%@olR&}&Zx~uhj z`6a8Mo*>y`AGh-ryVxcW_TlolO#hqXx0f$*uzFK$7W#P1ZKGe~3tlw*+x?^d(tl<* zY%e!k)YY#^82Q;^!Yz%ixo0)k-LrjFUl=-*95sqIoxgj-wf8pyjgG3gwoIMf+9X@- zpc+(Gvg*eAi0iFQRh`R}KQDS^I>9XKvd=Z+#g7|wZuYok2Cj0y9dQ3?!}Q+y1tU&Z z9g#xTmlYASPnFI+>#%f7RmPPu@%5frS0tK}XZ*amHR$VG--O!BSLg3*A0r*pvw3bn z@h1Vh<#OZDu6S<#l++KgitToK-5dN&nv{I6E8cK$HHp7db~~|E`s3NQou#+0C|c!< zRj1lpy&L^vb#>Wzx6a{fmR^mREg7LwUsF6TK|{{Yb@+^HwK?U+zn*P=m!&!TTb+#2 z^RfTDXm~X5*P}Cv8p_WT%HmynyUKHVcWn8++x~aU<>V{I=d#cDd`LIZ{P|61w5Dd4 zeT0Hq=7qe{&%dgSR$gg8_|UP#rlq62*S*|lgTuUB-5-rZ#ip;hteG(Hc)O?3ujWx_ zqrU3L`$RdMYyELBGUI9YHLY`!ejXYs&mSDyJi2|;xR$GiD~-d#j!p`3U!(K+i=^fi z{^y`yr@SK`1kB4dNWr-__)&aEuj6XM%4&-tQY}Y%B{!H!{bMG@!ViTXHhwr4%%r&H z6L=yb(F|of$lEpag@5WV2-pJ1a?dFDPtlCCkC*sN16w>x}{aACK;&hmYzuI%hKP9f_1V( zVB&9-43!fckuw%b3jE}Gcz@~p(}#z@rQNA13Q+M|S{W+$bBBOk52}PI3LYq_Kw^)y zCAC8dpS9pQ;;hra>Xn{Cm8l3=s+thqE6wLTR}~R~L+RX6P|_>y#wk)~NGE7!6P`d% zn@9S*iHQ8rVwl=s7$PUEZkjEwx)K|X1%tTu-$v}zGSVR$3s?iWZLpVc`G1Py?`0U6q$FPxE zYKnjgI9=in5onqHQA?*em&}EnN;a89UAF9dmIKoat{h`vAqT}$tOONSCLk7raadUo z%rF<;a)>__Ya=*iixZc@6$O7T;ZxzZ2n>f4^mBlnfajnKru&ddn*cdcwE5T`QDY!n z1ePMea)p0Hi4SW&REv`NoER5OL2Cxr5P~Go>loL8UPU2e2=S%T+~BMjk%!<+t`fWz zLqir~Xvhi9h!F)E<-o2?t_H(OrCCpDmJiiCiB?nq4RPYas(@f|vXGkO4s*qcHauD= z#)D-;&@7R_FyDAEa7Gqao(_di?VZLTrzD6AB9 z8KMlbG6-meAYjkXKO&*@l% zz8@XNas8Ej$-^bByM$qw2+az%g$H1mkV|-H-|UF z(QepKw41a-P_n`tipL^wmj=G9M1T*8IbvK$BRKzh@`$>xMpOru$P+WxN;oJ_rn8-7Z>lm6InQ$or0>k+hIRC8${ zV}sDBi82v`Y9(Sto!!_6Or$C|^*zf9>eoxqYJ93;vtZelkpho@q@h>^BPba~qa=Q=+KP4sw57dafKzGN$By=PTM(^N5 z!ALX^r;1C$awjf{>nFG)7^4pnV->*{RjlmpT>`RK6@v4ygiZ6f3XIlfHIx_!htyD_ zQh*YM3~oIP!{Mb0JX1}C6D+u!#)EW4BEi}R`NN10rx4H+>m(POkUB0>ll=^-0;|-C zCFf*1l3pjddazCtW2;lg*o+P`m^|z{$sG!Y8mRU<;}0e<&EzpL@6_j#JV=Y__w+;mhmCA)nIBMcRllSf`0YIeC~C04*(I&C&y3 zEi#T8drXjY%tAO^!Ik3!t!+Dw91T#{CbpDjp77cEH1fM9zOlO6CGiMlE01r_J*>8LT$ z7tohh0aqD#1-Q8AXh3chj>G|sMiFn$t;@)tQh*~lGYaE)cSX=ztO&`pf^d1N>Y%~p z*AUeQEnTeS7#cWRjKFBnb;YrbDjAr(?X@uDJHxOlna;-Eb1zN_4t*fTxh6)~48-NENt=}<5 z>(MoWvo*#-K=8G8V4xRkk)tFa@8uZrl_n_u;r$p!PHf9ygdlq8XZnMtsKE zyu;QhYQ93s4z@(|7g2V|^>EA^gYxY>8P z1W3J@8tk$n=9C0yFsuca$6#%!j6v@f+<51+QMBahPUG$_fJ}^Y;Yk*gO?3f z&HrQ=Zc{(E5xLY6Sq4_KB{QhBp$ze5C`*M&>?vE6xhYS>^6|$$}Ab^up@kI1lsnrMKxh&VXHlHqD0kUw*wglJ0q~MU2#B**6E@T^vwnmN)11j@%EqD}k%TiAEDoe# z+k>ah7($9A!yD#;Cxd-fG+_>#UC>U$7@DvEUM0p=;)V)eYz7VS0%(pUizpd8&~n2F z5?u)gE{{dcAp3rV3ySJ8dpP^$v&xYFTBqY+Dv5U|LC3xX7$ip$vbR%=A zUt?)8bI5;$O9><4Q+M1LL}MHd&vZO9F}6i`Kfr?Jf%k+#W=6vGaX5im6B)U+MYth4 zjz=?BCqc#%?YwV~+{A@Rq>h3Akw*PD57DW3DDd zd=ry_sS|PDdy&uS@?sbkv<{zj6JjTlnN*DrJf4V0;!VEvw>mU^6O(3?!X{xV^!#af zC{#Y-D#Dpb7|+`|4AL?Q8^fYNhA;_W$-@0WmIN(>r8pT?ql5c-5)k~9D+5<16F%E> z9t%?DVJ(VHL2JqL!E7o7GOjx`fima47jM#)0S*R8g3U zgFXkQQ!#DYi)pSBcs%1uz|pBVyjSpeDw#s9SjrgM`3$#OVcz}R(LQTgKP(TG&$!|c zHXY->K=bxQFubN`Sl7x!5LSp9)D%8Of{_QFs?{OUg9NkOpw@%9vl76>6Sv}GNbQleSm(JG^f>s`hZKP6#Gk!m zHwzx_W*O3lNC_a*h$xuNK=IG7p+C3gCmRjlZiL;&<&UR%hH&S$2dc_5PB>G7>5@jPHqtQKAs3La8#bBrHUW#;OB&HD!IXUr+PA z)cSdNUsmhW3tWV}$YK3Fe9gEB^PY^SjS!*&ttONTWLvQCrO#qK2-J=k04JK_8r#)| zt;Dku7rNF>t}I+%jLJ9k`lU4JOE6BQUgzOmmC=ZKUYcumfpgP+B;g0a_xuJz;P)e!4vus3D~ieSW?p` zgIPEpAX=9aC)WSKG@LA^Dm`cnH|}sUjx)xK5`lx~@HLY0GHl=(n~*$vmLVk|c^T1S zCtanW^eSZrH7LRUbWKPZfo%ja=NvCV`Q2667V)$;gHv8QfE)?Bk;H^kU&dgQV0#p1 z;%6x(1=k}9!E;GPBw5Key+uLfEy|5%^VuG^g_M@?9V%2uk@4)XI~1I}L+OA=Gzx4i zr(oB8N(~a9<34bThK}52ptO6GJT1fnkQ74#SW!?N zL%i9x6%?F(fVQe$<0a*b0ZK(LC#vkYN+GV4_6FZ5{$7jlJsNg@+z)f1ZZ%N_^%V$T ze!{@uwSri&MW6kl0-jOBn62(1E!Fd{5SNFZ6~u|X@5NtA7Jk2=2uLhPKO0t}sMc#_ z)?i6qTZzs067;SlA?&CcA*c^2t8mDdKKv1he~oQhcq!~!g=7BbGmd%tTdolk_T8_8 z>UJMQt;S*3H&DQDr1U^~1-hKrL=D_Pm73`3dWSP={0@(Vl4&U7y9Q0iHuo`7*Wk=+ zw)TNyOaV{ z$B`-QOffdR6Jzt~#PMKZJUtf@Y;crht3g&go^beZFP=g<8VEvDWtpho9_Pc>^YNNX)-rG-X@Y4;%#(xBjjG%)trfNpg#7J;lk3B#~hbBfrrlPnQ$kXrJ_v;Qy)FODa9nh<`^=53JlpwsT1f4G9DCthfzOY5)UYEZ-Q6b$ZU3^HycX4*(2!D^I*|-T#z0Bnwgk+k=*Yv_0~^Pf@IDc#6yiu_Mu7HiY?0k6;!-e^!pJwLU=HNqPztWKXVEm* z5Da$VlE_{`6GjlJitcvO$ip=>Vgb`VQSWoypw(IgTD!?&&afoLoduNa#*uE`$dIF; zaU+}1zcKQ_Y!8-X>}J~32#DN+zfH7k{X?jUbK&V8^kkXbk4VwJ$*eYbGQDo=rjyU|i?Z zFnylzI1R69TeE3~Dy(V5!@#Rv9BT-YtSgX!w3UtVWEod zq3^Y5kV8pxgxDYF2HKo~HSkNTk1OqZ`%=g9>ZFWf@L=3=vKWhi|J zZo{ANVLax$FcwjL(hqD#Bz74m;# C_oCPU diff --git a/android/app/build/outputs/apk/debug/app-debug.apk b/android/app/build/outputs/apk/debug/app-debug.apk index 9c1e9ddbd0baf08ad7985467b5b0e3facc9d3c33..9f42618414f198a787b8efa6a3b8ff27fe75ac04 100644 GIT binary patch delta 57249 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%0D$7U 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 D`>1L{ delta 55099 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 diff --git a/android/app/build/outputs/logs/manifest-merger-debug-report.txt b/android/app/build/outputs/logs/manifest-merger-debug-report.txt index 54429bef8..b2ac91d0c 100644 --- a/android/app/build/outputs/logs/manifest-merger-debug-report.txt +++ b/android/app/build/outputs/logs/manifest-merger-debug-report.txt @@ -1,6 +1,6 @@ -- Merging decision tree log --- provider#androidx.core.content.FileProvider -INJECTED from C:\Users\eudes.inacio\Gabinet-DigitalProject\New folder\gabinete-digital\android\app\src\main\AndroidManifest.xml:34:9-42:20 +INJECTED from C:\Users\eudes.inacio\Gabinet-DigitalProject\New folder\gabinete-digital\android\app\src\main\AndroidManifest.xml:34:9-43:20 android:grantUriPermissions ADDED from C:\Users\eudes.inacio\Gabinet-DigitalProject\New folder\gabinete-digital\android\app\src\main\AndroidManifest.xml:38:13-47 android:authorities @@ -11,10 +11,10 @@ INJECTED from C:\Users\eudes.inacio\Gabinet-DigitalProject\New folder\gabinete-d android:name ADDED from C:\Users\eudes.inacio\Gabinet-DigitalProject\New folder\gabinete-digital\android\app\src\main\AndroidManifest.xml:35:13-62 manifest -ADDED from C:\Users\eudes.inacio\Gabinet-DigitalProject\New folder\gabinete-digital\android\app\src\main\AndroidManifest.xml:2:1-63:12 -INJECTED from C:\Users\eudes.inacio\Gabinet-DigitalProject\New folder\gabinete-digital\android\app\src\main\AndroidManifest.xml:2:1-63:12 -INJECTED from C:\Users\eudes.inacio\Gabinet-DigitalProject\New folder\gabinete-digital\android\app\src\main\AndroidManifest.xml:2:1-63:12 -INJECTED from C:\Users\eudes.inacio\Gabinet-DigitalProject\New folder\gabinete-digital\android\app\src\main\AndroidManifest.xml:2:1-63:12 +ADDED from C:\Users\eudes.inacio\Gabinet-DigitalProject\New folder\gabinete-digital\android\app\src\main\AndroidManifest.xml:2:1-64:12 +INJECTED from C:\Users\eudes.inacio\Gabinet-DigitalProject\New folder\gabinete-digital\android\app\src\main\AndroidManifest.xml:2:1-64:12 +INJECTED from C:\Users\eudes.inacio\Gabinet-DigitalProject\New folder\gabinete-digital\android\app\src\main\AndroidManifest.xml:2:1-64:12 +INJECTED from C:\Users\eudes.inacio\Gabinet-DigitalProject\New folder\gabinete-digital\android\app\src\main\AndroidManifest.xml:2:1-64:12 MERGED from [:capacitor-android] C:\Users\eudes.inacio\Gabinet-DigitalProject\New folder\gabinete-digital\node_modules\@capacitor\android\capacitor\build\intermediates\library_manifest\debug\AndroidManifest.xml:2:1-50:12 MERGED from [com.google.android.material:material:1.1.0-rc02] C:\Users\eudes.inacio\.gradle\caches\transforms-2\files-2.1\19593d9c2c700c52ad03572ebfd537d5\material-1.1.0-rc02\AndroidManifest.xml:17:1-24:12 MERGED from [androidx.appcompat:appcompat:1.1.0] C:\Users\eudes.inacio\.gradle\caches\transforms-2\files-2.1\396e7ddea1addefd32f4f3d87ec48909\appcompat-1.1.0\AndroidManifest.xml:17:1-24:12 @@ -75,25 +75,25 @@ MERGED from [androidx.lifecycle:lifecycle-livedata-core:2.0.0] C:\Users\eudes.in MERGED from [androidx.arch.core:core-runtime:2.0.0] C:\Users\eudes.inacio\.gradle\caches\transforms-2\files-2.1\59b723f090061559cc5b6f12f2aff3bc\core-runtime-2.0.0\AndroidManifest.xml:17:1-22:12 MERGED from [org.apache.cordova:framework:7.0.0] C:\Users\eudes.inacio\.gradle\caches\transforms-2\files-2.1\158881081e6477a246826c6bde171b96\jetified-framework-7.0.0\AndroidManifest.xml:20:1-27:12 MERGED from [com.google.android.datatransport:transport-api:2.2.0] C:\Users\eudes.inacio\.gradle\caches\transforms-2\files-2.1\467b040972e5d42442f90b49207efc7f\jetified-transport-api-2.2.0\AndroidManifest.xml:15:1-22:12 -INJECTED from C:\Users\eudes.inacio\Gabinet-DigitalProject\New folder\gabinete-digital\android\app\src\main\AndroidManifest.xml:2:1-63:12 -INJECTED from C:\Users\eudes.inacio\Gabinet-DigitalProject\New folder\gabinete-digital\android\app\src\main\AndroidManifest.xml:2:1-63:12 -INJECTED from C:\Users\eudes.inacio\Gabinet-DigitalProject\New folder\gabinete-digital\android\app\src\main\AndroidManifest.xml:2:1-63:12 +INJECTED from C:\Users\eudes.inacio\Gabinet-DigitalProject\New folder\gabinete-digital\android\app\src\main\AndroidManifest.xml:2:1-64:12 +INJECTED from C:\Users\eudes.inacio\Gabinet-DigitalProject\New folder\gabinete-digital\android\app\src\main\AndroidManifest.xml:2:1-64:12 +INJECTED from C:\Users\eudes.inacio\Gabinet-DigitalProject\New folder\gabinete-digital\android\app\src\main\AndroidManifest.xml:2:1-64:12 package ADDED from C:\Users\eudes.inacio\Gabinet-DigitalProject\New folder\gabinete-digital\android\app\src\main\AndroidManifest.xml:3:5-38 INJECTED from C:\Users\eudes.inacio\Gabinet-DigitalProject\New folder\gabinete-digital\android\app\src\main\AndroidManifest.xml INJECTED from C:\Users\eudes.inacio\Gabinet-DigitalProject\New folder\gabinete-digital\android\app\src\main\AndroidManifest.xml android:versionName INJECTED from C:\Users\eudes.inacio\Gabinet-DigitalProject\New folder\gabinete-digital\android\app\src\main\AndroidManifest.xml - ADDED from C:\Users\eudes.inacio\Gabinet-DigitalProject\New folder\gabinete-digital\android\app\src\main\AndroidManifest.xml:2:1-63:12 + ADDED from C:\Users\eudes.inacio\Gabinet-DigitalProject\New folder\gabinete-digital\android\app\src\main\AndroidManifest.xml:2:1-64:12 INJECTED from C:\Users\eudes.inacio\Gabinet-DigitalProject\New folder\gabinete-digital\android\app\src\main\AndroidManifest.xml android:versionCode INJECTED from C:\Users\eudes.inacio\Gabinet-DigitalProject\New folder\gabinete-digital\android\app\src\main\AndroidManifest.xml - ADDED from C:\Users\eudes.inacio\Gabinet-DigitalProject\New folder\gabinete-digital\android\app\src\main\AndroidManifest.xml:2:1-63:12 + ADDED from C:\Users\eudes.inacio\Gabinet-DigitalProject\New folder\gabinete-digital\android\app\src\main\AndroidManifest.xml:2:1-64:12 INJECTED from C:\Users\eudes.inacio\Gabinet-DigitalProject\New folder\gabinete-digital\android\app\src\main\AndroidManifest.xml xmlns:android ADDED from C:\Users\eudes.inacio\Gabinet-DigitalProject\New folder\gabinete-digital\android\app\src\main\AndroidManifest.xml:2:11-69 application -ADDED from C:\Users\eudes.inacio\Gabinet-DigitalProject\New folder\gabinete-digital\android\app\src\main\AndroidManifest.xml:5:5-43:19 +ADDED from C:\Users\eudes.inacio\Gabinet-DigitalProject\New folder\gabinete-digital\android\app\src\main\AndroidManifest.xml:5:5-44:19 MERGED from [:capacitor-android] C:\Users\eudes.inacio\Gabinet-DigitalProject\New folder\gabinete-digital\node_modules\@capacitor\android\capacitor\build\intermediates\library_manifest\debug\AndroidManifest.xml:18:5-48:19 MERGED from [:capacitor-android] C:\Users\eudes.inacio\Gabinet-DigitalProject\New folder\gabinete-digital\node_modules\@capacitor\android\capacitor\build\intermediates\library_manifest\debug\AndroidManifest.xml:18:5-48:19 MERGED from [com.google.android.material:material:1.1.0-rc02] C:\Users\eudes.inacio\.gradle\caches\transforms-2\files-2.1\19593d9c2c700c52ad03572ebfd537d5\material-1.1.0-rc02\AndroidManifest.xml:22:5-20 @@ -189,7 +189,7 @@ ADDED from C:\Users\eudes.inacio\Gabinet-DigitalProject\New folder\gabinete-digi android:scheme ADDED from C:\Users\eudes.inacio\Gabinet-DigitalProject\New folder\gabinete-digital\android\app\src\main\AndroidManifest.xml:29:23-65 uses-permission#android.permission.INTERNET -ADDED from C:\Users\eudes.inacio\Gabinet-DigitalProject\New folder\gabinete-digital\android\app\src\main\AndroidManifest.xml:47:5-67 +ADDED from C:\Users\eudes.inacio\Gabinet-DigitalProject\New folder\gabinete-digital\android\app\src\main\AndroidManifest.xml:48:5-67 MERGED from [com.google.firebase:firebase-iid:20.1.1] C:\Users\eudes.inacio\.gradle\caches\transforms-2\files-2.1\2af03360c2f1d9c4749c1d75a7057ee7\jetified-firebase-iid-20.1.1\AndroidManifest.xml:23:5-67 MERGED from [com.google.firebase:firebase-iid:20.1.1] C:\Users\eudes.inacio\.gradle\caches\transforms-2\files-2.1\2af03360c2f1d9c4749c1d75a7057ee7\jetified-firebase-iid-20.1.1\AndroidManifest.xml:23:5-67 MERGED from [com.google.firebase:firebase-installations:16.0.0] C:\Users\eudes.inacio\.gradle\caches\transforms-2\files-2.1\a9f39591fd7e3606aa03e1dd4d0c2ad4\jetified-firebase-installations-16.0.0\AndroidManifest.xml:11:5-67 @@ -197,33 +197,33 @@ MERGED from [com.google.firebase:firebase-installations:16.0.0] C:\Users\eudes.i MERGED from [com.google.android.datatransport:transport-backend-cct:2.2.0] C:\Users\eudes.inacio\.gradle\caches\transforms-2\files-2.1\8e8493fc4060d1a9e60e0e8b89d28daa\jetified-transport-backend-cct-2.2.0\AndroidManifest.xml:26:5-67 MERGED from [com.google.android.datatransport:transport-backend-cct:2.2.0] C:\Users\eudes.inacio\.gradle\caches\transforms-2\files-2.1\8e8493fc4060d1a9e60e0e8b89d28daa\jetified-transport-backend-cct-2.2.0\AndroidManifest.xml:26:5-67 android:name - ADDED from C:\Users\eudes.inacio\Gabinet-DigitalProject\New folder\gabinete-digital\android\app\src\main\AndroidManifest.xml:47:22-64 + ADDED from C:\Users\eudes.inacio\Gabinet-DigitalProject\New folder\gabinete-digital\android\app\src\main\AndroidManifest.xml:48:22-64 uses-permission#android.permission.READ_EXTERNAL_STORAGE -ADDED from C:\Users\eudes.inacio\Gabinet-DigitalProject\New folder\gabinete-digital\android\app\src\main\AndroidManifest.xml:49:5-79 +ADDED from C:\Users\eudes.inacio\Gabinet-DigitalProject\New folder\gabinete-digital\android\app\src\main\AndroidManifest.xml:50:5-79 MERGED from [:capacitor-cordova-android-plugins] C:\Users\eudes.inacio\Gabinet-DigitalProject\New folder\gabinete-digital\android\capacitor-cordova-android-plugins\build\intermediates\library_manifest\debug\AndroidManifest.xml:13:5-80 MERGED from [:capacitor-cordova-android-plugins] C:\Users\eudes.inacio\Gabinet-DigitalProject\New folder\gabinete-digital\android\capacitor-cordova-android-plugins\build\intermediates\library_manifest\debug\AndroidManifest.xml:13:5-80 android:name - ADDED from C:\Users\eudes.inacio\Gabinet-DigitalProject\New folder\gabinete-digital\android\app\src\main\AndroidManifest.xml:49:22-77 + ADDED from C:\Users\eudes.inacio\Gabinet-DigitalProject\New folder\gabinete-digital\android\app\src\main\AndroidManifest.xml:50:22-77 uses-permission#android.permission.WRITE_EXTERNAL_STORAGE -ADDED from C:\Users\eudes.inacio\Gabinet-DigitalProject\New folder\gabinete-digital\android\app\src\main\AndroidManifest.xml:50:5-81 +ADDED from C:\Users\eudes.inacio\Gabinet-DigitalProject\New folder\gabinete-digital\android\app\src\main\AndroidManifest.xml:51:5-81 MERGED from [:capacitor-cordova-android-plugins] C:\Users\eudes.inacio\Gabinet-DigitalProject\New folder\gabinete-digital\android\capacitor-cordova-android-plugins\build\intermediates\library_manifest\debug\AndroidManifest.xml:12:5-81 MERGED from [:capacitor-cordova-android-plugins] C:\Users\eudes.inacio\Gabinet-DigitalProject\New folder\gabinete-digital\android\capacitor-cordova-android-plugins\build\intermediates\library_manifest\debug\AndroidManifest.xml:12:5-81 android:name - ADDED from C:\Users\eudes.inacio\Gabinet-DigitalProject\New folder\gabinete-digital\android\app\src\main\AndroidManifest.xml:50:22-78 + ADDED from C:\Users\eudes.inacio\Gabinet-DigitalProject\New folder\gabinete-digital\android\app\src\main\AndroidManifest.xml:51:22-78 uses-permission#android.permission.ACCESS_COARSE_LOCATION -ADDED from C:\Users\eudes.inacio\Gabinet-DigitalProject\New folder\gabinete-digital\android\app\src\main\AndroidManifest.xml:52:5-81 +ADDED from C:\Users\eudes.inacio\Gabinet-DigitalProject\New folder\gabinete-digital\android\app\src\main\AndroidManifest.xml:53:5-81 android:name - ADDED from C:\Users\eudes.inacio\Gabinet-DigitalProject\New folder\gabinete-digital\android\app\src\main\AndroidManifest.xml:52:22-78 + ADDED from C:\Users\eudes.inacio\Gabinet-DigitalProject\New folder\gabinete-digital\android\app\src\main\AndroidManifest.xml:53:22-78 uses-permission#android.permission.ACCESS_FINE_LOCATION -ADDED from C:\Users\eudes.inacio\Gabinet-DigitalProject\New folder\gabinete-digital\android\app\src\main\AndroidManifest.xml:53:5-79 +ADDED from C:\Users\eudes.inacio\Gabinet-DigitalProject\New folder\gabinete-digital\android\app\src\main\AndroidManifest.xml:54:5-79 android:name - ADDED from C:\Users\eudes.inacio\Gabinet-DigitalProject\New folder\gabinete-digital\android\app\src\main\AndroidManifest.xml:53:22-76 + ADDED from C:\Users\eudes.inacio\Gabinet-DigitalProject\New folder\gabinete-digital\android\app\src\main\AndroidManifest.xml:54:22-76 uses-feature#android.hardware.location.gps -ADDED from C:\Users\eudes.inacio\Gabinet-DigitalProject\New folder\gabinete-digital\android\app\src\main\AndroidManifest.xml:54:5-66 +ADDED from C:\Users\eudes.inacio\Gabinet-DigitalProject\New folder\gabinete-digital\android\app\src\main\AndroidManifest.xml:55:5-66 android:name - ADDED from C:\Users\eudes.inacio\Gabinet-DigitalProject\New folder\gabinete-digital\android\app\src\main\AndroidManifest.xml:54:19-63 + ADDED from C:\Users\eudes.inacio\Gabinet-DigitalProject\New folder\gabinete-digital\android\app\src\main\AndroidManifest.xml:55:19-63 uses-permission#android.permission.ACCESS_NETWORK_STATE -ADDED from C:\Users\eudes.inacio\Gabinet-DigitalProject\New folder\gabinete-digital\android\app\src\main\AndroidManifest.xml:56:5-79 +ADDED from C:\Users\eudes.inacio\Gabinet-DigitalProject\New folder\gabinete-digital\android\app\src\main\AndroidManifest.xml:57:5-79 MERGED from [com.google.firebase:firebase-iid:20.1.1] C:\Users\eudes.inacio\.gradle\caches\transforms-2\files-2.1\2af03360c2f1d9c4749c1d75a7057ee7\jetified-firebase-iid-20.1.1\AndroidManifest.xml:22:5-79 MERGED from [com.google.firebase:firebase-iid:20.1.1] C:\Users\eudes.inacio\.gradle\caches\transforms-2\files-2.1\2af03360c2f1d9c4749c1d75a7057ee7\jetified-firebase-iid-20.1.1\AndroidManifest.xml:22:5-79 MERGED from [com.google.firebase:firebase-installations:16.0.0] C:\Users\eudes.inacio\.gradle\caches\transforms-2\files-2.1\a9f39591fd7e3606aa03e1dd4d0c2ad4\jetified-firebase-installations-16.0.0\AndroidManifest.xml:10:5-79 @@ -233,19 +233,19 @@ MERGED from [com.google.android.datatransport:transport-backend-cct:2.2.0] C:\Us MERGED from [com.google.android.datatransport:transport-runtime:2.2.0] C:\Users\eudes.inacio\.gradle\caches\transforms-2\files-2.1\09a4bf673ec4891d08a21c203c688e10\jetified-transport-runtime-2.2.0\AndroidManifest.xml:22:5-79 MERGED from [com.google.android.datatransport:transport-runtime:2.2.0] C:\Users\eudes.inacio\.gradle\caches\transforms-2\files-2.1\09a4bf673ec4891d08a21c203c688e10\jetified-transport-runtime-2.2.0\AndroidManifest.xml:22:5-79 android:name - ADDED from C:\Users\eudes.inacio\Gabinet-DigitalProject\New folder\gabinete-digital\android\app\src\main\AndroidManifest.xml:56:22-76 + ADDED from C:\Users\eudes.inacio\Gabinet-DigitalProject\New folder\gabinete-digital\android\app\src\main\AndroidManifest.xml:57:22-76 uses-permission#android.permission.CAMERA -ADDED from C:\Users\eudes.inacio\Gabinet-DigitalProject\New folder\gabinete-digital\android\app\src\main\AndroidManifest.xml:59:5-65 +ADDED from C:\Users\eudes.inacio\Gabinet-DigitalProject\New folder\gabinete-digital\android\app\src\main\AndroidManifest.xml:60:5-65 android:name - ADDED from C:\Users\eudes.inacio\Gabinet-DigitalProject\New folder\gabinete-digital\android\app\src\main\AndroidManifest.xml:59:22-62 + ADDED from C:\Users\eudes.inacio\Gabinet-DigitalProject\New folder\gabinete-digital\android\app\src\main\AndroidManifest.xml:60:22-62 uses-permission#android.permission.RECORD_AUDIO -ADDED from C:\Users\eudes.inacio\Gabinet-DigitalProject\New folder\gabinete-digital\android\app\src\main\AndroidManifest.xml:61:5-71 +ADDED from C:\Users\eudes.inacio\Gabinet-DigitalProject\New folder\gabinete-digital\android\app\src\main\AndroidManifest.xml:62:5-71 android:name - ADDED from C:\Users\eudes.inacio\Gabinet-DigitalProject\New folder\gabinete-digital\android\app\src\main\AndroidManifest.xml:61:22-68 + ADDED from C:\Users\eudes.inacio\Gabinet-DigitalProject\New folder\gabinete-digital\android\app\src\main\AndroidManifest.xml:62:22-68 uses-permission#android.permission.MODIFY_AUDIO_SETTINGS -ADDED from C:\Users\eudes.inacio\Gabinet-DigitalProject\New folder\gabinete-digital\android\app\src\main\AndroidManifest.xml:62:5-79 +ADDED from C:\Users\eudes.inacio\Gabinet-DigitalProject\New folder\gabinete-digital\android\app\src\main\AndroidManifest.xml:63:5-79 android:name - ADDED from C:\Users\eudes.inacio\Gabinet-DigitalProject\New folder\gabinete-digital\android\app\src\main\AndroidManifest.xml:62:22-77 + ADDED from C:\Users\eudes.inacio\Gabinet-DigitalProject\New folder\gabinete-digital\android\app\src\main\AndroidManifest.xml:63:22-77 uses-sdk INJECTED from C:\Users\eudes.inacio\Gabinet-DigitalProject\New folder\gabinete-digital\android\app\src\main\AndroidManifest.xml reason: use-sdk injection requested INJECTED from C:\Users\eudes.inacio\Gabinet-DigitalProject\New folder\gabinete-digital\android\app\src\main\AndroidManifest.xml @@ -386,6 +386,12 @@ ADDED from C:\Users\eudes.inacio\Gabinet-DigitalProject\New folder\gabinete-digi ADDED from C:\Users\eudes.inacio\Gabinet-DigitalProject\New folder\gabinete-digital\android\app\src\main\AndroidManifest.xml:41:17-51 android:name ADDED from C:\Users\eudes.inacio\Gabinet-DigitalProject\New folder\gabinete-digital\android\app\src\main\AndroidManifest.xml:40:17-67 +meta-data#com.google.firebase.messaging.default_notification_icon +ADDED from C:\Users\eudes.inacio\Gabinet-DigitalProject\New folder\gabinete-digital\android\app\src\main\AndroidManifest.xml:42:13-136 + android:resource + ADDED from C:\Users\eudes.inacio\Gabinet-DigitalProject\New folder\gabinete-digital\android\app\src\main\AndroidManifest.xml:42:95-133 + android:name + ADDED from C:\Users\eudes.inacio\Gabinet-DigitalProject\New folder\gabinete-digital\android\app\src\main\AndroidManifest.xml:42:24-94 uses-feature#android.hardware.camera ADDED from [:capacitor-android] C:\Users\eudes.inacio\Gabinet-DigitalProject\New folder\gabinete-digital\node_modules\@capacitor\android\capacitor\build\intermediates\library_manifest\debug\AndroidManifest.xml:11:5-13:36 android:required diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml index b4b21b5e7..ce69e01e7 100644 --- a/android/app/src/main/AndroidManifest.xml +++ b/android/app/src/main/AndroidManifest.xml @@ -39,6 +39,7 @@ + diff --git a/android/app/src/main/assets/public/home-home-module-es2015.js b/android/app/src/main/assets/public/home-home-module-es2015.js index fe6a860d2..0db47044b 100644 --- a/android/app/src/main/assets/public/home-home-module-es2015.js +++ b/android/app/src/main/assets/public/home-home-module-es2015.js @@ -271,6 +271,8 @@ __webpack_require__.r(__webpack_exports__); /* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @angular/common */ "./node_modules/@angular/common/__ivy_ngcc__/fesm2015/common.js"); /* harmony import */ var _services_processes_service__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../services/processes.service */ "./src/app/services/processes.service.ts"); /* harmony import */ var _capacitor_core__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @capacitor/core */ "./node_modules/@capacitor/core/dist/esm/index.js"); +/* harmony import */ var _angular_router__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @angular/router */ "./node_modules/@angular/router/__ivy_ngcc__/fesm2015/router.js"); + @@ -279,9 +281,10 @@ __webpack_require__.r(__webpack_exports__); const { PushNotifications } = _capacitor_core__WEBPACK_IMPORTED_MODULE_5__["Plugins"]; let HomePage = class HomePage { - constructor(eventService, processesbackend) { + constructor(eventService, processesbackend, router) { this.eventService = eventService; this.processesbackend = processesbackend; + this.router = router; this.totalEvent = 0; this.totalExpediente = 0; } @@ -303,13 +306,21 @@ let HomePage = class HomePage { this.processesbackend.GetTasksList("Expediente", true).subscribe(result => { this.totalExpediente = result; }); - PushNotifications.requestPermission().then(result => { - PushNotifications.register(); - }); - PushNotifications.addListener('registration', (token) => { - alert('Push registration success, token: ' + token.value); - console.log('FIREBASE: ', token.value); - }); + /* + (PushNotifications as any).requestPermission().then(result => { + PushNotifications.register(); + }); + + PushNotifications.addListener( + 'registration', + (token: PushNotificationToken) => { + alert('Push registration success, token: ' + token.value); + console.log('FIREBASE: ', token.value) + this.storageService.store(this.username,token.value); + }, + ); + + console.log(this.storageService.get(this.username)) */ PushNotifications.addListener('registrationError', (error) => { alert('Error on registration: ' + JSON.stringify(error)); }); @@ -317,13 +328,15 @@ let HomePage = class HomePage { alert('Push received: ' + JSON.stringify(notification)); }); PushNotifications.addListener('pushNotificationActionPerformed', (notification) => { - alert('Push action performed: ' + JSON.stringify(notification)); + alert('Push action performed: ' + JSON.stringify(notification.notification.data)); + this.router.navigate(['/home/events']); }); } }; HomePage.ctorParameters = () => [ { type: _services_events_service__WEBPACK_IMPORTED_MODULE_2__["EventsService"] }, - { type: _services_processes_service__WEBPACK_IMPORTED_MODULE_4__["ProcessesService"] } + { type: _services_processes_service__WEBPACK_IMPORTED_MODULE_4__["ProcessesService"] }, + { type: _angular_router__WEBPACK_IMPORTED_MODULE_6__["Router"] } ]; HomePage = Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__decorate"])([ Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["Component"])({ diff --git a/android/app/src/main/assets/public/home-home-module-es2015.js.map b/android/app/src/main/assets/public/home-home-module-es2015.js.map index 401999364..0c8dbe827 100644 --- a/android/app/src/main/assets/public/home-home-module-es2015.js.map +++ b/android/app/src/main/assets/public/home-home-module-es2015.js.map @@ -1 +1 @@ -{"version":3,"sources":["./src/app/home/home.page.html","./src/app/home/home-routing.module.ts","./src/app/home/home.module.ts","./src/app/home/home.page.scss","./src/app/home/home.page.ts","./src/app/resolvers/userData.resolver.ts"],"names":[],"mappings":"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","file":"home-home-module-es2015.js","sourcesContent":["export default \"\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{totalEvent}}\\r\\n Início\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Agenda\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{totalExpediente}}\\r\\n Gabinete\\r\\n \\r\\n \\r\\n \\r\\n Acções\\r\\n \\r\\n \\r\\n \\r\\n Pesquisa\\r\\n \\r\\n \\r\\n \\r\\n Chat\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\";","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\nimport { HomeGuard } from '../guards/home.guard';\r\nimport { UserDataResolver } from '../resolvers/userData.resolver';\r\n\r\nimport { HomePage } from './home.page';\r\n\r\nconst routes: Routes = [\r\n {\r\n path: 'home',\r\n component: HomePage,\r\n /* canActivate: [HomeGuard], */\r\n resolve: {\r\n userData: UserDataResolver\r\n },\r\n children: [\r\n {\r\n path: 'events',\r\n children: [\r\n {\r\n path:'',\r\n loadChildren: ()=> import('../pages/events/events.module').then(m => m.EventsPageModule)\r\n },\r\n {\r\n path:':eventId/:caller',\r\n loadChildren: ()=> import('../pages/events/event-detail/event-detail.module').then(m => m.EventDetailPageModule),\r\n },\r\n ]\r\n },\r\n {\r\n path: 'attachments',\r\n children: [\r\n {\r\n path:':eventId',\r\n loadChildren: ()=> import('../pages/events/attachments/attachments.module').then(m => m.AttachmentsPageModule)\r\n },\r\n\r\n ]\r\n },\r\n {\r\n path: 'attendees',\r\n children: [\r\n {\r\n path:'',\r\n loadChildren: ()=> import('../pages/events/attendees/attendees.module').then(m => m.AttendeesPageModule)\r\n },\r\n ]\r\n },\r\n {\r\n path: 'login',\r\n children: [\r\n {\r\n path:'',\r\n loadChildren: ()=> import('../pages/login/login.module').then(m => m.LoginPageModule)\r\n },\r\n ]\r\n },\r\n {\r\n path: 'agenda',\r\n children: [\r\n {\r\n path:'',\r\n loadChildren: ()=> import('../pages/agenda/agenda.module').then(m => m.AgendaPageModule)\r\n },\r\n {\r\n path:':eventId/:caller',\r\n loadChildren: ()=> import('../pages/events/event-detail/event-detail.module').then(m => m.EventDetailPageModule),\r\n }\r\n ]\r\n },\r\n {\r\n path: 'gabinete-digital',\r\n children: [\r\n {\r\n path:'',\r\n loadChildren: ()=> import('../pages/gabinete-digital/gabinete-digital.module').then(m => m.GabineteDigitalPageModule)\r\n },\r\n {\r\n path:'expediente',\r\n children: [\r\n {\r\n path:'',\r\n loadChildren: ()=> import('../pages/gabinete-digital/expediente/expediente.module').then(m => m.ExpedientePageModule)\r\n },\r\n {\r\n path:':SerialNumber',\r\n loadChildren: ()=> import('../pages/gabinete-digital/expediente/expediente-detail/expediente-detail.module').then(m => m.ExpedienteDetailPageModule)\r\n },\r\n {\r\n path:'events/:eventId/:caller',\r\n loadChildren: ()=> import('../pages/events/event-detail/event-detail.module').then(m => m.EventDetailPageModule),\r\n }\r\n ]\r\n },\r\n {\r\n path:'event-list',\r\n children: [\r\n {\r\n path:'',\r\n loadChildren: ()=> import('../pages/gabinete-digital/event-list/event-list.module').then(m => m.EventListPageModule)\r\n },\r\n ] \r\n },\r\n ]\r\n },\r\n {\r\n path: 'search',\r\n children: [\r\n {\r\n path:'',\r\n loadChildren: ()=> import('../pages/search/search.module').then(m => m.SearchPageModule)\r\n }\r\n ]\r\n },\r\n {\r\n path: 'publications',\r\n children: [\r\n {\r\n path:'',\r\n loadChildren: ()=> import('../pages/publications/publications.module').then(m => m.PublicationsPageModule)\r\n },\r\n {\r\n path:'view-publications',\r\n children: [\r\n {\r\n path:':folderId',\r\n loadChildren: ()=> import('../pages/publications/view-publications/view-publications.module').then(m => m.ViewPublicationsPageModule)\r\n },\r\n {\r\n path:'publication-detail',\r\n children: [\r\n {\r\n path: ':id',\r\n loadChildren: ()=> import('../pages/publications/view-publications/publication-detail/publication-detail.module').then(m => m.PublicationDetailPageModule)\r\n },\r\n ]\r\n \r\n },\r\n ] \r\n },\r\n ]\r\n },\r\n {\r\n path: 'chat',\r\n children: [\r\n {\r\n path:'',\r\n loadChildren: ()=> import('../pages/chat/chat.module').then(m => m.ChatPageModule)\r\n }\r\n ]\r\n },\r\n ]\r\n },\r\n {\r\n path: '',\r\n redirectTo: '/home/events',\r\n pathMatch: 'full'\r\n }\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule],\r\n})\r\nexport class HomePageRoutingModule {}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\n\r\nimport { IonicModule } from '@ionic/angular';\r\n\r\nimport { HomePageRoutingModule } from './home-routing.module';\r\n\r\nimport { HomePage } from './home.page';\r\n/* import { IonicSelectableModule } from 'ionic-selectable'; */\r\nimport { SharedModule } from 'src/app/shared/shared.module';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n IonicModule,\r\n HomePageRoutingModule,\r\n SharedModule\r\n ],\r\n declarations: [HomePage]\r\n})\r\nexport class HomePageModule {}\r\n","export default \"ion-tab-bar {\\n --background: #f9f9f9;\\n --color: #061b52;\\n}\\n\\nion-badge {\\n /* */\\n /* display: inline-block;*/\\n min-width: 18px;\\n font-size: 15px;\\n /* font-weight: $badge-font-weight;\\n line-height: 1;\\n\\n white-space: nowrap;\\n vertical-align: baseline; */\\n}\\n\\n.tab .bottoms {\\n display: flex;\\n justify-content: space-around;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvaG9tZS9DOlxcVXNlcnNcXGV1ZGVzLmluYWNpb1xcR2FiaW5ldC1EaWdpdGFsUHJvamVjdFxcTmV3IGZvbGRlclxcZ2FiaW5ldGUtZGlnaXRhbC9zcmNcXGFwcFxcaG9tZVxcaG9tZS5wYWdlLnNjc3MiLCJzcmMvYXBwL2hvbWUvaG9tZS5wYWdlLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0E7RUFDSSxxQkFBQTtFQUNBLGdCQUFBO0FDQUo7O0FEYUE7RUFBVyxLQUFBO0VBRVQsMEJBQUE7RUFFQSxlQUFBO0VBQ0EsZUFYZTtFQVlmOzs7OzZCQUFBO0FDUEY7O0FEZ0JFO0VBQ0UsYUFBQTtFQUNBLDZCQUFBO0FDYkoiLCJmaWxlIjoic3JjL2FwcC9ob21lL2hvbWUucGFnZS5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiXHJcbmlvbi10YWItYmFye1xyXG4gICAgLS1iYWNrZ3JvdW5kOiAjZjlmOWY5O1xyXG4gICAgLS1jb2xvcjogIzA2MWI1MjtcclxufVxyXG5cclxuLy8gQmFkZ2VcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbi8vLyBAcHJvcCAtIEZvbnQgc2l6ZSBvZiB0aGUgYmFkZ2VcclxuJGJhZGdlLWZvbnQtc2l6ZToxNXB4ICFkZWZhdWx0O1xyXG5cclxuLy8vIEBwcm9wIC0gRm9udCB3ZWlnaHQgb2YgdGhlIGJhZGdlXHJcbiRiYWRnZS1mb250LXdlaWdodDpib2xkICFkZWZhdWx0O1xyXG5cclxuXHJcbmlvbi1iYWRnZSB7LyogICovXHJcblxyXG4gIC8qIGRpc3BsYXk6IGlubGluZS1ibG9jazsqL1xyXG5cclxuICBtaW4td2lkdGg6IDE4cHg7IFxyXG4gIGZvbnQtc2l6ZTogJGJhZGdlLWZvbnQtc2l6ZTtcclxuICAvKiBmb250LXdlaWdodDogJGJhZGdlLWZvbnQtd2VpZ2h0O1xyXG4gIGxpbmUtaGVpZ2h0OiAxO1xyXG5cclxuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgKi9cclxufVxyXG5cclxuXHJcbi50YWJ7XHJcbiAgLmJvdHRvbXN7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XHJcbiAgfVxyXG59IiwiaW9uLXRhYi1iYXIge1xuICAtLWJhY2tncm91bmQ6ICNmOWY5Zjk7XG4gIC0tY29sb3I6ICMwNjFiNTI7XG59XG5cbmlvbi1iYWRnZSB7XG4gIC8qICAqL1xuICAvKiBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7Ki9cbiAgbWluLXdpZHRoOiAxOHB4O1xuICBmb250LXNpemU6IDE1cHg7XG4gIC8qIGZvbnQtd2VpZ2h0OiAkYmFkZ2UtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgKi9cbn1cblxuLnRhYiAuYm90dG9tcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xufSJdfQ== */\";","import { Component, OnInit } from '@angular/core';\r\nimport { EventsService } from '../services/events.service';\r\nimport { formatDate } from '@angular/common';\r\nimport { Event } from '../models/event.model';\r\nimport { ProcessesService } from '../services/processes.service';\r\n\r\nimport { Plugins, PushNotification,PushNotificationToken,PushNotificationActionPerformed} from '@capacitor/core';\r\n\r\nconst { PushNotifications } = Plugins;\r\n\r\n@Component({\r\n selector: 'app-home',\r\n templateUrl: './home.page.html',\r\n styleUrls: ['./home.page.scss'],\r\n})\r\nexport class HomePage implements OnInit {\r\n eventsList: Event[];\r\n prEventList: Event[];\r\n mdEventList: Event[];\r\n\r\n totalEvent=0;\r\n totalExpediente=0;\r\n profile:string;\r\n\r\n constructor(private eventService: EventsService, private processesbackend:ProcessesService) { }\r\n\r\n ngOnInit() {\r\n //Initialize profile as mdgpr\r\n this.profile = \"mdgpr\";\r\n if(this.profile == \"mdgpr\"){\r\n this.eventService.getAllMdEvents(formatDate(new Date(), 'yyyy-MM-dd HH:mm:ss', 'pt'), formatDate(new Date(), 'yyyy-MM-dd', 'pt') + ' 23:59:59').subscribe(res => {\r\n this.eventsList = res;\r\n this.totalEvent = this.eventsList.length;\r\n });\r\n }\r\n else{\r\n this.eventService.getAllPrEvents(formatDate(new Date(), 'yyyy-MM-dd HH:mm:ss', 'pt'), formatDate(new Date(), 'yyyy-MM-dd', 'pt') + ' 23:59:59').subscribe(res => {\r\n this.eventsList = res;\r\n this.totalEvent = this.eventsList.length;\r\n });\r\n\r\n }\r\n this.processesbackend.GetTasksList(\"Expediente\", true).subscribe(result =>{\r\n this.totalExpediente = result;\r\n });\r\n\r\n (PushNotifications as any).requestPermission().then(result => {\r\n PushNotifications.register();\r\n });\r\n \r\n PushNotifications.addListener(\r\n 'registration',\r\n (token: PushNotificationToken) => {\r\n alert('Push registration success, token: ' + token.value);\r\n console.log('FIREBASE: ', token.value)\r\n },\r\n );\r\n \r\n PushNotifications.addListener('registrationError', (error: any) => {\r\n alert('Error on registration: ' + JSON.stringify(error));\r\n });\r\n \r\n PushNotifications.addListener(\r\n 'pushNotificationReceived',\r\n (notification: PushNotification) => {\r\n alert('Push received: ' + JSON.stringify(notification));\r\n },\r\n );\r\n \r\n PushNotifications.addListener(\r\n 'pushNotificationActionPerformed',\r\n (notification: PushNotificationActionPerformed) => {\r\n alert('Push action performed: ' + JSON.stringify(notification));\r\n },\r\n );\r\n } \r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { AuthService } from '../services/auth.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class UserDataResolver{ \r\n constructor(private authService: AuthService){}\r\n\r\n resolve(){\r\n return this.authService.getUserData();\r\n }\r\n}"],"sourceRoot":"webpack:///"} \ No newline at end of file +{"version":3,"sources":["./src/app/home/home.page.html","./src/app/home/home-routing.module.ts","./src/app/home/home.module.ts","./src/app/home/home.page.scss","./src/app/home/home.page.ts","./src/app/resolvers/userData.resolver.ts"],"names":[],"mappings":"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","file":"home-home-module-es2015.js","sourcesContent":["export default \"\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{totalEvent}}\\r\\n Início\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Agenda\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{totalExpediente}}\\r\\n Gabinete\\r\\n \\r\\n \\r\\n \\r\\n Acções\\r\\n \\r\\n \\r\\n \\r\\n Pesquisa\\r\\n \\r\\n \\r\\n \\r\\n Chat\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\";","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\nimport { HomeGuard } from '../guards/home.guard';\r\nimport { UserDataResolver } from '../resolvers/userData.resolver';\r\n\r\nimport { HomePage } from './home.page';\r\n\r\nconst routes: Routes = [\r\n {\r\n path: 'home',\r\n component: HomePage,\r\n /* canActivate: [HomeGuard], */\r\n resolve: {\r\n userData: UserDataResolver\r\n },\r\n children: [\r\n {\r\n path: 'events',\r\n children: [\r\n {\r\n path:'',\r\n loadChildren: ()=> import('../pages/events/events.module').then(m => m.EventsPageModule)\r\n },\r\n {\r\n path:':eventId/:caller',\r\n loadChildren: ()=> import('../pages/events/event-detail/event-detail.module').then(m => m.EventDetailPageModule),\r\n },\r\n ]\r\n },\r\n {\r\n path: 'attachments',\r\n children: [\r\n {\r\n path:':eventId',\r\n loadChildren: ()=> import('../pages/events/attachments/attachments.module').then(m => m.AttachmentsPageModule)\r\n },\r\n\r\n ]\r\n },\r\n {\r\n path: 'attendees',\r\n children: [\r\n {\r\n path:'',\r\n loadChildren: ()=> import('../pages/events/attendees/attendees.module').then(m => m.AttendeesPageModule)\r\n },\r\n ]\r\n },\r\n {\r\n path: 'login',\r\n children: [\r\n {\r\n path:'',\r\n loadChildren: ()=> import('../pages/login/login.module').then(m => m.LoginPageModule)\r\n },\r\n ]\r\n },\r\n {\r\n path: 'agenda',\r\n children: [\r\n {\r\n path:'',\r\n loadChildren: ()=> import('../pages/agenda/agenda.module').then(m => m.AgendaPageModule)\r\n },\r\n {\r\n path:':eventId/:caller',\r\n loadChildren: ()=> import('../pages/events/event-detail/event-detail.module').then(m => m.EventDetailPageModule),\r\n }\r\n ]\r\n },\r\n {\r\n path: 'gabinete-digital',\r\n children: [\r\n {\r\n path:'',\r\n loadChildren: ()=> import('../pages/gabinete-digital/gabinete-digital.module').then(m => m.GabineteDigitalPageModule)\r\n },\r\n {\r\n path:'expediente',\r\n children: [\r\n {\r\n path:'',\r\n loadChildren: ()=> import('../pages/gabinete-digital/expediente/expediente.module').then(m => m.ExpedientePageModule)\r\n },\r\n {\r\n path:':SerialNumber',\r\n loadChildren: ()=> import('../pages/gabinete-digital/expediente/expediente-detail/expediente-detail.module').then(m => m.ExpedienteDetailPageModule)\r\n },\r\n {\r\n path:'events/:eventId/:caller',\r\n loadChildren: ()=> import('../pages/events/event-detail/event-detail.module').then(m => m.EventDetailPageModule),\r\n }\r\n ]\r\n },\r\n {\r\n path:'event-list',\r\n children: [\r\n {\r\n path:'',\r\n loadChildren: ()=> import('../pages/gabinete-digital/event-list/event-list.module').then(m => m.EventListPageModule)\r\n },\r\n ] \r\n },\r\n ]\r\n },\r\n {\r\n path: 'search',\r\n children: [\r\n {\r\n path:'',\r\n loadChildren: ()=> import('../pages/search/search.module').then(m => m.SearchPageModule)\r\n }\r\n ]\r\n },\r\n {\r\n path: 'publications',\r\n children: [\r\n {\r\n path:'',\r\n loadChildren: ()=> import('../pages/publications/publications.module').then(m => m.PublicationsPageModule)\r\n },\r\n {\r\n path:'view-publications',\r\n children: [\r\n {\r\n path:':folderId',\r\n loadChildren: ()=> import('../pages/publications/view-publications/view-publications.module').then(m => m.ViewPublicationsPageModule)\r\n },\r\n {\r\n path:'publication-detail',\r\n children: [\r\n {\r\n path: ':id',\r\n loadChildren: ()=> import('../pages/publications/view-publications/publication-detail/publication-detail.module').then(m => m.PublicationDetailPageModule)\r\n },\r\n ]\r\n \r\n },\r\n ] \r\n },\r\n ]\r\n },\r\n {\r\n path: 'chat',\r\n children: [\r\n {\r\n path:'',\r\n loadChildren: ()=> import('../pages/chat/chat.module').then(m => m.ChatPageModule)\r\n }\r\n ]\r\n },\r\n ]\r\n },\r\n {\r\n path: '',\r\n redirectTo: '/home/events',\r\n pathMatch: 'full'\r\n }\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule],\r\n})\r\nexport class HomePageRoutingModule {}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\n\r\nimport { IonicModule } from '@ionic/angular';\r\n\r\nimport { HomePageRoutingModule } from './home-routing.module';\r\n\r\nimport { HomePage } from './home.page';\r\n/* import { IonicSelectableModule } from 'ionic-selectable'; */\r\nimport { SharedModule } from 'src/app/shared/shared.module';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n IonicModule,\r\n HomePageRoutingModule,\r\n SharedModule\r\n ],\r\n declarations: [HomePage]\r\n})\r\nexport class HomePageModule {}\r\n","export default \"ion-tab-bar {\\n --background: #f9f9f9;\\n --color: #061b52;\\n}\\n\\nion-badge {\\n /* */\\n /* display: inline-block;*/\\n min-width: 18px;\\n font-size: 15px;\\n /* font-weight: $badge-font-weight;\\n line-height: 1;\\n\\n white-space: nowrap;\\n vertical-align: baseline; */\\n}\\n\\n.tab .bottoms {\\n display: flex;\\n justify-content: space-around;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvaG9tZS9DOlxcVXNlcnNcXGV1ZGVzLmluYWNpb1xcR2FiaW5ldC1EaWdpdGFsUHJvamVjdFxcTmV3IGZvbGRlclxcZ2FiaW5ldGUtZGlnaXRhbC9zcmNcXGFwcFxcaG9tZVxcaG9tZS5wYWdlLnNjc3MiLCJzcmMvYXBwL2hvbWUvaG9tZS5wYWdlLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0E7RUFDSSxxQkFBQTtFQUNBLGdCQUFBO0FDQUo7O0FEYUE7RUFBVyxLQUFBO0VBRVQsMEJBQUE7RUFFQSxlQUFBO0VBQ0EsZUFYZTtFQVlmOzs7OzZCQUFBO0FDUEY7O0FEZ0JFO0VBQ0UsYUFBQTtFQUNBLDZCQUFBO0FDYkoiLCJmaWxlIjoic3JjL2FwcC9ob21lL2hvbWUucGFnZS5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiXHJcbmlvbi10YWItYmFye1xyXG4gICAgLS1iYWNrZ3JvdW5kOiAjZjlmOWY5O1xyXG4gICAgLS1jb2xvcjogIzA2MWI1MjtcclxufVxyXG5cclxuLy8gQmFkZ2VcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbi8vLyBAcHJvcCAtIEZvbnQgc2l6ZSBvZiB0aGUgYmFkZ2VcclxuJGJhZGdlLWZvbnQtc2l6ZToxNXB4ICFkZWZhdWx0O1xyXG5cclxuLy8vIEBwcm9wIC0gRm9udCB3ZWlnaHQgb2YgdGhlIGJhZGdlXHJcbiRiYWRnZS1mb250LXdlaWdodDpib2xkICFkZWZhdWx0O1xyXG5cclxuXHJcbmlvbi1iYWRnZSB7LyogICovXHJcblxyXG4gIC8qIGRpc3BsYXk6IGlubGluZS1ibG9jazsqL1xyXG5cclxuICBtaW4td2lkdGg6IDE4cHg7IFxyXG4gIGZvbnQtc2l6ZTogJGJhZGdlLWZvbnQtc2l6ZTtcclxuICAvKiBmb250LXdlaWdodDogJGJhZGdlLWZvbnQtd2VpZ2h0O1xyXG4gIGxpbmUtaGVpZ2h0OiAxO1xyXG5cclxuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgKi9cclxufVxyXG5cclxuXHJcbi50YWJ7XHJcbiAgLmJvdHRvbXN7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XHJcbiAgfVxyXG59IiwiaW9uLXRhYi1iYXIge1xuICAtLWJhY2tncm91bmQ6ICNmOWY5Zjk7XG4gIC0tY29sb3I6ICMwNjFiNTI7XG59XG5cbmlvbi1iYWRnZSB7XG4gIC8qICAqL1xuICAvKiBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7Ki9cbiAgbWluLXdpZHRoOiAxOHB4O1xuICBmb250LXNpemU6IDE1cHg7XG4gIC8qIGZvbnQtd2VpZ2h0OiAkYmFkZ2UtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgKi9cbn1cblxuLnRhYiAuYm90dG9tcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xufSJdfQ== */\";","import { Component, OnInit } from '@angular/core';\r\nimport { EventsService } from '../services/events.service';\r\nimport { formatDate } from '@angular/common';\r\nimport { Event } from '../models/event.model';\r\nimport { ProcessesService } from '../services/processes.service';\r\nimport { StorageService } from 'src/app/services/storage.service';\r\n\r\nimport { Plugins, PushNotification,PushNotificationToken,PushNotificationActionPerformed} from '@capacitor/core';\r\nimport { Router } from '@angular/router';\r\n\r\nconst { PushNotifications } = Plugins;\r\n\r\n@Component({\r\n selector: 'app-home',\r\n templateUrl: './home.page.html',\r\n styleUrls: ['./home.page.scss'],\r\n})\r\nexport class HomePage implements OnInit {\r\n eventsList: Event[];\r\n prEventList: Event[];\r\n mdEventList: Event[];\r\n\r\n totalEvent=0;\r\n totalExpediente=0;\r\n profile:string;\r\n\r\n constructor(private eventService: EventsService, private processesbackend:ProcessesService,private router: Router, ) { }\r\n\r\n ngOnInit() {\r\n //Initialize profile as mdgpr\r\n this.profile = \"mdgpr\";\r\n if(this.profile == \"mdgpr\"){\r\n this.eventService.getAllMdEvents(formatDate(new Date(), 'yyyy-MM-dd HH:mm:ss', 'pt'), formatDate(new Date(), 'yyyy-MM-dd', 'pt') + ' 23:59:59').subscribe(res => {\r\n this.eventsList = res;\r\n this.totalEvent = this.eventsList.length;\r\n });\r\n }\r\n else{\r\n this.eventService.getAllPrEvents(formatDate(new Date(), 'yyyy-MM-dd HH:mm:ss', 'pt'), formatDate(new Date(), 'yyyy-MM-dd', 'pt') + ' 23:59:59').subscribe(res => {\r\n this.eventsList = res;\r\n this.totalEvent = this.eventsList.length;\r\n });\r\n\r\n }\r\n this.processesbackend.GetTasksList(\"Expediente\", true).subscribe(result =>{\r\n this.totalExpediente = result;\r\n });\r\n/*\r\n (PushNotifications as any).requestPermission().then(result => {\r\n PushNotifications.register();\r\n });\r\n\r\n PushNotifications.addListener(\r\n 'registration',\r\n (token: PushNotificationToken) => {\r\n alert('Push registration success, token: ' + token.value);\r\n console.log('FIREBASE: ', token.value)\r\n this.storageService.store(this.username,token.value);\r\n },\r\n );\r\n\r\n console.log(this.storageService.get(this.username)) */\r\n \r\n PushNotifications.addListener('registrationError', (error: any) => {\r\n alert('Error on registration: ' + JSON.stringify(error));\r\n });\r\n \r\n PushNotifications.addListener(\r\n 'pushNotificationReceived',\r\n (notification: PushNotification) => {\r\n alert('Push received: ' + JSON.stringify(notification));\r\n },\r\n );\r\n \r\n PushNotifications.addListener(\r\n 'pushNotificationActionPerformed',\r\n (notification: PushNotificationActionPerformed) => {\r\n alert('Push action performed: ' + JSON.stringify(notification.notification.data));\r\n this.router.navigate(['/home/events']);\r\n },\r\n );\r\n } \r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { AuthService } from '../services/auth.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class UserDataResolver{ \r\n constructor(private authService: AuthService){}\r\n\r\n resolve(){\r\n return this.authService.getUserData();\r\n }\r\n}"],"sourceRoot":"webpack:///"} \ No newline at end of file diff --git a/android/app/src/main/assets/public/home-home-module-es5.js b/android/app/src/main/assets/public/home-home-module-es5.js index 28eb047dd..13ce55f2b 100644 --- a/android/app/src/main/assets/public/home-home-module-es5.js +++ b/android/app/src/main/assets/public/home-home-module-es5.js @@ -483,15 +483,22 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons var _capacitor_core__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__( /*! @capacitor/core */ "./node_modules/@capacitor/core/dist/esm/index.js"); + /* harmony import */ + + + var _angular_router__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__( + /*! @angular/router */ + "./node_modules/@angular/router/__ivy_ngcc__/fesm2015/router.js"); var PushNotifications = _capacitor_core__WEBPACK_IMPORTED_MODULE_5__["Plugins"].PushNotifications; var HomePage = /*#__PURE__*/function () { - function HomePage(eventService, processesbackend) { + function HomePage(eventService, processesbackend, router) { _classCallCheck(this, HomePage); this.eventService = eventService; this.processesbackend = processesbackend; + this.router = router; this.totalEvent = 0; this.totalExpediente = 0; } @@ -519,13 +526,22 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons this.processesbackend.GetTasksList("Expediente", true).subscribe(function (result) { _this.totalExpediente = result; }); - PushNotifications.requestPermission().then(function (result) { - PushNotifications.register(); - }); - PushNotifications.addListener('registration', function (token) { - alert('Push registration success, token: ' + token.value); - console.log('FIREBASE: ', token.value); - }); + /* + (PushNotifications as any).requestPermission().then(result => { + PushNotifications.register(); + }); + + PushNotifications.addListener( + 'registration', + (token: PushNotificationToken) => { + alert('Push registration success, token: ' + token.value); + console.log('FIREBASE: ', token.value) + this.storageService.store(this.username,token.value); + }, + ); + + console.log(this.storageService.get(this.username)) */ + PushNotifications.addListener('registrationError', function (error) { alert('Error on registration: ' + JSON.stringify(error)); }); @@ -533,7 +549,9 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons alert('Push received: ' + JSON.stringify(notification)); }); PushNotifications.addListener('pushNotificationActionPerformed', function (notification) { - alert('Push action performed: ' + JSON.stringify(notification)); + alert('Push action performed: ' + JSON.stringify(notification.notification.data)); + + _this.router.navigate(['/home/events']); }); } }]); @@ -546,6 +564,8 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons type: _services_events_service__WEBPACK_IMPORTED_MODULE_2__["EventsService"] }, { type: _services_processes_service__WEBPACK_IMPORTED_MODULE_4__["ProcessesService"] + }, { + type: _angular_router__WEBPACK_IMPORTED_MODULE_6__["Router"] }]; }; diff --git a/android/app/src/main/assets/public/home-home-module-es5.js.map b/android/app/src/main/assets/public/home-home-module-es5.js.map index 5a3b062a6..20cc4ae89 100644 --- a/android/app/src/main/assets/public/home-home-module-es5.js.map +++ b/android/app/src/main/assets/public/home-home-module-es5.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///src/app/home/home.page.html","webpack:///src/app/home/home-routing.module.ts","webpack:///src/app/home/home.module.ts","webpack:///src/app/home/home.page.scss","webpack:///src/app/home/home.page.ts","webpack:///src/app/resolvers/userData.resolver.ts"],"names":["routes","path","component","resolve","userData","children","loadChildren","then","m","EventsPageModule","EventDetailPageModule","AttachmentsPageModule","AttendeesPageModule","LoginPageModule","AgendaPageModule","GabineteDigitalPageModule","ExpedientePageModule","ExpedienteDetailPageModule","EventListPageModule","SearchPageModule","PublicationsPageModule","ViewPublicationsPageModule","PublicationDetailPageModule","ChatPageModule","redirectTo","pathMatch","HomePageRoutingModule","imports","forChild","exports","HomePageModule","declarations","PushNotifications","HomePage","eventService","processesbackend","totalEvent","totalExpediente","profile","getAllMdEvents","Date","subscribe","res","eventsList","length","getAllPrEvents","GetTasksList","result","requestPermission","register","addListener","token","alert","value","console","log","error","JSON","stringify","notification","selector","template","UserDataResolver","authService","getUserData","providedIn"],"mappings":"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","file":"home-home-module-es5.js","sourcesContent":["export default \"\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{totalEvent}}\\r\\n Início\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Agenda\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{totalExpediente}}\\r\\n Gabinete\\r\\n \\r\\n \\r\\n \\r\\n Acções\\r\\n \\r\\n \\r\\n \\r\\n Pesquisa\\r\\n \\r\\n \\r\\n \\r\\n Chat\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\";","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\nimport { HomeGuard } from '../guards/home.guard';\r\nimport { UserDataResolver } from '../resolvers/userData.resolver';\r\n\r\nimport { HomePage } from './home.page';\r\n\r\nconst routes: Routes = [\r\n {\r\n path: 'home',\r\n component: HomePage,\r\n /* canActivate: [HomeGuard], */\r\n resolve: {\r\n userData: UserDataResolver\r\n },\r\n children: [\r\n {\r\n path: 'events',\r\n children: [\r\n {\r\n path:'',\r\n loadChildren: ()=> import('../pages/events/events.module').then(m => m.EventsPageModule)\r\n },\r\n {\r\n path:':eventId/:caller',\r\n loadChildren: ()=> import('../pages/events/event-detail/event-detail.module').then(m => m.EventDetailPageModule),\r\n },\r\n ]\r\n },\r\n {\r\n path: 'attachments',\r\n children: [\r\n {\r\n path:':eventId',\r\n loadChildren: ()=> import('../pages/events/attachments/attachments.module').then(m => m.AttachmentsPageModule)\r\n },\r\n\r\n ]\r\n },\r\n {\r\n path: 'attendees',\r\n children: [\r\n {\r\n path:'',\r\n loadChildren: ()=> import('../pages/events/attendees/attendees.module').then(m => m.AttendeesPageModule)\r\n },\r\n ]\r\n },\r\n {\r\n path: 'login',\r\n children: [\r\n {\r\n path:'',\r\n loadChildren: ()=> import('../pages/login/login.module').then(m => m.LoginPageModule)\r\n },\r\n ]\r\n },\r\n {\r\n path: 'agenda',\r\n children: [\r\n {\r\n path:'',\r\n loadChildren: ()=> import('../pages/agenda/agenda.module').then(m => m.AgendaPageModule)\r\n },\r\n {\r\n path:':eventId/:caller',\r\n loadChildren: ()=> import('../pages/events/event-detail/event-detail.module').then(m => m.EventDetailPageModule),\r\n }\r\n ]\r\n },\r\n {\r\n path: 'gabinete-digital',\r\n children: [\r\n {\r\n path:'',\r\n loadChildren: ()=> import('../pages/gabinete-digital/gabinete-digital.module').then(m => m.GabineteDigitalPageModule)\r\n },\r\n {\r\n path:'expediente',\r\n children: [\r\n {\r\n path:'',\r\n loadChildren: ()=> import('../pages/gabinete-digital/expediente/expediente.module').then(m => m.ExpedientePageModule)\r\n },\r\n {\r\n path:':SerialNumber',\r\n loadChildren: ()=> import('../pages/gabinete-digital/expediente/expediente-detail/expediente-detail.module').then(m => m.ExpedienteDetailPageModule)\r\n },\r\n {\r\n path:'events/:eventId/:caller',\r\n loadChildren: ()=> import('../pages/events/event-detail/event-detail.module').then(m => m.EventDetailPageModule),\r\n }\r\n ]\r\n },\r\n {\r\n path:'event-list',\r\n children: [\r\n {\r\n path:'',\r\n loadChildren: ()=> import('../pages/gabinete-digital/event-list/event-list.module').then(m => m.EventListPageModule)\r\n },\r\n ] \r\n },\r\n ]\r\n },\r\n {\r\n path: 'search',\r\n children: [\r\n {\r\n path:'',\r\n loadChildren: ()=> import('../pages/search/search.module').then(m => m.SearchPageModule)\r\n }\r\n ]\r\n },\r\n {\r\n path: 'publications',\r\n children: [\r\n {\r\n path:'',\r\n loadChildren: ()=> import('../pages/publications/publications.module').then(m => m.PublicationsPageModule)\r\n },\r\n {\r\n path:'view-publications',\r\n children: [\r\n {\r\n path:':folderId',\r\n loadChildren: ()=> import('../pages/publications/view-publications/view-publications.module').then(m => m.ViewPublicationsPageModule)\r\n },\r\n {\r\n path:'publication-detail',\r\n children: [\r\n {\r\n path: ':id',\r\n loadChildren: ()=> import('../pages/publications/view-publications/publication-detail/publication-detail.module').then(m => m.PublicationDetailPageModule)\r\n },\r\n ]\r\n \r\n },\r\n ] \r\n },\r\n ]\r\n },\r\n {\r\n path: 'chat',\r\n children: [\r\n {\r\n path:'',\r\n loadChildren: ()=> import('../pages/chat/chat.module').then(m => m.ChatPageModule)\r\n }\r\n ]\r\n },\r\n ]\r\n },\r\n {\r\n path: '',\r\n redirectTo: '/home/events',\r\n pathMatch: 'full'\r\n }\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule],\r\n})\r\nexport class HomePageRoutingModule {}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\n\r\nimport { IonicModule } from '@ionic/angular';\r\n\r\nimport { HomePageRoutingModule } from './home-routing.module';\r\n\r\nimport { HomePage } from './home.page';\r\n/* import { IonicSelectableModule } from 'ionic-selectable'; */\r\nimport { SharedModule } from 'src/app/shared/shared.module';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n IonicModule,\r\n HomePageRoutingModule,\r\n SharedModule\r\n ],\r\n declarations: [HomePage]\r\n})\r\nexport class HomePageModule {}\r\n","export default \"ion-tab-bar {\\n --background: #f9f9f9;\\n --color: #061b52;\\n}\\n\\nion-badge {\\n /* */\\n /* display: inline-block;*/\\n min-width: 18px;\\n font-size: 15px;\\n /* font-weight: $badge-font-weight;\\n line-height: 1;\\n\\n white-space: nowrap;\\n vertical-align: baseline; */\\n}\\n\\n.tab .bottoms {\\n display: flex;\\n justify-content: space-around;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvaG9tZS9DOlxcVXNlcnNcXGV1ZGVzLmluYWNpb1xcR2FiaW5ldC1EaWdpdGFsUHJvamVjdFxcTmV3IGZvbGRlclxcZ2FiaW5ldGUtZGlnaXRhbC9zcmNcXGFwcFxcaG9tZVxcaG9tZS5wYWdlLnNjc3MiLCJzcmMvYXBwL2hvbWUvaG9tZS5wYWdlLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0E7RUFDSSxxQkFBQTtFQUNBLGdCQUFBO0FDQUo7O0FEYUE7RUFBVyxLQUFBO0VBRVQsMEJBQUE7RUFFQSxlQUFBO0VBQ0EsZUFYZTtFQVlmOzs7OzZCQUFBO0FDUEY7O0FEZ0JFO0VBQ0UsYUFBQTtFQUNBLDZCQUFBO0FDYkoiLCJmaWxlIjoic3JjL2FwcC9ob21lL2hvbWUucGFnZS5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiXHJcbmlvbi10YWItYmFye1xyXG4gICAgLS1iYWNrZ3JvdW5kOiAjZjlmOWY5O1xyXG4gICAgLS1jb2xvcjogIzA2MWI1MjtcclxufVxyXG5cclxuLy8gQmFkZ2VcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbi8vLyBAcHJvcCAtIEZvbnQgc2l6ZSBvZiB0aGUgYmFkZ2VcclxuJGJhZGdlLWZvbnQtc2l6ZToxNXB4ICFkZWZhdWx0O1xyXG5cclxuLy8vIEBwcm9wIC0gRm9udCB3ZWlnaHQgb2YgdGhlIGJhZGdlXHJcbiRiYWRnZS1mb250LXdlaWdodDpib2xkICFkZWZhdWx0O1xyXG5cclxuXHJcbmlvbi1iYWRnZSB7LyogICovXHJcblxyXG4gIC8qIGRpc3BsYXk6IGlubGluZS1ibG9jazsqL1xyXG5cclxuICBtaW4td2lkdGg6IDE4cHg7IFxyXG4gIGZvbnQtc2l6ZTogJGJhZGdlLWZvbnQtc2l6ZTtcclxuICAvKiBmb250LXdlaWdodDogJGJhZGdlLWZvbnQtd2VpZ2h0O1xyXG4gIGxpbmUtaGVpZ2h0OiAxO1xyXG5cclxuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgKi9cclxufVxyXG5cclxuXHJcbi50YWJ7XHJcbiAgLmJvdHRvbXN7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XHJcbiAgfVxyXG59IiwiaW9uLXRhYi1iYXIge1xuICAtLWJhY2tncm91bmQ6ICNmOWY5Zjk7XG4gIC0tY29sb3I6ICMwNjFiNTI7XG59XG5cbmlvbi1iYWRnZSB7XG4gIC8qICAqL1xuICAvKiBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7Ki9cbiAgbWluLXdpZHRoOiAxOHB4O1xuICBmb250LXNpemU6IDE1cHg7XG4gIC8qIGZvbnQtd2VpZ2h0OiAkYmFkZ2UtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgKi9cbn1cblxuLnRhYiAuYm90dG9tcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xufSJdfQ== */\";","import { Component, OnInit } from '@angular/core';\r\nimport { EventsService } from '../services/events.service';\r\nimport { formatDate } from '@angular/common';\r\nimport { Event } from '../models/event.model';\r\nimport { ProcessesService } from '../services/processes.service';\r\n\r\nimport { Plugins, PushNotification,PushNotificationToken,PushNotificationActionPerformed} from '@capacitor/core';\r\n\r\nconst { PushNotifications } = Plugins;\r\n\r\n@Component({\r\n selector: 'app-home',\r\n templateUrl: './home.page.html',\r\n styleUrls: ['./home.page.scss'],\r\n})\r\nexport class HomePage implements OnInit {\r\n eventsList: Event[];\r\n prEventList: Event[];\r\n mdEventList: Event[];\r\n\r\n totalEvent=0;\r\n totalExpediente=0;\r\n profile:string;\r\n\r\n constructor(private eventService: EventsService, private processesbackend:ProcessesService) { }\r\n\r\n ngOnInit() {\r\n //Initialize profile as mdgpr\r\n this.profile = \"mdgpr\";\r\n if(this.profile == \"mdgpr\"){\r\n this.eventService.getAllMdEvents(formatDate(new Date(), 'yyyy-MM-dd HH:mm:ss', 'pt'), formatDate(new Date(), 'yyyy-MM-dd', 'pt') + ' 23:59:59').subscribe(res => {\r\n this.eventsList = res;\r\n this.totalEvent = this.eventsList.length;\r\n });\r\n }\r\n else{\r\n this.eventService.getAllPrEvents(formatDate(new Date(), 'yyyy-MM-dd HH:mm:ss', 'pt'), formatDate(new Date(), 'yyyy-MM-dd', 'pt') + ' 23:59:59').subscribe(res => {\r\n this.eventsList = res;\r\n this.totalEvent = this.eventsList.length;\r\n });\r\n\r\n }\r\n this.processesbackend.GetTasksList(\"Expediente\", true).subscribe(result =>{\r\n this.totalExpediente = result;\r\n });\r\n\r\n (PushNotifications as any).requestPermission().then(result => {\r\n PushNotifications.register();\r\n });\r\n \r\n PushNotifications.addListener(\r\n 'registration',\r\n (token: PushNotificationToken) => {\r\n alert('Push registration success, token: ' + token.value);\r\n console.log('FIREBASE: ', token.value)\r\n },\r\n );\r\n \r\n PushNotifications.addListener('registrationError', (error: any) => {\r\n alert('Error on registration: ' + JSON.stringify(error));\r\n });\r\n \r\n PushNotifications.addListener(\r\n 'pushNotificationReceived',\r\n (notification: PushNotification) => {\r\n alert('Push received: ' + JSON.stringify(notification));\r\n },\r\n );\r\n \r\n PushNotifications.addListener(\r\n 'pushNotificationActionPerformed',\r\n (notification: PushNotificationActionPerformed) => {\r\n alert('Push action performed: ' + JSON.stringify(notification));\r\n },\r\n );\r\n } \r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { AuthService } from '../services/auth.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class UserDataResolver{ \r\n constructor(private authService: AuthService){}\r\n\r\n resolve(){\r\n return this.authService.getUserData();\r\n }\r\n}"]} \ No newline at end of file +{"version":3,"sources":["webpack:///src/app/home/home.page.html","webpack:///src/app/home/home-routing.module.ts","webpack:///src/app/home/home.module.ts","webpack:///src/app/home/home.page.scss","webpack:///src/app/home/home.page.ts","webpack:///src/app/resolvers/userData.resolver.ts"],"names":["routes","path","component","resolve","userData","children","loadChildren","then","m","EventsPageModule","EventDetailPageModule","AttachmentsPageModule","AttendeesPageModule","LoginPageModule","AgendaPageModule","GabineteDigitalPageModule","ExpedientePageModule","ExpedienteDetailPageModule","EventListPageModule","SearchPageModule","PublicationsPageModule","ViewPublicationsPageModule","PublicationDetailPageModule","ChatPageModule","redirectTo","pathMatch","HomePageRoutingModule","imports","forChild","exports","HomePageModule","declarations","PushNotifications","HomePage","eventService","processesbackend","router","totalEvent","totalExpediente","profile","getAllMdEvents","Date","subscribe","res","eventsList","length","getAllPrEvents","GetTasksList","result","addListener","error","alert","JSON","stringify","notification","data","navigate","selector","template","UserDataResolver","authService","getUserData","providedIn"],"mappings":"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","file":"home-home-module-es5.js","sourcesContent":["export default \"\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{totalEvent}}\\r\\n Início\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Agenda\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{totalExpediente}}\\r\\n Gabinete\\r\\n \\r\\n \\r\\n \\r\\n Acções\\r\\n \\r\\n \\r\\n \\r\\n Pesquisa\\r\\n \\r\\n \\r\\n \\r\\n Chat\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\";","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\nimport { HomeGuard } from '../guards/home.guard';\r\nimport { UserDataResolver } from '../resolvers/userData.resolver';\r\n\r\nimport { HomePage } from './home.page';\r\n\r\nconst routes: Routes = [\r\n {\r\n path: 'home',\r\n component: HomePage,\r\n /* canActivate: [HomeGuard], */\r\n resolve: {\r\n userData: UserDataResolver\r\n },\r\n children: [\r\n {\r\n path: 'events',\r\n children: [\r\n {\r\n path:'',\r\n loadChildren: ()=> import('../pages/events/events.module').then(m => m.EventsPageModule)\r\n },\r\n {\r\n path:':eventId/:caller',\r\n loadChildren: ()=> import('../pages/events/event-detail/event-detail.module').then(m => m.EventDetailPageModule),\r\n },\r\n ]\r\n },\r\n {\r\n path: 'attachments',\r\n children: [\r\n {\r\n path:':eventId',\r\n loadChildren: ()=> import('../pages/events/attachments/attachments.module').then(m => m.AttachmentsPageModule)\r\n },\r\n\r\n ]\r\n },\r\n {\r\n path: 'attendees',\r\n children: [\r\n {\r\n path:'',\r\n loadChildren: ()=> import('../pages/events/attendees/attendees.module').then(m => m.AttendeesPageModule)\r\n },\r\n ]\r\n },\r\n {\r\n path: 'login',\r\n children: [\r\n {\r\n path:'',\r\n loadChildren: ()=> import('../pages/login/login.module').then(m => m.LoginPageModule)\r\n },\r\n ]\r\n },\r\n {\r\n path: 'agenda',\r\n children: [\r\n {\r\n path:'',\r\n loadChildren: ()=> import('../pages/agenda/agenda.module').then(m => m.AgendaPageModule)\r\n },\r\n {\r\n path:':eventId/:caller',\r\n loadChildren: ()=> import('../pages/events/event-detail/event-detail.module').then(m => m.EventDetailPageModule),\r\n }\r\n ]\r\n },\r\n {\r\n path: 'gabinete-digital',\r\n children: [\r\n {\r\n path:'',\r\n loadChildren: ()=> import('../pages/gabinete-digital/gabinete-digital.module').then(m => m.GabineteDigitalPageModule)\r\n },\r\n {\r\n path:'expediente',\r\n children: [\r\n {\r\n path:'',\r\n loadChildren: ()=> import('../pages/gabinete-digital/expediente/expediente.module').then(m => m.ExpedientePageModule)\r\n },\r\n {\r\n path:':SerialNumber',\r\n loadChildren: ()=> import('../pages/gabinete-digital/expediente/expediente-detail/expediente-detail.module').then(m => m.ExpedienteDetailPageModule)\r\n },\r\n {\r\n path:'events/:eventId/:caller',\r\n loadChildren: ()=> import('../pages/events/event-detail/event-detail.module').then(m => m.EventDetailPageModule),\r\n }\r\n ]\r\n },\r\n {\r\n path:'event-list',\r\n children: [\r\n {\r\n path:'',\r\n loadChildren: ()=> import('../pages/gabinete-digital/event-list/event-list.module').then(m => m.EventListPageModule)\r\n },\r\n ] \r\n },\r\n ]\r\n },\r\n {\r\n path: 'search',\r\n children: [\r\n {\r\n path:'',\r\n loadChildren: ()=> import('../pages/search/search.module').then(m => m.SearchPageModule)\r\n }\r\n ]\r\n },\r\n {\r\n path: 'publications',\r\n children: [\r\n {\r\n path:'',\r\n loadChildren: ()=> import('../pages/publications/publications.module').then(m => m.PublicationsPageModule)\r\n },\r\n {\r\n path:'view-publications',\r\n children: [\r\n {\r\n path:':folderId',\r\n loadChildren: ()=> import('../pages/publications/view-publications/view-publications.module').then(m => m.ViewPublicationsPageModule)\r\n },\r\n {\r\n path:'publication-detail',\r\n children: [\r\n {\r\n path: ':id',\r\n loadChildren: ()=> import('../pages/publications/view-publications/publication-detail/publication-detail.module').then(m => m.PublicationDetailPageModule)\r\n },\r\n ]\r\n \r\n },\r\n ] \r\n },\r\n ]\r\n },\r\n {\r\n path: 'chat',\r\n children: [\r\n {\r\n path:'',\r\n loadChildren: ()=> import('../pages/chat/chat.module').then(m => m.ChatPageModule)\r\n }\r\n ]\r\n },\r\n ]\r\n },\r\n {\r\n path: '',\r\n redirectTo: '/home/events',\r\n pathMatch: 'full'\r\n }\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule],\r\n})\r\nexport class HomePageRoutingModule {}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\n\r\nimport { IonicModule } from '@ionic/angular';\r\n\r\nimport { HomePageRoutingModule } from './home-routing.module';\r\n\r\nimport { HomePage } from './home.page';\r\n/* import { IonicSelectableModule } from 'ionic-selectable'; */\r\nimport { SharedModule } from 'src/app/shared/shared.module';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n IonicModule,\r\n HomePageRoutingModule,\r\n SharedModule\r\n ],\r\n declarations: [HomePage]\r\n})\r\nexport class HomePageModule {}\r\n","export default \"ion-tab-bar {\\n --background: #f9f9f9;\\n --color: #061b52;\\n}\\n\\nion-badge {\\n /* */\\n /* display: inline-block;*/\\n min-width: 18px;\\n font-size: 15px;\\n /* font-weight: $badge-font-weight;\\n line-height: 1;\\n\\n white-space: nowrap;\\n vertical-align: baseline; */\\n}\\n\\n.tab .bottoms {\\n display: flex;\\n justify-content: space-around;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvaG9tZS9DOlxcVXNlcnNcXGV1ZGVzLmluYWNpb1xcR2FiaW5ldC1EaWdpdGFsUHJvamVjdFxcTmV3IGZvbGRlclxcZ2FiaW5ldGUtZGlnaXRhbC9zcmNcXGFwcFxcaG9tZVxcaG9tZS5wYWdlLnNjc3MiLCJzcmMvYXBwL2hvbWUvaG9tZS5wYWdlLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0E7RUFDSSxxQkFBQTtFQUNBLGdCQUFBO0FDQUo7O0FEYUE7RUFBVyxLQUFBO0VBRVQsMEJBQUE7RUFFQSxlQUFBO0VBQ0EsZUFYZTtFQVlmOzs7OzZCQUFBO0FDUEY7O0FEZ0JFO0VBQ0UsYUFBQTtFQUNBLDZCQUFBO0FDYkoiLCJmaWxlIjoic3JjL2FwcC9ob21lL2hvbWUucGFnZS5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiXHJcbmlvbi10YWItYmFye1xyXG4gICAgLS1iYWNrZ3JvdW5kOiAjZjlmOWY5O1xyXG4gICAgLS1jb2xvcjogIzA2MWI1MjtcclxufVxyXG5cclxuLy8gQmFkZ2VcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbi8vLyBAcHJvcCAtIEZvbnQgc2l6ZSBvZiB0aGUgYmFkZ2VcclxuJGJhZGdlLWZvbnQtc2l6ZToxNXB4ICFkZWZhdWx0O1xyXG5cclxuLy8vIEBwcm9wIC0gRm9udCB3ZWlnaHQgb2YgdGhlIGJhZGdlXHJcbiRiYWRnZS1mb250LXdlaWdodDpib2xkICFkZWZhdWx0O1xyXG5cclxuXHJcbmlvbi1iYWRnZSB7LyogICovXHJcblxyXG4gIC8qIGRpc3BsYXk6IGlubGluZS1ibG9jazsqL1xyXG5cclxuICBtaW4td2lkdGg6IDE4cHg7IFxyXG4gIGZvbnQtc2l6ZTogJGJhZGdlLWZvbnQtc2l6ZTtcclxuICAvKiBmb250LXdlaWdodDogJGJhZGdlLWZvbnQtd2VpZ2h0O1xyXG4gIGxpbmUtaGVpZ2h0OiAxO1xyXG5cclxuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgKi9cclxufVxyXG5cclxuXHJcbi50YWJ7XHJcbiAgLmJvdHRvbXN7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XHJcbiAgfVxyXG59IiwiaW9uLXRhYi1iYXIge1xuICAtLWJhY2tncm91bmQ6ICNmOWY5Zjk7XG4gIC0tY29sb3I6ICMwNjFiNTI7XG59XG5cbmlvbi1iYWRnZSB7XG4gIC8qICAqL1xuICAvKiBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7Ki9cbiAgbWluLXdpZHRoOiAxOHB4O1xuICBmb250LXNpemU6IDE1cHg7XG4gIC8qIGZvbnQtd2VpZ2h0OiAkYmFkZ2UtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgKi9cbn1cblxuLnRhYiAuYm90dG9tcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xufSJdfQ== */\";","import { Component, OnInit } from '@angular/core';\r\nimport { EventsService } from '../services/events.service';\r\nimport { formatDate } from '@angular/common';\r\nimport { Event } from '../models/event.model';\r\nimport { ProcessesService } from '../services/processes.service';\r\nimport { StorageService } from 'src/app/services/storage.service';\r\n\r\nimport { Plugins, PushNotification,PushNotificationToken,PushNotificationActionPerformed} from '@capacitor/core';\r\nimport { Router } from '@angular/router';\r\n\r\nconst { PushNotifications } = Plugins;\r\n\r\n@Component({\r\n selector: 'app-home',\r\n templateUrl: './home.page.html',\r\n styleUrls: ['./home.page.scss'],\r\n})\r\nexport class HomePage implements OnInit {\r\n eventsList: Event[];\r\n prEventList: Event[];\r\n mdEventList: Event[];\r\n\r\n totalEvent=0;\r\n totalExpediente=0;\r\n profile:string;\r\n\r\n constructor(private eventService: EventsService, private processesbackend:ProcessesService,private router: Router, ) { }\r\n\r\n ngOnInit() {\r\n //Initialize profile as mdgpr\r\n this.profile = \"mdgpr\";\r\n if(this.profile == \"mdgpr\"){\r\n this.eventService.getAllMdEvents(formatDate(new Date(), 'yyyy-MM-dd HH:mm:ss', 'pt'), formatDate(new Date(), 'yyyy-MM-dd', 'pt') + ' 23:59:59').subscribe(res => {\r\n this.eventsList = res;\r\n this.totalEvent = this.eventsList.length;\r\n });\r\n }\r\n else{\r\n this.eventService.getAllPrEvents(formatDate(new Date(), 'yyyy-MM-dd HH:mm:ss', 'pt'), formatDate(new Date(), 'yyyy-MM-dd', 'pt') + ' 23:59:59').subscribe(res => {\r\n this.eventsList = res;\r\n this.totalEvent = this.eventsList.length;\r\n });\r\n\r\n }\r\n this.processesbackend.GetTasksList(\"Expediente\", true).subscribe(result =>{\r\n this.totalExpediente = result;\r\n });\r\n/*\r\n (PushNotifications as any).requestPermission().then(result => {\r\n PushNotifications.register();\r\n });\r\n\r\n PushNotifications.addListener(\r\n 'registration',\r\n (token: PushNotificationToken) => {\r\n alert('Push registration success, token: ' + token.value);\r\n console.log('FIREBASE: ', token.value)\r\n this.storageService.store(this.username,token.value);\r\n },\r\n );\r\n\r\n console.log(this.storageService.get(this.username)) */\r\n \r\n PushNotifications.addListener('registrationError', (error: any) => {\r\n alert('Error on registration: ' + JSON.stringify(error));\r\n });\r\n \r\n PushNotifications.addListener(\r\n 'pushNotificationReceived',\r\n (notification: PushNotification) => {\r\n alert('Push received: ' + JSON.stringify(notification));\r\n },\r\n );\r\n \r\n PushNotifications.addListener(\r\n 'pushNotificationActionPerformed',\r\n (notification: PushNotificationActionPerformed) => {\r\n alert('Push action performed: ' + JSON.stringify(notification.notification.data));\r\n this.router.navigate(['/home/events']);\r\n },\r\n );\r\n } \r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { AuthService } from '../services/auth.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class UserDataResolver{ \r\n constructor(private authService: AuthService){}\r\n\r\n resolve(){\r\n return this.authService.getUserData();\r\n }\r\n}"]} \ No newline at end of file diff --git a/android/app/src/main/assets/public/pages-login-login-module-es2015.js b/android/app/src/main/assets/public/pages-login-login-module-es2015.js index 83fc58476..309e81501 100644 --- a/android/app/src/main/assets/public/pages-login-login-module-es2015.js +++ b/android/app/src/main/assets/public/pages-login-login-module-es2015.js @@ -125,6 +125,7 @@ __webpack_require__.r(__webpack_exports__); /* harmony import */ var _ionic_angular__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @ionic/angular */ "./node_modules/@ionic/angular/__ivy_ngcc__/fesm2015/ionic-angular.js"); /* harmony import */ var src_app_services_storage_service__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! src/app/services/storage.service */ "./src/app/services/storage.service.ts"); /* harmony import */ var src_app_services_photo_service__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! src/app/services/photo.service */ "./src/app/services/photo.service.ts"); +/* harmony import */ var _capacitor_core__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @capacitor/core */ "./node_modules/@capacitor/core/dist/esm/index.js"); @@ -134,6 +135,8 @@ __webpack_require__.r(__webpack_exports__); + +const { PushNotifications } = _capacitor_core__WEBPACK_IMPORTED_MODULE_9__["Plugins"]; let LoginPage = class LoginPage { constructor(router, authService, storageService, toastService, photoService, alertController) { this.router = router; @@ -173,6 +176,19 @@ let LoginPage = class LoginPage { console.log('Network error'); }); } */ + storeUserIdANdToken() { + PushNotifications.requestPermission().then(result => { + PushNotifications.register(); + }); + PushNotifications.addListener('registration', (token) => { + console.log('FIREBASE TOKEN', token.value); + this.storageService.store(this.username, token.value); + this.storageService.get(this.username).then(value => { + console.log('STORAGE TOKEN', value); + }); + }); + } + ; Login() { return Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__awaiter"])(this, void 0, void 0, function* () { /* try { */ @@ -187,6 +203,7 @@ let LoginPage = class LoginPage { }; if (yield this.authService.login(this.userattempt)) { /* this.loginRocketChat(); */ + this.storeUserIdANdToken(); this.router.navigate(['/home/events']); } else { diff --git a/android/app/src/main/assets/public/pages-login-login-module-es2015.js.map b/android/app/src/main/assets/public/pages-login-login-module-es2015.js.map index 45848085a..ea92a9c7e 100644 --- a/android/app/src/main/assets/public/pages-login-login-module-es2015.js.map +++ b/android/app/src/main/assets/public/pages-login-login-module-es2015.js.map @@ -1 +1 @@ -{"version":3,"sources":["./src/app/pages/login/login.page.html","./src/app/pages/login/login-routing.module.ts","./src/app/pages/login/login.module.ts","./src/app/pages/login/login.page.scss","./src/app/pages/login/login.page.ts","./src/app/services/photo.service.ts","./src/app/services/toast.service.ts"],"names":[],"mappings":"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","file":"pages-login-login-module-es2015.js","sourcesContent":["export default \"\\r\\n
\\r\\n
\\r\\n logo\\r\\n
\\r\\n

Inicie a sessão

\\r\\n
\\r\\n

Nome de utilizador

\\r\\n \\r\\n \\r\\n \\r\\n

Palavra-passe

\\r\\n \\r\\n \\r\\n \\r\\n Iniciar\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\";","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\n\r\nimport { LoginPage } from './login.page';\r\n\r\nconst routes: Routes = [\r\n {\r\n path: '',\r\n component: LoginPage\r\n }\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule],\r\n})\r\nexport class LoginPageRoutingModule {}\r\n","import { NgModule, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\n\r\nimport { IonicModule } from '@ionic/angular';\r\n\r\nimport { LoginPageRoutingModule } from './login-routing.module';\r\n\r\nimport { LoginPage } from './login.page';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n IonicModule,\r\n LoginPageRoutingModule\r\n ],\r\n declarations: [LoginPage],\r\n schemas: [CUSTOM_ELEMENTS_SCHEMA]\r\n})\r\nexport class LoginPageModule {}\r\n","export default \".wrapper {\\n margin: 0 auto;\\n}\\n\\n.div-logo {\\n width: 200px;\\n margin: 0 auto;\\n padding-bottom: 15px;\\n}\\n\\n.div-logo img {\\n width: 100%;\\n}\\n\\n.wrapper ion-input {\\n font-size: 18px;\\n}\\n\\n.wrapper ion-button {\\n font-size: medium;\\n margin-top: 18px;\\n}\\n\\nion-item {\\n --background: transparent;\\n}\\n\\n.form {\\n width: 300px;\\n overflow: auto;\\n margin: 0 auto;\\n}\\n\\n.form-label {\\n margin: 15px 0 5px 0;\\n font-size: 15px;\\n}\\n\\n.form-input {\\n --background: #fff;\\n /* --color:#fff; */\\n border-radius: 10px;\\n margin: 5px 0 5px 0;\\n}\\n\\n.btn-ok-login {\\n width: 160px !important;\\n height: 45px !important;\\n margin: 15px auto;\\n padding: 10px 15px;\\n border-radius: 22.5px;\\n background-color: #42b9fe;\\n color: #ffffff !important;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvcGFnZXMvbG9naW4vQzpcXFVzZXJzXFxldWRlcy5pbmFjaW9cXEdhYmluZXQtRGlnaXRhbFByb2plY3RcXE5ldyBmb2xkZXJcXGdhYmluZXRlLWRpZ2l0YWwvc3JjXFxhcHBcXHBhZ2VzXFxsb2dpblxcbG9naW4ucGFnZS5zY3NzIiwic3JjL2FwcC9wYWdlcy9sb2dpbi9sb2dpbi5wYWdlLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDSSxjQUFBO0FDQ0o7O0FEQ0E7RUFDSSxZQUFBO0VBQ0EsY0FBQTtFQUNBLG9CQUFBO0FDRUo7O0FEQUE7RUFDSSxXQUFBO0FDR0o7O0FEREE7RUFDSSxlQUFBO0FDSUo7O0FERkE7RUFDSSxpQkFBQTtFQUNBLGdCQUFBO0FDS0o7O0FESEE7RUFDSSx5QkFBQTtBQ01KOztBREpBO0VBQ0ksWUFBQTtFQUNBLGNBQUE7RUFDQSxjQUFBO0FDT0o7O0FETEE7RUFDSSxvQkFBQTtFQUNBLGVBQUE7QUNRSjs7QUROQTtFQUNJLGtCQUFBO0VBQ0Esa0JBQUE7RUFDQSxtQkFBQTtFQUNBLG1CQUFBO0FDU0o7O0FEUEE7RUFDSSx1QkFBQTtFQUNBLHVCQUFBO0VBQ0EsaUJBQUE7RUFDQSxrQkFBQTtFQUNBLHFCQUFBO0VBQ0EseUJBQUE7RUFDQSx5QkFBQTtBQ1VKIiwiZmlsZSI6InNyYy9hcHAvcGFnZXMvbG9naW4vbG9naW4ucGFnZS5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLndyYXBwZXJ7XHJcbiAgICBtYXJnaW46IDAgYXV0bztcclxufVxyXG4uZGl2LWxvZ297XHJcbiAgICB3aWR0aDogMjAwcHg7XHJcbiAgICBtYXJnaW46ICAwIGF1dG87XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogMTVweDtcclxufVxyXG4uZGl2LWxvZ28gaW1ne1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbn1cclxuLndyYXBwZXIgaW9uLWlucHV0e1xyXG4gICAgZm9udC1zaXplOiAxOHB4O1xyXG59XHJcbi53cmFwcGVyIGlvbi1idXR0b257XHJcbiAgICBmb250LXNpemU6IG1lZGl1bTtcclxuICAgIG1hcmdpbi10b3A6IDE4cHg7XHJcbn1cclxuaW9uLWl0ZW17XHJcbiAgICAtLWJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG59XHJcbi5mb3Jte1xyXG4gICAgd2lkdGg6IDMwMHB4O1xyXG4gICAgb3ZlcmZsb3c6IGF1dG87XHJcbiAgICBtYXJnaW46IDAgYXV0bztcclxufVxyXG4uZm9ybS1sYWJlbHtcclxuICAgIG1hcmdpbjogMTVweCAwIDVweCAwO1xyXG4gICAgZm9udC1zaXplOiAxNXB4O1xyXG59XHJcbi5mb3JtLWlucHV0eyBcclxuICAgIC0tYmFja2dyb3VuZDogI2ZmZjtcclxuICAgIC8qIC0tY29sb3I6I2ZmZjsgKi9cclxuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XHJcbiAgICBtYXJnaW46IDVweCAwIDVweCAwO1xyXG59XHJcbi5idG4tb2stbG9naW57XHJcbiAgICB3aWR0aDogMTYwcHggIWltcG9ydGFudDtcclxuICAgIGhlaWdodDogNDVweCAhaW1wb3J0YW50O1xyXG4gICAgbWFyZ2luOiAxNXB4IGF1dG87XHJcbiAgICBwYWRkaW5nOiAxMHB4IDE1cHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiAyMi41cHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDJiOWZlO1xyXG4gICAgY29sb3I6ICNmZmZmZmYgIWltcG9ydGFudDtcclxuICB9IiwiLndyYXBwZXIge1xuICBtYXJnaW46IDAgYXV0bztcbn1cblxuLmRpdi1sb2dvIHtcbiAgd2lkdGg6IDIwMHB4O1xuICBtYXJnaW46IDAgYXV0bztcbiAgcGFkZGluZy1ib3R0b206IDE1cHg7XG59XG5cbi5kaXYtbG9nbyBpbWcge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLndyYXBwZXIgaW9uLWlucHV0IHtcbiAgZm9udC1zaXplOiAxOHB4O1xufVxuXG4ud3JhcHBlciBpb24tYnV0dG9uIHtcbiAgZm9udC1zaXplOiBtZWRpdW07XG4gIG1hcmdpbi10b3A6IDE4cHg7XG59XG5cbmlvbi1pdGVtIHtcbiAgLS1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cblxuLmZvcm0ge1xuICB3aWR0aDogMzAwcHg7XG4gIG92ZXJmbG93OiBhdXRvO1xuICBtYXJnaW46IDAgYXV0bztcbn1cblxuLmZvcm0tbGFiZWwge1xuICBtYXJnaW46IDE1cHggMCA1cHggMDtcbiAgZm9udC1zaXplOiAxNXB4O1xufVxuXG4uZm9ybS1pbnB1dCB7XG4gIC0tYmFja2dyb3VuZDogI2ZmZjtcbiAgLyogLS1jb2xvcjojZmZmOyAqL1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICBtYXJnaW46IDVweCAwIDVweCAwO1xufVxuXG4uYnRuLW9rLWxvZ2luIHtcbiAgd2lkdGg6IDE2MHB4ICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogNDVweCAhaW1wb3J0YW50O1xuICBtYXJnaW46IDE1cHggYXV0bztcbiAgcGFkZGluZzogMTBweCAxNXB4O1xuICBib3JkZXItcmFkaXVzOiAyMi41cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0MmI5ZmU7XG4gIGNvbG9yOiAjZmZmZmZmICFpbXBvcnRhbnQ7XG59Il19 */\";","import { Component, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { AuthService } from 'src/app/services/auth.service';\r\nimport { User } from 'src/app/models/user.model';\r\nimport { ToastService } from 'src/app/services/toast.service';\r\nimport { environment } from 'src/environments/environment';\r\nimport { AlertController } from '@ionic/angular';\r\nimport { StorageService } from 'src/app/services/storage.service';\r\nimport { AuthConnstants } from 'src/app/config/auth-constants';\r\nimport { PhotoService } from 'src/app/services/photo.service';\r\n\r\n\r\n@Component({\r\n selector: 'app-login',\r\n templateUrl: './login.page.html',\r\n styleUrls: ['./login.page.scss'],\r\n})\r\nexport class LoginPage implements OnInit {\r\n\r\n logstatus: boolean;\r\n username: string = environment.defaultuser;\r\n password: string = environment.defaultuserpwd;\r\n userattempt: User;\r\n\r\n public body = {\"user\": this.username,\"password\": this.password};\r\n public postData = {\"user\": this.username,\"password\": this.password};\r\n\r\n constructor(\r\n private router: Router, \r\n private authService: AuthService,\r\n private storageService: StorageService,\r\n private toastService: ToastService,\r\n private photoService: PhotoService,\r\n public alertController: AlertController) { }\r\n\r\n ngOnInit() {\r\n \r\n }\r\n //Function to validade the login inputs\r\n validateInput(){\r\n return (\r\n this.username.trim().length > 0 \r\n && this.password.trim().length > 0\r\n );\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 /* loginRocketChat(){\r\n this.authService.loginChat(this.postData).subscribe((res: any) =>{\r\n this.storageService.store(AuthConnstants.AUTH, res.data);\r\n console.log('Login to Rocket chat OK');\r\n },(error:any) =>{\r\n console.log('Network error');\r\n });\r\n } */\r\n \r\n\r\n \r\n async Login(){\r\n /* try { */\r\n //Go to our home in home/feed.\r\n //this.router.navigate(['/home/events']);\r\n if(this.validateInput()){\r\n this.userattempt = {\r\n username: this.username,\r\n password: this.password,\r\n domainName: environment.domain,\r\n BasicAuthKey: \"\"\r\n }\r\n if (await this.authService.login(this.userattempt)){\r\n /* this.loginRocketChat(); */\r\n this.router.navigate(['/home/events']);\r\n }\r\n else\r\n { \r\n //this.toastService.presentToast('Não foi possível fazer login\"');\r\n this.presentAlert('O nome de utilizador e palavra-passe estão incorretas ou verifique a sua conexão com a internet e volte a tentar.'); \r\n } \r\n }\r\n else{\r\n //this.toastService.presentToast('Preencha todos campos');\r\n this.presentAlert('Por favor, insira o seu nome de utilizador e palavra-passe.');\r\n } \r\n /* } catch (error) {\r\n error\r\n this.presentAlert('Ocorreu um erro ao fazer login. Contacte o administrador de sistema. '+ error);\r\n } */\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\n/* import { Plugins, CameraResultType, Capacitor, FilesystemDirectory, CameraPhoto, CameraSource } from '@capacitor/core'; */\r\nimport { Photo } from '../models/photo';\r\nimport { Platform } from '@ionic/angular';\r\nimport { Camera, CameraOptions } from '@ionic-native/camera/ngx';\r\n\r\n /* const { Camera, Filesystem, Storage } = Plugins; */\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class PhotoService {\r\n public photos: Photo[] = [];\r\n private PHOTO_STORAGE: string = \"photos\";\r\n private platform: Platform;\r\n\r\n constructor(platform: Platform,\r\n private camera:Camera) {\r\n this.platform = platform;\r\n }\r\n\r\n async takePicture(){\r\n const options: CameraOptions = {\r\n quality: 100,\r\n destinationType: this.camera.DestinationType.FILE_URI,\r\n encodingType: this.camera.EncodingType.JPEG,\r\n mediaType: this.camera.MediaType.PICTURE\r\n }\r\n\r\n \r\n \r\n this.camera.getPicture(options).then((imageData) => {\r\n // imageData is either a base64 encoded string or a file URI\r\n // If it's base64 (DATA_URL):\r\n let base64Image = 'data:image/jpeg;base64,' + imageData;\r\n return base64Image;\r\n }, (err) => {\r\n // Handle error\r\n });\r\n\r\n }\r\n\r\n\r\n /* async addNewToGallery() {\r\n // Take a photo using Capacitor\r\n const capturedPhoto = await Camera.getPhoto({\r\n resultType: CameraResultType.Base64, \r\n source: CameraSource.Camera, \r\n quality: 90,\r\n width: 1080,\r\n height: 720,\r\n });\r\n \r\n this.photos.unshift({\r\n fileName: new Date().getTime() + '.png',\r\n webviewPath: capturedPhoto.base64String,\r\n fileFormat: capturedPhoto.format,\r\n });\r\n\r\n console.log(capturedPhoto);\r\n \r\n \r\n console.log(this.photos[0]);\r\n \r\n } */\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { ToastController } from '@ionic/angular';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ToastService {\r\n\r\n constructor(public toastController: ToastController) { }\r\n\r\n async presentToast(infoMessage: string) {\r\n const toast = await this.toastController.create({\r\n message: infoMessage,\r\n duration: 2000\r\n });\r\n toast.present();\r\n }\r\n\r\n}\r\n"],"sourceRoot":"webpack:///"} \ No newline at end of file +{"version":3,"sources":["./src/app/pages/login/login.page.html","./src/app/pages/login/login-routing.module.ts","./src/app/pages/login/login.module.ts","./src/app/pages/login/login.page.scss","./src/app/pages/login/login.page.ts","./src/app/services/photo.service.ts","./src/app/services/toast.service.ts"],"names":[],"mappings":"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","file":"pages-login-login-module-es2015.js","sourcesContent":["export default \"\\r\\n
\\r\\n
\\r\\n logo\\r\\n
\\r\\n

Inicie a sessão

\\r\\n
\\r\\n

Nome de utilizador

\\r\\n \\r\\n \\r\\n \\r\\n

Palavra-passe

\\r\\n \\r\\n \\r\\n \\r\\n Iniciar\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\";","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\n\r\nimport { LoginPage } from './login.page';\r\n\r\nconst routes: Routes = [\r\n {\r\n path: '',\r\n component: LoginPage\r\n }\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule],\r\n})\r\nexport class LoginPageRoutingModule {}\r\n","import { NgModule, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\n\r\nimport { IonicModule } from '@ionic/angular';\r\n\r\nimport { LoginPageRoutingModule } from './login-routing.module';\r\n\r\nimport { LoginPage } from './login.page';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n IonicModule,\r\n LoginPageRoutingModule\r\n ],\r\n declarations: [LoginPage],\r\n schemas: [CUSTOM_ELEMENTS_SCHEMA]\r\n})\r\nexport class LoginPageModule {}\r\n","export default \".wrapper {\\n margin: 0 auto;\\n}\\n\\n.div-logo {\\n width: 200px;\\n margin: 0 auto;\\n padding-bottom: 15px;\\n}\\n\\n.div-logo img {\\n width: 100%;\\n}\\n\\n.wrapper ion-input {\\n font-size: 18px;\\n}\\n\\n.wrapper ion-button {\\n font-size: medium;\\n margin-top: 18px;\\n}\\n\\nion-item {\\n --background: transparent;\\n}\\n\\n.form {\\n width: 300px;\\n overflow: auto;\\n margin: 0 auto;\\n}\\n\\n.form-label {\\n margin: 15px 0 5px 0;\\n font-size: 15px;\\n}\\n\\n.form-input {\\n --background: #fff;\\n /* --color:#fff; */\\n border-radius: 10px;\\n margin: 5px 0 5px 0;\\n}\\n\\n.btn-ok-login {\\n width: 160px !important;\\n height: 45px !important;\\n margin: 15px auto;\\n padding: 10px 15px;\\n border-radius: 22.5px;\\n background-color: #42b9fe;\\n color: #ffffff !important;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvcGFnZXMvbG9naW4vQzpcXFVzZXJzXFxldWRlcy5pbmFjaW9cXEdhYmluZXQtRGlnaXRhbFByb2plY3RcXE5ldyBmb2xkZXJcXGdhYmluZXRlLWRpZ2l0YWwvc3JjXFxhcHBcXHBhZ2VzXFxsb2dpblxcbG9naW4ucGFnZS5zY3NzIiwic3JjL2FwcC9wYWdlcy9sb2dpbi9sb2dpbi5wYWdlLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDSSxjQUFBO0FDQ0o7O0FEQ0E7RUFDSSxZQUFBO0VBQ0EsY0FBQTtFQUNBLG9CQUFBO0FDRUo7O0FEQUE7RUFDSSxXQUFBO0FDR0o7O0FEREE7RUFDSSxlQUFBO0FDSUo7O0FERkE7RUFDSSxpQkFBQTtFQUNBLGdCQUFBO0FDS0o7O0FESEE7RUFDSSx5QkFBQTtBQ01KOztBREpBO0VBQ0ksWUFBQTtFQUNBLGNBQUE7RUFDQSxjQUFBO0FDT0o7O0FETEE7RUFDSSxvQkFBQTtFQUNBLGVBQUE7QUNRSjs7QUROQTtFQUNJLGtCQUFBO0VBQ0Esa0JBQUE7RUFDQSxtQkFBQTtFQUNBLG1CQUFBO0FDU0o7O0FEUEE7RUFDSSx1QkFBQTtFQUNBLHVCQUFBO0VBQ0EsaUJBQUE7RUFDQSxrQkFBQTtFQUNBLHFCQUFBO0VBQ0EseUJBQUE7RUFDQSx5QkFBQTtBQ1VKIiwiZmlsZSI6InNyYy9hcHAvcGFnZXMvbG9naW4vbG9naW4ucGFnZS5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLndyYXBwZXJ7XHJcbiAgICBtYXJnaW46IDAgYXV0bztcclxufVxyXG4uZGl2LWxvZ297XHJcbiAgICB3aWR0aDogMjAwcHg7XHJcbiAgICBtYXJnaW46ICAwIGF1dG87XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogMTVweDtcclxufVxyXG4uZGl2LWxvZ28gaW1ne1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbn1cclxuLndyYXBwZXIgaW9uLWlucHV0e1xyXG4gICAgZm9udC1zaXplOiAxOHB4O1xyXG59XHJcbi53cmFwcGVyIGlvbi1idXR0b257XHJcbiAgICBmb250LXNpemU6IG1lZGl1bTtcclxuICAgIG1hcmdpbi10b3A6IDE4cHg7XHJcbn1cclxuaW9uLWl0ZW17XHJcbiAgICAtLWJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG59XHJcbi5mb3Jte1xyXG4gICAgd2lkdGg6IDMwMHB4O1xyXG4gICAgb3ZlcmZsb3c6IGF1dG87XHJcbiAgICBtYXJnaW46IDAgYXV0bztcclxufVxyXG4uZm9ybS1sYWJlbHtcclxuICAgIG1hcmdpbjogMTVweCAwIDVweCAwO1xyXG4gICAgZm9udC1zaXplOiAxNXB4O1xyXG59XHJcbi5mb3JtLWlucHV0eyBcclxuICAgIC0tYmFja2dyb3VuZDogI2ZmZjtcclxuICAgIC8qIC0tY29sb3I6I2ZmZjsgKi9cclxuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XHJcbiAgICBtYXJnaW46IDVweCAwIDVweCAwO1xyXG59XHJcbi5idG4tb2stbG9naW57XHJcbiAgICB3aWR0aDogMTYwcHggIWltcG9ydGFudDtcclxuICAgIGhlaWdodDogNDVweCAhaW1wb3J0YW50O1xyXG4gICAgbWFyZ2luOiAxNXB4IGF1dG87XHJcbiAgICBwYWRkaW5nOiAxMHB4IDE1cHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiAyMi41cHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDJiOWZlO1xyXG4gICAgY29sb3I6ICNmZmZmZmYgIWltcG9ydGFudDtcclxuICB9IiwiLndyYXBwZXIge1xuICBtYXJnaW46IDAgYXV0bztcbn1cblxuLmRpdi1sb2dvIHtcbiAgd2lkdGg6IDIwMHB4O1xuICBtYXJnaW46IDAgYXV0bztcbiAgcGFkZGluZy1ib3R0b206IDE1cHg7XG59XG5cbi5kaXYtbG9nbyBpbWcge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLndyYXBwZXIgaW9uLWlucHV0IHtcbiAgZm9udC1zaXplOiAxOHB4O1xufVxuXG4ud3JhcHBlciBpb24tYnV0dG9uIHtcbiAgZm9udC1zaXplOiBtZWRpdW07XG4gIG1hcmdpbi10b3A6IDE4cHg7XG59XG5cbmlvbi1pdGVtIHtcbiAgLS1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cblxuLmZvcm0ge1xuICB3aWR0aDogMzAwcHg7XG4gIG92ZXJmbG93OiBhdXRvO1xuICBtYXJnaW46IDAgYXV0bztcbn1cblxuLmZvcm0tbGFiZWwge1xuICBtYXJnaW46IDE1cHggMCA1cHggMDtcbiAgZm9udC1zaXplOiAxNXB4O1xufVxuXG4uZm9ybS1pbnB1dCB7XG4gIC0tYmFja2dyb3VuZDogI2ZmZjtcbiAgLyogLS1jb2xvcjojZmZmOyAqL1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICBtYXJnaW46IDVweCAwIDVweCAwO1xufVxuXG4uYnRuLW9rLWxvZ2luIHtcbiAgd2lkdGg6IDE2MHB4ICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogNDVweCAhaW1wb3J0YW50O1xuICBtYXJnaW46IDE1cHggYXV0bztcbiAgcGFkZGluZzogMTBweCAxNXB4O1xuICBib3JkZXItcmFkaXVzOiAyMi41cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0MmI5ZmU7XG4gIGNvbG9yOiAjZmZmZmZmICFpbXBvcnRhbnQ7XG59Il19 */\";","import { Component, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { AuthService } from 'src/app/services/auth.service';\r\nimport { User } from 'src/app/models/user.model';\r\nimport { ToastService } from 'src/app/services/toast.service';\r\nimport { environment } from 'src/environments/environment';\r\nimport { AlertController } from '@ionic/angular';\r\nimport { StorageService } from 'src/app/services/storage.service';\r\nimport { AuthConnstants } from 'src/app/config/auth-constants';\r\nimport { PhotoService } from 'src/app/services/photo.service';\r\n\r\nimport { Plugins, PushNotification, PushNotificationToken, PushNotificationActionPerformed } from '@capacitor/core';\r\n\r\nconst { PushNotifications } = Plugins;\r\n\r\n\r\n\r\n@Component({\r\n selector: 'app-login',\r\n templateUrl: './login.page.html',\r\n styleUrls: ['./login.page.scss'],\r\n})\r\nexport class LoginPage implements OnInit {\r\n\r\n logstatus: boolean;\r\n username: string = environment.defaultuser;\r\n password: string = environment.defaultuserpwd;\r\n userattempt: User;\r\n\r\n public body = { \"user\": this.username, \"password\": this.password };\r\n public postData = { \"user\": this.username, \"password\": this.password };\r\n\r\n constructor(\r\n private router: Router,\r\n private authService: AuthService,\r\n private storageService: StorageService,\r\n private toastService: ToastService,\r\n private photoService: PhotoService,\r\n public alertController: AlertController) { }\r\n\r\n ngOnInit() {\r\n\r\n }\r\n //Function to validade the login inputs\r\n validateInput() {\r\n return (\r\n this.username.trim().length > 0\r\n && this.password.trim().length > 0\r\n );\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 /* loginRocketChat(){\r\n this.authService.loginChat(this.postData).subscribe((res: any) =>{\r\n this.storageService.store(AuthConnstants.AUTH, res.data);\r\n console.log('Login to Rocket chat OK');\r\n },(error:any) =>{\r\n console.log('Network error');\r\n });\r\n } */\r\n\r\n storeUserIdANdToken() {\r\n\r\n (PushNotifications as any).requestPermission().then(result => {\r\n PushNotifications.register();\r\n });\r\n\r\n PushNotifications.addListener(\r\n 'registration',\r\n (token: PushNotificationToken) => {\r\n console.log('FIREBASE TOKEN', token.value)\r\n this.storageService.store(this.username, token.value);\r\n this.storageService.get(this.username).then(value => {\r\n console.log('STORAGE TOKEN',value )\r\n })\r\n },\r\n );\r\n\r\n };\r\n\r\n\r\n async Login() {\r\n /* try { */\r\n //Go to our home in home/feed.\r\n //this.router.navigate(['/home/events']);\r\n if (this.validateInput()) {\r\n this.userattempt = {\r\n username: this.username,\r\n password: this.password,\r\n domainName: environment.domain,\r\n BasicAuthKey: \"\"\r\n }\r\n if (await this.authService.login(this.userattempt)) {\r\n /* this.loginRocketChat(); */\r\n this.storeUserIdANdToken()\r\n this.router.navigate(['/home/events']);\r\n }\r\n else {\r\n //this.toastService.presentToast('Não foi possível fazer login\"');\r\n this.presentAlert('O nome de utilizador e palavra-passe estão incorretas ou verifique a sua conexão com a internet e volte a tentar.');\r\n }\r\n }\r\n else {\r\n //this.toastService.presentToast('Preencha todos campos');\r\n this.presentAlert('Por favor, insira o seu nome de utilizador e palavra-passe.');\r\n }\r\n /* } catch (error) {\r\n error\r\n this.presentAlert('Ocorreu um erro ao fazer login. Contacte o administrador de sistema. '+ error);\r\n } */\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\n/* import { Plugins, CameraResultType, Capacitor, FilesystemDirectory, CameraPhoto, CameraSource } from '@capacitor/core'; */\r\nimport { Photo } from '../models/photo';\r\nimport { Platform } from '@ionic/angular';\r\nimport { Camera, CameraOptions } from '@ionic-native/camera/ngx';\r\n\r\n /* const { Camera, Filesystem, Storage } = Plugins; */\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class PhotoService {\r\n public photos: Photo[] = [];\r\n private PHOTO_STORAGE: string = \"photos\";\r\n private platform: Platform;\r\n\r\n constructor(platform: Platform,\r\n private camera:Camera) {\r\n this.platform = platform;\r\n }\r\n\r\n async takePicture(){\r\n const options: CameraOptions = {\r\n quality: 100,\r\n destinationType: this.camera.DestinationType.FILE_URI,\r\n encodingType: this.camera.EncodingType.JPEG,\r\n mediaType: this.camera.MediaType.PICTURE\r\n }\r\n\r\n \r\n \r\n this.camera.getPicture(options).then((imageData) => {\r\n // imageData is either a base64 encoded string or a file URI\r\n // If it's base64 (DATA_URL):\r\n let base64Image = 'data:image/jpeg;base64,' + imageData;\r\n return base64Image;\r\n }, (err) => {\r\n // Handle error\r\n });\r\n\r\n }\r\n\r\n\r\n /* async addNewToGallery() {\r\n // Take a photo using Capacitor\r\n const capturedPhoto = await Camera.getPhoto({\r\n resultType: CameraResultType.Base64, \r\n source: CameraSource.Camera, \r\n quality: 90,\r\n width: 1080,\r\n height: 720,\r\n });\r\n \r\n this.photos.unshift({\r\n fileName: new Date().getTime() + '.png',\r\n webviewPath: capturedPhoto.base64String,\r\n fileFormat: capturedPhoto.format,\r\n });\r\n\r\n console.log(capturedPhoto);\r\n \r\n \r\n console.log(this.photos[0]);\r\n \r\n } */\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { ToastController } from '@ionic/angular';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ToastService {\r\n\r\n constructor(public toastController: ToastController) { }\r\n\r\n async presentToast(infoMessage: string) {\r\n const toast = await this.toastController.create({\r\n message: infoMessage,\r\n duration: 2000\r\n });\r\n toast.present();\r\n }\r\n\r\n}\r\n"],"sourceRoot":"webpack:///"} \ No newline at end of file diff --git a/android/app/src/main/assets/public/pages-login-login-module-es5.js b/android/app/src/main/assets/public/pages-login-login-module-es5.js index 9130dd476..0b9119005 100644 --- a/android/app/src/main/assets/public/pages-login-login-module-es5.js +++ b/android/app/src/main/assets/public/pages-login-login-module-es5.js @@ -252,6 +252,14 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons var src_app_services_photo_service__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__( /*! src/app/services/photo.service */ "./src/app/services/photo.service.ts"); + /* harmony import */ + + + var _capacitor_core__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__( + /*! @capacitor/core */ + "./node_modules/@capacitor/core/dist/esm/index.js"); + + var PushNotifications = _capacitor_core__WEBPACK_IMPORTED_MODULE_9__["Plugins"].PushNotifications; var LoginPage = /*#__PURE__*/function () { function LoginPage(router, authService, storageService, toastService, photoService, alertController) { @@ -323,6 +331,24 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons }); } */ + }, { + key: "storeUserIdANdToken", + value: function storeUserIdANdToken() { + var _this = this; + + PushNotifications.requestPermission().then(function (result) { + PushNotifications.register(); + }); + PushNotifications.addListener('registration', function (token) { + console.log('FIREBASE TOKEN', token.value); + + _this.storageService.store(_this.username, token.value); + + _this.storageService.get(_this.username).then(function (value) { + console.log('STORAGE TOKEN', value); + }); + }); + } }, { key: "Login", value: function Login() { @@ -332,7 +358,7 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons switch (_context2.prev = _context2.next) { case 0: if (!this.validateInput()) { - _context2.next = 11; + _context2.next = 12; break; } @@ -347,28 +373,29 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons case 4: if (!_context2.sent) { - _context2.next = 8; + _context2.next = 9; break; } /* this.loginRocketChat(); */ + this.storeUserIdANdToken(); this.router.navigate(['/home/events']); - _context2.next = 9; + _context2.next = 10; break; - case 8: + case 9: //this.toastService.presentToast('Não foi possível fazer login"'); this.presentAlert('O nome de utilizador e palavra-passe estão incorretas ou verifique a sua conexão com a internet e volte a tentar.'); - case 9: - _context2.next = 12; + case 10: + _context2.next = 13; break; - case 11: + case 12: //this.toastService.presentToast('Preencha todos campos'); this.presentAlert('Por favor, insira o seu nome de utilizador e palavra-passe.'); - case 12: + case 13: case "end": return _context2.stop(); } diff --git a/android/app/src/main/assets/public/pages-login-login-module-es5.js.map b/android/app/src/main/assets/public/pages-login-login-module-es5.js.map index 5c909ab2e..14385a016 100644 --- a/android/app/src/main/assets/public/pages-login-login-module-es5.js.map +++ b/android/app/src/main/assets/public/pages-login-login-module-es5.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///src/app/pages/login/login.page.html","webpack:///src/app/pages/login/login-routing.module.ts","webpack:///src/app/pages/login/login.module.ts","webpack:///src/app/pages/login/login.page.scss","webpack:///src/app/pages/login/login.page.ts","webpack:///src/app/services/photo.service.ts","webpack:///src/app/services/toast.service.ts"],"names":["routes","path","component","LoginPageRoutingModule","imports","forChild","exports","LoginPageModule","declarations","schemas","LoginPage","router","authService","storageService","toastService","photoService","alertController","username","defaultuser","password","defaultuserpwd","body","postData","trim","length","message","create","cssClass","header","buttons","alert","present","validateInput","userattempt","domainName","domain","BasicAuthKey","login","navigate","presentAlert","selector","template","PhotoService","platform","camera","photos","PHOTO_STORAGE","options","quality","destinationType","DestinationType","FILE_URI","encodingType","EncodingType","JPEG","mediaType","MediaType","PICTURE","getPicture","then","imageData","base64Image","err","providedIn","ToastService","toastController","infoMessage","duration","toast"],"mappings":"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","file":"pages-login-login-module-es5.js","sourcesContent":["export default \"\\r\\n
\\r\\n
\\r\\n logo\\r\\n
\\r\\n

Inicie a sessão

\\r\\n
\\r\\n

Nome de utilizador

\\r\\n \\r\\n \\r\\n \\r\\n

Palavra-passe

\\r\\n \\r\\n \\r\\n \\r\\n Iniciar\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\";","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\n\r\nimport { LoginPage } from './login.page';\r\n\r\nconst routes: Routes = [\r\n {\r\n path: '',\r\n component: LoginPage\r\n }\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule],\r\n})\r\nexport class LoginPageRoutingModule {}\r\n","import { NgModule, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\n\r\nimport { IonicModule } from '@ionic/angular';\r\n\r\nimport { LoginPageRoutingModule } from './login-routing.module';\r\n\r\nimport { LoginPage } from './login.page';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n IonicModule,\r\n LoginPageRoutingModule\r\n ],\r\n declarations: [LoginPage],\r\n schemas: [CUSTOM_ELEMENTS_SCHEMA]\r\n})\r\nexport class LoginPageModule {}\r\n","export default \".wrapper {\\n margin: 0 auto;\\n}\\n\\n.div-logo {\\n width: 200px;\\n margin: 0 auto;\\n padding-bottom: 15px;\\n}\\n\\n.div-logo img {\\n width: 100%;\\n}\\n\\n.wrapper ion-input {\\n font-size: 18px;\\n}\\n\\n.wrapper ion-button {\\n font-size: medium;\\n margin-top: 18px;\\n}\\n\\nion-item {\\n --background: transparent;\\n}\\n\\n.form {\\n width: 300px;\\n overflow: auto;\\n margin: 0 auto;\\n}\\n\\n.form-label {\\n margin: 15px 0 5px 0;\\n font-size: 15px;\\n}\\n\\n.form-input {\\n --background: #fff;\\n /* --color:#fff; */\\n border-radius: 10px;\\n margin: 5px 0 5px 0;\\n}\\n\\n.btn-ok-login {\\n width: 160px !important;\\n height: 45px !important;\\n margin: 15px auto;\\n padding: 10px 15px;\\n border-radius: 22.5px;\\n background-color: #42b9fe;\\n color: #ffffff !important;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvcGFnZXMvbG9naW4vQzpcXFVzZXJzXFxldWRlcy5pbmFjaW9cXEdhYmluZXQtRGlnaXRhbFByb2plY3RcXE5ldyBmb2xkZXJcXGdhYmluZXRlLWRpZ2l0YWwvc3JjXFxhcHBcXHBhZ2VzXFxsb2dpblxcbG9naW4ucGFnZS5zY3NzIiwic3JjL2FwcC9wYWdlcy9sb2dpbi9sb2dpbi5wYWdlLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDSSxjQUFBO0FDQ0o7O0FEQ0E7RUFDSSxZQUFBO0VBQ0EsY0FBQTtFQUNBLG9CQUFBO0FDRUo7O0FEQUE7RUFDSSxXQUFBO0FDR0o7O0FEREE7RUFDSSxlQUFBO0FDSUo7O0FERkE7RUFDSSxpQkFBQTtFQUNBLGdCQUFBO0FDS0o7O0FESEE7RUFDSSx5QkFBQTtBQ01KOztBREpBO0VBQ0ksWUFBQTtFQUNBLGNBQUE7RUFDQSxjQUFBO0FDT0o7O0FETEE7RUFDSSxvQkFBQTtFQUNBLGVBQUE7QUNRSjs7QUROQTtFQUNJLGtCQUFBO0VBQ0Esa0JBQUE7RUFDQSxtQkFBQTtFQUNBLG1CQUFBO0FDU0o7O0FEUEE7RUFDSSx1QkFBQTtFQUNBLHVCQUFBO0VBQ0EsaUJBQUE7RUFDQSxrQkFBQTtFQUNBLHFCQUFBO0VBQ0EseUJBQUE7RUFDQSx5QkFBQTtBQ1VKIiwiZmlsZSI6InNyYy9hcHAvcGFnZXMvbG9naW4vbG9naW4ucGFnZS5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLndyYXBwZXJ7XHJcbiAgICBtYXJnaW46IDAgYXV0bztcclxufVxyXG4uZGl2LWxvZ297XHJcbiAgICB3aWR0aDogMjAwcHg7XHJcbiAgICBtYXJnaW46ICAwIGF1dG87XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogMTVweDtcclxufVxyXG4uZGl2LWxvZ28gaW1ne1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbn1cclxuLndyYXBwZXIgaW9uLWlucHV0e1xyXG4gICAgZm9udC1zaXplOiAxOHB4O1xyXG59XHJcbi53cmFwcGVyIGlvbi1idXR0b257XHJcbiAgICBmb250LXNpemU6IG1lZGl1bTtcclxuICAgIG1hcmdpbi10b3A6IDE4cHg7XHJcbn1cclxuaW9uLWl0ZW17XHJcbiAgICAtLWJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG59XHJcbi5mb3Jte1xyXG4gICAgd2lkdGg6IDMwMHB4O1xyXG4gICAgb3ZlcmZsb3c6IGF1dG87XHJcbiAgICBtYXJnaW46IDAgYXV0bztcclxufVxyXG4uZm9ybS1sYWJlbHtcclxuICAgIG1hcmdpbjogMTVweCAwIDVweCAwO1xyXG4gICAgZm9udC1zaXplOiAxNXB4O1xyXG59XHJcbi5mb3JtLWlucHV0eyBcclxuICAgIC0tYmFja2dyb3VuZDogI2ZmZjtcclxuICAgIC8qIC0tY29sb3I6I2ZmZjsgKi9cclxuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XHJcbiAgICBtYXJnaW46IDVweCAwIDVweCAwO1xyXG59XHJcbi5idG4tb2stbG9naW57XHJcbiAgICB3aWR0aDogMTYwcHggIWltcG9ydGFudDtcclxuICAgIGhlaWdodDogNDVweCAhaW1wb3J0YW50O1xyXG4gICAgbWFyZ2luOiAxNXB4IGF1dG87XHJcbiAgICBwYWRkaW5nOiAxMHB4IDE1cHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiAyMi41cHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDJiOWZlO1xyXG4gICAgY29sb3I6ICNmZmZmZmYgIWltcG9ydGFudDtcclxuICB9IiwiLndyYXBwZXIge1xuICBtYXJnaW46IDAgYXV0bztcbn1cblxuLmRpdi1sb2dvIHtcbiAgd2lkdGg6IDIwMHB4O1xuICBtYXJnaW46IDAgYXV0bztcbiAgcGFkZGluZy1ib3R0b206IDE1cHg7XG59XG5cbi5kaXYtbG9nbyBpbWcge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLndyYXBwZXIgaW9uLWlucHV0IHtcbiAgZm9udC1zaXplOiAxOHB4O1xufVxuXG4ud3JhcHBlciBpb24tYnV0dG9uIHtcbiAgZm9udC1zaXplOiBtZWRpdW07XG4gIG1hcmdpbi10b3A6IDE4cHg7XG59XG5cbmlvbi1pdGVtIHtcbiAgLS1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cblxuLmZvcm0ge1xuICB3aWR0aDogMzAwcHg7XG4gIG92ZXJmbG93OiBhdXRvO1xuICBtYXJnaW46IDAgYXV0bztcbn1cblxuLmZvcm0tbGFiZWwge1xuICBtYXJnaW46IDE1cHggMCA1cHggMDtcbiAgZm9udC1zaXplOiAxNXB4O1xufVxuXG4uZm9ybS1pbnB1dCB7XG4gIC0tYmFja2dyb3VuZDogI2ZmZjtcbiAgLyogLS1jb2xvcjojZmZmOyAqL1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICBtYXJnaW46IDVweCAwIDVweCAwO1xufVxuXG4uYnRuLW9rLWxvZ2luIHtcbiAgd2lkdGg6IDE2MHB4ICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogNDVweCAhaW1wb3J0YW50O1xuICBtYXJnaW46IDE1cHggYXV0bztcbiAgcGFkZGluZzogMTBweCAxNXB4O1xuICBib3JkZXItcmFkaXVzOiAyMi41cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0MmI5ZmU7XG4gIGNvbG9yOiAjZmZmZmZmICFpbXBvcnRhbnQ7XG59Il19 */\";","import { Component, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { AuthService } from 'src/app/services/auth.service';\r\nimport { User } from 'src/app/models/user.model';\r\nimport { ToastService } from 'src/app/services/toast.service';\r\nimport { environment } from 'src/environments/environment';\r\nimport { AlertController } from '@ionic/angular';\r\nimport { StorageService } from 'src/app/services/storage.service';\r\nimport { AuthConnstants } from 'src/app/config/auth-constants';\r\nimport { PhotoService } from 'src/app/services/photo.service';\r\n\r\n\r\n@Component({\r\n selector: 'app-login',\r\n templateUrl: './login.page.html',\r\n styleUrls: ['./login.page.scss'],\r\n})\r\nexport class LoginPage implements OnInit {\r\n\r\n logstatus: boolean;\r\n username: string = environment.defaultuser;\r\n password: string = environment.defaultuserpwd;\r\n userattempt: User;\r\n\r\n public body = {\"user\": this.username,\"password\": this.password};\r\n public postData = {\"user\": this.username,\"password\": this.password};\r\n\r\n constructor(\r\n private router: Router, \r\n private authService: AuthService,\r\n private storageService: StorageService,\r\n private toastService: ToastService,\r\n private photoService: PhotoService,\r\n public alertController: AlertController) { }\r\n\r\n ngOnInit() {\r\n \r\n }\r\n //Function to validade the login inputs\r\n validateInput(){\r\n return (\r\n this.username.trim().length > 0 \r\n && this.password.trim().length > 0\r\n );\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 /* loginRocketChat(){\r\n this.authService.loginChat(this.postData).subscribe((res: any) =>{\r\n this.storageService.store(AuthConnstants.AUTH, res.data);\r\n console.log('Login to Rocket chat OK');\r\n },(error:any) =>{\r\n console.log('Network error');\r\n });\r\n } */\r\n \r\n\r\n \r\n async Login(){\r\n /* try { */\r\n //Go to our home in home/feed.\r\n //this.router.navigate(['/home/events']);\r\n if(this.validateInput()){\r\n this.userattempt = {\r\n username: this.username,\r\n password: this.password,\r\n domainName: environment.domain,\r\n BasicAuthKey: \"\"\r\n }\r\n if (await this.authService.login(this.userattempt)){\r\n /* this.loginRocketChat(); */\r\n this.router.navigate(['/home/events']);\r\n }\r\n else\r\n { \r\n //this.toastService.presentToast('Não foi possível fazer login\"');\r\n this.presentAlert('O nome de utilizador e palavra-passe estão incorretas ou verifique a sua conexão com a internet e volte a tentar.'); \r\n } \r\n }\r\n else{\r\n //this.toastService.presentToast('Preencha todos campos');\r\n this.presentAlert('Por favor, insira o seu nome de utilizador e palavra-passe.');\r\n } \r\n /* } catch (error) {\r\n error\r\n this.presentAlert('Ocorreu um erro ao fazer login. Contacte o administrador de sistema. '+ error);\r\n } */\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\n/* import { Plugins, CameraResultType, Capacitor, FilesystemDirectory, CameraPhoto, CameraSource } from '@capacitor/core'; */\r\nimport { Photo } from '../models/photo';\r\nimport { Platform } from '@ionic/angular';\r\nimport { Camera, CameraOptions } from '@ionic-native/camera/ngx';\r\n\r\n /* const { Camera, Filesystem, Storage } = Plugins; */\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class PhotoService {\r\n public photos: Photo[] = [];\r\n private PHOTO_STORAGE: string = \"photos\";\r\n private platform: Platform;\r\n\r\n constructor(platform: Platform,\r\n private camera:Camera) {\r\n this.platform = platform;\r\n }\r\n\r\n async takePicture(){\r\n const options: CameraOptions = {\r\n quality: 100,\r\n destinationType: this.camera.DestinationType.FILE_URI,\r\n encodingType: this.camera.EncodingType.JPEG,\r\n mediaType: this.camera.MediaType.PICTURE\r\n }\r\n\r\n \r\n \r\n this.camera.getPicture(options).then((imageData) => {\r\n // imageData is either a base64 encoded string or a file URI\r\n // If it's base64 (DATA_URL):\r\n let base64Image = 'data:image/jpeg;base64,' + imageData;\r\n return base64Image;\r\n }, (err) => {\r\n // Handle error\r\n });\r\n\r\n }\r\n\r\n\r\n /* async addNewToGallery() {\r\n // Take a photo using Capacitor\r\n const capturedPhoto = await Camera.getPhoto({\r\n resultType: CameraResultType.Base64, \r\n source: CameraSource.Camera, \r\n quality: 90,\r\n width: 1080,\r\n height: 720,\r\n });\r\n \r\n this.photos.unshift({\r\n fileName: new Date().getTime() + '.png',\r\n webviewPath: capturedPhoto.base64String,\r\n fileFormat: capturedPhoto.format,\r\n });\r\n\r\n console.log(capturedPhoto);\r\n \r\n \r\n console.log(this.photos[0]);\r\n \r\n } */\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { ToastController } from '@ionic/angular';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ToastService {\r\n\r\n constructor(public toastController: ToastController) { }\r\n\r\n async presentToast(infoMessage: string) {\r\n const toast = await this.toastController.create({\r\n message: infoMessage,\r\n duration: 2000\r\n });\r\n toast.present();\r\n }\r\n\r\n}\r\n"]} \ No newline at end of file +{"version":3,"sources":["webpack:///src/app/pages/login/login.page.html","webpack:///src/app/pages/login/login-routing.module.ts","webpack:///src/app/pages/login/login.module.ts","webpack:///src/app/pages/login/login.page.scss","webpack:///src/app/pages/login/login.page.ts","webpack:///src/app/services/photo.service.ts","webpack:///src/app/services/toast.service.ts"],"names":["routes","path","component","LoginPageRoutingModule","imports","forChild","exports","LoginPageModule","declarations","schemas","PushNotifications","LoginPage","router","authService","storageService","toastService","photoService","alertController","username","defaultuser","password","defaultuserpwd","body","postData","trim","length","message","create","cssClass","header","buttons","alert","present","requestPermission","then","result","register","addListener","token","console","log","value","store","get","validateInput","userattempt","domainName","domain","BasicAuthKey","login","storeUserIdANdToken","navigate","presentAlert","selector","template","PhotoService","platform","camera","photos","PHOTO_STORAGE","options","quality","destinationType","DestinationType","FILE_URI","encodingType","EncodingType","JPEG","mediaType","MediaType","PICTURE","getPicture","imageData","base64Image","err","providedIn","ToastService","toastController","infoMessage","duration","toast"],"mappings":"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","file":"pages-login-login-module-es5.js","sourcesContent":["export default \"\\r\\n
\\r\\n
\\r\\n logo\\r\\n
\\r\\n

Inicie a sessão

\\r\\n
\\r\\n

Nome de utilizador

\\r\\n \\r\\n \\r\\n \\r\\n

Palavra-passe

\\r\\n \\r\\n \\r\\n \\r\\n Iniciar\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\";","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\n\r\nimport { LoginPage } from './login.page';\r\n\r\nconst routes: Routes = [\r\n {\r\n path: '',\r\n component: LoginPage\r\n }\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule],\r\n})\r\nexport class LoginPageRoutingModule {}\r\n","import { NgModule, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\n\r\nimport { IonicModule } from '@ionic/angular';\r\n\r\nimport { LoginPageRoutingModule } from './login-routing.module';\r\n\r\nimport { LoginPage } from './login.page';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n IonicModule,\r\n LoginPageRoutingModule\r\n ],\r\n declarations: [LoginPage],\r\n schemas: [CUSTOM_ELEMENTS_SCHEMA]\r\n})\r\nexport class LoginPageModule {}\r\n","export default \".wrapper {\\n margin: 0 auto;\\n}\\n\\n.div-logo {\\n width: 200px;\\n margin: 0 auto;\\n padding-bottom: 15px;\\n}\\n\\n.div-logo img {\\n width: 100%;\\n}\\n\\n.wrapper ion-input {\\n font-size: 18px;\\n}\\n\\n.wrapper ion-button {\\n font-size: medium;\\n margin-top: 18px;\\n}\\n\\nion-item {\\n --background: transparent;\\n}\\n\\n.form {\\n width: 300px;\\n overflow: auto;\\n margin: 0 auto;\\n}\\n\\n.form-label {\\n margin: 15px 0 5px 0;\\n font-size: 15px;\\n}\\n\\n.form-input {\\n --background: #fff;\\n /* --color:#fff; */\\n border-radius: 10px;\\n margin: 5px 0 5px 0;\\n}\\n\\n.btn-ok-login {\\n width: 160px !important;\\n height: 45px !important;\\n margin: 15px auto;\\n padding: 10px 15px;\\n border-radius: 22.5px;\\n background-color: #42b9fe;\\n color: #ffffff !important;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvcGFnZXMvbG9naW4vQzpcXFVzZXJzXFxldWRlcy5pbmFjaW9cXEdhYmluZXQtRGlnaXRhbFByb2plY3RcXE5ldyBmb2xkZXJcXGdhYmluZXRlLWRpZ2l0YWwvc3JjXFxhcHBcXHBhZ2VzXFxsb2dpblxcbG9naW4ucGFnZS5zY3NzIiwic3JjL2FwcC9wYWdlcy9sb2dpbi9sb2dpbi5wYWdlLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDSSxjQUFBO0FDQ0o7O0FEQ0E7RUFDSSxZQUFBO0VBQ0EsY0FBQTtFQUNBLG9CQUFBO0FDRUo7O0FEQUE7RUFDSSxXQUFBO0FDR0o7O0FEREE7RUFDSSxlQUFBO0FDSUo7O0FERkE7RUFDSSxpQkFBQTtFQUNBLGdCQUFBO0FDS0o7O0FESEE7RUFDSSx5QkFBQTtBQ01KOztBREpBO0VBQ0ksWUFBQTtFQUNBLGNBQUE7RUFDQSxjQUFBO0FDT0o7O0FETEE7RUFDSSxvQkFBQTtFQUNBLGVBQUE7QUNRSjs7QUROQTtFQUNJLGtCQUFBO0VBQ0Esa0JBQUE7RUFDQSxtQkFBQTtFQUNBLG1CQUFBO0FDU0o7O0FEUEE7RUFDSSx1QkFBQTtFQUNBLHVCQUFBO0VBQ0EsaUJBQUE7RUFDQSxrQkFBQTtFQUNBLHFCQUFBO0VBQ0EseUJBQUE7RUFDQSx5QkFBQTtBQ1VKIiwiZmlsZSI6InNyYy9hcHAvcGFnZXMvbG9naW4vbG9naW4ucGFnZS5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLndyYXBwZXJ7XHJcbiAgICBtYXJnaW46IDAgYXV0bztcclxufVxyXG4uZGl2LWxvZ297XHJcbiAgICB3aWR0aDogMjAwcHg7XHJcbiAgICBtYXJnaW46ICAwIGF1dG87XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogMTVweDtcclxufVxyXG4uZGl2LWxvZ28gaW1ne1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbn1cclxuLndyYXBwZXIgaW9uLWlucHV0e1xyXG4gICAgZm9udC1zaXplOiAxOHB4O1xyXG59XHJcbi53cmFwcGVyIGlvbi1idXR0b257XHJcbiAgICBmb250LXNpemU6IG1lZGl1bTtcclxuICAgIG1hcmdpbi10b3A6IDE4cHg7XHJcbn1cclxuaW9uLWl0ZW17XHJcbiAgICAtLWJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG59XHJcbi5mb3Jte1xyXG4gICAgd2lkdGg6IDMwMHB4O1xyXG4gICAgb3ZlcmZsb3c6IGF1dG87XHJcbiAgICBtYXJnaW46IDAgYXV0bztcclxufVxyXG4uZm9ybS1sYWJlbHtcclxuICAgIG1hcmdpbjogMTVweCAwIDVweCAwO1xyXG4gICAgZm9udC1zaXplOiAxNXB4O1xyXG59XHJcbi5mb3JtLWlucHV0eyBcclxuICAgIC0tYmFja2dyb3VuZDogI2ZmZjtcclxuICAgIC8qIC0tY29sb3I6I2ZmZjsgKi9cclxuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XHJcbiAgICBtYXJnaW46IDVweCAwIDVweCAwO1xyXG59XHJcbi5idG4tb2stbG9naW57XHJcbiAgICB3aWR0aDogMTYwcHggIWltcG9ydGFudDtcclxuICAgIGhlaWdodDogNDVweCAhaW1wb3J0YW50O1xyXG4gICAgbWFyZ2luOiAxNXB4IGF1dG87XHJcbiAgICBwYWRkaW5nOiAxMHB4IDE1cHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiAyMi41cHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDJiOWZlO1xyXG4gICAgY29sb3I6ICNmZmZmZmYgIWltcG9ydGFudDtcclxuICB9IiwiLndyYXBwZXIge1xuICBtYXJnaW46IDAgYXV0bztcbn1cblxuLmRpdi1sb2dvIHtcbiAgd2lkdGg6IDIwMHB4O1xuICBtYXJnaW46IDAgYXV0bztcbiAgcGFkZGluZy1ib3R0b206IDE1cHg7XG59XG5cbi5kaXYtbG9nbyBpbWcge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLndyYXBwZXIgaW9uLWlucHV0IHtcbiAgZm9udC1zaXplOiAxOHB4O1xufVxuXG4ud3JhcHBlciBpb24tYnV0dG9uIHtcbiAgZm9udC1zaXplOiBtZWRpdW07XG4gIG1hcmdpbi10b3A6IDE4cHg7XG59XG5cbmlvbi1pdGVtIHtcbiAgLS1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cblxuLmZvcm0ge1xuICB3aWR0aDogMzAwcHg7XG4gIG92ZXJmbG93OiBhdXRvO1xuICBtYXJnaW46IDAgYXV0bztcbn1cblxuLmZvcm0tbGFiZWwge1xuICBtYXJnaW46IDE1cHggMCA1cHggMDtcbiAgZm9udC1zaXplOiAxNXB4O1xufVxuXG4uZm9ybS1pbnB1dCB7XG4gIC0tYmFja2dyb3VuZDogI2ZmZjtcbiAgLyogLS1jb2xvcjojZmZmOyAqL1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICBtYXJnaW46IDVweCAwIDVweCAwO1xufVxuXG4uYnRuLW9rLWxvZ2luIHtcbiAgd2lkdGg6IDE2MHB4ICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogNDVweCAhaW1wb3J0YW50O1xuICBtYXJnaW46IDE1cHggYXV0bztcbiAgcGFkZGluZzogMTBweCAxNXB4O1xuICBib3JkZXItcmFkaXVzOiAyMi41cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0MmI5ZmU7XG4gIGNvbG9yOiAjZmZmZmZmICFpbXBvcnRhbnQ7XG59Il19 */\";","import { Component, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { AuthService } from 'src/app/services/auth.service';\r\nimport { User } from 'src/app/models/user.model';\r\nimport { ToastService } from 'src/app/services/toast.service';\r\nimport { environment } from 'src/environments/environment';\r\nimport { AlertController } from '@ionic/angular';\r\nimport { StorageService } from 'src/app/services/storage.service';\r\nimport { AuthConnstants } from 'src/app/config/auth-constants';\r\nimport { PhotoService } from 'src/app/services/photo.service';\r\n\r\nimport { Plugins, PushNotification, PushNotificationToken, PushNotificationActionPerformed } from '@capacitor/core';\r\n\r\nconst { PushNotifications } = Plugins;\r\n\r\n\r\n\r\n@Component({\r\n selector: 'app-login',\r\n templateUrl: './login.page.html',\r\n styleUrls: ['./login.page.scss'],\r\n})\r\nexport class LoginPage implements OnInit {\r\n\r\n logstatus: boolean;\r\n username: string = environment.defaultuser;\r\n password: string = environment.defaultuserpwd;\r\n userattempt: User;\r\n\r\n public body = { \"user\": this.username, \"password\": this.password };\r\n public postData = { \"user\": this.username, \"password\": this.password };\r\n\r\n constructor(\r\n private router: Router,\r\n private authService: AuthService,\r\n private storageService: StorageService,\r\n private toastService: ToastService,\r\n private photoService: PhotoService,\r\n public alertController: AlertController) { }\r\n\r\n ngOnInit() {\r\n\r\n }\r\n //Function to validade the login inputs\r\n validateInput() {\r\n return (\r\n this.username.trim().length > 0\r\n && this.password.trim().length > 0\r\n );\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 /* loginRocketChat(){\r\n this.authService.loginChat(this.postData).subscribe((res: any) =>{\r\n this.storageService.store(AuthConnstants.AUTH, res.data);\r\n console.log('Login to Rocket chat OK');\r\n },(error:any) =>{\r\n console.log('Network error');\r\n });\r\n } */\r\n\r\n storeUserIdANdToken() {\r\n\r\n (PushNotifications as any).requestPermission().then(result => {\r\n PushNotifications.register();\r\n });\r\n\r\n PushNotifications.addListener(\r\n 'registration',\r\n (token: PushNotificationToken) => {\r\n console.log('FIREBASE TOKEN', token.value)\r\n this.storageService.store(this.username, token.value);\r\n this.storageService.get(this.username).then(value => {\r\n console.log('STORAGE TOKEN',value )\r\n })\r\n },\r\n );\r\n\r\n };\r\n\r\n\r\n async Login() {\r\n /* try { */\r\n //Go to our home in home/feed.\r\n //this.router.navigate(['/home/events']);\r\n if (this.validateInput()) {\r\n this.userattempt = {\r\n username: this.username,\r\n password: this.password,\r\n domainName: environment.domain,\r\n BasicAuthKey: \"\"\r\n }\r\n if (await this.authService.login(this.userattempt)) {\r\n /* this.loginRocketChat(); */\r\n this.storeUserIdANdToken()\r\n this.router.navigate(['/home/events']);\r\n }\r\n else {\r\n //this.toastService.presentToast('Não foi possível fazer login\"');\r\n this.presentAlert('O nome de utilizador e palavra-passe estão incorretas ou verifique a sua conexão com a internet e volte a tentar.');\r\n }\r\n }\r\n else {\r\n //this.toastService.presentToast('Preencha todos campos');\r\n this.presentAlert('Por favor, insira o seu nome de utilizador e palavra-passe.');\r\n }\r\n /* } catch (error) {\r\n error\r\n this.presentAlert('Ocorreu um erro ao fazer login. Contacte o administrador de sistema. '+ error);\r\n } */\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\n/* import { Plugins, CameraResultType, Capacitor, FilesystemDirectory, CameraPhoto, CameraSource } from '@capacitor/core'; */\r\nimport { Photo } from '../models/photo';\r\nimport { Platform } from '@ionic/angular';\r\nimport { Camera, CameraOptions } from '@ionic-native/camera/ngx';\r\n\r\n /* const { Camera, Filesystem, Storage } = Plugins; */\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class PhotoService {\r\n public photos: Photo[] = [];\r\n private PHOTO_STORAGE: string = \"photos\";\r\n private platform: Platform;\r\n\r\n constructor(platform: Platform,\r\n private camera:Camera) {\r\n this.platform = platform;\r\n }\r\n\r\n async takePicture(){\r\n const options: CameraOptions = {\r\n quality: 100,\r\n destinationType: this.camera.DestinationType.FILE_URI,\r\n encodingType: this.camera.EncodingType.JPEG,\r\n mediaType: this.camera.MediaType.PICTURE\r\n }\r\n\r\n \r\n \r\n this.camera.getPicture(options).then((imageData) => {\r\n // imageData is either a base64 encoded string or a file URI\r\n // If it's base64 (DATA_URL):\r\n let base64Image = 'data:image/jpeg;base64,' + imageData;\r\n return base64Image;\r\n }, (err) => {\r\n // Handle error\r\n });\r\n\r\n }\r\n\r\n\r\n /* async addNewToGallery() {\r\n // Take a photo using Capacitor\r\n const capturedPhoto = await Camera.getPhoto({\r\n resultType: CameraResultType.Base64, \r\n source: CameraSource.Camera, \r\n quality: 90,\r\n width: 1080,\r\n height: 720,\r\n });\r\n \r\n this.photos.unshift({\r\n fileName: new Date().getTime() + '.png',\r\n webviewPath: capturedPhoto.base64String,\r\n fileFormat: capturedPhoto.format,\r\n });\r\n\r\n console.log(capturedPhoto);\r\n \r\n \r\n console.log(this.photos[0]);\r\n \r\n } */\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { ToastController } from '@ionic/angular';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ToastService {\r\n\r\n constructor(public toastController: ToastController) { }\r\n\r\n async presentToast(infoMessage: string) {\r\n const toast = await this.toastController.create({\r\n message: infoMessage,\r\n duration: 2000\r\n });\r\n toast.present();\r\n }\r\n\r\n}\r\n"]} \ No newline at end of file diff --git a/src/app/pages/login/login.page.ts b/src/app/pages/login/login.page.ts index 962278a8d..c3999cee8 100644 --- a/src/app/pages/login/login.page.ts +++ b/src/app/pages/login/login.page.ts @@ -9,6 +9,11 @@ import { StorageService } from 'src/app/services/storage.service'; import { AuthConnstants } from 'src/app/config/auth-constants'; import { PhotoService } from 'src/app/services/photo.service'; +import { Plugins, PushNotification, PushNotificationToken, PushNotificationActionPerformed } from '@capacitor/core'; + +const { PushNotifications } = Plugins; + + @Component({ selector: 'app-login', @@ -22,11 +27,11 @@ export class LoginPage implements OnInit { password: string = environment.defaultuserpwd; userattempt: User; - public body = {"user": this.username,"password": this.password}; - public postData = {"user": this.username,"password": this.password}; + public body = { "user": this.username, "password": this.password }; + public postData = { "user": this.username, "password": this.password }; constructor( - private router: Router, + private router: Router, private authService: AuthService, private storageService: StorageService, private toastService: ToastService, @@ -34,17 +39,17 @@ export class LoginPage implements OnInit { public alertController: AlertController) { } ngOnInit() { - + } //Function to validade the login inputs - validateInput(){ + validateInput() { return ( - this.username.trim().length > 0 + this.username.trim().length > 0 && this.password.trim().length > 0 - ); + ); } - async presentAlert(message:string) { + async presentAlert(message: string) { const alert = await this.alertController.create({ cssClass: 'my-custom-class', header: 'Mensagem do sistema', @@ -63,37 +68,55 @@ export class LoginPage implements OnInit { console.log('Network error'); }); } */ - - - async Login(){ - /* try { */ - //Go to our home in home/feed. - //this.router.navigate(['/home/events']); - if(this.validateInput()){ - this.userattempt = { - username: this.username, - password: this.password, - domainName: environment.domain, - BasicAuthKey: "" - } - if (await this.authService.login(this.userattempt)){ - /* this.loginRocketChat(); */ - this.router.navigate(['/home/events']); - } - else - { - //this.toastService.presentToast('Não foi possível fazer login"'); - this.presentAlert('O nome de utilizador e palavra-passe estão incorretas ou verifique a sua conexão com a internet e volte a tentar.'); - } + storeUserIdANdToken() { + + (PushNotifications as any).requestPermission().then(result => { + PushNotifications.register(); + }); + + PushNotifications.addListener( + 'registration', + (token: PushNotificationToken) => { + console.log('FIREBASE TOKEN', token.value) + this.storageService.store(this.username, token.value); + this.storageService.get(this.username).then(value => { + console.log('STORAGE TOKEN',value ) + }) + }, + ); + + }; + + + async Login() { + /* try { */ + //Go to our home in home/feed. + //this.router.navigate(['/home/events']); + if (this.validateInput()) { + this.userattempt = { + username: this.username, + password: this.password, + domainName: environment.domain, + BasicAuthKey: "" } - else{ - //this.toastService.presentToast('Preencha todos campos'); - this.presentAlert('Por favor, insira o seu nome de utilizador e palavra-passe.'); - } - /* } catch (error) { - error - this.presentAlert('Ocorreu um erro ao fazer login. Contacte o administrador de sistema. '+ error); - } */ + if (await this.authService.login(this.userattempt)) { + /* this.loginRocketChat(); */ + this.storeUserIdANdToken() + this.router.navigate(['/home/events']); + } + else { + //this.toastService.presentToast('Não foi possível fazer login"'); + this.presentAlert('O nome de utilizador e palavra-passe estão incorretas ou verifique a sua conexão com a internet e volte a tentar.'); + } + } + else { + //this.toastService.presentToast('Preencha todos campos'); + this.presentAlert('Por favor, insira o seu nome de utilizador e palavra-passe.'); + } + /* } catch (error) { + error + this.presentAlert('Ocorreu um erro ao fazer login. Contacte o administrador de sistema. '+ error); + } */ } } From 81b374f8f684da19a38470003d600c4ed287f5fb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eudes=20In=C3=A1cio?= Date: Tue, 26 Jan 2021 17:00:41 +0100 Subject: [PATCH 2/7] Especific route for notifications on click --- src/app/home/home.page.ts | 154 +++++++++++++++++++++++++++++++------- 1 file changed, 128 insertions(+), 26 deletions(-) diff --git a/src/app/home/home.page.ts b/src/app/home/home.page.ts index 1b21e96f5..256b3a4b2 100644 --- a/src/app/home/home.page.ts +++ b/src/app/home/home.page.ts @@ -3,8 +3,14 @@ import { EventsService } from '../services/events.service'; import { formatDate } from '@angular/common'; import { Event } from '../models/event.model'; import { ProcessesService } from '../services/processes.service'; +import { StorageService } from 'src/app/services/storage.service'; +import { ModalController } from '@ionic/angular'; +import { PublicationDetailPage } from '../../app/pages/publications/view-publications/publication-detail/publication-detail.page'; +import { ViewPublicationsPage } from '../../app/pages/publications/view-publications/view-publications.page'; -import { Plugins, PushNotification,PushNotificationToken,PushNotificationActionPerformed} from '@capacitor/core'; +import { Plugins, PushNotification, PushNotificationToken, PushNotificationActionPerformed } from '@capacitor/core'; +import { Router } from '@angular/router'; +import { MethodCall } from '@angular/compiler'; const { PushNotifications } = Plugins; @@ -18,61 +24,157 @@ export class HomePage implements OnInit { prEventList: Event[]; mdEventList: Event[]; - totalEvent=0; - totalExpediente=0; - profile:string; + totalEvent = 0; + totalExpediente = 0; + profile: string; - constructor(private eventService: EventsService, private processesbackend:ProcessesService) { } + constructor(private eventService: EventsService, private processesbackend: ProcessesService, private router: Router, private modalController: ModalController,) { } ngOnInit() { //Initialize profile as mdgpr this.profile = "mdgpr"; - if(this.profile == "mdgpr"){ + if (this.profile == "mdgpr") { this.eventService.getAllMdEvents(formatDate(new Date(), 'yyyy-MM-dd HH:mm:ss', 'pt'), formatDate(new Date(), 'yyyy-MM-dd', 'pt') + ' 23:59:59').subscribe(res => { this.eventsList = res; this.totalEvent = this.eventsList.length; - }); + }); } - else{ + else { this.eventService.getAllPrEvents(formatDate(new Date(), 'yyyy-MM-dd HH:mm:ss', 'pt'), formatDate(new Date(), 'yyyy-MM-dd', 'pt') + ' 23:59:59').subscribe(res => { this.eventsList = res; this.totalEvent = this.eventsList.length; - }); + }); } - this.processesbackend.GetTasksList("Expediente", true).subscribe(result =>{ + this.processesbackend.GetTasksList("Expediente", true).subscribe(result => { this.totalExpediente = result; }); + /* + (PushNotifications as any).requestPermission().then(result => { + PushNotifications.register(); + }); + + PushNotifications.addListener( + 'registration', + (token: PushNotificationToken) => { + alert('Push registration success, token: ' + token.value); + console.log('FIREBASE: ', token.value) + this.storageService.store(this.username,token.value); + }, + ); + + console.log(this.storageService.get(this.username)) */ - (PushNotifications as any).requestPermission().then(result => { - PushNotifications.register(); - }); - - PushNotifications.addListener( - 'registration', - (token: PushNotificationToken) => { - alert('Push registration success, token: ' + token.value); - console.log('FIREBASE: ', token.value) - }, - ); - PushNotifications.addListener('registrationError', (error: any) => { alert('Error on registration: ' + JSON.stringify(error)); }); - + PushNotifications.addListener( 'pushNotificationReceived', (notification: PushNotification) => { alert('Push received: ' + JSON.stringify(notification)); }, ); - + PushNotifications.addListener( 'pushNotificationActionPerformed', (notification: PushNotificationActionPerformed) => { - alert('Push action performed: ' + JSON.stringify(notification)); + let service = notification.notification.data.service; + + let object = notification.notification.data.object; + let idObject = notification.notification.data.idObject; + let folder = notification.notification.data.folder; + let publicationId = notification.notification.data.publicationId; + let processId = notification.notification.data.processId; + + console.log('FOLDER PROCESS',folder.ProcessId) + + if (service != null) { + + if (service === "events") { + this.router.navigate(['/home/', service, idObject, 'home']); + } else if (service === "agenda") { + this.router.navigate(['/home/', service, idObject, 'home']); + } else if (service === "gabinete-digital") { + this.router.navigate(['/home/', service]); + } else if (service === "gabinete-digital-expediente") { + this.router.navigate(['/home/gabinete-digital/', object,idObject]); + } + } else { + + if ( processId || publicationId != null) { + this.viewPublicationDetail(processId,publicationId) + } + + if (notification.notification.data.folder.ProcessId != null) { + this.viewPublications(folder) + } + + } + + + + /*switch (service) { + case "events": + this.router.navigate(['/home/', service, idObject, 'home']); + break; + case "agenda": + this.router.navigate(['/home/', service, idObject, 'home']); + break; + case "gabinete-digital": + this.router.navigate(['/home/', service]); + break; + case "gabinete-digital-expediente": + this.router.navigate(['/home/gabinete-digital/', object, idObject, 'home']); + break; + case "": { + + if(publicationId && processId != null) { + this.viewPublicationDetail(publicationId,processId) + } + if (folder.ProcessId != null) { + this.viewPublications(folder) + } + } + + default: + this.router.navigate(['/home/']); + }*/ + + + }, ); - } + } + + async viewPublicationDetail(processId: string, publicationId: string) { + const modal = await this.modalController.create({ + component: PublicationDetailPage, + componentProps: { + publicationId: publicationId, + folderId: processId, + }, + cssClass: 'publication-detail', + backdropDismiss: false + }); + await modal.present(); + modal.onDidDismiss(); + } + + async viewPublications(folder) { + + const modal = await this.modalController.create({ + component: ViewPublicationsPage, + /* enterAnimation, + leaveAnimation, */ + componentProps: { + item: folder, + }, + cssClass: 'new-action', + backdropDismiss: false + }); + await modal.present(); + modal.onDidDismiss(); + } } From 95d27363704b5c33761cc4dadf7fe86d47710e95 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eudes=20In=C3=A1cio?= Date: Mon, 1 Feb 2021 09:58:15 +0100 Subject: [PATCH 3/7] Especific route on click for pushNotification --- android/.idea/compiler.xml | 6 +++++ src/app/home/home.page.ts | 42 +++++++++++++++++++++++-------- src/app/pages/login/login.page.ts | 9 ++++++- 3 files changed, 46 insertions(+), 11 deletions(-) create mode 100644 android/.idea/compiler.xml diff --git a/android/.idea/compiler.xml b/android/.idea/compiler.xml new file mode 100644 index 000000000..61a9130cd --- /dev/null +++ b/android/.idea/compiler.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/src/app/home/home.page.ts b/src/app/home/home.page.ts index 256b3a4b2..cc2c29d38 100644 --- a/src/app/home/home.page.ts +++ b/src/app/home/home.page.ts @@ -8,11 +8,11 @@ import { ModalController } from '@ionic/angular'; import { PublicationDetailPage } from '../../app/pages/publications/view-publications/publication-detail/publication-detail.page'; import { ViewPublicationsPage } from '../../app/pages/publications/view-publications/view-publications.page'; -import { Plugins, PushNotification, PushNotificationToken, PushNotificationActionPerformed } from '@capacitor/core'; +import { Plugins, PushNotification, PushNotificationToken, PushNotificationActionPerformed, Modals } from '@capacitor/core'; import { Router } from '@angular/router'; import { MethodCall } from '@angular/compiler'; -const { PushNotifications } = Plugins; +const { PushNotifications, LocalNotifications } = Plugins; @Component({ selector: 'app-home', @@ -72,7 +72,9 @@ export class HomePage implements OnInit { PushNotifications.addListener( 'pushNotificationReceived', (notification: PushNotification) => { - alert('Push received: ' + JSON.stringify(notification)); + //alert('Push received: ' + JSON.stringify(notification)); + //this.localNotificationPresent(notification); + }, ); @@ -87,7 +89,7 @@ export class HomePage implements OnInit { let publicationId = notification.notification.data.publicationId; let processId = notification.notification.data.processId; - console.log('FOLDER PROCESS',folder.ProcessId) + console.log('FOLDER PROCESS', folder.ProcessId) if (service != null) { @@ -98,20 +100,20 @@ export class HomePage implements OnInit { } else if (service === "gabinete-digital") { this.router.navigate(['/home/', service]); } else if (service === "gabinete-digital-expediente") { - this.router.navigate(['/home/gabinete-digital/', object,idObject]); - } + this.router.navigate(['/home/gabinete-digital/', object, idObject]); + } } else { - if ( processId || publicationId != null) { - this.viewPublicationDetail(processId,publicationId) + if (processId || publicationId != null) { + this.viewPublicationDetail(processId, publicationId) } if (notification.notification.data.folder.ProcessId != null) { this.viewPublications(folder) } - + } - + /*switch (service) { @@ -147,6 +149,26 @@ export class HomePage implements OnInit { ); } + async localNotificationPresent(notification) { + + LocalNotifications.schedule({ + notifications: [ + { + title: notification.title, + body: notification.body, + id: 1, + schedule: { at: new Date(Date.now() + 1000) }, + sound: null, + attachments: null, + actionTypeId: "", + extra: null + } + ] + }); + } + + + async viewPublicationDetail(processId: string, publicationId: string) { const modal = await this.modalController.create({ component: PublicationDetailPage, diff --git a/src/app/pages/login/login.page.ts b/src/app/pages/login/login.page.ts index c3999cee8..7205170f6 100644 --- a/src/app/pages/login/login.page.ts +++ b/src/app/pages/login/login.page.ts @@ -82,7 +82,13 @@ export class LoginPage implements OnInit { this.storageService.store(this.username, token.value); this.storageService.get(this.username).then(value => { console.log('STORAGE TOKEN',value ) - }) + this.storageService.get(AuthConnstants.USER).then(res=>{ + console.log('USERID',res); + + }); + + }); + }, ); @@ -103,6 +109,7 @@ export class LoginPage implements OnInit { if (await this.authService.login(this.userattempt)) { /* this.loginRocketChat(); */ this.storeUserIdANdToken() + this.router.navigate(['/home/events']); } else { From 6e8c55ab76f200455b20ae6b78ae075620caa4d3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eudes=20In=C3=A1cio?= Date: Mon, 1 Feb 2021 13:31:33 +0100 Subject: [PATCH 4/7] Save device token on middleware --- src/app/models/token.model.ts | 6 +++ src/app/pages/login/login.page.ts | 43 +++++++++++++------ .../services/notifications.service.spec.ts | 16 +++++++ src/app/services/notifications.service.ts | 30 +++++++++++++ 4 files changed, 82 insertions(+), 13 deletions(-) create mode 100644 src/app/models/token.model.ts create mode 100644 src/app/services/notifications.service.spec.ts create mode 100644 src/app/services/notifications.service.ts diff --git a/src/app/models/token.model.ts b/src/app/models/token.model.ts new file mode 100644 index 000000000..062fe5f67 --- /dev/null +++ b/src/app/models/token.model.ts @@ -0,0 +1,6 @@ +export class Token { + UserId: number; + TokenId: string; + Status: number; + Service: number +} \ No newline at end of file diff --git a/src/app/pages/login/login.page.ts b/src/app/pages/login/login.page.ts index ba89bafd2..ba108f741 100644 --- a/src/app/pages/login/login.page.ts +++ b/src/app/pages/login/login.page.ts @@ -8,6 +8,9 @@ import { AlertController } from '@ionic/angular'; import { StorageService } from 'src/app/services/storage.service'; import { AuthConnstants } from 'src/app/config/auth-constants'; import { PhotoService } from 'src/app/services/photo.service'; +import { NotificationsService } from 'src/app/services/notifications.service'; +import { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http'; +import { Token } from '../../models/token.model'; import { Plugins, PushNotification, PushNotificationToken, PushNotificationActionPerformed } from '@capacitor/core'; @@ -28,6 +31,8 @@ export class LoginPage implements OnInit { userattempt: User; constructor( + private http: HttpClient, + private notificatinsservice: NotificationsService, private router: Router, private authService: AuthService, private storageService: StorageService, @@ -57,21 +62,21 @@ export class LoginPage implements OnInit { await alert.present(); } - loginRocketChat(user:any){ - + loginRocketChat(user: any) { + let postData = { "user": user.username, "password": user.password, } - this.authService.loginChat(postData).subscribe((res: any) =>{ + this.authService.loginChat(postData).subscribe((res: any) => { console.log(res.data); this.storageService.store(AuthConnstants.AUTH, res.data); console.log('Login to Rocket chat OK'); - },(error:any) =>{ + }, (error: any) => { console.log('Network error'); - this.presentAlert('Network error '+error); + this.presentAlert('Network error ' + error); }); - } + } storeUserIdANdToken() { @@ -85,14 +90,26 @@ export class LoginPage implements OnInit { console.log('FIREBASE TOKEN', token.value) this.storageService.store(this.username, token.value); this.storageService.get(this.username).then(value => { - console.log('STORAGE TOKEN',value ) - this.storageService.get(AuthConnstants.USER).then(res=>{ - console.log('USERID',res); - + console.log('STORAGE TOKEN', value) + this.storageService.get(AuthConnstants.USER).then(res => { + console.log('USERID', res); + const headers = { 'Authorization': 'Basic cGF1bG8ucGludG9AZ2FiaW5ldGVkaWdpdGFsLmxvY2FsOnRhYnRlc3RlQDAwNg==' }; + const body = { UserId: 261, + TokenId: "cSLzVzMzRCKZvGjlSzVM66:APA91bFTDlINnZ8NFvNQ-E9787DrWVnXIYOwuptpTVuV950i_pkqZoiN-mAMC4MNXZAe5IWy0OaLp4h2ALrtuugl-wQ57Wp8H9JApW_YUpilN93PfHAc2BXVFbOtn7ac4kLkWwTQei4d", + Status: 1, + Service: 2 }; + + this.http.post('https://equilibrium.dyndns.info/GabineteDigital.Services/V4/api/notifications/token', body,{headers}).subscribe(data => { + console.log('TOKEN USER MIDLE', data); + }) + /*this.http.get('http://gpr-dev-01.gabinetedigital.local/GabineteDigital.Services/V4/api/notifications/user/'+res).subscribe(data => { + console.log('TOKEN USER MIDLE',data); + })*/ + }); - + }); - + }, ); @@ -113,7 +130,7 @@ export class LoginPage implements OnInit { if (await this.authService.login(this.userattempt)) { /* this.loginRocketChat(); */ this.storeUserIdANdToken() - + this.router.navigate(['/home/events']); } else { diff --git a/src/app/services/notifications.service.spec.ts b/src/app/services/notifications.service.spec.ts new file mode 100644 index 000000000..c939c4c3f --- /dev/null +++ b/src/app/services/notifications.service.spec.ts @@ -0,0 +1,16 @@ +import { TestBed } from '@angular/core/testing'; + +import { NotificationsService } from './notifications.service'; + +describe('NotificationsService', () => { + let service: NotificationsService; + + beforeEach(() => { + TestBed.configureTestingModule({}); + service = TestBed.inject(NotificationsService); + }); + + it('should be created', () => { + expect(service).toBeTruthy(); + }); +}); diff --git a/src/app/services/notifications.service.ts b/src/app/services/notifications.service.ts new file mode 100644 index 000000000..c4374bea8 --- /dev/null +++ b/src/app/services/notifications.service.ts @@ -0,0 +1,30 @@ +import { Injectable } from '@angular/core'; +import { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http'; +import { environment } from 'src/environments/environment'; +import { Token } from '../models/token.model'; + +@Injectable({ + providedIn: 'root' +}) +export class NotificationsService { + + constructor(private http: HttpClient,) { } + + getTokenByUserIdAndId(user, userID) { + const geturl = environment.apiURL + 'notifications/user/' + userID; + + return this.http.get(`${geturl}`); + } + + postToken(userId, token) { + const geturl = environment.apiURL + 'notifications/token'; + + let data = { + UserId: userId, + TokenId: token, + Status: 1, + Service: 2 + } + return this.http.post(`${geturl}`,data); + } +} From 27e1a3dda0d4717eac4b7d452367a35a39e2881c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eudes=20In=C3=A1cio?= Date: Mon, 1 Feb 2021 13:50:11 +0100 Subject: [PATCH 5/7] Refacturation on save token --- src/app/pages/login/login.page.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/app/pages/login/login.page.ts b/src/app/pages/login/login.page.ts index ba108f741..442a59c4e 100644 --- a/src/app/pages/login/login.page.ts +++ b/src/app/pages/login/login.page.ts @@ -94,8 +94,8 @@ export class LoginPage implements OnInit { this.storageService.get(AuthConnstants.USER).then(res => { console.log('USERID', res); const headers = { 'Authorization': 'Basic cGF1bG8ucGludG9AZ2FiaW5ldGVkaWdpdGFsLmxvY2FsOnRhYnRlc3RlQDAwNg==' }; - const body = { UserId: 261, - TokenId: "cSLzVzMzRCKZvGjlSzVM66:APA91bFTDlINnZ8NFvNQ-E9787DrWVnXIYOwuptpTVuV950i_pkqZoiN-mAMC4MNXZAe5IWy0OaLp4h2ALrtuugl-wQ57Wp8H9JApW_YUpilN93PfHAc2BXVFbOtn7ac4kLkWwTQei4d", + const body = { UserId: res, + TokenId: JSON.stringify(token.value), Status: 1, Service: 2 }; From 5351dedbd3b7b4631565000abc349b46f3fc893a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eudes=20In=C3=A1cio?= Date: Mon, 1 Feb 2021 13:58:29 +0100 Subject: [PATCH 6/7] Refacturation --- src/app/pages/login/login.page.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/app/pages/login/login.page.ts b/src/app/pages/login/login.page.ts index 442a59c4e..fe7f33e26 100644 --- a/src/app/pages/login/login.page.ts +++ b/src/app/pages/login/login.page.ts @@ -95,7 +95,7 @@ export class LoginPage implements OnInit { console.log('USERID', res); const headers = { 'Authorization': 'Basic cGF1bG8ucGludG9AZ2FiaW5ldGVkaWdpdGFsLmxvY2FsOnRhYnRlc3RlQDAwNg==' }; const body = { UserId: res, - TokenId: JSON.stringify(token.value), + TokenId: token.value, Status: 1, Service: 2 }; From 1bede616d573da91bae63000080da6841a1619dd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eudes=20In=C3=A1cio?= Date: Mon, 1 Feb 2021 14:03:12 +0100 Subject: [PATCH 7/7] Service change to 1 --- android/.idea/gradle.xml | 3 ++- src/app/pages/login/login.page.ts | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/android/.idea/gradle.xml b/android/.idea/gradle.xml index f1f84943b..58cdbbba2 100644 --- a/android/.idea/gradle.xml +++ b/android/.idea/gradle.xml @@ -7,7 +7,7 @@ diff --git a/src/app/pages/login/login.page.ts b/src/app/pages/login/login.page.ts index fe7f33e26..b5f157789 100644 --- a/src/app/pages/login/login.page.ts +++ b/src/app/pages/login/login.page.ts @@ -97,7 +97,7 @@ export class LoginPage implements OnInit { const body = { UserId: res, TokenId: token.value, Status: 1, - Service: 2 }; + Service: 1 }; this.http.post('https://equilibrium.dyndns.info/GabineteDigital.Services/V4/api/notifications/token', body,{headers}).subscribe(data => { console.log('TOKEN USER MIDLE', data);