From 3191fe5c04718144e1c02d4363429ce389aba270 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Conde?= Date: Sun, 22 Jan 2023 00:00:26 +0100 Subject: [PATCH] adding authentication and state management --- .env | 3 +- package-lock.json | 68 +++++++++++++ package.json | 1 + src/App.vue | 166 ++++++++++++++++---------------- src/components/InSessionNow.vue | 6 +- src/data/http/auth.js | 22 +++++ src/data/http/listRequest.js | 10 +- src/data/http/requests.js | 15 ++- src/main.js | 4 + src/router/index.js | 6 ++ src/stores/session-store.js | 26 +++++ src/views/CabalView.vue | 8 ++ src/views/HomeView.vue | 9 -- src/views/IvaoView.vue | 2 +- 14 files changed, 241 insertions(+), 105 deletions(-) create mode 100644 src/data/http/auth.js create mode 100644 src/stores/session-store.js create mode 100644 src/views/CabalView.vue delete mode 100644 src/views/HomeView.vue diff --git a/.env b/.env index 99bd026..cdb171c 100644 --- a/.env +++ b/.env @@ -3,4 +3,5 @@ VITE_API_BASE=http://localhost:3000/api/v1 VITE_API_PATH_LIST=/list/today VITE_API_PATH_WHITELIST=/whitelist VITE_API_PATH_NOW_SESSIONS=/ivao/sessions/now -VITE_API_PATH_NOW_FLIGHTPLANS=/ivao/flightplans/latest \ No newline at end of file +VITE_API_PATH_NOW_FLIGHTPLANS=/ivao/flightplans/latest +VITE_API_PATH_AUTHENTICATION=/admin/user/authenticate \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index c112b48..3ea382c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -15,6 +15,7 @@ "bootstrap": "^5.2.3", "lodash": "^4.17.21", "moment": "^2.29.4", + "pinia": "^2.0.29", "redis": "^4.5.1", "vue": "^3.2.45", "vue-loading-overlay": "^6.0.2", @@ -2269,6 +2270,56 @@ "url": "https://github.com/sponsors/jonschlinkert" } }, + "node_modules/pinia": { + "version": "2.0.29", + "resolved": "https://registry.npmjs.org/pinia/-/pinia-2.0.29.tgz", + "integrity": "sha512-5z/KpFecq/cIgfeTnulJXldiLcTITRkTe3N58RKYSj0Pc1EdR6oyCdnf5A9jLoVwBqX5LtHhd0kGlpzWvk9oiQ==", + "dependencies": { + "@vue/devtools-api": "^6.4.5", + "vue-demi": "*" + }, + "funding": { + "url": "https://github.com/sponsors/posva" + }, + "peerDependencies": { + "@vue/composition-api": "^1.4.0", + "typescript": ">=4.4.4", + "vue": "^2.6.14 || ^3.2.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + }, + "typescript": { + "optional": true + } + } + }, + "node_modules/pinia/node_modules/vue-demi": { + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.13.11.tgz", + "integrity": "sha512-IR8HoEEGM65YY3ZJYAjMlKygDQn25D5ajNFNoKh9RSDMQtlzCxtfQjdQgv9jjK+m3377SsJXY8ysq8kLCZL25A==", + "hasInstallScript": true, + "bin": { + "vue-demi-fix": "bin/vue-demi-fix.js", + "vue-demi-switch": "bin/vue-demi-switch.js" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "@vue/composition-api": "^1.0.0-rc.1", + "vue": "^3.0.0-0 || ^2.6.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + } + } + }, "node_modules/portfinder": { "version": "1.0.32", "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.32.tgz", @@ -4559,6 +4610,23 @@ "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", "dev": true }, + "pinia": { + "version": "2.0.29", + "resolved": "https://registry.npmjs.org/pinia/-/pinia-2.0.29.tgz", + "integrity": "sha512-5z/KpFecq/cIgfeTnulJXldiLcTITRkTe3N58RKYSj0Pc1EdR6oyCdnf5A9jLoVwBqX5LtHhd0kGlpzWvk9oiQ==", + "requires": { + "@vue/devtools-api": "^6.4.5", + "vue-demi": "*" + }, + "dependencies": { + "vue-demi": { + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.13.11.tgz", + "integrity": "sha512-IR8HoEEGM65YY3ZJYAjMlKygDQn25D5ajNFNoKh9RSDMQtlzCxtfQjdQgv9jjK+m3377SsJXY8ysq8kLCZL25A==", + "requires": {} + } + } + }, "portfinder": { "version": "1.0.32", "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.32.tgz", diff --git a/package.json b/package.json index ca32ecb..e2f3848 100644 --- a/package.json +++ b/package.json @@ -18,6 +18,7 @@ "bootstrap": "^5.2.3", "lodash": "^4.17.21", "moment": "^2.29.4", + "pinia": "^2.0.29", "redis": "^4.5.1", "vue": "^3.2.45", "vue-loading-overlay": "^6.0.2", diff --git a/src/App.vue b/src/App.vue index 0dfcc1b..7e73f3f 100644 --- a/src/App.vue +++ b/src/App.vue @@ -1,18 +1,62 @@ + + \ No newline at end of file diff --git a/src/views/HomeView.vue b/src/views/HomeView.vue deleted file mode 100644 index b4e95a3..0000000 --- a/src/views/HomeView.vue +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/src/views/IvaoView.vue b/src/views/IvaoView.vue index 2fa867e..1448d26 100644 --- a/src/views/IvaoView.vue +++ b/src/views/IvaoView.vue @@ -4,7 +4,7 @@