diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 2d267383844b5daab2dbf1e91873f0c3bf933645..166f504e42ec3e9b328944da3a61d7835e1477cf 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -177,8 +177,9 @@ build-data-service: - build-metadata-service dependencies: - build-metadata-service - script: + before_script: - "mvn -f ./dbrepo-metadata-service/pom.xml clean install $MAVEN_OPTS -DskipTests" + script: - "mvn -f ./dbrepo-data-service/pom.xml clean package $MAVEN_OPTS -DskipTests" # Compiled classes are needed for SonarQube in later stages artifacts: @@ -198,8 +199,9 @@ build-ui: build-search-service: image: docker.io/python:${PYTHON_VERSION}-alpine${ALPINE_VERSION} stage: build - script: + before_script: - "pip install pipenv" + script: - "cd dbrepo-search-service && pipenv install --system --deploy" build-images: @@ -403,7 +405,7 @@ test-lib: script: - "pip install pipenv" - "pipenv install gunicorn && pipenv install --dev --system --deploy" - - cd ./lib/python/ && coverage run -m pytest tests/test_unit_analyse.py tests/test_unit_container.py tests/test_unit_concept.py tests/test_unit_database.py tests/test_unit_identifier.py tests/test_unit_license.py tests/test_unit_query.py tests/test_unit_rest_client.py tests/test_unit_table.py tests/test_unit_user.py tests/test_unit_view.py tests/test_unit_unit.py tests/test_integration_table.py --junitxml=report.xml && coverage html --omit="tests/*" && coverage report --omit="tests/*" > ./coverage.txt + - cd ./lib/python/ && coverage run -m pytest tests/test_unit_container.py tests/test_unit_concept.py tests/test_unit_database.py tests/test_unit_identifier.py tests/test_unit_license.py tests/test_unit_query.py tests/test_unit_rest_client.py tests/test_unit_table.py tests/test_unit_user.py tests/test_unit_view.py tests/test_unit_unit.py --junitxml=report.xml && coverage html --omit="tests/*" && coverage report --omit="tests/*" > ./coverage.txt - "cat ./coverage.txt | grep -o 'TOTAL[^%]*%'" artifacts: when: always diff --git a/dbrepo-analyse-service/build.sh b/dbrepo-analyse-service/build.sh deleted file mode 100755 index 8460f7b7f5d906a14a2f127ed1c86c3a5637a6de..0000000000000000000000000000000000000000 --- a/dbrepo-analyse-service/build.sh +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/bash - -# needed for MariaDB Connector/C -apt update && apt install -y curl gcc libmariadb3 libmariadb-dev - -python3 -m venv ./dbrepo-analyse-service/venv -source ./dbrepo-analyse-service/venv/bin/activate -PIPENV_PIPFILE=./dbrepo-analyse-service/Pipfile pipenv install --dev \ No newline at end of file diff --git a/dbrepo-analyse-service/test.sh b/dbrepo-analyse-service/test.sh deleted file mode 100755 index f77b0f294c88e510cb0373da9a6f3bab69c2f8f7..0000000000000000000000000000000000000000 --- a/dbrepo-analyse-service/test.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/bash -source ./dbrepo-analyse-service/venv/bin/activate -cd ./dbrepo-analyse-service/ && coverage run -m pytest test/test_determine_dt.py test/test_determine_pk.py test/test_s3_client.py --junitxml=report.xml && coverage html --omit="test/*" && coverage report --omit="test/*" > ./coverage.txt \ No newline at end of file diff --git a/dbrepo-analyse-service/tests/test_s3_client.py b/dbrepo-analyse-service/tests/test_s3_client.py index 4ab03078242ae5f68bd01e23887b603c6de239f9..cbc47a67409caa05a2b54738cc36ccc9534cdaa3 100644 --- a/dbrepo-analyse-service/tests/test_s3_client.py +++ b/dbrepo-analyse-service/tests/test_s3_client.py @@ -117,19 +117,6 @@ class S3ClientTest(unittest.TestCase): else: self.fail('FileNotFoundError not raised') - # @Test - def test_bucket_exists_notExists_fails(self): - - # test - try: - S3Client().bucket_exists_or_exit("idnonotexist") - except FileNotFoundError: - pass - except Exception: - self.fail('unexpected exception raised') - else: - self.fail('FileNotFoundError not raised') - if __name__ == '__main__': unittest.main() diff --git a/dbrepo-data-service/rest-service/src/test/java/at/tuwien/service/TableServiceIntegrationTest.java b/dbrepo-data-service/rest-service/src/test/java/at/tuwien/service/TableServiceIntegrationTest.java index f235f39d63a905e34017933bcc6365c85a299442..bd4eb4d04b2973d6751f43548a49312f2c240853 100644 --- a/dbrepo-data-service/rest-service/src/test/java/at/tuwien/service/TableServiceIntegrationTest.java +++ b/dbrepo-data-service/rest-service/src/test/java/at/tuwien/service/TableServiceIntegrationTest.java @@ -387,7 +387,7 @@ public class TableServiceIntegrationTest extends AbstractUnitTest { assertEquals(1, response.size()); final TableHistoryDto history0 = response.get(0); assertNotNull(history0.getTimestamp()); - assertEquals("INSERT", history0.getEvent()); + assertEquals(HistoryEventTypeDto.INSERT, history0.getEvent()); assertEquals(3, history0.getTotal()); } diff --git a/dbrepo-metadata-service/rest-service/src/test/resources/init/dbrepo-realm.json b/dbrepo-metadata-service/rest-service/src/test/resources/init/dbrepo-realm.json index fb6df2007f2c5d50ab9ad744b622e248ea158cde..9cba9bceda462b48c59b058f43d0ddef8dd1f6c6 100644 --- a/dbrepo-metadata-service/rest-service/src/test/resources/init/dbrepo-realm.json +++ b/dbrepo-metadata-service/rest-service/src/test/resources/init/dbrepo-realm.json @@ -1475,6 +1475,39 @@ "claim.name" : "language", "jsonType.label" : "String" } + }, { + "id" : "9bdc3e60-09b8-4241-915e-29f083434026", + "name" : "provider", + "protocol" : "openid-connect", + "protocolMapper" : "oidc-usersessionmodel-note-mapper", + "consentRequired" : false, + "config" : { + "user.session.note" : "identity_provider", + "introspection.token.claim" : "true", + "userinfo.token.claim" : "true", + "id.token.claim" : "true", + "lightweight.claim" : "false", + "access.token.claim" : "true", + "claim.name" : "identity_provider", + "jsonType.label" : "String", + "access.tokenResponse.claim" : "false" + } + }, { + "id" : "e567cb5c-8856-4124-8b86-f19cd53d7c71", + "name" : "setup_finished", + "protocol" : "openid-connect", + "protocolMapper" : "oidc-usermodel-attribute-mapper", + "consentRequired" : false, + "config" : { + "introspection.token.claim" : "true", + "userinfo.token.claim" : "true", + "user.attribute" : "SETUP_FINISHED", + "id.token.claim" : "true", + "lightweight.claim" : "false", + "access.token.claim" : "true", + "claim.name" : "setup_finished", + "jsonType.label" : "boolean" + } }, { "id" : "b817424d-7f91-43d8-b7d0-6a32582377fb", "name" : "family name", @@ -2326,12 +2359,12 @@ "strictTransportSecurity" : "max-age=31536000; includeSubDomains" }, "smtpServer" : { }, - "loginTheme" : "keycloak", + "loginTheme" : "keycloak.v2", "accountTheme" : "", "adminTheme" : "", "emailTheme" : "", "eventsEnabled" : false, - "eventsListeners" : [ "jboss-logging" ], + "eventsListeners" : [ "create-event-listener", "jboss-logging" ], "enabledEventTypes" : [ "SEND_RESET_PASSWORD", "UPDATE_CONSENT_ERROR", "GRANT_CONSENT", "VERIFY_PROFILE_ERROR", "REMOVE_TOTP", "REVOKE_GRANT", "UPDATE_TOTP", "LOGIN_ERROR", "CLIENT_LOGIN", "RESET_PASSWORD_ERROR", "IMPERSONATE_ERROR", "CODE_TO_TOKEN_ERROR", "CUSTOM_REQUIRED_ACTION", "OAUTH2_DEVICE_CODE_TO_TOKEN_ERROR", "RESTART_AUTHENTICATION", "IMPERSONATE", "UPDATE_PROFILE_ERROR", "LOGIN", "OAUTH2_DEVICE_VERIFY_USER_CODE", "UPDATE_PASSWORD_ERROR", "CLIENT_INITIATED_ACCOUNT_LINKING", "TOKEN_EXCHANGE", "AUTHREQID_TO_TOKEN", "LOGOUT", "REGISTER", "DELETE_ACCOUNT_ERROR", "CLIENT_REGISTER", "IDENTITY_PROVIDER_LINK_ACCOUNT", "DELETE_ACCOUNT", "UPDATE_PASSWORD", "CLIENT_DELETE", "FEDERATED_IDENTITY_LINK_ERROR", "IDENTITY_PROVIDER_FIRST_LOGIN", "CLIENT_DELETE_ERROR", "VERIFY_EMAIL", "CLIENT_LOGIN_ERROR", "RESTART_AUTHENTICATION_ERROR", "EXECUTE_ACTIONS", "REMOVE_FEDERATED_IDENTITY_ERROR", "TOKEN_EXCHANGE_ERROR", "PERMISSION_TOKEN", "SEND_IDENTITY_PROVIDER_LINK_ERROR", "EXECUTE_ACTION_TOKEN_ERROR", "SEND_VERIFY_EMAIL", "OAUTH2_DEVICE_AUTH", "EXECUTE_ACTIONS_ERROR", "REMOVE_FEDERATED_IDENTITY", "OAUTH2_DEVICE_CODE_TO_TOKEN", "IDENTITY_PROVIDER_POST_LOGIN", "IDENTITY_PROVIDER_LINK_ACCOUNT_ERROR", "OAUTH2_DEVICE_VERIFY_USER_CODE_ERROR", "UPDATE_EMAIL", "REGISTER_ERROR", "REVOKE_GRANT_ERROR", "EXECUTE_ACTION_TOKEN", "LOGOUT_ERROR", "UPDATE_EMAIL_ERROR", "CLIENT_UPDATE_ERROR", "AUTHREQID_TO_TOKEN_ERROR", "UPDATE_PROFILE", "CLIENT_REGISTER_ERROR", "FEDERATED_IDENTITY_LINK", "SEND_IDENTITY_PROVIDER_LINK", "SEND_VERIFY_EMAIL_ERROR", "RESET_PASSWORD", "CLIENT_INITIATED_ACCOUNT_LINKING_ERROR", "OAUTH2_DEVICE_AUTH_ERROR", "UPDATE_CONSENT", "REMOVE_TOTP_ERROR", "VERIFY_EMAIL_ERROR", "SEND_RESET_PASSWORD_ERROR", "CLIENT_UPDATE", "CUSTOM_REQUIRED_ACTION_ERROR", "IDENTITY_PROVIDER_POST_LOGIN_ERROR", "UPDATE_TOTP_ERROR", "CODE_TO_TOKEN", "VERIFY_PROFILE", "GRANT_CONSENT_ERROR", "IDENTITY_PROVIDER_FIRST_LOGIN_ERROR" ], "adminEventsEnabled" : false, "adminEventsDetailsEnabled" : false, @@ -2379,7 +2412,7 @@ "subType" : "anonymous", "subComponents" : { }, "config" : { - "allowed-protocol-mapper-types" : [ "oidc-usermodel-property-mapper", "oidc-usermodel-attribute-mapper", "saml-role-list-mapper", "oidc-address-mapper", "oidc-full-name-mapper", "oidc-sha256-pairwise-sub-mapper", "saml-user-attribute-mapper", "saml-user-property-mapper" ] + "allowed-protocol-mapper-types" : [ "oidc-full-name-mapper", "oidc-usermodel-property-mapper", "saml-user-attribute-mapper", "oidc-address-mapper", "saml-user-property-mapper", "oidc-usermodel-attribute-mapper", "oidc-sha256-pairwise-sub-mapper", "saml-role-list-mapper" ] } }, { "id" : "1849e52a-b8c9-44a8-af3d-ee19376a1ed1", @@ -2405,7 +2438,7 @@ "subType" : "authenticated", "subComponents" : { }, "config" : { - "allowed-protocol-mapper-types" : [ "oidc-full-name-mapper", "saml-role-list-mapper", "saml-user-property-mapper", "oidc-usermodel-property-mapper", "oidc-usermodel-attribute-mapper", "oidc-address-mapper", "oidc-sha256-pairwise-sub-mapper", "saml-user-attribute-mapper" ] + "allowed-protocol-mapper-types" : [ "oidc-address-mapper", "oidc-usermodel-attribute-mapper", "saml-user-property-mapper", "saml-user-attribute-mapper", "saml-role-list-mapper", "oidc-usermodel-property-mapper", "oidc-full-name-mapper", "oidc-sha256-pairwise-sub-mapper" ] } } ], "org.keycloak.userprofile.UserProfileProvider" : [ { diff --git a/dbrepo-metadata-service/services/src/main/java/at/tuwien/gateway/impl/KeycloakGatewayImpl.java b/dbrepo-metadata-service/services/src/main/java/at/tuwien/gateway/impl/KeycloakGatewayImpl.java index d088fb63ef7ce3085d49030f584123f71c3c9543..b67ddfdbfd2d8fc51420d814b79bf8fa98c3c3d8 100644 --- a/dbrepo-metadata-service/services/src/main/java/at/tuwien/gateway/impl/KeycloakGatewayImpl.java +++ b/dbrepo-metadata-service/services/src/main/java/at/tuwien/gateway/impl/KeycloakGatewayImpl.java @@ -16,6 +16,7 @@ import org.keycloak.admin.client.Keycloak; import org.keycloak.admin.client.KeycloakBuilder; import org.keycloak.admin.client.resource.UserResource; import org.keycloak.representations.idm.UserRepresentation; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; @@ -29,6 +30,7 @@ public class KeycloakGatewayImpl implements KeycloakGateway { private final KeycloakConfig keycloakConfig; private final MetadataMapper metadataMapper; + @Autowired public KeycloakGatewayImpl(Keycloak keycloak, KeycloakConfig keycloakConfig, MetadataMapper metadataMapper) { this.keycloak = keycloak; this.keycloakConfig = keycloakConfig; diff --git a/dbrepo-metadata-service/test/src/main/java/at/tuwien/test/BaseTest.java b/dbrepo-metadata-service/test/src/main/java/at/tuwien/test/BaseTest.java index 7440de878ba3a1c6cceb74f1b36ef54c0f5b8e95..1c88f1775a0d2aba3760178da9b8931cc7b4a603 100644 --- a/dbrepo-metadata-service/test/src/main/java/at/tuwien/test/BaseTest.java +++ b/dbrepo-metadata-service/test/src/main/java/at/tuwien/test/BaseTest.java @@ -149,7 +149,7 @@ public abstract class BaseTest { public static final String RABBITMQ_IMAGE = "rabbitmq:3.13.7"; - public static final String KEYCLOAK_IMAGE = "quay.io/keycloak/keycloak:26.0"; + public static final String KEYCLOAK_IMAGE = "quay.io/keycloak/keycloak:26.0.4"; public static final String[] DEFAULT_SEMANTICS_HANDLING = new String[]{"default-semantics-handling", "create-semantic-unit", "execute-semantic-query", "table-semantic-analyse", "create-semantic-concept"}; diff --git a/dbrepo-search-service/tests/conftest.py b/dbrepo-search-service/tests/conftest.py index 1d603685d63e464a4ffe2f4aac005c2af319fc5a..93af4d45873c99d9cf83438a2f35d2763044b283 100644 --- a/dbrepo-search-service/tests/conftest.py +++ b/dbrepo-search-service/tests/conftest.py @@ -15,7 +15,7 @@ def session(request): :return: The OpenSearch container """ logging.debug("[fixture] creating opensearch container") - container = OpenSearchContainer() + container = OpenSearchContainer(image="opensearchproject/opensearch:2.10.0") logging.debug("[fixture] starting opensearch container") container.start() diff --git a/lib/python/Pipfile b/lib/python/Pipfile index 662d60f59560b5a6fdc8e200af5845e2f85b171b..b7ebe44f3ab7d19fdec0ee847e82f95f7ab5d7a6 100644 --- a/lib/python/Pipfile +++ b/lib/python/Pipfile @@ -21,7 +21,6 @@ pytest = "*" requests-mock = "*" furo = "*" pytest-ordering = "*" -testcontainers = "*" httpx = "*" [requires] diff --git a/lib/python/Pipfile.lock b/lib/python/Pipfile.lock index f33975b8cccafdc33f6f6f115e47bdece97939d8..d4c90209c06fd3690890b9a76944cb25817ff139 100644 --- a/lib/python/Pipfile.lock +++ b/lib/python/Pipfile.lock @@ -1,7 +1,7 @@ { "_meta": { "hash": { - "sha256": "598d2fb07f9f85270aa16f90dd8ef90b11618a241b5ba050a6dce3b2b250813e" + "sha256": "049bd8a6ac52e886dce11e7d7de630464e073e360471f35125a2eccf7c30a7a7" }, "pipfile-spec": 6, "requires": { @@ -1266,14 +1266,6 @@ "markers": "python_version >= '3.7' and python_full_version not in '3.9.0, 3.9.1'", "version": "==44.0.1" }, - "docker": { - "hashes": [ - "sha256:ad8c70e6e3f8926cb8a92619b832b4ea5299e2831c14284663184e200546fa6c", - "sha256:c96b93b7f0a746f9e77d325bcfb87422a3d8bd4f03136ae8a85b37f1898d5fc0" - ], - "markers": "python_version >= '3.8'", - "version": "==7.1.0" - }, "docutils": { "hashes": [ "sha256:3a6b18732edf182daa3cd12775bbb338cf5691468f91eeeb109deff6ebfa986f", @@ -1580,14 +1572,6 @@ "index": "pypi", "version": "==0.6" }, - "python-dotenv": { - "hashes": [ - "sha256:e324ee90a023d808f1959c46bcbc04446a10ced277783dc6ee09987c37ec10ca", - "sha256:f7b63ef50f1b690dddf550d03497b66d609393b40b564ed0d674909a68ebf16a" - ], - "markers": "python_version >= '3.8'", - "version": "==1.0.1" - }, "pyyaml": { "hashes": [ "sha256:01179a4a8559ab5de078078f37e5c1a30d76bb88519906844fd7bdea1b7729ff", @@ -1695,6 +1679,14 @@ "markers": "python_full_version >= '3.8.0'", "version": "==13.9.4" }, + "roman-numerals-py": { + "hashes": [ + "sha256:91199c4373658c03d87d9fe004f4a5120a20f6cb192be745c2377cce274ef41c", + "sha256:a1421ce66b3eab7e8735065458de3fa5c4a46263d50f9f4ac8f0e5e7701dd125" + ], + "markers": "python_version >= '3.9'", + "version": "==3.0.0" + }, "secretstorage": { "hashes": [ "sha256:2403533ef369eca6d2ba81718576c5e0f564d5cca1b58f73a8b23e7d4eeebd77", @@ -1736,11 +1728,11 @@ }, "sphinx": { "hashes": [ - "sha256:09719015511837b76bf6e03e42eb7595ac8c2e41eeb9c29c5b755c6b677992a2", - "sha256:43c1911eecb0d3e161ad78611bc905d1ad0e523e4ddc202a58a821773dc4c927" + "sha256:3c0a40ff71ace28b316bde7387d93b9249a3688c202181519689b66d5d0aed53", + "sha256:5b0067853d6e97f3fa87563e3404ebd008fce03525b55b25da90706764da6215" ], - "markers": "python_version >= '3.10'", - "version": "==8.1.3" + "markers": "python_version >= '3.11'", + "version": "==8.2.0" }, "sphinx-basic-ng": { "hashes": [ @@ -1798,14 +1790,6 @@ "markers": "python_version >= '3.9'", "version": "==2.0.0" }, - "testcontainers": { - "hashes": [ - "sha256:315fb94b42a383872df530aa45319745278ef0cc18b9cfcdc231a75d14afa5a0", - "sha256:37fe9a222549ddb788463935965b16f91809e9a8d654f437d6a59eac9b77f76f" - ], - "index": "pypi", - "version": "==4.9.1" - }, "twine": { "hashes": [ "sha256:a47f973caf122930bf0fbbf17f80b83bc1602c9ce393c7845f289a3001dc5384", @@ -1830,91 +1814,6 @@ "markers": "python_version >= '3.9'", "version": "==2.3.0" }, - "wrapt": { - "hashes": [ - "sha256:08e7ce672e35efa54c5024936e559469436f8b8096253404faeb54d2a878416f", - "sha256:0a6e821770cf99cc586d33833b2ff32faebdbe886bd6322395606cf55153246c", - "sha256:0b929ac182f5ace000d459c59c2c9c33047e20e935f8e39371fa6e3b85d56f4a", - "sha256:129a150f5c445165ff941fc02ee27df65940fcb8a22a61828b1853c98763a64b", - "sha256:13e6afb7fe71fe7485a4550a8844cc9ffbe263c0f1a1eea569bc7091d4898555", - "sha256:1473400e5b2733e58b396a04eb7f35f541e1fb976d0c0724d0223dd607e0f74c", - "sha256:18983c537e04d11cf027fbb60a1e8dfd5190e2b60cc27bc0808e653e7b218d1b", - "sha256:1a7ed2d9d039bd41e889f6fb9364554052ca21ce823580f6a07c4ec245c1f5d6", - "sha256:1e1fe0e6ab7775fd842bc39e86f6dcfc4507ab0ffe206093e76d61cde37225c8", - "sha256:1fb5699e4464afe5c7e65fa51d4f99e0b2eadcc176e4aa33600a3df7801d6662", - "sha256:2696993ee1eebd20b8e4ee4356483c4cb696066ddc24bd70bcbb80fa56ff9061", - "sha256:35621ae4c00e056adb0009f8e86e28eb4a41a4bfa8f9bfa9fca7d343fe94f998", - "sha256:36ccae62f64235cf8ddb682073a60519426fdd4725524ae38874adf72b5f2aeb", - "sha256:3cedbfa9c940fdad3e6e941db7138e26ce8aad38ab5fe9dcfadfed9db7a54e62", - "sha256:3d57c572081fed831ad2d26fd430d565b76aa277ed1d30ff4d40670b1c0dd984", - "sha256:3fc7cb4c1c744f8c05cd5f9438a3caa6ab94ce8344e952d7c45a8ed59dd88392", - "sha256:4011d137b9955791f9084749cba9a367c68d50ab8d11d64c50ba1688c9b457f2", - "sha256:40d615e4fe22f4ad3528448c193b218e077656ca9ccb22ce2cb20db730f8d306", - "sha256:410a92fefd2e0e10d26210e1dfb4a876ddaf8439ef60d6434f21ef8d87efc5b7", - "sha256:41388e9d4d1522446fe79d3213196bd9e3b301a336965b9e27ca2788ebd122f3", - "sha256:468090021f391fe0056ad3e807e3d9034e0fd01adcd3bdfba977b6fdf4213ea9", - "sha256:49703ce2ddc220df165bd2962f8e03b84c89fee2d65e1c24a7defff6f988f4d6", - "sha256:4a721d3c943dae44f8e243b380cb645a709ba5bd35d3ad27bc2ed947e9c68192", - "sha256:4afd5814270fdf6380616b321fd31435a462019d834f83c8611a0ce7484c7317", - "sha256:4c82b8785d98cdd9fed4cac84d765d234ed3251bd6afe34cb7ac523cb93e8b4f", - "sha256:4db983e7bca53819efdbd64590ee96c9213894272c776966ca6306b73e4affda", - "sha256:582530701bff1dec6779efa00c516496968edd851fba224fbd86e46cc6b73563", - "sha256:58455b79ec2661c3600e65c0a716955adc2410f7383755d537584b0de41b1d8a", - "sha256:58705da316756681ad3c9c73fd15499aa4d8c69f9fd38dc8a35e06c12468582f", - "sha256:5bb1d0dbf99411f3d871deb6faa9aabb9d4e744d67dcaaa05399af89d847a91d", - "sha256:5c803c401ea1c1c18de70a06a6f79fcc9c5acfc79133e9869e730ad7f8ad8ef9", - "sha256:5cbabee4f083b6b4cd282f5b817a867cf0b1028c54d445b7ec7cfe6505057cf8", - "sha256:612dff5db80beef9e649c6d803a8d50c409082f1fedc9dbcdfde2983b2025b82", - "sha256:62c2caa1585c82b3f7a7ab56afef7b3602021d6da34fbc1cf234ff139fed3cd9", - "sha256:69606d7bb691b50a4240ce6b22ebb319c1cfb164e5f6569835058196e0f3a845", - "sha256:6d9187b01bebc3875bac9b087948a2bccefe464a7d8f627cf6e48b1bbae30f82", - "sha256:6ed6ffac43aecfe6d86ec5b74b06a5be33d5bb9243d055141e8cabb12aa08125", - "sha256:703919b1633412ab54bcf920ab388735832fdcb9f9a00ae49387f0fe67dad504", - "sha256:766d8bbefcb9e00c3ac3b000d9acc51f1b399513f44d77dfe0eb026ad7c9a19b", - "sha256:80dd7db6a7cb57ffbc279c4394246414ec99537ae81ffd702443335a61dbf3a7", - "sha256:8112e52c5822fc4253f3901b676c55ddf288614dc7011634e2719718eaa187dc", - "sha256:8c8b293cd65ad716d13d8dd3624e42e5a19cc2a2f1acc74b30c2c13f15cb61a6", - "sha256:8fdbdb757d5390f7c675e558fd3186d590973244fab0c5fe63d373ade3e99d40", - "sha256:91bd7d1773e64019f9288b7a5101f3ae50d3d8e6b1de7edee9c2ccc1d32f0c0a", - "sha256:95c658736ec15602da0ed73f312d410117723914a5c91a14ee4cdd72f1d790b3", - "sha256:99039fa9e6306880572915728d7f6c24a86ec57b0a83f6b2491e1d8ab0235b9a", - "sha256:9a2bce789a5ea90e51a02dfcc39e31b7f1e662bc3317979aa7e5538e3a034f72", - "sha256:9a7d15bbd2bc99e92e39f49a04653062ee6085c0e18b3b7512a4f2fe91f2d681", - "sha256:9abc77a4ce4c6f2a3168ff34b1da9b0f311a8f1cfd694ec96b0603dff1c79438", - "sha256:9e8659775f1adf02eb1e6f109751268e493c73716ca5761f8acb695e52a756ae", - "sha256:9fee687dce376205d9a494e9c121e27183b2a3df18037f89d69bd7b35bcf59e2", - "sha256:a5aaeff38654462bc4b09023918b7f21790efb807f54c000a39d41d69cf552cb", - "sha256:a604bf7a053f8362d27eb9fefd2097f82600b856d5abe996d623babd067b1ab5", - "sha256:abbb9e76177c35d4e8568e58650aa6926040d6a9f6f03435b7a522bf1c487f9a", - "sha256:acc130bc0375999da18e3d19e5a86403667ac0c4042a094fefb7eec8ebac7cf3", - "sha256:b18f2d1533a71f069c7f82d524a52599053d4c7166e9dd374ae2136b7f40f7c8", - "sha256:b4e42a40a5e164cbfdb7b386c966a588b1047558a990981ace551ed7e12ca9c2", - "sha256:b5e251054542ae57ac7f3fba5d10bfff615b6c2fb09abeb37d2f1463f841ae22", - "sha256:b60fb58b90c6d63779cb0c0c54eeb38941bae3ecf7a73c764c52c88c2dcb9d72", - "sha256:b870b5df5b71d8c3359d21be8f0d6c485fa0ebdb6477dda51a1ea54a9b558061", - "sha256:ba0f0eb61ef00ea10e00eb53a9129501f52385c44853dbd6c4ad3f403603083f", - "sha256:bb87745b2e6dc56361bfde481d5a378dc314b252a98d7dd19a651a3fa58f24a9", - "sha256:bb90fb8bda722a1b9d48ac1e6c38f923ea757b3baf8ebd0c82e09c5c1a0e7a04", - "sha256:bc570b5f14a79734437cb7b0500376b6b791153314986074486e0b0fa8d71d98", - "sha256:c86563182421896d73858e08e1db93afdd2b947a70064b813d515d66549e15f9", - "sha256:c958bcfd59bacc2d0249dcfe575e71da54f9dcf4a8bdf89c4cb9a68a1170d73f", - "sha256:d18a4865f46b8579d44e4fe1e2bcbc6472ad83d98e22a26c963d46e4c125ef0b", - "sha256:d5e2439eecc762cd85e7bd37161d4714aa03a33c5ba884e26c81559817ca0925", - "sha256:e3890b508a23299083e065f435a492b5435eba6e304a7114d2f919d400888cc6", - "sha256:e496a8ce2c256da1eb98bd15803a79bee00fc351f5dfb9ea82594a3f058309e0", - "sha256:e8b2816ebef96d83657b56306152a93909a83f23994f4b30ad4573b00bd11bb9", - "sha256:eaf675418ed6b3b31c7a989fd007fa7c3be66ce14e5c3b27336383604c9da85c", - "sha256:ec89ed91f2fa8e3f52ae53cd3cf640d6feff92ba90d62236a81e4e563ac0e991", - "sha256:ecc840861360ba9d176d413a5489b9a0aff6d6303d7e733e2c4623cfa26904a6", - "sha256:f09b286faeff3c750a879d336fb6d8713206fc97af3adc14def0cdd349df6000", - "sha256:f393cda562f79828f38a819f4788641ac7c4085f30f1ce1a68672baa686482bb", - "sha256:f917c1180fdb8623c2b75a99192f4025e412597c50b2ac870f156de8fb101119", - "sha256:fc78a84e2dfbc27afe4b2bd7c80c8db9bca75cc5b85df52bfe634596a1da846b", - "sha256:ff04ef6eec3eee8a5efef2401495967a916feaa353643defcc03fc74fe213b58" - ], - "markers": "python_version >= '3.8'", - "version": "==1.17.2" - }, "zipp": { "hashes": [ "sha256:2c9958f6430a2040341a52eb608ed6dd93ef4392e02ffe219417c1b28b5dd1f4", diff --git a/lib/python/pytest.ini b/lib/python/pytest.ini new file mode 100644 index 0000000000000000000000000000000000000000..21cb1c450f4c85de4ba416e0fe68ec9a93345aee --- /dev/null +++ b/lib/python/pytest.ini @@ -0,0 +1,3 @@ +[pytest] +log_cli = 1 +log_level = info \ No newline at end of file diff --git a/lib/python/tests/conftest.py b/lib/python/tests/conftest.py deleted file mode 100644 index d1a41ca922c870f37fb12f2b9a68de5d1ff68286..0000000000000000000000000000000000000000 --- a/lib/python/tests/conftest.py +++ /dev/null @@ -1,31 +0,0 @@ -import logging -import os - -import pytest -from testcontainers.generic import ServerContainer - -logging.basicConfig(level=logging.DEBUG) - - -@pytest.fixture(scope="session", autouse=True) -def session(request): - """ - Create one TUSd container per test run only - :param request: / - :return: The TUSd container - """ - logging.debug("[fixture] creating container") - container = ServerContainer(port=8080, image='tusproject/tusd:v2.4.0').with_command("-base-path=/api/upload/files/") - logging.debug("[fixture] starting container") - container.start() - # set the environment for the client - endpoint = f"http://{container.get_container_host_ip()}:{container.get_exposed_port(8080)}/api/upload/files" - logging.debug(f'set upload endpoint {endpoint}') - os.environ['REST_UPLOAD_ENDPOINT'] = endpoint - - # destructor - def stop_tusd(): - container.stop() - - request.addfinalizer(stop_tusd) - return container diff --git a/lib/python/tests/test_integration_table.py b/lib/python/tests/test_integration_table.py deleted file mode 100644 index f8ca294779e8d93559514e533820ccd3e773566d..0000000000000000000000000000000000000000 --- a/lib/python/tests/test_integration_table.py +++ /dev/null @@ -1,83 +0,0 @@ -import os -import unittest - -import requests_mock -from pandas import DataFrame - -from dbrepo.RestClient import RestClient -from dbrepo.api.exceptions import ForbiddenError, MalformedError, NotExistsError, ServiceError, ResponseCodeError - - -class TableUnitTest(unittest.TestCase): - - def test_import_table_data_succeeds(self): - with requests_mock.Mocker() as mock: - mock.register_uri('POST', os.environ.get('REST_UPLOAD_ENDPOINT'), real_http=True) - # mock - mock.post('/api/database/1/table/9/data/import', status_code=202) - # test - RestClient(username="a", password="b").import_table_data(database_id=1, table_id=9, - dataframe=DataFrame()) - - def test_import_table_data_400_fails(self): - with requests_mock.Mocker() as mock: - mock.register_uri('POST', os.environ.get('REST_UPLOAD_ENDPOINT'), real_http=True) - # mock - mock.post('/api/database/1/table/9/data/import', status_code=400) - try: - RestClient(username="a", password="b").import_table_data(database_id=1, table_id=9, - dataframe=DataFrame()) - except MalformedError: - pass - - def test_import_table_data_403_fails(self): - with requests_mock.Mocker() as mock: - mock.register_uri('POST', os.environ.get('REST_UPLOAD_ENDPOINT'), real_http=True) - # mock - mock.post('/api/database/1/table/9/data/import', status_code=403) - # test - try: - RestClient(username="a", password="b").import_table_data(database_id=1, table_id=9, - dataframe=DataFrame()) - except ForbiddenError: - pass - - def test_import_table_data_404_fails(self): - with requests_mock.Mocker() as mock: - mock.register_uri('POST', os.environ.get('REST_UPLOAD_ENDPOINT'), real_http=True) - # mock - mock.post('/api/database/1/table/9/data/import', status_code=404) - # test - try: - RestClient(username="a", password="b").import_table_data(database_id=1, table_id=9, - dataframe=DataFrame()) - except NotExistsError: - pass - - def test_import_table_data_503_fails(self): - with requests_mock.Mocker() as mock: - mock.register_uri('POST', os.environ.get('REST_UPLOAD_ENDPOINT'), real_http=True) - # mock - mock.post('/api/database/1/table/9/data/import', status_code=503) - # test - try: - RestClient(username="a", password="b").import_table_data(database_id=1, table_id=9, - dataframe=DataFrame()) - except ServiceError: - pass - - def test_import_table_data_unknown_fails(self): - with requests_mock.Mocker() as mock: - mock.register_uri('POST', os.environ.get('REST_UPLOAD_ENDPOINT'), real_http=True) - # mock - mock.post('/api/database/1/table/9/data/import', status_code=200) - # test - try: - RestClient(username="a", password="b").import_table_data(database_id=1, table_id=9, - dataframe=DataFrame()) - except ResponseCodeError: - pass - - -if __name__ == "__main__": - unittest.main() diff --git a/lib/python/tests/test_unit_analyse.py b/lib/python/tests/test_unit_analyse.py deleted file mode 100644 index fbbb342f790a19b9e930db8df899ae1d044ab590..0000000000000000000000000000000000000000 --- a/lib/python/tests/test_unit_analyse.py +++ /dev/null @@ -1,104 +0,0 @@ -import os -import re -import unittest - -import requests_mock -from pandas import DataFrame - -from dbrepo.RestClient import RestClient -from dbrepo.api.dto import KeyAnalysis, DatatypeAnalysis, ColumnType -from dbrepo.api.exceptions import NotExistsError, MalformedError, ResponseCodeError - - -class AnalyseUnitTest(unittest.TestCase): - - def test_analyse_keys_succeeds(self): - with requests_mock.Mocker() as mock: - exp = KeyAnalysis(keys={'id': 0, 'firstname': 1, 'lastname': 2}) - # mock - mock.register_uri('POST', os.environ.get('REST_UPLOAD_ENDPOINT'), real_http=True) - mock.register_uri('GET', '/api/analyse/keys', json=exp.model_dump(), status_code=202) - # test - response = RestClient().analyse_keys(dataframe=DataFrame()) - self.assertEqual(exp, response) - - def test_analyse_keys_400_fails(self): - with requests_mock.Mocker() as mock: - # mock - mock.register_uri('POST', os.environ.get('REST_UPLOAD_ENDPOINT'), real_http=True) - mock.register_uri('GET', '/api/analyse/keys', status_code=400) - # test - try: - RestClient().analyse_keys(dataframe=DataFrame()) - except MalformedError: - pass - - def test_analyse_keys_404_fails(self): - with requests_mock.Mocker() as mock: - # mock - mock.register_uri('POST', os.environ.get('REST_UPLOAD_ENDPOINT'), real_http=True) - mock.register_uri('GET', '/api/analyse/keys', status_code=404) - # test - try: - RestClient().analyse_keys(dataframe=DataFrame()) - except NotExistsError: - pass - - def test_analyse_keys_unknown_fails(self): - with requests_mock.Mocker() as mock: - # mock - mock.register_uri('POST', os.environ.get('REST_UPLOAD_ENDPOINT'), real_http=True) - mock.register_uri('GET', '/api/analyse/keys', status_code=200) - # test - try: - RestClient().analyse_keys(dataframe=DataFrame()) - except ResponseCodeError: - pass - - def test_analyse_datatypes_succeeds(self): - with requests_mock.Mocker() as mock: - exp = DatatypeAnalysis(separator=',', - columns={'id': ColumnType.SERIAL}) - # mock - mock.register_uri('POST', os.environ.get('REST_UPLOAD_ENDPOINT'), real_http=True) - mock.register_uri('GET', re.compile('/api/analyse/datatypes.*'), json=exp.model_dump(), status_code=202) - # test - response = RestClient().analyse_datatypes(dataframe=DataFrame()) - self.assertEqual(exp, response) - - def test_analyse_datatypes_400_fails(self): - with requests_mock.Mocker() as mock: - # mock - mock.register_uri('POST', os.environ.get('REST_UPLOAD_ENDPOINT'), real_http=True) - mock.register_uri('GET', re.compile('/api/analyse/datatypes.*'), status_code=400) - # test - try: - RestClient().analyse_datatypes(dataframe=DataFrame()) - except MalformedError: - pass - - def test_analyse_datatypes_404_fails(self): - with requests_mock.Mocker() as mock: - # mock - mock.register_uri('POST', os.environ.get('REST_UPLOAD_ENDPOINT'), real_http=True) - mock.register_uri('GET', re.compile('/api/analyse/datatypes.*'), status_code=404) - # test - try: - RestClient().analyse_datatypes(dataframe=DataFrame()) - except NotExistsError: - pass - - def test_analyse_datatypes_unknown_fails(self): - with requests_mock.Mocker() as mock: - # mock - mock.register_uri('POST', os.environ.get('REST_UPLOAD_ENDPOINT'), real_http=True) - mock.register_uri('GET', re.compile('/api/analyse/datatypes.*'), status_code=200) - # test - try: - RestClient().analyse_datatypes(dataframe=DataFrame()) - except ResponseCodeError: - pass - - -if __name__ == "__main__": - unittest.main() diff --git a/yq b/yq deleted file mode 100644 index 5578822fb407e254544a2b532ef439174956ea45..0000000000000000000000000000000000000000 --- a/yq +++ /dev/null @@ -1,7043 +0,0 @@ -openapi: 3.0.1 -info: - title: Database Repository Metadata Service API - description: Service that manages the metadata - contact: - name: Prof. Andreas Rauber - email: andreas.rauber@tuwien.ac.at - license: - name: Apache 2.0 - url: https://www.apache.org/licenses/LICENSE-2.0 - version: 1.6.2 -externalDocs: - description: Sourcecode Documentation - url: https://www.ifs.tuwien.ac.at/infrastructures/dbrepo/1.6.2/system-services-metadata/ -servers: -- url: http://localhost - description: Development instance -- url: https://test.dbrepo.tuwien.ac.at - description: Staging instance -paths: - /api/database: - get: - tags: - - database-endpoint - summary: List databases - description: "Lists all databases in the metadata database. Requests with HTTP\ - \ method **GET** return the list of databases, requests with HTTP method **HEAD**\ - \ only the number in the `X-Count` header." - operationId: list - parameters: - - name: internal_name - in: query - required: false - schema: - type: string - responses: - "200": - description: List of databases - headers: - Access-Control-Expose-Headers: - description: Expose `X-Count` custom header - required: true - style: simple - X-Count: - description: Number of databases - required: true - style: simple - content: - application/json: - schema: - type: array - items: - $ref: "#/components/schemas/DatabaseBriefDto" - post: - tags: - - database-endpoint - summary: Create database - description: Creates a database in the container with id. Requires roles `create-database`. - operationId: create_5 - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/DatabaseCreateDto" - required: true - responses: - "409": - description: Query store could not be created - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "502": - description: Connection to search service failed - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "400": - description: Database create query is malformed or image is not supported - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "423": - description: Database quota exceeded - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "403": - description: Database create permission is missing or grant permissions - at broker service failed - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "503": - description: Failed to save in search service - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "404": - description: Failed to fin container/user/database in metadata database - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "201": - description: Created a new database - content: - application/json: - schema: - $ref: "#/components/schemas/DatabaseBriefDto" - security: - - bearerAuth: [] - - basicAuth: [] - head: - tags: - - database-endpoint - summary: List databases - description: "Lists all databases in the metadata database. Requests with HTTP\ - \ method **GET** return the list of databases, requests with HTTP method **HEAD**\ - \ only the number in the `X-Count` header." - operationId: list_1 - parameters: - - name: internal_name - in: query - required: false - schema: - type: string - responses: - "200": - description: List of databases - headers: - Access-Control-Expose-Headers: - description: Expose `X-Count` custom header - required: true - style: simple - X-Count: - description: Number of databases - required: true - style: simple - content: - application/json: - schema: - type: array - items: - $ref: "#/components/schemas/DatabaseBriefDto" - /api/database/{databaseId}/access/{userId}: - get: - tags: - - access-endpoint - summary: Find/Check access - description: "Finds or checks access of a user with given id to a database with\ - \ given id. Requests with HTTP method **GET** return the access object, requests\ - \ with HTTP method **HEAD** only the status. When the user has at least *READ*\ - \ access, the status 200 is returned, 403 otherwise. Requires role `check-database-access`\ - \ or `check-foreign-database-access`." - operationId: find - parameters: - - name: databaseId - in: path - required: true - schema: - type: integer - format: int64 - - name: userId - in: path - required: true - schema: - type: string - format: uuid - responses: - "403": - description: No access to this database - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "404": - description: Database not found - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "200": - description: Found database access - content: - application/json: - schema: - $ref: "#/components/schemas/DatabaseAccessDto" - security: - - bearerAuth: [] - - basicAuth: [] - put: - tags: - - access-endpoint - summary: Modify access - description: Modifies access of a user with given id to database with given - id. Requires role `update-database-access`. - operationId: update_5 - parameters: - - name: databaseId - in: path - required: true - schema: - type: integer - format: int64 - - name: userId - in: path - required: true - schema: - type: string - format: uuid - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/UpdateDatabaseAccessDto" - required: true - responses: - "404": - description: Database or user not found - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "403": - description: Modify access not permitted when no access is granted in the - first place - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "503": - description: Access could not be updated in the data service - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "202": - description: Modified access - "502": - description: Access could not be updated due to connection error in the - data service - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "400": - description: Modify access query or database connection is malformed - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - security: - - bearerAuth: [] - - basicAuth: [] - post: - tags: - - access-endpoint - summary: Give access - description: Give a user with given id access to some database with given id. - Requires role `create-database-access`. - operationId: create_8 - parameters: - - name: databaseId - in: path - required: true - schema: - type: integer - format: int64 - - name: userId - in: path - required: true - schema: - type: string - format: uuid - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/UpdateDatabaseAccessDto" - required: true - responses: - "404": - description: Database or user not found - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "503": - description: Access could not be created in the data service - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "403": - description: Failed giving access - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "202": - description: Granting access succeeded - content: - application/json: - schema: - $ref: "#/components/schemas/DatabaseAccessDto" - "400": - description: Granting access query or database connection is malformed - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "502": - description: Access could not be created due to connection error - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - security: - - bearerAuth: [] - - basicAuth: [] - delete: - tags: - - access-endpoint - summary: Delete access - description: Delete access of a user with id to a database with id. Requires - role `delete-database-access`. - operationId: revoke - parameters: - - name: databaseId - in: path - required: true - schema: - type: integer - format: int64 - - name: userId - in: path - required: true - schema: - type: string - format: uuid - responses: - "403": - description: Revoke of access not permitted as no access was found - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "202": - description: Deleted access - "502": - description: Access could not be created due to connection error - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "404": - description: "User, database with access was not found" - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "503": - description: Access could not be revoked in the data service - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "400": - description: Modify access query or database connection is malformed - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - security: - - bearerAuth: [] - - basicAuth: [] - head: - tags: - - access-endpoint - summary: Find/Check access - description: "Finds or checks access of a user with given id to a database with\ - \ given id. Requests with HTTP method **GET** return the access object, requests\ - \ with HTTP method **HEAD** only the status. When the user has at least *READ*\ - \ access, the status 200 is returned, 403 otherwise. Requires role `check-database-access`\ - \ or `check-foreign-database-access`." - operationId: find_1 - parameters: - - name: databaseId - in: path - required: true - schema: - type: integer - format: int64 - - name: userId - in: path - required: true - schema: - type: string - format: uuid - responses: - "403": - description: No access to this database - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "404": - description: Database not found - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "200": - description: Found database access - content: - application/json: - schema: - $ref: "#/components/schemas/DatabaseAccessDto" - security: - - bearerAuth: [] - - basicAuth: [] - /api/user/{userId}: - get: - tags: - - user-endpoint - summary: Get user - description: Gets own user information from the metadata database. Requires - authentication. Foreign user information can only be obtained if additional - role `find-foreign-user` is present. Finding information about internal users - results in a 404 error. - operationId: find_2 - parameters: - - name: userId - in: path - required: true - schema: - type: string - format: uuid - responses: - "404": - description: User was not found - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "200": - description: Found user - content: - application/json: - schema: - $ref: "#/components/schemas/UserDto" - "403": - description: Find user is not permitted - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - security: - - bearerAuth: [] - - basicAuth: [] - put: - tags: - - user-endpoint - summary: Update user - description: Updates user with id. Requires role `modify-user-information`. - operationId: modify - parameters: - - name: userId - in: path - required: true - schema: - type: string - format: uuid - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/UserUpdateDto" - required: true - responses: - "202": - description: Modified user information - content: - application/json: - schema: - $ref: "#/components/schemas/UserDto" - "404": - description: Failed to find database/user in metadata database - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "400": - description: Modify user query is malformed - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "403": - description: Not allowed to modify user metadata - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - security: - - bearerAuth: [] - - basicAuth: [] - /api/user/{userId}/password: - put: - tags: - - user-endpoint - summary: Update user password - description: Updates password of user with id. Requires authentication. - operationId: password - parameters: - - name: userId - in: path - required: true - schema: - type: string - format: uuid - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/UserPasswordDto" - required: true - responses: - "400": - description: Invalid password payload - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "202": - description: Modified user password - "403": - description: Not allowed to change foreign user password - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "503": - description: Failed to get user in auth service - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "404": - description: Failed to find database/user in metadata database - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "502": - description: Connection to auth service failed - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - security: - - bearerAuth: [] - - basicAuth: [] - /api/user/token: - put: - tags: - - user-endpoint - summary: Refresh token - description: Refreshes user token by refresh token. - operationId: refreshToken - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/RefreshTokenRequestDto" - required: true - responses: - "202": - description: Refreshed user token - content: - application/json: - schema: - $ref: "#/components/schemas/TokenDto" - "403": - description: Not allowed - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "400": - description: Invalid refresh token - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "502": - description: Connection to auth service failed - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - post: - tags: - - user-endpoint - summary: Create token - description: Creates a user token via the Auth Service. - operationId: getToken - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/LoginRequestDto" - required: true - responses: - "400": - description: Invalid login request - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "403": - description: Not allowed to get token - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "404": - description: Failed to find user in auth database - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "503": - description: Failed to get user in auth service - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "202": - description: Obtained user token - content: - application/json: - schema: - $ref: "#/components/schemas/TokenDto" - "428": - description: Account is not fully setup in auth service (requires password - change?) - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "502": - description: Connection to auth service failed - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - /api/ontology/{ontologyId}: - get: - tags: - - ontology-endpoint - summary: Find ontology - description: Finds an ontology with id in the metadata database. - operationId: find_3 - parameters: - - name: ontologyId - in: path - required: true - schema: - type: integer - format: int64 - responses: - "404": - description: Could not find ontology - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "200": - description: Find one ontology - content: - application/json: - schema: - $ref: "#/components/schemas/OntologyDto" - put: - tags: - - ontology-endpoint - summary: Update ontology - description: Updates an ontology with id. Requires role `update-ontology`. - operationId: update - parameters: - - name: ontologyId - in: path - required: true - schema: - type: integer - format: int64 - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/OntologyModifyDto" - required: true - responses: - "404": - description: Could not find ontology - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "202": - description: Updated ontology successfully - content: - application/json: - schema: - $ref: "#/components/schemas/OntologyDto" - security: - - bearerAuth: [] - - basicAuth: [] - delete: - tags: - - ontology-endpoint - summary: Delete ontology - description: Deletes an ontology with given id. Requires role `delete-ontology`. - operationId: delete - parameters: - - name: ontologyId - in: path - required: true - schema: - type: integer - format: int64 - responses: - "202": - description: Deleted ontology successfully - content: - application/json: {} - "404": - description: Could not find ontology - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - security: - - bearerAuth: [] - - basicAuth: [] - /api/message/{messageId}: - put: - tags: - - message-endpoint - summary: Update message - description: Updates a message with id. Requires role `update-maintenance-message`. - operationId: update_1 - parameters: - - name: messageId - in: path - required: true - schema: - type: integer - format: int64 - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/BannerMessageUpdateDto" - required: true - responses: - "202": - description: Updated message - content: - application/json: - schema: - $ref: "#/components/schemas/BannerMessageBriefDto" - "404": - description: Could not find message - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - security: - - bearerAuth: [] - - basicAuth: [] - delete: - tags: - - message-endpoint - summary: Delete message - description: Deletes a message with id. Requires role `delete-maintenance-message`. - operationId: delete_1 - parameters: - - name: messageId - in: path - required: true - schema: - type: integer - format: int64 - responses: - "404": - description: Could not find message - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "202": - description: Deleted message - content: - application/json: {} - security: - - bearerAuth: [] - - basicAuth: [] - /api/image/{imageId}: - get: - tags: - - image-endpoint - summary: Find image - description: Finds a container image in the metadata database. - operationId: findById - parameters: - - name: imageId - in: path - required: true - schema: - type: integer - format: int64 - responses: - "404": - description: Image could not be found - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "200": - description: Found image - content: - application/json: - schema: - $ref: "#/components/schemas/ImageDto" - put: - tags: - - image-endpoint - summary: Update image - description: Updates container image in the metadata database. Requires role - `modify-image`. - operationId: update_2 - parameters: - - name: imageId - in: path - required: true - schema: - type: integer - format: int64 - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/ImageChangeDto" - required: true - responses: - "404": - description: Image could not be found - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "202": - description: Updated image successfully - content: - application/json: - schema: - $ref: "#/components/schemas/ImageDto" - security: - - bearerAuth: [] - - basicAuth: [] - delete: - tags: - - image-endpoint - summary: Delete image - description: Deletes a container image in the metadata database. Requires role - `delete-image`. - operationId: delete_2 - parameters: - - name: imageId - in: path - required: true - schema: - type: integer - format: int64 - responses: - "202": - description: Deleted image successfully - "404": - description: Image could not be found - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - security: - - bearerAuth: [] - - basicAuth: [] - /api/identifier/{identifierId}: - get: - tags: - - identifier-endpoint - summary: Find identifier - description: Finds an identifier with id. The response format depends on the - HTTP `Accept` header set on the request. - operationId: find_6 - parameters: - - name: identifierId - in: path - required: true - schema: - type: integer - format: int64 - - name: Accept - in: header - required: true - schema: - type: string - responses: - "200": - description: Found identifier successfully - content: - application/json: - schema: - $ref: "#/components/schemas/IdentifierDto" - application/ld+json: - schema: - $ref: "#/components/schemas/LdDatasetDto" - text/csv: {} - text/xml: {} - text/bibliography: {} - text/bibliography; style=apa: {} - text/bibliography; style=ieee: {} - text/bibliography; style=bibtex: {} - "502": - description: Connection to data service failed - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "400": - description: "Identifier could not be exported, the requested style is not\ - \ known" - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "409": - description: Exported resource was not found - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "410": - description: Failed to retrieve from S3 endpoint - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "404": - description: Identifier could not be found - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "406": - description: Failed to find acceptable representation - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "503": - description: Failed to find in data service - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - put: - tags: - - identifier-endpoint - summary: Save identifier - description: Saves an identifier with id as a draft identifier. Identifiers - can only be created for objects the user has at least *READ* access in the - associated database (requires role `create-identifier`) or for any object - in any database (requires role `create-foreign-identifier`). - operationId: save - parameters: - - name: identifierId - in: path - required: true - schema: - type: integer - format: int64 - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/IdentifierSaveDto" - required: true - responses: - "502": - description: Connection to search service failed - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "404": - description: "Failed to find database, table or view" - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "400": - description: Identifier form contains invalid request data - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "503": - description: Failed to save in search service - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "202": - description: Saved identifier - content: - application/json: - schema: - $ref: "#/components/schemas/IdentifierDto" - "403": - description: Insufficient access rights or authorities - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - security: - - bearerAuth: [] - - basicAuth: [] - delete: - tags: - - identifier-endpoint - summary: Delete identifier - description: Deletes an identifier with id. Requires role `delete-identifier`. - operationId: delete_3 - parameters: - - name: identifierId - in: path - required: true - schema: - type: integer - format: int64 - responses: - "502": - description: Connection to search service failed - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "503": - description: Failed to delete in search service - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "404": - description: Identifier or database could not be found - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "202": - description: Deleted identifier - "403": - description: Deleting identifier not permitted - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - security: - - bearerAuth: [] - - basicAuth: [] - /api/identifier/{identifierId}/publish: - put: - tags: - - identifier-endpoint - summary: Publish identifier - description: Publishes an identifier with id. A published identifier cannot - be changed anymore. Requires role `publish-identifier`. - operationId: publish - parameters: - - name: identifierId - in: path - required: true - schema: - type: integer - format: int64 - responses: - "502": - description: Connection to search service failed - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "404": - description: "Failed to find database, table or view" - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "202": - description: Published identifier - content: - application/json: - schema: - $ref: "#/components/schemas/IdentifierDto" - "400": - description: Identifier form contains invalid request data - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "503": - description: Failed to save in search service - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "403": - description: Insufficient access rights or authorities - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - security: - - bearerAuth: [] - - basicAuth: [] - /api/database/{databaseId}/visibility: - put: - tags: - - database-endpoint - summary: Update database visibility - description: Updates the database with id on the visibility. Only the database - owner can perform this operation. Requires role `modify-database-visibility`. - operationId: visibility - parameters: - - name: databaseId - in: path - required: true - schema: - type: integer - format: int64 - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/DatabaseModifyVisibilityDto" - required: true - responses: - "502": - description: Connection to search service failed - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "404": - description: Failed to find database in metadata database - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "202": - description: Visibility modified successfully - content: - application/json: - schema: - $ref: "#/components/schemas/DatabaseBriefDto" - "400": - description: The visibility payload is malformed - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "503": - description: Failed to save in search service - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "403": - description: Visibility modification is not permitted - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - security: - - bearerAuth: [] - - basicAuth: [] - /api/database/{databaseId}/view/{viewId}: - get: - tags: - - view-endpoint - summary: Get view - description: Gets a view with id in the metadata database. - operationId: find_7 - parameters: - - name: databaseId - in: path - required: true - schema: - type: integer - format: int64 - - name: viewId - in: path - required: true - schema: - type: integer - format: int64 - responses: - "403": - description: Find view is not permitted - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "404": - description: "Database, view or user could not be found" - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "200": - description: Find view successfully - headers: - X-Username: - description: The authentication username - style: simple - Access-Control-Expose-Headers: - description: Expose custom headers - style: simple - X-Type: - description: The JDBC connection type - style: simple - X-View: - description: The view internal name - style: simple - X-Database: - description: The database internal name - style: simple - X-Password: - description: The authentication password - style: simple - X-Host: - description: The database hostname - style: simple - X-Port: - description: The database port number - style: simple - content: - application/json: - schema: - $ref: "#/components/schemas/ViewDto" - security: - - bearerAuth: [] - - basicAuth: [] - put: - tags: - - view-endpoint - summary: Update view - description: Updates a view with id. This can only be performed by the view - owner or database owner. Requires role `create-database-view`. - operationId: update_3 - parameters: - - name: databaseId - in: path - required: true - schema: - type: integer - format: int64 - - name: viewId - in: path - required: true - schema: - type: integer - format: int64 - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/ViewUpdateDto" - required: true - responses: - "502": - description: Connection to search service failed - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "404": - description: Database or View could not be found - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "403": - description: Update not allowed - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "503": - description: Failed to save in search service - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "400": - description: Update view query is malformed - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "202": - description: Update view successfully - content: - '*/*': - schema: - $ref: "#/components/schemas/ViewDto" - security: - - bearerAuth: [] - - basicAuth: [] - delete: - tags: - - view-endpoint - summary: Delete view - description: Deletes a view with id. Requires role `delete-database-view`. - operationId: delete_4 - parameters: - - name: databaseId - in: path - required: true - schema: - type: integer - format: int64 - - name: viewId - in: path - required: true - schema: - type: integer - format: int64 - responses: - "502": - description: Connection to search service failed - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "423": - description: Delete view resulted in an invalid query statement - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "404": - description: "Database, view or user could not be found" - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "202": - description: Delete view successfully - content: - '*/*': - schema: - type: object - "400": - description: Delete view query is malformed - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "503": - description: Failed to save in search service - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "403": - description: Deletion not allowed - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - security: - - bearerAuth: [] - - basicAuth: [] - /api/database/{databaseId}/table/{tableId}: - get: - tags: - - table-endpoint - summary: Find table - description: "Finds a table with id. When a table is hidden (i.e. when `is_public`\ - \ is `false`), then the user needs to have at least read access and the role\ - \ `find-table`. When the `system` role is present, the endpoint responds with\ - \ additional connection metadata in the header." - operationId: findById_2 - parameters: - - name: databaseId - in: path - required: true - schema: - type: integer - format: int64 - - name: tableId - in: path - required: true - schema: - type: integer - format: int64 - responses: - "200": - description: Find table successfully - headers: - X-Username: - description: The authentication username - style: simple - X-Table: - description: The table internal name - style: simple - Access-Control-Expose-Headers: - description: Expose custom headers - style: simple - X-Type: - description: The JDBC connection type - style: simple - X-Database: - description: The database internal name - style: simple - X-Password: - description: The authentication password - style: simple - X-Host: - description: The database hostname - style: simple - X-Port: - description: The database port number - style: simple - content: - application/json: - schema: - $ref: "#/components/schemas/TableDto" - "503": - description: Failed to obtain queue information from broker service - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "403": - description: Access to the database is forbidden - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "502": - description: Failed to establish connection with broker service - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "404": - description: "Table, database or container could not be found" - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - security: - - bearerAuth: [] - - basicAuth: [] - put: - tags: - - table-endpoint - summary: Update table - description: Updates a table in the database with id. Requires role `update-table`. - operationId: update_4 - parameters: - - name: databaseId - in: path - required: true - schema: - type: integer - format: int64 - - name: tableId - in: path - required: true - schema: - type: integer - format: int64 - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/TableUpdateDto" - required: true - responses: - "403": - description: Update table visibility not permitted - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "502": - description: Connection to search service failed - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "404": - description: Table could not be found - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "202": - description: Updated the table - content: - application/json: - schema: - $ref: "#/components/schemas/TableBriefDto" - "503": - description: Failed to save in search service - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "400": - description: Update table visibility payload is malformed - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - security: - - bearerAuth: [] - - basicAuth: [] - delete: - tags: - - table-endpoint - summary: Delete table - description: Deletes a table with id. Only the owner of a table can perform - this action (requires role `delete-table`) or anyone can delete a table (requires - role `delete-foreign-table`). - operationId: delete_5 - parameters: - - name: databaseId - in: path - required: true - schema: - type: integer - format: int64 - - name: tableId - in: path - required: true - schema: - type: integer - format: int64 - responses: - "502": - description: Connection to search service failed - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "403": - description: Access to the database is forbidden - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "202": - description: Delete table successfully - "503": - description: Failed to save in search service - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "400": - description: Delete table query resulted in an invalid query statement - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "404": - description: "Table, database or container could not be found" - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - security: - - bearerAuth: [] - - basicAuth: [] - /api/database/{databaseId}/table/{tableId}/statistic: - put: - tags: - - table-endpoint - summary: Update statistics - description: "Updates basic statistical properties (min, max, mean, median,\ - \ std.dev) for numerical columns in a table with id. This action can only\ - \ be performed by the table owner. Requires role `update-table-statistic`." - operationId: updateStatistic - parameters: - - name: databaseId - in: path - required: true - schema: - type: integer - format: int64 - - name: tableId - in: path - required: true - schema: - type: integer - format: int64 - responses: - "502": - description: Connection to search service failed - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "503": - description: Failed to save in search service - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "400": - description: Failed to map column statistic to known columns - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "404": - description: Failed to find database/table in metadata database - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "403": - description: Not the owner - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "202": - description: Updated table statistics successfully - security: - - bearerAuth: [] - - basicAuth: [] - /api/database/{databaseId}/table/{tableId}/column/{columnId}: - put: - tags: - - table-endpoint - summary: Update semantics - description: Updates column semantics of a table column with id. Only the table - owner with at least *READ* access to the associated database can update the - column semantics (requires role `modify-table-column-semantics`) or foreign - table columns if role `modify-foreign-table-column-semantics`. - operationId: updateColumn - parameters: - - name: databaseId - in: path - required: true - schema: - type: integer - format: int64 - - name: tableId - in: path - required: true - schema: - type: integer - format: int64 - - name: columnId - in: path - required: true - schema: - type: integer - format: int64 - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/ColumnSemanticsUpdateDto" - required: true - responses: - "502": - description: Connection to search service failed - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "403": - description: Access to the database is forbidden - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "404": - description: Failed to find user/table/database/ontology in metadata database - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "503": - description: Failed to save in search service - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "202": - description: Updated column semantics successfully - content: - application/json: - schema: - $ref: "#/components/schemas/ColumnDto" - "400": - description: Update semantic concept query is malformed or update unit of - measurement query is malformed - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - security: - - bearerAuth: [] - - basicAuth: [] - /api/database/{databaseId}/owner: - put: - tags: - - database-endpoint - summary: Update database owner - description: Updates the database with id on the owner. Only the database owner - can perform this operation. Requires role `modify-database-owner`. - operationId: transfer - parameters: - - name: databaseId - in: path - required: true - schema: - type: integer - format: int64 - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/DatabaseTransferDto" - required: true - responses: - "502": - description: Connection to search service failed - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "503": - description: Failed to save in search service - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "202": - description: Transfer of ownership was successful - content: - application/json: - schema: - $ref: "#/components/schemas/DatabaseBriefDto" - "403": - description: Transfer of ownership is not permitted - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "404": - description: Database or user could not be found - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "400": - description: Owner payload is malformed - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - security: - - bearerAuth: [] - - basicAuth: [] - /api/database/{databaseId}/metadata/view: - put: - tags: - - database-endpoint - summary: Update database view schemas - description: Updates the database with id with generated metadata from view - that are not yet known to the database. Only the database owner can perform - this operation. Requires role `find-database`. - operationId: refreshViewMetadata - parameters: - - name: databaseId - in: path - required: true - schema: - type: integer - format: int64 - responses: - "502": - description: Connection to search service failed - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "404": - description: Failed to find database in metadata database - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "503": - description: Failed to save in search service - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "200": - description: Refreshed database views metadata - content: - application/json: - schema: - $ref: "#/components/schemas/DatabaseBriefDto" - "403": - description: Refresh view metadata is not permitted - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - security: - - bearerAuth: [] - - basicAuth: [] - /api/database/{databaseId}/metadata/table: - put: - tags: - - database-endpoint - summary: Update database table schemas - description: Updates the database with id with generated metadata from tables - that are not yet known to the database. Only the database owner can perform - this operation. Requires role `find-database`. - operationId: refreshTableMetadata - parameters: - - name: databaseId - in: path - required: true - schema: - type: integer - format: int64 - responses: - "403": - description: Not allowed to refresh table metadata - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "502": - description: Connection to search service failed - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "404": - description: Failed to fin user/database in metadata database - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "503": - description: Failed to save in search service - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "200": - description: Refreshed database tables metadata - content: - application/json: - schema: - $ref: "#/components/schemas/DatabaseBriefDto" - "400": - description: Failed to parse payload at search service - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - security: - - bearerAuth: [] - - basicAuth: [] - /api/database/{databaseId}/image: - get: - tags: - - database-endpoint - summary: Get database preview image - description: Gets the database with id on the preview image. - operationId: findPreviewImage - parameters: - - name: databaseId - in: path - required: true - schema: - type: integer - format: int64 - responses: - "404": - description: Database or user could not be found - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "200": - description: View of image was successful - content: - '*/*': - schema: - type: array - items: - type: string - format: byte - security: - - bearerAuth: [] - - basicAuth: [] - put: - tags: - - database-endpoint - summary: Update database preview image - description: Updates the database with id on the preview image. Only the database - owner can perform this operation. Requires role `modify-database-image`. - operationId: modifyImage - parameters: - - name: databaseId - in: path - required: true - schema: - type: integer - format: int64 - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/DatabaseModifyImageDto" - required: true - responses: - "502": - description: Connection to search service failed - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "202": - description: Modify of image was successful - content: - application/json: - schema: - $ref: "#/components/schemas/DatabaseBriefDto" - "410": - description: File was not found in the Storage Service - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "404": - description: Database could not be found - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "503": - description: Failed to save in search service - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "403": - description: Modify of image is not permitted - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - security: - - bearerAuth: [] - - basicAuth: [] - /api/user: - get: - tags: - - user-endpoint - summary: List users - description: "Lists users known to the metadata database. Internal users are\ - \ omitted from the result list. If the optional query parameter `username`\ - \ is present, the result list can be filtered by matching this exact username." - operationId: findAll - parameters: - - name: username - in: query - required: false - schema: - type: string - responses: - "200": - description: List users - content: - application/json: - schema: - type: array - items: - $ref: "#/components/schemas/UserBriefDto" - post: - tags: - - user-endpoint - summary: Create user - description: Creates a user in the auth service and metadata database. Requires - that no credentials are sent in the request. - operationId: create - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/SignupRequestDto" - required: true - responses: - "403": - description: Internal authentication to the auth service is invalid - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "400": - description: Parameters are not well-formed (likely email) - content: - application/json: {} - "409": - description: User with username already exists - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "417": - description: User with e-mail already exists - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "503": - description: Failed to create in auth service - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "201": - description: Created user - content: - application/json: - schema: - $ref: "#/components/schemas/UserDto" - "502": - description: Failed to create in auth service - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "404": - description: Default role not found - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - /api/ontology: - get: - tags: - - ontology-endpoint - summary: List ontologies - description: Lists all ontologies known to the metadata database. - operationId: findAll_2 - responses: - "200": - description: List ontologies - content: - application/json: - schema: - type: array - items: - $ref: "#/components/schemas/OntologyBriefDto" - post: - tags: - - ontology-endpoint - summary: Create ontology - description: Creates an ontology in the metadata database. Requires role `create-ontology`. - operationId: create_1 - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/OntologyCreateDto" - required: true - responses: - "201": - description: Registered ontology successfully - content: - application/json: - schema: - $ref: "#/components/schemas/OntologyDto" - security: - - bearerAuth: [] - - basicAuth: [] - /api/message: - get: - tags: - - message-endpoint - summary: List messages - description: "Lists messages known to the metadata database. Messages can be\ - \ filtered be filtered with the optional `active` parameter. If set to *true*,\ - \ only active messages (that is, messages whose end time has not been reached)\ - \ will be returned. Otherwise only inactive messages are returned. If not\ - \ set, active and inactive messages are returned." - operationId: list_2 - parameters: - - name: active - in: query - required: false - schema: - type: boolean - responses: - "200": - description: List messages - content: - application/json: - schema: - type: array - items: - $ref: "#/components/schemas/BannerMessageDto" - post: - tags: - - message-endpoint - summary: Create message - description: Creates a message in the metadata database. Requires role `create-maintenance-message`. - operationId: create_2 - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/BannerMessageCreateDto" - required: true - responses: - "201": - description: Created message - content: - application/json: - schema: - $ref: "#/components/schemas/BannerMessageBriefDto" - security: - - bearerAuth: [] - - basicAuth: [] - /api/image: - get: - tags: - - image-endpoint - summary: List images - description: Lists all container images known to the metadata database. - operationId: findAll_3 - responses: - "200": - description: List images - content: - application/json: - schema: - type: array - items: - $ref: "#/components/schemas/ImageBriefDto" - post: - tags: - - image-endpoint - summary: Create image - description: Creates a container image in the metadata database. Requires role - `create-image`. - operationId: create_3 - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/ImageCreateDto" - required: true - responses: - "409": - description: Image already exists - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "400": - description: Image specification is invalid - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "201": - description: Created image - content: - application/json: - schema: - $ref: "#/components/schemas/ImageDto" - security: - - bearerAuth: [] - - basicAuth: [] - /api/identifier: - get: - tags: - - identifier-endpoint - summary: List identifiers - description: Lists all identifiers known to the metadata database - operationId: findAll_4 - parameters: - - name: dbid - in: query - required: false - schema: - type: integer - format: int64 - - name: qid - in: query - required: false - schema: - type: integer - format: int64 - - name: vid - in: query - required: false - schema: - type: integer - format: int64 - - name: tid - in: query - required: false - schema: - type: integer - format: int64 - - name: Accept - in: header - required: true - schema: - type: string - responses: - "200": - description: Found identifiers successfully - content: - application/json: - schema: - type: array - items: - type: string - application/ld+json: - schema: - type: array - items: - $ref: "#/components/schemas/LdDatasetDto" - "406": - description: "Identifier could not be exported, the requested style is not\ - \ known" - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - post: - tags: - - identifier-endpoint - summary: Create identifier - description: Create an identifier with id to create a draft identifier. Identifiers - can only be created for objects the user has at least *READ* access in the - associated database (requires role `create-identifier`) or for any object - in any database (requires role `create-foreign-identifier`). - operationId: create_4 - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/IdentifierCreateDto" - required: true - responses: - "502": - description: Connection to search service failed - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "201": - description: Drafted identifier - content: - application/json: - schema: - $ref: "#/components/schemas/IdentifierDto" - "404": - description: "Failed to find database, table or view" - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "400": - description: Identifier form contains invalid request data - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "503": - description: Failed to save in search service - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "403": - description: Insufficient access rights or authorities - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - security: - - bearerAuth: [] - - basicAuth: [] - /api/database/{databaseId}/view: - get: - tags: - - view-endpoint - summary: List views - description: Lists views known to the metadata database. - operationId: findAll_5 - parameters: - - name: databaseId - in: path - required: true - schema: - type: integer - format: int64 - responses: - "200": - description: Find views successfully - content: - application/json: - schema: - type: array - items: - $ref: "#/components/schemas/ViewBriefDto" - "404": - description: Database or user could not be found - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - security: - - bearerAuth: [] - - basicAuth: [] - post: - tags: - - view-endpoint - summary: Create view - description: Creates a view. This can only be performed by the database owner. - Requires role `create-database-view`. - operationId: create_6 - parameters: - - name: databaseId - in: path - required: true - schema: - type: integer - format: int64 - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/ViewCreateDto" - required: true - responses: - "423": - description: Create view resulted in an invalid query statement - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "502": - description: Connection to search service failed - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "201": - description: Create view successfully - content: - application/json: - schema: - $ref: "#/components/schemas/ViewBriefDto" - "503": - description: Failed to save in search service - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "403": - description: Credentials missing - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "404": - description: Failed to find database/user in metadata database. - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "400": - description: Create view query is malformed - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - security: - - bearerAuth: [] - - basicAuth: [] - /api/database/{databaseId}/table: - get: - tags: - - table-endpoint - summary: List tables - description: "Lists all tables known to the metadata database. When a database\ - \ has a hidden schema (i.e. when `is_schema_public` is `false`), then the\ - \ user needs to have at least read access and the role `list-tables`." - operationId: list_4 - parameters: - - name: databaseId - in: path - required: true - schema: - type: integer - format: int64 - responses: - "403": - description: List tables not permitted - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "404": - description: Database could not be found - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "200": - description: List tables - content: - application/json: - schema: - type: array - items: - $ref: "#/components/schemas/TableBriefDto" - security: - - bearerAuth: [] - - basicAuth: [] - post: - tags: - - table-endpoint - summary: Create table - description: Creates a table in the database with id. Requires role `create-table`. - operationId: create_7 - parameters: - - name: databaseId - in: path - required: true - schema: - type: integer - format: int64 - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/TableCreateDto" - required: true - responses: - "502": - description: Connection to search service failed - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "403": - description: Create table not permitted - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "201": - description: Created a new table - content: - application/json: - schema: - $ref: "#/components/schemas/TableBriefDto" - "409": - description: Create table conflicts with existing table name - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "404": - description: "Database, container or user could not be found" - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "503": - description: Failed to save in search service - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "400": - description: Create table query is malformed - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - security: - - bearerAuth: [] - - basicAuth: [] - /api/container: - get: - tags: - - container-endpoint - summary: List containers - description: List all containers in the metadata database. - operationId: findAll_6 - parameters: - - name: limit - in: query - required: false - schema: - type: integer - format: int32 - responses: - "200": - description: List containers - content: - application/json: - schema: - type: array - items: - $ref: "#/components/schemas/ContainerBriefDto" - post: - tags: - - container-endpoint - summary: Create container - description: Creates a container in the metadata database. Requires role `create-container`. - operationId: create_9 - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/ContainerCreateDto" - required: true - responses: - "400": - description: Container payload malformed - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "404": - description: Container image or user could not be found - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "409": - description: Container name already exists - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "201": - description: Created a new container - content: - application/json: - schema: - $ref: "#/components/schemas/ContainerDto" - "403": - description: "Create container not permitted, need authority `create-container`" - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - security: - - bearerAuth: [] - - basicAuth: [] - /api/unit: - get: - tags: - - unit-endpoint - summary: List units - description: Lists units known to the metadata database. - operationId: findAll_1 - responses: - "200": - description: Find all semantic units - content: - application/json: - schema: - type: array - items: - $ref: "#/components/schemas/UnitDto" - /api/ontology/{ontologyId}/entity: - get: - tags: - - ontology-endpoint - summary: Find entities - description: Finds semantic entities by label or uri in an ontology with id. - Requires role `execute-semantic-query`. - operationId: find_4 - parameters: - - name: ontologyId - in: path - required: true - schema: - type: integer - format: int64 - - name: label - in: query - required: false - schema: - type: string - - name: uri - in: query - required: false - schema: - type: string - responses: - "400": - description: Filter params are invalid - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "200": - description: Found entities - content: - application/json: - schema: - type: array - items: - $ref: "#/components/schemas/EntityDto" - "404": - description: Could not find ontology - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "422": - description: Ontology does not have rdf or sparql endpoint - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "417": - description: Generated query or uri is malformed - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - security: - - bearerAuth: [] - - basicAuth: [] - /api/oai: - get: - tags: - - metadata-endpoint - summary: Get record - operationId: identify_1_1_1_1 - parameters: - - name: verb - in: query - - name: parameters - in: query - required: true - schema: - $ref: "#/components/schemas/OaiListIdentifiersParameters" - responses: - "200": - description: List containers - content: - text/xml: {} - /api/message/message/{messageId}: - get: - tags: - - message-endpoint - summary: Find message - description: Finds a message with id in the metadata database. - operationId: find_5 - parameters: - - name: messageId - in: path - required: true - schema: - type: integer - format: int64 - responses: - "200": - description: Get messages - content: - application/json: - schema: - $ref: "#/components/schemas/BannerMessageDto" - "404": - description: Could not find message - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - /api/license: - get: - tags: - - license-endpoint - summary: List licenses - description: Lists licenses known to the metadata database. - operationId: list_3 - responses: - "200": - description: List of licenses - content: - application/json: - schema: - type: array - items: - $ref: "#/components/schemas/LicenseDto" - /api/identifier/retrieve: - get: - tags: - - identifier-endpoint - summary: Retrieve PID metadata - description: "Retrieves Persistent Identifier (PID) metadata from external endpoints.\ - \ Supported PIDs are: ORCID, ROR, DOI." - operationId: retrieve - parameters: - - name: url - in: query - required: true - schema: - type: string - responses: - "200": - description: Retrieved metadata from identifier - content: - application/json: - schema: - $ref: "#/components/schemas/IdentifierDto" - "404": - description: Failed to find metadata for identifier - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - /api/database/{databaseId}: - get: - tags: - - database-endpoint - summary: Find database - description: Finds a database with id. - operationId: findById_1 - parameters: - - name: databaseId - in: path - required: true - schema: - type: integer - format: int64 - responses: - "503": - description: Failed to find queue information in broker service - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "502": - description: Connection to the broker service could not be established - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "200": - description: Database found successfully - headers: - X-Username: - description: The authentication username - style: simple - Access-Control-Expose-Headers: - description: Expose custom headers - style: simple - X-Password: - description: The authentication password - style: simple - content: - application/json: - schema: - $ref: "#/components/schemas/DatabaseBriefDto" - "403": - description: Not allowed to view database - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "404": - description: "Database, user or exchange could not be found" - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - security: - - bearerAuth: [] - - basicAuth: [] - /api/database/{databaseId}/table/{tableId}/suggest: - get: - tags: - - table-endpoint - summary: Suggest semantics - description: Suggests semantic concepts for a table. This action can only be - performed by the table owner. Requires role `table-semantic-analyse`. - operationId: analyseTable - parameters: - - name: databaseId - in: path - required: true - schema: - type: integer - format: int64 - - name: tableId - in: path - required: true - schema: - type: integer - format: int64 - responses: - "417": - description: Generated query is malformed - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "422": - description: Ontology does not have rdf or sparql endpoint - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "400": - description: Failed to parse statistic in search service - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "403": - description: Not the table owner. - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "404": - description: Failed to find database/table in metadata database - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "200": - description: Suggested table semantics successfully - content: - application/json: - schema: - type: array - items: - $ref: "#/components/schemas/EntityDto" - security: - - bearerAuth: [] - - basicAuth: [] - /api/database/{databaseId}/table/{tableId}/column/{columnId}/suggest: - get: - tags: - - table-endpoint - summary: Suggest semantics - description: Suggests column semantics. Requires role `table-semantic-analyse`. - operationId: analyseTableColumn - parameters: - - name: databaseId - in: path - required: true - schema: - type: integer - format: int64 - - name: tableId - in: path - required: true - schema: - type: integer - format: int64 - - name: columnId - in: path - required: true - schema: - type: integer - format: int64 - responses: - "400": - description: Generated query is malformed - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "422": - description: Ontology does not have rdf or sparql endpoint - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "200": - description: Suggested table column semantics successfully - content: - application/json: - schema: - type: array - items: - $ref: "#/components/schemas/TableColumnEntityDto" - "404": - description: Failed to find database/table in metadata database - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - security: - - bearerAuth: [] - - basicAuth: [] - /api/container/{containerId}: - get: - tags: - - container-endpoint - summary: Find container - description: Finds a container in the metadata database. - operationId: findById_3 - parameters: - - name: containerId - in: path - required: true - schema: - type: integer - format: int64 - responses: - "200": - description: Found container - content: - application/json: - schema: - $ref: "#/components/schemas/ContainerDto" - "404": - description: Container image could not be found - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - delete: - tags: - - container-endpoint - summary: Delete container - description: Deletes a container in the metadata database. Requires role `delete-container`. - operationId: delete_6 - parameters: - - name: containerId - in: path - required: true - schema: - type: integer - format: int64 - responses: - "404": - description: Container not found - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - "202": - description: Deleted container - "403": - description: "Create container not permitted, need authority `delete-container`" - content: - application/json: - schema: - $ref: "#/components/schemas/ApiErrorDto" - security: - - bearerAuth: [] - - basicAuth: [] - /api/concept: - get: - tags: - - concept-endpoint - summary: List concepts - description: List all semantic concepts known to the metadata database - operationId: findAll_7 - responses: - "200": - description: List concepts - content: - application/json: - schema: - type: array - items: - $ref: "#/components/schemas/ConceptDto" -components: - schemas: - DatabaseBriefDto: - required: - - contact - - id - - internal_name - - is_public - - is_schema_public - - name - - owner_id - type: object - properties: - id: - type: integer - format: int64 - name: - type: string - example: Air Quality - description: - type: string - example: Air Quality - identifiers: - type: array - items: - $ref: "#/components/schemas/IdentifierBriefDto" - contact: - $ref: "#/components/schemas/UserBriefDto" - internal_name: - type: string - example: air_quality - is_public: - type: boolean - example: true - is_schema_public: - type: boolean - example: true - owner_id: - type: string - format: uuid - preview_image: - type: string - IdentifierBriefDto: - required: - - created_by - - database_id - - id - - publication_year - - publisher - - titles - - type - type: object - properties: - id: - type: integer - format: int64 - type: - type: string - enum: - - database - - subset - - table - - view - titles: - type: array - items: - $ref: "#/components/schemas/IdentifierTitleDto" - doi: - type: string - example: 10.1038/nphys1170 - publisher: - type: string - example: TU Wien - status: - type: string - enum: - - draft - - published - database_id: - type: integer - format: int64 - example: 1 - query_id: - type: integer - format: int64 - example: 1 - table_id: - type: integer - format: int64 - example: 1 - view_id: - type: integer - format: int64 - example: 1 - publication_year: - type: integer - format: int32 - example: 2022 - created_by: - type: string - format: uuid - IdentifierTitleDto: - required: - - id - type: object - properties: - id: - type: integer - format: int64 - title: - type: string - example: Airquality Demonstrator - language: - type: string - example: en - enum: - - ab - - aa - - af - - ak - - sq - - am - - ar - - an - - hy - - as - - av - - ae - - ay - - az - - bm - - ba - - eu - - be - - bn - - bh - - bi - - bs - - br - - bg - - my - - ca - - km - - ch - - ce - - ny - - zh - - cu - - cv - - kw - - co - - cr - - hr - - cs - - da - - dv - - nl - - dz - - en - - eo - - et - - ee - - fo - - fj - - fi - - fr - - ff - - gd - - gl - - lg - - ka - - de - - ki - - el - - kl - - gn - - gu - - ht - - ha - - he - - hz - - hi - - ho - - hu - - is - - io - - ig - - id - - ia - - ie - - iu - - ik - - ga - - it - - ja - - jv - - kn - - kr - - ks - - kk - - rw - - kv - - kg - - ko - - kj - - ku - - ky - - lo - - la - - lv - - lb - - li - - ln - - lt - - lu - - mk - - mg - - ms - - ml - - mt - - gv - - mi - - mr - - mh - - ro - - mn - - na - - nv - - nd - - ng - - ne - - se - - "no" - - nb - - nn - - ii - - oc - - oj - - or - - om - - os - - pi - - pa - - ps - - fa - - pl - - pt - - qu - - rm - - rn - - ru - - sm - - sg - - sa - - sc - - sr - - sn - - sd - - si - - sk - - sl - - so - - st - - nr - - es - - su - - sw - - ss - - sv - - tl - - ty - - tg - - ta - - tt - - te - - th - - bo - - ti - - to - - ts - - tn - - tr - - tk - - tw - - ug - - uk - - ur - - uz - - ve - - vi - - vo - - wa - - cy - - fy - - wo - - xh - - yi - - yo - - za - - zu - type: - type: string - enum: - - AlternativeTitle - - Subtitle - - TranslatedTitle - - Other - UserBriefDto: - required: - - id - - username - type: object - properties: - id: - type: string - format: uuid - example: 1ffc7b0e-9aeb-4e8b-b8f1-68f3936155b4 - username: - type: string - description: Only contains lowercase characters - example: jcarberry - name: - type: string - example: Josiah Carberry - orcid: - type: string - example: 0000-0002-1825-0097 - qualified_name: - type: string - example: Josiah Carberry — @jcarberry - given_name: - type: string - example: Josiah - family_name: - type: string - example: Carberry - ApiErrorDto: - required: - - code - - message - - status - type: object - properties: - status: - type: string - example: NOT_FOUND - enum: - - 100 CONTINUE - - 101 SWITCHING_PROTOCOLS - - 102 PROCESSING - - 103 EARLY_HINTS - - 103 CHECKPOINT - - 200 OK - - 201 CREATED - - 202 ACCEPTED - - 203 NON_AUTHORITATIVE_INFORMATION - - 204 NO_CONTENT - - 205 RESET_CONTENT - - 206 PARTIAL_CONTENT - - 207 MULTI_STATUS - - 208 ALREADY_REPORTED - - 226 IM_USED - - 300 MULTIPLE_CHOICES - - 301 MOVED_PERMANENTLY - - 302 FOUND - - 302 MOVED_TEMPORARILY - - 303 SEE_OTHER - - 304 NOT_MODIFIED - - 305 USE_PROXY - - 307 TEMPORARY_REDIRECT - - 308 PERMANENT_REDIRECT - - 400 BAD_REQUEST - - 401 UNAUTHORIZED - - 402 PAYMENT_REQUIRED - - 403 FORBIDDEN - - 404 NOT_FOUND - - 405 METHOD_NOT_ALLOWED - - 406 NOT_ACCEPTABLE - - 407 PROXY_AUTHENTICATION_REQUIRED - - 408 REQUEST_TIMEOUT - - 409 CONFLICT - - 410 GONE - - 411 LENGTH_REQUIRED - - 412 PRECONDITION_FAILED - - 413 PAYLOAD_TOO_LARGE - - 413 REQUEST_ENTITY_TOO_LARGE - - 414 URI_TOO_LONG - - 414 REQUEST_URI_TOO_LONG - - 415 UNSUPPORTED_MEDIA_TYPE - - 416 REQUESTED_RANGE_NOT_SATISFIABLE - - 417 EXPECTATION_FAILED - - 418 I_AM_A_TEAPOT - - 419 INSUFFICIENT_SPACE_ON_RESOURCE - - 420 METHOD_FAILURE - - 421 DESTINATION_LOCKED - - 422 UNPROCESSABLE_ENTITY - - 423 LOCKED - - 424 FAILED_DEPENDENCY - - 425 TOO_EARLY - - 426 UPGRADE_REQUIRED - - 428 PRECONDITION_REQUIRED - - 429 TOO_MANY_REQUESTS - - 431 REQUEST_HEADER_FIELDS_TOO_LARGE - - 451 UNAVAILABLE_FOR_LEGAL_REASONS - - 500 INTERNAL_SERVER_ERROR - - 501 NOT_IMPLEMENTED - - 502 BAD_GATEWAY - - 503 SERVICE_UNAVAILABLE - - 504 GATEWAY_TIMEOUT - - 505 HTTP_VERSION_NOT_SUPPORTED - - 506 VARIANT_ALSO_NEGOTIATES - - 507 INSUFFICIENT_STORAGE - - 508 LOOP_DETECTED - - 509 BANDWIDTH_LIMIT_EXCEEDED - - 510 NOT_EXTENDED - - 511 NETWORK_AUTHENTICATION_REQUIRED - message: - type: string - example: Error message - code: - type: string - example: error.service.code - DatabaseAccessDto: - required: - - type - - user - type: object - properties: - user: - $ref: "#/components/schemas/UserBriefDto" - type: - type: string - enum: - - read - - write_own - - write_all - UserUpdateDto: - required: - - language - - theme - type: object - properties: - firstname: - type: string - example: Josiah - lastname: - type: string - example: Carberry - affiliation: - type: string - example: Brown University - orcid: - type: string - example: 0000-0002-1825-0097 - theme: - type: string - example: dark - language: - type: string - example: en - UserAttributesDto: - required: - - language - - theme - type: object - properties: - theme: - type: string - example: light - orcid: - type: string - example: https://orcid.org/0000-0002-1825-0097 - affiliation: - type: string - example: Brown University - language: - type: string - example: en - UserDto: - required: - - attributes - - id - type: object - properties: - id: - type: string - format: uuid - example: 1ffc7b0e-9aeb-4e8b-b8f1-68f3936155b4 - name: - type: string - example: Josiah Carberry - attributes: - $ref: "#/components/schemas/UserAttributesDto" - last_retrieved: - type: string - format: date-time - qualified_name: - type: string - example: Josiah Carberry — @jcarberry - given_name: - type: string - example: Josiah - family_name: - type: string - example: Carberry - UserPasswordDto: - required: - - password - type: object - properties: - password: - type: string - RefreshTokenRequestDto: - required: - - refresh_token - type: object - properties: - refresh_token: - type: string - example: refresh_token - TokenDto: - required: - - access_token - - expires_in - - id_token - - not-before-policy - - refresh_expires_in - - refresh_token - - scope - - session_state - - token_type - type: object - properties: - scope: - type: string - access_token: - type: string - expires_in: - type: integer - format: int64 - refresh_token: - type: string - refresh_expires_in: - type: integer - format: int64 - id_token: - type: string - session_state: - type: string - token_type: - type: string - not-before-policy: - type: integer - format: int64 - OntologyModifyDto: - required: - - prefix - - uri - type: object - properties: - uri: - type: string - example: Ontology URI - prefix: - type: string - example: Ontology prefix - sparql_endpoint: - type: string - example: Ontology SPARQL endpoint - rdf_path: - type: string - example: rdf/om-2.0.rdf - OntologyDto: - required: - - id - - prefix - - rdf - - sparql - - uri - type: object - properties: - id: - type: integer - format: int64 - uri: - type: string - example: http://www.wikidata.org/ - prefix: - type: string - example: wd - sparql: - type: boolean - example: true - rdf: - type: boolean - example: false - uri_pattern: - type: string - example: http://www.wikidata.org/entity/.* - sparql_endpoint: - type: string - example: https://query.wikidata.org/sparql - rdf_path: - type: string - example: rdf/om-2.0.rdf - BannerMessageUpdateDto: - required: - - message - - type - type: object - properties: - type: - type: string - enum: - - error - - warning - - info - message: - type: string - example: Maintenance starts on 8am on Monday - link: - type: string - example: https://example.com - link_text: - type: string - example: More - display_start: - type: string - format: date-time - example: 2021-03-12T15:26:21Z - display_end: - type: string - format: date-time - example: 2021-03-12T15:26:21Z - BannerMessageBriefDto: - required: - - message - - type - type: object - properties: - type: - type: string - enum: - - error - - warning - - info - message: - type: string - example: Maintenance starts on 8am on Monday - link: - type: string - example: https://example.com - link_text: - type: string - example: More - ImageChangeDto: - required: - - dialect - - driver_class - - jdbc_method - - registry - type: object - properties: - registry: - type: string - example: docker.io/library - defaultPort: - maximum: 65535 - minimum: 1024 - type: integer - format: int32 - example: 5432 - dialect: - type: string - example: Postgres - driver_class: - type: string - example: org.postgresql.Driver - jdbc_method: - type: string - example: postgresql - DataTypeDto: - required: - - display_name - - documentation - - is_buildable - - is_quoted - - value - type: object - properties: - value: - type: string - example: time - documentation: - type: string - example: https://mariadb.com/kb/en/time/ - display_name: - type: string - example: TIME(fsp) - size_min: - type: integer - format: int32 - example: 0 - size_max: - type: integer - format: int32 - example: 6 - size_default: - type: integer - format: int32 - example: 0 - size_required: - type: boolean - example: false - d_min: - type: integer - format: int32 - d_max: - type: integer - format: int32 - d_default: - type: integer - format: int32 - d_required: - type: boolean - data_hint: - type: string - example: "e.g. HH:MM:SS, HH:MM, HHMMSS, H:M:S" - type_hint: - type: string - example: "fsp=microsecond precision, min. 0, max. 6" - is_quoted: - type: boolean - description: frontend needs to quote this data type - example: false - is_buildable: - type: boolean - description: frontend can build this data type - example: true - ImageDto: - required: - - data_types - - default - - default_port - - dialect - - driver_class - - id - - jdbc_method - - name - - operators - - registry - - version - type: object - properties: - id: - type: integer - format: int64 - registry: - type: string - example: docker.io/library - name: - type: string - example: mariadb - version: - type: string - example: "10.5" - dialect: - type: string - example: org.hibernate.dialect.MariaDBDialect - operators: - type: array - items: - $ref: "#/components/schemas/OperatorDto" - driver_class: - type: string - example: org.mariadb.jdbc.Driver - jdbc_method: - type: string - example: mariadb - default: - type: boolean - example: false - default_port: - type: integer - format: int32 - example: 3306 - data_types: - type: array - items: - $ref: "#/components/schemas/DataTypeDto" - OperatorDto: - required: - - display_name - - documentation - - value - type: object - properties: - id: - type: integer - format: int64 - value: - type: string - example: XOR - documentation: - type: string - example: https://mariadb.com/kb/en/xor/ - display_name: - type: string - example: XOR - CreatorSaveDto: - required: - - creator_name - - id - type: object - properties: - id: - type: integer - format: int64 - example: 1 - firstname: - type: string - example: Josiah - lastname: - type: string - example: Carberry - affiliation: - type: string - example: Wesleyan University - creator_name: - type: string - example: "Carberry, Josiah" - name_type: - type: string - example: Personal - enum: - - Personal - - Organizational - name_identifier: - type: string - example: 0000-0002-1825-0097 - name_identifier_scheme: - type: string - example: ORCID - enum: - - ORCID - - ROR - - ISNI - - GRID - affiliation_identifier: - type: string - example: https://ror.org/04d836q62 - affiliation_identifier_scheme: - type: string - example: ROR - enum: - - ROR - - GRID - - ISNI - IdentifierFunderSaveDto: - required: - - funder_name - - id - type: object - properties: - id: - type: integer - format: int64 - example: 1 - funder_name: - type: string - example: European Commission - funder_identifier: - type: string - example: http://doi.org/10.13039/501100000780 - funder_identifier_type: - type: string - example: Crossref Funder ID - enum: - - Crossref Funder ID - - ROR - - GND - - ISNI - - Other - scheme_uri: - type: string - example: http://doi.org/ - award_number: - type: string - example: "824087" - award_title: - type: string - example: EOSC-Life - IdentifierSaveDescriptionDto: - required: - - description - - id - type: object - properties: - id: - type: integer - format: int64 - example: 1 - description: - type: string - example: "Air quality reports at Stephansplatz, Vienna" - language: - type: string - example: en - enum: - - ab - - aa - - af - - ak - - sq - - am - - ar - - an - - hy - - as - - av - - ae - - ay - - az - - bm - - ba - - eu - - be - - bn - - bh - - bi - - bs - - br - - bg - - my - - ca - - km - - ch - - ce - - ny - - zh - - cu - - cv - - kw - - co - - cr - - hr - - cs - - da - - dv - - nl - - dz - - en - - eo - - et - - ee - - fo - - fj - - fi - - fr - - ff - - gd - - gl - - lg - - ka - - de - - ki - - el - - kl - - gn - - gu - - ht - - ha - - he - - hz - - hi - - ho - - hu - - is - - io - - ig - - id - - ia - - ie - - iu - - ik - - ga - - it - - ja - - jv - - kn - - kr - - ks - - kk - - rw - - kv - - kg - - ko - - kj - - ku - - ky - - lo - - la - - lv - - lb - - li - - ln - - lt - - lu - - mk - - mg - - ms - - ml - - mt - - gv - - mi - - mr - - mh - - ro - - mn - - na - - nv - - nd - - ng - - ne - - se - - "no" - - nb - - nn - - ii - - oc - - oj - - or - - om - - os - - pi - - pa - - ps - - fa - - pl - - pt - - qu - - rm - - rn - - ru - - sm - - sg - - sa - - sc - - sr - - sn - - sd - - si - - sk - - sl - - so - - st - - nr - - es - - su - - sw - - ss - - sv - - tl - - ty - - tg - - ta - - tt - - te - - th - - bo - - ti - - to - - ts - - tn - - tr - - tk - - tw - - ug - - uk - - ur - - uz - - ve - - vi - - vo - - wa - - cy - - fy - - wo - - xh - - yi - - yo - - za - - zu - type: - type: string - example: Abstract - enum: - - Abstract - - Methods - - SeriesInformation - - TableOfContents - - TechnicalInfo - - Other - IdentifierSaveDto: - required: - - creators - - database_id - - id - - publication_year - - publisher - - titles - - type - type: object - properties: - id: - type: integer - format: int64 - example: 1 - type: - type: string - example: database - enum: - - database - - subset - - table - - view - doi: - type: string - example: 10.1111/11111111 - titles: - type: array - items: - $ref: "#/components/schemas/IdentifierSaveTitleDto" - descriptions: - type: array - items: - $ref: "#/components/schemas/IdentifierSaveDescriptionDto" - funders: - type: array - items: - $ref: "#/components/schemas/IdentifierFunderSaveDto" - licenses: - type: array - items: - $ref: "#/components/schemas/LicenseDto" - publisher: - type: string - example: TU Wien - language: - type: string - enum: - - ab - - aa - - af - - ak - - sq - - am - - ar - - an - - hy - - as - - av - - ae - - ay - - az - - bm - - ba - - eu - - be - - bn - - bh - - bi - - bs - - br - - bg - - my - - ca - - km - - ch - - ce - - ny - - zh - - cu - - cv - - kw - - co - - cr - - hr - - cs - - da - - dv - - nl - - dz - - en - - eo - - et - - ee - - fo - - fj - - fi - - fr - - ff - - gd - - gl - - lg - - ka - - de - - ki - - el - - kl - - gn - - gu - - ht - - ha - - he - - hz - - hi - - ho - - hu - - is - - io - - ig - - id - - ia - - ie - - iu - - ik - - ga - - it - - ja - - jv - - kn - - kr - - ks - - kk - - rw - - kv - - kg - - ko - - kj - - ku - - ky - - lo - - la - - lv - - lb - - li - - ln - - lt - - lu - - mk - - mg - - ms - - ml - - mt - - gv - - mi - - mr - - mh - - ro - - mn - - na - - nv - - nd - - ng - - ne - - se - - "no" - - nb - - nn - - ii - - oc - - oj - - or - - om - - os - - pi - - pa - - ps - - fa - - pl - - pt - - qu - - rm - - rn - - ru - - sm - - sg - - sa - - sc - - sr - - sn - - sd - - si - - sk - - sl - - so - - st - - nr - - es - - su - - sw - - ss - - sv - - tl - - ty - - tg - - ta - - tt - - te - - th - - bo - - ti - - to - - ts - - tn - - tr - - tk - - tw - - ug - - uk - - ur - - uz - - ve - - vi - - vo - - wa - - cy - - fy - - wo - - xh - - yi - - yo - - za - - zu - creators: - type: array - items: - $ref: "#/components/schemas/CreatorSaveDto" - database_id: - type: integer - format: int64 - example: 1 - query_id: - type: integer - format: int64 - view_id: - type: integer - format: int64 - table_id: - type: integer - format: int64 - publication_day: - type: integer - format: int32 - example: 15 - publication_month: - type: integer - format: int32 - example: 12 - publication_year: - type: integer - format: int32 - example: 2022 - related_identifiers: - type: array - items: - $ref: "#/components/schemas/RelatedIdentifierSaveDto" - IdentifierSaveTitleDto: - required: - - id - - title - type: object - properties: - id: - type: integer - format: int64 - example: 1 - title: - type: string - example: Airquality Demonstrator - language: - type: string - example: en - enum: - - ab - - aa - - af - - ak - - sq - - am - - ar - - an - - hy - - as - - av - - ae - - ay - - az - - bm - - ba - - eu - - be - - bn - - bh - - bi - - bs - - br - - bg - - my - - ca - - km - - ch - - ce - - ny - - zh - - cu - - cv - - kw - - co - - cr - - hr - - cs - - da - - dv - - nl - - dz - - en - - eo - - et - - ee - - fo - - fj - - fi - - fr - - ff - - gd - - gl - - lg - - ka - - de - - ki - - el - - kl - - gn - - gu - - ht - - ha - - he - - hz - - hi - - ho - - hu - - is - - io - - ig - - id - - ia - - ie - - iu - - ik - - ga - - it - - ja - - jv - - kn - - kr - - ks - - kk - - rw - - kv - - kg - - ko - - kj - - ku - - ky - - lo - - la - - lv - - lb - - li - - ln - - lt - - lu - - mk - - mg - - ms - - ml - - mt - - gv - - mi - - mr - - mh - - ro - - mn - - na - - nv - - nd - - ng - - ne - - se - - "no" - - nb - - nn - - ii - - oc - - oj - - or - - om - - os - - pi - - pa - - ps - - fa - - pl - - pt - - qu - - rm - - rn - - ru - - sm - - sg - - sa - - sc - - sr - - sn - - sd - - si - - sk - - sl - - so - - st - - nr - - es - - su - - sw - - ss - - sv - - tl - - ty - - tg - - ta - - tt - - te - - th - - bo - - ti - - to - - ts - - tn - - tr - - tk - - tw - - ug - - uk - - ur - - uz - - ve - - vi - - vo - - wa - - cy - - fy - - wo - - xh - - yi - - yo - - za - - zu - type: - type: string - example: Subtitle - enum: - - AlternativeTitle - - Subtitle - - TranslatedTitle - - Other - LicenseDto: - required: - - identifier - - uri - type: object - properties: - identifier: - type: string - example: MIT - uri: - type: string - example: https://opensource.org/licenses/MIT - description: - type: string - example: "A short and simple permissive license with conditions only requiring\ - \ preservation of copyright and license notices. Licensed works, modifications,\ - \ and larger works may be distributed under different terms and without\ - \ source code." - RelatedIdentifierSaveDto: - required: - - id - - relation - - type - - value - type: object - properties: - id: - type: integer - format: int64 - example: 1 - value: - type: string - example: 10.70124/dc4zh-9ce78 - type: - type: string - example: DOI - enum: - - DOI - - URL - - URN - - ARK - - arXiv - - bibcode - - EAN13 - - EISSN - - Handle - - IGSN - - ISBN - - ISTC - - LISSN - - LSID - - PMID - - PURL - - UPC - - w3id - relation: - type: string - example: Cites - enum: - - IsCitedBy - - Cites - - IsSupplementTo - - IsSupplementedBy - - IsContinuedBy - - Continues - - IsDescribedBy - - Describes - - HasMetadata - - IsMetadataFor - - HasVersion - - IsVersionOf - - IsNewVersionOf - - IsPreviousVersionOf - - IsPartOf - - HasPart - - IsPublishedIn - - IsReferencedBy - - References - - IsDocumentedBy - - Documents - - IsCompiledBy - - Compiles - - IsVariantFormOf - - IsOriginalFormOf - - IsIdenticalTo - - IsReviewedBy - - Reviews - - IsDerivedFrom - - IsSourceOf - - IsRequiredBy - - Requires - - IsObsoletedBy - - Obsoletes - CreatorDto: - required: - - creator_name - - id - type: object - properties: - id: - type: integer - format: int64 - firstname: - type: string - example: Josiah - lastname: - type: string - example: Carberry - affiliation: - type: string - example: Brown University - creator_name: - type: string - example: "Carberry, Josiah" - name_type: - type: string - example: Personal - enum: - - Personal - - Organizational - name_identifier: - type: string - example: 0000-0002-1825-0097 - name_identifier_scheme: - type: string - example: ORCID - enum: - - ORCID - - ROR - - ISNI - - GRID - name_identifier_scheme_uri: - type: string - example: https://orcid.org/ - affiliation_identifier: - type: string - example: https://ror.org/05gq02987 - affiliation_identifier_scheme: - type: string - example: ROR - enum: - - ROR - - GRID - - ISNI - affiliation_identifier_scheme_uri: - type: string - example: https://ror.org/ - IdentifierDescriptionDto: - required: - - id - type: object - properties: - id: - type: integer - format: int64 - description: - type: string - example: "Air quality reports at Stephansplatz, Vienna" - language: - type: string - example: en - enum: - - ab - - aa - - af - - ak - - sq - - am - - ar - - an - - hy - - as - - av - - ae - - ay - - az - - bm - - ba - - eu - - be - - bn - - bh - - bi - - bs - - br - - bg - - my - - ca - - km - - ch - - ce - - ny - - zh - - cu - - cv - - kw - - co - - cr - - hr - - cs - - da - - dv - - nl - - dz - - en - - eo - - et - - ee - - fo - - fj - - fi - - fr - - ff - - gd - - gl - - lg - - ka - - de - - ki - - el - - kl - - gn - - gu - - ht - - ha - - he - - hz - - hi - - ho - - hu - - is - - io - - ig - - id - - ia - - ie - - iu - - ik - - ga - - it - - ja - - jv - - kn - - kr - - ks - - kk - - rw - - kv - - kg - - ko - - kj - - ku - - ky - - lo - - la - - lv - - lb - - li - - ln - - lt - - lu - - mk - - mg - - ms - - ml - - mt - - gv - - mi - - mr - - mh - - ro - - mn - - na - - nv - - nd - - ng - - ne - - se - - "no" - - nb - - nn - - ii - - oc - - oj - - or - - om - - os - - pi - - pa - - ps - - fa - - pl - - pt - - qu - - rm - - rn - - ru - - sm - - sg - - sa - - sc - - sr - - sn - - sd - - si - - sk - - sl - - so - - st - - nr - - es - - su - - sw - - ss - - sv - - tl - - ty - - tg - - ta - - tt - - te - - th - - bo - - ti - - to - - ts - - tn - - tr - - tk - - tw - - ug - - uk - - ur - - uz - - ve - - vi - - vo - - wa - - cy - - fy - - wo - - xh - - yi - - yo - - za - - zu - type: - type: string - example: Abstract - enum: - - Abstract - - Methods - - SeriesInformation - - TableOfContents - - TechnicalInfo - - Other - IdentifierDto: - required: - - creators - - database_id - - id - - owner - - publication_year - - publisher - - query - - query_hash - - query_normalized - - titles - - type - type: object - properties: - id: - type: integer - format: int64 - type: - type: string - enum: - - database - - subset - - table - - view - titles: - type: array - items: - $ref: "#/components/schemas/IdentifierTitleDto" - descriptions: - type: array - items: - $ref: "#/components/schemas/IdentifierDescriptionDto" - funders: - type: array - items: - $ref: "#/components/schemas/IdentifierFunderDto" - query: - type: string - example: "SELECT `id`, `value`, `location` FROM `air_quality` WHERE `location`\ - \ = \"09:STEF\"" - execution: - type: string - format: date-time - example: 2021-03-12T15:26:21Z - doi: - type: string - example: 10.1038/nphys1170 - publisher: - type: string - example: TU Wien - owner: - $ref: "#/components/schemas/UserBriefDto" - language: - type: string - enum: - - ab - - aa - - af - - ak - - sq - - am - - ar - - an - - hy - - as - - av - - ae - - ay - - az - - bm - - ba - - eu - - be - - bn - - bh - - bi - - bs - - br - - bg - - my - - ca - - km - - ch - - ce - - ny - - zh - - cu - - cv - - kw - - co - - cr - - hr - - cs - - da - - dv - - nl - - dz - - en - - eo - - et - - ee - - fo - - fj - - fi - - fr - - ff - - gd - - gl - - lg - - ka - - de - - ki - - el - - kl - - gn - - gu - - ht - - ha - - he - - hz - - hi - - ho - - hu - - is - - io - - ig - - id - - ia - - ie - - iu - - ik - - ga - - it - - ja - - jv - - kn - - kr - - ks - - kk - - rw - - kv - - kg - - ko - - kj - - ku - - ky - - lo - - la - - lv - - lb - - li - - ln - - lt - - lu - - mk - - mg - - ms - - ml - - mt - - gv - - mi - - mr - - mh - - ro - - mn - - na - - nv - - nd - - ng - - ne - - se - - "no" - - nb - - nn - - ii - - oc - - oj - - or - - om - - os - - pi - - pa - - ps - - fa - - pl - - pt - - qu - - rm - - rn - - ru - - sm - - sg - - sa - - sc - - sr - - sn - - sd - - si - - sk - - sl - - so - - st - - nr - - es - - su - - sw - - ss - - sv - - tl - - ty - - tg - - ta - - tt - - te - - th - - bo - - ti - - to - - ts - - tn - - tr - - tk - - tw - - ug - - uk - - ur - - uz - - ve - - vi - - vo - - wa - - cy - - fy - - wo - - xh - - yi - - yo - - za - - zu - licenses: - type: array - items: - $ref: "#/components/schemas/LicenseDto" - creators: - type: array - items: - $ref: "#/components/schemas/CreatorDto" - status: - type: string - enum: - - draft - - published - database_id: - type: integer - format: int64 - example: 1 - query_id: - type: integer - format: int64 - example: 1 - table_id: - type: integer - format: int64 - example: 1 - view_id: - type: integer - format: int64 - example: 1 - query_normalized: - type: string - example: "SELECT `id`, `value`, `location` FROM `air_quality` WHERE `location`\ - \ = \"09:STEF\"" - related_identifiers: - type: array - items: - $ref: "#/components/schemas/RelatedIdentifierDto" - query_hash: - type: string - description: query hash in sha512 - result_hash: - type: string - example: 34fe82cda2c53f13f8d90cfd7a3469e3a939ff311add50dce30d9136397bf8e5 - result_number: - type: integer - format: int64 - example: 1 - publication_day: - type: integer - format: int32 - example: 15 - publication_month: - type: integer - format: int32 - example: 12 - publication_year: - type: integer - format: int32 - example: 2022 - IdentifierFunderDto: - required: - - funder_name - - id - type: object - properties: - id: - type: integer - format: int64 - funder_name: - type: string - example: European Commission - funder_identifier: - type: string - example: http://doi.org/10.13039/501100000780 - funder_identifier_type: - type: string - example: Crossref Funder ID - enum: - - Crossref Funder ID - - ROR - - GND - - ISNI - - Other - scheme_uri: - type: string - example: http://doi.org/ - award_number: - type: string - example: "824087" - award_title: - type: string - example: EOSC-Life - RelatedIdentifierDto: - required: - - id - - relation - - type - - value - type: object - properties: - id: - type: integer - format: int64 - value: - type: string - example: 10.70124/dc4zh-9ce78 - type: - type: string - example: DOI - enum: - - DOI - - URL - - URN - - ARK - - arXiv - - bibcode - - EAN13 - - EISSN - - Handle - - IGSN - - ISBN - - ISTC - - LISSN - - LSID - - PMID - - PURL - - UPC - - w3id - relation: - type: string - example: Cites - enum: - - IsCitedBy - - Cites - - IsSupplementTo - - IsSupplementedBy - - IsContinuedBy - - Continues - - IsDescribedBy - - Describes - - HasMetadata - - IsMetadataFor - - HasVersion - - IsVersionOf - - IsNewVersionOf - - IsPreviousVersionOf - - IsPartOf - - HasPart - - IsPublishedIn - - IsReferencedBy - - References - - IsDocumentedBy - - Documents - - IsCompiledBy - - Compiles - - IsVariantFormOf - - IsOriginalFormOf - - IsIdenticalTo - - IsReviewedBy - - Reviews - - IsDerivedFrom - - IsSourceOf - - IsRequiredBy - - Requires - - IsObsoletedBy - - Obsoletes - DatabaseModifyVisibilityDto: - required: - - is_public - - is_schema_public - type: object - properties: - is_public: - type: boolean - example: true - is_schema_public: - type: boolean - example: true - ViewUpdateDto: - required: - - is_public - - is_schema_public - type: object - properties: - is_public: - type: boolean - example: true - is_schema_public: - type: boolean - example: true - ViewColumnDto: - required: - - auto_generated - - database_id - - id - - internal_name - - is_null_allowed - - name - - ord - - type - type: object - properties: - id: - type: integer - format: int64 - name: - maxLength: 64 - minLength: 0 - type: string - example: Date - size: - type: integer - format: int64 - example: 255 - d: - type: integer - format: int64 - example: 0 - description: - maxLength: 2048 - minLength: 0 - type: string - example: Column comment - database_id: - type: integer - format: int64 - ord: - type: integer - format: int32 - example: 0 - internal_name: - maxLength: 64 - minLength: 0 - type: string - example: mdb_date - auto_generated: - type: boolean - example: false - index_length: - type: integer - format: int64 - length: - type: integer - format: int64 - type: - type: string - example: string - enum: - - char - - varchar - - binary - - varbinary - - tinyblob - - tinytext - - text - - blob - - mediumtext - - mediumblob - - longtext - - longblob - - enum - - set - - serial - - bit - - tinyint - - bool - - smallint - - mediumint - - int - - bigint - - float - - double - - decimal - - date - - datetime - - timestamp - - time - - year - is_null_allowed: - type: boolean - example: false - ViewDto: - required: - - columns - - database_id - - id - - internal_name - - name - - owner - - query - - query_hash - type: object - properties: - id: - type: integer - format: int64 - name: - type: string - example: Air Quality - identifiers: - type: array - items: - $ref: "#/components/schemas/IdentifierDto" - query: - type: string - example: SELECT `id` FROM `air_quality` ORDER BY `value` DESC - owner: - $ref: "#/components/schemas/UserBriefDto" - columns: - type: array - items: - $ref: "#/components/schemas/ViewColumnDto" - last_retrieved: - type: string - format: date-time - database_id: - type: integer - format: int64 - internal_name: - type: string - example: air_quality - is_public: - type: boolean - example: true - is_schema_public: - type: boolean - example: true - initial_view: - type: boolean - description: True if it is the default view for the database - example: true - query_hash: - type: string - example: 7de03e818900b6ea6d58ad0306d4a741d658c6df3d1964e89ed2395d8c7e7916 - TableUpdateDto: - required: - - is_public - - is_schema_public - type: object - properties: - description: - maxLength: 180 - minLength: 0 - type: string - example: Air Quality in Austria - is_public: - type: boolean - example: true - is_schema_public: - type: boolean - example: true - TableBriefDto: - required: - - database_id - - id - - internal_name - - is_public - - is_schema_public - - is_versioned - - name - - owned_by - type: object - properties: - id: - type: integer - format: int64 - name: - type: string - example: Air Quality - description: - type: string - example: Air Quality in Austria - database_id: - type: integer - format: int64 - internal_name: - type: string - example: air_quality - is_versioned: - type: boolean - example: true - is_public: - type: boolean - example: true - is_schema_public: - type: boolean - example: true - owned_by: - type: string - format: uuid - ColumnSemanticsUpdateDto: - type: object - properties: - concept_uri: - type: string - unit_uri: - type: string - ColumnDto: - required: - - database_id - - id - - internal_name - - is_null_allowed - - name - - ord - - table_id - - type - type: object - properties: - id: - type: integer - format: int64 - example: 1 - name: - maxLength: 64 - minLength: 0 - type: string - example: Given Name - alias: - type: string - example: firstname - size: - type: integer - format: int64 - example: 255 - d: - type: integer - format: int64 - example: 0 - mean: - type: number - example: 45.4 - median: - type: number - example: 51 - concept: - $ref: "#/components/schemas/ConceptBriefDto" - unit: - $ref: "#/components/schemas/UnitBriefDto" - description: - maxLength: 2048 - minLength: 0 - type: string - example: Column comment - enums: - type: array - items: - type: string - sets: - type: array - items: - type: string - database_id: - type: integer - format: int64 - example: 2 - table_id: - type: integer - format: int64 - example: 3 - ord: - type: integer - format: int32 - example: 0 - internal_name: - maxLength: 64 - minLength: 0 - type: string - example: given_name - index_length: - type: integer - format: int64 - example: 255 - length: - type: integer - format: int64 - example: 255 - type: - type: string - example: varchar - enum: - - char - - varchar - - binary - - varbinary - - tinyblob - - tinytext - - text - - blob - - mediumtext - - mediumblob - - longtext - - longblob - - enum - - set - - serial - - bit - - tinyint - - bool - - smallint - - mediumint - - int - - bigint - - float - - double - - decimal - - date - - datetime - - timestamp - - time - - year - data_length: - type: integer - format: int64 - example: 34300 - max_data_length: - type: integer - format: int64 - example: 34300 - num_rows: - type: integer - format: int64 - example: 32 - val_min: - type: number - example: 0 - val_max: - type: number - example: 100 - std_dev: - type: number - example: 5.32 - is_null_allowed: - type: boolean - example: false - ConceptBriefDto: - required: - - id - - uri - type: object - properties: - id: - type: integer - format: int64 - example: 23 - uri: - type: string - example: http://www.wikidata.org/entity/Q202444 - name: - type: string - example: given name - description: - type: string - example: "name typically used to differentiate people from the same family,\ - \ clan, or other social group who have a common last name" - UnitBriefDto: - required: - - id - - uri - type: object - properties: - id: - type: integer - format: int64 - example: 34 - uri: - type: string - example: http://www.wikidata.org/entity/Q1422583 - name: - type: string - example: importance - description: - type: string - example: "subjective magnitude of value, meaning, or purpose" - DatabaseTransferDto: - required: - - id - type: object - properties: - id: - type: string - format: uuid - DatabaseModifyImageDto: - type: object - properties: - key: - type: string - UpdateDatabaseAccessDto: - required: - - type - type: object - properties: - type: - type: string - enum: - - read - - write_own - - write_all - SignupRequestDto: - required: - - email - - password - - username - type: object - properties: - username: - pattern: "^[a-z0-9]{3,}$" - type: string - example: user - email: - type: string - example: user@example.com - password: - type: string - LoginRequestDto: - required: - - password - - username - type: object - properties: - username: - type: string - example: user - password: - type: string - OntologyCreateDto: - required: - - prefix - - uri - type: object - properties: - uri: - type: string - example: Ontology URI - prefix: - type: string - example: Ontology prefix - sparql_endpoint: - type: string - example: Ontology SPARQL endpoint - BannerMessageCreateDto: - required: - - message - - type - type: object - properties: - type: - type: string - enum: - - error - - warning - - info - message: - type: string - example: Maintenance starts on 8am on Monday - link: - type: string - example: https://example.com - link_text: - type: string - example: More - display_start: - type: string - format: date-time - example: 2021-03-12T15:26:21Z - display_end: - type: string - format: date-time - example: 2021-03-12T15:26:21Z - ImageCreateDto: - required: - - default_port - - dialect - - driver_class - - is_default - - jdbc_method - - name - - registry - - version - type: object - properties: - registry: - type: string - example: docker.io/library - name: - type: string - example: mariadb - version: - type: string - dialect: - type: string - is_default: - type: boolean - example: false - driver_class: - type: string - jdbc_method: - type: string - default_port: - maximum: 65535 - minimum: 1024 - type: integer - format: int32 - IdentifierCreateDto: - required: - - creators - - database_id - - publication_year - - publisher - - titles - - type - type: object - properties: - type: - type: string - example: database - enum: - - database - - subset - - table - - view - doi: - type: string - example: 10.1111/11111111 - titles: - type: array - items: - $ref: "#/components/schemas/IdentifierSaveTitleDto" - descriptions: - type: array - items: - $ref: "#/components/schemas/IdentifierSaveDescriptionDto" - funders: - type: array - items: - $ref: "#/components/schemas/IdentifierFunderSaveDto" - licenses: - type: array - items: - $ref: "#/components/schemas/LicenseDto" - publisher: - type: string - example: TU Wien - language: - type: string - enum: - - ab - - aa - - af - - ak - - sq - - am - - ar - - an - - hy - - as - - av - - ae - - ay - - az - - bm - - ba - - eu - - be - - bn - - bh - - bi - - bs - - br - - bg - - my - - ca - - km - - ch - - ce - - ny - - zh - - cu - - cv - - kw - - co - - cr - - hr - - cs - - da - - dv - - nl - - dz - - en - - eo - - et - - ee - - fo - - fj - - fi - - fr - - ff - - gd - - gl - - lg - - ka - - de - - ki - - el - - kl - - gn - - gu - - ht - - ha - - he - - hz - - hi - - ho - - hu - - is - - io - - ig - - id - - ia - - ie - - iu - - ik - - ga - - it - - ja - - jv - - kn - - kr - - ks - - kk - - rw - - kv - - kg - - ko - - kj - - ku - - ky - - lo - - la - - lv - - lb - - li - - ln - - lt - - lu - - mk - - mg - - ms - - ml - - mt - - gv - - mi - - mr - - mh - - ro - - mn - - na - - nv - - nd - - ng - - ne - - se - - "no" - - nb - - nn - - ii - - oc - - oj - - or - - om - - os - - pi - - pa - - ps - - fa - - pl - - pt - - qu - - rm - - rn - - ru - - sm - - sg - - sa - - sc - - sr - - sn - - sd - - si - - sk - - sl - - so - - st - - nr - - es - - su - - sw - - ss - - sv - - tl - - ty - - tg - - ta - - tt - - te - - th - - bo - - ti - - to - - ts - - tn - - tr - - tk - - tw - - ug - - uk - - ur - - uz - - ve - - vi - - vo - - wa - - cy - - fy - - wo - - xh - - yi - - yo - - za - - zu - creators: - type: array - items: - $ref: "#/components/schemas/CreatorSaveDto" - database_id: - type: integer - format: int64 - example: 1 - query_id: - type: integer - format: int64 - view_id: - type: integer - format: int64 - table_id: - type: integer - format: int64 - publication_day: - type: integer - format: int32 - example: 15 - publication_month: - type: integer - format: int32 - example: 12 - publication_year: - type: integer - format: int32 - example: 2022 - related_identifiers: - type: array - items: - $ref: "#/components/schemas/RelatedIdentifierSaveDto" - DatabaseCreateDto: - required: - - container_id - - is_public - - is_schema_public - - name - type: object - properties: - name: - type: string - example: Air Quality - container_id: - type: integer - format: int64 - example: 1 - is_public: - type: boolean - example: true - is_schema_public: - type: boolean - example: true - ViewCreateDto: - required: - - is_public - - is_schema_public - - name - - query - type: object - properties: - name: - maxLength: 63 - minLength: 1 - type: string - example: Air Quality - query: - type: string - example: SELECT `id` FROM `air_quality` - is_public: - type: boolean - example: true - is_schema_public: - type: boolean - example: true - ViewBriefDto: - required: - - database_id - - id - - internal_name - - name - - query - - query_hash - type: object - properties: - id: - type: integer - format: int64 - name: - type: string - example: Air Quality - query: - type: string - example: SELECT `id` FROM `air_quality` ORDER BY `value` DESC - database_id: - type: integer - format: int64 - internal_name: - type: string - example: air_quality - is_public: - type: boolean - example: true - is_schema_public: - type: boolean - example: true - initial_view: - type: boolean - description: True if it is the default view for the database - example: true - query_hash: - type: string - example: 7de03e818900b6ea6d58ad0306d4a741d658c6df3d1964e89ed2395d8c7e7916 - owned_by: - type: string - format: uuid - ColumnCreateDto: - required: - - name - - null_allowed - - type - type: object - properties: - name: - type: string - example: Date - type: - type: string - example: string - enum: - - char - - varchar - - binary - - varbinary - - tinyblob - - tinytext - - text - - blob - - mediumtext - - mediumblob - - longtext - - longblob - - enum - - set - - serial - - bit - - tinyint - - bool - - smallint - - mediumint - - int - - bigint - - float - - double - - decimal - - date - - datetime - - timestamp - - time - - year - size: - type: integer - format: int64 - example: 255 - d: - type: integer - format: int64 - example: 0 - description: - maxLength: 2048 - minLength: 0 - type: string - example: Formatted as YYYY-MM-dd - enums: - type: array - description: "enum values, only considered when type = ENUM" - items: - type: string - description: "enum values, only considered when type = ENUM" - sets: - type: array - description: "set values, only considered when type = SET" - items: - type: string - description: "set values, only considered when type = SET" - index_length: - type: integer - format: int64 - null_allowed: - type: boolean - example: true - concept_uri: - type: string - unit_uri: - type: string - ConstraintsCreateDto: - required: - - checks - - foreign_keys - - primary_key - - uniques - type: object - properties: - uniques: - type: array - items: - type: array - items: - type: string - checks: - uniqueItems: true - type: array - items: - type: string - foreign_keys: - type: array - items: - $ref: "#/components/schemas/ForeignKeyCreateDto" - primary_key: - uniqueItems: true - type: array - items: - type: string - ForeignKeyCreateDto: - required: - - columns - - referenced_columns - - referenced_table - type: object - properties: - columns: - type: array - items: - type: string - referenced_table: - type: string - referenced_columns: - type: array - items: - type: string - on_update: - type: string - enum: - - restrict - - cascade - - set_null - - no_action - - set_default - on_delete: - type: string - enum: - - restrict - - cascade - - set_null - - no_action - - set_default - TableCreateDto: - required: - - columns - - constraints - - is_public - - is_schema_public - - name - type: object - properties: - name: - maxLength: 64 - minLength: 1 - type: string - example: Air Quality - description: - maxLength: 180 - minLength: 0 - type: string - example: Air Quality in Austria - columns: - type: array - items: - $ref: "#/components/schemas/ColumnCreateDto" - constraints: - $ref: "#/components/schemas/ConstraintsCreateDto" - is_public: - type: boolean - example: true - is_schema_public: - type: boolean - example: true - ContainerCreateDto: - required: - - host - - image_id - - name - - privileged_password - - privileged_username - - quota - type: object - properties: - name: - type: string - example: Air Quality - host: - type: string - description: Hostname of container - port: - type: integer - description: Port of container - format: int32 - quota: - type: integer - format: int64 - example: 50 - image_id: - type: integer - description: Image ID - format: int64 - ui_host: - type: string - ui_port: - type: integer - format: int32 - privileged_username: - type: string - description: Username of privileged user - example: root - privileged_password: - type: string - description: Password of privileged user - ContainerDto: - required: - - count - - id - - image - - internal_name - - name - - quota - type: object - properties: - id: - type: integer - format: int64 - name: - type: string - example: Air Quality - image: - $ref: "#/components/schemas/ImageDto" - quota: - type: integer - format: int64 - example: 50 - count: - type: integer - format: int64 - example: 10 - last_retrieved: - type: string - format: date-time - internal_name: - type: string - example: data-db - ui_host: - type: string - ui_port: - type: integer - format: int32 - ColumnBriefDto: - required: - - column_type - - database_id - - id - - internal_name - - name - - table_id - type: object - properties: - id: - type: integer - format: int64 - name: - type: string - example: date - alias: - type: string - database_id: - type: integer - format: int64 - table_id: - type: integer - format: int64 - internal_name: - type: string - example: mdb_date - column_type: - type: string - example: date - enum: - - char - - varchar - - binary - - varbinary - - tinyblob - - tinytext - - text - - blob - - mediumtext - - mediumblob - - longtext - - longblob - - enum - - set - - serial - - bit - - tinyint - - bool - - smallint - - mediumint - - int - - bigint - - float - - double - - decimal - - date - - datetime - - timestamp - - time - - year - UnitDto: - required: - - columns - - id - - uri - type: object - properties: - id: - type: integer - format: int64 - uri: - type: string - name: - type: string - description: - type: string - columns: - type: array - items: - $ref: "#/components/schemas/ColumnBriefDto" - OntologyBriefDto: - required: - - id - - prefix - - rdf - - sparql - - uri - type: object - properties: - id: - type: integer - format: int64 - uri: - type: string - example: http://www.wikidata.org/ - prefix: - type: string - example: wd - sparql: - type: boolean - example: true - rdf: - type: boolean - example: false - uri_pattern: - type: string - example: http://www.wikidata.org/entity/.* - EntityDto: - required: - - label - - uri - type: object - properties: - uri: - type: string - example: https://www.wikidata.org/entity/Q1686799 - label: - type: string - example: Apache Jena - description: - type: string - example: open source semantic web framework for Java - OaiListIdentifiersParameters: - type: object - properties: - metadataPrefix: - type: string - from: - type: string - until: - type: string - set: - type: string - resumptionToken: - type: string - fromDate: - type: string - format: date-time - untilDate: - type: string - format: date-time - parametersString: - type: string - BannerMessageDto: - required: - - id - - message - - type - type: object - properties: - id: - type: integer - format: int64 - type: - type: string - enum: - - error - - warning - - info - message: - type: string - example: Maintenance starts on 8am on Monday - link: - type: string - example: https://example.com - link_text: - type: string - example: More - display_start: - type: string - format: date-time - example: 2021-03-12T15:26:21Z - display_end: - type: string - format: date-time - example: 2021-03-12T15:26:21Z - ImageBriefDto: - required: - - default - - id - - jdbc_method - - name - - version - type: object - properties: - id: - type: integer - format: int64 - name: - type: string - example: mariadb - version: - type: string - example: "10.5" - jdbc_method: - type: string - example: mariadb - default: - type: boolean - example: false - LdCreatorDto: - required: - - '@type' - - name - type: object - properties: - name: - type: string - sameAs: - type: string - givenName: - type: string - familyName: - type: string - '@type': - type: string - LdDatasetDto: - required: - - '@context' - - '@type' - - citation - - creator - - description - - hasPart - - identifier - - name - - temporalCoverage - - url - - version - type: object - properties: - name: - type: string - description: - type: string - url: - type: string - identifier: - type: array - items: - type: string - license: - type: string - creator: - type: array - items: - $ref: "#/components/schemas/LdCreatorDto" - citation: - type: string - hasPart: - type: array - items: - $ref: "#/components/schemas/LdDatasetDto" - temporalCoverage: - type: string - version: - type: string - format: date-time - '@context': - type: string - '@type': - type: string - ConstraintsDto: - type: object - properties: - uniques: - type: array - items: - $ref: "#/components/schemas/UniqueDto" - checks: - uniqueItems: true - type: array - items: - type: string - foreign_keys: - type: array - items: - $ref: "#/components/schemas/ForeignKeyDto" - primary_key: - uniqueItems: true - type: array - items: - $ref: "#/components/schemas/PrimaryKeyDto" - ForeignKeyBriefDto: - type: object - properties: - id: - type: integer - format: int64 - ForeignKeyDto: - required: - - name - - referenced_table - - references - - table - type: object - properties: - id: - type: integer - format: int64 - name: - type: string - references: - type: array - items: - $ref: "#/components/schemas/ForeignKeyReferenceDto" - table: - $ref: "#/components/schemas/TableBriefDto" - referenced_table: - $ref: "#/components/schemas/TableBriefDto" - on_update: - type: string - enum: - - restrict - - cascade - - set_null - - no_action - - set_default - on_delete: - type: string - enum: - - restrict - - cascade - - set_null - - no_action - - set_default - ForeignKeyReferenceDto: - required: - - column - - foreign_key - - referenced_column - type: object - properties: - id: - type: integer - format: int64 - column: - $ref: "#/components/schemas/ColumnBriefDto" - foreign_key: - $ref: "#/components/schemas/ForeignKeyBriefDto" - referenced_column: - $ref: "#/components/schemas/ColumnBriefDto" - PrimaryKeyDto: - required: - - column - - table - type: object - properties: - id: - type: integer - format: int64 - table: - $ref: "#/components/schemas/TableBriefDto" - column: - $ref: "#/components/schemas/ColumnBriefDto" - TableDto: - required: - - columns - - constraints - - database_id - - id - - internal_name - - is_public - - is_schema_public - - is_versioned - - name - - owner - - queue_name - - routing_key - type: object - properties: - id: - type: integer - format: int64 - name: - type: string - example: Air Quality - alias: - type: string - identifiers: - type: array - items: - $ref: "#/components/schemas/IdentifierDto" - owner: - $ref: "#/components/schemas/UserBriefDto" - description: - maxLength: 2048 - minLength: 0 - type: string - example: Air Quality in Austria - columns: - type: array - items: - $ref: "#/components/schemas/ColumnDto" - constraints: - $ref: "#/components/schemas/ConstraintsDto" - last_retrieved: - type: string - format: date-time - database_id: - type: integer - format: int64 - internal_name: - type: string - example: air_quality - is_versioned: - type: boolean - example: true - is_schema_public: - type: boolean - example: true - queue_name: - type: string - example: air_quality - queue_type: - type: string - example: quorum - routing_key: - type: string - example: dbrepo.1.2 - is_public: - type: boolean - example: true - num_rows: - type: integer - format: int64 - example: 5 - data_length: - type: integer - description: in bytes - format: int64 - example: 16384 - max_data_length: - type: integer - description: in bytes - format: int64 - example: 0 - avg_row_length: - type: integer - description: in bytes - format: int64 - example: 3276 - UniqueDto: - required: - - columns - - id - - name - - table - type: object - properties: - id: - type: integer - format: int64 - name: - type: string - table: - $ref: "#/components/schemas/TableBriefDto" - columns: - type: array - items: - $ref: "#/components/schemas/ColumnDto" - TableColumnEntityDto: - required: - - column_id - - database_id - - table_id - - uri - type: object - properties: - uri: - type: string - example: https://www.wikidata.org/entity/Q1686799 - label: - type: string - example: Apache Jena - description: - type: string - example: open source semantic web framework for Java - database_id: - type: integer - format: int64 - example: 1 - table_id: - type: integer - format: int64 - example: 1 - column_id: - type: integer - format: int64 - example: 1 - ContainerBriefDto: - required: - - count - - hash - - id - - image - - internal_name - - name - - quota - type: object - properties: - id: - type: integer - format: int64 - hash: - type: string - example: f829dd8a884182d0da846f365dee1221fd16610a14c81b8f9f295ff162749e50 - name: - type: string - example: Air Quality - image: - $ref: "#/components/schemas/ImageBriefDto" - quota: - type: integer - format: int32 - example: 50 - count: - type: integer - format: int32 - example: 10 - internal_name: - type: string - example: air-quality - ConceptDto: - required: - - columns - - id - - uri - type: object - properties: - id: - type: integer - format: int64 - uri: - type: string - name: - type: string - description: - type: string - columns: - type: array - items: - $ref: "#/components/schemas/ColumnBriefDto" - securitySchemes: - basicAuth: - type: http - scheme: basic - bearerAuth: - type: http - scheme: bearer - bearerFormat: JWT