diff --git a/Makefile b/Makefile index 2b252e8475fd22fc8f889c69f69a5013b7a99416..a06cdf6069c690de34ea30e87c4213cebd59da68 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 602b73deed44278af106e3a946a1b1aa55996c36..9bf56d5765c660c83853cb0ea82e8f2febcfad19 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 2576174cf69acc6f7f545b8b6ccfd415d1efd083..286d4b8027ff9783728312bed95b6fcfebdacf21 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 e544e3f3570548e986dd5ba07516c28681f49fd5..ecbc4fe11eb68ae156c440c4ba0dc64ec4343886 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 479243cc458e930387e90cbacb37287607136248..741328e086b86907aac0d78cd7231cfb9bc04b5e 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 1940e0bc089adb839b35e5e0355dfdadb5916d6e..36e9bcea2483b8cc10c8a5456b6be0242c8d154c 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 a5c4f5949cf3c74e22d965af6499b85bfaa3c5ef..a915657c3c5484e1cb150f35a200a0fdae6511cf 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 b459e3a4efbf39241f10a857c624c05e12442870..b45bc9514c464e92ce05c38bfe5d21007951c78c 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 f4364d1bb4c3212510867011ef3f6a753608fb4f..5a3cd4022d0dd2c4d0796d11e04c8009a4c5f3b7 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: