From 4eeed0aa8e2f5aa3d8ecca96dec304b7db2b5a60 Mon Sep 17 00:00:00 2001 From: Martin Weise <martin.weise@tuwien.ac.at> Date: Thu, 4 May 2023 17:21:50 +0200 Subject: [PATCH] Fixed - Makefile now contains deps - IEEE style with DOIs - Toolbar foreign database - Gateway in docker-compose - DBRepo2 docker compose --- Makefile | 58 +++++++------------ .../main/resources/templates/cite_ieee.txt | 2 +- .../resources/bibliography/style_ieee3.txt | 2 +- dbrepo-ui/components/DBToolbar.vue | 20 +++++-- dbrepo-ui/components/identifier/Citation.vue | 2 +- .../database/_database_id/info.vue | 19 +++--- .../database/_database_id/table/import.vue | 1 - docker-compose.dbrepo2.yml | 5 +- docker-compose.yml | 1 + 9 files changed, 55 insertions(+), 55 deletions(-) diff --git a/Makefile b/Makefile index 2b252e8475..a06cdf6069 100644 --- a/Makefile +++ b/Makefile @@ -46,25 +46,6 @@ build-docker: docker compose build dbrepo-metadata-db docker compose build --parallel -build-docker-slow: - docker compose build dbrepo-analyse-service - docker compose build dbrepo-authentication-service - docker compose build dbrepo-broker-service - docker compose build dbrepo-metadata-db - docker compose build dbrepo-container-service - docker compose build dbrepo-database-service - docker compose build dbrepo-discovery-service - docker compose build dbrepo-gateway-service - docker compose build dbrepo-identifier-service - docker compose build dbrepo-metadata-service - docker compose build dbrepo-proxy - docker compose build dbrepo-query-service - docker compose build dbrepo-search-service - docker compose build dbrepo-semantics-service - docker compose build dbrepo-table-service - docker compose build dbrepo-ui - docker compose build dbrepo-user-service - build-frontend: yarn --cwd ./dbrepo-ui install --legacy-peer-deps yarn --cwd ./dbrepo-ui run build @@ -72,7 +53,7 @@ build-frontend: build-clients: bash ./.gitlab/swagger/generate.sh -tag: tag-identifier tag-search tag-container tag-database tag-discovery tag-gateway tag-query tag-table tag-analyse tag-authentication tag-metadata-db tag-ui tag-units tag-broker tag-metadata +tag: tag-identifier tag-search tag-container tag-database tag-discovery tag-gateway tag-query tag-table tag-analyse tag-authentication tag-metadata-db tag-ui tag-units tag-broker tag-metadata tag-user tag-analyse: docker tag dbrepo-analyse-service:latest "dbrepo/analyse-service:${TAG}" @@ -122,54 +103,57 @@ tag-broker: tag-search: docker tag dbrepo-search-service:latest "dbrepo/search-service:${TAG}" -release: build-docker tag release-identifier release-search release-container release-database release-discovery release-gateway release-query release-table release-analyse release-authentication release-metadata-db release-ui release-units release-broker release-metadata +tag-user: + docker tag dbrepo-user-service:latest "dbrepo/user-service:${TAG}" + +release: build-docker tag release-identifier release-search release-container release-database release-discovery release-gateway release-query release-table release-analyse release-authentication release-metadata-db release-ui release-units release-broker release-metadata release-user -release-analyse: +release-analyse: tag-analyse docker push "dbrepo/analyse-service:${TAG}" -release-authentication: +release-authentication: tag-authentication docker push "dbrepo/authentication-service:${TAG}" -release-metadata-db: build-docker tag-metadata-db +release-metadata-db: tag-metadata-db docker push "dbrepo/metadata-db:${TAG}" -release-ui: +release-ui: tag-ui docker push "dbrepo/ui:${TAG}" -release-identifier: +release-identifier: tag-identifier docker push "dbrepo/identifier-service:${TAG}" -release-container: +release-container: tag-container docker push "dbrepo/container-service:${TAG}" -release-database: +release-database: tag-database docker push "dbrepo/database-service:${TAG}" -release-discovery: +release-discovery: tag-discovery docker push "dbrepo/discovery-service:${TAG}" -release-gateway: +release-gateway: tag-gateway docker push "dbrepo/gateway-service:${TAG}" -release-query: +release-query: tag-query docker push "dbrepo/query-service:${TAG}" -release-user: +release-user: tag-user docker push "dbrepo/user-service:${TAG}" -release-table: +release-table: tag-table docker push "dbrepo/table-service:${TAG}" -release-units: +release-units: tag-units docker push "dbrepo/semantics-service:${TAG}" -release-broker: +release-broker: tag-broker docker push "dbrepo/broker-service:${TAG}" -release-search: +release-search: tag-search docker push "dbrepo/search-service:${TAG}" -release-metadata: +release-metadata: tag-metadata docker push "dbrepo/metadata-service:${TAG}" test-backend: test-container-service test-database-service test-discovery-service test-gateway-service test-query-service test-table-service test-identifier-service test-metadata-service test-semantics-service test-analyse-service test-user-service diff --git a/dbrepo-identifier-service/rest-service/src/main/resources/templates/cite_ieee.txt b/dbrepo-identifier-service/rest-service/src/main/resources/templates/cite_ieee.txt index 602b73deed..9bf56d5765 100644 --- a/dbrepo-identifier-service/rest-service/src/main/resources/templates/cite_ieee.txt +++ b/dbrepo-identifier-service/rest-service/src/main/resources/templates/cite_ieee.txt @@ -1 +1 @@ -[1] [# th:each="creator,idx: ${creators}"][# th:if="${idx.index} > 0"] and [/][[${creator.firstname.substring(0,1)}]]. [[${creator.lastname}]][/][# th:if="${creators.size()} > 0"], [/]“[[${title}]]“, [[${publisher}]], [[${publicationYear}]], [[${identifierType} == 'url' ? 'Available: ' : '']][[${identifier}]]. \ No newline at end of file +[1] [# th:each="creator,idx: ${creators}"][# th:if="${idx.index} > 0"] and [/][[${creator.firstname.substring(0,1)}]]. [[${creator.lastname}]][/][# th:if="${creators.size()} > 0"], [/]“[[${title}]]“, [[${publisher}]], [[${publicationYear}]], [[${identifierType} == 'url' ? 'Available: ' : 'doi: ']][[${identifier}]]. \ No newline at end of file diff --git a/dbrepo-identifier-service/rest-service/src/test/resources/bibliography/style_ieee3.txt b/dbrepo-identifier-service/rest-service/src/test/resources/bibliography/style_ieee3.txt index 2576174cf6..286d4b8027 100644 --- a/dbrepo-identifier-service/rest-service/src/test/resources/bibliography/style_ieee3.txt +++ b/dbrepo-identifier-service/rest-service/src/test/resources/bibliography/style_ieee3.txt @@ -1 +1 @@ -[1] M. Mustermann, “Austrian weather data“, Austrian Government, 2022, 10.1000/183. \ No newline at end of file +[1] M. Mustermann, “Austrian weather data“, Austrian Government, 2022, doi: 10.1000/183. \ No newline at end of file diff --git a/dbrepo-ui/components/DBToolbar.vue b/dbrepo-ui/components/DBToolbar.vue index e544e3f357..ecbc4fe11e 100644 --- a/dbrepo-ui/components/DBToolbar.vue +++ b/dbrepo-ui/components/DBToolbar.vue @@ -97,26 +97,38 @@ export default { roles () { return this.$store.state.roles }, + hasWriteAccess () { + if (!this.access) { + return false + } + return this.access.type === 'write_all' || this.access.type === 'write_own' + }, + hasReadAccess () { + if (!this.access) { + return false + } + return this.access.type === 'read' || this.access.type === 'write_all' || this.access.type === 'write_own' + }, canImportCsv () { - if (!this.user) { + if (!this.user || !this.hasWriteAccess) { return false } return this.roles.includes('insert-table-data') }, canCreateSubset () { - if (!this.user) { + if (!this.user || !this.hasReadAccess) { return false } return this.roles.includes('execute-query') }, canCreateView () { - if (!this.user) { + if (!this.user || !this.isOwner) { return false } return this.roles.includes('create-database-view') }, canCreateTable () { - if (!this.user) { + if (!this.user || !this.hasWriteAccess) { return false } return this.roles.includes('create-table') diff --git a/dbrepo-ui/components/identifier/Citation.vue b/dbrepo-ui/components/identifier/Citation.vue index 479243cc45..741328e086 100644 --- a/dbrepo-ui/components/identifier/Citation.vue +++ b/dbrepo-ui/components/identifier/Citation.vue @@ -72,7 +72,7 @@ export default { }, methods: { loadCitation (accept) { - if (!this.pid) { + if (!this.pid || !accept) { return } this.loading = true diff --git a/dbrepo-ui/pages/container/_container_id/database/_database_id/info.vue b/dbrepo-ui/pages/container/_container_id/database/_database_id/info.vue index 1940e0bc08..36e9bcea24 100644 --- a/dbrepo-ui/pages/container/_container_id/database/_database_id/info.vue +++ b/dbrepo-ui/pages/container/_container_id/database/_database_id/info.vue @@ -340,19 +340,16 @@ export default { return this.canCreateIdentifier || this.hasIdentifier }, canCreateIdentifier () { - if (!this.roles) { + if (!this.roles || this.hasIdentifier) { return false } - if (this.hasIdentifier) { - return false + if (this.roles.includes('create-foreign-identifier')) { + return true } - return this.roles.includes('create-identifier') || this.roles.includes('create-foreign-identifier') + return this.roles.includes('create-identifier') && this.isOwner }, canEditIdentifier () { - if (!this.roles) { - return false - } - if (!this.hasIdentifier) { + if (!this.roles || !this.hasIdentifier) { return false } return this.roles.includes('modify-identifier-metadata') @@ -407,6 +404,12 @@ export default { default: return { text: null, class: null } } + }, + isOwner () { + if (!this.database || !this.user) { + return false + } + return this.database.owner.username === this.user.username } }, methods: { diff --git a/dbrepo-ui/pages/container/_container_id/database/_database_id/table/import.vue b/dbrepo-ui/pages/container/_container_id/database/_database_id/table/import.vue index a5c4f5949c..a915657c3c 100644 --- a/dbrepo-ui/pages/container/_container_id/database/_database_id/table/import.vue +++ b/dbrepo-ui/pages/container/_container_id/database/_database_id/table/import.vue @@ -120,7 +120,6 @@ <v-btn class="mb-1" :disabled="!validStep2" - :loading="loading" color="primary" type="submit" @click="step = 3"> diff --git a/docker-compose.dbrepo2.yml b/docker-compose.dbrepo2.yml index b459e3a4ef..b45bc9514c 100644 --- a/docker-compose.dbrepo2.yml +++ b/docker-compose.dbrepo2.yml @@ -68,8 +68,7 @@ services: image: dbrepo/gateway-service:latest networks: core: - ports: - - "9095:9095" + public: env_file: - .env depends_on: @@ -124,6 +123,8 @@ services: image: dbrepo/authentication-service:latest networks: core: + ports: + - "8443:8443" env_file: - .env volumes: diff --git a/docker-compose.yml b/docker-compose.yml index f4364d1bb4..5a3cd4022d 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -72,6 +72,7 @@ services: image: dbrepo-gateway-service networks: core: + public: ports: - "9095:9095" env_file: -- GitLab