This commit is contained in:
tiago.kayaya
2021-11-08 15:44:13 +01:00
30 changed files with 1345 additions and 389 deletions
+3
View File
@@ -48,4 +48,7 @@
</platform> </platform>
<allow-navigation href="http://localhost:8100" sessionid="9714472a" /> <allow-navigation href="http://localhost:8100" sessionid="9714472a" />
<allow-navigation href="http://localhost:8101" sessionid="4721f88c" /> <allow-navigation href="http://localhost:8101" sessionid="4721f88c" />
<plugin name="cordova-plugin-dbcopy" spec="https://github.com/an-rahulpandey/cordova-plugin-dbcopy.git" />
<engine name="browser" />
<engine name="android" />
</widget> </widget>
+42
View File
@@ -0,0 +1,42 @@
if ('serviceWorker' in navigator) {
navigator.serviceWorker.register('./firebase-messaging-sw.js')
.then(function(registration) {
console.log('Registration successful, scope is:', registration.scope);
}).catch(function(err) {
console.log('Service worker registration failed, error:', err);
});
}
// Scripts for firebase and firebase messaging
/* importScripts('https://www.gstatic.com/firebasejs/8.2.0/firebase-app.js');
importScripts('https://www.gstatic.com/firebasejs/8.2.0/firebase-messaging.js');
// Initialize the Firebase app in the service worker by passing the generated config
var firebaseConfig = {
apiKey: "AIzaSyAAdHmTFznCMerdT99nrewJgISRvtxPqoY",
authDomain: "gabinete-digital-2020.firebaseapp.com",
databaseURL: "https://gabinete-digital-2020.firebaseio.com",
projectId: "gabinete-digital-2020",
storageBucket: "gabinete-digital-2020.appspot.com",
messagingSenderId: "800733765231",
appId: "1:800733765231:web:28e7792ab150006513779a",
measurementId: "G-8QN4BLZ8XK"
};
firebase.initializeApp(firebaseConfig);
// Retrieve firebase messaging
const messaging = firebase.messaging();
messaging.onBackgroundMessage(function(payload) {
console.log('Received background message ', payload);
const notificationTitle = payload.notification.title;
const notificationOptions = {
body: payload.notification.body,
};
self.registration.showNotification(notificationTitle,
notificationOptions);
}); */
+778 -22
View File
@@ -2035,6 +2035,11 @@
"resolved": "https://registry.npmjs.org/@capacitor/android/-/android-3.3.0.tgz", "resolved": "https://registry.npmjs.org/@capacitor/android/-/android-3.3.0.tgz",
"integrity": "sha512-dzbzdN7KjjwpUbg7mZKVkgAVytEwGyXUL4Z1t9c12UhViJaNjU7/nSlTXjb+IiauwVg9oI2LHtSVrp1NIjUycw==" "integrity": "sha512-dzbzdN7KjjwpUbg7mZKVkgAVytEwGyXUL4Z1t9c12UhViJaNjU7/nSlTXjb+IiauwVg9oI2LHtSVrp1NIjUycw=="
}, },
"@capacitor/app": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/@capacitor/app/-/app-1.0.5.tgz",
"integrity": "sha512-U0dAw1CAjKyguSRxKDabszsQ4dj679RnxaUZrSHDR5Jnt5x308oQuKXFP++wnMBbw72D02iqjG0a+/Ujye7C9g=="
},
"@capacitor/cli": { "@capacitor/cli": {
"version": "3.3.0", "version": "3.3.0",
"resolved": "https://registry.npmjs.org/@capacitor/cli/-/cli-3.3.0.tgz", "resolved": "https://registry.npmjs.org/@capacitor/cli/-/cli-3.3.0.tgz",
@@ -2194,6 +2199,568 @@
"integrity": "sha512-Fxt+AfXgjMoin2maPIYzFZnQjAXjAL0PHscM5pRTtatFqB+vZxAM9tLp2Optnuw3QOQC40jTNeGYFOMvyf7v9g==", "integrity": "sha512-Fxt+AfXgjMoin2maPIYzFZnQjAXjAL0PHscM5pRTtatFqB+vZxAM9tLp2Optnuw3QOQC40jTNeGYFOMvyf7v9g==",
"dev": true "dev": true
}, },
"@firebase/analytics": {
"version": "0.7.3",
"resolved": "https://registry.npmjs.org/@firebase/analytics/-/analytics-0.7.3.tgz",
"integrity": "sha512-FrWo266CzFiNPBvt4hY3wgRrkcMjb7QY+sCEnyJXaXc10QfgWtpFDPkV+mJwS5djRAlU6/FrAMe7y1w7xcSZsg==",
"requires": {
"@firebase/component": "0.5.8",
"@firebase/installations": "0.5.3",
"@firebase/logger": "0.3.1",
"@firebase/util": "1.4.1",
"tslib": "^2.1.0"
}
},
"@firebase/analytics-compat": {
"version": "0.1.4",
"resolved": "https://registry.npmjs.org/@firebase/analytics-compat/-/analytics-compat-0.1.4.tgz",
"integrity": "sha512-1/3wpiWGOu1+mX0ZDMl2FkYZGZt3iYdFh80FBOa4GN6ohgTWK21N35EB8E4jS7Gz4a70dBtWHxWrzhLLzL5JyA==",
"requires": {
"@firebase/analytics": "0.7.3",
"@firebase/analytics-types": "0.7.0",
"@firebase/component": "0.5.8",
"@firebase/util": "1.4.1",
"tslib": "^2.1.0"
}
},
"@firebase/analytics-types": {
"version": "0.7.0",
"resolved": "https://registry.npmjs.org/@firebase/analytics-types/-/analytics-types-0.7.0.tgz",
"integrity": "sha512-DNE2Waiwy5+zZnCfintkDtBfaW6MjIG883474v6Z0K1XZIvl76cLND4iv0YUb48leyF+PJK1KO2XrgHb/KpmhQ=="
},
"@firebase/app": {
"version": "0.7.6",
"resolved": "https://registry.npmjs.org/@firebase/app/-/app-0.7.6.tgz",
"integrity": "sha512-/KqKT7BSq9qseBAjS6JxJy6QosoWRVvDT/3tV9p26gVM5mqrmimTJvSh5+NMlTn1cf00DjCzQcOyaZrcJB54dg==",
"requires": {
"@firebase/component": "0.5.8",
"@firebase/logger": "0.3.1",
"@firebase/util": "1.4.1",
"tslib": "^2.1.0"
}
},
"@firebase/app-check": {
"version": "0.5.0",
"resolved": "https://registry.npmjs.org/@firebase/app-check/-/app-check-0.5.0.tgz",
"integrity": "sha512-J9mod9V+o/0cq/57FxjAx5Whx7zVHJL0OWGi64ERFpG2gC9MAcGsqKy76zpGGTvEuGKEFgTILcXHchIlmjOrmw==",
"requires": {
"@firebase/component": "0.5.8",
"@firebase/logger": "0.3.1",
"@firebase/util": "1.4.1",
"tslib": "^2.1.0"
}
},
"@firebase/app-check-compat": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/@firebase/app-check-compat/-/app-check-compat-0.2.0.tgz",
"integrity": "sha512-SwXVFjcwC1ksYOT3GFyAa4nQeUfXSYN+j7B1Vb4qlk7CBqmIYWhX/KlP1EAaOhmPuwsvA10E1t3HKeY+rmFzkw==",
"requires": {
"@firebase/app-check": "0.5.0",
"@firebase/component": "0.5.8",
"@firebase/logger": "0.3.1",
"@firebase/util": "1.4.1",
"tslib": "^2.1.0"
}
},
"@firebase/app-check-interop-types": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/@firebase/app-check-interop-types/-/app-check-interop-types-0.1.0.tgz",
"integrity": "sha512-uZfn9s4uuRsaX5Lwx+gFP3B6YsyOKUE+Rqa6z9ojT4VSRAsZFko9FRn6OxQUA1z5t5d08fY4pf+/+Dkd5wbdbA=="
},
"@firebase/app-compat": {
"version": "0.1.7",
"resolved": "https://registry.npmjs.org/@firebase/app-compat/-/app-compat-0.1.7.tgz",
"integrity": "sha512-Wb8w5XRPMC9HYPByMfqJt6SVabWEtOL4ccZHjtOzaJa0pJkLOYmgUOikqTchHaRla/cHPfR6pBQO3C5ljikkyw==",
"requires": {
"@firebase/app": "0.7.6",
"@firebase/component": "0.5.8",
"@firebase/logger": "0.3.1",
"@firebase/util": "1.4.1",
"tslib": "^2.1.0"
}
},
"@firebase/app-types": {
"version": "0.7.0",
"resolved": "https://registry.npmjs.org/@firebase/app-types/-/app-types-0.7.0.tgz",
"integrity": "sha512-6fbHQwDv2jp/v6bXhBw2eSRbNBpxHcd1NBF864UksSMVIqIyri9qpJB1Mn6sGZE+bnDsSQBC5j2TbMxYsJQkQg=="
},
"@firebase/auth": {
"version": "0.19.1",
"resolved": "https://registry.npmjs.org/@firebase/auth/-/auth-0.19.1.tgz",
"integrity": "sha512-U5QV0AJ7RdHOHHLUYSZouRdu0hXJ0RFyRl9GgrwnkLKTX1qaWUrHOQZEwrD3TGE6bfFsWtjg+KYHeOImMqkB9g==",
"requires": {
"@firebase/component": "0.5.8",
"@firebase/logger": "0.3.1",
"@firebase/util": "1.4.1",
"node-fetch": "2.6.5",
"selenium-webdriver": "4.0.0-rc-1",
"tslib": "^2.1.0"
},
"dependencies": {
"node-fetch": {
"version": "2.6.5",
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.5.tgz",
"integrity": "sha512-mmlIVHJEu5rnIxgEgez6b9GgWXbkZj5YZ7fx+2r94a2E+Uirsp6HsPTPlomfdHtpt/B0cdKviwkoaM6pyvUOpQ==",
"requires": {
"whatwg-url": "^5.0.0"
}
},
"selenium-webdriver": {
"version": "4.0.0-rc-1",
"resolved": "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-4.0.0-rc-1.tgz",
"integrity": "sha512-bcrwFPRax8fifRP60p7xkWDGSJJoMkPAzufMlk5K2NyLPht/YZzR2WcIk1+3gR8VOCLlst1P2PI+MXACaFzpIw==",
"requires": {
"jszip": "^3.6.0",
"rimraf": "^3.0.2",
"tmp": "^0.2.1",
"ws": ">=7.4.6"
}
},
"tr46": {
"version": "0.0.3",
"resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
"integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o="
},
"webidl-conversions": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
"integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE="
},
"whatwg-url": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
"integrity": "sha1-lmRU6HZUYuN2RNNib2dCzotwll0=",
"requires": {
"tr46": "~0.0.3",
"webidl-conversions": "^3.0.0"
}
}
}
},
"@firebase/auth-compat": {
"version": "0.2.1",
"resolved": "https://registry.npmjs.org/@firebase/auth-compat/-/auth-compat-0.2.1.tgz",
"integrity": "sha512-D3Cs5maug2pvk0epjCnmgATVlT3Lt2/yPB7UTLKjM+ZW1RewRMd18ruMJkeSArwApHxi1CCPxSTKNqvG4eKSMw==",
"requires": {
"@firebase/auth": "0.19.1",
"@firebase/auth-types": "0.11.0",
"@firebase/component": "0.5.8",
"@firebase/util": "1.4.1",
"node-fetch": "2.6.5",
"selenium-webdriver": "^4.0.0-beta.2",
"tslib": "^2.1.0"
},
"dependencies": {
"node-fetch": {
"version": "2.6.5",
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.5.tgz",
"integrity": "sha512-mmlIVHJEu5rnIxgEgez6b9GgWXbkZj5YZ7fx+2r94a2E+Uirsp6HsPTPlomfdHtpt/B0cdKviwkoaM6pyvUOpQ==",
"requires": {
"whatwg-url": "^5.0.0"
}
},
"selenium-webdriver": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-4.0.0.tgz",
"integrity": "sha512-tOlu6FnTjPq2FKpd153pl8o2cB7H40Rvl/ogiD2sapMv4IDjQqpIxbd+swDJe9UDLdszeh5CDis6lgy4e9UG1w==",
"requires": {
"jszip": "^3.6.0",
"rimraf": "^3.0.2",
"tmp": "^0.2.1",
"ws": ">=7.4.6"
}
},
"tr46": {
"version": "0.0.3",
"resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
"integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o="
},
"webidl-conversions": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
"integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE="
},
"whatwg-url": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
"integrity": "sha1-lmRU6HZUYuN2RNNib2dCzotwll0=",
"requires": {
"tr46": "~0.0.3",
"webidl-conversions": "^3.0.0"
}
}
}
},
"@firebase/auth-interop-types": {
"version": "0.1.6",
"resolved": "https://registry.npmjs.org/@firebase/auth-interop-types/-/auth-interop-types-0.1.6.tgz",
"integrity": "sha512-etIi92fW3CctsmR9e3sYM3Uqnoq861M0Id9mdOPF6PWIg38BXL5k4upCNBggGUpLIS0H1grMOvy/wn1xymwe2g=="
},
"@firebase/auth-types": {
"version": "0.11.0",
"resolved": "https://registry.npmjs.org/@firebase/auth-types/-/auth-types-0.11.0.tgz",
"integrity": "sha512-q7Bt6cx+ySj9elQHTsKulwk3+qDezhzRBFC9zlQ1BjgMueUOnGMcvqmU0zuKlQ4RhLSH7MNAdBV2znVaoN3Vxw=="
},
"@firebase/component": {
"version": "0.5.8",
"resolved": "https://registry.npmjs.org/@firebase/component/-/component-0.5.8.tgz",
"integrity": "sha512-td705iXrumVoZbpxFg1kuD+/NtYMQwAK37DITJNmVEe5E0gUHAGeBptXNL4KPCHOd8+/7EB4JfaUOZDxylp2+g==",
"requires": {
"@firebase/util": "1.4.1",
"tslib": "^2.1.0"
}
},
"@firebase/database": {
"version": "0.12.3",
"resolved": "https://registry.npmjs.org/@firebase/database/-/database-0.12.3.tgz",
"integrity": "sha512-L2f1jgmQgrTL5l4rh4/JBw3+stVHaOSvd6sJ0aMJ3WifLLSYeW7TcqxrSqOqCqE8f2NlM2ugl9uF2/kJKk8V5A==",
"requires": {
"@firebase/auth-interop-types": "0.1.6",
"@firebase/component": "0.5.8",
"@firebase/logger": "0.3.1",
"@firebase/util": "1.4.1",
"faye-websocket": "0.11.4",
"tslib": "^2.1.0"
}
},
"@firebase/database-compat": {
"version": "0.1.3",
"resolved": "https://registry.npmjs.org/@firebase/database-compat/-/database-compat-0.1.3.tgz",
"integrity": "sha512-Y6di+XLM3UyntenjxWcmcesOfFjHOoaDqOStyryILSHNtyWeOCLDnuatJ/RNSNC2LDFFlKDqOj8C+LHGaubhNg==",
"requires": {
"@firebase/component": "0.5.8",
"@firebase/database": "0.12.3",
"@firebase/database-types": "0.9.2",
"@firebase/logger": "0.3.1",
"@firebase/util": "1.4.1",
"tslib": "^2.1.0"
}
},
"@firebase/database-types": {
"version": "0.9.2",
"resolved": "https://registry.npmjs.org/@firebase/database-types/-/database-types-0.9.2.tgz",
"integrity": "sha512-arIcrtyuca171NhaQNzyXd/+s8xemxnMpQb3hboW9UFbctOpa0fqmqMBg26rmIVOBzJ1APTw7GmXu7ch6JLoxA==",
"requires": {
"@firebase/app-types": "0.7.0",
"@firebase/util": "1.4.1"
}
},
"@firebase/firestore": {
"version": "3.2.1",
"resolved": "https://registry.npmjs.org/@firebase/firestore/-/firestore-3.2.1.tgz",
"integrity": "sha512-n0uNTRlhVee0O+VvDkB/e1gtH96+242LmRe8YUHGqGKPHgtFrZAhePlY31ujwaVzlP5Fw0hBffwYIe9GwWlmSA==",
"requires": {
"@firebase/component": "0.5.8",
"@firebase/logger": "0.3.1",
"@firebase/util": "1.4.1",
"@firebase/webchannel-wrapper": "0.6.1",
"@grpc/grpc-js": "^1.3.2",
"@grpc/proto-loader": "^0.6.0",
"node-fetch": "2.6.5",
"tslib": "^2.1.0"
},
"dependencies": {
"node-fetch": {
"version": "2.6.5",
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.5.tgz",
"integrity": "sha512-mmlIVHJEu5rnIxgEgez6b9GgWXbkZj5YZ7fx+2r94a2E+Uirsp6HsPTPlomfdHtpt/B0cdKviwkoaM6pyvUOpQ==",
"requires": {
"whatwg-url": "^5.0.0"
}
},
"tr46": {
"version": "0.0.3",
"resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
"integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o="
},
"webidl-conversions": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
"integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE="
},
"whatwg-url": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
"integrity": "sha1-lmRU6HZUYuN2RNNib2dCzotwll0=",
"requires": {
"tr46": "~0.0.3",
"webidl-conversions": "^3.0.0"
}
}
}
},
"@firebase/firestore-compat": {
"version": "0.1.6",
"resolved": "https://registry.npmjs.org/@firebase/firestore-compat/-/firestore-compat-0.1.6.tgz",
"integrity": "sha512-CzpC8dcnBdoKlONnmObCQYOq+zEPdt1wgBH7Jo/0IWFmLEOIJ0aFZoxv6JVqi/qrZIroJ3Yd1KK36auOiQJ7Fw==",
"requires": {
"@firebase/component": "0.5.8",
"@firebase/firestore": "3.2.1",
"@firebase/firestore-types": "2.5.0",
"@firebase/util": "1.4.1",
"tslib": "^2.1.0"
}
},
"@firebase/firestore-types": {
"version": "2.5.0",
"resolved": "https://registry.npmjs.org/@firebase/firestore-types/-/firestore-types-2.5.0.tgz",
"integrity": "sha512-I6c2m1zUhZ5SH0cWPmINabDyH5w0PPFHk2UHsjBpKdZllzJZ2TwTkXbDtpHUZNmnc/zAa0WNMNMvcvbb/xJLKA=="
},
"@firebase/functions": {
"version": "0.7.4",
"resolved": "https://registry.npmjs.org/@firebase/functions/-/functions-0.7.4.tgz",
"integrity": "sha512-HU6PNp4u1SNbXZD3Jy/Sv5bTmc/WZCd+tf4wWn7oHD83Ms285TGDjG6PrKxgZIuBL3aPF/2JBXrEgZL7BATI9w==",
"requires": {
"@firebase/app-check-interop-types": "0.1.0",
"@firebase/auth-interop-types": "0.1.6",
"@firebase/component": "0.5.8",
"@firebase/messaging-interop-types": "0.1.0",
"@firebase/util": "1.4.1",
"node-fetch": "2.6.5",
"tslib": "^2.1.0"
},
"dependencies": {
"node-fetch": {
"version": "2.6.5",
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.5.tgz",
"integrity": "sha512-mmlIVHJEu5rnIxgEgez6b9GgWXbkZj5YZ7fx+2r94a2E+Uirsp6HsPTPlomfdHtpt/B0cdKviwkoaM6pyvUOpQ==",
"requires": {
"whatwg-url": "^5.0.0"
}
},
"tr46": {
"version": "0.0.3",
"resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
"integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o="
},
"webidl-conversions": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
"integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE="
},
"whatwg-url": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
"integrity": "sha1-lmRU6HZUYuN2RNNib2dCzotwll0=",
"requires": {
"tr46": "~0.0.3",
"webidl-conversions": "^3.0.0"
}
}
}
},
"@firebase/functions-compat": {
"version": "0.1.5",
"resolved": "https://registry.npmjs.org/@firebase/functions-compat/-/functions-compat-0.1.5.tgz",
"integrity": "sha512-uqudQemXstb1lmiErVC8jCgLDyp/quc+McVekNLBCTfE9IoonXpepik0APH0Oj0smBs2oPIBpIL10VXdRjvP9Q==",
"requires": {
"@firebase/component": "0.5.8",
"@firebase/functions": "0.7.4",
"@firebase/functions-types": "0.5.0",
"@firebase/util": "1.4.1",
"tslib": "^2.1.0"
}
},
"@firebase/functions-types": {
"version": "0.5.0",
"resolved": "https://registry.npmjs.org/@firebase/functions-types/-/functions-types-0.5.0.tgz",
"integrity": "sha512-qza0M5EwX+Ocrl1cYI14zoipUX4gI/Shwqv0C1nB864INAD42Dgv4v94BCyxGHBg2kzlWy8PNafdP7zPO8aJQA=="
},
"@firebase/installations": {
"version": "0.5.3",
"resolved": "https://registry.npmjs.org/@firebase/installations/-/installations-0.5.3.tgz",
"integrity": "sha512-l4HGnzFbr9E9OuXHJwjAzcWb4YW6Z3dqAqFqE4uSeFZnTANi/tV5pUVJu4FZHidkFAH/MREwbfI5JACfQ7k1tQ==",
"requires": {
"@firebase/component": "0.5.8",
"@firebase/util": "1.4.1",
"idb": "3.0.2",
"tslib": "^2.1.0"
}
},
"@firebase/logger": {
"version": "0.3.1",
"resolved": "https://registry.npmjs.org/@firebase/logger/-/logger-0.3.1.tgz",
"integrity": "sha512-RlqTPGWQSFESVbcA9IsNi8hRcp+8SV7HHHAU7YrcmdXTD1RNlz50sCIq4EcXaXgBphdc7yb3Xtvle0QuFETUlg==",
"requires": {
"tslib": "^2.1.0"
}
},
"@firebase/messaging": {
"version": "0.9.3",
"resolved": "https://registry.npmjs.org/@firebase/messaging/-/messaging-0.9.3.tgz",
"integrity": "sha512-MOWm9gNTHimhxTnA5yqRZxC+E/iqnPMlX9mp55dLY/WKkpbjSNrORQmR7olLDGyCEsL+kIpLY7Hi4uPZu5t98Q==",
"requires": {
"@firebase/component": "0.5.8",
"@firebase/installations": "0.5.3",
"@firebase/messaging-interop-types": "0.1.0",
"@firebase/util": "1.4.1",
"idb": "3.0.2",
"tslib": "^2.1.0"
}
},
"@firebase/messaging-compat": {
"version": "0.1.3",
"resolved": "https://registry.npmjs.org/@firebase/messaging-compat/-/messaging-compat-0.1.3.tgz",
"integrity": "sha512-XoLJHpy6cSIWZvcNzz6j17UkIzYWZvz8u44P/mjkXq7K5Q0QsRMTSXxRRRrSlwFALEKq0kVY8YccshkVTvtIdw==",
"requires": {
"@firebase/component": "0.5.8",
"@firebase/messaging": "0.9.3",
"@firebase/util": "1.4.1",
"tslib": "^2.1.0"
}
},
"@firebase/messaging-interop-types": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/@firebase/messaging-interop-types/-/messaging-interop-types-0.1.0.tgz",
"integrity": "sha512-DbvUl/rXAZpQeKBnwz0NYY5OCqr2nFA0Bj28Fmr3NXGqR4PAkfTOHuQlVtLO1Nudo3q0HxAYLa68ZDAcuv2uKQ=="
},
"@firebase/performance": {
"version": "0.5.3",
"resolved": "https://registry.npmjs.org/@firebase/performance/-/performance-0.5.3.tgz",
"integrity": "sha512-L0MjQwfmc30Ep6IZxle9rjD9lYil82d8E6QChjD+NGaxQOkujJgHUSKmq7dE3pQpEPYQ0FOOzy7FKN2AJEiHKQ==",
"requires": {
"@firebase/component": "0.5.8",
"@firebase/installations": "0.5.3",
"@firebase/logger": "0.3.1",
"@firebase/util": "1.4.1",
"tslib": "^2.1.0"
}
},
"@firebase/performance-compat": {
"version": "0.1.3",
"resolved": "https://registry.npmjs.org/@firebase/performance-compat/-/performance-compat-0.1.3.tgz",
"integrity": "sha512-as/4kskp4yPgGrRQMRwuvOGnzoj/87e0CoEw31fCAVVakiHXznOu300kyEJad9IuVuIl7lxB03JoQTldwtUAnA==",
"requires": {
"@firebase/component": "0.5.8",
"@firebase/logger": "0.3.1",
"@firebase/performance": "0.5.3",
"@firebase/performance-types": "0.1.0",
"@firebase/util": "1.4.1",
"tslib": "^2.1.0"
}
},
"@firebase/performance-types": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/@firebase/performance-types/-/performance-types-0.1.0.tgz",
"integrity": "sha512-6p1HxrH0mpx+622Ql6fcxFxfkYSBpE3LSuwM7iTtYU2nw91Hj6THC8Bc8z4nboIq7WvgsT/kOTYVVZzCSlXl8w=="
},
"@firebase/polyfill": {
"version": "0.3.36",
"resolved": "https://registry.npmjs.org/@firebase/polyfill/-/polyfill-0.3.36.tgz",
"integrity": "sha512-zMM9oSJgY6cT2jx3Ce9LYqb0eIpDE52meIzd/oe/y70F+v9u1LDqk5kUF5mf16zovGBWMNFmgzlsh6Wj0OsFtg==",
"requires": {
"core-js": "3.6.5",
"promise-polyfill": "8.1.3",
"whatwg-fetch": "2.0.4"
},
"dependencies": {
"core-js": {
"version": "3.6.5",
"resolved": "https://registry.npmjs.org/core-js/-/core-js-3.6.5.tgz",
"integrity": "sha512-vZVEEwZoIsI+vPEuoF9Iqf5H7/M3eeQqWlQnYa8FSKKePuYTf5MWnxb5SDAzCa60b3JBRS5g9b+Dq7b1y/RCrA=="
}
}
},
"@firebase/remote-config": {
"version": "0.3.2",
"resolved": "https://registry.npmjs.org/@firebase/remote-config/-/remote-config-0.3.2.tgz",
"integrity": "sha512-kS31tzXZ4Jb1qFTM5zhx0Er0C3BPPMLxmZDe1xaPF/nNqP1CPFwnmUiGT2rnuQ90Uc4f0j24dahISQe9qlLniA==",
"requires": {
"@firebase/component": "0.5.8",
"@firebase/installations": "0.5.3",
"@firebase/logger": "0.3.1",
"@firebase/util": "1.4.1",
"tslib": "^2.1.0"
}
},
"@firebase/remote-config-compat": {
"version": "0.1.3",
"resolved": "https://registry.npmjs.org/@firebase/remote-config-compat/-/remote-config-compat-0.1.3.tgz",
"integrity": "sha512-BXrvJ9kLoiNgDXHgwLO83P287yj2cCdxtPpBBslZCgKiksSAAWSBsTYlIzMTFScJ9JcJDXvM1PXpejWPxCs8AA==",
"requires": {
"@firebase/component": "0.5.8",
"@firebase/logger": "0.3.1",
"@firebase/remote-config": "0.3.2",
"@firebase/remote-config-types": "0.2.0",
"@firebase/util": "1.4.1",
"tslib": "^2.1.0"
}
},
"@firebase/remote-config-types": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/@firebase/remote-config-types/-/remote-config-types-0.2.0.tgz",
"integrity": "sha512-hqK5sCPeZvcHQ1D6VjJZdW6EexLTXNMJfPdTwbD8NrXUw6UjWC4KWhLK/TSlL0QPsQtcKRkaaoP+9QCgKfMFPw=="
},
"@firebase/storage": {
"version": "0.8.5",
"resolved": "https://registry.npmjs.org/@firebase/storage/-/storage-0.8.5.tgz",
"integrity": "sha512-cYPNs8lAxlll4/SIorA/Wot4BngC/uLcq5AGN7axoVWeShmQyeLDL5h2XuqRks8JlJ6eHmpxZcDZNCxzAAj+lg==",
"requires": {
"@firebase/component": "0.5.8",
"@firebase/util": "1.4.1",
"node-fetch": "2.6.5",
"tslib": "^2.1.0"
},
"dependencies": {
"node-fetch": {
"version": "2.6.5",
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.5.tgz",
"integrity": "sha512-mmlIVHJEu5rnIxgEgez6b9GgWXbkZj5YZ7fx+2r94a2E+Uirsp6HsPTPlomfdHtpt/B0cdKviwkoaM6pyvUOpQ==",
"requires": {
"whatwg-url": "^5.0.0"
}
},
"tr46": {
"version": "0.0.3",
"resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
"integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o="
},
"webidl-conversions": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
"integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE="
},
"whatwg-url": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
"integrity": "sha1-lmRU6HZUYuN2RNNib2dCzotwll0=",
"requires": {
"tr46": "~0.0.3",
"webidl-conversions": "^3.0.0"
}
}
}
},
"@firebase/storage-compat": {
"version": "0.1.5",
"resolved": "https://registry.npmjs.org/@firebase/storage-compat/-/storage-compat-0.1.5.tgz",
"integrity": "sha512-Qnpp9SmoU4MtwXTpHbjNX5CzKMFz6xFJUJqGbsFDLoifsuQwUr/t8SPpLv2/evnPkIEw5c2rFu6nYLdDK8mslA==",
"requires": {
"@firebase/component": "0.5.8",
"@firebase/storage": "0.8.5",
"@firebase/storage-types": "0.6.0",
"@firebase/util": "1.4.1",
"tslib": "^2.1.0"
}
},
"@firebase/storage-types": {
"version": "0.6.0",
"resolved": "https://registry.npmjs.org/@firebase/storage-types/-/storage-types-0.6.0.tgz",
"integrity": "sha512-1LpWhcCb1ftpkP/akhzjzeFxgVefs6eMD2QeKiJJUGH1qOiows2w5o0sKCUSQrvrRQS1lz3SFGvNR1Ck/gqxeA=="
},
"@firebase/util": {
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/@firebase/util/-/util-1.4.1.tgz",
"integrity": "sha512-6GM+R1MQaLmzVOX/keb1oTWUYG0jqvA5dTsh/rsCNR1ndPCtDKiMTcH5XKHEzyog1+NLSVTSMsN/AqTmm2rGCw==",
"requires": {
"tslib": "^2.1.0"
}
},
"@firebase/webchannel-wrapper": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/@firebase/webchannel-wrapper/-/webchannel-wrapper-0.6.1.tgz",
"integrity": "sha512-9FqhNjKQWpQ3fGnSOCovHOm+yhhiorKEqYLAfd525jWavunDJcx8rOW6i6ozAh+FbwcYMkL7b+3j4UR/30MpoQ=="
},
"@fortawesome/angular-fontawesome": { "@fortawesome/angular-fontawesome": {
"version": "0.9.0", "version": "0.9.0",
"resolved": "https://registry.npmjs.org/@fortawesome/angular-fontawesome/-/angular-fontawesome-0.9.0.tgz", "resolved": "https://registry.npmjs.org/@fortawesome/angular-fontawesome/-/angular-fontawesome-0.9.0.tgz",
@@ -2295,6 +2862,43 @@
"resolved": "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.2.tgz", "resolved": "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.2.tgz",
"integrity": "sha512-82cpyJyKRoQoRi+14ibCeGPu0CwypgtBAdBhq1WfvagpCZNKqwXbKwXllYSMG91DhmG4jt9gN8eP6lGOtozuaw==" "integrity": "sha512-82cpyJyKRoQoRi+14ibCeGPu0CwypgtBAdBhq1WfvagpCZNKqwXbKwXllYSMG91DhmG4jt9gN8eP6lGOtozuaw=="
}, },
"@grpc/grpc-js": {
"version": "1.4.2",
"resolved": "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.4.2.tgz",
"integrity": "sha512-aUN6oGk9un8rfYWz73nQgFxPCYJQYd8LpIGguZHBsNduBMyqG6EWANrsVBuTG+nl/l4dKb3x+qi1l9+oxDxqGg==",
"requires": {
"@grpc/proto-loader": "^0.6.4",
"@types/node": ">=12.12.47"
}
},
"@grpc/proto-loader": {
"version": "0.6.6",
"resolved": "https://registry.npmjs.org/@grpc/proto-loader/-/proto-loader-0.6.6.tgz",
"integrity": "sha512-cdMaPZ8AiFz6ua6PUbP+LKbhwJbFXnrQ/mlnKGUyzDUZ3wp7vPLksnmLCBX6SHgSmjX7CbNVNLFYD5GmmjO4GQ==",
"requires": {
"@types/long": "^4.0.1",
"lodash.camelcase": "^4.3.0",
"long": "^4.0.0",
"protobufjs": "^6.10.0",
"yargs": "^16.1.1"
},
"dependencies": {
"yargs": {
"version": "16.2.0",
"resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz",
"integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==",
"requires": {
"cliui": "^7.0.2",
"escalade": "^3.1.1",
"get-caller-file": "^2.0.5",
"require-directory": "^2.1.1",
"string-width": "^4.2.0",
"y18n": "^5.0.5",
"yargs-parser": "^20.2.2"
}
}
}
},
"@hapi/hoek": { "@hapi/hoek": {
"version": "9.2.1", "version": "9.2.1",
"resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.2.1.tgz", "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.2.1.tgz",
@@ -2324,6 +2928,21 @@
"@types/cordova": "^0.0.34" "@types/cordova": "^0.0.34"
} }
}, },
"@ionic-native/fcm": {
"version": "5.36.0",
"resolved": "https://registry.npmjs.org/@ionic-native/fcm/-/fcm-5.36.0.tgz",
"integrity": "sha512-hToPT/4lqdaCc99sUYgnHM+DSFTe4WphF7Ia00QtwsNGW5/pS8w9iZSgppij5OJtwe67dNsuf2+PkxS4r7av/g==",
"requires": {
"@types/cordova": "^0.0.34"
},
"dependencies": {
"@types/cordova": {
"version": "0.0.34",
"resolved": "https://registry.npmjs.org/@types/cordova/-/cordova-0.0.34.tgz",
"integrity": "sha1-6nrd907Ow9dimCegw54smt3HPQQ="
}
}
},
"@ionic-native/file": { "@ionic-native/file": {
"version": "5.36.0", "version": "5.36.0",
"resolved": "https://registry.npmjs.org/@ionic-native/file/-/file-5.36.0.tgz", "resolved": "https://registry.npmjs.org/@ionic-native/file/-/file-5.36.0.tgz",
@@ -3851,6 +4470,60 @@
"resolved": "https://registry.npmjs.org/@pdftron/pdfjs-express/-/pdfjs-express-8.1.0.tgz", "resolved": "https://registry.npmjs.org/@pdftron/pdfjs-express/-/pdfjs-express-8.1.0.tgz",
"integrity": "sha512-YKH2M8ZVXQgFpxVKD48mtDcVwjdLkibp4j9gCMkywSwDc1lQv2jzGmRSBQzsq5QKVx54MHHVWIr5hG21KduACw==" "integrity": "sha512-YKH2M8ZVXQgFpxVKD48mtDcVwjdLkibp4j9gCMkywSwDc1lQv2jzGmRSBQzsq5QKVx54MHHVWIr5hG21KduACw=="
}, },
"@protobufjs/aspromise": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz",
"integrity": "sha1-m4sMxmPWaafY9vXQiToU00jzD78="
},
"@protobufjs/base64": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz",
"integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg=="
},
"@protobufjs/codegen": {
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz",
"integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg=="
},
"@protobufjs/eventemitter": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz",
"integrity": "sha1-NVy8mLr61ZePntCV85diHx0Ga3A="
},
"@protobufjs/fetch": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz",
"integrity": "sha1-upn7WYYUr2VwDBYZ/wbUVLDYTEU=",
"requires": {
"@protobufjs/aspromise": "^1.1.1",
"@protobufjs/inquire": "^1.1.0"
}
},
"@protobufjs/float": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz",
"integrity": "sha1-Xp4avctz/Ap8uLKR33jIy9l7h9E="
},
"@protobufjs/inquire": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz",
"integrity": "sha1-/yAOPnzyQp4tyvwRQIKOjMY48Ik="
},
"@protobufjs/path": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz",
"integrity": "sha1-bMKyDFya1q0NzP0hynZz2Nf79o0="
},
"@protobufjs/pool": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz",
"integrity": "sha1-Cf0V8tbTq/qbZbw2ZQbWrXhG/1Q="
},
"@protobufjs/utf8": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz",
"integrity": "sha1-p3c2C1s5oaLlEG+OhY8v0tBgxXA="
},
"@rkusa/linebreak": { "@rkusa/linebreak": {
"version": "1.0.0", "version": "1.0.0",
"resolved": "https://registry.npmjs.org/@rkusa/linebreak/-/linebreak-1.0.0.tgz", "resolved": "https://registry.npmjs.org/@rkusa/linebreak/-/linebreak-1.0.0.tgz",
@@ -4156,6 +4829,11 @@
"resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.175.tgz", "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.175.tgz",
"integrity": "sha512-XmdEOrKQ8a1Y/yxQFOMbC47G/V2VDO1GvMRnl4O75M4GW/abC5tnfzadQYkqEveqRM1dEJGFFegfPNA2vvx2iw==" "integrity": "sha512-XmdEOrKQ8a1Y/yxQFOMbC47G/V2VDO1GvMRnl4O75M4GW/abC5tnfzadQYkqEveqRM1dEJGFFegfPNA2vvx2iw=="
}, },
"@types/long": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/@types/long/-/long-4.0.1.tgz",
"integrity": "sha512-5tXH6Bx/kNGd3MgffdmP4dy2Z+G4eaXw0SE81Tq3BNadtnMR5/ySMzX4SLEzHJzSmPNn4HIdpQsBvXMUykr58w=="
},
"@types/minimatch": { "@types/minimatch": {
"version": "3.0.5", "version": "3.0.5",
"resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz", "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz",
@@ -4165,8 +4843,7 @@
"@types/node": { "@types/node": {
"version": "12.20.27", "version": "12.20.27",
"resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.27.tgz", "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.27.tgz",
"integrity": "sha512-qZdePUDSLAZRXXV234bLBEUM0nAQjoxbcSwp1rqSMUe1rZ47mwU6OjciR/JvF1Oo8mc0ys6GE0ks0HGgqAZoGg==", "integrity": "sha512-qZdePUDSLAZRXXV234bLBEUM0nAQjoxbcSwp1rqSMUe1rZ47mwU6OjciR/JvF1Oo8mc0ys6GE0ks0HGgqAZoGg=="
"dev": true
}, },
"@types/parse-json": { "@types/parse-json": {
"version": "4.0.0", "version": "4.0.0",
@@ -7117,10 +7794,9 @@
"integrity": "sha1-C8ZXVyduvZIMASzpIOJ0F3V2Nz4=", "integrity": "sha1-C8ZXVyduvZIMASzpIOJ0F3V2Nz4=",
"dev": true "dev": true
}, },
"cordova-plugin-crosswalk-webview": { "cordova-plugin-dbcopy": {
"version": "git+https://github.com/crosswalk-project/cordova-plugin-crosswalk-webview.git#58dda06c97609c6a0699b8d0691ad603901625ce", "version": "git+https://github.com/an-rahulpandey/cordova-plugin-dbcopy.git#861f585e4313db828d6b8c7d354c32c83373d0d2",
"from": "git+https://github.com/crosswalk-project/cordova-plugin-crosswalk-webview.git", "from": "git+https://github.com/an-rahulpandey/cordova-plugin-dbcopy.git"
"dev": true
}, },
"cordova-plugin-device": { "cordova-plugin-device": {
"version": "2.0.3", "version": "2.0.3",
@@ -8772,6 +9448,12 @@
"integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==", "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==",
"dev": true "dev": true
}, },
"es6-promise-plugin": {
"version": "4.2.2",
"resolved": "https://registry.npmjs.org/es6-promise-plugin/-/es6-promise-plugin-4.2.2.tgz",
"integrity": "sha512-uoA4aVplXI9oqUYJFBAVRwAqIN9/n9JgrTAUGX3qPbnSZVE5yY1+6/MsoN5f4xsaPO62WjPHOdtts6okMN6tNA==",
"dev": true
},
"es6-promisify": { "es6-promisify": {
"version": "5.0.0", "version": "5.0.0",
"resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz", "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz",
@@ -9373,7 +10055,6 @@
"version": "0.11.4", "version": "0.11.4",
"resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz",
"integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==",
"dev": true,
"requires": { "requires": {
"websocket-driver": ">=0.5.1" "websocket-driver": ">=0.5.1"
} }
@@ -9491,6 +10172,39 @@
"locate-path": "^2.0.0" "locate-path": "^2.0.0"
} }
}, },
"firebase": {
"version": "9.3.0",
"resolved": "https://registry.npmjs.org/firebase/-/firebase-9.3.0.tgz",
"integrity": "sha512-JGrWWmMjoDutwK8OGEE2nJoteQAR8r0LPqZnz6GHOtKMlVaNEbvy4eoIMuwnQFaap/lYdAVfWkRJghuSGdCrnQ==",
"requires": {
"@firebase/analytics": "0.7.3",
"@firebase/analytics-compat": "0.1.4",
"@firebase/app": "0.7.6",
"@firebase/app-check": "0.5.0",
"@firebase/app-check-compat": "0.2.0",
"@firebase/app-compat": "0.1.7",
"@firebase/app-types": "0.7.0",
"@firebase/auth": "0.19.1",
"@firebase/auth-compat": "0.2.1",
"@firebase/database": "0.12.3",
"@firebase/database-compat": "0.1.3",
"@firebase/firestore": "3.2.1",
"@firebase/firestore-compat": "0.1.6",
"@firebase/functions": "0.7.4",
"@firebase/functions-compat": "0.1.5",
"@firebase/installations": "0.5.3",
"@firebase/messaging": "0.9.3",
"@firebase/messaging-compat": "0.1.3",
"@firebase/performance": "0.5.3",
"@firebase/performance-compat": "0.1.3",
"@firebase/polyfill": "0.3.36",
"@firebase/remote-config": "0.3.2",
"@firebase/remote-config-compat": "0.1.3",
"@firebase/storage": "0.8.5",
"@firebase/storage-compat": "0.1.5",
"@firebase/util": "1.4.1"
}
},
"flatted": { "flatted": {
"version": "2.0.2", "version": "2.0.2",
"resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz", "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz",
@@ -10277,8 +10991,7 @@
"http-parser-js": { "http-parser-js": {
"version": "0.5.3", "version": "0.5.3",
"resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.3.tgz", "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.3.tgz",
"integrity": "sha512-t7hjvef/5HEK7RWTdUzVUhl8zkEu+LlaE0IYzdMuvbSDipxBRpOn4Uhw8ZyECEa808iVT8XCjzo6xmYt4CiLZg==", "integrity": "sha512-t7hjvef/5HEK7RWTdUzVUhl8zkEu+LlaE0IYzdMuvbSDipxBRpOn4Uhw8ZyECEa808iVT8XCjzo6xmYt4CiLZg=="
"dev": true
}, },
"http-proxy": { "http-proxy": {
"version": "1.18.1", "version": "1.18.1",
@@ -10492,6 +11205,11 @@
"integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==",
"dev": true "dev": true
}, },
"idb": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/idb/-/idb-3.0.2.tgz",
"integrity": "sha512-+FLa/0sTXqyux0o6C+i2lOR0VoS60LU/jzUo5xjfY6+7sEEgy4Gz1O7yFBXvjd7N0NyIGWIRg8DcQSLEG+VSPw=="
},
"ieee754": { "ieee754": {
"version": "1.2.1", "version": "1.2.1",
"resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
@@ -13967,7 +14685,6 @@
"version": "3.7.1", "version": "3.7.1",
"resolved": "https://registry.npmjs.org/jszip/-/jszip-3.7.1.tgz", "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.7.1.tgz",
"integrity": "sha512-ghL0tz1XG9ZEmRMcEN2vt7xabrDdqHHeykgARpmZ0BiIctWxM47Vt63ZO2dnp4QYt/xJVLLy5Zv1l/xRdh2byg==", "integrity": "sha512-ghL0tz1XG9ZEmRMcEN2vt7xabrDdqHHeykgARpmZ0BiIctWxM47Vt63ZO2dnp4QYt/xJVLLy5Zv1l/xRdh2byg==",
"dev": true,
"requires": { "requires": {
"lie": "~3.3.0", "lie": "~3.3.0",
"pako": "~1.0.2", "pako": "~1.0.2",
@@ -13979,7 +14696,6 @@
"version": "3.3.0", "version": "3.3.0",
"resolved": "https://registry.npmjs.org/lie/-/lie-3.3.0.tgz", "resolved": "https://registry.npmjs.org/lie/-/lie-3.3.0.tgz",
"integrity": "sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==", "integrity": "sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==",
"dev": true,
"requires": { "requires": {
"immediate": "~3.0.5" "immediate": "~3.0.5"
} }
@@ -13987,14 +14703,12 @@
"pako": { "pako": {
"version": "1.0.11", "version": "1.0.11",
"resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz",
"integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw=="
"dev": true
}, },
"readable-stream": { "readable-stream": {
"version": "2.3.7", "version": "2.3.7",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
"integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
"dev": true,
"requires": { "requires": {
"core-util-is": "~1.0.0", "core-util-is": "~1.0.0",
"inherits": "~2.0.3", "inherits": "~2.0.3",
@@ -14008,14 +14722,12 @@
"safe-buffer": { "safe-buffer": {
"version": "5.1.2", "version": "5.1.2",
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
"integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
"dev": true
}, },
"string_decoder": { "string_decoder": {
"version": "1.1.1", "version": "1.1.1",
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
"integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
"dev": true,
"requires": { "requires": {
"safe-buffer": "~5.1.0" "safe-buffer": "~5.1.0"
} }
@@ -14636,6 +15348,11 @@
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
"integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
}, },
"lodash.camelcase": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz",
"integrity": "sha1-soqmKIorn8ZRA1x3EfZathkDMaY="
},
"lodash.debounce": { "lodash.debounce": {
"version": "4.0.8", "version": "4.0.8",
"resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz",
@@ -14747,6 +15464,11 @@
"@sinonjs/commons": "^1.7.0" "@sinonjs/commons": "^1.7.0"
} }
}, },
"long": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz",
"integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA=="
},
"loose-envify": { "loose-envify": {
"version": "1.4.0", "version": "1.4.0",
"resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
@@ -17843,6 +18565,11 @@
"resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz",
"integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=" "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM="
}, },
"promise-polyfill": {
"version": "8.1.3",
"resolved": "https://registry.npmjs.org/promise-polyfill/-/promise-polyfill-8.1.3.tgz",
"integrity": "sha512-MG5r82wBzh7pSKDRa9y+vllNHz3e3d4CNj1PQE4BQYxLme0gKYYBm9YENq+UkEikyZ0XbiGWxYlVw3Rl9O/U8g=="
},
"promise-retry": { "promise-retry": {
"version": "2.0.1", "version": "2.0.1",
"resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz", "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz",
@@ -17883,6 +18610,33 @@
"string.prototype.codepointat": "^0.2.0" "string.prototype.codepointat": "^0.2.0"
} }
}, },
"protobufjs": {
"version": "6.11.2",
"resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-6.11.2.tgz",
"integrity": "sha512-4BQJoPooKJl2G9j3XftkIXjoC9C0Av2NOrWmbLWT1vH32GcSUHjM0Arra6UfTsVyfMAuFzaLucXn1sadxJydAw==",
"requires": {
"@protobufjs/aspromise": "^1.1.2",
"@protobufjs/base64": "^1.1.2",
"@protobufjs/codegen": "^2.0.4",
"@protobufjs/eventemitter": "^1.1.0",
"@protobufjs/fetch": "^1.1.0",
"@protobufjs/float": "^1.0.2",
"@protobufjs/inquire": "^1.1.0",
"@protobufjs/path": "^1.1.2",
"@protobufjs/pool": "^1.1.0",
"@protobufjs/utf8": "^1.1.0",
"@types/long": "^4.0.1",
"@types/node": ">=13.7.0",
"long": "^4.0.0"
},
"dependencies": {
"@types/node": {
"version": "16.11.6",
"resolved": "https://registry.npmjs.org/@types/node/-/node-16.11.6.tgz",
"integrity": "sha512-ua7PgUoeQFjmWPcoo9khiPum3Pd60k4/2ZGXt18sm2Slk0W0xZTqt5Y0Ny1NyBiN1EVQ/+FaF9NcY4Qe6rwk5w=="
}
}
},
"protractor": { "protractor": {
"version": "7.0.0", "version": "7.0.0",
"resolved": "https://registry.npmjs.org/protractor/-/protractor-7.0.0.tgz", "resolved": "https://registry.npmjs.org/protractor/-/protractor-7.0.0.tgz",
@@ -19540,8 +20294,7 @@
"set-immediate-shim": { "set-immediate-shim": {
"version": "1.0.1", "version": "1.0.1",
"resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz", "resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz",
"integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=", "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E="
"dev": true
}, },
"set-value": { "set-value": {
"version": "2.0.1", "version": "2.0.1",
@@ -23372,7 +24125,6 @@
"version": "0.7.4", "version": "0.7.4",
"resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz",
"integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==",
"dev": true,
"requires": { "requires": {
"http-parser-js": ">=0.5.1", "http-parser-js": ">=0.5.1",
"safe-buffer": ">=5.1.0", "safe-buffer": ">=5.1.0",
@@ -23382,8 +24134,7 @@
"websocket-extensions": { "websocket-extensions": {
"version": "0.1.4", "version": "0.1.4",
"resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz",
"integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg=="
"dev": true
}, },
"whatwg-encoding": { "whatwg-encoding": {
"version": "1.0.5", "version": "1.0.5",
@@ -23405,6 +24156,11 @@
} }
} }
}, },
"whatwg-fetch": {
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-2.0.4.tgz",
"integrity": "sha512-dcQ1GWpOD/eEQ97k66aiEVpNnapVj90/+R+SXTPYGHpYBBypfKJEQjLrvMZ7YXbKm21gXd4NcuxUTjiv1YtLng=="
},
"whatwg-mimetype": { "whatwg-mimetype": {
"version": "2.3.0", "version": "2.3.0",
"resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz",
+38 -4
View File
@@ -31,7 +31,8 @@
"@angular/platform-browser": "~12.1.2", "@angular/platform-browser": "~12.1.2",
"@angular/platform-browser-dynamic": "~12.1.2", "@angular/platform-browser-dynamic": "~12.1.2",
"@angular/router": "~12.1.2", "@angular/router": "~12.1.2",
"@capacitor/android": "3.3.0", "@capacitor/android": "^3.3.0",
"@capacitor/app": "^1.0.5",
"@capacitor/core": "^3.3.0", "@capacitor/core": "^3.3.0",
"@capacitor/filesystem": "^1.0.6", "@capacitor/filesystem": "^1.0.6",
"@capacitor/haptics": "^1.1.3", "@capacitor/haptics": "^1.1.3",
@@ -47,6 +48,7 @@
"@fullcalendar/interaction": "^5.3.0", "@fullcalendar/interaction": "^5.3.0",
"@ionic-native/camera": "^5.31.1", "@ionic-native/camera": "^5.31.1",
"@ionic-native/core": "^5.0.7", "@ionic-native/core": "^5.0.7",
"@ionic-native/fcm": "^5.36.0",
"@ionic-native/file": "^5.36.0", "@ionic-native/file": "^5.36.0",
"@ionic-native/file-path": "^5.30.0", "@ionic-native/file-path": "^5.30.0",
"@ionic-native/fingerprint-aio": "^4.20.0", "@ionic-native/fingerprint-aio": "^4.20.0",
@@ -84,6 +86,7 @@
"capacitor-voice-recorder": "^2.0.0", "capacitor-voice-recorder": "^2.0.0",
"ci": "^2.1.1", "ci": "^2.1.1",
"cordova": "^10.0.0", "cordova": "^10.0.0",
"cordova-plugin-dbcopy": "git+https://github.com/an-rahulpandey/cordova-plugin-dbcopy.git",
"cordova-plugin-filepath": "^1.5.8", "cordova-plugin-filepath": "^1.5.8",
"cordova-plugin-okhttp": "^2.0.0", "cordova-plugin-okhttp": "^2.0.0",
"cordova-res": "^0.15.3", "cordova-res": "^0.15.3",
@@ -95,6 +98,7 @@
"dotenv": "^10.0.0", "dotenv": "^10.0.0",
"duration": "^0.2.2", "duration": "^0.2.2",
"faker": "^5.5.3", "faker": "^5.5.3",
"firebase": "^9.3.0",
"global": "^4.4.0", "global": "^4.4.0",
"hammerjs": "^2.0.8", "hammerjs": "^2.0.8",
"http-server": "^0.12.3", "http-server": "^0.12.3",
@@ -104,7 +108,7 @@
"ionic2-calendar": "^0.6.6", "ionic2-calendar": "^0.6.6",
"ionicons": "^5.5.3", "ionicons": "^5.5.3",
"jest-puppeteer": "^5.0.4", "jest-puppeteer": "^5.0.4",
"jetifier": "^1.6.6", "jetifier": "^1.6.8",
"lite-server": "^2.6.1", "lite-server": "^2.6.1",
"moment": "^2.29.1", "moment": "^2.29.1",
"ng2-pdf-viewer": "^7.0.1", "ng2-pdf-viewer": "^7.0.1",
@@ -145,7 +149,6 @@
"cordova-plugin-androidx": "^3.0.0", "cordova-plugin-androidx": "^3.0.0",
"cordova-plugin-androidx-adapter": "^1.1.3", "cordova-plugin-androidx-adapter": "^1.1.3",
"cordova-plugin-compat": "^1.2.0", "cordova-plugin-compat": "^1.2.0",
"cordova-plugin-crosswalk-webview": "git+https://github.com/crosswalk-project/cordova-plugin-crosswalk-webview.git",
"cordova-plugin-device": "^2.0.2", "cordova-plugin-device": "^2.0.2",
"cordova-plugin-dialogs": "^2.0.2", "cordova-plugin-dialogs": "^2.0.2",
"cordova-plugin-file": "^6.0.2", "cordova-plugin-file": "^6.0.2",
@@ -162,6 +165,7 @@
"cordova-plugin-streaming-media": "^2.3.0", "cordova-plugin-streaming-media": "^2.3.0",
"cordova-plugin-telerik-imagepicker": "^2.3.6", "cordova-plugin-telerik-imagepicker": "^2.3.6",
"cordova-plugin-whitelist": "^1.3.4", "cordova-plugin-whitelist": "^1.3.4",
"es6-promise-plugin": "^4.2.2",
"jasmine-core": "~3.6.0", "jasmine-core": "~3.6.0",
"jasmine-spec-reporter": "~5.0.0", "jasmine-spec-reporter": "~5.0.0",
"jest": "^27.0.6", "jest": "^27.0.6",
@@ -194,7 +198,37 @@
"cordova-plugin-ionic-webview": {}, "cordova-plugin-ionic-webview": {},
"cordova-plugin-screen-orientation": {}, "cordova-plugin-screen-orientation": {},
"cordova-plugin-network-information": {}, "cordova-plugin-network-information": {},
"cordova-plugin-file": {} "cordova-plugin-file": {},
"cordova-plugin-firebasex": {
"FIREBASE_ANALYTICS_COLLECTION_ENABLED": "true",
"FIREBASE_PERFORMANCE_COLLECTION_ENABLED": "true",
"FIREBASE_CRASHLYTICS_COLLECTION_ENABLED": "true",
"ANDROID_ICON_ACCENT": "#FF00FFFF",
"ANDROID_FIREBASE_PERFORMANCE_MONITORING": "false",
"ANDROID_PLAY_SERVICES_TAGMANAGER_VERSION": "17.0.0",
"ANDROID_PLAY_SERVICES_AUTH_VERSION": "19.0.0",
"ANDROID_FIREBASE_ANALYTICS_VERSION": "19.0.0",
"ANDROID_FIREBASE_MESSAGING_VERSION": "22.0.0",
"ANDROID_FIREBASE_CONFIG_VERSION": "21.0.0",
"ANDROID_FIREBASE_PERF_VERSION": "20.0.2",
"ANDROID_FIREBASE_AUTH_VERSION": "21.0.1",
"ANDROID_FIREBASE_INAPPMESSAGING_VERSION": "20.0.0",
"ANDROID_FIREBASE_FIRESTORE_VERSION": "23.0.2",
"ANDROID_FIREBASE_FUNCTIONS_VERSION": "20.0.0",
"ANDROID_FIREBASE_IID_VERSION": "21.1.0",
"ANDROID_FIREBASE_INSTALLATIONS_VERSION": "17.0.0",
"ANDROID_FIREBASE_CRASHLYTICS_VERSION": "18.1.0",
"ANDROID_FIREBASE_CRASHLYTICS_NDK_VERSION": "18.1.0",
"ANDROID_GSON_VERSION": "2.8.7",
"ANDROID_FIREBASE_PERF_GRADLE_PLUGIN_VERSION": "1.4.0"
},
"cordova-plugin-fcm-with-dependecy-updated": {
"ANDROID_FCM_VERSION": "19.0.0",
"ANDROID_GRADLE_TOOLS_VERSION": "3.5.3",
"ANDROID_GOOGLE_SERVICES_VERSION": "4.3.3",
"ANDROID_DEFAULT_NOTIFICATION_ICON": "@mipmap/ic_launcher"
},
"cordova-plugin-dbcopy": {}
}, },
"platforms": [ "platforms": [
"browser", "browser",
+15 -1
View File
@@ -8,6 +8,7 @@ import * as _rollupMoment from 'moment';
import { NgxMatDateFormats } from '@angular-material-components/datetime-picker'; import { NgxMatDateFormats } from '@angular-material-components/datetime-picker';
const moment = _rollupMoment || _moment; const moment = _rollupMoment || _moment;
import { NGX_MAT_DATE_FORMATS } from '@angular-material-components/datetime-picker'; import { NGX_MAT_DATE_FORMATS } from '@angular-material-components/datetime-picker';
import { SqliteService } from 'src/app/services/sqlite.service';
import { ScreenOrientation } from '@ionic-native/screen-orientation/ngx'; import { ScreenOrientation } from '@ionic-native/screen-orientation/ngx';
@@ -37,7 +38,8 @@ export class AppComponent {
private platform: Platform, private platform: Platform,
/* private splashScreen: SplashScreen, */ /* private splashScreen: SplashScreen, */
private statusBar: StatusBar, private statusBar: StatusBar,
private screenOrientation: ScreenOrientation private screenOrientation: ScreenOrientation,
private sqliteservice: SqliteService
) { ) {
this.initializeApp(); this.initializeApp();
} }
@@ -51,7 +53,19 @@ export class AppComponent {
this.screenOrientation.unlock(); this.screenOrientation.unlock();
} else if( this.platform.is("mobile")) { } else if( this.platform.is("mobile")) {
this.screenOrientation.lock(this.screenOrientation.ORIENTATIONS.PORTRAIT_PRIMARY); this.screenOrientation.lock(this.screenOrientation.ORIENTATIONS.PORTRAIT_PRIMARY);
console.log('Orientation locked')
} }
if (this.platform.is('desktop') || this.platform.is('mobileweb')) {
} else {
try {
this.sqliteservice.databaseConn();
} catch (error) {
console.log("Error creating local database: ", error)
}
}
}); });
} }
} }
+6 -1
View File
@@ -65,6 +65,10 @@ import { Media } from '@ionic-native/media/ngx';
import { StreamingMedia } from '@ionic-native/streaming-media/ngx'; import { StreamingMedia } from '@ionic-native/streaming-media/ngx';
import { PhotoViewer } from '@ionic-native/photo-viewer/ngx'; import { PhotoViewer } from '@ionic-native/photo-viewer/ngx';
/* import { FCM } from '@ionic-native/fcm/ngx';
import { FirebaseX } from '@ionic-native/firebase-x/ngx'; */
//import { FCM } from 'cordova-plugin-fcm-with-dependecy-updated/ionic/ngx';
@NgModule({ @NgModule({
declarations: [AppComponent], declarations: [AppComponent],
entryComponents: [], entryComponents: [],
@@ -111,7 +115,8 @@ import { PhotoViewer } from '@ionic-native/photo-viewer/ngx';
//File, //File,
WebView, WebView,
FilePath, FilePath,
//FCM, /* FCM,
FirebaseX, */
WebsocketService, WebsocketService,
ChatService, ChatService,
ScreenOrientation, ScreenOrientation,
+14 -51
View File
@@ -1,10 +1,9 @@
/* eslint-disable */ /* eslint-disable */
/* tslint:disable */ /* tslint:disable */
import { Component, OnInit, NgZone } from '@angular/core'; import { Component, OnInit, NgZone } from '@angular/core';
import { Event } from '../models/event.model'; import { Event } from '../models/event.model';
import { NotificationsService } from '../services/notifications.service'; import { NotificationsService } from '../services/notifications.service';
import { WebNotificationsService } from '../services/webnotifications.service'; /*import { WebNotificationsService } from '../services/webnotifications.service'; */
import { AlertController, Platform } from '@ionic/angular'; import { AlertController, Platform } from '@ionic/angular';
import { Router, ActivatedRoute } from '@angular/router'; import { Router, ActivatedRoute } from '@angular/router';
import { ToDayEventStorage } from '../store/to-day-event-storage.service'; import { ToDayEventStorage } from '../store/to-day-event-storage.service';
@@ -15,7 +14,7 @@ import { InativityService } from '../services/inativity.service';
import { SessionStore } from '../store/session.service'; import { SessionStore } from '../store/session.service';
import { StorageService } from '../services/storage.service'; import { StorageService } from '../services/storage.service';
import { File } from '@ionic-native/file/ngx'; import { File } from '@ionic-native/file/ngx';
import { WebNotificationPopupService } from '../services/notification/web-notification-popup.service'; /* import { WebNotificationPopupService } from '../services/notification/web-notification-popup.service'; */
import { DocumentCounterService } from '../services/worker/document-counter.service'; import { DocumentCounterService } from '../services/worker/document-counter.service';
import { PermissionService } from '../services/worker/permission.service'; import { PermissionService } from '../services/worker/permission.service';
import { Network } from '@ionic-native/network/ngx'; import { Network } from '@ionic-native/network/ngx';
@@ -25,7 +24,6 @@ import { Storage } from '@ionic/storage';
import { EventsService } from 'src/app/services/events.service'; import { EventsService } from 'src/app/services/events.service';
import { ScreenOrientation } from '@ionic-native/screen-orientation/ngx'; import { ScreenOrientation } from '@ionic-native/screen-orientation/ngx';
@Component({ @Component({
selector: 'app-home', selector: 'app-home',
templateUrl: './home.page.html', templateUrl: './home.page.html',
@@ -74,20 +72,20 @@ export class HomePage implements OnInit {
private notificationsService: NotificationsService, private notificationsService: NotificationsService,
private platform: Platform, private platform: Platform,
private activeroute: ActivatedRoute, private activeroute: ActivatedRoute,
private webnotification: WebNotificationsService, /* private webnotification: WebNotificationsService, */
public p: PermissionService, public p: PermissionService,
public documentCounterService: DocumentCounterService, public documentCounterService: DocumentCounterService,
private despachoRule: DespachoService, private despachoRule: DespachoService,
private inativityService: InativityService, private inativityService: InativityService,
private storageService: StorageService, private storageService: StorageService,
private webNotificationPopupService: WebNotificationPopupService, /* private webNotificationPopupService: WebNotificationPopupService, */
private backgroundservice: BackgroundService, private backgroundservice: BackgroundService,
private offlinemanager: OfflineManagerService, private offlinemanager: OfflineManagerService,
private storage: Storage, private storage: Storage,
private eventservice: EventsService, private eventservice: EventsService,
private screenOrientation: ScreenOrientation) { private screenOrientation: ScreenOrientation,) {
this.webNotificationPopupService.askNotificationPermission() /* this.webNotificationPopupService.askNotificationPermission() */
this.router.events.subscribe((val) => { this.router.events.subscribe((val) => {
document.querySelectorAll('ion-modal').forEach((e: any) => e.remove()) document.querySelectorAll('ion-modal').forEach((e: any) => e.remove())
@@ -115,14 +113,15 @@ export class HomePage implements OnInit {
ngOnInit() { ngOnInit() {
this.notificationsService.onReciveForeground();
this.notificationsService.onReciveBackground();
window.addEventListener('online', () => { window.addEventListener('online', () => {
console.log('Became online') console.log('Became online')
this.backgroundservice.online() this.backgroundservice.online()
if (this.platform.is('desktop') || this.platform.is('mobileweb')) { if (this.platform.is('desktop') || this.platform.is('mobileweb')) {
this.webnotification.webconnection();
} else { } else {
this.mobilefirstConnect(); /* this.notificationsService.onReceviNotification(); */
this.notificationsService.onReceviNotification();
this.offlinemanager.synchnize() this.offlinemanager.synchnize()
} }
}); });
@@ -133,59 +132,23 @@ export class HomePage implements OnInit {
this.updateList() this.updateList()
var myWorker = new Worker(new URL('./nice.worker.js', import.meta.url)); /* var myWorker = new Worker(new URL('./nice.worker.js', import.meta.url));
myWorker.onmessage = function (oEvent) { myWorker.onmessage = function (oEvent) {
console.log('Worker said : ' + oEvent.data); console.log('Worker said : ' + oEvent.data);
} }
myWorker.postMessage('ali'); myWorker.postMessage('ali'); */
} }
mobilefirstConnect() {
console.log("Mobileconecct");
/* if (window['WLAuthorizationManager']) {
if (window['WLAuthorizationManager'].obtainAccessToken) {
window['WLAuthorizationManager'].obtainAccessToken("").then((token) => {
console.log('MobileFirst Server connect: Success ' + token);
var resourceRequest = new WLResourceRequest("/adapters/javaAdapter/resource/greet/",
WLResourceRequest.GET
);
resourceRequest.setQueryParameter("name", "world");
resourceRequest.send().then(
(response) => {
// Will display "Hello world" in an alert dialog.
console.log("Connect with JavaAdapter Success: " + response.responseText);
//this.MFPushNotification();
},
(error) => {
console.log("Connect with JavaAdapter Failure: " + JSON.stringify(error));
}
);
}, (error) => {
console.log('MobileFirst Server connect: failure ' + error.responseText);
console.log(JSON.stringify(error))
});
}
} */
}
updateList() { updateList() {
this.notificationsService.registerCallback( /* this.notificationsService.registerCallback(
'despachos', 'despachos',
() => { () => {
this.despachoRule.getList({ updateStore: true }) this.despachoRule.getList({ updateStore: true })
} }
) ) */
document.addEventListener('pause', function () { document.addEventListener('pause', function () {
// console.log('App going to background'); // console.log('App going to background');
+2 -2
View File
@@ -1,5 +1,5 @@
postMessage("I\'m working before postMessage(\'ali\')."); /* postMessage("I\'m working before postMessage(\'ali\').");
onmessage = function(oEvent) { onmessage = function(oEvent) {
postMessage('Hi ' + oEvent.data); postMessage('Hi ' + oEvent.data);
}; }; */
+2 -2
View File
@@ -56,8 +56,8 @@
</div> </div>
<div class="approve-event-detail"> <div class="approve-event-detail">
<p *ngIf = "item.Service == 'agenda'">{{item.Location}}</p> <p *ngIf = "item.Service == 'agenda'">{{item.Location}}</p>
<h3 id="profile-title">{{item.alert}}</h3> <h3 id="profile-title">{{item.title}}</h3>
<p *ngIf = "item.Service != 'agenda'">{{item.desc}}</p> <p *ngIf = "item.Service != 'agenda'">{{item.body}}</p>
</div> </div>
<!-- <div class="notification-label-MD-official" *ngIf = "item.Service == 'agenda' && item.TypeAgenda == 'official' && item.Role == '100000011'" ></div> <!-- <div class="notification-label-MD-official" *ngIf = "item.Service == 'agenda' && item.TypeAgenda == 'official' && item.Role == '100000011'" ></div>
<div class="notification-label-MD-pessoal" *ngIf = "item.Service == 'agenda' && item.TypeAgenda == 'pessoal' && item.Role == '100000011'" ></div> <div class="notification-label-MD-pessoal" *ngIf = "item.Service == 'agenda' && item.TypeAgenda == 'pessoal' && item.Role == '100000011'" ></div>
+33 -29
View File
@@ -1,4 +1,3 @@
import { Component, OnInit, NgZone } from '@angular/core'; import { Component, OnInit, NgZone } from '@angular/core';
import { Router, NavigationExtras } from '@angular/router'; import { Router, NavigationExtras } from '@angular/router';
import { AnimationController, ModalController,Platform } from '@ionic/angular'; import { AnimationController, ModalController,Platform } from '@ionic/angular';
@@ -6,9 +5,8 @@ import { LoginUserRespose } from 'src/app/models/user.model';
import { AuthService } from 'src/app/services/auth.service'; import { AuthService } from 'src/app/services/auth.service';
import { LocalstoreService } from 'src/app/store/localstore.service'; import { LocalstoreService } from 'src/app/store/localstore.service';
import { EditProfilePage } from './edit-profile/edit-profile.page'; import { EditProfilePage } from './edit-profile/edit-profile.page';
import { JsonStore } from '../../services/jsonStore.service';
import { StorageService } from '../../services/storage.service'; import { StorageService } from '../../services/storage.service';
import { NotificationsService } from '../../services/notifications.service'; /* import { NotificationsService } from '../../services/notifications.service'; */
import { SessionStore } from 'src/app/store/session.service'; import { SessionStore } from 'src/app/store/session.service';
import { EventTrigger } from '../../services/eventTrigger.service'; import { EventTrigger } from '../../services/eventTrigger.service';
import { ThemeService } from 'src/app/services/theme.service' import { ThemeService } from 'src/app/services/theme.service'
@@ -38,12 +36,11 @@ export class ProfilePage implements OnInit {
private animationController: AnimationController, private animationController: AnimationController,
private router: Router, private router: Router,
private localstoreService: LocalstoreService, private localstoreService: LocalstoreService,
private jsonstore: JsonStore,
private storageservice: StorageService, private storageservice: StorageService,
private zone: NgZone, private zone: NgZone,
private notificationservice: NotificationsService, /* private notificationservice: NotificationsService, */
private platform: Platform, private platform: Platform,
private notificationsService: NotificationsService, /* private notificationsService: NotificationsService, */
private eventtrigger: EventTrigger, private eventtrigger: EventTrigger,
public ThemeService: ThemeService public ThemeService: ThemeService
) { ) {
@@ -62,14 +59,14 @@ export class ProfilePage implements OnInit {
this.getNotificationData(); this.getNotificationData();
} }
this.notificationsService.registerCallback( /* this.notificationsService.registerCallback(
'any', 'any',
() => { () => {
setTimeout(()=>{ setTimeout(()=>{
this.getNotificationData(); this.getNotificationData();
}, 100) }, 100)
} }
) ) */
} }
@@ -86,33 +83,40 @@ export class ProfilePage implements OnInit {
this.storageservice.get("Notifications").then((value) => { this.storageservice.get("Notifications").then((value) => {
console.log("Init get store", value) console.log("Init get store", value)
/* var data = JSON.parse(value); */
console.log("Init store parse", value)
if(typeof(value) == 'string') {
value = JSON.parse(value)
console.log("CSDfdvdf",value)
}
this.DataArray = [] this.DataArray = []
value.forEach((element,i) => { value.forEach((element,i) => {
console.log("ARaaAA", element) console.log("ARaaAA", element)
let notificationObject; let notificationObject = {
if(element.payload){ index: i,
title: element.title,
Service: element.data.Service,
Object: element.data.Object,
IdObject: element.data.IdObject,
FolderId: element.data.FolderId,
body: element.body,
dateInit: this.getFormatedTime(element.data.dateInit),
dateEnd: this.getFormatedTime(element.data.dateEnd),
Location: element.data.Location,
TypeAgenda: element.data.TypeAgenda,
Role: element.data.Role,
Status: element.data.Status
}
/* if(element.payload){
var payload = JSON.parse(element.payload) var payload = JSON.parse(element.payload)
notificationObject = { notificationObject = {
index: i, //index: i,
alert: element.alert, //alert: element.alert,
Service: payload.Service, Service: payload.Service,
Object: payload.Object, Object: payload.Object,
IdObject: payload.IdObject, IdObject: payload.IdObject,
FolderId: payload.FolderId, //FolderId: payload.FolderId,
desc: payload.desc, //desc: payload.desc,
dateInit: this.getFormatedTime(payload.dateInit), //dateInit: this.getFormatedTime(payload.dateInit),
dateEnd: this.getFormatedTime(payload.dateEnd), //dateEnd: this.getFormatedTime(payload.dateEnd),
Location: payload.Location, //Location: payload.Location,
TypeAgenda: payload.TypeAgenda, //TypeAgenda: payload.TypeAgenda,
Role: payload.Role, //Role: payload.Role,
Status: payload.Status //Status: payload.Status
} }
} else { } else {
notificationObject = { notificationObject = {
@@ -130,7 +134,7 @@ export class ProfilePage implements OnInit {
Role: element.Role, Role: element.Role,
Status: element.Status Status: element.Status
} }
} }*/
this.DataArray.push(notificationObject) this.DataArray.push(notificationObject)
@@ -201,7 +205,7 @@ export class ProfilePage implements OnInit {
this.zone.run(() => this.router.navigate(['/home/gabinete-digital/expedientes-pr', IdObject, 'gabinete-digital'])); this.zone.run(() => this.router.navigate(['/home/gabinete-digital/expedientes-pr', IdObject, 'gabinete-digital']));
} }
this.notificationservice.tempClearArray(); //this.notificationservice.tempClearArray();
this.deleteNotification(index); this.deleteNotification(index);
this.eventtrigger.publishSomeData({ this.eventtrigger.publishSomeData({
notification: "deleted" notification: "deleted"
+1 -1
View File
@@ -1,4 +1,4 @@
export class Token { export class Tokenn {
UserId: number; UserId: number;
TokenId: string; TokenId: string;
Status: number; Status: number;
+1
View File
@@ -735,6 +735,7 @@ export class AgendaPage implements OnInit {
Profile: profile Profile: profile
} }
this.sqliteservice.addEvent(event) this.sqliteservice.addEvent(event)
}); });
} }
} }
+1 -1
View File
@@ -26,7 +26,7 @@ import { NavigationStart, NavigationEnd, Router } from '@angular/router';
import { EventPerson } from 'src/app/models/eventperson.model'; import { EventPerson } from 'src/app/models/eventperson.model';
import { removeDuplicate } from 'src/plugin/removeDuplicate.js' import { removeDuplicate } from 'src/plugin/removeDuplicate.js'
import { environment } from 'src/environments/environment'; import { environment } from 'src/environments/environment';
import { NotificationsService } from 'src/app/services/notifications.service'; //import { NotificationsService } from 'src/app/services/notifications.service';
import { TimeService } from 'src/app/services/functions/time.service'; import { TimeService } from 'src/app/services/functions/time.service';
import { ThemeService } from 'src/app/services/theme.service' import { ThemeService } from 'src/app/services/theme.service'
import { DataService } from 'src/app/services/data.service'; import { DataService } from 'src/app/services/data.service';
+24 -25
View File
@@ -78,7 +78,7 @@ export class EventsPage implements OnInit {
loggeduser: LoginUserRespose; loggeduser: LoginUserRespose;
existingScreenOrientation: string; /* existingScreenOrientation: string; */
constructor( constructor(
private eventService: EventsService, private eventService: EventsService,
@@ -97,8 +97,8 @@ export class EventsPage implements OnInit {
private backgroundservice: BackgroundService, private backgroundservice: BackgroundService,
public ThemeService: ThemeService public ThemeService: ThemeService
) { ) {
this.existingScreenOrientation = this.screenOrientation.type; /* this.existingScreenOrientation = this.screenOrientation.type;
console.log(this.existingScreenOrientation); console.log(this.existingScreenOrientation); */
this.loggeduser = authService.ValidatedUser; this.loggeduser = authService.ValidatedUser;
@@ -109,12 +109,6 @@ export class EventsPage implements OnInit {
// console.log('Resize event detected'); // console.log('Resize event detected');
}); });
try {
this.sqliteservice.databaseConn();
} catch (error) {
console.log("Error creating local database: ", error)
}
window['zipPhoneCallback'] = function (zipphone) { window['zipPhoneCallback'] = function (zipphone) {
var frame = document.getElementById('home-iframe'); var frame = document.getElementById('home-iframe');
@@ -172,22 +166,22 @@ export class EventsPage implements OnInit {
} }
// Lock to portrait // Lock to portrait
lockToPortrait() { /* lockToPortrait() {
this.screenOrientation.lock(this.screenOrientation.ORIENTATIONS.PORTRAIT); this.screenOrientation.lock(this.screenOrientation.ORIENTATIONS.PORTRAIT);
console.log('set'); console.log('set');
} } */
// Lock to landscape // Lock to landscape
lockToLandscape() { /* lockToLandscape() {
this.screenOrientation.lock(this.screenOrientation.ORIENTATIONS.LANDSCAPE); this.screenOrientation.lock(this.screenOrientation.ORIENTATIONS.LANDSCAPE);
} } */
// Unlock screen orientation // Unlock screen orientation
unlockScreenOrientation() { /* unlockScreenOrientation() {
this.screenOrientation.unlock(); this.screenOrientation.unlock();
} } */
checkScreenOrientation() { /* checkScreenOrientation() {
if (window.innerWidth < 701) { if (window.innerWidth < 701) {
this.lockToPortrait(); this.lockToPortrait();
console.log('was here'); console.log('was here');
@@ -196,7 +190,7 @@ export class EventsPage implements OnInit {
else { else {
this.unlockScreenOrientation(); this.unlockScreenOrientation();
} }
} } */
async RefreshEvents() { async RefreshEvents() {
this.currentEvent = ""; this.currentEvent = "";
@@ -329,6 +323,18 @@ export class EventsPage implements OnInit {
} }
} }
addProcessToDb(list) {
if (this.platform.is('desktop') || this.platform.is('mobileweb')) {
} else {
if (list.length > 0) {
list.forEach(element => {
this.sqliteservice.addProcess(element)
});
}
}
}
getEventsFromLocalDb() { getEventsFromLocalDb() {
let date = new Date(); let date = new Date();
@@ -463,14 +469,7 @@ export class EventsPage implements OnInit {
LoadList() { LoadList() {
this.processes.GetTaskListExpediente(false).subscribe(result => { this.processes.GetTaskListExpediente(false).subscribe(result => {
console.log("Expediente", result); console.log("Expediente", result);
this.addProcessToDb(result);
if (this.platform.is('desktop') || this.platform.is('mobileweb')) {
} else {
result.forEach((element) => {
this.sqliteservice.addProcess(element)
})
}
const ExpedienteTask = result.map(e => this.expedienteTaskPipe.transform(e)) const ExpedienteTask = result.map(e => this.expedienteTaskPipe.transform(e))
@@ -131,7 +131,7 @@ ion-item{
font-family: Roboto; font-family: Roboto;
font-size: 12pt; font-size: 12pt;
font-weight: 700; font-weight: 700;
color: #0d89d1; color: var(--title-text-color);
padding-left: 3px; padding-left: 3px;
.subject{ .subject{
@@ -19,7 +19,7 @@ import { WaitForDomService } from 'src/app/services/dom/wait-for-dom.service';
import { TotalDocumentStore } from 'src/app/store/total-document.service'; import { TotalDocumentStore } from 'src/app/store/total-document.service';
import { DeplomasStore } from 'src/app/store/deplomas.service'; import { DeplomasStore } from 'src/app/store/deplomas.service';
import { CustomTaskPipe } from 'src/app/pipes/custom-task.pipe'; import { CustomTaskPipe } from 'src/app/pipes/custom-task.pipe';
import { NotificationsService } from 'src/app/services/notifications.service'; //import { NotificationsService } from 'src/app/services/notifications.service';
import { DespachoService } from 'src/app/Rules/despacho.service'; import { DespachoService } from 'src/app/Rules/despacho.service';
import { ChangeProfileService } from 'src/app/services/change-profile.service'; import { ChangeProfileService } from 'src/app/services/change-profile.service';
import { PermissionService } from 'src/app/services/worker/permission.service'; import { PermissionService } from 'src/app/services/worker/permission.service';
@@ -124,7 +124,7 @@ export class GabineteDigitalPage implements OnInit, DoCheck {
authService: AuthService, authService: AuthService,
public p: PermissionService, public p: PermissionService,
public waitForDomService: WaitForDomService, public waitForDomService: WaitForDomService,
private notificationsService: NotificationsService, //private notificationsService: NotificationsService,
private despachoRule: DespachoService, private despachoRule: DespachoService,
private sqliteservice: SqliteService, private sqliteservice: SqliteService,
private platform: Platform, private platform: Platform,
@@ -141,6 +141,8 @@ export class InactivityPage implements OnInit {
} }
getToken() { getToken() {
this.notificatinsservice.requestPermissions();
this.notificatinsservice.registrationError();
this.notificatinsservice.getAndpostToken(this.username); this.notificatinsservice.getAndpostToken(this.username);
} }
+2
View File
@@ -74,6 +74,8 @@ export class LoginPage implements OnInit {
} }
getToken() { getToken() {
this.notificatinsservice.requestPermissions();
this.notificatinsservice.registrationError();
this.notificatinsservice.getAndpostToken(this.username); this.notificatinsservice.getAndpostToken(this.username);
} }
@@ -1,16 +0,0 @@
import { TestBed } from '@angular/core/testing';
import { JsonStore } from './jsonStore.service';
describe('JsonStore', () => {
let service: JsonStore;
beforeEach(() => {
TestBed.configureTestingModule({});
service = TestBed.inject(JsonStore);
});
it('should be created', () => {
expect(service).toBeTruthy();
});
});
+2 -3
View File
@@ -1,4 +1,3 @@
import { Injectable } from "@angular/core"; import { Injectable } from "@angular/core";
@Injectable({ @Injectable({
@@ -107,7 +106,7 @@ export class JsonStore {
replaceDocument(collectionName: string, document: any) { replaceDocument(collectionName: string, document: any) {
/* var document = { Example of how identify the document to replace /* var document = { Example of how identify the document to replace
_id: 1, json: {name: 'chevy', age: 23} _id: 1, json: {name: 'chevy', age: 23}
}; */ };
var options = {}; var options = {};
/* WL.JSONStore.get(collectionName).replace(document, options).then(function (numberOfDocsReplaced) { /* WL.JSONStore.get(collectionName).replace(document, options).then(function (numberOfDocsReplaced) {
@@ -118,7 +117,7 @@ export class JsonStore {
} }
removeDocument(collectionName: any,query: any,) { removeDocument(collectionName: any,query: any,) {
/* var query = { _id: 1 }; Exemple of query*/ /* var query = { _id: 1 }; Exemple of query
var options = { exact: true }; var options = { exact: true };
/* WL.JSONStore.get(collectionName).remove(query, options).then(function (numberOfDocsRemoved) { /* WL.JSONStore.get(collectionName).remove(query, options).then(function (numberOfDocsRemoved) {
console.log("JsonStore remove document sucess: ", numberOfDocsRemoved) console.log("JsonStore remove document sucess: ", numberOfDocsRemoved)
+151 -37
View File
@@ -6,15 +6,15 @@ import { HttpClient } from '@angular/common/http';
import { environment } from 'src/environments/environment'; import { environment } from 'src/environments/environment';
import { StorageService } from 'src/app/services/storage.service'; import { StorageService } from 'src/app/services/storage.service';
import { AuthConnstants } from 'src/app/config/auth-constants'; import { AuthConnstants } from 'src/app/config/auth-constants';
import { Token } from '../models/token.model'; import { Tokenn } from '../models/token.model';
import { ModalController, AlertController, AnimationController, Platform } from '@ionic/angular'; import { ModalController, AlertController, AnimationController, Platform } from '@ionic/angular';
import { NavigationExtras, Router } from '@angular/router'; import { NavigationExtras, Router } from '@angular/router';
import { ToastService } from '../services/toast.service'; import { ToastService } from '../services/toast.service';
import { JsonStore } from './jsonStore.service';
import { BackgroundService } from './background.service'; import { BackgroundService } from './background.service';
import { v4 as uuidv4 } from 'uuid'; import { v4 as uuidv4 } from 'uuid';
import { EventTrigger } from '../services/eventTrigger.service'; import { EventTrigger } from '../services/eventTrigger.service';
import { SessionStore } from '../store/session.service'; import { SessionStore } from '../store/session.service';
import { ActionPerformed, PushNotificationSchema, PushNotifications, Token, } from '@capacitor/push-notifications';
@Injectable({ @Injectable({
providedIn: 'root' providedIn: 'root'
@@ -23,7 +23,7 @@ export class NotificationsService {
adding: "intervenient" | "CC" = "intervenient"; adding: "intervenient" | "CC" = "intervenient";
folderId: string; folderId: string;
DataArray: Array<String> = []; DataArray = new Array();
callbacks: { callbacks: {
type: string, type: string,
@@ -42,12 +42,14 @@ export class NotificationsService {
private toastService: ToastService, private toastService: ToastService,
private zone: NgZone, private zone: NgZone,
private activeroute: ActivatedRoute, private activeroute: ActivatedRoute,
private jsonstore: JsonStore,
private eventtrigger: EventTrigger, private eventtrigger: EventTrigger,
private backgroundservice: BackgroundService) { private backgroundservice: BackgroundService,
/* private fcm: FCM */) {
this.storageService.get("Notifications").then((value) => { this.storageService.get("Notifications").then((value) => {
}).catch(()=>{
}).catch(() => { }).catch(() => {
this.storageService.store("Notifications", []) this.storageService.store("Notifications", [])
@@ -80,10 +82,123 @@ export class NotificationsService {
getTokenByUserIdAndId(user, userID) { getTokenByUserIdAndId(user, userID) {
const geturl = environment.apiURL + 'notifications/user/' + userID; const geturl = environment.apiURL + 'notifications/user/' + userID;
return this.http.get<Token[]>(`${geturl}`); return this.http.get<Tokenn[]>(`${geturl}`);
}
requestPermissions() {
PushNotifications.requestPermissions().then(result => {
if (result.receive === 'granted') {
// Register with Apple / Google to receive push via APNS/FCM
PushNotifications.register();
} else {
// Show some error
}
});
} }
getAndpostToken(username) { getAndpostToken(username) {
if (this.platform.is('desktop') || this.platform.is('mobileweb')) {
console.log('Notifications not supported')
} else {
const geturl = environment.apiURL + 'notifications/token';
PushNotifications.addListener('registration',
(token: Token) => {
console.log('token: ', token.value)
this.storageService.store(username, token.value);
this.storageService.get(username).then(value => {
console.log('STORAGE TOKEN', value)
this.storageService.get(AuthConnstants.USER).then(res => {
console.log('USERID', res);
const headers = { 'Authorization': SessionStore.user.BasicAuthKey };
const body = {
UserId: res.UserId,
TokenId: token.value,
Status: 1,
Service: 1
};
this.http.post<Tokenn>(`${geturl}`, body, { headers }).subscribe(data => {
console.log('TOKEN USER MIDLE', data);
}, (error) => {
console.log('Post token to backend', error)
})
});
});
}
);
}
}
registrationError() {
PushNotifications.addListener('registrationError',
(error: any) => {
console.log('Error on registration: ' + JSON.stringify(error));
}
);
}
onReciveForeground() {
PushNotifications.addListener('pushNotificationReceived',
(notification: PushNotificationSchema) => {
console.log('Push received: ' + JSON.stringify(notification));
this.DataArray.push(notification)
console.log("On ReceiveNotification", this.DataArray)
this.storageService.store("Notifications", this.DataArray)
this.eventtrigger.publishSomeData({
notification: "recive"
})
}
);
}
onReciveBackground() {
PushNotifications.addListener('pushNotificationActionPerformed',
(notification: ActionPerformed) => {
console.log('Push action performed: ' + JSON.stringify(notification));
this.notificatinsRoutes(notification)
}
);
}
/*
async onReceviNotification() {
this.fcm.onNotification().subscribe(data => {
if (data.click_action) {
console.log("Received in background: ", data);
this.notificatinsRoutes(data)
} else {
console.log("Received in foreground: ", data);
console.log(data.Service)
console.log(data.Object)
console.log(data.IdObject)
this.DataArray.push(data)
console.log("On ReceiveNotification", this.DataArray)
this.storageService.store("Notifications", this.DataArray)
};
});
} */
/////////////////////////////////////////////////////
/* getTokenByUserIdAndId(user, userID) {
const geturl = environment.apiURL + 'notifications/user/' + userID;
return this.http.get<Token[]>(`${geturl}`);
}
*/
/* getAndpostToken(username) {
if (this.platform.is('desktop') || this.platform.is('mobileweb')) { if (this.platform.is('desktop') || this.platform.is('mobileweb')) {
//console.log('Notifications not supported') //console.log('Notifications not supported')
@@ -143,20 +258,19 @@ export class NotificationsService {
} }
} } */
tempClearArray() { tempClearArray() {
this.DataArray = []; this.DataArray = new Array;
} }
async onReceviNotification() { /* async onReceviNotification() {
if(window['WLAuthorizationManager']) { if(window['WLAuthorizationManager']) {
if(window['WLAuthorizationManager'].obtainAccessToken) { if(window['WLAuthorizationManager'].obtainAccessToken) {
window['WLAuthorizationManager'].obtainAccessToken("push.mobileclient").then( window['WLAuthorizationManager'].obtainAccessToken("push.mobileclient").then(
(token) => { (token) => {
console.log('Push Notification: Success ' + token); console.log('Push Notification: Success ' + token);
window['MFPPush'].initialize( window['MFPPush'].initialize(
function (successResponse) { function (successResponse) {
console.log("Push notification Successfully intialized: " + successResponse); console.log("Push notification Successfully intialized: " + successResponse);
@@ -187,7 +301,7 @@ export class NotificationsService {
if(message.actionName){ if(message.actionName){
this.notificatinsRoutes(data); this.notificatinsRoutes(data);
} else { } else {
/* this.toastService.notificationMessage(message.alert,this.notificatinsRoutes, data); */ /* this.toastService.notificationMessage(message.alert,this.notificatinsRoutes, data);
//this.notificatinsRoutes(data); //this.notificatinsRoutes(data);
console.log(data) console.log(data)
} }
@@ -208,52 +322,52 @@ export class NotificationsService {
} }
} } */
notificatinsRoutes = (data) => { notificatinsRoutes = (notification) => {
if (data.Service === "agenda") { if (notification.data.Service === "agenda") {
this.zone.run(() => this.router.navigate(['/home/agenda', data.IdObject, 'agenda'])); this.zone.run(() => this.router.navigate(['/home/agenda', notification.data.IdObject, 'agenda']));
} }
else if (data.Service === "gabinete-digital" && data.Object === "expediente") { else if (notification.data.Service === "gabinete-digital" && notification.data.Object === "expediente") {
this.zone.run(() => this.router.navigate(['/home/gabinete-digital/expediente',data.IdObject,'gabinete-digital'])); this.zone.run(() => this.router.navigate(['/home/gabinete-digital/expediente', notification.data.IdObject, 'gabinete-digital']));
} }
else if (data.Service === "agenda" && data.Object === "event-list") { else if (notification.data.Service === "agenda" && notification.data.Object === "event-list") {
this.zone.run(() => this.router.navigate(['/home/agenda/event-list/approve-event',data.IdObject, 'agenda'])); this.zone.run(() => this.router.navigate(['/home/agenda/event-list/approve-event', notification.data.IdObject, 'agenda']));
}else if (data.Service === "gabinete-digital" && data.Object === "despachos") { } else if (notification.data.Service === "gabinete-digital" && notification.data.Object === "despachos") {
this.zone.run(() => this.router.navigate(['/home/gabinete-digital/despachos',data.IdObject,'gabinete-digital'],{replaceUrl: true})); this.zone.run(() => this.router.navigate(['/home/gabinete-digital/despachos', notification.data.IdObject, 'gabinete-digital'], { replaceUrl: true }));
} }
else if (data.Service === "gabinete-digital" && data.Object === "parecer") { else if (notification.data.Service === "gabinete-digital" && notification.data.Object === "parecer") {
this.zone.run(() => this.router.navigate(['/home/gabinete-digital/pedidos',data.IdObject,'gabinete-digital'])); this.zone.run(() => this.router.navigate(['/home/gabinete-digital/pedidos', notification.data.IdObject, 'gabinete-digital']));
} }
else if (data.Service === "gabinete-digital" && data.Object === "deferimento") { else if (notification.data.Service === "gabinete-digital" && notification.data.Object === "deferimento") {
this.zone.run(() => this.router.navigate(['/home/gabinete-digital/pedidos',data.IdObject,'gabinete-digital'])); this.zone.run(() => this.router.navigate(['/home/gabinete-digital/pedidos', notification.data.IdObject, 'gabinete-digital']));
} }
else if (data.Service === "gabinete-digital" && data.Object === "despachos-pr") { else if (notification.data.Service === "gabinete-digital" && notification.data.Object === "despachos-pr") {
this.zone.run(() =>this.router.navigate(['/home/gabinete-digital/despachos-pr',data.IdObject,'gabinete-digital'])); this.zone.run(() => this.router.navigate(['/home/gabinete-digital/despachos-pr', notification.data.IdObject, 'gabinete-digital']));
} }
else if (data.Service === "accoes" && data.Object === "accao") { else if (notification.data.Service === "accoes" && notification.data.Object === "accao") {
this.zone.run(() => this.router.navigate(['/home/publications',data.IdObject])); this.zone.run(() => this.router.navigate(['/home/publications', notification.data.IdObject]));
} }
else if (data.Service === "accoes" && data.Object === "publicacao") { else if (notification.data.Service === "accoes" && notification.data.Object === "publicacao") {
this.zone.run(() => this.router.navigate(['/home/publications/view-publications',data.FolderId,data.IdObject])); this.zone.run(() => this.router.navigate(['/home/publications/view-publications', notification.data.FolderId, notification.data.IdObject]));
} }
else if (data.Service === "gabinete-digital" && data.Object === "diplomas") { else if (notification.data.Service === "gabinete-digital" && notification.data.Object === "diplomas") {
this.zone.run(() =>this.router.navigate(['/home/gabinete-digital/diplomas', data.IdObject, 'gabinete-digital'])); this.zone.run(() => this.router.navigate(['/home/gabinete-digital/diplomas', notification.data.IdObject, 'gabinete-digital']));
} }
else if (data.Service === "gabinete-digital" && data.Object === "diplomas-assinar") { else if (notification.data.Service === "gabinete-digital" && notification.data.Object === "diplomas-assinar") {
let navigationExtras: NavigationExtras = { let navigationExtras: NavigationExtras = {
queryParams: { queryParams: {
"serialNumber": data.IdObject, "serialNumber": notification.data.IdObject,
} }
}; };
this.zone.run(() => this.router.navigate(['/home/gabinete-digital/diplomas-assinar/diploma-assinar'], navigationExtras)); this.zone.run(() => this.router.navigate(['/home/gabinete-digital/diplomas-assinar/diploma-assinar'], navigationExtras));
} }
else if (data.Service === "gabinete-digital" && data.Object === "expedientes-pr") { else if (notification.data.Service === "gabinete-digital" && notification.data.Object === "expedientes-pr") {
this.zone.run(() =>this.router.navigate(['/home/gabinete-digital/expedientes-pr',data.IdObject,'gabinete-digital'])); this.zone.run(() => this.router.navigate(['/home/gabinete-digital/expedientes-pr', notification.data.IdObject, 'gabinete-digital']));
} }
} }
+7 -1
View File
@@ -26,14 +26,18 @@ export class SqliteService {
} }
databaseConn() { databaseConn() {
console.log('SQLDBConnect')
if (this.platform.is('desktop') || this.platform.is('mobileweb')) { if (this.platform.is('desktop') || this.platform.is('mobileweb')) {
} else { } else {
console.log('SQLDBConnect22')
this.platform.ready().then(async () => { this.platform.ready().then(async () => {
await this.sqlite.create({ console.log('SQLDBConnect33')
this.sqlite.create({
name: this.db_name, name: this.db_name,
location: 'default' location: 'default'
}).then(async (sqLite: SQLiteObject) => { }).then(async (sqLite: SQLiteObject) => {
this.dbInstance = sqLite; this.dbInstance = sqLite;
console.log('SQLITE INSTACE ',this.dbInstance);
await sqLite.executeSql(` await sqLite.executeSql(`
CREATE TABLE IF NOT EXISTS ${this.events} ( CREATE TABLE IF NOT EXISTS ${this.events} (
EventId varchar(255) PRIMARY KEY, EventId varchar(255) PRIMARY KEY,
@@ -125,6 +129,8 @@ export class SqliteService {
.catch((error) => console.log(JSON.stringify(error))); .catch((error) => console.log(JSON.stringify(error)));
}) })
.catch((error) => console.log(JSON.stringify(error))); .catch((error) => console.log(JSON.stringify(error)));
}).catch((error) => {
console.log('Platform ready error', error)
}); });
} }
} }
+1 -1
View File
@@ -3,7 +3,7 @@ import { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';
import { environment } from 'src/environments/environment'; import { environment } from 'src/environments/environment';
import { StorageService } from 'src/app/services/storage.service'; import { StorageService } from 'src/app/services/storage.service';
import { AuthConnstants } from 'src/app/config/auth-constants'; import { AuthConnstants } from 'src/app/config/auth-constants';
import { Token } from '../models/token.model'; import { Tokenn } from '../models/token.model';
import { ModalController, AlertController, AnimationController, Platform } from '@ionic/angular'; import { ModalController, AlertController, AnimationController, Platform } from '@ionic/angular';
import { NavigationExtras, Router } from '@angular/router'; import { NavigationExtras, Router } from '@angular/router';
import { ToastService } from './toast.service'; import { ToastService } from './toast.service';
@@ -6,7 +6,6 @@
<ion-icon slot="end" class="title-icon font-awesome" name="reload-circle"></ion-icon> <ion-icon slot="end" class="title-icon font-awesome" name="reload-circle"></ion-icon>
</button> </button>
</div> </div>
<div class="bottom-title d-flex"><h3 class="bottom-text">Diplomas para Assinar</h3></div>
</div> </div>
</ion-header> </ion-header>
<ion-content> <ion-content>
@@ -129,7 +129,7 @@ ion-item{
font-family: Roboto; font-family: Roboto;
font-size: 12pt; font-size: 12pt;
font-weight: 700; font-weight: 700;
color: #0d89d1; color: var(--title-text-color);
padding-left: 3px; padding-left: 3px;
.subject{ .subject{
@@ -58,7 +58,7 @@ ion-item{
font-family: Roboto; font-family: Roboto;
font-size: 12pt; font-size: 12pt;
font-weight: 700; font-weight: 700;
color: #0d89d1; color: var(--title-text-color);
padding-left: 3px; padding-left: 3px;
.subject{ .subject{
+6 -6
View File
@@ -6,7 +6,7 @@ import { LoginUserRespose } from 'src/app/models/user.model';
import { ProfilePage } from 'src/app/modals/profile/profile.page'; import { ProfilePage } from 'src/app/modals/profile/profile.page';
import { StorageService } from '../../services/storage.service'; import { StorageService } from '../../services/storage.service';
import { SessionStore } from 'src/app/store/session.service'; import { SessionStore } from 'src/app/store/session.service';
import { NotificationsService } from '../../services/notifications.service'; //import { NotificationsService } from '../../services/notifications.service';
import { environment } from 'src/environments/environment'; import { environment } from 'src/environments/environment';
import { EventTrigger } from '../../services/eventTrigger.service'; import { EventTrigger } from '../../services/eventTrigger.service';
import { ThemeService } from '../../services/theme.service'; import { ThemeService } from '../../services/theme.service';
@@ -35,7 +35,7 @@ export class HeaderPage implements OnInit {
private animationController: AnimationController, private animationController: AnimationController,
private storageservice: StorageService, private storageservice: StorageService,
private platform: Platform, private platform: Platform,
private notificationsService: NotificationsService, //private notificationsService: NotificationsService,
private eventrigger: EventTrigger, private eventrigger: EventTrigger,
public ThemeService: ThemeService public ThemeService: ThemeService
) { ) {
@@ -56,18 +56,18 @@ export class HeaderPage implements OnInit {
} else { } else {
this.UpdateNotificationCount(); this.UpdateNotificationCount();
} */ } */
}
ionViewWillEnter() {
this.eventrigger.getObservable().subscribe((data) => { this.eventrigger.getObservable().subscribe((data) => {
if (data.notification == "delete" || "recive") { if (data.notification == "delete" || "recive") {
this.notificationLengthData(); this.notificationLengthData();
console.log('Deleted notification', data) console.log('Deleted notification', data)
} }
}) })
} }
UpdateNotificationCount() { /* UpdateNotificationCount() {
this.notificationsService.registerCallback( this.notificationsService.registerCallback(
'any', 'any',
() => { () => {
@@ -76,7 +76,7 @@ export class HeaderPage implements OnInit {
}, 100) }, 100)
} }
) )
} } */
notificationLengthData() { notificationLengthData() {
this.storageservice.get("Notifications").then((value) => { this.storageservice.get("Notifications").then((value) => {
+23 -37
View File
@@ -1,42 +1,28 @@
function wlCommonInit() {
if(window['WLAuthorizationManager']) { // Import the functions you need from the SDKs you need
if(window['WLAuthorizationManager'].obtainAccessToken) { import { initializeApp } from "https://www.gstatic.com/firebasejs/9.2.0/firebase-app.js";;
window['WLAuthorizationManager'].obtainAccessToken("").then( import { getAnalytics } from "https://www.gstatic.com/firebasejs/9.2.0/firebase-analytics.js";
(token) => { import { getMessaging, getToken } from "https://www.gstatic.com/firebasejs/9.2.0/firebase-messaging.js";
console.log('MobileFirst Server connect: Success ' + token);
var resourceRequest = new WLResourceRequest("/adapters/javaAdapter/resource/greet/", // TODO: Add SDKs for Firebase products that you want to use
WLResourceRequest.GET // https://firebase.google.com/docs/web/setup#available-libraries
);
resourceRequest.setQueryParameter("name", "world"); // Your web app's Firebase configuration
resourceRequest.send().then( // For Firebase JS SDK v7.20.0 and later, measurementId is optional
(response) => { const firebaseConfig = {
// Will display "Hello world" in an alert dialog. apiKey: "AIzaSyAAdHmTFznCMerdT99nrewJgISRvtxPqoY",
console.log("Connect with JavaAdapter Success: " + response.responseText); authDomain: "gabinete-digital-2020.firebaseapp.com",
//this.MFPushNotification(); databaseURL: "https://gabinete-digital-2020.firebaseio.com",
}, projectId: "gabinete-digital-2020",
(error) => { storageBucket: "gabinete-digital-2020.appspot.com",
alert("Connect with JavaAdapter Failure: " + JSON.stringify(error)); messagingSenderId: "800733765231",
} appId: "1:800733765231:web:28e7792ab150006513779a",
); measurementId: "G-8QN4BLZ8XK"
}, (error) => { };
console.log('MobileFirst Server connect: failure ' + error.responseText);
console.log(JSON.stringify(error))
/* this.zone.run(() => {
alert("Bummer...");
alert("Failed to connect to MobileFirst Server");
}); */
}
);
}
}
// Initialize Firebase
const app = initializeApp(firebaseConfig);
const analytics = getAnalytics(app);
const messaging = getMessaging(app);
getToken({vapidKey: "BEuyzkUKcx4FSs-6GaIz_si2oV5Ut7e5ZEtcrVvr5L_tMVWZtS1NTqdtQkih5QCt2FZKuRUxZIaLm5GaxI6nJEw"});
}
+42
View File
@@ -0,0 +1,42 @@
if ('serviceWorker' in navigator) {
navigator.serviceWorker.register('./firebase-messaging-sw.js')
.then(function(registration) {
console.log('Registration successful, scope is:', registration.scope);
}).catch(function(err) {
console.log('Service worker registration failed, error:', err);
});
}
// Scripts for firebase and firebase messaging
/* importScripts('https://www.gstatic.com/firebasejs/8.2.0/firebase-app.js');
importScripts('https://www.gstatic.com/firebasejs/8.2.0/firebase-messaging.js');
// Initialize the Firebase app in the service worker by passing the generated config
var firebaseConfig = {
apiKey: "AIzaSyAAdHmTFznCMerdT99nrewJgISRvtxPqoY",
authDomain: "gabinete-digital-2020.firebaseapp.com",
databaseURL: "https://gabinete-digital-2020.firebaseio.com",
projectId: "gabinete-digital-2020",
storageBucket: "gabinete-digital-2020.appspot.com",
messagingSenderId: "800733765231",
appId: "1:800733765231:web:28e7792ab150006513779a",
measurementId: "G-8QN4BLZ8XK"
};
firebase.initializeApp(firebaseConfig);
// Retrieve firebase messaging
const messaging = firebase.messaging();
messaging.onBackgroundMessage(function(payload) {
console.log('Received background message ', payload);
const notificationTitle = payload.notification.title;
const notificationOptions = {
body: payload.notification.body,
};
self.registration.showNotification(notificationTitle,
notificationOptions);
}); */
+1
View File
@@ -65,6 +65,7 @@
<link rel="preconnect" href="https://fonts.gstatic.com"> <link rel="preconnect" href="https://fonts.gstatic.com">
<link href="https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500&display=swap" rel="stylesheet"> <link href="https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500&display=swap" rel="stylesheet">
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet"> <link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
<script type="module" src="./assets/js/index.js"></script>
</head> </head>
<body class='gov'> <body class='gov'>