From 3ff3644f3c531ed468324f0808c95b811f0ca857 Mon Sep 17 00:00:00 2001
From: Martin Weise <martin.weise@tuwien.ac.at>
Date: Mon, 27 May 2024 14:17:26 +0000
Subject: [PATCH] Dev

---
 .docs/.prometheus/metrics-generate.sh         |    4 +
 .docs/.swagger/api-analyse.yaml               |  205 -
 .docs/.swagger/api-data.yaml                  | 3118 -------
 .docs/.swagger/api-metadata.yaml              | 7396 -----------------
 .docs/.swagger/api-search.yaml                |  385 -
 .docs/.swagger/api-sidecar.yaml               |  106 -
 .docs/.swagger/api-upload.yaml                |   30 -
 .docs/.swagger/api.base.yaml                  |   30 +
 .docs/.swagger/api.yaml                       | 3874 +++++++++
 .docs/.swagger/custom.css                     |    4 +
 .docs/.swagger/swagger-generate.sh            |    2 +-
 .docs/.swagger/swagger-site.sh                |   24 +-
 .docs/.swagger/swagger-ui.html                |   16 +-
 .../analyse-service.md}                       |    2 -
 .../auth-service.md}                          |    4 +-
 .../broker-service.md}                        |    6 +-
 .../data-db.md}                               |    6 +-
 .../data-service.md}                          |    4 -
 .../gateway-service.md}                       |    2 -
 .docs/{usage-overview.md => api/index.md}     |    0
 .docs/api/metadata-db.md                      |    5 +
 .../metadata-service.md}                      |    2 -
 .docs/api/open-api.md                         |    7 +
 .docs/{usage-python.md => api/python.md}      |    8 +-
 .../search-service.md}                        |   10 +-
 .../storage-service.md}                       |    6 -
 .docs/{system-other-ui.md => api/ui.md}       |   29 +-
 .../upload-service.md}                        |    4 +-
 .docs/concepts/authentication.md              |   15 +
 .docs/concepts/databases.md                   |   33 +
 .docs/concepts/index.md                       |   16 +
 .docs/concepts/messaging.md                   |   15 +
 .docs/concepts/monitoring.md                  |  136 +
 .docs/concepts/pid.md                         |    7 +
 .docs/concepts/search.md                      |   13 +
 .docs/concepts/storage.md                     |   15 +
 .docs/concepts/ui.md                          |   21 +
 .docs/{dev-guide-app.md => contributing.md}   |   15 +-
 .docs/deployment-helm.md                      |    2 +
 .docs/dev-guide-infra.md                      |   78 -
 .docs/dev-overview.md                         |   21 -
 .docs/examples/covid19.md                     |   21 +
 .docs/examples/influenza.md                   |   21 +
 .docs/examples/manufacturing.md               |   19 +
 .docs/examples/power.md                       |   21 +
 .docs/examples/transportation.md              |   11 +
 .docs/help.md                                 |   11 +
 .docs/images/logos.png                        |  Bin 0 -> 32796 bytes
 .docs/images/logos.psd                        |  Bin 1125499 -> 1208810 bytes
 .docs/index.md                                |   65 +-
 .docs/migration.md                            |    5 +
 .docs/operation-actuator.md                   |    9 -
 .docs/operation-prometheus.md                 |    9 -
 .../extra.scssc                               |  Bin 9822 -> 10506 bytes
 .docs/stylesheets/extra.css                   |   21 +-
 .docs/stylesheets/extra.css.map               |    2 +-
 .docs/stylesheets/extra.scss                  |   19 +-
 .docs/system-databases-authentication.md      |   33 -
 .docs/system-databases-metadata.md            |   37 -
 .docs/system-databases-search.md              |   45 -
 .docs/system-other-search-dashboard.md        |   38 -
 .docs/system-overview.md                      |   27 -
 .docs/why.md                                  |   50 +
 .gitignore                                    |    3 +-
 .gitlab-ci.yml                                |   44 +-
 {.trivy => .gitlab}/gitlab.tpl                |    0
 bin/teardown.sh                               |   26 -
 dbrepo-analyse-service/Pipfile                |    2 +-
 dbrepo-analyse-service/Pipfile.lock           |  248 +-
 dbrepo-analyse-service/app.py                 |    7 +-
 dbrepo-analyse-service/clients/s3_client.py   |    7 +-
 .../lib/dbrepo-1.4.3-py3-none-any.whl         |  Bin 27029 -> 27105 bytes
 .../lib/dbrepo-1.4.3.tar.gz                   |  Bin 37117 -> 37342 bytes
 .../lib/dbrepo-1.4.4-py3-none-any.whl         |  Bin 0 -> 27104 bytes
 .../lib/dbrepo-1.4.4.tar.gz                   |  Bin 0 -> 37351 bytes
 dbrepo-analyse-service/metrics.md             |    6 +
 dbrepo-auth-service/dbrepo-realm.json         |   50 +-
 dbrepo-data-db/sidecar/app.py                 |   12 +-
 dbrepo-data-db/sidecar/clients/s3_client.py   |   19 +-
 dbrepo-data-db/sidecar/metrics.md             |    4 +
 dbrepo-data-service/metrics.md                |   17 +
 dbrepo-data-service/pom.xml                   |    2 +-
 dbrepo-data-service/querystore/pom.xml        |    4 +-
 dbrepo-data-service/report/pom.xml            |    4 +-
 dbrepo-data-service/rest-service/pom.xml      |    6 +-
 .../at/tuwien/endpoints/AccessEndpoint.java   |   64 +-
 .../at/tuwien/endpoints/DatabaseEndpoint.java |   42 +-
 .../at/tuwien/endpoints/SubsetEndpoint.java   |  148 +-
 .../at/tuwien/endpoints/TableEndpoint.java    |  256 +-
 .../at/tuwien/endpoints/ViewEndpoint.java     |  152 +-
 .../tuwien/handlers/ApiExceptionHandler.java  |   22 +-
 .../src/main/resources/application-local.yml  |    4 +
 .../src/main/resources/application.yml        |    6 +-
 .../endpoint/SubsetEndpointUnitTest.java      |    2 +-
 .../endpoint/TableEndpointUnitTest.java       |   21 +-
 .../tuwien/endpoint/ViewEndpointUnitTest.java |   36 +-
 .../at/tuwien/mvc/OpenApiEndpointMvcTest.java |    4 +-
 .../tuwien/mvc/PrometheusEndpointMvcTest.java |   87 +-
 .../service/SchemaServiceIntegrationTest.java |  143 +
 .../service/TableServiceIntegrationTest.java  |   66 +
 .../service/ViewServiceIntegrationTest.java   |   40 +-
 .../src/test/resources/init/weather.sql       |   23 +-
 dbrepo-data-service/services/pom.xml          |    6 +-
 .../java/at/tuwien/config/QueryConfig.java    |    9 +
 .../main/java/at/tuwien/config/S3Config.java  |    3 +
 .../exception/DatabaseMalformedException.java |    2 +-
 .../exception/QueryStoreCreateException.java  |    2 +-
 .../exception/QueryStoreInsertException.java  |    2 +-
 .../exception/QueryStorePersistException.java |    2 +-
 .../exception/TableSchemaException.java       |   21 +
 .../tuwien/exception/ViewSchemaException.java |   21 +
 .../at/tuwien/listener/DefaultListener.java   |    2 +
 .../java/at/tuwien/mapper/MariaDbMapper.java  |  312 +-
 .../java/at/tuwien/mapper/MetadataMapper.java |   10 +
 .../at/tuwien/service/DatabaseService.java    |    3 +-
 .../java/at/tuwien/service/SchemaService.java |    9 +-
 .../java/at/tuwien/service/TableService.java  |    9 +-
 .../java/at/tuwien/service/ViewService.java   |   16 +-
 .../impl/DatabaseServiceMariaDbImpl.java      |   10 +-
 .../service/impl/HibernateConnector.java      |    1 -
 .../impl/QueueServiceRabbitMqImpl.java        |    2 -
 .../impl/SchemaServiceMariaDbImpl.java        |  146 +-
 .../impl/SubsetServiceMariaDbImpl.java        |    8 +-
 .../service/impl/TableServiceMariaDbImpl.java |   62 +-
 .../service/impl/ViewServiceMariaDbImpl.java  |  106 +-
 dbrepo-metadata-db/setup-schema.sql           |   89 +-
 dbrepo-metadata-service/api/pom.xml           |    4 +-
 .../internal/PrivilegedContainerDto.java      |    6 +-
 .../tuwien/api/database/DatabaseBriefDto.java |   59 +
 .../at/tuwien/api/database/ViewColumnDto.java |   89 +
 .../at/tuwien/api/database/ViewCreateDto.java |    8 +-
 .../java/at/tuwien/api/database/ViewDto.java  |    5 +-
 .../database/internal/PrivilegedViewDto.java  |    3 +-
 .../api/database/table/TableBriefDto.java     |   19 +-
 .../tuwien/api/database/table/TableDto.java   |    2 +
 .../table/columns/ColumnCreateDto.java        |    5 +
 .../api/database/table/columns/ColumnDto.java |    9 +
 .../constraints/ConstraintsCreateDto.java     |    2 +-
 .../table/constraints/ConstraintsDto.java     |    5 +-
 .../ForeignKeyCreateDto.java                  |    2 +-
 .../ForeignKeyDto.java                        |   29 +-
 .../foreign/ForeignKeyReferenceDto.java       |   32 +
 .../ReferenceTypeDto.java                     |    2 +-
 .../constraints/primary/PrimaryKeyDto.java    |   27 +
 .../table/constraints/unique/UniqueDto.java   |    8 +-
 dbrepo-metadata-service/entities/pom.xml      |    4 +-
 .../tuwien/entities/container/Container.java  |    6 +-
 .../container/image/ContainerImage.java       |    2 +-
 .../container/image/ContainerImageDate.java   |    8 +-
 .../at/tuwien/entities/database/Database.java |    2 +-
 .../at/tuwien/entities/database/View.java     |   27 +-
 .../tuwien/entities/database/ViewColumn.java  |   50 +-
 .../tuwien/entities/database/table/Table.java |   44 +-
 .../database/table/columns/TableColumn.java   |   20 +-
 .../constraints/foreignKey/ForeignKey.java    |    2 -
 .../foreignKey/ForeignKeyReference.java       |    6 +-
 .../table/constraints/unique/Unique.java      |    1 +
 dbrepo-metadata-service/metrics.md            |   67 +
 dbrepo-metadata-service/oai/pom.xml           |   24 +-
 dbrepo-metadata-service/pom.xml               |    8 +-
 dbrepo-metadata-service/report/pom.xml        |    4 +-
 dbrepo-metadata-service/repositories/pom.xml  |    4 +-
 .../CredentialsInvalidException.java          |    2 +-
 .../java/at/tuwien/mapper/DatabaseMapper.java |    6 +-
 .../java/at/tuwien/mapper/QueryMapper.java    |  196 -
 .../java/at/tuwien/mapper/TableMapper.java    |   52 +-
 .../java/at/tuwien/mapper/ViewMapper.java     |   27 +-
 .../repository/ContainerRepository.java       |    1 +
 dbrepo-metadata-service/rest-service/pom.xml  |    4 +-
 .../at/tuwien/endpoints/AccessEndpoint.java   |    8 +-
 .../at/tuwien/endpoints/ConceptEndpoint.java  |    2 +-
 .../tuwien/endpoints/ContainerEndpoint.java   |    9 +-
 .../at/tuwien/endpoints/DatabaseEndpoint.java |  182 +-
 .../tuwien/endpoints/IdentifierEndpoint.java  |   76 +-
 .../at/tuwien/endpoints/ImageEndpoint.java    |   10 +-
 .../at/tuwien/endpoints/LicenseEndpoint.java  |    2 +-
 .../at/tuwien/endpoints/MessageEndpoint.java  |   10 +-
 .../at/tuwien/endpoints/MetadataEndpoint.java |   10 +-
 .../at/tuwien/endpoints/OntologyEndpoint.java |   21 +-
 .../at/tuwien/endpoints/TableEndpoint.java    |   92 +-
 .../at/tuwien/endpoints/UnitEndpoint.java     |    2 +-
 .../at/tuwien/endpoints/UserEndpoint.java     |   93 +-
 .../at/tuwien/endpoints/ViewEndpoint.java     |   24 +-
 .../tuwien/handlers/ApiExceptionHandler.java  |    2 +-
 .../src/main/resources/application-local.yml  |    4 +-
 .../endpoints/DatabaseEndpointUnitTest.java   |    4 +-
 .../at/tuwien/mvc/OpenApiEndpointMvcTest.java |    9 +-
 .../tuwien/mvc/PrometheusEndpointMvcTest.java |  197 +-
 .../service/ConceptServiceUnitTest.java       |    6 +-
 ...aCiteIdentifierServicePersistenceTest.java |    8 -
 .../DatabaseServicePersistenceTest.java       |   33 +-
 .../service/DatabaseServiceUnitTest.java      |    2 +-
 ....java => ImageServicePersistenceTest.java} |    5 +-
 .../tuwien/service/ImageServiceUnitTest.java  |    2 +-
 .../service/TableServicePersistenceTest.java  |   17 +-
 .../tuwien/service/TableServiceUnitTest.java  |    4 +-
 .../service/ViewServicePersistenceTest.java   |   68 +
 .../tuwien/service/ViewServiceUnitTest.java   |    5 +-
 .../src/test/resources/init/weather.sql       |   38 +-
 dbrepo-metadata-service/services/pom.xml      |    4 +-
 .../at/tuwien/gateway/DataServiceGateway.java |    9 +-
 .../impl/BrokerServiceGatewayImpl.java        |    2 -
 .../gateway/impl/DataServiceGatewayImpl.java  |   83 +-
 .../impl/SearchServiceGatewayImpl.java        |   40 +-
 .../at/tuwien/service/DatabaseService.java    |    8 +
 .../service/impl/DatabaseServiceImpl.java     |  111 +-
 .../tuwien/service/impl/ViewServiceImpl.java  |   15 +-
 dbrepo-metadata-service/test/pom.xml          |    4 +-
 .../java/at/tuwien/test/AbstractUnitTest.java |   24 +-
 .../main/java/at/tuwien/test/BaseTest.java    | 2462 +++---
 dbrepo-search-service/Pipfile                 |    2 +-
 dbrepo-search-service/Pipfile.lock            |  152 +-
 dbrepo-search-service/app.py                  |    8 +
 .../lib/dbrepo-1.4.3-py3-none-any.whl         |  Bin 27029 -> 27105 bytes
 dbrepo-search-service/lib/dbrepo-1.4.3.tar.gz |  Bin 37117 -> 37342 bytes
 .../lib/dbrepo-1.4.4-py3-none-any.whl         |  Bin 0 -> 27104 bytes
 dbrepo-search-service/lib/dbrepo-1.4.4.tar.gz |  Bin 0 -> 37351 bytes
 dbrepo-search-service/metrics.md              |    8 +
 dbrepo-ui/components/subset/SubsetList.vue    |   12 +-
 dbrepo-ui/components/table/TableList.vue      |    2 +-
 dbrepo-ui/components/view/ViewList.vue        |    4 -
 dbrepo-ui/composables/axios-instance.ts       |   11 +-
 dbrepo-ui/composables/database-service.ts     |   34 +
 dbrepo-ui/composables/query-service.ts        |    4 +-
 dbrepo-ui/composables/table-service.ts        |    4 +-
 dbrepo-ui/composables/user-service.ts         |    2 -
 dbrepo-ui/composables/view-service.ts         |    4 +-
 dbrepo-ui/locales/de-AT.json                  |   28 +-
 dbrepo-ui/locales/en-US.json                  |   26 +-
 .../pages/database/[database_id]/settings.vue |   50 +
 .../[database_id]/table/[table_id]/schema.vue |   11 +-
 dbrepo-ui/pages/user/info.vue                 |   10 +-
 dbrepo-ui/utils/index.ts                      |    9 +
 docker-compose.yml                            |   13 +-
 helm/dbrepo/Chart.yaml                        |    4 +-
 helm/dbrepo/Makefile                          |    2 +-
 helm/dbrepo/README.md                         |   61 +-
 helm/dbrepo/templates/data-secret.yaml        |   10 +-
 helm/dbrepo/templates/metadata-configmap.yaml |    5 +-
 helm/dbrepo/values.schema.json                |   21 +
 helm/dbrepo/values.yaml                       |   36 +-
 .../{build-website.sh => build-site.sh}       |    4 +-
 lib/python/dbrepo/RestClient.py               |  131 +-
 lib/python/dbrepo/api/dto.py                  |   23 +
 lib/python/docs/conf.py                       |    2 +-
 lib/python/docs/index.rst                     |    2 +-
 lib/python/package.sh                         |    5 -
 lib/python/pyproject.toml                     |    2 +-
 lib/python/setup.py                           |    2 +-
 make/gen.mk                                   |    2 +-
 mkdocs.yml                                    |   75 +-
 versions.json                                 |    7 +-
 252 files changed, 9542 insertions(+), 14406 deletions(-)
 create mode 100755 .docs/.prometheus/metrics-generate.sh
 delete mode 100644 .docs/.swagger/api-analyse.yaml
 delete mode 100644 .docs/.swagger/api-data.yaml
 delete mode 100644 .docs/.swagger/api-metadata.yaml
 delete mode 100644 .docs/.swagger/api-search.yaml
 delete mode 100644 .docs/.swagger/api-sidecar.yaml
 delete mode 100644 .docs/.swagger/api-upload.yaml
 create mode 100644 .docs/.swagger/api.base.yaml
 create mode 100644 .docs/.swagger/api.yaml
 rename .docs/{system-services-analyse.md => api/analyse-service.md} (99%)
 rename .docs/{system-services-authentication.md => api/auth-service.md} (99%)
 rename .docs/{system-services-broker.md => api/broker-service.md} (96%)
 rename .docs/{system-databases-data.md => api/data-db.md} (97%)
 rename .docs/{system-services-data.md => api/data-service.md} (90%)
 rename .docs/{system-services-gateway.md => api/gateway-service.md} (99%)
 rename .docs/{usage-overview.md => api/index.md} (100%)
 create mode 100644 .docs/api/metadata-db.md
 rename .docs/{system-services-metadata.md => api/metadata-service.md} (99%)
 create mode 100644 .docs/api/open-api.md
 rename .docs/{usage-python.md => api/python.md} (95%)
 rename .docs/{system-services-search.md => api/search-service.md} (92%)
 rename .docs/{system-services-storage.md => api/storage-service.md} (95%)
 rename .docs/{system-other-ui.md => api/ui.md} (75%)
 rename .docs/{system-services-upload.md => api/upload-service.md} (95%)
 create mode 100644 .docs/concepts/authentication.md
 create mode 100644 .docs/concepts/databases.md
 create mode 100644 .docs/concepts/index.md
 create mode 100644 .docs/concepts/messaging.md
 create mode 100644 .docs/concepts/monitoring.md
 create mode 100644 .docs/concepts/pid.md
 create mode 100644 .docs/concepts/search.md
 create mode 100644 .docs/concepts/storage.md
 create mode 100644 .docs/concepts/ui.md
 rename .docs/{dev-guide-app.md => contributing.md} (91%)
 delete mode 100644 .docs/dev-guide-infra.md
 delete mode 100644 .docs/dev-overview.md
 create mode 100644 .docs/examples/covid19.md
 create mode 100644 .docs/examples/influenza.md
 create mode 100644 .docs/examples/manufacturing.md
 create mode 100644 .docs/examples/power.md
 create mode 100644 .docs/examples/transportation.md
 create mode 100644 .docs/help.md
 create mode 100644 .docs/images/logos.png
 create mode 100644 .docs/migration.md
 delete mode 100644 .docs/operation-actuator.md
 delete mode 100644 .docs/operation-prometheus.md
 delete mode 100644 .docs/system-databases-authentication.md
 delete mode 100644 .docs/system-databases-metadata.md
 delete mode 100644 .docs/system-databases-search.md
 delete mode 100644 .docs/system-other-search-dashboard.md
 delete mode 100644 .docs/system-overview.md
 create mode 100644 .docs/why.md
 rename {.trivy => .gitlab}/gitlab.tpl (100%)
 delete mode 100755 bin/teardown.sh
 create mode 100644 dbrepo-analyse-service/lib/dbrepo-1.4.4-py3-none-any.whl
 create mode 100644 dbrepo-analyse-service/lib/dbrepo-1.4.4.tar.gz
 create mode 100644 dbrepo-analyse-service/metrics.md
 create mode 100644 dbrepo-data-db/sidecar/metrics.md
 create mode 100644 dbrepo-data-service/metrics.md
 create mode 100644 dbrepo-data-service/rest-service/src/test/java/at/tuwien/service/SchemaServiceIntegrationTest.java
 create mode 100644 dbrepo-data-service/services/src/main/java/at/tuwien/exception/TableSchemaException.java
 create mode 100644 dbrepo-data-service/services/src/main/java/at/tuwien/exception/ViewSchemaException.java
 create mode 100644 dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/DatabaseBriefDto.java
 create mode 100644 dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/ViewColumnDto.java
 rename dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/constraints/{foreignKey => foreign}/ForeignKeyCreateDto.java (91%)
 rename dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/constraints/{foreignKey => foreign}/ForeignKeyDto.java (54%)
 create mode 100644 dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/constraints/foreign/ForeignKeyReferenceDto.java
 rename dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/constraints/{foreignKey => foreign}/ReferenceTypeDto.java (90%)
 create mode 100644 dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/constraints/primary/PrimaryKeyDto.java
 create mode 100644 dbrepo-metadata-service/metrics.md
 delete mode 100644 dbrepo-metadata-service/repositories/src/main/java/at/tuwien/mapper/QueryMapper.java
 rename dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/service/{ImageServiceIntegrationTest.java => ImageServicePersistenceTest.java} (92%)
 create mode 100644 dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/service/ViewServicePersistenceTest.java
 create mode 100644 dbrepo-search-service/lib/dbrepo-1.4.4-py3-none-any.whl
 create mode 100644 dbrepo-search-service/lib/dbrepo-1.4.4.tar.gz
 create mode 100644 dbrepo-search-service/metrics.md
 rename lib/python/{build-website.sh => build-site.sh} (54%)

diff --git a/.docs/.prometheus/metrics-generate.sh b/.docs/.prometheus/metrics-generate.sh
new file mode 100755
index 0000000000..2e78c1cef1
--- /dev/null
+++ b/.docs/.prometheus/metrics-generate.sh
@@ -0,0 +1,4 @@
+#!/bin/bash
+mvn -f ./dbrepo-metadata-service/pom.xml install
+mvn -f ./dbrepo-data-service/pom.xml -pl rest-service -Dtest="PrometheusEndpointMvcTest" test
+mvn -f ./dbrepo-metadata-service/pom.xml -pl rest-service -Dtest="PrometheusEndpointMvcTest" test
diff --git a/.docs/.swagger/api-analyse.yaml b/.docs/.swagger/api-analyse.yaml
deleted file mode 100644
index 211d54bd15..0000000000
--- a/.docs/.swagger/api-analyse.yaml
+++ /dev/null
@@ -1,205 +0,0 @@
-components:
-  securitySchemes:
-    basicAuth:
-      in: header
-      scheme: basic
-      type: http
-    bearerAuth:
-      bearerFormat: JWT
-      in: header
-      scheme: bearer
-      type: http
-externalDocs:
-  description: Sourcecode Documentation
-  url: https://www.ifs.tuwien.ac.at/infrastructures/dbrepo/__APPVERSION__/
-info:
-  contact:
-    email: andreas.rauber@tuwien.ac.at
-    name: Prof. Andreas Rauber
-  description: Service that analyses data structures
-  license:
-    name: Apache 2.0
-    url: https://www.apache.org/licenses/LICENSE-2.0
-  title: Database Repository Analyse Service API
-  version: __APPVERSION__
-openapi: 3.0.0
-paths:
-  /api/analyse/database/{database_id}/table/{table_id}/statistics:
-    get:
-      operationId: analyse_table_stat
-      parameters:
-        - example: 1
-          in: path
-          name: database_id
-          required: true
-          schema:
-            format: int64
-            type: integer
-        - example: 1
-          in: path
-          name: table_id
-          required: true
-          schema:
-            format: int64
-            type: integer
-      responses:
-        '202':
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/TableStats'
-          description: Determined statistics
-        '400':
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ErrorDto'
-          description: Missing parameters
-        '404':
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ErrorDto'
-          description: Table not found
-      security:
-        - bearerAuth: []
-        - basicAuth: []
-      summary: Determine table statistics
-      tags:
-        - analyse-endpoint
-  /api/analyse/datatypes:
-    get:
-      consumes:
-        - application/json
-      description: This is a simple API which returns the datatypes of a (path) csv
-        file
-      operationId: analyse_datatypes
-      parameters:
-        - example: filename_s3_key
-          in: query
-          name: filename
-          required: true
-          schema:
-            type: string
-        - example: ','
-          in: query
-          name: separator
-          required: true
-          schema:
-            type: string
-        - example: 'false'
-          in: query
-          name: enum
-          required: false
-          schema:
-            type: boolean
-        - example: '2.5'
-          in: query
-          name: enum_tol
-          required: false
-          schema:
-            type: float
-      produces:
-        - application/json
-      responses:
-        '202':
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/DataTypesDto'
-          description: Determined data types successfully
-        '400':
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ErrorDto'
-          description: Failed to determine data types
-        '404':
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ErrorDto'
-          description: Failed to find file in Storage Service
-        '500':
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ErrorDto'
-          description: Unexpected system error
-      summary: Determine datatypes
-      tags:
-        - analyse-endpoint
-  /api/analyse/keys:
-    get:
-      consumes:
-        - application/json
-      description: This is a simple API which returns the primary keys + ranking of
-        a (path) csv file
-      operationId: analyse_keys
-      parameters:
-        - example: filename_s3_key
-          in: query
-          name: filename
-          required: true
-          schema:
-            type: string
-        - example: ','
-          in: query
-          name: separator
-          required: true
-          schema:
-            type: string
-      produces:
-        - application/json
-      responses:
-        '202':
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/KeysDto'
-          description: Determined keys successfully
-        '400':
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ErrorDto'
-          description: Failed to determine keys
-        '404':
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ErrorDto'
-          description: Failed to find file in Storage Service or is empty
-        '500':
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ErrorDto'
-          description: Unexpected system error
-      summary: Determine primary keys
-      tags:
-        - analyse-endpoint
-  /health:
-    get:
-      consumes:
-        - application/json
-      description: This is a simple API which checks if the application is healthy
-      produces:
-        - application/json
-      responses:
-        '200':
-          description: OK
-          schema:
-            properties:
-              status:
-                example: UP
-                type: string
-            type: object
-      summary: Check if application is running
-      tags:
-        - health-endpoint
-servers:
-  - description: Generated server url
-    url: http://localhost:5000
-  - description: Sandbox
-    url: https://test.dbrepo.tuwien.ac.at
diff --git a/.docs/.swagger/api-data.yaml b/.docs/.swagger/api-data.yaml
deleted file mode 100644
index 662cecc317..0000000000
--- a/.docs/.swagger/api-data.yaml
+++ /dev/null
@@ -1,3118 +0,0 @@
-openapi: 3.0.1
-info:
-  title: Database Repository Data Service API
-  description: Service that manages the data
-  contact:
-    name: Prof. Andreas Rauber
-    email: andreas.rauber@tuwien.ac.at
-  license:
-    name: Apache 2.0
-    url: https://www.apache.org/licenses/LICENSE-2.0
-  version: 1.4.3
-externalDocs:
-  description: Sourcecode Documentation
-  url: https://www.ifs.tuwien.ac.at/infrastructures/dbrepo/1.4.3/system-services-metadata/
-servers:
-- url: http://localhost
-  description: Development instance
-- url: https://test.dbrepo.tuwien.ac.at
-  description: Staging instance
-paths:
-  /api/database/{databaseId}/view/{viewId}/data:
-    get:
-      tags:
-      - view-endpoint
-      summary: Get view data
-      operationId: getData
-      parameters:
-      - name: databaseId
-        in: path
-        required: true
-        schema:
-          type: integer
-          format: int64
-      - name: viewId
-        in: path
-        required: true
-        schema:
-          type: integer
-          format: int64
-      - name: page
-        in: query
-        required: false
-        schema:
-          type: integer
-          format: int64
-      - name: size
-        in: query
-        required: false
-        schema:
-          type: integer
-          format: int64
-      - name: timestamp
-        in: query
-        required: false
-        schema:
-          type: string
-          format: date-time
-      responses:
-        "200":
-          description: Returned view data
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/QueryResultDto'
-      security:
-      - basicAuth: []
-      - bearerAuth: []
-    head:
-      tags:
-      - view-endpoint
-      summary: Get view data
-      operationId: getData_1
-      parameters:
-      - name: databaseId
-        in: path
-        required: true
-        schema:
-          type: integer
-          format: int64
-      - name: viewId
-        in: path
-        required: true
-        schema:
-          type: integer
-          format: int64
-      - name: page
-        in: query
-        required: false
-        schema:
-          type: integer
-          format: int64
-      - name: size
-        in: query
-        required: false
-        schema:
-          type: integer
-          format: int64
-      - name: timestamp
-        in: query
-        required: false
-        schema:
-          type: string
-          format: date-time
-      responses:
-        "200":
-          description: Returned view data
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/QueryResultDto'
-      security:
-      - basicAuth: []
-      - bearerAuth: []
-  /api/database/{databaseId}/table/{tableId}/data:
-    get:
-      tags:
-      - table-endpoint
-      summary: Find table data
-      operationId: getData_2
-      parameters:
-      - name: databaseId
-        in: path
-        required: true
-        schema:
-          type: integer
-          format: int64
-      - name: tableId
-        in: path
-        required: true
-        schema:
-          type: integer
-          format: int64
-      - name: timestamp
-        in: query
-        required: false
-        schema:
-          type: string
-          format: date-time
-      - name: page
-        in: query
-        required: false
-        schema:
-          type: integer
-          format: int64
-      - name: size
-        in: query
-        required: false
-        schema:
-          type: integer
-          format: int64
-      responses:
-        "200":
-          description: Found table data
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/QueryResultDto'
-      security:
-      - basicAuth: []
-      - bearerAuth: []
-    put:
-      tags:
-      - table-endpoint
-      summary: Update table data
-      operationId: updateTuple
-      parameters:
-      - name: databaseId
-        in: path
-        required: true
-        schema:
-          type: integer
-          format: int64
-      - name: tableId
-        in: path
-        required: true
-        schema:
-          type: integer
-          format: int64
-      requestBody:
-        content:
-          application/json:
-            schema:
-              $ref: '#/components/schemas/TupleUpdateDto'
-        required: true
-      responses:
-        "202":
-          description: Updated table data
-      security:
-      - basicAuth: []
-      - bearerAuth: []
-    post:
-      tags:
-      - table-endpoint
-      summary: Create table data
-      operationId: createTuple
-      parameters:
-      - name: databaseId
-        in: path
-        required: true
-        schema:
-          type: integer
-          format: int64
-      - name: tableId
-        in: path
-        required: true
-        schema:
-          type: integer
-          format: int64
-      requestBody:
-        content:
-          application/json:
-            schema:
-              $ref: '#/components/schemas/TupleDto'
-        required: true
-      responses:
-        "201":
-          description: Created table data
-      security:
-      - basicAuth: []
-      - bearerAuth: []
-    delete:
-      tags:
-      - table-endpoint
-      summary: Delete table data
-      operationId: deleteTuple
-      parameters:
-      - name: databaseId
-        in: path
-        required: true
-        schema:
-          type: integer
-          format: int64
-      - name: tableId
-        in: path
-        required: true
-        schema:
-          type: integer
-          format: int64
-      requestBody:
-        content:
-          application/json:
-            schema:
-              $ref: '#/components/schemas/TupleDeleteDto'
-        required: true
-      responses:
-        "202":
-          description: Deleted table data
-      security:
-      - basicAuth: []
-      - bearerAuth: []
-    head:
-      tags:
-      - table-endpoint
-      summary: Find table data
-      operationId: getData_3
-      parameters:
-      - name: databaseId
-        in: path
-        required: true
-        schema:
-          type: integer
-          format: int64
-      - name: tableId
-        in: path
-        required: true
-        schema:
-          type: integer
-          format: int64
-      - name: timestamp
-        in: query
-        required: false
-        schema:
-          type: string
-          format: date-time
-      - name: page
-        in: query
-        required: false
-        schema:
-          type: integer
-          format: int64
-      - name: size
-        in: query
-        required: false
-        schema:
-          type: integer
-          format: int64
-      responses:
-        "200":
-          description: Found table data
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/QueryResultDto'
-      security:
-      - basicAuth: []
-      - bearerAuth: []
-  /api/database/{databaseId}/subset/{subsetId}/data:
-    get:
-      tags:
-      - subset-endpoint
-      summary: Re-execute some query
-      operationId: getData_4
-      parameters:
-      - name: databaseId
-        in: path
-        required: true
-        schema:
-          type: integer
-          format: int64
-      - name: subsetId
-        in: path
-        required: true
-        schema:
-          type: integer
-          format: int64
-      - name: page
-        in: query
-        required: false
-        schema:
-          type: integer
-          format: int64
-      - name: size
-        in: query
-        required: false
-        schema:
-          type: integer
-          format: int64
-      responses:
-        "200":
-          description: Get subset data
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/QueryResultDto'
-      security:
-      - bearerAuth: []
-      - basicAuth: []
-    head:
-      tags:
-      - subset-endpoint
-      summary: Re-execute some query
-      operationId: getData_5
-      parameters:
-      - name: databaseId
-        in: path
-        required: true
-        schema:
-          type: integer
-          format: int64
-      - name: subsetId
-        in: path
-        required: true
-        schema:
-          type: integer
-          format: int64
-      - name: page
-        in: query
-        required: false
-        schema:
-          type: integer
-          format: int64
-      - name: size
-        in: query
-        required: false
-        schema:
-          type: integer
-          format: int64
-      responses:
-        "200":
-          description: Get subset data
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/QueryResultDto'
-      security:
-      - bearerAuth: []
-      - basicAuth: []
-  /api/database/{databaseId}:
-    put:
-      tags:
-      - database-endpoint
-      summary: Update user password in database
-      operationId: update
-      parameters:
-      - name: databaseId
-        in: path
-        required: true
-        schema:
-          type: integer
-          format: int64
-      requestBody:
-        content:
-          application/json:
-            schema:
-              $ref: '#/components/schemas/UpdateUserPasswordDto'
-        required: true
-      responses:
-        "202":
-          description: Created a new database
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/DatabaseDto'
-        "400":
-          description: Database create query is malformed or image is not supported
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ApiErrorDto'
-      security:
-      - basicAuth: []
-  /api/database/{databaseId}/subset/{queryId}:
-    put:
-      tags:
-      - subset-endpoint
-      summary: Persist some query
-      operationId: persist
-      parameters:
-      - name: databaseId
-        in: path
-        required: true
-        schema:
-          type: integer
-          format: int64
-      - name: queryId
-        in: path
-        required: true
-        schema:
-          type: integer
-          format: int64
-      requestBody:
-        content:
-          application/json:
-            schema:
-              $ref: '#/components/schemas/QueryPersistDto'
-        required: true
-      responses:
-        "202":
-          description: Persist query successful
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/QueryDto'
-      security:
-      - bearerAuth: []
-      - basicAuth: []
-  /api/database/{databaseId}/access/{userId}:
-    put:
-      tags:
-      - access-endpoint
-      summary: Modify access to some database
-      operationId: update_1
-      parameters:
-      - name: databaseId
-        in: path
-        required: true
-        schema:
-          type: integer
-          format: int64
-      - name: userId
-        in: path
-        required: true
-        schema:
-          type: string
-          format: uuid
-      requestBody:
-        content:
-          application/json:
-            schema:
-              $ref: '#/components/schemas/UpdateDatabaseAccessDto'
-        required: true
-      responses:
-        "404":
-          description: Database or user not found
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ApiErrorDto'
-        "400":
-          description: Modify access query or database connection is malformed
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ApiErrorDto'
-        "503":
-          description: Access could not be updated in the data service
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ApiErrorDto'
-        "403":
-          description: Modify access not permitted when no access is granted in the
-            first place
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ApiErrorDto'
-        "202":
-          description: Modify access succeeded
-      security:
-      - basicAuth: []
-    post:
-      tags:
-      - access-endpoint
-      summary: Give access to some database
-      operationId: create_4
-      parameters:
-      - name: databaseId
-        in: path
-        required: true
-        schema:
-          type: integer
-          format: int64
-      - name: userId
-        in: path
-        required: true
-        schema:
-          type: string
-          format: uuid
-      requestBody:
-        content:
-          application/json:
-            schema:
-              $ref: '#/components/schemas/UpdateDatabaseAccessDto'
-        required: true
-      responses:
-        "202":
-          description: Granting access succeeded
-        "404":
-          description: Database or user not found
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ApiErrorDto'
-        "405":
-          description: Granting access not permitted
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ApiErrorDto'
-        "403":
-          description: Failed giving access
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ApiErrorDto'
-        "400":
-          description: Granting access query or database connection is malformed
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ApiErrorDto'
-        "503":
-          description: Access could not be created in the data service
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ApiErrorDto'
-      security:
-      - basicAuth: []
-    delete:
-      tags:
-      - access-endpoint
-      summary: Revoke access to some database
-      operationId: revoke
-      parameters:
-      - name: databaseId
-        in: path
-        required: true
-        schema:
-          type: integer
-          format: int64
-      - name: userId
-        in: path
-        required: true
-        schema:
-          type: string
-          format: uuid
-      responses:
-        "202":
-          description: Revoked access successfully
-        "400":
-          description: Modify access query or database connection is malformed
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ApiErrorDto'
-        "404":
-          description: "User, database with access was not found"
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ApiErrorDto'
-        "503":
-          description: Access could not be revoked in the data service
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ApiErrorDto'
-        "403":
-          description: Revoke of access not permitted as no access was found
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ApiErrorDto'
-      security:
-      - basicAuth: []
-  /api/database:
-    post:
-      tags:
-      - database-endpoint
-      summary: Create database
-      operationId: create
-      requestBody:
-        content:
-          application/json:
-            schema:
-              $ref: '#/components/schemas/CreateDatabaseDto'
-        required: true
-      responses:
-        "201":
-          description: Created a new database
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/DatabaseDto'
-        "400":
-          description: Database create query is malformed or image is not supported
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ApiErrorDto'
-      security:
-      - basicAuth: []
-  /api/database/{databaseId}/view:
-    post:
-      tags:
-      - view-endpoint
-      summary: Create view
-      operationId: create_1
-      parameters:
-      - name: databaseId
-        in: path
-        required: true
-        schema:
-          type: integer
-          format: int64
-      requestBody:
-        content:
-          application/json:
-            schema:
-              $ref: '#/components/schemas/ViewCreateDto'
-        required: true
-      responses:
-        "202":
-          description: Created a new view
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/DatabaseDto'
-      security:
-      - basicAuth: []
-      - bearerAuth: []
-  /api/database/{databaseId}/table:
-    post:
-      tags:
-      - table-endpoint
-      summary: Create table
-      operationId: create_2
-      parameters:
-      - name: databaseId
-        in: path
-        required: true
-        schema:
-          type: integer
-          format: int64
-      requestBody:
-        content:
-          application/json:
-            schema:
-              $ref: '#/components/schemas/TableCreateDto'
-        required: true
-      responses:
-        "202":
-          description: Created a new table
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/DatabaseDto'
-      security:
-      - basicAuth: []
-  /api/database/{databaseId}/table/{tableId}/data/import:
-    post:
-      tags:
-      - table-endpoint
-      summary: Insert data from csv
-      operationId: importData
-      parameters:
-      - name: databaseId
-        in: path
-        required: true
-        schema:
-          type: integer
-          format: int64
-      - name: tableId
-        in: path
-        required: true
-        schema:
-          type: integer
-          format: int64
-      requestBody:
-        content:
-          application/json:
-            schema:
-              $ref: '#/components/schemas/ImportCsvDto'
-        required: true
-      responses:
-        "202":
-          description: Import  successfully
-      security:
-      - basicAuth: []
-      - bearerAuth: []
-  /api/database/{databaseId}/subset:
-    get:
-      tags:
-      - subset-endpoint
-      summary: Find subsets
-      operationId: findAllById
-      parameters:
-      - name: databaseId
-        in: path
-        required: true
-        schema:
-          type: integer
-          format: int64
-      - name: persisted
-        in: query
-        required: false
-        schema:
-          type: boolean
-      responses:
-        "200":
-          description: Found subsets
-          content:
-            application/json:
-              schema:
-                type: string
-      security:
-      - basicAuth: []
-      - bearerAuth: []
-    post:
-      tags:
-      - subset-endpoint
-      summary: Create subset
-      operationId: create_3
-      parameters:
-      - name: databaseId
-        in: path
-        required: true
-        schema:
-          type: integer
-          format: int64
-      - name: page
-        in: query
-        required: false
-        schema:
-          type: integer
-          format: int64
-      - name: size
-        in: query
-        required: false
-        schema:
-          type: integer
-          format: int64
-      - name: timestamp
-        in: query
-        required: false
-        schema:
-          type: string
-          format: date-time
-      requestBody:
-        content:
-          application/json:
-            schema:
-              $ref: '#/components/schemas/ExecuteStatementDto'
-        required: true
-      responses:
-        "201":
-          description: Created subset
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/QueryResultDto'
-      security:
-      - basicAuth: []
-      - bearerAuth: []
-  /api/database/{databaseId}/table/{tableId}/history:
-    get:
-      tags:
-      - table-endpoint
-      summary: Find table history
-      operationId: getHistory
-      parameters:
-      - name: databaseId
-        in: path
-        required: true
-        schema:
-          type: integer
-          format: int64
-      - name: tableId
-        in: path
-        required: true
-        schema:
-          type: integer
-          format: int64
-      responses:
-        "200":
-          description: Found table history
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/DatabaseDto'
-      security:
-      - basicAuth: []
-      - bearerAuth: []
-  /api/database/{databaseId}/table/{tableId}/export:
-    get:
-      tags:
-      - table-endpoint
-      summary: Export table data
-      operationId: exportData
-      parameters:
-      - name: databaseId
-        in: path
-        required: true
-        schema:
-          type: integer
-          format: int64
-      - name: tableId
-        in: path
-        required: true
-        schema:
-          type: integer
-          format: int64
-      - name: timestamp
-        in: query
-        required: false
-        schema:
-          type: string
-          format: date-time
-      responses:
-        "200":
-          description: Exported table data
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/DatabaseDto'
-      security:
-      - basicAuth: []
-      - bearerAuth: []
-  /api/database/{databaseId}/subset/{subsetId}:
-    get:
-      tags:
-      - subset-endpoint
-      summary: Find subset
-      operationId: findById
-      parameters:
-      - name: databaseId
-        in: path
-        required: true
-        schema:
-          type: integer
-          format: int64
-      - name: subsetId
-        in: path
-        required: true
-        schema:
-          type: integer
-          format: int64
-      - name: timestamp
-        in: query
-        required: false
-        schema:
-          type: string
-          format: date-time
-      responses:
-        "200":
-          description: Found subset
-          content:
-            '*/*':
-              schema:
-                type: object
-      security:
-      - basicAuth: []
-      - bearerAuth: []
-  /api/database/{databaseId}/view/{viewId}:
-    delete:
-      tags:
-      - view-endpoint
-      summary: Delete view in database
-      operationId: delete
-      parameters:
-      - name: databaseId
-        in: path
-        required: true
-        schema:
-          type: integer
-          format: int64
-      - name: viewId
-        in: path
-        required: true
-        schema:
-          type: integer
-          format: int64
-      responses:
-        "201":
-          description: Deleted table
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/DatabaseDto'
-      security:
-      - basicAuth: []
-      - bearerAuth: []
-  /api/database/{databaseId}/table/{tableId}:
-    delete:
-      tags:
-      - table-endpoint
-      summary: Delete table in database
-      operationId: delete_1
-      parameters:
-      - name: databaseId
-        in: path
-        required: true
-        schema:
-          type: integer
-          format: int64
-      - name: tableId
-        in: path
-        required: true
-        schema:
-          type: integer
-          format: int64
-      responses:
-        "201":
-          description: Deleted table
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/DatabaseDto'
-      security:
-      - basicAuth: []
-components:
-  schemas:
-    QueryResultDto:
-      required:
-      - headers
-      - id
-      - result
-      type: object
-      properties:
-        result:
-          type: array
-          items:
-            type: object
-            additionalProperties:
-              type: object
-        headers:
-          type: array
-          items:
-            type: object
-            additionalProperties:
-              type: integer
-              format: int32
-        id:
-          type: integer
-          format: int64
-    UpdateUserPasswordDto:
-      required:
-      - password
-      - username
-      type: object
-      properties:
-        username:
-          type: string
-        password:
-          type: string
-    ColumnBriefDto:
-      required:
-      - column_type
-      - database_id
-      - id
-      - internal_name
-      - name
-      - table_id
-      type: object
-      properties:
-        id:
-          type: integer
-          format: int64
-        name:
-          type: string
-          example: date
-        alias:
-          type: string
-        database_id:
-          type: integer
-          format: int64
-        table_id:
-          type: integer
-          format: int64
-        internal_name:
-          type: string
-          example: mdb_date
-        column_type:
-          type: string
-          example: date
-          enum:
-          - char
-          - varchar
-          - binary
-          - varbinary
-          - tinyblob
-          - tinytext
-          - text
-          - blob
-          - mediumtext
-          - mediumblob
-          - longtext
-          - longblob
-          - enum
-          - set
-          - bit
-          - tinyint
-          - bool
-          - smallint
-          - mediumint
-          - int
-          - bigint
-          - float
-          - double
-          - decimal
-          - date
-          - datetime
-          - timestamp
-          - time
-          - year
-    ColumnDto:
-      required:
-      - auto_generated
-      - column_type
-      - database_id
-      - id
-      - internal_name
-      - is_null_allowed
-      - is_public
-      - name
-      - ordinal_position
-      - table_id
-      type: object
-      properties:
-        id:
-          type: integer
-          format: int64
-        name:
-          type: string
-          example: Date
-        alias:
-          type: string
-        size:
-          type: integer
-          format: int64
-          example: 255
-        d:
-          type: integer
-          format: int64
-          example: 0
-        mean:
-          type: number
-          example: 45.4
-        median:
-          type: number
-          example: 51
-        concept:
-          $ref: '#/components/schemas/ConceptDto'
-        unit:
-          $ref: '#/components/schemas/UnitDto'
-        table:
-          $ref: '#/components/schemas/TableDto'
-        views:
-          type: array
-          items:
-            $ref: '#/components/schemas/ViewDto'
-        enums:
-          type: array
-          items:
-            type: string
-        sets:
-          type: array
-          items:
-            type: string
-        database_id:
-          type: integer
-          format: int64
-        table_id:
-          type: integer
-          format: int64
-        ordinal_position:
-          type: integer
-          format: int32
-          example: 0
-        internal_name:
-          type: string
-          example: mdb_date
-        date_format:
-          $ref: '#/components/schemas/ImageDateDto'
-        auto_generated:
-          type: boolean
-          example: false
-        index_length:
-          type: integer
-          format: int64
-        length:
-          type: integer
-          format: int64
-        column_type:
-          type: string
-          example: string
-          enum:
-          - char
-          - varchar
-          - binary
-          - varbinary
-          - tinyblob
-          - tinytext
-          - text
-          - blob
-          - mediumtext
-          - mediumblob
-          - longtext
-          - longblob
-          - enum
-          - set
-          - bit
-          - tinyint
-          - bool
-          - smallint
-          - mediumint
-          - int
-          - bigint
-          - float
-          - double
-          - decimal
-          - date
-          - datetime
-          - timestamp
-          - time
-          - year
-        data_length:
-          type: integer
-          format: int64
-          example: 34300
-        max_data_length:
-          type: integer
-          format: int64
-          example: 34300
-        num_rows:
-          type: integer
-          format: int64
-          example: 32
-        val_min:
-          type: number
-          example: 0
-        val_max:
-          type: number
-          example: 100
-        std_dev:
-          type: number
-          example: 5.32
-        is_public:
-          type: boolean
-          example: true
-        is_null_allowed:
-          type: boolean
-          example: false
-    ConceptDto:
-      required:
-      - columns
-      - created
-      - id
-      - uri
-      type: object
-      properties:
-        id:
-          type: integer
-          format: int64
-        uri:
-          type: string
-        name:
-          type: string
-        description:
-          type: string
-        created:
-          type: string
-          format: date-time
-          example: 2021-03-12T15:26:21Z
-        columns:
-          type: array
-          items:
-            $ref: '#/components/schemas/ColumnBriefDto'
-    ConstraintsDto:
-      type: object
-      properties:
-        uniques:
-          type: array
-          items:
-            $ref: '#/components/schemas/UniqueDto'
-        checks:
-          uniqueItems: true
-          type: array
-          items:
-            type: string
-        foreign_keys:
-          type: array
-          items:
-            $ref: '#/components/schemas/ForeignKeyDto'
-        primary_key:
-          uniqueItems: true
-          type: array
-          items:
-            type: string
-    ContainerDto:
-      required:
-      - created
-      - host
-      - id
-      - image
-      - internal_name
-      - name
-      - sidecar_host
-      - sidecar_port
-      type: object
-      properties:
-        id:
-          type: integer
-          format: int64
-        name:
-          type: string
-          example: Air Quality
-        host:
-          type: string
-        port:
-          type: integer
-          format: int32
-        image:
-          $ref: '#/components/schemas/ImageDto'
-        created:
-          type: string
-          format: date-time
-          example: 2021-03-12T15:26:21Z
-        internal_name:
-          type: string
-          example: data-db
-        sidecar_host:
-          type: string
-        sidecar_port:
-          type: integer
-          format: int32
-        ui_host:
-          type: string
-        ui_port:
-          type: integer
-          format: int32
-    CreatorDto:
-      required:
-      - creator_name
-      - id
-      type: object
-      properties:
-        id:
-          type: integer
-          format: int64
-        firstname:
-          type: string
-          example: Josiah
-        lastname:
-          type: string
-          example: Carberry
-        affiliation:
-          type: string
-          example: Brown University
-        creator_name:
-          type: string
-          example: "Carberry, Josiah"
-        name_type:
-          type: string
-          example: Personal
-          enum:
-          - Personal
-          - Organizational
-        name_identifier:
-          type: string
-          example: 0000-0002-1825-0097
-        name_identifier_scheme:
-          type: string
-          example: ORCID
-          enum:
-          - ORCID
-          - ROR
-          - ISNI
-          - GRID
-        name_identifier_scheme_uri:
-          type: string
-          example: https://orcid.org/
-        affiliation_identifier:
-          type: string
-          example: https://ror.org/05gq02987
-        affiliation_identifier_scheme:
-          type: string
-          example: ROR
-          enum:
-          - ROR
-          - GRID
-          - ISNI
-        affiliation_identifier_scheme_uri:
-          type: string
-          example: https://ror.org/
-    DatabaseAccessDto:
-      required:
-      - created
-      - type
-      - user
-      type: object
-      properties:
-        user:
-          $ref: '#/components/schemas/UserDto'
-        type:
-          type: string
-          enum:
-          - read
-          - write_own
-          - write_all
-        created:
-          type: string
-          format: date-time
-          example: 2021-03-12T15:26:21Z
-    DatabaseDto:
-      required:
-      - contact
-      - container
-      - created
-      - creator
-      - exchange_name
-      - id
-      - internal_name
-      - is_public
-      - name
-      - owner
-      type: object
-      properties:
-        id:
-          type: integer
-          format: int64
-        name:
-          type: string
-          example: Air Quality
-        description:
-          type: string
-          example: Air Quality
-        tables:
-          type: array
-          items:
-            $ref: '#/components/schemas/TableDto'
-        views:
-          type: array
-          items:
-            $ref: '#/components/schemas/ViewDto'
-        container:
-          $ref: '#/components/schemas/ContainerDto'
-        accesses:
-          type: array
-          items:
-            $ref: '#/components/schemas/DatabaseAccessDto'
-        identifiers:
-          type: array
-          items:
-            $ref: '#/components/schemas/IdentifierDto'
-        subsets:
-          type: array
-          items:
-            $ref: '#/components/schemas/IdentifierDto'
-        creator:
-          $ref: '#/components/schemas/UserDto'
-        contact:
-          $ref: '#/components/schemas/UserDto'
-        owner:
-          $ref: '#/components/schemas/UserDto'
-        image:
-          type: array
-          items:
-            type: string
-            format: byte
-        created:
-          type: string
-          format: date-time
-          example: 2021-03-12T15:26:21Z
-        exchange_name:
-          type: string
-          example: dbrepo
-        exchange_type:
-          type: string
-          example: topic
-        internal_name:
-          type: string
-          example: air_quality
-        is_public:
-          type: boolean
-          example: true
-    ForeignKeyDto:
-      type: object
-      properties:
-        name:
-          type: string
-        columns:
-          type: array
-          items:
-            $ref: '#/components/schemas/ColumnDto'
-        referenced_table:
-          $ref: '#/components/schemas/TableBriefDto'
-        referenced_columns:
-          type: array
-          items:
-            $ref: '#/components/schemas/ColumnDto'
-        on_update:
-          type: string
-          enum:
-          - restrict
-          - cascade
-          - set_null
-          - no_action
-          - set_default
-        on_delete:
-          type: string
-          enum:
-          - restrict
-          - cascade
-          - set_null
-          - no_action
-          - set_default
-    IdentifierDescriptionDto:
-      required:
-      - id
-      type: object
-      properties:
-        id:
-          type: integer
-          format: int64
-        description:
-          type: string
-          example: "Air quality reports at Stephansplatz, Vienna"
-        language:
-          type: string
-          example: en
-          enum:
-          - ab
-          - aa
-          - af
-          - ak
-          - sq
-          - am
-          - ar
-          - an
-          - hy
-          - as
-          - av
-          - ae
-          - ay
-          - az
-          - bm
-          - ba
-          - eu
-          - be
-          - bn
-          - bh
-          - bi
-          - bs
-          - br
-          - bg
-          - my
-          - ca
-          - km
-          - ch
-          - ce
-          - ny
-          - zh
-          - cu
-          - cv
-          - kw
-          - co
-          - cr
-          - hr
-          - cs
-          - da
-          - dv
-          - nl
-          - dz
-          - en
-          - eo
-          - et
-          - ee
-          - fo
-          - fj
-          - fi
-          - fr
-          - ff
-          - gd
-          - gl
-          - lg
-          - ka
-          - de
-          - ki
-          - el
-          - kl
-          - gn
-          - gu
-          - ht
-          - ha
-          - he
-          - hz
-          - hi
-          - ho
-          - hu
-          - is
-          - io
-          - ig
-          - id
-          - ia
-          - ie
-          - iu
-          - ik
-          - ga
-          - it
-          - ja
-          - jv
-          - kn
-          - kr
-          - ks
-          - kk
-          - rw
-          - kv
-          - kg
-          - ko
-          - kj
-          - ku
-          - ky
-          - lo
-          - la
-          - lv
-          - lb
-          - li
-          - ln
-          - lt
-          - lu
-          - mk
-          - mg
-          - ms
-          - ml
-          - mt
-          - gv
-          - mi
-          - mr
-          - mh
-          - ro
-          - mn
-          - na
-          - nv
-          - nd
-          - ng
-          - ne
-          - se
-          - "no"
-          - nb
-          - nn
-          - ii
-          - oc
-          - oj
-          - or
-          - om
-          - os
-          - pi
-          - pa
-          - ps
-          - fa
-          - pl
-          - pt
-          - qu
-          - rm
-          - rn
-          - ru
-          - sm
-          - sg
-          - sa
-          - sc
-          - sr
-          - sn
-          - sd
-          - si
-          - sk
-          - sl
-          - so
-          - st
-          - nr
-          - es
-          - su
-          - sw
-          - ss
-          - sv
-          - tl
-          - ty
-          - tg
-          - ta
-          - tt
-          - te
-          - th
-          - bo
-          - ti
-          - to
-          - ts
-          - tn
-          - tr
-          - tk
-          - tw
-          - ug
-          - uk
-          - ur
-          - uz
-          - ve
-          - vi
-          - vo
-          - wa
-          - cy
-          - fy
-          - wo
-          - xh
-          - yi
-          - yo
-          - za
-          - zu
-        type:
-          type: string
-          example: Abstract
-          enum:
-          - Abstract
-          - Methods
-          - SeriesInformation
-          - TableOfContents
-          - TechnicalInfo
-          - Other
-    IdentifierDto:
-      required:
-      - created
-      - created_by
-      - creator
-      - creators
-      - database_id
-      - execution
-      - id
-      - last_modified
-      - publication_year
-      - publisher
-      - query
-      - query_hash
-      - query_normalized
-      - titles
-      - type
-      type: object
-      properties:
-        id:
-          type: integer
-          format: int64
-        type:
-          type: string
-          enum:
-          - database
-          - subset
-          - table
-          - view
-        titles:
-          type: array
-          items:
-            $ref: '#/components/schemas/IdentifierTitleDto'
-        descriptions:
-          type: array
-          items:
-            $ref: '#/components/schemas/IdentifierDescriptionDto'
-        funders:
-          type: array
-          items:
-            $ref: '#/components/schemas/IdentifierFunderDto'
-        query:
-          type: string
-          example: "SELECT `id`, `value`, `location` FROM `air_quality` WHERE `location`\
-            \ = \"09:STEF\""
-        execution:
-          type: string
-          format: date-time
-          example: 2021-03-12T15:26:21Z
-        doi:
-          type: string
-          example: 10.1038/nphys1170
-        publisher:
-          type: string
-          example: TU Wien
-        creator:
-          $ref: '#/components/schemas/UserDto'
-        language:
-          type: string
-          enum:
-          - ab
-          - aa
-          - af
-          - ak
-          - sq
-          - am
-          - ar
-          - an
-          - hy
-          - as
-          - av
-          - ae
-          - ay
-          - az
-          - bm
-          - ba
-          - eu
-          - be
-          - bn
-          - bh
-          - bi
-          - bs
-          - br
-          - bg
-          - my
-          - ca
-          - km
-          - ch
-          - ce
-          - ny
-          - zh
-          - cu
-          - cv
-          - kw
-          - co
-          - cr
-          - hr
-          - cs
-          - da
-          - dv
-          - nl
-          - dz
-          - en
-          - eo
-          - et
-          - ee
-          - fo
-          - fj
-          - fi
-          - fr
-          - ff
-          - gd
-          - gl
-          - lg
-          - ka
-          - de
-          - ki
-          - el
-          - kl
-          - gn
-          - gu
-          - ht
-          - ha
-          - he
-          - hz
-          - hi
-          - ho
-          - hu
-          - is
-          - io
-          - ig
-          - id
-          - ia
-          - ie
-          - iu
-          - ik
-          - ga
-          - it
-          - ja
-          - jv
-          - kn
-          - kr
-          - ks
-          - kk
-          - rw
-          - kv
-          - kg
-          - ko
-          - kj
-          - ku
-          - ky
-          - lo
-          - la
-          - lv
-          - lb
-          - li
-          - ln
-          - lt
-          - lu
-          - mk
-          - mg
-          - ms
-          - ml
-          - mt
-          - gv
-          - mi
-          - mr
-          - mh
-          - ro
-          - mn
-          - na
-          - nv
-          - nd
-          - ng
-          - ne
-          - se
-          - "no"
-          - nb
-          - nn
-          - ii
-          - oc
-          - oj
-          - or
-          - om
-          - os
-          - pi
-          - pa
-          - ps
-          - fa
-          - pl
-          - pt
-          - qu
-          - rm
-          - rn
-          - ru
-          - sm
-          - sg
-          - sa
-          - sc
-          - sr
-          - sn
-          - sd
-          - si
-          - sk
-          - sl
-          - so
-          - st
-          - nr
-          - es
-          - su
-          - sw
-          - ss
-          - sv
-          - tl
-          - ty
-          - tg
-          - ta
-          - tt
-          - te
-          - th
-          - bo
-          - ti
-          - to
-          - ts
-          - tn
-          - tr
-          - tk
-          - tw
-          - ug
-          - uk
-          - ur
-          - uz
-          - ve
-          - vi
-          - vo
-          - wa
-          - cy
-          - fy
-          - wo
-          - xh
-          - yi
-          - yo
-          - za
-          - zu
-        licenses:
-          type: array
-          items:
-            $ref: '#/components/schemas/LicenseDto'
-        creators:
-          type: array
-          items:
-            $ref: '#/components/schemas/CreatorDto'
-        status:
-          type: string
-          enum:
-          - draft
-          - published
-        created:
-          type: string
-          format: date-time
-          example: 2021-03-12T15:26:21Z
-        database_id:
-          type: integer
-          format: int64
-          example: 1
-        query_id:
-          type: integer
-          format: int64
-          example: 1
-        table_id:
-          type: integer
-          format: int64
-          example: 1
-        view_id:
-          type: integer
-          format: int64
-          example: 1
-        query_normalized:
-          type: string
-          example: "SELECT `id`, `value`, `location` FROM `air_quality` WHERE `location`\
-            \ = \"09:STEF\""
-        related_identifiers:
-          type: array
-          items:
-            $ref: '#/components/schemas/RelatedIdentifierDto'
-        query_hash:
-          type: string
-          description: query hash in sha512
-        result_hash:
-          type: string
-          example: 34fe82cda2c53f13f8d90cfd7a3469e3a939ff311add50dce30d9136397bf8e5
-        result_number:
-          type: integer
-          format: int64
-          example: 1
-        publication_day:
-          type: integer
-          format: int32
-          example: 15
-        publication_month:
-          type: integer
-          format: int32
-          example: 12
-        publication_year:
-          type: integer
-          format: int32
-          example: 2022
-        created_by:
-          type: string
-          format: uuid
-        last_modified:
-          type: string
-          format: date-time
-          example: 2021-03-12T15:26:21Z
-    IdentifierFunderDto:
-      required:
-      - funder_name
-      - id
-      type: object
-      properties:
-        id:
-          type: integer
-          format: int64
-        funder_name:
-          type: string
-          example: European Commission
-        funder_identifier:
-          type: string
-          example: http://doi.org/10.13039/501100000780
-        funder_identifier_type:
-          type: string
-          example: Crossref Funder ID
-          enum:
-          - Crossref Funder ID
-          - ROR
-          - GND
-          - ISNI
-          - Other
-        scheme_uri:
-          type: string
-          example: http://doi.org/
-        award_number:
-          type: string
-          example: "824087"
-        award_title:
-          type: string
-          example: EOSC-Life
-    IdentifierTitleDto:
-      required:
-      - id
-      type: object
-      properties:
-        id:
-          type: integer
-          format: int64
-        title:
-          type: string
-          example: Airquality Demonstrator
-        language:
-          type: string
-          example: en
-          enum:
-          - ab
-          - aa
-          - af
-          - ak
-          - sq
-          - am
-          - ar
-          - an
-          - hy
-          - as
-          - av
-          - ae
-          - ay
-          - az
-          - bm
-          - ba
-          - eu
-          - be
-          - bn
-          - bh
-          - bi
-          - bs
-          - br
-          - bg
-          - my
-          - ca
-          - km
-          - ch
-          - ce
-          - ny
-          - zh
-          - cu
-          - cv
-          - kw
-          - co
-          - cr
-          - hr
-          - cs
-          - da
-          - dv
-          - nl
-          - dz
-          - en
-          - eo
-          - et
-          - ee
-          - fo
-          - fj
-          - fi
-          - fr
-          - ff
-          - gd
-          - gl
-          - lg
-          - ka
-          - de
-          - ki
-          - el
-          - kl
-          - gn
-          - gu
-          - ht
-          - ha
-          - he
-          - hz
-          - hi
-          - ho
-          - hu
-          - is
-          - io
-          - ig
-          - id
-          - ia
-          - ie
-          - iu
-          - ik
-          - ga
-          - it
-          - ja
-          - jv
-          - kn
-          - kr
-          - ks
-          - kk
-          - rw
-          - kv
-          - kg
-          - ko
-          - kj
-          - ku
-          - ky
-          - lo
-          - la
-          - lv
-          - lb
-          - li
-          - ln
-          - lt
-          - lu
-          - mk
-          - mg
-          - ms
-          - ml
-          - mt
-          - gv
-          - mi
-          - mr
-          - mh
-          - ro
-          - mn
-          - na
-          - nv
-          - nd
-          - ng
-          - ne
-          - se
-          - "no"
-          - nb
-          - nn
-          - ii
-          - oc
-          - oj
-          - or
-          - om
-          - os
-          - pi
-          - pa
-          - ps
-          - fa
-          - pl
-          - pt
-          - qu
-          - rm
-          - rn
-          - ru
-          - sm
-          - sg
-          - sa
-          - sc
-          - sr
-          - sn
-          - sd
-          - si
-          - sk
-          - sl
-          - so
-          - st
-          - nr
-          - es
-          - su
-          - sw
-          - ss
-          - sv
-          - tl
-          - ty
-          - tg
-          - ta
-          - tt
-          - te
-          - th
-          - bo
-          - ti
-          - to
-          - ts
-          - tn
-          - tr
-          - tk
-          - tw
-          - ug
-          - uk
-          - ur
-          - uz
-          - ve
-          - vi
-          - vo
-          - wa
-          - cy
-          - fy
-          - wo
-          - xh
-          - yi
-          - yo
-          - za
-          - zu
-        type:
-          type: string
-          enum:
-          - AlternativeTitle
-          - Subtitle
-          - TranslatedTitle
-          - Other
-    ImageDateDto:
-      required:
-      - created_at
-      - database_format
-      - has_time
-      - id
-      - unix_format
-      type: object
-      properties:
-        id:
-          type: integer
-          format: int64
-        database_format:
-          type: string
-          example: '%d.%c.%Y'
-        unix_format:
-          type: string
-          example: dd.MM.YYYY
-        has_time:
-          type: boolean
-          example: false
-        created_at:
-          type: string
-          format: date-time
-          example: 2021-03-12T15:26:21Z
-    ImageDto:
-      required:
-      - default_port
-      - dialect
-      - driver_class
-      - id
-      - jdbc_method
-      - name
-      - registry
-      - version
-      type: object
-      properties:
-        id:
-          type: integer
-          format: int64
-        registry:
-          type: string
-          example: docker.io/library
-        name:
-          type: string
-          example: mariadb
-        version:
-          type: string
-          example: "10.5"
-        dialect:
-          type: string
-          example: org.hibernate.dialect.MariaDBDialect
-        driver_class:
-          type: string
-          example: org.mariadb.jdbc.Driver
-        date_formats:
-          type: array
-          items:
-            $ref: '#/components/schemas/ImageDateDto'
-        jdbc_method:
-          type: string
-          example: mariadb
-        default_port:
-          type: integer
-          format: int32
-          example: 3306
-    LicenseDto:
-      required:
-      - identifier
-      - uri
-      type: object
-      properties:
-        identifier:
-          type: string
-          example: MIT
-        uri:
-          type: string
-          example: https://opensource.org/licenses/MIT
-        description:
-          type: string
-          example: "A short and simple permissive license with conditions only requiring\
-            \ preservation of copyright and license notices. Licensed works, modifications,\
-            \ and larger works may be distributed under different terms and without\
-            \ source code."
-    RelatedIdentifierDto:
-      required:
-      - id
-      - relation
-      - type
-      - value
-      type: object
-      properties:
-        id:
-          type: integer
-          format: int64
-        value:
-          type: string
-          example: 10.70124/dc4zh-9ce78
-        type:
-          type: string
-          example: DOI
-          enum:
-          - DOI
-          - URL
-          - URN
-          - ARK
-          - arXiv
-          - bibcode
-          - EAN13
-          - EISSN
-          - Handle
-          - IGSN
-          - ISBN
-          - ISTC
-          - LISSN
-          - LSID
-          - PMID
-          - PURL
-          - UPC
-          - w3id
-        relation:
-          type: string
-          example: Cites
-          enum:
-          - IsCitedBy
-          - Cites
-          - IsSupplementTo
-          - IsSupplementedBy
-          - IsContinuedBy
-          - Continues
-          - IsDescribedBy
-          - Describes
-          - HasMetadata
-          - IsMetadataFor
-          - HasVersion
-          - IsVersionOf
-          - IsNewVersionOf
-          - IsPreviousVersionOf
-          - IsPartOf
-          - HasPart
-          - IsPublishedIn
-          - IsReferencedBy
-          - References
-          - IsDocumentedBy
-          - Documents
-          - IsCompiledBy
-          - Compiles
-          - IsVariantFormOf
-          - IsOriginalFormOf
-          - IsIdenticalTo
-          - IsReviewedBy
-          - Reviews
-          - IsDerivedFrom
-          - IsSourceOf
-          - IsRequiredBy
-          - Requires
-          - IsObsoletedBy
-          - Obsoletes
-    TableBriefDto:
-      required:
-      - columns
-      - description
-      - id
-      - internal_name
-      - is_versioned
-      - name
-      - owner
-      type: object
-      properties:
-        id:
-          type: integer
-          format: int64
-        name:
-          type: string
-          example: Air Quality
-        description:
-          type: string
-          example: Air Quality in Austria
-        owner:
-          $ref: '#/components/schemas/UserBriefDto'
-        columns:
-          type: array
-          items:
-            $ref: '#/components/schemas/ColumnBriefDto'
-        internal_name:
-          type: string
-          example: air_quality
-        is_versioned:
-          type: boolean
-          example: true
-    TableDto:
-      required:
-      - columns
-      - constraints
-      - created
-      - created_by
-      - creator
-      - database_id
-      - id
-      - internal_name
-      - is_public
-      - is_versioned
-      - name
-      - owner
-      - queue_name
-      - routing_key
-      type: object
-      properties:
-        id:
-          type: integer
-          format: int64
-        name:
-          type: string
-          example: Air Quality
-        alias:
-          type: string
-        identifiers:
-          type: array
-          items:
-            $ref: '#/components/schemas/IdentifierDto'
-        creator:
-          $ref: '#/components/schemas/UserDto'
-        owner:
-          $ref: '#/components/schemas/UserDto'
-        description:
-          type: string
-          example: Air Quality in Austria
-        created:
-          type: string
-          format: date-time
-          example: 2021-03-12T15:26:21Z
-        columns:
-          type: array
-          items:
-            $ref: '#/components/schemas/ColumnDto'
-        constraints:
-          $ref: '#/components/schemas/ConstraintsDto'
-        database_id:
-          type: integer
-          format: int64
-        internal_name:
-          type: string
-          example: air_quality
-        is_versioned:
-          type: boolean
-          example: true
-        created_by:
-          type: string
-          format: uuid
-        queue_name:
-          type: string
-          example: air_quality
-        queue_type:
-          type: string
-          example: quorum
-        routing_key:
-          type: string
-          example: dbrepo.1.2
-        is_public:
-          type: boolean
-          example: true
-        num_rows:
-          type: integer
-          format: int64
-          example: 5
-        data_length:
-          type: integer
-          description: in bytes
-          format: int64
-          example: 16384
-        max_data_length:
-          type: integer
-          description: in bytes
-          format: int64
-          example: 0
-        avg_row_length:
-          type: integer
-          description: in bytes
-          format: int64
-          example: 3276
-    UniqueDto:
-      required:
-      - columns
-      - table
-      - uid
-      type: object
-      properties:
-        uid:
-          type: integer
-          format: int64
-        table:
-          $ref: '#/components/schemas/TableDto'
-        columns:
-          type: array
-          items:
-            $ref: '#/components/schemas/ColumnDto'
-    UnitDto:
-      required:
-      - columns
-      - created
-      - id
-      - uri
-      type: object
-      properties:
-        id:
-          type: integer
-          format: int64
-        uri:
-          type: string
-        name:
-          type: string
-        description:
-          type: string
-        created:
-          type: string
-          format: date-time
-          example: 2021-03-12T15:26:21Z
-        columns:
-          type: array
-          items:
-            $ref: '#/components/schemas/ColumnBriefDto'
-    UserAttributesDto:
-      required:
-      - language
-      - theme
-      type: object
-      properties:
-        theme:
-          type: string
-          example: light
-        orcid:
-          type: string
-          example: https://orcid.org/0000-0002-1825-0097
-        affiliation:
-          type: string
-          example: Brown University
-        language:
-          type: string
-          example: en
-    UserBriefDto:
-      required:
-      - id
-      - username
-      type: object
-      properties:
-        id:
-          type: string
-          format: uuid
-          example: 1ffc7b0e-9aeb-4e8b-b8f1-68f3936155b4
-        username:
-          type: string
-          description: Only contains lowercase characters
-          example: jcarberry
-        name:
-          type: string
-          example: Josiah Carberry
-        orcid:
-          type: string
-          example: 0000-0002-1825-0097
-        qualified_name:
-          type: string
-          example: Josiah Carberry — @jcarberry
-        given_name:
-          type: string
-          example: Josiah
-        family_name:
-          type: string
-          example: Carberry
-    UserDto:
-      required:
-      - attributes
-      - id
-      - username
-      type: object
-      properties:
-        id:
-          type: string
-          format: uuid
-          example: 1ffc7b0e-9aeb-4e8b-b8f1-68f3936155b4
-        username:
-          type: string
-          description: Only contains lowercase characters
-          example: jcarberry
-        name:
-          type: string
-          example: Josiah Carberry
-        attributes:
-          $ref: '#/components/schemas/UserAttributesDto'
-        qualified_name:
-          type: string
-          example: Josiah Carberry — @jcarberry
-        given_name:
-          type: string
-          example: Josiah
-        family_name:
-          type: string
-          example: Carberry
-    ViewDto:
-      required:
-      - created
-      - creator
-      - database
-      - database_id
-      - id
-      - internal_name
-      - name
-      - query
-      - query_hash
-      type: object
-      properties:
-        id:
-          type: integer
-          format: int64
-        database:
-          $ref: '#/components/schemas/DatabaseDto'
-        name:
-          type: string
-          example: Air Quality
-        identifiers:
-          type: array
-          items:
-            $ref: '#/components/schemas/IdentifierDto'
-        query:
-          type: string
-          example: SELECT `id` FROM `air_quality` ORDER BY `value` DESC
-        created:
-          type: string
-          format: date-time
-          example: 2021-03-12T15:26:21Z
-        creator:
-          $ref: '#/components/schemas/UserDto'
-        database_id:
-          type: integer
-          format: int64
-        internal_name:
-          type: string
-          example: air_quality
-        is_public:
-          type: boolean
-          example: true
-        initial_view:
-          type: boolean
-          description: True if it is the default view for the database
-          example: true
-        query_hash:
-          type: string
-          example: 7de03e818900b6ea6d58ad0306d4a741d658c6df3d1964e89ed2395d8c7e7916
-        last_modified:
-          type: string
-          format: date-time
-          example: 2021-03-12T15:26:21Z
-    ApiErrorDto:
-      required:
-      - code
-      - message
-      - status
-      type: object
-      properties:
-        status:
-          type: string
-          example: NOT_FOUND
-          enum:
-          - 100 CONTINUE
-          - 101 SWITCHING_PROTOCOLS
-          - 102 PROCESSING
-          - 103 EARLY_HINTS
-          - 103 CHECKPOINT
-          - 200 OK
-          - 201 CREATED
-          - 202 ACCEPTED
-          - 203 NON_AUTHORITATIVE_INFORMATION
-          - 204 NO_CONTENT
-          - 205 RESET_CONTENT
-          - 206 PARTIAL_CONTENT
-          - 207 MULTI_STATUS
-          - 208 ALREADY_REPORTED
-          - 226 IM_USED
-          - 300 MULTIPLE_CHOICES
-          - 301 MOVED_PERMANENTLY
-          - 302 FOUND
-          - 302 MOVED_TEMPORARILY
-          - 303 SEE_OTHER
-          - 304 NOT_MODIFIED
-          - 305 USE_PROXY
-          - 307 TEMPORARY_REDIRECT
-          - 308 PERMANENT_REDIRECT
-          - 400 BAD_REQUEST
-          - 401 UNAUTHORIZED
-          - 402 PAYMENT_REQUIRED
-          - 403 FORBIDDEN
-          - 404 NOT_FOUND
-          - 405 METHOD_NOT_ALLOWED
-          - 406 NOT_ACCEPTABLE
-          - 407 PROXY_AUTHENTICATION_REQUIRED
-          - 408 REQUEST_TIMEOUT
-          - 409 CONFLICT
-          - 410 GONE
-          - 411 LENGTH_REQUIRED
-          - 412 PRECONDITION_FAILED
-          - 413 PAYLOAD_TOO_LARGE
-          - 413 REQUEST_ENTITY_TOO_LARGE
-          - 414 URI_TOO_LONG
-          - 414 REQUEST_URI_TOO_LONG
-          - 415 UNSUPPORTED_MEDIA_TYPE
-          - 416 REQUESTED_RANGE_NOT_SATISFIABLE
-          - 417 EXPECTATION_FAILED
-          - 418 I_AM_A_TEAPOT
-          - 419 INSUFFICIENT_SPACE_ON_RESOURCE
-          - 420 METHOD_FAILURE
-          - 421 DESTINATION_LOCKED
-          - 422 UNPROCESSABLE_ENTITY
-          - 423 LOCKED
-          - 424 FAILED_DEPENDENCY
-          - 425 TOO_EARLY
-          - 426 UPGRADE_REQUIRED
-          - 428 PRECONDITION_REQUIRED
-          - 429 TOO_MANY_REQUESTS
-          - 431 REQUEST_HEADER_FIELDS_TOO_LARGE
-          - 451 UNAVAILABLE_FOR_LEGAL_REASONS
-          - 500 INTERNAL_SERVER_ERROR
-          - 501 NOT_IMPLEMENTED
-          - 502 BAD_GATEWAY
-          - 503 SERVICE_UNAVAILABLE
-          - 504 GATEWAY_TIMEOUT
-          - 505 HTTP_VERSION_NOT_SUPPORTED
-          - 506 VARIANT_ALSO_NEGOTIATES
-          - 507 INSUFFICIENT_STORAGE
-          - 508 LOOP_DETECTED
-          - 509 BANDWIDTH_LIMIT_EXCEEDED
-          - 510 NOT_EXTENDED
-          - 511 NETWORK_AUTHENTICATION_REQUIRED
-        message:
-          type: string
-          example: Error message
-        code:
-          type: string
-          example: error.service.code
-    TupleUpdateDto:
-      required:
-      - data
-      - keys
-      type: object
-      properties:
-        data:
-          type: object
-          additionalProperties:
-            type: object
-        keys:
-          type: object
-          additionalProperties:
-            type: object
-    QueryPersistDto:
-      required:
-      - persist
-      type: object
-      properties:
-        persist:
-          type: boolean
-          example: true
-    QueryDto:
-      required:
-      - created
-      - creator
-      - database_id
-      - execution
-      - id
-      - identifiers
-      - is_persisted
-      - last_modified
-      - query
-      - query_hash
-      - query_normalized
-      type: object
-      properties:
-        id:
-          type: integer
-          format: int64
-        creator:
-          $ref: '#/components/schemas/UserDto'
-        execution:
-          type: string
-          format: date-time
-          example: 2021-03-12T15:26:21Z
-        query:
-          type: string
-          example: SELECT `id` FROM `air_quality`
-        type:
-          type: string
-          example: query
-          enum:
-          - query
-          - view
-        identifiers:
-          type: array
-          items:
-            $ref: '#/components/schemas/IdentifierDto'
-        created:
-          type: string
-          format: date-time
-          example: 2021-03-12T15:26:21Z
-        database_id:
-          type: integer
-          format: int64
-        query_normalized:
-          type: string
-          example: SELECT `id` FROM `air_quality`
-        query_hash:
-          type: string
-          example: 17e682f060b5f8e47ea04c5c4855908b0a5ad612022260fe50e11ecb0cc0ab76
-        is_persisted:
-          type: boolean
-          example: true
-        result_hash:
-          type: string
-          example: 17e682f060b5f8e47ea04c5c4855908b0a5ad612022260fe50e11ecb0cc0ab76
-        result_number:
-          type: integer
-          format: int64
-          example: 1
-        last_modified:
-          type: string
-          format: date-time
-          example: 2021-03-12T15:26:21Z
-    UpdateDatabaseAccessDto:
-      required:
-      - type
-      type: object
-      properties:
-        type:
-          type: string
-          enum:
-          - read
-          - write_own
-          - write_all
-    CreateDatabaseDto:
-      required:
-      - container_id
-      - internal_name
-      - password
-      - privileged_password
-      - privileged_username
-      - user_id
-      - username
-      type: object
-      properties:
-        username:
-          type: string
-          example: foobar
-        password:
-          type: string
-          example: s3cr3t
-        container_id:
-          type: integer
-          format: int64
-          example: 1
-        internal_name:
-          type: string
-          example: weather
-        privileged_username:
-          type: string
-          example: root
-        privileged_password:
-          type: string
-          example: mariadb
-        user_id:
-          type: string
-          format: uuid
-          example: 0e695ea5-9249-4a75-a77a-eeac3ec1c2c0
-    ViewCreateDto:
-      required:
-      - is_public
-      - name
-      - query
-      type: object
-      properties:
-        name:
-          type: string
-          example: Air Quality
-        query:
-          type: string
-          example: SELECT `id` FROM `air_quality`
-        is_public:
-          type: boolean
-          example: true
-    ColumnCreateDto:
-      required:
-      - name
-      - null_allowed
-      - type
-      type: object
-      properties:
-        name:
-          type: string
-          example: Date
-        type:
-          type: string
-          example: string
-          enum:
-          - char
-          - varchar
-          - binary
-          - varbinary
-          - tinyblob
-          - tinytext
-          - text
-          - blob
-          - mediumtext
-          - mediumblob
-          - longtext
-          - longblob
-          - enum
-          - set
-          - bit
-          - tinyint
-          - bool
-          - smallint
-          - mediumint
-          - int
-          - bigint
-          - float
-          - double
-          - decimal
-          - date
-          - datetime
-          - timestamp
-          - time
-          - year
-        size:
-          type: integer
-          format: int64
-          example: 255
-        d:
-          type: integer
-          format: int64
-          example: 0
-        dfid:
-          type: integer
-          description: date format id
-          format: int64
-        enums:
-          type: array
-          description: "enum values, only considered when type = ENUM"
-          items:
-            type: string
-            description: "enum values, only considered when type = ENUM"
-        sets:
-          type: array
-          description: "set values, only considered when type = SET"
-          items:
-            type: string
-            description: "set values, only considered when type = SET"
-        index_length:
-          type: integer
-          format: int64
-        null_allowed:
-          type: boolean
-          example: true
-    ConstraintsCreateDto:
-      required:
-      - checks
-      - foreign_keys
-      - primary_key
-      - uniques
-      type: object
-      properties:
-        uniques:
-          type: array
-          items:
-            type: array
-            items:
-              type: string
-        checks:
-          uniqueItems: true
-          type: array
-          items:
-            type: string
-        foreign_keys:
-          type: array
-          items:
-            $ref: '#/components/schemas/ForeignKeyCreateDto'
-        primary_key:
-          uniqueItems: true
-          type: array
-          items:
-            type: string
-    ForeignKeyCreateDto:
-      required:
-      - columns
-      - referenced_columns
-      - referenced_table
-      type: object
-      properties:
-        columns:
-          type: array
-          items:
-            type: string
-        referenced_table:
-          type: string
-        referenced_columns:
-          type: array
-          items:
-            type: string
-        on_update:
-          type: string
-          enum:
-          - restrict
-          - cascade
-          - set_null
-          - no_action
-          - set_default
-        on_delete:
-          type: string
-          enum:
-          - restrict
-          - cascade
-          - set_null
-          - no_action
-          - set_default
-    TableCreateDto:
-      required:
-      - columns
-      - constraints
-      - name
-      - need_sequence
-      type: object
-      properties:
-        name:
-          maxLength: 64
-          minLength: 1
-          type: string
-          example: Air Quality
-        description:
-          maxLength: 180
-          minLength: 0
-          type: string
-          example: Air Quality in Austria
-        columns:
-          type: array
-          items:
-            $ref: '#/components/schemas/ColumnCreateDto'
-        constraints:
-          $ref: '#/components/schemas/ConstraintsCreateDto'
-        need_sequence:
-          type: boolean
-    TupleDto:
-      required:
-      - data
-      type: object
-      properties:
-        data:
-          type: object
-          additionalProperties:
-            type: object
-    ImportCsvDto:
-      required:
-      - location
-      - separator
-      type: object
-      properties:
-        location:
-          type: string
-          example: file.csv
-        separator:
-          type: string
-          example: ","
-        quote:
-          type: string
-          example: '"'
-        skip_lines:
-          minimum: 0
-          type: integer
-          format: int64
-        false_element:
-          type: string
-        true_element:
-          type: string
-        null_element:
-          type: string
-          example: NA
-        line_termination:
-          type: string
-          example: \r\n
-    ExecuteStatementDto:
-      required:
-      - statement
-      type: object
-      properties:
-        statement:
-          type: string
-          example: SELECT `id` FROM `air_quality`
-    TupleDeleteDto:
-      required:
-      - keys
-      type: object
-      properties:
-        keys:
-          type: object
-          additionalProperties:
-            type: object
-  securitySchemes:
-    basicAuth:
-      type: http
-      scheme: basic
-    bearerAuth:
-      type: http
-      scheme: bearer
-      bearerFormat: JWT
diff --git a/.docs/.swagger/api-metadata.yaml b/.docs/.swagger/api-metadata.yaml
deleted file mode 100644
index 46906b8786..0000000000
--- a/.docs/.swagger/api-metadata.yaml
+++ /dev/null
@@ -1,7396 +0,0 @@
-openapi: 3.0.1
-info:
-  title: Database Repository Metadata Service API
-  description: Service that manages the metadata
-  contact:
-    name: Prof. Andreas Rauber
-    email: andreas.rauber@tuwien.ac.at
-  license:
-    name: Apache 2.0
-    url: https://www.apache.org/licenses/LICENSE-2.0
-  version: 1.4.3
-externalDocs:
-  description: Sourcecode Documentation
-  url: https://www.ifs.tuwien.ac.at/infrastructures/dbrepo/1.4.3/system-services-metadata/
-servers:
-- url: http://localhost
-  description: Development instance
-- url: https://test.dbrepo.tuwien.ac.at
-  description: Staging instance
-paths:
-  /api/database:
-    get:
-      tags:
-      - database-endpoint
-      summary: List databases
-      operationId: list
-      parameters:
-      - name: internal_name
-        in: query
-        required: false
-        schema:
-          type: string
-      responses:
-        "200":
-          description: List of databases
-          content:
-            application/json:
-              schema:
-                type: array
-                items:
-                  $ref: '#/components/schemas/DatabaseDto'
-    post:
-      tags:
-      - database-endpoint
-      summary: Create database
-      operationId: create_5
-      requestBody:
-        content:
-          application/json:
-            schema:
-              $ref: '#/components/schemas/DatabaseCreateDto'
-        required: true
-      responses:
-        "503":
-          description: Connection to the database failed
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ApiErrorDto'
-        "400":
-          description: Database create query is malformed or image is not supported
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ApiErrorDto'
-        "409":
-          description: Query store could not be created
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ApiErrorDto'
-        "403":
-          description: Database create permission is missing or grant permissions
-            at broker service failed
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ApiErrorDto'
-        "201":
-          description: Created a new database
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/DatabaseDto'
-        "404":
-          description: "Container, user or database could not be found"
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ApiErrorDto'
-      security:
-      - bearerAuth: []
-      - basicAuth: []
-    head:
-      tags:
-      - database-endpoint
-      summary: List databases
-      operationId: list_1
-      parameters:
-      - name: internal_name
-        in: query
-        required: false
-        schema:
-          type: string
-      responses:
-        "200":
-          description: List of databases
-          content:
-            application/json:
-              schema:
-                type: array
-                items:
-                  $ref: '#/components/schemas/DatabaseDto'
-  /api/database/{databaseId}/access/{userId}:
-    get:
-      tags:
-      - access-endpoint
-      summary: Check access to some database
-      operationId: find
-      parameters:
-      - name: databaseId
-        in: path
-        required: true
-        schema:
-          type: integer
-          format: int64
-      - name: userId
-        in: path
-        required: true
-        schema:
-          type: string
-          format: uuid
-      responses:
-        "200":
-          description: Found database access
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/DatabaseAccessDto'
-        "403":
-          description: No access to this database
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ApiErrorDto'
-        "404":
-          description: Database not found
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ApiErrorDto'
-      security:
-      - bearerAuth: []
-      - basicAuth: []
-    put:
-      tags:
-      - access-endpoint
-      summary: Modify access to some database
-      operationId: update_4
-      parameters:
-      - name: databaseId
-        in: path
-        required: true
-        schema:
-          type: integer
-          format: int64
-      - name: userId
-        in: path
-        required: true
-        schema:
-          type: string
-          format: uuid
-      requestBody:
-        content:
-          application/json:
-            schema:
-              $ref: '#/components/schemas/UpdateDatabaseAccessDto'
-        required: true
-      responses:
-        "202":
-          description: Modify access succeeded
-        "403":
-          description: Modify access not permitted when no access is granted in the
-            first place
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ApiErrorDto'
-        "503":
-          description: Access could not be updated in the data service
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ApiErrorDto'
-        "502":
-          description: Access could not be updated due to connection error in the
-            data service
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ApiErrorDto'
-        "404":
-          description: Database or user not found
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ApiErrorDto'
-        "400":
-          description: Modify access query or database connection is malformed
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ApiErrorDto'
-      security:
-      - bearerAuth: []
-      - basicAuth: []
-    post:
-      tags:
-      - access-endpoint
-      summary: Give access to some database
-      operationId: create_8
-      parameters:
-      - name: databaseId
-        in: path
-        required: true
-        schema:
-          type: integer
-          format: int64
-      - name: userId
-        in: path
-        required: true
-        schema:
-          type: string
-          format: uuid
-      requestBody:
-        content:
-          application/json:
-            schema:
-              $ref: '#/components/schemas/UpdateDatabaseAccessDto'
-        required: true
-      responses:
-        "503":
-          description: Access could not be created in the data service
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ApiErrorDto'
-        "400":
-          description: Granting access query or database connection is malformed
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ApiErrorDto'
-        "403":
-          description: Failed giving access
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ApiErrorDto'
-        "405":
-          description: Granting access not permitted
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ApiErrorDto'
-        "202":
-          description: Granting access succeeded
-        "404":
-          description: Database or user not found
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ApiErrorDto'
-        "502":
-          description: Access could not be created due to connection error
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ApiErrorDto'
-      security:
-      - bearerAuth: []
-      - basicAuth: []
-    delete:
-      tags:
-      - access-endpoint
-      summary: Revoke access to some database
-      operationId: revoke
-      parameters:
-      - name: databaseId
-        in: path
-        required: true
-        schema:
-          type: integer
-          format: int64
-      - name: userId
-        in: path
-        required: true
-        schema:
-          type: string
-          format: uuid
-      responses:
-        "202":
-          description: Revoked access successfully
-        "403":
-          description: Revoke of access not permitted as no access was found
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ApiErrorDto'
-        "404":
-          description: "User, database with access was not found"
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ApiErrorDto'
-        "503":
-          description: Access could not be revoked in the data service
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ApiErrorDto'
-        "400":
-          description: Modify access query or database connection is malformed
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ApiErrorDto'
-        "502":
-          description: Access could not be created due to connection error
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ApiErrorDto'
-      security:
-      - bearerAuth: []
-      - basicAuth: []
-    head:
-      tags:
-      - access-endpoint
-      summary: Check access to some database
-      operationId: find_1
-      parameters:
-      - name: databaseId
-        in: path
-        required: true
-        schema:
-          type: integer
-          format: int64
-      - name: userId
-        in: path
-        required: true
-        schema:
-          type: string
-          format: uuid
-      responses:
-        "200":
-          description: Found database access
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/DatabaseAccessDto'
-        "403":
-          description: No access to this database
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ApiErrorDto'
-        "404":
-          description: Database not found
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ApiErrorDto'
-      security:
-      - bearerAuth: []
-      - basicAuth: []
-  /api/user/{userId}:
-    get:
-      tags:
-      - user-endpoint
-      summary: Get a user info
-      operationId: find_2
-      parameters:
-      - name: userId
-        in: path
-        required: true
-        schema:
-          type: string
-          format: uuid
-      responses:
-        "200":
-          description: Found user
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/UserDto'
-        "403":
-          description: Find user is not permitted
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ApiErrorDto'
-        "404":
-          description: User was not found
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ApiErrorDto'
-      security:
-      - bearerAuth: []
-      - basicAuth: []
-    put:
-      tags:
-      - user-endpoint
-      summary: Modify user information
-      operationId: modify
-      parameters:
-      - name: userId
-        in: path
-        required: true
-        schema:
-          type: string
-          format: uuid
-      requestBody:
-        content:
-          application/json:
-            schema:
-              $ref: '#/components/schemas/UserUpdateDto'
-        required: true
-      responses:
-        "202":
-          description: Modified user information
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/UserDto'
-        "400":
-          description: Modify user query is malformed
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ApiErrorDto'
-      security:
-      - bearerAuth: []
-      - basicAuth: []
-  /api/user/{userId}/password:
-    put:
-      tags:
-      - user-endpoint
-      summary: Modify user password
-      operationId: password
-      parameters:
-      - name: userId
-        in: path
-        required: true
-        schema:
-          type: string
-          format: uuid
-      requestBody:
-        content:
-          application/json:
-            schema:
-              $ref: '#/components/schemas/UserPasswordDto'
-        required: true
-      responses:
-        "202":
-          description: Modified user password
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/UserDto'
-      security:
-      - bearerAuth: []
-      - basicAuth: []
-  /api/user/token:
-    put:
-      tags:
-      - user-endpoint
-      summary: Refresh user token
-      operationId: refreshToken
-      requestBody:
-        content:
-          application/json:
-            schema:
-              $ref: '#/components/schemas/RefreshTokenRequestDto'
-        required: true
-      responses:
-        "202":
-          description: Refreshed user token
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/TokenDto'
-    post:
-      tags:
-      - user-endpoint
-      summary: Obtain user token
-      operationId: getToken
-      requestBody:
-        content:
-          application/json:
-            schema:
-              $ref: '#/components/schemas/LoginRequestDto'
-        required: true
-      responses:
-        "202":
-          description: Obtained user token
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/TokenDto'
-  /api/ontology/{ontologyId}:
-    get:
-      tags:
-      - ontology-endpoint
-      summary: Find one ontology
-      operationId: find_3
-      parameters:
-      - name: ontologyId
-        in: path
-        required: true
-        schema:
-          type: integer
-          format: int64
-      responses:
-        "200":
-          description: Find one ontology
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/OntologyDto'
-        "404":
-          description: Could not find ontology
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ApiErrorDto'
-    put:
-      tags:
-      - ontology-endpoint
-      summary: Update an ontology
-      operationId: update
-      parameters:
-      - name: ontologyId
-        in: path
-        required: true
-        schema:
-          type: integer
-          format: int64
-      requestBody:
-        content:
-          application/json:
-            schema:
-              $ref: '#/components/schemas/OntologyModifyDto'
-        required: true
-      responses:
-        "202":
-          description: Updated ontology successfully
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/OntologyDto'
-        "404":
-          description: Could not find ontology
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ApiErrorDto'
-      security:
-      - bearerAuth: []
-      - basicAuth: []
-    delete:
-      tags:
-      - ontology-endpoint
-      summary: Delete an ontology
-      operationId: delete
-      parameters:
-      - name: ontologyId
-        in: path
-        required: true
-        schema:
-          type: integer
-          format: int64
-      responses:
-        "202":
-          description: Deleted ontology successfully
-          content:
-            application/json: {}
-        "404":
-          description: Could not find ontology
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ApiErrorDto'
-      security:
-      - bearerAuth: []
-      - basicAuth: []
-  /api/message/{messageId}:
-    put:
-      tags:
-      - message-endpoint
-      summary: Update maintenance message
-      operationId: update_1
-      parameters:
-      - name: messageId
-        in: path
-        required: true
-        schema:
-          type: integer
-          format: int64
-      requestBody:
-        content:
-          application/json:
-            schema:
-              $ref: '#/components/schemas/BannerMessageUpdateDto'
-        required: true
-      responses:
-        "404":
-          description: Could not find message
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ApiErrorDto'
-        "202":
-          description: Updated message
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/BannerMessageBriefDto'
-      security:
-      - bearerAuth: []
-      - basicAuth: []
-    delete:
-      tags:
-      - message-endpoint
-      summary: Delete maintenance message
-      operationId: delete_1
-      parameters:
-      - name: messageId
-        in: path
-        required: true
-        schema:
-          type: integer
-          format: int64
-      responses:
-        "404":
-          description: Could not find message
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ApiErrorDto'
-        "202":
-          description: Deleted message
-          content:
-            application/json: {}
-      security:
-      - bearerAuth: []
-      - basicAuth: []
-  /api/image/{imageId}:
-    get:
-      tags:
-      - image-endpoint
-      summary: Find some image
-      operationId: findById
-      parameters:
-      - name: imageId
-        in: path
-        required: true
-        schema:
-          type: integer
-          format: int64
-      responses:
-        "200":
-          description: Found image
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ImageDto'
-        "404":
-          description: Image could not be found
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ApiErrorDto'
-    put:
-      tags:
-      - image-endpoint
-      summary: Update some image
-      operationId: update_2
-      parameters:
-      - name: imageId
-        in: path
-        required: true
-        schema:
-          type: integer
-          format: int64
-      requestBody:
-        content:
-          application/json:
-            schema:
-              $ref: '#/components/schemas/ImageChangeDto'
-        required: true
-      responses:
-        "202":
-          description: Updated image successfully
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ImageDto'
-        "404":
-          description: Image could not be found
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ApiErrorDto'
-      security:
-      - bearerAuth: []
-      - basicAuth: []
-    delete:
-      tags:
-      - image-endpoint
-      summary: Delete some image
-      operationId: delete_2
-      parameters:
-      - name: imageId
-        in: path
-        required: true
-        schema:
-          type: integer
-          format: int64
-      responses:
-        "202":
-          description: Deleted image successfully
-        "404":
-          description: Image could not be found
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ApiErrorDto'
-      security:
-      - bearerAuth: []
-      - basicAuth: []
-  /api/identifier/{identifierId}:
-    get:
-      tags:
-      - identifier-endpoint
-      summary: Find some identifier
-      operationId: find_6
-      parameters:
-      - name: identifierId
-        in: path
-        required: true
-        schema:
-          type: integer
-          format: int64
-      - name: Accept
-        in: header
-        required: true
-        schema:
-          type: string
-      responses:
-        "404":
-          description: Identifier could not be found
-          content:
-            text/csv:
-              schema:
-                $ref: '#/components/schemas/ApiErrorDto'
-        "400":
-          description: "Identifier could not be exported, the requested style is not\
-            \ known"
-          content:
-            text/bibliography:
-              schema:
-                $ref: '#/components/schemas/ApiErrorDto'
-        "410":
-          description: Failed to retrieve from S3 endpoint
-          content:
-            text/csv:
-              schema:
-                $ref: '#/components/schemas/ApiErrorDto'
-        "409":
-          description: Exported resource was not found
-          content:
-            text/csv:
-              schema:
-                $ref: '#/components/schemas/ApiErrorDto'
-        "200":
-          description: Found identifier successfully
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/IdentifierDto'
-            application/ld+json:
-              schema:
-                $ref: '#/components/schemas/LdDatasetDto'
-            text/csv: {}
-            text/xml: {}
-            text/bibliography: {}
-            text/bibliography; style=apa: {}
-            text/bibliography; style=ieee: {}
-            text/bibliography; style=bibtex: {}
-        "422":
-          description: Failed to retrieve from database sidecar
-          content:
-            text/csv:
-              schema:
-                $ref: '#/components/schemas/ApiErrorDto'
-        "503":
-          description: Identifier could not exported from database as it is not reachable
-          content:
-            text/csv:
-              schema:
-                $ref: '#/components/schemas/ApiErrorDto'
-    put:
-      tags:
-      - identifier-endpoint
-      summary: Save identifier
-      operationId: save
-      parameters:
-      - name: identifierId
-        in: path
-        required: true
-        schema:
-          type: integer
-          format: int64
-      requestBody:
-        content:
-          application/json:
-            schema:
-              $ref: '#/components/schemas/IdentifierSaveDto'
-        required: true
-      responses:
-        "404":
-          description: "Failed to find database, table or view"
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ApiErrorDto'
-        "400":
-          description: Identifier form contains invalid request data
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ApiErrorDto'
-        "202":
-          description: Saved identifier
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/IdentifierDto'
-        "503":
-          description: DataCite system did not respond
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ApiErrorDto'
-        "405":
-          description: Creating identifier not permitted
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ApiErrorDto'
-        "403":
-          description: Insufficient access rights or authorities
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ApiErrorDto'
-      security:
-      - bearerAuth: []
-      - basicAuth: []
-    delete:
-      tags:
-      - identifier-endpoint
-      summary: Delete some identifier
-      operationId: delete_3
-      parameters:
-      - name: identifierId
-        in: path
-        required: true
-        schema:
-          type: integer
-          format: int64
-      responses:
-        "404":
-          description: Identifier or database could not be found
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ApiErrorDto'
-        "202":
-          description: Deleted identifier
-          content:
-            '*/*':
-              schema:
-                type: object
-        "403":
-          description: Deleting identifier not permitted
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ApiErrorDto'
-      security:
-      - bearerAuth: []
-      - basicAuth: []
-  /api/identifier/{identifierId}/publish:
-    put:
-      tags:
-      - identifier-endpoint
-      summary: Publish identifier
-      operationId: publish
-      parameters:
-      - name: identifierId
-        in: path
-        required: true
-        schema:
-          type: integer
-          format: int64
-      responses:
-        "404":
-          description: "Failed to find database, table or view"
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ApiErrorDto'
-        "400":
-          description: Identifier form contains invalid request data
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ApiErrorDto'
-        "503":
-          description: DataCite system did not respond
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ApiErrorDto'
-        "405":
-          description: Creating identifier not permitted
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ApiErrorDto'
-        "202":
-          description: Published identifier
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/IdentifierDto'
-        "403":
-          description: Insufficient access rights or authorities
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ApiErrorDto'
-      security:
-      - bearerAuth: []
-      - basicAuth: []
-  /api/database/{databaseId}/visibility:
-    put:
-      tags:
-      - database-endpoint
-      summary: Update database visibility
-      operationId: visibility
-      parameters:
-      - name: databaseId
-        in: path
-        required: true
-        schema:
-          type: integer
-          format: int64
-      requestBody:
-        content:
-          application/json:
-            schema:
-              $ref: '#/components/schemas/DatabaseModifyVisibilityDto'
-        required: true
-      responses:
-        "202":
-          description: Visibility modified successfully
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/DatabaseDto'
-        "403":
-          description: Visibility modification is not permitted
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ApiErrorDto'
-        "404":
-          description: Database could not be found
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ApiErrorDto'
-      security:
-      - bearerAuth: []
-      - basicAuth: []
-  /api/database/{databaseId}/table/{tableId}:
-    get:
-      tags:
-      - table-endpoint
-      summary: Get information about table
-      operationId: findById_2
-      parameters:
-      - name: databaseId
-        in: path
-        required: true
-        schema:
-          type: integer
-          format: int64
-      - name: tableId
-        in: path
-        required: true
-        schema:
-          type: integer
-          format: int64
-      responses:
-        "200":
-          description: Find table successfully
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/TableDto'
-        "403":
-          description: Access to the database is forbidden
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ApiErrorDto'
-        "404":
-          description: "Table, database or container could not be found"
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ApiErrorDto'
-        "503":
-          description: Could not communicate with the broker service
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ApiErrorDto'
-      security:
-      - bearerAuth: []
-      - basicAuth: []
-    put:
-      tags:
-      - table-endpoint
-      summary: Update table statistics
-      operationId: updateStatistic
-      parameters:
-      - name: databaseId
-        in: path
-        required: true
-        schema:
-          type: integer
-          format: int64
-      - name: tableId
-        in: path
-        required: true
-        schema:
-          type: integer
-          format: int64
-      requestBody:
-        content:
-          application/json:
-            schema:
-              $ref: '#/components/schemas/TableStatisticDto'
-        required: true
-      responses:
-        "202":
-          description: Updated table statistics successfully
-      security:
-      - bearerAuth: []
-      - basicAuth: []
-    delete:
-      tags:
-      - table-endpoint
-      summary: Delete a table
-      operationId: delete_5
-      parameters:
-      - name: databaseId
-        in: path
-        required: true
-        schema:
-          type: integer
-          format: int64
-      - name: tableId
-        in: path
-        required: true
-        schema:
-          type: integer
-          format: int64
-      responses:
-        "202":
-          description: Delete table successfully
-        "403":
-          description: Access to the database is forbidden
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ApiErrorDto'
-        "404":
-          description: "Table, database or container could not be found"
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ApiErrorDto'
-        "400":
-          description: Delete table query resulted in an invalid query statement
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ApiErrorDto'
-      security:
-      - bearerAuth: []
-      - basicAuth: []
-  /api/database/{databaseId}/table/{tableId}/column/{columnId}:
-    put:
-      tags:
-      - table-endpoint
-      summary: Update a table column semantic mapping
-      operationId: update_3
-      parameters:
-      - name: databaseId
-        in: path
-        required: true
-        schema:
-          type: integer
-          format: int64
-      - name: tableId
-        in: path
-        required: true
-        schema:
-          type: integer
-          format: int64
-      - name: columnId
-        in: path
-        required: true
-        schema:
-          type: integer
-          format: int64
-      requestBody:
-        content:
-          application/json:
-            schema:
-              $ref: '#/components/schemas/ColumnSemanticsUpdateDto'
-        required: true
-      responses:
-        "404":
-          description: Table or database could not be found
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ApiErrorDto'
-        "202":
-          description: Updated column semantics successfully
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ColumnDto'
-        "400":
-          description: Update semantic concept query is malformed or update unit of
-            measurement query is malformed
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ApiErrorDto'
-        "403":
-          description: Access to the database is forbidden
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ApiErrorDto'
-      security:
-      - bearerAuth: []
-      - basicAuth: []
-  /api/database/{databaseId}/owner:
-    put:
-      tags:
-      - database-endpoint
-      summary: Update database owner
-      operationId: transfer
-      parameters:
-      - name: databaseId
-        in: path
-        required: true
-        schema:
-          type: integer
-          format: int64
-      requestBody:
-        content:
-          application/json:
-            schema:
-              $ref: '#/components/schemas/DatabaseTransferDto'
-        required: true
-      responses:
-        "404":
-          description: Database or user could not be found
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ApiErrorDto'
-        "202":
-          description: Transfer of ownership was successful
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/DatabaseDto'
-        "403":
-          description: Transfer of ownership is not permitted
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ApiErrorDto'
-      security:
-      - bearerAuth: []
-      - basicAuth: []
-  /api/database/{databaseId}/image:
-    put:
-      tags:
-      - database-endpoint
-      summary: Update database image
-      operationId: modifyImage
-      parameters:
-      - name: databaseId
-        in: path
-        required: true
-        schema:
-          type: integer
-          format: int64
-      requestBody:
-        content:
-          application/json:
-            schema:
-              $ref: '#/components/schemas/DatabaseModifyImageDto'
-        required: true
-      responses:
-        "403":
-          description: Modify of image is not permitted
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ApiErrorDto'
-        "404":
-          description: Database or user could not be found
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ApiErrorDto'
-        "410":
-          description: File was not found in the Storage Service
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ApiErrorDto'
-        "202":
-          description: Modify of image was successful
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/DatabaseDto'
-      security:
-      - bearerAuth: []
-      - basicAuth: []
-  /api/user:
-    get:
-      tags:
-      - user-endpoint
-      summary: Find all users
-      operationId: findAll
-      responses:
-        "200":
-          description: List users
-          content:
-            application/json:
-              schema:
-                type: array
-                items:
-                  $ref: '#/components/schemas/UserBriefDto'
-    post:
-      tags:
-      - user-endpoint
-      summary: Create user
-      operationId: create
-      requestBody:
-        content:
-          application/json:
-            schema:
-              $ref: '#/components/schemas/SignupRequestDto'
-        required: true
-      responses:
-        "417":
-          description: User with e-mail already exists
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ApiErrorDto'
-        "404":
-          description: default role not found
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ApiErrorDto'
-        "409":
-          description: User with username already exists
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ApiErrorDto'
-        "201":
-          description: Created user
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/UserBriefDto'
-        "400":
-          description: Parameters are not well-formed (likely email)
-          content:
-            application/json: {}
-  /api/ontology:
-    get:
-      tags:
-      - ontology-endpoint
-      summary: List all ontologies
-      operationId: findAll_2
-      responses:
-        "200":
-          description: List all ontologies
-          content:
-            application/json:
-              schema:
-                type: array
-                items:
-                  $ref: '#/components/schemas/OntologyDto'
-    post:
-      tags:
-      - ontology-endpoint
-      summary: Register a new ontology
-      operationId: create_1
-      requestBody:
-        content:
-          application/json:
-            schema:
-              $ref: '#/components/schemas/OntologyCreateDto'
-        required: true
-      responses:
-        "201":
-          description: Registered ontology successfully
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/OntologyDto'
-      security:
-      - bearerAuth: []
-      - basicAuth: []
-  /api/message:
-    get:
-      tags:
-      - message-endpoint
-      summary: Find maintenance messages
-      operationId: list_2
-      parameters:
-      - name: filter
-        in: query
-        required: false
-        schema:
-          type: string
-      responses:
-        "200":
-          description: List messages
-          content:
-            application/json:
-              schema:
-                type: array
-                items:
-                  $ref: '#/components/schemas/BannerMessageDto'
-    post:
-      tags:
-      - message-endpoint
-      summary: Create maintenance message
-      operationId: create_2
-      requestBody:
-        content:
-          application/json:
-            schema:
-              $ref: '#/components/schemas/BannerMessageCreateDto'
-        required: true
-      responses:
-        "201":
-          description: Created message
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/BannerMessageBriefDto'
-      security:
-      - bearerAuth: []
-      - basicAuth: []
-  /api/image:
-    get:
-      tags:
-      - image-endpoint
-      summary: Find all images
-      operationId: findAll_3
-      responses:
-        "200":
-          description: List images
-          content:
-            application/json:
-              schema:
-                type: array
-                items:
-                  $ref: '#/components/schemas/ContainerImage'
-    post:
-      tags:
-      - image-endpoint
-      summary: Create image
-      operationId: create_3
-      requestBody:
-        content:
-          application/json:
-            schema:
-              $ref: '#/components/schemas/ImageCreateDto'
-        required: true
-      responses:
-        "201":
-          description: Created image
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ImageDto'
-        "400":
-          description: Image specification is invalid
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ApiErrorDto'
-        "409":
-          description: Image already exists
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ApiErrorDto'
-      security:
-      - bearerAuth: []
-      - basicAuth: []
-  /api/identifier:
-    get:
-      tags:
-      - identifier-endpoint
-      summary: Find all identifiers
-      operationId: findAll_4
-      parameters:
-      - name: dbid
-        in: query
-        required: false
-        schema:
-          type: integer
-          format: int64
-      - name: qid
-        in: query
-        required: false
-        schema:
-          type: integer
-          format: int64
-      - name: vid
-        in: query
-        required: false
-        schema:
-          type: integer
-          format: int64
-      - name: tid
-        in: query
-        required: false
-        schema:
-          type: integer
-          format: int64
-      - name: Accept
-        in: header
-        required: true
-        schema:
-          type: string
-      responses:
-        "406":
-          description: "Identifier could not be exported, the requested style is not\
-            \ known"
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ApiErrorDto'
-        "200":
-          description: Found identifiers successfully
-          content:
-            application/json:
-              schema:
-                type: string
-            application/ld+json:
-              schema:
-                type: string
-    post:
-      tags:
-      - identifier-endpoint
-      summary: Draft identifier
-      operationId: create_4
-      requestBody:
-        content:
-          application/json:
-            schema:
-              $ref: '#/components/schemas/IdentifierCreateDto'
-        required: true
-      responses:
-        "201":
-          description: Drafted identifier
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/IdentifierDto'
-        "404":
-          description: "Failed to find database, table or view"
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ApiErrorDto'
-        "400":
-          description: Identifier form contains invalid request data
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ApiErrorDto'
-        "503":
-          description: DataCite system did not respond
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ApiErrorDto'
-        "405":
-          description: Creating identifier not permitted
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ApiErrorDto'
-        "403":
-          description: Insufficient access rights or authorities
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ApiErrorDto'
-      security:
-      - bearerAuth: []
-      - basicAuth: []
-  /api/database/{databaseId}/view:
-    get:
-      tags:
-      - view-endpoint
-      summary: Find all views
-      operationId: findAll_5
-      parameters:
-      - name: databaseId
-        in: path
-        required: true
-        schema:
-          type: integer
-          format: int64
-      responses:
-        "404":
-          description: Database or user could not be found
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ApiErrorDto'
-        "200":
-          description: Find views successfully
-          content:
-            application/json:
-              schema:
-                type: array
-                items:
-                  $ref: '#/components/schemas/ViewBriefDto'
-      security:
-      - bearerAuth: []
-      - basicAuth: []
-    post:
-      tags:
-      - view-endpoint
-      summary: Create a view
-      operationId: create_6
-      parameters:
-      - name: databaseId
-        in: path
-        required: true
-        schema:
-          type: integer
-          format: int64
-      requestBody:
-        content:
-          application/json:
-            schema:
-              $ref: '#/components/schemas/ViewCreateDto'
-        required: true
-      responses:
-        "503":
-          description: Connection to the database failed
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ApiErrorDto'
-        "400":
-          description: Create view query is malformed
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ApiErrorDto'
-        "404":
-          description: Database or user could not be found
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ApiErrorDto'
-        "401":
-          description: Credentials missing
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ApiErrorDto'
-        "201":
-          description: Create view successfully
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ViewBriefDto'
-        "403":
-          description: Credentials missing
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ApiErrorDto'
-        "423":
-          description: Create view resulted in an invalid query statement
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ApiErrorDto'
-        "405":
-          description: Create view is not permitted
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ApiErrorDto'
-      security:
-      - bearerAuth: []
-      - basicAuth: []
-  /api/database/{databaseId}/table:
-    get:
-      tags:
-      - table-endpoint
-      summary: List all tables
-      operationId: list_4
-      parameters:
-      - name: databaseId
-        in: path
-        required: true
-        schema:
-          type: integer
-          format: int64
-      responses:
-        "403":
-          description: List tables not permitted
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ApiErrorDto'
-        "200":
-          description: List tables
-          content:
-            application/json:
-              schema:
-                type: array
-                items:
-                  $ref: '#/components/schemas/TableBriefDto'
-        "404":
-          description: Database could not be found
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ApiErrorDto'
-      security:
-      - bearerAuth: []
-      - basicAuth: []
-    post:
-      tags:
-      - table-endpoint
-      summary: Create a table
-      operationId: create_7
-      parameters:
-      - name: databaseId
-        in: path
-        required: true
-        schema:
-          type: integer
-          format: int64
-      requestBody:
-        content:
-          application/json:
-            schema:
-              $ref: '#/components/schemas/TableCreateDto'
-        required: true
-      responses:
-        "409":
-          description: Create table conflicts with existing table name
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ApiErrorDto'
-        "201":
-          description: Created a new table
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/TableBriefDto'
-        "400":
-          description: Create table query is malformed
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ApiErrorDto'
-        "404":
-          description: "Database, container or user could not be found"
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ApiErrorDto'
-        "403":
-          description: Create table not permitted
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ApiErrorDto'
-      security:
-      - bearerAuth: []
-      - basicAuth: []
-  /api/container:
-    get:
-      tags:
-      - container-endpoint
-      summary: Find all containers
-      operationId: findAll_6
-      parameters:
-      - name: limit
-        in: query
-        required: false
-        schema:
-          type: integer
-          format: int32
-      responses:
-        "200":
-          description: List containers
-          content:
-            application/json:
-              schema:
-                type: array
-                items:
-                  type: string
-    post:
-      tags:
-      - container-endpoint
-      summary: Create container
-      operationId: create_9
-      requestBody:
-        content:
-          application/json:
-            schema:
-              $ref: '#/components/schemas/ContainerCreateDto'
-        required: true
-      responses:
-        "409":
-          description: Container name already exists
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ApiErrorDto'
-        "201":
-          description: Created a new container
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ContainerBriefDto'
-        "404":
-          description: Container image or user could not be found
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ApiErrorDto'
-      security:
-      - bearerAuth: []
-      - basicAuth: []
-  /api/unit:
-    get:
-      tags:
-      - unit-endpoint
-      summary: List semantic units
-      operationId: findAll_1
-      responses:
-        "200":
-          description: Find all semantic units
-          content:
-            application/json:
-              schema:
-                type: array
-                items:
-                  $ref: '#/components/schemas/UnitDto'
-  /api/ontology/{ontologyId}/entity:
-    get:
-      tags:
-      - ontology-endpoint
-      summary: Find entities
-      operationId: find_4
-      parameters:
-      - name: ontologyId
-        in: path
-        required: true
-        schema:
-          type: integer
-          format: int64
-      - name: label
-        in: query
-        required: false
-        schema:
-          type: string
-      - name: uri
-        in: query
-        required: false
-        schema:
-          type: string
-      responses:
-        "400":
-          description: Filter params are invalid
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ApiErrorDto'
-        "417":
-          description: Generated query or uri is malformed
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ApiErrorDto'
-        "200":
-          description: Found entities
-          content:
-            application/json:
-              schema:
-                type: array
-                items:
-                  $ref: '#/components/schemas/EntityDto'
-        "404":
-          description: Could not find ontology
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ApiErrorDto'
-        "422":
-          description: Ontology does not have rdf or sparql endpoint
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ApiErrorDto'
-      security:
-      - bearerAuth: []
-      - basicAuth: []
-  /api/oai:
-    get:
-      tags:
-      - metadata-endpoint
-      summary: Get the record
-      operationId: identify_1_1_1_1
-      parameters:
-      - name: verb
-        in: query
-      - name: parameters
-        in: query
-        required: true
-        schema:
-          $ref: '#/components/schemas/OaiListIdentifiersParameters'
-      responses:
-        "200":
-          description: List containers
-          content:
-            text/xml: {}
-  /api/message/message/{messageId}:
-    get:
-      tags:
-      - message-endpoint
-      summary: Find one maintenance message
-      operationId: find_5
-      parameters:
-      - name: messageId
-        in: path
-        required: true
-        schema:
-          type: integer
-          format: int64
-      responses:
-        "404":
-          description: Could not find message
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ApiErrorDto'
-        "200":
-          description: Get messages
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/BannerMessageDto'
-  /api/license:
-    get:
-      tags:
-      - license-endpoint
-      summary: Get all licenses
-      operationId: list_3
-      responses:
-        "200":
-          description: List of licenses
-          content:
-            application/json:
-              schema:
-                type: array
-                items:
-                  type: string
-  /api/identifier/retrieve:
-    get:
-      tags:
-      - identifier-endpoint
-      summary: Retrieve metadata from identifier
-      operationId: retrieve
-      parameters:
-      - name: url
-        in: query
-        required: true
-        schema:
-          type: string
-      responses:
-        "404":
-          description: Failed to find metadata for identifier
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ApiErrorDto'
-        "200":
-          description: Retrieved metadata from identifier
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/IdentifierDto'
-  /api/database/{databaseId}:
-    get:
-      tags:
-      - database-endpoint
-      summary: Find some database
-      operationId: findById_1
-      parameters:
-      - name: databaseId
-        in: path
-        required: true
-        schema:
-          type: integer
-          format: int64
-      responses:
-        "503":
-          description: Connection to the broker service could not be established
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ApiErrorDto'
-        "200":
-          description: Database found successfully
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/DatabaseDto'
-        "404":
-          description: Database or exchange could not be found
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ApiErrorDto'
-      security:
-      - bearerAuth: []
-      - basicAuth: []
-  /api/database/{databaseId}/view/{viewId}:
-    get:
-      tags:
-      - view-endpoint
-      summary: Find one view
-      operationId: find_7
-      parameters:
-      - name: databaseId
-        in: path
-        required: true
-        schema:
-          type: integer
-          format: int64
-      - name: viewId
-        in: path
-        required: true
-        schema:
-          type: integer
-          format: int64
-      responses:
-        "404":
-          description: "Database, view or user could not be found"
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ApiErrorDto'
-        "200":
-          description: Find view successfully
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ViewDto'
-        "403":
-          description: Find view is not permitted
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ApiErrorDto'
-      security:
-      - bearerAuth: []
-      - basicAuth: []
-    delete:
-      tags:
-      - view-endpoint
-      summary: Delete one view
-      operationId: delete_4
-      parameters:
-      - name: databaseId
-        in: path
-        required: true
-        schema:
-          type: integer
-          format: int64
-      - name: viewId
-        in: path
-        required: true
-        schema:
-          type: integer
-          format: int64
-      responses:
-        "503":
-          description: Connection to the database failed
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ApiErrorDto'
-        "202":
-          description: Delete view successfully
-        "404":
-          description: "Database, view or user could not be found"
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ApiErrorDto'
-        "423":
-          description: Delete view resulted in an invalid query statement
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ApiErrorDto'
-        "405":
-          description: Delete view is not permitted
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ApiErrorDto'
-        "403":
-          description: Deletion not allowed
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ApiErrorDto'
-        "400":
-          description: Delete view query is malformed
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ApiErrorDto'
-      security:
-      - bearerAuth: []
-      - basicAuth: []
-  /api/database/{databaseId}/table/{tableId}/suggest:
-    get:
-      tags:
-      - table-endpoint
-      summary: Suggest table semantics
-      operationId: analyseTable
-      parameters:
-      - name: databaseId
-        in: path
-        required: true
-        schema:
-          type: integer
-          format: int64
-      - name: tableId
-        in: path
-        required: true
-        schema:
-          type: integer
-          format: int64
-      responses:
-        "417":
-          description: Generated query is malformed
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ApiErrorDto'
-        "200":
-          description: Suggested table semantics successfully
-          content:
-            application/json:
-              schema:
-                type: array
-                items:
-                  $ref: '#/components/schemas/TableColumnEntityDto'
-        "404":
-          description: Could not find the table
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ApiErrorDto'
-        "422":
-          description: Ontology does not have rdf or sparql endpoint
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ApiErrorDto'
-      security:
-      - bearerAuth: []
-      - basicAuth: []
-  /api/database/{databaseId}/table/{tableId}/column/{columnId}/suggest:
-    get:
-      tags:
-      - table-endpoint
-      summary: Suggest table column semantics
-      operationId: analyseTableColumn
-      parameters:
-      - name: databaseId
-        in: path
-        required: true
-        schema:
-          type: integer
-          format: int64
-      - name: tableId
-        in: path
-        required: true
-        schema:
-          type: integer
-          format: int64
-      - name: columnId
-        in: path
-        required: true
-        schema:
-          type: integer
-          format: int64
-      responses:
-        "417":
-          description: Generated query is malformed
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ApiErrorDto'
-        "404":
-          description: Could not find the table column
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ApiErrorDto'
-        "200":
-          description: Suggested table column semantics successfully
-          content:
-            application/json:
-              schema:
-                type: array
-                items:
-                  $ref: '#/components/schemas/TableColumnEntityDto'
-        "422":
-          description: Ontology does not have rdf or sparql endpoint
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ApiErrorDto'
-      security:
-      - bearerAuth: []
-      - basicAuth: []
-  /api/container/{containerId}:
-    get:
-      tags:
-      - container-endpoint
-      summary: Find some container
-      operationId: findById_3
-      parameters:
-      - name: containerId
-        in: path
-        required: true
-        schema:
-          type: integer
-          format: int64
-      responses:
-        "200":
-          description: Found container
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ContainerDto'
-        "404":
-          description: Container image could not be found
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ApiErrorDto'
-    delete:
-      tags:
-      - container-endpoint
-      summary: Delete some container
-      operationId: delete_6
-      parameters:
-      - name: containerId
-        in: path
-        required: true
-        schema:
-          type: integer
-          format: int64
-      responses:
-        "404":
-          description: Container not found
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ApiErrorDto'
-        "202":
-          description: Deleted container successfully
-          content:
-            '*/*':
-              schema:
-                type: object
-      security:
-      - bearerAuth: []
-      - basicAuth: []
-  /api/concept:
-    get:
-      tags:
-      - concept-endpoint
-      summary: List semantic concepts
-      operationId: findAll_7
-      responses:
-        "200":
-          description: Find all semantic concepts
-          content:
-            application/json:
-              schema:
-                type: array
-                items:
-                  $ref: '#/components/schemas/ConceptDto'
-components:
-  schemas:
-    ColumnBriefDto:
-      required:
-      - column_type
-      - database_id
-      - id
-      - internal_name
-      - name
-      - table_id
-      type: object
-      properties:
-        id:
-          type: integer
-          format: int64
-        name:
-          type: string
-          example: date
-        alias:
-          type: string
-        database_id:
-          type: integer
-          format: int64
-        table_id:
-          type: integer
-          format: int64
-        internal_name:
-          type: string
-          example: mdb_date
-        column_type:
-          type: string
-          example: date
-          enum:
-          - char
-          - varchar
-          - binary
-          - varbinary
-          - tinyblob
-          - tinytext
-          - text
-          - blob
-          - mediumtext
-          - mediumblob
-          - longtext
-          - longblob
-          - enum
-          - set
-          - bit
-          - tinyint
-          - bool
-          - smallint
-          - mediumint
-          - int
-          - bigint
-          - float
-          - double
-          - decimal
-          - date
-          - datetime
-          - timestamp
-          - time
-          - year
-    ColumnDto:
-      required:
-      - auto_generated
-      - column_type
-      - database_id
-      - id
-      - internal_name
-      - is_null_allowed
-      - is_public
-      - name
-      - ordinal_position
-      - table_id
-      type: object
-      properties:
-        id:
-          type: integer
-          format: int64
-        name:
-          type: string
-          example: Date
-        alias:
-          type: string
-        size:
-          type: integer
-          format: int64
-          example: 255
-        d:
-          type: integer
-          format: int64
-          example: 0
-        mean:
-          type: number
-          example: 45.4
-        median:
-          type: number
-          example: 51
-        concept:
-          $ref: '#/components/schemas/ConceptDto'
-        unit:
-          $ref: '#/components/schemas/UnitDto'
-        table:
-          $ref: '#/components/schemas/TableDto'
-        views:
-          type: array
-          items:
-            $ref: '#/components/schemas/ViewDto'
-        enums:
-          type: array
-          items:
-            type: string
-        sets:
-          type: array
-          items:
-            type: string
-        database_id:
-          type: integer
-          format: int64
-        table_id:
-          type: integer
-          format: int64
-        ordinal_position:
-          type: integer
-          format: int32
-          example: 0
-        internal_name:
-          type: string
-          example: mdb_date
-        date_format:
-          $ref: '#/components/schemas/ImageDateDto'
-        auto_generated:
-          type: boolean
-          example: false
-        index_length:
-          type: integer
-          format: int64
-        length:
-          type: integer
-          format: int64
-        column_type:
-          type: string
-          example: string
-          enum:
-          - char
-          - varchar
-          - binary
-          - varbinary
-          - tinyblob
-          - tinytext
-          - text
-          - blob
-          - mediumtext
-          - mediumblob
-          - longtext
-          - longblob
-          - enum
-          - set
-          - bit
-          - tinyint
-          - bool
-          - smallint
-          - mediumint
-          - int
-          - bigint
-          - float
-          - double
-          - decimal
-          - date
-          - datetime
-          - timestamp
-          - time
-          - year
-        data_length:
-          type: integer
-          format: int64
-          example: 34300
-        max_data_length:
-          type: integer
-          format: int64
-          example: 34300
-        num_rows:
-          type: integer
-          format: int64
-          example: 32
-        val_min:
-          type: number
-          example: 0
-        val_max:
-          type: number
-          example: 100
-        std_dev:
-          type: number
-          example: 5.32
-        is_public:
-          type: boolean
-          example: true
-        is_null_allowed:
-          type: boolean
-          example: false
-    ConceptDto:
-      required:
-      - columns
-      - created
-      - id
-      - uri
-      type: object
-      properties:
-        id:
-          type: integer
-          format: int64
-        uri:
-          type: string
-        name:
-          type: string
-        description:
-          type: string
-        created:
-          type: string
-          format: date-time
-          example: 2021-03-12T15:26:21Z
-        columns:
-          type: array
-          items:
-            $ref: '#/components/schemas/ColumnBriefDto'
-    ConstraintsDto:
-      type: object
-      properties:
-        uniques:
-          type: array
-          items:
-            $ref: '#/components/schemas/UniqueDto'
-        checks:
-          uniqueItems: true
-          type: array
-          items:
-            type: string
-        foreign_keys:
-          type: array
-          items:
-            $ref: '#/components/schemas/ForeignKeyDto'
-        primary_key:
-          uniqueItems: true
-          type: array
-          items:
-            type: string
-    ContainerDto:
-      required:
-      - created
-      - host
-      - id
-      - image
-      - internal_name
-      - name
-      - sidecar_host
-      - sidecar_port
-      type: object
-      properties:
-        id:
-          type: integer
-          format: int64
-        name:
-          type: string
-          example: Air Quality
-        host:
-          type: string
-        port:
-          type: integer
-          format: int32
-        image:
-          $ref: '#/components/schemas/ImageDto'
-        created:
-          type: string
-          format: date-time
-          example: 2021-03-12T15:26:21Z
-        internal_name:
-          type: string
-          example: data-db
-        sidecar_host:
-          type: string
-        sidecar_port:
-          type: integer
-          format: int32
-        ui_host:
-          type: string
-        ui_port:
-          type: integer
-          format: int32
-    CreatorDto:
-      required:
-      - creator_name
-      - id
-      type: object
-      properties:
-        id:
-          type: integer
-          format: int64
-        firstname:
-          type: string
-          example: Josiah
-        lastname:
-          type: string
-          example: Carberry
-        affiliation:
-          type: string
-          example: Brown University
-        creator_name:
-          type: string
-          example: "Carberry, Josiah"
-        name_type:
-          type: string
-          example: Personal
-          enum:
-          - Personal
-          - Organizational
-        name_identifier:
-          type: string
-          example: 0000-0002-1825-0097
-        name_identifier_scheme:
-          type: string
-          example: ORCID
-          enum:
-          - ORCID
-          - ROR
-          - ISNI
-          - GRID
-        name_identifier_scheme_uri:
-          type: string
-          example: https://orcid.org/
-        affiliation_identifier:
-          type: string
-          example: https://ror.org/05gq02987
-        affiliation_identifier_scheme:
-          type: string
-          example: ROR
-          enum:
-          - ROR
-          - GRID
-          - ISNI
-        affiliation_identifier_scheme_uri:
-          type: string
-          example: https://ror.org/
-    DatabaseAccessDto:
-      required:
-      - created
-      - type
-      - user
-      type: object
-      properties:
-        user:
-          $ref: '#/components/schemas/UserDto'
-        type:
-          type: string
-          enum:
-          - read
-          - write_own
-          - write_all
-        created:
-          type: string
-          format: date-time
-          example: 2021-03-12T15:26:21Z
-    DatabaseDto:
-      required:
-      - contact
-      - container
-      - created
-      - creator
-      - exchange_name
-      - id
-      - internal_name
-      - is_public
-      - name
-      - owner
-      type: object
-      properties:
-        id:
-          type: integer
-          format: int64
-        name:
-          type: string
-          example: Air Quality
-        description:
-          type: string
-          example: Air Quality
-        tables:
-          type: array
-          items:
-            $ref: '#/components/schemas/TableDto'
-        container:
-          $ref: '#/components/schemas/ContainerDto'
-        accesses:
-          type: array
-          items:
-            $ref: '#/components/schemas/DatabaseAccessDto'
-        identifiers:
-          type: array
-          items:
-            $ref: '#/components/schemas/IdentifierDto'
-        subsets:
-          type: array
-          items:
-            $ref: '#/components/schemas/IdentifierDto'
-        creator:
-          $ref: '#/components/schemas/UserDto'
-        contact:
-          $ref: '#/components/schemas/UserDto'
-        owner:
-          $ref: '#/components/schemas/UserDto'
-        image:
-          type: array
-          items:
-            type: string
-            format: byte
-        created:
-          type: string
-          format: date-time
-          example: 2021-03-12T15:26:21Z
-        exchange_name:
-          type: string
-          example: dbrepo
-        exchange_type:
-          type: string
-          example: topic
-        internal_name:
-          type: string
-          example: air_quality
-        is_public:
-          type: boolean
-          example: true
-    ForeignKeyDto:
-      type: object
-      properties:
-        name:
-          type: string
-        columns:
-          type: array
-          items:
-            $ref: '#/components/schemas/ColumnDto'
-        referenced_table:
-          $ref: '#/components/schemas/TableBriefDto'
-        referenced_columns:
-          type: array
-          items:
-            $ref: '#/components/schemas/ColumnDto'
-        on_update:
-          type: string
-          enum:
-          - restrict
-          - cascade
-          - set_null
-          - no_action
-          - set_default
-        on_delete:
-          type: string
-          enum:
-          - restrict
-          - cascade
-          - set_null
-          - no_action
-          - set_default
-    IdentifierDescriptionDto:
-      required:
-      - id
-      type: object
-      properties:
-        id:
-          type: integer
-          format: int64
-        description:
-          type: string
-          example: "Air quality reports at Stephansplatz, Vienna"
-        language:
-          type: string
-          example: en
-          enum:
-          - ab
-          - aa
-          - af
-          - ak
-          - sq
-          - am
-          - ar
-          - an
-          - hy
-          - as
-          - av
-          - ae
-          - ay
-          - az
-          - bm
-          - ba
-          - eu
-          - be
-          - bn
-          - bh
-          - bi
-          - bs
-          - br
-          - bg
-          - my
-          - ca
-          - km
-          - ch
-          - ce
-          - ny
-          - zh
-          - cu
-          - cv
-          - kw
-          - co
-          - cr
-          - hr
-          - cs
-          - da
-          - dv
-          - nl
-          - dz
-          - en
-          - eo
-          - et
-          - ee
-          - fo
-          - fj
-          - fi
-          - fr
-          - ff
-          - gd
-          - gl
-          - lg
-          - ka
-          - de
-          - ki
-          - el
-          - kl
-          - gn
-          - gu
-          - ht
-          - ha
-          - he
-          - hz
-          - hi
-          - ho
-          - hu
-          - is
-          - io
-          - ig
-          - id
-          - ia
-          - ie
-          - iu
-          - ik
-          - ga
-          - it
-          - ja
-          - jv
-          - kn
-          - kr
-          - ks
-          - kk
-          - rw
-          - kv
-          - kg
-          - ko
-          - kj
-          - ku
-          - ky
-          - lo
-          - la
-          - lv
-          - lb
-          - li
-          - ln
-          - lt
-          - lu
-          - mk
-          - mg
-          - ms
-          - ml
-          - mt
-          - gv
-          - mi
-          - mr
-          - mh
-          - ro
-          - mn
-          - na
-          - nv
-          - nd
-          - ng
-          - ne
-          - se
-          - "no"
-          - nb
-          - nn
-          - ii
-          - oc
-          - oj
-          - or
-          - om
-          - os
-          - pi
-          - pa
-          - ps
-          - fa
-          - pl
-          - pt
-          - qu
-          - rm
-          - rn
-          - ru
-          - sm
-          - sg
-          - sa
-          - sc
-          - sr
-          - sn
-          - sd
-          - si
-          - sk
-          - sl
-          - so
-          - st
-          - nr
-          - es
-          - su
-          - sw
-          - ss
-          - sv
-          - tl
-          - ty
-          - tg
-          - ta
-          - tt
-          - te
-          - th
-          - bo
-          - ti
-          - to
-          - ts
-          - tn
-          - tr
-          - tk
-          - tw
-          - ug
-          - uk
-          - ur
-          - uz
-          - ve
-          - vi
-          - vo
-          - wa
-          - cy
-          - fy
-          - wo
-          - xh
-          - yi
-          - yo
-          - za
-          - zu
-        type:
-          type: string
-          example: Abstract
-          enum:
-          - Abstract
-          - Methods
-          - SeriesInformation
-          - TableOfContents
-          - TechnicalInfo
-          - Other
-    IdentifierDto:
-      required:
-      - created
-      - created_by
-      - creator
-      - creators
-      - database_id
-      - execution
-      - id
-      - last_modified
-      - publication_year
-      - publisher
-      - query
-      - query_hash
-      - query_normalized
-      - titles
-      - type
-      type: object
-      properties:
-        id:
-          type: integer
-          format: int64
-        type:
-          type: string
-          enum:
-          - database
-          - subset
-          - table
-          - view
-        titles:
-          type: array
-          items:
-            $ref: '#/components/schemas/IdentifierTitleDto'
-        descriptions:
-          type: array
-          items:
-            $ref: '#/components/schemas/IdentifierDescriptionDto'
-        funders:
-          type: array
-          items:
-            $ref: '#/components/schemas/IdentifierFunderDto'
-        query:
-          type: string
-          example: "SELECT `id`, `value`, `location` FROM `air_quality` WHERE `location`\
-            \ = \"09:STEF\""
-        execution:
-          type: string
-          format: date-time
-          example: 2021-03-12T15:26:21Z
-        doi:
-          type: string
-          example: 10.1038/nphys1170
-        publisher:
-          type: string
-          example: TU Wien
-        creator:
-          $ref: '#/components/schemas/UserDto'
-        language:
-          type: string
-          enum:
-          - ab
-          - aa
-          - af
-          - ak
-          - sq
-          - am
-          - ar
-          - an
-          - hy
-          - as
-          - av
-          - ae
-          - ay
-          - az
-          - bm
-          - ba
-          - eu
-          - be
-          - bn
-          - bh
-          - bi
-          - bs
-          - br
-          - bg
-          - my
-          - ca
-          - km
-          - ch
-          - ce
-          - ny
-          - zh
-          - cu
-          - cv
-          - kw
-          - co
-          - cr
-          - hr
-          - cs
-          - da
-          - dv
-          - nl
-          - dz
-          - en
-          - eo
-          - et
-          - ee
-          - fo
-          - fj
-          - fi
-          - fr
-          - ff
-          - gd
-          - gl
-          - lg
-          - ka
-          - de
-          - ki
-          - el
-          - kl
-          - gn
-          - gu
-          - ht
-          - ha
-          - he
-          - hz
-          - hi
-          - ho
-          - hu
-          - is
-          - io
-          - ig
-          - id
-          - ia
-          - ie
-          - iu
-          - ik
-          - ga
-          - it
-          - ja
-          - jv
-          - kn
-          - kr
-          - ks
-          - kk
-          - rw
-          - kv
-          - kg
-          - ko
-          - kj
-          - ku
-          - ky
-          - lo
-          - la
-          - lv
-          - lb
-          - li
-          - ln
-          - lt
-          - lu
-          - mk
-          - mg
-          - ms
-          - ml
-          - mt
-          - gv
-          - mi
-          - mr
-          - mh
-          - ro
-          - mn
-          - na
-          - nv
-          - nd
-          - ng
-          - ne
-          - se
-          - "no"
-          - nb
-          - nn
-          - ii
-          - oc
-          - oj
-          - or
-          - om
-          - os
-          - pi
-          - pa
-          - ps
-          - fa
-          - pl
-          - pt
-          - qu
-          - rm
-          - rn
-          - ru
-          - sm
-          - sg
-          - sa
-          - sc
-          - sr
-          - sn
-          - sd
-          - si
-          - sk
-          - sl
-          - so
-          - st
-          - nr
-          - es
-          - su
-          - sw
-          - ss
-          - sv
-          - tl
-          - ty
-          - tg
-          - ta
-          - tt
-          - te
-          - th
-          - bo
-          - ti
-          - to
-          - ts
-          - tn
-          - tr
-          - tk
-          - tw
-          - ug
-          - uk
-          - ur
-          - uz
-          - ve
-          - vi
-          - vo
-          - wa
-          - cy
-          - fy
-          - wo
-          - xh
-          - yi
-          - yo
-          - za
-          - zu
-        licenses:
-          type: array
-          items:
-            $ref: '#/components/schemas/LicenseDto'
-        creators:
-          type: array
-          items:
-            $ref: '#/components/schemas/CreatorDto'
-        status:
-          type: string
-          enum:
-          - draft
-          - published
-        created:
-          type: string
-          format: date-time
-          example: 2021-03-12T15:26:21Z
-        database_id:
-          type: integer
-          format: int64
-          example: 1
-        query_id:
-          type: integer
-          format: int64
-          example: 1
-        table_id:
-          type: integer
-          format: int64
-          example: 1
-        view_id:
-          type: integer
-          format: int64
-          example: 1
-        query_normalized:
-          type: string
-          example: "SELECT `id`, `value`, `location` FROM `air_quality` WHERE `location`\
-            \ = \"09:STEF\""
-        related_identifiers:
-          type: array
-          items:
-            $ref: '#/components/schemas/RelatedIdentifierDto'
-        query_hash:
-          type: string
-          description: query hash in sha512
-        result_hash:
-          type: string
-          example: 34fe82cda2c53f13f8d90cfd7a3469e3a939ff311add50dce30d9136397bf8e5
-        result_number:
-          type: integer
-          format: int64
-          example: 1
-        publication_day:
-          type: integer
-          format: int32
-          example: 15
-        publication_month:
-          type: integer
-          format: int32
-          example: 12
-        publication_year:
-          type: integer
-          format: int32
-          example: 2022
-        created_by:
-          type: string
-          format: uuid
-        last_modified:
-          type: string
-          format: date-time
-          example: 2021-03-12T15:26:21Z
-    IdentifierFunderDto:
-      required:
-      - funder_name
-      - id
-      type: object
-      properties:
-        id:
-          type: integer
-          format: int64
-        funder_name:
-          type: string
-          example: European Commission
-        funder_identifier:
-          type: string
-          example: http://doi.org/10.13039/501100000780
-        funder_identifier_type:
-          type: string
-          example: Crossref Funder ID
-          enum:
-          - Crossref Funder ID
-          - ROR
-          - GND
-          - ISNI
-          - Other
-        scheme_uri:
-          type: string
-          example: http://doi.org/
-        award_number:
-          type: string
-          example: "824087"
-        award_title:
-          type: string
-          example: EOSC-Life
-    IdentifierTitleDto:
-      required:
-      - id
-      type: object
-      properties:
-        id:
-          type: integer
-          format: int64
-        title:
-          type: string
-          example: Airquality Demonstrator
-        language:
-          type: string
-          example: en
-          enum:
-          - ab
-          - aa
-          - af
-          - ak
-          - sq
-          - am
-          - ar
-          - an
-          - hy
-          - as
-          - av
-          - ae
-          - ay
-          - az
-          - bm
-          - ba
-          - eu
-          - be
-          - bn
-          - bh
-          - bi
-          - bs
-          - br
-          - bg
-          - my
-          - ca
-          - km
-          - ch
-          - ce
-          - ny
-          - zh
-          - cu
-          - cv
-          - kw
-          - co
-          - cr
-          - hr
-          - cs
-          - da
-          - dv
-          - nl
-          - dz
-          - en
-          - eo
-          - et
-          - ee
-          - fo
-          - fj
-          - fi
-          - fr
-          - ff
-          - gd
-          - gl
-          - lg
-          - ka
-          - de
-          - ki
-          - el
-          - kl
-          - gn
-          - gu
-          - ht
-          - ha
-          - he
-          - hz
-          - hi
-          - ho
-          - hu
-          - is
-          - io
-          - ig
-          - id
-          - ia
-          - ie
-          - iu
-          - ik
-          - ga
-          - it
-          - ja
-          - jv
-          - kn
-          - kr
-          - ks
-          - kk
-          - rw
-          - kv
-          - kg
-          - ko
-          - kj
-          - ku
-          - ky
-          - lo
-          - la
-          - lv
-          - lb
-          - li
-          - ln
-          - lt
-          - lu
-          - mk
-          - mg
-          - ms
-          - ml
-          - mt
-          - gv
-          - mi
-          - mr
-          - mh
-          - ro
-          - mn
-          - na
-          - nv
-          - nd
-          - ng
-          - ne
-          - se
-          - "no"
-          - nb
-          - nn
-          - ii
-          - oc
-          - oj
-          - or
-          - om
-          - os
-          - pi
-          - pa
-          - ps
-          - fa
-          - pl
-          - pt
-          - qu
-          - rm
-          - rn
-          - ru
-          - sm
-          - sg
-          - sa
-          - sc
-          - sr
-          - sn
-          - sd
-          - si
-          - sk
-          - sl
-          - so
-          - st
-          - nr
-          - es
-          - su
-          - sw
-          - ss
-          - sv
-          - tl
-          - ty
-          - tg
-          - ta
-          - tt
-          - te
-          - th
-          - bo
-          - ti
-          - to
-          - ts
-          - tn
-          - tr
-          - tk
-          - tw
-          - ug
-          - uk
-          - ur
-          - uz
-          - ve
-          - vi
-          - vo
-          - wa
-          - cy
-          - fy
-          - wo
-          - xh
-          - yi
-          - yo
-          - za
-          - zu
-        type:
-          type: string
-          enum:
-          - AlternativeTitle
-          - Subtitle
-          - TranslatedTitle
-          - Other
-    ImageDateDto:
-      required:
-      - created_at
-      - database_format
-      - has_time
-      - id
-      - unix_format
-      type: object
-      properties:
-        id:
-          type: integer
-          format: int64
-        database_format:
-          type: string
-          example: '%d.%c.%Y'
-        unix_format:
-          type: string
-          example: dd.MM.YYYY
-        has_time:
-          type: boolean
-          example: false
-        created_at:
-          type: string
-          format: date-time
-          example: 2021-03-12T15:26:21Z
-    ImageDto:
-      required:
-      - default_port
-      - dialect
-      - driver_class
-      - id
-      - jdbc_method
-      - name
-      - registry
-      - version
-      type: object
-      properties:
-        id:
-          type: integer
-          format: int64
-        registry:
-          type: string
-          example: docker.io/library
-        name:
-          type: string
-          example: mariadb
-        version:
-          type: string
-          example: "10.5"
-        dialect:
-          type: string
-          example: org.hibernate.dialect.MariaDBDialect
-        driver_class:
-          type: string
-          example: org.mariadb.jdbc.Driver
-        date_formats:
-          type: array
-          items:
-            $ref: '#/components/schemas/ImageDateDto'
-        jdbc_method:
-          type: string
-          example: mariadb
-        default_port:
-          type: integer
-          format: int32
-          example: 3306
-    LicenseDto:
-      required:
-      - identifier
-      - uri
-      type: object
-      properties:
-        identifier:
-          type: string
-          example: MIT
-        uri:
-          type: string
-          example: https://opensource.org/licenses/MIT
-        description:
-          type: string
-          example: "A short and simple permissive license with conditions only requiring\
-            \ preservation of copyright and license notices. Licensed works, modifications,\
-            \ and larger works may be distributed under different terms and without\
-            \ source code."
-    RelatedIdentifierDto:
-      required:
-      - id
-      - relation
-      - type
-      - value
-      type: object
-      properties:
-        id:
-          type: integer
-          format: int64
-        value:
-          type: string
-          example: 10.70124/dc4zh-9ce78
-        type:
-          type: string
-          example: DOI
-          enum:
-          - DOI
-          - URL
-          - URN
-          - ARK
-          - arXiv
-          - bibcode
-          - EAN13
-          - EISSN
-          - Handle
-          - IGSN
-          - ISBN
-          - ISTC
-          - LISSN
-          - LSID
-          - PMID
-          - PURL
-          - UPC
-          - w3id
-        relation:
-          type: string
-          example: Cites
-          enum:
-          - IsCitedBy
-          - Cites
-          - IsSupplementTo
-          - IsSupplementedBy
-          - IsContinuedBy
-          - Continues
-          - IsDescribedBy
-          - Describes
-          - HasMetadata
-          - IsMetadataFor
-          - HasVersion
-          - IsVersionOf
-          - IsNewVersionOf
-          - IsPreviousVersionOf
-          - IsPartOf
-          - HasPart
-          - IsPublishedIn
-          - IsReferencedBy
-          - References
-          - IsDocumentedBy
-          - Documents
-          - IsCompiledBy
-          - Compiles
-          - IsVariantFormOf
-          - IsOriginalFormOf
-          - IsIdenticalTo
-          - IsReviewedBy
-          - Reviews
-          - IsDerivedFrom
-          - IsSourceOf
-          - IsRequiredBy
-          - Requires
-          - IsObsoletedBy
-          - Obsoletes
-    TableBriefDto:
-      required:
-      - columns
-      - description
-      - id
-      - internal_name
-      - is_versioned
-      - name
-      - owner
-      type: object
-      properties:
-        id:
-          type: integer
-          format: int64
-        name:
-          type: string
-          example: Air Quality
-        description:
-          type: string
-          example: Air Quality in Austria
-        owner:
-          $ref: '#/components/schemas/UserBriefDto'
-        columns:
-          type: array
-          items:
-            $ref: '#/components/schemas/ColumnBriefDto'
-        internal_name:
-          type: string
-          example: air_quality
-        is_versioned:
-          type: boolean
-          example: true
-    TableDto:
-      required:
-      - columns
-      - constraints
-      - created
-      - created_by
-      - creator
-      - database_id
-      - id
-      - internal_name
-      - is_public
-      - is_versioned
-      - name
-      - owner
-      - queue_name
-      - routing_key
-      type: object
-      properties:
-        id:
-          type: integer
-          format: int64
-        name:
-          type: string
-          example: Air Quality
-        alias:
-          type: string
-        identifiers:
-          type: array
-          items:
-            $ref: '#/components/schemas/IdentifierDto'
-        creator:
-          $ref: '#/components/schemas/UserDto'
-        owner:
-          $ref: '#/components/schemas/UserDto'
-        description:
-          type: string
-          example: Air Quality in Austria
-        created:
-          type: string
-          format: date-time
-          example: 2021-03-12T15:26:21Z
-        columns:
-          type: array
-          items:
-            $ref: '#/components/schemas/ColumnDto'
-        constraints:
-          $ref: '#/components/schemas/ConstraintsDto'
-        database_id:
-          type: integer
-          format: int64
-        internal_name:
-          type: string
-          example: air_quality
-        is_versioned:
-          type: boolean
-          example: true
-        created_by:
-          type: string
-          format: uuid
-        queue_name:
-          type: string
-          example: air_quality
-        queue_type:
-          type: string
-          example: quorum
-        routing_key:
-          type: string
-          example: dbrepo.1.2
-        is_public:
-          type: boolean
-          example: true
-        num_rows:
-          type: integer
-          format: int64
-          example: 5
-        data_length:
-          type: integer
-          description: in bytes
-          format: int64
-          example: 16384
-        max_data_length:
-          type: integer
-          description: in bytes
-          format: int64
-          example: 0
-        avg_row_length:
-          type: integer
-          description: in bytes
-          format: int64
-          example: 3276
-    UniqueDto:
-      required:
-      - table
-      - uid
-      type: object
-      properties:
-        uid:
-          type: integer
-          format: int64
-        table:
-          $ref: '#/components/schemas/TableDto'
-    UnitDto:
-      required:
-      - columns
-      - created
-      - id
-      - uri
-      type: object
-      properties:
-        id:
-          type: integer
-          format: int64
-        uri:
-          type: string
-        name:
-          type: string
-        description:
-          type: string
-        created:
-          type: string
-          format: date-time
-          example: 2021-03-12T15:26:21Z
-        columns:
-          type: array
-          items:
-            $ref: '#/components/schemas/ColumnBriefDto'
-    UserAttributesDto:
-      required:
-      - language
-      - theme
-      type: object
-      properties:
-        theme:
-          type: string
-          example: light
-        orcid:
-          type: string
-          example: https://orcid.org/0000-0002-1825-0097
-        affiliation:
-          type: string
-          example: Brown University
-        language:
-          type: string
-          example: en
-    UserBriefDto:
-      required:
-      - id
-      - username
-      type: object
-      properties:
-        id:
-          type: string
-          format: uuid
-          example: 1ffc7b0e-9aeb-4e8b-b8f1-68f3936155b4
-        username:
-          type: string
-          description: Only contains lowercase characters
-          example: jcarberry
-        name:
-          type: string
-          example: Josiah Carberry
-        orcid:
-          type: string
-          example: 0000-0002-1825-0097
-        qualified_name:
-          type: string
-          example: Josiah Carberry — @jcarberry
-        given_name:
-          type: string
-          example: Josiah
-        family_name:
-          type: string
-          example: Carberry
-    UserDto:
-      required:
-      - attributes
-      - id
-      - username
-      type: object
-      properties:
-        id:
-          type: string
-          format: uuid
-          example: 1ffc7b0e-9aeb-4e8b-b8f1-68f3936155b4
-        username:
-          type: string
-          description: Only contains lowercase characters
-          example: jcarberry
-        name:
-          type: string
-          example: Josiah Carberry
-        attributes:
-          $ref: '#/components/schemas/UserAttributesDto'
-        qualified_name:
-          type: string
-          example: Josiah Carberry — @jcarberry
-        given_name:
-          type: string
-          example: Josiah
-        family_name:
-          type: string
-          example: Carberry
-    ViewDto:
-      required:
-      - created
-      - creator
-      - database
-      - database_id
-      - id
-      - internal_name
-      - name
-      - query
-      - query_hash
-      type: object
-      properties:
-        id:
-          type: integer
-          format: int64
-        database:
-          $ref: '#/components/schemas/DatabaseDto'
-        name:
-          type: string
-          example: Air Quality
-        identifiers:
-          type: array
-          items:
-            $ref: '#/components/schemas/IdentifierDto'
-        query:
-          type: string
-          example: SELECT `id` FROM `air_quality` ORDER BY `value` DESC
-        created:
-          type: string
-          format: date-time
-          example: 2021-03-12T15:26:21Z
-        creator:
-          $ref: '#/components/schemas/UserDto'
-        database_id:
-          type: integer
-          format: int64
-        internal_name:
-          type: string
-          example: air_quality
-        is_public:
-          type: boolean
-          example: true
-        initial_view:
-          type: boolean
-          description: True if it is the default view for the database
-          example: true
-        query_hash:
-          type: string
-          example: 7de03e818900b6ea6d58ad0306d4a741d658c6df3d1964e89ed2395d8c7e7916
-        last_modified:
-          type: string
-          format: date-time
-          example: 2021-03-12T15:26:21Z
-    ApiErrorDto:
-      required:
-      - code
-      - message
-      - status
-      type: object
-      properties:
-        status:
-          type: string
-          example: NOT_FOUND
-          enum:
-          - 100 CONTINUE
-          - 101 SWITCHING_PROTOCOLS
-          - 102 PROCESSING
-          - 103 EARLY_HINTS
-          - 103 CHECKPOINT
-          - 200 OK
-          - 201 CREATED
-          - 202 ACCEPTED
-          - 203 NON_AUTHORITATIVE_INFORMATION
-          - 204 NO_CONTENT
-          - 205 RESET_CONTENT
-          - 206 PARTIAL_CONTENT
-          - 207 MULTI_STATUS
-          - 208 ALREADY_REPORTED
-          - 226 IM_USED
-          - 300 MULTIPLE_CHOICES
-          - 301 MOVED_PERMANENTLY
-          - 302 FOUND
-          - 302 MOVED_TEMPORARILY
-          - 303 SEE_OTHER
-          - 304 NOT_MODIFIED
-          - 305 USE_PROXY
-          - 307 TEMPORARY_REDIRECT
-          - 308 PERMANENT_REDIRECT
-          - 400 BAD_REQUEST
-          - 401 UNAUTHORIZED
-          - 402 PAYMENT_REQUIRED
-          - 403 FORBIDDEN
-          - 404 NOT_FOUND
-          - 405 METHOD_NOT_ALLOWED
-          - 406 NOT_ACCEPTABLE
-          - 407 PROXY_AUTHENTICATION_REQUIRED
-          - 408 REQUEST_TIMEOUT
-          - 409 CONFLICT
-          - 410 GONE
-          - 411 LENGTH_REQUIRED
-          - 412 PRECONDITION_FAILED
-          - 413 PAYLOAD_TOO_LARGE
-          - 413 REQUEST_ENTITY_TOO_LARGE
-          - 414 URI_TOO_LONG
-          - 414 REQUEST_URI_TOO_LONG
-          - 415 UNSUPPORTED_MEDIA_TYPE
-          - 416 REQUESTED_RANGE_NOT_SATISFIABLE
-          - 417 EXPECTATION_FAILED
-          - 418 I_AM_A_TEAPOT
-          - 419 INSUFFICIENT_SPACE_ON_RESOURCE
-          - 420 METHOD_FAILURE
-          - 421 DESTINATION_LOCKED
-          - 422 UNPROCESSABLE_ENTITY
-          - 423 LOCKED
-          - 424 FAILED_DEPENDENCY
-          - 425 TOO_EARLY
-          - 426 UPGRADE_REQUIRED
-          - 428 PRECONDITION_REQUIRED
-          - 429 TOO_MANY_REQUESTS
-          - 431 REQUEST_HEADER_FIELDS_TOO_LARGE
-          - 451 UNAVAILABLE_FOR_LEGAL_REASONS
-          - 500 INTERNAL_SERVER_ERROR
-          - 501 NOT_IMPLEMENTED
-          - 502 BAD_GATEWAY
-          - 503 SERVICE_UNAVAILABLE
-          - 504 GATEWAY_TIMEOUT
-          - 505 HTTP_VERSION_NOT_SUPPORTED
-          - 506 VARIANT_ALSO_NEGOTIATES
-          - 507 INSUFFICIENT_STORAGE
-          - 508 LOOP_DETECTED
-          - 509 BANDWIDTH_LIMIT_EXCEEDED
-          - 510 NOT_EXTENDED
-          - 511 NETWORK_AUTHENTICATION_REQUIRED
-        message:
-          type: string
-          example: Error message
-        code:
-          type: string
-          example: error.service.code
-    UserUpdateDto:
-      required:
-      - language
-      - theme
-      type: object
-      properties:
-        firstname:
-          type: string
-          example: Josiah
-        lastname:
-          type: string
-          example: Carberry
-        affiliation:
-          type: string
-          example: Brown University
-        orcid:
-          type: string
-          example: 0000-0002-1825-0097
-        theme:
-          type: string
-          example: dark
-        language:
-          type: string
-          example: en
-    UserPasswordDto:
-      required:
-      - password
-      type: object
-      properties:
-        password:
-          type: string
-    RefreshTokenRequestDto:
-      required:
-      - refresh_token
-      type: object
-      properties:
-        refresh_token:
-          type: string
-          example: refresh_token
-    TokenDto:
-      required:
-      - access_token
-      - expires_in
-      - id_token
-      - not-before-policy
-      - refresh_expires_in
-      - refresh_token
-      - scope
-      - session_state
-      - token_type
-      type: object
-      properties:
-        scope:
-          type: string
-        access_token:
-          type: string
-        expires_in:
-          type: integer
-          format: int64
-        refresh_token:
-          type: string
-        refresh_expires_in:
-          type: integer
-          format: int64
-        id_token:
-          type: string
-        session_state:
-          type: string
-        token_type:
-          type: string
-        not-before-policy:
-          type: integer
-          format: int64
-    OntologyModifyDto:
-      required:
-      - prefix
-      - uri
-      type: object
-      properties:
-        uri:
-          type: string
-          example: Ontology URI
-        prefix:
-          type: string
-          example: Ontology prefix
-        sparql_endpoint:
-          type: string
-          example: Ontology SPARQL endpoint
-        rdf_path:
-          type: string
-          example: rdf/om-2.0.rdf
-    OntologyDto:
-      required:
-      - created
-      - id
-      - prefix
-      - rdf
-      - sparql
-      - uri
-      type: object
-      properties:
-        id:
-          type: integer
-          format: int64
-        uri:
-          type: string
-          example: http://www.wikidata.org/
-        prefix:
-          type: string
-          example: wd
-        sparql:
-          type: boolean
-          example: true
-        rdf:
-          type: boolean
-          example: false
-        creator:
-          $ref: '#/components/schemas/UserBriefDto'
-        created:
-          type: string
-          format: date-time
-          example: 2021-03-12T15:26:21Z
-        uri_pattern:
-          type: string
-          example: http://www.wikidata.org/entity/.*
-        sparql_endpoint:
-          type: string
-          example: https://query.wikidata.org/sparql
-        rdf_path:
-          type: string
-          example: rdf/om-2.0.rdf
-    BannerMessageUpdateDto:
-      required:
-      - message
-      - type
-      type: object
-      properties:
-        type:
-          type: string
-          enum:
-          - error
-          - warning
-          - info
-        message:
-          type: string
-          example: Maintenance starts on 8am on Monday
-        link:
-          type: string
-          example: https://example.com
-        link_text:
-          type: string
-          example: More
-        display_start:
-          type: string
-          format: date-time
-          example: 2021-03-12T15:26:21Z
-        display_end:
-          type: string
-          format: date-time
-          example: 2021-03-12T15:26:21Z
-    BannerMessageBriefDto:
-      required:
-      - message
-      - type
-      type: object
-      properties:
-        type:
-          type: string
-          enum:
-          - error
-          - warning
-          - info
-        message:
-          type: string
-          example: Maintenance starts on 8am on Monday
-        link:
-          type: string
-          example: https://example.com
-        link_text:
-          type: string
-          example: More
-    ImageChangeDto:
-      required:
-      - dialect
-      - driver_class
-      - jdbc_method
-      - registry
-      type: object
-      properties:
-        registry:
-          type: string
-          example: docker.io/library
-        defaultPort:
-          maximum: 65535
-          minimum: 1024
-          type: integer
-          format: int32
-          example: 5432
-        dialect:
-          type: string
-          example: Postgres
-        driver_class:
-          type: string
-          example: org.postgresql.Driver
-        jdbc_method:
-          type: string
-          example: postgresql
-    CreatorSaveDto:
-      required:
-      - creator_name
-      - id
-      type: object
-      properties:
-        id:
-          type: integer
-          format: int64
-          example: 1
-        firstname:
-          type: string
-          example: Josiah
-        lastname:
-          type: string
-          example: Carberry
-        affiliation:
-          type: string
-          example: Wesleyan University
-        creator_name:
-          type: string
-          example: "Carberry, Josiah"
-        name_type:
-          type: string
-          example: Personal
-          enum:
-          - Personal
-          - Organizational
-        name_identifier:
-          type: string
-          example: 0000-0002-1825-0097
-        name_identifier_scheme:
-          type: string
-          example: ORCID
-          enum:
-          - ORCID
-          - ROR
-          - ISNI
-          - GRID
-        affiliation_identifier:
-          type: string
-          example: https://ror.org/04d836q62
-        affiliation_identifier_scheme:
-          type: string
-          example: ROR
-          enum:
-          - ROR
-          - GRID
-          - ISNI
-    IdentifierFunderSaveDto:
-      required:
-      - funder_name
-      - id
-      type: object
-      properties:
-        id:
-          type: integer
-          format: int64
-          example: 1
-        funder_name:
-          type: string
-          example: European Commission
-        funder_identifier:
-          type: string
-          example: http://doi.org/10.13039/501100000780
-        funder_identifier_type:
-          type: string
-          example: Crossref Funder ID
-          enum:
-          - Crossref Funder ID
-          - ROR
-          - GND
-          - ISNI
-          - Other
-        scheme_uri:
-          type: string
-          example: http://doi.org/
-        award_number:
-          type: string
-          example: "824087"
-        award_title:
-          type: string
-          example: EOSC-Life
-    IdentifierSaveDescriptionDto:
-      required:
-      - description
-      - id
-      type: object
-      properties:
-        id:
-          type: integer
-          format: int64
-          example: 1
-        description:
-          type: string
-          example: "Air quality reports at Stephansplatz, Vienna"
-        language:
-          type: string
-          example: en
-          enum:
-          - ab
-          - aa
-          - af
-          - ak
-          - sq
-          - am
-          - ar
-          - an
-          - hy
-          - as
-          - av
-          - ae
-          - ay
-          - az
-          - bm
-          - ba
-          - eu
-          - be
-          - bn
-          - bh
-          - bi
-          - bs
-          - br
-          - bg
-          - my
-          - ca
-          - km
-          - ch
-          - ce
-          - ny
-          - zh
-          - cu
-          - cv
-          - kw
-          - co
-          - cr
-          - hr
-          - cs
-          - da
-          - dv
-          - nl
-          - dz
-          - en
-          - eo
-          - et
-          - ee
-          - fo
-          - fj
-          - fi
-          - fr
-          - ff
-          - gd
-          - gl
-          - lg
-          - ka
-          - de
-          - ki
-          - el
-          - kl
-          - gn
-          - gu
-          - ht
-          - ha
-          - he
-          - hz
-          - hi
-          - ho
-          - hu
-          - is
-          - io
-          - ig
-          - id
-          - ia
-          - ie
-          - iu
-          - ik
-          - ga
-          - it
-          - ja
-          - jv
-          - kn
-          - kr
-          - ks
-          - kk
-          - rw
-          - kv
-          - kg
-          - ko
-          - kj
-          - ku
-          - ky
-          - lo
-          - la
-          - lv
-          - lb
-          - li
-          - ln
-          - lt
-          - lu
-          - mk
-          - mg
-          - ms
-          - ml
-          - mt
-          - gv
-          - mi
-          - mr
-          - mh
-          - ro
-          - mn
-          - na
-          - nv
-          - nd
-          - ng
-          - ne
-          - se
-          - "no"
-          - nb
-          - nn
-          - ii
-          - oc
-          - oj
-          - or
-          - om
-          - os
-          - pi
-          - pa
-          - ps
-          - fa
-          - pl
-          - pt
-          - qu
-          - rm
-          - rn
-          - ru
-          - sm
-          - sg
-          - sa
-          - sc
-          - sr
-          - sn
-          - sd
-          - si
-          - sk
-          - sl
-          - so
-          - st
-          - nr
-          - es
-          - su
-          - sw
-          - ss
-          - sv
-          - tl
-          - ty
-          - tg
-          - ta
-          - tt
-          - te
-          - th
-          - bo
-          - ti
-          - to
-          - ts
-          - tn
-          - tr
-          - tk
-          - tw
-          - ug
-          - uk
-          - ur
-          - uz
-          - ve
-          - vi
-          - vo
-          - wa
-          - cy
-          - fy
-          - wo
-          - xh
-          - yi
-          - yo
-          - za
-          - zu
-        type:
-          type: string
-          example: Abstract
-          enum:
-          - Abstract
-          - Methods
-          - SeriesInformation
-          - TableOfContents
-          - TechnicalInfo
-          - Other
-    IdentifierSaveDto:
-      required:
-      - creators
-      - database_id
-      - id
-      - publication_year
-      - publisher
-      - titles
-      - type
-      type: object
-      properties:
-        id:
-          type: integer
-          format: int64
-          example: 1
-        type:
-          type: string
-          example: database
-          enum:
-          - database
-          - subset
-          - table
-          - view
-        doi:
-          type: string
-          example: 10.1111/11111111
-        titles:
-          type: array
-          items:
-            $ref: '#/components/schemas/IdentifierSaveTitleDto'
-        descriptions:
-          type: array
-          items:
-            $ref: '#/components/schemas/IdentifierSaveDescriptionDto'
-        funders:
-          type: array
-          items:
-            $ref: '#/components/schemas/IdentifierFunderSaveDto'
-        licenses:
-          type: array
-          items:
-            $ref: '#/components/schemas/LicenseDto'
-        publisher:
-          type: string
-          example: TU Wien
-        language:
-          type: string
-          enum:
-          - ab
-          - aa
-          - af
-          - ak
-          - sq
-          - am
-          - ar
-          - an
-          - hy
-          - as
-          - av
-          - ae
-          - ay
-          - az
-          - bm
-          - ba
-          - eu
-          - be
-          - bn
-          - bh
-          - bi
-          - bs
-          - br
-          - bg
-          - my
-          - ca
-          - km
-          - ch
-          - ce
-          - ny
-          - zh
-          - cu
-          - cv
-          - kw
-          - co
-          - cr
-          - hr
-          - cs
-          - da
-          - dv
-          - nl
-          - dz
-          - en
-          - eo
-          - et
-          - ee
-          - fo
-          - fj
-          - fi
-          - fr
-          - ff
-          - gd
-          - gl
-          - lg
-          - ka
-          - de
-          - ki
-          - el
-          - kl
-          - gn
-          - gu
-          - ht
-          - ha
-          - he
-          - hz
-          - hi
-          - ho
-          - hu
-          - is
-          - io
-          - ig
-          - id
-          - ia
-          - ie
-          - iu
-          - ik
-          - ga
-          - it
-          - ja
-          - jv
-          - kn
-          - kr
-          - ks
-          - kk
-          - rw
-          - kv
-          - kg
-          - ko
-          - kj
-          - ku
-          - ky
-          - lo
-          - la
-          - lv
-          - lb
-          - li
-          - ln
-          - lt
-          - lu
-          - mk
-          - mg
-          - ms
-          - ml
-          - mt
-          - gv
-          - mi
-          - mr
-          - mh
-          - ro
-          - mn
-          - na
-          - nv
-          - nd
-          - ng
-          - ne
-          - se
-          - "no"
-          - nb
-          - nn
-          - ii
-          - oc
-          - oj
-          - or
-          - om
-          - os
-          - pi
-          - pa
-          - ps
-          - fa
-          - pl
-          - pt
-          - qu
-          - rm
-          - rn
-          - ru
-          - sm
-          - sg
-          - sa
-          - sc
-          - sr
-          - sn
-          - sd
-          - si
-          - sk
-          - sl
-          - so
-          - st
-          - nr
-          - es
-          - su
-          - sw
-          - ss
-          - sv
-          - tl
-          - ty
-          - tg
-          - ta
-          - tt
-          - te
-          - th
-          - bo
-          - ti
-          - to
-          - ts
-          - tn
-          - tr
-          - tk
-          - tw
-          - ug
-          - uk
-          - ur
-          - uz
-          - ve
-          - vi
-          - vo
-          - wa
-          - cy
-          - fy
-          - wo
-          - xh
-          - yi
-          - yo
-          - za
-          - zu
-        creators:
-          type: array
-          items:
-            $ref: '#/components/schemas/CreatorSaveDto'
-        database_id:
-          type: integer
-          format: int64
-          example: 1
-        query_id:
-          type: integer
-          format: int64
-        view_id:
-          type: integer
-          format: int64
-        table_id:
-          type: integer
-          format: int64
-        publication_day:
-          type: integer
-          format: int32
-          example: 15
-        publication_month:
-          type: integer
-          format: int32
-          example: 12
-        publication_year:
-          type: integer
-          format: int32
-          example: 2022
-        related_identifiers:
-          type: array
-          items:
-            $ref: '#/components/schemas/RelatedIdentifierSaveDto'
-    IdentifierSaveTitleDto:
-      required:
-      - id
-      - title
-      type: object
-      properties:
-        id:
-          type: integer
-          format: int64
-          example: 1
-        title:
-          type: string
-          example: Airquality Demonstrator
-        language:
-          type: string
-          example: en
-          enum:
-          - ab
-          - aa
-          - af
-          - ak
-          - sq
-          - am
-          - ar
-          - an
-          - hy
-          - as
-          - av
-          - ae
-          - ay
-          - az
-          - bm
-          - ba
-          - eu
-          - be
-          - bn
-          - bh
-          - bi
-          - bs
-          - br
-          - bg
-          - my
-          - ca
-          - km
-          - ch
-          - ce
-          - ny
-          - zh
-          - cu
-          - cv
-          - kw
-          - co
-          - cr
-          - hr
-          - cs
-          - da
-          - dv
-          - nl
-          - dz
-          - en
-          - eo
-          - et
-          - ee
-          - fo
-          - fj
-          - fi
-          - fr
-          - ff
-          - gd
-          - gl
-          - lg
-          - ka
-          - de
-          - ki
-          - el
-          - kl
-          - gn
-          - gu
-          - ht
-          - ha
-          - he
-          - hz
-          - hi
-          - ho
-          - hu
-          - is
-          - io
-          - ig
-          - id
-          - ia
-          - ie
-          - iu
-          - ik
-          - ga
-          - it
-          - ja
-          - jv
-          - kn
-          - kr
-          - ks
-          - kk
-          - rw
-          - kv
-          - kg
-          - ko
-          - kj
-          - ku
-          - ky
-          - lo
-          - la
-          - lv
-          - lb
-          - li
-          - ln
-          - lt
-          - lu
-          - mk
-          - mg
-          - ms
-          - ml
-          - mt
-          - gv
-          - mi
-          - mr
-          - mh
-          - ro
-          - mn
-          - na
-          - nv
-          - nd
-          - ng
-          - ne
-          - se
-          - "no"
-          - nb
-          - nn
-          - ii
-          - oc
-          - oj
-          - or
-          - om
-          - os
-          - pi
-          - pa
-          - ps
-          - fa
-          - pl
-          - pt
-          - qu
-          - rm
-          - rn
-          - ru
-          - sm
-          - sg
-          - sa
-          - sc
-          - sr
-          - sn
-          - sd
-          - si
-          - sk
-          - sl
-          - so
-          - st
-          - nr
-          - es
-          - su
-          - sw
-          - ss
-          - sv
-          - tl
-          - ty
-          - tg
-          - ta
-          - tt
-          - te
-          - th
-          - bo
-          - ti
-          - to
-          - ts
-          - tn
-          - tr
-          - tk
-          - tw
-          - ug
-          - uk
-          - ur
-          - uz
-          - ve
-          - vi
-          - vo
-          - wa
-          - cy
-          - fy
-          - wo
-          - xh
-          - yi
-          - yo
-          - za
-          - zu
-        type:
-          type: string
-          example: Subtitle
-          enum:
-          - AlternativeTitle
-          - Subtitle
-          - TranslatedTitle
-          - Other
-    RelatedIdentifierSaveDto:
-      required:
-      - id
-      - relation
-      - type
-      - value
-      type: object
-      properties:
-        id:
-          type: integer
-          format: int64
-          example: 1
-        value:
-          type: string
-          example: 10.70124/dc4zh-9ce78
-        type:
-          type: string
-          example: DOI
-          enum:
-          - DOI
-          - URL
-          - URN
-          - ARK
-          - arXiv
-          - bibcode
-          - EAN13
-          - EISSN
-          - Handle
-          - IGSN
-          - ISBN
-          - ISTC
-          - LISSN
-          - LSID
-          - PMID
-          - PURL
-          - UPC
-          - w3id
-        relation:
-          type: string
-          example: Cites
-          enum:
-          - IsCitedBy
-          - Cites
-          - IsSupplementTo
-          - IsSupplementedBy
-          - IsContinuedBy
-          - Continues
-          - IsDescribedBy
-          - Describes
-          - HasMetadata
-          - IsMetadataFor
-          - HasVersion
-          - IsVersionOf
-          - IsNewVersionOf
-          - IsPreviousVersionOf
-          - IsPartOf
-          - HasPart
-          - IsPublishedIn
-          - IsReferencedBy
-          - References
-          - IsDocumentedBy
-          - Documents
-          - IsCompiledBy
-          - Compiles
-          - IsVariantFormOf
-          - IsOriginalFormOf
-          - IsIdenticalTo
-          - IsReviewedBy
-          - Reviews
-          - IsDerivedFrom
-          - IsSourceOf
-          - IsRequiredBy
-          - Requires
-          - IsObsoletedBy
-          - Obsoletes
-    DatabaseModifyVisibilityDto:
-      required:
-      - is_public
-      type: object
-      properties:
-        is_public:
-          type: boolean
-          example: true
-    ColumnStatisticDto:
-      required:
-      - mean
-      - median
-      - std_dev
-      - val_max
-      - val_min
-      type: object
-      properties:
-        mean:
-          type: number
-        median:
-          type: number
-        std_dev:
-          type: number
-        val_min:
-          type: number
-        val_max:
-          type: number
-    TableStatisticDto:
-      required:
-      - columns
-      type: object
-      properties:
-        columns:
-          type: object
-          additionalProperties:
-            $ref: '#/components/schemas/ColumnStatisticDto'
-    ColumnSemanticsUpdateDto:
-      type: object
-      properties:
-        concept_uri:
-          type: string
-        unit_uri:
-          type: string
-    DatabaseTransferDto:
-      required:
-      - id
-      type: object
-      properties:
-        id:
-          type: string
-          format: uuid
-    DatabaseModifyImageDto:
-      type: object
-      properties:
-        key:
-          type: string
-    UpdateDatabaseAccessDto:
-      required:
-      - type
-      type: object
-      properties:
-        type:
-          type: string
-          enum:
-          - read
-          - write_own
-          - write_all
-    SignupRequestDto:
-      required:
-      - email
-      - password
-      - username
-      type: object
-      properties:
-        username:
-          pattern: "^[a-z0-9]{3,}$"
-          type: string
-          example: user
-        email:
-          type: string
-          example: user@example.com
-        password:
-          type: string
-    LoginRequestDto:
-      required:
-      - password
-      - username
-      type: object
-      properties:
-        username:
-          type: string
-          example: user
-        password:
-          type: string
-    OntologyCreateDto:
-      required:
-      - prefix
-      - uri
-      type: object
-      properties:
-        uri:
-          type: string
-          example: Ontology URI
-        prefix:
-          type: string
-          example: Ontology prefix
-        sparql_endpoint:
-          type: string
-          example: Ontology SPARQL endpoint
-    BannerMessageCreateDto:
-      required:
-      - message
-      - type
-      type: object
-      properties:
-        type:
-          type: string
-          enum:
-          - error
-          - warning
-          - info
-        message:
-          type: string
-          example: Maintenance starts on 8am on Monday
-        link:
-          type: string
-          example: https://example.com
-        link_text:
-          type: string
-          example: More
-        display_start:
-          type: string
-          format: date-time
-          example: 2021-03-12T15:26:21Z
-        display_end:
-          type: string
-          format: date-time
-          example: 2021-03-12T15:26:21Z
-    ImageCreateDto:
-      required:
-      - default_port
-      - dialect
-      - driver_class
-      - jdbc_method
-      - name
-      - registry
-      - version
-      type: object
-      properties:
-        registry:
-          type: string
-          example: docker.io/library
-        name:
-          type: string
-          example: mariadb
-        version:
-          type: string
-        dialect:
-          type: string
-        driver_class:
-          type: string
-        jdbc_method:
-          type: string
-        default_port:
-          maximum: 65535
-          minimum: 1024
-          type: integer
-          format: int32
-    IdentifierCreateDto:
-      required:
-      - creators
-      - database_id
-      - publication_year
-      - publisher
-      - titles
-      - type
-      type: object
-      properties:
-        type:
-          type: string
-          example: database
-          enum:
-          - database
-          - subset
-          - table
-          - view
-        doi:
-          type: string
-          example: 10.1111/11111111
-        titles:
-          type: array
-          items:
-            $ref: '#/components/schemas/IdentifierSaveTitleDto'
-        descriptions:
-          type: array
-          items:
-            $ref: '#/components/schemas/IdentifierSaveDescriptionDto'
-        funders:
-          type: array
-          items:
-            $ref: '#/components/schemas/IdentifierFunderSaveDto'
-        licenses:
-          type: array
-          items:
-            $ref: '#/components/schemas/LicenseDto'
-        publisher:
-          type: string
-          example: TU Wien
-        language:
-          type: string
-          enum:
-          - ab
-          - aa
-          - af
-          - ak
-          - sq
-          - am
-          - ar
-          - an
-          - hy
-          - as
-          - av
-          - ae
-          - ay
-          - az
-          - bm
-          - ba
-          - eu
-          - be
-          - bn
-          - bh
-          - bi
-          - bs
-          - br
-          - bg
-          - my
-          - ca
-          - km
-          - ch
-          - ce
-          - ny
-          - zh
-          - cu
-          - cv
-          - kw
-          - co
-          - cr
-          - hr
-          - cs
-          - da
-          - dv
-          - nl
-          - dz
-          - en
-          - eo
-          - et
-          - ee
-          - fo
-          - fj
-          - fi
-          - fr
-          - ff
-          - gd
-          - gl
-          - lg
-          - ka
-          - de
-          - ki
-          - el
-          - kl
-          - gn
-          - gu
-          - ht
-          - ha
-          - he
-          - hz
-          - hi
-          - ho
-          - hu
-          - is
-          - io
-          - ig
-          - id
-          - ia
-          - ie
-          - iu
-          - ik
-          - ga
-          - it
-          - ja
-          - jv
-          - kn
-          - kr
-          - ks
-          - kk
-          - rw
-          - kv
-          - kg
-          - ko
-          - kj
-          - ku
-          - ky
-          - lo
-          - la
-          - lv
-          - lb
-          - li
-          - ln
-          - lt
-          - lu
-          - mk
-          - mg
-          - ms
-          - ml
-          - mt
-          - gv
-          - mi
-          - mr
-          - mh
-          - ro
-          - mn
-          - na
-          - nv
-          - nd
-          - ng
-          - ne
-          - se
-          - "no"
-          - nb
-          - nn
-          - ii
-          - oc
-          - oj
-          - or
-          - om
-          - os
-          - pi
-          - pa
-          - ps
-          - fa
-          - pl
-          - pt
-          - qu
-          - rm
-          - rn
-          - ru
-          - sm
-          - sg
-          - sa
-          - sc
-          - sr
-          - sn
-          - sd
-          - si
-          - sk
-          - sl
-          - so
-          - st
-          - nr
-          - es
-          - su
-          - sw
-          - ss
-          - sv
-          - tl
-          - ty
-          - tg
-          - ta
-          - tt
-          - te
-          - th
-          - bo
-          - ti
-          - to
-          - ts
-          - tn
-          - tr
-          - tk
-          - tw
-          - ug
-          - uk
-          - ur
-          - uz
-          - ve
-          - vi
-          - vo
-          - wa
-          - cy
-          - fy
-          - wo
-          - xh
-          - yi
-          - yo
-          - za
-          - zu
-        creators:
-          type: array
-          items:
-            $ref: '#/components/schemas/CreatorSaveDto'
-        database_id:
-          type: integer
-          format: int64
-          example: 1
-        query_id:
-          type: integer
-          format: int64
-        view_id:
-          type: integer
-          format: int64
-        table_id:
-          type: integer
-          format: int64
-        publication_day:
-          type: integer
-          format: int32
-          example: 15
-        publication_month:
-          type: integer
-          format: int32
-          example: 12
-        publication_year:
-          type: integer
-          format: int32
-          example: 2022
-        related_identifiers:
-          type: array
-          items:
-            $ref: '#/components/schemas/RelatedIdentifierSaveDto'
-    DatabaseCreateDto:
-      required:
-      - container_id
-      - is_public
-      - name
-      type: object
-      properties:
-        name:
-          type: string
-          example: Air Quality
-        container_id:
-          type: integer
-          format: int64
-          example: 1
-        is_public:
-          type: boolean
-          example: true
-    ViewCreateDto:
-      required:
-      - is_public
-      - name
-      - query
-      type: object
-      properties:
-        name:
-          type: string
-          example: Air Quality
-        query:
-          type: string
-          example: SELECT `id` FROM `air_quality`
-        is_public:
-          type: boolean
-          example: true
-    ViewBriefDto:
-      required:
-      - created
-      - creator
-      - database_id
-      - id
-      - internal_name
-      - name
-      - query
-      - query_hash
-      type: object
-      properties:
-        id:
-          type: integer
-          format: int64
-        name:
-          type: string
-          example: Air Quality
-        identifier:
-          $ref: '#/components/schemas/IdentifierDto'
-        query:
-          type: string
-          example: SELECT `id` FROM `air_quality` ORDER BY `value` DESC
-        created:
-          type: string
-          format: date-time
-          example: 2021-03-12T15:26:21Z
-        creator:
-          $ref: '#/components/schemas/UserDto'
-        database_id:
-          type: integer
-          format: int64
-        internal_name:
-          type: string
-          example: air_quality
-        is_public:
-          type: boolean
-          example: true
-        initial_view:
-          type: boolean
-          description: True if it is the default view for the database
-          example: true
-        query_hash:
-          type: string
-          example: 7de03e818900b6ea6d58ad0306d4a741d658c6df3d1964e89ed2395d8c7e7916
-        last_modified:
-          type: string
-          format: date-time
-          example: 2021-03-12T15:26:21Z
-    ColumnCreateDto:
-      required:
-      - name
-      - null_allowed
-      - type
-      type: object
-      properties:
-        name:
-          type: string
-          example: Date
-        type:
-          type: string
-          example: string
-          enum:
-          - char
-          - varchar
-          - binary
-          - varbinary
-          - tinyblob
-          - tinytext
-          - text
-          - blob
-          - mediumtext
-          - mediumblob
-          - longtext
-          - longblob
-          - enum
-          - set
-          - bit
-          - tinyint
-          - bool
-          - smallint
-          - mediumint
-          - int
-          - bigint
-          - float
-          - double
-          - decimal
-          - date
-          - datetime
-          - timestamp
-          - time
-          - year
-        size:
-          type: integer
-          format: int64
-          example: 255
-        d:
-          type: integer
-          format: int64
-          example: 0
-        dfid:
-          type: integer
-          description: date format id
-          format: int64
-        enums:
-          type: array
-          description: "enum values, only considered when type = ENUM"
-          items:
-            type: string
-            description: "enum values, only considered when type = ENUM"
-        sets:
-          type: array
-          description: "set values, only considered when type = SET"
-          items:
-            type: string
-            description: "set values, only considered when type = SET"
-        index_length:
-          type: integer
-          format: int64
-        null_allowed:
-          type: boolean
-          example: true
-    ConstraintsCreateDto:
-      required:
-      - checks
-      - foreign_keys
-      - primary_key
-      - uniques
-      type: object
-      properties:
-        uniques:
-          type: array
-          items:
-            type: array
-            items:
-              type: string
-        checks:
-          uniqueItems: true
-          type: array
-          items:
-            type: string
-        foreign_keys:
-          type: array
-          items:
-            $ref: '#/components/schemas/ForeignKeyCreateDto'
-        primary_key:
-          uniqueItems: true
-          type: array
-          items:
-            type: string
-    ForeignKeyCreateDto:
-      required:
-      - columns
-      - referenced_columns
-      - referenced_table
-      type: object
-      properties:
-        columns:
-          type: array
-          items:
-            type: string
-        referenced_table:
-          type: string
-        referenced_columns:
-          type: array
-          items:
-            type: string
-        on_update:
-          type: string
-          enum:
-          - restrict
-          - cascade
-          - set_null
-          - no_action
-          - set_default
-        on_delete:
-          type: string
-          enum:
-          - restrict
-          - cascade
-          - set_null
-          - no_action
-          - set_default
-    TableCreateDto:
-      required:
-      - columns
-      - constraints
-      - name
-      type: object
-      properties:
-        name:
-          maxLength: 64
-          minLength: 1
-          type: string
-          example: Air Quality
-        description:
-          maxLength: 180
-          minLength: 0
-          type: string
-          example: Air Quality in Austria
-        columns:
-          type: array
-          items:
-            $ref: '#/components/schemas/ColumnCreateDto'
-        constraints:
-          $ref: '#/components/schemas/ConstraintsCreateDto'
-        need_sequence:
-          type: boolean
-    ContainerCreateDto:
-      required:
-      - host
-      - image_id
-      - name
-      - privileged_password
-      - privileged_username
-      - sidecar_host
-      - sidecar_port
-      type: object
-      properties:
-        name:
-          type: string
-          example: Air Quality
-        host:
-          type: string
-          description: Hostname of container
-        port:
-          type: integer
-          description: Port of container
-          format: int32
-        image_id:
-          type: integer
-          description: Image ID
-          format: int64
-        sidecar_host:
-          type: string
-        sidecar_port:
-          type: integer
-          format: int32
-        ui_host:
-          type: string
-        ui_port:
-          type: integer
-          format: int32
-        privileged_username:
-          type: string
-          description: Username of privileged user
-          example: root
-        privileged_password:
-          type: string
-          description: Password of privileged user
-    ContainerBriefDto:
-      required:
-      - created
-      - hash
-      - id
-      - image
-      - internal_name
-      - name
-      - running
-      type: object
-      properties:
-        id:
-          type: integer
-          format: int64
-        hash:
-          type: string
-          example: f829dd8a884182d0da846f365dee1221fd16610a14c81b8f9f295ff162749e50
-        name:
-          type: string
-          example: Air Quality
-        image:
-          $ref: '#/components/schemas/ImageBriefDto'
-        running:
-          type: boolean
-          example: true
-        created:
-          type: string
-          format: date-time
-          example: 2021-03-12T15:26:21Z
-        internal_name:
-          type: string
-          example: air-quality
-    ImageBriefDto:
-      required:
-      - id
-      - jdbc_method
-      - name
-      - version
-      type: object
-      properties:
-        id:
-          type: integer
-          format: int64
-        name:
-          type: string
-          example: mariadb
-        version:
-          type: string
-          example: "10.5"
-        jdbc_method:
-          type: string
-          example: mariadb
-    EntityDto:
-      required:
-      - label
-      - uri
-      type: object
-      properties:
-        uri:
-          type: string
-          example: https://www.wikidata.org/entity/Q1686799
-        label:
-          type: string
-          example: Apache Jena
-        description:
-          type: string
-          example: open source semantic web framework for Java
-    OaiListIdentifiersParameters:
-      type: object
-      properties:
-        metadataPrefix:
-          type: string
-        from:
-          type: string
-        until:
-          type: string
-        set:
-          type: string
-        resumptionToken:
-          type: string
-        parametersString:
-          type: string
-        fromDate:
-          type: string
-          format: date-time
-        untilDate:
-          type: string
-          format: date-time
-    BannerMessageDto:
-      required:
-      - id
-      - message
-      - type
-      type: object
-      properties:
-        id:
-          type: integer
-          format: int64
-        type:
-          type: string
-          enum:
-          - error
-          - warning
-          - info
-        message:
-          type: string
-          example: Maintenance starts on 8am on Monday
-        link:
-          type: string
-          example: https://example.com
-        link_text:
-          type: string
-          example: More
-        display_start:
-          type: string
-          format: date-time
-          example: 2021-03-12T15:26:21Z
-        display_end:
-          type: string
-          format: date-time
-          example: 2021-03-12T15:26:21Z
-    Constraints:
-      type: object
-      properties:
-        uniques:
-          type: array
-          items:
-            $ref: '#/components/schemas/Unique'
-        foreignKeys:
-          type: array
-          items:
-            $ref: '#/components/schemas/ForeignKey'
-        checks:
-          uniqueItems: true
-          type: array
-          items:
-            type: string
-        primaryKey:
-          type: array
-          items:
-            $ref: '#/components/schemas/PrimaryKey'
-    Container:
-      type: object
-      properties:
-        id:
-          type: integer
-          format: int64
-        name:
-          type: string
-        internalName:
-          type: string
-        host:
-          type: string
-        port:
-          type: integer
-          format: int32
-        sidecarHost:
-          type: string
-        sidecarPort:
-          type: integer
-          format: int32
-        uiHost:
-          type: string
-        uiPort:
-          type: integer
-          format: int32
-        uiAdditionalFlags:
-          type: string
-        databases:
-          type: array
-          items:
-            $ref: '#/components/schemas/Database'
-        image:
-          $ref: '#/components/schemas/ContainerImage'
-        created:
-          type: string
-          format: date-time
-        lastModified:
-          type: string
-          format: date-time
-        privilegedUsername:
-          type: string
-        privilegedPassword:
-          type: string
-    ContainerImage:
-      type: object
-      properties:
-        id:
-          type: integer
-          format: int64
-        name:
-          type: string
-        registry:
-          type: string
-        version:
-          type: string
-        driverClass:
-          type: string
-        dialect:
-          type: string
-        jdbcMethod:
-          type: string
-        defaultPort:
-          type: integer
-          format: int32
-        dateFormats:
-          type: array
-          items:
-            $ref: '#/components/schemas/ContainerImageDate'
-        containers:
-          type: array
-          items:
-            $ref: '#/components/schemas/Container'
-        created:
-          type: string
-          format: date-time
-        lastModified:
-          type: string
-          format: date-time
-    ContainerImageDate:
-      type: object
-      properties:
-        id:
-          type: integer
-          format: int64
-        iid:
-          type: integer
-          format: int64
-        image:
-          $ref: '#/components/schemas/ContainerImage'
-        example:
-          type: string
-        hasTime:
-          type: boolean
-        databaseFormat:
-          type: string
-        unixFormat:
-          type: string
-        createdAt:
-          type: string
-          format: date-time
-    Creator:
-      type: object
-      properties:
-        id:
-          type: integer
-          format: int64
-        firstname:
-          type: string
-        lastname:
-          type: string
-        creatorName:
-          type: string
-        nameType:
-          type: string
-          enum:
-          - PERSONAL
-          - ORGANIZATIONAL
-        nameIdentifier:
-          type: string
-        nameIdentifierScheme:
-          type: string
-          enum:
-          - ORCID
-          - ROR
-          - ISNI
-          - GRID
-        nameIdentifierSchemeUri:
-          type: string
-        affiliation:
-          type: string
-        affiliationIdentifier:
-          type: string
-        affiliationIdentifierScheme:
-          type: string
-          enum:
-          - ROR
-          - GRID
-          - ISNI
-        affiliationIdentifierSchemeUri:
-          type: string
-        identifier:
-          $ref: '#/components/schemas/Identifier'
-        apaName:
-          type: string
-        bibtexName:
-          type: string
-        ieeeName:
-          type: string
-    Database:
-      type: object
-      properties:
-        id:
-          type: integer
-          format: int64
-        createdBy:
-          type: string
-          format: uuid
-        creator:
-          $ref: '#/components/schemas/User'
-        ownedBy:
-          type: string
-          format: uuid
-        owner:
-          $ref: '#/components/schemas/User'
-        cid:
-          type: integer
-          format: int64
-        container:
-          $ref: '#/components/schemas/Container'
-        name:
-          type: string
-        internalName:
-          type: string
-        exchangeName:
-          type: string
-        description:
-          type: string
-        contactPerson:
-          type: string
-          format: uuid
-        contact:
-          $ref: '#/components/schemas/User'
-        identifiers:
-          type: array
-          items:
-            $ref: '#/components/schemas/Identifier'
-        subsets:
-          type: array
-          items:
-            $ref: '#/components/schemas/Identifier'
-        tables:
-          type: array
-          items:
-            $ref: '#/components/schemas/Table'
-        views:
-          type: array
-          items:
-            $ref: '#/components/schemas/View'
-        accesses:
-          type: array
-          items:
-            $ref: '#/components/schemas/DatabaseAccess'
-        isPublic:
-          type: boolean
-        image:
-          type: array
-          items:
-            type: string
-            format: byte
-        created:
-          type: string
-          format: date-time
-        lastModified:
-          type: string
-          format: date-time
-    DatabaseAccess:
-      type: object
-      properties:
-        huserid:
-          type: string
-          format: uuid
-        user:
-          $ref: '#/components/schemas/User'
-        hdbid:
-          type: integer
-          format: int64
-        database:
-          $ref: '#/components/schemas/Database'
-        type:
-          type: string
-          enum:
-          - AccessType.READ
-          - AccessType.WRITE_OWN
-          - AccessType.WRITE_ALL
-        created:
-          type: string
-          format: date-time
-    ForeignKey:
-      type: object
-      properties:
-        fkid:
-          type: integer
-          format: int64
-        name:
-          type: string
-        table:
-          $ref: '#/components/schemas/Table'
-        referencedTable:
-          $ref: '#/components/schemas/Table'
-        references:
-          type: array
-          items:
-            $ref: '#/components/schemas/ForeignKeyReference'
-        onUpdate:
-          type: string
-          enum:
-          - ReferenceType.RESTRICT
-          - ReferenceType.CASCADE
-          - ReferenceType.SET_NULL
-          - ReferenceType.NO_ACTION
-          - ReferenceType.SET_DEFAULT
-        onDelete:
-          type: string
-          enum:
-          - ReferenceType.RESTRICT
-          - ReferenceType.CASCADE
-          - ReferenceType.SET_NULL
-          - ReferenceType.NO_ACTION
-          - ReferenceType.SET_DEFAULT
-    ForeignKeyReference:
-      type: object
-      properties:
-        id:
-          type: integer
-          format: int64
-        foreignKey:
-          $ref: '#/components/schemas/ForeignKey'
-        column:
-          $ref: '#/components/schemas/TableColumn'
-        referencedColumn:
-          $ref: '#/components/schemas/TableColumn'
-    Identifier:
-      type: object
-      properties:
-        id:
-          type: integer
-          format: int64
-        queryId:
-          type: integer
-          format: int64
-        tableId:
-          type: integer
-          format: int64
-        viewId:
-          type: integer
-          format: int64
-        creators:
-          type: array
-          items:
-            $ref: '#/components/schemas/Creator'
-        publisher:
-          type: string
-        status:
-          type: string
-          enum:
-          - DRAFT
-          - PUBLISHED
-        language:
-          type: string
-          enum:
-          - ab
-          - aa
-          - af
-          - ak
-          - sq
-          - am
-          - ar
-          - an
-          - hy
-          - as
-          - av
-          - ae
-          - ay
-          - az
-          - bm
-          - ba
-          - eu
-          - be
-          - bn
-          - bh
-          - bi
-          - bs
-          - br
-          - bg
-          - my
-          - ca
-          - km
-          - ch
-          - ce
-          - ny
-          - zh
-          - cu
-          - cv
-          - kw
-          - co
-          - cr
-          - hr
-          - cs
-          - da
-          - dv
-          - nl
-          - dz
-          - en
-          - eo
-          - et
-          - ee
-          - fo
-          - fj
-          - fi
-          - fr
-          - ff
-          - gd
-          - gl
-          - lg
-          - ka
-          - de
-          - ki
-          - el
-          - kl
-          - gn
-          - gu
-          - ht
-          - ha
-          - he
-          - hz
-          - hi
-          - ho
-          - hu
-          - is
-          - io
-          - ig
-          - id
-          - ia
-          - ie
-          - iu
-          - ik
-          - ga
-          - it
-          - ja
-          - jv
-          - kn
-          - kr
-          - ks
-          - kk
-          - rw
-          - kv
-          - kg
-          - ko
-          - kj
-          - ku
-          - ky
-          - lo
-          - la
-          - lv
-          - lb
-          - li
-          - ln
-          - lt
-          - lu
-          - mk
-          - mg
-          - ms
-          - ml
-          - mt
-          - gv
-          - mi
-          - mr
-          - mh
-          - ro
-          - mn
-          - na
-          - nv
-          - nd
-          - ng
-          - ne
-          - se
-          - "no"
-          - nb
-          - nn
-          - ii
-          - oc
-          - oj
-          - or
-          - om
-          - os
-          - pi
-          - pa
-          - ps
-          - fa
-          - pl
-          - pt
-          - qu
-          - rm
-          - rn
-          - ru
-          - sm
-          - sg
-          - sa
-          - sc
-          - sr
-          - sn
-          - sd
-          - si
-          - sk
-          - sl
-          - so
-          - st
-          - nr
-          - es
-          - su
-          - sw
-          - ss
-          - sv
-          - tl
-          - ty
-          - tg
-          - ta
-          - tt
-          - te
-          - th
-          - bo
-          - ti
-          - to
-          - ts
-          - tn
-          - tr
-          - tk
-          - tw
-          - ug
-          - uk
-          - ur
-          - uz
-          - ve
-          - vi
-          - vo
-          - wa
-          - cy
-          - fy
-          - wo
-          - xh
-          - yi
-          - yo
-          - za
-          - zu
-        titles:
-          type: array
-          items:
-            $ref: '#/components/schemas/IdentifierTitle'
-        descriptions:
-          type: array
-          items:
-            $ref: '#/components/schemas/IdentifierDescription'
-        funders:
-          type: array
-          items:
-            $ref: '#/components/schemas/IdentifierFunder'
-        licenses:
-          type: array
-          items:
-            $ref: '#/components/schemas/License'
-        type:
-          type: string
-          enum:
-          - DATABASE
-          - SUBSET
-          - TABLE
-          - VIEW
-        query:
-          type: string
-        queryNormalized:
-          type: string
-        queryHash:
-          type: string
-        resultHash:
-          type: string
-        execution:
-          type: string
-          format: date-time
-        resultNumber:
-          type: integer
-          format: int64
-        publicationYear:
-          type: integer
-          format: int32
-        publicationMonth:
-          type: integer
-          format: int32
-        publicationDay:
-          type: integer
-          format: int32
-        database:
-          $ref: '#/components/schemas/Database'
-        relatedIdentifiers:
-          type: array
-          items:
-            $ref: '#/components/schemas/RelatedIdentifier'
-        doi:
-          type: string
-        createdBy:
-          type: string
-          format: uuid
-        creator:
-          $ref: '#/components/schemas/User'
-        created:
-          type: string
-          format: date-time
-        lastModified:
-          type: string
-          format: date-time
-    IdentifierDescription:
-      type: object
-      properties:
-        id:
-          type: integer
-          format: int64
-        description:
-          type: string
-        descriptionType:
-          type: string
-          enum:
-          - Abstract
-          - Methods
-          - SeriesInformation
-          - TableOfContents
-          - TechnicalInfo
-          - Other
-        language:
-          type: string
-          enum:
-          - ab
-          - aa
-          - af
-          - ak
-          - sq
-          - am
-          - ar
-          - an
-          - hy
-          - as
-          - av
-          - ae
-          - ay
-          - az
-          - bm
-          - ba
-          - eu
-          - be
-          - bn
-          - bh
-          - bi
-          - bs
-          - br
-          - bg
-          - my
-          - ca
-          - km
-          - ch
-          - ce
-          - ny
-          - zh
-          - cu
-          - cv
-          - kw
-          - co
-          - cr
-          - hr
-          - cs
-          - da
-          - dv
-          - nl
-          - dz
-          - en
-          - eo
-          - et
-          - ee
-          - fo
-          - fj
-          - fi
-          - fr
-          - ff
-          - gd
-          - gl
-          - lg
-          - ka
-          - de
-          - ki
-          - el
-          - kl
-          - gn
-          - gu
-          - ht
-          - ha
-          - he
-          - hz
-          - hi
-          - ho
-          - hu
-          - is
-          - io
-          - ig
-          - id
-          - ia
-          - ie
-          - iu
-          - ik
-          - ga
-          - it
-          - ja
-          - jv
-          - kn
-          - kr
-          - ks
-          - kk
-          - rw
-          - kv
-          - kg
-          - ko
-          - kj
-          - ku
-          - ky
-          - lo
-          - la
-          - lv
-          - lb
-          - li
-          - ln
-          - lt
-          - lu
-          - mk
-          - mg
-          - ms
-          - ml
-          - mt
-          - gv
-          - mi
-          - mr
-          - mh
-          - ro
-          - mn
-          - na
-          - nv
-          - nd
-          - ng
-          - ne
-          - se
-          - "no"
-          - nb
-          - nn
-          - ii
-          - oc
-          - oj
-          - or
-          - om
-          - os
-          - pi
-          - pa
-          - ps
-          - fa
-          - pl
-          - pt
-          - qu
-          - rm
-          - rn
-          - ru
-          - sm
-          - sg
-          - sa
-          - sc
-          - sr
-          - sn
-          - sd
-          - si
-          - sk
-          - sl
-          - so
-          - st
-          - nr
-          - es
-          - su
-          - sw
-          - ss
-          - sv
-          - tl
-          - ty
-          - tg
-          - ta
-          - tt
-          - te
-          - th
-          - bo
-          - ti
-          - to
-          - ts
-          - tn
-          - tr
-          - tk
-          - tw
-          - ug
-          - uk
-          - ur
-          - uz
-          - ve
-          - vi
-          - vo
-          - wa
-          - cy
-          - fy
-          - wo
-          - xh
-          - yi
-          - yo
-          - za
-          - zu
-        identifier:
-          $ref: '#/components/schemas/Identifier'
-    IdentifierFunder:
-      type: object
-      properties:
-        id:
-          type: integer
-          format: int64
-        funderName:
-          type: string
-        funderIdentifier:
-          type: string
-        funderIdentifierType:
-          type: string
-          enum:
-          - CROSSREF_FUNDER_ID
-          - ROR
-          - GND
-          - ISNI
-          - OTHER
-        schemeUri:
-          type: string
-        awardNumber:
-          type: string
-        awardTitle:
-          type: string
-        identifier:
-          $ref: '#/components/schemas/Identifier'
-    IdentifierTitle:
-      type: object
-      properties:
-        id:
-          type: integer
-          format: int64
-        title:
-          type: string
-        titleType:
-          type: string
-          enum:
-          - AlternativeTitle
-          - Subtitle
-          - TranslatedTitle
-          - Other
-        language:
-          type: string
-          enum:
-          - ab
-          - aa
-          - af
-          - ak
-          - sq
-          - am
-          - ar
-          - an
-          - hy
-          - as
-          - av
-          - ae
-          - ay
-          - az
-          - bm
-          - ba
-          - eu
-          - be
-          - bn
-          - bh
-          - bi
-          - bs
-          - br
-          - bg
-          - my
-          - ca
-          - km
-          - ch
-          - ce
-          - ny
-          - zh
-          - cu
-          - cv
-          - kw
-          - co
-          - cr
-          - hr
-          - cs
-          - da
-          - dv
-          - nl
-          - dz
-          - en
-          - eo
-          - et
-          - ee
-          - fo
-          - fj
-          - fi
-          - fr
-          - ff
-          - gd
-          - gl
-          - lg
-          - ka
-          - de
-          - ki
-          - el
-          - kl
-          - gn
-          - gu
-          - ht
-          - ha
-          - he
-          - hz
-          - hi
-          - ho
-          - hu
-          - is
-          - io
-          - ig
-          - id
-          - ia
-          - ie
-          - iu
-          - ik
-          - ga
-          - it
-          - ja
-          - jv
-          - kn
-          - kr
-          - ks
-          - kk
-          - rw
-          - kv
-          - kg
-          - ko
-          - kj
-          - ku
-          - ky
-          - lo
-          - la
-          - lv
-          - lb
-          - li
-          - ln
-          - lt
-          - lu
-          - mk
-          - mg
-          - ms
-          - ml
-          - mt
-          - gv
-          - mi
-          - mr
-          - mh
-          - ro
-          - mn
-          - na
-          - nv
-          - nd
-          - ng
-          - ne
-          - se
-          - "no"
-          - nb
-          - nn
-          - ii
-          - oc
-          - oj
-          - or
-          - om
-          - os
-          - pi
-          - pa
-          - ps
-          - fa
-          - pl
-          - pt
-          - qu
-          - rm
-          - rn
-          - ru
-          - sm
-          - sg
-          - sa
-          - sc
-          - sr
-          - sn
-          - sd
-          - si
-          - sk
-          - sl
-          - so
-          - st
-          - nr
-          - es
-          - su
-          - sw
-          - ss
-          - sv
-          - tl
-          - ty
-          - tg
-          - ta
-          - tt
-          - te
-          - th
-          - bo
-          - ti
-          - to
-          - ts
-          - tn
-          - tr
-          - tk
-          - tw
-          - ug
-          - uk
-          - ur
-          - uz
-          - ve
-          - vi
-          - vo
-          - wa
-          - cy
-          - fy
-          - wo
-          - xh
-          - yi
-          - yo
-          - za
-          - zu
-        identifier:
-          $ref: '#/components/schemas/Identifier'
-    License:
-      type: object
-      properties:
-        identifier:
-          type: string
-        uri:
-          type: string
-        description:
-          type: string
-    PrimaryKey:
-      type: object
-      properties:
-        pkid:
-          type: integer
-          format: int64
-        table:
-          $ref: '#/components/schemas/Table'
-        column:
-          $ref: '#/components/schemas/TableColumn'
-    RelatedIdentifier:
-      type: object
-      properties:
-        id:
-          type: integer
-          format: int64
-        value:
-          type: string
-        type:
-          type: string
-          enum:
-          - DOI
-          - URL
-          - URN
-          - ARK
-          - arXiv
-          - bibcode
-          - EAN13
-          - EISSN
-          - Handle
-          - IGSN
-          - ISBN
-          - ISTC
-          - LISSN
-          - LSID
-          - PMID
-          - PURL
-          - UPC
-          - w3id
-        relation:
-          type: string
-          enum:
-          - IsCitedBy
-          - Cites
-          - IsSupplementTo
-          - IsSupplementedBy
-          - IsContinuedBy
-          - Continues
-          - IsDescribedBy
-          - Describes
-          - HasMetadata
-          - IsMetadataFor
-          - HasVersion
-          - IsVersionOf
-          - IsNewVersionOf
-          - IsPreviousVersionOf
-          - IsPartOf
-          - HasPart
-          - IsPublishedIn
-          - IsReferencedBy
-          - References
-          - IsDocumentedBy
-          - Documents
-          - IsCompiledBy
-          - Compiles
-          - IsVariantFormOf
-          - IsOriginalFormOf
-          - IsIdenticalTo
-          - IsReviewedBy
-          - Reviews
-          - IsDerivedFrom
-          - IsSourceOf
-          - IsRequiredBy
-          - Requires
-          - IsObsoletedBy
-          - Obsoletes
-        identifier:
-          $ref: '#/components/schemas/Identifier'
-    Table:
-      type: object
-      properties:
-        id:
-          type: integer
-          format: int64
-        tdbid:
-          type: integer
-          format: int64
-        createdBy:
-          type: string
-          format: uuid
-        creator:
-          $ref: '#/components/schemas/User'
-        ownedBy:
-          type: string
-          format: uuid
-        owner:
-          $ref: '#/components/schemas/User'
-        name:
-          type: string
-        internalName:
-          type: string
-        queueName:
-          type: string
-        description:
-          type: string
-        database:
-          $ref: '#/components/schemas/Database'
-        columns:
-          type: array
-          items:
-            $ref: '#/components/schemas/TableColumn'
-        identifiers:
-          type: array
-          items:
-            $ref: '#/components/schemas/Identifier'
-        constraints:
-          $ref: '#/components/schemas/Constraints'
-        isVersioned:
-          type: boolean
-        numRows:
-          type: integer
-          format: int64
-        dataLength:
-          type: integer
-          format: int64
-        maxDataLength:
-          type: integer
-          format: int64
-        avgRowLength:
-          type: integer
-          format: int64
-        created:
-          type: string
-          format: date-time
-        lastModified:
-          type: string
-          format: date-time
-    TableColumn:
-      type: object
-      properties:
-        id:
-          type: integer
-          format: int64
-        dateFormat:
-          $ref: '#/components/schemas/ContainerImageDate'
-        table:
-          $ref: '#/components/schemas/Table'
-        views:
-          type: array
-          items:
-            $ref: '#/components/schemas/View'
-        name:
-          type: string
-        autoGenerated:
-          type: boolean
-        internalName:
-          type: string
-        indexLength:
-          type: integer
-          format: int64
-        alias:
-          type: string
-        columnType:
-          type: string
-          enum:
-          - TableColumnType.CHAR
-          - TableColumnType.VARCHAR
-          - TableColumnType.BINARY
-          - TableColumnType.VARBINARY
-          - TableColumnType.TINYBLOB
-          - TableColumnType.TINYTEXT
-          - TableColumnType.TEXT
-          - TableColumnType.BLOB
-          - TableColumnType.MEDIUMTEXT
-          - TableColumnType.MEDIUMBLOB
-          - TableColumnType.LONGTEXT
-          - TableColumnType.LONGBLOB
-          - TableColumnType.ENUM
-          - TableColumnType.SET
-          - TableColumnType.BIT
-          - TableColumnType.TINYINT
-          - TableColumnType.BOOL
-          - TableColumnType.SMALLINT
-          - TableColumnType.MEDIUMINT
-          - TableColumnType.INT
-          - TableColumnType.BIGINT
-          - TableColumnType.FLOAT
-          - TableColumnType.DOUBLE
-          - TableColumnType.DECIMAL
-          - TableColumnType.DATE
-          - TableColumnType.DATETIME
-          - TableColumnType.TIMESTAMP
-          - TableColumnType.TIME
-          - TableColumnType.YEAR
-        length:
-          type: integer
-          format: int64
-        isNullAllowed:
-          type: boolean
-        ordinalPosition:
-          type: integer
-          format: int32
-        created:
-          type: string
-          format: date-time
-        concept:
-          $ref: '#/components/schemas/TableColumnConcept'
-        unit:
-          $ref: '#/components/schemas/TableColumnUnit'
-        enums:
-          type: array
-          items:
-            type: string
-        sets:
-          type: array
-          items:
-            type: string
-        size:
-          type: integer
-          format: int64
-        d:
-          type: integer
-          format: int64
-        min:
-          type: number
-        max:
-          type: number
-        mean:
-          type: number
-        median:
-          type: number
-        stdDev:
-          type: number
-        lastModified:
-          type: string
-          format: date-time
-    TableColumnConcept:
-      type: object
-      properties:
-        id:
-          type: integer
-          format: int64
-        uri:
-          type: string
-        name:
-          type: string
-        description:
-          type: string
-        created:
-          type: string
-          format: date-time
-        columns:
-          type: array
-          items:
-            $ref: '#/components/schemas/TableColumn'
-    TableColumnUnit:
-      type: object
-      properties:
-        id:
-          type: integer
-          format: int64
-        uri:
-          type: string
-        name:
-          type: string
-        description:
-          type: string
-        created:
-          type: string
-          format: date-time
-        columns:
-          type: array
-          items:
-            $ref: '#/components/schemas/TableColumn'
-    Unique:
-      type: object
-      properties:
-        uid:
-          type: integer
-          format: int64
-        name:
-          type: string
-        table:
-          $ref: '#/components/schemas/Table'
-        columns:
-          type: array
-          items:
-            $ref: '#/components/schemas/TableColumn'
-    User:
-      type: object
-      properties:
-        id:
-          type: string
-          format: uuid
-        username:
-          type: string
-        firstname:
-          type: string
-        lastname:
-          type: string
-        email:
-          type: string
-        orcid:
-          type: string
-        affiliation:
-          type: string
-        language:
-          type: string
-        accesses:
-          type: array
-          items:
-            $ref: '#/components/schemas/DatabaseAccess'
-        theme:
-          type: string
-        mariadbPassword:
-          type: string
-    View:
-      type: object
-      properties:
-        id:
-          type: integer
-          format: int64
-        vdbid:
-          type: integer
-          format: int64
-        createdBy:
-          type: string
-          format: uuid
-        creator:
-          $ref: '#/components/schemas/User'
-        name:
-          type: string
-        internalName:
-          type: string
-        isPublic:
-          type: boolean
-        isInitialView:
-          type: boolean
-        query:
-          type: string
-        queryHash:
-          type: string
-        identifiers:
-          type: array
-          items:
-            $ref: '#/components/schemas/Identifier'
-        database:
-          $ref: '#/components/schemas/Database'
-        columns:
-          type: array
-          items:
-            $ref: '#/components/schemas/ViewColumn'
-        created:
-          type: string
-          format: date-time
-        lastModified:
-          type: string
-          format: date-time
-    ViewColumn:
-      type: object
-      properties:
-        id:
-          type: integer
-          format: int64
-        alias:
-          type: string
-        ordinalPosition:
-          type: integer
-          format: int32
-        view:
-          $ref: '#/components/schemas/View'
-        column:
-          $ref: '#/components/schemas/TableColumn'
-    LdCreatorDto:
-      required:
-      - '@type'
-      - name
-      type: object
-      properties:
-        name:
-          type: string
-        sameAs:
-          type: string
-        givenName:
-          type: string
-        familyName:
-          type: string
-        '@type':
-          type: string
-    LdDatasetDto:
-      required:
-      - '@context'
-      - '@type'
-      - citation
-      - creator
-      - description
-      - hasPart
-      - identifier
-      - name
-      - temporalCoverage
-      - url
-      - version
-      type: object
-      properties:
-        name:
-          type: string
-        description:
-          type: string
-        url:
-          type: string
-        identifier:
-          type: array
-          items:
-            type: string
-        license:
-          type: string
-        creator:
-          type: array
-          items:
-            $ref: '#/components/schemas/LdCreatorDto'
-        citation:
-          type: string
-        hasPart:
-          type: array
-          items:
-            $ref: '#/components/schemas/LdDatasetDto'
-        temporalCoverage:
-          type: string
-        version:
-          type: string
-          format: date-time
-        '@context':
-          type: string
-        '@type':
-          type: string
-    TableColumnEntityDto:
-      required:
-      - column_id
-      - database_id
-      - table_id
-      - uri
-      type: object
-      properties:
-        uri:
-          type: string
-          example: https://www.wikidata.org/entity/Q1686799
-        label:
-          type: string
-          example: Apache Jena
-        description:
-          type: string
-          example: open source semantic web framework for Java
-        database_id:
-          type: integer
-          format: int64
-          example: 1
-        table_id:
-          type: integer
-          format: int64
-          example: 1
-        column_id:
-          type: integer
-          format: int64
-          example: 1
-  securitySchemes:
-    basicAuth:
-      type: http
-      scheme: basic
-    bearerAuth:
-      type: http
-      scheme: bearer
-      bearerFormat: JWT
diff --git a/.docs/.swagger/api-search.yaml b/.docs/.swagger/api-search.yaml
deleted file mode 100644
index 0bd4f541c8..0000000000
--- a/.docs/.swagger/api-search.yaml
+++ /dev/null
@@ -1,385 +0,0 @@
-components:
-  securitySchemes:
-    basicAuth:
-      in: header
-      scheme: basic
-      type: http
-    bearerAuth:
-      bearerFormat: JWT
-      in: header
-      scheme: bearer
-      type: http
-externalDocs:
-  description: Sourcecode Documentation
-  url: https://www.ifs.tuwien.ac.at/infrastructures/dbrepo/__APPVERSION__/
-info:
-  contact:
-    email: andreas.rauber@tuwien.ac.at
-    name: Prof. Andreas Rauber
-  description: Service that searches the search database
-  license:
-    name: Apache 2.0
-    url: https://www.apache.org/licenses/LICENSE-2.0
-  title: Database Repository Search Service API
-  version: __APPVERSION__
-openapi: 3.0.0
-paths:
-  /api/search:
-    get:
-      consumes:
-        - application/json
-      description: Performs a fuzzy search
-      operationId: post_fuzzy_search
-      parameters:
-        - in: query
-          required: true
-          schema:
-            properties:
-              q:
-                example: air quality
-                type: string
-            type: string
-      produces:
-        - application/json
-      responses:
-        '200':
-          content:
-            application/json:
-              schema:
-                properties:
-                  results:
-                    items:
-                      type: object
-                    type: array
-                type: object
-          description: OK, contains the elements formatted as an array of JSON arrays
-        '415':
-          description: Wrong accept type
-      summary: Performs a fuzzy search
-      tags:
-        - search-endpoint
-  /api/search/database/{database_id}:
-    delete:
-      consumes:
-        - application/json
-      description: Deletes a database
-      operationId: delete_database
-      produces:
-        - application/json
-      responses:
-        '202':
-          content:
-            application/json:
-              schema:
-                properties:
-                  id:
-                    example: 1
-                    implementation: int64
-                    type: integer
-                required:
-                  - id
-                type: object
-          description: Deleted database successfully
-        '404':
-          content:
-            application/json:
-              schema:
-                properties:
-                  message:
-                    example: Message
-                    type: string
-                  success:
-                    example: false
-                    type: boolean
-                required:
-                  - success
-                  - message
-                type: object
-          description: Database not found
-      security:
-        - bearerAuth: []
-        - basicAuth: []
-      summary: Deletes a database
-      tags:
-        - database-endpoint
-    put:
-      consumes:
-        - application/json
-      description: Updates a database
-      operationId: update_database
-      parameters:
-        - in: body
-          name: body
-          required: true
-          schema:
-            properties:
-              internal_name:
-                example: air_quality_abcd
-                type: string
-              name:
-                example: Air Quality
-                type: string
-            type: object
-      produces:
-        - application/json
-      responses:
-        '202':
-          content:
-            application/json:
-              schema:
-                properties:
-                  id:
-                    example: 1
-                    implementation: int64
-                    type: integer
-                required:
-                  - id
-                type: object
-          description: Updated database successfully
-        '400':
-          content:
-            application/json:
-              schema:
-                properties:
-                  message:
-                    example: Message
-                    type: string
-                  success:
-                    example: false
-                    type: boolean
-                required:
-                  - success
-                  - message
-                type: object
-          description: Invalid schema
-        '404':
-          content:
-            application/json:
-              schema:
-                properties:
-                  message:
-                    example: Message
-                    type: string
-                  success:
-                    example: false
-                    type: boolean
-                required:
-                  - success
-                  - message
-                type: object
-          description: Database not found
-      security:
-        - bearerAuth: []
-        - basicAuth: []
-      summary: Updates a database
-      tags:
-        - database-endpoint
-  /api/search/{index}:
-    get:
-      consumes:
-        - application/json
-      description: Gets the index
-      operationId: get_index
-      parameters:
-        - description: The search type.
-          in: path
-          name: type
-          required: true
-          schema:
-            enum:
-              - database
-              - table
-              - view
-              - column
-              - user
-              - identifier
-              - concept
-              - unit
-            type: string
-        - in: body
-          name: body
-          required: true
-          schema:
-            properties:
-              field_value_pairs:
-                type: object
-              search_term:
-                example: air quality
-                type: string
-              t1:
-                example: 0
-                type: integer
-              t2:
-                example: 100
-                type: integer
-            type: object
-      produces:
-        - application/json
-      responses:
-        '200':
-          content:
-            application/json:
-              schema:
-                properties:
-                  results:
-                    items:
-                      type: object
-                    type: array
-                  type:
-                    description: Same as the requested type
-                    enum:
-                      - database
-                      - table
-                      - view
-                      - column
-                      - user
-                      - identifier
-                      - concept
-                      - unit
-                    type: string
-                type: object
-          description: OK, contains the elements formatted as an array of JSON arrays
-      summary: Gets the index
-      tags:
-        - search-endpoint
-  /api/search/{type}:
-    post:
-      consumes:
-        - application/json
-      description: Performs a general search
-      operationId: post_general_search
-      parameters:
-        - description: The search type.
-          in: path
-          name: type
-          required: true
-          schema:
-            enum:
-              - database
-              - table
-              - view
-              - column
-              - user
-              - identifier
-              - concept
-              - unit
-            type: string
-        - in: query
-          name: t1
-          schema:
-            type: integer
-        - in: query
-          name: t2
-          schema:
-            type: integer
-        - in: body
-          name: body
-          required: true
-          schema:
-            properties:
-              field_value_pairs:
-                type: object
-              search_term:
-                example: air quality
-                type: string
-            type: object
-      produces:
-        - application/json
-      responses:
-        '200':
-          content:
-            application/json:
-              schema:
-                properties:
-                  results:
-                    items:
-                      type: object
-                    type: array
-                  type:
-                    description: Same as the requested type
-                    enum:
-                      - database
-                      - table
-                      - view
-                      - column
-                      - user
-                      - identifier
-                      - concept
-                      - unit
-                    type: string
-                type: object
-          description: OK, contains the elements formatted as an array of JSON arrays
-      summary: Performs a general search
-      tags:
-        - search-endpoint
-  /api/search/{type}/fields:
-    get:
-      operationId: get_fields
-      parameters:
-        - description: The search type.
-          in: path
-          name: type
-          required: true
-          schema:
-            enum:
-              - database
-              - table
-              - view
-              - column
-              - user
-              - identifier
-              - concept
-              - unit
-            type: string
-      responses:
-        '200':
-          content:
-            application/json:
-              schema:
-                properties:
-                  results:
-                    items:
-                      properties:
-                        attr_friendly_name:
-                          example: Name
-                          type: string
-                        attr_name:
-                          example: name
-                          type: string
-                        type:
-                          description: OpenSearch data types.
-                          example: string
-                          type: string
-                      type: object
-                    type: array
-                type: object
-          description: List of fields
-        '404':
-          description: Invalid type.
-      summary: Get searchable fields
-      tags:
-        - search-endpoint
-  /health:
-    get:
-      consumes:
-        - application/json
-      description: 'Return UP if the instance is ready to serve connections.
-
-        '
-      produces:
-        - application/json
-      responses:
-        '200':
-          description: OK, service is up and running
-          schema:
-            $ref: '#/definitions/Column'
-        '404':
-          description: Service is not yet ready
-      summary: Return a healthcheck
-      tags:
-        - actuator
-servers:
-  - description: Generated server url
-    url: http://localhost:4000
-  - description: Sandbox
-    url: https://test.dbrepo.tuwien.ac.at
diff --git a/.docs/.swagger/api-sidecar.yaml b/.docs/.swagger/api-sidecar.yaml
deleted file mode 100644
index 0d455b2526..0000000000
--- a/.docs/.swagger/api-sidecar.yaml
+++ /dev/null
@@ -1,106 +0,0 @@
-components:
-  securitySchemes:
-    basicAuth:
-      in: header
-      scheme: basic
-      type: http
-    bearerAuth:
-      bearerFormat: JWT
-      in: header
-      scheme: bearer
-      type: http
-externalDocs:
-  description: Sourcecode Documentation
-  url: https://www.ifs.tuwien.ac.at/infrastructures/dbrepo/__APPVERSION__/
-info:
-  contact:
-    email: andreas.rauber@tuwien.ac.at
-    name: Prof. Andreas Rauber
-  description: Sidecar that downloads the import .csv file
-  license:
-    name: Apache 2.0
-    url: https://www.apache.org/licenses/LICENSE-2.0
-  title: Database Repository Data Database sidecar API
-  version: __APPVERSION__
-openapi: 3.0.0
-paths:
-  /health:
-    get:
-      consumes:
-        - application/json
-      description: 'Return UP if the instance is ready to serve connections.
-
-        '
-      produces:
-        - application/json
-      responses:
-        '200':
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/Health'
-          description: OK, service is up and running
-        '404':
-          description: Service is not yet ready
-      summary: Return a healthcheck
-      tags:
-        - actuator
-  /sidecar/export/{filename}:
-    post:
-      consumes:
-        - application/json
-      description: 'Exports a specific .csv file to the Storage Service via S3
-
-        '
-      parameters:
-        - description: Name of the object file to export to the Storage Service
-          in: path
-          name: filename
-          required: true
-      produces:
-        - application/json
-      responses:
-        '202':
-          content: {}
-          description: Exported the .csv
-        '400':
-          description: The Storage Service could not be contacted or .csv was not
-            found.
-      security:
-        - bearerAuth: []
-        - basicAuth: []
-      summary: Exports a .csv to the Storage Service
-      tags:
-        - sidecar
-  /sidecar/import/{filename}:
-    post:
-      consumes:
-        - application/json
-      description: 'Imports a specific .csv file from the Storage Service via S3
-
-        '
-      parameters:
-        - description: Name of the object file to import from the Storage Service
-          in: path
-          name: filename
-          required: true
-      produces:
-        - application/json
-      responses:
-        '202':
-          content: {}
-          description: Imported the .csv
-        '400':
-          description: The Storage Service could not be contacted or .csv was not
-            found.
-      security:
-        - bearerAuth: []
-        - basicAuth: []
-      summary: Imports a .csv from the Storage Service
-      tags:
-        - sidecar
-servers:
-  - description: Generated server url
-    url: http://localhost:8080
-  - description: Sandbox
-    url: https://test.dbrepo.tuwien.ac.at
diff --git a/.docs/.swagger/api-upload.yaml b/.docs/.swagger/api-upload.yaml
deleted file mode 100644
index b08342a543..0000000000
--- a/.docs/.swagger/api-upload.yaml
+++ /dev/null
@@ -1,30 +0,0 @@
-openapi: 3.0.0
-info:
-  title: Database Repository Upload Service API
-  description: Service that manages the uploads
-  contact:
-    name: Prof. Andreas Rauber
-    email: andreas.rauber@tuwien.ac.at
-  license:
-    name: Apache 2.0
-    url: https://www.apache.org/licenses/LICENSE-2.0
-  version: __APPVERSION__
-externalDocs:
-  description: Sourcecode Documentation
-  url: https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services
-servers:
-  - url: http://localhost:1080
-    description: Generated server url
-  - url: https://test.dbrepo.tuwien.ac.at
-    description: Sandbox
-paths:
-  /api/upload/files:
-    post:
-      tags:
-        - upload-endpoint
-      summary: Uploads a file
-      operationId: upload
-      responses:
-        "201":
-          description: "Successfully uploaded a file"
-      security: { }
\ No newline at end of file
diff --git a/.docs/.swagger/api.base.yaml b/.docs/.swagger/api.base.yaml
new file mode 100644
index 0000000000..aa83c853ce
--- /dev/null
+++ b/.docs/.swagger/api.base.yaml
@@ -0,0 +1,30 @@
+components:
+  securitySchemes:
+    basicAuth:
+      in: header
+      scheme: basic
+      type: http
+    bearerAuth:
+      bearerFormat: JWT
+      in: header
+      scheme: bearer
+      type: http
+externalDocs:
+  description: Sourcecode Documentation
+  url: https://www.ifs.tuwien.ac.at/infrastructures/dbrepo/
+info:
+  contact:
+    email: andreas.rauber@tuwien.ac.at
+    name: Prof. Andreas Rauber
+  description: The REST API
+  license:
+    name: Apache 2.0
+    url: https://www.apache.org/licenses/LICENSE-2.0
+  title: DBRepo REST API
+  version: 1.4.4
+openapi: 3.1.0
+servers:
+  - description: Test Instance
+    url: https://test.dbrepo.tuwien.ac.at
+  - description: Local Instance
+    url: http://localhost
diff --git a/.docs/.swagger/api.yaml b/.docs/.swagger/api.yaml
new file mode 100644
index 0000000000..607276e81a
--- /dev/null
+++ b/.docs/.swagger/api.yaml
@@ -0,0 +1,3874 @@
+components:
+  securitySchemes:
+    basicAuth:
+      in: header
+      scheme: basic
+      type: http
+    bearerAuth:
+      bearerFormat: JWT
+      in: header
+      scheme: bearer
+      type: http
+externalDocs:
+  description: Sourcecode Documentation
+  url: https://www.ifs.tuwien.ac.at/infrastructures/dbrepo/
+info:
+  contact:
+    email: andreas.rauber@tuwien.ac.at
+    name: Prof. Andreas Rauber
+  description: The REST API
+  license:
+    name: Apache 2.0
+    url: https://www.apache.org/licenses/LICENSE-2.0
+  title: DBRepo REST API
+  version: 1.4.4
+openapi: 3.1.0
+servers:
+  - description: Test Instance
+    url: https://test.dbrepo.tuwien.ac.at
+  - description: Local Instance
+    url: http://localhost
+paths:
+  /api/database:
+    post:
+      tags:
+        - database-endpoint
+      summary: Create database
+      operationId: create
+      requestBody:
+        content:
+          application/json:
+            schema:
+              $ref: '#/components/schemas/CreateDatabaseDto'
+        required: true
+      responses:
+        "201":
+          description: Created a database
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/DatabaseDto'
+        "400":
+          description: Database create query is malformed or image is not supported
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "417":
+          description: Failed to create query store in database
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "503":
+          description: Failed to communicate with database
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "404":
+          description: Failed to find container in metadata database
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+      security:
+        - basicAuth: []
+  /api/database/{databaseId}/access/{userId}:
+    put:
+      tags:
+        - access-endpoint
+      summary: Update access to some database
+      operationId: update_1
+      parameters:
+        - name: databaseId
+          in: path
+          required: true
+          schema:
+            type: integer
+            format: int64
+        - name: userId
+          in: path
+          required: true
+          schema:
+            type: string
+            format: uuid
+      requestBody:
+        content:
+          application/json:
+            schema:
+              $ref: '#/components/schemas/UpdateDatabaseAccessDto'
+        required: true
+      responses:
+        "400":
+          description: Update access query or database connection is malformed
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "417":
+          description: Failed to update access in database
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "503":
+          description: Failed to establish connection with metadata service
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "403":
+          description: Not allowed to update access
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "404":
+          description: Failed to find database/user in metadata database
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "202":
+          description: Update access succeeded
+      security:
+        - basicAuth: []
+    post:
+      tags:
+        - access-endpoint
+      summary: Give access to some database
+      operationId: create_4
+      parameters:
+        - name: databaseId
+          in: path
+          required: true
+          schema:
+            type: integer
+            format: int64
+        - name: userId
+          in: path
+          required: true
+          schema:
+            type: string
+            format: uuid
+      requestBody:
+        content:
+          application/json:
+            schema:
+              $ref: '#/components/schemas/UpdateDatabaseAccessDto'
+        required: true
+      responses:
+        "417":
+          description: Failed to give access in the database
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "202":
+          description: Granting access succeeded
+          content:
+            '*/*':
+              schema:
+                type: object
+        "503":
+          description: Failed to establish connection to metadata service
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "403":
+          description: Not allowed to give access
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "404":
+          description: Failed to find database/user in metadata database
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "400":
+          description: Granting access query or database connection is malformed
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+      security:
+        - basicAuth: []
+    delete:
+      tags:
+        - access-endpoint
+      summary: Revoke access to some database
+      operationId: revoke
+      parameters:
+        - name: databaseId
+          in: path
+          required: true
+          schema:
+            type: integer
+            format: int64
+        - name: userId
+          in: path
+          required: true
+          schema:
+            type: string
+            format: uuid
+      responses:
+        "400":
+          description: Revoke access query or database connection is malformed
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "417":
+          description: Failed to revoke access in database
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "403":
+          description: Not allowed to revoke access
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "503":
+          description: Failed to establish connection with the metadata service
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "404":
+          description: Failed to find database/user in metadata database
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "202":
+          description: Revoked access successfully
+          content:
+            '*/*':
+              schema:
+                type: object
+      security:
+        - basicAuth: []
+  /api/user/{userId}:
+    get:
+      tags:
+        - user-endpoint
+      summary: Get a user info
+      operationId: find_2
+      parameters:
+        - name: userId
+          in: path
+          required: true
+          schema:
+            type: string
+            format: uuid
+      responses:
+        "403":
+          description: Find user is not permitted
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "200":
+          description: Found user
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/UserDto'
+        "404":
+          description: User was not found
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+      security:
+        - bearerAuth: []
+        - basicAuth: []
+    put:
+      tags:
+        - user-endpoint
+      summary: Modify user information
+      operationId: modify
+      parameters:
+        - name: userId
+          in: path
+          required: true
+          schema:
+            type: string
+            format: uuid
+      requestBody:
+        content:
+          application/json:
+            schema:
+              $ref: '#/components/schemas/UserUpdateDto'
+        required: true
+      responses:
+        "404":
+          description: Failed to find database/user in metadata database
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "403":
+          description: Not allowed to modify user metadata
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "400":
+          description: Modify user query is malformed
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "202":
+          description: Modified user information
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/UserDto'
+      security:
+        - bearerAuth: []
+        - basicAuth: []
+  /api/user/{userId}/password:
+    put:
+      tags:
+        - user-endpoint
+      summary: Modify user password
+      operationId: password
+      parameters:
+        - name: userId
+          in: path
+          required: true
+          schema:
+            type: string
+            format: uuid
+      requestBody:
+        content:
+          application/json:
+            schema:
+              $ref: '#/components/schemas/UserPasswordDto'
+        required: true
+      responses:
+        "403":
+          description: Not allowed to change foreign user password
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "404":
+          description: Failed to find database/user in metadata database
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "503":
+          description: Failed to get user in auth service
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "202":
+          description: Modified user password
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/UserDto'
+        "502":
+          description: Connection to auth service failed
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+      security:
+        - bearerAuth: []
+        - basicAuth: []
+  /api/user/token:
+    put:
+      tags:
+        - user-endpoint
+      summary: Refresh user token
+      operationId: refreshToken
+      requestBody:
+        content:
+          application/json:
+            schema:
+              $ref: '#/components/schemas/RefreshTokenRequestDto'
+        required: true
+      responses:
+        "202":
+          description: Refreshed user token
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/TokenDto'
+        "502":
+          description: Connection to auth service failed
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "403":
+          description: Invalid refresh token
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+    post:
+      tags:
+        - user-endpoint
+      summary: Obtain user token
+      operationId: getToken
+      requestBody:
+        content:
+          application/json:
+            schema:
+              $ref: '#/components/schemas/LoginRequestDto'
+        required: true
+      responses:
+        "404":
+          description: Failed to find user in auth database
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "503":
+          description: Failed to get user in auth service
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "202":
+          description: Obtained user token
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/TokenDto'
+        "403":
+          description: Not allowed to get token
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "428":
+          description: Account is not fully setup in auth service (requires password change?)
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "502":
+          description: Connection to auth service failed
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+  /api/ontology/{ontologyId}:
+    get:
+      tags:
+        - ontology-endpoint
+      summary: Find one ontology
+      operationId: find_3
+      parameters:
+        - name: ontologyId
+          in: path
+          required: true
+          schema:
+            type: integer
+            format: int64
+      responses:
+        "404":
+          description: Could not find ontology
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "200":
+          description: Find one ontology
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/OntologyDto'
+    put:
+      tags:
+        - ontology-endpoint
+      summary: Update an ontology
+      operationId: update
+      parameters:
+        - name: ontologyId
+          in: path
+          required: true
+          schema:
+            type: integer
+            format: int64
+      requestBody:
+        content:
+          application/json:
+            schema:
+              $ref: '#/components/schemas/OntologyModifyDto'
+        required: true
+      responses:
+        "404":
+          description: Could not find ontology
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "202":
+          description: Updated ontology successfully
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/OntologyDto'
+      security:
+        - bearerAuth: []
+        - basicAuth: []
+    delete:
+      tags:
+        - ontology-endpoint
+      summary: Delete an ontology
+      operationId: delete
+      parameters:
+        - name: ontologyId
+          in: path
+          required: true
+          schema:
+            type: integer
+            format: int64
+      responses:
+        "404":
+          description: Could not find ontology
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "202":
+          description: Deleted ontology successfully
+          content:
+            application/json: {}
+      security:
+        - bearerAuth: []
+        - basicAuth: []
+  /api/message/{messageId}:
+    put:
+      tags:
+        - message-endpoint
+      summary: Update maintenance message
+      operationId: update_1
+      parameters:
+        - name: messageId
+          in: path
+          required: true
+          schema:
+            type: integer
+            format: int64
+      requestBody:
+        content:
+          application/json:
+            schema:
+              $ref: '#/components/schemas/BannerMessageUpdateDto'
+        required: true
+      responses:
+        "202":
+          description: Updated message
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/BannerMessageBriefDto'
+        "404":
+          description: Could not find message
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+      security:
+        - bearerAuth: []
+        - basicAuth: []
+    delete:
+      tags:
+        - message-endpoint
+      summary: Delete maintenance message
+      operationId: delete_1
+      parameters:
+        - name: messageId
+          in: path
+          required: true
+          schema:
+            type: integer
+            format: int64
+      responses:
+        "202":
+          description: Deleted message
+          content:
+            application/json: {}
+        "404":
+          description: Could not find message
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+      security:
+        - bearerAuth: []
+        - basicAuth: []
+  /api/image/{imageId}:
+    get:
+      tags:
+        - image-endpoint
+      summary: Find some image
+      operationId: findById
+      parameters:
+        - name: imageId
+          in: path
+          required: true
+          schema:
+            type: integer
+            format: int64
+      responses:
+        "404":
+          description: Image could not be found
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "200":
+          description: Found image
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ImageDto'
+    put:
+      tags:
+        - image-endpoint
+      summary: Update some image
+      operationId: update_2
+      parameters:
+        - name: imageId
+          in: path
+          required: true
+          schema:
+            type: integer
+            format: int64
+      requestBody:
+        content:
+          application/json:
+            schema:
+              $ref: '#/components/schemas/ImageChangeDto'
+        required: true
+      responses:
+        "404":
+          description: Image could not be found
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "202":
+          description: Updated image successfully
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ImageDto'
+      security:
+        - bearerAuth: []
+        - basicAuth: []
+    delete:
+      tags:
+        - image-endpoint
+      summary: Delete some image
+      operationId: delete_2
+      parameters:
+        - name: imageId
+          in: path
+          required: true
+          schema:
+            type: integer
+            format: int64
+      responses:
+        "202":
+          description: Deleted image successfully
+        "404":
+          description: Image could not be found
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+      security:
+        - bearerAuth: []
+        - basicAuth: []
+  /api/identifier/{identifierId}:
+    get:
+      tags:
+        - identifier-endpoint
+      summary: Find some identifier
+      operationId: find_6
+      parameters:
+        - name: identifierId
+          in: path
+          required: true
+          schema:
+            type: integer
+            format: int64
+        - name: Accept
+          in: header
+          required: true
+          schema:
+            type: string
+      responses:
+        "406":
+          description: Failed to find acceptable representation
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "422":
+          description: Failed to retrieve from database sidecar
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "503":
+          description: Failed to find in data service
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "200":
+          description: Found identifier successfully
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/IdentifierDto'
+            application/ld+json:
+              schema:
+                $ref: '#/components/schemas/LdDatasetDto'
+            text/csv: {}
+            text/xml: {}
+            text/bibliography: {}
+            text/bibliography; style=apa: {}
+            text/bibliography; style=ieee: {}
+            text/bibliography; style=bibtex: {}
+        "404":
+          description: Identifier could not be found
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "502":
+          description: Connection to data service failed
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "400":
+          description: "Identifier could not be exported, the requested style is not known"
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "410":
+          description: Failed to retrieve from S3 endpoint
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "409":
+          description: Exported resource was not found
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+    put:
+      tags:
+        - identifier-endpoint
+      summary: Save identifier
+      operationId: save
+      parameters:
+        - name: identifierId
+          in: path
+          required: true
+          schema:
+            type: integer
+            format: int64
+      requestBody:
+        content:
+          application/json:
+            schema:
+              $ref: '#/components/schemas/IdentifierSaveDto'
+        required: true
+      responses:
+        "403":
+          description: Insufficient access rights or authorities
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "502":
+          description: Connection to search service failed
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "405":
+          description: Creating identifier not permitted
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "400":
+          description: Identifier form contains invalid request data
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "404":
+          description: "Failed to find database, table or view"
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "202":
+          description: Saved identifier
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/IdentifierDto'
+        "503":
+          description: Failed to save in search service
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+      security:
+        - bearerAuth: []
+        - basicAuth: []
+    delete:
+      tags:
+        - identifier-endpoint
+      summary: Delete some identifier
+      operationId: delete_3
+      parameters:
+        - name: identifierId
+          in: path
+          required: true
+          schema:
+            type: integer
+            format: int64
+      responses:
+        "502":
+          description: Connection to search service failed
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "403":
+          description: Deleting identifier not permitted
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "503":
+          description: Failed to delete in search service
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "202":
+          description: Deleted identifier
+          content:
+            '*/*':
+              schema:
+                type: object
+        "404":
+          description: Identifier or database could not be found
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+      security:
+        - bearerAuth: []
+        - basicAuth: []
+  /api/identifier/{identifierId}/publish:
+    put:
+      tags:
+        - identifier-endpoint
+      summary: Publish identifier
+      operationId: publish
+      parameters:
+        - name: identifierId
+          in: path
+          required: true
+          schema:
+            type: integer
+            format: int64
+      responses:
+        "403":
+          description: Insufficient access rights or authorities
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "502":
+          description: Connection to search service failed
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "405":
+          description: Creating identifier not permitted
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "400":
+          description: Identifier form contains invalid request data
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "404":
+          description: "Failed to find database, table or view"
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "202":
+          description: Published identifier
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/IdentifierDto'
+        "503":
+          description: Failed to save in search service
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+      security:
+        - bearerAuth: []
+        - basicAuth: []
+  /api/database/{databaseId}/visibility:
+    put:
+      tags:
+        - database-endpoint
+      summary: Update database visibility
+      operationId: visibility
+      parameters:
+        - name: databaseId
+          in: path
+          required: true
+          schema:
+            type: integer
+            format: int64
+      requestBody:
+        content:
+          application/json:
+            schema:
+              $ref: '#/components/schemas/DatabaseModifyVisibilityDto'
+        required: true
+      responses:
+        "202":
+          description: Visibility modified successfully
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/DatabaseDto'
+        "403":
+          description: Visibility modification is not permitted
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "502":
+          description: Connection to search service failed
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "404":
+          description: Failed to find database in metadata database
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "503":
+          description: Failed to save in search service
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+      security:
+        - bearerAuth: []
+        - basicAuth: []
+  /api/database/{databaseId}/table/{tableId}:
+    delete:
+      tags:
+        - table-endpoint
+      summary: Delete table
+      operationId: delete_1
+      parameters:
+        - name: databaseId
+          in: path
+          required: true
+          schema:
+            type: integer
+            format: int64
+        - name: tableId
+          in: path
+          required: true
+          schema:
+            type: integer
+            format: int64
+      responses:
+        "404":
+          description: Failed to find table in metadata database
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "202":
+          description: Deleted table
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/DatabaseDto'
+        "503":
+          description: Failed to establish connection with the metadata service
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "400":
+          description: Deletion query is malformed
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+      security:
+        - basicAuth: []
+  /api/database/{databaseId}/table/{tableId}/column/{columnId}:
+    put:
+      tags:
+        - table-endpoint
+      summary: Update a table column semantic mapping
+      operationId: update_3
+      parameters:
+        - name: databaseId
+          in: path
+          required: true
+          schema:
+            type: integer
+            format: int64
+        - name: tableId
+          in: path
+          required: true
+          schema:
+            type: integer
+            format: int64
+        - name: columnId
+          in: path
+          required: true
+          schema:
+            type: integer
+            format: int64
+      requestBody:
+        content:
+          application/json:
+            schema:
+              $ref: '#/components/schemas/ColumnSemanticsUpdateDto'
+        required: true
+      responses:
+        "400":
+          description: Update semantic concept query is malformed or update unit of measurement query is malformed
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "502":
+          description: Connection to search service failed
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "403":
+          description: Access to the database is forbidden
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "202":
+          description: Updated column semantics successfully
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ColumnDto'
+        "404":
+          description: Failed to find user/table/database/ontology in metadata database
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "503":
+          description: Failed to save in search service
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+      security:
+        - bearerAuth: []
+        - basicAuth: []
+  /api/database/{databaseId}/owner:
+    put:
+      tags:
+        - database-endpoint
+      summary: Update database owner
+      operationId: transfer
+      parameters:
+        - name: databaseId
+          in: path
+          required: true
+          schema:
+            type: integer
+            format: int64
+      requestBody:
+        content:
+          application/json:
+            schema:
+              $ref: '#/components/schemas/DatabaseTransferDto'
+        required: true
+      responses:
+        "403":
+          description: Transfer of ownership is not permitted
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "202":
+          description: Transfer of ownership was successful
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/DatabaseDto'
+        "404":
+          description: Database or user could not be found
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "502":
+          description: Connection to search service failed
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "503":
+          description: Failed to save in search service
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+      security:
+        - bearerAuth: []
+        - basicAuth: []
+  /api/database/{databaseId}/metadata/view:
+    put:
+      tags:
+        - database-endpoint
+      summary: Refresh database views metadata
+      operationId: refreshViewMetadata
+      parameters:
+        - name: databaseId
+          in: path
+          required: true
+          schema:
+            type: integer
+            format: int64
+      responses:
+        "403":
+          description: Refresh view metadata is not permitted
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "502":
+          description: Connection to search service failed
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "200":
+          description: Refreshed database views metadata
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/DatabaseDto'
+        "404":
+          description: Failed to find database in metadata database
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "503":
+          description: Failed to save in search service
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+      security:
+        - bearerAuth: []
+        - basicAuth: []
+  /api/database/{databaseId}/metadata/table:
+    put:
+      tags:
+        - database-endpoint
+      summary: Refresh database tables metadata
+      operationId: refreshTableMetadata
+      parameters:
+        - name: databaseId
+          in: path
+          required: true
+          schema:
+            type: integer
+            format: int64
+      responses:
+        "200":
+          description: Refreshed database tables metadata
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/DatabaseDto'
+        "400":
+          description: Failed to parse payload at search service
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "403":
+          description: Not allowed to refresh table metadata
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "502":
+          description: Connection to search service failed
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "404":
+          description: Failed to fin user/database in metadata database
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "503":
+          description: Failed to save in search service
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+      security:
+        - bearerAuth: []
+        - basicAuth: []
+  /api/database/{databaseId}/image:
+    put:
+      tags:
+        - database-endpoint
+      summary: Update database image
+      operationId: modifyImage
+      parameters:
+        - name: databaseId
+          in: path
+          required: true
+          schema:
+            type: integer
+            format: int64
+      requestBody:
+        content:
+          application/json:
+            schema:
+              $ref: '#/components/schemas/DatabaseModifyImageDto'
+        required: true
+      responses:
+        "404":
+          description: Database or user could not be found
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "502":
+          description: Connection to search service failed
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "202":
+          description: Modify of image was successful
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/DatabaseDto'
+        "410":
+          description: File was not found in the Storage Service
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "403":
+          description: Modify of image is not permitted
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "503":
+          description: Failed to save in search service
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+      security:
+        - bearerAuth: []
+        - basicAuth: []
+  /api/user:
+    get:
+      tags:
+        - user-endpoint
+      summary: Find all users
+      operationId: findAll
+      responses:
+        "200":
+          description: List users
+          content:
+            application/json:
+              schema:
+                type: array
+                items:
+                  $ref: '#/components/schemas/UserBriefDto'
+    post:
+      tags:
+        - user-endpoint
+      summary: Create user
+      operationId: create
+      requestBody:
+        content:
+          application/json:
+            schema:
+              $ref: '#/components/schemas/SignupRequestDto'
+        required: true
+      responses:
+        "503":
+          description: Failed to create in auth service
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "417":
+          description: User with e-mail already exists
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "502":
+          description: Failed to create in auth service
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "404":
+          description: default role not found
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "400":
+          description: Parameters are not well-formed (likely email)
+          content:
+            application/json: {}
+        "201":
+          description: Created user
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/UserBriefDto'
+        "409":
+          description: User with username already exists
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+  /api/ontology:
+    get:
+      tags:
+        - ontology-endpoint
+      summary: List all ontologies
+      operationId: findAll_2
+      responses:
+        "200":
+          description: List all ontologies
+          content:
+            application/json:
+              schema:
+                type: array
+                items:
+                  $ref: '#/components/schemas/OntologyDto'
+    post:
+      tags:
+        - ontology-endpoint
+      summary: Register a new ontology
+      operationId: create_1
+      requestBody:
+        content:
+          application/json:
+            schema:
+              $ref: '#/components/schemas/OntologyCreateDto'
+        required: true
+      responses:
+        "201":
+          description: Registered ontology successfully
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/OntologyDto'
+      security:
+        - bearerAuth: []
+        - basicAuth: []
+  /api/message:
+    get:
+      tags:
+        - message-endpoint
+      summary: Find maintenance messages
+      operationId: list_2
+      parameters:
+        - name: filter
+          in: query
+          required: false
+          schema:
+            type: string
+      responses:
+        "200":
+          description: List messages
+          content:
+            application/json:
+              schema:
+                type: array
+                items:
+                  $ref: '#/components/schemas/BannerMessageDto'
+    post:
+      tags:
+        - message-endpoint
+      summary: Create maintenance message
+      operationId: create_2
+      requestBody:
+        content:
+          application/json:
+            schema:
+              $ref: '#/components/schemas/BannerMessageCreateDto'
+        required: true
+      responses:
+        "201":
+          description: Created message
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/BannerMessageBriefDto'
+      security:
+        - bearerAuth: []
+        - basicAuth: []
+  /api/image:
+    get:
+      tags:
+        - image-endpoint
+      summary: Find all images
+      operationId: findAll_3
+      responses:
+        "200":
+          description: List images
+          content:
+            application/json:
+              schema:
+                type: array
+                items:
+                  $ref: '#/components/schemas/ContainerImage'
+    post:
+      tags:
+        - image-endpoint
+      summary: Create image
+      operationId: create_3
+      requestBody:
+        content:
+          application/json:
+            schema:
+              $ref: '#/components/schemas/ImageCreateDto'
+        required: true
+      responses:
+        "201":
+          description: Created image
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ImageDto'
+        "400":
+          description: Image specification is invalid
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "409":
+          description: Image already exists
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+      security:
+        - bearerAuth: []
+        - basicAuth: []
+  /api/identifier:
+    get:
+      tags:
+        - identifier-endpoint
+      summary: Find all identifiers
+      operationId: findAll_4
+      parameters:
+        - name: dbid
+          in: query
+          required: false
+          schema:
+            type: integer
+            format: int64
+        - name: qid
+          in: query
+          required: false
+          schema:
+            type: integer
+            format: int64
+        - name: vid
+          in: query
+          required: false
+          schema:
+            type: integer
+            format: int64
+        - name: tid
+          in: query
+          required: false
+          schema:
+            type: integer
+            format: int64
+        - name: Accept
+          in: header
+          required: true
+          schema:
+            type: string
+      responses:
+        "200":
+          description: Found identifiers successfully
+          content:
+            application/json:
+              schema:
+                type: string
+            application/ld+json:
+              schema:
+                type: string
+        "406":
+          description: "Identifier could not be exported, the requested style is not known"
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+    post:
+      tags:
+        - identifier-endpoint
+      summary: Draft identifier
+      operationId: create_4
+      requestBody:
+        content:
+          application/json:
+            schema:
+              $ref: '#/components/schemas/IdentifierCreateDto'
+        required: true
+      responses:
+        "403":
+          description: Insufficient access rights or authorities
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "502":
+          description: Connection to search service failed
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "405":
+          description: Creating identifier not permitted
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "400":
+          description: Identifier form contains invalid request data
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "404":
+          description: "Failed to find database, table or view"
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "201":
+          description: Drafted identifier
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/IdentifierDto'
+        "503":
+          description: Failed to save in search service
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+      security:
+        - bearerAuth: []
+        - basicAuth: []
+  /api/database/{databaseId}/view:
+    get:
+      tags:
+        - view-endpoint
+      summary: Find view schemas
+      operationId: getSchema
+      parameters:
+        - name: databaseId
+          in: path
+          required: true
+          schema:
+            type: integer
+            format: int64
+      responses:
+        "417":
+          description: View schema could not be retrieved
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "503":
+          description: Failed to establish connection with the metadata service
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "409":
+          description: View schema could not be mapped to known columns
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "404":
+          description: Failed to find database/view in metadata database
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "400":
+          description: Database schema is malformed
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "200":
+          description: Found view schemas
+          content:
+            application/json:
+              schema:
+                type: string
+    post:
+      tags:
+        - view-endpoint
+      summary: Create view
+      operationId: create_1
+      parameters:
+        - name: databaseId
+          in: path
+          required: true
+          schema:
+            type: integer
+            format: int64
+      requestBody:
+        content:
+          application/json:
+            schema:
+              $ref: '#/components/schemas/ViewCreateDto'
+        required: true
+      responses:
+        "400":
+          description: View schema is malformed
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "404":
+          description: Failed to find database in metadata database
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "409":
+          description: View schema could not be mapped
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "503":
+          description: Failed to establish connection with the metadata service
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "202":
+          description: Created view
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ViewDto'
+      security:
+        - basicAuth: []
+        - bearerAuth: []
+  /api/database/{databaseId}/table:
+    get:
+      tags:
+        - table-endpoint
+      summary: Find table schemas
+      operationId: getSchema_1
+      parameters:
+        - name: databaseId
+          in: path
+          required: true
+          schema:
+            type: integer
+            format: int64
+      responses:
+        "403":
+          description: Find table schema not allowed
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "404":
+          description: Failed to find database in metadata database
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "417":
+          description: Failed to parse table schema
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "200":
+          description: Got table schemas
+          content:
+            application/json:
+              schema:
+                type: string
+        "503":
+          description: Failed to establish connection with the metadata service
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "400":
+          description: Schema data malformed
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+    post:
+      tags:
+        - table-endpoint
+      summary: Create table
+      operationId: create_2
+      parameters:
+        - name: databaseId
+          in: path
+          required: true
+          schema:
+            type: integer
+            format: int64
+      requestBody:
+        content:
+          application/json:
+            schema:
+              $ref: '#/components/schemas/TableCreateDto'
+        required: true
+      responses:
+        "400":
+          description: Table schema or query is malformed
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "409":
+          description: Table name already exists in database
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "404":
+          description: Failed to find database in metadata database or table in data database
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "503":
+          description: Failed to establish connection with the metadata service
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "201":
+          description: Created table
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/TableDto'
+      security:
+        - basicAuth: []
+  /api/container:
+    get:
+      tags:
+        - container-endpoint
+      summary: Find all containers
+      operationId: findAll_6
+      parameters:
+        - name: limit
+          in: query
+          required: false
+          schema:
+            type: integer
+            format: int32
+      responses:
+        "200":
+          description: List containers
+          content:
+            application/json:
+              schema:
+                type: array
+                items:
+                  type: string
+    post:
+      tags:
+        - container-endpoint
+      summary: Create container
+      operationId: create_9
+      requestBody:
+        content:
+          application/json:
+            schema:
+              $ref: '#/components/schemas/ContainerCreateDto'
+        required: true
+      responses:
+        "404":
+          description: Container image or user could not be found
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "409":
+          description: Container name already exists
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "201":
+          description: Created a new container
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ContainerBriefDto'
+      security:
+        - bearerAuth: []
+        - basicAuth: []
+  /api/unit:
+    get:
+      tags:
+        - unit-endpoint
+      summary: List semantic units
+      operationId: findAll_1
+      responses:
+        "200":
+          description: Find all semantic units
+          content:
+            application/json:
+              schema:
+                type: array
+                items:
+                  $ref: '#/components/schemas/UnitDto'
+  /api/ontology/{ontologyId}/entity:
+    get:
+      tags:
+        - ontology-endpoint
+      summary: Find entities
+      operationId: find_4
+      parameters:
+        - name: ontologyId
+          in: path
+          required: true
+          schema:
+            type: integer
+            format: int64
+        - name: label
+          in: query
+          required: false
+          schema:
+            type: string
+        - name: uri
+          in: query
+          required: false
+          schema:
+            type: string
+      responses:
+        "404":
+          description: Could not find ontology
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "422":
+          description: Ontology does not have rdf or sparql endpoint
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "200":
+          description: Found entities
+          content:
+            application/json:
+              schema:
+                type: array
+                items:
+                  $ref: '#/components/schemas/EntityDto'
+        "400":
+          description: Filter params are invalid
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "417":
+          description: Generated query or uri is malformed
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+      security:
+        - bearerAuth: []
+        - basicAuth: []
+  /api/oai:
+    get:
+      tags:
+        - metadata-endpoint
+      summary: Get the record
+      operationId: identify_1_1_1_1
+      parameters:
+        - name: verb
+          in: query
+        - name: parameters
+          in: query
+          required: true
+          schema:
+            $ref: '#/components/schemas/OaiListIdentifiersParameters'
+      responses:
+        "200":
+          description: List containers
+          content:
+            text/xml: {}
+  /api/message/message/{messageId}:
+    get:
+      tags:
+        - message-endpoint
+      summary: Find one maintenance message
+      operationId: find_5
+      parameters:
+        - name: messageId
+          in: path
+          required: true
+          schema:
+            type: integer
+            format: int64
+      responses:
+        "200":
+          description: Get messages
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/BannerMessageDto'
+        "404":
+          description: Could not find message
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+  /api/license:
+    get:
+      tags:
+        - license-endpoint
+      summary: Get all licenses
+      operationId: list_3
+      responses:
+        "200":
+          description: List of licenses
+          content:
+            application/json:
+              schema:
+                type: array
+                items:
+                  type: string
+  /api/identifier/retrieve:
+    get:
+      tags:
+        - identifier-endpoint
+      summary: Retrieve metadata from identifier
+      operationId: retrieve
+      parameters:
+        - name: url
+          in: query
+          required: true
+          schema:
+            type: string
+      responses:
+        "200":
+          description: Retrieved metadata from identifier
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/IdentifierDto'
+        "404":
+          description: Failed to find metadata for identifier
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+  /api/database/{databaseId}:
+    put:
+      tags:
+        - database-endpoint
+      summary: Update user password in database
+      operationId: update
+      parameters:
+        - name: databaseId
+          in: path
+          required: true
+          schema:
+            type: integer
+            format: int64
+      requestBody:
+        content:
+          application/json:
+            schema:
+              $ref: '#/components/schemas/UpdateUserPasswordDto'
+        required: true
+      responses:
+        "404":
+          description: Failed to find database in metadata database
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "202":
+          description: Updated user password in database
+        "503":
+          description: Failed to communicate with database
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "417":
+          description: Failed to update user password in database
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+      security:
+        - basicAuth: []
+  /api/database/{databaseId}/view/{viewId}:
+    delete:
+      tags:
+        - view-endpoint
+      summary: Delete view
+      operationId: delete
+      parameters:
+        - name: databaseId
+          in: path
+          required: true
+          schema:
+            type: integer
+            format: int64
+        - name: viewId
+          in: path
+          required: true
+          schema:
+            type: integer
+            format: int64
+      responses:
+        "202":
+          description: Deleted view
+        "409":
+          description: View schema could not be mapped
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "503":
+          description: Failed to establish connection with the metadata service
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "404":
+          description: Failed to find view in metadata database
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "400":
+          description: Database schema is malformed
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+      security:
+        - basicAuth: []
+        - bearerAuth: []
+  /api/database/{databaseId}/table/{tableId}/suggest:
+    get:
+      tags:
+        - table-endpoint
+      summary: Suggest table semantics
+      operationId: analyseTable
+      parameters:
+        - name: databaseId
+          in: path
+          required: true
+          schema:
+            type: integer
+            format: int64
+        - name: tableId
+          in: path
+          required: true
+          schema:
+            type: integer
+            format: int64
+      responses:
+        "200":
+          description: Suggested table semantics successfully
+          content:
+            application/json:
+              schema:
+                type: array
+                items:
+                  $ref: '#/components/schemas/TableColumnEntityDto'
+        "400":
+          description: Failed to parse statistic in search service
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "422":
+          description: Ontology does not have rdf or sparql endpoint
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "404":
+          description: Failed to find database/table in metadata database
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "417":
+          description: Generated query is malformed
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+      security:
+        - bearerAuth: []
+        - basicAuth: []
+  /api/database/{databaseId}/table/{tableId}/column/{columnId}/suggest:
+    get:
+      tags:
+        - table-endpoint
+      summary: Suggest table column semantics
+      operationId: analyseTableColumn
+      parameters:
+        - name: databaseId
+          in: path
+          required: true
+          schema:
+            type: integer
+            format: int64
+        - name: tableId
+          in: path
+          required: true
+          schema:
+            type: integer
+            format: int64
+        - name: columnId
+          in: path
+          required: true
+          schema:
+            type: integer
+            format: int64
+      responses:
+        "200":
+          description: Suggested table column semantics successfully
+          content:
+            application/json:
+              schema:
+                type: array
+                items:
+                  $ref: '#/components/schemas/TableColumnEntityDto'
+        "422":
+          description: Ontology does not have rdf or sparql endpoint
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "404":
+          description: Failed to find database/table in metadata database
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "400":
+          description: Generated query is malformed
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+      security:
+        - bearerAuth: []
+        - basicAuth: []
+  /api/container/{containerId}:
+    get:
+      tags:
+        - container-endpoint
+      summary: Find some container
+      operationId: findById_3
+      parameters:
+        - name: containerId
+          in: path
+          required: true
+          schema:
+            type: integer
+            format: int64
+      responses:
+        "200":
+          description: Found container
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ContainerDto'
+        "404":
+          description: Container image could not be found
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+    delete:
+      tags:
+        - container-endpoint
+      summary: Delete some container
+      operationId: delete_6
+      parameters:
+        - name: containerId
+          in: path
+          required: true
+          schema:
+            type: integer
+            format: int64
+      responses:
+        "404":
+          description: Container not found
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "202":
+          description: Deleted container successfully
+          content:
+            '*/*':
+              schema:
+                type: object
+      security:
+        - bearerAuth: []
+        - basicAuth: []
+  /api/concept:
+    get:
+      tags:
+        - concept-endpoint
+      summary: List semantic concepts
+      operationId: findAll_7
+      responses:
+        "200":
+          description: Find all semantic concepts
+          content:
+            application/json:
+              schema:
+                type: array
+                items:
+                  $ref: '#/components/schemas/ConceptDto'
+  /api/database/{databaseId}/view/{viewId}/data:
+    get:
+      tags:
+        - view-endpoint
+      summary: Retrieve view data
+      operationId: getData
+      parameters:
+        - name: databaseId
+          in: path
+          required: true
+          schema:
+            type: integer
+            format: int64
+        - name: viewId
+          in: path
+          required: true
+          schema:
+            type: integer
+            format: int64
+        - name: page
+          in: query
+          required: false
+          schema:
+            type: integer
+            format: int64
+        - name: size
+          in: query
+          required: false
+          schema:
+            type: integer
+            format: int64
+        - name: timestamp
+          in: query
+          required: false
+          schema:
+            type: string
+            format: date-time
+      responses:
+        "403":
+          description: Not allowed to retrieve view data
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "409":
+          description: View schema could not be mapped
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "503":
+          description: Failed to establish connection with the metadata service
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "404":
+          description: Failed to find view in metadata database
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "400":
+          description: Request pagination is malformed
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "200":
+          description: Retrieved view data
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/QueryResultDto'
+      security:
+        - basicAuth: []
+        - bearerAuth: []
+    head:
+      tags:
+        - view-endpoint
+      summary: Retrieve view data
+      operationId: getData_1
+      parameters:
+        - name: databaseId
+          in: path
+          required: true
+          schema:
+            type: integer
+            format: int64
+        - name: viewId
+          in: path
+          required: true
+          schema:
+            type: integer
+            format: int64
+        - name: page
+          in: query
+          required: false
+          schema:
+            type: integer
+            format: int64
+        - name: size
+          in: query
+          required: false
+          schema:
+            type: integer
+            format: int64
+        - name: timestamp
+          in: query
+          required: false
+          schema:
+            type: string
+            format: date-time
+      responses:
+        "403":
+          description: Not allowed to retrieve view data
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "409":
+          description: View schema could not be mapped
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "503":
+          description: Failed to establish connection with the metadata service
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "404":
+          description: Failed to find view in metadata database
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "400":
+          description: Request pagination is malformed
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "200":
+          description: Retrieved view data
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/QueryResultDto'
+      security:
+        - basicAuth: []
+        - bearerAuth: []
+  /api/database/{databaseId}/table/{tableId}/data:
+    get:
+      tags:
+        - table-endpoint
+      summary: Retrieve table data
+      operationId: getData_2
+      parameters:
+        - name: databaseId
+          in: path
+          required: true
+          schema:
+            type: integer
+            format: int64
+        - name: tableId
+          in: path
+          required: true
+          schema:
+            type: integer
+            format: int64
+        - name: timestamp
+          in: query
+          required: false
+          schema:
+            type: string
+            format: date-time
+        - name: page
+          in: query
+          required: false
+          schema:
+            type: integer
+            format: int64
+        - name: size
+          in: query
+          required: false
+          schema:
+            type: integer
+            format: int64
+      responses:
+        "200":
+          description: Retrieved table data
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/QueryResultDto'
+        "404":
+          description: Failed to find table in metadata database
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "400":
+          description: Request pagination or table data select query is malformed
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "503":
+          description: Failed to establish connection with the metadata service
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+      security:
+        - basicAuth: []
+        - bearerAuth: []
+    put:
+      tags:
+        - table-endpoint
+      summary: Update table data
+      operationId: updateTuple
+      parameters:
+        - name: databaseId
+          in: path
+          required: true
+          schema:
+            type: integer
+            format: int64
+        - name: tableId
+          in: path
+          required: true
+          schema:
+            type: integer
+            format: int64
+      requestBody:
+        content:
+          application/json:
+            schema:
+              $ref: '#/components/schemas/TupleUpdateDto'
+        required: true
+      responses:
+        "403":
+          description: Update table data not allowed
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "404":
+          description: Failed to find table in metadata database
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "202":
+          description: Updated table data
+        "400":
+          description: Request pagination or table data select query is malformed
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "503":
+          description: Failed to establish connection with the metadata service
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+      security:
+        - basicAuth: []
+        - bearerAuth: []
+    post:
+      tags:
+        - table-endpoint
+      summary: Create table data
+      operationId: createTuple
+      parameters:
+        - name: databaseId
+          in: path
+          required: true
+          schema:
+            type: integer
+            format: int64
+        - name: tableId
+          in: path
+          required: true
+          schema:
+            type: integer
+            format: int64
+      requestBody:
+        content:
+          application/json:
+            schema:
+              $ref: '#/components/schemas/TupleDto'
+        required: true
+      responses:
+        "403":
+          description: Create table data not allowed
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "404":
+          description: Failed to find table in metadata database
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "201":
+          description: Created table data
+        "400":
+          description: Request pagination or table data select query is malformed
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "503":
+          description: Failed to establish connection with the metadata service
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+      security:
+        - basicAuth: []
+        - bearerAuth: []
+    delete:
+      tags:
+        - table-endpoint
+      summary: Delete table data
+      operationId: deleteTuple
+      parameters:
+        - name: databaseId
+          in: path
+          required: true
+          schema:
+            type: integer
+            format: int64
+        - name: tableId
+          in: path
+          required: true
+          schema:
+            type: integer
+            format: int64
+      requestBody:
+        content:
+          application/json:
+            schema:
+              $ref: '#/components/schemas/TupleDeleteDto'
+        required: true
+      responses:
+        "403":
+          description: Delete table data not allowed
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "404":
+          description: Failed to find table in metadata database
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "202":
+          description: Deleted table data
+        "400":
+          description: Request pagination or table data select query is malformed
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "503":
+          description: Failed to establish connection with the metadata service
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+      security:
+        - basicAuth: []
+        - bearerAuth: []
+    head:
+      tags:
+        - table-endpoint
+      summary: Retrieve table data
+      operationId: getData_3
+      parameters:
+        - name: databaseId
+          in: path
+          required: true
+          schema:
+            type: integer
+            format: int64
+        - name: tableId
+          in: path
+          required: true
+          schema:
+            type: integer
+            format: int64
+        - name: timestamp
+          in: query
+          required: false
+          schema:
+            type: string
+            format: date-time
+        - name: page
+          in: query
+          required: false
+          schema:
+            type: integer
+            format: int64
+        - name: size
+          in: query
+          required: false
+          schema:
+            type: integer
+            format: int64
+      responses:
+        "200":
+          description: Retrieved table data
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/QueryResultDto'
+        "404":
+          description: Failed to find table in metadata database
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "400":
+          description: Request pagination or table data select query is malformed
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "503":
+          description: Failed to establish connection with the metadata service
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+      security:
+        - basicAuth: []
+        - bearerAuth: []
+  /api/database/{databaseId}/subset/{subsetId}/data:
+    get:
+      tags:
+        - subset-endpoint
+      summary: Retrieved subset data
+      operationId: getData_4
+      parameters:
+        - name: databaseId
+          in: path
+          required: true
+          schema:
+            type: integer
+            format: int64
+        - name: subsetId
+          in: path
+          required: true
+          schema:
+            type: integer
+            format: int64
+        - name: page
+          in: query
+          required: false
+          schema:
+            type: integer
+            format: int64
+        - name: size
+          in: query
+          required: false
+          schema:
+            type: integer
+            format: int64
+      responses:
+        "400":
+          description: Malformed select query
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "403":
+          description: Not allowed to retrieve subset data
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "404":
+          description: Failed to find database in metadata database or query in query store of the data database
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "503":
+          description: Failed to communicate with database
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "200":
+          description: Retrieved subset data
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/QueryResultDto'
+      security:
+        - bearerAuth: []
+        - basicAuth: []
+    head:
+      tags:
+        - subset-endpoint
+      summary: Retrieved subset data
+      operationId: getData_5
+      parameters:
+        - name: databaseId
+          in: path
+          required: true
+          schema:
+            type: integer
+            format: int64
+        - name: subsetId
+          in: path
+          required: true
+          schema:
+            type: integer
+            format: int64
+        - name: page
+          in: query
+          required: false
+          schema:
+            type: integer
+            format: int64
+        - name: size
+          in: query
+          required: false
+          schema:
+            type: integer
+            format: int64
+      responses:
+        "400":
+          description: Malformed select query
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "403":
+          description: Not allowed to retrieve subset data
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "404":
+          description: Failed to find database in metadata database or query in query store of the data database
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "503":
+          description: Failed to communicate with database
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "200":
+          description: Retrieved subset data
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/QueryResultDto'
+      security:
+        - bearerAuth: []
+        - basicAuth: []
+  /api/database/{databaseId}/subset/{queryId}:
+    put:
+      tags:
+        - subset-endpoint
+      summary: Persist subset
+      operationId: persist
+      parameters:
+        - name: databaseId
+          in: path
+          required: true
+          schema:
+            type: integer
+            format: int64
+        - name: queryId
+          in: path
+          required: true
+          schema:
+            type: integer
+            format: int64
+      requestBody:
+        content:
+          application/json:
+            schema:
+              $ref: '#/components/schemas/QueryPersistDto'
+        required: true
+      responses:
+        "202":
+          description: Persisted subset
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/QueryDto'
+        "400":
+          description: Malformed select query
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "404":
+          description: Failed to find database in metadata database or query in query store of the data database
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "503":
+          description: Failed to communicate with database
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "403":
+          description: Not allowed to persist subset
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "417":
+          description: Failed to persist subset
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+      security:
+        - bearerAuth: []
+        - basicAuth: []
+  /api/database/{databaseId}/table/{tableId}/data/import:
+    post:
+      tags:
+        - table-endpoint
+      summary: Import dataset
+      operationId: importData
+      parameters:
+        - name: databaseId
+          in: path
+          required: true
+          schema:
+            type: integer
+            format: int64
+        - name: tableId
+          in: path
+          required: true
+          schema:
+            type: integer
+            format: int64
+      requestBody:
+        content:
+          application/json:
+            schema:
+              $ref: '#/components/schemas/ImportCsvDto'
+        required: true
+      responses:
+        "403":
+          description: Import table dataset not allowed
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "404":
+          description: Failed to find table in metadata database
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "503":
+          description: Failed to establish connection with the metadata service
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "400":
+          description: Import dataset query is malformed
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "202":
+          description: Import dataset successfully
+      security:
+        - basicAuth: []
+        - bearerAuth: []
+  /api/database/{databaseId}/subset:
+    get:
+      tags:
+        - subset-endpoint
+      summary: Find subsets
+      operationId: list
+      parameters:
+        - name: databaseId
+          in: path
+          required: true
+          schema:
+            type: integer
+            format: int64
+        - name: persisted
+          in: query
+          required: false
+          schema:
+            type: boolean
+      responses:
+        "404":
+          description: Failed to find database in metadata database or query in query store of the data database
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "503":
+          description: Failed to communicate with database
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "403":
+          description: Not allowed to find subsets
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "200":
+          description: Found subsets
+          content:
+            application/json:
+              schema:
+                type: string
+      security:
+        - basicAuth: []
+        - bearerAuth: []
+    post:
+      tags:
+        - subset-endpoint
+      summary: Create subset
+      operationId: create_3
+      parameters:
+        - name: databaseId
+          in: path
+          required: true
+          schema:
+            type: integer
+            format: int64
+        - name: page
+          in: query
+          required: false
+          schema:
+            type: integer
+            format: int64
+        - name: size
+          in: query
+          required: false
+          schema:
+            type: integer
+            format: int64
+        - name: timestamp
+          in: query
+          required: false
+          schema:
+            type: string
+            format: date-time
+      requestBody:
+        content:
+          application/json:
+            schema:
+              $ref: '#/components/schemas/ExecuteStatementDto'
+        required: true
+      responses:
+        "400":
+          description: Malformed select query
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "404":
+          description: Failed to find database in metadata database or query in query store of the data database
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "503":
+          description: Failed to communicate with database
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "403":
+          description: Not allowed to find subset
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "201":
+          description: Created subset
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/QueryResultDto'
+        "417":
+          description: Failed to insert query into query store of data database
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "501":
+          description: Failed to execute query as it contains non-supported keywords
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+      security:
+        - basicAuth: []
+        - bearerAuth: []
+  /api/database/{databaseId}/table/{tableId}/history:
+    get:
+      tags:
+        - table-endpoint
+      summary: Find table history
+      operationId: getHistory
+      parameters:
+        - name: databaseId
+          in: path
+          required: true
+          schema:
+            type: integer
+            format: int64
+        - name: tableId
+          in: path
+          required: true
+          schema:
+            type: integer
+            format: int64
+      responses:
+        "404":
+          description: Failed to find table history in data database
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "200":
+          description: Found table history
+          content:
+            application/json:
+              schema:
+                type: string
+        "403":
+          description: Find table history not allowed
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "503":
+          description: Failed to establish connection with the metadata service
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+      security:
+        - basicAuth: []
+        - bearerAuth: []
+  /api/database/{databaseId}/table/{tableId}/export:
+    get:
+      tags:
+        - table-endpoint
+      summary: Export table data
+      operationId: exportData
+      parameters:
+        - name: databaseId
+          in: path
+          required: true
+          schema:
+            type: integer
+            format: int64
+        - name: tableId
+          in: path
+          required: true
+          schema:
+            type: integer
+            format: int64
+        - name: timestamp
+          in: query
+          required: false
+          schema:
+            type: string
+            format: date-time
+      responses:
+        "404":
+          description: Failed to find table in metadata database
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "200":
+          description: Exported table data
+          content:
+            application/json:
+              schema:
+                type: string
+                format: binary
+        "400":
+          description: Request pagination or table data select query is malformed
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "503":
+          description: Failed to establish connection with the metadata service
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "403":
+          description: Export table data not allowed
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+      security:
+        - basicAuth: []
+        - bearerAuth: []
+  /api/database/{databaseId}/subset/{subsetId}:
+    get:
+      tags:
+        - subset-endpoint
+      summary: Find subset
+      operationId: findById
+      parameters:
+        - name: databaseId
+          in: path
+          required: true
+          schema:
+            type: integer
+            format: int64
+        - name: subsetId
+          in: path
+          required: true
+          schema:
+            type: integer
+            format: int64
+        - name: timestamp
+          in: query
+          required: false
+          schema:
+            type: string
+            format: date-time
+      responses:
+        "400":
+          description: Malformed select query
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "404":
+          description: Failed to find database in metadata database or query in query store of the data database
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "503":
+          description: Failed to communicate with database
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "403":
+          description: Not allowed to find subset
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "406":
+          description: Failed to find acceptable representation
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
+        "200":
+          description: Found subset
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/QueryDto'
+            text/csv: {}
+      security:
+        - basicAuth: []
+        - bearerAuth: []
+  /api/search:
+    get:
+      consumes:
+        - application/json
+      description: Performs a fuzzy search
+      operationId: post_fuzzy_search
+      parameters:
+        - in: query
+          required: true
+          schema:
+            properties:
+              q:
+                example: air quality
+                type: string
+            type: string
+      produces:
+        - application/json
+      responses:
+        "200":
+          content:
+            application/json:
+              schema:
+                properties:
+                  results:
+                    items:
+                      type: object
+                    type: array
+                type: object
+          description: OK, contains the elements formatted as an array of JSON arrays
+        "415":
+          description: Wrong accept type
+      summary: Performs a fuzzy search
+      tags:
+        - search-endpoint
+  /api/search/database/{database_id}:
+    delete:
+      consumes:
+        - application/json
+      description: Deletes a database
+      operationId: delete_database
+      produces:
+        - application/json
+      responses:
+        "202":
+          content:
+            application/json:
+              schema:
+                properties:
+                  id:
+                    example: 1
+                    implementation: int64
+                    type: integer
+                required:
+                  - id
+                type: object
+          description: Deleted database successfully
+        "404":
+          content:
+            application/json:
+              schema:
+                properties:
+                  message:
+                    example: Message
+                    type: string
+                  success:
+                    example: false
+                    type: boolean
+                required:
+                  - success
+                  - message
+                type: object
+          description: Database not found
+      security:
+        - bearerAuth: []
+        - basicAuth: []
+      summary: Deletes a database
+      tags:
+        - database-endpoint
+    put:
+      consumes:
+        - application/json
+      description: Updates a database
+      operationId: update_database
+      parameters:
+        - in: body
+          name: body
+          required: true
+          schema:
+            properties:
+              internal_name:
+                example: air_quality_abcd
+                type: string
+              name:
+                example: Air Quality
+                type: string
+            type: object
+      produces:
+        - application/json
+      responses:
+        "202":
+          content:
+            application/json:
+              schema:
+                properties:
+                  id:
+                    example: 1
+                    implementation: int64
+                    type: integer
+                required:
+                  - id
+                type: object
+          description: Updated database successfully
+        "400":
+          content:
+            application/json:
+              schema:
+                properties:
+                  message:
+                    example: Message
+                    type: string
+                  success:
+                    example: false
+                    type: boolean
+                required:
+                  - success
+                  - message
+                type: object
+          description: Invalid schema
+        "404":
+          content:
+            application/json:
+              schema:
+                properties:
+                  message:
+                    example: Message
+                    type: string
+                  success:
+                    example: false
+                    type: boolean
+                required:
+                  - success
+                  - message
+                type: object
+          description: Database not found
+      security:
+        - bearerAuth: []
+        - basicAuth: []
+      summary: Updates a database
+      tags:
+        - database-endpoint
+  /api/search/{index}:
+    get:
+      consumes:
+        - application/json
+      description: Gets the index
+      operationId: get_index
+      parameters:
+        - description: The search type.
+          in: path
+          name: type
+          required: true
+          schema:
+            enum:
+              - database
+              - table
+              - view
+              - column
+              - user
+              - identifier
+              - concept
+              - unit
+            type: string
+        - in: body
+          name: body
+          required: true
+          schema:
+            properties:
+              field_value_pairs:
+                type: object
+              search_term:
+                example: air quality
+                type: string
+              t1:
+                example: 0
+                type: integer
+              t2:
+                example: 100
+                type: integer
+            type: object
+      produces:
+        - application/json
+      responses:
+        "200":
+          content:
+            application/json:
+              schema:
+                properties:
+                  results:
+                    items:
+                      type: object
+                    type: array
+                  type:
+                    description: Same as the requested type
+                    enum:
+                      - database
+                      - table
+                      - view
+                      - column
+                      - user
+                      - identifier
+                      - concept
+                      - unit
+                    type: string
+                type: object
+          description: OK, contains the elements formatted as an array of JSON arrays
+      summary: Gets the index
+      tags:
+        - search-endpoint
+  /api/search/{type}:
+    post:
+      consumes:
+        - application/json
+      description: Performs a general search
+      operationId: post_general_search
+      parameters:
+        - description: The search type.
+          in: path
+          name: type
+          required: true
+          schema:
+            enum:
+              - database
+              - table
+              - view
+              - column
+              - user
+              - identifier
+              - concept
+              - unit
+            type: string
+        - in: query
+          name: t1
+          schema:
+            type: integer
+        - in: query
+          name: t2
+          schema:
+            type: integer
+        - in: body
+          name: body
+          required: true
+          schema:
+            properties:
+              field_value_pairs:
+                type: object
+              search_term:
+                example: air quality
+                type: string
+            type: object
+      produces:
+        - application/json
+      responses:
+        "200":
+          content:
+            application/json:
+              schema:
+                properties:
+                  results:
+                    items:
+                      type: object
+                    type: array
+                  type:
+                    description: Same as the requested type
+                    enum:
+                      - database
+                      - table
+                      - view
+                      - column
+                      - user
+                      - identifier
+                      - concept
+                      - unit
+                    type: string
+                type: object
+          description: OK, contains the elements formatted as an array of JSON arrays
+      summary: Performs a general search
+      tags:
+        - search-endpoint
+  /api/search/{type}/fields:
+    get:
+      operationId: get_fields
+      parameters:
+        - description: The search type.
+          in: path
+          name: type
+          required: true
+          schema:
+            enum:
+              - database
+              - table
+              - view
+              - column
+              - user
+              - identifier
+              - concept
+              - unit
+            type: string
+      responses:
+        "200":
+          content:
+            application/json:
+              schema:
+                properties:
+                  results:
+                    items:
+                      properties:
+                        attr_friendly_name:
+                          example: Name
+                          type: string
+                        attr_name:
+                          example: name
+                          type: string
+                        type:
+                          description: OpenSearch data types.
+                          example: string
+                          type: string
+                      type: object
+                    type: array
+                type: object
+          description: List of fields
+        "404":
+          description: Invalid type.
+      summary: Get searchable fields
+      tags:
+        - search-endpoint
+  /health:
+    get:
+      consumes:
+        - application/json
+      description: |
+        Return UP if the instance is ready to serve connections.
+      produces:
+        - application/json
+      responses:
+        "200":
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/Health'
+          description: OK, service is up and running
+        "404":
+          description: Service is not yet ready
+      summary: Return a healthcheck
+      tags:
+        - actuator
+  /api/analyse/database/{database_id}/table/{table_id}/statistics:
+    get:
+      operationId: analyse_table_stat
+      parameters:
+        - example: 1
+          in: path
+          name: database_id
+          required: true
+          schema:
+            format: int64
+            type: integer
+        - example: 1
+          in: path
+          name: table_id
+          required: true
+          schema:
+            format: int64
+            type: integer
+      responses:
+        "202":
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/TableStats'
+          description: Determined statistics
+        "400":
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ErrorDto'
+          description: Missing parameters
+        "404":
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ErrorDto'
+          description: Table not found
+      security:
+        - bearerAuth: []
+        - basicAuth: []
+      summary: Determine table statistics
+      tags:
+        - analyse-endpoint
+  /api/analyse/datatypes:
+    get:
+      consumes:
+        - application/json
+      description: This is a simple API which returns the datatypes of a (path) csv file
+      operationId: analyse_datatypes
+      parameters:
+        - example: filename_s3_key
+          in: query
+          name: filename
+          required: true
+          schema:
+            type: string
+        - example: ','
+          in: query
+          name: separator
+          required: true
+          schema:
+            type: string
+        - example: "false"
+          in: query
+          name: enum
+          required: false
+          schema:
+            type: boolean
+        - example: "2.5"
+          in: query
+          name: enum_tol
+          required: false
+          schema:
+            type: float
+      produces:
+        - application/json
+      responses:
+        "202":
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/DataTypesDto'
+          description: Determined data types successfully
+        "400":
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ErrorDto'
+          description: Failed to determine data types
+        "404":
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ErrorDto'
+          description: Failed to find file in Storage Service
+        "500":
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ErrorDto'
+          description: Unexpected system error
+      summary: Determine datatypes
+      tags:
+        - analyse-endpoint
+  /api/analyse/keys:
+    get:
+      consumes:
+        - application/json
+      description: This is a simple API which returns the primary keys + ranking of a (path) csv file
+      operationId: analyse_keys
+      parameters:
+        - example: filename_s3_key
+          in: query
+          name: filename
+          required: true
+          schema:
+            type: string
+        - example: ','
+          in: query
+          name: separator
+          required: true
+          schema:
+            type: string
+      produces:
+        - application/json
+      responses:
+        "202":
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/KeysDto'
+          description: Determined keys successfully
+        "400":
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ErrorDto'
+          description: Failed to determine keys
+        "404":
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ErrorDto'
+          description: Failed to find file in Storage Service or is empty
+        "500":
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ErrorDto'
+          description: Unexpected system error
+      summary: Determine primary keys
+      tags:
+        - analyse-endpoint
+  /sidecar/export/{filename}:
+    post:
+      consumes:
+        - application/json
+      description: |
+        Exports a specific .csv file to the Storage Service via S3
+      parameters:
+        - description: Name of the object file to export to the Storage Service
+          in: path
+          name: filename
+          required: true
+      produces:
+        - application/json
+      responses:
+        "202":
+          content: {}
+          description: Exported the .csv
+        "400":
+          description: The Storage Service could not be contacted or .csv was not found.
+      security:
+        - bearerAuth: []
+        - basicAuth: []
+      summary: Exports a .csv to the Storage Service
+      tags:
+        - sidecar
+  /sidecar/import/{filename}:
+    post:
+      consumes:
+        - application/json
+      description: |
+        Imports a specific .csv file from the Storage Service via S3
+      parameters:
+        - description: Name of the object file to import from the Storage Service
+          in: path
+          name: filename
+          required: true
+      produces:
+        - application/json
+      responses:
+        "202":
+          content: {}
+          description: Imported the .csv
+        "400":
+          description: The Storage Service could not be contacted or .csv was not found.
+      security:
+        - bearerAuth: []
+        - basicAuth: []
+      summary: Imports a .csv from the Storage Service
+      tags:
+        - sidecar
diff --git a/.docs/.swagger/custom.css b/.docs/.swagger/custom.css
index b4eb2af41e..c1056f453d 100644
--- a/.docs/.swagger/custom.css
+++ b/.docs/.swagger/custom.css
@@ -3,6 +3,10 @@ body {
     background: #eee;
 }
 
+#logo {
+    margin-top: 1rem;
+}
+
 .scheme-container {
     background: none !important;
     box-shadow: none !important;
diff --git a/.docs/.swagger/swagger-generate.sh b/.docs/.swagger/swagger-generate.sh
index 1469a23bd0..c293e6c5cf 100644
--- a/.docs/.swagger/swagger-generate.sh
+++ b/.docs/.swagger/swagger-generate.sh
@@ -9,7 +9,7 @@ services[3305]=sidecar
 function retrieve () {
   if [[ "$2" == analyse ]] || [[ "$2" == search ]] || [[ "$2" == sidecar ]]; then
     echo "... retrieve json api from localhost:$1"
-    curl -sSL "http://localhost:$1/api-$2.json" | yq -y > "./.docs/.swagger/api-$2.yaml"
+    curl -sSL "http://localhost:$1/api-$2.json" | yq -p=json > "./.docs/.swagger/api-$2.yaml"
   else
     echo "... retrieve yaml api from localhost:$1"
     curl -sSL "http://localhost:$1/v3/api-docs.yaml" > "./.docs/.swagger/api-$2.yaml"
diff --git a/.docs/.swagger/swagger-site.sh b/.docs/.swagger/swagger-site.sh
index f6f91bc910..d8d91a73cb 100644
--- a/.docs/.swagger/swagger-site.sh
+++ b/.docs/.swagger/swagger-site.sh
@@ -1,23 +1,21 @@
 #!/bin/bash
 declare -A services
-services[1080]=upload
+#services[1080]=upload
 services[4000]=search
 services[5000]=analyse
 services[9093]=data
 services[9099]=metadata
 services[3305]=sidecar
 
-# ensure target directories are present
-echo "ensure target directory ./site are present"
-mkdir -p ./site
+rm -f ./tmp.yaml
+mkdir -p ./site/swagger
+touch ./tmp.yaml
 
-# extract static site
-echo "extract static site .docs/.swagger/dist.tar.gz"
+# -> build paths: map
 for key in "${!services[@]}"; do
-  mkdir -p ./site/${services[$key]}
-  echo "extract static site ./swagger-ui.html -> ./site/${services[$key]}"
-  cp .docs/.swagger/swagger-ui.html ./site/${services[$key]}/index.html
-  cp .docs/.swagger/custom.css ./site/${services[$key]}/custom.css
-  sed -i -e "s/__SERVICENAME__/${services[$key]^} Service/g" ./site/${services[$key]}/index.html
-  cp ".docs/.swagger/api-${services[$key]}.yaml" "./site/${services[$key]}/api.yaml"
-done
\ No newline at end of file
+  cat .docs/.swagger/api-${services[$key]}.yaml | yq .paths >> ./tmp.yaml
+done
+
+# -> merge with api.base.yaml into final api.yaml
+yq ".paths *= load(\"tmp.yaml\")" .docs/.swagger/api.base.yaml > .docs/.swagger/api.yaml
+
diff --git a/.docs/.swagger/swagger-ui.html b/.docs/.swagger/swagger-ui.html
index ef3ce55743..98f7cb441f 100644
--- a/.docs/.swagger/swagger-ui.html
+++ b/.docs/.swagger/swagger-ui.html
@@ -3,16 +3,22 @@
 <head>
     <meta charset="utf-8"/>
     <meta name="viewport" content="width=device-width, initial-scale=1"/>
-    <meta name="description" content="__SERVICENAME__ API description in OpenAPI 3.0"/>
-    <title>__SERVICENAME__ API</title>
-    <link rel="stylesheet" href="https://unpkg.com/swagger-ui-dist@5.11.1/swagger-ui.css"/>
+    <meta name="description" content="DBRepo REST API description in OpenAPI 3.0"/>
+    <title>DBRepo REST API</title>
+    <link rel="stylesheet" href="https://unpkg.com/swagger-ui-dist@5.17.12/swagger-ui.css"/>
     <link rel="stylesheet" href="./custom.css"/>
     <link rel="icon" href="https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/raw/master/.docs/images/signet_white.png" />
 </head>
 <body>
+<div class="swagger-ui">
+    <div class="wrapper">
+        <img id="logo" width="300" alt="DBRepo Logo"
+             src="https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/raw/master/dbrepo-ui/public/logo.png" />
+    </div>
+</div>
 <div id="swagger-ui"></div>
-<script src="https://unpkg.com/swagger-ui-dist@5.11.1/swagger-ui-bundle.js" crossorigin></script>
-<script src="https://unpkg.com/swagger-ui-dist@5.11.1/swagger-ui-standalone-preset.js" crossorigin></script>
+<script src="https://unpkg.com/swagger-ui-dist@5.17.12/swagger-ui-bundle.js" crossorigin></script>
+<script src="https://unpkg.com/swagger-ui-dist@5.17.12/swagger-ui-standalone-preset.js" crossorigin></script>
 <script>
     window.onload = () => {
       window.ui = SwaggerUIBundle({
diff --git a/.docs/system-services-analyse.md b/.docs/api/analyse-service.md
similarity index 99%
rename from .docs/system-services-analyse.md
rename to .docs/api/analyse-service.md
index 8d940aba68..be5efdbf5c 100644
--- a/.docs/system-services-analyse.md
+++ b/.docs/api/analyse-service.md
@@ -2,8 +2,6 @@
 author: Martin Weise
 ---
 
-# Analyse Service
-
 ## tl;dr
 
 !!! debug "Debug Information"
diff --git a/.docs/system-services-authentication.md b/.docs/api/auth-service.md
similarity index 99%
rename from .docs/system-services-authentication.md
rename to .docs/api/auth-service.md
index 0ec89e11c1..5d3e0f42b2 100644
--- a/.docs/system-services-authentication.md
+++ b/.docs/api/auth-service.md
@@ -2,8 +2,6 @@
 author: Martin Weise
 ---
 
-# Authentication Service
-
 ## tl;dr
 
 !!! debug "Debug Information"
@@ -38,7 +36,7 @@ We organize the roles into default- and escalated composite roles. There are thr
 Each of the composite role has a set of other associated composite roles.
 
 <figure markdown>
-![](images/groups-roles.png)
+![Grouped Roles](../images/groups-roles.png)
 <figcaption>Three groups (Researchers, Developers, Data Stewards) and their composite roles associated.</figcaption>
 </figure>
 
diff --git a/.docs/system-services-broker.md b/.docs/api/broker-service.md
similarity index 96%
rename from .docs/system-services-broker.md
rename to .docs/api/broker-service.md
index 7ed0c3333f..0345271bf1 100644
--- a/.docs/system-services-broker.md
+++ b/.docs/api/broker-service.md
@@ -2,8 +2,6 @@
 author: Martin Weise
 ---
 
-# Broker Service
-
 ## tl;dr
 
 !!! debug "Debug Information"
@@ -40,14 +38,14 @@ queue `dbrepo`, connected with a binding of `dbrepo.#` which routes all tuples w
 the dot!) to this queue.
 
 <figure markdown>
-   ![Data ingest](images/queue-quorum.png)
+   ![Data ingest](../images/queue-quorum.png)
    <figcaption>Replicated quorum queue dbrepo in a cluster with three nodes</figcaption>
 </figure>
 
 The consumer takes care of writing it to the correct table in the [Data Service](../system-services-data).
 
 <figure markdown>
-   ![Data ingest](images/exchange-binding.png)
+   ![Data ingest](../images/exchange-binding.png)
    <figcaption>Architecture Broker Service</figcaption>
 </figure>
 
diff --git a/.docs/system-databases-data.md b/.docs/api/data-db.md
similarity index 97%
rename from .docs/system-databases-data.md
rename to .docs/api/data-db.md
index e290bc1342..859264a53a 100644
--- a/.docs/system-databases-data.md
+++ b/.docs/api/data-db.md
@@ -2,10 +2,6 @@
 author: Martin Weise
 ---
 
-# Data Database
-
-## tl;dr
-
 !!! debug "Debug Information"
 
     Image: [`bitnami/mariadb-galera:11.2.2-debian-11-r0`](https://hub.docker.com/r/bitnami/mariadb-galera)
@@ -64,7 +60,7 @@ the [`boto3`](https://boto3.amazonaws.com/v1/documentation/api/latest/index.html
 natively.
 
 <figure markdown>
-![Sidecar architecture detailed](images/architecture-data-db.svg)
+![Sidecar architecture detailed](../images/architecture-data-db.svg)
 <figcaption>Sidecar that handles the CSV-file upload/download.</figcaption>
 </figure>
 
diff --git a/.docs/system-services-data.md b/.docs/api/data-service.md
similarity index 90%
rename from .docs/system-services-data.md
rename to .docs/api/data-service.md
index b8a1fe6263..df6b87e2f0 100644
--- a/.docs/system-services-data.md
+++ b/.docs/api/data-service.md
@@ -2,8 +2,6 @@
 author: Martin Weise
 ---
 
-# Data Service
-
 ## tl;dr
 
 !!! debug "Debug Information"
@@ -26,8 +24,6 @@ Data Service up.
 
 ## Limitations
 
-* No clear differentiation for data-handling endpoints from the [Metadata Service](../system-services-metadata) yet.
-
 !!! question "Do you miss functionality? Do these limitations affect you?"
 
     We strongly encourage you to help us implement it as we are welcoming contributors to open-source software and get
diff --git a/.docs/system-services-gateway.md b/.docs/api/gateway-service.md
similarity index 99%
rename from .docs/system-services-gateway.md
rename to .docs/api/gateway-service.md
index 9950110c71..172892e3bd 100644
--- a/.docs/system-services-gateway.md
+++ b/.docs/api/gateway-service.md
@@ -2,8 +2,6 @@
 author: Martin Weise
 ---
 
-# Gateway Service
-
 ## tl;dr
 
 !!! debug "Debug Information"
diff --git a/.docs/usage-overview.md b/.docs/api/index.md
similarity index 100%
rename from .docs/usage-overview.md
rename to .docs/api/index.md
diff --git a/.docs/api/metadata-db.md b/.docs/api/metadata-db.md
new file mode 100644
index 0000000000..e56b88ab8b
--- /dev/null
+++ b/.docs/api/metadata-db.md
@@ -0,0 +1,5 @@
+---
+author: Martin Weise
+---
+
+TBD
\ No newline at end of file
diff --git a/.docs/system-services-metadata.md b/.docs/api/metadata-service.md
similarity index 99%
rename from .docs/system-services-metadata.md
rename to .docs/api/metadata-service.md
index b7fe150c8b..33f3db3bfe 100644
--- a/.docs/system-services-metadata.md
+++ b/.docs/api/metadata-service.md
@@ -2,8 +2,6 @@
 author: Martin Weise
 ---
 
-# Metadata Service
-
 ## tl;dr
 
 !!! debug "Debug Information"
diff --git a/.docs/api/open-api.md b/.docs/api/open-api.md
new file mode 100644
index 0000000000..f06ec67a0d
--- /dev/null
+++ b/.docs/api/open-api.md
@@ -0,0 +1,7 @@
+---
+author: Martin Weise
+---
+
+All services are documented using the 
+[![OpenAPI 3.0](https://img.shields.io/badge/OpenAPI-3.0-leaf?logo=swagger&logoColor=white)](https://www.openapis.org/){ tabindex=-1 }
+documentation standard.
diff --git a/.docs/usage-python.md b/.docs/api/python.md
similarity index 95%
rename from .docs/usage-python.md
rename to .docs/api/python.md
index ce83d6304f..7289639bfa 100644
--- a/.docs/usage-python.md
+++ b/.docs/api/python.md
@@ -2,15 +2,11 @@
 author: Martin Weise
 ---
 
-# Python Library
+[![PyPI - Version](https://img.shields.io/pypi/v/dbrepo)](https://pypi.org/project/dbrepo/){ tabindex=-1 }
 
 ## tl;dr
 
-!!! debug "Debug Information"
-
-    PyPI: [`dbrepo`](https://pypi.org/project/dbrepo/)
-
-    * Full module documentation <a href="../sphinx" target="_blank">:fontawesome-solid-square-up-right: view online</a>
+[:fontawesome-solid-cube: &nbsp;View Docs](../sphinx){ .md-button .md-button--primary }
 
 ## Installing
 
diff --git a/.docs/system-services-search.md b/.docs/api/search-service.md
similarity index 92%
rename from .docs/system-services-search.md
rename to .docs/api/search-service.md
index edca2df6fc..fff317d6f8 100644
--- a/.docs/system-services-search.md
+++ b/.docs/api/search-service.md
@@ -2,8 +2,6 @@
 author: Martin Weise
 ---
 
-# Search Service
-
 ## tl;dr
 
 !!! debug "Debug Information"
@@ -22,7 +20,7 @@ the [User Interface](../system-other-ui) to allow structured search of databases
 views, semantic concepts &amp; units of measurements used in databases.
 
 <figure markdown>
-![Built-in search](images/screenshots/feature-search.png){ .img-border }
+![Built-in search](../images/screenshots/feature-search.png){ .img-border }
 <figcaption>Figure 1: Faceted browsing</figcaption>
 </figure>
 
@@ -33,7 +31,7 @@ index [`database`](https://gitlab.phaidra.org/fair-data-austria-db-repository/fd
 that holds all the metadata information which is mirrored from the [Metadata Database](../system-databases-metadata).
 
 <figure markdown>
-![Mirroring statistical properties in Metadata Database and Search Database](images/statistics-mirror.png)
+![Mirroring statistical properties in Metadata Database and Search Database](../images/statistics-mirror.png)
 <figcaption>Figure 2: Statistical properties in Metadata Database and Search Database</figcaption>
 </figure>
 
@@ -58,7 +56,7 @@ search can be performed when at least two columns have the same semantic concept
 the units of measurements can be transformed.
 
 <figure markdown>
-![Two tables with compatible semantic concepts (Temperature) and units of measurement (left is in degree Celsius, right is in degree Fahrenheit)](images/statistics-example.png)
+![Two tables with compatible semantic concepts (Temperature) and units of measurement (left is in degree Celsius, right is in degree Fahrenheit)](../images/statistics-example.png)
 <figcaption>Figure 3: Two tables with compatible semantic concepts and units of measurement</figcaption>
 </figure>
 
@@ -70,7 +68,7 @@ search service transforms the query to the dataset on the right from &deg;F to c
 between 32 - 50 &deg;F"* instead.
 
 <figure markdown>
-![Unit independent search query transformation](images/statistics-example-unit-independent-search.png)
+![Unit independent search query transformation](../images/statistics-example-unit-independent-search.png)
 <figcaption>Figure 4: Unit independent search query transformation</figcaption>
 </figure>
 
diff --git a/.docs/system-services-storage.md b/.docs/api/storage-service.md
similarity index 95%
rename from .docs/system-services-storage.md
rename to .docs/api/storage-service.md
index f6b9ae28ee..2219c5fa57 100644
--- a/.docs/system-services-storage.md
+++ b/.docs/api/storage-service.md
@@ -2,8 +2,6 @@
 author: Martin Weise
 ---
 
-# Storage Service
-
 ## tl;dr
 
 !!! debug "Debug Information"
@@ -31,10 +29,6 @@ The default configuration creates two buckets `dbrepo-upload`, `dbrepo-download`
 * `dbrepo-upload` for CSV-file upload (for import of data, analysis, etc.) from the User Interface
 * `dbrepo-download` for CSV-file download (exporting data, metadata, etc.)
 
-### Examples
-
-See the [usage page](../usage-storage).
-
 ## Limitations
 
 * No support for multiple regions.
diff --git a/.docs/system-other-ui.md b/.docs/api/ui.md
similarity index 75%
rename from .docs/system-other-ui.md
rename to .docs/api/ui.md
index cb8a133103..659b21ea90 100644
--- a/.docs/system-other-ui.md
+++ b/.docs/api/ui.md
@@ -2,38 +2,13 @@
 author: Martin Weise
 ---
 
-# User Interface
-
-## tl;dr
-
-!!! debug "Debug Information"
-
-    Image: [`dbrepo/ui:__APPVERSION__`](https://hub.docker.com/r/dbrepo/ui)
-
-    * Ports: 3000/tcp
-    * UI: `http://<hostname>/`
-
-## Overview
-
-It provides a graphical interface for a researcher to interact with the API (c.f. Figure 1). 
-
-<figure markdown>
-![User Interface](images/screenshots/ui.png){ .img-border }
-<figcaption>Figure 1: User Interface</figcaption>
-</figure>
-
-For examples on how to use the User Interface, visit the [Usage Overview](../usage-overview/) to find out how to create
-users, databases and how to import your data.
-
-### Settings
-
 The User Interface is configured in the `runtimeConfig` section of the `nuxt.config.ts` file during build time. For the
 runtime, you need to override those values through environment variables or by mounting a `.env` file. As a small
 example, you can configure the logo :material-numeric-1-circle-outline: in Figure 2. Make sure you mount the logo as
 image as well, in this example we want to mount a custom logo `my_logo.png` into the container and specify the name.
 
 <figure markdown>
-![Architecture of the UI microservice](images/screenshots/ui-config-step-1.png){ .img-border }
+![Architecture of the UI microservice](../images/screenshots/ui-config-step-1.png){ .img-border }
 <figcaption>Figure 2: Architecture of the UI microservice</figcaption>
 </figure>
 
@@ -64,7 +39,7 @@ The server-client architecture of the User Interface is shown in [Figure 3](#fig
 User Interface on development.
 
 <figure id="fig3" markdown>
-![Architecture of the UI microservice](images/architecture-ui.svg)
+![Architecture of the UI microservice](../images/architecture-ui.svg)
 <figcaption>Figure 3: Architecture of the User Interface</figcaption>
 </figure>
 
diff --git a/.docs/system-services-upload.md b/.docs/api/upload-service.md
similarity index 95%
rename from .docs/system-services-upload.md
rename to .docs/api/upload-service.md
index 56cfb27ddc..88812d308b 100644
--- a/.docs/system-services-upload.md
+++ b/.docs/api/upload-service.md
@@ -2,8 +2,6 @@
 author: Martin Weise
 ---
 
-# Upload Service
-
 ## tl;dr
 
 !!! debug "Debug Information"
@@ -44,7 +42,7 @@ If your deployment is secured with SSL/TLS (recommended) set the `useSsl` variab
 The Upload Service communicates internally with the [Storage Service](../system-services-storage) (c.f. [Figure 1](#fig1)).
 
 <figure id="fig1" markdown>
-![Architecture of the Upload Service](images/architecture-upload-service.svg)
+![Architecture of the Upload Service](../images/architecture-upload-service.svg)
 <figcaption>Figure 1: Architecture of the Upload Service</figcaption>
 </figure>
 
diff --git a/.docs/concepts/authentication.md b/.docs/concepts/authentication.md
new file mode 100644
index 0000000000..5919b25723
--- /dev/null
+++ b/.docs/concepts/authentication.md
@@ -0,0 +1,15 @@
+---
+author: Martin Weise
+---
+
+## Bearer Authentication
+
+TBD
+
+## Basic Authentication
+
+TBD
+
+## OpenID Connect (OIDC)
+
+TBD
\ No newline at end of file
diff --git a/.docs/concepts/databases.md b/.docs/concepts/databases.md
new file mode 100644
index 0000000000..1076f775ef
--- /dev/null
+++ b/.docs/concepts/databases.md
@@ -0,0 +1,33 @@
+---
+author: Martin Weise
+---
+
+## Relational Database
+
+TBD
+
+## Query
+
+TBD
+
+## System Versioning
+
+TBD
+
+## Data Ingest
+
+<figure markdown>
+![Data ingest](../images/data-ingest.svg)
+<figcaption>Figure 1: Modes of data ingest</figcaption>
+</figure>
+
+More [usage examples](../usage-overview/) include how to ingest datasets, data dumps, live data, etc.
+
+### Generation of Metadata in DBRepo
+
+You can generate metadata e.g. UI tbd
+
+!!! warning "Limitation"
+
+    Only system-versioned tables are considered when generating metadata to tables. If your table is not system-versioned
+    e.g. a base table, it will not be visible in the UI.
\ No newline at end of file
diff --git a/.docs/concepts/index.md b/.docs/concepts/index.md
new file mode 100644
index 0000000000..8aa7e58597
--- /dev/null
+++ b/.docs/concepts/index.md
@@ -0,0 +1,16 @@
+---
+author: Martin Weise
+---
+
+This is the full system description from a technical/developer view and continuously being updated as the development
+progresses. 
+
+The remainder of this Sec. is organized as follows: in [Authentication](../concepts/authentication)
+we describe how to to accessing important parts of DBRepo. Sec. [DBMS](../concepts/dbms) describes database management
+systems on a high-level, Sec. [Messaging](../concepts/messaging) shows how data streams can be connected with DBRepo for
+e.g. continuous sensor measurements. Sec. [(Meta-)Data](../concepts/metadata) describes the data derived from the
+datasets, Sec. [Persistent Identifier](../concepts/pid) introduces how data is precisely identified for e.g. citation
+using the DOI system. Sec. [Search](../concepts/search) describes how anything in DBRepo can be searched, Sec.
+[Storage](../concepts/storage) shows how datasets can be uploaded/transferred between the services and Sec. 
+[User Interface](../concepts/ui) introduces the graphical interface for human interaction as part of virtual research
+environments.
\ No newline at end of file
diff --git a/.docs/concepts/messaging.md b/.docs/concepts/messaging.md
new file mode 100644
index 0000000000..448c7a3f63
--- /dev/null
+++ b/.docs/concepts/messaging.md
@@ -0,0 +1,15 @@
+---
+author: Martin Weise
+---
+
+## Tuple
+
+TBD
+
+## AMQP
+
+TBD
+
+## MQTT
+
+TBD
\ No newline at end of file
diff --git a/.docs/concepts/monitoring.md b/.docs/concepts/monitoring.md
new file mode 100644
index 0000000000..10a1b331eb
--- /dev/null
+++ b/.docs/concepts/monitoring.md
@@ -0,0 +1,136 @@
+---
+author: Martin Weise
+---
+
+## Prometheus Metrics
+
+We expose Prometheus metrics on all endpoints of the REST API. [Prometheus](https://prometheus.io/) is a cloud-native
+monitoring system using a time-series database. In the default deployment (Docker Compose / Kubernetes) no Prometheus
+instance is started.
+
+You need can setup Prometheus in a few minutes using
+a [Docker container](https://prometheus.io/docs/prometheus/latest/installation/).
+
+## Example
+
+## Analyse Service
+
+| **Metric**                  | **Description**                             |
+|-----------------------------|---------------------------------------------|
+| `dbrepo_analyse_datatypes`  | Time needed to analyse datatypes of dataset |
+| `dbrepo_analyse_keys`       | Time needed to analyse keys of dataset      |
+| `dbrepo_analyse_table_stat` | Time needed to analyse table statistics     |
+| `dbrepo_analyse_table_stat` | Time needed to analyse table statistics     |
+
+## Auth Service
+
+See [Keycloak documentation](https://www.keycloak.org/server/configuration-metrics).
+
+## Broker Service
+
+See [RabbitMQ documentation](https://www.rabbitmq.com/docs/prometheus).
+
+## Databases
+
+See [MariaDB Galera documentation](https://galeracluster.com/documentation/html_docs_20210213-1355-master/documentation/galera-manager-monitoring-clusters.html).
+
+The [Data Database Sidecar](#) metrics are:
+
+| **Metric**                      | **Description**                       |
+|---------------------------------|---------------------------------------|
+| `dbrepo_sidecar_import_dataset` | Time needed to import dataset from S3 |
+| `dbrepo_sidecar_export_dataset` | Time needed to export dataset to S3   |
+
+## Data Service
+
+| **Metric**                  | **Description**                           |
+|-----------------------------|-------------------------------------------|
+| `dbrepo_message_receive`    | Received AMQP message from Broker Service |
+| `dbrepo_subset_create`      | Create subset                             |
+| `dbrepo_subset_data`        | Retrieved subset data                     |
+| `dbrepo_subset_find`        | Find subset                               |
+| `dbrepo_subset_list`        | Find subsets                              |
+| `dbrepo_subset_persist`     | Persist subset                            |
+| `dbrepo_table_data_create`  | Create table data                         |
+| `dbrepo_table_data_delete`  | Delete table data                         |
+| `dbrepo_table_data_export`  | Export table data                         |
+| `dbrepo_table_data_history` | Find table history                        |
+| `dbrepo_table_data_import`  | Import dataset                            |
+| `dbrepo_table_data_list`    | Retrieve table data                       |
+| `dbrepo_table_data_update`  | Update table data                         |
+| `dbrepo_view_data`          | Retrieve view data                        |
+| `dbrepo_view_schema_list`   | Find view schemas                         |
+
+## Metadata Service
+
+| **Metric**                         | **Description**                   |
+|------------------------------------|-----------------------------------|
+| `dbrepo_user_refresh_token`        | Refresh user token                |
+| `dbrepo_identifier_save`           | Save identifier                   |
+| `dbrepo_oai_record_get`            | Get the record                    |
+| `dbrepo_access_give`               | Give access to some database      |
+| `dbrepo_ontologies_find`           | Find one ontology                 |
+| `dbrepo_database_findall`          | List databases                    |
+| `dbrepo_tables_refresh`            | Refresh database tables metadata  |
+| `dbrepo_license_findall`           | Get all licenses                  |
+| `dbrepo_user_modify`               | Modify user information           |
+| `dbrepo_container_findall`         | Find all containers               |
+| `dbrepo_maintenance_delete`        | Delete maintenance message        |
+| `dbrepo_maintenance_update`        | Update maintenance message        |
+| `dbrepo_ontologies_create`         | Register a new ontology           |
+| `dbrepo_identifier_delete`         | Delete some identifier            |
+| `dbrepo_oai_identify`              | Identify the repository           |
+| `dbrepo_database_create`           | Create database                   |
+| `dbrepo_oai_metadataformats_list`  | List the metadata formats         |
+| `dbrepo_user_password_modify`      | Modify user password              |
+| `dbrepo_semantic_concepts_findall` | List semantic concepts            |
+| `dbrepo_identifier_retrieve`       | Retrieve metadata from identifier |
+| `dbrepo_identifier_list`           | Find all identifiers              |
+| `dbrepo_views_findall`             | Find all views                    |
+| `dbrepo_identifier_create`         | Draft identifier                  |
+| `dbrepo_oai_identifiers_list`      | List the identifiers              |
+| `dbrepo_image_findall`             | Find all images                   |
+| `dbrepo_database_visibility`       | Update database visibility        |
+| `dbrepo_container_create`          | Create container                  |
+| `dbrepo_views_refresh`             | Refresh database views metadata   |
+| `dbrepo_database_find`             | Find some database                |
+| `dbrepo_access_get`                | Check access to some database     |
+| `dbrepo_identifier_find`           | Find some identifier              |
+| `dbrepo_maintenance_create`        | Create maintenance message        |
+| `dbrepo_container_delete`          | Delete some container             |
+| `dbrepo_ontologies_delete`         | Delete an ontology                |
+| `dbrepo_ontologies_findall`        | List all ontologies               |
+| `dbrepo_user_token`                | Obtain user token                 |
+| `dbrepo_view_find`                 | Find one view                     |
+| `dbrepo_user_create`               | Create user                       |
+| `dbrepo_ontologies_update`         | Update an ontology                |
+| `dbrepo_maintenance_findall`       | Find maintenance messages         |
+| `dbrepo_users_list`                | Find all users                    |
+| `dbrepo_image_find`                | Find some image                   |
+| `dbrepo_user_find`                 | Get a user info                   |
+| `dbrepo_image_delete`              | Delete some image                 |
+| `dbrepo_identifier_publish`        | Publish identifier                |
+| `dbrepo_image_update`              | Update some image                 |
+| `dbrepo_view_create`               | Create a view                     |
+| `dbrepo_semantic_units_findall`    | List semantic units               |
+| `dbrepo_image_create`              | Create image                      |
+| `dbrepo_database_image`            | Update database image             |
+| `dbrepo_view_delete`               | Delete one view                   |
+| `dbrepo_database_transfer`         | Update database owner             |
+| `dbrepo_maintenance_find`          | Find one maintenance message      |
+| `dbrepo_access_modify`             | Modify access to some database    |
+| `dbrepo_ontologies_entities_find`  | Find entities                     |
+| `dbrepo_access_delete`             | Revoke access to some database    |
+| `dbrepo_container_find`            | Find some container               |
+
+## Search Service
+
+| **Metric**                      | **Description**                                         |
+|---------------------------------|---------------------------------------------------------|
+| `dbrepo_search_index_list`      | Time needed to list search index                        |
+| `dbrepo_search_type_list`       | Time needed to list search types                        |
+| `dbrepo_search_fuzzy`           | Time needed to search fuzzy                             |
+| `dbrepo_search_type`            | Time needed to search by type                           |
+| `dbrepo_search_update_database` | Time needed to update a database in the search database |
+| `dbrepo_search_delete_database` | Time needed to delete a database in the search database |
+
diff --git a/.docs/concepts/pid.md b/.docs/concepts/pid.md
new file mode 100644
index 0000000000..c5d769192c
--- /dev/null
+++ b/.docs/concepts/pid.md
@@ -0,0 +1,7 @@
+---
+author: Martin Weise
+---
+
+## tbd
+
+tbd
diff --git a/.docs/concepts/search.md b/.docs/concepts/search.md
new file mode 100644
index 0000000000..8ae41c80ba
--- /dev/null
+++ b/.docs/concepts/search.md
@@ -0,0 +1,13 @@
+---
+author: Martin Weise
+---
+
+## Index
+
+TBD
+
+## Document
+
+TBD
+
+## Query
\ No newline at end of file
diff --git a/.docs/concepts/storage.md b/.docs/concepts/storage.md
new file mode 100644
index 0000000000..fcc975fab2
--- /dev/null
+++ b/.docs/concepts/storage.md
@@ -0,0 +1,15 @@
+---
+author: Martin Weise
+---
+
+## S3
+
+TBD
+
+## Sidecar
+
+TBD
+
+## Upload
+
+TBD
\ No newline at end of file
diff --git a/.docs/concepts/ui.md b/.docs/concepts/ui.md
new file mode 100644
index 0000000000..ab6848b7ba
--- /dev/null
+++ b/.docs/concepts/ui.md
@@ -0,0 +1,21 @@
+---
+author: Martin Weise
+---
+
+It provides a graphical interface for a researcher to interact with the API (c.f. Figure 1). 
+
+<figure markdown>
+![User Interface](../images/screenshots/ui.png){ .img-border }
+<figcaption>Figure 1: User Interface</figcaption>
+</figure>
+
+For examples on how to use the User Interface, visit the [API](../api/) page to find out how to create
+users, databases and how to import your data.
+
+## Server / Client
+
+TBD
+
+## Cache
+
+TBD
\ No newline at end of file
diff --git a/.docs/dev-guide-app.md b/.docs/contributing.md
similarity index 91%
rename from .docs/dev-guide-app.md
rename to .docs/contributing.md
index 6d20ae5065..259fcae55b 100644
--- a/.docs/dev-guide-app.md
+++ b/.docs/contributing.md
@@ -1,4 +1,8 @@
-# Application Developer Guide
+---
+author: Martin Weise
+---
+
+We welcome contributions to DBRepo!
 
 ## Dependencies
 
@@ -104,4 +108,11 @@ repository.
 
 ## Documentation
 
-For consistency reasons across the documentation, the resolution needs to be 1280x800 (16:10 ratio)
\ No newline at end of file
+For consistency reasons across the documentation, the resolution needs to be 1280x800 (16:10 ratio)
+
+## Roadmap
+
+- [x] Q1: Python library, versioning in every component, bumping frontend versions, i18n
+- [ ] Q2: Kubernetes deployment guidelines for OpenShift
+- [ ] Q3: Frontend tests, database dashboards
+- [ ] Q4: Release of 2.0.0
diff --git a/.docs/deployment-helm.md b/.docs/deployment-helm.md
index 59835476e7..745ad87b94 100644
--- a/.docs/deployment-helm.md
+++ b/.docs/deployment-helm.md
@@ -2,6 +2,8 @@
 author: Martin Weise
 ---
 
+[![Helm Chart version](https://img.shields.io/endpoint?url=https://artifacthub.io/badge/repository/dbrepo)](https://artifacthub.io/packages/helm/dbrepo/dbrepo){ tabindex=-1 }
+
 ## TL;DR
 
 To install DBRepo in your existing cluster, download the
diff --git a/.docs/dev-guide-infra.md b/.docs/dev-guide-infra.md
deleted file mode 100644
index cb01a76473..0000000000
--- a/.docs/dev-guide-infra.md
+++ /dev/null
@@ -1,78 +0,0 @@
-# Infrastructure Developer Guide
-
-## tl;dr
-
-```shell
-make cluster-start cluster-image-pull cluster-install
-```
-
-## Dependencies
-
-Local development depends on the following packages for Debian 12:
-
-```shell
-apt install -y make
-```
-
-Required tools with their own installing guides:
-
-* [Docker Engine](https://docs.docker.com/engine/install/) 24+
-* [Minikube](https://minikube.sigs.k8s.io/docs/start/) 1.32.0
-
-## Getting Started
-
-Start the local development cluster with the Docker driver (takes at least 8 vCPUs and 12GB RAM). It installs a Minikube
-single-node Kubernetes cluster with enabled Ingress and Dashboard
-
-```shell
-make cluster-start
-```
-
-Build the local images with `make build-docker` and copy them to the cluster image cache:
-
-```shell
-make cluster-image-pull
-```
-
-Build and install the Helm chart:
-
-```shell
-make cluster-install
-```
-
-## Debug
-
-Open the Minikube (Kubernetes) Dashboard:
-
-```shell
-make cluster-dashboard
-```
-
-<figure markdown>
-![Minikube Dashboard](images/screenshots/minikube-dashboard.png)
-<figcaption>Figure 1: Minikube Dashboard</figcaption>
-</figure>
-
-Optionally enable the Prometheus metrics addon with:
-
-```shell
-minikube addons enable metrics-server
-```
-
-## Test
-
-Test if the Helm chart raises errors on start (the script aborts after 5 minutes automatically if some pods are not
-starting or erroneous).
-
-```shell
-make cluster-test
-```
-
-## Uninstall
-
-To uninstall DBRepo from the local Minikube cluster, removing all data:
-
-```shell
-make cluster-uninstall
-```
-
diff --git a/.docs/dev-overview.md b/.docs/dev-overview.md
deleted file mode 100644
index e7c0e808b9..0000000000
--- a/.docs/dev-overview.md
+++ /dev/null
@@ -1,21 +0,0 @@
-# Overview
-
-## Guides
-
-* The [application developer guide](../dev-guide-app) guides you through the steps on how to build DBRepo from
-  scratch and customize the application.
-* The [infrastructure developer guide](../dev-guide-infra) guides you through the steps on how to build and customize
-  the operation environment.
-
-## Organization
-
-* Monthly sprints with patch-releases (i.e. `1.4.2` in February, `1.4.3` in March, ...).
-* Branching from `dev` for feature development, one release branch per patch (i.e. `release-1.4.2` for release version
-  `1.4.2`).
-
-## Roadmap
-
-- [x] Q1: Python library, versioning in every component, bumping frontend versions, i18n
-- [ ] Q2: Kubernetes deployment guidelines for OpenShift
-- [ ] Q3: Frontend tests, database dashboards
-- [ ] Q4: Release of 2.0.0
\ No newline at end of file
diff --git a/.docs/examples/covid19.md b/.docs/examples/covid19.md
new file mode 100644
index 0000000000..e5db773195
--- /dev/null
+++ b/.docs/examples/covid19.md
@@ -0,0 +1,21 @@
+---
+author: Martin Weise
+---
+
+## tl;dr
+
+tbd
+
+## Description
+
+TBD
+
+## Solution
+
+TBD
+
+## DBRepo Features
+
+- [x] Large Dataset &#8776;15GiB
+- [x] Subset Citation using PID
+- [x] External access from Grafana Dashboard
\ No newline at end of file
diff --git a/.docs/examples/influenza.md b/.docs/examples/influenza.md
new file mode 100644
index 0000000000..074c413d31
--- /dev/null
+++ b/.docs/examples/influenza.md
@@ -0,0 +1,21 @@
+---
+author: Martin Weise
+---
+
+## tl;dr
+
+tbd
+
+## Description
+
+TBD
+
+## Solution
+
+TBD
+
+## DBRepo Features
+
+- [x] Import through CSV-dataset upload
+- [x] Data views implementing embargo period (24 hours)
+- [x] External access from Grafana Dashboard
diff --git a/.docs/examples/manufacturing.md b/.docs/examples/manufacturing.md
new file mode 100644
index 0000000000..f3eb32600f
--- /dev/null
+++ b/.docs/examples/manufacturing.md
@@ -0,0 +1,19 @@
+---
+author: Martin Weise
+---
+
+## tl;dr
+
+tbd
+
+## Description
+
+TBD
+
+## Solution
+
+TBD
+
+## DBRepo Features
+
+- [x] TBD
diff --git a/.docs/examples/power.md b/.docs/examples/power.md
new file mode 100644
index 0000000000..ea16727536
--- /dev/null
+++ b/.docs/examples/power.md
@@ -0,0 +1,21 @@
+---
+author: Martin Weise
+---
+
+## tl;dr
+
+tbd
+
+## Description
+
+TBD
+
+## Solution
+
+TBD
+
+## DBRepo Features
+
+- [x] High-throughput real-time data import (MQTT)
+- [x] Private database
+- [x] Public embargoed data view
diff --git a/.docs/examples/transportation.md b/.docs/examples/transportation.md
new file mode 100644
index 0000000000..0aedca2e37
--- /dev/null
+++ b/.docs/examples/transportation.md
@@ -0,0 +1,11 @@
+---
+author: Martin Weise
+---
+
+## Description
+
+TBD
+
+## Solution
+
+TBD
\ No newline at end of file
diff --git a/.docs/help.md b/.docs/help.md
new file mode 100644
index 0000000000..eaecbe6b04
--- /dev/null
+++ b/.docs/help.md
@@ -0,0 +1,11 @@
+---
+author: Martin Weise
+---
+
+## Concepts Documentation
+
+The [concepts documentation](../concepts/) is the most complete guide on how to use DBRepo.
+
+## API Documentation
+
+The [API documentation](../api/) present reference docs for all APIs.
diff --git a/.docs/images/logos.png b/.docs/images/logos.png
new file mode 100644
index 0000000000000000000000000000000000000000..79a5217434fc65a287962c83f6376550b9c2a6a6
GIT binary patch
literal 32796
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
B_pbl|

literal 0
HcmV?d00001

diff --git a/.docs/images/logos.psd b/.docs/images/logos.psd
index f6448014226ff1f39204b9e737fd5748f05128da..c91a87138faa69baf7b66a934035d97438b4c12d 100644
GIT binary patch
delta 277857
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

delta 210960
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
Ii-Jas0MVQ>o&W#<

diff --git a/.docs/index.md b/.docs/index.md
index 4eb23f9e8a..aa65b7d939 100644
--- a/.docs/index.md
+++ b/.docs/index.md
@@ -1,55 +1,36 @@
 ---
 author: Martin Weise
-hide:
-- navigation
-social:
-  cards_layout_options:
-    title: Documentation that simply works
 ---
 
-## Problem Statement
+[![CI/CD Pipeline](https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/badges/master/pipeline.svg)](https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services){ tabindex=-1 }
+[![Code Coverage](https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/badges/master/coverage.svg)](https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services){ tabindex=-1 }
+[![GitLab Release](https://img.shields.io/gitlab/v/release/fair-data-austria-db-repository%2Ffda-services?gitlab_url=https%3A%2F%2Fgitlab.phaidra.org&display_name=release&style=flat&cacheSeconds=3600)](https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services){ tabindex=-1 }
+[![GitLab License](https://img.shields.io/gitlab/license/fair-data-austria-db-repository%2Ffda-services?gitlab_url=https%3A%2F%2Fgitlab.phaidra.org%2F&style=flat&cacheSeconds=3600)](https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services){ tabindex=-1 }
 
-Digital repositories see themselves more frequently encountered with the problem of making databases accessible in their
-collection. Challenges revolve around organizing, searching and retrieving content stored within databases and
-constitute a major technical burden as their internal representation greatly differs from static documents most digital
-repositories are designed for.
+Documentation for version: [v1.4.4](https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/releases).
 
-## Application Areas
+DBRepo is a repository for data in databases that are used from the beginning until the end of a research 
+project supporting data evolution, -citation and -versioning. It implements the query store of the 
+[RDA WGDC](https://doi.org/10.1162/99608f92.be565013) on precisely identifying arbitrary subsets of data.
 
-We present a database repository system that allows researchers to ingest data into a central, versioned repository
-through common interfaces, provides efficient access to arbitrary subsets of data even when the underlying data store is
-evolving, allows reproducing of query results and supports findable-, accessible-, interoperable- and reusable data.
+## Why use DBRepo?
 
-## Features
+* **Built-in search** makes your dataset searchable without extra effort: most metadata is generated 
+  automatically for data in your databases.
+* **Citable datasets** adopting the recommendations of the RDA-WGDC, arbitrary subsets can be precisely, persistently 
+  identified using system-versioned tables of MariaDB and the DataCite schema for minting DOIs.
+* **Powerful API for Data Scientists** with our strongly typed Python Library, Data Scientists can import, export and
+  work with data from Jupyter Notebook or Python script, optionally using Pandas DataFrames.
+* **Cloud Native** our lightweight Helm chart allows for installations on any cloud provider or private-cloud setting 
+  that has an underlying PV storage provider.
 
-### Built-in search
+Installing DBRepo is very easy or
+[give it a try online](https://test.dbrepo.tuwien.ac.at){ target="_blank" }.
 
-DBRepo makes your dataset searchable without extra effort: most metadata is generated automatically for data in your 
-databases. The fast and powerful OpenSearch database allows a fast retrieval of any information. Adding semantic mapping
-through a suggestion-feature, allows machines to properly understand the context of your data. [Learn more.](../system-services-search/)
+## Who is using DBRepo?
 
-### Citable datasets
+![Logos of DBRepo adopters](../images/logos.png)
 
-Adopting the recommendations of the RDA-WGDC, arbitrary subsets can be precisely, persistently identified using
-system-versioned tables of MariaDB and the DataCite schema for minting DOIs. External systems i.e. metadata harvesters
-(OpenAIRE, Google Datasets) can access these datasets through OAI-PMH, JSON-LD and FAIR Signposting protocols.
-[Learn more.](../system-services-metadata/)
+## How can I try DBRepo
 
-### Powerful API for Data Scientists
-
-With our strongly typed Python Library, Data Scientists can import, export and work with data from Jupyter Notebook or
-Python script, optionally using Pandas DataFrames. For example: the AMQP API Client can collect continuous data from
-edge devices like sensors and store them asynchronous in DBRepo. [Learn more.](../usage-python/)
-
-### Cloud Native
-
-Our lightweight Helm chart allows for installations on any cloud provider or private-cloud setting that has an
-underlying PV storage provider. DBRepo can be installed from the Artifacthub repository. Databases are managed as 
-MariaDB Galera Cluster with high degree of availability ensuring your data is always accessible.
-[Learn more.](../deployment-helm/)
-
-## More Information
-
-- Demonstration instance [https://dbrepo1.ec.tuwien.ac.at](https://dbrepo1.ec.tuwien.ac.at)
-- Test instance [https://test.dbrepo.tuwien.ac.at](https://test.dbrepo.tuwien.ac.at)
-- System description [https://doi.org/10.2218/ijdc.v17i1.825](https://doi.org/10.2218/ijdc.v17i1.825)
+[:fontawesome-solid-flask: &nbsp;Demonstration Instance](https://test.dbrepo.tuwien.ac.at){ .md-button .md-button--primary target="_blank" }
\ No newline at end of file
diff --git a/.docs/migration.md b/.docs/migration.md
new file mode 100644
index 0000000000..e56b88ab8b
--- /dev/null
+++ b/.docs/migration.md
@@ -0,0 +1,5 @@
+---
+author: Martin Weise
+---
+
+TBD
\ No newline at end of file
diff --git a/.docs/operation-actuator.md b/.docs/operation-actuator.md
deleted file mode 100644
index 581027daf1..0000000000
--- a/.docs/operation-actuator.md
+++ /dev/null
@@ -1,9 +0,0 @@
----
-author: Martin Weise
----
-
-# Actuators
-
-## Usage
-
-TBD documentation of all Healthiness endpoints
\ No newline at end of file
diff --git a/.docs/operation-prometheus.md b/.docs/operation-prometheus.md
deleted file mode 100644
index 8c31d0e94e..0000000000
--- a/.docs/operation-prometheus.md
+++ /dev/null
@@ -1,9 +0,0 @@
----
-author: Martin Weise
----
-
-# Prometheus
-
-## Usage
-
-TBD documentation of all prometheus metrics
diff --git a/.docs/stylesheets/.sass-cache/10990fa183107f4149f38216a4d00fe324a8131e/extra.scssc b/.docs/stylesheets/.sass-cache/10990fa183107f4149f38216a4d00fe324a8131e/extra.scssc
index af6f91ae62d67828dfbb9235363407bea6d6dd0a..c66d9e0bfba4de127388de9e8ad6f4212c1f5d36 100644
GIT binary patch
literal 10506
zcmXrkGuJcWGB7kUPBOGKN=`LMHA^-$N;9)GO)@b~PD-^*Ni#FHOfxe`O|`Hz<YM8-
zw~`D_EH1XP3MooWwXzDz&oA-IPf6vm;&VvO$jnJ8O3jPrMpsmtlL}JAZ^h+MRGO0-
z&E~13X;qY;U!ubmosw9RsGFOjo1CAMU!<FuoSd3hVw;(ll9`?#%Vx#q8e%2nP>@(u
zoSG63(p#Kwr37(6aB5C!a!G!Xm6daTZf;_5YGG+=UUDjj6|X~XYHm_$QE@bTzLhMx
zVwgI1Yo2Jfd@E%P`OMscoK%=9Zip&rbX5Vxsii6T+*TqE#g%y_iOD6I$?+wX1*ukC
z$vL3l;d01J%uV%F;sp7U&6+dBiqj#nDBZw{&!HIVZUZYWhn&p3)J!%jK8Li-oK%nw
z11nyK;?kt7)Z`K{GrzPbIkh<7iX%9+gw2Y}AtSLkqn5$VO30xYEEQjrn3tZKZzTbB
zAXw1KDhMRXX~pkQT#{H+5?_#CoNop515`;sesN|=W_}*KwP+@r6^}!HT3T^xNhX^W
zuS05H3RsJ^99Ys?K9k#u3+zOY`!jP3@{3ARiwr;-t;N7pzBMl>JlQ>!*tkHx&9~-*
zhMXMKVNg$7Svi)J6lErrmZb7n3wbI@VvBx|30C~z5G*c8Oil&anqQDwlvt8q<f+7F
z3zp}0C`-&KP4!gbh9nlKU|LRMdNJ5dAg75NSWDzvOR`x@)iStQOXpk5a9YdeL;S^V
zEuYC|t$@T+wpKK-R)T95&18dm(MlQ~Yw;-Ij%*$qhIuO1ik?dRsTCzfiF(D!#l;{e
zS}WySDL}%+6B>}kR#tAAIjO~!#U-h^9H2aspI_psWT~H#pPQ<mTb`O(oT?vCln+W2
z#rkO}iMqw9MP-@Esm1zwDf!98`o$%cIjO}Nsi`GkE3Eh(ic%AE;z3D|5@RGBiW75F
z<3Y(XzC5ugFEcN_7#^5bTn;6PNyV8A)@;#SX!$*$D8B%d-vz9NKv`W%7nHvXiZXK(
ziz;=~(ji$L92jaKd0qu&0|PTNOG~hjZYG13phH1XenC7qYgJfr<fWEdvqdvli-EF4
zegP=e7FRP^i)M15MJb21d?p7xN<lm|YefeQYb6IwD{*jo!V-NB<|sO3;W{KBDGZAi
zXqo|8AZM-MU;)#TZ><OQvn1HhkkSm7mrau`5@BAp*0(l*`qA3Z!PHtblM~HvoG5++
z@l;{fS{p$Uwu1}YCm?wlxV$k$9_nn6oUFBigDXrv-%19OA|Yius5ni{gB0u5;209s
z*HTDHEXq#JQ!q48RnXE0IUAG$KqVe`UVc$-Vh&-~tE0Hi9Bw;2&=kOdhMrJ#bwO5x
zY=k%loLo$e&6B}Gx|s}^VaJ6Qc3dc72jc0#Y=?(k1l)BXd1bgfYS@9~RIC*oB4P6R
z)+Rg<cVP`AYg218)R4jEHa!%(?O<kuN-#)bV1s$cK@F}HRDP+zlv)Xas)l%26&#Xp
z&CYMl0m@y%nYrnDnYrn@N%=)7sYT#G<I1<@<^b1hkaC+1T3)lmQv#xLb<Ii5P0cIe
z1eMktnYrm;15`kTB(JrYLB5p~B<UbDID;xc4v=zwG;2jOL0YWw70RfED2OKlFO<QW
zL1uukn1QthN~-2XDSkmbQCQ$ugAxf_G#es&aw7$X8mJinEs}$ii!uvJV2vA}%#zfi
z#2gN5HF%i~QxFEKd#tR2ONuh{(mAcwJe9-@3n~<f^K&v&6qJ*UK@c2Lp!hSj;?GP;
z%`3@F%S<h@QgTR1EhtJ&PAo}HiO<X{Ni8afPc1CXEKAHu%_{)~EFUbkp&6FXT0T<%
z9`7KYB8t~A$_{J>Aj(Bl17KwbV+)E6d~h33GXO}lfVF}HV=G*Nm;toN;)S`}p$cvm
zYDAbLB}_fN+!S3<o2fXpL;=K3DlI9=&qJ_ub)iK8I3Ur}EITyKvgKP_LQ)&TIIsrM
zOhHfvA}zHE!c!YaGt>%pm=%1vDY_6>BG~|w6o*TqI-E#%2*HC4l<M_S++hte1B5YB
zy&y`e2k{Kx@q&@+xxj5~u+u?_-r5S3vaPMb$yc;IBeNt`K@rlrOUx?)D+8xqYa44@
zP_h()MK3g23R%l%^21#X;>n}fjgc&|8GuNZs0P53<#rSsc;PmnCQFcJeo(U90apM|
zmVz*MJ20+*8-^NG$m!AmlmhXm%i`4J{JfOJqDpWek&!Y*DM^_i%>+{>L=hxsNFt?7
zRHut(g47W#kx|p8Av|q@HG|9mVT`mXijp=#JR^AIz|$tIni5yDO3P0!E!N>uP*AhV
z$S*^ys@S1j45X?G)}euSEdmmYQu9hUtau!XOViRaD?o`>3{**3^K)AZSPO#cBrdQm
z;CK@@uoi(SAs7URo&qR)^1_1vWWKd%rWn+D=sh6zd}})nYkQbA`N%Foc#>$Bfa-ii
zjsfxbF<b(24Jdh`R*zyRO(1b_jRI{NL#s!2MD>VPP{2AYu*wh8Omr*FOHRzm;Rp5n
z6LWGBlX6lGKq1UgmI!WTSaE@Ryv3ku*NW3xEgxFY5Nzb3lsOWxybCRJB&_8#Md6tk
z#6y&KVh$Qsd=A;EmF4+GDaH9#(5`1_NoJ0fl^?i~npu^a;+t5&ZY2m(7hepnzKg3F
ztT-KV6AP*tthgPD3vv=m3_uFX6N}R0AzW+GOl&R@L~)5BJavmXXn?CkP%6hL1+f{#
zg~K3NDaa(sh@yfYZWU@V2nrBEYXt`;F-DjQM6B{BB_?O57v-1crGV2vqz(W@jg>sK
z5eIGlKwCG?pdlGfYc+8FZpH18SW;3{T+M04QIwjJ$@tWYE4?T+H4nt%Ov))u1u?i1
za|$vNGuf;}9Ew1#oZ{5Hl0;C4%~Od-In@*d!FG#gN}|QAq_upe7~GQ}9=s=J4GK@J
zVTsKUL|96J(>yGd!^2Vo5tblpL|`FhjT)99IWbUJYQn=3l&wI?Q#4Zy=6VOlzi>yR
z<|^|LgmO`Y^4oCbs3jtD6;utXf^rix^T6$*<ovvn)VvafM60~~5)D1jU{ih`v>l=e
z7K<)POv=nlNv(+0)ZrpuFF0mkwHd6y<$zW-@OBnYZi+6*ZD7@+nX({XisKn)0hO1i
zr6(V}%mQgfH=iFo7zp+<DOMm_A|MN;uvx*8Z*2kY$FM>A-QZpf#0iKBf+H^<()Ixr
z%K6sZY|wrZl;-1v@GaRuWt|X8WPqJZC@2)+@egt*qMb*kJCwOV?%;(b0I(BO46IcR
zK-pH^fMC65isBr5lwc#MSsF#N1FB}xOj&59$cZs52yL>Hnv_5l9wI4$cvMeHAVU#J
z3B((mNeSdKL{b9r1~e&w9DqnlARY-x38Wm6lt4Vpq+|^(X;51=vM5bVIcxb$M|f!t
zsxa81IS}<9TC2v|f#2E@rNv_Hgx*-eGjs{62TWmIBY9Z)4sE8$Tgzt(!!rknrvY~t
zs4{cTw{~H-cCBWxcB^Kvb~mv00JRXYnSw}*AX79^OaVCo<V%bu1~!8b%|=v%;ML-B
zM70P~fvcwlk^}X$m`=c}MMMw_LB>^dlk!VS@^it35vY}6rGnbNfHWX|GK))~LoA@_
zqg2R1Q!yyYzzs(9W+${&;#Ufq+~KlT%VY;NvaCcM@=9|dlLPUkd6^}}piwXOf(nrB
zR^kpRsd@RinR%eO1E@5E6`w<XQD%B(USf`?5{D5)skLaP0$MC8Sj%UM!($P|lR^&v
zd~2{Xq3v2O@YoN?Qjn{x;YkCVp@_r|GE@Q8P%0)%Y<8=nc*qLbZfoqx5}PTAq6g#y
zYZOxq9ZW$pPpJio;29e$F7PCd6~9ALQDSm-YDsE}8&QFcVJf(zf|1y<IS-N8QJn`*
z?B5WH9i##=REXLJ1j&hm+JN7Y5<B@_R(M}fiEytJq=aAvjHnDjjR{1r6s%b^QwdrD
z<LQ-xR1)Zwf|THO38=(IggA(Y=#_#si)JcWgD}PrffBfd4x58hCaG6SO!-Y(XHx|&
z|Er*MHbFd;&L)oRg3S~}M-gNSksU>B1|d2(s0P6kwlNbte}h!u>L`Nbz#T;sCRpAj
zSc+Q*@K^`JOK0mKcoA$Jj8x=WheR`2hoY3Ls%YV=YAv5B33n!lhnT7obI>5JT*YRn
zEQ+B@FrR_?kNMP3F4$avnBxL@%L&;9IFbuCQ<PEs;f!JmsL~I!4!4c~6{6TQqlPS|
zW~?m+Yz86H8ptmQgWzc`36a)7D#YRLL@h)?a+07zG#Q@OKz&A#M?i%FbXMMhNg81s
zYDs|Hla__0B?qSUh%y|t<%isr<_C3$lM?gt(8d$lphY8WJQ3c#1&{F~)Qe_nfgDSy
zSBF{<3&49qV9g*iKp3O=(?V&!f_Q@PFa$*t%AA!bV)zDi2Au{;TN@V2(DtmhwS1-=
zJW+ypmT-sSZqH&fMGD0f)aC~$MS#4GQN?332vOmHoP#h3o;s%@k`qXU1l+->sS_k8
z1xlUMu%u2cSU5N^)gp{TjVO5PwBmCpNzDZfAEtULF;y}Xv%*QCno9wDC1nL$6=4li
zfwr0etN^rzz*+%)dLE_&I)4UVfB>0FhiEi5PsXCLmWvB@z8LI4NUPpT0b`2OnyZ!z
zJm7?Xz69zHuvy?aC@Tf@=_Vpgf=^$7&BB~B01GQ9KrJatEYiTUra%)Ev<eD{d}XBo
z9izk+qO~x;f(F0nJ1__K6(K)?eFKRpX#dMf!3aJljWZ}Tt+~KcF5r0)q}dm+ouq~&
zc!>ciwnI`R*y-T#1t%s*aSe6=B5ojMo|OVlkHC$p1$V+gtGA$43$zdeHIY%vX*PJ7
HU>*VhYQy*s

delta 3451
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

diff --git a/.docs/stylesheets/extra.css b/.docs/stylesheets/extra.css
index fbdf67bf13..d46da35109 100644
--- a/.docs/stylesheets/extra.css
+++ b/.docs/stylesheets/extra.css
@@ -1,26 +1,29 @@
 :root,
 [data-md-color-accent=indigo] {
   --md-primary-fg-color: #006699;
-  --md-accent-fg-color: #005c8a /* darken 10% */ ;
-  --md-primary-fg-color--dark: #00537c /* darken 10% */ ; }
+  --md-accent-fg-color: #005c8a;
+  /* darken 10% */
+  --md-primary-fg-color--dark: #00537c;
+  /* darken 10% */ }
 
 img.img-border {
   border: 1px solid #b3b3b3; }
 
-.md-typeset .md-button.md-button--secondary {
-  background: #ffffff; }
-  .md-typeset .md-button.md-button--secondary:focus, .md-typeset .md-button.md-button--secondary:hover {
-    color: var(--md-primary-fg-color);
-    background: #e5e5e5; }
+.md-typeset .md-button.md-button--primary {
+  color: white !important; }
+
+.md-typeset .md-button.md-button--secondary:focus, .md-typeset .md-button.md-button--secondary:hover {
+  color: var(--md-primary-fg-color--dark);
+  background: #e5e5e5; }
 
 .md-main .md-content a:not(.action-button):not([tabindex]),
 .md-main .md-content a:not(.action-button):not([tabindex]) {
-  color: var(--md-typeset-color);
+  color: var(--md-primary-fg-color);
   border-bottom: 2px solid var(--md-primary-fg-color); }
   .md-main .md-content a:not(.action-button):not([tabindex]):focus, .md-main .md-content a:not(.action-button):not([tabindex]):hover,
   .md-main .md-content a:not(.action-button):not([tabindex]):focus,
   .md-main .md-content a:not(.action-button):not([tabindex]):hover {
-    color: var(--md-typeset-color);
+    color: var(--md-primary-fg-color--dark);
     border-bottom: 2px solid var(--md-primary-fg-color--dark); }
 
 .md-banner {
diff --git a/.docs/stylesheets/extra.css.map b/.docs/stylesheets/extra.css.map
index d6ff724b3c..89ef3df537 100644
--- a/.docs/stylesheets/extra.css.map
+++ b/.docs/stylesheets/extra.css.map
@@ -1,6 +1,6 @@
 {
 "version": 3,
-"mappings": "AAAA;6BAC8B;EAC5B,qBAAqB,CAAC,QAAQ;EAC9B,oBAAoB,CAAC,0BACvB;EACE,2BAA2B,CAAC,0BAC9B;;AAGA,cAAe;EACb,MAAM,EAAE,iBAAiB;;AAG3B,2CAA4C;EAC1C,UAAU,EAAE,OAAO;EAEnB,oGACQ;IACN,KAAK,EAAE,0BAA0B;IACjC,UAAU,EAAE,OAAO;;AAKvB;0DAC2D;EACzD,KAAK,EAAE,uBAAuB;EAC9B,aAAa,EAAE,oCAAoC;EAEnD;;kEACQ;IACN,KAAK,EAAE,uBAAuB;IAC9B,aAAa,EAAE,0CAA0C;;AAK7D,UAAW;EACT,gBAAgB,EAAE,gCAAgC",
+"mappings": "AAAA;6BAC8B;EAC5B,qBAAqB,CAAC,QAAQ;EAC9B,oBAAoB,CAAC,QAAQ;EAAE,gBAAgB;EAC/C,2BAA2B,CAAC,QAAQ;EAAE,gBAAgB;;AAGxD,cAAe;EACb,MAAM,EAAE,iBAAiB;;AAG3B,yCAA0C;EACxC,KAAK,EAAE,gBAAgB;;AAIvB,oGACQ;EACN,KAAK,EAAE,gCAAgC;EACvC,UAAU,EAAE,OAAO;;AAIvB;0DAC2D;EACzD,KAAK,EAAE,0BAA0B;EACjC,aAAa,EAAE,oCAAoC;EAEnD;;kEACQ;IACN,KAAK,EAAE,gCAAgC;IACvC,aAAa,EAAE,0CAA0C;;AAK7D,UAAW;EACT,gBAAgB,EAAE,gCAAgC",
 "sources": ["extra.scss"],
 "names": [],
 "file": "extra.css"
diff --git a/.docs/stylesheets/extra.scss b/.docs/stylesheets/extra.scss
index 59fee68b6e..1262644f00 100644
--- a/.docs/stylesheets/extra.scss
+++ b/.docs/stylesheets/extra.scss
@@ -1,35 +1,34 @@
 :root,
 [data-md-color-accent=indigo] {
   --md-primary-fg-color: #006699;
-  --md-accent-fg-color: #005c8a /* darken 10% */
-;
-  --md-primary-fg-color--dark: #00537c /* darken 10% */
-;
+  --md-accent-fg-color: #005c8a; /* darken 10% */
+  --md-primary-fg-color--dark: #00537c; /* darken 10% */
 }
 
 img.img-border {
   border: 1px solid #b3b3b3;
 }
 
-.md-typeset .md-button.md-button--secondary {
-  background: #ffffff;
+.md-typeset .md-button.md-button--primary {
+  color: white !important;
+}
 
+.md-typeset .md-button.md-button--secondary {
   &:focus,
   &:hover {
-    color: var(--md-primary-fg-color);
+    color: var(--md-primary-fg-color--dark);
     background: #e5e5e5 /* darken 10% */
-  ;
   }
 }
 
 .md-main .md-content a:not(.action-button):not([tabindex]),
 .md-main .md-content a:not(.action-button):not([tabindex]) {
-  color: var(--md-typeset-color);
+  color: var(--md-primary-fg-color);
   border-bottom: 2px solid var(--md-primary-fg-color);
 
   &:focus,
   &:hover {
-    color: var(--md-typeset-color);
+    color: var(--md-primary-fg-color--dark);
     border-bottom: 2px solid var(--md-primary-fg-color--dark);
   }
 }
diff --git a/.docs/system-databases-authentication.md b/.docs/system-databases-authentication.md
deleted file mode 100644
index 42b729403f..0000000000
--- a/.docs/system-databases-authentication.md
+++ /dev/null
@@ -1,33 +0,0 @@
----
-author: Martin Weise
----
-
-# Authentication Database
-
-## tl;dr
-
-!!! debug "Debug Information"
-
-    Image: [`bitnami/mariadb:11.2.2-debian-11-r0`](https://hub.docker.com/r/bitnami/mariadb)
-
-    * Ports: 3306/tcp
-    * JDBC: `jdbc://mariadb:<hostname>:3306`
-
-## Overview
-
-This is the database in which the [Authentication Service](../system-services-authentication) writes into. In the
-default configuration, only MariaDB is supported.
-
-## Limitations
-
-* No support for MariaDB Galera at the moment.
-
-!!! question "Do you miss functionality? Do these limitations affect you?"
-
-    We strongly encourage you to help us implement it as we are welcoming contributors to open-source software and get
-    in [contact](../contact) with us, we happily answer requests for collaboration with attached CV and your programming 
-    experience!
-
-## Security
-
-(none)
diff --git a/.docs/system-databases-metadata.md b/.docs/system-databases-metadata.md
deleted file mode 100644
index 4ff9980f25..0000000000
--- a/.docs/system-databases-metadata.md
+++ /dev/null
@@ -1,37 +0,0 @@
----
-author: Martin Weise
----
-
-# Metadata Database
-
-## tl;dr
-
-!!! debug "Debug Information"
-
-    Image: [`dbrepo/metadata-db:__APPVERSION__`](https://hub.docker.com/r/dbrepo/metadata-db)
-
-    * Ports: 3306/tcp
-    * JDBC: `jdbc://mariadb:<hostname>:3306`
-
-It is the core component of the project. It is a relational database that contains metadata about all researcher
-database created in the database repository like column names, check expressions, value enumerations or key/value
-constraints and relevant data for citing data sets. Additionally, the concept, e.g. URI of units of measurements of
-numerical columns is stored in the Metadata Database in order to provide semantic knowledge context. We use MariaDB for
-its rich capabilities in the reference implementation.
-
-The default credentials are `root:dbrepo` for the database `fda`. Connect to the database via the JDBC connector on
-port `3306`.
-
-## Limitations
-
-(none)
-
-!!! question "Do you miss functionality? Do these limitations affect you?"
-
-    We strongly encourage you to help us implement it as we are welcoming contributors to open-source software and get
-    in [contact](../contact) with us, we happily answer requests for collaboration with attached CV and your programming 
-    experience!
-
-## Security
-
-(none)
diff --git a/.docs/system-databases-search.md b/.docs/system-databases-search.md
deleted file mode 100644
index 130347215b..0000000000
--- a/.docs/system-databases-search.md
+++ /dev/null
@@ -1,45 +0,0 @@
----
-author: Martin Weise
----
-
-# Search Database
-
-## tl;dr
-
-!!! debug "Debug Information"
-
-    Image: [`dbrepo/search-db:__APPVERSION__`](https://hub.docker.com/r/dbrepo/search-db)
-
-    * Ports: 9200/tcp
-
-## Overview
-
-It processes search requests from the Gateway Service for full-text lookups in 
-the [Metadata Database](../system-databases-metadata). We use [OpenSearch](https://opensearch.org/) in the default 
-configuration and create a searchable index on all databases that is updated regularly by 
-the [Mirror Service](../system-services-mirror).
-
-All requests need to be authenticated, by default the credentials `admin:admin` are used.
-
-Please see the [Search Database Dashboard](../system-other-search-dashboard) for information how to inspect the Search
-Database more efficient.
-
-## Limitations
-
-(none)
-
-!!! question "Do you miss functionality? Do these limitations affect you?"
-
-    We strongly encourage you to help us implement it as we are welcoming contributors to open-source software and get
-    in [contact](../contact) with us, we happily answer requests for collaboration with attached CV and your programming 
-    experience!
-
-## Security
-
-1. Change the default credentials in the [Search Database Dashboard](../system-other-search-dashboard) with the default
-   credentials `admin:admin` and navigate to your username on the top right and click "Reset password".
-
-<figure markdown>
-   ![Data ingest](images/opensearch-dashboards-reset-pw.png){ .img-border }
-   <figcaption>Reset the admin password in Opensearch Dashboards</figcaption>
-</figure>
diff --git a/.docs/system-other-search-dashboard.md b/.docs/system-other-search-dashboard.md
deleted file mode 100644
index dd23d56c67..0000000000
--- a/.docs/system-other-search-dashboard.md
+++ /dev/null
@@ -1,38 +0,0 @@
----
-author: Martin Weise
----
-
-# Search Database Dashboard
-
-## tl;dr
-
-!!! debug "Debug Information"
-
-    Image: [`opensearchproject/opensearch-dashboards:2.10.0`](https://hub.docker.com/r/opensearchproject/opensearch-dashboards)
-
-    * Ports: 5601/tcp
-    * UI: `http://<hostname>/admin/dashboard/`
-
-## Overview
-
-It provides a *graphical user interface* (GUI) for an administrator to interact with 
-the [Search Database](../system-databases-search).
-
-<figure markdown>
-   ![Data ingest](images/opensearch-dashboards.png){ .img-border }
-   <figcaption>Opensearch Dashboards on first start</figcaption>
-</figure>
-
-## Limitations
-
-(none)
-
-!!! question "Do you miss functionality? Do these limitations affect you?"
-
-    We strongly encourage you to help us implement it as we are welcoming contributors to open-source software and get
-    in [contact](../contact) with us, we happily answer requests for collaboration with attached CV and your programming 
-    experience!
-
-## Security
-
-(none)
diff --git a/.docs/system-overview.md b/.docs/system-overview.md
deleted file mode 100644
index 12b6553820..0000000000
--- a/.docs/system-overview.md
+++ /dev/null
@@ -1,27 +0,0 @@
----
-author: Martin Weise
----
-
-# System
-
-!!! abstract "Abstract"
-
-    This is the full system description from a technical/developer view and continously being updated as the development
-    progresses.
-
-## Usage
-
-<figure markdown>
-![Data ingest](images/data-ingest.svg)
-<figcaption>Figure 1: Modes of data ingest</figcaption>
-</figure>
-
-More [usage examples](../usage-overview/) include how to ingest datasets, data dumps, live data, etc.
-
-## Limitations
-
-!!! question "Do you miss functionality? Do these limitations affect you?"
-
-    We strongly encourage you to help us implement it as we are welcoming contributors to open-source software and get
-    in [contact](../contact) with us, we happily answer requests for collaboration with attached CV and your programming 
-    experience!
\ No newline at end of file
diff --git a/.docs/why.md b/.docs/why.md
new file mode 100644
index 0000000000..1e6e52cc7f
--- /dev/null
+++ b/.docs/why.md
@@ -0,0 +1,50 @@
+---
+author: Martin Weise
+---
+
+## Why use DBRepo?
+
+Digital repositories see themselves more frequently encountered with the problem of making databases accessible in their
+collection. Challenges revolve around organizing, searching and retrieving content stored within databases and
+constitute a major technical burden as their internal representation greatly differs from static documents most digital
+repositories are designed for.
+
+## Application Areas
+
+We present a database repository system that allows researchers to ingest data into a central, versioned repository
+through common interfaces, provides efficient access to arbitrary subsets of data even when the underlying data store is
+evolving, allows reproducing of query results and supports findable-, accessible-, interoperable- and reusable data.
+
+## Features
+
+### Built-in search
+
+DBRepo makes your dataset searchable without extra effort: most metadata is generated automatically for data in your 
+databases. The fast and powerful OpenSearch database allows a fast retrieval of any information. Adding semantic mapping
+through a suggestion-feature, allows machines to properly understand the context of your data. [Learn more.](../system-services-search/)
+
+### Citable datasets
+
+Adopting the recommendations of the RDA-WGDC, arbitrary subsets can be precisely, persistently identified using
+system-versioned tables of MariaDB and the DataCite schema for minting DOIs. External systems i.e. metadata harvesters
+(OpenAIRE, Google Datasets) can access these datasets through OAI-PMH, JSON-LD and FAIR Signposting protocols.
+[Learn more.](../system-services-metadata/)
+
+### Powerful API for Data Scientists
+
+With our strongly typed Python Library, Data Scientists can import, export and work with data from Jupyter Notebook or
+Python script, optionally using Pandas DataFrames. For example: the AMQP API Client can collect continuous data from
+edge devices like sensors and store them asynchronous in DBRepo. [Learn more.](../usage-python/)
+
+### Cloud Native
+
+Our lightweight Helm chart allows for installations on any cloud provider or private-cloud setting that has an
+underlying PV storage provider. DBRepo can be installed from 
+the [Artifact Hub](https://artifacthub.io/packages/helm/dbrepo/dbrepo) repository. Databases are managed as MariaDB
+Galera Cluster with high degree of availability ensuring your data is always accessible.
+[Learn more.](../deployment-helm/)
+
+## Demo Site
+
+We run a small demonstration instance so you can see the latest version of DBRepo in action. The demonstration instance
+is updated with new releases and should be considered ephemeral.
\ No newline at end of file
diff --git a/.gitignore b/.gitignore
index 9cf181a38e..908da84c1e 100644
--- a/.gitignore
+++ b/.gitignore
@@ -9,8 +9,9 @@ ready
 schema.xsd
 final/
 build/
-swagger/
 *.tar
+tmp.yaml
+.docs/.swagger/api-*
 
 # docs
 .docs/.swagger/dist/
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 10377b3fcc..a3230d4e7c 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -267,7 +267,7 @@ scan-analyse-service:
       - master
   allow_failure: true
   script:
-    - trivy image --insecure --exit-code 0 --format template --template "@.trivy/gitlab.tpl" -o ./.trivy/trivy-analyse-service-report.json dbrepo-analyse-service:latest
+    - trivy image --insecure --exit-code 0 --format template --template "@.gitlab/gitlab.tpl" -o ./.trivy/trivy-analyse-service-report.json dbrepo-analyse-service:latest
     - trivy image --insecure --exit-code 0 dbrepo-analyse-service:latest
     - trivy image --insecure --exit-code 1 --severity CRITICAL dbrepo-analyse-service:latest
   cache:
@@ -287,7 +287,7 @@ scan-auth-service:
       - master
   allow_failure: true
   script:
-    - trivy image --insecure --exit-code 0 --format template --template "@.trivy/gitlab.tpl" -o ./.trivy/trivy-authentication-service-report.json dbrepo-auth-service:latest
+    - trivy image --insecure --exit-code 0 --format template --template "@.gitlab/gitlab.tpl" -o ./.trivy/trivy-authentication-service-report.json dbrepo-auth-service:latest
     - trivy image --insecure --exit-code 0 dbrepo-auth-service:latest
     - trivy image --insecure --exit-code 1 --severity CRITICAL dbrepo-auth-service:latest
   cache:
@@ -307,7 +307,7 @@ scan-broker-service:
       - master
   allow_failure: true
   script:
-    - trivy image --insecure --exit-code 0 --format template --template "@.trivy/gitlab.tpl" -o ./.trivy/trivy-broker-service-report.json dbrepo-broker-service:latest
+    - trivy image --insecure --exit-code 0 --format template --template "@.gitlab/gitlab.tpl" -o ./.trivy/trivy-broker-service-report.json dbrepo-broker-service:latest
     - trivy image --insecure --exit-code 0 dbrepo-broker-service:latest
     - trivy image --insecure --exit-code 1 --severity CRITICAL dbrepo-broker-service:latest
   cache:
@@ -327,7 +327,7 @@ scan-data-db-sidecar:
       - master
   allow_failure: true
   script:
-    - trivy image --insecure --exit-code 0 --format template --template "@.trivy/gitlab.tpl" -o ./.trivy/trivy-data-db-sidecar-report.json dbrepo-data-db-sidecar:latest
+    - trivy image --insecure --exit-code 0 --format template --template "@.gitlab/gitlab.tpl" -o ./.trivy/trivy-data-db-sidecar-report.json dbrepo-data-db-sidecar:latest
     - trivy image --insecure --exit-code 0 data-db-sidecar:latest
     - trivy image --insecure --exit-code 1 --severity CRITICAL data-db-sidecar:latest
   cache:
@@ -347,7 +347,7 @@ scan-gateway-service:
       - master
   allow_failure: true
   script:
-    - trivy image --insecure --exit-code 0 --format template --template "@.trivy/gitlab.tpl" -o ./.trivy/trivy-gateway-service-report.json docker.io/nginx:1.25.0-alpine-slim
+    - trivy image --insecure --exit-code 0 --format template --template "@.gitlab/gitlab.tpl" -o ./.trivy/trivy-gateway-service-report.json docker.io/nginx:1.25.0-alpine-slim
     - trivy image --insecure --exit-code 0 docker.io/nginx:1.25.0-alpine-slim
     - trivy image --insecure --exit-code 1 --severity CRITICAL docker.io/nginx:1.25.0-alpine-slim
   cache:
@@ -367,7 +367,7 @@ scan-metadata-service:
       - master
   allow_failure: true
   script:
-    - trivy image --insecure --exit-code 0 --format template --template "@.trivy/gitlab.tpl" -o ./.trivy/trivy-metadata-service-report.json dbrepo-metadata-service:latest
+    - trivy image --insecure --exit-code 0 --format template --template "@.gitlab/gitlab.tpl" -o ./.trivy/trivy-metadata-service-report.json dbrepo-metadata-service:latest
     - trivy image --insecure --exit-code 0 dbrepo-metadata-service:latest
     - trivy image --insecure --exit-code 1 --severity CRITICAL dbrepo-metadata-service:latest
   cache:
@@ -387,7 +387,7 @@ scan-data-service:
       - master
   allow_failure: true
   script:
-    - trivy image --insecure --exit-code 0 --format template --template "@.trivy/gitlab.tpl" -o ./.trivy/trivy-data-service-report.json dbrepo-data-service:latest
+    - trivy image --insecure --exit-code 0 --format template --template "@.gitlab/gitlab.tpl" -o ./.trivy/trivy-data-service-report.json dbrepo-data-service:latest
     - trivy image --insecure --exit-code 0 dbrepo-data-service:latest
     - trivy image --insecure --exit-code 1 --severity CRITICAL dbrepo-data-service:latest
   cache:
@@ -407,7 +407,7 @@ scan-search-db:
       - master
   allow_failure: true
   script:
-    - trivy image --insecure --exit-code 0 --format template --template "@.trivy/gitlab.tpl" -o ./.trivy/trivy-search-db-report.json dbrepo-search-db:latest
+    - trivy image --insecure --exit-code 0 --format template --template "@.gitlab/gitlab.tpl" -o ./.trivy/trivy-search-db-report.json dbrepo-search-db:latest
     - trivy image --insecure --exit-code 0 dbrepo-search-db:latest
     - trivy image --insecure --exit-code 1 --severity CRITICAL dbrepo-search-db:latest
   cache:
@@ -427,7 +427,7 @@ scan-search-service-init:
       - master
   allow_failure: true
   script:
-    - trivy image --insecure --exit-code 0 --format template --template "@.trivy/gitlab.tpl" -o ./.trivy/trivy-search-service-init-report.json dbrepo-search-service-init:latest
+    - trivy image --insecure --exit-code 0 --format template --template "@.gitlab/gitlab.tpl" -o ./.trivy/trivy-search-service-init-report.json dbrepo-search-service-init:latest
     - trivy image --insecure --exit-code 0 dbrepo-search-service-init:latest
     - trivy image --insecure --exit-code 1 --severity CRITICAL dbrepo-search-service-init:latest
   cache:
@@ -447,7 +447,7 @@ scan-data-db:
       - master
   allow_failure: true
   script:
-    - trivy image --insecure --exit-code 0 --format template --template "@.trivy/gitlab.tpl" -o ./.trivy/trivy-data-db-report.json docker.io/bitnami/mariadb:11.2.2-debian-11-r0
+    - trivy image --insecure --exit-code 0 --format template --template "@.gitlab/gitlab.tpl" -o ./.trivy/trivy-data-db-report.json docker.io/bitnami/mariadb:11.2.2-debian-11-r0
     - trivy image --insecure --exit-code 0 docker.io/bitnami/mariadb:11.2.2-debian-11-r0
     - trivy image --insecure --exit-code 1 --severity CRITICAL docker.io/bitnami/mariadb:11.2.2-debian-11-r0
   cache:
@@ -467,7 +467,7 @@ scan-metadata-db:
       - master
   allow_failure: true
   script:
-    - trivy image --insecure --exit-code 0 --format template --template "@.trivy/gitlab.tpl" -o ./.trivy/trivy-metadata-db-report.json dbrepo-metadata-db:latest
+    - trivy image --insecure --exit-code 0 --format template --template "@.gitlab/gitlab.tpl" -o ./.trivy/trivy-metadata-db-report.json dbrepo-metadata-db:latest
     - trivy image --insecure --exit-code 0 dbrepo-metadata-db:latest
     - trivy image --insecure --exit-code 1 --severity CRITICAL dbrepo-metadata-db:latest
   cache:
@@ -487,7 +487,7 @@ scan-ui:
       - master
   allow_failure: true
   script:
-    - trivy image --insecure --exit-code 0 --format template --template "@.trivy/gitlab.tpl" -o ./.trivy/trivy-ui-report.json dbrepo-ui:latest
+    - trivy image --insecure --exit-code 0 --format template --template "@.gitlab/gitlab.tpl" -o ./.trivy/trivy-ui-report.json dbrepo-ui:latest
     - trivy image --insecure --exit-code 0 dbrepo-ui:latest
     - trivy image --insecure --exit-code 1 --severity CRITICAL dbrepo-ui:latest
   cache:
@@ -507,7 +507,7 @@ scan-search-service:
       - master
   allow_failure: true
   script:
-    - trivy image --insecure --exit-code 0 --format template --template "@.trivy/gitlab.tpl" -o ./.trivy/trivy-ui-report.json dbrepo-search-service:latest
+    - trivy image --insecure --exit-code 0 --format template --template "@.gitlab/gitlab.tpl" -o ./.trivy/trivy-ui-report.json dbrepo-search-service:latest
     - trivy image --insecure --exit-code 0 dbrepo-search-service:latest
     - trivy image --insecure --exit-code 1 --severity CRITICAL dbrepo-search-service:latest
   cache:
@@ -527,7 +527,7 @@ scan-storage-service:
       - master
   allow_failure: true
   script:
-    - trivy image --insecure --exit-code 0 --format template --template "@.trivy/gitlab.tpl" -o ./.trivy/trivy-storage-service-report.json docker.io/chrislusf/seaweedfs:3.59
+    - trivy image --insecure --exit-code 0 --format template --template "@.gitlab/gitlab.tpl" -o ./.trivy/trivy-storage-service-report.json docker.io/chrislusf/seaweedfs:3.59
     - trivy image --insecure --exit-code 0 docker.io/chrislusf/seaweedfs:3.59
     - trivy image --insecure --exit-code 1 --severity CRITICAL docker.io/chrislusf/seaweedfs:3.59
   cache:
@@ -547,7 +547,7 @@ scan-storage-service-init:
       - master
   allow_failure: true
   script:
-    - trivy image --insecure --exit-code 0 --format template --template "@.trivy/gitlab.tpl" -o ./.trivy/trivy-storage-service-init-report.json dbrepo-storage-service-init:latest
+    - trivy image --insecure --exit-code 0 --format template --template "@.gitlab/gitlab.tpl" -o ./.trivy/trivy-storage-service-init-report.json dbrepo-storage-service-init:latest
     - trivy image --insecure --exit-code 0 dbrepo-storage-service-init:latest
     - trivy image --insecure --exit-code 1 --severity CRITICAL dbrepo-storage-service-init:latest
   cache:
@@ -609,13 +609,23 @@ release-chart:
 release-docs:
   stage: release
   image: docker.io/python:3.11-alpine
+  variables:
+    VERSION: "${CI_COMMIT_BRANCH:8:8}"
   only:
     refs:
       - /^release-.*/
   before_script:
+    - "wget https://github.com/mikefarah/yq/releases/download/v4.2.0/yq_linux_amd64 -O /usr/bin/yq"
+    - "chmod +x /usr/bin/yq"
     - "apt-get update && apt-get install -y git make sed wget ssh"
-  script:
-    - make docs
+    - "mkdir -p ./final/${VERSION}/swagger"
+  script:
+    - "make gen-swagger-doc gen-lib-doc gen-docs-doc"
+    - "cp -r ./lib/python/docs/build/html ./final/${VERSION}/sphinx" # sphinx
+    - "cp .docs/.swagger/api.yaml ./final/${VERSION}/swagger/api.yaml" # swagger
+    - "cp .docs/.swagger/swagger-ui.html ./final/${VERSION}/swagger/index.html" # swagger
+    - "cp .docs/.swagger/custom.css ./final/${VERSION}/swagger/custom.css" # swagger
+    - "cp -r ./site ./final/${VERSION}" # mkdocs
     - eval $(ssh-agent -s)
     - echo "$CI_KEY_PRIVATE" > /root/.ssh/id_rsa && chmod 0600 /root/.ssh/id_rsa
     - echo "$CI_KEY_PUBLIC" > /root/.ssh/id_rsa.pub
diff --git a/.trivy/gitlab.tpl b/.gitlab/gitlab.tpl
similarity index 100%
rename from .trivy/gitlab.tpl
rename to .gitlab/gitlab.tpl
diff --git a/bin/teardown.sh b/bin/teardown.sh
deleted file mode 100755
index 9b7926d521..0000000000
--- a/bin/teardown.sh
+++ /dev/null
@@ -1,26 +0,0 @@
-#!/bin/bash
-echo "=== [ Stopping dbrepo-* ] ==="
-docker container stop $(docker container ls -aq -f name=^/dbrepo-.*) || true
-echo "=== [ Removing dbrepo-* ] ==="
-docker container rm $(docker container ls -aq -f name=^/dbrepo-.*) || true
-docker volume rm $(docker volume ls -q -f name=^dbrepo-.*) || true
-docker network rm $(docker network ls -q -f name=^dbrepo-.*) || true
-echo "=== [ Stopping * ] ==="
-docker container stop $(docker container ls -aq -f name=.*-service) || true
-docker container stop ui ui-proxy metadata-db || true
-echo "=== [ Removing * ] ==="
-docker container rm $(docker container ls -aq -f name=.*-service) || true
-docker container rm ui ui-proxy metadata-db || true
-docker volume rm $(docker volume ls -q) || true
-echo "=== [ Stopping fda-* ] ==="
-docker container stop $(docker container ls -aq -f name=^/fda-.*) || true
-echo "=== [ Removing fda-* ] ==="
-docker container rm $(docker container ls -aq -f name=^/fda-.*) || true
-docker volume rm $(docker volume ls -q -f name=^fda-.*) || true
-docker network rm $(docker network ls -q -f name=^fda-.*) || true
-echo "=== [ Stopping tuw-* ] ==="
-docker container stop $(docker container ls -aq -f name=^/tuw-.*) || true
-echo "=== [ Removing tuw-* ] ==="
-docker container rm $(docker container ls -aq -f name=^/tuw-.*) || true
-docker volume rm $(docker volume ls -q -f name=^tuw-.*) || true
-docker network rm $(docker network ls -q -f name=^tuw-.*) || true
\ No newline at end of file
diff --git a/dbrepo-analyse-service/Pipfile b/dbrepo-analyse-service/Pipfile
index f9dc9086d5..98166931a4 100644
--- a/dbrepo-analyse-service/Pipfile
+++ b/dbrepo-analyse-service/Pipfile
@@ -21,7 +21,7 @@ numpy = "*"
 pandas = "*"
 minio = "*"
 pydantic = "*"
-dbrepo = {path = "./lib/dbrepo-1.4.3.tar.gz"}
+dbrepo = {path = "./lib/dbrepo-1.4.4.tar.gz"}
 opensearch-py = "*"
 
 [dev-packages]
diff --git a/dbrepo-analyse-service/Pipfile.lock b/dbrepo-analyse-service/Pipfile.lock
index 93479ce06f..d1f47348f8 100644
--- a/dbrepo-analyse-service/Pipfile.lock
+++ b/dbrepo-analyse-service/Pipfile.lock
@@ -1,7 +1,7 @@
 {
     "_meta": {
         "hash": {
-            "sha256": "928e32d569e15d302ad2f00c83df5481e4bf1c54e502d2428e0da86865bcc11a"
+            "sha256": "f862bcd0c3285ad0a48d0d0f738bddf0f3c1d2c5d263af9e07994463e39e5610"
         },
         "pipfile-spec": 6,
         "requires": {
@@ -108,11 +108,11 @@
         },
         "annotated-types": {
             "hashes": [
-                "sha256:0641064de18ba7a25dee8f96403ebc39113d0cb953a01429249d5c7564666a43",
-                "sha256:563339e807e53ffd9c267e99fc6d9ea23eb8443c08f112651963e24e22f84a5d"
+                "sha256:1f02e8b43a8fbbc3f3e0d4f0f4bfc8131bcb4eebe8849b8e5c773f3a1c582a53",
+                "sha256:aff07c09a53a08bc8cfccb9c85b05f1aa9a2a6f23728d790723543408344ce89"
             ],
             "markers": "python_version >= '3.8'",
-            "version": "==0.6.0"
+            "version": "==0.7.0"
         },
         "argon2-cffi": {
             "hashes": [
@@ -167,19 +167,19 @@
         },
         "boto3": {
             "hashes": [
-                "sha256:5b37c8f4ea6f408147994a6e230c49ca755da57f5964ccea8b8fd4ff5f11759e",
-                "sha256:bec91a3bca63320e5f68a25b5eaa7bab65e35bb9253a544875c2e03679f1d5fb"
+                "sha256:009cd143509f2ff4c37582c3f45d50f28c95eed68e8a5c36641206bdb597a9ea",
+                "sha256:7e59f0a848be477a4c98a90e7a18a0e284adfb643f7879d2b303c5f493661b7a"
             ],
             "index": "pypi",
-            "version": "==1.34.104"
+            "version": "==1.34.113"
         },
         "botocore": {
             "hashes": [
-                "sha256:b68ed482e9b4c313129c9948af5a91d0e84840558e6d232a1a27ab0b9733e5b9",
-                "sha256:fe36dd3cea4160fbbe27dc1cf89cb7018234350555a26933b2977947052a346a"
+                "sha256:449912ba3c4ded64f21d09d428146dd9c05337b2a112e15511bf2c4888faae79",
+                "sha256:8ca87776450ef41dd25c327eb6e504294230a5756940d68bcfdedc4a7cdeca97"
             ],
             "markers": "python_version >= '3.8'",
-            "version": "==1.34.104"
+            "version": "==1.34.113"
         },
         "certifi": {
             "hashes": [
@@ -391,10 +391,10 @@
         },
         "dbrepo": {
             "hashes": [
-                "sha256:d3503b851d526b33cb795f247ec510911ae356e35efec7449863e9b6590283c1"
+                "sha256:ceab260cf76c050e118ce0f0589fec66059396751e03f2ec41fa489cfacc4e7b"
             ],
-            "path": "./lib/dbrepo-1.4.3.tar.gz",
-            "version": "==1.4.3"
+            "path": "./lib/dbrepo-1.4.4.tar.gz",
+            "version": "==1.4.4"
         },
         "exceptiongroup": {
             "hashes": [
@@ -1224,11 +1224,11 @@
         },
         "requests": {
             "hashes": [
-                "sha256:58cd2187c01e70e6e26505bca751777aa9f2ee0b7f4300988b709f44e013003f",
-                "sha256:942c5a758f98d790eaed1a29cb6eefc7ffb0d1cf7af05c3d2791656dbd6ad1e1"
+                "sha256:dd951ff5ecf3e3b3aa26b40703ba77495dab41da839ae72ef3c8e5d8e2433289",
+                "sha256:fc06670dd0ed212426dfeb94fc1b983d917c4f9847c863f313c9dfaaffb7c23c"
             ],
             "index": "pypi",
-            "version": "==2.31.0"
+            "version": "==2.32.2"
         },
         "rpds-py": {
             "hashes": [
@@ -1345,11 +1345,11 @@
         },
         "setuptools": {
             "hashes": [
-                "sha256:6c1fccdac05a97e598fb0ae3bbed5904ccb317337a51139dcd51453611bbb987",
-                "sha256:c636ac361bc47580504644275c9ad802c50415c7522212252c033bd15f301f32"
+                "sha256:54faa7f2e8d2d11bcd2c07bed282eef1046b5c080d1c32add737d7b5817b1ad4",
+                "sha256:f211a66637b8fa059bb28183da127d4e86396c991a942b028c6650d4319c3fd0"
             ],
             "markers": "python_version >= '3.8'",
-            "version": "==69.5.1"
+            "version": "==70.0.0"
         },
         "six": {
             "hashes": [
@@ -1377,11 +1377,11 @@
         },
         "typing-extensions": {
             "hashes": [
-                "sha256:83f085bd5ca59c80295fc2a82ab5dac679cbe02b9f33f7d83af68e241bea51b0",
-                "sha256:c1f94d72897edaf4ce775bb7558d5b79d8126906a14ea5ed1635921406c0387a"
+                "sha256:8cbcdc8606ebcb0d95453ad7dc5065e6237b6aa230a31e81d0f440c30fed5fd8",
+                "sha256:b349c66bea9016ac22978d800cfff206d5f9816951f12a7d0ec5578b0a819594"
             ],
             "markers": "python_version >= '3.8'",
-            "version": "==4.11.0"
+            "version": "==4.12.0"
         },
         "tzdata": {
             "hashes": [
@@ -1513,45 +1513,45 @@
         },
         "zope.interface": {
             "hashes": [
-                "sha256:014bb94fe6bf1786da1aa044eadf65bc6437bcb81c451592987e5be91e70a91e",
-                "sha256:01a0b3dd012f584afcf03ed814bce0fc40ed10e47396578621509ac031be98bf",
-                "sha256:10cde8dc6b2fd6a1d0b5ca4be820063e46ddba417ab82bcf55afe2227337b130",
-                "sha256:187f7900b63845dcdef1be320a523dbbdba94d89cae570edc2781eb55f8c2f86",
-                "sha256:1b0c4c90e5eefca2c3e045d9f9ed9f1e2cdbe70eb906bff6b247e17119ad89a1",
-                "sha256:22e8a218e8e2d87d4d9342aa973b7915297a08efbebea5b25900c73e78ed468e",
-                "sha256:26c9a37fb395a703e39b11b00b9e921c48f82b6e32cc5851ad5d0618cd8876b5",
-                "sha256:2bb78c12c1ad3a20c0d981a043d133299117b6854f2e14893b156979ed4e1d2c",
-                "sha256:2c3cfb272bcb83650e6695d49ae0d14dd06dc694789a3d929f23758557a23d92",
-                "sha256:2f32010ffb87759c6a3ad1c65ed4d2e38e51f6b430a1ca11cee901ec2b42e021",
-                "sha256:3c8731596198198746f7ce2a4487a0edcbc9ea5e5918f0ab23c4859bce56055c",
-                "sha256:40aa8c8e964d47d713b226c5baf5f13cdf3a3169c7a2653163b17ff2e2334d10",
-                "sha256:4137025731e824eee8d263b20682b28a0bdc0508de9c11d6c6be54163e5b7c83",
-                "sha256:46034be614d1f75f06e7dcfefba21d609b16b38c21fc912b01a99cb29e58febb",
-                "sha256:483e118b1e075f1819b3c6ace082b9d7d3a6a5eb14b2b375f1b80a0868117920",
-                "sha256:4d6b229f5e1a6375f206455cc0a63a8e502ed190fe7eb15e94a312dc69d40299",
-                "sha256:567d54c06306f9c5b6826190628d66753b9f2b0422f4c02d7c6d2b97ebf0a24e",
-                "sha256:5683aa8f2639016fd2b421df44301f10820e28a9b96382a6e438e5c6427253af",
-                "sha256:600101f43a7582d5b9504a7c629a1185a849ce65e60fca0f6968dfc4b76b6d39",
-                "sha256:62e32f02b3f26204d9c02c3539c802afc3eefb19d601a0987836ed126efb1f21",
-                "sha256:69dedb790530c7ca5345899a1b4cb837cc53ba669051ea51e8c18f82f9389061",
-                "sha256:72d5efecad16c619a97744a4f0b67ce1bcc88115aa82fcf1dc5be9bb403bcc0b",
-                "sha256:8d407e0fd8015f6d5dfad481309638e1968d70e6644e0753f229154667dd6cd5",
-                "sha256:a058e6cf8d68a5a19cb5449f42a404f0d6c2778b897e6ce8fadda9cea308b1b0",
-                "sha256:a1adc14a2a9d5e95f76df625a9b39f4709267a483962a572e3f3001ef90ea6e6",
-                "sha256:a56fe1261230093bfeedc1c1a6cd6f3ec568f9b07f031c9a09f46b201f793a85",
-                "sha256:ad4524289d8dbd6fb5aa17aedb18f5643e7d48358f42c007a5ee51a2afc2a7c5",
-                "sha256:afa0491a9f154cf8519a02026dc85a416192f4cb1efbbf32db4a173ba28b289a",
-                "sha256:bf34840e102d1d0b2d39b1465918d90b312b1119552cebb61a242c42079817b9",
-                "sha256:c40df4aea777be321b7e68facb901bc67317e94b65d9ab20fb96e0eb3c0b60a1",
-                "sha256:d0e7321557c702bd92dac3c66a2f22b963155fdb4600133b6b29597f62b71b12",
-                "sha256:d165d7774d558ea971cb867739fb334faf68fc4756a784e689e11efa3becd59e",
-                "sha256:e78a183a3c2f555c2ad6aaa1ab572d1c435ba42f1dc3a7e8c82982306a19b785",
-                "sha256:e8fa0fb05083a1a4216b4b881fdefa71c5d9a106e9b094cd4399af6b52873e91",
-                "sha256:f83d6b4b22262d9a826c3bd4b2fbfafe1d0000f085ef8e44cd1328eea274ae6a",
-                "sha256:f95bebd0afe86b2adc074df29edb6848fc4d474ff24075e2c263d698774e108d"
+                "sha256:00b5c3e9744dcdc9e84c24ed6646d5cf0cf66551347b310b3ffd70f056535854",
+                "sha256:0e4fa5d34d7973e6b0efa46fe4405090f3b406f64b6290facbb19dcbf642ad6b",
+                "sha256:136cacdde1a2c5e5bc3d0b2a1beed733f97e2dad8c2ad3c2e17116f6590a3827",
+                "sha256:1730c93a38b5a18d24549bc81613223962a19d457cfda9bdc66e542f475a36f4",
+                "sha256:1a62fd6cd518693568e23e02f41816adedfca637f26716837681c90b36af3671",
+                "sha256:1c207e6f6dfd5749a26f5a5fd966602d6b824ec00d2df84a7e9a924e8933654e",
+                "sha256:2eccd5bef45883802848f821d940367c1d0ad588de71e5cabe3813175444202c",
+                "sha256:33ee982237cffaf946db365c3a6ebaa37855d8e3ca5800f6f48890209c1cfefc",
+                "sha256:3d136e5b8821073e1a09dde3eb076ea9988e7010c54ffe4d39701adf0c303438",
+                "sha256:47654177e675bafdf4e4738ce58cdc5c6d6ee2157ac0a78a3fa460942b9d64a8",
+                "sha256:47937cf2e7ed4e0e37f7851c76edeb8543ec9b0eae149b36ecd26176ff1ca874",
+                "sha256:4ac46298e0143d91e4644a27a769d1388d5d89e82ee0cf37bf2b0b001b9712a4",
+                "sha256:4c0b208a5d6c81434bdfa0f06d9b667e5de15af84d8cae5723c3a33ba6611b82",
+                "sha256:551db2fe892fcbefb38f6f81ffa62de11090c8119fd4e66a60f3adff70751ec7",
+                "sha256:599f3b07bde2627e163ce484d5497a54a0a8437779362395c6b25e68c6590ede",
+                "sha256:5ef8356f16b1a83609f7a992a6e33d792bb5eff2370712c9eaae0d02e1924341",
+                "sha256:5fe919027f29b12f7a2562ba0daf3e045cb388f844e022552a5674fcdf5d21f1",
+                "sha256:6f0a6be264afb094975b5ef55c911379d6989caa87c4e558814ec4f5125cfa2e",
+                "sha256:706efc19f9679a1b425d6fa2b4bc770d976d0984335eaea0869bd32f627591d2",
+                "sha256:73f9752cf3596771c7726f7eea5b9e634ad47c6d863043589a1c3bb31325c7eb",
+                "sha256:762e616199f6319bb98e7f4f27d254c84c5fb1c25c908c2a9d0f92b92fb27530",
+                "sha256:866a0f583be79f0def667a5d2c60b7b4cc68f0c0a470f227e1122691b443c934",
+                "sha256:86a94af4a88110ed4bb8961f5ac72edf782958e665d5bfceaab6bf388420a78b",
+                "sha256:8e0343a6e06d94f6b6ac52fbc75269b41dd3c57066541a6c76517f69fe67cb43",
+                "sha256:97e615eab34bd8477c3f34197a17ce08c648d38467489359cb9eb7394f1083f7",
+                "sha256:a96e6d4074db29b152222c34d7eec2e2db2f92638d2b2b2c704f9e8db3ae0edc",
+                "sha256:b912750b13d76af8aac45ddf4679535def304b2a48a07989ec736508d0bbfbde",
+                "sha256:bc2676312cc3468a25aac001ec727168994ea3b69b48914944a44c6a0b251e79",
+                "sha256:cebff2fe5dc82cb22122e4e1225e00a4a506b1a16fafa911142ee124febf2c9e",
+                "sha256:d22fce0b0f5715cdac082e35a9e735a1752dc8585f005d045abb1a7c20e197f9",
+                "sha256:d3f7e001328bd6466b3414215f66dde3c7c13d8025a9c160a75d7b2687090d15",
+                "sha256:d3fe667935e9562407c2511570dca14604a654988a13d8725667e95161d92e9b",
+                "sha256:dabb70a6e3d9c22df50e08dc55b14ca2a99da95a2d941954255ac76fd6982bc5",
+                "sha256:e2fb8e8158306567a3a9a41670c1ff99d0567d7fc96fa93b7abf8b519a46b250",
+                "sha256:e96ac6b3169940a8cd57b4f2b8edcad8f5213b60efcd197d59fbe52f0accd66e",
+                "sha256:fbf649bc77510ef2521cf797700b96167bb77838c40780da7ea3edd8b78044d1"
             ],
             "markers": "python_version >= '3.7'",
-            "version": "==6.3"
+            "version": "==6.4.post2"
         }
     },
     "develop": {
@@ -1754,69 +1754,69 @@
         },
         "coverage": {
             "hashes": [
-                "sha256:0646599e9b139988b63704d704af8e8df7fa4cbc4a1f33df69d97f36cb0a38de",
-                "sha256:0cdcbc320b14c3e5877ee79e649677cb7d89ef588852e9583e6b24c2e5072661",
-                "sha256:0d0a0f5e06881ecedfe6f3dd2f56dcb057b6dbeb3327fd32d4b12854df36bf26",
-                "sha256:1434e088b41594baa71188a17533083eabf5609e8e72f16ce8c186001e6b8c41",
-                "sha256:16db7f26000a07efcf6aea00316f6ac57e7d9a96501e990a36f40c965ec7a95d",
-                "sha256:1cc0fe9b0b3a8364093c53b0b4c0c2dd4bb23acbec4c9240b5f284095ccf7981",
-                "sha256:1fc81d5878cd6274ce971e0a3a18a8803c3fe25457165314271cf78e3aae3aa2",
-                "sha256:2ec92012fefebee89a6b9c79bc39051a6cb3891d562b9270ab10ecfdadbc0c34",
-                "sha256:39afcd3d4339329c5f58de48a52f6e4e50f6578dd6099961cf22228feb25f38f",
-                "sha256:4a7b0ceee8147444347da6a66be737c9d78f3353b0681715b668b72e79203e4a",
-                "sha256:4a9ca3f2fae0088c3c71d743d85404cec8df9be818a005ea065495bedc33da35",
-                "sha256:4bf0655ab60d754491004a5efd7f9cccefcc1081a74c9ef2da4735d6ee4a6223",
-                "sha256:4cc37def103a2725bc672f84bd939a6fe4522310503207aae4d56351644682f1",
-                "sha256:4fc84a37bfd98db31beae3c2748811a3fa72bf2007ff7902f68746d9757f3746",
-                "sha256:5037f8fcc2a95b1f0e80585bd9d1ec31068a9bcb157d9750a172836e98bc7a90",
-                "sha256:54de9ef3a9da981f7af93eafde4ede199e0846cd819eb27c88e2b712aae9708c",
-                "sha256:556cf1a7cbc8028cb60e1ff0be806be2eded2daf8129b8811c63e2b9a6c43bca",
-                "sha256:57e0204b5b745594e5bc14b9b50006da722827f0b8c776949f1135677e88d0b8",
-                "sha256:5a5740d1fb60ddf268a3811bcd353de34eb56dc24e8f52a7f05ee513b2d4f596",
-                "sha256:5c3721c2c9e4c4953a41a26c14f4cef64330392a6d2d675c8b1db3b645e31f0e",
-                "sha256:5fa567e99765fe98f4e7d7394ce623e794d7cabb170f2ca2ac5a4174437e90dd",
-                "sha256:5fd215c0c7d7aab005221608a3c2b46f58c0285a819565887ee0b718c052aa4e",
-                "sha256:6175d1a0559986c6ee3f7fccfc4a90ecd12ba0a383dcc2da30c2b9918d67d8a3",
-                "sha256:61c4bf1ba021817de12b813338c9be9f0ad5b1e781b9b340a6d29fc13e7c1b5e",
-                "sha256:6537e7c10cc47c595828b8a8be04c72144725c383c4702703ff4e42e44577312",
-                "sha256:68f962d9b72ce69ea8621f57551b2fa9c70509af757ee3b8105d4f51b92b41a7",
-                "sha256:7352b9161b33fd0b643ccd1f21f3a3908daaddf414f1c6cb9d3a2fd618bf2572",
-                "sha256:796a79f63eca8814ca3317a1ea443645c9ff0d18b188de470ed7ccd45ae79428",
-                "sha256:79afb6197e2f7f60c4824dd4b2d4c2ec5801ceb6ba9ce5d2c3080e5660d51a4f",
-                "sha256:7a588d39e0925f6a2bff87154752481273cdb1736270642aeb3635cb9b4cad07",
-                "sha256:8748731ad392d736cc9ccac03c9845b13bb07d020a33423fa5b3a36521ac6e4e",
-                "sha256:8fe7502616b67b234482c3ce276ff26f39ffe88adca2acf0261df4b8454668b4",
-                "sha256:9314d5678dcc665330df5b69c1e726a0e49b27df0461c08ca12674bcc19ef136",
-                "sha256:9735317685ba6ec7e3754798c8871c2f49aa5e687cc794a0b1d284b2389d1bd5",
-                "sha256:9981706d300c18d8b220995ad22627647be11a4276721c10911e0e9fa44c83e8",
-                "sha256:9e78295f4144f9dacfed4f92935fbe1780021247c2fabf73a819b17f0ccfff8d",
-                "sha256:b016ea6b959d3b9556cb401c55a37547135a587db0115635a443b2ce8f1c7228",
-                "sha256:b6cf3764c030e5338e7f61f95bd21147963cf6aa16e09d2f74f1fa52013c1206",
-                "sha256:beccf7b8a10b09c4ae543582c1319c6df47d78fd732f854ac68d518ee1fb97fa",
-                "sha256:c0884920835a033b78d1c73b6d3bbcda8161a900f38a488829a83982925f6c2e",
-                "sha256:c3e757949f268364b96ca894b4c342b41dc6f8f8b66c37878aacef5930db61be",
-                "sha256:ca498687ca46a62ae590253fba634a1fe9836bc56f626852fb2720f334c9e4e5",
-                "sha256:d1d0d98d95dd18fe29dc66808e1accf59f037d5716f86a501fc0256455219668",
-                "sha256:d21918e9ef11edf36764b93101e2ae8cc82aa5efdc7c5a4e9c6c35a48496d601",
-                "sha256:d7fed867ee50edf1a0b4a11e8e5d0895150e572af1cd6d315d557758bfa9c057",
-                "sha256:db66fc317a046556a96b453a58eced5024af4582a8dbdc0c23ca4dbc0d5b3146",
-                "sha256:dde0070c40ea8bb3641e811c1cfbf18e265d024deff6de52c5950677a8fb1e0f",
-                "sha256:df4e745a81c110e7446b1cc8131bf986157770fa405fe90e15e850aaf7619bc8",
-                "sha256:e2213def81a50519d7cc56ed643c9e93e0247f5bbe0d1247d15fa520814a7cd7",
-                "sha256:ef48e2707fb320c8f139424a596f5b69955a85b178f15af261bab871873bb987",
-                "sha256:f152cbf5b88aaeb836127d920dd0f5e7edff5a66f10c079157306c4343d86c19",
-                "sha256:fc0b4d8bfeabd25ea75e94632f5b6e047eef8adaed0c2161ada1e922e7f7cece"
+                "sha256:06d96b9b19bbe7f049c2be3c4f9e06737ec6d8ef8933c7c3a4c557ef07936e46",
+                "sha256:13017a63b0e499c59b5ba94a8542fb62864ba3016127d1e4ef30d354fc2b00e9",
+                "sha256:1acc2e2ef098a1d4bf535758085f508097316d738101a97c3f996bccba963ea5",
+                "sha256:1aef719b6559b521ae913ddeb38f5048c6d1a3d366865e8b320270b7bc4693c2",
+                "sha256:1e4225990a87df898e40ca31c9e830c15c2c53b1d33df592bc8ef314d71f0281",
+                "sha256:1f11f98753800eb1ec872562a398081f6695f91cd01ce39819e36621003ec52a",
+                "sha256:1f29bf497d51a5077994b265e976d78b09d9d0dff6ca5763dbb4804534a5d380",
+                "sha256:1f96aa94739593ae0707eda9813ce363a0a0374a810ae0eced383340fc4a1f73",
+                "sha256:20e611fc36e1a0fc7bbf957ef9c635c8807d71fbe5643e51b2769b3cc0fb0b51",
+                "sha256:23f2f16958b16152b43a39a5ecf4705757ddd284b3b17a77da3a62aef9c057ef",
+                "sha256:24bb4c7859a3f757a116521d4d3a8a82befad56ea1bdacd17d6aafd113b0071e",
+                "sha256:26716a1118c6ce2188283b4b60a898c3be29b480acbd0a91446ced4fe4e780d8",
+                "sha256:29da75ce20cb0a26d60e22658dd3230713c6c05a3465dd8ad040ffc991aea318",
+                "sha256:2b144d142ec9987276aeff1326edbc0df8ba4afbd7232f0ca10ad57a115e95b6",
+                "sha256:2c79f058e7bec26b5295d53b8c39ecb623448c74ccc8378631f5cb5c16a7e02c",
+                "sha256:3bb5b92a0ab3d22dfdbfe845e2fef92717b067bdf41a5b68c7e3e857c0cff1a4",
+                "sha256:3d3f7744b8a8079d69af69d512e5abed4fb473057625588ce126088e50d05493",
+                "sha256:3d9c62cff2ffb4c2a95328488fd7aa96a7a4b34873150650fe76b19c08c9c792",
+                "sha256:3e12536446ad4527ac8ed91d8a607813085683bcce27af69e3b31cd72b3c5960",
+                "sha256:40dbb8e7727560fe8ab65efcddfec1ae25f30ef02e2f2e5d78cfb52a66781ec5",
+                "sha256:431a3917e32223fcdb90b79fe60185864a9109631ebc05f6c5aa03781a00b513",
+                "sha256:448ec61ea9ea7916d5579939362509145caaecf03161f6f13e366aebb692a631",
+                "sha256:482df956b055d3009d10fce81af6ffab28215d7ed6ad4a15e5c8e67cb7c5251c",
+                "sha256:4a00bd5ba8f1a4114720bef283cf31583d6cb1c510ce890a6da6c4268f0070b7",
+                "sha256:51b6cee539168a912b4b3b040e4042b9e2c9a7ad9c8546c09e4eaeff3eacba6b",
+                "sha256:554c7327bf0fd688050348e22db7c8e163fb7219f3ecdd4732d7ed606b417263",
+                "sha256:5662bf0f6fb6757f5c2d6279c541a5af55a39772c2362ed0920b27e3ce0e21f7",
+                "sha256:5997d418c219dcd4dcba64e50671cca849aaf0dac3d7a2eeeb7d651a5bd735b8",
+                "sha256:59a75e6aa5c25b50b5a1499f9718f2edff54257f545718c4fb100f48d570ead4",
+                "sha256:60b66b0363c5a2a79fba3d1cd7430c25bbd92c923d031cae906bdcb6e054d9a2",
+                "sha256:6e34680049eecb30b6498784c9637c1c74277dcb1db75649a152f8004fbd6646",
+                "sha256:74eeaa13e8200ad72fca9c5f37395fb310915cec6f1682b21375e84fd9770e84",
+                "sha256:7c5c5b7ae2763533152880d5b5b451acbc1089ade2336b710a24b2b0f5239d20",
+                "sha256:829fb55ad437d757c70d5b1c51cfda9377f31506a0a3f3ac282bc6a387d6a5f1",
+                "sha256:878243e1206828908a6b4a9ca7b1aa8bee9eb129bf7186fc381d2646f4524ce9",
+                "sha256:8809c0ea0e8454f756e3bd5c36d04dddf222989216788a25bfd6724bfcee342c",
+                "sha256:8941e35a0e991a7a20a1fa3e3182f82abe357211f2c335a9e6007067c3392fcf",
+                "sha256:894b1acded706f1407a662d08e026bfd0ff1e59e9bd32062fea9d862564cfb65",
+                "sha256:900532713115ac58bc3491b9d2b52704a05ed408ba0918d57fd72c94bc47fba1",
+                "sha256:976cd92d9420e6e2aa6ce6a9d61f2b490e07cb468968adf371546b33b829284b",
+                "sha256:97de509043d3f0f2b2cd171bdccf408f175c7f7a99d36d566b1ae4dd84107985",
+                "sha256:9a42970ce74c88bdf144df11c52c5cf4ad610d860de87c0883385a1c9d9fa4ab",
+                "sha256:9e41c94035e5cdb362beed681b58a707e8dc29ea446ea1713d92afeded9d1ddd",
+                "sha256:9f805481d5eff2a96bac4da1570ef662bf970f9a16580dc2c169c8c3183fa02b",
+                "sha256:a35c97af60a5492e9e89f8b7153fe24eadfd61cb3a2fb600df1a25b5dab34b7e",
+                "sha256:a7c6574225f34ce45466f04751d957b5c5e6b69fca9351db017c9249786172ce",
+                "sha256:c7ebf2a37e4f5fea3c1a11e1f47cea7d75d0f2d8ef69635ddbd5c927083211fc",
+                "sha256:d0305e02e40c7cfea5d08d6368576537a74c0eea62b77633179748d3519d6705",
+                "sha256:e1046aab24c48c694f0793f669ac49ea68acde6a0798ac5388abe0a5615b5ec8",
+                "sha256:e5d22eba19273b2069e4efeff88c897a26bdc64633cbe0357a198f92dca94268",
+                "sha256:ec27e93bbf5976f0465e8936f02eb5add99bbe4e4e7b233607e4d7622912d68d",
+                "sha256:fe76d6dee5e4febefa83998b17926df3a04e5089e3d2b1688c74a9157798d7a2"
             ],
             "index": "pypi",
-            "version": "==7.5.1"
+            "version": "==7.5.2"
         },
         "docker": {
             "hashes": [
-                "sha256:12ba681f2777a0ad28ffbcc846a69c31b4dfd9752b47eb425a274ee269c5e14b",
-                "sha256:323736fb92cd9418fc5e7133bc953e11a9da04f4483f828b527db553f1e7e5a3"
+                "sha256:ad8c70e6e3f8926cb8a92619b832b4ea5299e2831c14284663184e200546fa6c",
+                "sha256:c96b93b7f0a746f9e77d325bcfb87422a3d8bd4f03136ae8a85b37f1898d5fc0"
             ],
             "markers": "python_version >= '3.8'",
-            "version": "==7.0.0"
+            "version": "==7.1.0"
         },
         "idna": {
             "hashes": [
@@ -1914,11 +1914,11 @@
         },
         "pytest": {
             "hashes": [
-                "sha256:1733f0620f6cda4095bbf0d9ff8022486e91892245bb9e7d5542c018f612f233",
-                "sha256:d507d4482197eac0ba2bae2e9babf0672eb333017bcedaa5fb1a3d42c1174b3f"
+                "sha256:5046e5b46d8e4cac199c373041f26be56fdb81eb4e67dc11d4e10811fc3408fd",
+                "sha256:faccc5d332b8c3719f40283d0d44aa5cf101cec36f88cde9ed8f2bc0538612b1"
             ],
             "index": "pypi",
-            "version": "==8.2.0"
+            "version": "==8.2.1"
         },
         "python-dateutil": {
             "hashes": [
@@ -1930,11 +1930,11 @@
         },
         "requests": {
             "hashes": [
-                "sha256:58cd2187c01e70e6e26505bca751777aa9f2ee0b7f4300988b709f44e013003f",
-                "sha256:942c5a758f98d790eaed1a29cb6eefc7ffb0d1cf7af05c3d2791656dbd6ad1e1"
+                "sha256:dd951ff5ecf3e3b3aa26b40703ba77495dab41da839ae72ef3c8e5d8e2433289",
+                "sha256:fc06670dd0ed212426dfeb94fc1b983d917c4f9847c863f313c9dfaaffb7c23c"
             ],
             "index": "pypi",
-            "version": "==2.31.0"
+            "version": "==2.32.2"
         },
         "requests-mock": {
             "hashes": [
@@ -1975,11 +1975,11 @@
         },
         "typing-extensions": {
             "hashes": [
-                "sha256:83f085bd5ca59c80295fc2a82ab5dac679cbe02b9f33f7d83af68e241bea51b0",
-                "sha256:c1f94d72897edaf4ce775bb7558d5b79d8126906a14ea5ed1635921406c0387a"
+                "sha256:8cbcdc8606ebcb0d95453ad7dc5065e6237b6aa230a31e81d0f440c30fed5fd8",
+                "sha256:b349c66bea9016ac22978d800cfff206d5f9816951f12a7d0ec5578b0a819594"
             ],
             "markers": "python_version >= '3.8'",
-            "version": "==4.11.0"
+            "version": "==4.12.0"
         },
         "urllib3": {
             "hashes": [
diff --git a/dbrepo-analyse-service/app.py b/dbrepo-analyse-service/app.py
index 0e3043113a..de1ca37a4d 100644
--- a/dbrepo-analyse-service/app.py
+++ b/dbrepo-analyse-service/app.py
@@ -132,11 +132,11 @@ app.config["AUTH_SERVICE_CLIENT"] = os.getenv("AUTH_SERVICE_CLIENT", "dbrepo")
 app.config["AUTH_SERVICE_CLIENT_SECRET"] = os.getenv("AUTH_SERVICE_CLIENT_SECRET", "MUwRc7yfXSJwX8AdRMWaQC3Nep1VjwgG")
 app.config["ADMIN_USERNAME"] = os.getenv('ADMIN_USERNAME', 'admin')
 app.config["ADMIN_PASSWORD"] = os.getenv('ADMIN_PASSWORD', 'admin')
-app.config["S3_ENDPOINT"] = os.getenv('S3_ENDPOINT', 'http://localhost:9000')
 app.config["S3_ACCESS_KEY_ID"] = os.getenv('S3_ACCESS_KEY_ID', 'seaweedfsadmin')
-app.config["S3_SECRET_ACCESS_KEY"] = os.getenv('S3_SECRET_ACCESS_KEY', 'seaweedfsadmin')
+app.config["S3_ENDPOINT"] = os.getenv('S3_ENDPOINT', 'http://localhost:9000')
 app.config["S3_EXPORT_BUCKET"] = os.getenv('S3_EXPORT_BUCKET', 'dbrepo-download')
 app.config["S3_IMPORT_BUCKET"] = os.getenv('S3_IMPORT_BUCKET', 'dbrepo-upload')
+app.config["S3_SECRET_ACCESS_KEY"] = os.getenv('S3_SECRET_ACCESS_KEY', 'seaweedfsadmin')
 
 app.json_encoder = LazyJSONEncoder
 
@@ -187,6 +187,7 @@ def get_health():
 
 
 @app.route("/api/analyse/datatypes", methods=["GET"], endpoint="analyse_analyse_datatypes")
+@metrics.gauge(name='dbrepo_analyse_datatypes', description='Time needed to analyse datatypes of dataset')
 @swag_from("as-yml/analyse_datatypes.yml")
 def analyse_datatypes():
     filename: str = request.args.get('filename')
@@ -212,6 +213,7 @@ def analyse_datatypes():
 
 
 @app.route("/api/analyse/keys", methods=["GET"], endpoint="analyse_analyse_keys")
+@metrics.gauge(name='dbrepo_analyse_keys', description='Time needed to analyse keys of dataset')
 @swag_from("as-yml/analyse_keys.yml")
 def analyse_keys():
     filename: str = request.args.get("filename")
@@ -234,6 +236,7 @@ def analyse_keys():
 @app.route("/api/analyse/database/<database_id>/table/<table_id>/statistics", methods=["GET"],
            endpoint="analyse_analyse_table_stat")
 @auth.login_required(role=['admin', 'export-query-data', 'export-table-data'])
+@metrics.gauge(name='dbrepo_analyse_table_stat', description='Time needed to analyse table statistics')
 @swag_from("as-yml/analyse_table_stat.yml")
 def analyse_table_stat(database_id: int = None, table_id: int = None):
     if database_id is None:
diff --git a/dbrepo-analyse-service/clients/s3_client.py b/dbrepo-analyse-service/clients/s3_client.py
index 22f21966b7..5e8f3bb437 100644
--- a/dbrepo-analyse-service/clients/s3_client.py
+++ b/dbrepo-analyse-service/clients/s3_client.py
@@ -20,7 +20,7 @@ class S3Client:
         self.bucket_exists_or_exit(current_app.config['S3_EXPORT_BUCKET'])
         self.bucket_exists_or_exit(current_app.config['S3_IMPORT_BUCKET'])
 
-    def upload_file(self, filename: str, path: str = "/tmp/", bucket: str = "dbrepo-upload") -> bool:
+    def upload_file(self, filename: str, path: str = "/tmp", bucket: str = "dbrepo-upload") -> bool:
         """
         Uploads a file to the blob storage.
         Follows the official API https://boto3.amazonaws.com/v1/documentation/api/latest/guide/s3-uploading-files.html.
@@ -43,15 +43,16 @@ class S3Client:
             logging.warning(f"Failed to upload file with key {filename}")
             raise ConnectionRefusedError(f"Failed to upload file with key {filename}", e)
 
-    def download_file(self, filename: str, bucket: str):
+    def download_file(self, filename: str, path: str = "/tmp", bucket: str = "dbrepo-download"):
         """
         Downloads a file from the blob storage.
         Follows the official API https://boto3.amazonaws.com/v1/documentation/api/latest/guide/s3-example-download-file.html
         :param filename: The filename.
+        :param path: The path the file is located.
         :param bucket: The bucket to download the file from.
         """
         self.file_exists(bucket, filename)
-        filepath = os.path.join("/tmp/", filename)
+        filepath = os.path.join(path, filename)
         self.client.download_file(bucket, filename, filepath)
         logging.info(f"Downloaded .csv with key {filename} into {filepath}")
 
diff --git a/dbrepo-analyse-service/lib/dbrepo-1.4.3-py3-none-any.whl b/dbrepo-analyse-service/lib/dbrepo-1.4.3-py3-none-any.whl
index bb0ce570729cffddbd0f77eb818fd40eb0a56195..2e19eddac149ac401c67a52ba56577132e32869a 100644
GIT binary patch
delta 20837
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%0D@+}nRxkHqa2I;Ik5NNgFEn=@
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
HX&?ar33Q77

delta 20877
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

diff --git a/dbrepo-analyse-service/lib/dbrepo-1.4.3.tar.gz b/dbrepo-analyse-service/lib/dbrepo-1.4.3.tar.gz
index 04043f0f56105d80e7f2aaa5fe1598077184ef64..ffb89654bab83c6f72a9381825e41f0dbe7d37c9 100644
GIT binary patch
literal 37342
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

literal 37117
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

diff --git a/dbrepo-analyse-service/lib/dbrepo-1.4.4-py3-none-any.whl b/dbrepo-analyse-service/lib/dbrepo-1.4.4-py3-none-any.whl
new file mode 100644
index 0000000000000000000000000000000000000000..11873004972bb08703994ba1fb0ddf18f96f6a2c
GIT binary patch
literal 27104
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
G;sF4l(3t=L

literal 0
HcmV?d00001

diff --git a/dbrepo-analyse-service/lib/dbrepo-1.4.4.tar.gz b/dbrepo-analyse-service/lib/dbrepo-1.4.4.tar.gz
new file mode 100644
index 0000000000000000000000000000000000000000..f7452a0e12c9a2d44f663bc1f338204b7579144b
GIT binary patch
literal 37351
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
A;s5{u

literal 0
HcmV?d00001

diff --git a/dbrepo-analyse-service/metrics.md b/dbrepo-analyse-service/metrics.md
new file mode 100644
index 0000000000..f0eaee535a
--- /dev/null
+++ b/dbrepo-analyse-service/metrics.md
@@ -0,0 +1,6 @@
+| **Metric**                  | **Description**                             |
+|-----------------------------|---------------------------------------------|
+| `dbrepo_analyse_datatypes`  | Time needed to analyse datatypes of dataset |
+| `dbrepo_analyse_keys`       | Time needed to analyse keys of dataset      |
+| `dbrepo_analyse_table_stat` | Time needed to analyse table statistics     |
+| `dbrepo_analyse_table_stat` | Time needed to analyse table statistics     |
\ No newline at end of file
diff --git a/dbrepo-auth-service/dbrepo-realm.json b/dbrepo-auth-service/dbrepo-realm.json
index 1abee7076b..f5ced37ff2 100644
--- a/dbrepo-auth-service/dbrepo-realm.json
+++ b/dbrepo-auth-service/dbrepo-realm.json
@@ -1091,7 +1091,7 @@
   "otpPolicyLookAheadWindow" : 1,
   "otpPolicyPeriod" : 30,
   "otpPolicyCodeReusable" : false,
-  "otpSupportedApplications" : [ "totpAppMicrosoftAuthenticatorName", "totpAppFreeOTPName", "totpAppGoogleName" ],
+  "otpSupportedApplications" : [ "totpAppFreeOTPName", "totpAppGoogleName", "totpAppMicrosoftAuthenticatorName" ],
   "webAuthnPolicyRpEntityName" : "keycloak",
   "webAuthnPolicySignatureAlgorithms" : [ "ES256" ],
   "webAuthnPolicyRpId" : "",
@@ -2110,7 +2110,7 @@
       "subType" : "authenticated",
       "subComponents" : { },
       "config" : {
-        "allowed-protocol-mapper-types" : [ "oidc-usermodel-property-mapper", "saml-role-list-mapper", "oidc-usermodel-attribute-mapper", "oidc-full-name-mapper", "saml-user-attribute-mapper", "oidc-address-mapper", "saml-user-property-mapper", "oidc-sha256-pairwise-sub-mapper" ]
+        "allowed-protocol-mapper-types" : [ "saml-user-property-mapper", "oidc-full-name-mapper", "saml-user-attribute-mapper", "oidc-sha256-pairwise-sub-mapper", "oidc-usermodel-property-mapper", "saml-role-list-mapper", "oidc-usermodel-attribute-mapper", "oidc-address-mapper" ]
       }
     }, {
       "id" : "3ab11d74-5e76-408a-b85a-26bf8950f979",
@@ -2119,7 +2119,7 @@
       "subType" : "anonymous",
       "subComponents" : { },
       "config" : {
-        "allowed-protocol-mapper-types" : [ "oidc-usermodel-property-mapper", "saml-role-list-mapper", "saml-user-property-mapper", "oidc-full-name-mapper", "oidc-address-mapper", "oidc-usermodel-attribute-mapper", "oidc-sha256-pairwise-sub-mapper", "saml-user-attribute-mapper" ]
+        "allowed-protocol-mapper-types" : [ "oidc-usermodel-property-mapper", "oidc-address-mapper", "saml-user-property-mapper", "oidc-sha256-pairwise-sub-mapper", "oidc-full-name-mapper", "saml-role-list-mapper", "oidc-usermodel-attribute-mapper", "saml-user-attribute-mapper" ]
       }
     } ],
     "org.keycloak.keys.KeyProvider" : [ {
@@ -2171,7 +2171,7 @@
   "internationalizationEnabled" : false,
   "supportedLocales" : [ ],
   "authenticationFlows" : [ {
-    "id" : "81aad346-5dea-4764-a97d-70fa27c7d4a0",
+    "id" : "fbce9485-c780-438c-bbe9-135352504aa7",
     "alias" : "Account verification options",
     "description" : "Method with which to verity the existing account",
     "providerId" : "basic-flow",
@@ -2193,7 +2193,7 @@
       "userSetupAllowed" : false
     } ]
   }, {
-    "id" : "1677aaa5-9086-4d75-8f07-c76e25f90167",
+    "id" : "dce6a1a5-7099-4366-a644-79b08fd399fd",
     "alias" : "Authentication Options",
     "description" : "Authentication options.",
     "providerId" : "basic-flow",
@@ -2222,7 +2222,7 @@
       "userSetupAllowed" : false
     } ]
   }, {
-    "id" : "04270a38-4dd9-4820-bccd-0eeab6d5e60b",
+    "id" : "ac79c3e5-8aa3-499c-ae23-1656ab67972c",
     "alias" : "Browser - Conditional OTP",
     "description" : "Flow to determine if the OTP is required for the authentication",
     "providerId" : "basic-flow",
@@ -2244,7 +2244,7 @@
       "userSetupAllowed" : false
     } ]
   }, {
-    "id" : "82af3fdb-f93f-40cd-9a1b-5aaac3c99fc4",
+    "id" : "ecafaa7c-4a1f-4842-b8cd-6661fea1da33",
     "alias" : "Direct Grant - Conditional OTP",
     "description" : "Flow to determine if the OTP is required for the authentication",
     "providerId" : "basic-flow",
@@ -2266,7 +2266,7 @@
       "userSetupAllowed" : false
     } ]
   }, {
-    "id" : "9f7a2dee-a00b-4ed0-a28d-aebd5b04c098",
+    "id" : "55d29fb3-07a8-47b7-a051-9176e404ab55",
     "alias" : "First broker login - Conditional OTP",
     "description" : "Flow to determine if the OTP is required for the authentication",
     "providerId" : "basic-flow",
@@ -2288,7 +2288,7 @@
       "userSetupAllowed" : false
     } ]
   }, {
-    "id" : "8bb2d6f7-095f-4be5-844e-aa7351be07a3",
+    "id" : "23a6b3f9-d7dc-41f0-b9b0-917e64aa62ed",
     "alias" : "Handle Existing Account",
     "description" : "Handle what to do if there is existing account with same email/username like authenticated identity provider",
     "providerId" : "basic-flow",
@@ -2310,7 +2310,7 @@
       "userSetupAllowed" : false
     } ]
   }, {
-    "id" : "dc8b131c-6078-4730-9c89-0f6e523bd42e",
+    "id" : "ea03fe83-9a6c-47e0-85e9-94fb006bc504",
     "alias" : "Reset - Conditional OTP",
     "description" : "Flow to determine if the OTP should be reset or not. Set to REQUIRED to force.",
     "providerId" : "basic-flow",
@@ -2332,7 +2332,7 @@
       "userSetupAllowed" : false
     } ]
   }, {
-    "id" : "f308ac01-8dfa-4593-b19f-562c26d95bbd",
+    "id" : "c2f4bb71-24a7-42a2-a870-d0485b6430f7",
     "alias" : "User creation or linking",
     "description" : "Flow for the existing/non-existing user alternatives",
     "providerId" : "basic-flow",
@@ -2355,7 +2355,7 @@
       "userSetupAllowed" : false
     } ]
   }, {
-    "id" : "12fe4a00-c0ee-4a21-929f-c9e510f7edd4",
+    "id" : "08a0c43e-434c-4f9d-97d8-efcc697c0bdb",
     "alias" : "Verify Existing Account by Re-authentication",
     "description" : "Reauthentication of existing account",
     "providerId" : "basic-flow",
@@ -2377,7 +2377,7 @@
       "userSetupAllowed" : false
     } ]
   }, {
-    "id" : "4add5b6a-55d9-4d95-8d24-00e508039883",
+    "id" : "9df5a633-532d-4da0-99ad-b60bac9a984b",
     "alias" : "browser",
     "description" : "browser based authentication",
     "providerId" : "basic-flow",
@@ -2413,7 +2413,7 @@
       "userSetupAllowed" : false
     } ]
   }, {
-    "id" : "783c72d8-b771-45ff-9b94-facbc7fe7c33",
+    "id" : "cac0d15d-bba8-4731-a184-5711bfdc38d8",
     "alias" : "clients",
     "description" : "Base authentication for clients",
     "providerId" : "client-flow",
@@ -2449,7 +2449,7 @@
       "userSetupAllowed" : false
     } ]
   }, {
-    "id" : "55bed153-d2e3-44fa-9a42-4fe971325112",
+    "id" : "5cb539c9-6124-4883-b058-e4b0062c8ed0",
     "alias" : "direct grant",
     "description" : "OpenID Connect Resource Owner Grant",
     "providerId" : "basic-flow",
@@ -2478,7 +2478,7 @@
       "userSetupAllowed" : false
     } ]
   }, {
-    "id" : "8fc5834a-2853-47e5-9b0b-9af49ec8ae4f",
+    "id" : "610d7baf-f915-44e0-8617-8ae6309b1098",
     "alias" : "docker auth",
     "description" : "Used by Docker clients to authenticate against the IDP",
     "providerId" : "basic-flow",
@@ -2493,7 +2493,7 @@
       "userSetupAllowed" : false
     } ]
   }, {
-    "id" : "34062276-646c-48d7-ab65-4f086c3575fb",
+    "id" : "d613df19-1185-4796-b1e9-9716f4b241c9",
     "alias" : "first broker login",
     "description" : "Actions taken after first broker login with identity provider account, which is not yet linked to any Keycloak account",
     "providerId" : "basic-flow",
@@ -2516,7 +2516,7 @@
       "userSetupAllowed" : false
     } ]
   }, {
-    "id" : "47f8b7df-bc03-43cd-ab0b-be6ca3320f1c",
+    "id" : "7a475371-0966-4dff-9296-28790d5aa227",
     "alias" : "forms",
     "description" : "Username, password, otp and other auth forms.",
     "providerId" : "basic-flow",
@@ -2538,7 +2538,7 @@
       "userSetupAllowed" : false
     } ]
   }, {
-    "id" : "e975f4cf-3cad-458a-b0c5-1f6c5bb14d1b",
+    "id" : "7d71011c-9828-495a-8fc6-82e88e308d26",
     "alias" : "http challenge",
     "description" : "An authentication flow based on challenge-response HTTP Authentication Schemes",
     "providerId" : "basic-flow",
@@ -2560,7 +2560,7 @@
       "userSetupAllowed" : false
     } ]
   }, {
-    "id" : "5a570e5c-22aa-4cb9-ba03-9729876a0f14",
+    "id" : "0eb1b344-0a43-4ffa-8bf2-98560bd7471f",
     "alias" : "registration",
     "description" : "registration flow",
     "providerId" : "basic-flow",
@@ -2576,7 +2576,7 @@
       "userSetupAllowed" : false
     } ]
   }, {
-    "id" : "2a50f240-7f9c-4663-b922-bf141d8cecea",
+    "id" : "fd2328ca-38ca-4dc9-b9e5-09790a3512c5",
     "alias" : "registration form",
     "description" : "registration form",
     "providerId" : "form-flow",
@@ -2612,7 +2612,7 @@
       "userSetupAllowed" : false
     } ]
   }, {
-    "id" : "4136e336-cf46-444c-9aaa-77ec1b2eaec0",
+    "id" : "770cf19b-4bc2-4161-b156-161dc23eebaa",
     "alias" : "reset credentials",
     "description" : "Reset credentials for a user if they forgot their password or something",
     "providerId" : "basic-flow",
@@ -2648,7 +2648,7 @@
       "userSetupAllowed" : false
     } ]
   }, {
-    "id" : "d1ba354a-8203-42d5-bf16-d850182f7336",
+    "id" : "ab251c63-6c1b-4d93-9f26-2f5d18c81832",
     "alias" : "saml ecp",
     "description" : "SAML ECP Profile Authentication Flow",
     "providerId" : "basic-flow",
@@ -2664,13 +2664,13 @@
     } ]
   } ],
   "authenticatorConfig" : [ {
-    "id" : "cea49223-ea27-4324-816c-b6a890548097",
+    "id" : "709dcd0e-a60b-4ae5-ac66-d15374b1562c",
     "alias" : "create unique user config",
     "config" : {
       "require.password.update.after.registration" : "false"
     }
   }, {
-    "id" : "3627d68d-6f05-45b2-835d-8127ab90a6b3",
+    "id" : "f80268b2-6944-4acd-b622-426369f8c44d",
     "alias" : "review profile config",
     "config" : {
       "update.profile.on.first.login" : "missing"
diff --git a/dbrepo-data-db/sidecar/app.py b/dbrepo-data-db/sidecar/app.py
index ffca4d3753..f4342301df 100644
--- a/dbrepo-data-db/sidecar/app.py
+++ b/dbrepo-data-db/sidecar/app.py
@@ -121,14 +121,16 @@ app.config["AUTH_SERVICE_CLIENT"] = os.getenv("AUTH_SERVICE_CLIENT", "dbrepo-cli
 app.config["AUTH_SERVICE_CLIENT_SECRET"] = os.getenv("AUTH_SERVICE_CLIENT_SECRET", "MUwRc7yfXSJwX8AdRMWaQC3Nep1VjwgG")
 app.config["ADMIN_USERNAME"] = os.getenv('ADMIN_USERNAME', 'admin')
 app.config["ADMIN_PASSWORD"] = os.getenv('ADMIN_PASSWORD', 'admin')
-app.config["S3_ENDPOINT"] = os.getenv('S3_ENDPOINT', 'http://localhost:9000')
 app.config["S3_ACCESS_KEY_ID"] = os.getenv('S3_ACCESS_KEY_ID', 'seaweedfsadmin')
-app.config["S3_SECRET_ACCESS_KEY"] = os.getenv('S3_SECRET_ACCESS_KEY', 'seaweedfsadmin')
+app.config["S3_ENDPOINT"] = os.getenv('S3_ENDPOINT', 'http://localhost:9000')
 app.config["S3_EXPORT_BUCKET"] = os.getenv('S3_EXPORT_BUCKET', 'dbrepo-download')
+app.config["S3_FILE_PATH"] = os.getenv('S3_FILE_PATH', '/tmp')
+app.config["S3_SECRET_ACCESS_KEY"] = os.getenv('S3_SECRET_ACCESS_KEY', 'seaweedfsadmin')
 app.config["S3_IMPORT_BUCKET"] = os.getenv('S3_IMPORT_BUCKET', 'dbrepo-upload')
 
 app.json_encoder = LazyJSONEncoder
 
+
 @token_auth.verify_token
 def verify_token(token: str):
     if token is None or token == "":
@@ -176,25 +178,27 @@ def health():
 
 
 @app.route("/sidecar/import/<string:filename>", methods=["POST"], endpoint="sidecar_import")
+@metrics.gauge(name='dbrepo_sidecar_import_dataset', description='Time needed to import dataset from S3')
 @auth.login_required(role=['admin', 'import-database-data'])
 @swag_from("ds-yml/import.yml")
 def import_csv(filename):
     auth.current_user()
     logging.debug('endpoint import csv, filename=%s, body=%s', filename, request)
     s3_client = S3Client()
-    response = s3_client.download_file(filename)
+    response = s3_client.download_file(filename, app.config["S3_FILE_PATH"], app.config['S3_IMPORT_BUCKET'])
     if response is False:
         return Response(), 400
     return Response(json.dumps(response)), 202
 
 
 @app.route("/sidecar/export/<string:filename>", methods=["POST"], endpoint="sidecar_export")
+@metrics.gauge(name='dbrepo_sidecar_export_dataset', description='Time needed to export dataset to S3')
 @auth.login_required(role=['admin', 'export-query-data', 'export-table-data'])
 @swag_from("ds-yml/export.yml")
 def import_csv(filename):
     logging.debug('endpoint export csv, filename=%s, body=%s', filename, request)
     s3_client = S3Client()
-    response = s3_client.upload_file(filename)
+    response = s3_client.upload_file(filename, app.config["S3_FILE_PATH"], app.config['S3_EXPORT_BUCKET'])
     if response is False:
         return Response(), 400
     return Response(), 202
diff --git a/dbrepo-data-db/sidecar/clients/s3_client.py b/dbrepo-data-db/sidecar/clients/s3_client.py
index 135654da70..547a1c3a30 100644
--- a/dbrepo-data-db/sidecar/clients/s3_client.py
+++ b/dbrepo-data-db/sidecar/clients/s3_client.py
@@ -20,32 +20,35 @@ class S3Client:
         self.bucket_exists_or_exit(current_app.config['S3_IMPORT_BUCKET'])
         self.bucket_exists_or_exit(current_app.config['S3_EXPORT_BUCKET'])
 
-    def upload_file(self, filename) -> bool:
+    def upload_file(self, filename, path, bucket) -> bool:
         """
         Uploads a file to the blob storage.
         Follows the official API https://boto3.amazonaws.com/v1/documentation/api/latest/guide/s3-uploading-files.html.
         :param filename: The filename.
+        :param path: The path.
+        :param bucket: The bucket.
         :return: True if the file was uploaded.
         """
-        filepath = os.path.join("/tmp/", filename)
+        filepath = os.path.join(path, filename)
         try:
-            self.client.upload_file(filepath, current_app.config['S3_EXPORT_BUCKET'], filename)
-            logging.info(f"Uploaded .csv {filepath} with key {filename} into bucket dbrepo-download")
+            self.client.upload_file(filepath, bucket, filename)
+            logging.info(f"Uploaded .csv {filepath} with key {filename} into bucket {bucket}")
             return True
         except ClientError as e:
             logging.error(e)
             return False
 
-    def download_file(self, filename) -> bool:
+    def download_file(self, filename, path, bucket) -> bool:
         """
         Downloads a file from the blob storage.
         Follows the official API https://boto3.amazonaws.com/v1/documentation/api/latest/guide/s3-example-download-file.html
         :param filename: The filename.
+        :param path: The path.
+        :param bucket: The bucket.
         :return: True if the file was downloaded and saved.
         """
-        self.file_exists(current_app.config['S3_IMPORT_BUCKET'], filename)
-        filepath = os.path.join("/tmp/", filename)
-        bucket = current_app.config['S3_IMPORT_BUCKET']
+        self.file_exists(bucket, filename)
+        filepath = os.path.join(path, filename)
         try:
             self.client.download_file(bucket, filename, filepath)
             logging.info(f"Downloaded .csv with key {filename} into {filepath} from bucket {bucket}")
diff --git a/dbrepo-data-db/sidecar/metrics.md b/dbrepo-data-db/sidecar/metrics.md
new file mode 100644
index 0000000000..0aaa9e332b
--- /dev/null
+++ b/dbrepo-data-db/sidecar/metrics.md
@@ -0,0 +1,4 @@
+| **Metric**                      | **Description**                       |
+|---------------------------------|---------------------------------------|
+| `dbrepo_sidecar_import_dataset` | Time needed to import dataset from S3 |
+| `dbrepo_sidecar_export_dataset` | Time needed to export dataset to S3   |
\ No newline at end of file
diff --git a/dbrepo-data-service/metrics.md b/dbrepo-data-service/metrics.md
new file mode 100644
index 0000000000..5e0773ad8c
--- /dev/null
+++ b/dbrepo-data-service/metrics.md
@@ -0,0 +1,17 @@
+| **Metric**                  | **Description**                           |
+|-----------------------------|-------------------------------------------|
+| `dbrepo_message_receive`    | Received AMQP message from Broker Service |
+| `dbrepo_subset_create`      | Create subset                             |
+| `dbrepo_subset_data`        | Retrieved subset data                     |
+| `dbrepo_subset_find`        | Find subset                               |
+| `dbrepo_subset_list`        | Find subsets                              |
+| `dbrepo_subset_persist`     | Persist subset                            |
+| `dbrepo_table_data_create`  | Create table data                         |
+| `dbrepo_table_data_delete`  | Delete table data                         |
+| `dbrepo_table_data_export`  | Export table data                         |
+| `dbrepo_table_data_history` | Find table history                        |
+| `dbrepo_table_data_import`  | Import dataset                            |
+| `dbrepo_table_data_list`    | Retrieve table data                       |
+| `dbrepo_table_data_update`  | Update table data                         |
+| `dbrepo_view_data`          | Retrieve view data                        |
+| `dbrepo_view_schema_list`   | Find view schemas                         |
diff --git a/dbrepo-data-service/pom.xml b/dbrepo-data-service/pom.xml
index 811bd20576..98ad4d797c 100644
--- a/dbrepo-data-service/pom.xml
+++ b/dbrepo-data-service/pom.xml
@@ -11,7 +11,7 @@
     <groupId>at.tuwien</groupId>
     <artifactId>dbrepo-data-service</artifactId>
     <name>dbrepo-data-service</name>
-    <version>1.4.3</version>
+    <version>1.4.4</version>
 
     <description>Service that manages the data</description>
 
diff --git a/dbrepo-data-service/querystore/pom.xml b/dbrepo-data-service/querystore/pom.xml
index e30f0c2956..4e08bccd72 100644
--- a/dbrepo-data-service/querystore/pom.xml
+++ b/dbrepo-data-service/querystore/pom.xml
@@ -6,12 +6,12 @@
     <parent>
         <groupId>at.tuwien</groupId>
         <artifactId>dbrepo-data-service</artifactId>
-        <version>1.4.3</version>
+        <version>1.4.4</version>
     </parent>
 
     <artifactId>dbrepo-data-service-querystore</artifactId>
     <name>dbrepo-data-service-querystore</name>
-    <version>1.4.3</version>
+    <version>1.4.4</version>
 
     <dependencies/>
 
diff --git a/dbrepo-data-service/report/pom.xml b/dbrepo-data-service/report/pom.xml
index 8a52a9d2ce..9a46c8f2fb 100644
--- a/dbrepo-data-service/report/pom.xml
+++ b/dbrepo-data-service/report/pom.xml
@@ -6,12 +6,12 @@
     <parent>
         <groupId>at.tuwien</groupId>
         <artifactId>dbrepo-data-service</artifactId>
-        <version>1.4.3</version>
+        <version>1.4.4</version>
     </parent>
 
     <artifactId>report</artifactId>
     <name>dbrepo-data-service-report</name>
-    <version>1.4.3</version>
+    <version>1.4.4</version>
     <description>
         This module is only intended for the pipeline coverage report. See the detailed report in the
         respective modules
diff --git a/dbrepo-data-service/rest-service/pom.xml b/dbrepo-data-service/rest-service/pom.xml
index 9175428c48..72f1a8f5d9 100644
--- a/dbrepo-data-service/rest-service/pom.xml
+++ b/dbrepo-data-service/rest-service/pom.xml
@@ -6,18 +6,18 @@
     <parent>
         <groupId>at.tuwien</groupId>
         <artifactId>dbrepo-data-service</artifactId>
-        <version>1.4.3</version>
+        <version>1.4.4</version>
     </parent>
 
     <artifactId>rest-service</artifactId>
     <name>dbrepo-data-service-rest-service</name>
-    <version>1.4.3</version>
+    <version>1.4.4</version>
 
     <dependencies>
         <dependency>
             <groupId>at.tuwien</groupId>
             <artifactId>services</artifactId>
-            <version>1.4.3</version>
+            <version>1.4.4</version>
         </dependency>
     </dependencies>
 
diff --git a/dbrepo-data-service/rest-service/src/main/java/at/tuwien/endpoints/AccessEndpoint.java b/dbrepo-data-service/rest-service/src/main/java/at/tuwien/endpoints/AccessEndpoint.java
index 452a1e6b46..ea7b1b3677 100644
--- a/dbrepo-data-service/rest-service/src/main/java/at/tuwien/endpoints/AccessEndpoint.java
+++ b/dbrepo-data-service/rest-service/src/main/java/at/tuwien/endpoints/AccessEndpoint.java
@@ -20,10 +20,8 @@ import lombok.extern.log4j.Log4j2;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.ResponseEntity;
 import org.springframework.security.access.prepost.PreAuthorize;
-import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.bind.annotation.*;
 
-import java.security.Principal;
 import java.sql.SQLException;
 import java.util.UUID;
 
@@ -43,36 +41,33 @@ public class AccessEndpoint {
     }
 
     @PostMapping("/{userId}")
-    @Transactional
-    @Observed(name = "dbrepo_database_access_create")
     @PreAuthorize("hasAuthority('admin')")
     @Operation(summary = "Give access to some database", security = {@SecurityRequirement(name = "basicAuth")})
     @ApiResponses(value = {
             @ApiResponse(responseCode = "202",
-                    description = "Granting access succeeded",
-                    content = {@Content}),
+                    description = "Granting access succeeded"),
             @ApiResponse(responseCode = "400",
                     description = "Granting access query or database connection is malformed",
                     content = {@Content(
                             mediaType = "application/json",
                             schema = @Schema(implementation = ApiErrorDto.class))}),
             @ApiResponse(responseCode = "403",
-                    description = "Failed giving access",
+                    description = "Not allowed to give access",
                     content = {@Content(
                             mediaType = "application/json",
                             schema = @Schema(implementation = ApiErrorDto.class))}),
             @ApiResponse(responseCode = "404",
-                    description = "Database or user not found",
+                    description = "Failed to find database/user in metadata database",
                     content = {@Content(
                             mediaType = "application/json",
                             schema = @Schema(implementation = ApiErrorDto.class))}),
-            @ApiResponse(responseCode = "405",
-                    description = "Granting access not permitted",
+            @ApiResponse(responseCode = "417",
+                    description = "Failed to give access in the database",
                     content = {@Content(
                             mediaType = "application/json",
                             schema = @Schema(implementation = ApiErrorDto.class))}),
             @ApiResponse(responseCode = "503",
-                    description = "Access could not be created in the data service",
+                    description = "Failed to establish connection to metadata service",
                     content = {@Content(
                             mediaType = "application/json",
                             schema = @Schema(implementation = ApiErrorDto.class))}),
@@ -99,40 +94,45 @@ public class AccessEndpoint {
     }
 
     @PutMapping("/{userId}")
-    @Transactional
-    @Observed(name = "dbrepo_database_access_update")
     @PreAuthorize("hasAuthority('admin')")
-    @Operation(summary = "Modify access to some database", security = {@SecurityRequirement(name = "basicAuth")})
+    @Operation(summary = "Update access to some database", security = {@SecurityRequirement(name = "basicAuth")})
     @ApiResponses(value = {
             @ApiResponse(responseCode = "202",
-                    description = "Modify access succeeded",
+                    description = "Update access succeeded",
                     content = {@Content}),
             @ApiResponse(responseCode = "400",
-                    description = "Modify access query or database connection is malformed",
+                    description = "Update access query or database connection is malformed",
                     content = {@Content(
                             mediaType = "application/json",
                             schema = @Schema(implementation = ApiErrorDto.class))}),
             @ApiResponse(responseCode = "403",
-                    description = "Modify access not permitted when no access is granted in the first place",
+                    description = "Not allowed to update access",
                     content = {@Content(
                             mediaType = "application/json",
                             schema = @Schema(implementation = ApiErrorDto.class))}),
             @ApiResponse(responseCode = "404",
-                    description = "Database or user not found",
+                    description = "Failed to find database/user in metadata database",
+                    content = {@Content(
+                            mediaType = "application/json",
+                            schema = @Schema(implementation = ApiErrorDto.class))}),
+            @ApiResponse(responseCode = "417",
+                    description = "Failed to update access in database",
                     content = {@Content(
                             mediaType = "application/json",
                             schema = @Schema(implementation = ApiErrorDto.class))}),
             @ApiResponse(responseCode = "503",
-                    description = "Access could not be updated in the data service",
+                    description = "Failed to establish connection with metadata service",
                     content = {@Content(
                             mediaType = "application/json",
                             schema = @Schema(implementation = ApiErrorDto.class))}),
     })
     public ResponseEntity<?> update(@NotBlank @PathVariable("databaseId") Long databaseId,
                                     @NotBlank @PathVariable("userId") UUID userId,
-                                    @Valid @RequestBody UpdateDatabaseAccessDto accessDto) throws NotAllowedException, QueryMalformedException,
-            DatabaseNotFoundException, RemoteUnavailableException, UserNotFoundException, DatabaseMalformedException {
-        log.debug("endpoint modify access to database, databaseId={}, userId={}, accessDto={}", databaseId, userId, accessDto);
+                                    @Valid @RequestBody UpdateDatabaseAccessDto access) throws NotAllowedException,
+            QueryMalformedException, DatabaseNotFoundException, RemoteUnavailableException, UserNotFoundException,
+            DatabaseMalformedException {
+        log.debug("endpoint modify access to database, databaseId={}, userId={}, access.type={}", databaseId, userId,
+                access.getType());
         final PrivilegedDatabaseDto database = metadataServiceGateway.getDatabaseById(databaseId);
         final PrivilegedUserDto user = metadataServiceGateway.getUserById(userId);
         if (database.getAccesses().stream().noneMatch(a -> a.getUser().getId().equals(userId))) {
@@ -140,7 +140,7 @@ public class AccessEndpoint {
             throw new NotAllowedException("Failed to update access to user with id " + userId + ": no access");
         }
         try {
-            accessService.update(database, user, accessDto.getType());
+            accessService.update(database, user, access.getType());
             return ResponseEntity.accepted()
                     .build();
         } catch (SQLException e) {
@@ -149,31 +149,33 @@ public class AccessEndpoint {
     }
 
     @DeleteMapping("/{userId}")
-    @Transactional
-    @Observed(name = "dbrepo_database_access_revoke")
     @PreAuthorize("hasAuthority('admin')")
     @Operation(summary = "Revoke access to some database", security = {@SecurityRequirement(name = "basicAuth")})
     @ApiResponses(value = {
             @ApiResponse(responseCode = "202",
-                    description = "Revoked access successfully",
-                    content = {@Content}),
+                    description = "Revoked access successfully"),
             @ApiResponse(responseCode = "400",
-                    description = "Modify access query or database connection is malformed",
+                    description = "Revoke access query or database connection is malformed",
                     content = {@Content(
                             mediaType = "application/json",
                             schema = @Schema(implementation = ApiErrorDto.class))}),
             @ApiResponse(responseCode = "403",
-                    description = "Revoke of access not permitted as no access was found",
+                    description = "Not allowed to revoke access",
                     content = {@Content(
                             mediaType = "application/json",
                             schema = @Schema(implementation = ApiErrorDto.class))}),
             @ApiResponse(responseCode = "404",
-                    description = "User, database with access was not found",
+                    description = "Failed to find database/user in metadata database",
+                    content = {@Content(
+                            mediaType = "application/json",
+                            schema = @Schema(implementation = ApiErrorDto.class))}),
+            @ApiResponse(responseCode = "417",
+                    description = "Failed to revoke access in database",
                     content = {@Content(
                             mediaType = "application/json",
                             schema = @Schema(implementation = ApiErrorDto.class))}),
             @ApiResponse(responseCode = "503",
-                    description = "Access could not be revoked in the data service",
+                    description = "Failed to establish connection with the metadata service",
                     content = {@Content(
                             mediaType = "application/json",
                             schema = @Schema(implementation = ApiErrorDto.class))}),
diff --git a/dbrepo-data-service/rest-service/src/main/java/at/tuwien/endpoints/DatabaseEndpoint.java b/dbrepo-data-service/rest-service/src/main/java/at/tuwien/endpoints/DatabaseEndpoint.java
index 21014faf4c..f69019e717 100644
--- a/dbrepo-data-service/rest-service/src/main/java/at/tuwien/endpoints/DatabaseEndpoint.java
+++ b/dbrepo-data-service/rest-service/src/main/java/at/tuwien/endpoints/DatabaseEndpoint.java
@@ -13,7 +13,6 @@ import at.tuwien.mapper.MetadataMapper;
 import at.tuwien.service.AccessService;
 import at.tuwien.service.DatabaseService;
 import at.tuwien.service.SubsetService;
-import io.micrometer.observation.annotation.Observed;
 import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.media.Content;
 import io.swagger.v3.oas.annotations.media.Schema;
@@ -27,7 +26,6 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.HttpStatus;
 import org.springframework.http.ResponseEntity;
 import org.springframework.security.access.prepost.PreAuthorize;
-import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.bind.annotation.*;
 
 import java.sql.SQLException;
@@ -55,12 +53,11 @@ public class DatabaseEndpoint {
     }
 
     @PostMapping
-    @Transactional(rollbackFor = Exception.class)
     @PreAuthorize("hasAuthority('admin')")
     @Operation(summary = "Create database", security = {@SecurityRequirement(name = "basicAuth")})
     @ApiResponses(value = {
             @ApiResponse(responseCode = "201",
-                    description = "Created a new database",
+                    description = "Created a database",
                     content = {@Content(
                             mediaType = "application/json",
                             schema = @Schema(implementation = DatabaseDto.class))}),
@@ -69,10 +66,25 @@ public class DatabaseEndpoint {
                     content = {@Content(
                             mediaType = "application/json",
                             schema = @Schema(implementation = ApiErrorDto.class))}),
+            @ApiResponse(responseCode = "404",
+                    description = "Failed to find container in metadata database",
+                    content = {@Content(
+                            mediaType = "application/json",
+                            schema = @Schema(implementation = ApiErrorDto.class))}),
+            @ApiResponse(responseCode = "417",
+                    description = "Failed to create query store in database",
+                    content = {@Content(
+                            mediaType = "application/json",
+                            schema = @Schema(implementation = ApiErrorDto.class))}),
+            @ApiResponse(responseCode = "503",
+                    description = "Failed to communicate with database",
+                    content = {@Content(
+                            mediaType = "application/json",
+                            schema = @Schema(implementation = ApiErrorDto.class))}),
     })
-    public ResponseEntity<DatabaseDto> create(@Valid @RequestBody CreateDatabaseDto data) throws DatabaseUnavailableException,
-            RemoteUnavailableException, ContainerNotFoundException, DatabaseMalformedException,
-            QueryStoreCreateException {
+    public ResponseEntity<DatabaseDto> create(@Valid @RequestBody CreateDatabaseDto data)
+            throws DatabaseUnavailableException, RemoteUnavailableException, ContainerNotFoundException,
+            DatabaseMalformedException, QueryStoreCreateException {
         log.debug("endpoint create database, data.containerId={}, data.internalName={}, data.username={}",
                 data.getContainerId(), data.getInternalName(), data.getUsername());
         final PrivilegedContainerDto container = metadataServiceGateway.getContainerById(data.getContainerId());
@@ -94,17 +106,23 @@ public class DatabaseEndpoint {
     }
 
     @PutMapping("/{databaseId}")
-    @Transactional(rollbackFor = Exception.class)
     @PreAuthorize("hasAuthority('admin')")
     @Operation(summary = "Update user password in database", security = {@SecurityRequirement(name = "basicAuth")})
     @ApiResponses(value = {
             @ApiResponse(responseCode = "202",
-                    description = "Created a new database",
+                    description = "Updated user password in database"),
+            @ApiResponse(responseCode = "404",
+                    description = "Failed to find database in metadata database",
                     content = {@Content(
                             mediaType = "application/json",
-                            schema = @Schema(implementation = DatabaseDto.class))}),
-            @ApiResponse(responseCode = "400",
-                    description = "Database create query is malformed or image is not supported",
+                            schema = @Schema(implementation = ApiErrorDto.class))}),
+            @ApiResponse(responseCode = "417",
+                    description = "Failed to update user password in database",
+                    content = {@Content(
+                            mediaType = "application/json",
+                            schema = @Schema(implementation = ApiErrorDto.class))}),
+            @ApiResponse(responseCode = "503",
+                    description = "Failed to communicate with database",
                     content = {@Content(
                             mediaType = "application/json",
                             schema = @Schema(implementation = ApiErrorDto.class))}),
diff --git a/dbrepo-data-service/rest-service/src/main/java/at/tuwien/endpoints/SubsetEndpoint.java b/dbrepo-data-service/rest-service/src/main/java/at/tuwien/endpoints/SubsetEndpoint.java
index 32c30d481c..b9a9ae442d 100644
--- a/dbrepo-data-service/rest-service/src/main/java/at/tuwien/endpoints/SubsetEndpoint.java
+++ b/dbrepo-data-service/rest-service/src/main/java/at/tuwien/endpoints/SubsetEndpoint.java
@@ -6,6 +6,7 @@ import at.tuwien.api.database.query.ExecuteStatementDto;
 import at.tuwien.api.database.query.QueryDto;
 import at.tuwien.api.database.query.QueryPersistDto;
 import at.tuwien.api.database.query.QueryResultDto;
+import at.tuwien.api.error.ApiErrorDto;
 import at.tuwien.exception.*;
 import at.tuwien.gateway.MetadataServiceGateway;
 import at.tuwien.service.SubsetService;
@@ -25,6 +26,7 @@ import lombok.extern.log4j.Log4j2;
 import org.apache.commons.lang3.RandomStringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.HttpHeaders;
+import org.springframework.http.HttpStatus;
 import org.springframework.http.MediaType;
 import org.springframework.http.ResponseEntity;
 import org.springframework.security.access.prepost.PreAuthorize;
@@ -62,10 +64,25 @@ public class SubsetEndpoint {
                     content = {@Content(
                             mediaType = "application/json",
                             schema = @Schema(implementation = QueryDto[].class))}),
+            @ApiResponse(responseCode = "403",
+                    description = "Not allowed to find subsets",
+                    content = {@Content(
+                            mediaType = "application/json",
+                            schema = @Schema(implementation = ApiErrorDto.class))}),
+            @ApiResponse(responseCode = "404",
+                    description = "Failed to find database in metadata database or query in query store of the data database",
+                    content = {@Content(
+                            mediaType = "application/json",
+                            schema = @Schema(implementation = ApiErrorDto.class))}),
+            @ApiResponse(responseCode = "503",
+                    description = "Failed to communicate with database",
+                    content = {@Content(
+                            mediaType = "application/json",
+                            schema = @Schema(implementation = ApiErrorDto.class))}),
     })
-    public ResponseEntity<List<QueryDto>> findAllById(@NotNull @PathVariable("databaseId") Long databaseId,
-                                                      @RequestParam(name = "persisted", required = false) Boolean filterPersisted,
-                                                      Principal principal)
+    public ResponseEntity<List<QueryDto>> list(@NotNull @PathVariable("databaseId") Long databaseId,
+                                               @RequestParam(name = "persisted", required = false) Boolean filterPersisted,
+                                               Principal principal)
             throws DatabaseUnavailableException, DatabaseNotFoundException, RemoteUnavailableException,
             QueryNotFoundException, NotAllowedException {
         log.debug("endpoint find subsets in database, databaseId={}, filterPersisted={}, principal.name={}", databaseId,
@@ -94,7 +111,36 @@ public class SubsetEndpoint {
     @Operation(summary = "Find subset", security = {@SecurityRequirement(name = "basicAuth"), @SecurityRequirement(name = "bearerAuth")})
     @ApiResponses(value = {
             @ApiResponse(responseCode = "200",
-                    description = "Found subset")
+                    description = "Found subset",
+                    content = {@Content(
+                            mediaType = "application/json",
+                            schema = @Schema(implementation = QueryDto.class)),
+                            @Content(mediaType = "text/csv")}),
+            @ApiResponse(responseCode = "400",
+                    description = "Malformed select query",
+                    content = {@Content(
+                            mediaType = "application/json",
+                            schema = @Schema(implementation = ApiErrorDto.class))}),
+            @ApiResponse(responseCode = "403",
+                    description = "Not allowed to find subset",
+                    content = {@Content(
+                            mediaType = "application/json",
+                            schema = @Schema(implementation = ApiErrorDto.class))}),
+            @ApiResponse(responseCode = "404",
+                    description = "Failed to find database in metadata database or query in query store of the data database",
+                    content = {@Content(
+                            mediaType = "application/json",
+                            schema = @Schema(implementation = ApiErrorDto.class))}),
+            @ApiResponse(responseCode = "406",
+                    description = "Failed to find acceptable representation",
+                    content = {@Content(
+                            mediaType = "application/json",
+                            schema = @Schema(implementation = ApiErrorDto.class))}),
+            @ApiResponse(responseCode = "503",
+                    description = "Failed to communicate with database",
+                    content = {@Content(
+                            mediaType = "application/json",
+                            schema = @Schema(implementation = ApiErrorDto.class))}),
     })
     public ResponseEntity<?> findById(@NotNull @PathVariable("databaseId") Long databaseId,
                                       @NotNull @PathVariable("subsetId") Long subsetId,
@@ -165,6 +211,36 @@ public class SubsetEndpoint {
                     content = {@Content(
                             mediaType = "application/json",
                             schema = @Schema(implementation = QueryResultDto.class))}),
+            @ApiResponse(responseCode = "400",
+                    description = "Malformed select query",
+                    content = {@Content(
+                            mediaType = "application/json",
+                            schema = @Schema(implementation = ApiErrorDto.class))}),
+            @ApiResponse(responseCode = "403",
+                    description = "Not allowed to find subset",
+                    content = {@Content(
+                            mediaType = "application/json",
+                            schema = @Schema(implementation = ApiErrorDto.class))}),
+            @ApiResponse(responseCode = "404",
+                    description = "Failed to find database in metadata database or query in query store of the data database",
+                    content = {@Content(
+                            mediaType = "application/json",
+                            schema = @Schema(implementation = ApiErrorDto.class))}),
+            @ApiResponse(responseCode = "417",
+                    description = "Failed to insert query into query store of data database",
+                    content = {@Content(
+                            mediaType = "application/json",
+                            schema = @Schema(implementation = ApiErrorDto.class))}),
+            @ApiResponse(responseCode = "501",
+                    description = "Failed to execute query as it contains non-supported keywords",
+                    content = {@Content(
+                            mediaType = "application/json",
+                            schema = @Schema(implementation = ApiErrorDto.class))}),
+            @ApiResponse(responseCode = "503",
+                    description = "Failed to communicate with database",
+                    content = {@Content(
+                            mediaType = "application/json",
+                            schema = @Schema(implementation = ApiErrorDto.class))}),
     })
     public ResponseEntity<QueryResultDto> create(@NotNull @PathVariable("databaseId") Long databaseId,
                                                  @Valid @RequestBody ExecuteStatementDto data,
@@ -173,10 +249,10 @@ public class SubsetEndpoint {
                                                  @RequestParam(required = false) Long size,
                                                  @RequestParam(required = false) Instant timestamp)
             throws DatabaseUnavailableException, DatabaseNotFoundException, RemoteUnavailableException,
-            QueryNotFoundException, FormatNotAvailableException, StorageUnavailableException, QueryMalformedException,
-            SidecarExportException, StorageNotFoundException, QueryStoreInsertException, TableMalformedException,
-            PaginationException, QueryNotSupportedException, NotAllowedException, UserNotFoundException {
-        log.debug("endpoint find subset in database, databaseId={}, data.statement={}, principal.name={}, page={}, size={}, timestamp={}",
+            QueryNotFoundException, StorageUnavailableException, QueryMalformedException, SidecarExportException,
+            StorageNotFoundException, QueryStoreInsertException, TableMalformedException, PaginationException,
+            QueryNotSupportedException, NotAllowedException, UserNotFoundException {
+        log.debug("endpoint create subset in database, databaseId={}, data.statement={}, principal.name={}, page={}, size={}, timestamp={}",
                 databaseId, data.getStatement(), principal.getName(), page, size, timestamp);
         /* check */
         endpointValidator.validateDataParams(page, size);
@@ -206,18 +282,39 @@ public class SubsetEndpoint {
             throw new DatabaseUnavailableException("Failed to establish connection to database: " + e.getMessage(), e);
         }
         log.info("Created subset with id {} in data database", queryResult.getId());
-        return ResponseEntity.ok(queryResult);
+        return ResponseEntity.status(HttpStatus.CREATED)
+                .body(queryResult);
     }
 
     @RequestMapping(value = "/{subsetId}/data", method = {RequestMethod.GET, RequestMethod.HEAD})
     @Observed(name = "dbrepo_subset_data")
-    @Operation(summary = "Re-execute some query", security = {@SecurityRequirement(name = "bearerAuth"), @SecurityRequirement(name = "basicAuth")})
+    @Operation(summary = "Retrieved subset data", security = {@SecurityRequirement(name = "bearerAuth"), @SecurityRequirement(name = "basicAuth")})
     @ApiResponses(value = {
             @ApiResponse(responseCode = "200",
-                    description = "Get subset data",
+                    description = "Retrieved subset data",
                     content = {@Content(
                             mediaType = "application/json",
                             schema = @Schema(implementation = QueryResultDto.class))}),
+            @ApiResponse(responseCode = "400",
+                    description = "Malformed select query",
+                    content = {@Content(
+                            mediaType = "application/json",
+                            schema = @Schema(implementation = ApiErrorDto.class))}),
+            @ApiResponse(responseCode = "403",
+                    description = "Not allowed to retrieve subset data",
+                    content = {@Content(
+                            mediaType = "application/json",
+                            schema = @Schema(implementation = ApiErrorDto.class))}),
+            @ApiResponse(responseCode = "404",
+                    description = "Failed to find database in metadata database or query in query store of the data database",
+                    content = {@Content(
+                            mediaType = "application/json",
+                            schema = @Schema(implementation = ApiErrorDto.class))}),
+            @ApiResponse(responseCode = "503",
+                    description = "Failed to communicate with database",
+                    content = {@Content(
+                            mediaType = "application/json",
+                            schema = @Schema(implementation = ApiErrorDto.class))}),
     })
     public ResponseEntity<QueryResultDto> getData(@NotNull @PathVariable("databaseId") Long databaseId,
                                                   @NotNull @PathVariable("subsetId") Long subsetId,
@@ -273,13 +370,38 @@ public class SubsetEndpoint {
     @PutMapping("/{queryId}")
     @PreAuthorize("hasAuthority('persist-query')")
     @Observed(name = "dbrepo_subset_persist")
-    @Operation(summary = "Persist some query", security = {@SecurityRequirement(name = "bearerAuth"), @SecurityRequirement(name = "basicAuth")})
+    @Operation(summary = "Persist subset", security = {@SecurityRequirement(name = "bearerAuth"), @SecurityRequirement(name = "basicAuth")})
     @ApiResponses(value = {
             @ApiResponse(responseCode = "202",
-                    description = "Persist query successful",
+                    description = "Persisted subset",
                     content = {@Content(
                             mediaType = "application/json",
                             schema = @Schema(implementation = QueryDto.class))}),
+            @ApiResponse(responseCode = "400",
+                    description = "Malformed select query",
+                    content = {@Content(
+                            mediaType = "application/json",
+                            schema = @Schema(implementation = ApiErrorDto.class))}),
+            @ApiResponse(responseCode = "403",
+                    description = "Not allowed to persist subset",
+                    content = {@Content(
+                            mediaType = "application/json",
+                            schema = @Schema(implementation = ApiErrorDto.class))}),
+            @ApiResponse(responseCode = "404",
+                    description = "Failed to find database in metadata database or query in query store of the data database",
+                    content = {@Content(
+                            mediaType = "application/json",
+                            schema = @Schema(implementation = ApiErrorDto.class))}),
+            @ApiResponse(responseCode = "417",
+                    description = "Failed to persist subset",
+                    content = {@Content(
+                            mediaType = "application/json",
+                            schema = @Schema(implementation = ApiErrorDto.class))}),
+            @ApiResponse(responseCode = "503",
+                    description = "Failed to communicate with database",
+                    content = {@Content(
+                            mediaType = "application/json",
+                            schema = @Schema(implementation = ApiErrorDto.class))}),
     })
     public ResponseEntity<QueryDto> persist(@NotNull @PathVariable("databaseId") Long databaseId,
                                             @NotNull @PathVariable("queryId") Long queryId,
diff --git a/dbrepo-data-service/rest-service/src/main/java/at/tuwien/endpoints/TableEndpoint.java b/dbrepo-data-service/rest-service/src/main/java/at/tuwien/endpoints/TableEndpoint.java
index 1a32663870..d000896870 100644
--- a/dbrepo-data-service/rest-service/src/main/java/at/tuwien/endpoints/TableEndpoint.java
+++ b/dbrepo-data-service/rest-service/src/main/java/at/tuwien/endpoints/TableEndpoint.java
@@ -1,7 +1,6 @@
 package at.tuwien.endpoints;
 
 import at.tuwien.ExportResourceDto;
-import at.tuwien.api.database.AccessTypeDto;
 import at.tuwien.api.database.DatabaseAccessDto;
 import at.tuwien.api.database.DatabaseDto;
 import at.tuwien.api.database.internal.PrivilegedDatabaseDto;
@@ -10,6 +9,7 @@ import at.tuwien.api.database.query.QueryResultDto;
 import at.tuwien.api.database.table.*;
 import at.tuwien.api.database.table.internal.PrivilegedTableDto;
 import at.tuwien.api.database.table.internal.TableCreateDto;
+import at.tuwien.api.error.ApiErrorDto;
 import at.tuwien.exception.*;
 import at.tuwien.gateway.MetadataServiceGateway;
 import at.tuwien.service.AnalyseService;
@@ -64,37 +64,71 @@ public class TableEndpoint {
     @PreAuthorize("hasAuthority('admin')")
     @Operation(summary = "Create table", security = {@SecurityRequirement(name = "basicAuth")})
     @ApiResponses(value = {
-            @ApiResponse(responseCode = "202",
-                    description = "Created a new table",
+            @ApiResponse(responseCode = "201",
+                    description = "Created table",
                     content = {@Content(
                             mediaType = "application/json",
-                            schema = @Schema(implementation = DatabaseDto.class))}),
+                            schema = @Schema(implementation = TableDto.class))}),
+            @ApiResponse(responseCode = "400",
+                    description = "Table schema or query is malformed",
+                    content = {@Content(
+                            mediaType = "application/json",
+                            schema = @Schema(implementation = ApiErrorDto.class))}),
+            @ApiResponse(responseCode = "404",
+                    description = "Failed to find database in metadata database or table in data database",
+                    content = {@Content(
+                            mediaType = "application/json",
+                            schema = @Schema(implementation = ApiErrorDto.class))}),
+            @ApiResponse(responseCode = "409",
+                    description = "Table name already exists in database",
+                    content = {@Content(
+                            mediaType = "application/json",
+                            schema = @Schema(implementation = ApiErrorDto.class))}),
+            @ApiResponse(responseCode = "503",
+                    description = "Failed to establish connection with the metadata service",
+                    content = {@Content(
+                            mediaType = "application/json",
+                            schema = @Schema(implementation = ApiErrorDto.class))}),
     })
-    public ResponseEntity<Void> create(@NotNull @PathVariable("databaseId") Long databaseId,
-                                       @Valid @RequestBody TableCreateDto data)
-            throws DatabaseNotFoundException, RemoteUnavailableException, TableMalformedException,
-            DatabaseUnavailableException, TableExistsException {
+    public ResponseEntity<TableDto> create(@NotNull @PathVariable("databaseId") Long databaseId,
+                                           @Valid @RequestBody TableCreateDto data) throws DatabaseNotFoundException,
+            RemoteUnavailableException, TableMalformedException, DatabaseUnavailableException, TableExistsException,
+            TableNotFoundException, QueryMalformedException {
         log.debug("endpoint create table, databaseId={}, data.name={}", databaseId, data.getName());
         final PrivilegedDatabaseDto database = metadataServiceGateway.getDatabaseById(databaseId);
         try {
-            tableService.createTable(database, data);
+            return ResponseEntity.status(HttpStatus.CREATED)
+                    .body(tableService.createTable(database, data));
         } catch (SQLException e) {
             log.error("Failed to establish connection to database: {}", e.getMessage());
             throw new DatabaseUnavailableException("Failed to establish connection to database: " + e.getMessage(), e);
         }
-        return ResponseEntity.status(HttpStatus.CREATED)
-                .build();
     }
 
     @DeleteMapping("/{tableId}")
     @PreAuthorize("hasAuthority('admin')")
-    @Operation(summary = "Delete table in database", security = {@SecurityRequirement(name = "basicAuth")})
+    @Operation(summary = "Delete table", security = {@SecurityRequirement(name = "basicAuth")})
     @ApiResponses(value = {
-            @ApiResponse(responseCode = "201",
+            @ApiResponse(responseCode = "202",
                     description = "Deleted table",
                     content = {@Content(
                             mediaType = "application/json",
                             schema = @Schema(implementation = DatabaseDto.class))}),
+            @ApiResponse(responseCode = "400",
+                    description = "Deletion query is malformed",
+                    content = {@Content(
+                            mediaType = "application/json",
+                            schema = @Schema(implementation = ApiErrorDto.class))}),
+            @ApiResponse(responseCode = "404",
+                    description = "Failed to find table in metadata database",
+                    content = {@Content(
+                            mediaType = "application/json",
+                            schema = @Schema(implementation = ApiErrorDto.class))}),
+            @ApiResponse(responseCode = "503",
+                    description = "Failed to establish connection with the metadata service",
+                    content = {@Content(
+                            mediaType = "application/json",
+                            schema = @Schema(implementation = ApiErrorDto.class))}),
     })
     public ResponseEntity<Void> delete(@NotBlank @PathVariable("databaseId") Long databaseId,
                                        @NotBlank @PathVariable("tableId") Long tableId)
@@ -114,13 +148,28 @@ public class TableEndpoint {
 
     @RequestMapping(value = "/{tableId}/data", method = {RequestMethod.GET, RequestMethod.HEAD})
     @Observed(name = "dbrepo_table_data_list")
-    @Operation(summary = "Find table data", security = {@SecurityRequirement(name = "basicAuth"), @SecurityRequirement(name = "bearerAuth")})
+    @Operation(summary = "Retrieve table data", security = {@SecurityRequirement(name = "basicAuth"), @SecurityRequirement(name = "bearerAuth")})
     @ApiResponses(value = {
             @ApiResponse(responseCode = "200",
-                    description = "Found table data",
+                    description = "Retrieved table data",
                     content = {@Content(
                             mediaType = "application/json",
                             schema = @Schema(implementation = QueryResultDto.class))}),
+            @ApiResponse(responseCode = "400",
+                    description = "Request pagination or table data select query is malformed",
+                    content = {@Content(
+                            mediaType = "application/json",
+                            schema = @Schema(implementation = ApiErrorDto.class))}),
+            @ApiResponse(responseCode = "404",
+                    description = "Failed to find table in metadata database",
+                    content = {@Content(
+                            mediaType = "application/json",
+                            schema = @Schema(implementation = ApiErrorDto.class))}),
+            @ApiResponse(responseCode = "503",
+                    description = "Failed to establish connection with the metadata service",
+                    content = {@Content(
+                            mediaType = "application/json",
+                            schema = @Schema(implementation = ApiErrorDto.class))}),
     })
     public ResponseEntity<QueryResultDto> getData(@NotBlank @PathVariable("databaseId") Long databaseId,
                                                   @NotBlank @PathVariable("tableId") Long tableId,
@@ -128,7 +177,7 @@ public class TableEndpoint {
                                                   @RequestParam(required = false) Long page,
                                                   @RequestParam(required = false) Long size)
             throws DatabaseUnavailableException, RemoteUnavailableException, TableNotFoundException,
-            TableMalformedException, PaginationException, SQLException, QueryMalformedException {
+            TableMalformedException, PaginationException, QueryMalformedException {
         log.debug("endpoint find table data, databaseId={}, tableId={}, timestamp={}, page={}, size={}", databaseId,
                 tableId, timestamp, page, size);
         endpointValidator.validateDataParams(page, size);
@@ -147,11 +196,11 @@ public class TableEndpoint {
         }
         final PrivilegedTableDto table = metadataServiceGateway.getTableById(databaseId, tableId);
         final HttpHeaders headers = new HttpHeaders();
-        headers.set("X-Count", "" + tableService.getCount(table, timestamp));
         headers.set("Access-Control-Expose-Headers", "X-Count");
         try {
+            headers.set("X-Count", "" + tableService.getCount(table, timestamp));
             final QueryResultDto dto = tableService.getData(table, timestamp, page, size);
-            return ResponseEntity.status(HttpStatus.OK)
+            return ResponseEntity.ok()
                     .headers(headers)
                     .body(dto);
         } catch (SQLException e) {
@@ -167,6 +216,26 @@ public class TableEndpoint {
     @ApiResponses(value = {
             @ApiResponse(responseCode = "201",
                     description = "Created table data"),
+            @ApiResponse(responseCode = "400",
+                    description = "Request pagination or table data select query is malformed",
+                    content = {@Content(
+                            mediaType = "application/json",
+                            schema = @Schema(implementation = ApiErrorDto.class))}),
+            @ApiResponse(responseCode = "403",
+                    description = "Create table data not allowed",
+                    content = {@Content(
+                            mediaType = "application/json",
+                            schema = @Schema(implementation = ApiErrorDto.class))}),
+            @ApiResponse(responseCode = "404",
+                    description = "Failed to find table in metadata database",
+                    content = {@Content(
+                            mediaType = "application/json",
+                            schema = @Schema(implementation = ApiErrorDto.class))}),
+            @ApiResponse(responseCode = "503",
+                    description = "Failed to establish connection with the metadata service",
+                    content = {@Content(
+                            mediaType = "application/json",
+                            schema = @Schema(implementation = ApiErrorDto.class))}),
     })
     public ResponseEntity<Void> createTuple(@NotBlank @PathVariable("databaseId") Long databaseId,
                                             @NotBlank @PathVariable("tableId") Long tableId,
@@ -197,6 +266,26 @@ public class TableEndpoint {
     @ApiResponses(value = {
             @ApiResponse(responseCode = "202",
                     description = "Updated table data"),
+            @ApiResponse(responseCode = "400",
+                    description = "Request pagination or table data select query is malformed",
+                    content = {@Content(
+                            mediaType = "application/json",
+                            schema = @Schema(implementation = ApiErrorDto.class))}),
+            @ApiResponse(responseCode = "403",
+                    description = "Update table data not allowed",
+                    content = {@Content(
+                            mediaType = "application/json",
+                            schema = @Schema(implementation = ApiErrorDto.class))}),
+            @ApiResponse(responseCode = "404",
+                    description = "Failed to find table in metadata database",
+                    content = {@Content(
+                            mediaType = "application/json",
+                            schema = @Schema(implementation = ApiErrorDto.class))}),
+            @ApiResponse(responseCode = "503",
+                    description = "Failed to establish connection with the metadata service",
+                    content = {@Content(
+                            mediaType = "application/json",
+                            schema = @Schema(implementation = ApiErrorDto.class))}),
     })
     public ResponseEntity<Void> updateTuple(@NotBlank @PathVariable("databaseId") Long databaseId,
                                             @NotBlank @PathVariable("tableId") Long tableId,
@@ -228,6 +317,26 @@ public class TableEndpoint {
     @ApiResponses(value = {
             @ApiResponse(responseCode = "202",
                     description = "Deleted table data"),
+            @ApiResponse(responseCode = "400",
+                    description = "Request pagination or table data select query is malformed",
+                    content = {@Content(
+                            mediaType = "application/json",
+                            schema = @Schema(implementation = ApiErrorDto.class))}),
+            @ApiResponse(responseCode = "403",
+                    description = "Delete table data not allowed",
+                    content = {@Content(
+                            mediaType = "application/json",
+                            schema = @Schema(implementation = ApiErrorDto.class))}),
+            @ApiResponse(responseCode = "404",
+                    description = "Failed to find table in metadata database",
+                    content = {@Content(
+                            mediaType = "application/json",
+                            schema = @Schema(implementation = ApiErrorDto.class))}),
+            @ApiResponse(responseCode = "503",
+                    description = "Failed to establish connection with the metadata service",
+                    content = {@Content(
+                            mediaType = "application/json",
+                            schema = @Schema(implementation = ApiErrorDto.class))}),
     })
     public ResponseEntity<Void> deleteTuple(@NotBlank @PathVariable("databaseId") Long databaseId,
                                             @NotBlank @PathVariable("tableId") Long tableId,
@@ -260,7 +369,22 @@ public class TableEndpoint {
                     description = "Found table history",
                     content = {@Content(
                             mediaType = "application/json",
-                            schema = @Schema(implementation = DatabaseDto.class))}),
+                            schema = @Schema(implementation = TableHistoryDto[].class))}),
+            @ApiResponse(responseCode = "403",
+                    description = "Find table history not allowed",
+                    content = {@Content(
+                            mediaType = "application/json",
+                            schema = @Schema(implementation = ApiErrorDto.class))}),
+            @ApiResponse(responseCode = "404",
+                    description = "Failed to find table history in data database",
+                    content = {@Content(
+                            mediaType = "application/json",
+                            schema = @Schema(implementation = ApiErrorDto.class))}),
+            @ApiResponse(responseCode = "503",
+                    description = "Failed to establish connection with the metadata service",
+                    content = {@Content(
+                            mediaType = "application/json",
+                            schema = @Schema(implementation = ApiErrorDto.class))}),
     })
     public ResponseEntity<List<TableHistoryDto>> getHistory(@NotBlank @PathVariable("databaseId") Long databaseId,
                                                             @NotBlank @PathVariable("tableId") Long tableId,
@@ -283,6 +407,54 @@ public class TableEndpoint {
         }
     }
 
+    @GetMapping
+    @PreAuthorize("isAuthenticated()")
+    @Operation(summary = "Find table schemas")
+    @ApiResponses(value = {
+            @ApiResponse(responseCode = "200",
+                    description = "Got table schemas",
+                    content = {@Content(
+                            mediaType = "application/json",
+                            schema = @Schema(implementation = TableDto[].class))}),
+            @ApiResponse(responseCode = "400",
+                    description = "Schema data malformed",
+                    content = {@Content(
+                            mediaType = "application/json",
+                            schema = @Schema(implementation = ApiErrorDto.class))}),
+            @ApiResponse(responseCode = "403",
+                    description = "Find table schema not allowed",
+                    content = {@Content(
+                            mediaType = "application/json",
+                            schema = @Schema(implementation = ApiErrorDto.class))}),
+            @ApiResponse(responseCode = "404",
+                    description = "Failed to find database in metadata database",
+                    content = {@Content(
+                            mediaType = "application/json",
+                            schema = @Schema(implementation = ApiErrorDto.class))}),
+            @ApiResponse(responseCode = "417",
+                    description = "Failed to parse table schema",
+                    content = {@Content(
+                            mediaType = "application/json",
+                            schema = @Schema(implementation = ApiErrorDto.class))}),
+            @ApiResponse(responseCode = "503",
+                    description = "Failed to establish connection with the metadata service",
+                    content = {@Content(
+                            mediaType = "application/json",
+                            schema = @Schema(implementation = ApiErrorDto.class))}),
+    })
+    public ResponseEntity<List<TableDto>> getSchema(@NotBlank @PathVariable("databaseId") Long databaseId)
+            throws DatabaseUnavailableException, DatabaseNotFoundException, RemoteUnavailableException,
+            DatabaseMalformedException, TableNotFoundException, QueryMalformedException {
+        log.debug("endpoint inspect table schemas, databaseId={}", databaseId);
+        final PrivilegedDatabaseDto database = metadataServiceGateway.getDatabaseById(databaseId);
+        try {
+            return ResponseEntity.ok(tableService.getSchemas(database));
+        } catch (SQLException e) {
+            log.error("Failed to establish connection to database: {}", e.getMessage());
+            throw new DatabaseUnavailableException("Failed to establish connection to database: " + e.getMessage(), e);
+        }
+    }
+
     @GetMapping("/{tableId}/export")
     @Observed(name = "dbrepo_table_data_export")
     @Operation(summary = "Export table data", security = {@SecurityRequirement(name = "basicAuth"), @SecurityRequirement(name = "bearerAuth")})
@@ -291,7 +463,27 @@ public class TableEndpoint {
                     description = "Exported table data",
                     content = {@Content(
                             mediaType = "application/json",
-                            schema = @Schema(implementation = DatabaseDto.class))}),
+                            schema = @Schema(implementation = InputStreamResource.class))}),
+            @ApiResponse(responseCode = "400",
+                    description = "Request pagination or table data select query is malformed",
+                    content = {@Content(
+                            mediaType = "application/json",
+                            schema = @Schema(implementation = ApiErrorDto.class))}),
+            @ApiResponse(responseCode = "403",
+                    description = "Export table data not allowed",
+                    content = {@Content(
+                            mediaType = "application/json",
+                            schema = @Schema(implementation = ApiErrorDto.class))}),
+            @ApiResponse(responseCode = "404",
+                    description = "Failed to find table in metadata database",
+                    content = {@Content(
+                            mediaType = "application/json",
+                            schema = @Schema(implementation = ApiErrorDto.class))}),
+            @ApiResponse(responseCode = "503",
+                    description = "Failed to establish connection with the metadata service",
+                    content = {@Content(
+                            mediaType = "application/json",
+                            schema = @Schema(implementation = ApiErrorDto.class))}),
     })
     public ResponseEntity<InputStreamResource> exportData(@NotBlank @PathVariable("databaseId") Long databaseId,
                                                           @NotBlank @PathVariable("tableId") Long tableId,
@@ -332,10 +524,30 @@ public class TableEndpoint {
     @PostMapping("/{tableId}/data/import")
     @Observed(name = "dbrepo_table_data_import")
     @PreAuthorize("hasAuthority('insert-table-data')")
-    @Operation(summary = "Insert data from csv", security = {@SecurityRequirement(name = "basicAuth"), @SecurityRequirement(name = "bearerAuth")})
+    @Operation(summary = "Import dataset", security = {@SecurityRequirement(name = "basicAuth"), @SecurityRequirement(name = "bearerAuth")})
     @ApiResponses(value = {
             @ApiResponse(responseCode = "202",
-                    description = "Import  successfully"),
+                    description = "Import dataset successfully"),
+            @ApiResponse(responseCode = "400",
+                    description = "Import dataset query is malformed",
+                    content = {@Content(
+                            mediaType = "application/json",
+                            schema = @Schema(implementation = ApiErrorDto.class))}),
+            @ApiResponse(responseCode = "403",
+                    description = "Import table dataset not allowed",
+                    content = {@Content(
+                            mediaType = "application/json",
+                            schema = @Schema(implementation = ApiErrorDto.class))}),
+            @ApiResponse(responseCode = "404",
+                    description = "Failed to find table in metadata database",
+                    content = {@Content(
+                            mediaType = "application/json",
+                            schema = @Schema(implementation = ApiErrorDto.class))}),
+            @ApiResponse(responseCode = "503",
+                    description = "Failed to establish connection with the metadata service",
+                    content = {@Content(
+                            mediaType = "application/json",
+                            schema = @Schema(implementation = ApiErrorDto.class))}),
     })
     public ResponseEntity<Void> importData(@NotBlank @PathVariable("databaseId") Long databaseId,
                                            @NotBlank @PathVariable("tableId") Long tableId,
diff --git a/dbrepo-data-service/rest-service/src/main/java/at/tuwien/endpoints/ViewEndpoint.java b/dbrepo-data-service/rest-service/src/main/java/at/tuwien/endpoints/ViewEndpoint.java
index 7fc146bbe2..91e5f7390d 100644
--- a/dbrepo-data-service/rest-service/src/main/java/at/tuwien/endpoints/ViewEndpoint.java
+++ b/dbrepo-data-service/rest-service/src/main/java/at/tuwien/endpoints/ViewEndpoint.java
@@ -1,11 +1,11 @@
 package at.tuwien.endpoints;
 
-import at.tuwien.api.database.DatabaseAccessDto;
-import at.tuwien.api.database.DatabaseDto;
-import at.tuwien.api.database.ViewCreateDto;
+import at.tuwien.api.database.*;
 import at.tuwien.api.database.internal.PrivilegedDatabaseDto;
 import at.tuwien.api.database.internal.PrivilegedViewDto;
 import at.tuwien.api.database.query.QueryResultDto;
+import at.tuwien.api.database.table.TableDto;
+import at.tuwien.api.error.ApiErrorDto;
 import at.tuwien.exception.*;
 import at.tuwien.gateway.MetadataServiceGateway;
 import at.tuwien.service.ViewService;
@@ -33,6 +33,7 @@ import org.springframework.web.bind.annotation.*;
 import java.security.Principal;
 import java.sql.SQLException;
 import java.time.Instant;
+import java.util.List;
 
 @Log4j2
 @RestController
@@ -52,40 +53,125 @@ public class ViewEndpoint {
         this.metadataServiceGateway = metadataServiceGateway;
     }
 
+    @GetMapping
+    @PreAuthorize("isAuthenticated()")
+    @Observed(name = "dbrepo_view_schema_list")
+    @Operation(summary = "Find view schemas")
+    @ApiResponses(value = {
+            @ApiResponse(responseCode = "200",
+                    description = "Found view schemas",
+                    content = {@Content(
+                            mediaType = "application/json",
+                            schema = @Schema(implementation = ViewDto[].class))}),
+            @ApiResponse(responseCode = "400",
+                    description = "Database schema is malformed",
+                    content = {@Content(
+                            mediaType = "application/json",
+                            schema = @Schema(implementation = ApiErrorDto.class))}),
+            @ApiResponse(responseCode = "404",
+                    description = "Failed to find database/view in metadata database",
+                    content = {@Content(
+                            mediaType = "application/json",
+                            schema = @Schema(implementation = ApiErrorDto.class))}),
+            @ApiResponse(responseCode = "409",
+                    description = "View schema could not be mapped to known columns",
+                    content = {@Content(
+                            mediaType = "application/json",
+                            schema = @Schema(implementation = ApiErrorDto.class))}),
+            @ApiResponse(responseCode = "417",
+                    description = "View schema could not be retrieved",
+                    content = {@Content(
+                            mediaType = "application/json",
+                            schema = @Schema(implementation = ApiErrorDto.class))}),
+            @ApiResponse(responseCode = "503",
+                    description = "Failed to establish connection with the metadata service",
+                    content = {@Content(
+                            mediaType = "application/json",
+                            schema = @Schema(implementation = ApiErrorDto.class))}),
+    })
+    public ResponseEntity<List<ViewDto>> getSchema(@NotBlank @PathVariable("databaseId") Long databaseId)
+            throws DatabaseUnavailableException, DatabaseNotFoundException, RemoteUnavailableException,
+            ViewMalformedException, ViewNotFoundException, DatabaseMalformedException, ViewSchemaException {
+        log.debug("endpoint inspect view schemas, databaseId={}", databaseId);
+        final PrivilegedDatabaseDto database = metadataServiceGateway.getDatabaseById(databaseId);
+        try {
+            return ResponseEntity.ok(viewService.getSchemas(database));
+        } catch (SQLException e) {
+            log.error("Failed to establish connection to database: {}", e.getMessage());
+            throw new DatabaseUnavailableException("Failed to establish connection to database: " + e.getMessage(), e);
+        }
+    }
+
     @PostMapping
     @PreAuthorize("hasAuthority('admin')")
     @Operation(summary = "Create view", security = {@SecurityRequirement(name = "basicAuth"), @SecurityRequirement(name = "bearerAuth")})
     @ApiResponses(value = {
             @ApiResponse(responseCode = "202",
-                    description = "Created a new view",
+                    description = "Created view",
+                    content = {@Content(
+                            mediaType = "application/json",
+                            schema = @Schema(implementation = ViewDto.class))}),
+            @ApiResponse(responseCode = "400",
+                    description = "View schema is malformed",
                     content = {@Content(
                             mediaType = "application/json",
-                            schema = @Schema(implementation = DatabaseDto.class))}),
+                            schema = @Schema(implementation = ApiErrorDto.class))}),
+            @ApiResponse(responseCode = "404",
+                    description = "Failed to find database in metadata database",
+                    content = {@Content(
+                            mediaType = "application/json",
+                            schema = @Schema(implementation = ApiErrorDto.class))}),
+            @ApiResponse(responseCode = "409",
+                    description = "View schema could not be mapped",
+                    content = {@Content(
+                            mediaType = "application/json",
+                            schema = @Schema(implementation = ApiErrorDto.class))}),
+            @ApiResponse(responseCode = "503",
+                    description = "Failed to establish connection with the metadata service",
+                    content = {@Content(
+                            mediaType = "application/json",
+                            schema = @Schema(implementation = ApiErrorDto.class))}),
     })
-    public ResponseEntity<Void> create(@NotNull @PathVariable("databaseId") Long databaseId,
-                                       @Valid @RequestBody ViewCreateDto data) throws DatabaseUnavailableException,
+    public ResponseEntity<ViewDto> create(@NotNull @PathVariable("databaseId") Long databaseId,
+                                          @Valid @RequestBody ViewCreateDto data) throws DatabaseUnavailableException,
             DatabaseNotFoundException, RemoteUnavailableException, ViewMalformedException {
         log.debug("endpoint create view, databaseId={}, data.name={}", databaseId, data.getName());
         final PrivilegedDatabaseDto database = metadataServiceGateway.getDatabaseById(databaseId);
         try {
-            viewService.create(database, data);
+            return ResponseEntity.status(HttpStatus.CREATED)
+                    .body(viewService.create(database, data));
         } catch (SQLException e) {
             log.error("Failed to establish connection to database: {}", e.getMessage());
             throw new DatabaseUnavailableException("Failed to establish connection to database: " + e.getMessage(), e);
         }
-        return ResponseEntity.status(HttpStatus.CREATED)
-                .build();
     }
 
     @DeleteMapping("/{viewId}")
     @PreAuthorize("hasAuthority('admin')")
-    @Operation(summary = "Delete view in database", security = {@SecurityRequirement(name = "basicAuth"), @SecurityRequirement(name = "bearerAuth")})
+    @Operation(summary = "Delete view", security = {@SecurityRequirement(name = "basicAuth"), @SecurityRequirement(name = "bearerAuth")})
     @ApiResponses(value = {
-            @ApiResponse(responseCode = "201",
-                    description = "Deleted table",
+            @ApiResponse(responseCode = "202",
+                    description = "Deleted view"),
+            @ApiResponse(responseCode = "400",
+                    description = "Database schema is malformed",
+                    content = {@Content(
+                            mediaType = "application/json",
+                            schema = @Schema(implementation = ApiErrorDto.class))}),
+            @ApiResponse(responseCode = "404",
+                    description = "Failed to find view in metadata database",
+                    content = {@Content(
+                            mediaType = "application/json",
+                            schema = @Schema(implementation = ApiErrorDto.class))}),
+            @ApiResponse(responseCode = "409",
+                    description = "View schema could not be mapped",
+                    content = {@Content(
+                            mediaType = "application/json",
+                            schema = @Schema(implementation = ApiErrorDto.class))}),
+            @ApiResponse(responseCode = "503",
+                    description = "Failed to establish connection with the metadata service",
                     content = {@Content(
                             mediaType = "application/json",
-                            schema = @Schema(implementation = DatabaseDto.class))}),
+                            schema = @Schema(implementation = ApiErrorDto.class))}),
     })
     public ResponseEntity<Void> delete(@NotBlank @PathVariable("databaseId") Long databaseId,
                                        @NotBlank @PathVariable("viewId") Long viewId)
@@ -104,15 +190,39 @@ public class ViewEndpoint {
     }
 
     @RequestMapping(value = "/{viewId}/data", method = {RequestMethod.GET, RequestMethod.HEAD})
-    @PreAuthorize("hasAuthority('view-database-view-data')")
     @Observed(name = "dbrepo_view_data")
-    @Operation(summary = "Get view data", security = {@SecurityRequirement(name = "basicAuth"), @SecurityRequirement(name = "bearerAuth")})
+    @Operation(summary = "Retrieve view data", security = {@SecurityRequirement(name = "basicAuth"), @SecurityRequirement(name = "bearerAuth")})
     @ApiResponses(value = {
             @ApiResponse(responseCode = "200",
-                    description = "Returned view data",
+                    description = "Retrieved view data",
                     content = {@Content(
                             mediaType = "application/json",
                             schema = @Schema(implementation = QueryResultDto.class))}),
+            @ApiResponse(responseCode = "400",
+                    description = "Request pagination is malformed",
+                    content = {@Content(
+                            mediaType = "application/json",
+                            schema = @Schema(implementation = ApiErrorDto.class))}),
+            @ApiResponse(responseCode = "403",
+                    description = "Not allowed to retrieve view data",
+                    content = {@Content(
+                            mediaType = "application/json",
+                            schema = @Schema(implementation = ApiErrorDto.class))}),
+            @ApiResponse(responseCode = "404",
+                    description = "Failed to find view in metadata database",
+                    content = {@Content(
+                            mediaType = "application/json",
+                            schema = @Schema(implementation = ApiErrorDto.class))}),
+            @ApiResponse(responseCode = "409",
+                    description = "View schema could not be mapped",
+                    content = {@Content(
+                            mediaType = "application/json",
+                            schema = @Schema(implementation = ApiErrorDto.class))}),
+            @ApiResponse(responseCode = "503",
+                    description = "Failed to establish connection with the metadata service",
+                    content = {@Content(
+                            mediaType = "application/json",
+                            schema = @Schema(implementation = ApiErrorDto.class))}),
     })
     public ResponseEntity<QueryResultDto> getData(@NotBlank @PathVariable("databaseId") Long databaseId,
                                                   @NotBlank @PathVariable("viewId") Long viewId,
@@ -123,8 +233,8 @@ public class ViewEndpoint {
                                                   Principal principal)
             throws DatabaseUnavailableException, RemoteUnavailableException, ViewNotFoundException,
             QueryMalformedException, ViewMalformedException, PaginationException, NotAllowedException {
-        log.debug("endpoint get view data, databaseId={}, viewId={}, page={}, size={}, timestamp={}", databaseId, viewId,
-                page, size, timestamp);
+        log.debug("endpoint get view data, databaseId={}, viewId={}, page={}, size={}, timestamp={}", databaseId,
+                viewId, page, size, timestamp);
         endpointValidator.validateDataParams(page, size);
         /* parameters */
         if (page == null) {
@@ -140,7 +250,9 @@ public class ViewEndpoint {
             timestamp = Instant.now();
         }
         final PrivilegedViewDto view = metadataServiceGateway.getViewById(databaseId, viewId);
-        metadataServiceGateway.getAccess(databaseId, UserUtil.getId(principal));
+        if (!view.getIsPublic()) {
+            metadataServiceGateway.getAccess(databaseId, UserUtil.getId(principal));
+        }
         try {
             final Long count = viewService.count(view, timestamp);
             final HttpHeaders headers = new HttpHeaders();
diff --git a/dbrepo-data-service/rest-service/src/main/java/at/tuwien/handlers/ApiExceptionHandler.java b/dbrepo-data-service/rest-service/src/main/java/at/tuwien/handlers/ApiExceptionHandler.java
index c3c95682bd..18373423c5 100644
--- a/dbrepo-data-service/rest-service/src/main/java/at/tuwien/handlers/ApiExceptionHandler.java
+++ b/dbrepo-data-service/rest-service/src/main/java/at/tuwien/handlers/ApiExceptionHandler.java
@@ -25,7 +25,7 @@ public class ApiExceptionHandler extends ResponseEntityExceptionHandler {
     }
 
     @Hidden
-    @ResponseStatus(code = HttpStatus.BAD_REQUEST)
+    @ResponseStatus(code = HttpStatus.EXPECTATION_FAILED)
     @ExceptionHandler(DatabaseMalformedException.class)
     public ResponseEntity<ApiErrorDto> handle(DatabaseMalformedException e) {
         return generic_handle(e.getClass(), e.getLocalizedMessage());
@@ -88,7 +88,7 @@ public class ApiExceptionHandler extends ResponseEntityExceptionHandler {
     }
 
     @Hidden
-    @ResponseStatus(code = HttpStatus.BAD_REQUEST)
+    @ResponseStatus(code = HttpStatus.EXPECTATION_FAILED)
     @ExceptionHandler(QueryStoreCreateException.class)
     public ResponseEntity<ApiErrorDto> handle(QueryStoreCreateException e) {
         return generic_handle(e.getClass(), e.getLocalizedMessage());
@@ -102,14 +102,14 @@ public class ApiExceptionHandler extends ResponseEntityExceptionHandler {
     }
 
     @Hidden
-    @ResponseStatus(code = HttpStatus.BAD_REQUEST)
+    @ResponseStatus(code = HttpStatus.EXPECTATION_FAILED)
     @ExceptionHandler(QueryStoreInsertException.class)
     public ResponseEntity<ApiErrorDto> handle(QueryStoreInsertException e) {
         return generic_handle(e.getClass(), e.getLocalizedMessage());
     }
 
     @Hidden
-    @ResponseStatus(code = HttpStatus.BAD_REQUEST)
+    @ResponseStatus(code = HttpStatus.EXPECTATION_FAILED)
     @ExceptionHandler(QueryStorePersistException.class)
     public ResponseEntity<ApiErrorDto> handle(QueryStorePersistException e) {
         return generic_handle(e.getClass(), e.getLocalizedMessage());
@@ -185,6 +185,13 @@ public class ApiExceptionHandler extends ResponseEntityExceptionHandler {
         return generic_handle(e.getClass(), e.getLocalizedMessage());
     }
 
+    @Hidden
+    @ResponseStatus(code = HttpStatus.CONFLICT)
+    @ExceptionHandler(TableSchemaException.class)
+    public ResponseEntity<ApiErrorDto> handle(TableSchemaException e) {
+        return generic_handle(e.getClass(), e.getLocalizedMessage());
+    }
+
     @Hidden
     @ResponseStatus(code = HttpStatus.NOT_FOUND)
     @ExceptionHandler(UserNotFoundException.class)
@@ -206,6 +213,13 @@ public class ApiExceptionHandler extends ResponseEntityExceptionHandler {
         return generic_handle(e.getClass(), e.getLocalizedMessage());
     }
 
+    @Hidden
+    @ResponseStatus(code = HttpStatus.CONFLICT)
+    @ExceptionHandler(ViewSchemaException.class)
+    public ResponseEntity<ApiErrorDto> handle(ViewSchemaException e) {
+        return generic_handle(e.getClass(), e.getLocalizedMessage());
+    }
+
     private ResponseEntity<ApiErrorDto> generic_handle(Class<?> exceptionClass, String message) {
         final HttpHeaders headers = new HttpHeaders();
         headers.set("Content-Type", "application/problem+json");
diff --git a/dbrepo-data-service/rest-service/src/main/resources/application-local.yml b/dbrepo-data-service/rest-service/src/main/resources/application-local.yml
index 819f9d0f08..fda4447d0b 100644
--- a/dbrepo-data-service/rest-service/src/main/resources/application-local.yml
+++ b/dbrepo-data-service/rest-service/src/main/resources/application-local.yml
@@ -57,6 +57,7 @@ dbrepo:
     secretAccessKey: seaweedfsadmin
     importBucket: dbrepo-upload
     exportBucket: dbrepo-download
+    filePath: /tmp
   admin:
     username: admin
     password: admin
@@ -67,3 +68,6 @@ dbrepo:
     password: fda
     client: dbrepo-client
     clientSecret: MUwRc7yfXSJwX8AdRMWaQC3Nep1VjwgG
+  defaultDateFormatId: 1
+  defaultTimeFormatId: 4
+  defaultTimestampFormatId: 3
diff --git a/dbrepo-data-service/rest-service/src/main/resources/application.yml b/dbrepo-data-service/rest-service/src/main/resources/application.yml
index 8bb8fe43f1..44daf91e46 100644
--- a/dbrepo-data-service/rest-service/src/main/resources/application.yml
+++ b/dbrepo-data-service/rest-service/src/main/resources/application.yml
@@ -58,6 +58,7 @@ dbrepo:
     secretAccessKey: "${S3_SECRET_ACCESS_KEY:seaweedfsadmin}"
     importBucket: "${S3_IMPORT_BUCKET:dbrepo-upload}"
     exportBucket: "${S3_EXPORT_BUCKET:dbrepo-download}"
+    filePath: "${S3_FILE_PATH:/tmp}"
   admin:
     username: "${ADMIN_USERNAME:admin}"
     password: "${ADMIN_PASSWORD:admin}"
@@ -80,4 +81,7 @@ dbrepo:
   queueName: "${BROKER_QUEUE_NAME:dbrepo}"
   exchangeName: "${BROKER_EXCHANGE_NAME:dbrepo}"
   routingKey: "${BROKER_ROUTING_KEY:#}"
-  connectionTimeout: ${CONNECTION_TIMEOUT:10000}
\ No newline at end of file
+  connectionTimeout: ${CONNECTION_TIMEOUT:10000}
+  defaultDateFormatId: "${DEFAULT_DATE_FORMAT_ID:3}"
+  defaultTimeFormatId: "${DEFAULT_TIME_FORMAT_ID:4}"
+  defaultTimestampFormatId: "${DEFAULT_TIMESTAMP_FORMAT_ID:1}"
diff --git a/dbrepo-data-service/rest-service/src/test/java/at/tuwien/endpoint/SubsetEndpointUnitTest.java b/dbrepo-data-service/rest-service/src/test/java/at/tuwien/endpoint/SubsetEndpointUnitTest.java
index 8792fc9fee..d212bb3064 100644
--- a/dbrepo-data-service/rest-service/src/test/java/at/tuwien/endpoint/SubsetEndpointUnitTest.java
+++ b/dbrepo-data-service/rest-service/src/test/java/at/tuwien/endpoint/SubsetEndpointUnitTest.java
@@ -504,7 +504,7 @@ public class SubsetEndpointUnitTest extends AbstractUnitTest {
         }
 
         /* test */
-        final ResponseEntity<List<QueryDto>> response = subsetEndpoint.findAllById(databaseId, null, principal);
+        final ResponseEntity<List<QueryDto>> response = subsetEndpoint.list(databaseId, null, principal);
         assertEquals(HttpStatus.OK, response.getStatusCode());
         return response.getBody();
     }
diff --git a/dbrepo-data-service/rest-service/src/test/java/at/tuwien/endpoint/TableEndpointUnitTest.java b/dbrepo-data-service/rest-service/src/test/java/at/tuwien/endpoint/TableEndpointUnitTest.java
index 9041e7a3a6..fd93a3ae96 100644
--- a/dbrepo-data-service/rest-service/src/test/java/at/tuwien/endpoint/TableEndpointUnitTest.java
+++ b/dbrepo-data-service/rest-service/src/test/java/at/tuwien/endpoint/TableEndpointUnitTest.java
@@ -3,10 +3,7 @@ package at.tuwien.endpoint;
 import at.tuwien.ExportResourceDto;
 import at.tuwien.api.database.query.ImportCsvDto;
 import at.tuwien.api.database.query.QueryResultDto;
-import at.tuwien.api.database.table.TableHistoryDto;
-import at.tuwien.api.database.table.TupleDeleteDto;
-import at.tuwien.api.database.table.TupleDto;
-import at.tuwien.api.database.table.TupleUpdateDto;
+import at.tuwien.api.database.table.*;
 import at.tuwien.endpoints.TableEndpoint;
 import at.tuwien.exception.*;
 import at.tuwien.gateway.MetadataServiceGateway;
@@ -61,17 +58,17 @@ public class TableEndpointUnitTest extends AbstractUnitTest {
     @Test
     @WithMockUser(username = USER_LOCAL_ADMIN_USERNAME, authorities = {"admin"})
     public void create_succeeds() throws DatabaseUnavailableException, TableMalformedException,
-            DatabaseNotFoundException, TableExistsException, RemoteUnavailableException, SQLException {
+            DatabaseNotFoundException, TableExistsException, RemoteUnavailableException, SQLException,
+            TableNotFoundException, QueryMalformedException {
 
         /* mock */
         when(metadataServiceGateway.getDatabaseById(DATABASE_1_ID))
                 .thenReturn(DATABASE_1_PRIVILEGED_DTO);
-        doNothing()
-                .when(tableService)
-                .createTable(DATABASE_1_PRIVILEGED_DTO, TABLE_4_CREATE_INTERNAL_DTO);
+        when(tableService.createTable(DATABASE_1_PRIVILEGED_DTO, TABLE_4_CREATE_INTERNAL_DTO))
+                .thenReturn(TABLE_4_DTO);
 
         /* test */
-        final ResponseEntity<Void> response = tableEndpoint.create(DATABASE_1_ID, TABLE_4_CREATE_INTERNAL_DTO);
+        final ResponseEntity<TableDto> response = tableEndpoint.create(DATABASE_1_ID, TABLE_4_CREATE_INTERNAL_DTO);
         assertEquals(HttpStatus.CREATED, response.getStatusCode());
     }
 
@@ -434,9 +431,9 @@ public class TableEndpointUnitTest extends AbstractUnitTest {
                 .thenReturn(DATABASE_3_USER_3_READ_ACCESS_DTO);
 
         /* test */
-       assertThrows(NotAllowedException.class, () -> {
-           tableEndpoint.updateTuple(DATABASE_3_ID, TABLE_8_ID, request, USER_3_PRINCIPAL);
-       });
+        assertThrows(NotAllowedException.class, () -> {
+            tableEndpoint.updateTuple(DATABASE_3_ID, TABLE_8_ID, request, USER_3_PRINCIPAL);
+        });
     }
 
     @Test
diff --git a/dbrepo-data-service/rest-service/src/test/java/at/tuwien/endpoint/ViewEndpointUnitTest.java b/dbrepo-data-service/rest-service/src/test/java/at/tuwien/endpoint/ViewEndpointUnitTest.java
index fa4549fda4..de98f501d0 100644
--- a/dbrepo-data-service/rest-service/src/test/java/at/tuwien/endpoint/ViewEndpointUnitTest.java
+++ b/dbrepo-data-service/rest-service/src/test/java/at/tuwien/endpoint/ViewEndpointUnitTest.java
@@ -1,5 +1,6 @@
 package at.tuwien.endpoint;
 
+import at.tuwien.api.database.ViewDto;
 import at.tuwien.api.database.query.QueryResultDto;
 import at.tuwien.endpoints.ViewEndpoint;
 import at.tuwien.exception.*;
@@ -16,6 +17,7 @@ import org.springframework.boot.test.context.SpringBootTest;
 import org.springframework.boot.test.mock.mockito.MockBean;
 import org.springframework.http.HttpStatus;
 import org.springframework.http.ResponseEntity;
+import org.springframework.mock.web.MockHttpServletRequest;
 import org.springframework.security.test.context.support.WithMockUser;
 import org.springframework.test.context.junit.jupiter.SpringExtension;
 
@@ -30,9 +32,6 @@ import static org.mockito.Mockito.*;
 @ExtendWith(SpringExtension.class)
 public class ViewEndpointUnitTest extends AbstractUnitTest {
 
-    @Autowired
-    private ViewEndpoint viewEndpoint;
-
     @MockBean
     private ViewService viewService;
 
@@ -42,6 +41,9 @@ public class ViewEndpointUnitTest extends AbstractUnitTest {
     @MockBean
     private HttpServletRequest httpServletRequest;
 
+    @Autowired
+    private ViewEndpoint viewEndpoint;
+
     @BeforeEach
     public void beforeEach() {
         genesis();
@@ -55,12 +57,11 @@ public class ViewEndpointUnitTest extends AbstractUnitTest {
         /* mock */
         when(metadataServiceGateway.getDatabaseById(DATABASE_1_ID))
                 .thenReturn(DATABASE_1_PRIVILEGED_DTO);
-        doNothing()
-                .when(viewService)
-                .create(DATABASE_1_PRIVILEGED_DTO, VIEW_1_CREATE_DTO);
+        when(viewService.create(DATABASE_1_PRIVILEGED_DTO, VIEW_1_CREATE_DTO))
+                .thenReturn(VIEW_1_DTO);
 
         /* test */
-        final ResponseEntity<Void> response = viewEndpoint.create(DATABASE_1_ID, VIEW_1_CREATE_DTO);
+        final ResponseEntity<ViewDto> response = viewEndpoint.create(DATABASE_1_ID, VIEW_1_CREATE_DTO);
         assertEquals(HttpStatus.CREATED, response.getStatusCode());
     }
 
@@ -72,9 +73,8 @@ public class ViewEndpointUnitTest extends AbstractUnitTest {
         /* mock */
         when(metadataServiceGateway.getDatabaseById(DATABASE_1_ID))
                 .thenReturn(DATABASE_1_PRIVILEGED_DTO);
-        doNothing()
-                .when(viewService)
-                .create(DATABASE_1_PRIVILEGED_DTO, VIEW_1_CREATE_DTO);
+        when(viewService.create(DATABASE_1_PRIVILEGED_DTO, VIEW_1_CREATE_DTO))
+                .thenReturn(VIEW_1_DTO);
 
         /* test */
         assertThrows(org.springframework.security.access.AccessDeniedException.class, () -> {
@@ -205,16 +205,6 @@ public class ViewEndpointUnitTest extends AbstractUnitTest {
         assertNull(response.getBody());
     }
 
-    @Test
-    @WithMockUser(username = USER_4_USERNAME)
-    public void getData_noRole_fails() {
-
-        /* test */
-        assertThrows(org.springframework.security.access.AccessDeniedException.class, () -> {
-            viewEndpoint.getData(DATABASE_1_ID, VIEW_1_ID, null, null, null, httpServletRequest, USER_4_PRINCIPAL);
-        });
-    }
-
     @Test
     @WithMockUser(username = USER_1_USERNAME, authorities = {"view-database-view-data"})
     public void getData_viewNotFound_fails() throws RemoteUnavailableException, ViewNotFoundException {
@@ -236,15 +226,15 @@ public class ViewEndpointUnitTest extends AbstractUnitTest {
              NotAllowedException {
 
         /* mock */
-        when(metadataServiceGateway.getViewById(DATABASE_1_ID, VIEW_1_ID))
-                .thenReturn(VIEW_1_PRIVILEGED_DTO);
+        when(metadataServiceGateway.getViewById(DATABASE_1_ID, VIEW_3_ID))
+                .thenReturn(VIEW_3_PRIVILEGED_DTO);
         doThrow(NotAllowedException.class)
                 .when(metadataServiceGateway)
                 .getAccess(DATABASE_1_ID, USER_3_ID);
 
         /* test */
         assertThrows(NotAllowedException.class, () -> {
-            viewEndpoint.getData(DATABASE_1_ID, VIEW_1_ID, null, null, null, httpServletRequest, USER_3_PRINCIPAL);
+            viewEndpoint.getData(DATABASE_1_ID, VIEW_3_ID, null, null, null, httpServletRequest, USER_3_PRINCIPAL);
         });
     }
 
diff --git a/dbrepo-data-service/rest-service/src/test/java/at/tuwien/mvc/OpenApiEndpointMvcTest.java b/dbrepo-data-service/rest-service/src/test/java/at/tuwien/mvc/OpenApiEndpointMvcTest.java
index 5d478c6953..d1426cdf69 100644
--- a/dbrepo-data-service/rest-service/src/test/java/at/tuwien/mvc/OpenApiEndpointMvcTest.java
+++ b/dbrepo-data-service/rest-service/src/test/java/at/tuwien/mvc/OpenApiEndpointMvcTest.java
@@ -3,6 +3,7 @@ package at.tuwien.mvc;
 import at.tuwien.api.error.ApiErrorDto;
 import at.tuwien.endpoints.*;
 import at.tuwien.test.AbstractUnitTest;
+import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.media.Content;
 import io.swagger.v3.oas.annotations.responses.ApiResponse;
 import lombok.extern.log4j.Log4j2;
@@ -69,9 +70,10 @@ public class OpenApiEndpointMvcTest extends AbstractUnitTest {
 
     private void generic_openApiDocs(Class<?> endpoint) {
         final List<Method> methods = Arrays.stream(endpoint.getMethods())
-                .filter(m -> m.getDeclaringClass().equals(AccessEndpoint.class))
+                .filter(m -> m.getDeclaringClass().equals(endpoint))
                 .toList();
         methods.forEach(m -> {
+            assertNotNull(m.getDeclaredAnnotation(Operation.class).summary());
             final List<Class<?>> exceptions = Arrays.stream(m.getExceptionTypes())
                     .toList();
             final List<Class<?>> invalidExceptions = exceptions.stream()
diff --git a/dbrepo-data-service/rest-service/src/test/java/at/tuwien/mvc/PrometheusEndpointMvcTest.java b/dbrepo-data-service/rest-service/src/test/java/at/tuwien/mvc/PrometheusEndpointMvcTest.java
index a3fc0ec14b..1b51d3072c 100644
--- a/dbrepo-data-service/rest-service/src/test/java/at/tuwien/mvc/PrometheusEndpointMvcTest.java
+++ b/dbrepo-data-service/rest-service/src/test/java/at/tuwien/mvc/PrometheusEndpointMvcTest.java
@@ -1,6 +1,5 @@
 package at.tuwien.mvc;
 
-import at.tuwien.api.database.DatabaseAccessDto;
 import at.tuwien.api.database.query.ExecuteStatementDto;
 import at.tuwien.api.database.query.ImportCsvDto;
 import at.tuwien.api.database.query.QueryPersistDto;
@@ -11,7 +10,9 @@ import at.tuwien.config.MetricsConfig;
 import at.tuwien.endpoints.*;
 import at.tuwien.listener.DefaultListener;
 import at.tuwien.test.AbstractUnitTest;
+import io.micrometer.observation.annotation.Observed;
 import io.micrometer.observation.tck.TestObservationRegistry;
+import io.swagger.v3.oas.annotations.Operation;
 import jakarta.servlet.http.HttpServletRequest;
 import lombok.extern.log4j.Log4j2;
 import org.apache.commons.io.FileUtils;
@@ -26,7 +27,6 @@ import org.springframework.boot.test.context.SpringBootTest;
 import org.springframework.boot.test.context.TestConfiguration;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Import;
-import org.springframework.http.MediaType;
 import org.springframework.mock.web.MockHttpServletRequest;
 import org.springframework.security.test.context.support.WithMockUser;
 import org.springframework.test.context.junit.jupiter.SpringExtension;
@@ -34,15 +34,13 @@ import org.springframework.test.web.servlet.MockMvc;
 
 import java.io.File;
 import java.io.IOException;
-import java.nio.charset.Charset;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.LinkedList;
-import java.util.List;
+import java.lang.annotation.Annotation;
+import java.lang.reflect.Method;
+import java.util.*;
 
 import static at.tuwien.utils.RabbitMqUtils.buildMessage;
 import static io.micrometer.observation.tck.TestObservationRegistryAssert.assertThat;
-import static org.junit.jupiter.api.Assertions.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
 import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
 import static org.springframework.test.web.servlet.result.MockMvcResultHandlers.print;
 import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
@@ -68,10 +66,10 @@ public class PrometheusEndpointMvcTest extends AbstractUnitTest {
     private HttpServletRequest httpServletRequest;
 
     @Autowired
-    private AccessEndpoint accessEndpoint;
+    private AccessEndpoint accessEndpoint; /* no metrics */
 
     @Autowired
-    private DatabaseEndpoint databaseEndpoint;
+    private DatabaseEndpoint databaseEndpoint; /* no metrics */
 
     @Autowired
     private SubsetEndpoint subsetEndpoint;
@@ -82,7 +80,7 @@ public class PrometheusEndpointMvcTest extends AbstractUnitTest {
     @Autowired
     private ViewEndpoint viewEndpoint;
 
-    private static final List<String> metrics = new LinkedList<>();
+    private static final Map<String, String> metrics = new TreeMap<>(); /* sorted */
 
     @TestConfiguration
     static class ObservationTestConfiguration {
@@ -100,10 +98,7 @@ public class PrometheusEndpointMvcTest extends AbstractUnitTest {
 
     @AfterAll
     public static void afterAll() throws IOException {
-        Collections.sort(metrics);
-        final StringBuilder content = new StringBuilder("# AUTOGENERATED FILE (DO NOT EDIT)\n")
-                .append(String.join("\n", metrics));
-        FileUtils.writeStringToFile(new File("../metrics.txt"), content.toString(), Charset.defaultCharset());
+        saveObservedMetrics(metrics);
     }
 
     @Test
@@ -118,49 +113,17 @@ public class PrometheusEndpointMvcTest extends AbstractUnitTest {
     @Test
     public void prometheusDefaultListener_succeeds() {
 
-        /* mock */
-        defaultListener.onMessage(buildMessage("dbrepo.database", "{}", new HashMap<>()));
-
-        /* test */
-        metrics.add("dbrepo_message_receive");
-        assertThat(registry)
-                .hasObservationWithNameEqualTo("dbrepo_message_receive");
-    }
-
-    @Test
-    @WithMockUser(username = USER_LOCAL_ADMIN_USERNAME, authorities = {"admin"})
-    public void prometheusAccessEndpoint_succeeds() {
-
         /* mock */
         try {
-            accessEndpoint.create(DATABASE_1_ID, USER_1_ID, UPDATE_DATABASE_ACCESS_READ_DTO);
-        } catch (Exception e) {
-            /* ignore */
-        }
-        try {
-            accessEndpoint.revoke(DATABASE_1_ID, USER_1_ID);
-        } catch (Exception e) {
-            /* ignore */
-        }
-        try {
-            accessEndpoint.update(DATABASE_1_ID, USER_1_ID, UPDATE_DATABASE_ACCESS_READ_DTO);
+            defaultListener.onMessage(buildMessage("dbrepo.database", "{}", new HashMap<>()));
         } catch (Exception e) {
             /* ignore */
         }
 
         /* test */
-        for (String metric : List.of("dbrepo_database_access_create", "dbrepo_database_access_update",
-                "dbrepo_database_access_revoke")) {
-            metrics.add(metric);
-            assertThat(registry)
-                    .hasObservationWithNameEqualTo(metric);
-        }
-    }
-
-    @Test
-    @WithMockUser(username = USER_LOCAL_ADMIN_USERNAME, authorities = {"admin"})
-    public void prometheusDatabaseEndpoint_succeeds() {
-        assertTrue(true);
+        assertThat(registry)
+                .hasObservationWithNameEqualTo("dbrepo_message_receive");
+        generic_openApiDocs(DefaultListener.class);
     }
 
     @Test
@@ -169,7 +132,7 @@ public class PrometheusEndpointMvcTest extends AbstractUnitTest {
 
         /* mock */
         try {
-            subsetEndpoint.findAllById(DATABASE_1_ID, null, USER_1_PRINCIPAL);
+            subsetEndpoint.list(DATABASE_1_ID, null, USER_1_PRINCIPAL);
         } catch (Exception e) {
             /* ignore */
         }
@@ -197,10 +160,10 @@ public class PrometheusEndpointMvcTest extends AbstractUnitTest {
         /* test */
         for (String metric : List.of("dbrepo_subset_list", "dbrepo_subset_create", "dbrepo_subset_data",
                 "dbrepo_subset_persist", "dbrepo_subset_find")) {
-            metrics.add(metric);
             assertThat(registry)
                     .hasObservationWithNameEqualTo(metric);
         }
+        generic_openApiDocs(SubsetEndpoint.class);
     }
 
     @Test
@@ -253,10 +216,10 @@ public class PrometheusEndpointMvcTest extends AbstractUnitTest {
         for (String metric : List.of("dbrepo_table_data_list", "dbrepo_table_data_create", "dbrepo_table_data_update",
                 "dbrepo_table_data_delete", "dbrepo_table_data_history", "dbrepo_table_data_export",
                 "dbrepo_table_data_import")) {
-            metrics.add(metric);
             assertThat(registry)
                     .hasObservationWithNameEqualTo(metric);
         }
+        generic_openApiDocs(TableEndpoint.class);
     }
 
     @Test
@@ -271,9 +234,23 @@ public class PrometheusEndpointMvcTest extends AbstractUnitTest {
         }
 
         /* test */
-        metrics.add("dbrepo_view_data");
         assertThat(registry)
                 .hasObservationWithNameEqualTo("dbrepo_view_data");
+        generic_openApiDocs(ViewEndpoint.class);
+    }
+
+    private static void generic_openApiDocs(Class<?> endpoint) {
+        final List<Method> methods = Arrays.stream(endpoint.getMethods())
+                .filter(m -> m.getDeclaringClass().equals(endpoint))
+                .toList();
+        methods.forEach(m -> {
+            final Observed observed = m.getDeclaredAnnotation(Observed.class);
+            final Operation operation = m.getDeclaredAnnotation(Operation.class);
+            if (observed != null) {
+                assertNotNull(operation);
+                metrics.put(observed.name(), operation.summary());
+            }
+        });
     }
 
 }
diff --git a/dbrepo-data-service/rest-service/src/test/java/at/tuwien/service/SchemaServiceIntegrationTest.java b/dbrepo-data-service/rest-service/src/test/java/at/tuwien/service/SchemaServiceIntegrationTest.java
new file mode 100644
index 0000000000..c9efad23f0
--- /dev/null
+++ b/dbrepo-data-service/rest-service/src/test/java/at/tuwien/service/SchemaServiceIntegrationTest.java
@@ -0,0 +1,143 @@
+package at.tuwien.service;
+
+import at.tuwien.api.database.ViewColumnDto;
+import at.tuwien.api.database.ViewDto;
+import at.tuwien.api.database.table.TableDto;
+import at.tuwien.api.database.table.columns.ColumnDto;
+import at.tuwien.api.database.table.columns.ColumnTypeDto;
+import at.tuwien.api.database.table.constraints.ConstraintsDto;
+import at.tuwien.api.database.table.constraints.primary.PrimaryKeyDto;
+import at.tuwien.api.database.table.constraints.unique.UniqueDto;
+import at.tuwien.config.MariaDbConfig;
+import at.tuwien.config.MariaDbContainerConfig;
+import at.tuwien.exception.*;
+import at.tuwien.test.AbstractUnitTest;
+import lombok.extern.log4j.Log4j2;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit.jupiter.SpringExtension;
+import org.testcontainers.containers.MariaDBContainer;
+import org.testcontainers.junit.jupiter.Container;
+import org.testcontainers.junit.jupiter.Testcontainers;
+
+import java.sql.SQLException;
+import java.util.List;
+import java.util.Set;
+
+import static org.junit.jupiter.api.Assertions.*;
+
+@Log4j2
+@SpringBootTest
+@ExtendWith(SpringExtension.class)
+@Testcontainers
+public class SchemaServiceIntegrationTest extends AbstractUnitTest {
+
+    @Autowired
+    private SchemaService schemaService;
+
+    @Container
+    private static MariaDBContainer<?> mariaDBContainer = MariaDbContainerConfig.getContainer();
+
+    @BeforeEach
+    public void beforeEach() throws SQLException {
+        genesis();
+        /* metadata database */
+        MariaDbConfig.dropDatabase(CONTAINER_1_PRIVILEGED_DTO, DATABASE_1_INTERNALNAME);
+        MariaDbConfig.createInitDatabase(CONTAINER_1_PRIVILEGED_DTO, DATABASE_1_DTO);
+    }
+
+    @Test
+    public void inspectTable_succeeds() throws TableNotFoundException, SQLException, QueryMalformedException {
+
+        /* test */
+        final TableDto response = schemaService.inspectTable(DATABASE_1_PRIVILEGED_DTO, "not_in_metadata_db");
+        assertEquals("not_in_metadata_db", response.getInternalName());
+        assertEquals("not_in_metadata_db", response.getName());
+        assertEquals(DATABASE_1_ID, response.getTdbid());
+        assertTrue(response.getIsVersioned());
+        assertEquals(DATABASE_1_PUBLIC, response.getIsPublic());
+        final List<ColumnDto> columns = response.getColumns();
+        assertNotNull(columns);
+        assertEquals(5, columns.size());
+        final ColumnDto column0 = columns.get(0);
+        assertEquals("id", column0.getName());
+        assertEquals("id", column0.getInternalName());
+        assertEquals(ColumnTypeDto.BIGINT, column0.getColumnType());
+        assertFalse(column0.getIsNullAllowed());
+        final ColumnDto column1 = columns.get(1);
+        assertEquals("given_name", column1.getName());
+        assertEquals("given_name", column1.getInternalName());
+        assertEquals(ColumnTypeDto.VARCHAR, column1.getColumnType());
+        assertEquals(255, column1.getSize());
+        assertFalse(column1.getIsNullAllowed());
+        final ColumnDto column2 = columns.get(2);
+        assertEquals("middle_name", column2.getName());
+        assertEquals("middle_name", column2.getInternalName());
+        assertEquals(ColumnTypeDto.VARCHAR, column2.getColumnType());
+        assertEquals(255, column2.getSize());
+        assertTrue(column2.getIsNullAllowed());
+        final ColumnDto column3 = columns.get(3);
+        assertEquals("family_name", column3.getName());
+        assertEquals("family_name", column3.getInternalName());
+        assertEquals(ColumnTypeDto.VARCHAR, column3.getColumnType());
+        assertEquals(255, column3.getSize());
+        assertFalse(column3.getIsNullAllowed());
+        final ColumnDto column4 = columns.get(4);
+        assertEquals("age", column4.getName());
+        assertEquals("age", column4.getInternalName());
+        assertEquals(ColumnTypeDto.INT, column4.getColumnType());
+        assertFalse(column4.getIsNullAllowed());
+        final ConstraintsDto constraints = response.getConstraints();
+        assertNotNull(constraints);
+        final Set<PrimaryKeyDto> primaryKey = constraints.getPrimaryKey();
+        assertEquals(1, primaryKey.size());
+        final Set<String> checks = constraints.getChecks();
+        assertEquals(1, checks.size());
+        assertEquals(Set.of("`age` > 0 and `age` < 120"), checks);
+        final List<UniqueDto> uniques = constraints.getUniques();
+        assertEquals(1, uniques.size());
+        assertEquals(2, uniques.get(0).getColumns().size());
+        assertEquals("not_in_metadata_db", uniques.get(0).getTable().getInternalName());
+        assertEquals("given_name", uniques.get(0).getColumns().get(0).getInternalName());
+        assertEquals("family_name", uniques.get(0).getColumns().get(1).getInternalName());
+    }
+
+    @Test
+    public void inspectView_succeeds() throws ViewMalformedException, SQLException, ViewNotFoundException,
+            ViewSchemaException {
+
+        /* test */
+        final ViewDto response = schemaService.inspectView(DATABASE_1_PRIVILEGED_DTO, "not_in_metadata_db2");
+        assertEquals("not_in_metadata_db2", response.getInternalName());
+        assertEquals("not_in_metadata_db2", response.getName());
+        assertEquals(DATABASE_1_ID, response.getVdbid());
+        assertEquals(DATABASE_1_ID, response.getDatabase().getId());
+        assertEquals(DATABASE_1_OWNER, response.getCreatedBy());
+        assertEquals(DATABASE_1_OWNER, response.getCreator().getId());
+        assertFalse(response.getIsInitialView());
+        assertEquals(DATABASE_1_PUBLIC, response.getIsPublic());
+        assertTrue(response.getQuery().length() >= 69);
+        assertNotNull(response.getQueryHash());
+        assertEquals(4, response.getColumns().size());
+        final ViewColumnDto column0 = response.getColumns().get(0);
+        assertNotNull(column0.getName());
+        assertEquals("date", column0.getInternalName());
+        assertEquals(DATABASE_1_ID, column0.getDatabaseId());
+        final ViewColumnDto column1 = response.getColumns().get(1);
+        assertNotNull(column1.getName());
+        assertEquals("location", column1.getInternalName());
+        assertEquals(DATABASE_1_ID, column1.getDatabaseId());
+        final ViewColumnDto column2 = response.getColumns().get(2);
+        assertNotNull(column2.getName());
+        assertEquals("MinTemp", column2.getInternalName());
+        assertEquals(DATABASE_1_ID, column2.getDatabaseId());
+        final ViewColumnDto column3 = response.getColumns().get(3);
+        assertNotNull(column3.getName());
+        assertEquals("Rainfall", column3.getInternalName());
+        assertEquals(DATABASE_1_ID, column3.getDatabaseId());
+    }
+
+}
diff --git a/dbrepo-data-service/rest-service/src/test/java/at/tuwien/service/TableServiceIntegrationTest.java b/dbrepo-data-service/rest-service/src/test/java/at/tuwien/service/TableServiceIntegrationTest.java
index e688df1840..25144d827d 100644
--- a/dbrepo-data-service/rest-service/src/test/java/at/tuwien/service/TableServiceIntegrationTest.java
+++ b/dbrepo-data-service/rest-service/src/test/java/at/tuwien/service/TableServiceIntegrationTest.java
@@ -1,14 +1,21 @@
 package at.tuwien.service;
 
+import at.tuwien.api.database.table.TableDto;
 import at.tuwien.api.database.table.TupleDeleteDto;
 import at.tuwien.api.database.table.TupleDto;
 import at.tuwien.api.database.table.TupleUpdateDto;
+import at.tuwien.api.database.table.columns.ColumnDto;
+import at.tuwien.api.database.table.columns.ColumnTypeDto;
+import at.tuwien.api.database.table.constraints.ConstraintsDto;
+import at.tuwien.api.database.table.constraints.primary.PrimaryKeyDto;
+import at.tuwien.api.database.table.constraints.unique.UniqueDto;
 import at.tuwien.config.MariaDbConfig;
 import at.tuwien.config.MariaDbContainerConfig;
 import at.tuwien.exception.*;
 import at.tuwien.gateway.MetadataServiceGateway;
 import at.tuwien.test.AbstractUnitTest;
 import lombok.extern.log4j.Log4j2;
+import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 import org.junit.jupiter.api.extension.ExtendWith;
@@ -27,6 +34,7 @@ import java.util.Map;
 import java.util.Set;
 
 import static org.junit.Assert.assertEquals;
+import static org.junit.jupiter.api.Assertions.*;
 import static org.mockito.Mockito.when;
 
 @Log4j2
@@ -310,4 +318,62 @@ public class TableServiceIntegrationTest extends AbstractUnitTest {
         assertEquals(0, result.size());
     }
 
+    @Test
+    public void getSchemas_succeeds() throws TableNotFoundException, SQLException, QueryMalformedException,
+            DatabaseMalformedException {
+
+        /* test */
+        final List<TableDto> response = tableService.getSchemas(DATABASE_1_PRIVILEGED_DTO);
+        final TableDto table0 = response.get(0);
+        Assertions.assertEquals("not_in_metadata_db", table0.getInternalName());
+        Assertions.assertEquals("not_in_metadata_db", table0.getName());
+        Assertions.assertEquals(DATABASE_1_ID, table0.getTdbid());
+        assertTrue(table0.getIsVersioned());
+        Assertions.assertEquals(DATABASE_1_PUBLIC, table0.getIsPublic());
+        final List<ColumnDto> columns = table0.getColumns();
+        assertNotNull(columns);
+        Assertions.assertEquals(5, columns.size());
+        final ColumnDto column0 = columns.get(0);
+        Assertions.assertEquals("id", column0.getName());
+        Assertions.assertEquals("id", column0.getInternalName());
+        Assertions.assertEquals(ColumnTypeDto.BIGINT, column0.getColumnType());
+        assertFalse(column0.getIsNullAllowed());
+        final ColumnDto column1 = columns.get(1);
+        Assertions.assertEquals("given_name", column1.getName());
+        Assertions.assertEquals("given_name", column1.getInternalName());
+        Assertions.assertEquals(ColumnTypeDto.VARCHAR, column1.getColumnType());
+        Assertions.assertEquals(255, column1.getSize());
+        assertFalse(column1.getIsNullAllowed());
+        final ColumnDto column2 = columns.get(2);
+        Assertions.assertEquals("middle_name", column2.getName());
+        Assertions.assertEquals("middle_name", column2.getInternalName());
+        Assertions.assertEquals(ColumnTypeDto.VARCHAR, column2.getColumnType());
+        Assertions.assertEquals(255, column2.getSize());
+        assertTrue(column2.getIsNullAllowed());
+        final ColumnDto column3 = columns.get(3);
+        Assertions.assertEquals("family_name", column3.getName());
+        Assertions.assertEquals("family_name", column3.getInternalName());
+        Assertions.assertEquals(ColumnTypeDto.VARCHAR, column3.getColumnType());
+        Assertions.assertEquals(255, column3.getSize());
+        assertFalse(column3.getIsNullAllowed());
+        final ColumnDto column4 = columns.get(4);
+        Assertions.assertEquals("age", column4.getName());
+        Assertions.assertEquals("age", column4.getInternalName());
+        Assertions.assertEquals(ColumnTypeDto.INT, column4.getColumnType());
+        assertFalse(column4.getIsNullAllowed());
+        final ConstraintsDto constraints = table0.getConstraints();
+        assertNotNull(constraints);
+        final Set<PrimaryKeyDto> primaryKey = constraints.getPrimaryKey();
+        Assertions.assertEquals(1, primaryKey.size());
+        final Set<String> checks = constraints.getChecks();
+        Assertions.assertEquals(1, checks.size());
+        Assertions.assertEquals(Set.of("`age` > 0 and `age` < 120"), checks);
+        final List<UniqueDto> uniques = constraints.getUniques();
+        Assertions.assertEquals(1, uniques.size());
+        Assertions.assertEquals(2, uniques.get(0).getColumns().size());
+        Assertions.assertEquals("not_in_metadata_db", uniques.get(0).getTable().getInternalName());
+        Assertions.assertEquals("given_name", uniques.get(0).getColumns().get(0).getInternalName());
+        Assertions.assertEquals("family_name", uniques.get(0).getColumns().get(1).getInternalName());
+    }
+
 }
diff --git a/dbrepo-data-service/rest-service/src/test/java/at/tuwien/service/ViewServiceIntegrationTest.java b/dbrepo-data-service/rest-service/src/test/java/at/tuwien/service/ViewServiceIntegrationTest.java
index e30889840d..ba846f37cc 100644
--- a/dbrepo-data-service/rest-service/src/test/java/at/tuwien/service/ViewServiceIntegrationTest.java
+++ b/dbrepo-data-service/rest-service/src/test/java/at/tuwien/service/ViewServiceIntegrationTest.java
@@ -1,6 +1,9 @@
 package at.tuwien.service;
 
+import at.tuwien.api.database.ViewColumnDto;
+import at.tuwien.api.database.ViewDto;
 import at.tuwien.api.database.query.QueryResultDto;
+import at.tuwien.api.database.table.columns.ColumnDto;
 import at.tuwien.config.MariaDbConfig;
 import at.tuwien.config.MariaDbContainerConfig;
 import at.tuwien.exception.*;
@@ -21,8 +24,8 @@ import java.time.Instant;
 import java.util.List;
 import java.util.Map;
 
-import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.*;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 @Log4j2
 @SpringBootTest
@@ -68,24 +71,49 @@ public class ViewServiceIntegrationTest extends AbstractUnitTest {
         assertEquals(VIEW_2_ID, response.getId());
         assertNotNull(response.getHeaders());
         assertEquals(4, response.getHeaders().size());
-        assertEquals(List.of(Map.of("date", 0), Map.of("location", 1), Map.of("rainfall", 2), Map.of("mintemp", 3)), response.getHeaders());
+        assertEquals(List.of(Map.of("date", 0), Map.of("location", 1), Map.of("mintemp", 2), Map.of("location", 3)), response.getHeaders());
         assertNotNull(response.getResult());
         assertEquals(3, response.getResult().size());
         /* row 0 */
         assertEquals(Instant.ofEpochSecond(1228089600), response.getResult().get(0).get("date"));
         assertEquals("Albury", response.getResult().get(0).get("location"));
         assertEquals(13.4, response.getResult().get(0).get("mintemp"));
-        assertEquals(0.6, response.getResult().get(0).get("rainfall"));
         /* row 1 */
         assertEquals(Instant.ofEpochSecond(1228176000), response.getResult().get(1).get("date"));
         assertEquals("Albury", response.getResult().get(1).get("location"));
         assertEquals(7.4, response.getResult().get(1).get("mintemp"));
-        assertEquals(0.0, response.getResult().get(1).get("rainfall"));
         /* row 2 */
         assertEquals(Instant.ofEpochSecond(1228262400), response.getResult().get(2).get("date"));
         assertEquals("Albury", response.getResult().get(2).get("location"));
         assertEquals(12.9, response.getResult().get(2).get("mintemp"));
-        assertEquals(0.0, response.getResult().get(2).get("rainfall"));
+    }
+
+    @Test
+    public void getSchemas_succeeds() throws ViewMalformedException, SQLException, ViewNotFoundException,
+            DatabaseMalformedException, ViewSchemaException {
+
+        /* test */
+        final List<ViewDto> response = viewService.getSchemas(DATABASE_1_PRIVILEGED_DTO);
+        final ViewDto view0 = response.get(0);
+        assertEquals("not_in_metadata_db2", view0.getName());
+        assertEquals("not_in_metadata_db2", view0.getInternalName());
+        assertEquals(DATABASE_1_ID, view0.getVdbid());
+        assertEquals(DATABASE_1_ID, view0.getDatabase().getId());
+        assertEquals(DATABASE_1_OWNER, view0.getCreatedBy());
+        assertEquals(DATABASE_1_OWNER, view0.getCreator().getId());
+        assertFalse(view0.getIsInitialView());
+        assertEquals(DATABASE_1_PUBLIC, view0.getIsPublic());
+        assertTrue(view0.getQuery().length() >= 69);
+        assertNotNull(view0.getQueryHash());
+        assertEquals(4, view0.getColumns().size());
+        final ViewColumnDto column0a = view0.getColumns().get(0);
+        assertEquals("date", column0a.getInternalName());
+        final ViewColumnDto column1a = view0.getColumns().get(1);
+        assertEquals("location", column1a.getInternalName());
+        final ViewColumnDto column2a = view0.getColumns().get(2);
+        assertEquals("MinTemp", column2a.getInternalName());
+        final ViewColumnDto column3a = view0.getColumns().get(3);
+        assertEquals("Rainfall", column3a.getInternalName());
     }
 
 }
diff --git a/dbrepo-data-service/rest-service/src/test/resources/init/weather.sql b/dbrepo-data-service/rest-service/src/test/resources/init/weather.sql
index 6c1b14187d..2eef31b475 100644
--- a/dbrepo-data-service/rest-service/src/test/resources/init/weather.sql
+++ b/dbrepo-data-service/rest-service/src/test/resources/init/weather.sql
@@ -55,11 +55,18 @@ select `date`, `location`, `mintemp`, `rainfall`
 from `weather_aus`
 where `location` = 'Albury');
 
-CREATE VIEW `hs_weather_aus` AS
-SELECT *
-FROM (SELECT `id`, ROW_START AS inserted_at, IF(ROW_END > NOW(), NULL, ROW_END) AS deleted_at, COUNT(*) as total
-      FROM `weather_aus` FOR SYSTEM_TIME ALL
-      GROUP BY inserted_at, deleted_at
-      ORDER BY deleted_at DESC
-      LIMIT 50) AS v
-ORDER BY v.inserted_at, v.deleted_at ASC;
+CREATE TABLE not_in_metadata_db
+(
+    id          BIGINT       NOT NULL PRIMARY KEY,
+    given_name  VARCHAR(255) NOT NULL,
+    middle_name VARCHAR(255) NULL,
+    family_name VARCHAR(255) NOT NULL,
+    age         INT          NOT NULL CHECK ( age > 0 AND age < 120 ),
+    UNIQUE (given_name, family_name)
+) WITH SYSTEM VERSIONING;
+
+CREATE VIEW not_in_metadata_db2 AS
+(
+select `date`, `location`, `mintemp` as `MinTemp`, `rainfall` as `Rainfall`
+from `weather_aus`
+where `location` = 'Vienna');
\ No newline at end of file
diff --git a/dbrepo-data-service/services/pom.xml b/dbrepo-data-service/services/pom.xml
index 760173af8f..d5f6be25c8 100644
--- a/dbrepo-data-service/services/pom.xml
+++ b/dbrepo-data-service/services/pom.xml
@@ -6,12 +6,12 @@
     <parent>
         <groupId>at.tuwien</groupId>
         <artifactId>dbrepo-data-service</artifactId>
-        <version>1.4.3</version>
+        <version>1.4.4</version>
     </parent>
 
     <artifactId>services</artifactId>
     <name>dbrepo-data-service-services</name>
-    <version>1.4.3</version>
+    <version>1.4.4</version>
 
     <dependencies>
         <dependency>
@@ -22,7 +22,7 @@
         <dependency>
             <groupId>at.tuwien</groupId>
             <artifactId>dbrepo-data-service-querystore</artifactId>
-            <version>1.4.3</version>
+            <version>1.4.4</version>
         </dependency>
     </dependencies>
 
diff --git a/dbrepo-data-service/services/src/main/java/at/tuwien/config/QueryConfig.java b/dbrepo-data-service/services/src/main/java/at/tuwien/config/QueryConfig.java
index b636391170..55888bda1a 100644
--- a/dbrepo-data-service/services/src/main/java/at/tuwien/config/QueryConfig.java
+++ b/dbrepo-data-service/services/src/main/java/at/tuwien/config/QueryConfig.java
@@ -13,4 +13,13 @@ public class QueryConfig {
     @Value("${dbrepo.sql.forbidden}")
     private String[] forbiddenKeywords;
 
+    @Value("${dbrepo.defaultDateFormatId}")
+    private Long defaultDateFormatId;
+
+    @Value("${dbrepo.defaultTimeFormatId}")
+    private Long defaultTimeFormatId;
+
+    @Value("${dbrepo.defaultTimestampFormatId}")
+    private Long defaultTimestampFormatId;
+
 }
diff --git a/dbrepo-data-service/services/src/main/java/at/tuwien/config/S3Config.java b/dbrepo-data-service/services/src/main/java/at/tuwien/config/S3Config.java
index 763505b933..8adaf38d19 100644
--- a/dbrepo-data-service/services/src/main/java/at/tuwien/config/S3Config.java
+++ b/dbrepo-data-service/services/src/main/java/at/tuwien/config/S3Config.java
@@ -33,6 +33,9 @@ public class S3Config {
     @Value("${dbrepo.s3.exportBucket}")
     private String s3ExportBucket;
 
+    @Value("${dbrepo.s3.filePath}")
+    private String s3FilePath;
+
     @Bean
     public S3Client s3client() {
         final AwsCredentialsProvider credentialsProvider = StaticCredentialsProvider.create(
diff --git a/dbrepo-data-service/services/src/main/java/at/tuwien/exception/DatabaseMalformedException.java b/dbrepo-data-service/services/src/main/java/at/tuwien/exception/DatabaseMalformedException.java
index 5a0ff612f8..4bdc362256 100644
--- a/dbrepo-data-service/services/src/main/java/at/tuwien/exception/DatabaseMalformedException.java
+++ b/dbrepo-data-service/services/src/main/java/at/tuwien/exception/DatabaseMalformedException.java
@@ -3,7 +3,7 @@ package at.tuwien.exception;
 import org.springframework.http.HttpStatus;
 import org.springframework.web.bind.annotation.ResponseStatus;
 
-@ResponseStatus(code = HttpStatus.BAD_REQUEST, reason = "error.database.invalid")
+@ResponseStatus(code = HttpStatus.EXPECTATION_FAILED, reason = "error.database.invalid")
 public class DatabaseMalformedException extends Exception {
 
     public DatabaseMalformedException(String message) {
diff --git a/dbrepo-data-service/services/src/main/java/at/tuwien/exception/QueryStoreCreateException.java b/dbrepo-data-service/services/src/main/java/at/tuwien/exception/QueryStoreCreateException.java
index a7bcaf2a15..27ddb85e2c 100644
--- a/dbrepo-data-service/services/src/main/java/at/tuwien/exception/QueryStoreCreateException.java
+++ b/dbrepo-data-service/services/src/main/java/at/tuwien/exception/QueryStoreCreateException.java
@@ -3,7 +3,7 @@ package at.tuwien.exception;
 import org.springframework.http.HttpStatus;
 import org.springframework.web.bind.annotation.ResponseStatus;
 
-@ResponseStatus(code = HttpStatus.BAD_REQUEST, reason = "error.store.invalid")
+@ResponseStatus(code = HttpStatus.EXPECTATION_FAILED, reason = "error.store.invalid")
 public class QueryStoreCreateException extends Exception {
 
     public QueryStoreCreateException(String message) {
diff --git a/dbrepo-data-service/services/src/main/java/at/tuwien/exception/QueryStoreInsertException.java b/dbrepo-data-service/services/src/main/java/at/tuwien/exception/QueryStoreInsertException.java
index 4b10a9891c..564383c844 100644
--- a/dbrepo-data-service/services/src/main/java/at/tuwien/exception/QueryStoreInsertException.java
+++ b/dbrepo-data-service/services/src/main/java/at/tuwien/exception/QueryStoreInsertException.java
@@ -3,7 +3,7 @@ package at.tuwien.exception;
 import org.springframework.http.HttpStatus;
 import org.springframework.web.bind.annotation.ResponseStatus;
 
-@ResponseStatus(code = HttpStatus.BAD_REQUEST, reason = "error.store.insert")
+@ResponseStatus(code = HttpStatus.EXPECTATION_FAILED, reason = "error.store.insert")
 public class QueryStoreInsertException extends Exception {
 
     public QueryStoreInsertException(String message) {
diff --git a/dbrepo-data-service/services/src/main/java/at/tuwien/exception/QueryStorePersistException.java b/dbrepo-data-service/services/src/main/java/at/tuwien/exception/QueryStorePersistException.java
index 339bdc2f75..5b17442a3a 100644
--- a/dbrepo-data-service/services/src/main/java/at/tuwien/exception/QueryStorePersistException.java
+++ b/dbrepo-data-service/services/src/main/java/at/tuwien/exception/QueryStorePersistException.java
@@ -3,7 +3,7 @@ package at.tuwien.exception;
 import org.springframework.http.HttpStatus;
 import org.springframework.web.bind.annotation.ResponseStatus;
 
-@ResponseStatus(code = HttpStatus.BAD_REQUEST, reason = "error.store.persist")
+@ResponseStatus(code = HttpStatus.EXPECTATION_FAILED, reason = "error.store.persist")
 public class QueryStorePersistException extends Exception {
 
     public QueryStorePersistException(String message) {
diff --git a/dbrepo-data-service/services/src/main/java/at/tuwien/exception/TableSchemaException.java b/dbrepo-data-service/services/src/main/java/at/tuwien/exception/TableSchemaException.java
new file mode 100644
index 0000000000..539e39897e
--- /dev/null
+++ b/dbrepo-data-service/services/src/main/java/at/tuwien/exception/TableSchemaException.java
@@ -0,0 +1,21 @@
+package at.tuwien.exception;
+
+import org.springframework.http.HttpStatus;
+import org.springframework.web.bind.annotation.ResponseStatus;
+
+@ResponseStatus(code = HttpStatus.CONFLICT, reason = "error.schema.table")
+public class TableSchemaException extends Exception {
+
+    public TableSchemaException(String message) {
+        super(message);
+    }
+
+    public TableSchemaException(String message, Throwable thr) {
+        super(message, thr);
+    }
+
+    public TableSchemaException(Throwable thr) {
+        super(thr);
+    }
+
+}
diff --git a/dbrepo-data-service/services/src/main/java/at/tuwien/exception/ViewSchemaException.java b/dbrepo-data-service/services/src/main/java/at/tuwien/exception/ViewSchemaException.java
new file mode 100644
index 0000000000..4761b6e964
--- /dev/null
+++ b/dbrepo-data-service/services/src/main/java/at/tuwien/exception/ViewSchemaException.java
@@ -0,0 +1,21 @@
+package at.tuwien.exception;
+
+import org.springframework.http.HttpStatus;
+import org.springframework.web.bind.annotation.ResponseStatus;
+
+@ResponseStatus(code = HttpStatus.CONFLICT, reason = "error.schema.view")
+public class ViewSchemaException extends Exception {
+
+    public ViewSchemaException(String message) {
+        super(message);
+    }
+
+    public ViewSchemaException(String message, Throwable thr) {
+        super(message, thr);
+    }
+
+    public ViewSchemaException(Throwable thr) {
+        super(thr);
+    }
+
+}
diff --git a/dbrepo-data-service/services/src/main/java/at/tuwien/listener/DefaultListener.java b/dbrepo-data-service/services/src/main/java/at/tuwien/listener/DefaultListener.java
index 47121c458e..c9e5bda270 100644
--- a/dbrepo-data-service/services/src/main/java/at/tuwien/listener/DefaultListener.java
+++ b/dbrepo-data-service/services/src/main/java/at/tuwien/listener/DefaultListener.java
@@ -7,6 +7,7 @@ import at.tuwien.service.QueueService;
 import com.fasterxml.jackson.core.type.TypeReference;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import io.micrometer.observation.annotation.Observed;
+import io.swagger.v3.oas.annotations.Operation;
 import lombok.extern.log4j.Log4j2;
 import org.springframework.amqp.core.Message;
 import org.springframework.amqp.core.MessageListener;
@@ -39,6 +40,7 @@ public class DefaultListener implements MessageListener {
 
     @Override
     @Observed(name = "dbrepo_message_receive")
+    @Operation(summary = "Received AMQP message from Broker Service")
     public void onMessage(Message message) {
         final MessageProperties properties = message.getMessageProperties();
         final TypeReference<HashMap<String, Object>> typeRef = new TypeReference<>() {
diff --git a/dbrepo-data-service/services/src/main/java/at/tuwien/mapper/MariaDbMapper.java b/dbrepo-data-service/services/src/main/java/at/tuwien/mapper/MariaDbMapper.java
index 2bac11bd4f..d1b033fe5b 100644
--- a/dbrepo-data-service/services/src/main/java/at/tuwien/mapper/MariaDbMapper.java
+++ b/dbrepo-data-service/services/src/main/java/at/tuwien/mapper/MariaDbMapper.java
@@ -2,6 +2,7 @@ package at.tuwien.mapper;
 
 import at.tuwien.api.container.image.ImageDateDto;
 import at.tuwien.api.database.DatabaseDto;
+import at.tuwien.api.database.ViewColumnDto;
 import at.tuwien.api.database.ViewDto;
 import at.tuwien.api.database.query.ImportCsvDto;
 import at.tuwien.api.database.query.QueryDto;
@@ -11,11 +12,13 @@ import at.tuwien.api.database.table.columns.ColumnCreateDto;
 import at.tuwien.api.database.table.columns.ColumnDto;
 import at.tuwien.api.database.table.columns.ColumnTypeDto;
 import at.tuwien.api.database.table.constraints.ConstraintsDto;
+import at.tuwien.api.database.table.constraints.primary.PrimaryKeyDto;
+import at.tuwien.api.database.table.constraints.unique.UniqueDto;
 import at.tuwien.api.database.table.internal.PrivilegedTableDto;
-import at.tuwien.exception.QueryMalformedException;
-import at.tuwien.exception.QueryNotFoundException;
-import at.tuwien.exception.TableMalformedException;
+import at.tuwien.config.QueryConfig;
+import at.tuwien.exception.*;
 import com.github.dockerjava.zerodep.shaded.org.apache.commons.codec.binary.Hex;
+import com.google.common.hash.Hashing;
 import net.sf.jsqlparser.JSQLParserException;
 import net.sf.jsqlparser.parser.CCJSqlParserManager;
 import net.sf.jsqlparser.schema.Column;
@@ -26,6 +29,7 @@ import org.mapstruct.Named;
 
 import java.io.*;
 import java.math.BigInteger;
+import java.nio.charset.StandardCharsets;
 import java.sql.*;
 import java.sql.Date;
 import java.text.Normalizer;
@@ -37,7 +41,7 @@ import java.util.regex.Pattern;
 import java.util.stream.Collectors;
 import java.util.stream.Stream;
 
-@Mapper(componentModel = "spring")
+@Mapper(componentModel = "spring", uses = {MetadataMapper.class})
 public interface MariaDbMapper {
 
     org.slf4j.Logger log = org.slf4j.LoggerFactory.getLogger(MariaDbMapper.class);
@@ -102,6 +106,54 @@ public interface MariaDbMapper {
                 .build();
     }
 
+    default String databaseTablesSelectRawQuery() {
+        final String statement = "SELECT DISTINCT t.`TABLE_NAME` FROM information_schema.TABLES t WHERE t.`TABLE_SCHEMA` = ? AND t.`TABLE_TYPE` = 'SYSTEM VERSIONED' AND t.`TABLE_NAME` != 'qs_queries'";
+        log.trace("mapped select tables statement: {}", statement);
+        return statement;
+    }
+
+    default String databaseTableSelectRawQuery() {
+        final String statement = "SELECT t.`TABLE_NAME`, t.`TABLE_TYPE`, t.`TABLE_ROWS`, t.`AVG_ROW_LENGTH`, t.`DATA_LENGTH`, t.`MAX_DATA_LENGTH`, COALESCE(t.`CREATE_TIME`, NOW()) as `CREATE_TIME`, t.`UPDATE_TIME`, v.`VIEW_DEFINITION` FROM information_schema.TABLES t LEFT JOIN information_schema.VIEWS v ON t.`TABLE_NAME` = v.`TABLE_NAME` WHERE t.`TABLE_SCHEMA` = ? AND t.`TABLE_TYPE` = 'SYSTEM VERSIONED' AND t.`TABLE_NAME` != 'qs_queries' AND t.`TABLE_NAME` = ?";
+        log.trace("mapped select table statement: {}", statement);
+        return statement;
+    }
+
+    default String databaseViewSelectRawQuery() {
+        final String statement = "SELECT t.`TABLE_NAME`, t.`TABLE_TYPE`, t.`TABLE_ROWS`, t.`AVG_ROW_LENGTH`, t.`DATA_LENGTH`, t.`MAX_DATA_LENGTH`, COALESCE(t.`CREATE_TIME`, NOW()) as `CREATE_TIME`, t.`UPDATE_TIME`, v.`VIEW_DEFINITION` FROM information_schema.TABLES t LEFT JOIN information_schema.VIEWS v ON t.`TABLE_NAME` = v.`TABLE_NAME` WHERE t.`TABLE_SCHEMA` = ? AND t.`TABLE_TYPE` = 'VIEW' AND t.`TABLE_NAME` != 'qs_queries' AND t.`TABLE_NAME` = ?";
+        log.trace("mapped select view statement: {}", statement);
+        return statement;
+    }
+
+    default String columnsCheckConstraintSelectRawQuery() {
+        final String statement = "SELECT DISTINCT c.`CHECK_CLAUSE` FROM information_schema.COLUMNS k JOIN information_schema.CHECK_CONSTRAINTS c ON k.TABLE_NAME = c.TABLE_NAME WHERE k.TABLE_SCHEMA = ? AND k.TABLE_NAME = ?";
+        log.trace("mapped select column constraint statement: {}", statement);
+        return statement;
+    }
+
+    default String databaseTableColumnsSelectRawQuery() {
+        final String statement = "SELECT `ORDINAL_POSITION`, `COLUMN_DEFAULT`, `IS_NULLABLE`, `DATA_TYPE`, `CHARACTER_MAXIMUM_LENGTH`, `NUMERIC_PRECISION`, `NUMERIC_SCALE`, `COLUMN_TYPE`, `COLUMN_KEY`, `COLUMN_NAME`, `COLUMN_COMMENT` FROM `information_schema`.`COLUMNS` WHERE `TABLE_SCHEMA` = ? AND `TABLE_NAME` = ?;";
+        log.trace("mapped select columns statement: {}", statement);
+        return statement;
+    }
+
+    default String databaseTableConstraintsSelectRawQuery() {
+        final String statement = "SELECT k.`ORDINAL_POSITION`, c.`CONSTRAINT_TYPE`, k.`CONSTRAINT_NAME`, k.`COLUMN_NAME` FROM information_schema.TABLE_CONSTRAINTS c JOIN information_schema.KEY_COLUMN_USAGE k ON c.`TABLE_NAME` = k.`TABLE_NAME` AND c.`CONSTRAINT_NAME` = k.`CONSTRAINT_NAME`WHERE c.`CONSTRAINT_TYPE` = 'UNIQUE' AND LOWER(k.`COLUMN_NAME`) != 'row_end' AND c.`TABLE_SCHEMA` = ? AND c.`TABLE_NAME` = ? ORDER BY k.`ORDINAL_POSITION` ASC;";
+        log.trace("mapped select table constraints statement: {}", statement);
+        return statement;
+    }
+
+    default String viewCreateRawQuery(String viewName, String query) {
+        final String statement = "CREATE VIEW IF NOT EXISTS `" + viewName + "` AS (" + query + ")";
+        log.trace("mapped create view statement: {}", statement);
+        return statement;
+    }
+
+    default String databaseViewsSelectRawQuery() {
+        final String statement = "SELECT DISTINCT t.`TABLE_NAME` FROM information_schema.TABLES t WHERE t.`TABLE_SCHEMA` = ? AND t.`TABLE_TYPE` = 'VIEW'";
+        log.trace("mapped select views statement: {}", statement);
+        return statement;
+    }
+
     default String tableCreateDtoToCreateSequenceRawQuery(at.tuwien.api.database.table.internal.TableCreateDto data) {
         return "CREATE SEQUENCE IF NOT EXISTS `" + tableCreateDtoToSequenceName(data) + "` NOCACHE";
     }
@@ -174,7 +226,9 @@ public interface MariaDbMapper {
                     /* null expressions */
                     .append(column.getNullAllowed() != null && column.getNullAllowed() ? " NULL" : " NOT NULL")
                     /* default expressions */
-                    .append(data.getNeedSequence() && column.getName().equals("id") ? " DEFAULT NEXTVAL(`" + tableCreateDtoToSequenceName(data) + "`)" : "");
+                    .append(data.getNeedSequence() && column.getName().equals("id") ? " DEFAULT NEXTVAL(`" + tableCreateDtoToSequenceName(data) + "`)" : "")
+                    /* comments */
+                    .append(!column.getDescription().isEmpty() ? (" COMMENT \"" + column.getDescription() + "\"") : "");
         }
         /* create primary key index */
         stringBuilder.append(", PRIMARY KEY (")
@@ -228,6 +282,12 @@ public interface MariaDbMapper {
                                 .append(ck)
                                 .append(")"));
             }
+            if (!data.getDescription().isBlank()) {
+                /* create table comments */
+                stringBuilder.append(" COMMENT \"")
+                        .append(data.getDescription())
+                        .append("\"");
+            }
         }
         stringBuilder.append(") WITH SYSTEM VERSIONING;");
         log.trace("mapped create table query: {}", stringBuilder);
@@ -369,7 +429,7 @@ public interface MariaDbMapper {
     }
 
     default String tableOrViewToRawExportQuery(String databaseName, String tableOrView, List<ColumnDto> columns,
-                                               Instant timestamp, String filename) {
+                                               Instant timestamp, String filePath) {
         final StringBuilder statement = new StringBuilder("SELECT ");
         int[] idx = new int[]{0};
         columns.forEach(column -> {
@@ -399,30 +459,60 @@ public interface MariaDbMapper {
                     .append(mariaDbFormatter.format(timestamp))
                     .append("'");
         }
-        statement.append(" INTO OUTFILE '/tmp/")
-                .append(filename)
+        statement.append(" INTO OUTFILE '")
+                .append(filePath)
                 .append("' CHARACTER SET utf8 FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '\"';");
         statement.append(";");
         log.debug("mapped table/view export query: {}", statement);
         return statement.toString();
     }
 
-    default String subsetToRawExportQuery(String query, Instant timestamp, String filename) {
+    default String subsetToRawExportQuery(String query, Instant timestamp, String filePath) {
         final StringBuilder statement = new StringBuilder(query.replaceAll(";", ""))
                 .append(" FOR SYSTEM_TIME AS OF TIMESTAMP'")
                 .append(mariaDbFormatter.format(timestamp))
                 .append("'")
-                .append(" INTO OUTFILE '/tmp/")
-                .append(filename)
+                .append(" INTO OUTFILE '")
+                .append(filePath)
                 .append("' CHARACTER SET utf8 FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '\"';");
         log.debug("mapped export query: {}", statement);
         return statement.toString();
     }
 
-    default TableDto resultSetToTable(DatabaseDto database, ResultSet resultSet) throws SQLException,
-            QueryMalformedException {
+    /**
+     * Map the inspected schema to either an existing view/table and append e.g. column or (if not existing) create a new view/table.
+     * @param database The database.
+     * @param resultSet The inspected schema.
+     * @return The database containing the updated view/table.
+     * @throws SQLException
+     */
+    default ViewDto schemaResultSetToView(DatabaseDto database, ResultSet resultSet) throws SQLException {
+        return ViewDto.builder()
+                .name(resultSet.getString(1))
+                .internalName(resultSet.getString(1))
+                .vdbid(database.getId())
+                .database(database)
+                .isInitialView(false)
+                .isPublic(database.getIsPublic())
+                .query(resultSet.getString(9))
+                .queryHash(Hashing.sha256()
+                        .hashString(resultSet.getString(9), StandardCharsets.UTF_8)
+                        .toString())
+                .columns(new LinkedList<>())
+                .identifiers(new LinkedList<>())
+                .creator(database.getOwner())
+                .createdBy(database.getOwner().getId())
+                .build();
+    }
+
+    ViewColumnDto columnDtoToViewColumnDto(ColumnDto data);
+
+    ColumnDto viewColumnDtoToColumnDto(ViewColumnDto data);
+
+    default TableDto schemaResultSetToTable(DatabaseDto database, ResultSet resultSet) throws SQLException,
+            TableNotFoundException {
         if (!resultSet.next()) {
-            throw new QueryMalformedException("Failed to map table");
+            throw new TableNotFoundException("Failed to find table in the information schema");
         }
         final TableDto table = TableDto.builder()
                 .name(resultSet.getString(1))
@@ -434,7 +524,9 @@ public interface MariaDbMapper {
                 .maxDataLength(resultSet.getLong(6))
                 .tdbid(database.getId())
                 .queueName("dbrepo")
-                .routingKey("dbrepo." + database.getInternalName() + "." + resultSet.getString(1))
+                .routingKey("dbrepo")
+                .columns(new LinkedList<>())
+                .identifiers(new LinkedList<>())
                 .creator(database.getOwner())
                 .createdBy(database.getOwner().getId())
                 .owner(database.getOwner())
@@ -444,6 +536,7 @@ public interface MariaDbMapper {
                         .uniques(new LinkedList<>())
                         .checks(new LinkedHashSet<>())
                         .build())
+                .isPublic(database.getIsPublic())
                 .build();
         if (resultSet.getString(7) != null && !resultSet.getString(7).isEmpty()) {
             table.setCreated(Timestamp.valueOf(resultSet.getString(7))
@@ -452,44 +545,123 @@ public interface MariaDbMapper {
         return table;
     }
 
-    default TableDto resultSetToTable(ResultSet resultSet, TableDto table, ImageDateDto defaultDateFormat,
-                                      ImageDateDto defaultTimestampFormat) throws SQLException {
-        /* columns */
-        final List<ColumnDto> columns = new LinkedList<>();
-        while (resultSet.next()) {
-            /* constraints */
-            if (resultSet.getString(9) != null && resultSet.getString(9).equals("PRI")) {
-                table.getConstraints().getPrimaryKey().add(resultSet.getString(10));
-            }
-            final ColumnDto column = ColumnDto.builder()
-                    .ordinalPosition(resultSet.getInt(1) - 1) /* start at zero */
-                    .autoGenerated(resultSet.getString(2) != null && resultSet.getString(2).startsWith("nextval"))
-                    .isNullAllowed(resultSet.getString(3).equals("YES"))
-                    .columnType(ColumnTypeDto.valueOf(resultSet.getString(4).toUpperCase()))
-                    .d(resultSet.getString(7) != null ? resultSet.getLong(7) : null)
-                    .name(resultSet.getString(10))
-                    .internalName(resultSet.getString(10))
-                    .build();
-            /* fix boolean and set size for others */
-            if (resultSet.getString(8).equalsIgnoreCase("tinyint(1)")) {
-                column.setColumnType(ColumnTypeDto.BOOL);
-            } else if (resultSet.getString(5) != null) {
-                column.setSize(resultSet.getLong(5));
-            } else if (resultSet.getString(6) != null) {
-                column.setSize(resultSet.getLong(6));
-            }
-            if (column.getColumnType().equals(ColumnTypeDto.TIMESTAMP) || column.getColumnType().equals(ColumnTypeDto.DATETIME)) {
-                column.setDateFormat(defaultTimestampFormat);
-            } else if (column.getColumnType().equals(ColumnTypeDto.DATE)) {
-                column.setDateFormat(defaultDateFormat);
+    default TableDto resultSetToConstraint(ResultSet resultSet, TableDto table) throws SQLException {
+        final String type = resultSet.getString(2);
+        final String name = resultSet.getString(3);
+        final String columnName = resultSet.getString(4);
+        final Optional<ColumnDto> optional = table.getColumns().stream()
+                .filter(c -> c.getInternalName().equals(columnName))
+                .findFirst();
+        if (optional.isEmpty()) {
+            log.error("Failed to find table column: {}", columnName);
+            throw new IllegalArgumentException("Failed to find table column");
+        }
+        final ColumnDto column = optional.get();
+        if (type.equals("UNIQUE")) {
+            final Optional<UniqueDto> optional2 = table.getConstraints().getUniques().stream().filter(u -> u.getName().equals(name)).findFirst();
+            if (optional2.isPresent()) {
+                optional2.get()
+                        .getColumns()
+                        .add(column);
+                return table;
             }
-            log.trace("mapped result set to column {}", column);
-            columns.add(column);
+            table.getConstraints()
+                    .getUniques()
+                    .add(UniqueDto.builder()
+                            .name(name)
+                            .columns(new LinkedList<>(List.of(column)))
+                            .build());
+            return table;
+        }
+        return table;
+    }
+
+    TableBriefDto tableDtoToTableBriefDto(TableDto data);
+
+    default TableDto resultSetToTable(ResultSet resultSet, TableDto table, QueryConfig queryConfig) throws SQLException {
+        final ColumnDto column = ColumnDto.builder()
+                .ordinalPosition(resultSet.getInt(1) - 1) /* start at zero */
+                .autoGenerated(resultSet.getString(2) != null && resultSet.getString(2).startsWith("nextval"))
+                .isNullAllowed(resultSet.getString(3).equals("YES"))
+                .columnType(ColumnTypeDto.valueOf(resultSet.getString(4).toUpperCase()))
+                .d(resultSet.getString(7) != null ? resultSet.getLong(7) : null)
+                .name(resultSet.getString(10))
+                .internalName(resultSet.getString(10))
+                .table(table)
+                .tableId(table.getId())
+                .databaseId(table.getTdbid())
+                .description(resultSet.getString(11))
+                .build();
+        /* constraints */
+        if (resultSet.getString(9) != null && resultSet.getString(9).equals("PRI")) {
+            table.getConstraints().getPrimaryKey().add(PrimaryKeyDto.builder()
+                    .table(tableDtoToTableBriefDto(table))
+                    .column(column)
+                    .build());
+        }
+        /* fix boolean and set size for others */
+        if (resultSet.getString(8).equalsIgnoreCase("tinyint(1)")) {
+            column.setColumnType(ColumnTypeDto.BOOL);
+        } else if (resultSet.getString(5) != null) {
+            column.setSize(resultSet.getLong(5));
+        } else if (resultSet.getString(6) != null) {
+            column.setSize(resultSet.getLong(6));
+        }
+        if (column.getColumnType().equals(ColumnTypeDto.TIMESTAMP) || column.getColumnType().equals(ColumnTypeDto.DATETIME)) {
+            column.setDateFormat(ImageDateDto.builder()
+                    .id(queryConfig.getDefaultTimestampFormatId())
+                    .build());
+        } else if (column.getColumnType().equals(ColumnTypeDto.DATE)) {
+            column.setDateFormat(ImageDateDto.builder()
+                    .id(queryConfig.getDefaultDateFormatId())
+                    .build());
+        } else if (column.getColumnType().equals(ColumnTypeDto.TIME)) {
+            column.setDateFormat(ImageDateDto.builder()
+                    .id(queryConfig.getDefaultTimeFormatId())
+                    .build());
         }
-        table.setColumns(columns);
+        table.getColumns()
+                .add(column);
         return table;
     }
 
+    default ViewDto resultSetToTable(ResultSet resultSet, ViewDto view, QueryConfig queryConfig) throws SQLException {
+        final ViewColumnDto column = ViewColumnDto.builder()
+                .ordinalPosition(resultSet.getInt(1) - 1) /* start at zero */
+                .autoGenerated(resultSet.getString(2) != null && resultSet.getString(2).startsWith("nextval"))
+                .isNullAllowed(resultSet.getString(3).equals("YES"))
+                .columnType(ColumnTypeDto.valueOf(resultSet.getString(4).toUpperCase()))
+                .d(resultSet.getString(7) != null ? resultSet.getLong(7) : null)
+                .name(resultSet.getString(10))
+                .internalName(resultSet.getString(10))
+                .databaseId(view.getDatabase().getId())
+                .build();
+        /* fix boolean and set size for others */
+        if (resultSet.getString(8).equalsIgnoreCase("tinyint(1)")) {
+            column.setColumnType(ColumnTypeDto.BOOL);
+        } else if (resultSet.getString(5) != null) {
+            column.setSize(resultSet.getLong(5));
+        } else if (resultSet.getString(6) != null) {
+            column.setSize(resultSet.getLong(6));
+        }
+        if (column.getColumnType().equals(ColumnTypeDto.TIMESTAMP) || column.getColumnType().equals(ColumnTypeDto.DATETIME)) {
+            column.setDateFormat(ImageDateDto.builder()
+                    .id(queryConfig.getDefaultTimestampFormatId())
+                    .build());
+        } else if (column.getColumnType().equals(ColumnTypeDto.DATE)) {
+            column.setDateFormat(ImageDateDto.builder()
+                    .id(queryConfig.getDefaultDateFormatId())
+                    .build());
+        } else if (column.getColumnType().equals(ColumnTypeDto.TIME)) {
+            column.setDateFormat(ImageDateDto.builder()
+                    .id(queryConfig.getDefaultTimeFormatId())
+                    .build());
+        }
+        view.getColumns()
+                .add(column);
+        return view;
+    }
+
     default List<TableHistoryDto> resultSetToTableHistory(ResultSet resultSet) throws SQLException {
         /* columns */
         final List<TableHistoryDto> history = new LinkedList<>();
@@ -507,7 +679,7 @@ public interface MariaDbMapper {
     }
 
     default String datasetToRawInsertQuery(String databaseName, PrivilegedTableDto table, ImportCsvDto data) {
-        final StringBuilder statement = new StringBuilder("LOAD DATA INFILE '/tmp/")
+        final StringBuilder statement = new StringBuilder("LOAD DATA INFILE '")
                 .append(data.getLocation())
                 .append("' REPLACE INTO TABLE `")
                 .append(databaseName)
@@ -672,7 +844,7 @@ public interface MariaDbMapper {
 
     default void columnToDateSet(ImportCsvDto data, ColumnDto column, StringBuilder set) {
         log.trace("mapping column to date set");
-        set.append(set.length() != 0 ? ", " : "")
+        set.append(!set.isEmpty() ? ", " : "")
                 .append("`")
                 .append(column.getInternalName())
                 .append("` = STR_TO_DATE(");
@@ -702,7 +874,7 @@ public interface MariaDbMapper {
 
     default void columnToBoolSet(ImportCsvDto data, ColumnDto column, StringBuilder set) {
         log.trace("mapping column to bool set, data={}, column={}, set=(generated)", data, column);
-        set.append(set.length() != 0 ? ", " : "")
+        set.append(!set.isEmpty() ? ", " : "")
                 .append("`")
                 .append(column.getInternalName())
                 .append("` = ");
@@ -1021,22 +1193,28 @@ public interface MariaDbMapper {
         throw new IllegalArgumentException("Column type not known");
     }
 
+    /**
+     * Parse columns from a SQL statement of a known database.
+     * @param database The database.
+     * @param query The SQL statement.
+     * @return The list of columns.
+     * @throws JSQLParserException The table/view or column was not found in the database.
+     */
     default List<ColumnDto> parseColumns(DatabaseDto database, String query) throws JSQLParserException {
         final List<ColumnDto> columns = new ArrayList<>();
         final CCJSqlParserManager parserRealSql = new CCJSqlParserManager();
         final net.sf.jsqlparser.statement.Statement statement = parserRealSql.parse(new StringReader(query));
-        log.debug("parse columns from query: {}", query);
+        log.trace("parse columns from query: {}", query);
         /* bi-directional mapping */
         database.getTables()
                 .forEach(table -> table.getColumns()
                         .forEach(column -> column.setTable(table)));
         /* check */
-        if (!(statement instanceof Select)) {
+        if (!(statement instanceof Select selectStatement)) {
             log.error("Query attempts to update the dataset, not a SELECT statement");
             throw new JSQLParserException("Query attempts to update the dataset");
         }
         /* start parsing */
-        final Select selectStatement = (Select) statement;
         final PlainSelect ps = (PlainSelect) selectStatement.getSelectBody();
         final List<SelectItem> clauses = ps.getSelectItems();
         log.trace("columns referenced in the from-clause: {}", clauses);
@@ -1053,7 +1231,8 @@ public interface MariaDbMapper {
         final List<ColumnDto> allColumns = Stream.of(database.getViews()
                                 .stream()
                                 .map(ViewDto::getColumns)
-                                .flatMap(List::stream),
+                                .flatMap(List::stream)
+                                .map(this::viewColumnDtoToColumnDto),
                         database.getTables()
                                 .stream()
                                 .map(TableDto::getColumns)
@@ -1061,8 +1240,6 @@ public interface MariaDbMapper {
                 .flatMap(i -> i)
                 .toList();
         log.trace("columns referenced in the from-clause and join-clause(s): {}", clauses);
-        /* Checking if all tables or views exist */
-        log.trace("table/view/join referenced in the statement: {}", fromItems.stream().map(this::fromItemToFromItems).flatMap(List::stream).collect(Collectors.toList()));
         /* Checking if all columns exist */
         for (SelectItem clause : clauses) {
             final SelectExpressionItem item = (SelectExpressionItem) clause;
@@ -1099,6 +1276,9 @@ public interface MariaDbMapper {
             if (item.getAlias() != null) {
                 resultColumn.setAlias(item.getAlias().getName().replace("`", ""));
             }
+            resultColumn.setDatabaseId(database.getId());
+            resultColumn.setTable(resultColumn.getTable());
+            resultColumn.setTableId(resultColumn.getTable().getId());
             log.trace("found column with internal name {} and alias {}", resultColumn.getInternalName(), resultColumn.getAlias());
             columns.add(resultColumn);
         }
@@ -1142,11 +1322,11 @@ public interface MariaDbMapper {
         return found;
     }
 
-    default List<FromItem> fromItemToFromItems(FromItem data) {
+    default List<FromItem> fromItemToFromItems(FromItem data) throws JSQLParserException {
         return fromItemToFromItems(data, 0);
     }
 
-    default List<FromItem> fromItemToFromItems(FromItem data, Integer level) {
+    default List<FromItem> fromItemToFromItems(FromItem data, Integer level) throws JSQLParserException {
         final List<FromItem> fromItems = new LinkedList<>();
         if (data instanceof net.sf.jsqlparser.schema.Table table) {
             fromItems.add(data);
@@ -1156,9 +1336,19 @@ public interface MariaDbMapper {
         if (data instanceof SubJoin subJoin) {
             log.trace("from-item is of type sub-join: level ~> {}", level);
             for (Join join : subJoin.getJoinList()) {
-                fromItems.addAll(fromItemToFromItems(join.getRightItem(), level + 1));
+                final List<FromItem> tmp = fromItemToFromItems(join.getRightItem(), level + 1);
+                if (tmp == null) {
+                    log.error("Failed to find right sub-join table: {}", join.getRightItem());
+                    throw new JSQLParserException("Failed to find right sub-join table");
+                }
+                fromItems.addAll(tmp);
+            }
+            final List<FromItem> tmp = fromItemToFromItems(subJoin.getLeft(), level + 1);
+            if (tmp == null) {
+                log.error("Failed to find left sub-join table: {}", subJoin.getLeft());
+                throw new JSQLParserException("Failed to find left sub-join table");
             }
-            fromItems.addAll(fromItemToFromItems(((SubJoin) data).getLeft(), level + 1));
+            fromItems.addAll(tmp);
             return fromItems;
         }
         log.warn("unknown from-item {}", data);
diff --git a/dbrepo-data-service/services/src/main/java/at/tuwien/mapper/MetadataMapper.java b/dbrepo-data-service/services/src/main/java/at/tuwien/mapper/MetadataMapper.java
index c4de9ec6df..67633ba175 100644
--- a/dbrepo-data-service/services/src/main/java/at/tuwien/mapper/MetadataMapper.java
+++ b/dbrepo-data-service/services/src/main/java/at/tuwien/mapper/MetadataMapper.java
@@ -4,10 +4,13 @@ import at.tuwien.api.container.ContainerDto;
 import at.tuwien.api.container.image.ImageDto;
 import at.tuwien.api.container.internal.PrivilegedContainerDto;
 import at.tuwien.api.database.DatabaseDto;
+import at.tuwien.api.database.ViewColumnDto;
 import at.tuwien.api.database.ViewDto;
 import at.tuwien.api.database.internal.PrivilegedDatabaseDto;
 import at.tuwien.api.database.internal.PrivilegedViewDto;
+import at.tuwien.api.database.table.TableBriefDto;
 import at.tuwien.api.database.table.TableDto;
+import at.tuwien.api.database.table.columns.ColumnDto;
 import at.tuwien.api.database.table.internal.PrivilegedTableDto;
 import org.mapstruct.Mapper;
 import org.mapstruct.Mapping;
@@ -24,6 +27,13 @@ public interface MetadataMapper {
 
     TableDto privilegedTableDtoToTableDto(PrivilegedTableDto data);
 
+    ColumnDto viewColumnDtoToColumnDto(ViewColumnDto data);
+
+    ViewColumnDto columnDtoToViewColumnDto(ColumnDto data);
+
+    /* keep */
+    TableBriefDto tableDtoToTableBriefDto(TableDto data);
+
     @Mappings({
             @Mapping(target = "database", expression = "java(PrivilegedDatabaseDto.builder().container(PrivilegedContainerDto.builder().image(new ImageDto()).build()).build())")
     })
diff --git a/dbrepo-data-service/services/src/main/java/at/tuwien/service/DatabaseService.java b/dbrepo-data-service/services/src/main/java/at/tuwien/service/DatabaseService.java
index 92c46b64ce..6c99910e67 100644
--- a/dbrepo-data-service/services/src/main/java/at/tuwien/service/DatabaseService.java
+++ b/dbrepo-data-service/services/src/main/java/at/tuwien/service/DatabaseService.java
@@ -1,10 +1,11 @@
 package at.tuwien.service;
 
 import at.tuwien.api.container.internal.PrivilegedContainerDto;
+import at.tuwien.api.database.DatabaseDto;
 import at.tuwien.api.database.internal.CreateDatabaseDto;
 import at.tuwien.api.database.internal.PrivilegedDatabaseDto;
 import at.tuwien.api.user.internal.UpdateUserPasswordDto;
-import at.tuwien.exception.DatabaseMalformedException;
+import at.tuwien.exception.*;
 
 import java.sql.SQLException;
 
diff --git a/dbrepo-data-service/services/src/main/java/at/tuwien/service/SchemaService.java b/dbrepo-data-service/services/src/main/java/at/tuwien/service/SchemaService.java
index eb5428b261..2319d16b39 100644
--- a/dbrepo-data-service/services/src/main/java/at/tuwien/service/SchemaService.java
+++ b/dbrepo-data-service/services/src/main/java/at/tuwien/service/SchemaService.java
@@ -1,13 +1,16 @@
 package at.tuwien.service;
 
+import at.tuwien.api.database.ViewDto;
 import at.tuwien.api.database.internal.PrivilegedDatabaseDto;
 import at.tuwien.api.database.table.TableDto;
-import at.tuwien.exception.QueryMalformedException;
+import at.tuwien.exception.*;
 
 import java.sql.SQLException;
 
 public interface SchemaService {
 
-    TableDto obtainTableMetadata(PrivilegedDatabaseDto database, String tableName) throws SQLException,
-            QueryMalformedException;
+    TableDto inspectTable(PrivilegedDatabaseDto database, String tableName) throws SQLException,
+            QueryMalformedException, TableNotFoundException;
+
+    ViewDto inspectView(PrivilegedDatabaseDto database, String viewName) throws SQLException, ViewMalformedException, ViewNotFoundException, ViewSchemaException;
 }
diff --git a/dbrepo-data-service/services/src/main/java/at/tuwien/service/TableService.java b/dbrepo-data-service/services/src/main/java/at/tuwien/service/TableService.java
index 66bdd3fb1d..b8d2f39390 100644
--- a/dbrepo-data-service/services/src/main/java/at/tuwien/service/TableService.java
+++ b/dbrepo-data-service/services/src/main/java/at/tuwien/service/TableService.java
@@ -14,8 +14,13 @@ import java.time.Instant;
 import java.util.List;
 
 public interface TableService {
-    void createTable(PrivilegedDatabaseDto database, TableCreateDto data) throws SQLException,
-            TableMalformedException, TableExistsException;
+
+    List<TableDto> getSchemas(PrivilegedDatabaseDto database) throws SQLException, TableNotFoundException, QueryMalformedException, DatabaseMalformedException;
+
+    TableDto find(PrivilegedDatabaseDto database, String tableName) throws TableNotFoundException, SQLException, QueryMalformedException;
+
+    TableDto createTable(PrivilegedDatabaseDto database, TableCreateDto data) throws SQLException,
+            TableMalformedException, TableExistsException, TableNotFoundException, QueryMalformedException;
 
     void delete(PrivilegedTableDto table) throws SQLException, QueryMalformedException;
 
diff --git a/dbrepo-data-service/services/src/main/java/at/tuwien/service/ViewService.java b/dbrepo-data-service/services/src/main/java/at/tuwien/service/ViewService.java
index e8ac39f901..4dcd96ed53 100644
--- a/dbrepo-data-service/services/src/main/java/at/tuwien/service/ViewService.java
+++ b/dbrepo-data-service/services/src/main/java/at/tuwien/service/ViewService.java
@@ -10,9 +10,23 @@ import at.tuwien.exception.*;
 
 import java.sql.SQLException;
 import java.time.Instant;
+import java.util.List;
 
 public interface ViewService {
 
+    /**
+     *
+     * @param database
+     * @return The list of view metadata.
+     * @throws SQLException
+     * @throws DatabaseMalformedException
+     * @throws ViewMalformedException
+     * @throws ViewNotFoundException
+     * @throws ViewSchemaException
+     */
+    List<ViewDto> getSchemas(PrivilegedDatabaseDto database) throws SQLException, DatabaseMalformedException,
+            ViewMalformedException, ViewNotFoundException, ViewSchemaException;
+
     /**
      * Creates a view in the given data database.
      *
@@ -21,7 +35,7 @@ public interface ViewService {
      * @throws SQLException           The connection to the data database was unsuccessful.
      * @throws ViewMalformedException The query is malformed and was rejected by the data database.
      */
-    void create(PrivilegedDatabaseDto database, ViewCreateDto data) throws SQLException,
+    ViewDto create(PrivilegedDatabaseDto database, ViewCreateDto data) throws SQLException,
             ViewMalformedException;
 
     /**
diff --git a/dbrepo-data-service/services/src/main/java/at/tuwien/service/impl/DatabaseServiceMariaDbImpl.java b/dbrepo-data-service/services/src/main/java/at/tuwien/service/impl/DatabaseServiceMariaDbImpl.java
index 632015d025..7bd233371e 100644
--- a/dbrepo-data-service/services/src/main/java/at/tuwien/service/impl/DatabaseServiceMariaDbImpl.java
+++ b/dbrepo-data-service/services/src/main/java/at/tuwien/service/impl/DatabaseServiceMariaDbImpl.java
@@ -1,19 +1,27 @@
 package at.tuwien.service.impl;
 
 import at.tuwien.api.container.internal.PrivilegedContainerDto;
+import at.tuwien.api.database.DatabaseDto;
+import at.tuwien.api.database.ViewDto;
 import at.tuwien.api.database.internal.CreateDatabaseDto;
 import at.tuwien.api.database.internal.PrivilegedDatabaseDto;
+import at.tuwien.api.database.table.TableDto;
 import at.tuwien.api.user.UserDto;
 import at.tuwien.api.user.internal.UpdateUserPasswordDto;
 import at.tuwien.config.RabbitConfig;
-import at.tuwien.exception.DatabaseMalformedException;
+import at.tuwien.exception.*;
+import at.tuwien.mapper.MariaDbMapper;
+import at.tuwien.mapper.MetadataMapper;
 import at.tuwien.service.DatabaseService;
+import at.tuwien.service.SchemaService;
 import com.mchange.v2.c3p0.ComboPooledDataSource;
 import lombok.extern.log4j.Log4j2;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.sql.Connection;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
 import java.sql.SQLException;
 
 @Log4j2
diff --git a/dbrepo-data-service/services/src/main/java/at/tuwien/service/impl/HibernateConnector.java b/dbrepo-data-service/services/src/main/java/at/tuwien/service/impl/HibernateConnector.java
index 83222dfe44..6a583b274a 100644
--- a/dbrepo-data-service/services/src/main/java/at/tuwien/service/impl/HibernateConnector.java
+++ b/dbrepo-data-service/services/src/main/java/at/tuwien/service/impl/HibernateConnector.java
@@ -42,7 +42,6 @@ public abstract class HibernateConnector {
                     .append("?currentSchema=")
                     .append(databaseName);
         }
-        log.debug("connecting via jdbc, url={}", stringBuilder);
         return stringBuilder.toString();
     }
 
diff --git a/dbrepo-data-service/services/src/main/java/at/tuwien/service/impl/QueueServiceRabbitMqImpl.java b/dbrepo-data-service/services/src/main/java/at/tuwien/service/impl/QueueServiceRabbitMqImpl.java
index fe733a22aa..fd7966e0be 100644
--- a/dbrepo-data-service/services/src/main/java/at/tuwien/service/impl/QueueServiceRabbitMqImpl.java
+++ b/dbrepo-data-service/services/src/main/java/at/tuwien/service/impl/QueueServiceRabbitMqImpl.java
@@ -9,7 +9,6 @@ import com.mchange.v2.c3p0.ComboPooledDataSource;
 import lombok.extern.log4j.Log4j2;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
 
 import java.sql.Connection;
 import java.sql.PreparedStatement;
@@ -31,7 +30,6 @@ public class QueueServiceRabbitMqImpl extends HibernateConnector implements Queu
     }
 
     @Override
-    @Transactional(readOnly = true)
     public void insert(PrivilegedTableDto table, Map<String, Object> data) throws SQLException {
         final ComboPooledDataSource dataSource = getPrivilegedDataSource(table.getDatabase());
         final Connection connection = dataSource.getConnection();
diff --git a/dbrepo-data-service/services/src/main/java/at/tuwien/service/impl/SchemaServiceMariaDbImpl.java b/dbrepo-data-service/services/src/main/java/at/tuwien/service/impl/SchemaServiceMariaDbImpl.java
index 9cd87fafc8..c2c53c7830 100644
--- a/dbrepo-data-service/services/src/main/java/at/tuwien/service/impl/SchemaServiceMariaDbImpl.java
+++ b/dbrepo-data-service/services/src/main/java/at/tuwien/service/impl/SchemaServiceMariaDbImpl.java
@@ -1,8 +1,17 @@
 package at.tuwien.service.impl;
 
+import at.tuwien.api.database.DatabaseDto;
+import at.tuwien.api.database.ViewColumnDto;
+import at.tuwien.api.database.ViewDto;
 import at.tuwien.api.database.internal.PrivilegedDatabaseDto;
 import at.tuwien.api.database.table.TableDto;
-import at.tuwien.exception.QueryMalformedException;
+import at.tuwien.api.database.table.columns.ColumnDto;
+import at.tuwien.api.database.table.constraints.unique.UniqueDto;
+import at.tuwien.config.QueryConfig;
+import at.tuwien.exception.TableNotFoundException;
+import at.tuwien.exception.ViewMalformedException;
+import at.tuwien.exception.ViewNotFoundException;
+import at.tuwien.exception.ViewSchemaException;
 import at.tuwien.mapper.MariaDbMapper;
 import at.tuwien.mapper.MetadataMapper;
 import at.tuwien.service.SchemaService;
@@ -13,45 +22,144 @@ import org.springframework.stereotype.Service;
 
 import java.sql.Connection;
 import java.sql.PreparedStatement;
+import java.sql.ResultSet;
 import java.sql.SQLException;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Optional;
 
 @Log4j2
 @Service
 public class SchemaServiceMariaDbImpl extends HibernateConnector implements SchemaService {
 
+    private final QueryConfig queryConfig;
     private final MariaDbMapper mariaDbMapper;
     private final MetadataMapper metadataMapper;
 
     @Autowired
-    public SchemaServiceMariaDbImpl(MariaDbMapper mariaDbMapper, MetadataMapper metadataMapper) {
+    public SchemaServiceMariaDbImpl(QueryConfig queryConfig, MariaDbMapper mariaDbMapper,
+                                    MetadataMapper metadataMapper) {
+        this.queryConfig = queryConfig;
         this.mariaDbMapper = mariaDbMapper;
         this.metadataMapper = metadataMapper;
     }
 
     @Override
-    public TableDto obtainTableMetadata(PrivilegedDatabaseDto database, String tableName) throws SQLException,
-            QueryMalformedException {
+    public TableDto inspectTable(PrivilegedDatabaseDto database, String tableName) throws SQLException,
+            TableNotFoundException {
+        log.trace("inspecting table: {}.{}", database.getInternalName(), tableName);
         final ComboPooledDataSource dataSource = getPrivilegedDataSource(database);
         final Connection connection = dataSource.getConnection();
-        TableDto table;
         try {
-            /* obtain basic table metadata */
-            connection.commit();
-            final PreparedStatement basicMetadataStatement = connection.prepareStatement("SELECT t.`TABLE_NAME`, t.`TABLE_TYPE`, t.`TABLE_ROWS`, t.`AVG_ROW_LENGTH`, t.`DATA_LENGTH`, t.`MAX_DATA_LENGTH`, COALESCE(t.`CREATE_TIME`, NOW()) as `CREATE_TIME`, t.`UPDATE_TIME`, v.`VIEW_DEFINITION` FROM information_schema.TABLES t LEFT JOIN information_schema.VIEWS v ON t.`TABLE_NAME` = v.`TABLE_NAME` WHERE t.`TABLE_SCHEMA` = ? AND t.`TABLE_TYPE` IN ('BASE TABLE', 'SYSTEM VERSIONED', 'VIEW') AND t.`TABLE_NAME` = ?");
-            basicMetadataStatement.setString(1, database.getInternalName());
-            basicMetadataStatement.setString(2, tableName);
-            final TableDto tmp = mariaDbMapper.resultSetToTable(metadataMapper.privilegedDatabaseDtoToDatabaseDto(database), basicMetadataStatement.getResultSet());
-            /* obtain table constraints metadata */
-            final PreparedStatement constraintMetadataStatement = connection.prepareStatement("SELECT `ORDINAL_POSITION`, `COLUMN_DEFAULT`, `IS_NULLABLE`, `DATA_TYPE`, `CHARACTER_MAXIMUM_LENGTH`, `NUMERIC_PRECISION`, `NUMERIC_SCALE`, `COLUMN_TYPE`, `COLUMN_KEY`, `COLUMN_NAME` FROM `information_schema`.`COLUMNS` WHERE `TABLE_SCHEMA` = ? AND `TABLE_NAME` = ?;");
-            constraintMetadataStatement.setString(1, database.getInternalName());
-            constraintMetadataStatement.setString(2, tableName);
-            table = mariaDbMapper.resultSetToTable(constraintMetadataStatement.getResultSet(), tmp,
-                    database.getContainer().getDefaultDateFormat(), database.getContainer().getDefaultTimestampFormat());
+            /* obtain only table metadata */
+            final PreparedStatement statement1 = connection.prepareStatement(mariaDbMapper.databaseTableSelectRawQuery());
+            statement1.setString(1, database.getInternalName());
+            statement1.setString(2, tableName);
+            log.trace("1={}, 2={}", database.getInternalName(), tableName);
+            TableDto table = mariaDbMapper.schemaResultSetToTable(metadataMapper.privilegedDatabaseDtoToDatabaseDto(database), statement1.executeQuery());
+            /* obtain columns metadata */
+            final PreparedStatement statement2 = connection.prepareStatement(mariaDbMapper.databaseTableColumnsSelectRawQuery());
+            statement2.setString(1, database.getInternalName());
+            statement2.setString(2, tableName);
+            log.trace("1={}, 2={}", database.getInternalName(), tableName);
+            final ResultSet resultSet2 = statement2.executeQuery();
+            while (resultSet2.next()) {
+                table = mariaDbMapper.resultSetToTable(resultSet2, table, queryConfig);
+            }
+            /* obtain check constraints metadata */
+            final PreparedStatement statement3 = connection.prepareStatement(mariaDbMapper.columnsCheckConstraintSelectRawQuery());
+            statement3.setString(1, database.getInternalName());
+            statement3.setString(2, tableName);
+            log.trace("1={}, 2={}", database.getInternalName(), tableName);
+            final ResultSet resultSet3 = statement3.executeQuery();
+            while (resultSet3.next()) {
+                final String clause = resultSet3.getString(1);
+                table.getConstraints()
+                        .getChecks()
+                        .add(clause);
+                log.trace("found check clause: {}", clause);
+            }
+            /* obtain column constraints metadata */
+            final PreparedStatement statement4 = connection.prepareStatement(mariaDbMapper.databaseTableConstraintsSelectRawQuery());
+            statement4.setString(1, database.getInternalName());
+            statement4.setString(2, tableName);
+            log.trace("1={}, 2={}", database.getInternalName(), tableName);
+            final ResultSet resultSet4 = statement4.executeQuery();
+            while (resultSet4.next()) {
+                table = mariaDbMapper.resultSetToConstraint(resultSet4, table);
+                for (UniqueDto uk : table.getConstraints().getUniques()) {
+                    uk.setTable(metadataMapper.tableDtoToTableBriefDto(table));
+                    final TableDto tmpTable = table;
+                    uk.getColumns()
+                            .forEach(column -> {
+                                column.setTable(tmpTable);
+                                column.setTableId(tmpTable.getId());
+                                column.setDatabaseId(database.getId());
+                                column.setIsPublic(database.getIsPublic());
+                            });
+                }
+            }
+            table.setTdbid(database.getId());
+            table.setCreator(database.getCreator());
+            table.setCreatedBy(database.getCreator().getId());
+            final TableDto tmpTable = table;
+            tmpTable.getColumns()
+                    .forEach(column -> {
+                        column.setTable(tmpTable);
+                        column.setTableId(tmpTable.getId());
+                        column.setDatabaseId(database.getId());
+                    });
+            log.debug("obtained metadata for table {}.{}", database.getInternalName(), tableName);
+            return tmpTable;
+        } finally {
+            dataSource.close();
+        }
+    }
+
+    @Override
+    public ViewDto inspectView(PrivilegedDatabaseDto privilegedDatabase, String viewName) throws SQLException,
+            ViewNotFoundException {
+        final ComboPooledDataSource dataSource = getPrivilegedDataSource(privilegedDatabase);
+        final Connection connection = dataSource.getConnection();
+        final DatabaseDto database = metadataMapper.privilegedDatabaseDtoToDatabaseDto(privilegedDatabase);
+        try {
+            /* obtain only view metadata */
+            final PreparedStatement statement1 = connection.prepareStatement(mariaDbMapper.databaseViewSelectRawQuery());
+            statement1.setString(1, database.getInternalName());
+            statement1.setString(2, viewName);
+            log.trace("1={}, 2={}", database.getInternalName(), viewName);
+            final ResultSet resultSet1 = statement1.executeQuery();
+            if (!resultSet1.next()) {
+                throw new ViewNotFoundException("Failed to find view in the information schema");
+            }
+            ViewDto view = mariaDbMapper.schemaResultSetToView(metadataMapper.privilegedDatabaseDtoToDatabaseDto(privilegedDatabase), resultSet1);
+            view.setDatabase(database);
+            view.setVdbid(database.getId());
+            view.setCreator(database.getCreator());
+            view.setCreatedBy(database.getCreator().getId());
+            /* obtain view columns */
+            final PreparedStatement statement2 = connection.prepareStatement(mariaDbMapper.databaseTableColumnsSelectRawQuery());
+            statement2.setString(1, database.getInternalName());
+            statement2.setString(2, viewName);
+            log.trace("1={}, 2={}", database.getInternalName(), viewName);
+            final ResultSet resultSet2 = statement2.executeQuery();
+            TableDto tmp = TableDto.builder()
+                    .columns(new LinkedList<>())
+                    .build();
+            while (resultSet2.next()) {
+                tmp = mariaDbMapper.resultSetToTable(resultSet2, tmp, queryConfig);
+            }
+            view.setColumns(tmp.getColumns()
+                    .stream()
+                    .map(metadataMapper::columnDtoToViewColumnDto)
+                    .toList());
+            view.getColumns()
+                    .forEach(column -> column.setDatabaseId(database.getId()));
+            log.debug("obtained metadata for view {}.{}", database.getInternalName(), viewName);
+            return view;
         } finally {
             dataSource.close();
         }
-        log.info("Obtained table metadata for table {}{}", database.getInternalName(), tableName);
-        return table;
     }
 
 }
diff --git a/dbrepo-data-service/services/src/main/java/at/tuwien/service/impl/SubsetServiceMariaDbImpl.java b/dbrepo-data-service/services/src/main/java/at/tuwien/service/impl/SubsetServiceMariaDbImpl.java
index 4df35be00b..57d7472dde 100644
--- a/dbrepo-data-service/services/src/main/java/at/tuwien/service/impl/SubsetServiceMariaDbImpl.java
+++ b/dbrepo-data-service/services/src/main/java/at/tuwien/service/impl/SubsetServiceMariaDbImpl.java
@@ -10,6 +10,7 @@ import at.tuwien.api.database.table.columns.ColumnDto;
 import at.tuwien.api.identifier.IdentifierDto;
 import at.tuwien.api.identifier.IdentifierTypeDto;
 import at.tuwien.api.user.UserDto;
+import at.tuwien.config.S3Config;
 import at.tuwien.exception.*;
 import at.tuwien.gateway.DataDatabaseSidecarGateway;
 import at.tuwien.gateway.MetadataServiceGateway;
@@ -33,6 +34,7 @@ import java.util.UUID;
 @Service
 public class SubsetServiceMariaDbImpl extends HibernateConnector implements SubsetService {
 
+    private final S3Config s3Config;
     private final MariaDbMapper mariaDbMapper;
     private final MetadataMapper metadataMapper;
     private final StorageService storageService;
@@ -40,9 +42,10 @@ public class SubsetServiceMariaDbImpl extends HibernateConnector implements Subs
     private final DataDatabaseSidecarGateway dataDatabaseSidecarGateway;
 
     @Autowired
-    public SubsetServiceMariaDbImpl(MariaDbMapper mariaDbMapper, MetadataMapper metadataMapper,
+    public SubsetServiceMariaDbImpl(S3Config s3Config, MariaDbMapper mariaDbMapper, MetadataMapper metadataMapper,
                                     StorageService storageService, MetadataServiceGateway metadataServiceGateway,
                                     DataDatabaseSidecarGateway dataDatabaseSidecarGateway) {
+        this.s3Config = s3Config;
         this.mariaDbMapper = mariaDbMapper;
         this.metadataMapper = metadataMapper;
         this.storageService = storageService;
@@ -146,11 +149,12 @@ public class SubsetServiceMariaDbImpl extends HibernateConnector implements Subs
     public ExportResourceDto export(PrivilegedDatabaseDto database, QueryDto query, Instant timestamp, String filename)
             throws SQLException, QueryMalformedException, SidecarExportException, StorageNotFoundException,
             StorageUnavailableException {
+        final String filePath = s3Config.getS3FilePath() + "/" + filename;
         final ComboPooledDataSource dataSource = getPrivilegedDataSource(database);
         final Connection connection = dataSource.getConnection();
         try {
             /* export to data database sidecar */
-            connection.prepareStatement(mariaDbMapper.subsetToRawExportQuery(query.getQuery(), timestamp, filename))
+            connection.prepareStatement(mariaDbMapper.subsetToRawExportQuery(query.getQuery(), timestamp, filePath))
                     .executeUpdate();
             connection.commit();
         } catch (SQLException e) {
diff --git a/dbrepo-data-service/services/src/main/java/at/tuwien/service/impl/TableServiceMariaDbImpl.java b/dbrepo-data-service/services/src/main/java/at/tuwien/service/impl/TableServiceMariaDbImpl.java
index 32eaaf9533..92e369e0af 100644
--- a/dbrepo-data-service/services/src/main/java/at/tuwien/service/impl/TableServiceMariaDbImpl.java
+++ b/dbrepo-data-service/services/src/main/java/at/tuwien/service/impl/TableServiceMariaDbImpl.java
@@ -9,9 +9,11 @@ import at.tuwien.api.database.table.columns.ColumnDto;
 import at.tuwien.api.database.table.columns.ColumnTypeDto;
 import at.tuwien.api.database.table.internal.PrivilegedTableDto;
 import at.tuwien.api.database.table.internal.TableCreateDto;
+import at.tuwien.config.S3Config;
 import at.tuwien.exception.*;
 import at.tuwien.gateway.DataDatabaseSidecarGateway;
 import at.tuwien.mapper.MariaDbMapper;
+import at.tuwien.service.SchemaService;
 import at.tuwien.service.StorageService;
 import at.tuwien.service.TableService;
 import com.mchange.v2.c3p0.ComboPooledDataSource;
@@ -28,21 +30,64 @@ import java.util.*;
 @Service
 public class TableServiceMariaDbImpl extends HibernateConnector implements TableService {
 
+    private final S3Config s3Config;
     private final MariaDbMapper mariaDbMapper;
+    private final SchemaService schemaService;
     private final StorageService storageService;
     private final DataDatabaseSidecarGateway dataDatabaseSidecarGateway;
 
     @Autowired
-    public TableServiceMariaDbImpl(MariaDbMapper mariaDbMapper, StorageService storageService,
+    public TableServiceMariaDbImpl(S3Config s3Config, MariaDbMapper mariaDbMapper, SchemaService schemaService,
+                                   StorageService storageService,
                                    DataDatabaseSidecarGateway dataDatabaseSidecarGateway) {
+        this.s3Config = s3Config;
         this.mariaDbMapper = mariaDbMapper;
+        this.schemaService = schemaService;
         this.storageService = storageService;
         this.dataDatabaseSidecarGateway = dataDatabaseSidecarGateway;
     }
 
     @Override
-    public void createTable(PrivilegedDatabaseDto database, TableCreateDto data) throws SQLException,
-            TableMalformedException, TableExistsException {
+    public List<TableDto> getSchemas(PrivilegedDatabaseDto database) throws SQLException, TableNotFoundException,
+            QueryMalformedException, DatabaseMalformedException {
+        final ComboPooledDataSource dataSource = getPrivilegedDataSource(database);
+        final Connection connection = dataSource.getConnection();
+        final List<TableDto> tables = new LinkedList<>();
+        try {
+            /* inspect tables before views */
+            final PreparedStatement statement = connection.prepareStatement(mariaDbMapper.databaseTablesSelectRawQuery());
+            statement.setString(1, database.getInternalName());
+            final ResultSet resultSet1 = statement.executeQuery();
+            while (resultSet1.next()) {
+                final String tableName = resultSet1.getString(1);
+                if (database.getTables().stream().anyMatch(t -> t.getInternalName().equals(tableName))) {
+                    log.trace("view {}.{} already known to metadata database, skip.", database.getInternalName(), tableName);
+                    continue;
+                }
+                final TableDto table = schemaService.inspectTable(database, tableName);
+                if (database.getTables().stream().noneMatch(t -> t.getInternalName().equals(table.getInternalName()))) {
+                    tables.add(table);
+                }
+            }
+        } catch (SQLException e) {
+            log.error("Failed to get table schemas: {}", e.getMessage());
+            throw new DatabaseMalformedException("Failed to get table schemas: " + e.getMessage(), e);
+        } finally {
+            dataSource.close();
+        }
+        log.info("Found {} table schema(s)", tables.size());
+        return tables;
+    }
+
+    @Override
+    public TableDto find(PrivilegedDatabaseDto database, String tableName) throws TableNotFoundException, SQLException,
+            QueryMalformedException {
+        return schemaService.inspectTable(database, tableName);
+    }
+
+    @Override
+    public TableDto createTable(PrivilegedDatabaseDto database, TableCreateDto data) throws SQLException,
+            TableMalformedException, TableExistsException, TableNotFoundException, QueryMalformedException {
         final String tableName = mariaDbMapper.nameToInternalName(data.getName());
         final ComboPooledDataSource dataSource = getPrivilegedDataSource(database);
         final Connection connection = dataSource.getConnection();
@@ -69,6 +114,7 @@ public class TableServiceMariaDbImpl extends HibernateConnector implements Table
             dataSource.close();
         }
         log.info("Created table with name {}", tableName);
+        return find(database, tableName);
     }
 
     @Override
@@ -213,6 +259,7 @@ public class TableServiceMariaDbImpl extends HibernateConnector implements Table
         final Connection connection = dataSource.getConnection();
         try {
             /* import tuple */
+            data.setLocation(s3Config.getS3FilePath() + "/" + data.getLocation());
             connection.prepareStatement(mariaDbMapper.datasetToRawInsertQuery(table.getDatabase().getInternalName(), table, data))
                     .execute();
             connection.commit();
@@ -331,13 +378,14 @@ public class TableServiceMariaDbImpl extends HibernateConnector implements Table
     public ExportResourceDto exportDataset(PrivilegedTableDto table, Instant timestamp)
             throws SQLException, SidecarExportException, StorageNotFoundException, StorageUnavailableException,
             QueryMalformedException {
-        final String filename = RandomStringUtils.randomAlphabetic(40) + ".csv";
+        final String fileName = RandomStringUtils.randomAlphabetic(40) + ".csv";
+        final String filePath = s3Config.getS3FilePath() + "/" + fileName;
         final ComboPooledDataSource dataSource = getPrivilegedDataSource(table.getDatabase());
         final Connection connection = dataSource.getConnection();
         try {
             /* export to data database sidecar */
             connection.prepareStatement(mariaDbMapper.tableOrViewToRawExportQuery(table.getDatabase().getInternalName(),
-                            table.getInternalName(), table.getColumns(), timestamp, filename))
+                            table.getInternalName(), table.getColumns(), timestamp, filePath))
                     .executeUpdate();
             connection.commit();
         } catch (SQLException e) {
@@ -347,8 +395,8 @@ public class TableServiceMariaDbImpl extends HibernateConnector implements Table
         } finally {
             dataSource.close();
         }
-        dataDatabaseSidecarGateway.exportFile(table.getDatabase().getContainer().getSidecarHost(), table.getDatabase().getContainer().getSidecarPort(), filename);
-        return storageService.getResource(filename);
+        dataDatabaseSidecarGateway.exportFile(table.getDatabase().getContainer().getSidecarHost(), table.getDatabase().getContainer().getSidecarPort(), fileName);
+        return storageService.getResource(fileName);
     }
 
 }
diff --git a/dbrepo-data-service/services/src/main/java/at/tuwien/service/impl/ViewServiceMariaDbImpl.java b/dbrepo-data-service/services/src/main/java/at/tuwien/service/impl/ViewServiceMariaDbImpl.java
index b0a66dfe0f..b28e2a1dc4 100644
--- a/dbrepo-data-service/services/src/main/java/at/tuwien/service/impl/ViewServiceMariaDbImpl.java
+++ b/dbrepo-data-service/services/src/main/java/at/tuwien/service/impl/ViewServiceMariaDbImpl.java
@@ -6,9 +6,14 @@ import at.tuwien.api.database.ViewDto;
 import at.tuwien.api.database.internal.PrivilegedDatabaseDto;
 import at.tuwien.api.database.internal.PrivilegedViewDto;
 import at.tuwien.api.database.query.QueryResultDto;
+import at.tuwien.api.database.table.columns.ColumnDto;
+import at.tuwien.config.QueryConfig;
+import at.tuwien.config.S3Config;
 import at.tuwien.exception.*;
 import at.tuwien.gateway.DataDatabaseSidecarGateway;
 import at.tuwien.mapper.MariaDbMapper;
+import at.tuwien.mapper.MetadataMapper;
+import at.tuwien.service.SchemaService;
 import at.tuwien.service.StorageService;
 import at.tuwien.service.ViewService;
 import com.mchange.v2.c3p0.ComboPooledDataSource;
@@ -16,38 +21,103 @@ import lombok.extern.log4j.Log4j2;
 import org.apache.commons.lang3.RandomStringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
 
 import java.sql.Connection;
+import java.sql.PreparedStatement;
 import java.sql.ResultSet;
 import java.sql.SQLException;
 import java.time.Instant;
+import java.util.LinkedList;
+import java.util.List;
 
 @Log4j2
 @Service
 public class ViewServiceMariaDbImpl extends HibernateConnector implements ViewService {
 
+    private final S3Config s3Config;
+    private final QueryConfig queryConfig;
     private final MariaDbMapper mariaDbMapper;
+    private final SchemaService schemaService;
     private final StorageService storageService;
+    private final MetadataMapper metadataMapper;
     private final DataDatabaseSidecarGateway dataDatabaseSidecarGateway;
 
     @Autowired
-    public ViewServiceMariaDbImpl(MariaDbMapper mariaDbMapper, StorageService storageService,
+    public ViewServiceMariaDbImpl(S3Config s3Config, QueryConfig queryConfig, MariaDbMapper mariaDbMapper,
+                                  SchemaService schemaService, StorageService storageService,
+                                  MetadataMapper metadataMapper,
                                   DataDatabaseSidecarGateway dataDatabaseSidecarGateway) {
+        this.s3Config = s3Config;
+        this.queryConfig = queryConfig;
         this.mariaDbMapper = mariaDbMapper;
+        this.schemaService = schemaService;
         this.storageService = storageService;
+        this.metadataMapper = metadataMapper;
         this.dataDatabaseSidecarGateway = dataDatabaseSidecarGateway;
     }
 
     @Override
-    public void create(PrivilegedDatabaseDto database, ViewCreateDto data) throws SQLException,
+    public List<ViewDto> getSchemas(PrivilegedDatabaseDto database) throws SQLException, DatabaseMalformedException,
+            ViewMalformedException, ViewNotFoundException, ViewSchemaException {
+        final ComboPooledDataSource dataSource = getPrivilegedDataSource(database);
+        final Connection connection = dataSource.getConnection();
+        final List<ViewDto> views = new LinkedList<>();
+        try {
+            /* inspect tables before views */
+            final PreparedStatement statement = connection.prepareStatement(mariaDbMapper.databaseViewsSelectRawQuery());
+            statement.setString(1, database.getInternalName());
+            final ResultSet resultSet1 = statement.executeQuery();
+            while (resultSet1.next()) {
+                final String viewName = resultSet1.getString(1);
+                if (database.getViews().stream().anyMatch(v -> v.getInternalName().equals(viewName))) {
+                    log.trace("view {}.{} already known to metadata database, skip.", database.getInternalName(), viewName);
+                    continue;
+                }
+                final ViewDto view;
+                view = schemaService.inspectView(database, viewName);
+                if (database.getTables().stream().noneMatch(t -> t.getInternalName().equals(view.getInternalName()))) {
+                    views.add(view);
+                }
+            }
+        } catch (SQLException e) {
+            log.error("Failed to get view schemas: {}", e.getMessage());
+            throw new DatabaseMalformedException("Failed to get view schemas: " + e.getMessage(), e);
+        } finally {
+            dataSource.close();
+        }
+        log.info("Found {} view schema(s)", views.size());
+        return views;
+    }
+
+    @Override
+    public ViewDto create(PrivilegedDatabaseDto database, ViewCreateDto data) throws SQLException,
             ViewMalformedException {
         final ComboPooledDataSource dataSource = getPrivilegedDataSource(database);
         final Connection connection = dataSource.getConnection();
+        ViewDto view = ViewDto.builder()
+                .name(data.getName())
+                .internalName(data.getName())
+                .isPublic(database.getIsPublic())
+                .creator(database.getOwner())
+                .createdBy(database.getOwner().getId())
+                .identifiers(new LinkedList<>())
+                .isInitialView(false)
+                .vdbid(database.getId())
+                .database(metadataMapper.privilegedDatabaseDtoToDatabaseDto(database))
+                .columns(new LinkedList<>())
+                .build();
         try {
             /* create view if not exists */
-            connection.prepareStatement("CREATE VIEW IF NOT EXISTS `" + data.getName() + "` AS (" + data.getQuery() + ")")
+            connection.prepareStatement(mariaDbMapper.viewCreateRawQuery(data.getName(), data.getQuery()))
                     .execute();
+            /* select view columns */
+            final PreparedStatement statement2 = connection.prepareStatement(mariaDbMapper.databaseTableColumnsSelectRawQuery());
+            statement2.setString(1, database.getInternalName());
+            statement2.setString(2, data.getName());
+            final ResultSet resultSet2 = statement2.executeQuery();
+            while (resultSet2.next()) {
+                view = mariaDbMapper.resultSetToTable(resultSet2, view, queryConfig);
+            }
             connection.commit();
         } catch (SQLException e) {
             connection.rollback();
@@ -56,7 +126,8 @@ public class ViewServiceMariaDbImpl extends HibernateConnector implements ViewSe
         } finally {
             dataSource.close();
         }
-        log.info("Created view with name {}", data.getName());
+        log.info("Created view with name {}", view.getName());
+        return view;
     }
 
     @Override
@@ -67,11 +138,15 @@ public class ViewServiceMariaDbImpl extends HibernateConnector implements ViewSe
         final QueryResultDto queryResult;
         try {
             /* find table data */
+            final List<ColumnDto> mappedColumns = view.getColumns()
+                    .stream()
+                    .map(metadataMapper::viewColumnDtoToColumnDto)
+                    .toList();
             final ResultSet resultSet = connection.prepareStatement(
-                            mariaDbMapper.selectDatasetRawQuery(view.getDatabase().getInternalName(), view.getInternalName(),
-                                    view.getColumns(), timestamp, size, page))
+                            mariaDbMapper.selectDatasetRawQuery(view.getDatabase().getInternalName(),
+                                    view.getInternalName(), mappedColumns, timestamp, size, page))
                     .executeQuery();
-            queryResult = mariaDbMapper.resultListToQueryResultDto(view.getColumns(), resultSet);
+            queryResult = mariaDbMapper.resultListToQueryResultDto(mappedColumns, resultSet);
             queryResult.setId(view.getId());
             connection.commit();
         } catch (SQLException e) {
@@ -105,7 +180,6 @@ public class ViewServiceMariaDbImpl extends HibernateConnector implements ViewSe
 
 
     @Override
-    @Transactional
     public Long count(PrivilegedViewDto view, Instant timestamp) throws SQLException,
             QueryMalformedException {
         final ComboPooledDataSource dataSource = getPrivilegedDataSource(view.getDatabase());
@@ -133,13 +207,18 @@ public class ViewServiceMariaDbImpl extends HibernateConnector implements ViewSe
     public ExportResourceDto exportDataset(PrivilegedDatabaseDto database, ViewDto view, Instant timestamp)
             throws SQLException, QueryMalformedException, SidecarExportException, StorageNotFoundException,
             StorageUnavailableException {
-        final String filename = RandomStringUtils.randomAlphabetic(40) + ".csv";
+        final String fileName = RandomStringUtils.randomAlphabetic(40) + ".csv";
+        final String filePath = s3Config.getS3FilePath() + "/" + fileName;
         final ComboPooledDataSource dataSource = getPrivilegedDataSource(database);
         final Connection connection = dataSource.getConnection();
         try {
             /* export to data database sidecar */
+            final List<ColumnDto> columns = view.getColumns()
+                    .stream()
+                    .map(metadataMapper::viewColumnDtoToColumnDto)
+                    .toList();
             connection.prepareStatement(mariaDbMapper.tableOrViewToRawExportQuery(database.getInternalName(),
-                            view.getInternalName(), view.getColumns(), timestamp, filename))
+                            view.getInternalName(), columns, timestamp, filePath))
                     .executeUpdate();
             connection.commit();
         } catch (SQLException e) {
@@ -149,8 +228,9 @@ public class ViewServiceMariaDbImpl extends HibernateConnector implements ViewSe
         } finally {
             dataSource.close();
         }
-        dataDatabaseSidecarGateway.exportFile(database.getContainer().getSidecarHost(), database.getContainer().getSidecarPort(), filename);
-        return storageService.getResource(filename);
+        dataDatabaseSidecarGateway.exportFile(database.getContainer().getSidecarHost(),
+                database.getContainer().getSidecarPort(), fileName);
+        return storageService.getResource(fileName);
     }
 
 }
diff --git a/dbrepo-metadata-db/setup-schema.sql b/dbrepo-metadata-db/setup-schema.sql
index 85be688437..7a12ed5e82 100644
--- a/dbrepo-metadata-db/setup-schema.sql
+++ b/dbrepo-metadata-db/setup-schema.sql
@@ -120,13 +120,13 @@ CREATE TABLE IF NOT EXISTS `mdb_databases_subjects`
 
 CREATE TABLE IF NOT EXISTS `mdb_tables`
 (
-    ID              bigint                 NOT NULL AUTO_INCREMENT,
-    tDBID           bigint                 NOT NULL,
-    internal_name   character varying(255) NOT NULL,
-    queue_name      character varying(255) NOT NULL,
-    routing_key     character varying(255),
-    tName           VARCHAR(50),
-    tDescription    TEXT,
+    ID              bigint                NOT NULL AUTO_INCREMENT,
+    tDBID           bigint                NOT NULL,
+    tName           VARCHAR(64)           NOT NULL,
+    internal_name   VARCHAR(64)           NOT NULL,
+    queue_name      VARCHAR(255)          NOT NULL,
+    routing_key     VARCHAR(255),
+    tDescription    VARCHAR(2048),
     num_rows        BIGINT,
     data_length     BIGINT,
     max_data_length BIGINT,
@@ -138,12 +138,13 @@ CREATE TABLE IF NOT EXISTS `mdb_tables`
     element_true    VARCHAR(50),
     element_false   VARCHAR(50),
     Version         TEXT,
-    created         timestamp              NOT NULL DEFAULT NOW(),
-    versioned       boolean                not null default true,
-    created_by      character varying(36)  NOT NULL,
-    owned_by        character varying(36)  NOT NULL,
+    created         timestamp             NOT NULL DEFAULT NOW(),
+    versioned       boolean               not null default true,
+    created_by      character varying(36) NOT NULL,
+    owned_by        character varying(36) NOT NULL,
     last_modified   timestamp,
     PRIMARY KEY (ID),
+    UNIQUE (tDBID, internal_name),
     FOREIGN KEY (tDBID) REFERENCES mdb_databases (id),
     FOREIGN KEY (created_by) REFERENCES mdb_users (id),
     FOREIGN KEY (owned_by) REFERENCES mdb_users (id)
@@ -151,25 +152,26 @@ CREATE TABLE IF NOT EXISTS `mdb_tables`
 
 CREATE TABLE IF NOT EXISTS `mdb_columns`
 (
-    ID               BIGINT       NOT NULL AUTO_INCREMENT,
-    tID              BIGINT       NOT NULL,
+    ID               BIGINT      NOT NULL AUTO_INCREMENT,
+    tID              BIGINT      NOT NULL,
     dfID             BIGINT,
-    cName            VARCHAR(100),
-    internal_name    VARCHAR(100) NOT NULL,
+    cName            VARCHAR(64),
+    internal_name    VARCHAR(64) NOT NULL,
     Datatype         ENUM ('CHAR','VARCHAR','BINARY','VARBINARY','TINYBLOB','TINYTEXT','TEXT','BLOB','MEDIUMTEXT','MEDIUMBLOB','LONGTEXT','LONGBLOB','ENUM','SET','BIT','TINYINT','BOOL','SMALLINT','MEDIUMINT','INT','BIGINT','FLOAT','DOUBLE','DECIMAL','DATE','DATETIME','TIMESTAMP','TIME','YEAR'),
-    length           BIGINT       NULL,
-    ordinal_position INTEGER      NOT NULL,
-    index_length     BIGINT       NULL,
+    length           BIGINT      NULL,
+    ordinal_position INTEGER     NOT NULL,
+    index_length     BIGINT      NULL,
+    description      VARCHAR(2048),
     size             BIGINT,
     d                BIGINT,
-    auto_generated   BOOLEAN               DEFAULT false,
-    is_null_allowed  BOOLEAN      NOT NULL DEFAULT true,
-    val_min          NUMERIC      NULL,
-    val_max          NUMERIC      NULL,
-    mean             NUMERIC      NULL,
-    median           NUMERIC      NULL,
-    std_dev          Numeric      NULL,
-    created          timestamp    NOT NULL DEFAULT NOW(),
+    auto_generated   BOOLEAN              DEFAULT false,
+    is_null_allowed  BOOLEAN     NOT NULL DEFAULT true,
+    val_min          NUMERIC     NULL,
+    val_max          NUMERIC     NULL,
+    mean             NUMERIC     NULL,
+    median           NUMERIC     NULL,
+    std_dev          Numeric     NULL,
+    created          timestamp   NOT NULL DEFAULT NOW(),
     last_modified    timestamp,
     FOREIGN KEY (tID) REFERENCES mdb_tables (ID) ON DELETE CASCADE,
     PRIMARY KEY (ID)
@@ -326,8 +328,8 @@ CREATE TABLE IF NOT EXISTS `mdb_view`
 (
     id            bigint                NOT NULL AUTO_INCREMENT,
     vdbid         bigint                NOT NULL,
-    vName         VARCHAR(255)          NOT NULL,
-    internal_name VARCHAR(255)          NOT NULL,
+    vName         VARCHAR(64)           NOT NULL,
+    internal_name VARCHAR(64)           NOT NULL,
     Query         TEXT                  NOT NULL,
     query_hash    VARCHAR(255)          NOT NULL,
     Public        BOOLEAN               NOT NULL,
@@ -369,14 +371,19 @@ CREATE TABLE IF NOT EXISTS `mdb_ontologies`
 
 CREATE TABLE IF NOT EXISTS `mdb_view_columns`
 (
-    id               BIGINT NOT NULL AUTO_INCREMENT,
-    cid              BIGINT NOT NULL,
-    vid              BIGINT NOT NULL,
-    alias            VARCHAR(100),
-    ordinal_position INTEGER,
+    id               BIGINT      NOT NULL AUTO_INCREMENT,
+    view_id          BIGINT      NOT NULL,
+    dfID             BIGINT,
+    name             VARCHAR(64),
+    internal_name    VARCHAR(64) NOT NULL,
+    column_type      ENUM ('CHAR','VARCHAR','BINARY','VARBINARY','TINYBLOB','TINYTEXT','TEXT','BLOB','MEDIUMTEXT','MEDIUMBLOB','LONGTEXT','LONGBLOB','ENUM','SET','BIT','TINYINT','BOOL','SMALLINT','MEDIUMINT','INT','BIGINT','FLOAT','DOUBLE','DECIMAL','DATE','DATETIME','TIMESTAMP','TIME','YEAR'),
+    ordinal_position INTEGER     NOT NULL,
+    size             BIGINT,
+    d                BIGINT,
+    auto_generated   BOOLEAN              DEFAULT false,
+    is_null_allowed  BOOLEAN     NOT NULL DEFAULT true,
     PRIMARY KEY (id),
-    FOREIGN KEY (vid) REFERENCES mdb_view (id),
-    FOREIGN KEY (cid) REFERENCES mdb_columns (ID)
+    FOREIGN KEY (view_id) REFERENCES mdb_view (id)
 ) WITH SYSTEM VERSIONING;
 
 CREATE TABLE IF NOT EXISTS `mdb_identifiers`
@@ -485,18 +492,6 @@ CREATE TABLE IF NOT EXISTS `mdb_identifier_creators`
     FOREIGN KEY (pid) REFERENCES mdb_identifiers (id)
 ) WITH SYSTEM VERSIONING;
 
-CREATE TABLE IF NOT EXISTS `mdb_feed`
-(
-    fDBID   bigint,
-    fID     bigint,
-    fUserId character varying(36) not null,
-    fDataID bigint REFERENCES mdb_data (ID),
-    created timestamp             NOT NULL DEFAULT NOW(),
-    PRIMARY KEY (fDBID, fID, fUserId, fDataID),
-    FOREIGN KEY (fDBID, fID) REFERENCES mdb_tables (tDBID, ID),
-    FOREIGN KEY (fUserId) REFERENCES mdb_users (id)
-) WITH SYSTEM VERSIONING;
-
 CREATE TABLE IF NOT EXISTS `mdb_update`
 (
     uUserID character varying(255) NOT NULL,
diff --git a/dbrepo-metadata-service/api/pom.xml b/dbrepo-metadata-service/api/pom.xml
index 8aebde719a..6815b5f9e6 100644
--- a/dbrepo-metadata-service/api/pom.xml
+++ b/dbrepo-metadata-service/api/pom.xml
@@ -6,12 +6,12 @@
     <parent>
         <groupId>at.tuwien</groupId>
         <artifactId>dbrepo-metadata-service</artifactId>
-        <version>1.4.3</version>
+        <version>1.4.4</version>
     </parent>
 
     <artifactId>dbrepo-metadata-service-api</artifactId>
     <name>dbrepo-metadata-service-api</name>
-    <version>1.4.3</version>
+    <version>1.4.4</version>
 
     <dependencies/>
 
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/container/internal/PrivilegedContainerDto.java b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/container/internal/PrivilegedContainerDto.java
index 8bfe382496..8de17a48f3 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/container/internal/PrivilegedContainerDto.java
+++ b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/container/internal/PrivilegedContainerDto.java
@@ -66,10 +66,8 @@ public class PrivilegedContainerDto {
     @ToString.Exclude
     private String password;
 
-    @JsonProperty("default_timestamp_format")
-    private ImageDateDto defaultTimestampFormat;
+    private Long defaultTimestampFormatId;
 
-    @JsonProperty("default_date_format")
-    private ImageDateDto defaultDateFormat;
+    private Long defaultDateFormatId;
 
 }
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/DatabaseBriefDto.java b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/DatabaseBriefDto.java
new file mode 100644
index 0000000000..49c7c58e8a
--- /dev/null
+++ b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/DatabaseBriefDto.java
@@ -0,0 +1,59 @@
+package at.tuwien.api.database;
+
+import at.tuwien.api.identifier.IdentifierDto;
+import at.tuwien.api.user.UserBriefDto;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.v3.oas.annotations.media.Schema;
+import jakarta.validation.constraints.NotBlank;
+import jakarta.validation.constraints.NotNull;
+import lombok.*;
+import lombok.extern.jackson.Jacksonized;
+
+import java.time.Instant;
+import java.util.List;
+
+@Getter
+@Setter
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+@Jacksonized
+@ToString
+public class DatabaseBriefDto {
+
+    @NotNull
+    private Long id;
+
+    @NotBlank
+    @Schema(example = "Air Quality")
+    private String name;
+
+    @NotBlank
+    @JsonProperty("internal_name")
+    @Schema(example = "air_quality")
+    private String internalName;
+
+    @Schema(example = "Air Quality")
+    private String description;
+
+    @NotNull
+    @JsonProperty("is_public")
+    @Schema(example = "true")
+    private Boolean isPublic;
+
+    private List<IdentifierDto> identifiers;
+
+    @ToString.Exclude
+    @NotNull
+    private UserBriefDto contact;
+
+    @NotNull
+    private UserBriefDto owner;
+
+    @NotNull
+    @Schema(example = "2021-03-12T15:26:21Z")
+    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSXXX", timezone = "UTC")
+    private Instant created;
+
+}
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/ViewColumnDto.java b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/ViewColumnDto.java
new file mode 100644
index 0000000000..35edfc6d84
--- /dev/null
+++ b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/ViewColumnDto.java
@@ -0,0 +1,89 @@
+package at.tuwien.api.database;
+
+import at.tuwien.api.container.image.ImageDateDto;
+import at.tuwien.api.database.table.columns.ColumnTypeDto;
+import at.tuwien.api.database.table.columns.concepts.ConceptDto;
+import at.tuwien.api.database.table.columns.concepts.UnitDto;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.v3.oas.annotations.media.Schema;
+import jakarta.validation.constraints.NotBlank;
+import jakarta.validation.constraints.NotNull;
+import jakarta.validation.constraints.Size;
+import lombok.*;
+import lombok.extern.jackson.Jacksonized;
+
+@Getter
+@Setter
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+@Jacksonized
+@ToString
+public class ViewColumnDto {
+
+    @NotNull
+    private Long id;
+
+    @NotNull
+    @JsonProperty("database_id")
+    private Long databaseId;
+
+    @NotNull
+    @Schema(example = "0")
+    @JsonProperty("ordinal_position")
+    private Integer ordinalPosition;
+
+    @NotBlank
+    @Size(max = 64)
+    @Schema(example = "Date")
+    private String name;
+
+    @NotBlank
+    @Size(max = 64)
+    @JsonProperty("internal_name")
+    @Schema(example = "mdb_date")
+    private String internalName;
+
+    @Schema
+    private String alias;
+
+    @JsonProperty("date_format")
+    private ImageDateDto dateFormat;
+
+    @NotNull
+    @JsonProperty("auto_generated")
+    @Schema(example = "false")
+    private Boolean autoGenerated;
+
+    @JsonProperty("index_length")
+    private Long indexLength;
+
+    @JsonProperty("length")
+    private Long length;
+
+    @NotNull
+    @JsonProperty("column_type")
+    @Schema(example = "string")
+    private ColumnTypeDto columnType;
+
+    @Schema(example = "255")
+    private Long size;
+
+    @Schema(example = "0")
+    private Long d;
+
+    private ConceptDto concept;
+
+    private UnitDto unit;
+
+    @NotNull
+    @JsonProperty("is_public")
+    @Schema(example = "true")
+    private Boolean isPublic;
+
+    @NotNull
+    @JsonProperty("is_null_allowed")
+    @Schema(example = "false")
+    private Boolean isNullAllowed;
+
+}
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/ViewCreateDto.java b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/ViewCreateDto.java
index ca02de1b42..583b5f0d81 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/ViewCreateDto.java
+++ b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/ViewCreateDto.java
@@ -2,6 +2,7 @@ package at.tuwien.api.database;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
 import io.swagger.v3.oas.annotations.media.Schema;
+import jakarta.validation.constraints.Size;
 import lombok.*;
 
 import jakarta.validation.constraints.NotBlank;
@@ -17,15 +18,16 @@ import lombok.extern.jackson.Jacksonized;
 @ToString
 public class ViewCreateDto {
 
-    @NotBlank(message = "name is required")
+    @NotBlank
+    @Size(min = 1, max = 64)
     @Schema(example = "Air Quality")
     private String name;
 
-    @NotBlank(message = "query is required")
+    @NotBlank
     @Schema(example = "SELECT `id` FROM `air_quality`")
     private String query;
 
-    @NotNull(message = "public attribute is required")
+    @NotNull
     @JsonProperty("is_public")
     @Schema(example = "true")
     private Boolean isPublic;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/ViewDto.java b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/ViewDto.java
index 1aa92a11c0..30f16448d3 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/ViewDto.java
+++ b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/ViewDto.java
@@ -1,6 +1,5 @@
 package at.tuwien.api.database;
 
-import at.tuwien.api.database.table.columns.ColumnDto;
 import at.tuwien.api.identifier.IdentifierDto;
 import at.tuwien.api.user.UserDto;
 import com.fasterxml.jackson.annotation.JsonFormat;
@@ -12,7 +11,6 @@ import lombok.extern.jackson.Jacksonized;
 
 import jakarta.validation.constraints.NotBlank;
 import jakarta.validation.constraints.NotNull;
-import org.springframework.data.annotation.Id;
 
 import java.time.Instant;
 import java.util.List;
@@ -35,6 +33,7 @@ public class ViewDto {
     private Long vdbid;
 
     @NotNull
+    @ToString.Exclude
     private DatabaseDto database;
 
     @NotBlank
@@ -77,7 +76,7 @@ public class ViewDto {
     private UserDto creator;
 
     @NotNull
-    private List<ColumnDto> columns;
+    private List<ViewColumnDto> columns;
 
     @JsonProperty("last_modified")
     @Schema(example = "2021-03-12T15:26:21Z")
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/internal/PrivilegedViewDto.java b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/internal/PrivilegedViewDto.java
index ff15b7b9e8..5053f8c5d6 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/internal/PrivilegedViewDto.java
+++ b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/internal/PrivilegedViewDto.java
@@ -1,6 +1,7 @@
 package at.tuwien.api.database.internal;
 
 import at.tuwien.api.database.DatabaseDto;
+import at.tuwien.api.database.ViewColumnDto;
 import at.tuwien.api.database.table.columns.ColumnDto;
 import at.tuwien.api.identifier.IdentifierDto;
 import at.tuwien.api.user.UserDto;
@@ -78,7 +79,7 @@ public class PrivilegedViewDto {
     private UserDto creator;
 
     @NotNull(message = "columns are required")
-    private List<ColumnDto> columns;
+    private List<ViewColumnDto> columns;
 
     @JsonProperty("last_modified")
     @Schema(example = "2021-03-12T15:26:21Z")
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/TableBriefDto.java b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/TableBriefDto.java
index db6179edf3..aa566a495c 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/TableBriefDto.java
+++ b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/TableBriefDto.java
@@ -2,6 +2,7 @@ package at.tuwien.api.database.table;
 
 import at.tuwien.api.database.table.columns.ColumnBriefDto;
 import at.tuwien.api.user.UserBriefDto;
+import com.fasterxml.jackson.annotation.JsonIgnore;
 import com.fasterxml.jackson.annotation.JsonProperty;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.*;
@@ -21,18 +22,22 @@ import java.util.List;
 @ToString
 public class TableBriefDto {
 
-    @NotNull(message = "id is required")
+    @NotNull
     private Long id;
 
-    @NotBlank(message = "name is required")
+    @NotNull
+    @JsonProperty("database_id")
+    private Long databaseId;
+
+    @NotBlank
     @Schema(example = "Air Quality")
     private String name;
 
-    @NotBlank(message = "description is required")
+    @NotBlank
     @Schema(example = "Air Quality in Austria")
     private String description;
 
-    @NotBlank(message = "internal name is required")
+    @NotBlank
     @JsonProperty("internal_name")
     @Schema(example = "air_quality")
     private String internalName;
@@ -42,9 +47,11 @@ public class TableBriefDto {
     @Schema(example = "true")
     private Boolean isVersioned;
 
-    @NotNull(message = "owner is required")
+    @NotNull
     private UserBriefDto owner;
 
-    @NotNull(message = "columns are required")
+    @ToString.Exclude
+    @JsonIgnore
+    @NotNull
     private List<ColumnBriefDto> columns;
 }
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/TableDto.java b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/TableDto.java
index eff91d877a..5764b311ca 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/TableDto.java
+++ b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/TableDto.java
@@ -7,6 +7,7 @@ import at.tuwien.api.user.UserDto;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import com.fasterxml.jackson.annotation.JsonProperty;
 import io.swagger.v3.oas.annotations.media.Schema;
+import jakarta.validation.constraints.Size;
 import lombok.*;
 import lombok.extern.jackson.Jacksonized;
 
@@ -76,6 +77,7 @@ public class TableDto {
     @Schema(example = "dbrepo.1.2")
     private String routingKey;
 
+    @Size(max = 2048)
     @Schema(example = "Air Quality in Austria")
     private String description;
 
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/columns/ColumnCreateDto.java b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/columns/ColumnCreateDto.java
index 44f6ed8315..78fb7fb84e 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/columns/ColumnCreateDto.java
+++ b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/columns/ColumnCreateDto.java
@@ -2,6 +2,7 @@ package at.tuwien.api.database.table.columns;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
 import io.swagger.v3.oas.annotations.media.Schema;
+import jakarta.validation.constraints.Size;
 import lombok.*;
 
 import jakarta.validation.constraints.NotBlank;
@@ -36,6 +37,10 @@ public class ColumnCreateDto {
     @Schema(example = "0")
     private Long d;
 
+    @Size(max = 2048)
+    @Schema(example = "Formatted as YYYY-MM-dd")
+    private String description;
+
     @NotNull
     @JsonProperty("null_allowed")
     @Schema(example = "true")
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/columns/ColumnDto.java b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/columns/ColumnDto.java
index f03ee60d71..430bdba270 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/columns/ColumnDto.java
+++ b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/columns/ColumnDto.java
@@ -11,6 +11,7 @@ import io.swagger.v3.oas.annotations.Parameter;
 import io.swagger.v3.oas.annotations.media.Schema;
 import jakarta.validation.constraints.NotBlank;
 import jakarta.validation.constraints.NotNull;
+import jakarta.validation.constraints.Size;
 import lombok.*;
 import lombok.extern.jackson.Jacksonized;
 
@@ -43,10 +44,12 @@ public class ColumnDto {
     private Integer ordinalPosition;
 
     @NotBlank
+    @Size(max = 64)
     @Schema(example = "Date")
     private String name;
 
     @NotBlank
+    @Size(max = 64)
     @JsonProperty("internal_name")
     @Schema(example = "mdb_date")
     private String internalName;
@@ -113,10 +116,16 @@ public class ColumnDto {
 
     private UnitDto unit;
 
+    @Size(max = 2048)
+    @Schema(example = "Formatted as YYYY-MM-dd")
+    private String description;
+
     @ToString.Exclude
+    @JsonIgnore
     private transient TableDto table;
 
     @ToString.Exclude
+    @JsonIgnore
     private transient List<ViewDto> views;
 
     @NotNull
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/constraints/ConstraintsCreateDto.java b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/constraints/ConstraintsCreateDto.java
index ccb00d23a0..a317b08b8a 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/constraints/ConstraintsCreateDto.java
+++ b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/constraints/ConstraintsCreateDto.java
@@ -1,6 +1,6 @@
 package at.tuwien.api.database.table.constraints;
 
-import at.tuwien.api.database.table.constraints.foreignKey.ForeignKeyCreateDto;
+import at.tuwien.api.database.table.constraints.foreign.ForeignKeyCreateDto;
 import com.fasterxml.jackson.annotation.JsonProperty;
 import jakarta.validation.constraints.NotNull;
 import lombok.*;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/constraints/ConstraintsDto.java b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/constraints/ConstraintsDto.java
index 409878292a..3cd36f6d68 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/constraints/ConstraintsDto.java
+++ b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/constraints/ConstraintsDto.java
@@ -1,6 +1,7 @@
 package at.tuwien.api.database.table.constraints;
 
-import at.tuwien.api.database.table.constraints.foreignKey.ForeignKeyDto;
+import at.tuwien.api.database.table.constraints.foreign.ForeignKeyDto;
+import at.tuwien.api.database.table.constraints.primary.PrimaryKeyDto;
 import at.tuwien.api.database.table.constraints.unique.UniqueDto;
 import com.fasterxml.jackson.annotation.JsonProperty;
 import lombok.*;
@@ -26,5 +27,5 @@ public class ConstraintsDto {
     private Set<String> checks;
 
     @JsonProperty("primary_key")
-    private Set<String> primaryKey;
+    private Set<PrimaryKeyDto> primaryKey;
 }
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/constraints/foreignKey/ForeignKeyCreateDto.java b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/constraints/foreign/ForeignKeyCreateDto.java
similarity index 91%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/constraints/foreignKey/ForeignKeyCreateDto.java
rename to dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/constraints/foreign/ForeignKeyCreateDto.java
index e6758b36ef..8e2a110997 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/constraints/foreignKey/ForeignKeyCreateDto.java
+++ b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/constraints/foreign/ForeignKeyCreateDto.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.database.table.constraints.foreignKey;
+package at.tuwien.api.database.table.constraints.foreign;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
 import jakarta.validation.constraints.NotNull;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/constraints/foreignKey/ForeignKeyDto.java b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/constraints/foreign/ForeignKeyDto.java
similarity index 54%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/constraints/foreignKey/ForeignKeyDto.java
rename to dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/constraints/foreign/ForeignKeyDto.java
index 1c4acfc5ca..68ee2e56da 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/constraints/foreignKey/ForeignKeyDto.java
+++ b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/constraints/foreign/ForeignKeyDto.java
@@ -1,8 +1,9 @@
-package at.tuwien.api.database.table.constraints.foreignKey;
+package at.tuwien.api.database.table.constraints.foreign;
 
-import at.tuwien.api.database.table.TableBriefDto;
+import at.tuwien.api.database.table.TableDto;
 import at.tuwien.api.database.table.columns.ColumnDto;
 import com.fasterxml.jackson.annotation.JsonProperty;
+import jakarta.validation.constraints.NotNull;
 import lombok.*;
 import lombok.extern.jackson.Jacksonized;
 
@@ -17,19 +18,25 @@ import java.util.List;
 @ToString
 public class ForeignKeyDto {
 
-    @NonNull
+    private Long id;
+
+    @NotNull
     private String name;
 
-    @NonNull
-    private List<ColumnDto> columns;
+    @NotNull
+    private ColumnDto column;
 
-    @NonNull
-    @JsonProperty("referenced_table")
-    private TableBriefDto referencedTable;
+    @NotNull
+    private List<ForeignKeyReferenceDto> references;
 
-    @NonNull
-    @JsonProperty("referenced_columns")
-    private List<ColumnDto> referencedColumns;
+    @NotNull
+    @ToString.Exclude
+    private TableDto table;
+
+    @NotNull
+    @ToString.Exclude
+    @JsonProperty("referenced_table")
+    private TableDto referencedTable;
 
     @JsonProperty("on_update")
     private ReferenceTypeDto onUpdate;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/constraints/foreign/ForeignKeyReferenceDto.java b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/constraints/foreign/ForeignKeyReferenceDto.java
new file mode 100644
index 0000000000..fb978671bc
--- /dev/null
+++ b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/constraints/foreign/ForeignKeyReferenceDto.java
@@ -0,0 +1,32 @@
+package at.tuwien.api.database.table.constraints.foreign;
+
+import at.tuwien.api.database.table.columns.ColumnDto;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import jakarta.validation.constraints.NotNull;
+import lombok.*;
+import lombok.extern.jackson.Jacksonized;
+
+@Getter
+@Setter
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+@Jacksonized
+@ToString
+public class ForeignKeyReferenceDto {
+
+    private Long id;
+
+    @NotNull
+    @JsonProperty("foreign_key")
+    private ForeignKeyDto foreignKey;
+
+    @NotNull
+    @ToString.Exclude
+    private ColumnDto column;
+
+    @NotNull
+    @ToString.Exclude
+    @JsonProperty("referenced_column")
+    private ColumnDto referencedColumn;
+}
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/constraints/foreignKey/ReferenceTypeDto.java b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/constraints/foreign/ReferenceTypeDto.java
similarity index 90%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/constraints/foreignKey/ReferenceTypeDto.java
rename to dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/constraints/foreign/ReferenceTypeDto.java
index cec40a76a8..ebd2d56887 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/constraints/foreignKey/ReferenceTypeDto.java
+++ b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/constraints/foreign/ReferenceTypeDto.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.database.table.constraints.foreignKey;
+package at.tuwien.api.database.table.constraints.foreign;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
 import lombok.Getter;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/constraints/primary/PrimaryKeyDto.java b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/constraints/primary/PrimaryKeyDto.java
new file mode 100644
index 0000000000..19c25371b2
--- /dev/null
+++ b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/constraints/primary/PrimaryKeyDto.java
@@ -0,0 +1,27 @@
+package at.tuwien.api.database.table.constraints.primary;
+
+import at.tuwien.api.database.table.TableBriefDto;
+import at.tuwien.api.database.table.columns.ColumnDto;
+import jakarta.validation.constraints.NotNull;
+import lombok.*;
+import lombok.extern.jackson.Jacksonized;
+
+@Getter
+@Setter
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+@Jacksonized
+@ToString
+public class PrimaryKeyDto {
+
+    private Long pkid;
+
+    @NotNull
+    @ToString.Exclude
+    private TableBriefDto table;
+
+    @NotNull
+    @ToString.Exclude
+    private ColumnDto column;
+}
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/constraints/unique/UniqueDto.java b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/constraints/unique/UniqueDto.java
index 44b94f63f4..10f97e8390 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/constraints/unique/UniqueDto.java
+++ b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/constraints/unique/UniqueDto.java
@@ -1,6 +1,7 @@
 
 package at.tuwien.api.database.table.constraints.unique;
 
+import at.tuwien.api.database.table.TableBriefDto;
 import at.tuwien.api.database.table.TableDto;
 import at.tuwien.api.database.table.columns.ColumnDto;
 import jakarta.validation.constraints.NotNull;
@@ -23,8 +24,13 @@ public class UniqueDto {
     private Long uid;
 
     @NotNull
-    private TableDto table;
+    private String name;
 
     @NotNull
+    @ToString.Exclude
+    private TableBriefDto table;
+
+    @NotNull
+    @ToString.Exclude
     private List<ColumnDto> columns;
 }
diff --git a/dbrepo-metadata-service/entities/pom.xml b/dbrepo-metadata-service/entities/pom.xml
index 2bac967130..62dec0e318 100644
--- a/dbrepo-metadata-service/entities/pom.xml
+++ b/dbrepo-metadata-service/entities/pom.xml
@@ -6,12 +6,12 @@
     <parent>
         <groupId>at.tuwien</groupId>
         <artifactId>dbrepo-metadata-service</artifactId>
-        <version>1.4.3</version>
+        <version>1.4.4</version>
     </parent>
 
     <artifactId>dbrepo-metadata-service-entities</artifactId>
     <name>dbrepo-metadata-service-entity</name>
-    <version>1.4.3</version>
+    <version>1.4.4</version>
 
     <dependencies/>
 
diff --git a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/container/Container.java b/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/container/Container.java
index 937b9a3ba1..302046d035 100644
--- a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/container/Container.java
+++ b/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/container/Container.java
@@ -22,10 +22,6 @@ import java.util.List;
 @EntityListeners(AuditingEntityListener.class)
 @EqualsAndHashCode(onlyExplicitlyIncluded = true)
 @Table(name = "mdb_containers")
-@NamedQueries({
-        @NamedQuery(name = "Container.findDefaultTimestampFormat", query = "select d from ContainerImageDate d where d.hasTime = true order by d.id limit 1"),
-        @NamedQuery(name = "Container.findDefaultDateFormat", query = "select d from ContainerImageDate d where d.hasTime = false order by d.id limit 1"),
-})
 public class Container {
 
     @Id
@@ -69,7 +65,7 @@ public class Container {
     })
     private List<Database> databases;
 
-    @ManyToOne(fetch = FetchType.LAZY, optional = false, cascade = {CascadeType.MERGE, CascadeType.PERSIST})
+    @ManyToOne(fetch = FetchType.LAZY, cascade = {CascadeType.ALL, CascadeType.PERSIST})
     @JoinColumns({
             @JoinColumn(name = "image_id", referencedColumnName = "id")
     })
diff --git a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/container/image/ContainerImage.java b/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/container/image/ContainerImage.java
index 40849fe4ef..b315c7e81d 100644
--- a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/container/image/ContainerImage.java
+++ b/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/container/image/ContainerImage.java
@@ -53,7 +53,7 @@ public class ContainerImage {
     @Column(nullable = false)
     private Integer defaultPort;
 
-    @OneToMany(fetch = FetchType.LAZY, cascade = {CascadeType.MERGE, CascadeType.ALL}, mappedBy = "image") // ALL = cascade save + delete
+    @OneToMany(fetch = FetchType.LAZY, cascade = {CascadeType.ALL, CascadeType.PERSIST}, mappedBy = "image")
     private List<ContainerImageDate> dateFormats;
 
     @ToString.Exclude
diff --git a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/container/image/ContainerImageDate.java b/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/container/image/ContainerImageDate.java
index c40da7b077..5b370ecc06 100644
--- a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/container/image/ContainerImageDate.java
+++ b/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/container/image/ContainerImageDate.java
@@ -7,6 +7,7 @@ import org.springframework.data.annotation.CreatedDate;
 import org.springframework.data.jpa.domain.support.AuditingEntityListener;
 
 import jakarta.persistence.*;
+
 import java.time.Instant;
 
 @Data
@@ -27,12 +28,15 @@ public class ContainerImageDate {
     @Column(updatable = false, nullable = false)
     private Long id;
 
+    @EqualsAndHashCode.Include
     @Column(name = "iid")
     private Long iid;
 
     @ToString.Exclude
-    @ManyToOne(fetch = FetchType.LAZY)
-    @JoinColumn(name = "iid", insertable = false, updatable = false)
+    @ManyToOne(fetch = FetchType.LAZY, cascade = {CascadeType.MERGE})
+    @JoinColumns({
+            @JoinColumn(name = "iid", insertable = false, updatable = false)
+    })
     private ContainerImage image;
 
     @Column(name = "example", nullable = false)
diff --git a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/database/Database.java b/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/database/Database.java
index bf5904f4ad..f463370e4d 100644
--- a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/database/Database.java
+++ b/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/database/Database.java
@@ -23,7 +23,7 @@ import java.util.UUID;
 
 @Data
 @Entity
-@Builder
+@Builder(toBuilder = true)
 @ToString
 @AllArgsConstructor
 @NoArgsConstructor
diff --git a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/database/View.java b/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/database/View.java
index f210486347..44ffab2959 100644
--- a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/database/View.java
+++ b/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/database/View.java
@@ -10,7 +10,6 @@ import jakarta.persistence.NamedQuery;
 import jakarta.persistence.OrderBy;
 import jakarta.persistence.Table;
 import lombok.*;
-import net.sf.jsqlparser.statement.select.FromItem;
 import org.hibernate.annotations.*;
 import org.springframework.data.annotation.CreatedDate;
 import org.springframework.data.annotation.LastModifiedDate;
@@ -58,10 +57,10 @@ public class View {
     })
     private User creator;
 
-    @Column(name = "vname", nullable = false)
+    @Column(name = "vname", nullable = false, columnDefinition = "VARCHAR(64)")
     private String name;
 
-    @Column(nullable = false)
+    @Column(nullable = false, columnDefinition = "VARCHAR(64)")
     private String internalName;
 
     @Column(name = "public", nullable = false)
@@ -95,27 +94,9 @@ public class View {
     })
     private Database database;
 
-    /**
-     * KEEP THIS FUNCTION HERE! IT WILL BREAK CODE!
-     * Custom equality function implementation.
-     *
-     * @param other The other view
-     * @return True if views are equal, false otherwise
-     */
-    public boolean equals(FromItem other) {
-        if (other == null) {
-            return false;
-        }
-        final net.sf.jsqlparser.schema.Table table = (net.sf.jsqlparser.schema.Table) other;
-        return this.internalName.equals(table.getName().replace("`", ""));
-    }
-
     @ToString.Exclude
-//    @OnDelete(action = OnDeleteAction.CASCADE)
-    @OneToMany(fetch = FetchType.LAZY, cascade = {CascadeType.MERGE, CascadeType.PERSIST})
-    @JoinColumns({
-            @JoinColumn(name = "vid", referencedColumnName = "id", updatable = false)
-    })
+    @OnDelete(action = OnDeleteAction.CASCADE)
+    @OneToMany(fetch = FetchType.LAZY, cascade = {CascadeType.MERGE, CascadeType.PERSIST}, mappedBy = "view")
     @OrderColumn(name = "ordinalPosition")
     private List<ViewColumn> columns;
 
diff --git a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/database/ViewColumn.java b/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/database/ViewColumn.java
index a74bde27fe..eb9b352095 100644
--- a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/database/ViewColumn.java
+++ b/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/database/ViewColumn.java
@@ -1,6 +1,7 @@
 package at.tuwien.entities.database;
 
-import at.tuwien.entities.database.table.columns.TableColumn;
+import at.tuwien.entities.container.image.ContainerImageDate;
+import at.tuwien.entities.database.table.columns.TableColumnType;
 import lombok.*;
 import org.hibernate.annotations.GenericGenerator;
 import org.springframework.data.jpa.domain.support.AuditingEntityListener;
@@ -15,7 +16,7 @@ import jakarta.persistence.*;
 @NoArgsConstructor
 @EntityListeners(AuditingEntityListener.class)
 @jakarta.persistence.Table(name = "mdb_view_columns", uniqueConstraints = {
-        @UniqueConstraint(columnNames = {"cid", "vid"})
+        @UniqueConstraint(columnNames = {"view_id", "internalName"})
 })
 public class ViewColumn implements Comparable<ViewColumn> {
 
@@ -26,28 +27,45 @@ public class ViewColumn implements Comparable<ViewColumn> {
     @Column(updatable = false, nullable = false)
     private Long id;
 
-    @Column(updatable = false)
-    private String alias;
-
-    @Column(nullable = false)
-    private Integer ordinalPosition;
+    @ToString.Exclude
+    @OneToOne(fetch = FetchType.LAZY)
+    @JoinColumn(name = "dfid", referencedColumnName = "id")
+    private ContainerImageDate dateFormat;
 
     @ToString.Exclude
     @ManyToOne(fetch = FetchType.LAZY, cascade = {CascadeType.MERGE})
     @JoinColumns({
-            @JoinColumn(name = "vid", referencedColumnName = "id", updatable = false)
+            @JoinColumn(name = "view_id", referencedColumnName = "id", nullable = false)
     })
     private View view;
 
-    @ToString.Exclude
-    @ManyToOne(fetch = FetchType.LAZY, cascade = {CascadeType.MERGE})
-    @JoinColumns({
-            @JoinColumn(name = "cid", referencedColumnName = "id", updatable = false)
-    })
-    private TableColumn column;
+    @Column(nullable = false, columnDefinition = "VARCHAR(64)")
+    private String name;
+
+    @Column(name = "auto_generated", columnDefinition = "BOOLEAN default false")
+    private Boolean autoGenerated;
+
+    @Column(nullable = false, columnDefinition = "VARCHAR(64)")
+    private String internalName;
+
+    @Column(nullable = false, columnDefinition = "ENUM('CHAR','VARCHAR','BINARY','VARBINARY','TINYBLOB','TINYTEXT','TEXT','BLOB','MEDIUMTEXT','MEDIUMBLOB','LONGTEXT','LONGBLOB','ENUM','SET','BIT','TINYINT','BOOL','SMALLINT','MEDIUMINT','INT','BIGINT','FLOAT','DOUBLE','DECIMAL','DATE','DATETIME','TIMESTAMP','TIME','YEAR')")
+    @Enumerated(EnumType.STRING)
+    private TableColumnType columnType;
+
+    @Column(nullable = false, columnDefinition = "BOOLEAN default true")
+    private Boolean isNullAllowed;
+
+    @Column(nullable = false)
+    private Integer ordinalPosition;
+
+    @Column
+    private Long size;
+
+    @Column
+    private Long d;
 
     @Override
-    public int compareTo(ViewColumn tableColumn) {
-        return Integer.compare(this.ordinalPosition, tableColumn.getOrdinalPosition());
+    public int compareTo(ViewColumn viewColumn) {
+        return Integer.compare(this.ordinalPosition, viewColumn.getOrdinalPosition());
     }
 }
diff --git a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/database/table/Table.java b/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/database/table/Table.java
index 3dc5b9bdea..57d9dbab1b 100644
--- a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/database/table/Table.java
+++ b/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/database/table/Table.java
@@ -10,7 +10,6 @@ import jakarta.persistence.CascadeType;
 import jakarta.persistence.OrderBy;
 import lombok.*;
 import lombok.extern.log4j.Log4j2;
-import net.sf.jsqlparser.statement.select.FromItem;
 import org.hibernate.annotations.*;
 import org.springframework.data.annotation.CreatedDate;
 import org.springframework.data.annotation.LastModifiedDate;
@@ -29,8 +28,11 @@ import java.util.UUID;
 @ToString
 @AllArgsConstructor
 @NoArgsConstructor
+@EqualsAndHashCode(onlyExplicitlyIncluded = true)
 @EntityListeners(AuditingEntityListener.class)
-@jakarta.persistence.Table(name = "mdb_tables")
+@jakarta.persistence.Table(name = "mdb_tables", uniqueConstraints = {
+        @UniqueConstraint(columnNames = {"tdbid", "internalName"})
+})
 public class Table {
 
     @Id
@@ -48,7 +50,7 @@ public class Table {
     private UUID createdBy;
 
     @ToString.Exclude
-    @ManyToOne(fetch = FetchType.LAZY, cascade = {CascadeType.MERGE})
+    @ManyToOne(fetch = FetchType.LAZY)
     @JoinColumns({
             @JoinColumn(name = "created_by", referencedColumnName = "ID", insertable = false, updatable = false)
     })
@@ -60,27 +62,27 @@ public class Table {
     private UUID ownedBy;
 
     @ToString.Exclude
-    @ManyToOne(fetch = FetchType.LAZY, cascade = {CascadeType.MERGE})
+    @ManyToOne(fetch = FetchType.LAZY)
     @JoinColumns({
             @JoinColumn(name = "owned_by", referencedColumnName = "ID", insertable = false, updatable = false)
     })
     private User owner;
 
-    @Column(name = "tname", nullable = false)
+    @Column(name = "tname", nullable = false, columnDefinition = "VARCHAR(64)")
     private String name;
 
-    @Column(nullable = false)
+    @Column(nullable = false, columnDefinition = "VARCHAR(64)")
     private String internalName;
 
     @Column(name = "queue_name", nullable = false, updatable = false)
     private String queueName;
 
-    @Column(name = "tdescription", columnDefinition = "TEXT")
+    @Column(name = "tdescription", columnDefinition = "VARCHAR(2048)")
     private String description;
 
     @ToString.Exclude
     @org.springframework.data.annotation.Transient
-    @ManyToOne(fetch = FetchType.LAZY, cascade = {CascadeType.MERGE})
+    @ManyToOne(fetch = FetchType.LAZY)
     @JoinColumns({
             @JoinColumn(name = "tdbid", referencedColumnName = "id", insertable = false, updatable = false)
     })
@@ -129,31 +131,5 @@ public class Table {
     @Column(columnDefinition = "TIMESTAMP")
     private Instant lastModified;
 
-    @Override
-    public boolean equals(Object o) {
-        if (o == this) {
-            return true;
-        }
-        if (!(o instanceof Table other)) {
-            return false;
-        }
-        return this.id.equals(other.getId());
-    }
-
-    /**
-     * KEEP THIS FUNCTION HERE! IT WILL BREAK CODE!
-     * Custom equality function implementation.
-     *
-     * @param other The other table
-     * @return True if tables are equal, false otherwise
-     */
-    public boolean equals(FromItem other) {
-        if (other == null) {
-            return false;
-        }
-        final net.sf.jsqlparser.schema.Table table = (net.sf.jsqlparser.schema.Table) other;
-        return this.internalName.equals(table.getName().replace("`", ""));
-    }
-
 }
 
diff --git a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/database/table/columns/TableColumn.java b/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/database/table/columns/TableColumn.java
index f5b955dd59..9a50f5c054 100644
--- a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/database/table/columns/TableColumn.java
+++ b/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/database/table/columns/TableColumn.java
@@ -1,7 +1,6 @@
 package at.tuwien.entities.database.table.columns;
 
 import at.tuwien.entities.container.image.ContainerImageDate;
-import at.tuwien.entities.database.View;
 import at.tuwien.entities.database.table.Table;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import lombok.*;
@@ -40,32 +39,29 @@ public class TableColumn implements Comparable<TableColumn> {
     private Long id;
 
     @ToString.Exclude
-    @OneToOne(fetch = FetchType.LAZY, cascade = {CascadeType.MERGE})
+    @OneToOne(fetch = FetchType.LAZY)
     @JoinColumn(name = "dfid", referencedColumnName = "id")
     private ContainerImageDate dateFormat;
 
     @ToString.Exclude
-    @org.springframework.data.annotation.Transient
     @ManyToOne(fetch = FetchType.LAZY, cascade = {CascadeType.MERGE})
     @JoinColumns({
             @JoinColumn(name = "tID", referencedColumnName = "id", nullable = false)
     })
     private Table table;
 
-    @ToString.Exclude
-    @org.springframework.data.annotation.Transient
-    @ManyToMany(fetch = FetchType.LAZY, cascade = CascadeType.MERGE, mappedBy = "columns")
-    private List<View> views;
-
-    @Column(name = "cname", nullable = false)
+    @Column(name = "cname", nullable = false, columnDefinition = "VARCHAR(64)")
     private String name;
 
     @Column(name = "auto_generated", columnDefinition = "BOOLEAN default false")
     private Boolean autoGenerated;
 
-    @Column(nullable = false)
+    @Column(nullable = false, columnDefinition = "VARCHAR(64)")
     private String internalName;
 
+    @Column(columnDefinition = "VARCHAR(2048)")
+    private String description;
+
     @Column
     private Long indexLength;
 
@@ -90,13 +86,13 @@ public class TableColumn implements Comparable<TableColumn> {
     @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSXXX", timezone = "UTC")
     private Instant created;
 
-    @ManyToOne(fetch = FetchType.LAZY, cascade = {CascadeType.MERGE, CascadeType.PERSIST})
+    @ManyToOne(fetch = FetchType.LAZY, cascade = {CascadeType.ALL, CascadeType.PERSIST})
     @JoinTable(name = "mdb_columns_concepts",
             joinColumns = @JoinColumn(name = "cid", referencedColumnName = "id", nullable = false),
             inverseJoinColumns = @JoinColumn(name = "id", referencedColumnName = "id"))
     private TableColumnConcept concept;
 
-    @ManyToOne(fetch = FetchType.LAZY, cascade = {CascadeType.MERGE, CascadeType.PERSIST})
+    @ManyToOne(fetch = FetchType.LAZY, cascade = {CascadeType.ALL, CascadeType.PERSIST})
     @JoinTable(name = "mdb_columns_units",
             joinColumns = @JoinColumn(name = "cid", referencedColumnName = "id", nullable = false),
             inverseJoinColumns = @JoinColumn(name = "id", referencedColumnName = "id"))
diff --git a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/database/table/constraints/foreignKey/ForeignKey.java b/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/database/table/constraints/foreignKey/ForeignKey.java
index 92050024e5..83e0d35656 100644
--- a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/database/table/constraints/foreignKey/ForeignKey.java
+++ b/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/database/table/constraints/foreignKey/ForeignKey.java
@@ -30,7 +30,6 @@ public class ForeignKey {
     private String name;
 
     @ToString.Exclude
-    @org.springframework.data.annotation.Transient
     @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.MERGE)
     @JoinColumns({
             @JoinColumn(name = "tid", referencedColumnName = "id", nullable = false)
@@ -38,7 +37,6 @@ public class ForeignKey {
     private Table table;
 
     @ToString.Exclude
-    @org.springframework.data.annotation.Transient
     @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.MERGE)
     @JoinColumns({
             @JoinColumn(name = "rtid", referencedColumnName = "id", nullable = false)
diff --git a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/database/table/constraints/foreignKey/ForeignKeyReference.java b/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/database/table/constraints/foreignKey/ForeignKeyReference.java
index 88a1ce77a1..89f52c6cb2 100644
--- a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/database/table/constraints/foreignKey/ForeignKeyReference.java
+++ b/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/database/table/constraints/foreignKey/ForeignKeyReference.java
@@ -26,17 +26,17 @@ public class ForeignKeyReference {
     private Long id;
 
     @ToString.Exclude
-    @ManyToOne(fetch = FetchType.LAZY, optional = false)
+    @ManyToOne(fetch = FetchType.LAZY)
     @JoinColumn(name = "fkid", referencedColumnName = "fkid", nullable = false)
     private ForeignKey foreignKey;
 
-    @ManyToOne(fetch = FetchType.LAZY, optional = false)
+    @ManyToOne(fetch = FetchType.LAZY)
     @JoinColumns({
             @JoinColumn(name = "cid", referencedColumnName = "id", nullable = false)
     })
     private TableColumn column;
 
-    @ManyToOne(fetch = FetchType.LAZY, optional = false)
+    @ManyToOne(fetch = FetchType.LAZY)
     @JoinColumns({
             @JoinColumn(name = "rcid", referencedColumnName = "id", nullable = false)
     })
diff --git a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/database/table/constraints/unique/Unique.java b/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/database/table/constraints/unique/Unique.java
index d373339f2d..269410a8c8 100644
--- a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/database/table/constraints/unique/Unique.java
+++ b/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/database/table/constraints/unique/Unique.java
@@ -7,6 +7,7 @@ import org.hibernate.annotations.GenericGenerator;
 import org.springframework.data.jpa.domain.support.AuditingEntityListener;
 
 import jakarta.persistence.*;
+
 import java.util.List;
 
 @Data
diff --git a/dbrepo-metadata-service/metrics.md b/dbrepo-metadata-service/metrics.md
new file mode 100644
index 0000000000..976bacc4aa
--- /dev/null
+++ b/dbrepo-metadata-service/metrics.md
@@ -0,0 +1,67 @@
+| **Metric**                         | **Description**                        |
+|------------------------------------|----------------------------------------|
+| `dbrepo_access_delete`             | Revoke access to some database         |
+| `dbrepo_access_get`                | Check access to some database          |
+| `dbrepo_access_give`               | Give access to some database           |
+| `dbrepo_access_modify`             | Modify access to some database         |
+| `dbrepo_container_create`          | Create container                       |
+| `dbrepo_container_delete`          | Delete some container                  |
+| `dbrepo_container_find`            | Find some container                    |
+| `dbrepo_container_findall`         | Find all containers                    |
+| `dbrepo_database_create`           | Create database                        |
+| `dbrepo_database_find`             | Find some database                     |
+| `dbrepo_database_findall`          | List databases                         |
+| `dbrepo_database_image`            | Update database image                  |
+| `dbrepo_database_transfer`         | Update database owner                  |
+| `dbrepo_database_visibility`       | Update database visibility             |
+| `dbrepo_identifier_create`         | Draft identifier                       |
+| `dbrepo_identifier_delete`         | Delete some identifier                 |
+| `dbrepo_identifier_find`           | Find some identifier                   |
+| `dbrepo_identifier_list`           | Find all identifiers                   |
+| `dbrepo_identifier_publish`        | Publish identifier                     |
+| `dbrepo_identifier_retrieve`       | Retrieve metadata from identifier      |
+| `dbrepo_identifier_save`           | Save identifier                        |
+| `dbrepo_image_create`              | Create image                           |
+| `dbrepo_image_delete`              | Delete some image                      |
+| `dbrepo_image_find`                | Find some image                        |
+| `dbrepo_image_findall`             | Find all images                        |
+| `dbrepo_image_update`              | Update some image                      |
+| `dbrepo_license_findall`           | Get all licenses                       |
+| `dbrepo_maintenance_create`        | Create maintenance message             |
+| `dbrepo_maintenance_delete`        | Delete maintenance message             |
+| `dbrepo_maintenance_find`          | Find one maintenance message           |
+| `dbrepo_maintenance_findall`       | Find maintenance messages              |
+| `dbrepo_maintenance_update`        | Update maintenance message             |
+| `dbrepo_oai_identifiers_list`      | List the identifiers                   |
+| `dbrepo_oai_identify`              | Identify the repository                |
+| `dbrepo_oai_metadataformats_list`  | List the metadata formats              |
+| `dbrepo_oai_record_get`            | Get the record                         |
+| `dbrepo_ontologies_create`         | Register a new ontology                |
+| `dbrepo_ontologies_delete`         | Delete an ontology                     |
+| `dbrepo_ontologies_entities_find`  | Find entities                          |
+| `dbrepo_ontologies_find`           | Find one ontology                      |
+| `dbrepo_ontologies_findall`        | List all ontologies                    |
+| `dbrepo_ontologies_update`         | Update an ontology                     |
+| `dbrepo_semantic_column_analyse`   | Suggest table column semantics         |
+| `dbrepo_semantic_concepts_findall` | List semantic concepts                 |
+| `dbrepo_semantic_table_analyse`    | Suggest table semantics                |
+| `dbrepo_semantic_units_findall`    | List semantic units                    |
+| `dbrepo_semantics_column_save`     | Update a table column semantic mapping |
+| `dbrepo_statistic_table_update`    | Update table statistics                |
+| `dbrepo_table_create`              | Create a table                         |
+| `dbrepo_table_delete`              | Delete a table                         |
+| `dbrepo_tables_find`               | Get information about table            |
+| `dbrepo_tables_findall`            | List all tables                        |
+| `dbrepo_tables_refresh`            | Refresh database tables metadata       |
+| `dbrepo_user_create`               | Create user                            |
+| `dbrepo_user_find`                 | Get a user info                        |
+| `dbrepo_user_modify`               | Modify user information                |
+| `dbrepo_user_password_modify`      | Modify user password                   |
+| `dbrepo_user_refresh_token`        | Refresh user token                     |
+| `dbrepo_user_token`                | Obtain user token                      |
+| `dbrepo_users_list`                | Find all users                         |
+| `dbrepo_view_create`               | Create a view                          |
+| `dbrepo_view_delete`               | Delete one view                        |
+| `dbrepo_view_find`                 | Find one view                          |
+| `dbrepo_views_findall`             | Find all views                         |
+| `dbrepo_views_refresh`             | Refresh database views metadata        |
diff --git a/dbrepo-metadata-service/oai/pom.xml b/dbrepo-metadata-service/oai/pom.xml
index 591462a4e8..e432736721 100644
--- a/dbrepo-metadata-service/oai/pom.xml
+++ b/dbrepo-metadata-service/oai/pom.xml
@@ -6,33 +6,13 @@
     <parent>
         <groupId>at.tuwien</groupId>
         <artifactId>dbrepo-metadata-service</artifactId>
-        <version>1.4.3</version>
+        <version>1.4.4</version>
     </parent>
 
     <artifactId>dbrepo-metadata-service-oai</artifactId>
     <name>dbrepo-metadata-service-oai</name>
-    <version>1.4.3</version>
+    <version>1.4.4</version>
 
     <dependencies/>
 
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-compiler-plugin</artifactId>
-                <configuration>
-                    <source>${java.version}</source>
-                    <target>${java.version}</target>
-                    <annotationProcessorPaths>
-                        <path>
-                            <groupId>org.projectlombok</groupId>
-                            <artifactId>lombok</artifactId>
-                            <version>${lombok.version}</version>
-                        </path>
-                    </annotationProcessorPaths>
-                </configuration>
-            </plugin>
-        </plugins>
-    </build>
-
 </project>
\ No newline at end of file
diff --git a/dbrepo-metadata-service/pom.xml b/dbrepo-metadata-service/pom.xml
index e770adf57f..2e6651d9cf 100644
--- a/dbrepo-metadata-service/pom.xml
+++ b/dbrepo-metadata-service/pom.xml
@@ -11,7 +11,7 @@
     <groupId>at.tuwien</groupId>
     <artifactId>dbrepo-metadata-service</artifactId>
     <name>dbrepo-metadata-service</name>
-    <version>1.4.3</version>
+    <version>1.4.4</version>
 
     <description>Service that manages the metadata</description>
 
@@ -72,7 +72,6 @@
         <apache-jena.version>4.10.0</apache-jena.version>
         <opencsv.version>5.7.1</opencsv.version>
         <super-csv.version>2.4.0</super-csv.version>
-        <jsql.version>4.6</jsql.version>
         <keycloak.version>21.0.2</keycloak.version>
         <springdoc-openapi.version>2.3.0</springdoc-openapi.version>
         <testcontainers.version>1.19.1</testcontainers.version>
@@ -232,11 +231,6 @@
             <version>${rabbitmq.version}</version>
         </dependency>
         <!-- Testing -->
-        <dependency>
-            <groupId>com.github.jsqlparser</groupId>
-            <artifactId>jsqlparser</artifactId>
-            <version>${jsql.version}</version>
-        </dependency>
         <dependency>
             <groupId>org.springframework</groupId>
             <artifactId>spring-test</artifactId>
diff --git a/dbrepo-metadata-service/report/pom.xml b/dbrepo-metadata-service/report/pom.xml
index 21d50f9082..9012f19379 100644
--- a/dbrepo-metadata-service/report/pom.xml
+++ b/dbrepo-metadata-service/report/pom.xml
@@ -6,12 +6,12 @@
     <parent>
         <artifactId>dbrepo-metadata-service</artifactId>
         <groupId>at.tuwien</groupId>
-        <version>1.4.3</version>
+        <version>1.4.4</version>
     </parent>
 
     <artifactId>dbrepo-metadata-service-report</artifactId>
     <name>dbrepo-metadata-service-report</name>
-    <version>1.4.3</version>
+    <version>1.4.4</version>
 
     <dependencies>
         <dependency>
diff --git a/dbrepo-metadata-service/repositories/pom.xml b/dbrepo-metadata-service/repositories/pom.xml
index 7bee38495a..1fa4ba34e7 100644
--- a/dbrepo-metadata-service/repositories/pom.xml
+++ b/dbrepo-metadata-service/repositories/pom.xml
@@ -6,12 +6,12 @@
     <parent>
         <artifactId>dbrepo-metadata-service</artifactId>
         <groupId>at.tuwien</groupId>
-        <version>1.4.3</version>
+        <version>1.4.4</version>
     </parent>
 
     <artifactId>dbrepo-metadata-service-repositories</artifactId>
     <name>dbrepo-metadata-service-repositories</name>
-    <version>1.4.3</version>
+    <version>1.4.4</version>
 
     <dependencies>
         <dependency>
diff --git a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/CredentialsInvalidException.java b/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/CredentialsInvalidException.java
index b7c6b8d03b..984c70f485 100644
--- a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/CredentialsInvalidException.java
+++ b/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/CredentialsInvalidException.java
@@ -3,7 +3,7 @@ package at.tuwien.exception;
 import org.springframework.http.HttpStatus;
 import org.springframework.web.bind.annotation.ResponseStatus;
 
-@ResponseStatus(code = HttpStatus.UNAUTHORIZED, reason = "error.user.credentials")
+@ResponseStatus(code = HttpStatus.FORBIDDEN, reason = "error.user.credentials")
 public class CredentialsInvalidException extends Exception {
 
     public CredentialsInvalidException(String msg) {
diff --git a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/mapper/DatabaseMapper.java b/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/mapper/DatabaseMapper.java
index ce89fc93c6..c2428f5f2a 100644
--- a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/mapper/DatabaseMapper.java
+++ b/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/mapper/DatabaseMapper.java
@@ -44,11 +44,15 @@ public interface DatabaseMapper {
     }
 
     @Mappings({
-            @Mapping(target = "id", source = "id"),
             @Mapping(target = "created", source = "created", dateFormat = "dd-MM-yyyy HH:mm"),
     })
     DatabaseDto databaseToDatabaseDto(Database data);
 
+    @Mappings({
+            @Mapping(target = "created", source = "created", dateFormat = "dd-MM-yyyy HH:mm"),
+    })
+    DatabaseBriefDto databaseToDatabaseBriefDto(Database data);
+
     AccessType accessTypeDtoToAccessType(AccessTypeDto data);
 
     AccessTypeDto accessTypeToAccessTypeDto(AccessType data);
diff --git a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/mapper/QueryMapper.java b/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/mapper/QueryMapper.java
deleted file mode 100644
index f5b74f4b28..0000000000
--- a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/mapper/QueryMapper.java
+++ /dev/null
@@ -1,196 +0,0 @@
-package at.tuwien.mapper;
-
-import at.tuwien.entities.database.Database;
-import at.tuwien.entities.database.View;
-import at.tuwien.entities.database.ViewColumn;
-import at.tuwien.entities.database.table.Table;
-import at.tuwien.entities.database.table.columns.TableColumn;
-import at.tuwien.entities.database.table.columns.TableColumnType;
-import net.sf.jsqlparser.JSQLParserException;
-import net.sf.jsqlparser.parser.CCJSqlParserManager;
-import net.sf.jsqlparser.schema.Column;
-import net.sf.jsqlparser.statement.select.*;
-import net.sf.jsqlparser.statement.select.PlainSelect;
-import net.sf.jsqlparser.statement.select.Select;
-import net.sf.jsqlparser.statement.select.SelectItem;
-import org.mapstruct.Mapper;
-import org.springframework.transaction.annotation.Transactional;
-
-import java.io.*;
-import java.math.BigInteger;
-import java.sql.*;
-import java.time.*;
-import java.time.format.DateTimeFormatter;
-import java.time.format.DateTimeFormatterBuilder;
-import java.util.*;
-import java.util.stream.Collectors;
-import java.util.stream.Stream;
-
-@Mapper(componentModel = "spring", imports = {LinkedList.class})
-public interface QueryMapper {
-
-    org.slf4j.Logger log = org.slf4j.LoggerFactory.getLogger(QueryMapper.class);
-
-    /**
-     * Parses the stored columns from a given query.
-     *
-     * @param query    The query.
-     * @param database The database that contains the list of tables with list of columns.
-     * @return List of columns in the order they are referenced in the query.
-     * @throws JSQLParserException The columns could not be extracted from the query.
-     */
-    @Transactional(readOnly = true)
-    default List<TableColumn> parseColumns(String query, Database database) throws JSQLParserException {
-        final List<TableColumn> columns = new ArrayList<>();
-        final CCJSqlParserManager parserRealSql = new CCJSqlParserManager();
-        final net.sf.jsqlparser.statement.Statement statement = parserRealSql.parse(new StringReader(query));
-        log.debug("parse columns from query: {}", query);
-        /* check */
-        if (!(statement instanceof Select)) {
-            log.error("Query attempts to update the dataset, not a SELECT statement");
-            throw new JSQLParserException("Query attempts to update the dataset");
-        }
-        /* start parsing */
-        final Select selectStatement = (Select) statement;
-        final PlainSelect ps = (PlainSelect) selectStatement.getSelectBody();
-        final List<SelectItem> clauses = ps.getSelectItems();
-        log.trace("columns referenced in the from-clause: {}", clauses);
-        /* Parse all tables */
-        final List<FromItem> fromItems = new ArrayList<>(fromItemToFromItems(ps.getFromItem()));
-        if (ps.getJoins() != null && !ps.getJoins().isEmpty()) {
-            log.trace("query contains join items: {}", ps.getJoins());
-            for (net.sf.jsqlparser.statement.select.Join j : ps.getJoins()) {
-                if (j.getRightItem() != null) {
-                    fromItems.add(j.getRightItem());
-                }
-            }
-        }
-        final List<ViewColumn> allColumns = Stream.of(database.getViews()
-                                .stream()
-                                .map(View::getColumns)
-                                .flatMap(List::stream),
-                        database.getTables()
-                                .stream()
-                                .map(Table::getColumns)
-                                .flatMap(List::stream)
-                                .map(c -> ViewColumn.builder()
-                                        .column(c)
-                                        .alias(c.getAlias())
-                                        .ordinalPosition(c.getOrdinalPosition())
-                                        .build())
-                )
-                .flatMap(i -> i)
-                .toList();
-        log.trace("columns referenced in the from-clause and join-clause(s): {}", clauses);
-        /* Checking if all tables or views exist */
-        log.trace("table/view/join referenced in the statement: {}", fromItems.stream().map(this::fromItemToFromItems).flatMap(List::stream).collect(Collectors.toList()));
-        /* Checking if all columns exist */
-        for (SelectItem clause : clauses) {
-            final SelectExpressionItem item = (SelectExpressionItem) clause;
-            final Column column = (Column) item.getExpression();
-            final Optional<net.sf.jsqlparser.schema.Table> optional = fromItems.stream()
-                    .map(t -> (net.sf.jsqlparser.schema.Table) t)
-                    .filter(t -> {
-                        if (column.getTable() == null) {
-                            /* column does not reference a specific table, so there is only one table */
-                            final String tableName = ((net.sf.jsqlparser.schema.Table) fromItems.get(0)).getName().replace("`", "");
-                            return tableMatches(t, tableName);
-                        }
-                        final String tableName = column.getTable().getName().replace("`", "");
-                        return tableMatches(t, tableName);
-                    })
-                    .findFirst();
-            if (optional.isEmpty()) {
-                log.error("Failed to find table/view {} (with designator {})", column.getTable().getName(), column.getTable().getAlias());
-                throw new JSQLParserException("Failed to find table/view " + column.getTable().getName() + " (with alias " + column.getTable().getAlias() + ")");
-            }
-            final String columnName = column.getColumnName().replace("`", "");
-            final String tableOrView = optional.get().getName().replace("`", "");
-            final List<ViewColumn> filteredColumns = allColumns.stream()
-                    .filter(c -> (c.getAlias() != null && c.getAlias().equals(columnName)) || c.getColumn().getInternalName().equals(columnName))
-                    .toList();
-            final Optional<ViewColumn> optionalColumn = filteredColumns.stream()
-                    .filter(c -> columnMatches(c, tableOrView))
-                    .findFirst();
-            if (optionalColumn.isEmpty()) {
-                log.error("Failed to find column with name {} of table/view {} in {}", columnName, tableOrView, filteredColumns.stream().map(c -> c.getColumn().getTable().getInternalName() + "." + c.getColumn().getInternalName()).toList());
-                throw new JSQLParserException("Failed to find column with name " + columnName + " of table/view " + tableOrView);
-            }
-            final ViewColumn resultColumn = optionalColumn.get();
-            if (item.getAlias() != null) {
-                resultColumn.getColumn().setAlias(item.getAlias().getName().replace("`", ""));
-            }
-            log.trace("found column with internal name {} and alias {}", resultColumn.getColumn().getInternalName(), resultColumn.getAlias());
-            columns.add(resultColumn.getColumn());
-        }
-        return columns;
-    }
-
-    default List<FromItem> fromItemToFromItems(FromItem data) {
-        return fromItemToFromItems(data, 0);
-    }
-
-    default List<FromItem> fromItemToFromItems(FromItem data, Integer level) {
-        final List<FromItem> fromItems = new LinkedList<>();
-        if (data instanceof net.sf.jsqlparser.schema.Table table) {
-            fromItems.add(data);
-            log.trace("from-item {} is of type table: level ~> {}", table.getName(), level);
-            return fromItems;
-        }
-        if (data instanceof SubJoin subJoin) {
-            log.trace("from-item is of type sub-join: level ~> {}", level);
-            for (Join join : subJoin.getJoinList()) {
-                fromItems.addAll(fromItemToFromItems(join.getRightItem(), level + 1));
-            }
-            fromItems.addAll(fromItemToFromItems(((SubJoin) data).getLeft(), level + 1));
-            return fromItems;
-        }
-        log.warn("unknown from-item {}", data);
-        return null;
-    }
-
-    default boolean tableMatches(net.sf.jsqlparser.schema.Table table, String otherTableName) {
-        final String tableName = table.getName()
-                .trim()
-                .replace("`", "");
-        if (table.getAlias() == null) {
-            /* table does not have designator */
-            log.trace("table {} has no designator", tableName);
-            return tableName.equals(otherTableName);
-        }
-        /* has designator */
-        final String designator = table.getAlias()
-                .getName()
-                .trim()
-                .replace("`", "");
-        log.trace("table {} has designator {}", tableName, designator);
-        return designator.equals(otherTableName);
-    }
-
-    @Transactional(readOnly = true)
-    default boolean columnMatches(ViewColumn column, String tableOrView) {
-        if (column.getView() != null && column.getView().getInternalName().equals(tableOrView)) {
-            log.trace("view {} found in column table", tableOrView);
-            return true;
-        }
-        if (column.getColumn().getTable().getInternalName().equals(tableOrView)) {
-            log.trace("table {} found in column table", tableOrView);
-            return true;
-        }
-        if (column.getColumn().getViews() == null) {
-            log.trace("table/view {} not found among column views: empty list", tableOrView);
-            return false;
-        }
-        /* maybe matches one of the other views */
-        final boolean found = column.getColumn()
-                .getViews()
-                .stream()
-                .anyMatch(v -> v.getInternalName().equals(tableOrView));
-        if (!found) {
-            log.trace("table/view {} not found among column views: {}", tableOrView, column.getColumn().getViews().stream().map(View::getInternalName).toList());
-        }
-        return found;
-    }
-
-
-}
diff --git a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/mapper/TableMapper.java b/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/mapper/TableMapper.java
index 62d05fcbba..a63bc5c945 100644
--- a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/mapper/TableMapper.java
+++ b/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/mapper/TableMapper.java
@@ -1,16 +1,16 @@
 package at.tuwien.mapper;
 
-import at.tuwien.api.database.ViewDto;
 import at.tuwien.api.database.table.TableBriefDto;
 import at.tuwien.api.database.table.TableDto;
 import at.tuwien.api.database.table.columns.ColumnCreateDto;
 import at.tuwien.api.database.table.columns.ColumnDto;
 import at.tuwien.api.database.table.constraints.ConstraintsCreateDto;
 import at.tuwien.api.database.table.constraints.ConstraintsDto;
+import at.tuwien.api.database.table.constraints.foreign.ForeignKeyDto;
+import at.tuwien.api.database.table.constraints.foreign.ForeignKeyReferenceDto;
 import at.tuwien.api.database.table.constraints.unique.UniqueDto;
 import at.tuwien.entities.container.image.ContainerImage;
 import at.tuwien.entities.database.Database;
-import at.tuwien.entities.database.View;
 import at.tuwien.entities.database.table.Table;
 import at.tuwien.entities.database.table.columns.TableColumn;
 import at.tuwien.entities.database.table.constraints.Constraints;
@@ -26,7 +26,7 @@ import java.util.*;
 import java.util.regex.Pattern;
 import java.util.stream.Collectors;
 
-@Mapper(componentModel = "spring", uses = {IdentifierMapper.class, UserMapper.class}, imports = {Collectors.class})
+@Mapper(componentModel = "spring", uses = {IdentifierMapper.class, UserMapper.class}, imports = {Collectors.class, LinkedList.class})
 public interface TableMapper {
 
     org.slf4j.Logger log = org.slf4j.LoggerFactory.getLogger(TableMapper.class);
@@ -38,25 +38,53 @@ public interface TableMapper {
     })
     TableBriefDto tableToTableBriefDto(Table data);
 
-    @Mappings({
-            @Mapping(target = "table.constraints", ignore = true),
-    })
-    UniqueDto uniqueToUniqueDto(Unique data);
+    TableBriefDto tableDtoToTableBriefDto(TableDto data);
+
+    /* keep */
+    default UniqueDto uniqueToUniqueDto(Unique data) {
+        return UniqueDto.builder()
+                .uid(data.getUid())
+                .name("uk")
+                .columns(data.getColumns().stream().map(this::tableColumnToColumnDto).toList())
+                .table(tableToTableBriefDto(data.getTable()))
+                .build();
+    }
 
     @Mappings({
             @Mapping(target = "name", expression = "java(data.getName())"),
             @Mapping(target = "internalName", expression = "java(data.getInternalName())"),
             @Mapping(target = "queueName", expression = "java(data.getQueueName())"),
             @Mapping(target = "routingKey", expression = "java(\"dbrepo.\" + data.getTdbid() + \".\" + data.getId())"),
-            @Mapping(target = "isPublic", source = "database.isPublic")
+            @Mapping(target = "isPublic", source = "database.isPublic"),
     })
     TableDto tableToTableDto(Table data);
 
-    /* keep */
     @Mappings({
-            @Mapping(target = "primaryKey", expression = "java(data.getPrimaryKey().stream().map(pk -> pk.getColumn().getInternalName()).collect(Collectors.toSet()))")
+            @Mapping(target = "table", ignore = true),
+            @Mapping(target = "referencedTable", ignore = true),
+    })
+    ForeignKeyDto foreignKeyToForeignKeyDto(ForeignKey foreignKey);
+
+    @Mappings({
+            @Mapping(target = "foreignKey", ignore = true),
     })
-    ConstraintsDto constraintsToConstraintsDto(Constraints data);
+    ForeignKeyReferenceDto foreignKeyReferenceToForeignKeyReferenceDto(ForeignKeyReference foreignKeyReference);
+
+    @Mappings({
+            @Mapping(target = "table", ignore = true)
+    })
+    TableColumn columnDtoToTableColumn(ColumnDto columnDto);
+
+    @Mappings({
+            @Mapping(target = "table", ignore = true)
+    })
+    Unique uniqueDtoToUnique(UniqueDto data);
+
+    @Mappings({
+            @Mapping(target = "constraints.primaryKey", expression = "java(new LinkedList<>())"),
+            @Mapping(target = "ownedBy", source = "owner.id"),
+    })
+    Table tableDtoToTable(TableDto data);
 
     /* keep */
     default Constraints constraintsCreateDtoToConstraints(ConstraintsCreateDto data, Database database, Table table) {
@@ -151,13 +179,13 @@ public interface TableMapper {
             @Mapping(target = "tableId", source = "table.id"),
             @Mapping(target = "databaseId", source = "table.database.id"),
             @Mapping(target = "isPublic", source = "table.database.isPublic"),
+            @Mapping(target = "description", source = "description"),
             @Mapping(target = "table.columns", ignore = true),
             @Mapping(target = "table.constraints", ignore = true),
             @Mapping(target = "views", ignore = true)
     })
     ColumnDto tableColumnToColumnDto(TableColumn data);
 
-
     @Named("internalMapping")
     default String nameToInternalName(String data) {
         if (data == null || data.isEmpty()) {
diff --git a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/mapper/ViewMapper.java b/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/mapper/ViewMapper.java
index 7333639371..7d8f2416b1 100644
--- a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/mapper/ViewMapper.java
+++ b/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/mapper/ViewMapper.java
@@ -3,16 +3,12 @@ package at.tuwien.mapper;
 import at.tuwien.api.database.ViewBriefDto;
 import at.tuwien.api.database.ViewDto;
 import at.tuwien.entities.database.View;
-import at.tuwien.entities.database.ViewColumn;
-import at.tuwien.entities.database.table.columns.TableColumn;
 import org.mapstruct.Mapper;
 import org.mapstruct.Mapping;
 import org.mapstruct.Mappings;
 import org.mapstruct.Named;
-import org.springframework.transaction.annotation.Transactional;
 
 import java.text.Normalizer;
-import java.util.List;
 import java.util.Locale;
 import java.util.regex.Pattern;
 
@@ -44,24 +40,9 @@ public interface ViewMapper {
 
     ViewBriefDto viewToViewBriefDto(View data);
 
-    @Transactional(readOnly = true)
-    default TableColumn viewColumnToTableColumn(ViewColumn data) {
-        return data.getColumn()
-                .toBuilder()
-                .alias(data.getAlias())
-                .build();
-    }
-
-    default List<ViewColumn> tableColumnsToViewColumns(View view, List<TableColumn> data) {
-        final int[] idx = new int[]{0};
-        return data.stream()
-                .map(c -> ViewColumn.builder()
-                        .ordinalPosition(idx[0]++)
-                        .column(c)
-                        .view(view)
-                        .alias(c.getAlias())
-                        .build())
-                .toList();
-    }
+    @Mappings({
+            @Mapping(target = "createdBy", source = "creator.id"),
+    })
+    View viewDtoToView(ViewDto data);
 
 }
diff --git a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/repository/ContainerRepository.java b/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/repository/ContainerRepository.java
index 8155aef9cc..e1a1f209e3 100644
--- a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/repository/ContainerRepository.java
+++ b/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/repository/ContainerRepository.java
@@ -1,6 +1,7 @@
 package at.tuwien.repository;
 
 import at.tuwien.entities.container.Container;
+import at.tuwien.entities.container.image.ContainerImageDate;
 import org.springframework.data.domain.Pageable;
 import org.springframework.data.jpa.repository.JpaRepository;
 import org.springframework.stereotype.Repository;
diff --git a/dbrepo-metadata-service/rest-service/pom.xml b/dbrepo-metadata-service/rest-service/pom.xml
index ba715899b7..97e108fa0d 100644
--- a/dbrepo-metadata-service/rest-service/pom.xml
+++ b/dbrepo-metadata-service/rest-service/pom.xml
@@ -6,12 +6,12 @@
     <parent>
         <artifactId>dbrepo-metadata-service</artifactId>
         <groupId>at.tuwien</groupId>
-        <version>1.4.3</version>
+        <version>1.4.4</version>
     </parent>
 
     <artifactId>dbrepo-metadata-service-rest-service</artifactId>
     <name>dbrepo-metadata-service-rest</name>
-    <version>1.4.3</version>
+    <version>1.4.4</version>
 
     <dependencies>
         <dependency>
diff --git a/dbrepo-metadata-service/rest-service/src/main/java/at/tuwien/endpoints/AccessEndpoint.java b/dbrepo-metadata-service/rest-service/src/main/java/at/tuwien/endpoints/AccessEndpoint.java
index 3fe8d96df6..ea66257cc1 100644
--- a/dbrepo-metadata-service/rest-service/src/main/java/at/tuwien/endpoints/AccessEndpoint.java
+++ b/dbrepo-metadata-service/rest-service/src/main/java/at/tuwien/endpoints/AccessEndpoint.java
@@ -54,7 +54,7 @@ public class AccessEndpoint {
 
     @PostMapping("/{userId}")
     @Transactional
-    @Observed(name = "dbrepo_metadata_access_give")
+    @Observed(name = "dbrepo_access_give")
     @PreAuthorize("hasAuthority('create-database-access')")
     @Operation(summary = "Give access to some database", security = {@SecurityRequirement(name = "bearerAuth"), @SecurityRequirement(name = "basicAuth")})
     @ApiResponses(value = {
@@ -120,7 +120,7 @@ public class AccessEndpoint {
 
     @PutMapping("/{userId}")
     @Transactional
-    @Observed(name = "dbrepo_metadata_access_modify")
+    @Observed(name = "dbrepo_access_modify")
     @PreAuthorize("hasAuthority('update-database-access')")
     @Operation(summary = "Modify access to some database", security = {@SecurityRequirement(name = "bearerAuth"), @SecurityRequirement(name = "basicAuth")})
     @ApiResponses(value = {
@@ -175,7 +175,7 @@ public class AccessEndpoint {
 
     @RequestMapping(value = "/{userId}", method = {RequestMethod.GET, RequestMethod.HEAD})
     @Transactional(readOnly = true)
-    @Observed(name = "dbrepo_metadata_access_get")
+    @Observed(name = "dbrepo_access_get")
     @PreAuthorize("hasAuthority('check-database-access') or hasAuthority('admin')")
     @Operation(summary = "Check access to some database", security = {@SecurityRequirement(name = "bearerAuth"), @SecurityRequirement(name = "basicAuth")})
     @ApiResponses(value = {
@@ -218,7 +218,7 @@ public class AccessEndpoint {
 
     @DeleteMapping("/{userId}")
     @Transactional
-    @Observed(name = "dbrepo_metadata_access_delete")
+    @Observed(name = "dbrepo_access_delete")
     @PreAuthorize("hasAuthority('delete-database-access')")
     @Operation(summary = "Revoke access to some database", security = {@SecurityRequirement(name = "bearerAuth"), @SecurityRequirement(name = "basicAuth")})
     @ApiResponses(value = {
diff --git a/dbrepo-metadata-service/rest-service/src/main/java/at/tuwien/endpoints/ConceptEndpoint.java b/dbrepo-metadata-service/rest-service/src/main/java/at/tuwien/endpoints/ConceptEndpoint.java
index 8cdc6f2513..2d002e8449 100644
--- a/dbrepo-metadata-service/rest-service/src/main/java/at/tuwien/endpoints/ConceptEndpoint.java
+++ b/dbrepo-metadata-service/rest-service/src/main/java/at/tuwien/endpoints/ConceptEndpoint.java
@@ -36,7 +36,7 @@ public class ConceptEndpoint {
 
     @GetMapping
     @Transactional(readOnly = true)
-    @Observed(name = "dbrepo_metadata_semantic_concepts_findall")
+    @Observed(name = "dbrepo_semantic_concepts_findall")
     @Operation(summary = "List semantic concepts")
     @ApiResponses(value = {
             @ApiResponse(responseCode = "200",
diff --git a/dbrepo-metadata-service/rest-service/src/main/java/at/tuwien/endpoints/ContainerEndpoint.java b/dbrepo-metadata-service/rest-service/src/main/java/at/tuwien/endpoints/ContainerEndpoint.java
index 45c45a816f..02f5a00f2b 100644
--- a/dbrepo-metadata-service/rest-service/src/main/java/at/tuwien/endpoints/ContainerEndpoint.java
+++ b/dbrepo-metadata-service/rest-service/src/main/java/at/tuwien/endpoints/ContainerEndpoint.java
@@ -53,7 +53,7 @@ public class ContainerEndpoint {
 
     @GetMapping
     @Transactional(readOnly = true)
-    @Observed(name = "dbrepo_metadata_container_findall")
+    @Observed(name = "dbrepo_container_findall")
     @Operation(summary = "Find all containers")
     @ApiResponses(value = {
             @ApiResponse(responseCode = "200",
@@ -75,7 +75,7 @@ public class ContainerEndpoint {
 
     @PostMapping
     @Transactional
-    @Observed(name = "dbrepo_metadata_container_create")
+    @Observed(name = "dbrepo_container_create")
     @PreAuthorize("hasAuthority('create-container')")
     @Operation(summary = "Create container", security = {@SecurityRequirement(name = "bearerAuth"), @SecurityRequirement(name = "basicAuth")})
     @ApiResponses(value = {
@@ -107,7 +107,7 @@ public class ContainerEndpoint {
 
     @GetMapping("/{containerId}")
     @Transactional(readOnly = true)
-    @Observed(name = "dbrepo_metadata_container_find")
+    @Observed(name = "dbrepo_container_find")
     @Operation(summary = "Find some container")
     @ApiResponses(value = {
             @ApiResponse(responseCode = "200",
@@ -135,6 +135,7 @@ public class ContainerEndpoint {
                 log.trace("attach privileged credential information");
                 headers.set("X-Username", container.getPrivilegedUsername());
                 headers.set("X-Password", container.getPrivilegedPassword());
+                headers.set("Access-Control-Expose-Headers", "X-Username X-Password");
             }
         }
         return ResponseEntity.ok()
@@ -144,7 +145,7 @@ public class ContainerEndpoint {
 
     @DeleteMapping("/{containerId}")
     @Transactional
-    @Observed(name = "dbrepo_metadata_container_delete")
+    @Observed(name = "dbrepo_container_delete")
     @PreAuthorize("hasAuthority('delete-container')")
     @Operation(summary = "Delete some container", security = {@SecurityRequirement(name = "bearerAuth"), @SecurityRequirement(name = "basicAuth")})
     @ApiResponses(value = {
diff --git a/dbrepo-metadata-service/rest-service/src/main/java/at/tuwien/endpoints/DatabaseEndpoint.java b/dbrepo-metadata-service/rest-service/src/main/java/at/tuwien/endpoints/DatabaseEndpoint.java
index 1cbf313378..b364e2dcfc 100644
--- a/dbrepo-metadata-service/rest-service/src/main/java/at/tuwien/endpoints/DatabaseEndpoint.java
+++ b/dbrepo-metadata-service/rest-service/src/main/java/at/tuwien/endpoints/DatabaseEndpoint.java
@@ -1,7 +1,6 @@
 package at.tuwien.endpoints;
 
 import at.tuwien.api.amqp.ExchangeDto;
-import at.tuwien.api.auth.LoginRequestDto;
 import at.tuwien.api.database.*;
 import at.tuwien.api.error.ApiErrorDto;
 import at.tuwien.config.RabbitConfig;
@@ -45,29 +44,27 @@ public class DatabaseEndpoint {
     private final UserService userService;
     private final RabbitConfig rabbitConfig;
     private final AccessService accessService;
-    private final BrokerService messageQueueService;
+    private final BrokerService brokerService;
     private final DatabaseMapper databaseMapper;
     private final StorageService storageService;
     private final DatabaseService databaseService;
-    private final AuthenticationService authenticationService;
 
     @Autowired
     public DatabaseEndpoint(UserService userService, RabbitConfig rabbitConfig, AccessService accessService,
-                            BrokerService messageQueueService, DatabaseMapper databaseMapper,
-                            StorageService storageService, DatabaseService databaseService, AuthenticationService authenticationService) {
+                            BrokerService brokerService, DatabaseMapper databaseMapper,
+                            StorageService storageService, DatabaseService databaseService) {
         this.userService = userService;
         this.rabbitConfig = rabbitConfig;
         this.accessService = accessService;
-        this.messageQueueService = messageQueueService;
+        this.brokerService = brokerService;
         this.databaseMapper = databaseMapper;
         this.storageService = storageService;
         this.databaseService = databaseService;
-        this.authenticationService = authenticationService;
     }
 
     @RequestMapping(method = {RequestMethod.GET, RequestMethod.HEAD})
     @Transactional(readOnly = true)
-    @Observed(name = "dbrepo_metadata_database_findall")
+    @Observed(name = "dbrepo_database_findall")
     @Operation(summary = "List databases")
     @ApiResponses(value = {
             @ApiResponse(responseCode = "200",
@@ -76,19 +73,19 @@ public class DatabaseEndpoint {
                             mediaType = "application/json",
                             array = @ArraySchema(schema = @Schema(implementation = DatabaseDto.class)))}),
     })
-    public ResponseEntity<List<DatabaseDto>> list(@RequestParam(name = "internal_name", required = false) String internalName) {
+    public ResponseEntity<List<DatabaseBriefDto>> list(@RequestParam(name = "internal_name", required = false) String internalName) {
         log.debug("endpoint list databases, internalName={}", internalName);
-        List<DatabaseDto> dtos = new LinkedList<>();
+        List<DatabaseBriefDto> dtos = new LinkedList<>();
         if (internalName != null) {
             try {
-                dtos = List.of(databaseMapper.databaseToDatabaseDto(databaseService.findByInternalName(internalName)));
+                dtos = List.of(databaseMapper.databaseToDatabaseBriefDto(databaseService.findByInternalName(internalName)));
             } catch (DatabaseNotFoundException e) {
                 /* ignore */
             }
         } else {
             dtos = databaseService.findAll()
                     .stream()
-                    .map(databaseMapper::databaseToDatabaseDto)
+                    .map(databaseMapper::databaseToDatabaseBriefDto)
                     .toList();
         }
         log.trace("list databases resulted in {} database(s)", dtos.size());
@@ -103,7 +100,7 @@ public class DatabaseEndpoint {
     @PostMapping
     @Transactional(rollbackFor = Exception.class)
     @PreAuthorize("hasAuthority('create-database')")
-    @Observed(name = "dbrepo_metadata_database_create")
+    @Observed(name = "dbrepo_database_create")
     @Operation(summary = "Create database", security = {@SecurityRequirement(name = "bearerAuth"), @SecurityRequirement(name = "basicAuth")})
     @ApiResponses(value = {
             @ApiResponse(responseCode = "201",
@@ -122,7 +119,7 @@ public class DatabaseEndpoint {
                             mediaType = "application/json",
                             schema = @Schema(implementation = ApiErrorDto.class))}),
             @ApiResponse(responseCode = "404",
-                    description = "Container, user or database could not be found",
+                    description = "Failed to fin container/user/database in metadata database",
                     content = {@Content(
                             mediaType = "application/json",
                             schema = @Schema(implementation = ApiErrorDto.class))}),
@@ -131,8 +128,13 @@ public class DatabaseEndpoint {
                     content = {@Content(
                             mediaType = "application/json",
                             schema = @Schema(implementation = ApiErrorDto.class))}),
+            @ApiResponse(responseCode = "502",
+                    description = "Connection to search service failed",
+                    content = {@Content(
+                            mediaType = "application/json",
+                            schema = @Schema(implementation = ApiErrorDto.class))}),
             @ApiResponse(responseCode = "503",
-                    description = "Connection to the database failed",
+                    description = "Failed to save in search service",
                     content = {@Content(
                             mediaType = "application/json",
                             schema = @Schema(implementation = ApiErrorDto.class))}),
@@ -149,10 +151,107 @@ public class DatabaseEndpoint {
                 .body(dto);
     }
 
+    @PutMapping("/{databaseId}/metadata/table")
+    @Transactional(rollbackFor = {SearchServiceException.class, SearchServiceConnectionException.class, DatabaseNotFoundException.class})
+    @PreAuthorize("hasAuthority('find-database')")
+    @Observed(name = "dbrepo_tables_refresh")
+    @Operation(summary = "Refresh database tables metadata", security = {@SecurityRequirement(name = "bearerAuth"), @SecurityRequirement(name = "basicAuth")})
+    @ApiResponses(value = {
+            @ApiResponse(responseCode = "200",
+                    description = "Refreshed database tables metadata",
+                    content = {@Content(
+                            mediaType = "application/json",
+                            schema = @Schema(implementation = DatabaseDto.class))}),
+            @ApiResponse(responseCode = "400",
+                    description = "Failed to parse payload at search service",
+                    content = {@Content(
+                            mediaType = "application/json",
+                            schema = @Schema(implementation = ApiErrorDto.class))}),
+            @ApiResponse(responseCode = "403",
+                    description = "Not allowed to refresh table metadata",
+                    content = {@Content(
+                            mediaType = "application/json",
+                            schema = @Schema(implementation = ApiErrorDto.class))}),
+            @ApiResponse(responseCode = "404",
+                    description = "Failed to fin user/database in metadata database",
+                    content = {@Content(
+                            mediaType = "application/json",
+                            schema = @Schema(implementation = ApiErrorDto.class))}),
+            @ApiResponse(responseCode = "502",
+                    description = "Connection to search service failed",
+                    content = {@Content(
+                            mediaType = "application/json",
+                            schema = @Schema(implementation = ApiErrorDto.class))}),
+            @ApiResponse(responseCode = "503",
+                    description = "Failed to save in search service",
+                    content = {@Content(
+                            mediaType = "application/json",
+                            schema = @Schema(implementation = ApiErrorDto.class))}),
+    })
+    public ResponseEntity<DatabaseDto> refreshTableMetadata(@NotNull @PathVariable("databaseId") Long databaseId,
+                                                            @NotNull Principal principal) throws ServiceException,
+            ServiceConnectionException, DatabaseNotFoundException, SearchServiceException,
+            SearchServiceConnectionException, NotAllowedException, QueryNotFoundException, MalformedException {
+        log.debug("endpoint refresh database metadata, databaseId={}", databaseId);
+        Database database = databaseService.findById(databaseId);
+        if (!database.getOwner().equals(principal)) {
+            log.error("Failed to refresh database tables metadata: not owner");
+            throw new NotAllowedException("Failed to refresh tables metadata: not owner");
+        }
+        final DatabaseDto dto = databaseMapper.databaseToDatabaseDto(databaseService.updateTableMetadata(database));
+        return ResponseEntity.ok(dto);
+    }
+
+    @PutMapping("/{databaseId}/metadata/view")
+    @Transactional(rollbackFor = {SearchServiceException.class, SearchServiceConnectionException.class, DatabaseNotFoundException.class})
+    @PreAuthorize("hasAuthority('find-database')")
+    @Observed(name = "dbrepo_views_refresh")
+    @Operation(summary = "Refresh database views metadata", security = {@SecurityRequirement(name = "bearerAuth"), @SecurityRequirement(name = "basicAuth")})
+    @ApiResponses(value = {
+            @ApiResponse(responseCode = "200",
+                    description = "Refreshed database views metadata",
+                    content = {@Content(
+                            mediaType = "application/json",
+                            schema = @Schema(implementation = DatabaseDto.class))}),
+            @ApiResponse(responseCode = "403",
+                    description = "Refresh view metadata is not permitted",
+                    content = {@Content(
+                            mediaType = "application/json",
+                            schema = @Schema(implementation = ApiErrorDto.class))}),
+            @ApiResponse(responseCode = "404",
+                    description = "Failed to find database in metadata database",
+                    content = {@Content(
+                            mediaType = "application/json",
+                            schema = @Schema(implementation = ApiErrorDto.class))}),
+            @ApiResponse(responseCode = "502",
+                    description = "Connection to search service failed",
+                    content = {@Content(
+                            mediaType = "application/json",
+                            schema = @Schema(implementation = ApiErrorDto.class))}),
+            @ApiResponse(responseCode = "503",
+                    description = "Failed to save in search service",
+                    content = {@Content(
+                            mediaType = "application/json",
+                            schema = @Schema(implementation = ApiErrorDto.class))}),
+    })
+    public ResponseEntity<DatabaseDto> refreshViewMetadata(@NotNull @PathVariable("databaseId") Long databaseId,
+                                                           @NotNull Principal principal) throws ServiceException,
+            ServiceConnectionException, DatabaseNotFoundException, SearchServiceException,
+            SearchServiceConnectionException, NotAllowedException, QueryNotFoundException {
+        log.debug("endpoint refresh database metadata, databaseId={}", databaseId);
+        Database database = databaseService.findById(databaseId);
+        if (!database.getOwner().equals(principal)) {
+            log.error("Failed to refresh database views metadata: not owner");
+            throw new NotAllowedException("Failed to refresh database views metadata: not owner");
+        }
+        final DatabaseDto dto = databaseMapper.databaseToDatabaseDto(databaseService.updateViewMetadata(database));
+        return ResponseEntity.ok(dto);
+    }
+
     @PutMapping("/{databaseId}/visibility")
     @Transactional
     @PreAuthorize("hasAuthority('modify-database-visibility')")
-    @Observed(name = "dbrepo_metadata_database_visibility")
+    @Observed(name = "dbrepo_database_visibility")
     @Operation(summary = "Update database visibility", security = {@SecurityRequirement(name = "bearerAuth"), @SecurityRequirement(name = "basicAuth")})
     @ApiResponses(value = {
             @ApiResponse(responseCode = "202",
@@ -160,13 +259,23 @@ public class DatabaseEndpoint {
                     content = {@Content(
                             mediaType = "application/json",
                             schema = @Schema(implementation = DatabaseDto.class))}),
+            @ApiResponse(responseCode = "403",
+                    description = "Visibility modification is not permitted",
+                    content = {@Content(
+                            mediaType = "application/json",
+                            schema = @Schema(implementation = ApiErrorDto.class))}),
             @ApiResponse(responseCode = "404",
-                    description = "Database could not be found",
+                    description = "Failed to find database in metadata database",
                     content = {@Content(
                             mediaType = "application/json",
                             schema = @Schema(implementation = ApiErrorDto.class))}),
-            @ApiResponse(responseCode = "403",
-                    description = "Visibility modification is not permitted",
+            @ApiResponse(responseCode = "502",
+                    description = "Connection to search service failed",
+                    content = {@Content(
+                            mediaType = "application/json",
+                            schema = @Schema(implementation = ApiErrorDto.class))}),
+            @ApiResponse(responseCode = "503",
+                    description = "Failed to save in search service",
                     content = {@Content(
                             mediaType = "application/json",
                             schema = @Schema(implementation = ApiErrorDto.class))}),
@@ -189,7 +298,7 @@ public class DatabaseEndpoint {
     @PutMapping("/{databaseId}/owner")
     @Transactional
     @PreAuthorize("hasAuthority('modify-database-owner')")
-    @Observed(name = "dbrepo_metadata_database_transfer")
+    @Observed(name = "dbrepo_database_transfer")
     @Operation(summary = "Update database owner", security = {@SecurityRequirement(name = "bearerAuth"), @SecurityRequirement(name = "basicAuth")})
     @ApiResponses(value = {
             @ApiResponse(responseCode = "202",
@@ -207,6 +316,16 @@ public class DatabaseEndpoint {
                     content = {@Content(
                             mediaType = "application/json",
                             schema = @Schema(implementation = ApiErrorDto.class))}),
+            @ApiResponse(responseCode = "502",
+                    description = "Connection to search service failed",
+                    content = {@Content(
+                            mediaType = "application/json",
+                            schema = @Schema(implementation = ApiErrorDto.class))}),
+            @ApiResponse(responseCode = "503",
+                    description = "Failed to save in search service",
+                    content = {@Content(
+                            mediaType = "application/json",
+                            schema = @Schema(implementation = ApiErrorDto.class))}),
     })
     public ResponseEntity<DatabaseDto> transfer(@NotNull @PathVariable("databaseId") Long databaseId,
                                                 @Valid @RequestBody DatabaseTransferDto data,
@@ -229,7 +348,7 @@ public class DatabaseEndpoint {
     @PutMapping("/{databaseId}/image")
     @Transactional
     @PreAuthorize("hasAuthority('modify-database-image')")
-    @Observed(name = "dbrepo_metadata_database_image")
+    @Observed(name = "dbrepo_database_image")
     @Operation(summary = "Update database image", security = {@SecurityRequirement(name = "bearerAuth"), @SecurityRequirement(name = "basicAuth")})
     @ApiResponses(value = {
             @ApiResponse(responseCode = "202",
@@ -252,6 +371,16 @@ public class DatabaseEndpoint {
                     content = {@Content(
                             mediaType = "application/json",
                             schema = @Schema(implementation = ApiErrorDto.class))}),
+            @ApiResponse(responseCode = "502",
+                    description = "Connection to search service failed",
+                    content = {@Content(
+                            mediaType = "application/json",
+                            schema = @Schema(implementation = ApiErrorDto.class))}),
+            @ApiResponse(responseCode = "503",
+                    description = "Failed to save in search service",
+                    content = {@Content(
+                            mediaType = "application/json",
+                            schema = @Schema(implementation = ApiErrorDto.class))}),
     })
     public ResponseEntity<DatabaseDto> modifyImage(@NotNull @PathVariable("databaseId") Long databaseId,
                                                    @Valid @RequestBody DatabaseModifyImageDto data,
@@ -277,7 +406,7 @@ public class DatabaseEndpoint {
 
     @GetMapping("/{databaseId}")
     @Transactional(readOnly = true)
-    @Observed(name = "dbrepo_metadata_database_find")
+    @Observed(name = "dbrepo_database_find")
     @Operation(summary = "Find some database", security = {@SecurityRequirement(name = "bearerAuth"), @SecurityRequirement(name = "basicAuth")})
     @ApiResponses(value = {
             @ApiResponse(responseCode = "200",
@@ -290,11 +419,16 @@ public class DatabaseEndpoint {
                     content = {@Content(
                             mediaType = "application/json",
                             schema = @Schema(implementation = ApiErrorDto.class))}),
-            @ApiResponse(responseCode = "503",
+            @ApiResponse(responseCode = "502",
                     description = "Connection to the broker service could not be established",
                     content = {@Content(
                             mediaType = "application/json",
                             schema = @Schema(implementation = ApiErrorDto.class))}),
+            @ApiResponse(responseCode = "503",
+                    description = "Failed to find queue information in broker service",
+                    content = {@Content(
+                            mediaType = "application/json",
+                            schema = @Schema(implementation = ApiErrorDto.class))}),
     })
     public ResponseEntity<DatabaseDto> findById(@NotNull @PathVariable("databaseId") Long databaseId,
                                                 Principal principal) throws ServiceException,
@@ -314,7 +448,7 @@ public class DatabaseEndpoint {
         final HttpHeaders headers = new HttpHeaders();
         if (principal != null) {
             /* extra effort only when having access */
-            final ExchangeDto exchange = messageQueueService.findExchange(rabbitConfig.getExchangeName());
+            final ExchangeDto exchange = brokerService.findExchange(rabbitConfig.getExchangeName());
             dto.setExchangeType(exchange.getType());
             final Authentication authentication = (Authentication) principal;
             if (authentication.isAuthenticated() && authentication.getAuthorities().stream().anyMatch(a -> a.getAuthority().equals("admin"))) {
diff --git a/dbrepo-metadata-service/rest-service/src/main/java/at/tuwien/endpoints/IdentifierEndpoint.java b/dbrepo-metadata-service/rest-service/src/main/java/at/tuwien/endpoints/IdentifierEndpoint.java
index c5af4657ba..726d118f13 100644
--- a/dbrepo-metadata-service/rest-service/src/main/java/at/tuwien/endpoints/IdentifierEndpoint.java
+++ b/dbrepo-metadata-service/rest-service/src/main/java/at/tuwien/endpoints/IdentifierEndpoint.java
@@ -85,7 +85,7 @@ public class IdentifierEndpoint {
 
     @GetMapping(produces = {MediaType.APPLICATION_JSON_VALUE, "application/ld+json"})
     @Transactional(readOnly = true)
-    @Observed(name = "dbrepo_metadata_identifier_list")
+    @Observed(name = "dbrepo_identifier_list")
     @Operation(summary = "Find all identifiers")
     @ApiResponses(value = {
             @ApiResponse(responseCode = "200",
@@ -140,7 +140,7 @@ public class IdentifierEndpoint {
             MediaType.TEXT_XML_VALUE, "text/csv", "text/bibliography", "text/bibliography; style=apa",
             "text/bibliography; style=ieee", "text/bibliography; style=bibtex"})
     @Transactional(readOnly = true)
-    @Observed(name = "dbrepo_metadata_identifier_find")
+    @Observed(name = "dbrepo_identifier_find")
     @Operation(summary = "Find some identifier")
     @ApiResponses(value = {
             @ApiResponse(responseCode = "200",
@@ -158,37 +158,48 @@ public class IdentifierEndpoint {
             @ApiResponse(responseCode = "400",
                     description = "Identifier could not be exported, the requested style is not known",
                     content = {@Content(
-                            mediaType = "text/bibliography",
+                            mediaType = "application/json",
                             schema = @Schema(implementation = ApiErrorDto.class))}),
             @ApiResponse(responseCode = "404",
                     description = "Identifier could not be found",
                     content = {@Content(
-                            mediaType = "text/csv",
+                            mediaType = "application/json",
+                            schema = @Schema(implementation = ApiErrorDto.class))}),
+            @ApiResponse(responseCode = "406",
+                    description = "Failed to find acceptable representation",
+                    content = {@Content(
+                            mediaType = "application/json",
                             schema = @Schema(implementation = ApiErrorDto.class))}),
             @ApiResponse(responseCode = "409",
                     description = "Exported resource was not found",
                     content = {@Content(
-                            mediaType = "text/csv",
+                            mediaType = "application/json",
                             schema = @Schema(implementation = ApiErrorDto.class))}),
             @ApiResponse(responseCode = "410",
                     description = "Failed to retrieve from S3 endpoint",
                     content = {@Content(
-                            mediaType = "text/csv",
+                            mediaType = "application/json",
                             schema = @Schema(implementation = ApiErrorDto.class))}),
             @ApiResponse(responseCode = "422",
                     description = "Failed to retrieve from database sidecar",
                     content = {@Content(
-                            mediaType = "text/csv",
+                            mediaType = "application/json",
+                            schema = @Schema(implementation = ApiErrorDto.class))}),
+            @ApiResponse(responseCode = "502",
+                    description = "Connection to data service failed",
+                    content = {@Content(
+                            mediaType = "application/json",
                             schema = @Schema(implementation = ApiErrorDto.class))}),
             @ApiResponse(responseCode = "503",
-                    description = "Identifier could not exported from database as it is not reachable",
+                    description = "Failed to find in data service",
                     content = {@Content(
-                            mediaType = "text/csv",
+                            mediaType = "application/json",
                             schema = @Schema(implementation = ApiErrorDto.class))}),
     })
     public ResponseEntity<?> find(@Valid @PathVariable("identifierId") Long identifierId,
                                   @RequestHeader(HttpHeaders.ACCEPT) String accept) throws IdentifierNotFoundException,
-            ServiceException, ServiceConnectionException, MalformedException, FormatNotAvailableException, QueryNotFoundException {
+            ServiceException, ServiceConnectionException, MalformedException, FormatNotAvailableException,
+            QueryNotFoundException {
         log.debug("endpoint find identifier, identifierId={}, accept={}", identifierId, accept);
         final Identifier identifier = identifierService.find(identifierId);
         log.info("Found persistent identifier with id {}", identifier.getId());
@@ -252,7 +263,7 @@ public class IdentifierEndpoint {
 
     @DeleteMapping("/{identifierId}")
     @Transactional
-    @Observed(name = "dbrepo_metadata_identifier_delete")
+    @Observed(name = "dbrepo_identifier_delete")
     @PreAuthorize("hasAuthority('delete-identifier')")
     @Operation(summary = "Delete some identifier", security = {@SecurityRequirement(name = "bearerAuth"), @SecurityRequirement(name = "basicAuth")})
     @ApiResponses(value = {
@@ -267,7 +278,17 @@ public class IdentifierEndpoint {
                     description = "Identifier or database could not be found",
                     content = {@Content(
                             mediaType = "application/json",
-                            schema = @Schema(implementation = ApiErrorDto.class))})
+                            schema = @Schema(implementation = ApiErrorDto.class))}),
+            @ApiResponse(responseCode = "502",
+                    description = "Connection to search service failed",
+                    content = {@Content(
+                            mediaType = "application/json",
+                            schema = @Schema(implementation = ApiErrorDto.class))}),
+            @ApiResponse(responseCode = "503",
+                    description = "Failed to delete in search service",
+                    content = {@Content(
+                            mediaType = "application/json",
+                            schema = @Schema(implementation = ApiErrorDto.class))}),
     })
     public ResponseEntity<?> delete(@NotNull @PathVariable("identifierId") Long identifierId)
             throws IdentifierNotFoundException, NotAllowedException, ServiceException, ServiceConnectionException,
@@ -286,7 +307,7 @@ public class IdentifierEndpoint {
 
     @PutMapping("/{identifierId}/publish")
     @Transactional
-    @Observed(name = "dbrepo_metadata_identifier_publish")
+    @Observed(name = "dbrepo_identifier_publish")
     @PreAuthorize("hasAuthority('publish-identifier')")
     @Operation(summary = "Publish identifier", security = {@SecurityRequirement(name = "bearerAuth"), @SecurityRequirement(name = "basicAuth")})
     @ApiResponses(value = {
@@ -315,8 +336,13 @@ public class IdentifierEndpoint {
                     content = {@Content(
                             mediaType = "application/json",
                             schema = @Schema(implementation = ApiErrorDto.class))}),
+            @ApiResponse(responseCode = "502",
+                    description = "Connection to search service failed",
+                    content = {@Content(
+                            mediaType = "application/json",
+                            schema = @Schema(implementation = ApiErrorDto.class))}),
             @ApiResponse(responseCode = "503",
-                    description = "DataCite system did not respond",
+                    description = "Failed to save in search service",
                     content = {@Content(
                             mediaType = "application/json",
                             schema = @Schema(implementation = ApiErrorDto.class))}),
@@ -332,7 +358,7 @@ public class IdentifierEndpoint {
 
     @PutMapping("/{identifierId}")
     @Transactional(rollbackFor = {Exception.class})
-    @Observed(name = "dbrepo_metadata_identifier_save")
+    @Observed(name = "dbrepo_identifier_save")
     @PreAuthorize("hasAuthority('create-identifier') or hasAuthority('create-foreign-identifier')")
     @Operation(summary = "Save identifier", security = {@SecurityRequirement(name = "bearerAuth"), @SecurityRequirement(name = "basicAuth")})
     @ApiResponses(value = {
@@ -361,8 +387,13 @@ public class IdentifierEndpoint {
                     content = {@Content(
                             mediaType = "application/json",
                             schema = @Schema(implementation = ApiErrorDto.class))}),
+            @ApiResponse(responseCode = "502",
+                    description = "Connection to search service failed",
+                    content = {@Content(
+                            mediaType = "application/json",
+                            schema = @Schema(implementation = ApiErrorDto.class))}),
             @ApiResponse(responseCode = "503",
-                    description = "DataCite system did not respond",
+                    description = "Failed to save in search service",
                     content = {@Content(
                             mediaType = "application/json",
                             schema = @Schema(implementation = ApiErrorDto.class))}),
@@ -452,7 +483,7 @@ public class IdentifierEndpoint {
 
     @PostMapping
     @Transactional(rollbackFor = {Exception.class})
-    @Observed(name = "dbrepo_metadata_identifier_create")
+    @Observed(name = "dbrepo_identifier_create")
     @PreAuthorize("hasAuthority('create-identifier') or hasAuthority('create-foreign-identifier')")
     @Operation(summary = "Draft identifier", security = {@SecurityRequirement(name = "bearerAuth"), @SecurityRequirement(name = "basicAuth")})
     @ApiResponses(value = {
@@ -481,8 +512,13 @@ public class IdentifierEndpoint {
                     content = {@Content(
                             mediaType = "application/json",
                             schema = @Schema(implementation = ApiErrorDto.class))}),
+            @ApiResponse(responseCode = "502",
+                    description = "Connection to search service failed",
+                    content = {@Content(
+                            mediaType = "application/json",
+                            schema = @Schema(implementation = ApiErrorDto.class))}),
             @ApiResponse(responseCode = "503",
-                    description = "DataCite system did not respond",
+                    description = "Failed to save in search service",
                     content = {@Content(
                             mediaType = "application/json",
                             schema = @Schema(implementation = ApiErrorDto.class))}),
@@ -492,7 +528,7 @@ public class IdentifierEndpoint {
             UserNotFoundException, NotAllowedException, MalformedException, ServiceConnectionException,
             SearchServiceException, ServiceException, QueryNotFoundException, SearchServiceConnectionException,
             IdentifierNotFoundException, ViewNotFoundException {
-        log.debug("endpoint create identifier");
+        log.debug("endpoint create identifier, data.databaseId={}", data.getDatabaseId());
         final Database database = databaseService.findById(data.getDatabaseId());
         final User user = userService.findByUsername(principal.getName());
         /* check access */
@@ -512,7 +548,7 @@ public class IdentifierEndpoint {
     }
 
     @GetMapping("/retrieve")
-    @Observed(name = "dbrepo_metadata_identifier_retrieve")
+    @Observed(name = "dbrepo_identifier_retrieve")
     @Operation(summary = "Retrieve metadata from identifier")
     @ApiResponses(value = {
             @ApiResponse(responseCode = "200",
diff --git a/dbrepo-metadata-service/rest-service/src/main/java/at/tuwien/endpoints/ImageEndpoint.java b/dbrepo-metadata-service/rest-service/src/main/java/at/tuwien/endpoints/ImageEndpoint.java
index 52428de24b..44b25250a8 100644
--- a/dbrepo-metadata-service/rest-service/src/main/java/at/tuwien/endpoints/ImageEndpoint.java
+++ b/dbrepo-metadata-service/rest-service/src/main/java/at/tuwien/endpoints/ImageEndpoint.java
@@ -51,7 +51,7 @@ public class ImageEndpoint {
 
     @GetMapping
     @Transactional(readOnly = true)
-    @Observed(name = "dbrepo_metadata_image_findall")
+    @Observed(name = "dbrepo_image_findall")
     @Operation(summary = "Find all images")
     @ApiResponses(value = {
             @ApiResponse(responseCode = "200",
@@ -71,7 +71,7 @@ public class ImageEndpoint {
 
     @PostMapping
     @Transactional
-    @Observed(name = "dbrepo_metadata_image_create")
+    @Observed(name = "dbrepo_image_create")
     @PreAuthorize("hasAuthority('create-image')")
     @Operation(summary = "Create image", security = {@SecurityRequirement(name = "bearerAuth"), @SecurityRequirement(name = "basicAuth")})
     @ApiResponses(value = {
@@ -108,7 +108,7 @@ public class ImageEndpoint {
 
     @GetMapping("/{imageId}")
     @Transactional(readOnly = true)
-    @Observed(name = "dbrepo_metadata_image_find")
+    @Observed(name = "dbrepo_image_find")
     @Operation(summary = "Find some image")
     @ApiResponses(value = {
             @ApiResponse(responseCode = "200",
@@ -133,7 +133,7 @@ public class ImageEndpoint {
 
     @PutMapping("/{imageId}")
     @Transactional
-    @Observed(name = "dbrepo_metadata_image_update")
+    @Observed(name = "dbrepo_image_update")
     @PreAuthorize("hasAuthority('modify-image')")
     @Operation(summary = "Update some image", security = {@SecurityRequirement(name = "bearerAuth"), @SecurityRequirement(name = "basicAuth")})
     @ApiResponses(value = {
@@ -162,7 +162,7 @@ public class ImageEndpoint {
 
     @DeleteMapping("/{imageId}")
     @Transactional
-    @Observed(name = "dbrepo_metadata_image_delete")
+    @Observed(name = "dbrepo_image_delete")
     @PreAuthorize("hasAuthority('delete-image')")
     @Operation(summary = "Delete some image", security = {@SecurityRequirement(name = "bearerAuth"), @SecurityRequirement(name = "basicAuth")})
     @ApiResponses(value = {
diff --git a/dbrepo-metadata-service/rest-service/src/main/java/at/tuwien/endpoints/LicenseEndpoint.java b/dbrepo-metadata-service/rest-service/src/main/java/at/tuwien/endpoints/LicenseEndpoint.java
index 3763e9943c..dd81274a29 100644
--- a/dbrepo-metadata-service/rest-service/src/main/java/at/tuwien/endpoints/LicenseEndpoint.java
+++ b/dbrepo-metadata-service/rest-service/src/main/java/at/tuwien/endpoints/LicenseEndpoint.java
@@ -40,7 +40,7 @@ public class LicenseEndpoint {
 
     @GetMapping
     @Transactional(readOnly = true)
-    @Observed(name = "dbrepo_metadata_license_findall")
+    @Observed(name = "dbrepo_license_findall")
     @Operation(summary = "Get all licenses")
     @ApiResponses(value = {
             @ApiResponse(responseCode = "200",
diff --git a/dbrepo-metadata-service/rest-service/src/main/java/at/tuwien/endpoints/MessageEndpoint.java b/dbrepo-metadata-service/rest-service/src/main/java/at/tuwien/endpoints/MessageEndpoint.java
index ec7675b0d2..bcff92bc49 100644
--- a/dbrepo-metadata-service/rest-service/src/main/java/at/tuwien/endpoints/MessageEndpoint.java
+++ b/dbrepo-metadata-service/rest-service/src/main/java/at/tuwien/endpoints/MessageEndpoint.java
@@ -44,7 +44,7 @@ public class MessageEndpoint {
     }
 
     @GetMapping
-    @Observed(name = "dbrepo_metadata_maintenance_findall")
+    @Observed(name = "dbrepo_maintenance_findall")
     @Operation(summary = "Find maintenance messages")
     @ApiResponses(value = {
             @ApiResponse(responseCode = "200",
@@ -72,7 +72,7 @@ public class MessageEndpoint {
     }
 
     @GetMapping("/message/{messageId}")
-    @Observed(name = "dbrepo_metadata_maintenance_find")
+    @Observed(name = "dbrepo_maintenance_find")
     @Operation(summary = "Find one maintenance message")
     @ApiResponses(value = {
             @ApiResponse(responseCode = "200",
@@ -95,7 +95,7 @@ public class MessageEndpoint {
     }
 
     @PostMapping
-    @Observed(name = "dbrepo_metadata_maintenance_create")
+    @Observed(name = "dbrepo_maintenance_create")
     @Operation(summary = "Create maintenance message", security = {@SecurityRequirement(name = "bearerAuth"), @SecurityRequirement(name = "basicAuth")})
     @PreAuthorize("hasAuthority('create-maintenance-message')")
     @ApiResponses(value = {
@@ -114,7 +114,7 @@ public class MessageEndpoint {
     }
 
     @PutMapping("/{messageId}")
-    @Observed(name = "dbrepo_metadata_maintenance_update")
+    @Observed(name = "dbrepo_maintenance_update")
     @Operation(summary = "Update maintenance message", security = {@SecurityRequirement(name = "bearerAuth"), @SecurityRequirement(name = "basicAuth")})
     @PreAuthorize("hasAuthority('update-maintenance-message')")
     @ApiResponses(value = {
@@ -141,7 +141,7 @@ public class MessageEndpoint {
     }
 
     @DeleteMapping("/{messageId}")
-    @Observed(name = "dbrepo_metadata_maintenance_delete")
+    @Observed(name = "dbrepo_maintenance_delete")
     @Operation(summary = "Delete maintenance message", security = {@SecurityRequirement(name = "bearerAuth"), @SecurityRequirement(name = "basicAuth")})
     @PreAuthorize("hasAuthority('delete-maintenance-message')")
     @ApiResponses(value = {
diff --git a/dbrepo-metadata-service/rest-service/src/main/java/at/tuwien/endpoints/MetadataEndpoint.java b/dbrepo-metadata-service/rest-service/src/main/java/at/tuwien/endpoints/MetadataEndpoint.java
index c144511fda..18bf1c3e62 100644
--- a/dbrepo-metadata-service/rest-service/src/main/java/at/tuwien/endpoints/MetadataEndpoint.java
+++ b/dbrepo-metadata-service/rest-service/src/main/java/at/tuwien/endpoints/MetadataEndpoint.java
@@ -43,7 +43,7 @@ public class MetadataEndpoint {
             @ExampleObject(value = "GetRecord"),
             @ExampleObject(value = "ListMetadataFormats"),
     })
-    @Observed(name = "dbrepo_metadata_oai_identify")
+    @Observed(name = "dbrepo_oai_identify")
     @Operation(summary = "Identify the repository")
     @ApiResponses(value = {
             @ApiResponse(responseCode = "200",
@@ -56,7 +56,7 @@ public class MetadataEndpoint {
     }
 
     @GetMapping(params = "verb=Identify", produces = MediaType.TEXT_XML_VALUE)
-    @Observed(name = "dbrepo_metadata_oai_identify")
+    @Observed(name = "dbrepo_oai_identify")
     @Operation(summary = "Identify the repository")
     @ApiResponses(value = {
             @ApiResponse(responseCode = "200",
@@ -71,7 +71,7 @@ public class MetadataEndpoint {
     }
 
     @GetMapping(params = "verb=ListIdentifiers", produces = MediaType.TEXT_XML_VALUE)
-    @Observed(name = "dbrepo_metadata_oai_identifiers_list")
+    @Observed(name = "dbrepo_oai_identifiers_list")
     @Operation(summary = "List the identifiers")
     public ResponseEntity<String> listIdentifiers(OaiListIdentifiersParameters parameters) {
         log.debug("endpoint list identifiers, verb=ListIdentifiers, parameters={}", parameters);
@@ -81,7 +81,7 @@ public class MetadataEndpoint {
     }
 
     @GetMapping(params = "verb=GetRecord", produces = MediaType.TEXT_XML_VALUE)
-    @Observed(name = "dbrepo_metadata_oai_record_get")
+    @Observed(name = "dbrepo_oai_record_get")
     @Operation(summary = "Get the record")
     public ResponseEntity<String> getRecord(OaiRecordParameters parameters) {
         log.debug("endpoint get record, verb=GetRecord, parameters={}", parameters);
@@ -116,7 +116,7 @@ public class MetadataEndpoint {
     }
 
     @GetMapping(params = "verb=ListMetadataFormats", produces = MediaType.TEXT_XML_VALUE)
-    @Observed(name = "dbrepo_metadata_oai_metadataformats_list")
+    @Observed(name = "dbrepo_oai_metadataformats_list")
     @Operation(summary = "List the metadata formats")
     public ResponseEntity<String> listMetadataFormats() {
         log.debug("endpoint list metadata formats, verb=ListMetadataFormats");
diff --git a/dbrepo-metadata-service/rest-service/src/main/java/at/tuwien/endpoints/OntologyEndpoint.java b/dbrepo-metadata-service/rest-service/src/main/java/at/tuwien/endpoints/OntologyEndpoint.java
index 80b646ed5f..d9a1b2c50b 100644
--- a/dbrepo-metadata-service/rest-service/src/main/java/at/tuwien/endpoints/OntologyEndpoint.java
+++ b/dbrepo-metadata-service/rest-service/src/main/java/at/tuwien/endpoints/OntologyEndpoint.java
@@ -45,7 +45,7 @@ public class OntologyEndpoint {
     }
 
     @GetMapping
-    @Observed(name = "dbrepo_metadata_ontologies_findall")
+    @Observed(name = "dbrepo_ontologies_findall")
     @Operation(summary = "List all ontologies")
     @ApiResponses(value = {
             @ApiResponse(responseCode = "200",
@@ -65,7 +65,7 @@ public class OntologyEndpoint {
     }
 
     @GetMapping("/{ontologyId}")
-    @Observed(name = "dbrepo_metadata_ontologies_find")
+    @Observed(name = "dbrepo_ontologies_find")
     @Operation(summary = "Find one ontology")
     @ApiResponses(value = {
             @ApiResponse(responseCode = "200",
@@ -79,7 +79,8 @@ public class OntologyEndpoint {
                             mediaType = "application/json",
                             schema = @Schema(implementation = ApiErrorDto.class))}),
     })
-    public ResponseEntity<OntologyDto> find(@NotNull @PathVariable("ontologyId") Long ontologyId) throws OntologyNotFoundException {
+    public ResponseEntity<OntologyDto> find(@NotNull @PathVariable("ontologyId") Long ontologyId)
+            throws OntologyNotFoundException {
         log.debug("endpoint find all ontologies, ontologyId={}", ontologyId);
         final OntologyDto dto = ontologyMapper.ontologyToOntologyDto(ontologyService.find(ontologyId));
         log.trace("create ontology resulted in dto {}", dto);
@@ -88,7 +89,7 @@ public class OntologyEndpoint {
 
     @PostMapping
     @PreAuthorize("hasAuthority('create-ontology')")
-    @Observed(name = "dbrepo_metadata_ontologies_create")
+    @Observed(name = "dbrepo_ontologies_create")
     @Operation(summary = "Register a new ontology", security = {@SecurityRequirement(name = "bearerAuth"), @SecurityRequirement(name = "basicAuth")})
     @ApiResponses(value = {
             @ApiResponse(responseCode = "201",
@@ -108,7 +109,7 @@ public class OntologyEndpoint {
 
     @PutMapping("/{ontologyId}")
     @PreAuthorize("hasAuthority('update-ontology')")
-    @Observed(name = "dbrepo_metadata_ontologies_update")
+    @Observed(name = "dbrepo_ontologies_update")
     @Operation(summary = "Update an ontology", security = {@SecurityRequirement(name = "bearerAuth"), @SecurityRequirement(name = "basicAuth")})
     @ApiResponses(value = {
             @ApiResponse(responseCode = "202",
@@ -123,7 +124,8 @@ public class OntologyEndpoint {
                             schema = @Schema(implementation = ApiErrorDto.class))}),
     })
     public ResponseEntity<OntologyDto> update(@NotNull @PathVariable("ontologyId") Long ontologyId,
-                                              @NotNull @Valid @RequestBody OntologyModifyDto data) throws OntologyNotFoundException {
+                                              @NotNull @Valid @RequestBody OntologyModifyDto data)
+            throws OntologyNotFoundException {
         log.debug("endpoint update ontology, data={}", data);
         final Ontology ontology = ontologyService.find(ontologyId);
         final OntologyDto dto = ontologyMapper.ontologyToOntologyDto(ontologyService.update(ontology, data));
@@ -134,7 +136,7 @@ public class OntologyEndpoint {
 
     @DeleteMapping("/{ontologyId}")
     @PreAuthorize("hasAuthority('delete-ontology')")
-    @Observed(name = "dbrepo_metadata_ontologies_delete")
+    @Observed(name = "dbrepo_ontologies_delete")
     @Operation(summary = "Delete an ontology", security = {@SecurityRequirement(name = "bearerAuth"), @SecurityRequirement(name = "basicAuth")})
     @ApiResponses(value = {
             @ApiResponse(responseCode = "202",
@@ -147,7 +149,8 @@ public class OntologyEndpoint {
                             mediaType = "application/json",
                             schema = @Schema(implementation = ApiErrorDto.class))}),
     })
-    public ResponseEntity<?> delete(@NotNull @PathVariable("ontologyId") Long ontologyId) throws OntologyNotFoundException {
+    public ResponseEntity<?> delete(@NotNull @PathVariable("ontologyId") Long ontologyId)
+            throws OntologyNotFoundException {
         log.debug("endpoint delete ontology, ontologyId={}", ontologyId);
         final Ontology ontology = ontologyService.find(ontologyId);
         ontologyService.delete(ontology);
@@ -157,7 +160,7 @@ public class OntologyEndpoint {
 
     @GetMapping("/{ontologyId}/entity")
     @PreAuthorize("hasAuthority('execute-semantic-query')")
-    @Observed(name = "dbrepo_metadata_ontologies_entities_find")
+    @Observed(name = "dbrepo_ontologies_entities_find")
     @Operation(summary = "Find entities", security = {@SecurityRequirement(name = "bearerAuth"), @SecurityRequirement(name = "basicAuth")})
     @ApiResponses(value = {
             @ApiResponse(responseCode = "200",
diff --git a/dbrepo-metadata-service/rest-service/src/main/java/at/tuwien/endpoints/TableEndpoint.java b/dbrepo-metadata-service/rest-service/src/main/java/at/tuwien/endpoints/TableEndpoint.java
index 687e986acd..6e008287ba 100644
--- a/dbrepo-metadata-service/rest-service/src/main/java/at/tuwien/endpoints/TableEndpoint.java
+++ b/dbrepo-metadata-service/rest-service/src/main/java/at/tuwien/endpoints/TableEndpoint.java
@@ -77,7 +77,7 @@ public class TableEndpoint {
 
     @GetMapping
     @Transactional(readOnly = true)
-    @Observed(name = "dbrepo_metadata_tables_findall")
+    @Observed(name = "dbrepo_tables_findall")
     @Operation(summary = "List all tables", security = {@SecurityRequirement(name = "bearerAuth"), @SecurityRequirement(name = "basicAuth")})
     @ApiResponses(value = {
             @ApiResponse(responseCode = "200",
@@ -114,7 +114,7 @@ public class TableEndpoint {
     @GetMapping("/{tableId}/suggest")
     @Transactional(readOnly = true)
     @PreAuthorize("hasAuthority('table-semantic-analyse')")
-    @Observed(name = "dbrepo_metadata_semantic_table_analyse")
+    @Observed(name = "dbrepo_semantic_table_analyse")
     @Operation(summary = "Suggest table semantics", security = {@SecurityRequirement(name = "bearerAuth"), @SecurityRequirement(name = "basicAuth")})
     @ApiResponses(value = {
             @ApiResponse(responseCode = "200",
@@ -122,8 +122,13 @@ public class TableEndpoint {
                     content = {@Content(
                             mediaType = "application/json",
                             array = @ArraySchema(schema = @Schema(implementation = TableColumnEntityDto.class)))}),
+            @ApiResponse(responseCode = "400",
+                    description = "Failed to parse statistic in search service",
+                    content = {@Content(
+                            mediaType = "application/json",
+                            schema = @Schema(implementation = ApiErrorDto.class))}),
             @ApiResponse(responseCode = "404",
-                    description = "Could not find the table",
+                    description = "Failed to find database/table in metadata database",
                     content = {@Content(
                             mediaType = "application/json",
                             schema = @Schema(implementation = ApiErrorDto.class))}),
@@ -152,11 +157,31 @@ public class TableEndpoint {
     @PutMapping("/{tableId}")
     @Transactional
     @PreAuthorize("hasAuthority('admin')")
-    @Observed(name = "dbrepo_metadata_statistic_table_update")
+    @Observed(name = "dbrepo_statistic_table_update")
     @Operation(summary = "Update table statistics", security = {@SecurityRequirement(name = "bearerAuth"), @SecurityRequirement(name = "basicAuth")})
     @ApiResponses(value = {
             @ApiResponse(responseCode = "202",
                     description = "Updated table statistics successfully"),
+            @ApiResponse(responseCode = "400",
+                    description = "Payload malformed",
+                    content = {@Content(
+                            mediaType = "application/json",
+                            schema = @Schema(implementation = ApiErrorDto.class))}),
+            @ApiResponse(responseCode = "404",
+                    description = "Failed to find database/table in metadata database",
+                    content = {@Content(
+                            mediaType = "application/json",
+                            schema = @Schema(implementation = ApiErrorDto.class))}),
+            @ApiResponse(responseCode = "502",
+                    description = "Connection to search service failed",
+                    content = {@Content(
+                            mediaType = "application/json",
+                            schema = @Schema(implementation = ApiErrorDto.class))}),
+            @ApiResponse(responseCode = "503",
+                    description = "Failed to save in search service",
+                    content = {@Content(
+                            mediaType = "application/json",
+                            schema = @Schema(implementation = ApiErrorDto.class))}),
     })
     public ResponseEntity<Void> updateStatistic(@NotNull @PathVariable("databaseId") Long databaseId,
                                                 @NotNull @PathVariable("tableId") Long tableId,
@@ -174,7 +199,7 @@ public class TableEndpoint {
     @PutMapping("/{tableId}/column/{columnId}")
     @Transactional
     @PreAuthorize("hasAuthority('modify-table-column-semantics') or hasAuthority('modify-foreign-table-column-semantics')")
-    @Observed(name = "dbrepo_metadata_semantics_column_save")
+    @Observed(name = "dbrepo_semantics_column_save")
     @Operation(summary = "Update a table column semantic mapping", security = {@SecurityRequirement(name = "bearerAuth"), @SecurityRequirement(name = "basicAuth")})
     @ApiResponses(value = {
             @ApiResponse(responseCode = "202",
@@ -193,7 +218,17 @@ public class TableEndpoint {
                             mediaType = "application/json",
                             schema = @Schema(implementation = ApiErrorDto.class))}),
             @ApiResponse(responseCode = "404",
-                    description = "Table or database could not be found",
+                    description = "Failed to find user/table/database/ontology in metadata database",
+                    content = {@Content(
+                            mediaType = "application/json",
+                            schema = @Schema(implementation = ApiErrorDto.class))}),
+            @ApiResponse(responseCode = "502",
+                    description = "Connection to search service failed",
+                    content = {@Content(
+                            mediaType = "application/json",
+                            schema = @Schema(implementation = ApiErrorDto.class))}),
+            @ApiResponse(responseCode = "503",
+                    description = "Failed to save in search service",
                     content = {@Content(
                             mediaType = "application/json",
                             schema = @Schema(implementation = ApiErrorDto.class))}),
@@ -225,7 +260,7 @@ public class TableEndpoint {
     @GetMapping("/{tableId}/column/{columnId}/suggest")
     @Transactional(readOnly = true)
     @PreAuthorize("hasAuthority('table-semantic-analyse')")
-    @Observed(name = "dbrepo_metadata_semantic_column_analyse")
+    @Observed(name = "dbrepo_semantic_column_analyse")
     @Operation(summary = "Suggest table column semantics", security = {@SecurityRequirement(name = "bearerAuth"), @SecurityRequirement(name = "basicAuth")})
     @ApiResponses(value = {
             @ApiResponse(responseCode = "200",
@@ -233,13 +268,13 @@ public class TableEndpoint {
                     content = {@Content(
                             mediaType = "application/json",
                             array = @ArraySchema(schema = @Schema(implementation = TableColumnEntityDto.class)))}),
-            @ApiResponse(responseCode = "404",
-                    description = "Could not find the table column",
+            @ApiResponse(responseCode = "400",
+                    description = "Generated query is malformed",
                     content = {@Content(
                             mediaType = "application/json",
                             schema = @Schema(implementation = ApiErrorDto.class))}),
-            @ApiResponse(responseCode = "417",
-                    description = "Generated query is malformed",
+            @ApiResponse(responseCode = "404",
+                    description = "Failed to find database/table in metadata database",
                     content = {@Content(
                             mediaType = "application/json",
                             schema = @Schema(implementation = ApiErrorDto.class))}),
@@ -265,7 +300,7 @@ public class TableEndpoint {
     @PostMapping
     @Transactional(rollbackFor = {ServiceConnectionException.class, DatabaseNotFoundException.class, ServiceException.class})
     @PreAuthorize("hasAuthority('create-table')")
-    @Observed(name = "dbrepo_metadata_table_create")
+    @Observed(name = "dbrepo_table_create")
     @Operation(summary = "Create a table", security = {@SecurityRequirement(name = "bearerAuth"), @SecurityRequirement(name = "basicAuth")})
     @ApiResponses(value = {
             @ApiResponse(responseCode = "201",
@@ -293,6 +328,16 @@ public class TableEndpoint {
                     content = {@Content(
                             mediaType = "application/json",
                             schema = @Schema(implementation = ApiErrorDto.class))}),
+            @ApiResponse(responseCode = "502",
+                    description = "Connection to search service failed",
+                    content = {@Content(
+                            mediaType = "application/json",
+                            schema = @Schema(implementation = ApiErrorDto.class))}),
+            @ApiResponse(responseCode = "503",
+                    description = "Failed to save in search service",
+                    content = {@Content(
+                            mediaType = "application/json",
+                            schema = @Schema(implementation = ApiErrorDto.class))}),
     })
     public ResponseEntity<TableDto> create(@NotNull @PathVariable("databaseId") Long databaseId,
                                            @NotNull @Valid @RequestBody TableCreateDto data,
@@ -322,7 +367,7 @@ public class TableEndpoint {
 
     @GetMapping("/{tableId}")
     @Transactional(readOnly = true)
-    @Observed(name = "dbrepo_metadata_tables_find")
+    @Observed(name = "dbrepo_tables_find")
     @Operation(summary = "Get information about table", security = {@SecurityRequirement(name = "bearerAuth"), @SecurityRequirement(name = "basicAuth")})
     @ApiResponses(value = {
             @ApiResponse(responseCode = "200",
@@ -340,8 +385,13 @@ public class TableEndpoint {
                     content = {@Content(
                             mediaType = "application/json",
                             schema = @Schema(implementation = ApiErrorDto.class))}),
+            @ApiResponse(responseCode = "502",
+                    description = "Connection to search service failed",
+                    content = {@Content(
+                            mediaType = "application/json",
+                            schema = @Schema(implementation = ApiErrorDto.class))}),
             @ApiResponse(responseCode = "503",
-                    description = "Could not communicate with the broker service",
+                    description = "Failed to save in search service",
                     content = {@Content(
                             mediaType = "application/json",
                             schema = @Schema(implementation = ApiErrorDto.class))}),
@@ -380,7 +430,7 @@ public class TableEndpoint {
     @DeleteMapping("/{tableId}")
     @Transactional
     @PreAuthorize("hasAuthority('delete-table') or hasAuthority('delete-foreign-table')")
-    @Observed(name = "dbrepo_metadata_table_delete")
+    @Observed(name = "dbrepo_table_delete")
     @Operation(summary = "Delete a table", security = {@SecurityRequirement(name = "bearerAuth"), @SecurityRequirement(name = "basicAuth")})
     @ApiResponses(value = {
             @ApiResponse(responseCode = "202",
@@ -400,7 +450,17 @@ public class TableEndpoint {
                     description = "Table, database or container could not be found",
                     content = {@Content(
                             mediaType = "application/json",
-                            schema = @Schema(implementation = ApiErrorDto.class))})
+                            schema = @Schema(implementation = ApiErrorDto.class))}),
+            @ApiResponse(responseCode = "502",
+                    description = "Connection to search service failed",
+                    content = {@Content(
+                            mediaType = "application/json",
+                            schema = @Schema(implementation = ApiErrorDto.class))}),
+            @ApiResponse(responseCode = "503",
+                    description = "Failed to save in search service",
+                    content = {@Content(
+                            mediaType = "application/json",
+                            schema = @Schema(implementation = ApiErrorDto.class))}),
     })
     public ResponseEntity<?> delete(@NotNull @PathVariable("databaseId") Long databaseId,
                                     @NotNull @PathVariable("tableId") Long tableId,
diff --git a/dbrepo-metadata-service/rest-service/src/main/java/at/tuwien/endpoints/UnitEndpoint.java b/dbrepo-metadata-service/rest-service/src/main/java/at/tuwien/endpoints/UnitEndpoint.java
index 79d0b4079b..7808b1b291 100644
--- a/dbrepo-metadata-service/rest-service/src/main/java/at/tuwien/endpoints/UnitEndpoint.java
+++ b/dbrepo-metadata-service/rest-service/src/main/java/at/tuwien/endpoints/UnitEndpoint.java
@@ -36,7 +36,7 @@ public class UnitEndpoint {
 
     @GetMapping
     @Transactional(readOnly = true)
-    @Observed(name = "dbrepo_metadata_semantic_units_findall")
+    @Observed(name = "dbrepo_semantic_units_findall")
     @Operation(summary = "List semantic units")
     @ApiResponses(value = {
             @ApiResponse(responseCode = "200",
diff --git a/dbrepo-metadata-service/rest-service/src/main/java/at/tuwien/endpoints/UserEndpoint.java b/dbrepo-metadata-service/rest-service/src/main/java/at/tuwien/endpoints/UserEndpoint.java
index 102b4670bc..4d5ad8164b 100644
--- a/dbrepo-metadata-service/rest-service/src/main/java/at/tuwien/endpoints/UserEndpoint.java
+++ b/dbrepo-metadata-service/rest-service/src/main/java/at/tuwien/endpoints/UserEndpoint.java
@@ -59,7 +59,7 @@ public class UserEndpoint {
 
     @GetMapping
     @Transactional(readOnly = true)
-    @Observed(name = "dbrepo_metadata_users_list")
+    @Observed(name = "dbrepo_users_list")
     @Operation(summary = "Find all users")
     @ApiResponses(value = {
             @ApiResponse(responseCode = "200",
@@ -81,7 +81,7 @@ public class UserEndpoint {
     @PostMapping
     @Transactional(rollbackFor = {ServiceException.class, ServiceConnectionException.class})
     @PreAuthorize("!isAuthenticated()")
-    @Observed(name = "dbrepo_metadata_user_create")
+    @Observed(name = "dbrepo_user_create")
     @Operation(summary = "Create user")
     @ApiResponses(value = {
             @ApiResponse(responseCode = "201",
@@ -107,6 +107,16 @@ public class UserEndpoint {
                     content = {@Content(
                             mediaType = "application/json",
                             schema = @Schema(implementation = ApiErrorDto.class))}),
+            @ApiResponse(responseCode = "502",
+                    description = "Failed to create in auth service",
+                    content = {@Content(
+                            mediaType = "application/json",
+                            schema = @Schema(implementation = ApiErrorDto.class))}),
+            @ApiResponse(responseCode = "503",
+                    description = "Failed to create in auth service",
+                    content = {@Content(
+                            mediaType = "application/json",
+                            schema = @Schema(implementation = ApiErrorDto.class))}),
     })
     public ResponseEntity<UserBriefDto> create(@NotNull @Valid @RequestBody SignupRequestDto data)
             throws UserExistsException, EmailExistsException, ServiceException, ServiceConnectionException,
@@ -124,7 +134,7 @@ public class UserEndpoint {
     }
 
     @PostMapping("/token")
-    @Observed(name = "dbrepo_metadata_user_token")
+    @Observed(name = "dbrepo_user_token")
     @Operation(summary = "Obtain user token")
     @ApiResponses(value = {
             @ApiResponse(responseCode = "202",
@@ -132,6 +142,31 @@ public class UserEndpoint {
                     content = {@Content(
                             mediaType = "application/json",
                             schema = @Schema(implementation = TokenDto.class))}),
+            @ApiResponse(responseCode = "403",
+                    description = "Not allowed to get token",
+                    content = {@Content(
+                            mediaType = "application/json",
+                            schema = @Schema(implementation = ApiErrorDto.class))}),
+            @ApiResponse(responseCode = "404",
+                    description = "Failed to find user in auth database",
+                    content = {@Content(
+                            mediaType = "application/json",
+                            schema = @Schema(implementation = ApiErrorDto.class))}),
+            @ApiResponse(responseCode = "428",
+                    description = "Account is not fully setup in auth service (requires password change?)",
+                    content = {@Content(
+                            mediaType = "application/json",
+                            schema = @Schema(implementation = ApiErrorDto.class))}),
+            @ApiResponse(responseCode = "502",
+                    description = "Connection to auth service failed",
+                    content = {@Content(
+                            mediaType = "application/json",
+                            schema = @Schema(implementation = ApiErrorDto.class))}),
+            @ApiResponse(responseCode = "503",
+                    description = "Failed to get user in auth service",
+                    content = {@Content(
+                            mediaType = "application/json",
+                            schema = @Schema(implementation = ApiErrorDto.class))}),
     })
     public ResponseEntity<TokenDto> getToken(@NotNull @Valid @RequestBody LoginRequestDto data)
             throws ServiceException, ServiceConnectionException, UserNotFoundException, CredentialsInvalidException,
@@ -157,7 +192,7 @@ public class UserEndpoint {
     }
 
     @PutMapping("/token")
-    @Observed(name = "dbrepo_metadata_user_refresh_token")
+    @Observed(name = "dbrepo_user_refresh_token")
     @Operation(summary = "Refresh user token")
     @ApiResponses(value = {
             @ApiResponse(responseCode = "202",
@@ -165,6 +200,16 @@ public class UserEndpoint {
                     content = {@Content(
                             mediaType = "application/json",
                             schema = @Schema(implementation = TokenDto.class))}),
+            @ApiResponse(responseCode = "403",
+                    description = "Invalid refresh token",
+                    content = {@Content(
+                            mediaType = "application/json",
+                            schema = @Schema(implementation = ApiErrorDto.class))}),
+            @ApiResponse(responseCode = "502",
+                    description = "Connection to auth service failed",
+                    content = {@Content(
+                            mediaType = "application/json",
+                            schema = @Schema(implementation = ApiErrorDto.class))}),
     })
     public ResponseEntity<TokenDto> refreshToken(@NotNull @Valid @RequestBody RefreshTokenRequestDto data)
             throws ServiceConnectionException, CredentialsInvalidException {
@@ -178,7 +223,7 @@ public class UserEndpoint {
     @GetMapping("/{userId}")
     @Transactional(readOnly = true)
     @PreAuthorize("isAuthenticated()")
-    @Observed(name = "dbrepo_metadata_user_find")
+    @Observed(name = "dbrepo_user_find")
     @Operation(summary = "Get a user info", security = {@SecurityRequirement(name = "bearerAuth"), @SecurityRequirement(name = "basicAuth")})
     @ApiResponses(value = {
             @ApiResponse(responseCode = "200",
@@ -217,7 +262,7 @@ public class UserEndpoint {
     @PutMapping("/{userId}")
     @Transactional
     @PreAuthorize("hasAuthority('modify-user-information')")
-    @Observed(name = "dbrepo_metadata_user_modify")
+    @Observed(name = "dbrepo_user_modify")
     @Operation(summary = "Modify user information", security = {@SecurityRequirement(name = "bearerAuth"), @SecurityRequirement(name = "basicAuth")})
     @ApiResponses(value = {
             @ApiResponse(responseCode = "202",
@@ -230,11 +275,21 @@ public class UserEndpoint {
                     content = {@Content(
                             mediaType = "application/json",
                             schema = @Schema(implementation = ApiErrorDto.class))}),
+            @ApiResponse(responseCode = "403",
+                    description = "Not allowed to modify user metadata",
+                    content = {@Content(
+                            mediaType = "application/json",
+                            schema = @Schema(implementation = ApiErrorDto.class))}),
+            @ApiResponse(responseCode = "404",
+                    description = "Failed to find database/user in metadata database",
+                    content = {@Content(
+                            mediaType = "application/json",
+                            schema = @Schema(implementation = ApiErrorDto.class))}),
     })
     public ResponseEntity<UserDto> modify(@NotNull @PathVariable("userId") UUID userId,
                                           @NotNull @Valid @RequestBody UserUpdateDto data,
-                                          @NotNull Principal principal) throws ServiceException,
-            ServiceConnectionException, NotAllowedException, UserNotFoundException, DatabaseNotFoundException {
+                                          @NotNull Principal principal) throws NotAllowedException,
+            UserNotFoundException, DatabaseNotFoundException {
         log.debug("endpoint modify a user, userId={}, data={}", userId, data);
         User user = userService.findById(userId);
         if (!user.equals(principal)) {
@@ -250,7 +305,7 @@ public class UserEndpoint {
     @PutMapping("/{userId}/password")
     @Transactional
     @PreAuthorize("isAuthenticated()")
-    @Observed(name = "dbrepo_metadata_user_password_modify")
+    @Observed(name = "dbrepo_user_password_modify")
     @Operation(summary = "Modify user password", security = {@SecurityRequirement(name = "bearerAuth"), @SecurityRequirement(name = "basicAuth")})
     @ApiResponses(value = {
             @ApiResponse(responseCode = "202",
@@ -258,6 +313,26 @@ public class UserEndpoint {
                     content = {@Content(
                             mediaType = "application/json",
                             schema = @Schema(implementation = UserDto.class))}),
+            @ApiResponse(responseCode = "403",
+                    description = "Not allowed to change foreign user password",
+                    content = {@Content(
+                            mediaType = "application/json",
+                            schema = @Schema(implementation = ApiErrorDto.class))}),
+            @ApiResponse(responseCode = "404",
+                    description = "Failed to find database/user in metadata database",
+                    content = {@Content(
+                            mediaType = "application/json",
+                            schema = @Schema(implementation = ApiErrorDto.class))}),
+            @ApiResponse(responseCode = "502",
+                    description = "Connection to auth service failed",
+                    content = {@Content(
+                            mediaType = "application/json",
+                            schema = @Schema(implementation = ApiErrorDto.class))}),
+            @ApiResponse(responseCode = "503",
+                    description = "Failed to get user in auth service",
+                    content = {@Content(
+                            mediaType = "application/json",
+                            schema = @Schema(implementation = ApiErrorDto.class))}),
     })
     public ResponseEntity<?> password(@NotNull @PathVariable("userId") UUID userId,
                                       @NotNull @Valid @RequestBody UserPasswordDto data,
diff --git a/dbrepo-metadata-service/rest-service/src/main/java/at/tuwien/endpoints/ViewEndpoint.java b/dbrepo-metadata-service/rest-service/src/main/java/at/tuwien/endpoints/ViewEndpoint.java
index 767d6f74ea..a6627689aa 100644
--- a/dbrepo-metadata-service/rest-service/src/main/java/at/tuwien/endpoints/ViewEndpoint.java
+++ b/dbrepo-metadata-service/rest-service/src/main/java/at/tuwien/endpoints/ViewEndpoint.java
@@ -58,7 +58,7 @@ public class ViewEndpoint {
 
     @GetMapping
     @Transactional(readOnly = true)
-    @Observed(name = "dbrepo_metadata_views_findall")
+    @Observed(name = "dbrepo_views_findall")
     @Operation(summary = "Find all views", security = {@SecurityRequirement(name = "bearerAuth"), @SecurityRequirement(name = "basicAuth")})
     @ApiResponses(value = {
             @ApiResponse(responseCode = "200",
@@ -89,7 +89,7 @@ public class ViewEndpoint {
     @PostMapping
     @Transactional
     @PreAuthorize("hasAuthority('create-database-view')")
-    @Observed(name = "dbrepo_metadata_view_create")
+    @Observed(name = "dbrepo_view_create")
     @Operation(summary = "Create a view", security = {@SecurityRequirement(name = "bearerAuth"), @SecurityRequirement(name = "basicAuth")})
     @ApiResponses(value = {
             @ApiResponse(responseCode = "201",
@@ -113,7 +113,7 @@ public class ViewEndpoint {
                             mediaType = "application/json",
                             schema = @Schema(implementation = ApiErrorDto.class))}),
             @ApiResponse(responseCode = "404",
-                    description = "Database or user could not be found",
+                    description = "Failed to find database/user in metadata database.",
                     content = {@Content(
                             mediaType = "application/json",
                             schema = @Schema(implementation = ApiErrorDto.class))}),
@@ -127,8 +127,13 @@ public class ViewEndpoint {
                     content = {@Content(
                             mediaType = "application/json",
                             schema = @Schema(implementation = ApiErrorDto.class))}),
+            @ApiResponse(responseCode = "502",
+                    description = "Connection to search service failed",
+                    content = {@Content(
+                            mediaType = "application/json",
+                            schema = @Schema(implementation = ApiErrorDto.class))}),
             @ApiResponse(responseCode = "503",
-                    description = "Connection to the database failed",
+                    description = "Failed to save in search service",
                     content = {@Content(
                             mediaType = "application/json",
                             schema = @Schema(implementation = ApiErrorDto.class))}),
@@ -155,7 +160,7 @@ public class ViewEndpoint {
 
     @GetMapping("/{viewId}")
     @Transactional(readOnly = true)
-    @Observed(name = "dbrepo_metadata_view_find")
+    @Observed(name = "dbrepo_view_find")
     @Operation(summary = "Find one view", security = {@SecurityRequirement(name = "bearerAuth"), @SecurityRequirement(name = "basicAuth")})
     @ApiResponses(value = {
             @ApiResponse(responseCode = "200",
@@ -202,7 +207,7 @@ public class ViewEndpoint {
     @DeleteMapping("/{viewId}")
     @Transactional
     @PreAuthorize("hasAuthority('delete-database-view')")
-    @Observed(name = "dbrepo_metadata_view_delete")
+    @Observed(name = "dbrepo_view_delete")
     @Operation(summary = "Delete one view", security = {@SecurityRequirement(name = "bearerAuth"), @SecurityRequirement(name = "basicAuth")})
     @ApiResponses(value = {
             @ApiResponse(responseCode = "202",
@@ -233,8 +238,13 @@ public class ViewEndpoint {
                     content = {@Content(
                             mediaType = "application/json",
                             schema = @Schema(implementation = ApiErrorDto.class))}),
+            @ApiResponse(responseCode = "502",
+                    description = "Connection to search service failed",
+                    content = {@Content(
+                            mediaType = "application/json",
+                            schema = @Schema(implementation = ApiErrorDto.class))}),
             @ApiResponse(responseCode = "503",
-                    description = "Connection to the database failed",
+                    description = "Failed to save in search service",
                     content = {@Content(
                             mediaType = "application/json",
                             schema = @Schema(implementation = ApiErrorDto.class))}),
diff --git a/dbrepo-metadata-service/rest-service/src/main/java/at/tuwien/handlers/ApiExceptionHandler.java b/dbrepo-metadata-service/rest-service/src/main/java/at/tuwien/handlers/ApiExceptionHandler.java
index e1cad8fbb6..bca87e510e 100644
--- a/dbrepo-metadata-service/rest-service/src/main/java/at/tuwien/handlers/ApiExceptionHandler.java
+++ b/dbrepo-metadata-service/rest-service/src/main/java/at/tuwien/handlers/ApiExceptionHandler.java
@@ -53,7 +53,7 @@ public class ApiExceptionHandler extends ResponseEntityExceptionHandler {
     }
 
     @Hidden
-    @ResponseStatus(code = HttpStatus.UNAUTHORIZED)
+    @ResponseStatus(code = HttpStatus.FORBIDDEN)
     @ExceptionHandler(CredentialsInvalidException.class)
     public ResponseEntity<ApiErrorDto> handle(CredentialsInvalidException e) {
         return generic_handle(e.getClass(), e.getLocalizedMessage());
diff --git a/dbrepo-metadata-service/rest-service/src/main/resources/application-local.yml b/dbrepo-metadata-service/rest-service/src/main/resources/application-local.yml
index 3cf8b37d31..6f69d7737c 100644
--- a/dbrepo-metadata-service/rest-service/src/main/resources/application-local.yml
+++ b/dbrepo-metadata-service/rest-service/src/main/resources/application-local.yml
@@ -1,6 +1,6 @@
 spring:
   datasource:
-    url: jdbc:mariadb://localhost:3306/fda
+    url: jdbc:mariadb://localhost:3306/dbrepo
     driver-class-name: org.mariadb.jdbc.Driver
     username: root
     password: dbrepo
@@ -62,7 +62,7 @@ dbrepo:
     username: admin
     password: admin
   endpoints:
-    searchService: http://localhost:5000
+    searchService: http://localhost:4000
     dataService: http://localhost:9093
     brokerService: http://localhost/admin/broker
     authService: http://localhost:8080
diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/endpoints/DatabaseEndpointUnitTest.java b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/endpoints/DatabaseEndpointUnitTest.java
index ac5963a125..08233dfd44 100644
--- a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/endpoints/DatabaseEndpointUnitTest.java
+++ b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/endpoints/DatabaseEndpointUnitTest.java
@@ -420,10 +420,10 @@ public class DatabaseEndpointUnitTest extends AbstractUnitTest {
         }
 
         /* test */
-        final ResponseEntity<List<DatabaseDto>> response = databaseEndpoint.list(internalName);
+        final ResponseEntity<List<DatabaseBriefDto>> response = databaseEndpoint.list(internalName);
         assertEquals(HttpStatus.OK, response.getStatusCode());
         assertNotNull(response.getBody());
-        final List<DatabaseDto> body = response.getBody();
+        final List<DatabaseBriefDto> body = response.getBody();
         assertEquals(databases.size(), body.size());
     }
 
diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/mvc/OpenApiEndpointMvcTest.java b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/mvc/OpenApiEndpointMvcTest.java
index 799fdee005..d685ca65cd 100644
--- a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/mvc/OpenApiEndpointMvcTest.java
+++ b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/mvc/OpenApiEndpointMvcTest.java
@@ -3,6 +3,7 @@ package at.tuwien.mvc;
 import at.tuwien.api.error.ApiErrorDto;
 import at.tuwien.endpoints.*;
 import at.tuwien.test.AbstractUnitTest;
+import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.media.Content;
 import io.swagger.v3.oas.annotations.responses.ApiResponse;
 import lombok.extern.log4j.Log4j2;
@@ -11,7 +12,6 @@ import org.junit.jupiter.api.extension.ExtendWith;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc;
 import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.http.HttpStatus;
 import org.springframework.http.MediaType;
 import org.springframework.test.context.junit.jupiter.SpringExtension;
 import org.springframework.test.web.servlet.MockMvc;
@@ -19,9 +19,7 @@ import org.springframework.web.bind.annotation.ResponseStatus;
 
 import java.lang.reflect.Method;
 import java.util.Arrays;
-import java.util.LinkedList;
 import java.util.List;
-import java.util.Optional;
 
 import static org.junit.jupiter.api.Assertions.*;
 import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
@@ -116,7 +114,7 @@ public class OpenApiEndpointMvcTest extends AbstractUnitTest {
 
     private void generic_openApiDocs(Class<?> endpoint) {
         final List<Method> methods = Arrays.stream(endpoint.getMethods())
-                .filter(m -> m.getDeclaringClass().equals(AccessEndpoint.class))
+                .filter(m -> m.getDeclaringClass().equals(endpoint))
                 .toList();
         methods.forEach(m -> {
             final List<Class<?>> exceptions = Arrays.stream(m.getExceptionTypes())
@@ -126,6 +124,7 @@ public class OpenApiEndpointMvcTest extends AbstractUnitTest {
                     .toList();
             assertTrue(invalidExceptions.isEmpty(), "method '" + m.getName() + "' throws exception(s) outside package scope at.tuwien: " + invalidExceptions.stream().map(Class::getName).toList());
             exceptions.forEach(exception -> {
+                assertNotNull(m.getDeclaredAnnotation(Operation.class).summary());
                 final int status = exception.getAnnotation(ResponseStatus.class)
                         .code()
                         .value();
@@ -143,7 +142,7 @@ public class OpenApiEndpointMvcTest extends AbstractUnitTest {
                         assertNotNull(response.content());
                         assertTrue(response.content().length > 0);
                         final Content content0 = response.content()[0];
-                        assertEquals(MediaType.APPLICATION_JSON_VALUE, content0.mediaType());
+                        assertEquals(MediaType.APPLICATION_JSON_VALUE, content0.mediaType(), "method " + m.getName() + " and status " + status + " should return JSON");
                         assertEquals(ApiErrorDto.class, content0.schema().implementation());
                     });
                 }
diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/mvc/PrometheusEndpointMvcTest.java b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/mvc/PrometheusEndpointMvcTest.java
index 8b479cabf3..76678a1fe3 100644
--- a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/mvc/PrometheusEndpointMvcTest.java
+++ b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/mvc/PrometheusEndpointMvcTest.java
@@ -2,15 +2,20 @@ package at.tuwien.mvc;
 
 import at.tuwien.api.auth.RefreshTokenRequestDto;
 import at.tuwien.api.database.table.TableStatisticDto;
+import at.tuwien.api.database.table.columns.ColumnStatisticDto;
+import at.tuwien.api.semantics.TableColumnEntityDto;
 import at.tuwien.test.AbstractUnitTest;
 import at.tuwien.api.container.ContainerCreateDto;
 import at.tuwien.api.database.*;
 import at.tuwien.api.database.table.columns.concepts.ColumnSemanticsUpdateDto;
 import at.tuwien.config.MetricsConfig;
 import at.tuwien.endpoints.*;
+import io.micrometer.observation.annotation.Observed;
 import io.micrometer.observation.tck.TestObservationRegistry;
+import io.swagger.v3.oas.annotations.Operation;
 import lombok.extern.log4j.Log4j2;
 import org.apache.commons.io.FileUtils;
+import org.apache.commons.lang3.StringUtils;
 import org.junit.jupiter.api.AfterAll;
 import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
@@ -30,11 +35,10 @@ import org.springframework.test.web.servlet.MockMvc;
 
 import java.io.File;
 import java.io.IOException;
+import java.lang.reflect.Method;
+import java.math.BigDecimal;
 import java.nio.charset.Charset;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.LinkedList;
-import java.util.List;
+import java.util.*;
 
 import static io.micrometer.observation.tck.TestObservationRegistryAssert.assertThat;
 import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
@@ -80,7 +84,7 @@ public class PrometheusEndpointMvcTest extends AbstractUnitTest {
     private LicenseEndpoint licenseEndpoint;
 
     @Autowired
-    private MessageEndpoint maintenanceEndpoint;
+    private MessageEndpoint messageEndpoint;
 
     @Autowired
     private MetadataEndpoint metadataEndpoint;
@@ -97,7 +101,7 @@ public class PrometheusEndpointMvcTest extends AbstractUnitTest {
     @Autowired
     private ViewEndpoint viewEndpoint;
 
-    private static final List<String> metrics = new LinkedList<>();
+    private static final Map<String, String> metrics = new TreeMap<>(); /* sorted */
 
     @TestConfiguration
     static class ObservationTestConfiguration {
@@ -110,15 +114,12 @@ public class PrometheusEndpointMvcTest extends AbstractUnitTest {
 
     @BeforeAll
     public static void beforeAll() {
-        FileUtils.deleteQuietly(new File("../metrics.txt"));
+        FileUtils.deleteQuietly(new File("../metrics.md"));
     }
 
     @AfterAll
     public static void afterAll() throws IOException {
-        Collections.sort(metrics);
-        final StringBuilder content = new StringBuilder("# AUTOGENERATED FILE (DO NOT EDIT)\n")
-                .append(String.join("\n", metrics));
-        FileUtils.writeStringToFile(new File("../metrics.txt"), content.toString(), Charset.defaultCharset());
+        saveObservedMetrics(metrics);
     }
 
     @Test
@@ -157,11 +158,11 @@ public class PrometheusEndpointMvcTest extends AbstractUnitTest {
         }
 
         /* test */
-        for (String metric : List.of("dbrepo_metadata_access_give", "dbrepo_metadata_access_get", "dbrepo_metadata_access_modify", "dbrepo_metadata_access_get", "dbrepo_metadata_access_delete")) {
-            metrics.add(metric);
+        for (String metric : List.of("dbrepo_access_give", "dbrepo_access_get", "dbrepo_access_modify", "dbrepo_access_get", "dbrepo_access_delete")) {
             assertThat(registry)
                     .hasObservationWithNameEqualTo(metric);
         }
+        generic_openApiDocs(AccessEndpoint.class);
     }
 
     @Test
@@ -191,11 +192,11 @@ public class PrometheusEndpointMvcTest extends AbstractUnitTest {
         }
 
         /* test */
-        for (String metric : List.of("dbrepo_metadata_container_findall", "dbrepo_metadata_container_create", "dbrepo_metadata_container_find", "dbrepo_metadata_container_delete")) {
-            metrics.add(metric);
+        for (String metric : List.of("dbrepo_container_findall", "dbrepo_container_create", "dbrepo_container_find", "dbrepo_container_delete")) {
             assertThat(registry)
                     .hasObservationWithNameEqualTo(metric);
         }
+        generic_openApiDocs(ContainerEndpoint.class);
     }
 
     @Test
@@ -235,11 +236,11 @@ public class PrometheusEndpointMvcTest extends AbstractUnitTest {
         }
 
         /* test */
-        for (String metric : List.of("dbrepo_metadata_database_findall", "dbrepo_metadata_database_create", "dbrepo_metadata_database_visibility", "dbrepo_metadata_database_transfer", "dbrepo_metadata_database_find", "dbrepo_metadata_database_image")) {
-            metrics.add(metric);
+        for (String metric : List.of("dbrepo_database_findall", "dbrepo_database_create", "dbrepo_database_visibility", "dbrepo_database_transfer", "dbrepo_database_find", "dbrepo_database_image")) {
             assertThat(registry)
                     .hasObservationWithNameEqualTo(metric);
         }
+        generic_openApiDocs(DatabaseEndpoint.class);
     }
 
     @Test
@@ -279,13 +280,13 @@ public class PrometheusEndpointMvcTest extends AbstractUnitTest {
         }
 
         /* test */
-        for (String metric : List.of("dbrepo_metadata_identifier_create", "dbrepo_metadata_identifier_retrieve",
-                "dbrepo_metadata_identifier_list", "dbrepo_metadata_identifier_save",
-                "dbrepo_metadata_identifier_publish")) {
-            metrics.add(metric);
+        for (String metric : List.of("dbrepo_identifier_create", "dbrepo_identifier_retrieve",
+                "dbrepo_identifier_list", "dbrepo_identifier_save",
+                "dbrepo_identifier_publish")) {
             assertThat(registry)
                     .hasObservationWithNameEqualTo(metric);
         }
+        generic_openApiDocs(IdentifierEndpoint.class);
     }
 
     @Test
@@ -320,12 +321,12 @@ public class PrometheusEndpointMvcTest extends AbstractUnitTest {
         }
 
         /* test */
-        for (String metric : List.of("dbrepo_metadata_image_findall", "dbrepo_metadata_image_create",
-                "dbrepo_metadata_image_find", "dbrepo_metadata_image_update", "dbrepo_metadata_image_delete")) {
-            metrics.add(metric);
+        for (String metric : List.of("dbrepo_image_findall", "dbrepo_image_create",
+                "dbrepo_image_find", "dbrepo_image_update", "dbrepo_image_delete")) {
             assertThat(registry)
                     .hasObservationWithNameEqualTo(metric);
         }
+        generic_openApiDocs(ImageEndpoint.class);
     }
 
     @Test
@@ -340,9 +341,9 @@ public class PrometheusEndpointMvcTest extends AbstractUnitTest {
         }
 
         /* test */
-        metrics.add("dbrepo_metadata_license_findall");
         assertThat(registry)
-                .hasObservationWithNameEqualTo("dbrepo_metadata_license_findall");
+                .hasObservationWithNameEqualTo("dbrepo_license_findall");
+        generic_openApiDocs(LicenseEndpoint.class);
     }
 
     @Test
@@ -351,37 +352,37 @@ public class PrometheusEndpointMvcTest extends AbstractUnitTest {
 
         /* mock */
         try {
-            maintenanceEndpoint.list("");
+            messageEndpoint.list("");
         } catch (Exception e) {
             /* ignore */
         }
         try {
-            maintenanceEndpoint.find(BANNER_MESSAGE_1_ID);
+            messageEndpoint.find(BANNER_MESSAGE_1_ID);
         } catch (Exception e) {
             /* ignore */
         }
         try {
-            maintenanceEndpoint.create(BANNER_MESSAGE_1_CREATE_DTO);
+            messageEndpoint.create(BANNER_MESSAGE_1_CREATE_DTO);
         } catch (Exception e) {
             /* ignore */
         }
         try {
-            maintenanceEndpoint.update(BANNER_MESSAGE_1_ID, BANNER_MESSAGE_1_UPDATE_DTO);
+            messageEndpoint.update(BANNER_MESSAGE_1_ID, BANNER_MESSAGE_1_UPDATE_DTO);
         } catch (Exception e) {
             /* ignore */
         }
         try {
-            maintenanceEndpoint.delete(BANNER_MESSAGE_1_ID);
+            messageEndpoint.delete(BANNER_MESSAGE_1_ID);
         } catch (Exception e) {
             /* ignore */
         }
 
         /* test */
-        for (String metric : List.of("dbrepo_metadata_maintenance_findall", "dbrepo_metadata_maintenance_find", "dbrepo_metadata_maintenance_create", "dbrepo_metadata_maintenance_update", "dbrepo_metadata_maintenance_delete")) {
-            metrics.add(metric);
+        for (String metric : List.of("dbrepo_maintenance_findall", "dbrepo_maintenance_find", "dbrepo_maintenance_create", "dbrepo_maintenance_update", "dbrepo_maintenance_delete")) {
             assertThat(registry)
                     .hasObservationWithNameEqualTo(metric);
         }
+        generic_openApiDocs(MessageEndpoint.class);
     }
 
     @Test
@@ -411,11 +412,11 @@ public class PrometheusEndpointMvcTest extends AbstractUnitTest {
         }
 
         /* test */
-        for (String metric : List.of("dbrepo_metadata_oai_identify", "dbrepo_metadata_oai_identifiers_list", "dbrepo_metadata_oai_record_get", "dbrepo_metadata_oai_metadataformats_list")) {
-            metrics.add(metric);
+        for (String metric : List.of("dbrepo_oai_identify", "dbrepo_oai_identifiers_list", "dbrepo_oai_record_get", "dbrepo_oai_metadataformats_list")) {
             assertThat(registry)
                     .hasObservationWithNameEqualTo(metric);
         }
+        generic_openApiDocs(MetadataEndpoint.class);
     }
 
     @Test
@@ -455,105 +456,61 @@ public class PrometheusEndpointMvcTest extends AbstractUnitTest {
         }
 
         /* test */
-        for (String metric : List.of("dbrepo_metadata_ontologies_findall", "dbrepo_metadata_ontologies_find", "dbrepo_metadata_ontologies_create", "dbrepo_metadata_ontologies_update", "dbrepo_metadata_ontologies_delete", "dbrepo_metadata_ontologies_entities_find")) {
-            metrics.add(metric);
+        for (String metric : List.of("dbrepo_ontologies_findall", "dbrepo_ontologies_find", "dbrepo_ontologies_create", "dbrepo_ontologies_update", "dbrepo_ontologies_delete", "dbrepo_ontologies_entities_find")) {
             assertThat(registry)
                     .hasObservationWithNameEqualTo(metric);
         }
+        generic_openApiDocs(OntologyEndpoint.class);
     }
 
     @Test
-    @WithMockUser(username = USER_1_USERNAME, authorities = {"modify-identifier-metadata", "delete-identifier"})
-    public void prometheusPersistenceEndpoint_succeeds() {
+    @WithMockUser(username = USER_1_USERNAME, authorities = {"create-semantic-concept", "admin"})
+    public void prometheusConceptEndpoint_succeeds() {
 
         /* mock */
         try {
-            identifierEndpoint.find(IDENTIFIER_1_ID, null);
-        } catch (Exception e) {
-            /* ignore */
-        }
-        try {
-            identifierEndpoint.delete(IDENTIFIER_1_ID);
+            conceptEndpoint.findAll();
         } catch (Exception e) {
             /* ignore */
         }
 
         /* test */
-        for (String metric : List.of("dbrepo_metadata_identifier_find", "dbrepo_metadata_identifier_delete")) {
-            metrics.add(metric);
+        for (String metric : List.of("dbrepo_semantic_concepts_findall")) {
             assertThat(registry)
                     .hasObservationWithNameEqualTo(metric);
         }
+        generic_openApiDocs(ConceptEndpoint.class);
     }
 
     @Test
-    @WithMockUser(username = USER_1_USERNAME, authorities = {"create-semantic-concept", "create-semantic-unit", "table-semantic-analyse", "admin"})
-    public void prometheusSemanticsEndpoint_succeeds() {
+    @WithMockUser(username = USER_1_USERNAME, authorities = {"create-semantic-unit", "admin"})
+    public void prometheusUnitEndpoint_succeeds() {
 
         /* mock */
-        try {
-            conceptEndpoint.findAll();
-        } catch (Exception e) {
-            /* ignore */
-        }
         try {
             unitEndpoint.findAll();
         } catch (Exception e) {
             /* ignore */
         }
-        try {
-            tableEndpoint.analyseTable(DATABASE_1_ID, TABLE_1_ID);
-        } catch (Exception e) {
-            /* ignore */
-        }
-        try {
-            tableEndpoint.updateStatistic(DATABASE_1_ID, TABLE_1_ID, TableStatisticDto.builder()
-                    .columns(new HashMap<>())
-                    .build());
-        } catch (Exception e) {
-            /* ignore */
-        }
-        try {
-            tableEndpoint.analyseTableColumn(DATABASE_1_ID, TABLE_1_ID, TABLE_1_COLUMNS.get(0).getId());
-        } catch (Exception e) {
-            /* ignore */
-        }
 
         /* test */
-        for (String metric : List.of("dbrepo_metadata_semantic_concepts_findall",
-                "dbrepo_metadata_statistic_table_update", "dbrepo_metadata_semantic_units_findall",
-                "dbrepo_metadata_semantic_table_analyse", "dbrepo_metadata_semantic_column_analyse")) {
-            metrics.add(metric);
+        for (String metric : List.of("dbrepo_semantic_units_findall")) {
             assertThat(registry)
                     .hasObservationWithNameEqualTo(metric);
         }
+        generic_openApiDocs(UnitEndpoint.class);
     }
 
     @Test
-    @WithMockUser(username = USER_1_USERNAME, authorities = {"modify-table-column-semantics", "modify-foreign-table-column-semantics"})
-    public void prometheusTableColumnEndpoint_succeeds() {
+    @WithMockUser(username = USER_1_USERNAME, authorities = {"create-table", "delete-table",
+            "modify-table-column-semantics", "modify-foreign-table-column-semantics", "admin",
+            "table-semantic-analyse"})
+    public void prometheusTableEndpoint_succeeds() {
         final ColumnSemanticsUpdateDto request = ColumnSemanticsUpdateDto.builder()
                 .unitUri(UNIT_1_URI)
                 .conceptUri(CONCEPT_1_URI)
                 .build();
 
-        /* mock */
-        try {
-            tableEndpoint.update(DATABASE_1_ID, TABLE_1_ID, TABLE_1_COLUMNS.get(3).getId(), request, USER_1_PRINCIPAL);
-        } catch (Exception e) {
-            /* ignore */
-        }
-
-        /* test */
-        metrics.add("dbrepo_metadata_semantics_column_save");
-        assertThat(registry)
-                .hasObservationWithNameEqualTo("dbrepo_metadata_semantics_column_save");
-    }
-
-    @Test
-    @WithMockUser(username = USER_1_USERNAME, authorities = {"create-table", "delete-table"})
-    public void prometheusTableEndpoint_succeeds() {
-
         /* mock */
         try {
             tableEndpoint.list(DATABASE_1_ID, USER_1_PRINCIPAL);
@@ -575,14 +532,35 @@ public class PrometheusEndpointMvcTest extends AbstractUnitTest {
         } catch (Exception e) {
             /* ignore */
         }
+        try {
+            tableEndpoint.analyseTable(DATABASE_1_ID, TABLE_1_ID);
+        } catch (Exception e) {
+            /* ignore */
+        }
+        try {
+            tableEndpoint.updateStatistic(DATABASE_1_ID, TABLE_1_ID, TableStatisticDto.builder().build());
+        } catch (Exception e) {
+            /* ignore */
+        }
+        try {
+            tableEndpoint.analyseTableColumn(DATABASE_1_ID, TABLE_1_ID, TABLE_1_COLUMNS.get(0).getId());
+        } catch (Exception e) {
+            /* ignore */
+        }
+        try {
+            tableEndpoint.update(DATABASE_1_ID, TABLE_1_ID, TABLE_1_COLUMNS.get(3).getId(), request, USER_1_PRINCIPAL);
+        } catch (Exception e) {
+            /* ignore */
+        }
 
         /* test */
-        for (String metric : List.of("dbrepo_metadata_tables_findall", "dbrepo_metadata_table_create",
-                "dbrepo_metadata_tables_find", "dbrepo_metadata_table_delete")) {
-            metrics.add(metric);
+        for (String metric : List.of("dbrepo_tables_findall", "dbrepo_table_create", "dbrepo_tables_find",
+                "dbrepo_table_delete", "dbrepo_statistic_table_update", "dbrepo_semantic_table_analyse",
+                "dbrepo_semantic_column_analyse", "dbrepo_semantics_column_save")) {
             assertThat(registry)
                     .hasObservationWithNameEqualTo(metric);
         }
+        generic_openApiDocs(TableEndpoint.class);
     }
 
     @Test
@@ -617,12 +595,12 @@ public class PrometheusEndpointMvcTest extends AbstractUnitTest {
         }
 
         /* test */
-        for (String metric : List.of("dbrepo_metadata_user_refresh_token", "dbrepo_metadata_users_list",
-                "dbrepo_metadata_user_find", "dbrepo_metadata_user_modify", "dbrepo_metadata_user_password_modify")) {
-            metrics.add(metric);
+        for (String metric : List.of("dbrepo_user_refresh_token", "dbrepo_users_list",
+                "dbrepo_user_find", "dbrepo_user_modify", "dbrepo_user_password_modify")) {
             assertThat(registry)
                     .hasObservationWithNameEqualTo(metric);
         }
+        generic_openApiDocs(UserEndpoint.class);
     }
 
     @Test
@@ -642,11 +620,11 @@ public class PrometheusEndpointMvcTest extends AbstractUnitTest {
         }
 
         /* test */
-        for (String metric : List.of("dbrepo_metadata_user_create", "dbrepo_metadata_user_token")) {
-            metrics.add(metric);
+        for (String metric : List.of("dbrepo_user_create", "dbrepo_user_token")) {
             assertThat(registry)
                     .hasObservationWithNameEqualTo(metric);
         }
+        // already done above
     }
 
     @Test
@@ -676,12 +654,21 @@ public class PrometheusEndpointMvcTest extends AbstractUnitTest {
         }
 
         /* test */
-        for (String metric : List.of("dbrepo_metadata_views_findall", "dbrepo_metadata_view_create",
-                "dbrepo_metadata_view_find", "dbrepo_metadata_view_delete")) {
-            metrics.add(metric);
+        for (String metric : List.of("dbrepo_views_findall", "dbrepo_view_create",
+                "dbrepo_view_find", "dbrepo_view_delete")) {
             assertThat(registry)
                     .hasObservationWithNameEqualTo(metric);
         }
+        generic_openApiDocs(ViewEndpoint.class);
+    }
+
+    private static void generic_openApiDocs(Class<?> endpoint) {
+        final List<Method> methods = Arrays.stream(endpoint.getMethods())
+                .filter(m -> m.getDeclaringClass().equals(endpoint))
+                .toList();
+        methods.forEach(m -> {
+            metrics.put(m.getDeclaredAnnotation(Observed.class).name(), m.getDeclaredAnnotation(Operation.class).summary());
+        });
     }
 
 }
diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/service/ConceptServiceUnitTest.java b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/service/ConceptServiceUnitTest.java
index 602c46fee5..d0323941df 100644
--- a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/service/ConceptServiceUnitTest.java
+++ b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/service/ConceptServiceUnitTest.java
@@ -12,7 +12,6 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.test.context.SpringBootTest;
 import org.springframework.boot.test.mock.mockito.MockBean;
 import org.springframework.test.context.junit.jupiter.SpringExtension;
-import org.springframework.transaction.annotation.Transactional;
 
 import java.util.List;
 import java.util.Optional;
@@ -27,7 +26,7 @@ import static org.mockito.Mockito.when;
 public class ConceptServiceUnitTest extends AbstractUnitTest {
 
     @MockBean
-    private ConceptRepository conceptRepository;;
+    private ConceptRepository conceptRepository;
 
     @Autowired
     private ConceptService conceptService;
@@ -38,7 +37,6 @@ public class ConceptServiceUnitTest extends AbstractUnitTest {
     }
 
     @Test
-    @Transactional
     public void findAll_succeeds() {
 
         /* mock */
@@ -52,7 +50,6 @@ public class ConceptServiceUnitTest extends AbstractUnitTest {
     }
 
     @Test
-    @Transactional
     public void find_succeeds() throws ConceptNotFoundException {
 
         /* mock */
@@ -67,7 +64,6 @@ public class ConceptServiceUnitTest extends AbstractUnitTest {
     }
 
     @Test
-    @Transactional
     public void findConcept_fails() {
 
         /* mock */
diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/service/DataCiteIdentifierServicePersistenceTest.java b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/service/DataCiteIdentifierServicePersistenceTest.java
index 2968c6f80d..f28cc0b9b1 100644
--- a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/service/DataCiteIdentifierServicePersistenceTest.java
+++ b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/service/DataCiteIdentifierServicePersistenceTest.java
@@ -61,12 +61,6 @@ public class DataCiteIdentifierServicePersistenceTest extends AbstractUnitTest {
     @Autowired
     private DatabaseRepository databaseRepository;
 
-    @Autowired
-    private ConceptRepository conceptRepository;
-
-    @Autowired
-    private UnitRepository unitRepository;
-
     private final ParameterizedTypeReference<DataCiteBody<DataCiteDoi>> dataCiteBodyParameterizedTypeReference = new ParameterizedTypeReference<>() {
     };
 
@@ -76,8 +70,6 @@ public class DataCiteIdentifierServicePersistenceTest extends AbstractUnitTest {
         /* metadata database */
         licenseRepository.save(LICENSE_1);
         containerRepository.save(CONTAINER_1);
-        conceptRepository.save(CONCEPT_1);
-        unitRepository.save(UNIT_1);
         userRepository.saveAll(List.of(USER_1, USER_2, USER_3, USER_4));
         databaseRepository.save(DATABASE_1);
     }
diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/service/DatabaseServicePersistenceTest.java b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/service/DatabaseServicePersistenceTest.java
index b9072ac7c7..ed5f21281d 100644
--- a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/service/DatabaseServicePersistenceTest.java
+++ b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/service/DatabaseServicePersistenceTest.java
@@ -2,6 +2,8 @@ package at.tuwien.service;
 
 import at.tuwien.entities.database.Database;
 import at.tuwien.exception.*;
+import at.tuwien.gateway.DataServiceGateway;
+import at.tuwien.gateway.SearchServiceGateway;
 import at.tuwien.repository.*;
 import at.tuwien.service.impl.DatabaseServiceImpl;
 import at.tuwien.test.AbstractUnitTest;
@@ -12,21 +14,32 @@ import org.junit.jupiter.api.Test;
 import org.junit.jupiter.api.extension.ExtendWith;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.boot.test.mock.mockito.MockBean;
+import org.springframework.test.annotation.DirtiesContext;
 import org.springframework.test.context.junit.jupiter.SpringExtension;
 import org.springframework.transaction.annotation.Transactional;
 
 import java.util.List;
 
 import static org.junit.jupiter.api.Assertions.*;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.Mockito.when;
 
 @Log4j2
 @SpringBootTest
-@Disabled("keep failing on CI but works locally")
+@Disabled("CI/CD")
+@DirtiesContext(classMode = DirtiesContext.ClassMode.BEFORE_EACH_TEST_METHOD)
 @ExtendWith(SpringExtension.class)
 public class DatabaseServicePersistenceTest extends AbstractUnitTest {
 
+    @MockBean
+    private DataServiceGateway dataServiceGateway;
+
+    @MockBean
+    private SearchServiceGateway searchServiceGateway;
+
     @Autowired
-    private DatabaseServiceImpl databaseService;
+    private DatabaseService databaseService;
 
     @Autowired
     private UserRepository userRepository;
@@ -92,4 +105,20 @@ public class DatabaseServicePersistenceTest extends AbstractUnitTest {
         assertNotNull(response.getCreator().getAccesses());
     }
 
+    @Test
+    public void updateTableMetadata_succeeds() throws SearchServiceException, MalformedException, ServiceException,
+            QueryNotFoundException, DatabaseNotFoundException, ServiceConnectionException,
+            SearchServiceConnectionException {
+
+        /* mock */
+        when(dataServiceGateway.getTableSchemas(DATABASE_1_ID))
+                .thenReturn(List.of(TABLE_5_DTO));
+        when(searchServiceGateway.update(any(Database.class)))
+                .thenReturn(DATABASE_1_DTO); /* ignored */
+
+        /* test */
+        final Database response = databaseService.updateTableMetadata(DATABASE_1);
+        log.debug("");
+    }
+
 }
diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/service/DatabaseServiceUnitTest.java b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/service/DatabaseServiceUnitTest.java
index e50276d77d..6c6357aaf6 100644
--- a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/service/DatabaseServiceUnitTest.java
+++ b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/service/DatabaseServiceUnitTest.java
@@ -48,7 +48,7 @@ public class DatabaseServiceUnitTest extends AbstractUnitTest {
     private ContainerRepository containerRepository;
 
     @Autowired
-    private DatabaseServiceImpl databaseService;
+    private DatabaseService databaseService;
 
     @BeforeEach
     public void beforeEach() {
diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/service/ImageServiceIntegrationTest.java b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/service/ImageServicePersistenceTest.java
similarity index 92%
rename from dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/service/ImageServiceIntegrationTest.java
rename to dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/service/ImageServicePersistenceTest.java
index cc79e0ca4c..50e0dc08f6 100644
--- a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/service/ImageServiceIntegrationTest.java
+++ b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/service/ImageServicePersistenceTest.java
@@ -5,7 +5,6 @@ import at.tuwien.api.container.image.ImageCreateDto;
 import at.tuwien.exception.ImageAlreadyExistsException;
 import at.tuwien.repository.ContainerRepository;
 import at.tuwien.repository.ImageRepository;
-import at.tuwien.service.impl.ImageServiceImpl;
 import lombok.extern.log4j.Log4j2;
 import org.apache.http.auth.BasicUserPrincipal;
 import org.junit.jupiter.api.BeforeEach;
@@ -24,10 +23,10 @@ import static org.junit.jupiter.api.Assertions.*;
 @DirtiesContext(classMode = DirtiesContext.ClassMode.BEFORE_EACH_TEST_METHOD)
 @ExtendWith(SpringExtension.class)
 @SpringBootTest
-public class ImageServiceIntegrationTest extends AbstractUnitTest {
+public class ImageServicePersistenceTest extends AbstractUnitTest {
 
     @Autowired
-    private ImageServiceImpl imageService;
+    private ImageService imageService;
 
     @Autowired
     private ImageRepository imageRepository;
diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/service/ImageServiceUnitTest.java b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/service/ImageServiceUnitTest.java
index f486f5db11..bce3c7bc12 100644
--- a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/service/ImageServiceUnitTest.java
+++ b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/service/ImageServiceUnitTest.java
@@ -31,7 +31,7 @@ public class ImageServiceUnitTest extends AbstractUnitTest {
     private ImageRepository imageRepository;
 
     @Autowired
-    private ImageServiceImpl imageService;
+    private ImageService imageService;
 
     @Test
     public void getAll_succeeds() {
diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/service/TableServicePersistenceTest.java b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/service/TableServicePersistenceTest.java
index 6db5522dcc..91b64ef93c 100644
--- a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/service/TableServicePersistenceTest.java
+++ b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/service/TableServicePersistenceTest.java
@@ -3,13 +3,10 @@ package at.tuwien.service;
 import at.tuwien.api.database.table.TableCreateDto;
 import at.tuwien.api.database.table.columns.ColumnCreateDto;
 import at.tuwien.api.database.table.columns.ColumnTypeDto;
-import at.tuwien.api.database.table.columns.concepts.ColumnSemanticsUpdateDto;
 import at.tuwien.api.database.table.constraints.ConstraintsCreateDto;
-import at.tuwien.api.database.table.constraints.foreignKey.ForeignKeyCreateDto;
 import at.tuwien.entities.database.Database;
 import at.tuwien.entities.database.table.Table;
 import at.tuwien.entities.database.table.columns.TableColumn;
-import at.tuwien.entities.database.table.columns.TableColumnConcept;
 import at.tuwien.entities.database.table.columns.TableColumnType;
 import at.tuwien.entities.database.table.constraints.foreignKey.ForeignKey;
 import at.tuwien.entities.database.table.constraints.primaryKey.PrimaryKey;
@@ -21,17 +18,17 @@ import at.tuwien.repository.*;
 import at.tuwien.test.AbstractUnitTest;
 import lombok.extern.log4j.Log4j2;
 import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Disabled;
 import org.junit.jupiter.api.Test;
 import org.junit.jupiter.api.extension.ExtendWith;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.test.context.SpringBootTest;
 import org.springframework.boot.test.mock.mockito.MockBean;
+import org.springframework.test.annotation.DirtiesContext;
 import org.springframework.test.context.junit.jupiter.SpringExtension;
 import org.springframework.transaction.annotation.Transactional;
 
 import java.util.*;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
 
 import static org.junit.jupiter.api.Assertions.*;
 import static org.mockito.ArgumentMatchers.any;
@@ -40,6 +37,8 @@ import static org.mockito.Mockito.*;
 
 @Log4j2
 @SpringBootTest
+@Disabled("CI/CD")
+@DirtiesContext(classMode = DirtiesContext.ClassMode.BEFORE_EACH_TEST_METHOD)
 @ExtendWith(SpringExtension.class)
 public class TableServicePersistenceTest extends AbstractUnitTest {
 
@@ -64,12 +63,6 @@ public class TableServicePersistenceTest extends AbstractUnitTest {
     @Autowired
     private DatabaseRepository databaseRepository;
 
-    @Autowired
-    private ConceptRepository conceptRepository;
-
-    @Autowired
-    private UnitRepository unitRepository;
-
     @Autowired
     private TableService tableService;
 
@@ -80,8 +73,6 @@ public class TableServicePersistenceTest extends AbstractUnitTest {
         licenseRepository.save(LICENSE_1);
         containerRepository.save(CONTAINER_1);
         userRepository.saveAll(List.of(USER_1, USER_2, USER_3));
-        conceptRepository.save(CONCEPT_1);
-        unitRepository.save(UNIT_1);
         databaseRepository.saveAll(List.of(DATABASE_1));
     }
 
diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/service/TableServiceUnitTest.java b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/service/TableServiceUnitTest.java
index c57c7e5934..0e74c54947 100644
--- a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/service/TableServiceUnitTest.java
+++ b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/service/TableServiceUnitTest.java
@@ -4,11 +4,9 @@ import at.tuwien.api.database.table.TableCreateDto;
 import at.tuwien.api.database.table.columns.ColumnCreateDto;
 import at.tuwien.api.database.table.columns.ColumnTypeDto;
 import at.tuwien.api.database.table.constraints.ConstraintsCreateDto;
-import at.tuwien.api.database.table.constraints.ConstraintsDto;
-import at.tuwien.api.database.table.constraints.foreignKey.ForeignKeyCreateDto;
+import at.tuwien.api.database.table.constraints.foreign.ForeignKeyCreateDto;
 import at.tuwien.entities.database.table.columns.TableColumnType;
 import at.tuwien.entities.database.table.constraints.Constraints;
-import at.tuwien.repository.OntologyRepository;
 import at.tuwien.test.AbstractUnitTest;
 import at.tuwien.api.database.table.columns.concepts.ColumnSemanticsUpdateDto;
 import at.tuwien.entities.database.Database;
diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/service/ViewServicePersistenceTest.java b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/service/ViewServicePersistenceTest.java
new file mode 100644
index 0000000000..f686a1c23a
--- /dev/null
+++ b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/service/ViewServicePersistenceTest.java
@@ -0,0 +1,68 @@
+package at.tuwien.service;
+
+import at.tuwien.entities.database.View;
+import at.tuwien.exception.*;
+import at.tuwien.repository.ContainerRepository;
+import at.tuwien.repository.DatabaseRepository;
+import at.tuwien.repository.LicenseRepository;
+import at.tuwien.repository.UserRepository;
+import at.tuwien.test.AbstractUnitTest;
+import lombok.extern.log4j.Log4j2;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Disabled;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.annotation.DirtiesContext;
+import org.springframework.test.context.junit.jupiter.SpringExtension;
+
+import java.util.List;
+
+import static org.junit.jupiter.api.Assertions.assertEquals;
+
+@Log4j2
+@SpringBootTest
+@Disabled("CI/CD")
+@DirtiesContext(classMode = DirtiesContext.ClassMode.BEFORE_EACH_TEST_METHOD)
+@ExtendWith(SpringExtension.class)
+public class ViewServicePersistenceTest extends AbstractUnitTest {
+
+    @Autowired
+    private UserRepository userRepository;
+
+    @Autowired
+    private LicenseRepository licenseRepository;
+
+    @Autowired
+    private ContainerRepository containerRepository;
+
+    @Autowired
+    private DatabaseRepository databaseRepository;
+
+    @Autowired
+    private ViewService viewService;
+
+    @BeforeEach
+    public void beforeEach() {
+        genesis();
+        /* metadata database */
+        licenseRepository.save(LICENSE_1);
+        containerRepository.save(CONTAINER_1);
+        userRepository.saveAll(List.of(USER_1, USER_2, USER_3));
+        databaseRepository.save(DATABASE_1);
+    }
+
+    @Test
+    public void findById_succeeds() throws ViewNotFoundException {
+
+        /* test */
+        final View response = viewService.findById(DATABASE_1, VIEW_1_ID);
+        assertEquals(VIEW_1_ID, response.getId());
+        assertEquals(VIEW_1_NAME, response.getName());
+        assertEquals(VIEW_1_INTERNAL_NAME, response.getInternalName());
+        assertEquals(VIEW_1_QUERY, response.getQuery());
+        assertEquals(VIEW_1_COLUMNS.size(), response.getColumns().size());
+    }
+
+}
diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/service/ViewServiceUnitTest.java b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/service/ViewServiceUnitTest.java
index f3987fc93b..da345658ef 100644
--- a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/service/ViewServiceUnitTest.java
+++ b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/service/ViewServiceUnitTest.java
@@ -57,9 +57,8 @@ public class ViewServiceUnitTest extends AbstractUnitTest {
                 .build();
 
         /* mock */
-        doNothing()
-                .when(dataServiceGateway)
-                .createView(DATABASE_1_ID, request);
+        when(dataServiceGateway.createView(DATABASE_1_ID, request))
+                .thenReturn(VIEW_1_DTO);
         when(databaseRepository.save(any(Database.class)))
                 .thenReturn(DATABASE_1);
         when(searchServiceGateway.update(any(Database.class)))
diff --git a/dbrepo-metadata-service/rest-service/src/test/resources/init/weather.sql b/dbrepo-metadata-service/rest-service/src/test/resources/init/weather.sql
index b6dd8cff4c..19033d2548 100644
--- a/dbrepo-metadata-service/rest-service/src/test/resources/init/weather.sql
+++ b/dbrepo-metadata-service/rest-service/src/test/resources/init/weather.sql
@@ -9,15 +9,7 @@ CREATE TABLE weather_location
     location VARCHAR(255) PRIMARY KEY,
     lat      DOUBLE PRECISION NULL,
     lng      DOUBLE PRECISION NULL
-) WITH SYSTEM VERSIONING;
-
-CREATE VIEW `hs_weather_location` AS
-SELECT *
-FROM (SELECT ROW_START AS inserted_at, IF(ROW_END > NOW(), NULL, ROW_END) AS deleted_at, COUNT(*) as total
-      FROM `weather_location` FOR SYSTEM_TIME ALL
-      GROUP BY inserted_at, deleted_at
-      ORDER BY deleted_at DESC LIMIT 50) AS v
-ORDER BY v.inserted_at, v.deleted_at ASC;
+) WITH SYSTEM VERSIONING COMMENT 'Weather location';
 
 CREATE TABLE weather_aus
 (
@@ -29,29 +21,19 @@ CREATE TABLE weather_aus
     FOREIGN KEY (location) REFERENCES weather_location (location),
     UNIQUE (`date`),
     CHECK (`mintemp` > 0)
-) WITH SYSTEM VERSIONING;
-
-CREATE VIEW `hs_weather_aus` AS
-SELECT *
-FROM (SELECT ROW_START AS inserted_at, IF(ROW_END > NOW(), NULL, ROW_END) AS deleted_at, COUNT(*) as total
-      FROM `weather_aus` FOR SYSTEM_TIME ALL
-      GROUP BY inserted_at, deleted_at
-      ORDER BY deleted_at DESC LIMIT 50) AS v
-ORDER BY v.inserted_at, v.deleted_at ASC;
+) WITH SYSTEM VERSIONING COMMENT 'Weather in the world';
 
 CREATE TABLE sensor
 (
     `timestamp` TIMESTAMP NOT NULL PRIMARY KEY,
     `value`     DECIMAL
-) WITH SYSTEM VERSIONING;
+) WITH SYSTEM VERSIONING COMMENT 'Some sensor data';
 
-CREATE VIEW `hs_sensor` AS
-SELECT *
-FROM (SELECT ROW_START AS inserted_at, IF(ROW_END > NOW(), NULL, ROW_END) AS deleted_at, COUNT(*) as total
-      FROM `sensor` FOR SYSTEM_TIME ALL
-      GROUP BY inserted_at, deleted_at
-      ORDER BY deleted_at DESC LIMIT 50) AS v
-ORDER BY v.inserted_at, v.deleted_at ASC;
+CREATE TABLE sensor_2
+(
+    `timestamp` TIMESTAMP NOT NULL PRIMARY KEY,
+    `value`     DECIMAL
+) WITH SYSTEM VERSIONING COMMENT 'Hello sensor';
 
 -- sequence not in metadata on purpose
 CREATE SEQUENCE weather_aut_seq NOCACHE;
@@ -69,8 +51,6 @@ CREATE TABLE weather_aut
     CHECK (`mintemp` > 0)
 ) WITH SYSTEM VERSIONING;
 
--- no history view in data database on purpose
-
 -- table not in metadata on purpose
 CREATE TABLE weather_aut_without_versioning
 (
@@ -84,8 +64,6 @@ CREATE TABLE weather_aut_without_versioning
     CHECK (`mintemp` > 0)
 );
 
--- no history view in data database on purpose
-
 -- view not in metadata on purpose
 CREATE VIEW weather_aut_merge AS
 (
diff --git a/dbrepo-metadata-service/services/pom.xml b/dbrepo-metadata-service/services/pom.xml
index 7451e00015..a66dfb7c87 100644
--- a/dbrepo-metadata-service/services/pom.xml
+++ b/dbrepo-metadata-service/services/pom.xml
@@ -6,12 +6,12 @@
     <parent>
         <artifactId>dbrepo-metadata-service</artifactId>
         <groupId>at.tuwien</groupId>
-        <version>1.4.3</version>
+        <version>1.4.4</version>
     </parent>
 
     <artifactId>dbrepo-metadata-service-services</artifactId>
     <name>dbrepo-metadata-service-services</name>
-    <version>1.4.3</version>
+    <version>1.4.4</version>
 
     <dependencies>
         <dependency>
diff --git a/dbrepo-metadata-service/services/src/main/java/at/tuwien/gateway/DataServiceGateway.java b/dbrepo-metadata-service/services/src/main/java/at/tuwien/gateway/DataServiceGateway.java
index 77dd5588ad..d8ba8a490f 100644
--- a/dbrepo-metadata-service/services/src/main/java/at/tuwien/gateway/DataServiceGateway.java
+++ b/dbrepo-metadata-service/services/src/main/java/at/tuwien/gateway/DataServiceGateway.java
@@ -4,12 +4,15 @@ import at.tuwien.ExportResourceDto;
 import at.tuwien.api.database.AccessTypeDto;
 import at.tuwien.api.database.DatabaseDto;
 import at.tuwien.api.database.ViewCreateDto;
+import at.tuwien.api.database.ViewDto;
 import at.tuwien.api.database.internal.CreateDatabaseDto;
 import at.tuwien.api.database.query.QueryDto;
 import at.tuwien.api.database.table.TableCreateDto;
+import at.tuwien.api.database.table.TableDto;
 import at.tuwien.api.user.internal.UpdateUserPasswordDto;
 import at.tuwien.exception.*;
 
+import java.util.List;
 import java.util.UUID;
 
 public interface DataServiceGateway {
@@ -27,11 +30,15 @@ public interface DataServiceGateway {
 
     void deleteTable(Long databaseId, Long tableId) throws ServiceConnectionException, ServiceException, TableNotFoundException;
 
-    void createView(Long databaseId, ViewCreateDto data) throws ServiceConnectionException, ServiceException;
+    ViewDto createView(Long databaseId, ViewCreateDto data) throws ServiceConnectionException, ServiceException;
 
     void deleteView(Long databaseId, Long viewId) throws ServiceConnectionException, ServiceException, ViewNotFoundException;
 
     QueryDto findQuery(Long databaseId, Long queryId) throws ServiceConnectionException, ServiceException, QueryNotFoundException;
 
     ExportResourceDto exportQuery(Long databaseId, Long queryId) throws ServiceConnectionException, ServiceException, QueryNotFoundException;
+
+    List<TableDto> getTableSchemas(Long databaseId) throws ServiceConnectionException, ServiceException, QueryNotFoundException;
+
+    List<ViewDto> getViewSchemas(Long databaseId) throws ServiceConnectionException, ServiceException, QueryNotFoundException;
 }
diff --git a/dbrepo-metadata-service/services/src/main/java/at/tuwien/gateway/impl/BrokerServiceGatewayImpl.java b/dbrepo-metadata-service/services/src/main/java/at/tuwien/gateway/impl/BrokerServiceGatewayImpl.java
index b8e4d48d8d..8ab7c8a730 100644
--- a/dbrepo-metadata-service/services/src/main/java/at/tuwien/gateway/impl/BrokerServiceGatewayImpl.java
+++ b/dbrepo-metadata-service/services/src/main/java/at/tuwien/gateway/impl/BrokerServiceGatewayImpl.java
@@ -126,8 +126,6 @@ public class BrokerServiceGatewayImpl implements BrokerServiceGateway {
         final String url = "/api/exchanges/" + rabbitConfig.getVirtualHost() + "/" + name;
         final HttpHeaders headers = new HttpHeaders();
         headers.set("Accept", "application/json");
-        log.trace("gateway broker find exchange, virtual host={}, exchange={}", rabbitConfig.getVirtualHost(), name);
-        log.debug("find exchange from url {}{}", gatewayConfig.getBrokerEndpoint(), url);
         final ResponseEntity<ExchangeDto> response;
         try {
             response = restTemplate.exchange(url, HttpMethod.GET, new HttpEntity<>(null, headers), ExchangeDto.class);
diff --git a/dbrepo-metadata-service/services/src/main/java/at/tuwien/gateway/impl/DataServiceGatewayImpl.java b/dbrepo-metadata-service/services/src/main/java/at/tuwien/gateway/impl/DataServiceGatewayImpl.java
index 4635ffbbb2..a278fc60b9 100644
--- a/dbrepo-metadata-service/services/src/main/java/at/tuwien/gateway/impl/DataServiceGatewayImpl.java
+++ b/dbrepo-metadata-service/services/src/main/java/at/tuwien/gateway/impl/DataServiceGatewayImpl.java
@@ -1,13 +1,11 @@
 package at.tuwien.gateway.impl;
 
 import at.tuwien.ExportResourceDto;
-import at.tuwien.api.database.AccessTypeDto;
-import at.tuwien.api.database.DatabaseDto;
-import at.tuwien.api.database.UpdateDatabaseAccessDto;
-import at.tuwien.api.database.ViewCreateDto;
+import at.tuwien.api.database.*;
 import at.tuwien.api.database.internal.CreateDatabaseDto;
 import at.tuwien.api.database.query.QueryDto;
 import at.tuwien.api.database.table.TableCreateDto;
+import at.tuwien.api.database.table.TableDto;
 import at.tuwien.api.user.internal.UpdateUserPasswordDto;
 import at.tuwien.exception.*;
 import at.tuwien.gateway.DataServiceGateway;
@@ -20,6 +18,7 @@ import org.springframework.web.client.HttpServerErrorException;
 import org.springframework.web.client.ResourceAccessException;
 import org.springframework.web.client.RestTemplate;
 
+import java.util.Arrays;
 import java.util.List;
 import java.util.UUID;
 
@@ -211,12 +210,12 @@ public class DataServiceGatewayImpl implements DataServiceGateway {
     }
 
     @Override
-    public void createView(Long databaseId, ViewCreateDto data) throws ServiceConnectionException, ServiceException {
-        final ResponseEntity<Void> response;
+    public ViewDto createView(Long databaseId, ViewCreateDto data) throws ServiceConnectionException, ServiceException {
+        final ResponseEntity<ViewDto> response;
         final String url = "/api/database/" + databaseId + "/view";
         log.debug("create view in data service");
         try {
-            response = restTemplate.exchange(url, HttpMethod.POST, new HttpEntity<>(data), Void.class);
+            response = restTemplate.exchange(url, HttpMethod.POST, new HttpEntity<>(data), ViewDto.class);
         } catch (ResourceAccessException | HttpServerErrorException.ServiceUnavailable |
                  HttpServerErrorException.InternalServerError e) {
             log.error("Failed to create view: {}", e.getMessage());
@@ -229,6 +228,11 @@ public class DataServiceGatewayImpl implements DataServiceGateway {
             log.error("Failed to create view: wrong http code: {}", response.getStatusCode());
             throw new ServiceException("Failed to create view: wrong http code: " + response.getStatusCode());
         }
+        if (response.getBody() == null) {
+            log.error("Failed to create view: empty body: {}", response.getStatusCode());
+            throw new ServiceException("Failed to create view: empty body: " + response.getStatusCode());
+        }
+        return response.getBody();
     }
 
     @Override
@@ -267,7 +271,7 @@ public class DataServiceGatewayImpl implements DataServiceGateway {
         } catch (ResourceAccessException | HttpServerErrorException.ServiceUnavailable |
                  HttpServerErrorException.InternalServerError e) {
             log.error("Failed to find query: {}", e.getMessage());
-            throw new ServiceConnectionException("Failed to delete table", e);
+            throw new ServiceConnectionException("Failed to find query", e);
         } catch (HttpClientErrorException.NotFound e) {
             log.error("Failed to find query: not found: {}", e.getMessage());
             throw new QueryNotFoundException("Failed to find query: not found", e);
@@ -296,7 +300,7 @@ public class DataServiceGatewayImpl implements DataServiceGateway {
         } catch (ResourceAccessException | HttpServerErrorException.ServiceUnavailable |
                  HttpServerErrorException.InternalServerError e) {
             log.error("Failed to export query: {}", e.getMessage());
-            throw new ServiceConnectionException("Failed to delete table: " + e.getMessage(), e);
+            throw new ServiceConnectionException("Failed to export query: " + e.getMessage(), e);
         } catch (HttpClientErrorException.NotFound e) {
             log.error("Failed to export query: not found: {}", e.getMessage());
             throw new QueryNotFoundException("Failed to export query: not found: " + e.getMessage(), e);
@@ -311,4 +315,65 @@ public class DataServiceGatewayImpl implements DataServiceGateway {
         return response.getBody();
     }
 
+    @Override
+    public List<TableDto> getTableSchemas(Long databaseId) throws ServiceConnectionException, ServiceException, QueryNotFoundException {
+        final ResponseEntity<TableDto[]> response;
+        final String url = "/api/database/" + databaseId + "/table";
+        log.debug("retrieve table schema metadata in data service");
+        try {
+            response = restTemplate.exchange(url, HttpMethod.GET, new HttpEntity<>(null), TableDto[].class);
+        } catch (ResourceAccessException | HttpServerErrorException.ServiceUnavailable |
+                 HttpServerErrorException.InternalServerError e) {
+            log.error("Failed to get table schemas: {}", e.getMessage());
+            throw new ServiceConnectionException("Failed to get table schemas: " + e.getMessage(), e);
+        } catch (HttpClientErrorException.NotFound e) {
+            log.error("Failed to get table schemas: not found: {}", e.getMessage());
+            throw new QueryNotFoundException("Failed to get table schemas: not found: " + e.getMessage(), e);
+        } catch (HttpClientErrorException.Unauthorized e) {
+            log.error("Failed to get table schemas: {}", e.getMessage());
+            throw new ServiceException("Failed to get table schemas: " + e.getMessage(), e);
+        }
+        if (!response.getStatusCode().equals(HttpStatus.OK)) {
+            log.error("Failed to get table schemas: wrong http code: {}", response.getStatusCode());
+            throw new ServiceException("Failed to get table schemas: wrong http code: " + response.getStatusCode());
+        }
+        if (response.getBody() == null) {
+            log.error("Failed to get table schemas: empty body: {}", response.getStatusCode());
+            throw new ServiceException("Failed to get table schemas: empty body: " + response.getStatusCode());
+        }
+        final List<TableDto> tables = Arrays.asList(response.getBody());
+        log.debug("found {} table(s) in data service", tables.size());
+        return tables;
+    }
+
+    @Override
+    public List<ViewDto> getViewSchemas(Long databaseId) throws ServiceConnectionException, ServiceException, QueryNotFoundException {
+        final ResponseEntity<ViewDto[]> response;
+        final String url = "/api/database/" + databaseId + "/view";
+        try {
+            response = restTemplate.exchange(url, HttpMethod.GET, new HttpEntity<>(null), ViewDto[].class);
+        } catch (ResourceAccessException | HttpServerErrorException.ServiceUnavailable |
+                 HttpServerErrorException.InternalServerError e) {
+            log.error("Failed to get view schemas: {}", e.getMessage());
+            throw new ServiceConnectionException("Failed to get view schemas: " + e.getMessage(), e);
+        } catch (HttpClientErrorException.NotFound e) {
+            log.error("Failed to get view schemas: not found: {}", e.getMessage());
+            throw new QueryNotFoundException("Failed to get view schemas: not found: " + e.getMessage(), e);
+        } catch (HttpClientErrorException.Unauthorized e) {
+            log.error("Failed to get view schemas: {}", e.getMessage());
+            throw new ServiceException("Failed to get view schemas: " + e.getMessage(), e);
+        }
+        if (!response.getStatusCode().equals(HttpStatus.OK)) {
+            log.error("Failed to get view schemas: wrong http code: {}", response.getStatusCode());
+            throw new ServiceException("Failed to get view schemas: wrong http code: " + response.getStatusCode());
+        }
+        if (response.getBody() == null) {
+            log.error("Failed to get view schemas: empty body: {}", response.getStatusCode());
+            throw new ServiceException("Failed to get view schemas: empty body: " + response.getStatusCode());
+        }
+        final List<ViewDto> views = Arrays.asList(response.getBody());
+        log.debug("found {} view(s) in data service", views.size());
+        return views;
+    }
+
 }
diff --git a/dbrepo-metadata-service/services/src/main/java/at/tuwien/gateway/impl/SearchServiceGatewayImpl.java b/dbrepo-metadata-service/services/src/main/java/at/tuwien/gateway/impl/SearchServiceGatewayImpl.java
index 8b87a1bfad..487e088062 100644
--- a/dbrepo-metadata-service/services/src/main/java/at/tuwien/gateway/impl/SearchServiceGatewayImpl.java
+++ b/dbrepo-metadata-service/services/src/main/java/at/tuwien/gateway/impl/SearchServiceGatewayImpl.java
@@ -1,10 +1,13 @@
 package at.tuwien.gateway.impl;
 
 import at.tuwien.api.database.DatabaseDto;
+import at.tuwien.api.database.table.constraints.unique.UniqueDto;
 import at.tuwien.entities.database.Database;
+import at.tuwien.entities.database.View;
 import at.tuwien.exception.*;
 import at.tuwien.gateway.SearchServiceGateway;
 import at.tuwien.mapper.DatabaseMapper;
+import at.tuwien.mapper.TableMapper;
 import lombok.extern.log4j.Log4j2;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Qualifier;
@@ -15,16 +18,22 @@ import org.springframework.web.client.HttpServerErrorException;
 import org.springframework.web.client.ResourceAccessException;
 import org.springframework.web.client.RestTemplate;
 
+import java.util.LinkedList;
+import java.util.List;
+
 @Log4j2
 @Service
 public class SearchServiceGatewayImpl implements SearchServiceGateway {
 
+    private final TableMapper tableMapper;
     private final RestTemplate restTemplate;
     private final DatabaseMapper databaseMapper;
 
     @Autowired
-    public SearchServiceGatewayImpl(@Qualifier("searchServiceRestTemplate") RestTemplate restTemplate,
+    public SearchServiceGatewayImpl(TableMapper tableMapper,
+                                    @Qualifier("searchServiceRestTemplate") RestTemplate restTemplate,
                                     DatabaseMapper databaseMapper) {
+        this.tableMapper = tableMapper;
         this.restTemplate = restTemplate;
         this.databaseMapper = databaseMapper;
     }
@@ -33,6 +42,31 @@ public class SearchServiceGatewayImpl implements SearchServiceGateway {
     public DatabaseDto update(Database database) throws SearchServiceConnectionException, SearchServiceException, DatabaseNotFoundException {
         final ResponseEntity<DatabaseDto> response;
         final DatabaseDto payload = databaseMapper.databaseToDatabaseDto(database);
+        payload.getTables()
+                .forEach(table -> {
+                    table.setIsPublic(database.getIsPublic());
+                    table.getColumns()
+                            .forEach(column -> {
+                                column.setTable(table);
+                                column.setTableId(table.getId());
+                                column.setDatabaseId(payload.getId());
+                                column.setIsPublic(payload.getIsPublic());
+                            });
+                    table.getConstraints()
+                            .getUniques()
+                            .forEach(uk -> {
+                                uk.setTable(tableMapper.tableDtoToTableBriefDto(table));
+                                uk.getTable().setDatabaseId(database.getId());
+                                uk.setColumns(new LinkedList<>());
+//                                uk.getColumns()
+//                                        .forEach(column -> {
+//                                            column.setTable(table);
+//                                            column.setTableId(table.getId());
+//                                            column.setDatabaseId(database.getId());
+//                                            column.setIsPublic(database.getIsPublic());
+//                                        });
+                            });
+                });
         final HttpHeaders headers = new HttpHeaders();
         headers.set("Accept", "application/json");
         headers.set("Content-Type", "application/json");
@@ -48,8 +82,8 @@ public class SearchServiceGatewayImpl implements SearchServiceGateway {
             log.error("Failed to update database: not found");
             throw new DatabaseNotFoundException("Failed to update database: not found", e);
         } catch (HttpClientErrorException.BadRequest | HttpClientErrorException.Unauthorized e) {
-            log.error("Failed to update database: body is null");
-            throw new SearchServiceException("Failed to update database: body is null", e);
+            log.error("Failed to update database: malformed payload: {}", e.getMessage());
+            throw new SearchServiceException("Failed to update database: malformed payload", e);
         }
         if (!response.getStatusCode().equals(HttpStatus.ACCEPTED)) {
             log.error("Failed to update database: response code is not 202");
diff --git a/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/DatabaseService.java b/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/DatabaseService.java
index 8faa87017f..32291c8755 100644
--- a/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/DatabaseService.java
+++ b/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/DatabaseService.java
@@ -7,6 +7,8 @@ import at.tuwien.entities.database.Database;
 import at.tuwien.entities.user.User;
 import at.tuwien.exception.*;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Propagation;
+import org.springframework.transaction.annotation.Transactional;
 
 import java.security.Principal;
 import java.util.List;
@@ -99,5 +101,11 @@ public interface DatabaseService {
      */
     Database modifyImage(Database database, byte[] image) throws DatabaseNotFoundException, SearchServiceException, SearchServiceConnectionException;
 
+    Database updateTableMetadata(Database database) throws DatabaseNotFoundException, ServiceException,
+            SearchServiceException, SearchServiceConnectionException, QueryNotFoundException,
+            ServiceConnectionException, MalformedException;
 
+    Database updateViewMetadata(Database database) throws DatabaseNotFoundException, ServiceException,
+            SearchServiceException, SearchServiceConnectionException, QueryNotFoundException,
+            ServiceConnectionException;
 }
diff --git a/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/impl/DatabaseServiceImpl.java b/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/impl/DatabaseServiceImpl.java
index 7d92eb7ff6..f695267a4a 100644
--- a/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/impl/DatabaseServiceImpl.java
+++ b/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/impl/DatabaseServiceImpl.java
@@ -3,17 +3,24 @@ package at.tuwien.service.impl;
 import at.tuwien.api.database.DatabaseCreateDto;
 import at.tuwien.api.database.DatabaseDto;
 import at.tuwien.api.database.DatabaseModifyVisibilityDto;
+import at.tuwien.api.database.ViewDto;
 import at.tuwien.api.database.internal.CreateDatabaseDto;
+import at.tuwien.api.database.table.TableDto;
+import at.tuwien.api.database.table.columns.ColumnDto;
+import at.tuwien.api.database.table.constraints.primary.PrimaryKeyDto;
 import at.tuwien.api.user.internal.UpdateUserPasswordDto;
 import at.tuwien.entities.container.Container;
-import at.tuwien.entities.database.AccessType;
-import at.tuwien.entities.database.Database;
-import at.tuwien.entities.database.DatabaseAccess;
+import at.tuwien.entities.database.*;
+import at.tuwien.entities.database.table.Table;
+import at.tuwien.entities.database.table.columns.TableColumn;
+import at.tuwien.entities.database.table.constraints.primaryKey.PrimaryKey;
 import at.tuwien.entities.user.User;
 import at.tuwien.exception.*;
 import at.tuwien.gateway.DataServiceGateway;
 import at.tuwien.gateway.SearchServiceGateway;
 import at.tuwien.mapper.DatabaseMapper;
+import at.tuwien.mapper.TableMapper;
+import at.tuwien.mapper.ViewMapper;
 import at.tuwien.repository.DatabaseRepository;
 import at.tuwien.service.*;
 import lombok.extern.log4j.Log4j2;
@@ -28,6 +35,8 @@ import java.util.*;
 @Service
 public class DatabaseServiceImpl implements DatabaseService {
 
+    private final ViewMapper viewMapper;
+    private final TableMapper tableMapper;
     private final DatabaseMapper databaseMapper;
     private final ContainerService containerService;
     private final DatabaseRepository databaseRepository;
@@ -35,9 +44,11 @@ public class DatabaseServiceImpl implements DatabaseService {
     private final SearchServiceGateway searchServiceGateway;
 
     @Autowired
-    public DatabaseServiceImpl(DatabaseMapper databaseMapper, ContainerService containerService,
-                               DatabaseRepository databaseRepository, DataServiceGateway dataServiceGateway,
-                               SearchServiceGateway searchServiceGateway) {
+    public DatabaseServiceImpl(ViewMapper viewMapper, TableMapper tableMapper, DatabaseMapper databaseMapper,
+                               ContainerService containerService, DatabaseRepository databaseRepository,
+                               DataServiceGateway dataServiceGateway, SearchServiceGateway searchServiceGateway) {
+        this.viewMapper = viewMapper;
+        this.tableMapper = tableMapper;
         this.databaseMapper = databaseMapper;
         this.containerService = containerService;
         this.databaseRepository = databaseRepository;
@@ -184,4 +195,92 @@ public class DatabaseServiceImpl implements DatabaseService {
         return database;
     }
 
+    @Override
+    @Transactional(rollbackFor = {SearchServiceException.class, SearchServiceConnectionException.class, DatabaseNotFoundException.class})
+    public Database updateTableMetadata(Database database) throws DatabaseNotFoundException, ServiceException,
+            SearchServiceException, SearchServiceConnectionException, QueryNotFoundException,
+            ServiceConnectionException, MalformedException {
+        for (TableDto table : dataServiceGateway.getTableSchemas(database.getId())) {
+            if (database.getTables().stream().anyMatch(t -> t.getInternalName().equals(table.getInternalName()))) {
+                log.debug("fetched known table from data service: {}.{}", database.getInternalName(), table.getInternalName());
+                continue;
+            }
+            log.debug("fetched unknown table from data service: {}.{}", database.getInternalName(), table.getInternalName());
+            final Table tableEntity = tableMapper.tableDtoToTable(table);
+            tableEntity.setDatabase(database);
+            tableEntity.getColumns()
+                    .forEach(column -> {
+                        column.setTable(tableEntity);
+                    });
+            /* map unique constraint(s) */
+            tableEntity.getConstraints()
+                    .getUniques()
+                    .forEach(uk -> {
+                        uk.setTable(tableEntity);
+                        uk.getColumns()
+                                .forEach(column -> {
+                                    column.setTable(tableEntity);
+                                });
+                    });
+            /* map foreign key constraint(s) */
+            tableEntity.getConstraints()
+                    .getForeignKeys()
+                    .forEach(fk -> {
+                        fk.setTable(tableEntity);
+                    });
+            /* map primary key constraint */
+            for (PrimaryKeyDto key : table.getConstraints().getPrimaryKey()) {
+                final Optional<TableColumn> optional = tableEntity.getColumns()
+                        .stream()
+                        .filter(c -> c.getInternalName().equals(key.getColumn().getInternalName()))
+                        .findFirst();
+                if (optional.isEmpty()) {
+                    log.error("Failed to find primary key column {} in table {}.{}", key.getColumn().getInternalName(), database.getInternalName(), table.getInternalName());
+                    throw new MalformedException("Failed to find primary key column: " + key.getColumn().getInternalName());
+                }
+                tableEntity.getConstraints()
+                        .getPrimaryKey()
+                        .add(PrimaryKey.builder()
+                                .table(tableEntity)
+                                .column(optional.get())
+                                .build());
+            }
+            database.getTables()
+                    .add(tableEntity);
+        }
+        /* update in metadata database */
+        database = databaseRepository.save(database);
+        /* save in search service */
+        searchServiceGateway.update(database);
+        log.info("Updated table metadata of database with id {} & search database", database.getId());
+        return database;
+    }
+
+    @Override
+    @Transactional(rollbackFor = {SearchServiceException.class, SearchServiceConnectionException.class, DatabaseNotFoundException.class})
+    public Database updateViewMetadata(Database database) throws DatabaseNotFoundException, ServiceException,
+            SearchServiceException, SearchServiceConnectionException, QueryNotFoundException,
+            ServiceConnectionException {
+        for (ViewDto view : dataServiceGateway.getViewSchemas(database.getId())) {
+            if (database.getViews().stream().anyMatch(v -> v.getInternalName().equals(view.getInternalName()))) {
+                log.debug("fetched known view from data service: {}.{}", database.getInternalName(), view.getInternalName());
+                continue;
+            }
+            log.debug("fetched unknown view from data service: {}.{}", database.getInternalName(), view.getInternalName());
+            final View viewEntity = viewMapper.viewDtoToView(view);
+            viewEntity.setDatabase(database);
+            for (ViewColumn column : viewEntity.getColumns()) {
+                column.setView(viewEntity);
+            }
+            database.getViews()
+                    .add(viewEntity);
+        }
+        /* update in metadata database */
+        database = databaseRepository.save(database);
+        /* save in search service */
+        searchServiceGateway.update(database);
+        log.info("Updated view metadata of database with id {} & search database", database.getId());
+        return database;
+    }
+
 }
diff --git a/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/impl/ViewServiceImpl.java b/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/impl/ViewServiceImpl.java
index 54705186fa..ec26939199 100644
--- a/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/impl/ViewServiceImpl.java
+++ b/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/impl/ViewServiceImpl.java
@@ -1,19 +1,18 @@
 package at.tuwien.service.impl;
 
 import at.tuwien.api.database.ViewCreateDto;
+import at.tuwien.api.database.ViewDto;
 import at.tuwien.entities.database.Database;
 import at.tuwien.entities.database.View;
 import at.tuwien.entities.user.User;
 import at.tuwien.exception.*;
 import at.tuwien.gateway.DataServiceGateway;
 import at.tuwien.gateway.SearchServiceGateway;
-import at.tuwien.mapper.QueryMapper;
 import at.tuwien.mapper.ViewMapper;
 import at.tuwien.repository.DatabaseRepository;
 import at.tuwien.service.ViewService;
 import com.google.common.hash.Hashing;
 import lombok.extern.log4j.Log4j2;
-import net.sf.jsqlparser.JSQLParserException;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -28,16 +27,14 @@ import java.util.Optional;
 public class ViewServiceImpl implements ViewService {
 
     private final ViewMapper viewMapper;
-    private final QueryMapper queryMapper;
     private final DataServiceGateway dataServiceGateway;
     private final DatabaseRepository databaseRepository;
     private final SearchServiceGateway searchServiceGateway;
 
     @Autowired
-    public ViewServiceImpl(ViewMapper viewMapper, QueryMapper queryMapper, DataServiceGateway dataServiceGateway,
+    public ViewServiceImpl(ViewMapper viewMapper, DataServiceGateway dataServiceGateway,
                            DatabaseRepository databaseRepository, SearchServiceGateway searchServiceGateway) {
         this.viewMapper = viewMapper;
-        this.queryMapper = queryMapper;
         this.dataServiceGateway = dataServiceGateway;
         this.databaseRepository = databaseRepository;
         this.searchServiceGateway = searchServiceGateway;
@@ -102,17 +99,13 @@ public class ViewServiceImpl implements ViewService {
                 .queryHash(Hashing.sha256()
                         .hashString(data.getQuery(), StandardCharsets.UTF_8)
                         .toString())
+                .columns(new LinkedList<>())
                 .isInitialView(false)
                 .isPublic(data.getIsPublic())
                 .build();
         /* create in data service */
         data.setName(view.getInternalName());
-        dataServiceGateway.createView(database.getId(), data);
-        try {
-            view.setColumns(viewMapper.tableColumnsToViewColumns(view, queryMapper.parseColumns(data.getQuery(), database)));
-        } catch (JSQLParserException e) {
-            throw new MalformedException("Failed to parse columns from view: " + e.getMessage(), e);
-        }
+        final ViewDto dto = dataServiceGateway.createView(database.getId(), data);
         database.getViews()
                 .add(view);
         database = databaseRepository.save(database);
diff --git a/dbrepo-metadata-service/test/pom.xml b/dbrepo-metadata-service/test/pom.xml
index 303ea6133e..902e9efdda 100644
--- a/dbrepo-metadata-service/test/pom.xml
+++ b/dbrepo-metadata-service/test/pom.xml
@@ -6,12 +6,12 @@
     <parent>
         <groupId>at.tuwien</groupId>
         <artifactId>dbrepo-metadata-service</artifactId>
-        <version>1.4.3</version>
+        <version>1.4.4</version>
     </parent>
 
     <artifactId>dbrepo-metadata-service-test</artifactId>
     <name>dbrepo-metadata-service-test</name>
-    <version>1.4.3</version>
+    <version>1.4.4</version>
 
     <dependencies>
         <dependency>
diff --git a/dbrepo-metadata-service/test/src/main/java/at/tuwien/test/AbstractUnitTest.java b/dbrepo-metadata-service/test/src/main/java/at/tuwien/test/AbstractUnitTest.java
index 326437195d..a780819631 100644
--- a/dbrepo-metadata-service/test/src/main/java/at/tuwien/test/AbstractUnitTest.java
+++ b/dbrepo-metadata-service/test/src/main/java/at/tuwien/test/AbstractUnitTest.java
@@ -24,6 +24,7 @@ public abstract class AbstractUnitTest extends BaseTest {
         DATABASE_1_PRIVILEGED_DTO.setAccesses(new LinkedList<>(List.of(DATABASE_1_USER_1_READ_ACCESS_DTO, DATABASE_1_USER_2_WRITE_OWN_ACCESS_DTO, DATABASE_1_USER_3_WRITE_ALL_ACCESS_DTO)));
         TABLE_1.setDatabase(DATABASE_1);
         TABLE_1.setColumns(new LinkedList<>(TABLE_1_COLUMNS));
+        TABLE_1.setConstraints(TABLE_1_CONSTRAINTS);
         TABLE_1_PRIVILEGED_DTO.setColumns(new LinkedList<>(TABLE_1_COLUMNS_DTO));
         TABLE_1_PRIVILEGED_DTO.setDatabase(DATABASE_1_PRIVILEGED_DTO);
         DATABASE_1.setIdentifiers(new LinkedList<>(List.of(IDENTIFIER_1, IDENTIFIER_2, IDENTIFIER_3, IDENTIFIER_4)));
@@ -33,16 +34,24 @@ public abstract class AbstractUnitTest extends BaseTest {
         DATABASE_1_PRIVILEGED_DTO.setTables(new LinkedList<>(List.of(TABLE_1_DTO, TABLE_2_DTO, TABLE_3_DTO, TABLE_4_DTO)));
         DATABASE_1_PRIVILEGED_DTO.setViews(new LinkedList<>(List.of(VIEW_1_DTO, VIEW_2_DTO, VIEW_3_DTO)));
         TABLE_1_DTO.setColumns(TABLE_1_COLUMNS_DTO);
+        TABLE_1_DTO.setConstraints(TABLE_1_CONSTRAINTS_DTO);
         TABLE_2.setDatabase(DATABASE_1);
         TABLE_2.setColumns(new LinkedList<>(TABLE_2_COLUMNS));
+        TABLE_2_CONSTRAINTS.getForeignKeys().get(0).getReferences().get(0).setForeignKey(TABLE_2_CONSTRAINTS.getForeignKeys().get(0));
+        TABLE_2.setConstraints(TABLE_2_CONSTRAINTS);
         TABLE_2_PRIVILEGED_DTO.setColumns(new LinkedList<>(TABLE_2_COLUMNS_DTO));
         TABLE_2_DTO.setColumns(TABLE_2_COLUMNS_DTO);
+        TABLE_2_DTO.setConstraints(TABLE_2_CONSTRAINTS_DTO);
         TABLE_3.setDatabase(DATABASE_1);
         TABLE_3.setColumns(new LinkedList<>(TABLE_3_COLUMNS));
+        TABLE_3.setConstraints(TABLE_3_CONSTRAINTS);
         TABLE_3_DTO.setColumns(TABLE_3_COLUMNS_DTO);
+        TABLE_3_DTO.setConstraints(TABLE_3_CONSTRAINTS_DTO);
         TABLE_4.setDatabase(DATABASE_1);
         TABLE_4.setColumns(new LinkedList<>(TABLE_4_COLUMNS));
+        TABLE_4.setConstraints(TABLE_4_CONSTRAINTS);
         TABLE_4_DTO.setColumns(TABLE_4_COLUMNS_DTO);
+        TABLE_4_DTO.setConstraints(TABLE_4_CONSTRAINTS_DTO);
         VIEW_1.setDatabase(DATABASE_1);
         VIEW_1.setColumns(VIEW_1_COLUMNS);
         VIEW_1.setIdentifiers(new LinkedList<>(List.of(IDENTIFIER_3)));
@@ -52,6 +61,7 @@ public abstract class AbstractUnitTest extends BaseTest {
         VIEW_2_PRIVILEGED_DTO.setDatabase(DATABASE_1_PRIVILEGED_DTO);
         VIEW_3.setDatabase(DATABASE_1);
         VIEW_3.setColumns(VIEW_3_COLUMNS);
+        VIEW_3_PRIVILEGED_DTO.setDatabase(DATABASE_1_PRIVILEGED_DTO);
         IDENTIFIER_1.setDatabase(DATABASE_1);
         IDENTIFIER_2.setDatabase(DATABASE_1);
         IDENTIFIER_3.setDatabase(DATABASE_1);
@@ -63,13 +73,22 @@ public abstract class AbstractUnitTest extends BaseTest {
         DATABASE_2.setIdentifiers(new LinkedList<>(List.of(IDENTIFIER_5)));
         TABLE_5.setDatabase(DATABASE_2);
         TABLE_5.setColumns(new LinkedList<>(TABLE_5_COLUMNS));
+        TABLE_5.setConstraints(TABLE_5_CONSTRAINTS);
         TABLE_5_DTO.setColumns(TABLE_5_COLUMNS_DTO);
+        TABLE_5_DTO.setConstraints(TABLE_5_CONSTRAINTS_DTO);
         TABLE_6.setDatabase(DATABASE_2);
         TABLE_6.setColumns(new LinkedList<>(TABLE_6_COLUMNS));
+        TABLE_6.setConstraints(TABLE_6_CONSTRAINTS);
         TABLE_7.setDatabase(DATABASE_2);
         TABLE_7.setColumns(new LinkedList<>(TABLE_7_COLUMNS));
+        TABLE_7.setConstraints(TABLE_7_CONSTRAINTS);
+        TABLE_7_CONSTRAINTS.getForeignKeys().get(0).getReferences().get(0).setForeignKey(TABLE_7_CONSTRAINTS.getForeignKeys().get(0));
+        TABLE_7_CONSTRAINTS.getForeignKeys().get(1).getReferences().get(0).setForeignKey(TABLE_7_CONSTRAINTS.getForeignKeys().get(1));
+        TABLE_7_DTO.setColumns(TABLE_7_COLUMNS_DTO);
+        TABLE_7_DTO.setConstraints(TABLE_7_CONSTRAINTS_DTO);
+        TABLE_7_CONSTRAINTS_DTO.getForeignKeys().get(0).getReferences().get(0).setForeignKey(TABLE_7_CONSTRAINTS_DTO.getForeignKeys().get(0));
+        TABLE_7_CONSTRAINTS_DTO.getForeignKeys().get(1).getReferences().get(0).setForeignKey(TABLE_7_CONSTRAINTS_DTO.getForeignKeys().get(1));
         VIEW_4.setDatabase(DATABASE_2);
-        VIEW_4.setColumns(VIEW_4_COLUMNS);
         IDENTIFIER_5.setDatabase(DATABASE_2);
         /* DATABASE 3 */
         DATABASE_3.setAccesses(new LinkedList<>(List.of(DATABASE_3_USER_1_WRITE_ALL_ACCESS)));
@@ -78,8 +97,11 @@ public abstract class AbstractUnitTest extends BaseTest {
         DATABASE_3.setIdentifiers(new LinkedList<>(List.of(IDENTIFIER_6)));
         TABLE_8.setDatabase(DATABASE_3);
         TABLE_8.setColumns(new LinkedList<>(TABLE_8_COLUMNS));
+        TABLE_8.setConstraints(TABLE_8_CONSTRAINTS);
         TABLE_8_DTO.setColumns(new LinkedList<>(TABLE_8_COLUMNS_DTO));
+        TABLE_8_DTO.setConstraints(TABLE_8_CONSTRAINTS_DTO);
         TABLE_8_PRIVILEGED_DTO.setColumns(new LinkedList<>(TABLE_8_COLUMNS_DTO));
+        TABLE_8_PRIVILEGED_DTO.setConstraints(TABLE_8_CONSTRAINTS_DTO);
         VIEW_5.setDatabase(DATABASE_3);
         VIEW_5.setColumns(VIEW_5_COLUMNS);
         IDENTIFIER_6.setDatabase(DATABASE_3);
diff --git a/dbrepo-metadata-service/test/src/main/java/at/tuwien/test/BaseTest.java b/dbrepo-metadata-service/test/src/main/java/at/tuwien/test/BaseTest.java
index 251191c5fb..e0275f5d6e 100644
--- a/dbrepo-metadata-service/test/src/main/java/at/tuwien/test/BaseTest.java
+++ b/dbrepo-metadata-service/test/src/main/java/at/tuwien/test/BaseTest.java
@@ -25,12 +25,17 @@ import at.tuwien.api.database.table.columns.ColumnTypeDto;
 import at.tuwien.api.database.table.columns.concepts.*;
 import at.tuwien.api.database.table.constraints.ConstraintsCreateDto;
 import at.tuwien.api.database.table.constraints.ConstraintsDto;
-import at.tuwien.api.database.table.constraints.foreignKey.ForeignKeyCreateDto;
+import at.tuwien.api.database.table.constraints.foreign.ForeignKeyCreateDto;
+import at.tuwien.api.database.table.constraints.foreign.ForeignKeyDto;
+import at.tuwien.api.database.table.constraints.foreign.ForeignKeyReferenceDto;
+import at.tuwien.api.database.table.constraints.foreign.ReferenceTypeDto;
+import at.tuwien.api.database.table.constraints.primary.PrimaryKeyDto;
 import at.tuwien.api.database.table.constraints.unique.UniqueDto;
 import at.tuwien.api.database.table.internal.PrivilegedTableDto;
 import at.tuwien.api.datacite.DataCiteBody;
 import at.tuwien.api.datacite.DataCiteData;
 import at.tuwien.api.datacite.doi.DataCiteDoi;
+import at.tuwien.api.error.ApiErrorDto;
 import at.tuwien.api.identifier.*;
 import at.tuwien.api.keycloak.CredentialDto;
 import at.tuwien.api.keycloak.CredentialTypeDto;
@@ -63,19 +68,36 @@ import at.tuwien.entities.database.table.columns.TableColumn;
 import at.tuwien.entities.database.table.columns.TableColumnConcept;
 import at.tuwien.entities.database.table.columns.TableColumnType;
 import at.tuwien.entities.database.table.columns.TableColumnUnit;
+import at.tuwien.entities.database.table.constraints.Constraints;
+import at.tuwien.entities.database.table.constraints.foreignKey.ForeignKey;
+import at.tuwien.entities.database.table.constraints.foreignKey.ForeignKeyReference;
+import at.tuwien.entities.database.table.constraints.foreignKey.ReferenceType;
+import at.tuwien.entities.database.table.constraints.primaryKey.PrimaryKey;
+import at.tuwien.entities.database.table.constraints.unique.Unique;
 import at.tuwien.entities.identifier.*;
 import at.tuwien.entities.maintenance.BannerMessage;
 import at.tuwien.entities.maintenance.BannerMessageType;
 import at.tuwien.entities.semantics.Ontology;
 import at.tuwien.entities.user.User;
 import at.tuwien.test.utils.ArrayUtils;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.media.Content;
+import io.swagger.v3.oas.annotations.responses.ApiResponse;
+import org.apache.commons.io.FileUtils;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.http.MediaType;
 import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
 import org.springframework.security.core.GrantedAuthority;
 import org.springframework.security.core.authority.SimpleGrantedAuthority;
 import org.springframework.security.core.userdetails.UserDetails;
+import org.springframework.web.bind.annotation.ResponseStatus;
 
+import java.io.File;
+import java.io.IOException;
+import java.lang.reflect.Method;
 import java.math.BigDecimal;
 import java.math.BigInteger;
+import java.nio.charset.Charset;
 import java.security.Principal;
 import java.time.Instant;
 import java.util.*;
@@ -995,7 +1017,7 @@ public abstract class BaseTest {
             .jdbcMethod(IMAGE_1_JDBC)
             .driverClass(IMAGE_1_DRIVER)
             .defaultPort(IMAGE_1_PORT)
-            .dateFormats(List.of(IMAGE_DATE_1, IMAGE_DATE_2, IMAGE_DATE_3, IMAGE_DATE_4))
+            .dateFormats(new LinkedList<>(List.of(IMAGE_DATE_1, IMAGE_DATE_2, IMAGE_DATE_3, IMAGE_DATE_4)))
             .build();
 
     public final static ImageDto IMAGE_1_DTO = ImageDto.builder()
@@ -1498,13 +1520,6 @@ public abstract class BaseTest {
     public final static Instant TABLE_1_CREATED = Instant.ofEpochSecond(1677399975L) /* 2023-02-26 08:26:15 (UTC) */;
     public final static Instant TABLE_1_LAST_MODIFIED = Instant.ofEpochSecond(1677399975L) /* 2023-02-26 08:26:15 (UTC) */;
 
-    public final static ConstraintsDto TABLE_1_CONSTRAINT_DTO = ConstraintsDto.builder()
-            .checks(new LinkedHashSet<>())
-            .primaryKey(new LinkedHashSet<>(Set.of("id")))
-            .foreignKeys(new LinkedList<>())
-            .uniques(new LinkedList<>())
-            .build();
-
     public final static PrivilegedTableDto TABLE_1_PRIVILEGED_DTO = PrivilegedTableDto.builder()
             .id(TABLE_1_ID)
             .tdbid(DATABASE_1_ID)
@@ -1518,7 +1533,7 @@ public abstract class BaseTest {
             .routingKey(TABLE_1_ROUTING_KEY)
             .identifiers(new LinkedList<>())
             .columns(new LinkedList<>() /* TABLE_1_COLUMNS_DTO */)
-            .constraints(TABLE_1_CONSTRAINT_DTO)
+            .constraints(null) /* TABLE_1_CONSTRAINTS_DTO */
             .createdBy(USER_1_ID)
             .owner(USER_1_DTO)
             .isPublic(DATABASE_1_PUBLIC)
@@ -1536,6 +1551,7 @@ public abstract class BaseTest {
             .queueName(TABLE_1_QUEUE_NAME)
             .identifiers(new LinkedList<>())
             .columns(new LinkedList<>() /* TABLE_1_COLUMNS */)
+            .constraints(null) /* TABLE_1_CONSTRAINTS */
             .createdBy(USER_1_ID)
             .creator(USER_1)
             .ownedBy(USER_1_ID)
@@ -1555,7 +1571,7 @@ public abstract class BaseTest {
             .routingKey(TABLE_1_ROUTING_KEY)
             .identifiers(new LinkedList<>())
             .columns(new LinkedList<>() /* TABLE_1_COLUMNS_DTO */)
-            .constraints(TABLE_1_CONSTRAINT_DTO)
+            .constraints(null) /* TABLE_1_CONSTRAINT_DTO */
             .createdBy(USER_1_ID)
             .owner(USER_1_DTO)
             .build();
@@ -1650,13 +1666,6 @@ public abstract class BaseTest {
     public final static Instant TABLE_2_CREATED = Instant.ofEpochSecond(1677400007L) /* 2023-02-26 08:26:47 (UTC) */;
     public final static Instant TABLE_2_LAST_MODIFIED = Instant.ofEpochSecond(1677400007L) /* 2023-02-26 08:26:47 (UTC) */;
 
-    public final static ConstraintsDto TABLE_2_CONSTRAINT_DTO = ConstraintsDto.builder()
-            .checks(new LinkedHashSet<>())
-            .primaryKey(new LinkedHashSet<>(Set.of("location")))
-            .foreignKeys(new LinkedList<>())
-            .uniques(new LinkedList<>())
-            .build();
-
     public final static Table TABLE_2 = Table.builder()
             .id(TABLE_2_ID)
             .tdbid(DATABASE_1_ID)
@@ -1669,6 +1678,7 @@ public abstract class BaseTest {
             .lastModified(TABLE_2_LAST_MODIFIED)
             .queueName(TABLE_2_QUEUE_NAME)
             .columns(new LinkedList<>() /* TABLE_2_COLUMNS */)
+            .constraints(null) /* TABLE_2_CONSTRAINTS */
             .createdBy(USER_2_ID)
             .ownedBy(USER_2_ID)
             .owner(USER_2)
@@ -1687,7 +1697,7 @@ public abstract class BaseTest {
             .routingKey(TABLE_2_ROUTING_KEY)
             .identifiers(new LinkedList<>())
             .columns(new LinkedList<>() /* TABLE_2_COLUMNS_DTO */)
-            .constraints(TABLE_2_CONSTRAINT_DTO)
+            .constraints(null) /* TABLE_2_CONSTRAINTS_DTO */
             .createdBy(USER_1_ID)
             .owner(USER_1_DTO)
             .build();
@@ -1703,7 +1713,7 @@ public abstract class BaseTest {
             .queueName(TABLE_2_QUEUE_NAME)
             .routingKey(TABLE_2_ROUTING_KEY)
             .columns(new LinkedList<>() /* TABLE_2_COLUMNS_DTO */)
-            .constraints(ConstraintsDto.builder().build())
+            .constraints(null) /* TABLE_2_CONSTRAINTS_DTO */
             .createdBy(USER_2_ID)
             .owner(USER_2_DTO)
             .build();
@@ -1741,6 +1751,7 @@ public abstract class BaseTest {
             .lastModified(TABLE_3_LAST_MODIFIED)
             .queueName(TABLE_3_QUEUE_NAME)
             .columns(new LinkedList<>() /* TABLE_3_COLUMNS */)
+            .constraints(null) /* TABLE_3_CONSTRAINTS */
             .createdBy(USER_3_ID)
             .ownedBy(USER_3_ID)
             .owner(USER_3)
@@ -1757,7 +1768,7 @@ public abstract class BaseTest {
             .queueName(TABLE_3_QUEUE_NAME)
             .routingKey(TABLE_3_ROUTING_KEY)
             .columns(new LinkedList<>() /* TABLE_3_COLUMNS_DTO */)
-            .constraints(ConstraintsDto.builder().build())
+            .constraints(null) /* TABLE_3_CONSTRAINTS_DTO */
             .createdBy(USER_3_ID)
             .owner(USER_3_DTO)
             .build();
@@ -1822,7 +1833,8 @@ public abstract class BaseTest {
             .name(TABLE_5_NAME)
             .lastModified(TABLE_5_LAST_MODIFIED)
             .queueName(TABLE_5_QUEUE_NAME)
-            .columns(new LinkedList<>() /* needs to be set in the junit tests */)
+            .columns(new LinkedList<>()) /* TABLE_5_COLUMNS */
+            .constraints(null) /* TABLE_5_CONSTRAINTS */
             .createdBy(USER_1_ID)
             .ownedBy(USER_1_ID)
             .owner(USER_1)
@@ -1838,12 +1850,22 @@ public abstract class BaseTest {
             .name(TABLE_5_NAME)
             .queueName(TABLE_5_QUEUE_NAME)
             .routingKey(TABLE_5_ROUTING_KEY)
-            .columns(new LinkedList<>() /* TABLE_5_COLUMNS_DTO */)
-            .constraints(ConstraintsDto.builder().build())
+            .columns(new LinkedList<>()) /* TABLE_5_COLUMNS_DTO */
+            .constraints(null) /* TABLE_5_CONSTRAINTS_DTO */
             .createdBy(USER_1_ID)
             .owner(USER_1_DTO)
             .build();
 
+    public final static TableBriefDto TABLE_5_BRIEF_DTO = TableBriefDto.builder()
+            .id(TABLE_5_ID)
+            .internalName(TABLE_5_INTERNALNAME)
+            .isVersioned(TABLE_5_VERSIONED)
+            .description(TABLE_5_DESCRIPTION)
+            .name(TABLE_5_NAME)
+            .columns(new LinkedList<>() /* TABLE_5_COLUMNS_DTO */)
+            .owner(USER_1_BRIEF_DTO)
+            .build();
+
     public final static Long TABLE_6_ID = 6L;
     public final static String TABLE_6_NAME = "names";
     public final static String TABLE_6_INTERNALNAME = "names";
@@ -1865,7 +1887,8 @@ public abstract class BaseTest {
             .name(TABLE_6_NAME)
             .lastModified(TABLE_6_LAST_MODIFIED)
             .queueName(TABLE_6_QUEUE_NAME)
-            .columns(new LinkedList<>() /* needs to be set in the junit tests */)
+            .columns(new LinkedList<>()) /* TABLE_6_COLUMNS */
+            .constraints(null) /* TABLE_6_CONSTRAINTS */
             .createdBy(USER_1_ID)
             .ownedBy(USER_1_ID)
             .owner(USER_1)
@@ -1882,13 +1905,23 @@ public abstract class BaseTest {
             .name(TABLE_6_NAME)
             .queueName(TABLE_6_QUEUE_NAME)
             .routingKey(TABLE_6_ROUTING_KEY)
-            .columns(new LinkedList<>() /* TABLE_6_COLUMNS_DTO */)
-            .constraints(ConstraintsDto.builder().build())
+            .columns(new LinkedList<>()) /* TABLE_6_COLUMNS_DTO */
+            .constraints(null) /* TABLE_6_CONSTRAINTS_DTO */
             .createdBy(USER_1_ID)
             .owner(USER_1_DTO)
             .created(TABLE_6_CREATED)
             .build();
 
+    public final static TableBriefDto TABLE_6_BRIEF_DTO = TableBriefDto.builder()
+            .id(TABLE_6_ID)
+            .internalName(TABLE_6_INTERNALNAME)
+            .isVersioned(TABLE_6_VERSIONED)
+            .description(TABLE_6_DESCRIPTION)
+            .name(TABLE_6_NAME)
+            .columns(new LinkedList<>()) /* TABLE_6_COLUMNS_DTO */
+            .owner(USER_1_BRIEF_DTO)
+            .build();
+
     public final static Long TABLE_7_ID = 7L;
     public final static String TABLE_7_NAME = "likes";
     public final static String TABLE_7_INTERNAL_NAME = "likes";
@@ -1910,7 +1943,8 @@ public abstract class BaseTest {
             .name(TABLE_7_NAME)
             .lastModified(TABLE_7_LAST_MODIFIED)
             .queueName(TABLE_7_QUEUE_NAME)
-            .columns(new LinkedList<>() /* TABLE_7_COLUMNS */)
+            .columns(new LinkedList<>()) /* TABLE_7_COLUMNS */
+            .constraints(null) /* TABLE_7_CONSTRAINTS */
             .createdBy(USER_1_ID)
             .ownedBy(USER_1_ID)
             .owner(USER_1)
@@ -1927,16 +1961,26 @@ public abstract class BaseTest {
             .name(TABLE_7_NAME)
             .queueName(TABLE_7_QUEUE_NAME)
             .routingKey(TABLE_7_ROUTING_KEY)
-            .columns(new LinkedList<>() /* TABLE_7_COLUMNS_DTO */)
-            .constraints(ConstraintsDto.builder().build())
+            .columns(new LinkedList<>()) /* TABLE_7_COLUMNS_DTO */
+            .constraints(null) /* TABLE_7_CONSTRAINTS_DTO */
             .createdBy(USER_1_ID)
             .owner(USER_1_DTO)
             .created(TABLE_7_CREATED)
             .build();
 
+    public final static TableBriefDto TABLE_7_BRIEF_DTO = TableBriefDto.builder()
+            .id(TABLE_7_ID)
+            .internalName(TABLE_7_INTERNAL_NAME)
+            .isVersioned(TABLE_7_VERSIONED)
+            .description(TABLE_7_DESCRIPTION)
+            .name(TABLE_7_NAME)
+            .columns(new LinkedList<>()) /* TABLE_7_COLUMNS_DTO */
+            .owner(USER_1_BRIEF_DTO)
+            .build();
+
     public final static Long TABLE_4_ID = 4L;
-    public final static String TABLE_4_NAME = "Sensor";
-    public final static String TABLE_4_INTERNAL_NAME = "sensor";
+    public final static String TABLE_4_NAME = "Sensor 2";
+    public final static String TABLE_4_INTERNAL_NAME = "sensor_2";
     public final static Boolean TABLE_4_VERSIONED = true;
     public final static Boolean TABLE_4_PROCESSED_CONSTRAINTS = true;
     public final static String TABLE_4_DESCRIPTION = "Hello sensor";
@@ -1953,7 +1997,8 @@ public abstract class BaseTest {
             .database(null /* DATABASE_1 */)
             .name(TABLE_4_NAME)
             .queueName(TABLE_4_QUEUE_NAME)
-            .columns(new LinkedList<>() /* TABLE_4_COLUMNS */)
+            .columns(new LinkedList<>()) /* TABLE_4_COLUMNS */
+            .constraints(null) /* TABLE_4_CONSTRAINTS */
             .isVersioned(TABLE_4_VERSIONED)
             .createdBy(USER_1_ID)
             .ownedBy(USER_1_ID)
@@ -1970,8 +2015,8 @@ public abstract class BaseTest {
             .name(TABLE_4_NAME)
             .queueName(TABLE_4_QUEUE_NAME)
             .routingKey(TABLE_4_ROUTING_KEY)
-            .columns(new LinkedList<>() /* TABLE_4_COLUMNS_DTO */)
-            .constraints(ConstraintsDto.builder().build())
+            .columns(new LinkedList<>()) /* TABLE_4_COLUMNS_DTO */
+            .constraints(null) /* TABLE_4_CONSTRAINTS_DTO */
             .isVersioned(TABLE_4_VERSIONED)
             .createdBy(USER_1_ID)
             .owner(USER_1_DTO)
@@ -2089,7 +2134,8 @@ public abstract class BaseTest {
             .database(null /* DATABASE_1 */)
             .name(TABLE_8_NAME)
             .queueName(TABLE_8_QUEUE_NAME)
-            .columns(new LinkedList<>() /* TABLE_8_COLUMNS */)
+            .columns(new LinkedList<>()) /* TABLE_8_COLUMNS */
+            .constraints(null) /* TABLE_8_CONSTRAINTS */
             .createdBy(USER_1_ID)
             .ownedBy(USER_1_ID)
             .owner(USER_1)
@@ -2105,13 +2151,24 @@ public abstract class BaseTest {
             .isVersioned(TABLE_8_VERSIONED)
             .name(TABLE_8_NAME)
             .queueName(TABLE_8_QUEUE_NAME)
-            .columns(new LinkedList<>() /* TABLE_8_COLUMNS */)
+            .columns(new LinkedList<>()) /* TABLE_8_COLUMNS_DTO */
+            .constraints(null) /* TABLE_8_CONSTRAINTS_DTO */
             .createdBy(USER_1_ID)
             .creator(USER_1_DTO)
             .owner(USER_1_DTO)
             .created(TABLE_8_CREATED)
             .build();
 
+    public final static TableBriefDto TABLE_8_BRIEF_DTO = TableBriefDto.builder()
+            .id(TABLE_8_ID)
+            .internalName(TABLE_8_INTERNAL_NAME)
+            .description(TABLE_8_DESCRIPTION)
+            .isVersioned(TABLE_8_VERSIONED)
+            .name(TABLE_8_NAME)
+            .columns(new LinkedList<>()) /* TABLE_8_COLUMNS_DTO */
+            .owner(USER_1_BRIEF_DTO)
+            .build();
+
     public final static PrivilegedTableDto TABLE_8_PRIVILEGED_DTO = PrivilegedTableDto.builder()
             .id(TABLE_8_ID)
             .tdbid(TABLE_8_DATABASE_ID)
@@ -2120,7 +2177,7 @@ public abstract class BaseTest {
             .isVersioned(TABLE_8_VERSIONED)
             .name(TABLE_8_NAME)
             .queueName(TABLE_8_QUEUE_NAME)
-            .columns(new LinkedList<>() /* TABLE_8_COLUMNS */)
+            .columns(new LinkedList<>()) /* TABLE_8_COLUMNS_DTO */
             .createdBy(USER_1_ID)
             .creator(USER_1_DTO)
             .owner(USER_1_DTO)
@@ -2248,509 +2305,6 @@ public abstract class BaseTest {
             .sparqlEndpoint(ONTOLOGY_5_SPARQL_ENDPOINT)
             .build();
 
-    public final static Long COLUMN_4_1_ID = 45L;
-    public final static Integer COLUMN_4_1_ORDINALPOS = 0;
-    public final static Boolean COLUMN_4_1_PRIMARY = true;
-    public final static String COLUMN_4_1_NAME = "id";
-    public final static String COLUMN_4_1_INTERNAL_NAME = "id";
-    public final static TableColumnType COLUMN_4_1_TYPE = TableColumnType.BIGINT;
-    public final static ColumnTypeDto COLUMN_4_1_TYPE_DTO = ColumnTypeDto.BIGINT;
-    public final static Long COLUMN_4_1_DATE_FORMAT = null;
-    public final static Boolean COLUMN_4_1_NULL = false;
-    public final static Boolean COLUMN_4_1_AUTO_GENERATED = true;
-    public final static String COLUMN_4_1_FOREIGN_KEY = null;
-    public final static String COLUMN_4_1_CHECK = null;
-    public final static List<String> COLUMN_4_1_ENUM_VALUES_ARR = new LinkedList<>();
-    public final static List<String> COLUMN_4_1_SET_VALUES_ARR = new LinkedList<>();
-    public final static List<String> COLUMN_4_1_ENUM_VALUES = null;
-    public final static List<String> COLUMN_4_1_ENUM_VALUES_DTO = null;
-    public final static List<String> COLUMN_4_1_SET_VALUES = null;
-    public final static List<String> COLUMN_4_1_SET_VALUES_DTO = null;
-
-    public final static Long COLUMN_4_2_ID = 46L;
-    public final static Integer COLUMN_4_2_ORDINALPOS = 1;
-    public final static Boolean COLUMN_4_2_PRIMARY = false;
-    public final static String COLUMN_4_2_NAME = "Animal Name";
-    public final static String COLUMN_4_2_INTERNAL_NAME = "animal_name";
-    public final static TableColumnType COLUMN_4_2_TYPE = TableColumnType.VARCHAR;
-    public final static ColumnTypeDto COLUMN_4_2_TYPE_DTO = ColumnTypeDto.VARCHAR;
-    public final static Long COLUMN_4_2_DATE_FORMAT = null;
-    public final static Boolean COLUMN_4_2_NULL = true;
-    public final static Boolean COLUMN_4_2_AUTO_GENERATED = false;
-    public final static String COLUMN_4_2_FOREIGN_KEY = null;
-    public final static String COLUMN_4_2_CHECK = null;
-    public final static List<String> COLUMN_4_2_ENUM_VALUES_ARR = new LinkedList<>();
-    public final static List<String> COLUMN_4_2_SET_VALUES_ARR = new LinkedList<>();
-    public final static List<String> COLUMN_4_2_ENUM_VALUES = null;
-    public final static List<String> COLUMN_4_2_ENUM_VALUES_DTO = null;
-    public final static List<String> COLUMN_4_2_SET_VALUES = null;
-    public final static List<String> COLUMN_4_2_SET_VALUES_DTO = null;
-
-    public final static Long COLUMN_4_3_ID = 47L;
-    public final static Integer COLUMN_4_3_ORDINALPOS = 2;
-    public final static Boolean COLUMN_4_3_PRIMARY = false;
-    public final static String COLUMN_4_3_NAME = "Hair";
-    public final static String COLUMN_4_3_INTERNAL_NAME = "hair";
-    public final static TableColumnType COLUMN_4_3_TYPE = TableColumnType.BOOL;
-    public final static ColumnTypeDto COLUMN_4_3_TYPE_DTO = ColumnTypeDto.BOOL;
-    public final static Long COLUMN_4_3_DATE_FORMAT = null;
-    public final static Boolean COLUMN_4_3_NULL = true;
-    public final static Boolean COLUMN_4_3_AUTO_GENERATED = false;
-    public final static String COLUMN_4_3_FOREIGN_KEY = null;
-    public final static String COLUMN_4_3_CHECK = null;
-    public final static List<String> COLUMN_4_3_ENUM_VALUES_ARR = new LinkedList<>();
-    public final static List<String> COLUMN_4_3_SET_VALUES_ARR = new LinkedList<>();
-    public final static List<String> COLUMN_4_3_ENUM_VALUES = null;
-    public final static List<String> COLUMN_4_3_ENUM_VALUES_DTO = null;
-    public final static List<String> COLUMN_4_3_SET_VALUES = null;
-    public final static List<String> COLUMN_4_3_SET_VALUES_DTO = null;
-
-    public final static Long COLUMN_4_4_ID = 48L;
-    public final static Integer COLUMN_4_4_ORDINALPOS = 3;
-    public final static Boolean COLUMN_4_4_PRIMARY = false;
-    public final static String COLUMN_4_4_NAME = "Feathers";
-    public final static String COLUMN_4_4_INTERNAL_NAME = "feathers";
-    public final static TableColumnType COLUMN_4_4_TYPE = TableColumnType.BOOL;
-    public final static ColumnTypeDto COLUMN_4_4_TYPE_DTO = ColumnTypeDto.BOOL;
-    public final static Long COLUMN_4_4_DATE_FORMAT = null;
-    public final static Boolean COLUMN_4_4_NULL = true;
-    public final static Boolean COLUMN_4_4_AUTO_GENERATED = false;
-    public final static String COLUMN_4_4_FOREIGN_KEY = null;
-    public final static String COLUMN_4_4_CHECK = null;
-    public final static List<String> COLUMN_4_4_ENUM_VALUES_ARR = new LinkedList<>();
-    public final static List<String> COLUMN_4_4_SET_VALUES_ARR = new LinkedList<>();
-    public final static List<String> COLUMN_4_4_ENUM_VALUES = null;
-    public final static List<String> COLUMN_4_4_ENUM_VALUES_DTO = null;
-    public final static List<String> COLUMN_4_4_SET_VALUES = null;
-    public final static List<String> COLUMN_4_4_SET_VALUES_DTO = null;
-
-    public final static Long COLUMN_4_5_ID = 49L;
-    public final static Integer COLUMN_4_5_ORDINALPOS = 4;
-    public final static Boolean COLUMN_4_5_PRIMARY = false;
-    public final static String COLUMN_4_5_NAME = "Bread";
-    public final static String COLUMN_4_5_INTERNAL_NAME = "bread";
-    public final static TableColumnType COLUMN_4_5_TYPE = TableColumnType.BOOL;
-    public final static ColumnTypeDto COLUMN_4_5_TYPE_DTO = ColumnTypeDto.BOOL;
-    public final static Long COLUMN_4_5_DATE_FORMAT = null;
-    public final static Boolean COLUMN_4_5_NULL = true;
-    public final static Boolean COLUMN_4_5_AUTO_GENERATED = false;
-    public final static String COLUMN_4_5_FOREIGN_KEY = null;
-    public final static String COLUMN_4_5_CHECK = null;
-    public final static List<String> COLUMN_4_5_ENUM_VALUES_ARR = new LinkedList<>();
-    public final static List<String> COLUMN_4_5_SET_VALUES_ARR = new LinkedList<>();
-    public final static List<String> COLUMN_4_5_ENUM_VALUES = null;
-    public final static List<String> COLUMN_4_5_ENUM_VALUES_DTO = null;
-    public final static List<String> COLUMN_4_5_SET_VALUES = null;
-    public final static List<String> COLUMN_4_5_SET_VALUES_DTO = null;
-
-    public final static Long COLUMN_4_6_ID = 50L;
-    public final static Integer COLUMN_4_6_ORDINALPOS = 5;
-    public final static Boolean COLUMN_4_6_PRIMARY = false;
-    public final static String COLUMN_4_6_NAME = "Eggs";
-    public final static String COLUMN_4_6_INTERNAL_NAME = "eggs";
-    public final static TableColumnType COLUMN_4_6_TYPE = TableColumnType.BOOL;
-    public final static ColumnTypeDto COLUMN_4_6_TYPE_DTO = ColumnTypeDto.BOOL;
-    public final static Long COLUMN_4_6_DATE_FORMAT = null;
-    public final static Boolean COLUMN_4_6_NULL = true;
-    public final static Boolean COLUMN_4_6_AUTO_GENERATED = false;
-    public final static String COLUMN_4_6_FOREIGN_KEY = null;
-    public final static String COLUMN_4_6_CHECK = null;
-    public final static List<String> COLUMN_4_6_ENUM_VALUES_ARR = new LinkedList<>();
-    public final static List<String> COLUMN_4_6_SET_VALUES_ARR = new LinkedList<>();
-    public final static List<String> COLUMN_4_6_ENUM_VALUES = null;
-    public final static List<String> COLUMN_4_6_ENUM_VALUES_DTO = null;
-    public final static List<String> COLUMN_4_6_SET_VALUES = null;
-    public final static List<String> COLUMN_4_6_SET_VALUES_DTO = null;
-
-    public final static Long COLUMN_4_7_ID = 51L;
-    public final static Integer COLUMN_4_7_ORDINALPOS = 6;
-    public final static Boolean COLUMN_4_7_PRIMARY = false;
-    public final static String COLUMN_4_7_NAME = "Milk";
-    public final static String COLUMN_4_7_INTERNAL_NAME = "milk";
-    public final static TableColumnType COLUMN_4_7_TYPE = TableColumnType.BOOL;
-    public final static ColumnTypeDto COLUMN_4_7_TYPE_DTO = ColumnTypeDto.BOOL;
-    public final static Long COLUMN_4_7_DATE_FORMAT = null;
-    public final static Boolean COLUMN_4_7_NULL = true;
-    public final static Boolean COLUMN_4_7_AUTO_GENERATED = false;
-    public final static String COLUMN_4_7_FOREIGN_KEY = null;
-    public final static String COLUMN_4_7_CHECK = null;
-    public final static List<String> COLUMN_4_7_ENUM_VALUES_ARR = new LinkedList<>();
-    public final static List<String> COLUMN_4_7_SET_VALUES_ARR = new LinkedList<>();
-    public final static List<String> COLUMN_4_7_ENUM_VALUES = null;
-    public final static List<String> COLUMN_4_7_ENUM_VALUES_DTO = null;
-    public final static List<String> COLUMN_4_7_SET_VALUES = null;
-    public final static List<String> COLUMN_4_7_SET_VALUES_DTO = null;
-
-    public final static Long COLUMN_4_8_ID = 52L;
-    public final static Integer COLUMN_4_8_ORDINALPOS = 7;
-    public final static Boolean COLUMN_4_8_PRIMARY = false;
-    public final static String COLUMN_4_8_NAME = "Water";
-    public final static String COLUMN_4_8_INTERNAL_NAME = "water";
-    public final static TableColumnType COLUMN_4_8_TYPE = TableColumnType.BOOL;
-    public final static ColumnTypeDto COLUMN_4_8_TYPE_DTO = ColumnTypeDto.BOOL;
-    public final static Long COLUMN_4_8_DATE_FORMAT = null;
-    public final static Boolean COLUMN_4_8_NULL = true;
-    public final static Boolean COLUMN_4_8_AUTO_GENERATED = false;
-    public final static String COLUMN_4_8_FOREIGN_KEY = null;
-    public final static String COLUMN_4_8_CHECK = null;
-    public final static List<String> COLUMN_4_8_ENUM_VALUES_ARR = new LinkedList<>();
-    public final static List<String> COLUMN_4_8_SET_VALUES_ARR = new LinkedList<>();
-    public final static List<String> COLUMN_4_8_ENUM_VALUES = null;
-    public final static List<String> COLUMN_4_8_ENUM_VALUES_DTO = null;
-    public final static List<String> COLUMN_4_8_SET_VALUES = null;
-    public final static List<String> COLUMN_4_8_SET_VALUES_DTO = null;
-
-    public final static Long COLUMN_4_9_ID = 53L;
-    public final static Integer COLUMN_4_9_ORDINALPOS = 8;
-    public final static Boolean COLUMN_4_9_PRIMARY = false;
-    public final static String COLUMN_4_9_NAME = "Airborne";
-    public final static String COLUMN_4_9_INTERNAL_NAME = "airborne";
-    public final static TableColumnType COLUMN_4_9_TYPE = TableColumnType.BOOL;
-    public final static ColumnTypeDto COLUMN_4_9_TYPE_DTO = ColumnTypeDto.BOOL;
-    public final static Long COLUMN_4_9_DATE_FORMAT = null;
-    public final static Boolean COLUMN_4_9_NULL = true;
-    public final static Boolean COLUMN_4_9_AUTO_GENERATED = false;
-    public final static String COLUMN_4_9_FOREIGN_KEY = null;
-    public final static String COLUMN_4_9_CHECK = null;
-    public final static List<String> COLUMN_4_9_ENUM_VALUES_ARR = new LinkedList<>();
-    public final static List<String> COLUMN_4_9_SET_VALUES_ARR = new LinkedList<>();
-    public final static List<String> COLUMN_4_9_ENUM_VALUES = null;
-    public final static List<String> COLUMN_4_9_ENUM_VALUES_DTO = null;
-    public final static List<String> COLUMN_4_9_SET_VALUES = null;
-    public final static List<String> COLUMN_4_9_SET_VALUES_DTO = null;
-
-    public final static Long COLUMN_4_10_ID = 54L;
-    public final static Integer COLUMN_4_10_ORDINALPOS = 9;
-    public final static Boolean COLUMN_4_10_PRIMARY = false;
-    public final static String COLUMN_4_10_NAME = "Waterborne";
-    public final static String COLUMN_4_10_INTERNAL_NAME = "waterborne";
-    public final static TableColumnType COLUMN_4_10_TYPE = TableColumnType.BOOL;
-    public final static ColumnTypeDto COLUMN_4_10_TYPE_DTO = ColumnTypeDto.BOOL;
-    public final static Long COLUMN_4_10_DATE_FORMAT = null;
-    public final static Boolean COLUMN_4_10_NULL = true;
-    public final static Boolean COLUMN_4_10_AUTO_GENERATED = false;
-    public final static String COLUMN_4_10_FOREIGN_KEY = null;
-    public final static String COLUMN_4_10_CHECK = null;
-    public final static List<String> COLUMN_4_10_ENUM_VALUES_ARR = new LinkedList<>();
-    public final static List<String> COLUMN_4_10_SET_VALUES_ARR = new LinkedList<>();
-    public final static List<String> COLUMN_4_10_ENUM_VALUES = null;
-    public final static List<String> COLUMN_4_10_ENUM_VALUES_DTO = null;
-    public final static List<String> COLUMN_4_10_SET_VALUES = null;
-    public final static List<String> COLUMN_4_10_SET_VALUES_DTO = null;
-
-    public final static Long COLUMN_4_11_ID = 55L;
-    public final static Integer COLUMN_4_11_ORDINALPOS = 10;
-    public final static Boolean COLUMN_4_11_PRIMARY = false;
-    public final static String COLUMN_4_11_NAME = "Aquantic";
-    public final static String COLUMN_4_11_INTERNAL_NAME = "aquatic";
-    public final static TableColumnType COLUMN_4_11_TYPE = TableColumnType.BOOL;
-    public final static ColumnTypeDto COLUMN_4_11_TYPE_DTO = ColumnTypeDto.BOOL;
-    public final static Long COLUMN_4_11_DATE_FORMAT = null;
-    public final static Boolean COLUMN_4_11_NULL = true;
-    public final static Boolean COLUMN_4_11_AUTO_GENERATED = false;
-    public final static String COLUMN_4_11_FOREIGN_KEY = null;
-    public final static String COLUMN_4_11_CHECK = null;
-    public final static List<String> COLUMN_4_11_ENUM_VALUES_ARR = new LinkedList<>();
-    public final static List<String> COLUMN_4_11_SET_VALUES_ARR = new LinkedList<>();
-    public final static List<String> COLUMN_4_11_ENUM_VALUES = null;
-    public final static List<String> COLUMN_4_11_ENUM_VALUES_DTO = null;
-    public final static List<String> COLUMN_4_11_SET_VALUES = null;
-    public final static List<String> COLUMN_4_11_SET_VALUES_DTO = null;
-
-    public final static Long COLUMN_4_12_ID = 56L;
-    public final static Integer COLUMN_4_12_ORDINALPOS = 11;
-    public final static Boolean COLUMN_4_12_PRIMARY = false;
-    public final static String COLUMN_4_12_NAME = "Predator";
-    public final static String COLUMN_4_12_INTERNAL_NAME = "predator";
-    public final static TableColumnType COLUMN_4_12_TYPE = TableColumnType.BOOL;
-    public final static ColumnTypeDto COLUMN_4_12_TYPE_DTO = ColumnTypeDto.BOOL;
-    public final static Long COLUMN_4_12_DATE_FORMAT = null;
-    public final static Boolean COLUMN_4_12_NULL = true;
-    public final static Boolean COLUMN_4_12_AUTO_GENERATED = false;
-    public final static String COLUMN_4_12_FOREIGN_KEY = null;
-    public final static String COLUMN_4_12_CHECK = null;
-    public final static List<String> COLUMN_4_12_ENUM_VALUES_ARR = new LinkedList<>();
-    public final static List<String> COLUMN_4_12_SET_VALUES_ARR = new LinkedList<>();
-    public final static List<String> COLUMN_4_12_ENUM_VALUES = null;
-    public final static List<String> COLUMN_4_12_ENUM_VALUES_DTO = null;
-    public final static List<String> COLUMN_4_12_SET_VALUES = null;
-    public final static List<String> COLUMN_4_12_SET_VALUES_DTO = null;
-
-    public final static Long COLUMN_4_13_ID = 57L;
-    public final static Integer COLUMN_4_13_ORDINALPOS = 12;
-    public final static Boolean COLUMN_4_13_PRIMARY = false;
-    public final static String COLUMN_4_13_NAME = "Backbone";
-    public final static String COLUMN_4_13_INTERNAL_NAME = "backbone";
-    public final static TableColumnType COLUMN_4_13_TYPE = TableColumnType.BOOL;
-    public final static ColumnTypeDto COLUMN_4_13_TYPE_DTO = ColumnTypeDto.BOOL;
-    public final static Long COLUMN_4_13_DATE_FORMAT = null;
-    public final static Boolean COLUMN_4_13_NULL = true;
-    public final static Boolean COLUMN_4_13_AUTO_GENERATED = false;
-    public final static String COLUMN_4_13_FOREIGN_KEY = null;
-    public final static String COLUMN_4_13_CHECK = null;
-    public final static List<String> COLUMN_4_13_ENUM_VALUES_ARR = new LinkedList<>();
-    public final static List<String> COLUMN_4_13_SET_VALUES_ARR = new LinkedList<>();
-    public final static List<String> COLUMN_4_13_ENUM_VALUES = null;
-    public final static List<String> COLUMN_4_13_ENUM_VALUES_DTO = null;
-    public final static List<String> COLUMN_4_13_SET_VALUES = null;
-    public final static List<String> COLUMN_4_13_SET_VALUES_DTO = null;
-
-    public final static Long COLUMN_4_14_ID = 58L;
-    public final static Integer COLUMN_4_14_ORDINALPOS = 13;
-    public final static Boolean COLUMN_4_14_PRIMARY = false;
-    public final static String COLUMN_4_14_NAME = "Breathes";
-    public final static String COLUMN_4_14_INTERNAL_NAME = "breathes";
-    public final static TableColumnType COLUMN_4_14_TYPE = TableColumnType.BOOL;
-    public final static ColumnTypeDto COLUMN_4_14_TYPE_DTO = ColumnTypeDto.BOOL;
-    public final static Long COLUMN_4_14_DATE_FORMAT = null;
-    public final static Boolean COLUMN_4_14_NULL = true;
-    public final static Boolean COLUMN_4_14_AUTO_GENERATED = false;
-    public final static String COLUMN_4_14_FOREIGN_KEY = null;
-    public final static String COLUMN_4_14_CHECK = null;
-    public final static List<String> COLUMN_4_14_ENUM_VALUES_ARR = new LinkedList<>();
-    public final static List<String> COLUMN_4_14_SET_VALUES_ARR = new LinkedList<>();
-    public final static List<String> COLUMN_4_14_ENUM_VALUES = null;
-    public final static List<String> COLUMN_4_14_ENUM_VALUES_DTO = null;
-    public final static List<String> COLUMN_4_14_SET_VALUES = null;
-    public final static List<String> COLUMN_4_14_SET_VALUES_DTO = null;
-
-    public final static Long COLUMN_4_15_ID = 59L;
-    public final static Integer COLUMN_4_15_ORDINALPOS = 14;
-    public final static Boolean COLUMN_4_15_PRIMARY = false;
-    public final static String COLUMN_4_15_NAME = "Venomous";
-    public final static String COLUMN_4_15_INTERNAL_NAME = "venomous";
-    public final static TableColumnType COLUMN_4_15_TYPE = TableColumnType.BOOL;
-    public final static ColumnTypeDto COLUMN_4_15_TYPE_DTO = ColumnTypeDto.BOOL;
-    public final static Long COLUMN_4_15_DATE_FORMAT = null;
-    public final static Boolean COLUMN_4_15_NULL = true;
-    public final static Boolean COLUMN_4_15_AUTO_GENERATED = false;
-    public final static String COLUMN_4_15_FOREIGN_KEY = null;
-    public final static String COLUMN_4_15_CHECK = null;
-    public final static List<String> COLUMN_4_15_ENUM_VALUES_ARR = new LinkedList<>();
-    public final static List<String> COLUMN_4_15_SET_VALUES_ARR = new LinkedList<>();
-    public final static List<String> COLUMN_4_15_ENUM_VALUES = null;
-    public final static List<String> COLUMN_4_15_ENUM_VALUES_DTO = null;
-    public final static List<String> COLUMN_4_15_SET_VALUES = null;
-    public final static List<String> COLUMN_4_15_SET_VALUES_DTO = null;
-
-    public final static Long COLUMN_4_16_ID = 60L;
-    public final static Integer COLUMN_4_16_ORDINALPOS = 15;
-    public final static Boolean COLUMN_4_16_PRIMARY = false;
-    public final static String COLUMN_4_16_NAME = "Fin";
-    public final static String COLUMN_4_16_INTERNAL_NAME = "fins";
-    public final static TableColumnType COLUMN_4_16_TYPE = TableColumnType.BOOL;
-    public final static ColumnTypeDto COLUMN_4_16_TYPE_DTO = ColumnTypeDto.BOOL;
-    public final static Long COLUMN_4_16_DATE_FORMAT = null;
-    public final static Boolean COLUMN_4_16_NULL = true;
-    public final static Boolean COLUMN_4_16_AUTO_GENERATED = false;
-    public final static String COLUMN_4_16_FOREIGN_KEY = null;
-    public final static String COLUMN_4_16_CHECK = null;
-    public final static List<String> COLUMN_4_16_ENUM_VALUES_ARR = new LinkedList<>();
-    public final static List<String> COLUMN_4_16_SET_VALUES_ARR = new LinkedList<>();
-    public final static List<String> COLUMN_4_16_ENUM_VALUES = null;
-    public final static List<String> COLUMN_4_16_ENUM_VALUES_DTO = null;
-    public final static List<String> COLUMN_4_16_SET_VALUES = null;
-    public final static List<String> COLUMN_4_16_SET_VALUES_DTO = null;
-
-    public final static Long COLUMN_4_17_ID = 61L;
-    public final static Integer COLUMN_4_17_ORDINALPOS = 16;
-    public final static Boolean COLUMN_4_17_PRIMARY = false;
-    public final static String COLUMN_4_17_NAME = "Legs";
-    public final static String COLUMN_4_17_INTERNAL_NAME = "legs";
-    public final static TableColumnType COLUMN_4_17_TYPE = TableColumnType.INT;
-    public final static ColumnTypeDto COLUMN_4_17_TYPE_DTO = ColumnTypeDto.INT;
-    public final static Long COLUMN_4_17_DATE_FORMAT = null;
-    public final static Boolean COLUMN_4_17_NULL = true;
-    public final static Boolean COLUMN_4_17_AUTO_GENERATED = false;
-    public final static String COLUMN_4_17_FOREIGN_KEY = null;
-    public final static String COLUMN_4_17_CHECK = null;
-    public final static List<String> COLUMN_4_17_ENUM_VALUES_ARR = new LinkedList<>();
-    public final static List<String> COLUMN_4_17_SET_VALUES_ARR = new LinkedList<>();
-    public final static List<String> COLUMN_4_17_ENUM_VALUES = null;
-    public final static List<String> COLUMN_4_17_ENUM_VALUES_DTO = null;
-    public final static List<String> COLUMN_4_17_SET_VALUES = null;
-    public final static List<String> COLUMN_4_17_SET_VALUES_DTO = null;
-
-    public final static Long COLUMN_4_18_ID = 62L;
-    public final static Integer COLUMN_4_18_ORDINALPOS = 17;
-    public final static Boolean COLUMN_4_18_PRIMARY = false;
-    public final static String COLUMN_4_18_NAME = "Tail";
-    public final static String COLUMN_4_18_INTERNAL_NAME = "tail";
-    public final static TableColumnType COLUMN_4_18_TYPE = TableColumnType.DECIMAL;
-    public final static ColumnTypeDto COLUMN_4_18_TYPE_DTO = ColumnTypeDto.DECIMAL;
-    public final static Long COLUMN_4_18_DATE_FORMAT = null;
-    public final static Boolean COLUMN_4_18_NULL = true;
-    public final static Boolean COLUMN_4_18_AUTO_GENERATED = false;
-    public final static String COLUMN_4_18_FOREIGN_KEY = null;
-    public final static String COLUMN_4_18_CHECK = null;
-    public final static List<String> COLUMN_4_18_ENUM_VALUES_ARR = new LinkedList<>();
-    public final static List<String> COLUMN_4_18_SET_VALUES_ARR = new LinkedList<>();
-    public final static List<String> COLUMN_4_18_ENUM_VALUES = null;
-    public final static List<String> COLUMN_4_18_ENUM_VALUES_DTO = null;
-    public final static List<String> COLUMN_4_18_SET_VALUES = null;
-    public final static List<String> COLUMN_4_18_SET_VALUES_DTO = null;
-
-    public final static Long COLUMN_4_19_ID = 63L;
-    public final static Integer COLUMN_4_19_ORDINALPOS = 18;
-    public final static Boolean COLUMN_4_19_PRIMARY = false;
-    public final static String COLUMN_4_19_NAME = "Domestic";
-    public final static String COLUMN_4_19_INTERNAL_NAME = "domestic";
-    public final static TableColumnType COLUMN_4_19_TYPE = TableColumnType.BOOL;
-    public final static ColumnTypeDto COLUMN_4_19_TYPE_DTO = ColumnTypeDto.BOOL;
-    public final static Long COLUMN_4_19_DATE_FORMAT = null;
-    public final static Boolean COLUMN_4_19_NULL = true;
-    public final static Boolean COLUMN_4_19_AUTO_GENERATED = false;
-    public final static String COLUMN_4_19_FOREIGN_KEY = null;
-    public final static String COLUMN_4_19_CHECK = null;
-    public final static List<String> COLUMN_4_19_ENUM_VALUES_ARR = new LinkedList<>();
-    public final static List<String> COLUMN_4_19_SET_VALUES_ARR = new LinkedList<>();
-    public final static List<String> COLUMN_4_19_ENUM_VALUES = null;
-    public final static List<String> COLUMN_4_19_ENUM_VALUES_DTO = null;
-    public final static List<String> COLUMN_4_19_SET_VALUES = null;
-    public final static List<String> COLUMN_4_19_SET_VALUES_DTO = null;
-
-    public final static Long COLUMN_4_20_ID = 64L;
-    public final static Integer COLUMN_4_20_ORDINALPOS = 19;
-    public final static Boolean COLUMN_4_20_PRIMARY = false;
-    public final static String COLUMN_4_20_NAME = "Cat Size";
-    public final static String COLUMN_4_20_INTERNAL_NAME = "catsize";
-    public final static TableColumnType COLUMN_4_20_TYPE = TableColumnType.BOOL;
-    public final static ColumnTypeDto COLUMN_4_20_TYPE_DTO = ColumnTypeDto.BOOL;
-    public final static Long COLUMN_4_20_DATE_FORMAT = null;
-    public final static Boolean COLUMN_4_20_NULL = true;
-    public final static Boolean COLUMN_4_20_AUTO_GENERATED = false;
-    public final static String COLUMN_4_20_FOREIGN_KEY = null;
-    public final static String COLUMN_4_20_CHECK = null;
-    public final static List<String> COLUMN_4_20_ENUM_VALUES_ARR = new LinkedList<>();
-    public final static List<String> COLUMN_4_20_SET_VALUES_ARR = new LinkedList<>();
-    public final static List<String> COLUMN_4_20_ENUM_VALUES = null;
-    public final static List<String> COLUMN_4_20_ENUM_VALUES_DTO = null;
-    public final static List<String> COLUMN_4_20_SET_VALUES = null;
-    public final static List<String> COLUMN_4_20_SET_VALUES_DTO = null;
-
-    public final static Long COLUMN_4_21_ID = 65L;
-    public final static Integer COLUMN_4_21_ORDINALPOS = 20;
-    public final static Boolean COLUMN_4_21_PRIMARY = false;
-    public final static String COLUMN_4_21_NAME = "Class Type";
-    public final static String COLUMN_4_21_INTERNAL_NAME = "class_type";
-    public final static TableColumnType COLUMN_4_21_TYPE = TableColumnType.DECIMAL;
-    public final static ColumnTypeDto COLUMN_4_21_TYPE_DTO = ColumnTypeDto.DECIMAL;
-    public final static Long COLUMN_4_21_DATE_FORMAT = null;
-    public final static Boolean COLUMN_4_21_NULL = true;
-    public final static Boolean COLUMN_4_21_AUTO_GENERATED = false;
-    public final static String COLUMN_4_21_FOREIGN_KEY = null;
-    public final static String COLUMN_4_21_CHECK = null;
-    public final static List<String> COLUMN_4_21_ENUM_VALUES_ARR = new LinkedList<>();
-    public final static List<String> COLUMN_4_21_SET_VALUES_ARR = new LinkedList<>();
-    public final static List<String> COLUMN_4_21_ENUM_VALUES = null;
-    public final static List<String> COLUMN_4_21_ENUM_VALUES_DTO = null;
-    public final static List<String> COLUMN_4_21_SET_VALUES = null;
-    public final static List<String> COLUMN_4_21_SET_VALUES_DTO = null;
-
-    public final static Long COLUMN_5_1_ID = 66L;
-    public final static Integer COLUMN_5_1_ORDINALPOS = 0;
-    public final static Boolean COLUMN_5_1_PRIMARY = true;
-    public final static String COLUMN_5_1_NAME = "id";
-    public final static String COLUMN_5_1_INTERNAL_NAME = "id";
-    public final static TableColumnType COLUMN_5_1_TYPE = TableColumnType.BIGINT;
-    public final static ColumnTypeDto COLUMN_5_1_TYPE_DTO = ColumnTypeDto.BIGINT;
-    public final static Long COLUMN_5_1_DATE_FORMAT = null;
-    public final static Boolean COLUMN_5_1_NULL = false;
-    public final static Boolean COLUMN_5_1_AUTO_GENERATED = true;
-    public final static String COLUMN_5_1_FOREIGN_KEY = null;
-    public final static String COLUMN_5_1_CHECK = null;
-    public final static List<String> COLUMN_5_1_ENUM_VALUES = null;
-    public final static List<String> COLUMN_5_1_ENUM_VALUES_DTO = null;
-    public final static List<String> COLUMN_5_1_SET_VALUES = null;
-    public final static List<String> COLUMN_5_1_SET_VALUES_DTO = null;
-
-    public final static Long COLUMN_5_2_ID = 67L;
-    public final static Integer COLUMN_5_2_ORDINALPOS = 1;
-    public final static Boolean COLUMN_5_2_PRIMARY = false;
-    public final static String COLUMN_5_2_NAME = "firstname";
-    public final static String COLUMN_5_2_INTERNAL_NAME = "firstname";
-    public final static TableColumnType COLUMN_5_2_TYPE = TableColumnType.VARCHAR;
-    public final static ColumnTypeDto COLUMN_5_2_TYPE_DTO = ColumnTypeDto.VARCHAR;
-    public final static Long COLUMN_5_2_SIZE = 20L;
-    public final static Long COLUMN_5_2_DATE_FORMAT = null;
-    public final static Boolean COLUMN_5_2_NULL = false;
-    public final static Boolean COLUMN_5_2_AUTO_GENERATED = false;
-    public final static String COLUMN_5_2_FOREIGN_KEY = null;
-    public final static String COLUMN_5_2_CHECK = null;
-    public final static List<String> COLUMN_5_2_ENUM_VALUES = null;
-    public final static List<String> COLUMN_5_2_ENUM_VALUES_DTO = null;
-    public final static List<String> COLUMN_5_2_SET_VALUES = null;
-    public final static List<String> COLUMN_5_2_SET_VALUES_DTO = null;
-
-    public final static Long COLUMN_5_3_ID = 68L;
-    public final static Integer COLUMN_5_3_ORDINALPOS = 2;
-    public final static Boolean COLUMN_5_3_PRIMARY = false;
-    public final static String COLUMN_5_3_NAME = "lastname";
-    public final static String COLUMN_5_3_INTERNAL_NAME = "lastname";
-    public final static TableColumnType COLUMN_5_3_TYPE = TableColumnType.VARCHAR;
-    public final static ColumnTypeDto COLUMN_5_3_TYPE_DTO = ColumnTypeDto.VARCHAR;
-    public final static Long COLUMN_5_3_SIZE = 40L;
-    public final static Long COLUMN_5_3_DATE_FORMAT = null;
-    public final static Boolean COLUMN_5_3_NULL = false;
-    public final static Boolean COLUMN_5_3_AUTO_GENERATED = false;
-    public final static String COLUMN_5_3_FOREIGN_KEY = null;
-    public final static String COLUMN_5_3_CHECK = null;
-    public final static List<String> COLUMN_5_3_ENUM_VALUES = null;
-    public final static List<String> COLUMN_5_3_ENUM_VALUES_DTO = null;
-    public final static List<String> COLUMN_5_3_SET_VALUES = null;
-    public final static List<String> COLUMN_5_3_SET_VALUES_DTO = null;
-
-    public final static Long COLUMN_5_4_ID = 69L;
-    public final static Integer COLUMN_5_4_ORDINALPOS = 3;
-    public final static Boolean COLUMN_5_4_PRIMARY = false;
-    public final static String COLUMN_5_4_NAME = "birth";
-    public final static String COLUMN_5_4_INTERNAL_NAME = "birth";
-    public final static TableColumnType COLUMN_5_4_TYPE = TableColumnType.YEAR;
-    public final static ColumnTypeDto COLUMN_5_4_TYPE_DTO = ColumnTypeDto.YEAR;
-    public final static Long COLUMN_5_4_DATE_FORMAT = null;
-    public final static Boolean COLUMN_5_4_NULL = true;
-    public final static Boolean COLUMN_5_4_AUTO_GENERATED = false;
-    public final static String COLUMN_5_4_FOREIGN_KEY = null;
-    public final static String COLUMN_5_4_CHECK = null;
-    public final static List<String> COLUMN_5_4_ENUM_VALUES = null;
-    public final static List<String> COLUMN_5_4_ENUM_VALUES_DTO = null;
-    public final static List<String> COLUMN_5_4_SET_VALUES = null;
-    public final static List<String> COLUMN_5_4_SET_VALUES_DTO = null;
-
-    public final static Long COLUMN_5_5_ID = 70L;
-    public final static Integer COLUMN_5_5_ORDINALPOS = 4;
-    public final static Boolean COLUMN_5_5_PRIMARY = false;
-    public final static String COLUMN_5_5_NAME = "reminder";
-    public final static String COLUMN_5_5_INTERNAL_NAME = "reminder";
-    public final static TableColumnType COLUMN_5_5_TYPE = TableColumnType.TIME;
-    public final static ColumnTypeDto COLUMN_5_5_TYPE_DTO = ColumnTypeDto.TIME;
-    public final static Long COLUMN_5_5_DATE_FORMAT = IMAGE_DATE_4_ID;
-    public final static Boolean COLUMN_5_5_NULL = true;
-    public final static Boolean COLUMN_5_5_AUTO_GENERATED = false;
-    public final static String COLUMN_5_5_FOREIGN_KEY = null;
-    public final static String COLUMN_5_5_CHECK = null;
-    public final static List<String> COLUMN_5_5_ENUM_VALUES = null;
-    public final static List<String> COLUMN_5_5_ENUM_VALUES_DTO = null;
-    public final static List<String> COLUMN_5_5_SET_VALUES = null;
-    public final static List<String> COLUMN_5_5_SET_VALUES_DTO = null;
-
-    public final static Long COLUMN_5_6_ID = 71L;
-    public final static Integer COLUMN_5_6_ORDINALPOS = 5;
-    public final static Boolean COLUMN_5_6_PRIMARY = false;
-    public final static String COLUMN_5_6_NAME = "ref_id";
-    public final static String COLUMN_5_6_INTERNAL_NAME = "ref_id";
-    public final static TableColumnType COLUMN_5_6_TYPE = TableColumnType.BIGINT;
-    public final static ColumnTypeDto COLUMN_5_6_TYPE_DTO = ColumnTypeDto.BIGINT;
-    public final static Long COLUMN_5_6_DATE_FORMAT = null;
-    public final static Boolean COLUMN_5_6_NULL = true;
-    public final static Boolean COLUMN_5_6_AUTO_GENERATED = false;
-    public final static String COLUMN_5_6_FOREIGN_KEY = null;
-    public final static String COLUMN_5_6_CHECK = null;
-    public final static List<String> COLUMN_5_6_ENUM_VALUES = null;
-    public final static List<String> COLUMN_5_6_ENUM_VALUES_DTO = null;
-    public final static List<String> COLUMN_5_6_SET_VALUES = null;
-    public final static List<String> COLUMN_5_6_SET_VALUES_DTO = null;
-
     public final static Long COLUMN_8_1_ID = 72L;
     public final static Integer COLUMN_8_1_ORDINALPOS = 0;
     public final static Boolean COLUMN_8_1_PRIMARY = true;
@@ -4169,474 +3723,426 @@ public abstract class BaseTest {
                     .sets(new LinkedList<>())
                     .build());
 
-    public final static ConstraintsDto TABLE_3_CONSTRAINTS_DTO = ConstraintsDto.builder()
-            .uniques(List.of(UniqueDto.builder().columns(List.of(TABLE_3_COLUMNS_DTO.get(0))).build()))
-            .foreignKeys(new LinkedList<>())
-            .checks(Set.of())
-            .build();
-
     public final static List<TableColumn> TABLE_5_COLUMNS = List.of(TableColumn.builder()
-                    .id(COLUMN_4_1_ID)
-                    .ordinalPosition(COLUMN_4_1_ORDINALPOS)
+                    .id(45L)
+                    .ordinalPosition(0)
                     .table(TABLE_5)
-                    .name(COLUMN_4_1_NAME)
-                    .internalName(COLUMN_4_1_INTERNAL_NAME)
-                    .columnType(COLUMN_4_1_TYPE)
-                    .isNullAllowed(COLUMN_4_1_NULL)
-                    .autoGenerated(COLUMN_4_1_AUTO_GENERATED)
-                    .enums(COLUMN_4_1_ENUM_VALUES)
-                    .sets(COLUMN_4_1_SET_VALUES)
+                    .name("id")
+                    .internalName("id")
+                    .columnType(TableColumnType.BIGINT)
+                    .isNullAllowed(false)
+                    .autoGenerated(true)
                     .build(),
             TableColumn.builder()
-                    .id(COLUMN_4_2_ID)
-                    .ordinalPosition(COLUMN_4_2_ORDINALPOS)
+                    .id(46L)
+                    .ordinalPosition(1)
                     .table(TABLE_5)
-                    .name(COLUMN_4_2_NAME)
-                    .internalName(COLUMN_4_2_INTERNAL_NAME)
-                    .columnType(COLUMN_4_2_TYPE)
-                    .isNullAllowed(COLUMN_4_2_NULL)
-                    .autoGenerated(COLUMN_4_2_AUTO_GENERATED)
-                    .enums(COLUMN_4_2_ENUM_VALUES)
-                    .sets(COLUMN_4_2_SET_VALUES)
+                    .name("Animal Name")
+                    .internalName("animal_name")
+                    .columnType(TableColumnType.VARCHAR)
+                    .isNullAllowed(true)
+                    .autoGenerated(false)
                     .build(),
             TableColumn.builder()
-                    .id(COLUMN_4_3_ID)
-                    .ordinalPosition(COLUMN_4_3_ORDINALPOS)
+                    .id(47L)
+                    .ordinalPosition(2)
                     .table(TABLE_5)
-                    .name(COLUMN_4_3_NAME)
-                    .internalName(COLUMN_4_3_INTERNAL_NAME)
-                    .columnType(COLUMN_4_3_TYPE)
-                    .isNullAllowed(COLUMN_4_3_NULL)
-                    .autoGenerated(COLUMN_4_3_AUTO_GENERATED)
-                    .enums(COLUMN_4_3_ENUM_VALUES)
-                    .sets(COLUMN_4_3_SET_VALUES)
+                    .name("Hair")
+                    .internalName("hair")
+                    .columnType(TableColumnType.BOOL)
+                    .isNullAllowed(true)
+                    .autoGenerated(false)
                     .build(),
             TableColumn.builder()
-                    .id(COLUMN_4_4_ID)
-                    .ordinalPosition(COLUMN_4_4_ORDINALPOS)
+                    .id(48L)
+                    .ordinalPosition(3)
                     .table(TABLE_5)
-                    .name(COLUMN_4_4_NAME)
-                    .internalName(COLUMN_4_4_INTERNAL_NAME)
-                    .columnType(COLUMN_4_4_TYPE)
-                    .isNullAllowed(COLUMN_4_4_NULL)
-                    .autoGenerated(COLUMN_4_4_AUTO_GENERATED)
-                    .enums(COLUMN_4_4_ENUM_VALUES)
-                    .sets(COLUMN_4_4_SET_VALUES)
+                    .name("Feathers")
+                    .internalName("feathers")
+                    .columnType(TableColumnType.BOOL)
+                    .isNullAllowed(true)
+                    .autoGenerated(false)
                     .build(),
             TableColumn.builder()
-                    .id(COLUMN_4_5_ID)
-                    .ordinalPosition(COLUMN_4_5_ORDINALPOS)
+                    .id(49L)
+                    .ordinalPosition(4)
                     .table(TABLE_5)
-                    .name(COLUMN_4_5_NAME)
-                    .internalName(COLUMN_4_5_INTERNAL_NAME)
-                    .columnType(COLUMN_4_5_TYPE)
-                    .isNullAllowed(COLUMN_4_5_NULL)
-                    .autoGenerated(COLUMN_4_5_AUTO_GENERATED)
-                    .enums(COLUMN_4_5_ENUM_VALUES)
-                    .sets(COLUMN_4_5_SET_VALUES)
+                    .name("Bread")
+                    .internalName("bread")
+                    .columnType(TableColumnType.BOOL)
+                    .isNullAllowed(true)
+                    .autoGenerated(false)
                     .build(),
             TableColumn.builder()
-                    .id(COLUMN_4_6_ID)
-                    .ordinalPosition(COLUMN_4_6_ORDINALPOS)
+                    .id(50L)
+                    .ordinalPosition(5)
                     .table(TABLE_5)
-                    .name(COLUMN_4_6_NAME)
-                    .internalName(COLUMN_4_6_INTERNAL_NAME)
-                    .columnType(COLUMN_4_6_TYPE)
-                    .isNullAllowed(COLUMN_4_6_NULL)
-                    .autoGenerated(COLUMN_4_6_AUTO_GENERATED)
-                    .enums(COLUMN_4_6_ENUM_VALUES)
-                    .sets(COLUMN_4_6_SET_VALUES)
+                    .name("Eggs")
+                    .internalName("eggs")
+                    .columnType(TableColumnType.BOOL)
+                    .isNullAllowed(true)
+                    .autoGenerated(false)
                     .build(),
             TableColumn.builder()
-                    .id(COLUMN_4_7_ID)
-                    .ordinalPosition(COLUMN_4_7_ORDINALPOS)
+                    .id(51L)
+                    .ordinalPosition(6)
                     .table(TABLE_5)
-                    .name(COLUMN_4_7_NAME)
-                    .internalName(COLUMN_4_7_INTERNAL_NAME)
-                    .columnType(COLUMN_4_7_TYPE)
-                    .isNullAllowed(COLUMN_4_7_NULL)
-                    .autoGenerated(COLUMN_4_7_AUTO_GENERATED)
-                    .enums(COLUMN_4_7_ENUM_VALUES)
-                    .sets(COLUMN_4_7_SET_VALUES)
+                    .name("Milk")
+                    .internalName("milk")
+                    .columnType(TableColumnType.BOOL)
+                    .isNullAllowed(true)
+                    .autoGenerated(false)
                     .build(),
             TableColumn.builder()
-                    .id(COLUMN_4_8_ID)
-                    .ordinalPosition(COLUMN_4_8_ORDINALPOS)
+                    .id(52L)
+                    .ordinalPosition(7)
                     .table(TABLE_5)
-                    .name(COLUMN_4_8_NAME)
-                    .internalName(COLUMN_4_8_INTERNAL_NAME)
-                    .columnType(COLUMN_4_8_TYPE)
-                    .isNullAllowed(COLUMN_4_8_NULL)
-                    .autoGenerated(COLUMN_4_8_AUTO_GENERATED)
-                    .enums(COLUMN_4_8_ENUM_VALUES)
-                    .sets(COLUMN_4_8_SET_VALUES)
+                    .name("Water")
+                    .internalName("water")
+                    .columnType(TableColumnType.BOOL)
+                    .isNullAllowed(true)
+                    .autoGenerated(false)
                     .build(),
             TableColumn.builder()
-                    .id(COLUMN_4_9_ID)
-                    .ordinalPosition(COLUMN_4_9_ORDINALPOS)
+                    .id(53L)
+                    .ordinalPosition(8)
                     .table(TABLE_5)
-                    .name(COLUMN_4_9_NAME)
-                    .internalName(COLUMN_4_9_INTERNAL_NAME)
-                    .columnType(COLUMN_4_9_TYPE)
-                    .isNullAllowed(COLUMN_4_9_NULL)
-                    .autoGenerated(COLUMN_4_9_AUTO_GENERATED)
-                    .enums(COLUMN_4_9_ENUM_VALUES)
-                    .sets(COLUMN_4_9_SET_VALUES)
+                    .name("Airborne")
+                    .internalName("airborne")
+                    .columnType(TableColumnType.BOOL)
+                    .isNullAllowed(true)
+                    .autoGenerated(false)
                     .build(),
             TableColumn.builder()
-                    .id(COLUMN_4_10_ID)
-                    .ordinalPosition(COLUMN_4_10_ORDINALPOS)
+                    .id(54L)
+                    .ordinalPosition(9)
                     .table(TABLE_5)
-                    .name(COLUMN_4_10_NAME)
-                    .internalName(COLUMN_4_10_INTERNAL_NAME)
-                    .columnType(COLUMN_4_10_TYPE)
-                    .isNullAllowed(COLUMN_4_10_NULL)
-                    .autoGenerated(COLUMN_4_10_AUTO_GENERATED)
-                    .enums(COLUMN_4_10_ENUM_VALUES)
-                    .sets(COLUMN_4_10_SET_VALUES)
+                    .name("Waterborne")
+                    .internalName("waterborne")
+                    .columnType(TableColumnType.BOOL)
+                    .isNullAllowed(true)
+                    .autoGenerated(false)
                     .build(),
             TableColumn.builder()
-                    .id(COLUMN_4_11_ID)
-                    .ordinalPosition(COLUMN_4_11_ORDINALPOS)
+                    .id(55L)
+                    .ordinalPosition(10)
                     .table(TABLE_5)
-                    .name(COLUMN_4_11_NAME)
-                    .internalName(COLUMN_4_11_INTERNAL_NAME)
-                    .columnType(COLUMN_4_11_TYPE)
-                    .isNullAllowed(COLUMN_4_11_NULL)
-                    .autoGenerated(COLUMN_4_11_AUTO_GENERATED)
-                    .enums(COLUMN_4_11_ENUM_VALUES)
-                    .sets(COLUMN_4_11_SET_VALUES)
+                    .name("Aquantic")
+                    .internalName("aquantic")
+                    .columnType(TableColumnType.BOOL)
+                    .isNullAllowed(true)
+                    .autoGenerated(false)
                     .build(),
             TableColumn.builder()
-                    .id(COLUMN_4_12_ID)
-                    .ordinalPosition(COLUMN_4_12_ORDINALPOS)
+                    .id(56L)
+                    .ordinalPosition(11)
                     .table(TABLE_5)
-                    .name(COLUMN_4_12_NAME)
-                    .internalName(COLUMN_4_12_INTERNAL_NAME)
-                    .columnType(COLUMN_4_12_TYPE)
-                    .isNullAllowed(COLUMN_4_12_NULL)
-                    .autoGenerated(COLUMN_4_12_AUTO_GENERATED)
-                    .enums(COLUMN_4_12_ENUM_VALUES)
-                    .sets(COLUMN_4_12_SET_VALUES)
+                    .name("Predator")
+                    .internalName("predator")
+                    .columnType(TableColumnType.BOOL)
+                    .isNullAllowed(true)
+                    .autoGenerated(false)
                     .build(),
             TableColumn.builder()
-                    .id(COLUMN_4_13_ID)
-                    .ordinalPosition(COLUMN_4_13_ORDINALPOS)
+                    .id(57L)
+                    .ordinalPosition(12)
                     .table(TABLE_5)
-                    .name(COLUMN_4_13_NAME)
-                    .internalName(COLUMN_4_13_INTERNAL_NAME)
-                    .columnType(COLUMN_4_13_TYPE)
-                    .isNullAllowed(COLUMN_4_13_NULL)
-                    .autoGenerated(COLUMN_4_13_AUTO_GENERATED)
-                    .enums(COLUMN_4_13_ENUM_VALUES)
-                    .sets(COLUMN_4_13_SET_VALUES)
+                    .name("Backbone")
+                    .internalName("backbone")
+                    .columnType(TableColumnType.BOOL)
+                    .isNullAllowed(true)
+                    .autoGenerated(false)
                     .build(),
             TableColumn.builder()
-                    .id(COLUMN_4_14_ID)
-                    .ordinalPosition(COLUMN_4_14_ORDINALPOS)
+                    .id(58L)
+                    .ordinalPosition(13)
                     .table(TABLE_5)
-                    .name(COLUMN_4_14_NAME)
-                    .internalName(COLUMN_4_14_INTERNAL_NAME)
-                    .columnType(COLUMN_4_14_TYPE)
-                    .isNullAllowed(COLUMN_4_14_NULL)
-                    .autoGenerated(COLUMN_4_14_AUTO_GENERATED)
-                    .enums(COLUMN_4_14_ENUM_VALUES)
-                    .sets(COLUMN_4_14_SET_VALUES)
+                    .name("Breathes")
+                    .internalName("breathes")
+                    .columnType(TableColumnType.BOOL)
+                    .isNullAllowed(true)
+                    .autoGenerated(false)
                     .build(),
             TableColumn.builder()
-                    .id(COLUMN_4_15_ID)
-                    .ordinalPosition(COLUMN_4_15_ORDINALPOS)
+                    .id(59L)
+                    .ordinalPosition(14)
                     .table(TABLE_5)
-                    .name(COLUMN_4_15_NAME)
-                    .internalName(COLUMN_4_15_INTERNAL_NAME)
-                    .columnType(COLUMN_4_15_TYPE)
-                    .isNullAllowed(COLUMN_4_15_NULL)
-                    .autoGenerated(COLUMN_4_15_AUTO_GENERATED)
-                    .enums(COLUMN_4_15_ENUM_VALUES)
-                    .sets(COLUMN_4_15_SET_VALUES)
+                    .name("Venomous")
+                    .internalName("venomous")
+                    .columnType(TableColumnType.BOOL)
+                    .isNullAllowed(true)
+                    .autoGenerated(false)
                     .build(),
             TableColumn.builder()
-                    .id(COLUMN_4_16_ID)
-                    .ordinalPosition(COLUMN_4_16_ORDINALPOS)
+                    .id(60L)
+                    .ordinalPosition(15)
                     .table(TABLE_5)
-                    .name(COLUMN_4_16_NAME)
-                    .internalName(COLUMN_4_16_INTERNAL_NAME)
-                    .columnType(COLUMN_4_16_TYPE)
-                    .isNullAllowed(COLUMN_4_16_NULL)
-                    .autoGenerated(COLUMN_4_16_AUTO_GENERATED)
-                    .enums(COLUMN_4_16_ENUM_VALUES)
-                    .sets(COLUMN_4_16_SET_VALUES)
+                    .name("Fin")
+                    .internalName("fin")
+                    .columnType(TableColumnType.BOOL)
+                    .isNullAllowed(true)
+                    .autoGenerated(false)
                     .build(),
             TableColumn.builder()
-                    .id(COLUMN_4_17_ID)
-                    .ordinalPosition(COLUMN_4_17_ORDINALPOS)
+                    .id(61L)
+                    .ordinalPosition(16)
                     .table(TABLE_5)
-                    .name(COLUMN_4_17_NAME)
-                    .internalName(COLUMN_4_17_INTERNAL_NAME)
-                    .columnType(COLUMN_4_17_TYPE)
-                    .isNullAllowed(COLUMN_4_17_NULL)
-                    .autoGenerated(COLUMN_4_17_AUTO_GENERATED)
-                    .enums(COLUMN_4_17_ENUM_VALUES)
-                    .sets(COLUMN_4_17_SET_VALUES)
+                    .name("Legs")
+                    .internalName("legs")
+                    .columnType(TableColumnType.INT)
+                    .isNullAllowed(true)
+                    .autoGenerated(false)
                     .build(),
             TableColumn.builder()
-                    .id(COLUMN_4_18_ID)
-                    .ordinalPosition(COLUMN_4_18_ORDINALPOS)
+                    .id(62L)
+                    .ordinalPosition(17)
                     .table(TABLE_5)
-                    .name(COLUMN_4_18_NAME)
-                    .internalName(COLUMN_4_18_INTERNAL_NAME)
-                    .columnType(COLUMN_4_18_TYPE)
-                    .isNullAllowed(COLUMN_4_18_NULL)
-                    .autoGenerated(COLUMN_4_18_AUTO_GENERATED)
-                    .enums(COLUMN_4_18_ENUM_VALUES)
-                    .sets(COLUMN_4_18_SET_VALUES)
+                    .name("Tail")
+                    .internalName("tail")
+                    .columnType(TableColumnType.DECIMAL)
+                    .isNullAllowed(true)
+                    .autoGenerated(false)
                     .build(),
             TableColumn.builder()
-                    .id(COLUMN_4_19_ID)
-                    .ordinalPosition(COLUMN_4_19_ORDINALPOS)
+                    .id(63L)
+                    .ordinalPosition(18)
                     .table(TABLE_5)
-                    .name(COLUMN_4_19_NAME)
-                    .internalName(COLUMN_4_19_INTERNAL_NAME)
-                    .columnType(COLUMN_4_19_TYPE)
-                    .isNullAllowed(COLUMN_4_19_NULL)
-                    .autoGenerated(COLUMN_4_19_AUTO_GENERATED)
-                    .enums(COLUMN_4_19_ENUM_VALUES)
-                    .sets(COLUMN_4_19_SET_VALUES)
+                    .name("Domestic")
+                    .internalName("domestic")
+                    .columnType(TableColumnType.BOOL)
+                    .isNullAllowed(true)
+                    .autoGenerated(false)
                     .build(),
             TableColumn.builder()
-                    .id(COLUMN_4_20_ID)
-                    .ordinalPosition(COLUMN_4_20_ORDINALPOS)
+                    .id(64L)
+                    .ordinalPosition(19)
                     .table(TABLE_5)
-                    .name(COLUMN_4_20_NAME)
-                    .internalName(COLUMN_4_20_INTERNAL_NAME)
-                    .columnType(COLUMN_4_20_TYPE)
-                    .isNullAllowed(COLUMN_4_20_NULL)
-                    .autoGenerated(COLUMN_4_20_AUTO_GENERATED)
-                    .enums(COLUMN_4_20_ENUM_VALUES)
-                    .sets(COLUMN_4_20_SET_VALUES)
+                    .name("Catsize")
+                    .internalName("catsize")
+                    .columnType(TableColumnType.BOOL)
+                    .isNullAllowed(true)
+                    .autoGenerated(false)
                     .build(),
             TableColumn.builder()
-                    .id(COLUMN_4_21_ID)
-                    .ordinalPosition(COLUMN_4_21_ORDINALPOS)
+                    .id(64L)
+                    .ordinalPosition(20)
                     .table(TABLE_5)
-                    .name(COLUMN_4_21_NAME)
-                    .internalName(COLUMN_4_21_INTERNAL_NAME)
-                    .columnType(COLUMN_4_21_TYPE)
-                    .isNullAllowed(COLUMN_4_21_NULL)
-                    .autoGenerated(COLUMN_4_21_AUTO_GENERATED)
-                    .enums(COLUMN_4_21_ENUM_VALUES)
-                    .sets(COLUMN_4_21_SET_VALUES)
+                    .name("Class Type")
+                    .internalName("class_type")
+                    .columnType(TableColumnType.DECIMAL)
+                    .isNullAllowed(true)
+                    .autoGenerated(false)
                     .build());
 
     public final static List<ColumnDto> TABLE_5_COLUMNS_DTO = List.of(ColumnDto.builder()
-                    .id(COLUMN_4_1_ID)
-                    .name(COLUMN_4_1_NAME)
-                    .internalName(COLUMN_4_1_INTERNAL_NAME)
-                    .columnType(COLUMN_4_1_TYPE_DTO)
-                    .isNullAllowed(COLUMN_4_1_NULL)
-                    .autoGenerated(COLUMN_4_1_AUTO_GENERATED)
-                    .enums(COLUMN_4_1_ENUM_VALUES)
-                    .sets(COLUMN_4_1_SET_VALUES)
+                    .id(45L)
+                    .ordinalPosition(0)
+                    .table(TABLE_5_DTO)
+                    .name("id")
+                    .internalName("id")
+                    .columnType(ColumnTypeDto.BIGINT)
+                    .isNullAllowed(false)
+                    .autoGenerated(true)
                     .build(),
             ColumnDto.builder()
-                    .id(COLUMN_4_2_ID)
-                    .name(COLUMN_4_2_NAME)
-                    .internalName(COLUMN_4_2_INTERNAL_NAME)
-                    .columnType(COLUMN_4_2_TYPE_DTO)
-                    .isNullAllowed(COLUMN_4_2_NULL)
-                    .autoGenerated(COLUMN_4_2_AUTO_GENERATED)
-                    .enums(COLUMN_4_2_ENUM_VALUES)
-                    .sets(COLUMN_4_2_SET_VALUES)
+                    .id(46L)
+                    .ordinalPosition(1)
+                    .table(TABLE_5_DTO)
+                    .name("Animal Name")
+                    .internalName("animal_name")
+                    .columnType(ColumnTypeDto.VARCHAR)
+                    .isNullAllowed(true)
+                    .autoGenerated(false)
                     .build(),
             ColumnDto.builder()
-                    .id(COLUMN_4_3_ID)
-                    .name(COLUMN_4_3_NAME)
-                    .internalName(COLUMN_4_3_INTERNAL_NAME)
-                    .columnType(COLUMN_4_3_TYPE_DTO)
-                    .isNullAllowed(COLUMN_4_3_NULL)
-                    .autoGenerated(COLUMN_4_3_AUTO_GENERATED)
-                    .enums(COLUMN_4_3_ENUM_VALUES)
-                    .sets(COLUMN_4_3_SET_VALUES)
+                    .id(47L)
+                    .ordinalPosition(2)
+                    .table(TABLE_5_DTO)
+                    .name("Hair")
+                    .internalName("hair")
+                    .columnType(ColumnTypeDto.BOOL)
+                    .isNullAllowed(true)
+                    .autoGenerated(false)
                     .build(),
             ColumnDto.builder()
-                    .id(COLUMN_4_4_ID)
-                    .name(COLUMN_4_4_NAME)
-                    .internalName(COLUMN_4_4_INTERNAL_NAME)
-                    .columnType(COLUMN_4_4_TYPE_DTO)
-                    .isNullAllowed(COLUMN_4_4_NULL)
-                    .autoGenerated(COLUMN_4_4_AUTO_GENERATED)
-                    .enums(COLUMN_4_4_ENUM_VALUES)
-                    .sets(COLUMN_4_4_SET_VALUES)
+                    .id(48L)
+                    .ordinalPosition(3)
+                    .table(TABLE_5_DTO)
+                    .name("Feathers")
+                    .internalName("feathers")
+                    .columnType(ColumnTypeDto.BOOL)
+                    .isNullAllowed(true)
+                    .autoGenerated(false)
                     .build(),
             ColumnDto.builder()
-                    .id(COLUMN_4_5_ID)
-                    .name(COLUMN_4_5_NAME)
-                    .internalName(COLUMN_4_5_INTERNAL_NAME)
-                    .columnType(COLUMN_4_5_TYPE_DTO)
-                    .isNullAllowed(COLUMN_4_5_NULL)
-                    .autoGenerated(COLUMN_4_5_AUTO_GENERATED)
-                    .enums(COLUMN_4_5_ENUM_VALUES)
-                    .sets(COLUMN_4_5_SET_VALUES)
+                    .id(49L)
+                    .ordinalPosition(4)
+                    .table(TABLE_5_DTO)
+                    .name("Bread")
+                    .internalName("bread")
+                    .columnType(ColumnTypeDto.BOOL)
+                    .isNullAllowed(true)
+                    .autoGenerated(false)
                     .build(),
             ColumnDto.builder()
-                    .id(COLUMN_4_6_ID)
-                    .name(COLUMN_4_6_NAME)
-                    .internalName(COLUMN_4_6_INTERNAL_NAME)
-                    .columnType(COLUMN_4_6_TYPE_DTO)
-                    .isNullAllowed(COLUMN_4_6_NULL)
-                    .autoGenerated(COLUMN_4_6_AUTO_GENERATED)
-                    .enums(COLUMN_4_6_ENUM_VALUES)
-                    .sets(COLUMN_4_6_SET_VALUES)
+                    .id(50L)
+                    .ordinalPosition(5)
+                    .table(TABLE_5_DTO)
+                    .name("Eggs")
+                    .internalName("eggs")
+                    .columnType(ColumnTypeDto.BOOL)
+                    .isNullAllowed(true)
+                    .autoGenerated(false)
                     .build(),
             ColumnDto.builder()
-                    .id(COLUMN_4_7_ID)
-                    .name(COLUMN_4_7_NAME)
-                    .internalName(COLUMN_4_7_INTERNAL_NAME)
-                    .columnType(COLUMN_4_7_TYPE_DTO)
-                    .isNullAllowed(COLUMN_4_7_NULL)
-                    .autoGenerated(COLUMN_4_7_AUTO_GENERATED)
-                    .enums(COLUMN_4_7_ENUM_VALUES)
-                    .sets(COLUMN_4_7_SET_VALUES)
+                    .id(51L)
+                    .ordinalPosition(6)
+                    .table(TABLE_5_DTO)
+                    .name("Milk")
+                    .internalName("milk")
+                    .columnType(ColumnTypeDto.BOOL)
+                    .isNullAllowed(true)
+                    .autoGenerated(false)
                     .build(),
             ColumnDto.builder()
-                    .id(COLUMN_4_8_ID)
-                    .name(COLUMN_4_8_NAME)
-                    .internalName(COLUMN_4_8_INTERNAL_NAME)
-                    .columnType(COLUMN_4_8_TYPE_DTO)
-                    .isNullAllowed(COLUMN_4_8_NULL)
-                    .autoGenerated(COLUMN_4_8_AUTO_GENERATED)
-                    .enums(COLUMN_4_8_ENUM_VALUES)
-                    .sets(COLUMN_4_8_SET_VALUES)
+                    .id(52L)
+                    .ordinalPosition(7)
+                    .table(TABLE_5_DTO)
+                    .name("Water")
+                    .internalName("water")
+                    .columnType(ColumnTypeDto.BOOL)
+                    .isNullAllowed(true)
+                    .autoGenerated(false)
                     .build(),
             ColumnDto.builder()
-                    .id(COLUMN_4_9_ID)
-                    .name(COLUMN_4_9_NAME)
-                    .internalName(COLUMN_4_9_INTERNAL_NAME)
-                    .columnType(COLUMN_4_9_TYPE_DTO)
-                    .isNullAllowed(COLUMN_4_9_NULL)
-                    .autoGenerated(COLUMN_4_9_AUTO_GENERATED)
-                    .enums(COLUMN_4_9_ENUM_VALUES)
-                    .sets(COLUMN_4_9_SET_VALUES)
+                    .id(53L)
+                    .ordinalPosition(8)
+                    .table(TABLE_5_DTO)
+                    .name("Airborne")
+                    .internalName("airborne")
+                    .columnType(ColumnTypeDto.BOOL)
+                    .isNullAllowed(true)
+                    .autoGenerated(false)
                     .build(),
             ColumnDto.builder()
-                    .id(COLUMN_4_10_ID)
-                    .name(COLUMN_4_10_NAME)
-                    .internalName(COLUMN_4_10_INTERNAL_NAME)
-                    .columnType(COLUMN_4_10_TYPE_DTO)
-                    .isNullAllowed(COLUMN_4_10_NULL)
-                    .autoGenerated(COLUMN_4_10_AUTO_GENERATED)
-                    .enums(COLUMN_4_10_ENUM_VALUES)
-                    .sets(COLUMN_4_10_SET_VALUES)
+                    .id(54L)
+                    .ordinalPosition(9)
+                    .table(TABLE_5_DTO)
+                    .name("Waterborne")
+                    .internalName("waterborne")
+                    .columnType(ColumnTypeDto.BOOL)
+                    .isNullAllowed(true)
+                    .autoGenerated(false)
                     .build(),
             ColumnDto.builder()
-                    .id(COLUMN_4_11_ID)
-                    .name(COLUMN_4_11_NAME)
-                    .internalName(COLUMN_4_11_INTERNAL_NAME)
-                    .columnType(COLUMN_4_11_TYPE_DTO)
-                    .isNullAllowed(COLUMN_4_11_NULL)
-                    .autoGenerated(COLUMN_4_11_AUTO_GENERATED)
-                    .enums(COLUMN_4_11_ENUM_VALUES)
-                    .sets(COLUMN_4_11_SET_VALUES)
+                    .id(55L)
+                    .ordinalPosition(10)
+                    .table(TABLE_5_DTO)
+                    .name("Aquantic")
+                    .internalName("aquantic")
+                    .columnType(ColumnTypeDto.BOOL)
+                    .isNullAllowed(true)
+                    .autoGenerated(false)
                     .build(),
             ColumnDto.builder()
-                    .id(COLUMN_4_12_ID)
-                    .name(COLUMN_4_12_NAME)
-                    .internalName(COLUMN_4_12_INTERNAL_NAME)
-                    .columnType(COLUMN_4_12_TYPE_DTO)
-                    .isNullAllowed(COLUMN_4_12_NULL)
-                    .autoGenerated(COLUMN_4_12_AUTO_GENERATED)
-                    .enums(COLUMN_4_12_ENUM_VALUES)
-                    .sets(COLUMN_4_12_SET_VALUES)
+                    .id(56L)
+                    .ordinalPosition(11)
+                    .table(TABLE_5_DTO)
+                    .name("Predator")
+                    .internalName("predator")
+                    .columnType(ColumnTypeDto.BOOL)
+                    .isNullAllowed(true)
+                    .autoGenerated(false)
                     .build(),
             ColumnDto.builder()
-                    .id(COLUMN_4_13_ID)
-                    .name(COLUMN_4_13_NAME)
-                    .internalName(COLUMN_4_13_INTERNAL_NAME)
-                    .columnType(COLUMN_4_13_TYPE_DTO)
-                    .isNullAllowed(COLUMN_4_13_NULL)
-                    .autoGenerated(COLUMN_4_13_AUTO_GENERATED)
-                    .enums(COLUMN_4_13_ENUM_VALUES)
-                    .sets(COLUMN_4_13_SET_VALUES)
+                    .id(57L)
+                    .ordinalPosition(12)
+                    .table(TABLE_5_DTO)
+                    .name("Backbone")
+                    .internalName("backbone")
+                    .columnType(ColumnTypeDto.BOOL)
+                    .isNullAllowed(true)
+                    .autoGenerated(false)
                     .build(),
             ColumnDto.builder()
-                    .id(COLUMN_4_14_ID)
-                    .name(COLUMN_4_14_NAME)
-                    .internalName(COLUMN_4_14_INTERNAL_NAME)
-                    .columnType(COLUMN_4_14_TYPE_DTO)
-                    .isNullAllowed(COLUMN_4_14_NULL)
-                    .autoGenerated(COLUMN_4_14_AUTO_GENERATED)
-                    .enums(COLUMN_4_14_ENUM_VALUES)
-                    .sets(COLUMN_4_14_SET_VALUES)
+                    .id(58L)
+                    .ordinalPosition(13)
+                    .table(TABLE_5_DTO)
+                    .name("Breathes")
+                    .internalName("breathes")
+                    .columnType(ColumnTypeDto.BOOL)
+                    .isNullAllowed(true)
+                    .autoGenerated(false)
                     .build(),
             ColumnDto.builder()
-                    .id(COLUMN_4_15_ID)
-                    .name(COLUMN_4_15_NAME)
-                    .internalName(COLUMN_4_15_INTERNAL_NAME)
-                    .columnType(COLUMN_4_15_TYPE_DTO)
-                    .isNullAllowed(COLUMN_4_15_NULL)
-                    .autoGenerated(COLUMN_4_15_AUTO_GENERATED)
-                    .enums(COLUMN_4_15_ENUM_VALUES)
-                    .sets(COLUMN_4_15_SET_VALUES)
+                    .id(59L)
+                    .ordinalPosition(14)
+                    .table(TABLE_5_DTO)
+                    .name("Venomous")
+                    .internalName("venomous")
+                    .columnType(ColumnTypeDto.BOOL)
+                    .isNullAllowed(true)
+                    .autoGenerated(false)
                     .build(),
             ColumnDto.builder()
-                    .id(COLUMN_4_16_ID)
-                    .name(COLUMN_4_16_NAME)
-                    .internalName(COLUMN_4_16_INTERNAL_NAME)
-                    .columnType(COLUMN_4_16_TYPE_DTO)
-                    .isNullAllowed(COLUMN_4_16_NULL)
-                    .autoGenerated(COLUMN_4_16_AUTO_GENERATED)
-                    .enums(COLUMN_4_16_ENUM_VALUES)
-                    .sets(COLUMN_4_16_SET_VALUES)
+                    .id(60L)
+                    .ordinalPosition(15)
+                    .table(TABLE_5_DTO)
+                    .name("Fin")
+                    .internalName("fin")
+                    .columnType(ColumnTypeDto.BOOL)
+                    .isNullAllowed(true)
+                    .autoGenerated(false)
                     .build(),
             ColumnDto.builder()
-                    .id(COLUMN_4_17_ID)
-                    .name(COLUMN_4_17_NAME)
-                    .internalName(COLUMN_4_17_INTERNAL_NAME)
-                    .columnType(COLUMN_4_17_TYPE_DTO)
-                    .isNullAllowed(COLUMN_4_17_NULL)
-                    .autoGenerated(COLUMN_4_17_AUTO_GENERATED)
-                    .enums(COLUMN_4_17_ENUM_VALUES)
-                    .sets(COLUMN_4_17_SET_VALUES)
+                    .id(61L)
+                    .ordinalPosition(16)
+                    .table(TABLE_5_DTO)
+                    .name("Legs")
+                    .internalName("legs")
+                    .columnType(ColumnTypeDto.INT)
+                    .isNullAllowed(true)
+                    .autoGenerated(false)
                     .build(),
             ColumnDto.builder()
-                    .id(COLUMN_4_18_ID)
-                    .name(COLUMN_4_18_NAME)
-                    .internalName(COLUMN_4_18_INTERNAL_NAME)
-                    .columnType(COLUMN_4_18_TYPE_DTO)
-                    .isNullAllowed(COLUMN_4_18_NULL)
-                    .autoGenerated(COLUMN_4_18_AUTO_GENERATED)
-                    .enums(COLUMN_4_18_ENUM_VALUES)
-                    .sets(COLUMN_4_18_SET_VALUES)
+                    .id(62L)
+                    .ordinalPosition(17)
+                    .table(TABLE_5_DTO)
+                    .name("Tail")
+                    .internalName("tail")
+                    .columnType(ColumnTypeDto.DECIMAL)
+                    .isNullAllowed(true)
+                    .autoGenerated(false)
                     .build(),
             ColumnDto.builder()
-                    .id(COLUMN_4_19_ID)
-                    .name(COLUMN_4_19_NAME)
-                    .internalName(COLUMN_4_19_INTERNAL_NAME)
-                    .columnType(COLUMN_4_19_TYPE_DTO)
-                    .isNullAllowed(COLUMN_4_19_NULL)
-                    .autoGenerated(COLUMN_4_19_AUTO_GENERATED)
-                    .enums(COLUMN_4_19_ENUM_VALUES)
-                    .sets(COLUMN_4_19_SET_VALUES)
+                    .id(63L)
+                    .ordinalPosition(18)
+                    .table(TABLE_5_DTO)
+                    .name("Domestic")
+                    .internalName("domestic")
+                    .columnType(ColumnTypeDto.BOOL)
+                    .isNullAllowed(true)
+                    .autoGenerated(false)
                     .build(),
             ColumnDto.builder()
-                    .id(COLUMN_4_20_ID)
-                    .name(COLUMN_4_20_NAME)
-                    .internalName(COLUMN_4_20_INTERNAL_NAME)
-                    .columnType(COLUMN_4_20_TYPE_DTO)
-                    .isNullAllowed(COLUMN_4_20_NULL)
-                    .autoGenerated(COLUMN_4_20_AUTO_GENERATED)
-                    .enums(COLUMN_4_20_ENUM_VALUES)
-                    .sets(COLUMN_4_20_SET_VALUES)
+                    .id(64L)
+                    .ordinalPosition(19)
+                    .table(TABLE_5_DTO)
+                    .name("Catsize")
+                    .internalName("catsize")
+                    .columnType(ColumnTypeDto.BOOL)
+                    .isNullAllowed(true)
+                    .autoGenerated(false)
                     .build(),
             ColumnDto.builder()
-                    .id(COLUMN_4_21_ID)
-                    .name(COLUMN_4_21_NAME)
-                    .internalName(COLUMN_4_21_INTERNAL_NAME)
-                    .columnType(COLUMN_4_21_TYPE_DTO)
-                    .isNullAllowed(COLUMN_4_21_NULL)
-                    .autoGenerated(COLUMN_4_21_AUTO_GENERATED)
-                    .enums(COLUMN_4_21_ENUM_VALUES)
-                    .sets(COLUMN_4_21_SET_VALUES)
+                    .id(64L)
+                    .ordinalPosition(20)
+                    .table(TABLE_5_DTO)
+                    .name("Class Type")
+                    .internalName("class_type")
+                    .columnType(ColumnTypeDto.DECIMAL)
+                    .isNullAllowed(true)
+                    .autoGenerated(false)
                     .build());
 
     public final static List<ForeignKeyCreateDto> TABLE_5_FOREIGN_KEYS_INVALID_CREATE = List.of(ForeignKeyCreateDto.builder()
@@ -4649,54 +4155,115 @@ public abstract class BaseTest {
             .foreignKeys(TABLE_5_FOREIGN_KEYS_INVALID_CREATE)
             .build();
 
-    public final static List<ColumnCreateDto> TABLE_5_COLUMNS_INVALID_CREATE = List.of(ColumnCreateDto.builder()
-            .name(COLUMN_4_2_NAME)
-            .type(COLUMN_4_2_TYPE_DTO)
-            .nullAllowed(COLUMN_4_2_NULL)
-            .enums(COLUMN_4_2_ENUM_VALUES_ARR)
-            .build());
-
     public final static List<ColumnCreateDto> TABLE_5_COLUMNS_CREATE = List.of(ColumnCreateDto.builder()
-                    .name(COLUMN_5_1_NAME)
-                    .type(COLUMN_5_1_TYPE_DTO)
-                    .nullAllowed(COLUMN_5_1_NULL)
-                    .enums(COLUMN_5_1_ENUM_VALUES_DTO)
+                    .name("id")
+                    .type(ColumnTypeDto.BIGINT)
+                    .nullAllowed(false)
+                    .build(),
+            ColumnCreateDto.builder()
+                    .name("Animal Name")
+                    .type(ColumnTypeDto.VARCHAR)
+                    .nullAllowed(true)
+                    .build(),
+            ColumnCreateDto.builder()
+                    .name("Hair")
+                    .type(ColumnTypeDto.BOOL)
+                    .nullAllowed(true)
+                    .build(),
+            ColumnCreateDto.builder()
+                    .name("Feathers")
+                    .type(ColumnTypeDto.BOOL)
+                    .nullAllowed(true)
+                    .build(),
+            ColumnCreateDto.builder()
+                    .name("Bread")
+                    .type(ColumnTypeDto.BOOL)
+                    .nullAllowed(true)
+                    .build(),
+            ColumnCreateDto.builder()
+                    .name("Eggs")
+                    .type(ColumnTypeDto.BOOL)
+                    .nullAllowed(true)
+                    .build(),
+            ColumnCreateDto.builder()
+                    .name("Milk")
+                    .type(ColumnTypeDto.BOOL)
+                    .nullAllowed(true)
+                    .build(),
+            ColumnCreateDto.builder()
+                    .name("Water")
+                    .type(ColumnTypeDto.BOOL)
+                    .nullAllowed(true)
+                    .build(),
+            ColumnCreateDto.builder()
+                    .name("Airborne")
+                    .type(ColumnTypeDto.BOOL)
+                    .nullAllowed(true)
+                    .build(),
+            ColumnCreateDto.builder()
+                    .name("Waterborne")
+                    .type(ColumnTypeDto.BOOL)
+                    .nullAllowed(true)
+                    .build(),
+            ColumnCreateDto.builder()
+                    .name("Aquantic")
+                    .type(ColumnTypeDto.BOOL)
+                    .nullAllowed(true)
+                    .build(),
+            ColumnCreateDto.builder()
+                    .name("Predator")
+                    .type(ColumnTypeDto.BOOL)
+                    .nullAllowed(true)
+                    .build(),
+            ColumnCreateDto.builder()
+                    .name("Backbone")
+                    .type(ColumnTypeDto.BOOL)
+                    .nullAllowed(true)
+                    .build(),
+            ColumnCreateDto.builder()
+                    .name("Breathes")
+                    .type(ColumnTypeDto.BOOL)
+                    .nullAllowed(true)
+                    .build(),
+            ColumnCreateDto.builder()
+                    .name("Venomous")
+                    .type(ColumnTypeDto.BOOL)
+                    .nullAllowed(true)
+                    .build(),
+            ColumnCreateDto.builder()
+                    .name("Fin")
+                    .type(ColumnTypeDto.BOOL)
+                    .nullAllowed(true)
                     .build(),
             ColumnCreateDto.builder()
-                    .name(COLUMN_5_2_NAME)
-                    .type(COLUMN_5_2_TYPE_DTO)
-                    .nullAllowed(COLUMN_5_2_NULL)
-                    .enums(COLUMN_5_2_ENUM_VALUES_DTO)
+                    .name("Legs")
+                    .type(ColumnTypeDto.INT)
+                    .nullAllowed(true)
                     .build(),
             ColumnCreateDto.builder()
-                    .name(COLUMN_5_3_NAME)
-                    .type(COLUMN_5_3_TYPE_DTO)
-                    .nullAllowed(COLUMN_5_3_NULL)
-                    .enums(COLUMN_5_3_ENUM_VALUES_DTO)
+                    .name("Tail")
+                    .type(ColumnTypeDto.DECIMAL)
+                    .nullAllowed(true)
                     .build(),
             ColumnCreateDto.builder()
-                    .name(COLUMN_5_4_NAME)
-                    .type(COLUMN_5_4_TYPE_DTO)
-                    .nullAllowed(COLUMN_5_4_NULL)
-                    .enums(COLUMN_5_4_ENUM_VALUES_DTO)
+                    .name("Domestic")
+                    .type(ColumnTypeDto.BOOL)
+                    .nullAllowed(true)
                     .build(),
             ColumnCreateDto.builder()
-                    .name(COLUMN_5_5_NAME)
-                    .type(COLUMN_5_5_TYPE_DTO)
-                    .dfid(COLUMN_5_5_DATE_FORMAT)
-                    .nullAllowed(COLUMN_5_5_NULL)
-                    .enums(COLUMN_5_5_ENUM_VALUES_DTO)
+                    .name("Catsize")
+                    .type(ColumnTypeDto.BOOL)
+                    .nullAllowed(true)
                     .build(),
             ColumnCreateDto.builder()
-                    .name(COLUMN_5_6_NAME)
-                    .type(COLUMN_5_6_TYPE_DTO)
-                    .nullAllowed(COLUMN_5_6_NULL)
-                    .enums(COLUMN_5_6_ENUM_VALUES_DTO)
+                    .name("Class Type")
+                    .type(ColumnTypeDto.DECIMAL)
+                    .nullAllowed(true)
                     .build());
 
     public final static ConstraintsCreateDto TABLE_5_CREATE_CONSTRAINTS_DTO = ConstraintsCreateDto.builder()
-            .primaryKey(Set.of(COLUMN_5_1_NAME))
-            .uniques(List.of(List.of(COLUMN_5_1_NAME)))
+            .primaryKey(Set.of("id"))
+            .uniques(List.of(List.of("id")))
             .checks(new LinkedHashSet<>())
             .foreignKeys(new LinkedList<>())
             .build();
@@ -4716,90 +4283,139 @@ public abstract class BaseTest {
             .build();
 
     public final static List<TableColumn> TABLE_6_COLUMNS = List.of(TableColumn.builder()
-                    .id(COLUMN_5_1_ID)
-                    .ordinalPosition(COLUMN_5_1_ORDINALPOS)
+                    .id(66L)
+                    .ordinalPosition(0)
                     .table(TABLE_6)
-                    .name(COLUMN_5_1_NAME)
-                    .internalName(COLUMN_5_1_INTERNAL_NAME)
-                    .columnType(COLUMN_5_1_TYPE)
-                    .isNullAllowed(COLUMN_5_1_NULL)
-                    .autoGenerated(COLUMN_5_1_AUTO_GENERATED)
-                    .enums(COLUMN_5_1_ENUM_VALUES)
-                    .sets(COLUMN_5_1_SET_VALUES)
+                    .name("id")
+                    .internalName("id")
+                    .columnType(TableColumnType.BIGINT)
+                    .isNullAllowed(false)
+                    .autoGenerated(true)
                     .build(),
             TableColumn.builder()
-                    .id(COLUMN_5_2_ID)
-                    .ordinalPosition(COLUMN_5_2_ORDINALPOS)
+                    .id(67L)
+                    .ordinalPosition(1)
                     .table(TABLE_6)
-                    .name(COLUMN_5_2_NAME)
-                    .internalName(COLUMN_5_2_INTERNAL_NAME)
-                    .columnType(COLUMN_5_2_TYPE)
-                    .isNullAllowed(COLUMN_5_2_NULL)
-                    .autoGenerated(COLUMN_5_2_AUTO_GENERATED)
-                    .enums(COLUMN_5_2_ENUM_VALUES)
-                    .sets(COLUMN_5_2_SET_VALUES)
+                    .name("firstname")
+                    .internalName("firstname")
+                    .columnType(TableColumnType.VARCHAR)
+                    .isNullAllowed(false)
+                    .autoGenerated(false)
                     .build(),
             TableColumn.builder()
-                    .id(COLUMN_5_3_ID)
-                    .ordinalPosition(COLUMN_5_3_ORDINALPOS)
+                    .id(68L)
+                    .ordinalPosition(2)
                     .table(TABLE_6)
-                    .name(COLUMN_5_3_NAME)
-                    .internalName(COLUMN_5_3_INTERNAL_NAME)
-                    .columnType(COLUMN_5_3_TYPE)
-                    .isNullAllowed(COLUMN_5_3_NULL)
-                    .autoGenerated(COLUMN_5_3_AUTO_GENERATED)
-                    .enums(COLUMN_5_3_ENUM_VALUES)
-                    .sets(COLUMN_5_3_SET_VALUES)
+                    .name("lastname")
+                    .internalName("lastname")
+                    .columnType(TableColumnType.VARCHAR)
+                    .isNullAllowed(false)
+                    .autoGenerated(false)
                     .build(),
             TableColumn.builder()
-                    .id(COLUMN_5_4_ID)
-                    .ordinalPosition(COLUMN_5_4_ORDINALPOS)
+                    .id(69L)
+                    .ordinalPosition(3)
                     .table(TABLE_6)
-                    .name(COLUMN_5_4_NAME)
-                    .internalName(COLUMN_5_4_INTERNAL_NAME)
-                    .columnType(COLUMN_5_4_TYPE)
-                    .isNullAllowed(COLUMN_5_4_NULL)
-                    .autoGenerated(COLUMN_5_4_AUTO_GENERATED)
-                    .enums(COLUMN_5_4_ENUM_VALUES)
-                    .sets(COLUMN_5_4_SET_VALUES)
+                    .name("birth")
+                    .internalName("birth")
+                    .columnType(TableColumnType.YEAR)
+                    .isNullAllowed(false)
+                    .autoGenerated(false)
                     .build(),
             TableColumn.builder()
-                    .id(COLUMN_5_5_ID)
-                    .ordinalPosition(COLUMN_5_5_ORDINALPOS)
+                    .id(70L)
+                    .ordinalPosition(4)
                     .table(TABLE_6)
-                    .name(COLUMN_5_5_NAME)
-                    .internalName(COLUMN_5_5_INTERNAL_NAME)
-                    .columnType(COLUMN_5_5_TYPE)
-                    .isNullAllowed(COLUMN_5_5_NULL)
-                    .autoGenerated(COLUMN_5_5_AUTO_GENERATED)
-                    .enums(COLUMN_5_5_ENUM_VALUES)
-                    .sets(COLUMN_5_5_SET_VALUES)
+                    .name("reminder")
+                    .internalName("reminder")
+                    .columnType(TableColumnType.TIME)
+                    .dateFormat(IMAGE_DATE_4)
+                    .isNullAllowed(false)
+                    .autoGenerated(false)
                     .build(),
             TableColumn.builder()
-                    .id(COLUMN_5_6_ID)
-                    .ordinalPosition(COLUMN_5_6_ORDINALPOS)
+                    .id(71L)
+                    .ordinalPosition(5)
                     .table(TABLE_6)
-                    .name(COLUMN_5_6_NAME)
-                    .internalName(COLUMN_5_6_INTERNAL_NAME)
-                    .columnType(COLUMN_5_6_TYPE)
-                    .isNullAllowed(COLUMN_5_6_NULL)
-                    .autoGenerated(COLUMN_5_6_AUTO_GENERATED)
-                    .enums(COLUMN_5_6_ENUM_VALUES)
-                    .sets(COLUMN_5_6_SET_VALUES)
+                    .name("ref_id")
+                    .internalName("ref_id")
+                    .columnType(TableColumnType.BIGINT)
+                    .isNullAllowed(true)
+                    .autoGenerated(false)
+                    .build());
+
+    public final static List<ColumnDto> TABLE_6_COLUMNS_DTO = List.of(ColumnDto.builder()
+                    .id(66L)
+                    .ordinalPosition(0)
+                    .table(TABLE_6_DTO)
+                    .name("id")
+                    .internalName("id")
+                    .columnType(ColumnTypeDto.BIGINT)
+                    .isNullAllowed(false)
+                    .autoGenerated(true)
+                    .build(),
+            ColumnDto.builder()
+                    .id(67L)
+                    .ordinalPosition(1)
+                    .table(TABLE_6_DTO)
+                    .name("firstname")
+                    .internalName("firstname")
+                    .columnType(ColumnTypeDto.VARCHAR)
+                    .isNullAllowed(false)
+                    .autoGenerated(false)
+                    .build(),
+            ColumnDto.builder()
+                    .id(68L)
+                    .ordinalPosition(2)
+                    .table(TABLE_6_DTO)
+                    .name("lastname")
+                    .internalName("lastname")
+                    .columnType(ColumnTypeDto.VARCHAR)
+                    .isNullAllowed(false)
+                    .autoGenerated(false)
+                    .build(),
+            ColumnDto.builder()
+                    .id(69L)
+                    .ordinalPosition(3)
+                    .table(TABLE_6_DTO)
+                    .name("birth")
+                    .internalName("birth")
+                    .columnType(ColumnTypeDto.YEAR)
+                    .isNullAllowed(false)
+                    .autoGenerated(false)
+                    .build(),
+            ColumnDto.builder()
+                    .id(70L)
+                    .ordinalPosition(4)
+                    .table(TABLE_6_DTO)
+                    .name("reminder")
+                    .internalName("reminder")
+                    .columnType(ColumnTypeDto.TIME)
+                    .dateFormat(IMAGE_DATE_4_DTO)
+                    .isNullAllowed(false)
+                    .autoGenerated(false)
+                    .build(),
+            ColumnDto.builder()
+                    .id(71L)
+                    .ordinalPosition(5)
+                    .table(TABLE_6_DTO)
+                    .name("ref_id")
+                    .internalName("ref_id")
+                    .columnType(ColumnTypeDto.BIGINT)
+                    .isNullAllowed(true)
+                    .autoGenerated(false)
                     .build());
 
     public final static List<List<String>> TABLE_6_UNIQUES_CREATE = List.of(
-            List.of(COLUMN_5_1_NAME),
-            List.of(COLUMN_5_2_NAME, COLUMN_5_3_NAME));
+            List.of("firstname", "lastname"));
 
     public final static List<ForeignKeyCreateDto> TABLE_6_FOREIGN_KEYS_CREATE = List.of(ForeignKeyCreateDto.builder()
-            .columns(List.of(COLUMN_5_6_NAME))
-            .referencedTable(TABLE_5_NAME)
-            .referencedColumns(List.of(COLUMN_4_1_NAME))
+            .columns(List.of("ref_id"))
+            .referencedTable("zoo")
+            .referencedColumns(List.of("id"))
             .build());
 
-    public final static Set<String> TABLE_6_CHECKS_CREATE = Set.of(
-            COLUMN_5_2_NAME + " != " + COLUMN_5_3_NAME);
+    public final static Set<String> TABLE_6_CHECKS_CREATE = Set.of("firstname != lastname");
 
     public final static ConstraintsCreateDto TABLE_6_CONSTRAINTS_CREATE = ConstraintsCreateDto.builder()
             .uniques(TABLE_6_UNIQUES_CREATE)
@@ -4808,52 +4424,17 @@ public abstract class BaseTest {
             .primaryKey(Set.of("id"))
             .build();
 
-    public final static Long COLUMN_6_1_ID = 26L;
-    public final static Integer COLUMN_6_1_ORDINALPOS = 0;
-    public final static Boolean COLUMN_6_1_PRIMARY = true;
-    public final static String COLUMN_6_1_NAME = "name_id";
-    public final static String COLUMN_6_1_INTERNAL_NAME = "name_id";
-    public final static TableColumnType COLUMN_6_1_TYPE = TableColumnType.BIGINT;
-    public final static ColumnTypeDto COLUMN_6_1_TYPE_DTO = ColumnTypeDto.BIGINT;
-    public final static Long COLUMN_6_1_DATE_FORMAT = null;
-    public final static Boolean COLUMN_6_1_NULL = false;
-    public final static Boolean COLUMN_6_1_AUTO_GENERATED = false;
-    public final static String COLUMN_6_1_FOREIGN_KEY = null;
-    public final static String COLUMN_6_1_CHECK = null;
-    public final static List<String> COLUMN_6_1_ENUM_VALUES = null;
-    public final static List<String> COLUMN_6_1_ENUM_VALUES_DTO = null;
-    public final static List<String> COLUMN_6_1_SET_VALUES = null;
-    public final static List<String> COLUMN_6_1_SET_VALUES_DTO = null;
-
-    public final static Long COLUMN_6_2_ID = 27L;
-    public final static Integer COLUMN_6_2_ORDINALPOS = 1;
-    public final static Boolean COLUMN_6_2_PRIMARY = true;
-    public final static String COLUMN_6_2_NAME = "zoo_id";
-    public final static String COLUMN_6_2_INTERNAL_NAME = "zoo_id";
-    public final static TableColumnType COLUMN_6_2_TYPE = TableColumnType.BIGINT;
-    public final static ColumnTypeDto COLUMN_6_2_TYPE_DTO = ColumnTypeDto.BIGINT;
-    public final static Long COLUMN_6_2_DATE_FORMAT = null;
-    public final static Long COLUMN_6_2_SIZE = 255L;
-    public final static Boolean COLUMN_6_2_NULL = false;
-    public final static Boolean COLUMN_6_2_AUTO_GENERATED = false;
-    public final static String COLUMN_6_2_FOREIGN_KEY = null;
-    public final static String COLUMN_6_2_CHECK = null;
-    public final static List<String> COLUMN_6_2_ENUM_VALUES = null;
-    public final static List<String> COLUMN_6_2_ENUM_VALUES_DTO = null;
-    public final static List<String> COLUMN_6_2_SET_VALUES = null;
-    public final static List<String> COLUMN_6_2_SET_VALUES_DTO = null;
-
     public final static List<ColumnCreateDto> TABLE_6_COLUMNS_CREATE = List.of(
             ColumnCreateDto.builder()
-                    .name(COLUMN_6_1_NAME)
-                    .type(COLUMN_6_1_TYPE_DTO)
-                    .nullAllowed(COLUMN_6_1_NULL)
+                    .name("name_id")
+                    .type(ColumnTypeDto.BIGINT)
+                    .nullAllowed(false)
                     .build(),
             ColumnCreateDto.builder()
-                    .name(COLUMN_6_2_NAME)
-                    .type(COLUMN_6_2_TYPE_DTO)
-                    .size(COLUMN_6_2_SIZE)
-                    .nullAllowed(COLUMN_6_2_NULL)
+                    .name("zoo_id")
+                    .type(ColumnTypeDto.BIGINT)
+                    .size(255L)
+                    .nullAllowed(false)
                     .build());
 
     public final static TableCreateDto TABLE_6_CREATE_DTO = TableCreateDto.builder()
@@ -4864,28 +4445,45 @@ public abstract class BaseTest {
             .build();
 
     public final static List<TableColumn> TABLE_7_COLUMNS = List.of(TableColumn.builder()
-                    .id(COLUMN_6_1_ID)
-                    .ordinalPosition(COLUMN_6_1_ORDINALPOS)
+                    .id(26L)
+                    .ordinalPosition(0)
                     .table(TABLE_7)
-                    .name(COLUMN_6_1_NAME)
-                    .internalName(COLUMN_6_1_INTERNAL_NAME)
-                    .columnType(COLUMN_6_1_TYPE)
-                    .isNullAllowed(COLUMN_6_1_NULL)
-                    .autoGenerated(COLUMN_6_1_AUTO_GENERATED)
-                    .enums(COLUMN_6_1_ENUM_VALUES)
-                    .sets(COLUMN_6_1_SET_VALUES)
+                    .name("name_id")
+                    .internalName("name_id")
+                    .columnType(TableColumnType.BIGINT)
+                    .isNullAllowed(false)
+                    .autoGenerated(false)
                     .build(),
             TableColumn.builder()
-                    .id(COLUMN_6_2_ID)
-                    .ordinalPosition(COLUMN_6_2_ORDINALPOS)
+                    .id(27L)
+                    .ordinalPosition(1)
                     .table(TABLE_7)
-                    .name(COLUMN_6_2_NAME)
-                    .internalName(COLUMN_6_2_INTERNAL_NAME)
-                    .columnType(COLUMN_6_2_TYPE)
-                    .isNullAllowed(COLUMN_6_2_NULL)
-                    .autoGenerated(COLUMN_6_2_AUTO_GENERATED)
-                    .enums(COLUMN_6_2_ENUM_VALUES)
-                    .sets(COLUMN_6_2_SET_VALUES)
+                    .name("zoo_id")
+                    .internalName("zoo_id")
+                    .columnType(TableColumnType.BIGINT)
+                    .isNullAllowed(false)
+                    .autoGenerated(false)
+                    .build());
+
+    public final static List<ColumnDto> TABLE_7_COLUMNS_DTO = List.of(ColumnDto.builder()
+                    .id(26L)
+                    .ordinalPosition(0)
+                    .table(TABLE_7_DTO)
+                    .name("name_id")
+                    .internalName("name_id")
+                    .columnType(ColumnTypeDto.BIGINT)
+                    .isNullAllowed(false)
+                    .autoGenerated(false)
+                    .build(),
+            ColumnDto.builder()
+                    .id(27L)
+                    .ordinalPosition(1)
+                    .table(TABLE_7_DTO)
+                    .name("zoo_id")
+                    .internalName("zoo_id")
+                    .columnType(ColumnTypeDto.BIGINT)
+                    .isNullAllowed(false)
+                    .autoGenerated(false)
                     .build());
 
     public final static Long VIEW_1_ID = 1L;
@@ -4898,10 +4496,39 @@ public abstract class BaseTest {
     public final static String VIEW_1_QUERY = "select `location`, `lat`, `lng` from `weather_location`";
     public final static String VIEW_1_QUERY_HASH = "dc81a6877c7c51a6a6f406e1fc2a255e44a0d49a20548596e0d583c3eb849c23";
 
-    public final static List<ColumnDto> VIEW_1_COLUMNS_DTO = List.of(
-            TABLE_2_COLUMNS_DTO.get(0),
-            TABLE_2_COLUMNS_DTO.get(1),
-            TABLE_2_COLUMNS_DTO.get(2)
+    public final static List<ViewColumnDto> VIEW_1_COLUMNS_DTO = List.of(
+            ViewColumnDto.builder()
+                    .id(1L)
+                    .name("location")
+                    .internalName("location")
+                    .ordinalPosition(0)
+                    .columnType(ColumnTypeDto.VARCHAR)
+                    .size(255L)
+                    .isNullAllowed(false)
+                    .autoGenerated(false)
+                    .build(),
+            ViewColumnDto.builder()
+                    .id(2L)
+                    .name("lat")
+                    .internalName("lat")
+                    .ordinalPosition(1)
+                    .columnType(ColumnTypeDto.DECIMAL)
+                    .size(10L)
+                    .d(0L)
+                    .isNullAllowed(true)
+                    .autoGenerated(false)
+                    .build(),
+            ViewColumnDto.builder()
+                    .id(3L)
+                    .name("lng")
+                    .internalName("lng")
+                    .ordinalPosition(2)
+                    .columnType(ColumnTypeDto.DECIMAL)
+                    .size(10L)
+                    .d(0L)
+                    .isNullAllowed(true)
+                    .autoGenerated(false)
+                    .build()
     );
 
     public final static View VIEW_1 = View.builder()
@@ -4947,19 +4574,39 @@ public abstract class BaseTest {
             ViewColumn.builder()
                     .id(1L)
                     .ordinalPosition(0)
-                    .column(TABLE_2_COLUMNS.get(0))
+                    .name("location")
+                    .internalName("location")
+                    .ordinalPosition(0)
+                    .columnType(TableColumnType.VARCHAR)
+                    .size(255L)
+                    .isNullAllowed(false)
+                    .autoGenerated(false)
                     .view(VIEW_1)
                     .build(),
             ViewColumn.builder()
                     .id(2L)
                     .ordinalPosition(1)
-                    .column(TABLE_2_COLUMNS.get(1))
+                    .name("lat")
+                    .internalName("lat")
+                    .ordinalPosition(1)
+                    .columnType(TableColumnType.DECIMAL)
+                    .size(10L)
+                    .d(0L)
+                    .isNullAllowed(true)
+                    .autoGenerated(false)
                     .view(VIEW_1)
                     .build(),
             ViewColumn.builder()
                     .id(3L)
                     .ordinalPosition(2)
-                    .column(TABLE_2_COLUMNS.get(2))
+                    .name("lng")
+                    .internalName("lng")
+                    .ordinalPosition(2)
+                    .columnType(TableColumnType.DECIMAL)
+                    .size(10L)
+                    .d(0L)
+                    .isNullAllowed(true)
+                    .autoGenerated(false)
                     .view(VIEW_1)
                     .build()
     );
@@ -5019,11 +4666,48 @@ public abstract class BaseTest {
     public final static String VIEW_2_QUERY = "select `date`, `location` as loc, `location`, `rainfall`, `mintemp` from `weather_aus` where `location` = 'Albury'";
     public final static String VIEW_2_QUERY_HASH = "987fc946772ffb6d85060262dcb5df419692a1f6772ea995e3dedb53c191e984";
 
-    public final static List<ColumnDto> VIEW_2_COLUMNS_DTO = List.of(
-            TABLE_1_COLUMNS_DTO.get(1),
-            TABLE_1_COLUMNS_DTO.get(2),
-            TABLE_1_COLUMNS_DTO.get(4),
-            TABLE_1_COLUMNS_DTO.get(3)
+    public final static List<ViewColumnDto> VIEW_2_COLUMNS_DTO = List.of(
+            ViewColumnDto.builder()
+                    .id(4L)
+                    .name("Date")
+                    .internalName("date")
+                    .ordinalPosition(1)
+                    .columnType(ColumnTypeDto.DATE)
+                    .dateFormat(IMAGE_DATE_1_DTO)
+                    .isNullAllowed(true)
+                    .autoGenerated(false)
+                    .build(),
+            ViewColumnDto.builder()
+                    .id(5L)
+                    .name("Location")
+                    .internalName("location")
+                    .ordinalPosition(2)
+                    .columnType(ColumnTypeDto.VARCHAR)
+                    .size(255L)
+                    .isNullAllowed(true)
+                    .autoGenerated(false)
+                    .build(),
+            ViewColumnDto.builder()
+                    .id(6L)
+                    .name("MinTemp")
+                    .internalName("mintemp")
+                    .ordinalPosition(3)
+                    .columnType(ColumnTypeDto.DECIMAL)
+                    .size(10L)
+                    .d(0L)
+                    .isNullAllowed(true)
+                    .autoGenerated(false)
+                    .build(),
+            ViewColumnDto.builder()
+                    .id(7L)
+                    .name("Location")
+                    .internalName("location")
+                    .ordinalPosition(2)
+                    .columnType(ColumnTypeDto.VARCHAR)
+                    .size(255L)
+                    .isNullAllowed(true)
+                    .autoGenerated(false)
+                    .build()
     );
 
     public final static View VIEW_2 = View.builder()
@@ -5043,26 +4727,47 @@ public abstract class BaseTest {
             ViewColumn.builder()
                     .id(4L)
                     .ordinalPosition(0)
-                    .column(TABLE_1_COLUMNS.get(1))
+                    .name("Date")
+                    .internalName("date")
+                    .columnType(TableColumnType.DATE)
+                    .dateFormat(IMAGE_DATE_1)
+                    .isNullAllowed(true)
+                    .autoGenerated(false)
                     .view(VIEW_2)
                     .build(),
             ViewColumn.builder()
                     .id(5L)
                     .ordinalPosition(1)
-                    .alias("loc")
-                    .column(TABLE_1_COLUMNS.get(2))
+                    .name("Location")
+                    .internalName("location")
+                    .columnType(TableColumnType.VARCHAR)
+                    .size(255L)
+                    .isNullAllowed(true)
+                    .autoGenerated(false)
                     .view(VIEW_2)
                     .build(),
             ViewColumn.builder()
                     .id(6L)
                     .ordinalPosition(2)
-                    .column(TABLE_1_COLUMNS.get(4))
+                    .name("Rainfall")
+                    .internalName("rainfall")
+                    .columnType(TableColumnType.DECIMAL)
+                    .size(10L)
+                    .d(0L)
+                    .isNullAllowed(true)
+                    .autoGenerated(false)
                     .view(VIEW_2)
                     .build(),
             ViewColumn.builder()
                     .id(7L)
                     .ordinalPosition(3)
-                    .column(TABLE_1_COLUMNS.get(3))
+                    .name("MinTemp")
+                    .internalName("mintemp")
+                    .columnType(TableColumnType.DECIMAL)
+                    .size(10L)
+                    .d(0L)
+                    .isNullAllowed(true)
+                    .autoGenerated(false)
                     .view(VIEW_2)
                     .build()
     );
@@ -5116,11 +4821,51 @@ public abstract class BaseTest {
     public final static String VIEW_3_QUERY = "select w.`mintemp`, w.`rainfall`, w.`location`, m.`date` from `weather_aus` w join `junit2` m on m.`location` = w.`location` and m.`date` = w.`date`";
     public final static String VIEW_3_QUERY_HASH = "bbbaa56a5206b3dc3e6cf9301b0db9344eb6f19b100c7b88550ffb597a0bd255";
 
-    public final static List<ColumnDto> VIEW_3_COLUMNS_DTO = List.of(
-            TABLE_1_COLUMNS_DTO.get(3),
-            TABLE_1_COLUMNS_DTO.get(4),
-            TABLE_1_COLUMNS_DTO.get(2),
-            TABLE_1_COLUMNS_DTO.get(1)
+    public final static List<ViewColumnDto> VIEW_3_COLUMNS_DTO = List.of(
+            ViewColumnDto.builder()
+                    .id(8L)
+                    .name("MinTemp")
+                    .internalName("mintemp")
+                    .ordinalPosition(0)
+                    .columnType(ColumnTypeDto.DECIMAL)
+                    .size(10L)
+                    .d(0L)
+                    .isNullAllowed(true)
+                    .autoGenerated(false)
+                    .build(),
+            ViewColumnDto.builder()
+                    .id(9L)
+                    .name("Rainfall")
+                    .internalName("rainfall")
+                    .ordinalPosition(1)
+                    .columnType(ColumnTypeDto.DECIMAL)
+                    .size(10L)
+                    .d(0L)
+                    .concept(CONCEPT_1_DTO)
+                    .unit(UNIT_1_DTO)
+                    .isNullAllowed(true)
+                    .autoGenerated(false)
+                    .build(),
+            ViewColumnDto.builder()
+                    .id(10L)
+                    .name("Location")
+                    .internalName("location")
+                    .ordinalPosition(2)
+                    .columnType(ColumnTypeDto.VARCHAR)
+                    .size(255L)
+                    .isNullAllowed(true)
+                    .autoGenerated(false)
+                    .build(),
+            ViewColumnDto.builder()
+                    .id(11L)
+                    .name("Date")
+                    .internalName("date")
+                    .ordinalPosition(3)
+                    .columnType(ColumnTypeDto.DATE)
+                    .dateFormat(IMAGE_DATE_1_DTO)
+                    .isNullAllowed(true)
+                    .autoGenerated(false)
+                    .build()
     );
 
     public final static View VIEW_3 = View.builder()
@@ -5136,29 +4881,65 @@ public abstract class BaseTest {
             .createdBy(USER_1_ID)
             .build();
 
+    public final static PrivilegedViewDto VIEW_3_PRIVILEGED_DTO = PrivilegedViewDto.builder()
+            .id(VIEW_3_ID)
+            .isInitialView(VIEW_3_INITIAL_VIEW)
+            .database(null) /* DATABASE_1_PRIVILEGED_DTO */
+            .name(VIEW_3_NAME)
+            .internalName(VIEW_3_INTERNAL_NAME)
+            .vdbid(VIEW_3_DATABASE_ID)
+            .isPublic(VIEW_3_PUBLIC)
+            .createdBy(USER_1_ID)
+            .query(VIEW_3_QUERY)
+            .queryHash(VIEW_3_QUERY_HASH)
+            .columns(VIEW_3_COLUMNS_DTO)
+            .build();
+
     public final static List<ViewColumn> VIEW_3_COLUMNS = List.of(
             ViewColumn.builder()
                     .id(8L)
                     .ordinalPosition(0)
-                    .column(TABLE_1_COLUMNS.get(3))
+                    .name("MinTemp")
+                    .internalName("mintemp")
+                    .columnType(TableColumnType.DECIMAL)
+                    .size(10L)
+                    .d(0L)
+                    .isNullAllowed(true)
+                    .autoGenerated(false)
                     .view(VIEW_3)
                     .build(),
             ViewColumn.builder()
                     .id(9L)
                     .ordinalPosition(1)
-                    .column(TABLE_1_COLUMNS.get(4))
+                    .name("Rainfall")
+                    .internalName("rainfall")
+                    .columnType(TableColumnType.DECIMAL)
+                    .size(10L)
+                    .d(0L)
+                    .isNullAllowed(true)
+                    .autoGenerated(false)
                     .view(VIEW_3)
                     .build(),
             ViewColumn.builder()
                     .id(10L)
                     .ordinalPosition(2)
-                    .column(TABLE_1_COLUMNS.get(2))
+                    .name("Location")
+                    .internalName("location")
+                    .columnType(TableColumnType.VARCHAR)
+                    .size(255L)
+                    .isNullAllowed(true)
+                    .autoGenerated(false)
                     .view(VIEW_3)
                     .build(),
             ViewColumn.builder()
                     .id(11L)
                     .ordinalPosition(3)
-                    .column(TABLE_1_COLUMNS.get(1))
+                    .name("Date")
+                    .internalName("date")
+                    .columnType(TableColumnType.DATE)
+                    .dateFormat(IMAGE_DATE_1)
+                    .isNullAllowed(true)
+                    .autoGenerated(false)
                     .view(VIEW_3)
                     .build()
     );
@@ -5200,143 +4981,173 @@ public abstract class BaseTest {
     public final static String VIEW_4_QUERY = "SELECT `animal_name`, `hair`, `feathers`, `eggs`, `milk`, `airborne`, `aquatic`, `predator`, `backbone`, `breathes`, `venomous`, `fins`, `legs`, `tail`, `domestic`, `catsize`, `class_type` FROM `zoo` WHERE `class_type` = 1";
     public final static String VIEW_4_QUERY_HASH = "3561cd0bb0b0e94d6f15ae602134252a5760d09d660a71a4fb015b6991c8ba0b";
 
-    public final static List<ColumnDto> VIEW_4_COLUMNS_DTO = List.of(
-            TABLE_5_COLUMNS_DTO.get(1),
-            TABLE_5_COLUMNS_DTO.get(2),
-            TABLE_5_COLUMNS_DTO.get(3),
-            TABLE_5_COLUMNS_DTO.get(5),
-            TABLE_5_COLUMNS_DTO.get(6),
-            TABLE_5_COLUMNS_DTO.get(8),
-            TABLE_5_COLUMNS_DTO.get(10),
-            TABLE_5_COLUMNS_DTO.get(11),
-            TABLE_5_COLUMNS_DTO.get(12),
-            TABLE_5_COLUMNS_DTO.get(13),
-            TABLE_5_COLUMNS_DTO.get(14),
-            TABLE_5_COLUMNS_DTO.get(15),
-            TABLE_5_COLUMNS_DTO.get(16),
-            TABLE_5_COLUMNS_DTO.get(17),
-            TABLE_5_COLUMNS_DTO.get(18),
-            TABLE_5_COLUMNS_DTO.get(19),
-            TABLE_5_COLUMNS_DTO.get(20)
-    );
-
-    public final static View VIEW_4 = View.builder()
-            .id(VIEW_4_ID)
-            .isInitialView(VIEW_4_INITIAL_VIEW)
-            .name(VIEW_4_NAME)
-            .internalName(VIEW_4_INTERNAL_NAME)
-            .vdbid(VIEW_4_DATABASE_ID)
-            .isPublic(VIEW_4_PUBLIC)
-            .query(VIEW_4_QUERY)
-            .queryHash(VIEW_4_QUERY_HASH)
-            .createdBy(USER_1_ID)
-            .columns(null) /* VIEW_4_COLUMNS */
-            .build();
-
-    public final static List<ViewColumn> VIEW_4_COLUMNS = List.of(
-            ViewColumn.builder()
+    public final static List<ViewColumnDto> VIEW_4_COLUMNS_DTO = List.of(
+            ViewColumnDto.builder()
                     .id(12L)
                     .ordinalPosition(0)
-                    .column(TABLE_5_COLUMNS.get(1))
-                    .view(VIEW_4)
+                    .name("Animal Name")
+                    .internalName("animal_name")
+                    .columnType(ColumnTypeDto.VARCHAR)
+                    .isNullAllowed(true)
+                    .autoGenerated(false)
                     .build(),
-            ViewColumn.builder()
+            ViewColumnDto.builder()
                     .id(13L)
                     .ordinalPosition(1)
-                    .column(TABLE_5_COLUMNS.get(2))
-                    .view(VIEW_4)
+                    .name("Hair")
+                    .internalName("hair")
+                    .columnType(ColumnTypeDto.BOOL)
+                    .isNullAllowed(true)
+                    .autoGenerated(false)
                     .build(),
-            ViewColumn.builder()
+            ViewColumnDto.builder()
                     .id(14L)
                     .ordinalPosition(2)
-                    .column(TABLE_5_COLUMNS.get(3))
-                    .view(VIEW_4)
+                    .name("Feathers")
+                    .internalName("feathers")
+                    .columnType(ColumnTypeDto.BOOL)
+                    .isNullAllowed(true)
+                    .autoGenerated(false)
                     .build(),
-            ViewColumn.builder()
+            ViewColumnDto.builder()
                     .id(15L)
                     .ordinalPosition(3)
-                    .column(TABLE_5_COLUMNS.get(5))
-                    .view(VIEW_4)
+                    .name("Eggs")
+                    .internalName("eggs")
+                    .columnType(ColumnTypeDto.BOOL)
+                    .isNullAllowed(true)
+                    .autoGenerated(false)
                     .build(),
-            ViewColumn.builder()
+            ViewColumnDto.builder()
                     .id(16L)
                     .ordinalPosition(4)
-                    .column(TABLE_5_COLUMNS.get(6))
-                    .view(VIEW_4)
+                    .name("Milk")
+                    .internalName("milk")
+                    .columnType(ColumnTypeDto.BOOL)
+                    .isNullAllowed(true)
+                    .autoGenerated(false)
                     .build(),
-            ViewColumn.builder()
+            ViewColumnDto.builder()
                     .id(17L)
                     .ordinalPosition(5)
-                    .column(TABLE_5_COLUMNS.get(8))
-                    .view(VIEW_4)
+                    .name("Airborne")
+                    .internalName("airborne")
+                    .columnType(ColumnTypeDto.BOOL)
+                    .isNullAllowed(true)
+                    .autoGenerated(false)
                     .build(),
-            ViewColumn.builder()
+            ViewColumnDto.builder()
                     .id(18L)
                     .ordinalPosition(6)
-                    .column(TABLE_5_COLUMNS.get(10))
-                    .view(VIEW_4)
+                    .name("Aquantic")
+                    .internalName("aquantic")
+                    .columnType(ColumnTypeDto.BOOL)
+                    .isNullAllowed(true)
+                    .autoGenerated(false)
                     .build(),
-            ViewColumn.builder()
+            ViewColumnDto.builder()
                     .id(19L)
                     .ordinalPosition(7)
-                    .column(TABLE_5_COLUMNS.get(11))
-                    .view(VIEW_4)
+                    .name("Predator")
+                    .internalName("predator")
+                    .columnType(ColumnTypeDto.BOOL)
+                    .isNullAllowed(true)
+                    .autoGenerated(false)
                     .build(),
-            ViewColumn.builder()
+            ViewColumnDto.builder()
                     .id(20L)
                     .ordinalPosition(8)
-                    .column(TABLE_5_COLUMNS.get(12))
-                    .view(VIEW_4)
+                    .name("Backbone")
+                    .internalName("backbone")
+                    .columnType(ColumnTypeDto.BOOL)
+                    .isNullAllowed(true)
+                    .autoGenerated(false)
                     .build(),
-            ViewColumn.builder()
+            ViewColumnDto.builder()
                     .id(21L)
                     .ordinalPosition(9)
-                    .column(TABLE_5_COLUMNS.get(13))
-                    .view(VIEW_4)
+                    .name("Breathes")
+                    .internalName("breathes")
+                    .columnType(ColumnTypeDto.BOOL)
+                    .isNullAllowed(true)
+                    .autoGenerated(false)
                     .build(),
-            ViewColumn.builder()
+            ViewColumnDto.builder()
                     .id(22L)
                     .ordinalPosition(10)
-                    .column(TABLE_5_COLUMNS.get(14))
-                    .view(VIEW_4)
+                    .name("Venomous")
+                    .internalName("venomous")
+                    .columnType(ColumnTypeDto.BOOL)
+                    .isNullAllowed(true)
+                    .autoGenerated(false)
                     .build(),
-            ViewColumn.builder()
+            ViewColumnDto.builder()
                     .id(23L)
                     .ordinalPosition(11)
-                    .column(TABLE_5_COLUMNS.get(15))
-                    .view(VIEW_4)
+                    .name("Fin")
+                    .internalName("fin")
+                    .columnType(ColumnTypeDto.BOOL)
+                    .isNullAllowed(true)
+                    .autoGenerated(false)
                     .build(),
-            ViewColumn.builder()
+            ViewColumnDto.builder()
                     .id(24L)
                     .ordinalPosition(12)
-                    .column(TABLE_5_COLUMNS.get(16))
-                    .view(VIEW_4)
+                    .name("Legs")
+                    .internalName("legs")
+                    .columnType(ColumnTypeDto.INT)
+                    .isNullAllowed(true)
+                    .autoGenerated(false)
                     .build(),
-            ViewColumn.builder()
+            ViewColumnDto.builder()
                     .id(25L)
                     .ordinalPosition(13)
-                    .column(TABLE_5_COLUMNS.get(17))
-                    .view(VIEW_4)
+                    .name("Tail")
+                    .internalName("tail")
+                    .columnType(ColumnTypeDto.DECIMAL)
+                    .isNullAllowed(true)
+                    .autoGenerated(false)
                     .build(),
-            ViewColumn.builder()
+            ViewColumnDto.builder()
                     .id(26L)
                     .ordinalPosition(14)
-                    .column(TABLE_5_COLUMNS.get(18))
-                    .view(VIEW_4)
+                    .name("Domestic")
+                    .internalName("domestic")
+                    .columnType(ColumnTypeDto.BOOL)
+                    .isNullAllowed(true)
+                    .autoGenerated(false)
                     .build(),
-            ViewColumn.builder()
+            ViewColumnDto.builder()
                     .id(27L)
                     .ordinalPosition(15)
-                    .column(TABLE_5_COLUMNS.get(19))
-                    .view(VIEW_4)
+                    .name("Catsize")
+                    .internalName("catsize")
+                    .columnType(ColumnTypeDto.BOOL)
+                    .isNullAllowed(true)
+                    .autoGenerated(false)
                     .build(),
-            ViewColumn.builder()
+            ViewColumnDto.builder()
                     .id(28L)
                     .ordinalPosition(16)
-                    .column(TABLE_5_COLUMNS.get(20))
-                    .view(VIEW_4)
-                    .build()
-    );
+                    .name("Class Type")
+                    .internalName("class_type")
+                    .columnType(ColumnTypeDto.DECIMAL)
+                    .isNullAllowed(true)
+                    .autoGenerated(false)
+                    .build());
+
+    public final static View VIEW_4 = View.builder()
+            .id(VIEW_4_ID)
+            .isInitialView(VIEW_4_INITIAL_VIEW)
+            .name(VIEW_4_NAME)
+            .internalName(VIEW_4_INTERNAL_NAME)
+            .vdbid(VIEW_4_DATABASE_ID)
+            .isPublic(VIEW_4_PUBLIC)
+            .query(VIEW_4_QUERY)
+            .queryHash(VIEW_4_QUERY_HASH)
+            .createdBy(USER_1_ID)
+            .columns(null) /* VIEW_4_COLUMNS */
+            .build();
 
     public final static ViewDto VIEW_4_DTO = ViewDto.builder()
             .id(VIEW_4_ID)
@@ -5391,19 +5202,39 @@ public abstract class BaseTest {
             ViewColumn.builder()
                     .id(29L)
                     .ordinalPosition(0)
-                    .column(TABLE_2_COLUMNS.get(0))
+                    .name("location")
+                    .internalName("location")
+                    .ordinalPosition(0)
+                    .columnType(TableColumnType.VARCHAR)
+                    .size(255L)
+                    .isNullAllowed(false)
+                    .autoGenerated(false)
                     .view(VIEW_5)
                     .build(),
             ViewColumn.builder()
                     .id(30L)
                     .ordinalPosition(1)
-                    .column(TABLE_2_COLUMNS.get(1))
+                    .name("lat")
+                    .internalName("lat")
+                    .ordinalPosition(1)
+                    .columnType(TableColumnType.DECIMAL)
+                    .size(10L)
+                    .d(0L)
+                    .isNullAllowed(true)
+                    .autoGenerated(false)
                     .view(VIEW_5)
                     .build(),
             ViewColumn.builder()
                     .id(31L)
                     .ordinalPosition(2)
-                    .column(TABLE_2_COLUMNS.get(2))
+                    .name("lng")
+                    .internalName("lng")
+                    .ordinalPosition(2)
+                    .columnType(TableColumnType.DECIMAL)
+                    .size(10L)
+                    .d(0L)
+                    .isNullAllowed(true)
+                    .autoGenerated(false)
                     .view(VIEW_5)
                     .build());
 
@@ -7411,4 +7242,285 @@ public abstract class BaseTest {
             .huserid(USER_3_ID)
             .build();
 
+    public final static Constraints TABLE_1_CONSTRAINTS = Constraints.builder()
+            .checks(new LinkedHashSet<>())
+            .foreignKeys(new LinkedList<>())
+            .uniques(new LinkedList<>())
+            .primaryKey(new LinkedList<>(List.of(PrimaryKey.builder()
+                    .table(TABLE_1)
+                    .column(TABLE_1_COLUMNS.get(0))
+                    .pkid(1L)
+                    .build())))
+            .build();
+
+    public final static ConstraintsDto TABLE_1_CONSTRAINTS_DTO = ConstraintsDto.builder()
+            .checks(new LinkedHashSet<>())
+            .foreignKeys(new LinkedList<>())
+            .uniques(new LinkedList<>())
+            .primaryKey(new LinkedHashSet<>(Set.of(PrimaryKeyDto.builder()
+                    .table(TABLE_1_BRIEF_DTO)
+                    .column(TABLE_1_COLUMNS_DTO.get(0))
+                    .pkid(1L)
+                    .build())))
+            .build();
+
+    public final static Constraints TABLE_2_CONSTRAINTS = Constraints.builder()
+            .checks(new LinkedHashSet<>(List.of("`mintemp` > 0")))
+            .foreignKeys(new LinkedList<>(List.of(ForeignKey.builder()
+                    .name("fk_location")
+                    .onDelete(ReferenceType.NO_ACTION)
+                    .references(new LinkedList<>(List.of(ForeignKeyReference.builder()
+                            .id(1L)
+                            .column(TABLE_2_COLUMNS.get(2))
+                            .referencedColumn(TABLE_1_COLUMNS.get(0))
+                            .foreignKey(null) // set later
+                            .build())))
+                    .table(TABLE_1)
+                    .referencedTable(TABLE_2)
+                    .onUpdate(ReferenceType.NO_ACTION)
+                    .build())))
+            .uniques(new LinkedList<>(List.of(Unique.builder()
+                    .uid(1L)
+                    .table(TABLE_2)
+                    .name("uk_1")
+                    .columns(new LinkedList<>(List.of(TABLE_2_COLUMNS.get(1))))
+                    .build())))
+            .primaryKey(new LinkedList<>(List.of(PrimaryKey.builder()
+                    .table(TABLE_2)
+                    .column(TABLE_2_COLUMNS.get(0))
+                    .pkid(2L)
+                    .build())))
+            .build();
+
+    public final static ConstraintsDto TABLE_2_CONSTRAINTS_DTO = ConstraintsDto.builder()
+            .checks(new LinkedHashSet<>(List.of("`mintemp` > 0")))
+            .foreignKeys(new LinkedList<>(List.of(ForeignKeyDto.builder()
+                    .name("fk_location")
+                    .onDelete(ReferenceTypeDto.NO_ACTION)
+                    .references(new LinkedList<>(List.of(ForeignKeyReferenceDto.builder()
+                            .id(1L)
+                            .column(TABLE_2_COLUMNS_DTO.get(2))
+                            .referencedColumn(TABLE_1_COLUMNS_DTO.get(0))
+                            .foreignKey(null) // set later
+                            .build())))
+                    .table(TABLE_1_DTO)
+                    .referencedTable(TABLE_2_DTO)
+                    .onUpdate(ReferenceTypeDto.NO_ACTION)
+                    .build())))
+            .uniques(new LinkedList<>(List.of(UniqueDto.builder()
+                    .uid(1L)
+                    .table(TABLE_2_BRIEF_DTO)
+                    .name("uk_1")
+                    .columns(new LinkedList<>(List.of(TABLE_2_COLUMNS_DTO.get(1))))
+                    .build())))
+            .primaryKey(new LinkedHashSet<>(Set.of(PrimaryKeyDto.builder()
+                    .table(TABLE_2_BRIEF_DTO)
+                    .column(TABLE_2_COLUMNS_DTO.get(0))
+                    .pkid(2L)
+                    .build())))
+            .build();
+
+    public final static Constraints TABLE_3_CONSTRAINTS = Constraints.builder()
+            .checks(new LinkedHashSet<>())
+            .foreignKeys(new LinkedList<>())
+            .uniques(new LinkedList<>())
+            .primaryKey(new LinkedList<>(List.of(PrimaryKey.builder()
+                    .table(TABLE_3)
+                    .column(TABLE_3_COLUMNS.get(0))
+                    .pkid(3L)
+                    .build())))
+            .build();
+
+    public final static ConstraintsDto TABLE_3_CONSTRAINTS_DTO = ConstraintsDto.builder()
+            .checks(new LinkedHashSet<>())
+            .foreignKeys(new LinkedList<>())
+            .uniques(new LinkedList<>())
+            .primaryKey(new LinkedHashSet<>(Set.of(PrimaryKeyDto.builder()
+                    .table(TABLE_3_BRIEF_DTO)
+                    .column(TABLE_3_COLUMNS_DTO.get(0))
+                    .pkid(3L)
+                    .build())))
+            .build();
+
+    public final static Constraints TABLE_4_CONSTRAINTS = Constraints.builder()
+            .checks(new LinkedHashSet<>())
+            .foreignKeys(new LinkedList<>())
+            .uniques(new LinkedList<>())
+            .primaryKey(new LinkedList<>(List.of(PrimaryKey.builder()
+                    .table(TABLE_4)
+                    .column(TABLE_4_COLUMNS.get(0))
+                    .pkid(4L)
+                    .build())))
+            .build();
+
+    public final static ConstraintsDto TABLE_4_CONSTRAINTS_DTO = ConstraintsDto.builder()
+            .checks(new LinkedHashSet<>())
+            .foreignKeys(new LinkedList<>())
+            .uniques(new LinkedList<>())
+            .primaryKey(new LinkedHashSet<>(Set.of(PrimaryKeyDto.builder()
+                    .table(TABLE_4_BRIEF_DTO)
+                    .column(TABLE_4_COLUMNS_DTO.get(0))
+                    .pkid(4L)
+                    .build())))
+            .build();
+
+    public final static Constraints TABLE_5_CONSTRAINTS = Constraints.builder()
+            .checks(new LinkedHashSet<>())
+            .foreignKeys(new LinkedList<>())
+            .uniques(new LinkedList<>())
+            .primaryKey(new LinkedList<>(List.of(PrimaryKey.builder()
+                    .table(TABLE_5)
+                    .column(TABLE_5_COLUMNS.get(0))
+                    .pkid(5L)
+                    .build())))
+            .build();
+
+    public final static ConstraintsDto TABLE_5_CONSTRAINTS_DTO = ConstraintsDto.builder()
+            .checks(new LinkedHashSet<>())
+            .foreignKeys(new LinkedList<>())
+            .uniques(new LinkedList<>())
+            .primaryKey(new LinkedHashSet<>(Set.of(PrimaryKeyDto.builder()
+                    .table(TABLE_5_BRIEF_DTO)
+                    .column(TABLE_5_COLUMNS_DTO.get(0))
+                    .pkid(5L)
+                    .build())))
+            .build();
+
+    public final static Constraints TABLE_6_CONSTRAINTS = Constraints.builder()
+            .checks(new LinkedHashSet<>())
+            .foreignKeys(new LinkedList<>(List.of()))
+            .uniques(new LinkedList<>())
+            .primaryKey(new LinkedList<>(List.of(PrimaryKey.builder()
+                    .table(TABLE_6)
+                    .column(TABLE_6_COLUMNS.get(0))
+                    .pkid(6L)
+                    .build())))
+            .build();
+
+    public final static ConstraintsDto TABLE_6_CONSTRAINTS_DTO = ConstraintsDto.builder()
+            .checks(new LinkedHashSet<>())
+            .foreignKeys(new LinkedList<>())
+            .uniques(new LinkedList<>())
+            .primaryKey(new LinkedHashSet<>(Set.of(PrimaryKeyDto.builder()
+                    .table(TABLE_6_BRIEF_DTO)
+                    .column(TABLE_6_COLUMNS_DTO.get(0))
+                    .pkid(6L)
+                    .build())))
+            .build();
+
+    public final static Constraints TABLE_7_CONSTRAINTS = Constraints.builder()
+            .checks(new LinkedHashSet<>())
+            .foreignKeys(new LinkedList<>(List.of(ForeignKey.builder()
+                            .name("fk_name_id")
+                            .onDelete(ReferenceType.NO_ACTION)
+                            .references(new LinkedList<>(List.of(ForeignKeyReference.builder()
+                                    .id(2L)
+                                    .column(TABLE_6_COLUMNS.get(0))
+                                    .referencedColumn(TABLE_7_COLUMNS.get(0))
+                                    .foreignKey(null) // set later
+                                    .build())))
+                            .table(TABLE_7)
+                            .referencedTable(TABLE_6)
+                            .onUpdate(ReferenceType.NO_ACTION)
+                            .build(),
+                    ForeignKey.builder()
+                            .name("fk_zoo_id")
+                            .onDelete(ReferenceType.NO_ACTION)
+                            .references(new LinkedList<>(List.of(ForeignKeyReference.builder()
+                                    .id(3L)
+                                    .column(TABLE_5_COLUMNS.get(0))
+                                    .referencedColumn(TABLE_7_COLUMNS.get(1))
+                                    .foreignKey(null) // set later
+                                    .build())))
+                            .table(TABLE_7)
+                            .referencedTable(TABLE_5)
+                            .onUpdate(ReferenceType.NO_ACTION)
+                            .build())))
+            .uniques(new LinkedList<>())
+            .primaryKey(new LinkedList<>(List.of(PrimaryKey.builder()
+                    .table(TABLE_7)
+                    .column(TABLE_7_COLUMNS.get(0))
+                    .pkid(7L)
+                    .build())))
+            .build();
+
+    public final static ConstraintsDto TABLE_7_CONSTRAINTS_DTO = ConstraintsDto.builder()
+            .checks(new LinkedHashSet<>())
+            .foreignKeys(new LinkedList<>(List.of(ForeignKeyDto.builder()
+                            .name("fk_name_id")
+                            .onDelete(ReferenceTypeDto.NO_ACTION)
+                            .references(new LinkedList<>(List.of(ForeignKeyReferenceDto.builder()
+                                    .id(2L)
+                                    .column(TABLE_6_COLUMNS_DTO.get(0))
+                                    .referencedColumn(TABLE_7_COLUMNS_DTO.get(0))
+                                    .foreignKey(null) // set later
+                                    .build())))
+                            .table(TABLE_7_DTO)
+                            .referencedTable(TABLE_6_DTO)
+                            .onUpdate(ReferenceTypeDto.NO_ACTION)
+                            .build(),
+                    ForeignKeyDto.builder()
+                            .name("fk_zoo_id")
+                            .onDelete(ReferenceTypeDto.NO_ACTION)
+                            .references(new LinkedList<>(List.of(ForeignKeyReferenceDto.builder()
+                                    .id(3L)
+                                    .column(TABLE_5_COLUMNS_DTO.get(0))
+                                    .referencedColumn(TABLE_7_COLUMNS_DTO.get(1))
+                                    .foreignKey(null) // set later
+                                    .build())))
+                            .table(TABLE_7_DTO)
+                            .referencedTable(TABLE_5_DTO)
+                            .onUpdate(ReferenceTypeDto.NO_ACTION)
+                            .build())))
+            .uniques(new LinkedList<>())
+            .primaryKey(new LinkedHashSet<>(Set.of(PrimaryKeyDto.builder()
+                    .table(TABLE_7_BRIEF_DTO)
+                    .column(TABLE_7_COLUMNS_DTO.get(0))
+                    .pkid(7L)
+                    .build())))
+            .build();
+
+    public final static Constraints TABLE_8_CONSTRAINTS = Constraints.builder()
+            .checks(new LinkedHashSet<>())
+            .foreignKeys(new LinkedList<>())
+            .uniques(new LinkedList<>())
+            .primaryKey(new LinkedList<>(List.of(PrimaryKey.builder()
+                    .table(TABLE_8)
+                    .column(TABLE_8_COLUMNS.get(0))
+                    .pkid(8L)
+                    .build())))
+            .build();
+
+    public final static ConstraintsDto TABLE_8_CONSTRAINTS_DTO = ConstraintsDto.builder()
+            .checks(new LinkedHashSet<>())
+            .foreignKeys(new LinkedList<>())
+            .uniques(new LinkedList<>())
+            .primaryKey(new LinkedHashSet<>(Set.of(PrimaryKeyDto.builder()
+                    .table(TABLE_8_BRIEF_DTO)
+                    .column(TABLE_8_COLUMNS_DTO.get(0))
+                    .pkid(8L)
+                    .build())))
+            .build();
+
+    public static void saveObservedMetrics(Map<String, String> observedMetrics) throws IOException {
+        final int keySize = observedMetrics.keySet().stream().max(Comparator.comparingInt(String::length)).get().length();
+        final int valueSize = observedMetrics.values().stream().max(Comparator.comparingInt(String::length)).get().length();
+        final StringBuilder content = new StringBuilder("| ")
+                .append(StringUtils.rightPad("**Metric**", Integer.max(keySize + 2, 16)))
+                .append(" | ")
+                .append(StringUtils.rightPad("**Description**", Integer.max(valueSize, 19)))
+                .append(" |\n")
+                .append("|-")
+                .append(StringUtils.leftPad("", Integer.max(keySize + 2, 16), "-"))
+                .append("-|-")
+                .append(StringUtils.leftPad("", Integer.max(valueSize, 19), "-"))
+                .append("-|\n");
+        observedMetrics.forEach((key, value) -> content.append("| ")
+                .append(StringUtils.rightPad("`" + key + "`", Integer.max(keySize + 2, 16)))
+                .append(" | ")
+                .append(StringUtils.rightPad(value, Integer.max(valueSize, 19)))
+                .append(" |\n"));
+        FileUtils.writeStringToFile(new File("../metrics.md"), content.toString(), Charset.defaultCharset());
+    }
+
 }
diff --git a/dbrepo-search-service/Pipfile b/dbrepo-search-service/Pipfile
index a38e8cdd41..3daa275b49 100644
--- a/dbrepo-search-service/Pipfile
+++ b/dbrepo-search-service/Pipfile
@@ -18,7 +18,7 @@ jwt = "~=1.3"
 testcontainers-opensearch = "*"
 pytest = "*"
 rdflib = "*"
-dbrepo = {path = "./lib/dbrepo-1.4.3.tar.gz"}
+dbrepo = {path = "./lib/dbrepo-1.4.4.tar.gz"}
 gunicorn = "*"
 
 [dev-packages]
diff --git a/dbrepo-search-service/Pipfile.lock b/dbrepo-search-service/Pipfile.lock
index b2d114395b..1c60362635 100644
--- a/dbrepo-search-service/Pipfile.lock
+++ b/dbrepo-search-service/Pipfile.lock
@@ -1,7 +1,7 @@
 {
     "_meta": {
         "hash": {
-            "sha256": "433f88ce7dc4c6ef81f97d831edbf5a111df0974ba884fed63847c72925a28d9"
+            "sha256": "ece384cd1606901f3d2575f082692a5d5ce3164b4ba5187fc4b457757d3b0fce"
         },
         "pipfile-spec": 6,
         "requires": {
@@ -108,11 +108,11 @@
         },
         "annotated-types": {
             "hashes": [
-                "sha256:0641064de18ba7a25dee8f96403ebc39113d0cb953a01429249d5c7564666a43",
-                "sha256:563339e807e53ffd9c267e99fc6d9ea23eb8443c08f112651963e24e22f84a5d"
+                "sha256:1f02e8b43a8fbbc3f3e0d4f0f4bfc8131bcb4eebe8849b8e5c773f3a1c582a53",
+                "sha256:aff07c09a53a08bc8cfccb9c85b05f1aa9a2a6f23728d790723543408344ce89"
             ],
             "markers": "python_version >= '3.8'",
-            "version": "==0.6.0"
+            "version": "==0.7.0"
         },
         "attrs": {
             "hashes": [
@@ -340,18 +340,18 @@
         },
         "dbrepo": {
             "hashes": [
-                "sha256:ea77f1bbd4fc79b56f59d5fbc55985de95be562c90da24d7b069ef629459c596"
+                "sha256:ceab260cf76c050e118ce0f0589fec66059396751e03f2ec41fa489cfacc4e7b"
             ],
-            "path": "./lib/dbrepo-1.4.3.tar.gz",
-            "version": "==1.4.3"
+            "path": "./lib/dbrepo-1.4.4.tar.gz",
+            "version": "==1.4.4"
         },
         "docker": {
             "hashes": [
-                "sha256:12ba681f2777a0ad28ffbcc846a69c31b4dfd9752b47eb425a274ee269c5e14b",
-                "sha256:323736fb92cd9418fc5e7133bc953e11a9da04f4483f828b527db553f1e7e5a3"
+                "sha256:ad8c70e6e3f8926cb8a92619b832b4ea5299e2831c14284663184e200546fa6c",
+                "sha256:c96b93b7f0a746f9e77d325bcfb87422a3d8bd4f03136ae8a85b37f1898d5fc0"
             ],
             "markers": "python_version >= '3.8'",
-            "version": "==7.0.0"
+            "version": "==7.1.0"
         },
         "flasgger": {
             "hashes": [
@@ -1031,11 +1031,11 @@
         },
         "pytest": {
             "hashes": [
-                "sha256:1733f0620f6cda4095bbf0d9ff8022486e91892245bb9e7d5542c018f612f233",
-                "sha256:d507d4482197eac0ba2bae2e9babf0672eb333017bcedaa5fb1a3d42c1174b3f"
+                "sha256:5046e5b46d8e4cac199c373041f26be56fdb81eb4e67dc11d4e10811fc3408fd",
+                "sha256:faccc5d332b8c3719f40283d0d44aa5cf101cec36f88cde9ed8f2bc0538612b1"
             ],
             "index": "pypi",
-            "version": "==8.2.0"
+            "version": "==8.2.1"
         },
         "python-dateutil": {
             "hashes": [
@@ -1135,11 +1135,11 @@
         },
         "requests": {
             "hashes": [
-                "sha256:58cd2187c01e70e6e26505bca751777aa9f2ee0b7f4300988b709f44e013003f",
-                "sha256:942c5a758f98d790eaed1a29cb6eefc7ffb0d1cf7af05c3d2791656dbd6ad1e1"
+                "sha256:dd951ff5ecf3e3b3aa26b40703ba77495dab41da839ae72ef3c8e5d8e2433289",
+                "sha256:fc06670dd0ed212426dfeb94fc1b983d917c4f9847c863f313c9dfaaffb7c23c"
             ],
-            "markers": "python_version >= '3.7'",
-            "version": "==2.31.0"
+            "markers": "python_version >= '3.8'",
+            "version": "==2.32.2"
         },
         "rpds-py": {
             "hashes": [
@@ -1349,11 +1349,11 @@
         },
         "typing-extensions": {
             "hashes": [
-                "sha256:83f085bd5ca59c80295fc2a82ab5dac679cbe02b9f33f7d83af68e241bea51b0",
-                "sha256:c1f94d72897edaf4ce775bb7558d5b79d8126906a14ea5ed1635921406c0387a"
+                "sha256:8cbcdc8606ebcb0d95453ad7dc5065e6237b6aa230a31e81d0f440c30fed5fd8",
+                "sha256:b349c66bea9016ac22978d800cfff206d5f9816951f12a7d0ec5578b0a819594"
             ],
             "markers": "python_version >= '3.8'",
-            "version": "==4.11.0"
+            "version": "==4.12.0"
         },
         "tzdata": {
             "hashes": [
@@ -1555,61 +1555,61 @@
     "develop": {
         "coverage": {
             "hashes": [
-                "sha256:0646599e9b139988b63704d704af8e8df7fa4cbc4a1f33df69d97f36cb0a38de",
-                "sha256:0cdcbc320b14c3e5877ee79e649677cb7d89ef588852e9583e6b24c2e5072661",
-                "sha256:0d0a0f5e06881ecedfe6f3dd2f56dcb057b6dbeb3327fd32d4b12854df36bf26",
-                "sha256:1434e088b41594baa71188a17533083eabf5609e8e72f16ce8c186001e6b8c41",
-                "sha256:16db7f26000a07efcf6aea00316f6ac57e7d9a96501e990a36f40c965ec7a95d",
-                "sha256:1cc0fe9b0b3a8364093c53b0b4c0c2dd4bb23acbec4c9240b5f284095ccf7981",
-                "sha256:1fc81d5878cd6274ce971e0a3a18a8803c3fe25457165314271cf78e3aae3aa2",
-                "sha256:2ec92012fefebee89a6b9c79bc39051a6cb3891d562b9270ab10ecfdadbc0c34",
-                "sha256:39afcd3d4339329c5f58de48a52f6e4e50f6578dd6099961cf22228feb25f38f",
-                "sha256:4a7b0ceee8147444347da6a66be737c9d78f3353b0681715b668b72e79203e4a",
-                "sha256:4a9ca3f2fae0088c3c71d743d85404cec8df9be818a005ea065495bedc33da35",
-                "sha256:4bf0655ab60d754491004a5efd7f9cccefcc1081a74c9ef2da4735d6ee4a6223",
-                "sha256:4cc37def103a2725bc672f84bd939a6fe4522310503207aae4d56351644682f1",
-                "sha256:4fc84a37bfd98db31beae3c2748811a3fa72bf2007ff7902f68746d9757f3746",
-                "sha256:5037f8fcc2a95b1f0e80585bd9d1ec31068a9bcb157d9750a172836e98bc7a90",
-                "sha256:54de9ef3a9da981f7af93eafde4ede199e0846cd819eb27c88e2b712aae9708c",
-                "sha256:556cf1a7cbc8028cb60e1ff0be806be2eded2daf8129b8811c63e2b9a6c43bca",
-                "sha256:57e0204b5b745594e5bc14b9b50006da722827f0b8c776949f1135677e88d0b8",
-                "sha256:5a5740d1fb60ddf268a3811bcd353de34eb56dc24e8f52a7f05ee513b2d4f596",
-                "sha256:5c3721c2c9e4c4953a41a26c14f4cef64330392a6d2d675c8b1db3b645e31f0e",
-                "sha256:5fa567e99765fe98f4e7d7394ce623e794d7cabb170f2ca2ac5a4174437e90dd",
-                "sha256:5fd215c0c7d7aab005221608a3c2b46f58c0285a819565887ee0b718c052aa4e",
-                "sha256:6175d1a0559986c6ee3f7fccfc4a90ecd12ba0a383dcc2da30c2b9918d67d8a3",
-                "sha256:61c4bf1ba021817de12b813338c9be9f0ad5b1e781b9b340a6d29fc13e7c1b5e",
-                "sha256:6537e7c10cc47c595828b8a8be04c72144725c383c4702703ff4e42e44577312",
-                "sha256:68f962d9b72ce69ea8621f57551b2fa9c70509af757ee3b8105d4f51b92b41a7",
-                "sha256:7352b9161b33fd0b643ccd1f21f3a3908daaddf414f1c6cb9d3a2fd618bf2572",
-                "sha256:796a79f63eca8814ca3317a1ea443645c9ff0d18b188de470ed7ccd45ae79428",
-                "sha256:79afb6197e2f7f60c4824dd4b2d4c2ec5801ceb6ba9ce5d2c3080e5660d51a4f",
-                "sha256:7a588d39e0925f6a2bff87154752481273cdb1736270642aeb3635cb9b4cad07",
-                "sha256:8748731ad392d736cc9ccac03c9845b13bb07d020a33423fa5b3a36521ac6e4e",
-                "sha256:8fe7502616b67b234482c3ce276ff26f39ffe88adca2acf0261df4b8454668b4",
-                "sha256:9314d5678dcc665330df5b69c1e726a0e49b27df0461c08ca12674bcc19ef136",
-                "sha256:9735317685ba6ec7e3754798c8871c2f49aa5e687cc794a0b1d284b2389d1bd5",
-                "sha256:9981706d300c18d8b220995ad22627647be11a4276721c10911e0e9fa44c83e8",
-                "sha256:9e78295f4144f9dacfed4f92935fbe1780021247c2fabf73a819b17f0ccfff8d",
-                "sha256:b016ea6b959d3b9556cb401c55a37547135a587db0115635a443b2ce8f1c7228",
-                "sha256:b6cf3764c030e5338e7f61f95bd21147963cf6aa16e09d2f74f1fa52013c1206",
-                "sha256:beccf7b8a10b09c4ae543582c1319c6df47d78fd732f854ac68d518ee1fb97fa",
-                "sha256:c0884920835a033b78d1c73b6d3bbcda8161a900f38a488829a83982925f6c2e",
-                "sha256:c3e757949f268364b96ca894b4c342b41dc6f8f8b66c37878aacef5930db61be",
-                "sha256:ca498687ca46a62ae590253fba634a1fe9836bc56f626852fb2720f334c9e4e5",
-                "sha256:d1d0d98d95dd18fe29dc66808e1accf59f037d5716f86a501fc0256455219668",
-                "sha256:d21918e9ef11edf36764b93101e2ae8cc82aa5efdc7c5a4e9c6c35a48496d601",
-                "sha256:d7fed867ee50edf1a0b4a11e8e5d0895150e572af1cd6d315d557758bfa9c057",
-                "sha256:db66fc317a046556a96b453a58eced5024af4582a8dbdc0c23ca4dbc0d5b3146",
-                "sha256:dde0070c40ea8bb3641e811c1cfbf18e265d024deff6de52c5950677a8fb1e0f",
-                "sha256:df4e745a81c110e7446b1cc8131bf986157770fa405fe90e15e850aaf7619bc8",
-                "sha256:e2213def81a50519d7cc56ed643c9e93e0247f5bbe0d1247d15fa520814a7cd7",
-                "sha256:ef48e2707fb320c8f139424a596f5b69955a85b178f15af261bab871873bb987",
-                "sha256:f152cbf5b88aaeb836127d920dd0f5e7edff5a66f10c079157306c4343d86c19",
-                "sha256:fc0b4d8bfeabd25ea75e94632f5b6e047eef8adaed0c2161ada1e922e7f7cece"
+                "sha256:06d96b9b19bbe7f049c2be3c4f9e06737ec6d8ef8933c7c3a4c557ef07936e46",
+                "sha256:13017a63b0e499c59b5ba94a8542fb62864ba3016127d1e4ef30d354fc2b00e9",
+                "sha256:1acc2e2ef098a1d4bf535758085f508097316d738101a97c3f996bccba963ea5",
+                "sha256:1aef719b6559b521ae913ddeb38f5048c6d1a3d366865e8b320270b7bc4693c2",
+                "sha256:1e4225990a87df898e40ca31c9e830c15c2c53b1d33df592bc8ef314d71f0281",
+                "sha256:1f11f98753800eb1ec872562a398081f6695f91cd01ce39819e36621003ec52a",
+                "sha256:1f29bf497d51a5077994b265e976d78b09d9d0dff6ca5763dbb4804534a5d380",
+                "sha256:1f96aa94739593ae0707eda9813ce363a0a0374a810ae0eced383340fc4a1f73",
+                "sha256:20e611fc36e1a0fc7bbf957ef9c635c8807d71fbe5643e51b2769b3cc0fb0b51",
+                "sha256:23f2f16958b16152b43a39a5ecf4705757ddd284b3b17a77da3a62aef9c057ef",
+                "sha256:24bb4c7859a3f757a116521d4d3a8a82befad56ea1bdacd17d6aafd113b0071e",
+                "sha256:26716a1118c6ce2188283b4b60a898c3be29b480acbd0a91446ced4fe4e780d8",
+                "sha256:29da75ce20cb0a26d60e22658dd3230713c6c05a3465dd8ad040ffc991aea318",
+                "sha256:2b144d142ec9987276aeff1326edbc0df8ba4afbd7232f0ca10ad57a115e95b6",
+                "sha256:2c79f058e7bec26b5295d53b8c39ecb623448c74ccc8378631f5cb5c16a7e02c",
+                "sha256:3bb5b92a0ab3d22dfdbfe845e2fef92717b067bdf41a5b68c7e3e857c0cff1a4",
+                "sha256:3d3f7744b8a8079d69af69d512e5abed4fb473057625588ce126088e50d05493",
+                "sha256:3d9c62cff2ffb4c2a95328488fd7aa96a7a4b34873150650fe76b19c08c9c792",
+                "sha256:3e12536446ad4527ac8ed91d8a607813085683bcce27af69e3b31cd72b3c5960",
+                "sha256:40dbb8e7727560fe8ab65efcddfec1ae25f30ef02e2f2e5d78cfb52a66781ec5",
+                "sha256:431a3917e32223fcdb90b79fe60185864a9109631ebc05f6c5aa03781a00b513",
+                "sha256:448ec61ea9ea7916d5579939362509145caaecf03161f6f13e366aebb692a631",
+                "sha256:482df956b055d3009d10fce81af6ffab28215d7ed6ad4a15e5c8e67cb7c5251c",
+                "sha256:4a00bd5ba8f1a4114720bef283cf31583d6cb1c510ce890a6da6c4268f0070b7",
+                "sha256:51b6cee539168a912b4b3b040e4042b9e2c9a7ad9c8546c09e4eaeff3eacba6b",
+                "sha256:554c7327bf0fd688050348e22db7c8e163fb7219f3ecdd4732d7ed606b417263",
+                "sha256:5662bf0f6fb6757f5c2d6279c541a5af55a39772c2362ed0920b27e3ce0e21f7",
+                "sha256:5997d418c219dcd4dcba64e50671cca849aaf0dac3d7a2eeeb7d651a5bd735b8",
+                "sha256:59a75e6aa5c25b50b5a1499f9718f2edff54257f545718c4fb100f48d570ead4",
+                "sha256:60b66b0363c5a2a79fba3d1cd7430c25bbd92c923d031cae906bdcb6e054d9a2",
+                "sha256:6e34680049eecb30b6498784c9637c1c74277dcb1db75649a152f8004fbd6646",
+                "sha256:74eeaa13e8200ad72fca9c5f37395fb310915cec6f1682b21375e84fd9770e84",
+                "sha256:7c5c5b7ae2763533152880d5b5b451acbc1089ade2336b710a24b2b0f5239d20",
+                "sha256:829fb55ad437d757c70d5b1c51cfda9377f31506a0a3f3ac282bc6a387d6a5f1",
+                "sha256:878243e1206828908a6b4a9ca7b1aa8bee9eb129bf7186fc381d2646f4524ce9",
+                "sha256:8809c0ea0e8454f756e3bd5c36d04dddf222989216788a25bfd6724bfcee342c",
+                "sha256:8941e35a0e991a7a20a1fa3e3182f82abe357211f2c335a9e6007067c3392fcf",
+                "sha256:894b1acded706f1407a662d08e026bfd0ff1e59e9bd32062fea9d862564cfb65",
+                "sha256:900532713115ac58bc3491b9d2b52704a05ed408ba0918d57fd72c94bc47fba1",
+                "sha256:976cd92d9420e6e2aa6ce6a9d61f2b490e07cb468968adf371546b33b829284b",
+                "sha256:97de509043d3f0f2b2cd171bdccf408f175c7f7a99d36d566b1ae4dd84107985",
+                "sha256:9a42970ce74c88bdf144df11c52c5cf4ad610d860de87c0883385a1c9d9fa4ab",
+                "sha256:9e41c94035e5cdb362beed681b58a707e8dc29ea446ea1713d92afeded9d1ddd",
+                "sha256:9f805481d5eff2a96bac4da1570ef662bf970f9a16580dc2c169c8c3183fa02b",
+                "sha256:a35c97af60a5492e9e89f8b7153fe24eadfd61cb3a2fb600df1a25b5dab34b7e",
+                "sha256:a7c6574225f34ce45466f04751d957b5c5e6b69fca9351db017c9249786172ce",
+                "sha256:c7ebf2a37e4f5fea3c1a11e1f47cea7d75d0f2d8ef69635ddbd5c927083211fc",
+                "sha256:d0305e02e40c7cfea5d08d6368576537a74c0eea62b77633179748d3519d6705",
+                "sha256:e1046aab24c48c694f0793f669ac49ea68acde6a0798ac5388abe0a5615b5ec8",
+                "sha256:e5d22eba19273b2069e4efeff88c897a26bdc64633cbe0357a198f92dca94268",
+                "sha256:ec27e93bbf5976f0465e8936f02eb5add99bbe4e4e7b233607e4d7622912d68d",
+                "sha256:fe76d6dee5e4febefa83998b17926df3a04e5089e3d2b1688c74a9157798d7a2"
             ],
             "index": "pypi",
-            "version": "==7.5.1"
+            "version": "==7.5.2"
         },
         "iniconfig": {
             "hashes": [
@@ -1637,11 +1637,11 @@
         },
         "pytest": {
             "hashes": [
-                "sha256:1733f0620f6cda4095bbf0d9ff8022486e91892245bb9e7d5542c018f612f233",
-                "sha256:d507d4482197eac0ba2bae2e9babf0672eb333017bcedaa5fb1a3d42c1174b3f"
+                "sha256:5046e5b46d8e4cac199c373041f26be56fdb81eb4e67dc11d4e10811fc3408fd",
+                "sha256:faccc5d332b8c3719f40283d0d44aa5cf101cec36f88cde9ed8f2bc0538612b1"
             ],
             "index": "pypi",
-            "version": "==8.2.0"
+            "version": "==8.2.1"
         }
     }
 }
diff --git a/dbrepo-search-service/app.py b/dbrepo-search-service/app.py
index 41144c6913..be4481cf08 100644
--- a/dbrepo-search-service/app.py
+++ b/dbrepo-search-service/app.py
@@ -217,6 +217,7 @@ def health():
 
 
 @app.route("/api/search/<string:index>", methods=["GET"], endpoint="search_get_index")
+@metrics.gauge(name='dbrepo_search_index_list', description='Time needed to list search index')
 @swag_from("os-yml/get_index.yml")
 def get_index(index: str):
     """
@@ -239,6 +240,7 @@ def get_index(index: str):
 
 
 @app.route("/api/search/<string:type>/fields", methods=["GET"], endpoint="search_get_index_fields")
+@metrics.gauge(name='dbrepo_search_type_list', description='Time needed to list search types')
 @swag_from("os-yml/get_fields.yml")
 def get_fields(type: str):
     """
@@ -256,6 +258,7 @@ def get_fields(type: str):
 
 
 @app.route("/api/search", methods=["GET"], endpoint="search_fuzzy_search")
+@metrics.gauge(name='dbrepo_search_fuzzy', description='Time needed to search fuzzy')
 @swag_from("os-yml/get_fuzzy_search.yml")
 def get_fuzzy_search():
     """
@@ -274,6 +277,7 @@ def get_fuzzy_search():
 
 
 @app.route("/api/search/<string:type>", methods=["POST"], endpoint="search_post_general_search")
+@metrics.gauge(name='dbrepo_search_type', description='Time needed to search by type')
 @swag_from("os-yml/post_general_search.yml")
 def post_general_search(type):
     """
@@ -353,6 +357,8 @@ def post_general_search(type):
 
 
 @app.route("/api/search/database/<int:database_id>", methods=["PUT"], endpoint="database_put_database")
+@metrics.gauge(name='dbrepo_search_update_database',
+               description='Time needed to update a database in the search database')
 @auth.login_required(role=['admin'])
 @swag_from("os-yml/update_database.yml")
 def update_database(database_id: int):
@@ -376,6 +382,8 @@ def update_database(database_id: int):
 
 
 @app.route("/api/search/database/<int:database_id>", methods=["DELETE"], endpoint="database_delete_database")
+@metrics.gauge(name='dbrepo_search_delete_database',
+               description='Time needed to delete a database in the search database')
 @auth.login_required(role=['admin'])
 @swag_from("os-yml/delete_database.yml")
 def delete_database(database_id: int):
diff --git a/dbrepo-search-service/lib/dbrepo-1.4.3-py3-none-any.whl b/dbrepo-search-service/lib/dbrepo-1.4.3-py3-none-any.whl
index bb0ce570729cffddbd0f77eb818fd40eb0a56195..2e19eddac149ac401c67a52ba56577132e32869a 100644
GIT binary patch
delta 20837
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%0D@+}nRxkHqa2I;Ik5NNgFEn=@
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
HX&?ar33Q77

delta 20877
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

diff --git a/dbrepo-search-service/lib/dbrepo-1.4.3.tar.gz b/dbrepo-search-service/lib/dbrepo-1.4.3.tar.gz
index 04043f0f56105d80e7f2aaa5fe1598077184ef64..ffb89654bab83c6f72a9381825e41f0dbe7d37c9 100644
GIT binary patch
literal 37342
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

literal 37117
zcmb2|=HM_~?VQH+KP9OswIE;DP|rlqSg$0ph~Z6bcJ(cfO&@BWg}<n{XL&5$aNp5$
zJ>@rxJA8%A_VM1BJa_Wh!(15~t~n*CB(|TO`Tt*7Xnd(-gRb>CmU%NJmb`oQ>eZ`N
zuU@Ts_bROPb-msj|NNPE(+`&Sf4cc>eq{aj?cd{Gy#G;?UR|F4-TL+Aa{muATPDgn
ze7;{hd;VSdwSiB1B66QUJ@@bQ+_%%&?L)uE|NC+I+qeFu@5AQX|5<*Y_r{I;cUJCO
z@h-Rad&TGfPygBdyIZ+)f9}7~;=1QY55D_$`flwH=Fj!tkA6E?e(hiIx&Iesi=E7N
z-`Vp${^jytGEe@$bBy};e(jV0lTZAQ)%{;yf2;oEr=w-1)v7=D`~IxIWRo>#t8~BN
zfBv{VGZg=q^Ot@57Wgk;{>@vNH}VcU=k68X{ri68ZGX%E`vZT*Z+ceyDtUML*)_t;
zkMEiAbn5?B)`gF&ujQ5QPWpTHn_8K{*0Sx}<Ik)qk#&81c<tKVyLYehJsa{jVaL-?
z%MPs-3fq&j#qW05-#0g`tn97x;>^yUzjf{P=V_%^^Fr2yJzi8=S5w;3uO0Gg$IX2?
zrtz^4g_$-4Z|%Ez;Nu*Q3EZny8_&*qadDPt-0gMQy))iM3Vtz3I;gQFXMO(Hn)T<i
zBbn_ts41?FFo<Q^Z~yY)<1U8Q)Zcy*tbXN9=XI^O{JNp?I{NO)t7*1;DeMo}|D{yq
z{!RJG{Ntg6<$iNXLw&DDPuVq(RQ;=vvN-(u#HaT*Vi65OAtj4erur|+wlDbS`<Bxp
z(sWU_^`-?E6BC?W^F3NwWO-O_Tqs-1*662b_;EvXi|yt&a*h)t7$g_0VR-D!*tp=Z
z(>)Ub6Rw)=NjDiM+s8QVYTA2nxiJ45feLe}pYs}2xT4DaO3ps~z_$8Yw!MPQvB?Q<
zn2%?yTE#d$d5hYDHG$zytKZ~&SoKeqTg#w^u}4VhVa1>7qg^$t(+@95wq$JGuf)Z2
z?Zme?iiZy#E<5b`K1v~M<GXc|rSfj`Z*Aq=<~h@veJAIFDY6Gz+SK=y9plJ+z|$}*
zS?r5INoD=-cHXRW?4Jq_c{@zzSR(#_JDK6I$c6wXmI<-X7zL~Ncv5+GH7=L?6#w_+
ztkAYyKXfB*8@S8<bDnj_>M!RZE}hBtEDYZ`H<UWLuzZlSO!VOKuQ{g9$m`v8_11+b
z{$&b2>jNiUKE^1$L80N*mof*D{Rh?D>h3qLyJ@oe34?Xq`MCm`2|`ix<RjM^7i}n&
zIDSFirTj#kqA5r7CH7aRce*#QNW?8rdj9`_q#sii|KUeQ&NXw&|Ff={;CA=hvOkhM
z$B!)iX~^+MaL=3A+j0rI>Kp~F;z^#-Mk2O_N6$B=M$fTfSts;<LBqrsYCf|!HVdCp
zf8t`^et`1=dxgyF4VrrwEZ-he)y~m={;uF_>usXG$J4go|9#NcOXJQ#=R-4|2o%kl
z$JD33d!ZVG`rH@SIK<?p)n;3-yIcD7kNJ}z)}@+83FpPuq-gI{SSme%kxTpIF-_K1
zS*6vot}CKDoP?qo7xBm@%ztxHBC4%R;a20>N>`mo`F_bQe>l}9zrLTFp(V5Vz)n`J
zdq&)xLhDp58E&6g*7#y?!;wq{!S}Zm`R2I?Z|u)i_|E*jAhOl>V!^|h9lOh_uD2O9
z9PDynKX8WU##(3R&KRC0f}f8hIV9Ro*w4@+kydQRnXuw%1jihwE87<u-e2m;cy-Rg
z$Bx=B4gF6iYc6No_%eRuq$k2xob$wz-5<1G<G696?8={%WNQUK$6W#DZaN9?M4mO4
zJGZ=M+O9Ca;#)`V3CD5=0aoVS?p}+MUU;}(5ef2;ea8P~h5SMdaVxvxBa@3Ad?Odz
zx;hv>T%s3Rp|Ih`3<3V{t*T0jKj)Z*aNj%cv@gl0i(~0Ne&5|eIqj46PVgz(EV=7=
z$90BqRgzYKv&!+{v{sqapz@u!4w-}mXa#>h@jjOAhzx^fnzVj*W_7mj*G%67kAB5<
zrmi>=GozuA|Im)6#TT~5K3cq+;dNz7jgO6EEq8jOXUQ_o){-tK+sKZ8iK^kEnm1Fo
zG5*h-<Dg`v7gly~2}?%Xsi0*67QD)4T)u*QR^^8RTEBR>cL~+}2>e`_?Rqmx?V@&@
zL}y{6W9|~^8$0%TdPL2Ol9{+iB<)G{q>3ohjsBB3KJN3XYgyNlyxjbwx}wj$iL!SV
zyx`tas^Y6BX64+UV!uJDPf*ZovT$I;+PRE-b5GA%eRb;>5x*PPSKTgRJ7-$y!?dVI
zMpbI-I>woL%ymqYCr(shUvjqWiwe)peBlT3;<MlWbjV+~?&1T}W%A-KyF*{|&I-Np
zX5y=TTh^@k)}kGLaP`b?$>doxgJw2P+rq;Xso}(szUk2kJ%+~uRh(k?X1F>?o~%>&
zb?4vQ=51}yt7n^hQv4!OpVxF%n5XdJ6aQTES$TX+Z2M&l-sJt2<N7qkO#HQdPQbct
z3)s$VH2hTPbt$vZZeGbky#PUp(l@sbym-a=;7n+)hkr|A;=0>D#_=bUjHU(armZNR
zq+8SQt%q^fhQJs97~PihT)km&h?C8`&tsNHL&6Dh7wKy=zF(EFHMq`rV{7f{6Q?F~
zT(r6+&vW4%v+98uf&G8tCur0Od~6IXa*#N6NK3^~xw=i|L9$Bp*5k?I(`WBvZ}tmu
zyQv!RdgnIgFV9kY&oPQ}c6i3Bn%mCUo0!4QclMkk!zK5188ehi=UaX}{g6$kxwfCP
zm*Ww?j!^2=;H@dFHx>6C61^pM;kjF!jOE26vV5&qN<&v$9{3oZy-+|!^wSopDJLY0
zMBXgyUGI6Kv$Z->TPHP|y-p%e=->uv+xn(&!vA@d^P|_*iu=vs*!^mgVmOn7VdtK0
zoI*i{{s$)dJ?LmpTDkV&moE=|Qnx>;=s6L@YH&xSyLgew%qK}9XGC^hxKQk~!X`7c
z@NGk|h`ax%E?KYUwfy|5pEX}GnZ&4n+o@3zxHam`7oO0SFDKewousST>cD4pX<O&X
z#WLFcZ7gTqGIE%l`hIZeO8t1P-76DsRxE1gJSp@`PzT4N$m}B$@=qJzADY$ix?FQN
zpLbU5)`QhnjDFHe`#R*}^ABvWy5K4jwe02Uu=XFGrB~GcPKfdRGxN%doXy!=PRg3!
znsTgEWZnIp!RiiTO;4L2E6)FLH95niU&(Ky$)O`le^2N*XfdbawC&=j4Xy?UwJznE
zP5ZFLilJxHTw|#)-mJD24|p!$+NiW+cT>{F^B3|~NgQL@n6YH}>=)AIjwuf&i>xd>
z-Rteo**xL(@01Ho(+=h-S^n(dR$9Ab3G4hf8FMoJ@`^-d{W*GwzrE`1n?IW>uS7JT
z{I01~^>~YL?t+uKTawS|IkTjknIe*!xrZm9=w;?%iCeW%$yv*iXQsF=Oj$htI)ieH
zlqcIg!B<YHg1e*=HfhfB3{Ns^cxYsO<mr@`OT|OK<ggy*kg}bUaZAYEH`{liM0o2?
zi$6C-o*AkcKQFz*m}<$an;wwLx0TK3@b_k~S*Nyb`O2d|JwiGqAalYD%@l_NTod@k
z7<hiozHxG;lr;a};tdIIhnsG0;Mlw8*=mC+@tH=_kA06Z$9rk3%db)V@<>#7iiK5D
z-ozubj@5kj%DwT|u8zN8Z*tKRM%P7p8e2~ItSETZZXl30Kf|{5U2om|%D*Q)X00{s
zo7mL4{{NE#wNxp=2rI(|o|%(7_k?apdsOCN;Q2{j{mh!$ZXcnSp{z64K3Vge&Ee3;
zR326)!M_H9Zqw&9hh?8Rb#}vpt=am?r#qSrzjgg_WHS@B&1KsXG3Q)F*Nl6Xrc*iO
z%yKI}n=q}syK075SeW^*Nhhbc*>&wqz2c?1QK*CWgq?2L5kH3b)mhpGYofyCGA>SF
z>#c2StK!qE=UlYWanT>?%S%KvEjII*U-P*>b=#MXN0%tK&#sES{Cm%tOFlCqTb3O(
zkYO>8{ay5Z;&uDa%4?RC<$LTesoke>IMaH`Q`uF5PP%g%tT-a)f9zG5!**;!N866l
zgR)B;T(_!79h%iAQLmN8vG&9b^=rm1Hk@&;6B>BmHoVtXy)Kue|A4_|p^1Z&NOzm;
z-S3`7Zg-xTm9<RxkmTGuTfa#9u-wA?K9MFbz9t>i{q^Oj{{hbr2KqWP!;)ey#;I@g
z;k}VB?EXe>p%Z_iPr%a46Pg}<ci&;#dxK%>!FMkl*^dUSaAmK`3jP;qIs3^D&fEzL
znJkvZg{@6iU$Rs<?-t*h?+NuxvCFcAG(vU<?`v2()m(4m7KsIcOOAGbYYP3+(797S
zE97*CwiWLr?~u(VyY!QrcQ@AQ3jECey6tMt`pEUK-ljzheXsre>Fv*}OTX^Bmv!~L
z-t69OrT2`sKRq8G{dIHv+VZoTlMTvc_A&qA+`D+;yH4k#rTIHNzw#*Auhe~dMMP|;
zi&m5XYo;Lgkv%za^GviHzHUDI?B?sR&u@GmZz(K`+~_C0cJcOx)W4yhmsI}L-gx2l
zv!{`Z&mLxf#dOSdFDr9dX;6Noc=+1x&t=Wo(fgubJUYkpz`o5*_EzbFxsv;|dNy<S
z#60L{W<Oi}>I1_L?rwqqnVs1`ymxLl<T<Ez=$%*L+ZL6Z&ikLQNHr3Fl{A0qo{i7k
zva1YFSH3^4^=F#OQ7`qryQML=Z1NX9+j`*7N2No}ha24WEUg*cBQmAeiS3-s$|EvU
zkGY>WmVM27x!WsN+<oVDX6kAi`{JK_&+xK-dAZwfI**l8UdKO<t@(<xdkmNqm)!mM
z=I6ns={~g!g5CILz79BiNZG+TyZ=q%o%a5%sU8h{d>qGlzF+ITn?55T;l`)6EG7v%
z{Kd_mumor>y!f20V)1UP2i4D39G$xESnT5`PSaOd1{$Runr|^r!pC{tEV<^Qck^}}
z;oAN7*PO)mefRel$6PM2VD`Ex-=F(MXpygh;}Q04kNud|_2!fteB4s#>}8-V#8S>U
zq0+bNLt7+APjgKNTh%2&^#qOdU3d4FW=t+oIAor{#-ViL0UP7I^9}P?h3##(VqB@9
zs=qDfde^NPBJbB<Ea~^Z{v<8&UD@m{PSw}<o!`6Q$;+PHZIjQ7zS+j8T*<Vk&tS`5
zxyN%Qip^I{s0)5%ZT87vi;MLUi^$l{-A~J7AGRv(PUSwz7qzcuHS4eD&#r6M&oS6`
zmzld~`#;%rEkA;S1bbd&GF<z+xI^r`X_@nsv%1?{PjqU_EmpXiH06V;xBL4=8J+8F
zUD>2L<{PY=Ifrrjd5ecXYt(P?h~)mtVK^-s$E@?XuI=?5J~x%lC53BOtXTe8h2u-!
z%nvfnK5e0vdSN?-w@&&dUB3L#jSI4~lvquCryAC$7c5RR(~7ZRHb2)FxIV4*;Kkp+
zj<Skm{`)J?K4A~5Lf~?xnu9!d50|%`ntRLp(1%^D+956yu6JfDoXwI?^JO^w!K2Dl
zt4h_rV8(5J-2efDn>#POf260%d@knqheBWdpbN%|TkeJ!344Zad}SPVDRgzso9fqE
zaR+8B7Wz@26R{;~d1@BNGu8s889%uAH(D87*|yQVyI6Hjlg<AnW=@%b=LH!o8Ab03
zn6IeFe5gJ(XwIpkeT;g}-Ba~<pEx7qovO1vY`0JQnhSg@kEk5!%5IRcTo=f;e&M=~
z_cdJ)#9f3X&IkVf*i=+>KXhmMmdS_ts;=)yK0DJfU#)J&q34UgHhy5U5#GH<e&vpY
zN&7aYb#3-P%EPhsRD{FPn7ludjwilya51gh*YZ1N*2g~eX$w`PMBO!ok4Jp{9s6n8
zO~dJPQ&Oxay|L4O64K(3&vYszRgk-O+FQk>b6(4)8@cIs%C#9tu%<;m;5XU7^r3G`
zwy~JAqmkuI(*wpAO!F-m+n6UaTxpu#^G5idQ11Hnmvy1x55KPdGe7j-bFKfyUw>MC
zs@J=>*HQh{&&kjJ@2U7$WIpr%&h7o5>!<$z{9}Hw*v(q&P3Em@%Q%kR@_Wg{v){S<
zvzzB$MK#T>>dIf{$VDArANAqZt{HCE?bt3f-j((7&i^ZT+r|6q1fR75H=@odtZ|!c
z-Ch~GJACV6U7oue3MVfY_dVcn^HFbZ?$lQzN>v$in>x9kU8z>tU9qFH@xZ%<ThsQf
zj+h>Pt(sv^+TT={^Q%ol{wJG#zdmV$C*RtilK!XD?e5w$XI=Esh&;#gWx<&hIt?d%
zR<1ERn&!9i>|Q6M6`wxV7Pw87ytN@F?W)fau9I7Wes66}jXCMBI5T|J_STeympl5I
zj5a1s(N<FSW~?blyQVX(GGo~^zE6>Q$=PCdtZ4;D9~a2YIk~iH=d;w3v#)M78}FHN
zKttj3>5g|51;?gqmOf9fJFDa`I5Xi>aDdy4Y0>=WcqY$JH9nFSxOzj6;ZIGyVxP_y
zCF2uMmf!H%6tN@JQ8LxbPh@6f+AS{blo@9q&0<fVGqXZua^*4wu}O`~I^t8*W(gh$
zi*SqT`&j<|jLA<;J!f4ri=!#4GG|7m9GkVWiR)C%<oSn;Ze03!f&X+$@Um=0$=qVs
zW6j2Qu9#?PT|PVGO?TR!)UTUP@L1Tc<vzJJsPU-llbEGzXI7^lTe;xVBBLiyp5L2U
z6v-SN@$AlZgH^6+S5EpT&Me)?@RP~t&6DR3XO?{m4mdV<reA=|v$=7H?M#^c&;Cm?
z`gmr+KP972JQe)s&P<-4Wb~z{rSYiI*G(>gfitTOEq^}Xu}d`&n|N~h+VgjM_DPl<
zb2k3-Zt6>O?&*(={!cs0FsC&zQL?c$jZJK-VnoKW2Y-4FM!M*!HGdE^;^aQ3p<}Um
z!vmhfhm3i-&syl%eco_^=g1>tLGH62I%dWjKkyuFG8W}N7cpo4P7CJ^qSH>U2&plY
z>}`9!v*V1L@EvAj8Q=V3#hHDD<@fLO9ADF@W5OKt`!v_77L%})))bdC{hia#_e`1p
z$VlbvLLH@GqircM2FXU<_FQKdge=;+!N=?HF>Rg2L8o7{r-!8lZkgfZZF*I1R^iN|
z&^z{@gLIX-PaX()mRUG+M%&eo4|;rlYU&sV_htl2&hok|GI{09qo-R_^Q6Sm7$xVN
zx*QRpwtP}FYih|U|H7Gbk43GU!Q-F1T4d5o$<GG1HjgiVD7ClwY%DkP+XkKhQO(Nv
zJ{Q(VhQ*|1WNrShD7k3kgE>q_uDzx~ijs>z=3Z-0?~~fy)0#3tYSxQ`GnZ5y|8`Jv
zX`6(m#^x(8Ui>xo*{tRkcPumP=kK%y=OX@!O`5oBnmKFAGO6y<?ddCKZF+QY=Bl)u
zW6Z{3SCjV4I1~ERz21Xu^(<rWluc=dSA}M-jl9ZzqGalPC8M~>af>Qvt~XwG(`e>~
zNCmD_J-(Iq<tHgdUog^~rm1buntCRS*;K!HTZ!P09j)6duUa{7v`V_ev)kW`ciG!F
zc}ErHj_-Z=on5*wQLE0&AwS6>e8oY&xhJ;nzWQ<N+b_(sZ}6NskuX`P{|#r~>b*DL
z=PBJ0NDf#Y-MnwFri}Q*YtO`5J6b=6-BMb&dqtSn`x_!(yzHl}^qrc#qO);pn0KhA
z?82BMxknkg8t*>-l`OP3cfnJYEqwfIZL=@0+TGx`=FL)jHaSa|Ev^i^Bc<nkX3>g>
zKfcPbzrE2`O3{3-2V3(crPo}uSHF96WYwJh!i}w>w?sVKThApfW0;({#)yr3)=^da
z;FW4@ChT@?1qbsLpNbqa5?*!mdCiWK8!fi{i&EC<+dAon&7*y@&z^ocLv~WyZ722+
z`6p}69KBV;+r%&MpvleIwryseM^kHS;E(IK@=Ej7f0n(ub7N)tWxFbks*}$R^d4uf
zGC1RItuuAs{E5fItmHdndgr|^_;0ayLFNC(>pvs*oj>xj<Uqo&r5CfBRbG{BOL&@`
z+`?2C<!P+W@2>h=?rmI~R$qJNbcVD1lWe5gKbE`^xZeL$=jJ5W4W0axEG(a<3TpYg
zoYwStzun9$L#F1y#S_dt>$iXSHs$?(b~Bzt&fbfQmR_>||I<Gvqaii^SG_@%%m1^2
zJ#S|`N-tQbUnH<FWu=Q;P{K*+Im}Ha3uVkx4%mNGtD9%BSK8-wkJnOVgP9jUCb*so
zJ?XsgLEu*LdtB0-+uKeonEd*VR^stOt&7=xo?BT(Y#+%eGQ3pZ*kmTKu)nK+`lF5*
zB{BDX){>1^p4JyOg*;kcsLdHt#qvgT#`?4^L2aHk-yW9c#s=9mO%J`e?qt(z(Je+y
zTgtMsneWH1PEk|pbCg=}WcAw8w+Xq->aD!5TQuMGwrp4ZCz}y3T)a^0UfG0PP46W=
zDQ|k-zSy-*Y*M{Q=kBnHc4hV})`l_|Nj5z_7!}*}#BYN0>&-b&$~C_3-TE_Jf^&&q
zgm&^5Ki>ZfJ=}YA9%ik+)-JDHa=f85|IdfEPsiJC*0CO#bnk0~dmE49l=_Mr_vM}o
zKbj=;T=Z)6zje<3r;C=A&8f>>K56##lPB*zdzW-YHT&n&>Z%9XH~$38o9)i^NvdN1
zw?tbvErAQyzWq9W>dq_S^NuqEe@|f8@bBZ}V>VBI7SwteR?WQ3=w7gPQ^mL3q@64=
zVV8xMRmJSjxg#A>&(OR*eB+w;YvUhouB_U1^Zk8si47+2s!Q^2Y$=oUxv_WSC$)9A
zHx^2s{<Zb`hOlI5?nAR&Kiv=z^Z0!%@bi|sqWp@5pYy|R-`w~A!_~NuE(zU5g@%V)
zng3t7$fUVVYVmVBw|fPqZvD1y@>}N?q^wBYnfPgDou>6dpRO6{4;y(eE^K^c#&J_!
zbam9)JP+?xr_LI#JM*&EY4PW6N4~eNnKfr#yZN~t&0_8y7fyUhh&zA$@621b>}?J!
zRK2b6t2p~Bw8HI}-i?j9d5;c7y)g}7oGx&!K5G4eE4TL?xU1R~qnjJGe2ScFn_NQD
zcMYdITJ<k}@BL7xJ!P#Yhk*IT-on=#cCUTElXXj{Z%!ARnOVr?3#*nS{?K^q^}=oT
zD%Yawb_dA=Oq0WoUUOTR(UYm|{&?fb+bSiqj`%mRD0a_VmuhHk@TN8Y>Xa?ZMdpci
zbNu3Nn|Cbv%@@v2w*KD6We4+I-n(u*yUE|<uCJHGW1a789z78q1$J}RJQNe-+g`D9
z!n1P|J-(zb4U%nM!hG#{^j48A=|7W2jjpzCRq5Wg;p~Bf9~|G6rrujC{6nrXJ@0M9
zw#lhe`2HL}qPNkTQNOvf`}b>+?v_mcu$TG55!Ra+4$p|V{ypF6l=nfw$I>PW>pP+y
z*ZkegmHRi?CF9VqD_?VO9VlJo9Mv){s`p#!^16#}OwRS`pPQXNee2dr?)|2*FIU~o
zn0wV<x`uJZ{P-)k-+q6-HhJHR%ja+RE?zA*#Vv48*sA&eY8?CT&)Y7Z6&||7BHyv~
zZ}ars#}2a??JAIw{Q75l+UrlN>Xf4H3uVN`&Y5$)f4ahPF`Z-E)smOI5o3M7UQ_XQ
zQ@V0>Ptz7(JF!nb1$<o&r>1%RZ}r>Zc=cDn_g_00)3?6yoX$Gyu(G<(2J>^C_ix|&
z{W9VA@mHlLMdts6{EpR&vWxyr<*sMA^H|Nn^t@3N!?Sn&`tk4Hon!eGI`9AX>IruL
z^Ycsp-Jd+?|Mu1A|KGk{_wmzHyLaE$oICnk?fn02(^tor_r6;3f6DX!Z{NImEA!xI
z{cU#k+xp+i3jV#9eX~Di?*H#1^RIq8p7lF<>)(yH{zc^0ui0iFc3WP1``fJF$);|r
z-}YmZjz9nH_^J83cm2=Y`v3EX-}B@CY}xzwa+dgu=-dAV(@rFx`9J;lZ{u(EKj!$~
z`Cn47;q%<B`)~dKY4+rQ*8lpg|M&m0k^UJk|JUqUb?()VUoL+Czy15cdmeB8%fH!o
zC;IJw`=jnT=NEZ58vTom5bCe_+FPW1^n1Z7x&Pe#iv;e+)>|x@`uL7+!W|Bsh1Np-
z;uq!|J1-d*{Wx9kK_bVmxfb0C57?iv@@!PLuH<1}H(NKtJbG8)n~1AU@*KN#+$(HE
z${P#zv)c<jl)v&~ZF2f<TP?BGe5*rZ-r0U$w(#b$qdTKIK3`sWV*jDNnm+TAj>Xzm
z{F(07WWH+Ggtr9`uZPJ8nXZ=pVXpHc=J$;KUMiFR9(50W9aB;ILd<^lx2e}FWM@9v
zGmVk&<P?VXexrj6t(BQs68ermO;1#ddz!FA)Y<FZb@c-$j<a!Wo_6P;|2JnFziX3n
z#FRC9CWdZ4_vGd_!&ep}%?qmL-+b#*dw1dy?%vfO7peHo+-N1cM}OI6&Gs|0DLbwi
z2gLRFfBf|(>g2gIdNZ$X{km4?Lge2w8q==6=DoB3fc~!ug^KR0oW<rI2p5}jJyqiT
zFE`P&2b^kWr>7e3SyQIG{*y{U?DE~)EAFn7wX%I@tNVF!aMo-4DQ`ElyIpe2`0HSu
zC_USH_m8`-9e)lo{*!z7m(^Kgd)&qsvA&0F^Y-kjn!MkWr6uv(3O1o_Qf{^NLYZ$S
zNUl0|ftm5|1}zu1Z`=3CeGYN@?DjIpLPf6l!2;&s!v`-(^%>8IJ^v+gUH*d268zSk
z{KZ1zlka{i=sFzsV1~3FpUvaUId+p4e-@b77o&Vg!!h;bhn*^7dH26|&61an61i|z
z=b`CzmI^zbxeorq9Ql$9nNJij2iZ9KhQGGntC1Y#+33Dpt7t>TeCBt`4+?!t>h>?6
zb-}CCUOYGQf>?cObnNx#(@h(TKL03HbqbdZid@_i6zQmLIZsFWHNTj-l&`4UkxI>=
z_cQOBnB?~A%y>1?>8sOT?Z+RkPrAI?NovEiIlA8OKhClVn|*YWx3j5Pan=>X$BthQ
zZIylRVXtvK;@7?1SGeDunBB8~p?XW2kfqpqmj5pdHD5CtYcU<KICC_@<ZSw*M9a_~
z?)QCj%qKm}`sAH+?Ml!4&nGT@{e4+#*6yqSQcU<xw{4Bt>O7}7HTTZ6pDr!+W@bj2
z0ZW7TGW?zTKmF<d$e;CL^PfNae{thA{|EnX-o0yE@zLnz|C_ffH-7qWv+)1%g4Y@Q
z`-@(6+%Hl+HrK`|)~PDWVA=Y6+mA0eSlO5%bc*9s#GwOERZKp!{&0->q?&c%dIral
zSkG{gJp%qV2J@f(ocmAv>!kTxJ>1{FRAIA;m?rzP_8JG1jp{eA8$P}M6)RU(+&D1X
zFWLXxAB}IbcbCTfcAUN_^T_4k+efdeygnV}dBEO3!XVeZPGPov>cn2RBNJ^px0_G3
zsCl%o?oY|~h|OO)<Dx}6n~hT4JN&*lTi*L3;%|MgN2K3XHeX^|lic*3^R_MN_pP}1
ztm;;fp+nW(sTvC5X$)GgQY)TRbX(T#OtmQz^4upeF(jaWvuxa>J7*PdbeDfKxoj%_
zy-9P2cjdv5wUKcKf!Zm1JsEWOE@#kln|_K%W69JN3hH~k7!Dskl<CPYGIcuR%}MW%
zJiI-{yQK2cy{zs2TUgI96?SO1ojj<s=F<YhIu`qNvSx-S`o1Qsn)6(G$ZB24KTocK
zedqljk6JG;eEs{~rM#Uga<6YT$82EMT^zAUTqIym(PrJpX~9kEZ+CclDrUrs-H*7@
zIYlV+dy&#oCdp*KB{J@@N|y@Pb@vsA$gyz+@Jh&A=GD$i_dEC`zNfNG{K40>#)7Iw
zkA2^MA3DhDqqcA211|ox{HcF-ehl<uuP}6t4S&3UU8XPh(}GsJ>QfB=zecdT&X{Fp
zvm}0l*B{NZYL=0!F6CL6Xs%-na>%~J+I+=MIQ;6d;}LsqbX?Zn@KI<Y&(XfX&t`E6
zT};t2_jClUuL#XlKX5X5)^(F?2Fr#1&0o(OuKWMj*yew&t!d)#HP($Qcj>u5G5-JQ
z_pf7T7MaA!#Plfsd~x>KE)^NeTl0TTXECvJ>vo=;{A*_Y$=3~2md@v$=etEOBIn~X
zQU5xz`$0z(`QqBFLK;sv-}h;VDJ<wP{khhPN%{KQ1=_2d{ni%Endg}{HRD6{zR5DX
zB_>53ukAbde{a%@t)EOI&q#CrVHWdc^7ps=xb%$VhGYLHl&m=TU-Z$Rs6%gOe((uv
zc^hQRR%Uoz<I-xi7b{qNeE&>sT6ye$$dpwJ?RSNr{-(iv)3W2tTW`BXUNWC&6e{+F
znhAI&PHO&OUOl;Sz2%2zc3rQ_|H{Sor?^XX?J4RL-+Jqglh=DCiL;9$y%+TC{_~@j
z^-mK^&GS#UD>HLbm>#>dcec0teSZA^=-GwUVdCo(KV0!OD(umE<R|50Bk6PJ&E2+(
zTNVdhz4~igkMazm4J#A==r%w6S=`1pk1290f3HsQSKZi95%aXK4&Qd9iE!QFf7YL6
zP_U=2Qg*_|e<^Qe()Rwo{Oj298S^F=@J?m(KlRB{lI3>ft1}Ukno2HY^=w~tTvSeV
z#rAo#+%}n>-CBNqpKVb`w(9h#|I@cCw|QoK+NQeiz^SA;-isO1xx`Y7o##oM6`N9#
z&!O?9r6lI`l$MP~OC=|qtJ&+oX7fK;*LC|3CU%`&d|@1>H~r=q{A!4s(0?<f+PS-G
z`Yldl%{GA_s@W>C!k<s9Xz&qSHrJrNVsG(_#SSX#nPc5Wj_AE^-Nw{@_m=Uqr6xr`
zmN1)K<2Cwl?F1KVm)7Orj)$fSCudDMWGJh-I?UPX%l^yEEfcSoZx_DPC+*G<Kh=Ll
zbg~K0`^ZS)y2V_!#UEZY@Y#1S?h)u+xa8)PMbSBa5AQrxE?DuqN21y2+^ZAsCq*wb
z5BvE?_SIvN*&I_F;;sGSwONi>wMVaDlDFBn)o1_Qx_33zM#m;Tc%--2x$wBf!d35{
zrbHw-&b$3f=f#)b#ZT>I%o4@C+Pn**{C4Yai%&WE!$Nd(<Rt#~%iB#_pBb00S<8A*
z?7*)_5>r^dYoGU3eYbFB1W)YIk261VS>#Qywf*tWP|8PcxAKWhZ;f}NA&+7sbXUzQ
zwc=E+E7hNuHmPe~$8OH4hVxk_cRhRXcVPhEAFKU$)#qQfIVj>BIO&4XoS&Rpms;3<
z?PgeP@9W%A{bgyufzxkZ)TN#?SL&}1oOtPZpRe|T-EZIJ@FhR+-^0UkaxQzZO4`G?
zDQYsm7b^CMMQD23^E}T|sf(07vcy-T^xdRCN@~8n|L#Tvym)Kl^5SAoO~aGhrzh1E
zhIvZtxWObIR3#_1X7fJ}rEr-KExhtkhWmnTwr5<nPmTKWlGAK=t?pvs%lVEXWpQZ>
zC(Kdo-g4fom-CCjUE${aOV-`oc*=dP+uu!vGQk#e!qa9(?~vm^q_MR)VQ1O3;A)1~
zD(y=i&yi)}UeEQ`@}<Y!o7?V+CQ9k0-Or45i=F5sadqpy&t?y%3%}YeU}^a4>Xvc`
z!A6CTNsGR&*=w|T-Lff>r3~5b<yPzSdgi5-K5i|PaphBS%n?3T`FcgA&Ejv9wL|-^
zT-G?EzHQ@i;o!BBb-!KxjV4$1`7>N9?o!NtHGAG<)1RtlirL4$|8~s~;=lUhzU$Rz
z@5H0DQ+_pn3g6In>Bt+_tgB7+>N$a}AHTkM84<to=hCmA|NZ@4)luAF>8!Uyei47N
z!}KfdyTf+Ym0a0zBCtbNKumesO0kz`mE<^AZVku^RNZCt>t*N+hZ`Xbi>w}*T$kNB
z>6gaW?Hy4^PyXY%Sm&wZ{`Sg?`}W&bOs)C(mLuloW2U3;E?uc(`Kj$_-y||kd8%ed
z^1ltLDH~r-{KfRh;+<T#XNsuj_DRQ!pKe@ob#d1d?vwSJ;g{rN%(B(~wjC+n^Kkj5
z&fc_ij^}fxec!BEJHK&X;$^uF|9g*aIQ01n?+)7=hntyY_4iJ#QHh^$x%Aw!O>L8Q
zZ(h?~`}1vT>*?^#$LB~)JXALO>k5%APuDPTIXnMVYwf?d{Y2_2>q_ejt5#)(oVn4s
zkAHgV>X5}ZBfGwyyjk*kv*)q&-R5iEzH*wcSlC>3WYg8NN|O~CmrYo?pl_C+$Mxio
zHGMImSBoX%rvCaA6uRisRgO?of!5AoQz_TY0quQ8*L$9vDA^EF!ZdfK-Te9r%gK#t
ztp0Y%-wrC=YX8)qz-MzO?yBIyol|T!e#@Mkv47jgo*#}H;g6jd)<&y_KVKPU`@%SM
zwcUQ_tqT1g7hHZ*>~t_?=5ysq+w7!eE4Td$?z<CwynLl$=)nlXEL)Rv+VVApALBYt
zCLXC?+7s~L%!K)NmmXU>bDxnZb)2nexHmFwRox8J)nCH4Ns6gGT=plX@QZ%3*{aE9
z-IB3~Hyw)=KG~MB>7z}M&y6iNbh(!$JxhF-5q_mCQR{br@s7hEzuT72y7k*-hw?;@
z+^L7<bi&?tRh~ZVCbZ;?)`J~(@`;~j{M*GUChq#`xQodR=51%cF0?c`oY6k#ec$Xe
zk;e5B#cP)Bv#nYY!Dv(x**}{@W76Z#Qyi0a`JRn9t<(67)id))E1Q?*&-JO7dAgt3
zHQl<iFkqLu9_!ndphr&CZMmB}RJRBnjPK?MJ6x8}Sd*VzbTM{v@c#Ea%l5z6`H{hK
z*KbkIpoeeI&DiX}v(a$#Pj>FBd)T_}ehTGzbw4vaCu-ZWNlot*BUZL9pRlrW_puo_
z9Xf36CBK;jWpr2l&)D>0&J7M88$%B5mzyWqNnTPf`~O8}p>Xu{%b{o5ldc<9PJOv1
zdqMB(<^1V)-1&GnZxFY5oFZY{X{q&BCN*YTa>L}U=idvQ`NWrz6|?H{rWXen2^=x_
zaO+F*##x3+!Oy=m=Wu*}{CMS^%iS+iPDKj4&yIht^-B5o;}soGbSHKNZMiCCU+;I-
z%uky0#{LL?&0A01t6D$Vv>grcXVmLxd8epV>$si8H~q4DVnO2BA9d%Ar#@}{_$dGA
zoCMRyzZd^DTQT3&-RS5~-P0!>4p(d3^x1sh<Jy$N8~^R#6KgzvxiZ|P`RBT+PlZ36
zd!~NBbK1@yC(rHLz24isLGRf7=IWq7X}9;tYF>JGWKZ$7J<6XS9BY5$bn@;;k2#?~
zZN4v@CN?L&Z1<f0gv9EnH91_jB+i;!KJ|S$OSM?XVV`qW#=j{O-JfTFWa8iU!zAm}
zx5_l1zcbG5aNp#*&CYw1-R-^i+FyN2EnP9M$bXUJ<g<6x)lRp3Oi*MjNh_YdEYs5P
zx5lburXPD$j%MAvpMJ0S+KI>sch28Ds{ZTonY6x7!snisG=HCYu~386ZPR_LH+lOw
ze{oNlmD|`R=2$6Wex4`1UE9RUbWhNWnZnYUpRdk1aU}7x&XY%9tv;T={IYcM&g$2t
zjEe;x%O{?_^74m~8dpKjC!P8=8zu-SJoQ^Dzvi~+B%3G&RwFgj4}ZNP&WMOb&u2BA
zzxHjv%#SO}>@PjZRCQrwTD0TFg&4uaHy(f6rtj`}A34!|b89;n|I^FYe;=xL?QmVy
z^+NXA!u8ytv!qYEY~9ypp|*LpHe*!F*3d70e17`H%I!P0xc#r2S#XKH>s78zM)kAT
zclZ9zJyCEm;z6B{-Zby@l;ay}cHN!T{&J4Qgd{WfmeZM*uS@0~){JpGY_qg=*Cwm!
z+pXp|K3|!@scK_$KE~<jh8nB)HxH|X@OT{DXUruL>*0}@@?gTbS%<hywrPjG_!Is2
z&dqsCKmKm+**$Z?{)%mH|G!+VlD_`*Nr@$)KR-{bTlu)-3F|Ay_YyV*Hg)?}m`j!>
zFK>Re`qQ@H1`E&4j1PDF7+7aoc$7@36uBUoSs>!vqQu1S$h(%iZtZfZ7M~9$S;o5A
zj5i_#A}(e8W>(1!te10-4A5L_c%(Jj^!4H6KSF~K_i)c^5KfB^KcpBMc)#LrQKhWo
zn$IV9Z=4t{^l;th%G_l(`cEA_@2vmQ!6&LBHeLB=+OCW}_7*;#8p=;*e728sy3KhY
zfa8~<T5Gsv_4yrdv})!&(6*V_WGwgKtLozQLLD}ZyUt{M+?QS@k<is`eDeCVjlNH+
zS9x>mUuW6l_SiY6@!|PZe-`<1=?ARrdi%t6>nr8_O#AYqSv`H<mTvT4W3Cur61BNs
zFn;CJq$@_xr&qR{sIGe*wv{#4$?69?|11}Y*eQI%`eiqsI4cY8lM>~R&^Q*iCp46m
zVby!>!w*kO@g-&1FrPkn<VmMbd&*?~{u_QLCOkc%%ffqdYITHx+M7jXho@~%s`y=D
z{aHpoRrmsDODd!3-{*PJANo8Kt~g)WxZphFcfCcue;XezIG3??@fNw*XJ>+)vr0Ct
z4%x1hyh`Besf`t3RbTH_dWFplZ4Z6@<d3L&rO$7x#T)yd+^aD8`}=|I+8*P;Q#V|A
z|KI#^N$&RC)T^xNYtt7Q8cnEVT57oXDtr2!v;(>)@=q^6Y5Sz&M8F$Yi^QX6L!S9w
zto*%ozwaN7!r;(~$352T9w&;i$6x&PoH=Gn$qe?njE!dhg|s(5X+1eLmQ$>9-EI>b
z7oE+QY<S(a9BtlvC|XHFPw>K~$>AyWyjf=@(z|LJ))mMuy&v*C=Dx3a{p|4a%PapJ
zm=)x9I(w%xL)+@<C335JtQ5~(Jb5(c-Q(naU*5$!TMC#|mgmph<7TM8<(>PV7m9x7
zI+K_cPfjh-T>PW8;KJlXIsMa5H%@+VIWl2G1m6@EZ}o)_UY}vLm+oDxX=E%G6YYI}
zirDjCDlxmNWxFCA-cBs2P1#m_Wz(tmvg_a9Z<W?oUKXJ27Hfb0eVDlUh11oSvo}Ux
zF<#%+A8Tg+eAUn2Qa;gpgyU7jI=mljdj0*!((FyI+kUNDnJ=mrpY`SaC&_zJ>#lqW
zUwSCUjLGZzqeaO--FBQ1IFR(o`IXs6JvGs3`R!`^4L4^SW_}Ra_HxrP_3K;DANk><
z{8{8!dfDpJmb#ysEy|4FC;Sz8*t#ySTFNbF%Z&>bwbwQ?+nT6c-8rYCW9FQ^l?ui;
z+y41F=P9~h-gqj=KVq-u>KTot3%7+myE!vrhw#t5J8aJmMKUf-kgGf-wkSyb%A61L
z%rv5=EGnPYd`GC@=+kx^1+j@thHk6kUe?dntGOU1F;OMA-)@?0h5YO({Vq1!X7uxO
zdmL#!W*c~zliT^4IdhNgeEZgS&n1$pI8Lr$W7gZSSMFz7$k&R+sp&6%GVW?+`?Bbm
z`GcZc6L==R=~mL_UB75ASK+g-L3<zdhiV2Kaq{@5d~DU0PXf9}9=a(>+~QmNZQeFL
zo?}k)#ZR#9o}Z~Osn+`Q7Sm%}1zt<f`DU@(Z`%xy_y;Poc6l3bKTut=YsT!iDlWy-
zteH=WZZzCIzqX=Ydg9K+r2gX#i%+HJBpiJ;<$CJcuU$+V0zIb$8rR;Puxn+I#o}u}
zP0rV}7l-aSzJ8as{AS+xgBPN`_}AFK{C1_;@1XJ2qsgv|-s|V?@VvV?y?o-d+ndZn
z#LSv2tR{ZA6Op@c$&n*99d{>P%{th2ns>Hd*5)%t7WX#3RK6|s_<-cYHco}#dwM(b
zLs^>*i<5uU_k7$`bwT3fq^V_bna_9Ls_d(B&HOqwBg|QA-IQ16%R+W87Jlt?d~V#1
zHyaakLye;sa=kose!^1M#g{k#w4LcQ=j5+DW&NM}lD3*G4YN|xmpd4fs`DuAdP(h*
zX09^%5|5c_-_>oZLb@7N*zMRGXS7bfFqMD*$MQ1eqxS?pOc2<>HLLHT)5C=DUl$7X
z-t2poU{HDVPi^u+p|gcrNyQmm(rbI)tZ;uciD~Lz>s^^Tn;X}EIQJ{xZePy9+2TL0
zbhc0bI5Yfk{l0x3#)XUrKi_zB+Tqzty-E$6OFGPXj;{{cm=|l7Zrso%z@AyBs`cpS
zi5w|Op8G$YJ>Kf8_dl0Aw7}IUJyhtVzgGMEa*o5F1-3|@u=!ZI)RpTN&kk0(qYIX<
zDZKxE@zWW4b24YuKi=V`^7f?m(eRf``e*s=^7{5CYm)8z={Gug|8qwF%U=`oyXXJE
zfAb@jf0O+Gx3>1=oU^|dCN9|YZ~p6z;V*qTH-D&KpI+{s81;M2KE2|YOQxHD^V=>B
zuGr=<Yig)$%ju>KTuM9k{QG`ZdEUzH8@<lQEKRq|tx9`ivCLA<;nkBJOGUnHwsF#P
zo~=1${{}zp0`*7PHkb2mnqHN63tIg-*+SiJc5#J@m4B^N|IK&J=bubGz%_ApS9R_r
zuFC0-S5~sf-J4&`XEU|ZDbdoIkISY&y{0s!aM_YaB30|s_nz+Vu{@vpZb4XKfxLg3
zhTh|rDx;YbZ@#Ndb>oT%bWhY#GkX-iG(5vfPO2zHaifxdhq&>r_<(sGtIx?l{Ptyw
za?`G<0@mk)Ol*s*eeTQ179@#lzu9Kj{qWD<kLR{NxD#{i;@XGy{$)?A4JUn?SAKWd
zlQYHkseipazVBHk|0Z!h>z*4QrmKtme%AZRDJ6+x?^)KvUc76r9Jsuyap@udeTKRQ
z7awNDw~Nha{c!o{CYwI78LWG5teEyYqmecLWyP^eb*fY5&kd;K6K}kuf8xn&!Ks@C
z>UL#JIW9PLbAz~wR;3Kn>kIo%`*3F7n_a#>V~S;>#>({2^ZT{)CDiAocRyx3E|>3{
z^}j~RNn2>$ooq3KI^KIK906A*hV0n3Feqi`89wC&svLTX=h9=IwHsZV^Fiz0fo~et
zQ`*}$*sbT!R}xvfMR)zSM+f(Ht}|bCEt>su{M>mTCKYpZ>^_{jY(=b>;QPj3N~QJ+
zo4DrseCcJq$j}&`J=2AyFGWVM)-1gCT+d0vo80q`^$RZ&mpmf)-BFJ5;6l-7Uzf3&
ztSm06Qu^Sc(J#$Y8CU)$%Jb&T-`UkpUpSR(=Y9BNs%TRGOensKp^|rT-=mXO@BS8s
zwRX!~iCa;syk*{{?D(AP=8Y$WCA1}V?eaSO79I4tcp&|DlEj-mXJp<;3Z+a;OrL*D
zhS%!9qvyo-h}_O;Ts%r@9Y0q}?K#1GxLv;Fw@-JjQSPkNS*e@Fk1wj&&ynpu^@_v%
z-Ag}TjpN_GY1OAST7}Br<*%<2IvA~>Z})%So|Rj_MxMK_&c7+{n~Lzoi?e?0-gP9c
z^0#)tuZMy@8<PHdWroZ@;Bh+dOX1rsC9~r%h0H#y*q^X=skF9ATHx%g;-<aR4R3sE
zKFDpj=SBPboxySkC8e%8|5z)LsvVr3`pV``<Ci&WXW6?5{694zLQ?2{hvLQ=Umcz?
z_MUt5gxyZ&5zmeE2NP#5%>Hlj@~rmN8LOq{XBV+g{Li>s=rmWhRmtalNxKqqryfbQ
zwEfCZnQOLZ$C7i7Y4z3W|7EW4{c~M^+SU3rez8k6-m4`yw;mGdIb5{)m0!XUyMXQX
z&$7iDHZRE2RA}ehcu2?Y;)mkMDV%q|ZEZOux+q_6$Kii_T<nkizW)201rrO;x%(@;
zY%fUqGwS9`mVSs3x|QfJ{A^lYfh6nJ-P@mB(z_RPZc|=o>yhb~S+8`icaZL2nWY*g
zBf3Y5@vG&1{dwCN1l^C>Z8!C}#HhJ@O6g3N^{VSDIo?LA1t0#|EBPqpfVRj^Uw)Sp
z2i_TeF5~2VBEOPXT4MG@**gp#JUY{tGpxGIrmiq=$8rvLgY8H2GZMdgNa<DPy%W|e
znRfc|!;LXbnc0utFK*AZEvfxtani{Dd5pLDjvl8wH)F$Q9=Uz`NmSgDhAVRxed#=L
zxIE#AQu+gi_VYGhCR`Glz3PE#s*Ic86Qjfz^$%8_b`z}mX{i6D(B|bXKaQesmi59`
zbq3rI1nd89Jf!`JJIgvaja}yCoN2#w-mvoJs-11BThm<=^WfP@#t%ZXJ6~m2t$q;E
zpxfLy@u>fg^RBlFbMq}0@@^OY=*!rvS@rdb&1^5*p1F}b9agI~{{Cjdcc#YjlkJ|k
zEW;Iy#fDt>A8fby8}(<e+GF?60zQ8&{&%nkgs*xM^sK|?)hhLMZI=>?HkEw5Z6tcM
zXW^<ZwVkJq)hztI=gE0hhZmY<n%WI}IL)UWRWkc2V)SQatN(NciTQK>{L}fWBENl(
z^z)~G_NW~0sk<XSZQkDLC9T$fcbOZQF65js=gN1+skwU38?!dvSL2JDTUE{*W|Jzm
zeSO?k>FLWD-&CaNKQWn8I_u7)v;QvT?1^7@@r`iW^qg;-{=HhVF=n@B<cyT^ii-6Q
zPfu9vdEv{CxC6$iy8M$0gagE$J(1KFi~UhJO}9lP$XQ{grWaS_ahrd0-8)_6>aN@`
z`t2t<y<Pi*&z{XrRhd%_w|qF!>CnuUV{p)$xB6d($w!rDO(p$0kv(evt28I>Won%?
zE#T&b9j1@1%{8+pCc0nyF~2J;$MkD%Baf7~=Jr{CCT$bRKFL0H#;=t#?ZvW!S4^Ar
zW3}(zS$~28o%X5i&$zu-ZNJWy854G!ehj}|YWj2OB$4o~N8Y#I^7LF5^~zJ#`_L7m
zdAT-+G(8`^Z}NUI_qX0cQ*rymZ<8&W-Ge{;oZp=C=vRrmf@*YZQsw^nbGfD|Mm{&4
zBeEl_BPnTHgYnEWZqsAFzmIsjIBfB}GvQq7hZVUOe|c3eWbtcDZ{_NBX6;E2mNyIj
zcqn}*IcLxQEYsBv+0`axjK8l{u1=b}y>HfW(bYHYvcuMxr+@hRW6#VoHQ}_v$;}ID
zHBY-tC~&;3a#-a<jj!&+taJKKBHwMK|1N1=CULpI=vjEC?$UMtrCDF6FL=1Q_oar*
z13hiOLn7?bpIF$H+&-$FKYxZP&Lf~<i(baLR}u^_BWKC7KIrnT<aCHWY-#=D)-+F_
z#YgA9XF3wTdAW|JWqx?&#o&;w!V4#SG}qBl+;+Fl%}=BBXvvDd@?PJ5-brlm?@ly-
zELXm`DRuH?X`R~vcQ*Xn{_W?@XD18OZ2l*teS737HQoK5xVQJmf`?OO=LHz`x%`vt
zl`Gaz;F=LN>s<7SdV@6|+w=bW|EOs^X;Sv<wWMb43nkO#?X!27-Szkvy<T|M>-K9^
zY+SGR*WcW;o9E7B&V1wa!f#78xPAWH2qv7F&3<&6jLrrY55=id<PF{Z=G=6fJR$Fj
zXJM4t;=7MIUPL^0Z8iL0s@<O&`(>MM+^s)v6;-V+rNt(QGd-K~d`Z@XEjCIob}kfD
zl)mZEC1=uqc)3jQr+d163cK1rt-rlUe$j{E*nO!2{d@lJ`WoWcylRhz?So~%edaG-
zraiZkeg7oUv>PvFCg;cO(62fzs($TSy6G%dH$9y?Ki>I#HHW6~)~%Ghuid4b_38BD
zcH4rUc^Bf9w>|lpVbdI4$~kd)&jtgjJ?D9u3pMzyyPxhp{wrkrs_6g4iS<?9Ob-fg
z-FP-1w7<8U|4VtzzRi1gZ~i{_>&xBhKN?yS*)RMlzyB<~{JPY`&giXkr(0Lw){onF
z=l<Hf>HDH<_f7QQFTG*o{++?Kfp>2|vfsAun8w-u820`Q8Gr7X|Jn899^9Wh{rBx>
z@qgaDee<Sf`{zdqzaJ$0K6;PuT>X!2zvpiKJLPkI$#I7z=k?6r{|*0D==S38=9qem
zBb)7y`rA*r&!o1$_40-zmp`c`_E#Jh%Kx!GXyujSw+35$zCG*;k7~;hoSm;5$GG?9
zv2{(EkLC7fF}g>sb^Cp3ReZzI*z(x!oFcJ@hvIikyO@}~dtv@vt8GX3M6>Ip+QbI1
zSlz$X*c_G?u`!}FV(FtZuls9z-Ywd;VD7P_mCFmuY6|b!?0(W-Tz$do&DYS~7p+#$
zH)HU*vN~%2FJY$x`%@hmj+rN(iDrow3`>|C#}aFNA@r|NVaScn(#D8l50;-!PC*W~
z=SnQs#=2kpQIMU@(RO^U?OhQw>Bxt|N`I~~oS9spYo@bHb#K;{>|1`v9fh|mi)}i2
z=ry<5&UuALc0RB=bJM<YeZtxG-0!7C)*sTCyCM47wA78yZodB9yXREG&)t6I`5$*}
z5G$;5-)COXmb&l7+O_`!wjGvRb)@&guZ2A}8#eCT+<iZ`<%GP<gZF|u&)+CciC!P^
zWu4kXIrF&Ky(i;~8NSZ2U3G8`6ZeMq{ymE)WHc`Rv6*f2My(&M^Ya?^T-dqG!g9U5
zc3<puW#P~64;VTo9!`AGliPD_Vs(PC?K0n4H!EgvUt^la`{(3@&3f|>ghlJHFL0bc
zFZqkXvFfd<dt9{&e7E~A%;u1&kFxVuF8C|ACe^)+KWxv<y35xCTGf`Wn3z$dC~tT3
zR?M#}El*a(`8nxLIJKj$XJULm*K$?odDjhAeaejdx^CINrLVgl9b?LO>9&6mZv7&5
z`t|=G``3PAuP)xO_vhu~_PKu^%hxv*UY&aOY*XVB*RxWg?FKfFKYcsaKKJn1x&4}E
z?>E0=k*JAvcvXC>KCI)PpR`rejH0>jn_ji~@>e?Mye=<hJrch3)74Wcf2{0Rf4!ge
zSN(eZZu__UD}E+bZ~gcC*!B8LkF=BCZa?s=|C!C&|KG~^zVR=(bMD{i=Dk;cy`Met
zf3^OlPxa-h|L42>`@iDpfAl@@+PWWlPu0il61V*y|L*<y$^UoX)-V75kpIkoas6)z
z|K6{E^8eJo_>=#q{@wq}X6GOMBHj&q{?>2cS9=H%{!{Pt^Z%o#_xjnZ*|mS}pY%Wa
z?+N`=e~sP$y?_6v@eKRV{hRl1-p?J=@o#?f+qqN!)OYc}eNk@pr(wOHd)~|2^Panl
zJeQpIW1W3l-lZ~I?$m{ihws?cpWbuQ!!GYYxul7LewgS)=F5if-gTEtbjAhlz9G8$
zo$p8atQnj;9%sh0sD8Fu|7OD6B$kw;k8W=}?#JH{vt!%it&tCItoxjABl9#UPATK6
z$qD|Nc$3PP*{iB<Zgs!AFZZro)b^_eTx=1m_WV1%eztv&S^bOne;>YmXuo_|{?=7_
zw%5|~eCFTnqUtwY`(M6S$?T}r6o$U)HB0-ov=&)zYJVf)Y!)hS_T%1aj-S&`d}N5+
zC+%y!RaNljU(K%{Zt+=nNc;C|uJkFq_CCSTwZ%ecCkIOo$6=+syGzw~>|S1f_mN`!
zzUA^?8Z*|UD_rH5(YUgZ?d#?Gue<m1^<OpZ`n02!k1w}}ZPR}Shfl}Z=j~8f`9skE
zf+Cxaw+6HHVclh>XTIF*DE}GyV1r}c{^wteTKBP>_h+>bJ3K8*iErEUYQch8JM3c3
z-nPijYtd^n<dfpR?%g=`qNbFI^v%B2^?i&7=E|!~c)IZHOaXR30XLZ?i!4I^W~e=6
z=&5vlbMQc+tdNZ5(mxB@Sx(ffFJRS4=bt@GOw;K|edn|%=kKc-9B$11HMhd>RECF*
z^bO_XbEWvN?l=(`)3i{gKRsCe){bw^$<K}~Z!})Cxum21?8@A8*<E6Vzt*I)%kpKb
zolP~o*P+F>_Gp*yoXUm;E_^*A6Q|9sO546NFYbQ&1k)K6avD<1u5%(b#x=ayGw*Pt
z&4aqgKaB@-oZqQ_u6vQF^HqJlvXXF<{HdcK560-VK2l|h5_5j6B9Of3PUVb)tJCIQ
z++%gh=knuZxl0P?TmGc{ZSipa@Ku9rj$WMT)I*lL(j+H;XFPN)r`*#rN!x^9I3wL_
z(oBz8i&E1T&R8=uQtNqX)S-AK-On0x))gsEaa(nbC-;*AXRZFz52_mayQ7!yFq%`B
zYIRxg?490<8g09z##3{GJ9EuK*B(2yP3miMMw0G<-xHolpVB+Lc#^>yk^2eDxDT#O
zveo*w@9LhMl5_XxC%)Z%fH9d<E#Hiz>a6n@gH^f0={rwc;nwum-`@M{WM>{T*VFBe
z37;H~v%EH%(vzxiX{L~dkg$ktRdl}MzP;Jj5B%#^Zhvw(x@Z05^YNzVU#*S*Sa|*8
zn}k(fuf+rI)s)|~`Th0k$)DOaqL%lzy#5vY_t~b8-@SjTCCyj*=w=t{ufh`hdrRS+
zJyugy-PgSLaoc56ubusI`>uB<f8Laiy!>_V!gcNWDY`X_Uz?m;=l4-_-Sr=n%bFQl
zd>-A{^Q5J-<o~SnRn-T)7v1@3S;&5>objcIgqsMjyTPYbI`7*nj_zJ~uXDLn-sj$m
zE2V9(UcR3E*~(UC$3ES8vh(BjT4g>sypR8zv9Q0iyRSow+-A85VW!=Wf2rzoAM&%`
znKN(I@*R^V)!OB5(SN;Me9!emk1o7_lKk(<b+&Xvn-Xv1oi<lW0>!4QXQ<BD<=33i
z{c!d5m(z9Y_AZNO{`gw<?=HdSkH)-*^B>9b?$T|Wvshc*c`i$*uF8q%NB^=9e*0>+
zSNP+jukkOgul?bgvVm3bRmk~iU;j<7`y0)px%Hmt+Wm{{N?hfo!jJR`f9y*rV?7hz
z5*eQG?UnA|UDI+7MY{Y^vf0gaKK#o5b#vb2zqlT-LFu8TP=%bJo^9i4>qDQ@RE~0r
zt347=ye2$juAqp&!_RoFpZSrKs;&szS}D!?%5wJJ-sNKNj_fY3dfpu$Q^C3B{-yQV
zA76L;y3VcoxM-T_{uQnJG9LC=+@I{@|M<fH?Q{Oryy}j>VkNw`SW}_Zp}Fd`OMZOt
z$wrNzzw*Dlj(;THd)T4paQ2}pg$;GSe=G(5{A{~&H$Y>zdCT*F2bE6APr3}N-2d*L
z`1i4J$b(OPw{{D@HRa$E4!C!5z4XV|ykE;Ss(!b*rE0i6)&2S{>dQCXt>wD6s=eRF
zc7MAk#JZl9^?uOn>x;f_cbT5;IDPw-Lt8TzdMZEb5X=tpbf1zFlrMYnw%Wy`f+d+k
zdVL3$dhW1bny$9>!3nX9eb!0)_Ajh*j_f}ja&iCui@WPP%j=cveolYlvFK9of=kv?
z`=t%*-ml;{U&Q}@#a`))aorY{0(1WKCEW9vab>@><*X~;r7wOjKVoa%RDCb7KhLHA
z-o-V$W_qa}yE^@cYi)t6yx$7j@Ga$sMCXQdo4Bo$SS<W%zV@&3LsOTAOun*9JIa3P
zzh0OBek=KvHBCE&lpQ;RA8nraU~}-gt1M^CTW$s<lzHvwVbNRea(Ci_cbcBP6DLUN
zzRFdos`iTLXStSsrQH9^-=3%sPioZPePsDQNATLb1HXE998V6qSZu3*FR*%E#`_+P
z7o1%40$<O|*y~wa;39vn|HJhA!uvB!Y7J*SzhWQ%<^7x`EA^MWv<$o;F0w~qMl$2)
zreEe_e|ImKlpOfUbg%S@a+jYQ7yMxjtkco>Z`}JVKglHeN|i!XeqcY-#l>P%dDJfD
zJY?(s;VQzz%6j`sl}1#4@O|ft-_5?7iR{e{=3bbw(08#=S72svzVpS~W*;LpzM6d1
zn4%`q>!sng^sKMu#r?)v=Y`*zc6b?0UhQkkmD-<?*OrvGZDopvx6t>NrfR*FUp=<e
zd4ATPq^2LJBs67*ikC~1(DXZUA#Hl*#YgoYz4mzZvN%u0>v897zenPGyPsGeG8U?c
z6S7ryJn#LgTIE-rr$`SAtNzOE6JNX)O|%t^hz~s3sZr?~pvH7c)bm^Cgg5&G<nvtR
z>lAJBS?BE+n75tj{CAg5YsXIIMUnm&-kAQC>WF{8^4{DP-^&-BR(G5pzp`~@#=~$e
zOHtMT)1!WD&v;m$ne*TF;<BY*%sz`|R`vSdQ`#F7db;4<i5XA*yLZnOZ<YP7q!X=O
zxZG*gA}^Vv+e;*R#jOwSJliw5@poN*6X(=JiY=9$4<BBeX7OO1mvqF2khQ-K7I2?x
zi~e+Sna#=q<2SLJC+@BM{pjd3j%yn#uDmNLmidt^=EBFl|NiYIlWQKURh`+~zJBX!
zXZg-`+YOH_o*~{O>@juWJEet}>`ty(t#Ro~U5bv;`)MccUqAK9@}98%;<K$8Q`#Q~
zKbpG7MR|I{pDRzFOk=6fklSf-d*f7{+nx(%-%@b6m;PtU;+uNct*u{_Cp^7%Hg}G=
zaL$bPDd+dZtL(M?+B?B{&e<6UrH(B;d1<rOxu2)fo_t|To%QqK!-ZGNs{);R&TIGD
z=ie~#39&mCeRz|0`jlsy$5u|7!74MqPx0`dhbQ>Y)Y{melHDVney32jztu82w!|)(
zy})hh#O>iN&mHuF&duJD=eF~Tnbw1=jB`zk_OyP}JM($Pq$^!>)6J?+`^m;nyDh{}
z#&$XWLy`IM(nXoGxYOT+eC~Q)9(PX9dyahO<E(#qmNi=wZzPEHX1V{WyrwrbQXu{e
zw}{8td8|*SGS>O22St}}nJ;9aY(1k)V|P?*p1|*p$!mL#^Kq>6mz`dD_=Q#bZ0G0q
zb)J{nzrTCnWOeVpM<EJqm(=drb${Yc4GQQ@u{v_F_=5^Z>G~;*dG|7!p1iwzVpfvC
z^Q)3S7>nED+PSrwC&zsje}ALoVaMbrd*gO?#oc)^AtcvdvaiwM*-B@v%@daSPI*({
zx~rtMa#r~F9K$V}w9g#Z+kTJ9sq|QEex~QXN6q#o@=Mk=oSw?HeVess=0p*Wr2#L>
zgrx3-%$!y+HQ~h17dBR0mbvNfXH)K6$?%(7xm|nOB=G|)xW&9*T1$VmvidJ};*zai
zqR!EEkv*%=NPgGVOF8nxZ`~9R-K@)PD{W5L_D!}is1sEAayHlaEvM{Xlg%Bw+H%u4
z3j;I!rf@uZm?)xo?8`IODI5IPn9o#}GS-(pEw%HDZ+~}yZi3>z6P#YgUQ4IV_Pn*^
zU1{`+B|BE=ny<=td|A5w<!m0i$IlndGQIUhB~D*fxZ{<8)#c?93!j``x~$%5-I)m*
zhKd_kR7AuXtZ_MXU0vwkjYAK_B_=*S>TqYDXtLOE%__OstuJTFOqMD>6qxMC9e1Tu
zMx)aw)#jY2?91J?kFWpK+hp>@N@;Sz&XSo=D>4Ozmn0P4vpCW-Yf_<aTb)6%+{|Qa
z`*jtKjApr?R4(pQ<1=`4>*B*{-qU6zm$7{+7R%|jUUK1X*Q%|2tjiWoE?bha!++{=
z9@$Ou8V<hIE9~wa_x#!Co36B=cK;sDC)-_gG_uMP_?A!K%Jq_guU(Aw-%Iyz>Yp!m
z+>HBEe!tV6b8+4B^LbB|MXy+w{W$nma~0=n=Se<uzGhz9FrQ<I+Vp9!JZC&yJ=d``
z)P3?(t{b0!eu!wkqWD|#d79eNmebMeXR}B}8hhkw>q$vw#)-QBJ|MYq|JTXhHnYBO
z`suy6_~xD`i3>}oA8~wg$0#f0nAe^l)mxMEmfVlo_A33Y@E*T_!#j9#^i_288Z7qL
z++GmTRJ=zkIrp1X{mi^&>-EpQdhyYcmG6MO<Yfm%nGf#&>>lqwpRz{1)!~5r&)@HT
z<&H`Ixw~`f#wqLj&Q;Ecz5Y@unVaQxx^?xBDf>Fo&zkX<F4Q-wd-rBW@awg2zp750
zm0#ibM?3jZg^T*Xss4KXKPI16mfWlQV1C9A^;|jS_IlSR=QZn_>W>OLc5wT4ax?MP
zyO<o4TVK4rePfw%yN{K2m+ZE*-Njd2j#aq|DxDQrulH{Mq{I~;x)#NM$Xt=NWxbxB
zpVac+&8PYJr)IXjJy~(ae1_iNo+3BqT}$%VH(J>5&Y2fGb4J6;=M}=t(t$0>D)+M1
z^hv*69QJuCW21iJE~zFRCxIuo1B|?P7vI{kM*e!G$Hi!C8_|d2t2lq|`#h_CifQP?
z>qfhH4*t26v32(Ibf#1KHqSj61@o<+ueap*_^)Px*BsM(%f04q++A|8JM8iFXFo%w
zp1B^#ldYe`_<Pa4U0062QJC~zps+@B!?EyPm#%6j{NC<x>)Ff|nqf=-E_)ZT`s1#P
zS#xA1l`kYQiy3V2xgxN_$%O6IUc;W}?%|x%EX5d2jyZHW)hHZ&eIa4l<?d&mJ=5Ki
z_xy9&EF>y0$K`#=+xS;&(_|~8*?xxf3(2*;b2T`p+&t^K?isEX^N*aK$38<bVRz@D
zv&jc`RI)66y5`~L-RZlJEjg%|yQlx6K(6EDrU-`#{P8n`7qE6c+wpnV(Po)Ku7qpF
z|4S7f%N9n>i{IKO#dUj|J!jRK1Dmh@__^w4SK^1;M>u_WRx~&?-piCZ7r*tqztpo2
zbIYCO%^!r;Mz%1V*uGHEU5r0sXS<!5PlwOiKdX4HzIIgXy?1o&zImrOcGgta`E<+;
z3fs!#&vMEvf#ZC^0>`<ZZ}zVIsgv`n`ecgFqt(Jo^f^sWE=_5j%O8-J8Mik_X0NUC
zG=~!*Jzv*-+{Gxq@L6`LQS~%Mf&E|Yn&nOe*ld_^_voaR6}{HhBJ<emcB<TXE4aUr
zSNp}AHS^a?*?4xY(q+(?Q{pUkv}nV-^u<rKch0<PyvlOnAJe0Y6(+?pKlV{m5j@A;
zY`9xvQuV9#uX1PJaXx*ewecjEl*~q{{)W(*ZrluuE*ZaAw|D0E1$OcCQh1v#DT+wz
zUUla?wu&e9t>xm2M-I&LxVdWoGR2qd-xTs)8VVws;u$ik8<srYRbk7%=GX_X=f|Jz
zXJz-S<9*D$#pL>of=e=+FQgba-YHg^p<wi^^4lz3Wrl+VizV)z|IuXhaP>pET2;Bv
z(-zH~w@4?R|5w(98C;7a1boh@OMMre$rmeoaOUF^(N~J2S`PQK=cn>Fy-5FbrT@)}
zMRQ92vClO~@K@SzoFeD9N#ba_tgXT2g<@rCEC!vzf<=DIc9cI6`u=;x^(VJIMIQ7m
zn4_fBa!y0Jre>vp)nblc>0<noW<CFSzI*Ph-A5PupEh)OQCyTHvo}KH<{hRJMV}A$
zyz!rV)Qjn@Rb%~h@ii;|G*~LHlxen1og!c0HgksY`-SJ;Z^<z2yLqBCH(h4WM?+-|
zBSFrcKN@A81qR;T@w@iWq~$Ar2=AHF?XLao*Om15ExJ2d&F-77oH$o}gUS5uU1{mR
z%Q}3YiT4=ZTKPC}*)QiGx-(_Aw6H}s_<l5zw|SB+_jr^4-t61bYLOY8y^^JF*B072
zuSj_JDDBea4;uCY$~Q%Le>tt4@K`ZYw*0x+DqX(dS+ZB$G$S+rJd#Y~HeKpwmu@Gu
zTiT%fvf_SC?q>#OwnZ+BTh=Ttea<%h{G<(ypO%)UJxmap$$R{})gQJ8dp76U1h~DJ
z8mZA?vb@;4{5kj6<cAIU=al5rkETfn-n^-J|D{Fs->lMCuV4Lne)Z@1m!Ic<|5nal
zcdL4*)&I)Uf1kxNSmoc((Rsx4qVoCw_wpBh{<prZ|1JK_ySER1{?{)Hd;Z`4r2CxJ
zf7S~e{`}MN{1KMWgr+R}Pfrh?ereJ7+3@qNlHAPZ&t8&^A^)%0*$eXv?YpzOV-r`e
z_x#S27lQky?_9M&a8J*cn|9mlY;N4!xFemJ>wvvqMrF^#zf13Gn&yA}wpBbLwnqC+
zNa5$T_y1mR+xPsMB!db&kD#>9e4{<9U)+;C+T-oF(B~>=ZJ)PgDSMWMr1SgWFDow0
ztd<V#<WBndM&-5F|Mg$~zxp?S>OcRN|NUPu9q(yvpUqJG<^Q{T2mK!Xn?K!JzdZcc
ze@#2Bz8W6qvwaTvA1iLO$^3ufX|rG@bKtC`gh1`@a~Um#l)B?T7xXUw)Dy{nn7>B9
zFosV~O~%?;Le{v~e}fhOb8}sP;bm{r#QSH=eROg22Z>y!+n)_fn!TQy+&ZxNlX&jL
z+@#FY@4hd*{jm9#ZS<nW7bK2yf6TtIID1R&hWkCQo|`^$KfOJXxkTRW{QQc)GB?)$
zUGVzL?=!RcZ@;@ZZ|`Bo%gYkvt}WlzeNFWB`F5Y<|C#PgTr-JznpxcKiSiqg9-b<2
z`I7!HZ0q&e=kgh5Jihi)GT2$pdg<C|g{u;7tZ6}Vzq^>%-wMvC+)}aIw*Jw#mA&)q
zrF;#3X$JjCowHa}=#C7_D`5?P#?l*)4($=>5HPz_Z1(E8XZyz2x4AbQX*s27#;5*d
zo1D)bo*UXz|NnXO|LWiK@#p@<-~GR5)Bnfc>ZkIy&+aq-u$^np|I>H>@7ce7|Mp$~
zE1&+4Jo$h5m;W9=_ka4o=865u|J~*JW`>E60{`0U$L+ae`qcjZ|C{y^KkMf`QV!oV
zd;bY-{_@q<OO3mxK711pl;7d$_4Xu3vlidl$Kkpaxv@Trvm@@#wYbY5H~ro(<!zSB
zHYiszeZG4)_Nrvd)r_L&2J5rFuPWQZ$|H6oQN*XJ;&X;ZZGW_COl*?Dt(CGaed&AM
zH+8qqel+c{>F3y^yY_6l$Na$bwZ3vy+|q@=<Tvl!KkZ1TYI|5tv-<a7`P;S;v0bye
zuLv(;lFAETv;XEj7LBC0O#SEA_G}SavT0?c)v_qL{hOA)n%$r$z4r39P<!iRQ_enC
zOY`2U>oaptmbq5g>cWdw_WP_39T(Lqy^|BaZPxmAA3W6#%w1J_hONYe$*Ruy^n<FX
zfRwXb>pwQB_Z)f_U7;iK@$~$veb=7{WGv2aI?VD|`o~{ROJ*(32@%Wt#rq$LW_vhB
zocb;(y6@)oG+VwL_FJ5PPJX!ctMgr})BYJY->c>J)lG2P@w|U|qw$`;iX)3%t0xKO
z1>HJQFe8-Vt@?x1t5fvmBsP4%+NJC3xLoGQ4bUN<rZb)L9-X|szJ;H4f!7<GT~XSM
zeb$OAIi58OcuDw4{>VGJiCL|F$CZ^_-^Au$Ds*}x{An+XOQ54wCxe{(g06KAhq7%r
zkJ;VhT;t|!7*N!6on?#ZtE7ynb9wm=?LU0>(mvq>8p=U^$M=U9sP9N$JX!RV>Vl6-
zE(;Gx-IVi?NntvoJm<?g)<vSP-^~(?Z0KH5JNwp&MR#O5g&V@k7>uQ^eYhp5e5BEs
zVO4+Rg~Mv6e&4pw3D{hB;0S{%qo2~9_+@8vCBg&>gp3;A8S!^qDNcBiyjG&(eA>)-
z(D|Nh5kElZd+ucOKi+PZKldL?BKx$H@th8Cguk$TKiGa_{Y2q5lY<@gKbI_iIOp^s
zo3*9AX0Im8*eqi>%y8i1ZN}a!yk;khi+3;^_!xCP{(6UVB3}z*<(HWB7Ri(o{0r?n
z-c87DeJ}N0LF?n@|H2O{4t7oPW=^*dluTtl<38{1*3a+uHyphbyLqo>{W0TCfxuhe
zB@B5Qk1n~i<iG)Em5@(bd_F3DQw5CgY_pK$%u)4gU|GXrS*7$?Dp{o9S3%K=mU$M5
zo0jMWxTvtVaP*%R@S1HH{ASaM&-eKAf}CFS$p!U$)G4LE*5r_iE-^M`v|Q=>-F<_|
z);G}sUrXM~Pxo)LS-YUj!R`IcrqH)j?o7HQd7^b+zUDm3)Q>yZq}Z&x0<H_Gs(#}P
zNPQvkJEi}aUanOmSM$rGj0wHJD$X!W_BU7=`#&$)Y^#RzoO4PWClox4nzVSs+ngxQ
zS1JlcQ78Knx0vN^o0#$9b56-4FTLcAo>F;pn#-^Iy|;4CNSw8-fBJ&xiZzTIU5@VI
z+?Ql1AqYCpb4r4Ev6*_qqHD`#d8JIHrM}0`>Is;;{C)ZdpQ!yRPhTsj&C?2-w5Ms8
zMf8yw!NyM7Y#AQQp0LPHX_09!S^Tay;=mnExwaDLmbXmT756_3yVI5;<&`IK!#1dC
zDo?bdpna=KQ2)>7n=#Fr0+-ZIJ(=+&CU}uDGrwzr;lri53qLq7*tl_t<t6cHF+z*Z
zXL@d3cxTPI(4Ld+nm<Kk->F><w0PO%BkbgREBnaWE6PscK9*S%z677*@h<W_P@Z1A
zWl`pfg=LB+1#+d50@VyEv-1Dwrtt=<>A!y*#iX{qeM(g0sWYvd@;?^%Xjw$X-d3$U
zvOBD??HHTfCD!!tYYz;3J(eVkygKReSR||{G}mj{tlUHOQtsT-Q#n{JJ2I?VIBP2B
z$#T)dI-)Gwj<+oIdNVOs!K-MSqwo2()~TCkH3y#*NH%<D=+?UKN$H_`Dk`hn(|1p{
z5r6ipdeVW+si*Bcm5ydA{FEyGbj&aRk-w9G*ao(}j)5{6tBo>uZMq;?_2-I0UA-Q!
zgPQx|3o+J*bxTf9VZFNbr;_r<dx0qvjcXHwFRECadLPInxyMJ=%izwVw}zK&E=X?P
z`z3|{X1?$PXYq?Kej3=_i8<KXW_Wfp>*KtuRn2Kyi;9<=P}L1xZTs+8%M9k3-IsbY
zbF+lm!WvTrE;$9V)hfN7@kYg9Un5t7Wq%}#h|ea|j<oId&ll)E`*}~TFo0vq!TGZ*
z1V0LhANhBsZ1Kxy3JD)hGdlmg_I~A)IXc;HKbQp=cg|{?Ww89Xg@2Hc#oE4#U9thP
zYKLxYO>|nRenC7hsO5``MAWlgHrbNPO4xPdf+SLA7^*zp#9nq@;s&?$)T8nhA*XGQ
z^qouZTw<Wm;=FIe-3`a)upL`*_!DPC-0kf>Yo4eyJxTv)C~^8xc-?N%kNW(NpE0j`
zGAUvP$Lm=~;x`@lP_o-5#9eJuc5&~6>H{VwQX0{$t8A~ACB#(R?D1pX$~nW5%j;Y<
z&tbDS2NYKta5!k4nyOJeY1ds5ho=RHH^tshc6!`A<6T#=c5ClrmXlm3`%W21BxSr1
zGoSSMMAx!+KPFnmOb=iCjNzx+);3<pNss0PHcMDK_f4|h^3jwt@!<u{Y}Ywar&&OU
zc_wbG1|8<9_P=-gI_P1Zo)0!DhNp=bowuI6tyAcdwLin>n&MX;8ZmmA6}GlBf^WuJ
z)+ulLV|cH9m-O=&OFT8_@+YaCYMnptu+viS)swT$E4?x&U4IiGwPVI!jhPX>Ob$oC
z*4sym>|GJ1n^vW=y5-V|d08iCPw7)wE}Qu~_0&lj?U`*tXY+T-?mhHVP}lCq>*YF=
zcKmLcZDg#H>#85wS&$hfYj|vD>VxDNa@&iS_}I=#O`r0X*KZ<c!6$*=%`ZNGRoKwU
zyu@K)mY!kI>N=|;bx(oWUt)_|zdxTLIq}HS><5Qr+p091UnhL|T#%mBpu=_A`na>*
zlY5N@%(@~cv$Pa*=H0#Xyv3>Fr^HvD9;UX;H=;Z13}bBnc%9Dd;*jLfbTK&`T5v4;
z^#Y}|aMq($^B2lSoix~&k>yhLi(Bf&g}W?un?s!M7(I(}IHZ*F+m1gYg|STj<at#F
z*{o?d4{za|?EmB+8&~|%_@ssXI$O%h>TcR(t!XUyA#$-|Ci^POK(W@dH}g8y^hnN@
z;*@&MGvU(LglGvPpM9)n@8}duJo(8Ud04H**wg5q<EyCDiG?Q^rrR3LeC%+BdqYfG
z`wp9Pw|Ip^w~8<_Z*J$j%aj}aXw7k#V1vothhyga%h6gbaXIbe%pJ-ilMhUZak-qh
zLbsvBx-MX*t<<(HOL^C?jyRnfP-u|sHfdpLxB7116XwrZ{`$W86Vj_{|D4N5+2Fto
z*$~Z7Th;q4=h(`y&7UywXsp&LN#1O`w_6;#^`vbLr+Y5)ORkRg(!B*f((`UsQ5l=b
zO;yK(u4xgi{Xrbe)2@a`sV|P^S$z5T<cTqAM=bofEcTt7e%Rjo+9d~%=i(DIi#JUw
z7wO;e`1vQFw2y}BcNYC_nyGSiwL|HnZ3a_>_-^zlx+E;xpEmtM=$at&D_Y9QsZ+~r
z({o-H6&#aWXMf_rx=HiqF&7E>r0Xd9uHQIo6N`A@i4SJkEkV0a8D_hzZ7Sezon~^P
zf95;8t%rQpTq$BNnlH9CDZTf%)|RWXVQaO|AMFv6$@#`9@WS#1-$Jn--jh@I=giu2
zk9Ya1hi-FUTKTR&A<(?!@PygdVvD~&we!wP+$VI4?Qvm1&C3h^Zqgsl&y-J0-P-N-
zYt!q`N6or=6?N|i$_lNT(jvXd?y>Y{i@Qc`K_+L`>J=I@UG~1MxaMYNlJ8NTB~!QA
zc$sFOT)`o>VWI4YzxSTZDm*54i?O31b49Dhx!zL0`{_2*8>hJ(<J0Avazo&GT3k`}
z1-XUs;gJn5dPRTAKT?07^^8MbN4@opr|R3kB6(aB4;-xI=9wjMOvqO%iPNB=riWYU
zO+v_zj~=mxB`aN(-?=RLCjaEk)W^D8qT94iFMDx%Rq30SEhfhj`WnB=y{TPrKg8GU
zYU{fx)<!3co4sFbiBQU0aCF7DOJQFcxFbbg=}p<l{~~49(^Ur93$5*rsYt&_XBFKR
zmLGlg+pMpv?&WQp-28E0<<D<_UR|n+&)@ngefn9q+gABAAKE`(zxLP7_1AVkyJ<M1
zm9L-Ur^&KATSNF|Cso%bOFNv8xW&F<smxL1*3Kzg4)CU}W>c`bJ2#;5qSfIC2g5$U
z;hpOn4?W7W6n2#7Bj{0{(_V2#RQObVe(`F_y+e=x>YuyKo0t3HZoPQ<GZ(Ez&b!OD
zd_K9C@n#OYvfPiy2M(qR38paI>2mFyzjc|xH|8DNZFmlrxfrQj?G>KX#`SmJ;ydaw
zmYqMiZj~A^>s<2d&58TBk?Z|a0fh;|$Dds{3SX-hr64w=Th2ab`r#ILJ<E@b<@Phu
zc6@qruBb)bN<vS)pEowWgWWMVBxH(@>bBO2pG?lp^-s-ncqljHb;(HswUqW3=e^$k
z_Y_g;DdE!GrB?l~FjGFb`NbD+zOAnXlnzaHS(ErUF=L~xev6WGZ^?x~i!_PZlLe<b
zxnJm9Yhm)^ha6kp4DJU(n-}Oy{A#>y&e*@vQClr_b;1{qOBWqO=4;F}f9Nmc&$CbQ
z|7IJXr+02hcB)P~{Pib`#IL&l=L$F1+%-?=`H|f7bj^fblY@M`ImhR+#GJnMF5yw;
z<Nhf%ekoG#<~>|u@bai&qN0J^Cu6+{llUI7=xn{2@;zUct4gB7U{gR`%(|wPF2*;F
z-z;C%`uuip=00!VMv1Fi7bf}a`hI;!OILSi<m|sYZ$G@W>wWBRyYH_iAGb5MX#Xa1
z;Ge9)q<m4Ujrl(6(?9t2?Tn81c&_=;P`Xm$*R--LpArjF=j-f$&6Tflvou<Rt+4gr
zb`#Bwrk6NR%)Gs314GU0`wve|-OVB5*!j<mdDnfB#^*aFclTtiRo*6@x!K9at#SQP
z+lT(s7TlZbldbf2qR9=<H;oUXu1glwHZ`@KmRxjK!F9Kt^np#2uD49}uus-L$>*jb
z_%z8a&{Ee;&2d5b=A(U_F9gIc6#lI#UNGsN`b)poi&Njd5Yb$cxn3-|oGo1X+4e)a
z)k!Aj`Y!gJ;L<;*6Tg2)gVx#o@=Dqh%sEXChP1fPRJ`(|FJSNNo!h$;&vG-Z==iX9
z$92t}dp;&!V@uw%*nQ0{?OT_f)1%rdcmz2V*B#j<(Rv_(ZB6Zu9n<1s7P)(8{9Kt5
z_W4Bp;mtu?PaWU4echveqm<U1H}+-~a>hF~4`rXad@T91YFyISv>E!68zn8m4{N?y
z?yvQsagLpg;)HmH1H6TgXG|CS&FHz-rPLz6?a>*=C^u>I+6Au4PFlNs+OGt<xCm_)
zU|hp^Y0JjuT`9b!i8hxUSzcb87*O_N$)k!V7uPGjbK3cL%VeJZ*h3xDa+Y0kWRhR@
z;b%tef;vZgp^IYj#;duXy_U{?Xb~ND=0N@G9@dbaKgZ_#1{B41Hg&Hq+{mjsJ+e>z
zj-bjT(dEm0Tn~FcDL>hreLUuL(V-g`*JPUMKYhS*Eh_!(F|`s+;Uh}gt0K+jbUf5e
zt-POHGVSgHXSb5ZO6{fWdXt|V(r|lcmTWlXiHdTuU`253a&9%z70&vSk#j$sdigbU
z#=HEjC3HQWPqdO})779*FLw>`qpi!1Cw$-WZ-$Hh{&PpIY_@z`<GcDDlhnpd)Bj0S
zJQ27k#`q@f?P2GM4y><VN0`3&Xt2Ru`N=ZjlL-M)DY1#gSLe=+nEKi9?hGc;ADoI2
zFJ#iV3?z?fC2v>|8S}|_YF3g%@q=Uz@jqfgeu+B93!kKh%$DhPe!brG(4idxS-~*}
zwp4l^cU+8oF5lY+l}DT|WUM$|qRqx7Cg%1qK704oy>p-3-dLQxe4g*`7Ykpg&Of}P
zXZgxQ2J&w=g#4;=lZ$>?qflg0weIlW$6uPB{bi4Pp8V5Jc==_<X3u*n*KamW?cZm=
zY{|^Y?TaVX_Lu3;)j4r^k9Wf}c2Bw9!xdI#9j}kqOv^c`bmIuS=bSm8HgQZ<U-VRD
z+4pE^RTDnD2N_Qo+pb4ThbnygexOZJXQ5%#mXKf1?f-Xj^KN+K{h!~h|HXdGrj4?}
ze|Yr1xbi7Y(V2R}nM<d#x!7TX+LXs_JU`U$9XT(&yu3McZs5uz{^zEd|2?t5f62<+
z(CUY4H%u(Z?%=W7d2X#xnauJVJ7?%Fcp><lgVDqOq_x9jWvBG~&zHBJwJz8Gc>Pyc
z`=o?@vo3l`s(rlCetm1H=SPmXFxTB`-0Q-xbVhF7+W3BbsFASX#{`)vHCwl?lU<Yh
zV9AD;X7L7>4&9!loA-@X$HFS~<Ft3q3v?zLP1<O@ZSm_{Q6B#SRo+Fp-nWa1Ud@nV
z#B#dXv@&wTu2sJf2k%ubsa)H0(c1J+yOONork2%fqvY#)F32)p+xzjb^eK7iwBMo(
zvkNyCzLl5zHvNA3ft^c^RJwkhw*T?*<<on!C9<ri-r3{l_sy(ae6e2SY5n{=Zv#(1
zYyWh|Ca6xJ>h0mGo)CovYu|qDpSttvQN=e~`8gS0%iHIjah}J2y<KGSbW7O+mg`#G
z>G##9c^^nMwM|@g{OjpsdmF#98&p(_p8j?3m#E$B<;!RP{a4#4*?#7_UNh%z^RQ=M
zJ#n3}SMe}7H~sg&!{OC|nn_zajveI@=lkRA&b{PDR?ocO5|xLqO4xprsJ&8lXyU?Y
zPuotW|62N{#Ypqf4^d~+yygkDK^s?Hebu&Q$*Matk5A3Hr*5)qmlgkh{gkUuzS!(3
zJSMxv!l}h=S-Z{WJ=?zVpEu};vzCiJ6xo`d@}^1l_A@oTHAmx^MGH6+|1ST^<+JxJ
z_np{9C$3&vR_gUKFy+P67hdu`0^3i?|Ekm9bDt|UTZrk1Z%Oilzs}M3i@7s|XWtOv
z&B<A@%==f-st<v;re5eZ3+;Zyr~KO9yCQPZEk-SoUc=m{88&8>vs?To|L~lkkaF?z
zR-I>Ud-Nt3G4y(G>T+fI%j)d^*s$zZi%awIV^e<Q&hfj*bHGlq)cj{}?3D-73Wl<?
zP96UFqH3+~F4b)BJFi`fpL?kM+8ng9&+!uD>(6VWxNdF!vyp4&t4EwGFN$rGyzp?_
zo!6)KM5}+W{dDfmqoq%7Oz61O_<zO?)iTWosRo6G^>dRZ8oWKI^*5I(+g&U{LiqKs
zf4&}-nifel&1_FZ3$;78)`u-zTi?au8!`V;<gzW(1!ONNZMl-QMc?{scN%Q%@tU<~
zqkpV@=@tIg?e&_vTMxJ${{C5XFK@qnzU*h$`E~d5WMa22FzI@<HR$h`=iF6)zU|o?
zuzS^^qm|rRZ{+vfF_lxBaIy9Ai51WHn?z3!|0;a(*EEOEuO2<wQ@4l3@`Xono!6Ud
z4e?I;tvTHDdfymw1=UqESE^aCKb%{>^iuso;k<yYc31Y=<sFFBt-h4n`0T?8PT@Db
z#h1Qs`&MUl<KM<A+1@+7`&%Y|j6dq=T7UD9Jj3@LoB?My_lPy@{Qda!^xeCS8`qut
zA3gW~cB}vSUp1fn+5hcl=<5|1*SXDKblm!Xesy~KZ-v5t_fOy5d-bos|EIv&`n|tC
zW-hjRHT_ud!)@!`{+-Zm%r%h=KYn?V!NpgL?;pFvpKEjFT;^j%`@ObbfBfJ6ea+ci
zY0tXn>kkxayRPb6^x=_r=$>xn)6(yc`duqC+r2z^qXW~F4a+=q8BSf>_2+)R90Nx~
z1rJ*@V+OzWL{A&G=6Cbz{L1ykHYgoSDzqqxDcCgGxzqi5(}ruWBxgm*-@Ve^^yu?S
z^}VtiE+v@g6^X6nIbQ7A?wdc|q9|kfwUb$kE`1EpVfz>R<KO2a7dL#(eN?faM4eB*
z<nIwq`<D3@TwgywKVrykYjz~y2~W@(;o||--9HppR2aV$RJU97Z}Wx!E&tT*bT9qC
zq@rE@m;YbS>-trTR&ToSzoO<ykoc$g6ZMM!TmOiE`mc08W8L}x%BPi0U;dx@LRj&C
zWsT78oQvCT70Bz}vv~b}ifFbgRPp@xZvT$|d1QL3zH-ur|BUPbEq|W3*Kd3PGAI5-
zz3a6nofH1wU;U@Q{ol-W|7Cuz*Gky<`%}F9OQ~1?S9kpDkFhhiJC<*~Lgi4*tE8?M
zWld^^4+IwV<*7$8Gs*a#o&C1V?pNfM2a{&=<<++6effT}Jb2Qo-E(jE-9MtX=XJM;
zkH+4cj~$%ODm-MJ87sg0Qn-PU&fac!F7urw){ZClTUH3%s^s?jU7h$KcC~?{)i1f9
zFYg`Xo|In2UOqv!l097fc{zLdH2=43<xUMhXI`rF(qrKD`_QKHz@6ox-+KXrMq$on
zl1}D9A8KCsa_#@^xAcMeC*4-{iQSx&9G|D{+;0BNGLNZv#_5NN8P1co-_E`8_}Hm{
zw(k#jPuno>)U_64yBIT<=VJWR(n}8hVC=qaE&Y9)@RYEI?H9rwUz8=Wimu{)Ha+A;
zS%GBhi-a{?nkCkCdsEty%UcaZf7#FdxBlhvU;DMb)a(8F|K-Mi^I1OWn`}hG4t!ts
z|MA{^tG~+r{yP8l|I3Si?+@MZuQXKjqrKg){iWsG8_wOk-Isnxcfu-`ElgjSx1OEp
zUF2TCr1-z}zyFW_N1j(t_<!cIW!IDc5pz}k)bCo<^+#WCzWv|hNAH#DP5buk&@H>4
zt~X5fPnh|(s`~uB9fz-;+t}ok*5P4gp|7Lywk5XBQIY3<vBmelZ3iEA{4TgxE4X^O
z_{-JOB}rYDysDY+bDo9RP3<n=c#}Bi_@B;)p7-TB)Y@c{H@wPxbd2?r`MKgfy$8S6
zby}6z39sgv#1i~QLq}Zviu69)$HyC5|LVV~PyEmQv;T>`-<vh5fBoGS&-rU#bm-r8
zw+CBHgg(XJsBijTy!pRL<a{5uRU7{A%l|ijML@vrzsobEPW_*9JUQ~Z$c}#p&3$jw
z+t}?3Wbe`Ef3)}Ue?FyO-R*Z@B^L;|HC;T$5m7#2hgw-&;G6#&=QVp>n9FysMDZc>
zHFg6h`x(~+{_ScKWze^l-LKd$vNSlN{Zj0X-&ap<^4b1AYWCNg3rj7HG?Lew)G+^x
z@cYkWo*rAf=gpC7IXkb<FW&qr`15o6yxebks+9^~uWfr=b>SE5e$fxoKDIwr*4cLR
zepCO_;J2sVdd8u-Prp{L@ay<5B>q8hZ{rt#@rV-%T!-7|X6A}L`}c4ozjx$fU3Kn=
zjFfe!vOXzt)OP+$+7LNOR9~*ntfxsQX#4K%^G+xyZ!&p$HOSO`nwjCWS3%+Ko6P2E
zZCdzkQK^1)vz+Tu|Cpw;`gt<DWs`C`W-G-0&(6>J_24i2L+v??uQpu2#3cGXMrX;-
zm{)pY2juSSiN*Hpnh^5f;=h>!iBA88f6c$}|46&v|L$vxR)zl$zVb0;%7y=G50+o}
zKkLH(E)fTAqi(+0eHx6Nyi2b0uh<=0@kIUjwrl?qzx>UZ<D9wmg!9C81*~5dXCH6u
zmAn6L&+GGM72IE}!-ZY@t2nJ+vsPtTNILn7tSD{|eXO^p-TnQ{xo%NwT-wg_nVgs%
zoh54cPwy{N=-X#z%T_*hY~9#aSG=U@nCFW4J4;mGT>iu+R$2FR@{$wIuAMDwjqE>m
zeKycbk$zUR@C3JOq`;l`Z?<pnl!?475W{(Q4!d`OM9oX)U<Y}RTMj|TnGGsG*l%!8
z`4V4Y_~-NcyVs=N?F}vDW|3ak`ZMw4L`OsBHFgmiyVPV3bu5vv{PpK@%(@51-v6Fk
zIm6SC;T`Yyx_hzyS7&DW^}Y-VU$#nf_OTH8^;<ul*rMYaI(6&Hp5q4$g1%f0iS)a^
zd8?K5+Uutx=Dsk_Rw;jc`q{QmRct2p%J+}0af<V{$?Sc)w(y4HEc3(Nw~tjRhS)s+
z`Kg0zg~QYDZ*3;o9Y1_nFS>F<@>v<@up8>Rp`m@OVUOycoOxgOylO?Y$Qe5g3DK@k
zI~QgB()e$6-E8gDhdN2g^MAYVPWiqlJ#$vf2aUWQ>qA?;jdG6fYTg?<pHW31lJ{*a
zXPo!xXWAReH`Mj~J;ohqpjWs$H)oBg!>@BYrSIML_Bbf#z-4FiCH#Q*pUr2c$Vl(G
zz_hZjqCj5BS);j4|Kdxb$4kA|30-dFeO>VU`4h7#i~Lt`26z2!V3p+Wmv)etaO!;O
z+Zb79sr@0xr*HDP>!|tWO7s1kdw(CwKeu0VuHIm&eBHi32lxGXX#4eo!~Xv=eB85L
z9xp4nblyJR&L(D;-q!;T(<2nvy{FzQuoI3vVAp=MhUH)P4~|^#WlE>4(tOjItE7S@
zFG*BiO7ac7%DFOVw{DTwB>w+%*<>@PzT_}kadGJy4y|8#D^{#no2k1jf%En=r;}V9
zn>POW#r~POt2!<1LDKHe40qpcSF5iUIH;2)_-boZ%T9$aXAkdCH#%*Wqi{^~QN7YX
zbr3PV=f7*!xhs4AXY;)IURd=1x{L7F|IzaQxxIGjEPCl!Z)~=$bJc<+EO#@UTOH3X
zX#BF9`*G{>h0Ya!TAy2fE8@SGEO755(^qd<k00?j%4WK16e{e!W$ArI_sajj$8I?2
z-ZlDrU;o=Z+nn=TPBFPA{xPg*7J7Jm1GoPF7s($o+zuZ9;JfOW9KXUzCbuXR!-m@b
z9)aH9I~C<K`0Y$m!)1)7m7SBBq_HKq`tnAzSjMn&yPz)@ckbJ=?0H+-%Llhp%w}tP
zC%E@8$|UaAwJ~^R>ni=OXTqQ7AFp0uU&7IT^G5miIQ_F$w`!TPS3ctmn{kh8ds413
zOZS~WT)*^_c!hueV65I{zO7u0Z}S&}-yW5dD=e0^mmk*)PrJ4B-J`<&cW$iaS)P({
z;S9gwl8_Ur)g2#Ini?+6@9ljmF=-Lc)P>U;TaWyyonL<Js7Ar%&&=kM*F{{|lMENc
zDY0ESy??pFw_tfg6=vI+U*^2u&97{?*Wl6Q&1N0~LcK4(FwDEUa8_}uK<mqiE{UIx
zb-Kk?Nd``z^LufiSd+MpV0jmN!m48-9Dj3_9m0b@=>Kp}e_y!xj<3^$ZSswo@uyxb
zT@?Jobh6#`dw~HRNz1FQyuIbk$sWif$;~qN?y`IJ*G}3O{U|*hIx~6S=az{5+FvZ%
zUYx)F{*vjg$5&^pJo)j$BaN^9ySAF2%KUiYR>tzM?gq7sS2(tAvEl9Yus*#x*kh|v
zQtuiM>C+RZr*1W1;$36+c6Gq#Q`6o(krMCR=DI9%<AqJDG9pyBtX4kT6(KP1qd<$P
z>%*ppzqyPxPuRZ^YYu!HxLs$$(qlItXh$BAHguM_bzA+#k(e3x^klo-H~YPiNS}LT
zi;&;NDV3sUGxr}2?RZlkz1CsvA=$0&evw6Qk~$SaTo-C_g$AzZatak$rKBDClOx0M
zaAr`*frSxG>k5{bsA)O(T{qputnxZx^VG`nnKzQe1h-VoNOa=(w)l~ESAL?D$_%f@
zGAWyEj&>Q3iZh#;BzZ(blQ-Y2T@^du^LSv)+>0-+%+!)tCF#BInn-`}<<&lW-f#(}
zyu7cqDP!&QD_dF5v|c_MI&JO&sYjZ(O->x#S8tM>P`@d*Iy3*xoVntM4he|0Z7^tQ
zRn*~0Ocda{X}i;SS52?QHZ`|x4sYb=tQLLK{b5~WOTO~7<1%Y|Z5zLDF@44+-Lv$T
zRA{J1p4jny`#juE3%X648j{spxWVe%A7y`^h4Ye%0~+NrZymbCp_Zm|_Gy*X>^aek
zZ@!7y?#4FbMwH$Bo+~#?Rz<h1(b(Ae_P~oi1Cy48iaflD863{azU$%?<f^rvvCYZ}
zQaJoj{K%)qD?*O_Qn#KtD9KKDnP#57wB>}IV6-al-7D7jR!`ux{`}m5%{S6c(q#d+
zl7cc5n_6g#xJk0_#-)rwv%56aW<H#JEuuU3o^ik@!-Xr`jHmv-_j$3YeTpvs{n-5#
zkqrG+m(L{ytUdo`(Y8{HT$X(YPOK@l-{5cX@u<U!SuVkM1uxDK3{bN_sw}_6$AsTa
zVA=Fnkpg*H@nvE)U(F6ocS=y(Zq4znYStUm)c+nHYs6dh=jF{v+f%#wS(epJwYQ;M
zht@d%JvmWd;8wx3^pw+|6j$^dsy7eH%<B5=zH{mCGq0A*xScBAqv0od@7|rhZD|=D
z1^=bxy)y31IHlaRY@0y%5^moQV(;#4lQGK5$S!tOy2L7I`fjc8vE!Xm^406Mx$jm=
zy+7;a#Elv|XUhG~zxwHcpT*foIZ2Z%1wP+qUoiBa+9lyqQu%tu@BGlCHlb2U%ahC`
z1@jtOJRTpr-_FgVF(Zs~bF-xBgXf!6IR4$rw|X-p$5g{x(8c5F(rufL=XRT1mzsEQ
zPTwp?gFhu#tUTO=Re~2g&2l!f5xHc=;U>-!y!hM9<H@hC+eN$RM{;GHjmUSpnzP{J
zj2~MbDgWBv`7eLb|Jg78PkZw}ZFWG(n%vVX?=kA_|3BMmn)}Ir`N9rei~dL7{=I*q
zN$Kggm137}D14IL^_uOHXji#=->rLUPd|wI`OAC!Z~ro7im<!04BwtDccvyUzLtMn
z`MBS|q@4HPR-Biq^ZWED{J;dK+LsqTmS1B#_G<C^@)8bNhh+J=hZrp6WbA*vC~B%J
zJNc~S<g?O~&&saPFXa02JN^1*xj)T6KCY~N`=_sTVz|QV$mjXemLH_b{`u^A|Hwf3
zO2zUO%6^if|4weRJNSCbqHkX<7Rxqff6S3QCzE?aVaM^k+viliKm7iZe1huNTN~|J
z9^7PpV6NzsT`%$J;qmK7Kjg1p|6gN{a@?BF30L{n-xpK-x8X+O_GKn&44fXaF6&u#
zFkaDcUH5YCU9r7FPaHS8E39j|ef{y~e;Zy@d~C=*B9o+?RL9uPvf{w=zfo-K|5b$A
zENYhYNeOMb*nRe<@;(-I14$46V`=<yYfm`4Ui~7t;X(Lb#yXCcM73m@xV`@h{?0qq
z=T<WLR9L%yeQhiU!~Q3pJj?c3G`=^HVhR5du-9nL(x(>ZnP2K#UpISKeSGgkE^`*S
zhP$6W9c=Gh=62`Q`fGDsC#_=sqAA9y*uFIBYK}y}y;FYSX1|_>o4rgre<A7DO7EGu
z{X4Jxyn0l9N8uEwPG{5KGQC^l1AU$rxvEX(mB{i8i&|%VZe!g|2cw{#t=p{+cCZ&e
zKl<Qx+9#fCEQd=2Egx!aa+C60eKJyYR)lKO)D1DJUsgJIh90ua)=2Mtk<{B^dZ?)P
z!t~UPmr|0PmP*$+ZktYeq_%!hQK4^s`hGvIplg+Z*738RJO4cMVt-$#!|ug*@7}+A
zRQasB$X`K6*>jF_Px<}i(&m5LZ9U=Tp7QsV{qLS0J$f$k=Cgw5cVZ9p@;omvKD^T?
z)cwKj948qziz#ocY##6belE@Lo5Z!&7k$@L_j{X6&Jzuf<uZQ|Z`3RFZ|gg=)K<Q#
zy>iz|yN|F(6u+E3DQB0+d^P^dmruU_WHVPh`1$FpE2mn_ijdr%Vf(wFmiJ@Tt%lm2
z9kx@ytTC?&H`O?<bgn)+=#b5=G=&ZM48M0z%ujauU8Zn%aqo?Hf4s%h*4tIx^<J56
zW5>4UCDXmzf1_5O$!Q7r6`E2OWRP=)b&hN?<Hx1HmEZhJtaUrU(K3JcuI+L>Dt~t|
zul%j7!d@YF?N*^KzZ|oZ%?{=}8*Z-c;eE5C@Pu}t{+qW|*L{~yd3WlYz?tCV3^Vow
zJam4?``!F-WAJXq7q5T$YCW)>aCqM7TRT_P1YGg1ELqv#?%?)6|JrATnFoKz6!ZRT
zPImtxZY3yV?;vYumR%&Ny?{I8B-4u?CgH$ce^b_$@$)lW<yiGE_1)1=Kb_=HiA%pe
zcf&!I{oH|gsSh7l^8XatcUHdO{u_rX=7f~|<Qczs8?xH@c0RZzo>$^@d{uARy49zC
z#7w@rKb;}q)xE~>8~eV>*Hk>ZRk6YReEwqLS9Pr?KI!amymTYxEyJyb4~)wdFYOD9
zxR!BLME6ne&-p#qKOR$gxnz3GIi>gRPyToOk)QZq`BS~iKYyG5$Ho6$om|iLxjrRy
zUPkAi`5!Zkgnrt;J^4Rz^83%+%T^l1tE}kqoT1AUI?q8pmf`5x>UI17_<C8h)^jbC
zERXhV=Z;%(LZEq@>pWR8rnapgpDM4F|5_g(JNN&W{^A7T1CQqS)fRM2o+0>iU(1f;
z&+Z*MsAaIEr1kieCar}JxK7GPJKeq-^P%dw+8c9;IcD3`Y__q7zqvL^FecAye%U#9
z&X@;{><pJLZMpdL-rk1~op0=zm=n$vwR>}QNzUQTX6HY!?6_vszW36!dbPhxb~5gm
zFvWoFi2IBGPXEP!?Z5E9|4aP>b&K;pTmCEkjlcZ$qRPtu*|XHX{8#%@zhs~DQI&vO
z3*8<)I(+Z*;=Oyh{r23jGhQ#&pjX3^HCyo6I%nmFQ<GKNJ!gm|^!z<0?NQ&FVm%?j
zwDQmQfZ%)foR6JFG(Vpd`I*9HEA`tpKx%Eou0PVJjTbyCXKiCEkG_3%bG@DZL^=N{
zXS6oiMQeYksyMjm+CRgHM8>iY=l?wOK5te%-5}u(ciDla`Fp?SUH@%0;m_u*M{h0_
zRK<U8Ds0?rBN5lfzu?KeoY|kZ?_OIPwvd^<DJHr)=J<u#cPxK$Fh6IAS@$=;JK?d*
zpJul?<@e+N7u9}sY+AdfInrzWy}!TQipmcNF!bM!xFl~MzkfH|bdUA-y=qez%nQBs
zN_hE=wA;<BJMuH*;^e-0A3r0hG{^3)PT!wp))q?_#|ytucd~btyK4Ar_Uk=U`f6eo
z=5zcMk>>25_&+7*jhSM-+64cWKP}t5J8KuHMrg11T@yc(gGpiXAIUP_wR{&svi+BZ
zOn5paz3cQY1FzY~Hg9YEvF_*(7az8FM`Y5SPxfDtiMr-{{8owT>svoPF1kPeb!pZ-
z=~+vg^C#cTS*DZfEO|WYTH=1bmu%sW`buv;PRwffxc1k#l<WJC&$<4t$mfNvmeYGt
z9`1;K<}>~YHnZQ%Zzxl5ms|cYzJ7n*_x?AlIcGA>`?mMtz4O(}45QW`e>^p>NA2;-
zWj-R_vFpRHd9_YGsGDtb^?2~j5S>Wr>|3WomOuXLBj<nSqt8{|;#tP!Z{B~LzqtQv
zr=EWA#zm`MWh~1$z0@db)#I&;GAEyOnRn*P%_5Uc$COL0wl3Q|b=y3>uU8}F&+}w&
zy;3|cd3U$_j@WChTYjCou_Nr^oNd3`mp)aP?|*K`#kn7rZr(8I(Zi%OHpjWzGJ|cc
zBo0n^9{O>EONEg=_ily;AD^7G4@<Tu2yb{gdx0B6<X+hcOAYviCp=A*p4RZDW5FXO
z@e`MB#Bp9IGTL+Mf^PQQ*<!n<^2~m)(CjyF*1x<px4RnBw`8BKKWUM(dYKUGgk)Z0
zA?v2yiU$u(dXVJx;Y9e;X{(|pn;twkM<df;K;5%=lg5sjB1?0+g4|p$tx7o7H8Y=K
z?NsaS2Nyg@^%G&3c(22QX-lMb({x@(HosF`qJafw*;XHnWKJCLOxAOGcrv@5&9ZV;
z@4B)sTmFT*O;v1l)2p`}yE?bvML_L5i<a3{cM3WG9JbHiv3R1aYJ>WG4b=oGKJ!Yx
zhv&|;Ca*2yW8kisEHN#=>c`!x?L8+oe=fLnlJkaM_Mw))3#;=Fv;`bg{`mgP?*|M1
zGTZ1{^vqsxo{1^9{k(;Pfc){ol~3biKXyCp%H%Jyn)6lc;LavDiN@l~|DKdsoR4C8
zuC*$O<-+O%rLVT~-r8z8GjqY&BbVPa*Roc09FN)<(m8?QYon7+%h!Ucdi(uN#jLZM
zURws}%&kpT$uShzkx?LV=g$!p!5+&~CyN%Osp;}3JXbW<Y*@FQ@5NQu=Zr6GSTtBK
zq_1VRVz#Vmurkk#lKb+tD_HBobkSA!YtJ%I{ICD%fAgREQnRK)OE5>AFDs;}Sa4Ms
zqsFTLOS7%c{l7ltV+PN<=Je2s|IZu#uYbP$2m2>Ik7oW$=h!{m8R{D)bb@(x)?NxP
zv#wCsVw=9dNp<?>oSQ9u6Q@-a2k`Xu>{$@>Ztla#`905z3!a^fJJ__%@z&XEHFs`C
z>zDRi*Sn*5;k!QXoO>+O*-qN8oUYWqwtivu+HZadwf{Okhw<c>+MB$cdj0;+ggXCi
zn{V?i(SI0lce?%F-T&TRKl=6d^!<N-{d(J;AsV}6*N=`*-{v1MZabEhQ8AHe*TJ{@
z_wTR!{_W`O?26x2+r4)_+AjY7{{N4!cTfM&we;bVn2-N{z4~6B!LsG!q5X%<KLlTV
zv;Tba)W`c08a~xT2q@l{=WTRTQe^zk#-iETA|P-kNK;X?WP_OGoe50uRx#~5%w~4D
zW<%iPMGB#7+4q0ViuSAM`LOYc!O_o3%vrBqX<hoYe=$=!xO`vnU-irXCI9-%RurxL
zZyNZebJCjsOZ!^>-Cy=Aey!%0uZ)+T9>`DZsEbjY%i)o8-d68tD|ch;TeIKox_``z
zH0?OdgZU4AO5BklzJtd~_~2azE#^NbzHboicztvAhjSk|TunEoeBF>zYItLnQklZy
zJrQw&h9<d(l#=TD{kFU?p6V$h>T>weH?NhyYYI*>|5(zaCwq}=f9xG=PQIC?r629e
z8vL%biEe-Svg&64vzbo<4fiL1&&>WfBjaf1wb?RBySewz?Q6X~`-xxD#u_!&5OrnI
zr2L<I=P3xL#yorTZQkC!(KTBRJZ7pE(pxkkB=Po|#B&@5u8gL$PggHzUOmhGMwmS}
ze~0S9w(T#x=kM9Z5@)hLzU-vl@)dE7JH5<~Yebyi=4oM?{Qj+2xmbjGhsx%}*=_vC
z>kQ_kw}gC>HoPLPVftLbug!k%zt69?%b%DZ>%y)1J?Hyu-wi(*(s#NPyJhLkY7+2@
zG6;MaV_>LtYSO{OD{@Xvb8bHxvQD!k=j5_i>L+`bJ~dl-q@`qYsxUKGM&`{U&oUbN
z_+A8aCz)I<F+Ezc>H<q>$Re(;+F*4D(OnC=yh0o|Zq)V@z3?-4p<tAYsIjBy)fGzb
z%on7H`HDVH_7aYqeP-6t9M?aW#9lUAzrG-Ce$zrb(IQ00u_=CeNMCgzzplK~n%Dgz
zm1j=eNfX((If%`Ar}*2F*GoSXtumZ#(0)t1#m;P6-!`LrW^Q`hi}p>MbZ&c>oQ0IR
z%v$}vQ;OjywZqSvhM%=Re#+DR?aI@o*Y9o;T5^W_M8Jt_hrX=*b3<rpj;i2Vmq}aq
zB&f#JJU#M?bDHrp&0tBN?RA||P792tELT0EDV^zcicd2o(=^aa(NmLEvsY%VlAE^Y
zMK7l*6M2@3E^KAgw_>bXcrD0J?dsNo1)^q6TOLZuvj4a`uPlaZ&eft`{sp;fG~C4!
zzLqgeJM@+(Y-;F^?H!T<A1`}6j4HRczdu`s)lu$1F~jlvz0;c$l0WX9v>^4cN?*XC
zX8$R!9d)ZXR-THnVAZ#HsC;a_w!_w<GY@{Rjq<n`Y34rd{44F43I~5R-!nH>%wANG
z$YuCpee4XkK%Z>!NdY0hv&7vpwp=XQ%K63MrtI;uzv0?R(v8L1Z_Z0@zZHIE!n%}B
zvv_4A@pDz(4}2nDXfdXT6miIANv}!QZ8FWRUCpr}I(&lx<DXw#Vrq>CT#FAsc%~}d
zsc<IHVj8oFvEa=<t%+wny|gxjPoJK<Lg?n48%vm~N*_wD4L{-D62wq<&Fa8qk4rb|
zVz;f6?0UQF<%VZZ!tI${`!0Hk<+OZfUMO!N`fpQl?qj(<G3R$Qvwso%QI($Cn8)DH
z+?e%s-#k&J6|5(tdRX<9(+#UxE-7zpYtcD3&4~4vY2&|~FX3nRJj&V^tPn4L;=Ehk
zRhHEPKWE?FRJtOZ<@WPK-=xnjN$UB1Mn|hmBBjUu)`{o;E<Rb8_&$1Ng1qA*LDty?
zFZ!<;m)v-G<Ke`xx}K1{sGt9~Oey;2v0n0H=85#f*ZMo#7Mtz2*G>Hwtt!o>tuQxd
zM+D>V%SKH5LKiLEAa|*=t@-N)d)>#59m|zI9y$2xhIwMimF7ylAL`4PqGqdZ6P(t6
zcG7<SZJwK-a!6FpzWM2FTk?)iM$#GwZf|)S!1*pG;*sILTazp=dM%x6dTiCRkb=-@
zD?co)5B{-gR?)%Wmk&DEoq577=8*nq`j_A$$^3=Nr+27%Zd5zFQq60T-c-|AJ>Ok1
zaVEJ+B{MG>PjGuy$NQ`9q?T^=@p<gAm1mwVPQ7&u)U&f;GX3_5>%ikY_7i{2k4N3?
z-`4(Oy^pLo-`9>ynYwn5_xw)W_}fzFjz8ZnjSF_QzfAt5)NfJzsdVCC>nq#%KcRtX
zmoHW<^FQ(6sA!Oco3yl!P<YiAnUjC7-z(60$+$sxd33;EP1Vi&R`ITgdr(@ma6(vT
zm}PjUU*gi6nWc_L_irklmSnPXMf0gkGmkg5afjT@ouf7*N+7m#Vq&(k&ey>Bw<*W_
z?n(SSP~)*x$z!r}?W_g+%!1;tdib~elIr{V<ib3?jP<=+!c7xIp4RmK`hRnBTp7=T
zyraF7?;V>nBSV&l&0ypFyBos%Z+u!aZBuW1U)Ep0T{GXF+wTzk-{@w++W#pzV*KCA
z*6}pnZK;!(|J?Y;<AX-qJ`4V1JMg@|+_pF|%D=eO;$q+B?_EJAwJVlP{Ke?<hG*`Y
zlF2$xt^{Z5Ocwc}eq-{X`JHX&MV@?#%2oUEGrjq8V|+gUkCQIhf&MQxbUxaCRVM07
zz1ZLRuK&|7{<pmOU-DL2&n<iLFZI{HTzs+O|K>%$F8`ma{jy(fUZr>QhUMN;<9A2r
zTwC}PGzG<yJLUe*Q?EoX82+(4vH!PSN5u9g*$RuzKenCfWIMg1wrCS?ah!GP4~0W{
zr{=#aKh`{V-2zs-$xF)m-@lX>nbEQ9->ufI$DPVgNB(-eDaR!0yl={~eV^6x`)(|8
zIGlP`_}S^h#WmFeKfisEHJEQNdH(r>pZ?!YInC0Y!?QTg<;C7#qQChMI?gDUw+bqM
zt#vg%V$OY&IsJQGDtASH>qxoB+sv`O^=gGck>!n?qY10_N_k2hsEK~l(R|o^%c&(1
z*EV`MNrq&`&Y9|QLq+A;tFu$NZ#_8J{<S~+hoj1unB1osauz9$3#DQ{E&h75qT)`(
z;j8Z!9$&E1@X)JE2I6*~B-T!u?56*DRm9habKbs6liz1sXm!D_hwo99sjMK2aPsXX
z-;Qu5mL;`JNSb>wkl7;RjrqMpH-DDiV-3Bs?9f#|(Zb|8eF_(pV;$KhitIkwInnWw
zx3eEdspRRer5hI;^{u{9DIWUk<i__Q0zns>B=-35<gI%cWTx>jd49N)o2%Ws_YX6l
zb4`2qMm_s=c~DKV#k{>wx2(CiY?V}o$JEeeulG!w`$NRUa>BK3kE;xQ3~wBbo6LDi
z`gQMHqi5ZZy2R3jp5OWQcAIC|9F=2{9P_`P+xTYp+mnx~Rl+J>ik{0ZFPSYcZz)fa
zL$sI2T)uLTg+i~Actgq><?2>>DXaBddLqqip}bUZ@(a#YeJe#S__0p1+$GsHo%x@?
zSMQkv`~Jx$&Tlp9+*qHamCE+c{l4HkZI-phGyZdC&dB-bzaafut7}?Sn!`e;t81F?
zFuj<!W}D=l@M%q&t14w$Z%kSH#^%L5rOls<+pg4gMP;)YZVf4X>S?)jMf*ZF8Rg}d
zgPM#xJ;jfN%$pIRaYfN^?kvB#o?gn1Uc8@|_Fwy)wb|Hio|SHIOV8qks&3ojVzRAN
zi~CJ2Cq~rl>1^sVIVCmWzQ<k$aAVi?-~JQ-{h$4}zj;mF?&tqkE|=Yo|NO5!@&A37
zfA(I7+WodGJeRAwbEjt$!$H-$r;j$JGRgI>&1^aOSD*KM#Z!rsi9uZ)DyP|bmh5ND
zl0ES8yLA78J_n=s_K~s*aT_%E>oL@rB*rrA_%60idmrbAlSZ`#Y(1OqT|9kcwPC1F
z<M9WHbD8-ILjo?#-L{{=R;=|y_0)ygKf{H?4s2(<dn3W;$EzLx%D!!VaCYwV%I|-_
z>R%6+SGheUZtw4}y<a}`XeD^o|Ec-=PU^sCzhC;E@5FjG?J&RdyRv-QdbM9JbM-`z
zN}Ny0UNR%OcF~z-k6(sdRlk*?>p%6R(fW0YULrRwKmXdK?$u^y_U-Q8>(-}NR{KTu
z?f<9suA#l6VUllk?)6_Xw_A94Y>pH@T(v*-i2V%lXpQqhT*8h9{tv|;oM?_(Te;We
z!{YU&GVQAOm0DaUT$$ah;`;PnLdCTvy$QupYVrz##Y>mS%$%UD_;^N##Wtb7%?+#d
z?sFWCetW5Ra)I}WZCPucI-NeXeXY**Nu}O`+zqFvwzgz9H#l#2tn`S(@ux4xZjlwQ
zavQW-AABx8)%r$wlmCf*$5Q0iSxrp89=hK8SQ&d<OTJ2FNJ;4A?Kf9%`66+}+F52o
zboUyYn(d49!-OT)x0U|7^e>R>!H(CH=CGMKGB3?&aN6y2iDCNMNl!!;aC2$6GK!ie
z#_jINQg3Jq3Nl?hQP3!Jw))T5MK^DmrB){{ztvs3J-qk3n!bU`=Eh^*vRbUWmqoWu
zVw~EWCgjRye|CwA)t1XH?5&duTKayuvdG6ANntj1$^2RJ!l2bZ`EBc==zw2*ztZbI
zFHN7l*E{3Uccvs}`|8(s*L^Ql_?dq7$jzk>zwEpB%wvD`mhj8G?b9DKYwR><t~it@
zG<ENj7aqCmidyDW{e8;u_rrOqJgX#kjt2*qdvna_I=nW*dB^muhY{Kb#AAOL8S32s
z^5ON@yqiJ6pDd4DDXE-cDVxZvQruf|K8Z_u*Y{(KOBWdbvHomlk@24)oSW~lnuh88
zke}vpXO0A|4Skgv!Law7aC@P4QpU@GYf;Qkxh|UUJiVH?|7(Qzy_M_yw{Qx+QM|3g
zRCge1|CfJtb*#_1f2@3MS#VUYe8N)Ud<j087MV74{eO;3v2{F4L?%RT6yzzWJF~>*
i#MWtzb9$E7EVqq1>RxjMh9c_z$**`(G@U_%l>q?54h&QP

diff --git a/dbrepo-search-service/lib/dbrepo-1.4.4-py3-none-any.whl b/dbrepo-search-service/lib/dbrepo-1.4.4-py3-none-any.whl
new file mode 100644
index 0000000000000000000000000000000000000000..11873004972bb08703994ba1fb0ddf18f96f6a2c
GIT binary patch
literal 27104
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
G;sF4l(3t=L

literal 0
HcmV?d00001

diff --git a/dbrepo-search-service/lib/dbrepo-1.4.4.tar.gz b/dbrepo-search-service/lib/dbrepo-1.4.4.tar.gz
new file mode 100644
index 0000000000000000000000000000000000000000..f7452a0e12c9a2d44f663bc1f338204b7579144b
GIT binary patch
literal 37351
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
A;s5{u

literal 0
HcmV?d00001

diff --git a/dbrepo-search-service/metrics.md b/dbrepo-search-service/metrics.md
new file mode 100644
index 0000000000..d99df25c8e
--- /dev/null
+++ b/dbrepo-search-service/metrics.md
@@ -0,0 +1,8 @@
+| **Metric**                      | **Description**                                         |
+|---------------------------------|---------------------------------------------------------|
+| `dbrepo_search_index_list`      | Time needed to list search index                        |
+| `dbrepo_search_type_list`       | Time needed to list search types                        |
+| `dbrepo_search_fuzzy`           | Time needed to search fuzzy                             |
+| `dbrepo_search_type`            | Time needed to search by type                           |
+| `dbrepo_search_update_database` | Time needed to update a database in the search database |
+| `dbrepo_search_delete_database` | Time needed to delete a database in the search database |
\ No newline at end of file
diff --git a/dbrepo-ui/components/subset/SubsetList.vue b/dbrepo-ui/components/subset/SubsetList.vue
index a921373ae6..1a0150f4d6 100644
--- a/dbrepo-ui/components/subset/SubsetList.vue
+++ b/dbrepo-ui/components/subset/SubsetList.vue
@@ -20,13 +20,10 @@
           <v-list-item
             lines="two"
             :title="title(item)"
+            :subtitle="subtitle(item)"
             :class="clazz(item)"
             :to="link(item)"
             :href="link(item)">
-            <v-list-item-subtitle
-              class="mt-2">
-              <pre>{{ item.query }}</pre>
-            </v-list-item-subtitle>
             <template v-slot:append>
               <v-tooltip
                 v-if="hasPublishedIdentifier(item)"
@@ -97,6 +94,13 @@ export default {
       const identifierService = useIdentifierService()
       return identifierService.identifierPreferEnglishTitle(query.identifiers[0])
     },
+    subtitle (query) {
+      if (query.identifiers.length === 0) {
+        return null
+      }
+      const identifierService = useIdentifierService()
+      return identifierService.identifierPreferEnglishDescription(query.identifiers[0])
+    },
     link (query) {
       return `/database/${this.$route.params.database_id}/subset/${query.id}/info`
     },
diff --git a/dbrepo-ui/components/table/TableList.vue b/dbrepo-ui/components/table/TableList.vue
index c192a4b149..362f4a9366 100644
--- a/dbrepo-ui/components/table/TableList.vue
+++ b/dbrepo-ui/components/table/TableList.vue
@@ -16,7 +16,7 @@
           lines="two"
           :title="table.name"
           :class="clazz(table)"
-          :subtitle="table.description ? table.description : '(no description)'"
+          :subtitle="table.description ? table.description : ''"
           :to="`/database/${$route.params.database_id}/table/${table.id}/info`">
           <template v-slot:append>
             <v-tooltip
diff --git a/dbrepo-ui/components/view/ViewList.vue b/dbrepo-ui/components/view/ViewList.vue
index 992e748447..ea2dc0946c 100644
--- a/dbrepo-ui/components/view/ViewList.vue
+++ b/dbrepo-ui/components/view/ViewList.vue
@@ -13,10 +13,6 @@
           :title="view.name"
           :class="clazz(view)"
           :to="`/database/${$route.params.database_id}/view/${view.id}/info`">
-          <v-list-item-subtitle
-            class="mt-2">
-            <pre v-text="view.query" />
-          </v-list-item-subtitle>
           <template v-slot:append>
             <v-tooltip
               v-if="hasPublishedIdentifier(view)"
diff --git a/dbrepo-ui/composables/axios-instance.ts b/dbrepo-ui/composables/axios-instance.ts
index 7c3fa797b9..a2b6ca4f6e 100644
--- a/dbrepo-ui/composables/axios-instance.ts
+++ b/dbrepo-ui/composables/axios-instance.ts
@@ -1,6 +1,5 @@
-import axios, {AxiosError, type AxiosInstance} from 'axios'
+import axios, {type AxiosInstance} from 'axios'
 import {useUserStore} from '@/stores/user'
-import {axiosErrorToApiError} from '@/utils'
 
 let instance: AxiosInstance | null = null;
 
@@ -9,7 +8,7 @@ export const useAxiosInstance = () => {
   const userStore = useUserStore()
   if (!instance) {
     instance = axios.create({
-      timeout: 10000,
+      timeout: 10_000,
       params: {},
       headers: {
         Accept: 'application/json',
@@ -44,9 +43,9 @@ export const useAxiosInstance = () => {
           config.headers.Authorization = `Bearer ${response.access_token}`
           return config
         })
-        .catch((error: AxiosError) => {
-          if (axiosErrorToApiError(error).code === 'error.user.credentials') {
-            console.error('Invalid user credentials: perform logout')
+        .catch((error: ApiErrorDto) => {
+          if (error.code === 'error.user.credentials') {
+            console.warn('User session expired.')
             userStore.logout()
           }
           return config
diff --git a/dbrepo-ui/composables/database-service.ts b/dbrepo-ui/composables/database-service.ts
index a992f13547..6a4e283f8d 100644
--- a/dbrepo-ui/composables/database-service.ts
+++ b/dbrepo-ui/composables/database-service.ts
@@ -17,6 +17,38 @@ export const useDatabaseService = (): any => {
     });
   }
 
+  async function refreshTablesMetadata(databaseId: number): Promise<DatabaseDto> {
+    const axios = useAxiosInstance();
+    console.debug('refresh database tables metadata');
+    return new Promise<DatabaseDto>((resolve, reject) => {
+      axios.put<DatabaseDto>('/api/database/' + databaseId + '/metadata/table', {})
+        .then((response) => {
+          console.info('Refreshed database tables metadata');
+          resolve(response.data);
+        })
+        .catch((error) => {
+          console.error('Failed to refresh database tables metadata', error);
+          reject(axiosErrorToApiError(error));
+        });
+    });
+  }
+
+  async function refreshViewsMetadata(databaseId: number): Promise<DatabaseDto> {
+    const axios = useAxiosInstance();
+    console.debug('refresh database views metadata');
+    return new Promise<DatabaseDto>((resolve, reject) => {
+      axios.put<DatabaseDto>('/api/database/' + databaseId + '/metadata/view', {})
+        .then((response) => {
+          console.info('Refreshed database views metadata');
+          resolve(response.data);
+        })
+        .catch((error) => {
+          console.error('Failed to refresh database views metadata', error);
+          reject(axiosErrorToApiError(error));
+        });
+    });
+  }
+
   async function findCount(): Promise<number> {
     const axios = useAxiosInstance();
     console.debug('find databases count');
@@ -185,6 +217,8 @@ export const useDatabaseService = (): any => {
 
   return {
     findAll,
+    refreshTablesMetadata,
+    refreshViewsMetadata,
     findOne,
     findCount,
     getServerTime,
diff --git a/dbrepo-ui/composables/query-service.ts b/dbrepo-ui/composables/query-service.ts
index 381137bba0..fa18a55ec0 100644
--- a/dbrepo-ui/composables/query-service.ts
+++ b/dbrepo-ui/composables/query-service.ts
@@ -93,7 +93,7 @@ export const useQueryService = (): any => {
     const axios = useAxiosInstance()
     console.debug('re-execute query in database with id', databaseId)
     return new Promise<QueryResultDto>((resolve, reject) => {
-      axios.get<QueryResultDto>(`/api/database/${databaseId}/subset/${queryId}/data`, { params: mapFilter(null, page, size)})
+      axios.get<QueryResultDto>(`/api/database/${databaseId}/subset/${queryId}/data`, { params: mapFilter(null, page, size), timeout: 30_000 })
         .then((response) => {
           console.info('Re-executed query in database with id', databaseId)
           resolve(response.data)
@@ -109,7 +109,7 @@ export const useQueryService = (): any => {
     const axios = useAxiosInstance()
     console.debug('re-execute query in database with id', databaseId)
     return new Promise<number>((resolve, reject) => {
-      axios.head<void>(`/api/database/${databaseId}/subset/${queryId}/data`)
+      axios.head<void>(`/api/database/${databaseId}/subset/${queryId}/data`, { timeout: 30_000 })
         .then((response) => {
           const count: number = Number(response.headers['x-count'])
           console.info('Found', count, 'tuples for query', queryId, 'in database with id', databaseId)
diff --git a/dbrepo-ui/composables/table-service.ts b/dbrepo-ui/composables/table-service.ts
index 37305f2437..393c540f83 100644
--- a/dbrepo-ui/composables/table-service.ts
+++ b/dbrepo-ui/composables/table-service.ts
@@ -71,7 +71,7 @@ export const useTableService = (): any => {
     const axios = useAxiosInstance()
     console.debug('get data for table with id', tableId, 'in database with id', databaseId);
     return new Promise<QueryResultDto>((resolve, reject) => {
-      axios.get<QueryResultDto>(`/api/database/${databaseId}/table/${tableId}/data`, {params: mapFilter(timestamp, page, size)})
+      axios.get<QueryResultDto>(`/api/database/${databaseId}/table/${tableId}/data`, { params: mapFilter(timestamp, page, size), timeout: 30_000 })
         .then((response) => {
           console.info('Got data for table with id', tableId, 'in database with id', databaseId)
           resolve(response.data)
@@ -87,7 +87,7 @@ export const useTableService = (): any => {
     const axios = useAxiosInstance()
     console.debug('get data count for table with id', tableId, 'in database with id', databaseId);
     return new Promise<number>((resolve, reject) => {
-      axios.head<void>(`/api/database/${databaseId}/table/${tableId}/data`, {params: mapFilter(timestamp, null, null)})
+      axios.head<void>(`/api/database/${databaseId}/table/${tableId}/data`, { params: mapFilter(timestamp, null, null), timeout: 30_000 })
         .then((response: AxiosResponse<void>) => {
           const count: number = Number(response.headers['x-count'])
           console.info('Found' + count + 'in table with id', tableId, 'in database with id', databaseId)
diff --git a/dbrepo-ui/composables/user-service.ts b/dbrepo-ui/composables/user-service.ts
index cb22cf75b3..a8b9891613 100644
--- a/dbrepo-ui/composables/user-service.ts
+++ b/dbrepo-ui/composables/user-service.ts
@@ -95,7 +95,6 @@ export const useUserService = (): any => {
           resolve(response.data)
         }).catch((error) => {
           console.error('Failed to obtain user token', error)
-
           reject(axiosErrorToApiError(error))
       })
     })
@@ -115,7 +114,6 @@ export const useUserService = (): any => {
           resolve(response.data)
         }).catch((error) => {
           console.error('Failed to refresh user token', error)
-
           reject(axiosErrorToApiError(error))
       })
     })
diff --git a/dbrepo-ui/composables/view-service.ts b/dbrepo-ui/composables/view-service.ts
index 1c898cea01..adc76e32a1 100644
--- a/dbrepo-ui/composables/view-service.ts
+++ b/dbrepo-ui/composables/view-service.ts
@@ -37,7 +37,7 @@ export const useViewService = (): any => {
     const axios = useAxiosInstance()
     console.debug('re-execute view with id', viewId, 'in database with id', databaseId)
     return new Promise<QueryResultDto>((resolve, reject) => {
-      axios.get<QueryResultDto>(`/api/database/${databaseId}/view/${viewId}/data`, {params: {page, size}})
+      axios.get<QueryResultDto>(`/api/database/${databaseId}/view/${viewId}/data`, { params: {page, size}, timeout: 30_000 })
         .then((response) => {
           console.info('Re-executed view with id', viewId, 'in database with id', databaseId)
           resolve(response.data)
@@ -53,7 +53,7 @@ export const useViewService = (): any => {
     const axios = useAxiosInstance()
     console.debug('re-execute view with id', viewId, 'in database with id', databaseId)
     return new Promise<number>((resolve, reject) => {
-      axios.head<number>(`/api/database/${databaseId}/view/${viewId}/data`)
+      axios.head<number>(`/api/database/${databaseId}/view/${viewId}/data`, { timeout: 30_000 })
         .then((response) => {
           const count: number = Number(response.headers['x-count'])
           console.info('Found', count, 'tuples for view with id', viewId, 'in database with id', databaseId)
diff --git a/dbrepo-ui/locales/de-AT.json b/dbrepo-ui/locales/de-AT.json
index f111e47037..15c2664f0f 100644
--- a/dbrepo-ui/locales/de-AT.json
+++ b/dbrepo-ui/locales/de-AT.json
@@ -421,7 +421,7 @@
           }
         },
         "schema": {
-          "title": "Struktur",
+          "title": "System Versioniert",
           "bullet": "●",
           "assign": "Zuordnen",
           "remove": {
@@ -446,7 +446,10 @@
             "title": "Nullbar"
           },
           "sequence": {
-            "title": "Reihenfolge"
+            "title": "Sequenz"
+          },
+          "description": {
+            "title": "Beschreibung"
           },
           "name": {
             "label": "Name",
@@ -644,6 +647,13 @@
           "image-remove": {
             "text": "Entferne Bild"
           },
+          "scheme": {
+            "title": "Schema",
+            "subtitle": "Aktualisiert die Metadaten im Datenbankschema, um systemversionierte Tabellen und Ansichten in der Benutzeroberfläche anzuzeigen.",
+            "submit": {
+              "text": "Aktualisieren"
+            }
+          },
           "ownership": {
             "title": "Eigentum",
             "subtitle": "Benutzer, der Eigentümer dieser Datenbank ist.",
@@ -1020,7 +1030,8 @@
       "missing": "Der Zugriff in der Metadatendatenbank konnte nicht gefunden werden."
     },
     "axios": {
-      "connection": "Es konnte keine Verbindung hergestellt werden."
+      "connection": "Es konnte keine Verbindung hergestellt werden.",
+      "timeout": "Zeitüberschreitung der Verbindung."
     },
     "concept": {
       "missing": "Das Konzept konnte in der Metadatendatenbank nicht gefunden werden."
@@ -1120,7 +1131,9 @@
       "dataset": "Der Datensatz konnte nicht hochgeladen werden."
     },
     "schema": {
-      "id": "Die Spalte „id“ muss ein Primärschlüssel sein."
+      "id": "Die Spalte „id“ muss ein Primärschlüssel sein.",
+      "view": "Ansichtsschema konnte nicht zugeordnet werden.",
+      "table": "Tabellenschema konnte nicht zugeordnet werden."
     },
     "user": {
       "exists": "Benutzer mit Benutzername ist in der Authentifizierungsdatenbank vorhanden.",
@@ -1162,6 +1175,9 @@
   },
   "success": {
     "signup": "Konto erfolgreich erstellt.",
+    "clipboard": {
+      "user": "Benutzer-ID erfolgreich kopiert."
+    },
     "query": {
       "build": "Abfrage konnte nicht erstellt werden: Spalte nicht gefunden",
       "fatal": "Abfragen mit diesem Schema können derzeit nicht über die Benutzeroberfläche erstellt werden"
@@ -1189,6 +1205,10 @@
       "created": "Tabelle erfolgreich erstellt.",
       "semantics": "Semantische Instanz erfolgreich zugewiesen."
     },
+    "schema": {
+      "tables": "Die Metadaten der Datenbanktabellen wurden erfolgreich aktualisiert.",
+      "views": "Metadaten der Datenbankansichten wurden erfolgreich aktualisiert."
+    },
     "database": {
       "upload": "Datenbankbild erfolgreich hochgeladen.",
       "transfer": "Der Datenbankeigentümer wurde erfolgreich übertragen.",
diff --git a/dbrepo-ui/locales/en-US.json b/dbrepo-ui/locales/en-US.json
index a6a7ca925c..227ae506c2 100644
--- a/dbrepo-ui/locales/en-US.json
+++ b/dbrepo-ui/locales/en-US.json
@@ -421,7 +421,7 @@
           }
         },
         "schema": {
-          "title": "Structure",
+          "title": "System Versioned",
           "bullet": "●",
           "assign": "Assign",
           "remove": {
@@ -448,6 +448,9 @@
           "sequence": {
             "title": "Sequence"
           },
+          "description": {
+            "title": "Description"
+          },
           "name": {
             "label": "Name",
             "hint": "Required."
@@ -644,6 +647,13 @@
           "image-remove": {
             "text": "Remove Image"
           },
+          "scheme": {
+            "title": "Schema",
+            "subtitle": "Update the metadata on the database schema to display system-versioned tables and views in the UI.",
+            "submit": {
+              "text": "Refresh"
+            }
+          },
           "ownership": {
             "title": "Ownership",
             "subtitle": "User who has ownership over this database.",
@@ -1020,7 +1030,8 @@
       "missing": "Failed to find access in metadata database."
     },
     "axios": {
-      "connection": "Failed to establish connection."
+      "connection": "Failed to establish connection.",
+      "timeout": "Connection timed out."
     },
     "concept": {
       "missing": "Failed to find concept in metadata database."
@@ -1120,7 +1131,9 @@
       "dataset": "Failed to upload dataset."
     },
     "schema": {
-      "id": "Column \"id\" must be a primary key."
+      "id": "Column \"id\" must be a primary key.",
+      "view": "Failed to map view schema.",
+      "table": "Failed to map table schema."
     },
     "user": {
       "exists": "User with username exists in auth database.",
@@ -1162,6 +1175,9 @@
   },
   "success": {
     "signup": "Successfully created account.",
+    "clipboard": {
+      "user": "Successfully copied user id."
+    },
     "query": {
       "build": "Failed to build query: column not found",
       "fatal": "Query with this schema is not buildable through the UI at the moment"
@@ -1189,6 +1205,10 @@
       "created": "Successfully created table.",
       "semantics": "Successfully assigned semantic instance."
     },
+    "schema": {
+      "tables": "Successfully refreshed database tables metadata.",
+      "views": "Successfully refreshed database views metadata."
+    },
     "database": {
       "upload": "Successfully uploaded database image.",
       "transfer": "Successfully transferred the database owner.",
diff --git a/dbrepo-ui/pages/database/[database_id]/settings.vue b/dbrepo-ui/pages/database/[database_id]/settings.vue
index 57bf242eff..296f639cae 100644
--- a/dbrepo-ui/pages/database/[database_id]/settings.vue
+++ b/dbrepo-ui/pages/database/[database_id]/settings.vue
@@ -173,6 +173,27 @@
             </v-row>
           </v-card-text>
         </v-card>
+        <v-divider />
+        <v-card
+          v-if="canUpdateScheme"
+          :title="$t('pages.database.subpages.settings.scheme.title')"
+          :subtitle="$t('pages.database.subpages.settings.scheme.subtitle')"
+          variant="flat"
+          rounded="0">
+          <v-card-text>
+            <v-row>
+              <v-col>
+                <v-btn
+                  size="small"
+                  variant="flat"
+                  color="tertiary"
+                  :loading="loadingSchema"
+                  :text="$t('pages.database.subpages.settings.scheme.submit.text')"
+                  @click="refreshSchema" />
+              </v-col>
+            </v-row>
+          </v-card-text>
+        </v-card>
       </v-window-item>
       <v-dialog
         v-model="editAccessDialog"
@@ -205,6 +226,7 @@ export default {
       loading: false,
       loadingUpload: false,
       loadingImage: false,
+      loadingSchema: false,
       validUpload: false,
       loadingDeleteImage: false,
       fileModel: null,
@@ -319,6 +341,12 @@ export default {
       }
       return this.roles.includes('modify-database-owner')
     },
+    canUpdateScheme () {
+      if (!this.isOwner) {
+        return false
+      }
+      return this.roles.includes('find-database')
+    },
     canModifyAccess () {
       if (!this.isOwner) {
         return false
@@ -464,6 +492,28 @@ export default {
           this.loading = false
         })
     },
+    refreshSchema () {
+      this.loadingSchema = true
+      const databaseService = useDatabaseService()
+      databaseService.refreshTablesMetadata(this.$route.params.database_id)
+        .then(() => {
+          this.$toast.success(this.$t('success.schema.tables'))
+          databaseService.refreshViewsMetadata(this.$route.params.database_id)
+            .then(() => {
+              this.$toast.success(this.$t('success.schema.views'))
+              this.cacheStore.reloadDatabase()
+              this.loadingSchema = false
+            })
+            .catch(({code}) => {
+              this.$toast.error(this.$t(code))
+              this.loadingSchema = false
+            })
+        })
+        .catch(({code}) => {
+          this.$toast.error(this.$t(code))
+          this.loadingSchema = false
+        })
+    },
     giveAccess () {
       this.userId = null
       this.accessType = null
diff --git a/dbrepo-ui/pages/database/[database_id]/table/[table_id]/schema.vue b/dbrepo-ui/pages/database/[database_id]/table/[table_id]/schema.vue
index 5bc0cd4a1a..4af6ba09d7 100644
--- a/dbrepo-ui/pages/database/[database_id]/table/[table_id]/schema.vue
+++ b/dbrepo-ui/pages/database/[database_id]/table/[table_id]/schema.vue
@@ -74,7 +74,7 @@
       </v-data-table>
     </v-card>
     <v-card
-      v-if="table"
+      v-if="table && hasStructure"
       variant="flat"
       rounded="0"
       tile
@@ -82,7 +82,7 @@
       <v-card-text>
         <v-container>
           <ul>
-            <li>
+            <li v-if="table.constraints.primary_key.length > 0">
               <strong>PRIMARY KEY</strong>
               (<i v-text="primaryKeysColumns" />)
             </li>
@@ -168,7 +168,8 @@ export default {
         { value: 'column_concept', title: this.$t('pages.table.subpages.schema.concept.title') },
         { value: 'column_unit', title: this.$t('pages.table.subpages.schema.unit.title') },
         { value: 'is_null_allowed', title: this.$t('pages.table.subpages.schema.nullable.title') },
-        { value: 'auto_generated', title: this.$t('pages.table.subpages.schema.sequence.title') }
+        { value: 'auto_generated', title: this.$t('pages.table.subpages.schema.sequence.title') },
+        { value: 'description', title: this.$t('pages.table.subpages.schema.description.title') },
       ],
       dateColumns: [],
       userStore: useUserStore(),
@@ -213,6 +214,10 @@ export default {
     buttonVariant () {
       const runtimeConfig = useRuntimeConfig()
       return this.$vuetify.theme.global.name.toLowerCase().endsWith('contrast') ? runtimeConfig.public.variant.button.contrast : runtimeConfig.public.variant.button.normal
+    },
+    hasStructure () {
+      const constraints = this.table.constraints
+      return constraints.primary_key.length > 0 || constraints.foreign_keys.length > 0 || constraints.checks.length > 0 || constraints.uniques.length > 0
     }
   },
   methods: {
diff --git a/dbrepo-ui/pages/user/info.vue b/dbrepo-ui/pages/user/info.vue
index 91069edd62..3a085b6008 100644
--- a/dbrepo-ui/pages/user/info.vue
+++ b/dbrepo-ui/pages/user/info.vue
@@ -14,9 +14,11 @@
                 <v-col md="6">
                   <v-text-field
                     v-model="model.id"
-                    disabled
+                    readonly
                     :variant="inputVariant"
-                    :label="$t('pages.user.subpages.info.id.label')" />
+                    :label="$t('pages.user.subpages.info.id.label')"
+                    append-inner-icon="mdi-content-copy"
+                    @click:append-inner="copy" />
                 </v-col>
               </v-row>
               <v-row dense>
@@ -282,6 +284,10 @@ export default {
           this.orcidLoading = false
         })
     },
+    copy () {
+      navigator.clipboard.writeText(this.model.id)
+      this.$toast.success(this.$t('success.clipboard.user'))
+    }
   }
 }
 </script>
diff --git a/dbrepo-ui/utils/index.ts b/dbrepo-ui/utils/index.ts
index fe0e7c03f3..66dbe94483 100644
--- a/dbrepo-ui/utils/index.ts
+++ b/dbrepo-ui/utils/index.ts
@@ -1049,6 +1049,15 @@ export function isActiveMessage(message: any) {
 }
 
 export function axiosErrorToApiError(error: AxiosError): ApiErrorDto {
+  if (error.code === 'ECONNABORTED') {
+    /* timeout */
+    const errorObj: ApiErrorDto = {
+      status: error.code,
+      code: 'error.axios.timeout',
+      message: error.message
+    }
+    return errorObj
+  }
   if (error.response?.data) {
     const errorObj: ApiErrorDto = (error.response?.data as ApiErrorDto)
     return errorObj
diff --git a/docker-compose.yml b/docker-compose.yml
index 7b128e1d57..da0d6a27ea 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -80,6 +80,8 @@ services:
     container_name: dbrepo-auth-service
     hostname: auth-service
     image: dbrepo-auth-service:latest
+    ports:
+      - "8080:8080"
     build:
       context: ./dbrepo-auth-service
       network: host
@@ -135,7 +137,8 @@ services:
       GATEWAY_SERVICE_ENDPOINT: ${GATEWAY_SERVICE_ENDPOINT:-http://gateway-service}
       GRANULARITY: "${GRANULARITY:-YYYY-MM-DDThh:mm:ssZ}"
       JWT_PUBKEY: "${JWT_PUBKEY:-MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAqqnHQ2BWWW9vDNLRCcxD++xZg/16oqMo/c1l+lcFEjjAIJjJp/HqrPYU/U9GvquGE6PbVFtTzW1KcKawOW+FJNOA3CGo8Q1TFEfz43B8rZpKsFbJKvQGVv1Z4HaKPvLUm7iMm8Hv91cLduuoWx6Q3DPe2vg13GKKEZe7UFghF+0T9u8EKzA/XqQ0OiICmsmYPbwvf9N3bCKsB/Y10EYmZRb8IhCoV9mmO5TxgWgiuNeCTtNCv2ePYqL/U0WvyGFW0reasIK8eg3KrAUj8DpyOgPOVBn3lBGf+3KFSYi+0bwZbJZWqbC/Xlk20Go1YfeJPRIt7ImxD27R/lNjgDO/MwIDAQAB}"
-      LOG_LEVEL: ${LOG_LEVEL:-info}
+#      LOG_LEVEL: ${LOG_LEVEL:-info}
+      LOG_LEVEL: trace
       METADATA_DB: "${METADATA_DB:-dbrepo}"
       METADATA_HOST: "${METADATA_HOST:-metadata-db}"
       METADATA_JDBC_EXTRA_ARGS: "${METADATA_JDBC_EXTRA_ARGS:-}"
@@ -287,6 +290,7 @@ services:
       S3_ACCESS_KEY_ID: "${S3_ACCESS_KEY_ID:-seaweedfsadmin}"
       S3_ENDPOINT: "${S3_ENDPOINT:-http://storage-service:9000}"
       S3_EXPORT_BUCKET: "${S3_EXPORT_BUCKET:-dbrepo-download}"
+      S3_FILE_PATH: "${S3_FILE_PATH:-/tmp}"
       S3_IMPORT_BUCKET: "${S3_IMPORT_BUCKET:-dbrepo-upload}"
       S3_SECRET_ACCESS_KEY: "${S3_SECRET_ACCESS_KEY:-seaweedfsadmin}"
     volumes:
@@ -483,7 +487,12 @@ services:
       QUEUE_NAME: ${QUEUE_NAME:-dbrepo}
       REQUEUE_REJECTED: ${REQUEUE_REJECTED:-false}
       ROUTING_KEY: "${ROUTING_KEY:-dbrepo.#}"
-      STORAGE_SERVICE_ENDPOINT: ${BROKER_SERVICE_ENDPOINT:-http://storage-service:9000}
+      S3_ACCESS_KEY_ID: "${S3_ACCESS_KEY_ID:-seaweedfsadmin}"
+      S3_ENDPOINT: "${S3_ENDPOINT:-http://storage-service:9000}"
+      S3_EXPORT_BUCKET: "${S3_EXPORT_BUCKET:-dbrepo-download}"
+      S3_FILE_PATH: "${S3_FILE_PATH:-/tmp}"
+      S3_IMPORT_BUCKET: "${S3_IMPORT_BUCKET:-dbrepo-upload}"
+      S3_SECRET_ACCESS_KEY: "${S3_SECRET_ACCESS_KEY:-seaweedfsadmin}"
     healthcheck:
       test: wget -qO- localhost:8080/actuator/health/readiness | grep -q "UP" || exit 1
       interval: 10s
diff --git a/helm/dbrepo/Chart.yaml b/helm/dbrepo/Chart.yaml
index d61aa8701a..24e580a297 100644
--- a/helm/dbrepo/Chart.yaml
+++ b/helm/dbrepo/Chart.yaml
@@ -4,8 +4,8 @@ description: Helm Chart for installing DBRepo
 sources:
   - https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services
 type: application
-version: "1.4.3"
-appVersion: "1.4.3"
+version: "1.4.4"
+appVersion: "1.4.4"
 keywords:
   - dbrepo
 maintainers:
diff --git a/helm/dbrepo/Makefile b/helm/dbrepo/Makefile
index c1e8e02d8f..b89c9b4dec 100644
--- a/helm/dbrepo/Makefile
+++ b/helm/dbrepo/Makefile
@@ -3,6 +3,6 @@ all:
 
 .PHONY: build
 build: ## Generate Helm values schema JSON
-	helm package --sign --key 'Martin Weise' . --keyring ~/.gnupg/mweise.gpg --destination ./build
+	#helm package --sign --key 'Martin Weise' . --keyring ~/.gnupg/mweise.gpg --destination ./build
 	helm schema -input ./values.yaml
 	readme-generator-for-helm --readme README.md --values values.yaml
diff --git a/helm/dbrepo/README.md b/helm/dbrepo/README.md
index cde2c105fe..f7c43ba5db 100644
--- a/helm/dbrepo/README.md
+++ b/helm/dbrepo/README.md
@@ -1,16 +1,16 @@
 # DBRepo Helm chart
 
-[DBRepo](https://www.ifs.tuwien.ac.at/infrastructures/dbrepo/__CHARTVERSION__/) is a database repository system that
+[DBRepo](https://www.ifs.tuwien.ac.at/infrastructures/dbrepo/1.4.4/) is a database repository system that
 allows researchers to ingest data into a central, versioned repository through common interfaces.
 
 ## TL;DR
 
 Download the
-sample [`values.yaml`](https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/raw/master/helm-charts/dbrepo/values.yaml?inline=true)
+sample [`values.yaml`](https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/raw/release-1.4.4/helm-charts/dbrepo/values.yaml?inline=true)
 for your deployment and update the variables, especially `hostname`.
 
 ```bash
-helm install my-release "oci://s210.dl.hpc.tuwien.ac.at/dbrepo/helm" --values ./values.yaml --version "1.4.3"
+helm install my-release "oci://s210.dl.hpc.tuwien.ac.at/dbrepo/helm" --values ./values.yaml --version "1.4.4"
 ```
 
 ## Prerequisites
@@ -27,7 +27,7 @@ helm install my-release "oci://s210.dl.hpc.tuwien.ac.at/dbrepo/helm" --values ./
 To install the chart with the release name `my-release`:
 
 ```bash
-helm install my-release "oci://s210.dl.hpc.tuwien.ac.at/dbrepo/helm" --values ./values.yaml --version "1.4.3"
+helm install my-release "oci://s210.dl.hpc.tuwien.ac.at/dbrepo/helm" --values ./values.yaml --version "1.4.4"
 ```
 
 The command deploys DBRepo on the Kubernetes cluster in the default configuration. The Parameters section lists the
@@ -64,17 +64,18 @@ The command removes all the Kubernetes components associated with the chart and
 
 ### Metadata Database
 
-| Name                             | Description                                                    | Value         |
-| -------------------------------- | -------------------------------------------------------------- | ------------- |
-| `metadatadb.enabled`             | Enable the Metadata Database.                                  | `true`        |
-| `metadatadb.image.debug`         | Set the logging level to `trace`. Otherwise, set to `info`.    | `false`       |
-| `metadatadb.host`                | The hostname for the microservices.                            | `metadata-db` |
-| `metadatadb.rootUser.user`       | The root username.                                             | `root`        |
-| `metadatadb.rootUser.password`   | The root user password.                                        | `dbrepo`      |
-| `metadatadb.jdbcExtraArgs`       | The extra arguments for JDBC connections in the microservices. | `""`          |
-| `metadatadb.db.name`             | The database name.                                             | `fda`         |
-| `metadatadb.persistence.enabled` | Enable persistent storage. Requires PV-provisioner.            | `false`       |
-| `metadatadb.replicaCount`        | The number of replicas, should be uneven (2n+1).               | `3`           |
+| Name                             | Description                                                      | Value         |
+| -------------------------------- | ---------------------------------------------------------------- | ------------- |
+| `metadatadb.enabled`             | Enable the Metadata Database.                                    | `true`        |
+| `metadatadb.image.debug`         | Set the logging level to `trace`. Otherwise, set to `info`.      | `false`       |
+| `metadatadb.host`                | The hostname for the microservices.                              | `metadata-db` |
+| `metadatadb.rootUser.user`       | The root username.                                               | `root`        |
+| `metadatadb.rootUser.password`   | The root user password.                                          | `dbrepo`      |
+| `metadatadb.jdbcExtraArgs`       | The extra arguments for JDBC connections in the microservices.   | `""`          |
+| `metadatadb.db.name`             | The database name.                                               | `fda`         |
+| `metadatadb.extraInitDbScripts`  | Additional init.db scripts that are executed on the first start. | `{}`          |
+| `metadatadb.persistence.enabled` | Enable persistent storage. Requires PV-provisioner.              | `false`       |
+| `metadatadb.replicaCount`        | The number of replicas, should be uneven (2n+1).                 | `3`           |
 
 ### Auth Service
 
@@ -169,19 +170,23 @@ The command removes all the Kubernetes components associated with the chart and
 
 ### Data Service
 
-| Name                                | Description                                                    | Value                                                                                                                       |
-| ----------------------------------- | -------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- |
-| `dataservice.enabled`               | Enable the Metadata Service.                                   | `true`                                                                                                                      |
-| `dataservice.endpoint`              | The endpoint for the microservices.                            | `http://data-service`                                                                                                       |
-| `dataservice.grant.read`            | The default database permissions for users with read access.   | `SELECT`                                                                                                                    |
-| `dataservice.grant.write`           | The default database permissions for users with write access.  | `SELECT, CREATE, CREATE VIEW, CREATE ROUTINE, CREATE TEMPORARY TABLES, LOCK TABLES, INDEX, TRIGGER, INSERT, UPDATE, DELETE` |
-| `dataservice.s3.endpoint`           | The S3-capable endpoint the microservice connects to.          | `http://storageservice-s3:9000`                                                                                             |
-| `dataservice.s3.auth.username`      | The S3-capable endpoint username (or access key id).           | `seaweedfsadmin`                                                                                                            |
-| `dataservice.s3.auth.password`      | The S3-capable endpoint user password (or access key secret).  | `seaweedfsadmin`                                                                                                            |
-| `dataservice.consumerConcurrentMin` | The minimum broker service consumer number.                    | `1`                                                                                                                         |
-| `dataservice.consumerConcurrentMax` | The maximum broker service consumer number.                    | `5`                                                                                                                         |
-| `dataservice.requeueRejected`       | Enable re-queueing of rejected messages to the broker service. | `false`                                                                                                                     |
-| `dataservice.replicaCount`          | The number of replicas.                                        | `2`                                                                                                                         |
+| Name                                | Description                                                              | Value                                                                                                                       |
+| ----------------------------------- | ------------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------- |
+| `dataservice.enabled`               | Enable the Metadata Service.                                             | `true`                                                                                                                      |
+| `dataservice.endpoint`              | The endpoint for the microservices.                                      | `http://data-service`                                                                                                       |
+| `dataservice.grant.read`            | The default database permissions for users with read access.             | `SELECT`                                                                                                                    |
+| `dataservice.grant.write`           | The default database permissions for users with write access.            | `SELECT, CREATE, CREATE VIEW, CREATE ROUTINE, CREATE TEMPORARY TABLES, LOCK TABLES, INDEX, TRIGGER, INSERT, UPDATE, DELETE` |
+| `dataservice.default.date`          | The default date format id for dates.                                    | `3`                                                                                                                         |
+| `dataservice.default.time`          | The default date format id for times.                                    | `4`                                                                                                                         |
+| `dataservice.default.timestamp`     | The default date format id for timestamps.                               | `1`                                                                                                                         |
+| `dataservice.s3.endpoint`           | The S3-capable endpoint the microservice connects to.                    | `http://storageservice-s3:9000`                                                                                             |
+| `dataservice.s3.auth.username`      | The S3-capable endpoint username (or access key id).                     | `seaweedfsadmin`                                                                                                            |
+| `dataservice.s3.auth.password`      | The S3-capable endpoint user password (or access key secret).            | `seaweedfsadmin`                                                                                                            |
+| `dataservice.s3.filePath`           | The local location to download/upload files from/to S3-capable endpoint. | `/s3`                                                                                                                       |
+| `dataservice.consumerConcurrentMin` | The minimum broker service consumer number.                              | `1`                                                                                                                         |
+| `dataservice.consumerConcurrentMax` | The maximum broker service consumer number.                              | `5`                                                                                                                         |
+| `dataservice.requeueRejected`       | Enable re-queueing of rejected messages to the broker service.           | `false`                                                                                                                     |
+| `dataservice.replicaCount`          | The number of replicas.                                                  | `2`                                                                                                                         |
 
 ### Search Service
 
diff --git a/helm/dbrepo/templates/data-secret.yaml b/helm/dbrepo/templates/data-secret.yaml
index 57c1ebd1a0..b5307a23d9 100644
--- a/helm/dbrepo/templates/data-secret.yaml
+++ b/helm/dbrepo/templates/data-secret.yaml
@@ -12,7 +12,7 @@ stringData:
   AUTH_SERVICE_ADMIN_PASSWORD: "{{ .Values.authservice.auth.adminPassword }}"
   AUTH_SERVICE_CLIENT: "{{ .Values.authservice.client.id }}"
   AUTH_SERVICE_CLIENT_SECRET: "{{ .Values.authservice.client.secret }}"
-  AUTH_SERVICE_ENDPOINT: "{{ .Values.authservice.endpoint }}"
+  AUTH_SERVICE_HOST: "{{ .Values.authservice.endpoint }}"
   BROKER_EXCHANGE_NAME: "{{ .Values.brokerservice.exchangeName }}"
   BROKER_HOST: "{{ .Values.brokerservice.host }}"
   BROKER_QUEUE_NAME: "{{ .Values.brokerservice.queueName }}"
@@ -26,13 +26,17 @@ stringData:
   GATEWAY_SERVICE_ENDPOINT: "{{ .Values.gateway }}"
   GRANT_DEFAULT_READ: "{{ .Values.dataservice.grant.read }}"
   GRANT_DEFAULT_WRITE: "{{ .Values.dataservice.grant.write }}"
+  DEFAULT_DATE_FORMAT_ID: "{{ .Values.dataservice.default.date }}"
+  DEFAULT_TIME_FORMAT_ID: "{{ .Values.dataservice.default.time }}"
+  DEFAULT_TIMESTAMP_FORMAT_ID: "{{ .Values.dataservice.default.timestamp }}"
   JWT_PUBKEY: "{{ .Values.authservice.jwt.pubkey }}"
   LOG_LEVEL: "{{ ternary "debug" "info" .Values.dataservice.image.debug }}"
   MIN_CONCURRENT_CONSUMERS: "{{ .Values.dataservice.consumerConcurrentMin }}"
   MAX_CONCURRENT_CONSUMERS: "{{ .Values.dataservice.consumerConcurrentMax }}"
   REQUEUE_REJECTED: "{{ .Values.dataservice.requeueRejected }}"
-  S3_ENDPOINT: "{{ .Values.dataservice.s3.endpoint }}"
   S3_ACCESS_KEY_ID: "{{ .Values.dataservice.s3.auth.username }}"
+  S3_ENDPOINT: "{{ .Values.dataservice.s3.endpoint }}"
+  S3_EXPORT_BUCKET: "{{ .Values.dataservice.s3.bucket.export }}"
+  S3_FILE_PATH: "{{ .Values.dataservice.s3.filePath }}"
   S3_SECRET_ACCESS_KEY: "{{ .Values.dataservice.s3.auth.password }}"
   S3_IMPORT_BUCKET: "{{ .Values.dataservice.s3.bucket.import }}"
-  S3_EXPORT_BUCKET: "{{ .Values.dataservice.s3.bucket.export }}"
diff --git a/helm/dbrepo/templates/metadata-configmap.yaml b/helm/dbrepo/templates/metadata-configmap.yaml
index b0c927e915..88c761643a 100644
--- a/helm/dbrepo/templates/metadata-configmap.yaml
+++ b/helm/dbrepo/templates/metadata-configmap.yaml
@@ -4,8 +4,11 @@ apiVersion: v1
 kind: ConfigMap
 metadata:
   name: metadata-db-setup
-  namespace: {{ $.Values.namespace }}
+  namespace: {{ .Values.namespace }}
 data:
+  {{- with .Values.metadatadb.extraInitDbScripts }}
+  {{ toYaml . | nindent 2 }}
+  {{- end }}
   02-setup-data.sql: |
     BEGIN;
     INSERT INTO `mdb_containers` (name, internal_name, image_id, host, port, sidecar_host, sidecar_port, privileged_username, privileged_password)
diff --git a/helm/dbrepo/values.schema.json b/helm/dbrepo/values.schema.json
index b325533b9c..3f555c6705 100644
--- a/helm/dbrepo/values.schema.json
+++ b/helm/dbrepo/values.schema.json
@@ -580,6 +580,20 @@
                 "consumerConcurrentMin": {
                     "type": "integer"
                 },
+                "default": {
+                    "properties": {
+                        "date": {
+                            "type": "integer"
+                        },
+                        "time": {
+                            "type": "integer"
+                        },
+                        "timestamp": {
+                            "type": "integer"
+                        }
+                    },
+                    "type": "object"
+                },
                 "enabled": {
                     "type": "boolean"
                 },
@@ -643,6 +657,9 @@
                         },
                         "endpoint": {
                             "type": "string"
+                        },
+                        "filePath": {
+                            "type": "string"
                         }
                     },
                     "type": "object"
@@ -750,6 +767,10 @@
                 "enabled": {
                     "type": "boolean"
                 },
+                "extraInitDbScripts": {
+                    "properties": {},
+                    "type": "object"
+                },
                 "fullnameOverride": {
                     "type": "string"
                 },
diff --git a/helm/dbrepo/values.yaml b/helm/dbrepo/values.yaml
index 3b2e12c656..d15d46c305 100644
--- a/helm/dbrepo/values.yaml
+++ b/helm/dbrepo/values.yaml
@@ -42,6 +42,7 @@ admin:
 ## @skip metadatadb.metrics.enabled The Prometheus settings.
 ## @skip metadatadb.galera The Galera settings.
 ## @skip metadatadb.initdbScriptsConfigMap The initial database scripts.
+## @param metadatadb.extraInitDbScripts Additional init.db scripts that are executed on the first start.
 ## @skip metadatadb.service The initial database scripts.
 ## @param metadatadb.persistence.enabled Enable persistent storage. Requires PV-provisioner.
 ## @param metadatadb.replicaCount The number of replicas, should be uneven (2n+1).
@@ -65,6 +66,12 @@ metadatadb:
       user: mariabackup
       password: mariabackup
   initdbScriptsConfigMap: metadata-db-setup
+  extraInitDbScripts: { }
+  #    03-additional-data.sql: |
+  #      BEGIN;
+  #      INSERT INTO `mdb_containers` (name, internal_name, image_id, host, port, sidecar_host, sidecar_port, privileged_username, privileged_password)
+  #        VALUES ('MariaDB Galera TEST', 'mariadb_11_1_3', 1, 'data-db', 3306, 'data-db', 80, 'root', 'dbrepo');
+  #      COMMIT;
   service:
     type: ClusterIP
     annotations: { }
@@ -171,7 +178,7 @@ datadb:
         protocol: TCP
   sidecars:
     - name: sidecar
-      image: s210.dl.hpc.tuwien.ac.at/dbrepo/data-db-sidecar:1.4.3
+      image: s210.dl.hpc.tuwien.ac.at/dbrepo/data-db-sidecar:1.4.4
       securityContext:
         runAsUser: 1001
         runAsGroup: 0
@@ -207,10 +214,10 @@ datadb:
         periodSeconds: 30
       volumeMounts:
         - name: s3
-          mountPath: /tmp
+          mountPath: /s3
   extraVolumeMounts:
     - name: s3
-      mountPath: /tmp
+      mountPath: /s3
   extraVolumes:
     - name: s3
       emptyDir: { }
@@ -429,7 +436,7 @@ brokerservice:
 analyseservice:
   enabled: true
   image:
-    name: s210.dl.hpc.tuwien.ac.at/dbrepo/analyse-service:1.4.3
+    name: s210.dl.hpc.tuwien.ac.at/dbrepo/analyse-service:1.4.4
     pullPolicy: Always
     debug: false
   s3:
@@ -459,7 +466,7 @@ analyseservice:
 metadataservice:
   enabled: true
   image:
-    name: s210.dl.hpc.tuwien.ac.at/dbrepo/metadata-service:1.4.3
+    name: s210.dl.hpc.tuwien.ac.at/dbrepo/metadata-service:1.4.4
     pullPolicy: Always
     debug: false
   admin:
@@ -492,10 +499,14 @@ metadataservice:
 ## @skip dataservice.image
 ## @param dataservice.grant.read The default database permissions for users with read access.
 ## @param dataservice.grant.write The default database permissions for users with write access.
+## @param dataservice.default.date The default date format id for dates.
+## @param dataservice.default.time The default date format id for times.
+## @param dataservice.default.timestamp The default date format id for timestamps.
 ## @param dataservice.s3.endpoint The S3-capable endpoint the microservice connects to.
 ## @skip dataservice.s3.bucket
 ## @param dataservice.s3.auth.username The S3-capable endpoint username (or access key id).
 ## @param dataservice.s3.auth.password The S3-capable endpoint user password (or access key secret).
+## @param dataservice.s3.filePath The local location to download/upload files from/to S3-capable endpoint.
 ## @param dataservice.consumerConcurrentMin The minimum broker service consumer number.
 ## @param dataservice.consumerConcurrentMax The maximum broker service consumer number.
 ## @param dataservice.requeueRejected Enable re-queueing of rejected messages to the broker service.
@@ -505,12 +516,16 @@ dataservice:
   enabled: true
   endpoint: http://data-service
   image:
-    name: s210.dl.hpc.tuwien.ac.at/dbrepo/data-service:1.4.3
+    name: s210.dl.hpc.tuwien.ac.at/dbrepo/data-service:1.4.4
     pullPolicy: Always
     debug: false
   grant:
     read: SELECT
     write: SELECT, CREATE, CREATE VIEW, CREATE ROUTINE, CREATE TEMPORARY TABLES, LOCK TABLES, INDEX, TRIGGER, INSERT, UPDATE, DELETE
+  default:
+    date: 3
+    time: 4
+    timestamp: 1
   s3:
     endpoint: http://storageservice-s3:9000
     bucket:
@@ -519,6 +534,7 @@ dataservice:
     auth:
       username: seaweedfsadmin
       password: seaweedfsadmin
+    filePath: /s3
   consumerConcurrentMin: 1
   consumerConcurrentMax: 5
   requeueRejected: false
@@ -536,12 +552,12 @@ searchservice:
   enabled: true
   endpoint: http://search-service
   image:
-    name: s210.dl.hpc.tuwien.ac.at/dbrepo/search-service:1.4.3
+    name: s210.dl.hpc.tuwien.ac.at/dbrepo/search-service:1.4.4
     pullPolicy: Always
     debug: false
   init:
     image:
-      name: s210.dl.hpc.tuwien.ac.at/dbrepo/search-service-init:1.4.3
+      name: s210.dl.hpc.tuwien.ac.at/dbrepo/search-service-init:1.4.4
       pullPolicy: Always
   replicaCount: 2
 
@@ -588,7 +604,7 @@ storageservice:
       username: seaweedfsadmin
       password: seaweedfsadmin
   init:
-    image: s210.dl.hpc.tuwien.ac.at/dbrepo/storage-service-init:1.4.3
+    image: s210.dl.hpc.tuwien.ac.at/dbrepo/storage-service-init:1.4.4
     pullPolicy: Always
 
 ## @section User Interface
@@ -617,7 +633,7 @@ storageservice:
 ui:
   enabled: true
   image:
-    name: s210.dl.hpc.tuwien.ac.at/dbrepo/ui:1.4.3
+    name: s210.dl.hpc.tuwien.ac.at/dbrepo/ui:1.4.4
     pullPolicy: Always
     debug: false
   public:
diff --git a/lib/python/build-website.sh b/lib/python/build-site.sh
similarity index 54%
rename from lib/python/build-website.sh
rename to lib/python/build-site.sh
index 1178d90892..75602b09cc 100755
--- a/lib/python/build-website.sh
+++ b/lib/python/build-site.sh
@@ -2,7 +2,5 @@
 python3 -m venv ./lib/python/venv
 source ./lib/python/venv/bin/activate
 PIPENV_PIPFILE=./lib/python/Pipfile pipenv install --dev
-sed -i -e "s/__APPVERSION__/${APP_VERSION}/g" ./lib/python/pyproject.toml ./lib/python/setup.py ./lib/python/README.md ./lib/python/docs/conf.py ./lib/python/docs/index.rst
 sphinx-apidoc -o ./lib/python/docs/source ./lib/python/dbrepo
-sphinx-build -M html ./lib/python/docs/ ./lib/python/docs/build/
-cp -r ./lib/python/docs/build/html ./site/sphinx
\ No newline at end of file
+sphinx-build -M html ./lib/python/docs/ ./lib/python/docs/build/
\ No newline at end of file
diff --git a/lib/python/dbrepo/RestClient.py b/lib/python/dbrepo/RestClient.py
index 101bff51a1..25f20858a9 100644
--- a/lib/python/dbrepo/RestClient.py
+++ b/lib/python/dbrepo/RestClient.py
@@ -518,6 +518,27 @@ class RestClient:
             raise NotExistsError(f'Failed to delete table: not found')
         raise ResponseCodeError(f'Failed to delete table: response code: {response.status_code} is not 202 (ACCEPTED)')
 
+    def get_table_metadata(self, database_id: int) -> Database:
+        """
+        Generate metadata of all system-versioned tables in a database with given id.
+
+        :param database_id: The database id.
+
+        :raises ResponseCodeError: If something went wrong with the retrieval.
+        :raises ForbiddenError: If the action is not allowed.
+        :raises NotExistsError: If the container does not exist.
+        """
+        url = f'/api/database/{database_id}/metadata/table'
+        response = self._wrapper(method="put", url=url, force_auth=True)
+        if response.status_code == 200:
+            body = response.json()
+            return Database.model_validate(body)
+        if response.status_code == 403:
+            raise ForbiddenError(f'Failed to get tables metadata: not allowed')
+        if response.status_code == 404:
+            raise NotExistsError(f'Failed to get tables metadata: not found')
+        raise ResponseCodeError(f'Failed to get tables metadata: response code: {response.status_code} is not 200 (OK)')
+
     def get_views(self, database_id: int) -> List[View]:
         """
         Gets views of a database with given database id.
@@ -655,6 +676,27 @@ class RestClient:
             raise NotExistsError(f'Failed to get view data: not found')
         raise ResponseCodeError(f'Failed to get view data: response code: {response.status_code} is not 200 (OK)')
 
+    def get_views_metadata(self, database_id: int) -> Database:
+        """
+        Generate metadata of all views in a database with given id.
+
+        :param database_id: The database id.
+
+        :raises ResponseCodeError: If something went wrong with the retrieval.
+        :raises ForbiddenError: If the action is not allowed.
+        :raises NotExistsError: If the container does not exist.
+        """
+        url = f'/api/database/{database_id}/metadata/view'
+        response = self._wrapper(method="put", url=url, force_auth=True)
+        if response.status_code == 200:
+            body = response.json()
+            return Database.model_validate(body)
+        if response.status_code == 403:
+            raise ForbiddenError(f'Failed to get views metadata: not allowed')
+        if response.status_code == 404:
+            raise NotExistsError(f'Failed to get views metadata: not found')
+        raise ResponseCodeError(f'Failed to get views metadata: response code: {response.status_code} is not 200 (OK)')
+
     def get_table_data(self, database_id: int, table_id: int, page: int = 0, size: int = 10,
                        timestamp: datetime.datetime = None, df: bool = False) -> Result | DataFrame:
         """
@@ -1319,7 +1361,7 @@ class RestClient:
                           publication_day: int = None, publication_month: int = None,
                           related_identifiers: List[CreateRelatedIdentifier] = None) -> Identifier:
         """
-        Create an identifier
+        Create an identifier draft.
 
         :param database_id: The database id of the created identifier.
         :param type: The type of the created identifier.
@@ -1367,6 +1409,93 @@ class RestClient:
         raise ResponseCodeError(
             f'Failed to create identifier: response code: {response.status_code} is not 201 (CREATED)')
 
+    def save_identifier(self, identifier_id: int, database_id: int, type: IdentifierType,
+                        titles: List[CreateIdentifierTitle], publisher: str, creators: List[CreateIdentifierCreator],
+                        publication_year: int, descriptions: List[CreateIdentifierDescription] = None,
+                        funders: List[CreateIdentifierFunder] = None, licenses: List[License] = None,
+                        language: Language = None, query_id: int = None, view_id: int = None, table_id: int = None,
+                        publication_day: int = None, publication_month: int = None,
+                        related_identifiers: List[CreateRelatedIdentifier] = None) -> Identifier:
+        """
+        Save an existing identifier and update the metadata attached to it.
+
+        :param identifier_id: The identifier id.
+        :param database_id: The database id of the created identifier.
+        :param type: The type of the created identifier.
+        :param titles: The titles of the created identifier.
+        :param publisher: The publisher of the created identifier.
+        :param creators: The creator(s) of the created identifier.
+        :param publication_year: The publication year of the created identifier.
+        :param descriptions: The description(s) of the created identifier. Optional.
+        :param funders: The funders(s) of the created identifier. Optional.
+        :param licenses: The license(s) of the created identifier. Optional.
+        :param language: The language of the created identifier. Optional.
+        :param query_id: The query id of the created identifier. Required when type=SUBSET, otherwise invalid. Optional.
+        :param view_id: The view id of the created identifier. Required when type=VIEW, otherwise invalid. Optional.
+        :param table_id: The table id of the created identifier. Required when type=TABLE, otherwise invalid. Optional.
+        :param publication_day: The publication day of the created identifier. Optional.
+        :param publication_month: The publication month of the created identifier. Optional.
+        :param related_identifiers: The related identifier(s) of the created identifier. Optional.
+
+        :returns: The identifier, if successful.
+
+        :raises ResponseCodeError: If something went wrong with the creation of the identifier.
+        :raises ForbiddenError: If the action is not allowed.
+        :raises MalformedError: If the payload is rejected by the service.
+        :raises NotExistsError: If the database, table/view/subset or user does not exist.
+        :raises ExternalSystemError: If the external system (DataCite) refused communication with the service.
+        """
+        url = f'/api/identifier/{identifier_id}'
+        payload = CreateIdentifier(database_id=database_id, type=type, titles=titles, publisher=publisher,
+                                   creators=creators, publication_year=publication_year, descriptions=descriptions,
+                                   funders=funders, licenses=licenses, language=language, query_id=query_id,
+                                   view_id=view_id, table_id=table_id, publication_day=publication_day,
+                                   publication_month=publication_month, related_identifiers=related_identifiers)
+        response = self._wrapper(method="put", url=url, force_auth=True, payload=payload)
+        if response.status_code == 201:
+            body = response.json()
+            return Identifier.model_validate(body)
+        if response.status_code == 400:
+            raise MalformedError(f'Failed to save identifier: service rejected malformed payload')
+        if response.status_code == 403 or response.status_code == 405:
+            raise ForbiddenError(f'Failed to save identifier: not allowed')
+        if response.status_code == 404:
+            raise NotExistsError(f'Failed to save identifier: not found')
+        if response.status_code == 503:
+            raise ExternalSystemError(f'Failed to save identifier: external system rejected communication')
+        raise ResponseCodeError(
+            f'Failed to save identifier: response code: {response.status_code} is not 202 (ACCEPTED)')
+
+    def publish_identifier(self, identifier_id: int) -> Identifier:
+        """
+        Publish an identifier with given id.
+
+        :param identifier_id: The identifier id.
+
+        :returns: The identifier, if successful.
+
+        :raises ResponseCodeError: If something went wrong with the creation of the identifier.
+        :raises ForbiddenError: If the action is not allowed.
+        :raises MalformedError: If the payload is rejected by the service.
+        :raises NotExistsError: If the database, table/view/subset or user does not exist.
+        :raises ExternalSystemError: If the external system (DataCite) refused communication with the service.
+        """
+        url = f'/api/identifier/{identifier_id}/publish'
+        response = self._wrapper(method="put", url=url, force_auth=True)
+        if response.status_code == 201:
+            body = response.json()
+            return Identifier.model_validate(body)
+        if response.status_code == 400:
+            raise MalformedError(f'Failed to publish identifier: service rejected malformed payload')
+        if response.status_code == 403 or response.status_code == 405:
+            raise ForbiddenError(f'Failed to publish identifier: not allowed')
+        if response.status_code == 404:
+            raise NotExistsError(f'Failed to publish identifier: not found')
+        if response.status_code == 503:
+            raise ExternalSystemError(f'Failed to publish identifier: external system rejected communication')
+        raise ResponseCodeError(
+            f'Failed to publish identifier: response code: {response.status_code} is not 201 (CREATED)')
+
     def suggest_identifier(self, uri: str) -> Identifier:
         """
         Suggest identifier metadata for a given identifier URI. Example: ROR, ORCID, ISNI, GND, DOI.
diff --git a/lib/python/dbrepo/api/dto.py b/lib/python/dbrepo/api/dto.py
index e22b989541..27256c6398 100644
--- a/lib/python/dbrepo/api/dto.py
+++ b/lib/python/dbrepo/api/dto.py
@@ -624,6 +624,7 @@ class View(BaseModel):
     is_public: bool
     initial_view: bool
     last_modified: Timestamp
+    columns: List[ViewColumn]
     identifiers: List[Identifier] = field(default_factory=list)
 
 
@@ -877,6 +878,7 @@ class Column(BaseModel):
     is_public: bool
     is_null_allowed: bool
     alias: Optional[str] = None
+    description: Optional[str] = None
     size: Optional[int] = None
     d: Optional[int] = None
     mean: Optional[float] = None
@@ -896,6 +898,27 @@ class Column(BaseModel):
     std_dev: Optional[float] = None
 
 
+class ViewColumn(BaseModel):
+    id: int
+    name: str
+    database_id: int
+    internal_name: str
+    auto_generated: bool
+    column_type: ColumnType
+    is_public: bool
+    is_null_allowed: bool
+    alias: Optional[str] = None
+    size: Optional[int] = None
+    d: Optional[int] = None
+    mean: Optional[float] = None
+    median: Optional[float] = None
+    concept: Optional[Concept] = None
+    unit: Optional[Unit] = None
+    date_format: Optional[ImageDate] = None
+    index_length: Optional[int] = None
+    length: Optional[int] = None
+
+
 class Table(BaseModel):
     id: int
     database_id: int
diff --git a/lib/python/docs/conf.py b/lib/python/docs/conf.py
index 4d955a3a4c..2992f7ada7 100644
--- a/lib/python/docs/conf.py
+++ b/lib/python/docs/conf.py
@@ -17,7 +17,7 @@ project = "dbrepo"
 current_year = datetime.date.today().year
 copyright = f'{current_year} the DBRepo Developers'
 author = "Martin Weise"
-release = "__APPVERSION__"
+release = ""
 
 # -- General configuration ---------------------------------------------------
 # https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration
diff --git a/lib/python/docs/index.rst b/lib/python/docs/index.rst
index d1916a2e2a..f905221999 100644
--- a/lib/python/docs/index.rst
+++ b/lib/python/docs/index.rst
@@ -12,7 +12,7 @@ Quickstart
 ----------
 
 Find numerous quickstart examples on
-the `DBRepo website <https://www.ifs.tuwien.ac.at/infrastructures/dbrepo/__APPVERSION__/usage-overview/>`_.
+the `DBRepo website <https://www.ifs.tuwien.ac.at/infrastructures/dbrepo//usage-overview/>`_.
 
 AMQP API Client
 -----------
diff --git a/lib/python/package.sh b/lib/python/package.sh
index 4478dbf962..2ad8d301e8 100755
--- a/lib/python/package.sh
+++ b/lib/python/package.sh
@@ -1,8 +1,3 @@
 #!/bin/bash
-PRE_RELEASE=""
-if [ "${CI_COMMIT_BRANCH:8:8}" = "master" ]; then
-    PRE_RELEASE="rc${CI_PIPELINE_ID}"
-fi
-sed -i -e "s/__APPVERSION__/${APP_VERSION}${PRE_RELEASE}/g" ./lib/python/pyproject.toml ./lib/python/setup.py ./lib/python/README.md
 python -m build --sdist ./lib/python
 python -m build --wheel ./lib/python
diff --git a/lib/python/pyproject.toml b/lib/python/pyproject.toml
index e0b1a19844..e8de41883d 100644
--- a/lib/python/pyproject.toml
+++ b/lib/python/pyproject.toml
@@ -1,6 +1,6 @@
 [project]
 name = "dbrepo"
-version = "1.4.3"
+version = "1.4.4"
 description = "DBRepo Python Library"
 keywords = [
     "DBRepo",
diff --git a/lib/python/setup.py b/lib/python/setup.py
index f9915ffbd3..4d5b26206d 100644
--- a/lib/python/setup.py
+++ b/lib/python/setup.py
@@ -2,7 +2,7 @@
 from distutils.core import setup
 
 setup(name="dbrepo",
-      version="1.4.3",
+      version="1.4.4",
       description="A library for communicating with DBRepo",
       url="https://www.ifs.tuwien.ac.at/infrastructures/dbrepo/1.4.3/",
       author="Martin Weise",
diff --git a/make/gen.mk b/make/gen.mk
index 0ab27496d4..e6fceaf2ba 100644
--- a/make/gen.mk
+++ b/make/gen.mk
@@ -17,4 +17,4 @@ gen-docs-doc: ## Generate DBRepo documentation.
 
 .PHONY: gen-lib-doc
 gen-lib-doc: ## Generate Python Library documentation.
-	bash ./lib/python/build.sh
+	bash ./lib/python/build-site.sh
diff --git a/mkdocs.yml b/mkdocs.yml
index 05933f2ddd..e437015236 100644
--- a/mkdocs.yml
+++ b/mkdocs.yml
@@ -5,44 +5,49 @@ site_author: Research Unit Data Science, Technische Universit&auml;t Wien
 copyright: CC-BY 4.0 Technische Universit&auml;t Wien & Universit&auml;t Wien
 docs_dir: .docs
 nav:
-  - Home: index.md
-  - Deployment:
-    - Docker Compose: deployment-docker-compose.md
+  - Get Started:
+    - Welcome to DBRepo: index.md
+    - Why use DBRepo: why.md
+    - Help with DBRepo: help.md
+    - Installation: deployment-docker-compose.md
     - Kubernetes: deployment-helm.md
-  - System:
-    - Overview: system-overview.md
-    - Services:
-      - Analyse Service: system-services-analyse.md
-      - Authentication Service: system-services-authentication.md
-      - Broker Service: system-services-broker.md
-      - Data Service: system-services-data.md
-      - Gateway Service: system-services-gateway.md
-      - Metadata Service: system-services-metadata.md
-      - Search Service: system-services-search.md
-      - Storage Service: system-services-storage.md
-      - Upload Service: system-services-upload.md
+    - Migration Guide: migration.md
+    - contributing.md
+  - Concepts:
+    - Overview: concepts/index.md
+    - Authentication: concepts/authentication.md
+    - Databases: concepts/databases.md
+    - Messaging: concepts/messaging.md
+    - Monitoring: concepts/monitoring.md
+    - Persistent Identifier: concepts/pid.md
+    - Search: concepts/search.md
+    - Storage: concepts/storage.md
+    - User Interface: concepts/ui.md
+  - API:
+    - Overview: api/index.md
     - Databases:
-      - Authentication Database: system-databases-authentication.md
-      - Data Database: system-databases-data.md
-      - Metadata Database: system-databases-metadata.md
-      - Search Database: system-databases-search.md
-    - Other:
-      - User Interface: system-other-ui.md
-      - Search Database Dashboard: system-other-search-dashboard.md
-    - Operation:
-      - Actuator: operation-actuator.md
-      - Prometheus: operation-prometheus.md
-  - Usage:
-    - Overview: usage-overview.md
-    - Python Library: usage-python.md
+      - Data Database: api/data-db.md
+      - Metadata Database: api/metadata-db.md
+    - SDK:
+      - Python Library: api/python.md
+      - Swagger / OpenAPI: api/open-api.md
     - Services:
-      - Authentication Service: usage-authentication.md
-      - Storage Service: usage-storage.md
-      - Upload Service: usage-upload.md
-  - Development:
-    - Overview: dev-overview.md
-    - Application Guide: dev-guide-app.md
-    - Infrastructure Guide: dev-guide-infra.md
+      - Analyse Service: api/analyse-service.md
+      - Auth Service: api/auth-service.md
+      - Data Service: api/data-service.md
+      - Gateway Service: api/gateway-service.md
+      - Metadata Service: api/metadata-service.md
+      - Search Service: api/search-service.md
+      - Storage Service: api/storage-service.md
+      - Upload Service: api/upload-service.md
+    - UI:
+      - Customization: api/ui.md
+  - Examples:
+    - COVID-19 Tweets: examples/covid19.md
+    - Influenza Monitoring: examples/influenza.md
+    - Manufacturing Data: examples/manufacturing.md
+    - Power Usage: examples/power.md
+    - Transportation Monitoring: examples/transportation.md
   - publications.md
   - contact.md
 extra_css:
diff --git a/versions.json b/versions.json
index 4378f77235..5eb8a9b173 100644
--- a/versions.json
+++ b/versions.json
@@ -1,8 +1,13 @@
 [
+  {
+    "version": "1.4.3",
+    "title": "1.4.3",
+    "aliases": ["latest"]
+  },
   {
     "version": "1.4.2",
     "title": "1.4.2",
-    "aliases": ["latest"]
+    "aliases": []
   },
   {
     "version": "1.4.1",
-- 
GitLab