From 9b181d0f06a1d5bb5a80eb398a9b700e88d67ec3 Mon Sep 17 00:00:00 2001
From: Martin Weise <martin.weise@tuwien.ac.at>
Date: Thu, 11 Apr 2024 09:03:18 +0200
Subject: [PATCH] Bumped newer docs version

---
 .docs/overrides/main.html                     |   11 -
 .gitignore                                    |    5 +
 .../java/io/swagger/client/ApiCallback.java   |   61 -
 .../java/io/swagger/client/ApiClient.java     | 1206 -----------------
 .../java/io/swagger/client/ApiException.java  |   89 --
 .../java/io/swagger/client/ApiResponse.java   |   58 -
 .../java/io/swagger/client/Configuration.java |   37 -
 .../client/GzipRequestInterceptor.java        |   80 --
 .../src/main/java/io/swagger/client/JSON.java |  363 -----
 .../src/main/java/io/swagger/client/Pair.java |   50 -
 .../swagger/client/ProgressRequestBody.java   |   76 --
 .../swagger/client/ProgressResponseBody.java  |   75 -
 .../java/io/swagger/client/StringUtil.java    |   53 -
 .../swagger/client/api/AccessEndpointApi.java |  617 ---------
 .../client/api/ContainerEndpointApi.java      |  683 ----------
 .../client/api/DatabaseEndpointApi.java       |  716 ----------
 .../swagger/client/api/ExportEndpointApi.java |  207 ---
 .../swagger/client/api/ImageEndpointApi.java  |  683 ----------
 .../client/api/LicenseEndpointApi.java        |  170 ---
 .../swagger/client/api/QueryEndpointApi.java  |  544 --------
 .../swagger/client/api/StoreEndpointApi.java  |  484 -------
 .../client/api/TableColumnEndpointApi.java    |  218 ---
 .../client/api/TableDataEndpointApi.java      |  996 --------------
 .../swagger/client/api/TableEndpointApi.java  |  617 ---------
 .../client/api/TableHistoryEndpointApi.java   |  343 -----
 .../swagger/client/api/ViewEndpointApi.java   |  777 -----------
 .../io/swagger/client/auth/ApiKeyAuth.java    |   73 -
 .../swagger/client/auth/Authentication.java   |   28 -
 .../io/swagger/client/auth/HttpBasicAuth.java |   53 -
 .../java/io/swagger/client/auth/OAuth.java    |   37 -
 .../io/swagger/client/auth/OAuthFlow.java     |   17 -
 .../io/swagger/client/model/ApiErrorDto.java  |  244 ----
 .../swagger/client/model/ColumnCreateDto.java |  355 -----
 .../io/swagger/client/model/ColumnDto.java    |  474 -------
 .../model/ColumnSemanticsUpdateDto.java       |  114 --
 .../io/swagger/client/model/ConceptDto.java   |  138 --
 .../client/model/ContainerBriefDto.java       |  208 ---
 .../client/model/ContainerChangeDto.java      |  132 --
 .../model/ContainerCreateRequestDto.java      |  137 --
 .../io/swagger/client/model/ContainerDto.java |  345 -----
 .../io/swagger/client/model/CreatorDto.java   |  230 ----
 .../client/model/DatabaseAccessDto.java       |  181 ---
 .../client/model/DatabaseBriefDto.java        |  271 ----
 .../client/model/DatabaseCreateDto.java       |  109 --
 .../io/swagger/client/model/DatabaseDto.java  |  392 ------
 .../client/model/DatabaseGiveAccessDto.java   |  156 ---
 .../client/model/DatabaseModifyAccessDto.java |  133 --
 .../client/model/DatabaseTransferDto.java     |   87 --
 .../client/model/ExecuteStatementDto.java     |   90 --
 .../client/model/GrantedAuthorityDto.java     |   91 --
 .../swagger/client/model/IdentifierDto.java   |  968 -------------
 .../swagger/client/model/ImageBriefDto.java   |  137 --
 .../swagger/client/model/ImageChangeDto.java  |  196 ---
 .../swagger/client/model/ImageCreateDto.java  |  240 ----
 .../io/swagger/client/model/ImageDateDto.java |  207 ---
 .../io/swagger/client/model/ImageDto.java     |  362 -----
 .../swagger/client/model/ImageEnvItemDto.java |  203 ---
 .../io/swagger/client/model/ImportDto.java    |  230 ----
 .../io/swagger/client/model/LicenseDto.java   |  114 --
 .../swagger/client/model/QueryBriefDto.java   |  410 ------
 .../io/swagger/client/model/QueryDto.java     |  433 ------
 .../swagger/client/model/QueryResultDto.java  |  145 --
 .../client/model/RelatedIdentifierDto.java    |  337 -----
 .../swagger/client/model/TableBriefDto.java   |  184 ---
 .../swagger/client/model/TableCreateDto.java  |  145 --
 .../client/model/TableCsvDeleteDto.java       |   99 --
 .../io/swagger/client/model/TableCsvDto.java  |   99 --
 .../client/model/TableCsvUpdateDto.java       |  127 --
 .../io/swagger/client/model/TableDto.java     |  285 ----
 .../swagger/client/model/TableHistoryDto.java |  138 --
 .../java/io/swagger/client/model/UnitDto.java |  138 --
 .../io/swagger/client/model/UserBriefDto.java |  328 -----
 .../java/io/swagger/client/model/UserDto.java |  477 -------
 .../io/swagger/client/model/ViewBriefDto.java |  299 ----
 .../swagger/client/model/ViewCreateDto.java   |  137 --
 .../java/io/swagger/client/model/ViewDto.java |  324 -----
 dbrepo-search-service/coverage.txt            |   66 -
 mkdocs.yml                                    |    9 +
 requirements.txt                              |    7 +-
 79 files changed, 18 insertions(+), 20140 deletions(-)
 delete mode 100644 .docs/overrides/main.html
 delete mode 100644 .java-stubs/src/main/java/io/swagger/client/ApiCallback.java
 delete mode 100644 .java-stubs/src/main/java/io/swagger/client/ApiClient.java
 delete mode 100644 .java-stubs/src/main/java/io/swagger/client/ApiException.java
 delete mode 100644 .java-stubs/src/main/java/io/swagger/client/ApiResponse.java
 delete mode 100644 .java-stubs/src/main/java/io/swagger/client/Configuration.java
 delete mode 100644 .java-stubs/src/main/java/io/swagger/client/GzipRequestInterceptor.java
 delete mode 100644 .java-stubs/src/main/java/io/swagger/client/JSON.java
 delete mode 100644 .java-stubs/src/main/java/io/swagger/client/Pair.java
 delete mode 100644 .java-stubs/src/main/java/io/swagger/client/ProgressRequestBody.java
 delete mode 100644 .java-stubs/src/main/java/io/swagger/client/ProgressResponseBody.java
 delete mode 100644 .java-stubs/src/main/java/io/swagger/client/StringUtil.java
 delete mode 100644 .java-stubs/src/main/java/io/swagger/client/api/AccessEndpointApi.java
 delete mode 100644 .java-stubs/src/main/java/io/swagger/client/api/ContainerEndpointApi.java
 delete mode 100644 .java-stubs/src/main/java/io/swagger/client/api/DatabaseEndpointApi.java
 delete mode 100644 .java-stubs/src/main/java/io/swagger/client/api/ExportEndpointApi.java
 delete mode 100644 .java-stubs/src/main/java/io/swagger/client/api/ImageEndpointApi.java
 delete mode 100644 .java-stubs/src/main/java/io/swagger/client/api/LicenseEndpointApi.java
 delete mode 100644 .java-stubs/src/main/java/io/swagger/client/api/QueryEndpointApi.java
 delete mode 100644 .java-stubs/src/main/java/io/swagger/client/api/StoreEndpointApi.java
 delete mode 100644 .java-stubs/src/main/java/io/swagger/client/api/TableColumnEndpointApi.java
 delete mode 100644 .java-stubs/src/main/java/io/swagger/client/api/TableDataEndpointApi.java
 delete mode 100644 .java-stubs/src/main/java/io/swagger/client/api/TableEndpointApi.java
 delete mode 100644 .java-stubs/src/main/java/io/swagger/client/api/TableHistoryEndpointApi.java
 delete mode 100644 .java-stubs/src/main/java/io/swagger/client/api/ViewEndpointApi.java
 delete mode 100644 .java-stubs/src/main/java/io/swagger/client/auth/ApiKeyAuth.java
 delete mode 100644 .java-stubs/src/main/java/io/swagger/client/auth/Authentication.java
 delete mode 100644 .java-stubs/src/main/java/io/swagger/client/auth/HttpBasicAuth.java
 delete mode 100644 .java-stubs/src/main/java/io/swagger/client/auth/OAuth.java
 delete mode 100644 .java-stubs/src/main/java/io/swagger/client/auth/OAuthFlow.java
 delete mode 100644 .java-stubs/src/main/java/io/swagger/client/model/ApiErrorDto.java
 delete mode 100644 .java-stubs/src/main/java/io/swagger/client/model/ColumnCreateDto.java
 delete mode 100644 .java-stubs/src/main/java/io/swagger/client/model/ColumnDto.java
 delete mode 100644 .java-stubs/src/main/java/io/swagger/client/model/ColumnSemanticsUpdateDto.java
 delete mode 100644 .java-stubs/src/main/java/io/swagger/client/model/ConceptDto.java
 delete mode 100644 .java-stubs/src/main/java/io/swagger/client/model/ContainerBriefDto.java
 delete mode 100644 .java-stubs/src/main/java/io/swagger/client/model/ContainerChangeDto.java
 delete mode 100644 .java-stubs/src/main/java/io/swagger/client/model/ContainerCreateRequestDto.java
 delete mode 100644 .java-stubs/src/main/java/io/swagger/client/model/ContainerDto.java
 delete mode 100644 .java-stubs/src/main/java/io/swagger/client/model/CreatorDto.java
 delete mode 100644 .java-stubs/src/main/java/io/swagger/client/model/DatabaseAccessDto.java
 delete mode 100644 .java-stubs/src/main/java/io/swagger/client/model/DatabaseBriefDto.java
 delete mode 100644 .java-stubs/src/main/java/io/swagger/client/model/DatabaseCreateDto.java
 delete mode 100644 .java-stubs/src/main/java/io/swagger/client/model/DatabaseDto.java
 delete mode 100644 .java-stubs/src/main/java/io/swagger/client/model/DatabaseGiveAccessDto.java
 delete mode 100644 .java-stubs/src/main/java/io/swagger/client/model/DatabaseModifyAccessDto.java
 delete mode 100644 .java-stubs/src/main/java/io/swagger/client/model/DatabaseTransferDto.java
 delete mode 100644 .java-stubs/src/main/java/io/swagger/client/model/ExecuteStatementDto.java
 delete mode 100644 .java-stubs/src/main/java/io/swagger/client/model/GrantedAuthorityDto.java
 delete mode 100644 .java-stubs/src/main/java/io/swagger/client/model/IdentifierDto.java
 delete mode 100644 .java-stubs/src/main/java/io/swagger/client/model/ImageBriefDto.java
 delete mode 100644 .java-stubs/src/main/java/io/swagger/client/model/ImageChangeDto.java
 delete mode 100644 .java-stubs/src/main/java/io/swagger/client/model/ImageCreateDto.java
 delete mode 100644 .java-stubs/src/main/java/io/swagger/client/model/ImageDateDto.java
 delete mode 100644 .java-stubs/src/main/java/io/swagger/client/model/ImageDto.java
 delete mode 100644 .java-stubs/src/main/java/io/swagger/client/model/ImageEnvItemDto.java
 delete mode 100644 .java-stubs/src/main/java/io/swagger/client/model/ImportDto.java
 delete mode 100644 .java-stubs/src/main/java/io/swagger/client/model/LicenseDto.java
 delete mode 100644 .java-stubs/src/main/java/io/swagger/client/model/QueryBriefDto.java
 delete mode 100644 .java-stubs/src/main/java/io/swagger/client/model/QueryDto.java
 delete mode 100644 .java-stubs/src/main/java/io/swagger/client/model/QueryResultDto.java
 delete mode 100644 .java-stubs/src/main/java/io/swagger/client/model/RelatedIdentifierDto.java
 delete mode 100644 .java-stubs/src/main/java/io/swagger/client/model/TableBriefDto.java
 delete mode 100644 .java-stubs/src/main/java/io/swagger/client/model/TableCreateDto.java
 delete mode 100644 .java-stubs/src/main/java/io/swagger/client/model/TableCsvDeleteDto.java
 delete mode 100644 .java-stubs/src/main/java/io/swagger/client/model/TableCsvDto.java
 delete mode 100644 .java-stubs/src/main/java/io/swagger/client/model/TableCsvUpdateDto.java
 delete mode 100644 .java-stubs/src/main/java/io/swagger/client/model/TableDto.java
 delete mode 100644 .java-stubs/src/main/java/io/swagger/client/model/TableHistoryDto.java
 delete mode 100644 .java-stubs/src/main/java/io/swagger/client/model/UnitDto.java
 delete mode 100644 .java-stubs/src/main/java/io/swagger/client/model/UserBriefDto.java
 delete mode 100644 .java-stubs/src/main/java/io/swagger/client/model/UserDto.java
 delete mode 100644 .java-stubs/src/main/java/io/swagger/client/model/ViewBriefDto.java
 delete mode 100644 .java-stubs/src/main/java/io/swagger/client/model/ViewCreateDto.java
 delete mode 100644 .java-stubs/src/main/java/io/swagger/client/model/ViewDto.java
 delete mode 100644 dbrepo-search-service/coverage.txt

diff --git a/.docs/overrides/main.html b/.docs/overrides/main.html
deleted file mode 100644
index 9f9a6daf6f..0000000000
--- a/.docs/overrides/main.html
+++ /dev/null
@@ -1,11 +0,0 @@
-{% extends "base.html" %}
-
-{% block announce %}
-<label for="version">Version</label>
-<select style="margin-left:8px;" id="version" name="version" onchange="switchVersion(this.options[this.selectedIndex].value)">
-    <option value="latest">latest</option>
-    <option value="1.4.1">1.4.1</option>
-    <option value="1.4.0">1.4.0</option>
-    <option value="1.3.0">1.3.0</option>
-</select>
-{% endblock %}
diff --git a/.gitignore b/.gitignore
index 0f101110ab..0e8c9fc928 100644
--- a/.gitignore
+++ b/.gitignore
@@ -8,6 +8,7 @@ target/
 ready
 schema.xsd
 swagger/
+final/
 
 # docs
 .docs/.swagger/dist/
@@ -47,6 +48,9 @@ fda-ui/
 # Generated
 ready
 
+# newer
+lib/
+
 # crt
 *.crt
 *.key
@@ -54,6 +58,7 @@ ready
 
 # Environment
 .env
+venv/
 
 # X509
 root.crt
diff --git a/.java-stubs/src/main/java/io/swagger/client/ApiCallback.java b/.java-stubs/src/main/java/io/swagger/client/ApiCallback.java
deleted file mode 100644
index bbee95baf9..0000000000
--- a/.java-stubs/src/main/java/io/swagger/client/ApiCallback.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * Database Repository Container Service API
- * Service that manages the containers
- *
- * OpenAPI spec version: 1.1.0-alpha
- * Contact: andreas.rauber@tuwien.ac.at
- *
- * NOTE: This class is auto generated by the swagger code generator program.
- * https://github.com/swagger-api/swagger-codegen.git
- * Do not edit the class manually.
- */
-
-package io.swagger.client;
-
-import java.io.IOException;
-
-import java.util.Map;
-import java.util.List;
-
-/**
- * Callback for asynchronous API call.
- *
- * @param <T> The return type
- */
-public interface ApiCallback<T> {
-    /**
-     * This is called when the API call fails.
-     *
-     * @param e The exception causing the failure
-     * @param statusCode Status code of the response if available, otherwise it would be 0
-     * @param responseHeaders Headers of the response if available, otherwise it would be null
-     */
-    void onFailure(ApiException e, int statusCode, Map<String, List<String>> responseHeaders);
-
-    /**
-     * This is called when the API call succeeded.
-     *
-     * @param result The result deserialized from response
-     * @param statusCode Status code of the response
-     * @param responseHeaders Headers of the response
-     */
-    void onSuccess(T result, int statusCode, Map<String, List<String>> responseHeaders);
-
-    /**
-     * This is called when the API upload processing.
-     *
-     * @param bytesWritten bytes Written
-     * @param contentLength content length of request body
-     * @param done write end
-     */
-    void onUploadProgress(long bytesWritten, long contentLength, boolean done);
-
-    /**
-     * This is called when the API downlond processing.
-     *
-     * @param bytesRead bytes Read
-     * @param contentLength content lenngth of the response
-     * @param done Read end
-     */
-    void onDownloadProgress(long bytesRead, long contentLength, boolean done);
-}
diff --git a/.java-stubs/src/main/java/io/swagger/client/ApiClient.java b/.java-stubs/src/main/java/io/swagger/client/ApiClient.java
deleted file mode 100644
index 84cb28877b..0000000000
--- a/.java-stubs/src/main/java/io/swagger/client/ApiClient.java
+++ /dev/null
@@ -1,1206 +0,0 @@
-/*
- * Database Repository Container Service API
- * Service that manages the containers
- *
- * OpenAPI spec version: 1.1.0-alpha
- * Contact: andreas.rauber@tuwien.ac.at
- *
- * NOTE: This class is auto generated by the swagger code generator program.
- * https://github.com/swagger-api/swagger-codegen.git
- * Do not edit the class manually.
- */
-
-package io.swagger.client;
-
-import com.squareup.okhttp.*;
-import com.squareup.okhttp.internal.http.HttpMethod;
-import com.squareup.okhttp.logging.HttpLoggingInterceptor;
-import com.squareup.okhttp.logging.HttpLoggingInterceptor.Level;
-import okio.BufferedSink;
-import okio.Okio;
-import org.threeten.bp.LocalDate;
-import org.threeten.bp.OffsetDateTime;
-import org.threeten.bp.format.DateTimeFormatter;
-
-import javax.net.ssl.*;
-import java.io.File;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.UnsupportedEncodingException;
-import java.nio.file.Files;
-import java.nio.file.Paths;
-import java.lang.reflect.Type;
-import java.net.URLConnection;
-import java.net.URLEncoder;
-import java.security.GeneralSecurityException;
-import java.security.KeyStore;
-import java.security.SecureRandom;
-import java.security.cert.Certificate;
-import java.security.cert.CertificateException;
-import java.security.cert.CertificateFactory;
-import java.security.cert.X509Certificate;
-import java.text.DateFormat;
-import java.util.*;
-import java.util.Map.Entry;
-import java.util.concurrent.TimeUnit;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-import io.swagger.client.auth.Authentication;
-import io.swagger.client.auth.HttpBasicAuth;
-import io.swagger.client.auth.ApiKeyAuth;
-import io.swagger.client.auth.OAuth;
-
-public class ApiClient {
-
-    private String basePath = "http://localhost:9091";
-    private boolean debugging = false;
-    private Map<String, String> defaultHeaderMap = new HashMap<String, String>();
-    private String tempFolderPath = null;
-
-    private Map<String, Authentication> authentications;
-
-    private DateFormat dateFormat;
-    private DateFormat datetimeFormat;
-    private boolean lenientDatetimeFormat;
-    private int dateLength;
-
-    private InputStream sslCaCert;
-    private boolean verifyingSsl;
-    private KeyManager[] keyManagers;
-
-    private OkHttpClient httpClient;
-    private JSON json;
-
-    private HttpLoggingInterceptor loggingInterceptor;
-
-    /*
-     * Constructor for ApiClient
-     */
-    public ApiClient() {
-        httpClient = new OkHttpClient();
-
-
-        verifyingSsl = true;
-
-        json = new JSON();
-
-        // Set default User-Agent.
-        setUserAgent("Swagger-Codegen/1.0.0/java");
-
-        // Setup authentications (key: authentication name, value: authentication).
-        authentications = new HashMap<String, Authentication>();
-        authentications.put("bearerAuth", new OAuth());
-        // Prevent the authentications from being modified.
-        authentications = Collections.unmodifiableMap(authentications);
-    }
-
-    /**
-     * Get base path
-     *
-     * @return Baes path
-     */
-    public String getBasePath() {
-        return basePath;
-    }
-
-    /**
-     * Set base path
-     *
-     * @param basePath Base path of the URL (e.g http://localhost:9091
-     * @return An instance of OkHttpClient
-     */
-    public ApiClient setBasePath(String basePath) {
-        this.basePath = basePath;
-        return this;
-    }
-
-    /**
-     * Get HTTP client
-     *
-     * @return An instance of OkHttpClient
-     */
-    public OkHttpClient getHttpClient() {
-        return httpClient;
-    }
-
-    /**
-     * Set HTTP client
-     *
-     * @param httpClient An instance of OkHttpClient
-     * @return Api Client
-     */
-    public ApiClient setHttpClient(OkHttpClient httpClient) {
-        this.httpClient = httpClient;
-        return this;
-    }
-
-    /**
-     * Get JSON
-     *
-     * @return JSON object
-     */
-    public JSON getJSON() {
-        return json;
-    }
-
-    /**
-     * Set JSON
-     *
-     * @param json JSON object
-     * @return Api client
-     */
-    public ApiClient setJSON(JSON json) {
-        this.json = json;
-        return this;
-    }
-
-    /**
-     * True if isVerifyingSsl flag is on
-     *
-     * @return True if isVerifySsl flag is on
-     */
-    public boolean isVerifyingSsl() {
-        return verifyingSsl;
-    }
-
-    /**
-     * Configure whether to verify certificate and hostname when making https requests.
-     * Default to true.
-     * NOTE: Do NOT set to false in production code, otherwise you would face multiple types of cryptographic attacks.
-     *
-     * @param verifyingSsl True to verify TLS/SSL connection
-     * @return ApiClient
-     */
-    public ApiClient setVerifyingSsl(boolean verifyingSsl) {
-        this.verifyingSsl = verifyingSsl;
-        applySslSettings();
-        return this;
-    }
-
-    /**
-     * Get SSL CA cert.
-     *
-     * @return Input stream to the SSL CA cert
-     */
-    public InputStream getSslCaCert() {
-        return sslCaCert;
-    }
-
-    /**
-     * Configure the CA certificate to be trusted when making https requests.
-     * Use null to reset to default.
-     *
-     * @param sslCaCert input stream for SSL CA cert
-     * @return ApiClient
-     */
-    public ApiClient setSslCaCert(InputStream sslCaCert) {
-        this.sslCaCert = sslCaCert;
-        applySslSettings();
-        return this;
-    }
-
-    public KeyManager[] getKeyManagers() {
-        return keyManagers;
-    }
-
-    /**
-     * Configure client keys to use for authorization in an SSL session.
-     * Use null to reset to default.
-     *
-     * @param managers The KeyManagers to use
-     * @return ApiClient
-     */
-    public ApiClient setKeyManagers(KeyManager[] managers) {
-        this.keyManagers = managers;
-        applySslSettings();
-        return this;
-    }
-
-    public DateFormat getDateFormat() {
-        return dateFormat;
-    }
-
-    public ApiClient setDateFormat(DateFormat dateFormat) {
-        this.json.setDateFormat(dateFormat);
-        return this;
-    }
-
-    public ApiClient setSqlDateFormat(DateFormat dateFormat) {
-        this.json.setSqlDateFormat(dateFormat);
-        return this;
-    }
-
-    public ApiClient setOffsetDateTimeFormat(DateTimeFormatter dateFormat) {
-        this.json.setOffsetDateTimeFormat(dateFormat);
-        return this;
-    }
-
-    public ApiClient setLocalDateFormat(DateTimeFormatter dateFormat) {
-        this.json.setLocalDateFormat(dateFormat);
-        return this;
-    }
-
-    public ApiClient setLenientOnJson(boolean lenientOnJson) {
-        this.json.setLenientOnJson(lenientOnJson);
-        return this;
-    }
-
-    /**
-     * Get authentications (key: authentication name, value: authentication).
-     *
-     * @return Map of authentication objects
-     */
-    public Map<String, Authentication> getAuthentications() {
-        return authentications;
-    }
-
-    /**
-     * Get authentication for the given name.
-     *
-     * @param authName The authentication name
-     * @return The authentication, null if not found
-     */
-    public Authentication getAuthentication(String authName) {
-        return authentications.get(authName);
-    }
-
-    /**
-     * Helper method to set username for the first HTTP basic authentication.
-     *
-     * @param username Username
-     */
-    public void setUsername(String username) {
-        for (Authentication auth : authentications.values()) {
-            if (auth instanceof HttpBasicAuth) {
-                ((HttpBasicAuth) auth).setUsername(username);
-                return;
-            }
-        }
-        throw new RuntimeException("No HTTP basic authentication configured!");
-    }
-
-    /**
-     * Helper method to set password for the first HTTP basic authentication.
-     *
-     * @param password Password
-     */
-    public void setPassword(String password) {
-        for (Authentication auth : authentications.values()) {
-            if (auth instanceof HttpBasicAuth) {
-                ((HttpBasicAuth) auth).setPassword(password);
-                return;
-            }
-        }
-        throw new RuntimeException("No HTTP basic authentication configured!");
-    }
-
-    /**
-     * Helper method to set API key value for the first API key authentication.
-     *
-     * @param apiKey API key
-     */
-    public void setApiKey(String apiKey) {
-        for (Authentication auth : authentications.values()) {
-            if (auth instanceof ApiKeyAuth) {
-                ((ApiKeyAuth) auth).setApiKey(apiKey);
-                return;
-            }
-        }
-        throw new RuntimeException("No API key authentication configured!");
-    }
-
-    /**
-     * Helper method to set API key prefix for the first API key authentication.
-     *
-     * @param apiKeyPrefix API key prefix
-     */
-    public void setApiKeyPrefix(String apiKeyPrefix) {
-        for (Authentication auth : authentications.values()) {
-            if (auth instanceof ApiKeyAuth) {
-                ((ApiKeyAuth) auth).setApiKeyPrefix(apiKeyPrefix);
-                return;
-            }
-        }
-        throw new RuntimeException("No API key authentication configured!");
-    }
-
-    /**
-     * Helper method to set access token for the first OAuth2 authentication.
-     *
-     * @param accessToken Access token
-     */
-    public void setAccessToken(String accessToken) {
-        for (Authentication auth : authentications.values()) {
-            if (auth instanceof OAuth) {
-                ((OAuth) auth).setAccessToken(accessToken);
-                return;
-            }
-        }
-        throw new RuntimeException("No OAuth2 authentication configured!");
-    }
-
-    /**
-     * Set the User-Agent header's value (by adding to the default header map).
-     *
-     * @param userAgent HTTP request's user agent
-     * @return ApiClient
-     */
-    public ApiClient setUserAgent(String userAgent) {
-        addDefaultHeader("User-Agent", userAgent);
-        return this;
-    }
-
-    /**
-     * Add a default header.
-     *
-     * @param key The header's key
-     * @param value The header's value
-     * @return ApiClient
-     */
-    public ApiClient addDefaultHeader(String key, String value) {
-        defaultHeaderMap.put(key, value);
-        return this;
-    }
-
-    /**
-     * Check that whether debugging is enabled for this API client.
-     *
-     * @return True if debugging is enabled, false otherwise.
-     */
-    public boolean isDebugging() {
-        return debugging;
-    }
-
-    /**
-     * Enable/disable debugging for this API client.
-     *
-     * @param debugging To enable (true) or disable (false) debugging
-     * @return ApiClient
-     */
-    public ApiClient setDebugging(boolean debugging) {
-        if (debugging != this.debugging) {
-            if (debugging) {
-                loggingInterceptor = new HttpLoggingInterceptor();
-                loggingInterceptor.setLevel(Level.BODY);
-                httpClient.interceptors().add(loggingInterceptor);
-            } else {
-                httpClient.interceptors().remove(loggingInterceptor);
-                loggingInterceptor = null;
-            }
-        }
-        this.debugging = debugging;
-        return this;
-    }
-
-    /**
-     * The path of temporary folder used to store downloaded files from endpoints
-     * with file response. The default value is <code>null</code>, i.e. using
-     * the system's default tempopary folder.
-     *
-     * @see <a href="https://docs.oracle.com/javase/7/docs/api/java/io/File.html#createTempFile">createTempFile</a>
-     * @return Temporary folder path
-     */
-    public String getTempFolderPath() {
-        return tempFolderPath;
-    }
-
-    /**
-     * Set the temporary folder path (for downloading files)
-     *
-     * @param tempFolderPath Temporary folder path
-     * @return ApiClient
-     */
-    public ApiClient setTempFolderPath(String tempFolderPath) {
-        this.tempFolderPath = tempFolderPath;
-        return this;
-    }
-
-    /**
-     * Get connection timeout (in milliseconds).
-     *
-     * @return Timeout in milliseconds
-     */
-    public int getConnectTimeout() {
-        return httpClient.getConnectTimeout();
-    }
-
-    /**
-     * Sets the connect timeout (in milliseconds).
-     * A value of 0 means no timeout, otherwise values must be between 1 and
-     *
-     * @param connectionTimeout connection timeout in milliseconds
-     * @return Api client
-     */
-    public ApiClient setConnectTimeout(int connectionTimeout) {
-        httpClient.setConnectTimeout(connectionTimeout, TimeUnit.MILLISECONDS);
-        return this;
-    }
-
-    /**
-     * Get read timeout (in milliseconds).
-     *
-     * @return Timeout in milliseconds
-     */
-    public int getReadTimeout() {
-        return httpClient.getReadTimeout();
-    }
-
-    /**
-     * Sets the read timeout (in milliseconds).
-     * A value of 0 means no timeout, otherwise values must be between 1 and
-     * {@link Integer#MAX_VALUE}.
-     *
-     * @param readTimeout read timeout in milliseconds
-     * @return Api client
-     */
-    public ApiClient setReadTimeout(int readTimeout) {
-        httpClient.setReadTimeout(readTimeout, TimeUnit.MILLISECONDS);
-        return this;
-    }
-
-    /**
-     * Get write timeout (in milliseconds).
-     *
-     * @return Timeout in milliseconds
-     */
-    public int getWriteTimeout() {
-        return httpClient.getWriteTimeout();
-    }
-
-    /**
-     * Sets the write timeout (in milliseconds).
-     * A value of 0 means no timeout, otherwise values must be between 1 and
-     * {@link Integer#MAX_VALUE}.
-     *
-     * @param writeTimeout connection timeout in milliseconds
-     * @return Api client
-     */
-    public ApiClient setWriteTimeout(int writeTimeout) {
-        httpClient.setWriteTimeout(writeTimeout, TimeUnit.MILLISECONDS);
-        return this;
-    }
-
-    /**
-     * Format the given parameter object into string.
-     *
-     * @param param Parameter
-     * @return String representation of the parameter
-     */
-    public String parameterToString(Object param) {
-        if (param == null) {
-            return "";
-        } else if (param instanceof Date || param instanceof OffsetDateTime || param instanceof LocalDate) {
-            //Serialize to json string and remove the " enclosing characters
-            String jsonStr = json.serialize(param);
-            return jsonStr.substring(1, jsonStr.length() - 1);
-        } else if (param instanceof Collection) {
-            StringBuilder b = new StringBuilder();
-            for (Object o : (Collection)param) {
-                if (b.length() > 0) {
-                    b.append(",");
-                }
-                b.append(String.valueOf(o));
-            }
-            return b.toString();
-        } else {
-            return String.valueOf(param);
-        }
-    }
-
-    /**
-     * Formats the specified query parameter to a list containing a single {@code Pair} object.
-     *
-     * Note that {@code value} must not be a collection.
-     *
-     * @param name The name of the parameter.
-     * @param value The value of the parameter.
-     * @return A list containing a single {@code Pair} object.
-     */
-    public List<Pair> parameterToPair(String name, Object value) {
-        List<Pair> params = new ArrayList<Pair>();
-
-        // preconditions
-        if (name == null || name.isEmpty() || value == null || value instanceof Collection) return params;
-
-        params.add(new Pair(name, parameterToString(value)));
-        return params;
-    }
-
-    /**
-     * Formats the specified collection query parameters to a list of {@code Pair} objects.
-     *
-     * Note that the values of each of the returned Pair objects are percent-encoded.
-     *
-     * @param collectionFormat The collection format of the parameter.
-     * @param name The name of the parameter.
-     * @param value The value of the parameter.
-     * @return A list of {@code Pair} objects.
-     */
-    public List<Pair> parameterToPairs(String collectionFormat, String name, Collection value) {
-        List<Pair> params = new ArrayList<Pair>();
-
-        // preconditions
-        if (name == null || name.isEmpty() || value == null || value.isEmpty()) {
-            return params;
-        }
-
-        // create the params based on the collection format
-        if ("multi".equals(collectionFormat)) {
-            for (Object item : value) {
-                params.add(new Pair(name, escapeString(parameterToString(item))));
-            }
-            return params;
-        }
-
-        // collectionFormat is assumed to be "csv" by default
-        String delimiter = ",";
-
-        // escape all delimiters except commas, which are URI reserved
-        // characters
-        if ("ssv".equals(collectionFormat)) {
-            delimiter = escapeString(" ");
-        } else if ("tsv".equals(collectionFormat)) {
-            delimiter = escapeString("\t");
-        } else if ("pipes".equals(collectionFormat)) {
-            delimiter = escapeString("|");
-        }
-
-        StringBuilder sb = new StringBuilder() ;
-        for (Object item : value) {
-            sb.append(delimiter);
-            sb.append(escapeString(parameterToString(item)));
-        }
-
-        params.add(new Pair(name, sb.substring(delimiter.length())));
-
-        return params;
-    }
-
-    /**
-     * Sanitize filename by removing path.
-     * e.g. ../../sun.gif becomes sun.gif
-     *
-     * @param filename The filename to be sanitized
-     * @return The sanitized filename
-     */
-    public String sanitizeFilename(String filename) {
-        return filename.replaceAll(".*[/\\\\]", "");
-    }
-
-    /**
-     * Check if the given MIME is a JSON MIME.
-     * JSON MIME examples:
-     *   application/json
-     *   application/json; charset=UTF8
-     *   APPLICATION/JSON
-     *   application/vnd.company+json
-     * "* / *" is also default to JSON
-     * @param mime MIME (Multipurpose Internet Mail Extensions)
-     * @return True if the given MIME is JSON, false otherwise.
-     */
-    public boolean isJsonMime(String mime) {
-      String jsonMime = "(?i)^(application/json|[^;/ \t]+/[^;/ \t]+[+]json)[ \t]*(;.*)?$";
-      return mime != null && (mime.matches(jsonMime) || mime.equals("*/*"));
-    }
-
-    /**
-     * Select the Accept header's value from the given accepts array:
-     *   if JSON exists in the given array, use it;
-     *   otherwise use all of them (joining into a string)
-     *
-     * @param accepts The accepts array to select from
-     * @return The Accept header to use. If the given array is empty,
-     *   null will be returned (not to set the Accept header explicitly).
-     */
-    public String selectHeaderAccept(String[] accepts) {
-        if (accepts.length == 0) {
-            return null;
-        }
-        for (String accept : accepts) {
-            if (isJsonMime(accept)) {
-                return accept;
-            }
-        }
-        return StringUtil.join(accepts, ",");
-    }
-
-    /**
-     * Select the Content-Type header's value from the given array:
-     *   if JSON exists in the given array, use it;
-     *   otherwise use the first one of the array.
-     *
-     * @param contentTypes The Content-Type array to select from
-     * @return The Content-Type header to use. If the given array is empty,
-     *   or matches "any", JSON will be used.
-     */
-    public String selectHeaderContentType(String[] contentTypes) {
-        if (contentTypes.length == 0 || contentTypes[0].equals("*/*")) {
-             return "application/json";
-        }
-        for (String contentType : contentTypes) {
-            if (isJsonMime(contentType)) {
-                return contentType;
-            }
-        }
-        return contentTypes[0];
-    }
-
-    /**
-     * Escape the given string to be used as URL query value.
-     *
-     * @param str String to be escaped
-     * @return Escaped string
-     */
-    public String escapeString(String str) {
-        try {
-            return URLEncoder.encode(str, "utf8").replaceAll("\\+", "%20");
-        } catch (UnsupportedEncodingException e) {
-            return str;
-        }
-    }
-
-    /**
-     * Deserialize response body to Java object, according to the return type and
-     * the Content-Type response header.
-     *
-     * @param <T> Type
-     * @param response HTTP response
-     * @param returnType The type of the Java object
-     * @return The deserialized Java object
-     * @throws ApiException If fail to deserialize response body, i.e. cannot read response body
-     *   or the Content-Type of the response is not supported.
-     */
-    @SuppressWarnings("unchecked")
-    public <T> T deserialize(Response response, Type returnType) throws ApiException {
-        if (response == null || returnType == null) {
-            return null;
-        }
-
-        if ("byte[]".equals(returnType.toString())) {
-            // Handle binary response (byte array).
-            try {
-                return (T) response.body().bytes();
-            } catch (IOException e) {
-                throw new ApiException(e);
-            }
-        } else if (returnType.equals(File.class)) {
-            // Handle file downloading.
-            return (T) downloadFileFromResponse(response);
-        }
-
-        String respBody;
-        try {
-            if (response.body() != null)
-                respBody = response.body().string();
-            else
-                respBody = null;
-        } catch (IOException e) {
-            throw new ApiException(e);
-        }
-
-        if (respBody == null || "".equals(respBody)) {
-            return null;
-        }
-
-        String contentType = response.headers().get("Content-Type");
-        if (contentType == null) {
-            // ensuring a default content type
-            contentType = "application/json";
-        }
-        if (isJsonMime(contentType)) {
-            return json.deserialize(respBody, returnType);
-        } else if (returnType.equals(String.class)) {
-            // Expecting string, return the raw response body.
-            return (T) respBody;
-        } else {
-            throw new ApiException(
-                    "Content type \"" + contentType + "\" is not supported for type: " + returnType,
-                    response.code(),
-                    response.headers().toMultimap(),
-                    respBody);
-        }
-    }
-
-    /**
-     * Serialize the given Java object into request body according to the object's
-     * class and the request Content-Type.
-     *
-     * @param obj The Java object
-     * @param contentType The request Content-Type
-     * @return The serialized request body
-     * @throws ApiException If fail to serialize the given object
-     */
-    public RequestBody serialize(Object obj, String contentType) throws ApiException {
-        if (obj instanceof byte[]) {
-            // Binary (byte array) body parameter support.
-            return RequestBody.create(MediaType.parse(contentType), (byte[]) obj);
-        } else if (obj instanceof File) {
-            // File body parameter support.
-            return RequestBody.create(MediaType.parse(contentType), (File) obj);
-        } else if (isJsonMime(contentType)) {
-            String content;
-            if (obj != null) {
-                content = json.serialize(obj);
-            } else {
-                content = null;
-            }
-            return RequestBody.create(MediaType.parse(contentType), content);
-        } else {
-            throw new ApiException("Content type \"" + contentType + "\" is not supported");
-        }
-    }
-
-    /**
-     * Download file from the given response.
-     *
-     * @param response An instance of the Response object
-     * @throws ApiException If fail to read file content from response and write to disk
-     * @return Downloaded file
-     */
-    public File downloadFileFromResponse(Response response) throws ApiException {
-        try {
-            File file = prepareDownloadFile(response);
-            BufferedSink sink = Okio.buffer(Okio.sink(file));
-            sink.writeAll(response.body().source());
-            sink.close();
-            return file;
-        } catch (IOException e) {
-            throw new ApiException(e);
-        }
-    }
-
-    /**
-     * Prepare file for download
-     *
-     * @param response An instance of the Response object
-     * @throws IOException If fail to prepare file for download
-     * @return Prepared file for the download
-     */
-    public File prepareDownloadFile(Response response) throws IOException {
-        String filename = null;
-        String contentDisposition = response.header("Content-Disposition");
-        if (contentDisposition != null && !"".equals(contentDisposition)) {
-            // Get filename from the Content-Disposition header.
-            Pattern pattern = Pattern.compile("filename=['\"]?([^'\"\\s]+)['\"]?");
-            Matcher matcher = pattern.matcher(contentDisposition);
-            if (matcher.find()) {
-                filename = sanitizeFilename(matcher.group(1));
-            }
-        }
-
-        String prefix = null;
-        String suffix = null;
-        if (filename == null) {
-            prefix = "download-";
-            suffix = "";
-        } else {
-            int pos = filename.lastIndexOf(".");
-            if (pos == -1) {
-                prefix = filename + "-";
-            } else {
-                prefix = filename.substring(0, pos) + "-";
-                suffix = filename.substring(pos);
-            }
-            // File.createTempFile requires the prefix to be at least three characters long
-            if (prefix.length() < 3)
-                prefix = "download-";
-        }
-
-        if (tempFolderPath == null)
-            return Files.createTempFile(prefix, suffix).toFile();
-        else
-            return Files.createTempFile(Paths.get(tempFolderPath), prefix, suffix).toFile();
-    }
-
-    /**
-     * {@link #execute(Call, Type)}
-     *
-     * @param <T> Type
-     * @param call An instance of the Call object
-     * @throws ApiException If fail to execute the call
-     * @return ApiResponse&lt;T&gt;
-     */
-    public <T> ApiResponse<T> execute(Call call) throws ApiException {
-        return execute(call, null);
-    }
-
-    /**
-     * Execute HTTP call and deserialize the HTTP response body into the given return type.
-     *
-     * @param returnType The return type used to deserialize HTTP response body
-     * @param <T> The return type corresponding to (same with) returnType
-     * @param call Call
-     * @return ApiResponse object containing response status, headers and
-     *   data, which is a Java object deserialized from response body and would be null
-     *   when returnType is null.
-     * @throws ApiException If fail to execute the call
-     */
-    public <T> ApiResponse<T> execute(Call call, Type returnType) throws ApiException {
-        try {
-            Response response = call.execute();
-            T data = handleResponse(response, returnType);
-            return new ApiResponse<T>(response.code(), response.headers().toMultimap(), data);
-        } catch (IOException e) {
-            throw new ApiException(e);
-        }
-    }
-
-    /**
-     * {@link #executeAsync(Call, Type, ApiCallback)}
-     *
-     * @param <T> Type
-     * @param call An instance of the Call object
-     * @param callback ApiCallback&lt;T&gt;
-     */
-    public <T> void executeAsync(Call call, ApiCallback<T> callback) {
-        executeAsync(call, null, callback);
-    }
-
-    /**
-     * Execute HTTP call asynchronously.
-     *
-     * @see #execute(Call, Type)
-     * @param <T> Type
-     * @param call The callback to be executed when the API call finishes
-     * @param returnType Return type
-     * @param callback ApiCallback
-     */
-    @SuppressWarnings("unchecked")
-    public <T> void executeAsync(Call call, final Type returnType, final ApiCallback<T> callback) {
-        call.enqueue(new Callback() {
-            @Override
-            public void onFailure(Request request, IOException e) {
-                callback.onFailure(new ApiException(e), 0, null);
-            }
-
-            @Override
-            public void onResponse(Response response) throws IOException {
-                T result;
-                try {
-                    result = (T) handleResponse(response, returnType);
-                } catch (ApiException e) {
-                    callback.onFailure(e, response.code(), response.headers().toMultimap());
-                    return;
-                }
-                callback.onSuccess(result, response.code(), response.headers().toMultimap());
-            }
-        });
-    }
-
-    /**
-     * Handle the given response, return the deserialized object when the response is successful.
-     *
-     * @param <T> Type
-     * @param response Response
-     * @param returnType Return type
-     * @throws ApiException If the response has a unsuccessful status code or
-     *   fail to deserialize the response body
-     * @return Type
-     */
-    public <T> T handleResponse(Response response, Type returnType) throws ApiException {
-        if (response.isSuccessful()) {
-            if (returnType == null || response.code() == 204) {
-                // returning null if the returnType is not defined,
-                // or the status code is 204 (No Content)
-                if (response.body() != null) {
-                    try {
-                        response.body().close();
-                    } catch (IOException e) {
-                        throw new ApiException(response.message(), e, response.code(), response.headers().toMultimap());
-                    }
-                }
-                return null;
-            } else {
-                return deserialize(response, returnType);
-            }
-        } else {
-            String respBody = null;
-            if (response.body() != null) {
-                try {
-                    respBody = response.body().string();
-                } catch (IOException e) {
-                    throw new ApiException(response.message(), e, response.code(), response.headers().toMultimap());
-                }
-            }
-            throw new ApiException(response.message(), response.code(), response.headers().toMultimap(), respBody);
-        }
-    }
-
-    /**
-     * Build HTTP call with the given options.
-     *
-     * @param path The sub-path of the HTTP URL
-     * @param method The request method, one of "GET", "HEAD", "OPTIONS", "POST", "PUT", "PATCH" and "DELETE"
-     * @param queryParams The query parameters
-     * @param collectionQueryParams The collection query parameters
-     * @param body The request body object
-     * @param headerParams The header parameters
-     * @param formParams The form parameters
-     * @param authNames The authentications to apply
-     * @param progressRequestListener Progress request listener
-     * @return The HTTP call
-     * @throws ApiException If fail to serialize the request body object
-     */
-    public Call buildCall(String path, String method, List<Pair> queryParams, List<Pair> collectionQueryParams, Object body, Map<String, String> headerParams, Map<String, Object> formParams, String[] authNames, ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
-        Request request = buildRequest(path, method, queryParams, collectionQueryParams, body, headerParams, formParams, authNames, progressRequestListener);
-
-        return httpClient.newCall(request);
-    }
-
-    /**
-     * Build an HTTP request with the given options.
-     *
-     * @param path The sub-path of the HTTP URL
-     * @param method The request method, one of "GET", "HEAD", "OPTIONS", "POST", "PUT", "PATCH" and "DELETE"
-     * @param queryParams The query parameters
-     * @param collectionQueryParams The collection query parameters
-     * @param body The request body object
-     * @param headerParams The header parameters
-     * @param formParams The form parameters
-     * @param authNames The authentications to apply
-     * @param progressRequestListener Progress request listener
-     * @return The HTTP request
-     * @throws ApiException If fail to serialize the request body object
-     */
-    public Request buildRequest(String path, String method, List<Pair> queryParams, List<Pair> collectionQueryParams, Object body, Map<String, String> headerParams, Map<String, Object> formParams, String[] authNames, ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
-        updateParamsForAuth(authNames, queryParams, headerParams);
-
-        final String url = buildUrl(path, queryParams, collectionQueryParams);
-        final Request.Builder reqBuilder = new Request.Builder().url(url);
-        processHeaderParams(headerParams, reqBuilder);
-
-        String contentType = (String) headerParams.get("Content-Type");
-        // ensuring a default content type
-        if (contentType == null) {
-            contentType = "application/json";
-        }
-
-        RequestBody reqBody;
-        if (!HttpMethod.permitsRequestBody(method)) {
-            reqBody = null;
-        } else if ("application/x-www-form-urlencoded".equals(contentType)) {
-            reqBody = buildRequestBodyFormEncoding(formParams);
-        } else if ("multipart/form-data".equals(contentType)) {
-            reqBody = buildRequestBodyMultipart(formParams);
-        } else if (body == null) {
-            if ("DELETE".equals(method)) {
-                // allow calling DELETE without sending a request body
-                reqBody = null;
-            } else {
-                // use an empty request body (for POST, PUT and PATCH)
-                reqBody = RequestBody.create(MediaType.parse(contentType), "");
-            }
-        } else {
-            reqBody = serialize(body, contentType);
-        }
-
-        Request request = null;
-
-        if(progressRequestListener != null && reqBody != null) {
-            ProgressRequestBody progressRequestBody = new ProgressRequestBody(reqBody, progressRequestListener);
-            request = reqBuilder.method(method, progressRequestBody).build();
-        } else {
-            request = reqBuilder.method(method, reqBody).build();
-        }
-
-        return request;
-    }
-
-    /**
-     * Build full URL by concatenating base path, the given sub path and query parameters.
-     *
-     * @param path The sub path
-     * @param queryParams The query parameters
-     * @param collectionQueryParams The collection query parameters
-     * @return The full URL
-     */
-    public String buildUrl(String path, List<Pair> queryParams, List<Pair> collectionQueryParams) {
-        final StringBuilder url = new StringBuilder();
-        url.append(basePath).append(path);
-
-        if (queryParams != null && !queryParams.isEmpty()) {
-            // support (constant) query string in `path`, e.g. "/posts?draft=1"
-            String prefix = path.contains("?") ? "&" : "?";
-            for (Pair param : queryParams) {
-                if (param.getValue() != null) {
-                    if (prefix != null) {
-                        url.append(prefix);
-                        prefix = null;
-                    } else {
-                        url.append("&");
-                    }
-                    String value = parameterToString(param.getValue());
-                    url.append(escapeString(param.getName())).append("=").append(escapeString(value));
-                }
-            }
-        }
-
-        if (collectionQueryParams != null && !collectionQueryParams.isEmpty()) {
-            String prefix = url.toString().contains("?") ? "&" : "?";
-            for (Pair param : collectionQueryParams) {
-                if (param.getValue() != null) {
-                    if (prefix != null) {
-                        url.append(prefix);
-                        prefix = null;
-                    } else {
-                        url.append("&");
-                    }
-                    String value = parameterToString(param.getValue());
-                    // collection query parameter value already escaped as part of parameterToPairs
-                    url.append(escapeString(param.getName())).append("=").append(value);
-                }
-            }
-        }
-
-        return url.toString();
-    }
-
-    /**
-     * Set header parameters to the request builder, including default headers.
-     *
-     * @param headerParams Header parameters in the ofrm of Map
-     * @param reqBuilder Reqeust.Builder
-     */
-    public void processHeaderParams(Map<String, String> headerParams, Request.Builder reqBuilder) {
-        for (Entry<String, String> param : headerParams.entrySet()) {
-            reqBuilder.header(param.getKey(), parameterToString(param.getValue()));
-        }
-        for (Entry<String, String> header : defaultHeaderMap.entrySet()) {
-            if (!headerParams.containsKey(header.getKey())) {
-                reqBuilder.header(header.getKey(), parameterToString(header.getValue()));
-            }
-        }
-    }
-
-    /**
-     * Update query and header parameters based on authentication settings.
-     *
-     * @param authNames The authentications to apply
-     * @param queryParams  List of query parameters
-     * @param headerParams  Map of header parameters
-     */
-    public void updateParamsForAuth(String[] authNames, List<Pair> queryParams, Map<String, String> headerParams) {
-        for (String authName : authNames) {
-            Authentication auth = authentications.get(authName);
-            if (auth == null) throw new RuntimeException("Authentication undefined: " + authName);
-            auth.applyToParams(queryParams, headerParams);
-        }
-    }
-
-    /**
-     * Build a form-encoding request body with the given form parameters.
-     *
-     * @param formParams Form parameters in the form of Map
-     * @return RequestBody
-     */
-    public RequestBody buildRequestBodyFormEncoding(Map<String, Object> formParams) {
-        FormEncodingBuilder formBuilder  = new FormEncodingBuilder();
-        for (Entry<String, Object> param : formParams.entrySet()) {
-            formBuilder.add(param.getKey(), parameterToString(param.getValue()));
-        }
-        return formBuilder.build();
-    }
-
-    /**
-     * Build a multipart (file uploading) request body with the given form parameters,
-     * which could contain text fields and file fields.
-     *
-     * @param formParams Form parameters in the form of Map
-     * @return RequestBody
-     */
-    public RequestBody buildRequestBodyMultipart(Map<String, Object> formParams) {
-        MultipartBuilder mpBuilder = new MultipartBuilder().type(MultipartBuilder.FORM);
-        for (Entry<String, Object> param : formParams.entrySet()) {
-            if (param.getValue() instanceof File) {
-                File file = (File) param.getValue();
-                Headers partHeaders = Headers.of("Content-Disposition", "form-data; name=\"" + param.getKey() + "\"; filename=\"" + file.getName() + "\"");
-                MediaType mediaType = MediaType.parse(guessContentTypeFromFile(file));
-                mpBuilder.addPart(partHeaders, RequestBody.create(mediaType, file));
-            } else {
-                Headers partHeaders = Headers.of("Content-Disposition", "form-data; name=\"" + param.getKey() + "\"");
-                mpBuilder.addPart(partHeaders, RequestBody.create(null, parameterToString(param.getValue())));
-            }
-        }
-        return mpBuilder.build();
-    }
-
-    /**
-     * Guess Content-Type header from the given file (defaults to "application/octet-stream").
-     *
-     * @param file The given file
-     * @return The guessed Content-Type
-     */
-    public String guessContentTypeFromFile(File file) {
-        String contentType = URLConnection.guessContentTypeFromName(file.getName());
-        if (contentType == null) {
-            return "application/octet-stream";
-        } else {
-            return contentType;
-        }
-    }
-
-    /**
-     * Apply SSL related settings to httpClient according to the current values of
-     * verifyingSsl and sslCaCert.
-     */
-    private void applySslSettings() {
-        try {
-            TrustManager[] trustManagers = null;
-            HostnameVerifier hostnameVerifier = null;
-            if (!verifyingSsl) {
-                TrustManager trustAll = new X509TrustManager() {
-                    @Override
-                    public void checkClientTrusted(X509Certificate[] chain, String authType) throws CertificateException {}
-                    @Override
-                    public void checkServerTrusted(X509Certificate[] chain, String authType) throws CertificateException {}
-                    @Override
-                    public X509Certificate[] getAcceptedIssuers() { return null; }
-                };
-                SSLContext sslContext = SSLContext.getInstance("TLS");
-                trustManagers = new TrustManager[]{ trustAll };
-                hostnameVerifier = new HostnameVerifier() {
-                    @Override
-                    public boolean verify(String hostname, SSLSession session) { return true; }
-                };
-            } else if (sslCaCert != null) {
-                char[] password = null; // Any password will work.
-                CertificateFactory certificateFactory = CertificateFactory.getInstance("X.509");
-                Collection<? extends Certificate> certificates = certificateFactory.generateCertificates(sslCaCert);
-                if (certificates.isEmpty()) {
-                    throw new IllegalArgumentException("expected non-empty set of trusted certificates");
-                }
-                KeyStore caKeyStore = newEmptyKeyStore(password);
-                int index = 0;
-                for (Certificate certificate : certificates) {
-                    String certificateAlias = "ca" + Integer.toString(index++);
-                    caKeyStore.setCertificateEntry(certificateAlias, certificate);
-                }
-                TrustManagerFactory trustManagerFactory = TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm());
-                trustManagerFactory.init(caKeyStore);
-                trustManagers = trustManagerFactory.getTrustManagers();
-            }
-
-            if (keyManagers != null || trustManagers != null) {
-                SSLContext sslContext = SSLContext.getInstance("TLS");
-                sslContext.init(keyManagers, trustManagers, new SecureRandom());
-                httpClient.setSslSocketFactory(sslContext.getSocketFactory());
-            } else {
-                httpClient.setSslSocketFactory(null);
-            }
-            httpClient.setHostnameVerifier(hostnameVerifier);
-        } catch (GeneralSecurityException e) {
-            throw new RuntimeException(e);
-        }
-    }
-
-    private KeyStore newEmptyKeyStore(char[] password) throws GeneralSecurityException {
-        try {
-            KeyStore keyStore = KeyStore.getInstance(KeyStore.getDefaultType());
-            keyStore.load(null, password);
-            return keyStore;
-        } catch (IOException e) {
-            throw new AssertionError(e);
-        }
-    }
-}
diff --git a/.java-stubs/src/main/java/io/swagger/client/ApiException.java b/.java-stubs/src/main/java/io/swagger/client/ApiException.java
deleted file mode 100644
index 07739ce26f..0000000000
--- a/.java-stubs/src/main/java/io/swagger/client/ApiException.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*
- * Database Repository Container Service API
- * Service that manages the containers
- *
- * OpenAPI spec version: 1.1.0-alpha
- * Contact: andreas.rauber@tuwien.ac.at
- *
- * NOTE: This class is auto generated by the swagger code generator program.
- * https://github.com/swagger-api/swagger-codegen.git
- * Do not edit the class manually.
- */
-
-package io.swagger.client;
-
-import java.util.Map;
-import java.util.List;
-
-@javax.annotation.Generated(value = "io.swagger.codegen.v3.generators.java.JavaClientCodegen", date = "2023-02-12T11:48:18.502846+01:00[Europe/Vienna]")public class ApiException extends Exception {
-    private int code = 0;
-    private Map<String, List<String>> responseHeaders = null;
-    private String responseBody = null;
-
-    public ApiException() {}
-
-    public ApiException(Throwable throwable) {
-        super(throwable);
-    }
-
-    public ApiException(String message) {
-        super(message);
-    }
-
-    public ApiException(String message, Throwable throwable, int code, Map<String, List<String>> responseHeaders, String responseBody) {
-        super(message, throwable);
-        this.code = code;
-        this.responseHeaders = responseHeaders;
-        this.responseBody = responseBody;
-    }
-
-    public ApiException(String message, int code, Map<String, List<String>> responseHeaders, String responseBody) {
-        this(message, (Throwable) null, code, responseHeaders, responseBody);
-    }
-
-    public ApiException(String message, Throwable throwable, int code, Map<String, List<String>> responseHeaders) {
-        this(message, throwable, code, responseHeaders, null);
-    }
-
-    public ApiException(int code, Map<String, List<String>> responseHeaders, String responseBody) {
-        this((String) null, (Throwable) null, code, responseHeaders, responseBody);
-    }
-
-    public ApiException(int code, String message) {
-        super(message);
-        this.code = code;
-    }
-
-    public ApiException(int code, String message, Map<String, List<String>> responseHeaders, String responseBody) {
-        this(code, message);
-        this.responseHeaders = responseHeaders;
-        this.responseBody = responseBody;
-    }
-
-    /**
-     * Get the HTTP status code.
-     *
-     * @return HTTP status code
-     */
-    public int getCode() {
-        return code;
-    }
-
-    /**
-     * Get the HTTP response headers.
-     *
-     * @return A map of list of string
-     */
-    public Map<String, List<String>> getResponseHeaders() {
-        return responseHeaders;
-    }
-
-    /**
-     * Get the HTTP response body.
-     *
-     * @return Response body in the form of string
-     */
-    public String getResponseBody() {
-        return responseBody;
-    }
-}
diff --git a/.java-stubs/src/main/java/io/swagger/client/ApiResponse.java b/.java-stubs/src/main/java/io/swagger/client/ApiResponse.java
deleted file mode 100644
index c21ab49f1c..0000000000
--- a/.java-stubs/src/main/java/io/swagger/client/ApiResponse.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * Database Repository Container Service API
- * Service that manages the containers
- *
- * OpenAPI spec version: 1.1.0-alpha
- * Contact: andreas.rauber@tuwien.ac.at
- *
- * NOTE: This class is auto generated by the swagger code generator program.
- * https://github.com/swagger-api/swagger-codegen.git
- * Do not edit the class manually.
- */
-
-package io.swagger.client;
-
-import java.util.List;
-import java.util.Map;
-
-/**
- * API response returned by API call.
- *
- * @param <T> The type of data that is deserialized from response body
- */
-public class ApiResponse<T> {
-    final private int statusCode;
-    final private Map<String, List<String>> headers;
-    final private T data;
-
-    /**
-     * @param statusCode The status code of HTTP response
-     * @param headers The headers of HTTP response
-     */
-    public ApiResponse(int statusCode, Map<String, List<String>> headers) {
-        this(statusCode, headers, null);
-    }
-
-    /**
-     * @param statusCode The status code of HTTP response
-     * @param headers The headers of HTTP response
-     * @param data The object deserialized from response bod
-     */
-    public ApiResponse(int statusCode, Map<String, List<String>> headers, T data) {
-        this.statusCode = statusCode;
-        this.headers = headers;
-        this.data = data;
-    }
-
-    public int getStatusCode() {
-        return statusCode;
-    }
-
-    public Map<String, List<String>> getHeaders() {
-        return headers;
-    }
-
-    public T getData() {
-        return data;
-    }
-}
diff --git a/.java-stubs/src/main/java/io/swagger/client/Configuration.java b/.java-stubs/src/main/java/io/swagger/client/Configuration.java
deleted file mode 100644
index cd15f19cf1..0000000000
--- a/.java-stubs/src/main/java/io/swagger/client/Configuration.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * Database Repository Container Service API
- * Service that manages the containers
- *
- * OpenAPI spec version: 1.1.0-alpha
- * Contact: andreas.rauber@tuwien.ac.at
- *
- * NOTE: This class is auto generated by the swagger code generator program.
- * https://github.com/swagger-api/swagger-codegen.git
- * Do not edit the class manually.
- */
-
-package io.swagger.client;
-
-@javax.annotation.Generated(value = "io.swagger.codegen.v3.generators.java.JavaClientCodegen", date = "2023-02-12T11:48:18.502846+01:00[Europe/Vienna]")public class Configuration {
-    private static ApiClient defaultApiClient = new ApiClient();
-
-    /**
-     * Get the default API client, which would be used when creating API
-     * instances without providing an API client.
-     *
-     * @return Default API client
-     */
-    public static ApiClient getDefaultApiClient() {
-        return defaultApiClient;
-    }
-
-    /**
-     * Set the default API client, which would be used when creating API
-     * instances without providing an API client.
-     *
-     * @param apiClient API client
-     */
-    public static void setDefaultApiClient(ApiClient apiClient) {
-        defaultApiClient = apiClient;
-    }
-}
diff --git a/.java-stubs/src/main/java/io/swagger/client/GzipRequestInterceptor.java b/.java-stubs/src/main/java/io/swagger/client/GzipRequestInterceptor.java
deleted file mode 100644
index 8a91a68ede..0000000000
--- a/.java-stubs/src/main/java/io/swagger/client/GzipRequestInterceptor.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
- * Database Repository Container Service API
- * Service that manages the containers
- *
- * OpenAPI spec version: 1.1.0-alpha
- * Contact: andreas.rauber@tuwien.ac.at
- *
- * NOTE: This class is auto generated by the swagger code generator program.
- * https://github.com/swagger-api/swagger-codegen.git
- * Do not edit the class manually.
- */
-
-package io.swagger.client;
-
-import com.squareup.okhttp.*;
-import okio.Buffer;
-import okio.BufferedSink;
-import okio.GzipSink;
-import okio.Okio;
-
-import java.io.IOException;
-
-/**
- * Encodes request bodies using gzip.
- *
- * Taken from https://github.com/square/okhttp/issues/350
- */
-class GzipRequestInterceptor implements Interceptor {
-    @Override public Response intercept(Chain chain) throws IOException {
-        Request originalRequest = chain.request();
-        if (originalRequest.body() == null || originalRequest.header("Content-Encoding") != null) {
-            return chain.proceed(originalRequest);
-        }
-
-        Request compressedRequest = originalRequest.newBuilder()
-                                                   .header("Content-Encoding", "gzip")
-                                                   .method(originalRequest.method(), forceContentLength(gzip(originalRequest.body())))
-                                                   .build();
-        return chain.proceed(compressedRequest);
-    }
-
-    private RequestBody forceContentLength(final RequestBody requestBody) throws IOException {
-        final Buffer buffer = new Buffer();
-        requestBody.writeTo(buffer);
-        return new RequestBody() {
-            @Override
-            public MediaType contentType() {
-                return requestBody.contentType();
-            }
-
-            @Override
-            public long contentLength() {
-                return buffer.size();
-            }
-
-            @Override
-            public void writeTo(BufferedSink sink) throws IOException {
-                sink.write(buffer.snapshot());
-            }
-        };
-    }
-
-    private RequestBody gzip(final RequestBody body) {
-        return new RequestBody() {
-            @Override public MediaType contentType() {
-                return body.contentType();
-            }
-
-            @Override public long contentLength() {
-                return -1; // We don't know the compressed length in advance!
-            }
-
-            @Override public void writeTo(BufferedSink sink) throws IOException {
-                BufferedSink gzipSink = Okio.buffer(new GzipSink(sink));
-                body.writeTo(gzipSink);
-                gzipSink.close();
-            }
-        };
-    }
-}
\ No newline at end of file
diff --git a/.java-stubs/src/main/java/io/swagger/client/JSON.java b/.java-stubs/src/main/java/io/swagger/client/JSON.java
deleted file mode 100644
index 71ca4bdafa..0000000000
--- a/.java-stubs/src/main/java/io/swagger/client/JSON.java
+++ /dev/null
@@ -1,363 +0,0 @@
-/*
- * Database Repository Container Service API
- * Service that manages the containers
- *
- * OpenAPI spec version: 1.1.0-alpha
- * Contact: andreas.rauber@tuwien.ac.at
- *
- * NOTE: This class is auto generated by the swagger code generator program.
- * https://github.com/swagger-api/swagger-codegen.git
- * Do not edit the class manually.
- */
-
-package io.swagger.client;
-
-import com.google.gson.Gson;
-import com.google.gson.GsonBuilder;
-import com.google.gson.JsonElement;
-import com.google.gson.JsonObject;
-import io.gsonfire.GsonFireBuilder;
-import io.gsonfire.PostProcessor;
-import io.gsonfire.TypeSelector;
-import com.google.gson.JsonParseException;
-import com.google.gson.TypeAdapter;
-import com.google.gson.internal.bind.util.ISO8601Utils;
-import com.google.gson.stream.JsonReader;
-import com.google.gson.stream.JsonWriter;
-import org.threeten.bp.LocalDate;
-import org.threeten.bp.OffsetDateTime;
-import org.threeten.bp.format.DateTimeFormatter;
-
-import io.swagger.client.model.*;
-
-import java.io.IOException;
-import java.io.StringReader;
-import java.lang.reflect.Type;
-import java.text.DateFormat;
-import java.text.ParseException;
-import java.text.ParsePosition;
-import java.util.Date;
-import java.util.Map;
-import java.util.HashMap;
-
-public class JSON {
-    private Gson gson;
-    private boolean isLenientOnJson = false;
-    private DateTypeAdapter dateTypeAdapter = new DateTypeAdapter();
-    private SqlDateTypeAdapter sqlDateTypeAdapter = new SqlDateTypeAdapter();
-    private OffsetDateTimeTypeAdapter offsetDateTimeTypeAdapter = new OffsetDateTimeTypeAdapter();
-    private LocalDateTypeAdapter localDateTypeAdapter = new LocalDateTypeAdapter();
-
-    public static GsonBuilder createGson() {
-        GsonFireBuilder fireBuilder = new GsonFireBuilder()
-        ;
-        return fireBuilder.createGsonBuilder();
-    }
-
-    private static String getDiscriminatorValue(JsonElement readElement, String discriminatorField) {
-        JsonElement element = readElement.getAsJsonObject().get(discriminatorField);
-        if(null == element) {
-            throw new IllegalArgumentException("missing discriminator field: <" + discriminatorField + ">");
-        }
-        return element.getAsString();
-    }
-
-    private static <T> Class<? extends T> getClassByDiscriminator(Map<String, Class<? extends T>> classByDiscriminatorValue, String discriminatorValue) {
-        Class<? extends T> clazz = classByDiscriminatorValue.get(discriminatorValue.toUpperCase());
-        if(null == clazz) {
-            throw new IllegalArgumentException("cannot determine model class of name: <" + discriminatorValue + ">");
-        }
-        return clazz;
-    }
-
-    public JSON() {
-        gson = createGson()
-            .registerTypeAdapter(Date.class, dateTypeAdapter)
-            .registerTypeAdapter(java.sql.Date.class, sqlDateTypeAdapter)
-            .registerTypeAdapter(OffsetDateTime.class, offsetDateTimeTypeAdapter)
-            .registerTypeAdapter(LocalDate.class, localDateTypeAdapter)
-            .create();
-    }
-
-    /**
-     * Get Gson.
-     *
-     * @return Gson
-     */
-    public Gson getGson() {
-        return gson;
-    }
-
-    /**
-     * Set Gson.
-     *
-     * @param gson Gson
-     * @return JSON
-     */
-    public JSON setGson(Gson gson) {
-        this.gson = gson;
-        return this;
-    }
-
-    public JSON setLenientOnJson(boolean lenientOnJson) {
-        isLenientOnJson = lenientOnJson;
-        return this;
-    }
-
-    /**
-     * Serialize the given Java object into JSON string.
-     *
-     * @param obj Object
-     * @return String representation of the JSON
-     */
-    public String serialize(Object obj) {
-        return gson.toJson(obj);
-    }
-
-    /**
-     * Deserialize the given JSON string to Java object.
-     *
-     * @param <T>        Type
-     * @param body       The JSON string
-     * @param returnType The type to deserialize into
-     * @return The deserialized Java object
-     */
-    @SuppressWarnings("unchecked")
-    public <T> T deserialize(String body, Type returnType) {
-        try {
-            if (isLenientOnJson) {
-                JsonReader jsonReader = new JsonReader(new StringReader(body));
-                // see https://google-gson.googlecode.com/svn/trunk/gson/docs/javadocs/com/google/gson/stream/JsonReader.html#setLenient(boolean)
-                jsonReader.setLenient(true);
-                return gson.fromJson(jsonReader, returnType);
-            } else {
-                return gson.fromJson(body, returnType);
-            }
-        } catch (JsonParseException e) {
-            // Fallback processing when failed to parse JSON form response body:
-            // return the response body string directly for the String return type;
-            if (returnType.equals(String.class))
-                return (T) body;
-            else throw (e);
-        }
-    }
-
-    /**
-     * Gson TypeAdapter for JSR310 OffsetDateTime type
-     */
-    public static class OffsetDateTimeTypeAdapter extends TypeAdapter<OffsetDateTime> {
-
-        private DateTimeFormatter formatter;
-
-        public OffsetDateTimeTypeAdapter() {
-            this(DateTimeFormatter.ISO_OFFSET_DATE_TIME);
-        }
-
-        public OffsetDateTimeTypeAdapter(DateTimeFormatter formatter) {
-            this.formatter = formatter;
-        }
-
-        public void setFormat(DateTimeFormatter dateFormat) {
-            this.formatter = dateFormat;
-        }
-
-        @Override
-        public void write(JsonWriter out, OffsetDateTime date) throws IOException {
-            if (date == null) {
-                out.nullValue();
-            } else {
-                out.value(formatter.format(date));
-            }
-        }
-
-        @Override
-        public OffsetDateTime read(JsonReader in) throws IOException {
-            switch (in.peek()) {
-                case NULL:
-                    in.nextNull();
-                    return null;
-                default:
-                    String date = in.nextString();
-                    if (date.endsWith("+0000")) {
-                        date = date.substring(0, date.length()-5) + "Z";
-                    }
-                    return OffsetDateTime.parse(date, formatter);
-            }
-        }
-    }
-
-    /**
-     * Gson TypeAdapter for JSR310 LocalDate type
-     */
-    public class LocalDateTypeAdapter extends TypeAdapter<LocalDate> {
-
-        private DateTimeFormatter formatter;
-
-        public LocalDateTypeAdapter() {
-            this(DateTimeFormatter.ISO_LOCAL_DATE);
-        }
-
-        public LocalDateTypeAdapter(DateTimeFormatter formatter) {
-            this.formatter = formatter;
-        }
-
-        public void setFormat(DateTimeFormatter dateFormat) {
-            this.formatter = dateFormat;
-        }
-
-        @Override
-        public void write(JsonWriter out, LocalDate date) throws IOException {
-            if (date == null) {
-                out.nullValue();
-            } else {
-                out.value(formatter.format(date));
-            }
-        }
-
-        @Override
-        public LocalDate read(JsonReader in) throws IOException {
-            switch (in.peek()) {
-                case NULL:
-                    in.nextNull();
-                    return null;
-                default:
-                    String date = in.nextString();
-                    return LocalDate.parse(date, formatter);
-            }
-        }
-    }
-
-    public JSON setOffsetDateTimeFormat(DateTimeFormatter dateFormat) {
-        offsetDateTimeTypeAdapter.setFormat(dateFormat);
-        return this;
-    }
-
-    public JSON setLocalDateFormat(DateTimeFormatter dateFormat) {
-        localDateTypeAdapter.setFormat(dateFormat);
-        return this;
-    }
-
-    /**
-     * Gson TypeAdapter for java.sql.Date type
-     * If the dateFormat is null, a simple "yyyy-MM-dd" format will be used
-     * (more efficient than SimpleDateFormat).
-     */
-    public static class SqlDateTypeAdapter extends TypeAdapter<java.sql.Date> {
-
-        private DateFormat dateFormat;
-
-        public SqlDateTypeAdapter() {
-        }
-
-        public SqlDateTypeAdapter(DateFormat dateFormat) {
-            this.dateFormat = dateFormat;
-        }
-
-        public void setFormat(DateFormat dateFormat) {
-            this.dateFormat = dateFormat;
-        }
-
-        @Override
-        public void write(JsonWriter out, java.sql.Date date) throws IOException {
-            if (date == null) {
-                out.nullValue();
-            } else {
-                String value;
-                if (dateFormat != null) {
-                    value = dateFormat.format(date);
-                } else {
-                    value = date.toString();
-                }
-                out.value(value);
-            }
-        }
-
-        @Override
-        public java.sql.Date read(JsonReader in) throws IOException {
-            switch (in.peek()) {
-                case NULL:
-                    in.nextNull();
-                    return null;
-                default:
-                    String date = in.nextString();
-                    try {
-                        if (dateFormat != null) {
-                            return new java.sql.Date(dateFormat.parse(date).getTime());
-                        }
-                        return new java.sql.Date(ISO8601Utils.parse(date, new ParsePosition(0)).getTime());
-                    } catch (ParseException e) {
-                        throw new JsonParseException(e);
-                    }
-            }
-        }
-    }
-
-    /**
-     * Gson TypeAdapter for java.util.Date type
-     * If the dateFormat is null, ISO8601Utils will be used.
-     */
-    public static class DateTypeAdapter extends TypeAdapter<Date> {
-
-        private DateFormat dateFormat;
-
-        public DateTypeAdapter() {
-        }
-
-        public DateTypeAdapter(DateFormat dateFormat) {
-            this.dateFormat = dateFormat;
-        }
-
-        public void setFormat(DateFormat dateFormat) {
-            this.dateFormat = dateFormat;
-        }
-
-        @Override
-        public void write(JsonWriter out, Date date) throws IOException {
-            if (date == null) {
-                out.nullValue();
-            } else {
-                String value;
-                if (dateFormat != null) {
-                    value = dateFormat.format(date);
-                } else {
-                    value = ISO8601Utils.format(date, true);
-                }
-                out.value(value);
-            }
-        }
-
-        @Override
-        public Date read(JsonReader in) throws IOException {
-            try {
-                switch (in.peek()) {
-                    case NULL:
-                        in.nextNull();
-                        return null;
-                    default:
-                        String date = in.nextString();
-                        try {
-                            if (dateFormat != null) {
-                                return dateFormat.parse(date);
-                            }
-                            return ISO8601Utils.parse(date, new ParsePosition(0));
-                        } catch (ParseException e) {
-                            throw new JsonParseException(e);
-                        }
-                }
-            } catch (IllegalArgumentException e) {
-                throw new JsonParseException(e);
-            }
-        }
-    }
-
-    public JSON setDateFormat(DateFormat dateFormat) {
-        dateTypeAdapter.setFormat(dateFormat);
-        return this;
-    }
-
-    public JSON setSqlDateFormat(DateFormat dateFormat) {
-        sqlDateTypeAdapter.setFormat(dateFormat);
-        return this;
-    }
-
-}
diff --git a/.java-stubs/src/main/java/io/swagger/client/Pair.java b/.java-stubs/src/main/java/io/swagger/client/Pair.java
deleted file mode 100644
index add9addaa2..0000000000
--- a/.java-stubs/src/main/java/io/swagger/client/Pair.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * Database Repository Container Service API
- * Service that manages the containers
- *
- * OpenAPI spec version: 1.1.0-alpha
- * Contact: andreas.rauber@tuwien.ac.at
- *
- * NOTE: This class is auto generated by the swagger code generator program.
- * https://github.com/swagger-api/swagger-codegen.git
- * Do not edit the class manually.
- */
-
-package io.swagger.client;
-
-@javax.annotation.Generated(value = "io.swagger.codegen.v3.generators.java.JavaClientCodegen", date = "2023-02-12T11:48:18.502846+01:00[Europe/Vienna]")public class Pair {
-    private String name = "";
-    private String value = "";
-
-    public Pair (String name, String value) {
-        setName(name);
-        setValue(value);
-    }
-
-    private void setName(String name) {
-        if (!isValidString(name)) return;
-
-        this.name = name;
-    }
-
-    private void setValue(String value) {
-        if (!isValidString(value)) return;
-
-        this.value = value;
-    }
-
-    public String getName() {
-        return this.name;
-    }
-
-    public String getValue() {
-        return this.value;
-    }
-
-    private boolean isValidString(String arg) {
-        if (arg == null) return false;
-        if (arg.trim().isEmpty()) return false;
-
-        return true;
-    }
-}
diff --git a/.java-stubs/src/main/java/io/swagger/client/ProgressRequestBody.java b/.java-stubs/src/main/java/io/swagger/client/ProgressRequestBody.java
deleted file mode 100644
index 0e68cbda88..0000000000
--- a/.java-stubs/src/main/java/io/swagger/client/ProgressRequestBody.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- * Database Repository Container Service API
- * Service that manages the containers
- *
- * OpenAPI spec version: 1.1.0-alpha
- * Contact: andreas.rauber@tuwien.ac.at
- *
- * NOTE: This class is auto generated by the swagger code generator program.
- * https://github.com/swagger-api/swagger-codegen.git
- * Do not edit the class manually.
- */
-
-package io.swagger.client;
-
-import com.squareup.okhttp.MediaType;
-import com.squareup.okhttp.RequestBody;
-
-import java.io.IOException;
-
-import okio.Buffer;
-import okio.BufferedSink;
-import okio.ForwardingSink;
-import okio.Okio;
-import okio.Sink;
-
-public class ProgressRequestBody extends RequestBody {
-
-    public interface ProgressRequestListener {
-        void onRequestProgress(long bytesWritten, long contentLength, boolean done);
-    }
-
-    private final RequestBody requestBody;
-
-    private final ProgressRequestListener progressListener;
-
-    public ProgressRequestBody(RequestBody requestBody, ProgressRequestListener progressListener) {
-        this.requestBody = requestBody;
-        this.progressListener = progressListener;
-    }
-
-    @Override
-    public MediaType contentType() {
-        return requestBody.contentType();
-    }
-
-    @Override
-    public long contentLength() throws IOException {
-        return requestBody.contentLength();
-    }
-
-    @Override
-    public void writeTo(BufferedSink sink) throws IOException {
-        BufferedSink bufferedSink = Okio.buffer(sink(sink));
-        requestBody.writeTo(bufferedSink);
-        bufferedSink.flush();
-    }
-
-    private Sink sink(Sink sink) {
-        return new ForwardingSink(sink) {
-
-            long bytesWritten = 0L;
-            long contentLength = 0L;
-
-            @Override
-            public void write(Buffer source, long byteCount) throws IOException {
-                super.write(source, byteCount);
-                if (contentLength == 0) {
-                    contentLength = contentLength();
-                }
-
-                bytesWritten += byteCount;
-                progressListener.onRequestProgress(bytesWritten, contentLength, bytesWritten == contentLength);
-            }
-        };
-    }
-}
diff --git a/.java-stubs/src/main/java/io/swagger/client/ProgressResponseBody.java b/.java-stubs/src/main/java/io/swagger/client/ProgressResponseBody.java
deleted file mode 100644
index 1e517d1d6d..0000000000
--- a/.java-stubs/src/main/java/io/swagger/client/ProgressResponseBody.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*
- * Database Repository Container Service API
- * Service that manages the containers
- *
- * OpenAPI spec version: 1.1.0-alpha
- * Contact: andreas.rauber@tuwien.ac.at
- *
- * NOTE: This class is auto generated by the swagger code generator program.
- * https://github.com/swagger-api/swagger-codegen.git
- * Do not edit the class manually.
- */
-
-package io.swagger.client;
-
-import com.squareup.okhttp.MediaType;
-import com.squareup.okhttp.ResponseBody;
-
-import java.io.IOException;
-
-import okio.Buffer;
-import okio.BufferedSource;
-import okio.ForwardingSource;
-import okio.Okio;
-import okio.Source;
-
-public class ProgressResponseBody extends ResponseBody {
-
-    public interface ProgressListener {
-        void update(long bytesRead, long contentLength, boolean done);
-    }
-
-    private final ResponseBody responseBody;
-    private final ProgressListener progressListener;
-    private BufferedSource bufferedSource;
-
-    public ProgressResponseBody(ResponseBody responseBody, ProgressListener progressListener) {
-        this.responseBody = responseBody;
-        this.progressListener = progressListener;
-    }
-
-    @Override
-    public MediaType contentType() {
-        return responseBody.contentType();
-    }
-
-    @Override
-    public long contentLength() throws IOException {
-        return responseBody.contentLength();
-    }
-
-    @Override
-    public BufferedSource source() throws IOException {
-        if (bufferedSource == null) {
-            bufferedSource = Okio.buffer(source(responseBody.source()));
-        }
-        return bufferedSource;
-    }
-
-    private Source source(Source source) {
-        return new ForwardingSource(source) {
-            long totalBytesRead = 0L;
-
-            @Override
-            public long read(Buffer sink, long byteCount) throws IOException {
-                long bytesRead = super.read(sink, byteCount);
-                // read() returns the number of bytes read, or -1 if this source is exhausted.
-                totalBytesRead += bytesRead != -1 ? bytesRead : 0;
-                progressListener.update(totalBytesRead, responseBody.contentLength(), bytesRead == -1);
-                return bytesRead;
-            }
-        };
-    }
-}
-
-
diff --git a/.java-stubs/src/main/java/io/swagger/client/StringUtil.java b/.java-stubs/src/main/java/io/swagger/client/StringUtil.java
deleted file mode 100644
index 03e061debe..0000000000
--- a/.java-stubs/src/main/java/io/swagger/client/StringUtil.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * Database Repository Container Service API
- * Service that manages the containers
- *
- * OpenAPI spec version: 1.1.0-alpha
- * Contact: andreas.rauber@tuwien.ac.at
- *
- * NOTE: This class is auto generated by the swagger code generator program.
- * https://github.com/swagger-api/swagger-codegen.git
- * Do not edit the class manually.
- */
-
-package io.swagger.client;
-
-@javax.annotation.Generated(value = "io.swagger.codegen.v3.generators.java.JavaClientCodegen", date = "2023-02-12T11:48:18.502846+01:00[Europe/Vienna]")public class StringUtil {
-  /**
-   * Check if the given array contains the given value (with case-insensitive comparison).
-   *
-   * @param array The array
-   * @param value The value to search
-   * @return true if the array contains the value
-   */
-  public static boolean containsIgnoreCase(String[] array, String value) {
-    for (String str : array) {
-      if (value == null && str == null) return true;
-      if (value != null && value.equalsIgnoreCase(str)) return true;
-    }
-    return false;
-  }
-
-  /**
-   * Join an array of strings with the given separator.
-   * <p>
-   * Note: This might be replaced by utility method from commons-lang or guava someday
-   * if one of those libraries is added as dependency.
-   * </p>
-   *
-   * @param array     The array of strings
-   * @param separator The separator
-   * @return the resulting string
-   */
-  public static String join(String[] array, String separator) {
-    int len = array.length;
-    if (len == 0) return "";
-
-    StringBuilder out = new StringBuilder();
-    out.append(array[0]);
-    for (int i = 1; i < len; i++) {
-      out.append(separator).append(array[i]);
-    }
-    return out.toString();
-  }
-}
diff --git a/.java-stubs/src/main/java/io/swagger/client/api/AccessEndpointApi.java b/.java-stubs/src/main/java/io/swagger/client/api/AccessEndpointApi.java
deleted file mode 100644
index 758c64030d..0000000000
--- a/.java-stubs/src/main/java/io/swagger/client/api/AccessEndpointApi.java
+++ /dev/null
@@ -1,617 +0,0 @@
-/*
- * Database Repository Database Service API
- * Service that manages the databases
- *
- * OpenAPI spec version: 1.1.0-alpha
- * Contact: andreas.rauber@tuwien.ac.at
- *
- * NOTE: This class is auto generated by the swagger code generator program.
- * https://github.com/swagger-api/swagger-codegen.git
- * Do not edit the class manually.
- */
-
-package io.swagger.client.api;
-
-import com.google.gson.reflect.TypeToken;
-import io.swagger.client.*;
-import io.swagger.client.model.DatabaseAccessDto;
-import io.swagger.client.model.DatabaseGiveAccessDto;
-import io.swagger.client.model.DatabaseModifyAccessDto;
-
-import java.io.IOException;
-import java.lang.reflect.Type;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-public class AccessEndpointApi {
-    private ApiClient apiClient;
-
-    public AccessEndpointApi() {
-        this(Configuration.getDefaultApiClient());
-    }
-
-    public AccessEndpointApi(ApiClient apiClient) {
-        this.apiClient = apiClient;
-    }
-
-    public ApiClient getApiClient() {
-        return apiClient;
-    }
-
-    public void setApiClient(ApiClient apiClient) {
-        this.apiClient = apiClient;
-    }
-
-    /**
-     * Build call for create1
-     * @param body  (required)
-     * @param id  (required)
-     * @param databaseId  (required)
-     * @param progressListener Progress listener
-     * @param progressRequestListener Progress request listener
-     * @return Call to execute
-     * @throws ApiException If fail to serialize the request body object
-     */
-    public com.squareup.okhttp.Call create1Call(DatabaseGiveAccessDto body, Long id, Long databaseId, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
-        Object localVarPostBody = body;
-        
-        // create path and map variables
-        String localVarPath = "/api/container/{id}/database/{databaseId}/access"
-            .replaceAll("\\{" + "id" + "\\}", apiClient.escapeString(id.toString()))
-            .replaceAll("\\{" + "databaseId" + "\\}", apiClient.escapeString(databaseId.toString()));
-
-        List<Pair> localVarQueryParams = new ArrayList<Pair>();
-        List<Pair> localVarCollectionQueryParams = new ArrayList<Pair>();
-
-        Map<String, String> localVarHeaderParams = new HashMap<String, String>();
-
-        Map<String, Object> localVarFormParams = new HashMap<String, Object>();
-
-        final String[] localVarAccepts = {
-            "*/*"
-        };
-        final String localVarAccept = apiClient.selectHeaderAccept(localVarAccepts);
-        if (localVarAccept != null) localVarHeaderParams.put("Accept", localVarAccept);
-
-        final String[] localVarContentTypes = {
-            "application/json"
-        };
-        final String localVarContentType = apiClient.selectHeaderContentType(localVarContentTypes);
-        localVarHeaderParams.put("Content-Type", localVarContentType);
-
-        if(progressListener != null) {
-            apiClient.getHttpClient().networkInterceptors().add(new com.squareup.okhttp.Interceptor() {
-                @Override
-                public com.squareup.okhttp.Response intercept(Chain chain) throws IOException {
-                    com.squareup.okhttp.Response originalResponse = chain.proceed(chain.request());
-                    return originalResponse.newBuilder()
-                    .body(new ProgressResponseBody(originalResponse.body(), progressListener))
-                    .build();
-                }
-            });
-        }
-
-        String[] localVarAuthNames = new String[] { "bearerAuth" };
-        return apiClient.buildCall(localVarPath, "POST", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarFormParams, localVarAuthNames, progressRequestListener);
-    }
-    
-    @SuppressWarnings("rawtypes")
-    private com.squareup.okhttp.Call create1ValidateBeforeCall(DatabaseGiveAccessDto body, Long id, Long databaseId, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
-        // verify the required parameter 'body' is set
-        if (body == null) {
-            throw new ApiException("Missing the required parameter 'body' when calling create1(Async)");
-        }
-        // verify the required parameter 'id' is set
-        if (id == null) {
-            throw new ApiException("Missing the required parameter 'id' when calling create1(Async)");
-        }
-        // verify the required parameter 'databaseId' is set
-        if (databaseId == null) {
-            throw new ApiException("Missing the required parameter 'databaseId' when calling create1(Async)");
-        }
-        
-        com.squareup.okhttp.Call call = create1Call(body, id, databaseId, progressListener, progressRequestListener);
-        return call;
-
-        
-        
-        
-        
-    }
-
-    /**
-     * Give access to some database
-     * 
-     * @param body  (required)
-     * @param id  (required)
-     * @param databaseId  (required)
-     * @return Object
-     * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
-     */
-    public Object create1(DatabaseGiveAccessDto body, Long id, Long databaseId) throws ApiException {
-        ApiResponse<Object> resp = create1WithHttpInfo(body, id, databaseId);
-        return resp.getData();
-    }
-
-    /**
-     * Give access to some database
-     * 
-     * @param body  (required)
-     * @param id  (required)
-     * @param databaseId  (required)
-     * @return ApiResponse&lt;Object&gt;
-     * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
-     */
-    public ApiResponse<Object> create1WithHttpInfo(DatabaseGiveAccessDto body, Long id, Long databaseId) throws ApiException {
-        com.squareup.okhttp.Call call = create1ValidateBeforeCall(body, id, databaseId, null, null);
-        Type localVarReturnType = new TypeToken<Object>(){}.getType();
-        return apiClient.execute(call, localVarReturnType);
-    }
-
-    /**
-     * Give access to some database (asynchronously)
-     * 
-     * @param body  (required)
-     * @param id  (required)
-     * @param databaseId  (required)
-     * @param callback The callback to be executed when the API call finishes
-     * @return The request call
-     * @throws ApiException If fail to process the API call, e.g. serializing the request body object
-     */
-    public com.squareup.okhttp.Call create1Async(DatabaseGiveAccessDto body, Long id, Long databaseId, final ApiCallback<Object> callback) throws ApiException {
-
-        ProgressResponseBody.ProgressListener progressListener = null;
-        ProgressRequestBody.ProgressRequestListener progressRequestListener = null;
-
-        if (callback != null) {
-            progressListener = new ProgressResponseBody.ProgressListener() {
-                @Override
-                public void update(long bytesRead, long contentLength, boolean done) {
-                    callback.onDownloadProgress(bytesRead, contentLength, done);
-                }
-            };
-
-            progressRequestListener = new ProgressRequestBody.ProgressRequestListener() {
-                @Override
-                public void onRequestProgress(long bytesWritten, long contentLength, boolean done) {
-                    callback.onUploadProgress(bytesWritten, contentLength, done);
-                }
-            };
-        }
-
-        com.squareup.okhttp.Call call = create1ValidateBeforeCall(body, id, databaseId, progressListener, progressRequestListener);
-        Type localVarReturnType = new TypeToken<Object>(){}.getType();
-        apiClient.executeAsync(call, localVarReturnType, callback);
-        return call;
-    }
-    /**
-     * Build call for find
-     * @param id  (required)
-     * @param databaseId  (required)
-     * @param progressListener Progress listener
-     * @param progressRequestListener Progress request listener
-     * @return Call to execute
-     * @throws ApiException If fail to serialize the request body object
-     */
-    public com.squareup.okhttp.Call findCall(Long id, Long databaseId, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
-        Object localVarPostBody = null;
-        
-        // create path and map variables
-        String localVarPath = "/api/container/{id}/database/{databaseId}/access"
-            .replaceAll("\\{" + "id" + "\\}", apiClient.escapeString(id.toString()))
-            .replaceAll("\\{" + "databaseId" + "\\}", apiClient.escapeString(databaseId.toString()));
-
-        List<Pair> localVarQueryParams = new ArrayList<Pair>();
-        List<Pair> localVarCollectionQueryParams = new ArrayList<Pair>();
-
-        Map<String, String> localVarHeaderParams = new HashMap<String, String>();
-
-        Map<String, Object> localVarFormParams = new HashMap<String, Object>();
-
-        final String[] localVarAccepts = {
-            "*/*"
-        };
-        final String localVarAccept = apiClient.selectHeaderAccept(localVarAccepts);
-        if (localVarAccept != null) localVarHeaderParams.put("Accept", localVarAccept);
-
-        final String[] localVarContentTypes = {
-            
-        };
-        final String localVarContentType = apiClient.selectHeaderContentType(localVarContentTypes);
-        localVarHeaderParams.put("Content-Type", localVarContentType);
-
-        if(progressListener != null) {
-            apiClient.getHttpClient().networkInterceptors().add(new com.squareup.okhttp.Interceptor() {
-                @Override
-                public com.squareup.okhttp.Response intercept(Chain chain) throws IOException {
-                    com.squareup.okhttp.Response originalResponse = chain.proceed(chain.request());
-                    return originalResponse.newBuilder()
-                    .body(new ProgressResponseBody(originalResponse.body(), progressListener))
-                    .build();
-                }
-            });
-        }
-
-        String[] localVarAuthNames = new String[] { "bearerAuth" };
-        return apiClient.buildCall(localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarFormParams, localVarAuthNames, progressRequestListener);
-    }
-    
-    @SuppressWarnings("rawtypes")
-    private com.squareup.okhttp.Call findValidateBeforeCall(Long id, Long databaseId, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
-        // verify the required parameter 'id' is set
-        if (id == null) {
-            throw new ApiException("Missing the required parameter 'id' when calling find(Async)");
-        }
-        // verify the required parameter 'databaseId' is set
-        if (databaseId == null) {
-            throw new ApiException("Missing the required parameter 'databaseId' when calling find(Async)");
-        }
-        
-        com.squareup.okhttp.Call call = findCall(id, databaseId, progressListener, progressRequestListener);
-        return call;
-
-        
-        
-        
-        
-    }
-
-    /**
-     * Check access to some database
-     * 
-     * @param id  (required)
-     * @param databaseId  (required)
-     * @return DatabaseAccessDto
-     * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
-     */
-    public DatabaseAccessDto find(Long id, Long databaseId) throws ApiException {
-        ApiResponse<DatabaseAccessDto> resp = findWithHttpInfo(id, databaseId);
-        return resp.getData();
-    }
-
-    /**
-     * Check access to some database
-     * 
-     * @param id  (required)
-     * @param databaseId  (required)
-     * @return ApiResponse&lt;DatabaseAccessDto&gt;
-     * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
-     */
-    public ApiResponse<DatabaseAccessDto> findWithHttpInfo(Long id, Long databaseId) throws ApiException {
-        com.squareup.okhttp.Call call = findValidateBeforeCall(id, databaseId, null, null);
-        Type localVarReturnType = new TypeToken<DatabaseAccessDto>(){}.getType();
-        return apiClient.execute(call, localVarReturnType);
-    }
-
-    /**
-     * Check access to some database (asynchronously)
-     * 
-     * @param id  (required)
-     * @param databaseId  (required)
-     * @param callback The callback to be executed when the API call finishes
-     * @return The request call
-     * @throws ApiException If fail to process the API call, e.g. serializing the request body object
-     */
-    public com.squareup.okhttp.Call findAsync(Long id, Long databaseId, final ApiCallback<DatabaseAccessDto> callback) throws ApiException {
-
-        ProgressResponseBody.ProgressListener progressListener = null;
-        ProgressRequestBody.ProgressRequestListener progressRequestListener = null;
-
-        if (callback != null) {
-            progressListener = new ProgressResponseBody.ProgressListener() {
-                @Override
-                public void update(long bytesRead, long contentLength, boolean done) {
-                    callback.onDownloadProgress(bytesRead, contentLength, done);
-                }
-            };
-
-            progressRequestListener = new ProgressRequestBody.ProgressRequestListener() {
-                @Override
-                public void onRequestProgress(long bytesWritten, long contentLength, boolean done) {
-                    callback.onUploadProgress(bytesWritten, contentLength, done);
-                }
-            };
-        }
-
-        com.squareup.okhttp.Call call = findValidateBeforeCall(id, databaseId, progressListener, progressRequestListener);
-        Type localVarReturnType = new TypeToken<DatabaseAccessDto>(){}.getType();
-        apiClient.executeAsync(call, localVarReturnType, callback);
-        return call;
-    }
-    /**
-     * Build call for update
-     * @param body  (required)
-     * @param id  (required)
-     * @param databaseId  (required)
-     * @param username  (required)
-     * @param progressListener Progress listener
-     * @param progressRequestListener Progress request listener
-     * @return Call to execute
-     * @throws ApiException If fail to serialize the request body object
-     */
-    public com.squareup.okhttp.Call updateCall(DatabaseModifyAccessDto body, Long id, Long databaseId, String username, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
-        Object localVarPostBody = body;
-        
-        // create path and map variables
-        String localVarPath = "/api/container/{id}/database/{databaseId}/access/{username}"
-            .replaceAll("\\{" + "id" + "\\}", apiClient.escapeString(id.toString()))
-            .replaceAll("\\{" + "databaseId" + "\\}", apiClient.escapeString(databaseId.toString()))
-            .replaceAll("\\{" + "username" + "\\}", apiClient.escapeString(username.toString()));
-
-        List<Pair> localVarQueryParams = new ArrayList<Pair>();
-        List<Pair> localVarCollectionQueryParams = new ArrayList<Pair>();
-
-        Map<String, String> localVarHeaderParams = new HashMap<String, String>();
-
-        Map<String, Object> localVarFormParams = new HashMap<String, Object>();
-
-        final String[] localVarAccepts = {
-            "*/*"
-        };
-        final String localVarAccept = apiClient.selectHeaderAccept(localVarAccepts);
-        if (localVarAccept != null) localVarHeaderParams.put("Accept", localVarAccept);
-
-        final String[] localVarContentTypes = {
-            "application/json"
-        };
-        final String localVarContentType = apiClient.selectHeaderContentType(localVarContentTypes);
-        localVarHeaderParams.put("Content-Type", localVarContentType);
-
-        if(progressListener != null) {
-            apiClient.getHttpClient().networkInterceptors().add(new com.squareup.okhttp.Interceptor() {
-                @Override
-                public com.squareup.okhttp.Response intercept(Chain chain) throws IOException {
-                    com.squareup.okhttp.Response originalResponse = chain.proceed(chain.request());
-                    return originalResponse.newBuilder()
-                    .body(new ProgressResponseBody(originalResponse.body(), progressListener))
-                    .build();
-                }
-            });
-        }
-
-        String[] localVarAuthNames = new String[] { "bearerAuth" };
-        return apiClient.buildCall(localVarPath, "PUT", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarFormParams, localVarAuthNames, progressRequestListener);
-    }
-    
-    @SuppressWarnings("rawtypes")
-    private com.squareup.okhttp.Call updateValidateBeforeCall(DatabaseModifyAccessDto body, Long id, Long databaseId, String username, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
-        // verify the required parameter 'body' is set
-        if (body == null) {
-            throw new ApiException("Missing the required parameter 'body' when calling update(Async)");
-        }
-        // verify the required parameter 'id' is set
-        if (id == null) {
-            throw new ApiException("Missing the required parameter 'id' when calling update(Async)");
-        }
-        // verify the required parameter 'databaseId' is set
-        if (databaseId == null) {
-            throw new ApiException("Missing the required parameter 'databaseId' when calling update(Async)");
-        }
-        // verify the required parameter 'username' is set
-        if (username == null) {
-            throw new ApiException("Missing the required parameter 'username' when calling update(Async)");
-        }
-        
-        com.squareup.okhttp.Call call = updateCall(body, id, databaseId, username, progressListener, progressRequestListener);
-        return call;
-
-        
-        
-        
-        
-    }
-
-    /**
-     * Modify access to some database
-     * 
-     * @param body  (required)
-     * @param id  (required)
-     * @param databaseId  (required)
-     * @param username  (required)
-     * @return Object
-     * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
-     */
-    public Object update(DatabaseModifyAccessDto body, Long id, Long databaseId, String username) throws ApiException {
-        ApiResponse<Object> resp = updateWithHttpInfo(body, id, databaseId, username);
-        return resp.getData();
-    }
-
-    /**
-     * Modify access to some database
-     * 
-     * @param body  (required)
-     * @param id  (required)
-     * @param databaseId  (required)
-     * @param username  (required)
-     * @return ApiResponse&lt;Object&gt;
-     * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
-     */
-    public ApiResponse<Object> updateWithHttpInfo(DatabaseModifyAccessDto body, Long id, Long databaseId, String username) throws ApiException {
-        com.squareup.okhttp.Call call = updateValidateBeforeCall(body, id, databaseId, username, null, null);
-        Type localVarReturnType = new TypeToken<Object>(){}.getType();
-        return apiClient.execute(call, localVarReturnType);
-    }
-
-    /**
-     * Modify access to some database (asynchronously)
-     * 
-     * @param body  (required)
-     * @param id  (required)
-     * @param databaseId  (required)
-     * @param username  (required)
-     * @param callback The callback to be executed when the API call finishes
-     * @return The request call
-     * @throws ApiException If fail to process the API call, e.g. serializing the request body object
-     */
-    public com.squareup.okhttp.Call updateAsync(DatabaseModifyAccessDto body, Long id, Long databaseId, String username, final ApiCallback<Object> callback) throws ApiException {
-
-        ProgressResponseBody.ProgressListener progressListener = null;
-        ProgressRequestBody.ProgressRequestListener progressRequestListener = null;
-
-        if (callback != null) {
-            progressListener = new ProgressResponseBody.ProgressListener() {
-                @Override
-                public void update(long bytesRead, long contentLength, boolean done) {
-                    callback.onDownloadProgress(bytesRead, contentLength, done);
-                }
-            };
-
-            progressRequestListener = new ProgressRequestBody.ProgressRequestListener() {
-                @Override
-                public void onRequestProgress(long bytesWritten, long contentLength, boolean done) {
-                    callback.onUploadProgress(bytesWritten, contentLength, done);
-                }
-            };
-        }
-
-        com.squareup.okhttp.Call call = updateValidateBeforeCall(body, id, databaseId, username, progressListener, progressRequestListener);
-        Type localVarReturnType = new TypeToken<Object>(){}.getType();
-        apiClient.executeAsync(call, localVarReturnType, callback);
-        return call;
-    }
-    /**
-     * Build call for update1
-     * @param id  (required)
-     * @param databaseId  (required)
-     * @param username  (required)
-     * @param progressListener Progress listener
-     * @param progressRequestListener Progress request listener
-     * @return Call to execute
-     * @throws ApiException If fail to serialize the request body object
-     */
-    public com.squareup.okhttp.Call update1Call(Long id, Long databaseId, String username, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
-        Object localVarPostBody = null;
-        
-        // create path and map variables
-        String localVarPath = "/api/container/{id}/database/{databaseId}/access/{username}"
-            .replaceAll("\\{" + "id" + "\\}", apiClient.escapeString(id.toString()))
-            .replaceAll("\\{" + "databaseId" + "\\}", apiClient.escapeString(databaseId.toString()))
-            .replaceAll("\\{" + "username" + "\\}", apiClient.escapeString(username.toString()));
-
-        List<Pair> localVarQueryParams = new ArrayList<Pair>();
-        List<Pair> localVarCollectionQueryParams = new ArrayList<Pair>();
-
-        Map<String, String> localVarHeaderParams = new HashMap<String, String>();
-
-        Map<String, Object> localVarFormParams = new HashMap<String, Object>();
-
-        final String[] localVarAccepts = {
-            "*/*"
-        };
-        final String localVarAccept = apiClient.selectHeaderAccept(localVarAccepts);
-        if (localVarAccept != null) localVarHeaderParams.put("Accept", localVarAccept);
-
-        final String[] localVarContentTypes = {
-            
-        };
-        final String localVarContentType = apiClient.selectHeaderContentType(localVarContentTypes);
-        localVarHeaderParams.put("Content-Type", localVarContentType);
-
-        if(progressListener != null) {
-            apiClient.getHttpClient().networkInterceptors().add(new com.squareup.okhttp.Interceptor() {
-                @Override
-                public com.squareup.okhttp.Response intercept(Chain chain) throws IOException {
-                    com.squareup.okhttp.Response originalResponse = chain.proceed(chain.request());
-                    return originalResponse.newBuilder()
-                    .body(new ProgressResponseBody(originalResponse.body(), progressListener))
-                    .build();
-                }
-            });
-        }
-
-        String[] localVarAuthNames = new String[] { "bearerAuth" };
-        return apiClient.buildCall(localVarPath, "DELETE", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarFormParams, localVarAuthNames, progressRequestListener);
-    }
-    
-    @SuppressWarnings("rawtypes")
-    private com.squareup.okhttp.Call update1ValidateBeforeCall(Long id, Long databaseId, String username, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
-        // verify the required parameter 'id' is set
-        if (id == null) {
-            throw new ApiException("Missing the required parameter 'id' when calling update1(Async)");
-        }
-        // verify the required parameter 'databaseId' is set
-        if (databaseId == null) {
-            throw new ApiException("Missing the required parameter 'databaseId' when calling update1(Async)");
-        }
-        // verify the required parameter 'username' is set
-        if (username == null) {
-            throw new ApiException("Missing the required parameter 'username' when calling update1(Async)");
-        }
-        
-        com.squareup.okhttp.Call call = update1Call(id, databaseId, username, progressListener, progressRequestListener);
-        return call;
-
-        
-        
-        
-        
-    }
-
-    /**
-     * Revoke access to some database
-     * 
-     * @param id  (required)
-     * @param databaseId  (required)
-     * @param username  (required)
-     * @return Object
-     * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
-     */
-    public Object update1(Long id, Long databaseId, String username) throws ApiException {
-        ApiResponse<Object> resp = update1WithHttpInfo(id, databaseId, username);
-        return resp.getData();
-    }
-
-    /**
-     * Revoke access to some database
-     * 
-     * @param id  (required)
-     * @param databaseId  (required)
-     * @param username  (required)
-     * @return ApiResponse&lt;Object&gt;
-     * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
-     */
-    public ApiResponse<Object> update1WithHttpInfo(Long id, Long databaseId, String username) throws ApiException {
-        com.squareup.okhttp.Call call = update1ValidateBeforeCall(id, databaseId, username, null, null);
-        Type localVarReturnType = new TypeToken<Object>(){}.getType();
-        return apiClient.execute(call, localVarReturnType);
-    }
-
-    /**
-     * Revoke access to some database (asynchronously)
-     * 
-     * @param id  (required)
-     * @param databaseId  (required)
-     * @param username  (required)
-     * @param callback The callback to be executed when the API call finishes
-     * @return The request call
-     * @throws ApiException If fail to process the API call, e.g. serializing the request body object
-     */
-    public com.squareup.okhttp.Call update1Async(Long id, Long databaseId, String username, final ApiCallback<Object> callback) throws ApiException {
-
-        ProgressResponseBody.ProgressListener progressListener = null;
-        ProgressRequestBody.ProgressRequestListener progressRequestListener = null;
-
-        if (callback != null) {
-            progressListener = new ProgressResponseBody.ProgressListener() {
-                @Override
-                public void update(long bytesRead, long contentLength, boolean done) {
-                    callback.onDownloadProgress(bytesRead, contentLength, done);
-                }
-            };
-
-            progressRequestListener = new ProgressRequestBody.ProgressRequestListener() {
-                @Override
-                public void onRequestProgress(long bytesWritten, long contentLength, boolean done) {
-                    callback.onUploadProgress(bytesWritten, contentLength, done);
-                }
-            };
-        }
-
-        com.squareup.okhttp.Call call = update1ValidateBeforeCall(id, databaseId, username, progressListener, progressRequestListener);
-        Type localVarReturnType = new TypeToken<Object>(){}.getType();
-        apiClient.executeAsync(call, localVarReturnType, callback);
-        return call;
-    }
-}
diff --git a/.java-stubs/src/main/java/io/swagger/client/api/ContainerEndpointApi.java b/.java-stubs/src/main/java/io/swagger/client/api/ContainerEndpointApi.java
deleted file mode 100644
index 73100bca0a..0000000000
--- a/.java-stubs/src/main/java/io/swagger/client/api/ContainerEndpointApi.java
+++ /dev/null
@@ -1,683 +0,0 @@
-/*
- * Database Repository Container Service API
- * Service that manages the containers
- *
- * OpenAPI spec version: 1.1.0-alpha
- * Contact: andreas.rauber@tuwien.ac.at
- *
- * NOTE: This class is auto generated by the swagger code generator program.
- * https://github.com/swagger-api/swagger-codegen.git
- * Do not edit the class manually.
- */
-
-package io.swagger.client.api;
-
-import io.swagger.client.ApiCallback;
-import io.swagger.client.ApiClient;
-import io.swagger.client.ApiException;
-import io.swagger.client.ApiResponse;
-import io.swagger.client.Configuration;
-import io.swagger.client.Pair;
-import io.swagger.client.ProgressRequestBody;
-import io.swagger.client.ProgressResponseBody;
-
-import com.google.gson.reflect.TypeToken;
-
-import java.io.IOException;
-
-
-import io.swagger.client.model.ApiErrorDto;
-import io.swagger.client.model.ContainerBriefDto;
-import io.swagger.client.model.ContainerChangeDto;
-import io.swagger.client.model.ContainerCreateRequestDto;
-import io.swagger.client.model.ContainerDto;
-
-import java.lang.reflect.Type;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-public class ContainerEndpointApi {
-    private ApiClient apiClient;
-
-    public ContainerEndpointApi() {
-        this(Configuration.getDefaultApiClient());
-    }
-
-    public ContainerEndpointApi(ApiClient apiClient) {
-        this.apiClient = apiClient;
-    }
-
-    public ApiClient getApiClient() {
-        return apiClient;
-    }
-
-    public void setApiClient(ApiClient apiClient) {
-        this.apiClient = apiClient;
-    }
-
-    /**
-     * Build call for create1
-     * @param body  (required)
-     * @param progressListener Progress listener
-     * @param progressRequestListener Progress request listener
-     * @return Call to execute
-     * @throws ApiException If fail to serialize the request body object
-     */
-    public com.squareup.okhttp.Call create1Call(ContainerCreateRequestDto body, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
-        Object localVarPostBody = body;
-        
-        // create path and map variables
-        String localVarPath = "/api/container";
-
-        List<Pair> localVarQueryParams = new ArrayList<Pair>();
-        List<Pair> localVarCollectionQueryParams = new ArrayList<Pair>();
-
-        Map<String, String> localVarHeaderParams = new HashMap<String, String>();
-
-        Map<String, Object> localVarFormParams = new HashMap<String, Object>();
-
-        final String[] localVarAccepts = {
-            "*/*"
-        };
-        final String localVarAccept = apiClient.selectHeaderAccept(localVarAccepts);
-        if (localVarAccept != null) localVarHeaderParams.put("Accept", localVarAccept);
-
-        final String[] localVarContentTypes = {
-            "application/json"
-        };
-        final String localVarContentType = apiClient.selectHeaderContentType(localVarContentTypes);
-        localVarHeaderParams.put("Content-Type", localVarContentType);
-
-        if(progressListener != null) {
-            apiClient.getHttpClient().networkInterceptors().add(new com.squareup.okhttp.Interceptor() {
-                @Override
-                public com.squareup.okhttp.Response intercept(com.squareup.okhttp.Interceptor.Chain chain) throws IOException {
-                    com.squareup.okhttp.Response originalResponse = chain.proceed(chain.request());
-                    return originalResponse.newBuilder()
-                    .body(new ProgressResponseBody(originalResponse.body(), progressListener))
-                    .build();
-                }
-            });
-        }
-
-        String[] localVarAuthNames = new String[] { "bearerAuth" };
-        return apiClient.buildCall(localVarPath, "POST", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarFormParams, localVarAuthNames, progressRequestListener);
-    }
-    
-    @SuppressWarnings("rawtypes")
-    private com.squareup.okhttp.Call create1ValidateBeforeCall(ContainerCreateRequestDto body, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
-        // verify the required parameter 'body' is set
-        if (body == null) {
-            throw new ApiException("Missing the required parameter 'body' when calling create1(Async)");
-        }
-        
-        com.squareup.okhttp.Call call = create1Call(body, progressListener, progressRequestListener);
-        return call;
-
-        
-        
-        
-        
-    }
-
-    /**
-     * Create container
-     * 
-     * @param body  (required)
-     * @return ContainerBriefDto
-     * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
-     */
-    public ContainerBriefDto create1(ContainerCreateRequestDto body) throws ApiException {
-        ApiResponse<ContainerBriefDto> resp = create1WithHttpInfo(body);
-        return resp.getData();
-    }
-
-    /**
-     * Create container
-     * 
-     * @param body  (required)
-     * @return ApiResponse&lt;ContainerBriefDto&gt;
-     * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
-     */
-    public ApiResponse<ContainerBriefDto> create1WithHttpInfo(ContainerCreateRequestDto body) throws ApiException {
-        com.squareup.okhttp.Call call = create1ValidateBeforeCall(body, null, null);
-        Type localVarReturnType = new TypeToken<ContainerBriefDto>(){}.getType();
-        return apiClient.execute(call, localVarReturnType);
-    }
-
-    /**
-     * Create container (asynchronously)
-     * 
-     * @param body  (required)
-     * @param callback The callback to be executed when the API call finishes
-     * @return The request call
-     * @throws ApiException If fail to process the API call, e.g. serializing the request body object
-     */
-    public com.squareup.okhttp.Call create1Async(ContainerCreateRequestDto body, final ApiCallback<ContainerBriefDto> callback) throws ApiException {
-
-        ProgressResponseBody.ProgressListener progressListener = null;
-        ProgressRequestBody.ProgressRequestListener progressRequestListener = null;
-
-        if (callback != null) {
-            progressListener = new ProgressResponseBody.ProgressListener() {
-                @Override
-                public void update(long bytesRead, long contentLength, boolean done) {
-                    callback.onDownloadProgress(bytesRead, contentLength, done);
-                }
-            };
-
-            progressRequestListener = new ProgressRequestBody.ProgressRequestListener() {
-                @Override
-                public void onRequestProgress(long bytesWritten, long contentLength, boolean done) {
-                    callback.onUploadProgress(bytesWritten, contentLength, done);
-                }
-            };
-        }
-
-        com.squareup.okhttp.Call call = create1ValidateBeforeCall(body, progressListener, progressRequestListener);
-        Type localVarReturnType = new TypeToken<ContainerBriefDto>(){}.getType();
-        apiClient.executeAsync(call, localVarReturnType, callback);
-        return call;
-    }
-    /**
-     * Build call for delete1
-     * @param id  (required)
-     * @param progressListener Progress listener
-     * @param progressRequestListener Progress request listener
-     * @return Call to execute
-     * @throws ApiException If fail to serialize the request body object
-     */
-    public com.squareup.okhttp.Call delete1Call(Long id, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
-        Object localVarPostBody = null;
-        
-        // create path and map variables
-        String localVarPath = "/api/container/{id}"
-            .replaceAll("\\{" + "id" + "\\}", apiClient.escapeString(id.toString()));
-
-        List<Pair> localVarQueryParams = new ArrayList<Pair>();
-        List<Pair> localVarCollectionQueryParams = new ArrayList<Pair>();
-
-        Map<String, String> localVarHeaderParams = new HashMap<String, String>();
-
-        Map<String, Object> localVarFormParams = new HashMap<String, Object>();
-
-        final String[] localVarAccepts = {
-            "*/*"
-        };
-        final String localVarAccept = apiClient.selectHeaderAccept(localVarAccepts);
-        if (localVarAccept != null) localVarHeaderParams.put("Accept", localVarAccept);
-
-        final String[] localVarContentTypes = {
-            
-        };
-        final String localVarContentType = apiClient.selectHeaderContentType(localVarContentTypes);
-        localVarHeaderParams.put("Content-Type", localVarContentType);
-
-        if(progressListener != null) {
-            apiClient.getHttpClient().networkInterceptors().add(new com.squareup.okhttp.Interceptor() {
-                @Override
-                public com.squareup.okhttp.Response intercept(com.squareup.okhttp.Interceptor.Chain chain) throws IOException {
-                    com.squareup.okhttp.Response originalResponse = chain.proceed(chain.request());
-                    return originalResponse.newBuilder()
-                    .body(new ProgressResponseBody(originalResponse.body(), progressListener))
-                    .build();
-                }
-            });
-        }
-
-        String[] localVarAuthNames = new String[] { "bearerAuth" };
-        return apiClient.buildCall(localVarPath, "DELETE", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarFormParams, localVarAuthNames, progressRequestListener);
-    }
-    
-    @SuppressWarnings("rawtypes")
-    private com.squareup.okhttp.Call delete1ValidateBeforeCall(Long id, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
-        // verify the required parameter 'id' is set
-        if (id == null) {
-            throw new ApiException("Missing the required parameter 'id' when calling delete1(Async)");
-        }
-        
-        com.squareup.okhttp.Call call = delete1Call(id, progressListener, progressRequestListener);
-        return call;
-
-        
-        
-        
-        
-    }
-
-    /**
-     * Delete some container
-     * 
-     * @param id  (required)
-     * @return Object
-     * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
-     */
-    public Object delete1(Long id) throws ApiException {
-        ApiResponse<Object> resp = delete1WithHttpInfo(id);
-        return resp.getData();
-    }
-
-    /**
-     * Delete some container
-     * 
-     * @param id  (required)
-     * @return ApiResponse&lt;Object&gt;
-     * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
-     */
-    public ApiResponse<Object> delete1WithHttpInfo(Long id) throws ApiException {
-        com.squareup.okhttp.Call call = delete1ValidateBeforeCall(id, null, null);
-        Type localVarReturnType = new TypeToken<Object>(){}.getType();
-        return apiClient.execute(call, localVarReturnType);
-    }
-
-    /**
-     * Delete some container (asynchronously)
-     * 
-     * @param id  (required)
-     * @param callback The callback to be executed when the API call finishes
-     * @return The request call
-     * @throws ApiException If fail to process the API call, e.g. serializing the request body object
-     */
-    public com.squareup.okhttp.Call delete1Async(Long id, final ApiCallback<Object> callback) throws ApiException {
-
-        ProgressResponseBody.ProgressListener progressListener = null;
-        ProgressRequestBody.ProgressRequestListener progressRequestListener = null;
-
-        if (callback != null) {
-            progressListener = new ProgressResponseBody.ProgressListener() {
-                @Override
-                public void update(long bytesRead, long contentLength, boolean done) {
-                    callback.onDownloadProgress(bytesRead, contentLength, done);
-                }
-            };
-
-            progressRequestListener = new ProgressRequestBody.ProgressRequestListener() {
-                @Override
-                public void onRequestProgress(long bytesWritten, long contentLength, boolean done) {
-                    callback.onUploadProgress(bytesWritten, contentLength, done);
-                }
-            };
-        }
-
-        com.squareup.okhttp.Call call = delete1ValidateBeforeCall(id, progressListener, progressRequestListener);
-        Type localVarReturnType = new TypeToken<Object>(){}.getType();
-        apiClient.executeAsync(call, localVarReturnType, callback);
-        return call;
-    }
-    /**
-     * Build call for findAll1
-     * @param progressListener Progress listener
-     * @param progressRequestListener Progress request listener
-     * @return Call to execute
-     * @throws ApiException If fail to serialize the request body object
-     */
-    public com.squareup.okhttp.Call findAll1Call(final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
-        Object localVarPostBody = null;
-        
-        // create path and map variables
-        String localVarPath = "/api/container";
-
-        List<Pair> localVarQueryParams = new ArrayList<Pair>();
-        List<Pair> localVarCollectionQueryParams = new ArrayList<Pair>();
-
-        Map<String, String> localVarHeaderParams = new HashMap<String, String>();
-
-        Map<String, Object> localVarFormParams = new HashMap<String, Object>();
-
-        final String[] localVarAccepts = {
-            "*/*"
-        };
-        final String localVarAccept = apiClient.selectHeaderAccept(localVarAccepts);
-        if (localVarAccept != null) localVarHeaderParams.put("Accept", localVarAccept);
-
-        final String[] localVarContentTypes = {
-            
-        };
-        final String localVarContentType = apiClient.selectHeaderContentType(localVarContentTypes);
-        localVarHeaderParams.put("Content-Type", localVarContentType);
-
-        if(progressListener != null) {
-            apiClient.getHttpClient().networkInterceptors().add(new com.squareup.okhttp.Interceptor() {
-                @Override
-                public com.squareup.okhttp.Response intercept(com.squareup.okhttp.Interceptor.Chain chain) throws IOException {
-                    com.squareup.okhttp.Response originalResponse = chain.proceed(chain.request());
-                    return originalResponse.newBuilder()
-                    .body(new ProgressResponseBody(originalResponse.body(), progressListener))
-                    .build();
-                }
-            });
-        }
-
-        String[] localVarAuthNames = new String[] {  };
-        return apiClient.buildCall(localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarFormParams, localVarAuthNames, progressRequestListener);
-    }
-    
-    @SuppressWarnings("rawtypes")
-    private com.squareup.okhttp.Call findAll1ValidateBeforeCall(final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
-        
-        com.squareup.okhttp.Call call = findAll1Call(progressListener, progressRequestListener);
-        return call;
-
-        
-        
-        
-        
-    }
-
-    /**
-     * Find all containers
-     * 
-     * @return List&lt;ContainerBriefDto&gt;
-     * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
-     */
-    public List<ContainerBriefDto> findAll1() throws ApiException {
-        ApiResponse<List<ContainerBriefDto>> resp = findAll1WithHttpInfo();
-        return resp.getData();
-    }
-
-    /**
-     * Find all containers
-     * 
-     * @return ApiResponse&lt;List&lt;ContainerBriefDto&gt;&gt;
-     * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
-     */
-    public ApiResponse<List<ContainerBriefDto>> findAll1WithHttpInfo() throws ApiException {
-        com.squareup.okhttp.Call call = findAll1ValidateBeforeCall(null, null);
-        Type localVarReturnType = new TypeToken<List<ContainerBriefDto>>(){}.getType();
-        return apiClient.execute(call, localVarReturnType);
-    }
-
-    /**
-     * Find all containers (asynchronously)
-     * 
-     * @param callback The callback to be executed when the API call finishes
-     * @return The request call
-     * @throws ApiException If fail to process the API call, e.g. serializing the request body object
-     */
-    public com.squareup.okhttp.Call findAll1Async(final ApiCallback<List<ContainerBriefDto>> callback) throws ApiException {
-
-        ProgressResponseBody.ProgressListener progressListener = null;
-        ProgressRequestBody.ProgressRequestListener progressRequestListener = null;
-
-        if (callback != null) {
-            progressListener = new ProgressResponseBody.ProgressListener() {
-                @Override
-                public void update(long bytesRead, long contentLength, boolean done) {
-                    callback.onDownloadProgress(bytesRead, contentLength, done);
-                }
-            };
-
-            progressRequestListener = new ProgressRequestBody.ProgressRequestListener() {
-                @Override
-                public void onRequestProgress(long bytesWritten, long contentLength, boolean done) {
-                    callback.onUploadProgress(bytesWritten, contentLength, done);
-                }
-            };
-        }
-
-        com.squareup.okhttp.Call call = findAll1ValidateBeforeCall(progressListener, progressRequestListener);
-        Type localVarReturnType = new TypeToken<List<ContainerBriefDto>>(){}.getType();
-        apiClient.executeAsync(call, localVarReturnType, callback);
-        return call;
-    }
-    /**
-     * Build call for findById1
-     * @param id  (required)
-     * @param progressListener Progress listener
-     * @param progressRequestListener Progress request listener
-     * @return Call to execute
-     * @throws ApiException If fail to serialize the request body object
-     */
-    public com.squareup.okhttp.Call findById1Call(Long id, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
-        Object localVarPostBody = null;
-        
-        // create path and map variables
-        String localVarPath = "/api/container/{id}"
-            .replaceAll("\\{" + "id" + "\\}", apiClient.escapeString(id.toString()));
-
-        List<Pair> localVarQueryParams = new ArrayList<Pair>();
-        List<Pair> localVarCollectionQueryParams = new ArrayList<Pair>();
-
-        Map<String, String> localVarHeaderParams = new HashMap<String, String>();
-
-        Map<String, Object> localVarFormParams = new HashMap<String, Object>();
-
-        final String[] localVarAccepts = {
-            "*/*"
-        };
-        final String localVarAccept = apiClient.selectHeaderAccept(localVarAccepts);
-        if (localVarAccept != null) localVarHeaderParams.put("Accept", localVarAccept);
-
-        final String[] localVarContentTypes = {
-            
-        };
-        final String localVarContentType = apiClient.selectHeaderContentType(localVarContentTypes);
-        localVarHeaderParams.put("Content-Type", localVarContentType);
-
-        if(progressListener != null) {
-            apiClient.getHttpClient().networkInterceptors().add(new com.squareup.okhttp.Interceptor() {
-                @Override
-                public com.squareup.okhttp.Response intercept(com.squareup.okhttp.Interceptor.Chain chain) throws IOException {
-                    com.squareup.okhttp.Response originalResponse = chain.proceed(chain.request());
-                    return originalResponse.newBuilder()
-                    .body(new ProgressResponseBody(originalResponse.body(), progressListener))
-                    .build();
-                }
-            });
-        }
-
-        String[] localVarAuthNames = new String[] {  };
-        return apiClient.buildCall(localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarFormParams, localVarAuthNames, progressRequestListener);
-    }
-    
-    @SuppressWarnings("rawtypes")
-    private com.squareup.okhttp.Call findById1ValidateBeforeCall(Long id, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
-        // verify the required parameter 'id' is set
-        if (id == null) {
-            throw new ApiException("Missing the required parameter 'id' when calling findById1(Async)");
-        }
-        
-        com.squareup.okhttp.Call call = findById1Call(id, progressListener, progressRequestListener);
-        return call;
-
-        
-        
-        
-        
-    }
-
-    /**
-     * Find some container
-     * 
-     * @param id  (required)
-     * @return ContainerDto
-     * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
-     */
-    public ContainerDto findById1(Long id) throws ApiException {
-        ApiResponse<ContainerDto> resp = findById1WithHttpInfo(id);
-        return resp.getData();
-    }
-
-    /**
-     * Find some container
-     * 
-     * @param id  (required)
-     * @return ApiResponse&lt;ContainerDto&gt;
-     * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
-     */
-    public ApiResponse<ContainerDto> findById1WithHttpInfo(Long id) throws ApiException {
-        com.squareup.okhttp.Call call = findById1ValidateBeforeCall(id, null, null);
-        Type localVarReturnType = new TypeToken<ContainerDto>(){}.getType();
-        return apiClient.execute(call, localVarReturnType);
-    }
-
-    /**
-     * Find some container (asynchronously)
-     * 
-     * @param id  (required)
-     * @param callback The callback to be executed when the API call finishes
-     * @return The request call
-     * @throws ApiException If fail to process the API call, e.g. serializing the request body object
-     */
-    public com.squareup.okhttp.Call findById1Async(Long id, final ApiCallback<ContainerDto> callback) throws ApiException {
-
-        ProgressResponseBody.ProgressListener progressListener = null;
-        ProgressRequestBody.ProgressRequestListener progressRequestListener = null;
-
-        if (callback != null) {
-            progressListener = new ProgressResponseBody.ProgressListener() {
-                @Override
-                public void update(long bytesRead, long contentLength, boolean done) {
-                    callback.onDownloadProgress(bytesRead, contentLength, done);
-                }
-            };
-
-            progressRequestListener = new ProgressRequestBody.ProgressRequestListener() {
-                @Override
-                public void onRequestProgress(long bytesWritten, long contentLength, boolean done) {
-                    callback.onUploadProgress(bytesWritten, contentLength, done);
-                }
-            };
-        }
-
-        com.squareup.okhttp.Call call = findById1ValidateBeforeCall(id, progressListener, progressRequestListener);
-        Type localVarReturnType = new TypeToken<ContainerDto>(){}.getType();
-        apiClient.executeAsync(call, localVarReturnType, callback);
-        return call;
-    }
-    /**
-     * Build call for modify
-     * @param body  (required)
-     * @param id  (required)
-     * @param progressListener Progress listener
-     * @param progressRequestListener Progress request listener
-     * @return Call to execute
-     * @throws ApiException If fail to serialize the request body object
-     */
-    public com.squareup.okhttp.Call modifyCall(ContainerChangeDto body, Long id, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
-        Object localVarPostBody = body;
-        
-        // create path and map variables
-        String localVarPath = "/api/container/{id}"
-            .replaceAll("\\{" + "id" + "\\}", apiClient.escapeString(id.toString()));
-
-        List<Pair> localVarQueryParams = new ArrayList<Pair>();
-        List<Pair> localVarCollectionQueryParams = new ArrayList<Pair>();
-
-        Map<String, String> localVarHeaderParams = new HashMap<String, String>();
-
-        Map<String, Object> localVarFormParams = new HashMap<String, Object>();
-
-        final String[] localVarAccepts = {
-            "*/*"
-        };
-        final String localVarAccept = apiClient.selectHeaderAccept(localVarAccepts);
-        if (localVarAccept != null) localVarHeaderParams.put("Accept", localVarAccept);
-
-        final String[] localVarContentTypes = {
-            "application/json"
-        };
-        final String localVarContentType = apiClient.selectHeaderContentType(localVarContentTypes);
-        localVarHeaderParams.put("Content-Type", localVarContentType);
-
-        if(progressListener != null) {
-            apiClient.getHttpClient().networkInterceptors().add(new com.squareup.okhttp.Interceptor() {
-                @Override
-                public com.squareup.okhttp.Response intercept(com.squareup.okhttp.Interceptor.Chain chain) throws IOException {
-                    com.squareup.okhttp.Response originalResponse = chain.proceed(chain.request());
-                    return originalResponse.newBuilder()
-                    .body(new ProgressResponseBody(originalResponse.body(), progressListener))
-                    .build();
-                }
-            });
-        }
-
-        String[] localVarAuthNames = new String[] { "bearerAuth" };
-        return apiClient.buildCall(localVarPath, "PUT", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarFormParams, localVarAuthNames, progressRequestListener);
-    }
-    
-    @SuppressWarnings("rawtypes")
-    private com.squareup.okhttp.Call modifyValidateBeforeCall(ContainerChangeDto body, Long id, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
-        // verify the required parameter 'body' is set
-        if (body == null) {
-            throw new ApiException("Missing the required parameter 'body' when calling modify(Async)");
-        }
-        // verify the required parameter 'id' is set
-        if (id == null) {
-            throw new ApiException("Missing the required parameter 'id' when calling modify(Async)");
-        }
-        
-        com.squareup.okhttp.Call call = modifyCall(body, id, progressListener, progressRequestListener);
-        return call;
-
-        
-        
-        
-        
-    }
-
-    /**
-     * Modify some container
-     * 
-     * @param body  (required)
-     * @param id  (required)
-     * @return ContainerBriefDto
-     * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
-     */
-    public ContainerBriefDto modify(ContainerChangeDto body, Long id) throws ApiException {
-        ApiResponse<ContainerBriefDto> resp = modifyWithHttpInfo(body, id);
-        return resp.getData();
-    }
-
-    /**
-     * Modify some container
-     * 
-     * @param body  (required)
-     * @param id  (required)
-     * @return ApiResponse&lt;ContainerBriefDto&gt;
-     * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
-     */
-    public ApiResponse<ContainerBriefDto> modifyWithHttpInfo(ContainerChangeDto body, Long id) throws ApiException {
-        com.squareup.okhttp.Call call = modifyValidateBeforeCall(body, id, null, null);
-        Type localVarReturnType = new TypeToken<ContainerBriefDto>(){}.getType();
-        return apiClient.execute(call, localVarReturnType);
-    }
-
-    /**
-     * Modify some container (asynchronously)
-     * 
-     * @param body  (required)
-     * @param id  (required)
-     * @param callback The callback to be executed when the API call finishes
-     * @return The request call
-     * @throws ApiException If fail to process the API call, e.g. serializing the request body object
-     */
-    public com.squareup.okhttp.Call modifyAsync(ContainerChangeDto body, Long id, final ApiCallback<ContainerBriefDto> callback) throws ApiException {
-
-        ProgressResponseBody.ProgressListener progressListener = null;
-        ProgressRequestBody.ProgressRequestListener progressRequestListener = null;
-
-        if (callback != null) {
-            progressListener = new ProgressResponseBody.ProgressListener() {
-                @Override
-                public void update(long bytesRead, long contentLength, boolean done) {
-                    callback.onDownloadProgress(bytesRead, contentLength, done);
-                }
-            };
-
-            progressRequestListener = new ProgressRequestBody.ProgressRequestListener() {
-                @Override
-                public void onRequestProgress(long bytesWritten, long contentLength, boolean done) {
-                    callback.onUploadProgress(bytesWritten, contentLength, done);
-                }
-            };
-        }
-
-        com.squareup.okhttp.Call call = modifyValidateBeforeCall(body, id, progressListener, progressRequestListener);
-        Type localVarReturnType = new TypeToken<ContainerBriefDto>(){}.getType();
-        apiClient.executeAsync(call, localVarReturnType, callback);
-        return call;
-    }
-}
diff --git a/.java-stubs/src/main/java/io/swagger/client/api/DatabaseEndpointApi.java b/.java-stubs/src/main/java/io/swagger/client/api/DatabaseEndpointApi.java
deleted file mode 100644
index 3340f45235..0000000000
--- a/.java-stubs/src/main/java/io/swagger/client/api/DatabaseEndpointApi.java
+++ /dev/null
@@ -1,716 +0,0 @@
-/*
- * Database Repository Database Service API
- * Service that manages the databases
- *
- * OpenAPI spec version: 1.1.0-alpha
- * Contact: andreas.rauber@tuwien.ac.at
- *
- * NOTE: This class is auto generated by the swagger code generator program.
- * https://github.com/swagger-api/swagger-codegen.git
- * Do not edit the class manually.
- */
-
-package io.swagger.client.api;
-
-import com.google.gson.reflect.TypeToken;
-import io.swagger.client.*;
-import io.swagger.client.model.DatabaseBriefDto;
-import io.swagger.client.model.DatabaseCreateDto;
-import io.swagger.client.model.DatabaseDto;
-import io.swagger.client.model.DatabaseTransferDto;
-
-import java.io.IOException;
-import java.lang.reflect.Type;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-public class DatabaseEndpointApi {
-    private ApiClient apiClient;
-
-    public DatabaseEndpointApi() {
-        this(Configuration.getDefaultApiClient());
-    }
-
-    public DatabaseEndpointApi(ApiClient apiClient) {
-        this.apiClient = apiClient;
-    }
-
-    public ApiClient getApiClient() {
-        return apiClient;
-    }
-
-    public void setApiClient(ApiClient apiClient) {
-        this.apiClient = apiClient;
-    }
-
-    /**
-     * Build call for create
-     * @param body  (required)
-     * @param id  (required)
-     * @param progressListener Progress listener
-     * @param progressRequestListener Progress request listener
-     * @return Call to execute
-     * @throws ApiException If fail to serialize the request body object
-     */
-    public com.squareup.okhttp.Call createCall(DatabaseCreateDto body, Long id, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
-        Object localVarPostBody = body;
-        
-        // create path and map variables
-        String localVarPath = "/api/container/{id}/database"
-            .replaceAll("\\{" + "id" + "\\}", apiClient.escapeString(id.toString()));
-
-        List<Pair> localVarQueryParams = new ArrayList<Pair>();
-        List<Pair> localVarCollectionQueryParams = new ArrayList<Pair>();
-
-        Map<String, String> localVarHeaderParams = new HashMap<String, String>();
-
-        Map<String, Object> localVarFormParams = new HashMap<String, Object>();
-
-        final String[] localVarAccepts = {
-            "*/*"
-        };
-        final String localVarAccept = apiClient.selectHeaderAccept(localVarAccepts);
-        if (localVarAccept != null) localVarHeaderParams.put("Accept", localVarAccept);
-
-        final String[] localVarContentTypes = {
-            "application/json"
-        };
-        final String localVarContentType = apiClient.selectHeaderContentType(localVarContentTypes);
-        localVarHeaderParams.put("Content-Type", localVarContentType);
-
-        if(progressListener != null) {
-            apiClient.getHttpClient().networkInterceptors().add(new com.squareup.okhttp.Interceptor() {
-                @Override
-                public com.squareup.okhttp.Response intercept(Chain chain) throws IOException {
-                    com.squareup.okhttp.Response originalResponse = chain.proceed(chain.request());
-                    return originalResponse.newBuilder()
-                    .body(new ProgressResponseBody(originalResponse.body(), progressListener))
-                    .build();
-                }
-            });
-        }
-
-        String[] localVarAuthNames = new String[] { "bearerAuth" };
-        return apiClient.buildCall(localVarPath, "POST", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarFormParams, localVarAuthNames, progressRequestListener);
-    }
-    
-    @SuppressWarnings("rawtypes")
-    private com.squareup.okhttp.Call createValidateBeforeCall(DatabaseCreateDto body, Long id, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
-        // verify the required parameter 'body' is set
-        if (body == null) {
-            throw new ApiException("Missing the required parameter 'body' when calling create(Async)");
-        }
-        // verify the required parameter 'id' is set
-        if (id == null) {
-            throw new ApiException("Missing the required parameter 'id' when calling create(Async)");
-        }
-        
-        com.squareup.okhttp.Call call = createCall(body, id, progressListener, progressRequestListener);
-        return call;
-
-        
-        
-        
-        
-    }
-
-    /**
-     * Create database
-     * 
-     * @param body  (required)
-     * @param id  (required)
-     * @return DatabaseBriefDto
-     * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
-     */
-    public DatabaseBriefDto create(DatabaseCreateDto body, Long id) throws ApiException {
-        ApiResponse<DatabaseBriefDto> resp = createWithHttpInfo(body, id);
-        return resp.getData();
-    }
-
-    /**
-     * Create database
-     * 
-     * @param body  (required)
-     * @param id  (required)
-     * @return ApiResponse&lt;DatabaseBriefDto&gt;
-     * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
-     */
-    public ApiResponse<DatabaseBriefDto> createWithHttpInfo(DatabaseCreateDto body, Long id) throws ApiException {
-        com.squareup.okhttp.Call call = createValidateBeforeCall(body, id, null, null);
-        Type localVarReturnType = new TypeToken<DatabaseBriefDto>(){}.getType();
-        return apiClient.execute(call, localVarReturnType);
-    }
-
-    /**
-     * Create database (asynchronously)
-     * 
-     * @param body  (required)
-     * @param id  (required)
-     * @param callback The callback to be executed when the API call finishes
-     * @return The request call
-     * @throws ApiException If fail to process the API call, e.g. serializing the request body object
-     */
-    public com.squareup.okhttp.Call createAsync(DatabaseCreateDto body, Long id, final ApiCallback<DatabaseBriefDto> callback) throws ApiException {
-
-        ProgressResponseBody.ProgressListener progressListener = null;
-        ProgressRequestBody.ProgressRequestListener progressRequestListener = null;
-
-        if (callback != null) {
-            progressListener = new ProgressResponseBody.ProgressListener() {
-                @Override
-                public void update(long bytesRead, long contentLength, boolean done) {
-                    callback.onDownloadProgress(bytesRead, contentLength, done);
-                }
-            };
-
-            progressRequestListener = new ProgressRequestBody.ProgressRequestListener() {
-                @Override
-                public void onRequestProgress(long bytesWritten, long contentLength, boolean done) {
-                    callback.onUploadProgress(bytesWritten, contentLength, done);
-                }
-            };
-        }
-
-        com.squareup.okhttp.Call call = createValidateBeforeCall(body, id, progressListener, progressRequestListener);
-        Type localVarReturnType = new TypeToken<DatabaseBriefDto>(){}.getType();
-        apiClient.executeAsync(call, localVarReturnType, callback);
-        return call;
-    }
-    /**
-     * Build call for delete
-     * @param id  (required)
-     * @param databaseId  (required)
-     * @param progressListener Progress listener
-     * @param progressRequestListener Progress request listener
-     * @return Call to execute
-     * @throws ApiException If fail to serialize the request body object
-     */
-    public com.squareup.okhttp.Call deleteCall(Long id, Long databaseId, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
-        Object localVarPostBody = null;
-        
-        // create path and map variables
-        String localVarPath = "/api/container/{id}/database/{databaseId}"
-            .replaceAll("\\{" + "id" + "\\}", apiClient.escapeString(id.toString()))
-            .replaceAll("\\{" + "databaseId" + "\\}", apiClient.escapeString(databaseId.toString()));
-
-        List<Pair> localVarQueryParams = new ArrayList<Pair>();
-        List<Pair> localVarCollectionQueryParams = new ArrayList<Pair>();
-
-        Map<String, String> localVarHeaderParams = new HashMap<String, String>();
-
-        Map<String, Object> localVarFormParams = new HashMap<String, Object>();
-
-        final String[] localVarAccepts = {
-            "*/*"
-        };
-        final String localVarAccept = apiClient.selectHeaderAccept(localVarAccepts);
-        if (localVarAccept != null) localVarHeaderParams.put("Accept", localVarAccept);
-
-        final String[] localVarContentTypes = {
-            
-        };
-        final String localVarContentType = apiClient.selectHeaderContentType(localVarContentTypes);
-        localVarHeaderParams.put("Content-Type", localVarContentType);
-
-        if(progressListener != null) {
-            apiClient.getHttpClient().networkInterceptors().add(new com.squareup.okhttp.Interceptor() {
-                @Override
-                public com.squareup.okhttp.Response intercept(Chain chain) throws IOException {
-                    com.squareup.okhttp.Response originalResponse = chain.proceed(chain.request());
-                    return originalResponse.newBuilder()
-                    .body(new ProgressResponseBody(originalResponse.body(), progressListener))
-                    .build();
-                }
-            });
-        }
-
-        String[] localVarAuthNames = new String[] { "bearerAuth" };
-        return apiClient.buildCall(localVarPath, "DELETE", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarFormParams, localVarAuthNames, progressRequestListener);
-    }
-    
-    @SuppressWarnings("rawtypes")
-    private com.squareup.okhttp.Call deleteValidateBeforeCall(Long id, Long databaseId, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
-        // verify the required parameter 'id' is set
-        if (id == null) {
-            throw new ApiException("Missing the required parameter 'id' when calling delete(Async)");
-        }
-        // verify the required parameter 'databaseId' is set
-        if (databaseId == null) {
-            throw new ApiException("Missing the required parameter 'databaseId' when calling delete(Async)");
-        }
-        
-        com.squareup.okhttp.Call call = deleteCall(id, databaseId, progressListener, progressRequestListener);
-        return call;
-
-        
-        
-        
-        
-    }
-
-    /**
-     * Delete some database
-     * 
-     * @param id  (required)
-     * @param databaseId  (required)
-     * @return Object
-     * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
-     */
-    public Object delete(Long id, Long databaseId) throws ApiException {
-        ApiResponse<Object> resp = deleteWithHttpInfo(id, databaseId);
-        return resp.getData();
-    }
-
-    /**
-     * Delete some database
-     * 
-     * @param id  (required)
-     * @param databaseId  (required)
-     * @return ApiResponse&lt;Object&gt;
-     * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
-     */
-    public ApiResponse<Object> deleteWithHttpInfo(Long id, Long databaseId) throws ApiException {
-        com.squareup.okhttp.Call call = deleteValidateBeforeCall(id, databaseId, null, null);
-        Type localVarReturnType = new TypeToken<Object>(){}.getType();
-        return apiClient.execute(call, localVarReturnType);
-    }
-
-    /**
-     * Delete some database (asynchronously)
-     * 
-     * @param id  (required)
-     * @param databaseId  (required)
-     * @param callback The callback to be executed when the API call finishes
-     * @return The request call
-     * @throws ApiException If fail to process the API call, e.g. serializing the request body object
-     */
-    public com.squareup.okhttp.Call deleteAsync(Long id, Long databaseId, final ApiCallback<Object> callback) throws ApiException {
-
-        ProgressResponseBody.ProgressListener progressListener = null;
-        ProgressRequestBody.ProgressRequestListener progressRequestListener = null;
-
-        if (callback != null) {
-            progressListener = new ProgressResponseBody.ProgressListener() {
-                @Override
-                public void update(long bytesRead, long contentLength, boolean done) {
-                    callback.onDownloadProgress(bytesRead, contentLength, done);
-                }
-            };
-
-            progressRequestListener = new ProgressRequestBody.ProgressRequestListener() {
-                @Override
-                public void onRequestProgress(long bytesWritten, long contentLength, boolean done) {
-                    callback.onUploadProgress(bytesWritten, contentLength, done);
-                }
-            };
-        }
-
-        com.squareup.okhttp.Call call = deleteValidateBeforeCall(id, databaseId, progressListener, progressRequestListener);
-        Type localVarReturnType = new TypeToken<Object>(){}.getType();
-        apiClient.executeAsync(call, localVarReturnType, callback);
-        return call;
-    }
-    /**
-     * Build call for findById
-     * @param id  (required)
-     * @param databaseId  (required)
-     * @param progressListener Progress listener
-     * @param progressRequestListener Progress request listener
-     * @return Call to execute
-     * @throws ApiException If fail to serialize the request body object
-     */
-    public com.squareup.okhttp.Call findByIdCall(Long id, Long databaseId, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
-        Object localVarPostBody = null;
-        
-        // create path and map variables
-        String localVarPath = "/api/container/{id}/database/{databaseId}"
-            .replaceAll("\\{" + "id" + "\\}", apiClient.escapeString(id.toString()))
-            .replaceAll("\\{" + "databaseId" + "\\}", apiClient.escapeString(databaseId.toString()));
-
-        List<Pair> localVarQueryParams = new ArrayList<Pair>();
-        List<Pair> localVarCollectionQueryParams = new ArrayList<Pair>();
-
-        Map<String, String> localVarHeaderParams = new HashMap<String, String>();
-
-        Map<String, Object> localVarFormParams = new HashMap<String, Object>();
-
-        final String[] localVarAccepts = {
-            "*/*"
-        };
-        final String localVarAccept = apiClient.selectHeaderAccept(localVarAccepts);
-        if (localVarAccept != null) localVarHeaderParams.put("Accept", localVarAccept);
-
-        final String[] localVarContentTypes = {
-            
-        };
-        final String localVarContentType = apiClient.selectHeaderContentType(localVarContentTypes);
-        localVarHeaderParams.put("Content-Type", localVarContentType);
-
-        if(progressListener != null) {
-            apiClient.getHttpClient().networkInterceptors().add(new com.squareup.okhttp.Interceptor() {
-                @Override
-                public com.squareup.okhttp.Response intercept(Chain chain) throws IOException {
-                    com.squareup.okhttp.Response originalResponse = chain.proceed(chain.request());
-                    return originalResponse.newBuilder()
-                    .body(new ProgressResponseBody(originalResponse.body(), progressListener))
-                    .build();
-                }
-            });
-        }
-
-        String[] localVarAuthNames = new String[] { "bearerAuth" };
-        return apiClient.buildCall(localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarFormParams, localVarAuthNames, progressRequestListener);
-    }
-    
-    @SuppressWarnings("rawtypes")
-    private com.squareup.okhttp.Call findByIdValidateBeforeCall(Long id, Long databaseId, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
-        // verify the required parameter 'id' is set
-        if (id == null) {
-            throw new ApiException("Missing the required parameter 'id' when calling findById(Async)");
-        }
-        // verify the required parameter 'databaseId' is set
-        if (databaseId == null) {
-            throw new ApiException("Missing the required parameter 'databaseId' when calling findById(Async)");
-        }
-        
-        com.squareup.okhttp.Call call = findByIdCall(id, databaseId, progressListener, progressRequestListener);
-        return call;
-
-        
-        
-        
-        
-    }
-
-    /**
-     * Find some database
-     * 
-     * @param id  (required)
-     * @param databaseId  (required)
-     * @return DatabaseDto
-     * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
-     */
-    public DatabaseDto findById(Long id, Long databaseId) throws ApiException {
-        ApiResponse<DatabaseDto> resp = findByIdWithHttpInfo(id, databaseId);
-        return resp.getData();
-    }
-
-    /**
-     * Find some database
-     * 
-     * @param id  (required)
-     * @param databaseId  (required)
-     * @return ApiResponse&lt;DatabaseDto&gt;
-     * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
-     */
-    public ApiResponse<DatabaseDto> findByIdWithHttpInfo(Long id, Long databaseId) throws ApiException {
-        com.squareup.okhttp.Call call = findByIdValidateBeforeCall(id, databaseId, null, null);
-        Type localVarReturnType = new TypeToken<DatabaseDto>(){}.getType();
-        return apiClient.execute(call, localVarReturnType);
-    }
-
-    /**
-     * Find some database (asynchronously)
-     * 
-     * @param id  (required)
-     * @param databaseId  (required)
-     * @param callback The callback to be executed when the API call finishes
-     * @return The request call
-     * @throws ApiException If fail to process the API call, e.g. serializing the request body object
-     */
-    public com.squareup.okhttp.Call findByIdAsync(Long id, Long databaseId, final ApiCallback<DatabaseDto> callback) throws ApiException {
-
-        ProgressResponseBody.ProgressListener progressListener = null;
-        ProgressRequestBody.ProgressRequestListener progressRequestListener = null;
-
-        if (callback != null) {
-            progressListener = new ProgressResponseBody.ProgressListener() {
-                @Override
-                public void update(long bytesRead, long contentLength, boolean done) {
-                    callback.onDownloadProgress(bytesRead, contentLength, done);
-                }
-            };
-
-            progressRequestListener = new ProgressRequestBody.ProgressRequestListener() {
-                @Override
-                public void onRequestProgress(long bytesWritten, long contentLength, boolean done) {
-                    callback.onUploadProgress(bytesWritten, contentLength, done);
-                }
-            };
-        }
-
-        com.squareup.okhttp.Call call = findByIdValidateBeforeCall(id, databaseId, progressListener, progressRequestListener);
-        Type localVarReturnType = new TypeToken<DatabaseDto>(){}.getType();
-        apiClient.executeAsync(call, localVarReturnType, callback);
-        return call;
-    }
-    /**
-     * Build call for list
-     * @param id  (required)
-     * @param progressListener Progress listener
-     * @param progressRequestListener Progress request listener
-     * @return Call to execute
-     * @throws ApiException If fail to serialize the request body object
-     */
-    public com.squareup.okhttp.Call listCall(Long id, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
-        Object localVarPostBody = null;
-        
-        // create path and map variables
-        String localVarPath = "/api/container/{id}/database"
-            .replaceAll("\\{" + "id" + "\\}", apiClient.escapeString(id.toString()));
-
-        List<Pair> localVarQueryParams = new ArrayList<Pair>();
-        List<Pair> localVarCollectionQueryParams = new ArrayList<Pair>();
-
-        Map<String, String> localVarHeaderParams = new HashMap<String, String>();
-
-        Map<String, Object> localVarFormParams = new HashMap<String, Object>();
-
-        final String[] localVarAccepts = {
-            "*/*"
-        };
-        final String localVarAccept = apiClient.selectHeaderAccept(localVarAccepts);
-        if (localVarAccept != null) localVarHeaderParams.put("Accept", localVarAccept);
-
-        final String[] localVarContentTypes = {
-            
-        };
-        final String localVarContentType = apiClient.selectHeaderContentType(localVarContentTypes);
-        localVarHeaderParams.put("Content-Type", localVarContentType);
-
-        if(progressListener != null) {
-            apiClient.getHttpClient().networkInterceptors().add(new com.squareup.okhttp.Interceptor() {
-                @Override
-                public com.squareup.okhttp.Response intercept(Chain chain) throws IOException {
-                    com.squareup.okhttp.Response originalResponse = chain.proceed(chain.request());
-                    return originalResponse.newBuilder()
-                    .body(new ProgressResponseBody(originalResponse.body(), progressListener))
-                    .build();
-                }
-            });
-        }
-
-        String[] localVarAuthNames = new String[] {  };
-        return apiClient.buildCall(localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarFormParams, localVarAuthNames, progressRequestListener);
-    }
-    
-    @SuppressWarnings("rawtypes")
-    private com.squareup.okhttp.Call listValidateBeforeCall(Long id, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
-        // verify the required parameter 'id' is set
-        if (id == null) {
-            throw new ApiException("Missing the required parameter 'id' when calling list(Async)");
-        }
-        
-        com.squareup.okhttp.Call call = listCall(id, progressListener, progressRequestListener);
-        return call;
-
-        
-        
-        
-        
-    }
-
-    /**
-     * List databases
-     * 
-     * @param id  (required)
-     * @return List&lt;DatabaseBriefDto&gt;
-     * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
-     */
-    public List<DatabaseBriefDto> list(Long id) throws ApiException {
-        ApiResponse<List<DatabaseBriefDto>> resp = listWithHttpInfo(id);
-        return resp.getData();
-    }
-
-    /**
-     * List databases
-     * 
-     * @param id  (required)
-     * @return ApiResponse&lt;List&lt;DatabaseBriefDto&gt;&gt;
-     * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
-     */
-    public ApiResponse<List<DatabaseBriefDto>> listWithHttpInfo(Long id) throws ApiException {
-        com.squareup.okhttp.Call call = listValidateBeforeCall(id, null, null);
-        Type localVarReturnType = new TypeToken<List<DatabaseBriefDto>>(){}.getType();
-        return apiClient.execute(call, localVarReturnType);
-    }
-
-    /**
-     * List databases (asynchronously)
-     * 
-     * @param id  (required)
-     * @param callback The callback to be executed when the API call finishes
-     * @return The request call
-     * @throws ApiException If fail to process the API call, e.g. serializing the request body object
-     */
-    public com.squareup.okhttp.Call listAsync(Long id, final ApiCallback<List<DatabaseBriefDto>> callback) throws ApiException {
-
-        ProgressResponseBody.ProgressListener progressListener = null;
-        ProgressRequestBody.ProgressRequestListener progressRequestListener = null;
-
-        if (callback != null) {
-            progressListener = new ProgressResponseBody.ProgressListener() {
-                @Override
-                public void update(long bytesRead, long contentLength, boolean done) {
-                    callback.onDownloadProgress(bytesRead, contentLength, done);
-                }
-            };
-
-            progressRequestListener = new ProgressRequestBody.ProgressRequestListener() {
-                @Override
-                public void onRequestProgress(long bytesWritten, long contentLength, boolean done) {
-                    callback.onUploadProgress(bytesWritten, contentLength, done);
-                }
-            };
-        }
-
-        com.squareup.okhttp.Call call = listValidateBeforeCall(id, progressListener, progressRequestListener);
-        Type localVarReturnType = new TypeToken<List<DatabaseBriefDto>>(){}.getType();
-        apiClient.executeAsync(call, localVarReturnType, callback);
-        return call;
-    }
-    /**
-     * Build call for transfer
-     * @param body  (required)
-     * @param id  (required)
-     * @param databaseId  (required)
-     * @param progressListener Progress listener
-     * @param progressRequestListener Progress request listener
-     * @return Call to execute
-     * @throws ApiException If fail to serialize the request body object
-     */
-    public com.squareup.okhttp.Call transferCall(DatabaseTransferDto body, Long id, Long databaseId, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
-        Object localVarPostBody = body;
-        
-        // create path and map variables
-        String localVarPath = "/api/container/{id}/database/{databaseId}/transfer"
-            .replaceAll("\\{" + "id" + "\\}", apiClient.escapeString(id.toString()))
-            .replaceAll("\\{" + "databaseId" + "\\}", apiClient.escapeString(databaseId.toString()));
-
-        List<Pair> localVarQueryParams = new ArrayList<Pair>();
-        List<Pair> localVarCollectionQueryParams = new ArrayList<Pair>();
-
-        Map<String, String> localVarHeaderParams = new HashMap<String, String>();
-
-        Map<String, Object> localVarFormParams = new HashMap<String, Object>();
-
-        final String[] localVarAccepts = {
-            "*/*"
-        };
-        final String localVarAccept = apiClient.selectHeaderAccept(localVarAccepts);
-        if (localVarAccept != null) localVarHeaderParams.put("Accept", localVarAccept);
-
-        final String[] localVarContentTypes = {
-            "application/json"
-        };
-        final String localVarContentType = apiClient.selectHeaderContentType(localVarContentTypes);
-        localVarHeaderParams.put("Content-Type", localVarContentType);
-
-        if(progressListener != null) {
-            apiClient.getHttpClient().networkInterceptors().add(new com.squareup.okhttp.Interceptor() {
-                @Override
-                public com.squareup.okhttp.Response intercept(Chain chain) throws IOException {
-                    com.squareup.okhttp.Response originalResponse = chain.proceed(chain.request());
-                    return originalResponse.newBuilder()
-                    .body(new ProgressResponseBody(originalResponse.body(), progressListener))
-                    .build();
-                }
-            });
-        }
-
-        String[] localVarAuthNames = new String[] { "bearerAuth" };
-        return apiClient.buildCall(localVarPath, "PUT", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarFormParams, localVarAuthNames, progressRequestListener);
-    }
-    
-    @SuppressWarnings("rawtypes")
-    private com.squareup.okhttp.Call transferValidateBeforeCall(DatabaseTransferDto body, Long id, Long databaseId, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
-        // verify the required parameter 'body' is set
-        if (body == null) {
-            throw new ApiException("Missing the required parameter 'body' when calling transfer(Async)");
-        }
-        // verify the required parameter 'id' is set
-        if (id == null) {
-            throw new ApiException("Missing the required parameter 'id' when calling transfer(Async)");
-        }
-        // verify the required parameter 'databaseId' is set
-        if (databaseId == null) {
-            throw new ApiException("Missing the required parameter 'databaseId' when calling transfer(Async)");
-        }
-        
-        com.squareup.okhttp.Call call = transferCall(body, id, databaseId, progressListener, progressRequestListener);
-        return call;
-
-        
-        
-        
-        
-    }
-
-    /**
-     * Update database
-     * 
-     * @param body  (required)
-     * @param id  (required)
-     * @param databaseId  (required)
-     * @return DatabaseDto
-     * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
-     */
-    public DatabaseDto transfer(DatabaseTransferDto body, Long id, Long databaseId) throws ApiException {
-        ApiResponse<DatabaseDto> resp = transferWithHttpInfo(body, id, databaseId);
-        return resp.getData();
-    }
-
-    /**
-     * Update database
-     * 
-     * @param body  (required)
-     * @param id  (required)
-     * @param databaseId  (required)
-     * @return ApiResponse&lt;DatabaseDto&gt;
-     * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
-     */
-    public ApiResponse<DatabaseDto> transferWithHttpInfo(DatabaseTransferDto body, Long id, Long databaseId) throws ApiException {
-        com.squareup.okhttp.Call call = transferValidateBeforeCall(body, id, databaseId, null, null);
-        Type localVarReturnType = new TypeToken<DatabaseDto>(){}.getType();
-        return apiClient.execute(call, localVarReturnType);
-    }
-
-    /**
-     * Update database (asynchronously)
-     * 
-     * @param body  (required)
-     * @param id  (required)
-     * @param databaseId  (required)
-     * @param callback The callback to be executed when the API call finishes
-     * @return The request call
-     * @throws ApiException If fail to process the API call, e.g. serializing the request body object
-     */
-    public com.squareup.okhttp.Call transferAsync(DatabaseTransferDto body, Long id, Long databaseId, final ApiCallback<DatabaseDto> callback) throws ApiException {
-
-        ProgressResponseBody.ProgressListener progressListener = null;
-        ProgressRequestBody.ProgressRequestListener progressRequestListener = null;
-
-        if (callback != null) {
-            progressListener = new ProgressResponseBody.ProgressListener() {
-                @Override
-                public void update(long bytesRead, long contentLength, boolean done) {
-                    callback.onDownloadProgress(bytesRead, contentLength, done);
-                }
-            };
-
-            progressRequestListener = new ProgressRequestBody.ProgressRequestListener() {
-                @Override
-                public void onRequestProgress(long bytesWritten, long contentLength, boolean done) {
-                    callback.onUploadProgress(bytesWritten, contentLength, done);
-                }
-            };
-        }
-
-        com.squareup.okhttp.Call call = transferValidateBeforeCall(body, id, databaseId, progressListener, progressRequestListener);
-        Type localVarReturnType = new TypeToken<DatabaseDto>(){}.getType();
-        apiClient.executeAsync(call, localVarReturnType, callback);
-        return call;
-    }
-}
diff --git a/.java-stubs/src/main/java/io/swagger/client/api/ExportEndpointApi.java b/.java-stubs/src/main/java/io/swagger/client/api/ExportEndpointApi.java
deleted file mode 100644
index ad683313a9..0000000000
--- a/.java-stubs/src/main/java/io/swagger/client/api/ExportEndpointApi.java
+++ /dev/null
@@ -1,207 +0,0 @@
-/*
- * Database Repository Query Service API
- * Service that manages the queries
- *
- * OpenAPI spec version: 1.1.0-alpha
- * Contact: andreas.rauber@tuwien.ac.at
- *
- * NOTE: This class is auto generated by the swagger code generator program.
- * https://github.com/swagger-api/swagger-codegen.git
- * Do not edit the class manually.
- */
-
-package io.swagger.client.api;
-
-import io.swagger.client.ApiCallback;
-import io.swagger.client.ApiClient;
-import io.swagger.client.ApiException;
-import io.swagger.client.ApiResponse;
-import io.swagger.client.Configuration;
-import io.swagger.client.Pair;
-import io.swagger.client.ProgressRequestBody;
-import io.swagger.client.ProgressResponseBody;
-
-import com.google.gson.reflect.TypeToken;
-
-import java.io.IOException;
-
-
-import io.swagger.client.model.ApiErrorDto;
-import java.io.File;
-import org.threeten.bp.OffsetDateTime;
-
-import java.lang.reflect.Type;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-public class ExportEndpointApi {
-    private ApiClient apiClient;
-
-    public ExportEndpointApi() {
-        this(Configuration.getDefaultApiClient());
-    }
-
-    public ExportEndpointApi(ApiClient apiClient) {
-        this.apiClient = apiClient;
-    }
-
-    public ApiClient getApiClient() {
-        return apiClient;
-    }
-
-    public void setApiClient(ApiClient apiClient) {
-        this.apiClient = apiClient;
-    }
-
-    /**
-     * Build call for export
-     * @param id  (required)
-     * @param databaseId  (required)
-     * @param tableId  (required)
-     * @param timestamp  (optional)
-     * @param progressListener Progress listener
-     * @param progressRequestListener Progress request listener
-     * @return Call to execute
-     * @throws ApiException If fail to serialize the request body object
-     */
-    public com.squareup.okhttp.Call exportCall(Long id, Long databaseId, Long tableId, OffsetDateTime timestamp, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
-        Object localVarPostBody = null;
-        
-        // create path and map variables
-        String localVarPath = "/api/container/{id}/database/{databaseId}/table/{tableId}/export"
-            .replaceAll("\\{" + "id" + "\\}", apiClient.escapeString(id.toString()))
-            .replaceAll("\\{" + "databaseId" + "\\}", apiClient.escapeString(databaseId.toString()))
-            .replaceAll("\\{" + "tableId" + "\\}", apiClient.escapeString(tableId.toString()));
-
-        List<Pair> localVarQueryParams = new ArrayList<Pair>();
-        List<Pair> localVarCollectionQueryParams = new ArrayList<Pair>();
-        if (timestamp != null)
-        localVarQueryParams.addAll(apiClient.parameterToPair("timestamp", timestamp));
-
-        Map<String, String> localVarHeaderParams = new HashMap<String, String>();
-
-        Map<String, Object> localVarFormParams = new HashMap<String, Object>();
-
-        final String[] localVarAccepts = {
-            "*/*"
-        };
-        final String localVarAccept = apiClient.selectHeaderAccept(localVarAccepts);
-        if (localVarAccept != null) localVarHeaderParams.put("Accept", localVarAccept);
-
-        final String[] localVarContentTypes = {
-            
-        };
-        final String localVarContentType = apiClient.selectHeaderContentType(localVarContentTypes);
-        localVarHeaderParams.put("Content-Type", localVarContentType);
-
-        if(progressListener != null) {
-            apiClient.getHttpClient().networkInterceptors().add(new com.squareup.okhttp.Interceptor() {
-                @Override
-                public com.squareup.okhttp.Response intercept(Chain chain) throws IOException {
-                    com.squareup.okhttp.Response originalResponse = chain.proceed(chain.request());
-                    return originalResponse.newBuilder()
-                    .body(new ProgressResponseBody(originalResponse.body(), progressListener))
-                    .build();
-                }
-            });
-        }
-
-        String[] localVarAuthNames = new String[] { "bearerAuth" };
-        return apiClient.buildCall(localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarFormParams, localVarAuthNames, progressRequestListener);
-    }
-    
-    @SuppressWarnings("rawtypes")
-    private com.squareup.okhttp.Call exportValidateBeforeCall(Long id, Long databaseId, Long tableId, OffsetDateTime timestamp, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
-        // verify the required parameter 'id' is set
-        if (id == null) {
-            throw new ApiException("Missing the required parameter 'id' when calling export(Async)");
-        }
-        // verify the required parameter 'databaseId' is set
-        if (databaseId == null) {
-            throw new ApiException("Missing the required parameter 'databaseId' when calling export(Async)");
-        }
-        // verify the required parameter 'tableId' is set
-        if (tableId == null) {
-            throw new ApiException("Missing the required parameter 'tableId' when calling export(Async)");
-        }
-        
-        com.squareup.okhttp.Call call = exportCall(id, databaseId, tableId, timestamp, progressListener, progressRequestListener);
-        return call;
-
-        
-        
-        
-        
-    }
-
-    /**
-     * Export table
-     * 
-     * @param id  (required)
-     * @param databaseId  (required)
-     * @param tableId  (required)
-     * @param timestamp  (optional)
-     * @return File
-     * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
-     */
-    public File export(Long id, Long databaseId, Long tableId, OffsetDateTime timestamp) throws ApiException {
-        ApiResponse<File> resp = exportWithHttpInfo(id, databaseId, tableId, timestamp);
-        return resp.getData();
-    }
-
-    /**
-     * Export table
-     * 
-     * @param id  (required)
-     * @param databaseId  (required)
-     * @param tableId  (required)
-     * @param timestamp  (optional)
-     * @return ApiResponse&lt;File&gt;
-     * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
-     */
-    public ApiResponse<File> exportWithHttpInfo(Long id, Long databaseId, Long tableId, OffsetDateTime timestamp) throws ApiException {
-        com.squareup.okhttp.Call call = exportValidateBeforeCall(id, databaseId, tableId, timestamp, null, null);
-        Type localVarReturnType = new TypeToken<File>(){}.getType();
-        return apiClient.execute(call, localVarReturnType);
-    }
-
-    /**
-     * Export table (asynchronously)
-     * 
-     * @param id  (required)
-     * @param databaseId  (required)
-     * @param tableId  (required)
-     * @param timestamp  (optional)
-     * @param callback The callback to be executed when the API call finishes
-     * @return The request call
-     * @throws ApiException If fail to process the API call, e.g. serializing the request body object
-     */
-    public com.squareup.okhttp.Call exportAsync(Long id, Long databaseId, Long tableId, OffsetDateTime timestamp, final ApiCallback<File> callback) throws ApiException {
-
-        ProgressResponseBody.ProgressListener progressListener = null;
-        ProgressRequestBody.ProgressRequestListener progressRequestListener = null;
-
-        if (callback != null) {
-            progressListener = new ProgressResponseBody.ProgressListener() {
-                @Override
-                public void update(long bytesRead, long contentLength, boolean done) {
-                    callback.onDownloadProgress(bytesRead, contentLength, done);
-                }
-            };
-
-            progressRequestListener = new ProgressRequestBody.ProgressRequestListener() {
-                @Override
-                public void onRequestProgress(long bytesWritten, long contentLength, boolean done) {
-                    callback.onUploadProgress(bytesWritten, contentLength, done);
-                }
-            };
-        }
-
-        com.squareup.okhttp.Call call = exportValidateBeforeCall(id, databaseId, tableId, timestamp, progressListener, progressRequestListener);
-        Type localVarReturnType = new TypeToken<File>(){}.getType();
-        apiClient.executeAsync(call, localVarReturnType, callback);
-        return call;
-    }
-}
diff --git a/.java-stubs/src/main/java/io/swagger/client/api/ImageEndpointApi.java b/.java-stubs/src/main/java/io/swagger/client/api/ImageEndpointApi.java
deleted file mode 100644
index a80bd47bec..0000000000
--- a/.java-stubs/src/main/java/io/swagger/client/api/ImageEndpointApi.java
+++ /dev/null
@@ -1,683 +0,0 @@
-/*
- * Database Repository Container Service API
- * Service that manages the containers
- *
- * OpenAPI spec version: 1.1.0-alpha
- * Contact: andreas.rauber@tuwien.ac.at
- *
- * NOTE: This class is auto generated by the swagger code generator program.
- * https://github.com/swagger-api/swagger-codegen.git
- * Do not edit the class manually.
- */
-
-package io.swagger.client.api;
-
-import io.swagger.client.ApiCallback;
-import io.swagger.client.ApiClient;
-import io.swagger.client.ApiException;
-import io.swagger.client.ApiResponse;
-import io.swagger.client.Configuration;
-import io.swagger.client.Pair;
-import io.swagger.client.ProgressRequestBody;
-import io.swagger.client.ProgressResponseBody;
-
-import com.google.gson.reflect.TypeToken;
-
-import java.io.IOException;
-
-
-import io.swagger.client.model.ApiErrorDto;
-import io.swagger.client.model.ImageBriefDto;
-import io.swagger.client.model.ImageChangeDto;
-import io.swagger.client.model.ImageCreateDto;
-import io.swagger.client.model.ImageDto;
-
-import java.lang.reflect.Type;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-public class ImageEndpointApi {
-    private ApiClient apiClient;
-
-    public ImageEndpointApi() {
-        this(Configuration.getDefaultApiClient());
-    }
-
-    public ImageEndpointApi(ApiClient apiClient) {
-        this.apiClient = apiClient;
-    }
-
-    public ApiClient getApiClient() {
-        return apiClient;
-    }
-
-    public void setApiClient(ApiClient apiClient) {
-        this.apiClient = apiClient;
-    }
-
-    /**
-     * Build call for create
-     * @param body  (required)
-     * @param progressListener Progress listener
-     * @param progressRequestListener Progress request listener
-     * @return Call to execute
-     * @throws ApiException If fail to serialize the request body object
-     */
-    public com.squareup.okhttp.Call createCall(ImageCreateDto body, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
-        Object localVarPostBody = body;
-        
-        // create path and map variables
-        String localVarPath = "/api/image";
-
-        List<Pair> localVarQueryParams = new ArrayList<Pair>();
-        List<Pair> localVarCollectionQueryParams = new ArrayList<Pair>();
-
-        Map<String, String> localVarHeaderParams = new HashMap<String, String>();
-
-        Map<String, Object> localVarFormParams = new HashMap<String, Object>();
-
-        final String[] localVarAccepts = {
-            "*/*"
-        };
-        final String localVarAccept = apiClient.selectHeaderAccept(localVarAccepts);
-        if (localVarAccept != null) localVarHeaderParams.put("Accept", localVarAccept);
-
-        final String[] localVarContentTypes = {
-            "application/json"
-        };
-        final String localVarContentType = apiClient.selectHeaderContentType(localVarContentTypes);
-        localVarHeaderParams.put("Content-Type", localVarContentType);
-
-        if(progressListener != null) {
-            apiClient.getHttpClient().networkInterceptors().add(new com.squareup.okhttp.Interceptor() {
-                @Override
-                public com.squareup.okhttp.Response intercept(com.squareup.okhttp.Interceptor.Chain chain) throws IOException {
-                    com.squareup.okhttp.Response originalResponse = chain.proceed(chain.request());
-                    return originalResponse.newBuilder()
-                    .body(new ProgressResponseBody(originalResponse.body(), progressListener))
-                    .build();
-                }
-            });
-        }
-
-        String[] localVarAuthNames = new String[] { "bearerAuth" };
-        return apiClient.buildCall(localVarPath, "POST", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarFormParams, localVarAuthNames, progressRequestListener);
-    }
-    
-    @SuppressWarnings("rawtypes")
-    private com.squareup.okhttp.Call createValidateBeforeCall(ImageCreateDto body, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
-        // verify the required parameter 'body' is set
-        if (body == null) {
-            throw new ApiException("Missing the required parameter 'body' when calling create(Async)");
-        }
-        
-        com.squareup.okhttp.Call call = createCall(body, progressListener, progressRequestListener);
-        return call;
-
-        
-        
-        
-        
-    }
-
-    /**
-     * Create image
-     * 
-     * @param body  (required)
-     * @return ImageDto
-     * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
-     */
-    public ImageDto create(ImageCreateDto body) throws ApiException {
-        ApiResponse<ImageDto> resp = createWithHttpInfo(body);
-        return resp.getData();
-    }
-
-    /**
-     * Create image
-     * 
-     * @param body  (required)
-     * @return ApiResponse&lt;ImageDto&gt;
-     * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
-     */
-    public ApiResponse<ImageDto> createWithHttpInfo(ImageCreateDto body) throws ApiException {
-        com.squareup.okhttp.Call call = createValidateBeforeCall(body, null, null);
-        Type localVarReturnType = new TypeToken<ImageDto>(){}.getType();
-        return apiClient.execute(call, localVarReturnType);
-    }
-
-    /**
-     * Create image (asynchronously)
-     * 
-     * @param body  (required)
-     * @param callback The callback to be executed when the API call finishes
-     * @return The request call
-     * @throws ApiException If fail to process the API call, e.g. serializing the request body object
-     */
-    public com.squareup.okhttp.Call createAsync(ImageCreateDto body, final ApiCallback<ImageDto> callback) throws ApiException {
-
-        ProgressResponseBody.ProgressListener progressListener = null;
-        ProgressRequestBody.ProgressRequestListener progressRequestListener = null;
-
-        if (callback != null) {
-            progressListener = new ProgressResponseBody.ProgressListener() {
-                @Override
-                public void update(long bytesRead, long contentLength, boolean done) {
-                    callback.onDownloadProgress(bytesRead, contentLength, done);
-                }
-            };
-
-            progressRequestListener = new ProgressRequestBody.ProgressRequestListener() {
-                @Override
-                public void onRequestProgress(long bytesWritten, long contentLength, boolean done) {
-                    callback.onUploadProgress(bytesWritten, contentLength, done);
-                }
-            };
-        }
-
-        com.squareup.okhttp.Call call = createValidateBeforeCall(body, progressListener, progressRequestListener);
-        Type localVarReturnType = new TypeToken<ImageDto>(){}.getType();
-        apiClient.executeAsync(call, localVarReturnType, callback);
-        return call;
-    }
-    /**
-     * Build call for delete
-     * @param id  (required)
-     * @param progressListener Progress listener
-     * @param progressRequestListener Progress request listener
-     * @return Call to execute
-     * @throws ApiException If fail to serialize the request body object
-     */
-    public com.squareup.okhttp.Call deleteCall(Long id, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
-        Object localVarPostBody = null;
-        
-        // create path and map variables
-        String localVarPath = "/api/image/{id}"
-            .replaceAll("\\{" + "id" + "\\}", apiClient.escapeString(id.toString()));
-
-        List<Pair> localVarQueryParams = new ArrayList<Pair>();
-        List<Pair> localVarCollectionQueryParams = new ArrayList<Pair>();
-
-        Map<String, String> localVarHeaderParams = new HashMap<String, String>();
-
-        Map<String, Object> localVarFormParams = new HashMap<String, Object>();
-
-        final String[] localVarAccepts = {
-            "*/*"
-        };
-        final String localVarAccept = apiClient.selectHeaderAccept(localVarAccepts);
-        if (localVarAccept != null) localVarHeaderParams.put("Accept", localVarAccept);
-
-        final String[] localVarContentTypes = {
-            
-        };
-        final String localVarContentType = apiClient.selectHeaderContentType(localVarContentTypes);
-        localVarHeaderParams.put("Content-Type", localVarContentType);
-
-        if(progressListener != null) {
-            apiClient.getHttpClient().networkInterceptors().add(new com.squareup.okhttp.Interceptor() {
-                @Override
-                public com.squareup.okhttp.Response intercept(com.squareup.okhttp.Interceptor.Chain chain) throws IOException {
-                    com.squareup.okhttp.Response originalResponse = chain.proceed(chain.request());
-                    return originalResponse.newBuilder()
-                    .body(new ProgressResponseBody(originalResponse.body(), progressListener))
-                    .build();
-                }
-            });
-        }
-
-        String[] localVarAuthNames = new String[] { "bearerAuth" };
-        return apiClient.buildCall(localVarPath, "DELETE", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarFormParams, localVarAuthNames, progressRequestListener);
-    }
-    
-    @SuppressWarnings("rawtypes")
-    private com.squareup.okhttp.Call deleteValidateBeforeCall(Long id, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
-        // verify the required parameter 'id' is set
-        if (id == null) {
-            throw new ApiException("Missing the required parameter 'id' when calling delete(Async)");
-        }
-        
-        com.squareup.okhttp.Call call = deleteCall(id, progressListener, progressRequestListener);
-        return call;
-
-        
-        
-        
-        
-    }
-
-    /**
-     * Delete some image
-     * 
-     * @param id  (required)
-     * @return Object
-     * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
-     */
-    public Object delete(Long id) throws ApiException {
-        ApiResponse<Object> resp = deleteWithHttpInfo(id);
-        return resp.getData();
-    }
-
-    /**
-     * Delete some image
-     * 
-     * @param id  (required)
-     * @return ApiResponse&lt;Object&gt;
-     * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
-     */
-    public ApiResponse<Object> deleteWithHttpInfo(Long id) throws ApiException {
-        com.squareup.okhttp.Call call = deleteValidateBeforeCall(id, null, null);
-        Type localVarReturnType = new TypeToken<Object>(){}.getType();
-        return apiClient.execute(call, localVarReturnType);
-    }
-
-    /**
-     * Delete some image (asynchronously)
-     * 
-     * @param id  (required)
-     * @param callback The callback to be executed when the API call finishes
-     * @return The request call
-     * @throws ApiException If fail to process the API call, e.g. serializing the request body object
-     */
-    public com.squareup.okhttp.Call deleteAsync(Long id, final ApiCallback<Object> callback) throws ApiException {
-
-        ProgressResponseBody.ProgressListener progressListener = null;
-        ProgressRequestBody.ProgressRequestListener progressRequestListener = null;
-
-        if (callback != null) {
-            progressListener = new ProgressResponseBody.ProgressListener() {
-                @Override
-                public void update(long bytesRead, long contentLength, boolean done) {
-                    callback.onDownloadProgress(bytesRead, contentLength, done);
-                }
-            };
-
-            progressRequestListener = new ProgressRequestBody.ProgressRequestListener() {
-                @Override
-                public void onRequestProgress(long bytesWritten, long contentLength, boolean done) {
-                    callback.onUploadProgress(bytesWritten, contentLength, done);
-                }
-            };
-        }
-
-        com.squareup.okhttp.Call call = deleteValidateBeforeCall(id, progressListener, progressRequestListener);
-        Type localVarReturnType = new TypeToken<Object>(){}.getType();
-        apiClient.executeAsync(call, localVarReturnType, callback);
-        return call;
-    }
-    /**
-     * Build call for findAll
-     * @param progressListener Progress listener
-     * @param progressRequestListener Progress request listener
-     * @return Call to execute
-     * @throws ApiException If fail to serialize the request body object
-     */
-    public com.squareup.okhttp.Call findAllCall(final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
-        Object localVarPostBody = null;
-        
-        // create path and map variables
-        String localVarPath = "/api/image";
-
-        List<Pair> localVarQueryParams = new ArrayList<Pair>();
-        List<Pair> localVarCollectionQueryParams = new ArrayList<Pair>();
-
-        Map<String, String> localVarHeaderParams = new HashMap<String, String>();
-
-        Map<String, Object> localVarFormParams = new HashMap<String, Object>();
-
-        final String[] localVarAccepts = {
-            "*/*"
-        };
-        final String localVarAccept = apiClient.selectHeaderAccept(localVarAccepts);
-        if (localVarAccept != null) localVarHeaderParams.put("Accept", localVarAccept);
-
-        final String[] localVarContentTypes = {
-            
-        };
-        final String localVarContentType = apiClient.selectHeaderContentType(localVarContentTypes);
-        localVarHeaderParams.put("Content-Type", localVarContentType);
-
-        if(progressListener != null) {
-            apiClient.getHttpClient().networkInterceptors().add(new com.squareup.okhttp.Interceptor() {
-                @Override
-                public com.squareup.okhttp.Response intercept(com.squareup.okhttp.Interceptor.Chain chain) throws IOException {
-                    com.squareup.okhttp.Response originalResponse = chain.proceed(chain.request());
-                    return originalResponse.newBuilder()
-                    .body(new ProgressResponseBody(originalResponse.body(), progressListener))
-                    .build();
-                }
-            });
-        }
-
-        String[] localVarAuthNames = new String[] {  };
-        return apiClient.buildCall(localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarFormParams, localVarAuthNames, progressRequestListener);
-    }
-    
-    @SuppressWarnings("rawtypes")
-    private com.squareup.okhttp.Call findAllValidateBeforeCall(final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
-        
-        com.squareup.okhttp.Call call = findAllCall(progressListener, progressRequestListener);
-        return call;
-
-        
-        
-        
-        
-    }
-
-    /**
-     * Find all images
-     * 
-     * @return List&lt;ImageBriefDto&gt;
-     * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
-     */
-    public List<ImageBriefDto> findAll() throws ApiException {
-        ApiResponse<List<ImageBriefDto>> resp = findAllWithHttpInfo();
-        return resp.getData();
-    }
-
-    /**
-     * Find all images
-     * 
-     * @return ApiResponse&lt;List&lt;ImageBriefDto&gt;&gt;
-     * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
-     */
-    public ApiResponse<List<ImageBriefDto>> findAllWithHttpInfo() throws ApiException {
-        com.squareup.okhttp.Call call = findAllValidateBeforeCall(null, null);
-        Type localVarReturnType = new TypeToken<List<ImageBriefDto>>(){}.getType();
-        return apiClient.execute(call, localVarReturnType);
-    }
-
-    /**
-     * Find all images (asynchronously)
-     * 
-     * @param callback The callback to be executed when the API call finishes
-     * @return The request call
-     * @throws ApiException If fail to process the API call, e.g. serializing the request body object
-     */
-    public com.squareup.okhttp.Call findAllAsync(final ApiCallback<List<ImageBriefDto>> callback) throws ApiException {
-
-        ProgressResponseBody.ProgressListener progressListener = null;
-        ProgressRequestBody.ProgressRequestListener progressRequestListener = null;
-
-        if (callback != null) {
-            progressListener = new ProgressResponseBody.ProgressListener() {
-                @Override
-                public void update(long bytesRead, long contentLength, boolean done) {
-                    callback.onDownloadProgress(bytesRead, contentLength, done);
-                }
-            };
-
-            progressRequestListener = new ProgressRequestBody.ProgressRequestListener() {
-                @Override
-                public void onRequestProgress(long bytesWritten, long contentLength, boolean done) {
-                    callback.onUploadProgress(bytesWritten, contentLength, done);
-                }
-            };
-        }
-
-        com.squareup.okhttp.Call call = findAllValidateBeforeCall(progressListener, progressRequestListener);
-        Type localVarReturnType = new TypeToken<List<ImageBriefDto>>(){}.getType();
-        apiClient.executeAsync(call, localVarReturnType, callback);
-        return call;
-    }
-    /**
-     * Build call for findById
-     * @param id  (required)
-     * @param progressListener Progress listener
-     * @param progressRequestListener Progress request listener
-     * @return Call to execute
-     * @throws ApiException If fail to serialize the request body object
-     */
-    public com.squareup.okhttp.Call findByIdCall(Long id, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
-        Object localVarPostBody = null;
-        
-        // create path and map variables
-        String localVarPath = "/api/image/{id}"
-            .replaceAll("\\{" + "id" + "\\}", apiClient.escapeString(id.toString()));
-
-        List<Pair> localVarQueryParams = new ArrayList<Pair>();
-        List<Pair> localVarCollectionQueryParams = new ArrayList<Pair>();
-
-        Map<String, String> localVarHeaderParams = new HashMap<String, String>();
-
-        Map<String, Object> localVarFormParams = new HashMap<String, Object>();
-
-        final String[] localVarAccepts = {
-            "*/*"
-        };
-        final String localVarAccept = apiClient.selectHeaderAccept(localVarAccepts);
-        if (localVarAccept != null) localVarHeaderParams.put("Accept", localVarAccept);
-
-        final String[] localVarContentTypes = {
-            
-        };
-        final String localVarContentType = apiClient.selectHeaderContentType(localVarContentTypes);
-        localVarHeaderParams.put("Content-Type", localVarContentType);
-
-        if(progressListener != null) {
-            apiClient.getHttpClient().networkInterceptors().add(new com.squareup.okhttp.Interceptor() {
-                @Override
-                public com.squareup.okhttp.Response intercept(com.squareup.okhttp.Interceptor.Chain chain) throws IOException {
-                    com.squareup.okhttp.Response originalResponse = chain.proceed(chain.request());
-                    return originalResponse.newBuilder()
-                    .body(new ProgressResponseBody(originalResponse.body(), progressListener))
-                    .build();
-                }
-            });
-        }
-
-        String[] localVarAuthNames = new String[] {  };
-        return apiClient.buildCall(localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarFormParams, localVarAuthNames, progressRequestListener);
-    }
-    
-    @SuppressWarnings("rawtypes")
-    private com.squareup.okhttp.Call findByIdValidateBeforeCall(Long id, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
-        // verify the required parameter 'id' is set
-        if (id == null) {
-            throw new ApiException("Missing the required parameter 'id' when calling findById(Async)");
-        }
-        
-        com.squareup.okhttp.Call call = findByIdCall(id, progressListener, progressRequestListener);
-        return call;
-
-        
-        
-        
-        
-    }
-
-    /**
-     * Find some image
-     * 
-     * @param id  (required)
-     * @return ImageDto
-     * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
-     */
-    public ImageDto findById(Long id) throws ApiException {
-        ApiResponse<ImageDto> resp = findByIdWithHttpInfo(id);
-        return resp.getData();
-    }
-
-    /**
-     * Find some image
-     * 
-     * @param id  (required)
-     * @return ApiResponse&lt;ImageDto&gt;
-     * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
-     */
-    public ApiResponse<ImageDto> findByIdWithHttpInfo(Long id) throws ApiException {
-        com.squareup.okhttp.Call call = findByIdValidateBeforeCall(id, null, null);
-        Type localVarReturnType = new TypeToken<ImageDto>(){}.getType();
-        return apiClient.execute(call, localVarReturnType);
-    }
-
-    /**
-     * Find some image (asynchronously)
-     * 
-     * @param id  (required)
-     * @param callback The callback to be executed when the API call finishes
-     * @return The request call
-     * @throws ApiException If fail to process the API call, e.g. serializing the request body object
-     */
-    public com.squareup.okhttp.Call findByIdAsync(Long id, final ApiCallback<ImageDto> callback) throws ApiException {
-
-        ProgressResponseBody.ProgressListener progressListener = null;
-        ProgressRequestBody.ProgressRequestListener progressRequestListener = null;
-
-        if (callback != null) {
-            progressListener = new ProgressResponseBody.ProgressListener() {
-                @Override
-                public void update(long bytesRead, long contentLength, boolean done) {
-                    callback.onDownloadProgress(bytesRead, contentLength, done);
-                }
-            };
-
-            progressRequestListener = new ProgressRequestBody.ProgressRequestListener() {
-                @Override
-                public void onRequestProgress(long bytesWritten, long contentLength, boolean done) {
-                    callback.onUploadProgress(bytesWritten, contentLength, done);
-                }
-            };
-        }
-
-        com.squareup.okhttp.Call call = findByIdValidateBeforeCall(id, progressListener, progressRequestListener);
-        Type localVarReturnType = new TypeToken<ImageDto>(){}.getType();
-        apiClient.executeAsync(call, localVarReturnType, callback);
-        return call;
-    }
-    /**
-     * Build call for update
-     * @param body  (required)
-     * @param id  (required)
-     * @param progressListener Progress listener
-     * @param progressRequestListener Progress request listener
-     * @return Call to execute
-     * @throws ApiException If fail to serialize the request body object
-     */
-    public com.squareup.okhttp.Call updateCall(ImageChangeDto body, Long id, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
-        Object localVarPostBody = body;
-        
-        // create path and map variables
-        String localVarPath = "/api/image/{id}"
-            .replaceAll("\\{" + "id" + "\\}", apiClient.escapeString(id.toString()));
-
-        List<Pair> localVarQueryParams = new ArrayList<Pair>();
-        List<Pair> localVarCollectionQueryParams = new ArrayList<Pair>();
-
-        Map<String, String> localVarHeaderParams = new HashMap<String, String>();
-
-        Map<String, Object> localVarFormParams = new HashMap<String, Object>();
-
-        final String[] localVarAccepts = {
-            "*/*"
-        };
-        final String localVarAccept = apiClient.selectHeaderAccept(localVarAccepts);
-        if (localVarAccept != null) localVarHeaderParams.put("Accept", localVarAccept);
-
-        final String[] localVarContentTypes = {
-            "application/json"
-        };
-        final String localVarContentType = apiClient.selectHeaderContentType(localVarContentTypes);
-        localVarHeaderParams.put("Content-Type", localVarContentType);
-
-        if(progressListener != null) {
-            apiClient.getHttpClient().networkInterceptors().add(new com.squareup.okhttp.Interceptor() {
-                @Override
-                public com.squareup.okhttp.Response intercept(com.squareup.okhttp.Interceptor.Chain chain) throws IOException {
-                    com.squareup.okhttp.Response originalResponse = chain.proceed(chain.request());
-                    return originalResponse.newBuilder()
-                    .body(new ProgressResponseBody(originalResponse.body(), progressListener))
-                    .build();
-                }
-            });
-        }
-
-        String[] localVarAuthNames = new String[] { "bearerAuth" };
-        return apiClient.buildCall(localVarPath, "PUT", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarFormParams, localVarAuthNames, progressRequestListener);
-    }
-    
-    @SuppressWarnings("rawtypes")
-    private com.squareup.okhttp.Call updateValidateBeforeCall(ImageChangeDto body, Long id, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
-        // verify the required parameter 'body' is set
-        if (body == null) {
-            throw new ApiException("Missing the required parameter 'body' when calling update(Async)");
-        }
-        // verify the required parameter 'id' is set
-        if (id == null) {
-            throw new ApiException("Missing the required parameter 'id' when calling update(Async)");
-        }
-        
-        com.squareup.okhttp.Call call = updateCall(body, id, progressListener, progressRequestListener);
-        return call;
-
-        
-        
-        
-        
-    }
-
-    /**
-     * Update some image
-     * 
-     * @param body  (required)
-     * @param id  (required)
-     * @return ImageDto
-     * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
-     */
-    public ImageDto update(ImageChangeDto body, Long id) throws ApiException {
-        ApiResponse<ImageDto> resp = updateWithHttpInfo(body, id);
-        return resp.getData();
-    }
-
-    /**
-     * Update some image
-     * 
-     * @param body  (required)
-     * @param id  (required)
-     * @return ApiResponse&lt;ImageDto&gt;
-     * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
-     */
-    public ApiResponse<ImageDto> updateWithHttpInfo(ImageChangeDto body, Long id) throws ApiException {
-        com.squareup.okhttp.Call call = updateValidateBeforeCall(body, id, null, null);
-        Type localVarReturnType = new TypeToken<ImageDto>(){}.getType();
-        return apiClient.execute(call, localVarReturnType);
-    }
-
-    /**
-     * Update some image (asynchronously)
-     * 
-     * @param body  (required)
-     * @param id  (required)
-     * @param callback The callback to be executed when the API call finishes
-     * @return The request call
-     * @throws ApiException If fail to process the API call, e.g. serializing the request body object
-     */
-    public com.squareup.okhttp.Call updateAsync(ImageChangeDto body, Long id, final ApiCallback<ImageDto> callback) throws ApiException {
-
-        ProgressResponseBody.ProgressListener progressListener = null;
-        ProgressRequestBody.ProgressRequestListener progressRequestListener = null;
-
-        if (callback != null) {
-            progressListener = new ProgressResponseBody.ProgressListener() {
-                @Override
-                public void update(long bytesRead, long contentLength, boolean done) {
-                    callback.onDownloadProgress(bytesRead, contentLength, done);
-                }
-            };
-
-            progressRequestListener = new ProgressRequestBody.ProgressRequestListener() {
-                @Override
-                public void onRequestProgress(long bytesWritten, long contentLength, boolean done) {
-                    callback.onUploadProgress(bytesWritten, contentLength, done);
-                }
-            };
-        }
-
-        com.squareup.okhttp.Call call = updateValidateBeforeCall(body, id, progressListener, progressRequestListener);
-        Type localVarReturnType = new TypeToken<ImageDto>(){}.getType();
-        apiClient.executeAsync(call, localVarReturnType, callback);
-        return call;
-    }
-}
diff --git a/.java-stubs/src/main/java/io/swagger/client/api/LicenseEndpointApi.java b/.java-stubs/src/main/java/io/swagger/client/api/LicenseEndpointApi.java
deleted file mode 100644
index e500a03122..0000000000
--- a/.java-stubs/src/main/java/io/swagger/client/api/LicenseEndpointApi.java
+++ /dev/null
@@ -1,170 +0,0 @@
-/*
- * Database Repository Database Service API
- * Service that manages the databases
- *
- * OpenAPI spec version: 1.1.0-alpha
- * Contact: andreas.rauber@tuwien.ac.at
- *
- * NOTE: This class is auto generated by the swagger code generator program.
- * https://github.com/swagger-api/swagger-codegen.git
- * Do not edit the class manually.
- */
-
-package io.swagger.client.api;
-
-import com.google.gson.reflect.TypeToken;
-import io.swagger.client.*;
-import io.swagger.client.model.LicenseDto;
-
-import java.io.IOException;
-import java.lang.reflect.Type;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-public class LicenseEndpointApi {
-    private ApiClient apiClient;
-
-    public LicenseEndpointApi() {
-        this(Configuration.getDefaultApiClient());
-    }
-
-    public LicenseEndpointApi(ApiClient apiClient) {
-        this.apiClient = apiClient;
-    }
-
-    public ApiClient getApiClient() {
-        return apiClient;
-    }
-
-    public void setApiClient(ApiClient apiClient) {
-        this.apiClient = apiClient;
-    }
-
-    /**
-     * Build call for list1
-     * @param id  (required)
-     * @param progressListener Progress listener
-     * @param progressRequestListener Progress request listener
-     * @return Call to execute
-     * @throws ApiException If fail to serialize the request body object
-     */
-    public com.squareup.okhttp.Call list1Call(Long id, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
-        Object localVarPostBody = null;
-        
-        // create path and map variables
-        String localVarPath = "/api/container/{id}/database/license"
-            .replaceAll("\\{" + "id" + "\\}", apiClient.escapeString(id.toString()));
-
-        List<Pair> localVarQueryParams = new ArrayList<Pair>();
-        List<Pair> localVarCollectionQueryParams = new ArrayList<Pair>();
-
-        Map<String, String> localVarHeaderParams = new HashMap<String, String>();
-
-        Map<String, Object> localVarFormParams = new HashMap<String, Object>();
-
-        final String[] localVarAccepts = {
-            "*/*"
-        };
-        final String localVarAccept = apiClient.selectHeaderAccept(localVarAccepts);
-        if (localVarAccept != null) localVarHeaderParams.put("Accept", localVarAccept);
-
-        final String[] localVarContentTypes = {
-            
-        };
-        final String localVarContentType = apiClient.selectHeaderContentType(localVarContentTypes);
-        localVarHeaderParams.put("Content-Type", localVarContentType);
-
-        if(progressListener != null) {
-            apiClient.getHttpClient().networkInterceptors().add(new com.squareup.okhttp.Interceptor() {
-                @Override
-                public com.squareup.okhttp.Response intercept(Chain chain) throws IOException {
-                    com.squareup.okhttp.Response originalResponse = chain.proceed(chain.request());
-                    return originalResponse.newBuilder()
-                    .body(new ProgressResponseBody(originalResponse.body(), progressListener))
-                    .build();
-                }
-            });
-        }
-
-        String[] localVarAuthNames = new String[] {  };
-        return apiClient.buildCall(localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarFormParams, localVarAuthNames, progressRequestListener);
-    }
-    
-    @SuppressWarnings("rawtypes")
-    private com.squareup.okhttp.Call list1ValidateBeforeCall(Long id, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
-        // verify the required parameter 'id' is set
-        if (id == null) {
-            throw new ApiException("Missing the required parameter 'id' when calling list1(Async)");
-        }
-        
-        com.squareup.okhttp.Call call = list1Call(id, progressListener, progressRequestListener);
-        return call;
-
-        
-        
-        
-        
-    }
-
-    /**
-     * Get all licenses
-     * 
-     * @param id  (required)
-     * @return List&lt;LicenseDto&gt;
-     * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
-     */
-    public List<LicenseDto> list1(Long id) throws ApiException {
-        ApiResponse<List<LicenseDto>> resp = list1WithHttpInfo(id);
-        return resp.getData();
-    }
-
-    /**
-     * Get all licenses
-     * 
-     * @param id  (required)
-     * @return ApiResponse&lt;List&lt;LicenseDto&gt;&gt;
-     * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
-     */
-    public ApiResponse<List<LicenseDto>> list1WithHttpInfo(Long id) throws ApiException {
-        com.squareup.okhttp.Call call = list1ValidateBeforeCall(id, null, null);
-        Type localVarReturnType = new TypeToken<List<LicenseDto>>(){}.getType();
-        return apiClient.execute(call, localVarReturnType);
-    }
-
-    /**
-     * Get all licenses (asynchronously)
-     * 
-     * @param id  (required)
-     * @param callback The callback to be executed when the API call finishes
-     * @return The request call
-     * @throws ApiException If fail to process the API call, e.g. serializing the request body object
-     */
-    public com.squareup.okhttp.Call list1Async(Long id, final ApiCallback<List<LicenseDto>> callback) throws ApiException {
-
-        ProgressResponseBody.ProgressListener progressListener = null;
-        ProgressRequestBody.ProgressRequestListener progressRequestListener = null;
-
-        if (callback != null) {
-            progressListener = new ProgressResponseBody.ProgressListener() {
-                @Override
-                public void update(long bytesRead, long contentLength, boolean done) {
-                    callback.onDownloadProgress(bytesRead, contentLength, done);
-                }
-            };
-
-            progressRequestListener = new ProgressRequestBody.ProgressRequestListener() {
-                @Override
-                public void onRequestProgress(long bytesWritten, long contentLength, boolean done) {
-                    callback.onUploadProgress(bytesWritten, contentLength, done);
-                }
-            };
-        }
-
-        com.squareup.okhttp.Call call = list1ValidateBeforeCall(id, progressListener, progressRequestListener);
-        Type localVarReturnType = new TypeToken<List<LicenseDto>>(){}.getType();
-        apiClient.executeAsync(call, localVarReturnType, callback);
-        return call;
-    }
-}
diff --git a/.java-stubs/src/main/java/io/swagger/client/api/QueryEndpointApi.java b/.java-stubs/src/main/java/io/swagger/client/api/QueryEndpointApi.java
deleted file mode 100644
index 51f09e8899..0000000000
--- a/.java-stubs/src/main/java/io/swagger/client/api/QueryEndpointApi.java
+++ /dev/null
@@ -1,544 +0,0 @@
-/*
- * Database Repository Query Service API
- * Service that manages the queries
- *
- * OpenAPI spec version: 1.1.0-alpha
- * Contact: andreas.rauber@tuwien.ac.at
- *
- * NOTE: This class is auto generated by the swagger code generator program.
- * https://github.com/swagger-api/swagger-codegen.git
- * Do not edit the class manually.
- */
-
-package io.swagger.client.api;
-
-import io.swagger.client.ApiCallback;
-import io.swagger.client.ApiClient;
-import io.swagger.client.ApiException;
-import io.swagger.client.ApiResponse;
-import io.swagger.client.Configuration;
-import io.swagger.client.Pair;
-import io.swagger.client.ProgressRequestBody;
-import io.swagger.client.ProgressResponseBody;
-
-import com.google.gson.reflect.TypeToken;
-
-import java.io.IOException;
-
-
-import io.swagger.client.model.ApiErrorDto;
-import io.swagger.client.model.ExecuteStatementDto;
-import io.swagger.client.model.QueryResultDto;
-
-import java.lang.reflect.Type;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-public class QueryEndpointApi {
-    private ApiClient apiClient;
-
-    public QueryEndpointApi() {
-        this(Configuration.getDefaultApiClient());
-    }
-
-    public QueryEndpointApi(ApiClient apiClient) {
-        this.apiClient = apiClient;
-    }
-
-    public ApiClient getApiClient() {
-        return apiClient;
-    }
-
-    public void setApiClient(ApiClient apiClient) {
-        this.apiClient = apiClient;
-    }
-
-    /**
-     * Build call for execute
-     * @param body  (required)
-     * @param id  (required)
-     * @param databaseId  (required)
-     * @param page  (optional)
-     * @param size  (optional)
-     * @param sortDirection  (optional)
-     * @param sortColumn  (optional)
-     * @param progressListener Progress listener
-     * @param progressRequestListener Progress request listener
-     * @return Call to execute
-     * @throws ApiException If fail to serialize the request body object
-     */
-    public com.squareup.okhttp.Call executeCall(ExecuteStatementDto body, Long id, Long databaseId, Long page, Long size, String sortDirection, String sortColumn, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
-        Object localVarPostBody = body;
-        
-        // create path and map variables
-        String localVarPath = "/api/container/{id}/database/{databaseId}/query"
-            .replaceAll("\\{" + "id" + "\\}", apiClient.escapeString(id.toString()))
-            .replaceAll("\\{" + "databaseId" + "\\}", apiClient.escapeString(databaseId.toString()));
-
-        List<Pair> localVarQueryParams = new ArrayList<Pair>();
-        List<Pair> localVarCollectionQueryParams = new ArrayList<Pair>();
-        if (page != null)
-        localVarQueryParams.addAll(apiClient.parameterToPair("page", page));
-        if (size != null)
-        localVarQueryParams.addAll(apiClient.parameterToPair("size", size));
-        if (sortDirection != null)
-        localVarQueryParams.addAll(apiClient.parameterToPair("sortDirection", sortDirection));
-        if (sortColumn != null)
-        localVarQueryParams.addAll(apiClient.parameterToPair("sortColumn", sortColumn));
-
-        Map<String, String> localVarHeaderParams = new HashMap<String, String>();
-
-        Map<String, Object> localVarFormParams = new HashMap<String, Object>();
-
-        final String[] localVarAccepts = {
-            "*/*"
-        };
-        final String localVarAccept = apiClient.selectHeaderAccept(localVarAccepts);
-        if (localVarAccept != null) localVarHeaderParams.put("Accept", localVarAccept);
-
-        final String[] localVarContentTypes = {
-            "application/json"
-        };
-        final String localVarContentType = apiClient.selectHeaderContentType(localVarContentTypes);
-        localVarHeaderParams.put("Content-Type", localVarContentType);
-
-        if(progressListener != null) {
-            apiClient.getHttpClient().networkInterceptors().add(new com.squareup.okhttp.Interceptor() {
-                @Override
-                public com.squareup.okhttp.Response intercept(Chain chain) throws IOException {
-                    com.squareup.okhttp.Response originalResponse = chain.proceed(chain.request());
-                    return originalResponse.newBuilder()
-                    .body(new ProgressResponseBody(originalResponse.body(), progressListener))
-                    .build();
-                }
-            });
-        }
-
-        String[] localVarAuthNames = new String[] { "bearerAuth" };
-        return apiClient.buildCall(localVarPath, "POST", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarFormParams, localVarAuthNames, progressRequestListener);
-    }
-    
-    @SuppressWarnings("rawtypes")
-    private com.squareup.okhttp.Call executeValidateBeforeCall(ExecuteStatementDto body, Long id, Long databaseId, Long page, Long size, String sortDirection, String sortColumn, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
-        // verify the required parameter 'body' is set
-        if (body == null) {
-            throw new ApiException("Missing the required parameter 'body' when calling execute(Async)");
-        }
-        // verify the required parameter 'id' is set
-        if (id == null) {
-            throw new ApiException("Missing the required parameter 'id' when calling execute(Async)");
-        }
-        // verify the required parameter 'databaseId' is set
-        if (databaseId == null) {
-            throw new ApiException("Missing the required parameter 'databaseId' when calling execute(Async)");
-        }
-        
-        com.squareup.okhttp.Call call = executeCall(body, id, databaseId, page, size, sortDirection, sortColumn, progressListener, progressRequestListener);
-        return call;
-
-        
-        
-        
-        
-    }
-
-    /**
-     * Execute query
-     * 
-     * @param body  (required)
-     * @param id  (required)
-     * @param databaseId  (required)
-     * @param page  (optional)
-     * @param size  (optional)
-     * @param sortDirection  (optional)
-     * @param sortColumn  (optional)
-     * @return QueryResultDto
-     * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
-     */
-    public QueryResultDto execute(ExecuteStatementDto body, Long id, Long databaseId, Long page, Long size, String sortDirection, String sortColumn) throws ApiException {
-        ApiResponse<QueryResultDto> resp = executeWithHttpInfo(body, id, databaseId, page, size, sortDirection, sortColumn);
-        return resp.getData();
-    }
-
-    /**
-     * Execute query
-     * 
-     * @param body  (required)
-     * @param id  (required)
-     * @param databaseId  (required)
-     * @param page  (optional)
-     * @param size  (optional)
-     * @param sortDirection  (optional)
-     * @param sortColumn  (optional)
-     * @return ApiResponse&lt;QueryResultDto&gt;
-     * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
-     */
-    public ApiResponse<QueryResultDto> executeWithHttpInfo(ExecuteStatementDto body, Long id, Long databaseId, Long page, Long size, String sortDirection, String sortColumn) throws ApiException {
-        com.squareup.okhttp.Call call = executeValidateBeforeCall(body, id, databaseId, page, size, sortDirection, sortColumn, null, null);
-        Type localVarReturnType = new TypeToken<QueryResultDto>(){}.getType();
-        return apiClient.execute(call, localVarReturnType);
-    }
-
-    /**
-     * Execute query (asynchronously)
-     * 
-     * @param body  (required)
-     * @param id  (required)
-     * @param databaseId  (required)
-     * @param page  (optional)
-     * @param size  (optional)
-     * @param sortDirection  (optional)
-     * @param sortColumn  (optional)
-     * @param callback The callback to be executed when the API call finishes
-     * @return The request call
-     * @throws ApiException If fail to process the API call, e.g. serializing the request body object
-     */
-    public com.squareup.okhttp.Call executeAsync(ExecuteStatementDto body, Long id, Long databaseId, Long page, Long size, String sortDirection, String sortColumn, final ApiCallback<QueryResultDto> callback) throws ApiException {
-
-        ProgressResponseBody.ProgressListener progressListener = null;
-        ProgressRequestBody.ProgressRequestListener progressRequestListener = null;
-
-        if (callback != null) {
-            progressListener = new ProgressResponseBody.ProgressListener() {
-                @Override
-                public void update(long bytesRead, long contentLength, boolean done) {
-                    callback.onDownloadProgress(bytesRead, contentLength, done);
-                }
-            };
-
-            progressRequestListener = new ProgressRequestBody.ProgressRequestListener() {
-                @Override
-                public void onRequestProgress(long bytesWritten, long contentLength, boolean done) {
-                    callback.onUploadProgress(bytesWritten, contentLength, done);
-                }
-            };
-        }
-
-        com.squareup.okhttp.Call call = executeValidateBeforeCall(body, id, databaseId, page, size, sortDirection, sortColumn, progressListener, progressRequestListener);
-        Type localVarReturnType = new TypeToken<QueryResultDto>(){}.getType();
-        apiClient.executeAsync(call, localVarReturnType, callback);
-        return call;
-    }
-    /**
-     * Build call for export1
-     * @param id  (required)
-     * @param databaseId  (required)
-     * @param queryId  (required)
-     * @param accept  (required)
-     * @param progressListener Progress listener
-     * @param progressRequestListener Progress request listener
-     * @return Call to execute
-     * @throws ApiException If fail to serialize the request body object
-     */
-    public com.squareup.okhttp.Call export1Call(Long id, Long databaseId, Long queryId, String accept, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
-        Object localVarPostBody = null;
-        
-        // create path and map variables
-        String localVarPath = "/api/container/{id}/database/{databaseId}/query/{queryId}/export"
-            .replaceAll("\\{" + "id" + "\\}", apiClient.escapeString(id.toString()))
-            .replaceAll("\\{" + "databaseId" + "\\}", apiClient.escapeString(databaseId.toString()))
-            .replaceAll("\\{" + "queryId" + "\\}", apiClient.escapeString(queryId.toString()));
-
-        List<Pair> localVarQueryParams = new ArrayList<Pair>();
-        List<Pair> localVarCollectionQueryParams = new ArrayList<Pair>();
-
-        Map<String, String> localVarHeaderParams = new HashMap<String, String>();
-        if (accept != null)
-        localVarHeaderParams.put("Accept", apiClient.parameterToString(accept));
-
-        Map<String, Object> localVarFormParams = new HashMap<String, Object>();
-
-        final String[] localVarAccepts = {
-            "*/*"
-        };
-        final String localVarAccept = apiClient.selectHeaderAccept(localVarAccepts);
-        if (localVarAccept != null) localVarHeaderParams.put("Accept", localVarAccept);
-
-        final String[] localVarContentTypes = {
-            
-        };
-        final String localVarContentType = apiClient.selectHeaderContentType(localVarContentTypes);
-        localVarHeaderParams.put("Content-Type", localVarContentType);
-
-        if(progressListener != null) {
-            apiClient.getHttpClient().networkInterceptors().add(new com.squareup.okhttp.Interceptor() {
-                @Override
-                public com.squareup.okhttp.Response intercept(Chain chain) throws IOException {
-                    com.squareup.okhttp.Response originalResponse = chain.proceed(chain.request());
-                    return originalResponse.newBuilder()
-                    .body(new ProgressResponseBody(originalResponse.body(), progressListener))
-                    .build();
-                }
-            });
-        }
-
-        String[] localVarAuthNames = new String[] { "bearerAuth" };
-        return apiClient.buildCall(localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarFormParams, localVarAuthNames, progressRequestListener);
-    }
-    
-    @SuppressWarnings("rawtypes")
-    private com.squareup.okhttp.Call export1ValidateBeforeCall(Long id, Long databaseId, Long queryId, String accept, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
-        // verify the required parameter 'id' is set
-        if (id == null) {
-            throw new ApiException("Missing the required parameter 'id' when calling export1(Async)");
-        }
-        // verify the required parameter 'databaseId' is set
-        if (databaseId == null) {
-            throw new ApiException("Missing the required parameter 'databaseId' when calling export1(Async)");
-        }
-        // verify the required parameter 'queryId' is set
-        if (queryId == null) {
-            throw new ApiException("Missing the required parameter 'queryId' when calling export1(Async)");
-        }
-        // verify the required parameter 'accept' is set
-        if (accept == null) {
-            throw new ApiException("Missing the required parameter 'accept' when calling export1(Async)");
-        }
-        
-        com.squareup.okhttp.Call call = export1Call(id, databaseId, queryId, accept, progressListener, progressRequestListener);
-        return call;
-
-        
-        
-        
-        
-    }
-
-    /**
-     * Exports some query
-     * 
-     * @param id  (required)
-     * @param databaseId  (required)
-     * @param queryId  (required)
-     * @param accept  (required)
-     * @return Object
-     * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
-     */
-    public Object export1(Long id, Long databaseId, Long queryId, String accept) throws ApiException {
-        ApiResponse<Object> resp = export1WithHttpInfo(id, databaseId, queryId, accept);
-        return resp.getData();
-    }
-
-    /**
-     * Exports some query
-     * 
-     * @param id  (required)
-     * @param databaseId  (required)
-     * @param queryId  (required)
-     * @param accept  (required)
-     * @return ApiResponse&lt;Object&gt;
-     * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
-     */
-    public ApiResponse<Object> export1WithHttpInfo(Long id, Long databaseId, Long queryId, String accept) throws ApiException {
-        com.squareup.okhttp.Call call = export1ValidateBeforeCall(id, databaseId, queryId, accept, null, null);
-        Type localVarReturnType = new TypeToken<Object>(){}.getType();
-        return apiClient.execute(call, localVarReturnType);
-    }
-
-    /**
-     * Exports some query (asynchronously)
-     * 
-     * @param id  (required)
-     * @param databaseId  (required)
-     * @param queryId  (required)
-     * @param accept  (required)
-     * @param callback The callback to be executed when the API call finishes
-     * @return The request call
-     * @throws ApiException If fail to process the API call, e.g. serializing the request body object
-     */
-    public com.squareup.okhttp.Call export1Async(Long id, Long databaseId, Long queryId, String accept, final ApiCallback<Object> callback) throws ApiException {
-
-        ProgressResponseBody.ProgressListener progressListener = null;
-        ProgressRequestBody.ProgressRequestListener progressRequestListener = null;
-
-        if (callback != null) {
-            progressListener = new ProgressResponseBody.ProgressListener() {
-                @Override
-                public void update(long bytesRead, long contentLength, boolean done) {
-                    callback.onDownloadProgress(bytesRead, contentLength, done);
-                }
-            };
-
-            progressRequestListener = new ProgressRequestBody.ProgressRequestListener() {
-                @Override
-                public void onRequestProgress(long bytesWritten, long contentLength, boolean done) {
-                    callback.onUploadProgress(bytesWritten, contentLength, done);
-                }
-            };
-        }
-
-        com.squareup.okhttp.Call call = export1ValidateBeforeCall(id, databaseId, queryId, accept, progressListener, progressRequestListener);
-        Type localVarReturnType = new TypeToken<Object>(){}.getType();
-        apiClient.executeAsync(call, localVarReturnType, callback);
-        return call;
-    }
-    /**
-     * Build call for reExecute
-     * @param id  (required)
-     * @param databaseId  (required)
-     * @param queryId  (required)
-     * @param page  (optional)
-     * @param size  (optional)
-     * @param sortDirection  (optional)
-     * @param sortColumn  (optional)
-     * @param progressListener Progress listener
-     * @param progressRequestListener Progress request listener
-     * @return Call to execute
-     * @throws ApiException If fail to serialize the request body object
-     */
-    public com.squareup.okhttp.Call reExecuteCall(Long id, Long databaseId, Long queryId, Long page, Long size, String sortDirection, String sortColumn, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
-        Object localVarPostBody = null;
-        
-        // create path and map variables
-        String localVarPath = "/api/container/{id}/database/{databaseId}/query/{queryId}/data"
-            .replaceAll("\\{" + "id" + "\\}", apiClient.escapeString(id.toString()))
-            .replaceAll("\\{" + "databaseId" + "\\}", apiClient.escapeString(databaseId.toString()))
-            .replaceAll("\\{" + "queryId" + "\\}", apiClient.escapeString(queryId.toString()));
-
-        List<Pair> localVarQueryParams = new ArrayList<Pair>();
-        List<Pair> localVarCollectionQueryParams = new ArrayList<Pair>();
-        if (page != null)
-        localVarQueryParams.addAll(apiClient.parameterToPair("page", page));
-        if (size != null)
-        localVarQueryParams.addAll(apiClient.parameterToPair("size", size));
-        if (sortDirection != null)
-        localVarQueryParams.addAll(apiClient.parameterToPair("sortDirection", sortDirection));
-        if (sortColumn != null)
-        localVarQueryParams.addAll(apiClient.parameterToPair("sortColumn", sortColumn));
-
-        Map<String, String> localVarHeaderParams = new HashMap<String, String>();
-
-        Map<String, Object> localVarFormParams = new HashMap<String, Object>();
-
-        final String[] localVarAccepts = {
-            "*/*"
-        };
-        final String localVarAccept = apiClient.selectHeaderAccept(localVarAccepts);
-        if (localVarAccept != null) localVarHeaderParams.put("Accept", localVarAccept);
-
-        final String[] localVarContentTypes = {
-            
-        };
-        final String localVarContentType = apiClient.selectHeaderContentType(localVarContentTypes);
-        localVarHeaderParams.put("Content-Type", localVarContentType);
-
-        if(progressListener != null) {
-            apiClient.getHttpClient().networkInterceptors().add(new com.squareup.okhttp.Interceptor() {
-                @Override
-                public com.squareup.okhttp.Response intercept(Chain chain) throws IOException {
-                    com.squareup.okhttp.Response originalResponse = chain.proceed(chain.request());
-                    return originalResponse.newBuilder()
-                    .body(new ProgressResponseBody(originalResponse.body(), progressListener))
-                    .build();
-                }
-            });
-        }
-
-        String[] localVarAuthNames = new String[] { "bearerAuth" };
-        return apiClient.buildCall(localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarFormParams, localVarAuthNames, progressRequestListener);
-    }
-    
-    @SuppressWarnings("rawtypes")
-    private com.squareup.okhttp.Call reExecuteValidateBeforeCall(Long id, Long databaseId, Long queryId, Long page, Long size, String sortDirection, String sortColumn, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
-        // verify the required parameter 'id' is set
-        if (id == null) {
-            throw new ApiException("Missing the required parameter 'id' when calling reExecute(Async)");
-        }
-        // verify the required parameter 'databaseId' is set
-        if (databaseId == null) {
-            throw new ApiException("Missing the required parameter 'databaseId' when calling reExecute(Async)");
-        }
-        // verify the required parameter 'queryId' is set
-        if (queryId == null) {
-            throw new ApiException("Missing the required parameter 'queryId' when calling reExecute(Async)");
-        }
-        
-        com.squareup.okhttp.Call call = reExecuteCall(id, databaseId, queryId, page, size, sortDirection, sortColumn, progressListener, progressRequestListener);
-        return call;
-
-        
-        
-        
-        
-    }
-
-    /**
-     * Re-execute some query
-     * 
-     * @param id  (required)
-     * @param databaseId  (required)
-     * @param queryId  (required)
-     * @param page  (optional)
-     * @param size  (optional)
-     * @param sortDirection  (optional)
-     * @param sortColumn  (optional)
-     * @return QueryResultDto
-     * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
-     */
-    public QueryResultDto reExecute(Long id, Long databaseId, Long queryId, Long page, Long size, String sortDirection, String sortColumn) throws ApiException {
-        ApiResponse<QueryResultDto> resp = reExecuteWithHttpInfo(id, databaseId, queryId, page, size, sortDirection, sortColumn);
-        return resp.getData();
-    }
-
-    /**
-     * Re-execute some query
-     * 
-     * @param id  (required)
-     * @param databaseId  (required)
-     * @param queryId  (required)
-     * @param page  (optional)
-     * @param size  (optional)
-     * @param sortDirection  (optional)
-     * @param sortColumn  (optional)
-     * @return ApiResponse&lt;QueryResultDto&gt;
-     * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
-     */
-    public ApiResponse<QueryResultDto> reExecuteWithHttpInfo(Long id, Long databaseId, Long queryId, Long page, Long size, String sortDirection, String sortColumn) throws ApiException {
-        com.squareup.okhttp.Call call = reExecuteValidateBeforeCall(id, databaseId, queryId, page, size, sortDirection, sortColumn, null, null);
-        Type localVarReturnType = new TypeToken<QueryResultDto>(){}.getType();
-        return apiClient.execute(call, localVarReturnType);
-    }
-
-    /**
-     * Re-execute some query (asynchronously)
-     * 
-     * @param id  (required)
-     * @param databaseId  (required)
-     * @param queryId  (required)
-     * @param page  (optional)
-     * @param size  (optional)
-     * @param sortDirection  (optional)
-     * @param sortColumn  (optional)
-     * @param callback The callback to be executed when the API call finishes
-     * @return The request call
-     * @throws ApiException If fail to process the API call, e.g. serializing the request body object
-     */
-    public com.squareup.okhttp.Call reExecuteAsync(Long id, Long databaseId, Long queryId, Long page, Long size, String sortDirection, String sortColumn, final ApiCallback<QueryResultDto> callback) throws ApiException {
-
-        ProgressResponseBody.ProgressListener progressListener = null;
-        ProgressRequestBody.ProgressRequestListener progressRequestListener = null;
-
-        if (callback != null) {
-            progressListener = new ProgressResponseBody.ProgressListener() {
-                @Override
-                public void update(long bytesRead, long contentLength, boolean done) {
-                    callback.onDownloadProgress(bytesRead, contentLength, done);
-                }
-            };
-
-            progressRequestListener = new ProgressRequestBody.ProgressRequestListener() {
-                @Override
-                public void onRequestProgress(long bytesWritten, long contentLength, boolean done) {
-                    callback.onUploadProgress(bytesWritten, contentLength, done);
-                }
-            };
-        }
-
-        com.squareup.okhttp.Call call = reExecuteValidateBeforeCall(id, databaseId, queryId, page, size, sortDirection, sortColumn, progressListener, progressRequestListener);
-        Type localVarReturnType = new TypeToken<QueryResultDto>(){}.getType();
-        apiClient.executeAsync(call, localVarReturnType, callback);
-        return call;
-    }
-}
diff --git a/.java-stubs/src/main/java/io/swagger/client/api/StoreEndpointApi.java b/.java-stubs/src/main/java/io/swagger/client/api/StoreEndpointApi.java
deleted file mode 100644
index f2c58d09eb..0000000000
--- a/.java-stubs/src/main/java/io/swagger/client/api/StoreEndpointApi.java
+++ /dev/null
@@ -1,484 +0,0 @@
-/*
- * Database Repository Query Service API
- * Service that manages the queries
- *
- * OpenAPI spec version: 1.1.0-alpha
- * Contact: andreas.rauber@tuwien.ac.at
- *
- * NOTE: This class is auto generated by the swagger code generator program.
- * https://github.com/swagger-api/swagger-codegen.git
- * Do not edit the class manually.
- */
-
-package io.swagger.client.api;
-
-import io.swagger.client.ApiCallback;
-import io.swagger.client.ApiClient;
-import io.swagger.client.ApiException;
-import io.swagger.client.ApiResponse;
-import io.swagger.client.Configuration;
-import io.swagger.client.Pair;
-import io.swagger.client.ProgressRequestBody;
-import io.swagger.client.ProgressResponseBody;
-
-import com.google.gson.reflect.TypeToken;
-
-import java.io.IOException;
-
-
-import io.swagger.client.model.ApiErrorDto;
-import io.swagger.client.model.QueryBriefDto;
-import io.swagger.client.model.QueryDto;
-
-import java.lang.reflect.Type;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-public class StoreEndpointApi {
-    private ApiClient apiClient;
-
-    public StoreEndpointApi() {
-        this(Configuration.getDefaultApiClient());
-    }
-
-    public StoreEndpointApi(ApiClient apiClient) {
-        this.apiClient = apiClient;
-    }
-
-    public ApiClient getApiClient() {
-        return apiClient;
-    }
-
-    public void setApiClient(ApiClient apiClient) {
-        this.apiClient = apiClient;
-    }
-
-    /**
-     * Build call for find1
-     * @param id  (required)
-     * @param databaseId  (required)
-     * @param queryId  (required)
-     * @param progressListener Progress listener
-     * @param progressRequestListener Progress request listener
-     * @return Call to execute
-     * @throws ApiException If fail to serialize the request body object
-     */
-    public com.squareup.okhttp.Call find1Call(Long id, Long databaseId, Long queryId, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
-        Object localVarPostBody = null;
-        
-        // create path and map variables
-        String localVarPath = "/api/container/{id}/database/{databaseId}/query/{queryId}"
-            .replaceAll("\\{" + "id" + "\\}", apiClient.escapeString(id.toString()))
-            .replaceAll("\\{" + "databaseId" + "\\}", apiClient.escapeString(databaseId.toString()))
-            .replaceAll("\\{" + "queryId" + "\\}", apiClient.escapeString(queryId.toString()));
-
-        List<Pair> localVarQueryParams = new ArrayList<Pair>();
-        List<Pair> localVarCollectionQueryParams = new ArrayList<Pair>();
-
-        Map<String, String> localVarHeaderParams = new HashMap<String, String>();
-
-        Map<String, Object> localVarFormParams = new HashMap<String, Object>();
-
-        final String[] localVarAccepts = {
-            "*/*"
-        };
-        final String localVarAccept = apiClient.selectHeaderAccept(localVarAccepts);
-        if (localVarAccept != null) localVarHeaderParams.put("Accept", localVarAccept);
-
-        final String[] localVarContentTypes = {
-            
-        };
-        final String localVarContentType = apiClient.selectHeaderContentType(localVarContentTypes);
-        localVarHeaderParams.put("Content-Type", localVarContentType);
-
-        if(progressListener != null) {
-            apiClient.getHttpClient().networkInterceptors().add(new com.squareup.okhttp.Interceptor() {
-                @Override
-                public com.squareup.okhttp.Response intercept(Chain chain) throws IOException {
-                    com.squareup.okhttp.Response originalResponse = chain.proceed(chain.request());
-                    return originalResponse.newBuilder()
-                    .body(new ProgressResponseBody(originalResponse.body(), progressListener))
-                    .build();
-                }
-            });
-        }
-
-        String[] localVarAuthNames = new String[] { "bearerAuth" };
-        return apiClient.buildCall(localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarFormParams, localVarAuthNames, progressRequestListener);
-    }
-    
-    @SuppressWarnings("rawtypes")
-    private com.squareup.okhttp.Call find1ValidateBeforeCall(Long id, Long databaseId, Long queryId, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
-        // verify the required parameter 'id' is set
-        if (id == null) {
-            throw new ApiException("Missing the required parameter 'id' when calling find1(Async)");
-        }
-        // verify the required parameter 'databaseId' is set
-        if (databaseId == null) {
-            throw new ApiException("Missing the required parameter 'databaseId' when calling find1(Async)");
-        }
-        // verify the required parameter 'queryId' is set
-        if (queryId == null) {
-            throw new ApiException("Missing the required parameter 'queryId' when calling find1(Async)");
-        }
-        
-        com.squareup.okhttp.Call call = find1Call(id, databaseId, queryId, progressListener, progressRequestListener);
-        return call;
-
-        
-        
-        
-        
-    }
-
-    /**
-     * Find some query
-     * 
-     * @param id  (required)
-     * @param databaseId  (required)
-     * @param queryId  (required)
-     * @return QueryDto
-     * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
-     */
-    public QueryDto find1(Long id, Long databaseId, Long queryId) throws ApiException {
-        ApiResponse<QueryDto> resp = find1WithHttpInfo(id, databaseId, queryId);
-        return resp.getData();
-    }
-
-    /**
-     * Find some query
-     * 
-     * @param id  (required)
-     * @param databaseId  (required)
-     * @param queryId  (required)
-     * @return ApiResponse&lt;QueryDto&gt;
-     * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
-     */
-    public ApiResponse<QueryDto> find1WithHttpInfo(Long id, Long databaseId, Long queryId) throws ApiException {
-        com.squareup.okhttp.Call call = find1ValidateBeforeCall(id, databaseId, queryId, null, null);
-        Type localVarReturnType = new TypeToken<QueryDto>(){}.getType();
-        return apiClient.execute(call, localVarReturnType);
-    }
-
-    /**
-     * Find some query (asynchronously)
-     * 
-     * @param id  (required)
-     * @param databaseId  (required)
-     * @param queryId  (required)
-     * @param callback The callback to be executed when the API call finishes
-     * @return The request call
-     * @throws ApiException If fail to process the API call, e.g. serializing the request body object
-     */
-    public com.squareup.okhttp.Call find1Async(Long id, Long databaseId, Long queryId, final ApiCallback<QueryDto> callback) throws ApiException {
-
-        ProgressResponseBody.ProgressListener progressListener = null;
-        ProgressRequestBody.ProgressRequestListener progressRequestListener = null;
-
-        if (callback != null) {
-            progressListener = new ProgressResponseBody.ProgressListener() {
-                @Override
-                public void update(long bytesRead, long contentLength, boolean done) {
-                    callback.onDownloadProgress(bytesRead, contentLength, done);
-                }
-            };
-
-            progressRequestListener = new ProgressRequestBody.ProgressRequestListener() {
-                @Override
-                public void onRequestProgress(long bytesWritten, long contentLength, boolean done) {
-                    callback.onUploadProgress(bytesWritten, contentLength, done);
-                }
-            };
-        }
-
-        com.squareup.okhttp.Call call = find1ValidateBeforeCall(id, databaseId, queryId, progressListener, progressRequestListener);
-        Type localVarReturnType = new TypeToken<QueryDto>(){}.getType();
-        apiClient.executeAsync(call, localVarReturnType, callback);
-        return call;
-    }
-    /**
-     * Build call for findAll1
-     * @param id  (required)
-     * @param databaseId  (required)
-     * @param persisted  (optional)
-     * @param progressListener Progress listener
-     * @param progressRequestListener Progress request listener
-     * @return Call to execute
-     * @throws ApiException If fail to serialize the request body object
-     */
-    public com.squareup.okhttp.Call findAll1Call(Long id, Long databaseId, Boolean persisted, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
-        Object localVarPostBody = null;
-        
-        // create path and map variables
-        String localVarPath = "/api/container/{id}/database/{databaseId}/query"
-            .replaceAll("\\{" + "id" + "\\}", apiClient.escapeString(id.toString()))
-            .replaceAll("\\{" + "databaseId" + "\\}", apiClient.escapeString(databaseId.toString()));
-
-        List<Pair> localVarQueryParams = new ArrayList<Pair>();
-        List<Pair> localVarCollectionQueryParams = new ArrayList<Pair>();
-        if (persisted != null)
-        localVarQueryParams.addAll(apiClient.parameterToPair("persisted", persisted));
-
-        Map<String, String> localVarHeaderParams = new HashMap<String, String>();
-
-        Map<String, Object> localVarFormParams = new HashMap<String, Object>();
-
-        final String[] localVarAccepts = {
-            "*/*"
-        };
-        final String localVarAccept = apiClient.selectHeaderAccept(localVarAccepts);
-        if (localVarAccept != null) localVarHeaderParams.put("Accept", localVarAccept);
-
-        final String[] localVarContentTypes = {
-            
-        };
-        final String localVarContentType = apiClient.selectHeaderContentType(localVarContentTypes);
-        localVarHeaderParams.put("Content-Type", localVarContentType);
-
-        if(progressListener != null) {
-            apiClient.getHttpClient().networkInterceptors().add(new com.squareup.okhttp.Interceptor() {
-                @Override
-                public com.squareup.okhttp.Response intercept(Chain chain) throws IOException {
-                    com.squareup.okhttp.Response originalResponse = chain.proceed(chain.request());
-                    return originalResponse.newBuilder()
-                    .body(new ProgressResponseBody(originalResponse.body(), progressListener))
-                    .build();
-                }
-            });
-        }
-
-        String[] localVarAuthNames = new String[] { "bearerAuth" };
-        return apiClient.buildCall(localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarFormParams, localVarAuthNames, progressRequestListener);
-    }
-    
-    @SuppressWarnings("rawtypes")
-    private com.squareup.okhttp.Call findAll1ValidateBeforeCall(Long id, Long databaseId, Boolean persisted, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
-        // verify the required parameter 'id' is set
-        if (id == null) {
-            throw new ApiException("Missing the required parameter 'id' when calling findAll1(Async)");
-        }
-        // verify the required parameter 'databaseId' is set
-        if (databaseId == null) {
-            throw new ApiException("Missing the required parameter 'databaseId' when calling findAll1(Async)");
-        }
-        
-        com.squareup.okhttp.Call call = findAll1Call(id, databaseId, persisted, progressListener, progressRequestListener);
-        return call;
-
-        
-        
-        
-        
-    }
-
-    /**
-     * Find queries
-     * 
-     * @param id  (required)
-     * @param databaseId  (required)
-     * @param persisted  (optional)
-     * @return List&lt;QueryBriefDto&gt;
-     * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
-     */
-    public List<QueryBriefDto> findAll1(Long id, Long databaseId, Boolean persisted) throws ApiException {
-        ApiResponse<List<QueryBriefDto>> resp = findAll1WithHttpInfo(id, databaseId, persisted);
-        return resp.getData();
-    }
-
-    /**
-     * Find queries
-     * 
-     * @param id  (required)
-     * @param databaseId  (required)
-     * @param persisted  (optional)
-     * @return ApiResponse&lt;List&lt;QueryBriefDto&gt;&gt;
-     * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
-     */
-    public ApiResponse<List<QueryBriefDto>> findAll1WithHttpInfo(Long id, Long databaseId, Boolean persisted) throws ApiException {
-        com.squareup.okhttp.Call call = findAll1ValidateBeforeCall(id, databaseId, persisted, null, null);
-        Type localVarReturnType = new TypeToken<List<QueryBriefDto>>(){}.getType();
-        return apiClient.execute(call, localVarReturnType);
-    }
-
-    /**
-     * Find queries (asynchronously)
-     * 
-     * @param id  (required)
-     * @param databaseId  (required)
-     * @param persisted  (optional)
-     * @param callback The callback to be executed when the API call finishes
-     * @return The request call
-     * @throws ApiException If fail to process the API call, e.g. serializing the request body object
-     */
-    public com.squareup.okhttp.Call findAll1Async(Long id, Long databaseId, Boolean persisted, final ApiCallback<List<QueryBriefDto>> callback) throws ApiException {
-
-        ProgressResponseBody.ProgressListener progressListener = null;
-        ProgressRequestBody.ProgressRequestListener progressRequestListener = null;
-
-        if (callback != null) {
-            progressListener = new ProgressResponseBody.ProgressListener() {
-                @Override
-                public void update(long bytesRead, long contentLength, boolean done) {
-                    callback.onDownloadProgress(bytesRead, contentLength, done);
-                }
-            };
-
-            progressRequestListener = new ProgressRequestBody.ProgressRequestListener() {
-                @Override
-                public void onRequestProgress(long bytesWritten, long contentLength, boolean done) {
-                    callback.onUploadProgress(bytesWritten, contentLength, done);
-                }
-            };
-        }
-
-        com.squareup.okhttp.Call call = findAll1ValidateBeforeCall(id, databaseId, persisted, progressListener, progressRequestListener);
-        Type localVarReturnType = new TypeToken<List<QueryBriefDto>>(){}.getType();
-        apiClient.executeAsync(call, localVarReturnType, callback);
-        return call;
-    }
-    /**
-     * Build call for persist
-     * @param id  (required)
-     * @param databaseId  (required)
-     * @param queryId  (required)
-     * @param progressListener Progress listener
-     * @param progressRequestListener Progress request listener
-     * @return Call to execute
-     * @throws ApiException If fail to serialize the request body object
-     */
-    public com.squareup.okhttp.Call persistCall(Long id, Long databaseId, Long queryId, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
-        Object localVarPostBody = null;
-        
-        // create path and map variables
-        String localVarPath = "/api/container/{id}/database/{databaseId}/query/{queryId}"
-            .replaceAll("\\{" + "id" + "\\}", apiClient.escapeString(id.toString()))
-            .replaceAll("\\{" + "databaseId" + "\\}", apiClient.escapeString(databaseId.toString()))
-            .replaceAll("\\{" + "queryId" + "\\}", apiClient.escapeString(queryId.toString()));
-
-        List<Pair> localVarQueryParams = new ArrayList<Pair>();
-        List<Pair> localVarCollectionQueryParams = new ArrayList<Pair>();
-
-        Map<String, String> localVarHeaderParams = new HashMap<String, String>();
-
-        Map<String, Object> localVarFormParams = new HashMap<String, Object>();
-
-        final String[] localVarAccepts = {
-            "*/*"
-        };
-        final String localVarAccept = apiClient.selectHeaderAccept(localVarAccepts);
-        if (localVarAccept != null) localVarHeaderParams.put("Accept", localVarAccept);
-
-        final String[] localVarContentTypes = {
-            
-        };
-        final String localVarContentType = apiClient.selectHeaderContentType(localVarContentTypes);
-        localVarHeaderParams.put("Content-Type", localVarContentType);
-
-        if(progressListener != null) {
-            apiClient.getHttpClient().networkInterceptors().add(new com.squareup.okhttp.Interceptor() {
-                @Override
-                public com.squareup.okhttp.Response intercept(Chain chain) throws IOException {
-                    com.squareup.okhttp.Response originalResponse = chain.proceed(chain.request());
-                    return originalResponse.newBuilder()
-                    .body(new ProgressResponseBody(originalResponse.body(), progressListener))
-                    .build();
-                }
-            });
-        }
-
-        String[] localVarAuthNames = new String[] { "bearerAuth" };
-        return apiClient.buildCall(localVarPath, "PUT", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarFormParams, localVarAuthNames, progressRequestListener);
-    }
-    
-    @SuppressWarnings("rawtypes")
-    private com.squareup.okhttp.Call persistValidateBeforeCall(Long id, Long databaseId, Long queryId, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
-        // verify the required parameter 'id' is set
-        if (id == null) {
-            throw new ApiException("Missing the required parameter 'id' when calling persist(Async)");
-        }
-        // verify the required parameter 'databaseId' is set
-        if (databaseId == null) {
-            throw new ApiException("Missing the required parameter 'databaseId' when calling persist(Async)");
-        }
-        // verify the required parameter 'queryId' is set
-        if (queryId == null) {
-            throw new ApiException("Missing the required parameter 'queryId' when calling persist(Async)");
-        }
-        
-        com.squareup.okhttp.Call call = persistCall(id, databaseId, queryId, progressListener, progressRequestListener);
-        return call;
-
-        
-        
-        
-        
-    }
-
-    /**
-     * Persist some query
-     * 
-     * @param id  (required)
-     * @param databaseId  (required)
-     * @param queryId  (required)
-     * @return QueryDto
-     * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
-     */
-    public QueryDto persist(Long id, Long databaseId, Long queryId) throws ApiException {
-        ApiResponse<QueryDto> resp = persistWithHttpInfo(id, databaseId, queryId);
-        return resp.getData();
-    }
-
-    /**
-     * Persist some query
-     * 
-     * @param id  (required)
-     * @param databaseId  (required)
-     * @param queryId  (required)
-     * @return ApiResponse&lt;QueryDto&gt;
-     * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
-     */
-    public ApiResponse<QueryDto> persistWithHttpInfo(Long id, Long databaseId, Long queryId) throws ApiException {
-        com.squareup.okhttp.Call call = persistValidateBeforeCall(id, databaseId, queryId, null, null);
-        Type localVarReturnType = new TypeToken<QueryDto>(){}.getType();
-        return apiClient.execute(call, localVarReturnType);
-    }
-
-    /**
-     * Persist some query (asynchronously)
-     * 
-     * @param id  (required)
-     * @param databaseId  (required)
-     * @param queryId  (required)
-     * @param callback The callback to be executed when the API call finishes
-     * @return The request call
-     * @throws ApiException If fail to process the API call, e.g. serializing the request body object
-     */
-    public com.squareup.okhttp.Call persistAsync(Long id, Long databaseId, Long queryId, final ApiCallback<QueryDto> callback) throws ApiException {
-
-        ProgressResponseBody.ProgressListener progressListener = null;
-        ProgressRequestBody.ProgressRequestListener progressRequestListener = null;
-
-        if (callback != null) {
-            progressListener = new ProgressResponseBody.ProgressListener() {
-                @Override
-                public void update(long bytesRead, long contentLength, boolean done) {
-                    callback.onDownloadProgress(bytesRead, contentLength, done);
-                }
-            };
-
-            progressRequestListener = new ProgressRequestBody.ProgressRequestListener() {
-                @Override
-                public void onRequestProgress(long bytesWritten, long contentLength, boolean done) {
-                    callback.onUploadProgress(bytesWritten, contentLength, done);
-                }
-            };
-        }
-
-        com.squareup.okhttp.Call call = persistValidateBeforeCall(id, databaseId, queryId, progressListener, progressRequestListener);
-        Type localVarReturnType = new TypeToken<QueryDto>(){}.getType();
-        apiClient.executeAsync(call, localVarReturnType, callback);
-        return call;
-    }
-}
diff --git a/.java-stubs/src/main/java/io/swagger/client/api/TableColumnEndpointApi.java b/.java-stubs/src/main/java/io/swagger/client/api/TableColumnEndpointApi.java
deleted file mode 100644
index d894bb32e2..0000000000
--- a/.java-stubs/src/main/java/io/swagger/client/api/TableColumnEndpointApi.java
+++ /dev/null
@@ -1,218 +0,0 @@
-/*
- * Database Repository Table Service API
- * Service that manages the tables
- *
- * OpenAPI spec version: 1.1.0-alpha
- * Contact: andreas.rauber@tuwien.ac.at
- *
- * NOTE: This class is auto generated by the swagger code generator program.
- * https://github.com/swagger-api/swagger-codegen.git
- * Do not edit the class manually.
- */
-
-package io.swagger.client.api;
-
-import io.swagger.client.ApiCallback;
-import io.swagger.client.ApiClient;
-import io.swagger.client.ApiException;
-import io.swagger.client.ApiResponse;
-import io.swagger.client.Configuration;
-import io.swagger.client.Pair;
-import io.swagger.client.ProgressRequestBody;
-import io.swagger.client.ProgressResponseBody;
-
-import com.google.gson.reflect.TypeToken;
-
-import java.io.IOException;
-
-
-import io.swagger.client.model.ApiErrorDto;
-import io.swagger.client.model.ColumnDto;
-import io.swagger.client.model.ColumnSemanticsUpdateDto;
-
-import java.lang.reflect.Type;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-public class TableColumnEndpointApi {
-    private ApiClient apiClient;
-
-    public TableColumnEndpointApi() {
-        this(Configuration.getDefaultApiClient());
-    }
-
-    public TableColumnEndpointApi(ApiClient apiClient) {
-        this.apiClient = apiClient;
-    }
-
-    public ApiClient getApiClient() {
-        return apiClient;
-    }
-
-    public void setApiClient(ApiClient apiClient) {
-        this.apiClient = apiClient;
-    }
-
-    /**
-     * Build call for update
-     * @param body  (required)
-     * @param id  (required)
-     * @param databaseId  (required)
-     * @param tableId  (required)
-     * @param columnId  (required)
-     * @param progressListener Progress listener
-     * @param progressRequestListener Progress request listener
-     * @return Call to execute
-     * @throws ApiException If fail to serialize the request body object
-     */
-    public com.squareup.okhttp.Call updateCall(ColumnSemanticsUpdateDto body, Long id, Long databaseId, Long tableId, Long columnId, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
-        Object localVarPostBody = body;
-        
-        // create path and map variables
-        String localVarPath = "/api/container/{id}/database/{databaseId}/table/{tableId}/column/{columnId}"
-            .replaceAll("\\{" + "id" + "\\}", apiClient.escapeString(id.toString()))
-            .replaceAll("\\{" + "databaseId" + "\\}", apiClient.escapeString(databaseId.toString()))
-            .replaceAll("\\{" + "tableId" + "\\}", apiClient.escapeString(tableId.toString()))
-            .replaceAll("\\{" + "columnId" + "\\}", apiClient.escapeString(columnId.toString()));
-
-        List<Pair> localVarQueryParams = new ArrayList<Pair>();
-        List<Pair> localVarCollectionQueryParams = new ArrayList<Pair>();
-
-        Map<String, String> localVarHeaderParams = new HashMap<String, String>();
-
-        Map<String, Object> localVarFormParams = new HashMap<String, Object>();
-
-        final String[] localVarAccepts = {
-            "*/*"
-        };
-        final String localVarAccept = apiClient.selectHeaderAccept(localVarAccepts);
-        if (localVarAccept != null) localVarHeaderParams.put("Accept", localVarAccept);
-
-        final String[] localVarContentTypes = {
-            "application/json"
-        };
-        final String localVarContentType = apiClient.selectHeaderContentType(localVarContentTypes);
-        localVarHeaderParams.put("Content-Type", localVarContentType);
-
-        if(progressListener != null) {
-            apiClient.getHttpClient().networkInterceptors().add(new com.squareup.okhttp.Interceptor() {
-                @Override
-                public com.squareup.okhttp.Response intercept(Chain chain) throws IOException {
-                    com.squareup.okhttp.Response originalResponse = chain.proceed(chain.request());
-                    return originalResponse.newBuilder()
-                    .body(new ProgressResponseBody(originalResponse.body(), progressListener))
-                    .build();
-                }
-            });
-        }
-
-        String[] localVarAuthNames = new String[] { "bearerAuth" };
-        return apiClient.buildCall(localVarPath, "PUT", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarFormParams, localVarAuthNames, progressRequestListener);
-    }
-    
-    @SuppressWarnings("rawtypes")
-    private com.squareup.okhttp.Call updateValidateBeforeCall(ColumnSemanticsUpdateDto body, Long id, Long databaseId, Long tableId, Long columnId, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
-        // verify the required parameter 'body' is set
-        if (body == null) {
-            throw new ApiException("Missing the required parameter 'body' when calling update(Async)");
-        }
-        // verify the required parameter 'id' is set
-        if (id == null) {
-            throw new ApiException("Missing the required parameter 'id' when calling update(Async)");
-        }
-        // verify the required parameter 'databaseId' is set
-        if (databaseId == null) {
-            throw new ApiException("Missing the required parameter 'databaseId' when calling update(Async)");
-        }
-        // verify the required parameter 'tableId' is set
-        if (tableId == null) {
-            throw new ApiException("Missing the required parameter 'tableId' when calling update(Async)");
-        }
-        // verify the required parameter 'columnId' is set
-        if (columnId == null) {
-            throw new ApiException("Missing the required parameter 'columnId' when calling update(Async)");
-        }
-        
-        com.squareup.okhttp.Call call = updateCall(body, id, databaseId, tableId, columnId, progressListener, progressRequestListener);
-        return call;
-
-        
-        
-        
-        
-    }
-
-    /**
-     * Update a table column semantic mapping
-     * 
-     * @param body  (required)
-     * @param id  (required)
-     * @param databaseId  (required)
-     * @param tableId  (required)
-     * @param columnId  (required)
-     * @return ColumnDto
-     * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
-     */
-    public ColumnDto update(ColumnSemanticsUpdateDto body, Long id, Long databaseId, Long tableId, Long columnId) throws ApiException {
-        ApiResponse<ColumnDto> resp = updateWithHttpInfo(body, id, databaseId, tableId, columnId);
-        return resp.getData();
-    }
-
-    /**
-     * Update a table column semantic mapping
-     * 
-     * @param body  (required)
-     * @param id  (required)
-     * @param databaseId  (required)
-     * @param tableId  (required)
-     * @param columnId  (required)
-     * @return ApiResponse&lt;ColumnDto&gt;
-     * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
-     */
-    public ApiResponse<ColumnDto> updateWithHttpInfo(ColumnSemanticsUpdateDto body, Long id, Long databaseId, Long tableId, Long columnId) throws ApiException {
-        com.squareup.okhttp.Call call = updateValidateBeforeCall(body, id, databaseId, tableId, columnId, null, null);
-        Type localVarReturnType = new TypeToken<ColumnDto>(){}.getType();
-        return apiClient.execute(call, localVarReturnType);
-    }
-
-    /**
-     * Update a table column semantic mapping (asynchronously)
-     * 
-     * @param body  (required)
-     * @param id  (required)
-     * @param databaseId  (required)
-     * @param tableId  (required)
-     * @param columnId  (required)
-     * @param callback The callback to be executed when the API call finishes
-     * @return The request call
-     * @throws ApiException If fail to process the API call, e.g. serializing the request body object
-     */
-    public com.squareup.okhttp.Call updateAsync(ColumnSemanticsUpdateDto body, Long id, Long databaseId, Long tableId, Long columnId, final ApiCallback<ColumnDto> callback) throws ApiException {
-
-        ProgressResponseBody.ProgressListener progressListener = null;
-        ProgressRequestBody.ProgressRequestListener progressRequestListener = null;
-
-        if (callback != null) {
-            progressListener = new ProgressResponseBody.ProgressListener() {
-                @Override
-                public void update(long bytesRead, long contentLength, boolean done) {
-                    callback.onDownloadProgress(bytesRead, contentLength, done);
-                }
-            };
-
-            progressRequestListener = new ProgressRequestBody.ProgressRequestListener() {
-                @Override
-                public void onRequestProgress(long bytesWritten, long contentLength, boolean done) {
-                    callback.onUploadProgress(bytesWritten, contentLength, done);
-                }
-            };
-        }
-
-        com.squareup.okhttp.Call call = updateValidateBeforeCall(body, id, databaseId, tableId, columnId, progressListener, progressRequestListener);
-        Type localVarReturnType = new TypeToken<ColumnDto>(){}.getType();
-        apiClient.executeAsync(call, localVarReturnType, callback);
-        return call;
-    }
-}
diff --git a/.java-stubs/src/main/java/io/swagger/client/api/TableDataEndpointApi.java b/.java-stubs/src/main/java/io/swagger/client/api/TableDataEndpointApi.java
deleted file mode 100644
index ae981d3c3c..0000000000
--- a/.java-stubs/src/main/java/io/swagger/client/api/TableDataEndpointApi.java
+++ /dev/null
@@ -1,996 +0,0 @@
-/*
- * Database Repository Query Service API
- * Service that manages the queries
- *
- * OpenAPI spec version: 1.1.0-alpha
- * Contact: andreas.rauber@tuwien.ac.at
- *
- * NOTE: This class is auto generated by the swagger code generator program.
- * https://github.com/swagger-api/swagger-codegen.git
- * Do not edit the class manually.
- */
-
-package io.swagger.client.api;
-
-import io.swagger.client.ApiCallback;
-import io.swagger.client.ApiClient;
-import io.swagger.client.ApiException;
-import io.swagger.client.ApiResponse;
-import io.swagger.client.Configuration;
-import io.swagger.client.Pair;
-import io.swagger.client.ProgressRequestBody;
-import io.swagger.client.ProgressResponseBody;
-
-import com.google.gson.reflect.TypeToken;
-
-import java.io.IOException;
-
-
-import io.swagger.client.model.ApiErrorDto;
-import io.swagger.client.model.ImportDto;
-import org.threeten.bp.OffsetDateTime;
-import io.swagger.client.model.QueryResultDto;
-import io.swagger.client.model.TableCsvDeleteDto;
-import io.swagger.client.model.TableCsvDto;
-import io.swagger.client.model.TableCsvUpdateDto;
-
-import java.lang.reflect.Type;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-public class TableDataEndpointApi {
-    private ApiClient apiClient;
-
-    public TableDataEndpointApi() {
-        this(Configuration.getDefaultApiClient());
-    }
-
-    public TableDataEndpointApi(ApiClient apiClient) {
-        this.apiClient = apiClient;
-    }
-
-    public ApiClient getApiClient() {
-        return apiClient;
-    }
-
-    public void setApiClient(ApiClient apiClient) {
-        this.apiClient = apiClient;
-    }
-
-    /**
-     * Build call for delete1
-     * @param body  (required)
-     * @param id  (required)
-     * @param databaseId  (required)
-     * @param tableId  (required)
-     * @param progressListener Progress listener
-     * @param progressRequestListener Progress request listener
-     * @return Call to execute
-     * @throws ApiException If fail to serialize the request body object
-     */
-    public com.squareup.okhttp.Call delete1Call(TableCsvDeleteDto body, Long id, Long databaseId, Long tableId, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
-        Object localVarPostBody = body;
-        
-        // create path and map variables
-        String localVarPath = "/api/container/{id}/database/{databaseId}/table/{tableId}/data"
-            .replaceAll("\\{" + "id" + "\\}", apiClient.escapeString(id.toString()))
-            .replaceAll("\\{" + "databaseId" + "\\}", apiClient.escapeString(databaseId.toString()))
-            .replaceAll("\\{" + "tableId" + "\\}", apiClient.escapeString(tableId.toString()));
-
-        List<Pair> localVarQueryParams = new ArrayList<Pair>();
-        List<Pair> localVarCollectionQueryParams = new ArrayList<Pair>();
-
-        Map<String, String> localVarHeaderParams = new HashMap<String, String>();
-
-        Map<String, Object> localVarFormParams = new HashMap<String, Object>();
-
-        final String[] localVarAccepts = {
-            "*/*"
-        };
-        final String localVarAccept = apiClient.selectHeaderAccept(localVarAccepts);
-        if (localVarAccept != null) localVarHeaderParams.put("Accept", localVarAccept);
-
-        final String[] localVarContentTypes = {
-            "application/json"
-        };
-        final String localVarContentType = apiClient.selectHeaderContentType(localVarContentTypes);
-        localVarHeaderParams.put("Content-Type", localVarContentType);
-
-        if(progressListener != null) {
-            apiClient.getHttpClient().networkInterceptors().add(new com.squareup.okhttp.Interceptor() {
-                @Override
-                public com.squareup.okhttp.Response intercept(Chain chain) throws IOException {
-                    com.squareup.okhttp.Response originalResponse = chain.proceed(chain.request());
-                    return originalResponse.newBuilder()
-                    .body(new ProgressResponseBody(originalResponse.body(), progressListener))
-                    .build();
-                }
-            });
-        }
-
-        String[] localVarAuthNames = new String[] { "bearerAuth" };
-        return apiClient.buildCall(localVarPath, "DELETE", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarFormParams, localVarAuthNames, progressRequestListener);
-    }
-    
-    @SuppressWarnings("rawtypes")
-    private com.squareup.okhttp.Call delete1ValidateBeforeCall(TableCsvDeleteDto body, Long id, Long databaseId, Long tableId, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
-        // verify the required parameter 'body' is set
-        if (body == null) {
-            throw new ApiException("Missing the required parameter 'body' when calling delete1(Async)");
-        }
-        // verify the required parameter 'id' is set
-        if (id == null) {
-            throw new ApiException("Missing the required parameter 'id' when calling delete1(Async)");
-        }
-        // verify the required parameter 'databaseId' is set
-        if (databaseId == null) {
-            throw new ApiException("Missing the required parameter 'databaseId' when calling delete1(Async)");
-        }
-        // verify the required parameter 'tableId' is set
-        if (tableId == null) {
-            throw new ApiException("Missing the required parameter 'tableId' when calling delete1(Async)");
-        }
-        
-        com.squareup.okhttp.Call call = delete1Call(body, id, databaseId, tableId, progressListener, progressRequestListener);
-        return call;
-
-        
-        
-        
-        
-    }
-
-    /**
-     * Delete data
-     * 
-     * @param body  (required)
-     * @param id  (required)
-     * @param databaseId  (required)
-     * @param tableId  (required)
-     * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
-     */
-    public void delete1(TableCsvDeleteDto body, Long id, Long databaseId, Long tableId) throws ApiException {
-        delete1WithHttpInfo(body, id, databaseId, tableId);
-    }
-
-    /**
-     * Delete data
-     * 
-     * @param body  (required)
-     * @param id  (required)
-     * @param databaseId  (required)
-     * @param tableId  (required)
-     * @return ApiResponse&lt;Void&gt;
-     * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
-     */
-    public ApiResponse<Void> delete1WithHttpInfo(TableCsvDeleteDto body, Long id, Long databaseId, Long tableId) throws ApiException {
-        com.squareup.okhttp.Call call = delete1ValidateBeforeCall(body, id, databaseId, tableId, null, null);
-        return apiClient.execute(call);
-    }
-
-    /**
-     * Delete data (asynchronously)
-     * 
-     * @param body  (required)
-     * @param id  (required)
-     * @param databaseId  (required)
-     * @param tableId  (required)
-     * @param callback The callback to be executed when the API call finishes
-     * @return The request call
-     * @throws ApiException If fail to process the API call, e.g. serializing the request body object
-     */
-    public com.squareup.okhttp.Call delete1Async(TableCsvDeleteDto body, Long id, Long databaseId, Long tableId, final ApiCallback<Void> callback) throws ApiException {
-
-        ProgressResponseBody.ProgressListener progressListener = null;
-        ProgressRequestBody.ProgressRequestListener progressRequestListener = null;
-
-        if (callback != null) {
-            progressListener = new ProgressResponseBody.ProgressListener() {
-                @Override
-                public void update(long bytesRead, long contentLength, boolean done) {
-                    callback.onDownloadProgress(bytesRead, contentLength, done);
-                }
-            };
-
-            progressRequestListener = new ProgressRequestBody.ProgressRequestListener() {
-                @Override
-                public void onRequestProgress(long bytesWritten, long contentLength, boolean done) {
-                    callback.onUploadProgress(bytesWritten, contentLength, done);
-                }
-            };
-        }
-
-        com.squareup.okhttp.Call call = delete1ValidateBeforeCall(body, id, databaseId, tableId, progressListener, progressRequestListener);
-        apiClient.executeAsync(call, callback);
-        return call;
-    }
-    /**
-     * Build call for getAll2
-     * @param id  (required)
-     * @param databaseId  (required)
-     * @param tableId  (required)
-     * @param timestamp  (optional)
-     * @param page  (optional)
-     * @param size  (optional)
-     * @param sortDirection  (optional)
-     * @param sortColumn  (optional)
-     * @param progressListener Progress listener
-     * @param progressRequestListener Progress request listener
-     * @return Call to execute
-     * @throws ApiException If fail to serialize the request body object
-     */
-    public com.squareup.okhttp.Call getAll2Call(Long id, Long databaseId, Long tableId, OffsetDateTime timestamp, Long page, Long size, String sortDirection, String sortColumn, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
-        Object localVarPostBody = null;
-        
-        // create path and map variables
-        String localVarPath = "/api/container/{id}/database/{databaseId}/table/{tableId}/data"
-            .replaceAll("\\{" + "id" + "\\}", apiClient.escapeString(id.toString()))
-            .replaceAll("\\{" + "databaseId" + "\\}", apiClient.escapeString(databaseId.toString()))
-            .replaceAll("\\{" + "tableId" + "\\}", apiClient.escapeString(tableId.toString()));
-
-        List<Pair> localVarQueryParams = new ArrayList<Pair>();
-        List<Pair> localVarCollectionQueryParams = new ArrayList<Pair>();
-        if (timestamp != null)
-        localVarQueryParams.addAll(apiClient.parameterToPair("timestamp", timestamp));
-        if (page != null)
-        localVarQueryParams.addAll(apiClient.parameterToPair("page", page));
-        if (size != null)
-        localVarQueryParams.addAll(apiClient.parameterToPair("size", size));
-        if (sortDirection != null)
-        localVarQueryParams.addAll(apiClient.parameterToPair("sortDirection", sortDirection));
-        if (sortColumn != null)
-        localVarQueryParams.addAll(apiClient.parameterToPair("sortColumn", sortColumn));
-
-        Map<String, String> localVarHeaderParams = new HashMap<String, String>();
-
-        Map<String, Object> localVarFormParams = new HashMap<String, Object>();
-
-        final String[] localVarAccepts = {
-            "*/*"
-        };
-        final String localVarAccept = apiClient.selectHeaderAccept(localVarAccepts);
-        if (localVarAccept != null) localVarHeaderParams.put("Accept", localVarAccept);
-
-        final String[] localVarContentTypes = {
-            
-        };
-        final String localVarContentType = apiClient.selectHeaderContentType(localVarContentTypes);
-        localVarHeaderParams.put("Content-Type", localVarContentType);
-
-        if(progressListener != null) {
-            apiClient.getHttpClient().networkInterceptors().add(new com.squareup.okhttp.Interceptor() {
-                @Override
-                public com.squareup.okhttp.Response intercept(Chain chain) throws IOException {
-                    com.squareup.okhttp.Response originalResponse = chain.proceed(chain.request());
-                    return originalResponse.newBuilder()
-                    .body(new ProgressResponseBody(originalResponse.body(), progressListener))
-                    .build();
-                }
-            });
-        }
-
-        String[] localVarAuthNames = new String[] { "bearerAuth" };
-        return apiClient.buildCall(localVarPath, "HEAD", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarFormParams, localVarAuthNames, progressRequestListener);
-    }
-    
-    @SuppressWarnings("rawtypes")
-    private com.squareup.okhttp.Call getAll2ValidateBeforeCall(Long id, Long databaseId, Long tableId, OffsetDateTime timestamp, Long page, Long size, String sortDirection, String sortColumn, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
-        // verify the required parameter 'id' is set
-        if (id == null) {
-            throw new ApiException("Missing the required parameter 'id' when calling getAll2(Async)");
-        }
-        // verify the required parameter 'databaseId' is set
-        if (databaseId == null) {
-            throw new ApiException("Missing the required parameter 'databaseId' when calling getAll2(Async)");
-        }
-        // verify the required parameter 'tableId' is set
-        if (tableId == null) {
-            throw new ApiException("Missing the required parameter 'tableId' when calling getAll2(Async)");
-        }
-        
-        com.squareup.okhttp.Call call = getAll2Call(id, databaseId, tableId, timestamp, page, size, sortDirection, sortColumn, progressListener, progressRequestListener);
-        return call;
-
-        
-        
-        
-        
-    }
-
-    /**
-     * Find data
-     * 
-     * @param id  (required)
-     * @param databaseId  (required)
-     * @param tableId  (required)
-     * @param timestamp  (optional)
-     * @param page  (optional)
-     * @param size  (optional)
-     * @param sortDirection  (optional)
-     * @param sortColumn  (optional)
-     * @return QueryResultDto
-     * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
-     */
-    public QueryResultDto getAll2(Long id, Long databaseId, Long tableId, OffsetDateTime timestamp, Long page, Long size, String sortDirection, String sortColumn) throws ApiException {
-        ApiResponse<QueryResultDto> resp = getAll2WithHttpInfo(id, databaseId, tableId, timestamp, page, size, sortDirection, sortColumn);
-        return resp.getData();
-    }
-
-    /**
-     * Find data
-     * 
-     * @param id  (required)
-     * @param databaseId  (required)
-     * @param tableId  (required)
-     * @param timestamp  (optional)
-     * @param page  (optional)
-     * @param size  (optional)
-     * @param sortDirection  (optional)
-     * @param sortColumn  (optional)
-     * @return ApiResponse&lt;QueryResultDto&gt;
-     * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
-     */
-    public ApiResponse<QueryResultDto> getAll2WithHttpInfo(Long id, Long databaseId, Long tableId, OffsetDateTime timestamp, Long page, Long size, String sortDirection, String sortColumn) throws ApiException {
-        com.squareup.okhttp.Call call = getAll2ValidateBeforeCall(id, databaseId, tableId, timestamp, page, size, sortDirection, sortColumn, null, null);
-        Type localVarReturnType = new TypeToken<QueryResultDto>(){}.getType();
-        return apiClient.execute(call, localVarReturnType);
-    }
-
-    /**
-     * Find data (asynchronously)
-     * 
-     * @param id  (required)
-     * @param databaseId  (required)
-     * @param tableId  (required)
-     * @param timestamp  (optional)
-     * @param page  (optional)
-     * @param size  (optional)
-     * @param sortDirection  (optional)
-     * @param sortColumn  (optional)
-     * @param callback The callback to be executed when the API call finishes
-     * @return The request call
-     * @throws ApiException If fail to process the API call, e.g. serializing the request body object
-     */
-    public com.squareup.okhttp.Call getAll2Async(Long id, Long databaseId, Long tableId, OffsetDateTime timestamp, Long page, Long size, String sortDirection, String sortColumn, final ApiCallback<QueryResultDto> callback) throws ApiException {
-
-        ProgressResponseBody.ProgressListener progressListener = null;
-        ProgressRequestBody.ProgressRequestListener progressRequestListener = null;
-
-        if (callback != null) {
-            progressListener = new ProgressResponseBody.ProgressListener() {
-                @Override
-                public void update(long bytesRead, long contentLength, boolean done) {
-                    callback.onDownloadProgress(bytesRead, contentLength, done);
-                }
-            };
-
-            progressRequestListener = new ProgressRequestBody.ProgressRequestListener() {
-                @Override
-                public void onRequestProgress(long bytesWritten, long contentLength, boolean done) {
-                    callback.onUploadProgress(bytesWritten, contentLength, done);
-                }
-            };
-        }
-
-        com.squareup.okhttp.Call call = getAll2ValidateBeforeCall(id, databaseId, tableId, timestamp, page, size, sortDirection, sortColumn, progressListener, progressRequestListener);
-        Type localVarReturnType = new TypeToken<QueryResultDto>(){}.getType();
-        apiClient.executeAsync(call, localVarReturnType, callback);
-        return call;
-    }
-    /**
-     * Build call for getAll3
-     * @param id  (required)
-     * @param databaseId  (required)
-     * @param tableId  (required)
-     * @param timestamp  (optional)
-     * @param page  (optional)
-     * @param size  (optional)
-     * @param sortDirection  (optional)
-     * @param sortColumn  (optional)
-     * @param progressListener Progress listener
-     * @param progressRequestListener Progress request listener
-     * @return Call to execute
-     * @throws ApiException If fail to serialize the request body object
-     */
-    public com.squareup.okhttp.Call getAll3Call(Long id, Long databaseId, Long tableId, OffsetDateTime timestamp, Long page, Long size, String sortDirection, String sortColumn, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
-        Object localVarPostBody = null;
-        
-        // create path and map variables
-        String localVarPath = "/api/container/{id}/database/{databaseId}/table/{tableId}/data"
-            .replaceAll("\\{" + "id" + "\\}", apiClient.escapeString(id.toString()))
-            .replaceAll("\\{" + "databaseId" + "\\}", apiClient.escapeString(databaseId.toString()))
-            .replaceAll("\\{" + "tableId" + "\\}", apiClient.escapeString(tableId.toString()));
-
-        List<Pair> localVarQueryParams = new ArrayList<Pair>();
-        List<Pair> localVarCollectionQueryParams = new ArrayList<Pair>();
-        if (timestamp != null)
-        localVarQueryParams.addAll(apiClient.parameterToPair("timestamp", timestamp));
-        if (page != null)
-        localVarQueryParams.addAll(apiClient.parameterToPair("page", page));
-        if (size != null)
-        localVarQueryParams.addAll(apiClient.parameterToPair("size", size));
-        if (sortDirection != null)
-        localVarQueryParams.addAll(apiClient.parameterToPair("sortDirection", sortDirection));
-        if (sortColumn != null)
-        localVarQueryParams.addAll(apiClient.parameterToPair("sortColumn", sortColumn));
-
-        Map<String, String> localVarHeaderParams = new HashMap<String, String>();
-
-        Map<String, Object> localVarFormParams = new HashMap<String, Object>();
-
-        final String[] localVarAccepts = {
-            "*/*"
-        };
-        final String localVarAccept = apiClient.selectHeaderAccept(localVarAccepts);
-        if (localVarAccept != null) localVarHeaderParams.put("Accept", localVarAccept);
-
-        final String[] localVarContentTypes = {
-            
-        };
-        final String localVarContentType = apiClient.selectHeaderContentType(localVarContentTypes);
-        localVarHeaderParams.put("Content-Type", localVarContentType);
-
-        if(progressListener != null) {
-            apiClient.getHttpClient().networkInterceptors().add(new com.squareup.okhttp.Interceptor() {
-                @Override
-                public com.squareup.okhttp.Response intercept(Chain chain) throws IOException {
-                    com.squareup.okhttp.Response originalResponse = chain.proceed(chain.request());
-                    return originalResponse.newBuilder()
-                    .body(new ProgressResponseBody(originalResponse.body(), progressListener))
-                    .build();
-                }
-            });
-        }
-
-        String[] localVarAuthNames = new String[] { "bearerAuth" };
-        return apiClient.buildCall(localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarFormParams, localVarAuthNames, progressRequestListener);
-    }
-    
-    @SuppressWarnings("rawtypes")
-    private com.squareup.okhttp.Call getAll3ValidateBeforeCall(Long id, Long databaseId, Long tableId, OffsetDateTime timestamp, Long page, Long size, String sortDirection, String sortColumn, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
-        // verify the required parameter 'id' is set
-        if (id == null) {
-            throw new ApiException("Missing the required parameter 'id' when calling getAll3(Async)");
-        }
-        // verify the required parameter 'databaseId' is set
-        if (databaseId == null) {
-            throw new ApiException("Missing the required parameter 'databaseId' when calling getAll3(Async)");
-        }
-        // verify the required parameter 'tableId' is set
-        if (tableId == null) {
-            throw new ApiException("Missing the required parameter 'tableId' when calling getAll3(Async)");
-        }
-        
-        com.squareup.okhttp.Call call = getAll3Call(id, databaseId, tableId, timestamp, page, size, sortDirection, sortColumn, progressListener, progressRequestListener);
-        return call;
-
-        
-        
-        
-        
-    }
-
-    /**
-     * Find data
-     * 
-     * @param id  (required)
-     * @param databaseId  (required)
-     * @param tableId  (required)
-     * @param timestamp  (optional)
-     * @param page  (optional)
-     * @param size  (optional)
-     * @param sortDirection  (optional)
-     * @param sortColumn  (optional)
-     * @return QueryResultDto
-     * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
-     */
-    public QueryResultDto getAll3(Long id, Long databaseId, Long tableId, OffsetDateTime timestamp, Long page, Long size, String sortDirection, String sortColumn) throws ApiException {
-        ApiResponse<QueryResultDto> resp = getAll3WithHttpInfo(id, databaseId, tableId, timestamp, page, size, sortDirection, sortColumn);
-        return resp.getData();
-    }
-
-    /**
-     * Find data
-     * 
-     * @param id  (required)
-     * @param databaseId  (required)
-     * @param tableId  (required)
-     * @param timestamp  (optional)
-     * @param page  (optional)
-     * @param size  (optional)
-     * @param sortDirection  (optional)
-     * @param sortColumn  (optional)
-     * @return ApiResponse&lt;QueryResultDto&gt;
-     * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
-     */
-    public ApiResponse<QueryResultDto> getAll3WithHttpInfo(Long id, Long databaseId, Long tableId, OffsetDateTime timestamp, Long page, Long size, String sortDirection, String sortColumn) throws ApiException {
-        com.squareup.okhttp.Call call = getAll3ValidateBeforeCall(id, databaseId, tableId, timestamp, page, size, sortDirection, sortColumn, null, null);
-        Type localVarReturnType = new TypeToken<QueryResultDto>(){}.getType();
-        return apiClient.execute(call, localVarReturnType);
-    }
-
-    /**
-     * Find data (asynchronously)
-     * 
-     * @param id  (required)
-     * @param databaseId  (required)
-     * @param tableId  (required)
-     * @param timestamp  (optional)
-     * @param page  (optional)
-     * @param size  (optional)
-     * @param sortDirection  (optional)
-     * @param sortColumn  (optional)
-     * @param callback The callback to be executed when the API call finishes
-     * @return The request call
-     * @throws ApiException If fail to process the API call, e.g. serializing the request body object
-     */
-    public com.squareup.okhttp.Call getAll3Async(Long id, Long databaseId, Long tableId, OffsetDateTime timestamp, Long page, Long size, String sortDirection, String sortColumn, final ApiCallback<QueryResultDto> callback) throws ApiException {
-
-        ProgressResponseBody.ProgressListener progressListener = null;
-        ProgressRequestBody.ProgressRequestListener progressRequestListener = null;
-
-        if (callback != null) {
-            progressListener = new ProgressResponseBody.ProgressListener() {
-                @Override
-                public void update(long bytesRead, long contentLength, boolean done) {
-                    callback.onDownloadProgress(bytesRead, contentLength, done);
-                }
-            };
-
-            progressRequestListener = new ProgressRequestBody.ProgressRequestListener() {
-                @Override
-                public void onRequestProgress(long bytesWritten, long contentLength, boolean done) {
-                    callback.onUploadProgress(bytesWritten, contentLength, done);
-                }
-            };
-        }
-
-        com.squareup.okhttp.Call call = getAll3ValidateBeforeCall(id, databaseId, tableId, timestamp, page, size, sortDirection, sortColumn, progressListener, progressRequestListener);
-        Type localVarReturnType = new TypeToken<QueryResultDto>(){}.getType();
-        apiClient.executeAsync(call, localVarReturnType, callback);
-        return call;
-    }
-    /**
-     * Build call for importCsv
-     * @param body  (required)
-     * @param id  (required)
-     * @param databaseId  (required)
-     * @param tableId  (required)
-     * @param progressListener Progress listener
-     * @param progressRequestListener Progress request listener
-     * @return Call to execute
-     * @throws ApiException If fail to serialize the request body object
-     */
-    public com.squareup.okhttp.Call importCsvCall(ImportDto body, Long id, Long databaseId, Long tableId, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
-        Object localVarPostBody = body;
-        
-        // create path and map variables
-        String localVarPath = "/api/container/{id}/database/{databaseId}/table/{tableId}/data/import"
-            .replaceAll("\\{" + "id" + "\\}", apiClient.escapeString(id.toString()))
-            .replaceAll("\\{" + "databaseId" + "\\}", apiClient.escapeString(databaseId.toString()))
-            .replaceAll("\\{" + "tableId" + "\\}", apiClient.escapeString(tableId.toString()));
-
-        List<Pair> localVarQueryParams = new ArrayList<Pair>();
-        List<Pair> localVarCollectionQueryParams = new ArrayList<Pair>();
-
-        Map<String, String> localVarHeaderParams = new HashMap<String, String>();
-
-        Map<String, Object> localVarFormParams = new HashMap<String, Object>();
-
-        final String[] localVarAccepts = {
-            "*/*"
-        };
-        final String localVarAccept = apiClient.selectHeaderAccept(localVarAccepts);
-        if (localVarAccept != null) localVarHeaderParams.put("Accept", localVarAccept);
-
-        final String[] localVarContentTypes = {
-            "application/json"
-        };
-        final String localVarContentType = apiClient.selectHeaderContentType(localVarContentTypes);
-        localVarHeaderParams.put("Content-Type", localVarContentType);
-
-        if(progressListener != null) {
-            apiClient.getHttpClient().networkInterceptors().add(new com.squareup.okhttp.Interceptor() {
-                @Override
-                public com.squareup.okhttp.Response intercept(Chain chain) throws IOException {
-                    com.squareup.okhttp.Response originalResponse = chain.proceed(chain.request());
-                    return originalResponse.newBuilder()
-                    .body(new ProgressResponseBody(originalResponse.body(), progressListener))
-                    .build();
-                }
-            });
-        }
-
-        String[] localVarAuthNames = new String[] { "bearerAuth" };
-        return apiClient.buildCall(localVarPath, "POST", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarFormParams, localVarAuthNames, progressRequestListener);
-    }
-    
-    @SuppressWarnings("rawtypes")
-    private com.squareup.okhttp.Call importCsvValidateBeforeCall(ImportDto body, Long id, Long databaseId, Long tableId, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
-        // verify the required parameter 'body' is set
-        if (body == null) {
-            throw new ApiException("Missing the required parameter 'body' when calling importCsv(Async)");
-        }
-        // verify the required parameter 'id' is set
-        if (id == null) {
-            throw new ApiException("Missing the required parameter 'id' when calling importCsv(Async)");
-        }
-        // verify the required parameter 'databaseId' is set
-        if (databaseId == null) {
-            throw new ApiException("Missing the required parameter 'databaseId' when calling importCsv(Async)");
-        }
-        // verify the required parameter 'tableId' is set
-        if (tableId == null) {
-            throw new ApiException("Missing the required parameter 'tableId' when calling importCsv(Async)");
-        }
-        
-        com.squareup.okhttp.Call call = importCsvCall(body, id, databaseId, tableId, progressListener, progressRequestListener);
-        return call;
-
-        
-        
-        
-        
-    }
-
-    /**
-     * Insert data from csv
-     * 
-     * @param body  (required)
-     * @param id  (required)
-     * @param databaseId  (required)
-     * @param tableId  (required)
-     * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
-     */
-    public void importCsv(ImportDto body, Long id, Long databaseId, Long tableId) throws ApiException {
-        importCsvWithHttpInfo(body, id, databaseId, tableId);
-    }
-
-    /**
-     * Insert data from csv
-     * 
-     * @param body  (required)
-     * @param id  (required)
-     * @param databaseId  (required)
-     * @param tableId  (required)
-     * @return ApiResponse&lt;Void&gt;
-     * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
-     */
-    public ApiResponse<Void> importCsvWithHttpInfo(ImportDto body, Long id, Long databaseId, Long tableId) throws ApiException {
-        com.squareup.okhttp.Call call = importCsvValidateBeforeCall(body, id, databaseId, tableId, null, null);
-        return apiClient.execute(call);
-    }
-
-    /**
-     * Insert data from csv (asynchronously)
-     * 
-     * @param body  (required)
-     * @param id  (required)
-     * @param databaseId  (required)
-     * @param tableId  (required)
-     * @param callback The callback to be executed when the API call finishes
-     * @return The request call
-     * @throws ApiException If fail to process the API call, e.g. serializing the request body object
-     */
-    public com.squareup.okhttp.Call importCsvAsync(ImportDto body, Long id, Long databaseId, Long tableId, final ApiCallback<Void> callback) throws ApiException {
-
-        ProgressResponseBody.ProgressListener progressListener = null;
-        ProgressRequestBody.ProgressRequestListener progressRequestListener = null;
-
-        if (callback != null) {
-            progressListener = new ProgressResponseBody.ProgressListener() {
-                @Override
-                public void update(long bytesRead, long contentLength, boolean done) {
-                    callback.onDownloadProgress(bytesRead, contentLength, done);
-                }
-            };
-
-            progressRequestListener = new ProgressRequestBody.ProgressRequestListener() {
-                @Override
-                public void onRequestProgress(long bytesWritten, long contentLength, boolean done) {
-                    callback.onUploadProgress(bytesWritten, contentLength, done);
-                }
-            };
-        }
-
-        com.squareup.okhttp.Call call = importCsvValidateBeforeCall(body, id, databaseId, tableId, progressListener, progressRequestListener);
-        apiClient.executeAsync(call, callback);
-        return call;
-    }
-    /**
-     * Build call for insert
-     * @param body  (required)
-     * @param id  (required)
-     * @param databaseId  (required)
-     * @param tableId  (required)
-     * @param progressListener Progress listener
-     * @param progressRequestListener Progress request listener
-     * @return Call to execute
-     * @throws ApiException If fail to serialize the request body object
-     */
-    public com.squareup.okhttp.Call insertCall(TableCsvDto body, Long id, Long databaseId, Long tableId, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
-        Object localVarPostBody = body;
-        
-        // create path and map variables
-        String localVarPath = "/api/container/{id}/database/{databaseId}/table/{tableId}/data"
-            .replaceAll("\\{" + "id" + "\\}", apiClient.escapeString(id.toString()))
-            .replaceAll("\\{" + "databaseId" + "\\}", apiClient.escapeString(databaseId.toString()))
-            .replaceAll("\\{" + "tableId" + "\\}", apiClient.escapeString(tableId.toString()));
-
-        List<Pair> localVarQueryParams = new ArrayList<Pair>();
-        List<Pair> localVarCollectionQueryParams = new ArrayList<Pair>();
-
-        Map<String, String> localVarHeaderParams = new HashMap<String, String>();
-
-        Map<String, Object> localVarFormParams = new HashMap<String, Object>();
-
-        final String[] localVarAccepts = {
-            "*/*"
-        };
-        final String localVarAccept = apiClient.selectHeaderAccept(localVarAccepts);
-        if (localVarAccept != null) localVarHeaderParams.put("Accept", localVarAccept);
-
-        final String[] localVarContentTypes = {
-            "application/json"
-        };
-        final String localVarContentType = apiClient.selectHeaderContentType(localVarContentTypes);
-        localVarHeaderParams.put("Content-Type", localVarContentType);
-
-        if(progressListener != null) {
-            apiClient.getHttpClient().networkInterceptors().add(new com.squareup.okhttp.Interceptor() {
-                @Override
-                public com.squareup.okhttp.Response intercept(Chain chain) throws IOException {
-                    com.squareup.okhttp.Response originalResponse = chain.proceed(chain.request());
-                    return originalResponse.newBuilder()
-                    .body(new ProgressResponseBody(originalResponse.body(), progressListener))
-                    .build();
-                }
-            });
-        }
-
-        String[] localVarAuthNames = new String[] { "bearerAuth" };
-        return apiClient.buildCall(localVarPath, "POST", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarFormParams, localVarAuthNames, progressRequestListener);
-    }
-    
-    @SuppressWarnings("rawtypes")
-    private com.squareup.okhttp.Call insertValidateBeforeCall(TableCsvDto body, Long id, Long databaseId, Long tableId, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
-        // verify the required parameter 'body' is set
-        if (body == null) {
-            throw new ApiException("Missing the required parameter 'body' when calling insert(Async)");
-        }
-        // verify the required parameter 'id' is set
-        if (id == null) {
-            throw new ApiException("Missing the required parameter 'id' when calling insert(Async)");
-        }
-        // verify the required parameter 'databaseId' is set
-        if (databaseId == null) {
-            throw new ApiException("Missing the required parameter 'databaseId' when calling insert(Async)");
-        }
-        // verify the required parameter 'tableId' is set
-        if (tableId == null) {
-            throw new ApiException("Missing the required parameter 'tableId' when calling insert(Async)");
-        }
-        
-        com.squareup.okhttp.Call call = insertCall(body, id, databaseId, tableId, progressListener, progressRequestListener);
-        return call;
-
-        
-        
-        
-        
-    }
-
-    /**
-     * Insert data
-     * 
-     * @param body  (required)
-     * @param id  (required)
-     * @param databaseId  (required)
-     * @param tableId  (required)
-     * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
-     */
-    public void insert(TableCsvDto body, Long id, Long databaseId, Long tableId) throws ApiException {
-        insertWithHttpInfo(body, id, databaseId, tableId);
-    }
-
-    /**
-     * Insert data
-     * 
-     * @param body  (required)
-     * @param id  (required)
-     * @param databaseId  (required)
-     * @param tableId  (required)
-     * @return ApiResponse&lt;Void&gt;
-     * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
-     */
-    public ApiResponse<Void> insertWithHttpInfo(TableCsvDto body, Long id, Long databaseId, Long tableId) throws ApiException {
-        com.squareup.okhttp.Call call = insertValidateBeforeCall(body, id, databaseId, tableId, null, null);
-        return apiClient.execute(call);
-    }
-
-    /**
-     * Insert data (asynchronously)
-     * 
-     * @param body  (required)
-     * @param id  (required)
-     * @param databaseId  (required)
-     * @param tableId  (required)
-     * @param callback The callback to be executed when the API call finishes
-     * @return The request call
-     * @throws ApiException If fail to process the API call, e.g. serializing the request body object
-     */
-    public com.squareup.okhttp.Call insertAsync(TableCsvDto body, Long id, Long databaseId, Long tableId, final ApiCallback<Void> callback) throws ApiException {
-
-        ProgressResponseBody.ProgressListener progressListener = null;
-        ProgressRequestBody.ProgressRequestListener progressRequestListener = null;
-
-        if (callback != null) {
-            progressListener = new ProgressResponseBody.ProgressListener() {
-                @Override
-                public void update(long bytesRead, long contentLength, boolean done) {
-                    callback.onDownloadProgress(bytesRead, contentLength, done);
-                }
-            };
-
-            progressRequestListener = new ProgressRequestBody.ProgressRequestListener() {
-                @Override
-                public void onRequestProgress(long bytesWritten, long contentLength, boolean done) {
-                    callback.onUploadProgress(bytesWritten, contentLength, done);
-                }
-            };
-        }
-
-        com.squareup.okhttp.Call call = insertValidateBeforeCall(body, id, databaseId, tableId, progressListener, progressRequestListener);
-        apiClient.executeAsync(call, callback);
-        return call;
-    }
-    /**
-     * Build call for update
-     * @param body  (required)
-     * @param id  (required)
-     * @param databaseId  (required)
-     * @param tableId  (required)
-     * @param progressListener Progress listener
-     * @param progressRequestListener Progress request listener
-     * @return Call to execute
-     * @throws ApiException If fail to serialize the request body object
-     */
-    public com.squareup.okhttp.Call updateCall(TableCsvUpdateDto body, Long id, Long databaseId, Long tableId, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
-        Object localVarPostBody = body;
-        
-        // create path and map variables
-        String localVarPath = "/api/container/{id}/database/{databaseId}/table/{tableId}/data"
-            .replaceAll("\\{" + "id" + "\\}", apiClient.escapeString(id.toString()))
-            .replaceAll("\\{" + "databaseId" + "\\}", apiClient.escapeString(databaseId.toString()))
-            .replaceAll("\\{" + "tableId" + "\\}", apiClient.escapeString(tableId.toString()));
-
-        List<Pair> localVarQueryParams = new ArrayList<Pair>();
-        List<Pair> localVarCollectionQueryParams = new ArrayList<Pair>();
-
-        Map<String, String> localVarHeaderParams = new HashMap<String, String>();
-
-        Map<String, Object> localVarFormParams = new HashMap<String, Object>();
-
-        final String[] localVarAccepts = {
-            "*/*"
-        };
-        final String localVarAccept = apiClient.selectHeaderAccept(localVarAccepts);
-        if (localVarAccept != null) localVarHeaderParams.put("Accept", localVarAccept);
-
-        final String[] localVarContentTypes = {
-            "application/json"
-        };
-        final String localVarContentType = apiClient.selectHeaderContentType(localVarContentTypes);
-        localVarHeaderParams.put("Content-Type", localVarContentType);
-
-        if(progressListener != null) {
-            apiClient.getHttpClient().networkInterceptors().add(new com.squareup.okhttp.Interceptor() {
-                @Override
-                public com.squareup.okhttp.Response intercept(Chain chain) throws IOException {
-                    com.squareup.okhttp.Response originalResponse = chain.proceed(chain.request());
-                    return originalResponse.newBuilder()
-                    .body(new ProgressResponseBody(originalResponse.body(), progressListener))
-                    .build();
-                }
-            });
-        }
-
-        String[] localVarAuthNames = new String[] { "bearerAuth" };
-        return apiClient.buildCall(localVarPath, "PUT", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarFormParams, localVarAuthNames, progressRequestListener);
-    }
-    
-    @SuppressWarnings("rawtypes")
-    private com.squareup.okhttp.Call updateValidateBeforeCall(TableCsvUpdateDto body, Long id, Long databaseId, Long tableId, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
-        // verify the required parameter 'body' is set
-        if (body == null) {
-            throw new ApiException("Missing the required parameter 'body' when calling update(Async)");
-        }
-        // verify the required parameter 'id' is set
-        if (id == null) {
-            throw new ApiException("Missing the required parameter 'id' when calling update(Async)");
-        }
-        // verify the required parameter 'databaseId' is set
-        if (databaseId == null) {
-            throw new ApiException("Missing the required parameter 'databaseId' when calling update(Async)");
-        }
-        // verify the required parameter 'tableId' is set
-        if (tableId == null) {
-            throw new ApiException("Missing the required parameter 'tableId' when calling update(Async)");
-        }
-        
-        com.squareup.okhttp.Call call = updateCall(body, id, databaseId, tableId, progressListener, progressRequestListener);
-        return call;
-
-        
-        
-        
-        
-    }
-
-    /**
-     * Update data
-     * 
-     * @param body  (required)
-     * @param id  (required)
-     * @param databaseId  (required)
-     * @param tableId  (required)
-     * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
-     */
-    public void update(TableCsvUpdateDto body, Long id, Long databaseId, Long tableId) throws ApiException {
-        updateWithHttpInfo(body, id, databaseId, tableId);
-    }
-
-    /**
-     * Update data
-     * 
-     * @param body  (required)
-     * @param id  (required)
-     * @param databaseId  (required)
-     * @param tableId  (required)
-     * @return ApiResponse&lt;Void&gt;
-     * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
-     */
-    public ApiResponse<Void> updateWithHttpInfo(TableCsvUpdateDto body, Long id, Long databaseId, Long tableId) throws ApiException {
-        com.squareup.okhttp.Call call = updateValidateBeforeCall(body, id, databaseId, tableId, null, null);
-        return apiClient.execute(call);
-    }
-
-    /**
-     * Update data (asynchronously)
-     * 
-     * @param body  (required)
-     * @param id  (required)
-     * @param databaseId  (required)
-     * @param tableId  (required)
-     * @param callback The callback to be executed when the API call finishes
-     * @return The request call
-     * @throws ApiException If fail to process the API call, e.g. serializing the request body object
-     */
-    public com.squareup.okhttp.Call updateAsync(TableCsvUpdateDto body, Long id, Long databaseId, Long tableId, final ApiCallback<Void> callback) throws ApiException {
-
-        ProgressResponseBody.ProgressListener progressListener = null;
-        ProgressRequestBody.ProgressRequestListener progressRequestListener = null;
-
-        if (callback != null) {
-            progressListener = new ProgressResponseBody.ProgressListener() {
-                @Override
-                public void update(long bytesRead, long contentLength, boolean done) {
-                    callback.onDownloadProgress(bytesRead, contentLength, done);
-                }
-            };
-
-            progressRequestListener = new ProgressRequestBody.ProgressRequestListener() {
-                @Override
-                public void onRequestProgress(long bytesWritten, long contentLength, boolean done) {
-                    callback.onUploadProgress(bytesWritten, contentLength, done);
-                }
-            };
-        }
-
-        com.squareup.okhttp.Call call = updateValidateBeforeCall(body, id, databaseId, tableId, progressListener, progressRequestListener);
-        apiClient.executeAsync(call, callback);
-        return call;
-    }
-}
diff --git a/.java-stubs/src/main/java/io/swagger/client/api/TableEndpointApi.java b/.java-stubs/src/main/java/io/swagger/client/api/TableEndpointApi.java
deleted file mode 100644
index 150c2fd765..0000000000
--- a/.java-stubs/src/main/java/io/swagger/client/api/TableEndpointApi.java
+++ /dev/null
@@ -1,617 +0,0 @@
-/*
- * Database Repository Table Service API
- * Service that manages the tables
- *
- * OpenAPI spec version: 1.1.0-alpha
- * Contact: andreas.rauber@tuwien.ac.at
- *
- * NOTE: This class is auto generated by the swagger code generator program.
- * https://github.com/swagger-api/swagger-codegen.git
- * Do not edit the class manually.
- */
-
-package io.swagger.client.api;
-
-import io.swagger.client.ApiCallback;
-import io.swagger.client.ApiClient;
-import io.swagger.client.ApiException;
-import io.swagger.client.ApiResponse;
-import io.swagger.client.Configuration;
-import io.swagger.client.Pair;
-import io.swagger.client.ProgressRequestBody;
-import io.swagger.client.ProgressResponseBody;
-
-import com.google.gson.reflect.TypeToken;
-
-import java.io.IOException;
-
-
-import io.swagger.client.model.ApiErrorDto;
-import io.swagger.client.model.TableBriefDto;
-import io.swagger.client.model.TableCreateDto;
-import io.swagger.client.model.TableDto;
-
-import java.lang.reflect.Type;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-public class TableEndpointApi {
-    private ApiClient apiClient;
-
-    public TableEndpointApi() {
-        this(Configuration.getDefaultApiClient());
-    }
-
-    public TableEndpointApi(ApiClient apiClient) {
-        this.apiClient = apiClient;
-    }
-
-    public ApiClient getApiClient() {
-        return apiClient;
-    }
-
-    public void setApiClient(ApiClient apiClient) {
-        this.apiClient = apiClient;
-    }
-
-    /**
-     * Build call for create
-     * @param body  (required)
-     * @param id  (required)
-     * @param databaseId  (required)
-     * @param progressListener Progress listener
-     * @param progressRequestListener Progress request listener
-     * @return Call to execute
-     * @throws ApiException If fail to serialize the request body object
-     */
-    public com.squareup.okhttp.Call createCall(TableCreateDto body, Long id, Long databaseId, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
-        Object localVarPostBody = body;
-        
-        // create path and map variables
-        String localVarPath = "/api/container/{id}/database/{databaseId}/table"
-            .replaceAll("\\{" + "id" + "\\}", apiClient.escapeString(id.toString()))
-            .replaceAll("\\{" + "databaseId" + "\\}", apiClient.escapeString(databaseId.toString()));
-
-        List<Pair> localVarQueryParams = new ArrayList<Pair>();
-        List<Pair> localVarCollectionQueryParams = new ArrayList<Pair>();
-
-        Map<String, String> localVarHeaderParams = new HashMap<String, String>();
-
-        Map<String, Object> localVarFormParams = new HashMap<String, Object>();
-
-        final String[] localVarAccepts = {
-            "*/*"
-        };
-        final String localVarAccept = apiClient.selectHeaderAccept(localVarAccepts);
-        if (localVarAccept != null) localVarHeaderParams.put("Accept", localVarAccept);
-
-        final String[] localVarContentTypes = {
-            "application/json"
-        };
-        final String localVarContentType = apiClient.selectHeaderContentType(localVarContentTypes);
-        localVarHeaderParams.put("Content-Type", localVarContentType);
-
-        if(progressListener != null) {
-            apiClient.getHttpClient().networkInterceptors().add(new com.squareup.okhttp.Interceptor() {
-                @Override
-                public com.squareup.okhttp.Response intercept(Chain chain) throws IOException {
-                    com.squareup.okhttp.Response originalResponse = chain.proceed(chain.request());
-                    return originalResponse.newBuilder()
-                    .body(new ProgressResponseBody(originalResponse.body(), progressListener))
-                    .build();
-                }
-            });
-        }
-
-        String[] localVarAuthNames = new String[] { "bearerAuth" };
-        return apiClient.buildCall(localVarPath, "POST", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarFormParams, localVarAuthNames, progressRequestListener);
-    }
-    
-    @SuppressWarnings("rawtypes")
-    private com.squareup.okhttp.Call createValidateBeforeCall(TableCreateDto body, Long id, Long databaseId, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
-        // verify the required parameter 'body' is set
-        if (body == null) {
-            throw new ApiException("Missing the required parameter 'body' when calling create(Async)");
-        }
-        // verify the required parameter 'id' is set
-        if (id == null) {
-            throw new ApiException("Missing the required parameter 'id' when calling create(Async)");
-        }
-        // verify the required parameter 'databaseId' is set
-        if (databaseId == null) {
-            throw new ApiException("Missing the required parameter 'databaseId' when calling create(Async)");
-        }
-        
-        com.squareup.okhttp.Call call = createCall(body, id, databaseId, progressListener, progressRequestListener);
-        return call;
-
-        
-        
-        
-        
-    }
-
-    /**
-     * Create a table
-     * 
-     * @param body  (required)
-     * @param id  (required)
-     * @param databaseId  (required)
-     * @return TableBriefDto
-     * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
-     */
-    public TableBriefDto create(TableCreateDto body, Long id, Long databaseId) throws ApiException {
-        ApiResponse<TableBriefDto> resp = createWithHttpInfo(body, id, databaseId);
-        return resp.getData();
-    }
-
-    /**
-     * Create a table
-     * 
-     * @param body  (required)
-     * @param id  (required)
-     * @param databaseId  (required)
-     * @return ApiResponse&lt;TableBriefDto&gt;
-     * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
-     */
-    public ApiResponse<TableBriefDto> createWithHttpInfo(TableCreateDto body, Long id, Long databaseId) throws ApiException {
-        com.squareup.okhttp.Call call = createValidateBeforeCall(body, id, databaseId, null, null);
-        Type localVarReturnType = new TypeToken<TableBriefDto>(){}.getType();
-        return apiClient.execute(call, localVarReturnType);
-    }
-
-    /**
-     * Create a table (asynchronously)
-     * 
-     * @param body  (required)
-     * @param id  (required)
-     * @param databaseId  (required)
-     * @param callback The callback to be executed when the API call finishes
-     * @return The request call
-     * @throws ApiException If fail to process the API call, e.g. serializing the request body object
-     */
-    public com.squareup.okhttp.Call createAsync(TableCreateDto body, Long id, Long databaseId, final ApiCallback<TableBriefDto> callback) throws ApiException {
-
-        ProgressResponseBody.ProgressListener progressListener = null;
-        ProgressRequestBody.ProgressRequestListener progressRequestListener = null;
-
-        if (callback != null) {
-            progressListener = new ProgressResponseBody.ProgressListener() {
-                @Override
-                public void update(long bytesRead, long contentLength, boolean done) {
-                    callback.onDownloadProgress(bytesRead, contentLength, done);
-                }
-            };
-
-            progressRequestListener = new ProgressRequestBody.ProgressRequestListener() {
-                @Override
-                public void onRequestProgress(long bytesWritten, long contentLength, boolean done) {
-                    callback.onUploadProgress(bytesWritten, contentLength, done);
-                }
-            };
-        }
-
-        com.squareup.okhttp.Call call = createValidateBeforeCall(body, id, databaseId, progressListener, progressRequestListener);
-        Type localVarReturnType = new TypeToken<TableBriefDto>(){}.getType();
-        apiClient.executeAsync(call, localVarReturnType, callback);
-        return call;
-    }
-    /**
-     * Build call for delete
-     * @param id  (required)
-     * @param databaseId  (required)
-     * @param tableId  (required)
-     * @param progressListener Progress listener
-     * @param progressRequestListener Progress request listener
-     * @return Call to execute
-     * @throws ApiException If fail to serialize the request body object
-     */
-    public com.squareup.okhttp.Call deleteCall(Long id, Long databaseId, Long tableId, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
-        Object localVarPostBody = null;
-        
-        // create path and map variables
-        String localVarPath = "/api/container/{id}/database/{databaseId}/table/{tableId}"
-            .replaceAll("\\{" + "id" + "\\}", apiClient.escapeString(id.toString()))
-            .replaceAll("\\{" + "databaseId" + "\\}", apiClient.escapeString(databaseId.toString()))
-            .replaceAll("\\{" + "tableId" + "\\}", apiClient.escapeString(tableId.toString()));
-
-        List<Pair> localVarQueryParams = new ArrayList<Pair>();
-        List<Pair> localVarCollectionQueryParams = new ArrayList<Pair>();
-
-        Map<String, String> localVarHeaderParams = new HashMap<String, String>();
-
-        Map<String, Object> localVarFormParams = new HashMap<String, Object>();
-
-        final String[] localVarAccepts = {
-            "*/*"
-        };
-        final String localVarAccept = apiClient.selectHeaderAccept(localVarAccepts);
-        if (localVarAccept != null) localVarHeaderParams.put("Accept", localVarAccept);
-
-        final String[] localVarContentTypes = {
-            
-        };
-        final String localVarContentType = apiClient.selectHeaderContentType(localVarContentTypes);
-        localVarHeaderParams.put("Content-Type", localVarContentType);
-
-        if(progressListener != null) {
-            apiClient.getHttpClient().networkInterceptors().add(new com.squareup.okhttp.Interceptor() {
-                @Override
-                public com.squareup.okhttp.Response intercept(Chain chain) throws IOException {
-                    com.squareup.okhttp.Response originalResponse = chain.proceed(chain.request());
-                    return originalResponse.newBuilder()
-                    .body(new ProgressResponseBody(originalResponse.body(), progressListener))
-                    .build();
-                }
-            });
-        }
-
-        String[] localVarAuthNames = new String[] { "bearerAuth" };
-        return apiClient.buildCall(localVarPath, "DELETE", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarFormParams, localVarAuthNames, progressRequestListener);
-    }
-    
-    @SuppressWarnings("rawtypes")
-    private com.squareup.okhttp.Call deleteValidateBeforeCall(Long id, Long databaseId, Long tableId, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
-        // verify the required parameter 'id' is set
-        if (id == null) {
-            throw new ApiException("Missing the required parameter 'id' when calling delete(Async)");
-        }
-        // verify the required parameter 'databaseId' is set
-        if (databaseId == null) {
-            throw new ApiException("Missing the required parameter 'databaseId' when calling delete(Async)");
-        }
-        // verify the required parameter 'tableId' is set
-        if (tableId == null) {
-            throw new ApiException("Missing the required parameter 'tableId' when calling delete(Async)");
-        }
-        
-        com.squareup.okhttp.Call call = deleteCall(id, databaseId, tableId, progressListener, progressRequestListener);
-        return call;
-
-        
-        
-        
-        
-    }
-
-    /**
-     * Delete a table
-     * 
-     * @param id  (required)
-     * @param databaseId  (required)
-     * @param tableId  (required)
-     * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
-     */
-    public void delete(Long id, Long databaseId, Long tableId) throws ApiException {
-        deleteWithHttpInfo(id, databaseId, tableId);
-    }
-
-    /**
-     * Delete a table
-     * 
-     * @param id  (required)
-     * @param databaseId  (required)
-     * @param tableId  (required)
-     * @return ApiResponse&lt;Void&gt;
-     * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
-     */
-    public ApiResponse<Void> deleteWithHttpInfo(Long id, Long databaseId, Long tableId) throws ApiException {
-        com.squareup.okhttp.Call call = deleteValidateBeforeCall(id, databaseId, tableId, null, null);
-        return apiClient.execute(call);
-    }
-
-    /**
-     * Delete a table (asynchronously)
-     * 
-     * @param id  (required)
-     * @param databaseId  (required)
-     * @param tableId  (required)
-     * @param callback The callback to be executed when the API call finishes
-     * @return The request call
-     * @throws ApiException If fail to process the API call, e.g. serializing the request body object
-     */
-    public com.squareup.okhttp.Call deleteAsync(Long id, Long databaseId, Long tableId, final ApiCallback<Void> callback) throws ApiException {
-
-        ProgressResponseBody.ProgressListener progressListener = null;
-        ProgressRequestBody.ProgressRequestListener progressRequestListener = null;
-
-        if (callback != null) {
-            progressListener = new ProgressResponseBody.ProgressListener() {
-                @Override
-                public void update(long bytesRead, long contentLength, boolean done) {
-                    callback.onDownloadProgress(bytesRead, contentLength, done);
-                }
-            };
-
-            progressRequestListener = new ProgressRequestBody.ProgressRequestListener() {
-                @Override
-                public void onRequestProgress(long bytesWritten, long contentLength, boolean done) {
-                    callback.onUploadProgress(bytesWritten, contentLength, done);
-                }
-            };
-        }
-
-        com.squareup.okhttp.Call call = deleteValidateBeforeCall(id, databaseId, tableId, progressListener, progressRequestListener);
-        apiClient.executeAsync(call, callback);
-        return call;
-    }
-    /**
-     * Build call for findById
-     * @param id  (required)
-     * @param databaseId  (required)
-     * @param tableId  (required)
-     * @param progressListener Progress listener
-     * @param progressRequestListener Progress request listener
-     * @return Call to execute
-     * @throws ApiException If fail to serialize the request body object
-     */
-    public com.squareup.okhttp.Call findByIdCall(Long id, Long databaseId, Long tableId, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
-        Object localVarPostBody = null;
-        
-        // create path and map variables
-        String localVarPath = "/api/container/{id}/database/{databaseId}/table/{tableId}"
-            .replaceAll("\\{" + "id" + "\\}", apiClient.escapeString(id.toString()))
-            .replaceAll("\\{" + "databaseId" + "\\}", apiClient.escapeString(databaseId.toString()))
-            .replaceAll("\\{" + "tableId" + "\\}", apiClient.escapeString(tableId.toString()));
-
-        List<Pair> localVarQueryParams = new ArrayList<Pair>();
-        List<Pair> localVarCollectionQueryParams = new ArrayList<Pair>();
-
-        Map<String, String> localVarHeaderParams = new HashMap<String, String>();
-
-        Map<String, Object> localVarFormParams = new HashMap<String, Object>();
-
-        final String[] localVarAccepts = {
-            "*/*"
-        };
-        final String localVarAccept = apiClient.selectHeaderAccept(localVarAccepts);
-        if (localVarAccept != null) localVarHeaderParams.put("Accept", localVarAccept);
-
-        final String[] localVarContentTypes = {
-            
-        };
-        final String localVarContentType = apiClient.selectHeaderContentType(localVarContentTypes);
-        localVarHeaderParams.put("Content-Type", localVarContentType);
-
-        if(progressListener != null) {
-            apiClient.getHttpClient().networkInterceptors().add(new com.squareup.okhttp.Interceptor() {
-                @Override
-                public com.squareup.okhttp.Response intercept(Chain chain) throws IOException {
-                    com.squareup.okhttp.Response originalResponse = chain.proceed(chain.request());
-                    return originalResponse.newBuilder()
-                    .body(new ProgressResponseBody(originalResponse.body(), progressListener))
-                    .build();
-                }
-            });
-        }
-
-        String[] localVarAuthNames = new String[] { "bearerAuth" };
-        return apiClient.buildCall(localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarFormParams, localVarAuthNames, progressRequestListener);
-    }
-    
-    @SuppressWarnings("rawtypes")
-    private com.squareup.okhttp.Call findByIdValidateBeforeCall(Long id, Long databaseId, Long tableId, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
-        // verify the required parameter 'id' is set
-        if (id == null) {
-            throw new ApiException("Missing the required parameter 'id' when calling findById(Async)");
-        }
-        // verify the required parameter 'databaseId' is set
-        if (databaseId == null) {
-            throw new ApiException("Missing the required parameter 'databaseId' when calling findById(Async)");
-        }
-        // verify the required parameter 'tableId' is set
-        if (tableId == null) {
-            throw new ApiException("Missing the required parameter 'tableId' when calling findById(Async)");
-        }
-        
-        com.squareup.okhttp.Call call = findByIdCall(id, databaseId, tableId, progressListener, progressRequestListener);
-        return call;
-
-        
-        
-        
-        
-    }
-
-    /**
-     * Get information about table
-     * 
-     * @param id  (required)
-     * @param databaseId  (required)
-     * @param tableId  (required)
-     * @return TableDto
-     * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
-     */
-    public TableDto findById(Long id, Long databaseId, Long tableId) throws ApiException {
-        ApiResponse<TableDto> resp = findByIdWithHttpInfo(id, databaseId, tableId);
-        return resp.getData();
-    }
-
-    /**
-     * Get information about table
-     * 
-     * @param id  (required)
-     * @param databaseId  (required)
-     * @param tableId  (required)
-     * @return ApiResponse&lt;TableDto&gt;
-     * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
-     */
-    public ApiResponse<TableDto> findByIdWithHttpInfo(Long id, Long databaseId, Long tableId) throws ApiException {
-        com.squareup.okhttp.Call call = findByIdValidateBeforeCall(id, databaseId, tableId, null, null);
-        Type localVarReturnType = new TypeToken<TableDto>(){}.getType();
-        return apiClient.execute(call, localVarReturnType);
-    }
-
-    /**
-     * Get information about table (asynchronously)
-     * 
-     * @param id  (required)
-     * @param databaseId  (required)
-     * @param tableId  (required)
-     * @param callback The callback to be executed when the API call finishes
-     * @return The request call
-     * @throws ApiException If fail to process the API call, e.g. serializing the request body object
-     */
-    public com.squareup.okhttp.Call findByIdAsync(Long id, Long databaseId, Long tableId, final ApiCallback<TableDto> callback) throws ApiException {
-
-        ProgressResponseBody.ProgressListener progressListener = null;
-        ProgressRequestBody.ProgressRequestListener progressRequestListener = null;
-
-        if (callback != null) {
-            progressListener = new ProgressResponseBody.ProgressListener() {
-                @Override
-                public void update(long bytesRead, long contentLength, boolean done) {
-                    callback.onDownloadProgress(bytesRead, contentLength, done);
-                }
-            };
-
-            progressRequestListener = new ProgressRequestBody.ProgressRequestListener() {
-                @Override
-                public void onRequestProgress(long bytesWritten, long contentLength, boolean done) {
-                    callback.onUploadProgress(bytesWritten, contentLength, done);
-                }
-            };
-        }
-
-        com.squareup.okhttp.Call call = findByIdValidateBeforeCall(id, databaseId, tableId, progressListener, progressRequestListener);
-        Type localVarReturnType = new TypeToken<TableDto>(){}.getType();
-        apiClient.executeAsync(call, localVarReturnType, callback);
-        return call;
-    }
-    /**
-     * Build call for list
-     * @param id  (required)
-     * @param databaseId  (required)
-     * @param progressListener Progress listener
-     * @param progressRequestListener Progress request listener
-     * @return Call to execute
-     * @throws ApiException If fail to serialize the request body object
-     */
-    public com.squareup.okhttp.Call listCall(Long id, Long databaseId, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
-        Object localVarPostBody = null;
-        
-        // create path and map variables
-        String localVarPath = "/api/container/{id}/database/{databaseId}/table"
-            .replaceAll("\\{" + "id" + "\\}", apiClient.escapeString(id.toString()))
-            .replaceAll("\\{" + "databaseId" + "\\}", apiClient.escapeString(databaseId.toString()));
-
-        List<Pair> localVarQueryParams = new ArrayList<Pair>();
-        List<Pair> localVarCollectionQueryParams = new ArrayList<Pair>();
-
-        Map<String, String> localVarHeaderParams = new HashMap<String, String>();
-
-        Map<String, Object> localVarFormParams = new HashMap<String, Object>();
-
-        final String[] localVarAccepts = {
-            "*/*"
-        };
-        final String localVarAccept = apiClient.selectHeaderAccept(localVarAccepts);
-        if (localVarAccept != null) localVarHeaderParams.put("Accept", localVarAccept);
-
-        final String[] localVarContentTypes = {
-            
-        };
-        final String localVarContentType = apiClient.selectHeaderContentType(localVarContentTypes);
-        localVarHeaderParams.put("Content-Type", localVarContentType);
-
-        if(progressListener != null) {
-            apiClient.getHttpClient().networkInterceptors().add(new com.squareup.okhttp.Interceptor() {
-                @Override
-                public com.squareup.okhttp.Response intercept(Chain chain) throws IOException {
-                    com.squareup.okhttp.Response originalResponse = chain.proceed(chain.request());
-                    return originalResponse.newBuilder()
-                    .body(new ProgressResponseBody(originalResponse.body(), progressListener))
-                    .build();
-                }
-            });
-        }
-
-        String[] localVarAuthNames = new String[] { "bearerAuth" };
-        return apiClient.buildCall(localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarFormParams, localVarAuthNames, progressRequestListener);
-    }
-    
-    @SuppressWarnings("rawtypes")
-    private com.squareup.okhttp.Call listValidateBeforeCall(Long id, Long databaseId, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
-        // verify the required parameter 'id' is set
-        if (id == null) {
-            throw new ApiException("Missing the required parameter 'id' when calling list(Async)");
-        }
-        // verify the required parameter 'databaseId' is set
-        if (databaseId == null) {
-            throw new ApiException("Missing the required parameter 'databaseId' when calling list(Async)");
-        }
-        
-        com.squareup.okhttp.Call call = listCall(id, databaseId, progressListener, progressRequestListener);
-        return call;
-
-        
-        
-        
-        
-    }
-
-    /**
-     * List all tables
-     * 
-     * @param id  (required)
-     * @param databaseId  (required)
-     * @return List&lt;TableBriefDto&gt;
-     * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
-     */
-    public List<TableBriefDto> list(Long id, Long databaseId) throws ApiException {
-        ApiResponse<List<TableBriefDto>> resp = listWithHttpInfo(id, databaseId);
-        return resp.getData();
-    }
-
-    /**
-     * List all tables
-     * 
-     * @param id  (required)
-     * @param databaseId  (required)
-     * @return ApiResponse&lt;List&lt;TableBriefDto&gt;&gt;
-     * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
-     */
-    public ApiResponse<List<TableBriefDto>> listWithHttpInfo(Long id, Long databaseId) throws ApiException {
-        com.squareup.okhttp.Call call = listValidateBeforeCall(id, databaseId, null, null);
-        Type localVarReturnType = new TypeToken<List<TableBriefDto>>(){}.getType();
-        return apiClient.execute(call, localVarReturnType);
-    }
-
-    /**
-     * List all tables (asynchronously)
-     * 
-     * @param id  (required)
-     * @param databaseId  (required)
-     * @param callback The callback to be executed when the API call finishes
-     * @return The request call
-     * @throws ApiException If fail to process the API call, e.g. serializing the request body object
-     */
-    public com.squareup.okhttp.Call listAsync(Long id, Long databaseId, final ApiCallback<List<TableBriefDto>> callback) throws ApiException {
-
-        ProgressResponseBody.ProgressListener progressListener = null;
-        ProgressRequestBody.ProgressRequestListener progressRequestListener = null;
-
-        if (callback != null) {
-            progressListener = new ProgressResponseBody.ProgressListener() {
-                @Override
-                public void update(long bytesRead, long contentLength, boolean done) {
-                    callback.onDownloadProgress(bytesRead, contentLength, done);
-                }
-            };
-
-            progressRequestListener = new ProgressRequestBody.ProgressRequestListener() {
-                @Override
-                public void onRequestProgress(long bytesWritten, long contentLength, boolean done) {
-                    callback.onUploadProgress(bytesWritten, contentLength, done);
-                }
-            };
-        }
-
-        com.squareup.okhttp.Call call = listValidateBeforeCall(id, databaseId, progressListener, progressRequestListener);
-        Type localVarReturnType = new TypeToken<List<TableBriefDto>>(){}.getType();
-        apiClient.executeAsync(call, localVarReturnType, callback);
-        return call;
-    }
-}
diff --git a/.java-stubs/src/main/java/io/swagger/client/api/TableHistoryEndpointApi.java b/.java-stubs/src/main/java/io/swagger/client/api/TableHistoryEndpointApi.java
deleted file mode 100644
index 6ee447dd9d..0000000000
--- a/.java-stubs/src/main/java/io/swagger/client/api/TableHistoryEndpointApi.java
+++ /dev/null
@@ -1,343 +0,0 @@
-/*
- * Database Repository Query Service API
- * Service that manages the queries
- *
- * OpenAPI spec version: 1.1.0-alpha
- * Contact: andreas.rauber@tuwien.ac.at
- *
- * NOTE: This class is auto generated by the swagger code generator program.
- * https://github.com/swagger-api/swagger-codegen.git
- * Do not edit the class manually.
- */
-
-package io.swagger.client.api;
-
-import io.swagger.client.ApiCallback;
-import io.swagger.client.ApiClient;
-import io.swagger.client.ApiException;
-import io.swagger.client.ApiResponse;
-import io.swagger.client.Configuration;
-import io.swagger.client.Pair;
-import io.swagger.client.ProgressRequestBody;
-import io.swagger.client.ProgressResponseBody;
-
-import com.google.gson.reflect.TypeToken;
-
-import java.io.IOException;
-
-
-import io.swagger.client.model.ApiErrorDto;
-import io.swagger.client.model.TableHistoryDto;
-
-import java.lang.reflect.Type;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-public class TableHistoryEndpointApi {
-    private ApiClient apiClient;
-
-    public TableHistoryEndpointApi() {
-        this(Configuration.getDefaultApiClient());
-    }
-
-    public TableHistoryEndpointApi(ApiClient apiClient) {
-        this.apiClient = apiClient;
-    }
-
-    public ApiClient getApiClient() {
-        return apiClient;
-    }
-
-    public void setApiClient(ApiClient apiClient) {
-        this.apiClient = apiClient;
-    }
-
-    /**
-     * Build call for getAll
-     * @param id  (required)
-     * @param databaseId  (required)
-     * @param tableId  (required)
-     * @param progressListener Progress listener
-     * @param progressRequestListener Progress request listener
-     * @return Call to execute
-     * @throws ApiException If fail to serialize the request body object
-     */
-    public com.squareup.okhttp.Call getAllCall(Long id, Long databaseId, Long tableId, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
-        Object localVarPostBody = null;
-        
-        // create path and map variables
-        String localVarPath = "/api/container/{id}/database/{databaseId}/table/{tableId}/history"
-            .replaceAll("\\{" + "id" + "\\}", apiClient.escapeString(id.toString()))
-            .replaceAll("\\{" + "databaseId" + "\\}", apiClient.escapeString(databaseId.toString()))
-            .replaceAll("\\{" + "tableId" + "\\}", apiClient.escapeString(tableId.toString()));
-
-        List<Pair> localVarQueryParams = new ArrayList<Pair>();
-        List<Pair> localVarCollectionQueryParams = new ArrayList<Pair>();
-
-        Map<String, String> localVarHeaderParams = new HashMap<String, String>();
-
-        Map<String, Object> localVarFormParams = new HashMap<String, Object>();
-
-        final String[] localVarAccepts = {
-            "*/*"
-        };
-        final String localVarAccept = apiClient.selectHeaderAccept(localVarAccepts);
-        if (localVarAccept != null) localVarHeaderParams.put("Accept", localVarAccept);
-
-        final String[] localVarContentTypes = {
-            
-        };
-        final String localVarContentType = apiClient.selectHeaderContentType(localVarContentTypes);
-        localVarHeaderParams.put("Content-Type", localVarContentType);
-
-        if(progressListener != null) {
-            apiClient.getHttpClient().networkInterceptors().add(new com.squareup.okhttp.Interceptor() {
-                @Override
-                public com.squareup.okhttp.Response intercept(Chain chain) throws IOException {
-                    com.squareup.okhttp.Response originalResponse = chain.proceed(chain.request());
-                    return originalResponse.newBuilder()
-                    .body(new ProgressResponseBody(originalResponse.body(), progressListener))
-                    .build();
-                }
-            });
-        }
-
-        String[] localVarAuthNames = new String[] { "bearerAuth" };
-        return apiClient.buildCall(localVarPath, "HEAD", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarFormParams, localVarAuthNames, progressRequestListener);
-    }
-    
-    @SuppressWarnings("rawtypes")
-    private com.squareup.okhttp.Call getAllValidateBeforeCall(Long id, Long databaseId, Long tableId, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
-        // verify the required parameter 'id' is set
-        if (id == null) {
-            throw new ApiException("Missing the required parameter 'id' when calling getAll(Async)");
-        }
-        // verify the required parameter 'databaseId' is set
-        if (databaseId == null) {
-            throw new ApiException("Missing the required parameter 'databaseId' when calling getAll(Async)");
-        }
-        // verify the required parameter 'tableId' is set
-        if (tableId == null) {
-            throw new ApiException("Missing the required parameter 'tableId' when calling getAll(Async)");
-        }
-        
-        com.squareup.okhttp.Call call = getAllCall(id, databaseId, tableId, progressListener, progressRequestListener);
-        return call;
-
-        
-        
-        
-        
-    }
-
-    /**
-     * Find all history
-     * 
-     * @param id  (required)
-     * @param databaseId  (required)
-     * @param tableId  (required)
-     * @return List&lt;TableHistoryDto&gt;
-     * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
-     */
-    public List<TableHistoryDto> getAll(Long id, Long databaseId, Long tableId) throws ApiException {
-        ApiResponse<List<TableHistoryDto>> resp = getAllWithHttpInfo(id, databaseId, tableId);
-        return resp.getData();
-    }
-
-    /**
-     * Find all history
-     * 
-     * @param id  (required)
-     * @param databaseId  (required)
-     * @param tableId  (required)
-     * @return ApiResponse&lt;List&lt;TableHistoryDto&gt;&gt;
-     * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
-     */
-    public ApiResponse<List<TableHistoryDto>> getAllWithHttpInfo(Long id, Long databaseId, Long tableId) throws ApiException {
-        com.squareup.okhttp.Call call = getAllValidateBeforeCall(id, databaseId, tableId, null, null);
-        Type localVarReturnType = new TypeToken<List<TableHistoryDto>>(){}.getType();
-        return apiClient.execute(call, localVarReturnType);
-    }
-
-    /**
-     * Find all history (asynchronously)
-     * 
-     * @param id  (required)
-     * @param databaseId  (required)
-     * @param tableId  (required)
-     * @param callback The callback to be executed when the API call finishes
-     * @return The request call
-     * @throws ApiException If fail to process the API call, e.g. serializing the request body object
-     */
-    public com.squareup.okhttp.Call getAllAsync(Long id, Long databaseId, Long tableId, final ApiCallback<List<TableHistoryDto>> callback) throws ApiException {
-
-        ProgressResponseBody.ProgressListener progressListener = null;
-        ProgressRequestBody.ProgressRequestListener progressRequestListener = null;
-
-        if (callback != null) {
-            progressListener = new ProgressResponseBody.ProgressListener() {
-                @Override
-                public void update(long bytesRead, long contentLength, boolean done) {
-                    callback.onDownloadProgress(bytesRead, contentLength, done);
-                }
-            };
-
-            progressRequestListener = new ProgressRequestBody.ProgressRequestListener() {
-                @Override
-                public void onRequestProgress(long bytesWritten, long contentLength, boolean done) {
-                    callback.onUploadProgress(bytesWritten, contentLength, done);
-                }
-            };
-        }
-
-        com.squareup.okhttp.Call call = getAllValidateBeforeCall(id, databaseId, tableId, progressListener, progressRequestListener);
-        Type localVarReturnType = new TypeToken<List<TableHistoryDto>>(){}.getType();
-        apiClient.executeAsync(call, localVarReturnType, callback);
-        return call;
-    }
-    /**
-     * Build call for getAll1
-     * @param id  (required)
-     * @param databaseId  (required)
-     * @param tableId  (required)
-     * @param progressListener Progress listener
-     * @param progressRequestListener Progress request listener
-     * @return Call to execute
-     * @throws ApiException If fail to serialize the request body object
-     */
-    public com.squareup.okhttp.Call getAll1Call(Long id, Long databaseId, Long tableId, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
-        Object localVarPostBody = null;
-        
-        // create path and map variables
-        String localVarPath = "/api/container/{id}/database/{databaseId}/table/{tableId}/history"
-            .replaceAll("\\{" + "id" + "\\}", apiClient.escapeString(id.toString()))
-            .replaceAll("\\{" + "databaseId" + "\\}", apiClient.escapeString(databaseId.toString()))
-            .replaceAll("\\{" + "tableId" + "\\}", apiClient.escapeString(tableId.toString()));
-
-        List<Pair> localVarQueryParams = new ArrayList<Pair>();
-        List<Pair> localVarCollectionQueryParams = new ArrayList<Pair>();
-
-        Map<String, String> localVarHeaderParams = new HashMap<String, String>();
-
-        Map<String, Object> localVarFormParams = new HashMap<String, Object>();
-
-        final String[] localVarAccepts = {
-            "*/*"
-        };
-        final String localVarAccept = apiClient.selectHeaderAccept(localVarAccepts);
-        if (localVarAccept != null) localVarHeaderParams.put("Accept", localVarAccept);
-
-        final String[] localVarContentTypes = {
-            
-        };
-        final String localVarContentType = apiClient.selectHeaderContentType(localVarContentTypes);
-        localVarHeaderParams.put("Content-Type", localVarContentType);
-
-        if(progressListener != null) {
-            apiClient.getHttpClient().networkInterceptors().add(new com.squareup.okhttp.Interceptor() {
-                @Override
-                public com.squareup.okhttp.Response intercept(Chain chain) throws IOException {
-                    com.squareup.okhttp.Response originalResponse = chain.proceed(chain.request());
-                    return originalResponse.newBuilder()
-                    .body(new ProgressResponseBody(originalResponse.body(), progressListener))
-                    .build();
-                }
-            });
-        }
-
-        String[] localVarAuthNames = new String[] { "bearerAuth" };
-        return apiClient.buildCall(localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarFormParams, localVarAuthNames, progressRequestListener);
-    }
-    
-    @SuppressWarnings("rawtypes")
-    private com.squareup.okhttp.Call getAll1ValidateBeforeCall(Long id, Long databaseId, Long tableId, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
-        // verify the required parameter 'id' is set
-        if (id == null) {
-            throw new ApiException("Missing the required parameter 'id' when calling getAll1(Async)");
-        }
-        // verify the required parameter 'databaseId' is set
-        if (databaseId == null) {
-            throw new ApiException("Missing the required parameter 'databaseId' when calling getAll1(Async)");
-        }
-        // verify the required parameter 'tableId' is set
-        if (tableId == null) {
-            throw new ApiException("Missing the required parameter 'tableId' when calling getAll1(Async)");
-        }
-        
-        com.squareup.okhttp.Call call = getAll1Call(id, databaseId, tableId, progressListener, progressRequestListener);
-        return call;
-
-        
-        
-        
-        
-    }
-
-    /**
-     * Find all history
-     * 
-     * @param id  (required)
-     * @param databaseId  (required)
-     * @param tableId  (required)
-     * @return List&lt;TableHistoryDto&gt;
-     * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
-     */
-    public List<TableHistoryDto> getAll1(Long id, Long databaseId, Long tableId) throws ApiException {
-        ApiResponse<List<TableHistoryDto>> resp = getAll1WithHttpInfo(id, databaseId, tableId);
-        return resp.getData();
-    }
-
-    /**
-     * Find all history
-     * 
-     * @param id  (required)
-     * @param databaseId  (required)
-     * @param tableId  (required)
-     * @return ApiResponse&lt;List&lt;TableHistoryDto&gt;&gt;
-     * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
-     */
-    public ApiResponse<List<TableHistoryDto>> getAll1WithHttpInfo(Long id, Long databaseId, Long tableId) throws ApiException {
-        com.squareup.okhttp.Call call = getAll1ValidateBeforeCall(id, databaseId, tableId, null, null);
-        Type localVarReturnType = new TypeToken<List<TableHistoryDto>>(){}.getType();
-        return apiClient.execute(call, localVarReturnType);
-    }
-
-    /**
-     * Find all history (asynchronously)
-     * 
-     * @param id  (required)
-     * @param databaseId  (required)
-     * @param tableId  (required)
-     * @param callback The callback to be executed when the API call finishes
-     * @return The request call
-     * @throws ApiException If fail to process the API call, e.g. serializing the request body object
-     */
-    public com.squareup.okhttp.Call getAll1Async(Long id, Long databaseId, Long tableId, final ApiCallback<List<TableHistoryDto>> callback) throws ApiException {
-
-        ProgressResponseBody.ProgressListener progressListener = null;
-        ProgressRequestBody.ProgressRequestListener progressRequestListener = null;
-
-        if (callback != null) {
-            progressListener = new ProgressResponseBody.ProgressListener() {
-                @Override
-                public void update(long bytesRead, long contentLength, boolean done) {
-                    callback.onDownloadProgress(bytesRead, contentLength, done);
-                }
-            };
-
-            progressRequestListener = new ProgressRequestBody.ProgressRequestListener() {
-                @Override
-                public void onRequestProgress(long bytesWritten, long contentLength, boolean done) {
-                    callback.onUploadProgress(bytesWritten, contentLength, done);
-                }
-            };
-        }
-
-        com.squareup.okhttp.Call call = getAll1ValidateBeforeCall(id, databaseId, tableId, progressListener, progressRequestListener);
-        Type localVarReturnType = new TypeToken<List<TableHistoryDto>>(){}.getType();
-        apiClient.executeAsync(call, localVarReturnType, callback);
-        return call;
-    }
-}
diff --git a/.java-stubs/src/main/java/io/swagger/client/api/ViewEndpointApi.java b/.java-stubs/src/main/java/io/swagger/client/api/ViewEndpointApi.java
deleted file mode 100644
index 8594cb5e19..0000000000
--- a/.java-stubs/src/main/java/io/swagger/client/api/ViewEndpointApi.java
+++ /dev/null
@@ -1,777 +0,0 @@
-/*
- * Database Repository Query Service API
- * Service that manages the queries
- *
- * OpenAPI spec version: 1.1.0-alpha
- * Contact: andreas.rauber@tuwien.ac.at
- *
- * NOTE: This class is auto generated by the swagger code generator program.
- * https://github.com/swagger-api/swagger-codegen.git
- * Do not edit the class manually.
- */
-
-package io.swagger.client.api;
-
-import io.swagger.client.ApiCallback;
-import io.swagger.client.ApiClient;
-import io.swagger.client.ApiException;
-import io.swagger.client.ApiResponse;
-import io.swagger.client.Configuration;
-import io.swagger.client.Pair;
-import io.swagger.client.ProgressRequestBody;
-import io.swagger.client.ProgressResponseBody;
-
-import com.google.gson.reflect.TypeToken;
-
-import java.io.IOException;
-
-
-import io.swagger.client.model.ApiErrorDto;
-import io.swagger.client.model.QueryResultDto;
-import io.swagger.client.model.ViewBriefDto;
-import io.swagger.client.model.ViewCreateDto;
-import io.swagger.client.model.ViewDto;
-
-import java.lang.reflect.Type;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-public class ViewEndpointApi {
-    private ApiClient apiClient;
-
-    public ViewEndpointApi() {
-        this(Configuration.getDefaultApiClient());
-    }
-
-    public ViewEndpointApi(ApiClient apiClient) {
-        this.apiClient = apiClient;
-    }
-
-    public ApiClient getApiClient() {
-        return apiClient;
-    }
-
-    public void setApiClient(ApiClient apiClient) {
-        this.apiClient = apiClient;
-    }
-
-    /**
-     * Build call for create
-     * @param body  (required)
-     * @param id  (required)
-     * @param databaseId  (required)
-     * @param progressListener Progress listener
-     * @param progressRequestListener Progress request listener
-     * @return Call to execute
-     * @throws ApiException If fail to serialize the request body object
-     */
-    public com.squareup.okhttp.Call createCall(ViewCreateDto body, Long id, Long databaseId, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
-        Object localVarPostBody = body;
-        
-        // create path and map variables
-        String localVarPath = "/api/container/{id}/database/{databaseId}/view"
-            .replaceAll("\\{" + "id" + "\\}", apiClient.escapeString(id.toString()))
-            .replaceAll("\\{" + "databaseId" + "\\}", apiClient.escapeString(databaseId.toString()));
-
-        List<Pair> localVarQueryParams = new ArrayList<Pair>();
-        List<Pair> localVarCollectionQueryParams = new ArrayList<Pair>();
-
-        Map<String, String> localVarHeaderParams = new HashMap<String, String>();
-
-        Map<String, Object> localVarFormParams = new HashMap<String, Object>();
-
-        final String[] localVarAccepts = {
-            "*/*"
-        };
-        final String localVarAccept = apiClient.selectHeaderAccept(localVarAccepts);
-        if (localVarAccept != null) localVarHeaderParams.put("Accept", localVarAccept);
-
-        final String[] localVarContentTypes = {
-            "application/json"
-        };
-        final String localVarContentType = apiClient.selectHeaderContentType(localVarContentTypes);
-        localVarHeaderParams.put("Content-Type", localVarContentType);
-
-        if(progressListener != null) {
-            apiClient.getHttpClient().networkInterceptors().add(new com.squareup.okhttp.Interceptor() {
-                @Override
-                public com.squareup.okhttp.Response intercept(Chain chain) throws IOException {
-                    com.squareup.okhttp.Response originalResponse = chain.proceed(chain.request());
-                    return originalResponse.newBuilder()
-                    .body(new ProgressResponseBody(originalResponse.body(), progressListener))
-                    .build();
-                }
-            });
-        }
-
-        String[] localVarAuthNames = new String[] { "bearerAuth" };
-        return apiClient.buildCall(localVarPath, "POST", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarFormParams, localVarAuthNames, progressRequestListener);
-    }
-    
-    @SuppressWarnings("rawtypes")
-    private com.squareup.okhttp.Call createValidateBeforeCall(ViewCreateDto body, Long id, Long databaseId, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
-        // verify the required parameter 'body' is set
-        if (body == null) {
-            throw new ApiException("Missing the required parameter 'body' when calling create(Async)");
-        }
-        // verify the required parameter 'id' is set
-        if (id == null) {
-            throw new ApiException("Missing the required parameter 'id' when calling create(Async)");
-        }
-        // verify the required parameter 'databaseId' is set
-        if (databaseId == null) {
-            throw new ApiException("Missing the required parameter 'databaseId' when calling create(Async)");
-        }
-        
-        com.squareup.okhttp.Call call = createCall(body, id, databaseId, progressListener, progressRequestListener);
-        return call;
-
-        
-        
-        
-        
-    }
-
-    /**
-     * Create a view
-     * 
-     * @param body  (required)
-     * @param id  (required)
-     * @param databaseId  (required)
-     * @return ViewBriefDto
-     * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
-     */
-    public ViewBriefDto create(ViewCreateDto body, Long id, Long databaseId) throws ApiException {
-        ApiResponse<ViewBriefDto> resp = createWithHttpInfo(body, id, databaseId);
-        return resp.getData();
-    }
-
-    /**
-     * Create a view
-     * 
-     * @param body  (required)
-     * @param id  (required)
-     * @param databaseId  (required)
-     * @return ApiResponse&lt;ViewBriefDto&gt;
-     * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
-     */
-    public ApiResponse<ViewBriefDto> createWithHttpInfo(ViewCreateDto body, Long id, Long databaseId) throws ApiException {
-        com.squareup.okhttp.Call call = createValidateBeforeCall(body, id, databaseId, null, null);
-        Type localVarReturnType = new TypeToken<ViewBriefDto>(){}.getType();
-        return apiClient.execute(call, localVarReturnType);
-    }
-
-    /**
-     * Create a view (asynchronously)
-     * 
-     * @param body  (required)
-     * @param id  (required)
-     * @param databaseId  (required)
-     * @param callback The callback to be executed when the API call finishes
-     * @return The request call
-     * @throws ApiException If fail to process the API call, e.g. serializing the request body object
-     */
-    public com.squareup.okhttp.Call createAsync(ViewCreateDto body, Long id, Long databaseId, final ApiCallback<ViewBriefDto> callback) throws ApiException {
-
-        ProgressResponseBody.ProgressListener progressListener = null;
-        ProgressRequestBody.ProgressRequestListener progressRequestListener = null;
-
-        if (callback != null) {
-            progressListener = new ProgressResponseBody.ProgressListener() {
-                @Override
-                public void update(long bytesRead, long contentLength, boolean done) {
-                    callback.onDownloadProgress(bytesRead, contentLength, done);
-                }
-            };
-
-            progressRequestListener = new ProgressRequestBody.ProgressRequestListener() {
-                @Override
-                public void onRequestProgress(long bytesWritten, long contentLength, boolean done) {
-                    callback.onUploadProgress(bytesWritten, contentLength, done);
-                }
-            };
-        }
-
-        com.squareup.okhttp.Call call = createValidateBeforeCall(body, id, databaseId, progressListener, progressRequestListener);
-        Type localVarReturnType = new TypeToken<ViewBriefDto>(){}.getType();
-        apiClient.executeAsync(call, localVarReturnType, callback);
-        return call;
-    }
-    /**
-     * Build call for data
-     * @param id  (required)
-     * @param databaseId  (required)
-     * @param viewId  (required)
-     * @param page  (optional)
-     * @param size  (optional)
-     * @param progressListener Progress listener
-     * @param progressRequestListener Progress request listener
-     * @return Call to execute
-     * @throws ApiException If fail to serialize the request body object
-     */
-    public com.squareup.okhttp.Call dataCall(Long id, Long databaseId, Long viewId, Long page, Long size, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
-        Object localVarPostBody = null;
-        
-        // create path and map variables
-        String localVarPath = "/api/container/{id}/database/{databaseId}/view/{viewId}/data"
-            .replaceAll("\\{" + "id" + "\\}", apiClient.escapeString(id.toString()))
-            .replaceAll("\\{" + "databaseId" + "\\}", apiClient.escapeString(databaseId.toString()))
-            .replaceAll("\\{" + "viewId" + "\\}", apiClient.escapeString(viewId.toString()));
-
-        List<Pair> localVarQueryParams = new ArrayList<Pair>();
-        List<Pair> localVarCollectionQueryParams = new ArrayList<Pair>();
-        if (page != null)
-        localVarQueryParams.addAll(apiClient.parameterToPair("page", page));
-        if (size != null)
-        localVarQueryParams.addAll(apiClient.parameterToPair("size", size));
-
-        Map<String, String> localVarHeaderParams = new HashMap<String, String>();
-
-        Map<String, Object> localVarFormParams = new HashMap<String, Object>();
-
-        final String[] localVarAccepts = {
-            "*/*"
-        };
-        final String localVarAccept = apiClient.selectHeaderAccept(localVarAccepts);
-        if (localVarAccept != null) localVarHeaderParams.put("Accept", localVarAccept);
-
-        final String[] localVarContentTypes = {
-            
-        };
-        final String localVarContentType = apiClient.selectHeaderContentType(localVarContentTypes);
-        localVarHeaderParams.put("Content-Type", localVarContentType);
-
-        if(progressListener != null) {
-            apiClient.getHttpClient().networkInterceptors().add(new com.squareup.okhttp.Interceptor() {
-                @Override
-                public com.squareup.okhttp.Response intercept(Chain chain) throws IOException {
-                    com.squareup.okhttp.Response originalResponse = chain.proceed(chain.request());
-                    return originalResponse.newBuilder()
-                    .body(new ProgressResponseBody(originalResponse.body(), progressListener))
-                    .build();
-                }
-            });
-        }
-
-        String[] localVarAuthNames = new String[] { "bearerAuth" };
-        return apiClient.buildCall(localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarFormParams, localVarAuthNames, progressRequestListener);
-    }
-    
-    @SuppressWarnings("rawtypes")
-    private com.squareup.okhttp.Call dataValidateBeforeCall(Long id, Long databaseId, Long viewId, Long page, Long size, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
-        // verify the required parameter 'id' is set
-        if (id == null) {
-            throw new ApiException("Missing the required parameter 'id' when calling data(Async)");
-        }
-        // verify the required parameter 'databaseId' is set
-        if (databaseId == null) {
-            throw new ApiException("Missing the required parameter 'databaseId' when calling data(Async)");
-        }
-        // verify the required parameter 'viewId' is set
-        if (viewId == null) {
-            throw new ApiException("Missing the required parameter 'viewId' when calling data(Async)");
-        }
-        
-        com.squareup.okhttp.Call call = dataCall(id, databaseId, viewId, page, size, progressListener, progressRequestListener);
-        return call;
-
-        
-        
-        
-        
-    }
-
-    /**
-     * Find view data
-     * 
-     * @param id  (required)
-     * @param databaseId  (required)
-     * @param viewId  (required)
-     * @param page  (optional)
-     * @param size  (optional)
-     * @return QueryResultDto
-     * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
-     */
-    public QueryResultDto data(Long id, Long databaseId, Long viewId, Long page, Long size) throws ApiException {
-        ApiResponse<QueryResultDto> resp = dataWithHttpInfo(id, databaseId, viewId, page, size);
-        return resp.getData();
-    }
-
-    /**
-     * Find view data
-     * 
-     * @param id  (required)
-     * @param databaseId  (required)
-     * @param viewId  (required)
-     * @param page  (optional)
-     * @param size  (optional)
-     * @return ApiResponse&lt;QueryResultDto&gt;
-     * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
-     */
-    public ApiResponse<QueryResultDto> dataWithHttpInfo(Long id, Long databaseId, Long viewId, Long page, Long size) throws ApiException {
-        com.squareup.okhttp.Call call = dataValidateBeforeCall(id, databaseId, viewId, page, size, null, null);
-        Type localVarReturnType = new TypeToken<QueryResultDto>(){}.getType();
-        return apiClient.execute(call, localVarReturnType);
-    }
-
-    /**
-     * Find view data (asynchronously)
-     * 
-     * @param id  (required)
-     * @param databaseId  (required)
-     * @param viewId  (required)
-     * @param page  (optional)
-     * @param size  (optional)
-     * @param callback The callback to be executed when the API call finishes
-     * @return The request call
-     * @throws ApiException If fail to process the API call, e.g. serializing the request body object
-     */
-    public com.squareup.okhttp.Call dataAsync(Long id, Long databaseId, Long viewId, Long page, Long size, final ApiCallback<QueryResultDto> callback) throws ApiException {
-
-        ProgressResponseBody.ProgressListener progressListener = null;
-        ProgressRequestBody.ProgressRequestListener progressRequestListener = null;
-
-        if (callback != null) {
-            progressListener = new ProgressResponseBody.ProgressListener() {
-                @Override
-                public void update(long bytesRead, long contentLength, boolean done) {
-                    callback.onDownloadProgress(bytesRead, contentLength, done);
-                }
-            };
-
-            progressRequestListener = new ProgressRequestBody.ProgressRequestListener() {
-                @Override
-                public void onRequestProgress(long bytesWritten, long contentLength, boolean done) {
-                    callback.onUploadProgress(bytesWritten, contentLength, done);
-                }
-            };
-        }
-
-        com.squareup.okhttp.Call call = dataValidateBeforeCall(id, databaseId, viewId, page, size, progressListener, progressRequestListener);
-        Type localVarReturnType = new TypeToken<QueryResultDto>(){}.getType();
-        apiClient.executeAsync(call, localVarReturnType, callback);
-        return call;
-    }
-    /**
-     * Build call for delete
-     * @param id  (required)
-     * @param databaseId  (required)
-     * @param viewId  (required)
-     * @param progressListener Progress listener
-     * @param progressRequestListener Progress request listener
-     * @return Call to execute
-     * @throws ApiException If fail to serialize the request body object
-     */
-    public com.squareup.okhttp.Call deleteCall(Long id, Long databaseId, Long viewId, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
-        Object localVarPostBody = null;
-        
-        // create path and map variables
-        String localVarPath = "/api/container/{id}/database/{databaseId}/view/{viewId}"
-            .replaceAll("\\{" + "id" + "\\}", apiClient.escapeString(id.toString()))
-            .replaceAll("\\{" + "databaseId" + "\\}", apiClient.escapeString(databaseId.toString()))
-            .replaceAll("\\{" + "viewId" + "\\}", apiClient.escapeString(viewId.toString()));
-
-        List<Pair> localVarQueryParams = new ArrayList<Pair>();
-        List<Pair> localVarCollectionQueryParams = new ArrayList<Pair>();
-
-        Map<String, String> localVarHeaderParams = new HashMap<String, String>();
-
-        Map<String, Object> localVarFormParams = new HashMap<String, Object>();
-
-        final String[] localVarAccepts = {
-            "*/*"
-        };
-        final String localVarAccept = apiClient.selectHeaderAccept(localVarAccepts);
-        if (localVarAccept != null) localVarHeaderParams.put("Accept", localVarAccept);
-
-        final String[] localVarContentTypes = {
-            
-        };
-        final String localVarContentType = apiClient.selectHeaderContentType(localVarContentTypes);
-        localVarHeaderParams.put("Content-Type", localVarContentType);
-
-        if(progressListener != null) {
-            apiClient.getHttpClient().networkInterceptors().add(new com.squareup.okhttp.Interceptor() {
-                @Override
-                public com.squareup.okhttp.Response intercept(Chain chain) throws IOException {
-                    com.squareup.okhttp.Response originalResponse = chain.proceed(chain.request());
-                    return originalResponse.newBuilder()
-                    .body(new ProgressResponseBody(originalResponse.body(), progressListener))
-                    .build();
-                }
-            });
-        }
-
-        String[] localVarAuthNames = new String[] { "bearerAuth" };
-        return apiClient.buildCall(localVarPath, "DELETE", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarFormParams, localVarAuthNames, progressRequestListener);
-    }
-    
-    @SuppressWarnings("rawtypes")
-    private com.squareup.okhttp.Call deleteValidateBeforeCall(Long id, Long databaseId, Long viewId, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
-        // verify the required parameter 'id' is set
-        if (id == null) {
-            throw new ApiException("Missing the required parameter 'id' when calling delete(Async)");
-        }
-        // verify the required parameter 'databaseId' is set
-        if (databaseId == null) {
-            throw new ApiException("Missing the required parameter 'databaseId' when calling delete(Async)");
-        }
-        // verify the required parameter 'viewId' is set
-        if (viewId == null) {
-            throw new ApiException("Missing the required parameter 'viewId' when calling delete(Async)");
-        }
-        
-        com.squareup.okhttp.Call call = deleteCall(id, databaseId, viewId, progressListener, progressRequestListener);
-        return call;
-
-        
-        
-        
-        
-    }
-
-    /**
-     * Delete one view
-     * 
-     * @param id  (required)
-     * @param databaseId  (required)
-     * @param viewId  (required)
-     * @return Object
-     * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
-     */
-    public Object delete(Long id, Long databaseId, Long viewId) throws ApiException {
-        ApiResponse<Object> resp = deleteWithHttpInfo(id, databaseId, viewId);
-        return resp.getData();
-    }
-
-    /**
-     * Delete one view
-     * 
-     * @param id  (required)
-     * @param databaseId  (required)
-     * @param viewId  (required)
-     * @return ApiResponse&lt;Object&gt;
-     * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
-     */
-    public ApiResponse<Object> deleteWithHttpInfo(Long id, Long databaseId, Long viewId) throws ApiException {
-        com.squareup.okhttp.Call call = deleteValidateBeforeCall(id, databaseId, viewId, null, null);
-        Type localVarReturnType = new TypeToken<Object>(){}.getType();
-        return apiClient.execute(call, localVarReturnType);
-    }
-
-    /**
-     * Delete one view (asynchronously)
-     * 
-     * @param id  (required)
-     * @param databaseId  (required)
-     * @param viewId  (required)
-     * @param callback The callback to be executed when the API call finishes
-     * @return The request call
-     * @throws ApiException If fail to process the API call, e.g. serializing the request body object
-     */
-    public com.squareup.okhttp.Call deleteAsync(Long id, Long databaseId, Long viewId, final ApiCallback<Object> callback) throws ApiException {
-
-        ProgressResponseBody.ProgressListener progressListener = null;
-        ProgressRequestBody.ProgressRequestListener progressRequestListener = null;
-
-        if (callback != null) {
-            progressListener = new ProgressResponseBody.ProgressListener() {
-                @Override
-                public void update(long bytesRead, long contentLength, boolean done) {
-                    callback.onDownloadProgress(bytesRead, contentLength, done);
-                }
-            };
-
-            progressRequestListener = new ProgressRequestBody.ProgressRequestListener() {
-                @Override
-                public void onRequestProgress(long bytesWritten, long contentLength, boolean done) {
-                    callback.onUploadProgress(bytesWritten, contentLength, done);
-                }
-            };
-        }
-
-        com.squareup.okhttp.Call call = deleteValidateBeforeCall(id, databaseId, viewId, progressListener, progressRequestListener);
-        Type localVarReturnType = new TypeToken<Object>(){}.getType();
-        apiClient.executeAsync(call, localVarReturnType, callback);
-        return call;
-    }
-    /**
-     * Build call for find
-     * @param id  (required)
-     * @param databaseId  (required)
-     * @param viewId  (required)
-     * @param progressListener Progress listener
-     * @param progressRequestListener Progress request listener
-     * @return Call to execute
-     * @throws ApiException If fail to serialize the request body object
-     */
-    public com.squareup.okhttp.Call findCall(Long id, Long databaseId, Long viewId, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
-        Object localVarPostBody = null;
-        
-        // create path and map variables
-        String localVarPath = "/api/container/{id}/database/{databaseId}/view/{viewId}"
-            .replaceAll("\\{" + "id" + "\\}", apiClient.escapeString(id.toString()))
-            .replaceAll("\\{" + "databaseId" + "\\}", apiClient.escapeString(databaseId.toString()))
-            .replaceAll("\\{" + "viewId" + "\\}", apiClient.escapeString(viewId.toString()));
-
-        List<Pair> localVarQueryParams = new ArrayList<Pair>();
-        List<Pair> localVarCollectionQueryParams = new ArrayList<Pair>();
-
-        Map<String, String> localVarHeaderParams = new HashMap<String, String>();
-
-        Map<String, Object> localVarFormParams = new HashMap<String, Object>();
-
-        final String[] localVarAccepts = {
-            "*/*"
-        };
-        final String localVarAccept = apiClient.selectHeaderAccept(localVarAccepts);
-        if (localVarAccept != null) localVarHeaderParams.put("Accept", localVarAccept);
-
-        final String[] localVarContentTypes = {
-            
-        };
-        final String localVarContentType = apiClient.selectHeaderContentType(localVarContentTypes);
-        localVarHeaderParams.put("Content-Type", localVarContentType);
-
-        if(progressListener != null) {
-            apiClient.getHttpClient().networkInterceptors().add(new com.squareup.okhttp.Interceptor() {
-                @Override
-                public com.squareup.okhttp.Response intercept(Chain chain) throws IOException {
-                    com.squareup.okhttp.Response originalResponse = chain.proceed(chain.request());
-                    return originalResponse.newBuilder()
-                    .body(new ProgressResponseBody(originalResponse.body(), progressListener))
-                    .build();
-                }
-            });
-        }
-
-        String[] localVarAuthNames = new String[] { "bearerAuth" };
-        return apiClient.buildCall(localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarFormParams, localVarAuthNames, progressRequestListener);
-    }
-    
-    @SuppressWarnings("rawtypes")
-    private com.squareup.okhttp.Call findValidateBeforeCall(Long id, Long databaseId, Long viewId, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
-        // verify the required parameter 'id' is set
-        if (id == null) {
-            throw new ApiException("Missing the required parameter 'id' when calling find(Async)");
-        }
-        // verify the required parameter 'databaseId' is set
-        if (databaseId == null) {
-            throw new ApiException("Missing the required parameter 'databaseId' when calling find(Async)");
-        }
-        // verify the required parameter 'viewId' is set
-        if (viewId == null) {
-            throw new ApiException("Missing the required parameter 'viewId' when calling find(Async)");
-        }
-        
-        com.squareup.okhttp.Call call = findCall(id, databaseId, viewId, progressListener, progressRequestListener);
-        return call;
-
-        
-        
-        
-        
-    }
-
-    /**
-     * Find one view
-     * 
-     * @param id  (required)
-     * @param databaseId  (required)
-     * @param viewId  (required)
-     * @return ViewDto
-     * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
-     */
-    public ViewDto find(Long id, Long databaseId, Long viewId) throws ApiException {
-        ApiResponse<ViewDto> resp = findWithHttpInfo(id, databaseId, viewId);
-        return resp.getData();
-    }
-
-    /**
-     * Find one view
-     * 
-     * @param id  (required)
-     * @param databaseId  (required)
-     * @param viewId  (required)
-     * @return ApiResponse&lt;ViewDto&gt;
-     * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
-     */
-    public ApiResponse<ViewDto> findWithHttpInfo(Long id, Long databaseId, Long viewId) throws ApiException {
-        com.squareup.okhttp.Call call = findValidateBeforeCall(id, databaseId, viewId, null, null);
-        Type localVarReturnType = new TypeToken<ViewDto>(){}.getType();
-        return apiClient.execute(call, localVarReturnType);
-    }
-
-    /**
-     * Find one view (asynchronously)
-     * 
-     * @param id  (required)
-     * @param databaseId  (required)
-     * @param viewId  (required)
-     * @param callback The callback to be executed when the API call finishes
-     * @return The request call
-     * @throws ApiException If fail to process the API call, e.g. serializing the request body object
-     */
-    public com.squareup.okhttp.Call findAsync(Long id, Long databaseId, Long viewId, final ApiCallback<ViewDto> callback) throws ApiException {
-
-        ProgressResponseBody.ProgressListener progressListener = null;
-        ProgressRequestBody.ProgressRequestListener progressRequestListener = null;
-
-        if (callback != null) {
-            progressListener = new ProgressResponseBody.ProgressListener() {
-                @Override
-                public void update(long bytesRead, long contentLength, boolean done) {
-                    callback.onDownloadProgress(bytesRead, contentLength, done);
-                }
-            };
-
-            progressRequestListener = new ProgressRequestBody.ProgressRequestListener() {
-                @Override
-                public void onRequestProgress(long bytesWritten, long contentLength, boolean done) {
-                    callback.onUploadProgress(bytesWritten, contentLength, done);
-                }
-            };
-        }
-
-        com.squareup.okhttp.Call call = findValidateBeforeCall(id, databaseId, viewId, progressListener, progressRequestListener);
-        Type localVarReturnType = new TypeToken<ViewDto>(){}.getType();
-        apiClient.executeAsync(call, localVarReturnType, callback);
-        return call;
-    }
-    /**
-     * Build call for findAll
-     * @param id  (required)
-     * @param databaseId  (required)
-     * @param progressListener Progress listener
-     * @param progressRequestListener Progress request listener
-     * @return Call to execute
-     * @throws ApiException If fail to serialize the request body object
-     */
-    public com.squareup.okhttp.Call findAllCall(Long id, Long databaseId, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
-        Object localVarPostBody = null;
-        
-        // create path and map variables
-        String localVarPath = "/api/container/{id}/database/{databaseId}/view"
-            .replaceAll("\\{" + "id" + "\\}", apiClient.escapeString(id.toString()))
-            .replaceAll("\\{" + "databaseId" + "\\}", apiClient.escapeString(databaseId.toString()));
-
-        List<Pair> localVarQueryParams = new ArrayList<Pair>();
-        List<Pair> localVarCollectionQueryParams = new ArrayList<Pair>();
-
-        Map<String, String> localVarHeaderParams = new HashMap<String, String>();
-
-        Map<String, Object> localVarFormParams = new HashMap<String, Object>();
-
-        final String[] localVarAccepts = {
-            "*/*"
-        };
-        final String localVarAccept = apiClient.selectHeaderAccept(localVarAccepts);
-        if (localVarAccept != null) localVarHeaderParams.put("Accept", localVarAccept);
-
-        final String[] localVarContentTypes = {
-            
-        };
-        final String localVarContentType = apiClient.selectHeaderContentType(localVarContentTypes);
-        localVarHeaderParams.put("Content-Type", localVarContentType);
-
-        if(progressListener != null) {
-            apiClient.getHttpClient().networkInterceptors().add(new com.squareup.okhttp.Interceptor() {
-                @Override
-                public com.squareup.okhttp.Response intercept(Chain chain) throws IOException {
-                    com.squareup.okhttp.Response originalResponse = chain.proceed(chain.request());
-                    return originalResponse.newBuilder()
-                    .body(new ProgressResponseBody(originalResponse.body(), progressListener))
-                    .build();
-                }
-            });
-        }
-
-        String[] localVarAuthNames = new String[] { "bearerAuth" };
-        return apiClient.buildCall(localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarFormParams, localVarAuthNames, progressRequestListener);
-    }
-    
-    @SuppressWarnings("rawtypes")
-    private com.squareup.okhttp.Call findAllValidateBeforeCall(Long id, Long databaseId, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
-        // verify the required parameter 'id' is set
-        if (id == null) {
-            throw new ApiException("Missing the required parameter 'id' when calling findAll(Async)");
-        }
-        // verify the required parameter 'databaseId' is set
-        if (databaseId == null) {
-            throw new ApiException("Missing the required parameter 'databaseId' when calling findAll(Async)");
-        }
-        
-        com.squareup.okhttp.Call call = findAllCall(id, databaseId, progressListener, progressRequestListener);
-        return call;
-
-        
-        
-        
-        
-    }
-
-    /**
-     * Find all views
-     * 
-     * @param id  (required)
-     * @param databaseId  (required)
-     * @return List&lt;ViewBriefDto&gt;
-     * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
-     */
-    public List<ViewBriefDto> findAll(Long id, Long databaseId) throws ApiException {
-        ApiResponse<List<ViewBriefDto>> resp = findAllWithHttpInfo(id, databaseId);
-        return resp.getData();
-    }
-
-    /**
-     * Find all views
-     * 
-     * @param id  (required)
-     * @param databaseId  (required)
-     * @return ApiResponse&lt;List&lt;ViewBriefDto&gt;&gt;
-     * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
-     */
-    public ApiResponse<List<ViewBriefDto>> findAllWithHttpInfo(Long id, Long databaseId) throws ApiException {
-        com.squareup.okhttp.Call call = findAllValidateBeforeCall(id, databaseId, null, null);
-        Type localVarReturnType = new TypeToken<List<ViewBriefDto>>(){}.getType();
-        return apiClient.execute(call, localVarReturnType);
-    }
-
-    /**
-     * Find all views (asynchronously)
-     * 
-     * @param id  (required)
-     * @param databaseId  (required)
-     * @param callback The callback to be executed when the API call finishes
-     * @return The request call
-     * @throws ApiException If fail to process the API call, e.g. serializing the request body object
-     */
-    public com.squareup.okhttp.Call findAllAsync(Long id, Long databaseId, final ApiCallback<List<ViewBriefDto>> callback) throws ApiException {
-
-        ProgressResponseBody.ProgressListener progressListener = null;
-        ProgressRequestBody.ProgressRequestListener progressRequestListener = null;
-
-        if (callback != null) {
-            progressListener = new ProgressResponseBody.ProgressListener() {
-                @Override
-                public void update(long bytesRead, long contentLength, boolean done) {
-                    callback.onDownloadProgress(bytesRead, contentLength, done);
-                }
-            };
-
-            progressRequestListener = new ProgressRequestBody.ProgressRequestListener() {
-                @Override
-                public void onRequestProgress(long bytesWritten, long contentLength, boolean done) {
-                    callback.onUploadProgress(bytesWritten, contentLength, done);
-                }
-            };
-        }
-
-        com.squareup.okhttp.Call call = findAllValidateBeforeCall(id, databaseId, progressListener, progressRequestListener);
-        Type localVarReturnType = new TypeToken<List<ViewBriefDto>>(){}.getType();
-        apiClient.executeAsync(call, localVarReturnType, callback);
-        return call;
-    }
-}
diff --git a/.java-stubs/src/main/java/io/swagger/client/auth/ApiKeyAuth.java b/.java-stubs/src/main/java/io/swagger/client/auth/ApiKeyAuth.java
deleted file mode 100644
index 5f828b277f..0000000000
--- a/.java-stubs/src/main/java/io/swagger/client/auth/ApiKeyAuth.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * Database Repository Container Service API
- * Service that manages the containers
- *
- * OpenAPI spec version: 1.1.0-alpha
- * Contact: andreas.rauber@tuwien.ac.at
- *
- * NOTE: This class is auto generated by the swagger code generator program.
- * https://github.com/swagger-api/swagger-codegen.git
- * Do not edit the class manually.
- */
-
-package io.swagger.client.auth;
-
-import io.swagger.client.Pair;
-
-import java.util.Map;
-import java.util.List;
-
-@javax.annotation.Generated(value = "io.swagger.codegen.v3.generators.java.JavaClientCodegen", date = "2023-02-12T11:48:18.502846+01:00[Europe/Vienna]")public class ApiKeyAuth implements Authentication {
-  private final String location;
-  private final String paramName;
-
-  private String apiKey;
-  private String apiKeyPrefix;
-
-  public ApiKeyAuth(String location, String paramName) {
-    this.location = location;
-    this.paramName = paramName;
-  }
-
-  public String getLocation() {
-    return location;
-  }
-
-  public String getParamName() {
-    return paramName;
-  }
-
-  public String getApiKey() {
-    return apiKey;
-  }
-
-  public void setApiKey(String apiKey) {
-    this.apiKey = apiKey;
-  }
-
-  public String getApiKeyPrefix() {
-    return apiKeyPrefix;
-  }
-
-  public void setApiKeyPrefix(String apiKeyPrefix) {
-    this.apiKeyPrefix = apiKeyPrefix;
-  }
-
-  @Override
-  public void applyToParams(List<Pair> queryParams, Map<String, String> headerParams) {
-    if (apiKey == null) {
-      return;
-    }
-    String value;
-    if (apiKeyPrefix != null) {
-      value = apiKeyPrefix + " " + apiKey;
-    } else {
-      value = apiKey;
-    }
-    if ("query".equals(location)) {
-      queryParams.add(new Pair(paramName, value));
-    } else if ("header".equals(location)) {
-      headerParams.put(paramName, value);
-    }
-  }
-}
diff --git a/.java-stubs/src/main/java/io/swagger/client/auth/Authentication.java b/.java-stubs/src/main/java/io/swagger/client/auth/Authentication.java
deleted file mode 100644
index a8b5052e6c..0000000000
--- a/.java-stubs/src/main/java/io/swagger/client/auth/Authentication.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * Database Repository Container Service API
- * Service that manages the containers
- *
- * OpenAPI spec version: 1.1.0-alpha
- * Contact: andreas.rauber@tuwien.ac.at
- *
- * NOTE: This class is auto generated by the swagger code generator program.
- * https://github.com/swagger-api/swagger-codegen.git
- * Do not edit the class manually.
- */
-
-package io.swagger.client.auth;
-
-import io.swagger.client.Pair;
-
-import java.util.Map;
-import java.util.List;
-
-public interface Authentication {
-    /**
-     * Apply authentication settings to header and query params.
-     *
-     * @param queryParams List of query parameters
-     * @param headerParams Map of header parameters
-     */
-    void applyToParams(List<Pair> queryParams, Map<String, String> headerParams);
-}
diff --git a/.java-stubs/src/main/java/io/swagger/client/auth/HttpBasicAuth.java b/.java-stubs/src/main/java/io/swagger/client/auth/HttpBasicAuth.java
deleted file mode 100644
index 9209b7ff8c..0000000000
--- a/.java-stubs/src/main/java/io/swagger/client/auth/HttpBasicAuth.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * Database Repository Container Service API
- * Service that manages the containers
- *
- * OpenAPI spec version: 1.1.0-alpha
- * Contact: andreas.rauber@tuwien.ac.at
- *
- * NOTE: This class is auto generated by the swagger code generator program.
- * https://github.com/swagger-api/swagger-codegen.git
- * Do not edit the class manually.
- */
-
-package io.swagger.client.auth;
-
-import io.swagger.client.Pair;
-
-import com.squareup.okhttp.Credentials;
-
-import java.util.Map;
-import java.util.List;
-
-import java.io.UnsupportedEncodingException;
-
-public class HttpBasicAuth implements Authentication {
-    private String username;
-    private String password;
-
-    public String getUsername() {
-        return username;
-    }
-
-    public void setUsername(String username) {
-        this.username = username;
-    }
-
-    public String getPassword() {
-        return password;
-    }
-
-    public void setPassword(String password) {
-        this.password = password;
-    }
-
-    @Override
-    public void applyToParams(List<Pair> queryParams, Map<String, String> headerParams) {
-        if (username == null && password == null) {
-            return;
-        }
-        headerParams.put("Authorization", Credentials.basic(
-            username == null ? "" : username,
-            password == null ? "" : password));
-    }
-}
diff --git a/.java-stubs/src/main/java/io/swagger/client/auth/OAuth.java b/.java-stubs/src/main/java/io/swagger/client/auth/OAuth.java
deleted file mode 100644
index 57164a16c8..0000000000
--- a/.java-stubs/src/main/java/io/swagger/client/auth/OAuth.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * Database Repository Container Service API
- * Service that manages the containers
- *
- * OpenAPI spec version: 1.1.0-alpha
- * Contact: andreas.rauber@tuwien.ac.at
- *
- * NOTE: This class is auto generated by the swagger code generator program.
- * https://github.com/swagger-api/swagger-codegen.git
- * Do not edit the class manually.
- */
-
-package io.swagger.client.auth;
-
-import io.swagger.client.Pair;
-
-import java.util.Map;
-import java.util.List;
-
-@javax.annotation.Generated(value = "io.swagger.codegen.v3.generators.java.JavaClientCodegen", date = "2023-02-12T11:48:18.502846+01:00[Europe/Vienna]")public class OAuth implements Authentication {
-  private String accessToken;
-
-  public String getAccessToken() {
-    return accessToken;
-  }
-
-  public void setAccessToken(String accessToken) {
-    this.accessToken = accessToken;
-  }
-
-  @Override
-  public void applyToParams(List<Pair> queryParams, Map<String, String> headerParams) {
-    if (accessToken != null) {
-      headerParams.put("Authorization", "Bearer " + accessToken);
-    }
-  }
-}
diff --git a/.java-stubs/src/main/java/io/swagger/client/auth/OAuthFlow.java b/.java-stubs/src/main/java/io/swagger/client/auth/OAuthFlow.java
deleted file mode 100644
index 28e8cf5768..0000000000
--- a/.java-stubs/src/main/java/io/swagger/client/auth/OAuthFlow.java
+++ /dev/null
@@ -1,17 +0,0 @@
-/*
- * Database Repository Container Service API
- * Service that manages the containers
- *
- * OpenAPI spec version: 1.1.0-alpha
- * Contact: andreas.rauber@tuwien.ac.at
- *
- * NOTE: This class is auto generated by the swagger code generator program.
- * https://github.com/swagger-api/swagger-codegen.git
- * Do not edit the class manually.
- */
-
-package io.swagger.client.auth;
-
-public enum OAuthFlow {
-    accessCode, implicit, password, application
-}
diff --git a/.java-stubs/src/main/java/io/swagger/client/model/ApiErrorDto.java b/.java-stubs/src/main/java/io/swagger/client/model/ApiErrorDto.java
deleted file mode 100644
index f41e594fe4..0000000000
--- a/.java-stubs/src/main/java/io/swagger/client/model/ApiErrorDto.java
+++ /dev/null
@@ -1,244 +0,0 @@
-/*
- * Database Repository Container Service API
- * Service that manages the containers
- *
- * OpenAPI spec version: 1.1.0-alpha
- * Contact: andreas.rauber@tuwien.ac.at
- *
- * NOTE: This class is auto generated by the swagger code generator program.
- * https://github.com/swagger-api/swagger-codegen.git
- * Do not edit the class manually.
- */
-
-package io.swagger.client.model;
-
-import java.util.Objects;
-import java.util.Arrays;
-import com.google.gson.TypeAdapter;
-import com.google.gson.annotations.JsonAdapter;
-import com.google.gson.annotations.SerializedName;
-import com.google.gson.stream.JsonReader;
-import com.google.gson.stream.JsonWriter;
-import io.swagger.v3.oas.annotations.media.Schema;
-import java.io.IOException;
-/**
- * ApiErrorDto
- */
-
-@javax.annotation.Generated(value = "io.swagger.codegen.v3.generators.java.JavaClientCodegen", date = "2023-02-12T11:48:18.502846+01:00[Europe/Vienna]")
-public class ApiErrorDto {
-  /**
-   * Gets or Sets status
-   */
-  @JsonAdapter(StatusEnum.Adapter.class)
-  public enum StatusEnum {
-    _100_CONTINUE("100 CONTINUE"),
-    _101_SWITCHING_PROTOCOLS("101 SWITCHING_PROTOCOLS"),
-    _102_PROCESSING("102 PROCESSING"),
-    _103_CHECKPOINT("103 CHECKPOINT"),
-    _200_OK("200 OK"),
-    _201_CREATED("201 CREATED"),
-    _202_ACCEPTED("202 ACCEPTED"),
-    _203_NON_AUTHORITATIVE_INFORMATION("203 NON_AUTHORITATIVE_INFORMATION"),
-    _204_NO_CONTENT("204 NO_CONTENT"),
-    _205_RESET_CONTENT("205 RESET_CONTENT"),
-    _206_PARTIAL_CONTENT("206 PARTIAL_CONTENT"),
-    _207_MULTI_STATUS("207 MULTI_STATUS"),
-    _208_ALREADY_REPORTED("208 ALREADY_REPORTED"),
-    _226_IM_USED("226 IM_USED"),
-    _300_MULTIPLE_CHOICES("300 MULTIPLE_CHOICES"),
-    _301_MOVED_PERMANENTLY("301 MOVED_PERMANENTLY"),
-    _302_FOUND("302 FOUND"),
-    _302_MOVED_TEMPORARILY("302 MOVED_TEMPORARILY"),
-    _303_SEE_OTHER("303 SEE_OTHER"),
-    _304_NOT_MODIFIED("304 NOT_MODIFIED"),
-    _305_USE_PROXY("305 USE_PROXY"),
-    _307_TEMPORARY_REDIRECT("307 TEMPORARY_REDIRECT"),
-    _308_PERMANENT_REDIRECT("308 PERMANENT_REDIRECT"),
-    _400_BAD_REQUEST("400 BAD_REQUEST"),
-    _401_UNAUTHORIZED("401 UNAUTHORIZED"),
-    _402_PAYMENT_REQUIRED("402 PAYMENT_REQUIRED"),
-    _403_FORBIDDEN("403 FORBIDDEN"),
-    _404_NOT_FOUND("404 NOT_FOUND"),
-    _405_METHOD_NOT_ALLOWED("405 METHOD_NOT_ALLOWED"),
-    _406_NOT_ACCEPTABLE("406 NOT_ACCEPTABLE"),
-    _407_PROXY_AUTHENTICATION_REQUIRED("407 PROXY_AUTHENTICATION_REQUIRED"),
-    _408_REQUEST_TIMEOUT("408 REQUEST_TIMEOUT"),
-    _409_CONFLICT("409 CONFLICT"),
-    _410_GONE("410 GONE"),
-    _411_LENGTH_REQUIRED("411 LENGTH_REQUIRED"),
-    _412_PRECONDITION_FAILED("412 PRECONDITION_FAILED"),
-    _413_PAYLOAD_TOO_LARGE("413 PAYLOAD_TOO_LARGE"),
-    _413_REQUEST_ENTITY_TOO_LARGE("413 REQUEST_ENTITY_TOO_LARGE"),
-    _414_URI_TOO_LONG("414 URI_TOO_LONG"),
-    _414_REQUEST_URI_TOO_LONG("414 REQUEST_URI_TOO_LONG"),
-    _415_UNSUPPORTED_MEDIA_TYPE("415 UNSUPPORTED_MEDIA_TYPE"),
-    _416_REQUESTED_RANGE_NOT_SATISFIABLE("416 REQUESTED_RANGE_NOT_SATISFIABLE"),
-    _417_EXPECTATION_FAILED("417 EXPECTATION_FAILED"),
-    _418_I_AM_A_TEAPOT("418 I_AM_A_TEAPOT"),
-    _419_INSUFFICIENT_SPACE_ON_RESOURCE("419 INSUFFICIENT_SPACE_ON_RESOURCE"),
-    _420_METHOD_FAILURE("420 METHOD_FAILURE"),
-    _421_DESTINATION_LOCKED("421 DESTINATION_LOCKED"),
-    _422_UNPROCESSABLE_ENTITY("422 UNPROCESSABLE_ENTITY"),
-    _423_LOCKED("423 LOCKED"),
-    _424_FAILED_DEPENDENCY("424 FAILED_DEPENDENCY"),
-    _425_TOO_EARLY("425 TOO_EARLY"),
-    _426_UPGRADE_REQUIRED("426 UPGRADE_REQUIRED"),
-    _428_PRECONDITION_REQUIRED("428 PRECONDITION_REQUIRED"),
-    _429_TOO_MANY_REQUESTS("429 TOO_MANY_REQUESTS"),
-    _431_REQUEST_HEADER_FIELDS_TOO_LARGE("431 REQUEST_HEADER_FIELDS_TOO_LARGE"),
-    _451_UNAVAILABLE_FOR_LEGAL_REASONS("451 UNAVAILABLE_FOR_LEGAL_REASONS"),
-    _500_INTERNAL_SERVER_ERROR("500 INTERNAL_SERVER_ERROR"),
-    _501_NOT_IMPLEMENTED("501 NOT_IMPLEMENTED"),
-    _502_BAD_GATEWAY("502 BAD_GATEWAY"),
-    _503_SERVICE_UNAVAILABLE("503 SERVICE_UNAVAILABLE"),
-    _504_GATEWAY_TIMEOUT("504 GATEWAY_TIMEOUT"),
-    _505_HTTP_VERSION_NOT_SUPPORTED("505 HTTP_VERSION_NOT_SUPPORTED"),
-    _506_VARIANT_ALSO_NEGOTIATES("506 VARIANT_ALSO_NEGOTIATES"),
-    _507_INSUFFICIENT_STORAGE("507 INSUFFICIENT_STORAGE"),
-    _508_LOOP_DETECTED("508 LOOP_DETECTED"),
-    _509_BANDWIDTH_LIMIT_EXCEEDED("509 BANDWIDTH_LIMIT_EXCEEDED"),
-    _510_NOT_EXTENDED("510 NOT_EXTENDED"),
-    _511_NETWORK_AUTHENTICATION_REQUIRED("511 NETWORK_AUTHENTICATION_REQUIRED");
-
-    private String value;
-
-    StatusEnum(String value) {
-      this.value = value;
-    }
-    public String getValue() {
-      return value;
-    }
-
-    @Override
-    public String toString() {
-      return String.valueOf(value);
-    }
-    public static StatusEnum fromValue(String input) {
-      for (StatusEnum b : StatusEnum.values()) {
-        if (b.value.equals(input)) {
-          return b;
-        }
-      }
-      return null;
-    }
-    public static class Adapter extends TypeAdapter<StatusEnum> {
-      @Override
-      public void write(final JsonWriter jsonWriter, final StatusEnum enumeration) throws IOException {
-        jsonWriter.value(String.valueOf(enumeration.getValue()));
-      }
-
-      @Override
-      public StatusEnum read(final JsonReader jsonReader) throws IOException {
-        Object value = jsonReader.nextString();
-        return StatusEnum.fromValue((String)(value));
-      }
-    }
-  }  @SerializedName("status")
-  private StatusEnum status = null;
-
-  @SerializedName("message")
-  private String message = null;
-
-  @SerializedName("code")
-  private String code = null;
-
-  public ApiErrorDto status(StatusEnum status) {
-    this.status = status;
-    return this;
-  }
-
-   /**
-   * Get status
-   * @return status
-  **/
-  @Schema(example = "NOT_FOUND", required = true, description = "")
-  public StatusEnum getStatus() {
-    return status;
-  }
-
-  public void setStatus(StatusEnum status) {
-    this.status = status;
-  }
-
-  public ApiErrorDto message(String message) {
-    this.message = message;
-    return this;
-  }
-
-   /**
-   * Get message
-   * @return message
-  **/
-  @Schema(example = "Could not find container", required = true, description = "")
-  public String getMessage() {
-    return message;
-  }
-
-  public void setMessage(String message) {
-    this.message = message;
-  }
-
-  public ApiErrorDto code(String code) {
-    this.code = code;
-    return this;
-  }
-
-   /**
-   * Get code
-   * @return code
-  **/
-  @Schema(example = "error.container.notfound", required = true, description = "")
-  public String getCode() {
-    return code;
-  }
-
-  public void setCode(String code) {
-    this.code = code;
-  }
-
-
-  @Override
-  public boolean equals(Object o) {
-    if (this == o) {
-      return true;
-    }
-    if (o == null || getClass() != o.getClass()) {
-      return false;
-    }
-    ApiErrorDto apiErrorDto = (ApiErrorDto) o;
-    return Objects.equals(this.status, apiErrorDto.status) &&
-        Objects.equals(this.message, apiErrorDto.message) &&
-        Objects.equals(this.code, apiErrorDto.code);
-  }
-
-  @Override
-  public int hashCode() {
-    return Objects.hash(status, message, code);
-  }
-
-
-  @Override
-  public String toString() {
-    StringBuilder sb = new StringBuilder();
-    sb.append("class ApiErrorDto {\n");
-    
-    sb.append("    status: ").append(toIndentedString(status)).append("\n");
-    sb.append("    message: ").append(toIndentedString(message)).append("\n");
-    sb.append("    code: ").append(toIndentedString(code)).append("\n");
-    sb.append("}");
-    return sb.toString();
-  }
-
-  /**
-   * Convert the given object to string with each line indented by 4 spaces
-   * (except the first line).
-   */
-  private String toIndentedString(Object o) {
-    if (o == null) {
-      return "null";
-    }
-    return o.toString().replace("\n", "\n    ");
-  }
-
-}
diff --git a/.java-stubs/src/main/java/io/swagger/client/model/ColumnCreateDto.java b/.java-stubs/src/main/java/io/swagger/client/model/ColumnCreateDto.java
deleted file mode 100644
index d3e868c8c8..0000000000
--- a/.java-stubs/src/main/java/io/swagger/client/model/ColumnCreateDto.java
+++ /dev/null
@@ -1,355 +0,0 @@
-/*
- * Database Repository Table Service API
- * Service that manages the tables
- *
- * OpenAPI spec version: 1.1.0-alpha
- * Contact: andreas.rauber@tuwien.ac.at
- *
- * NOTE: This class is auto generated by the swagger code generator program.
- * https://github.com/swagger-api/swagger-codegen.git
- * Do not edit the class manually.
- */
-
-package io.swagger.client.model;
-
-import java.util.Objects;
-import java.util.Arrays;
-import com.google.gson.TypeAdapter;
-import com.google.gson.annotations.JsonAdapter;
-import com.google.gson.annotations.SerializedName;
-import com.google.gson.stream.JsonReader;
-import com.google.gson.stream.JsonWriter;
-import io.swagger.v3.oas.annotations.media.Schema;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.List;
-/**
- * ColumnCreateDto
- */
-
-public class ColumnCreateDto {
-  @SerializedName("name")
-  private String name = null;
-
-  /**
-   * Gets or Sets type
-   */
-  @JsonAdapter(TypeEnum.Adapter.class)
-  public enum TypeEnum {
-    ENUM("enum"),
-    NUMBER("number"),
-    DECIMAL("decimal"),
-    STRING("string"),
-    TEXT("text"),
-    BOOLEAN("boolean"),
-    DATE("date"),
-    TIMESTAMP("timestamp"),
-    BLOB("blob");
-
-    private String value;
-
-    TypeEnum(String value) {
-      this.value = value;
-    }
-    public String getValue() {
-      return value;
-    }
-
-    @Override
-    public String toString() {
-      return String.valueOf(value);
-    }
-    public static TypeEnum fromValue(String input) {
-      for (TypeEnum b : TypeEnum.values()) {
-        if (b.value.equals(input)) {
-          return b;
-        }
-      }
-      return null;
-    }
-    public static class Adapter extends TypeAdapter<TypeEnum> {
-      @Override
-      public void write(final JsonWriter jsonWriter, final TypeEnum enumeration) throws IOException {
-        jsonWriter.value(String.valueOf(enumeration.getValue()));
-      }
-
-      @Override
-      public TypeEnum read(final JsonReader jsonReader) throws IOException {
-        Object value = jsonReader.nextString();
-        return TypeEnum.fromValue((String)(value));
-      }
-    }
-  }  @SerializedName("type")
-  private TypeEnum type = null;
-
-  @SerializedName("dfid")
-  private Long dfid = null;
-
-  @SerializedName("unique")
-  private Boolean unique = null;
-
-  @SerializedName("references")
-  private String references = null;
-
-  @SerializedName("primary_key")
-  private Boolean primaryKey = null;
-
-  @SerializedName("null_allowed")
-  private Boolean nullAllowed = null;
-
-  @SerializedName("check_expression")
-  private String checkExpression = null;
-
-  @SerializedName("foreign_key")
-  private String foreignKey = null;
-
-  @SerializedName("enum_values")
-  private List<String> enumValues = null;
-
-  public ColumnCreateDto name(String name) {
-    this.name = name;
-    return this;
-  }
-
-   /**
-   * Get name
-   * @return name
-  **/
-  @Schema(example = "Date", required = true, description = "")
-  public String getName() {
-    return name;
-  }
-
-  public void setName(String name) {
-    this.name = name;
-  }
-
-  public ColumnCreateDto type(TypeEnum type) {
-    this.type = type;
-    return this;
-  }
-
-   /**
-   * Get type
-   * @return type
-  **/
-  @Schema(example = "string", required = true, description = "")
-  public TypeEnum getType() {
-    return type;
-  }
-
-  public void setType(TypeEnum type) {
-    this.type = type;
-  }
-
-  public ColumnCreateDto dfid(Long dfid) {
-    this.dfid = dfid;
-    return this;
-  }
-
-   /**
-   * date format id
-   * @return dfid
-  **/
-  @Schema(description = "date format id")
-  public Long getDfid() {
-    return dfid;
-  }
-
-  public void setDfid(Long dfid) {
-    this.dfid = dfid;
-  }
-
-  public ColumnCreateDto unique(Boolean unique) {
-    this.unique = unique;
-    return this;
-  }
-
-   /**
-   * Get unique
-   * @return unique
-  **/
-  @Schema(example = "false", required = true, description = "")
-  public Boolean isUnique() {
-    return unique;
-  }
-
-  public void setUnique(Boolean unique) {
-    this.unique = unique;
-  }
-
-  public ColumnCreateDto references(String references) {
-    this.references = references;
-    return this;
-  }
-
-   /**
-   * foreign key reference, only considered when foreignKey !&#x3D; null
-   * @return references
-  **/
-  @Schema(description = "foreign key reference, only considered when foreignKey != null")
-  public String getReferences() {
-    return references;
-  }
-
-  public void setReferences(String references) {
-    this.references = references;
-  }
-
-  public ColumnCreateDto primaryKey(Boolean primaryKey) {
-    this.primaryKey = primaryKey;
-    return this;
-  }
-
-   /**
-   * Get primaryKey
-   * @return primaryKey
-  **/
-  @Schema(example = "false", required = true, description = "")
-  public Boolean isPrimaryKey() {
-    return primaryKey;
-  }
-
-  public void setPrimaryKey(Boolean primaryKey) {
-    this.primaryKey = primaryKey;
-  }
-
-  public ColumnCreateDto nullAllowed(Boolean nullAllowed) {
-    this.nullAllowed = nullAllowed;
-    return this;
-  }
-
-   /**
-   * Get nullAllowed
-   * @return nullAllowed
-  **/
-  @Schema(example = "true", required = true, description = "")
-  public Boolean isNullAllowed() {
-    return nullAllowed;
-  }
-
-  public void setNullAllowed(Boolean nullAllowed) {
-    this.nullAllowed = nullAllowed;
-  }
-
-  public ColumnCreateDto checkExpression(String checkExpression) {
-    this.checkExpression = checkExpression;
-    return this;
-  }
-
-   /**
-   * check constraint
-   * @return checkExpression
-  **/
-  @Schema(example = "id > 0", description = "check constraint")
-  public String getCheckExpression() {
-    return checkExpression;
-  }
-
-  public void setCheckExpression(String checkExpression) {
-    this.checkExpression = checkExpression;
-  }
-
-  public ColumnCreateDto foreignKey(String foreignKey) {
-    this.foreignKey = foreignKey;
-    return this;
-  }
-
-   /**
-   * Get foreignKey
-   * @return foreignKey
-  **/
-  @Schema(description = "")
-  public String getForeignKey() {
-    return foreignKey;
-  }
-
-  public void setForeignKey(String foreignKey) {
-    this.foreignKey = foreignKey;
-  }
-
-  public ColumnCreateDto enumValues(List<String> enumValues) {
-    this.enumValues = enumValues;
-    return this;
-  }
-
-  public ColumnCreateDto addEnumValuesItem(String enumValuesItem) {
-    if (this.enumValues == null) {
-      this.enumValues = new ArrayList<String>();
-    }
-    this.enumValues.add(enumValuesItem);
-    return this;
-  }
-
-   /**
-   * enum values, only considered when type &#x3D; ENUM
-   * @return enumValues
-  **/
-  @Schema(description = "enum values, only considered when type = ENUM")
-  public List<String> getEnumValues() {
-    return enumValues;
-  }
-
-  public void setEnumValues(List<String> enumValues) {
-    this.enumValues = enumValues;
-  }
-
-
-  @Override
-  public boolean equals(Object o) {
-    if (this == o) {
-      return true;
-    }
-    if (o == null || getClass() != o.getClass()) {
-      return false;
-    }
-    ColumnCreateDto columnCreateDto = (ColumnCreateDto) o;
-    return Objects.equals(this.name, columnCreateDto.name) &&
-        Objects.equals(this.type, columnCreateDto.type) &&
-        Objects.equals(this.dfid, columnCreateDto.dfid) &&
-        Objects.equals(this.unique, columnCreateDto.unique) &&
-        Objects.equals(this.references, columnCreateDto.references) &&
-        Objects.equals(this.primaryKey, columnCreateDto.primaryKey) &&
-        Objects.equals(this.nullAllowed, columnCreateDto.nullAllowed) &&
-        Objects.equals(this.checkExpression, columnCreateDto.checkExpression) &&
-        Objects.equals(this.foreignKey, columnCreateDto.foreignKey) &&
-        Objects.equals(this.enumValues, columnCreateDto.enumValues);
-  }
-
-  @Override
-  public int hashCode() {
-    return Objects.hash(name, type, dfid, unique, references, primaryKey, nullAllowed, checkExpression, foreignKey, enumValues);
-  }
-
-
-  @Override
-  public String toString() {
-    StringBuilder sb = new StringBuilder();
-    sb.append("class ColumnCreateDto {\n");
-    
-    sb.append("    name: ").append(toIndentedString(name)).append("\n");
-    sb.append("    type: ").append(toIndentedString(type)).append("\n");
-    sb.append("    dfid: ").append(toIndentedString(dfid)).append("\n");
-    sb.append("    unique: ").append(toIndentedString(unique)).append("\n");
-    sb.append("    references: ").append(toIndentedString(references)).append("\n");
-    sb.append("    primaryKey: ").append(toIndentedString(primaryKey)).append("\n");
-    sb.append("    nullAllowed: ").append(toIndentedString(nullAllowed)).append("\n");
-    sb.append("    checkExpression: ").append(toIndentedString(checkExpression)).append("\n");
-    sb.append("    foreignKey: ").append(toIndentedString(foreignKey)).append("\n");
-    sb.append("    enumValues: ").append(toIndentedString(enumValues)).append("\n");
-    sb.append("}");
-    return sb.toString();
-  }
-
-  /**
-   * Convert the given object to string with each line indented by 4 spaces
-   * (except the first line).
-   */
-  private String toIndentedString(Object o) {
-    if (o == null) {
-      return "null";
-    }
-    return o.toString().replace("\n", "\n    ");
-  }
-
-}
diff --git a/.java-stubs/src/main/java/io/swagger/client/model/ColumnDto.java b/.java-stubs/src/main/java/io/swagger/client/model/ColumnDto.java
deleted file mode 100644
index cef0e04f2c..0000000000
--- a/.java-stubs/src/main/java/io/swagger/client/model/ColumnDto.java
+++ /dev/null
@@ -1,474 +0,0 @@
-/*
- * Database Repository Table Service API
- * Service that manages the tables
- *
- * OpenAPI spec version: 1.1.0-alpha
- * Contact: andreas.rauber@tuwien.ac.at
- *
- * NOTE: This class is auto generated by the swagger code generator program.
- * https://github.com/swagger-api/swagger-codegen.git
- * Do not edit the class manually.
- */
-
-package io.swagger.client.model;
-
-import java.util.Objects;
-import java.util.Arrays;
-import com.google.gson.TypeAdapter;
-import com.google.gson.annotations.JsonAdapter;
-import com.google.gson.annotations.SerializedName;
-import com.google.gson.stream.JsonReader;
-import com.google.gson.stream.JsonWriter;
-import io.swagger.client.model.ConceptDto;
-import io.swagger.client.model.ImageDateDto;
-import io.swagger.client.model.UnitDto;
-import io.swagger.v3.oas.annotations.media.Schema;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.List;
-/**
- * ColumnDto
- */
-
-@javax.annotation.Generated(value = "io.swagger.codegen.v3.generators.java.JavaClientCodegen", date = "2023-02-12T12:29:06.419178+01:00[Europe/Vienna]")
-public class ColumnDto {
-  @SerializedName("id")
-  private Long id = null;
-
-  @SerializedName("name")
-  private String name = null;
-
-  @SerializedName("concept")
-  private ConceptDto concept = null;
-
-  @SerializedName("unit")
-  private UnitDto unit = null;
-
-  @SerializedName("unique")
-  private Boolean unique = null;
-
-  @SerializedName("references")
-  private String references = null;
-
-  @SerializedName("internal_name")
-  private String internalName = null;
-
-  @SerializedName("date_format")
-  private ImageDateDto dateFormat = null;
-
-  @SerializedName("auto_generated")
-  private Boolean autoGenerated = null;
-
-  @SerializedName("is_primary_key")
-  private Boolean isPrimaryKey = null;
-
-  /**
-   * Gets or Sets columnType
-   */
-  @JsonAdapter(ColumnTypeEnum.Adapter.class)
-  public enum ColumnTypeEnum {
-    ENUM("enum"),
-    NUMBER("number"),
-    DECIMAL("decimal"),
-    STRING("string"),
-    TEXT("text"),
-    BOOLEAN("boolean"),
-    DATE("date"),
-    TIMESTAMP("timestamp"),
-    BLOB("blob");
-
-    private String value;
-
-    ColumnTypeEnum(String value) {
-      this.value = value;
-    }
-    public String getValue() {
-      return value;
-    }
-
-    @Override
-    public String toString() {
-      return String.valueOf(value);
-    }
-    public static ColumnTypeEnum fromValue(String input) {
-      for (ColumnTypeEnum b : ColumnTypeEnum.values()) {
-        if (b.value.equals(input)) {
-          return b;
-        }
-      }
-      return null;
-    }
-    public static class Adapter extends TypeAdapter<ColumnTypeEnum> {
-      @Override
-      public void write(final JsonWriter jsonWriter, final ColumnTypeEnum enumeration) throws IOException {
-        jsonWriter.value(String.valueOf(enumeration.getValue()));
-      }
-
-      @Override
-      public ColumnTypeEnum read(final JsonReader jsonReader) throws IOException {
-        Object value = jsonReader.nextString();
-        return ColumnTypeEnum.fromValue((String)(value));
-      }
-    }
-  }  @SerializedName("column_type")
-  private ColumnTypeEnum columnType = null;
-
-  @SerializedName("is_null_allowed")
-  private Boolean isNullAllowed = null;
-
-  @SerializedName("check_expression")
-  private String checkExpression = null;
-
-  @SerializedName("foreign_key")
-  private String foreignKey = null;
-
-  @SerializedName("enum_values")
-  private List<String> enumValues = null;
-
-  public ColumnDto id(Long id) {
-    this.id = id;
-    return this;
-  }
-
-   /**
-   * Get id
-   * @return id
-  **/
-  @Schema(required = true, description = "")
-  public Long getId() {
-    return id;
-  }
-
-  public void setId(Long id) {
-    this.id = id;
-  }
-
-  public ColumnDto name(String name) {
-    this.name = name;
-    return this;
-  }
-
-   /**
-   * Get name
-   * @return name
-  **/
-  @Schema(example = "Date", required = true, description = "")
-  public String getName() {
-    return name;
-  }
-
-  public void setName(String name) {
-    this.name = name;
-  }
-
-  public ColumnDto concept(ConceptDto concept) {
-    this.concept = concept;
-    return this;
-  }
-
-   /**
-   * Get concept
-   * @return concept
-  **/
-  @Schema(description = "")
-  public ConceptDto getConcept() {
-    return concept;
-  }
-
-  public void setConcept(ConceptDto concept) {
-    this.concept = concept;
-  }
-
-  public ColumnDto unit(UnitDto unit) {
-    this.unit = unit;
-    return this;
-  }
-
-   /**
-   * Get unit
-   * @return unit
-  **/
-  @Schema(description = "")
-  public UnitDto getUnit() {
-    return unit;
-  }
-
-  public void setUnit(UnitDto unit) {
-    this.unit = unit;
-  }
-
-  public ColumnDto unique(Boolean unique) {
-    this.unique = unique;
-    return this;
-  }
-
-   /**
-   * Get unique
-   * @return unique
-  **/
-  @Schema(example = "true", required = true, description = "")
-  public Boolean isUnique() {
-    return unique;
-  }
-
-  public void setUnique(Boolean unique) {
-    this.unique = unique;
-  }
-
-  public ColumnDto references(String references) {
-    this.references = references;
-    return this;
-  }
-
-   /**
-   * Get references
-   * @return references
-  **/
-  @Schema(description = "")
-  public String getReferences() {
-    return references;
-  }
-
-  public void setReferences(String references) {
-    this.references = references;
-  }
-
-  public ColumnDto internalName(String internalName) {
-    this.internalName = internalName;
-    return this;
-  }
-
-   /**
-   * Get internalName
-   * @return internalName
-  **/
-  @Schema(example = "mdb_date", required = true, description = "")
-  public String getInternalName() {
-    return internalName;
-  }
-
-  public void setInternalName(String internalName) {
-    this.internalName = internalName;
-  }
-
-  public ColumnDto dateFormat(ImageDateDto dateFormat) {
-    this.dateFormat = dateFormat;
-    return this;
-  }
-
-   /**
-   * Get dateFormat
-   * @return dateFormat
-  **/
-  @Schema(description = "")
-  public ImageDateDto getDateFormat() {
-    return dateFormat;
-  }
-
-  public void setDateFormat(ImageDateDto dateFormat) {
-    this.dateFormat = dateFormat;
-  }
-
-  public ColumnDto autoGenerated(Boolean autoGenerated) {
-    this.autoGenerated = autoGenerated;
-    return this;
-  }
-
-   /**
-   * Get autoGenerated
-   * @return autoGenerated
-  **/
-  @Schema(example = "false", required = true, description = "")
-  public Boolean isAutoGenerated() {
-    return autoGenerated;
-  }
-
-  public void setAutoGenerated(Boolean autoGenerated) {
-    this.autoGenerated = autoGenerated;
-  }
-
-  public ColumnDto isPrimaryKey(Boolean isPrimaryKey) {
-    this.isPrimaryKey = isPrimaryKey;
-    return this;
-  }
-
-   /**
-   * Get isPrimaryKey
-   * @return isPrimaryKey
-  **/
-  @Schema(example = "true", required = true, description = "")
-  public Boolean isIsPrimaryKey() {
-    return isPrimaryKey;
-  }
-
-  public void setIsPrimaryKey(Boolean isPrimaryKey) {
-    this.isPrimaryKey = isPrimaryKey;
-  }
-
-  public ColumnDto columnType(ColumnTypeEnum columnType) {
-    this.columnType = columnType;
-    return this;
-  }
-
-   /**
-   * Get columnType
-   * @return columnType
-  **/
-  @Schema(example = "string", required = true, description = "")
-  public ColumnTypeEnum getColumnType() {
-    return columnType;
-  }
-
-  public void setColumnType(ColumnTypeEnum columnType) {
-    this.columnType = columnType;
-  }
-
-  public ColumnDto isNullAllowed(Boolean isNullAllowed) {
-    this.isNullAllowed = isNullAllowed;
-    return this;
-  }
-
-   /**
-   * Get isNullAllowed
-   * @return isNullAllowed
-  **/
-  @Schema(example = "false", required = true, description = "")
-  public Boolean isIsNullAllowed() {
-    return isNullAllowed;
-  }
-
-  public void setIsNullAllowed(Boolean isNullAllowed) {
-    this.isNullAllowed = isNullAllowed;
-  }
-
-  public ColumnDto checkExpression(String checkExpression) {
-    this.checkExpression = checkExpression;
-    return this;
-  }
-
-   /**
-   * Get checkExpression
-   * @return checkExpression
-  **/
-  @Schema(description = "")
-  public String getCheckExpression() {
-    return checkExpression;
-  }
-
-  public void setCheckExpression(String checkExpression) {
-    this.checkExpression = checkExpression;
-  }
-
-  public ColumnDto foreignKey(String foreignKey) {
-    this.foreignKey = foreignKey;
-    return this;
-  }
-
-   /**
-   * Get foreignKey
-   * @return foreignKey
-  **/
-  @Schema(description = "")
-  public String getForeignKey() {
-    return foreignKey;
-  }
-
-  public void setForeignKey(String foreignKey) {
-    this.foreignKey = foreignKey;
-  }
-
-  public ColumnDto enumValues(List<String> enumValues) {
-    this.enumValues = enumValues;
-    return this;
-  }
-
-  public ColumnDto addEnumValuesItem(String enumValuesItem) {
-    if (this.enumValues == null) {
-      this.enumValues = new ArrayList<String>();
-    }
-    this.enumValues.add(enumValuesItem);
-    return this;
-  }
-
-   /**
-   * Get enumValues
-   * @return enumValues
-  **/
-  @Schema(description = "")
-  public List<String> getEnumValues() {
-    return enumValues;
-  }
-
-  public void setEnumValues(List<String> enumValues) {
-    this.enumValues = enumValues;
-  }
-
-
-  @Override
-  public boolean equals(Object o) {
-    if (this == o) {
-      return true;
-    }
-    if (o == null || getClass() != o.getClass()) {
-      return false;
-    }
-    ColumnDto columnDto = (ColumnDto) o;
-    return Objects.equals(this.id, columnDto.id) &&
-        Objects.equals(this.name, columnDto.name) &&
-        Objects.equals(this.concept, columnDto.concept) &&
-        Objects.equals(this.unit, columnDto.unit) &&
-        Objects.equals(this.unique, columnDto.unique) &&
-        Objects.equals(this.references, columnDto.references) &&
-        Objects.equals(this.internalName, columnDto.internalName) &&
-        Objects.equals(this.dateFormat, columnDto.dateFormat) &&
-        Objects.equals(this.autoGenerated, columnDto.autoGenerated) &&
-        Objects.equals(this.isPrimaryKey, columnDto.isPrimaryKey) &&
-        Objects.equals(this.columnType, columnDto.columnType) &&
-        Objects.equals(this.isNullAllowed, columnDto.isNullAllowed) &&
-        Objects.equals(this.checkExpression, columnDto.checkExpression) &&
-        Objects.equals(this.foreignKey, columnDto.foreignKey) &&
-        Objects.equals(this.enumValues, columnDto.enumValues);
-  }
-
-  @Override
-  public int hashCode() {
-    return Objects.hash(id, name, concept, unit, unique, references, internalName, dateFormat, autoGenerated, isPrimaryKey, columnType, isNullAllowed, checkExpression, foreignKey, enumValues);
-  }
-
-
-  @Override
-  public String toString() {
-    StringBuilder sb = new StringBuilder();
-    sb.append("class ColumnDto {\n");
-    
-    sb.append("    id: ").append(toIndentedString(id)).append("\n");
-    sb.append("    name: ").append(toIndentedString(name)).append("\n");
-    sb.append("    concept: ").append(toIndentedString(concept)).append("\n");
-    sb.append("    unit: ").append(toIndentedString(unit)).append("\n");
-    sb.append("    unique: ").append(toIndentedString(unique)).append("\n");
-    sb.append("    references: ").append(toIndentedString(references)).append("\n");
-    sb.append("    internalName: ").append(toIndentedString(internalName)).append("\n");
-    sb.append("    dateFormat: ").append(toIndentedString(dateFormat)).append("\n");
-    sb.append("    autoGenerated: ").append(toIndentedString(autoGenerated)).append("\n");
-    sb.append("    isPrimaryKey: ").append(toIndentedString(isPrimaryKey)).append("\n");
-    sb.append("    columnType: ").append(toIndentedString(columnType)).append("\n");
-    sb.append("    isNullAllowed: ").append(toIndentedString(isNullAllowed)).append("\n");
-    sb.append("    checkExpression: ").append(toIndentedString(checkExpression)).append("\n");
-    sb.append("    foreignKey: ").append(toIndentedString(foreignKey)).append("\n");
-    sb.append("    enumValues: ").append(toIndentedString(enumValues)).append("\n");
-    sb.append("}");
-    return sb.toString();
-  }
-
-  /**
-   * Convert the given object to string with each line indented by 4 spaces
-   * (except the first line).
-   */
-  private String toIndentedString(Object o) {
-    if (o == null) {
-      return "null";
-    }
-    return o.toString().replace("\n", "\n    ");
-  }
-
-}
diff --git a/.java-stubs/src/main/java/io/swagger/client/model/ColumnSemanticsUpdateDto.java b/.java-stubs/src/main/java/io/swagger/client/model/ColumnSemanticsUpdateDto.java
deleted file mode 100644
index 715a2b98ef..0000000000
--- a/.java-stubs/src/main/java/io/swagger/client/model/ColumnSemanticsUpdateDto.java
+++ /dev/null
@@ -1,114 +0,0 @@
-/*
- * Database Repository Table Service API
- * Service that manages the tables
- *
- * OpenAPI spec version: 1.1.0-alpha
- * Contact: andreas.rauber@tuwien.ac.at
- *
- * NOTE: This class is auto generated by the swagger code generator program.
- * https://github.com/swagger-api/swagger-codegen.git
- * Do not edit the class manually.
- */
-
-package io.swagger.client.model;
-
-import java.util.Objects;
-import java.util.Arrays;
-import com.google.gson.TypeAdapter;
-import com.google.gson.annotations.JsonAdapter;
-import com.google.gson.annotations.SerializedName;
-import com.google.gson.stream.JsonReader;
-import com.google.gson.stream.JsonWriter;
-import io.swagger.v3.oas.annotations.media.Schema;
-import java.io.IOException;
-/**
- * ColumnSemanticsUpdateDto
- */
-
-@javax.annotation.Generated(value = "io.swagger.codegen.v3.generators.java.JavaClientCodegen", date = "2023-02-12T12:29:06.419178+01:00[Europe/Vienna]")
-public class ColumnSemanticsUpdateDto {
-  @SerializedName("concept_uri")
-  private String conceptUri = null;
-
-  @SerializedName("unit_uri")
-  private String unitUri = null;
-
-  public ColumnSemanticsUpdateDto conceptUri(String conceptUri) {
-    this.conceptUri = conceptUri;
-    return this;
-  }
-
-   /**
-   * Get conceptUri
-   * @return conceptUri
-  **/
-  @Schema(description = "")
-  public String getConceptUri() {
-    return conceptUri;
-  }
-
-  public void setConceptUri(String conceptUri) {
-    this.conceptUri = conceptUri;
-  }
-
-  public ColumnSemanticsUpdateDto unitUri(String unitUri) {
-    this.unitUri = unitUri;
-    return this;
-  }
-
-   /**
-   * Get unitUri
-   * @return unitUri
-  **/
-  @Schema(description = "")
-  public String getUnitUri() {
-    return unitUri;
-  }
-
-  public void setUnitUri(String unitUri) {
-    this.unitUri = unitUri;
-  }
-
-
-  @Override
-  public boolean equals(Object o) {
-    if (this == o) {
-      return true;
-    }
-    if (o == null || getClass() != o.getClass()) {
-      return false;
-    }
-    ColumnSemanticsUpdateDto columnSemanticsUpdateDto = (ColumnSemanticsUpdateDto) o;
-    return Objects.equals(this.conceptUri, columnSemanticsUpdateDto.conceptUri) &&
-        Objects.equals(this.unitUri, columnSemanticsUpdateDto.unitUri);
-  }
-
-  @Override
-  public int hashCode() {
-    return Objects.hash(conceptUri, unitUri);
-  }
-
-
-  @Override
-  public String toString() {
-    StringBuilder sb = new StringBuilder();
-    sb.append("class ColumnSemanticsUpdateDto {\n");
-    
-    sb.append("    conceptUri: ").append(toIndentedString(conceptUri)).append("\n");
-    sb.append("    unitUri: ").append(toIndentedString(unitUri)).append("\n");
-    sb.append("}");
-    return sb.toString();
-  }
-
-  /**
-   * Convert the given object to string with each line indented by 4 spaces
-   * (except the first line).
-   */
-  private String toIndentedString(Object o) {
-    if (o == null) {
-      return "null";
-    }
-    return o.toString().replace("\n", "\n    ");
-  }
-
-}
diff --git a/.java-stubs/src/main/java/io/swagger/client/model/ConceptDto.java b/.java-stubs/src/main/java/io/swagger/client/model/ConceptDto.java
deleted file mode 100644
index d678ca104b..0000000000
--- a/.java-stubs/src/main/java/io/swagger/client/model/ConceptDto.java
+++ /dev/null
@@ -1,138 +0,0 @@
-/*
- * Database Repository Table Service API
- * Service that manages the tables
- *
- * OpenAPI spec version: 1.1.0-alpha
- * Contact: andreas.rauber@tuwien.ac.at
- *
- * NOTE: This class is auto generated by the swagger code generator program.
- * https://github.com/swagger-api/swagger-codegen.git
- * Do not edit the class manually.
- */
-
-package io.swagger.client.model;
-
-import java.util.Objects;
-import java.util.Arrays;
-import com.google.gson.TypeAdapter;
-import com.google.gson.annotations.JsonAdapter;
-import com.google.gson.annotations.SerializedName;
-import com.google.gson.stream.JsonReader;
-import com.google.gson.stream.JsonWriter;
-import io.swagger.v3.oas.annotations.media.Schema;
-import java.io.IOException;
-import org.threeten.bp.OffsetDateTime;
-/**
- * ConceptDto
- */
-
-@javax.annotation.Generated(value = "io.swagger.codegen.v3.generators.java.JavaClientCodegen", date = "2023-02-12T12:29:06.419178+01:00[Europe/Vienna]")
-public class ConceptDto {
-  @SerializedName("uri")
-  private String uri = null;
-
-  @SerializedName("name")
-  private String name = null;
-
-  @SerializedName("created")
-  private OffsetDateTime created = null;
-
-  public ConceptDto uri(String uri) {
-    this.uri = uri;
-    return this;
-  }
-
-   /**
-   * Get uri
-   * @return uri
-  **/
-  @Schema(required = true, description = "")
-  public String getUri() {
-    return uri;
-  }
-
-  public void setUri(String uri) {
-    this.uri = uri;
-  }
-
-  public ConceptDto name(String name) {
-    this.name = name;
-    return this;
-  }
-
-   /**
-   * Get name
-   * @return name
-  **/
-  @Schema(required = true, description = "")
-  public String getName() {
-    return name;
-  }
-
-  public void setName(String name) {
-    this.name = name;
-  }
-
-  public ConceptDto created(OffsetDateTime created) {
-    this.created = created;
-    return this;
-  }
-
-   /**
-   * Get created
-   * @return created
-  **/
-  @Schema(required = true, description = "")
-  public OffsetDateTime getCreated() {
-    return created;
-  }
-
-  public void setCreated(OffsetDateTime created) {
-    this.created = created;
-  }
-
-
-  @Override
-  public boolean equals(Object o) {
-    if (this == o) {
-      return true;
-    }
-    if (o == null || getClass() != o.getClass()) {
-      return false;
-    }
-    ConceptDto conceptDto = (ConceptDto) o;
-    return Objects.equals(this.uri, conceptDto.uri) &&
-        Objects.equals(this.name, conceptDto.name) &&
-        Objects.equals(this.created, conceptDto.created);
-  }
-
-  @Override
-  public int hashCode() {
-    return Objects.hash(uri, name, created);
-  }
-
-
-  @Override
-  public String toString() {
-    StringBuilder sb = new StringBuilder();
-    sb.append("class ConceptDto {\n");
-    
-    sb.append("    uri: ").append(toIndentedString(uri)).append("\n");
-    sb.append("    name: ").append(toIndentedString(name)).append("\n");
-    sb.append("    created: ").append(toIndentedString(created)).append("\n");
-    sb.append("}");
-    return sb.toString();
-  }
-
-  /**
-   * Convert the given object to string with each line indented by 4 spaces
-   * (except the first line).
-   */
-  private String toIndentedString(Object o) {
-    if (o == null) {
-      return "null";
-    }
-    return o.toString().replace("\n", "\n    ");
-  }
-
-}
diff --git a/.java-stubs/src/main/java/io/swagger/client/model/ContainerBriefDto.java b/.java-stubs/src/main/java/io/swagger/client/model/ContainerBriefDto.java
deleted file mode 100644
index 565aac85e7..0000000000
--- a/.java-stubs/src/main/java/io/swagger/client/model/ContainerBriefDto.java
+++ /dev/null
@@ -1,208 +0,0 @@
-/*
- * Database Repository Container Service API
- * Service that manages the containers
- *
- * OpenAPI spec version: 1.1.0-alpha
- * Contact: andreas.rauber@tuwien.ac.at
- *
- * NOTE: This class is auto generated by the swagger code generator program.
- * https://github.com/swagger-api/swagger-codegen.git
- * Do not edit the class manually.
- */
-
-package io.swagger.client.model;
-
-import java.util.Objects;
-import java.util.Arrays;
-import com.google.gson.TypeAdapter;
-import com.google.gson.annotations.JsonAdapter;
-import com.google.gson.annotations.SerializedName;
-import com.google.gson.stream.JsonReader;
-import com.google.gson.stream.JsonWriter;
-import io.swagger.client.model.UserBriefDto;
-import io.swagger.v3.oas.annotations.media.Schema;
-import java.io.IOException;
-import org.threeten.bp.OffsetDateTime;
-/**
- * ContainerBriefDto
- */
-
-@javax.annotation.Generated(value = "io.swagger.codegen.v3.generators.java.JavaClientCodegen", date = "2023-02-12T11:48:18.502846+01:00[Europe/Vienna]")
-public class ContainerBriefDto {
-  @SerializedName("id")
-  private Long id = null;
-
-  @SerializedName("hash")
-  private String hash = null;
-
-  @SerializedName("name")
-  private String name = null;
-
-  @SerializedName("creator")
-  private UserBriefDto creator = null;
-
-  @SerializedName("created")
-  private OffsetDateTime created = null;
-
-  @SerializedName("internal_name")
-  private String internalName = null;
-
-  public ContainerBriefDto id(Long id) {
-    this.id = id;
-    return this;
-  }
-
-   /**
-   * Get id
-   * @return id
-  **/
-  @Schema(required = true, description = "")
-  public Long getId() {
-    return id;
-  }
-
-  public void setId(Long id) {
-    this.id = id;
-  }
-
-  public ContainerBriefDto hash(String hash) {
-    this.hash = hash;
-    return this;
-  }
-
-   /**
-   * Get hash
-   * @return hash
-  **/
-  @Schema(example = "f829dd8a884182d0da846f365dee1221fd16610a14c81b8f9f295ff162749e50", required = true, description = "")
-  public String getHash() {
-    return hash;
-  }
-
-  public void setHash(String hash) {
-    this.hash = hash;
-  }
-
-  public ContainerBriefDto name(String name) {
-    this.name = name;
-    return this;
-  }
-
-   /**
-   * Get name
-   * @return name
-  **/
-  @Schema(example = "Air Quality", required = true, description = "")
-  public String getName() {
-    return name;
-  }
-
-  public void setName(String name) {
-    this.name = name;
-  }
-
-  public ContainerBriefDto creator(UserBriefDto creator) {
-    this.creator = creator;
-    return this;
-  }
-
-   /**
-   * Get creator
-   * @return creator
-  **/
-  @Schema(description = "")
-  public UserBriefDto getCreator() {
-    return creator;
-  }
-
-  public void setCreator(UserBriefDto creator) {
-    this.creator = creator;
-  }
-
-  public ContainerBriefDto created(OffsetDateTime created) {
-    this.created = created;
-    return this;
-  }
-
-   /**
-   * Get created
-   * @return created
-  **/
-  @Schema(description = "")
-  public OffsetDateTime getCreated() {
-    return created;
-  }
-
-  public void setCreated(OffsetDateTime created) {
-    this.created = created;
-  }
-
-  public ContainerBriefDto internalName(String internalName) {
-    this.internalName = internalName;
-    return this;
-  }
-
-   /**
-   * Get internalName
-   * @return internalName
-  **/
-  @Schema(example = "air-quality", required = true, description = "")
-  public String getInternalName() {
-    return internalName;
-  }
-
-  public void setInternalName(String internalName) {
-    this.internalName = internalName;
-  }
-
-
-  @Override
-  public boolean equals(Object o) {
-    if (this == o) {
-      return true;
-    }
-    if (o == null || getClass() != o.getClass()) {
-      return false;
-    }
-    ContainerBriefDto containerBriefDto = (ContainerBriefDto) o;
-    return Objects.equals(this.id, containerBriefDto.id) &&
-        Objects.equals(this.hash, containerBriefDto.hash) &&
-        Objects.equals(this.name, containerBriefDto.name) &&
-        Objects.equals(this.creator, containerBriefDto.creator) &&
-        Objects.equals(this.created, containerBriefDto.created) &&
-        Objects.equals(this.internalName, containerBriefDto.internalName);
-  }
-
-  @Override
-  public int hashCode() {
-    return Objects.hash(id, hash, name, creator, created, internalName);
-  }
-
-
-  @Override
-  public String toString() {
-    StringBuilder sb = new StringBuilder();
-    sb.append("class ContainerBriefDto {\n");
-    
-    sb.append("    id: ").append(toIndentedString(id)).append("\n");
-    sb.append("    hash: ").append(toIndentedString(hash)).append("\n");
-    sb.append("    name: ").append(toIndentedString(name)).append("\n");
-    sb.append("    creator: ").append(toIndentedString(creator)).append("\n");
-    sb.append("    created: ").append(toIndentedString(created)).append("\n");
-    sb.append("    internalName: ").append(toIndentedString(internalName)).append("\n");
-    sb.append("}");
-    return sb.toString();
-  }
-
-  /**
-   * Convert the given object to string with each line indented by 4 spaces
-   * (except the first line).
-   */
-  private String toIndentedString(Object o) {
-    if (o == null) {
-      return "null";
-    }
-    return o.toString().replace("\n", "\n    ");
-  }
-
-}
diff --git a/.java-stubs/src/main/java/io/swagger/client/model/ContainerChangeDto.java b/.java-stubs/src/main/java/io/swagger/client/model/ContainerChangeDto.java
deleted file mode 100644
index f90bf25edc..0000000000
--- a/.java-stubs/src/main/java/io/swagger/client/model/ContainerChangeDto.java
+++ /dev/null
@@ -1,132 +0,0 @@
-/*
- * Database Repository Container Service API
- * Service that manages the containers
- *
- * OpenAPI spec version: 1.1.0-alpha
- * Contact: andreas.rauber@tuwien.ac.at
- *
- * NOTE: This class is auto generated by the swagger code generator program.
- * https://github.com/swagger-api/swagger-codegen.git
- * Do not edit the class manually.
- */
-
-package io.swagger.client.model;
-
-import java.util.Objects;
-import java.util.Arrays;
-import com.google.gson.TypeAdapter;
-import com.google.gson.annotations.JsonAdapter;
-import com.google.gson.annotations.SerializedName;
-import com.google.gson.stream.JsonReader;
-import com.google.gson.stream.JsonWriter;
-import io.swagger.v3.oas.annotations.media.Schema;
-import java.io.IOException;
-/**
- * ContainerChangeDto
- */
-
-@javax.annotation.Generated(value = "io.swagger.codegen.v3.generators.java.JavaClientCodegen", date = "2023-02-12T11:48:18.502846+01:00[Europe/Vienna]")
-public class ContainerChangeDto {
-  /**
-   * Gets or Sets action
-   */
-  @JsonAdapter(ActionEnum.Adapter.class)
-  public enum ActionEnum {
-    START("start"),
-    STOP("stop");
-
-    private String value;
-
-    ActionEnum(String value) {
-      this.value = value;
-    }
-    public String getValue() {
-      return value;
-    }
-
-    @Override
-    public String toString() {
-      return String.valueOf(value);
-    }
-    public static ActionEnum fromValue(String input) {
-      for (ActionEnum b : ActionEnum.values()) {
-        if (b.value.equals(input)) {
-          return b;
-        }
-      }
-      return null;
-    }
-    public static class Adapter extends TypeAdapter<ActionEnum> {
-      @Override
-      public void write(final JsonWriter jsonWriter, final ActionEnum enumeration) throws IOException {
-        jsonWriter.value(String.valueOf(enumeration.getValue()));
-      }
-
-      @Override
-      public ActionEnum read(final JsonReader jsonReader) throws IOException {
-        Object value = jsonReader.nextString();
-        return ActionEnum.fromValue((String)(value));
-      }
-    }
-  }  @SerializedName("action")
-  private ActionEnum action = null;
-
-  public ContainerChangeDto action(ActionEnum action) {
-    this.action = action;
-    return this;
-  }
-
-   /**
-   * Get action
-   * @return action
-  **/
-  @Schema(required = true, description = "")
-  public ActionEnum getAction() {
-    return action;
-  }
-
-  public void setAction(ActionEnum action) {
-    this.action = action;
-  }
-
-
-  @Override
-  public boolean equals(Object o) {
-    if (this == o) {
-      return true;
-    }
-    if (o == null || getClass() != o.getClass()) {
-      return false;
-    }
-    ContainerChangeDto containerChangeDto = (ContainerChangeDto) o;
-    return Objects.equals(this.action, containerChangeDto.action);
-  }
-
-  @Override
-  public int hashCode() {
-    return Objects.hash(action);
-  }
-
-
-  @Override
-  public String toString() {
-    StringBuilder sb = new StringBuilder();
-    sb.append("class ContainerChangeDto {\n");
-    
-    sb.append("    action: ").append(toIndentedString(action)).append("\n");
-    sb.append("}");
-    return sb.toString();
-  }
-
-  /**
-   * Convert the given object to string with each line indented by 4 spaces
-   * (except the first line).
-   */
-  private String toIndentedString(Object o) {
-    if (o == null) {
-      return "null";
-    }
-    return o.toString().replace("\n", "\n    ");
-  }
-
-}
diff --git a/.java-stubs/src/main/java/io/swagger/client/model/ContainerCreateRequestDto.java b/.java-stubs/src/main/java/io/swagger/client/model/ContainerCreateRequestDto.java
deleted file mode 100644
index 4291a9137e..0000000000
--- a/.java-stubs/src/main/java/io/swagger/client/model/ContainerCreateRequestDto.java
+++ /dev/null
@@ -1,137 +0,0 @@
-/*
- * Database Repository Container Service API
- * Service that manages the containers
- *
- * OpenAPI spec version: 1.1.0-alpha
- * Contact: andreas.rauber@tuwien.ac.at
- *
- * NOTE: This class is auto generated by the swagger code generator program.
- * https://github.com/swagger-api/swagger-codegen.git
- * Do not edit the class manually.
- */
-
-package io.swagger.client.model;
-
-import java.util.Objects;
-import java.util.Arrays;
-import com.google.gson.TypeAdapter;
-import com.google.gson.annotations.JsonAdapter;
-import com.google.gson.annotations.SerializedName;
-import com.google.gson.stream.JsonReader;
-import com.google.gson.stream.JsonWriter;
-import io.swagger.v3.oas.annotations.media.Schema;
-import java.io.IOException;
-/**
- * ContainerCreateRequestDto
- */
-
-@javax.annotation.Generated(value = "io.swagger.codegen.v3.generators.java.JavaClientCodegen", date = "2023-02-12T11:48:18.502846+01:00[Europe/Vienna]")
-public class ContainerCreateRequestDto {
-  @SerializedName("name")
-  private String name = null;
-
-  @SerializedName("repository")
-  private String repository = null;
-
-  @SerializedName("tag")
-  private String tag = null;
-
-  public ContainerCreateRequestDto name(String name) {
-    this.name = name;
-    return this;
-  }
-
-   /**
-   * Get name
-   * @return name
-  **/
-  @Schema(example = "Air Quality", required = true, description = "")
-  public String getName() {
-    return name;
-  }
-
-  public void setName(String name) {
-    this.name = name;
-  }
-
-  public ContainerCreateRequestDto repository(String repository) {
-    this.repository = repository;
-    return this;
-  }
-
-   /**
-   * Get repository
-   * @return repository
-  **/
-  @Schema(example = "mariadb", required = true, description = "")
-  public String getRepository() {
-    return repository;
-  }
-
-  public void setRepository(String repository) {
-    this.repository = repository;
-  }
-
-  public ContainerCreateRequestDto tag(String tag) {
-    this.tag = tag;
-    return this;
-  }
-
-   /**
-   * Get tag
-   * @return tag
-  **/
-  @Schema(example = "10.5", required = true, description = "")
-  public String getTag() {
-    return tag;
-  }
-
-  public void setTag(String tag) {
-    this.tag = tag;
-  }
-
-
-  @Override
-  public boolean equals(Object o) {
-    if (this == o) {
-      return true;
-    }
-    if (o == null || getClass() != o.getClass()) {
-      return false;
-    }
-    ContainerCreateRequestDto containerCreateRequestDto = (ContainerCreateRequestDto) o;
-    return Objects.equals(this.name, containerCreateRequestDto.name) &&
-        Objects.equals(this.repository, containerCreateRequestDto.repository) &&
-        Objects.equals(this.tag, containerCreateRequestDto.tag);
-  }
-
-  @Override
-  public int hashCode() {
-    return Objects.hash(name, repository, tag);
-  }
-
-
-  @Override
-  public String toString() {
-    StringBuilder sb = new StringBuilder();
-    sb.append("class ContainerCreateRequestDto {\n");
-    
-    sb.append("    name: ").append(toIndentedString(name)).append("\n");
-    sb.append("    repository: ").append(toIndentedString(repository)).append("\n");
-    sb.append("    tag: ").append(toIndentedString(tag)).append("\n");
-    sb.append("}");
-    return sb.toString();
-  }
-
-  /**
-   * Convert the given object to string with each line indented by 4 spaces
-   * (except the first line).
-   */
-  private String toIndentedString(Object o) {
-    if (o == null) {
-      return "null";
-    }
-    return o.toString().replace("\n", "\n    ");
-  }
-
-}
diff --git a/.java-stubs/src/main/java/io/swagger/client/model/ContainerDto.java b/.java-stubs/src/main/java/io/swagger/client/model/ContainerDto.java
deleted file mode 100644
index 4a27ce3b32..0000000000
--- a/.java-stubs/src/main/java/io/swagger/client/model/ContainerDto.java
+++ /dev/null
@@ -1,345 +0,0 @@
-/*
- * Database Repository Container Service API
- * Service that manages the containers
- *
- * OpenAPI spec version: 1.1.0-alpha
- * Contact: andreas.rauber@tuwien.ac.at
- *
- * NOTE: This class is auto generated by the swagger code generator program.
- * https://github.com/swagger-api/swagger-codegen.git
- * Do not edit the class manually.
- */
-
-package io.swagger.client.model;
-
-import java.util.Objects;
-import java.util.Arrays;
-import com.google.gson.TypeAdapter;
-import com.google.gson.annotations.JsonAdapter;
-import com.google.gson.annotations.SerializedName;
-import com.google.gson.stream.JsonReader;
-import com.google.gson.stream.JsonWriter;
-import io.swagger.client.model.DatabaseDto;
-import io.swagger.client.model.ImageBriefDto;
-import io.swagger.v3.oas.annotations.media.Schema;
-import java.io.IOException;
-import org.threeten.bp.OffsetDateTime;
-/**
- * ContainerDto
- */
-
-public class ContainerDto {
-  @SerializedName("id")
-  private Long id = null;
-
-  @SerializedName("hash")
-  private String hash = null;
-
-  @SerializedName("name")
-  private String name = null;
-
-  /**
-   * Gets or Sets state
-   */
-  @JsonAdapter(StateEnum.Adapter.class)
-  public enum StateEnum {
-    CREATED("created"),
-    RESTARTING("restarting"),
-    RUNNING("running"),
-    PAUSED("paused"),
-    EXITED("exited"),
-    DEAD("dead");
-
-    private String value;
-
-    StateEnum(String value) {
-      this.value = value;
-    }
-    public String getValue() {
-      return value;
-    }
-
-    @Override
-    public String toString() {
-      return String.valueOf(value);
-    }
-    public static StateEnum fromValue(String input) {
-      for (StateEnum b : StateEnum.values()) {
-        if (b.value.equals(input)) {
-          return b;
-        }
-      }
-      return null;
-    }
-    public static class Adapter extends TypeAdapter<StateEnum> {
-      @Override
-      public void write(final JsonWriter jsonWriter, final StateEnum enumeration) throws IOException {
-        jsonWriter.value(String.valueOf(enumeration.getValue()));
-      }
-
-      @Override
-      public StateEnum read(final JsonReader jsonReader) throws IOException {
-        Object value = jsonReader.nextString();
-        return StateEnum.fromValue((String)(value));
-      }
-    }
-  }  @SerializedName("state")
-  private StateEnum state = null;
-
-  @SerializedName("database")
-  private DatabaseDto database = null;
-
-  @SerializedName("image")
-  private ImageBriefDto image = null;
-
-  @SerializedName("port")
-  private Integer port = null;
-
-  @SerializedName("created")
-  private OffsetDateTime created = null;
-
-  @SerializedName("internal_name")
-  private String internalName = null;
-
-  @SerializedName("ip_address")
-  private String ipAddress = null;
-
-  public ContainerDto id(Long id) {
-    this.id = id;
-    return this;
-  }
-
-   /**
-   * Get id
-   * @return id
-  **/
-  @Schema(required = true, description = "")
-  public Long getId() {
-    return id;
-  }
-
-  public void setId(Long id) {
-    this.id = id;
-  }
-
-  public ContainerDto hash(String hash) {
-    this.hash = hash;
-    return this;
-  }
-
-   /**
-   * Get hash
-   * @return hash
-  **/
-  @Schema(example = "f829dd8a884182d0da846f365dee1221fd16610a14c81b8f9f295ff162749e50", required = true, description = "")
-  public String getHash() {
-    return hash;
-  }
-
-  public void setHash(String hash) {
-    this.hash = hash;
-  }
-
-  public ContainerDto name(String name) {
-    this.name = name;
-    return this;
-  }
-
-   /**
-   * Get name
-   * @return name
-  **/
-  @Schema(example = "Air Quality", required = true, description = "")
-  public String getName() {
-    return name;
-  }
-
-  public void setName(String name) {
-    this.name = name;
-  }
-
-  public ContainerDto state(StateEnum state) {
-    this.state = state;
-    return this;
-  }
-
-   /**
-   * Get state
-   * @return state
-  **/
-  @Schema(example = "running", description = "")
-  public StateEnum getState() {
-    return state;
-  }
-
-  public void setState(StateEnum state) {
-    this.state = state;
-  }
-
-  public ContainerDto database(DatabaseDto database) {
-    this.database = database;
-    return this;
-  }
-
-   /**
-   * Get database
-   * @return database
-  **/
-  @Schema(description = "")
-  public DatabaseDto getDatabase() {
-    return database;
-  }
-
-  public void setDatabase(DatabaseDto database) {
-    this.database = database;
-  }
-
-  public ContainerDto image(ImageBriefDto image) {
-    this.image = image;
-    return this;
-  }
-
-   /**
-   * Get image
-   * @return image
-  **/
-  @Schema(description = "")
-  public ImageBriefDto getImage() {
-    return image;
-  }
-
-  public void setImage(ImageBriefDto image) {
-    this.image = image;
-  }
-
-  public ContainerDto port(Integer port) {
-    this.port = port;
-    return this;
-  }
-
-   /**
-   * Get port
-   * @return port
-  **/
-  @Schema(description = "")
-  public Integer getPort() {
-    return port;
-  }
-
-  public void setPort(Integer port) {
-    this.port = port;
-  }
-
-  public ContainerDto created(OffsetDateTime created) {
-    this.created = created;
-    return this;
-  }
-
-   /**
-   * Get created
-   * @return created
-  **/
-  @Schema(example = "2021-03-12T15:26:21.678396092Z", required = true, description = "")
-  public OffsetDateTime getCreated() {
-    return created;
-  }
-
-  public void setCreated(OffsetDateTime created) {
-    this.created = created;
-  }
-
-  public ContainerDto internalName(String internalName) {
-    this.internalName = internalName;
-    return this;
-  }
-
-   /**
-   * Get internalName
-   * @return internalName
-  **/
-  @Schema(example = "air-quality", required = true, description = "")
-  public String getInternalName() {
-    return internalName;
-  }
-
-  public void setInternalName(String internalName) {
-    this.internalName = internalName;
-  }
-
-  public ContainerDto ipAddress(String ipAddress) {
-    this.ipAddress = ipAddress;
-    return this;
-  }
-
-   /**
-   * Get ipAddress
-   * @return ipAddress
-  **/
-  @Schema(description = "")
-  public String getIpAddress() {
-    return ipAddress;
-  }
-
-  public void setIpAddress(String ipAddress) {
-    this.ipAddress = ipAddress;
-  }
-
-
-  @Override
-  public boolean equals(Object o) {
-    if (this == o) {
-      return true;
-    }
-    if (o == null || getClass() != o.getClass()) {
-      return false;
-    }
-    ContainerDto containerDto = (ContainerDto) o;
-    return Objects.equals(this.id, containerDto.id) &&
-        Objects.equals(this.hash, containerDto.hash) &&
-        Objects.equals(this.name, containerDto.name) &&
-        Objects.equals(this.state, containerDto.state) &&
-        Objects.equals(this.database, containerDto.database) &&
-        Objects.equals(this.image, containerDto.image) &&
-        Objects.equals(this.port, containerDto.port) &&
-        Objects.equals(this.created, containerDto.created) &&
-        Objects.equals(this.internalName, containerDto.internalName) &&
-        Objects.equals(this.ipAddress, containerDto.ipAddress);
-  }
-
-  @Override
-  public int hashCode() {
-    return Objects.hash(id, hash, name, state, database, image, port, created, internalName, ipAddress);
-  }
-
-
-  @Override
-  public String toString() {
-    StringBuilder sb = new StringBuilder();
-    sb.append("class ContainerDto {\n");
-    
-    sb.append("    id: ").append(toIndentedString(id)).append("\n");
-    sb.append("    hash: ").append(toIndentedString(hash)).append("\n");
-    sb.append("    name: ").append(toIndentedString(name)).append("\n");
-    sb.append("    state: ").append(toIndentedString(state)).append("\n");
-    sb.append("    database: ").append(toIndentedString(database)).append("\n");
-    sb.append("    image: ").append(toIndentedString(image)).append("\n");
-    sb.append("    port: ").append(toIndentedString(port)).append("\n");
-    sb.append("    created: ").append(toIndentedString(created)).append("\n");
-    sb.append("    internalName: ").append(toIndentedString(internalName)).append("\n");
-    sb.append("    ipAddress: ").append(toIndentedString(ipAddress)).append("\n");
-    sb.append("}");
-    return sb.toString();
-  }
-
-  /**
-   * Convert the given object to string with each line indented by 4 spaces
-   * (except the first line).
-   */
-  private String toIndentedString(Object o) {
-    if (o == null) {
-      return "null";
-    }
-    return o.toString().replace("\n", "\n    ");
-  }
-
-}
diff --git a/.java-stubs/src/main/java/io/swagger/client/model/CreatorDto.java b/.java-stubs/src/main/java/io/swagger/client/model/CreatorDto.java
deleted file mode 100644
index b19e0b1905..0000000000
--- a/.java-stubs/src/main/java/io/swagger/client/model/CreatorDto.java
+++ /dev/null
@@ -1,230 +0,0 @@
-/*
- * Database Repository Container Service API
- * Service that manages the containers
- *
- * OpenAPI spec version: 1.1.0-alpha
- * Contact: andreas.rauber@tuwien.ac.at
- *
- * NOTE: This class is auto generated by the swagger code generator program.
- * https://github.com/swagger-api/swagger-codegen.git
- * Do not edit the class manually.
- */
-
-package io.swagger.client.model;
-
-import java.util.Objects;
-import java.util.Arrays;
-import com.google.gson.TypeAdapter;
-import com.google.gson.annotations.JsonAdapter;
-import com.google.gson.annotations.SerializedName;
-import com.google.gson.stream.JsonReader;
-import com.google.gson.stream.JsonWriter;
-import io.swagger.v3.oas.annotations.media.Schema;
-import java.io.IOException;
-import org.threeten.bp.OffsetDateTime;
-/**
- * CreatorDto
- */
-
-@javax.annotation.Generated(value = "io.swagger.codegen.v3.generators.java.JavaClientCodegen", date = "2023-02-12T11:48:18.502846+01:00[Europe/Vienna]")
-public class CreatorDto {
-  @SerializedName("id")
-  private Long id = null;
-
-  @SerializedName("firstname")
-  private String firstname = null;
-
-  @SerializedName("lastname")
-  private String lastname = null;
-
-  @SerializedName("affiliation")
-  private String affiliation = null;
-
-  @SerializedName("orcid")
-  private String orcid = null;
-
-  @SerializedName("created")
-  private OffsetDateTime created = null;
-
-  @SerializedName("lastModified")
-  private OffsetDateTime lastModified = null;
-
-  public CreatorDto id(Long id) {
-    this.id = id;
-    return this;
-  }
-
-   /**
-   * Get id
-   * @return id
-  **/
-  @Schema(required = true, description = "")
-  public Long getId() {
-    return id;
-  }
-
-  public void setId(Long id) {
-    this.id = id;
-  }
-
-  public CreatorDto firstname(String firstname) {
-    this.firstname = firstname;
-    return this;
-  }
-
-   /**
-   * Get firstname
-   * @return firstname
-  **/
-  @Schema(example = "Josiah", required = true, description = "")
-  public String getFirstname() {
-    return firstname;
-  }
-
-  public void setFirstname(String firstname) {
-    this.firstname = firstname;
-  }
-
-  public CreatorDto lastname(String lastname) {
-    this.lastname = lastname;
-    return this;
-  }
-
-   /**
-   * Get lastname
-   * @return lastname
-  **/
-  @Schema(example = "Carberry", required = true, description = "")
-  public String getLastname() {
-    return lastname;
-  }
-
-  public void setLastname(String lastname) {
-    this.lastname = lastname;
-  }
-
-  public CreatorDto affiliation(String affiliation) {
-    this.affiliation = affiliation;
-    return this;
-  }
-
-   /**
-   * Get affiliation
-   * @return affiliation
-  **/
-  @Schema(example = "Wesleyan University", description = "")
-  public String getAffiliation() {
-    return affiliation;
-  }
-
-  public void setAffiliation(String affiliation) {
-    this.affiliation = affiliation;
-  }
-
-  public CreatorDto orcid(String orcid) {
-    this.orcid = orcid;
-    return this;
-  }
-
-   /**
-   * Get orcid
-   * @return orcid
-  **/
-  @Schema(example = "0000-0002-1825-0097", description = "")
-  public String getOrcid() {
-    return orcid;
-  }
-
-  public void setOrcid(String orcid) {
-    this.orcid = orcid;
-  }
-
-  public CreatorDto created(OffsetDateTime created) {
-    this.created = created;
-    return this;
-  }
-
-   /**
-   * Get created
-   * @return created
-  **/
-  @Schema(description = "")
-  public OffsetDateTime getCreated() {
-    return created;
-  }
-
-  public void setCreated(OffsetDateTime created) {
-    this.created = created;
-  }
-
-  public CreatorDto lastModified(OffsetDateTime lastModified) {
-    this.lastModified = lastModified;
-    return this;
-  }
-
-   /**
-   * Get lastModified
-   * @return lastModified
-  **/
-  @Schema(description = "")
-  public OffsetDateTime getLastModified() {
-    return lastModified;
-  }
-
-  public void setLastModified(OffsetDateTime lastModified) {
-    this.lastModified = lastModified;
-  }
-
-
-  @Override
-  public boolean equals(Object o) {
-    if (this == o) {
-      return true;
-    }
-    if (o == null || getClass() != o.getClass()) {
-      return false;
-    }
-    CreatorDto creatorDto = (CreatorDto) o;
-    return Objects.equals(this.id, creatorDto.id) &&
-        Objects.equals(this.firstname, creatorDto.firstname) &&
-        Objects.equals(this.lastname, creatorDto.lastname) &&
-        Objects.equals(this.affiliation, creatorDto.affiliation) &&
-        Objects.equals(this.orcid, creatorDto.orcid) &&
-        Objects.equals(this.created, creatorDto.created) &&
-        Objects.equals(this.lastModified, creatorDto.lastModified);
-  }
-
-  @Override
-  public int hashCode() {
-    return Objects.hash(id, firstname, lastname, affiliation, orcid, created, lastModified);
-  }
-
-
-  @Override
-  public String toString() {
-    StringBuilder sb = new StringBuilder();
-    sb.append("class CreatorDto {\n");
-    
-    sb.append("    id: ").append(toIndentedString(id)).append("\n");
-    sb.append("    firstname: ").append(toIndentedString(firstname)).append("\n");
-    sb.append("    lastname: ").append(toIndentedString(lastname)).append("\n");
-    sb.append("    affiliation: ").append(toIndentedString(affiliation)).append("\n");
-    sb.append("    orcid: ").append(toIndentedString(orcid)).append("\n");
-    sb.append("    created: ").append(toIndentedString(created)).append("\n");
-    sb.append("    lastModified: ").append(toIndentedString(lastModified)).append("\n");
-    sb.append("}");
-    return sb.toString();
-  }
-
-  /**
-   * Convert the given object to string with each line indented by 4 spaces
-   * (except the first line).
-   */
-  private String toIndentedString(Object o) {
-    if (o == null) {
-      return "null";
-    }
-    return o.toString().replace("\n", "\n    ");
-  }
-
-}
diff --git a/.java-stubs/src/main/java/io/swagger/client/model/DatabaseAccessDto.java b/.java-stubs/src/main/java/io/swagger/client/model/DatabaseAccessDto.java
deleted file mode 100644
index e60f354fcf..0000000000
--- a/.java-stubs/src/main/java/io/swagger/client/model/DatabaseAccessDto.java
+++ /dev/null
@@ -1,181 +0,0 @@
-/*
- * Database Repository Container Service API
- * Service that manages the containers
- *
- * OpenAPI spec version: 1.1.0-alpha
- * Contact: andreas.rauber@tuwien.ac.at
- *
- * NOTE: This class is auto generated by the swagger code generator program.
- * https://github.com/swagger-api/swagger-codegen.git
- * Do not edit the class manually.
- */
-
-package io.swagger.client.model;
-
-import java.util.Objects;
-import java.util.Arrays;
-import com.google.gson.TypeAdapter;
-import com.google.gson.annotations.JsonAdapter;
-import com.google.gson.annotations.SerializedName;
-import com.google.gson.stream.JsonReader;
-import com.google.gson.stream.JsonWriter;
-import io.swagger.client.model.UserDto;
-import io.swagger.v3.oas.annotations.media.Schema;
-import java.io.IOException;
-import org.threeten.bp.OffsetDateTime;
-/**
- * DatabaseAccessDto
- */
-
-@javax.annotation.Generated(value = "io.swagger.codegen.v3.generators.java.JavaClientCodegen", date = "2023-02-12T11:48:18.502846+01:00[Europe/Vienna]")
-public class DatabaseAccessDto {
-  @SerializedName("user")
-  private UserDto user = null;
-
-  /**
-   * Gets or Sets type
-   */
-  @JsonAdapter(TypeEnum.Adapter.class)
-  public enum TypeEnum {
-    READ("read"),
-    WRITE_OWN("write_own"),
-    WRITE_ALL("write_all");
-
-    private String value;
-
-    TypeEnum(String value) {
-      this.value = value;
-    }
-    public String getValue() {
-      return value;
-    }
-
-    @Override
-    public String toString() {
-      return String.valueOf(value);
-    }
-    public static TypeEnum fromValue(String input) {
-      for (TypeEnum b : TypeEnum.values()) {
-        if (b.value.equals(input)) {
-          return b;
-        }
-      }
-      return null;
-    }
-    public static class Adapter extends TypeAdapter<TypeEnum> {
-      @Override
-      public void write(final JsonWriter jsonWriter, final TypeEnum enumeration) throws IOException {
-        jsonWriter.value(String.valueOf(enumeration.getValue()));
-      }
-
-      @Override
-      public TypeEnum read(final JsonReader jsonReader) throws IOException {
-        Object value = jsonReader.nextString();
-        return TypeEnum.fromValue((String)(value));
-      }
-    }
-  }  @SerializedName("type")
-  private TypeEnum type = null;
-
-  @SerializedName("created")
-  private OffsetDateTime created = null;
-
-  public DatabaseAccessDto user(UserDto user) {
-    this.user = user;
-    return this;
-  }
-
-   /**
-   * Get user
-   * @return user
-  **/
-  @Schema(required = true, description = "")
-  public UserDto getUser() {
-    return user;
-  }
-
-  public void setUser(UserDto user) {
-    this.user = user;
-  }
-
-  public DatabaseAccessDto type(TypeEnum type) {
-    this.type = type;
-    return this;
-  }
-
-   /**
-   * Get type
-   * @return type
-  **/
-  @Schema(required = true, description = "")
-  public TypeEnum getType() {
-    return type;
-  }
-
-  public void setType(TypeEnum type) {
-    this.type = type;
-  }
-
-  public DatabaseAccessDto created(OffsetDateTime created) {
-    this.created = created;
-    return this;
-  }
-
-   /**
-   * Get created
-   * @return created
-  **/
-  @Schema(description = "")
-  public OffsetDateTime getCreated() {
-    return created;
-  }
-
-  public void setCreated(OffsetDateTime created) {
-    this.created = created;
-  }
-
-
-  @Override
-  public boolean equals(Object o) {
-    if (this == o) {
-      return true;
-    }
-    if (o == null || getClass() != o.getClass()) {
-      return false;
-    }
-    DatabaseAccessDto databaseAccessDto = (DatabaseAccessDto) o;
-    return Objects.equals(this.user, databaseAccessDto.user) &&
-        Objects.equals(this.type, databaseAccessDto.type) &&
-        Objects.equals(this.created, databaseAccessDto.created);
-  }
-
-  @Override
-  public int hashCode() {
-    return Objects.hash(user, type, created);
-  }
-
-
-  @Override
-  public String toString() {
-    StringBuilder sb = new StringBuilder();
-    sb.append("class DatabaseAccessDto {\n");
-    
-    sb.append("    user: ").append(toIndentedString(user)).append("\n");
-    sb.append("    type: ").append(toIndentedString(type)).append("\n");
-    sb.append("    created: ").append(toIndentedString(created)).append("\n");
-    sb.append("}");
-    return sb.toString();
-  }
-
-  /**
-   * Convert the given object to string with each line indented by 4 spaces
-   * (except the first line).
-   */
-  private String toIndentedString(Object o) {
-    if (o == null) {
-      return "null";
-    }
-    return o.toString().replace("\n", "\n    ");
-  }
-
-}
diff --git a/.java-stubs/src/main/java/io/swagger/client/model/DatabaseBriefDto.java b/.java-stubs/src/main/java/io/swagger/client/model/DatabaseBriefDto.java
deleted file mode 100644
index e30e89a66d..0000000000
--- a/.java-stubs/src/main/java/io/swagger/client/model/DatabaseBriefDto.java
+++ /dev/null
@@ -1,271 +0,0 @@
-/*
- * Database Repository Database Service API
- * Service that manages the databases
- *
- * OpenAPI spec version: 1.1.0-alpha
- * Contact: andreas.rauber@tuwien.ac.at
- *
- * NOTE: This class is auto generated by the swagger code generator program.
- * https://github.com/swagger-api/swagger-codegen.git
- * Do not edit the class manually.
- */
-
-package io.swagger.client.model;
-
-import com.google.gson.annotations.SerializedName;
-import io.swagger.v3.oas.annotations.media.Schema;
-import org.threeten.bp.OffsetDateTime;
-
-import java.util.Objects;
-/**
- * DatabaseBriefDto
- */
-
-@javax.annotation.Generated(value = "io.swagger.codegen.v3.generators.java.JavaClientCodegen", date = "2023-02-12T12:04:35.418127+01:00[Europe/Vienna]")
-public class DatabaseBriefDto {
-  @SerializedName("id")
-  private Long id = null;
-
-  @SerializedName("name")
-  private String name = null;
-
-  @SerializedName("description")
-  private String description = null;
-
-  @SerializedName("identifier")
-  private IdentifierDto identifier = null;
-
-  @SerializedName("engine")
-  private String engine = null;
-
-  @SerializedName("container")
-  private ContainerBriefDto container = null;
-
-  @SerializedName("creator")
-  private UserBriefDto creator = null;
-
-  @SerializedName("created")
-  private OffsetDateTime created = null;
-
-  @SerializedName("is_public")
-  private Boolean isPublic = null;
-
-  public DatabaseBriefDto id(Long id) {
-    this.id = id;
-    return this;
-  }
-
-   /**
-   * Get id
-   * @return id
-  **/
-  @Schema(required = true, description = "")
-  public Long getId() {
-    return id;
-  }
-
-  public void setId(Long id) {
-    this.id = id;
-  }
-
-  public DatabaseBriefDto name(String name) {
-    this.name = name;
-    return this;
-  }
-
-   /**
-   * Get name
-   * @return name
-  **/
-  @Schema(example = "Air Quality", required = true, description = "")
-  public String getName() {
-    return name;
-  }
-
-  public void setName(String name) {
-    this.name = name;
-  }
-
-  public DatabaseBriefDto description(String description) {
-    this.description = description;
-    return this;
-  }
-
-   /**
-   * Get description
-   * @return description
-  **/
-  @Schema(example = "Air Quality in Austria", description = "")
-  public String getDescription() {
-    return description;
-  }
-
-  public void setDescription(String description) {
-    this.description = description;
-  }
-
-  public DatabaseBriefDto identifier(IdentifierDto identifier) {
-    this.identifier = identifier;
-    return this;
-  }
-
-   /**
-   * Get identifier
-   * @return identifier
-  **/
-  @Schema(description = "")
-  public IdentifierDto getIdentifier() {
-    return identifier;
-  }
-
-  public void setIdentifier(IdentifierDto identifier) {
-    this.identifier = identifier;
-  }
-
-  public DatabaseBriefDto engine(String engine) {
-    this.engine = engine;
-    return this;
-  }
-
-   /**
-   * Get engine
-   * @return engine
-  **/
-  @Schema(example = "mariadb:10.5", description = "")
-  public String getEngine() {
-    return engine;
-  }
-
-  public void setEngine(String engine) {
-    this.engine = engine;
-  }
-
-  public DatabaseBriefDto container(ContainerBriefDto container) {
-    this.container = container;
-    return this;
-  }
-
-   /**
-   * Get container
-   * @return container
-  **/
-  @Schema(description = "")
-  public ContainerBriefDto getContainer() {
-    return container;
-  }
-
-  public void setContainer(ContainerBriefDto container) {
-    this.container = container;
-  }
-
-  public DatabaseBriefDto creator(UserBriefDto creator) {
-    this.creator = creator;
-    return this;
-  }
-
-   /**
-   * Get creator
-   * @return creator
-  **/
-  @Schema(description = "")
-  public UserBriefDto getCreator() {
-    return creator;
-  }
-
-  public void setCreator(UserBriefDto creator) {
-    this.creator = creator;
-  }
-
-  public DatabaseBriefDto created(OffsetDateTime created) {
-    this.created = created;
-    return this;
-  }
-
-   /**
-   * Get created
-   * @return created
-  **/
-  @Schema(description = "")
-  public OffsetDateTime getCreated() {
-    return created;
-  }
-
-  public void setCreated(OffsetDateTime created) {
-    this.created = created;
-  }
-
-  public DatabaseBriefDto isPublic(Boolean isPublic) {
-    this.isPublic = isPublic;
-    return this;
-  }
-
-   /**
-   * Get isPublic
-   * @return isPublic
-  **/
-  @Schema(example = "true", description = "")
-  public Boolean isIsPublic() {
-    return isPublic;
-  }
-
-  public void setIsPublic(Boolean isPublic) {
-    this.isPublic = isPublic;
-  }
-
-
-  @Override
-  public boolean equals(Object o) {
-    if (this == o) {
-      return true;
-    }
-    if (o == null || getClass() != o.getClass()) {
-      return false;
-    }
-    DatabaseBriefDto databaseBriefDto = (DatabaseBriefDto) o;
-    return Objects.equals(this.id, databaseBriefDto.id) &&
-        Objects.equals(this.name, databaseBriefDto.name) &&
-        Objects.equals(this.description, databaseBriefDto.description) &&
-        Objects.equals(this.identifier, databaseBriefDto.identifier) &&
-        Objects.equals(this.engine, databaseBriefDto.engine) &&
-        Objects.equals(this.container, databaseBriefDto.container) &&
-        Objects.equals(this.creator, databaseBriefDto.creator) &&
-        Objects.equals(this.created, databaseBriefDto.created) &&
-        Objects.equals(this.isPublic, databaseBriefDto.isPublic);
-  }
-
-  @Override
-  public int hashCode() {
-    return Objects.hash(id, name, description, identifier, engine, container, creator, created, isPublic);
-  }
-
-
-  @Override
-  public String toString() {
-    StringBuilder sb = new StringBuilder();
-    sb.append("class DatabaseBriefDto {\n");
-    
-    sb.append("    id: ").append(toIndentedString(id)).append("\n");
-    sb.append("    name: ").append(toIndentedString(name)).append("\n");
-    sb.append("    description: ").append(toIndentedString(description)).append("\n");
-    sb.append("    identifier: ").append(toIndentedString(identifier)).append("\n");
-    sb.append("    engine: ").append(toIndentedString(engine)).append("\n");
-    sb.append("    container: ").append(toIndentedString(container)).append("\n");
-    sb.append("    creator: ").append(toIndentedString(creator)).append("\n");
-    sb.append("    created: ").append(toIndentedString(created)).append("\n");
-    sb.append("    isPublic: ").append(toIndentedString(isPublic)).append("\n");
-    sb.append("}");
-    return sb.toString();
-  }
-
-  /**
-   * Convert the given object to string with each line indented by 4 spaces
-   * (except the first line).
-   */
-  private String toIndentedString(Object o) {
-    if (o == null) {
-      return "null";
-    }
-    return o.toString().replace("\n", "\n    ");
-  }
-
-}
diff --git a/.java-stubs/src/main/java/io/swagger/client/model/DatabaseCreateDto.java b/.java-stubs/src/main/java/io/swagger/client/model/DatabaseCreateDto.java
deleted file mode 100644
index 829517bd30..0000000000
--- a/.java-stubs/src/main/java/io/swagger/client/model/DatabaseCreateDto.java
+++ /dev/null
@@ -1,109 +0,0 @@
-/*
- * Database Repository Database Service API
- * Service that manages the databases
- *
- * OpenAPI spec version: 1.1.0-alpha
- * Contact: andreas.rauber@tuwien.ac.at
- *
- * NOTE: This class is auto generated by the swagger code generator program.
- * https://github.com/swagger-api/swagger-codegen.git
- * Do not edit the class manually.
- */
-
-package io.swagger.client.model;
-
-import com.google.gson.annotations.SerializedName;
-import io.swagger.v3.oas.annotations.media.Schema;
-
-import java.util.Objects;
-
-/**
- * DatabaseCreateDto
- */
-
-public class DatabaseCreateDto {
-  @SerializedName("name")
-  private String name = null;
-
-  @SerializedName("is_public")
-  private Boolean isPublic = null;
-
-  public DatabaseCreateDto name(String name) {
-    this.name = name;
-    return this;
-  }
-
-   /**
-   * Get name
-   * @return name
-  **/
-  @Schema(example = "Air Quality", required = true, description = "")
-  public String getName() {
-    return name;
-  }
-
-  public void setName(String name) {
-    this.name = name;
-  }
-
-  public DatabaseCreateDto isPublic(Boolean isPublic) {
-    this.isPublic = isPublic;
-    return this;
-  }
-
-   /**
-   * Get isPublic
-   * @return isPublic
-  **/
-  @Schema(example = "true", required = true, description = "")
-  public Boolean isIsPublic() {
-    return isPublic;
-  }
-
-  public void setIsPublic(Boolean isPublic) {
-    this.isPublic = isPublic;
-  }
-
-
-  @Override
-  public boolean equals(Object o) {
-    if (this == o) {
-      return true;
-    }
-    if (o == null || getClass() != o.getClass()) {
-      return false;
-    }
-    DatabaseCreateDto databaseCreateDto = (DatabaseCreateDto) o;
-    return Objects.equals(this.name, databaseCreateDto.name) &&
-        Objects.equals(this.isPublic, databaseCreateDto.isPublic);
-  }
-
-  @Override
-  public int hashCode() {
-    return Objects.hash(name, isPublic);
-  }
-
-
-  @Override
-  public String toString() {
-    StringBuilder sb = new StringBuilder();
-    sb.append("class DatabaseCreateDto {\n");
-    
-    sb.append("    name: ").append(toIndentedString(name)).append("\n");
-    sb.append("    isPublic: ").append(toIndentedString(isPublic)).append("\n");
-    sb.append("}");
-    return sb.toString();
-  }
-
-  /**
-   * Convert the given object to string with each line indented by 4 spaces
-   * (except the first line).
-   */
-  private String toIndentedString(Object o) {
-    if (o == null) {
-      return "null";
-    }
-    return o.toString().replace("\n", "\n    ");
-  }
-
-}
diff --git a/.java-stubs/src/main/java/io/swagger/client/model/DatabaseDto.java b/.java-stubs/src/main/java/io/swagger/client/model/DatabaseDto.java
deleted file mode 100644
index 9c3d6eda0b..0000000000
--- a/.java-stubs/src/main/java/io/swagger/client/model/DatabaseDto.java
+++ /dev/null
@@ -1,392 +0,0 @@
-/*
- * Database Repository Container Service API
- * Service that manages the containers
- *
- * OpenAPI spec version: 1.1.0-alpha
- * Contact: andreas.rauber@tuwien.ac.at
- *
- * NOTE: This class is auto generated by the swagger code generator program.
- * https://github.com/swagger-api/swagger-codegen.git
- * Do not edit the class manually.
- */
-
-package io.swagger.client.model;
-
-import java.util.Objects;
-import java.util.Arrays;
-import com.google.gson.TypeAdapter;
-import com.google.gson.annotations.JsonAdapter;
-import com.google.gson.annotations.SerializedName;
-import com.google.gson.stream.JsonReader;
-import com.google.gson.stream.JsonWriter;
-import io.swagger.client.model.ContainerDto;
-import io.swagger.client.model.DatabaseAccessDto;
-import io.swagger.client.model.IdentifierDto;
-import io.swagger.client.model.ImageDto;
-import io.swagger.client.model.TableBriefDto;
-import io.swagger.client.model.UserBriefDto;
-import io.swagger.v3.oas.annotations.media.Schema;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.List;
-import org.threeten.bp.OffsetDateTime;
-/**
- * DatabaseDto
- */
-
-@javax.annotation.Generated(value = "io.swagger.codegen.v3.generators.java.JavaClientCodegen", date = "2023-02-12T11:48:18.502846+01:00[Europe/Vienna]")
-public class DatabaseDto {
-  @SerializedName("id")
-  private Long id = null;
-
-  @SerializedName("name")
-  private String name = null;
-
-  @SerializedName("creator")
-  private UserBriefDto creator = null;
-
-  @SerializedName("identifier")
-  private IdentifierDto identifier = null;
-
-  @SerializedName("description")
-  private String description = null;
-
-  @SerializedName("tables")
-  private List<TableBriefDto> tables = null;
-
-  @SerializedName("image")
-  private ImageDto image = null;
-
-  @SerializedName("container")
-  private ContainerDto container = null;
-
-  @SerializedName("accesses")
-  private List<DatabaseAccessDto> accesses = null;
-
-  @SerializedName("created")
-  private OffsetDateTime created = null;
-
-  @SerializedName("exchange_name")
-  private String exchangeName = null;
-
-  @SerializedName("internal_name")
-  private String internalName = null;
-
-  @SerializedName("is_public")
-  private Boolean isPublic = null;
-
-  public DatabaseDto id(Long id) {
-    this.id = id;
-    return this;
-  }
-
-   /**
-   * Get id
-   * @return id
-  **/
-  @Schema(required = true, description = "")
-  public Long getId() {
-    return id;
-  }
-
-  public void setId(Long id) {
-    this.id = id;
-  }
-
-  public DatabaseDto name(String name) {
-    this.name = name;
-    return this;
-  }
-
-   /**
-   * Get name
-   * @return name
-  **/
-  @Schema(example = "Air Quality", required = true, description = "")
-  public String getName() {
-    return name;
-  }
-
-  public void setName(String name) {
-    this.name = name;
-  }
-
-  public DatabaseDto creator(UserBriefDto creator) {
-    this.creator = creator;
-    return this;
-  }
-
-   /**
-   * Get creator
-   * @return creator
-  **/
-  @Schema(required = true, description = "")
-  public UserBriefDto getCreator() {
-    return creator;
-  }
-
-  public void setCreator(UserBriefDto creator) {
-    this.creator = creator;
-  }
-
-  public DatabaseDto identifier(IdentifierDto identifier) {
-    this.identifier = identifier;
-    return this;
-  }
-
-   /**
-   * Get identifier
-   * @return identifier
-  **/
-  @Schema(description = "")
-  public IdentifierDto getIdentifier() {
-    return identifier;
-  }
-
-  public void setIdentifier(IdentifierDto identifier) {
-    this.identifier = identifier;
-  }
-
-  public DatabaseDto description(String description) {
-    this.description = description;
-    return this;
-  }
-
-   /**
-   * Get description
-   * @return description
-  **/
-  @Schema(example = "Weather Australia 2009-2021", description = "")
-  public String getDescription() {
-    return description;
-  }
-
-  public void setDescription(String description) {
-    this.description = description;
-  }
-
-  public DatabaseDto tables(List<TableBriefDto> tables) {
-    this.tables = tables;
-    return this;
-  }
-
-  public DatabaseDto addTablesItem(TableBriefDto tablesItem) {
-    if (this.tables == null) {
-      this.tables = new ArrayList<TableBriefDto>();
-    }
-    this.tables.add(tablesItem);
-    return this;
-  }
-
-   /**
-   * Get tables
-   * @return tables
-  **/
-  @Schema(description = "")
-  public List<TableBriefDto> getTables() {
-    return tables;
-  }
-
-  public void setTables(List<TableBriefDto> tables) {
-    this.tables = tables;
-  }
-
-  public DatabaseDto image(ImageDto image) {
-    this.image = image;
-    return this;
-  }
-
-   /**
-   * Get image
-   * @return image
-  **/
-  @Schema(description = "")
-  public ImageDto getImage() {
-    return image;
-  }
-
-  public void setImage(ImageDto image) {
-    this.image = image;
-  }
-
-  public DatabaseDto container(ContainerDto container) {
-    this.container = container;
-    return this;
-  }
-
-   /**
-   * Get container
-   * @return container
-  **/
-  @Schema(description = "")
-  public ContainerDto getContainer() {
-    return container;
-  }
-
-  public void setContainer(ContainerDto container) {
-    this.container = container;
-  }
-
-  public DatabaseDto accesses(List<DatabaseAccessDto> accesses) {
-    this.accesses = accesses;
-    return this;
-  }
-
-  public DatabaseDto addAccessesItem(DatabaseAccessDto accessesItem) {
-    if (this.accesses == null) {
-      this.accesses = new ArrayList<DatabaseAccessDto>();
-    }
-    this.accesses.add(accessesItem);
-    return this;
-  }
-
-   /**
-   * Get accesses
-   * @return accesses
-  **/
-  @Schema(description = "")
-  public List<DatabaseAccessDto> getAccesses() {
-    return accesses;
-  }
-
-  public void setAccesses(List<DatabaseAccessDto> accesses) {
-    this.accesses = accesses;
-  }
-
-  public DatabaseDto created(OffsetDateTime created) {
-    this.created = created;
-    return this;
-  }
-
-   /**
-   * Get created
-   * @return created
-  **/
-  @Schema(description = "")
-  public OffsetDateTime getCreated() {
-    return created;
-  }
-
-  public void setCreated(OffsetDateTime created) {
-    this.created = created;
-  }
-
-  public DatabaseDto exchangeName(String exchangeName) {
-    this.exchangeName = exchangeName;
-    return this;
-  }
-
-   /**
-   * Get exchangeName
-   * @return exchangeName
-  **/
-  @Schema(example = "dbrepo/4/4", required = true, description = "")
-  public String getExchangeName() {
-    return exchangeName;
-  }
-
-  public void setExchangeName(String exchangeName) {
-    this.exchangeName = exchangeName;
-  }
-
-  public DatabaseDto internalName(String internalName) {
-    this.internalName = internalName;
-    return this;
-  }
-
-   /**
-   * Get internalName
-   * @return internalName
-  **/
-  @Schema(example = "weather_australia", required = true, description = "")
-  public String getInternalName() {
-    return internalName;
-  }
-
-  public void setInternalName(String internalName) {
-    this.internalName = internalName;
-  }
-
-  public DatabaseDto isPublic(Boolean isPublic) {
-    this.isPublic = isPublic;
-    return this;
-  }
-
-   /**
-   * Get isPublic
-   * @return isPublic
-  **/
-  @Schema(example = "true", description = "")
-  public Boolean isIsPublic() {
-    return isPublic;
-  }
-
-  public void setIsPublic(Boolean isPublic) {
-    this.isPublic = isPublic;
-  }
-
-
-  @Override
-  public boolean equals(Object o) {
-    if (this == o) {
-      return true;
-    }
-    if (o == null || getClass() != o.getClass()) {
-      return false;
-    }
-    DatabaseDto databaseDto = (DatabaseDto) o;
-    return Objects.equals(this.id, databaseDto.id) &&
-        Objects.equals(this.name, databaseDto.name) &&
-        Objects.equals(this.creator, databaseDto.creator) &&
-        Objects.equals(this.identifier, databaseDto.identifier) &&
-        Objects.equals(this.description, databaseDto.description) &&
-        Objects.equals(this.tables, databaseDto.tables) &&
-        Objects.equals(this.image, databaseDto.image) &&
-        Objects.equals(this.container, databaseDto.container) &&
-        Objects.equals(this.accesses, databaseDto.accesses) &&
-        Objects.equals(this.created, databaseDto.created) &&
-        Objects.equals(this.exchangeName, databaseDto.exchangeName) &&
-        Objects.equals(this.internalName, databaseDto.internalName) &&
-        Objects.equals(this.isPublic, databaseDto.isPublic);
-  }
-
-  @Override
-  public int hashCode() {
-    return Objects.hash(id, name, creator, identifier, description, tables, image, container, accesses, created, exchangeName, internalName, isPublic);
-  }
-
-
-  @Override
-  public String toString() {
-    StringBuilder sb = new StringBuilder();
-    sb.append("class DatabaseDto {\n");
-    
-    sb.append("    id: ").append(toIndentedString(id)).append("\n");
-    sb.append("    name: ").append(toIndentedString(name)).append("\n");
-    sb.append("    creator: ").append(toIndentedString(creator)).append("\n");
-    sb.append("    identifier: ").append(toIndentedString(identifier)).append("\n");
-    sb.append("    description: ").append(toIndentedString(description)).append("\n");
-    sb.append("    tables: ").append(toIndentedString(tables)).append("\n");
-    sb.append("    image: ").append(toIndentedString(image)).append("\n");
-    sb.append("    container: ").append(toIndentedString(container)).append("\n");
-    sb.append("    accesses: ").append(toIndentedString(accesses)).append("\n");
-    sb.append("    created: ").append(toIndentedString(created)).append("\n");
-    sb.append("    exchangeName: ").append(toIndentedString(exchangeName)).append("\n");
-    sb.append("    internalName: ").append(toIndentedString(internalName)).append("\n");
-    sb.append("    isPublic: ").append(toIndentedString(isPublic)).append("\n");
-    sb.append("}");
-    return sb.toString();
-  }
-
-  /**
-   * Convert the given object to string with each line indented by 4 spaces
-   * (except the first line).
-   */
-  private String toIndentedString(Object o) {
-    if (o == null) {
-      return "null";
-    }
-    return o.toString().replace("\n", "\n    ");
-  }
-
-}
diff --git a/.java-stubs/src/main/java/io/swagger/client/model/DatabaseGiveAccessDto.java b/.java-stubs/src/main/java/io/swagger/client/model/DatabaseGiveAccessDto.java
deleted file mode 100644
index 07f0553034..0000000000
--- a/.java-stubs/src/main/java/io/swagger/client/model/DatabaseGiveAccessDto.java
+++ /dev/null
@@ -1,156 +0,0 @@
-/*
- * Database Repository Database Service API
- * Service that manages the databases
- *
- * OpenAPI spec version: 1.1.0-alpha
- * Contact: andreas.rauber@tuwien.ac.at
- *
- * NOTE: This class is auto generated by the swagger code generator program.
- * https://github.com/swagger-api/swagger-codegen.git
- * Do not edit the class manually.
- */
-
-package io.swagger.client.model;
-
-import com.google.gson.TypeAdapter;
-import com.google.gson.annotations.JsonAdapter;
-import com.google.gson.annotations.SerializedName;
-import com.google.gson.stream.JsonReader;
-import com.google.gson.stream.JsonWriter;
-import io.swagger.v3.oas.annotations.media.Schema;
-
-import java.io.IOException;
-import java.util.Objects;
-/**
- * DatabaseGiveAccessDto
- */
-
-@javax.annotation.Generated(value = "io.swagger.codegen.v3.generators.java.JavaClientCodegen", date = "2023-02-12T12:04:35.418127+01:00[Europe/Vienna]")
-public class DatabaseGiveAccessDto {
-  @SerializedName("username")
-  private String username = null;
-
-  /**
-   * Gets or Sets type
-   */
-  @JsonAdapter(TypeEnum.Adapter.class)
-  public enum TypeEnum {
-    READ("read"),
-    WRITE_OWN("write_own"),
-    WRITE_ALL("write_all");
-
-    private String value;
-
-    TypeEnum(String value) {
-      this.value = value;
-    }
-    public String getValue() {
-      return value;
-    }
-
-    @Override
-    public String toString() {
-      return String.valueOf(value);
-    }
-    public static TypeEnum fromValue(String input) {
-      for (TypeEnum b : TypeEnum.values()) {
-        if (b.value.equals(input)) {
-          return b;
-        }
-      }
-      return null;
-    }
-    public static class Adapter extends TypeAdapter<TypeEnum> {
-      @Override
-      public void write(final JsonWriter jsonWriter, final TypeEnum enumeration) throws IOException {
-        jsonWriter.value(String.valueOf(enumeration.getValue()));
-      }
-
-      @Override
-      public TypeEnum read(final JsonReader jsonReader) throws IOException {
-        Object value = jsonReader.nextString();
-        return TypeEnum.fromValue((String)(value));
-      }
-    }
-  }  @SerializedName("type")
-  private TypeEnum type = null;
-
-  public DatabaseGiveAccessDto username(String username) {
-    this.username = username;
-    return this;
-  }
-
-   /**
-   * Get username
-   * @return username
-  **/
-  @Schema(required = true, description = "")
-  public String getUsername() {
-    return username;
-  }
-
-  public void setUsername(String username) {
-    this.username = username;
-  }
-
-  public DatabaseGiveAccessDto type(TypeEnum type) {
-    this.type = type;
-    return this;
-  }
-
-   /**
-   * Get type
-   * @return type
-  **/
-  @Schema(required = true, description = "")
-  public TypeEnum getType() {
-    return type;
-  }
-
-  public void setType(TypeEnum type) {
-    this.type = type;
-  }
-
-
-  @Override
-  public boolean equals(Object o) {
-    if (this == o) {
-      return true;
-    }
-    if (o == null || getClass() != o.getClass()) {
-      return false;
-    }
-    DatabaseGiveAccessDto databaseGiveAccessDto = (DatabaseGiveAccessDto) o;
-    return Objects.equals(this.username, databaseGiveAccessDto.username) &&
-        Objects.equals(this.type, databaseGiveAccessDto.type);
-  }
-
-  @Override
-  public int hashCode() {
-    return Objects.hash(username, type);
-  }
-
-
-  @Override
-  public String toString() {
-    StringBuilder sb = new StringBuilder();
-    sb.append("class DatabaseGiveAccessDto {\n");
-    
-    sb.append("    username: ").append(toIndentedString(username)).append("\n");
-    sb.append("    type: ").append(toIndentedString(type)).append("\n");
-    sb.append("}");
-    return sb.toString();
-  }
-
-  /**
-   * Convert the given object to string with each line indented by 4 spaces
-   * (except the first line).
-   */
-  private String toIndentedString(Object o) {
-    if (o == null) {
-      return "null";
-    }
-    return o.toString().replace("\n", "\n    ");
-  }
-
-}
diff --git a/.java-stubs/src/main/java/io/swagger/client/model/DatabaseModifyAccessDto.java b/.java-stubs/src/main/java/io/swagger/client/model/DatabaseModifyAccessDto.java
deleted file mode 100644
index 251e292bf3..0000000000
--- a/.java-stubs/src/main/java/io/swagger/client/model/DatabaseModifyAccessDto.java
+++ /dev/null
@@ -1,133 +0,0 @@
-/*
- * Database Repository Database Service API
- * Service that manages the databases
- *
- * OpenAPI spec version: 1.1.0-alpha
- * Contact: andreas.rauber@tuwien.ac.at
- *
- * NOTE: This class is auto generated by the swagger code generator program.
- * https://github.com/swagger-api/swagger-codegen.git
- * Do not edit the class manually.
- */
-
-package io.swagger.client.model;
-
-import com.google.gson.TypeAdapter;
-import com.google.gson.annotations.JsonAdapter;
-import com.google.gson.annotations.SerializedName;
-import com.google.gson.stream.JsonReader;
-import com.google.gson.stream.JsonWriter;
-import io.swagger.v3.oas.annotations.media.Schema;
-
-import java.io.IOException;
-import java.util.Objects;
-/**
- * DatabaseModifyAccessDto
- */
-
-@javax.annotation.Generated(value = "io.swagger.codegen.v3.generators.java.JavaClientCodegen", date = "2023-02-12T12:04:35.418127+01:00[Europe/Vienna]")
-public class DatabaseModifyAccessDto {
-  /**
-   * Gets or Sets type
-   */
-  @JsonAdapter(TypeEnum.Adapter.class)
-  public enum TypeEnum {
-    READ("read"),
-    WRITE_OWN("write_own"),
-    WRITE_ALL("write_all");
-
-    private String value;
-
-    TypeEnum(String value) {
-      this.value = value;
-    }
-    public String getValue() {
-      return value;
-    }
-
-    @Override
-    public String toString() {
-      return String.valueOf(value);
-    }
-    public static TypeEnum fromValue(String input) {
-      for (TypeEnum b : TypeEnum.values()) {
-        if (b.value.equals(input)) {
-          return b;
-        }
-      }
-      return null;
-    }
-    public static class Adapter extends TypeAdapter<TypeEnum> {
-      @Override
-      public void write(final JsonWriter jsonWriter, final TypeEnum enumeration) throws IOException {
-        jsonWriter.value(String.valueOf(enumeration.getValue()));
-      }
-
-      @Override
-      public TypeEnum read(final JsonReader jsonReader) throws IOException {
-        Object value = jsonReader.nextString();
-        return TypeEnum.fromValue((String)(value));
-      }
-    }
-  }  @SerializedName("type")
-  private TypeEnum type = null;
-
-  public DatabaseModifyAccessDto type(TypeEnum type) {
-    this.type = type;
-    return this;
-  }
-
-   /**
-   * Get type
-   * @return type
-  **/
-  @Schema(required = true, description = "")
-  public TypeEnum getType() {
-    return type;
-  }
-
-  public void setType(TypeEnum type) {
-    this.type = type;
-  }
-
-
-  @Override
-  public boolean equals(Object o) {
-    if (this == o) {
-      return true;
-    }
-    if (o == null || getClass() != o.getClass()) {
-      return false;
-    }
-    DatabaseModifyAccessDto databaseModifyAccessDto = (DatabaseModifyAccessDto) o;
-    return Objects.equals(this.type, databaseModifyAccessDto.type);
-  }
-
-  @Override
-  public int hashCode() {
-    return Objects.hash(type);
-  }
-
-
-  @Override
-  public String toString() {
-    StringBuilder sb = new StringBuilder();
-    sb.append("class DatabaseModifyAccessDto {\n");
-    
-    sb.append("    type: ").append(toIndentedString(type)).append("\n");
-    sb.append("}");
-    return sb.toString();
-  }
-
-  /**
-   * Convert the given object to string with each line indented by 4 spaces
-   * (except the first line).
-   */
-  private String toIndentedString(Object o) {
-    if (o == null) {
-      return "null";
-    }
-    return o.toString().replace("\n", "\n    ");
-  }
-
-}
diff --git a/.java-stubs/src/main/java/io/swagger/client/model/DatabaseTransferDto.java b/.java-stubs/src/main/java/io/swagger/client/model/DatabaseTransferDto.java
deleted file mode 100644
index e6aeb29755..0000000000
--- a/.java-stubs/src/main/java/io/swagger/client/model/DatabaseTransferDto.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
- * Database Repository Database Service API
- * Service that manages the databases
- *
- * OpenAPI spec version: 1.1.0-alpha
- * Contact: andreas.rauber@tuwien.ac.at
- *
- * NOTE: This class is auto generated by the swagger code generator program.
- * https://github.com/swagger-api/swagger-codegen.git
- * Do not edit the class manually.
- */
-
-package io.swagger.client.model;
-
-import com.google.gson.annotations.SerializedName;
-import io.swagger.v3.oas.annotations.media.Schema;
-
-import java.util.Objects;
-
-/**
- * DatabaseTransferDto
- */
-
-@javax.annotation.Generated(value = "io.swagger.codegen.v3.generators.java.JavaClientCodegen", date = "2023-02-12T12:04:35.418127+01:00[Europe/Vienna]")
-public class DatabaseTransferDto {
-  @SerializedName("is_public")
-  private Boolean isPublic = null;
-
-  public DatabaseTransferDto isPublic(Boolean isPublic) {
-    this.isPublic = isPublic;
-    return this;
-  }
-
-   /**
-   * Get isPublic
-   * @return isPublic
-  **/
-  @Schema(example = "true", required = true, description = "")
-  public Boolean isIsPublic() {
-    return isPublic;
-  }
-
-  public void setIsPublic(Boolean isPublic) {
-    this.isPublic = isPublic;
-  }
-
-
-  @Override
-  public boolean equals(Object o) {
-    if (this == o) {
-      return true;
-    }
-    if (o == null || getClass() != o.getClass()) {
-      return false;
-    }
-    DatabaseTransferDto databaseTransferDto = (DatabaseTransferDto) o;
-    return Objects.equals(this.isPublic, databaseTransferDto.isPublic);
-  }
-
-  @Override
-  public int hashCode() {
-    return Objects.hash(isPublic);
-  }
-
-
-  @Override
-  public String toString() {
-    StringBuilder sb = new StringBuilder();
-    sb.append("class DatabaseTransferDto {\n");
-    
-    sb.append("    isPublic: ").append(toIndentedString(isPublic)).append("\n");
-    sb.append("}");
-    return sb.toString();
-  }
-
-  /**
-   * Convert the given object to string with each line indented by 4 spaces
-   * (except the first line).
-   */
-  private String toIndentedString(Object o) {
-    if (o == null) {
-      return "null";
-    }
-    return o.toString().replace("\n", "\n    ");
-  }
-
-}
diff --git a/.java-stubs/src/main/java/io/swagger/client/model/ExecuteStatementDto.java b/.java-stubs/src/main/java/io/swagger/client/model/ExecuteStatementDto.java
deleted file mode 100644
index d834275b9c..0000000000
--- a/.java-stubs/src/main/java/io/swagger/client/model/ExecuteStatementDto.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*
- * Database Repository Query Service API
- * Service that manages the queries
- *
- * OpenAPI spec version: 1.1.0-alpha
- * Contact: andreas.rauber@tuwien.ac.at
- *
- * NOTE: This class is auto generated by the swagger code generator program.
- * https://github.com/swagger-api/swagger-codegen.git
- * Do not edit the class manually.
- */
-
-package io.swagger.client.model;
-
-import java.util.Objects;
-import java.util.Arrays;
-import com.google.gson.TypeAdapter;
-import com.google.gson.annotations.JsonAdapter;
-import com.google.gson.annotations.SerializedName;
-import com.google.gson.stream.JsonReader;
-import com.google.gson.stream.JsonWriter;
-import io.swagger.v3.oas.annotations.media.Schema;
-import java.io.IOException;
-/**
- * ExecuteStatementDto
- */
-
-public class ExecuteStatementDto {
-  @SerializedName("statement")
-  private String statement = null;
-
-  public ExecuteStatementDto statement(String statement) {
-    this.statement = statement;
-    return this;
-  }
-
-   /**
-   * Get statement
-   * @return statement
-  **/
-  @Schema(example = "SELECT `id` FROM `air_quality`", required = true, description = "")
-  public String getStatement() {
-    return statement;
-  }
-
-  public void setStatement(String statement) {
-    this.statement = statement;
-  }
-
-
-  @Override
-  public boolean equals(Object o) {
-    if (this == o) {
-      return true;
-    }
-    if (o == null || getClass() != o.getClass()) {
-      return false;
-    }
-    ExecuteStatementDto executeStatementDto = (ExecuteStatementDto) o;
-    return Objects.equals(this.statement, executeStatementDto.statement);
-  }
-
-  @Override
-  public int hashCode() {
-    return Objects.hash(statement);
-  }
-
-
-  @Override
-  public String toString() {
-    StringBuilder sb = new StringBuilder();
-    sb.append("class ExecuteStatementDto {\n");
-    
-    sb.append("    statement: ").append(toIndentedString(statement)).append("\n");
-    sb.append("}");
-    return sb.toString();
-  }
-
-  /**
-   * Convert the given object to string with each line indented by 4 spaces
-   * (except the first line).
-   */
-  private String toIndentedString(Object o) {
-    if (o == null) {
-      return "null";
-    }
-    return o.toString().replace("\n", "\n    ");
-  }
-
-}
diff --git a/.java-stubs/src/main/java/io/swagger/client/model/GrantedAuthorityDto.java b/.java-stubs/src/main/java/io/swagger/client/model/GrantedAuthorityDto.java
deleted file mode 100644
index 6ae594c5b6..0000000000
--- a/.java-stubs/src/main/java/io/swagger/client/model/GrantedAuthorityDto.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*
- * Database Repository Container Service API
- * Service that manages the containers
- *
- * OpenAPI spec version: 1.1.0-alpha
- * Contact: andreas.rauber@tuwien.ac.at
- *
- * NOTE: This class is auto generated by the swagger code generator program.
- * https://github.com/swagger-api/swagger-codegen.git
- * Do not edit the class manually.
- */
-
-package io.swagger.client.model;
-
-import java.util.Objects;
-import java.util.Arrays;
-import com.google.gson.TypeAdapter;
-import com.google.gson.annotations.JsonAdapter;
-import com.google.gson.annotations.SerializedName;
-import com.google.gson.stream.JsonReader;
-import com.google.gson.stream.JsonWriter;
-import io.swagger.v3.oas.annotations.media.Schema;
-import java.io.IOException;
-/**
- * GrantedAuthorityDto
- */
-
-@javax.annotation.Generated(value = "io.swagger.codegen.v3.generators.java.JavaClientCodegen", date = "2023-02-12T11:48:18.502846+01:00[Europe/Vienna]")
-public class GrantedAuthorityDto {
-  @SerializedName("authority")
-  private String authority = null;
-
-  public GrantedAuthorityDto authority(String authority) {
-    this.authority = authority;
-    return this;
-  }
-
-   /**
-   * Get authority
-   * @return authority
-  **/
-  @Schema(example = "ROLE_RESEARCHER", description = "")
-  public String getAuthority() {
-    return authority;
-  }
-
-  public void setAuthority(String authority) {
-    this.authority = authority;
-  }
-
-
-  @Override
-  public boolean equals(Object o) {
-    if (this == o) {
-      return true;
-    }
-    if (o == null || getClass() != o.getClass()) {
-      return false;
-    }
-    GrantedAuthorityDto grantedAuthorityDto = (GrantedAuthorityDto) o;
-    return Objects.equals(this.authority, grantedAuthorityDto.authority);
-  }
-
-  @Override
-  public int hashCode() {
-    return Objects.hash(authority);
-  }
-
-
-  @Override
-  public String toString() {
-    StringBuilder sb = new StringBuilder();
-    sb.append("class GrantedAuthorityDto {\n");
-    
-    sb.append("    authority: ").append(toIndentedString(authority)).append("\n");
-    sb.append("}");
-    return sb.toString();
-  }
-
-  /**
-   * Convert the given object to string with each line indented by 4 spaces
-   * (except the first line).
-   */
-  private String toIndentedString(Object o) {
-    if (o == null) {
-      return "null";
-    }
-    return o.toString().replace("\n", "\n    ");
-  }
-
-}
diff --git a/.java-stubs/src/main/java/io/swagger/client/model/IdentifierDto.java b/.java-stubs/src/main/java/io/swagger/client/model/IdentifierDto.java
deleted file mode 100644
index 3644adf2e1..0000000000
--- a/.java-stubs/src/main/java/io/swagger/client/model/IdentifierDto.java
+++ /dev/null
@@ -1,968 +0,0 @@
-/*
- * Database Repository Container Service API
- * Service that manages the containers
- *
- * OpenAPI spec version: 1.1.0-alpha
- * Contact: andreas.rauber@tuwien.ac.at
- *
- * NOTE: This class is auto generated by the swagger code generator program.
- * https://github.com/swagger-api/swagger-codegen.git
- * Do not edit the class manually.
- */
-
-package io.swagger.client.model;
-
-import java.util.Objects;
-import java.util.Arrays;
-import com.google.gson.TypeAdapter;
-import com.google.gson.annotations.JsonAdapter;
-import com.google.gson.annotations.SerializedName;
-import com.google.gson.stream.JsonReader;
-import com.google.gson.stream.JsonWriter;
-import io.swagger.client.model.CreatorDto;
-import io.swagger.client.model.LicenseDto;
-import io.swagger.client.model.RelatedIdentifierDto;
-import io.swagger.v3.oas.annotations.media.Schema;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.List;
-import org.threeten.bp.OffsetDateTime;
-/**
- * IdentifierDto
- */
-
-@javax.annotation.Generated(value = "io.swagger.codegen.v3.generators.java.JavaClientCodegen", date = "2023-02-12T11:48:18.502846+01:00[Europe/Vienna]")
-public class IdentifierDto {
-  @SerializedName("id")
-  private Long id = null;
-
-  /**
-   * Gets or Sets type
-   */
-  @JsonAdapter(TypeEnum.Adapter.class)
-  public enum TypeEnum {
-    DATABASE("database"),
-    SUBSET("subset");
-
-    private String value;
-
-    TypeEnum(String value) {
-      this.value = value;
-    }
-    public String getValue() {
-      return value;
-    }
-
-    @Override
-    public String toString() {
-      return String.valueOf(value);
-    }
-    public static TypeEnum fromValue(String input) {
-      for (TypeEnum b : TypeEnum.values()) {
-        if (b.value.equals(input)) {
-          return b;
-        }
-      }
-      return null;
-    }
-    public static class Adapter extends TypeAdapter<TypeEnum> {
-      @Override
-      public void write(final JsonWriter jsonWriter, final TypeEnum enumeration) throws IOException {
-        jsonWriter.value(String.valueOf(enumeration.getValue()));
-      }
-
-      @Override
-      public TypeEnum read(final JsonReader jsonReader) throws IOException {
-        Object value = jsonReader.nextString();
-        return TypeEnum.fromValue((String)(value));
-      }
-    }
-  }  @SerializedName("type")
-  private TypeEnum type = null;
-
-  @SerializedName("title")
-  private String title = null;
-
-  @SerializedName("description")
-  private String description = null;
-
-  @SerializedName("query")
-  private String query = null;
-
-  @SerializedName("execution")
-  private OffsetDateTime execution = null;
-
-  /**
-   * Gets or Sets visibility
-   */
-  @JsonAdapter(VisibilityEnum.Adapter.class)
-  public enum VisibilityEnum {
-    EVERYONE("everyone"),
-    TRUSTED("trusted"),
-    SELF("self");
-
-    private String value;
-
-    VisibilityEnum(String value) {
-      this.value = value;
-    }
-    public String getValue() {
-      return value;
-    }
-
-    @Override
-    public String toString() {
-      return String.valueOf(value);
-    }
-    public static VisibilityEnum fromValue(String input) {
-      for (VisibilityEnum b : VisibilityEnum.values()) {
-        if (b.value.equals(input)) {
-          return b;
-        }
-      }
-      return null;
-    }
-    public static class Adapter extends TypeAdapter<VisibilityEnum> {
-      @Override
-      public void write(final JsonWriter jsonWriter, final VisibilityEnum enumeration) throws IOException {
-        jsonWriter.value(String.valueOf(enumeration.getValue()));
-      }
-
-      @Override
-      public VisibilityEnum read(final JsonReader jsonReader) throws IOException {
-        Object value = jsonReader.nextString();
-        return VisibilityEnum.fromValue((String)(value));
-      }
-    }
-  }  @SerializedName("visibility")
-  private VisibilityEnum visibility = null;
-
-  @SerializedName("doi")
-  private String doi = null;
-
-  @SerializedName("publisher")
-  private String publisher = null;
-
-  /**
-   * Gets or Sets language
-   */
-  @JsonAdapter(LanguageEnum.Adapter.class)
-  public enum LanguageEnum {
-    AB("ab"),
-    AA("aa"),
-    AF("af"),
-    AK("ak"),
-    SQ("sq"),
-    AM("am"),
-    AR("ar"),
-    AN("an"),
-    HY("hy"),
-    AS("as"),
-    AV("av"),
-    AE("ae"),
-    AY("ay"),
-    AZ("az"),
-    BM("bm"),
-    BA("ba"),
-    EU("eu"),
-    BE("be"),
-    BN("bn"),
-    BH("bh"),
-    BI("bi"),
-    BS("bs"),
-    BR("br"),
-    BG("bg"),
-    MY("my"),
-    CA("ca"),
-    KM("km"),
-    CH("ch"),
-    CE("ce"),
-    NY("ny"),
-    ZH("zh"),
-    CU("cu"),
-    CV("cv"),
-    KW("kw"),
-    CO("co"),
-    CR("cr"),
-    HR("hr"),
-    CS("cs"),
-    DA("da"),
-    DV("dv"),
-    NL("nl"),
-    DZ("dz"),
-    EN("en"),
-    EO("eo"),
-    ET("et"),
-    EE("ee"),
-    FO("fo"),
-    FJ("fj"),
-    FI("fi"),
-    FR("fr"),
-    FF("ff"),
-    GD("gd"),
-    GL("gl"),
-    LG("lg"),
-    KA("ka"),
-    DE("de"),
-    KI("ki"),
-    EL("el"),
-    KL("kl"),
-    GN("gn"),
-    GU("gu"),
-    HT("ht"),
-    HA("ha"),
-    HE("he"),
-    HZ("hz"),
-    HI("hi"),
-    HO("ho"),
-    HU("hu"),
-    IS("is"),
-    IO("io"),
-    IG("ig"),
-    ID("id"),
-    IA("ia"),
-    IE("ie"),
-    IU("iu"),
-    IK("ik"),
-    GA("ga"),
-    IT("it"),
-    JA("ja"),
-    JV("jv"),
-    KN("kn"),
-    KR("kr"),
-    KS("ks"),
-    KK("kk"),
-    RW("rw"),
-    KV("kv"),
-    KG("kg"),
-    KO("ko"),
-    KJ("kj"),
-    KU("ku"),
-    KY("ky"),
-    LO("lo"),
-    LA("la"),
-    LV("lv"),
-    LB("lb"),
-    LI("li"),
-    LN("ln"),
-    LT("lt"),
-    LU("lu"),
-    MK("mk"),
-    MG("mg"),
-    MS("ms"),
-    ML("ml"),
-    MT("mt"),
-    GV("gv"),
-    MI("mi"),
-    MR("mr"),
-    MH("mh"),
-    RO("ro"),
-    MN("mn"),
-    NA("na"),
-    NV("nv"),
-    ND("nd"),
-    NG("ng"),
-    NE("ne"),
-    SE("se"),
-    NO("no"),
-    NB("nb"),
-    NN("nn"),
-    II("ii"),
-    OC("oc"),
-    OJ("oj"),
-    OR("or"),
-    OM("om"),
-    OS("os"),
-    PI("pi"),
-    PA("pa"),
-    PS("ps"),
-    FA("fa"),
-    PL("pl"),
-    PT("pt"),
-    QU("qu"),
-    RM("rm"),
-    RN("rn"),
-    RU("ru"),
-    SM("sm"),
-    SG("sg"),
-    SA("sa"),
-    SC("sc"),
-    SR("sr"),
-    SN("sn"),
-    SD("sd"),
-    SI("si"),
-    SK("sk"),
-    SL("sl"),
-    SO("so"),
-    ST("st"),
-    NR("nr"),
-    ES("es"),
-    SU("su"),
-    SW("sw"),
-    SS("ss"),
-    SV("sv"),
-    TL("tl"),
-    TY("ty"),
-    TG("tg"),
-    TA("ta"),
-    TT("tt"),
-    TE("te"),
-    TH("th"),
-    BO("bo"),
-    TI("ti"),
-    TO("to"),
-    TS("ts"),
-    TN("tn"),
-    TR("tr"),
-    TK("tk"),
-    TW("tw"),
-    UG("ug"),
-    UK("uk"),
-    UR("ur"),
-    UZ("uz"),
-    VE("ve"),
-    VI("vi"),
-    VO("vo"),
-    WA("wa"),
-    CY("cy"),
-    FY("fy"),
-    WO("wo"),
-    XH("xh"),
-    YI("yi"),
-    YO("yo"),
-    ZA("za"),
-    ZU("zu");
-
-    private String value;
-
-    LanguageEnum(String value) {
-      this.value = value;
-    }
-    public String getValue() {
-      return value;
-    }
-
-    @Override
-    public String toString() {
-      return String.valueOf(value);
-    }
-    public static LanguageEnum fromValue(String input) {
-      for (LanguageEnum b : LanguageEnum.values()) {
-        if (b.value.equals(input)) {
-          return b;
-        }
-      }
-      return null;
-    }
-    public static class Adapter extends TypeAdapter<LanguageEnum> {
-      @Override
-      public void write(final JsonWriter jsonWriter, final LanguageEnum enumeration) throws IOException {
-        jsonWriter.value(String.valueOf(enumeration.getValue()));
-      }
-
-      @Override
-      public LanguageEnum read(final JsonReader jsonReader) throws IOException {
-        Object value = jsonReader.nextString();
-        return LanguageEnum.fromValue((String)(value));
-      }
-    }
-  }  @SerializedName("language")
-  private LanguageEnum language = null;
-
-  @SerializedName("license")
-  private LicenseDto license = null;
-
-  @SerializedName("creators")
-  private List<CreatorDto> creators = new ArrayList<CreatorDto>();
-
-  @SerializedName("created")
-  private OffsetDateTime created = null;
-
-  @SerializedName("container id")
-  private Long containerId = null;
-
-  @SerializedName("database id")
-  private Long databaseId = null;
-
-  @SerializedName("query id")
-  private Long queryId = null;
-
-  @SerializedName("query_normalized")
-  private String queryNormalized = null;
-
-  @SerializedName("related")
-  private List<RelatedIdentifierDto> related = null;
-
-  @SerializedName("query_hash")
-  private String queryHash = null;
-
-  @SerializedName("result_hash")
-  private String resultHash = null;
-
-  @SerializedName("result_number")
-  private Long resultNumber = null;
-
-  @SerializedName("publication_day")
-  private Integer publicationDay = null;
-
-  @SerializedName("publication_month")
-  private Integer publicationMonth = null;
-
-  @SerializedName("publication_year")
-  private Integer publicationYear = null;
-
-  @SerializedName("last_modified")
-  private OffsetDateTime lastModified = null;
-
-  public IdentifierDto id(Long id) {
-    this.id = id;
-    return this;
-  }
-
-   /**
-   * Get id
-   * @return id
-  **/
-  @Schema(description = "")
-  public Long getId() {
-    return id;
-  }
-
-  public void setId(Long id) {
-    this.id = id;
-  }
-
-  public IdentifierDto type(TypeEnum type) {
-    this.type = type;
-    return this;
-  }
-
-   /**
-   * Get type
-   * @return type
-  **/
-  @Schema(required = true, description = "")
-  public TypeEnum getType() {
-    return type;
-  }
-
-  public void setType(TypeEnum type) {
-    this.type = type;
-  }
-
-  public IdentifierDto title(String title) {
-    this.title = title;
-    return this;
-  }
-
-   /**
-   * Get title
-   * @return title
-  **/
-  @Schema(example = "Airquality Stephansplatz, Vienna, Austria", required = true, description = "")
-  public String getTitle() {
-    return title;
-  }
-
-  public void setTitle(String title) {
-    this.title = title;
-  }
-
-  public IdentifierDto description(String description) {
-    this.description = description;
-    return this;
-  }
-
-   /**
-   * Get description
-   * @return description
-  **/
-  @Schema(example = "Air quality reports at Stephansplatz, Vienna", description = "")
-  public String getDescription() {
-    return description;
-  }
-
-  public void setDescription(String description) {
-    this.description = description;
-  }
-
-  public IdentifierDto query(String query) {
-    this.query = query;
-    return this;
-  }
-
-   /**
-   * Get query
-   * @return query
-  **/
-  @Schema(example = "SELECT `id`, `value`, `location` FROM `air_quality` WHERE `location` = \"09:STEF\"", required = true, description = "")
-  public String getQuery() {
-    return query;
-  }
-
-  public void setQuery(String query) {
-    this.query = query;
-  }
-
-  public IdentifierDto execution(OffsetDateTime execution) {
-    this.execution = execution;
-    return this;
-  }
-
-   /**
-   * Get execution
-   * @return execution
-  **/
-  @Schema(required = true, description = "")
-  public OffsetDateTime getExecution() {
-    return execution;
-  }
-
-  public void setExecution(OffsetDateTime execution) {
-    this.execution = execution;
-  }
-
-  public IdentifierDto visibility(VisibilityEnum visibility) {
-    this.visibility = visibility;
-    return this;
-  }
-
-   /**
-   * Get visibility
-   * @return visibility
-  **/
-  @Schema(example = "everyone", required = true, description = "")
-  public VisibilityEnum getVisibility() {
-    return visibility;
-  }
-
-  public void setVisibility(VisibilityEnum visibility) {
-    this.visibility = visibility;
-  }
-
-  public IdentifierDto doi(String doi) {
-    this.doi = doi;
-    return this;
-  }
-
-   /**
-   * Get doi
-   * @return doi
-  **/
-  @Schema(example = "10.1038/nphys1170", description = "")
-  public String getDoi() {
-    return doi;
-  }
-
-  public void setDoi(String doi) {
-    this.doi = doi;
-  }
-
-  public IdentifierDto publisher(String publisher) {
-    this.publisher = publisher;
-    return this;
-  }
-
-   /**
-   * Get publisher
-   * @return publisher
-  **/
-  @Schema(example = "TU Wien", description = "")
-  public String getPublisher() {
-    return publisher;
-  }
-
-  public void setPublisher(String publisher) {
-    this.publisher = publisher;
-  }
-
-  public IdentifierDto language(LanguageEnum language) {
-    this.language = language;
-    return this;
-  }
-
-   /**
-   * Get language
-   * @return language
-  **/
-  @Schema(description = "")
-  public LanguageEnum getLanguage() {
-    return language;
-  }
-
-  public void setLanguage(LanguageEnum language) {
-    this.language = language;
-  }
-
-  public IdentifierDto license(LicenseDto license) {
-    this.license = license;
-    return this;
-  }
-
-   /**
-   * Get license
-   * @return license
-  **/
-  @Schema(description = "")
-  public LicenseDto getLicense() {
-    return license;
-  }
-
-  public void setLicense(LicenseDto license) {
-    this.license = license;
-  }
-
-  public IdentifierDto creators(List<CreatorDto> creators) {
-    this.creators = creators;
-    return this;
-  }
-
-  public IdentifierDto addCreatorsItem(CreatorDto creatorsItem) {
-    this.creators.add(creatorsItem);
-    return this;
-  }
-
-   /**
-   * Get creators
-   * @return creators
-  **/
-  @Schema(required = true, description = "")
-  public List<CreatorDto> getCreators() {
-    return creators;
-  }
-
-  public void setCreators(List<CreatorDto> creators) {
-    this.creators = creators;
-  }
-
-  public IdentifierDto created(OffsetDateTime created) {
-    this.created = created;
-    return this;
-  }
-
-   /**
-   * Get created
-   * @return created
-  **/
-  @Schema(description = "")
-  public OffsetDateTime getCreated() {
-    return created;
-  }
-
-  public void setCreated(OffsetDateTime created) {
-    this.created = created;
-  }
-
-  public IdentifierDto containerId(Long containerId) {
-    this.containerId = containerId;
-    return this;
-  }
-
-   /**
-   * Get containerId
-   * @return containerId
-  **/
-  @Schema(example = "1", required = true, description = "")
-  public Long getContainerId() {
-    return containerId;
-  }
-
-  public void setContainerId(Long containerId) {
-    this.containerId = containerId;
-  }
-
-  public IdentifierDto databaseId(Long databaseId) {
-    this.databaseId = databaseId;
-    return this;
-  }
-
-   /**
-   * Get databaseId
-   * @return databaseId
-  **/
-  @Schema(example = "1", required = true, description = "")
-  public Long getDatabaseId() {
-    return databaseId;
-  }
-
-  public void setDatabaseId(Long databaseId) {
-    this.databaseId = databaseId;
-  }
-
-  public IdentifierDto queryId(Long queryId) {
-    this.queryId = queryId;
-    return this;
-  }
-
-   /**
-   * Get queryId
-   * @return queryId
-  **/
-  @Schema(example = "1", description = "")
-  public Long getQueryId() {
-    return queryId;
-  }
-
-  public void setQueryId(Long queryId) {
-    this.queryId = queryId;
-  }
-
-  public IdentifierDto queryNormalized(String queryNormalized) {
-    this.queryNormalized = queryNormalized;
-    return this;
-  }
-
-   /**
-   * Get queryNormalized
-   * @return queryNormalized
-  **/
-  @Schema(example = "SELECT `id`, `value`, `location` FROM `air_quality` WHERE `location` = \"09:STEF\"", required = true, description = "")
-  public String getQueryNormalized() {
-    return queryNormalized;
-  }
-
-  public void setQueryNormalized(String queryNormalized) {
-    this.queryNormalized = queryNormalized;
-  }
-
-  public IdentifierDto related(List<RelatedIdentifierDto> related) {
-    this.related = related;
-    return this;
-  }
-
-  public IdentifierDto addRelatedItem(RelatedIdentifierDto relatedItem) {
-    if (this.related == null) {
-      this.related = new ArrayList<RelatedIdentifierDto>();
-    }
-    this.related.add(relatedItem);
-    return this;
-  }
-
-   /**
-   * Get related
-   * @return related
-  **/
-  @Schema(description = "")
-  public List<RelatedIdentifierDto> getRelated() {
-    return related;
-  }
-
-  public void setRelated(List<RelatedIdentifierDto> related) {
-    this.related = related;
-  }
-
-  public IdentifierDto queryHash(String queryHash) {
-    this.queryHash = queryHash;
-    return this;
-  }
-
-   /**
-   * query hash in sha512
-   * @return queryHash
-  **/
-  @Schema(required = true, description = "query hash in sha512")
-  public String getQueryHash() {
-    return queryHash;
-  }
-
-  public void setQueryHash(String queryHash) {
-    this.queryHash = queryHash;
-  }
-
-  public IdentifierDto resultHash(String resultHash) {
-    this.resultHash = resultHash;
-    return this;
-  }
-
-   /**
-   * Get resultHash
-   * @return resultHash
-  **/
-  @Schema(required = true, description = "")
-  public String getResultHash() {
-    return resultHash;
-  }
-
-  public void setResultHash(String resultHash) {
-    this.resultHash = resultHash;
-  }
-
-  public IdentifierDto resultNumber(Long resultNumber) {
-    this.resultNumber = resultNumber;
-    return this;
-  }
-
-   /**
-   * Get resultNumber
-   * @return resultNumber
-  **/
-  @Schema(example = "1", required = true, description = "")
-  public Long getResultNumber() {
-    return resultNumber;
-  }
-
-  public void setResultNumber(Long resultNumber) {
-    this.resultNumber = resultNumber;
-  }
-
-  public IdentifierDto publicationDay(Integer publicationDay) {
-    this.publicationDay = publicationDay;
-    return this;
-  }
-
-   /**
-   * Get publicationDay
-   * @return publicationDay
-  **/
-  @Schema(example = "15", description = "")
-  public Integer getPublicationDay() {
-    return publicationDay;
-  }
-
-  public void setPublicationDay(Integer publicationDay) {
-    this.publicationDay = publicationDay;
-  }
-
-  public IdentifierDto publicationMonth(Integer publicationMonth) {
-    this.publicationMonth = publicationMonth;
-    return this;
-  }
-
-   /**
-   * Get publicationMonth
-   * @return publicationMonth
-  **/
-  @Schema(example = "12", description = "")
-  public Integer getPublicationMonth() {
-    return publicationMonth;
-  }
-
-  public void setPublicationMonth(Integer publicationMonth) {
-    this.publicationMonth = publicationMonth;
-  }
-
-  public IdentifierDto publicationYear(Integer publicationYear) {
-    this.publicationYear = publicationYear;
-    return this;
-  }
-
-   /**
-   * Get publicationYear
-   * @return publicationYear
-  **/
-  @Schema(example = "2022", required = true, description = "")
-  public Integer getPublicationYear() {
-    return publicationYear;
-  }
-
-  public void setPublicationYear(Integer publicationYear) {
-    this.publicationYear = publicationYear;
-  }
-
-  public IdentifierDto lastModified(OffsetDateTime lastModified) {
-    this.lastModified = lastModified;
-    return this;
-  }
-
-   /**
-   * Get lastModified
-   * @return lastModified
-  **/
-  @Schema(description = "")
-  public OffsetDateTime getLastModified() {
-    return lastModified;
-  }
-
-  public void setLastModified(OffsetDateTime lastModified) {
-    this.lastModified = lastModified;
-  }
-
-
-  @Override
-  public boolean equals(Object o) {
-    if (this == o) {
-      return true;
-    }
-    if (o == null || getClass() != o.getClass()) {
-      return false;
-    }
-    IdentifierDto identifierDto = (IdentifierDto) o;
-    return Objects.equals(this.id, identifierDto.id) &&
-        Objects.equals(this.type, identifierDto.type) &&
-        Objects.equals(this.title, identifierDto.title) &&
-        Objects.equals(this.description, identifierDto.description) &&
-        Objects.equals(this.query, identifierDto.query) &&
-        Objects.equals(this.execution, identifierDto.execution) &&
-        Objects.equals(this.visibility, identifierDto.visibility) &&
-        Objects.equals(this.doi, identifierDto.doi) &&
-        Objects.equals(this.publisher, identifierDto.publisher) &&
-        Objects.equals(this.language, identifierDto.language) &&
-        Objects.equals(this.license, identifierDto.license) &&
-        Objects.equals(this.creators, identifierDto.creators) &&
-        Objects.equals(this.created, identifierDto.created) &&
-        Objects.equals(this.containerId, identifierDto.containerId) &&
-        Objects.equals(this.databaseId, identifierDto.databaseId) &&
-        Objects.equals(this.queryId, identifierDto.queryId) &&
-        Objects.equals(this.queryNormalized, identifierDto.queryNormalized) &&
-        Objects.equals(this.related, identifierDto.related) &&
-        Objects.equals(this.queryHash, identifierDto.queryHash) &&
-        Objects.equals(this.resultHash, identifierDto.resultHash) &&
-        Objects.equals(this.resultNumber, identifierDto.resultNumber) &&
-        Objects.equals(this.publicationDay, identifierDto.publicationDay) &&
-        Objects.equals(this.publicationMonth, identifierDto.publicationMonth) &&
-        Objects.equals(this.publicationYear, identifierDto.publicationYear) &&
-        Objects.equals(this.lastModified, identifierDto.lastModified);
-  }
-
-  @Override
-  public int hashCode() {
-    return Objects.hash(id, type, title, description, query, execution, visibility, doi, publisher, language, license, creators, created, containerId, databaseId, queryId, queryNormalized, related, queryHash, resultHash, resultNumber, publicationDay, publicationMonth, publicationYear, lastModified);
-  }
-
-
-  @Override
-  public String toString() {
-    StringBuilder sb = new StringBuilder();
-    sb.append("class IdentifierDto {\n");
-    
-    sb.append("    id: ").append(toIndentedString(id)).append("\n");
-    sb.append("    type: ").append(toIndentedString(type)).append("\n");
-    sb.append("    title: ").append(toIndentedString(title)).append("\n");
-    sb.append("    description: ").append(toIndentedString(description)).append("\n");
-    sb.append("    query: ").append(toIndentedString(query)).append("\n");
-    sb.append("    execution: ").append(toIndentedString(execution)).append("\n");
-    sb.append("    visibility: ").append(toIndentedString(visibility)).append("\n");
-    sb.append("    doi: ").append(toIndentedString(doi)).append("\n");
-    sb.append("    publisher: ").append(toIndentedString(publisher)).append("\n");
-    sb.append("    language: ").append(toIndentedString(language)).append("\n");
-    sb.append("    license: ").append(toIndentedString(license)).append("\n");
-    sb.append("    creators: ").append(toIndentedString(creators)).append("\n");
-    sb.append("    created: ").append(toIndentedString(created)).append("\n");
-    sb.append("    containerId: ").append(toIndentedString(containerId)).append("\n");
-    sb.append("    databaseId: ").append(toIndentedString(databaseId)).append("\n");
-    sb.append("    queryId: ").append(toIndentedString(queryId)).append("\n");
-    sb.append("    queryNormalized: ").append(toIndentedString(queryNormalized)).append("\n");
-    sb.append("    related: ").append(toIndentedString(related)).append("\n");
-    sb.append("    queryHash: ").append(toIndentedString(queryHash)).append("\n");
-    sb.append("    resultHash: ").append(toIndentedString(resultHash)).append("\n");
-    sb.append("    resultNumber: ").append(toIndentedString(resultNumber)).append("\n");
-    sb.append("    publicationDay: ").append(toIndentedString(publicationDay)).append("\n");
-    sb.append("    publicationMonth: ").append(toIndentedString(publicationMonth)).append("\n");
-    sb.append("    publicationYear: ").append(toIndentedString(publicationYear)).append("\n");
-    sb.append("    lastModified: ").append(toIndentedString(lastModified)).append("\n");
-    sb.append("}");
-    return sb.toString();
-  }
-
-  /**
-   * Convert the given object to string with each line indented by 4 spaces
-   * (except the first line).
-   */
-  private String toIndentedString(Object o) {
-    if (o == null) {
-      return "null";
-    }
-    return o.toString().replace("\n", "\n    ");
-  }
-
-}
diff --git a/.java-stubs/src/main/java/io/swagger/client/model/ImageBriefDto.java b/.java-stubs/src/main/java/io/swagger/client/model/ImageBriefDto.java
deleted file mode 100644
index d2ae31a12d..0000000000
--- a/.java-stubs/src/main/java/io/swagger/client/model/ImageBriefDto.java
+++ /dev/null
@@ -1,137 +0,0 @@
-/*
- * Database Repository Container Service API
- * Service that manages the containers
- *
- * OpenAPI spec version: 1.1.0-alpha
- * Contact: andreas.rauber@tuwien.ac.at
- *
- * NOTE: This class is auto generated by the swagger code generator program.
- * https://github.com/swagger-api/swagger-codegen.git
- * Do not edit the class manually.
- */
-
-package io.swagger.client.model;
-
-import java.util.Objects;
-import java.util.Arrays;
-import com.google.gson.TypeAdapter;
-import com.google.gson.annotations.JsonAdapter;
-import com.google.gson.annotations.SerializedName;
-import com.google.gson.stream.JsonReader;
-import com.google.gson.stream.JsonWriter;
-import io.swagger.v3.oas.annotations.media.Schema;
-import java.io.IOException;
-/**
- * ImageBriefDto
- */
-
-@javax.annotation.Generated(value = "io.swagger.codegen.v3.generators.java.JavaClientCodegen", date = "2023-02-12T11:48:18.502846+01:00[Europe/Vienna]")
-public class ImageBriefDto {
-  @SerializedName("id")
-  private Long id = null;
-
-  @SerializedName("repository")
-  private String repository = null;
-
-  @SerializedName("tag")
-  private String tag = null;
-
-  public ImageBriefDto id(Long id) {
-    this.id = id;
-    return this;
-  }
-
-   /**
-   * Get id
-   * @return id
-  **/
-  @Schema(required = true, description = "")
-  public Long getId() {
-    return id;
-  }
-
-  public void setId(Long id) {
-    this.id = id;
-  }
-
-  public ImageBriefDto repository(String repository) {
-    this.repository = repository;
-    return this;
-  }
-
-   /**
-   * Get repository
-   * @return repository
-  **/
-  @Schema(example = "mariadb", required = true, description = "")
-  public String getRepository() {
-    return repository;
-  }
-
-  public void setRepository(String repository) {
-    this.repository = repository;
-  }
-
-  public ImageBriefDto tag(String tag) {
-    this.tag = tag;
-    return this;
-  }
-
-   /**
-   * Get tag
-   * @return tag
-  **/
-  @Schema(example = "10.5", required = true, description = "")
-  public String getTag() {
-    return tag;
-  }
-
-  public void setTag(String tag) {
-    this.tag = tag;
-  }
-
-
-  @Override
-  public boolean equals(Object o) {
-    if (this == o) {
-      return true;
-    }
-    if (o == null || getClass() != o.getClass()) {
-      return false;
-    }
-    ImageBriefDto imageBriefDto = (ImageBriefDto) o;
-    return Objects.equals(this.id, imageBriefDto.id) &&
-        Objects.equals(this.repository, imageBriefDto.repository) &&
-        Objects.equals(this.tag, imageBriefDto.tag);
-  }
-
-  @Override
-  public int hashCode() {
-    return Objects.hash(id, repository, tag);
-  }
-
-
-  @Override
-  public String toString() {
-    StringBuilder sb = new StringBuilder();
-    sb.append("class ImageBriefDto {\n");
-    
-    sb.append("    id: ").append(toIndentedString(id)).append("\n");
-    sb.append("    repository: ").append(toIndentedString(repository)).append("\n");
-    sb.append("    tag: ").append(toIndentedString(tag)).append("\n");
-    sb.append("}");
-    return sb.toString();
-  }
-
-  /**
-   * Convert the given object to string with each line indented by 4 spaces
-   * (except the first line).
-   */
-  private String toIndentedString(Object o) {
-    if (o == null) {
-      return "null";
-    }
-    return o.toString().replace("\n", "\n    ");
-  }
-
-}
diff --git a/.java-stubs/src/main/java/io/swagger/client/model/ImageChangeDto.java b/.java-stubs/src/main/java/io/swagger/client/model/ImageChangeDto.java
deleted file mode 100644
index b8f65e8d1e..0000000000
--- a/.java-stubs/src/main/java/io/swagger/client/model/ImageChangeDto.java
+++ /dev/null
@@ -1,196 +0,0 @@
-/*
- * Database Repository Container Service API
- * Service that manages the containers
- *
- * OpenAPI spec version: 1.1.0-alpha
- * Contact: andreas.rauber@tuwien.ac.at
- *
- * NOTE: This class is auto generated by the swagger code generator program.
- * https://github.com/swagger-api/swagger-codegen.git
- * Do not edit the class manually.
- */
-
-package io.swagger.client.model;
-
-import java.util.Objects;
-import java.util.Arrays;
-import com.google.gson.TypeAdapter;
-import com.google.gson.annotations.JsonAdapter;
-import com.google.gson.annotations.SerializedName;
-import com.google.gson.stream.JsonReader;
-import com.google.gson.stream.JsonWriter;
-import io.swagger.client.model.ImageEnvItemDto;
-import io.swagger.v3.oas.annotations.media.Schema;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.List;
-/**
- * ImageChangeDto
- */
-
-@javax.annotation.Generated(value = "io.swagger.codegen.v3.generators.java.JavaClientCodegen", date = "2023-02-12T11:48:18.502846+01:00[Europe/Vienna]")
-public class ImageChangeDto {
-  @SerializedName("defaultPort")
-  private Integer defaultPort = null;
-
-  @SerializedName("environment")
-  private List<ImageEnvItemDto> environment = null;
-
-  @SerializedName("dialect")
-  private String dialect = null;
-
-  @SerializedName("driver_class")
-  private String driverClass = null;
-
-  @SerializedName("jdbc_method")
-  private String jdbcMethod = null;
-
-  public ImageChangeDto defaultPort(Integer defaultPort) {
-    this.defaultPort = defaultPort;
-    return this;
-  }
-
-   /**
-   * Get defaultPort
-   * minimum: 1024
-   * maximum: 65535
-   * @return defaultPort
-  **/
-  @Schema(example = "5432", description = "")
-  public Integer getDefaultPort() {
-    return defaultPort;
-  }
-
-  public void setDefaultPort(Integer defaultPort) {
-    this.defaultPort = defaultPort;
-  }
-
-  public ImageChangeDto environment(List<ImageEnvItemDto> environment) {
-    this.environment = environment;
-    return this;
-  }
-
-  public ImageChangeDto addEnvironmentItem(ImageEnvItemDto environmentItem) {
-    if (this.environment == null) {
-      this.environment = new ArrayList<ImageEnvItemDto>();
-    }
-    this.environment.add(environmentItem);
-    return this;
-  }
-
-   /**
-   * Get environment
-   * @return environment
-  **/
-  @Schema(description = "")
-  public List<ImageEnvItemDto> getEnvironment() {
-    return environment;
-  }
-
-  public void setEnvironment(List<ImageEnvItemDto> environment) {
-    this.environment = environment;
-  }
-
-  public ImageChangeDto dialect(String dialect) {
-    this.dialect = dialect;
-    return this;
-  }
-
-   /**
-   * Get dialect
-   * @return dialect
-  **/
-  @Schema(example = "Postgres", required = true, description = "")
-  public String getDialect() {
-    return dialect;
-  }
-
-  public void setDialect(String dialect) {
-    this.dialect = dialect;
-  }
-
-  public ImageChangeDto driverClass(String driverClass) {
-    this.driverClass = driverClass;
-    return this;
-  }
-
-   /**
-   * Get driverClass
-   * @return driverClass
-  **/
-  @Schema(example = "org.postgresql.Driver", required = true, description = "")
-  public String getDriverClass() {
-    return driverClass;
-  }
-
-  public void setDriverClass(String driverClass) {
-    this.driverClass = driverClass;
-  }
-
-  public ImageChangeDto jdbcMethod(String jdbcMethod) {
-    this.jdbcMethod = jdbcMethod;
-    return this;
-  }
-
-   /**
-   * Get jdbcMethod
-   * @return jdbcMethod
-  **/
-  @Schema(example = "postgresql", required = true, description = "")
-  public String getJdbcMethod() {
-    return jdbcMethod;
-  }
-
-  public void setJdbcMethod(String jdbcMethod) {
-    this.jdbcMethod = jdbcMethod;
-  }
-
-
-  @Override
-  public boolean equals(Object o) {
-    if (this == o) {
-      return true;
-    }
-    if (o == null || getClass() != o.getClass()) {
-      return false;
-    }
-    ImageChangeDto imageChangeDto = (ImageChangeDto) o;
-    return Objects.equals(this.defaultPort, imageChangeDto.defaultPort) &&
-        Objects.equals(this.environment, imageChangeDto.environment) &&
-        Objects.equals(this.dialect, imageChangeDto.dialect) &&
-        Objects.equals(this.driverClass, imageChangeDto.driverClass) &&
-        Objects.equals(this.jdbcMethod, imageChangeDto.jdbcMethod);
-  }
-
-  @Override
-  public int hashCode() {
-    return Objects.hash(defaultPort, environment, dialect, driverClass, jdbcMethod);
-  }
-
-
-  @Override
-  public String toString() {
-    StringBuilder sb = new StringBuilder();
-    sb.append("class ImageChangeDto {\n");
-    
-    sb.append("    defaultPort: ").append(toIndentedString(defaultPort)).append("\n");
-    sb.append("    environment: ").append(toIndentedString(environment)).append("\n");
-    sb.append("    dialect: ").append(toIndentedString(dialect)).append("\n");
-    sb.append("    driverClass: ").append(toIndentedString(driverClass)).append("\n");
-    sb.append("    jdbcMethod: ").append(toIndentedString(jdbcMethod)).append("\n");
-    sb.append("}");
-    return sb.toString();
-  }
-
-  /**
-   * Convert the given object to string with each line indented by 4 spaces
-   * (except the first line).
-   */
-  private String toIndentedString(Object o) {
-    if (o == null) {
-      return "null";
-    }
-    return o.toString().replace("\n", "\n    ");
-  }
-
-}
diff --git a/.java-stubs/src/main/java/io/swagger/client/model/ImageCreateDto.java b/.java-stubs/src/main/java/io/swagger/client/model/ImageCreateDto.java
deleted file mode 100644
index 3260671ca7..0000000000
--- a/.java-stubs/src/main/java/io/swagger/client/model/ImageCreateDto.java
+++ /dev/null
@@ -1,240 +0,0 @@
-/*
- * Database Repository Container Service API
- * Service that manages the containers
- *
- * OpenAPI spec version: 1.1.0-alpha
- * Contact: andreas.rauber@tuwien.ac.at
- *
- * NOTE: This class is auto generated by the swagger code generator program.
- * https://github.com/swagger-api/swagger-codegen.git
- * Do not edit the class manually.
- */
-
-package io.swagger.client.model;
-
-import java.util.Objects;
-import java.util.Arrays;
-import com.google.gson.TypeAdapter;
-import com.google.gson.annotations.JsonAdapter;
-import com.google.gson.annotations.SerializedName;
-import com.google.gson.stream.JsonReader;
-import com.google.gson.stream.JsonWriter;
-import io.swagger.client.model.ImageEnvItemDto;
-import io.swagger.v3.oas.annotations.media.Schema;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.List;
-/**
- * ImageCreateDto
- */
-
-@javax.annotation.Generated(value = "io.swagger.codegen.v3.generators.java.JavaClientCodegen", date = "2023-02-12T11:48:18.502846+01:00[Europe/Vienna]")
-public class ImageCreateDto {
-  @SerializedName("repository")
-  private String repository = null;
-
-  @SerializedName("tag")
-  private String tag = null;
-
-  @SerializedName("dialect")
-  private String dialect = null;
-
-  @SerializedName("environment")
-  private List<ImageEnvItemDto> environment = null;
-
-  @SerializedName("driver_class")
-  private String driverClass = null;
-
-  @SerializedName("jdbc_method")
-  private String jdbcMethod = null;
-
-  @SerializedName("default_port")
-  private Integer defaultPort = null;
-
-  public ImageCreateDto repository(String repository) {
-    this.repository = repository;
-    return this;
-  }
-
-   /**
-   * Get repository
-   * @return repository
-  **/
-  @Schema(example = "mariadb", required = true, description = "")
-  public String getRepository() {
-    return repository;
-  }
-
-  public void setRepository(String repository) {
-    this.repository = repository;
-  }
-
-  public ImageCreateDto tag(String tag) {
-    this.tag = tag;
-    return this;
-  }
-
-   /**
-   * Get tag
-   * @return tag
-  **/
-  @Schema(required = true, description = "")
-  public String getTag() {
-    return tag;
-  }
-
-  public void setTag(String tag) {
-    this.tag = tag;
-  }
-
-  public ImageCreateDto dialect(String dialect) {
-    this.dialect = dialect;
-    return this;
-  }
-
-   /**
-   * Get dialect
-   * @return dialect
-  **/
-  @Schema(required = true, description = "")
-  public String getDialect() {
-    return dialect;
-  }
-
-  public void setDialect(String dialect) {
-    this.dialect = dialect;
-  }
-
-  public ImageCreateDto environment(List<ImageEnvItemDto> environment) {
-    this.environment = environment;
-    return this;
-  }
-
-  public ImageCreateDto addEnvironmentItem(ImageEnvItemDto environmentItem) {
-    if (this.environment == null) {
-      this.environment = new ArrayList<ImageEnvItemDto>();
-    }
-    this.environment.add(environmentItem);
-    return this;
-  }
-
-   /**
-   * Get environment
-   * @return environment
-  **/
-  @Schema(description = "")
-  public List<ImageEnvItemDto> getEnvironment() {
-    return environment;
-  }
-
-  public void setEnvironment(List<ImageEnvItemDto> environment) {
-    this.environment = environment;
-  }
-
-  public ImageCreateDto driverClass(String driverClass) {
-    this.driverClass = driverClass;
-    return this;
-  }
-
-   /**
-   * Get driverClass
-   * @return driverClass
-  **/
-  @Schema(required = true, description = "")
-  public String getDriverClass() {
-    return driverClass;
-  }
-
-  public void setDriverClass(String driverClass) {
-    this.driverClass = driverClass;
-  }
-
-  public ImageCreateDto jdbcMethod(String jdbcMethod) {
-    this.jdbcMethod = jdbcMethod;
-    return this;
-  }
-
-   /**
-   * Get jdbcMethod
-   * @return jdbcMethod
-  **/
-  @Schema(required = true, description = "")
-  public String getJdbcMethod() {
-    return jdbcMethod;
-  }
-
-  public void setJdbcMethod(String jdbcMethod) {
-    this.jdbcMethod = jdbcMethod;
-  }
-
-  public ImageCreateDto defaultPort(Integer defaultPort) {
-    this.defaultPort = defaultPort;
-    return this;
-  }
-
-   /**
-   * Get defaultPort
-   * @return defaultPort
-  **/
-  @Schema(required = true, description = "")
-  public Integer getDefaultPort() {
-    return defaultPort;
-  }
-
-  public void setDefaultPort(Integer defaultPort) {
-    this.defaultPort = defaultPort;
-  }
-
-
-  @Override
-  public boolean equals(Object o) {
-    if (this == o) {
-      return true;
-    }
-    if (o == null || getClass() != o.getClass()) {
-      return false;
-    }
-    ImageCreateDto imageCreateDto = (ImageCreateDto) o;
-    return Objects.equals(this.repository, imageCreateDto.repository) &&
-        Objects.equals(this.tag, imageCreateDto.tag) &&
-        Objects.equals(this.dialect, imageCreateDto.dialect) &&
-        Objects.equals(this.environment, imageCreateDto.environment) &&
-        Objects.equals(this.driverClass, imageCreateDto.driverClass) &&
-        Objects.equals(this.jdbcMethod, imageCreateDto.jdbcMethod) &&
-        Objects.equals(this.defaultPort, imageCreateDto.defaultPort);
-  }
-
-  @Override
-  public int hashCode() {
-    return Objects.hash(repository, tag, dialect, environment, driverClass, jdbcMethod, defaultPort);
-  }
-
-
-  @Override
-  public String toString() {
-    StringBuilder sb = new StringBuilder();
-    sb.append("class ImageCreateDto {\n");
-    
-    sb.append("    repository: ").append(toIndentedString(repository)).append("\n");
-    sb.append("    tag: ").append(toIndentedString(tag)).append("\n");
-    sb.append("    dialect: ").append(toIndentedString(dialect)).append("\n");
-    sb.append("    environment: ").append(toIndentedString(environment)).append("\n");
-    sb.append("    driverClass: ").append(toIndentedString(driverClass)).append("\n");
-    sb.append("    jdbcMethod: ").append(toIndentedString(jdbcMethod)).append("\n");
-    sb.append("    defaultPort: ").append(toIndentedString(defaultPort)).append("\n");
-    sb.append("}");
-    return sb.toString();
-  }
-
-  /**
-   * Convert the given object to string with each line indented by 4 spaces
-   * (except the first line).
-   */
-  private String toIndentedString(Object o) {
-    if (o == null) {
-      return "null";
-    }
-    return o.toString().replace("\n", "\n    ");
-  }
-
-}
diff --git a/.java-stubs/src/main/java/io/swagger/client/model/ImageDateDto.java b/.java-stubs/src/main/java/io/swagger/client/model/ImageDateDto.java
deleted file mode 100644
index 632d57bbab..0000000000
--- a/.java-stubs/src/main/java/io/swagger/client/model/ImageDateDto.java
+++ /dev/null
@@ -1,207 +0,0 @@
-/*
- * Database Repository Container Service API
- * Service that manages the containers
- *
- * OpenAPI spec version: 1.1.0-alpha
- * Contact: andreas.rauber@tuwien.ac.at
- *
- * NOTE: This class is auto generated by the swagger code generator program.
- * https://github.com/swagger-api/swagger-codegen.git
- * Do not edit the class manually.
- */
-
-package io.swagger.client.model;
-
-import java.util.Objects;
-import java.util.Arrays;
-import com.google.gson.TypeAdapter;
-import com.google.gson.annotations.JsonAdapter;
-import com.google.gson.annotations.SerializedName;
-import com.google.gson.stream.JsonReader;
-import com.google.gson.stream.JsonWriter;
-import io.swagger.v3.oas.annotations.media.Schema;
-import java.io.IOException;
-import org.threeten.bp.OffsetDateTime;
-/**
- * ImageDateDto
- */
-
-@javax.annotation.Generated(value = "io.swagger.codegen.v3.generators.java.JavaClientCodegen", date = "2023-02-12T11:48:18.502846+01:00[Europe/Vienna]")
-public class ImageDateDto {
-  @SerializedName("id")
-  private Long id = null;
-
-  @SerializedName("example")
-  private String example = null;
-
-  @SerializedName("database_format")
-  private String databaseFormat = null;
-
-  @SerializedName("unix_format")
-  private String unixFormat = null;
-
-  @SerializedName("has_time")
-  private Boolean hasTime = null;
-
-  @SerializedName("created_at")
-  private OffsetDateTime createdAt = null;
-
-  public ImageDateDto id(Long id) {
-    this.id = id;
-    return this;
-  }
-
-   /**
-   * Get id
-   * @return id
-  **/
-  @Schema(required = true, description = "")
-  public Long getId() {
-    return id;
-  }
-
-  public void setId(Long id) {
-    this.id = id;
-  }
-
-  public ImageDateDto example(String example) {
-    this.example = example;
-    return this;
-  }
-
-   /**
-   * Get example
-   * @return example
-  **/
-  @Schema(example = "30.01.2022", required = true, description = "")
-  public String getExample() {
-    return example;
-  }
-
-  public void setExample(String example) {
-    this.example = example;
-  }
-
-  public ImageDateDto databaseFormat(String databaseFormat) {
-    this.databaseFormat = databaseFormat;
-    return this;
-  }
-
-   /**
-   * Get databaseFormat
-   * @return databaseFormat
-  **/
-  @Schema(example = "%d.%c.%Y", required = true, description = "")
-  public String getDatabaseFormat() {
-    return databaseFormat;
-  }
-
-  public void setDatabaseFormat(String databaseFormat) {
-    this.databaseFormat = databaseFormat;
-  }
-
-  public ImageDateDto unixFormat(String unixFormat) {
-    this.unixFormat = unixFormat;
-    return this;
-  }
-
-   /**
-   * Get unixFormat
-   * @return unixFormat
-  **/
-  @Schema(example = "dd.MM.YYYY", required = true, description = "")
-  public String getUnixFormat() {
-    return unixFormat;
-  }
-
-  public void setUnixFormat(String unixFormat) {
-    this.unixFormat = unixFormat;
-  }
-
-  public ImageDateDto hasTime(Boolean hasTime) {
-    this.hasTime = hasTime;
-    return this;
-  }
-
-   /**
-   * Get hasTime
-   * @return hasTime
-  **/
-  @Schema(example = "false", required = true, description = "")
-  public Boolean isHasTime() {
-    return hasTime;
-  }
-
-  public void setHasTime(Boolean hasTime) {
-    this.hasTime = hasTime;
-  }
-
-  public ImageDateDto createdAt(OffsetDateTime createdAt) {
-    this.createdAt = createdAt;
-    return this;
-  }
-
-   /**
-   * Get createdAt
-   * @return createdAt
-  **/
-  @Schema(description = "")
-  public OffsetDateTime getCreatedAt() {
-    return createdAt;
-  }
-
-  public void setCreatedAt(OffsetDateTime createdAt) {
-    this.createdAt = createdAt;
-  }
-
-
-  @Override
-  public boolean equals(Object o) {
-    if (this == o) {
-      return true;
-    }
-    if (o == null || getClass() != o.getClass()) {
-      return false;
-    }
-    ImageDateDto imageDateDto = (ImageDateDto) o;
-    return Objects.equals(this.id, imageDateDto.id) &&
-        Objects.equals(this.example, imageDateDto.example) &&
-        Objects.equals(this.databaseFormat, imageDateDto.databaseFormat) &&
-        Objects.equals(this.unixFormat, imageDateDto.unixFormat) &&
-        Objects.equals(this.hasTime, imageDateDto.hasTime) &&
-        Objects.equals(this.createdAt, imageDateDto.createdAt);
-  }
-
-  @Override
-  public int hashCode() {
-    return Objects.hash(id, example, databaseFormat, unixFormat, hasTime, createdAt);
-  }
-
-
-  @Override
-  public String toString() {
-    StringBuilder sb = new StringBuilder();
-    sb.append("class ImageDateDto {\n");
-    
-    sb.append("    id: ").append(toIndentedString(id)).append("\n");
-    sb.append("    example: ").append(toIndentedString(example)).append("\n");
-    sb.append("    databaseFormat: ").append(toIndentedString(databaseFormat)).append("\n");
-    sb.append("    unixFormat: ").append(toIndentedString(unixFormat)).append("\n");
-    sb.append("    hasTime: ").append(toIndentedString(hasTime)).append("\n");
-    sb.append("    createdAt: ").append(toIndentedString(createdAt)).append("\n");
-    sb.append("}");
-    return sb.toString();
-  }
-
-  /**
-   * Convert the given object to string with each line indented by 4 spaces
-   * (except the first line).
-   */
-  private String toIndentedString(Object o) {
-    if (o == null) {
-      return "null";
-    }
-    return o.toString().replace("\n", "\n    ");
-  }
-
-}
diff --git a/.java-stubs/src/main/java/io/swagger/client/model/ImageDto.java b/.java-stubs/src/main/java/io/swagger/client/model/ImageDto.java
deleted file mode 100644
index 2649563381..0000000000
--- a/.java-stubs/src/main/java/io/swagger/client/model/ImageDto.java
+++ /dev/null
@@ -1,362 +0,0 @@
-/*
- * Database Repository Container Service API
- * Service that manages the containers
- *
- * OpenAPI spec version: 1.1.0-alpha
- * Contact: andreas.rauber@tuwien.ac.at
- *
- * NOTE: This class is auto generated by the swagger code generator program.
- * https://github.com/swagger-api/swagger-codegen.git
- * Do not edit the class manually.
- */
-
-package io.swagger.client.model;
-
-import java.util.Objects;
-import java.util.Arrays;
-import com.google.gson.TypeAdapter;
-import com.google.gson.annotations.JsonAdapter;
-import com.google.gson.annotations.SerializedName;
-import com.google.gson.stream.JsonReader;
-import com.google.gson.stream.JsonWriter;
-import io.swagger.client.model.ImageDateDto;
-import io.swagger.client.model.ImageEnvItemDto;
-import io.swagger.v3.oas.annotations.media.Schema;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.List;
-import org.threeten.bp.OffsetDateTime;
-/**
- * ImageDto
- */
-
-@javax.annotation.Generated(value = "io.swagger.codegen.v3.generators.java.JavaClientCodegen", date = "2023-02-12T11:48:18.502846+01:00[Europe/Vienna]")
-public class ImageDto {
-  @SerializedName("id")
-  private Long id = null;
-
-  @SerializedName("repository")
-  private String repository = null;
-
-  @SerializedName("tag")
-  private String tag = null;
-
-  @SerializedName("dialect")
-  private String dialect = null;
-
-  @SerializedName("hash")
-  private String hash = null;
-
-  @SerializedName("compiled")
-  private OffsetDateTime compiled = null;
-
-  @SerializedName("size")
-  private Integer size = null;
-
-  @SerializedName("environment")
-  private List<ImageEnvItemDto> environment = new ArrayList<ImageEnvItemDto>();
-
-  @SerializedName("driver_class")
-  private String driverClass = null;
-
-  @SerializedName("date_formats")
-  private List<ImageDateDto> dateFormats = null;
-
-  @SerializedName("jdbc_method")
-  private String jdbcMethod = null;
-
-  @SerializedName("default_port")
-  private Integer defaultPort = null;
-
-  public ImageDto id(Long id) {
-    this.id = id;
-    return this;
-  }
-
-   /**
-   * Get id
-   * @return id
-  **/
-  @Schema(required = true, description = "")
-  public Long getId() {
-    return id;
-  }
-
-  public void setId(Long id) {
-    this.id = id;
-  }
-
-  public ImageDto repository(String repository) {
-    this.repository = repository;
-    return this;
-  }
-
-   /**
-   * Get repository
-   * @return repository
-  **/
-  @Schema(example = "mariadb", required = true, description = "")
-  public String getRepository() {
-    return repository;
-  }
-
-  public void setRepository(String repository) {
-    this.repository = repository;
-  }
-
-  public ImageDto tag(String tag) {
-    this.tag = tag;
-    return this;
-  }
-
-   /**
-   * Get tag
-   * @return tag
-  **/
-  @Schema(example = "10.5", required = true, description = "")
-  public String getTag() {
-    return tag;
-  }
-
-  public void setTag(String tag) {
-    this.tag = tag;
-  }
-
-  public ImageDto dialect(String dialect) {
-    this.dialect = dialect;
-    return this;
-  }
-
-   /**
-   * Get dialect
-   * @return dialect
-  **/
-  @Schema(example = "org.hibernate.dialect.MariaDBDialect", required = true, description = "")
-  public String getDialect() {
-    return dialect;
-  }
-
-  public void setDialect(String dialect) {
-    this.dialect = dialect;
-  }
-
-  public ImageDto hash(String hash) {
-    this.hash = hash;
-    return this;
-  }
-
-   /**
-   * Get hash
-   * @return hash
-  **/
-  @Schema(example = "sha256:c5ec7353d87dfc35067e7bffeb25d6a0d52dad41e8b7357213e3b12d6e7ff78e", description = "")
-  public String getHash() {
-    return hash;
-  }
-
-  public void setHash(String hash) {
-    this.hash = hash;
-  }
-
-  public ImageDto compiled(OffsetDateTime compiled) {
-    this.compiled = compiled;
-    return this;
-  }
-
-   /**
-   * Get compiled
-   * @return compiled
-  **/
-  @Schema(example = "2021-03-12T15:26:21.678396092Z", description = "")
-  public OffsetDateTime getCompiled() {
-    return compiled;
-  }
-
-  public void setCompiled(OffsetDateTime compiled) {
-    this.compiled = compiled;
-  }
-
-  public ImageDto size(Integer size) {
-    this.size = size;
-    return this;
-  }
-
-   /**
-   * Get size
-   * @return size
-  **/
-  @Schema(example = "314295447", description = "")
-  public Integer getSize() {
-    return size;
-  }
-
-  public void setSize(Integer size) {
-    this.size = size;
-  }
-
-  public ImageDto environment(List<ImageEnvItemDto> environment) {
-    this.environment = environment;
-    return this;
-  }
-
-  public ImageDto addEnvironmentItem(ImageEnvItemDto environmentItem) {
-    this.environment.add(environmentItem);
-    return this;
-  }
-
-   /**
-   * Get environment
-   * @return environment
-  **/
-  @Schema(required = true, description = "")
-  public List<ImageEnvItemDto> getEnvironment() {
-    return environment;
-  }
-
-  public void setEnvironment(List<ImageEnvItemDto> environment) {
-    this.environment = environment;
-  }
-
-  public ImageDto driverClass(String driverClass) {
-    this.driverClass = driverClass;
-    return this;
-  }
-
-   /**
-   * Get driverClass
-   * @return driverClass
-  **/
-  @Schema(example = "org.mariadb.jdbc.Driver", required = true, description = "")
-  public String getDriverClass() {
-    return driverClass;
-  }
-
-  public void setDriverClass(String driverClass) {
-    this.driverClass = driverClass;
-  }
-
-  public ImageDto dateFormats(List<ImageDateDto> dateFormats) {
-    this.dateFormats = dateFormats;
-    return this;
-  }
-
-  public ImageDto addDateFormatsItem(ImageDateDto dateFormatsItem) {
-    if (this.dateFormats == null) {
-      this.dateFormats = new ArrayList<ImageDateDto>();
-    }
-    this.dateFormats.add(dateFormatsItem);
-    return this;
-  }
-
-   /**
-   * Get dateFormats
-   * @return dateFormats
-  **/
-  @Schema(description = "")
-  public List<ImageDateDto> getDateFormats() {
-    return dateFormats;
-  }
-
-  public void setDateFormats(List<ImageDateDto> dateFormats) {
-    this.dateFormats = dateFormats;
-  }
-
-  public ImageDto jdbcMethod(String jdbcMethod) {
-    this.jdbcMethod = jdbcMethod;
-    return this;
-  }
-
-   /**
-   * Get jdbcMethod
-   * @return jdbcMethod
-  **/
-  @Schema(example = "mariadb", required = true, description = "")
-  public String getJdbcMethod() {
-    return jdbcMethod;
-  }
-
-  public void setJdbcMethod(String jdbcMethod) {
-    this.jdbcMethod = jdbcMethod;
-  }
-
-  public ImageDto defaultPort(Integer defaultPort) {
-    this.defaultPort = defaultPort;
-    return this;
-  }
-
-   /**
-   * Get defaultPort
-   * @return defaultPort
-  **/
-  @Schema(example = "3306", required = true, description = "")
-  public Integer getDefaultPort() {
-    return defaultPort;
-  }
-
-  public void setDefaultPort(Integer defaultPort) {
-    this.defaultPort = defaultPort;
-  }
-
-
-  @Override
-  public boolean equals(Object o) {
-    if (this == o) {
-      return true;
-    }
-    if (o == null || getClass() != o.getClass()) {
-      return false;
-    }
-    ImageDto imageDto = (ImageDto) o;
-    return Objects.equals(this.id, imageDto.id) &&
-        Objects.equals(this.repository, imageDto.repository) &&
-        Objects.equals(this.tag, imageDto.tag) &&
-        Objects.equals(this.dialect, imageDto.dialect) &&
-        Objects.equals(this.hash, imageDto.hash) &&
-        Objects.equals(this.compiled, imageDto.compiled) &&
-        Objects.equals(this.size, imageDto.size) &&
-        Objects.equals(this.environment, imageDto.environment) &&
-        Objects.equals(this.driverClass, imageDto.driverClass) &&
-        Objects.equals(this.dateFormats, imageDto.dateFormats) &&
-        Objects.equals(this.jdbcMethod, imageDto.jdbcMethod) &&
-        Objects.equals(this.defaultPort, imageDto.defaultPort);
-  }
-
-  @Override
-  public int hashCode() {
-    return Objects.hash(id, repository, tag, dialect, hash, compiled, size, environment, driverClass, dateFormats, jdbcMethod, defaultPort);
-  }
-
-
-  @Override
-  public String toString() {
-    StringBuilder sb = new StringBuilder();
-    sb.append("class ImageDto {\n");
-    
-    sb.append("    id: ").append(toIndentedString(id)).append("\n");
-    sb.append("    repository: ").append(toIndentedString(repository)).append("\n");
-    sb.append("    tag: ").append(toIndentedString(tag)).append("\n");
-    sb.append("    dialect: ").append(toIndentedString(dialect)).append("\n");
-    sb.append("    hash: ").append(toIndentedString(hash)).append("\n");
-    sb.append("    compiled: ").append(toIndentedString(compiled)).append("\n");
-    sb.append("    size: ").append(toIndentedString(size)).append("\n");
-    sb.append("    environment: ").append(toIndentedString(environment)).append("\n");
-    sb.append("    driverClass: ").append(toIndentedString(driverClass)).append("\n");
-    sb.append("    dateFormats: ").append(toIndentedString(dateFormats)).append("\n");
-    sb.append("    jdbcMethod: ").append(toIndentedString(jdbcMethod)).append("\n");
-    sb.append("    defaultPort: ").append(toIndentedString(defaultPort)).append("\n");
-    sb.append("}");
-    return sb.toString();
-  }
-
-  /**
-   * Convert the given object to string with each line indented by 4 spaces
-   * (except the first line).
-   */
-  private String toIndentedString(Object o) {
-    if (o == null) {
-      return "null";
-    }
-    return o.toString().replace("\n", "\n    ");
-  }
-
-}
diff --git a/.java-stubs/src/main/java/io/swagger/client/model/ImageEnvItemDto.java b/.java-stubs/src/main/java/io/swagger/client/model/ImageEnvItemDto.java
deleted file mode 100644
index bdd73d8fc3..0000000000
--- a/.java-stubs/src/main/java/io/swagger/client/model/ImageEnvItemDto.java
+++ /dev/null
@@ -1,203 +0,0 @@
-/*
- * Database Repository Container Service API
- * Service that manages the containers
- *
- * OpenAPI spec version: 1.1.0-alpha
- * Contact: andreas.rauber@tuwien.ac.at
- *
- * NOTE: This class is auto generated by the swagger code generator program.
- * https://github.com/swagger-api/swagger-codegen.git
- * Do not edit the class manually.
- */
-
-package io.swagger.client.model;
-
-import java.util.Objects;
-import java.util.Arrays;
-import com.google.gson.TypeAdapter;
-import com.google.gson.annotations.JsonAdapter;
-import com.google.gson.annotations.SerializedName;
-import com.google.gson.stream.JsonReader;
-import com.google.gson.stream.JsonWriter;
-import io.swagger.v3.oas.annotations.media.Schema;
-import java.io.IOException;
-/**
- * ImageEnvItemDto
- */
-
-@javax.annotation.Generated(value = "io.swagger.codegen.v3.generators.java.JavaClientCodegen", date = "2023-02-12T11:48:18.502846+01:00[Europe/Vienna]")
-public class ImageEnvItemDto {
-  @SerializedName("iid")
-  private Long iid = null;
-
-  @SerializedName("key")
-  private String key = null;
-
-  @SerializedName("value")
-  private String value = null;
-
-  /**
-   * Gets or Sets type
-   */
-  @JsonAdapter(TypeEnum.Adapter.class)
-  public enum TypeEnum {
-    USERNAME("username"),
-    PASSWORD("password"),
-    PRIVILEGED_USERNAME("privileged_username"),
-    PRIVILEGED_PASSWORD("privileged_password");
-
-    private String value;
-
-    TypeEnum(String value) {
-      this.value = value;
-    }
-    public String getValue() {
-      return value;
-    }
-
-    @Override
-    public String toString() {
-      return String.valueOf(value);
-    }
-    public static TypeEnum fromValue(String input) {
-      for (TypeEnum b : TypeEnum.values()) {
-        if (b.value.equals(input)) {
-          return b;
-        }
-      }
-      return null;
-    }
-    public static class Adapter extends TypeAdapter<TypeEnum> {
-      @Override
-      public void write(final JsonWriter jsonWriter, final TypeEnum enumeration) throws IOException {
-        jsonWriter.value(String.valueOf(enumeration.getValue()));
-      }
-
-      @Override
-      public TypeEnum read(final JsonReader jsonReader) throws IOException {
-        Object value = jsonReader.nextString();
-        return TypeEnum.fromValue((String)(value));
-      }
-    }
-  }  @SerializedName("type")
-  private TypeEnum type = null;
-
-  public ImageEnvItemDto iid(Long iid) {
-    this.iid = iid;
-    return this;
-  }
-
-   /**
-   * Get iid
-   * @return iid
-  **/
-  @Schema(required = true, description = "")
-  public Long getIid() {
-    return iid;
-  }
-
-  public void setIid(Long iid) {
-    this.iid = iid;
-  }
-
-  public ImageEnvItemDto key(String key) {
-    this.key = key;
-    return this;
-  }
-
-   /**
-   * Get key
-   * @return key
-  **/
-  @Schema(example = "MARIADB_ROOT_PASSWORD", required = true, description = "")
-  public String getKey() {
-    return key;
-  }
-
-  public void setKey(String key) {
-    this.key = key;
-  }
-
-  public ImageEnvItemDto value(String value) {
-    this.value = value;
-    return this;
-  }
-
-   /**
-   * Get value
-   * @return value
-  **/
-  @Schema(example = "mariadb", required = true, description = "")
-  public String getValue() {
-    return value;
-  }
-
-  public void setValue(String value) {
-    this.value = value;
-  }
-
-  public ImageEnvItemDto type(TypeEnum type) {
-    this.type = type;
-    return this;
-  }
-
-   /**
-   * Get type
-   * @return type
-  **/
-  @Schema(example = "PRIVILEGED_PASSWORD", required = true, description = "")
-  public TypeEnum getType() {
-    return type;
-  }
-
-  public void setType(TypeEnum type) {
-    this.type = type;
-  }
-
-
-  @Override
-  public boolean equals(Object o) {
-    if (this == o) {
-      return true;
-    }
-    if (o == null || getClass() != o.getClass()) {
-      return false;
-    }
-    ImageEnvItemDto imageEnvItemDto = (ImageEnvItemDto) o;
-    return Objects.equals(this.iid, imageEnvItemDto.iid) &&
-        Objects.equals(this.key, imageEnvItemDto.key) &&
-        Objects.equals(this.value, imageEnvItemDto.value) &&
-        Objects.equals(this.type, imageEnvItemDto.type);
-  }
-
-  @Override
-  public int hashCode() {
-    return Objects.hash(iid, key, value, type);
-  }
-
-
-  @Override
-  public String toString() {
-    StringBuilder sb = new StringBuilder();
-    sb.append("class ImageEnvItemDto {\n");
-    
-    sb.append("    iid: ").append(toIndentedString(iid)).append("\n");
-    sb.append("    key: ").append(toIndentedString(key)).append("\n");
-    sb.append("    value: ").append(toIndentedString(value)).append("\n");
-    sb.append("    type: ").append(toIndentedString(type)).append("\n");
-    sb.append("}");
-    return sb.toString();
-  }
-
-  /**
-   * Convert the given object to string with each line indented by 4 spaces
-   * (except the first line).
-   */
-  private String toIndentedString(Object o) {
-    if (o == null) {
-      return "null";
-    }
-    return o.toString().replace("\n", "\n    ");
-  }
-
-}
diff --git a/.java-stubs/src/main/java/io/swagger/client/model/ImportDto.java b/.java-stubs/src/main/java/io/swagger/client/model/ImportDto.java
deleted file mode 100644
index 2aa325af7f..0000000000
--- a/.java-stubs/src/main/java/io/swagger/client/model/ImportDto.java
+++ /dev/null
@@ -1,230 +0,0 @@
-/*
- * Database Repository Query Service API
- * Service that manages the queries
- *
- * OpenAPI spec version: 1.1.0-alpha
- * Contact: andreas.rauber@tuwien.ac.at
- *
- * NOTE: This class is auto generated by the swagger code generator program.
- * https://github.com/swagger-api/swagger-codegen.git
- * Do not edit the class manually.
- */
-
-package io.swagger.client.model;
-
-import java.util.Objects;
-import java.util.Arrays;
-import com.google.gson.TypeAdapter;
-import com.google.gson.annotations.JsonAdapter;
-import com.google.gson.annotations.SerializedName;
-import com.google.gson.stream.JsonReader;
-import com.google.gson.stream.JsonWriter;
-import io.swagger.v3.oas.annotations.media.Schema;
-import java.io.IOException;
-/**
- * ImportDto
- */
-
-@javax.annotation.Generated(value = "io.swagger.codegen.v3.generators.java.JavaClientCodegen", date = "2023-02-12T12:27:08.557443+01:00[Europe/Vienna]")
-public class ImportDto {
-  @SerializedName("location")
-  private String location = null;
-
-  @SerializedName("separator")
-  private String separator = null;
-
-  @SerializedName("quote")
-  private String quote = null;
-
-  @SerializedName("skip_lines")
-  private Long skipLines = null;
-
-  @SerializedName("false_element")
-  private String falseElement = null;
-
-  @SerializedName("true_element")
-  private String trueElement = null;
-
-  @SerializedName("null_element")
-  private String nullElement = null;
-
-  public ImportDto location(String location) {
-    this.location = location;
-    return this;
-  }
-
-   /**
-   * Get location
-   * @return location
-  **/
-  @Schema(example = "/tmp/file.csv", required = true, description = "")
-  public String getLocation() {
-    return location;
-  }
-
-  public void setLocation(String location) {
-    this.location = location;
-  }
-
-  public ImportDto separator(String separator) {
-    this.separator = separator;
-    return this;
-  }
-
-   /**
-   * Get separator
-   * @return separator
-  **/
-  @Schema(example = ",", required = true, description = "")
-  public String getSeparator() {
-    return separator;
-  }
-
-  public void setSeparator(String separator) {
-    this.separator = separator;
-  }
-
-  public ImportDto quote(String quote) {
-    this.quote = quote;
-    return this;
-  }
-
-   /**
-   * Get quote
-   * @return quote
-  **/
-  @Schema(example = "\"", description = "")
-  public String getQuote() {
-    return quote;
-  }
-
-  public void setQuote(String quote) {
-    this.quote = quote;
-  }
-
-  public ImportDto skipLines(Long skipLines) {
-    this.skipLines = skipLines;
-    return this;
-  }
-
-   /**
-   * Get skipLines
-   * minimum: 0
-   * @return skipLines
-  **/
-  @Schema(description = "")
-  public Long getSkipLines() {
-    return skipLines;
-  }
-
-  public void setSkipLines(Long skipLines) {
-    this.skipLines = skipLines;
-  }
-
-  public ImportDto falseElement(String falseElement) {
-    this.falseElement = falseElement;
-    return this;
-  }
-
-   /**
-   * Get falseElement
-   * @return falseElement
-  **/
-  @Schema(description = "")
-  public String getFalseElement() {
-    return falseElement;
-  }
-
-  public void setFalseElement(String falseElement) {
-    this.falseElement = falseElement;
-  }
-
-  public ImportDto trueElement(String trueElement) {
-    this.trueElement = trueElement;
-    return this;
-  }
-
-   /**
-   * Get trueElement
-   * @return trueElement
-  **/
-  @Schema(description = "")
-  public String getTrueElement() {
-    return trueElement;
-  }
-
-  public void setTrueElement(String trueElement) {
-    this.trueElement = trueElement;
-  }
-
-  public ImportDto nullElement(String nullElement) {
-    this.nullElement = nullElement;
-    return this;
-  }
-
-   /**
-   * Get nullElement
-   * @return nullElement
-  **/
-  @Schema(example = "NA", description = "")
-  public String getNullElement() {
-    return nullElement;
-  }
-
-  public void setNullElement(String nullElement) {
-    this.nullElement = nullElement;
-  }
-
-
-  @Override
-  public boolean equals(Object o) {
-    if (this == o) {
-      return true;
-    }
-    if (o == null || getClass() != o.getClass()) {
-      return false;
-    }
-    ImportDto importDto = (ImportDto) o;
-    return Objects.equals(this.location, importDto.location) &&
-        Objects.equals(this.separator, importDto.separator) &&
-        Objects.equals(this.quote, importDto.quote) &&
-        Objects.equals(this.skipLines, importDto.skipLines) &&
-        Objects.equals(this.falseElement, importDto.falseElement) &&
-        Objects.equals(this.trueElement, importDto.trueElement) &&
-        Objects.equals(this.nullElement, importDto.nullElement);
-  }
-
-  @Override
-  public int hashCode() {
-    return Objects.hash(location, separator, quote, skipLines, falseElement, trueElement, nullElement);
-  }
-
-
-  @Override
-  public String toString() {
-    StringBuilder sb = new StringBuilder();
-    sb.append("class ImportDto {\n");
-    
-    sb.append("    location: ").append(toIndentedString(location)).append("\n");
-    sb.append("    separator: ").append(toIndentedString(separator)).append("\n");
-    sb.append("    quote: ").append(toIndentedString(quote)).append("\n");
-    sb.append("    skipLines: ").append(toIndentedString(skipLines)).append("\n");
-    sb.append("    falseElement: ").append(toIndentedString(falseElement)).append("\n");
-    sb.append("    trueElement: ").append(toIndentedString(trueElement)).append("\n");
-    sb.append("    nullElement: ").append(toIndentedString(nullElement)).append("\n");
-    sb.append("}");
-    return sb.toString();
-  }
-
-  /**
-   * Convert the given object to string with each line indented by 4 spaces
-   * (except the first line).
-   */
-  private String toIndentedString(Object o) {
-    if (o == null) {
-      return "null";
-    }
-    return o.toString().replace("\n", "\n    ");
-  }
-
-}
diff --git a/.java-stubs/src/main/java/io/swagger/client/model/LicenseDto.java b/.java-stubs/src/main/java/io/swagger/client/model/LicenseDto.java
deleted file mode 100644
index 05bfde4125..0000000000
--- a/.java-stubs/src/main/java/io/swagger/client/model/LicenseDto.java
+++ /dev/null
@@ -1,114 +0,0 @@
-/*
- * Database Repository Container Service API
- * Service that manages the containers
- *
- * OpenAPI spec version: 1.1.0-alpha
- * Contact: andreas.rauber@tuwien.ac.at
- *
- * NOTE: This class is auto generated by the swagger code generator program.
- * https://github.com/swagger-api/swagger-codegen.git
- * Do not edit the class manually.
- */
-
-package io.swagger.client.model;
-
-import java.util.Objects;
-import java.util.Arrays;
-import com.google.gson.TypeAdapter;
-import com.google.gson.annotations.JsonAdapter;
-import com.google.gson.annotations.SerializedName;
-import com.google.gson.stream.JsonReader;
-import com.google.gson.stream.JsonWriter;
-import io.swagger.v3.oas.annotations.media.Schema;
-import java.io.IOException;
-/**
- * LicenseDto
- */
-
-@javax.annotation.Generated(value = "io.swagger.codegen.v3.generators.java.JavaClientCodegen", date = "2023-02-12T11:48:18.502846+01:00[Europe/Vienna]")
-public class LicenseDto {
-  @SerializedName("identifier")
-  private String identifier = null;
-
-  @SerializedName("uri")
-  private String uri = null;
-
-  public LicenseDto identifier(String identifier) {
-    this.identifier = identifier;
-    return this;
-  }
-
-   /**
-   * Get identifier
-   * @return identifier
-  **/
-  @Schema(example = "MIT", required = true, description = "")
-  public String getIdentifier() {
-    return identifier;
-  }
-
-  public void setIdentifier(String identifier) {
-    this.identifier = identifier;
-  }
-
-  public LicenseDto uri(String uri) {
-    this.uri = uri;
-    return this;
-  }
-
-   /**
-   * Get uri
-   * @return uri
-  **/
-  @Schema(example = "https://opensource.org/licenses/MIT", required = true, description = "")
-  public String getUri() {
-    return uri;
-  }
-
-  public void setUri(String uri) {
-    this.uri = uri;
-  }
-
-
-  @Override
-  public boolean equals(Object o) {
-    if (this == o) {
-      return true;
-    }
-    if (o == null || getClass() != o.getClass()) {
-      return false;
-    }
-    LicenseDto licenseDto = (LicenseDto) o;
-    return Objects.equals(this.identifier, licenseDto.identifier) &&
-        Objects.equals(this.uri, licenseDto.uri);
-  }
-
-  @Override
-  public int hashCode() {
-    return Objects.hash(identifier, uri);
-  }
-
-
-  @Override
-  public String toString() {
-    StringBuilder sb = new StringBuilder();
-    sb.append("class LicenseDto {\n");
-    
-    sb.append("    identifier: ").append(toIndentedString(identifier)).append("\n");
-    sb.append("    uri: ").append(toIndentedString(uri)).append("\n");
-    sb.append("}");
-    return sb.toString();
-  }
-
-  /**
-   * Convert the given object to string with each line indented by 4 spaces
-   * (except the first line).
-   */
-  private String toIndentedString(Object o) {
-    if (o == null) {
-      return "null";
-    }
-    return o.toString().replace("\n", "\n    ");
-  }
-
-}
diff --git a/.java-stubs/src/main/java/io/swagger/client/model/QueryBriefDto.java b/.java-stubs/src/main/java/io/swagger/client/model/QueryBriefDto.java
deleted file mode 100644
index 50ac6d4abe..0000000000
--- a/.java-stubs/src/main/java/io/swagger/client/model/QueryBriefDto.java
+++ /dev/null
@@ -1,410 +0,0 @@
-/*
- * Database Repository Query Service API
- * Service that manages the queries
- *
- * OpenAPI spec version: 1.1.0-alpha
- * Contact: andreas.rauber@tuwien.ac.at
- *
- * NOTE: This class is auto generated by the swagger code generator program.
- * https://github.com/swagger-api/swagger-codegen.git
- * Do not edit the class manually.
- */
-
-package io.swagger.client.model;
-
-import java.util.Objects;
-import java.util.Arrays;
-import com.google.gson.TypeAdapter;
-import com.google.gson.annotations.JsonAdapter;
-import com.google.gson.annotations.SerializedName;
-import com.google.gson.stream.JsonReader;
-import com.google.gson.stream.JsonWriter;
-import io.swagger.client.model.UserDto;
-import io.swagger.v3.oas.annotations.media.Schema;
-import java.io.IOException;
-import org.threeten.bp.OffsetDateTime;
-/**
- * QueryBriefDto
- */
-
-@javax.annotation.Generated(value = "io.swagger.codegen.v3.generators.java.JavaClientCodegen", date = "2023-02-12T12:27:08.557443+01:00[Europe/Vienna]")
-public class QueryBriefDto {
-  @SerializedName("id")
-  private Long id = null;
-
-  @SerializedName("cid")
-  private Long cid = null;
-
-  @SerializedName("dbid")
-  private Long dbid = null;
-
-  @SerializedName("creator")
-  private UserDto creator = null;
-
-  @SerializedName("execution")
-  private OffsetDateTime execution = null;
-
-  @SerializedName("query")
-  private String query = null;
-
-  /**
-   * Gets or Sets type
-   */
-  @JsonAdapter(TypeEnum.Adapter.class)
-  public enum TypeEnum {
-    QUERY("query"),
-    VIEW("view");
-
-    private String value;
-
-    TypeEnum(String value) {
-      this.value = value;
-    }
-    public String getValue() {
-      return value;
-    }
-
-    @Override
-    public String toString() {
-      return String.valueOf(value);
-    }
-    public static TypeEnum fromValue(String input) {
-      for (TypeEnum b : TypeEnum.values()) {
-        if (b.value.equals(input)) {
-          return b;
-        }
-      }
-      return null;
-    }
-    public static class Adapter extends TypeAdapter<TypeEnum> {
-      @Override
-      public void write(final JsonWriter jsonWriter, final TypeEnum enumeration) throws IOException {
-        jsonWriter.value(String.valueOf(enumeration.getValue()));
-      }
-
-      @Override
-      public TypeEnum read(final JsonReader jsonReader) throws IOException {
-        Object value = jsonReader.nextString();
-        return TypeEnum.fromValue((String)(value));
-      }
-    }
-  }  @SerializedName("type")
-  private TypeEnum type = null;
-
-  @SerializedName("created")
-  private OffsetDateTime created = null;
-
-  @SerializedName("query_normalized")
-  private String queryNormalized = null;
-
-  @SerializedName("query_hash")
-  private String queryHash = null;
-
-  @SerializedName("result_hash")
-  private String resultHash = null;
-
-  @SerializedName("result_number")
-  private Long resultNumber = null;
-
-  @SerializedName("last_modified")
-  private OffsetDateTime lastModified = null;
-
-  public QueryBriefDto id(Long id) {
-    this.id = id;
-    return this;
-  }
-
-   /**
-   * Get id
-   * @return id
-  **/
-  @Schema(required = true, description = "")
-  public Long getId() {
-    return id;
-  }
-
-  public void setId(Long id) {
-    this.id = id;
-  }
-
-  public QueryBriefDto cid(Long cid) {
-    this.cid = cid;
-    return this;
-  }
-
-   /**
-   * Get cid
-   * @return cid
-  **/
-  @Schema(required = true, description = "")
-  public Long getCid() {
-    return cid;
-  }
-
-  public void setCid(Long cid) {
-    this.cid = cid;
-  }
-
-  public QueryBriefDto dbid(Long dbid) {
-    this.dbid = dbid;
-    return this;
-  }
-
-   /**
-   * Get dbid
-   * @return dbid
-  **/
-  @Schema(required = true, description = "")
-  public Long getDbid() {
-    return dbid;
-  }
-
-  public void setDbid(Long dbid) {
-    this.dbid = dbid;
-  }
-
-  public QueryBriefDto creator(UserDto creator) {
-    this.creator = creator;
-    return this;
-  }
-
-   /**
-   * Get creator
-   * @return creator
-  **/
-  @Schema(required = true, description = "")
-  public UserDto getCreator() {
-    return creator;
-  }
-
-  public void setCreator(UserDto creator) {
-    this.creator = creator;
-  }
-
-  public QueryBriefDto execution(OffsetDateTime execution) {
-    this.execution = execution;
-    return this;
-  }
-
-   /**
-   * Get execution
-   * @return execution
-  **/
-  @Schema(description = "")
-  public OffsetDateTime getExecution() {
-    return execution;
-  }
-
-  public void setExecution(OffsetDateTime execution) {
-    this.execution = execution;
-  }
-
-  public QueryBriefDto query(String query) {
-    this.query = query;
-    return this;
-  }
-
-   /**
-   * Get query
-   * @return query
-  **/
-  @Schema(example = "SELECT `id` FROM `air_quality`", required = true, description = "")
-  public String getQuery() {
-    return query;
-  }
-
-  public void setQuery(String query) {
-    this.query = query;
-  }
-
-  public QueryBriefDto type(TypeEnum type) {
-    this.type = type;
-    return this;
-  }
-
-   /**
-   * Get type
-   * @return type
-  **/
-  @Schema(example = "query", description = "")
-  public TypeEnum getType() {
-    return type;
-  }
-
-  public void setType(TypeEnum type) {
-    this.type = type;
-  }
-
-  public QueryBriefDto created(OffsetDateTime created) {
-    this.created = created;
-    return this;
-  }
-
-   /**
-   * Get created
-   * @return created
-  **/
-  @Schema(required = true, description = "")
-  public OffsetDateTime getCreated() {
-    return created;
-  }
-
-  public void setCreated(OffsetDateTime created) {
-    this.created = created;
-  }
-
-  public QueryBriefDto queryNormalized(String queryNormalized) {
-    this.queryNormalized = queryNormalized;
-    return this;
-  }
-
-   /**
-   * Get queryNormalized
-   * @return queryNormalized
-  **/
-  @Schema(example = "SELECT `id` FROM `air_quality`", description = "")
-  public String getQueryNormalized() {
-    return queryNormalized;
-  }
-
-  public void setQueryNormalized(String queryNormalized) {
-    this.queryNormalized = queryNormalized;
-  }
-
-  public QueryBriefDto queryHash(String queryHash) {
-    this.queryHash = queryHash;
-    return this;
-  }
-
-   /**
-   * Get queryHash
-   * @return queryHash
-  **/
-  @Schema(example = "17e682f060b5f8e47ea04c5c4855908b0a5ad612022260fe50e11ecb0cc0ab76", required = true, description = "")
-  public String getQueryHash() {
-    return queryHash;
-  }
-
-  public void setQueryHash(String queryHash) {
-    this.queryHash = queryHash;
-  }
-
-  public QueryBriefDto resultHash(String resultHash) {
-    this.resultHash = resultHash;
-    return this;
-  }
-
-   /**
-   * Get resultHash
-   * @return resultHash
-  **/
-  @Schema(example = "17e682f060b5f8e47ea04c5c4855908b0a5ad612022260fe50e11ecb0cc0ab76", description = "")
-  public String getResultHash() {
-    return resultHash;
-  }
-
-  public void setResultHash(String resultHash) {
-    this.resultHash = resultHash;
-  }
-
-  public QueryBriefDto resultNumber(Long resultNumber) {
-    this.resultNumber = resultNumber;
-    return this;
-  }
-
-   /**
-   * Get resultNumber
-   * @return resultNumber
-  **/
-  @Schema(example = "1", description = "")
-  public Long getResultNumber() {
-    return resultNumber;
-  }
-
-  public void setResultNumber(Long resultNumber) {
-    this.resultNumber = resultNumber;
-  }
-
-  public QueryBriefDto lastModified(OffsetDateTime lastModified) {
-    this.lastModified = lastModified;
-    return this;
-  }
-
-   /**
-   * Get lastModified
-   * @return lastModified
-  **/
-  @Schema(description = "")
-  public OffsetDateTime getLastModified() {
-    return lastModified;
-  }
-
-  public void setLastModified(OffsetDateTime lastModified) {
-    this.lastModified = lastModified;
-  }
-
-
-  @Override
-  public boolean equals(Object o) {
-    if (this == o) {
-      return true;
-    }
-    if (o == null || getClass() != o.getClass()) {
-      return false;
-    }
-    QueryBriefDto queryBriefDto = (QueryBriefDto) o;
-    return Objects.equals(this.id, queryBriefDto.id) &&
-        Objects.equals(this.cid, queryBriefDto.cid) &&
-        Objects.equals(this.dbid, queryBriefDto.dbid) &&
-        Objects.equals(this.creator, queryBriefDto.creator) &&
-        Objects.equals(this.execution, queryBriefDto.execution) &&
-        Objects.equals(this.query, queryBriefDto.query) &&
-        Objects.equals(this.type, queryBriefDto.type) &&
-        Objects.equals(this.created, queryBriefDto.created) &&
-        Objects.equals(this.queryNormalized, queryBriefDto.queryNormalized) &&
-        Objects.equals(this.queryHash, queryBriefDto.queryHash) &&
-        Objects.equals(this.resultHash, queryBriefDto.resultHash) &&
-        Objects.equals(this.resultNumber, queryBriefDto.resultNumber) &&
-        Objects.equals(this.lastModified, queryBriefDto.lastModified);
-  }
-
-  @Override
-  public int hashCode() {
-    return Objects.hash(id, cid, dbid, creator, execution, query, type, created, queryNormalized, queryHash, resultHash, resultNumber, lastModified);
-  }
-
-
-  @Override
-  public String toString() {
-    StringBuilder sb = new StringBuilder();
-    sb.append("class QueryBriefDto {\n");
-    
-    sb.append("    id: ").append(toIndentedString(id)).append("\n");
-    sb.append("    cid: ").append(toIndentedString(cid)).append("\n");
-    sb.append("    dbid: ").append(toIndentedString(dbid)).append("\n");
-    sb.append("    creator: ").append(toIndentedString(creator)).append("\n");
-    sb.append("    execution: ").append(toIndentedString(execution)).append("\n");
-    sb.append("    query: ").append(toIndentedString(query)).append("\n");
-    sb.append("    type: ").append(toIndentedString(type)).append("\n");
-    sb.append("    created: ").append(toIndentedString(created)).append("\n");
-    sb.append("    queryNormalized: ").append(toIndentedString(queryNormalized)).append("\n");
-    sb.append("    queryHash: ").append(toIndentedString(queryHash)).append("\n");
-    sb.append("    resultHash: ").append(toIndentedString(resultHash)).append("\n");
-    sb.append("    resultNumber: ").append(toIndentedString(resultNumber)).append("\n");
-    sb.append("    lastModified: ").append(toIndentedString(lastModified)).append("\n");
-    sb.append("}");
-    return sb.toString();
-  }
-
-  /**
-   * Convert the given object to string with each line indented by 4 spaces
-   * (except the first line).
-   */
-  private String toIndentedString(Object o) {
-    if (o == null) {
-      return "null";
-    }
-    return o.toString().replace("\n", "\n    ");
-  }
-
-}
diff --git a/.java-stubs/src/main/java/io/swagger/client/model/QueryDto.java b/.java-stubs/src/main/java/io/swagger/client/model/QueryDto.java
deleted file mode 100644
index 3740c6d3fd..0000000000
--- a/.java-stubs/src/main/java/io/swagger/client/model/QueryDto.java
+++ /dev/null
@@ -1,433 +0,0 @@
-/*
- * Database Repository Query Service API
- * Service that manages the queries
- *
- * OpenAPI spec version: 1.1.0-alpha
- * Contact: andreas.rauber@tuwien.ac.at
- *
- * NOTE: This class is auto generated by the swagger code generator program.
- * https://github.com/swagger-api/swagger-codegen.git
- * Do not edit the class manually.
- */
-
-package io.swagger.client.model;
-
-import java.util.Objects;
-import java.util.Arrays;
-import com.google.gson.TypeAdapter;
-import com.google.gson.annotations.JsonAdapter;
-import com.google.gson.annotations.SerializedName;
-import com.google.gson.stream.JsonReader;
-import com.google.gson.stream.JsonWriter;
-import io.swagger.client.model.UserDto;
-import io.swagger.v3.oas.annotations.media.Schema;
-import java.io.IOException;
-import org.threeten.bp.OffsetDateTime;
-/**
- * QueryDto
- */
-
-@javax.annotation.Generated(value = "io.swagger.codegen.v3.generators.java.JavaClientCodegen", date = "2023-02-12T12:27:08.557443+01:00[Europe/Vienna]")
-public class QueryDto {
-  @SerializedName("id")
-  private Long id = null;
-
-  @SerializedName("cid")
-  private Long cid = null;
-
-  @SerializedName("dbid")
-  private Long dbid = null;
-
-  @SerializedName("creator")
-  private UserDto creator = null;
-
-  @SerializedName("execution")
-  private OffsetDateTime execution = null;
-
-  @SerializedName("query")
-  private String query = null;
-
-  /**
-   * Gets or Sets type
-   */
-  @JsonAdapter(TypeEnum.Adapter.class)
-  public enum TypeEnum {
-    QUERY("query"),
-    VIEW("view");
-
-    private String value;
-
-    TypeEnum(String value) {
-      this.value = value;
-    }
-    public String getValue() {
-      return value;
-    }
-
-    @Override
-    public String toString() {
-      return String.valueOf(value);
-    }
-    public static TypeEnum fromValue(String input) {
-      for (TypeEnum b : TypeEnum.values()) {
-        if (b.value.equals(input)) {
-          return b;
-        }
-      }
-      return null;
-    }
-    public static class Adapter extends TypeAdapter<TypeEnum> {
-      @Override
-      public void write(final JsonWriter jsonWriter, final TypeEnum enumeration) throws IOException {
-        jsonWriter.value(String.valueOf(enumeration.getValue()));
-      }
-
-      @Override
-      public TypeEnum read(final JsonReader jsonReader) throws IOException {
-        Object value = jsonReader.nextString();
-        return TypeEnum.fromValue((String)(value));
-      }
-    }
-  }  @SerializedName("type")
-  private TypeEnum type = null;
-
-  @SerializedName("created")
-  private OffsetDateTime created = null;
-
-  @SerializedName("query_normalized")
-  private String queryNormalized = null;
-
-  @SerializedName("query_hash")
-  private String queryHash = null;
-
-  @SerializedName("is_persisted")
-  private Boolean isPersisted = null;
-
-  @SerializedName("result_hash")
-  private String resultHash = null;
-
-  @SerializedName("result_number")
-  private Long resultNumber = null;
-
-  @SerializedName("last_modified")
-  private OffsetDateTime lastModified = null;
-
-  public QueryDto id(Long id) {
-    this.id = id;
-    return this;
-  }
-
-   /**
-   * Get id
-   * @return id
-  **/
-  @Schema(required = true, description = "")
-  public Long getId() {
-    return id;
-  }
-
-  public void setId(Long id) {
-    this.id = id;
-  }
-
-  public QueryDto cid(Long cid) {
-    this.cid = cid;
-    return this;
-  }
-
-   /**
-   * Get cid
-   * @return cid
-  **/
-  @Schema(required = true, description = "")
-  public Long getCid() {
-    return cid;
-  }
-
-  public void setCid(Long cid) {
-    this.cid = cid;
-  }
-
-  public QueryDto dbid(Long dbid) {
-    this.dbid = dbid;
-    return this;
-  }
-
-   /**
-   * Get dbid
-   * @return dbid
-  **/
-  @Schema(required = true, description = "")
-  public Long getDbid() {
-    return dbid;
-  }
-
-  public void setDbid(Long dbid) {
-    this.dbid = dbid;
-  }
-
-  public QueryDto creator(UserDto creator) {
-    this.creator = creator;
-    return this;
-  }
-
-   /**
-   * Get creator
-   * @return creator
-  **/
-  @Schema(required = true, description = "")
-  public UserDto getCreator() {
-    return creator;
-  }
-
-  public void setCreator(UserDto creator) {
-    this.creator = creator;
-  }
-
-  public QueryDto execution(OffsetDateTime execution) {
-    this.execution = execution;
-    return this;
-  }
-
-   /**
-   * Get execution
-   * @return execution
-  **/
-  @Schema(description = "")
-  public OffsetDateTime getExecution() {
-    return execution;
-  }
-
-  public void setExecution(OffsetDateTime execution) {
-    this.execution = execution;
-  }
-
-  public QueryDto query(String query) {
-    this.query = query;
-    return this;
-  }
-
-   /**
-   * Get query
-   * @return query
-  **/
-  @Schema(example = "SELECT `id` FROM `air_quality`", required = true, description = "")
-  public String getQuery() {
-    return query;
-  }
-
-  public void setQuery(String query) {
-    this.query = query;
-  }
-
-  public QueryDto type(TypeEnum type) {
-    this.type = type;
-    return this;
-  }
-
-   /**
-   * Get type
-   * @return type
-  **/
-  @Schema(example = "query", description = "")
-  public TypeEnum getType() {
-    return type;
-  }
-
-  public void setType(TypeEnum type) {
-    this.type = type;
-  }
-
-  public QueryDto created(OffsetDateTime created) {
-    this.created = created;
-    return this;
-  }
-
-   /**
-   * Get created
-   * @return created
-  **/
-  @Schema(required = true, description = "")
-  public OffsetDateTime getCreated() {
-    return created;
-  }
-
-  public void setCreated(OffsetDateTime created) {
-    this.created = created;
-  }
-
-  public QueryDto queryNormalized(String queryNormalized) {
-    this.queryNormalized = queryNormalized;
-    return this;
-  }
-
-   /**
-   * Get queryNormalized
-   * @return queryNormalized
-  **/
-  @Schema(example = "SELECT `id` FROM `air_quality`", description = "")
-  public String getQueryNormalized() {
-    return queryNormalized;
-  }
-
-  public void setQueryNormalized(String queryNormalized) {
-    this.queryNormalized = queryNormalized;
-  }
-
-  public QueryDto queryHash(String queryHash) {
-    this.queryHash = queryHash;
-    return this;
-  }
-
-   /**
-   * Get queryHash
-   * @return queryHash
-  **/
-  @Schema(required = true, description = "")
-  public String getQueryHash() {
-    return queryHash;
-  }
-
-  public void setQueryHash(String queryHash) {
-    this.queryHash = queryHash;
-  }
-
-  public QueryDto isPersisted(Boolean isPersisted) {
-    this.isPersisted = isPersisted;
-    return this;
-  }
-
-   /**
-   * Get isPersisted
-   * @return isPersisted
-  **/
-  @Schema(required = true, description = "")
-  public Boolean isIsPersisted() {
-    return isPersisted;
-  }
-
-  public void setIsPersisted(Boolean isPersisted) {
-    this.isPersisted = isPersisted;
-  }
-
-  public QueryDto resultHash(String resultHash) {
-    this.resultHash = resultHash;
-    return this;
-  }
-
-   /**
-   * Get resultHash
-   * @return resultHash
-  **/
-  @Schema(description = "")
-  public String getResultHash() {
-    return resultHash;
-  }
-
-  public void setResultHash(String resultHash) {
-    this.resultHash = resultHash;
-  }
-
-  public QueryDto resultNumber(Long resultNumber) {
-    this.resultNumber = resultNumber;
-    return this;
-  }
-
-   /**
-   * Get resultNumber
-   * @return resultNumber
-  **/
-  @Schema(example = "1", description = "")
-  public Long getResultNumber() {
-    return resultNumber;
-  }
-
-  public void setResultNumber(Long resultNumber) {
-    this.resultNumber = resultNumber;
-  }
-
-  public QueryDto lastModified(OffsetDateTime lastModified) {
-    this.lastModified = lastModified;
-    return this;
-  }
-
-   /**
-   * Get lastModified
-   * @return lastModified
-  **/
-  @Schema(description = "")
-  public OffsetDateTime getLastModified() {
-    return lastModified;
-  }
-
-  public void setLastModified(OffsetDateTime lastModified) {
-    this.lastModified = lastModified;
-  }
-
-
-  @Override
-  public boolean equals(Object o) {
-    if (this == o) {
-      return true;
-    }
-    if (o == null || getClass() != o.getClass()) {
-      return false;
-    }
-    QueryDto queryDto = (QueryDto) o;
-    return Objects.equals(this.id, queryDto.id) &&
-        Objects.equals(this.cid, queryDto.cid) &&
-        Objects.equals(this.dbid, queryDto.dbid) &&
-        Objects.equals(this.creator, queryDto.creator) &&
-        Objects.equals(this.execution, queryDto.execution) &&
-        Objects.equals(this.query, queryDto.query) &&
-        Objects.equals(this.type, queryDto.type) &&
-        Objects.equals(this.created, queryDto.created) &&
-        Objects.equals(this.queryNormalized, queryDto.queryNormalized) &&
-        Objects.equals(this.queryHash, queryDto.queryHash) &&
-        Objects.equals(this.isPersisted, queryDto.isPersisted) &&
-        Objects.equals(this.resultHash, queryDto.resultHash) &&
-        Objects.equals(this.resultNumber, queryDto.resultNumber) &&
-        Objects.equals(this.lastModified, queryDto.lastModified);
-  }
-
-  @Override
-  public int hashCode() {
-    return Objects.hash(id, cid, dbid, creator, execution, query, type, created, queryNormalized, queryHash, isPersisted, resultHash, resultNumber, lastModified);
-  }
-
-
-  @Override
-  public String toString() {
-    StringBuilder sb = new StringBuilder();
-    sb.append("class QueryDto {\n");
-    
-    sb.append("    id: ").append(toIndentedString(id)).append("\n");
-    sb.append("    cid: ").append(toIndentedString(cid)).append("\n");
-    sb.append("    dbid: ").append(toIndentedString(dbid)).append("\n");
-    sb.append("    creator: ").append(toIndentedString(creator)).append("\n");
-    sb.append("    execution: ").append(toIndentedString(execution)).append("\n");
-    sb.append("    query: ").append(toIndentedString(query)).append("\n");
-    sb.append("    type: ").append(toIndentedString(type)).append("\n");
-    sb.append("    created: ").append(toIndentedString(created)).append("\n");
-    sb.append("    queryNormalized: ").append(toIndentedString(queryNormalized)).append("\n");
-    sb.append("    queryHash: ").append(toIndentedString(queryHash)).append("\n");
-    sb.append("    isPersisted: ").append(toIndentedString(isPersisted)).append("\n");
-    sb.append("    resultHash: ").append(toIndentedString(resultHash)).append("\n");
-    sb.append("    resultNumber: ").append(toIndentedString(resultNumber)).append("\n");
-    sb.append("    lastModified: ").append(toIndentedString(lastModified)).append("\n");
-    sb.append("}");
-    return sb.toString();
-  }
-
-  /**
-   * Convert the given object to string with each line indented by 4 spaces
-   * (except the first line).
-   */
-  private String toIndentedString(Object o) {
-    if (o == null) {
-      return "null";
-    }
-    return o.toString().replace("\n", "\n    ");
-  }
-
-}
diff --git a/.java-stubs/src/main/java/io/swagger/client/model/QueryResultDto.java b/.java-stubs/src/main/java/io/swagger/client/model/QueryResultDto.java
deleted file mode 100644
index f1f037c2f6..0000000000
--- a/.java-stubs/src/main/java/io/swagger/client/model/QueryResultDto.java
+++ /dev/null
@@ -1,145 +0,0 @@
-/*
- * Database Repository Query Service API
- * Service that manages the queries
- *
- * OpenAPI spec version: 1.1.0-alpha
- * Contact: andreas.rauber@tuwien.ac.at
- *
- * NOTE: This class is auto generated by the swagger code generator program.
- * https://github.com/swagger-api/swagger-codegen.git
- * Do not edit the class manually.
- */
-
-package io.swagger.client.model;
-
-import java.util.Objects;
-import java.util.Arrays;
-import com.google.gson.TypeAdapter;
-import com.google.gson.annotations.JsonAdapter;
-import com.google.gson.annotations.SerializedName;
-import com.google.gson.stream.JsonReader;
-import com.google.gson.stream.JsonWriter;
-import io.swagger.v3.oas.annotations.media.Schema;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-/**
- * QueryResultDto
- */
-
-@javax.annotation.Generated(value = "io.swagger.codegen.v3.generators.java.JavaClientCodegen", date = "2023-02-12T12:27:08.557443+01:00[Europe/Vienna]")
-public class QueryResultDto {
-  @SerializedName("result")
-  private List<Map<String, Object>> result = new ArrayList<Map<String, Object>>();
-
-  @SerializedName("id")
-  private Long id = null;
-
-  @SerializedName("resultNumber")
-  private Long resultNumber = null;
-
-  public QueryResultDto result(List<Map<String, Object>> result) {
-    this.result = result;
-    return this;
-  }
-
-  public QueryResultDto addResultItem(Map<String, Object> resultItem) {
-    this.result.add(resultItem);
-    return this;
-  }
-
-   /**
-   * Get result
-   * @return result
-  **/
-  @Schema(required = true, description = "")
-  public List<Map<String, Object>> getResult() {
-    return result;
-  }
-
-  public void setResult(List<Map<String, Object>> result) {
-    this.result = result;
-  }
-
-  public QueryResultDto id(Long id) {
-    this.id = id;
-    return this;
-  }
-
-   /**
-   * Get id
-   * @return id
-  **/
-  @Schema(required = true, description = "")
-  public Long getId() {
-    return id;
-  }
-
-  public void setId(Long id) {
-    this.id = id;
-  }
-
-  public QueryResultDto resultNumber(Long resultNumber) {
-    this.resultNumber = resultNumber;
-    return this;
-  }
-
-   /**
-   * Get resultNumber
-   * @return resultNumber
-  **/
-  @Schema(example = "1", description = "")
-  public Long getResultNumber() {
-    return resultNumber;
-  }
-
-  public void setResultNumber(Long resultNumber) {
-    this.resultNumber = resultNumber;
-  }
-
-
-  @Override
-  public boolean equals(Object o) {
-    if (this == o) {
-      return true;
-    }
-    if (o == null || getClass() != o.getClass()) {
-      return false;
-    }
-    QueryResultDto queryResultDto = (QueryResultDto) o;
-    return Objects.equals(this.result, queryResultDto.result) &&
-        Objects.equals(this.id, queryResultDto.id) &&
-        Objects.equals(this.resultNumber, queryResultDto.resultNumber);
-  }
-
-  @Override
-  public int hashCode() {
-    return Objects.hash(result, id, resultNumber);
-  }
-
-
-  @Override
-  public String toString() {
-    StringBuilder sb = new StringBuilder();
-    sb.append("class QueryResultDto {\n");
-    
-    sb.append("    result: ").append(toIndentedString(result)).append("\n");
-    sb.append("    id: ").append(toIndentedString(id)).append("\n");
-    sb.append("    resultNumber: ").append(toIndentedString(resultNumber)).append("\n");
-    sb.append("}");
-    return sb.toString();
-  }
-
-  /**
-   * Convert the given object to string with each line indented by 4 spaces
-   * (except the first line).
-   */
-  private String toIndentedString(Object o) {
-    if (o == null) {
-      return "null";
-    }
-    return o.toString().replace("\n", "\n    ");
-  }
-
-}
diff --git a/.java-stubs/src/main/java/io/swagger/client/model/RelatedIdentifierDto.java b/.java-stubs/src/main/java/io/swagger/client/model/RelatedIdentifierDto.java
deleted file mode 100644
index 80a7699239..0000000000
--- a/.java-stubs/src/main/java/io/swagger/client/model/RelatedIdentifierDto.java
+++ /dev/null
@@ -1,337 +0,0 @@
-/*
- * Database Repository Container Service API
- * Service that manages the containers
- *
- * OpenAPI spec version: 1.1.0-alpha
- * Contact: andreas.rauber@tuwien.ac.at
- *
- * NOTE: This class is auto generated by the swagger code generator program.
- * https://github.com/swagger-api/swagger-codegen.git
- * Do not edit the class manually.
- */
-
-package io.swagger.client.model;
-
-import java.util.Objects;
-import java.util.Arrays;
-import com.google.gson.TypeAdapter;
-import com.google.gson.annotations.JsonAdapter;
-import com.google.gson.annotations.SerializedName;
-import com.google.gson.stream.JsonReader;
-import com.google.gson.stream.JsonWriter;
-import io.swagger.v3.oas.annotations.media.Schema;
-import java.io.IOException;
-import org.threeten.bp.OffsetDateTime;
-/**
- * RelatedIdentifierDto
- */
-
-@javax.annotation.Generated(value = "io.swagger.codegen.v3.generators.java.JavaClientCodegen", date = "2023-02-12T11:48:18.502846+01:00[Europe/Vienna]")
-public class RelatedIdentifierDto {
-  @SerializedName("id")
-  private Long id = null;
-
-  @SerializedName("value")
-  private String value = null;
-
-  /**
-   * Gets or Sets type
-   */
-  @JsonAdapter(TypeEnum.Adapter.class)
-  public enum TypeEnum {
-    DOI("DOI"),
-    URL("URL"),
-    URN("URN"),
-    ARK("ARK"),
-    ARXIV("arXiv"),
-    BIBCODE("bibcode"),
-    EAN13("EAN13"),
-    EISSN("EISSN"),
-    HANDLE("Handle"),
-    IGSN("IGSN"),
-    ISBN("ISBN"),
-    ISTC("ISTC"),
-    LISSN("LISSN"),
-    LSID("LSID"),
-    PMID("PMID"),
-    PURL("PURL"),
-    UPC("UPC"),
-    W3ID("w3id");
-
-    private String value;
-
-    TypeEnum(String value) {
-      this.value = value;
-    }
-    public String getValue() {
-      return value;
-    }
-
-    @Override
-    public String toString() {
-      return String.valueOf(value);
-    }
-    public static TypeEnum fromValue(String input) {
-      for (TypeEnum b : TypeEnum.values()) {
-        if (b.value.equals(input)) {
-          return b;
-        }
-      }
-      return null;
-    }
-    public static class Adapter extends TypeAdapter<TypeEnum> {
-      @Override
-      public void write(final JsonWriter jsonWriter, final TypeEnum enumeration) throws IOException {
-        jsonWriter.value(String.valueOf(enumeration.getValue()));
-      }
-
-      @Override
-      public TypeEnum read(final JsonReader jsonReader) throws IOException {
-        Object value = jsonReader.nextString();
-        return TypeEnum.fromValue((String)(value));
-      }
-    }
-  }  @SerializedName("type")
-  private TypeEnum type = null;
-
-  /**
-   * Gets or Sets relation
-   */
-  @JsonAdapter(RelationEnum.Adapter.class)
-  public enum RelationEnum {
-    ISCITEDBY("IsCitedBy"),
-    CITES("Cites"),
-    ISSUPPLEMENTTO("IsSupplementTo"),
-    ISSUPPLEMENTEDBY("IsSupplementedBy"),
-    ISCONTINUEDBY("IsContinuedBy"),
-    CONTINUES("Continues"),
-    ISDESCRIBEDBY("IsDescribedBy"),
-    DESCRIBES("Describes"),
-    HASMETADATA("HasMetadata"),
-    ISMETADATAFOR("IsMetadataFor"),
-    HASVERSION("HasVersion"),
-    ISVERSIONOF("IsVersionOf"),
-    ISNEWVERSIONOF("IsNewVersionOf"),
-    ISPREVIOUSVERSIONOF("IsPreviousVersionOf"),
-    ISPARTOF("IsPartOf"),
-    HASPART("HasPart"),
-    ISPUBLISHEDIN("IsPublishedIn"),
-    ISREFERENCEDBY("IsReferencedBy"),
-    REFERENCES("References"),
-    ISDOCUMENTEDBY("IsDocumentedBy"),
-    DOCUMENTS("Documents"),
-    ISCOMPILEDBY("IsCompiledBy"),
-    COMPILES("Compiles"),
-    ISVARIANTFORMOF("IsVariantFormOf"),
-    ISORIGINALFORMOF("IsOriginalFormOf"),
-    ISIDENTICALTO("IsIdenticalTo"),
-    ISREVIEWEDBY("IsReviewedBy"),
-    REVIEWS("Reviews"),
-    ISDERIVEDFROM("IsDerivedFrom"),
-    ISSOURCEOF("IsSourceOf"),
-    ISREQUIREDBY("IsRequiredBy"),
-    REQUIRES("Requires"),
-    ISOBSOLETEDBY("IsObsoletedBy"),
-    OBSOLETES("Obsoletes");
-
-    private String value;
-
-    RelationEnum(String value) {
-      this.value = value;
-    }
-    public String getValue() {
-      return value;
-    }
-
-    @Override
-    public String toString() {
-      return String.valueOf(value);
-    }
-    public static RelationEnum fromValue(String input) {
-      for (RelationEnum b : RelationEnum.values()) {
-        if (b.value.equals(input)) {
-          return b;
-        }
-      }
-      return null;
-    }
-    public static class Adapter extends TypeAdapter<RelationEnum> {
-      @Override
-      public void write(final JsonWriter jsonWriter, final RelationEnum enumeration) throws IOException {
-        jsonWriter.value(String.valueOf(enumeration.getValue()));
-      }
-
-      @Override
-      public RelationEnum read(final JsonReader jsonReader) throws IOException {
-        Object value = jsonReader.nextString();
-        return RelationEnum.fromValue((String)(value));
-      }
-    }
-  }  @SerializedName("relation")
-  private RelationEnum relation = null;
-
-  @SerializedName("created")
-  private OffsetDateTime created = null;
-
-  @SerializedName("last_modified")
-  private OffsetDateTime lastModified = null;
-
-  public RelatedIdentifierDto id(Long id) {
-    this.id = id;
-    return this;
-  }
-
-   /**
-   * Get id
-   * @return id
-  **/
-  @Schema(required = true, description = "")
-  public Long getId() {
-    return id;
-  }
-
-  public void setId(Long id) {
-    this.id = id;
-  }
-
-  public RelatedIdentifierDto value(String value) {
-    this.value = value;
-    return this;
-  }
-
-   /**
-   * Get value
-   * @return value
-  **/
-  @Schema(example = "10.70124/dc4zh-9ce78", required = true, description = "")
-  public String getValue() {
-    return value;
-  }
-
-  public void setValue(String value) {
-    this.value = value;
-  }
-
-  public RelatedIdentifierDto type(TypeEnum type) {
-    this.type = type;
-    return this;
-  }
-
-   /**
-   * Get type
-   * @return type
-  **/
-  @Schema(example = "DOI", description = "")
-  public TypeEnum getType() {
-    return type;
-  }
-
-  public void setType(TypeEnum type) {
-    this.type = type;
-  }
-
-  public RelatedIdentifierDto relation(RelationEnum relation) {
-    this.relation = relation;
-    return this;
-  }
-
-   /**
-   * Get relation
-   * @return relation
-  **/
-  @Schema(example = "Cites", description = "")
-  public RelationEnum getRelation() {
-    return relation;
-  }
-
-  public void setRelation(RelationEnum relation) {
-    this.relation = relation;
-  }
-
-  public RelatedIdentifierDto created(OffsetDateTime created) {
-    this.created = created;
-    return this;
-  }
-
-   /**
-   * Get created
-   * @return created
-  **/
-  @Schema(required = true, description = "")
-  public OffsetDateTime getCreated() {
-    return created;
-  }
-
-  public void setCreated(OffsetDateTime created) {
-    this.created = created;
-  }
-
-  public RelatedIdentifierDto lastModified(OffsetDateTime lastModified) {
-    this.lastModified = lastModified;
-    return this;
-  }
-
-   /**
-   * Get lastModified
-   * @return lastModified
-  **/
-  @Schema(description = "")
-  public OffsetDateTime getLastModified() {
-    return lastModified;
-  }
-
-  public void setLastModified(OffsetDateTime lastModified) {
-    this.lastModified = lastModified;
-  }
-
-
-  @Override
-  public boolean equals(Object o) {
-    if (this == o) {
-      return true;
-    }
-    if (o == null || getClass() != o.getClass()) {
-      return false;
-    }
-    RelatedIdentifierDto relatedIdentifierDto = (RelatedIdentifierDto) o;
-    return Objects.equals(this.id, relatedIdentifierDto.id) &&
-        Objects.equals(this.value, relatedIdentifierDto.value) &&
-        Objects.equals(this.type, relatedIdentifierDto.type) &&
-        Objects.equals(this.relation, relatedIdentifierDto.relation) &&
-        Objects.equals(this.created, relatedIdentifierDto.created) &&
-        Objects.equals(this.lastModified, relatedIdentifierDto.lastModified);
-  }
-
-  @Override
-  public int hashCode() {
-    return Objects.hash(id, value, type, relation, created, lastModified);
-  }
-
-
-  @Override
-  public String toString() {
-    StringBuilder sb = new StringBuilder();
-    sb.append("class RelatedIdentifierDto {\n");
-    
-    sb.append("    id: ").append(toIndentedString(id)).append("\n");
-    sb.append("    value: ").append(toIndentedString(value)).append("\n");
-    sb.append("    type: ").append(toIndentedString(type)).append("\n");
-    sb.append("    relation: ").append(toIndentedString(relation)).append("\n");
-    sb.append("    created: ").append(toIndentedString(created)).append("\n");
-    sb.append("    lastModified: ").append(toIndentedString(lastModified)).append("\n");
-    sb.append("}");
-    return sb.toString();
-  }
-
-  /**
-   * Convert the given object to string with each line indented by 4 spaces
-   * (except the first line).
-   */
-  private String toIndentedString(Object o) {
-    if (o == null) {
-      return "null";
-    }
-    return o.toString().replace("\n", "\n    ");
-  }
-
-}
diff --git a/.java-stubs/src/main/java/io/swagger/client/model/TableBriefDto.java b/.java-stubs/src/main/java/io/swagger/client/model/TableBriefDto.java
deleted file mode 100644
index 58333a9470..0000000000
--- a/.java-stubs/src/main/java/io/swagger/client/model/TableBriefDto.java
+++ /dev/null
@@ -1,184 +0,0 @@
-/*
- * Database Repository Container Service API
- * Service that manages the containers
- *
- * OpenAPI spec version: 1.1.0-alpha
- * Contact: andreas.rauber@tuwien.ac.at
- *
- * NOTE: This class is auto generated by the swagger code generator program.
- * https://github.com/swagger-api/swagger-codegen.git
- * Do not edit the class manually.
- */
-
-package io.swagger.client.model;
-
-import java.util.Objects;
-import java.util.Arrays;
-import com.google.gson.TypeAdapter;
-import com.google.gson.annotations.JsonAdapter;
-import com.google.gson.annotations.SerializedName;
-import com.google.gson.stream.JsonReader;
-import com.google.gson.stream.JsonWriter;
-import io.swagger.client.model.UserBriefDto;
-import io.swagger.v3.oas.annotations.media.Schema;
-import java.io.IOException;
-/**
- * TableBriefDto
- */
-
-@javax.annotation.Generated(value = "io.swagger.codegen.v3.generators.java.JavaClientCodegen", date = "2023-02-12T11:48:18.502846+01:00[Europe/Vienna]")
-public class TableBriefDto {
-  @SerializedName("id")
-  private Long id = null;
-
-  @SerializedName("name")
-  private String name = null;
-
-  @SerializedName("description")
-  private String description = null;
-
-  @SerializedName("creator")
-  private UserBriefDto creator = null;
-
-  @SerializedName("internal_name")
-  private String internalName = null;
-
-  public TableBriefDto id(Long id) {
-    this.id = id;
-    return this;
-  }
-
-   /**
-   * Get id
-   * @return id
-  **/
-  @Schema(required = true, description = "")
-  public Long getId() {
-    return id;
-  }
-
-  public void setId(Long id) {
-    this.id = id;
-  }
-
-  public TableBriefDto name(String name) {
-    this.name = name;
-    return this;
-  }
-
-   /**
-   * Get name
-   * @return name
-  **/
-  @Schema(example = "Air Quality", required = true, description = "")
-  public String getName() {
-    return name;
-  }
-
-  public void setName(String name) {
-    this.name = name;
-  }
-
-  public TableBriefDto description(String description) {
-    this.description = description;
-    return this;
-  }
-
-   /**
-   * Get description
-   * @return description
-  **/
-  @Schema(example = "Air Quality in Austria", required = true, description = "")
-  public String getDescription() {
-    return description;
-  }
-
-  public void setDescription(String description) {
-    this.description = description;
-  }
-
-  public TableBriefDto creator(UserBriefDto creator) {
-    this.creator = creator;
-    return this;
-  }
-
-   /**
-   * Get creator
-   * @return creator
-  **/
-  @Schema(required = true, description = "")
-  public UserBriefDto getCreator() {
-    return creator;
-  }
-
-  public void setCreator(UserBriefDto creator) {
-    this.creator = creator;
-  }
-
-  public TableBriefDto internalName(String internalName) {
-    this.internalName = internalName;
-    return this;
-  }
-
-   /**
-   * Get internalName
-   * @return internalName
-  **/
-  @Schema(example = "air_quality", required = true, description = "")
-  public String getInternalName() {
-    return internalName;
-  }
-
-  public void setInternalName(String internalName) {
-    this.internalName = internalName;
-  }
-
-
-  @Override
-  public boolean equals(Object o) {
-    if (this == o) {
-      return true;
-    }
-    if (o == null || getClass() != o.getClass()) {
-      return false;
-    }
-    TableBriefDto tableBriefDto = (TableBriefDto) o;
-    return Objects.equals(this.id, tableBriefDto.id) &&
-        Objects.equals(this.name, tableBriefDto.name) &&
-        Objects.equals(this.description, tableBriefDto.description) &&
-        Objects.equals(this.creator, tableBriefDto.creator) &&
-        Objects.equals(this.internalName, tableBriefDto.internalName);
-  }
-
-  @Override
-  public int hashCode() {
-    return Objects.hash(id, name, description, creator, internalName);
-  }
-
-
-  @Override
-  public String toString() {
-    StringBuilder sb = new StringBuilder();
-    sb.append("class TableBriefDto {\n");
-    
-    sb.append("    id: ").append(toIndentedString(id)).append("\n");
-    sb.append("    name: ").append(toIndentedString(name)).append("\n");
-    sb.append("    description: ").append(toIndentedString(description)).append("\n");
-    sb.append("    creator: ").append(toIndentedString(creator)).append("\n");
-    sb.append("    internalName: ").append(toIndentedString(internalName)).append("\n");
-    sb.append("}");
-    return sb.toString();
-  }
-
-  /**
-   * Convert the given object to string with each line indented by 4 spaces
-   * (except the first line).
-   */
-  private String toIndentedString(Object o) {
-    if (o == null) {
-      return "null";
-    }
-    return o.toString().replace("\n", "\n    ");
-  }
-
-}
diff --git a/.java-stubs/src/main/java/io/swagger/client/model/TableCreateDto.java b/.java-stubs/src/main/java/io/swagger/client/model/TableCreateDto.java
deleted file mode 100644
index b8ecae936c..0000000000
--- a/.java-stubs/src/main/java/io/swagger/client/model/TableCreateDto.java
+++ /dev/null
@@ -1,145 +0,0 @@
-/*
- * Database Repository Table Service API
- * Service that manages the tables
- *
- * OpenAPI spec version: 1.1.0-alpha
- * Contact: andreas.rauber@tuwien.ac.at
- *
- * NOTE: This class is auto generated by the swagger code generator program.
- * https://github.com/swagger-api/swagger-codegen.git
- * Do not edit the class manually.
- */
-
-package io.swagger.client.model;
-
-import java.util.Objects;
-import java.util.Arrays;
-import com.google.gson.TypeAdapter;
-import com.google.gson.annotations.JsonAdapter;
-import com.google.gson.annotations.SerializedName;
-import com.google.gson.stream.JsonReader;
-import com.google.gson.stream.JsonWriter;
-import io.swagger.client.model.ColumnCreateDto;
-import io.swagger.v3.oas.annotations.media.Schema;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.List;
-/**
- * TableCreateDto
- */
-
-@javax.annotation.Generated(value = "io.swagger.codegen.v3.generators.java.JavaClientCodegen", date = "2023-02-12T12:29:06.419178+01:00[Europe/Vienna]")
-public class TableCreateDto {
-  @SerializedName("name")
-  private String name = null;
-
-  @SerializedName("description")
-  private String description = null;
-
-  @SerializedName("columns")
-  private List<ColumnCreateDto> columns = new ArrayList<ColumnCreateDto>();
-
-  public TableCreateDto name(String name) {
-    this.name = name;
-    return this;
-  }
-
-   /**
-   * Get name
-   * @return name
-  **/
-  @Schema(example = "Air Quality", required = true, description = "")
-  public String getName() {
-    return name;
-  }
-
-  public void setName(String name) {
-    this.name = name;
-  }
-
-  public TableCreateDto description(String description) {
-    this.description = description;
-    return this;
-  }
-
-   /**
-   * Get description
-   * @return description
-  **/
-  @Schema(example = "Air Quality in Austria", required = true, description = "")
-  public String getDescription() {
-    return description;
-  }
-
-  public void setDescription(String description) {
-    this.description = description;
-  }
-
-  public TableCreateDto columns(List<ColumnCreateDto> columns) {
-    this.columns = columns;
-    return this;
-  }
-
-  public TableCreateDto addColumnsItem(ColumnCreateDto columnsItem) {
-    this.columns.add(columnsItem);
-    return this;
-  }
-
-   /**
-   * Get columns
-   * @return columns
-  **/
-  @Schema(required = true, description = "")
-  public List<ColumnCreateDto> getColumns() {
-    return columns;
-  }
-
-  public void setColumns(List<ColumnCreateDto> columns) {
-    this.columns = columns;
-  }
-
-
-  @Override
-  public boolean equals(Object o) {
-    if (this == o) {
-      return true;
-    }
-    if (o == null || getClass() != o.getClass()) {
-      return false;
-    }
-    TableCreateDto tableCreateDto = (TableCreateDto) o;
-    return Objects.equals(this.name, tableCreateDto.name) &&
-        Objects.equals(this.description, tableCreateDto.description) &&
-        Objects.equals(this.columns, tableCreateDto.columns);
-  }
-
-  @Override
-  public int hashCode() {
-    return Objects.hash(name, description, columns);
-  }
-
-
-  @Override
-  public String toString() {
-    StringBuilder sb = new StringBuilder();
-    sb.append("class TableCreateDto {\n");
-    
-    sb.append("    name: ").append(toIndentedString(name)).append("\n");
-    sb.append("    description: ").append(toIndentedString(description)).append("\n");
-    sb.append("    columns: ").append(toIndentedString(columns)).append("\n");
-    sb.append("}");
-    return sb.toString();
-  }
-
-  /**
-   * Convert the given object to string with each line indented by 4 spaces
-   * (except the first line).
-   */
-  private String toIndentedString(Object o) {
-    if (o == null) {
-      return "null";
-    }
-    return o.toString().replace("\n", "\n    ");
-  }
-
-}
diff --git a/.java-stubs/src/main/java/io/swagger/client/model/TableCsvDeleteDto.java b/.java-stubs/src/main/java/io/swagger/client/model/TableCsvDeleteDto.java
deleted file mode 100644
index 72da04d41b..0000000000
--- a/.java-stubs/src/main/java/io/swagger/client/model/TableCsvDeleteDto.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*
- * Database Repository Query Service API
- * Service that manages the queries
- *
- * OpenAPI spec version: 1.1.0-alpha
- * Contact: andreas.rauber@tuwien.ac.at
- *
- * NOTE: This class is auto generated by the swagger code generator program.
- * https://github.com/swagger-api/swagger-codegen.git
- * Do not edit the class manually.
- */
-
-package io.swagger.client.model;
-
-import java.util.Objects;
-import java.util.Arrays;
-import com.google.gson.TypeAdapter;
-import com.google.gson.annotations.JsonAdapter;
-import com.google.gson.annotations.SerializedName;
-import com.google.gson.stream.JsonReader;
-import com.google.gson.stream.JsonWriter;
-import io.swagger.v3.oas.annotations.media.Schema;
-import java.io.IOException;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-/**
- * TableCsvDeleteDto
- */
-
-@javax.annotation.Generated(value = "io.swagger.codegen.v3.generators.java.JavaClientCodegen", date = "2023-02-12T12:27:08.557443+01:00[Europe/Vienna]")
-public class TableCsvDeleteDto {
-  @SerializedName("keys")
-  private Map<String, Object> keys = new HashMap<String, Object>();
-
-  public TableCsvDeleteDto keys(Map<String, Object> keys) {
-    this.keys = keys;
-    return this;
-  }
-
-  public TableCsvDeleteDto putKeysItem(String key, Object keysItem) {
-    this.keys.put(key, keysItem);
-    return this;
-  }
-
-   /**
-   * Get keys
-   * @return keys
-  **/
-  @Schema(required = true, description = "")
-  public Map<String, Object> getKeys() {
-    return keys;
-  }
-
-  public void setKeys(Map<String, Object> keys) {
-    this.keys = keys;
-  }
-
-
-  @Override
-  public boolean equals(Object o) {
-    if (this == o) {
-      return true;
-    }
-    if (o == null || getClass() != o.getClass()) {
-      return false;
-    }
-    TableCsvDeleteDto tableCsvDeleteDto = (TableCsvDeleteDto) o;
-    return Objects.equals(this.keys, tableCsvDeleteDto.keys);
-  }
-
-  @Override
-  public int hashCode() {
-    return Objects.hash(keys);
-  }
-
-
-  @Override
-  public String toString() {
-    StringBuilder sb = new StringBuilder();
-    sb.append("class TableCsvDeleteDto {\n");
-    
-    sb.append("    keys: ").append(toIndentedString(keys)).append("\n");
-    sb.append("}");
-    return sb.toString();
-  }
-
-  /**
-   * Convert the given object to string with each line indented by 4 spaces
-   * (except the first line).
-   */
-  private String toIndentedString(Object o) {
-    if (o == null) {
-      return "null";
-    }
-    return o.toString().replace("\n", "\n    ");
-  }
-
-}
diff --git a/.java-stubs/src/main/java/io/swagger/client/model/TableCsvDto.java b/.java-stubs/src/main/java/io/swagger/client/model/TableCsvDto.java
deleted file mode 100644
index 8051dbde21..0000000000
--- a/.java-stubs/src/main/java/io/swagger/client/model/TableCsvDto.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*
- * Database Repository Query Service API
- * Service that manages the queries
- *
- * OpenAPI spec version: 1.1.0-alpha
- * Contact: andreas.rauber@tuwien.ac.at
- *
- * NOTE: This class is auto generated by the swagger code generator program.
- * https://github.com/swagger-api/swagger-codegen.git
- * Do not edit the class manually.
- */
-
-package io.swagger.client.model;
-
-import java.util.Objects;
-import java.util.Arrays;
-import com.google.gson.TypeAdapter;
-import com.google.gson.annotations.JsonAdapter;
-import com.google.gson.annotations.SerializedName;
-import com.google.gson.stream.JsonReader;
-import com.google.gson.stream.JsonWriter;
-import io.swagger.v3.oas.annotations.media.Schema;
-import java.io.IOException;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-/**
- * TableCsvDto
- */
-
-@javax.annotation.Generated(value = "io.swagger.codegen.v3.generators.java.JavaClientCodegen", date = "2023-02-12T12:27:08.557443+01:00[Europe/Vienna]")
-public class TableCsvDto {
-  @SerializedName("data")
-  private Map<String, Object> data = new HashMap<String, Object>();
-
-  public TableCsvDto data(Map<String, Object> data) {
-    this.data = data;
-    return this;
-  }
-
-  public TableCsvDto putDataItem(String key, Object dataItem) {
-    this.data.put(key, dataItem);
-    return this;
-  }
-
-   /**
-   * Get data
-   * @return data
-  **/
-  @Schema(required = true, description = "")
-  public Map<String, Object> getData() {
-    return data;
-  }
-
-  public void setData(Map<String, Object> data) {
-    this.data = data;
-  }
-
-
-  @Override
-  public boolean equals(Object o) {
-    if (this == o) {
-      return true;
-    }
-    if (o == null || getClass() != o.getClass()) {
-      return false;
-    }
-    TableCsvDto tableCsvDto = (TableCsvDto) o;
-    return Objects.equals(this.data, tableCsvDto.data);
-  }
-
-  @Override
-  public int hashCode() {
-    return Objects.hash(data);
-  }
-
-
-  @Override
-  public String toString() {
-    StringBuilder sb = new StringBuilder();
-    sb.append("class TableCsvDto {\n");
-    
-    sb.append("    data: ").append(toIndentedString(data)).append("\n");
-    sb.append("}");
-    return sb.toString();
-  }
-
-  /**
-   * Convert the given object to string with each line indented by 4 spaces
-   * (except the first line).
-   */
-  private String toIndentedString(Object o) {
-    if (o == null) {
-      return "null";
-    }
-    return o.toString().replace("\n", "\n    ");
-  }
-
-}
diff --git a/.java-stubs/src/main/java/io/swagger/client/model/TableCsvUpdateDto.java b/.java-stubs/src/main/java/io/swagger/client/model/TableCsvUpdateDto.java
deleted file mode 100644
index be6dd6782e..0000000000
--- a/.java-stubs/src/main/java/io/swagger/client/model/TableCsvUpdateDto.java
+++ /dev/null
@@ -1,127 +0,0 @@
-/*
- * Database Repository Query Service API
- * Service that manages the queries
- *
- * OpenAPI spec version: 1.1.0-alpha
- * Contact: andreas.rauber@tuwien.ac.at
- *
- * NOTE: This class is auto generated by the swagger code generator program.
- * https://github.com/swagger-api/swagger-codegen.git
- * Do not edit the class manually.
- */
-
-package io.swagger.client.model;
-
-import java.util.Objects;
-import java.util.Arrays;
-import com.google.gson.TypeAdapter;
-import com.google.gson.annotations.JsonAdapter;
-import com.google.gson.annotations.SerializedName;
-import com.google.gson.stream.JsonReader;
-import com.google.gson.stream.JsonWriter;
-import io.swagger.v3.oas.annotations.media.Schema;
-import java.io.IOException;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-/**
- * TableCsvUpdateDto
- */
-
-@javax.annotation.Generated(value = "io.swagger.codegen.v3.generators.java.JavaClientCodegen", date = "2023-02-12T12:27:08.557443+01:00[Europe/Vienna]")
-public class TableCsvUpdateDto {
-  @SerializedName("data")
-  private Map<String, Object> data = new HashMap<String, Object>();
-
-  @SerializedName("keys")
-  private Map<String, Object> keys = new HashMap<String, Object>();
-
-  public TableCsvUpdateDto data(Map<String, Object> data) {
-    this.data = data;
-    return this;
-  }
-
-  public TableCsvUpdateDto putDataItem(String key, Object dataItem) {
-    this.data.put(key, dataItem);
-    return this;
-  }
-
-   /**
-   * Get data
-   * @return data
-  **/
-  @Schema(required = true, description = "")
-  public Map<String, Object> getData() {
-    return data;
-  }
-
-  public void setData(Map<String, Object> data) {
-    this.data = data;
-  }
-
-  public TableCsvUpdateDto keys(Map<String, Object> keys) {
-    this.keys = keys;
-    return this;
-  }
-
-  public TableCsvUpdateDto putKeysItem(String key, Object keysItem) {
-    this.keys.put(key, keysItem);
-    return this;
-  }
-
-   /**
-   * Get keys
-   * @return keys
-  **/
-  @Schema(required = true, description = "")
-  public Map<String, Object> getKeys() {
-    return keys;
-  }
-
-  public void setKeys(Map<String, Object> keys) {
-    this.keys = keys;
-  }
-
-
-  @Override
-  public boolean equals(Object o) {
-    if (this == o) {
-      return true;
-    }
-    if (o == null || getClass() != o.getClass()) {
-      return false;
-    }
-    TableCsvUpdateDto tableCsvUpdateDto = (TableCsvUpdateDto) o;
-    return Objects.equals(this.data, tableCsvUpdateDto.data) &&
-        Objects.equals(this.keys, tableCsvUpdateDto.keys);
-  }
-
-  @Override
-  public int hashCode() {
-    return Objects.hash(data, keys);
-  }
-
-
-  @Override
-  public String toString() {
-    StringBuilder sb = new StringBuilder();
-    sb.append("class TableCsvUpdateDto {\n");
-    
-    sb.append("    data: ").append(toIndentedString(data)).append("\n");
-    sb.append("    keys: ").append(toIndentedString(keys)).append("\n");
-    sb.append("}");
-    return sb.toString();
-  }
-
-  /**
-   * Convert the given object to string with each line indented by 4 spaces
-   * (except the first line).
-   */
-  private String toIndentedString(Object o) {
-    if (o == null) {
-      return "null";
-    }
-    return o.toString().replace("\n", "\n    ");
-  }
-
-}
diff --git a/.java-stubs/src/main/java/io/swagger/client/model/TableDto.java b/.java-stubs/src/main/java/io/swagger/client/model/TableDto.java
deleted file mode 100644
index a27eac17cb..0000000000
--- a/.java-stubs/src/main/java/io/swagger/client/model/TableDto.java
+++ /dev/null
@@ -1,285 +0,0 @@
-/*
- * Database Repository Table Service API
- * Service that manages the tables
- *
- * OpenAPI spec version: 1.1.0-alpha
- * Contact: andreas.rauber@tuwien.ac.at
- *
- * NOTE: This class is auto generated by the swagger code generator program.
- * https://github.com/swagger-api/swagger-codegen.git
- * Do not edit the class manually.
- */
-
-package io.swagger.client.model;
-
-import java.util.Objects;
-import java.util.Arrays;
-import com.google.gson.TypeAdapter;
-import com.google.gson.annotations.JsonAdapter;
-import com.google.gson.annotations.SerializedName;
-import com.google.gson.stream.JsonReader;
-import com.google.gson.stream.JsonWriter;
-import io.swagger.client.model.ColumnDto;
-import io.swagger.client.model.UserBriefDto;
-import io.swagger.v3.oas.annotations.media.Schema;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.List;
-import org.threeten.bp.OffsetDateTime;
-/**
- * TableDto
- */
-
-@javax.annotation.Generated(value = "io.swagger.codegen.v3.generators.java.JavaClientCodegen", date = "2023-02-12T12:29:06.419178+01:00[Europe/Vienna]")
-public class TableDto {
-  @SerializedName("id")
-  private Long id = null;
-
-  @SerializedName("name")
-  private String name = null;
-
-  @SerializedName("creator")
-  private UserBriefDto creator = null;
-
-  @SerializedName("description")
-  private String description = null;
-
-  @SerializedName("created")
-  private OffsetDateTime created = null;
-
-  @SerializedName("columns")
-  private List<ColumnDto> columns = new ArrayList<ColumnDto>();
-
-  @SerializedName("internal_name")
-  private String internalName = null;
-
-  @SerializedName("queue_name")
-  private String queueName = null;
-
-  @SerializedName("routing_key")
-  private String routingKey = null;
-
-  public TableDto id(Long id) {
-    this.id = id;
-    return this;
-  }
-
-   /**
-   * Get id
-   * @return id
-  **/
-  @Schema(required = true, description = "")
-  public Long getId() {
-    return id;
-  }
-
-  public void setId(Long id) {
-    this.id = id;
-  }
-
-  public TableDto name(String name) {
-    this.name = name;
-    return this;
-  }
-
-   /**
-   * Get name
-   * @return name
-  **/
-  @Schema(example = "Air Quality", required = true, description = "")
-  public String getName() {
-    return name;
-  }
-
-  public void setName(String name) {
-    this.name = name;
-  }
-
-  public TableDto creator(UserBriefDto creator) {
-    this.creator = creator;
-    return this;
-  }
-
-   /**
-   * Get creator
-   * @return creator
-  **/
-  @Schema(required = true, description = "")
-  public UserBriefDto getCreator() {
-    return creator;
-  }
-
-  public void setCreator(UserBriefDto creator) {
-    this.creator = creator;
-  }
-
-  public TableDto description(String description) {
-    this.description = description;
-    return this;
-  }
-
-   /**
-   * Get description
-   * @return description
-  **/
-  @Schema(example = "Air Quality in Austria", required = true, description = "")
-  public String getDescription() {
-    return description;
-  }
-
-  public void setDescription(String description) {
-    this.description = description;
-  }
-
-  public TableDto created(OffsetDateTime created) {
-    this.created = created;
-    return this;
-  }
-
-   /**
-   * Get created
-   * @return created
-  **/
-  @Schema(description = "")
-  public OffsetDateTime getCreated() {
-    return created;
-  }
-
-  public void setCreated(OffsetDateTime created) {
-    this.created = created;
-  }
-
-  public TableDto columns(List<ColumnDto> columns) {
-    this.columns = columns;
-    return this;
-  }
-
-  public TableDto addColumnsItem(ColumnDto columnsItem) {
-    this.columns.add(columnsItem);
-    return this;
-  }
-
-   /**
-   * Get columns
-   * @return columns
-  **/
-  @Schema(required = true, description = "")
-  public List<ColumnDto> getColumns() {
-    return columns;
-  }
-
-  public void setColumns(List<ColumnDto> columns) {
-    this.columns = columns;
-  }
-
-  public TableDto internalName(String internalName) {
-    this.internalName = internalName;
-    return this;
-  }
-
-   /**
-   * Get internalName
-   * @return internalName
-  **/
-  @Schema(example = "air_quality", required = true, description = "")
-  public String getInternalName() {
-    return internalName;
-  }
-
-  public void setInternalName(String internalName) {
-    this.internalName = internalName;
-  }
-
-  public TableDto queueName(String queueName) {
-    this.queueName = queueName;
-    return this;
-  }
-
-   /**
-   * Get queueName
-   * @return queueName
-  **/
-  @Schema(example = "dbrepo/4/4/2", required = true, description = "")
-  public String getQueueName() {
-    return queueName;
-  }
-
-  public void setQueueName(String queueName) {
-    this.queueName = queueName;
-  }
-
-  public TableDto routingKey(String routingKey) {
-    this.routingKey = routingKey;
-    return this;
-  }
-
-   /**
-   * Get routingKey
-   * @return routingKey
-  **/
-  @Schema(example = "dbrepo/4/4/2/1", required = true, description = "")
-  public String getRoutingKey() {
-    return routingKey;
-  }
-
-  public void setRoutingKey(String routingKey) {
-    this.routingKey = routingKey;
-  }
-
-
-  @Override
-  public boolean equals(Object o) {
-    if (this == o) {
-      return true;
-    }
-    if (o == null || getClass() != o.getClass()) {
-      return false;
-    }
-    TableDto tableDto = (TableDto) o;
-    return Objects.equals(this.id, tableDto.id) &&
-        Objects.equals(this.name, tableDto.name) &&
-        Objects.equals(this.creator, tableDto.creator) &&
-        Objects.equals(this.description, tableDto.description) &&
-        Objects.equals(this.created, tableDto.created) &&
-        Objects.equals(this.columns, tableDto.columns) &&
-        Objects.equals(this.internalName, tableDto.internalName) &&
-        Objects.equals(this.queueName, tableDto.queueName) &&
-        Objects.equals(this.routingKey, tableDto.routingKey);
-  }
-
-  @Override
-  public int hashCode() {
-    return Objects.hash(id, name, creator, description, created, columns, internalName, queueName, routingKey);
-  }
-
-
-  @Override
-  public String toString() {
-    StringBuilder sb = new StringBuilder();
-    sb.append("class TableDto {\n");
-    
-    sb.append("    id: ").append(toIndentedString(id)).append("\n");
-    sb.append("    name: ").append(toIndentedString(name)).append("\n");
-    sb.append("    creator: ").append(toIndentedString(creator)).append("\n");
-    sb.append("    description: ").append(toIndentedString(description)).append("\n");
-    sb.append("    created: ").append(toIndentedString(created)).append("\n");
-    sb.append("    columns: ").append(toIndentedString(columns)).append("\n");
-    sb.append("    internalName: ").append(toIndentedString(internalName)).append("\n");
-    sb.append("    queueName: ").append(toIndentedString(queueName)).append("\n");
-    sb.append("    routingKey: ").append(toIndentedString(routingKey)).append("\n");
-    sb.append("}");
-    return sb.toString();
-  }
-
-  /**
-   * Convert the given object to string with each line indented by 4 spaces
-   * (except the first line).
-   */
-  private String toIndentedString(Object o) {
-    if (o == null) {
-      return "null";
-    }
-    return o.toString().replace("\n", "\n    ");
-  }
-
-}
diff --git a/.java-stubs/src/main/java/io/swagger/client/model/TableHistoryDto.java b/.java-stubs/src/main/java/io/swagger/client/model/TableHistoryDto.java
deleted file mode 100644
index c5925de334..0000000000
--- a/.java-stubs/src/main/java/io/swagger/client/model/TableHistoryDto.java
+++ /dev/null
@@ -1,138 +0,0 @@
-/*
- * Database Repository Query Service API
- * Service that manages the queries
- *
- * OpenAPI spec version: 1.1.0-alpha
- * Contact: andreas.rauber@tuwien.ac.at
- *
- * NOTE: This class is auto generated by the swagger code generator program.
- * https://github.com/swagger-api/swagger-codegen.git
- * Do not edit the class manually.
- */
-
-package io.swagger.client.model;
-
-import java.util.Objects;
-import java.util.Arrays;
-import com.google.gson.TypeAdapter;
-import com.google.gson.annotations.JsonAdapter;
-import com.google.gson.annotations.SerializedName;
-import com.google.gson.stream.JsonReader;
-import com.google.gson.stream.JsonWriter;
-import io.swagger.v3.oas.annotations.media.Schema;
-import java.io.IOException;
-import org.threeten.bp.OffsetDateTime;
-/**
- * TableHistoryDto
- */
-
-@javax.annotation.Generated(value = "io.swagger.codegen.v3.generators.java.JavaClientCodegen", date = "2023-02-12T12:27:08.557443+01:00[Europe/Vienna]")
-public class TableHistoryDto {
-  @SerializedName("timestamp")
-  private OffsetDateTime timestamp = null;
-
-  @SerializedName("event")
-  private String event = null;
-
-  @SerializedName("total")
-  private Long total = null;
-
-  public TableHistoryDto timestamp(OffsetDateTime timestamp) {
-    this.timestamp = timestamp;
-    return this;
-  }
-
-   /**
-   * Get timestamp
-   * @return timestamp
-  **/
-  @Schema(required = true, description = "")
-  public OffsetDateTime getTimestamp() {
-    return timestamp;
-  }
-
-  public void setTimestamp(OffsetDateTime timestamp) {
-    this.timestamp = timestamp;
-  }
-
-  public TableHistoryDto event(String event) {
-    this.event = event;
-    return this;
-  }
-
-   /**
-   * Get event
-   * @return event
-  **/
-  @Schema(required = true, description = "")
-  public String getEvent() {
-    return event;
-  }
-
-  public void setEvent(String event) {
-    this.event = event;
-  }
-
-  public TableHistoryDto total(Long total) {
-    this.total = total;
-    return this;
-  }
-
-   /**
-   * Get total
-   * @return total
-  **/
-  @Schema(example = "1", required = true, description = "")
-  public Long getTotal() {
-    return total;
-  }
-
-  public void setTotal(Long total) {
-    this.total = total;
-  }
-
-
-  @Override
-  public boolean equals(Object o) {
-    if (this == o) {
-      return true;
-    }
-    if (o == null || getClass() != o.getClass()) {
-      return false;
-    }
-    TableHistoryDto tableHistoryDto = (TableHistoryDto) o;
-    return Objects.equals(this.timestamp, tableHistoryDto.timestamp) &&
-        Objects.equals(this.event, tableHistoryDto.event) &&
-        Objects.equals(this.total, tableHistoryDto.total);
-  }
-
-  @Override
-  public int hashCode() {
-    return Objects.hash(timestamp, event, total);
-  }
-
-
-  @Override
-  public String toString() {
-    StringBuilder sb = new StringBuilder();
-    sb.append("class TableHistoryDto {\n");
-    
-    sb.append("    timestamp: ").append(toIndentedString(timestamp)).append("\n");
-    sb.append("    event: ").append(toIndentedString(event)).append("\n");
-    sb.append("    total: ").append(toIndentedString(total)).append("\n");
-    sb.append("}");
-    return sb.toString();
-  }
-
-  /**
-   * Convert the given object to string with each line indented by 4 spaces
-   * (except the first line).
-   */
-  private String toIndentedString(Object o) {
-    if (o == null) {
-      return "null";
-    }
-    return o.toString().replace("\n", "\n    ");
-  }
-
-}
diff --git a/.java-stubs/src/main/java/io/swagger/client/model/UnitDto.java b/.java-stubs/src/main/java/io/swagger/client/model/UnitDto.java
deleted file mode 100644
index da25cd960a..0000000000
--- a/.java-stubs/src/main/java/io/swagger/client/model/UnitDto.java
+++ /dev/null
@@ -1,138 +0,0 @@
-/*
- * Database Repository Table Service API
- * Service that manages the tables
- *
- * OpenAPI spec version: 1.1.0-alpha
- * Contact: andreas.rauber@tuwien.ac.at
- *
- * NOTE: This class is auto generated by the swagger code generator program.
- * https://github.com/swagger-api/swagger-codegen.git
- * Do not edit the class manually.
- */
-
-package io.swagger.client.model;
-
-import java.util.Objects;
-import java.util.Arrays;
-import com.google.gson.TypeAdapter;
-import com.google.gson.annotations.JsonAdapter;
-import com.google.gson.annotations.SerializedName;
-import com.google.gson.stream.JsonReader;
-import com.google.gson.stream.JsonWriter;
-import io.swagger.v3.oas.annotations.media.Schema;
-import java.io.IOException;
-import org.threeten.bp.OffsetDateTime;
-/**
- * UnitDto
- */
-
-@javax.annotation.Generated(value = "io.swagger.codegen.v3.generators.java.JavaClientCodegen", date = "2023-02-12T12:29:06.419178+01:00[Europe/Vienna]")
-public class UnitDto {
-  @SerializedName("uri")
-  private String uri = null;
-
-  @SerializedName("name")
-  private String name = null;
-
-  @SerializedName("created")
-  private OffsetDateTime created = null;
-
-  public UnitDto uri(String uri) {
-    this.uri = uri;
-    return this;
-  }
-
-   /**
-   * Get uri
-   * @return uri
-  **/
-  @Schema(required = true, description = "")
-  public String getUri() {
-    return uri;
-  }
-
-  public void setUri(String uri) {
-    this.uri = uri;
-  }
-
-  public UnitDto name(String name) {
-    this.name = name;
-    return this;
-  }
-
-   /**
-   * Get name
-   * @return name
-  **/
-  @Schema(required = true, description = "")
-  public String getName() {
-    return name;
-  }
-
-  public void setName(String name) {
-    this.name = name;
-  }
-
-  public UnitDto created(OffsetDateTime created) {
-    this.created = created;
-    return this;
-  }
-
-   /**
-   * Get created
-   * @return created
-  **/
-  @Schema(required = true, description = "")
-  public OffsetDateTime getCreated() {
-    return created;
-  }
-
-  public void setCreated(OffsetDateTime created) {
-    this.created = created;
-  }
-
-
-  @Override
-  public boolean equals(Object o) {
-    if (this == o) {
-      return true;
-    }
-    if (o == null || getClass() != o.getClass()) {
-      return false;
-    }
-    UnitDto unitDto = (UnitDto) o;
-    return Objects.equals(this.uri, unitDto.uri) &&
-        Objects.equals(this.name, unitDto.name) &&
-        Objects.equals(this.created, unitDto.created);
-  }
-
-  @Override
-  public int hashCode() {
-    return Objects.hash(uri, name, created);
-  }
-
-
-  @Override
-  public String toString() {
-    StringBuilder sb = new StringBuilder();
-    sb.append("class UnitDto {\n");
-    
-    sb.append("    uri: ").append(toIndentedString(uri)).append("\n");
-    sb.append("    name: ").append(toIndentedString(name)).append("\n");
-    sb.append("    created: ").append(toIndentedString(created)).append("\n");
-    sb.append("}");
-    return sb.toString();
-  }
-
-  /**
-   * Convert the given object to string with each line indented by 4 spaces
-   * (except the first line).
-   */
-  private String toIndentedString(Object o) {
-    if (o == null) {
-      return "null";
-    }
-    return o.toString().replace("\n", "\n    ");
-  }
-
-}
diff --git a/.java-stubs/src/main/java/io/swagger/client/model/UserBriefDto.java b/.java-stubs/src/main/java/io/swagger/client/model/UserBriefDto.java
deleted file mode 100644
index d0b5924a23..0000000000
--- a/.java-stubs/src/main/java/io/swagger/client/model/UserBriefDto.java
+++ /dev/null
@@ -1,328 +0,0 @@
-/*
- * Database Repository Container Service API
- * Service that manages the containers
- *
- * OpenAPI spec version: 1.1.0-alpha
- * Contact: andreas.rauber@tuwien.ac.at
- *
- * NOTE: This class is auto generated by the swagger code generator program.
- * https://github.com/swagger-api/swagger-codegen.git
- * Do not edit the class manually.
- */
-
-package io.swagger.client.model;
-
-import java.util.Objects;
-import java.util.Arrays;
-import com.google.gson.TypeAdapter;
-import com.google.gson.annotations.JsonAdapter;
-import com.google.gson.annotations.SerializedName;
-import com.google.gson.stream.JsonReader;
-import com.google.gson.stream.JsonWriter;
-import io.swagger.v3.oas.annotations.media.Schema;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.List;
-/**
- * UserBriefDto
- */
-
-@javax.annotation.Generated(value = "io.swagger.codegen.v3.generators.java.JavaClientCodegen", date = "2023-02-12T11:48:18.502846+01:00[Europe/Vienna]")
-public class UserBriefDto {
-  @SerializedName("id")
-  private Long id = null;
-
-  @SerializedName("username")
-  private String username = null;
-
-  @SerializedName("titlesBefore")
-  private String titlesBefore = null;
-
-  @SerializedName("titlesAfter")
-  private String titlesAfter = null;
-
-  @SerializedName("firstname")
-  private String firstname = null;
-
-  @SerializedName("lastname")
-  private String lastname = null;
-
-  @SerializedName("affiliation")
-  private String affiliation = null;
-
-  @SerializedName("orcid")
-  private String orcid = null;
-
-  @SerializedName("roles")
-  private List<String> roles = new ArrayList<String>();
-
-  @SerializedName("themeDark")
-  private Boolean themeDark = null;
-
-  @SerializedName("emailVerified")
-  private Boolean emailVerified = null;
-
-  public UserBriefDto id(Long id) {
-    this.id = id;
-    return this;
-  }
-
-   /**
-   * Get id
-   * @return id
-  **/
-  @Schema(required = true, description = "")
-  public Long getId() {
-    return id;
-  }
-
-  public void setId(Long id) {
-    this.id = id;
-  }
-
-  public UserBriefDto username(String username) {
-    this.username = username;
-    return this;
-  }
-
-   /**
-   * Only contains lowercase characters
-   * @return username
-  **/
-  @Schema(example = "user", required = true, description = "Only contains lowercase characters")
-  public String getUsername() {
-    return username;
-  }
-
-  public void setUsername(String username) {
-    this.username = username;
-  }
-
-  public UserBriefDto titlesBefore(String titlesBefore) {
-    this.titlesBefore = titlesBefore;
-    return this;
-  }
-
-   /**
-   * Get titlesBefore
-   * @return titlesBefore
-  **/
-  @Schema(description = "")
-  public String getTitlesBefore() {
-    return titlesBefore;
-  }
-
-  public void setTitlesBefore(String titlesBefore) {
-    this.titlesBefore = titlesBefore;
-  }
-
-  public UserBriefDto titlesAfter(String titlesAfter) {
-    this.titlesAfter = titlesAfter;
-    return this;
-  }
-
-   /**
-   * Get titlesAfter
-   * @return titlesAfter
-  **/
-  @Schema(description = "")
-  public String getTitlesAfter() {
-    return titlesAfter;
-  }
-
-  public void setTitlesAfter(String titlesAfter) {
-    this.titlesAfter = titlesAfter;
-  }
-
-  public UserBriefDto firstname(String firstname) {
-    this.firstname = firstname;
-    return this;
-  }
-
-   /**
-   * Get firstname
-   * @return firstname
-  **/
-  @Schema(example = "Josiah", description = "")
-  public String getFirstname() {
-    return firstname;
-  }
-
-  public void setFirstname(String firstname) {
-    this.firstname = firstname;
-  }
-
-  public UserBriefDto lastname(String lastname) {
-    this.lastname = lastname;
-    return this;
-  }
-
-   /**
-   * Get lastname
-   * @return lastname
-  **/
-  @Schema(example = "Carberry", description = "")
-  public String getLastname() {
-    return lastname;
-  }
-
-  public void setLastname(String lastname) {
-    this.lastname = lastname;
-  }
-
-  public UserBriefDto affiliation(String affiliation) {
-    this.affiliation = affiliation;
-    return this;
-  }
-
-   /**
-   * Get affiliation
-   * @return affiliation
-  **/
-  @Schema(example = "Brown University", description = "")
-  public String getAffiliation() {
-    return affiliation;
-  }
-
-  public void setAffiliation(String affiliation) {
-    this.affiliation = affiliation;
-  }
-
-  public UserBriefDto orcid(String orcid) {
-    this.orcid = orcid;
-    return this;
-  }
-
-   /**
-   * Get orcid
-   * @return orcid
-  **/
-  @Schema(example = "0000-0002-1825-0097", description = "")
-  public String getOrcid() {
-    return orcid;
-  }
-
-  public void setOrcid(String orcid) {
-    this.orcid = orcid;
-  }
-
-  public UserBriefDto roles(List<String> roles) {
-    this.roles = roles;
-    return this;
-  }
-
-  public UserBriefDto addRolesItem(String rolesItem) {
-    this.roles.add(rolesItem);
-    return this;
-  }
-
-   /**
-   * Roles of the user
-   * @return roles
-  **/
-  @Schema(example = "[ROLE_RESEARCHER]", required = true, description = "Roles of the user")
-  public List<String> getRoles() {
-    return roles;
-  }
-
-  public void setRoles(List<String> roles) {
-    this.roles = roles;
-  }
-
-  public UserBriefDto themeDark(Boolean themeDark) {
-    this.themeDark = themeDark;
-    return this;
-  }
-
-   /**
-   * Get themeDark
-   * @return themeDark
-  **/
-  @Schema(description = "")
-  public Boolean isThemeDark() {
-    return themeDark;
-  }
-
-  public void setThemeDark(Boolean themeDark) {
-    this.themeDark = themeDark;
-  }
-
-  public UserBriefDto emailVerified(Boolean emailVerified) {
-    this.emailVerified = emailVerified;
-    return this;
-  }
-
-   /**
-   * Get emailVerified
-   * @return emailVerified
-  **/
-  @Schema(description = "")
-  public Boolean isEmailVerified() {
-    return emailVerified;
-  }
-
-  public void setEmailVerified(Boolean emailVerified) {
-    this.emailVerified = emailVerified;
-  }
-
-
-  @Override
-  public boolean equals(Object o) {
-    if (this == o) {
-      return true;
-    }
-    if (o == null || getClass() != o.getClass()) {
-      return false;
-    }
-    UserBriefDto userBriefDto = (UserBriefDto) o;
-    return Objects.equals(this.id, userBriefDto.id) &&
-        Objects.equals(this.username, userBriefDto.username) &&
-        Objects.equals(this.titlesBefore, userBriefDto.titlesBefore) &&
-        Objects.equals(this.titlesAfter, userBriefDto.titlesAfter) &&
-        Objects.equals(this.firstname, userBriefDto.firstname) &&
-        Objects.equals(this.lastname, userBriefDto.lastname) &&
-        Objects.equals(this.affiliation, userBriefDto.affiliation) &&
-        Objects.equals(this.orcid, userBriefDto.orcid) &&
-        Objects.equals(this.roles, userBriefDto.roles) &&
-        Objects.equals(this.themeDark, userBriefDto.themeDark) &&
-        Objects.equals(this.emailVerified, userBriefDto.emailVerified);
-  }
-
-  @Override
-  public int hashCode() {
-    return Objects.hash(id, username, titlesBefore, titlesAfter, firstname, lastname, affiliation, orcid, roles, themeDark, emailVerified);
-  }
-
-
-  @Override
-  public String toString() {
-    StringBuilder sb = new StringBuilder();
-    sb.append("class UserBriefDto {\n");
-    
-    sb.append("    id: ").append(toIndentedString(id)).append("\n");
-    sb.append("    username: ").append(toIndentedString(username)).append("\n");
-    sb.append("    titlesBefore: ").append(toIndentedString(titlesBefore)).append("\n");
-    sb.append("    titlesAfter: ").append(toIndentedString(titlesAfter)).append("\n");
-    sb.append("    firstname: ").append(toIndentedString(firstname)).append("\n");
-    sb.append("    lastname: ").append(toIndentedString(lastname)).append("\n");
-    sb.append("    affiliation: ").append(toIndentedString(affiliation)).append("\n");
-    sb.append("    orcid: ").append(toIndentedString(orcid)).append("\n");
-    sb.append("    roles: ").append(toIndentedString(roles)).append("\n");
-    sb.append("    themeDark: ").append(toIndentedString(themeDark)).append("\n");
-    sb.append("    emailVerified: ").append(toIndentedString(emailVerified)).append("\n");
-    sb.append("}");
-    return sb.toString();
-  }
-
-  /**
-   * Convert the given object to string with each line indented by 4 spaces
-   * (except the first line).
-   */
-  private String toIndentedString(Object o) {
-    if (o == null) {
-      return "null";
-    }
-    return o.toString().replace("\n", "\n    ");
-  }
-
-}
diff --git a/.java-stubs/src/main/java/io/swagger/client/model/UserDto.java b/.java-stubs/src/main/java/io/swagger/client/model/UserDto.java
deleted file mode 100644
index ccddfc131b..0000000000
--- a/.java-stubs/src/main/java/io/swagger/client/model/UserDto.java
+++ /dev/null
@@ -1,477 +0,0 @@
-/*
- * Database Repository Container Service API
- * Service that manages the containers
- *
- * OpenAPI spec version: 1.1.0-alpha
- * Contact: andreas.rauber@tuwien.ac.at
- *
- * NOTE: This class is auto generated by the swagger code generator program.
- * https://github.com/swagger-api/swagger-codegen.git
- * Do not edit the class manually.
- */
-
-package io.swagger.client.model;
-
-import java.util.Objects;
-import java.util.Arrays;
-import com.google.gson.TypeAdapter;
-import com.google.gson.annotations.JsonAdapter;
-import com.google.gson.annotations.SerializedName;
-import com.google.gson.stream.JsonReader;
-import com.google.gson.stream.JsonWriter;
-import io.swagger.client.model.ContainerDto;
-import io.swagger.client.model.GrantedAuthorityDto;
-import io.swagger.v3.oas.annotations.media.Schema;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.List;
-/**
- * UserDto
- */
-
-@javax.annotation.Generated(value = "io.swagger.codegen.v3.generators.java.JavaClientCodegen", date = "2023-02-12T11:48:18.502846+01:00[Europe/Vienna]")
-public class UserDto {
-  @SerializedName("id")
-  private Long id = null;
-
-  @SerializedName("authorities")
-  private List<GrantedAuthorityDto> authorities = null;
-
-  @SerializedName("username")
-  private String username = null;
-
-  @SerializedName("firstname")
-  private String firstname = null;
-
-  @SerializedName("lastname")
-  private String lastname = null;
-
-  @SerializedName("affiliation")
-  private String affiliation = null;
-
-  @SerializedName("orcid")
-  private String orcid = null;
-
-  @SerializedName("roles")
-  private List<String> roles = new ArrayList<String>();
-
-  @SerializedName("containers")
-  private List<ContainerDto> containers = null;
-
-  @SerializedName("databases")
-  private List<ContainerDto> databases = null;
-
-  @SerializedName("identifiers")
-  private List<ContainerDto> identifiers = null;
-
-  @SerializedName("email")
-  private String email = null;
-
-  @SerializedName("titles_before")
-  private String titlesBefore = null;
-
-  @SerializedName("titles_after")
-  private String titlesAfter = null;
-
-  @SerializedName("theme_dark")
-  private Boolean themeDark = null;
-
-  @SerializedName("email_verified")
-  private Boolean emailVerified = null;
-
-  public UserDto id(Long id) {
-    this.id = id;
-    return this;
-  }
-
-   /**
-   * Get id
-   * @return id
-  **/
-  @Schema(required = true, description = "")
-  public Long getId() {
-    return id;
-  }
-
-  public void setId(Long id) {
-    this.id = id;
-  }
-
-  public UserDto authorities(List<GrantedAuthorityDto> authorities) {
-    this.authorities = authorities;
-    return this;
-  }
-
-  public UserDto addAuthoritiesItem(GrantedAuthorityDto authoritiesItem) {
-    if (this.authorities == null) {
-      this.authorities = new ArrayList<GrantedAuthorityDto>();
-    }
-    this.authorities.add(authoritiesItem);
-    return this;
-  }
-
-   /**
-   * Get authorities
-   * @return authorities
-  **/
-  @Schema(description = "")
-  public List<GrantedAuthorityDto> getAuthorities() {
-    return authorities;
-  }
-
-  public void setAuthorities(List<GrantedAuthorityDto> authorities) {
-    this.authorities = authorities;
-  }
-
-  public UserDto username(String username) {
-    this.username = username;
-    return this;
-  }
-
-   /**
-   * Only contains lowercase characters
-   * @return username
-  **/
-  @Schema(example = "jcarberry", required = true, description = "Only contains lowercase characters")
-  public String getUsername() {
-    return username;
-  }
-
-  public void setUsername(String username) {
-    this.username = username;
-  }
-
-  public UserDto firstname(String firstname) {
-    this.firstname = firstname;
-    return this;
-  }
-
-   /**
-   * Get firstname
-   * @return firstname
-  **/
-  @Schema(example = "Josiah", description = "")
-  public String getFirstname() {
-    return firstname;
-  }
-
-  public void setFirstname(String firstname) {
-    this.firstname = firstname;
-  }
-
-  public UserDto lastname(String lastname) {
-    this.lastname = lastname;
-    return this;
-  }
-
-   /**
-   * Get lastname
-   * @return lastname
-  **/
-  @Schema(example = "Carberry", description = "")
-  public String getLastname() {
-    return lastname;
-  }
-
-  public void setLastname(String lastname) {
-    this.lastname = lastname;
-  }
-
-  public UserDto affiliation(String affiliation) {
-    this.affiliation = affiliation;
-    return this;
-  }
-
-   /**
-   * Get affiliation
-   * @return affiliation
-  **/
-  @Schema(example = "Brown University", description = "")
-  public String getAffiliation() {
-    return affiliation;
-  }
-
-  public void setAffiliation(String affiliation) {
-    this.affiliation = affiliation;
-  }
-
-  public UserDto orcid(String orcid) {
-    this.orcid = orcid;
-    return this;
-  }
-
-   /**
-   * Get orcid
-   * @return orcid
-  **/
-  @Schema(example = "0000-0002-1825-0097", description = "")
-  public String getOrcid() {
-    return orcid;
-  }
-
-  public void setOrcid(String orcid) {
-    this.orcid = orcid;
-  }
-
-  public UserDto roles(List<String> roles) {
-    this.roles = roles;
-    return this;
-  }
-
-  public UserDto addRolesItem(String rolesItem) {
-    this.roles.add(rolesItem);
-    return this;
-  }
-
-   /**
-   * Roles of the user
-   * @return roles
-  **/
-  @Schema(example = "[ROLE_RESEARCHER]", required = true, description = "Roles of the user")
-  public List<String> getRoles() {
-    return roles;
-  }
-
-  public void setRoles(List<String> roles) {
-    this.roles = roles;
-  }
-
-  public UserDto containers(List<ContainerDto> containers) {
-    this.containers = containers;
-    return this;
-  }
-
-  public UserDto addContainersItem(ContainerDto containersItem) {
-    if (this.containers == null) {
-      this.containers = new ArrayList<ContainerDto>();
-    }
-    this.containers.add(containersItem);
-    return this;
-  }
-
-   /**
-   * Get containers
-   * @return containers
-  **/
-  @Schema(description = "")
-  public List<ContainerDto> getContainers() {
-    return containers;
-  }
-
-  public void setContainers(List<ContainerDto> containers) {
-    this.containers = containers;
-  }
-
-  public UserDto databases(List<ContainerDto> databases) {
-    this.databases = databases;
-    return this;
-  }
-
-  public UserDto addDatabasesItem(ContainerDto databasesItem) {
-    if (this.databases == null) {
-      this.databases = new ArrayList<ContainerDto>();
-    }
-    this.databases.add(databasesItem);
-    return this;
-  }
-
-   /**
-   * Get databases
-   * @return databases
-  **/
-  @Schema(description = "")
-  public List<ContainerDto> getDatabases() {
-    return databases;
-  }
-
-  public void setDatabases(List<ContainerDto> databases) {
-    this.databases = databases;
-  }
-
-  public UserDto identifiers(List<ContainerDto> identifiers) {
-    this.identifiers = identifiers;
-    return this;
-  }
-
-  public UserDto addIdentifiersItem(ContainerDto identifiersItem) {
-    if (this.identifiers == null) {
-      this.identifiers = new ArrayList<ContainerDto>();
-    }
-    this.identifiers.add(identifiersItem);
-    return this;
-  }
-
-   /**
-   * Get identifiers
-   * @return identifiers
-  **/
-  @Schema(description = "")
-  public List<ContainerDto> getIdentifiers() {
-    return identifiers;
-  }
-
-  public void setIdentifiers(List<ContainerDto> identifiers) {
-    this.identifiers = identifiers;
-  }
-
-  public UserDto email(String email) {
-    this.email = email;
-    return this;
-  }
-
-   /**
-   * Get email
-   * @return email
-  **/
-  @Schema(example = "jcarberry@brown.edu", required = true, description = "")
-  public String getEmail() {
-    return email;
-  }
-
-  public void setEmail(String email) {
-    this.email = email;
-  }
-
-  public UserDto titlesBefore(String titlesBefore) {
-    this.titlesBefore = titlesBefore;
-    return this;
-  }
-
-   /**
-   * Get titlesBefore
-   * @return titlesBefore
-  **/
-  @Schema(example = "Prof.", description = "")
-  public String getTitlesBefore() {
-    return titlesBefore;
-  }
-
-  public void setTitlesBefore(String titlesBefore) {
-    this.titlesBefore = titlesBefore;
-  }
-
-  public UserDto titlesAfter(String titlesAfter) {
-    this.titlesAfter = titlesAfter;
-    return this;
-  }
-
-   /**
-   * Get titlesAfter
-   * @return titlesAfter
-  **/
-  @Schema(description = "")
-  public String getTitlesAfter() {
-    return titlesAfter;
-  }
-
-  public void setTitlesAfter(String titlesAfter) {
-    this.titlesAfter = titlesAfter;
-  }
-
-  public UserDto themeDark(Boolean themeDark) {
-    this.themeDark = themeDark;
-    return this;
-  }
-
-   /**
-   * Get themeDark
-   * @return themeDark
-  **/
-  @Schema(example = "true", required = true, description = "")
-  public Boolean isThemeDark() {
-    return themeDark;
-  }
-
-  public void setThemeDark(Boolean themeDark) {
-    this.themeDark = themeDark;
-  }
-
-  public UserDto emailVerified(Boolean emailVerified) {
-    this.emailVerified = emailVerified;
-    return this;
-  }
-
-   /**
-   * Get emailVerified
-   * @return emailVerified
-  **/
-  @Schema(example = "true", required = true, description = "")
-  public Boolean isEmailVerified() {
-    return emailVerified;
-  }
-
-  public void setEmailVerified(Boolean emailVerified) {
-    this.emailVerified = emailVerified;
-  }
-
-
-  @Override
-  public boolean equals(Object o) {
-    if (this == o) {
-      return true;
-    }
-    if (o == null || getClass() != o.getClass()) {
-      return false;
-    }
-    UserDto userDto = (UserDto) o;
-    return Objects.equals(this.id, userDto.id) &&
-        Objects.equals(this.authorities, userDto.authorities) &&
-        Objects.equals(this.username, userDto.username) &&
-        Objects.equals(this.firstname, userDto.firstname) &&
-        Objects.equals(this.lastname, userDto.lastname) &&
-        Objects.equals(this.affiliation, userDto.affiliation) &&
-        Objects.equals(this.orcid, userDto.orcid) &&
-        Objects.equals(this.roles, userDto.roles) &&
-        Objects.equals(this.containers, userDto.containers) &&
-        Objects.equals(this.databases, userDto.databases) &&
-        Objects.equals(this.identifiers, userDto.identifiers) &&
-        Objects.equals(this.email, userDto.email) &&
-        Objects.equals(this.titlesBefore, userDto.titlesBefore) &&
-        Objects.equals(this.titlesAfter, userDto.titlesAfter) &&
-        Objects.equals(this.themeDark, userDto.themeDark) &&
-        Objects.equals(this.emailVerified, userDto.emailVerified);
-  }
-
-  @Override
-  public int hashCode() {
-    return Objects.hash(id, authorities, username, firstname, lastname, affiliation, orcid, roles, containers, databases, identifiers, email, titlesBefore, titlesAfter, themeDark, emailVerified);
-  }
-
-
-  @Override
-  public String toString() {
-    StringBuilder sb = new StringBuilder();
-    sb.append("class UserDto {\n");
-    
-    sb.append("    id: ").append(toIndentedString(id)).append("\n");
-    sb.append("    authorities: ").append(toIndentedString(authorities)).append("\n");
-    sb.append("    username: ").append(toIndentedString(username)).append("\n");
-    sb.append("    firstname: ").append(toIndentedString(firstname)).append("\n");
-    sb.append("    lastname: ").append(toIndentedString(lastname)).append("\n");
-    sb.append("    affiliation: ").append(toIndentedString(affiliation)).append("\n");
-    sb.append("    orcid: ").append(toIndentedString(orcid)).append("\n");
-    sb.append("    roles: ").append(toIndentedString(roles)).append("\n");
-    sb.append("    containers: ").append(toIndentedString(containers)).append("\n");
-    sb.append("    databases: ").append(toIndentedString(databases)).append("\n");
-    sb.append("    identifiers: ").append(toIndentedString(identifiers)).append("\n");
-    sb.append("    email: ").append(toIndentedString(email)).append("\n");
-    sb.append("    titlesBefore: ").append(toIndentedString(titlesBefore)).append("\n");
-    sb.append("    titlesAfter: ").append(toIndentedString(titlesAfter)).append("\n");
-    sb.append("    themeDark: ").append(toIndentedString(themeDark)).append("\n");
-    sb.append("    emailVerified: ").append(toIndentedString(emailVerified)).append("\n");
-    sb.append("}");
-    return sb.toString();
-  }
-
-  /**
-   * Convert the given object to string with each line indented by 4 spaces
-   * (except the first line).
-   */
-  private String toIndentedString(Object o) {
-    if (o == null) {
-      return "null";
-    }
-    return o.toString().replace("\n", "\n    ");
-  }
-
-}
diff --git a/.java-stubs/src/main/java/io/swagger/client/model/ViewBriefDto.java b/.java-stubs/src/main/java/io/swagger/client/model/ViewBriefDto.java
deleted file mode 100644
index 40840c8597..0000000000
--- a/.java-stubs/src/main/java/io/swagger/client/model/ViewBriefDto.java
+++ /dev/null
@@ -1,299 +0,0 @@
-/*
- * Database Repository Query Service API
- * Service that manages the queries
- *
- * OpenAPI spec version: 1.1.0-alpha
- * Contact: andreas.rauber@tuwien.ac.at
- *
- * NOTE: This class is auto generated by the swagger code generator program.
- * https://github.com/swagger-api/swagger-codegen.git
- * Do not edit the class manually.
- */
-
-package io.swagger.client.model;
-
-import java.util.Objects;
-import java.util.Arrays;
-import com.google.gson.TypeAdapter;
-import com.google.gson.annotations.JsonAdapter;
-import com.google.gson.annotations.SerializedName;
-import com.google.gson.stream.JsonReader;
-import com.google.gson.stream.JsonWriter;
-import io.swagger.v3.oas.annotations.media.Schema;
-import java.io.IOException;
-import org.threeten.bp.OffsetDateTime;
-/**
- * ViewBriefDto
- */
-
-@javax.annotation.Generated(value = "io.swagger.codegen.v3.generators.java.JavaClientCodegen", date = "2023-02-12T12:27:08.557443+01:00[Europe/Vienna]")
-public class ViewBriefDto {
-  @SerializedName("id")
-  private Long id = null;
-
-  @SerializedName("vdbid")
-  private Long vdbid = null;
-
-  @SerializedName("name")
-  private String name = null;
-
-  @SerializedName("internalName")
-  private String internalName = null;
-
-  @SerializedName("query")
-  private String query = null;
-
-  @SerializedName("created")
-  private OffsetDateTime created = null;
-
-  @SerializedName("is_public")
-  private Boolean isPublic = null;
-
-  @SerializedName("initial_view")
-  private Boolean initialView = null;
-
-  @SerializedName("created_by")
-  private Long createdBy = null;
-
-  @SerializedName("last_modified")
-  private OffsetDateTime lastModified = null;
-
-  public ViewBriefDto id(Long id) {
-    this.id = id;
-    return this;
-  }
-
-   /**
-   * Get id
-   * @return id
-  **/
-  @Schema(required = true, description = "")
-  public Long getId() {
-    return id;
-  }
-
-  public void setId(Long id) {
-    this.id = id;
-  }
-
-  public ViewBriefDto vdbid(Long vdbid) {
-    this.vdbid = vdbid;
-    return this;
-  }
-
-   /**
-   * Get vdbid
-   * @return vdbid
-  **/
-  @Schema(required = true, description = "")
-  public Long getVdbid() {
-    return vdbid;
-  }
-
-  public void setVdbid(Long vdbid) {
-    this.vdbid = vdbid;
-  }
-
-  public ViewBriefDto name(String name) {
-    this.name = name;
-    return this;
-  }
-
-   /**
-   * Get name
-   * @return name
-  **/
-  @Schema(example = "Air Quality", required = true, description = "")
-  public String getName() {
-    return name;
-  }
-
-  public void setName(String name) {
-    this.name = name;
-  }
-
-  public ViewBriefDto internalName(String internalName) {
-    this.internalName = internalName;
-    return this;
-  }
-
-   /**
-   * Get internalName
-   * @return internalName
-  **/
-  @Schema(example = "air_quality", required = true, description = "")
-  public String getInternalName() {
-    return internalName;
-  }
-
-  public void setInternalName(String internalName) {
-    this.internalName = internalName;
-  }
-
-  public ViewBriefDto query(String query) {
-    this.query = query;
-    return this;
-  }
-
-   /**
-   * Get query
-   * @return query
-  **/
-  @Schema(example = "SELECT `id` FROM `air_quality` ORDER BY `value` DESC", required = true, description = "")
-  public String getQuery() {
-    return query;
-  }
-
-  public void setQuery(String query) {
-    this.query = query;
-  }
-
-  public ViewBriefDto created(OffsetDateTime created) {
-    this.created = created;
-    return this;
-  }
-
-   /**
-   * Get created
-   * @return created
-  **/
-  @Schema(required = true, description = "")
-  public OffsetDateTime getCreated() {
-    return created;
-  }
-
-  public void setCreated(OffsetDateTime created) {
-    this.created = created;
-  }
-
-  public ViewBriefDto isPublic(Boolean isPublic) {
-    this.isPublic = isPublic;
-    return this;
-  }
-
-   /**
-   * Get isPublic
-   * @return isPublic
-  **/
-  @Schema(example = "true", description = "")
-  public Boolean isIsPublic() {
-    return isPublic;
-  }
-
-  public void setIsPublic(Boolean isPublic) {
-    this.isPublic = isPublic;
-  }
-
-  public ViewBriefDto initialView(Boolean initialView) {
-    this.initialView = initialView;
-    return this;
-  }
-
-   /**
-   * True if it is the default view for the database
-   * @return initialView
-  **/
-  @Schema(example = "true", description = "True if it is the default view for the database")
-  public Boolean isInitialView() {
-    return initialView;
-  }
-
-  public void setInitialView(Boolean initialView) {
-    this.initialView = initialView;
-  }
-
-  public ViewBriefDto createdBy(Long createdBy) {
-    this.createdBy = createdBy;
-    return this;
-  }
-
-   /**
-   * Get createdBy
-   * @return createdBy
-  **/
-  @Schema(required = true, description = "")
-  public Long getCreatedBy() {
-    return createdBy;
-  }
-
-  public void setCreatedBy(Long createdBy) {
-    this.createdBy = createdBy;
-  }
-
-  public ViewBriefDto lastModified(OffsetDateTime lastModified) {
-    this.lastModified = lastModified;
-    return this;
-  }
-
-   /**
-   * Get lastModified
-   * @return lastModified
-  **/
-  @Schema(description = "")
-  public OffsetDateTime getLastModified() {
-    return lastModified;
-  }
-
-  public void setLastModified(OffsetDateTime lastModified) {
-    this.lastModified = lastModified;
-  }
-
-
-  @Override
-  public boolean equals(Object o) {
-    if (this == o) {
-      return true;
-    }
-    if (o == null || getClass() != o.getClass()) {
-      return false;
-    }
-    ViewBriefDto viewBriefDto = (ViewBriefDto) o;
-    return Objects.equals(this.id, viewBriefDto.id) &&
-        Objects.equals(this.vdbid, viewBriefDto.vdbid) &&
-        Objects.equals(this.name, viewBriefDto.name) &&
-        Objects.equals(this.internalName, viewBriefDto.internalName) &&
-        Objects.equals(this.query, viewBriefDto.query) &&
-        Objects.equals(this.created, viewBriefDto.created) &&
-        Objects.equals(this.isPublic, viewBriefDto.isPublic) &&
-        Objects.equals(this.initialView, viewBriefDto.initialView) &&
-        Objects.equals(this.createdBy, viewBriefDto.createdBy) &&
-        Objects.equals(this.lastModified, viewBriefDto.lastModified);
-  }
-
-  @Override
-  public int hashCode() {
-    return Objects.hash(id, vdbid, name, internalName, query, created, isPublic, initialView, createdBy, lastModified);
-  }
-
-
-  @Override
-  public String toString() {
-    StringBuilder sb = new StringBuilder();
-    sb.append("class ViewBriefDto {\n");
-    
-    sb.append("    id: ").append(toIndentedString(id)).append("\n");
-    sb.append("    vdbid: ").append(toIndentedString(vdbid)).append("\n");
-    sb.append("    name: ").append(toIndentedString(name)).append("\n");
-    sb.append("    internalName: ").append(toIndentedString(internalName)).append("\n");
-    sb.append("    query: ").append(toIndentedString(query)).append("\n");
-    sb.append("    created: ").append(toIndentedString(created)).append("\n");
-    sb.append("    isPublic: ").append(toIndentedString(isPublic)).append("\n");
-    sb.append("    initialView: ").append(toIndentedString(initialView)).append("\n");
-    sb.append("    createdBy: ").append(toIndentedString(createdBy)).append("\n");
-    sb.append("    lastModified: ").append(toIndentedString(lastModified)).append("\n");
-    sb.append("}");
-    return sb.toString();
-  }
-
-  /**
-   * Convert the given object to string with each line indented by 4 spaces
-   * (except the first line).
-   */
-  private String toIndentedString(Object o) {
-    if (o == null) {
-      return "null";
-    }
-    return o.toString().replace("\n", "\n    ");
-  }
-
-}
diff --git a/.java-stubs/src/main/java/io/swagger/client/model/ViewCreateDto.java b/.java-stubs/src/main/java/io/swagger/client/model/ViewCreateDto.java
deleted file mode 100644
index 0f4c66a5d1..0000000000
--- a/.java-stubs/src/main/java/io/swagger/client/model/ViewCreateDto.java
+++ /dev/null
@@ -1,137 +0,0 @@
-/*
- * Database Repository Query Service API
- * Service that manages the queries
- *
- * OpenAPI spec version: 1.1.0-alpha
- * Contact: andreas.rauber@tuwien.ac.at
- *
- * NOTE: This class is auto generated by the swagger code generator program.
- * https://github.com/swagger-api/swagger-codegen.git
- * Do not edit the class manually.
- */
-
-package io.swagger.client.model;
-
-import java.util.Objects;
-import java.util.Arrays;
-import com.google.gson.TypeAdapter;
-import com.google.gson.annotations.JsonAdapter;
-import com.google.gson.annotations.SerializedName;
-import com.google.gson.stream.JsonReader;
-import com.google.gson.stream.JsonWriter;
-import io.swagger.v3.oas.annotations.media.Schema;
-import java.io.IOException;
-/**
- * ViewCreateDto
- */
-
-@javax.annotation.Generated(value = "io.swagger.codegen.v3.generators.java.JavaClientCodegen", date = "2023-02-12T12:27:08.557443+01:00[Europe/Vienna]")
-public class ViewCreateDto {
-  @SerializedName("name")
-  private String name = null;
-
-  @SerializedName("query")
-  private String query = null;
-
-  @SerializedName("is_public")
-  private Boolean isPublic = null;
-
-  public ViewCreateDto name(String name) {
-    this.name = name;
-    return this;
-  }
-
-   /**
-   * Get name
-   * @return name
-  **/
-  @Schema(example = "Air Quality", required = true, description = "")
-  public String getName() {
-    return name;
-  }
-
-  public void setName(String name) {
-    this.name = name;
-  }
-
-  public ViewCreateDto query(String query) {
-    this.query = query;
-    return this;
-  }
-
-   /**
-   * Get query
-   * @return query
-  **/
-  @Schema(example = "SELECT `id` FROM `air_quality`", required = true, description = "")
-  public String getQuery() {
-    return query;
-  }
-
-  public void setQuery(String query) {
-    this.query = query;
-  }
-
-  public ViewCreateDto isPublic(Boolean isPublic) {
-    this.isPublic = isPublic;
-    return this;
-  }
-
-   /**
-   * Get isPublic
-   * @return isPublic
-  **/
-  @Schema(example = "true", required = true, description = "")
-  public Boolean isIsPublic() {
-    return isPublic;
-  }
-
-  public void setIsPublic(Boolean isPublic) {
-    this.isPublic = isPublic;
-  }
-
-
-  @Override
-  public boolean equals(Object o) {
-    if (this == o) {
-      return true;
-    }
-    if (o == null || getClass() != o.getClass()) {
-      return false;
-    }
-    ViewCreateDto viewCreateDto = (ViewCreateDto) o;
-    return Objects.equals(this.name, viewCreateDto.name) &&
-        Objects.equals(this.query, viewCreateDto.query) &&
-        Objects.equals(this.isPublic, viewCreateDto.isPublic);
-  }
-
-  @Override
-  public int hashCode() {
-    return Objects.hash(name, query, isPublic);
-  }
-
-
-  @Override
-  public String toString() {
-    StringBuilder sb = new StringBuilder();
-    sb.append("class ViewCreateDto {\n");
-    
-    sb.append("    name: ").append(toIndentedString(name)).append("\n");
-    sb.append("    query: ").append(toIndentedString(query)).append("\n");
-    sb.append("    isPublic: ").append(toIndentedString(isPublic)).append("\n");
-    sb.append("}");
-    return sb.toString();
-  }
-
-  /**
-   * Convert the given object to string with each line indented by 4 spaces
-   * (except the first line).
-   */
-  private String toIndentedString(Object o) {
-    if (o == null) {
-      return "null";
-    }
-    return o.toString().replace("\n", "\n    ");
-  }
-
-}
diff --git a/.java-stubs/src/main/java/io/swagger/client/model/ViewDto.java b/.java-stubs/src/main/java/io/swagger/client/model/ViewDto.java
deleted file mode 100644
index 436e36e86f..0000000000
--- a/.java-stubs/src/main/java/io/swagger/client/model/ViewDto.java
+++ /dev/null
@@ -1,324 +0,0 @@
-/*
- * Database Repository Query Service API
- * Service that manages the queries
- *
- * OpenAPI spec version: 1.1.0-alpha
- * Contact: andreas.rauber@tuwien.ac.at
- *
- * NOTE: This class is auto generated by the swagger code generator program.
- * https://github.com/swagger-api/swagger-codegen.git
- * Do not edit the class manually.
- */
-
-package io.swagger.client.model;
-
-import java.util.Objects;
-import java.util.Arrays;
-import com.google.gson.TypeAdapter;
-import com.google.gson.annotations.JsonAdapter;
-import com.google.gson.annotations.SerializedName;
-import com.google.gson.stream.JsonReader;
-import com.google.gson.stream.JsonWriter;
-import io.swagger.client.model.DatabaseDto;
-import io.swagger.client.model.UserDto;
-import io.swagger.v3.oas.annotations.media.Schema;
-import java.io.IOException;
-import org.threeten.bp.OffsetDateTime;
-/**
- * ViewDto
- */
-
-@javax.annotation.Generated(value = "io.swagger.codegen.v3.generators.java.JavaClientCodegen", date = "2023-02-12T12:27:08.557443+01:00[Europe/Vienna]")
-public class ViewDto {
-  @SerializedName("id")
-  private Long id = null;
-
-  @SerializedName("vdbid")
-  private Long vdbid = null;
-
-  @SerializedName("creator")
-  private UserDto creator = null;
-
-  @SerializedName("database")
-  private DatabaseDto database = null;
-
-  @SerializedName("name")
-  private String name = null;
-
-  @SerializedName("internalName")
-  private String internalName = null;
-
-  @SerializedName("query")
-  private String query = null;
-
-  @SerializedName("created")
-  private OffsetDateTime created = null;
-
-  @SerializedName("is_public")
-  private Boolean isPublic = null;
-
-  @SerializedName("initial_view")
-  private Boolean initialView = null;
-
-  @SerializedName("last_modified")
-  private OffsetDateTime lastModified = null;
-
-  public ViewDto id(Long id) {
-    this.id = id;
-    return this;
-  }
-
-   /**
-   * Get id
-   * @return id
-  **/
-  @Schema(required = true, description = "")
-  public Long getId() {
-    return id;
-  }
-
-  public void setId(Long id) {
-    this.id = id;
-  }
-
-  public ViewDto vdbid(Long vdbid) {
-    this.vdbid = vdbid;
-    return this;
-  }
-
-   /**
-   * Get vdbid
-   * @return vdbid
-  **/
-  @Schema(required = true, description = "")
-  public Long getVdbid() {
-    return vdbid;
-  }
-
-  public void setVdbid(Long vdbid) {
-    this.vdbid = vdbid;
-  }
-
-  public ViewDto creator(UserDto creator) {
-    this.creator = creator;
-    return this;
-  }
-
-   /**
-   * Get creator
-   * @return creator
-  **/
-  @Schema(required = true, description = "")
-  public UserDto getCreator() {
-    return creator;
-  }
-
-  public void setCreator(UserDto creator) {
-    this.creator = creator;
-  }
-
-  public ViewDto database(DatabaseDto database) {
-    this.database = database;
-    return this;
-  }
-
-   /**
-   * Get database
-   * @return database
-  **/
-  @Schema(required = true, description = "")
-  public DatabaseDto getDatabase() {
-    return database;
-  }
-
-  public void setDatabase(DatabaseDto database) {
-    this.database = database;
-  }
-
-  public ViewDto name(String name) {
-    this.name = name;
-    return this;
-  }
-
-   /**
-   * Get name
-   * @return name
-  **/
-  @Schema(example = "Air Quality", required = true, description = "")
-  public String getName() {
-    return name;
-  }
-
-  public void setName(String name) {
-    this.name = name;
-  }
-
-  public ViewDto internalName(String internalName) {
-    this.internalName = internalName;
-    return this;
-  }
-
-   /**
-   * Get internalName
-   * @return internalName
-  **/
-  @Schema(example = "air_quality", required = true, description = "")
-  public String getInternalName() {
-    return internalName;
-  }
-
-  public void setInternalName(String internalName) {
-    this.internalName = internalName;
-  }
-
-  public ViewDto query(String query) {
-    this.query = query;
-    return this;
-  }
-
-   /**
-   * Get query
-   * @return query
-  **/
-  @Schema(example = "SELECT `id` FROM `air_quality` ORDER BY `value` DESC", required = true, description = "")
-  public String getQuery() {
-    return query;
-  }
-
-  public void setQuery(String query) {
-    this.query = query;
-  }
-
-  public ViewDto created(OffsetDateTime created) {
-    this.created = created;
-    return this;
-  }
-
-   /**
-   * Get created
-   * @return created
-  **/
-  @Schema(required = true, description = "")
-  public OffsetDateTime getCreated() {
-    return created;
-  }
-
-  public void setCreated(OffsetDateTime created) {
-    this.created = created;
-  }
-
-  public ViewDto isPublic(Boolean isPublic) {
-    this.isPublic = isPublic;
-    return this;
-  }
-
-   /**
-   * Get isPublic
-   * @return isPublic
-  **/
-  @Schema(example = "true", description = "")
-  public Boolean isIsPublic() {
-    return isPublic;
-  }
-
-  public void setIsPublic(Boolean isPublic) {
-    this.isPublic = isPublic;
-  }
-
-  public ViewDto initialView(Boolean initialView) {
-    this.initialView = initialView;
-    return this;
-  }
-
-   /**
-   * True if it is the default view for the database
-   * @return initialView
-  **/
-  @Schema(example = "true", description = "True if it is the default view for the database")
-  public Boolean isInitialView() {
-    return initialView;
-  }
-
-  public void setInitialView(Boolean initialView) {
-    this.initialView = initialView;
-  }
-
-  public ViewDto lastModified(OffsetDateTime lastModified) {
-    this.lastModified = lastModified;
-    return this;
-  }
-
-   /**
-   * Get lastModified
-   * @return lastModified
-  **/
-  @Schema(description = "")
-  public OffsetDateTime getLastModified() {
-    return lastModified;
-  }
-
-  public void setLastModified(OffsetDateTime lastModified) {
-    this.lastModified = lastModified;
-  }
-
-
-  @Override
-  public boolean equals(Object o) {
-    if (this == o) {
-      return true;
-    }
-    if (o == null || getClass() != o.getClass()) {
-      return false;
-    }
-    ViewDto viewDto = (ViewDto) o;
-    return Objects.equals(this.id, viewDto.id) &&
-        Objects.equals(this.vdbid, viewDto.vdbid) &&
-        Objects.equals(this.creator, viewDto.creator) &&
-        Objects.equals(this.database, viewDto.database) &&
-        Objects.equals(this.name, viewDto.name) &&
-        Objects.equals(this.internalName, viewDto.internalName) &&
-        Objects.equals(this.query, viewDto.query) &&
-        Objects.equals(this.created, viewDto.created) &&
-        Objects.equals(this.isPublic, viewDto.isPublic) &&
-        Objects.equals(this.initialView, viewDto.initialView) &&
-        Objects.equals(this.lastModified, viewDto.lastModified);
-  }
-
-  @Override
-  public int hashCode() {
-    return Objects.hash(id, vdbid, creator, database, name, internalName, query, created, isPublic, initialView, lastModified);
-  }
-
-
-  @Override
-  public String toString() {
-    StringBuilder sb = new StringBuilder();
-    sb.append("class ViewDto {\n");
-    
-    sb.append("    id: ").append(toIndentedString(id)).append("\n");
-    sb.append("    vdbid: ").append(toIndentedString(vdbid)).append("\n");
-    sb.append("    creator: ").append(toIndentedString(creator)).append("\n");
-    sb.append("    database: ").append(toIndentedString(database)).append("\n");
-    sb.append("    name: ").append(toIndentedString(name)).append("\n");
-    sb.append("    internalName: ").append(toIndentedString(internalName)).append("\n");
-    sb.append("    query: ").append(toIndentedString(query)).append("\n");
-    sb.append("    created: ").append(toIndentedString(created)).append("\n");
-    sb.append("    isPublic: ").append(toIndentedString(isPublic)).append("\n");
-    sb.append("    initialView: ").append(toIndentedString(initialView)).append("\n");
-    sb.append("    lastModified: ").append(toIndentedString(lastModified)).append("\n");
-    sb.append("}");
-    return sb.toString();
-  }
-
-  /**
-   * Convert the given object to string with each line indented by 4 spaces
-   * (except the first line).
-   */
-  private String toIndentedString(Object o) {
-    if (o == null) {
-      return "null";
-    }
-    return o.toString().replace("\n", "\n    ");
-  }
-
-}
diff --git a/dbrepo-search-service/coverage.txt b/dbrepo-search-service/coverage.txt
deleted file mode 100644
index 9cb4528d61..0000000000
--- a/dbrepo-search-service/coverage.txt
+++ /dev/null
@@ -1,66 +0,0 @@
-Name                                                                     Stmts   Miss  Cover
---------------------------------------------------------------------------------------------
-/usr/lib/python3/dist-packages/six.py                                      504    247    51%
-/usr/local/lib/python3.9/dist-packages/anyio/__init__.py                    67      0   100%
-/usr/local/lib/python3.9/dist-packages/anyio/_core/__init__.py               0      0   100%
-/usr/local/lib/python3.9/dist-packages/anyio/_core/_eventloop.py            62     38    39%
-/usr/local/lib/python3.9/dist-packages/anyio/_core/_exceptions.py           16      3    81%
-/usr/local/lib/python3.9/dist-packages/anyio/_core/_fileio.py              306    161    47%
-/usr/local/lib/python3.9/dist-packages/anyio/_core/_resources.py             7      3    57%
-/usr/local/lib/python3.9/dist-packages/anyio/_core/_signals.py               7      1    86%
-/usr/local/lib/python3.9/dist-packages/anyio/_core/_sockets.py             207    160    23%
-/usr/local/lib/python3.9/dist-packages/anyio/_core/_streams.py              16      8    50%
-/usr/local/lib/python3.9/dist-packages/anyio/_core/_subprocesses.py         38     27    29%
-/usr/local/lib/python3.9/dist-packages/anyio/_core/_synchronization.py     241    145    40%
-/usr/local/lib/python3.9/dist-packages/anyio/_core/_tasks.py                53     21    60%
-/usr/local/lib/python3.9/dist-packages/anyio/_core/_testing.py              29     15    48%
-/usr/local/lib/python3.9/dist-packages/anyio/_core/_typedattr.py            34     10    71%
-/usr/local/lib/python3.9/dist-packages/anyio/abc/__init__.py                44      0   100%
-/usr/local/lib/python3.9/dist-packages/anyio/abc/_eventloop.py             169     43    75%
-/usr/local/lib/python3.9/dist-packages/anyio/abc/_resources.py              12      2    83%
-/usr/local/lib/python3.9/dist-packages/anyio/abc/_sockets.py                76     25    67%
-/usr/local/lib/python3.9/dist-packages/anyio/abc/_streams.py                55     10    82%
-/usr/local/lib/python3.9/dist-packages/anyio/abc/_subprocesses.py           29      0   100%
-/usr/local/lib/python3.9/dist-packages/anyio/abc/_tasks.py                  27      3    89%
-/usr/local/lib/python3.9/dist-packages/anyio/abc/_testing.py                18      2    89%
-/usr/local/lib/python3.9/dist-packages/anyio/from_thread.py                180    127    29%
-/usr/local/lib/python3.9/dist-packages/anyio/lowlevel.py                    79     41    48%
-/usr/local/lib/python3.9/dist-packages/anyio/pytest_plugin.py               95     65    32%
-/usr/local/lib/python3.9/dist-packages/anyio/streams/__init__.py             0      0   100%
-/usr/local/lib/python3.9/dist-packages/anyio/streams/memory.py             133     80    40%
-/usr/local/lib/python3.9/dist-packages/anyio/streams/stapled.py             64     29    55%
-/usr/local/lib/python3.9/dist-packages/anyio/streams/tls.py                139     85    39%
-/usr/local/lib/python3.9/dist-packages/anyio/to_thread.py                   10      2    80%
-/usr/local/lib/python3.9/dist-packages/gunicorn/__init__.py                  4      0   100%
-/usr/local/lib/python3.9/dist-packages/gunicorn/config.py                 1094    275    75%
-/usr/local/lib/python3.9/dist-packages/gunicorn/errors.py                    8      3    62%
-/usr/local/lib/python3.9/dist-packages/gunicorn/http/__init__.py             3      0   100%
-/usr/local/lib/python3.9/dist-packages/gunicorn/http/body.py               209    184    12%
-/usr/local/lib/python3.9/dist-packages/gunicorn/http/errors.py              70     30    57%
-/usr/local/lib/python3.9/dist-packages/gunicorn/http/message.py            239    209    13%
-/usr/local/lib/python3.9/dist-packages/gunicorn/http/parser.py              29     19    34%
-/usr/local/lib/python3.9/dist-packages/gunicorn/http/unreader.py            56     43    23%
-/usr/local/lib/python3.9/dist-packages/gunicorn/http/wsgi.py               247    211    15%
-/usr/local/lib/python3.9/dist-packages/gunicorn/reloader.py                 78     55    29%
-/usr/local/lib/python3.9/dist-packages/gunicorn/util.py                    367    294    20%
-/usr/local/lib/python3.9/dist-packages/gunicorn/workers/__init__.py          1      0   100%
-/usr/local/lib/python3.9/dist-packages/gunicorn/workers/base.py            170    140    18%
-/usr/local/lib/python3.9/dist-packages/gunicorn/workers/workertmp.py        33     21    36%
-/usr/local/lib/python3.9/dist-packages/simplejson/__init__.py               80     57    29%
-/usr/local/lib/python3.9/dist-packages/simplejson/compat.py                 29     16    45%
-/usr/local/lib/python3.9/dist-packages/simplejson/decoder.py               227    180    21%
-/usr/local/lib/python3.9/dist-packages/simplejson/encoder.py               412    358    13%
-/usr/local/lib/python3.9/dist-packages/simplejson/errors.py                 29     23    21%
-/usr/local/lib/python3.9/dist-packages/simplejson/raw_json.py                3      1    67%
-/usr/local/lib/python3.9/dist-packages/simplejson/scanner.py                64     53    17%
-/usr/local/lib/python3.9/dist-packages/sniffio/__init__.py                   3      0   100%
-/usr/local/lib/python3.9/dist-packages/sniffio/_impl.py                     33     22    33%
-/usr/local/lib/python3.9/dist-packages/sniffio/_version.py                   1      0   100%
-/usr/local/lib/python3.9/dist-packages/socks.py                            445    355    20%
-/usr/local/lib/python3.9/dist-packages/wrapt/__init__.py                     7      0   100%
-/usr/local/lib/python3.9/dist-packages/wrapt/arguments.py                   16     13    19%
-/usr/local/lib/python3.9/dist-packages/wrapt/decorators.py                 192    105    45%
-/usr/local/lib/python3.9/dist-packages/wrapt/importer.py                   126     99    21%
-/usr/local/lib/python3.9/dist-packages/wrapt/wrappers.py                   508    341    33%
---------------------------------------------------------------------------------------------
-TOTAL                                                                     7500   4460    41%
diff --git a/mkdocs.yml b/mkdocs.yml
index d969b25f30..5b0df847ce 100644
--- a/mkdocs.yml
+++ b/mkdocs.yml
@@ -98,6 +98,15 @@ markdown_extensions:
           - .docs/overrides/.icons
 extra:
   homepage: https://www.ifs.tuwien.ac.at/infrastructures/dbrepo/
+  version:
+    default: 1.4.2
+    provider: mike
   social:
+    - icon: simple/artifacthub
+      link: https://artifacthub.io/packages/helm/dbrepo/dbrepo
+    - icon: fontawesome/brands/docker
+      link: https://hub.docker.com/search?q=dbrepo
+    - icon: fontawesome/brands/python
+      link: https://pypi.org/project/dbrepo/
     - icon: fontawesome/brands/gitlab
       link: https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services
diff --git a/requirements.txt b/requirements.txt
index c7dd197a44..611a66953b 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -1,8 +1,9 @@
-mkdocs==1.4.3
-mkdocs-material==9.1.17
+mkdocs==1.5.3
+mkdocs-material==9.5.17
 mkdocs-with-pdf==0.9.3
 mkdocs-material-extensions>=1.0.3
 requests>=2.27.0
 py-dotenv>=0.1
 python-dotenv==1.0.0
-requests==2.31.0
\ No newline at end of file
+requests==2.31.0
+mike==2.0.0
\ No newline at end of file
-- 
GitLab