From 77c04245fe7b0b313ec4f55e4f3dfe174dd15b0f Mon Sep 17 00:00:00 2001
From: Martin Weise <martin.weise@tuwien.ac.at>
Date: Mon, 24 Mar 2025 12:19:23 +0100
Subject: [PATCH] Refactored the library into a separate module dbrepo-core

Signed-off-by: Martin Weise <martin.weise@tuwien.ac.at>
---
 .gitlab-ci.yml                                |  50 +++---
 dbrepo-data-service/pom.xml                   |  86 +---------
 .../at/tuwien/endpoints/AccessEndpoint.java   |  10 +-
 .../at/tuwien/endpoints/DatabaseEndpoint.java |  14 +-
 .../at/tuwien/endpoints/RestEndpoint.java     |   2 +-
 .../at/tuwien/endpoints/SubsetEndpoint.java   |  18 +--
 .../at/tuwien/endpoints/TableEndpoint.java    |  18 +--
 .../at/tuwien/endpoints/UploadEndpoint.java   |   8 +-
 .../at/tuwien/endpoints/ViewEndpoint.java     |  16 +-
 .../tuwien/handlers/ApiExceptionHandler.java  |   4 +-
 .../tuwien/validation/EndpointValidator.java  |  14 +-
 .../java/at/tuwien/config/MariaDbConfig.java  |   6 +-
 .../tuwien/config/MariaDbContainerConfig.java |   4 +-
 .../endpoint/AccessEndpointUnitTest.java      |  10 +-
 .../endpoint/DatabaseEndpointUnitTest.java    |  10 +-
 .../endpoint/SubsetEndpointUnitTest.java      |  14 +-
 .../endpoint/TableEndpointUnitTest.java       |  14 +-
 .../tuwien/endpoint/ViewEndpointUnitTest.java |   8 +-
 .../tuwien/gateway/InterceptorUnitTest.java   |   5 +-
 .../MetadataServiceGatewayUnitTest.java       |  18 +--
 .../handlers/ApiExceptionHandlerTest.java     |  10 +-
 .../DefaultListenerIntegrationTest.java       |  10 +-
 .../listener/DefaultListenerUnitTest.java     |  10 +-
 .../tuwien/mapper/MariaDbMapperUnitTest.java  |   2 +-
 .../tuwien/mvc/ActuatorEndpointMvcTest.java   |   2 +-
 .../at/tuwien/mvc/OpenApiEndpointMvcTest.java |   4 +-
 .../tuwien/mvc/PrometheusEndpointMvcTest.java |  12 +-
 .../at/tuwien/mvc/SubsetEndpointMvcTest.java  |   2 +-
 .../service/AccessServiceIntegrationTest.java |   6 +-
 .../ContainerServiceIntegrationTest.java      |   8 +-
 .../service/CredentialServiceUnitTest.java    |  16 +-
 .../DatabaseServiceIntegrationTest.java       |  40 ++---
 .../service/QueueServiceIntegrationTest.java  |  10 +-
 .../StorageServiceIntegrationTest.java        |  12 +-
 .../service/SubsetServiceIntegrationTest.java |   8 +-
 .../service/TableServiceIntegrationTest.java  |  10 +-
 .../service/ViewServiceIntegrationTest.java   |   4 +-
 .../java/at/tuwien/utils/MariaDbUtilTest.java |   2 +-
 .../validation/EndpointValidatorUnitTest.java |   4 +-
 .../java/at/tuwien/auth/AuthTokenFilter.java  |   4 +-
 .../auth/BasicAuthenticationProvider.java     |   2 +-
 .../auth/InternalRequestInterceptor.java      |   2 +-
 .../java/at/tuwien/config/CacheConfig.java    |  16 +-
 .../at/tuwien/gateway/KeycloakGateway.java    |  10 +-
 .../gateway/MetadataServiceGateway.java       |  16 +-
 .../gateway/impl/KeycloakGatewayImpl.java     |   2 +-
 .../impl/MetadataServiceGatewayImpl.java      |  16 +-
 .../at/tuwien/listener/DefaultListener.java   |  12 +-
 .../java/at/tuwien/mapper/DataMapper.java     |  30 ++--
 .../java/at/tuwien/mapper/MariaDbMapper.java  |  36 ++---
 .../java/at/tuwien/mapper/MetadataMapper.java |  32 ++--
 .../java/at/tuwien/service/AccessService.java |   8 +-
 .../java/at/tuwien/service/CacheService.java  |  16 +-
 .../at/tuwien/service/ContainerService.java   |  10 +-
 .../at/tuwien/service/CredentialService.java  |   2 +-
 .../at/tuwien/service/DatabaseService.java    |  12 +-
 .../java/at/tuwien/service/QueueService.java  |   4 +-
 .../at/tuwien/service/StorageService.java     |  10 +-
 .../java/at/tuwien/service/SubsetService.java |   8 +-
 .../java/at/tuwien/service/TableService.java  |   8 +-
 .../java/at/tuwien/service/ViewService.java   |   8 +-
 .../impl/AccessServiceMariaDbImpl.java        |   8 +-
 .../tuwien/service/impl/CacheServiceImpl.java |  16 +-
 .../impl/ContainerServiceMariaDbImpl.java     |  12 +-
 .../service/impl/CredentialServiceImpl.java   |   2 +-
 .../at/tuwien/service/impl/DataConnector.java |   4 +-
 .../impl/DatabaseServiceMariaDbImpl.java      |  14 +-
 .../impl/QueueServiceRabbitMqImpl.java        |   6 +-
 .../service/impl/StorageServiceS3Impl.java    |  10 +-
 .../impl/SubsetServiceMariaDbImpl.java        |  12 +-
 .../service/impl/TableServiceMariaDbImpl.java |  14 +-
 .../service/impl/ViewServiceMariaDbImpl.java  |   8 +-
 .../java/at/tuwien/utils/MariaDbUtil.java     |   2 +-
 dbrepo-metadata-service/api/pom.xml           |  45 ------
 .../OrcidDisambiguatedSourceTypeDto.java      |   6 -
 dbrepo-metadata-service/entities/pom.xml      |  38 -----
 dbrepo-metadata-service/pom.xml               |  70 ++------
 dbrepo-metadata-service/repositories/pom.xml  |  10 +-
 .../java/at/tuwien/mapper/MetadataMapper.java | 146 ++++++++---------
 .../java/at/tuwien/mapper/SparqlMapper.java   |   2 +-
 .../repository/BannerMessageRepository.java   |   2 +-
 .../tuwien/repository/ConceptRepository.java  |   2 +-
 .../repository/ContainerRepository.java       |   2 +-
 .../tuwien/repository/DatabaseRepository.java |   2 +-
 .../repository/IdentifierRepository.java      |   2 +-
 .../at/tuwien/repository/ImageRepository.java |   2 +-
 .../tuwien/repository/LicenseRepository.java  |   2 +-
 .../tuwien/repository/OntologyRepository.java |   2 +-
 .../at/tuwien/repository/TableRepository.java |   2 +-
 .../at/tuwien/repository/UnitRepository.java  |   2 +-
 .../at/tuwien/repository/UserRepository.java  |   2 +-
 .../at/tuwien/repository/ViewRepository.java  |   2 +-
 dbrepo-metadata-service/rest-service/pom.xml  |  14 +-
 .../DbrepoMetadataServiceApplication.java     |   2 +-
 .../IdentifierStatusTypeDtoConverter.java     |   2 +-
 .../IdentifierTypeDtoConverter.java           |   2 +-
 .../at/tuwien/endpoints/AbstractEndpoint.java |  12 +-
 .../at/tuwien/endpoints/AccessEndpoint.java   |  14 +-
 .../at/tuwien/endpoints/ConceptEndpoint.java  |   2 +-
 .../tuwien/endpoints/ContainerEndpoint.java   |  16 +-
 .../at/tuwien/endpoints/DatabaseEndpoint.java |  15 +-
 .../tuwien/endpoints/IdentifierEndpoint.java  |  20 +--
 .../at/tuwien/endpoints/ImageEndpoint.java    |  18 +--
 .../at/tuwien/endpoints/LicenseEndpoint.java  |   2 +-
 .../at/tuwien/endpoints/MessageEndpoint.java  |  14 +-
 .../at/tuwien/endpoints/MetadataEndpoint.java |   2 +-
 .../at/tuwien/endpoints/OntologyEndpoint.java |  14 +-
 .../at/tuwien/endpoints/TableEndpoint.java    |  26 +--
 .../at/tuwien/endpoints/UnitEndpoint.java     |   2 +-
 .../at/tuwien/endpoints/UserEndpoint.java     |  18 +--
 .../at/tuwien/endpoints/ViewEndpoint.java     |  18 +--
 .../tuwien/handlers/ApiExceptionHandler.java  |   4 +-
 .../tuwien/validation/EndpointValidator.java  |  22 +--
 .../java/at/tuwien/config/RabbitConfig.java   |   2 +-
 ...ntifierStatusTypeDtoConverterUnitTest.java |   4 +-
 .../IdentifierTypeDtoConverterUnitTest.java   |   4 +-
 .../endpoints/AbstractEndpointUnitTest.java   |  24 +--
 .../endpoints/AccessEndpointUnitTest.java     |  14 +-
 .../endpoints/ActuatorComponentTest.java      |   2 +-
 .../endpoints/ConceptEndpointUnitTest.java    |   4 +-
 .../endpoints/ContainerEndpointUnitTest.java  |  16 +-
 .../endpoints/DatabaseEndpointUnitTest.java   |  10 +-
 .../endpoints/IdentifierEndpointUnitTest.java |  18 +--
 .../endpoints/ImageEndpointUnitTest.java      |  18 +--
 .../endpoints/LicenseEndpointUnitTest.java    |   4 +-
 .../endpoints/MessageEndpointUnitTest.java    |  12 +-
 .../endpoints/MetadataEndpointUnitTest.java   |   2 +-
 .../endpoints/OntologyEndpointUnitTest.java   |  10 +-
 .../endpoints/TableEndpointUnitTest.java      |  36 ++---
 .../endpoints/UnitEndpointUnitTest.java       |   4 +-
 .../endpoints/UserEndpointUnitTest.java       |  18 +--
 .../endpoints/ViewEndpointUnitTest.java       |  20 +--
 .../at/tuwien/entities/EntitiesUnitTest.java  |   4 +-
 .../gateway/BrokerServiceGatewayUnitTest.java |   6 +-
 .../gateway/CrossrefGatewayUnitTest.java      |   6 +-
 .../DashboardServiceGatewayUnitTest.java      |  11 +-
 .../gateway/DataServiceGatewayUnitTest.java   |  16 +-
 .../KeycloakGatewayIntegrationTest.java       |   6 +-
 .../tuwien/gateway/OrcidGatewayUnitTest.java  |   6 +-
 .../at/tuwien/gateway/RorGatewayUnitTest.java |   6 +-
 .../gateway/SearchServiceGatewayUnitTest.java |   6 +-
 .../handlers/ApiExceptionHandlerTest.java     |  10 +-
 .../tuwien/mapper/MetadataMapperUnitTest.java |  14 +-
 .../tuwien/mvc/ActuatorEndpointMvcTest.java   |   2 +-
 ...nticationPrivilegedIntegrationMvcTest.java |  10 +-
 .../tuwien/mvc/IdentifierEndpointMvcTest.java |   2 +-
 .../tuwien/mvc/MetadataEndpointMvcTest.java   |   2 +-
 .../at/tuwien/mvc/OpenApiEndpointMvcTest.java |   4 +-
 .../tuwien/mvc/PrometheusEndpointMvcTest.java |  14 +-
 .../tuwien/service/AccessServiceUnitTest.java |  14 +-
 .../AuthenticationServiceIntegrationTest.java |   6 +-
 .../service/BrokerServiceIntegrationTest.java |  18 +--
 .../service/ConceptServiceUnitTest.java       |   6 +-
 .../service/ContainerServiceUnitTest.java     |  12 +-
 ...aCiteIdentifierServicePersistenceTest.java |  20 +--
 .../DatabaseServicePersistenceTest.java       |   8 +-
 .../service/DatabaseServiceUnitTest.java      |  16 +-
 .../tuwien/service/EntityServiceUnitTest.java |   8 +-
 .../IdentifierServicePersistenceTest.java     |  16 +-
 .../service/ImageServicePersistenceTest.java  |   8 +-
 .../tuwien/service/ImageServiceUnitTest.java  |  14 +-
 .../service/LicenseServiceUnitTest.java       |   6 +-
 .../service/MessageServiceUnitTest.java       |  10 +-
 .../service/MetadataServiceUnitTest.java      |  14 +-
 .../StorageServiceIntegrationTest.java        |   4 +-
 .../service/TableServicePersistenceTest.java  |  26 +--
 .../tuwien/service/TableServiceUnitTest.java  |  36 ++---
 .../tuwien/service/UnitServiceUnitTest.java   |   6 +-
 .../service/UserServiceIntegrationTest.java   |   8 +-
 .../service/UserServicePersistenceTest.java   |  10 +-
 .../tuwien/service/UserServiceUnitTest.java   |  10 +-
 .../service/ViewServicePersistenceTest.java   |  10 +-
 .../tuwien/service/ViewServiceUnitTest.java   |  10 +-
 .../test/java/at/tuwien/utils/AmqpUtils.java  |   4 +-
 .../java/at/tuwien/utils/KeycloakUtils.java   |   4 +-
 .../validator/EndpointValidatorUnitTest.java  |  18 +--
 dbrepo-metadata-service/services/pom.xml      |   9 +-
 .../java/at/tuwien/auth/AuthTokenFilter.java  |   4 +-
 .../auth/BasicAuthenticationProvider.java     |   2 +-
 .../auth/InternalRequestInterceptor.java      |   2 +-
 .../java/at/tuwien/config/CacheConfig.java    |   2 +-
 .../java/at/tuwien/config/MetricsConfig.java  |   2 +-
 .../tuwien/gateway/BrokerServiceGateway.java  |   6 +-
 .../at/tuwien/gateway/CrossrefGateway.java    |   4 +-
 .../gateway/DashboardServiceGateway.java      |  14 +-
 .../at/tuwien/gateway/DataServiceGateway.java |  24 +--
 .../at/tuwien/gateway/KeycloakGateway.java    |   8 +-
 .../java/at/tuwien/gateway/OrcidGateway.java  |   4 +-
 .../java/at/tuwien/gateway/RorGateway.java    |   4 +-
 .../tuwien/gateway/SearchServiceGateway.java  |   6 +-
 .../impl/BrokerServiceGatewayImpl.java        |   6 +-
 .../gateway/impl/CrossrefGatewayImpl.java     |   4 +-
 .../impl/DashboardServiceGatewayImpl.java     |  16 +-
 .../gateway/impl/DataServiceGatewayImpl.java  |  18 +--
 .../gateway/impl/KeycloakGatewayImpl.java     |   8 +-
 .../tuwien/gateway/impl/OrcidGatewayImpl.java |   4 +-
 .../tuwien/gateway/impl/RorGatewayImpl.java   |   4 +-
 .../impl/SearchServiceGatewayImpl.java        |  10 +-
 .../java/at/tuwien/service/AccessService.java |  10 +-
 .../tuwien/service/AuthenticationService.java |   6 +-
 .../tuwien/service/BannerMessageService.java  |   8 +-
 .../java/at/tuwien/service/BrokerService.java |   4 +-
 .../at/tuwien/service/ConceptService.java     |   4 +-
 .../at/tuwien/service/ContainerService.java   |  10 +-
 .../at/tuwien/service/CredentialService.java  |   2 +-
 .../at/tuwien/service/DashboardService.java   |  12 +-
 .../at/tuwien/service/DatabaseService.java    |  12 +-
 .../java/at/tuwien/service/EntityService.java |  16 +-
 .../at/tuwien/service/IdentifierService.java  |  16 +-
 .../java/at/tuwien/service/ImageService.java  |  12 +-
 .../at/tuwien/service/LicenseService.java     |   4 +-
 .../at/tuwien/service/MetadataService.java    |   4 +-
 .../at/tuwien/service/OntologyService.java    |   8 +-
 .../at/tuwien/service/StorageService.java     |   4 +-
 .../java/at/tuwien/service/TableService.java  |  14 +-
 .../java/at/tuwien/service/UnitService.java   |   4 +-
 .../java/at/tuwien/service/UserService.java   |  10 +-
 .../java/at/tuwien/service/ViewService.java   |  12 +-
 .../service/impl/AccessServiceImpl.java       |  10 +-
 .../impl/AuthenticationServiceImpl.java       |   6 +-
 .../impl/BannerMessageServiceImpl.java        |   8 +-
 .../impl/BrokerServiceRabbitMqImpl.java       |  10 +-
 .../service/impl/ConceptServiceImpl.java      |   4 +-
 .../service/impl/ContainerServiceImpl.java    |  12 +-
 .../service/impl/CredentialServiceImpl.java   |   2 +-
 .../service/impl/DashboardServiceImpl.java    |  12 +-
 .../impl/DataCiteIdentifierServiceImpl.java   |  28 ++--
 .../service/impl/DatabaseServiceImpl.java     |  38 ++---
 .../service/impl/EntityServiceImpl.java       |  12 +-
 .../service/impl/IdentifierServiceImpl.java   |  26 +--
 .../tuwien/service/impl/ImageServiceImpl.java |  12 +-
 .../service/impl/LicenseServiceImpl.java      |   4 +-
 .../service/impl/MetadataServiceImpl.java     |  12 +-
 .../service/impl/OntologyServiceImpl.java     |   8 +-
 .../service/impl/StorageServiceS3Impl.java    |   4 +-
 .../tuwien/service/impl/TableServiceImpl.java |  22 +--
 .../tuwien/service/impl/UnitServiceImpl.java  |   4 +-
 .../tuwien/service/impl/UserServiceImpl.java  |  10 +-
 .../tuwien/service/impl/ViewServiceImpl.java  |  14 +-
 lib/java/dbrepo-core/.gitignore               |  35 ++++
 lib/java/dbrepo-core/pom.xml                  | 117 ++++++++++++++
 .../tuwien/ifs/dbrepo}/api/CacheableDto.java  |   2 +-
 .../ifs/dbrepo/api}/ExportResourceDto.java    |   2 +-
 .../dbrepo}/api/amqp/ChannelDetailsDto.java   |   2 +-
 .../ifs/dbrepo}/api/amqp/ConsumerDto.java     |   2 +-
 .../dbrepo}/api/amqp/CreateExchangeDto.java   |   2 +-
 .../ifs/dbrepo}/api/amqp/CreateUserDto.java   |   2 +-
 .../api/amqp/CreateVirtualHostDto.java        |   2 +-
 .../ifs/dbrepo}/api/amqp/ExchangeDto.java     |   2 +-
 .../api/amqp/GrantExchangePermissionsDto.java |   2 +-
 .../amqp/GrantVirtualHostPermissionsDto.java  |   2 +-
 .../ifs/dbrepo}/api/amqp/QueueBriefDto.java   |   2 +-
 .../tuwien/ifs/dbrepo}/api/amqp/QueueDto.java |   2 +-
 .../dbrepo}/api/amqp/TopicPermissionDto.java  |   2 +-
 .../ifs/dbrepo}/api/amqp/UserDetailsDto.java  |   2 +-
 .../api/amqp/VirtualHostPermissionDto.java    |   2 +-
 .../ifs/dbrepo}/api/auth/CreateUserDto.java   |   2 +-
 .../ifs/dbrepo}/api/auth/RealmAccessDto.java  |   2 +-
 .../api/container/ContainerActionTypeDto.java |   2 +-
 .../api/container/ContainerBriefDto.java      |   6 +-
 .../dbrepo}/api/container/ContainerDto.java   |   6 +-
 .../api/container/CreateContainerDto.java     |   2 +-
 .../api/container/image/DataTypeDto.java      |   2 +-
 .../api/container/image/ImageBriefDto.java    |   2 +-
 .../api/container/image/ImageChangeDto.java   |   2 +-
 .../api/container/image/ImageCreateDto.java   |   2 +-
 .../dbrepo}/api/container/image/ImageDto.java |   2 +-
 .../api/container/image/OperatorDto.java      |   2 +-
 .../ifs/dbrepo}/api/crossref/CrossrefDto.java |   4 +-
 .../crossref/form/CrossrefLiteralFormDto.java |   2 +-
 .../api/crossref/label/CrossrefLabelDto.java  |   4 +-
 .../crossref/label/CrossrefPrefLabelDto.java  |   2 +-
 .../dbrepo}/api/database/AccessTypeDto.java   |   2 +-
 .../dbrepo}/api/database/CreateAccessDto.java |   2 +-
 .../api/database/CreateDatabaseDto.java       |   2 +-
 .../dbrepo}/api/database/CreateViewDto.java   |   4 +-
 .../api/database/DatabaseAccessDto.java       |   4 +-
 .../api/database/DatabaseBriefDto.java        |   6 +-
 .../ifs/dbrepo}/api/database/DatabaseDto.java |  16 +-
 .../database/DatabaseModifyDashboardDto.java  |   2 +-
 .../api/database/DatabaseModifyImageDto.java  |   2 +-
 .../database/DatabaseModifyVisibilityDto.java |   2 +-
 .../api/database/DatabaseTransferDto.java     |   2 +-
 .../dbrepo}/api/database/LanguageTypeDto.java |   2 +-
 .../ifs/dbrepo}/api/database/LicenseDto.java  |   2 +-
 .../ifs/dbrepo}/api/database/LoadFileDto.java |   2 +-
 .../dbrepo}/api/database/ViewBriefDto.java    |   2 +-
 .../dbrepo}/api/database/ViewColumnDto.java   |   8 +-
 .../ifs/dbrepo}/api/database/ViewDto.java     |   8 +-
 .../dbrepo}/api/database/ViewUpdateDto.java   |   2 +-
 .../database/internal/CreateDatabaseDto.java  |   2 +-
 .../database/query/ExecuteStatementDto.java   |   2 +-
 .../dbrepo}/api/database/query/ExportDto.java |   2 +-
 .../dbrepo}/api/database/query/FilterDto.java |   2 +-
 .../api/database/query/FilterTypeDto.java     |   2 +-
 .../dbrepo}/api/database/query/ImportDto.java |   2 +-
 .../dbrepo}/api/database/query/OrderDto.java  |   2 +-
 .../api/database/query/OrderTypeDto.java      |   2 +-
 .../api/database/query/QueryBriefDto.java     |   6 +-
 .../dbrepo}/api/database/query/QueryDto.java  |   8 +-
 .../api/database/query/QueryPersistDto.java   |   2 +-
 .../api/database/query/QueryTypeDto.java      |   2 +-
 .../api/database/query/SaveStatementDto.java  |   2 +-
 .../dbrepo}/api/database/query/SubsetDto.java |   2 +-
 .../api/database/table/CreateTableDto.java    |   6 +-
 .../database/table/HistoryEventTypeDto.java   |   2 +-
 .../dbrepo/api/database/table}/SortType.java  |   2 +-
 .../api/database/table}/SortTypeDto.java      |   2 +-
 .../api/database/table/TableBriefDto.java     |   2 +-
 .../database/table/TableCreateRawQuery.java   |   2 +-
 .../dbrepo}/api/database/table/TableDto.java  |  21 ++-
 .../api/database/table/TableHistoryDto.java   |   2 +-
 .../database/table/TableInsertRawQuery.java   |   2 +-
 .../api/database/table/TableStatisticDto.java |   4 +-
 .../api/database/table/TableUpdateDto.java    |   2 +-
 .../api/database/table/TupleDeleteDto.java    |   2 +-
 .../dbrepo}/api/database/table/TupleDto.java  |   2 +-
 .../api/database/table/TupleUpdateDto.java    |   2 +-
 .../table/columns/ColumnBriefDto.java         |   2 +-
 .../api/database/table/columns/ColumnDto.java |   7 +-
 .../table/columns/ColumnStatisticDto.java     |   2 +-
 .../database/table/columns/ColumnTypeDto.java |   2 +-
 .../table/columns/CreateTableColumnDto.java   |   2 +-
 .../api/database/table/columns/EnumDto.java   |   2 +-
 .../api/database/table/columns/SetDto.java    |   2 +-
 .../api/database/table/columns/SiUnitDto.java |   2 +-
 .../concepts/ColumnSemanticsUpdateDto.java    |   2 +-
 .../columns/concepts/ConceptBriefDto.java     |   2 +-
 .../table/columns/concepts/ConceptDto.java    |   4 +-
 .../columns/concepts/ConceptSaveDto.java      |   2 +-
 .../table/columns/concepts/UnitBriefDto.java  |   2 +-
 .../table/columns/concepts/UnitDto.java       |   4 +-
 .../table/columns/concepts/UnitSaveDto.java   |   2 +-
 .../table/constraints/ConstraintsDto.java     |   8 +-
 .../CreateTableConstraintsDto.java            |   4 +-
 .../foreign/CreateForeignKeyDto.java          |   2 +-
 .../foreign/ForeignKeyBriefDto.java           |   2 +-
 .../constraints/foreign/ForeignKeyDto.java    |   8 +-
 .../foreign/ForeignKeyReferenceDto.java       |   4 +-
 .../constraints/foreign/ReferenceTypeDto.java |   2 +-
 .../constraints/primary/PrimaryKeyDto.java    |   6 +-
 .../table/constraints/unique/UniqueDto.java   |   6 +-
 .../table/internal/TableCreateDto.java        |   6 +-
 .../dbrepo}/api/datacite/DataCiteBody.java    |   2 +-
 .../dbrepo}/api/datacite/DataCiteData.java    |   2 +-
 .../dbrepo}/api/datacite/DataCiteError.java   |   2 +-
 .../api/datacite/doi/DataCiteCreateDoi.java   |   2 +-
 .../dbrepo}/api/datacite/doi/DataCiteDoi.java |   2 +-
 .../api/datacite/doi/DataCiteDoiCreator.java  |   2 +-
 .../doi/DataCiteDoiCreatorAffiliation.java    |   2 +-
 .../doi/DataCiteDoiCreatorNameIdentifier.java |   2 +-
 .../api/datacite/doi/DataCiteDoiEvent.java    |   2 +-
 .../doi/DataCiteDoiFundingReference.java      |   2 +-
 ...DataCiteDoiFundingReferenceIdentifier.java |   2 +-
 .../doi/DataCiteDoiRelatedIdentifier.java     |   2 +-
 .../api/datacite/doi/DataCiteDoiRights.java   |   2 +-
 .../api/datacite/doi/DataCiteDoiTitle.java    |   2 +-
 .../api/datacite/doi/DataCiteDoiTypes.java    |   2 +-
 .../api/datacite/doi/DataCiteNameType.java    |   2 +-
 .../ifs/dbrepo}/api/error/ApiErrorDto.java    |   2 +-
 .../dbrepo}/api/file/UploadResponseDto.java   |   2 +-
 .../dbrepo}/api/grafana/AccessTypeDto.java    |   2 +-
 .../api/grafana/CreateDashboardDto.java       |   2 +-
 .../grafana/CreateDashboardResponseDto.java   |   2 +-
 .../dbrepo}/api/grafana/DatasourceDto.java    |   2 +-
 .../api/grafana/DatasourceTypeDto.java        |   2 +-
 .../api/grafana/PermissionTypeDto.java        |   2 +-
 .../api/grafana/UpdateDashboardAccessDto.java |   2 +-
 .../AffiliationIdentifierSchemeTypeDto.java   |   2 +-
 .../api/identifier/BibliographyTypeDto.java   |   2 +-
 .../api/identifier/CreateIdentifierDto.java   |   6 +-
 .../api/identifier/CreatorBriefDto.java       |   2 +-
 .../dbrepo}/api/identifier/CreatorDto.java    |   3 +-
 .../api/identifier/DescriptionTypeDto.java    |   2 +-
 .../api/identifier/IdentifierBriefDto.java    |   2 +-
 .../identifier/IdentifierDescriptionDto.java  |   5 +-
 .../dbrepo}/api/identifier/IdentifierDto.java |   8 +-
 .../api/identifier/IdentifierFunderDto.java   |   3 +-
 .../identifier/IdentifierFunderTypeDto.java   |   2 +-
 .../api/identifier/IdentifierSaveDto.java     |   6 +-
 .../identifier/IdentifierStatusTypeDto.java   |   2 +-
 .../api/identifier/IdentifierTitleDto.java    |   5 +-
 .../api/identifier/IdentifierTypeDto.java     |   2 +-
 .../ifs/dbrepo}/api/identifier/LinksDto.java  |   2 +-
 .../NameIdentifierSchemeTypeDto.java          |   2 +-
 .../dbrepo}/api/identifier/NameTypeDto.java   |   2 +-
 .../api/identifier/RelatedIdentifierDto.java  |   9 +-
 .../api/identifier/RelatedTypeDto.java        |   2 +-
 .../api/identifier/RelationTypeDto.java       |   2 +-
 .../identifier/SaveIdentifierCreatorDto.java  |   2 +-
 .../SaveIdentifierDescriptionDto.java         |   4 +-
 .../identifier/SaveIdentifierFunderDto.java   |   2 +-
 .../identifier/SaveIdentifierTitleDto.java    |   4 +-
 .../identifier/SaveRelatedIdentifierDto.java  |   2 +-
 .../dbrepo}/api/identifier/TitleTypeDto.java  |   2 +-
 .../api/identifier/ld/LdCreatorDto.java       |   2 +-
 .../api/identifier/ld/LdDatasetDto.java       |   2 +-
 .../dbrepo}/api/keycloak/CredentialDto.java   |   2 +-
 .../api/keycloak/CredentialTypeDto.java       |   2 +-
 .../dbrepo}/api/keycloak/ModifyUserDto.java   |   2 +-
 .../api/keycloak/RoleRepresentationDto.java   |   2 +-
 .../ifs/dbrepo}/api/keycloak/TokenDto.java    |   4 +-
 .../api/keycloak/UpdateCredentialsDto.java    |   2 +-
 .../api/keycloak/UserAttributesDto.java       |   4 +-
 .../api/keycloak/UserCreateAttributesDto.java |   2 +-
 .../dbrepo}/api/keycloak/UserCreateDto.java   |   2 +-
 .../api/keycloak/UserIdAttributesDto.java     |   2 +-
 .../tuwien/ifs/dbrepo}/api/ldap/UserDto.java  |   2 +-
 .../maintenance/BannerMessageBriefDto.java    |   2 +-
 .../maintenance/BannerMessageCreateDto.java   |   2 +-
 .../api/maintenance/BannerMessageDto.java     |   2 +-
 .../api/maintenance/BannerMessageTypeDto.java |   2 +-
 .../maintenance/BannerMessageUpdateDto.java   |   2 +-
 .../ifs/dbrepo}/api/orcid/OrcidDto.java       |   6 +-
 .../activities/OrcidActivitiesSummaryDto.java |   4 +-
 .../employments/OrcidEmploymentsDto.java      |   4 +-
 .../affiliation/OrcidAffiliationGroupDto.java |   4 +-
 .../group/OrcidEmploymentSummaryDto.java      |   4 +-
 .../group/summary/OrcidSummaryDto.java        |   4 +-
 .../organization/OrcidOrganizationDto.java    |   4 +-
 .../disambiguated/OrcidDisambiguatedDto.java  |   2 +-
 .../OrcidDisambiguatedSourceTypeDto.java      |   6 +
 .../api/orcid/person/OrcidPersonDto.java      |   4 +-
 .../api/orcid/person/name/OrcidNameDto.java   |   2 +-
 .../api/orcid/person/name/OrcidValueDto.java  |   2 +-
 .../ac/tuwien/ifs/dbrepo}/api/ror/RorDto.java |   2 +-
 .../ifs/dbrepo}/api/semantics/EntityDto.java  |   2 +-
 .../api/semantics/OntologyBriefDto.java       |   2 +-
 .../api/semantics/OntologyCreateDto.java      |   2 +-
 .../dbrepo}/api/semantics/OntologyDto.java    |   6 +-
 .../api/semantics/OntologyModifyDto.java      |   2 +-
 .../api/semantics/TableColumnEntityDto.java   |   2 +-
 .../user/ExchangeUpdatePermissionsDto.java    |   2 +-
 .../dbrepo}/api/user/GrantedAuthorityDto.java |   2 +-
 .../ifs/dbrepo}/api/user/RoleTypeDto.java     |   2 +-
 .../dbrepo}/api/user/UserAttributesDto.java   |   2 +-
 .../ifs/dbrepo}/api/user/UserBriefDto.java    |   2 +-
 .../ifs/dbrepo}/api/user/UserDetailsDto.java  |   2 +-
 .../tuwien/ifs/dbrepo}/api/user/UserDto.java  |   4 +-
 .../ifs/dbrepo}/api/user/UserEmailDto.java    |   2 +-
 .../ifs/dbrepo}/api/user/UserForgotDto.java   |   2 +-
 .../api/user/UserModifyPasswordDto.java       |   2 +-
 .../ifs/dbrepo}/api/user/UserPasswordDto.java |   2 +-
 .../ifs/dbrepo}/api/user/UserResetDto.java    |   2 +-
 .../ifs/dbrepo}/api/user/UserRolesDto.java    |   2 +-
 .../ifs/dbrepo}/api/user/UserThemeSetDto.java |   2 +-
 .../ifs/dbrepo}/api/user/UserUpdateDto.java   |   2 +-
 .../api/user/UserUpdatePermissionsDto.java    |   2 +-
 .../user/external/ExternalMetadataDto.java    |   4 +-
 .../api/user/external/ExternalResultType.java |   2 +-
 .../affiliation/ExternalAffiliationDto.java   |   2 +-
 .../user/internal/UpdateUserPasswordDto.java  |   2 +-
 .../dbrepo/entity}/container/Container.java   |   6 +-
 .../container/image/ContainerImage.java       |   4 +-
 .../entity}/container/image/DataType.java     |   2 +-
 .../entity}/container/image/Operator.java     |   2 +-
 .../dbrepo/entity}/database/AccessType.java   |   2 +-
 .../ifs/dbrepo/entity}/database/Database.java |  13 +-
 .../entity}/database/DatabaseAccess.java      |   7 +-
 .../entity}/database/DatabaseAccessKey.java   |   2 +-
 .../dbrepo/entity}/database/LanguageType.java |   2 +-
 .../ifs/dbrepo/entity}/database/License.java  |   2 +-
 .../ifs/dbrepo/entity}/database/View.java     |   6 +-
 .../dbrepo/entity}/database/ViewColumn.java   |   4 +-
 .../dbrepo/entity}/database/table/Table.java  |  14 +-
 .../database/table/columns/ColumnEnum.java    |   4 +-
 .../database/table/columns/ColumnSet.java     |   4 +-
 .../database/table/columns/TableColumn.java   |   6 +-
 .../table/columns/TableColumnConcept.java     |   4 +-
 .../table/columns/TableColumnType.java        |   2 +-
 .../table/columns/TableColumnUnit.java        |   4 +-
 .../table/constraints/Constraints.java        |   8 +-
 .../constraints/foreignKey/ForeignKey.java    |   4 +-
 .../foreignKey/ForeignKeyReference.java       |   6 +-
 .../constraints/foreignKey/ReferenceType.java |   2 +-
 .../constraints/primaryKey/PrimaryKey.java    |   6 +-
 .../table/constraints/unique/Unique.java      |   6 +-
 .../AffiliationIdentifierSchemeType.java      |   2 +-
 .../dbrepo/entity}/identifier/Creator.java    |   4 +-
 .../entity}/identifier/DescriptionType.java   |   2 +-
 .../dbrepo/entity}/identifier/Identifier.java |  12 +-
 .../identifier/IdentifierDescription.java     |   6 +-
 .../entity}/identifier/IdentifierFunder.java  |   4 +-
 .../identifier/IdentifierFunderType.java      |   2 +-
 .../identifier/IdentifierStatusType.java      |   2 +-
 .../entity}/identifier/IdentifierTitle.java   |   6 +-
 .../entity}/identifier/IdentifierType.java    |   2 +-
 .../identifier/NameIdentifierSchemeType.java  |   2 +-
 .../dbrepo/entity}/identifier/NameType.java   |   2 +-
 .../entity}/identifier/RelatedIdentifier.java |   2 +-
 .../entity}/identifier/RelatedType.java       |   2 +-
 .../entity}/identifier/RelationType.java      |   2 +-
 .../dbrepo/entity}/identifier/TitleType.java  |   2 +-
 .../entity}/maintenance/BannerMessage.java    |   4 +-
 .../maintenance/BannerMessageType.java        |   2 +-
 .../dbrepo/entity}/semantics/Ontology.java    |   4 +-
 .../tuwien/ifs/dbrepo/entity}/user/User.java  |   4 +-
 .../exception/AccessNotFoundException.java    |   2 +-
 .../exception/AccountNotSetupException.java   |   2 +-
 .../exception/AnalyseServiceException.java    |   2 +-
 .../AuthServiceConnectionException.java       |   2 +-
 .../exception/AuthServiceException.java       |   2 +-
 .../BrokerServiceConnectionException.java     |   2 +-
 .../exception/BrokerServiceException.java     |   2 +-
 .../exception/ConceptNotFoundException.java   |   2 +-
 .../ContainerAlreadyExistsException.java      |   2 +-
 .../exception/ContainerNotFoundException.java |   2 +-
 .../exception/ContainerQuotaException.java    |   2 +-
 .../CredentialsInvalidException.java          |   2 +-
 .../DashboardServiceConnectionException.java  |   2 +-
 .../exception/DashboardServiceException.java  |   2 +-
 .../DataServiceConnectionException.java       |   2 +-
 .../exception/DataServiceException.java       |   2 +-
 .../exception/DatabaseMalformedException.java |   2 +-
 .../exception/DatabaseNotFoundException.java  |   2 +-
 .../DatabaseUnavailableException.java         |   2 +-
 .../exception/DoiNotFoundException.java       |   2 +-
 .../exception/EmailExistsException.java       |   2 +-
 .../exception/ExchangeNotFoundException.java  |   2 +-
 .../exception/ExternalServiceException.java   |   2 +-
 .../exception/FilterBadRequestException.java  |   2 +-
 .../FormatNotAvailableException.java          |   2 +-
 .../IdentifierNotFoundException.java          |   2 +-
 .../IdentifierNotSupportedException.java      |   2 +-
 .../ImageAlreadyExistsException.java          |   2 +-
 .../exception/ImageInvalidException.java      |   2 +-
 .../exception/ImageNotFoundException.java     |   2 +-
 .../exception/LicenseNotFoundException.java   |   2 +-
 .../dbrepo}/exception/MalformedException.java |   2 +-
 .../exception/MessageNotFoundException.java   |   2 +-
 .../MetadataServiceConnectionException.java   |   2 +-
 .../exception/MetadataServiceException.java   |   2 +-
 .../exception/NotAllowedException.java        |   2 +-
 .../exception/OntologyNotFoundException.java  |   2 +-
 .../exception/OrcidNotFoundException.java     |   2 +-
 .../exception/PaginationException.java        |   2 +-
 .../exception/QueryMalformedException.java    |   2 +-
 .../exception/QueryNotFoundException.java     |   2 +-
 .../exception/QueryNotSupportedException.java |   2 +-
 .../exception/QueryStoreCreateException.java  |   2 +-
 .../exception/QueryStoreGCException.java      |   2 +-
 .../exception/QueryStoreInsertException.java  |   2 +-
 .../exception/QueryStorePersistException.java |   2 +-
 .../exception/QueueNotFoundException.java     |   2 +-
 .../exception/RemoteUnavailableException.java |   2 +-
 .../exception/RorNotFoundException.java       |   2 +-
 .../SearchServiceConnectionException.java     |   2 +-
 .../exception/SearchServiceException.java     |   2 +-
 .../SemanticEntityNotFoundException.java      |   2 +-
 .../ifs/dbrepo}/exception/SortException.java  |   2 +-
 .../exception/StorageNotFoundException.java   |   2 +-
 .../StorageUnavailableException.java          |   2 +-
 .../exception/TableExistsException.java       |   2 +-
 .../exception/TableMalformedException.java    |   2 +-
 .../exception/TableNotFoundException.java     |   2 +-
 .../exception/TableSchemaException.java       |   2 +-
 .../exception/UnitNotFoundException.java      |   2 +-
 .../exception/UriMalformedException.java      |   2 +-
 .../exception/UserExistsException.java        |   2 +-
 .../exception/UserNotFoundException.java      |   2 +-
 .../exception/ViewExistsException.java        |   2 +-
 .../exception/ViewMalformedException.java     |   2 +-
 .../exception/ViewNotFoundException.java      |   2 +-
 .../exception/ViewSchemaException.java        |   2 +-
 .../ifs/dbrepo}/test/AbstractUnitTest.java    |   6 +-
 .../ac/tuwien/ifs/dbrepo}/test/BaseTest.java  | 150 +++++++++---------
 .../ifs/dbrepo}/test/dto/LocaleDto.java       |   2 +-
 .../at/ac/tuwien/ifs/dbrepo}/test/pom.xml     |   0
 .../ifs/dbrepo}/test/utils/ArrayUtils.java    |   2 +-
 .../ifs/dbrepo}/test/utils/EndpointUtils.java |   4 +-
 570 files changed, 1915 insertions(+), 2045 deletions(-)
 delete mode 100644 dbrepo-metadata-service/api/pom.xml
 delete mode 100644 dbrepo-metadata-service/api/src/main/java/at/tuwien/api/orcid/activities/employments/affiliation/group/summary/organization/disambiguated/OrcidDisambiguatedSourceTypeDto.java
 delete mode 100644 dbrepo-metadata-service/entities/pom.xml
 create mode 100644 lib/java/dbrepo-core/.gitignore
 create mode 100644 lib/java/dbrepo-core/pom.xml
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/CacheableDto.java (92%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api}/ExportResourceDto.java (88%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/amqp/ChannelDetailsDto.java (94%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/amqp/ConsumerDto.java (95%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/amqp/CreateExchangeDto.java (93%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/amqp/CreateUserDto.java (90%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/amqp/CreateVirtualHostDto.java (91%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/amqp/ExchangeDto.java (94%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/amqp/GrantExchangePermissionsDto.java (92%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/amqp/GrantVirtualHostPermissionsDto.java (92%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/amqp/QueueBriefDto.java (91%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/amqp/QueueDto.java (94%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/amqp/TopicPermissionDto.java (93%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/amqp/UserDetailsDto.java (94%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/amqp/VirtualHostPermissionDto.java (94%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/auth/CreateUserDto.java (96%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/auth/RealmAccessDto.java (91%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/container/ContainerActionTypeDto.java (89%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/container/ContainerBriefDto.java (86%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/container/ContainerDto.java (90%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/container/CreateContainerDto.java (96%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/container/image/DataTypeDto.java (97%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/container/image/ImageBriefDto.java (93%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/container/image/ImageChangeDto.java (95%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/container/image/ImageCreateDto.java (96%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/container/image/ImageDto.java (95%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/container/image/OperatorDto.java (93%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/crossref/CrossrefDto.java (76%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/crossref/form/CrossrefLiteralFormDto.java (88%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/crossref/label/CrossrefLabelDto.java (76%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/crossref/label/CrossrefPrefLabelDto.java (86%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/database/AccessTypeDto.java (91%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/database/CreateAccessDto.java (89%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/database/CreateDatabaseDto.java (94%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/database/CreateViewDto.java (88%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/database/DatabaseAccessDto.java (85%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/database/DatabaseBriefDto.java (89%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/database/DatabaseDto.java (86%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/database/DatabaseModifyDashboardDto.java (86%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/database/DatabaseModifyImageDto.java (83%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/database/DatabaseModifyVisibilityDto.java (93%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/database/DatabaseTransferDto.java (87%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/database/LanguageTypeDto.java (99%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/database/LicenseDto.java (94%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/database/LoadFileDto.java (89%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/database/ViewBriefDto.java (97%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/database/ViewColumnDto.java (88%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/database/ViewDto.java (91%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/database/ViewUpdateDto.java (92%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/database/internal/CreateDatabaseDto.java (96%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/database/query/ExecuteStatementDto.java (88%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/database/query/ExportDto.java (87%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/database/query/FilterDto.java (93%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/database/query/FilterTypeDto.java (89%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/database/query/ImportDto.java (94%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/database/query/OrderDto.java (91%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/database/query/OrderTypeDto.java (88%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/database/query/QueryBriefDto.java (91%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/database/query/QueryDto.java (89%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/database/query/QueryPersistDto.java (87%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/database/query/QueryTypeDto.java (88%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/database/query/SaveStatementDto.java (88%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/database/query/SubsetDto.java (93%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/database/table/CreateTableDto.java (82%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/database/table/HistoryEventTypeDto.java (89%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/table}/SortType.java (86%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/table}/SortTypeDto.java (81%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/database/table/TableBriefDto.java (96%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/database/table/TableCreateRawQuery.java (89%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/database/table/TableDto.java (84%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/database/table/TableHistoryDto.java (93%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/database/table/TableInsertRawQuery.java (86%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/database/table/TableStatisticDto.java (88%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/database/table/TableUpdateDto.java (93%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/database/table/TupleDeleteDto.java (88%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/database/table/TupleDto.java (88%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/database/table/TupleUpdateDto.java (90%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/database/table/columns/ColumnBriefDto.java (95%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/database/table/columns/ColumnDto.java (92%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/database/table/columns/ColumnStatisticDto.java (92%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/database/table/columns/ColumnTypeDto.java (96%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/database/table/columns/CreateTableColumnDto.java (95%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/database/table/columns/EnumDto.java (88%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/database/table/columns/SetDto.java (88%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/database/table/columns/SiUnitDto.java (91%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/database/table/columns/concepts/ColumnSemanticsUpdateDto.java (84%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/database/table/columns/concepts/ConceptBriefDto.java (92%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/database/table/columns/concepts/ConceptDto.java (81%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/database/table/columns/concepts/ConceptSaveDto.java (84%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/database/table/columns/concepts/UnitBriefDto.java (91%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/database/table/columns/concepts/UnitDto.java (81%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/database/table/columns/concepts/UnitSaveDto.java (84%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/database/table/constraints/ConstraintsDto.java (65%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/database/table/constraints/CreateTableConstraintsDto.java (80%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/database/table/constraints/foreign/CreateForeignKeyDto.java (92%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/database/table/constraints/foreign/ForeignKeyBriefDto.java (82%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/database/table/constraints/foreign/ForeignKeyDto.java (78%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/database/table/constraints/foreign/ForeignKeyReferenceDto.java (82%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/database/table/constraints/foreign/ReferenceTypeDto.java (93%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/database/table/constraints/primary/PrimaryKeyDto.java (69%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/database/table/constraints/unique/UniqueDto.java (73%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/database/table/internal/TableCreateDto.java (81%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/datacite/DataCiteBody.java (85%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/datacite/DataCiteData.java (90%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/datacite/DataCiteError.java (85%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/datacite/doi/DataCiteCreateDoi.java (94%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/datacite/doi/DataCiteDoi.java (87%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/datacite/doi/DataCiteDoiCreator.java (92%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/datacite/doi/DataCiteDoiCreatorAffiliation.java (88%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/datacite/doi/DataCiteDoiCreatorNameIdentifier.java (87%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/datacite/doi/DataCiteDoiEvent.java (91%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/datacite/doi/DataCiteDoiFundingReference.java (89%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/datacite/doi/DataCiteDoiFundingReferenceIdentifier.java (87%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/datacite/doi/DataCiteDoiRelatedIdentifier.java (89%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/datacite/doi/DataCiteDoiRights.java (86%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/datacite/doi/DataCiteDoiTitle.java (95%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/datacite/doi/DataCiteDoiTypes.java (92%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/datacite/doi/DataCiteNameType.java (89%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/error/ApiErrorDto.java (93%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/file/UploadResponseDto.java (88%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/grafana/AccessTypeDto.java (89%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/grafana/CreateDashboardDto.java (95%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/grafana/CreateDashboardResponseDto.java (90%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/grafana/DatasourceDto.java (97%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/grafana/DatasourceTypeDto.java (91%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/grafana/PermissionTypeDto.java (92%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/grafana/UpdateDashboardAccessDto.java (89%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/identifier/AffiliationIdentifierSchemeTypeDto.java (70%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/identifier/BibliographyTypeDto.java (90%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/identifier/CreateIdentifierDto.java (92%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/identifier/CreatorBriefDto.java (96%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/identifier/CreatorDto.java (95%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/identifier/DescriptionTypeDto.java (93%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/identifier/IdentifierBriefDto.java (97%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/identifier/IdentifierDescriptionDto.java (85%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/identifier/IdentifierDto.java (93%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/identifier/IdentifierFunderDto.java (93%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/identifier/IdentifierFunderTypeDto.java (92%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/identifier/IdentifierSaveDto.java (92%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/identifier/IdentifierStatusTypeDto.java (89%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/identifier/IdentifierTitleDto.java (84%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/identifier/IdentifierTypeDto.java (91%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/identifier/LinksDto.java (94%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/identifier/NameIdentifierSchemeTypeDto.java (70%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/identifier/NameTypeDto.java (89%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/identifier/RelatedIdentifierDto.java (69%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/identifier/RelatedTypeDto.java (95%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/identifier/RelationTypeDto.java (98%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/identifier/SaveIdentifierCreatorDto.java (96%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/identifier/SaveIdentifierDescriptionDto.java (88%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/identifier/SaveIdentifierFunderDto.java (96%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/identifier/SaveIdentifierTitleDto.java (87%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/identifier/SaveRelatedIdentifierDto.java (93%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/identifier/TitleTypeDto.java (92%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/identifier/ld/LdCreatorDto.java (90%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/identifier/ld/LdDatasetDto.java (94%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/keycloak/CredentialDto.java (90%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/keycloak/CredentialTypeDto.java (88%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/keycloak/ModifyUserDto.java (90%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/keycloak/RoleRepresentationDto.java (91%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/keycloak/TokenDto.java (92%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/keycloak/UpdateCredentialsDto.java (87%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/keycloak/UserAttributesDto.java (92%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/keycloak/UserCreateAttributesDto.java (86%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/keycloak/UserCreateDto.java (94%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/keycloak/UserIdAttributesDto.java (91%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/ldap/UserDto.java (90%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/maintenance/BannerMessageBriefDto.java (93%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/maintenance/BannerMessageCreateDto.java (96%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/maintenance/BannerMessageDto.java (96%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/maintenance/BannerMessageTypeDto.java (90%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/maintenance/BannerMessageUpdateDto.java (96%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/orcid/OrcidDto.java (68%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/orcid/activities/OrcidActivitiesSummaryDto.java (67%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/orcid/activities/employments/OrcidEmploymentsDto.java (67%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/orcid/activities/employments/affiliation/OrcidAffiliationGroupDto.java (58%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/orcid/activities/employments/affiliation/group/OrcidEmploymentSummaryDto.java (64%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/orcid/activities/employments/affiliation/group/summary/OrcidSummaryDto.java (70%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/orcid/activities/employments/affiliation/group/summary/organization/OrcidOrganizationDto.java (61%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/orcid/activities/employments/affiliation/group/summary/organization/disambiguated/OrcidDisambiguatedDto.java (79%)
 create mode 100644 lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/orcid/activities/employments/affiliation/group/summary/organization/disambiguated/OrcidDisambiguatedSourceTypeDto.java
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/orcid/person/OrcidPersonDto.java (66%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/orcid/person/name/OrcidNameDto.java (88%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/orcid/person/name/OrcidValueDto.java (80%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/ror/RorDto.java (87%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/semantics/EntityDto.java (92%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/semantics/OntologyBriefDto.java (95%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/semantics/OntologyCreateDto.java (92%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/semantics/OntologyDto.java (88%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/semantics/OntologyModifyDto.java (93%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/semantics/TableColumnEntityDto.java (95%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/user/ExchangeUpdatePermissionsDto.java (92%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/user/GrantedAuthorityDto.java (88%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/user/RoleTypeDto.java (92%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/user/UserAttributesDto.java (95%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/user/UserBriefDto.java (96%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/user/UserDetailsDto.java (95%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/user/UserDto.java (93%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/user/UserEmailDto.java (91%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/user/UserForgotDto.java (91%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/user/UserModifyPasswordDto.java (91%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/user/UserPasswordDto.java (87%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/user/UserResetDto.java (88%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/user/UserRolesDto.java (88%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/user/UserThemeSetDto.java (89%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/user/UserUpdateDto.java (94%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/user/UserUpdatePermissionsDto.java (90%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/user/external/ExternalMetadataDto.java (79%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/user/external/ExternalResultType.java (89%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/user/external/affiliation/ExternalAffiliationDto.java (92%)
 rename {dbrepo-metadata-service/api/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/api/user/internal/UpdateUserPasswordDto.java (87%)
 rename {dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity}/container/Container.java (93%)
 rename {dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity}/container/image/ContainerImage.java (95%)
 rename {dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity}/container/image/DataType.java (97%)
 rename {dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity}/container/image/Operator.java (95%)
 rename {dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity}/database/AccessType.java (72%)
 rename {dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity}/database/Database.java (95%)
 rename {dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity}/database/DatabaseAccess.java (89%)
 rename {dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity}/database/DatabaseAccessKey.java (81%)
 rename {dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity}/database/LanguageType.java (98%)
 rename {dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity}/database/License.java (92%)
 rename {dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity}/database/View.java (96%)
 rename {dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity}/database/ViewColumn.java (94%)
 rename {dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity}/database/table/Table.java (91%)
 rename {dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity}/database/table/columns/ColumnEnum.java (89%)
 rename {dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity}/database/table/columns/ColumnSet.java (89%)
 rename {dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity}/database/table/columns/TableColumn.java (96%)
 rename {dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity}/database/table/columns/TableColumnConcept.java (95%)
 rename {dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity}/database/table/columns/TableColumnType.java (88%)
 rename {dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity}/database/table/columns/TableColumnUnit.java (95%)
 rename {dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity}/database/table/constraints/Constraints.java (72%)
 rename {dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity}/database/table/constraints/foreignKey/ForeignKey.java (92%)
 rename {dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity}/database/table/constraints/foreignKey/ForeignKeyReference.java (89%)
 rename {dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity}/database/table/constraints/foreignKey/ReferenceType.java (68%)
 rename {dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity}/database/table/constraints/primaryKey/PrimaryKey.java (86%)
 rename {dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity}/database/table/constraints/unique/Unique.java (88%)
 rename {dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity}/identifier/AffiliationIdentifierSchemeType.java (68%)
 rename {dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity}/identifier/Creator.java (96%)
 rename {dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity}/identifier/DescriptionType.java (89%)
 rename {dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity}/identifier/Identifier.java (96%)
 rename {dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity}/identifier/IdentifierDescription.java (93%)
 rename {dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity}/identifier/IdentifierFunder.java (93%)
 rename {dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity}/identifier/IdentifierFunderType.java (66%)
 rename {dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity}/identifier/IdentifierStatusType.java (64%)
 rename {dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity}/identifier/IdentifierTitle.java (93%)
 rename {dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity}/identifier/IdentifierType.java (68%)
 rename {dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity}/identifier/NameIdentifierSchemeType.java (68%)
 rename {dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity}/identifier/NameType.java (63%)
 rename {dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity}/identifier/RelatedIdentifier.java (97%)
 rename {dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity}/identifier/RelatedType.java (91%)
 rename {dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity}/identifier/RelationType.java (96%)
 rename {dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity}/identifier/TitleType.java (87%)
 rename {dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity}/maintenance/BannerMessage.java (93%)
 rename {dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity}/maintenance/BannerMessageType.java (71%)
 rename {dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity}/semantics/Ontology.java (94%)
 rename {dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity}/user/User.java (94%)
 rename {dbrepo-metadata-service/repositories/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/exception/AccessNotFoundException.java (92%)
 rename {dbrepo-metadata-service/repositories/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/exception/AccountNotSetupException.java (92%)
 rename {dbrepo-metadata-service/repositories/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/exception/AnalyseServiceException.java (92%)
 rename {dbrepo-metadata-service/repositories/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/exception/AuthServiceConnectionException.java (92%)
 rename {dbrepo-metadata-service/repositories/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/exception/AuthServiceException.java (92%)
 rename {dbrepo-metadata-service/repositories/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/exception/BrokerServiceConnectionException.java (93%)
 rename {dbrepo-metadata-service/repositories/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/exception/BrokerServiceException.java (92%)
 rename {dbrepo-metadata-service/repositories/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/exception/ConceptNotFoundException.java (92%)
 rename {dbrepo-metadata-service/repositories/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/exception/ContainerAlreadyExistsException.java (92%)
 rename {dbrepo-metadata-service/repositories/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/exception/ContainerNotFoundException.java (92%)
 rename {dbrepo-metadata-service/repositories/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/exception/ContainerQuotaException.java (92%)
 rename {dbrepo-metadata-service/repositories/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/exception/CredentialsInvalidException.java (92%)
 rename {dbrepo-metadata-service/repositories/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/exception/DashboardServiceConnectionException.java (93%)
 rename {dbrepo-metadata-service/repositories/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/exception/DashboardServiceException.java (92%)
 rename {dbrepo-metadata-service/repositories/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/exception/DataServiceConnectionException.java (92%)
 rename {dbrepo-metadata-service/repositories/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/exception/DataServiceException.java (92%)
 rename {dbrepo-metadata-service/repositories/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/exception/DatabaseMalformedException.java (92%)
 rename {dbrepo-metadata-service/repositories/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/exception/DatabaseNotFoundException.java (92%)
 rename {dbrepo-metadata-service/repositories/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/exception/DatabaseUnavailableException.java (92%)
 rename {dbrepo-metadata-service/repositories/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/exception/DoiNotFoundException.java (92%)
 rename {dbrepo-metadata-service/repositories/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/exception/EmailExistsException.java (92%)
 rename {dbrepo-metadata-service/repositories/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/exception/ExchangeNotFoundException.java (92%)
 rename {dbrepo-metadata-service/repositories/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/exception/ExternalServiceException.java (92%)
 rename {dbrepo-metadata-service/repositories/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/exception/FilterBadRequestException.java (92%)
 rename {dbrepo-metadata-service/repositories/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/exception/FormatNotAvailableException.java (93%)
 rename {dbrepo-metadata-service/repositories/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/exception/IdentifierNotFoundException.java (92%)
 rename {dbrepo-metadata-service/repositories/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/exception/IdentifierNotSupportedException.java (93%)
 rename {dbrepo-metadata-service/repositories/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/exception/ImageAlreadyExistsException.java (92%)
 rename {dbrepo-metadata-service/repositories/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/exception/ImageInvalidException.java (92%)
 rename {dbrepo-metadata-service/repositories/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/exception/ImageNotFoundException.java (92%)
 rename {dbrepo-metadata-service/repositories/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/exception/LicenseNotFoundException.java (92%)
 rename {dbrepo-metadata-service/repositories/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/exception/MalformedException.java (92%)
 rename {dbrepo-metadata-service/repositories/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/exception/MessageNotFoundException.java (92%)
 rename {dbrepo-metadata-service/repositories/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/exception/MetadataServiceConnectionException.java (93%)
 rename {dbrepo-metadata-service/repositories/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/exception/MetadataServiceException.java (92%)
 rename {dbrepo-metadata-service/repositories/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/exception/NotAllowedException.java (92%)
 rename {dbrepo-metadata-service/repositories/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/exception/OntologyNotFoundException.java (92%)
 rename {dbrepo-metadata-service/repositories/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/exception/OrcidNotFoundException.java (92%)
 rename {dbrepo-metadata-service/repositories/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/exception/PaginationException.java (92%)
 rename {dbrepo-metadata-service/repositories/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/exception/QueryMalformedException.java (92%)
 rename {dbrepo-metadata-service/repositories/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/exception/QueryNotFoundException.java (92%)
 rename {dbrepo-metadata-service/repositories/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/exception/QueryNotSupportedException.java (92%)
 rename {dbrepo-metadata-service/repositories/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/exception/QueryStoreCreateException.java (92%)
 rename {dbrepo-metadata-service/repositories/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/exception/QueryStoreGCException.java (92%)
 rename {dbrepo-metadata-service/repositories/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/exception/QueryStoreInsertException.java (92%)
 rename {dbrepo-metadata-service/repositories/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/exception/QueryStorePersistException.java (92%)
 rename {dbrepo-metadata-service/repositories/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/exception/QueueNotFoundException.java (92%)
 rename {dbrepo-metadata-service/repositories/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/exception/RemoteUnavailableException.java (92%)
 rename {dbrepo-metadata-service/repositories/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/exception/RorNotFoundException.java (92%)
 rename {dbrepo-metadata-service/repositories/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/exception/SearchServiceConnectionException.java (93%)
 rename {dbrepo-metadata-service/repositories/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/exception/SearchServiceException.java (92%)
 rename {dbrepo-metadata-service/repositories/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/exception/SemanticEntityNotFoundException.java (92%)
 rename {dbrepo-metadata-service/repositories/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/exception/SortException.java (91%)
 rename {dbrepo-metadata-service/repositories/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/exception/StorageNotFoundException.java (92%)
 rename {dbrepo-metadata-service/repositories/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/exception/StorageUnavailableException.java (92%)
 rename {dbrepo-metadata-service/repositories/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/exception/TableExistsException.java (92%)
 rename {dbrepo-metadata-service/repositories/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/exception/TableMalformedException.java (92%)
 rename {dbrepo-metadata-service/repositories/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/exception/TableNotFoundException.java (92%)
 rename {dbrepo-metadata-service/repositories/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/exception/TableSchemaException.java (92%)
 rename {dbrepo-metadata-service/repositories/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/exception/UnitNotFoundException.java (92%)
 rename {dbrepo-metadata-service/repositories/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/exception/UriMalformedException.java (92%)
 rename {dbrepo-metadata-service/repositories/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/exception/UserExistsException.java (91%)
 rename {dbrepo-metadata-service/repositories/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/exception/UserNotFoundException.java (92%)
 rename {dbrepo-metadata-service/repositories/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/exception/ViewExistsException.java (92%)
 rename {dbrepo-metadata-service/repositories/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/exception/ViewMalformedException.java (92%)
 rename {dbrepo-metadata-service/repositories/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/exception/ViewNotFoundException.java (92%)
 rename {dbrepo-metadata-service/repositories/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/exception/ViewSchemaException.java (91%)
 rename {dbrepo-metadata-service/test/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/test/AbstractUnitTest.java (98%)
 rename {dbrepo-metadata-service/test/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/test/BaseTest.java (98%)
 rename {dbrepo-metadata-service/test/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/test/dto/LocaleDto.java (88%)
 rename {dbrepo-metadata-service => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/test/pom.xml (100%)
 rename {dbrepo-metadata-service/test/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/test/utils/ArrayUtils.java (89%)
 rename {dbrepo-metadata-service/test/src/main/java/at/tuwien => lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo}/test/utils/EndpointUtils.java (95%)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index cbd9c62844..33de3b30f1 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -149,19 +149,20 @@ build-metadata-service:
   only:
     - merge_requests
     - master
+  needs:
+    - build-java-lib
+  dependencies:
+    - build-java-lib
   script:
-    - "mvn -f ./dbrepo-metadata-service/pom.xml clean install $MAVEN_OPTS -DskipTests"
+    - "mvn -f ./dbrepo-metadata-service/pom.xml clean package $MAVEN_OPTS -DskipTests"
   # Compiled classes are needed for SonarQube in later stages
   artifacts:
     when: always
     paths:
-      - ./dbrepo-metadata-service/test/target/classes
-      - ./dbrepo-metadata-service/services/target/classes
+      - ./dbrepo-metadata-service/oai/target/classes
       - ./dbrepo-metadata-service/repositories/target/classes
       - ./dbrepo-metadata-service/rest-service/target/classes
-      - ./dbrepo-metadata-service/api/target/classes
-      - ./dbrepo-metadata-service/oai/target/classes
-      - ./dbrepo-metadata-service/entities/target/classes
+      - ./dbrepo-metadata-service/services/target/classes
     expire_in: 1 days
 
 build-analyse-service:
@@ -176,7 +177,7 @@ build-analyse-service:
     - "pip install pipenv"
     - "pipenv install gunicorn && pipenv install --dev --system --deploy"
 
-build-lib:
+build-python-lib:
   image: docker.io/python:${PYTHON_VERSION}-alpine${ALPINE_VERSION}
   stage: build
   only:
@@ -188,6 +189,19 @@ build-lib:
     - "pip install pipenv"
     - "pipenv install gunicorn && pipenv install --dev --system --deploy"
 
+build-java-lib:
+  image: maven:3-openjdk-${JAVA_VERSION}
+  stage: build
+  only:
+    - merge_requests
+    - master
+  script:
+    - "mvn -f ./lib/java/dbrepo-core/pom.xml clean install $MAVEN_OPTS -DskipTests"
+  artifacts:
+    when: always
+    paths:
+      - ./lib/java/dbrepo-core/target/classes
+
 build-data-service:
   image: maven:3-openjdk-${JAVA_VERSION}
   stage: build
@@ -195,11 +209,9 @@ build-data-service:
     - merge_requests
     - master
   needs:
-    - build-metadata-service
+    - build-java-lib
   dependencies:
-    - build-metadata-service
-  before_script:
-    - "mvn -f ./dbrepo-metadata-service/pom.xml clean install $MAVEN_OPTS -DskipTests"
+    - build-java-lib
   script:
     - "mvn -f ./dbrepo-data-service/pom.xml clean package $MAVEN_OPTS -DskipTests"
   # Compiled classes are needed for SonarQube in later stages
@@ -277,9 +289,9 @@ test-metadata-service:
     - merge_requests
     - master
   needs:
-    - build-metadata-service
+    - build-java-lib
   dependencies:
-    - build-metadata-service
+    - build-java-lib
   script:
     - "mvn -f ./dbrepo-metadata-service/pom.xml clean test verify $MAVEN_OPTS"
     - "cat ./dbrepo-metadata-service/report/target/site/jacoco-aggregate/index.html | grep -o 'Total[^%]*%' | sed 's/<.*>/ /; s/Total/Jacoco Coverage Total:/'"
@@ -489,7 +501,7 @@ test-search-service-init:
       junit: ./dbrepo-search-service/coverage.xml
   coverage: '/TOTAL.*?([0-9]{1,3})%/'
 
-test-lib:
+test-python-lib:
   image: docker.io/python:${PYTHON_VERSION}-alpine${ALPINE_VERSION}
   stage: test
   only:
@@ -498,9 +510,9 @@ test-lib:
   variables:
     PIPENV_PIPFILE: "./lib/python/Pipfile"
   needs:
-    - build-lib
+    - build-python-lib
   dependencies:
-    - build-lib
+    - build-python-lib
   script:
     - "pip install pipenv"
     - "pipenv install gunicorn && pipenv install --dev --system --deploy"
@@ -560,7 +572,7 @@ release-images:
     - test-analyse-service
     - test-auth-service-init
     - test-data-service
-    - test-lib
+    - test-python-lib
     - test-metadata-service
     - test-search-service
     - test-search-service-init
@@ -705,10 +717,10 @@ scan-sonarqube:
     - master
   needs:
     - build-data-service
-    - build-metadata-service
+    - build-java-lib
   dependencies:
     - build-data-service
-    - build-metadata-service
+    - build-java-lib
   script:
     - 'sonar-scanner -Dsonar.token="${CI_SONAR_TOKEN}"'
   allow_failure: true
diff --git a/dbrepo-data-service/pom.xml b/dbrepo-data-service/pom.xml
index 11ca4d80b9..b85b7837b1 100644
--- a/dbrepo-data-service/pom.xml
+++ b/dbrepo-data-service/pom.xml
@@ -94,39 +94,13 @@
 
     <dependencies>
         <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-validation</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-web</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-security</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.security</groupId>
-            <artifactId>spring-security-test</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.cloud</groupId>
-            <artifactId>spring-cloud-starter-bootstrap</artifactId>
-            <version>${spring-cloud.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-data-jpa</artifactId>
+            <groupId>at.ac.tuwien.ifs.dbrepo</groupId>
+            <artifactId>dbrepo-core</artifactId>
+            <version>${project.version}</version>
         </dependency>
         <dependency>
             <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-actuator</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>com.google.guava</groupId>
-            <artifactId>guava</artifactId>
-            <version>${guava.version}</version>
+            <artifactId>spring-boot-starter-test</artifactId>
         </dependency>
         <!-- Spark -->
         <dependency>
@@ -166,12 +140,6 @@
             <artifactId>hadoop-aws</artifactId>
             <version>${hadoop.version}</version>
         </dependency>
-        <!-- Open API -->
-        <dependency>
-            <groupId>org.springdoc</groupId>
-            <artifactId>springdoc-openapi-starter-webmvc-api</artifactId>
-            <version>${springdoc-openapi.version}</version>
-        </dependency>
         <!-- Data Source -->
         <dependency>
             <groupId>com.h2database</groupId>
@@ -203,12 +171,6 @@
             <version>${micrometer.version}</version>
             <scope>test</scope>
         </dependency>
-        <!-- IDE -->
-        <dependency>
-            <groupId>org.projectlombok</groupId>
-            <artifactId>lombok</artifactId>
-            <scope>compile</scope>
-        </dependency>
         <!-- Mapping -->
         <dependency>
             <groupId>org.mapstruct</groupId>
@@ -221,11 +183,6 @@
             <artifactId>mapstruct</artifactId>
             <version>${mapstruct.version}</version>
         </dependency>
-        <dependency>
-            <groupId>com.fasterxml.jackson.datatype</groupId>
-            <artifactId>jackson-datatype-jsr310</artifactId>
-            <version>${jackson-datatype.version}</version>
-        </dependency>
         <dependency>
             <groupId>commons-io</groupId>
             <artifactId>commons-io</artifactId>
@@ -252,29 +209,12 @@
             <artifactId>keycloak-admin-client</artifactId>
             <version>${keycloak.version}</version>
         </dependency>
-        <dependency>
-            <groupId>com.fasterxml.jackson.datatype</groupId>
-            <artifactId>jackson-datatype-hibernate6</artifactId>
-            <version>${jackson-datatype.version}</version>
-        </dependency>
         <!-- Authentication -->
         <dependency>
             <groupId>com.auth0</groupId>
             <artifactId>java-jwt</artifactId>
             <version>${jwt.version}</version>
         </dependency>
-        <!-- DTOs -->
-        <dependency>
-            <groupId>at.tuwien</groupId>
-            <artifactId>dbrepo-metadata-service-api</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-        <!-- Exceptions -->
-        <dependency>
-            <groupId>at.tuwien</groupId>
-            <artifactId>dbrepo-metadata-service-repositories</artifactId>
-            <version>${project.version}</version>
-        </dependency>
         <!-- AMPQ -->
         <dependency>
             <groupId>org.springframework.amqp</groupId>
@@ -293,19 +233,8 @@
         </dependency>
         <!-- Testing -->
         <dependency>
-            <groupId>at.tuwien</groupId>
-            <artifactId>dbrepo-metadata-service-test</artifactId>
-            <version>${project.version}</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>at.tuwien</groupId>
-            <artifactId>dbrepo-metadata-service-entities</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-test</artifactId>
+            <groupId>org.springframework.security</groupId>
+            <artifactId>spring-security-test</artifactId>
             <scope>test</scope>
         </dependency>
         <dependency>
@@ -378,7 +307,8 @@
                 <artifactId>maven-surefire-plugin</artifactId>
                 <!-- Note config is repeated in scalatest config -->
                 <configuration>
-                    <argLine>@{argLine} -ea -Xmx4g -Xss4m -XX:MaxMetaspaceSize=2g -XX:ReservedCodeCacheSize=${CodeCacheSize}
+                    <argLine>@{argLine} -ea -Xmx4g -Xss4m -XX:MaxMetaspaceSize=2g
+                        -XX:ReservedCodeCacheSize=${CodeCacheSize}
                         ${extraJavaTestArgs}
                     </argLine>
                 </configuration>
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 ba1a0e76da..79e6491982 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
@@ -1,10 +1,10 @@
 package at.tuwien.endpoints;
 
-import at.tuwien.api.database.CreateAccessDto;
-import at.tuwien.api.database.DatabaseDto;
-import at.tuwien.api.error.ApiErrorDto;
-import at.tuwien.api.user.UserDto;
-import at.tuwien.exception.*;
+import at.ac.tuwien.ifs.dbrepo.api.database.CreateAccessDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.DatabaseDto;
+import at.ac.tuwien.ifs.dbrepo.api.error.ApiErrorDto;
+import at.ac.tuwien.ifs.dbrepo.api.user.UserDto;
+import at.ac.tuwien.ifs.dbrepo.exception.*;
 import at.tuwien.service.AccessService;
 import at.tuwien.service.CacheService;
 import io.swagger.v3.oas.annotations.Operation;
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 751f1ca344..c8bf60199d 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
@@ -1,12 +1,12 @@
 package at.tuwien.endpoints;
 
-import at.tuwien.api.container.ContainerDto;
-import at.tuwien.api.database.AccessTypeDto;
-import at.tuwien.api.database.DatabaseDto;
-import at.tuwien.api.database.internal.CreateDatabaseDto;
-import at.tuwien.api.error.ApiErrorDto;
-import at.tuwien.api.user.internal.UpdateUserPasswordDto;
-import at.tuwien.exception.*;
+import at.ac.tuwien.ifs.dbrepo.api.container.ContainerDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.AccessTypeDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.DatabaseDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.internal.CreateDatabaseDto;
+import at.ac.tuwien.ifs.dbrepo.api.error.ApiErrorDto;
+import at.ac.tuwien.ifs.dbrepo.api.user.internal.UpdateUserPasswordDto;
+import at.ac.tuwien.ifs.dbrepo.exception.*;
 import at.tuwien.mapper.MetadataMapper;
 import at.tuwien.service.AccessService;
 import at.tuwien.service.CacheService;
diff --git a/dbrepo-data-service/rest-service/src/main/java/at/tuwien/endpoints/RestEndpoint.java b/dbrepo-data-service/rest-service/src/main/java/at/tuwien/endpoints/RestEndpoint.java
index 45cea4371c..e67e3acb43 100644
--- a/dbrepo-data-service/rest-service/src/main/java/at/tuwien/endpoints/RestEndpoint.java
+++ b/dbrepo-data-service/rest-service/src/main/java/at/tuwien/endpoints/RestEndpoint.java
@@ -1,6 +1,6 @@
 package at.tuwien.endpoints;
 
-import at.tuwien.api.user.UserDetailsDto;
+import at.ac.tuwien.ifs.dbrepo.api.user.UserDetailsDto;
 import org.apache.spark.sql.Dataset;
 import org.apache.spark.sql.Row;
 import org.springframework.security.core.Authentication;
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 fb076ce3a2..7132328868 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
@@ -1,14 +1,14 @@
 package at.tuwien.endpoints;
 
-import at.tuwien.ExportResourceDto;
-import at.tuwien.api.database.DatabaseDto;
-import at.tuwien.api.database.ViewColumnDto;
-import at.tuwien.api.database.ViewDto;
-import at.tuwien.api.database.query.QueryDto;
-import at.tuwien.api.database.query.QueryPersistDto;
-import at.tuwien.api.database.query.SubsetDto;
-import at.tuwien.api.error.ApiErrorDto;
-import at.tuwien.exception.*;
+import at.ac.tuwien.ifs.dbrepo.api.ExportResourceDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.DatabaseDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.ViewColumnDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.ViewDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.query.QueryDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.query.QueryPersistDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.query.SubsetDto;
+import at.ac.tuwien.ifs.dbrepo.api.error.ApiErrorDto;
+import at.ac.tuwien.ifs.dbrepo.exception.*;
 import at.tuwien.gateway.MetadataServiceGateway;
 import at.tuwien.mapper.MariaDbMapper;
 import at.tuwien.service.CacheService;
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 b958198b64..cc290c4407 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,14 +1,14 @@
 package at.tuwien.endpoints;
 
-import at.tuwien.ExportResourceDto;
-import at.tuwien.api.database.DatabaseAccessDto;
-import at.tuwien.api.database.DatabaseDto;
-import at.tuwien.api.database.query.ImportDto;
-import at.tuwien.api.database.table.*;
-import at.tuwien.api.database.table.columns.ColumnDto;
-import at.tuwien.api.database.table.internal.TableCreateDto;
-import at.tuwien.api.error.ApiErrorDto;
-import at.tuwien.exception.*;
+import at.ac.tuwien.ifs.dbrepo.api.ExportResourceDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.DatabaseAccessDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.DatabaseDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.query.ImportDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.*;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.columns.ColumnDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.internal.TableCreateDto;
+import at.ac.tuwien.ifs.dbrepo.api.error.ApiErrorDto;
+import at.ac.tuwien.ifs.dbrepo.exception.*;
 import at.tuwien.gateway.MetadataServiceGateway;
 import at.tuwien.mapper.MariaDbMapper;
 import at.tuwien.service.*;
diff --git a/dbrepo-data-service/rest-service/src/main/java/at/tuwien/endpoints/UploadEndpoint.java b/dbrepo-data-service/rest-service/src/main/java/at/tuwien/endpoints/UploadEndpoint.java
index 9d338e42bf..810145343c 100644
--- a/dbrepo-data-service/rest-service/src/main/java/at/tuwien/endpoints/UploadEndpoint.java
+++ b/dbrepo-data-service/rest-service/src/main/java/at/tuwien/endpoints/UploadEndpoint.java
@@ -1,9 +1,9 @@
 package at.tuwien.endpoints;
 
-import at.tuwien.api.database.ViewDto;
-import at.tuwien.api.error.ApiErrorDto;
-import at.tuwien.api.file.UploadResponseDto;
-import at.tuwien.exception.*;
+import at.ac.tuwien.ifs.dbrepo.api.database.ViewDto;
+import at.ac.tuwien.ifs.dbrepo.api.error.ApiErrorDto;
+import at.ac.tuwien.ifs.dbrepo.api.file.UploadResponseDto;
+import at.ac.tuwien.ifs.dbrepo.exception.*;
 import at.tuwien.service.StorageService;
 import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.media.Content;
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 94ae9b0124..d7bb2ce116 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,13 +1,13 @@
 package at.tuwien.endpoints;
 
-import at.tuwien.ExportResourceDto;
-import at.tuwien.api.database.CreateViewDto;
-import at.tuwien.api.database.DatabaseDto;
-import at.tuwien.api.database.ViewColumnDto;
-import at.tuwien.api.database.ViewDto;
-import at.tuwien.api.database.table.TableStatisticDto;
-import at.tuwien.api.error.ApiErrorDto;
-import at.tuwien.exception.*;
+import at.ac.tuwien.ifs.dbrepo.api.ExportResourceDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.CreateViewDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.DatabaseDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.ViewColumnDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.ViewDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.TableStatisticDto;
+import at.ac.tuwien.ifs.dbrepo.api.error.ApiErrorDto;
+import at.ac.tuwien.ifs.dbrepo.exception.*;
 import at.tuwien.mapper.MariaDbMapper;
 import at.tuwien.service.*;
 import at.tuwien.validation.EndpointValidator;
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 ee92062ad8..ada082153e 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
@@ -1,7 +1,7 @@
 package at.tuwien.handlers;
 
-import at.tuwien.api.error.ApiErrorDto;
-import at.tuwien.exception.*;
+import at.ac.tuwien.ifs.dbrepo.api.error.ApiErrorDto;
+import at.ac.tuwien.ifs.dbrepo.exception.*;
 import io.swagger.v3.oas.annotations.Hidden;
 import lombok.extern.log4j.Log4j2;
 import org.springframework.http.HttpHeaders;
diff --git a/dbrepo-data-service/rest-service/src/main/java/at/tuwien/validation/EndpointValidator.java b/dbrepo-data-service/rest-service/src/main/java/at/tuwien/validation/EndpointValidator.java
index 655741cc23..6f5124850a 100644
--- a/dbrepo-data-service/rest-service/src/main/java/at/tuwien/validation/EndpointValidator.java
+++ b/dbrepo-data-service/rest-service/src/main/java/at/tuwien/validation/EndpointValidator.java
@@ -1,13 +1,13 @@
 package at.tuwien.validation;
 
-import at.tuwien.api.database.AccessTypeDto;
-import at.tuwien.api.database.DatabaseAccessDto;
-import at.tuwien.api.database.DatabaseDto;
-import at.tuwien.api.database.query.FilterDto;
-import at.tuwien.api.database.query.FilterTypeDto;
-import at.tuwien.api.database.query.SubsetDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.AccessTypeDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.DatabaseAccessDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.DatabaseDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.query.FilterDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.query.FilterTypeDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.query.SubsetDto;
 import at.tuwien.endpoints.RestEndpoint;
-import at.tuwien.exception.*;
+import at.ac.tuwien.ifs.dbrepo.exception.*;
 import at.tuwien.service.CacheService;
 import lombok.extern.log4j.Log4j2;
 import org.springframework.beans.factory.annotation.Autowired;
diff --git a/dbrepo-data-service/rest-service/src/test/java/at/tuwien/config/MariaDbConfig.java b/dbrepo-data-service/rest-service/src/test/java/at/tuwien/config/MariaDbConfig.java
index e03ea299a2..97fb83f404 100644
--- a/dbrepo-data-service/rest-service/src/test/java/at/tuwien/config/MariaDbConfig.java
+++ b/dbrepo-data-service/rest-service/src/test/java/at/tuwien/config/MariaDbConfig.java
@@ -1,8 +1,8 @@
 package at.tuwien.config;
 
-import at.tuwien.api.container.ContainerDto;
-import at.tuwien.api.database.DatabaseDto;
-import at.tuwien.api.database.query.QueryDto;
+import at.ac.tuwien.ifs.dbrepo.api.container.ContainerDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.DatabaseDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.query.QueryDto;
 import lombok.extern.log4j.Log4j2;
 import org.springframework.context.annotation.Configuration;
 import org.springframework.core.io.ClassPathResource;
diff --git a/dbrepo-data-service/rest-service/src/test/java/at/tuwien/config/MariaDbContainerConfig.java b/dbrepo-data-service/rest-service/src/test/java/at/tuwien/config/MariaDbContainerConfig.java
index 7aa18e3b9e..b331dcea39 100644
--- a/dbrepo-data-service/rest-service/src/test/java/at/tuwien/config/MariaDbContainerConfig.java
+++ b/dbrepo-data-service/rest-service/src/test/java/at/tuwien/config/MariaDbContainerConfig.java
@@ -1,7 +1,7 @@
 package at.tuwien.config;
 
-import at.tuwien.test.AbstractUnitTest;
-import at.tuwien.test.BaseTest;
+import at.ac.tuwien.ifs.dbrepo.test.AbstractUnitTest;
+import at.ac.tuwien.ifs.dbrepo.test.BaseTest;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
 import org.testcontainers.containers.MariaDBContainer;
diff --git a/dbrepo-data-service/rest-service/src/test/java/at/tuwien/endpoint/AccessEndpointUnitTest.java b/dbrepo-data-service/rest-service/src/test/java/at/tuwien/endpoint/AccessEndpointUnitTest.java
index d41e0609ba..26671988b0 100644
--- a/dbrepo-data-service/rest-service/src/test/java/at/tuwien/endpoint/AccessEndpointUnitTest.java
+++ b/dbrepo-data-service/rest-service/src/test/java/at/tuwien/endpoint/AccessEndpointUnitTest.java
@@ -1,13 +1,13 @@
 package at.tuwien.endpoint;
 
-import at.tuwien.api.database.AccessTypeDto;
-import at.tuwien.api.database.DatabaseDto;
-import at.tuwien.api.user.UserDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.AccessTypeDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.DatabaseDto;
+import at.ac.tuwien.ifs.dbrepo.api.user.UserDto;
 import at.tuwien.endpoints.AccessEndpoint;
-import at.tuwien.exception.*;
+import at.ac.tuwien.ifs.dbrepo.exception.*;
 import at.tuwien.service.AccessService;
 import at.tuwien.service.CacheService;
-import at.tuwien.test.AbstractUnitTest;
+import at.ac.tuwien.ifs.dbrepo.test.AbstractUnitTest;
 import lombok.extern.log4j.Log4j2;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
diff --git a/dbrepo-data-service/rest-service/src/test/java/at/tuwien/endpoint/DatabaseEndpointUnitTest.java b/dbrepo-data-service/rest-service/src/test/java/at/tuwien/endpoint/DatabaseEndpointUnitTest.java
index e2a6c550d0..35e46938e7 100644
--- a/dbrepo-data-service/rest-service/src/test/java/at/tuwien/endpoint/DatabaseEndpointUnitTest.java
+++ b/dbrepo-data-service/rest-service/src/test/java/at/tuwien/endpoint/DatabaseEndpointUnitTest.java
@@ -1,15 +1,15 @@
 package at.tuwien.endpoint;
 
-import at.tuwien.api.database.AccessTypeDto;
-import at.tuwien.api.database.DatabaseDto;
-import at.tuwien.api.user.UserDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.AccessTypeDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.DatabaseDto;
+import at.ac.tuwien.ifs.dbrepo.api.user.UserDto;
 import at.tuwien.endpoints.DatabaseEndpoint;
-import at.tuwien.exception.*;
+import at.ac.tuwien.ifs.dbrepo.exception.*;
 import at.tuwien.service.AccessService;
 import at.tuwien.service.ContainerService;
 import at.tuwien.service.CacheService;
 import at.tuwien.service.DatabaseService;
-import at.tuwien.test.AbstractUnitTest;
+import at.ac.tuwien.ifs.dbrepo.test.AbstractUnitTest;
 import lombok.extern.log4j.Log4j2;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
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 92bead3674..90396d44e0 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
@@ -1,17 +1,17 @@
 package at.tuwien.endpoint;
 
-import at.tuwien.api.database.DatabaseDto;
-import at.tuwien.api.database.query.QueryDto;
-import at.tuwien.api.database.query.QueryPersistDto;
-import at.tuwien.api.database.query.SubsetDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.DatabaseDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.query.QueryDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.query.QueryPersistDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.query.SubsetDto;
+import at.ac.tuwien.ifs.dbrepo.exception.*;
+import at.ac.tuwien.ifs.dbrepo.test.AbstractUnitTest;
 import at.tuwien.endpoints.SubsetEndpoint;
-import at.tuwien.exception.*;
 import at.tuwien.gateway.MetadataServiceGateway;
 import at.tuwien.service.CacheService;
 import at.tuwien.service.DatabaseService;
 import at.tuwien.service.StorageService;
 import at.tuwien.service.SubsetService;
-import at.tuwien.test.AbstractUnitTest;
 import jakarta.servlet.http.HttpServletRequest;
 import lombok.extern.log4j.Log4j2;
 import org.apache.spark.sql.Dataset;
@@ -36,7 +36,7 @@ import java.util.List;
 import java.util.UUID;
 
 import static org.junit.jupiter.api.Assertions.*;
-import static org.mockito.ArgumentMatchers.anyString;
+import static org.mockito.ArgumentMatchers.*;
 import static org.mockito.Mockito.*;
 
 @Log4j2
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 591dba2e63..1bde5acb68 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
@@ -1,18 +1,18 @@
 package at.tuwien.endpoint;
 
-import at.tuwien.api.database.DatabaseAccessDto;
-import at.tuwien.api.database.DatabaseDto;
-import at.tuwien.api.database.query.ImportDto;
-import at.tuwien.api.database.table.*;
-import at.tuwien.api.database.table.internal.TableCreateDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.DatabaseAccessDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.DatabaseDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.query.ImportDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.*;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.internal.TableCreateDto;
 import at.tuwien.endpoints.TableEndpoint;
-import at.tuwien.exception.*;
+import at.ac.tuwien.ifs.dbrepo.exception.*;
 import at.tuwien.gateway.MetadataServiceGateway;
 import at.tuwien.service.CacheService;
 import at.tuwien.service.DatabaseService;
 import at.tuwien.service.SubsetService;
 import at.tuwien.service.TableService;
-import at.tuwien.test.AbstractUnitTest;
+import at.ac.tuwien.ifs.dbrepo.test.AbstractUnitTest;
 import jakarta.servlet.http.HttpServletRequest;
 import lombok.extern.log4j.Log4j2;
 import org.apache.spark.sql.Dataset;
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 5ce2990700..0abcea2588 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,14 +1,14 @@
 package at.tuwien.endpoint;
 
-import at.tuwien.api.database.DatabaseDto;
-import at.tuwien.api.database.ViewDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.DatabaseDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.ViewDto;
 import at.tuwien.endpoints.ViewEndpoint;
-import at.tuwien.exception.*;
+import at.ac.tuwien.ifs.dbrepo.exception.*;
 import at.tuwien.service.CacheService;
 import at.tuwien.service.DatabaseService;
 import at.tuwien.service.SubsetService;
 import at.tuwien.service.ViewService;
-import at.tuwien.test.AbstractUnitTest;
+import at.ac.tuwien.ifs.dbrepo.test.AbstractUnitTest;
 import jakarta.servlet.http.HttpServletRequest;
 import lombok.extern.log4j.Log4j2;
 import org.apache.spark.sql.Dataset;
diff --git a/dbrepo-data-service/rest-service/src/test/java/at/tuwien/gateway/InterceptorUnitTest.java b/dbrepo-data-service/rest-service/src/test/java/at/tuwien/gateway/InterceptorUnitTest.java
index b87793a8bc..7cf7103ce6 100644
--- a/dbrepo-data-service/rest-service/src/test/java/at/tuwien/gateway/InterceptorUnitTest.java
+++ b/dbrepo-data-service/rest-service/src/test/java/at/tuwien/gateway/InterceptorUnitTest.java
@@ -1,12 +1,11 @@
 package at.tuwien.gateway;
 
-import at.tuwien.api.keycloak.TokenDto;
-import at.tuwien.test.AbstractUnitTest;
+import at.ac.tuwien.ifs.dbrepo.api.keycloak.TokenDto;
+import at.ac.tuwien.ifs.dbrepo.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.beans.factory.annotation.Qualifier;
 import org.springframework.boot.test.context.SpringBootTest;
 import org.springframework.boot.test.mock.mockito.MockBean;
diff --git a/dbrepo-data-service/rest-service/src/test/java/at/tuwien/gateway/MetadataServiceGatewayUnitTest.java b/dbrepo-data-service/rest-service/src/test/java/at/tuwien/gateway/MetadataServiceGatewayUnitTest.java
index 1ea87d2fc1..54d7a5b557 100644
--- a/dbrepo-data-service/rest-service/src/test/java/at/tuwien/gateway/MetadataServiceGatewayUnitTest.java
+++ b/dbrepo-data-service/rest-service/src/test/java/at/tuwien/gateway/MetadataServiceGatewayUnitTest.java
@@ -1,14 +1,14 @@
 package at.tuwien.gateway;
 
-import at.tuwien.api.container.ContainerDto;
-import at.tuwien.api.database.DatabaseAccessDto;
-import at.tuwien.api.database.DatabaseDto;
-import at.tuwien.api.database.ViewDto;
-import at.tuwien.api.database.table.TableDto;
-import at.tuwien.api.identifier.IdentifierBriefDto;
-import at.tuwien.api.user.UserDto;
-import at.tuwien.exception.*;
-import at.tuwien.test.AbstractUnitTest;
+import at.ac.tuwien.ifs.dbrepo.api.container.ContainerDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.DatabaseAccessDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.DatabaseDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.ViewDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.TableDto;
+import at.ac.tuwien.ifs.dbrepo.api.identifier.IdentifierBriefDto;
+import at.ac.tuwien.ifs.dbrepo.api.user.UserDto;
+import at.ac.tuwien.ifs.dbrepo.exception.*;
+import at.ac.tuwien.ifs.dbrepo.test.AbstractUnitTest;
 import lombok.extern.log4j.Log4j2;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
diff --git a/dbrepo-data-service/rest-service/src/test/java/at/tuwien/handlers/ApiExceptionHandlerTest.java b/dbrepo-data-service/rest-service/src/test/java/at/tuwien/handlers/ApiExceptionHandlerTest.java
index 7dcb0343ac..4f867e8d4b 100644
--- a/dbrepo-data-service/rest-service/src/test/java/at/tuwien/handlers/ApiExceptionHandlerTest.java
+++ b/dbrepo-data-service/rest-service/src/test/java/at/tuwien/handlers/ApiExceptionHandlerTest.java
@@ -1,8 +1,8 @@
 package at.tuwien.handlers;
 
-import at.tuwien.api.error.ApiErrorDto;
-import at.tuwien.exception.*;
-import at.tuwien.test.AbstractUnitTest;
+import at.ac.tuwien.ifs.dbrepo.api.error.ApiErrorDto;
+import at.ac.tuwien.ifs.dbrepo.exception.*;
+import at.ac.tuwien.ifs.dbrepo.test.AbstractUnitTest;
 import lombok.extern.log4j.Log4j2;
 import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.Test;
@@ -21,8 +21,8 @@ import java.util.Arrays;
 import java.util.List;
 import java.util.Optional;
 
-import static at.tuwien.test.utils.EndpointUtils.getErrorCodes;
-import static at.tuwien.test.utils.EndpointUtils.getExceptions;
+import static at.ac.tuwien.ifs.dbrepo.test.utils.EndpointUtils.getErrorCodes;
+import static at.ac.tuwien.ifs.dbrepo.test.utils.EndpointUtils.getExceptions;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertNotNull;
 
diff --git a/dbrepo-data-service/rest-service/src/test/java/at/tuwien/listener/DefaultListenerIntegrationTest.java b/dbrepo-data-service/rest-service/src/test/java/at/tuwien/listener/DefaultListenerIntegrationTest.java
index bf63189bf2..280d2a6d6f 100644
--- a/dbrepo-data-service/rest-service/src/test/java/at/tuwien/listener/DefaultListenerIntegrationTest.java
+++ b/dbrepo-data-service/rest-service/src/test/java/at/tuwien/listener/DefaultListenerIntegrationTest.java
@@ -2,12 +2,12 @@ package at.tuwien.listener;
 
 import at.tuwien.config.MariaDbConfig;
 import at.tuwien.config.MariaDbContainerConfig;
-import at.tuwien.exception.DatabaseNotFoundException;
-import at.tuwien.exception.MetadataServiceException;
-import at.tuwien.exception.RemoteUnavailableException;
-import at.tuwien.exception.TableNotFoundException;
+import at.ac.tuwien.ifs.dbrepo.exception.DatabaseNotFoundException;
+import at.ac.tuwien.ifs.dbrepo.exception.MetadataServiceException;
+import at.ac.tuwien.ifs.dbrepo.exception.RemoteUnavailableException;
+import at.ac.tuwien.ifs.dbrepo.exception.TableNotFoundException;
 import at.tuwien.service.CacheService;
-import at.tuwien.test.AbstractUnitTest;
+import at.ac.tuwien.ifs.dbrepo.test.AbstractUnitTest;
 import lombok.extern.log4j.Log4j2;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Disabled;
diff --git a/dbrepo-data-service/rest-service/src/test/java/at/tuwien/listener/DefaultListenerUnitTest.java b/dbrepo-data-service/rest-service/src/test/java/at/tuwien/listener/DefaultListenerUnitTest.java
index 686a134dc5..6beffa4759 100644
--- a/dbrepo-data-service/rest-service/src/test/java/at/tuwien/listener/DefaultListenerUnitTest.java
+++ b/dbrepo-data-service/rest-service/src/test/java/at/tuwien/listener/DefaultListenerUnitTest.java
@@ -2,12 +2,12 @@ package at.tuwien.listener;
 
 import at.tuwien.config.MariaDbConfig;
 import at.tuwien.config.MariaDbContainerConfig;
-import at.tuwien.exception.DatabaseNotFoundException;
-import at.tuwien.exception.MetadataServiceException;
-import at.tuwien.exception.RemoteUnavailableException;
-import at.tuwien.exception.TableNotFoundException;
+import at.ac.tuwien.ifs.dbrepo.exception.DatabaseNotFoundException;
+import at.ac.tuwien.ifs.dbrepo.exception.MetadataServiceException;
+import at.ac.tuwien.ifs.dbrepo.exception.RemoteUnavailableException;
+import at.ac.tuwien.ifs.dbrepo.exception.TableNotFoundException;
 import at.tuwien.service.CacheService;
-import at.tuwien.test.AbstractUnitTest;
+import at.ac.tuwien.ifs.dbrepo.test.AbstractUnitTest;
 import lombok.extern.log4j.Log4j2;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
diff --git a/dbrepo-data-service/rest-service/src/test/java/at/tuwien/mapper/MariaDbMapperUnitTest.java b/dbrepo-data-service/rest-service/src/test/java/at/tuwien/mapper/MariaDbMapperUnitTest.java
index 86303e4ec3..37dc14f3ec 100644
--- a/dbrepo-data-service/rest-service/src/test/java/at/tuwien/mapper/MariaDbMapperUnitTest.java
+++ b/dbrepo-data-service/rest-service/src/test/java/at/tuwien/mapper/MariaDbMapperUnitTest.java
@@ -1,6 +1,6 @@
 package at.tuwien.mapper;
 
-import at.tuwien.test.AbstractUnitTest;
+import at.ac.tuwien.ifs.dbrepo.test.AbstractUnitTest;
 import lombok.extern.log4j.Log4j2;
 import org.junit.jupiter.api.extension.ExtendWith;
 import org.junit.jupiter.params.ParameterizedTest;
diff --git a/dbrepo-data-service/rest-service/src/test/java/at/tuwien/mvc/ActuatorEndpointMvcTest.java b/dbrepo-data-service/rest-service/src/test/java/at/tuwien/mvc/ActuatorEndpointMvcTest.java
index a7a83a6184..2781f51c82 100644
--- a/dbrepo-data-service/rest-service/src/test/java/at/tuwien/mvc/ActuatorEndpointMvcTest.java
+++ b/dbrepo-data-service/rest-service/src/test/java/at/tuwien/mvc/ActuatorEndpointMvcTest.java
@@ -1,6 +1,6 @@
 package at.tuwien.mvc;
 
-import at.tuwien.test.AbstractUnitTest;
+import at.ac.tuwien.ifs.dbrepo.test.AbstractUnitTest;
 import lombok.extern.log4j.Log4j2;
 import org.junit.jupiter.api.Test;
 import org.junit.jupiter.api.extension.ExtendWith;
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 b5ed475ea8..1d77947dcc 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
@@ -1,8 +1,8 @@
 package at.tuwien.mvc;
 
-import at.tuwien.api.error.ApiErrorDto;
+import at.ac.tuwien.ifs.dbrepo.api.error.ApiErrorDto;
 import at.tuwien.endpoints.*;
-import at.tuwien.test.AbstractUnitTest;
+import at.ac.tuwien.ifs.dbrepo.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;
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 de1c875e0a..f47d205cd7 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,16 +1,16 @@
 package at.tuwien.mvc;
 
-import at.tuwien.api.database.query.ImportDto;
-import at.tuwien.api.database.query.QueryPersistDto;
-import at.tuwien.api.database.table.TupleDeleteDto;
-import at.tuwien.api.database.table.TupleDto;
-import at.tuwien.api.database.table.TupleUpdateDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.query.ImportDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.query.QueryPersistDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.TupleDeleteDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.TupleDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.TupleUpdateDto;
 import at.tuwien.config.MetricsConfig;
 import at.tuwien.endpoints.SubsetEndpoint;
 import at.tuwien.endpoints.TableEndpoint;
 import at.tuwien.endpoints.ViewEndpoint;
 import at.tuwien.listener.DefaultListener;
-import at.tuwien.test.AbstractUnitTest;
+import at.ac.tuwien.ifs.dbrepo.test.AbstractUnitTest;
 import io.micrometer.observation.tck.TestObservationRegistry;
 import jakarta.servlet.http.HttpServletRequest;
 import lombok.extern.log4j.Log4j2;
diff --git a/dbrepo-data-service/rest-service/src/test/java/at/tuwien/mvc/SubsetEndpointMvcTest.java b/dbrepo-data-service/rest-service/src/test/java/at/tuwien/mvc/SubsetEndpointMvcTest.java
index f3f0cb9799..158bed7ef0 100644
--- a/dbrepo-data-service/rest-service/src/test/java/at/tuwien/mvc/SubsetEndpointMvcTest.java
+++ b/dbrepo-data-service/rest-service/src/test/java/at/tuwien/mvc/SubsetEndpointMvcTest.java
@@ -2,7 +2,7 @@ package at.tuwien.mvc;
 
 import at.tuwien.gateway.MetadataServiceGateway;
 import at.tuwien.service.SubsetService;
-import at.tuwien.test.AbstractUnitTest;
+import at.ac.tuwien.ifs.dbrepo.test.AbstractUnitTest;
 import lombok.extern.log4j.Log4j2;
 import org.junit.jupiter.api.Test;
 import org.junit.jupiter.api.extension.ExtendWith;
diff --git a/dbrepo-data-service/rest-service/src/test/java/at/tuwien/service/AccessServiceIntegrationTest.java b/dbrepo-data-service/rest-service/src/test/java/at/tuwien/service/AccessServiceIntegrationTest.java
index abcfd4a175..e1f0354d1b 100644
--- a/dbrepo-data-service/rest-service/src/test/java/at/tuwien/service/AccessServiceIntegrationTest.java
+++ b/dbrepo-data-service/rest-service/src/test/java/at/tuwien/service/AccessServiceIntegrationTest.java
@@ -1,10 +1,10 @@
 package at.tuwien.service;
 
-import at.tuwien.api.database.AccessTypeDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.AccessTypeDto;
 import at.tuwien.config.MariaDbConfig;
 import at.tuwien.config.MariaDbContainerConfig;
-import at.tuwien.exception.DatabaseMalformedException;
-import at.tuwien.test.AbstractUnitTest;
+import at.ac.tuwien.ifs.dbrepo.exception.DatabaseMalformedException;
+import at.ac.tuwien.ifs.dbrepo.test.AbstractUnitTest;
 import lombok.extern.log4j.Log4j2;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
diff --git a/dbrepo-data-service/rest-service/src/test/java/at/tuwien/service/ContainerServiceIntegrationTest.java b/dbrepo-data-service/rest-service/src/test/java/at/tuwien/service/ContainerServiceIntegrationTest.java
index ef4f8713c8..eddeef45e0 100644
--- a/dbrepo-data-service/rest-service/src/test/java/at/tuwien/service/ContainerServiceIntegrationTest.java
+++ b/dbrepo-data-service/rest-service/src/test/java/at/tuwien/service/ContainerServiceIntegrationTest.java
@@ -1,11 +1,11 @@
 package at.tuwien.service;
 
-import at.tuwien.api.database.DatabaseDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.DatabaseDto;
 import at.tuwien.config.MariaDbConfig;
 import at.tuwien.config.MariaDbContainerConfig;
-import at.tuwien.exception.DatabaseMalformedException;
-import at.tuwien.exception.QueryStoreCreateException;
-import at.tuwien.test.AbstractUnitTest;
+import at.ac.tuwien.ifs.dbrepo.exception.DatabaseMalformedException;
+import at.ac.tuwien.ifs.dbrepo.exception.QueryStoreCreateException;
+import at.ac.tuwien.ifs.dbrepo.test.AbstractUnitTest;
 import lombok.extern.log4j.Log4j2;
 import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.BeforeEach;
diff --git a/dbrepo-data-service/rest-service/src/test/java/at/tuwien/service/CredentialServiceUnitTest.java b/dbrepo-data-service/rest-service/src/test/java/at/tuwien/service/CredentialServiceUnitTest.java
index 95121ad704..b1bdc7f6bc 100644
--- a/dbrepo-data-service/rest-service/src/test/java/at/tuwien/service/CredentialServiceUnitTest.java
+++ b/dbrepo-data-service/rest-service/src/test/java/at/tuwien/service/CredentialServiceUnitTest.java
@@ -1,15 +1,15 @@
 package at.tuwien.service;
 
-import at.tuwien.api.container.ContainerDto;
-import at.tuwien.api.database.DatabaseAccessDto;
-import at.tuwien.api.database.DatabaseDto;
-import at.tuwien.api.database.ViewDto;
-import at.tuwien.api.database.table.TableDto;
-import at.tuwien.api.user.UserDto;
-import at.tuwien.exception.*;
+import at.ac.tuwien.ifs.dbrepo.api.container.ContainerDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.DatabaseAccessDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.DatabaseDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.ViewDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.TableDto;
+import at.ac.tuwien.ifs.dbrepo.api.user.UserDto;
+import at.ac.tuwien.ifs.dbrepo.exception.*;
 import at.tuwien.gateway.MetadataServiceGateway;
 import at.tuwien.service.impl.CacheServiceImpl;
-import at.tuwien.test.AbstractUnitTest;
+import at.ac.tuwien.ifs.dbrepo.test.AbstractUnitTest;
 import lombok.extern.log4j.Log4j2;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
diff --git a/dbrepo-data-service/rest-service/src/test/java/at/tuwien/service/DatabaseServiceIntegrationTest.java b/dbrepo-data-service/rest-service/src/test/java/at/tuwien/service/DatabaseServiceIntegrationTest.java
index 40fdb982ab..8726fa86a3 100644
--- a/dbrepo-data-service/rest-service/src/test/java/at/tuwien/service/DatabaseServiceIntegrationTest.java
+++ b/dbrepo-data-service/rest-service/src/test/java/at/tuwien/service/DatabaseServiceIntegrationTest.java
@@ -1,25 +1,25 @@
 package at.tuwien.service;
 
-import at.tuwien.api.database.ViewColumnDto;
-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.*;
-import at.tuwien.api.database.table.constraints.ConstraintsDto;
-import at.tuwien.api.database.table.constraints.CreateTableConstraintsDto;
-import at.tuwien.api.database.table.constraints.foreign.CreateForeignKeyDto;
-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.TableCreateDto;
-import at.tuwien.api.identifier.IdentifierDto;
-import at.tuwien.api.user.internal.UpdateUserPasswordDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.ViewColumnDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.ViewDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.TableBriefDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.TableDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.columns.*;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.constraints.ConstraintsDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.constraints.CreateTableConstraintsDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.constraints.foreign.CreateForeignKeyDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.constraints.foreign.ForeignKeyDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.constraints.foreign.ForeignKeyReferenceDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.constraints.foreign.ReferenceTypeDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.constraints.primary.PrimaryKeyDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.constraints.unique.UniqueDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.internal.TableCreateDto;
+import at.ac.tuwien.ifs.dbrepo.api.identifier.IdentifierDto;
+import at.ac.tuwien.ifs.dbrepo.api.user.internal.UpdateUserPasswordDto;
 import at.tuwien.config.MariaDbConfig;
 import at.tuwien.config.MariaDbContainerConfig;
-import at.tuwien.exception.*;
-import at.tuwien.test.AbstractUnitTest;
+import at.ac.tuwien.ifs.dbrepo.exception.*;
+import at.ac.tuwien.ifs.dbrepo.test.AbstractUnitTest;
 import lombok.extern.log4j.Log4j2;
 import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.BeforeAll;
@@ -616,7 +616,7 @@ public class DatabaseServiceIntegrationTest extends AbstractUnitTest {
 
     @Test
     public void createTable_malformed_fails() {
-        final at.tuwien.api.database.table.internal.TableCreateDto request = TableCreateDto.builder()
+        final at.ac.tuwien.ifs.dbrepo.api.database.table.internal.TableCreateDto request = TableCreateDto.builder()
                 .name("missing_foreign_key")
                 .columns(List.of())
                 .constraints(CreateTableConstraintsDto.builder()
@@ -637,7 +637,7 @@ public class DatabaseServiceIntegrationTest extends AbstractUnitTest {
     @Test
     public void createTable_compositePrimaryKey_fails() throws TableNotFoundException, TableMalformedException, SQLException,
             TableExistsException {
-        final at.tuwien.api.database.table.internal.TableCreateDto request = TableCreateDto.builder()
+        final at.ac.tuwien.ifs.dbrepo.api.database.table.internal.TableCreateDto request = TableCreateDto.builder()
                 .name("composite_primary_key")
                 .columns(List.of(CreateTableColumnDto.builder()
                                 .name("name")
diff --git a/dbrepo-data-service/rest-service/src/test/java/at/tuwien/service/QueueServiceIntegrationTest.java b/dbrepo-data-service/rest-service/src/test/java/at/tuwien/service/QueueServiceIntegrationTest.java
index 6996ecb9f4..be89571ced 100644
--- a/dbrepo-data-service/rest-service/src/test/java/at/tuwien/service/QueueServiceIntegrationTest.java
+++ b/dbrepo-data-service/rest-service/src/test/java/at/tuwien/service/QueueServiceIntegrationTest.java
@@ -2,13 +2,13 @@ package at.tuwien.service;
 
 import at.tuwien.config.MariaDbConfig;
 import at.tuwien.config.MariaDbContainerConfig;
-import at.tuwien.exception.DatabaseNotFoundException;
-import at.tuwien.exception.MetadataServiceException;
-import at.tuwien.exception.RemoteUnavailableException;
-import at.tuwien.exception.TableNotFoundException;
+import at.ac.tuwien.ifs.dbrepo.exception.DatabaseNotFoundException;
+import at.ac.tuwien.ifs.dbrepo.exception.MetadataServiceException;
+import at.ac.tuwien.ifs.dbrepo.exception.RemoteUnavailableException;
+import at.ac.tuwien.ifs.dbrepo.exception.TableNotFoundException;
 import at.tuwien.gateway.MetadataServiceGateway;
 import at.tuwien.service.impl.QueueServiceRabbitMqImpl;
-import at.tuwien.test.AbstractUnitTest;
+import at.ac.tuwien.ifs.dbrepo.test.AbstractUnitTest;
 import lombok.extern.log4j.Log4j2;
 import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.BeforeEach;
diff --git a/dbrepo-data-service/rest-service/src/test/java/at/tuwien/service/StorageServiceIntegrationTest.java b/dbrepo-data-service/rest-service/src/test/java/at/tuwien/service/StorageServiceIntegrationTest.java
index 4344c9abb3..f3cfb9c8b9 100644
--- a/dbrepo-data-service/rest-service/src/test/java/at/tuwien/service/StorageServiceIntegrationTest.java
+++ b/dbrepo-data-service/rest-service/src/test/java/at/tuwien/service/StorageServiceIntegrationTest.java
@@ -1,12 +1,12 @@
 package at.tuwien.service;
 
-import at.tuwien.ExportResourceDto;
+import at.ac.tuwien.ifs.dbrepo.api.ExportResourceDto;
 import at.tuwien.config.S3Config;
-import at.tuwien.exception.MalformedException;
-import at.tuwien.exception.StorageNotFoundException;
-import at.tuwien.exception.StorageUnavailableException;
-import at.tuwien.exception.TableMalformedException;
-import at.tuwien.test.AbstractUnitTest;
+import at.ac.tuwien.ifs.dbrepo.exception.MalformedException;
+import at.ac.tuwien.ifs.dbrepo.exception.StorageNotFoundException;
+import at.ac.tuwien.ifs.dbrepo.exception.StorageUnavailableException;
+import at.ac.tuwien.ifs.dbrepo.exception.TableMalformedException;
+import at.ac.tuwien.ifs.dbrepo.test.AbstractUnitTest;
 import lombok.extern.log4j.Log4j2;
 import org.apache.commons.io.FileUtils;
 import org.apache.spark.sql.Dataset;
diff --git a/dbrepo-data-service/rest-service/src/test/java/at/tuwien/service/SubsetServiceIntegrationTest.java b/dbrepo-data-service/rest-service/src/test/java/at/tuwien/service/SubsetServiceIntegrationTest.java
index d05979af36..222dec4e84 100644
--- a/dbrepo-data-service/rest-service/src/test/java/at/tuwien/service/SubsetServiceIntegrationTest.java
+++ b/dbrepo-data-service/rest-service/src/test/java/at/tuwien/service/SubsetServiceIntegrationTest.java
@@ -1,12 +1,12 @@
 package at.tuwien.service;
 
-import at.tuwien.api.database.query.*;
-import at.tuwien.api.identifier.IdentifierBriefDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.query.*;
+import at.ac.tuwien.ifs.dbrepo.api.identifier.IdentifierBriefDto;
 import at.tuwien.config.MariaDbConfig;
 import at.tuwien.config.MariaDbContainerConfig;
-import at.tuwien.exception.*;
+import at.ac.tuwien.ifs.dbrepo.exception.*;
 import at.tuwien.gateway.MetadataServiceGateway;
-import at.tuwien.test.AbstractUnitTest;
+import at.ac.tuwien.ifs.dbrepo.test.AbstractUnitTest;
 import lombok.extern.log4j.Log4j2;
 import org.apache.spark.sql.Dataset;
 import org.apache.spark.sql.Row;
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 03c0e95959..6172f89569 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,13 +1,13 @@
 package at.tuwien.service;
 
-import at.tuwien.api.database.query.ImportDto;
-import at.tuwien.api.database.table.*;
-import at.tuwien.api.database.table.columns.ColumnStatisticDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.query.ImportDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.*;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.columns.ColumnStatisticDto;
 import at.tuwien.config.MariaDbConfig;
 import at.tuwien.config.MariaDbContainerConfig;
 import at.tuwien.config.S3Config;
-import at.tuwien.exception.*;
-import at.tuwien.test.AbstractUnitTest;
+import at.ac.tuwien.ifs.dbrepo.exception.*;
+import at.ac.tuwien.ifs.dbrepo.test.AbstractUnitTest;
 import com.google.common.io.Files;
 import lombok.extern.log4j.Log4j2;
 import org.junit.jupiter.api.BeforeAll;
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 5e99f4afbc..b21def2123 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
@@ -2,8 +2,8 @@ package at.tuwien.service;
 
 import at.tuwien.config.MariaDbConfig;
 import at.tuwien.config.MariaDbContainerConfig;
-import at.tuwien.exception.ViewMalformedException;
-import at.tuwien.test.AbstractUnitTest;
+import at.ac.tuwien.ifs.dbrepo.exception.ViewMalformedException;
+import at.ac.tuwien.ifs.dbrepo.test.AbstractUnitTest;
 import lombok.extern.log4j.Log4j2;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
diff --git a/dbrepo-data-service/rest-service/src/test/java/at/tuwien/utils/MariaDbUtilTest.java b/dbrepo-data-service/rest-service/src/test/java/at/tuwien/utils/MariaDbUtilTest.java
index 6ed73e8a01..dbcf11224b 100644
--- a/dbrepo-data-service/rest-service/src/test/java/at/tuwien/utils/MariaDbUtilTest.java
+++ b/dbrepo-data-service/rest-service/src/test/java/at/tuwien/utils/MariaDbUtilTest.java
@@ -1,6 +1,6 @@
 package at.tuwien.utils;
 
-import at.tuwien.api.database.table.columns.ColumnTypeDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.columns.ColumnTypeDto;
 import org.junit.jupiter.api.Test;
 import org.springframework.amqp.core.Message;
 import org.springframework.amqp.core.MessageProperties;
diff --git a/dbrepo-data-service/rest-service/src/test/java/at/tuwien/validation/EndpointValidatorUnitTest.java b/dbrepo-data-service/rest-service/src/test/java/at/tuwien/validation/EndpointValidatorUnitTest.java
index d833d3fc1a..03df61b447 100644
--- a/dbrepo-data-service/rest-service/src/test/java/at/tuwien/validation/EndpointValidatorUnitTest.java
+++ b/dbrepo-data-service/rest-service/src/test/java/at/tuwien/validation/EndpointValidatorUnitTest.java
@@ -1,7 +1,7 @@
 package at.tuwien.validation;
 
-import at.tuwien.exception.PaginationException;
-import at.tuwien.test.AbstractUnitTest;
+import at.ac.tuwien.ifs.dbrepo.exception.PaginationException;
+import at.ac.tuwien.ifs.dbrepo.test.AbstractUnitTest;
 import lombok.extern.log4j.Log4j2;
 import org.junit.jupiter.api.Test;
 import org.junit.jupiter.api.extension.ExtendWith;
diff --git a/dbrepo-data-service/services/src/main/java/at/tuwien/auth/AuthTokenFilter.java b/dbrepo-data-service/services/src/main/java/at/tuwien/auth/AuthTokenFilter.java
index 1e9d1c4bf0..cdfd1d647e 100644
--- a/dbrepo-data-service/services/src/main/java/at/tuwien/auth/AuthTokenFilter.java
+++ b/dbrepo-data-service/services/src/main/java/at/tuwien/auth/AuthTokenFilter.java
@@ -1,7 +1,7 @@
 package at.tuwien.auth;
 
-import at.tuwien.api.auth.RealmAccessDto;
-import at.tuwien.api.user.UserDetailsDto;
+import at.ac.tuwien.ifs.dbrepo.api.auth.RealmAccessDto;
+import at.ac.tuwien.ifs.dbrepo.api.user.UserDetailsDto;
 import com.auth0.jwt.JWT;
 import com.auth0.jwt.JWTVerifier;
 import com.auth0.jwt.algorithms.Algorithm;
diff --git a/dbrepo-data-service/services/src/main/java/at/tuwien/auth/BasicAuthenticationProvider.java b/dbrepo-data-service/services/src/main/java/at/tuwien/auth/BasicAuthenticationProvider.java
index e70dcdc8fa..66089b00b4 100644
--- a/dbrepo-data-service/services/src/main/java/at/tuwien/auth/BasicAuthenticationProvider.java
+++ b/dbrepo-data-service/services/src/main/java/at/tuwien/auth/BasicAuthenticationProvider.java
@@ -1,6 +1,6 @@
 package at.tuwien.auth;
 
-import at.tuwien.api.keycloak.TokenDto;
+import at.ac.tuwien.ifs.dbrepo.api.keycloak.TokenDto;
 import at.tuwien.service.CredentialService;
 import lombok.extern.log4j.Log4j2;
 import org.springframework.beans.factory.annotation.Autowired;
diff --git a/dbrepo-data-service/services/src/main/java/at/tuwien/auth/InternalRequestInterceptor.java b/dbrepo-data-service/services/src/main/java/at/tuwien/auth/InternalRequestInterceptor.java
index 5ba81ea4b3..ae4eedc7c7 100644
--- a/dbrepo-data-service/services/src/main/java/at/tuwien/auth/InternalRequestInterceptor.java
+++ b/dbrepo-data-service/services/src/main/java/at/tuwien/auth/InternalRequestInterceptor.java
@@ -1,6 +1,6 @@
 package at.tuwien.auth;
 
-import at.tuwien.api.keycloak.TokenDto;
+import at.ac.tuwien.ifs.dbrepo.api.keycloak.TokenDto;
 import at.tuwien.config.GatewayConfig;
 import at.tuwien.service.CredentialService;
 import lombok.extern.log4j.Log4j2;
diff --git a/dbrepo-data-service/services/src/main/java/at/tuwien/config/CacheConfig.java b/dbrepo-data-service/services/src/main/java/at/tuwien/config/CacheConfig.java
index 66d68ed3e2..757d4b7f6b 100644
--- a/dbrepo-data-service/services/src/main/java/at/tuwien/config/CacheConfig.java
+++ b/dbrepo-data-service/services/src/main/java/at/tuwien/config/CacheConfig.java
@@ -1,13 +1,13 @@
 package at.tuwien.config;
 
-import at.tuwien.api.container.ContainerDto;
-import at.tuwien.api.database.DatabaseAccessDto;
-import at.tuwien.api.database.DatabaseDto;
-import at.tuwien.api.database.ViewDto;
-import at.tuwien.api.database.table.TableDto;
-import at.tuwien.api.database.table.TableStatisticDto;
-import at.tuwien.api.keycloak.TokenDto;
-import at.tuwien.api.user.UserDto;
+import at.ac.tuwien.ifs.dbrepo.api.container.ContainerDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.DatabaseAccessDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.DatabaseDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.ViewDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.TableDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.TableStatisticDto;
+import at.ac.tuwien.ifs.dbrepo.api.keycloak.TokenDto;
+import at.ac.tuwien.ifs.dbrepo.api.user.UserDto;
 import com.github.benmanes.caffeine.cache.Cache;
 import com.github.benmanes.caffeine.cache.Caffeine;
 import org.springframework.beans.factory.annotation.Value;
diff --git a/dbrepo-data-service/services/src/main/java/at/tuwien/gateway/KeycloakGateway.java b/dbrepo-data-service/services/src/main/java/at/tuwien/gateway/KeycloakGateway.java
index 21fbf674db..4c404b9d66 100644
--- a/dbrepo-data-service/services/src/main/java/at/tuwien/gateway/KeycloakGateway.java
+++ b/dbrepo-data-service/services/src/main/java/at/tuwien/gateway/KeycloakGateway.java
@@ -1,10 +1,10 @@
 package at.tuwien.gateway;
 
-import at.tuwien.api.keycloak.TokenDto;
-import at.tuwien.exception.AccountNotSetupException;
-import at.tuwien.exception.AuthServiceConnectionException;
-import at.tuwien.exception.CredentialsInvalidException;
-import at.tuwien.exception.NotAllowedException;
+import at.ac.tuwien.ifs.dbrepo.api.keycloak.TokenDto;
+import at.ac.tuwien.ifs.dbrepo.exception.AccountNotSetupException;
+import at.ac.tuwien.ifs.dbrepo.exception.AuthServiceConnectionException;
+import at.ac.tuwien.ifs.dbrepo.exception.CredentialsInvalidException;
+import at.ac.tuwien.ifs.dbrepo.exception.NotAllowedException;
 import org.springframework.security.authentication.BadCredentialsException;
 
 public interface KeycloakGateway {
diff --git a/dbrepo-data-service/services/src/main/java/at/tuwien/gateway/MetadataServiceGateway.java b/dbrepo-data-service/services/src/main/java/at/tuwien/gateway/MetadataServiceGateway.java
index 88906063b0..ecb4f9b937 100644
--- a/dbrepo-data-service/services/src/main/java/at/tuwien/gateway/MetadataServiceGateway.java
+++ b/dbrepo-data-service/services/src/main/java/at/tuwien/gateway/MetadataServiceGateway.java
@@ -1,13 +1,13 @@
 package at.tuwien.gateway;
 
-import at.tuwien.api.container.ContainerDto;
-import at.tuwien.api.database.DatabaseAccessDto;
-import at.tuwien.api.database.DatabaseDto;
-import at.tuwien.api.database.ViewDto;
-import at.tuwien.api.database.table.TableDto;
-import at.tuwien.api.identifier.IdentifierBriefDto;
-import at.tuwien.api.user.UserDto;
-import at.tuwien.exception.*;
+import at.ac.tuwien.ifs.dbrepo.api.container.ContainerDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.DatabaseAccessDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.DatabaseDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.ViewDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.TableDto;
+import at.ac.tuwien.ifs.dbrepo.api.identifier.IdentifierBriefDto;
+import at.ac.tuwien.ifs.dbrepo.api.user.UserDto;
+import at.ac.tuwien.ifs.dbrepo.exception.*;
 import jakarta.validation.constraints.NotNull;
 
 import java.util.List;
diff --git a/dbrepo-data-service/services/src/main/java/at/tuwien/gateway/impl/KeycloakGatewayImpl.java b/dbrepo-data-service/services/src/main/java/at/tuwien/gateway/impl/KeycloakGatewayImpl.java
index 1e14a4b4ce..a44034cced 100644
--- a/dbrepo-data-service/services/src/main/java/at/tuwien/gateway/impl/KeycloakGatewayImpl.java
+++ b/dbrepo-data-service/services/src/main/java/at/tuwien/gateway/impl/KeycloakGatewayImpl.java
@@ -1,6 +1,6 @@
 package at.tuwien.gateway.impl;
 
-import at.tuwien.api.keycloak.TokenDto;
+import at.ac.tuwien.ifs.dbrepo.api.keycloak.TokenDto;
 import at.tuwien.config.KeycloakConfig;
 import at.tuwien.gateway.KeycloakGateway;
 import at.tuwien.mapper.MetadataMapper;
diff --git a/dbrepo-data-service/services/src/main/java/at/tuwien/gateway/impl/MetadataServiceGatewayImpl.java b/dbrepo-data-service/services/src/main/java/at/tuwien/gateway/impl/MetadataServiceGatewayImpl.java
index 34d1dfab5e..2922d00f05 100644
--- a/dbrepo-data-service/services/src/main/java/at/tuwien/gateway/impl/MetadataServiceGatewayImpl.java
+++ b/dbrepo-data-service/services/src/main/java/at/tuwien/gateway/impl/MetadataServiceGatewayImpl.java
@@ -1,14 +1,14 @@
 package at.tuwien.gateway.impl;
 
-import at.tuwien.api.container.ContainerDto;
-import at.tuwien.api.database.DatabaseAccessDto;
-import at.tuwien.api.database.DatabaseDto;
-import at.tuwien.api.database.ViewDto;
-import at.tuwien.api.database.table.TableDto;
-import at.tuwien.api.identifier.IdentifierBriefDto;
-import at.tuwien.api.user.UserDto;
+import at.ac.tuwien.ifs.dbrepo.api.container.ContainerDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.DatabaseAccessDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.DatabaseDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.ViewDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.TableDto;
+import at.ac.tuwien.ifs.dbrepo.api.identifier.IdentifierBriefDto;
+import at.ac.tuwien.ifs.dbrepo.api.user.UserDto;
 import at.tuwien.config.GatewayConfig;
-import at.tuwien.exception.*;
+import at.ac.tuwien.ifs.dbrepo.exception.*;
 import at.tuwien.gateway.MetadataServiceGateway;
 import at.tuwien.mapper.MetadataMapper;
 import jakarta.validation.constraints.NotNull;
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 929ede0a8f..799a5d3c79 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
@@ -1,11 +1,11 @@
 package at.tuwien.listener;
 
-import at.tuwien.api.database.DatabaseDto;
-import at.tuwien.api.database.table.TableDto;
-import at.tuwien.exception.DatabaseNotFoundException;
-import at.tuwien.exception.MetadataServiceException;
-import at.tuwien.exception.RemoteUnavailableException;
-import at.tuwien.exception.TableNotFoundException;
+import at.ac.tuwien.ifs.dbrepo.api.database.DatabaseDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.TableDto;
+import at.ac.tuwien.ifs.dbrepo.exception.DatabaseNotFoundException;
+import at.ac.tuwien.ifs.dbrepo.exception.MetadataServiceException;
+import at.ac.tuwien.ifs.dbrepo.exception.RemoteUnavailableException;
+import at.ac.tuwien.ifs.dbrepo.exception.TableNotFoundException;
 import at.tuwien.service.CacheService;
 import at.tuwien.service.QueueService;
 import com.fasterxml.jackson.core.type.TypeReference;
diff --git a/dbrepo-data-service/services/src/main/java/at/tuwien/mapper/DataMapper.java b/dbrepo-data-service/services/src/main/java/at/tuwien/mapper/DataMapper.java
index 8ab1957502..9088073b0c 100644
--- a/dbrepo-data-service/services/src/main/java/at/tuwien/mapper/DataMapper.java
+++ b/dbrepo-data-service/services/src/main/java/at/tuwien/mapper/DataMapper.java
@@ -1,20 +1,20 @@
 package at.tuwien.mapper;
 
-import at.tuwien.api.database.DatabaseDto;
-import at.tuwien.api.database.ViewColumnDto;
-import at.tuwien.api.database.ViewDto;
-import at.tuwien.api.database.query.QueryDto;
-import at.tuwien.api.database.table.*;
-import at.tuwien.api.database.table.columns.*;
-import at.tuwien.api.database.table.constraints.ConstraintsDto;
-import at.tuwien.api.database.table.constraints.foreign.ForeignKeyBriefDto;
-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.user.UserBriefDto;
-import at.tuwien.exception.TableNotFoundException;
+import at.ac.tuwien.ifs.dbrepo.api.database.DatabaseDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.ViewColumnDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.ViewDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.query.QueryDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.*;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.columns.*;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.constraints.ConstraintsDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.constraints.foreign.ForeignKeyBriefDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.constraints.foreign.ForeignKeyDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.constraints.foreign.ForeignKeyReferenceDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.constraints.foreign.ReferenceTypeDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.constraints.primary.PrimaryKeyDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.constraints.unique.UniqueDto;
+import at.ac.tuwien.ifs.dbrepo.api.user.UserBriefDto;
+import at.ac.tuwien.ifs.dbrepo.exception.TableNotFoundException;
 import org.apache.hadoop.shaded.com.google.common.hash.Hashing;
 import org.apache.hadoop.shaded.org.apache.commons.io.FileUtils;
 import org.jetbrains.annotations.NotNull;
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 a080dfb163..2bb7eeb084 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
@@ -1,22 +1,22 @@
 package at.tuwien.mapper;
 
-import at.tuwien.api.container.image.OperatorDto;
-import at.tuwien.api.database.DatabaseDto;
-import at.tuwien.api.database.query.FilterDto;
-import at.tuwien.api.database.query.FilterTypeDto;
-import at.tuwien.api.database.query.OrderDto;
-import at.tuwien.api.database.query.SubsetDto;
-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.columns.CreateTableColumnDto;
-import at.tuwien.exception.ImageNotFoundException;
-import at.tuwien.exception.QueryMalformedException;
-import at.tuwien.exception.TableMalformedException;
-import at.tuwien.exception.TableNotFoundException;
+import at.ac.tuwien.ifs.dbrepo.api.container.image.OperatorDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.DatabaseDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.query.FilterDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.query.FilterTypeDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.query.OrderDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.query.SubsetDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.TableDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.TupleDeleteDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.TupleDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.TupleUpdateDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.columns.ColumnDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.columns.ColumnTypeDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.columns.CreateTableColumnDto;
+import at.ac.tuwien.ifs.dbrepo.exception.ImageNotFoundException;
+import at.ac.tuwien.ifs.dbrepo.exception.QueryMalformedException;
+import at.ac.tuwien.ifs.dbrepo.exception.TableMalformedException;
+import at.ac.tuwien.ifs.dbrepo.exception.TableNotFoundException;
 import at.tuwien.utils.MariaDbUtil;
 import org.jooq.Record;
 import org.jooq.*;
@@ -317,7 +317,7 @@ public interface MariaDbMapper {
     }
 
     default String tableCreateDtoToCreateTableRawQuery(String databaseName,
-                                                       at.tuwien.api.database.table.internal.TableCreateDto data) {
+                                                       at.ac.tuwien.ifs.dbrepo.api.database.table.internal.TableCreateDto data) {
         final StringBuilder stringBuilder = new StringBuilder("CREATE TABLE `")
                 .append(databaseName)
                 .append("`.`")
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 e4e8201012..68d83d97c3 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
@@ -1,21 +1,21 @@
 package at.tuwien.mapper;
 
-import at.tuwien.api.container.ContainerDto;
-import at.tuwien.api.container.image.ImageDto;
-import at.tuwien.api.database.DatabaseBriefDto;
-import at.tuwien.api.database.DatabaseDto;
-import at.tuwien.api.database.ViewColumnDto;
-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.TableBriefDto;
-import at.tuwien.api.database.table.TableDto;
-import at.tuwien.api.database.table.columns.ColumnDto;
-import at.tuwien.api.identifier.IdentifierBriefDto;
-import at.tuwien.api.identifier.IdentifierDto;
-import at.tuwien.api.keycloak.TokenDto;
-import at.tuwien.api.user.UserBriefDto;
-import at.tuwien.api.user.UserDto;
+import at.ac.tuwien.ifs.dbrepo.api.container.ContainerDto;
+import at.ac.tuwien.ifs.dbrepo.api.container.image.ImageDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.DatabaseBriefDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.DatabaseDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.ViewColumnDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.ViewDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.internal.CreateDatabaseDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.query.QueryDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.TableBriefDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.TableDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.columns.ColumnDto;
+import at.ac.tuwien.ifs.dbrepo.api.identifier.IdentifierBriefDto;
+import at.ac.tuwien.ifs.dbrepo.api.identifier.IdentifierDto;
+import at.ac.tuwien.ifs.dbrepo.api.keycloak.TokenDto;
+import at.ac.tuwien.ifs.dbrepo.api.user.UserBriefDto;
+import at.ac.tuwien.ifs.dbrepo.api.user.UserDto;
 import org.keycloak.representations.AccessTokenResponse;
 import org.mapstruct.Mapper;
 import org.mapstruct.Mapping;
diff --git a/dbrepo-data-service/services/src/main/java/at/tuwien/service/AccessService.java b/dbrepo-data-service/services/src/main/java/at/tuwien/service/AccessService.java
index c42fc28101..1abee15a64 100644
--- a/dbrepo-data-service/services/src/main/java/at/tuwien/service/AccessService.java
+++ b/dbrepo-data-service/services/src/main/java/at/tuwien/service/AccessService.java
@@ -1,9 +1,9 @@
 package at.tuwien.service;
 
-import at.tuwien.api.database.AccessTypeDto;
-import at.tuwien.api.database.DatabaseDto;
-import at.tuwien.api.user.UserDto;
-import at.tuwien.exception.DatabaseMalformedException;
+import at.ac.tuwien.ifs.dbrepo.api.database.AccessTypeDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.DatabaseDto;
+import at.ac.tuwien.ifs.dbrepo.api.user.UserDto;
+import at.ac.tuwien.ifs.dbrepo.exception.DatabaseMalformedException;
 
 import java.sql.SQLException;
 
diff --git a/dbrepo-data-service/services/src/main/java/at/tuwien/service/CacheService.java b/dbrepo-data-service/services/src/main/java/at/tuwien/service/CacheService.java
index e91c7407e8..5f5de380ba 100644
--- a/dbrepo-data-service/services/src/main/java/at/tuwien/service/CacheService.java
+++ b/dbrepo-data-service/services/src/main/java/at/tuwien/service/CacheService.java
@@ -1,13 +1,13 @@
 package at.tuwien.service;
 
-import at.tuwien.api.container.ContainerDto;
-import at.tuwien.api.database.DatabaseAccessDto;
-import at.tuwien.api.database.DatabaseDto;
-import at.tuwien.api.database.ViewDto;
-import at.tuwien.api.database.table.TableDto;
-import at.tuwien.api.database.table.TableStatisticDto;
-import at.tuwien.api.user.UserDto;
-import at.tuwien.exception.*;
+import at.ac.tuwien.ifs.dbrepo.api.container.ContainerDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.DatabaseAccessDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.DatabaseDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.ViewDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.TableDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.TableStatisticDto;
+import at.ac.tuwien.ifs.dbrepo.api.user.UserDto;
+import at.ac.tuwien.ifs.dbrepo.exception.*;
 
 import java.sql.SQLException;
 import java.util.UUID;
diff --git a/dbrepo-data-service/services/src/main/java/at/tuwien/service/ContainerService.java b/dbrepo-data-service/services/src/main/java/at/tuwien/service/ContainerService.java
index 4f9e92ed78..68f953ce9a 100644
--- a/dbrepo-data-service/services/src/main/java/at/tuwien/service/ContainerService.java
+++ b/dbrepo-data-service/services/src/main/java/at/tuwien/service/ContainerService.java
@@ -1,10 +1,10 @@
 package at.tuwien.service;
 
-import at.tuwien.api.container.ContainerDto;
-import at.tuwien.api.database.DatabaseDto;
-import at.tuwien.api.database.internal.CreateDatabaseDto;
-import at.tuwien.exception.DatabaseMalformedException;
-import at.tuwien.exception.QueryStoreCreateException;
+import at.ac.tuwien.ifs.dbrepo.api.container.ContainerDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.DatabaseDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.internal.CreateDatabaseDto;
+import at.ac.tuwien.ifs.dbrepo.exception.DatabaseMalformedException;
+import at.ac.tuwien.ifs.dbrepo.exception.QueryStoreCreateException;
 
 import java.sql.SQLException;
 
diff --git a/dbrepo-data-service/services/src/main/java/at/tuwien/service/CredentialService.java b/dbrepo-data-service/services/src/main/java/at/tuwien/service/CredentialService.java
index b1c28cf170..469db41a02 100644
--- a/dbrepo-data-service/services/src/main/java/at/tuwien/service/CredentialService.java
+++ b/dbrepo-data-service/services/src/main/java/at/tuwien/service/CredentialService.java
@@ -1,6 +1,6 @@
 package at.tuwien.service;
 
-import at.tuwien.api.keycloak.TokenDto;
+import at.ac.tuwien.ifs.dbrepo.api.keycloak.TokenDto;
 
 public interface CredentialService {
 
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 8f07b6bfb2..31bfc1dbbe 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,11 +1,11 @@
 package at.tuwien.service;
 
-import at.tuwien.api.database.DatabaseDto;
-import at.tuwien.api.database.ViewDto;
-import at.tuwien.api.database.table.TableDto;
-import at.tuwien.api.database.table.internal.TableCreateDto;
-import at.tuwien.api.user.internal.UpdateUserPasswordDto;
-import at.tuwien.exception.*;
+import at.ac.tuwien.ifs.dbrepo.api.database.DatabaseDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.ViewDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.TableDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.internal.TableCreateDto;
+import at.ac.tuwien.ifs.dbrepo.api.user.internal.UpdateUserPasswordDto;
+import at.ac.tuwien.ifs.dbrepo.exception.*;
 
 import java.sql.SQLException;
 import java.util.List;
diff --git a/dbrepo-data-service/services/src/main/java/at/tuwien/service/QueueService.java b/dbrepo-data-service/services/src/main/java/at/tuwien/service/QueueService.java
index 1e8ba52923..bfbe27066f 100644
--- a/dbrepo-data-service/services/src/main/java/at/tuwien/service/QueueService.java
+++ b/dbrepo-data-service/services/src/main/java/at/tuwien/service/QueueService.java
@@ -1,7 +1,7 @@
 package at.tuwien.service;
 
-import at.tuwien.api.database.DatabaseDto;
-import at.tuwien.api.database.table.TableDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.DatabaseDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.TableDto;
 
 import java.sql.SQLException;
 import java.util.Map;
diff --git a/dbrepo-data-service/services/src/main/java/at/tuwien/service/StorageService.java b/dbrepo-data-service/services/src/main/java/at/tuwien/service/StorageService.java
index 7ba3f93e71..062d008257 100644
--- a/dbrepo-data-service/services/src/main/java/at/tuwien/service/StorageService.java
+++ b/dbrepo-data-service/services/src/main/java/at/tuwien/service/StorageService.java
@@ -1,10 +1,10 @@
 package at.tuwien.service;
 
-import at.tuwien.ExportResourceDto;
-import at.tuwien.exception.MalformedException;
-import at.tuwien.exception.StorageNotFoundException;
-import at.tuwien.exception.StorageUnavailableException;
-import at.tuwien.exception.TableMalformedException;
+import at.ac.tuwien.ifs.dbrepo.api.ExportResourceDto;
+import at.ac.tuwien.ifs.dbrepo.exception.MalformedException;
+import at.ac.tuwien.ifs.dbrepo.exception.StorageNotFoundException;
+import at.ac.tuwien.ifs.dbrepo.exception.StorageUnavailableException;
+import at.ac.tuwien.ifs.dbrepo.exception.TableMalformedException;
 import org.apache.spark.sql.Dataset;
 import org.apache.spark.sql.Row;
 
diff --git a/dbrepo-data-service/services/src/main/java/at/tuwien/service/SubsetService.java b/dbrepo-data-service/services/src/main/java/at/tuwien/service/SubsetService.java
index 30d4baca5c..9e15373ee3 100644
--- a/dbrepo-data-service/services/src/main/java/at/tuwien/service/SubsetService.java
+++ b/dbrepo-data-service/services/src/main/java/at/tuwien/service/SubsetService.java
@@ -1,9 +1,9 @@
 package at.tuwien.service;
 
-import at.tuwien.api.database.DatabaseDto;
-import at.tuwien.api.database.query.QueryDto;
-import at.tuwien.api.database.query.SubsetDto;
-import at.tuwien.exception.*;
+import at.ac.tuwien.ifs.dbrepo.api.database.DatabaseDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.query.QueryDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.query.SubsetDto;
+import at.ac.tuwien.ifs.dbrepo.exception.*;
 import org.apache.spark.sql.Dataset;
 import org.apache.spark.sql.Row;
 
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 ebeb68d462..9d6e1b98fb 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
@@ -1,9 +1,9 @@
 package at.tuwien.service;
 
-import at.tuwien.api.database.DatabaseDto;
-import at.tuwien.api.database.query.ImportDto;
-import at.tuwien.api.database.table.*;
-import at.tuwien.exception.*;
+import at.ac.tuwien.ifs.dbrepo.api.database.DatabaseDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.query.ImportDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.*;
+import at.ac.tuwien.ifs.dbrepo.exception.*;
 
 import java.sql.SQLException;
 import java.time.Instant;
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 7f64f72ebe..d0a885c7e1 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
@@ -1,9 +1,9 @@
 package at.tuwien.service;
 
-import at.tuwien.api.database.DatabaseDto;
-import at.tuwien.api.database.ViewDto;
-import at.tuwien.exception.QueryMalformedException;
-import at.tuwien.exception.ViewMalformedException;
+import at.ac.tuwien.ifs.dbrepo.api.database.DatabaseDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.ViewDto;
+import at.ac.tuwien.ifs.dbrepo.exception.QueryMalformedException;
+import at.ac.tuwien.ifs.dbrepo.exception.ViewMalformedException;
 
 import java.sql.SQLException;
 import java.time.Instant;
diff --git a/dbrepo-data-service/services/src/main/java/at/tuwien/service/impl/AccessServiceMariaDbImpl.java b/dbrepo-data-service/services/src/main/java/at/tuwien/service/impl/AccessServiceMariaDbImpl.java
index fb47a158f3..d7b303499d 100644
--- a/dbrepo-data-service/services/src/main/java/at/tuwien/service/impl/AccessServiceMariaDbImpl.java
+++ b/dbrepo-data-service/services/src/main/java/at/tuwien/service/impl/AccessServiceMariaDbImpl.java
@@ -1,9 +1,9 @@
 package at.tuwien.service.impl;
 
-import at.tuwien.api.database.AccessTypeDto;
-import at.tuwien.api.database.DatabaseDto;
-import at.tuwien.api.user.UserDto;
-import at.tuwien.exception.DatabaseMalformedException;
+import at.ac.tuwien.ifs.dbrepo.api.database.AccessTypeDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.DatabaseDto;
+import at.ac.tuwien.ifs.dbrepo.api.user.UserDto;
+import at.ac.tuwien.ifs.dbrepo.exception.DatabaseMalformedException;
 import at.tuwien.mapper.MariaDbMapper;
 import at.tuwien.service.AccessService;
 import com.mchange.v2.c3p0.ComboPooledDataSource;
diff --git a/dbrepo-data-service/services/src/main/java/at/tuwien/service/impl/CacheServiceImpl.java b/dbrepo-data-service/services/src/main/java/at/tuwien/service/impl/CacheServiceImpl.java
index 018ccba14a..67fd442e77 100644
--- a/dbrepo-data-service/services/src/main/java/at/tuwien/service/impl/CacheServiceImpl.java
+++ b/dbrepo-data-service/services/src/main/java/at/tuwien/service/impl/CacheServiceImpl.java
@@ -1,13 +1,13 @@
 package at.tuwien.service.impl;
 
-import at.tuwien.api.container.ContainerDto;
-import at.tuwien.api.database.DatabaseAccessDto;
-import at.tuwien.api.database.DatabaseDto;
-import at.tuwien.api.database.ViewDto;
-import at.tuwien.api.database.table.TableDto;
-import at.tuwien.api.database.table.TableStatisticDto;
-import at.tuwien.api.user.UserDto;
-import at.tuwien.exception.*;
+import at.ac.tuwien.ifs.dbrepo.api.container.ContainerDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.DatabaseAccessDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.DatabaseDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.ViewDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.TableDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.TableStatisticDto;
+import at.ac.tuwien.ifs.dbrepo.api.user.UserDto;
+import at.ac.tuwien.ifs.dbrepo.exception.*;
 import at.tuwien.gateway.MetadataServiceGateway;
 import at.tuwien.service.CacheService;
 import at.tuwien.service.TableService;
diff --git a/dbrepo-data-service/services/src/main/java/at/tuwien/service/impl/ContainerServiceMariaDbImpl.java b/dbrepo-data-service/services/src/main/java/at/tuwien/service/impl/ContainerServiceMariaDbImpl.java
index 9e35574d8d..1fff245fd4 100644
--- a/dbrepo-data-service/services/src/main/java/at/tuwien/service/impl/ContainerServiceMariaDbImpl.java
+++ b/dbrepo-data-service/services/src/main/java/at/tuwien/service/impl/ContainerServiceMariaDbImpl.java
@@ -1,12 +1,12 @@
 package at.tuwien.service.impl;
 
-import at.tuwien.api.container.ContainerDto;
-import at.tuwien.api.database.DatabaseDto;
-import at.tuwien.api.database.internal.CreateDatabaseDto;
-import at.tuwien.api.user.UserBriefDto;
+import at.ac.tuwien.ifs.dbrepo.api.container.ContainerDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.DatabaseDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.internal.CreateDatabaseDto;
+import at.ac.tuwien.ifs.dbrepo.api.user.UserBriefDto;
 import at.tuwien.config.RabbitConfig;
-import at.tuwien.exception.DatabaseMalformedException;
-import at.tuwien.exception.QueryStoreCreateException;
+import at.ac.tuwien.ifs.dbrepo.exception.DatabaseMalformedException;
+import at.ac.tuwien.ifs.dbrepo.exception.QueryStoreCreateException;
 import at.tuwien.mapper.MariaDbMapper;
 import at.tuwien.service.ContainerService;
 import com.mchange.v2.c3p0.ComboPooledDataSource;
diff --git a/dbrepo-data-service/services/src/main/java/at/tuwien/service/impl/CredentialServiceImpl.java b/dbrepo-data-service/services/src/main/java/at/tuwien/service/impl/CredentialServiceImpl.java
index 9bcde3cf32..8e24497cb8 100644
--- a/dbrepo-data-service/services/src/main/java/at/tuwien/service/impl/CredentialServiceImpl.java
+++ b/dbrepo-data-service/services/src/main/java/at/tuwien/service/impl/CredentialServiceImpl.java
@@ -1,6 +1,6 @@
 package at.tuwien.service.impl;
 
-import at.tuwien.api.keycloak.TokenDto;
+import at.ac.tuwien.ifs.dbrepo.api.keycloak.TokenDto;
 import at.tuwien.gateway.KeycloakGateway;
 import at.tuwien.service.CredentialService;
 import com.github.benmanes.caffeine.cache.Cache;
diff --git a/dbrepo-data-service/services/src/main/java/at/tuwien/service/impl/DataConnector.java b/dbrepo-data-service/services/src/main/java/at/tuwien/service/impl/DataConnector.java
index 6e6e316b5a..a29e471f0f 100644
--- a/dbrepo-data-service/services/src/main/java/at/tuwien/service/impl/DataConnector.java
+++ b/dbrepo-data-service/services/src/main/java/at/tuwien/service/impl/DataConnector.java
@@ -1,7 +1,7 @@
 package at.tuwien.service.impl;
 
-import at.tuwien.api.container.ContainerDto;
-import at.tuwien.api.database.DatabaseDto;
+import at.ac.tuwien.ifs.dbrepo.api.container.ContainerDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.DatabaseDto;
 import com.mchange.v2.c3p0.ComboPooledDataSource;
 import lombok.extern.log4j.Log4j2;
 import org.springframework.stereotype.Service;
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 64545fd5e7..55dc137c96 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,12 +1,12 @@
 package at.tuwien.service.impl;
 
-import at.tuwien.api.database.DatabaseDto;
-import at.tuwien.api.database.ViewDto;
-import at.tuwien.api.database.table.TableDto;
-import at.tuwien.api.database.table.constraints.unique.UniqueDto;
-import at.tuwien.api.database.table.internal.TableCreateDto;
-import at.tuwien.api.user.internal.UpdateUserPasswordDto;
-import at.tuwien.exception.*;
+import at.ac.tuwien.ifs.dbrepo.api.database.DatabaseDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.ViewDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.TableDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.constraints.unique.UniqueDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.internal.TableCreateDto;
+import at.ac.tuwien.ifs.dbrepo.api.user.internal.UpdateUserPasswordDto;
+import at.ac.tuwien.ifs.dbrepo.exception.*;
 import at.tuwien.mapper.DataMapper;
 import at.tuwien.mapper.MariaDbMapper;
 import at.tuwien.mapper.MetadataMapper;
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 07b889d536..80cf993767 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
@@ -1,8 +1,8 @@
 package at.tuwien.service.impl;
 
-import at.tuwien.api.database.DatabaseDto;
-import at.tuwien.api.database.table.TableDto;
-import at.tuwien.api.database.table.columns.ColumnDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.DatabaseDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.TableDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.columns.ColumnDto;
 import at.tuwien.mapper.DataMapper;
 import at.tuwien.mapper.MetadataMapper;
 import at.tuwien.service.QueueService;
diff --git a/dbrepo-data-service/services/src/main/java/at/tuwien/service/impl/StorageServiceS3Impl.java b/dbrepo-data-service/services/src/main/java/at/tuwien/service/impl/StorageServiceS3Impl.java
index 2d421ed0f3..db3ff4fd26 100644
--- a/dbrepo-data-service/services/src/main/java/at/tuwien/service/impl/StorageServiceS3Impl.java
+++ b/dbrepo-data-service/services/src/main/java/at/tuwien/service/impl/StorageServiceS3Impl.java
@@ -1,11 +1,11 @@
 package at.tuwien.service.impl;
 
-import at.tuwien.ExportResourceDto;
+import at.ac.tuwien.ifs.dbrepo.api.ExportResourceDto;
 import at.tuwien.config.S3Config;
-import at.tuwien.exception.MalformedException;
-import at.tuwien.exception.StorageNotFoundException;
-import at.tuwien.exception.StorageUnavailableException;
-import at.tuwien.exception.TableMalformedException;
+import at.ac.tuwien.ifs.dbrepo.exception.MalformedException;
+import at.ac.tuwien.ifs.dbrepo.exception.StorageNotFoundException;
+import at.ac.tuwien.ifs.dbrepo.exception.StorageUnavailableException;
+import at.ac.tuwien.ifs.dbrepo.exception.TableMalformedException;
 import at.tuwien.service.StorageService;
 import lombok.extern.log4j.Log4j2;
 import org.apache.commons.lang3.RandomStringUtils;
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 274654db63..8b3a486bff 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
@@ -1,11 +1,11 @@
 package at.tuwien.service.impl;
 
-import at.tuwien.api.database.DatabaseDto;
-import at.tuwien.api.database.query.QueryDto;
-import at.tuwien.api.database.query.SubsetDto;
-import at.tuwien.api.identifier.IdentifierBriefDto;
-import at.tuwien.api.identifier.IdentifierTypeDto;
-import at.tuwien.exception.*;
+import at.ac.tuwien.ifs.dbrepo.api.database.DatabaseDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.query.QueryDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.query.SubsetDto;
+import at.ac.tuwien.ifs.dbrepo.api.identifier.IdentifierBriefDto;
+import at.ac.tuwien.ifs.dbrepo.api.identifier.IdentifierTypeDto;
+import at.ac.tuwien.ifs.dbrepo.exception.*;
 import at.tuwien.gateway.MetadataServiceGateway;
 import at.tuwien.mapper.DataMapper;
 import at.tuwien.mapper.MariaDbMapper;
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 29c9ab1a64..75dd74dfa7 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
@@ -1,12 +1,12 @@
 package at.tuwien.service.impl;
 
-import at.tuwien.api.database.DatabaseDto;
-import at.tuwien.api.database.query.ImportDto;
-import at.tuwien.api.database.table.*;
-import at.tuwien.api.database.table.columns.ColumnDto;
-import at.tuwien.api.database.table.columns.ColumnStatisticDto;
-import at.tuwien.api.database.table.columns.ColumnTypeDto;
-import at.tuwien.exception.*;
+import at.ac.tuwien.ifs.dbrepo.api.database.DatabaseDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.query.ImportDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.*;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.columns.ColumnDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.columns.ColumnStatisticDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.columns.ColumnTypeDto;
+import at.ac.tuwien.ifs.dbrepo.exception.*;
 import at.tuwien.mapper.DataMapper;
 import at.tuwien.mapper.MariaDbMapper;
 import at.tuwien.service.DatabaseService;
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 c1ba33ae4a..652f1c6d6c 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
@@ -1,9 +1,9 @@
 package at.tuwien.service.impl;
 
-import at.tuwien.api.database.DatabaseDto;
-import at.tuwien.api.database.ViewDto;
-import at.tuwien.exception.QueryMalformedException;
-import at.tuwien.exception.ViewMalformedException;
+import at.ac.tuwien.ifs.dbrepo.api.database.DatabaseDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.ViewDto;
+import at.ac.tuwien.ifs.dbrepo.exception.QueryMalformedException;
+import at.ac.tuwien.ifs.dbrepo.exception.ViewMalformedException;
 import at.tuwien.mapper.MariaDbMapper;
 import at.tuwien.service.ViewService;
 import com.mchange.v2.c3p0.ComboPooledDataSource;
diff --git a/dbrepo-data-service/services/src/main/java/at/tuwien/utils/MariaDbUtil.java b/dbrepo-data-service/services/src/main/java/at/tuwien/utils/MariaDbUtil.java
index a917be6d46..1ec5b98968 100644
--- a/dbrepo-data-service/services/src/main/java/at/tuwien/utils/MariaDbUtil.java
+++ b/dbrepo-data-service/services/src/main/java/at/tuwien/utils/MariaDbUtil.java
@@ -1,6 +1,6 @@
 package at.tuwien.utils;
 
-import at.tuwien.api.database.table.columns.ColumnTypeDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.columns.ColumnTypeDto;
 
 import java.util.List;
 
diff --git a/dbrepo-metadata-service/api/pom.xml b/dbrepo-metadata-service/api/pom.xml
deleted file mode 100644
index be32a6d638..0000000000
--- a/dbrepo-metadata-service/api/pom.xml
+++ /dev/null
@@ -1,45 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0"
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-    <modelVersion>4.0.0</modelVersion>
-    <parent>
-        <groupId>at.tuwien</groupId>
-        <artifactId>dbrepo-metadata-service</artifactId>
-        <version>1.8.0</version>
-    </parent>
-
-    <artifactId>dbrepo-metadata-service-api</artifactId>
-    <name>dbrepo-metadata-service-api</name>
-    <version>1.8.0</version>
-
-    <dependencies>
-        <dependency>
-            <groupId>at.tuwien</groupId>
-            <artifactId>dbrepo-metadata-service-entities</artifactId>
-            <version>1.8.0</version>
-            <scope>compile</scope>
-        </dependency>
-    </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/api/src/main/java/at/tuwien/api/orcid/activities/employments/affiliation/group/summary/organization/disambiguated/OrcidDisambiguatedSourceTypeDto.java b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/orcid/activities/employments/affiliation/group/summary/organization/disambiguated/OrcidDisambiguatedSourceTypeDto.java
deleted file mode 100644
index f883a034f5..0000000000
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/orcid/activities/employments/affiliation/group/summary/organization/disambiguated/OrcidDisambiguatedSourceTypeDto.java
+++ /dev/null
@@ -1,6 +0,0 @@
-package at.tuwien.api.orcid.activities.employments.affiliation.group.summary.organization.disambiguated;
-
-public enum OrcidDisambiguatedSourceTypeDto {
-    RINGGOLD,
-    ROR
-}
diff --git a/dbrepo-metadata-service/entities/pom.xml b/dbrepo-metadata-service/entities/pom.xml
deleted file mode 100644
index 812bd232e5..0000000000
--- a/dbrepo-metadata-service/entities/pom.xml
+++ /dev/null
@@ -1,38 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0"
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-    <modelVersion>4.0.0</modelVersion>
-    <parent>
-        <groupId>at.tuwien</groupId>
-        <artifactId>dbrepo-metadata-service</artifactId>
-        <version>1.8.0</version>
-    </parent>
-
-    <artifactId>dbrepo-metadata-service-entities</artifactId>
-    <name>dbrepo-metadata-service-entity</name>
-    <version>1.8.0</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 a83f372cf5..7e140e4bd4 100644
--- a/dbrepo-metadata-service/pom.xml
+++ b/dbrepo-metadata-service/pom.xml
@@ -22,17 +22,14 @@
 
     <packaging>pom</packaging>
     <modules>
-        <module>api</module>
-        <module>entities</module>
         <module>oai</module>
-        <module>test</module>
         <module>repositories</module>
         <module>services</module>
         <module>rest-service</module>
         <module>report</module>
     </modules>
 
-    <url>https://www.ifs.tuwien.ac.at/infrastructures/dbrepo/1.7/</url>
+    <url>https://www.ifs.tuwien.ac.at/infrastructures/dbrepo/1.8/</url>
     <developers>
         <developer>
             <name>Martin Weise</name>
@@ -43,10 +40,8 @@
 
     <properties>
         <java.version>17</java.version>
-        <spring-cloud.version>4.1.4</spring-cloud.version>
         <mapstruct.version>1.5.5.Final</mapstruct.version>
         <rabbitmq.version>5.20.0</rabbitmq.version>
-        <jackson-datatype.version>2.15.0</jackson-datatype.version>
         <commons-io.version>2.17.0</commons-io.version>
         <commons-validator.version>1.8.0</commons-validator.version>
         <guava.version>33.0.0-jre</guava.version>
@@ -58,7 +53,6 @@
         <opencsv.version>5.7.1</opencsv.version>
         <super-csv.version>2.4.0</super-csv.version>
         <keycloak.version>26.0.4</keycloak.version>
-        <springdoc-openapi.version>2.3.0</springdoc-openapi.version>
         <testcontainers.version>1.19.1</testcontainers.version>
         <jackson.version>2.15.2</jackson.version>
         <keycloak-testcontainer.version>3.2.0</keycloak-testcontainer.version>
@@ -73,44 +67,9 @@
 
     <dependencies>
         <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-validation</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-web</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-security</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.security</groupId>
-            <artifactId>spring-security-test</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.cloud</groupId>
-            <artifactId>spring-cloud-starter-bootstrap</artifactId>
-            <version>${spring-cloud.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-thymeleaf</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-data-jpa</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-actuator</artifactId>
-        </dependency>
-        <!-- Open API -->
-        <dependency>
-            <groupId>org.springdoc</groupId>
-            <artifactId>springdoc-openapi-starter-webmvc-api</artifactId>
-            <version>${springdoc-openapi.version}</version>
+            <groupId>at.ac.tuwien.ifs.dbrepo</groupId>
+            <artifactId>dbrepo-core</artifactId>
+            <version>1.8.0</version>
         </dependency>
         <!-- Data Source -->
         <dependency>
@@ -150,12 +109,6 @@
             <version>${micrometer.version}</version>
             <scope>test</scope>
         </dependency>
-        <!-- IDE -->
-        <dependency>
-            <groupId>org.projectlombok</groupId>
-            <artifactId>lombok</artifactId>
-            <scope>compile</scope>
-        </dependency>
         <!-- Mapping -->
         <dependency>
             <groupId>org.mapstruct</groupId>
@@ -168,11 +121,6 @@
             <artifactId>mapstruct</artifactId>
             <version>${mapstruct.version}</version>
         </dependency>
-        <dependency>
-            <groupId>com.fasterxml.jackson.datatype</groupId>
-            <artifactId>jackson-datatype-jsr310</artifactId>
-            <version>${jackson-datatype.version}</version>
-        </dependency>
         <dependency>
             <groupId>commons-io</groupId>
             <artifactId>commons-io</artifactId>
@@ -183,11 +131,6 @@
             <artifactId>commons-validator</artifactId>
             <version>${commons-validator.version}</version>
         </dependency>
-        <dependency>
-            <groupId>com.fasterxml.jackson.datatype</groupId>
-            <artifactId>jackson-datatype-hibernate6</artifactId>
-            <version>${jackson-datatype.version}</version>
-        </dependency>
         <!-- Authentication -->
         <dependency>
             <groupId>org.keycloak</groupId>
@@ -236,6 +179,11 @@
             <groupId>org.springframework</groupId>
             <artifactId>spring-test</artifactId>
         </dependency>
+        <dependency>
+            <groupId>org.springframework.security</groupId>
+            <artifactId>spring-security-test</artifactId>
+            <scope>test</scope>
+        </dependency>
         <dependency>
             <groupId>org.springframework.boot</groupId>
             <artifactId>spring-boot-starter-test</artifactId>
diff --git a/dbrepo-metadata-service/repositories/pom.xml b/dbrepo-metadata-service/repositories/pom.xml
index 00094bdcb1..f7759c5757 100644
--- a/dbrepo-metadata-service/repositories/pom.xml
+++ b/dbrepo-metadata-service/repositories/pom.xml
@@ -15,8 +15,8 @@
 
     <dependencies>
         <dependency>
-            <groupId>at.tuwien</groupId>
-            <artifactId>dbrepo-metadata-service-api</artifactId>
+            <groupId>at.ac.tuwien.ifs.dbrepo</groupId>
+            <artifactId>dbrepo-core</artifactId>
             <version>${project.version}</version>
         </dependency>
         <dependency>
@@ -24,11 +24,7 @@
             <artifactId>dbrepo-metadata-service-oai</artifactId>
             <version>${project.version}</version>
         </dependency>
-        <dependency>
-            <groupId>at.tuwien</groupId>
-            <artifactId>dbrepo-metadata-service-entities</artifactId>
-            <version>${project.version}</version>
-        </dependency>
+
     </dependencies>
 
     <build>
diff --git a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/mapper/MetadataMapper.java b/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/mapper/MetadataMapper.java
index 1a8cb5209c..87dfb2765e 100644
--- a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/mapper/MetadataMapper.java
+++ b/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/mapper/MetadataMapper.java
@@ -1,78 +1,78 @@
 package at.tuwien.mapper;
 
-import at.tuwien.api.container.ContainerBriefDto;
-import at.tuwien.api.container.ContainerDto;
-import at.tuwien.api.container.CreateContainerDto;
-import at.tuwien.api.container.image.DataTypeDto;
-import at.tuwien.api.container.image.ImageBriefDto;
-import at.tuwien.api.container.image.ImageCreateDto;
-import at.tuwien.api.container.image.ImageDto;
-import at.tuwien.api.crossref.CrossrefDto;
-import at.tuwien.api.database.*;
-import at.tuwien.api.database.table.TableBriefDto;
-import at.tuwien.api.database.table.TableDto;
-import at.tuwien.api.database.table.columns.ColumnBriefDto;
-import at.tuwien.api.database.table.columns.ColumnDto;
-import at.tuwien.api.database.table.columns.CreateTableColumnDto;
-import at.tuwien.api.database.table.columns.concepts.ConceptDto;
-import at.tuwien.api.database.table.columns.concepts.ConceptSaveDto;
-import at.tuwien.api.database.table.columns.concepts.UnitDto;
-import at.tuwien.api.database.table.columns.concepts.UnitSaveDto;
-import at.tuwien.api.database.table.constraints.ConstraintsDto;
-import at.tuwien.api.database.table.constraints.CreateTableConstraintsDto;
-import at.tuwien.api.database.table.constraints.foreign.ForeignKeyBriefDto;
-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.datacite.doi.*;
-import at.tuwien.api.grafana.CreateDashboardDto;
-import at.tuwien.api.grafana.PermissionTypeDto;
-import at.tuwien.api.identifier.*;
-import at.tuwien.api.identifier.ld.LdCreatorDto;
-import at.tuwien.api.identifier.ld.LdDatasetDto;
-import at.tuwien.api.keycloak.TokenDto;
-import at.tuwien.api.keycloak.UserCreateDto;
-import at.tuwien.api.maintenance.BannerMessageBriefDto;
-import at.tuwien.api.maintenance.BannerMessageCreateDto;
-import at.tuwien.api.maintenance.BannerMessageDto;
-import at.tuwien.api.maintenance.BannerMessageTypeDto;
-import at.tuwien.api.orcid.OrcidDto;
-import at.tuwien.api.orcid.activities.employments.affiliation.OrcidAffiliationGroupDto;
-import at.tuwien.api.orcid.activities.employments.affiliation.group.OrcidEmploymentSummaryDto;
-import at.tuwien.api.orcid.activities.employments.affiliation.group.summary.organization.disambiguated.OrcidDisambiguatedDto;
-import at.tuwien.api.orcid.activities.employments.affiliation.group.summary.organization.disambiguated.OrcidDisambiguatedSourceTypeDto;
-import at.tuwien.api.ror.RorDto;
-import at.tuwien.api.semantics.EntityDto;
-import at.tuwien.api.semantics.OntologyBriefDto;
-import at.tuwien.api.semantics.OntologyCreateDto;
-import at.tuwien.api.semantics.OntologyDto;
-import at.tuwien.api.user.UserBriefDto;
-import at.tuwien.api.user.UserDto;
-import at.tuwien.api.user.UserUpdateDto;
-import at.tuwien.api.user.external.ExternalMetadataDto;
-import at.tuwien.api.user.external.ExternalResultType;
-import at.tuwien.api.user.external.affiliation.ExternalAffiliationDto;
-import at.tuwien.entities.container.Container;
-import at.tuwien.entities.container.image.ContainerImage;
-import at.tuwien.entities.container.image.DataType;
-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.columns.TableColumnConcept;
-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.ac.tuwien.ifs.dbrepo.api.container.ContainerBriefDto;
+import at.ac.tuwien.ifs.dbrepo.api.container.ContainerDto;
+import at.ac.tuwien.ifs.dbrepo.api.container.CreateContainerDto;
+import at.ac.tuwien.ifs.dbrepo.api.container.image.DataTypeDto;
+import at.ac.tuwien.ifs.dbrepo.api.container.image.ImageBriefDto;
+import at.ac.tuwien.ifs.dbrepo.api.container.image.ImageCreateDto;
+import at.ac.tuwien.ifs.dbrepo.api.container.image.ImageDto;
+import at.ac.tuwien.ifs.dbrepo.api.crossref.CrossrefDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.*;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.TableBriefDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.TableDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.columns.ColumnBriefDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.columns.ColumnDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.columns.CreateTableColumnDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.columns.concepts.ConceptDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.columns.concepts.ConceptSaveDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.columns.concepts.UnitDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.columns.concepts.UnitSaveDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.constraints.ConstraintsDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.constraints.CreateTableConstraintsDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.constraints.foreign.ForeignKeyBriefDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.constraints.foreign.ForeignKeyDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.constraints.foreign.ForeignKeyReferenceDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.constraints.foreign.ReferenceTypeDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.constraints.primary.PrimaryKeyDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.constraints.unique.UniqueDto;
+import at.ac.tuwien.ifs.dbrepo.api.datacite.doi.*;
+import at.ac.tuwien.ifs.dbrepo.api.grafana.CreateDashboardDto;
+import at.ac.tuwien.ifs.dbrepo.api.grafana.PermissionTypeDto;
+import at.ac.tuwien.ifs.dbrepo.api.identifier.*;
+import at.ac.tuwien.ifs.dbrepo.api.identifier.ld.LdCreatorDto;
+import at.ac.tuwien.ifs.dbrepo.api.identifier.ld.LdDatasetDto;
+import at.ac.tuwien.ifs.dbrepo.api.keycloak.TokenDto;
+import at.ac.tuwien.ifs.dbrepo.api.keycloak.UserCreateDto;
+import at.ac.tuwien.ifs.dbrepo.api.maintenance.BannerMessageBriefDto;
+import at.ac.tuwien.ifs.dbrepo.api.maintenance.BannerMessageCreateDto;
+import at.ac.tuwien.ifs.dbrepo.api.maintenance.BannerMessageDto;
+import at.ac.tuwien.ifs.dbrepo.api.maintenance.BannerMessageTypeDto;
+import at.ac.tuwien.ifs.dbrepo.api.orcid.OrcidDto;
+import at.ac.tuwien.ifs.dbrepo.api.orcid.activities.employments.affiliation.OrcidAffiliationGroupDto;
+import at.ac.tuwien.ifs.dbrepo.api.orcid.activities.employments.affiliation.group.OrcidEmploymentSummaryDto;
+import at.ac.tuwien.ifs.dbrepo.api.orcid.activities.employments.affiliation.group.summary.organization.disambiguated.OrcidDisambiguatedDto;
+import at.ac.tuwien.ifs.dbrepo.api.orcid.activities.employments.affiliation.group.summary.organization.disambiguated.OrcidDisambiguatedSourceTypeDto;
+import at.ac.tuwien.ifs.dbrepo.api.ror.RorDto;
+import at.ac.tuwien.ifs.dbrepo.api.semantics.EntityDto;
+import at.ac.tuwien.ifs.dbrepo.api.semantics.OntologyBriefDto;
+import at.ac.tuwien.ifs.dbrepo.api.semantics.OntologyCreateDto;
+import at.ac.tuwien.ifs.dbrepo.api.semantics.OntologyDto;
+import at.ac.tuwien.ifs.dbrepo.api.user.UserBriefDto;
+import at.ac.tuwien.ifs.dbrepo.api.user.UserDto;
+import at.ac.tuwien.ifs.dbrepo.api.user.UserUpdateDto;
+import at.ac.tuwien.ifs.dbrepo.api.user.external.ExternalMetadataDto;
+import at.ac.tuwien.ifs.dbrepo.api.user.external.ExternalResultType;
+import at.ac.tuwien.ifs.dbrepo.api.user.external.affiliation.ExternalAffiliationDto;
+import at.ac.tuwien.ifs.dbrepo.entity.container.Container;
+import at.ac.tuwien.ifs.dbrepo.entity.container.image.ContainerImage;
+import at.ac.tuwien.ifs.dbrepo.entity.container.image.DataType;
+import at.ac.tuwien.ifs.dbrepo.entity.database.*;
+import at.ac.tuwien.ifs.dbrepo.entity.database.table.Table;
+import at.ac.tuwien.ifs.dbrepo.entity.database.table.columns.TableColumn;
+import at.ac.tuwien.ifs.dbrepo.entity.database.table.columns.TableColumnConcept;
+import at.ac.tuwien.ifs.dbrepo.entity.database.table.columns.TableColumnUnit;
+import at.ac.tuwien.ifs.dbrepo.entity.database.table.constraints.Constraints;
+import at.ac.tuwien.ifs.dbrepo.entity.database.table.constraints.foreignKey.ForeignKey;
+import at.ac.tuwien.ifs.dbrepo.entity.database.table.constraints.foreignKey.ForeignKeyReference;
+import at.ac.tuwien.ifs.dbrepo.entity.database.table.constraints.foreignKey.ReferenceType;
+import at.ac.tuwien.ifs.dbrepo.entity.database.table.constraints.primaryKey.PrimaryKey;
+import at.ac.tuwien.ifs.dbrepo.entity.database.table.constraints.unique.Unique;
+import at.ac.tuwien.ifs.dbrepo.entity.identifier.*;
+import at.ac.tuwien.ifs.dbrepo.entity.maintenance.BannerMessage;
+import at.ac.tuwien.ifs.dbrepo.entity.maintenance.BannerMessageType;
+import at.ac.tuwien.ifs.dbrepo.entity.semantics.Ontology;
+import at.ac.tuwien.ifs.dbrepo.entity.user.User;
 import org.keycloak.representations.AccessTokenResponse;
 import org.keycloak.representations.idm.UserRepresentation;
 import org.mapstruct.*;
diff --git a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/mapper/SparqlMapper.java b/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/mapper/SparqlMapper.java
index dff867970f..a38ce9ce2d 100644
--- a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/mapper/SparqlMapper.java
+++ b/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/mapper/SparqlMapper.java
@@ -1,6 +1,6 @@
 package at.tuwien.mapper;
 
-import at.tuwien.entities.semantics.Ontology;
+import at.ac.tuwien.ifs.dbrepo.entity.semantics.Ontology;
 import org.mapstruct.Mapper;
 
 import java.util.List;
diff --git a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/repository/BannerMessageRepository.java b/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/repository/BannerMessageRepository.java
index c12dc7b83f..692d367a1b 100644
--- a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/repository/BannerMessageRepository.java
+++ b/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/repository/BannerMessageRepository.java
@@ -1,6 +1,6 @@
 package at.tuwien.repository;
 
-import at.tuwien.entities.maintenance.BannerMessage;
+import at.ac.tuwien.ifs.dbrepo.entity.maintenance.BannerMessage;
 import org.springframework.data.jpa.repository.JpaRepository;
 import org.springframework.stereotype.Repository;
 
diff --git a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/repository/ConceptRepository.java b/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/repository/ConceptRepository.java
index 1e70cfdfb2..bbbe6bb743 100644
--- a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/repository/ConceptRepository.java
+++ b/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/repository/ConceptRepository.java
@@ -1,6 +1,6 @@
 package at.tuwien.repository;
 
-import at.tuwien.entities.database.table.columns.TableColumnConcept;
+import at.ac.tuwien.ifs.dbrepo.entity.database.table.columns.TableColumnConcept;
 import org.springframework.data.jpa.repository.JpaRepository;
 import org.springframework.stereotype.Repository;
 
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 536802cf41..3c19437149 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,6 @@
 package at.tuwien.repository;
 
-import at.tuwien.entities.container.Container;
+import at.ac.tuwien.ifs.dbrepo.entity.container.Container;
 import org.springframework.data.domain.Pageable;
 import org.springframework.data.jpa.repository.JpaRepository;
 import org.springframework.stereotype.Repository;
diff --git a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/repository/DatabaseRepository.java b/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/repository/DatabaseRepository.java
index d984cb3337..38415a7464 100644
--- a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/repository/DatabaseRepository.java
+++ b/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/repository/DatabaseRepository.java
@@ -1,6 +1,6 @@
 package at.tuwien.repository;
 
-import at.tuwien.entities.database.Database;
+import at.ac.tuwien.ifs.dbrepo.entity.database.Database;
 import org.springframework.data.jpa.repository.JpaRepository;
 import org.springframework.stereotype.Repository;
 
diff --git a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/repository/IdentifierRepository.java b/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/repository/IdentifierRepository.java
index 9e49f2aa1c..19143ee222 100644
--- a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/repository/IdentifierRepository.java
+++ b/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/repository/IdentifierRepository.java
@@ -1,6 +1,6 @@
 package at.tuwien.repository;
 
-import at.tuwien.entities.identifier.Identifier;
+import at.ac.tuwien.ifs.dbrepo.entity.identifier.Identifier;
 import org.springframework.data.jpa.repository.JpaRepository;
 import org.springframework.stereotype.Repository;
 
diff --git a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/repository/ImageRepository.java b/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/repository/ImageRepository.java
index 6282ed9040..137eb8f398 100644
--- a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/repository/ImageRepository.java
+++ b/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/repository/ImageRepository.java
@@ -1,6 +1,6 @@
 package at.tuwien.repository;
 
-import at.tuwien.entities.container.image.ContainerImage;
+import at.ac.tuwien.ifs.dbrepo.entity.container.image.ContainerImage;
 import org.springframework.data.jpa.repository.JpaRepository;
 import org.springframework.stereotype.Repository;
 
diff --git a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/repository/LicenseRepository.java b/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/repository/LicenseRepository.java
index f180cdf901..8630253d73 100644
--- a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/repository/LicenseRepository.java
+++ b/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/repository/LicenseRepository.java
@@ -1,6 +1,6 @@
 package at.tuwien.repository;
 
-import at.tuwien.entities.database.License;
+import at.ac.tuwien.ifs.dbrepo.entity.database.License;
 import org.springframework.data.jpa.repository.JpaRepository;
 import org.springframework.stereotype.Repository;
 
diff --git a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/repository/OntologyRepository.java b/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/repository/OntologyRepository.java
index 69b4e204be..9849fd819d 100644
--- a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/repository/OntologyRepository.java
+++ b/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/repository/OntologyRepository.java
@@ -1,6 +1,6 @@
 package at.tuwien.repository;
 
-import at.tuwien.entities.semantics.Ontology;
+import at.ac.tuwien.ifs.dbrepo.entity.semantics.Ontology;
 import org.springframework.data.jpa.repository.JpaRepository;
 import org.springframework.stereotype.Repository;
 
diff --git a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/repository/TableRepository.java b/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/repository/TableRepository.java
index bc126eaa27..0ccacc8b94 100644
--- a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/repository/TableRepository.java
+++ b/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/repository/TableRepository.java
@@ -1,6 +1,6 @@
 package at.tuwien.repository;
 
-import at.tuwien.entities.database.table.Table;
+import at.ac.tuwien.ifs.dbrepo.entity.database.table.Table;
 import org.springframework.data.jpa.repository.JpaRepository;
 import org.springframework.stereotype.Repository;
 
diff --git a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/repository/UnitRepository.java b/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/repository/UnitRepository.java
index 6676410730..ebdea2bc03 100644
--- a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/repository/UnitRepository.java
+++ b/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/repository/UnitRepository.java
@@ -1,6 +1,6 @@
 package at.tuwien.repository;
 
-import at.tuwien.entities.database.table.columns.TableColumnUnit;
+import at.ac.tuwien.ifs.dbrepo.entity.database.table.columns.TableColumnUnit;
 import org.springframework.data.jpa.repository.JpaRepository;
 import org.springframework.stereotype.Repository;
 
diff --git a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/repository/UserRepository.java b/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/repository/UserRepository.java
index 30f2f20c16..c679096285 100644
--- a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/repository/UserRepository.java
+++ b/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/repository/UserRepository.java
@@ -1,6 +1,6 @@
 package at.tuwien.repository;
 
-import at.tuwien.entities.user.User;
+import at.ac.tuwien.ifs.dbrepo.entity.user.User;
 import org.springframework.data.jpa.repository.JpaRepository;
 import org.springframework.stereotype.Repository;
 
diff --git a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/repository/ViewRepository.java b/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/repository/ViewRepository.java
index 50544822e5..1efc118bf7 100644
--- a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/repository/ViewRepository.java
+++ b/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/repository/ViewRepository.java
@@ -1,6 +1,6 @@
 package at.tuwien.repository;
 
-import at.tuwien.entities.database.View;
+import at.ac.tuwien.ifs.dbrepo.entity.database.View;
 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 e8bba2136e..ed5cacbdeb 100644
--- a/dbrepo-metadata-service/rest-service/pom.xml
+++ b/dbrepo-metadata-service/rest-service/pom.xml
@@ -15,13 +15,8 @@
 
     <dependencies>
         <dependency>
-            <groupId>at.tuwien</groupId>
-            <artifactId>dbrepo-metadata-service-api</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>at.tuwien</groupId>
-            <artifactId>dbrepo-metadata-service-entities</artifactId>
+            <groupId>at.ac.tuwien.ifs.dbrepo</groupId>
+            <artifactId>dbrepo-core</artifactId>
             <version>${project.version}</version>
         </dependency>
         <dependency>
@@ -29,11 +24,6 @@
             <artifactId>dbrepo-metadata-service-services</artifactId>
             <version>${project.version}</version>
         </dependency>
-        <dependency>
-            <groupId>at.tuwien</groupId>
-            <artifactId>dbrepo-metadata-service-test</artifactId>
-            <version>${project.version}</version>
-        </dependency>
     </dependencies>
 
     <build>
diff --git a/dbrepo-metadata-service/rest-service/src/main/java/at/tuwien/DbrepoMetadataServiceApplication.java b/dbrepo-metadata-service/rest-service/src/main/java/at/tuwien/DbrepoMetadataServiceApplication.java
index e931ce7509..21a98f9781 100644
--- a/dbrepo-metadata-service/rest-service/src/main/java/at/tuwien/DbrepoMetadataServiceApplication.java
+++ b/dbrepo-metadata-service/rest-service/src/main/java/at/tuwien/DbrepoMetadataServiceApplication.java
@@ -9,7 +9,7 @@ import org.springframework.transaction.annotation.EnableTransactionManagement;
 
 @EnableJpaAuditing
 @EnableTransactionManagement
-@EntityScan(basePackages = {"at.tuwien.entities"})
+@EntityScan(basePackages = {"at.ac.tuwien.ifs.dbrepo.entity"})
 @EnableJpaRepositories(basePackages = {"at.tuwien.repository"})
 @SpringBootApplication
 public class DbrepoMetadataServiceApplication {
diff --git a/dbrepo-metadata-service/rest-service/src/main/java/at/tuwien/converters/IdentifierStatusTypeDtoConverter.java b/dbrepo-metadata-service/rest-service/src/main/java/at/tuwien/converters/IdentifierStatusTypeDtoConverter.java
index 96e67f63d2..26e36a9b7e 100644
--- a/dbrepo-metadata-service/rest-service/src/main/java/at/tuwien/converters/IdentifierStatusTypeDtoConverter.java
+++ b/dbrepo-metadata-service/rest-service/src/main/java/at/tuwien/converters/IdentifierStatusTypeDtoConverter.java
@@ -1,6 +1,6 @@
 package at.tuwien.converters;
 
-import at.tuwien.api.identifier.IdentifierStatusTypeDto;
+import at.ac.tuwien.ifs.dbrepo.api.identifier.IdentifierStatusTypeDto;
 import org.springframework.core.convert.converter.Converter;
 import org.springframework.stereotype.Component;
 
diff --git a/dbrepo-metadata-service/rest-service/src/main/java/at/tuwien/converters/IdentifierTypeDtoConverter.java b/dbrepo-metadata-service/rest-service/src/main/java/at/tuwien/converters/IdentifierTypeDtoConverter.java
index 61e169604f..dd8ff85cc7 100644
--- a/dbrepo-metadata-service/rest-service/src/main/java/at/tuwien/converters/IdentifierTypeDtoConverter.java
+++ b/dbrepo-metadata-service/rest-service/src/main/java/at/tuwien/converters/IdentifierTypeDtoConverter.java
@@ -1,6 +1,6 @@
 package at.tuwien.converters;
 
-import at.tuwien.api.identifier.IdentifierTypeDto;
+import at.ac.tuwien.ifs.dbrepo.api.identifier.IdentifierTypeDto;
 import org.springframework.core.convert.converter.Converter;
 import org.springframework.stereotype.Component;
 
diff --git a/dbrepo-metadata-service/rest-service/src/main/java/at/tuwien/endpoints/AbstractEndpoint.java b/dbrepo-metadata-service/rest-service/src/main/java/at/tuwien/endpoints/AbstractEndpoint.java
index 2121f6d1ad..ddbc125a32 100644
--- a/dbrepo-metadata-service/rest-service/src/main/java/at/tuwien/endpoints/AbstractEndpoint.java
+++ b/dbrepo-metadata-service/rest-service/src/main/java/at/tuwien/endpoints/AbstractEndpoint.java
@@ -1,11 +1,11 @@
 package at.tuwien.endpoints;
 
-import at.tuwien.api.container.ContainerDto;
-import at.tuwien.api.user.UserDetailsDto;
-import at.tuwien.entities.database.Database;
-import at.tuwien.entities.database.DatabaseAccess;
-import at.tuwien.entities.database.View;
-import at.tuwien.exception.NotAllowedException;
+import at.ac.tuwien.ifs.dbrepo.api.container.ContainerDto;
+import at.ac.tuwien.ifs.dbrepo.api.user.UserDetailsDto;
+import at.ac.tuwien.ifs.dbrepo.entity.database.Database;
+import at.ac.tuwien.ifs.dbrepo.entity.database.DatabaseAccess;
+import at.ac.tuwien.ifs.dbrepo.entity.database.View;
+import at.ac.tuwien.ifs.dbrepo.exception.NotAllowedException;
 import lombok.extern.log4j.Log4j2;
 import org.springframework.security.core.Authentication;
 
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 06bc73601c..e1f5b8cc10 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
@@ -1,12 +1,12 @@
 package at.tuwien.endpoints;
 
-import at.tuwien.api.database.CreateAccessDto;
-import at.tuwien.api.database.DatabaseAccessDto;
-import at.tuwien.api.error.ApiErrorDto;
-import at.tuwien.entities.database.Database;
-import at.tuwien.entities.database.DatabaseAccess;
-import at.tuwien.entities.user.User;
-import at.tuwien.exception.*;
+import at.ac.tuwien.ifs.dbrepo.api.database.CreateAccessDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.DatabaseAccessDto;
+import at.ac.tuwien.ifs.dbrepo.api.error.ApiErrorDto;
+import at.ac.tuwien.ifs.dbrepo.entity.database.Database;
+import at.ac.tuwien.ifs.dbrepo.entity.database.DatabaseAccess;
+import at.ac.tuwien.ifs.dbrepo.entity.user.User;
+import at.ac.tuwien.ifs.dbrepo.exception.*;
 import at.tuwien.mapper.MetadataMapper;
 import at.tuwien.service.AccessService;
 import at.tuwien.service.DashboardService;
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 acf6a31ca2..e9a26fca60 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
@@ -1,6 +1,6 @@
 package at.tuwien.endpoints;
 
-import at.tuwien.api.database.table.columns.concepts.ConceptDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.columns.concepts.ConceptDto;
 import at.tuwien.mapper.MetadataMapper;
 import at.tuwien.service.ConceptService;
 import io.micrometer.observation.annotation.Observed;
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 266430372d..3a5dd5281d 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
@@ -1,13 +1,13 @@
 package at.tuwien.endpoints;
 
-import at.tuwien.api.container.ContainerBriefDto;
-import at.tuwien.api.container.ContainerDto;
-import at.tuwien.api.container.CreateContainerDto;
-import at.tuwien.api.error.ApiErrorDto;
-import at.tuwien.entities.container.Container;
-import at.tuwien.exception.ContainerAlreadyExistsException;
-import at.tuwien.exception.ContainerNotFoundException;
-import at.tuwien.exception.ImageNotFoundException;
+import at.ac.tuwien.ifs.dbrepo.api.container.ContainerBriefDto;
+import at.ac.tuwien.ifs.dbrepo.api.container.ContainerDto;
+import at.ac.tuwien.ifs.dbrepo.api.container.CreateContainerDto;
+import at.ac.tuwien.ifs.dbrepo.api.error.ApiErrorDto;
+import at.ac.tuwien.ifs.dbrepo.entity.container.Container;
+import at.ac.tuwien.ifs.dbrepo.exception.ContainerAlreadyExistsException;
+import at.ac.tuwien.ifs.dbrepo.exception.ContainerNotFoundException;
+import at.ac.tuwien.ifs.dbrepo.exception.ImageNotFoundException;
 import at.tuwien.mapper.MetadataMapper;
 import at.tuwien.service.ContainerService;
 import io.micrometer.observation.annotation.Observed;
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 60ca31dcd9..4c14860c3b 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,12 +1,13 @@
 package at.tuwien.endpoints;
 
-import at.tuwien.api.database.*;
-import at.tuwien.api.error.ApiErrorDto;
-import at.tuwien.api.grafana.CreateDashboardResponseDto;
-import at.tuwien.entities.container.Container;
-import at.tuwien.entities.database.Database;
-import at.tuwien.entities.user.User;
-import at.tuwien.exception.*;
+import at.ac.tuwien.ifs.dbrepo.api.database.DatabaseModifyDashboardDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.*;
+import at.ac.tuwien.ifs.dbrepo.api.error.ApiErrorDto;
+import at.ac.tuwien.ifs.dbrepo.api.grafana.CreateDashboardResponseDto;
+import at.ac.tuwien.ifs.dbrepo.entity.container.Container;
+import at.ac.tuwien.ifs.dbrepo.entity.database.Database;
+import at.ac.tuwien.ifs.dbrepo.entity.user.User;
+import at.ac.tuwien.ifs.dbrepo.exception.*;
 import at.tuwien.mapper.MetadataMapper;
 import at.tuwien.service.*;
 import io.micrometer.observation.annotation.Observed;
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 96deaea775..14629943d4 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
@@ -1,16 +1,16 @@
 package at.tuwien.endpoints;
 
-import at.tuwien.api.error.ApiErrorDto;
-import at.tuwien.api.identifier.*;
-import at.tuwien.api.identifier.ld.LdDatasetDto;
-import at.tuwien.api.user.external.ExternalMetadataDto;
+import at.ac.tuwien.ifs.dbrepo.api.error.ApiErrorDto;
+import at.ac.tuwien.ifs.dbrepo.api.identifier.*;
+import at.ac.tuwien.ifs.dbrepo.api.identifier.ld.LdDatasetDto;
+import at.ac.tuwien.ifs.dbrepo.api.user.external.ExternalMetadataDto;
 import at.tuwien.config.EndpointConfig;
-import at.tuwien.entities.database.Database;
-import at.tuwien.entities.database.DatabaseAccess;
-import at.tuwien.entities.identifier.Identifier;
-import at.tuwien.entities.identifier.IdentifierStatusType;
-import at.tuwien.entities.user.User;
-import at.tuwien.exception.*;
+import at.ac.tuwien.ifs.dbrepo.entity.database.Database;
+import at.ac.tuwien.ifs.dbrepo.entity.database.DatabaseAccess;
+import at.ac.tuwien.ifs.dbrepo.entity.identifier.Identifier;
+import at.ac.tuwien.ifs.dbrepo.entity.identifier.IdentifierStatusType;
+import at.ac.tuwien.ifs.dbrepo.entity.user.User;
+import at.ac.tuwien.ifs.dbrepo.exception.*;
 import at.tuwien.mapper.MetadataMapper;
 import at.tuwien.service.*;
 import at.tuwien.validation.EndpointValidator;
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 62c00d1ee8..f72404e730 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
@@ -1,14 +1,14 @@
 package at.tuwien.endpoints;
 
-import at.tuwien.api.container.image.ImageBriefDto;
-import at.tuwien.api.container.image.ImageChangeDto;
-import at.tuwien.api.container.image.ImageCreateDto;
-import at.tuwien.api.container.image.ImageDto;
-import at.tuwien.api.error.ApiErrorDto;
-import at.tuwien.entities.container.image.ContainerImage;
-import at.tuwien.exception.ImageAlreadyExistsException;
-import at.tuwien.exception.ImageInvalidException;
-import at.tuwien.exception.ImageNotFoundException;
+import at.ac.tuwien.ifs.dbrepo.api.container.image.ImageBriefDto;
+import at.ac.tuwien.ifs.dbrepo.api.container.image.ImageChangeDto;
+import at.ac.tuwien.ifs.dbrepo.api.container.image.ImageCreateDto;
+import at.ac.tuwien.ifs.dbrepo.api.container.image.ImageDto;
+import at.ac.tuwien.ifs.dbrepo.api.error.ApiErrorDto;
+import at.ac.tuwien.ifs.dbrepo.entity.container.image.ContainerImage;
+import at.ac.tuwien.ifs.dbrepo.exception.ImageAlreadyExistsException;
+import at.ac.tuwien.ifs.dbrepo.exception.ImageInvalidException;
+import at.ac.tuwien.ifs.dbrepo.exception.ImageNotFoundException;
 import at.tuwien.mapper.MetadataMapper;
 import at.tuwien.service.ImageService;
 import io.micrometer.observation.annotation.Observed;
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 18d5e93ca2..9e59eda922 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
@@ -1,6 +1,6 @@
 package at.tuwien.endpoints;
 
-import at.tuwien.api.database.LicenseDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.LicenseDto;
 import at.tuwien.mapper.MetadataMapper;
 import at.tuwien.service.LicenseService;
 import io.micrometer.observation.annotation.Observed;
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 656279a86d..e3fca284a1 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
@@ -1,12 +1,12 @@
 package at.tuwien.endpoints;
 
-import at.tuwien.api.error.ApiErrorDto;
-import at.tuwien.api.maintenance.BannerMessageBriefDto;
-import at.tuwien.api.maintenance.BannerMessageCreateDto;
-import at.tuwien.api.maintenance.BannerMessageDto;
-import at.tuwien.api.maintenance.BannerMessageUpdateDto;
-import at.tuwien.entities.maintenance.BannerMessage;
-import at.tuwien.exception.MessageNotFoundException;
+import at.ac.tuwien.ifs.dbrepo.api.error.ApiErrorDto;
+import at.ac.tuwien.ifs.dbrepo.api.maintenance.BannerMessageBriefDto;
+import at.ac.tuwien.ifs.dbrepo.api.maintenance.BannerMessageCreateDto;
+import at.ac.tuwien.ifs.dbrepo.api.maintenance.BannerMessageDto;
+import at.ac.tuwien.ifs.dbrepo.api.maintenance.BannerMessageUpdateDto;
+import at.ac.tuwien.ifs.dbrepo.entity.maintenance.BannerMessage;
+import at.ac.tuwien.ifs.dbrepo.exception.MessageNotFoundException;
 import at.tuwien.mapper.MetadataMapper;
 import at.tuwien.service.BannerMessageService;
 import io.micrometer.observation.annotation.Observed;
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 8a36471816..acdb205598 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
@@ -1,6 +1,6 @@
 package at.tuwien.endpoints;
 
-import at.tuwien.exception.IdentifierNotFoundException;
+import at.ac.tuwien.ifs.dbrepo.exception.IdentifierNotFoundException;
 import at.tuwien.oaipmh.OaiErrorType;
 import at.tuwien.oaipmh.OaiListIdentifiersParameters;
 import at.tuwien.oaipmh.OaiRecordParameters;
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 c723568556..a1f6c3c169 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
@@ -1,12 +1,12 @@
 package at.tuwien.endpoints;
 
-import at.tuwien.api.error.ApiErrorDto;
-import at.tuwien.api.semantics.*;
-import at.tuwien.entities.semantics.Ontology;
-import at.tuwien.exception.FilterBadRequestException;
-import at.tuwien.exception.MalformedException;
-import at.tuwien.exception.OntologyNotFoundException;
-import at.tuwien.exception.UriMalformedException;
+import at.ac.tuwien.ifs.dbrepo.api.error.ApiErrorDto;
+import at.ac.tuwien.ifs.dbrepo.api.semantics.*;
+import at.ac.tuwien.ifs.dbrepo.entity.semantics.Ontology;
+import at.ac.tuwien.ifs.dbrepo.exception.FilterBadRequestException;
+import at.ac.tuwien.ifs.dbrepo.exception.MalformedException;
+import at.ac.tuwien.ifs.dbrepo.exception.OntologyNotFoundException;
+import at.ac.tuwien.ifs.dbrepo.exception.UriMalformedException;
 import at.tuwien.mapper.MetadataMapper;
 import at.tuwien.service.EntityService;
 import at.tuwien.service.OntologyService;
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 1d1b13d007..7c9147fcb8 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
@@ -1,18 +1,18 @@
 package at.tuwien.endpoints;
 
-import at.tuwien.api.database.table.CreateTableDto;
-import at.tuwien.api.database.table.TableBriefDto;
-import at.tuwien.api.database.table.TableDto;
-import at.tuwien.api.database.table.TableUpdateDto;
-import at.tuwien.api.database.table.columns.ColumnDto;
-import at.tuwien.api.database.table.columns.concepts.ColumnSemanticsUpdateDto;
-import at.tuwien.api.error.ApiErrorDto;
-import at.tuwien.api.semantics.EntityDto;
-import at.tuwien.api.semantics.TableColumnEntityDto;
-import at.tuwien.entities.database.Database;
-import at.tuwien.entities.database.DatabaseAccess;
-import at.tuwien.entities.database.table.Table;
-import at.tuwien.exception.*;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.CreateTableDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.TableBriefDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.TableDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.TableUpdateDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.columns.ColumnDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.columns.concepts.ColumnSemanticsUpdateDto;
+import at.ac.tuwien.ifs.dbrepo.api.error.ApiErrorDto;
+import at.ac.tuwien.ifs.dbrepo.api.semantics.EntityDto;
+import at.ac.tuwien.ifs.dbrepo.api.semantics.TableColumnEntityDto;
+import at.ac.tuwien.ifs.dbrepo.entity.database.Database;
+import at.ac.tuwien.ifs.dbrepo.entity.database.DatabaseAccess;
+import at.ac.tuwien.ifs.dbrepo.entity.database.table.Table;
+import at.ac.tuwien.ifs.dbrepo.exception.*;
 import at.tuwien.mapper.MetadataMapper;
 import at.tuwien.service.*;
 import at.tuwien.validation.EndpointValidator;
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 45aef3645b..6793e9c970 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
@@ -1,6 +1,6 @@
 package at.tuwien.endpoints;
 
-import at.tuwien.api.database.table.columns.concepts.UnitDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.columns.concepts.UnitDto;
 import at.tuwien.mapper.MetadataMapper;
 import at.tuwien.service.UnitService;
 import io.micrometer.observation.annotation.Observed;
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 8f3e15529e..8d322830d1 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
@@ -1,14 +1,14 @@
 package at.tuwien.endpoints;
 
-import at.tuwien.api.auth.CreateUserDto;
-import at.tuwien.api.error.ApiErrorDto;
-import at.tuwien.api.user.UserBriefDto;
-import at.tuwien.api.user.UserDto;
-import at.tuwien.api.user.UserUpdateDto;
-import at.tuwien.entities.user.User;
-import at.tuwien.exception.AuthServiceException;
-import at.tuwien.exception.NotAllowedException;
-import at.tuwien.exception.UserNotFoundException;
+import at.ac.tuwien.ifs.dbrepo.api.auth.CreateUserDto;
+import at.ac.tuwien.ifs.dbrepo.api.error.ApiErrorDto;
+import at.ac.tuwien.ifs.dbrepo.api.user.UserBriefDto;
+import at.ac.tuwien.ifs.dbrepo.api.user.UserDto;
+import at.ac.tuwien.ifs.dbrepo.api.user.UserUpdateDto;
+import at.ac.tuwien.ifs.dbrepo.entity.user.User;
+import at.ac.tuwien.ifs.dbrepo.exception.AuthServiceException;
+import at.ac.tuwien.ifs.dbrepo.exception.NotAllowedException;
+import at.ac.tuwien.ifs.dbrepo.exception.UserNotFoundException;
 import at.tuwien.mapper.MetadataMapper;
 import at.tuwien.service.UserService;
 import io.micrometer.observation.annotation.Observed;
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 d3fcc8d54a..1b4d91b892 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
@@ -1,14 +1,14 @@
 package at.tuwien.endpoints;
 
-import at.tuwien.api.database.CreateViewDto;
-import at.tuwien.api.database.ViewBriefDto;
-import at.tuwien.api.database.ViewDto;
-import at.tuwien.api.database.ViewUpdateDto;
-import at.tuwien.api.error.ApiErrorDto;
-import at.tuwien.entities.database.Database;
-import at.tuwien.entities.database.DatabaseAccess;
-import at.tuwien.entities.database.View;
-import at.tuwien.exception.*;
+import at.ac.tuwien.ifs.dbrepo.api.database.CreateViewDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.ViewBriefDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.ViewDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.ViewUpdateDto;
+import at.ac.tuwien.ifs.dbrepo.api.error.ApiErrorDto;
+import at.ac.tuwien.ifs.dbrepo.entity.database.Database;
+import at.ac.tuwien.ifs.dbrepo.entity.database.DatabaseAccess;
+import at.ac.tuwien.ifs.dbrepo.entity.database.View;
+import at.ac.tuwien.ifs.dbrepo.exception.*;
 import at.tuwien.mapper.MetadataMapper;
 import at.tuwien.service.DashboardService;
 import at.tuwien.service.DatabaseService;
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 50badc32d6..82711a4b48 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
@@ -1,7 +1,7 @@
 package at.tuwien.handlers;
 
-import at.tuwien.api.error.ApiErrorDto;
-import at.tuwien.exception.*;
+import at.ac.tuwien.ifs.dbrepo.api.error.ApiErrorDto;
+import at.ac.tuwien.ifs.dbrepo.exception.*;
 import com.auth0.jwt.exceptions.TokenExpiredException;
 import io.swagger.v3.oas.annotations.Hidden;
 import jakarta.ws.rs.NotAuthorizedException;
diff --git a/dbrepo-metadata-service/rest-service/src/main/java/at/tuwien/validation/EndpointValidator.java b/dbrepo-metadata-service/rest-service/src/main/java/at/tuwien/validation/EndpointValidator.java
index 6fe29c118b..5a9e59138c 100644
--- a/dbrepo-metadata-service/rest-service/src/main/java/at/tuwien/validation/EndpointValidator.java
+++ b/dbrepo-metadata-service/rest-service/src/main/java/at/tuwien/validation/EndpointValidator.java
@@ -1,17 +1,17 @@
 package at.tuwien.validation;
 
-import at.tuwien.SortType;
-import at.tuwien.api.database.table.CreateTableDto;
-import at.tuwien.api.database.table.columns.ColumnTypeDto;
-import at.tuwien.api.database.table.columns.CreateTableColumnDto;
-import at.tuwien.api.identifier.IdentifierSaveDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.CreateTableDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.SortType;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.columns.ColumnTypeDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.columns.CreateTableColumnDto;
+import at.ac.tuwien.ifs.dbrepo.api.identifier.IdentifierSaveDto;
 import at.tuwien.endpoints.AbstractEndpoint;
-import at.tuwien.entities.database.AccessType;
-import at.tuwien.entities.database.Database;
-import at.tuwien.entities.database.DatabaseAccess;
-import at.tuwien.entities.database.table.Table;
-import at.tuwien.entities.user.User;
-import at.tuwien.exception.*;
+import at.ac.tuwien.ifs.dbrepo.entity.database.AccessType;
+import at.ac.tuwien.ifs.dbrepo.entity.database.Database;
+import at.ac.tuwien.ifs.dbrepo.entity.database.DatabaseAccess;
+import at.ac.tuwien.ifs.dbrepo.entity.database.table.Table;
+import at.ac.tuwien.ifs.dbrepo.entity.user.User;
+import at.ac.tuwien.ifs.dbrepo.exception.*;
 import at.tuwien.service.AccessService;
 import at.tuwien.service.UserService;
 import lombok.extern.log4j.Log4j2;
diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/config/RabbitConfig.java b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/config/RabbitConfig.java
index f8a83baf85..059d4beeb6 100644
--- a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/config/RabbitConfig.java
+++ b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/config/RabbitConfig.java
@@ -1,6 +1,6 @@
 package at.tuwien.config;
 
-import at.tuwien.test.BaseTest;
+import at.ac.tuwien.ifs.dbrepo.test.BaseTest;
 import lombok.Getter;
 import lombok.extern.log4j.Log4j2;
 import org.springframework.beans.factory.annotation.Value;
diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/converters/IdentifierStatusTypeDtoConverterUnitTest.java b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/converters/IdentifierStatusTypeDtoConverterUnitTest.java
index 8c7316b3d1..20ca4650a5 100644
--- a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/converters/IdentifierStatusTypeDtoConverterUnitTest.java
+++ b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/converters/IdentifierStatusTypeDtoConverterUnitTest.java
@@ -1,7 +1,7 @@
 package at.tuwien.converters;
 
-import at.tuwien.api.identifier.IdentifierStatusTypeDto;
-import at.tuwien.test.AbstractUnitTest;
+import at.ac.tuwien.ifs.dbrepo.api.identifier.IdentifierStatusTypeDto;
+import at.ac.tuwien.ifs.dbrepo.test.AbstractUnitTest;
 import lombok.extern.log4j.Log4j2;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/converters/IdentifierTypeDtoConverterUnitTest.java b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/converters/IdentifierTypeDtoConverterUnitTest.java
index 98abd668d8..72d14ea47b 100644
--- a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/converters/IdentifierTypeDtoConverterUnitTest.java
+++ b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/converters/IdentifierTypeDtoConverterUnitTest.java
@@ -1,7 +1,7 @@
 package at.tuwien.converters;
 
-import at.tuwien.api.identifier.IdentifierTypeDto;
-import at.tuwien.test.AbstractUnitTest;
+import at.ac.tuwien.ifs.dbrepo.api.identifier.IdentifierTypeDto;
+import at.ac.tuwien.ifs.dbrepo.test.AbstractUnitTest;
 import lombok.extern.log4j.Log4j2;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/endpoints/AbstractEndpointUnitTest.java b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/endpoints/AbstractEndpointUnitTest.java
index dfa4924957..467e58d375 100644
--- a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/endpoints/AbstractEndpointUnitTest.java
+++ b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/endpoints/AbstractEndpointUnitTest.java
@@ -1,39 +1,19 @@
 package at.tuwien.endpoints;
 
-import at.tuwien.api.database.AccessTypeDto;
-import at.tuwien.api.database.DatabaseAccessDto;
-import at.tuwien.api.user.UserDetailsDto;
-import at.tuwien.entities.database.Database;
-import at.tuwien.entities.database.DatabaseAccess;
-import at.tuwien.entities.user.User;
-import at.tuwien.exception.*;
-import at.tuwien.mapper.MetadataMapper;
-import at.tuwien.service.AccessService;
-import at.tuwien.service.DatabaseService;
-import at.tuwien.service.UserService;
-import at.tuwien.test.AbstractUnitTest;
+import at.ac.tuwien.ifs.dbrepo.api.user.UserDetailsDto;
+import at.ac.tuwien.ifs.dbrepo.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.boot.test.mock.mockito.MockBean;
-import org.springframework.http.HttpStatus;
-import org.springframework.http.ResponseEntity;
 import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
-import org.springframework.security.core.authority.SimpleGrantedAuthority;
-import org.springframework.security.test.context.support.WithAnonymousUser;
-import org.springframework.security.test.context.support.WithMockUser;
 import org.springframework.test.context.junit.jupiter.SpringExtension;
 
 import java.security.Principal;
-import java.util.List;
-import java.util.UUID;
 
 import static org.junit.jupiter.api.Assertions.*;
-import static org.mockito.ArgumentMatchers.any;
-import static org.mockito.Mockito.*;
 
 @Log4j2
 @SpringBootTest
diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/endpoints/AccessEndpointUnitTest.java b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/endpoints/AccessEndpointUnitTest.java
index 610950c58a..4097363081 100644
--- a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/endpoints/AccessEndpointUnitTest.java
+++ b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/endpoints/AccessEndpointUnitTest.java
@@ -1,17 +1,17 @@
 package at.tuwien.endpoints;
 
-import at.tuwien.api.database.AccessTypeDto;
-import at.tuwien.api.database.DatabaseAccessDto;
-import at.tuwien.entities.database.Database;
-import at.tuwien.entities.database.DatabaseAccess;
-import at.tuwien.entities.user.User;
-import at.tuwien.exception.*;
+import at.ac.tuwien.ifs.dbrepo.api.database.AccessTypeDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.DatabaseAccessDto;
+import at.ac.tuwien.ifs.dbrepo.entity.database.Database;
+import at.ac.tuwien.ifs.dbrepo.entity.database.DatabaseAccess;
+import at.ac.tuwien.ifs.dbrepo.entity.user.User;
+import at.ac.tuwien.ifs.dbrepo.exception.*;
 import at.tuwien.mapper.MetadataMapper;
 import at.tuwien.service.AccessService;
 import at.tuwien.service.DashboardService;
 import at.tuwien.service.DatabaseService;
 import at.tuwien.service.UserService;
-import at.tuwien.test.AbstractUnitTest;
+import at.ac.tuwien.ifs.dbrepo.test.AbstractUnitTest;
 import lombok.extern.log4j.Log4j2;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/endpoints/ActuatorComponentTest.java b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/endpoints/ActuatorComponentTest.java
index 78b7f086c3..b1d0cfdfd1 100644
--- a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/endpoints/ActuatorComponentTest.java
+++ b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/endpoints/ActuatorComponentTest.java
@@ -1,6 +1,6 @@
 package at.tuwien.endpoints;
 
-import at.tuwien.test.AbstractUnitTest;
+import at.ac.tuwien.ifs.dbrepo.test.AbstractUnitTest;
 import lombok.extern.log4j.Log4j2;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/endpoints/ConceptEndpointUnitTest.java b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/endpoints/ConceptEndpointUnitTest.java
index d48317f119..2bc5f0f91b 100644
--- a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/endpoints/ConceptEndpointUnitTest.java
+++ b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/endpoints/ConceptEndpointUnitTest.java
@@ -1,7 +1,7 @@
 package at.tuwien.endpoints;
 
-import at.tuwien.test.AbstractUnitTest;
-import at.tuwien.api.database.table.columns.concepts.ConceptDto;
+import at.ac.tuwien.ifs.dbrepo.test.AbstractUnitTest;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.columns.concepts.ConceptDto;
 import at.tuwien.service.ConceptService;
 import lombok.extern.log4j.Log4j2;
 import org.junit.jupiter.api.BeforeEach;
diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/endpoints/ContainerEndpointUnitTest.java b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/endpoints/ContainerEndpointUnitTest.java
index 67078ee409..07cbc1c99e 100644
--- a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/endpoints/ContainerEndpointUnitTest.java
+++ b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/endpoints/ContainerEndpointUnitTest.java
@@ -1,14 +1,14 @@
 package at.tuwien.endpoints;
 
-import at.tuwien.api.container.ContainerBriefDto;
-import at.tuwien.api.container.ContainerDto;
-import at.tuwien.api.container.CreateContainerDto;
-import at.tuwien.entities.container.Container;
-import at.tuwien.exception.ContainerAlreadyExistsException;
-import at.tuwien.exception.ContainerNotFoundException;
-import at.tuwien.exception.ImageNotFoundException;
+import at.ac.tuwien.ifs.dbrepo.api.container.ContainerBriefDto;
+import at.ac.tuwien.ifs.dbrepo.api.container.ContainerDto;
+import at.ac.tuwien.ifs.dbrepo.api.container.CreateContainerDto;
+import at.ac.tuwien.ifs.dbrepo.entity.container.Container;
+import at.ac.tuwien.ifs.dbrepo.exception.ContainerAlreadyExistsException;
+import at.ac.tuwien.ifs.dbrepo.exception.ContainerNotFoundException;
+import at.ac.tuwien.ifs.dbrepo.exception.ImageNotFoundException;
 import at.tuwien.service.impl.ContainerServiceImpl;
-import at.tuwien.test.AbstractUnitTest;
+import at.ac.tuwien.ifs.dbrepo.test.AbstractUnitTest;
 import lombok.extern.log4j.Log4j2;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
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 fb9761ecef..a3a6f983c7 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
@@ -1,12 +1,12 @@
 package at.tuwien.endpoints;
 
-import at.tuwien.api.database.*;
-import at.tuwien.entities.database.Database;
-import at.tuwien.entities.user.User;
-import at.tuwien.exception.*;
+import at.ac.tuwien.ifs.dbrepo.api.database.*;
+import at.ac.tuwien.ifs.dbrepo.entity.database.Database;
+import at.ac.tuwien.ifs.dbrepo.entity.user.User;
+import at.ac.tuwien.ifs.dbrepo.exception.*;
 import at.tuwien.service.*;
 import at.tuwien.service.impl.DatabaseServiceImpl;
-import at.tuwien.test.AbstractUnitTest;
+import at.ac.tuwien.ifs.dbrepo.test.AbstractUnitTest;
 import lombok.extern.log4j.Log4j2;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/endpoints/IdentifierEndpointUnitTest.java b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/endpoints/IdentifierEndpointUnitTest.java
index 59aca6a405..6af9ca1ffe 100644
--- a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/endpoints/IdentifierEndpointUnitTest.java
+++ b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/endpoints/IdentifierEndpointUnitTest.java
@@ -1,17 +1,17 @@
 package at.tuwien.endpoints;
 
-import at.tuwien.api.identifier.*;
-import at.tuwien.api.identifier.ld.LdDatasetDto;
+import at.ac.tuwien.ifs.dbrepo.api.identifier.*;
+import at.ac.tuwien.ifs.dbrepo.api.identifier.ld.LdDatasetDto;
 import at.tuwien.config.EndpointConfig;
-import at.tuwien.entities.database.Database;
-import at.tuwien.entities.database.DatabaseAccess;
-import at.tuwien.entities.identifier.Identifier;
-import at.tuwien.entities.identifier.IdentifierType;
-import at.tuwien.entities.user.User;
-import at.tuwien.exception.*;
+import at.ac.tuwien.ifs.dbrepo.entity.database.Database;
+import at.ac.tuwien.ifs.dbrepo.entity.database.DatabaseAccess;
+import at.ac.tuwien.ifs.dbrepo.entity.identifier.Identifier;
+import at.ac.tuwien.ifs.dbrepo.entity.identifier.IdentifierType;
+import at.ac.tuwien.ifs.dbrepo.entity.user.User;
+import at.ac.tuwien.ifs.dbrepo.exception.*;
 import at.tuwien.gateway.DataServiceGateway;
 import at.tuwien.service.*;
-import at.tuwien.test.AbstractUnitTest;
+import at.ac.tuwien.ifs.dbrepo.test.AbstractUnitTest;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import lombok.extern.log4j.Log4j2;
 import org.apache.commons.io.FileUtils;
diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/endpoints/ImageEndpointUnitTest.java b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/endpoints/ImageEndpointUnitTest.java
index b5be98cfb6..a2f32fcf76 100644
--- a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/endpoints/ImageEndpointUnitTest.java
+++ b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/endpoints/ImageEndpointUnitTest.java
@@ -1,15 +1,15 @@
 package at.tuwien.endpoints;
 
-import at.tuwien.api.container.image.ImageBriefDto;
-import at.tuwien.api.container.image.ImageChangeDto;
-import at.tuwien.api.container.image.ImageCreateDto;
-import at.tuwien.api.container.image.ImageDto;
-import at.tuwien.entities.container.image.ContainerImage;
-import at.tuwien.exception.ImageAlreadyExistsException;
-import at.tuwien.exception.ImageInvalidException;
-import at.tuwien.exception.ImageNotFoundException;
+import at.ac.tuwien.ifs.dbrepo.api.container.image.ImageBriefDto;
+import at.ac.tuwien.ifs.dbrepo.api.container.image.ImageChangeDto;
+import at.ac.tuwien.ifs.dbrepo.api.container.image.ImageCreateDto;
+import at.ac.tuwien.ifs.dbrepo.api.container.image.ImageDto;
+import at.ac.tuwien.ifs.dbrepo.entity.container.image.ContainerImage;
+import at.ac.tuwien.ifs.dbrepo.exception.ImageAlreadyExistsException;
+import at.ac.tuwien.ifs.dbrepo.exception.ImageInvalidException;
+import at.ac.tuwien.ifs.dbrepo.exception.ImageNotFoundException;
 import at.tuwien.service.impl.ImageServiceImpl;
-import at.tuwien.test.AbstractUnitTest;
+import at.ac.tuwien.ifs.dbrepo.test.AbstractUnitTest;
 import lombok.extern.log4j.Log4j2;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/endpoints/LicenseEndpointUnitTest.java b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/endpoints/LicenseEndpointUnitTest.java
index f45dd85fb4..066b215cd5 100644
--- a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/endpoints/LicenseEndpointUnitTest.java
+++ b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/endpoints/LicenseEndpointUnitTest.java
@@ -1,7 +1,7 @@
 package at.tuwien.endpoints;
 
-import at.tuwien.test.AbstractUnitTest;
-import at.tuwien.api.database.LicenseDto;
+import at.ac.tuwien.ifs.dbrepo.test.AbstractUnitTest;
+import at.ac.tuwien.ifs.dbrepo.api.database.LicenseDto;
 import at.tuwien.repository.LicenseRepository;
 import lombok.extern.log4j.Log4j2;
 import org.junit.jupiter.api.BeforeEach;
diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/endpoints/MessageEndpointUnitTest.java b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/endpoints/MessageEndpointUnitTest.java
index 0fabc67c91..023beb37d2 100644
--- a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/endpoints/MessageEndpointUnitTest.java
+++ b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/endpoints/MessageEndpointUnitTest.java
@@ -1,11 +1,11 @@
 package at.tuwien.endpoints;
 
-import at.tuwien.exception.MessageNotFoundException;
-import at.tuwien.test.AbstractUnitTest;
-import at.tuwien.api.maintenance.BannerMessageCreateDto;
-import at.tuwien.api.maintenance.BannerMessageDto;
-import at.tuwien.api.maintenance.BannerMessageUpdateDto;
-import at.tuwien.entities.maintenance.BannerMessage;
+import at.ac.tuwien.ifs.dbrepo.exception.MessageNotFoundException;
+import at.ac.tuwien.ifs.dbrepo.test.AbstractUnitTest;
+import at.ac.tuwien.ifs.dbrepo.api.maintenance.BannerMessageCreateDto;
+import at.ac.tuwien.ifs.dbrepo.api.maintenance.BannerMessageDto;
+import at.ac.tuwien.ifs.dbrepo.api.maintenance.BannerMessageUpdateDto;
+import at.ac.tuwien.ifs.dbrepo.entity.maintenance.BannerMessage;
 import at.tuwien.service.BannerMessageService;
 import lombok.extern.log4j.Log4j2;
 import org.junit.jupiter.api.BeforeEach;
diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/endpoints/MetadataEndpointUnitTest.java b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/endpoints/MetadataEndpointUnitTest.java
index 98f756a1c0..5395917273 100644
--- a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/endpoints/MetadataEndpointUnitTest.java
+++ b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/endpoints/MetadataEndpointUnitTest.java
@@ -3,7 +3,7 @@ package at.tuwien.endpoints;
 import at.tuwien.oaipmh.OaiListIdentifiersParameters;
 import at.tuwien.oaipmh.OaiRecordParameters;
 import at.tuwien.repository.IdentifierRepository;
-import at.tuwien.test.AbstractUnitTest;
+import at.ac.tuwien.ifs.dbrepo.test.AbstractUnitTest;
 import at.tuwien.utils.XmlUtils;
 import lombok.extern.log4j.Log4j2;
 import org.junit.jupiter.api.BeforeEach;
diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/endpoints/OntologyEndpointUnitTest.java b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/endpoints/OntologyEndpointUnitTest.java
index ab3d0775ad..1860fe90dc 100644
--- a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/endpoints/OntologyEndpointUnitTest.java
+++ b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/endpoints/OntologyEndpointUnitTest.java
@@ -1,10 +1,10 @@
 package at.tuwien.endpoints;
 
-import at.tuwien.test.AbstractUnitTest;
-import at.tuwien.api.semantics.*;
-import at.tuwien.entities.semantics.Ontology;
-import at.tuwien.entities.user.User;
-import at.tuwien.exception.*;
+import at.ac.tuwien.ifs.dbrepo.test.AbstractUnitTest;
+import at.ac.tuwien.ifs.dbrepo.api.semantics.*;
+import at.ac.tuwien.ifs.dbrepo.entity.semantics.Ontology;
+import at.ac.tuwien.ifs.dbrepo.entity.user.User;
+import at.ac.tuwien.ifs.dbrepo.exception.*;
 import at.tuwien.service.EntityService;
 import at.tuwien.service.OntologyService;
 import at.tuwien.service.UserService;
diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/endpoints/TableEndpointUnitTest.java b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/endpoints/TableEndpointUnitTest.java
index 0180368e40..f60428786c 100644
--- a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/endpoints/TableEndpointUnitTest.java
+++ b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/endpoints/TableEndpointUnitTest.java
@@ -1,24 +1,24 @@
 package at.tuwien.endpoints;
 
-import at.tuwien.api.database.table.CreateTableDto;
-import at.tuwien.api.database.table.TableBriefDto;
-import at.tuwien.api.database.table.TableDto;
-import at.tuwien.api.database.table.TableUpdateDto;
-import at.tuwien.api.database.table.columns.ColumnDto;
-import at.tuwien.api.database.table.columns.ColumnTypeDto;
-import at.tuwien.api.database.table.columns.CreateTableColumnDto;
-import at.tuwien.api.database.table.columns.concepts.ColumnSemanticsUpdateDto;
-import at.tuwien.api.database.table.constraints.CreateTableConstraintsDto;
-import at.tuwien.api.semantics.EntityDto;
-import at.tuwien.api.semantics.TableColumnEntityDto;
-import at.tuwien.entities.database.Database;
-import at.tuwien.entities.database.DatabaseAccess;
-import at.tuwien.entities.database.table.Table;
-import at.tuwien.entities.database.table.columns.TableColumn;
-import at.tuwien.entities.user.User;
-import at.tuwien.exception.*;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.CreateTableDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.TableBriefDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.TableDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.TableUpdateDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.columns.ColumnDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.columns.ColumnTypeDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.columns.CreateTableColumnDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.columns.concepts.ColumnSemanticsUpdateDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.constraints.CreateTableConstraintsDto;
+import at.ac.tuwien.ifs.dbrepo.api.semantics.EntityDto;
+import at.ac.tuwien.ifs.dbrepo.api.semantics.TableColumnEntityDto;
+import at.ac.tuwien.ifs.dbrepo.entity.database.Database;
+import at.ac.tuwien.ifs.dbrepo.entity.database.DatabaseAccess;
+import at.ac.tuwien.ifs.dbrepo.entity.database.table.Table;
+import at.ac.tuwien.ifs.dbrepo.entity.database.table.columns.TableColumn;
+import at.ac.tuwien.ifs.dbrepo.entity.user.User;
+import at.ac.tuwien.ifs.dbrepo.exception.*;
 import at.tuwien.service.*;
-import at.tuwien.test.AbstractUnitTest;
+import at.ac.tuwien.ifs.dbrepo.test.AbstractUnitTest;
 import at.tuwien.validation.EndpointValidator;
 import lombok.extern.log4j.Log4j2;
 import org.apache.jena.sys.JenaSystem;
diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/endpoints/UnitEndpointUnitTest.java b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/endpoints/UnitEndpointUnitTest.java
index 7d74e615be..b9d2e39a61 100644
--- a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/endpoints/UnitEndpointUnitTest.java
+++ b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/endpoints/UnitEndpointUnitTest.java
@@ -1,7 +1,7 @@
 package at.tuwien.endpoints;
 
-import at.tuwien.test.AbstractUnitTest;
-import at.tuwien.api.database.table.columns.concepts.UnitDto;
+import at.ac.tuwien.ifs.dbrepo.test.AbstractUnitTest;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.columns.concepts.UnitDto;
 import at.tuwien.service.UnitService;
 import lombok.extern.log4j.Log4j2;
 import org.junit.jupiter.api.BeforeEach;
diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/endpoints/UserEndpointUnitTest.java b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/endpoints/UserEndpointUnitTest.java
index 5f0341fa7b..39cad67016 100644
--- a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/endpoints/UserEndpointUnitTest.java
+++ b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/endpoints/UserEndpointUnitTest.java
@@ -1,15 +1,15 @@
 package at.tuwien.endpoints;
 
-import at.tuwien.api.auth.CreateUserDto;
-import at.tuwien.api.user.UserBriefDto;
-import at.tuwien.api.user.UserDto;
-import at.tuwien.api.user.UserUpdateDto;
-import at.tuwien.entities.user.User;
-import at.tuwien.exception.AuthServiceException;
-import at.tuwien.exception.NotAllowedException;
-import at.tuwien.exception.UserNotFoundException;
+import at.ac.tuwien.ifs.dbrepo.api.auth.CreateUserDto;
+import at.ac.tuwien.ifs.dbrepo.api.user.UserBriefDto;
+import at.ac.tuwien.ifs.dbrepo.api.user.UserDto;
+import at.ac.tuwien.ifs.dbrepo.api.user.UserUpdateDto;
+import at.ac.tuwien.ifs.dbrepo.entity.user.User;
+import at.ac.tuwien.ifs.dbrepo.exception.AuthServiceException;
+import at.ac.tuwien.ifs.dbrepo.exception.NotAllowedException;
+import at.ac.tuwien.ifs.dbrepo.exception.UserNotFoundException;
 import at.tuwien.service.UserService;
-import at.tuwien.test.AbstractUnitTest;
+import at.ac.tuwien.ifs.dbrepo.test.AbstractUnitTest;
 import lombok.extern.log4j.Log4j2;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/endpoints/ViewEndpointUnitTest.java b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/endpoints/ViewEndpointUnitTest.java
index 602baec7ef..374b642b80 100644
--- a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/endpoints/ViewEndpointUnitTest.java
+++ b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/endpoints/ViewEndpointUnitTest.java
@@ -1,16 +1,16 @@
 package at.tuwien.endpoints;
 
-import at.tuwien.api.database.CreateViewDto;
-import at.tuwien.api.database.ViewBriefDto;
-import at.tuwien.api.database.ViewDto;
-import at.tuwien.api.database.ViewUpdateDto;
-import at.tuwien.entities.database.Database;
-import at.tuwien.entities.database.DatabaseAccess;
-import at.tuwien.entities.database.View;
-import at.tuwien.entities.user.User;
-import at.tuwien.exception.*;
+import at.ac.tuwien.ifs.dbrepo.api.database.CreateViewDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.ViewBriefDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.ViewDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.ViewUpdateDto;
+import at.ac.tuwien.ifs.dbrepo.entity.database.Database;
+import at.ac.tuwien.ifs.dbrepo.entity.database.DatabaseAccess;
+import at.ac.tuwien.ifs.dbrepo.entity.database.View;
+import at.ac.tuwien.ifs.dbrepo.entity.user.User;
+import at.ac.tuwien.ifs.dbrepo.exception.*;
 import at.tuwien.service.*;
-import at.tuwien.test.AbstractUnitTest;
+import at.ac.tuwien.ifs.dbrepo.test.AbstractUnitTest;
 import lombok.extern.log4j.Log4j2;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/entities/EntitiesUnitTest.java b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/entities/EntitiesUnitTest.java
index 4fdb83bcd7..0f3ddc336c 100644
--- a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/entities/EntitiesUnitTest.java
+++ b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/entities/EntitiesUnitTest.java
@@ -1,6 +1,6 @@
-package at.tuwien.entities;
+package at.ac.tuwien.ifs.dbrepo.entity;
 
-import at.tuwien.test.AbstractUnitTest;
+import at.ac.tuwien.ifs.dbrepo.test.AbstractUnitTest;
 import lombok.extern.log4j.Log4j2;
 import org.junit.jupiter.api.Test;
 
diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/gateway/BrokerServiceGatewayUnitTest.java b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/gateway/BrokerServiceGatewayUnitTest.java
index 32a8c8b190..16e8ba123c 100644
--- a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/gateway/BrokerServiceGatewayUnitTest.java
+++ b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/gateway/BrokerServiceGatewayUnitTest.java
@@ -1,8 +1,8 @@
 package at.tuwien.gateway;
 
-import at.tuwien.api.amqp.GrantExchangePermissionsDto;
-import at.tuwien.test.AbstractUnitTest;
-import at.tuwien.exception.*;
+import at.ac.tuwien.ifs.dbrepo.api.amqp.GrantExchangePermissionsDto;
+import at.ac.tuwien.ifs.dbrepo.test.AbstractUnitTest;
+import at.ac.tuwien.ifs.dbrepo.exception.*;
 import lombok.extern.log4j.Log4j2;
 import org.junit.jupiter.api.Test;
 import org.junit.jupiter.api.extension.ExtendWith;
diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/gateway/CrossrefGatewayUnitTest.java b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/gateway/CrossrefGatewayUnitTest.java
index 881f29ed04..94ac4f62a7 100644
--- a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/gateway/CrossrefGatewayUnitTest.java
+++ b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/gateway/CrossrefGatewayUnitTest.java
@@ -1,8 +1,8 @@
 package at.tuwien.gateway;
 
-import at.tuwien.test.AbstractUnitTest;
-import at.tuwien.api.crossref.CrossrefDto;
-import at.tuwien.exception.DoiNotFoundException;
+import at.ac.tuwien.ifs.dbrepo.test.AbstractUnitTest;
+import at.ac.tuwien.ifs.dbrepo.api.crossref.CrossrefDto;
+import at.ac.tuwien.ifs.dbrepo.exception.DoiNotFoundException;
 import lombok.extern.log4j.Log4j2;
 import org.junit.jupiter.api.Test;
 import org.junit.jupiter.api.extension.ExtendWith;
diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/gateway/DashboardServiceGatewayUnitTest.java b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/gateway/DashboardServiceGatewayUnitTest.java
index affb7571c5..55f42008b7 100644
--- a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/gateway/DashboardServiceGatewayUnitTest.java
+++ b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/gateway/DashboardServiceGatewayUnitTest.java
@@ -1,10 +1,10 @@
 package at.tuwien.gateway;
 
-import at.tuwien.api.grafana.CreateDashboardResponseDto;
-import at.tuwien.api.grafana.PermissionTypeDto;
-import at.tuwien.exception.DashboardServiceConnectionException;
-import at.tuwien.exception.DashboardServiceException;
-import at.tuwien.test.AbstractUnitTest;
+import at.ac.tuwien.ifs.dbrepo.api.grafana.CreateDashboardResponseDto;
+import at.ac.tuwien.ifs.dbrepo.api.grafana.PermissionTypeDto;
+import at.ac.tuwien.ifs.dbrepo.exception.DashboardServiceConnectionException;
+import at.ac.tuwien.ifs.dbrepo.exception.DashboardServiceException;
+import at.ac.tuwien.ifs.dbrepo.test.AbstractUnitTest;
 import lombok.extern.log4j.Log4j2;
 import org.junit.jupiter.api.Test;
 import org.junit.jupiter.api.extension.ExtendWith;
@@ -21,6 +21,7 @@ import org.springframework.web.client.HttpClientErrorException;
 import org.springframework.web.client.HttpServerErrorException;
 import org.springframework.web.client.RestTemplate;
 
+import static at.ac.tuwien.ifs.dbrepo.test.BaseTest.DATABASE_2_CREATE_DASHBOARD_DTO;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertThrows;
 import static org.mockito.ArgumentMatchers.*;
diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/gateway/DataServiceGatewayUnitTest.java b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/gateway/DataServiceGatewayUnitTest.java
index 6a8a1cba91..8acb7530bf 100644
--- a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/gateway/DataServiceGatewayUnitTest.java
+++ b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/gateway/DataServiceGatewayUnitTest.java
@@ -1,13 +1,13 @@
 package at.tuwien.gateway;
 
-import at.tuwien.api.database.AccessTypeDto;
-import at.tuwien.api.database.DatabaseDto;
-import at.tuwien.api.database.ViewDto;
-import at.tuwien.api.database.query.QueryDto;
-import at.tuwien.api.database.table.TableDto;
-import at.tuwien.api.database.table.TableStatisticDto;
-import at.tuwien.exception.*;
-import at.tuwien.test.AbstractUnitTest;
+import at.ac.tuwien.ifs.dbrepo.api.database.AccessTypeDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.DatabaseDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.ViewDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.query.QueryDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.TableDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.TableStatisticDto;
+import at.ac.tuwien.ifs.dbrepo.test.AbstractUnitTest;
+import at.ac.tuwien.ifs.dbrepo.exception.*;
 import lombok.extern.log4j.Log4j2;
 import org.junit.jupiter.api.Test;
 import org.junit.jupiter.api.extension.ExtendWith;
diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/gateway/KeycloakGatewayIntegrationTest.java b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/gateway/KeycloakGatewayIntegrationTest.java
index f610ef0181..7fee23320e 100644
--- a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/gateway/KeycloakGatewayIntegrationTest.java
+++ b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/gateway/KeycloakGatewayIntegrationTest.java
@@ -1,9 +1,9 @@
 package at.tuwien.gateway;
 
-import at.tuwien.exception.AuthServiceException;
-import at.tuwien.exception.UserNotFoundException;
+import at.ac.tuwien.ifs.dbrepo.exception.AuthServiceException;
+import at.ac.tuwien.ifs.dbrepo.exception.UserNotFoundException;
 import at.tuwien.gateway.impl.KeycloakGatewayImpl;
-import at.tuwien.test.AbstractUnitTest;
+import at.ac.tuwien.ifs.dbrepo.test.AbstractUnitTest;
 import at.tuwien.utils.KeycloakUtils;
 import dasniko.testcontainers.keycloak.KeycloakContainer;
 import lombok.extern.log4j.Log4j2;
diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/gateway/OrcidGatewayUnitTest.java b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/gateway/OrcidGatewayUnitTest.java
index bcd27107bc..63d8d5e936 100644
--- a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/gateway/OrcidGatewayUnitTest.java
+++ b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/gateway/OrcidGatewayUnitTest.java
@@ -1,8 +1,8 @@
 package at.tuwien.gateway;
 
-import at.tuwien.test.AbstractUnitTest;
-import at.tuwien.api.orcid.OrcidDto;
-import at.tuwien.exception.OrcidNotFoundException;
+import at.ac.tuwien.ifs.dbrepo.test.AbstractUnitTest;
+import at.ac.tuwien.ifs.dbrepo.api.orcid.OrcidDto;
+import at.ac.tuwien.ifs.dbrepo.exception.OrcidNotFoundException;
 import lombok.extern.log4j.Log4j2;
 import org.junit.jupiter.api.Test;
 import org.junit.jupiter.api.extension.ExtendWith;
diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/gateway/RorGatewayUnitTest.java b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/gateway/RorGatewayUnitTest.java
index ff9d4f741c..259b132f48 100644
--- a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/gateway/RorGatewayUnitTest.java
+++ b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/gateway/RorGatewayUnitTest.java
@@ -1,8 +1,8 @@
 package at.tuwien.gateway;
 
-import at.tuwien.test.AbstractUnitTest;
-import at.tuwien.api.ror.RorDto;
-import at.tuwien.exception.*;
+import at.ac.tuwien.ifs.dbrepo.test.AbstractUnitTest;
+import at.ac.tuwien.ifs.dbrepo.api.ror.RorDto;
+import at.ac.tuwien.ifs.dbrepo.exception.*;
 import lombok.extern.log4j.Log4j2;
 import org.junit.jupiter.api.Test;
 import org.junit.jupiter.api.extension.ExtendWith;
diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/gateway/SearchServiceGatewayUnitTest.java b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/gateway/SearchServiceGatewayUnitTest.java
index b39dd06bac..63a9dc407a 100644
--- a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/gateway/SearchServiceGatewayUnitTest.java
+++ b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/gateway/SearchServiceGatewayUnitTest.java
@@ -1,8 +1,8 @@
 package at.tuwien.gateway;
 
-import at.tuwien.test.AbstractUnitTest;
-import at.tuwien.api.database.DatabaseBriefDto;
-import at.tuwien.exception.*;
+import at.ac.tuwien.ifs.dbrepo.test.AbstractUnitTest;
+import at.ac.tuwien.ifs.dbrepo.api.database.DatabaseBriefDto;
+import at.ac.tuwien.ifs.dbrepo.exception.*;
 import lombok.extern.log4j.Log4j2;
 import org.junit.jupiter.api.Test;
 import org.junit.jupiter.api.extension.ExtendWith;
diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/handlers/ApiExceptionHandlerTest.java b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/handlers/ApiExceptionHandlerTest.java
index 383150adf9..c458f0ee19 100644
--- a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/handlers/ApiExceptionHandlerTest.java
+++ b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/handlers/ApiExceptionHandlerTest.java
@@ -1,8 +1,8 @@
 package at.tuwien.handlers;
 
-import at.tuwien.api.error.ApiErrorDto;
-import at.tuwien.exception.*;
-import at.tuwien.test.AbstractUnitTest;
+import at.ac.tuwien.ifs.dbrepo.api.error.ApiErrorDto;
+import at.ac.tuwien.ifs.dbrepo.exception.*;
+import at.ac.tuwien.ifs.dbrepo.test.AbstractUnitTest;
 import com.auth0.jwt.exceptions.TokenExpiredException;
 import jakarta.ws.rs.NotAuthorizedException;
 import lombok.extern.log4j.Log4j2;
@@ -23,8 +23,8 @@ import java.util.Arrays;
 import java.util.List;
 import java.util.Optional;
 
-import static at.tuwien.test.utils.EndpointUtils.getErrorCodes;
-import static at.tuwien.test.utils.EndpointUtils.getExceptions;
+import static at.ac.tuwien.ifs.dbrepo.test.utils.EndpointUtils.getErrorCodes;
+import static at.ac.tuwien.ifs.dbrepo.test.utils.EndpointUtils.getExceptions;
 import static org.junit.jupiter.api.Assertions.*;
 
 @Log4j2
diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/mapper/MetadataMapperUnitTest.java b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/mapper/MetadataMapperUnitTest.java
index ac1103d2e5..768a06c6dc 100644
--- a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/mapper/MetadataMapperUnitTest.java
+++ b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/mapper/MetadataMapperUnitTest.java
@@ -1,12 +1,12 @@
 package at.tuwien.mapper;
 
-import at.tuwien.api.database.ViewDto;
-import at.tuwien.api.identifier.IdentifierTypeDto;
-import at.tuwien.api.user.UserBriefDto;
-import at.tuwien.entities.database.View;
-import at.tuwien.entities.identifier.Identifier;
-import at.tuwien.entities.identifier.IdentifierType;
-import at.tuwien.test.AbstractUnitTest;
+import at.ac.tuwien.ifs.dbrepo.api.database.ViewDto;
+import at.ac.tuwien.ifs.dbrepo.api.identifier.IdentifierTypeDto;
+import at.ac.tuwien.ifs.dbrepo.api.user.UserBriefDto;
+import at.ac.tuwien.ifs.dbrepo.entity.database.View;
+import at.ac.tuwien.ifs.dbrepo.entity.identifier.Identifier;
+import at.ac.tuwien.ifs.dbrepo.entity.identifier.IdentifierType;
+import at.ac.tuwien.ifs.dbrepo.test.AbstractUnitTest;
 import lombok.extern.log4j.Log4j2;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/mvc/ActuatorEndpointMvcTest.java b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/mvc/ActuatorEndpointMvcTest.java
index a7a83a6184..2781f51c82 100644
--- a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/mvc/ActuatorEndpointMvcTest.java
+++ b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/mvc/ActuatorEndpointMvcTest.java
@@ -1,6 +1,6 @@
 package at.tuwien.mvc;
 
-import at.tuwien.test.AbstractUnitTest;
+import at.ac.tuwien.ifs.dbrepo.test.AbstractUnitTest;
 import lombok.extern.log4j.Log4j2;
 import org.junit.jupiter.api.Test;
 import org.junit.jupiter.api.extension.ExtendWith;
diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/mvc/AuthenticationPrivilegedIntegrationMvcTest.java b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/mvc/AuthenticationPrivilegedIntegrationMvcTest.java
index a51482e798..b83232cd0d 100644
--- a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/mvc/AuthenticationPrivilegedIntegrationMvcTest.java
+++ b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/mvc/AuthenticationPrivilegedIntegrationMvcTest.java
@@ -1,15 +1,15 @@
 package at.tuwien.mvc;
 
-import at.tuwien.api.keycloak.TokenDto;
-import at.tuwien.exception.AuthServiceConnectionException;
-import at.tuwien.exception.AuthServiceException;
-import at.tuwien.exception.CredentialsInvalidException;
+import at.ac.tuwien.ifs.dbrepo.api.keycloak.TokenDto;
+import at.ac.tuwien.ifs.dbrepo.exception.AuthServiceConnectionException;
+import at.ac.tuwien.ifs.dbrepo.exception.AuthServiceException;
+import at.ac.tuwien.ifs.dbrepo.exception.CredentialsInvalidException;
 import at.tuwien.gateway.KeycloakGateway;
 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 at.ac.tuwien.ifs.dbrepo.test.AbstractUnitTest;
 import at.tuwien.utils.KeycloakUtils;
 import dasniko.testcontainers.keycloak.KeycloakContainer;
 import jakarta.transaction.Transactional;
diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/mvc/IdentifierEndpointMvcTest.java b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/mvc/IdentifierEndpointMvcTest.java
index 2594eb70b1..fdbedbea6c 100644
--- a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/mvc/IdentifierEndpointMvcTest.java
+++ b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/mvc/IdentifierEndpointMvcTest.java
@@ -1,6 +1,6 @@
 package at.tuwien.mvc;
 
-import at.tuwien.test.AbstractUnitTest;
+import at.ac.tuwien.ifs.dbrepo.test.AbstractUnitTest;
 import at.tuwien.gateway.OrcidGateway;
 import com.mchange.io.FileUtils;
 import lombok.extern.log4j.Log4j2;
diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/mvc/MetadataEndpointMvcTest.java b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/mvc/MetadataEndpointMvcTest.java
index 7f9ba9743d..25dae0b211 100644
--- a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/mvc/MetadataEndpointMvcTest.java
+++ b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/mvc/MetadataEndpointMvcTest.java
@@ -1,7 +1,7 @@
 package at.tuwien.mvc;
 
 import at.tuwien.repository.IdentifierRepository;
-import at.tuwien.test.AbstractUnitTest;
+import at.ac.tuwien.ifs.dbrepo.test.AbstractUnitTest;
 import at.tuwien.config.MetadataConfig;
 import lombok.extern.log4j.Log4j2;
 import org.junit.jupiter.api.BeforeEach;
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 d685ca65cd..e990c8b84d 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
@@ -1,8 +1,8 @@
 package at.tuwien.mvc;
 
-import at.tuwien.api.error.ApiErrorDto;
+import at.ac.tuwien.ifs.dbrepo.api.error.ApiErrorDto;
 import at.tuwien.endpoints.*;
-import at.tuwien.test.AbstractUnitTest;
+import at.ac.tuwien.ifs.dbrepo.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;
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 2adc2f0647..d9f09c4b2e 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
@@ -1,14 +1,14 @@
 package at.tuwien.mvc;
 
-import at.tuwien.api.container.CreateContainerDto;
-import at.tuwien.api.database.DatabaseModifyImageDto;
-import at.tuwien.api.database.DatabaseModifyVisibilityDto;
-import at.tuwien.api.database.DatabaseTransferDto;
-import at.tuwien.api.database.table.columns.concepts.ColumnSemanticsUpdateDto;
-import at.tuwien.api.identifier.IdentifierTypeDto;
+import at.ac.tuwien.ifs.dbrepo.api.container.CreateContainerDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.DatabaseModifyImageDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.DatabaseModifyVisibilityDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.DatabaseTransferDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.columns.concepts.ColumnSemanticsUpdateDto;
+import at.ac.tuwien.ifs.dbrepo.api.identifier.IdentifierTypeDto;
 import at.tuwien.config.MetricsConfig;
 import at.tuwien.endpoints.*;
-import at.tuwien.test.AbstractUnitTest;
+import at.ac.tuwien.ifs.dbrepo.test.AbstractUnitTest;
 import io.micrometer.observation.tck.TestObservationRegistry;
 import lombok.extern.log4j.Log4j2;
 import org.junit.jupiter.api.Test;
diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/service/AccessServiceUnitTest.java b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/service/AccessServiceUnitTest.java
index 1c96e6283d..e9e8092b3e 100644
--- a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/service/AccessServiceUnitTest.java
+++ b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/service/AccessServiceUnitTest.java
@@ -1,12 +1,12 @@
 package at.tuwien.service;
 
-import at.tuwien.exception.*;
-import at.tuwien.test.AbstractUnitTest;
-import at.tuwien.api.database.AccessTypeDto;
-import at.tuwien.api.database.DatabaseBriefDto;
-import at.tuwien.entities.database.AccessType;
-import at.tuwien.entities.database.Database;
-import at.tuwien.entities.database.DatabaseAccess;
+import at.ac.tuwien.ifs.dbrepo.exception.*;
+import at.ac.tuwien.ifs.dbrepo.test.AbstractUnitTest;
+import at.ac.tuwien.ifs.dbrepo.api.database.AccessTypeDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.DatabaseBriefDto;
+import at.ac.tuwien.ifs.dbrepo.entity.database.AccessType;
+import at.ac.tuwien.ifs.dbrepo.entity.database.Database;
+import at.ac.tuwien.ifs.dbrepo.entity.database.DatabaseAccess;
 import at.tuwien.repository.DatabaseRepository;
 import lombok.extern.log4j.Log4j2;
 import org.junit.jupiter.api.BeforeEach;
diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/service/AuthenticationServiceIntegrationTest.java b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/service/AuthenticationServiceIntegrationTest.java
index 019776b3f2..6ab6c1fb2b 100644
--- a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/service/AuthenticationServiceIntegrationTest.java
+++ b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/service/AuthenticationServiceIntegrationTest.java
@@ -1,9 +1,9 @@
 package at.tuwien.service;
 
-import at.tuwien.entities.user.User;
-import at.tuwien.exception.*;
+import at.ac.tuwien.ifs.dbrepo.entity.user.User;
+import at.ac.tuwien.ifs.dbrepo.exception.*;
 import at.tuwien.gateway.KeycloakGateway;
-import at.tuwien.test.AbstractUnitTest;
+import at.ac.tuwien.ifs.dbrepo.test.AbstractUnitTest;
 import at.tuwien.utils.KeycloakUtils;
 import dasniko.testcontainers.keycloak.KeycloakContainer;
 import lombok.extern.log4j.Log4j2;
diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/service/BrokerServiceIntegrationTest.java b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/service/BrokerServiceIntegrationTest.java
index d04409c87b..edd641f67b 100644
--- a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/service/BrokerServiceIntegrationTest.java
+++ b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/service/BrokerServiceIntegrationTest.java
@@ -1,15 +1,15 @@
 package at.tuwien.service;
 
-import at.tuwien.api.amqp.GrantExchangePermissionsDto;
-import at.tuwien.api.amqp.GrantVirtualHostPermissionsDto;
-import at.tuwien.api.amqp.TopicPermissionDto;
-import at.tuwien.api.amqp.VirtualHostPermissionDto;
+import at.ac.tuwien.ifs.dbrepo.api.amqp.GrantExchangePermissionsDto;
+import at.ac.tuwien.ifs.dbrepo.api.amqp.GrantVirtualHostPermissionsDto;
+import at.ac.tuwien.ifs.dbrepo.api.amqp.TopicPermissionDto;
+import at.ac.tuwien.ifs.dbrepo.api.amqp.VirtualHostPermissionDto;
 import at.tuwien.config.RabbitConfig;
-import at.tuwien.entities.database.DatabaseAccess;
-import at.tuwien.entities.user.User;
-import at.tuwien.exception.BrokerServiceConnectionException;
-import at.tuwien.exception.BrokerServiceException;
-import at.tuwien.test.AbstractUnitTest;
+import at.ac.tuwien.ifs.dbrepo.entity.database.DatabaseAccess;
+import at.ac.tuwien.ifs.dbrepo.entity.user.User;
+import at.ac.tuwien.ifs.dbrepo.exception.BrokerServiceConnectionException;
+import at.ac.tuwien.ifs.dbrepo.exception.BrokerServiceException;
+import at.ac.tuwien.ifs.dbrepo.test.AbstractUnitTest;
 import at.tuwien.utils.AmqpUtils;
 import lombok.extern.log4j.Log4j2;
 import org.junit.jupiter.api.BeforeEach;
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 164f335eb7..fb23ae6579 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
@@ -1,9 +1,9 @@
 package at.tuwien.service;
 
-import at.tuwien.exception.ConceptNotFoundException;
+import at.ac.tuwien.ifs.dbrepo.exception.ConceptNotFoundException;
 import at.tuwien.repository.ConceptRepository;
-import at.tuwien.test.AbstractUnitTest;
-import at.tuwien.entities.database.table.columns.TableColumnConcept;
+import at.ac.tuwien.ifs.dbrepo.test.AbstractUnitTest;
+import at.ac.tuwien.ifs.dbrepo.entity.database.table.columns.TableColumnConcept;
 import lombok.extern.log4j.Log4j2;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/service/ContainerServiceUnitTest.java b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/service/ContainerServiceUnitTest.java
index a6fbbf7592..0d5e660cb1 100644
--- a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/service/ContainerServiceUnitTest.java
+++ b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/service/ContainerServiceUnitTest.java
@@ -1,13 +1,13 @@
 package at.tuwien.service;
 
-import at.tuwien.api.container.CreateContainerDto;
-import at.tuwien.entities.container.Container;
-import at.tuwien.exception.ContainerAlreadyExistsException;
-import at.tuwien.exception.ContainerNotFoundException;
-import at.tuwien.exception.ImageNotFoundException;
+import at.ac.tuwien.ifs.dbrepo.api.container.CreateContainerDto;
+import at.ac.tuwien.ifs.dbrepo.entity.container.Container;
+import at.ac.tuwien.ifs.dbrepo.exception.ContainerAlreadyExistsException;
+import at.ac.tuwien.ifs.dbrepo.exception.ContainerNotFoundException;
+import at.ac.tuwien.ifs.dbrepo.exception.ImageNotFoundException;
 import at.tuwien.repository.ContainerRepository;
 import at.tuwien.repository.ImageRepository;
-import at.tuwien.test.AbstractUnitTest;
+import at.ac.tuwien.ifs.dbrepo.test.AbstractUnitTest;
 import lombok.extern.log4j.Log4j2;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
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 137f654b76..f0dfe23ea3 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
@@ -1,20 +1,20 @@
 package at.tuwien.service;
 
-import at.tuwien.api.datacite.DataCiteBody;
-import at.tuwien.api.datacite.doi.DataCiteDoi;
-import at.tuwien.api.identifier.BibliographyTypeDto;
-import at.tuwien.entities.database.Database;
-import at.tuwien.entities.identifier.Creator;
-import at.tuwien.entities.identifier.Identifier;
-import at.tuwien.entities.identifier.IdentifierStatusType;
-import at.tuwien.entities.identifier.NameIdentifierSchemeType;
-import at.tuwien.exception.*;
+import at.ac.tuwien.ifs.dbrepo.api.datacite.DataCiteBody;
+import at.ac.tuwien.ifs.dbrepo.api.datacite.doi.DataCiteDoi;
+import at.ac.tuwien.ifs.dbrepo.api.identifier.BibliographyTypeDto;
+import at.ac.tuwien.ifs.dbrepo.entity.database.Database;
+import at.ac.tuwien.ifs.dbrepo.entity.identifier.Creator;
+import at.ac.tuwien.ifs.dbrepo.entity.identifier.Identifier;
+import at.ac.tuwien.ifs.dbrepo.entity.identifier.IdentifierStatusType;
+import at.ac.tuwien.ifs.dbrepo.entity.identifier.NameIdentifierSchemeType;
+import at.ac.tuwien.ifs.dbrepo.exception.*;
 import at.tuwien.gateway.SearchServiceGateway;
 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 at.ac.tuwien.ifs.dbrepo.test.AbstractUnitTest;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 import org.junit.jupiter.api.extension.ExtendWith;
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 db1f54faef..7055834b52 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
@@ -1,13 +1,13 @@
 package at.tuwien.service;
 
-import at.tuwien.entities.container.Container;
-import at.tuwien.entities.database.Database;
-import at.tuwien.exception.DatabaseNotFoundException;
+import at.ac.tuwien.ifs.dbrepo.entity.container.Container;
+import at.ac.tuwien.ifs.dbrepo.entity.database.Database;
+import at.ac.tuwien.ifs.dbrepo.exception.DatabaseNotFoundException;
 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 at.ac.tuwien.ifs.dbrepo.test.AbstractUnitTest;
 import lombok.extern.log4j.Log4j2;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
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 592cd0d6d6..33be047995 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
@@ -1,16 +1,16 @@
 package at.tuwien.service;
 
-import at.tuwien.api.database.DatabaseModifyVisibilityDto;
-import at.tuwien.api.database.internal.CreateDatabaseDto;
-import at.tuwien.api.user.internal.UpdateUserPasswordDto;
-import at.tuwien.entities.database.Database;
-import at.tuwien.entities.database.table.Table;
-import at.tuwien.entities.user.User;
-import at.tuwien.exception.*;
+import at.ac.tuwien.ifs.dbrepo.api.database.DatabaseModifyVisibilityDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.internal.CreateDatabaseDto;
+import at.ac.tuwien.ifs.dbrepo.api.user.internal.UpdateUserPasswordDto;
+import at.ac.tuwien.ifs.dbrepo.entity.database.Database;
+import at.ac.tuwien.ifs.dbrepo.entity.database.table.Table;
+import at.ac.tuwien.ifs.dbrepo.entity.user.User;
+import at.ac.tuwien.ifs.dbrepo.exception.*;
 import at.tuwien.gateway.DataServiceGateway;
 import at.tuwien.gateway.SearchServiceGateway;
 import at.tuwien.repository.DatabaseRepository;
-import at.tuwien.test.AbstractUnitTest;
+import at.ac.tuwien.ifs.dbrepo.test.AbstractUnitTest;
 import lombok.extern.log4j.Log4j2;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/service/EntityServiceUnitTest.java b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/service/EntityServiceUnitTest.java
index afe3b6e2b8..d2555c6703 100644
--- a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/service/EntityServiceUnitTest.java
+++ b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/service/EntityServiceUnitTest.java
@@ -1,9 +1,9 @@
 package at.tuwien.service;
 
-import at.tuwien.test.AbstractUnitTest;
-import at.tuwien.api.semantics.EntityDto;
-import at.tuwien.api.semantics.TableColumnEntityDto;
-import at.tuwien.exception.*;
+import at.ac.tuwien.ifs.dbrepo.test.AbstractUnitTest;
+import at.ac.tuwien.ifs.dbrepo.api.semantics.EntityDto;
+import at.ac.tuwien.ifs.dbrepo.api.semantics.TableColumnEntityDto;
+import at.ac.tuwien.ifs.dbrepo.exception.*;
 import lombok.extern.log4j.Log4j2;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Disabled;
diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/service/IdentifierServicePersistenceTest.java b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/service/IdentifierServicePersistenceTest.java
index b5d5278219..68a50698ca 100644
--- a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/service/IdentifierServicePersistenceTest.java
+++ b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/service/IdentifierServicePersistenceTest.java
@@ -1,19 +1,19 @@
 package at.tuwien.service;
 
-import at.tuwien.api.database.query.QueryDto;
-import at.tuwien.api.identifier.BibliographyTypeDto;
-import at.tuwien.entities.container.Container;
-import at.tuwien.entities.database.Database;
-import at.tuwien.entities.database.License;
-import at.tuwien.entities.identifier.*;
-import at.tuwien.exception.*;
+import at.ac.tuwien.ifs.dbrepo.api.database.query.QueryDto;
+import at.ac.tuwien.ifs.dbrepo.api.identifier.BibliographyTypeDto;
+import at.ac.tuwien.ifs.dbrepo.entity.container.Container;
+import at.ac.tuwien.ifs.dbrepo.entity.database.Database;
+import at.ac.tuwien.ifs.dbrepo.entity.database.License;
+import at.ac.tuwien.ifs.dbrepo.entity.identifier.*;
+import at.ac.tuwien.ifs.dbrepo.exception.*;
 import at.tuwien.gateway.DataServiceGateway;
 import at.tuwien.gateway.SearchServiceGateway;
 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 at.ac.tuwien.ifs.dbrepo.test.AbstractUnitTest;
 import lombok.extern.log4j.Log4j2;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/service/ImageServicePersistenceTest.java b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/service/ImageServicePersistenceTest.java
index fb501cb281..f23a7c96d0 100644
--- a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/service/ImageServicePersistenceTest.java
+++ b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/service/ImageServicePersistenceTest.java
@@ -1,9 +1,9 @@
 package at.tuwien.service;
 
-import at.tuwien.exception.ImageInvalidException;
-import at.tuwien.test.AbstractUnitTest;
-import at.tuwien.api.container.image.ImageCreateDto;
-import at.tuwien.exception.ImageAlreadyExistsException;
+import at.ac.tuwien.ifs.dbrepo.exception.ImageInvalidException;
+import at.ac.tuwien.ifs.dbrepo.test.AbstractUnitTest;
+import at.ac.tuwien.ifs.dbrepo.api.container.image.ImageCreateDto;
+import at.ac.tuwien.ifs.dbrepo.exception.ImageAlreadyExistsException;
 import at.tuwien.repository.ContainerRepository;
 import at.tuwien.repository.ImageRepository;
 import lombok.extern.log4j.Log4j2;
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 dc77ff263b..12737718aa 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
@@ -1,12 +1,12 @@
 package at.tuwien.service;
 
-import at.tuwien.exception.ImageInvalidException;
-import at.tuwien.exception.ImageNotFoundException;
-import at.tuwien.test.AbstractUnitTest;
-import at.tuwien.api.container.image.ImageChangeDto;
-import at.tuwien.api.container.image.ImageCreateDto;
-import at.tuwien.entities.container.image.ContainerImage;
-import at.tuwien.exception.ImageAlreadyExistsException;
+import at.ac.tuwien.ifs.dbrepo.exception.ImageInvalidException;
+import at.ac.tuwien.ifs.dbrepo.exception.ImageNotFoundException;
+import at.ac.tuwien.ifs.dbrepo.test.AbstractUnitTest;
+import at.ac.tuwien.ifs.dbrepo.api.container.image.ImageChangeDto;
+import at.ac.tuwien.ifs.dbrepo.api.container.image.ImageCreateDto;
+import at.ac.tuwien.ifs.dbrepo.entity.container.image.ContainerImage;
+import at.ac.tuwien.ifs.dbrepo.exception.ImageAlreadyExistsException;
 import at.tuwien.repository.ImageRepository;
 import at.tuwien.service.impl.ImageServiceImpl;
 import jakarta.validation.ConstraintViolationException;
diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/service/LicenseServiceUnitTest.java b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/service/LicenseServiceUnitTest.java
index a73ce8df24..88935be421 100644
--- a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/service/LicenseServiceUnitTest.java
+++ b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/service/LicenseServiceUnitTest.java
@@ -1,8 +1,8 @@
 package at.tuwien.service;
 
-import at.tuwien.exception.LicenseNotFoundException;
-import at.tuwien.test.AbstractUnitTest;
-import at.tuwien.entities.database.License;
+import at.ac.tuwien.ifs.dbrepo.exception.LicenseNotFoundException;
+import at.ac.tuwien.ifs.dbrepo.test.AbstractUnitTest;
+import at.ac.tuwien.ifs.dbrepo.entity.database.License;
 import at.tuwien.repository.LicenseRepository;
 import lombok.extern.log4j.Log4j2;
 import org.junit.jupiter.api.BeforeEach;
diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/service/MessageServiceUnitTest.java b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/service/MessageServiceUnitTest.java
index fb7806f454..68b569962b 100644
--- a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/service/MessageServiceUnitTest.java
+++ b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/service/MessageServiceUnitTest.java
@@ -1,10 +1,10 @@
 package at.tuwien.service;
 
-import at.tuwien.exception.MessageNotFoundException;
-import at.tuwien.test.AbstractUnitTest;
-import at.tuwien.api.maintenance.BannerMessageCreateDto;
-import at.tuwien.api.maintenance.BannerMessageUpdateDto;
-import at.tuwien.entities.maintenance.BannerMessage;
+import at.ac.tuwien.ifs.dbrepo.exception.MessageNotFoundException;
+import at.ac.tuwien.ifs.dbrepo.test.AbstractUnitTest;
+import at.ac.tuwien.ifs.dbrepo.api.maintenance.BannerMessageCreateDto;
+import at.ac.tuwien.ifs.dbrepo.api.maintenance.BannerMessageUpdateDto;
+import at.ac.tuwien.ifs.dbrepo.entity.maintenance.BannerMessage;
 import at.tuwien.repository.BannerMessageRepository;
 import lombok.extern.log4j.Log4j2;
 import org.junit.jupiter.api.BeforeEach;
diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/service/MetadataServiceUnitTest.java b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/service/MetadataServiceUnitTest.java
index 2f4fd3a85a..32d45fc41a 100644
--- a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/service/MetadataServiceUnitTest.java
+++ b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/service/MetadataServiceUnitTest.java
@@ -1,18 +1,18 @@
 package at.tuwien.service;
 
-import at.tuwien.api.crossref.CrossrefDto;
-import at.tuwien.api.orcid.OrcidDto;
-import at.tuwien.api.ror.RorDto;
-import at.tuwien.api.user.external.ExternalMetadataDto;
-import at.tuwien.api.user.external.affiliation.ExternalAffiliationDto;
-import at.tuwien.exception.*;
+import at.ac.tuwien.ifs.dbrepo.api.crossref.CrossrefDto;
+import at.ac.tuwien.ifs.dbrepo.api.orcid.OrcidDto;
+import at.ac.tuwien.ifs.dbrepo.api.ror.RorDto;
+import at.ac.tuwien.ifs.dbrepo.api.user.external.ExternalMetadataDto;
+import at.ac.tuwien.ifs.dbrepo.api.user.external.affiliation.ExternalAffiliationDto;
+import at.ac.tuwien.ifs.dbrepo.exception.*;
 import at.tuwien.gateway.CrossrefGateway;
 import at.tuwien.gateway.OrcidGateway;
 import at.tuwien.gateway.RorGateway;
 import at.tuwien.oaipmh.OaiErrorType;
 import at.tuwien.oaipmh.OaiListIdentifiersParameters;
 import at.tuwien.oaipmh.OaiRecordParameters;
-import at.tuwien.test.AbstractUnitTest;
+import at.ac.tuwien.ifs.dbrepo.test.AbstractUnitTest;
 import com.fasterxml.jackson.databind.DeserializationFeature;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import lombok.extern.log4j.Log4j2;
diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/service/StorageServiceIntegrationTest.java b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/service/StorageServiceIntegrationTest.java
index 5ef5f9742b..608ae03fc9 100644
--- a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/service/StorageServiceIntegrationTest.java
+++ b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/service/StorageServiceIntegrationTest.java
@@ -1,8 +1,8 @@
 package at.tuwien.service;
 
 import at.tuwien.config.S3Config;
-import at.tuwien.exception.*;
-import at.tuwien.test.AbstractUnitTest;
+import at.ac.tuwien.ifs.dbrepo.exception.*;
+import at.ac.tuwien.ifs.dbrepo.test.AbstractUnitTest;
 import lombok.extern.log4j.Log4j2;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
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 459c3b6dbe..41e131da8b 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
@@ -1,24 +1,24 @@
 package at.tuwien.service;
 
-import at.tuwien.api.database.table.CreateTableDto;
-import at.tuwien.api.database.table.columns.ColumnTypeDto;
-import at.tuwien.api.database.table.columns.CreateTableColumnDto;
-import at.tuwien.api.database.table.constraints.CreateTableConstraintsDto;
-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.TableColumnType;
-import at.tuwien.entities.database.table.constraints.foreignKey.ForeignKey;
-import at.tuwien.entities.database.table.constraints.primaryKey.PrimaryKey;
-import at.tuwien.entities.database.table.constraints.unique.Unique;
-import at.tuwien.exception.*;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.CreateTableDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.columns.ColumnTypeDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.columns.CreateTableColumnDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.constraints.CreateTableConstraintsDto;
+import at.ac.tuwien.ifs.dbrepo.entity.database.Database;
+import at.ac.tuwien.ifs.dbrepo.entity.database.table.Table;
+import at.ac.tuwien.ifs.dbrepo.entity.database.table.columns.TableColumn;
+import at.ac.tuwien.ifs.dbrepo.entity.database.table.columns.TableColumnType;
+import at.ac.tuwien.ifs.dbrepo.entity.database.table.constraints.foreignKey.ForeignKey;
+import at.ac.tuwien.ifs.dbrepo.entity.database.table.constraints.primaryKey.PrimaryKey;
+import at.ac.tuwien.ifs.dbrepo.entity.database.table.constraints.unique.Unique;
+import at.ac.tuwien.ifs.dbrepo.exception.*;
 import at.tuwien.gateway.DataServiceGateway;
 import at.tuwien.gateway.SearchServiceGateway;
 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 at.ac.tuwien.ifs.dbrepo.test.AbstractUnitTest;
 import lombok.extern.log4j.Log4j2;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
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 af866d5614..0748065d07 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
@@ -1,26 +1,26 @@
 package at.tuwien.service;
 
-import at.tuwien.api.database.table.CreateTableDto;
-import at.tuwien.api.database.table.TableStatisticDto;
-import at.tuwien.api.database.table.TableUpdateDto;
-import at.tuwien.api.database.table.columns.ColumnStatisticDto;
-import at.tuwien.api.database.table.columns.ColumnTypeDto;
-import at.tuwien.api.database.table.columns.CreateTableColumnDto;
-import at.tuwien.api.database.table.columns.concepts.ColumnSemanticsUpdateDto;
-import at.tuwien.api.database.table.constraints.CreateTableConstraintsDto;
-import at.tuwien.api.database.table.constraints.foreign.CreateForeignKeyDto;
-import at.tuwien.entities.database.Database;
-import at.tuwien.entities.database.table.Table;
-import at.tuwien.entities.database.table.columns.ColumnEnum;
-import at.tuwien.entities.database.table.columns.ColumnSet;
-import at.tuwien.entities.database.table.columns.TableColumn;
-import at.tuwien.entities.database.table.columns.TableColumnType;
-import at.tuwien.entities.database.table.constraints.Constraints;
-import at.tuwien.exception.*;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.CreateTableDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.TableStatisticDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.TableUpdateDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.columns.ColumnStatisticDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.columns.ColumnTypeDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.columns.CreateTableColumnDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.columns.concepts.ColumnSemanticsUpdateDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.constraints.CreateTableConstraintsDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.constraints.foreign.CreateForeignKeyDto;
+import at.ac.tuwien.ifs.dbrepo.entity.database.Database;
+import at.ac.tuwien.ifs.dbrepo.entity.database.table.Table;
+import at.ac.tuwien.ifs.dbrepo.entity.database.table.columns.ColumnEnum;
+import at.ac.tuwien.ifs.dbrepo.entity.database.table.columns.ColumnSet;
+import at.ac.tuwien.ifs.dbrepo.entity.database.table.columns.TableColumn;
+import at.ac.tuwien.ifs.dbrepo.entity.database.table.columns.TableColumnType;
+import at.ac.tuwien.ifs.dbrepo.entity.database.table.constraints.Constraints;
+import at.ac.tuwien.ifs.dbrepo.exception.*;
 import at.tuwien.gateway.DataServiceGateway;
 import at.tuwien.gateway.SearchServiceGateway;
 import at.tuwien.repository.DatabaseRepository;
-import at.tuwien.test.AbstractUnitTest;
+import at.ac.tuwien.ifs.dbrepo.test.AbstractUnitTest;
 import lombok.extern.log4j.Log4j2;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/service/UnitServiceUnitTest.java b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/service/UnitServiceUnitTest.java
index 67b396c660..d76b26f904 100644
--- a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/service/UnitServiceUnitTest.java
+++ b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/service/UnitServiceUnitTest.java
@@ -1,9 +1,9 @@
 package at.tuwien.service;
 
 import at.tuwien.repository.UnitRepository;
-import at.tuwien.test.AbstractUnitTest;
-import at.tuwien.entities.database.table.columns.TableColumnUnit;
-import at.tuwien.exception.UnitNotFoundException;
+import at.ac.tuwien.ifs.dbrepo.test.AbstractUnitTest;
+import at.ac.tuwien.ifs.dbrepo.entity.database.table.columns.TableColumnUnit;
+import at.ac.tuwien.ifs.dbrepo.exception.UnitNotFoundException;
 import lombok.extern.log4j.Log4j2;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/service/UserServiceIntegrationTest.java b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/service/UserServiceIntegrationTest.java
index 897ec6b82a..0d498c989c 100644
--- a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/service/UserServiceIntegrationTest.java
+++ b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/service/UserServiceIntegrationTest.java
@@ -1,11 +1,11 @@
 package at.tuwien.service;
 
-import at.tuwien.entities.user.User;
-import at.tuwien.exception.AuthServiceException;
-import at.tuwien.exception.UserNotFoundException;
+import at.ac.tuwien.ifs.dbrepo.entity.user.User;
+import at.ac.tuwien.ifs.dbrepo.exception.AuthServiceException;
+import at.ac.tuwien.ifs.dbrepo.exception.UserNotFoundException;
 import at.tuwien.gateway.KeycloakGateway;
 import at.tuwien.repository.UserRepository;
-import at.tuwien.test.AbstractUnitTest;
+import at.ac.tuwien.ifs.dbrepo.test.AbstractUnitTest;
 import at.tuwien.utils.KeycloakUtils;
 import dasniko.testcontainers.keycloak.KeycloakContainer;
 import lombok.extern.log4j.Log4j2;
diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/service/UserServicePersistenceTest.java b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/service/UserServicePersistenceTest.java
index c224fa9a85..8a0f771fd3 100644
--- a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/service/UserServicePersistenceTest.java
+++ b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/service/UserServicePersistenceTest.java
@@ -1,12 +1,12 @@
 package at.tuwien.service;
 
-import at.tuwien.api.user.UserUpdateDto;
-import at.tuwien.entities.user.User;
-import at.tuwien.exception.AuthServiceException;
-import at.tuwien.exception.UserNotFoundException;
+import at.ac.tuwien.ifs.dbrepo.api.user.UserUpdateDto;
+import at.ac.tuwien.ifs.dbrepo.entity.user.User;
+import at.ac.tuwien.ifs.dbrepo.exception.AuthServiceException;
+import at.ac.tuwien.ifs.dbrepo.exception.UserNotFoundException;
 import at.tuwien.gateway.KeycloakGateway;
 import at.tuwien.repository.UserRepository;
-import at.tuwien.test.AbstractUnitTest;
+import at.ac.tuwien.ifs.dbrepo.test.AbstractUnitTest;
 import lombok.extern.log4j.Log4j2;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/service/UserServiceUnitTest.java b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/service/UserServiceUnitTest.java
index c610f3ee95..31977d53e4 100644
--- a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/service/UserServiceUnitTest.java
+++ b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/service/UserServiceUnitTest.java
@@ -1,12 +1,12 @@
 package at.tuwien.service;
 
-import at.tuwien.api.user.UserUpdateDto;
-import at.tuwien.entities.user.User;
-import at.tuwien.exception.AuthServiceException;
-import at.tuwien.exception.UserNotFoundException;
+import at.ac.tuwien.ifs.dbrepo.api.user.UserUpdateDto;
+import at.ac.tuwien.ifs.dbrepo.entity.user.User;
+import at.ac.tuwien.ifs.dbrepo.exception.AuthServiceException;
+import at.ac.tuwien.ifs.dbrepo.exception.UserNotFoundException;
 import at.tuwien.gateway.KeycloakGateway;
 import at.tuwien.repository.UserRepository;
-import at.tuwien.test.AbstractUnitTest;
+import at.ac.tuwien.ifs.dbrepo.test.AbstractUnitTest;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 import org.junit.jupiter.api.extension.ExtendWith;
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
index 57a84965dc..1980117bf1 100644
--- 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
@@ -1,16 +1,16 @@
 package at.tuwien.service;
 
-import at.tuwien.entities.database.Database;
-import at.tuwien.entities.database.View;
-import at.tuwien.entities.database.ViewColumn;
-import at.tuwien.exception.*;
+import at.ac.tuwien.ifs.dbrepo.entity.database.Database;
+import at.ac.tuwien.ifs.dbrepo.entity.database.View;
+import at.ac.tuwien.ifs.dbrepo.entity.database.ViewColumn;
+import at.ac.tuwien.ifs.dbrepo.exception.*;
 import at.tuwien.gateway.DataServiceGateway;
 import at.tuwien.gateway.SearchServiceGateway;
 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 at.ac.tuwien.ifs.dbrepo.test.AbstractUnitTest;
 import lombok.extern.log4j.Log4j2;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Disabled;
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 e94a9bdb9b..4a3225e595 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
@@ -1,13 +1,13 @@
 package at.tuwien.service;
 
-import at.tuwien.api.database.CreateViewDto;
-import at.tuwien.entities.database.Database;
-import at.tuwien.entities.database.View;
-import at.tuwien.exception.*;
+import at.ac.tuwien.ifs.dbrepo.api.database.CreateViewDto;
+import at.ac.tuwien.ifs.dbrepo.entity.database.Database;
+import at.ac.tuwien.ifs.dbrepo.entity.database.View;
+import at.ac.tuwien.ifs.dbrepo.exception.*;
 import at.tuwien.gateway.DataServiceGateway;
 import at.tuwien.gateway.SearchServiceGateway;
 import at.tuwien.repository.DatabaseRepository;
-import at.tuwien.test.AbstractUnitTest;
+import at.ac.tuwien.ifs.dbrepo.test.AbstractUnitTest;
 import lombok.extern.log4j.Log4j2;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/utils/AmqpUtils.java b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/utils/AmqpUtils.java
index df86598714..5a9430da8f 100644
--- a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/utils/AmqpUtils.java
+++ b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/utils/AmqpUtils.java
@@ -1,7 +1,7 @@
 package at.tuwien.utils;
 
-import at.tuwien.api.amqp.*;
-import at.tuwien.test.BaseTest;
+import at.ac.tuwien.ifs.dbrepo.api.amqp.*;
+import at.ac.tuwien.ifs.dbrepo.test.BaseTest;
 import lombok.extern.log4j.Log4j2;
 import org.apache.commons.codec.binary.Base64;
 import org.springframework.beans.factory.annotation.Autowired;
diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/utils/KeycloakUtils.java b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/utils/KeycloakUtils.java
index 100178a337..5bad3fa03a 100644
--- a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/utils/KeycloakUtils.java
+++ b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/utils/KeycloakUtils.java
@@ -1,8 +1,8 @@
 package at.tuwien.utils;
 
-import at.tuwien.api.keycloak.UserCreateDto;
+import at.ac.tuwien.ifs.dbrepo.api.keycloak.UserCreateDto;
 import at.tuwien.config.KeycloakConfig;
-import at.tuwien.exception.UserNotFoundException;
+import at.ac.tuwien.ifs.dbrepo.exception.UserNotFoundException;
 import at.tuwien.mapper.MetadataMapper;
 import jakarta.ws.rs.core.Response;
 import lombok.extern.log4j.Log4j2;
diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/validator/EndpointValidatorUnitTest.java b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/validator/EndpointValidatorUnitTest.java
index 1e7ce07afd..d55f12aafe 100644
--- a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/validator/EndpointValidatorUnitTest.java
+++ b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/validator/EndpointValidatorUnitTest.java
@@ -1,17 +1,17 @@
 package at.tuwien.validator;
 
-import at.tuwien.SortType;
-import at.tuwien.api.database.table.CreateTableDto;
-import at.tuwien.api.database.table.columns.ColumnTypeDto;
-import at.tuwien.api.database.table.columns.CreateTableColumnDto;
-import at.tuwien.api.identifier.IdentifierSaveDto;
-import at.tuwien.entities.database.Database;
-import at.tuwien.entities.user.User;
-import at.tuwien.exception.*;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.CreateTableDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.SortType;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.columns.ColumnTypeDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.columns.CreateTableColumnDto;
+import at.ac.tuwien.ifs.dbrepo.api.identifier.IdentifierSaveDto;
+import at.ac.tuwien.ifs.dbrepo.entity.database.Database;
+import at.ac.tuwien.ifs.dbrepo.entity.user.User;
+import at.ac.tuwien.ifs.dbrepo.exception.*;
 import at.tuwien.service.AccessService;
 import at.tuwien.service.DatabaseService;
 import at.tuwien.service.TableService;
-import at.tuwien.test.AbstractUnitTest;
+import at.ac.tuwien.ifs.dbrepo.test.AbstractUnitTest;
 import at.tuwien.validation.EndpointValidator;
 import lombok.extern.log4j.Log4j2;
 import org.junit.jupiter.api.BeforeEach;
diff --git a/dbrepo-metadata-service/services/pom.xml b/dbrepo-metadata-service/services/pom.xml
index 5ba1a94840..12d34b7e8f 100644
--- a/dbrepo-metadata-service/services/pom.xml
+++ b/dbrepo-metadata-service/services/pom.xml
@@ -15,8 +15,8 @@
 
     <dependencies>
         <dependency>
-            <groupId>at.tuwien</groupId>
-            <artifactId>dbrepo-metadata-service-api</artifactId>
+            <groupId>at.ac.tuwien.ifs.dbrepo</groupId>
+            <artifactId>dbrepo-core</artifactId>
             <version>${project.version}</version>
         </dependency>
         <dependency>
@@ -24,11 +24,6 @@
             <artifactId>dbrepo-metadata-service-oai</artifactId>
             <version>${project.version}</version>
         </dependency>
-        <dependency>
-            <groupId>at.tuwien</groupId>
-            <artifactId>dbrepo-metadata-service-entities</artifactId>
-            <version>${project.version}</version>
-        </dependency>
         <dependency>
             <groupId>at.tuwien</groupId>
             <artifactId>dbrepo-metadata-service-repositories</artifactId>
diff --git a/dbrepo-metadata-service/services/src/main/java/at/tuwien/auth/AuthTokenFilter.java b/dbrepo-metadata-service/services/src/main/java/at/tuwien/auth/AuthTokenFilter.java
index e3caa8ac4c..21afd981dd 100644
--- a/dbrepo-metadata-service/services/src/main/java/at/tuwien/auth/AuthTokenFilter.java
+++ b/dbrepo-metadata-service/services/src/main/java/at/tuwien/auth/AuthTokenFilter.java
@@ -1,7 +1,7 @@
 package at.tuwien.auth;
 
-import at.tuwien.api.auth.RealmAccessDto;
-import at.tuwien.api.user.UserDetailsDto;
+import at.ac.tuwien.ifs.dbrepo.api.auth.RealmAccessDto;
+import at.ac.tuwien.ifs.dbrepo.api.user.UserDetailsDto;
 import com.auth0.jwt.JWT;
 import com.auth0.jwt.JWTVerifier;
 import com.auth0.jwt.algorithms.Algorithm;
diff --git a/dbrepo-metadata-service/services/src/main/java/at/tuwien/auth/BasicAuthenticationProvider.java b/dbrepo-metadata-service/services/src/main/java/at/tuwien/auth/BasicAuthenticationProvider.java
index e70dcdc8fa..66089b00b4 100644
--- a/dbrepo-metadata-service/services/src/main/java/at/tuwien/auth/BasicAuthenticationProvider.java
+++ b/dbrepo-metadata-service/services/src/main/java/at/tuwien/auth/BasicAuthenticationProvider.java
@@ -1,6 +1,6 @@
 package at.tuwien.auth;
 
-import at.tuwien.api.keycloak.TokenDto;
+import at.ac.tuwien.ifs.dbrepo.api.keycloak.TokenDto;
 import at.tuwien.service.CredentialService;
 import lombok.extern.log4j.Log4j2;
 import org.springframework.beans.factory.annotation.Autowired;
diff --git a/dbrepo-metadata-service/services/src/main/java/at/tuwien/auth/InternalRequestInterceptor.java b/dbrepo-metadata-service/services/src/main/java/at/tuwien/auth/InternalRequestInterceptor.java
index 6d7480ba80..0e1e06d9e1 100644
--- a/dbrepo-metadata-service/services/src/main/java/at/tuwien/auth/InternalRequestInterceptor.java
+++ b/dbrepo-metadata-service/services/src/main/java/at/tuwien/auth/InternalRequestInterceptor.java
@@ -1,6 +1,6 @@
 package at.tuwien.auth;
 
-import at.tuwien.api.keycloak.TokenDto;
+import at.ac.tuwien.ifs.dbrepo.api.keycloak.TokenDto;
 import at.tuwien.config.GatewayConfig;
 import at.tuwien.service.CredentialService;
 import lombok.extern.log4j.Log4j2;
diff --git a/dbrepo-metadata-service/services/src/main/java/at/tuwien/config/CacheConfig.java b/dbrepo-metadata-service/services/src/main/java/at/tuwien/config/CacheConfig.java
index 9229927e83..1ddee07ee2 100644
--- a/dbrepo-metadata-service/services/src/main/java/at/tuwien/config/CacheConfig.java
+++ b/dbrepo-metadata-service/services/src/main/java/at/tuwien/config/CacheConfig.java
@@ -1,6 +1,6 @@
 package at.tuwien.config;
 
-import at.tuwien.api.keycloak.TokenDto;
+import at.ac.tuwien.ifs.dbrepo.api.keycloak.TokenDto;
 import com.github.benmanes.caffeine.cache.Cache;
 import com.github.benmanes.caffeine.cache.Caffeine;
 import org.springframework.beans.factory.annotation.Value;
diff --git a/dbrepo-metadata-service/services/src/main/java/at/tuwien/config/MetricsConfig.java b/dbrepo-metadata-service/services/src/main/java/at/tuwien/config/MetricsConfig.java
index b86a97a4dc..f955451abe 100644
--- a/dbrepo-metadata-service/services/src/main/java/at/tuwien/config/MetricsConfig.java
+++ b/dbrepo-metadata-service/services/src/main/java/at/tuwien/config/MetricsConfig.java
@@ -1,6 +1,6 @@
 package at.tuwien.config;
 
-import at.tuwien.entities.database.table.Table;
+import at.ac.tuwien.ifs.dbrepo.entity.database.table.Table;
 import at.tuwien.repository.DatabaseRepository;
 import at.tuwien.repository.IdentifierRepository;
 import at.tuwien.repository.TableRepository;
diff --git a/dbrepo-metadata-service/services/src/main/java/at/tuwien/gateway/BrokerServiceGateway.java b/dbrepo-metadata-service/services/src/main/java/at/tuwien/gateway/BrokerServiceGateway.java
index 42e8912d0c..973864164e 100644
--- a/dbrepo-metadata-service/services/src/main/java/at/tuwien/gateway/BrokerServiceGateway.java
+++ b/dbrepo-metadata-service/services/src/main/java/at/tuwien/gateway/BrokerServiceGateway.java
@@ -1,8 +1,8 @@
 package at.tuwien.gateway;
 
-import at.tuwien.api.amqp.*;
-import at.tuwien.api.user.ExchangeUpdatePermissionsDto;
-import at.tuwien.exception.*;
+import at.ac.tuwien.ifs.dbrepo.api.amqp.*;
+import at.ac.tuwien.ifs.dbrepo.api.user.ExchangeUpdatePermissionsDto;
+import at.ac.tuwien.ifs.dbrepo.exception.*;
 
 public interface BrokerServiceGateway {
 
diff --git a/dbrepo-metadata-service/services/src/main/java/at/tuwien/gateway/CrossrefGateway.java b/dbrepo-metadata-service/services/src/main/java/at/tuwien/gateway/CrossrefGateway.java
index 58e023ac9d..359de85f70 100644
--- a/dbrepo-metadata-service/services/src/main/java/at/tuwien/gateway/CrossrefGateway.java
+++ b/dbrepo-metadata-service/services/src/main/java/at/tuwien/gateway/CrossrefGateway.java
@@ -1,7 +1,7 @@
 package at.tuwien.gateway;
 
-import at.tuwien.api.crossref.CrossrefDto;
-import at.tuwien.exception.DoiNotFoundException;
+import at.ac.tuwien.ifs.dbrepo.api.crossref.CrossrefDto;
+import at.ac.tuwien.ifs.dbrepo.exception.DoiNotFoundException;
 
 public interface CrossrefGateway {
 
diff --git a/dbrepo-metadata-service/services/src/main/java/at/tuwien/gateway/DashboardServiceGateway.java b/dbrepo-metadata-service/services/src/main/java/at/tuwien/gateway/DashboardServiceGateway.java
index a46ffea320..768bd8066b 100644
--- a/dbrepo-metadata-service/services/src/main/java/at/tuwien/gateway/DashboardServiceGateway.java
+++ b/dbrepo-metadata-service/services/src/main/java/at/tuwien/gateway/DashboardServiceGateway.java
@@ -1,12 +1,12 @@
 package at.tuwien.gateway;
 
-import at.tuwien.api.database.DatabaseBriefDto;
-import at.tuwien.api.database.DatabaseDto;
-import at.tuwien.api.grafana.CreateDashboardDto;
-import at.tuwien.api.grafana.CreateDashboardResponseDto;
-import at.tuwien.api.grafana.PermissionTypeDto;
-import at.tuwien.exception.DashboardServiceConnectionException;
-import at.tuwien.exception.DashboardServiceException;
+import at.ac.tuwien.ifs.dbrepo.api.database.DatabaseBriefDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.DatabaseDto;
+import at.ac.tuwien.ifs.dbrepo.api.grafana.CreateDashboardDto;
+import at.ac.tuwien.ifs.dbrepo.api.grafana.CreateDashboardResponseDto;
+import at.ac.tuwien.ifs.dbrepo.api.grafana.PermissionTypeDto;
+import at.ac.tuwien.ifs.dbrepo.exception.DashboardServiceConnectionException;
+import at.ac.tuwien.ifs.dbrepo.exception.DashboardServiceException;
 
 public interface DashboardServiceGateway {
 
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 03e0936068..8e43c5e7eb 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
@@ -1,17 +1,17 @@
 package at.tuwien.gateway;
 
-import at.tuwien.api.database.AccessTypeDto;
-import at.tuwien.api.database.CreateViewDto;
-import at.tuwien.api.database.DatabaseDto;
-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.CreateTableDto;
-import at.tuwien.api.database.table.TableDto;
-import at.tuwien.api.database.table.TableStatisticDto;
-import at.tuwien.api.database.table.TableUpdateDto;
-import at.tuwien.api.user.internal.UpdateUserPasswordDto;
-import at.tuwien.exception.*;
+import at.ac.tuwien.ifs.dbrepo.api.database.AccessTypeDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.CreateViewDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.DatabaseDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.ViewDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.internal.CreateDatabaseDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.query.QueryDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.CreateTableDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.TableDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.TableStatisticDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.TableUpdateDto;
+import at.ac.tuwien.ifs.dbrepo.api.user.internal.UpdateUserPasswordDto;
+import at.ac.tuwien.ifs.dbrepo.exception.*;
 
 import java.util.List;
 import java.util.UUID;
diff --git a/dbrepo-metadata-service/services/src/main/java/at/tuwien/gateway/KeycloakGateway.java b/dbrepo-metadata-service/services/src/main/java/at/tuwien/gateway/KeycloakGateway.java
index 9436db80cb..738af7a383 100644
--- a/dbrepo-metadata-service/services/src/main/java/at/tuwien/gateway/KeycloakGateway.java
+++ b/dbrepo-metadata-service/services/src/main/java/at/tuwien/gateway/KeycloakGateway.java
@@ -1,9 +1,9 @@
 package at.tuwien.gateway;
 
-import at.tuwien.api.keycloak.TokenDto;
-import at.tuwien.api.user.UserUpdateDto;
-import at.tuwien.exception.AuthServiceException;
-import at.tuwien.exception.UserNotFoundException;
+import at.ac.tuwien.ifs.dbrepo.api.keycloak.TokenDto;
+import at.ac.tuwien.ifs.dbrepo.api.user.UserUpdateDto;
+import at.ac.tuwien.ifs.dbrepo.exception.AuthServiceException;
+import at.ac.tuwien.ifs.dbrepo.exception.UserNotFoundException;
 import org.keycloak.representations.idm.UserRepresentation;
 
 import java.util.UUID;
diff --git a/dbrepo-metadata-service/services/src/main/java/at/tuwien/gateway/OrcidGateway.java b/dbrepo-metadata-service/services/src/main/java/at/tuwien/gateway/OrcidGateway.java
index 2cd5f142e6..3bca2250e2 100644
--- a/dbrepo-metadata-service/services/src/main/java/at/tuwien/gateway/OrcidGateway.java
+++ b/dbrepo-metadata-service/services/src/main/java/at/tuwien/gateway/OrcidGateway.java
@@ -1,7 +1,7 @@
 package at.tuwien.gateway;
 
-import at.tuwien.api.orcid.OrcidDto;
-import at.tuwien.exception.OrcidNotFoundException;
+import at.ac.tuwien.ifs.dbrepo.api.orcid.OrcidDto;
+import at.ac.tuwien.ifs.dbrepo.exception.OrcidNotFoundException;
 import org.springframework.stereotype.Service;
 
 @Service
diff --git a/dbrepo-metadata-service/services/src/main/java/at/tuwien/gateway/RorGateway.java b/dbrepo-metadata-service/services/src/main/java/at/tuwien/gateway/RorGateway.java
index 27603b9919..b4208eb483 100644
--- a/dbrepo-metadata-service/services/src/main/java/at/tuwien/gateway/RorGateway.java
+++ b/dbrepo-metadata-service/services/src/main/java/at/tuwien/gateway/RorGateway.java
@@ -1,7 +1,7 @@
 package at.tuwien.gateway;
 
-import at.tuwien.api.ror.RorDto;
-import at.tuwien.exception.RorNotFoundException;
+import at.ac.tuwien.ifs.dbrepo.api.ror.RorDto;
+import at.ac.tuwien.ifs.dbrepo.exception.RorNotFoundException;
 
 public interface RorGateway {
 
diff --git a/dbrepo-metadata-service/services/src/main/java/at/tuwien/gateway/SearchServiceGateway.java b/dbrepo-metadata-service/services/src/main/java/at/tuwien/gateway/SearchServiceGateway.java
index 1b3b20485f..2742e3e0e5 100644
--- a/dbrepo-metadata-service/services/src/main/java/at/tuwien/gateway/SearchServiceGateway.java
+++ b/dbrepo-metadata-service/services/src/main/java/at/tuwien/gateway/SearchServiceGateway.java
@@ -1,8 +1,8 @@
 package at.tuwien.gateway;
 
-import at.tuwien.api.database.DatabaseBriefDto;
-import at.tuwien.entities.database.Database;
-import at.tuwien.exception.*;
+import at.ac.tuwien.ifs.dbrepo.api.database.DatabaseBriefDto;
+import at.ac.tuwien.ifs.dbrepo.entity.database.Database;
+import at.ac.tuwien.ifs.dbrepo.exception.*;
 
 import java.util.UUID;
 
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 da1c289185..d99a0e015c 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
@@ -1,9 +1,9 @@
 package at.tuwien.gateway.impl;
 
-import at.tuwien.api.amqp.*;
-import at.tuwien.api.user.ExchangeUpdatePermissionsDto;
+import at.ac.tuwien.ifs.dbrepo.api.amqp.*;
+import at.ac.tuwien.ifs.dbrepo.api.user.ExchangeUpdatePermissionsDto;
 import at.tuwien.config.RabbitConfig;
-import at.tuwien.exception.*;
+import at.ac.tuwien.ifs.dbrepo.exception.*;
 import at.tuwien.gateway.BrokerServiceGateway;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
diff --git a/dbrepo-metadata-service/services/src/main/java/at/tuwien/gateway/impl/CrossrefGatewayImpl.java b/dbrepo-metadata-service/services/src/main/java/at/tuwien/gateway/impl/CrossrefGatewayImpl.java
index 8fd957f330..099c63efba 100644
--- a/dbrepo-metadata-service/services/src/main/java/at/tuwien/gateway/impl/CrossrefGatewayImpl.java
+++ b/dbrepo-metadata-service/services/src/main/java/at/tuwien/gateway/impl/CrossrefGatewayImpl.java
@@ -1,8 +1,8 @@
 package at.tuwien.gateway.impl;
 
-import at.tuwien.api.crossref.CrossrefDto;
+import at.ac.tuwien.ifs.dbrepo.api.crossref.CrossrefDto;
 import at.tuwien.config.GatewayConfig;
-import at.tuwien.exception.DoiNotFoundException;
+import at.ac.tuwien.ifs.dbrepo.exception.DoiNotFoundException;
 import at.tuwien.gateway.CrossrefGateway;
 import lombok.extern.log4j.Log4j2;
 import org.springframework.beans.factory.annotation.Autowired;
diff --git a/dbrepo-metadata-service/services/src/main/java/at/tuwien/gateway/impl/DashboardServiceGatewayImpl.java b/dbrepo-metadata-service/services/src/main/java/at/tuwien/gateway/impl/DashboardServiceGatewayImpl.java
index 489c7a94ac..6be2b761ed 100644
--- a/dbrepo-metadata-service/services/src/main/java/at/tuwien/gateway/impl/DashboardServiceGatewayImpl.java
+++ b/dbrepo-metadata-service/services/src/main/java/at/tuwien/gateway/impl/DashboardServiceGatewayImpl.java
@@ -1,14 +1,14 @@
 package at.tuwien.gateway.impl;
 
-import at.tuwien.api.database.DatabaseBriefDto;
-import at.tuwien.api.database.DatabaseDto;
-import at.tuwien.api.grafana.CreateDashboardDto;
-import at.tuwien.api.grafana.CreateDashboardResponseDto;
-import at.tuwien.api.grafana.PermissionTypeDto;
-import at.tuwien.api.grafana.UpdateDashboardAccessDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.DatabaseBriefDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.DatabaseDto;
+import at.ac.tuwien.ifs.dbrepo.api.grafana.CreateDashboardDto;
+import at.ac.tuwien.ifs.dbrepo.api.grafana.CreateDashboardResponseDto;
+import at.ac.tuwien.ifs.dbrepo.api.grafana.PermissionTypeDto;
+import at.ac.tuwien.ifs.dbrepo.api.grafana.UpdateDashboardAccessDto;
 import at.tuwien.config.GatewayConfig;
-import at.tuwien.exception.DashboardServiceConnectionException;
-import at.tuwien.exception.DashboardServiceException;
+import at.ac.tuwien.ifs.dbrepo.exception.DashboardServiceConnectionException;
+import at.ac.tuwien.ifs.dbrepo.exception.DashboardServiceException;
 import at.tuwien.gateway.DashboardServiceGateway;
 import lombok.extern.log4j.Log4j2;
 import org.springframework.beans.factory.annotation.Autowired;
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 47003fafce..d6846ff2b6 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,15 +1,15 @@
 package at.tuwien.gateway.impl;
 
-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.CreateTableDto;
-import at.tuwien.api.database.table.TableDto;
-import at.tuwien.api.database.table.TableStatisticDto;
-import at.tuwien.api.database.table.TableUpdateDto;
-import at.tuwien.api.user.internal.UpdateUserPasswordDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.*;
+import at.ac.tuwien.ifs.dbrepo.api.database.internal.CreateDatabaseDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.query.QueryDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.CreateTableDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.TableDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.TableStatisticDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.TableUpdateDto;
+import at.ac.tuwien.ifs.dbrepo.api.user.internal.UpdateUserPasswordDto;
 import at.tuwien.config.GatewayConfig;
-import at.tuwien.exception.*;
+import at.ac.tuwien.ifs.dbrepo.exception.*;
 import at.tuwien.gateway.DataServiceGateway;
 import lombok.extern.log4j.Log4j2;
 import org.springframework.beans.factory.annotation.Qualifier;
diff --git a/dbrepo-metadata-service/services/src/main/java/at/tuwien/gateway/impl/KeycloakGatewayImpl.java b/dbrepo-metadata-service/services/src/main/java/at/tuwien/gateway/impl/KeycloakGatewayImpl.java
index 4eb96aeee5..d443015141 100644
--- a/dbrepo-metadata-service/services/src/main/java/at/tuwien/gateway/impl/KeycloakGatewayImpl.java
+++ b/dbrepo-metadata-service/services/src/main/java/at/tuwien/gateway/impl/KeycloakGatewayImpl.java
@@ -1,10 +1,10 @@
 package at.tuwien.gateway.impl;
 
-import at.tuwien.api.keycloak.TokenDto;
-import at.tuwien.api.user.UserUpdateDto;
+import at.ac.tuwien.ifs.dbrepo.api.keycloak.TokenDto;
+import at.ac.tuwien.ifs.dbrepo.api.user.UserUpdateDto;
 import at.tuwien.config.KeycloakConfig;
-import at.tuwien.exception.AuthServiceException;
-import at.tuwien.exception.UserNotFoundException;
+import at.ac.tuwien.ifs.dbrepo.exception.AuthServiceException;
+import at.ac.tuwien.ifs.dbrepo.exception.UserNotFoundException;
 import at.tuwien.gateway.KeycloakGateway;
 import at.tuwien.mapper.MetadataMapper;
 import jakarta.ws.rs.ForbiddenException;
diff --git a/dbrepo-metadata-service/services/src/main/java/at/tuwien/gateway/impl/OrcidGatewayImpl.java b/dbrepo-metadata-service/services/src/main/java/at/tuwien/gateway/impl/OrcidGatewayImpl.java
index 7634e421fe..fe3e475a69 100644
--- a/dbrepo-metadata-service/services/src/main/java/at/tuwien/gateway/impl/OrcidGatewayImpl.java
+++ b/dbrepo-metadata-service/services/src/main/java/at/tuwien/gateway/impl/OrcidGatewayImpl.java
@@ -1,7 +1,7 @@
 package at.tuwien.gateway.impl;
 
-import at.tuwien.api.orcid.OrcidDto;
-import at.tuwien.exception.OrcidNotFoundException;
+import at.ac.tuwien.ifs.dbrepo.api.orcid.OrcidDto;
+import at.ac.tuwien.ifs.dbrepo.exception.OrcidNotFoundException;
 import at.tuwien.gateway.OrcidGateway;
 import lombok.extern.log4j.Log4j2;
 import org.springframework.beans.factory.annotation.Autowired;
diff --git a/dbrepo-metadata-service/services/src/main/java/at/tuwien/gateway/impl/RorGatewayImpl.java b/dbrepo-metadata-service/services/src/main/java/at/tuwien/gateway/impl/RorGatewayImpl.java
index 37ed982f9e..d2ad4523e1 100644
--- a/dbrepo-metadata-service/services/src/main/java/at/tuwien/gateway/impl/RorGatewayImpl.java
+++ b/dbrepo-metadata-service/services/src/main/java/at/tuwien/gateway/impl/RorGatewayImpl.java
@@ -1,8 +1,8 @@
 package at.tuwien.gateway.impl;
 
-import at.tuwien.api.ror.RorDto;
+import at.ac.tuwien.ifs.dbrepo.api.ror.RorDto;
 import at.tuwien.config.GatewayConfig;
-import at.tuwien.exception.RorNotFoundException;
+import at.ac.tuwien.ifs.dbrepo.exception.RorNotFoundException;
 import at.tuwien.gateway.RorGateway;
 import lombok.extern.log4j.Log4j2;
 import org.springframework.beans.factory.annotation.Autowired;
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 67c4762a2f..13517aa073 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,11 +1,11 @@
 package at.tuwien.gateway.impl;
 
-import at.tuwien.api.database.DatabaseBriefDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.DatabaseBriefDto;
 import at.tuwien.config.GatewayConfig;
-import at.tuwien.entities.database.Database;
-import at.tuwien.exception.DatabaseNotFoundException;
-import at.tuwien.exception.SearchServiceConnectionException;
-import at.tuwien.exception.SearchServiceException;
+import at.ac.tuwien.ifs.dbrepo.entity.database.Database;
+import at.ac.tuwien.ifs.dbrepo.exception.DatabaseNotFoundException;
+import at.ac.tuwien.ifs.dbrepo.exception.SearchServiceConnectionException;
+import at.ac.tuwien.ifs.dbrepo.exception.SearchServiceException;
 import at.tuwien.gateway.SearchServiceGateway;
 import at.tuwien.mapper.MetadataMapper;
 import lombok.extern.log4j.Log4j2;
diff --git a/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/AccessService.java b/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/AccessService.java
index d521014ca0..559d1ff171 100644
--- a/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/AccessService.java
+++ b/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/AccessService.java
@@ -1,10 +1,10 @@
 package at.tuwien.service;
 
-import at.tuwien.api.database.AccessTypeDto;
-import at.tuwien.entities.database.Database;
-import at.tuwien.entities.database.DatabaseAccess;
-import at.tuwien.entities.user.User;
-import at.tuwien.exception.*;
+import at.ac.tuwien.ifs.dbrepo.api.database.AccessTypeDto;
+import at.ac.tuwien.ifs.dbrepo.entity.database.Database;
+import at.ac.tuwien.ifs.dbrepo.entity.database.DatabaseAccess;
+import at.ac.tuwien.ifs.dbrepo.entity.user.User;
+import at.ac.tuwien.ifs.dbrepo.exception.*;
 
 import java.security.Principal;
 import java.util.List;
diff --git a/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/AuthenticationService.java b/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/AuthenticationService.java
index db18fbc5ad..0c168383a7 100644
--- a/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/AuthenticationService.java
+++ b/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/AuthenticationService.java
@@ -1,8 +1,8 @@
 package at.tuwien.service;
 
-import at.tuwien.entities.user.User;
-import at.tuwien.exception.AuthServiceException;
-import at.tuwien.exception.UserNotFoundException;
+import at.ac.tuwien.ifs.dbrepo.entity.user.User;
+import at.ac.tuwien.ifs.dbrepo.exception.AuthServiceException;
+import at.ac.tuwien.ifs.dbrepo.exception.UserNotFoundException;
 
 public interface AuthenticationService {
 
diff --git a/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/BannerMessageService.java b/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/BannerMessageService.java
index a7973b6171..e4d008d8e7 100644
--- a/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/BannerMessageService.java
+++ b/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/BannerMessageService.java
@@ -1,9 +1,9 @@
 package at.tuwien.service;
 
-import at.tuwien.api.maintenance.BannerMessageCreateDto;
-import at.tuwien.api.maintenance.BannerMessageUpdateDto;
-import at.tuwien.entities.maintenance.BannerMessage;
-import at.tuwien.exception.MessageNotFoundException;
+import at.ac.tuwien.ifs.dbrepo.api.maintenance.BannerMessageCreateDto;
+import at.ac.tuwien.ifs.dbrepo.api.maintenance.BannerMessageUpdateDto;
+import at.ac.tuwien.ifs.dbrepo.entity.maintenance.BannerMessage;
+import at.ac.tuwien.ifs.dbrepo.exception.MessageNotFoundException;
 
 import java.util.List;
 import java.util.UUID;
diff --git a/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/BrokerService.java b/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/BrokerService.java
index a21e1cf30f..603f4e8816 100644
--- a/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/BrokerService.java
+++ b/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/BrokerService.java
@@ -1,7 +1,7 @@
 package at.tuwien.service;
 
-import at.tuwien.entities.user.User;
-import at.tuwien.exception.*;
+import at.ac.tuwien.ifs.dbrepo.entity.user.User;
+import at.ac.tuwien.ifs.dbrepo.exception.*;
 
 public interface BrokerService {
 
diff --git a/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/ConceptService.java b/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/ConceptService.java
index 94fa1e0c89..8b7287d578 100644
--- a/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/ConceptService.java
+++ b/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/ConceptService.java
@@ -1,7 +1,7 @@
 package at.tuwien.service;
 
-import at.tuwien.entities.database.table.columns.TableColumnConcept;
-import at.tuwien.exception.ConceptNotFoundException;
+import at.ac.tuwien.ifs.dbrepo.entity.database.table.columns.TableColumnConcept;
+import at.ac.tuwien.ifs.dbrepo.exception.ConceptNotFoundException;
 
 import java.util.List;
 
diff --git a/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/ContainerService.java b/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/ContainerService.java
index 92fc9dabe1..b91d135502 100644
--- a/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/ContainerService.java
+++ b/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/ContainerService.java
@@ -1,10 +1,10 @@
 package at.tuwien.service;
 
-import at.tuwien.api.container.CreateContainerDto;
-import at.tuwien.entities.container.Container;
-import at.tuwien.exception.ContainerAlreadyExistsException;
-import at.tuwien.exception.ContainerNotFoundException;
-import at.tuwien.exception.ImageNotFoundException;
+import at.ac.tuwien.ifs.dbrepo.api.container.CreateContainerDto;
+import at.ac.tuwien.ifs.dbrepo.entity.container.Container;
+import at.ac.tuwien.ifs.dbrepo.exception.ContainerAlreadyExistsException;
+import at.ac.tuwien.ifs.dbrepo.exception.ContainerNotFoundException;
+import at.ac.tuwien.ifs.dbrepo.exception.ImageNotFoundException;
 
 import java.util.List;
 import java.util.UUID;
diff --git a/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/CredentialService.java b/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/CredentialService.java
index b1c28cf170..469db41a02 100644
--- a/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/CredentialService.java
+++ b/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/CredentialService.java
@@ -1,6 +1,6 @@
 package at.tuwien.service;
 
-import at.tuwien.api.keycloak.TokenDto;
+import at.ac.tuwien.ifs.dbrepo.api.keycloak.TokenDto;
 
 public interface CredentialService {
 
diff --git a/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/DashboardService.java b/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/DashboardService.java
index 1603f9adc3..c2ca00ed41 100644
--- a/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/DashboardService.java
+++ b/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/DashboardService.java
@@ -1,11 +1,11 @@
 package at.tuwien.service;
 
-import at.tuwien.api.database.AccessTypeDto;
-import at.tuwien.api.grafana.CreateDashboardResponseDto;
-import at.tuwien.entities.database.Database;
-import at.tuwien.entities.user.User;
-import at.tuwien.exception.DashboardServiceConnectionException;
-import at.tuwien.exception.DashboardServiceException;
+import at.ac.tuwien.ifs.dbrepo.api.database.AccessTypeDto;
+import at.ac.tuwien.ifs.dbrepo.api.grafana.CreateDashboardResponseDto;
+import at.ac.tuwien.ifs.dbrepo.entity.database.Database;
+import at.ac.tuwien.ifs.dbrepo.entity.user.User;
+import at.ac.tuwien.ifs.dbrepo.exception.DashboardServiceConnectionException;
+import at.ac.tuwien.ifs.dbrepo.exception.DashboardServiceException;
 
 public interface DashboardService {
 
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 d2994ec1a6..34dad941b9 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
@@ -1,11 +1,11 @@
 package at.tuwien.service;
 
-import at.tuwien.api.database.CreateDatabaseDto;
-import at.tuwien.api.database.DatabaseModifyVisibilityDto;
-import at.tuwien.entities.container.Container;
-import at.tuwien.entities.database.Database;
-import at.tuwien.entities.user.User;
-import at.tuwien.exception.*;
+import at.ac.tuwien.ifs.dbrepo.api.database.CreateDatabaseDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.DatabaseModifyVisibilityDto;
+import at.ac.tuwien.ifs.dbrepo.entity.container.Container;
+import at.ac.tuwien.ifs.dbrepo.entity.database.Database;
+import at.ac.tuwien.ifs.dbrepo.entity.user.User;
+import at.ac.tuwien.ifs.dbrepo.exception.*;
 import org.springframework.stereotype.Service;
 
 import java.util.List;
diff --git a/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/EntityService.java b/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/EntityService.java
index d52bbe9b12..76aa0dabf9 100644
--- a/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/EntityService.java
+++ b/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/EntityService.java
@@ -1,13 +1,13 @@
 package at.tuwien.service;
 
-import at.tuwien.api.semantics.EntityDto;
-import at.tuwien.api.semantics.TableColumnEntityDto;
-import at.tuwien.entities.database.table.Table;
-import at.tuwien.entities.database.table.columns.TableColumn;
-import at.tuwien.entities.semantics.Ontology;
-import at.tuwien.exception.MalformedException;
-import at.tuwien.exception.OntologyNotFoundException;
-import at.tuwien.exception.SemanticEntityNotFoundException;
+import at.ac.tuwien.ifs.dbrepo.api.semantics.EntityDto;
+import at.ac.tuwien.ifs.dbrepo.api.semantics.TableColumnEntityDto;
+import at.ac.tuwien.ifs.dbrepo.entity.database.table.Table;
+import at.ac.tuwien.ifs.dbrepo.entity.database.table.columns.TableColumn;
+import at.ac.tuwien.ifs.dbrepo.entity.semantics.Ontology;
+import at.ac.tuwien.ifs.dbrepo.exception.MalformedException;
+import at.ac.tuwien.ifs.dbrepo.exception.OntologyNotFoundException;
+import at.ac.tuwien.ifs.dbrepo.exception.SemanticEntityNotFoundException;
 
 import java.util.List;
 
diff --git a/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/IdentifierService.java b/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/IdentifierService.java
index 666d80e734..bfd541fe7f 100644
--- a/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/IdentifierService.java
+++ b/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/IdentifierService.java
@@ -1,13 +1,13 @@
 package at.tuwien.service;
 
-import at.tuwien.api.identifier.BibliographyTypeDto;
-import at.tuwien.api.identifier.CreateIdentifierDto;
-import at.tuwien.api.identifier.IdentifierSaveDto;
-import at.tuwien.api.identifier.IdentifierTypeDto;
-import at.tuwien.entities.database.Database;
-import at.tuwien.entities.identifier.Identifier;
-import at.tuwien.entities.user.User;
-import at.tuwien.exception.*;
+import at.ac.tuwien.ifs.dbrepo.api.identifier.BibliographyTypeDto;
+import at.ac.tuwien.ifs.dbrepo.api.identifier.CreateIdentifierDto;
+import at.ac.tuwien.ifs.dbrepo.api.identifier.IdentifierSaveDto;
+import at.ac.tuwien.ifs.dbrepo.api.identifier.IdentifierTypeDto;
+import at.ac.tuwien.ifs.dbrepo.entity.database.Database;
+import at.ac.tuwien.ifs.dbrepo.entity.identifier.Identifier;
+import at.ac.tuwien.ifs.dbrepo.entity.user.User;
+import at.ac.tuwien.ifs.dbrepo.exception.*;
 import org.springframework.core.io.InputStreamResource;
 import org.springframework.stereotype.Service;
 
diff --git a/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/ImageService.java b/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/ImageService.java
index 5edda64d08..c732695ac7 100644
--- a/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/ImageService.java
+++ b/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/ImageService.java
@@ -1,11 +1,11 @@
 package at.tuwien.service;
 
-import at.tuwien.api.container.image.ImageChangeDto;
-import at.tuwien.api.container.image.ImageCreateDto;
-import at.tuwien.entities.container.image.ContainerImage;
-import at.tuwien.exception.ImageAlreadyExistsException;
-import at.tuwien.exception.ImageInvalidException;
-import at.tuwien.exception.ImageNotFoundException;
+import at.ac.tuwien.ifs.dbrepo.api.container.image.ImageChangeDto;
+import at.ac.tuwien.ifs.dbrepo.api.container.image.ImageCreateDto;
+import at.ac.tuwien.ifs.dbrepo.entity.container.image.ContainerImage;
+import at.ac.tuwien.ifs.dbrepo.exception.ImageAlreadyExistsException;
+import at.ac.tuwien.ifs.dbrepo.exception.ImageInvalidException;
+import at.ac.tuwien.ifs.dbrepo.exception.ImageNotFoundException;
 
 import java.security.Principal;
 import java.util.List;
diff --git a/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/LicenseService.java b/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/LicenseService.java
index 4bea349946..72a8aa0ee0 100644
--- a/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/LicenseService.java
+++ b/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/LicenseService.java
@@ -1,7 +1,7 @@
 package at.tuwien.service;
 
-import at.tuwien.entities.database.License;
-import at.tuwien.exception.LicenseNotFoundException;
+import at.ac.tuwien.ifs.dbrepo.entity.database.License;
+import at.ac.tuwien.ifs.dbrepo.exception.LicenseNotFoundException;
 
 import java.util.List;
 
diff --git a/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/MetadataService.java b/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/MetadataService.java
index 7118422a86..656266fdbd 100644
--- a/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/MetadataService.java
+++ b/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/MetadataService.java
@@ -1,7 +1,7 @@
 package at.tuwien.service;
 
-import at.tuwien.api.user.external.ExternalMetadataDto;
-import at.tuwien.exception.*;
+import at.ac.tuwien.ifs.dbrepo.api.user.external.ExternalMetadataDto;
+import at.ac.tuwien.ifs.dbrepo.exception.*;
 import at.tuwien.oaipmh.OaiErrorType;
 import at.tuwien.oaipmh.OaiListIdentifiersParameters;
 import at.tuwien.oaipmh.OaiRecordParameters;
diff --git a/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/OntologyService.java b/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/OntologyService.java
index 5a94238a80..8ddda5091a 100644
--- a/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/OntologyService.java
+++ b/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/OntologyService.java
@@ -1,9 +1,9 @@
 package at.tuwien.service;
 
-import at.tuwien.api.semantics.OntologyCreateDto;
-import at.tuwien.api.semantics.OntologyModifyDto;
-import at.tuwien.entities.semantics.Ontology;
-import at.tuwien.exception.OntologyNotFoundException;
+import at.ac.tuwien.ifs.dbrepo.api.semantics.OntologyCreateDto;
+import at.ac.tuwien.ifs.dbrepo.api.semantics.OntologyModifyDto;
+import at.ac.tuwien.ifs.dbrepo.entity.semantics.Ontology;
+import at.ac.tuwien.ifs.dbrepo.exception.OntologyNotFoundException;
 
 import java.security.Principal;
 import java.util.List;
diff --git a/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/StorageService.java b/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/StorageService.java
index 630697cee7..0d7998418e 100644
--- a/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/StorageService.java
+++ b/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/StorageService.java
@@ -1,7 +1,7 @@
 package at.tuwien.service;
 
-import at.tuwien.exception.StorageNotFoundException;
-import at.tuwien.exception.StorageUnavailableException;
+import at.ac.tuwien.ifs.dbrepo.exception.StorageNotFoundException;
+import at.ac.tuwien.ifs.dbrepo.exception.StorageUnavailableException;
 
 import java.io.InputStream;
 
diff --git a/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/TableService.java b/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/TableService.java
index 3bb957b525..ce0cd81e12 100644
--- a/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/TableService.java
+++ b/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/TableService.java
@@ -1,12 +1,12 @@
 package at.tuwien.service;
 
-import at.tuwien.api.database.table.CreateTableDto;
-import at.tuwien.api.database.table.TableUpdateDto;
-import at.tuwien.api.database.table.columns.concepts.ColumnSemanticsUpdateDto;
-import at.tuwien.entities.database.Database;
-import at.tuwien.entities.database.table.Table;
-import at.tuwien.entities.database.table.columns.TableColumn;
-import at.tuwien.exception.*;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.CreateTableDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.TableUpdateDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.columns.concepts.ColumnSemanticsUpdateDto;
+import at.ac.tuwien.ifs.dbrepo.entity.database.Database;
+import at.ac.tuwien.ifs.dbrepo.entity.database.table.Table;
+import at.ac.tuwien.ifs.dbrepo.entity.database.table.columns.TableColumn;
+import at.ac.tuwien.ifs.dbrepo.exception.*;
 
 import java.security.Principal;
 import java.util.UUID;
diff --git a/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/UnitService.java b/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/UnitService.java
index 85c6da6c5e..696148e581 100644
--- a/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/UnitService.java
+++ b/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/UnitService.java
@@ -1,7 +1,7 @@
 package at.tuwien.service;
 
-import at.tuwien.entities.database.table.columns.TableColumnUnit;
-import at.tuwien.exception.UnitNotFoundException;
+import at.ac.tuwien.ifs.dbrepo.entity.database.table.columns.TableColumnUnit;
+import at.ac.tuwien.ifs.dbrepo.exception.UnitNotFoundException;
 import org.springframework.transaction.annotation.Transactional;
 
 import java.util.List;
diff --git a/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/UserService.java b/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/UserService.java
index 9ddd8086cc..6d2eb63afb 100644
--- a/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/UserService.java
+++ b/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/UserService.java
@@ -1,10 +1,10 @@
 package at.tuwien.service;
 
-import at.tuwien.api.auth.CreateUserDto;
-import at.tuwien.api.user.UserUpdateDto;
-import at.tuwien.entities.user.User;
-import at.tuwien.exception.AuthServiceException;
-import at.tuwien.exception.UserNotFoundException;
+import at.ac.tuwien.ifs.dbrepo.api.auth.CreateUserDto;
+import at.ac.tuwien.ifs.dbrepo.api.user.UserUpdateDto;
+import at.ac.tuwien.ifs.dbrepo.entity.user.User;
+import at.ac.tuwien.ifs.dbrepo.exception.AuthServiceException;
+import at.ac.tuwien.ifs.dbrepo.exception.UserNotFoundException;
 
 import java.util.List;
 import java.util.UUID;
diff --git a/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/ViewService.java b/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/ViewService.java
index 081022e6cd..d88d0d84a3 100644
--- a/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/ViewService.java
+++ b/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/ViewService.java
@@ -1,11 +1,11 @@
 package at.tuwien.service;
 
-import at.tuwien.api.database.CreateViewDto;
-import at.tuwien.api.database.ViewUpdateDto;
-import at.tuwien.entities.database.Database;
-import at.tuwien.entities.database.View;
-import at.tuwien.entities.user.User;
-import at.tuwien.exception.*;
+import at.ac.tuwien.ifs.dbrepo.api.database.CreateViewDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.ViewUpdateDto;
+import at.ac.tuwien.ifs.dbrepo.entity.database.Database;
+import at.ac.tuwien.ifs.dbrepo.entity.database.View;
+import at.ac.tuwien.ifs.dbrepo.entity.user.User;
+import at.ac.tuwien.ifs.dbrepo.exception.*;
 
 import java.util.UUID;
 
diff --git a/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/impl/AccessServiceImpl.java b/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/impl/AccessServiceImpl.java
index e5b59ebda8..01cac24ee0 100644
--- a/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/impl/AccessServiceImpl.java
+++ b/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/impl/AccessServiceImpl.java
@@ -1,10 +1,10 @@
 package at.tuwien.service.impl;
 
-import at.tuwien.api.database.AccessTypeDto;
-import at.tuwien.entities.database.Database;
-import at.tuwien.entities.database.DatabaseAccess;
-import at.tuwien.entities.user.User;
-import at.tuwien.exception.*;
+import at.ac.tuwien.ifs.dbrepo.api.database.AccessTypeDto;
+import at.ac.tuwien.ifs.dbrepo.entity.database.Database;
+import at.ac.tuwien.ifs.dbrepo.entity.database.DatabaseAccess;
+import at.ac.tuwien.ifs.dbrepo.entity.user.User;
+import at.ac.tuwien.ifs.dbrepo.exception.*;
 import at.tuwien.gateway.DataServiceGateway;
 import at.tuwien.gateway.SearchServiceGateway;
 import at.tuwien.mapper.MetadataMapper;
diff --git a/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/impl/AuthenticationServiceImpl.java b/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/impl/AuthenticationServiceImpl.java
index e6bb056bfe..5db94a2f1a 100644
--- a/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/impl/AuthenticationServiceImpl.java
+++ b/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/impl/AuthenticationServiceImpl.java
@@ -1,8 +1,8 @@
 package at.tuwien.service.impl;
 
-import at.tuwien.entities.user.User;
-import at.tuwien.exception.AuthServiceException;
-import at.tuwien.exception.UserNotFoundException;
+import at.ac.tuwien.ifs.dbrepo.entity.user.User;
+import at.ac.tuwien.ifs.dbrepo.exception.AuthServiceException;
+import at.ac.tuwien.ifs.dbrepo.exception.UserNotFoundException;
 import at.tuwien.gateway.KeycloakGateway;
 import at.tuwien.service.AuthenticationService;
 import lombok.extern.log4j.Log4j2;
diff --git a/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/impl/BannerMessageServiceImpl.java b/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/impl/BannerMessageServiceImpl.java
index d75d384b3c..15c56da40b 100644
--- a/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/impl/BannerMessageServiceImpl.java
+++ b/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/impl/BannerMessageServiceImpl.java
@@ -1,9 +1,9 @@
 package at.tuwien.service.impl;
 
-import at.tuwien.api.maintenance.BannerMessageCreateDto;
-import at.tuwien.api.maintenance.BannerMessageUpdateDto;
-import at.tuwien.entities.maintenance.BannerMessage;
-import at.tuwien.exception.MessageNotFoundException;
+import at.ac.tuwien.ifs.dbrepo.api.maintenance.BannerMessageCreateDto;
+import at.ac.tuwien.ifs.dbrepo.api.maintenance.BannerMessageUpdateDto;
+import at.ac.tuwien.ifs.dbrepo.entity.maintenance.BannerMessage;
+import at.ac.tuwien.ifs.dbrepo.exception.MessageNotFoundException;
 import at.tuwien.mapper.MetadataMapper;
 import at.tuwien.repository.BannerMessageRepository;
 import at.tuwien.service.BannerMessageService;
diff --git a/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/impl/BrokerServiceRabbitMqImpl.java b/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/impl/BrokerServiceRabbitMqImpl.java
index 2800c96bc9..c0b3eb361c 100644
--- a/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/impl/BrokerServiceRabbitMqImpl.java
+++ b/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/impl/BrokerServiceRabbitMqImpl.java
@@ -1,11 +1,11 @@
 package at.tuwien.service.impl;
 
-import at.tuwien.api.amqp.GrantExchangePermissionsDto;
-import at.tuwien.api.amqp.GrantVirtualHostPermissionsDto;
+import at.ac.tuwien.ifs.dbrepo.api.amqp.GrantExchangePermissionsDto;
+import at.ac.tuwien.ifs.dbrepo.api.amqp.GrantVirtualHostPermissionsDto;
 import at.tuwien.config.RabbitConfig;
-import at.tuwien.entities.database.AccessType;
-import at.tuwien.entities.user.User;
-import at.tuwien.exception.*;
+import at.ac.tuwien.ifs.dbrepo.entity.database.AccessType;
+import at.ac.tuwien.ifs.dbrepo.entity.user.User;
+import at.ac.tuwien.ifs.dbrepo.exception.*;
 import at.tuwien.gateway.BrokerServiceGateway;
 import at.tuwien.service.BrokerService;
 import lombok.extern.log4j.Log4j2;
diff --git a/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/impl/ConceptServiceImpl.java b/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/impl/ConceptServiceImpl.java
index 647d4fe198..e49eb155fc 100644
--- a/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/impl/ConceptServiceImpl.java
+++ b/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/impl/ConceptServiceImpl.java
@@ -1,7 +1,7 @@
 package at.tuwien.service.impl;
 
-import at.tuwien.entities.database.table.columns.TableColumnConcept;
-import at.tuwien.exception.ConceptNotFoundException;
+import at.ac.tuwien.ifs.dbrepo.entity.database.table.columns.TableColumnConcept;
+import at.ac.tuwien.ifs.dbrepo.exception.ConceptNotFoundException;
 import at.tuwien.repository.ConceptRepository;
 import at.tuwien.service.ConceptService;
 import lombok.extern.log4j.Log4j2;
diff --git a/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/impl/ContainerServiceImpl.java b/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/impl/ContainerServiceImpl.java
index d92b6c17dc..c555f8213a 100644
--- a/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/impl/ContainerServiceImpl.java
+++ b/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/impl/ContainerServiceImpl.java
@@ -1,11 +1,11 @@
 package at.tuwien.service.impl;
 
-import at.tuwien.api.container.CreateContainerDto;
-import at.tuwien.entities.container.Container;
-import at.tuwien.entities.container.image.ContainerImage;
-import at.tuwien.exception.ContainerAlreadyExistsException;
-import at.tuwien.exception.ContainerNotFoundException;
-import at.tuwien.exception.ImageNotFoundException;
+import at.ac.tuwien.ifs.dbrepo.api.container.CreateContainerDto;
+import at.ac.tuwien.ifs.dbrepo.entity.container.Container;
+import at.ac.tuwien.ifs.dbrepo.entity.container.image.ContainerImage;
+import at.ac.tuwien.ifs.dbrepo.exception.ContainerAlreadyExistsException;
+import at.ac.tuwien.ifs.dbrepo.exception.ContainerNotFoundException;
+import at.ac.tuwien.ifs.dbrepo.exception.ImageNotFoundException;
 import at.tuwien.mapper.MetadataMapper;
 import at.tuwien.repository.ContainerRepository;
 import at.tuwien.repository.ImageRepository;
diff --git a/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/impl/CredentialServiceImpl.java b/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/impl/CredentialServiceImpl.java
index 7cf7d1eff4..fd43aee8db 100644
--- a/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/impl/CredentialServiceImpl.java
+++ b/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/impl/CredentialServiceImpl.java
@@ -1,6 +1,6 @@
 package at.tuwien.service.impl;
 
-import at.tuwien.api.keycloak.TokenDto;
+import at.ac.tuwien.ifs.dbrepo.api.keycloak.TokenDto;
 import at.tuwien.gateway.KeycloakGateway;
 import at.tuwien.service.CredentialService;
 import com.github.benmanes.caffeine.cache.Cache;
diff --git a/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/impl/DashboardServiceImpl.java b/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/impl/DashboardServiceImpl.java
index f5a29737ae..5b5fcc7e6a 100644
--- a/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/impl/DashboardServiceImpl.java
+++ b/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/impl/DashboardServiceImpl.java
@@ -1,11 +1,11 @@
 package at.tuwien.service.impl;
 
-import at.tuwien.api.database.AccessTypeDto;
-import at.tuwien.api.grafana.CreateDashboardResponseDto;
-import at.tuwien.entities.database.Database;
-import at.tuwien.entities.user.User;
-import at.tuwien.exception.DashboardServiceConnectionException;
-import at.tuwien.exception.DashboardServiceException;
+import at.ac.tuwien.ifs.dbrepo.api.database.AccessTypeDto;
+import at.ac.tuwien.ifs.dbrepo.api.grafana.CreateDashboardResponseDto;
+import at.ac.tuwien.ifs.dbrepo.entity.database.Database;
+import at.ac.tuwien.ifs.dbrepo.entity.user.User;
+import at.ac.tuwien.ifs.dbrepo.exception.DashboardServiceConnectionException;
+import at.ac.tuwien.ifs.dbrepo.exception.DashboardServiceException;
 import at.tuwien.gateway.DashboardServiceGateway;
 import at.tuwien.mapper.MetadataMapper;
 import at.tuwien.service.DashboardService;
diff --git a/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/impl/DataCiteIdentifierServiceImpl.java b/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/impl/DataCiteIdentifierServiceImpl.java
index 84d3a1d31f..844774e92a 100644
--- a/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/impl/DataCiteIdentifierServiceImpl.java
+++ b/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/impl/DataCiteIdentifierServiceImpl.java
@@ -1,21 +1,21 @@
 package at.tuwien.service.impl;
 
-import at.tuwien.api.datacite.DataCiteBody;
-import at.tuwien.api.datacite.DataCiteData;
-import at.tuwien.api.datacite.doi.DataCiteCreateDoi;
-import at.tuwien.api.datacite.doi.DataCiteDoi;
-import at.tuwien.api.datacite.doi.DataCiteDoiEvent;
-import at.tuwien.api.identifier.BibliographyTypeDto;
-import at.tuwien.api.identifier.CreateIdentifierDto;
-import at.tuwien.api.identifier.IdentifierSaveDto;
-import at.tuwien.api.identifier.IdentifierTypeDto;
+import at.ac.tuwien.ifs.dbrepo.api.datacite.DataCiteBody;
+import at.ac.tuwien.ifs.dbrepo.api.datacite.DataCiteData;
+import at.ac.tuwien.ifs.dbrepo.api.datacite.doi.DataCiteCreateDoi;
+import at.ac.tuwien.ifs.dbrepo.api.datacite.doi.DataCiteDoi;
+import at.ac.tuwien.ifs.dbrepo.api.datacite.doi.DataCiteDoiEvent;
+import at.ac.tuwien.ifs.dbrepo.api.identifier.BibliographyTypeDto;
+import at.ac.tuwien.ifs.dbrepo.api.identifier.CreateIdentifierDto;
+import at.ac.tuwien.ifs.dbrepo.api.identifier.IdentifierSaveDto;
+import at.ac.tuwien.ifs.dbrepo.api.identifier.IdentifierTypeDto;
 import at.tuwien.config.DataCiteConfig;
 import at.tuwien.config.EndpointConfig;
-import at.tuwien.entities.database.Database;
-import at.tuwien.entities.identifier.Identifier;
-import at.tuwien.entities.identifier.IdentifierStatusType;
-import at.tuwien.entities.user.User;
-import at.tuwien.exception.*;
+import at.ac.tuwien.ifs.dbrepo.entity.database.Database;
+import at.ac.tuwien.ifs.dbrepo.entity.identifier.Identifier;
+import at.ac.tuwien.ifs.dbrepo.entity.identifier.IdentifierStatusType;
+import at.ac.tuwien.ifs.dbrepo.entity.user.User;
+import at.ac.tuwien.ifs.dbrepo.exception.*;
 import at.tuwien.mapper.MetadataMapper;
 import at.tuwien.repository.IdentifierRepository;
 import at.tuwien.service.IdentifierService;
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 7bbd6a1c30..5ae46f9cd0 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
@@ -1,23 +1,23 @@
 package at.tuwien.service.impl;
 
-import at.tuwien.api.database.CreateDatabaseDto;
-import at.tuwien.api.database.DatabaseDto;
-import at.tuwien.api.database.DatabaseModifyVisibilityDto;
-import at.tuwien.api.database.ViewDto;
-import at.tuwien.api.database.table.TableDto;
-import at.tuwien.api.user.internal.UpdateUserPasswordDto;
-import at.tuwien.entities.container.Container;
-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.constraints.foreignKey.ForeignKey;
-import at.tuwien.entities.database.table.constraints.foreignKey.ForeignKeyReference;
-import at.tuwien.entities.database.table.constraints.primaryKey.PrimaryKey;
-import at.tuwien.entities.database.table.constraints.unique.Unique;
-import at.tuwien.entities.user.User;
-import at.tuwien.exception.*;
+import at.ac.tuwien.ifs.dbrepo.api.database.CreateDatabaseDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.DatabaseDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.DatabaseModifyVisibilityDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.ViewDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.TableDto;
+import at.ac.tuwien.ifs.dbrepo.api.user.internal.UpdateUserPasswordDto;
+import at.ac.tuwien.ifs.dbrepo.entity.container.Container;
+import at.ac.tuwien.ifs.dbrepo.entity.database.Database;
+import at.ac.tuwien.ifs.dbrepo.entity.database.View;
+import at.ac.tuwien.ifs.dbrepo.entity.database.ViewColumn;
+import at.ac.tuwien.ifs.dbrepo.entity.database.table.Table;
+import at.ac.tuwien.ifs.dbrepo.entity.database.table.columns.TableColumn;
+import at.ac.tuwien.ifs.dbrepo.entity.database.table.constraints.foreignKey.ForeignKey;
+import at.ac.tuwien.ifs.dbrepo.entity.database.table.constraints.foreignKey.ForeignKeyReference;
+import at.ac.tuwien.ifs.dbrepo.entity.database.table.constraints.primaryKey.PrimaryKey;
+import at.ac.tuwien.ifs.dbrepo.entity.database.table.constraints.unique.Unique;
+import at.ac.tuwien.ifs.dbrepo.entity.user.User;
+import at.ac.tuwien.ifs.dbrepo.exception.*;
 import at.tuwien.gateway.DataServiceGateway;
 import at.tuwien.gateway.SearchServiceGateway;
 import at.tuwien.mapper.MetadataMapper;
@@ -117,7 +117,7 @@ public class DatabaseServiceImpl implements DatabaseService {
                 .identifiers(new LinkedList<>())
                 .build();
         /* create in data database */
-        final at.tuwien.api.database.internal.CreateDatabaseDto payload = at.tuwien.api.database.internal.CreateDatabaseDto.builder()
+        final at.ac.tuwien.ifs.dbrepo.api.database.internal.CreateDatabaseDto payload = at.ac.tuwien.ifs.dbrepo.api.database.internal.CreateDatabaseDto.builder()
                 .containerId(data.getCid())
                 .userId(user.getId())
                 .username(user.getUsername())
diff --git a/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/impl/EntityServiceImpl.java b/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/impl/EntityServiceImpl.java
index dba30481f5..f82d9a47af 100644
--- a/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/impl/EntityServiceImpl.java
+++ b/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/impl/EntityServiceImpl.java
@@ -1,12 +1,12 @@
 package at.tuwien.service.impl;
 
-import at.tuwien.api.semantics.EntityDto;
-import at.tuwien.api.semantics.TableColumnEntityDto;
+import at.ac.tuwien.ifs.dbrepo.api.semantics.EntityDto;
+import at.ac.tuwien.ifs.dbrepo.api.semantics.TableColumnEntityDto;
 import at.tuwien.config.JenaConfig;
-import at.tuwien.entities.database.table.Table;
-import at.tuwien.entities.database.table.columns.TableColumn;
-import at.tuwien.entities.semantics.Ontology;
-import at.tuwien.exception.*;
+import at.ac.tuwien.ifs.dbrepo.entity.database.table.Table;
+import at.ac.tuwien.ifs.dbrepo.entity.database.table.columns.TableColumn;
+import at.ac.tuwien.ifs.dbrepo.entity.semantics.Ontology;
+import at.ac.tuwien.ifs.dbrepo.exception.*;
 import at.tuwien.mapper.SparqlMapper;
 import at.tuwien.service.EntityService;
 import at.tuwien.service.OntologyService;
diff --git a/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/impl/IdentifierServiceImpl.java b/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/impl/IdentifierServiceImpl.java
index f545a01d97..b818e85360 100644
--- a/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/impl/IdentifierServiceImpl.java
+++ b/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/impl/IdentifierServiceImpl.java
@@ -1,19 +1,19 @@
 package at.tuwien.service.impl;
 
-import at.tuwien.api.database.query.QueryDto;
-import at.tuwien.api.identifier.BibliographyTypeDto;
-import at.tuwien.api.identifier.CreateIdentifierDto;
-import at.tuwien.api.identifier.IdentifierSaveDto;
-import at.tuwien.api.identifier.IdentifierTypeDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.query.QueryDto;
+import at.ac.tuwien.ifs.dbrepo.api.identifier.BibliographyTypeDto;
+import at.ac.tuwien.ifs.dbrepo.api.identifier.CreateIdentifierDto;
+import at.ac.tuwien.ifs.dbrepo.api.identifier.IdentifierSaveDto;
+import at.ac.tuwien.ifs.dbrepo.api.identifier.IdentifierTypeDto;
 import at.tuwien.config.MetadataConfig;
-import at.tuwien.entities.database.Database;
-import at.tuwien.entities.database.LanguageType;
-import at.tuwien.entities.database.View;
-import at.tuwien.entities.identifier.Identifier;
-import at.tuwien.entities.identifier.IdentifierStatusType;
-import at.tuwien.entities.identifier.IdentifierTitle;
-import at.tuwien.entities.user.User;
-import at.tuwien.exception.*;
+import at.ac.tuwien.ifs.dbrepo.entity.database.Database;
+import at.ac.tuwien.ifs.dbrepo.entity.database.LanguageType;
+import at.ac.tuwien.ifs.dbrepo.entity.database.View;
+import at.ac.tuwien.ifs.dbrepo.entity.identifier.Identifier;
+import at.ac.tuwien.ifs.dbrepo.entity.identifier.IdentifierStatusType;
+import at.ac.tuwien.ifs.dbrepo.entity.identifier.IdentifierTitle;
+import at.ac.tuwien.ifs.dbrepo.entity.user.User;
+import at.ac.tuwien.ifs.dbrepo.exception.*;
 import at.tuwien.gateway.DataServiceGateway;
 import at.tuwien.gateway.SearchServiceGateway;
 import at.tuwien.mapper.MetadataMapper;
diff --git a/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/impl/ImageServiceImpl.java b/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/impl/ImageServiceImpl.java
index b82c8ca382..a4ea58b80c 100644
--- a/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/impl/ImageServiceImpl.java
+++ b/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/impl/ImageServiceImpl.java
@@ -1,11 +1,11 @@
 package at.tuwien.service.impl;
 
-import at.tuwien.api.container.image.ImageChangeDto;
-import at.tuwien.api.container.image.ImageCreateDto;
-import at.tuwien.entities.container.image.ContainerImage;
-import at.tuwien.exception.ImageAlreadyExistsException;
-import at.tuwien.exception.ImageInvalidException;
-import at.tuwien.exception.ImageNotFoundException;
+import at.ac.tuwien.ifs.dbrepo.api.container.image.ImageChangeDto;
+import at.ac.tuwien.ifs.dbrepo.api.container.image.ImageCreateDto;
+import at.ac.tuwien.ifs.dbrepo.entity.container.image.ContainerImage;
+import at.ac.tuwien.ifs.dbrepo.exception.ImageAlreadyExistsException;
+import at.ac.tuwien.ifs.dbrepo.exception.ImageInvalidException;
+import at.ac.tuwien.ifs.dbrepo.exception.ImageNotFoundException;
 import at.tuwien.mapper.MetadataMapper;
 import at.tuwien.repository.ImageRepository;
 import at.tuwien.service.ImageService;
diff --git a/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/impl/LicenseServiceImpl.java b/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/impl/LicenseServiceImpl.java
index de5018f8c7..0fe72f0f57 100644
--- a/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/impl/LicenseServiceImpl.java
+++ b/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/impl/LicenseServiceImpl.java
@@ -1,7 +1,7 @@
 package at.tuwien.service.impl;
 
-import at.tuwien.entities.database.License;
-import at.tuwien.exception.LicenseNotFoundException;
+import at.ac.tuwien.ifs.dbrepo.entity.database.License;
+import at.ac.tuwien.ifs.dbrepo.exception.LicenseNotFoundException;
 import at.tuwien.repository.LicenseRepository;
 import at.tuwien.service.LicenseService;
 import lombok.extern.log4j.Log4j2;
diff --git a/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/impl/MetadataServiceImpl.java b/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/impl/MetadataServiceImpl.java
index d28dd06651..4f26ebd111 100644
--- a/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/impl/MetadataServiceImpl.java
+++ b/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/impl/MetadataServiceImpl.java
@@ -1,12 +1,12 @@
 package at.tuwien.service.impl;
 
-import at.tuwien.api.crossref.CrossrefDto;
-import at.tuwien.api.orcid.OrcidDto;
-import at.tuwien.api.ror.RorDto;
-import at.tuwien.api.user.external.ExternalMetadataDto;
+import at.ac.tuwien.ifs.dbrepo.api.crossref.CrossrefDto;
+import at.ac.tuwien.ifs.dbrepo.api.orcid.OrcidDto;
+import at.ac.tuwien.ifs.dbrepo.api.ror.RorDto;
+import at.ac.tuwien.ifs.dbrepo.api.user.external.ExternalMetadataDto;
 import at.tuwien.config.MetadataConfig;
-import at.tuwien.entities.identifier.Identifier;
-import at.tuwien.exception.*;
+import at.ac.tuwien.ifs.dbrepo.entity.identifier.Identifier;
+import at.ac.tuwien.ifs.dbrepo.exception.*;
 import at.tuwien.gateway.CrossrefGateway;
 import at.tuwien.gateway.OrcidGateway;
 import at.tuwien.gateway.RorGateway;
diff --git a/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/impl/OntologyServiceImpl.java b/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/impl/OntologyServiceImpl.java
index d40239a06e..c1f84b9c21 100644
--- a/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/impl/OntologyServiceImpl.java
+++ b/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/impl/OntologyServiceImpl.java
@@ -1,9 +1,9 @@
 package at.tuwien.service.impl;
 
-import at.tuwien.api.semantics.OntologyCreateDto;
-import at.tuwien.api.semantics.OntologyModifyDto;
-import at.tuwien.entities.semantics.Ontology;
-import at.tuwien.exception.OntologyNotFoundException;
+import at.ac.tuwien.ifs.dbrepo.api.semantics.OntologyCreateDto;
+import at.ac.tuwien.ifs.dbrepo.api.semantics.OntologyModifyDto;
+import at.ac.tuwien.ifs.dbrepo.entity.semantics.Ontology;
+import at.ac.tuwien.ifs.dbrepo.exception.OntologyNotFoundException;
 import at.tuwien.mapper.MetadataMapper;
 import at.tuwien.mapper.SparqlMapper;
 import at.tuwien.repository.OntologyRepository;
diff --git a/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/impl/StorageServiceS3Impl.java b/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/impl/StorageServiceS3Impl.java
index aef3213ccf..5c6687671d 100644
--- a/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/impl/StorageServiceS3Impl.java
+++ b/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/impl/StorageServiceS3Impl.java
@@ -1,8 +1,8 @@
 package at.tuwien.service.impl;
 
 import at.tuwien.config.S3Config;
-import at.tuwien.exception.StorageNotFoundException;
-import at.tuwien.exception.StorageUnavailableException;
+import at.ac.tuwien.ifs.dbrepo.exception.StorageNotFoundException;
+import at.ac.tuwien.ifs.dbrepo.exception.StorageUnavailableException;
 import at.tuwien.service.StorageService;
 import lombok.extern.log4j.Log4j2;
 import org.springframework.beans.factory.annotation.Autowired;
diff --git a/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/impl/TableServiceImpl.java b/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/impl/TableServiceImpl.java
index 46a5638ab8..b8ee7b4288 100644
--- a/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/impl/TableServiceImpl.java
+++ b/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/impl/TableServiceImpl.java
@@ -1,17 +1,17 @@
 package at.tuwien.service.impl;
 
-import at.tuwien.api.database.table.CreateTableDto;
-import at.tuwien.api.database.table.TableStatisticDto;
-import at.tuwien.api.database.table.TableUpdateDto;
-import at.tuwien.api.database.table.columns.ColumnStatisticDto;
-import at.tuwien.api.database.table.columns.CreateTableColumnDto;
-import at.tuwien.api.database.table.columns.concepts.ColumnSemanticsUpdateDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.CreateTableDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.TableStatisticDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.TableUpdateDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.columns.ColumnStatisticDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.columns.CreateTableColumnDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.columns.concepts.ColumnSemanticsUpdateDto;
 import at.tuwien.config.RabbitConfig;
-import at.tuwien.entities.database.Database;
-import at.tuwien.entities.database.table.Table;
-import at.tuwien.entities.database.table.columns.*;
-import at.tuwien.entities.user.User;
-import at.tuwien.exception.*;
+import at.ac.tuwien.ifs.dbrepo.entity.database.Database;
+import at.ac.tuwien.ifs.dbrepo.entity.database.table.Table;
+import at.ac.tuwien.ifs.dbrepo.entity.database.table.columns.*;
+import at.ac.tuwien.ifs.dbrepo.entity.user.User;
+import at.ac.tuwien.ifs.dbrepo.exception.*;
 import at.tuwien.gateway.DataServiceGateway;
 import at.tuwien.gateway.SearchServiceGateway;
 import at.tuwien.mapper.MetadataMapper;
diff --git a/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/impl/UnitServiceImpl.java b/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/impl/UnitServiceImpl.java
index 03270abcd5..a53f5bceee 100644
--- a/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/impl/UnitServiceImpl.java
+++ b/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/impl/UnitServiceImpl.java
@@ -1,7 +1,7 @@
 package at.tuwien.service.impl;
 
-import at.tuwien.entities.database.table.columns.TableColumnUnit;
-import at.tuwien.exception.UnitNotFoundException;
+import at.ac.tuwien.ifs.dbrepo.entity.database.table.columns.TableColumnUnit;
+import at.ac.tuwien.ifs.dbrepo.exception.UnitNotFoundException;
 import at.tuwien.repository.UnitRepository;
 import at.tuwien.service.UnitService;
 import lombok.extern.log4j.Log4j2;
diff --git a/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/impl/UserServiceImpl.java b/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/impl/UserServiceImpl.java
index 8b20f96ed7..b33464dd03 100644
--- a/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/impl/UserServiceImpl.java
+++ b/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/impl/UserServiceImpl.java
@@ -1,10 +1,10 @@
 package at.tuwien.service.impl;
 
-import at.tuwien.api.auth.CreateUserDto;
-import at.tuwien.api.user.UserUpdateDto;
-import at.tuwien.entities.user.User;
-import at.tuwien.exception.AuthServiceException;
-import at.tuwien.exception.UserNotFoundException;
+import at.ac.tuwien.ifs.dbrepo.api.auth.CreateUserDto;
+import at.ac.tuwien.ifs.dbrepo.api.user.UserUpdateDto;
+import at.ac.tuwien.ifs.dbrepo.entity.user.User;
+import at.ac.tuwien.ifs.dbrepo.exception.AuthServiceException;
+import at.ac.tuwien.ifs.dbrepo.exception.UserNotFoundException;
 import at.tuwien.gateway.KeycloakGateway;
 import at.tuwien.repository.UserRepository;
 import at.tuwien.service.UserService;
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 4c9e9399f5..e6d39f1288 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,12 +1,12 @@
 package at.tuwien.service.impl;
 
-import at.tuwien.api.database.CreateViewDto;
-import at.tuwien.api.database.ViewDto;
-import at.tuwien.api.database.ViewUpdateDto;
-import at.tuwien.entities.database.Database;
-import at.tuwien.entities.database.View;
-import at.tuwien.entities.user.User;
-import at.tuwien.exception.*;
+import at.ac.tuwien.ifs.dbrepo.api.database.CreateViewDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.ViewDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.ViewUpdateDto;
+import at.ac.tuwien.ifs.dbrepo.entity.database.Database;
+import at.ac.tuwien.ifs.dbrepo.entity.database.View;
+import at.ac.tuwien.ifs.dbrepo.entity.user.User;
+import at.ac.tuwien.ifs.dbrepo.exception.*;
 import at.tuwien.gateway.DataServiceGateway;
 import at.tuwien.gateway.SearchServiceGateway;
 import at.tuwien.mapper.MetadataMapper;
diff --git a/lib/java/dbrepo-core/.gitignore b/lib/java/dbrepo-core/.gitignore
new file mode 100644
index 0000000000..b425f09ad0
--- /dev/null
+++ b/lib/java/dbrepo-core/.gitignore
@@ -0,0 +1,35 @@
+target/
+!.mvn/wrapper/maven-wrapper.jar
+!**/src/main/**/target/
+!**/src/test/**/target/
+
+### IntelliJ IDEA ###
+.idea/
+*.iws
+*.iml
+*.ipr
+
+### Eclipse ###
+.apt_generated
+.classpath
+.factorypath
+.project
+.settings
+.springBeans
+.sts4-cache
+
+### NetBeans ###
+/nbproject/private/
+/nbbuild/
+/dist/
+/nbdist/
+/.nb-gradle/
+build/
+!**/src/main/**/build/
+!**/src/test/**/build/
+
+### VS Code ###
+.vscode/
+
+### Mac OS ###
+.DS_Store
\ No newline at end of file
diff --git a/lib/java/dbrepo-core/pom.xml b/lib/java/dbrepo-core/pom.xml
new file mode 100644
index 0000000000..cb1580c93c
--- /dev/null
+++ b/lib/java/dbrepo-core/pom.xml
@@ -0,0 +1,117 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+
+    <parent>
+        <groupId>org.springframework.boot</groupId>
+        <artifactId>spring-boot-starter-parent</artifactId>
+        <version>3.3.5</version>
+    </parent>
+
+    <organization>
+        <name>TU Wien</name>
+        <url>https://www.tuwien.ac.at</url>
+    </organization>
+
+    <groupId>at.ac.tuwien.ifs.dbrepo</groupId>
+    <artifactId>dbrepo-core</artifactId>
+    <name>dbrepo-core</name>
+    <version>1.8.0</version>
+
+    <description>Core library for DBRepo</description>
+
+    <url>https://www.ifs.tuwien.ac.at/infrastructures/dbrepo/1.8/</url>
+    <developers>
+        <developer>
+            <name>Martin Weise</name>
+            <email>martin.weise@tuwien.ac.at</email>
+            <organization>TU Wien</organization>
+        </developer>
+    </developers>
+
+    <properties>
+        <maven.compiler.source>17</maven.compiler.source>
+        <maven.compiler.target>17</maven.compiler.target>
+        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+        <lombok.version>1.18.36</lombok.version>
+        <spring-cloud.version>4.1.4</spring-cloud.version>
+        <jackson-datatype.version>2.15.0</jackson-datatype.version>
+        <springdoc-openapi.version>2.8.5</springdoc-openapi.version>
+    </properties>
+
+    <dependencies><dependency>
+        <groupId>org.springframework.boot</groupId>
+        <artifactId>spring-boot-starter-validation</artifactId>
+    </dependency>
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-web</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-security</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework.security</groupId>
+            <artifactId>spring-security-test</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework.cloud</groupId>
+            <artifactId>spring-cloud-starter-bootstrap</artifactId>
+            <version>${spring-cloud.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-thymeleaf</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-data-jpa</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-actuator</artifactId>
+        </dependency>
+        <!-- Api -->
+        <dependency>
+            <groupId>org.projectlombok</groupId>
+            <artifactId>lombok</artifactId>
+            <version>${lombok.version}</version>
+            <scope>compile</scope>
+        </dependency>
+        <!-- Entities -->
+        <dependency>
+            <groupId>com.fasterxml.jackson.datatype</groupId>
+            <artifactId>jackson-datatype-jsr310</artifactId>
+            <version>${jackson-datatype.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>com.fasterxml.jackson.datatype</groupId>
+            <artifactId>jackson-datatype-hibernate6</artifactId>
+            <version>${jackson-datatype.version}</version>
+        </dependency>
+        <!-- Open API -->
+        <dependency>
+            <groupId>org.springdoc</groupId>
+            <artifactId>springdoc-openapi-starter-webmvc-api</artifactId>
+            <version>${springdoc-openapi.version}</version>
+        </dependency>
+        <!-- Tests -->
+        <dependency>
+            <groupId>org.springframework</groupId>
+            <artifactId>spring-test</artifactId>
+        </dependency>
+    </dependencies>
+
+    <licenses>
+        <license>
+            <name>Apache-2.0</name>
+            <url>http://www.apache.org/licenses/LICENSE-2.0.html</url>
+            <distribution>repo</distribution>
+        </license>
+    </licenses>
+
+</project>
\ No newline at end of file
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/CacheableDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/CacheableDto.java
similarity index 92%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/CacheableDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/CacheableDto.java
index e947ece632..b8a273e9d0 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/CacheableDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/CacheableDto.java
@@ -1,4 +1,4 @@
-package at.tuwien.api;
+package at.ac.tuwien.ifs.dbrepo.api;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
 import io.swagger.v3.oas.annotations.media.Schema;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/ExportResourceDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/ExportResourceDto.java
similarity index 88%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/ExportResourceDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/ExportResourceDto.java
index 5c5bf22005..7bdd514672 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/ExportResourceDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/ExportResourceDto.java
@@ -1,4 +1,4 @@
-package at.tuwien;
+package at.ac.tuwien.ifs.dbrepo.api;
 
 import lombok.*;
 import org.springframework.core.io.InputStreamResource;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/amqp/ChannelDetailsDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/amqp/ChannelDetailsDto.java
similarity index 94%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/amqp/ChannelDetailsDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/amqp/ChannelDetailsDto.java
index 03aeb19ab4..c6bbe825a3 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/amqp/ChannelDetailsDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/amqp/ChannelDetailsDto.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.amqp;
+package at.ac.tuwien.ifs.dbrepo.api.amqp;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
 import jakarta.validation.constraints.NotNull;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/amqp/ConsumerDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/amqp/ConsumerDto.java
similarity index 95%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/amqp/ConsumerDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/amqp/ConsumerDto.java
index ad82492d7d..cc76cb60e6 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/amqp/ConsumerDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/amqp/ConsumerDto.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.amqp;
+package at.ac.tuwien.ifs.dbrepo.api.amqp;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
 import jakarta.validation.constraints.NotNull;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/amqp/CreateExchangeDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/amqp/CreateExchangeDto.java
similarity index 93%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/amqp/CreateExchangeDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/amqp/CreateExchangeDto.java
index dffe2c1e0e..627f80015d 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/amqp/CreateExchangeDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/amqp/CreateExchangeDto.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.amqp;
+package at.ac.tuwien.ifs.dbrepo.api.amqp;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
 import jakarta.validation.constraints.NotBlank;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/amqp/CreateUserDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/amqp/CreateUserDto.java
similarity index 90%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/amqp/CreateUserDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/amqp/CreateUserDto.java
index 372ce8219b..2d40a1cc7f 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/amqp/CreateUserDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/amqp/CreateUserDto.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.amqp;
+package at.ac.tuwien.ifs.dbrepo.api.amqp;
 
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.*;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/amqp/CreateVirtualHostDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/amqp/CreateVirtualHostDto.java
similarity index 91%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/amqp/CreateVirtualHostDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/amqp/CreateVirtualHostDto.java
index b27ea597c2..fc8a62ee65 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/amqp/CreateVirtualHostDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/amqp/CreateVirtualHostDto.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.amqp;
+package at.ac.tuwien.ifs.dbrepo.api.amqp;
 
 import io.swagger.v3.oas.annotations.media.Schema;
 import jakarta.validation.constraints.NotNull;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/amqp/ExchangeDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/amqp/ExchangeDto.java
similarity index 94%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/amqp/ExchangeDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/amqp/ExchangeDto.java
index 403a04f00b..702d60ab52 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/amqp/ExchangeDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/amqp/ExchangeDto.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.amqp;
+package at.ac.tuwien.ifs.dbrepo.api.amqp;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
 import jakarta.validation.constraints.NotBlank;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/amqp/GrantExchangePermissionsDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/amqp/GrantExchangePermissionsDto.java
similarity index 92%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/amqp/GrantExchangePermissionsDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/amqp/GrantExchangePermissionsDto.java
index 054548dbf0..9abb7476ec 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/amqp/GrantExchangePermissionsDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/amqp/GrantExchangePermissionsDto.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.amqp;
+package at.ac.tuwien.ifs.dbrepo.api.amqp;
 
 import io.swagger.v3.oas.annotations.media.Schema;
 import jakarta.validation.constraints.NotNull;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/amqp/GrantVirtualHostPermissionsDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/amqp/GrantVirtualHostPermissionsDto.java
similarity index 92%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/amqp/GrantVirtualHostPermissionsDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/amqp/GrantVirtualHostPermissionsDto.java
index 7e84edb80e..92190e285f 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/amqp/GrantVirtualHostPermissionsDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/amqp/GrantVirtualHostPermissionsDto.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.amqp;
+package at.ac.tuwien.ifs.dbrepo.api.amqp;
 
 import io.swagger.v3.oas.annotations.media.Schema;
 import jakarta.validation.constraints.NotNull;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/amqp/QueueBriefDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/amqp/QueueBriefDto.java
similarity index 91%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/amqp/QueueBriefDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/amqp/QueueBriefDto.java
index 8a266043a1..3cbfb38d7e 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/amqp/QueueBriefDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/amqp/QueueBriefDto.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.amqp;
+package at.ac.tuwien.ifs.dbrepo.api.amqp;
 
 import io.swagger.v3.oas.annotations.media.Schema;
 import jakarta.validation.constraints.NotNull;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/amqp/QueueDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/amqp/QueueDto.java
similarity index 94%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/amqp/QueueDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/amqp/QueueDto.java
index acc2091d41..fba523416f 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/amqp/QueueDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/amqp/QueueDto.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.amqp;
+package at.ac.tuwien.ifs.dbrepo.api.amqp;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
 import jakarta.validation.constraints.NotBlank;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/amqp/TopicPermissionDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/amqp/TopicPermissionDto.java
similarity index 93%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/amqp/TopicPermissionDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/amqp/TopicPermissionDto.java
index bdd806f71e..a90b4c396b 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/amqp/TopicPermissionDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/amqp/TopicPermissionDto.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.amqp;
+package at.ac.tuwien.ifs.dbrepo.api.amqp;
 
 import io.swagger.v3.oas.annotations.media.Schema;
 import jakarta.validation.constraints.NotNull;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/amqp/UserDetailsDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/amqp/UserDetailsDto.java
similarity index 94%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/amqp/UserDetailsDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/amqp/UserDetailsDto.java
index a786456efd..65df7d0493 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/amqp/UserDetailsDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/amqp/UserDetailsDto.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.amqp;
+package at.ac.tuwien.ifs.dbrepo.api.amqp;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
 import io.swagger.v3.oas.annotations.media.Schema;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/amqp/VirtualHostPermissionDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/amqp/VirtualHostPermissionDto.java
similarity index 94%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/amqp/VirtualHostPermissionDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/amqp/VirtualHostPermissionDto.java
index 0602c418da..cc53833e23 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/amqp/VirtualHostPermissionDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/amqp/VirtualHostPermissionDto.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.amqp;
+package at.ac.tuwien.ifs.dbrepo.api.amqp;
 
 import io.swagger.v3.oas.annotations.media.Schema;
 import jakarta.validation.constraints.NotNull;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/auth/CreateUserDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/auth/CreateUserDto.java
similarity index 96%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/auth/CreateUserDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/auth/CreateUserDto.java
index 9742986ae0..174d6fe3db 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/auth/CreateUserDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/auth/CreateUserDto.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.auth;
+package at.ac.tuwien.ifs.dbrepo.api.auth;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
 import io.swagger.v3.oas.annotations.media.Schema;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/auth/RealmAccessDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/auth/RealmAccessDto.java
similarity index 91%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/auth/RealmAccessDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/auth/RealmAccessDto.java
index b759aff168..35ab8bc159 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/auth/RealmAccessDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/auth/RealmAccessDto.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.auth;
+package at.ac.tuwien.ifs.dbrepo.api.auth;
 
 import io.swagger.v3.oas.annotations.media.Schema;
 import jakarta.validation.constraints.NotNull;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/container/ContainerActionTypeDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/container/ContainerActionTypeDto.java
similarity index 89%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/container/ContainerActionTypeDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/container/ContainerActionTypeDto.java
index 2ea7a8f8a4..26069b6389 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/container/ContainerActionTypeDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/container/ContainerActionTypeDto.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.container;
+package at.ac.tuwien.ifs.dbrepo.api.container;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
 import lombok.Getter;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/container/ContainerBriefDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/container/ContainerBriefDto.java
similarity index 86%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/container/ContainerBriefDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/container/ContainerBriefDto.java
index 91253b12ba..49212a57c7 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/container/ContainerBriefDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/container/ContainerBriefDto.java
@@ -1,7 +1,6 @@
-package at.tuwien.api.container;
+package at.ac.tuwien.ifs.dbrepo.api.container;
 
-import at.tuwien.api.container.image.ImageBriefDto;
-import com.fasterxml.jackson.annotation.JsonFormat;
+import at.ac.tuwien.ifs.dbrepo.api.container.image.ImageBriefDto;
 import com.fasterxml.jackson.annotation.JsonProperty;
 import io.swagger.v3.oas.annotations.media.Schema;
 import jakarta.validation.constraints.NotBlank;
@@ -9,7 +8,6 @@ import jakarta.validation.constraints.NotNull;
 import lombok.*;
 import lombok.extern.jackson.Jacksonized;
 
-import java.time.Instant;
 import java.util.UUID;
 
 @Getter
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/container/ContainerDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/container/ContainerDto.java
similarity index 90%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/container/ContainerDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/container/ContainerDto.java
index 39eb011652..a53276db9e 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/container/ContainerDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/container/ContainerDto.java
@@ -1,7 +1,7 @@
-package at.tuwien.api.container;
+package at.ac.tuwien.ifs.dbrepo.api.container;
 
-import at.tuwien.api.CacheableDto;
-import at.tuwien.api.container.image.ImageDto;
+import at.ac.tuwien.ifs.dbrepo.api.CacheableDto;
+import at.ac.tuwien.ifs.dbrepo.api.container.image.ImageDto;
 import com.fasterxml.jackson.annotation.JsonIgnore;
 import com.fasterxml.jackson.annotation.JsonProperty;
 import io.swagger.v3.oas.annotations.media.Schema;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/container/CreateContainerDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/container/CreateContainerDto.java
similarity index 96%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/container/CreateContainerDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/container/CreateContainerDto.java
index f2ac7df46a..a837a35270 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/container/CreateContainerDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/container/CreateContainerDto.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.container;
+package at.ac.tuwien.ifs.dbrepo.api.container;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
 import io.swagger.v3.oas.annotations.media.Schema;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/container/image/DataTypeDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/container/image/DataTypeDto.java
similarity index 97%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/container/image/DataTypeDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/container/image/DataTypeDto.java
index 908f54a1b4..9aed748c68 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/container/image/DataTypeDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/container/image/DataTypeDto.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.container.image;
+package at.ac.tuwien.ifs.dbrepo.api.container.image;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
 import io.swagger.v3.oas.annotations.media.Schema;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/container/image/ImageBriefDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/container/image/ImageBriefDto.java
similarity index 93%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/container/image/ImageBriefDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/container/image/ImageBriefDto.java
index ecbd050966..629ba34d40 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/container/image/ImageBriefDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/container/image/ImageBriefDto.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.container.image;
+package at.ac.tuwien.ifs.dbrepo.api.container.image;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
 import io.swagger.v3.oas.annotations.media.Schema;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/container/image/ImageChangeDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/container/image/ImageChangeDto.java
similarity index 95%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/container/image/ImageChangeDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/container/image/ImageChangeDto.java
index 520449d1de..b262ac33c8 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/container/image/ImageChangeDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/container/image/ImageChangeDto.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.container.image;
+package at.ac.tuwien.ifs.dbrepo.api.container.image;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
 import io.swagger.v3.oas.annotations.media.Schema;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/container/image/ImageCreateDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/container/image/ImageCreateDto.java
similarity index 96%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/container/image/ImageCreateDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/container/image/ImageCreateDto.java
index 4e9fea5b7c..f698bec7d9 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/container/image/ImageCreateDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/container/image/ImageCreateDto.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.container.image;
+package at.ac.tuwien.ifs.dbrepo.api.container.image;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
 import io.swagger.v3.oas.annotations.Parameter;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/container/image/ImageDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/container/image/ImageDto.java
similarity index 95%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/container/image/ImageDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/container/image/ImageDto.java
index ec4b0ad489..6dc178c3c2 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/container/image/ImageDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/container/image/ImageDto.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.container.image;
+package at.ac.tuwien.ifs.dbrepo.api.container.image;
 
 import com.fasterxml.jackson.annotation.JsonIgnore;
 import com.fasterxml.jackson.annotation.JsonProperty;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/container/image/OperatorDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/container/image/OperatorDto.java
similarity index 93%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/container/image/OperatorDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/container/image/OperatorDto.java
index 7eaee04810..3585383892 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/container/image/OperatorDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/container/image/OperatorDto.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.container.image;
+package at.ac.tuwien.ifs.dbrepo.api.container.image;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
 import io.swagger.v3.oas.annotations.media.Schema;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/crossref/CrossrefDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/crossref/CrossrefDto.java
similarity index 76%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/crossref/CrossrefDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/crossref/CrossrefDto.java
index 4a689a69ce..eff98449e3 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/crossref/CrossrefDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/crossref/CrossrefDto.java
@@ -1,6 +1,6 @@
-package at.tuwien.api.crossref;
+package at.ac.tuwien.ifs.dbrepo.api.crossref;
 
-import at.tuwien.api.crossref.label.CrossrefPrefLabelDto;
+import at.ac.tuwien.ifs.dbrepo.api.crossref.label.CrossrefPrefLabelDto;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.*;
 import lombok.extern.jackson.Jacksonized;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/crossref/form/CrossrefLiteralFormDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/crossref/form/CrossrefLiteralFormDto.java
similarity index 88%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/crossref/form/CrossrefLiteralFormDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/crossref/form/CrossrefLiteralFormDto.java
index b493cf89ff..80c6b75d2c 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/crossref/form/CrossrefLiteralFormDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/crossref/form/CrossrefLiteralFormDto.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.crossref.form;
+package at.ac.tuwien.ifs.dbrepo.api.crossref.form;
 
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.*;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/crossref/label/CrossrefLabelDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/crossref/label/CrossrefLabelDto.java
similarity index 76%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/crossref/label/CrossrefLabelDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/crossref/label/CrossrefLabelDto.java
index 7bdaf0f931..c8c971ede3 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/crossref/label/CrossrefLabelDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/crossref/label/CrossrefLabelDto.java
@@ -1,6 +1,6 @@
-package at.tuwien.api.crossref.label;
+package at.ac.tuwien.ifs.dbrepo.api.crossref.label;
 
-import at.tuwien.api.crossref.form.CrossrefLiteralFormDto;
+import at.ac.tuwien.ifs.dbrepo.api.crossref.form.CrossrefLiteralFormDto;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.*;
 import lombok.extern.jackson.Jacksonized;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/crossref/label/CrossrefPrefLabelDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/crossref/label/CrossrefPrefLabelDto.java
similarity index 86%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/crossref/label/CrossrefPrefLabelDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/crossref/label/CrossrefPrefLabelDto.java
index a70c161d83..04b04f5e23 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/crossref/label/CrossrefPrefLabelDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/crossref/label/CrossrefPrefLabelDto.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.crossref.label;
+package at.ac.tuwien.ifs.dbrepo.api.crossref.label;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
 import lombok.*;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/AccessTypeDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/AccessTypeDto.java
similarity index 91%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/AccessTypeDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/AccessTypeDto.java
index 4116376ace..bb0c03c752 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/AccessTypeDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/AccessTypeDto.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.database;
+package at.ac.tuwien.ifs.dbrepo.api.database;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
 import io.swagger.v3.oas.annotations.media.Schema;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/CreateAccessDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/CreateAccessDto.java
similarity index 89%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/CreateAccessDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/CreateAccessDto.java
index 965e10afd5..67e2e0bb82 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/CreateAccessDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/CreateAccessDto.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.database;
+package at.ac.tuwien.ifs.dbrepo.api.database;
 
 import io.swagger.v3.oas.annotations.media.Schema;
 import jakarta.validation.constraints.NotNull;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/CreateDatabaseDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/CreateDatabaseDto.java
similarity index 94%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/CreateDatabaseDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/CreateDatabaseDto.java
index e7fd08e771..1cd51efd83 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/CreateDatabaseDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/CreateDatabaseDto.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.database;
+package at.ac.tuwien.ifs.dbrepo.api.database;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
 import io.swagger.v3.oas.annotations.media.Schema;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/CreateViewDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/CreateViewDto.java
similarity index 88%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/CreateViewDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/CreateViewDto.java
index 9a9558470f..5631ff2445 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/CreateViewDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/CreateViewDto.java
@@ -1,6 +1,6 @@
-package at.tuwien.api.database;
+package at.ac.tuwien.ifs.dbrepo.api.database;
 
-import at.tuwien.api.database.query.SubsetDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.query.SubsetDto;
 import com.fasterxml.jackson.annotation.JsonProperty;
 import io.swagger.v3.oas.annotations.media.Schema;
 import jakarta.validation.constraints.NotBlank;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/DatabaseAccessDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/DatabaseAccessDto.java
similarity index 85%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/DatabaseAccessDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/DatabaseAccessDto.java
index 7e393561f8..161c1fe9db 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/DatabaseAccessDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/DatabaseAccessDto.java
@@ -1,7 +1,7 @@
 
-package at.tuwien.api.database;
+package at.ac.tuwien.ifs.dbrepo.api.database;
 
-import at.tuwien.api.user.UserBriefDto;
+import at.ac.tuwien.ifs.dbrepo.api.user.UserBriefDto;
 import com.fasterxml.jackson.annotation.JsonIgnore;
 import io.swagger.v3.oas.annotations.media.Schema;
 import jakarta.validation.constraints.NotNull;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/DatabaseBriefDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/DatabaseBriefDto.java
similarity index 89%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/DatabaseBriefDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/DatabaseBriefDto.java
index 4bb262b781..1c549f1f7f 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/DatabaseBriefDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/DatabaseBriefDto.java
@@ -1,7 +1,7 @@
-package at.tuwien.api.database;
+package at.ac.tuwien.ifs.dbrepo.api.database;
 
-import at.tuwien.api.identifier.IdentifierBriefDto;
-import at.tuwien.api.user.UserBriefDto;
+import at.ac.tuwien.ifs.dbrepo.api.identifier.IdentifierBriefDto;
+import at.ac.tuwien.ifs.dbrepo.api.user.UserBriefDto;
 import com.fasterxml.jackson.annotation.JsonProperty;
 import io.swagger.v3.oas.annotations.media.Schema;
 import jakarta.validation.constraints.NotBlank;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/DatabaseDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/DatabaseDto.java
similarity index 86%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/DatabaseDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/DatabaseDto.java
index e155de3bf7..bc7df3152a 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/DatabaseDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/DatabaseDto.java
@@ -1,11 +1,11 @@
-package at.tuwien.api.database;
-
-import at.tuwien.api.CacheableDto;
-import at.tuwien.api.container.ContainerBriefDto;
-import at.tuwien.api.container.ContainerDto;
-import at.tuwien.api.database.table.TableDto;
-import at.tuwien.api.identifier.IdentifierDto;
-import at.tuwien.api.user.UserBriefDto;
+package at.ac.tuwien.ifs.dbrepo.api.database;
+
+import at.ac.tuwien.ifs.dbrepo.api.CacheableDto;
+import at.ac.tuwien.ifs.dbrepo.api.container.ContainerBriefDto;
+import at.ac.tuwien.ifs.dbrepo.api.container.ContainerDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.TableDto;
+import at.ac.tuwien.ifs.dbrepo.api.identifier.IdentifierDto;
+import at.ac.tuwien.ifs.dbrepo.api.user.UserBriefDto;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import com.fasterxml.jackson.annotation.JsonProperty;
 import io.swagger.v3.oas.annotations.media.Schema;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/DatabaseModifyDashboardDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/DatabaseModifyDashboardDto.java
similarity index 86%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/DatabaseModifyDashboardDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/DatabaseModifyDashboardDto.java
index f9588ccb41..599af4ef39 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/DatabaseModifyDashboardDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/DatabaseModifyDashboardDto.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.database;
+package at.ac.tuwien.ifs.dbrepo.api.database;
 
 import jakarta.validation.constraints.NotNull;
 import lombok.*;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/DatabaseModifyImageDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/DatabaseModifyImageDto.java
similarity index 83%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/DatabaseModifyImageDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/DatabaseModifyImageDto.java
index 5160ae76bf..95235c5512 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/DatabaseModifyImageDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/DatabaseModifyImageDto.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.database;
+package at.ac.tuwien.ifs.dbrepo.api.database;
 
 import lombok.*;
 import lombok.extern.jackson.Jacksonized;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/DatabaseModifyVisibilityDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/DatabaseModifyVisibilityDto.java
similarity index 93%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/DatabaseModifyVisibilityDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/DatabaseModifyVisibilityDto.java
index f328400694..3ed9a0ace5 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/DatabaseModifyVisibilityDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/DatabaseModifyVisibilityDto.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.database;
+package at.ac.tuwien.ifs.dbrepo.api.database;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
 import io.swagger.v3.oas.annotations.media.Schema;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/DatabaseTransferDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/DatabaseTransferDto.java
similarity index 87%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/DatabaseTransferDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/DatabaseTransferDto.java
index 5a8e6beb10..65deb81519 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/DatabaseTransferDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/DatabaseTransferDto.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.database;
+package at.ac.tuwien.ifs.dbrepo.api.database;
 
 import jakarta.validation.constraints.NotNull;
 import lombok.*;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/LanguageTypeDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/LanguageTypeDto.java
similarity index 99%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/LanguageTypeDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/LanguageTypeDto.java
index 3891852861..7e586e9ed3 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/LanguageTypeDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/LanguageTypeDto.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.database;
+package at.ac.tuwien.ifs.dbrepo.api.database;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
 import lombok.Getter;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/LicenseDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/LicenseDto.java
similarity index 94%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/LicenseDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/LicenseDto.java
index a6384b3487..993701dc2d 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/LicenseDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/LicenseDto.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.database;
+package at.ac.tuwien.ifs.dbrepo.api.database;
 
 import io.swagger.v3.oas.annotations.media.Schema;
 import jakarta.validation.constraints.NotBlank;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/LoadFileDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/LoadFileDto.java
similarity index 89%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/LoadFileDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/LoadFileDto.java
index 65f5120d9b..2cd4aadafc 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/LoadFileDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/LoadFileDto.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.database;
+package at.ac.tuwien.ifs.dbrepo.api.database;
 
 import io.swagger.v3.oas.annotations.media.Schema;
 import jakarta.validation.constraints.NotBlank;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/ViewBriefDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/ViewBriefDto.java
similarity index 97%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/ViewBriefDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/ViewBriefDto.java
index 47107ac54f..cd75aa8b6a 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/ViewBriefDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/ViewBriefDto.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.database;
+package at.ac.tuwien.ifs.dbrepo.api.database;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
 import io.swagger.v3.oas.annotations.media.Schema;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/ViewColumnDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/ViewColumnDto.java
similarity index 88%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/ViewColumnDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/ViewColumnDto.java
index 0d406d3d87..126244b92e 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/ViewColumnDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/ViewColumnDto.java
@@ -1,8 +1,8 @@
-package at.tuwien.api.database;
+package at.ac.tuwien.ifs.dbrepo.api.database;
 
-import at.tuwien.api.database.table.columns.ColumnTypeDto;
-import at.tuwien.api.database.table.columns.EnumDto;
-import at.tuwien.api.database.table.columns.SetDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.columns.ColumnTypeDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.columns.EnumDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.columns.SetDto;
 import com.fasterxml.jackson.annotation.JsonProperty;
 import io.swagger.v3.oas.annotations.media.Schema;
 import jakarta.validation.constraints.NotBlank;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/ViewDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/ViewDto.java
similarity index 91%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/ViewDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/ViewDto.java
index ab58876758..52612d3c02 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/ViewDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/ViewDto.java
@@ -1,8 +1,8 @@
-package at.tuwien.api.database;
+package at.ac.tuwien.ifs.dbrepo.api.database;
 
-import at.tuwien.api.CacheableDto;
-import at.tuwien.api.identifier.IdentifierDto;
-import at.tuwien.api.user.UserBriefDto;
+import at.ac.tuwien.ifs.dbrepo.api.CacheableDto;
+import at.ac.tuwien.ifs.dbrepo.api.identifier.IdentifierDto;
+import at.ac.tuwien.ifs.dbrepo.api.user.UserBriefDto;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import com.fasterxml.jackson.annotation.JsonProperty;
 import io.swagger.v3.oas.annotations.media.Schema;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/ViewUpdateDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/ViewUpdateDto.java
similarity index 92%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/ViewUpdateDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/ViewUpdateDto.java
index 434ce0d9b6..9322d99bc2 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/ViewUpdateDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/ViewUpdateDto.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.database;
+package at.ac.tuwien.ifs.dbrepo.api.database;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
 import io.swagger.v3.oas.annotations.media.Schema;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/internal/CreateDatabaseDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/internal/CreateDatabaseDto.java
similarity index 96%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/internal/CreateDatabaseDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/internal/CreateDatabaseDto.java
index a8368e2166..d7e4619d30 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/internal/CreateDatabaseDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/internal/CreateDatabaseDto.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.database.internal;
+package at.ac.tuwien.ifs.dbrepo.api.database.internal;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
 import io.swagger.v3.oas.annotations.media.Schema;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/query/ExecuteStatementDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/query/ExecuteStatementDto.java
similarity index 88%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/query/ExecuteStatementDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/query/ExecuteStatementDto.java
index fbc8bfebe0..afdb671952 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/query/ExecuteStatementDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/query/ExecuteStatementDto.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.database.query;
+package at.ac.tuwien.ifs.dbrepo.api.database.query;
 
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.*;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/query/ExportDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/query/ExportDto.java
similarity index 87%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/query/ExportDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/query/ExportDto.java
index 36a13b3487..cf558ea082 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/query/ExportDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/query/ExportDto.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.database.query;
+package at.ac.tuwien.ifs.dbrepo.api.database.query;
 
 import io.swagger.v3.oas.annotations.media.Schema;
 import jakarta.validation.constraints.NotBlank;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/query/FilterDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/query/FilterDto.java
similarity index 93%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/query/FilterDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/query/FilterDto.java
index 3fe8744661..d77d32ce4e 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/query/FilterDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/query/FilterDto.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.database.query;
+package at.ac.tuwien.ifs.dbrepo.api.database.query;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
 import io.swagger.v3.oas.annotations.media.Schema;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/query/FilterTypeDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/query/FilterTypeDto.java
similarity index 89%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/query/FilterTypeDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/query/FilterTypeDto.java
index ba200da535..faa7409ee9 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/query/FilterTypeDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/query/FilterTypeDto.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.database.query;
+package at.ac.tuwien.ifs.dbrepo.api.database.query;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
 import io.swagger.v3.oas.annotations.media.Schema;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/query/ImportDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/query/ImportDto.java
similarity index 94%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/query/ImportDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/query/ImportDto.java
index 20817e0176..932f25b4f9 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/query/ImportDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/query/ImportDto.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.database.query;
+package at.ac.tuwien.ifs.dbrepo.api.database.query;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
 import io.swagger.v3.oas.annotations.media.Schema;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/query/OrderDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/query/OrderDto.java
similarity index 91%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/query/OrderDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/query/OrderDto.java
index bb58ad4831..98ca6f1704 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/query/OrderDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/query/OrderDto.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.database.query;
+package at.ac.tuwien.ifs.dbrepo.api.database.query;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
 import io.swagger.v3.oas.annotations.media.Schema;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/query/OrderTypeDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/query/OrderTypeDto.java
similarity index 88%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/query/OrderTypeDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/query/OrderTypeDto.java
index 0fa42cc198..8f7de6ccb8 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/query/OrderTypeDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/query/OrderTypeDto.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.database.query;
+package at.ac.tuwien.ifs.dbrepo.api.database.query;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
 import io.swagger.v3.oas.annotations.media.Schema;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/query/QueryBriefDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/query/QueryBriefDto.java
similarity index 91%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/query/QueryBriefDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/query/QueryBriefDto.java
index c55a108cfc..6c7bfad204 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/query/QueryBriefDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/query/QueryBriefDto.java
@@ -1,7 +1,7 @@
-package at.tuwien.api.database.query;
+package at.ac.tuwien.ifs.dbrepo.api.database.query;
 
-import at.tuwien.api.identifier.IdentifierBriefDto;
-import at.tuwien.api.user.UserBriefDto;
+import at.ac.tuwien.ifs.dbrepo.api.identifier.IdentifierBriefDto;
+import at.ac.tuwien.ifs.dbrepo.api.user.UserBriefDto;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import com.fasterxml.jackson.annotation.JsonProperty;
 import io.swagger.v3.oas.annotations.media.Schema;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/query/QueryDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/query/QueryDto.java
similarity index 89%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/query/QueryDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/query/QueryDto.java
index 24915a3dd5..dc4d653185 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/query/QueryDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/query/QueryDto.java
@@ -1,8 +1,8 @@
-package at.tuwien.api.database.query;
+package at.ac.tuwien.ifs.dbrepo.api.database.query;
 
-import at.tuwien.api.database.DatabaseDto;
-import at.tuwien.api.identifier.IdentifierBriefDto;
-import at.tuwien.api.user.UserBriefDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.DatabaseDto;
+import at.ac.tuwien.ifs.dbrepo.api.identifier.IdentifierBriefDto;
+import at.ac.tuwien.ifs.dbrepo.api.user.UserBriefDto;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import com.fasterxml.jackson.annotation.JsonProperty;
 import io.swagger.v3.oas.annotations.media.Schema;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/query/QueryPersistDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/query/QueryPersistDto.java
similarity index 87%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/query/QueryPersistDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/query/QueryPersistDto.java
index 5bc3ac2054..059cf20c7f 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/query/QueryPersistDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/query/QueryPersistDto.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.database.query;
+package at.ac.tuwien.ifs.dbrepo.api.database.query;
 
 import io.swagger.v3.oas.annotations.media.Schema;
 import jakarta.validation.constraints.NotNull;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/query/QueryTypeDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/query/QueryTypeDto.java
similarity index 88%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/query/QueryTypeDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/query/QueryTypeDto.java
index 7356f1a459..bee4673c9a 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/query/QueryTypeDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/query/QueryTypeDto.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.database.query;
+package at.ac.tuwien.ifs.dbrepo.api.database.query;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
 import io.swagger.v3.oas.annotations.media.Schema;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/query/SaveStatementDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/query/SaveStatementDto.java
similarity index 88%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/query/SaveStatementDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/query/SaveStatementDto.java
index 876dd5dfdd..952219e82e 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/query/SaveStatementDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/query/SaveStatementDto.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.database.query;
+package at.ac.tuwien.ifs.dbrepo.api.database.query;
 
 import io.swagger.v3.oas.annotations.media.Schema;
 import jakarta.validation.constraints.NotBlank;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/query/SubsetDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/query/SubsetDto.java
similarity index 93%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/query/SubsetDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/query/SubsetDto.java
index 6e8c238417..599a686746 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/query/SubsetDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/query/SubsetDto.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.database.query;
+package at.ac.tuwien.ifs.dbrepo.api.database.query;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
 import io.swagger.v3.oas.annotations.media.Schema;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/CreateTableDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/table/CreateTableDto.java
similarity index 82%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/CreateTableDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/table/CreateTableDto.java
index 15a798ee2d..0ef3d5f74b 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/CreateTableDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/table/CreateTableDto.java
@@ -1,7 +1,7 @@
-package at.tuwien.api.database.table;
+package at.ac.tuwien.ifs.dbrepo.api.database.table;
 
-import at.tuwien.api.database.table.columns.CreateTableColumnDto;
-import at.tuwien.api.database.table.constraints.CreateTableConstraintsDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.columns.CreateTableColumnDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.constraints.CreateTableConstraintsDto;
 import com.fasterxml.jackson.annotation.JsonProperty;
 import io.swagger.v3.oas.annotations.media.Schema;
 import jakarta.validation.constraints.NotBlank;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/HistoryEventTypeDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/table/HistoryEventTypeDto.java
similarity index 89%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/HistoryEventTypeDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/table/HistoryEventTypeDto.java
index bcb736951b..901726b77f 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/HistoryEventTypeDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/table/HistoryEventTypeDto.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.database.table;
+package at.ac.tuwien.ifs.dbrepo.api.database.table;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
 import io.swagger.v3.oas.annotations.media.Schema;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/SortType.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/table/SortType.java
similarity index 86%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/SortType.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/table/SortType.java
index 10325b1ccf..fbc0934f81 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/SortType.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/table/SortType.java
@@ -1,4 +1,4 @@
-package at.tuwien;
+package at.ac.tuwien.ifs.dbrepo.api.database.table;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
 
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/SortTypeDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/table/SortTypeDto.java
similarity index 81%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/SortTypeDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/table/SortTypeDto.java
index 37bc6aedb9..208786dccf 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/SortTypeDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/table/SortTypeDto.java
@@ -1,4 +1,4 @@
-package at.tuwien.api;
+package at.ac.tuwien.ifs.dbrepo.api.database.table;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
 
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/TableBriefDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/table/TableBriefDto.java
similarity index 96%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/TableBriefDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/table/TableBriefDto.java
index 3ba910b979..4959eb668d 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/TableBriefDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/table/TableBriefDto.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.database.table;
+package at.ac.tuwien.ifs.dbrepo.api.database.table;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
 import io.swagger.v3.oas.annotations.media.Schema;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/TableCreateRawQuery.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/table/TableCreateRawQuery.java
similarity index 89%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/TableCreateRawQuery.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/table/TableCreateRawQuery.java
index ec221ae5f0..8ecf083e24 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/TableCreateRawQuery.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/table/TableCreateRawQuery.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.database.table;
+package at.ac.tuwien.ifs.dbrepo.api.database.table;
 
 import lombok.*;
 import lombok.extern.jackson.Jacksonized;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/TableDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/table/TableDto.java
similarity index 84%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/TableDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/table/TableDto.java
index 6f6139fce4..215c8e3a74 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/TableDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/table/TableDto.java
@@ -1,15 +1,14 @@
-package at.tuwien.api.database.table;
-
-import at.tuwien.api.CacheableDto;
-import at.tuwien.api.container.ContainerDto;
-import at.tuwien.api.database.DatabaseBriefDto;
-import at.tuwien.api.database.DatabaseDto;
-import at.tuwien.api.database.table.columns.ColumnDto;
-import at.tuwien.api.database.table.constraints.ConstraintsDto;
-import at.tuwien.api.identifier.IdentifierDto;
-import at.tuwien.api.user.UserBriefDto;
+package at.ac.tuwien.ifs.dbrepo.api.database.table;
+
+import at.ac.tuwien.ifs.dbrepo.api.CacheableDto;
+import at.ac.tuwien.ifs.dbrepo.api.container.ContainerDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.DatabaseBriefDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.DatabaseDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.columns.ColumnDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.constraints.ConstraintsDto;
+import at.ac.tuwien.ifs.dbrepo.api.identifier.IdentifierDto;
+import at.ac.tuwien.ifs.dbrepo.api.user.UserBriefDto;
 import com.fasterxml.jackson.annotation.JsonFormat;
-import com.fasterxml.jackson.annotation.JsonIgnore;
 import com.fasterxml.jackson.annotation.JsonProperty;
 import io.swagger.v3.oas.annotations.media.Schema;
 import jakarta.validation.constraints.NotBlank;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/TableHistoryDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/table/TableHistoryDto.java
similarity index 93%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/TableHistoryDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/table/TableHistoryDto.java
index e6ed667235..a20ef71757 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/TableHistoryDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/table/TableHistoryDto.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.database.table;
+package at.ac.tuwien.ifs.dbrepo.api.database.table;
 
 import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.v3.oas.annotations.media.Schema;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/TableInsertRawQuery.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/table/TableInsertRawQuery.java
similarity index 86%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/TableInsertRawQuery.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/table/TableInsertRawQuery.java
index de6ff7feb7..c81fbea83e 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/TableInsertRawQuery.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/table/TableInsertRawQuery.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.database.table;
+package at.ac.tuwien.ifs.dbrepo.api.database.table;
 
 import lombok.*;
 import lombok.extern.jackson.Jacksonized;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/TableStatisticDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/table/TableStatisticDto.java
similarity index 88%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/TableStatisticDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/table/TableStatisticDto.java
index 9fbbc97d34..7f0ed7a4e2 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/TableStatisticDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/table/TableStatisticDto.java
@@ -1,6 +1,6 @@
-package at.tuwien.api.database.table;
+package at.ac.tuwien.ifs.dbrepo.api.database.table;
 
-import at.tuwien.api.database.table.columns.ColumnStatisticDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.columns.ColumnStatisticDto;
 import com.fasterxml.jackson.annotation.JsonProperty;
 import io.swagger.v3.oas.annotations.media.Schema;
 import jakarta.validation.constraints.NotNull;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/TableUpdateDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/table/TableUpdateDto.java
similarity index 93%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/TableUpdateDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/table/TableUpdateDto.java
index d8db270053..ce3fcfd89d 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/TableUpdateDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/table/TableUpdateDto.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.database.table;
+package at.ac.tuwien.ifs.dbrepo.api.database.table;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
 import io.swagger.v3.oas.annotations.media.Schema;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/TupleDeleteDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/table/TupleDeleteDto.java
similarity index 88%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/TupleDeleteDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/table/TupleDeleteDto.java
index f74ffb3d89..5495106e70 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/TupleDeleteDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/table/TupleDeleteDto.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.database.table;
+package at.ac.tuwien.ifs.dbrepo.api.database.table;
 
 import io.swagger.v3.oas.annotations.media.Schema;
 import jakarta.validation.constraints.NotNull;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/TupleDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/table/TupleDto.java
similarity index 88%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/TupleDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/table/TupleDto.java
index 13dc2b9723..6a2c9f0fcc 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/TupleDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/table/TupleDto.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.database.table;
+package at.ac.tuwien.ifs.dbrepo.api.database.table;
 
 import io.swagger.v3.oas.annotations.media.Schema;
 import jakarta.validation.constraints.NotNull;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/TupleUpdateDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/table/TupleUpdateDto.java
similarity index 90%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/TupleUpdateDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/table/TupleUpdateDto.java
index ab3f1ae875..ce3b7fe2c5 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/TupleUpdateDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/table/TupleUpdateDto.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.database.table;
+package at.ac.tuwien.ifs.dbrepo.api.database.table;
 
 import io.swagger.v3.oas.annotations.media.Schema;
 import jakarta.validation.constraints.NotNull;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/columns/ColumnBriefDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/table/columns/ColumnBriefDto.java
similarity index 95%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/columns/ColumnBriefDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/table/columns/ColumnBriefDto.java
index 08ee40caa4..bb60b9bfc2 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/columns/ColumnBriefDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/table/columns/ColumnBriefDto.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.database.table.columns;
+package at.ac.tuwien.ifs.dbrepo.api.database.table.columns;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
 import io.swagger.v3.oas.annotations.media.Schema;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/columns/ColumnDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/table/columns/ColumnDto.java
similarity index 92%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/columns/ColumnDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/table/columns/ColumnDto.java
index 6325702c7c..8e772433bc 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/columns/ColumnDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/table/columns/ColumnDto.java
@@ -1,9 +1,8 @@
-package at.tuwien.api.database.table.columns;
+package at.ac.tuwien.ifs.dbrepo.api.database.table.columns;
 
-import at.tuwien.api.database.table.columns.concepts.ConceptBriefDto;
-import at.tuwien.api.database.table.columns.concepts.UnitBriefDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.columns.concepts.ConceptBriefDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.columns.concepts.UnitBriefDto;
 import com.fasterxml.jackson.annotation.JsonProperty;
-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;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/columns/ColumnStatisticDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/table/columns/ColumnStatisticDto.java
similarity index 92%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/columns/ColumnStatisticDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/table/columns/ColumnStatisticDto.java
index 3662722b8b..d0101cac2b 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/columns/ColumnStatisticDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/table/columns/ColumnStatisticDto.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.database.table.columns;
+package at.ac.tuwien.ifs.dbrepo.api.database.table.columns;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
 import jakarta.validation.constraints.NotBlank;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/columns/ColumnTypeDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/table/columns/ColumnTypeDto.java
similarity index 96%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/columns/ColumnTypeDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/table/columns/ColumnTypeDto.java
index 4440e986be..8cbb621e6d 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/columns/ColumnTypeDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/table/columns/ColumnTypeDto.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.database.table.columns;
+package at.ac.tuwien.ifs.dbrepo.api.database.table.columns;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
 import io.swagger.v3.oas.annotations.media.Schema;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/columns/CreateTableColumnDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/table/columns/CreateTableColumnDto.java
similarity index 95%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/columns/CreateTableColumnDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/table/columns/CreateTableColumnDto.java
index 9733f64a16..02a9665da8 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/columns/CreateTableColumnDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/table/columns/CreateTableColumnDto.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.database.table.columns;
+package at.ac.tuwien.ifs.dbrepo.api.database.table.columns;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
 import io.swagger.v3.oas.annotations.media.Schema;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/columns/EnumDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/table/columns/EnumDto.java
similarity index 88%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/columns/EnumDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/table/columns/EnumDto.java
index 9038648513..c2cc0f7466 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/columns/EnumDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/table/columns/EnumDto.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.database.table.columns;
+package at.ac.tuwien.ifs.dbrepo.api.database.table.columns;
 
 import io.swagger.v3.oas.annotations.media.Schema;
 import jakarta.validation.constraints.NotNull;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/columns/SetDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/table/columns/SetDto.java
similarity index 88%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/columns/SetDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/table/columns/SetDto.java
index 6986212592..084452d594 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/columns/SetDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/table/columns/SetDto.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.database.table.columns;
+package at.ac.tuwien.ifs.dbrepo.api.database.table.columns;
 
 import io.swagger.v3.oas.annotations.media.Schema;
 import jakarta.validation.constraints.NotNull;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/columns/SiUnitDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/table/columns/SiUnitDto.java
similarity index 91%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/columns/SiUnitDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/table/columns/SiUnitDto.java
index b327a53cec..25949b8921 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/columns/SiUnitDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/table/columns/SiUnitDto.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.database.table.columns;
+package at.ac.tuwien.ifs.dbrepo.api.database.table.columns;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
 import lombok.Getter;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/columns/concepts/ColumnSemanticsUpdateDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/table/columns/concepts/ColumnSemanticsUpdateDto.java
similarity index 84%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/columns/concepts/ColumnSemanticsUpdateDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/table/columns/concepts/ColumnSemanticsUpdateDto.java
index 9c74981f14..f9c298b4e7 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/columns/concepts/ColumnSemanticsUpdateDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/table/columns/concepts/ColumnSemanticsUpdateDto.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.database.table.columns.concepts;
+package at.ac.tuwien.ifs.dbrepo.api.database.table.columns.concepts;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
 import lombok.*;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/columns/concepts/ConceptBriefDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/table/columns/concepts/ConceptBriefDto.java
similarity index 92%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/columns/concepts/ConceptBriefDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/table/columns/concepts/ConceptBriefDto.java
index 160807e7aa..04ef35ac85 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/columns/concepts/ConceptBriefDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/table/columns/concepts/ConceptBriefDto.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.database.table.columns.concepts;
+package at.ac.tuwien.ifs.dbrepo.api.database.table.columns.concepts;
 
 import io.swagger.v3.oas.annotations.media.Schema;
 import jakarta.validation.constraints.NotBlank;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/columns/concepts/ConceptDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/table/columns/concepts/ConceptDto.java
similarity index 81%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/columns/concepts/ConceptDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/table/columns/concepts/ConceptDto.java
index 1359556943..1dc91c9e69 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/columns/concepts/ConceptDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/table/columns/concepts/ConceptDto.java
@@ -1,6 +1,6 @@
-package at.tuwien.api.database.table.columns.concepts;
+package at.ac.tuwien.ifs.dbrepo.api.database.table.columns.concepts;
 
-import at.tuwien.api.database.table.columns.ColumnBriefDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.columns.ColumnBriefDto;
 import io.swagger.v3.oas.annotations.media.Schema;
 import jakarta.validation.constraints.NotBlank;
 import jakarta.validation.constraints.NotNull;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/columns/concepts/ConceptSaveDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/table/columns/concepts/ConceptSaveDto.java
similarity index 84%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/columns/concepts/ConceptSaveDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/table/columns/concepts/ConceptSaveDto.java
index b61d911ef9..05de242e54 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/columns/concepts/ConceptSaveDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/table/columns/concepts/ConceptSaveDto.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.database.table.columns.concepts;
+package at.ac.tuwien.ifs.dbrepo.api.database.table.columns.concepts;
 
 import jakarta.validation.constraints.NotBlank;
 import lombok.*;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/columns/concepts/UnitBriefDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/table/columns/concepts/UnitBriefDto.java
similarity index 91%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/columns/concepts/UnitBriefDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/table/columns/concepts/UnitBriefDto.java
index 789f3de150..e5094b7d6e 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/columns/concepts/UnitBriefDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/table/columns/concepts/UnitBriefDto.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.database.table.columns.concepts;
+package at.ac.tuwien.ifs.dbrepo.api.database.table.columns.concepts;
 
 import io.swagger.v3.oas.annotations.media.Schema;
 import jakarta.validation.constraints.NotBlank;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/columns/concepts/UnitDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/table/columns/concepts/UnitDto.java
similarity index 81%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/columns/concepts/UnitDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/table/columns/concepts/UnitDto.java
index ca3899f7cc..92f9564e96 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/columns/concepts/UnitDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/table/columns/concepts/UnitDto.java
@@ -1,6 +1,6 @@
-package at.tuwien.api.database.table.columns.concepts;
+package at.ac.tuwien.ifs.dbrepo.api.database.table.columns.concepts;
 
-import at.tuwien.api.database.table.columns.ColumnBriefDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.columns.ColumnBriefDto;
 import io.swagger.v3.oas.annotations.media.Schema;
 import jakarta.validation.constraints.NotBlank;
 import jakarta.validation.constraints.NotNull;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/columns/concepts/UnitSaveDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/table/columns/concepts/UnitSaveDto.java
similarity index 84%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/columns/concepts/UnitSaveDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/table/columns/concepts/UnitSaveDto.java
index 530c7c8fbb..9b4f4c7f85 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/columns/concepts/UnitSaveDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/table/columns/concepts/UnitSaveDto.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.database.table.columns.concepts;
+package at.ac.tuwien.ifs.dbrepo.api.database.table.columns.concepts;
 
 import jakarta.validation.constraints.NotBlank;
 import lombok.*;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/constraints/ConstraintsDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/table/constraints/ConstraintsDto.java
similarity index 65%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/constraints/ConstraintsDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/table/constraints/ConstraintsDto.java
index b9288b659b..95ba9ad99a 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/constraints/ConstraintsDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/table/constraints/ConstraintsDto.java
@@ -1,8 +1,8 @@
-package at.tuwien.api.database.table.constraints;
+package at.ac.tuwien.ifs.dbrepo.api.database.table.constraints;
 
-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 at.ac.tuwien.ifs.dbrepo.api.database.table.constraints.foreign.ForeignKeyDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.constraints.primary.PrimaryKeyDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.constraints.unique.UniqueDto;
 import com.fasterxml.jackson.annotation.JsonProperty;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.*;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/constraints/CreateTableConstraintsDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/table/constraints/CreateTableConstraintsDto.java
similarity index 80%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/constraints/CreateTableConstraintsDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/table/constraints/CreateTableConstraintsDto.java
index 7b223372d2..46ebaf1c0b 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/constraints/CreateTableConstraintsDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/table/constraints/CreateTableConstraintsDto.java
@@ -1,6 +1,6 @@
-package at.tuwien.api.database.table.constraints;
+package at.ac.tuwien.ifs.dbrepo.api.database.table.constraints;
 
-import at.tuwien.api.database.table.constraints.foreign.CreateForeignKeyDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.constraints.foreign.CreateForeignKeyDto;
 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/foreign/CreateForeignKeyDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/table/constraints/foreign/CreateForeignKeyDto.java
similarity index 92%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/constraints/foreign/CreateForeignKeyDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/table/constraints/foreign/CreateForeignKeyDto.java
index 5e1d0a9f86..896d0d4058 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/constraints/foreign/CreateForeignKeyDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/table/constraints/foreign/CreateForeignKeyDto.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.database.table.constraints.foreign;
+package at.ac.tuwien.ifs.dbrepo.api.database.table.constraints.foreign;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
 import io.swagger.v3.oas.annotations.media.Schema;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/constraints/foreign/ForeignKeyBriefDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/table/constraints/foreign/ForeignKeyBriefDto.java
similarity index 82%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/constraints/foreign/ForeignKeyBriefDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/table/constraints/foreign/ForeignKeyBriefDto.java
index 4acc205efd..5ea08a414c 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/constraints/foreign/ForeignKeyBriefDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/table/constraints/foreign/ForeignKeyBriefDto.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.database.table.constraints.foreign;
+package at.ac.tuwien.ifs.dbrepo.api.database.table.constraints.foreign;
 
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.*;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/constraints/foreign/ForeignKeyDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/table/constraints/foreign/ForeignKeyDto.java
similarity index 78%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/constraints/foreign/ForeignKeyDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/table/constraints/foreign/ForeignKeyDto.java
index 94063c77dc..8e7c54414d 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/constraints/foreign/ForeignKeyDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/table/constraints/foreign/ForeignKeyDto.java
@@ -1,8 +1,8 @@
-package at.tuwien.api.database.table.constraints.foreign;
+package at.ac.tuwien.ifs.dbrepo.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 at.ac.tuwien.ifs.dbrepo.api.database.table.TableBriefDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.TableDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.columns.ColumnDto;
 import com.fasterxml.jackson.annotation.JsonProperty;
 import io.swagger.v3.oas.annotations.media.Schema;
 import jakarta.validation.constraints.NotNull;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/constraints/foreign/ForeignKeyReferenceDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/table/constraints/foreign/ForeignKeyReferenceDto.java
similarity index 82%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/constraints/foreign/ForeignKeyReferenceDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/table/constraints/foreign/ForeignKeyReferenceDto.java
index 2423b92a62..7248ce52fc 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/constraints/foreign/ForeignKeyReferenceDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/table/constraints/foreign/ForeignKeyReferenceDto.java
@@ -1,6 +1,6 @@
-package at.tuwien.api.database.table.constraints.foreign;
+package at.ac.tuwien.ifs.dbrepo.api.database.table.constraints.foreign;
 
-import at.tuwien.api.database.table.columns.ColumnBriefDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.columns.ColumnBriefDto;
 import com.fasterxml.jackson.annotation.JsonProperty;
 import io.swagger.v3.oas.annotations.media.Schema;
 import jakarta.validation.constraints.NotNull;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/constraints/foreign/ReferenceTypeDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/table/constraints/foreign/ReferenceTypeDto.java
similarity index 93%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/constraints/foreign/ReferenceTypeDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/table/constraints/foreign/ReferenceTypeDto.java
index 239b95e7e9..2e80aa43bc 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/constraints/foreign/ReferenceTypeDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/table/constraints/foreign/ReferenceTypeDto.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.database.table.constraints.foreign;
+package at.ac.tuwien.ifs.dbrepo.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/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/table/constraints/primary/PrimaryKeyDto.java
similarity index 69%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/constraints/primary/PrimaryKeyDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/table/constraints/primary/PrimaryKeyDto.java
index 59117a5795..48299470b1 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/constraints/primary/PrimaryKeyDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/table/constraints/primary/PrimaryKeyDto.java
@@ -1,7 +1,7 @@
-package at.tuwien.api.database.table.constraints.primary;
+package at.ac.tuwien.ifs.dbrepo.api.database.table.constraints.primary;
 
-import at.tuwien.api.database.table.TableBriefDto;
-import at.tuwien.api.database.table.columns.ColumnBriefDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.TableBriefDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.columns.ColumnBriefDto;
 import io.swagger.v3.oas.annotations.media.Schema;
 import jakarta.validation.constraints.NotNull;
 import lombok.*;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/constraints/unique/UniqueDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/table/constraints/unique/UniqueDto.java
similarity index 73%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/constraints/unique/UniqueDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/table/constraints/unique/UniqueDto.java
index 64db6dfde0..de5572e25f 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/constraints/unique/UniqueDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/table/constraints/unique/UniqueDto.java
@@ -1,7 +1,7 @@
-package at.tuwien.api.database.table.constraints.unique;
+package at.ac.tuwien.ifs.dbrepo.api.database.table.constraints.unique;
 
-import at.tuwien.api.database.table.TableBriefDto;
-import at.tuwien.api.database.table.columns.ColumnBriefDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.TableBriefDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.columns.ColumnBriefDto;
 import io.swagger.v3.oas.annotations.media.Schema;
 import jakarta.validation.constraints.NotNull;
 import lombok.*;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/internal/TableCreateDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/table/internal/TableCreateDto.java
similarity index 81%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/internal/TableCreateDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/table/internal/TableCreateDto.java
index f8db928e8e..1e2509ab3b 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/table/internal/TableCreateDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/database/table/internal/TableCreateDto.java
@@ -1,7 +1,7 @@
-package at.tuwien.api.database.table.internal;
+package at.ac.tuwien.ifs.dbrepo.api.database.table.internal;
 
-import at.tuwien.api.database.table.columns.CreateTableColumnDto;
-import at.tuwien.api.database.table.constraints.CreateTableConstraintsDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.columns.CreateTableColumnDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.constraints.CreateTableConstraintsDto;
 import com.fasterxml.jackson.annotation.JsonProperty;
 import io.swagger.v3.oas.annotations.media.Schema;
 import jakarta.validation.constraints.NotBlank;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/datacite/DataCiteBody.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/datacite/DataCiteBody.java
similarity index 85%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/datacite/DataCiteBody.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/datacite/DataCiteBody.java
index 8ef874acba..3e45a47543 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/datacite/DataCiteBody.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/datacite/DataCiteBody.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.datacite;
+package at.ac.tuwien.ifs.dbrepo.api.datacite;
 
 import lombok.*;
 import lombok.extern.jackson.Jacksonized;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/datacite/DataCiteData.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/datacite/DataCiteData.java
similarity index 90%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/datacite/DataCiteData.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/datacite/DataCiteData.java
index 62b8ad411c..e95a57945b 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/datacite/DataCiteData.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/datacite/DataCiteData.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.datacite;
+package at.ac.tuwien.ifs.dbrepo.api.datacite;
 
 import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
 import lombok.*;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/datacite/DataCiteError.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/datacite/DataCiteError.java
similarity index 85%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/datacite/DataCiteError.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/datacite/DataCiteError.java
index dcbc312d31..09d9d4a2bd 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/datacite/DataCiteError.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/datacite/DataCiteError.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.datacite;
+package at.ac.tuwien.ifs.dbrepo.api.datacite;
 
 import lombok.*;
 import lombok.extern.jackson.Jacksonized;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/datacite/doi/DataCiteCreateDoi.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/datacite/doi/DataCiteCreateDoi.java
similarity index 94%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/datacite/doi/DataCiteCreateDoi.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/datacite/doi/DataCiteCreateDoi.java
index 24da7bc82a..43afab69cd 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/datacite/doi/DataCiteCreateDoi.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/datacite/doi/DataCiteCreateDoi.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.datacite.doi;
+package at.ac.tuwien.ifs.dbrepo.api.datacite.doi;
 
 import lombok.*;
 
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/datacite/doi/DataCiteDoi.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/datacite/doi/DataCiteDoi.java
similarity index 87%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/datacite/doi/DataCiteDoi.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/datacite/doi/DataCiteDoi.java
index 5d3e0b2c1e..6cb8189463 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/datacite/doi/DataCiteDoi.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/datacite/doi/DataCiteDoi.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.datacite.doi;
+package at.ac.tuwien.ifs.dbrepo.api.datacite.doi;
 
 import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
 import lombok.*;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/datacite/doi/DataCiteDoiCreator.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/datacite/doi/DataCiteDoiCreator.java
similarity index 92%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/datacite/doi/DataCiteDoiCreator.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/datacite/doi/DataCiteDoiCreator.java
index 3d093adf74..8bac1e2505 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/datacite/doi/DataCiteDoiCreator.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/datacite/doi/DataCiteDoiCreator.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.datacite.doi;
+package at.ac.tuwien.ifs.dbrepo.api.datacite.doi;
 
 import jakarta.validation.constraints.NotNull;
 import lombok.*;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/datacite/doi/DataCiteDoiCreatorAffiliation.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/datacite/doi/DataCiteDoiCreatorAffiliation.java
similarity index 88%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/datacite/doi/DataCiteDoiCreatorAffiliation.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/datacite/doi/DataCiteDoiCreatorAffiliation.java
index a361452b96..152124fc55 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/datacite/doi/DataCiteDoiCreatorAffiliation.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/datacite/doi/DataCiteDoiCreatorAffiliation.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.datacite.doi;
+package at.ac.tuwien.ifs.dbrepo.api.datacite.doi;
 
 import lombok.*;
 import lombok.extern.jackson.Jacksonized;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/datacite/doi/DataCiteDoiCreatorNameIdentifier.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/datacite/doi/DataCiteDoiCreatorNameIdentifier.java
similarity index 87%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/datacite/doi/DataCiteDoiCreatorNameIdentifier.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/datacite/doi/DataCiteDoiCreatorNameIdentifier.java
index 449c814171..2f26c389fb 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/datacite/doi/DataCiteDoiCreatorNameIdentifier.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/datacite/doi/DataCiteDoiCreatorNameIdentifier.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.datacite.doi;
+package at.ac.tuwien.ifs.dbrepo.api.datacite.doi;
 
 import lombok.*;
 import lombok.extern.jackson.Jacksonized;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/datacite/doi/DataCiteDoiEvent.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/datacite/doi/DataCiteDoiEvent.java
similarity index 91%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/datacite/doi/DataCiteDoiEvent.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/datacite/doi/DataCiteDoiEvent.java
index 35b6c670da..8a1381136b 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/datacite/doi/DataCiteDoiEvent.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/datacite/doi/DataCiteDoiEvent.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.datacite.doi;
+package at.ac.tuwien.ifs.dbrepo.api.datacite.doi;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
 import lombok.Getter;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/datacite/doi/DataCiteDoiFundingReference.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/datacite/doi/DataCiteDoiFundingReference.java
similarity index 89%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/datacite/doi/DataCiteDoiFundingReference.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/datacite/doi/DataCiteDoiFundingReference.java
index 595c808a24..479fb675e3 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/datacite/doi/DataCiteDoiFundingReference.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/datacite/doi/DataCiteDoiFundingReference.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.datacite.doi;
+package at.ac.tuwien.ifs.dbrepo.api.datacite.doi;
 
 import lombok.*;
 import lombok.extern.jackson.Jacksonized;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/datacite/doi/DataCiteDoiFundingReferenceIdentifier.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/datacite/doi/DataCiteDoiFundingReferenceIdentifier.java
similarity index 87%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/datacite/doi/DataCiteDoiFundingReferenceIdentifier.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/datacite/doi/DataCiteDoiFundingReferenceIdentifier.java
index 1bdc94605f..0bf5da085f 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/datacite/doi/DataCiteDoiFundingReferenceIdentifier.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/datacite/doi/DataCiteDoiFundingReferenceIdentifier.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.datacite.doi;
+package at.ac.tuwien.ifs.dbrepo.api.datacite.doi;
 
 import lombok.*;
 import lombok.extern.jackson.Jacksonized;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/datacite/doi/DataCiteDoiRelatedIdentifier.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/datacite/doi/DataCiteDoiRelatedIdentifier.java
similarity index 89%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/datacite/doi/DataCiteDoiRelatedIdentifier.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/datacite/doi/DataCiteDoiRelatedIdentifier.java
index d446029eae..0f459d0fd4 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/datacite/doi/DataCiteDoiRelatedIdentifier.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/datacite/doi/DataCiteDoiRelatedIdentifier.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.datacite.doi;
+package at.ac.tuwien.ifs.dbrepo.api.datacite.doi;
 
 import lombok.*;
 import lombok.extern.jackson.Jacksonized;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/datacite/doi/DataCiteDoiRights.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/datacite/doi/DataCiteDoiRights.java
similarity index 86%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/datacite/doi/DataCiteDoiRights.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/datacite/doi/DataCiteDoiRights.java
index 4a53c7f7c5..879cff3558 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/datacite/doi/DataCiteDoiRights.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/datacite/doi/DataCiteDoiRights.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.datacite.doi;
+package at.ac.tuwien.ifs.dbrepo.api.datacite.doi;
 
 import lombok.*;
 import lombok.extern.jackson.Jacksonized;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/datacite/doi/DataCiteDoiTitle.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/datacite/doi/DataCiteDoiTitle.java
similarity index 95%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/datacite/doi/DataCiteDoiTitle.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/datacite/doi/DataCiteDoiTitle.java
index a0358da69a..4f9531c06e 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/datacite/doi/DataCiteDoiTitle.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/datacite/doi/DataCiteDoiTitle.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.datacite.doi;
+package at.ac.tuwien.ifs.dbrepo.api.datacite.doi;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
 import lombok.*;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/datacite/doi/DataCiteDoiTypes.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/datacite/doi/DataCiteDoiTypes.java
similarity index 92%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/datacite/doi/DataCiteDoiTypes.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/datacite/doi/DataCiteDoiTypes.java
index 778853ce78..a00127dda3 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/datacite/doi/DataCiteDoiTypes.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/datacite/doi/DataCiteDoiTypes.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.datacite.doi;
+package at.ac.tuwien.ifs.dbrepo.api.datacite.doi;
 
 import lombok.*;
 
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/datacite/doi/DataCiteNameType.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/datacite/doi/DataCiteNameType.java
similarity index 89%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/datacite/doi/DataCiteNameType.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/datacite/doi/DataCiteNameType.java
index 76468540f5..0c92807ef7 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/datacite/doi/DataCiteNameType.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/datacite/doi/DataCiteNameType.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.datacite.doi;
+package at.ac.tuwien.ifs.dbrepo.api.datacite.doi;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
 import lombok.Getter;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/error/ApiErrorDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/error/ApiErrorDto.java
similarity index 93%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/error/ApiErrorDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/error/ApiErrorDto.java
index bb271f5ed6..5875613749 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/error/ApiErrorDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/error/ApiErrorDto.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.error;
+package at.ac.tuwien.ifs.dbrepo.api.error;
 
 import io.swagger.v3.oas.annotations.media.Schema;
 import jakarta.validation.constraints.NotNull;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/file/UploadResponseDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/file/UploadResponseDto.java
similarity index 88%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/file/UploadResponseDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/file/UploadResponseDto.java
index 3b1cdab223..b9fda25376 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/file/UploadResponseDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/file/UploadResponseDto.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.file;
+package at.ac.tuwien.ifs.dbrepo.api.file;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
 import jakarta.validation.constraints.NotBlank;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/grafana/AccessTypeDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/grafana/AccessTypeDto.java
similarity index 89%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/grafana/AccessTypeDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/grafana/AccessTypeDto.java
index 251b7c2c11..e56122448d 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/grafana/AccessTypeDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/grafana/AccessTypeDto.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.grafana;
+package at.ac.tuwien.ifs.dbrepo.api.grafana;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
 import io.swagger.v3.oas.annotations.media.Schema;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/grafana/CreateDashboardDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/grafana/CreateDashboardDto.java
similarity index 95%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/grafana/CreateDashboardDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/grafana/CreateDashboardDto.java
index 5d7a0d68dc..b83b0ea0ec 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/grafana/CreateDashboardDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/grafana/CreateDashboardDto.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.grafana;
+package at.ac.tuwien.ifs.dbrepo.api.grafana;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
 import io.swagger.v3.oas.annotations.media.Schema;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/grafana/CreateDashboardResponseDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/grafana/CreateDashboardResponseDto.java
similarity index 90%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/grafana/CreateDashboardResponseDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/grafana/CreateDashboardResponseDto.java
index 7cbaf4c0db..a3d798120a 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/grafana/CreateDashboardResponseDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/grafana/CreateDashboardResponseDto.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.grafana;
+package at.ac.tuwien.ifs.dbrepo.api.grafana;
 
 import io.swagger.v3.oas.annotations.media.Schema;
 import jakarta.validation.constraints.NotNull;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/grafana/DatasourceDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/grafana/DatasourceDto.java
similarity index 97%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/grafana/DatasourceDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/grafana/DatasourceDto.java
index 9f6d4ca2f9..d9b271018d 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/grafana/DatasourceDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/grafana/DatasourceDto.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.grafana;
+package at.ac.tuwien.ifs.dbrepo.api.grafana;
 
 import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
 import io.swagger.v3.oas.annotations.media.Schema;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/grafana/DatasourceTypeDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/grafana/DatasourceTypeDto.java
similarity index 91%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/grafana/DatasourceTypeDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/grafana/DatasourceTypeDto.java
index 33354a019f..92ae9acef5 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/grafana/DatasourceTypeDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/grafana/DatasourceTypeDto.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.grafana;
+package at.ac.tuwien.ifs.dbrepo.api.grafana;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
 import io.swagger.v3.oas.annotations.media.Schema;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/grafana/PermissionTypeDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/grafana/PermissionTypeDto.java
similarity index 92%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/grafana/PermissionTypeDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/grafana/PermissionTypeDto.java
index 6fa7ef78fc..e8a9cb027d 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/grafana/PermissionTypeDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/grafana/PermissionTypeDto.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.grafana;
+package at.ac.tuwien.ifs.dbrepo.api.grafana;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
 import io.swagger.v3.oas.annotations.media.Schema;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/grafana/UpdateDashboardAccessDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/grafana/UpdateDashboardAccessDto.java
similarity index 89%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/grafana/UpdateDashboardAccessDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/grafana/UpdateDashboardAccessDto.java
index 902b2336c1..c5e2b7e9e4 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/grafana/UpdateDashboardAccessDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/grafana/UpdateDashboardAccessDto.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.grafana;
+package at.ac.tuwien.ifs.dbrepo.api.grafana;
 
 import io.swagger.v3.oas.annotations.media.Schema;
 import jakarta.validation.constraints.NotNull;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/identifier/AffiliationIdentifierSchemeTypeDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/identifier/AffiliationIdentifierSchemeTypeDto.java
similarity index 70%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/identifier/AffiliationIdentifierSchemeTypeDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/identifier/AffiliationIdentifierSchemeTypeDto.java
index 3c089e6454..7591059990 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/identifier/AffiliationIdentifierSchemeTypeDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/identifier/AffiliationIdentifierSchemeTypeDto.java
@@ -1,5 +1,5 @@
 
-package at.tuwien.api.identifier;
+package at.ac.tuwien.ifs.dbrepo.api.identifier;
 
 import lombok.Getter;
 
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/identifier/BibliographyTypeDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/identifier/BibliographyTypeDto.java
similarity index 90%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/identifier/BibliographyTypeDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/identifier/BibliographyTypeDto.java
index 83b5aa4e09..9cf8b40f53 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/identifier/BibliographyTypeDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/identifier/BibliographyTypeDto.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.identifier;
+package at.ac.tuwien.ifs.dbrepo.api.identifier;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
 import lombok.Getter;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/identifier/CreateIdentifierDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/identifier/CreateIdentifierDto.java
similarity index 92%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/identifier/CreateIdentifierDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/identifier/CreateIdentifierDto.java
index 5f2e73fc07..c1bdf1ed1a 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/identifier/CreateIdentifierDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/identifier/CreateIdentifierDto.java
@@ -1,7 +1,7 @@
-package at.tuwien.api.identifier;
+package at.ac.tuwien.ifs.dbrepo.api.identifier;
 
-import at.tuwien.api.database.LanguageTypeDto;
-import at.tuwien.api.database.LicenseDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.LanguageTypeDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.LicenseDto;
 import com.fasterxml.jackson.annotation.JsonProperty;
 import io.swagger.v3.oas.annotations.media.Schema;
 import jakarta.validation.constraints.NotBlank;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/identifier/CreatorBriefDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/identifier/CreatorBriefDto.java
similarity index 96%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/identifier/CreatorBriefDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/identifier/CreatorBriefDto.java
index 95b0d588f7..c57435b6dd 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/identifier/CreatorBriefDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/identifier/CreatorBriefDto.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.identifier;
+package at.ac.tuwien.ifs.dbrepo.api.identifier;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
 import io.swagger.v3.oas.annotations.media.Schema;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/identifier/CreatorDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/identifier/CreatorDto.java
similarity index 95%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/identifier/CreatorDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/identifier/CreatorDto.java
index 1382baec51..bc3e577ebc 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/identifier/CreatorDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/identifier/CreatorDto.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.identifier;
+package at.ac.tuwien.ifs.dbrepo.api.identifier;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
 import io.swagger.v3.oas.annotations.media.Schema;
@@ -7,7 +7,6 @@ import lombok.*;
 import jakarta.validation.constraints.NotBlank;
 import jakarta.validation.constraints.NotNull;
 import lombok.extern.jackson.Jacksonized;
-import org.springframework.data.annotation.Id;
 
 import java.util.UUID;
 
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/identifier/DescriptionTypeDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/identifier/DescriptionTypeDto.java
similarity index 93%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/identifier/DescriptionTypeDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/identifier/DescriptionTypeDto.java
index fb30ec3a3c..558b0005e8 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/identifier/DescriptionTypeDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/identifier/DescriptionTypeDto.java
@@ -1,5 +1,5 @@
 
-package at.tuwien.api.identifier;
+package at.ac.tuwien.ifs.dbrepo.api.identifier;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
 import lombok.Getter;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/identifier/IdentifierBriefDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/identifier/IdentifierBriefDto.java
similarity index 97%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/identifier/IdentifierBriefDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/identifier/IdentifierBriefDto.java
index 0434d1b21f..e713b3a4b9 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/identifier/IdentifierBriefDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/identifier/IdentifierBriefDto.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.identifier;
+package at.ac.tuwien.ifs.dbrepo.api.identifier;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
 import io.swagger.v3.oas.annotations.media.Schema;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/identifier/IdentifierDescriptionDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/identifier/IdentifierDescriptionDto.java
similarity index 85%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/identifier/IdentifierDescriptionDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/identifier/IdentifierDescriptionDto.java
index 32ff2455cc..45173b5031 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/identifier/IdentifierDescriptionDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/identifier/IdentifierDescriptionDto.java
@@ -1,12 +1,11 @@
-package at.tuwien.api.identifier;
+package at.ac.tuwien.ifs.dbrepo.api.identifier;
 
-import at.tuwien.api.database.LanguageTypeDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.LanguageTypeDto;
 import com.fasterxml.jackson.annotation.JsonProperty;
 import io.swagger.v3.oas.annotations.media.Schema;
 import jakarta.validation.constraints.NotNull;
 import lombok.*;
 import lombok.extern.jackson.Jacksonized;
-import org.springframework.data.annotation.Id;
 
 import java.util.UUID;
 
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/identifier/IdentifierDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/identifier/IdentifierDto.java
similarity index 93%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/identifier/IdentifierDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/identifier/IdentifierDto.java
index 0bc16d61cd..2ae1ed21b6 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/identifier/IdentifierDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/identifier/IdentifierDto.java
@@ -1,8 +1,8 @@
-package at.tuwien.api.identifier;
+package at.ac.tuwien.ifs.dbrepo.api.identifier;
 
-import at.tuwien.api.database.LanguageTypeDto;
-import at.tuwien.api.database.LicenseDto;
-import at.tuwien.api.user.UserBriefDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.LanguageTypeDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.LicenseDto;
+import at.ac.tuwien.ifs.dbrepo.api.user.UserBriefDto;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import com.fasterxml.jackson.annotation.JsonProperty;
 import io.swagger.v3.oas.annotations.media.Schema;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/identifier/IdentifierFunderDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/identifier/IdentifierFunderDto.java
similarity index 93%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/identifier/IdentifierFunderDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/identifier/IdentifierFunderDto.java
index 4184f2cf2a..4f73605540 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/identifier/IdentifierFunderDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/identifier/IdentifierFunderDto.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.identifier;
+package at.ac.tuwien.ifs.dbrepo.api.identifier;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
 import io.swagger.v3.oas.annotations.media.Schema;
@@ -6,7 +6,6 @@ import jakarta.validation.constraints.NotBlank;
 import jakarta.validation.constraints.NotNull;
 import lombok.*;
 import lombok.extern.jackson.Jacksonized;
-import org.springframework.data.annotation.Id;
 
 import java.util.UUID;
 
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/identifier/IdentifierFunderTypeDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/identifier/IdentifierFunderTypeDto.java
similarity index 92%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/identifier/IdentifierFunderTypeDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/identifier/IdentifierFunderTypeDto.java
index b54e24f6c1..85e54ec1e5 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/identifier/IdentifierFunderTypeDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/identifier/IdentifierFunderTypeDto.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.identifier;
+package at.ac.tuwien.ifs.dbrepo.api.identifier;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
 import lombok.Getter;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/identifier/IdentifierSaveDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/identifier/IdentifierSaveDto.java
similarity index 92%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/identifier/IdentifierSaveDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/identifier/IdentifierSaveDto.java
index f63c3ae79c..64aad71c36 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/identifier/IdentifierSaveDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/identifier/IdentifierSaveDto.java
@@ -1,7 +1,7 @@
-package at.tuwien.api.identifier;
+package at.ac.tuwien.ifs.dbrepo.api.identifier;
 
-import at.tuwien.api.database.LanguageTypeDto;
-import at.tuwien.api.database.LicenseDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.LanguageTypeDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.LicenseDto;
 import com.fasterxml.jackson.annotation.JsonProperty;
 import io.swagger.v3.oas.annotations.media.Schema;
 import jakarta.validation.constraints.NotBlank;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/identifier/IdentifierStatusTypeDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/identifier/IdentifierStatusTypeDto.java
similarity index 89%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/identifier/IdentifierStatusTypeDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/identifier/IdentifierStatusTypeDto.java
index 1148a55fba..8f5a885bca 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/identifier/IdentifierStatusTypeDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/identifier/IdentifierStatusTypeDto.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.identifier;
+package at.ac.tuwien.ifs.dbrepo.api.identifier;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
 import lombok.Getter;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/identifier/IdentifierTitleDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/identifier/IdentifierTitleDto.java
similarity index 84%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/identifier/IdentifierTitleDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/identifier/IdentifierTitleDto.java
index d995527d88..790e1b93e1 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/identifier/IdentifierTitleDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/identifier/IdentifierTitleDto.java
@@ -1,12 +1,11 @@
-package at.tuwien.api.identifier;
+package at.ac.tuwien.ifs.dbrepo.api.identifier;
 
-import at.tuwien.api.database.LanguageTypeDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.LanguageTypeDto;
 import com.fasterxml.jackson.annotation.JsonProperty;
 import io.swagger.v3.oas.annotations.media.Schema;
 import jakarta.validation.constraints.NotNull;
 import lombok.*;
 import lombok.extern.jackson.Jacksonized;
-import org.springframework.data.annotation.Id;
 
 import java.util.UUID;
 
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/identifier/IdentifierTypeDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/identifier/IdentifierTypeDto.java
similarity index 91%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/identifier/IdentifierTypeDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/identifier/IdentifierTypeDto.java
index 1f36335c38..95e8f3e813 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/identifier/IdentifierTypeDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/identifier/IdentifierTypeDto.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.identifier;
+package at.ac.tuwien.ifs.dbrepo.api.identifier;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
 import lombok.Getter;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/identifier/LinksDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/identifier/LinksDto.java
similarity index 94%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/identifier/LinksDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/identifier/LinksDto.java
index 4e9c309f23..19ebcc78a7 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/identifier/LinksDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/identifier/LinksDto.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.identifier;
+package at.ac.tuwien.ifs.dbrepo.api.identifier;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
 import io.swagger.v3.oas.annotations.media.Schema;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/identifier/NameIdentifierSchemeTypeDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/identifier/NameIdentifierSchemeTypeDto.java
similarity index 70%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/identifier/NameIdentifierSchemeTypeDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/identifier/NameIdentifierSchemeTypeDto.java
index 3ea4c2d7f8..0a7834b8e4 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/identifier/NameIdentifierSchemeTypeDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/identifier/NameIdentifierSchemeTypeDto.java
@@ -1,5 +1,5 @@
 
-package at.tuwien.api.identifier;
+package at.ac.tuwien.ifs.dbrepo.api.identifier;
 
 import lombok.Getter;
 
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/identifier/NameTypeDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/identifier/NameTypeDto.java
similarity index 89%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/identifier/NameTypeDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/identifier/NameTypeDto.java
index 81215957c6..b7f21671ba 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/identifier/NameTypeDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/identifier/NameTypeDto.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.identifier;
+package at.ac.tuwien.ifs.dbrepo.api.identifier;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
 import lombok.Getter;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/identifier/RelatedIdentifierDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/identifier/RelatedIdentifierDto.java
similarity index 69%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/identifier/RelatedIdentifierDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/identifier/RelatedIdentifierDto.java
index 7205bc6e0b..24c7d616ac 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/identifier/RelatedIdentifierDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/identifier/RelatedIdentifierDto.java
@@ -1,17 +1,12 @@
-package at.tuwien.api.identifier;
+package at.ac.tuwien.ifs.dbrepo.api.identifier;
 
-import at.tuwien.api.user.UserDto;
-import com.fasterxml.jackson.annotation.JsonFormat;
-import com.fasterxml.jackson.annotation.JsonIgnore;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import at.ac.tuwien.ifs.dbrepo.api.user.UserDto;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.*;
 
 import jakarta.validation.constraints.NotNull;
 import lombok.extern.jackson.Jacksonized;
-import org.springframework.data.annotation.Id;
 
-import java.time.Instant;
 import java.util.UUID;
 
 @Getter
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/identifier/RelatedTypeDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/identifier/RelatedTypeDto.java
similarity index 95%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/identifier/RelatedTypeDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/identifier/RelatedTypeDto.java
index e8ab99a923..85ce2aabc7 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/identifier/RelatedTypeDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/identifier/RelatedTypeDto.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.identifier;
+package at.ac.tuwien.ifs.dbrepo.api.identifier;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
 import lombok.Getter;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/identifier/RelationTypeDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/identifier/RelationTypeDto.java
similarity index 98%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/identifier/RelationTypeDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/identifier/RelationTypeDto.java
index d95ce73d00..61c635a89f 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/identifier/RelationTypeDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/identifier/RelationTypeDto.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.identifier;
+package at.ac.tuwien.ifs.dbrepo.api.identifier;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
 import lombok.Getter;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/identifier/SaveIdentifierCreatorDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/identifier/SaveIdentifierCreatorDto.java
similarity index 96%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/identifier/SaveIdentifierCreatorDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/identifier/SaveIdentifierCreatorDto.java
index 0866a5cb3b..ab7b02847d 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/identifier/SaveIdentifierCreatorDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/identifier/SaveIdentifierCreatorDto.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.identifier;
+package at.ac.tuwien.ifs.dbrepo.api.identifier;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
 import io.swagger.v3.oas.annotations.media.Schema;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/identifier/SaveIdentifierDescriptionDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/identifier/SaveIdentifierDescriptionDto.java
similarity index 88%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/identifier/SaveIdentifierDescriptionDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/identifier/SaveIdentifierDescriptionDto.java
index bc1ad4f3df..a5d4157796 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/identifier/SaveIdentifierDescriptionDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/identifier/SaveIdentifierDescriptionDto.java
@@ -1,6 +1,6 @@
-package at.tuwien.api.identifier;
+package at.ac.tuwien.ifs.dbrepo.api.identifier;
 
-import at.tuwien.api.database.LanguageTypeDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.LanguageTypeDto;
 import com.fasterxml.jackson.annotation.JsonProperty;
 import io.swagger.v3.oas.annotations.media.Schema;
 import jakarta.validation.constraints.NotBlank;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/identifier/SaveIdentifierFunderDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/identifier/SaveIdentifierFunderDto.java
similarity index 96%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/identifier/SaveIdentifierFunderDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/identifier/SaveIdentifierFunderDto.java
index 1709c109b2..60bf49f171 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/identifier/SaveIdentifierFunderDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/identifier/SaveIdentifierFunderDto.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.identifier;
+package at.ac.tuwien.ifs.dbrepo.api.identifier;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
 import io.swagger.v3.oas.annotations.media.Schema;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/identifier/SaveIdentifierTitleDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/identifier/SaveIdentifierTitleDto.java
similarity index 87%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/identifier/SaveIdentifierTitleDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/identifier/SaveIdentifierTitleDto.java
index 07ebc35e2c..f32337f044 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/identifier/SaveIdentifierTitleDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/identifier/SaveIdentifierTitleDto.java
@@ -1,6 +1,6 @@
-package at.tuwien.api.identifier;
+package at.ac.tuwien.ifs.dbrepo.api.identifier;
 
-import at.tuwien.api.database.LanguageTypeDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.LanguageTypeDto;
 import com.fasterxml.jackson.annotation.JsonProperty;
 import io.swagger.v3.oas.annotations.media.Schema;
 import jakarta.validation.constraints.NotBlank;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/identifier/SaveRelatedIdentifierDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/identifier/SaveRelatedIdentifierDto.java
similarity index 93%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/identifier/SaveRelatedIdentifierDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/identifier/SaveRelatedIdentifierDto.java
index d22c8216e3..11af0c0062 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/identifier/SaveRelatedIdentifierDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/identifier/SaveRelatedIdentifierDto.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.identifier;
+package at.ac.tuwien.ifs.dbrepo.api.identifier;
 
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.*;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/identifier/TitleTypeDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/identifier/TitleTypeDto.java
similarity index 92%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/identifier/TitleTypeDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/identifier/TitleTypeDto.java
index d1540e782a..e5a56887dc 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/identifier/TitleTypeDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/identifier/TitleTypeDto.java
@@ -1,5 +1,5 @@
 
-package at.tuwien.api.identifier;
+package at.ac.tuwien.ifs.dbrepo.api.identifier;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
 import lombok.Getter;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/identifier/ld/LdCreatorDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/identifier/ld/LdCreatorDto.java
similarity index 90%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/identifier/ld/LdCreatorDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/identifier/ld/LdCreatorDto.java
index 0bde2d2968..c8c4e0c680 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/identifier/ld/LdCreatorDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/identifier/ld/LdCreatorDto.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.identifier.ld;
+package at.ac.tuwien.ifs.dbrepo.api.identifier.ld;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
 import jakarta.validation.constraints.NotNull;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/identifier/ld/LdDatasetDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/identifier/ld/LdDatasetDto.java
similarity index 94%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/identifier/ld/LdDatasetDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/identifier/ld/LdDatasetDto.java
index bab1deb2d1..10119f7e71 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/identifier/ld/LdDatasetDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/identifier/ld/LdDatasetDto.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.identifier.ld;
+package at.ac.tuwien.ifs.dbrepo.api.identifier.ld;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
 import jakarta.validation.constraints.NotNull;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/keycloak/CredentialDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/keycloak/CredentialDto.java
similarity index 90%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/keycloak/CredentialDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/keycloak/CredentialDto.java
index 172b844e1b..3bf106f835 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/keycloak/CredentialDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/keycloak/CredentialDto.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.keycloak;
+package at.ac.tuwien.ifs.dbrepo.api.keycloak;
 
 import io.swagger.v3.oas.annotations.media.Schema;
 import jakarta.validation.constraints.NotNull;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/keycloak/CredentialTypeDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/keycloak/CredentialTypeDto.java
similarity index 88%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/keycloak/CredentialTypeDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/keycloak/CredentialTypeDto.java
index c3d2976048..12fbef9fd2 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/keycloak/CredentialTypeDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/keycloak/CredentialTypeDto.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.keycloak;
+package at.ac.tuwien.ifs.dbrepo.api.keycloak;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
 import lombok.Getter;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/keycloak/ModifyUserDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/keycloak/ModifyUserDto.java
similarity index 90%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/keycloak/ModifyUserDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/keycloak/ModifyUserDto.java
index 26d700e798..1fc599c5d0 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/keycloak/ModifyUserDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/keycloak/ModifyUserDto.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.keycloak;
+package at.ac.tuwien.ifs.dbrepo.api.keycloak;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
 import jakarta.validation.constraints.NotNull;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/keycloak/RoleRepresentationDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/keycloak/RoleRepresentationDto.java
similarity index 91%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/keycloak/RoleRepresentationDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/keycloak/RoleRepresentationDto.java
index 8f7d795fdb..10ae908996 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/keycloak/RoleRepresentationDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/keycloak/RoleRepresentationDto.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.keycloak;
+package at.ac.tuwien.ifs.dbrepo.api.keycloak;
 
 import lombok.*;
 import lombok.extern.jackson.Jacksonized;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/keycloak/TokenDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/keycloak/TokenDto.java
similarity index 92%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/keycloak/TokenDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/keycloak/TokenDto.java
index dcd14c4d2a..540e795da6 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/keycloak/TokenDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/keycloak/TokenDto.java
@@ -1,6 +1,6 @@
-package at.tuwien.api.keycloak;
+package at.ac.tuwien.ifs.dbrepo.api.keycloak;
 
-import at.tuwien.api.CacheableDto;
+import at.ac.tuwien.ifs.dbrepo.api.CacheableDto;
 import com.fasterxml.jackson.annotation.JsonProperty;
 import io.swagger.v3.oas.annotations.media.Schema;
 import jakarta.validation.constraints.NotNull;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/keycloak/UpdateCredentialsDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/keycloak/UpdateCredentialsDto.java
similarity index 87%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/keycloak/UpdateCredentialsDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/keycloak/UpdateCredentialsDto.java
index c8bac04d45..9c1eb72f84 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/keycloak/UpdateCredentialsDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/keycloak/UpdateCredentialsDto.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.keycloak;
+package at.ac.tuwien.ifs.dbrepo.api.keycloak;
 
 import jakarta.validation.constraints.NotNull;
 import lombok.*;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/keycloak/UserAttributesDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/keycloak/UserAttributesDto.java
similarity index 92%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/keycloak/UserAttributesDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/keycloak/UserAttributesDto.java
index 50718bc803..49e4e6e938 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/keycloak/UserAttributesDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/keycloak/UserAttributesDto.java
@@ -1,12 +1,10 @@
-package at.tuwien.api.keycloak;
+package at.ac.tuwien.ifs.dbrepo.api.keycloak;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.*;
 import lombok.extern.jackson.Jacksonized;
 
-import java.util.UUID;
-
 @Getter
 @Setter
 @Builder
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/keycloak/UserCreateAttributesDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/keycloak/UserCreateAttributesDto.java
similarity index 86%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/keycloak/UserCreateAttributesDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/keycloak/UserCreateAttributesDto.java
index 6df8ce5e8f..707a8caa27 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/keycloak/UserCreateAttributesDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/keycloak/UserCreateAttributesDto.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.keycloak;
+package at.ac.tuwien.ifs.dbrepo.api.keycloak;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
 import lombok.*;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/keycloak/UserCreateDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/keycloak/UserCreateDto.java
similarity index 94%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/keycloak/UserCreateDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/keycloak/UserCreateDto.java
index 2a80811b62..fc339b6a4e 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/keycloak/UserCreateDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/keycloak/UserCreateDto.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.keycloak;
+package at.ac.tuwien.ifs.dbrepo.api.keycloak;
 
 import io.swagger.v3.oas.annotations.media.Schema;
 import jakarta.validation.constraints.NotNull;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/keycloak/UserIdAttributesDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/keycloak/UserIdAttributesDto.java
similarity index 91%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/keycloak/UserIdAttributesDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/keycloak/UserIdAttributesDto.java
index 3155d75f02..ee1046d20e 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/keycloak/UserIdAttributesDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/keycloak/UserIdAttributesDto.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.keycloak;
+package at.ac.tuwien.ifs.dbrepo.api.keycloak;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
 import io.swagger.v3.oas.annotations.media.Schema;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/ldap/UserDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/ldap/UserDto.java
similarity index 90%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/ldap/UserDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/ldap/UserDto.java
index e6aec08226..e3be6be7bc 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/ldap/UserDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/ldap/UserDto.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.ldap;
+package at.ac.tuwien.ifs.dbrepo.api.ldap;
 
 import jakarta.validation.constraints.NotNull;
 import lombok.*;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/maintenance/BannerMessageBriefDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/maintenance/BannerMessageBriefDto.java
similarity index 93%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/maintenance/BannerMessageBriefDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/maintenance/BannerMessageBriefDto.java
index a11c70f621..d99e8e7eac 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/maintenance/BannerMessageBriefDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/maintenance/BannerMessageBriefDto.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.maintenance;
+package at.ac.tuwien.ifs.dbrepo.api.maintenance;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
 import io.swagger.v3.oas.annotations.media.Schema;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/maintenance/BannerMessageCreateDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/maintenance/BannerMessageCreateDto.java
similarity index 96%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/maintenance/BannerMessageCreateDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/maintenance/BannerMessageCreateDto.java
index f7466d3e2c..1673bbe267 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/maintenance/BannerMessageCreateDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/maintenance/BannerMessageCreateDto.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.maintenance;
+package at.ac.tuwien.ifs.dbrepo.api.maintenance;
 
 import com.fasterxml.jackson.annotation.JsonFormat;
 import com.fasterxml.jackson.annotation.JsonProperty;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/maintenance/BannerMessageDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/maintenance/BannerMessageDto.java
similarity index 96%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/maintenance/BannerMessageDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/maintenance/BannerMessageDto.java
index d344ccd6b4..8ff6644fbb 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/maintenance/BannerMessageDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/maintenance/BannerMessageDto.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.maintenance;
+package at.ac.tuwien.ifs.dbrepo.api.maintenance;
 
 import com.fasterxml.jackson.annotation.JsonFormat;
 import com.fasterxml.jackson.annotation.JsonProperty;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/maintenance/BannerMessageTypeDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/maintenance/BannerMessageTypeDto.java
similarity index 90%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/maintenance/BannerMessageTypeDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/maintenance/BannerMessageTypeDto.java
index 9be93f41bc..75f5c6bef6 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/maintenance/BannerMessageTypeDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/maintenance/BannerMessageTypeDto.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.maintenance;
+package at.ac.tuwien.ifs.dbrepo.api.maintenance;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
 import lombok.Getter;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/maintenance/BannerMessageUpdateDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/maintenance/BannerMessageUpdateDto.java
similarity index 96%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/maintenance/BannerMessageUpdateDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/maintenance/BannerMessageUpdateDto.java
index f6aad1989e..a88ac45ea0 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/maintenance/BannerMessageUpdateDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/maintenance/BannerMessageUpdateDto.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.maintenance;
+package at.ac.tuwien.ifs.dbrepo.api.maintenance;
 
 import com.fasterxml.jackson.annotation.JsonFormat;
 import com.fasterxml.jackson.annotation.JsonProperty;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/orcid/OrcidDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/orcid/OrcidDto.java
similarity index 68%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/orcid/OrcidDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/orcid/OrcidDto.java
index c4ea89b005..d75058a687 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/orcid/OrcidDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/orcid/OrcidDto.java
@@ -1,7 +1,7 @@
-package at.tuwien.api.orcid;
+package at.ac.tuwien.ifs.dbrepo.api.orcid;
 
-import at.tuwien.api.orcid.activities.OrcidActivitiesSummaryDto;
-import at.tuwien.api.orcid.person.OrcidPersonDto;
+import at.ac.tuwien.ifs.dbrepo.api.orcid.activities.OrcidActivitiesSummaryDto;
+import at.ac.tuwien.ifs.dbrepo.api.orcid.person.OrcidPersonDto;
 import com.fasterxml.jackson.annotation.JsonProperty;
 import lombok.*;
 import lombok.extern.jackson.Jacksonized;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/orcid/activities/OrcidActivitiesSummaryDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/orcid/activities/OrcidActivitiesSummaryDto.java
similarity index 67%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/orcid/activities/OrcidActivitiesSummaryDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/orcid/activities/OrcidActivitiesSummaryDto.java
index 625611abd2..c384e846d2 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/orcid/activities/OrcidActivitiesSummaryDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/orcid/activities/OrcidActivitiesSummaryDto.java
@@ -1,6 +1,6 @@
-package at.tuwien.api.orcid.activities;
+package at.ac.tuwien.ifs.dbrepo.api.orcid.activities;
 
-import at.tuwien.api.orcid.activities.employments.OrcidEmploymentsDto;
+import at.ac.tuwien.ifs.dbrepo.api.orcid.activities.employments.OrcidEmploymentsDto;
 import lombok.*;
 import lombok.extern.jackson.Jacksonized;
 
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/orcid/activities/employments/OrcidEmploymentsDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/orcid/activities/employments/OrcidEmploymentsDto.java
similarity index 67%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/orcid/activities/employments/OrcidEmploymentsDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/orcid/activities/employments/OrcidEmploymentsDto.java
index dea853b62b..823c88ae2b 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/orcid/activities/employments/OrcidEmploymentsDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/orcid/activities/employments/OrcidEmploymentsDto.java
@@ -1,6 +1,6 @@
-package at.tuwien.api.orcid.activities.employments;
+package at.ac.tuwien.ifs.dbrepo.api.orcid.activities.employments;
 
-import at.tuwien.api.orcid.activities.employments.affiliation.OrcidAffiliationGroupDto;
+import at.ac.tuwien.ifs.dbrepo.api.orcid.activities.employments.affiliation.OrcidAffiliationGroupDto;
 import com.fasterxml.jackson.annotation.JsonProperty;
 import lombok.*;
 import lombok.extern.jackson.Jacksonized;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/orcid/activities/employments/affiliation/OrcidAffiliationGroupDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/orcid/activities/employments/affiliation/OrcidAffiliationGroupDto.java
similarity index 58%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/orcid/activities/employments/affiliation/OrcidAffiliationGroupDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/orcid/activities/employments/affiliation/OrcidAffiliationGroupDto.java
index a82a88869b..6882badd5f 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/orcid/activities/employments/affiliation/OrcidAffiliationGroupDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/orcid/activities/employments/affiliation/OrcidAffiliationGroupDto.java
@@ -1,6 +1,6 @@
-package at.tuwien.api.orcid.activities.employments.affiliation;
+package at.ac.tuwien.ifs.dbrepo.api.orcid.activities.employments.affiliation;
 
-import at.tuwien.api.orcid.activities.employments.affiliation.group.OrcidEmploymentSummaryDto;
+import at.ac.tuwien.ifs.dbrepo.api.orcid.activities.employments.affiliation.group.OrcidEmploymentSummaryDto;
 import lombok.*;
 import lombok.extern.jackson.Jacksonized;
 
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/orcid/activities/employments/affiliation/group/OrcidEmploymentSummaryDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/orcid/activities/employments/affiliation/group/OrcidEmploymentSummaryDto.java
similarity index 64%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/orcid/activities/employments/affiliation/group/OrcidEmploymentSummaryDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/orcid/activities/employments/affiliation/group/OrcidEmploymentSummaryDto.java
index 984dc8a6d0..60eed0e5d2 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/orcid/activities/employments/affiliation/group/OrcidEmploymentSummaryDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/orcid/activities/employments/affiliation/group/OrcidEmploymentSummaryDto.java
@@ -1,6 +1,6 @@
-package at.tuwien.api.orcid.activities.employments.affiliation.group;
+package at.ac.tuwien.ifs.dbrepo.api.orcid.activities.employments.affiliation.group;
 
-import at.tuwien.api.orcid.activities.employments.affiliation.group.summary.OrcidSummaryDto;
+import at.ac.tuwien.ifs.dbrepo.api.orcid.activities.employments.affiliation.group.summary.OrcidSummaryDto;
 import com.fasterxml.jackson.annotation.JsonProperty;
 import lombok.*;
 import lombok.extern.jackson.Jacksonized;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/orcid/activities/employments/affiliation/group/summary/OrcidSummaryDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/orcid/activities/employments/affiliation/group/summary/OrcidSummaryDto.java
similarity index 70%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/orcid/activities/employments/affiliation/group/summary/OrcidSummaryDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/orcid/activities/employments/affiliation/group/summary/OrcidSummaryDto.java
index 1377a73dba..64856f355d 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/orcid/activities/employments/affiliation/group/summary/OrcidSummaryDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/orcid/activities/employments/affiliation/group/summary/OrcidSummaryDto.java
@@ -1,6 +1,6 @@
-package at.tuwien.api.orcid.activities.employments.affiliation.group.summary;
+package at.ac.tuwien.ifs.dbrepo.api.orcid.activities.employments.affiliation.group.summary;
 
-import at.tuwien.api.orcid.activities.employments.affiliation.group.summary.organization.OrcidOrganizationDto;
+import at.ac.tuwien.ifs.dbrepo.api.orcid.activities.employments.affiliation.group.summary.organization.OrcidOrganizationDto;
 import com.fasterxml.jackson.annotation.JsonProperty;
 import lombok.*;
 import lombok.extern.jackson.Jacksonized;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/orcid/activities/employments/affiliation/group/summary/organization/OrcidOrganizationDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/orcid/activities/employments/affiliation/group/summary/organization/OrcidOrganizationDto.java
similarity index 61%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/orcid/activities/employments/affiliation/group/summary/organization/OrcidOrganizationDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/orcid/activities/employments/affiliation/group/summary/organization/OrcidOrganizationDto.java
index 149af1b3e6..d8303aef2e 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/orcid/activities/employments/affiliation/group/summary/organization/OrcidOrganizationDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/orcid/activities/employments/affiliation/group/summary/organization/OrcidOrganizationDto.java
@@ -1,6 +1,6 @@
-package at.tuwien.api.orcid.activities.employments.affiliation.group.summary.organization;
+package at.ac.tuwien.ifs.dbrepo.api.orcid.activities.employments.affiliation.group.summary.organization;
 
-import at.tuwien.api.orcid.activities.employments.affiliation.group.summary.organization.disambiguated.OrcidDisambiguatedDto;
+import at.ac.tuwien.ifs.dbrepo.api.orcid.activities.employments.affiliation.group.summary.organization.disambiguated.OrcidDisambiguatedDto;
 import com.fasterxml.jackson.annotation.JsonProperty;
 import lombok.*;
 import lombok.extern.jackson.Jacksonized;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/orcid/activities/employments/affiliation/group/summary/organization/disambiguated/OrcidDisambiguatedDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/orcid/activities/employments/affiliation/group/summary/organization/disambiguated/OrcidDisambiguatedDto.java
similarity index 79%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/orcid/activities/employments/affiliation/group/summary/organization/disambiguated/OrcidDisambiguatedDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/orcid/activities/employments/affiliation/group/summary/organization/disambiguated/OrcidDisambiguatedDto.java
index c5ed53e37f..e6c60e9b74 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/orcid/activities/employments/affiliation/group/summary/organization/disambiguated/OrcidDisambiguatedDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/orcid/activities/employments/affiliation/group/summary/organization/disambiguated/OrcidDisambiguatedDto.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.orcid.activities.employments.affiliation.group.summary.organization.disambiguated;
+package at.ac.tuwien.ifs.dbrepo.api.orcid.activities.employments.affiliation.group.summary.organization.disambiguated;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
 import lombok.*;
diff --git a/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/orcid/activities/employments/affiliation/group/summary/organization/disambiguated/OrcidDisambiguatedSourceTypeDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/orcid/activities/employments/affiliation/group/summary/organization/disambiguated/OrcidDisambiguatedSourceTypeDto.java
new file mode 100644
index 0000000000..1ba420ad98
--- /dev/null
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/orcid/activities/employments/affiliation/group/summary/organization/disambiguated/OrcidDisambiguatedSourceTypeDto.java
@@ -0,0 +1,6 @@
+package at.ac.tuwien.ifs.dbrepo.api.orcid.activities.employments.affiliation.group.summary.organization.disambiguated;
+
+public enum OrcidDisambiguatedSourceTypeDto {
+    RINGGOLD,
+    ROR
+}
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/orcid/person/OrcidPersonDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/orcid/person/OrcidPersonDto.java
similarity index 66%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/orcid/person/OrcidPersonDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/orcid/person/OrcidPersonDto.java
index f7de2794d7..62ca759f03 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/orcid/person/OrcidPersonDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/orcid/person/OrcidPersonDto.java
@@ -1,6 +1,6 @@
-package at.tuwien.api.orcid.person;
+package at.ac.tuwien.ifs.dbrepo.api.orcid.person;
 
-import at.tuwien.api.orcid.person.name.OrcidNameDto;
+import at.ac.tuwien.ifs.dbrepo.api.orcid.person.name.OrcidNameDto;
 import lombok.*;
 import lombok.extern.jackson.Jacksonized;
 
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/orcid/person/name/OrcidNameDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/orcid/person/name/OrcidNameDto.java
similarity index 88%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/orcid/person/name/OrcidNameDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/orcid/person/name/OrcidNameDto.java
index 44c2ac0e6b..81765d9b65 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/orcid/person/name/OrcidNameDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/orcid/person/name/OrcidNameDto.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.orcid.person.name;
+package at.ac.tuwien.ifs.dbrepo.api.orcid.person.name;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
 import lombok.*;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/orcid/person/name/OrcidValueDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/orcid/person/name/OrcidValueDto.java
similarity index 80%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/orcid/person/name/OrcidValueDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/orcid/person/name/OrcidValueDto.java
index 251a39c23c..9194a6247f 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/orcid/person/name/OrcidValueDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/orcid/person/name/OrcidValueDto.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.orcid.person.name;
+package at.ac.tuwien.ifs.dbrepo.api.orcid.person.name;
 
 import lombok.*;
 import lombok.extern.jackson.Jacksonized;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/ror/RorDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/ror/RorDto.java
similarity index 87%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/ror/RorDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/ror/RorDto.java
index 8e9407885c..22cde2d773 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/ror/RorDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/ror/RorDto.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.ror;
+package at.ac.tuwien.ifs.dbrepo.api.ror;
 
 import lombok.*;
 import lombok.extern.jackson.Jacksonized;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/semantics/EntityDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/semantics/EntityDto.java
similarity index 92%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/semantics/EntityDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/semantics/EntityDto.java
index 5c1d6cc13a..30142ad9fc 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/semantics/EntityDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/semantics/EntityDto.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.semantics;
+package at.ac.tuwien.ifs.dbrepo.api.semantics;
 
 import io.swagger.v3.oas.annotations.media.Schema;
 import jakarta.validation.constraints.NotBlank;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/semantics/OntologyBriefDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/semantics/OntologyBriefDto.java
similarity index 95%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/semantics/OntologyBriefDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/semantics/OntologyBriefDto.java
index 29d5116a70..be02f87bbd 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/semantics/OntologyBriefDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/semantics/OntologyBriefDto.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.semantics;
+package at.ac.tuwien.ifs.dbrepo.api.semantics;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
 import io.swagger.v3.oas.annotations.media.Schema;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/semantics/OntologyCreateDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/semantics/OntologyCreateDto.java
similarity index 92%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/semantics/OntologyCreateDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/semantics/OntologyCreateDto.java
index 1e2cf44167..2ee4270167 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/semantics/OntologyCreateDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/semantics/OntologyCreateDto.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.semantics;
+package at.ac.tuwien.ifs.dbrepo.api.semantics;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
 import io.swagger.v3.oas.annotations.media.Schema;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/semantics/OntologyDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/semantics/OntologyDto.java
similarity index 88%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/semantics/OntologyDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/semantics/OntologyDto.java
index a3e7c46d01..10d2811d70 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/semantics/OntologyDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/semantics/OntologyDto.java
@@ -1,7 +1,6 @@
-package at.tuwien.api.semantics;
+package at.ac.tuwien.ifs.dbrepo.api.semantics;
 
-import at.tuwien.api.user.UserBriefDto;
-import com.fasterxml.jackson.annotation.JsonFormat;
+import at.ac.tuwien.ifs.dbrepo.api.user.UserBriefDto;
 import com.fasterxml.jackson.annotation.JsonProperty;
 import io.swagger.v3.oas.annotations.media.Schema;
 import jakarta.validation.constraints.NotBlank;
@@ -9,7 +8,6 @@ import jakarta.validation.constraints.NotNull;
 import lombok.*;
 import lombok.extern.jackson.Jacksonized;
 
-import java.time.Instant;
 import java.util.UUID;
 
 @Getter
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/semantics/OntologyModifyDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/semantics/OntologyModifyDto.java
similarity index 93%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/semantics/OntologyModifyDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/semantics/OntologyModifyDto.java
index f003790922..96219dca2b 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/semantics/OntologyModifyDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/semantics/OntologyModifyDto.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.semantics;
+package at.ac.tuwien.ifs.dbrepo.api.semantics;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
 import io.swagger.v3.oas.annotations.media.Schema;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/semantics/TableColumnEntityDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/semantics/TableColumnEntityDto.java
similarity index 95%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/semantics/TableColumnEntityDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/semantics/TableColumnEntityDto.java
index f4a2147a29..84e39722a6 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/semantics/TableColumnEntityDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/semantics/TableColumnEntityDto.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.semantics;
+package at.ac.tuwien.ifs.dbrepo.api.semantics;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
 import io.swagger.v3.oas.annotations.media.Schema;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/user/ExchangeUpdatePermissionsDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/user/ExchangeUpdatePermissionsDto.java
similarity index 92%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/user/ExchangeUpdatePermissionsDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/user/ExchangeUpdatePermissionsDto.java
index f545f62041..ff3ba42b90 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/user/ExchangeUpdatePermissionsDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/user/ExchangeUpdatePermissionsDto.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.user;
+package at.ac.tuwien.ifs.dbrepo.api.user;
 
 import io.swagger.v3.oas.annotations.media.Schema;
 import jakarta.validation.constraints.NotBlank;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/user/GrantedAuthorityDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/user/GrantedAuthorityDto.java
similarity index 88%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/user/GrantedAuthorityDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/user/GrantedAuthorityDto.java
index 07e0029a71..54922ad1cb 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/user/GrantedAuthorityDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/user/GrantedAuthorityDto.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.user;
+package at.ac.tuwien.ifs.dbrepo.api.user;
 
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.*;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/user/RoleTypeDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/user/RoleTypeDto.java
similarity index 92%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/user/RoleTypeDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/user/RoleTypeDto.java
index 9e5e4b7bdd..b0841c3e7b 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/user/RoleTypeDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/user/RoleTypeDto.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.user;
+package at.ac.tuwien.ifs.dbrepo.api.user;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
 import lombok.Getter;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/user/UserAttributesDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/user/UserAttributesDto.java
similarity index 95%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/user/UserAttributesDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/user/UserAttributesDto.java
index ef9bae650c..4f55c0f238 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/user/UserAttributesDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/user/UserAttributesDto.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.user;
+package at.ac.tuwien.ifs.dbrepo.api.user;
 
 import com.fasterxml.jackson.annotation.JsonIgnore;
 import io.swagger.v3.oas.annotations.media.Schema;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/user/UserBriefDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/user/UserBriefDto.java
similarity index 96%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/user/UserBriefDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/user/UserBriefDto.java
index d245bbaf4c..243e60d953 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/user/UserBriefDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/user/UserBriefDto.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.user;
+package at.ac.tuwien.ifs.dbrepo.api.user;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
 import io.swagger.v3.oas.annotations.media.Schema;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/user/UserDetailsDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/user/UserDetailsDto.java
similarity index 95%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/user/UserDetailsDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/user/UserDetailsDto.java
index 2ab170d616..4885182d45 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/user/UserDetailsDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/user/UserDetailsDto.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.user;
+package at.ac.tuwien.ifs.dbrepo.api.user;
 
 import jakarta.validation.constraints.NotNull;
 import lombok.*;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/user/UserDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/user/UserDto.java
similarity index 93%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/user/UserDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/user/UserDto.java
index e7367e2fb4..ccbda5e4d5 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/user/UserDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/user/UserDto.java
@@ -1,6 +1,6 @@
-package at.tuwien.api.user;
+package at.ac.tuwien.ifs.dbrepo.api.user;
 
-import at.tuwien.api.CacheableDto;
+import at.ac.tuwien.ifs.dbrepo.api.CacheableDto;
 import com.fasterxml.jackson.annotation.JsonProperty;
 import io.swagger.v3.oas.annotations.media.Schema;
 import jakarta.validation.constraints.NotNull;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/user/UserEmailDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/user/UserEmailDto.java
similarity index 91%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/user/UserEmailDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/user/UserEmailDto.java
index caaf332497..af63a34632 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/user/UserEmailDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/user/UserEmailDto.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.user;
+package at.ac.tuwien.ifs.dbrepo.api.user;
 
 import io.swagger.v3.oas.annotations.media.Schema;
 import jakarta.validation.constraints.Email;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/user/UserForgotDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/user/UserForgotDto.java
similarity index 91%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/user/UserForgotDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/user/UserForgotDto.java
index 5ebcbae742..2e57299fc1 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/user/UserForgotDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/user/UserForgotDto.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.user;
+package at.ac.tuwien.ifs.dbrepo.api.user;
 
 import io.swagger.v3.oas.annotations.media.Schema;
 import jakarta.validation.constraints.Email;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/user/UserModifyPasswordDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/user/UserModifyPasswordDto.java
similarity index 91%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/user/UserModifyPasswordDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/user/UserModifyPasswordDto.java
index 2b86672cc2..b0dd8a0b8d 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/user/UserModifyPasswordDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/user/UserModifyPasswordDto.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.user;
+package at.ac.tuwien.ifs.dbrepo.api.user;
 
 import io.swagger.v3.oas.annotations.media.Schema;
 import jakarta.validation.constraints.NotNull;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/user/UserPasswordDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/user/UserPasswordDto.java
similarity index 87%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/user/UserPasswordDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/user/UserPasswordDto.java
index dcf5393284..5ee021f1e0 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/user/UserPasswordDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/user/UserPasswordDto.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.user;
+package at.ac.tuwien.ifs.dbrepo.api.user;
 
 import jakarta.validation.constraints.NotNull;
 import lombok.*;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/user/UserResetDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/user/UserResetDto.java
similarity index 88%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/user/UserResetDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/user/UserResetDto.java
index 6cac59a904..633f5eb6da 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/user/UserResetDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/user/UserResetDto.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.user;
+package at.ac.tuwien.ifs.dbrepo.api.user;
 
 import jakarta.validation.constraints.NotNull;
 import lombok.*;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/user/UserRolesDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/user/UserRolesDto.java
similarity index 88%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/user/UserRolesDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/user/UserRolesDto.java
index 5667f38ec6..ae66c63b47 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/user/UserRolesDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/user/UserRolesDto.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.user;
+package at.ac.tuwien.ifs.dbrepo.api.user;
 
 import jakarta.validation.constraints.NotNull;
 import lombok.*;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/user/UserThemeSetDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/user/UserThemeSetDto.java
similarity index 89%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/user/UserThemeSetDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/user/UserThemeSetDto.java
index 3f5b899df8..66f423f9f8 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/user/UserThemeSetDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/user/UserThemeSetDto.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.user;
+package at.ac.tuwien.ifs.dbrepo.api.user;
 
 import io.swagger.v3.oas.annotations.media.Schema;
 import jakarta.validation.constraints.NotNull;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/user/UserUpdateDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/user/UserUpdateDto.java
similarity index 94%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/user/UserUpdateDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/user/UserUpdateDto.java
index 68d674a7c2..9a37802b8f 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/user/UserUpdateDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/user/UserUpdateDto.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.user;
+package at.ac.tuwien.ifs.dbrepo.api.user;
 
 import io.swagger.v3.oas.annotations.media.Schema;
 import jakarta.validation.constraints.NotNull;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/user/UserUpdatePermissionsDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/user/UserUpdatePermissionsDto.java
similarity index 90%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/user/UserUpdatePermissionsDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/user/UserUpdatePermissionsDto.java
index 99f1eab30a..479dff036a 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/user/UserUpdatePermissionsDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/user/UserUpdatePermissionsDto.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.user;
+package at.ac.tuwien.ifs.dbrepo.api.user;
 
 import io.swagger.v3.oas.annotations.media.Schema;
 import jakarta.validation.constraints.NotBlank;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/user/external/ExternalMetadataDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/user/external/ExternalMetadataDto.java
similarity index 79%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/user/external/ExternalMetadataDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/user/external/ExternalMetadataDto.java
index fb40af0948..1382ab367b 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/user/external/ExternalMetadataDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/user/external/ExternalMetadataDto.java
@@ -1,6 +1,6 @@
-package at.tuwien.api.user.external;
+package at.ac.tuwien.ifs.dbrepo.api.user.external;
 
-import at.tuwien.api.user.external.affiliation.ExternalAffiliationDto;
+import at.ac.tuwien.ifs.dbrepo.api.user.external.affiliation.ExternalAffiliationDto;
 import com.fasterxml.jackson.annotation.JsonProperty;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.*;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/user/external/ExternalResultType.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/user/external/ExternalResultType.java
similarity index 89%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/user/external/ExternalResultType.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/user/external/ExternalResultType.java
index 1a8d73b47c..d897b25843 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/user/external/ExternalResultType.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/user/external/ExternalResultType.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.user.external;
+package at.ac.tuwien.ifs.dbrepo.api.user.external;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
 import lombok.Getter;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/user/external/affiliation/ExternalAffiliationDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/user/external/affiliation/ExternalAffiliationDto.java
similarity index 92%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/user/external/affiliation/ExternalAffiliationDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/user/external/affiliation/ExternalAffiliationDto.java
index d8d30894bc..c354edc341 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/user/external/affiliation/ExternalAffiliationDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/user/external/affiliation/ExternalAffiliationDto.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.user.external.affiliation;
+package at.ac.tuwien.ifs.dbrepo.api.user.external.affiliation;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
 import io.swagger.v3.oas.annotations.media.Schema;
diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/user/internal/UpdateUserPasswordDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/user/internal/UpdateUserPasswordDto.java
similarity index 87%
rename from dbrepo-metadata-service/api/src/main/java/at/tuwien/api/user/internal/UpdateUserPasswordDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/user/internal/UpdateUserPasswordDto.java
index c89e795bd3..f2a52d59bf 100644
--- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/user/internal/UpdateUserPasswordDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/api/user/internal/UpdateUserPasswordDto.java
@@ -1,4 +1,4 @@
-package at.tuwien.api.user.internal;
+package at.ac.tuwien.ifs.dbrepo.api.user.internal;
 
 import jakarta.validation.constraints.NotBlank;
 import lombok.*;
diff --git a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/container/Container.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity/container/Container.java
similarity index 93%
rename from dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/container/Container.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity/container/Container.java
index f36c6ced74..e81ef5942a 100644
--- a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/container/Container.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity/container/Container.java
@@ -1,7 +1,7 @@
-package at.tuwien.entities.container;
+package at.ac.tuwien.ifs.dbrepo.entity.container;
 
-import at.tuwien.entities.container.image.ContainerImage;
-import at.tuwien.entities.database.Database;
+import at.ac.tuwien.ifs.dbrepo.entity.container.image.ContainerImage;
+import at.ac.tuwien.ifs.dbrepo.entity.database.Database;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import jakarta.persistence.*;
 import lombok.*;
diff --git a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/container/image/ContainerImage.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity/container/image/ContainerImage.java
similarity index 95%
rename from dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/container/image/ContainerImage.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity/container/image/ContainerImage.java
index 336a278d7d..2c0bc705c6 100644
--- a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/container/image/ContainerImage.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity/container/image/ContainerImage.java
@@ -1,6 +1,6 @@
-package at.tuwien.entities.container.image;
+package at.ac.tuwien.ifs.dbrepo.entity.container.image;
 
-import at.tuwien.entities.container.Container;
+import at.ac.tuwien.ifs.dbrepo.entity.container.Container;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import jakarta.persistence.*;
 import lombok.*;
diff --git a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/container/image/DataType.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity/container/image/DataType.java
similarity index 97%
rename from dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/container/image/DataType.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity/container/image/DataType.java
index 347ca47e96..e623680a7c 100644
--- a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/container/image/DataType.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity/container/image/DataType.java
@@ -1,4 +1,4 @@
-package at.tuwien.entities.container.image;
+package at.ac.tuwien.ifs.dbrepo.entity.container.image;
 
 import jakarta.persistence.*;
 import lombok.*;
diff --git a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/container/image/Operator.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity/container/image/Operator.java
similarity index 95%
rename from dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/container/image/Operator.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity/container/image/Operator.java
index adeb6dd8ef..b07c2ff714 100644
--- a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/container/image/Operator.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity/container/image/Operator.java
@@ -1,4 +1,4 @@
-package at.tuwien.entities.container.image;
+package at.ac.tuwien.ifs.dbrepo.entity.container.image;
 
 import jakarta.persistence.*;
 import lombok.*;
diff --git a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/database/AccessType.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity/database/AccessType.java
similarity index 72%
rename from dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/database/AccessType.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity/database/AccessType.java
index 7260d00e3d..00baac6349 100644
--- a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/database/AccessType.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity/database/AccessType.java
@@ -1,4 +1,4 @@
-package at.tuwien.entities.database;
+package at.ac.tuwien.ifs.dbrepo.entity.database;
 
 import lombok.Getter;
 import lombok.ToString;
diff --git a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/database/Database.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity/database/Database.java
similarity index 95%
rename from dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/database/Database.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity/database/Database.java
index 1c1821c63e..7a22597fb9 100644
--- a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/database/Database.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity/database/Database.java
@@ -1,9 +1,8 @@
-package at.tuwien.entities.database;
+package at.ac.tuwien.ifs.dbrepo.entity.database;
 
-import at.tuwien.entities.container.Container;
-import at.tuwien.entities.database.table.Table;
-import at.tuwien.entities.identifier.Identifier;
-import at.tuwien.entities.user.User;
+import at.ac.tuwien.ifs.dbrepo.entity.container.Container;
+import at.ac.tuwien.ifs.dbrepo.entity.identifier.Identifier;
+import at.ac.tuwien.ifs.dbrepo.entity.user.User;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import jakarta.persistence.*;
 import lombok.*;
@@ -18,8 +17,6 @@ import java.time.Instant;
 import java.util.List;
 import java.util.UUID;
 
-import static jakarta.persistence.GenerationType.IDENTITY;
-
 @Data
 @Entity
 @Builder(toBuilder = true)
@@ -104,7 +101,7 @@ public class Database implements Serializable {
 
     @OrderBy("id DESC")
     @OneToMany(fetch = FetchType.LAZY, cascade = {CascadeType.ALL, CascadeType.PERSIST}, mappedBy = "database", orphanRemoval = true)
-    private List<Table> tables;
+    private List<at.ac.tuwien.ifs.dbrepo.entity.database.table.Table> tables;
 
     @OrderBy("id DESC")
     @OneToMany(fetch = FetchType.LAZY, cascade = {CascadeType.ALL, CascadeType.PERSIST}, mappedBy = "database", orphanRemoval = true)
diff --git a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/database/DatabaseAccess.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity/database/DatabaseAccess.java
similarity index 89%
rename from dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/database/DatabaseAccess.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity/database/DatabaseAccess.java
index e5f7dd3012..57cdb36cba 100644
--- a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/database/DatabaseAccess.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity/database/DatabaseAccess.java
@@ -1,14 +1,11 @@
-package at.tuwien.entities.database;
+package at.ac.tuwien.ifs.dbrepo.entity.database;
 
-import at.tuwien.entities.user.User;
-import com.fasterxml.jackson.annotation.JsonFormat;
+import at.ac.tuwien.ifs.dbrepo.entity.user.User;
 import jakarta.persistence.*;
 import lombok.*;
 import org.hibernate.annotations.JdbcTypeCode;
-import org.springframework.data.annotation.CreatedDate;
 import org.springframework.data.jpa.domain.support.AuditingEntityListener;
 
-import java.time.Instant;
 import java.util.UUID;
 
 @Data
diff --git a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/database/DatabaseAccessKey.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity/database/DatabaseAccessKey.java
similarity index 81%
rename from dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/database/DatabaseAccessKey.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity/database/DatabaseAccessKey.java
index b6963c290c..6e078dad1a 100644
--- a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/database/DatabaseAccessKey.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity/database/DatabaseAccessKey.java
@@ -1,4 +1,4 @@
-package at.tuwien.entities.database;
+package at.ac.tuwien.ifs.dbrepo.entity.database;
 
 import lombok.EqualsAndHashCode;
 
diff --git a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/database/LanguageType.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity/database/LanguageType.java
similarity index 98%
rename from dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/database/LanguageType.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity/database/LanguageType.java
index df9081ea2f..884b695cb7 100644
--- a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/database/LanguageType.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity/database/LanguageType.java
@@ -1,4 +1,4 @@
-package at.tuwien.entities.database;
+package at.ac.tuwien.ifs.dbrepo.entity.database;
 
 import lombok.Getter;
 
diff --git a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/database/License.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity/database/License.java
similarity index 92%
rename from dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/database/License.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity/database/License.java
index 4d43a3ba04..bb1901bd8e 100644
--- a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/database/License.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity/database/License.java
@@ -1,4 +1,4 @@
-package at.tuwien.entities.database;
+package at.ac.tuwien.ifs.dbrepo.entity.database;
 
 import lombok.*;
 import org.springframework.data.jpa.domain.support.AuditingEntityListener;
diff --git a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/database/View.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity/database/View.java
similarity index 96%
rename from dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/database/View.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity/database/View.java
index 8f84a8f066..bcce570754 100644
--- a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/database/View.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity/database/View.java
@@ -1,7 +1,7 @@
-package at.tuwien.entities.database;
+package at.ac.tuwien.ifs.dbrepo.entity.database;
 
-import at.tuwien.entities.identifier.Identifier;
-import at.tuwien.entities.user.User;
+import at.ac.tuwien.ifs.dbrepo.entity.identifier.Identifier;
+import at.ac.tuwien.ifs.dbrepo.entity.user.User;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import jakarta.persistence.*;
 import lombok.*;
diff --git a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/database/ViewColumn.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity/database/ViewColumn.java
similarity index 94%
rename from dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/database/ViewColumn.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity/database/ViewColumn.java
index 4fb7ace10d..5a7d595745 100644
--- a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/database/ViewColumn.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity/database/ViewColumn.java
@@ -1,6 +1,6 @@
-package at.tuwien.entities.database;
+package at.ac.tuwien.ifs.dbrepo.entity.database;
 
-import at.tuwien.entities.database.table.columns.TableColumnType;
+import at.ac.tuwien.ifs.dbrepo.entity.database.table.columns.TableColumnType;
 import jakarta.persistence.*;
 import lombok.*;
 import org.hibernate.annotations.JdbcTypeCode;
diff --git a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/database/table/Table.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity/database/table/Table.java
similarity index 91%
rename from dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/database/table/Table.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity/database/table/Table.java
index 1e2aa72b92..38da4ffbba 100644
--- a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/database/table/Table.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity/database/table/Table.java
@@ -1,10 +1,10 @@
-package at.tuwien.entities.database.table;
+package at.ac.tuwien.ifs.dbrepo.entity.database.table;
 
-import at.tuwien.entities.database.Database;
-import at.tuwien.entities.database.table.columns.TableColumn;
-import at.tuwien.entities.database.table.constraints.Constraints;
-import at.tuwien.entities.identifier.Identifier;
-import at.tuwien.entities.user.User;
+import at.ac.tuwien.ifs.dbrepo.entity.database.Database;
+import at.ac.tuwien.ifs.dbrepo.entity.database.table.columns.TableColumn;
+import at.ac.tuwien.ifs.dbrepo.entity.database.table.constraints.Constraints;
+import at.ac.tuwien.ifs.dbrepo.entity.identifier.Identifier;
+import at.ac.tuwien.ifs.dbrepo.entity.user.User;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import jakarta.persistence.*;
 import lombok.*;
@@ -21,8 +21,6 @@ import java.time.Instant;
 import java.util.List;
 import java.util.UUID;
 
-import static jakarta.persistence.GenerationType.IDENTITY;
-
 @Data
 @Entity
 @Builder
diff --git a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/database/table/columns/ColumnEnum.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity/database/table/columns/ColumnEnum.java
similarity index 89%
rename from dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/database/table/columns/ColumnEnum.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity/database/table/columns/ColumnEnum.java
index 99002c8129..2fa054469e 100644
--- a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/database/table/columns/ColumnEnum.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity/database/table/columns/ColumnEnum.java
@@ -1,4 +1,4 @@
-package at.tuwien.entities.database.table.columns;
+package at.ac.tuwien.ifs.dbrepo.entity.database.table.columns;
 
 import jakarta.persistence.*;
 import lombok.*;
@@ -6,8 +6,6 @@ import org.hibernate.annotations.JdbcTypeCode;
 
 import java.util.UUID;
 
-import static jakarta.persistence.GenerationType.IDENTITY;
-
 @Data
 @Entity
 @Builder(toBuilder = true)
diff --git a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/database/table/columns/ColumnSet.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity/database/table/columns/ColumnSet.java
similarity index 89%
rename from dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/database/table/columns/ColumnSet.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity/database/table/columns/ColumnSet.java
index 036c0202db..ce8cdc8be7 100644
--- a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/database/table/columns/ColumnSet.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity/database/table/columns/ColumnSet.java
@@ -1,4 +1,4 @@
-package at.tuwien.entities.database.table.columns;
+package at.ac.tuwien.ifs.dbrepo.entity.database.table.columns;
 
 import jakarta.persistence.*;
 import lombok.*;
@@ -6,8 +6,6 @@ import org.hibernate.annotations.JdbcTypeCode;
 
 import java.util.UUID;
 
-import static jakarta.persistence.GenerationType.IDENTITY;
-
 @Data
 @Entity
 @Builder(toBuilder = true)
diff --git a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/database/table/columns/TableColumn.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity/database/table/columns/TableColumn.java
similarity index 96%
rename from dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/database/table/columns/TableColumn.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity/database/table/columns/TableColumn.java
index eefa648dfd..3a6b8e8f55 100644
--- a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/database/table/columns/TableColumn.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity/database/table/columns/TableColumn.java
@@ -1,6 +1,6 @@
-package at.tuwien.entities.database.table.columns;
+package at.ac.tuwien.ifs.dbrepo.entity.database.table.columns;
 
-import at.tuwien.entities.database.table.Table;
+import at.ac.tuwien.ifs.dbrepo.entity.database.table.Table;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import jakarta.persistence.*;
 import lombok.*;
@@ -16,8 +16,6 @@ import java.time.Instant;
 import java.util.List;
 import java.util.UUID;
 
-import static jakarta.persistence.GenerationType.IDENTITY;
-
 @Data
 @Entity
 @Builder(toBuilder = true)
diff --git a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/database/table/columns/TableColumnConcept.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity/database/table/columns/TableColumnConcept.java
similarity index 95%
rename from dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/database/table/columns/TableColumnConcept.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity/database/table/columns/TableColumnConcept.java
index edf39d84e3..a192473a71 100644
--- a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/database/table/columns/TableColumnConcept.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity/database/table/columns/TableColumnConcept.java
@@ -1,4 +1,4 @@
-package at.tuwien.entities.database.table.columns;
+package at.ac.tuwien.ifs.dbrepo.entity.database.table.columns;
 
 import com.fasterxml.jackson.annotation.JsonFormat;
 import jakarta.persistence.*;
@@ -11,8 +11,6 @@ import java.time.Instant;
 import java.util.List;
 import java.util.UUID;
 
-import static jakarta.persistence.GenerationType.IDENTITY;
-
 @Data
 @Entity
 @Builder
diff --git a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/database/table/columns/TableColumnType.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity/database/table/columns/TableColumnType.java
similarity index 88%
rename from dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/database/table/columns/TableColumnType.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity/database/table/columns/TableColumnType.java
index 3a287123f8..5ba076b64c 100644
--- a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/database/table/columns/TableColumnType.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity/database/table/columns/TableColumnType.java
@@ -1,4 +1,4 @@
-package at.tuwien.entities.database.table.columns;
+package at.ac.tuwien.ifs.dbrepo.entity.database.table.columns;
 
 import lombok.Getter;
 import lombok.ToString;
diff --git a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/database/table/columns/TableColumnUnit.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity/database/table/columns/TableColumnUnit.java
similarity index 95%
rename from dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/database/table/columns/TableColumnUnit.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity/database/table/columns/TableColumnUnit.java
index 9d48062d33..297ce92618 100644
--- a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/database/table/columns/TableColumnUnit.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity/database/table/columns/TableColumnUnit.java
@@ -1,4 +1,4 @@
-package at.tuwien.entities.database.table.columns;
+package at.ac.tuwien.ifs.dbrepo.entity.database.table.columns;
 
 import com.fasterxml.jackson.annotation.JsonFormat;
 import jakarta.persistence.*;
@@ -11,8 +11,6 @@ import java.time.Instant;
 import java.util.List;
 import java.util.UUID;
 
-import static jakarta.persistence.GenerationType.IDENTITY;
-
 @Data
 @Entity
 @Builder
diff --git a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/database/table/constraints/Constraints.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity/database/table/constraints/Constraints.java
similarity index 72%
rename from dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/database/table/constraints/Constraints.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity/database/table/constraints/Constraints.java
index 2676eaf3e1..10174e0369 100644
--- a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/database/table/constraints/Constraints.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity/database/table/constraints/Constraints.java
@@ -1,8 +1,8 @@
-package at.tuwien.entities.database.table.constraints;
+package at.ac.tuwien.ifs.dbrepo.entity.database.table.constraints;
 
-import at.tuwien.entities.database.table.constraints.foreignKey.ForeignKey;
-import at.tuwien.entities.database.table.constraints.primaryKey.PrimaryKey;
-import at.tuwien.entities.database.table.constraints.unique.Unique;
+import at.ac.tuwien.ifs.dbrepo.entity.database.table.constraints.foreignKey.ForeignKey;
+import at.ac.tuwien.ifs.dbrepo.entity.database.table.constraints.primaryKey.PrimaryKey;
+import at.ac.tuwien.ifs.dbrepo.entity.database.table.constraints.unique.Unique;
 import lombok.*;
 
 import jakarta.persistence.*;
diff --git a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/database/table/constraints/foreignKey/ForeignKey.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity/database/table/constraints/foreignKey/ForeignKey.java
similarity index 92%
rename from dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/database/table/constraints/foreignKey/ForeignKey.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity/database/table/constraints/foreignKey/ForeignKey.java
index 92271b3232..8aec4443ff 100644
--- a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/database/table/constraints/foreignKey/ForeignKey.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity/database/table/constraints/foreignKey/ForeignKey.java
@@ -1,6 +1,6 @@
-package at.tuwien.entities.database.table.constraints.foreignKey;
+package at.ac.tuwien.ifs.dbrepo.entity.database.table.constraints.foreignKey;
 
-import at.tuwien.entities.database.table.Table;
+import at.ac.tuwien.ifs.dbrepo.entity.database.table.Table;
 import jakarta.persistence.*;
 import lombok.*;
 import org.hibernate.annotations.JdbcTypeCode;
diff --git a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/database/table/constraints/foreignKey/ForeignKeyReference.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity/database/table/constraints/foreignKey/ForeignKeyReference.java
similarity index 89%
rename from dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/database/table/constraints/foreignKey/ForeignKeyReference.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity/database/table/constraints/foreignKey/ForeignKeyReference.java
index 850b25ac5c..b8349c200c 100644
--- a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/database/table/constraints/foreignKey/ForeignKeyReference.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity/database/table/constraints/foreignKey/ForeignKeyReference.java
@@ -1,6 +1,6 @@
-package at.tuwien.entities.database.table.constraints.foreignKey;
+package at.ac.tuwien.ifs.dbrepo.entity.database.table.constraints.foreignKey;
 
-import at.tuwien.entities.database.table.columns.TableColumn;
+import at.ac.tuwien.ifs.dbrepo.entity.database.table.columns.TableColumn;
 import jakarta.persistence.*;
 import lombok.*;
 import org.hibernate.annotations.JdbcTypeCode;
@@ -8,8 +8,6 @@ import org.springframework.data.jpa.domain.support.AuditingEntityListener;
 
 import java.util.UUID;
 
-import static jakarta.persistence.GenerationType.IDENTITY;
-
 @Data
 @Entity
 @Builder
diff --git a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/database/table/constraints/foreignKey/ReferenceType.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity/database/table/constraints/foreignKey/ReferenceType.java
similarity index 68%
rename from dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/database/table/constraints/foreignKey/ReferenceType.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity/database/table/constraints/foreignKey/ReferenceType.java
index 88be5c81aa..f9fec8cf92 100644
--- a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/database/table/constraints/foreignKey/ReferenceType.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity/database/table/constraints/foreignKey/ReferenceType.java
@@ -1,4 +1,4 @@
-package at.tuwien.entities.database.table.constraints.foreignKey;
+package at.ac.tuwien.ifs.dbrepo.entity.database.table.constraints.foreignKey;
 
 import lombok.Getter;
 import lombok.ToString;
diff --git a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/database/table/constraints/primaryKey/PrimaryKey.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity/database/table/constraints/primaryKey/PrimaryKey.java
similarity index 86%
rename from dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/database/table/constraints/primaryKey/PrimaryKey.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity/database/table/constraints/primaryKey/PrimaryKey.java
index 26e0f13299..1dbe4e4ffb 100644
--- a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/database/table/constraints/primaryKey/PrimaryKey.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity/database/table/constraints/primaryKey/PrimaryKey.java
@@ -1,7 +1,7 @@
-package at.tuwien.entities.database.table.constraints.primaryKey;
+package at.ac.tuwien.ifs.dbrepo.entity.database.table.constraints.primaryKey;
 
-import at.tuwien.entities.database.table.Table;
-import at.tuwien.entities.database.table.columns.TableColumn;
+import at.ac.tuwien.ifs.dbrepo.entity.database.table.Table;
+import at.ac.tuwien.ifs.dbrepo.entity.database.table.columns.TableColumn;
 import jakarta.persistence.*;
 import lombok.*;
 import org.hibernate.annotations.JdbcTypeCode;
diff --git a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/database/table/constraints/unique/Unique.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity/database/table/constraints/unique/Unique.java
similarity index 88%
rename from dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/database/table/constraints/unique/Unique.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity/database/table/constraints/unique/Unique.java
index e1ad4c4c4d..173dd33c75 100644
--- a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/database/table/constraints/unique/Unique.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity/database/table/constraints/unique/Unique.java
@@ -1,7 +1,7 @@
-package at.tuwien.entities.database.table.constraints.unique;
+package at.ac.tuwien.ifs.dbrepo.entity.database.table.constraints.unique;
 
-import at.tuwien.entities.database.table.Table;
-import at.tuwien.entities.database.table.columns.TableColumn;
+import at.ac.tuwien.ifs.dbrepo.entity.database.table.Table;
+import at.ac.tuwien.ifs.dbrepo.entity.database.table.columns.TableColumn;
 import jakarta.persistence.*;
 import lombok.*;
 import org.hibernate.annotations.JdbcTypeCode;
diff --git a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/identifier/AffiliationIdentifierSchemeType.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity/identifier/AffiliationIdentifierSchemeType.java
similarity index 68%
rename from dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/identifier/AffiliationIdentifierSchemeType.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity/identifier/AffiliationIdentifierSchemeType.java
index 0d794ff431..016cc2d4b1 100644
--- a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/identifier/AffiliationIdentifierSchemeType.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity/identifier/AffiliationIdentifierSchemeType.java
@@ -1,5 +1,5 @@
 
-package at.tuwien.entities.identifier;
+package at.ac.tuwien.ifs.dbrepo.entity.identifier;
 
 import lombok.Getter;
 
diff --git a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/identifier/Creator.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity/identifier/Creator.java
similarity index 96%
rename from dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/identifier/Creator.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity/identifier/Creator.java
index cdbcf79777..109ed5e865 100644
--- a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/identifier/Creator.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity/identifier/Creator.java
@@ -1,4 +1,4 @@
-package at.tuwien.entities.identifier;
+package at.ac.tuwien.ifs.dbrepo.entity.identifier;
 
 import jakarta.persistence.*;
 import lombok.*;
@@ -7,8 +7,6 @@ import org.springframework.data.jpa.domain.support.AuditingEntityListener;
 
 import java.util.UUID;
 
-import static jakarta.persistence.GenerationType.IDENTITY;
-
 @Data
 @Entity
 @Builder
diff --git a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/identifier/DescriptionType.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity/identifier/DescriptionType.java
similarity index 89%
rename from dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/identifier/DescriptionType.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity/identifier/DescriptionType.java
index 4f97967426..71b8241fcd 100644
--- a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/identifier/DescriptionType.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity/identifier/DescriptionType.java
@@ -1,5 +1,5 @@
 
-package at.tuwien.entities.identifier;
+package at.ac.tuwien.ifs.dbrepo.entity.identifier;
 
 import lombok.Getter;
 
diff --git a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/identifier/Identifier.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity/identifier/Identifier.java
similarity index 96%
rename from dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/identifier/Identifier.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity/identifier/Identifier.java
index 43dbb849e3..f8e16ef7bf 100644
--- a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/identifier/Identifier.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity/identifier/Identifier.java
@@ -1,9 +1,9 @@
-package at.tuwien.entities.identifier;
+package at.ac.tuwien.ifs.dbrepo.entity.identifier;
 
-import at.tuwien.entities.database.Database;
-import at.tuwien.entities.database.LanguageType;
-import at.tuwien.entities.database.License;
-import at.tuwien.entities.user.User;
+import at.ac.tuwien.ifs.dbrepo.entity.database.Database;
+import at.ac.tuwien.ifs.dbrepo.entity.database.LanguageType;
+import at.ac.tuwien.ifs.dbrepo.entity.database.License;
+import at.ac.tuwien.ifs.dbrepo.entity.user.User;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import jakarta.persistence.*;
 import lombok.*;
@@ -17,8 +17,6 @@ import java.time.Instant;
 import java.util.List;
 import java.util.UUID;
 
-import static jakarta.persistence.GenerationType.IDENTITY;
-
 @Data
 @Entity
 @Builder(toBuilder = true)
diff --git a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/identifier/IdentifierDescription.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity/identifier/IdentifierDescription.java
similarity index 93%
rename from dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/identifier/IdentifierDescription.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity/identifier/IdentifierDescription.java
index 32adddccfc..3459397232 100644
--- a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/identifier/IdentifierDescription.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity/identifier/IdentifierDescription.java
@@ -1,6 +1,6 @@
-package at.tuwien.entities.identifier;
+package at.ac.tuwien.ifs.dbrepo.entity.identifier;
 
-import at.tuwien.entities.database.LanguageType;
+import at.ac.tuwien.ifs.dbrepo.entity.database.LanguageType;
 import jakarta.persistence.*;
 import lombok.*;
 import org.hibernate.annotations.JdbcTypeCode;
@@ -9,8 +9,6 @@ import org.springframework.data.jpa.domain.support.AuditingEntityListener;
 import java.io.Serializable;
 import java.util.UUID;
 
-import static jakarta.persistence.GenerationType.IDENTITY;
-
 @Data
 @Entity
 @Builder
diff --git a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/identifier/IdentifierFunder.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity/identifier/IdentifierFunder.java
similarity index 93%
rename from dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/identifier/IdentifierFunder.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity/identifier/IdentifierFunder.java
index 5b69b2e8f7..1f70b31d1c 100644
--- a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/identifier/IdentifierFunder.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity/identifier/IdentifierFunder.java
@@ -1,4 +1,4 @@
-package at.tuwien.entities.identifier;
+package at.ac.tuwien.ifs.dbrepo.entity.identifier;
 
 import jakarta.persistence.*;
 import lombok.*;
@@ -8,8 +8,6 @@ import org.springframework.data.jpa.domain.support.AuditingEntityListener;
 import java.io.Serializable;
 import java.util.UUID;
 
-import static jakarta.persistence.GenerationType.IDENTITY;
-
 @Data
 @Entity
 @Builder
diff --git a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/identifier/IdentifierFunderType.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity/identifier/IdentifierFunderType.java
similarity index 66%
rename from dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/identifier/IdentifierFunderType.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity/identifier/IdentifierFunderType.java
index ea538dcbfb..8e6abe9ab4 100644
--- a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/identifier/IdentifierFunderType.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity/identifier/IdentifierFunderType.java
@@ -1,4 +1,4 @@
-package at.tuwien.entities.identifier;
+package at.ac.tuwien.ifs.dbrepo.entity.identifier;
 
 public enum IdentifierFunderType {
     CROSSREF_FUNDER_ID,
diff --git a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/identifier/IdentifierStatusType.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity/identifier/IdentifierStatusType.java
similarity index 64%
rename from dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/identifier/IdentifierStatusType.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity/identifier/IdentifierStatusType.java
index f056c3e723..96d2734033 100644
--- a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/identifier/IdentifierStatusType.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity/identifier/IdentifierStatusType.java
@@ -1,4 +1,4 @@
-package at.tuwien.entities.identifier;
+package at.ac.tuwien.ifs.dbrepo.entity.identifier;
 
 import lombok.Getter;
 
diff --git a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/identifier/IdentifierTitle.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity/identifier/IdentifierTitle.java
similarity index 93%
rename from dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/identifier/IdentifierTitle.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity/identifier/IdentifierTitle.java
index 769ff12a67..6241cd98eb 100644
--- a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/identifier/IdentifierTitle.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity/identifier/IdentifierTitle.java
@@ -1,6 +1,6 @@
-package at.tuwien.entities.identifier;
+package at.ac.tuwien.ifs.dbrepo.entity.identifier;
 
-import at.tuwien.entities.database.LanguageType;
+import at.ac.tuwien.ifs.dbrepo.entity.database.LanguageType;
 import jakarta.persistence.*;
 import lombok.*;
 import org.hibernate.annotations.JdbcTypeCode;
@@ -9,8 +9,6 @@ import org.springframework.data.jpa.domain.support.AuditingEntityListener;
 import java.io.Serializable;
 import java.util.UUID;
 
-import static jakarta.persistence.GenerationType.IDENTITY;
-
 @Data
 @Entity
 @Builder
diff --git a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/identifier/IdentifierType.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity/identifier/IdentifierType.java
similarity index 68%
rename from dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/identifier/IdentifierType.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity/identifier/IdentifierType.java
index 58b2fcf699..748efbc834 100644
--- a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/identifier/IdentifierType.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity/identifier/IdentifierType.java
@@ -1,4 +1,4 @@
-package at.tuwien.entities.identifier;
+package at.ac.tuwien.ifs.dbrepo.entity.identifier;
 
 import lombok.Getter;
 
diff --git a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/identifier/NameIdentifierSchemeType.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity/identifier/NameIdentifierSchemeType.java
similarity index 68%
rename from dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/identifier/NameIdentifierSchemeType.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity/identifier/NameIdentifierSchemeType.java
index 6a7eb73a12..b8c5c883c9 100644
--- a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/identifier/NameIdentifierSchemeType.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity/identifier/NameIdentifierSchemeType.java
@@ -1,5 +1,5 @@
 
-package at.tuwien.entities.identifier;
+package at.ac.tuwien.ifs.dbrepo.entity.identifier;
 
 import lombok.Getter;
 
diff --git a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/identifier/NameType.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity/identifier/NameType.java
similarity index 63%
rename from dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/identifier/NameType.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity/identifier/NameType.java
index b44da71a59..f068c63f75 100644
--- a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/identifier/NameType.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity/identifier/NameType.java
@@ -1,4 +1,4 @@
-package at.tuwien.entities.identifier;
+package at.ac.tuwien.ifs.dbrepo.entity.identifier;
 
 import lombok.Getter;
 
diff --git a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/identifier/RelatedIdentifier.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity/identifier/RelatedIdentifier.java
similarity index 97%
rename from dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/identifier/RelatedIdentifier.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity/identifier/RelatedIdentifier.java
index 24ac7adb1f..52c2d5a24a 100644
--- a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/identifier/RelatedIdentifier.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity/identifier/RelatedIdentifier.java
@@ -1,4 +1,4 @@
-package at.tuwien.entities.identifier;
+package at.ac.tuwien.ifs.dbrepo.entity.identifier;
 
 import jakarta.persistence.*;
 import lombok.*;
diff --git a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/identifier/RelatedType.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity/identifier/RelatedType.java
similarity index 91%
rename from dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/identifier/RelatedType.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity/identifier/RelatedType.java
index feacfb03c2..e58d21b73d 100644
--- a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/identifier/RelatedType.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity/identifier/RelatedType.java
@@ -1,4 +1,4 @@
-package at.tuwien.entities.identifier;
+package at.ac.tuwien.ifs.dbrepo.entity.identifier;
 
 public enum RelatedType {
 
diff --git a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/identifier/RelationType.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity/identifier/RelationType.java
similarity index 96%
rename from dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/identifier/RelationType.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity/identifier/RelationType.java
index 5bcfb14111..ea272d6a64 100644
--- a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/identifier/RelationType.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity/identifier/RelationType.java
@@ -1,4 +1,4 @@
-package at.tuwien.entities.identifier;
+package at.ac.tuwien.ifs.dbrepo.entity.identifier;
 
 public enum RelationType {
 
diff --git a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/identifier/TitleType.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity/identifier/TitleType.java
similarity index 87%
rename from dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/identifier/TitleType.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity/identifier/TitleType.java
index caf3ae6553..5fa91e1498 100644
--- a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/identifier/TitleType.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity/identifier/TitleType.java
@@ -1,5 +1,5 @@
 
-package at.tuwien.entities.identifier;
+package at.ac.tuwien.ifs.dbrepo.entity.identifier;
 
 import lombok.Getter;
 
diff --git a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/maintenance/BannerMessage.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity/maintenance/BannerMessage.java
similarity index 93%
rename from dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/maintenance/BannerMessage.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity/maintenance/BannerMessage.java
index 8a5f2d76a3..891f7dc141 100644
--- a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/maintenance/BannerMessage.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity/maintenance/BannerMessage.java
@@ -1,4 +1,4 @@
-package at.tuwien.entities.maintenance;
+package at.ac.tuwien.ifs.dbrepo.entity.maintenance;
 
 import jakarta.persistence.*;
 import lombok.*;
@@ -8,8 +8,6 @@ import org.springframework.data.jpa.domain.support.AuditingEntityListener;
 import java.time.Instant;
 import java.util.UUID;
 
-import static jakarta.persistence.GenerationType.IDENTITY;
-
 @Data
 @Entity
 @Builder
diff --git a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/maintenance/BannerMessageType.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity/maintenance/BannerMessageType.java
similarity index 71%
rename from dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/maintenance/BannerMessageType.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity/maintenance/BannerMessageType.java
index cbd793f714..71a3342c4c 100644
--- a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/maintenance/BannerMessageType.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity/maintenance/BannerMessageType.java
@@ -1,4 +1,4 @@
-package at.tuwien.entities.maintenance;
+package at.ac.tuwien.ifs.dbrepo.entity.maintenance;
 
 import lombok.Getter;
 import lombok.ToString;
diff --git a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/semantics/Ontology.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity/semantics/Ontology.java
similarity index 94%
rename from dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/semantics/Ontology.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity/semantics/Ontology.java
index 664b284c3d..0ace319c06 100644
--- a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/semantics/Ontology.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity/semantics/Ontology.java
@@ -1,4 +1,4 @@
-package at.tuwien.entities.semantics;
+package at.ac.tuwien.ifs.dbrepo.entity.semantics;
 
 import jakarta.persistence.*;
 import lombok.*;
@@ -10,8 +10,6 @@ import org.springframework.data.jpa.domain.support.AuditingEntityListener;
 import java.time.Instant;
 import java.util.UUID;
 
-import static jakarta.persistence.GenerationType.IDENTITY;
-
 @Data
 @Entity
 @Builder
diff --git a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/user/User.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity/user/User.java
similarity index 94%
rename from dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/user/User.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity/user/User.java
index 44d36e5e03..abc6de1a52 100644
--- a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/user/User.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/entity/user/User.java
@@ -1,6 +1,6 @@
-package at.tuwien.entities.user;
+package at.ac.tuwien.ifs.dbrepo.entity.user;
 
-import at.tuwien.entities.database.DatabaseAccess;
+import at.ac.tuwien.ifs.dbrepo.entity.database.DatabaseAccess;
 import jakarta.persistence.*;
 import lombok.*;
 import lombok.extern.log4j.Log4j2;
diff --git a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/AccessNotFoundException.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/AccessNotFoundException.java
similarity index 92%
rename from dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/AccessNotFoundException.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/AccessNotFoundException.java
index d308361ae1..8b5f6ade2f 100644
--- a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/AccessNotFoundException.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/AccessNotFoundException.java
@@ -1,4 +1,4 @@
-package at.tuwien.exception;
+package at.ac.tuwien.ifs.dbrepo.exception;
 
 import org.springframework.http.HttpStatus;
 import org.springframework.web.bind.annotation.ResponseStatus;
diff --git a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/AccountNotSetupException.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/AccountNotSetupException.java
similarity index 92%
rename from dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/AccountNotSetupException.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/AccountNotSetupException.java
index 395e63d423..35648b619f 100644
--- a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/AccountNotSetupException.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/AccountNotSetupException.java
@@ -1,4 +1,4 @@
-package at.tuwien.exception;
+package at.ac.tuwien.ifs.dbrepo.exception;
 
 import org.springframework.http.HttpStatus;
 import org.springframework.web.bind.annotation.ResponseStatus;
diff --git a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/AnalyseServiceException.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/AnalyseServiceException.java
similarity index 92%
rename from dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/AnalyseServiceException.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/AnalyseServiceException.java
index 44cd0d3dc8..082d828ecf 100644
--- a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/AnalyseServiceException.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/AnalyseServiceException.java
@@ -1,4 +1,4 @@
-package at.tuwien.exception;
+package at.ac.tuwien.ifs.dbrepo.exception;
 
 import org.springframework.http.HttpStatus;
 import org.springframework.web.bind.annotation.ResponseStatus;
diff --git a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/AuthServiceConnectionException.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/AuthServiceConnectionException.java
similarity index 92%
rename from dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/AuthServiceConnectionException.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/AuthServiceConnectionException.java
index 08cb54f9de..26b38feb87 100644
--- a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/AuthServiceConnectionException.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/AuthServiceConnectionException.java
@@ -1,4 +1,4 @@
-package at.tuwien.exception;
+package at.ac.tuwien.ifs.dbrepo.exception;
 
 import org.springframework.http.HttpStatus;
 import org.springframework.web.bind.annotation.ResponseStatus;
diff --git a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/AuthServiceException.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/AuthServiceException.java
similarity index 92%
rename from dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/AuthServiceException.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/AuthServiceException.java
index de43ce1cbe..ceb80dd3a4 100644
--- a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/AuthServiceException.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/AuthServiceException.java
@@ -1,4 +1,4 @@
-package at.tuwien.exception;
+package at.ac.tuwien.ifs.dbrepo.exception;
 
 import org.springframework.http.HttpStatus;
 import org.springframework.web.bind.annotation.ResponseStatus;
diff --git a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/BrokerServiceConnectionException.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/BrokerServiceConnectionException.java
similarity index 93%
rename from dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/BrokerServiceConnectionException.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/BrokerServiceConnectionException.java
index 6efa16fa87..c5a9bf2078 100644
--- a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/BrokerServiceConnectionException.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/BrokerServiceConnectionException.java
@@ -1,4 +1,4 @@
-package at.tuwien.exception;
+package at.ac.tuwien.ifs.dbrepo.exception;
 
 import org.springframework.http.HttpStatus;
 import org.springframework.web.bind.annotation.ResponseStatus;
diff --git a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/BrokerServiceException.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/BrokerServiceException.java
similarity index 92%
rename from dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/BrokerServiceException.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/BrokerServiceException.java
index 86201c5d69..0d47571f1d 100644
--- a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/BrokerServiceException.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/BrokerServiceException.java
@@ -1,4 +1,4 @@
-package at.tuwien.exception;
+package at.ac.tuwien.ifs.dbrepo.exception;
 
 import org.springframework.http.HttpStatus;
 import org.springframework.web.bind.annotation.ResponseStatus;
diff --git a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/ConceptNotFoundException.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/ConceptNotFoundException.java
similarity index 92%
rename from dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/ConceptNotFoundException.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/ConceptNotFoundException.java
index 33e093ae5a..c3c7dc918b 100644
--- a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/ConceptNotFoundException.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/ConceptNotFoundException.java
@@ -1,4 +1,4 @@
-package at.tuwien.exception;
+package at.ac.tuwien.ifs.dbrepo.exception;
 
 import org.springframework.http.HttpStatus;
 import org.springframework.web.bind.annotation.ResponseStatus;
diff --git a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/ContainerAlreadyExistsException.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/ContainerAlreadyExistsException.java
similarity index 92%
rename from dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/ContainerAlreadyExistsException.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/ContainerAlreadyExistsException.java
index f27ea0aa19..c2f91177c7 100644
--- a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/ContainerAlreadyExistsException.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/ContainerAlreadyExistsException.java
@@ -1,4 +1,4 @@
-package at.tuwien.exception;
+package at.ac.tuwien.ifs.dbrepo.exception;
 
 import org.springframework.http.HttpStatus;
 import org.springframework.web.bind.annotation.ResponseStatus;
diff --git a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/ContainerNotFoundException.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/ContainerNotFoundException.java
similarity index 92%
rename from dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/ContainerNotFoundException.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/ContainerNotFoundException.java
index 0d17faafab..8bda8f5d0e 100644
--- a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/ContainerNotFoundException.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/ContainerNotFoundException.java
@@ -1,4 +1,4 @@
-package at.tuwien.exception;
+package at.ac.tuwien.ifs.dbrepo.exception;
 
 import org.springframework.http.HttpStatus;
 import org.springframework.web.bind.annotation.ResponseStatus;
diff --git a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/ContainerQuotaException.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/ContainerQuotaException.java
similarity index 92%
rename from dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/ContainerQuotaException.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/ContainerQuotaException.java
index 6679775f00..c7238c7587 100644
--- a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/ContainerQuotaException.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/ContainerQuotaException.java
@@ -1,4 +1,4 @@
-package at.tuwien.exception;
+package at.ac.tuwien.ifs.dbrepo.exception;
 
 import org.springframework.http.HttpStatus;
 import org.springframework.web.bind.annotation.ResponseStatus;
diff --git a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/CredentialsInvalidException.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/CredentialsInvalidException.java
similarity index 92%
rename from dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/CredentialsInvalidException.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/CredentialsInvalidException.java
index 984c70f485..1639c284f0 100644
--- a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/CredentialsInvalidException.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/CredentialsInvalidException.java
@@ -1,4 +1,4 @@
-package at.tuwien.exception;
+package at.ac.tuwien.ifs.dbrepo.exception;
 
 import org.springframework.http.HttpStatus;
 import org.springframework.web.bind.annotation.ResponseStatus;
diff --git a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/DashboardServiceConnectionException.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/DashboardServiceConnectionException.java
similarity index 93%
rename from dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/DashboardServiceConnectionException.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/DashboardServiceConnectionException.java
index ede02a2070..2319a5a381 100644
--- a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/DashboardServiceConnectionException.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/DashboardServiceConnectionException.java
@@ -1,4 +1,4 @@
-package at.tuwien.exception;
+package at.ac.tuwien.ifs.dbrepo.exception;
 
 import org.springframework.http.HttpStatus;
 import org.springframework.web.bind.annotation.ResponseStatus;
diff --git a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/DashboardServiceException.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/DashboardServiceException.java
similarity index 92%
rename from dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/DashboardServiceException.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/DashboardServiceException.java
index 98d84042eb..a3b27235cf 100644
--- a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/DashboardServiceException.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/DashboardServiceException.java
@@ -1,4 +1,4 @@
-package at.tuwien.exception;
+package at.ac.tuwien.ifs.dbrepo.exception;
 
 import org.springframework.http.HttpStatus;
 import org.springframework.web.bind.annotation.ResponseStatus;
diff --git a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/DataServiceConnectionException.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/DataServiceConnectionException.java
similarity index 92%
rename from dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/DataServiceConnectionException.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/DataServiceConnectionException.java
index 0125a781ad..d2f0669f6d 100644
--- a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/DataServiceConnectionException.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/DataServiceConnectionException.java
@@ -1,4 +1,4 @@
-package at.tuwien.exception;
+package at.ac.tuwien.ifs.dbrepo.exception;
 
 import org.springframework.http.HttpStatus;
 import org.springframework.web.bind.annotation.ResponseStatus;
diff --git a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/DataServiceException.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/DataServiceException.java
similarity index 92%
rename from dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/DataServiceException.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/DataServiceException.java
index f76e662a65..5c53b364c6 100644
--- a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/DataServiceException.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/DataServiceException.java
@@ -1,4 +1,4 @@
-package at.tuwien.exception;
+package at.ac.tuwien.ifs.dbrepo.exception;
 
 import org.springframework.http.HttpStatus;
 import org.springframework.web.bind.annotation.ResponseStatus;
diff --git a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/DatabaseMalformedException.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/DatabaseMalformedException.java
similarity index 92%
rename from dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/DatabaseMalformedException.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/DatabaseMalformedException.java
index 4bdc362256..223b90c6ae 100644
--- a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/DatabaseMalformedException.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/DatabaseMalformedException.java
@@ -1,4 +1,4 @@
-package at.tuwien.exception;
+package at.ac.tuwien.ifs.dbrepo.exception;
 
 import org.springframework.http.HttpStatus;
 import org.springframework.web.bind.annotation.ResponseStatus;
diff --git a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/DatabaseNotFoundException.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/DatabaseNotFoundException.java
similarity index 92%
rename from dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/DatabaseNotFoundException.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/DatabaseNotFoundException.java
index c50349f33b..33afcef14f 100644
--- a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/DatabaseNotFoundException.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/DatabaseNotFoundException.java
@@ -1,4 +1,4 @@
-package at.tuwien.exception;
+package at.ac.tuwien.ifs.dbrepo.exception;
 
 import org.springframework.http.HttpStatus;
 import org.springframework.web.bind.annotation.ResponseStatus;
diff --git a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/DatabaseUnavailableException.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/DatabaseUnavailableException.java
similarity index 92%
rename from dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/DatabaseUnavailableException.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/DatabaseUnavailableException.java
index 12c13d0754..966186025e 100644
--- a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/DatabaseUnavailableException.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/DatabaseUnavailableException.java
@@ -1,4 +1,4 @@
-package at.tuwien.exception;
+package at.ac.tuwien.ifs.dbrepo.exception;
 
 import org.springframework.http.HttpStatus;
 import org.springframework.web.bind.annotation.ResponseStatus;
diff --git a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/DoiNotFoundException.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/DoiNotFoundException.java
similarity index 92%
rename from dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/DoiNotFoundException.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/DoiNotFoundException.java
index 3b8e1732cc..5f7b7a40bc 100644
--- a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/DoiNotFoundException.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/DoiNotFoundException.java
@@ -1,4 +1,4 @@
-package at.tuwien.exception;
+package at.ac.tuwien.ifs.dbrepo.exception;
 
 import org.springframework.http.HttpStatus;
 import org.springframework.web.bind.annotation.ResponseStatus;
diff --git a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/EmailExistsException.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/EmailExistsException.java
similarity index 92%
rename from dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/EmailExistsException.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/EmailExistsException.java
index 4ce6c9b0ba..e2bad430c0 100644
--- a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/EmailExistsException.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/EmailExistsException.java
@@ -1,4 +1,4 @@
-package at.tuwien.exception;
+package at.ac.tuwien.ifs.dbrepo.exception;
 
 import org.springframework.http.HttpStatus;
 import org.springframework.web.bind.annotation.ResponseStatus;
diff --git a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/ExchangeNotFoundException.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/ExchangeNotFoundException.java
similarity index 92%
rename from dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/ExchangeNotFoundException.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/ExchangeNotFoundException.java
index 251f09081e..fd5000756d 100644
--- a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/ExchangeNotFoundException.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/ExchangeNotFoundException.java
@@ -1,4 +1,4 @@
-package at.tuwien.exception;
+package at.ac.tuwien.ifs.dbrepo.exception;
 
 import org.springframework.http.HttpStatus;
 import org.springframework.web.bind.annotation.ResponseStatus;
diff --git a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/ExternalServiceException.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/ExternalServiceException.java
similarity index 92%
rename from dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/ExternalServiceException.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/ExternalServiceException.java
index d5f399c402..7d0f9a2877 100644
--- a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/ExternalServiceException.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/ExternalServiceException.java
@@ -1,4 +1,4 @@
-package at.tuwien.exception;
+package at.ac.tuwien.ifs.dbrepo.exception;
 
 import org.springframework.http.HttpStatus;
 import org.springframework.web.bind.annotation.ResponseStatus;
diff --git a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/FilterBadRequestException.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/FilterBadRequestException.java
similarity index 92%
rename from dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/FilterBadRequestException.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/FilterBadRequestException.java
index 88689409ae..1d5054554f 100644
--- a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/FilterBadRequestException.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/FilterBadRequestException.java
@@ -1,4 +1,4 @@
-package at.tuwien.exception;
+package at.ac.tuwien.ifs.dbrepo.exception;
 
 import org.springframework.http.HttpStatus;
 import org.springframework.web.bind.annotation.ResponseStatus;
diff --git a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/FormatNotAvailableException.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/FormatNotAvailableException.java
similarity index 93%
rename from dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/FormatNotAvailableException.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/FormatNotAvailableException.java
index 2681e8d442..e66f19d3d4 100644
--- a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/FormatNotAvailableException.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/FormatNotAvailableException.java
@@ -1,4 +1,4 @@
-package at.tuwien.exception;
+package at.ac.tuwien.ifs.dbrepo.exception;
 
 import org.springframework.http.HttpStatus;
 import org.springframework.web.bind.annotation.ResponseStatus;
diff --git a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/IdentifierNotFoundException.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/IdentifierNotFoundException.java
similarity index 92%
rename from dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/IdentifierNotFoundException.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/IdentifierNotFoundException.java
index dee6a00035..ec9640097d 100644
--- a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/IdentifierNotFoundException.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/IdentifierNotFoundException.java
@@ -1,4 +1,4 @@
-package at.tuwien.exception;
+package at.ac.tuwien.ifs.dbrepo.exception;
 
 import org.springframework.http.HttpStatus;
 import org.springframework.web.bind.annotation.ResponseStatus;
diff --git a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/IdentifierNotSupportedException.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/IdentifierNotSupportedException.java
similarity index 93%
rename from dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/IdentifierNotSupportedException.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/IdentifierNotSupportedException.java
index 23b26ac6d6..715cc12ca0 100644
--- a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/IdentifierNotSupportedException.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/IdentifierNotSupportedException.java
@@ -1,4 +1,4 @@
-package at.tuwien.exception;
+package at.ac.tuwien.ifs.dbrepo.exception;
 
 import org.springframework.http.HttpStatus;
 import org.springframework.web.bind.annotation.ResponseStatus;
diff --git a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/ImageAlreadyExistsException.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/ImageAlreadyExistsException.java
similarity index 92%
rename from dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/ImageAlreadyExistsException.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/ImageAlreadyExistsException.java
index 2db757ed21..29d375f088 100644
--- a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/ImageAlreadyExistsException.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/ImageAlreadyExistsException.java
@@ -1,4 +1,4 @@
-package at.tuwien.exception;
+package at.ac.tuwien.ifs.dbrepo.exception;
 
 import org.springframework.http.HttpStatus;
 import org.springframework.web.bind.annotation.ResponseStatus;
diff --git a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/ImageInvalidException.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/ImageInvalidException.java
similarity index 92%
rename from dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/ImageInvalidException.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/ImageInvalidException.java
index 401b587aed..9da867c214 100644
--- a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/ImageInvalidException.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/ImageInvalidException.java
@@ -1,4 +1,4 @@
-package at.tuwien.exception;
+package at.ac.tuwien.ifs.dbrepo.exception;
 
 import org.springframework.http.HttpStatus;
 import org.springframework.web.bind.annotation.ResponseStatus;
diff --git a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/ImageNotFoundException.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/ImageNotFoundException.java
similarity index 92%
rename from dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/ImageNotFoundException.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/ImageNotFoundException.java
index a0235cc753..ac63df1307 100644
--- a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/ImageNotFoundException.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/ImageNotFoundException.java
@@ -1,4 +1,4 @@
-package at.tuwien.exception;
+package at.ac.tuwien.ifs.dbrepo.exception;
 
 import org.springframework.http.HttpStatus;
 import org.springframework.web.bind.annotation.ResponseStatus;
diff --git a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/LicenseNotFoundException.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/LicenseNotFoundException.java
similarity index 92%
rename from dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/LicenseNotFoundException.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/LicenseNotFoundException.java
index fec3ad4128..e48ad40c7d 100644
--- a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/LicenseNotFoundException.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/LicenseNotFoundException.java
@@ -1,4 +1,4 @@
-package at.tuwien.exception;
+package at.ac.tuwien.ifs.dbrepo.exception;
 
 import org.springframework.http.HttpStatus;
 import org.springframework.web.bind.annotation.ResponseStatus;
diff --git a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/MalformedException.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/MalformedException.java
similarity index 92%
rename from dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/MalformedException.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/MalformedException.java
index 974c2dadd6..e271b15c2e 100644
--- a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/MalformedException.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/MalformedException.java
@@ -1,4 +1,4 @@
-package at.tuwien.exception;
+package at.ac.tuwien.ifs.dbrepo.exception;
 
 import org.springframework.http.HttpStatus;
 import org.springframework.web.bind.annotation.ResponseStatus;
diff --git a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/MessageNotFoundException.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/MessageNotFoundException.java
similarity index 92%
rename from dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/MessageNotFoundException.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/MessageNotFoundException.java
index 9090590551..6cbb5435ad 100644
--- a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/MessageNotFoundException.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/MessageNotFoundException.java
@@ -1,4 +1,4 @@
-package at.tuwien.exception;
+package at.ac.tuwien.ifs.dbrepo.exception;
 
 import org.springframework.http.HttpStatus;
 import org.springframework.web.bind.annotation.ResponseStatus;
diff --git a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/MetadataServiceConnectionException.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/MetadataServiceConnectionException.java
similarity index 93%
rename from dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/MetadataServiceConnectionException.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/MetadataServiceConnectionException.java
index 329de6ffc4..ce85b7d6fc 100644
--- a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/MetadataServiceConnectionException.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/MetadataServiceConnectionException.java
@@ -1,4 +1,4 @@
-package at.tuwien.exception;
+package at.ac.tuwien.ifs.dbrepo.exception;
 
 import org.springframework.http.HttpStatus;
 import org.springframework.web.bind.annotation.ResponseStatus;
diff --git a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/MetadataServiceException.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/MetadataServiceException.java
similarity index 92%
rename from dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/MetadataServiceException.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/MetadataServiceException.java
index a6784d6dd0..8e87db03c2 100644
--- a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/MetadataServiceException.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/MetadataServiceException.java
@@ -1,4 +1,4 @@
-package at.tuwien.exception;
+package at.ac.tuwien.ifs.dbrepo.exception;
 
 import org.springframework.http.HttpStatus;
 import org.springframework.web.bind.annotation.ResponseStatus;
diff --git a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/NotAllowedException.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/NotAllowedException.java
similarity index 92%
rename from dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/NotAllowedException.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/NotAllowedException.java
index 52a2867b01..e4324ea595 100644
--- a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/NotAllowedException.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/NotAllowedException.java
@@ -1,4 +1,4 @@
-package at.tuwien.exception;
+package at.ac.tuwien.ifs.dbrepo.exception;
 
 import org.springframework.http.HttpStatus;
 import org.springframework.web.bind.annotation.ResponseStatus;
diff --git a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/OntologyNotFoundException.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/OntologyNotFoundException.java
similarity index 92%
rename from dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/OntologyNotFoundException.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/OntologyNotFoundException.java
index 5f15403d67..a8641d74ec 100644
--- a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/OntologyNotFoundException.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/OntologyNotFoundException.java
@@ -1,4 +1,4 @@
-package at.tuwien.exception;
+package at.ac.tuwien.ifs.dbrepo.exception;
 
 import org.springframework.http.HttpStatus;
 import org.springframework.web.bind.annotation.ResponseStatus;
diff --git a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/OrcidNotFoundException.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/OrcidNotFoundException.java
similarity index 92%
rename from dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/OrcidNotFoundException.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/OrcidNotFoundException.java
index cf1ad7c067..533735f152 100644
--- a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/OrcidNotFoundException.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/OrcidNotFoundException.java
@@ -1,4 +1,4 @@
-package at.tuwien.exception;
+package at.ac.tuwien.ifs.dbrepo.exception;
 
 import org.springframework.http.HttpStatus;
 import org.springframework.web.bind.annotation.ResponseStatus;
diff --git a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/PaginationException.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/PaginationException.java
similarity index 92%
rename from dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/PaginationException.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/PaginationException.java
index 5d71d0c404..500d33a117 100644
--- a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/PaginationException.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/PaginationException.java
@@ -1,4 +1,4 @@
-package at.tuwien.exception;
+package at.ac.tuwien.ifs.dbrepo.exception;
 
 import org.springframework.http.HttpStatus;
 import org.springframework.web.bind.annotation.ResponseStatus;
diff --git a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/QueryMalformedException.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/QueryMalformedException.java
similarity index 92%
rename from dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/QueryMalformedException.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/QueryMalformedException.java
index 0782bc3269..37e8cb7e34 100644
--- a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/QueryMalformedException.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/QueryMalformedException.java
@@ -1,4 +1,4 @@
-package at.tuwien.exception;
+package at.ac.tuwien.ifs.dbrepo.exception;
 
 import org.springframework.http.HttpStatus;
 import org.springframework.web.bind.annotation.ResponseStatus;
diff --git a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/QueryNotFoundException.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/QueryNotFoundException.java
similarity index 92%
rename from dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/QueryNotFoundException.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/QueryNotFoundException.java
index 631fb1f0d8..ec525c453f 100644
--- a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/QueryNotFoundException.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/QueryNotFoundException.java
@@ -1,4 +1,4 @@
-package at.tuwien.exception;
+package at.ac.tuwien.ifs.dbrepo.exception;
 
 import org.springframework.http.HttpStatus;
 import org.springframework.web.bind.annotation.ResponseStatus;
diff --git a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/QueryNotSupportedException.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/QueryNotSupportedException.java
similarity index 92%
rename from dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/QueryNotSupportedException.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/QueryNotSupportedException.java
index e5894f0fdd..8f0c264e4e 100644
--- a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/QueryNotSupportedException.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/QueryNotSupportedException.java
@@ -1,4 +1,4 @@
-package at.tuwien.exception;
+package at.ac.tuwien.ifs.dbrepo.exception;
 
 import org.springframework.http.HttpStatus;
 import org.springframework.web.bind.annotation.ResponseStatus;
diff --git a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/QueryStoreCreateException.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/QueryStoreCreateException.java
similarity index 92%
rename from dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/QueryStoreCreateException.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/QueryStoreCreateException.java
index 27ddb85e2c..c9bf4e3dd5 100644
--- a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/QueryStoreCreateException.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/QueryStoreCreateException.java
@@ -1,4 +1,4 @@
-package at.tuwien.exception;
+package at.ac.tuwien.ifs.dbrepo.exception;
 
 import org.springframework.http.HttpStatus;
 import org.springframework.web.bind.annotation.ResponseStatus;
diff --git a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/QueryStoreGCException.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/QueryStoreGCException.java
similarity index 92%
rename from dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/QueryStoreGCException.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/QueryStoreGCException.java
index 00302c55ea..116cc1475d 100644
--- a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/QueryStoreGCException.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/QueryStoreGCException.java
@@ -1,4 +1,4 @@
-package at.tuwien.exception;
+package at.ac.tuwien.ifs.dbrepo.exception;
 
 import org.springframework.http.HttpStatus;
 import org.springframework.web.bind.annotation.ResponseStatus;
diff --git a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/QueryStoreInsertException.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/QueryStoreInsertException.java
similarity index 92%
rename from dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/QueryStoreInsertException.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/QueryStoreInsertException.java
index 564383c844..876fafb4af 100644
--- a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/QueryStoreInsertException.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/QueryStoreInsertException.java
@@ -1,4 +1,4 @@
-package at.tuwien.exception;
+package at.ac.tuwien.ifs.dbrepo.exception;
 
 import org.springframework.http.HttpStatus;
 import org.springframework.web.bind.annotation.ResponseStatus;
diff --git a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/QueryStorePersistException.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/QueryStorePersistException.java
similarity index 92%
rename from dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/QueryStorePersistException.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/QueryStorePersistException.java
index 5b17442a3a..f68a523681 100644
--- a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/QueryStorePersistException.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/QueryStorePersistException.java
@@ -1,4 +1,4 @@
-package at.tuwien.exception;
+package at.ac.tuwien.ifs.dbrepo.exception;
 
 import org.springframework.http.HttpStatus;
 import org.springframework.web.bind.annotation.ResponseStatus;
diff --git a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/QueueNotFoundException.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/QueueNotFoundException.java
similarity index 92%
rename from dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/QueueNotFoundException.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/QueueNotFoundException.java
index d06eca7438..df145a1017 100644
--- a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/QueueNotFoundException.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/QueueNotFoundException.java
@@ -1,4 +1,4 @@
-package at.tuwien.exception;
+package at.ac.tuwien.ifs.dbrepo.exception;
 
 import org.springframework.http.HttpStatus;
 import org.springframework.web.bind.annotation.ResponseStatus;
diff --git a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/RemoteUnavailableException.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/RemoteUnavailableException.java
similarity index 92%
rename from dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/RemoteUnavailableException.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/RemoteUnavailableException.java
index 6c2b14bb9b..a6ffb9adfa 100644
--- a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/RemoteUnavailableException.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/RemoteUnavailableException.java
@@ -1,4 +1,4 @@
-package at.tuwien.exception;
+package at.ac.tuwien.ifs.dbrepo.exception;
 
 import org.springframework.http.HttpStatus;
 import org.springframework.web.bind.annotation.ResponseStatus;
diff --git a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/RorNotFoundException.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/RorNotFoundException.java
similarity index 92%
rename from dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/RorNotFoundException.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/RorNotFoundException.java
index afee080b5e..e273a913a0 100644
--- a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/RorNotFoundException.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/RorNotFoundException.java
@@ -1,4 +1,4 @@
-package at.tuwien.exception;
+package at.ac.tuwien.ifs.dbrepo.exception;
 
 import org.springframework.http.HttpStatus;
 import org.springframework.web.bind.annotation.ResponseStatus;
diff --git a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/SearchServiceConnectionException.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/SearchServiceConnectionException.java
similarity index 93%
rename from dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/SearchServiceConnectionException.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/SearchServiceConnectionException.java
index d68185102a..3152cb9e9e 100644
--- a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/SearchServiceConnectionException.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/SearchServiceConnectionException.java
@@ -1,4 +1,4 @@
-package at.tuwien.exception;
+package at.ac.tuwien.ifs.dbrepo.exception;
 
 import org.springframework.http.HttpStatus;
 import org.springframework.web.bind.annotation.ResponseStatus;
diff --git a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/SearchServiceException.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/SearchServiceException.java
similarity index 92%
rename from dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/SearchServiceException.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/SearchServiceException.java
index aef3ae7f7c..ecfca56a01 100644
--- a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/SearchServiceException.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/SearchServiceException.java
@@ -1,4 +1,4 @@
-package at.tuwien.exception;
+package at.ac.tuwien.ifs.dbrepo.exception;
 
 import org.springframework.http.HttpStatus;
 import org.springframework.web.bind.annotation.ResponseStatus;
diff --git a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/SemanticEntityNotFoundException.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/SemanticEntityNotFoundException.java
similarity index 92%
rename from dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/SemanticEntityNotFoundException.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/SemanticEntityNotFoundException.java
index 83c2f07f57..cdf229106f 100644
--- a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/SemanticEntityNotFoundException.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/SemanticEntityNotFoundException.java
@@ -1,4 +1,4 @@
-package at.tuwien.exception;
+package at.ac.tuwien.ifs.dbrepo.exception;
 
 import org.springframework.http.HttpStatus;
 import org.springframework.web.bind.annotation.ResponseStatus;
diff --git a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/SortException.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/SortException.java
similarity index 91%
rename from dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/SortException.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/SortException.java
index f70f0fbef9..f79890e334 100644
--- a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/SortException.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/SortException.java
@@ -1,4 +1,4 @@
-package at.tuwien.exception;
+package at.ac.tuwien.ifs.dbrepo.exception;
 
 import org.springframework.http.HttpStatus;
 import org.springframework.web.bind.annotation.ResponseStatus;
diff --git a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/StorageNotFoundException.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/StorageNotFoundException.java
similarity index 92%
rename from dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/StorageNotFoundException.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/StorageNotFoundException.java
index bbb780ea91..7b5888ded8 100644
--- a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/StorageNotFoundException.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/StorageNotFoundException.java
@@ -1,4 +1,4 @@
-package at.tuwien.exception;
+package at.ac.tuwien.ifs.dbrepo.exception;
 
 import org.springframework.http.HttpStatus;
 import org.springframework.web.bind.annotation.ResponseStatus;
diff --git a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/StorageUnavailableException.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/StorageUnavailableException.java
similarity index 92%
rename from dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/StorageUnavailableException.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/StorageUnavailableException.java
index 08e49ada9e..c75e0a21ea 100644
--- a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/StorageUnavailableException.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/StorageUnavailableException.java
@@ -1,4 +1,4 @@
-package at.tuwien.exception;
+package at.ac.tuwien.ifs.dbrepo.exception;
 
 import org.springframework.http.HttpStatus;
 import org.springframework.web.bind.annotation.ResponseStatus;
diff --git a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/TableExistsException.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/TableExistsException.java
similarity index 92%
rename from dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/TableExistsException.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/TableExistsException.java
index 252c1b0fa6..5c28dfe3b4 100644
--- a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/TableExistsException.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/TableExistsException.java
@@ -1,4 +1,4 @@
-package at.tuwien.exception;
+package at.ac.tuwien.ifs.dbrepo.exception;
 
 import org.springframework.http.HttpStatus;
 import org.springframework.web.bind.annotation.ResponseStatus;
diff --git a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/TableMalformedException.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/TableMalformedException.java
similarity index 92%
rename from dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/TableMalformedException.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/TableMalformedException.java
index 0878f36070..baaa0e9231 100644
--- a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/TableMalformedException.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/TableMalformedException.java
@@ -1,4 +1,4 @@
-package at.tuwien.exception;
+package at.ac.tuwien.ifs.dbrepo.exception;
 
 import org.springframework.http.HttpStatus;
 import org.springframework.web.bind.annotation.ResponseStatus;
diff --git a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/TableNotFoundException.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/TableNotFoundException.java
similarity index 92%
rename from dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/TableNotFoundException.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/TableNotFoundException.java
index 5380be1e60..4ec9224f6d 100644
--- a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/TableNotFoundException.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/TableNotFoundException.java
@@ -1,4 +1,4 @@
-package at.tuwien.exception;
+package at.ac.tuwien.ifs.dbrepo.exception;
 
 import org.springframework.http.HttpStatus;
 import org.springframework.web.bind.annotation.ResponseStatus;
diff --git a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/TableSchemaException.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/TableSchemaException.java
similarity index 92%
rename from dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/TableSchemaException.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/TableSchemaException.java
index 539e39897e..48229595b5 100644
--- a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/TableSchemaException.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/TableSchemaException.java
@@ -1,4 +1,4 @@
-package at.tuwien.exception;
+package at.ac.tuwien.ifs.dbrepo.exception;
 
 import org.springframework.http.HttpStatus;
 import org.springframework.web.bind.annotation.ResponseStatus;
diff --git a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/UnitNotFoundException.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/UnitNotFoundException.java
similarity index 92%
rename from dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/UnitNotFoundException.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/UnitNotFoundException.java
index 1cc0308755..b52c8910bf 100644
--- a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/UnitNotFoundException.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/UnitNotFoundException.java
@@ -1,4 +1,4 @@
-package at.tuwien.exception;
+package at.ac.tuwien.ifs.dbrepo.exception;
 
 import org.springframework.http.HttpStatus;
 import org.springframework.web.bind.annotation.ResponseStatus;
diff --git a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/UriMalformedException.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/UriMalformedException.java
similarity index 92%
rename from dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/UriMalformedException.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/UriMalformedException.java
index 05d10c1323..6dfc31d2dd 100644
--- a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/UriMalformedException.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/UriMalformedException.java
@@ -1,4 +1,4 @@
-package at.tuwien.exception;
+package at.ac.tuwien.ifs.dbrepo.exception;
 
 import org.springframework.http.HttpStatus;
 import org.springframework.web.bind.annotation.ResponseStatus;
diff --git a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/UserExistsException.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/UserExistsException.java
similarity index 91%
rename from dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/UserExistsException.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/UserExistsException.java
index 712e79fa26..416e3bcb5a 100644
--- a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/UserExistsException.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/UserExistsException.java
@@ -1,4 +1,4 @@
-package at.tuwien.exception;
+package at.ac.tuwien.ifs.dbrepo.exception;
 
 import org.springframework.http.HttpStatus;
 import org.springframework.web.bind.annotation.ResponseStatus;
diff --git a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/UserNotFoundException.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/UserNotFoundException.java
similarity index 92%
rename from dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/UserNotFoundException.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/UserNotFoundException.java
index 1aa6adafec..b4d61532ab 100644
--- a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/UserNotFoundException.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/UserNotFoundException.java
@@ -1,4 +1,4 @@
-package at.tuwien.exception;
+package at.ac.tuwien.ifs.dbrepo.exception;
 
 import org.springframework.http.HttpStatus;
 import org.springframework.web.bind.annotation.ResponseStatus;
diff --git a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/ViewExistsException.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/ViewExistsException.java
similarity index 92%
rename from dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/ViewExistsException.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/ViewExistsException.java
index 265974db55..719e8aed74 100644
--- a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/ViewExistsException.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/ViewExistsException.java
@@ -1,4 +1,4 @@
-package at.tuwien.exception;
+package at.ac.tuwien.ifs.dbrepo.exception;
 
 import org.springframework.http.HttpStatus;
 import org.springframework.web.bind.annotation.ResponseStatus;
diff --git a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/ViewMalformedException.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/ViewMalformedException.java
similarity index 92%
rename from dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/ViewMalformedException.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/ViewMalformedException.java
index 0f8d5bef55..46255f0d8e 100644
--- a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/ViewMalformedException.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/ViewMalformedException.java
@@ -1,4 +1,4 @@
-package at.tuwien.exception;
+package at.ac.tuwien.ifs.dbrepo.exception;
 
 import org.springframework.http.HttpStatus;
 import org.springframework.web.bind.annotation.ResponseStatus;
diff --git a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/ViewNotFoundException.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/ViewNotFoundException.java
similarity index 92%
rename from dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/ViewNotFoundException.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/ViewNotFoundException.java
index 2c8cf52e0e..29a1a3c275 100644
--- a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/ViewNotFoundException.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/ViewNotFoundException.java
@@ -1,4 +1,4 @@
-package at.tuwien.exception;
+package at.ac.tuwien.ifs.dbrepo.exception;
 
 import org.springframework.http.HttpStatus;
 import org.springframework.web.bind.annotation.ResponseStatus;
diff --git a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/ViewSchemaException.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/ViewSchemaException.java
similarity index 91%
rename from dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/ViewSchemaException.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/ViewSchemaException.java
index 4761b6e964..480a735442 100644
--- a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/exception/ViewSchemaException.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/exception/ViewSchemaException.java
@@ -1,4 +1,4 @@
-package at.tuwien.exception;
+package at.ac.tuwien.ifs.dbrepo.exception;
 
 import org.springframework.http.HttpStatus;
 import org.springframework.web.bind.annotation.ResponseStatus;
diff --git a/dbrepo-metadata-service/test/src/main/java/at/tuwien/test/AbstractUnitTest.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/test/AbstractUnitTest.java
similarity index 98%
rename from dbrepo-metadata-service/test/src/main/java/at/tuwien/test/AbstractUnitTest.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/test/AbstractUnitTest.java
index 29223d6076..6c5dff507a 100644
--- a/dbrepo-metadata-service/test/src/main/java/at/tuwien/test/AbstractUnitTest.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/test/AbstractUnitTest.java
@@ -1,7 +1,7 @@
-package at.tuwien.test;
+package at.ac.tuwien.ifs.dbrepo.test;
 
-import at.tuwien.entities.database.AccessType;
-import at.tuwien.entities.identifier.IdentifierStatusType;
+import at.ac.tuwien.ifs.dbrepo.entity.database.AccessType;
+import at.ac.tuwien.ifs.dbrepo.entity.identifier.IdentifierStatusType;
 import org.springframework.test.context.TestPropertySource;
 
 import java.util.LinkedList;
diff --git a/dbrepo-metadata-service/test/src/main/java/at/tuwien/test/BaseTest.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/test/BaseTest.java
similarity index 98%
rename from dbrepo-metadata-service/test/src/main/java/at/tuwien/test/BaseTest.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/test/BaseTest.java
index 673aa7a6e2..d03cc8bd93 100644
--- a/dbrepo-metadata-service/test/src/main/java/at/tuwien/test/BaseTest.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/test/BaseTest.java
@@ -1,70 +1,70 @@
-package at.tuwien.test;
-
-import at.tuwien.ExportResourceDto;
-import at.tuwien.api.amqp.CreateVirtualHostDto;
-import at.tuwien.api.amqp.ExchangeDto;
-import at.tuwien.api.amqp.GrantVirtualHostPermissionsDto;
-import at.tuwien.api.amqp.QueueDto;
-import at.tuwien.api.auth.CreateUserDto;
-import at.tuwien.api.container.ContainerBriefDto;
-import at.tuwien.api.container.ContainerDto;
-import at.tuwien.api.container.image.*;
-import at.tuwien.api.database.*;
-import at.tuwien.api.database.query.*;
-import at.tuwien.api.database.table.*;
-import at.tuwien.api.database.table.columns.*;
-import at.tuwien.api.database.table.columns.concepts.*;
-import at.tuwien.api.database.table.constraints.ConstraintsDto;
-import at.tuwien.api.database.table.constraints.CreateTableConstraintsDto;
-import at.tuwien.api.database.table.constraints.foreign.*;
-import at.tuwien.api.database.table.constraints.primary.PrimaryKeyDto;
-import at.tuwien.api.database.table.constraints.unique.UniqueDto;
-import at.tuwien.api.datacite.DataCiteBody;
-import at.tuwien.api.datacite.DataCiteData;
-import at.tuwien.api.datacite.doi.DataCiteDoi;
-import at.tuwien.api.grafana.CreateDashboardDto;
-import at.tuwien.api.grafana.CreateDashboardResponseDto;
-import at.tuwien.api.identifier.*;
-import at.tuwien.api.keycloak.*;
-import at.tuwien.api.maintenance.BannerMessageCreateDto;
-import at.tuwien.api.maintenance.BannerMessageDto;
-import at.tuwien.api.maintenance.BannerMessageTypeDto;
-import at.tuwien.api.maintenance.BannerMessageUpdateDto;
-import at.tuwien.api.orcid.OrcidDto;
-import at.tuwien.api.orcid.activities.OrcidActivitiesSummaryDto;
-import at.tuwien.api.orcid.activities.employments.OrcidEmploymentsDto;
-import at.tuwien.api.orcid.activities.employments.affiliation.OrcidAffiliationGroupDto;
-import at.tuwien.api.orcid.activities.employments.affiliation.group.OrcidEmploymentSummaryDto;
-import at.tuwien.api.orcid.activities.employments.affiliation.group.summary.OrcidSummaryDto;
-import at.tuwien.api.orcid.activities.employments.affiliation.group.summary.organization.OrcidOrganizationDto;
-import at.tuwien.api.orcid.person.OrcidPersonDto;
-import at.tuwien.api.orcid.person.name.OrcidNameDto;
-import at.tuwien.api.orcid.person.name.OrcidValueDto;
-import at.tuwien.api.semantics.*;
-import at.tuwien.api.user.UserAttributesDto;
-import at.tuwien.api.user.*;
-import at.tuwien.api.user.internal.UpdateUserPasswordDto;
-import at.tuwien.entities.container.Container;
-import at.tuwien.entities.container.image.ContainerImage;
-import at.tuwien.entities.container.image.Operator;
-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.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;
+package at.ac.tuwien.ifs.dbrepo.test;
+
+import at.ac.tuwien.ifs.dbrepo.api.ExportResourceDto;
+import at.ac.tuwien.ifs.dbrepo.api.amqp.CreateVirtualHostDto;
+import at.ac.tuwien.ifs.dbrepo.api.amqp.ExchangeDto;
+import at.ac.tuwien.ifs.dbrepo.api.amqp.GrantVirtualHostPermissionsDto;
+import at.ac.tuwien.ifs.dbrepo.api.amqp.QueueDto;
+import at.ac.tuwien.ifs.dbrepo.api.auth.CreateUserDto;
+import at.ac.tuwien.ifs.dbrepo.api.container.ContainerBriefDto;
+import at.ac.tuwien.ifs.dbrepo.api.container.ContainerDto;
+import at.ac.tuwien.ifs.dbrepo.api.container.image.*;
+import at.ac.tuwien.ifs.dbrepo.api.database.*;
+import at.ac.tuwien.ifs.dbrepo.api.database.query.*;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.*;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.columns.*;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.columns.concepts.*;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.constraints.ConstraintsDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.constraints.CreateTableConstraintsDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.constraints.foreign.*;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.constraints.primary.PrimaryKeyDto;
+import at.ac.tuwien.ifs.dbrepo.api.database.table.constraints.unique.UniqueDto;
+import at.ac.tuwien.ifs.dbrepo.api.datacite.DataCiteBody;
+import at.ac.tuwien.ifs.dbrepo.api.datacite.DataCiteData;
+import at.ac.tuwien.ifs.dbrepo.api.datacite.doi.DataCiteDoi;
+import at.ac.tuwien.ifs.dbrepo.api.grafana.CreateDashboardDto;
+import at.ac.tuwien.ifs.dbrepo.api.grafana.CreateDashboardResponseDto;
+import at.ac.tuwien.ifs.dbrepo.api.identifier.*;
+import at.ac.tuwien.ifs.dbrepo.api.keycloak.*;
+import at.ac.tuwien.ifs.dbrepo.api.maintenance.BannerMessageCreateDto;
+import at.ac.tuwien.ifs.dbrepo.api.maintenance.BannerMessageDto;
+import at.ac.tuwien.ifs.dbrepo.api.maintenance.BannerMessageTypeDto;
+import at.ac.tuwien.ifs.dbrepo.api.maintenance.BannerMessageUpdateDto;
+import at.ac.tuwien.ifs.dbrepo.api.orcid.OrcidDto;
+import at.ac.tuwien.ifs.dbrepo.api.orcid.activities.OrcidActivitiesSummaryDto;
+import at.ac.tuwien.ifs.dbrepo.api.orcid.activities.employments.OrcidEmploymentsDto;
+import at.ac.tuwien.ifs.dbrepo.api.orcid.activities.employments.affiliation.OrcidAffiliationGroupDto;
+import at.ac.tuwien.ifs.dbrepo.api.orcid.activities.employments.affiliation.group.OrcidEmploymentSummaryDto;
+import at.ac.tuwien.ifs.dbrepo.api.orcid.activities.employments.affiliation.group.summary.OrcidSummaryDto;
+import at.ac.tuwien.ifs.dbrepo.api.orcid.activities.employments.affiliation.group.summary.organization.OrcidOrganizationDto;
+import at.ac.tuwien.ifs.dbrepo.api.orcid.person.OrcidPersonDto;
+import at.ac.tuwien.ifs.dbrepo.api.orcid.person.name.OrcidNameDto;
+import at.ac.tuwien.ifs.dbrepo.api.orcid.person.name.OrcidValueDto;
+import at.ac.tuwien.ifs.dbrepo.api.semantics.*;
+import at.ac.tuwien.ifs.dbrepo.api.user.UserAttributesDto;
+import at.ac.tuwien.ifs.dbrepo.api.user.*;
+import at.ac.tuwien.ifs.dbrepo.api.user.internal.UpdateUserPasswordDto;
+import at.ac.tuwien.ifs.dbrepo.entity.container.Container;
+import at.ac.tuwien.ifs.dbrepo.entity.container.image.ContainerImage;
+import at.ac.tuwien.ifs.dbrepo.entity.container.image.Operator;
+import at.ac.tuwien.ifs.dbrepo.entity.database.*;
+import at.ac.tuwien.ifs.dbrepo.entity.database.table.Table;
+import at.ac.tuwien.ifs.dbrepo.entity.database.table.columns.TableColumn;
+import at.ac.tuwien.ifs.dbrepo.entity.database.table.columns.TableColumnConcept;
+import at.ac.tuwien.ifs.dbrepo.entity.database.table.columns.TableColumnType;
+import at.ac.tuwien.ifs.dbrepo.entity.database.table.columns.TableColumnUnit;
+import at.ac.tuwien.ifs.dbrepo.entity.database.table.constraints.Constraints;
+import at.ac.tuwien.ifs.dbrepo.entity.database.table.constraints.foreignKey.ForeignKey;
+import at.ac.tuwien.ifs.dbrepo.entity.database.table.constraints.foreignKey.ForeignKeyReference;
+import at.ac.tuwien.ifs.dbrepo.entity.database.table.constraints.foreignKey.ReferenceType;
+import at.ac.tuwien.ifs.dbrepo.entity.database.table.constraints.primaryKey.PrimaryKey;
+import at.ac.tuwien.ifs.dbrepo.entity.database.table.constraints.unique.Unique;
+import at.ac.tuwien.ifs.dbrepo.entity.identifier.*;
+import at.ac.tuwien.ifs.dbrepo.entity.maintenance.BannerMessage;
+import at.ac.tuwien.ifs.dbrepo.entity.maintenance.BannerMessageType;
+import at.ac.tuwien.ifs.dbrepo.entity.semantics.Ontology;
+import at.ac.tuwien.ifs.dbrepo.entity.user.User;
+import at.ac.tuwien.ifs.dbrepo.test.utils.ArrayUtils;
 import org.springframework.core.io.InputStreamResource;
 import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
 import org.springframework.security.core.GrantedAuthority;
@@ -649,7 +649,7 @@ public abstract class BaseTest {
             .authorities(AUTHORITY_DEFAULT_RESEARCHER_AUTHORITIES)
             .build();
 
-    public static final at.tuwien.api.amqp.UserDetailsDto USER_2_DETAILS_DTO = at.tuwien.api.amqp.UserDetailsDto.builder()
+    public static final at.ac.tuwien.ifs.dbrepo.api.amqp.UserDetailsDto USER_2_DETAILS_DTO = at.ac.tuwien.ifs.dbrepo.api.amqp.UserDetailsDto.builder()
             .name(USER_2_USERNAME)
             .tags(new String[]{})
             .build();
@@ -723,7 +723,7 @@ public abstract class BaseTest {
     public static final Principal USER_3_PRINCIPAL = new UsernamePasswordAuthenticationToken(USER_3_DETAILS,
             USER_3_PASSWORD, USER_3_DETAILS.getAuthorities());
 
-    public static final at.tuwien.api.amqp.UserDetailsDto USER_3_DETAILS_DTO = at.tuwien.api.amqp.UserDetailsDto.builder()
+    public static final at.ac.tuwien.ifs.dbrepo.api.amqp.UserDetailsDto USER_3_DETAILS_DTO = at.ac.tuwien.ifs.dbrepo.api.amqp.UserDetailsDto.builder()
             .name(USER_3_USERNAME)
             .tags(new String[]{})
             .build();
@@ -1191,7 +1191,7 @@ public abstract class BaseTest {
             .cid(CONTAINER_1_ID)
             .build();
 
-    public static final at.tuwien.api.database.internal.CreateDatabaseDto DATABASE_1_CREATE_INTERNAL = at.tuwien.api.database.internal.CreateDatabaseDto.builder()
+    public static final at.ac.tuwien.ifs.dbrepo.api.database.internal.CreateDatabaseDto DATABASE_1_CREATE_INTERNAL = at.ac.tuwien.ifs.dbrepo.api.database.internal.CreateDatabaseDto.builder()
             .internalName(DATABASE_1_INTERNALNAME)
             .containerId(CONTAINER_1_ID)
             .username(USER_1_USERNAME)
@@ -2183,7 +2183,7 @@ public abstract class BaseTest {
             .constraints(TABLE_4_CONSTRAINTS_CREATE_DTO)
             .build();
 
-    public static final at.tuwien.api.database.table.internal.TableCreateDto TABLE_4_CREATE_INTERNAL_DTO = at.tuwien.api.database.table.internal.TableCreateDto.builder()
+    public static final at.ac.tuwien.ifs.dbrepo.api.database.table.internal.TableCreateDto TABLE_4_CREATE_INTERNAL_DTO = at.ac.tuwien.ifs.dbrepo.api.database.table.internal.TableCreateDto.builder()
             .name(TABLE_4_NAME)
             .description(TABLE_4_DESCRIPTION)
             .columns(TABLE_4_COLUMNS_CREATE_DTO)
@@ -3090,14 +3090,14 @@ public abstract class BaseTest {
             .constraints(TABLE_1_CONSTRAINTS_CREATE_DTO)
             .build();
 
-    public static final at.tuwien.api.database.table.internal.TableCreateDto TABLE_1_CREATE_INTERNAL_DTO = at.tuwien.api.database.table.internal.TableCreateDto.builder()
+    public static final at.ac.tuwien.ifs.dbrepo.api.database.table.internal.TableCreateDto TABLE_1_CREATE_INTERNAL_DTO = at.ac.tuwien.ifs.dbrepo.api.database.table.internal.TableCreateDto.builder()
             .name(TABLE_1_NAME)
             .description(TABLE_1_DESCRIPTION)
             .columns(TABLE_1_COLUMNS_CREATE_DTO)
             .constraints(TABLE_1_CONSTRAINTS_CREATE_DTO)
             .build();
 
-    public static final at.tuwien.api.database.table.internal.TableCreateDto TABLE_1_CREATE_INTERNAL_INVALID_DTO = at.tuwien.api.database.table.internal.TableCreateDto.builder()
+    public static final at.ac.tuwien.ifs.dbrepo.api.database.table.internal.TableCreateDto TABLE_1_CREATE_INTERNAL_INVALID_DTO = at.ac.tuwien.ifs.dbrepo.api.database.table.internal.TableCreateDto.builder()
             .name(TABLE_1_NAME)
             .description(TABLE_1_DESCRIPTION)
             .columns(TABLE_1_COLUMNS_CREATE_DTO)
@@ -7396,14 +7396,14 @@ public abstract class BaseTest {
             .accesses(new LinkedList<>())
             .identifiers(new LinkedList<>())
             .build();
-    
+
     public static final CreateDashboardDto DATABASE_1_CREATE_DASHBOARD_DTO = CreateDashboardDto.builder()
             .databaseName(DATABASE_1_INTERNALNAME)
             .isPublic(DATABASE_1_PUBLIC)
             .isSchemaPublic(DATABASE_1_SCHEMA_PUBLIC)
             .ownerUsername(USER_1_USERNAME)
             .build();
-    
+
     public static final CreateDashboardResponseDto DATABASE_1_CREATE_DASHBOARD_RESPONSE_DTO = CreateDashboardResponseDto.builder()
             .uid(DATABASE_1_DASHBOARD_UID)
             .build();
diff --git a/dbrepo-metadata-service/test/src/main/java/at/tuwien/test/dto/LocaleDto.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/test/dto/LocaleDto.java
similarity index 88%
rename from dbrepo-metadata-service/test/src/main/java/at/tuwien/test/dto/LocaleDto.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/test/dto/LocaleDto.java
index d14ad880d9..4c0cbc2e75 100644
--- a/dbrepo-metadata-service/test/src/main/java/at/tuwien/test/dto/LocaleDto.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/test/dto/LocaleDto.java
@@ -1,4 +1,4 @@
-package at.tuwien.test.dto;
+package at.ac.tuwien.ifs.dbrepo.test.dto;
 
 import lombok.*;
 
diff --git a/dbrepo-metadata-service/test/pom.xml b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/test/pom.xml
similarity index 100%
rename from dbrepo-metadata-service/test/pom.xml
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/test/pom.xml
diff --git a/dbrepo-metadata-service/test/src/main/java/at/tuwien/test/utils/ArrayUtils.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/test/utils/ArrayUtils.java
similarity index 89%
rename from dbrepo-metadata-service/test/src/main/java/at/tuwien/test/utils/ArrayUtils.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/test/utils/ArrayUtils.java
index 50dff12d85..5a45c0b02d 100644
--- a/dbrepo-metadata-service/test/src/main/java/at/tuwien/test/utils/ArrayUtils.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/test/utils/ArrayUtils.java
@@ -1,4 +1,4 @@
-package at.tuwien.test.utils;
+package at.ac.tuwien.ifs.dbrepo.test.utils;
 
 import java.util.Arrays;
 import java.util.LinkedList;
diff --git a/dbrepo-metadata-service/test/src/main/java/at/tuwien/test/utils/EndpointUtils.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/test/utils/EndpointUtils.java
similarity index 95%
rename from dbrepo-metadata-service/test/src/main/java/at/tuwien/test/utils/EndpointUtils.java
rename to lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/test/utils/EndpointUtils.java
index a2101bf3ab..04e9f4149f 100644
--- a/dbrepo-metadata-service/test/src/main/java/at/tuwien/test/utils/EndpointUtils.java
+++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/test/utils/EndpointUtils.java
@@ -1,6 +1,6 @@
-package at.tuwien.test.utils;
+package at.ac.tuwien.ifs.dbrepo.test.utils;
 
-import at.tuwien.test.dto.LocaleDto;
+import at.ac.tuwien.ifs.dbrepo.test.dto.LocaleDto;
 import com.fasterxml.jackson.databind.DeserializationFeature;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import org.springframework.beans.factory.config.BeanDefinition;
-- 
GitLab