From 9607d6117febae3bd8a8952595511b4fbcb5a324 Mon Sep 17 00:00:00 2001 From: Milos Date: Fri, 15 Mar 2024 16:58:29 +0100 Subject: [PATCH 1/8] add current version to footer --- src/components/Footer.vue | 9 +++++++-- src/config/consts.js | 7 ++++++- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/src/components/Footer.vue b/src/components/Footer.vue index ab967b1..52d8289 100644 --- a/src/components/Footer.vue +++ b/src/components/Footer.vue @@ -81,7 +81,9 @@

© 2024 BBMRI-ERIC

-
+
+ Front-end {{versionFrontEnd}} Beck-end {{versionBackEnd}} +
Need help? Contact us.
@@ -95,13 +97,16 @@ import activeTheme from "../config/theme.js" import bbmriLogo from "../assets/images/footer-bbmri.svg" import eucaimLogo from "../assets/images/footer-eucaim.png" +import { CURRENT_VERSION } from "@/config/consts.js" export default { name: "FooterPage", data () { return { logoSrc: activeTheme.activeLogosFiles === "bbmri" ? bbmriLogo : eucaimLogo, - isFooterFollowUsVisible: activeTheme.isFooterFollowUsVisible + isFooterFollowUsVisible: activeTheme.isFooterFollowUsVisible, + versionFrontEnd: CURRENT_VERSION.FRONT_END, + versionBackEnd: CURRENT_VERSION.BACK_END } } } diff --git a/src/config/consts.js b/src/config/consts.js index 1415de0..a09b379 100644 --- a/src/config/consts.js +++ b/src/config/consts.js @@ -22,4 +22,9 @@ const NEGOTIATION_STATUS = { ABANDONED: "ABANDONED" } -export { MESSAGE_STATUS, ROLES, POST_TYPE, NEGOTIATION_STATUS, dateFormat } +const CURRENT_VERSION = { + FRONT_END: "v1.1.0", + BACK_END: "v3.1.1", +} + +export { MESSAGE_STATUS, ROLES, POST_TYPE, NEGOTIATION_STATUS, dateFormat, CURRENT_VERSION } From 605a6275aa3f1176339e61ae8b98e76d962850e5 Mon Sep 17 00:00:00 2001 From: Milos Date: Mon, 18 Mar 2024 15:56:25 +0100 Subject: [PATCH 2/8] add dynamic version --- .env | 2 ++ package.json | 1 + src/components/Footer.vue | 17 +++++++++++---- src/config/consts.js | 7 +------ src/store/actions.js | 12 +++++++++++ vite.config.js | 4 ++++ yarn.lock | 44 ++++++++++++++++++++++++++++++++++++--- 7 files changed, 74 insertions(+), 13 deletions(-) create mode 100644 .env diff --git a/.env b/.env new file mode 100644 index 0000000..a839fbe --- /dev/null +++ b/.env @@ -0,0 +1,2 @@ +VITE_GIT_COMMIT_HASH='' +VITE_GIT_TAG='' \ No newline at end of file diff --git a/package.json b/package.json index 98065e7..2050ca7 100644 --- a/package.json +++ b/package.json @@ -23,6 +23,7 @@ "bootstrap-vue-next": "^0.8.10", "core-js": "^3.8.3", "dotenv": "^16.0.3", + "git-rev-sync": "^3.0.2", "http-server": "^14.1.1", "jspdf": "^2.5.1", "moment": "^2.29.4", diff --git a/src/components/Footer.vue b/src/components/Footer.vue index 52d8289..a836d11 100644 --- a/src/components/Footer.vue +++ b/src/components/Footer.vue @@ -82,7 +82,7 @@

© 2024 BBMRI-ERIC

- Front-end {{versionFrontEnd}} Beck-end {{versionBackEnd}} + Front-end {{gitTag}} Beck-end {{backendVersion}}
Need help? Contact us. @@ -97,7 +97,8 @@ import activeTheme from "../config/theme.js" import bbmriLogo from "../assets/images/footer-bbmri.svg" import eucaimLogo from "../assets/images/footer-eucaim.png" -import { CURRENT_VERSION } from "@/config/consts.js" +const viteGitTag = import.meta.env.VITE_GIT_TAG +import { mapActions } from "vuex" export default { name: "FooterPage", @@ -105,9 +106,17 @@ export default { return { logoSrc: activeTheme.activeLogosFiles === "bbmri" ? bbmriLogo : eucaimLogo, isFooterFollowUsVisible: activeTheme.isFooterFollowUsVisible, - versionFrontEnd: CURRENT_VERSION.FRONT_END, - versionBackEnd: CURRENT_VERSION.BACK_END + gitTag: viteGitTag, + backendVersion: '' } + }, + async beforeMount () { + this.backendVersion = await this.retrieveBackendVersion() + }, + methods: { + ...mapActions([ + "retrieveBackendVersion", + ]), } } diff --git a/src/config/consts.js b/src/config/consts.js index a09b379..1415de0 100644 --- a/src/config/consts.js +++ b/src/config/consts.js @@ -22,9 +22,4 @@ const NEGOTIATION_STATUS = { ABANDONED: "ABANDONED" } -const CURRENT_VERSION = { - FRONT_END: "v1.1.0", - BACK_END: "v3.1.1", -} - -export { MESSAGE_STATUS, ROLES, POST_TYPE, NEGOTIATION_STATUS, dateFormat, CURRENT_VERSION } +export { MESSAGE_STATUS, ROLES, POST_TYPE, NEGOTIATION_STATUS, dateFormat } diff --git a/src/store/actions.js b/src/store/actions.js index 631513e..db098f9 100644 --- a/src/store/actions.js +++ b/src/store/actions.js @@ -9,6 +9,7 @@ const USER_PATH = `${BASE_API_PATH}/users` const USER_ROLES_PATH = `${BASE_API_PATH}/users/roles` const USER_RESOURCES_PATH = `${BASE_API_PATH}/users/resources` const ATTACHMENTS_PATH = `${BASE_API_PATH}/attachments` +const BACKEND_VERSION_PATH = `${BASE_API_PATH}/actuator/info` function getBearerHeaders (token) { return { Authorization: `Bearer ${token}` } @@ -31,6 +32,17 @@ export default { } }) }, + retrieveBackendVersion (store) { + return axios.get(`${BACKEND_VERSION_PATH}`) + .then((response) => { + return response.data.version + }) + .catch((error) => { + if (error.response) { + return "Error" + } + }) + }, retrieveAccessCriteriaByResourceId ({ state, commit }, { resourceId }) { return axios.get(`${ACCESS_CRITERIA_PATH}`, { headers: getBearerHeaders(state.oidc.access_token), params: { resourceId } }) .then((response) => { diff --git a/vite.config.js b/vite.config.js index 2228b31..530a111 100644 --- a/vite.config.js +++ b/vite.config.js @@ -4,9 +4,13 @@ import { defineConfig } from "vite" import vue from "@vitejs/plugin-vue" import Components from "unplugin-vue-components/vite" import { BootstrapVueNextResolver } from "unplugin-vue-components/resolvers" +import git from 'git-rev-sync' const PROXY_TARGET = "http://localhost:8081" +process.env.VITE_GIT_COMMIT_HASH = git.short() +process.env.VITE_GIT_TAG = git.tag() + export default defineConfig({ plugins: [ vue(), diff --git a/yarn.lock b/yarn.lock index 6ccba0c..5888dcf 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3699,7 +3699,7 @@ escape-html@~1.0.3: resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" integrity sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow== -escape-string-regexp@^1.0.5: +escape-string-regexp@1.0.5, escape-string-regexp@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== @@ -4329,6 +4329,15 @@ get-symbol-description@^1.0.2: es-errors "^1.3.0" get-intrinsic "^1.2.4" +git-rev-sync@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/git-rev-sync/-/git-rev-sync-3.0.2.tgz#9763c730981187c3419b75dd270088cc5f0e161b" + integrity sha512-Nd5RiYpyncjLv0j6IONy0lGzAqdRXUaBctuGBbrEA2m6Bn4iDrN/9MeQTXuiquw8AEKL9D2BW0nw5m/lQvxqnQ== + dependencies: + escape-string-regexp "1.0.5" + graceful-fs "4.1.15" + shelljs "0.8.5" + glob-parent@^5.1.2, glob-parent@~5.1.2: version "5.1.2" resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" @@ -4359,7 +4368,7 @@ glob@^10.3.3: minipass "^5.0.0 || ^6.0.2 || ^7.0.0" path-scurry "^1.10.1" -glob@^7.1.3: +glob@^7.0.0, glob@^7.1.3: version "7.2.3" resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== @@ -4409,6 +4418,11 @@ gopd@^1.0.1: dependencies: get-intrinsic "^1.1.3" +graceful-fs@4.1.15: + version "4.1.15" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.15.tgz#ffb703e1066e8a0eeaa4c8b80ba9253eeefbfb00" + integrity sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA== + graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.4, graceful-fs@^4.2.6, graceful-fs@^4.2.9: version "4.2.11" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" @@ -4752,6 +4766,11 @@ internal-slot@^1.0.7: hasown "^2.0.0" side-channel "^1.0.4" +interpret@^1.0.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.4.0.tgz#665ab8bc4da27a774a40584e812e3e0fa45b1a1e" + integrity sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA== + ipaddr.js@1.9.1: version "1.9.1" resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3" @@ -6449,6 +6468,13 @@ readdirp@~3.6.0: dependencies: picomatch "^2.2.1" +rechoir@^0.6.2: + version "0.6.2" + resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384" + integrity sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw== + dependencies: + resolve "^1.1.6" + regenerate-unicode-properties@^10.1.0: version "10.1.1" resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.1.tgz#6b0e05489d9076b04c436f318d9b067bba459480" @@ -6548,7 +6574,7 @@ resolve-from@^4.0.0: resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== -resolve@^1.10.0, resolve@^1.14.2, resolve@^1.22.1, resolve@^1.22.2, resolve@^1.22.4: +resolve@^1.1.6, resolve@^1.10.0, resolve@^1.14.2, resolve@^1.22.1, resolve@^1.22.2, resolve@^1.22.4: version "1.22.8" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.8.tgz#b6c87a9f2aa06dfab52e3d70ac8cde321fa5a48d" integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== @@ -6851,6 +6877,15 @@ shell-quote@^1.8.1: resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.8.1.tgz#6dbf4db75515ad5bac63b4f1894c3a154c766680" integrity sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA== +shelljs@0.8.5: + version "0.8.5" + resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.8.5.tgz#de055408d8361bed66c669d2f000538ced8ee20c" + integrity sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow== + dependencies: + glob "^7.0.0" + interpret "^1.0.0" + rechoir "^0.6.2" + side-channel@^1.0.4: version "1.0.6" resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.6.tgz#abd25fb7cd24baf45466406b1096b7831c9215f2" @@ -7008,6 +7043,7 @@ statuses@2.0.1: integrity sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA== "string-width-cjs@npm:string-width@^4.2.0", string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: + name string-width-cjs version "4.2.3" resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== @@ -7075,6 +7111,7 @@ string_decoder@~1.1.1: safe-buffer "~5.1.0" "strip-ansi-cjs@npm:strip-ansi@^6.0.1", strip-ansi@^6.0.0, strip-ansi@^6.0.1: + name strip-ansi-cjs version "6.0.1" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== @@ -7960,6 +7997,7 @@ wildcard@^2.0.0: integrity sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ== "wrap-ansi-cjs@npm:wrap-ansi@^7.0.0", wrap-ansi@^7.0.0: + name wrap-ansi-cjs version "7.0.0" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== From dcd6a224b57731945a66448710f669755c8ce5d3 Mon Sep 17 00:00:00 2001 From: Milos Date: Mon, 18 Mar 2024 17:04:26 +0100 Subject: [PATCH 3/8] add version to login page --- src/components/Footer.vue | 14 +++++++------- src/store/actions.js | 2 +- src/views/HomePage.vue | 14 +++++++++++--- vite.config.js | 2 +- 4 files changed, 20 insertions(+), 12 deletions(-) diff --git a/src/components/Footer.vue b/src/components/Footer.vue index a836d11..8d85301 100644 --- a/src/components/Footer.vue +++ b/src/components/Footer.vue @@ -81,9 +81,9 @@

© 2024 BBMRI-ERIC

-
- Front-end {{gitTag}} Beck-end {{backendVersion}} -
+
+ UI version: {{ gitTag }}Server version: {{ backendVersion }} +
Need help? Contact us.
@@ -97,8 +97,8 @@ import activeTheme from "../config/theme.js" import bbmriLogo from "../assets/images/footer-bbmri.svg" import eucaimLogo from "../assets/images/footer-eucaim.png" -const viteGitTag = import.meta.env.VITE_GIT_TAG import { mapActions } from "vuex" +const viteGitTag = import.meta.env.VITE_GIT_TAG export default { name: "FooterPage", @@ -107,7 +107,7 @@ export default { logoSrc: activeTheme.activeLogosFiles === "bbmri" ? bbmriLogo : eucaimLogo, isFooterFollowUsVisible: activeTheme.isFooterFollowUsVisible, gitTag: viteGitTag, - backendVersion: '' + backendVersion: "" } }, async beforeMount () { @@ -115,8 +115,8 @@ export default { }, methods: { ...mapActions([ - "retrieveBackendVersion", - ]), + "retrieveBackendVersion" + ]) } } diff --git a/src/store/actions.js b/src/store/actions.js index db098f9..d1268f0 100644 --- a/src/store/actions.js +++ b/src/store/actions.js @@ -35,7 +35,7 @@ export default { retrieveBackendVersion (store) { return axios.get(`${BACKEND_VERSION_PATH}`) .then((response) => { - return response.data.version + return response.data.version }) .catch((error) => { if (error.response) { diff --git a/src/views/HomePage.vue b/src/views/HomePage.vue index 69b7c28..6dad6e0 100644 --- a/src/views/HomePage.vue +++ b/src/views/HomePage.vue @@ -60,6 +60,9 @@ GitHub
+
+ UI version: {{ gitTag }}Server version: {{ backendVersion }} +

© 2024 BBMRI-ERIC

@@ -73,25 +76,30 @@ import { mapActions, mapGetters } from "vuex" import activeTheme from "../config/theme.js" import bbmriLogo from "../assets/images/home-bbmri.png" import eucaimLogo from "../assets/images/home-eucaim.png" +const viteGitTag = import.meta.env.VITE_GIT_TAG export default { name: "HomePage", data () { return { - logoSrc: activeTheme.activeLogosFiles === "bbmri" ? bbmriLogo : eucaimLogo + logoSrc: activeTheme.activeLogosFiles === "bbmri" ? bbmriLogo : eucaimLogo, + gitTag: viteGitTag, + backendVersion: "" } }, computed: { ...mapGetters(["oidcIsAuthenticated", "oidcUser"]) }, - beforeMount () { + async beforeMount () { if (this.oidcIsAuthenticated) { this.$router.push("/researcher") } + this.backendVersion = await this.retrieveBackendVersion() }, methods: { ...mapActions([ - "authenticateOidc" + "authenticateOidc", + "retrieveBackendVersion" ]) } } diff --git a/vite.config.js b/vite.config.js index 530a111..f340802 100644 --- a/vite.config.js +++ b/vite.config.js @@ -4,7 +4,7 @@ import { defineConfig } from "vite" import vue from "@vitejs/plugin-vue" import Components from "unplugin-vue-components/vite" import { BootstrapVueNextResolver } from "unplugin-vue-components/resolvers" -import git from 'git-rev-sync' +import git from "git-rev-sync" const PROXY_TARGET = "http://localhost:8081" From 51f5cf31cf2e88962128b2107b834ef1fcee9a7e Mon Sep 17 00:00:00 2001 From: Milos Date: Fri, 15 Mar 2024 16:58:29 +0100 Subject: [PATCH 4/8] add current version to footer --- src/components/Footer.vue | 28 +++++++++++++++++++++------- 1 file changed, 21 insertions(+), 7 deletions(-) diff --git a/src/components/Footer.vue b/src/components/Footer.vue index e76dc50..8d85301 100644 --- a/src/components/Footer.vue +++ b/src/components/Footer.vue @@ -8,6 +8,7 @@ logo negotiator @@ -80,9 +81,11 @@

© 2024 BBMRI-ERIC

-
@@ -92,17 +95,28 @@ From 1b86be67c30bf65097ccdc4eb14c166bfe170130 Mon Sep 17 00:00:00 2001 From: Milos Date: Mon, 18 Mar 2024 17:31:58 +0100 Subject: [PATCH 5/8] add dynamic version --- .env | 2 ++ package.json | 1 + src/components/Footer.vue | 20 ++++++++++++++++++ src/store/actions.js | 12 +++++++++++ vite.config.js | 4 ++++ yarn.lock | 44 ++++++++++++++++++++++++++++++++++++--- 6 files changed, 80 insertions(+), 3 deletions(-) create mode 100644 .env diff --git a/.env b/.env new file mode 100644 index 0000000..a839fbe --- /dev/null +++ b/.env @@ -0,0 +1,2 @@ +VITE_GIT_COMMIT_HASH='' +VITE_GIT_TAG='' \ No newline at end of file diff --git a/package.json b/package.json index 133b9ca..bf41ca3 100644 --- a/package.json +++ b/package.json @@ -23,6 +23,7 @@ "bootstrap-vue-next": "^0.8.10", "core-js": "^3.8.3", "dotenv": "^16.0.3", + "git-rev-sync": "^3.0.2", "http-server": "^14.1.1", "jspdf": "^2.5.1", "moment": "^2.29.4", diff --git a/src/components/Footer.vue b/src/components/Footer.vue index 8d85301..bc9298b 100644 --- a/src/components/Footer.vue +++ b/src/components/Footer.vue @@ -81,9 +81,15 @@

© 2024 BBMRI-ERIC

+<<<<<<< HEAD
UI version: {{ gitTag }}Server version: {{ backendVersion }}
+======= +
+ Front-end {{gitTag}} Beck-end {{backendVersion}} +
+>>>>>>> 605a627 (add dynamic version)
Need help? Contact us.
@@ -97,8 +103,13 @@ import activeTheme from "../config/theme.js" import bbmriLogo from "../assets/images/footer-bbmri.svg" import eucaimLogo from "../assets/images/footer-eucaim.png" +<<<<<<< HEAD import { mapActions } from "vuex" const viteGitTag = import.meta.env.VITE_GIT_TAG +======= +const viteGitTag = import.meta.env.VITE_GIT_TAG +import { mapActions } from "vuex" +>>>>>>> 605a627 (add dynamic version) export default { name: "FooterPage", @@ -107,7 +118,11 @@ export default { logoSrc: activeTheme.activeLogosFiles === "bbmri" ? bbmriLogo : eucaimLogo, isFooterFollowUsVisible: activeTheme.isFooterFollowUsVisible, gitTag: viteGitTag, +<<<<<<< HEAD backendVersion: "" +======= + backendVersion: '' +>>>>>>> 605a627 (add dynamic version) } }, async beforeMount () { @@ -115,8 +130,13 @@ export default { }, methods: { ...mapActions([ +<<<<<<< HEAD "retrieveBackendVersion" ]) +======= + "retrieveBackendVersion", + ]), +>>>>>>> 605a627 (add dynamic version) } } diff --git a/src/store/actions.js b/src/store/actions.js index 631513e..db098f9 100644 --- a/src/store/actions.js +++ b/src/store/actions.js @@ -9,6 +9,7 @@ const USER_PATH = `${BASE_API_PATH}/users` const USER_ROLES_PATH = `${BASE_API_PATH}/users/roles` const USER_RESOURCES_PATH = `${BASE_API_PATH}/users/resources` const ATTACHMENTS_PATH = `${BASE_API_PATH}/attachments` +const BACKEND_VERSION_PATH = `${BASE_API_PATH}/actuator/info` function getBearerHeaders (token) { return { Authorization: `Bearer ${token}` } @@ -31,6 +32,17 @@ export default { } }) }, + retrieveBackendVersion (store) { + return axios.get(`${BACKEND_VERSION_PATH}`) + .then((response) => { + return response.data.version + }) + .catch((error) => { + if (error.response) { + return "Error" + } + }) + }, retrieveAccessCriteriaByResourceId ({ state, commit }, { resourceId }) { return axios.get(`${ACCESS_CRITERIA_PATH}`, { headers: getBearerHeaders(state.oidc.access_token), params: { resourceId } }) .then((response) => { diff --git a/vite.config.js b/vite.config.js index 2228b31..530a111 100644 --- a/vite.config.js +++ b/vite.config.js @@ -4,9 +4,13 @@ import { defineConfig } from "vite" import vue from "@vitejs/plugin-vue" import Components from "unplugin-vue-components/vite" import { BootstrapVueNextResolver } from "unplugin-vue-components/resolvers" +import git from 'git-rev-sync' const PROXY_TARGET = "http://localhost:8081" +process.env.VITE_GIT_COMMIT_HASH = git.short() +process.env.VITE_GIT_TAG = git.tag() + export default defineConfig({ plugins: [ vue(), diff --git a/yarn.lock b/yarn.lock index 4c191d2..de8802e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3699,7 +3699,7 @@ escape-html@~1.0.3: resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" integrity sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow== -escape-string-regexp@^1.0.5: +escape-string-regexp@1.0.5, escape-string-regexp@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== @@ -4329,6 +4329,15 @@ get-symbol-description@^1.0.2: es-errors "^1.3.0" get-intrinsic "^1.2.4" +git-rev-sync@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/git-rev-sync/-/git-rev-sync-3.0.2.tgz#9763c730981187c3419b75dd270088cc5f0e161b" + integrity sha512-Nd5RiYpyncjLv0j6IONy0lGzAqdRXUaBctuGBbrEA2m6Bn4iDrN/9MeQTXuiquw8AEKL9D2BW0nw5m/lQvxqnQ== + dependencies: + escape-string-regexp "1.0.5" + graceful-fs "4.1.15" + shelljs "0.8.5" + glob-parent@^5.1.2, glob-parent@~5.1.2: version "5.1.2" resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" @@ -4359,7 +4368,7 @@ glob@^10.3.3: minipass "^5.0.0 || ^6.0.2 || ^7.0.0" path-scurry "^1.10.1" -glob@^7.1.3: +glob@^7.0.0, glob@^7.1.3: version "7.2.3" resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== @@ -4409,6 +4418,11 @@ gopd@^1.0.1: dependencies: get-intrinsic "^1.1.3" +graceful-fs@4.1.15: + version "4.1.15" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.15.tgz#ffb703e1066e8a0eeaa4c8b80ba9253eeefbfb00" + integrity sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA== + graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.4, graceful-fs@^4.2.6, graceful-fs@^4.2.9: version "4.2.11" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" @@ -4752,6 +4766,11 @@ internal-slot@^1.0.7: hasown "^2.0.0" side-channel "^1.0.4" +interpret@^1.0.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.4.0.tgz#665ab8bc4da27a774a40584e812e3e0fa45b1a1e" + integrity sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA== + ipaddr.js@1.9.1: version "1.9.1" resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3" @@ -6454,6 +6473,13 @@ readdirp@~3.6.0: dependencies: picomatch "^2.2.1" +rechoir@^0.6.2: + version "0.6.2" + resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384" + integrity sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw== + dependencies: + resolve "^1.1.6" + regenerate-unicode-properties@^10.1.0: version "10.1.1" resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.1.tgz#6b0e05489d9076b04c436f318d9b067bba459480" @@ -6553,7 +6579,7 @@ resolve-from@^4.0.0: resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== -resolve@^1.10.0, resolve@^1.14.2, resolve@^1.22.1, resolve@^1.22.2, resolve@^1.22.4: +resolve@^1.1.6, resolve@^1.10.0, resolve@^1.14.2, resolve@^1.22.1, resolve@^1.22.2, resolve@^1.22.4: version "1.22.8" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.8.tgz#b6c87a9f2aa06dfab52e3d70ac8cde321fa5a48d" integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== @@ -6856,6 +6882,15 @@ shell-quote@^1.8.1: resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.8.1.tgz#6dbf4db75515ad5bac63b4f1894c3a154c766680" integrity sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA== +shelljs@0.8.5: + version "0.8.5" + resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.8.5.tgz#de055408d8361bed66c669d2f000538ced8ee20c" + integrity sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow== + dependencies: + glob "^7.0.0" + interpret "^1.0.0" + rechoir "^0.6.2" + side-channel@^1.0.4: version "1.0.6" resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.6.tgz#abd25fb7cd24baf45466406b1096b7831c9215f2" @@ -7013,6 +7048,7 @@ statuses@2.0.1: integrity sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA== "string-width-cjs@npm:string-width@^4.2.0", string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: + name string-width-cjs version "4.2.3" resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== @@ -7080,6 +7116,7 @@ string_decoder@~1.1.1: safe-buffer "~5.1.0" "strip-ansi-cjs@npm:strip-ansi@^6.0.1", strip-ansi@^6.0.0, strip-ansi@^6.0.1: + name strip-ansi-cjs version "6.0.1" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== @@ -7975,6 +8012,7 @@ wildcard@^2.0.0: integrity sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ== "wrap-ansi-cjs@npm:wrap-ansi@^7.0.0", wrap-ansi@^7.0.0: + name wrap-ansi-cjs version "7.0.0" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== From 296a2d17f76f1979080160d80a1d98fd287c3b84 Mon Sep 17 00:00:00 2001 From: Milos Date: Mon, 18 Mar 2024 15:56:25 +0100 Subject: [PATCH 6/8] add dynamic version --- src/components/Footer.vue | 20 -------------------- 1 file changed, 20 deletions(-) diff --git a/src/components/Footer.vue b/src/components/Footer.vue index bc9298b..7f178b3 100644 --- a/src/components/Footer.vue +++ b/src/components/Footer.vue @@ -81,15 +81,9 @@

© 2024 BBMRI-ERIC

-<<<<<<< HEAD
UI version: {{ gitTag }}Server version: {{ backendVersion }}
-======= -
- Front-end {{gitTag}} Beck-end {{backendVersion}} -
->>>>>>> 605a627 (add dynamic version)
Need help? Contact us.
@@ -103,13 +97,8 @@ import activeTheme from "../config/theme.js" import bbmriLogo from "../assets/images/footer-bbmri.svg" import eucaimLogo from "../assets/images/footer-eucaim.png" -<<<<<<< HEAD -import { mapActions } from "vuex" -const viteGitTag = import.meta.env.VITE_GIT_TAG -======= const viteGitTag = import.meta.env.VITE_GIT_TAG import { mapActions } from "vuex" ->>>>>>> 605a627 (add dynamic version) export default { name: "FooterPage", @@ -118,11 +107,7 @@ export default { logoSrc: activeTheme.activeLogosFiles === "bbmri" ? bbmriLogo : eucaimLogo, isFooterFollowUsVisible: activeTheme.isFooterFollowUsVisible, gitTag: viteGitTag, -<<<<<<< HEAD - backendVersion: "" -======= backendVersion: '' ->>>>>>> 605a627 (add dynamic version) } }, async beforeMount () { @@ -130,13 +115,8 @@ export default { }, methods: { ...mapActions([ -<<<<<<< HEAD - "retrieveBackendVersion" - ]) -======= "retrieveBackendVersion", ]), ->>>>>>> 605a627 (add dynamic version) } } From 5d1d86e5067a67cb52b667d2d22c0532fcfc5072 Mon Sep 17 00:00:00 2001 From: Milos Date: Mon, 18 Mar 2024 17:04:26 +0100 Subject: [PATCH 7/8] add version to login page --- src/components/Footer.vue | 8 ++++---- src/store/actions.js | 2 +- src/views/HomePage.vue | 12 ++++++++++-- vite.config.js | 2 +- 4 files changed, 16 insertions(+), 8 deletions(-) diff --git a/src/components/Footer.vue b/src/components/Footer.vue index 7f178b3..8d85301 100644 --- a/src/components/Footer.vue +++ b/src/components/Footer.vue @@ -97,8 +97,8 @@ import activeTheme from "../config/theme.js" import bbmriLogo from "../assets/images/footer-bbmri.svg" import eucaimLogo from "../assets/images/footer-eucaim.png" -const viteGitTag = import.meta.env.VITE_GIT_TAG import { mapActions } from "vuex" +const viteGitTag = import.meta.env.VITE_GIT_TAG export default { name: "FooterPage", @@ -107,7 +107,7 @@ export default { logoSrc: activeTheme.activeLogosFiles === "bbmri" ? bbmriLogo : eucaimLogo, isFooterFollowUsVisible: activeTheme.isFooterFollowUsVisible, gitTag: viteGitTag, - backendVersion: '' + backendVersion: "" } }, async beforeMount () { @@ -115,8 +115,8 @@ export default { }, methods: { ...mapActions([ - "retrieveBackendVersion", - ]), + "retrieveBackendVersion" + ]) } } diff --git a/src/store/actions.js b/src/store/actions.js index db098f9..d1268f0 100644 --- a/src/store/actions.js +++ b/src/store/actions.js @@ -35,7 +35,7 @@ export default { retrieveBackendVersion (store) { return axios.get(`${BACKEND_VERSION_PATH}`) .then((response) => { - return response.data.version + return response.data.version }) .catch((error) => { if (error.response) { diff --git a/src/views/HomePage.vue b/src/views/HomePage.vue index 6c3c993..65bf10f 100644 --- a/src/views/HomePage.vue +++ b/src/views/HomePage.vue @@ -61,6 +61,9 @@ GitHub +
+ UI version: {{ gitTag }}Server version: {{ backendVersion }} +

© 2024 BBMRI-ERIC

@@ -75,25 +78,30 @@ import activeTheme from "../config/theme.js" import bbmriLogo from "../assets/images/bbmri/home-bbmri.png" import eucaimLogo from "../assets/images/eucaim/home-eucaim.png" import canservLogo from "../assets/images/canserv/home-canserv.png" +const viteGitTag = import.meta.env.VITE_GIT_TAG export default { name: "HomePage", data () { return { logoSrc: activeTheme.activeLogosFiles === "eucaim" ? eucaimLogo : (activeTheme.activeLogosFiles=== 'canserv' ? canservLogo : bbmriLogo) + gitTag: viteGitTag, + backendVersion: "" } }, computed: { ...mapGetters(["oidcIsAuthenticated", "oidcUser"]), }, - beforeMount () { + async beforeMount () { if (this.oidcIsAuthenticated) { this.$router.push("/researcher") } + this.backendVersion = await this.retrieveBackendVersion() }, methods: { ...mapActions([ - "authenticateOidc" + "authenticateOidc", + "retrieveBackendVersion" ]) } } diff --git a/vite.config.js b/vite.config.js index 530a111..f340802 100644 --- a/vite.config.js +++ b/vite.config.js @@ -4,7 +4,7 @@ import { defineConfig } from "vite" import vue from "@vitejs/plugin-vue" import Components from "unplugin-vue-components/vite" import { BootstrapVueNextResolver } from "unplugin-vue-components/resolvers" -import git from 'git-rev-sync' +import git from "git-rev-sync" const PROXY_TARGET = "http://localhost:8081" From 7259ec5c97ae0db561593dd0b2b0c4ccff7b370a Mon Sep 17 00:00:00 2001 From: Milos Date: Mon, 18 Mar 2024 17:42:46 +0100 Subject: [PATCH 8/8] remove duplicate and resolve conflict --- src/components/Footer.vue | 7 ++++--- src/components/NavigationBar.vue | 2 +- src/components/PDFButton.vue | 2 +- src/views/HomePage.vue | 17 ++++++++++------- 4 files changed, 16 insertions(+), 12 deletions(-) diff --git a/src/components/Footer.vue b/src/components/Footer.vue index 8d85301..de28505 100644 --- a/src/components/Footer.vue +++ b/src/components/Footer.vue @@ -95,8 +95,9 @@