Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found
Select Git revision
  • 452-create-table-with-sequence
  • 463-reduce-metadata-for-database-api
  • 468-hotfix-redirect-pid
  • 470-hotfix-admin-not-in-sync-on-first-install
  • 474-refactor-basetest-java-to-have-readonly-complete-objects
  • 476-hotfix-query-execution
  • 479-review-private-database-behavior
  • 482-search-service-displays-private-databases-when-not-having-sufficient-access
  • 483-boto3-large-data
  • 484-pipeline-checks
  • 485-fixity-checks
  • 486-test-python-library-through-swagger-api
  • 488-integrate-oidc-into-ui
  • 491-update-sequential-ids-to-non-guessable-ids
  • 494-configure-brute-force-login-detection-in-keycloak
  • 495-improve-password-policy-in-keycloak
  • 497-create-and-update-timestamp-table
  • 497-create-and-update-timestamp-table-2
  • 499-standalone-compute-service
  • 508-refactor-to-use-username-as-identity
  • 510-refactor-test-dtos-into-a-separate-library-light
  • 518-spark-doesn-t-map-the-headers-correct
  • 521-collect-more-metadata-for-publication
  • 522-integrate-the-new-ui
  • 523-multiarch-builds-in-pipeline-2
  • 527-get_identifier_data-with-adjustable-data-size
  • 530-various-schema-problems-with-subsets
  • archiving
  • backtrack/entities
  • bug/ui
  • coverage/library
  • dev
  • feature/497-create-and-update-timestamp-table
  • feature/openshift
  • feature/semantic-service
  • feature/so-mapper-service
  • feature/soMapper-service
  • feature/sso
  • fix/auth-service
  • fix/composite-keys
  • fix/pid-list
  • hotfix/access
  • hotfix/docs
  • hotfix/helm
  • hotfix/helm-data-db
  • hotfix/mandatory-arguments
  • hotfix/metadata-service
  • hotfix/openldap
  • hotfix/ui
  • hotfix/ui-view
  • luca_ba_new_interface
  • master
  • release-1.3.0
  • release-1.4.0
  • release-1.4.1
  • release-1.4.2
  • release-1.4.3
  • release-1.4.4
  • release-1.4.5
  • release-1.4.6
  • release-1.5
  • release-1.6
  • release-1.7
  • release-1.8
  • release-latest
  • release-v1.3
  • storage-job
  • health_check
  • v1.0.0-alpha
  • v1.1.0-alpha
  • v1.1.1-alpha
  • v1.3.0
  • v1.4.0
  • v1.4.1
  • v1.4.2
  • v1.4.3
  • v1.4.4
  • v1.4.5
  • v1.4.6
  • v1.5.0
  • v1.5.1
  • v1.5.3
  • v1.6.0
  • v1.6.1
  • v1.6.2
  • v1.6.3
  • v1.6.4
  • v1.7.0
  • v1.7.0-rc0
  • v1.7.0-rc1
  • v1.7.1
  • v1.7.2
  • v1.7.3
  • v1.7.3-fix
  • v1.7.3-fix10
  • v1.7.3-fix11
  • v1.7.3-fix12
  • v1.7.3-fix13
  • v1.7.3-fix14
  • v1.7.3-fix15
  • v1.7.3-fix16
  • v1.7.3-fix17
  • v1.7.3-fix18
  • v1.7.3-fix19
  • v1.7.3-fix2
  • v1.7.3-fix20
  • v1.7.3-fix21
  • v1.7.3-fix3
  • v1.7.3-fix4
  • v1.7.3-fix5
  • v1.7.3-fix6
  • v1.7.3-fix7
  • v1.7.3-fix8
  • v1.7.3-fix9
  • v1.8.0
  • v1.8.1
  • v1.8.2
  • v1.8.2-fix
  • v1.8.2-fix2
  • v1.8.2-fix3
  • v1.8.2-fix4
121 results

Target

Select target project
  • fair-data-austria-db-repository/fda-services
1 result
Select Git revision
Show changes
Commits on Source (12)
Showing
with 6430 additions and 6205 deletions
...@@ -3,7 +3,6 @@ volumes: ...@@ -3,7 +3,6 @@ volumes:
data-db-data: data-db-data:
auth-db-data: auth-db-data:
broker-service-data: broker-service-data:
upload-service-data:
search-db-data: search-db-data:
identity-service-data: identity-service-data:
metric-db-data: metric-db-data:
...@@ -114,7 +113,7 @@ services: ...@@ -114,7 +113,7 @@ services:
init: true init: true
restart: "no" restart: "no"
container_name: dbrepo-auth-service-init container_name: dbrepo-auth-service-init
image: registry.datalab.tuwien.ac.at/dbrepo/metadata-service:1.6.5 image: registry.datalab.tuwien.ac.at/dbrepo/metadata-service:1.7.0
environment: environment:
AUTH_SERVICE_ADMIN: ${AUTH_SERVICE_ADMIN:-admin} AUTH_SERVICE_ADMIN: ${AUTH_SERVICE_ADMIN:-admin}
AUTH_SERVICE_ADMIN_PASSWORD: ${AUTH_SERVICE_ADMIN_PASSWORD:-admin} AUTH_SERVICE_ADMIN_PASSWORD: ${AUTH_SERVICE_ADMIN_PASSWORD:-admin}
...@@ -135,7 +134,7 @@ services: ...@@ -135,7 +134,7 @@ services:
restart: "no" restart: "no"
container_name: dbrepo-metadata-service container_name: dbrepo-metadata-service
hostname: metadata-service hostname: metadata-service
image: registry.datalab.tuwien.ac.at/dbrepo/metadata-service:1.6.5 image: registry.datalab.tuwien.ac.at/dbrepo/metadata-service:1.7.0
volumes: volumes:
- "${SHARED_VOLUME:-/tmp}:/tmp" - "${SHARED_VOLUME:-/tmp}:/tmp"
environment: environment:
...@@ -198,7 +197,7 @@ services: ...@@ -198,7 +197,7 @@ services:
restart: "no" restart: "no"
container_name: dbrepo-analyse-service container_name: dbrepo-analyse-service
hostname: analyse-service hostname: analyse-service
image: registry.datalab.tuwien.ac.at/dbrepo/analyse-service:1.6.5 image: registry.datalab.tuwien.ac.at/dbrepo/analyse-service:1.7.0
environment: environment:
AUTH_SERVICE_CLIENT: ${AUTH_SERVICE_CLIENT:-dbrepo-client} AUTH_SERVICE_CLIENT: ${AUTH_SERVICE_CLIENT:-dbrepo-client}
AUTH_SERVICE_CLIENT_SECRET: ${AUTH_SERVICE_CLIENT:-MUwRc7yfXSJwX8AdRMWaQC3Nep1VjwgG} AUTH_SERVICE_CLIENT_SECRET: ${AUTH_SERVICE_CLIENT:-MUwRc7yfXSJwX8AdRMWaQC3Nep1VjwgG}
...@@ -253,7 +252,7 @@ services: ...@@ -253,7 +252,7 @@ services:
restart: "no" restart: "no"
container_name: dbrepo-search-db container_name: dbrepo-search-db
hostname: search-db hostname: search-db
image: registry.datalab.tuwien.ac.at/dbrepo/search-db:1.6.5 image: registry.datalab.tuwien.ac.at/dbrepo/search-db:1.7.0
healthcheck: healthcheck:
test: curl -sSL localhost:9200/_plugins/_security/health | jq .status | grep UP test: curl -sSL localhost:9200/_plugins/_security/health | jq .status | grep UP
interval: 10s interval: 10s
...@@ -277,7 +276,7 @@ services: ...@@ -277,7 +276,7 @@ services:
restart: "no" restart: "no"
container_name: dbrepo-search-service container_name: dbrepo-search-service
hostname: search-service hostname: search-service
image: registry.datalab.tuwien.ac.at/dbrepo/search-service:1.6.5 image: registry.datalab.tuwien.ac.at/dbrepo/search-service:1.7.0
environment: environment:
AUTH_SERVICE_CLIENT: ${AUTH_SERVICE_CLIENT:-dbrepo-client} AUTH_SERVICE_CLIENT: ${AUTH_SERVICE_CLIENT:-dbrepo-client}
AUTH_SERVICE_CLIENT_SECRET: ${AUTH_SERVICE_CLIENT_SECRET:-MUwRc7yfXSJwX8AdRMWaQC3Nep1VjwgG} AUTH_SERVICE_CLIENT_SECRET: ${AUTH_SERVICE_CLIENT_SECRET:-MUwRc7yfXSJwX8AdRMWaQC3Nep1VjwgG}
...@@ -301,11 +300,10 @@ services: ...@@ -301,11 +300,10 @@ services:
restart: "no" restart: "no"
container_name: dbrepo-ui container_name: dbrepo-ui
hostname: ui hostname: ui
image: registry.datalab.tuwien.ac.at/dbrepo/ui:1.6.5 image: registry.datalab.tuwien.ac.at/dbrepo/ui:1.7.0
environment: environment:
NUXT_PUBLIC_API_CLIENT: "${BASE_URL:-http://localhost}" NUXT_PUBLIC_API_CLIENT: "${BASE_URL:-http://localhost}"
NUXT_PUBLIC_API_SERVER: "${BASE_URL:-http://gateway-service}" NUXT_PUBLIC_API_SERVER: "${BASE_URL:-http://gateway-service}"
NUXT_PUBLIC_UPLOAD_CLIENT: "${BASE_URL:-http://localhost}/api/upload/files"
NUXT_OIDC_PROVIDERS_KEYCLOAK_AUTHORIZATION_URL: "${BASE_URL:-http://localhost}/realms/dbrepo/protocol/openid-connect/auth" NUXT_OIDC_PROVIDERS_KEYCLOAK_AUTHORIZATION_URL: "${BASE_URL:-http://localhost}/realms/dbrepo/protocol/openid-connect/auth"
NUXT_OIDC_PROVIDERS_KEYCLOAK_BASE_URL: "${BASE_URL:-http://localhost}/realms/dbrepo" NUXT_OIDC_PROVIDERS_KEYCLOAK_BASE_URL: "${BASE_URL:-http://localhost}/realms/dbrepo"
NUXT_OIDC_PROVIDERS_KEYCLOAK_CLIENT_ID: "${AUTH_SERVICE_CLIENT:-dbrepo-client}" NUXT_OIDC_PROVIDERS_KEYCLOAK_CLIENT_ID: "${AUTH_SERVICE_CLIENT:-dbrepo-client}"
...@@ -318,8 +316,6 @@ services: ...@@ -318,8 +316,6 @@ services:
depends_on: depends_on:
dbrepo-search-service: dbrepo-search-service:
condition: service_healthy condition: service_healthy
dbrepo-upload-service:
condition: service_healthy
healthcheck: healthcheck:
test: curl -fsSL http://127.0.0.1:3000 && curl -fsSL http://127.0.0.1:3000/health test: curl -fsSL http://127.0.0.1:3000 && curl -fsSL http://127.0.0.1:3000/health
interval: 10s interval: 10s
...@@ -381,7 +377,7 @@ services: ...@@ -381,7 +377,7 @@ services:
init: true init: true
container_name: dbrepo-search-service-init container_name: dbrepo-search-service-init
hostname: search-service-init hostname: search-service-init
image: registry.datalab.tuwien.ac.at/dbrepo/search-service-init:1.6.5 image: registry.datalab.tuwien.ac.at/dbrepo/search-service-init:1.7.0
environment: environment:
LOG_LEVEL: ${LOG_LEVEL:-info} LOG_LEVEL: ${LOG_LEVEL:-info}
METADATA_SERVICE_ENDPOINT: ${METADATA_SERVICE_ENDPOINT:-http://metadata-service:8080} METADATA_SERVICE_ENDPOINT: ${METADATA_SERVICE_ENDPOINT:-http://metadata-service:8080}
...@@ -438,7 +434,7 @@ services: ...@@ -438,7 +434,7 @@ services:
restart: "no" restart: "no"
container_name: dbrepo-dashboard-service container_name: dbrepo-dashboard-service
hostname: dashboard-service hostname: dashboard-service
image: registry.datalab.tuwien.ac.at/dbrepo/dashboard-service:1.6.5 image: registry.datalab.tuwien.ac.at/dbrepo/dashboard-service:1.7.0
ports: ports:
- "3000:3000" - "3000:3000"
volumes: volumes:
...@@ -465,7 +461,7 @@ services: ...@@ -465,7 +461,7 @@ services:
init: true init: true
container_name: dbrepo-storage-service-init container_name: dbrepo-storage-service-init
hostname: storage-service-init hostname: storage-service-init
image: registry.datalab.tuwien.ac.at/dbrepo/storage-service-init:1.6.5 image: registry.datalab.tuwien.ac.at/dbrepo/storage-service-init:1.7.0
environment: environment:
S3_ACCESS_KEY_ID: ${S3_ACCESS_KEY_ID:-seaweedfsadmin} S3_ACCESS_KEY_ID: ${S3_ACCESS_KEY_ID:-seaweedfsadmin}
S3_BUCKET: "${S3_BUCKET:-dbrepo}" S3_BUCKET: "${S3_BUCKET:-dbrepo}"
...@@ -477,41 +473,11 @@ services: ...@@ -477,41 +473,11 @@ services:
logging: logging:
driver: json-file driver: json-file
dbrepo-upload-service:
restart: "no"
container_name: dbrepo-upload-service
hostname: upload-service
image: docker.io/tusproject/tusd:v2.4.0
volumes:
- "./config/pre-create.sh:/srv/tusd-hooks/pre-create:ro"
command:
- "-behind-proxy"
- "-max-size=2000000000"
- "-base-path=/api/upload/files/"
- "-hooks-dir=/srv/tusd-hooks/"
- "-s3-endpoint=${STORAGE_ENDPOINT:-http://storage-service:9000}"
- "-s3-bucket=dbrepo"
environment:
AWS_ACCESS_KEY_ID: "${S3_ACCESS_KEY_ID:-seaweedfsadmin}"
AWS_SECRET_ACCESS_KEY: "${S3_SECRET_ACCESS_KEY:-seaweedfsadmin}"
AWS_REGION: "${STORAGE_REGION_NAME:-default}"
METADATA_SERVICE_ENDPOINT: "${METADATA_SERVICE_ENDPOINT:-http://metadata-service:8080}"
depends_on:
dbrepo-storage-service:
condition: service_healthy
healthcheck:
test: wget -qO- localhost:8080/metrics | grep "tusd" || exit 1
interval: 10s
timeout: 5s
retries: 12
logging:
driver: json-file
dbrepo-data-service: dbrepo-data-service:
restart: "no" restart: "no"
container_name: dbrepo-data-service container_name: dbrepo-data-service
hostname: data-service hostname: data-service
image: registry.datalab.tuwien.ac.at/dbrepo/data-service:1.6.5 image: registry.datalab.tuwien.ac.at/dbrepo/data-service:1.7.0
volumes: volumes:
- "${SHARED_VOLUME:-/tmp}:/tmp" - "${SHARED_VOLUME:-/tmp}:/tmp"
environment: environment:
......
...@@ -8,10 +8,10 @@ info: ...@@ -8,10 +8,10 @@ info:
license: license:
name: Apache 2.0 name: Apache 2.0
url: https://www.apache.org/licenses/LICENSE-2.0 url: https://www.apache.org/licenses/LICENSE-2.0
version: 1.6.2 version: 1.7.0
externalDocs: externalDocs:
description: Sourcecode Documentation description: Sourcecode Documentation
url: https://www.ifs.tuwien.ac.at/infrastructures/dbrepo/1.6.2/system-services-metadata/ url: https://www.ifs.tuwien.ac.at/infrastructures/dbrepo/1.7.0/system-services-metadata/
servers: servers:
- url: http://localhost - url: http://localhost
description: Development instance description: Development instance
...@@ -24,22 +24,21 @@ paths: ...@@ -24,22 +24,21 @@ paths:
- view-endpoint - view-endpoint
summary: Get view data summary: Get view data
description: "Gets data from a view of a database. For private databases, the\ description: "Gets data from a view of a database. For private databases, the\
\ user needs at least *READ* access to the associated database. Requires role\ \ user needs at least *READ* access to the associated database."
\ `view-database-view-data`."
operationId: getData operationId: getData
parameters: parameters:
- name: databaseId - name: databaseId
in: path in: path
required: true required: true
schema: schema:
type: integer type: string
format: int64 format: uuid
- name: viewId - name: viewId
in: path in: path
required: true required: true
schema: schema:
type: integer type: string
format: int64 format: uuid
- name: page - name: page
in: query in: query
required: false required: false
...@@ -59,20 +58,35 @@ paths: ...@@ -59,20 +58,35 @@ paths:
type: string type: string
format: date-time format: date-time
responses: responses:
"503": "200":
description: Failed to establish connection with the metadata service description: Retrieved view data
headers:
Access-Control-Expose-Headers:
description: Expose `X-Count` custom header
required: true
style: simple
X-Count:
description: Number of rows
required: true
style: simple
content:
application/json:
schema:
type: string
"409":
description: View schema could not be mapped
content: content:
application/json: application/json:
schema: schema:
$ref: "#/components/schemas/ApiErrorDto" $ref: "#/components/schemas/ApiErrorDto"
"404": "503":
description: Failed to find view in metadata database description: Failed to establish connection with the metadata service
content: content:
application/json: application/json:
schema: schema:
$ref: "#/components/schemas/ApiErrorDto" $ref: "#/components/schemas/ApiErrorDto"
"409": "404":
description: View schema could not be mapped description: Failed to find view in metadata database
content: content:
application/json: application/json:
schema: schema:
...@@ -89,21 +103,6 @@ paths: ...@@ -89,21 +103,6 @@ paths:
application/json: application/json:
schema: schema:
$ref: "#/components/schemas/ApiErrorDto" $ref: "#/components/schemas/ApiErrorDto"
"200":
description: Retrieved view data
headers:
Access-Control-Expose-Headers:
description: Expose `X-Count` custom header
required: true
style: simple
X-Count:
description: Number of rows
required: true
style: simple
content:
application/json:
schema:
type: string
security: security:
- basicAuth: [] - basicAuth: []
- bearerAuth: [] - bearerAuth: []
...@@ -112,22 +111,21 @@ paths: ...@@ -112,22 +111,21 @@ paths:
- view-endpoint - view-endpoint
summary: Get view data summary: Get view data
description: "Gets data from a view of a database. For private databases, the\ description: "Gets data from a view of a database. For private databases, the\
\ user needs at least *READ* access to the associated database. Requires role\ \ user needs at least *READ* access to the associated database."
\ `view-database-view-data`."
operationId: getData_1 operationId: getData_1
parameters: parameters:
- name: databaseId - name: databaseId
in: path in: path
required: true required: true
schema: schema:
type: integer type: string
format: int64 format: uuid
- name: viewId - name: viewId
in: path in: path
required: true required: true
schema: schema:
type: integer type: string
format: int64 format: uuid
- name: page - name: page
in: query in: query
required: false required: false
...@@ -147,20 +145,35 @@ paths: ...@@ -147,20 +145,35 @@ paths:
type: string type: string
format: date-time format: date-time
responses: responses:
"503": "200":
description: Failed to establish connection with the metadata service description: Retrieved view data
headers:
Access-Control-Expose-Headers:
description: Expose `X-Count` custom header
required: true
style: simple
X-Count:
description: Number of rows
required: true
style: simple
content:
application/json:
schema:
type: string
"409":
description: View schema could not be mapped
content: content:
application/json: application/json:
schema: schema:
$ref: "#/components/schemas/ApiErrorDto" $ref: "#/components/schemas/ApiErrorDto"
"404": "503":
description: Failed to find view in metadata database description: Failed to establish connection with the metadata service
content: content:
application/json: application/json:
schema: schema:
$ref: "#/components/schemas/ApiErrorDto" $ref: "#/components/schemas/ApiErrorDto"
"409": "404":
description: View schema could not be mapped description: Failed to find view in metadata database
content: content:
application/json: application/json:
schema: schema:
...@@ -177,21 +190,6 @@ paths: ...@@ -177,21 +190,6 @@ paths:
application/json: application/json:
schema: schema:
$ref: "#/components/schemas/ApiErrorDto" $ref: "#/components/schemas/ApiErrorDto"
"200":
description: Retrieved view data
headers:
Access-Control-Expose-Headers:
description: Expose `X-Count` custom header
required: true
style: simple
X-Count:
description: Number of rows
required: true
style: simple
content:
application/json:
schema:
type: string
security: security:
- basicAuth: [] - basicAuth: []
- bearerAuth: [] - bearerAuth: []
...@@ -210,14 +208,14 @@ paths: ...@@ -210,14 +208,14 @@ paths:
in: path in: path
required: true required: true
schema: schema:
type: integer type: string
format: int64 format: uuid
- name: tableId - name: tableId
in: path in: path
required: true required: true
schema: schema:
type: integer type: string
format: int64 format: uuid
- name: timestamp - name: timestamp
in: query in: query
required: false required: false
...@@ -237,24 +235,6 @@ paths: ...@@ -237,24 +235,6 @@ paths:
type: integer type: integer
format: int64 format: int64
responses: responses:
"400":
description: Request pagination or table data select query is malformed
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"503":
description: Failed to establish connection with the metadata service
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"404":
description: Failed to find table in metadata database
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"200": "200":
description: Get table data description: Get table data
headers: headers:
...@@ -270,12 +250,30 @@ paths: ...@@ -270,12 +250,30 @@ paths:
application/json: application/json:
schema: schema:
type: string type: string
"503":
description: Failed to establish connection with the metadata service
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"403": "403":
description: Not allowed to get table data description: Not allowed to get table data
content: content:
application/json: application/json:
schema: schema:
$ref: "#/components/schemas/ApiErrorDto" $ref: "#/components/schemas/ApiErrorDto"
"404":
description: Failed to find table in metadata database
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"400":
description: Request pagination or table data select query is malformed
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
security: security:
- basicAuth: [] - basicAuth: []
- bearerAuth: [] - bearerAuth: []
...@@ -292,14 +290,14 @@ paths: ...@@ -292,14 +290,14 @@ paths:
in: path in: path
required: true required: true
schema: schema:
type: integer type: string
format: int64 format: uuid
- name: tableId - name: tableId
in: path in: path
required: true required: true
schema: schema:
type: integer type: string
format: int64 format: uuid
- name: Authorization - name: Authorization
in: header in: header
required: true required: true
...@@ -312,8 +310,8 @@ paths: ...@@ -312,8 +310,8 @@ paths:
$ref: "#/components/schemas/TupleUpdateDto" $ref: "#/components/schemas/TupleUpdateDto"
required: true required: true
responses: responses:
"400": "403":
description: Request pagination or table data select query is malformed description: Update table data not allowed
content: content:
application/json: application/json:
schema: schema:
...@@ -332,8 +330,8 @@ paths: ...@@ -332,8 +330,8 @@ paths:
$ref: "#/components/schemas/ApiErrorDto" $ref: "#/components/schemas/ApiErrorDto"
"202": "202":
description: Updated table data description: Updated table data
"403": "400":
description: Update table data not allowed description: Request pagination or table data select query is malformed
content: content:
application/json: application/json:
schema: schema:
...@@ -354,14 +352,14 @@ paths: ...@@ -354,14 +352,14 @@ paths:
in: path in: path
required: true required: true
schema: schema:
type: integer type: string
format: int64 format: uuid
- name: tableId - name: tableId
in: path in: path
required: true required: true
schema: schema:
type: integer type: string
format: int64 format: uuid
- name: Authorization - name: Authorization
in: header in: header
required: true required: true
...@@ -381,12 +379,6 @@ paths: ...@@ -381,12 +379,6 @@ paths:
application/json: application/json:
schema: schema:
$ref: "#/components/schemas/ApiErrorDto" $ref: "#/components/schemas/ApiErrorDto"
"400":
description: Request pagination or table data select query is malformed
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"201": "201":
description: Created table data description: Created table data
"503": "503":
...@@ -402,6 +394,12 @@ paths: ...@@ -402,6 +394,12 @@ paths:
application/json: application/json:
schema: schema:
$ref: "#/components/schemas/ApiErrorDto" $ref: "#/components/schemas/ApiErrorDto"
"400":
description: Request pagination or table data select query is malformed
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
security: security:
- basicAuth: [] - basicAuth: []
- bearerAuth: [] - bearerAuth: []
...@@ -418,14 +416,14 @@ paths: ...@@ -418,14 +416,14 @@ paths:
in: path in: path
required: true required: true
schema: schema:
type: integer type: string
format: int64 format: uuid
- name: tableId - name: tableId
in: path in: path
required: true required: true
schema: schema:
type: integer type: string
format: int64 format: uuid
- name: Authorization - name: Authorization
in: header in: header
required: true required: true
...@@ -438,26 +436,26 @@ paths: ...@@ -438,26 +436,26 @@ paths:
$ref: "#/components/schemas/TupleDeleteDto" $ref: "#/components/schemas/TupleDeleteDto"
required: true required: true
responses: responses:
"400":
description: Request pagination or table data select query is malformed
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"503": "503":
description: Failed to establish connection with the metadata service description: Failed to establish connection with the metadata service
content: content:
application/json: application/json:
schema: schema:
$ref: "#/components/schemas/ApiErrorDto" $ref: "#/components/schemas/ApiErrorDto"
"202":
description: Deleted table data
"404": "404":
description: Failed to find table in metadata database description: Failed to find table in metadata database
content: content:
application/json: application/json:
schema: schema:
$ref: "#/components/schemas/ApiErrorDto" $ref: "#/components/schemas/ApiErrorDto"
"202": "400":
description: Deleted table data description: Request pagination or table data select query is malformed
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"403": "403":
description: Delete table data not allowed description: Delete table data not allowed
content: content:
...@@ -481,14 +479,14 @@ paths: ...@@ -481,14 +479,14 @@ paths:
in: path in: path
required: true required: true
schema: schema:
type: integer type: string
format: int64 format: uuid
- name: tableId - name: tableId
in: path in: path
required: true required: true
schema: schema:
type: integer type: string
format: int64 format: uuid
- name: timestamp - name: timestamp
in: query in: query
required: false required: false
...@@ -508,24 +506,6 @@ paths: ...@@ -508,24 +506,6 @@ paths:
type: integer type: integer
format: int64 format: int64
responses: responses:
"400":
description: Request pagination or table data select query is malformed
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"503":
description: Failed to establish connection with the metadata service
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"404":
description: Failed to find table in metadata database
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"200": "200":
description: Get table data description: Get table data
headers: headers:
...@@ -541,12 +521,30 @@ paths: ...@@ -541,12 +521,30 @@ paths:
application/json: application/json:
schema: schema:
type: string type: string
"503":
description: Failed to establish connection with the metadata service
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"403": "403":
description: Not allowed to get table data description: Not allowed to get table data
content: content:
application/json: application/json:
schema: schema:
$ref: "#/components/schemas/ApiErrorDto" $ref: "#/components/schemas/ApiErrorDto"
"404":
description: Failed to find table in metadata database
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"400":
description: Request pagination or table data select query is malformed
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
security: security:
- basicAuth: [] - basicAuth: []
- bearerAuth: [] - bearerAuth: []
...@@ -565,14 +563,14 @@ paths: ...@@ -565,14 +563,14 @@ paths:
in: path in: path
required: true required: true
schema: schema:
type: integer type: string
format: int64 format: uuid
- name: subsetId - name: subsetId
in: path in: path
required: true required: true
schema: schema:
type: integer type: string
format: int64 format: uuid
- name: timestamp - name: timestamp
in: query in: query
required: false required: false
...@@ -592,6 +590,12 @@ paths: ...@@ -592,6 +590,12 @@ paths:
type: integer type: integer
format: int64 format: int64
responses: responses:
"400":
description: Invalid pagination
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"503": "503":
description: Failed to communicate with database description: Failed to communicate with database
content: content:
...@@ -619,12 +623,6 @@ paths: ...@@ -619,12 +623,6 @@ paths:
application/json: application/json:
schema: schema:
type: string type: string
"400":
description: Invalid pagination
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"404": "404":
description: Failed to find database in metadata database or query in query description: Failed to find database in metadata database or query in query
store of the data database store of the data database
...@@ -655,14 +653,14 @@ paths: ...@@ -655,14 +653,14 @@ paths:
in: path in: path
required: true required: true
schema: schema:
type: integer type: string
format: int64 format: uuid
- name: subsetId - name: subsetId
in: path in: path
required: true required: true
schema: schema:
type: integer type: string
format: int64 format: uuid
- name: timestamp - name: timestamp
in: query in: query
required: false required: false
...@@ -682,6 +680,12 @@ paths: ...@@ -682,6 +680,12 @@ paths:
type: integer type: integer
format: int64 format: int64
responses: responses:
"400":
description: Invalid pagination
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"503": "503":
description: Failed to communicate with database description: Failed to communicate with database
content: content:
...@@ -709,12 +713,6 @@ paths: ...@@ -709,12 +713,6 @@ paths:
application/json: application/json:
schema: schema:
type: string type: string
"400":
description: Invalid pagination
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"404": "404":
description: Failed to find database in metadata database or query in query description: Failed to find database in metadata database or query in query
store of the data database store of the data database
...@@ -743,14 +741,14 @@ paths: ...@@ -743,14 +741,14 @@ paths:
in: path in: path
required: true required: true
schema: schema:
type: integer type: string
format: int64 format: uuid
- name: queryId - name: queryId
in: path in: path
required: true required: true
schema: schema:
type: integer type: string
format: int64 format: uuid
requestBody: requestBody:
content: content:
application/json: application/json:
...@@ -758,20 +756,14 @@ paths: ...@@ -758,20 +756,14 @@ paths:
$ref: "#/components/schemas/QueryPersistDto" $ref: "#/components/schemas/QueryPersistDto"
required: true required: true
responses: responses:
"503":
description: Failed to communicate with database
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"202": "202":
description: Persisted subset description: Persisted subset
content: content:
application/json: application/json:
schema: schema:
$ref: "#/components/schemas/QueryDto" $ref: "#/components/schemas/QueryDto"
"403": "503":
description: Not allowed to persist subset description: Failed to communicate with database
content: content:
application/json: application/json:
schema: schema:
...@@ -789,6 +781,12 @@ paths: ...@@ -789,6 +781,12 @@ paths:
application/json: application/json:
schema: schema:
$ref: "#/components/schemas/ApiErrorDto" $ref: "#/components/schemas/ApiErrorDto"
"403":
description: Not allowed to persist subset
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"400": "400":
description: Malformed select query description: Malformed select query
content: content:
...@@ -798,6 +796,42 @@ paths: ...@@ -798,6 +796,42 @@ paths:
security: security:
- bearerAuth: [] - bearerAuth: []
- basicAuth: [] - basicAuth: []
/api/upload:
post:
tags:
- upload-endpoint
summary: Uploads a multipart file
description: Uploads a multipart file to the Storage Service. Requires role
`upload-file`.
operationId: create
requestBody:
content:
application/json:
schema:
required:
- file
type: object
properties:
file:
type: string
format: binary
required: true
responses:
"201":
description: Uploaded the file
content:
application/json:
schema:
$ref: "#/components/schemas/ViewDto"
"503":
description: Failed to establish connection with the storage service
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
security:
- basicAuth: []
- bearerAuth: []
/api/database/{databaseId}/table/{tableId}/data/import: /api/database/{databaseId}/table/{tableId}/data/import:
post: post:
tags: tags:
...@@ -813,14 +847,14 @@ paths: ...@@ -813,14 +847,14 @@ paths:
in: path in: path
required: true required: true
schema: schema:
type: integer type: string
format: int64 format: uuid
- name: tableId - name: tableId
in: path in: path
required: true required: true
schema: schema:
type: integer type: string
format: int64 format: uuid
- name: Authorization - name: Authorization
in: header in: header
required: true required: true
...@@ -835,20 +869,20 @@ paths: ...@@ -835,20 +869,20 @@ paths:
responses: responses:
"202": "202":
description: Imported dataset successfully description: Imported dataset successfully
"503": "403":
description: Failed to establish connection with the metadata service description: Import table dataset not allowed
content: content:
application/json: application/json:
schema: schema:
$ref: "#/components/schemas/ApiErrorDto" $ref: "#/components/schemas/ApiErrorDto"
"404": "503":
description: Failed to find table in metadata database description: Failed to establish connection with the metadata service
content: content:
application/json: application/json:
schema: schema:
$ref: "#/components/schemas/ApiErrorDto" $ref: "#/components/schemas/ApiErrorDto"
"403": "404":
description: Import table dataset not allowed description: Failed to find table in metadata database
content: content:
application/json: application/json:
schema: schema:
...@@ -878,8 +912,8 @@ paths: ...@@ -878,8 +912,8 @@ paths:
in: path in: path
required: true required: true
schema: schema:
type: integer type: string
format: int64 format: uuid
- name: persisted - name: persisted
in: query in: query
required: false required: false
...@@ -892,13 +926,6 @@ paths: ...@@ -892,13 +926,6 @@ paths:
application/json: application/json:
schema: schema:
$ref: "#/components/schemas/ApiErrorDto" $ref: "#/components/schemas/ApiErrorDto"
"404":
description: Failed to find database in metadata database or query in query
store of the data database
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"200": "200":
description: Found subsets description: Found subsets
content: content:
...@@ -913,6 +940,13 @@ paths: ...@@ -913,6 +940,13 @@ paths:
application/json: application/json:
schema: schema:
$ref: "#/components/schemas/ApiErrorDto" $ref: "#/components/schemas/ApiErrorDto"
"404":
description: Failed to find database in metadata database or query in query
store of the data database
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
security: security:
- basicAuth: [] - basicAuth: []
- bearerAuth: [] - bearerAuth: []
...@@ -924,14 +958,14 @@ paths: ...@@ -924,14 +958,14 @@ paths:
be used without authentication if (and only if) the database is marked as be used without authentication if (and only if) the database is marked as
public (i.e. when `is_public` = `is_schema_public` is set to `true`). Otherwise public (i.e. when `is_public` = `is_schema_public` is set to `true`). Otherwise
at least read access is required. at least read access is required.
operationId: create operationId: create_1
parameters: parameters:
- name: databaseId - name: databaseId
in: path in: path
required: true required: true
schema: schema:
type: integer type: string
format: int64 format: uuid
- name: timestamp - name: timestamp
in: query in: query
required: false required: false
...@@ -954,23 +988,23 @@ paths: ...@@ -954,23 +988,23 @@ paths:
content: content:
application/json: application/json:
schema: schema:
$ref: "#/components/schemas/ExecuteStatementDto" $ref: "#/components/schemas/SubsetDto"
required: true required: true
responses: responses:
"201": "417":
description: Created subset description: Failed to insert query into query store of data database
content: content:
application/json: application/json:
schema: schema:
type: string $ref: "#/components/schemas/ApiErrorDto"
"503": "501":
description: Failed to communicate with database description: Failed to execute query as it contains non-supported keywords
content: content:
application/json: application/json:
schema: schema:
$ref: "#/components/schemas/ApiErrorDto" $ref: "#/components/schemas/ApiErrorDto"
"501": "503":
description: Failed to execute query as it contains non-supported keywords description: Failed to communicate with database
content: content:
application/json: application/json:
schema: schema:
...@@ -988,14 +1022,14 @@ paths: ...@@ -988,14 +1022,14 @@ paths:
application/json: application/json:
schema: schema:
$ref: "#/components/schemas/ApiErrorDto" $ref: "#/components/schemas/ApiErrorDto"
"400": "201":
description: Malformed select query description: Created subset
content: content:
application/json: application/json:
schema: schema:
$ref: "#/components/schemas/ApiErrorDto" type: string
"417": "400":
description: Failed to insert query into query store of data database description: Malformed select query
content: content:
application/json: application/json:
schema: schema:
...@@ -1017,14 +1051,14 @@ paths: ...@@ -1017,14 +1051,14 @@ paths:
in: path in: path
required: true required: true
schema: schema:
type: integer type: string
format: int64 format: uuid
- name: viewId - name: viewId
in: path in: path
required: true required: true
schema: schema:
type: integer type: string
format: int64 format: uuid
- name: timestamp - name: timestamp
in: query in: query
required: false required: false
...@@ -1032,20 +1066,20 @@ paths: ...@@ -1032,20 +1066,20 @@ paths:
type: string type: string
format: date-time format: date-time
responses: responses:
"503": "404":
description: Failed to establish connection with the metadata service description: Failed to find view in metadata database or export dataset
content: content:
application/json: application/json:
schema: schema:
$ref: "#/components/schemas/ApiErrorDto" $ref: "#/components/schemas/ApiErrorDto"
"403": "503":
description: Export view data not allowed description: Failed to establish connection with the metadata service
content: content:
application/json: application/json:
schema: schema:
$ref: "#/components/schemas/ApiErrorDto" $ref: "#/components/schemas/ApiErrorDto"
"404": "403":
description: Failed to find view in metadata database or export dataset description: Export view data not allowed
content: content:
application/json: application/json:
schema: schema:
...@@ -1080,14 +1114,14 @@ paths: ...@@ -1080,14 +1114,14 @@ paths:
in: path in: path
required: true required: true
schema: schema:
type: integer type: string
format: int64 format: uuid
- name: tableId - name: tableId
in: path in: path
required: true required: true
schema: schema:
type: integer type: string
format: int64 format: uuid
- name: size - name: size
in: query in: query
required: false required: false
...@@ -1095,8 +1129,16 @@ paths: ...@@ -1095,8 +1129,16 @@ paths:
type: integer type: integer
format: int64 format: int64
responses: responses:
"403": "200":
description: Find table history not allowed description: Found table history
content:
application/json:
schema:
type: array
items:
$ref: "#/components/schemas/TableHistoryDto"
"404":
description: Failed to find table history in data database
content: content:
application/json: application/json:
schema: schema:
...@@ -1107,8 +1149,8 @@ paths: ...@@ -1107,8 +1149,8 @@ paths:
application/json: application/json:
schema: schema:
$ref: "#/components/schemas/ApiErrorDto" $ref: "#/components/schemas/ApiErrorDto"
"404": "403":
description: Failed to find table history in data database description: Find table history not allowed
content: content:
application/json: application/json:
schema: schema:
...@@ -1119,14 +1161,6 @@ paths: ...@@ -1119,14 +1161,6 @@ paths:
application/json: application/json:
schema: schema:
$ref: "#/components/schemas/ApiErrorDto" $ref: "#/components/schemas/ApiErrorDto"
"200":
description: Found table history
content:
application/json:
schema:
type: array
items:
$ref: "#/components/schemas/TableHistoryDto"
security: security:
- basicAuth: [] - basicAuth: []
- bearerAuth: [] - bearerAuth: []
...@@ -1144,14 +1178,14 @@ paths: ...@@ -1144,14 +1178,14 @@ paths:
in: path in: path
required: true required: true
schema: schema:
type: integer type: string
format: int64 format: uuid
- name: tableId - name: tableId
in: path in: path
required: true required: true
schema: schema:
type: integer type: string
format: int64 format: uuid
- name: timestamp - name: timestamp
in: query in: query
required: false required: false
...@@ -1159,25 +1193,12 @@ paths: ...@@ -1159,25 +1193,12 @@ paths:
type: string type: string
format: date-time format: date-time
responses: responses:
"400":
description: Request pagination or table data select query is malformed
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"503": "503":
description: Failed to establish connection with the metadata service description: Failed to establish connection with the metadata service
content: content:
application/json: application/json:
schema: schema:
$ref: "#/components/schemas/ApiErrorDto" $ref: "#/components/schemas/ApiErrorDto"
"200":
description: Exported table data
content:
application/json:
schema:
type: string
format: binary
"404": "404":
description: Failed to find table in metadata database description: Failed to find table in metadata database
content: content:
...@@ -1190,6 +1211,19 @@ paths: ...@@ -1190,6 +1211,19 @@ paths:
application/json: application/json:
schema: schema:
$ref: "#/components/schemas/ApiErrorDto" $ref: "#/components/schemas/ApiErrorDto"
"400":
description: Request pagination or table data select query is malformed
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"200":
description: Exported table data
content:
application/json:
schema:
type: string
format: binary
security: security:
- basicAuth: [] - basicAuth: []
- bearerAuth: [] - bearerAuth: []
...@@ -1209,14 +1243,14 @@ paths: ...@@ -1209,14 +1243,14 @@ paths:
in: path in: path
required: true required: true
schema: schema:
type: integer type: string
format: int64 format: uuid
- name: subsetId - name: subsetId
in: path in: path
required: true required: true
schema: schema:
type: integer type: string
format: int64 format: uuid
- name: Accept - name: Accept
in: header in: header
required: true required: true
...@@ -1247,13 +1281,6 @@ paths: ...@@ -1247,13 +1281,6 @@ paths:
application/json: application/json:
schema: schema:
$ref: "#/components/schemas/ApiErrorDto" $ref: "#/components/schemas/ApiErrorDto"
"200":
description: Found subset
content:
application/json:
schema:
$ref: "#/components/schemas/QueryDto"
text/csv: {}
"404": "404":
description: Failed to find database in metadata database or query in query description: Failed to find database in metadata database or query in query
store of the data database store of the data database
...@@ -1261,6 +1288,13 @@ paths: ...@@ -1261,6 +1288,13 @@ paths:
application/json: application/json:
schema: schema:
$ref: "#/components/schemas/ApiErrorDto" $ref: "#/components/schemas/ApiErrorDto"
"200":
description: Found subset
content:
application/json:
schema:
$ref: "#/components/schemas/QueryDto"
text/csv: {}
"400": "400":
description: Malformed select query description: Malformed select query
content: content:
...@@ -1395,9 +1429,9 @@ components: ...@@ -1395,9 +1429,9 @@ components:
type: object type: object
properties: properties:
id: id:
type: integer type: string
format: int64 format: uuid
example: 11 example: e41f94a6-2b94-4a12-ac0e-678684e1c070
affiliation: affiliation:
type: string type: string
example: Brown University example: Brown University
...@@ -1435,6 +1469,7 @@ components: ...@@ -1435,6 +1469,7 @@ components:
required: required:
- creators - creators
- database_id - database_id
- descriptions
- id - id
- owned_by - owned_by
- publication_year - publication_year
...@@ -1445,9 +1480,9 @@ components: ...@@ -1445,9 +1480,9 @@ components:
type: object type: object
properties: properties:
id: id:
type: integer type: string
format: int64 format: uuid
example: 2 example: b97cd56b-66ca-4354-9e6c-f47210cfaaec
type: type:
type: string type: string
example: database example: database
...@@ -1464,6 +1499,10 @@ components: ...@@ -1464,6 +1499,10 @@ components:
type: array type: array
items: items:
$ref: "#/components/schemas/IdentifierTitleDto" $ref: "#/components/schemas/IdentifierTitleDto"
descriptions:
type: array
items:
$ref: "#/components/schemas/IdentifierDescriptionDto"
doi: doi:
type: string type: string
example: 10.1038/nphys1170 example: 10.1038/nphys1170
...@@ -1477,21 +1516,18 @@ components: ...@@ -1477,21 +1516,18 @@ components:
- draft - draft
- published - published
database_id: database_id:
type: integer type: string
format: int64 format: uuid
example: 1 example: fc29f89c-86a8-4020-9e36-4d954736c6cc
query_id: query_id:
type: integer type: string
format: int64 format: uuid
example: 1
table_id: table_id:
type: integer type: string
format: int64 format: uuid
example: 1
view_id: view_id:
type: integer type: string
format: int64 format: uuid
example: 1
publication_year: publication_year:
type: integer type: integer
format: int32 format: int32
...@@ -1500,15 +1536,225 @@ components: ...@@ -1500,15 +1536,225 @@ components:
type: string type: string
format: uuid format: uuid
example: 2f45ef7a-7f9b-4667-9156-152c87fe1ca5 example: 2f45ef7a-7f9b-4667-9156-152c87fe1ca5
IdentifierDescriptionDto:
required:
- id
type: object
properties:
id:
type: string
format: uuid
example: e0e9692c-910b-4b60-b53a-fc7c358a917d
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
IdentifierTitleDto: IdentifierTitleDto:
required: required:
- id - id
type: object type: object
properties: properties:
id: id:
type: integer type: string
format: int64 format: uuid
example: 4 example: 70ce5164-fd74-413f-8712-f996b91defbf
title: title:
type: string type: string
example: Airquality Demonstrator example: Airquality Demonstrator
...@@ -1721,9 +1967,9 @@ components: ...@@ -1721,9 +1967,9 @@ components:
type: object type: object
properties: properties:
id: id:
type: integer type: string
format: int64 format: uuid
example: 4 example: 83ea2326-f8f6-4263-baf8-cdf88a54efc7
owner: owner:
$ref: "#/components/schemas/UserBriefDto" $ref: "#/components/schemas/UserBriefDto"
execution: execution:
...@@ -1744,9 +1990,9 @@ components: ...@@ -1744,9 +1990,9 @@ components:
items: items:
$ref: "#/components/schemas/IdentifierBriefDto" $ref: "#/components/schemas/IdentifierBriefDto"
database_id: database_id:
type: integer type: string
format: int64 format: uuid
example: 1 example: fc29f89c-86a8-4020-9e36-4d954736c6cc
query_normalized: query_normalized:
type: string type: string
example: SELECT `id` FROM `air_quality` example: SELECT `id` FROM `air_quality`
...@@ -1792,24 +2038,656 @@ components: ...@@ -1792,24 +2038,656 @@ components:
family_name: family_name:
type: string type: string
example: Carberry example: Carberry
TupleDto: CreatorDto:
required: required:
- data - creator_name
- id
type: object type: object
properties: properties:
data: id:
type: object type: string
additionalProperties: format: uuid
type: object example: e41f94a6-2b94-4a12-ac0e-678684e1c070
example: firstname:
key: value type: string
example: example: Josiah
key: value lastname:
ImportDto: type: string
required: example: Carberry
- header affiliation:
- location type: string
- separator 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/
IdentifierDto:
required:
- creators
- database_id
- descriptions
- funders
- id
- language
- licenses
- owner
- publication_year
- publisher
- query
- query_hash
- query_normalized
- status
- titles
- type
type: object
properties:
id:
type: string
format: uuid
example: b97cd56b-66ca-4354-9e6c-f47210cfaaec
type:
type: string
example: database
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
example: draft
enum:
- draft
- published
database_id:
type: string
format: uuid
query_id:
type: string
format: uuid
table_id:
type: string
format: uuid
view_id:
type: string
format: uuid
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: string
format: uuid
example: 39693413-e0ce-46da-ad5e-029c0556d439
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
LicenseDto:
required:
- identifier
- uri
type: object
properties:
identifier:
type: string
example: MIT
uri:
type: string
example: https://opensource.org/licenses/MIT
description:
type: string
example: "A short and simple permissive license with conditions only requiring\
\ preservation of copyright and license notices. Licensed works, modifications,\
\ and larger works may be distributed under different terms and without\
\ source code."
RelatedIdentifierDto:
required:
- id
- relation
- type
- value
type: object
properties:
id:
type: string
format: uuid
example: ce9d11f0-60a2-448d-a3e4-44719a443e8a
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
ViewColumnDto:
required:
- database_id
- id
- internal_name
- is_null_allowed
- name
- ord
- type
type: object
properties:
id:
type: string
format: uuid
example: 6aec3a91-2e0b-4e92-a16a-9c3c5e892da1
name:
maxLength: 64
minLength: 0
type: string
example: Given Name
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: string
format: uuid
example: 2b5b2b03-fdd0-40d6-afe0-e5d02fd839e4
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
is_null_allowed:
type: boolean
example: false
ViewDto:
required:
- columns
- database_id
- id
- identifiers
- internal_name
- name
- owner
- query
- query_hash
type: object
properties:
id:
type: string
format: uuid
example: 787439d0-e85e-400c-a7e6-996a023bfad9
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: string
format: uuid
example: fc29f89c-86a8-4020-9e36-4d954736c6cc
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
TupleDto:
required:
- data
type: object
properties:
data:
type: object
additionalProperties:
type: object
example:
key: value
example:
key: value
ImportDto:
required:
- header
- location
- separator
type: object type: object
properties: properties:
location: location:
...@@ -1829,14 +2707,72 @@ components: ...@@ -1829,14 +2707,72 @@ components:
line_termination: line_termination:
type: string type: string
example: \r\n example: \r\n
ExecuteStatementDto: FilterDto:
required: required:
- statement - column_id
- operator_id
- type
- value
type: object type: object
properties: properties:
statement: type:
type: string type: string
example: SELECT `id` FROM `air_quality` example: where
enum:
- where
- or
- and
value:
type: string
example: "1"
column_id:
type: string
format: uuid
example: 14128033-54b5-4818-a489-21b0dded86e2
operator_id:
type: string
format: uuid
example: 67c5b54d-2eb0-4f42-8dc1-a504562e9f32
OrderDto:
required:
- column_id
type: object
properties:
direction:
type: string
example: asc
enum:
- asc
- desc
column_id:
type: string
format: uuid
example: e891ba86-0258-41a6-a8d9-ff58bc10b618
SubsetDto:
required:
- columns
- table_id
type: object
properties:
columns:
type: array
example:
- e891ba86-0258-41a6-a8d9-ff58bc10b618
items:
type: string
format: uuid
filter:
type: array
items:
$ref: "#/components/schemas/FilterDto"
order:
type: array
items:
$ref: "#/components/schemas/OrderDto"
table_id:
type: string
format: uuid
example: f7df2a7d-4ade-4c78-97b0-7c744d0893c7
TableHistoryDto: TableHistoryDto:
required: required:
- event - event
...@@ -1850,6 +2786,10 @@ components: ...@@ -1850,6 +2786,10 @@ components:
example: 2021-03-12T15:26:21Z example: 2021-03-12T15:26:21Z
event: event:
type: string type: string
example: INSERT
enum:
- insert
- delete
total: total:
type: integer type: integer
format: int64 format: int64
......
Source diff could not be displayed: it is too large. Options to address this: view the blob.
...@@ -11,7 +11,7 @@ components: ...@@ -11,7 +11,7 @@ components:
type: http type: http
externalDocs: externalDocs:
description: Project Website description: Project Website
url: https://www.ifs.tuwien.ac.at/infrastructures/dbrepo/1.6/ url: https://www.ifs.tuwien.ac.at/infrastructures/dbrepo/1.7/
info: info:
contact: contact:
email: andreas.rauber@tuwien.ac.at email: andreas.rauber@tuwien.ac.at
...@@ -24,7 +24,7 @@ info: ...@@ -24,7 +24,7 @@ info:
name: Apache 2.0 name: Apache 2.0
url: https://www.apache.org/licenses/LICENSE-2.0 url: https://www.apache.org/licenses/LICENSE-2.0
title: DBRepo REST API title: DBRepo REST API
version: 1.6.5 version: 1.7.0
openapi: 3.1.0 openapi: 3.1.0
servers: servers:
- description: Test Instance - description: Test Instance
......
...@@ -16,7 +16,7 @@ info: ...@@ -16,7 +16,7 @@ info:
name: Apache 2.0 name: Apache 2.0
url: 'https://www.apache.org/licenses/LICENSE-2.0' url: 'https://www.apache.org/licenses/LICENSE-2.0'
title: DBRepo REST API title: DBRepo REST API
version: 1.6.2 version: 1.7.0
servers: servers:
- description: Test Instance - description: Test Instance
url: 'https://test.dbrepo.tuwien.ac.at' url: 'https://test.dbrepo.tuwien.ac.at'
...@@ -24,7 +24,7 @@ servers: ...@@ -24,7 +24,7 @@ servers:
url: 'http://localhost' url: 'http://localhost'
externalDocs: externalDocs:
description: Project Website description: Project Website
url: 'https://www.ifs.tuwien.ac.at/infrastructures/dbrepo/1.6/' url: 'https://www.ifs.tuwien.ac.at/infrastructures/dbrepo/1.7/'
paths: paths:
/api/analyse/datatypes: /api/analyse/datatypes:
get: get:
...@@ -153,22 +153,21 @@ paths: ...@@ -153,22 +153,21 @@ paths:
summary: Get view data summary: Get view data
description: >- description: >-
Gets data from a view of a database. For private databases, the user Gets data from a view of a database. For private databases, the user
needs at least *READ* access to the associated database. Requires role needs at least *READ* access to the associated database.
`view-database-view-data`.
operationId: getData operationId: getData
parameters: parameters:
- name: databaseId - name: databaseId
in: path in: path
required: true required: true
schema: schema:
type: integer type: string
format: int64 format: uuid
- name: viewId - name: viewId
in: path in: path
required: true required: true
schema: schema:
type: integer type: string
format: int64 format: uuid
- name: page - name: page
in: query in: query
required: false required: false
...@@ -242,22 +241,21 @@ paths: ...@@ -242,22 +241,21 @@ paths:
summary: Get view data summary: Get view data
description: >- description: >-
Gets data from a view of a database. For private databases, the user Gets data from a view of a database. For private databases, the user
needs at least *READ* access to the associated database. Requires role needs at least *READ* access to the associated database.
`view-database-view-data`.
operationId: getData_1 operationId: getData_1
parameters: parameters:
- name: databaseId - name: databaseId
in: path in: path
required: true required: true
schema: schema:
type: integer type: string
format: int64 format: uuid
- name: viewId - name: viewId
in: path in: path
required: true required: true
schema: schema:
type: integer type: string
format: int64 format: uuid
- name: page - name: page
in: query in: query
required: false required: false
...@@ -341,14 +339,14 @@ paths: ...@@ -341,14 +339,14 @@ paths:
in: path in: path
required: true required: true
schema: schema:
type: integer type: string
format: int64 format: uuid
- name: tableId - name: tableId
in: path in: path
required: true required: true
schema: schema:
type: integer type: string
format: int64 format: uuid
- name: timestamp - name: timestamp
in: query in: query
required: false required: false
...@@ -424,14 +422,14 @@ paths: ...@@ -424,14 +422,14 @@ paths:
in: path in: path
required: true required: true
schema: schema:
type: integer type: string
format: int64 format: uuid
- name: tableId - name: tableId
in: path in: path
required: true required: true
schema: schema:
type: integer type: string
format: int64 format: uuid
- name: Authorization - name: Authorization
in: header in: header
required: true required: true
...@@ -487,14 +485,14 @@ paths: ...@@ -487,14 +485,14 @@ paths:
in: path in: path
required: true required: true
schema: schema:
type: integer type: string
format: int64 format: uuid
- name: tableId - name: tableId
in: path in: path
required: true required: true
schema: schema:
type: integer type: string
format: int64 format: uuid
- name: Authorization - name: Authorization
in: header in: header
required: true required: true
...@@ -552,14 +550,14 @@ paths: ...@@ -552,14 +550,14 @@ paths:
in: path in: path
required: true required: true
schema: schema:
type: integer type: string
format: int64 format: uuid
- name: tableId - name: tableId
in: path in: path
required: true required: true
schema: schema:
type: integer type: string
format: int64 format: uuid
- name: Authorization - name: Authorization
in: header in: header
required: true required: true
...@@ -616,14 +614,14 @@ paths: ...@@ -616,14 +614,14 @@ paths:
in: path in: path
required: true required: true
schema: schema:
type: integer type: string
format: int64 format: uuid
- name: tableId - name: tableId
in: path in: path
required: true required: true
schema: schema:
type: integer type: string
format: int64 format: uuid
- name: timestamp - name: timestamp
in: query in: query
required: false required: false
...@@ -702,14 +700,14 @@ paths: ...@@ -702,14 +700,14 @@ paths:
in: path in: path
required: true required: true
schema: schema:
type: integer type: string
format: int64 format: uuid
- name: subsetId - name: subsetId
in: path in: path
required: true required: true
schema: schema:
type: integer type: string
format: int64 format: uuid
- name: timestamp - name: timestamp
in: query in: query
required: false required: false
...@@ -795,14 +793,14 @@ paths: ...@@ -795,14 +793,14 @@ paths:
in: path in: path
required: true required: true
schema: schema:
type: integer type: string
format: int64 format: uuid
- name: subsetId - name: subsetId
in: path in: path
required: true required: true
schema: schema:
type: integer type: string
format: int64 format: uuid
- name: timestamp - name: timestamp
in: query in: query
required: false required: false
...@@ -884,14 +882,14 @@ paths: ...@@ -884,14 +882,14 @@ paths:
in: path in: path
required: true required: true
schema: schema:
type: integer type: string
format: int64 format: uuid
- name: queryId - name: queryId
in: path in: path
required: true required: true
schema: schema:
type: integer type: string
format: int64 format: uuid
requestBody: requestBody:
content: content:
application/json: application/json:
...@@ -940,6 +938,43 @@ paths: ...@@ -940,6 +938,43 @@ paths:
security: security:
- bearerAuth: [] - bearerAuth: []
- basicAuth: [] - basicAuth: []
/api/upload:
post:
tags:
- upload-endpoint
summary: Uploads a multipart file
description: >-
Uploads a multipart file to the Storage Service. Requires role
`upload-file`.
operationId: create
requestBody:
content:
application/json:
schema:
required:
- file
type: object
properties:
file:
type: string
format: binary
required: true
responses:
'201':
description: Uploaded the file
content:
application/json:
schema:
$ref: '#/components/schemas/ViewDto'
'503':
description: Failed to establish connection with the storage service
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorDto'
security:
- basicAuth: []
- bearerAuth: []
'/api/database/{databaseId}/table/{tableId}/data/import': '/api/database/{databaseId}/table/{tableId}/data/import':
post: post:
tags: tags:
...@@ -956,14 +991,14 @@ paths: ...@@ -956,14 +991,14 @@ paths:
in: path in: path
required: true required: true
schema: schema:
type: integer type: string
format: int64 format: uuid
- name: tableId - name: tableId
in: path in: path
required: true required: true
schema: schema:
type: integer type: string
format: int64 format: uuid
- name: Authorization - name: Authorization
in: header in: header
required: true required: true
...@@ -1022,8 +1057,8 @@ paths: ...@@ -1022,8 +1057,8 @@ paths:
in: path in: path
required: true required: true
schema: schema:
type: integer type: string
format: int64 format: uuid
- name: persisted - name: persisted
in: query in: query
required: false required: false
...@@ -1070,14 +1105,14 @@ paths: ...@@ -1070,14 +1105,14 @@ paths:
used without authentication if (and only if) the database is marked as used without authentication if (and only if) the database is marked as
public (i.e. when `is_public` = `is_schema_public` is set to `true`). public (i.e. when `is_public` = `is_schema_public` is set to `true`).
Otherwise at least read access is required. Otherwise at least read access is required.
operationId: create operationId: create_1
parameters: parameters:
- name: databaseId - name: databaseId
in: path in: path
required: true required: true
schema: schema:
type: integer type: string
format: int64 format: uuid
- name: timestamp - name: timestamp
in: query in: query
required: false required: false
...@@ -1100,7 +1135,7 @@ paths: ...@@ -1100,7 +1135,7 @@ paths:
content: content:
application/json: application/json:
schema: schema:
$ref: '#/components/schemas/ExecuteStatementDto' $ref: '#/components/schemas/SubsetDto'
required: true required: true
responses: responses:
'201': '201':
...@@ -1165,14 +1200,14 @@ paths: ...@@ -1165,14 +1200,14 @@ paths:
in: path in: path
required: true required: true
schema: schema:
type: integer type: string
format: int64 format: uuid
- name: viewId - name: viewId
in: path in: path
required: true required: true
schema: schema:
type: integer type: string
format: int64 format: uuid
- name: timestamp - name: timestamp
in: query in: query
required: false required: false
...@@ -1229,14 +1264,14 @@ paths: ...@@ -1229,14 +1264,14 @@ paths:
in: path in: path
required: true required: true
schema: schema:
type: integer type: string
format: int64 format: uuid
- name: tableId - name: tableId
in: path in: path
required: true required: true
schema: schema:
type: integer type: string
format: int64 format: uuid
- name: size - name: size
in: query in: query
required: false required: false
...@@ -1294,14 +1329,14 @@ paths: ...@@ -1294,14 +1329,14 @@ paths:
in: path in: path
required: true required: true
schema: schema:
type: integer type: string
format: int64 format: uuid
- name: tableId - name: tableId
in: path in: path
required: true required: true
schema: schema:
type: integer type: string
format: int64 format: uuid
- name: timestamp - name: timestamp
in: query in: query
required: false required: false
...@@ -1360,14 +1395,14 @@ paths: ...@@ -1360,14 +1395,14 @@ paths:
in: path in: path
required: true required: true
schema: schema:
type: integer type: string
format: int64 format: uuid
- name: subsetId - name: subsetId
in: path in: path
required: true required: true
schema: schema:
type: integer type: string
format: int64 format: uuid
- name: Accept - name: Accept
in: header in: header
required: true required: true
...@@ -1422,95 +1457,227 @@ paths: ...@@ -1422,95 +1457,227 @@ paths:
security: security:
- basicAuth: [] - basicAuth: []
- bearerAuth: [] - bearerAuth: []
/api/database: '/api/user/{userId}':
get: get:
tags: tags:
- database-endpoint - user-endpoint
summary: List databases summary: Get user
description: >- description: >-
Lists all databases in the metadata database. Requests with HTTP method Gets own user information from the metadata database. Requires
**GET** return the list of databases, requests with HTTP method **HEAD** authentication. Foreign user information can only be obtained if
only the number in the `X-Count` header. additional role `find-foreign-user` is present. Finding information
operationId: list1 about internal users results in a 404 error.
operationId: find
parameters: parameters:
- name: internal_name - name: userId
in: query in: path
required: false required: true
schema: schema:
type: string type: string
format: uuid
responses: responses:
'200': '200':
description: List of databases description: Found user
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: content:
application/json: application/json:
schema: schema:
type: array $ref: '#/components/schemas/UserDto'
items: '403':
$ref: '#/components/schemas/DatabaseBriefDto' description: Find user is not permitted
post: content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorDto'
'404':
description: User was not found
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorDto'
security:
- bearerAuth: []
- basicAuth: []
put:
tags: tags:
- database-endpoint - user-endpoint
summary: Create database summary: Update user
description: >- description: Updates user with id. Requires role `modify-user-information`.
Creates a database in the container with id. Requires roles operationId: modify
`create-database`. parameters:
operationId: create_5 - name: userId
in: path
required: true
schema:
type: string
format: uuid
requestBody: requestBody:
content: content:
application/json: application/json:
schema: schema:
$ref: '#/components/schemas/CreateDatabaseDto' $ref: '#/components/schemas/UserUpdateDto'
required: true required: true
responses: responses:
'201': '202':
description: Created a new database description: Modified user information
content: content:
application/json: application/json:
schema: schema:
$ref: '#/components/schemas/DatabaseBriefDto' $ref: '#/components/schemas/UserDto'
'400': '400':
description: Database create query is malformed or image is not supported description: Modify user query is malformed
content: content:
application/json: application/json:
schema: schema:
$ref: '#/components/schemas/ApiErrorDto' $ref: '#/components/schemas/ApiErrorDto'
'403': '403':
description: >- description: Not allowed to modify user metadata
Database create permission is missing or grant permissions at broker
service failed
content: content:
application/json: application/json:
schema: schema:
$ref: '#/components/schemas/ApiErrorDto' $ref: '#/components/schemas/ApiErrorDto'
'404': '404':
description: Failed to fin container/user/database in metadata database description: Failed to find database/user in metadata database
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorDto'
'409':
description: Query store could not be created
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorDto'
'423':
description: Database quota exceeded
content: content:
application/json: application/json:
schema: schema:
$ref: '#/components/schemas/ApiErrorDto' $ref: '#/components/schemas/ApiErrorDto'
'502': '503':
description: Connection to search service failed description: Failed to modify user at auth service
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorDto'
security:
- bearerAuth: []
- basicAuth: []
head:
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_1
parameters:
- name: userId
in: path
required: true
schema:
type: string
format: uuid
responses:
'200':
description: Found user
content:
application/json:
schema:
$ref: '#/components/schemas/UserDto'
'403':
description: Find user is not permitted
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorDto'
'404':
description: User was not found
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorDto'
security:
- bearerAuth: []
- basicAuth: []
/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: list1
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_4
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateDatabaseDto'
required: true
responses:
'201':
description: Created a new database
content:
application/json:
schema:
$ref: '#/components/schemas/DatabaseBriefDto'
'400':
description: Database create query is malformed or image is not supported
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'
'404':
description: Failed to fin container/user/database in metadata database
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorDto'
'409':
description: Query store could not be created
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorDto'
'423':
description: Database quota exceeded
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorDto'
'502':
description: Connection to search service failed
content: content:
application/json: application/json:
schema: schema:
...@@ -1568,14 +1735,14 @@ paths: ...@@ -1568,14 +1735,14 @@ paths:
with HTTP method **HEAD** only the status. When the user has at least with HTTP method **HEAD** only the status. When the user has at least
*READ* access, the status 200 is returned, 403 otherwise. Requires role *READ* access, the status 200 is returned, 403 otherwise. Requires role
`check-database-access` or `check-foreign-database-access`. `check-database-access` or `check-foreign-database-access`.
operationId: find operationId: find_2
parameters: parameters:
- name: databaseId - name: databaseId
in: path in: path
required: true required: true
schema: schema:
type: integer type: string
format: int64 format: uuid
- name: userId - name: userId
in: path in: path
required: true required: true
...@@ -1617,8 +1784,8 @@ paths: ...@@ -1617,8 +1784,8 @@ paths:
in: path in: path
required: true required: true
schema: schema:
type: integer type: string
format: int64 format: uuid
- name: userId - name: userId
in: path in: path
required: true required: true
...@@ -1678,14 +1845,14 @@ paths: ...@@ -1678,14 +1845,14 @@ paths:
description: >- description: >-
Give a user with given id access to some database with given id. Give a user with given id access to some database with given id.
Requires role `create-database-access`. Requires role `create-database-access`.
operationId: create_8 operationId: create_7
parameters: parameters:
- name: databaseId - name: databaseId
in: path in: path
required: true required: true
schema: schema:
type: integer type: string
format: int64 format: uuid
- name: userId - name: userId
in: path in: path
required: true required: true
...@@ -1751,8 +1918,8 @@ paths: ...@@ -1751,8 +1918,8 @@ paths:
in: path in: path
required: true required: true
schema: schema:
type: integer type: string
format: int64 format: uuid
- name: userId - name: userId
in: path in: path
required: true required: true
...@@ -1805,14 +1972,14 @@ paths: ...@@ -1805,14 +1972,14 @@ paths:
with HTTP method **HEAD** only the status. When the user has at least with HTTP method **HEAD** only the status. When the user has at least
*READ* access, the status 200 is returned, 403 otherwise. Requires role *READ* access, the status 200 is returned, 403 otherwise. Requires role
`check-database-access` or `check-foreign-database-access`. `check-database-access` or `check-foreign-database-access`.
operationId: find_1 operationId: find_3
parameters: parameters:
- name: databaseId - name: databaseId
in: path in: path
required: true required: true
schema: schema:
type: integer type: string
format: int64 format: uuid
- name: userId - name: userId
in: path in: path
required: true required: true
...@@ -1841,19 +2008,15 @@ paths: ...@@ -1841,19 +2008,15 @@ paths:
security: security:
- bearerAuth: [] - bearerAuth: []
- basicAuth: [] - basicAuth: []
'/api/user/{userId}': '/api/ontology/{ontologyId}':
get: get:
tags: tags:
- user-endpoint - ontology-endpoint
summary: Get user summary: Find ontology
description: >- description: Finds an ontology with id in the metadata database.
Gets own user information from the metadata database. Requires operationId: find_4
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: parameters:
- name: userId - name: ontologyId
in: path in: path
required: true required: true
schema: schema:
...@@ -1861,34 +2024,25 @@ paths: ...@@ -1861,34 +2024,25 @@ paths:
format: uuid format: uuid
responses: responses:
'200': '200':
description: Found user description: Find one ontology
content:
application/json:
schema:
$ref: '#/components/schemas/UserDto'
'403':
description: Find user is not permitted
content: content:
application/json: application/json:
schema: schema:
$ref: '#/components/schemas/ApiErrorDto' $ref: '#/components/schemas/OntologyDto'
'404': '404':
description: User was not found description: Could not find ontology
content: content:
application/json: application/json:
schema: schema:
$ref: '#/components/schemas/ApiErrorDto' $ref: '#/components/schemas/ApiErrorDto'
security:
- bearerAuth: []
- basicAuth: []
put: put:
tags: tags:
- user-endpoint - ontology-endpoint
summary: Update user summary: Update ontology
description: Updates user with id. Requires role `modify-user-information`. description: Updates an ontology with id. Requires role `update-ontology`.
operationId: modify operationId: update
parameters: parameters:
- name: userId - name: ontologyId
in: path in: path
required: true required: true
schema: schema:
...@@ -1898,29 +2052,44 @@ paths: ...@@ -1898,29 +2052,44 @@ paths:
content: content:
application/json: application/json:
schema: schema:
$ref: '#/components/schemas/UserUpdateDto' $ref: '#/components/schemas/OntologyModifyDto'
required: true required: true
responses: responses:
'202': '202':
description: Modified user information description: Updated ontology successfully
content: content:
application/json: application/json:
schema: schema:
$ref: '#/components/schemas/UserDto' $ref: '#/components/schemas/OntologyDto'
'400': '404':
description: Modify user query is malformed description: Could not find ontology
content: content:
application/json: application/json:
schema: schema:
$ref: '#/components/schemas/ApiErrorDto' $ref: '#/components/schemas/ApiErrorDto'
'403': security:
description: Not allowed to modify user metadata - 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: string
format: uuid
responses:
'202':
description: Deleted ontology successfully
content: content:
application/json: application/json: {}
schema:
$ref: '#/components/schemas/ApiErrorDto'
'404': '404':
description: Failed to find database/user in metadata database description: Could not find ontology
content: content:
application/json: application/json:
schema: schema:
...@@ -1928,15 +2097,15 @@ paths: ...@@ -1928,15 +2097,15 @@ paths:
security: security:
- bearerAuth: [] - bearerAuth: []
- basicAuth: [] - basicAuth: []
'/api/user/{userId}/password': '/api/message/{messageId}':
put: put:
tags: tags:
- user-endpoint - message-endpoint
summary: Update user password summary: Update message
description: Updates password of user with id. Requires authentication. description: Updates a message with id. Requires role `update-maintenance-message`.
operationId: password operationId: update_1
parameters: parameters:
- name: userId - name: messageId
in: path in: path
required: true required: true
schema: schema:
...@@ -1946,257 +2115,17 @@ paths: ...@@ -1946,257 +2115,17 @@ paths:
content: content:
application/json: application/json:
schema: schema:
$ref: '#/components/schemas/UserPasswordDto' $ref: '#/components/schemas/BannerMessageUpdateDto'
required: true required: true
responses: responses:
'202': '202':
description: Modified user password description: Updated message
'400':
description: Invalid password payload
content: content:
application/json: application/json:
schema: schema:
$ref: '#/components/schemas/ApiErrorDto' $ref: '#/components/schemas/BannerMessageBriefDto'
'403': '404':
description: Not allowed to change foreign user password description: Could not find message
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'
'503':
description: Failed to get user in auth service
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'
'400':
description: Invalid refresh token
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorDto'
'403':
description: Not allowed
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:
'202':
description: Obtained user token
content:
application/json:
schema:
$ref: '#/components/schemas/TokenDto'
'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'
'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'
'503':
description: Failed to get user in auth service
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:
'200':
description: Find one ontology
content:
application/json:
schema:
$ref: '#/components/schemas/OntologyDto'
'404':
description: Could not find ontology
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorDto'
put:
tags:
- ontology-endpoint
summary: Update 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:
'202':
description: Updated ontology successfully
content:
application/json:
schema:
$ref: '#/components/schemas/OntologyDto'
'404':
description: Could not find ontology
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorDto'
security:
- bearerAuth: []
- basicAuth: []
delete:
tags:
- ontology-endpoint
summary: Delete 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: content:
application/json: application/json:
schema: schema:
...@@ -2215,8 +2144,8 @@ paths: ...@@ -2215,8 +2144,8 @@ paths:
in: path in: path
required: true required: true
schema: schema:
type: integer type: string
format: int64 format: uuid
responses: responses:
'202': '202':
description: Deleted message description: Deleted message
...@@ -2243,8 +2172,8 @@ paths: ...@@ -2243,8 +2172,8 @@ paths:
in: path in: path
required: true required: true
schema: schema:
type: integer type: string
format: int64 format: uuid
responses: responses:
'200': '200':
description: Found image description: Found image
...@@ -2271,8 +2200,8 @@ paths: ...@@ -2271,8 +2200,8 @@ paths:
in: path in: path
required: true required: true
schema: schema:
type: integer type: string
format: int64 format: uuid
requestBody: requestBody:
content: content:
application/json: application/json:
...@@ -2308,8 +2237,8 @@ paths: ...@@ -2308,8 +2237,8 @@ paths:
in: path in: path
required: true required: true
schema: schema:
type: integer type: string
format: int64 format: uuid
responses: responses:
'202': '202':
description: Deleted image successfully description: Deleted image successfully
...@@ -2330,14 +2259,14 @@ paths: ...@@ -2330,14 +2259,14 @@ paths:
description: >- description: >-
Finds an identifier with id. The response format depends on the HTTP Finds an identifier with id. The response format depends on the HTTP
`Accept` header set on the request. `Accept` header set on the request.
operationId: find_6 operationId: find_7
parameters: parameters:
- name: identifierId - name: identifierId
in: path in: path
required: true required: true
schema: schema:
type: integer type: string
format: int64 format: uuid
- name: Accept - name: Accept
in: header in: header
required: true required: true
...@@ -2365,6 +2294,12 @@ paths: ...@@ -2365,6 +2294,12 @@ paths:
application/json: application/json:
schema: schema:
$ref: '#/components/schemas/ApiErrorDto' $ref: '#/components/schemas/ApiErrorDto'
'403':
description: Not allowed to view identifier
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorDto'
'404': '404':
description: Identifier could not be found description: Identifier could not be found
content: content:
...@@ -2416,8 +2351,8 @@ paths: ...@@ -2416,8 +2351,8 @@ paths:
in: path in: path
required: true required: true
schema: schema:
type: integer type: string
format: int64 format: uuid
requestBody: requestBody:
content: content:
application/json: application/json:
...@@ -2475,8 +2410,8 @@ paths: ...@@ -2475,8 +2410,8 @@ paths:
in: path in: path
required: true required: true
schema: schema:
type: integer type: string
format: int64 format: uuid
responses: responses:
'202': '202':
description: Deleted identifier description: Deleted identifier
...@@ -2521,8 +2456,8 @@ paths: ...@@ -2521,8 +2456,8 @@ paths:
in: path in: path
required: true required: true
schema: schema:
type: integer type: string
format: int64 format: uuid
responses: responses:
'202': '202':
description: Published identifier description: Published identifier
...@@ -2577,8 +2512,8 @@ paths: ...@@ -2577,8 +2512,8 @@ paths:
in: path in: path
required: true required: true
schema: schema:
type: integer type: string
format: int64 format: uuid
requestBody: requestBody:
content: content:
application/json: application/json:
...@@ -2631,48 +2566,23 @@ paths: ...@@ -2631,48 +2566,23 @@ paths:
- view-endpoint - view-endpoint
summary: Get view summary: Get view
description: Gets a view with id in the metadata database. description: Gets a view with id in the metadata database.
operationId: find_7 operationId: find_8
parameters: parameters:
- name: databaseId - name: databaseId
in: path in: path
required: true required: true
schema: schema:
type: integer type: string
format: int64 format: uuid
- name: viewId - name: viewId
in: path in: path
required: true required: true
schema: schema:
type: integer type: string
format: int64 format: uuid
responses: responses:
'200': '200':
description: Find view successfully 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: content:
application/json: application/json:
schema: schema:
...@@ -2705,14 +2615,14 @@ paths: ...@@ -2705,14 +2615,14 @@ paths:
in: path in: path
required: true required: true
schema: schema:
type: integer type: string
format: int64 format: uuid
- name: viewId - name: viewId
in: path in: path
required: true required: true
schema: schema:
type: integer type: string
format: int64 format: uuid
requestBody: requestBody:
content: content:
application/json: application/json:
...@@ -2770,14 +2680,14 @@ paths: ...@@ -2770,14 +2680,14 @@ paths:
in: path in: path
required: true required: true
schema: schema:
type: integer type: string
format: int64 format: uuid
- name: viewId - name: viewId
in: path in: path
required: true required: true
schema: schema:
type: integer type: string
format: int64 format: uuid
responses: responses:
'202': '202':
description: Delete view successfully description: Delete view successfully
...@@ -2836,27 +2746,17 @@ paths: ...@@ -2836,27 +2746,17 @@ paths:
in: path in: path
required: true required: true
schema: schema:
type: integer type: string
format: int64 format: uuid
- name: tableId - name: tableId
in: path in: path
required: true required: true
schema: schema:
type: integer type: string
format: int64 format: uuid
responses: responses:
'200': '200':
description: Find table successfully description: Find table 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: content:
application/json: application/json:
schema: schema:
...@@ -2873,18 +2773,6 @@ paths: ...@@ -2873,18 +2773,6 @@ paths:
application/json: application/json:
schema: schema:
$ref: '#/components/schemas/ApiErrorDto' $ref: '#/components/schemas/ApiErrorDto'
'502':
description: Failed to establish connection with broker service
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorDto'
'503':
description: Failed to obtain queue information from broker service
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorDto'
security: security:
- bearerAuth: [] - bearerAuth: []
- basicAuth: [] - basicAuth: []
...@@ -2899,14 +2787,14 @@ paths: ...@@ -2899,14 +2787,14 @@ paths:
in: path in: path
required: true required: true
schema: schema:
type: integer type: string
format: int64 format: uuid
- name: tableId - name: tableId
in: path in: path
required: true required: true
schema: schema:
type: integer type: string
format: int64 format: uuid
requestBody: requestBody:
content: content:
application/json: application/json:
...@@ -2967,14 +2855,14 @@ paths: ...@@ -2967,14 +2855,14 @@ paths:
in: path in: path
required: true required: true
schema: schema:
type: integer type: string
format: int64 format: uuid
- name: tableId - name: tableId
in: path in: path
required: true required: true
schema: schema:
type: integer type: string
format: int64 format: uuid
responses: responses:
'202': '202':
description: Delete table successfully description: Delete table successfully
...@@ -3026,14 +2914,14 @@ paths: ...@@ -3026,14 +2914,14 @@ paths:
in: path in: path
required: true required: true
schema: schema:
type: integer type: string
format: int64 format: uuid
- name: tableId - name: tableId
in: path in: path
required: true required: true
schema: schema:
type: integer type: string
format: int64 format: uuid
responses: responses:
'202': '202':
description: Updated table statistics successfully description: Updated table statistics successfully
...@@ -3086,20 +2974,20 @@ paths: ...@@ -3086,20 +2974,20 @@ paths:
in: path in: path
required: true required: true
schema: schema:
type: integer type: string
format: int64 format: uuid
- name: tableId - name: tableId
in: path in: path
required: true required: true
schema: schema:
type: integer type: string
format: int64 format: uuid
- name: columnId - name: columnId
in: path in: path
required: true required: true
schema: schema:
type: integer type: string
format: int64 format: uuid
requestBody: requestBody:
content: content:
application/json: application/json:
...@@ -3162,8 +3050,8 @@ paths: ...@@ -3162,8 +3050,8 @@ paths:
in: path in: path
required: true required: true
schema: schema:
type: integer type: string
format: int64 format: uuid
requestBody: requestBody:
content: content:
application/json: application/json:
...@@ -3225,8 +3113,8 @@ paths: ...@@ -3225,8 +3113,8 @@ paths:
in: path in: path
required: true required: true
schema: schema:
type: integer type: string
format: int64 format: uuid
responses: responses:
'200': '200':
description: Refreshed database views metadata description: Refreshed database views metadata
...@@ -3276,8 +3164,8 @@ paths: ...@@ -3276,8 +3164,8 @@ paths:
in: path in: path
required: true required: true
schema: schema:
type: integer type: string
format: int64 format: uuid
responses: responses:
'200': '200':
description: Refreshed database tables metadata description: Refreshed database tables metadata
...@@ -3298,7 +3186,7 @@ paths: ...@@ -3298,7 +3186,7 @@ paths:
schema: schema:
$ref: '#/components/schemas/ApiErrorDto' $ref: '#/components/schemas/ApiErrorDto'
'404': '404':
description: Failed to fin user/database in metadata database description: Failed to find database in metadata database
content: content:
application/json: application/json:
schema: schema:
...@@ -3330,8 +3218,8 @@ paths: ...@@ -3330,8 +3218,8 @@ paths:
in: path in: path
required: true required: true
schema: schema:
type: integer type: string
format: int64 format: uuid
responses: responses:
'200': '200':
description: View of image was successful description: View of image was successful
...@@ -3364,8 +3252,8 @@ paths: ...@@ -3364,8 +3252,8 @@ paths:
in: path in: path
required: true required: true
schema: schema:
type: integer type: string
format: int64 format: uuid
requestBody: requestBody:
content: content:
application/json: application/json:
...@@ -3412,93 +3300,6 @@ paths: ...@@ -3412,93 +3300,6 @@ paths:
security: security:
- bearerAuth: [] - bearerAuth: []
- basicAuth: [] - 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: create1
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateUserDto'
required: true
responses:
'201':
description: Created user
content:
application/json:
schema:
$ref: '#/components/schemas/UserDto'
'400':
description: Parameters are not well-formed (likely email)
content:
application/json: {}
'403':
description: Internal authentication to the auth service is invalid
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorDto'
'404':
description: Default role not found
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorDto'
'409':
description: User with username already exists
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorDto'
'417':
description: User with e-mail already exists
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorDto'
'502':
description: Failed to create in auth service
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorDto'
'503':
description: Failed to create in auth service
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorDto'
/api/ontology: /api/ontology:
get: get:
tags: tags:
...@@ -3522,7 +3323,7 @@ paths: ...@@ -3522,7 +3323,7 @@ paths:
description: >- description: >-
Creates an ontology in the metadata database. Requires role Creates an ontology in the metadata database. Requires role
`create-ontology`. `create-ontology`.
operationId: create_1 operationId: create1
requestBody: requestBody:
content: content:
application/json: application/json:
...@@ -3573,7 +3374,7 @@ paths: ...@@ -3573,7 +3374,7 @@ paths:
description: >- description: >-
Creates a message in the metadata database. Requires role Creates a message in the metadata database. Requires role
`create-maintenance-message`. `create-maintenance-message`.
operationId: create_2 operationId: create_11
requestBody: requestBody:
content: content:
application/json: application/json:
...@@ -3613,7 +3414,7 @@ paths: ...@@ -3613,7 +3414,7 @@ paths:
description: >- description: >-
Creates a container image in the metadata database. Requires role Creates a container image in the metadata database. Requires role
`create-image`. `create-image`.
operationId: create_3 operationId: create_2
requestBody: requestBody:
content: content:
application/json: application/json:
...@@ -3650,30 +3451,48 @@ paths: ...@@ -3650,30 +3451,48 @@ paths:
description: Lists all identifiers known to the metadata database description: Lists all identifiers known to the metadata database
operationId: findAll_4 operationId: findAll_4
parameters: parameters:
- name: type
in: query
required: false
schema:
type: string
enum:
- database
- subset
- table
- view
- name: status
in: query
required: false
schema:
type: string
enum:
- draft
- published
- name: dbid - name: dbid
in: query in: query
required: false required: false
schema: schema:
type: integer type: string
format: int64 format: uuid
- name: qid - name: qid
in: query in: query
required: false required: false
schema: schema:
type: integer type: string
format: int64 format: uuid
- name: vid - name: vid
in: query in: query
required: false required: false
schema: schema:
type: integer type: string
format: int64 format: uuid
- name: tid - name: tid
in: query in: query
required: false required: false
schema: schema:
type: integer type: string
format: int64 format: uuid
- name: Accept - name: Accept
in: header in: header
required: true required: true
...@@ -3693,12 +3512,6 @@ paths: ...@@ -3693,12 +3512,6 @@ paths:
type: array type: array
items: items:
$ref: '#/components/schemas/LdDatasetDto' $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: post:
tags: tags:
- identifier-endpoint - identifier-endpoint
...@@ -3708,7 +3521,7 @@ paths: ...@@ -3708,7 +3521,7 @@ paths:
can only be created for objects the user has at least *READ* access in can only be created for objects the user has at least *READ* access in
the associated database (requires role `create-identifier`) or for any the associated database (requires role `create-identifier`) or for any
object in any database (requires role `create-foreign-identifier`). object in any database (requires role `create-foreign-identifier`).
operationId: create_4 operationId: create_3
requestBody: requestBody:
content: content:
application/json: application/json:
...@@ -3767,8 +3580,8 @@ paths: ...@@ -3767,8 +3580,8 @@ paths:
in: path in: path
required: true required: true
schema: schema:
type: integer type: string
format: int64 format: uuid
responses: responses:
'200': '200':
description: Find views successfully description: Find views successfully
...@@ -3794,14 +3607,14 @@ paths: ...@@ -3794,14 +3607,14 @@ paths:
description: >- description: >-
Creates a view. This can only be performed by the database owner. Creates a view. This can only be performed by the database owner.
Requires role `create-database-view`. Requires role `create-database-view`.
operationId: create_6 operationId: create_5
parameters: parameters:
- name: databaseId - name: databaseId
in: path in: path
required: true required: true
schema: schema:
type: integer type: string
format: int64 format: uuid
requestBody: requestBody:
content: content:
application/json: application/json:
...@@ -3833,6 +3646,12 @@ paths: ...@@ -3833,6 +3646,12 @@ paths:
application/json: application/json:
schema: schema:
$ref: '#/components/schemas/ApiErrorDto' $ref: '#/components/schemas/ApiErrorDto'
'409':
description: View exists with name
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorDto'
'423': '423':
description: Create view resulted in an invalid query statement description: Create view resulted in an invalid query statement
content: content:
...@@ -3869,8 +3688,8 @@ paths: ...@@ -3869,8 +3688,8 @@ paths:
in: path in: path
required: true required: true
schema: schema:
type: integer type: string
format: int64 format: uuid
responses: responses:
'200': '200':
description: List tables description: List tables
...@@ -3900,14 +3719,14 @@ paths: ...@@ -3900,14 +3719,14 @@ paths:
- table-endpoint - table-endpoint
summary: Create table summary: Create table
description: Creates a table in the database with id. Requires role `create-table`. description: Creates a table in the database with id. Requires role `create-table`.
operationId: create_7 operationId: create_6
parameters: parameters:
- name: databaseId - name: databaseId
in: path in: path
required: true required: true
schema: schema:
type: integer type: string
format: int64 format: uuid
requestBody: requestBody:
content: content:
application/json: application/json:
...@@ -3990,7 +3809,7 @@ paths: ...@@ -3990,7 +3809,7 @@ paths:
description: >- description: >-
Creates a container in the metadata database. Requires role Creates a container in the metadata database. Requires role
`create-container`. `create-container`.
operationId: create_9 operationId: create_8
requestBody: requestBody:
content: content:
application/json: application/json:
...@@ -4031,6 +3850,32 @@ paths: ...@@ -4031,6 +3850,32 @@ paths:
security: security:
- bearerAuth: [] - bearerAuth: []
- basicAuth: [] - 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'
/api/unit: /api/unit:
get: get:
tags: tags:
...@@ -4055,14 +3900,14 @@ paths: ...@@ -4055,14 +3900,14 @@ paths:
description: >- description: >-
Finds semantic entities by label or uri in an ontology with id. Requires Finds semantic entities by label or uri in an ontology with id. Requires
role `execute-semantic-query`. role `execute-semantic-query`.
operationId: find_4 operationId: find_5
parameters: parameters:
- name: ontologyId - name: ontologyId
in: path in: path
required: true required: true
schema: schema:
type: integer type: string
format: int64 format: uuid
- name: label - name: label
in: query in: query
required: false required: false
...@@ -4134,14 +3979,14 @@ paths: ...@@ -4134,14 +3979,14 @@ paths:
- message-endpoint - message-endpoint
summary: Find message summary: Find message
description: Finds a message with id in the metadata database. description: Finds a message with id in the metadata database.
operationId: find_5 operationId: find_6
parameters: parameters:
- name: messageId - name: messageId
in: path in: path
required: true required: true
schema: schema:
type: integer type: string
format: int64 format: uuid
responses: responses:
'200': '200':
description: Get messages description: Get messages
...@@ -4211,8 +4056,8 @@ paths: ...@@ -4211,8 +4056,8 @@ paths:
in: path in: path
required: true required: true
schema: schema:
type: integer type: string
format: int64 format: uuid
responses: responses:
'200': '200':
description: Database found successfully description: Database found successfully
...@@ -4237,19 +4082,7 @@ paths: ...@@ -4237,19 +4082,7 @@ paths:
schema: schema:
$ref: '#/components/schemas/ApiErrorDto' $ref: '#/components/schemas/ApiErrorDto'
'404': '404':
description: 'Database, user or exchange could not be found' description: Database could not be found
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'
'503':
description: Failed to find queue information in broker service
content: content:
application/json: application/json:
schema: schema:
...@@ -4271,14 +4104,14 @@ paths: ...@@ -4271,14 +4104,14 @@ paths:
in: path in: path
required: true required: true
schema: schema:
type: integer type: string
format: int64 format: uuid
- name: tableId - name: tableId
in: path in: path
required: true required: true
schema: schema:
type: integer type: string
format: int64 format: uuid
responses: responses:
'200': '200':
description: Suggested table semantics successfully description: Suggested table semantics successfully
...@@ -4333,20 +4166,20 @@ paths: ...@@ -4333,20 +4166,20 @@ paths:
in: path in: path
required: true required: true
schema: schema:
type: integer type: string
format: int64 format: uuid
- name: tableId - name: tableId
in: path in: path
required: true required: true
schema: schema:
type: integer type: string
format: int64 format: uuid
- name: columnId - name: columnId
in: path in: path
required: true required: true
schema: schema:
type: integer type: string
format: int64 format: uuid
responses: responses:
'200': '200':
description: Suggested table column semantics successfully description: Suggested table column semantics successfully
...@@ -4389,8 +4222,8 @@ paths: ...@@ -4389,8 +4222,8 @@ paths:
in: path in: path
required: true required: true
schema: schema:
type: integer type: string
format: int64 format: uuid
responses: responses:
'200': '200':
description: Found container description: Found container
...@@ -4417,8 +4250,8 @@ paths: ...@@ -4417,8 +4250,8 @@ paths:
in: path in: path
required: true required: true
schema: schema:
type: integer type: string
format: int64 format: uuid
responses: responses:
'202': '202':
description: Deleted container description: Deleted container
...@@ -4826,9 +4659,9 @@ components: ...@@ -4826,9 +4659,9 @@ components:
type: object type: object
properties: properties:
id: id:
type: integer type: string
format: int64 format: uuid
example: 11 example: e41f94a6-2b94-4a12-ac0e-678684e1c070
affiliation: affiliation:
type: string type: string
example: Brown University example: Brown University
...@@ -4866,6 +4699,7 @@ components: ...@@ -4866,6 +4699,7 @@ components:
required: required:
- creators - creators
- database_id - database_id
- descriptions
- id - id
- owned_by - owned_by
- publication_year - publication_year
...@@ -4876,9 +4710,9 @@ components: ...@@ -4876,9 +4710,9 @@ components:
type: object type: object
properties: properties:
id: id:
type: integer type: string
format: int64 format: uuid
example: 2 example: b97cd56b-66ca-4354-9e6c-f47210cfaaec
type: type:
type: string type: string
example: database example: database
...@@ -4895,6 +4729,10 @@ components: ...@@ -4895,6 +4729,10 @@ components:
type: array type: array
items: items:
$ref: '#/components/schemas/IdentifierTitleDto' $ref: '#/components/schemas/IdentifierTitleDto'
descriptions:
type: array
items:
$ref: '#/components/schemas/IdentifierDescriptionDto'
doi: doi:
type: string type: string
example: 10.1038/nphys1170 example: 10.1038/nphys1170
...@@ -4908,21 +4746,18 @@ components: ...@@ -4908,21 +4746,18 @@ components:
- draft - draft
- published - published
database_id: database_id:
type: integer type: string
format: int64 format: uuid
example: 1 example: fc29f89c-86a8-4020-9e36-4d954736c6cc
query_id: query_id:
type: integer type: string
format: int64 format: uuid
example: 1
table_id: table_id:
type: integer type: string
format: int64 format: uuid
example: 1
view_id: view_id:
type: integer type: string
format: int64 format: uuid
example: 1
publication_year: publication_year:
type: integer type: integer
format: int32 format: int32
...@@ -4931,18 +4766,18 @@ components: ...@@ -4931,18 +4766,18 @@ components:
type: string type: string
format: uuid format: uuid
example: 2f45ef7a-7f9b-4667-9156-152c87fe1ca5 example: 2f45ef7a-7f9b-4667-9156-152c87fe1ca5
IdentifierTitleDto: IdentifierDescriptionDto:
required: required:
- id - id
type: object type: object
properties: properties:
id: id:
type: integer
format: int64
example: 4
title:
type: string type: string
example: Airquality Demonstrator format: uuid
example: e0e9692c-910b-4b60-b53a-fc7c358a917d
description:
type: string
example: 'Air quality reports at Stephansplatz, Vienna'
language: language:
type: string type: string
example: en example: en
...@@ -5133,298 +4968,297 @@ components: ...@@ -5133,298 +4968,297 @@ components:
- zu - zu
type: type:
type: string type: string
example: Abstract
enum: enum:
- AlternativeTitle - Abstract
- Subtitle - Methods
- TranslatedTitle - SeriesInformation
- TableOfContents
- TechnicalInfo
- Other - Other
QueryDto: IdentifierTitleDto:
required:
- database_id
- execution
- id
- identifiers
- is_persisted
- owner
- query
- query_hash
- query_normalized
type: object
properties:
id:
type: integer
format: int64
example: 4
owner:
$ref: '#/components/schemas/UserBriefDto'
execution:
type: string
format: date-time
example: '2021-03-12T15:26:21.000Z'
query:
type: string
example: SELECT `id` FROM `air_quality`
type:
type: string
example: query
enum:
- query
- view
identifiers:
type: array
items:
$ref: '#/components/schemas/IdentifierBriefDto'
database_id:
type: integer
format: int64
example: 1
query_normalized:
type: string
example: SELECT `id` FROM `air_quality`
query_hash:
type: string
example: 17e682f060b5f8e47ea04c5c4855908b0a5ad612022260fe50e11ecb0cc0ab76
is_persisted:
type: boolean
example: true
result_hash:
type: string
example: 17e682f060b5f8e47ea04c5c4855908b0a5ad612022260fe50e11ecb0cc0ab76
result_number:
type: integer
format: int64
example: 1
UserBriefDto:
required: required:
- id - id
- username
type: object type: object
properties: properties:
id: id:
type: string type: string
format: uuid format: uuid
example: 1ffc7b0e-9aeb-4e8b-b8f1-68f3936155b4 example: 70ce5164-fd74-413f-8712-f996b91defbf
username: title:
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
TupleDto:
required:
- data
type: object
properties:
data:
type: object
additionalProperties:
type: object
example:
key: value
example:
key: value
ImportDto:
required:
- header
- location
- separator
type: object
properties:
location:
type: string type: string
example: file.csv example: Airquality Demonstrator
header: language:
type: boolean
description: >-
If true, the first line contains the column names, otherwise it
contains only data
example: true
separator:
type: string type: string
example: ',' example: en
quote: enum:
type: string - ab
example: '"' - aa
line_termination: - 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 type: string
example: \r\n enum:
ExecuteStatementDto: - AlternativeTitle
- Subtitle
- TranslatedTitle
- Other
QueryDto:
required: required:
- statement - database_id
- execution
- id
- identifiers
- is_persisted
- owner
- query
- query_hash
- query_normalized
type: object type: object
properties: properties:
statement: id:
type: string type: string
example: SELECT `id` FROM `air_quality` format: uuid
TableHistoryDto: example: 83ea2326-f8f6-4263-baf8-cdf88a54efc7
required: owner:
- event $ref: '#/components/schemas/UserBriefDto'
- timestamp execution:
- total
type: object
properties:
timestamp:
type: string type: string
format: date-time format: date-time
example: '2021-03-12T15:26:21.000Z' example: '2021-03-12T15:26:21.000Z'
event: query:
type: string type: string
total: example: SELECT `id` FROM `air_quality`
type:
type: string
example: query
enum:
- query
- view
identifiers:
type: array
items:
$ref: '#/components/schemas/IdentifierBriefDto'
database_id:
type: string
format: uuid
example: fc29f89c-86a8-4020-9e36-4d954736c6cc
query_normalized:
type: string
example: SELECT `id` FROM `air_quality`
query_hash:
type: string
example: 17e682f060b5f8e47ea04c5c4855908b0a5ad612022260fe50e11ecb0cc0ab76
is_persisted:
type: boolean
example: true
result_hash:
type: string
example: 17e682f060b5f8e47ea04c5c4855908b0a5ad612022260fe50e11ecb0cc0ab76
result_number:
type: integer type: integer
format: int64 format: int64
example: 1 example: 1
TupleDeleteDto: UserBriefDto:
required: required:
- keys - id
type: object - username
properties:
keys:
type: object
additionalProperties:
type: object
example:
id: 1
example:
id: 1
DatabaseBriefDto:
required:
- contact
- id
- identifiers
- internal_name
- is_public
- is_schema_public
- name
- owner_id
type: object
properties:
id:
type: integer
format: int64
example: 3
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
example: 2f45ef7a-7f9b-4667-9156-152c87fe1ca5
preview_image:
type: string
DatabaseAccessDto:
required:
- type
- user
type: object
properties:
user:
$ref: '#/components/schemas/UserBriefDto'
type:
type: string
example: read
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
- password
- username
type: object type: object
properties: properties:
id: id:
type: string type: string
format: uuid format: uuid
example: 1ffc7b0e-9aeb-4e8b-b8f1-68f3936155b4 example: 1ffc7b0e-9aeb-4e8b-b8f1-68f3936155b4
name:
type: string
example: Josiah Carberry
username: username:
type: string type: string
example: username description: Only contains lowercase characters
password: example: jcarberry
name:
type: string type: string
example: p4ssw0rd example: Josiah Carberry
attributes: orcid:
$ref: '#/components/schemas/UserAttributesDto'
last_retrieved:
type: string type: string
format: date-time example: 0000-0002-1825-0097
qualified_name: qualified_name:
type: string type: string
example: Josiah Carberry — @jcarberry example: Josiah Carberry — @jcarberry
...@@ -5434,356 +5268,122 @@ components: ...@@ -5434,356 +5268,122 @@ components:
family_name: family_name:
type: string type: string
example: Carberry example: Carberry
UserPasswordDto: CreatorDto:
required: required:
- password - creator_name
- id
type: object type: object
properties: properties:
password: id:
type: string type: string
RefreshTokenRequestDto: format: uuid
required: example: e41f94a6-2b94-4a12-ac0e-678684e1c070
- refresh_token firstname:
type: object
properties:
refresh_token:
type: string type: string
example: refresh_token example: Josiah
TokenDto: lastname:
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 type: string
access_token: example: Carberry
affiliation:
type: string type: string
expires_in: example: Brown University
type: integer creator_name:
format: int64
refresh_token:
type: string type: string
refresh_expires_in: example: 'Carberry, Josiah'
type: integer name_type:
format: int64
id_token:
type: string type: string
session_state: example: Personal
enum:
- Personal
- Organizational
name_identifier:
type: string type: string
token_type: example: 0000-0002-1825-0097
name_identifier_scheme:
type: string type: string
not-before-policy: example: ORCID
type: integer enum:
format: int64 - ORCID
OntologyModifyDto: - ROR
required: - ISNI
- prefix - GRID
- uri name_identifier_scheme_uri:
type: object
properties:
uri:
type: string type: string
example: Ontology URI example: 'https://orcid.org/'
prefix: affiliation_identifier:
type: string type: string
example: Ontology prefix example: 'https://ror.org/05gq02987'
sparql_endpoint: affiliation_identifier_scheme:
type: string type: string
example: Ontology SPARQL endpoint example: ROR
rdf_path: enum:
- ROR
- GRID
- ISNI
affiliation_identifier_scheme_uri:
type: string type: string
example: rdf/om-2.0.rdf example: 'https://ror.org/'
OntologyDto: IdentifierDto:
required: required:
- creators
- database_id
- descriptions
- funders
- id - id
- prefix - language
- rdf - licenses
- sparql - owner
- uri - publication_year
- publisher
- query
- query_hash
- query_normalized
- status
- titles
- type
type: object type: object
properties: properties:
id: 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 type: string
example: rdf/om-2.0.rdf format: uuid
BannerMessageUpdateDto: example: b97cd56b-66ca-4354-9e6c-f47210cfaaec
required:
- message
- type
type: object
properties:
type: type:
type: string type: string
enum: example: database
- 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:21.000Z'
display_end:
type: string
format: date-time
example: '2021-03-12T15:26:21.000Z'
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
example: 1
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
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: enum:
- database - database
- subset - subset
- table - table
- view - view
doi:
type: string
example: 10.1111/11111111
titles: titles:
type: array type: array
items: items:
$ref: '#/components/schemas/SaveIdentifierTitleDto' $ref: '#/components/schemas/IdentifierTitleDto'
descriptions: descriptions:
type: array type: array
items: items:
$ref: '#/components/schemas/SaveIdentifierDescriptionDto' $ref: '#/components/schemas/IdentifierDescriptionDto'
funders: funders:
type: array type: array
items: items:
$ref: '#/components/schemas/SaveIdentifierFunderDto' $ref: '#/components/schemas/IdentifierFunderDto'
licenses: query:
type: array type: string
items: example: >-
$ref: '#/components/schemas/LicenseDto' SELECT `id`, `value`, `location` FROM `air_quality` WHERE `location`
= "09:STEF"
execution:
type: string
format: date-time
example: '2021-03-12T15:26:21.000Z'
doi:
type: string
example: 10.1038/nphys1170
publisher: publisher:
type: string type: string
example: TU Wien example: TU Wien
owner:
$ref: '#/components/schemas/UserBriefDto'
language: language:
type: string type: string
enum: enum:
...@@ -5971,23 +5571,51 @@ components: ...@@ -5971,23 +5571,51 @@ components:
- yo - yo
- za - za
- zu - zu
licenses:
type: array
items:
$ref: '#/components/schemas/LicenseDto'
creators: creators:
type: array type: array
items: items:
$ref: '#/components/schemas/SaveIdentifierCreatorDto' $ref: '#/components/schemas/CreatorDto'
status:
type: string
example: draft
enum:
- draft
- published
database_id: database_id:
type: integer type: string
format: int64 format: uuid
example: 1
query_id: query_id:
type: string
format: uuid
table_id:
type: string
format: uuid
view_id:
type: string
format: uuid
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 type: integer
format: int64 format: int64
view_id: example: 1
type: integer
format: int64
table_id:
type: integer
format: int64
publication_day: publication_day:
type: integer type: integer
format: int32 format: int32
...@@ -6000,10 +5628,40 @@ components: ...@@ -6000,10 +5628,40 @@ components:
type: integer type: integer
format: int32 format: int32
example: 2022 example: 2022
related_identifiers: IdentifierFunderDto:
type: array required:
items: - funder_name
$ref: '#/components/schemas/SaveRelatedIdentifierDto' - id
type: object
properties:
id:
type: string
format: uuid
example: 39693413-e0ce-46da-ad5e-029c0556d439
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
LicenseDto: LicenseDto:
required: required:
- identifier - identifier
...@@ -6023,316 +5681,791 @@ components: ...@@ -6023,316 +5681,791 @@ components:
preservation of copyright and license notices. Licensed works, preservation of copyright and license notices. Licensed works,
modifications, and larger works may be distributed under different modifications, and larger works may be distributed under different
terms and without source code. terms and without source code.
SaveIdentifierCreatorDto: RelatedIdentifierDto:
required: required:
- creator_name
- id - id
- relation
- type
- value
type: object type: object
properties: properties:
id: 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 type: string
example: Personal format: uuid
enum: example: ce9d11f0-60a2-448d-a3e4-44719a443e8a
- Personal value:
- Organizational
name_identifier:
type: string type: string
example: 0000-0002-1825-0097 example: 10.70124/dc4zh-9ce78
name_identifier_scheme: type:
type: string type: string
example: ORCID example: DOI
enum: enum:
- ORCID - DOI
- ROR - URL
- ISNI - URN
- GRID - ARK
affiliation_identifier: - arXiv
type: string - bibcode
example: 'https://ror.org/04d836q62' - EAN13
affiliation_identifier_scheme: - EISSN
- Handle
- IGSN
- ISBN
- ISTC
- LISSN
- LSID
- PMID
- PURL
- UPC
- w3id
relation:
type: string type: string
example: ROR example: Cites
enum: enum:
- ROR - IsCitedBy
- GRID - Cites
- ISNI - IsSupplementTo
SaveIdentifierDescriptionDto: - 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
ViewColumnDto:
required: required:
- description - database_id
- id - id
- internal_name
- is_null_allowed
- name
- ord
- type
type: object type: object
properties: properties:
id: id:
type: string
format: uuid
example: 6aec3a91-2e0b-4e92-a16a-9c3c5e892da1
name:
maxLength: 64
minLength: 0
type: string
example: Given Name
size:
type: integer type: integer
format: int64 format: int64
example: 1 example: 255
d:
type: integer
format: int64
example: 0
description: description:
maxLength: 2048
minLength: 0
type: string type: string
example: 'Air quality reports at Stephansplatz, Vienna' example: Column comment
language: database_id:
type: string type: string
example: en format: uuid
example: 2b5b2b03-fdd0-40d6-afe0-e5d02fd839e4
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: enum:
- ab - char
- aa - varchar
- af - binary
- ak - varbinary
- sq - tinyblob
- am - tinytext
- ar - text
- an - blob
- hy - mediumtext
- as - mediumblob
- av - longtext
- ae - longblob
- ay - enum
- az - set
- bm - serial
- ba - bit
- eu - tinyint
- be - bool
- bn - smallint
- bh - mediumint
- bi - int
- bs - bigint
- br - float
- bg - double
- my - decimal
- ca - date
- km - datetime
- ch - timestamp
- ce - time
- ny - year
- zh is_null_allowed:
- cu type: boolean
- cv example: false
- kw ViewDto:
- co required:
- cr - columns
- hr - database_id
- cs - id
- da - identifiers
- dv - internal_name
- nl - name
- dz - owner
- en - query
- eo - query_hash
- et type: object
- ee properties:
- fo id:
- fj type: string
- fi format: uuid
- fr example: 787439d0-e85e-400c-a7e6-996a023bfad9
- ff name:
- gd type: string
- gl example: Air Quality
- lg identifiers:
- ka type: array
- de items:
- ki $ref: '#/components/schemas/IdentifierDto'
- el query:
- kl type: string
- gn example: SELECT `id` FROM `air_quality` ORDER BY `value` DESC
- gu owner:
- ht $ref: '#/components/schemas/UserBriefDto'
- ha columns:
- he type: array
- hz items:
- hi $ref: '#/components/schemas/ViewColumnDto'
- ho last_retrieved:
- hu type: string
- is format: date-time
- io database_id:
- ig type: string
- id format: uuid
- ia example: fc29f89c-86a8-4020-9e36-4d954736c6cc
- ie internal_name:
- iu type: string
- ik example: air_quality
- ga is_public:
- it type: boolean
- ja example: true
- jv is_schema_public:
- kn type: boolean
- kr example: true
- ks initial_view:
- kk type: boolean
- rw description: True if it is the default view for the database
- kv example: true
- kg query_hash:
- ko type: string
- kj example: 7de03e818900b6ea6d58ad0306d4a741d658c6df3d1964e89ed2395d8c7e7916
- ku TupleDto:
- ky required:
- lo - data
- la type: object
- lv properties:
- lb data:
- li type: object
- ln additionalProperties:
- lt type: object
- lu example:
- mk key: value
- mg example:
- ms key: value
- ml ImportDto:
- mt required:
- gv - header
- mi - location
- mr - separator
- mh type: object
- ro properties:
- mn location:
- na type: string
- nv example: file.csv
- nd header:
- ng type: boolean
- ne description: >-
- se If true, the first line contains the column names, otherwise it
- 'no' contains only data
- nb example: true
- nn separator:
- ii type: string
- oc example: ','
- oj quote:
type: string
example: '"'
line_termination:
type: string
example: \r\n
FilterDto:
required:
- column_id
- operator_id
- type
- value
type: object
properties:
type:
type: string
example: where
enum:
- where
- or - or
- om - and
- os value:
- pi type: string
- pa example: '1'
- ps column_id:
- fa type: string
- pl format: uuid
- pt example: 14128033-54b5-4818-a489-21b0dded86e2
- qu operator_id:
- rm type: string
- rn format: uuid
- ru example: 67c5b54d-2eb0-4f42-8dc1-a504562e9f32
- sm OrderDto:
- sg required:
- sa - column_id
- sc type: object
- sr properties:
- sn direction:
- sd type: string
- si example: asc
- sk enum:
- sl - asc
- so - desc
- st column_id:
- nr type: string
- es format: uuid
- su example: e891ba86-0258-41a6-a8d9-ff58bc10b618
- sw SubsetDto:
- ss required:
- sv - columns
- tl - table_id
- ty type: object
- tg properties:
- ta columns:
- tt type: array
- te example:
- th - e891ba86-0258-41a6-a8d9-ff58bc10b618
- bo items:
- ti type: string
- to format: uuid
- ts filter:
- tn type: array
- tr items:
- tk $ref: '#/components/schemas/FilterDto'
- tw order:
- ug type: array
- uk items:
- ur $ref: '#/components/schemas/OrderDto'
- uz table_id:
- ve type: string
- vi format: uuid
- vo example: f7df2a7d-4ade-4c78-97b0-7c744d0893c7
- wa TableHistoryDto:
- cy required:
- fy - event
- wo - timestamp
- xh - total
- yi type: object
- yo properties:
- za timestamp:
- zu type: string
format: date-time
example: '2021-03-12T15:26:21.000Z'
event:
type: string
example: INSERT
enum:
- insert
- delete
total:
type: integer
format: int64
example: 1
TupleDeleteDto:
required:
- keys
type: object
properties:
keys:
type: object
additionalProperties:
type: object
example:
id: 1
example:
id: 1
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
- password
- username
type: object
properties:
id:
type: string
format: uuid
example: 1ffc7b0e-9aeb-4e8b-b8f1-68f3936155b4
name:
type: string
example: Josiah Carberry
username:
type: string
example: username
password:
type: string
example: p4ssw0rd
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
DatabaseBriefDto:
required:
- contact
- id
- identifiers
- internal_name
- is_public
- is_schema_public
- name
- owner_id
type: object
properties:
id:
type: string
format: uuid
example: fc29f89c-86a8-4020-9e36-4d954736c6cc
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
example: 2f45ef7a-7f9b-4667-9156-152c87fe1ca5
preview_image:
type: string
DatabaseAccessDto:
required:
- type
- user
type: object
properties:
user:
$ref: '#/components/schemas/UserBriefDto'
type:
type: string
example: read
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
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: string
format: uuid
example: 7c491e40-082a-47b8-b82c-51d03c520466
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:21.000Z'
display_end:
type: string
format: date-time
example: '2021-03-12T15:26:21.000Z'
BannerMessageBriefDto:
required:
- message
- type
type: object
properties:
type: type:
type: string type: string
example: Abstract enum:
enum: - error
- Abstract - warning
- Methods - info
- SeriesInformation message:
- TableOfContents type: string
- TechnicalInfo example: Maintenance starts on 8am on Monday
- Other link:
SaveIdentifierFunderDto: 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
- id
- is_buildable
- is_quoted
- value
type: object
properties:
id:
type: string
format: uuid
example: 816f55d5-1098-4f60-a4af-c8121c04dcca
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: required:
- funder_name - data_types
- default
- id - id
- name
- operators
- version
type: object type: object
properties: properties:
id: id:
type: integer
format: int64
example: 1
funder_name:
type: string type: string
example: European Commission format: uuid
funder_identifier: example: 816f55d5-1098-4f60-a4af-c8121c04dcce
name:
type: string type: string
example: 'http://doi.org/10.13039/501100000780' example: mariadb
funder_identifier_type: version:
type: string type: string
example: Crossref Funder ID example: '10.5'
enum: operators:
- Crossref Funder ID type: array
- ROR items:
- GND $ref: '#/components/schemas/OperatorDto'
- ISNI default:
- Other type: boolean
scheme_uri: example: false
data_types:
type: array
items:
$ref: '#/components/schemas/DataTypeDto'
OperatorDto:
required:
- display_name
- documentation
- id
- value
type: object
properties:
id:
type: string type: string
example: 'http://doi.org/' format: uuid
award_number: example: 816f55d5-1098-4f60-a4af-c8121c04dccf
value:
type: string type: string
example: '824087' example: XOR
award_title: documentation:
type: string type: string
example: EOSC-Life example: 'https://mariadb.com/kb/en/xor/'
SaveIdentifierTitleDto: display_name:
type: string
example: XOR
IdentifierSaveDto:
required: required:
- creators
- database_id
- id - id
- title - publication_year
- publisher
- titles
- type
type: object type: object
properties: properties:
id: id:
type: integer
format: int64
example: 1
title:
type: string type: string
example: Airquality Demonstrator format: uuid
example: 68e11675-1e0f-4d24-a6d9-887ad1c4445d
type:
type: string
example: database
enum:
- database
- subset
- table
- view
doi:
type: string
example: 10.1111/11111111
titles:
type: array
items:
$ref: '#/components/schemas/SaveIdentifierTitleDto'
descriptions:
type: array
items:
$ref: '#/components/schemas/SaveIdentifierDescriptionDto'
funders:
type: array
items:
$ref: '#/components/schemas/SaveIdentifierFunderDto'
licenses:
type: array
items:
$ref: '#/components/schemas/LicenseDto'
publisher:
type: string
example: TU Wien
language: language:
type: string type: string
example: en
enum: enum:
- ab - ab
- aa - aa
...@@ -6518,99 +6651,48 @@ components: ...@@ -6518,99 +6651,48 @@ components:
- yo - yo
- za - za
- zu - zu
type: creators:
type: array
items:
$ref: '#/components/schemas/SaveIdentifierCreatorDto'
database_id:
type: string type: string
example: Subtitle format: uuid
enum: query_id:
- AlternativeTitle
- Subtitle
- TranslatedTitle
- Other
SaveRelatedIdentifierDto:
required:
- id
- relation
- type
- value
type: object
properties:
id:
type: integer
format: int64
example: 1
value:
type: string type: string
example: 10.70124/dc4zh-9ce78 format: uuid
type: view_id:
type: string type: string
example: DOI format: uuid
enum: table_id:
- DOI
- URL
- URN
- ARK
- arXiv
- bibcode
- EAN13
- EISSN
- Handle
- IGSN
- ISBN
- ISTC
- LISSN
- LSID
- PMID
- PURL
- UPC
- w3id
relation:
type: string type: string
example: Cites format: uuid
enum: publication_day:
- IsCitedBy type: integer
- Cites format: int32
- IsSupplementTo example: 15
- IsSupplementedBy publication_month:
- IsContinuedBy type: integer
- Continues format: int32
- IsDescribedBy example: 12
- Describes publication_year:
- HasMetadata type: integer
- IsMetadataFor format: int32
- HasVersion example: 2022
- IsVersionOf related_identifiers:
- IsNewVersionOf type: array
- IsPreviousVersionOf items:
- IsPartOf $ref: '#/components/schemas/SaveRelatedIdentifierDto'
- HasPart SaveIdentifierCreatorDto:
- IsPublishedIn
- IsReferencedBy
- References
- IsDocumentedBy
- Documents
- IsCompiledBy
- Compiles
- IsVariantFormOf
- IsOriginalFormOf
- IsIdenticalTo
- IsReviewedBy
- Reviews
- IsDerivedFrom
- IsSourceOf
- IsRequiredBy
- Requires
- IsObsoletedBy
- Obsoletes
CreatorDto:
required: required:
- creator_name - creator_name
- id - id
type: object type: object
properties: properties:
id: id:
type: integer type: string
format: int64 format: uuid
example: 11 example: da9dd034-00a8-4517-b93d-d1b2adfee418
firstname: firstname:
type: string type: string
example: Josiah example: Josiah
...@@ -6619,7 +6701,7 @@ components: ...@@ -6619,7 +6701,7 @@ components:
example: Carberry example: Carberry
affiliation: affiliation:
type: string type: string
example: Brown University example: Wesleyan University
creator_name: creator_name:
type: string type: string
example: 'Carberry, Josiah' example: 'Carberry, Josiah'
...@@ -6640,12 +6722,9 @@ components: ...@@ -6640,12 +6722,9 @@ components:
- ROR - ROR
- ISNI - ISNI
- GRID - GRID
name_identifier_scheme_uri:
type: string
example: 'https://orcid.org/'
affiliation_identifier: affiliation_identifier:
type: string type: string
example: 'https://ror.org/05gq02987' example: 'https://ror.org/04d836q62'
affiliation_identifier_scheme: affiliation_identifier_scheme:
type: string type: string
example: ROR example: ROR
...@@ -6653,18 +6732,16 @@ components: ...@@ -6653,18 +6732,16 @@ components:
- ROR - ROR
- GRID - GRID
- ISNI - ISNI
affiliation_identifier_scheme_uri: SaveIdentifierDescriptionDto:
type: string
example: 'https://ror.org/'
IdentifierDescriptionDto:
required: required:
- description
- id - id
type: object type: object
properties: properties:
id: id:
type: integer type: string
format: int64 format: uuid
example: 3 example: 35bd84d8-b181-43c8-b786-4d024e4f843c
description: description:
type: string type: string
example: 'Air quality reports at Stephansplatz, Vienna' example: 'Air quality reports at Stephansplatz, Vienna'
...@@ -6866,69 +6943,56 @@ components: ...@@ -6866,69 +6943,56 @@ components:
- TableOfContents - TableOfContents
- TechnicalInfo - TechnicalInfo
- Other - Other
IdentifierDto: SaveIdentifierFunderDto:
required: required:
- creators - funder_name
- database_id
- descriptions
- funders
- id - id
- language
- licenses
- owner
- publication_year
- publisher
- query
- query_hash
- query_normalized
- status
- titles
- type
type: object type: object
properties: properties:
id: id:
type: integer
format: int64
example: 2
type:
type: string type: string
example: database format: uuid
example: 1c6b9212-a315-44b9-946c-3682a7a0e517
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: enum:
- database - Crossref Funder ID
- subset - ROR
- table - GND
- view - ISNI
titles: - Other
type: array scheme_uri:
items:
$ref: '#/components/schemas/IdentifierTitleDto'
descriptions:
type: array
items:
$ref: '#/components/schemas/IdentifierDescriptionDto'
funders:
type: array
items:
$ref: '#/components/schemas/IdentifierFunderDto'
query:
type: string type: string
example: >- example: 'http://doi.org/'
SELECT `id`, `value`, `location` FROM `air_quality` WHERE `location` award_number:
= "09:STEF"
execution:
type: string type: string
format: date-time example: '824087'
example: '2021-03-12T15:26:21.000Z' award_title:
doi:
type: string type: string
example: 10.1038/nphys1170 example: EOSC-Life
publisher: SaveIdentifierTitleDto:
required:
- id
- title
type: object
properties:
id:
type: string type: string
example: TU Wien format: uuid
owner: example: 2af9f40e-eaf5-4ea1-861a-1a696587bf29
$ref: '#/components/schemas/UserBriefDto' title:
type: string
example: Airquality Demonstrator
language: language:
type: string type: string
example: en
enum: enum:
- ab - ab
- aa - aa
...@@ -7057,159 +7121,72 @@ components: ...@@ -7057,159 +7121,72 @@ components:
- os - os
- pi - pi
- pa - pa
- ps - ps
- fa - fa
- pl - pl
- pt - pt
- qu - qu
- rm - rm
- rn - rn
- ru - ru
- sm - sm
- sg - sg
- sa - sa
- sc - sc
- sr - sr
- sn - sn
- sd - sd
- si - si
- sk - sk
- sl - sl
- so - so
- st - st
- nr - nr
- es - es
- su - su
- sw - sw
- ss - ss
- sv - sv
- tl - tl
- ty - ty
- tg - tg
- ta - ta
- tt - tt
- te - te
- th - th
- bo - bo
- ti - ti
- to - to
- ts - ts
- tn - tn
- tr - tr
- tk - tk
- tw - tw
- ug - ug
- uk - uk
- ur - ur
- uz - uz
- ve - ve
- vi - vi
- vo - vo
- wa - wa
- cy - cy
- fy - fy
- wo - wo
- xh - xh
- yi - yi
- yo - yo
- za - za
- zu - zu
licenses: type:
type: array
items:
$ref: '#/components/schemas/LicenseDto'
creators:
type: array
items:
$ref: '#/components/schemas/CreatorDto'
status:
type: string
example: draft
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
example: 2
funder_name:
type: string
example: European Commission
funder_identifier:
type: string
example: 'http://doi.org/10.13039/501100000780'
funder_identifier_type:
type: string type: string
example: Crossref Funder ID example: Subtitle
enum: enum:
- Crossref Funder ID - AlternativeTitle
- ROR - Subtitle
- GND - TranslatedTitle
- ISNI
- Other - Other
scheme_uri: SaveRelatedIdentifierDto:
type: string
example: 'http://doi.org/'
award_number:
type: string
example: '824087'
award_title:
type: string
example: EOSC-Life
RelatedIdentifierDto:
required: required:
- id - id
- relation - relation
...@@ -7218,9 +7195,9 @@ components: ...@@ -7218,9 +7195,9 @@ components:
type: object type: object
properties: properties:
id: id:
type: integer type: string
format: int64 format: uuid
example: 8 example: 5bb272c7-7421-4f74-83ac-0486812d0f44
value: value:
type: string type: string
example: 10.70124/dc4zh-9ce78 example: 10.70124/dc4zh-9ce78
...@@ -7319,9 +7296,9 @@ components: ...@@ -7319,9 +7296,9 @@ components:
type: object type: object
properties: properties:
id: id:
type: integer type: string
format: int64 format: uuid
example: 4 example: 787439d0-e85e-400c-a7e6-996a023bfad9
name: name:
type: string type: string
example: Air Quality example: Air Quality
...@@ -7329,9 +7306,9 @@ components: ...@@ -7329,9 +7306,9 @@ components:
type: string type: string
example: SELECT `id` FROM `air_quality` ORDER BY `value` DESC example: SELECT `id` FROM `air_quality` ORDER BY `value` DESC
database_id: database_id:
type: integer type: string
format: int64 format: uuid
example: 1 example: 2b5b2b03-fdd0-40d6-afe0-e5d02fd839e4
internal_name: internal_name:
type: string type: string
example: air_quality example: air_quality
...@@ -7382,9 +7359,9 @@ components: ...@@ -7382,9 +7359,9 @@ components:
type: object type: object
properties: properties:
id: id:
type: integer type: string
format: int64 format: uuid
example: 3 example: 41ed10e0-687b-4e18-8521-810f5cffbce1
name: name:
type: string type: string
example: Air Quality example: Air Quality
...@@ -7392,9 +7369,9 @@ components: ...@@ -7392,9 +7369,9 @@ components:
type: string type: string
example: Air Quality in Austria example: Air Quality in Austria
database_id: database_id:
type: integer type: string
format: int64 format: uuid
example: 2 example: a8fec026-dfaf-4b1d-8f6c-f01720d91705
internal_name: internal_name:
type: string type: string
example: air_quality example: air_quality
...@@ -7431,9 +7408,9 @@ components: ...@@ -7431,9 +7408,9 @@ components:
type: object type: object
properties: properties:
id: id:
type: integer type: string
format: int64 format: uuid
example: 1 example: a453e444-e00d-41ca-902c-11e9c54b39f1
name: name:
maxLength: 64 maxLength: 64
minLength: 0 minLength: 0
...@@ -7467,26 +7444,20 @@ components: ...@@ -7467,26 +7444,20 @@ components:
example: Column comment example: Column comment
enums: enums:
type: array type: array
example:
- val1
items: items:
type: string $ref: '#/components/schemas/EnumDto'
example: '["val1"]'
sets: sets:
type: array type: array
example:
- val1
items: items:
type: string $ref: '#/components/schemas/SetDto'
example: '["val1"]'
database_id: database_id:
type: integer type: string
format: int64 format: uuid
example: 2 example: 911f9052-c58c-4e1c-b3f2-66af2107be16
table_id: table_id:
type: integer type: string
format: int64 format: uuid
example: 3 example: bfffa915-a547-4466-9c65-ddc0d38fdb08
ord: ord:
type: integer type: integer
format: int32 format: int32
...@@ -7569,9 +7540,9 @@ components: ...@@ -7569,9 +7540,9 @@ components:
type: object type: object
properties: properties:
id: id:
type: integer type: string
format: int64 format: uuid
example: 23 example: 8cabc011-4bdf-44d4-9d33-b2648e2ddbf1
uri: uri:
type: string type: string
example: 'http://www.wikidata.org/entity/Q202444' example: 'http://www.wikidata.org/entity/Q202444'
...@@ -7583,6 +7554,32 @@ components: ...@@ -7583,6 +7554,32 @@ components:
example: >- example: >-
name typically used to differentiate people from the same family, name typically used to differentiate people from the same family,
clan, or other social group who have a common last name clan, or other social group who have a common last name
EnumDto:
required:
- id
- value
type: object
properties:
id:
type: string
format: uuid
example: 5343bb3d-14d3-4eb7-a86f-b8fc553cb315
value:
type: string
example: '3'
SetDto:
required:
- id
- value
type: object
properties:
id:
type: string
format: uuid
example: 7eb4eded-bacc-4a91-84db-a9ae6ddafda7
value:
type: string
example: '3'
UnitBriefDto: UnitBriefDto:
required: required:
- id - id
...@@ -7590,9 +7587,9 @@ components: ...@@ -7590,9 +7587,9 @@ components:
type: object type: object
properties: properties:
id: id:
type: integer type: string
format: int64 format: uuid
example: 34 example: ba1935e8-6817-488f-af0a-f54389af9000
uri: uri:
type: string type: string
example: 'http://www.wikidata.org/entity/Q1422583' example: 'http://www.wikidata.org/entity/Q1422583'
...@@ -7627,33 +7624,6 @@ components: ...@@ -7627,33 +7624,6 @@ components:
- read - read
- write_own - write_own
- write_all - write_all
CreateUserDto:
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: OntologyCreateDto:
required: required:
- prefix - prefix
...@@ -7964,18 +7934,18 @@ components: ...@@ -7964,18 +7934,18 @@ components:
items: items:
$ref: '#/components/schemas/SaveIdentifierCreatorDto' $ref: '#/components/schemas/SaveIdentifierCreatorDto'
database_id: database_id:
type: integer type: string
format: int64 format: uuid
example: 1 example: d002e8d5-8db4-4ff7-ab3a-bc3f52d9ec44
query_id: query_id:
type: integer type: string
format: int64 format: uuid
view_id: view_id:
type: integer type: string
format: int64 format: uuid
table_id: table_id:
type: integer type: string
format: int64 format: uuid
publication_day: publication_day:
type: integer type: integer
format: int32 format: int32
...@@ -8004,9 +7974,9 @@ components: ...@@ -8004,9 +7974,9 @@ components:
type: string type: string
example: Air Quality example: Air Quality
container_id: container_id:
type: integer type: string
format: int64 format: uuid
example: 1 example: 0888e108-d521-46e2-9d3e-82099185305b
is_public: is_public:
type: boolean type: boolean
example: true example: true
...@@ -8027,8 +7997,7 @@ components: ...@@ -8027,8 +7997,7 @@ components:
type: string type: string
example: Air Quality example: Air Quality
query: query:
type: string $ref: '#/components/schemas/SubsetDto'
example: SELECT `id` FROM `air_quality`
is_public: is_public:
type: boolean type: boolean
example: true example: true
...@@ -8044,16 +8013,24 @@ components: ...@@ -8044,16 +8013,24 @@ components:
properties: properties:
columns: columns:
type: array type: array
example:
- id
items: items:
type: string type: string
example: '["id"]'
referenced_table: referenced_table:
type: string type: string
example: sensor
referenced_columns: referenced_columns:
type: array type: array
example:
- other_id
items: items:
type: string type: string
example: '["other_id"]'
on_update: on_update:
type: string type: string
example: cascade
enum: enum:
- restrict - restrict
- cascade - cascade
...@@ -8062,6 +8039,7 @@ components: ...@@ -8062,6 +8039,7 @@ components:
- set_default - set_default
on_delete: on_delete:
type: string type: string
example: cascade
enum: enum:
- restrict - restrict
- cascade - cascade
...@@ -8080,7 +8058,7 @@ components: ...@@ -8080,7 +8058,7 @@ components:
example: Date example: Date
type: type:
type: string type: string
example: string example: varchar
enum: enum:
- char - char
- varchar - varchar
...@@ -8233,10 +8211,10 @@ components: ...@@ -8233,10 +8211,10 @@ components:
format: int64 format: int64
example: 50 example: 50
image_id: image_id:
type: integer type: string
description: Image ID description: Image ID
format: int64 format: uuid
example: 1 example: 2360f3c4-85e0-4fac-a7c6-73b296b9dde2
ui_host: ui_host:
type: string type: string
example: example.com example: example.com
...@@ -8259,23 +8237,15 @@ components: ...@@ -8259,23 +8237,15 @@ components:
- image - image
- internal_name - internal_name
- name - name
- quota
type: object type: object
properties: properties:
id: id:
type: integer type: string
format: int64 format: uuid
example: 4 example: 7ddb7e87-b965-43a2-9a24-4fa406d998f4
name: name:
type: string type: string
example: Air Quality example: Air Quality
host:
type: string
example: data-db
port:
type: integer
format: int32
example: 3306
image: image:
$ref: '#/components/schemas/ImageDto' $ref: '#/components/schemas/ImageDto'
quota: quota:
...@@ -8298,13 +8268,6 @@ components: ...@@ -8298,13 +8268,6 @@ components:
internal_name: internal_name:
type: string type: string
example: air_quality example: air_quality
ui_host:
type: string
example: example.com
ui_port:
type: integer
format: int32
example: 3306
ColumnBriefDto: ColumnBriefDto:
required: required:
- database_id - database_id
...@@ -8316,9 +8279,9 @@ components: ...@@ -8316,9 +8279,9 @@ components:
type: object type: object
properties: properties:
id: id:
type: integer type: string
format: int64 format: uuid
example: 1 example: a453e444-e00d-41ca-902c-11e9c54b39f1
name: name:
maxLength: 64 maxLength: 64
minLength: 0 minLength: 0
...@@ -8328,13 +8291,13 @@ components: ...@@ -8328,13 +8291,13 @@ components:
type: string type: string
example: firstname example: firstname
database_id: database_id:
type: integer type: string
format: int64 format: uuid
example: 2 example: 911f9052-c58c-4e1c-b3f2-66af2107be16
table_id: table_id:
type: integer type: string
format: int64 format: uuid
example: 3 example: bfffa915-a547-4466-9c65-ddc0d38fdb08
internal_name: internal_name:
maxLength: 64 maxLength: 64
minLength: 0 minLength: 0
...@@ -8382,8 +8345,9 @@ components: ...@@ -8382,8 +8345,9 @@ components:
type: object type: object
properties: properties:
id: id:
type: integer type: string
format: int64 format: uuid
example: ba1935e8-6817-488f-af0a-f54389af9000
uri: uri:
type: string type: string
name: name:
...@@ -8404,8 +8368,9 @@ components: ...@@ -8404,8 +8368,9 @@ components:
type: object type: object
properties: properties:
id: id:
type: integer type: string
format: int64 format: uuid
example: 7c491e40-082a-47b8-b82c-51d03c520466
uri: uri:
type: string type: string
example: 'http://www.wikidata.org/' example: 'http://www.wikidata.org/'
...@@ -8449,14 +8414,14 @@ components: ...@@ -8449,14 +8414,14 @@ components:
type: string type: string
resumptionToken: resumptionToken:
type: string type: string
parametersString:
type: string
fromDate: fromDate:
type: string type: string
format: date-time format: date-time
untilDate: untilDate:
type: string type: string
format: date-time format: date-time
parametersString:
type: string
BannerMessageDto: BannerMessageDto:
required: required:
- id - id
...@@ -8465,10 +8430,12 @@ components: ...@@ -8465,10 +8430,12 @@ components:
type: object type: object
properties: properties:
id: id:
type: integer type: string
format: int64 format: uuid
example: ae3f795b-a3da-4ebe-bdc4-21a8ce631e6f
type: type:
type: string type: string
example: WARNING
enum: enum:
- error - error
- warning - warning
...@@ -8494,24 +8461,20 @@ components: ...@@ -8494,24 +8461,20 @@ components:
required: required:
- default - default
- id - id
- jdbc_method
- name - name
- version - version
type: object type: object
properties: properties:
id: id:
type: integer type: string
format: int64 format: uuid
example: 5 example: 816f55d5-1098-4f60-a4af-c8121c04dcce
name: name:
type: string type: string
example: mariadb example: mariadb
version: version:
type: string type: string
example: '10.5' example: '10.5'
jdbc_method:
type: string
example: mariadb
default: default:
type: boolean type: boolean
example: false example: false
...@@ -8601,86 +8564,13 @@ components: ...@@ -8601,86 +8564,13 @@ components:
type: array type: array
items: items:
$ref: '#/components/schemas/PrimaryKeyDto' $ref: '#/components/schemas/PrimaryKeyDto'
DatabaseDto:
required:
- accesses
- contact
- exchange_name
- id
- identifiers
- internal_name
- is_public
- is_schema_public
- name
- owner
- subsets
- tables
- views
type: object
properties:
id:
type: integer
format: int64
example: 3
name:
type: string
example: Air Quality
description:
type: string
example: Air Quality
tables:
type: array
items:
$ref: '#/components/schemas/TableDto'
views:
type: array
items:
$ref: '#/components/schemas/ViewDto'
container:
$ref: '#/components/schemas/ContainerDto'
accesses:
type: array
items:
$ref: '#/components/schemas/DatabaseAccessDto'
identifiers:
type: array
items:
$ref: '#/components/schemas/IdentifierDto'
subsets:
type: array
items:
$ref: '#/components/schemas/IdentifierDto'
contact:
$ref: '#/components/schemas/UserBriefDto'
owner:
$ref: '#/components/schemas/UserBriefDto'
last_retrieved:
type: string
format: date-time
exchange_name:
type: string
example: dbrepo
exchange_type:
type: string
example: topic
internal_name:
type: string
example: air_quality
is_public:
type: boolean
example: true
is_schema_public:
type: boolean
example: true
preview_image:
type: string
ForeignKeyBriefDto: ForeignKeyBriefDto:
type: object type: object
properties: properties:
id: id:
type: integer type: string
format: int64 format: uuid
example: 8 example: f2b740ec-0b13-4d07-88a9-529d354bba6a
ForeignKeyDto: ForeignKeyDto:
required: required:
- name - name
...@@ -8690,9 +8580,9 @@ components: ...@@ -8690,9 +8580,9 @@ components:
type: object type: object
properties: properties:
id: id:
type: integer type: string
format: int64 format: uuid
example: 4 example: f2b740ec-0b13-4d07-88a9-529d354bba6a
name: name:
type: string type: string
example: fk_name example: fk_name
...@@ -8730,9 +8620,9 @@ components: ...@@ -8730,9 +8620,9 @@ components:
type: object type: object
properties: properties:
id: id:
type: integer type: string
format: int64 format: uuid
example: 8 example: f2b740ec-0b13-4d07-88a9-529d354bba6a
column: column:
$ref: '#/components/schemas/ColumnBriefDto' $ref: '#/components/schemas/ColumnBriefDto'
foreign_key: foreign_key:
...@@ -8746,9 +8636,9 @@ components: ...@@ -8746,9 +8636,9 @@ components:
type: object type: object
properties: properties:
id: id:
type: integer type: string
format: int64 format: uuid
example: 8 example: d984f9d7-e8a7-4b81-b59a-862db1871f18
table: table:
$ref: '#/components/schemas/TableBriefDto' $ref: '#/components/schemas/TableBriefDto'
column: column:
...@@ -8770,9 +8660,9 @@ components: ...@@ -8770,9 +8660,9 @@ components:
type: object type: object
properties: properties:
id: id:
type: integer type: string
format: int64 format: uuid
example: 3 example: d346f844-b84c-490f-9aec-725a2dc8f820
name: name:
type: string type: string
example: Air Quality example: Air Quality
...@@ -8794,17 +8684,15 @@ components: ...@@ -8794,17 +8684,15 @@ components:
type: array type: array
items: items:
$ref: '#/components/schemas/ColumnDto' $ref: '#/components/schemas/ColumnDto'
database:
$ref: '#/components/schemas/DatabaseDto'
constraints: constraints:
$ref: '#/components/schemas/ConstraintsDto' $ref: '#/components/schemas/ConstraintsDto'
last_retrieved: last_retrieved:
type: string type: string
format: date-time format: date-time
database_id: database_id:
type: integer type: string
format: int64 format: uuid
example: 2 example: fc29f89c-86a8-4020-9e36-4d954736c6cc
internal_name: internal_name:
type: string type: string
example: air_quality example: air_quality
...@@ -8854,9 +8742,9 @@ components: ...@@ -8854,9 +8742,9 @@ components:
type: object type: object
properties: properties:
id: id:
type: integer type: string
format: int64 format: uuid
example: 5 example: d984f9d7-e8a7-4b81-b59a-862db1871f13
name: name:
type: string type: string
example: uk_name example: uk_name
...@@ -8866,155 +8754,6 @@ components: ...@@ -8866,155 +8754,6 @@ components:
type: array type: array
items: items:
$ref: '#/components/schemas/ColumnBriefDto' $ref: '#/components/schemas/ColumnBriefDto'
ViewColumnDto:
required:
- database_id
- id
- internal_name
- is_null_allowed
- name
- ord
- type
type: object
properties:
id:
type: integer
format: int64
example: 12
name:
maxLength: 64
minLength: 0
type: string
example: Given Name
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
example: 1
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
is_null_allowed:
type: boolean
example: false
ViewDto:
required:
- columns
- database_id
- id
- identifiers
- internal_name
- name
- owner
- query
- query_hash
type: object
properties:
id:
type: integer
format: int64
example: 4
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
database:
$ref: '#/components/schemas/DatabaseDto'
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
example: 1
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
TableColumnEntityDto: TableColumnEntityDto:
required: required:
- column_id - column_id
...@@ -9033,17 +8772,17 @@ components: ...@@ -9033,17 +8772,17 @@ components:
type: string type: string
example: open source semantic web framework for Java example: open source semantic web framework for Java
database_id: database_id:
type: integer type: string
format: int64 format: uuid
example: 1 example: 475b4107-a64d-4495-a7ef-3cb0dadd4804
table_id: table_id:
type: integer type: string
format: int64 format: uuid
example: 1 example: 9a9208af-90ea-4382-9a11-0c8f6d89bd1f
column_id: column_id:
type: integer type: string
format: int64 format: uuid
example: 1 example: 297860e3-3b29-451c-ae8a-a85ed5941018
ContainerBriefDto: ContainerBriefDto:
required: required:
- count - count
...@@ -9056,9 +8795,9 @@ components: ...@@ -9056,9 +8795,9 @@ components:
type: object type: object
properties: properties:
id: id:
type: integer type: string
format: int64 format: uuid
example: 4 example: 7ddb7e87-b965-43a2-9a24-4fa406d998f4
hash: hash:
type: string type: string
example: f829dd8a884182d0da846f365dee1221fd16610a14c81b8f9f295ff162749e50 example: f829dd8a884182d0da846f365dee1221fd16610a14c81b8f9f295ff162749e50
...@@ -9086,8 +8825,9 @@ components: ...@@ -9086,8 +8825,9 @@ components:
type: object type: object
properties: properties:
id: id:
type: integer type: string
format: int64 format: uuid
example: 8cabc011-4bdf-44d4-9d33-b2648e2ddbf1
uri: uri:
type: string type: string
name: name:
......
...@@ -22,19 +22,23 @@ author: Martin Weise ...@@ -22,19 +22,23 @@ author: Martin Weise
We use [SeaweedFS](https://seaweedfs.github.io/) as a high-performance, S3 compatible object store for easy, cloud-ready We use [SeaweedFS](https://seaweedfs.github.io/) as a high-performance, S3 compatible object store for easy, cloud-ready
deployments that by default support replication and monitoring. No graphical user interface is provided out-of-the-box, deployments that by default support replication and monitoring. No graphical user interface is provided out-of-the-box,
administrators can access the S3 storage via S3-compatible clients administrators can access the S3 storage via S3-compatible clients
e.g. [AWS CLI](https://docs.aws.amazon.com/cli/latest/reference/s3/) (see below). e.g. [AWS CLI](https://docs.aws.amazon.com/cli/latest/reference/s3/) (see below).
### Users The default configuration creates admin credentials `seaweedfsadmin:seaweedfsadmin`. By default, one bucket `dbrepo` is
created that holds uploads temporarily. It is recommended to delete the contents regularly.
The default configuration creates one user `seaweedfsadmin` with password `seaweedfsadmin`. The S3 endpoint of the Storage Service is available on port `9000`.
### Buckets ### Filer UI
The default configuration creates two buckets `dbrepo-upload`, `dbrepo-download`: The storage service comes with a simple UI that can be used to explore the uploaded files, rename them and delete them.
Please note that the Filer UI is not intended for production and should be turned off for security purposes.
* `dbrepo-upload` for CSV-file upload (for import of data, analysis, etc.) from the User Interface <figure markdown>
* `dbrepo-download` for CSV-file download (exporting data, metadata, etc.) ![Filer UI with a list of uploaded files in the bucket dbrepo](../images/screenshots/storage-service-filer.png)
<figcaption>Figure 1: Filer UI</figcaption>
</figure>
## Limitations ## Limitations
......
---
author: Martin Weise
---
## tl;dr
!!! debug "Debug Information"
Image: [`docker.io/tusproject/tusd:v1.12`](https://hub.docker.com/r/tusproject/tusd)
* Ports: 1080/tcp
* Prometheus: `http://<hostname>:1080/api/upload/metrics`
* API: `http://<hostname>:1080/api/upload`
To directly access in Kubernetes (for e.g. debugging), forward the svc port to your local machine:
```shell
kubectl [-n namespace] port-forward svc/upload-service 1080:80
```
## Overview
We use the [TUS](https://tus.io/) open protocol for resume-able file uploads which based entirely on HTTP. Even though
the Upload Service is part of the standard installation, it is an entirely optional component and can be replaced with
any S3-compatible Blob Storage.
### Architecture
The Upload Service communicates internally with the [Storage Service](../storage-service) (c.f. [Figure 1](#fig1)).
<figure id="fig1" markdown>
![Architecture of the Upload Service](../images/architecture-upload-service.svg)
<figcaption>Figure 1: Architecture of the Upload Service</figcaption>
</figure>
The Upload Service is responsible for uploading files (mainly CSV-files) into a Blob Storage that can be accesses trough
the S3 protocol (e.g. our [Storage Service](../storage-service)). Make sure that the Upload Service can be
accessed from the Gateway Service.
## Limitations
* No support for authentication.
!!! question "Do you miss functionality? Do these limitations affect you?"
We strongly encourage you to help us implement it as we are welcoming contributors to open-source software and get
in [contact](../contact) with us, we happily answer requests for collaboration with attached CV and your programming
experience!
## Security
1. We strongly encourage to limit the clients allowed to upload by adding your subnet, e.g. `128.130.0.0/16`
(=TU Wien subnet) to the [Gateway Service](../system-services-gateway) configuration file like this:
```nginx title="dbrepo.conf"
location /api/upload {
allow 128.130.0.0/16;
deny all;
...
}
```
...@@ -2,22 +2,67 @@ ...@@ -2,22 +2,67 @@
author: Martin Weise author: Martin Weise
--- ---
## v1.7.0 (2025-03-03)
[:simple-gitlab: GitLab Release](https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/tags/v1.7.0)
!!! warning "Contains Breaking Changes"
This release updates the Metadata Database schema which is incompatible to v1.6.3! Follow the steps:
1. Make a backup of the database with `mariadb-dump`.
2. Apply the schema changes script: [`schema.sql`](https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/blob/release-1.7/dbrepo-metadata-db/migration/16/schema.sql):
```shell
mariadb -h 127.0.0.1 -p3306 -u root --password=<password> -D dbrepo < schema.sql
```
3. Install the dependencies from the [`requirements.txt`](https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/blob/release-1.7/dbrepo-metadata-db/migration/16/requirements.txt)
file or use your local environment:
```shell
pip install dbrepo==1.6.5rc15
```
4. Run the data migration script [`data.py`](https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/blob/release-1.7/dbrepo-metadata-db/migration/16/data.py):
```shell
python data.py > data.sql
```
It generates the SQL statements used for migrating to the new schema.
5. Run the generated `data.sql` script:
```shell
mariadb -h 127.0.0.1 -p3306 -u root --password=<password> -D dbrepo < data.sql
```
#### Features
* Implemented a basic brute-force security defense strategy in the Auth Service that increments the wait time on wrong
logins in [#494](https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/issues/494).
* Implemented a password policy
in [#495](https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/issues/495).
#### Changes
* Replaced sequential numerical ids with non-guessable random ids in the Metadata Database
in [#491](https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/issues/491).
* Changed the interface for executing query in subsets/views
in [#493](https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/issues/493).
#### Removals
* Removed the Upload Service in favor of an internal stable upload endpoint in the Data Service
in [#492](https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/issues/492).
## v1.6.5 (2025-02-18) ## v1.6.5 (2025-02-18)
[:simple-gitlab: GitLab Release](https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/tags/v1.6.5) [:simple-gitlab: GitLab Release](https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/tags/v1.6.5)
### What's Changed
#### Fixes #### Fixes
* Fixed a bug where listing the views in the Python library did not work. * Fixed a bug where listing the views in the Python library did not work.
* Fixed a wrong MariaDB configuration where the `innodb_buffer_pool_size` variable was not configured to 70% of the
available memory in the Helm chart.
## v1.6.4 (2025-02-14) ## v1.6.4 (2025-02-14)
[:simple-gitlab: GitLab Release](https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/tags/v1.6.4) [:simple-gitlab: GitLab Release](https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/tags/v1.6.4)
### What's Changed
#### Fixes #### Fixes
* Fixed a bug where the users were not synced with the Metadata Database * Fixed a bug where the users were not synced with the Metadata Database
...@@ -27,8 +72,6 @@ author: Martin Weise ...@@ -27,8 +72,6 @@ author: Martin Weise
[:simple-gitlab: GitLab Release](https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/tags/v1.6.3) [:simple-gitlab: GitLab Release](https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/tags/v1.6.3)
### What's Changed
#### Changes #### Changes
* Refactored the UI to support OIDC and added an event listener to the Auth Service that syncs users on creation to the * Refactored the UI to support OIDC and added an event listener to the Auth Service that syncs users on creation to the
...@@ -38,8 +81,6 @@ author: Martin Weise ...@@ -38,8 +81,6 @@ author: Martin Weise
[:simple-gitlab: GitLab Release](https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/tags/v1.6.2) [:simple-gitlab: GitLab Release](https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/tags/v1.6.2)
### What's Changed
#### Changes #### Changes
* Added interface tests for the Python library in Gitlab CI/CD pipeline * Added interface tests for the Python library in Gitlab CI/CD pipeline
...@@ -54,8 +95,6 @@ author: Martin Weise ...@@ -54,8 +95,6 @@ author: Martin Weise
[:simple-gitlab: GitLab Release](https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/tags/v1.6.1) [:simple-gitlab: GitLab Release](https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/tags/v1.6.1)
### What's Changed
#### Changes #### Changes
* Added privacy feature for hidden databases (and optionally tables, views, subsets) that hides them completely from * Added privacy feature for hidden databases (and optionally tables, views, subsets) that hides them completely from
...@@ -70,8 +109,6 @@ author: Martin Weise ...@@ -70,8 +109,6 @@ author: Martin Weise
[:simple-gitlab: GitLab Release](https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/tags/v1.6.0) [:simple-gitlab: GitLab Release](https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/tags/v1.6.0)
### What's Changed
#### Features #### Features
* Added possibility to modify table description and privacy mode that hides metadata of databases, tables, subsets and * Added possibility to modify table description and privacy mode that hides metadata of databases, tables, subsets and
...@@ -109,8 +146,6 @@ author: Martin Weise ...@@ -109,8 +146,6 @@ author: Martin Weise
[:simple-gitlab: GitLab Release](https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/tags/v1.5.3) [:simple-gitlab: GitLab Release](https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/tags/v1.5.3)
### What's Changed
#### Fixes #### Fixes
* Fixed a bug where subsets containing sub-queries are not able to retrieve data * Fixed a bug where subsets containing sub-queries are not able to retrieve data
...@@ -120,8 +155,6 @@ author: Martin Weise ...@@ -120,8 +155,6 @@ author: Martin Weise
[:simple-gitlab: GitLab Release](https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/tags/v1.5.2) [:simple-gitlab: GitLab Release](https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/tags/v1.5.2)
### What's Changed
#### Changes #### Changes
* Adapt Helm chart to support `runAsNonRoot` throughout and specify `resource` presets for the highly-constrained * Adapt Helm chart to support `runAsNonRoot` throughout and specify `resource` presets for the highly-constrained
...@@ -141,8 +174,6 @@ author: Martin Weise ...@@ -141,8 +174,6 @@ author: Martin Weise
[:simple-gitlab: GitLab Release](https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/tags/v1.5.1) [:simple-gitlab: GitLab Release](https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/tags/v1.5.1)
### What's Changed
#### Fixes #### Fixes
* Bug where the data volume could not be calculated when the data length column in the Metadata Database is `null` * Bug where the data volume could not be calculated when the data length column in the Metadata Database is `null`
...@@ -160,8 +191,6 @@ author: Martin Weise ...@@ -160,8 +191,6 @@ author: Martin Weise
script [`schema_1.4.5-to-1.5.0.sql`](https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/blob/release-1.5/dbrepo-metadata-db/migration/schema_1.4.5-to-1.5.0.sql) script [`schema_1.4.5-to-1.5.0.sql`](https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/blob/release-1.5/dbrepo-metadata-db/migration/schema_1.4.5-to-1.5.0.sql)
to apply the changes manually. to apply the changes manually.
### What's Changed
#### Features #### Features
* Added `SERIAL` data type to create incrementing key * Added `SERIAL` data type to create incrementing key
...@@ -196,8 +225,6 @@ author: Martin Weise ...@@ -196,8 +225,6 @@ author: Martin Weise
This release updates the Metadata Database schema which is incompatible to v1.4.5! This release updates the Metadata Database schema which is incompatible to v1.4.5!
### What's Changed
#### Features #### Features
* Added [Dashboard Service](../api/dashboard-service/) and monitoring in default setup. * Added [Dashboard Service](../api/dashboard-service/) and monitoring in default setup.
......
.docs/images/screenshots/storage-service-filer.png

122 KiB

...@@ -14,7 +14,7 @@ author: Martin Weise ...@@ -14,7 +14,7 @@ author: Martin Weise
![Maintainability Rating](./images/maintainability.svg) ![Maintainability Rating](./images/maintainability.svg)
![Security Rating](./images/security.svg) ![Security Rating](./images/security.svg)
Documentation for version: [v1.6.5](https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/releases). Documentation for version: [v1.7.0](https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/releases).
DBRepo is a repository for data in databases that are used from the beginning until the end of a research DBRepo is a repository for data in databases that are used from the beginning until the end of a research
project supporting data evolution, -citation and -versioning. It implements the query store of the project supporting data evolution, -citation and -versioning. It implements the query store of the
......
...@@ -11,7 +11,7 @@ author: Martin Weise ...@@ -11,7 +11,7 @@ author: Martin Weise
If you have [Docker](https://docs.docker.com/engine/install/) already installed on your system, you can install DBRepo with: If you have [Docker](https://docs.docker.com/engine/install/) already installed on your system, you can install DBRepo with:
```shell ```shell
curl -sSL https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/raw/release-1.6/install.sh | bash curl -sSL https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/raw/release-1.7/install.sh | bash
``` ```
!!! bug "Default installation security disclaimer" !!! bug "Default installation security disclaimer"
...@@ -38,7 +38,7 @@ SSL/TLS certificate is recommended. Follow the [secure installation](#secure-ins ...@@ -38,7 +38,7 @@ SSL/TLS certificate is recommended. Follow the [secure installation](#secure-ins
Execute the installation script to download only the environment and save it to `dist`. Execute the installation script to download only the environment and save it to `dist`.
```shell ```shell
curl -sSL https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/raw/release-1.6/install.sh | DOWNLOAD_ONLY=1 bash curl -sSL https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/raw/release-1.7/install.sh | DOWNLOAD_ONLY=1 bash
``` ```
### Static Configuration ### Static Configuration
...@@ -82,7 +82,7 @@ the variable `IDENTITY_SERVICE_ADMIN_PASSWORD` in `.env`. ...@@ -82,7 +82,7 @@ the variable `IDENTITY_SERVICE_ADMIN_PASSWORD` in `.env`.
Update the client secret of the `dbrepo-client`: Update the client secret of the `dbrepo-client`:
```bash ```bash
curl -sSL "https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/raw/release-1.6/.scripts/reg-client-secret.sh" | bash curl -sSL "https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/raw/release-1.7/.scripts/reg-client-secret.sh" | bash
``` ```
Also, update the JWT key according to the Also, update the JWT key according to the
......
...@@ -6,7 +6,7 @@ author: Martin Weise ...@@ -6,7 +6,7 @@ author: Martin Weise
To install DBRepo in your existing cluster, download the To install DBRepo in your existing cluster, download the
sample [ sample [
`values.yaml`](https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/blob/release-1.6/helm/dbrepo/values.yaml) `values.yaml`](https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/blob/release-1.7/helm/dbrepo/values.yaml)
for your deployment and update the variables, especially `hostname`. for your deployment and update the variables, especially `hostname`.
```shell ```shell
...@@ -14,7 +14,7 @@ helm upgrade --install dbrepo \ ...@@ -14,7 +14,7 @@ helm upgrade --install dbrepo \
-n dbrepo \ -n dbrepo \
"oci://registry.datalab.tuwien.ac.at/dbrepo/helm/dbrepo" \ "oci://registry.datalab.tuwien.ac.at/dbrepo/helm/dbrepo" \
--values ./values.yaml \ --values ./values.yaml \
--version "1.6.5" \ --version "1.7.0" \
--create-namespace \ --create-namespace \
--cleanup-on-fail --cleanup-on-fail
``` ```
......
variables: variables:
BUILD_VERSION: ""
HOSTALIASES: "./hosts" HOSTALIASES: "./hosts"
DOCKER_HOST: "unix:///var/run/dind/docker.sock" DOCKER_HOST: "unix:///var/run/dind/docker.sock"
DOCKER_VERSION: "27" DOCKER_VERSION: "27"
...@@ -9,9 +10,9 @@ variables: ...@@ -9,9 +10,9 @@ variables:
NODE_VERSION: "18" NODE_VERSION: "18"
SONARQUBE_VERSION: "10.0" SONARQUBE_VERSION: "10.0"
BUN_VERSION: "1.1.40" BUN_VERSION: "1.1.40"
DOC_VERSION: "1.6" DOC_VERSION: "1.7"
APP_VERSION: "1.6.5" APP_VERSION: "1.7.0"
CHART_VERSION: "1.6.5" CHART_VERSION: "1.7.0"
CACHE_FALLBACK_KEY: "${CI_DEFAULT_BRANCH}" CACHE_FALLBACK_KEY: "${CI_DEFAULT_BRANCH}"
# This will supress any download for dependencies and plugins or upload messages which would clutter the console log. # This will supress any download for dependencies and plugins or upload messages which would clutter the console log.
# `showDateTime` will show the passed time in milliseconds. You need to specify `--batch-mode` to make this work. # `showDateTime` will show the passed time in milliseconds. You need to specify `--batch-mode` to make this work.
...@@ -30,13 +31,20 @@ cache: ...@@ -30,13 +31,20 @@ cache:
paths: paths:
- .m2/repository - .m2/repository
workflow:
rules:
- if: $CI_COMMIT_REF_NAME == "dev"
variables:
BUILD_VERSION: "+git.${CI_COMMIT_SHORT_SHA}"
- when: always
stages: stages:
- lint - lint
- build - build
- deploy
- test - test
- docs - docs
- release - release
- deploy
- verify - verify
- scan - scan
...@@ -80,9 +88,9 @@ lint-helm-chart: ...@@ -80,9 +88,9 @@ lint-helm-chart:
- apk --no-cache add helm git bash - apk --no-cache add helm git bash
- cp ./helm/dbrepo/values.schema.json ./CI_values.schema.json - cp ./helm/dbrepo/values.schema.json ./CI_values.schema.json
- helm plugin install https://github.com/losisin/helm-values-schema-json.git - helm plugin install https://github.com/losisin/helm-values-schema-json.git
- helm dependency update ./helm/seaweedfs
- helm package ./helm/seaweedfs --destination ./build - helm package ./helm/seaweedfs --destination ./build
- helm dependency update ./helm/dbrepo - helm registry login --username "${CI_REGISTRY_USER}" --password "${CI_REGISTRY_PASSWORD}" "${CI_REGISTRY_URL}"
- helm registry login --username "${CI_REGISTRY2_USER}" --password "${CI_REGISTRY2_PASSWORD}" "${CI_REGISTRY2_URL}"
script: script:
- bash .scripts/check-helm.sh - bash .scripts/check-helm.sh
- helm lint ./helm/dbrepo - helm lint ./helm/dbrepo
...@@ -137,6 +145,9 @@ lint-open-api-version: ...@@ -137,6 +145,9 @@ lint-open-api-version:
build-metadata-service: build-metadata-service:
image: maven:3-openjdk-${JAVA_VERSION} image: maven:3-openjdk-${JAVA_VERSION}
stage: build stage: build
only:
- merge_requests
- master
script: script:
- "mvn -f ./dbrepo-metadata-service/pom.xml clean install $MAVEN_OPTS -DskipTests" - "mvn -f ./dbrepo-metadata-service/pom.xml clean install $MAVEN_OPTS -DskipTests"
# Compiled classes are needed for SonarQube in later stages # Compiled classes are needed for SonarQube in later stages
...@@ -155,6 +166,9 @@ build-metadata-service: ...@@ -155,6 +166,9 @@ build-metadata-service:
build-analyse-service: build-analyse-service:
image: docker.io/python:${PYTHON_VERSION}-alpine${ALPINE_VERSION} image: docker.io/python:${PYTHON_VERSION}-alpine${ALPINE_VERSION}
stage: build stage: build
only:
- merge_requests
- master
variables: variables:
PIPENV_PIPFILE: "./dbrepo-analyse-service/Pipfile" PIPENV_PIPFILE: "./dbrepo-analyse-service/Pipfile"
script: script:
...@@ -164,6 +178,9 @@ build-analyse-service: ...@@ -164,6 +178,9 @@ build-analyse-service:
build-lib: build-lib:
image: docker.io/python:${PYTHON_VERSION}-alpine${ALPINE_VERSION} image: docker.io/python:${PYTHON_VERSION}-alpine${ALPINE_VERSION}
stage: build stage: build
only:
- merge_requests
- master
variables: variables:
PIPENV_PIPFILE: "./lib/python/Pipfile" PIPENV_PIPFILE: "./lib/python/Pipfile"
script: script:
...@@ -173,12 +190,16 @@ build-lib: ...@@ -173,12 +190,16 @@ build-lib:
build-data-service: build-data-service:
image: maven:3-openjdk-${JAVA_VERSION} image: maven:3-openjdk-${JAVA_VERSION}
stage: build stage: build
only:
- merge_requests
- master
needs: needs:
- build-metadata-service - build-metadata-service
dependencies: dependencies:
- build-metadata-service - build-metadata-service
script: before_script:
- "mvn -f ./dbrepo-metadata-service/pom.xml clean install $MAVEN_OPTS -DskipTests" - "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" - "mvn -f ./dbrepo-data-service/pom.xml clean package $MAVEN_OPTS -DskipTests"
# Compiled classes are needed for SonarQube in later stages # Compiled classes are needed for SonarQube in later stages
artifacts: artifacts:
...@@ -192,19 +213,29 @@ build-data-service: ...@@ -192,19 +213,29 @@ build-data-service:
build-ui: build-ui:
image: oven/bun:${BUN_VERSION}-alpine image: oven/bun:${BUN_VERSION}-alpine
stage: build stage: build
only:
- merge_requests
- master
script: script:
- "cd ./dbrepo-ui && bun install && bun run build" - "cd ./dbrepo-ui && bun install && bun run build"
build-search-service: build-search-service:
image: docker.io/python:${PYTHON_VERSION}-alpine${ALPINE_VERSION} image: docker.io/python:${PYTHON_VERSION}-alpine${ALPINE_VERSION}
stage: build stage: build
script: only:
- merge_requests
- master
before_script:
- "pip install pipenv" - "pip install pipenv"
script:
- "cd dbrepo-search-service && pipenv install --system --deploy" - "cd dbrepo-search-service && pipenv install --system --deploy"
build-images: build-images:
image: docker.io/docker:${DOCKER_VERSION}-dind image: docker.io/docker:${DOCKER_VERSION}-dind
stage: build stage: build
only:
- merge_requests
- master
before_script: before_script:
- "apk add --no-cache make" - "apk add --no-cache make"
- echo "$CI_REGISTRY_PASSWORD" | docker login --username "$CI_REGISTRY_USER" --password-stdin $CI_REGISTRY_URL - echo "$CI_REGISTRY_PASSWORD" | docker login --username "$CI_REGISTRY_USER" --password-stdin $CI_REGISTRY_URL
...@@ -214,6 +245,10 @@ build-images: ...@@ -214,6 +245,10 @@ build-images:
build-helm: build-helm:
image: docker.io/docker:${DOCKER_VERSION}-dind image: docker.io/docker:${DOCKER_VERSION}-dind
stage: build stage: build
only:
- tags
- merge_requests
- master
before_script: before_script:
- apk add --no-cache helm make - apk add --no-cache helm make
- echo "$CI_GPG_KEYRING" | base64 -d > ./secring.gpg - echo "$CI_GPG_KEYRING" | base64 -d > ./secring.gpg
...@@ -221,30 +256,12 @@ build-helm: ...@@ -221,30 +256,12 @@ build-helm:
script: script:
- make build-helm - make build-helm
deploy-staging:
image: docker.io/alpine:${ALPINE_VERSION}
stage: deploy
variables:
KUBECONFIG: ./kubecfg
environment:
name: staging/datalab
url: ${CI_ENV_STAGING_URL}
before_script:
- apk add --no-cache helm kubectl make
- echo ${CI_K8S_CONFIG} | base64 -d > ./kubecfg
- make build-helm
- helm -n ${CI_ENV_STAGING_NAMESPACE} uninstall ${CI_ENV_STAGING_RELEASE_NAME} --ignore-not-found
- kubectl -n ${CI_ENV_STAGING_NAMESPACE} delete pvc --all
script:
- helm -n ${CI_ENV_STAGING_NAMESPACE} upgrade --install ${CI_ENV_STAGING_RELEASE_NAME} ./build/dbrepo-${CHART_VERSION}.tgz --create-namespace -f ./.gitlab/agents/dev/values.yaml
only:
refs:
- dev
- master
test-metadata-service: test-metadata-service:
image: maven:3-openjdk-${JAVA_VERSION} image: maven:3-openjdk-${JAVA_VERSION}
stage: test stage: test
only:
- merge_requests
- master
needs: needs:
- build-metadata-service - build-metadata-service
dependencies: dependencies:
...@@ -265,6 +282,9 @@ test-metadata-service: ...@@ -265,6 +282,9 @@ test-metadata-service:
test-data-service: test-data-service:
image: maven:3-openjdk-${JAVA_VERSION} image: maven:3-openjdk-${JAVA_VERSION}
stage: test stage: test
only:
- merge_requests
- master
needs: needs:
- build-data-service - build-data-service
dependencies: dependencies:
...@@ -283,16 +303,12 @@ test-data-service: ...@@ -283,16 +303,12 @@ test-data-service:
junit: ./dbrepo-data-service/rest-service/target/surefire-reports/TEST-*.xml junit: ./dbrepo-data-service/rest-service/target/surefire-reports/TEST-*.xml
coverage: '/Total.*?([0-9]{1,3})%/' coverage: '/Total.*?([0-9]{1,3})%/'
test-upload-service:
image: maven:3-openjdk-${JAVA_VERSION}
stage: test
script:
- "mvn -f ./dbrepo-metadata-service/pom.xml clean install $MAVEN_OPTS -DskipTests"
- "mvn -f ./dbrepo-upload-service/pom.xml clean test $MAVEN_OPTS"
test-analyse-service: test-analyse-service:
image: docker.io/python:${PYTHON_VERSION}-alpine${ALPINE_VERSION} image: docker.io/python:${PYTHON_VERSION}-alpine${ALPINE_VERSION}
stage: test stage: test
only:
- merge_requests
- master
variables: variables:
PIPENV_PIPFILE: "./dbrepo-analyse-service/Pipfile" PIPENV_PIPFILE: "./dbrepo-analyse-service/Pipfile"
needs: needs:
...@@ -302,21 +318,24 @@ test-analyse-service: ...@@ -302,21 +318,24 @@ test-analyse-service:
script: script:
- "pip install pipenv" - "pip install pipenv"
- "pipenv install gunicorn && pipenv install --dev --system --deploy" - "pipenv install gunicorn && pipenv install --dev --system --deploy"
- cd ./dbrepo-analyse-service/ && coverage run -m pytest tests/test_determine_dt.py tests/test_determine_pk.py tests/test_s3_client.py --junitxml=report.xml && coverage html --omit="tests/*" && coverage report --omit="tests/*" > ./coverage.txt - cd ./dbrepo-analyse-service/ && coverage run --rcfile=.coveragerc -m pytest tests/test_determine_dt.py tests/test_determine_pk.py tests/test_s3_client.py && coverage html && coverage xml && coverage report > ./coverage.txt
- "cat ./coverage.txt | grep -o 'TOTAL[^%]*%'" - "cat ./coverage.txt | grep -o 'TOTAL[^%]*%'"
artifacts: artifacts:
when: always when: always
paths: paths:
- ./dbrepo-analyse-service/report.xml - ./dbrepo-analyse-service/coverage.xml
- ./dbrepo-analyse-service/coverage.txt - ./dbrepo-analyse-service/coverage.txt
expire_in: 1 days expire_in: 1 days
reports: reports:
junit: ./dbrepo-analyse-service/report.xml junit: ./dbrepo-analyse-service/coverage.xml
coverage: '/TOTAL.*?([0-9]{1,3})%/' coverage: '/TOTAL.*?([0-9]{1,3})%/'
test-auth-service-init: test-auth-service-init:
image: docker.io/python:${PYTHON_VERSION}-alpine${ALPINE_VERSION} image: docker.io/python:${PYTHON_VERSION}-alpine${ALPINE_VERSION}
stage: test stage: test
only:
- merge_requests
- master
variables: variables:
PIPENV_PIPFILE: "./dbrepo-auth-service/init/Pipfile" PIPENV_PIPFILE: "./dbrepo-auth-service/init/Pipfile"
before_script: before_script:
...@@ -324,21 +343,24 @@ test-auth-service-init: ...@@ -324,21 +343,24 @@ test-auth-service-init:
- "pip install pipenv" - "pip install pipenv"
- "pipenv install gunicorn && pipenv install --dev --system --deploy" - "pipenv install gunicorn && pipenv install --dev --system --deploy"
script: script:
- cd ./dbrepo-auth-service/init/ && coverage run -m pytest tests/test_unit_app.py --junitxml=report.xml && coverage html --omit="tests/*" && coverage report --omit="tests/*" > ./coverage.txt - cd ./dbrepo-auth-service/init/ && coverage run --rcfile=.coveragerc -m pytest tests/test_unit_app.py && coverage html && coverage xml && coverage report > ./coverage.txt
- "cat ./coverage.txt | grep -o 'TOTAL[^%]*%'" - "cat ./coverage.txt | grep -o 'TOTAL[^%]*%'"
artifacts: artifacts:
when: always when: always
paths: paths:
- ./dbrepo-auth-service/init/report.xml - ./dbrepo-auth-service/init/coverage.xml
- ./dbrepo-auth-service/init/coverage.txt - ./dbrepo-auth-service/init/coverage.txt
expire_in: 1 days expire_in: 1 days
reports: reports:
junit: ./dbrepo-auth-service/init/report.xml junit: ./dbrepo-auth-service/init/coverage.xml
coverage: '/TOTAL.*?([0-9]{1,3})%/' coverage: '/TOTAL.*?([0-9]{1,3})%/'
test-search-service: test-search-service:
image: docker.io/python:${PYTHON_VERSION}-alpine${ALPINE_VERSION} image: docker.io/python:${PYTHON_VERSION}-alpine${ALPINE_VERSION}
stage: test stage: test
only:
- merge_requests
- master
variables: variables:
PIPENV_PIPFILE: "./dbrepo-search-service/Pipfile" PIPENV_PIPFILE: "./dbrepo-search-service/Pipfile"
needs: needs:
...@@ -355,21 +377,24 @@ test-search-service: ...@@ -355,21 +377,24 @@ test-search-service:
script: script:
- "pip install pipenv" - "pip install pipenv"
- "pipenv install gunicorn && pipenv install --dev --system --deploy" - "pipenv install gunicorn && pipenv install --dev --system --deploy"
- cd ./dbrepo-search-service/ && coverage run -m pytest tests/test_app.py tests/test_jwt.py tests/test_opensearch_client.py tests/test_keycloak_client.py --junitxml=report.xml && coverage html && coverage report > ./coverage.txt - cd ./dbrepo-search-service/ && coverage run --rcfile=.coveragerc -m pytest tests/test_app.py tests/test_jwt.py tests/test_opensearch_client.py tests/test_keycloak_client.py && coverage html && coverage xml && coverage report > ./coverage.txt
- "cat ./coverage.txt | grep -o 'TOTAL[^%]*%'" - "cat ./coverage.txt | grep -o 'TOTAL[^%]*%'"
artifacts: artifacts:
when: always when: always
paths: paths:
- ./dbrepo-search-service/report.xml - ./dbrepo-search-service/coverage.xml
- ./dbrepo-search-service/coverage.txt - ./dbrepo-search-service/coverage.txt
expire_in: 1 days expire_in: 1 days
reports: reports:
junit: ./dbrepo-search-service/report.xml junit: ./dbrepo-search-service/coverage.xml
coverage: '/TOTAL.*?([0-9]{1,3})%/' coverage: '/TOTAL.*?([0-9]{1,3})%/'
test-search-service-init: test-search-service-init:
image: docker.io/python:${PYTHON_VERSION}-alpine${ALPINE_VERSION} image: docker.io/python:${PYTHON_VERSION}-alpine${ALPINE_VERSION}
stage: test stage: test
only:
- merge_requests
- master
variables: variables:
PIPENV_PIPFILE: "./dbrepo-search-service/init/Pipfile" PIPENV_PIPFILE: "./dbrepo-search-service/init/Pipfile"
needs: needs:
...@@ -379,21 +404,24 @@ test-search-service-init: ...@@ -379,21 +404,24 @@ test-search-service-init:
script: script:
- "pip install pipenv" - "pip install pipenv"
- "pipenv install gunicorn && pipenv install --dev --system --deploy" - "pipenv install gunicorn && pipenv install --dev --system --deploy"
- cd ./dbrepo-search-service/init/ && coverage run -m pytest tests/test_app.py tests/test_keycloak_client.py tests/test_opensearch_client.py --junitxml=report.xml && coverage html && coverage report > ./coverage.txt - cd ./dbrepo-search-service/init/ && coverage run --rcfile=.coveragerc -m pytest tests/test_app.py tests/test_keycloak_client.py tests/test_opensearch_client.py && coverage html && coverage xml && coverage report > ./coverage.txt
- "cat ./coverage.txt | grep -o 'TOTAL[^%]*%'" - "cat ./coverage.txt | grep -o 'TOTAL[^%]*%'"
artifacts: artifacts:
when: always when: always
paths: paths:
- ./dbrepo-search-service/report.xml - ./dbrepo-search-service/coverage.xml
- ./dbrepo-search-service/coverage.txt - ./dbrepo-search-service/coverage.txt
expire_in: 1 days expire_in: 1 days
reports: reports:
junit: ./dbrepo-search-service/report.xml junit: ./dbrepo-search-service/coverage.xml
coverage: '/TOTAL.*?([0-9]{1,3})%/' coverage: '/TOTAL.*?([0-9]{1,3})%/'
test-lib: test-lib:
image: docker.io/python:${PYTHON_VERSION}-alpine${ALPINE_VERSION} image: docker.io/python:${PYTHON_VERSION}-alpine${ALPINE_VERSION}
stage: test stage: test
only:
- merge_requests
- master
variables: variables:
PIPENV_PIPFILE: "./lib/python/Pipfile" PIPENV_PIPFILE: "./lib/python/Pipfile"
needs: needs:
...@@ -403,21 +431,24 @@ test-lib: ...@@ -403,21 +431,24 @@ test-lib:
script: script:
- "pip install pipenv" - "pip install pipenv"
- "pipenv install gunicorn && pipenv install --dev --system --deploy" - "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_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_rest_client.py --junitxml=report.xml && coverage html --omit="tests/*" && coverage report --omit="tests/*" > ./coverage.txt - cd ./lib/python/ && coverage run --rcfile=.coveragerc -m pytest tests/test_unit_container.py tests/test_unit_messages.py tests/test_unit_image.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 && coverage html && coverage xml && coverage report > ./coverage.txt
- "cat ./coverage.txt | grep -o 'TOTAL[^%]*%'" - "cat ./coverage.txt | grep -o 'TOTAL[^%]*%'"
artifacts: artifacts:
when: always when: always
paths: paths:
- ./lib/python/report.xml - ./lib/python/coverage.xml
- ./lib/python/coverage.txt - ./lib/python/coverage.txt
expire_in: 1 days expire_in: 1 days
reports: reports:
junit: ./lib/python/report.xml junit: ./lib/python/coverage.xml
coverage: '/TOTAL.*?([0-9]{1,3})%/' coverage: '/TOTAL.*?([0-9]{1,3})%/'
test-ui: test-ui:
stage: test
image: docker.io/docker:${DOCKER_VERSION}-dind image: docker.io/docker:${DOCKER_VERSION}-dind
stage: test
only:
- merge_requests
- master
needs: needs:
- build-ui - build-ui
dependencies: dependencies:
...@@ -433,13 +464,18 @@ test-ui: ...@@ -433,13 +464,18 @@ test-ui:
release-images: release-images:
stage: release stage: release
image: docker:${DOCKER_VERSION}-dind image: docker:${DOCKER_VERSION}-dind
only:
- dev
- tags
dependencies: dependencies:
- test-metadata-service
- test-data-service
- test-analyse-service - test-analyse-service
only: - test-auth-service-init
refs: - test-data-service
- /^release-.*/ - test-lib
- test-metadata-service
- test-search-service
- test-search-service-init
- test-ui
before_script: before_script:
- "docker logout ${CI_REGISTRY_URL}" - "docker logout ${CI_REGISTRY_URL}"
- "echo ${CI_REGISTRY_PASSWORD} | docker login --username ${CI_REGISTRY_USER} --password-stdin ${CI_REGISTRY_URL}" - "echo ${CI_REGISTRY_PASSWORD} | docker login --username ${CI_REGISTRY_USER} --password-stdin ${CI_REGISTRY_URL}"
...@@ -454,9 +490,7 @@ release-helm: ...@@ -454,9 +490,7 @@ release-helm:
stage: release stage: release
image: docker:${DOCKER_VERSION}-dind image: docker:${DOCKER_VERSION}-dind
only: only:
refs: - tags
- /^release-.*/
when: manual
needs: needs:
- build-helm - build-helm
dependencies: dependencies:
...@@ -470,6 +504,8 @@ release-helm: ...@@ -470,6 +504,8 @@ release-helm:
- "mkdir -p ~/.gnupg" - "mkdir -p ~/.gnupg"
- echo "$CI_GPG_KEYRING" | base64 -d > ~/.gnupg/secring.gpg - echo "$CI_GPG_KEYRING" | base64 -d > ~/.gnupg/secring.gpg
- echo "$CI_GPG_KEYRING2" | base64 -d > ~/.gnupg/pubring.gpg - echo "$CI_GPG_KEYRING2" | base64 -d > ~/.gnupg/pubring.gpg
- helm registry login --username "${CI_REGISTRY_USER}" --password "${CI_REGISTRY_PASSWORD}" "${CI_REGISTRY_URL}"
- helm registry login --username "${CI_REGISTRY2_USER}" --password "${CI_REGISTRY2_PASSWORD}" "${CI_REGISTRY2_URL}"
- make build-helm - make build-helm
- "helm package ./helm/dbrepo --sign --key 'Martin Weise' --keyring ~/.gnupg/secring.gpg --destination ./build" - "helm package ./helm/dbrepo --sign --key 'Martin Weise' --keyring ~/.gnupg/secring.gpg --destination ./build"
- "helm plugin install https://github.com/sigstore/helm-sigstore" - "helm plugin install https://github.com/sigstore/helm-sigstore"
...@@ -481,8 +517,7 @@ release-docs: ...@@ -481,8 +517,7 @@ release-docs:
stage: release stage: release
image: docker.io/python:${PYTHON_VERSION}-alpine${ALPINE_VERSION} image: docker.io/python:${PYTHON_VERSION}-alpine${ALPINE_VERSION}
only: only:
refs: - tags
- /^release-.*/
before_script: before_script:
- "apk add --no-cache alpine-sdk bash sed wget openssh jq curl" - "apk add --no-cache alpine-sdk bash sed wget openssh jq curl"
- "pip install pipenv" - "pip install pipenv"
...@@ -514,10 +549,8 @@ release-docs: ...@@ -514,10 +549,8 @@ release-docs:
release-libs: release-libs:
stage: release stage: release
image: docker.io/python:${PYTHON_VERSION}-alpine${ALPINE_VERSION} image: docker.io/python:${PYTHON_VERSION}-alpine${ALPINE_VERSION}
when: manual
only: only:
refs: - tags
- /^release-.*/
variables: variables:
PIPENV_PIPFILE: "./dbrepo-analyse-service/Pipfile" PIPENV_PIPFILE: "./dbrepo-analyse-service/Pipfile"
before_script: before_script:
...@@ -532,8 +565,7 @@ verify-install-script: ...@@ -532,8 +565,7 @@ verify-install-script:
image: docker.io/docker:${DOCKER_VERSION}-dind image: docker.io/docker:${DOCKER_VERSION}-dind
stage: verify stage: verify
only: only:
refs: - tags
- /^release-.*/
variables: variables:
SKIP_CHECKS: 1 SKIP_CHECKS: 1
before_script: before_script:
...@@ -545,25 +577,37 @@ verify-dist: ...@@ -545,25 +577,37 @@ verify-dist:
image: docker.io/alpine:${ALPINE_VERSION} image: docker.io/alpine:${ALPINE_VERSION}
stage: verify stage: verify
only: only:
refs: - tags
- /^release-.*/
before_script: before_script:
- "apk add curl" - "apk add curl"
script: script:
- "curl -v --output /dev/null --fail https://www.ifs.tuwien.ac.at/infrastructures/dbrepo/${APP_VERSION}/dist.tar.gz" - "curl -v --output /dev/null --fail https://www.ifs.tuwien.ac.at/infrastructures/dbrepo/${APP_VERSION}/dist.tar.gz"
deploy-staging:
image: docker.io/alpine:${ALPINE_VERSION}
stage: deploy
only:
- dev
variables:
KUBECONFIG: ./kubecfg
environment:
name: staging/datalab
url: ${CI_ENV_STAGING_URL}
before_script:
- apk add --no-cache helm kubectl make
- echo ${CI_K8S_CONFIG} | base64 -d > ./kubecfg
- make build-helm
- helm -n ${CI_ENV_STAGING_NAMESPACE} uninstall ${CI_ENV_STAGING_RELEASE_NAME} --ignore-not-found
- kubectl -n ${CI_ENV_STAGING_NAMESPACE} delete pvc --all
- echo "${CI_K8S_VALUES}" | base64 -d > ./values.yaml
script:
- helm -n ${CI_ENV_STAGING_NAMESPACE} upgrade --install ${CI_ENV_STAGING_RELEASE_NAME} ./build/dbrepo-${CHART_VERSION}.tgz --create-namespace -f ./values.yaml
scan-sonarqube: scan-sonarqube:
image: sonarsource/sonar-scanner-cli:${SONARQUBE_VERSION} image: sonarsource/sonar-scanner-cli:${SONARQUBE_VERSION}
stage: scan stage: scan
only: only:
refs: - master
- master
needs:
- build-data-service
- build-metadata-service
dependencies:
- build-data-service
- build-metadata-service
script: script:
- 'sonar-scanner -Dsonar.token="${CI_SONAR_TOKEN}"' - 'sonar-scanner -Dsonar.token="${CI_SONAR_TOKEN}"'
allow_failure: true allow_failure: true
......
hostname: s155.datalab.tuwien.ac.at
gateway: https://s155.datalab.tuwien.ac.at
metadatadb:
enabled: true
rootUser:
user: root
password: da19c7cf5c0deba7bd47c174a0eb273b
galera:
mariabackup:
user: mariabackup
password: 9e447eeaf3e4b6aa26ea01582f0e8a54
persistence:
enabled: true
authservice:
enabled: true
auth:
adminUser: admin
adminPassword: ea72038fa14b968fc0ed09e182ecf624
postgresql:
auth:
postgresPassword: 129d5b888b8df271fa482da39f15c513
jwt:
pubkey: "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAqqnHQ2BWWW9vDNLRCcxD++xZg/16oqMo/c1l+lcFEjjAIJjJp/HqrPYU/U9GvquGE6PbVFtTzW1KcKawOW+FJNOA3CGo8Q1TFEfz43B8rZpKsFbJKvQGVv1Z4HaKPvLUm7iMm8Hv91cLduuoWx6Q3DPe2vg13GKKEZe7UFghF+0T9u8EKzA/XqQ0OiICmsmYPbwvf9N3bCKsB/Y10EYmZRb8IhCoV9mmO5TxgWgiuNeCTtNCv2ePYqL/U0WvyGFW0reasIK8eg3KrAUj8DpyOgPOVBn3lBGf+3KFSYi+0bwZbJZWqbC/Xlk20Go1YfeJPRIt7ImxD27R/lNjgDO/MwIDAQAB"
client:
id: dbrepo-client
secret: MUwRc7yfXSJwX8AdRMWaQC3Nep1VjwgG
setupJob:
image:
name: registry.datalab.tuwien.ac.at/dbrepo/auth-service-init:1.6.3
persistence:
enabled: true
brokerservice:
enabled: true
ldap:
bindpw: b8534187c9adf9618e7bd1c79c7f4639
identityservice:
enabled: true
global:
adminUser: admin
adminPassword: b8534187c9adf9618e7bd1c79c7f4639
users: admin
userPasswords: ea72038fa14b968fc0ed09e182ecf624
datadb:
enabled: true
rootUser:
user: root
password: fdf8578499b2083eb3aa03a861ac7912
galera:
mariabackup:
user: mariabackup
password: ef60e32e3217525474635cd28422c829
replicaCount: 3
persistence:
enabled: true
searchdb:
enabled: true
security:
enabled: false
extraEnvs:
- name: DISABLE_INSTALL_DEMO_CONFIG
value: "true"
persistence:
enabled: true
analyseservice:
enabled: true
image:
name: registry.datalab.tuwien.ac.at/dbrepo/analyse-service:1.6.3
metadataservice:
enabled: true
image:
name: registry.datalab.tuwien.ac.at/dbrepo/metadata-service:1.6.3
admin:
email: noreply@example.com
deletedRecord: permanent
repositoryName: Database Repository
granularity: YYYY-MM-DDThh:mm:ssZ
datacite:
enabled: false
url: https://api.datacite.org
prefix: ""
username: ""
password: ""
dataservice:
enabled: true
image:
name: registry.datalab.tuwien.ac.at/dbrepo/data-service:1.6.3
rabbitmq:
consumer:
username: admin
password: ea72038fa14b968fc0ed09e182ecf624
s3:
auth:
username: a45e7a77607a8906e92237f00ea72f58
password: e2c4303dcbfd3a2c606fe30d19fcb82b
filePath: /s3
searchservice:
enabled: true
image:
name: registry.datalab.tuwien.ac.at/dbrepo/search-service:1.6.3
init:
image:
name: registry.datalab.tuwien.ac.at/dbrepo/search-service-init:1.6.3
storageservice:
enabled: true
init:
image:
name: registry.datalab.tuwien.ac.at/dbrepo/storage-service-init:1.6.3
uploadservice:
enabled: true
dashboardservice:
enabled: true
metricdb:
enabled: true
server:
rbac:
create: false
ui:
enabled: true
image:
name: registry.datalab.tuwien.ac.at/dbrepo/ui:1.6.3
public:
api:
client: https://s155.datalab.tuwien.ac.at
server: https://s155.datalab.tuwien.ac.at
title: "Database Repository"
logo: "https://ec.tuwien.ac.at/~weise/images/DS_white_hiRes.png"
icon: "https://ec.tuwien.ac.at/~weise/images/favicon.ico"
touch: "https://ec.tuwien.ac.at/~weise/images/DS-icon_white_hiRes.png"
broker:
host: s155.datalab.tuwien.ac.at
extra: "128.130.0.0/15"
database:
extra: "128.130.0.0/15"
pid:
default:
publisher: "TU Wien"
doi:
enabled: false
endpoint: https://doi.org
extraVolumes: [ ]
# - name: images-map
# configMap:
# name: ui-config
extraVolumeMounts: [ ]
# - name: images-map
# mountPath: /static/logo.svg
# subPath: logo.svg
gatewayservice:
enabled: true
ingress:
enabled: true
className: nginx
tls:
enabled: true
secretName: ingress-cert
annotations:
cert-manager.io/cluster-issuer: letsencrypt-cluster-issuer
# nginx.ingress.kubernetes.io/whitelist-source-range: 128.130.0.0/15
.PHONY: all .PHONY: all
APP_VERSION ?= 1.6.5 APP_VERSION ?= 1.7.0
CHART_VERSION ?= 1.6.5 CHART_VERSION ?= 1.7.0
REPOSITORY_URL ?= registry.datalab.tuwien.ac.at/dbrepo REPOSITORY_URL ?= registry.datalab.tuwien.ac.at/dbrepo
.PHONY: all .PHONY: all
......
...@@ -14,7 +14,7 @@ If you have [Docker](https://docs.docker.com/engine/install/) already installed ...@@ -14,7 +14,7 @@ If you have [Docker](https://docs.docker.com/engine/install/) already installed
with: with:
```bash ```bash
curl -sSL https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/raw/release-1.6/install.sh | bash curl -sSL https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/raw/release-1.7/install.sh | bash
``` ```
## Documentation ## Documentation
......
[report]
format = text
omit =
# omit tests
./tests/*
# omit ext lib
./omlib/*
[html]
directory = htmlcov
\ No newline at end of file
...@@ -21,7 +21,7 @@ numpy = "*" ...@@ -21,7 +21,7 @@ numpy = "*"
pandas = "*" pandas = "*"
minio = "*" minio = "*"
pydantic = "*" pydantic = "*"
dbrepo = {path = "./lib/dbrepo-1.6.5.tar.gz"} dbrepo = {path = "./lib/dbrepo-1.7.0.tar.gz"}
opensearch-py = "*" opensearch-py = "*"
[dev-packages] [dev-packages]
......
{ {
"_meta": { "_meta": {
"hash": { "hash": {
"sha256": "1013ec1b081d79912b7ec0878b4824cb4f885a96fec148ae728d746de601b493" "sha256": "0af9d522f713554dd7996401992cffddf372ade320c11d7950bdcd5888aa1a03"
}, },
"pipfile-spec": 6, "pipfile-spec": 6,
"requires": { "requires": {
...@@ -26,90 +26,90 @@ ...@@ -26,90 +26,90 @@
}, },
"aiohttp": { "aiohttp": {
"hashes": [ "hashes": [
"sha256:0450ada317a65383b7cce9576096150fdb97396dcfe559109b403c7242faffef", "sha256:00c8ac69e259c60976aa2edae3f13d9991cf079aaa4d3cd5a49168ae3748dee3",
"sha256:0b5263dcede17b6b0c41ef0c3ccce847d82a7da98709e75cf7efde3e9e3b5cae", "sha256:01816f07c9cc9d80f858615b1365f8319d6a5fd079cd668cc58e15aafbc76a54",
"sha256:0d5176f310a7fe6f65608213cc74f4228e4f4ce9fd10bcb2bb6da8fc66991462", "sha256:02876bf2f69b062584965507b07bc06903c2dc93c57a554b64e012d636952654",
"sha256:0ed49efcd0dc1611378beadbd97beb5d9ca8fe48579fc04a6ed0844072261b6a", "sha256:0e9eb7e5764abcb49f0e2bd8f5731849b8728efbf26d0cac8e81384c95acec3f",
"sha256:145a73850926018ec1681e734cedcf2716d6a8697d90da11284043b745c286d5", "sha256:0f6b2c5b4a4d22b8fb2c92ac98e0747f5f195e8e9448bfb7404cd77e7bfa243f",
"sha256:1987770fb4887560363b0e1a9b75aa303e447433c41284d3af2840a2f226d6e0", "sha256:1982c98ac62c132d2b773d50e2fcc941eb0b8bad3ec078ce7e7877c4d5a2dce7",
"sha256:246067ba0cf5560cf42e775069c5d80a8989d14a7ded21af529a4e10e3e0f0e6", "sha256:1e83fb1991e9d8982b3b36aea1e7ad27ea0ce18c14d054c7a404d68b0319eebb",
"sha256:2c311e2f63e42c1bf86361d11e2c4a59f25d9e7aabdbdf53dc38b885c5435cdb", "sha256:25de43bb3cf83ad83efc8295af7310219af6dbe4c543c2e74988d8e9c8a2a917",
"sha256:2cee3b117a8d13ab98b38d5b6bdcd040cfb4181068d05ce0c474ec9db5f3c5bb", "sha256:28a772757c9067e2aee8a6b2b425d0efaa628c264d6416d283694c3d86da7689",
"sha256:2de1378f72def7dfb5dbd73d86c19eda0ea7b0a6873910cc37d57e80f10d64e1", "sha256:2a4a13dfbb23977a51853b419141cd0a9b9573ab8d3a1455c6e63561387b52ff",
"sha256:30f546358dfa0953db92ba620101fefc81574f87b2346556b90b5f3ef16e55ce", "sha256:2a8a6bc19818ac3e5596310ace5aa50d918e1ebdcc204dc96e2f4d505d51740c",
"sha256:34245498eeb9ae54c687a07ad7f160053911b5745e186afe2d0c0f2898a1ab8a", "sha256:2eabb269dc3852537d57589b36d7f7362e57d1ece308842ef44d9830d2dc3c90",
"sha256:392432a2dde22b86f70dd4a0e9671a349446c93965f261dbaecfaf28813e5c42", "sha256:35cda4e07f5e058a723436c4d2b7ba2124ab4e0aa49e6325aed5896507a8a42e",
"sha256:3c0600bcc1adfaaac321422d615939ef300df81e165f6522ad096b73439c0f58", "sha256:42d689a5c0a0c357018993e471893e939f555e302313d5c61dfc566c2cad6185",
"sha256:4016e383f91f2814e48ed61e6bda7d24c4d7f2402c75dd28f7e1027ae44ea204", "sha256:4586a68730bd2f2b04a83e83f79d271d8ed13763f64b75920f18a3a677b9a7f0",
"sha256:40cd36749a1035c34ba8d8aaf221b91ca3d111532e5ccb5fa8c3703ab1b967ed", "sha256:47dc018b1b220c48089b5b9382fbab94db35bef2fa192995be22cbad3c5730c8",
"sha256:413ad794dccb19453e2b97c2375f2ca3cdf34dc50d18cc2693bd5aed7d16f4b9", "sha256:507ab05d90586dacb4f26a001c3abf912eb719d05635cbfad930bdbeb469b36c",
"sha256:4a93d28ed4b4b39e6f46fd240896c29b686b75e39cc6992692e3922ff6982b4c", "sha256:5194143927e494616e335d074e77a5dac7cd353a04755330c9adc984ac5a628e",
"sha256:4ee84c2a22a809c4f868153b178fe59e71423e1f3d6a8cd416134bb231fbf6d3", "sha256:51c3ff9c7a25f3cad5c09d9aacbc5aefb9267167c4652c1eb737989b554fe278",
"sha256:50c5c7b8aa5443304c55c262c5693b108c35a3b61ef961f1e782dd52a2f559c7", "sha256:55789e93c5ed71832e7fac868167276beadf9877b85697020c46e9a75471f55f",
"sha256:525410e0790aab036492eeea913858989c4cb070ff373ec3bc322d700bdf47c1", "sha256:5724cc77f4e648362ebbb49bdecb9e2b86d9b172c68a295263fa072e679ee69d",
"sha256:526c900397f3bbc2db9cb360ce9c35134c908961cdd0ac25b1ae6ffcaa2507ff", "sha256:5ad8f1c19fe277eeb8bc45741c6d60ddd11d705c12a4d8ee17546acff98e0802",
"sha256:54775858c7f2f214476773ce785a19ee81d1294a6bedc5cc17225355aab74802", "sha256:5ceb81a4db2decdfa087381b5fc5847aa448244f973e5da232610304e199e7b2",
"sha256:584096938a001378484aa4ee54e05dc79c7b9dd933e271c744a97b3b6f644957", "sha256:64815c6f02e8506b10113ddbc6b196f58dbef135751cc7c32136df27b736db09",
"sha256:6130459189e61baac5a88c10019b21e1f0c6d00ebc770e9ce269475650ff7f73", "sha256:66047eacbc73e6fe2462b77ce39fc170ab51235caf331e735eae91c95e6a11e4",
"sha256:67453e603cea8e85ed566b2700efa1f6916aefbc0c9fcb2e86aaffc08ec38e78", "sha256:669dd33f028e54fe4c96576f406ebb242ba534dd3a981ce009961bf49960f117",
"sha256:68d54234c8d76d8ef74744f9f9fc6324f1508129e23da8883771cdbb5818cbef", "sha256:684eea71ab6e8ade86b9021bb62af4bf0881f6be4e926b6b5455de74e420783a",
"sha256:6dfe7f984f28a8ae94ff3a7953cd9678550dbd2a1f9bda5dd9c5ae627744c78e", "sha256:6b35aab22419ba45f8fc290d0010898de7a6ad131e468ffa3922b1b0b24e9d2e",
"sha256:74bd573dde27e58c760d9ca8615c41a57e719bff315c9adb6f2a4281a28e8798", "sha256:7104d5b3943c6351d1ad7027d90bdd0ea002903e9f610735ac99df3b81f102ee",
"sha256:7603ca26d75b1b86160ce1bbe2787a0b706e592af5b2504e12caa88a217767b0", "sha256:718d5deb678bc4b9d575bfe83a59270861417da071ab44542d0fcb6faa686636",
"sha256:76719dd521c20a58a6c256d058547b3a9595d1d885b830013366e27011ffe804", "sha256:747ec46290107a490d21fe1ff4183bef8022b848cf9516970cb31de6d9460088",
"sha256:7c3623053b85b4296cd3925eeb725e386644fd5bc67250b3bb08b0f144803e7b", "sha256:7836587eef675a17d835ec3d98a8c9acdbeb2c1d72b0556f0edf4e855a25e9c1",
"sha256:7e44eba534381dd2687be50cbd5f2daded21575242ecfdaf86bbeecbc38dae8e", "sha256:78e4dd9c34ec7b8b121854eb5342bac8b02aa03075ae8618b6210a06bbb8a115",
"sha256:7fe3d65279bfbee8de0fb4f8c17fc4e893eed2dba21b2f680e930cc2b09075c5", "sha256:7b77ee42addbb1c36d35aca55e8cc6d0958f8419e458bb70888d8c69a4ca833d",
"sha256:8340def6737118f5429a5df4e88f440746b791f8f1c4ce4ad8a595f42c980bd5", "sha256:7c1b20a1ace54af7db1f95af85da530fe97407d9063b7aaf9ce6a32f44730778",
"sha256:84ede78acde96ca57f6cf8ccb8a13fbaf569f6011b9a52f870c662d4dc8cd854", "sha256:7f27eec42f6c3c1df09cfc1f6786308f8b525b8efaaf6d6bd76c1f52c6511f6a",
"sha256:850ff6155371fd802a280f8d369d4e15d69434651b844bde566ce97ee2277420", "sha256:82c249f2bfa5ecbe4a1a7902c81c0fba52ed9ebd0176ab3047395d02ad96cfcb",
"sha256:87a2e00bf17da098d90d4145375f1d985a81605267e7f9377ff94e55c5d769eb", "sha256:85fa0b18558eb1427090912bd456a01f71edab0872f4e0f9e4285571941e4090",
"sha256:88d385b8e7f3a870146bf5ea31786ef7463e99eb59e31db56e2315535d811f55", "sha256:89ce611b1eac93ce2ade68f1470889e0173d606de20c85a012bfa24be96cf867",
"sha256:8a2fb742ef378284a50766e985804bd6adb5adb5aa781100b09befdbfa757b65", "sha256:8ce789231404ca8fff7f693cdce398abf6d90fd5dae2b1847477196c243b1fbb",
"sha256:8dc0fba9a74b471c45ca1a3cb6e6913ebfae416678d90529d188886278e7f3f6", "sha256:90d571c98d19a8b6e793b34aa4df4cee1e8fe2862d65cc49185a3a3d0a1a3996",
"sha256:8fa1510b96c08aaad49303ab11f8803787c99222288f310a62f493faf883ede1", "sha256:9229d8613bd8401182868fe95688f7581673e1c18ff78855671a4b8284f47bcb",
"sha256:8fd12d0f989c6099e7b0f30dc6e0d1e05499f3337461f0b2b0dadea6c64b89df", "sha256:93a1f7d857c4fcf7cabb1178058182c789b30d85de379e04f64c15b7e88d66fb",
"sha256:9060addfa4ff753b09392efe41e6af06ea5dd257829199747b9f15bfad819460", "sha256:967b93f21b426f23ca37329230d5bd122f25516ae2f24a9cea95a30023ff8283",
"sha256:930ffa1925393381e1e0a9b82137fa7b34c92a019b521cf9f41263976666a0d6", "sha256:9840be675de208d1f68f84d578eaa4d1a36eee70b16ae31ab933520c49ba1325",
"sha256:936d8a4f0f7081327014742cd51d320296b56aa6d324461a13724ab05f4b2933", "sha256:9862d077b9ffa015dbe3ce6c081bdf35135948cb89116e26667dd183550833d1",
"sha256:97fe431f2ed646a3b56142fc81d238abcbaff08548d6912acb0b19a0cadc146b", "sha256:9b5b37c863ad5b0892cc7a4ceb1e435e5e6acd3f2f8d3e11fa56f08d3c67b820",
"sha256:9bd8695be2c80b665ae3f05cb584093a1e59c35ecb7d794d1edd96e8cc9201d7", "sha256:9e64ca2dbea28807f8484c13f684a2f761e69ba2640ec49dacd342763cc265ef",
"sha256:9dec0000d2d8621d8015c293e24589d46fa218637d820894cb7356c77eca3259", "sha256:9fe4eb0e7f50cdb99b26250d9328faef30b1175a5dbcfd6d0578d18456bac567",
"sha256:a478aa11b328983c4444dacb947d4513cb371cd323f3845e53caeda6be5589d5", "sha256:a01fe9f1e05025eacdd97590895e2737b9f851d0eb2e017ae9574d9a4f0b6252",
"sha256:a481a574af914b6e84624412666cbfbe531a05667ca197804ecc19c97b8ab1b0", "sha256:a08ad95fcbd595803e0c4280671d808eb170a64ca3f2980dd38e7a72ed8d1fea",
"sha256:a4ac6a0f0f6402854adca4e3259a623f5c82ec3f0c049374133bcb243132baf9", "sha256:a4fe27dbbeec445e6e1291e61d61eb212ee9fed6e47998b27de71d70d3e8777d",
"sha256:a5e69046f83c0d3cb8f0d5bd9b8838271b1bc898e01562a04398e160953e8eb9", "sha256:a7d474c5c1f0b9405c1565fafdc4429fa7d986ccbec7ce55bc6a330f36409cad",
"sha256:a7442662afebbf7b4c6d28cb7aab9e9ce3a5df055fc4116cc7228192ad6cb484", "sha256:a86dc177eb4c286c19d1823ac296299f59ed8106c9536d2b559f65836e0fb2c6",
"sha256:aa8a8caca81c0a3e765f19c6953416c58e2f4cc1b84829af01dd1c771bb2f91f", "sha256:aa36c35e94ecdb478246dd60db12aba57cfcd0abcad43c927a8876f25734d496",
"sha256:ab3247d58b393bda5b1c8f31c9edece7162fc13265334217785518dd770792b8", "sha256:ab915a57c65f7a29353c8014ac4be685c8e4a19e792a79fe133a8e101111438e",
"sha256:b10a47e5390c4b30a0d58ee12581003be52eedd506862ab7f97da7a66805befb", "sha256:af55314407714fe77a68a9ccaab90fdb5deb57342585fd4a3a8102b6d4370080",
"sha256:b34508f1cd928ce915ed09682d11307ba4b37d0708d1f28e5774c07a7674cac9", "sha256:afcb6b275c2d2ba5d8418bf30a9654fa978b4f819c2e8db6311b3525c86fe637",
"sha256:b8d3bb96c147b39c02d3db086899679f31958c5d81c494ef0fc9ef5bb1359b3d", "sha256:b27961d65639128336b7a7c3f0046dcc62a9443d5ef962e3c84170ac620cec47",
"sha256:b9d45dbb3aaec05cf01525ee1a7ac72de46a8c425cb75c003acd29f76b1ffe94", "sha256:b5b95787335c483cd5f29577f42bbe027a412c5431f2f80a749c80d040f7ca9f",
"sha256:bf4480a5438f80e0f1539e15a7eb8b5f97a26fe087e9828e2c0ec2be119a9f72", "sha256:b73a2b139782a07658fbf170fe4bcdf70fc597fae5ffe75e5b67674c27434a9f",
"sha256:c160a04283c8c6f55b5bf6d4cad59bb9c5b9c9cd08903841b25f1f7109ef1259", "sha256:b88aca5adbf4625e11118df45acac29616b425833c3be7a05ef63a6a4017bfdb",
"sha256:c96a43822f1f9f69cc5c3706af33239489a6294be486a0447fb71380070d4d5f", "sha256:b992778d95b60a21c4d8d4a5f15aaab2bd3c3e16466a72d7f9bfd86e8cea0d4b",
"sha256:c9fd9dcf9c91affe71654ef77426f5cf8489305e1c66ed4816f5a21874b094b9", "sha256:ba40b7ae0f81c7029583a338853f6607b6d83a341a3dcde8bed1ea58a3af1df9",
"sha256:cddb31f8474695cd61fc9455c644fc1606c164b93bff2490390d90464b4655df", "sha256:baae005092e3f200de02699314ac8933ec20abf998ec0be39448f6605bce93df",
"sha256:ce1bb21fc7d753b5f8a5d5a4bae99566386b15e716ebdb410154c16c91494d7f", "sha256:c4bea08a6aad9195ac9b1be6b0c7e8a702a9cec57ce6b713698b4a5afa9c2e33",
"sha256:d1c031a7572f62f66f1257db37ddab4cb98bfaf9b9434a3b4840bf3560f5e788", "sha256:c6070bcf2173a7146bb9e4735b3c62b2accba459a6eae44deea0eb23e0035a23",
"sha256:d589264dbba3b16e8951b6f145d1e6b883094075283dafcab4cdd564a9e353a0", "sha256:c929f9a7249a11e4aa5c157091cfad7f49cc6b13f4eecf9b747104befd9f56f2",
"sha256:dc065a4285307607df3f3686363e7f8bdd0d8ab35f12226362a847731516e42c", "sha256:c97be90d70f7db3aa041d720bfb95f4869d6063fcdf2bb8333764d97e319b7d0",
"sha256:e10c440d142fa8b32cfdb194caf60ceeceb3e49807072e0dc3a8887ea80e8c16", "sha256:ce10ddfbe26ed5856d6902162f71b8fe08545380570a885b4ab56aecfdcb07f4",
"sha256:e3552fe98e90fdf5918c04769f338a87fa4f00f3b28830ea9b78b1bdc6140e0d", "sha256:cf1f31f83d16ec344136359001c5e871915c6ab685a3d8dee38e2961b4c81730",
"sha256:e392804a38353900c3fd8b7cacbea5132888f7129f8e241915e90b85f00e3250", "sha256:d2b25b2eeb35707113b2d570cadc7c612a57f1c5d3e7bb2b13870fe284e08fc0",
"sha256:e4cecdb52aaa9994fbed6b81d4568427b6002f0a91c322697a4bfcc2b2363f5a", "sha256:d33851d85537bbf0f6291ddc97926a754c8f041af759e0aa0230fe939168852b",
"sha256:e5148ca8955affdfeb864aca158ecae11030e952b25b3ae15d4e2b5ba299bad2", "sha256:e06cf4852ce8c4442a59bae5a3ea01162b8fcb49ab438d8548b8dc79375dad8a",
"sha256:e6b2732ef3bafc759f653a98881b5b9cdef0716d98f013d376ee8dfd7285abf1", "sha256:e271beb2b1dabec5cd84eb488bdabf9758d22ad13471e9c356be07ad139b3012",
"sha256:ea756b5a7bac046d202a9a3889b9a92219f885481d78cd318db85b15cc0b7bcf", "sha256:f55d0f242c2d1fcdf802c8fabcff25a9d85550a4cf3a9cf5f2a6b5742c992839",
"sha256:edb69b9589324bdc40961cdf0657815df674f1743a8d5ad9ab56a99e4833cfdd", "sha256:f81cba651db8795f688c589dd11a4fbb834f2e59bbf9bb50908be36e416dc760",
"sha256:f0203433121484b32646a5f5ea93ae86f3d9559d7243f07e8c0eab5ff8e3f70e", "sha256:fa1fb1b61881c8405829c50e9cc5c875bfdbf685edf57a76817dfb50643e4a1a",
"sha256:f6a19bcab7fbd8f8649d6595624856635159a6527861b9cdc3447af288a00c00", "sha256:fa48dac27f41b36735c807d1ab093a8386701bbf00eb6b89a0f69d9fa26b3671",
"sha256:f752e80606b132140883bb262a457c475d219d7163d996dc9072434ffb0784c4", "sha256:fbfef0666ae9e07abfa2c54c212ac18a1f63e13e0760a769f70b5717742f3ece",
"sha256:f7914ab70d2ee8ab91c13e5402122edbc77821c66d2758abb53aabe87f013287" "sha256:fe7065e2215e4bba63dc00db9ae654c1ba3950a5fff691475a32f511142fcddb"
], ],
"markers": "python_version >= '3.9'", "markers": "python_version >= '3.9'",
"version": "==3.11.12" "version": "==3.11.13"
}, },
"aiosignal": { "aiosignal": {
"hashes": [ "hashes": [
...@@ -180,20 +180,20 @@ ...@@ -180,20 +180,20 @@
}, },
"boto3": { "boto3": {
"hashes": [ "hashes": [
"sha256:39957eabdce009353d72d131046489fbbfa15891865d5f069f1e8bfa414e6b81", "sha256:024c37c2f85f4b907f5fc817d0db6fda7fd6ab3c6148ee4ed35fe7cecdf7db0c",
"sha256:768c8a4d4a6227fe2258105efa086f1424cba5ca915a5eb2305b2cd979306ad1" "sha256:1bbf8bbacb3932956b7020d9a2c49d72c64e21bae9397ba6d3aadffab5e192eb"
], ],
"index": "pypi", "index": "pypi",
"markers": "python_version >= '3.8'", "markers": "python_version >= '3.8'",
"version": "==1.36.22" "version": "==1.37.4"
}, },
"botocore": { "botocore": {
"hashes": [ "hashes": [
"sha256:59520247d5a479731724f97c995d5a1c2aae3b303b324f39d99efcfad1d3019e", "sha256:7e15cd487617440e9eac3144044b6a2bd833d7f3e2bed6a2865693cc11489cc3",
"sha256:75d6b34acb0686ee4d54ff6eb285e78ccfe318407428769d1e3e13351714d890" "sha256:89130998c82d53f875a42646b692da507c9871b580fd1aea0f861bf9da36e41a"
], ],
"markers": "python_version >= '3.8'", "markers": "python_version >= '3.8'",
"version": "==1.36.22" "version": "==1.37.4"
}, },
"certifi": { "certifi": {
"hashes": [ "hashes": [
...@@ -273,7 +273,7 @@ ...@@ -273,7 +273,7 @@
"sha256:f7f5baafcc48261359e14bcd6d9bff6d4b28d9103847c9e136694cb0501aef87", "sha256:f7f5baafcc48261359e14bcd6d9bff6d4b28d9103847c9e136694cb0501aef87",
"sha256:fc48c783f9c87e60831201f2cce7f3b2e4846bf4d8728eabe54d60700b318a0b" "sha256:fc48c783f9c87e60831201f2cce7f3b2e4846bf4d8728eabe54d60700b318a0b"
], ],
"markers": "platform_python_implementation != 'PyPy'", "markers": "python_version >= '3.8'",
"version": "==1.17.1" "version": "==1.17.1"
}, },
"charset-normalizer": { "charset-normalizer": {
...@@ -384,46 +384,50 @@ ...@@ -384,46 +384,50 @@
}, },
"cryptography": { "cryptography": {
"hashes": [ "hashes": [
"sha256:00918d859aa4e57db8299607086f793fa7813ae2ff5a4637e318a25ef82730f7", "sha256:04abd71114848aa25edb28e225ab5f268096f44cf0127f3d36975bdf1bdf3390",
"sha256:1e8d181e90a777b63f3f0caa836844a1182f1f265687fac2115fcf245f5fbec3", "sha256:0529b1d5a0105dd3731fa65680b45ce49da4d8115ea76e9da77a875396727b41",
"sha256:1f9a92144fa0c877117e9748c74501bea842f93d21ee00b0cf922846d9d0b183", "sha256:1bc312dfb7a6e5d66082c87c34c8a62176e684b6fe3d90fcfe1568de675e6688",
"sha256:21377472ca4ada2906bc313168c9dc7b1d7ca417b63c1c3011d0c74b7de9ae69", "sha256:268e4e9b177c76d569e8a145a6939eca9a5fec658c932348598818acf31ae9a5",
"sha256:24979e9f2040c953a94bf3c6782e67795a4c260734e5264dceea65c8f4bae64a", "sha256:29ecec49f3ba3f3849362854b7253a9f59799e3763b0c9d0826259a88efa02f1",
"sha256:2a46a89ad3e6176223b632056f321bc7de36b9f9b93b2cc1cccf935a3849dc62", "sha256:2bf7bf75f7df9715f810d1b038870309342bff3069c5bd8c6b96128cb158668d",
"sha256:322eb03ecc62784536bc173f1483e76747aafeb69c8728df48537eb431cd1911", "sha256:3b721b8b4d948b218c88cb8c45a01793483821e709afe5f622861fc6182b20a7",
"sha256:436df4f203482f41aad60ed1813811ac4ab102765ecae7a2bbb1dbb66dcff5a7", "sha256:3c00b6b757b32ce0f62c574b78b939afab9eecaf597c4d624caca4f9e71e7843",
"sha256:4f422e8c6a28cf8b7f883eb790695d6d45b0c385a2583073f3cec434cc705e1a", "sha256:3dc62975e31617badc19a906481deacdeb80b4bb454394b4098e3f2525a488c5",
"sha256:53f23339864b617a3dfc2b0ac8d5c432625c80014c25caac9082314e9de56f41", "sha256:4973da6ca3db4405c54cd0b26d328be54c7747e89e284fcff166132eb7bccc9c",
"sha256:5fed5cd6102bb4eb843e3315d2bf25fede494509bddadb81e03a859c1bc17b83", "sha256:4e389622b6927d8133f314949a9812972711a111d577a5d1f4bee5e58736b80a",
"sha256:610a83540765a8d8ce0f351ce42e26e53e1f774a6efb71eb1b41eb01d01c3d12", "sha256:51e4de3af4ec3899d6d178a8c005226491c27c4ba84101bfb59c901e10ca9f79",
"sha256:6c8acf6f3d1f47acb2248ec3ea261171a671f3d9428e34ad0357148d492c7864", "sha256:5f6f90b72d8ccadb9c6e311c775c8305381db88374c65fa1a68250aa8a9cb3a6",
"sha256:6f76fdd6fd048576a04c5210d53aa04ca34d2ed63336d4abd306d0cbe298fddf", "sha256:6210c05941994290f3f7f175a4a57dbbb2afd9273657614c506d5976db061181",
"sha256:72198e2b5925155497a5a3e8c216c7fb3e64c16ccee11f0e7da272fa93b35c4c", "sha256:6f101b1f780f7fc613d040ca4bdf835c6ef3b00e9bd7125a4255ec574c7916e4",
"sha256:887143b9ff6bad2b7570da75a7fe8bbf5f65276365ac259a5d2d5147a73775f2", "sha256:7bdcd82189759aba3816d1f729ce42ffded1ac304c151d0a8e89b9996ab863d5",
"sha256:888fcc3fce0c888785a4876ca55f9f43787f4c5c1cc1e2e0da71ad481ff82c5b", "sha256:7ca25849404be2f8e4b3c59483d9d3c51298a22c1c61a0e84415104dacaf5562",
"sha256:8e6a85a93d0642bd774460a86513c5d9d80b5c002ca9693e63f6e540f1815ed0", "sha256:81276f0ea79a208d961c433a947029e1a15948966658cf6710bbabb60fcc2639",
"sha256:94f99f2b943b354a5b6307d7e8d19f5c423a794462bde2bf310c770ba052b1c4", "sha256:8cadc6e3b5a1f144a039ea08a0bdb03a2a92e19c46be3285123d32029f40a922",
"sha256:9b336599e2cb77b1008cb2ac264b290803ec5e8e89d618a5e978ff5eb6f715d9", "sha256:8e0ddd63e6bf1161800592c71ac794d3fb8001f2caebe0966e77c5234fa9efc3",
"sha256:a2d8a7045e1ab9b9f803f0d9531ead85f90c5f2859e653b61497228b18452008", "sha256:909c97ab43a9c0c0b0ada7a1281430e4e5ec0458e6d9244c0e821bbf152f061d",
"sha256:b8272f257cf1cbd3f2e120f14c68bff2b6bdfcc157fafdee84a1b795efd72862", "sha256:96e7a5e9d6e71f9f4fca8eebfd603f8e86c5225bb18eb621b2c1e50b290a9471",
"sha256:bf688f615c29bfe9dfc44312ca470989279f0e94bb9f631f85e3459af8efc009", "sha256:9a1e657c0f4ea2a23304ee3f964db058c9e9e635cc7019c4aa21c330755ef6fd",
"sha256:d9c5b9f698a83c8bd71e0f4d3f9f839ef244798e5ffe96febfa9714717db7af7", "sha256:9eb9d22b0a5d8fd9925a7764a054dca914000607dff201a24c791ff5c799e1fa",
"sha256:dd7c7e2d71d908dc0f8d2027e1604102140d84b155e658c20e8ad1304317691f", "sha256:af4ff3e388f2fa7bff9f7f2b31b87d5651c45731d3e8cfa0944be43dff5cfbdb",
"sha256:df978682c1504fc93b3209de21aeabf2375cb1571d4e61907b3e7a2540e83026", "sha256:b042d2a275c8cee83a4b7ae30c45a15e6a4baa65a179a0ec2d78ebb90e4f6699",
"sha256:e403f7f766ded778ecdb790da786b418a9f2394f36e8cc8b796cc056ab05f44f", "sha256:bc821e161ae88bfe8088d11bb39caf2916562e0a2dc7b6d56714a48b784ef0bb",
"sha256:eb3889330f2a4a148abead555399ec9a32b13b7c8ba969b72d8e500eb7ef84cd", "sha256:c505d61b6176aaf982c5717ce04e87da5abc9a36a5b39ac03905c4aafe8de7aa",
"sha256:f4daefc971c2d1f82f03097dc6f216744a6cd2ac0f04c68fb935ea2ba2a0d420", "sha256:c63454aa261a0cf0c5b4718349629793e9e634993538db841165b3df74f37ec0",
"sha256:f51f5705ab27898afda1aaa430f34ad90dc117421057782022edf0600bec5f14", "sha256:c7362add18b416b69d58c910caa217f980c5ef39b23a38a0880dfd87bdf8cd23",
"sha256:fd0ee90072861e276b0ff08bd627abec29e32a53b2be44e41dbcdf87cbee2b00" "sha256:d03806036b4f89e3b13b6218fefea8d5312e450935b1a2d55f0524e2ed7c59d9",
"sha256:d1b3031093a366ac767b3feb8bcddb596671b3aaff82d4050f984da0c248b615",
"sha256:d1c3572526997b36f245a96a2b1713bf79ce99b271bbcf084beb6b9b075f29ea",
"sha256:efcfe97d1b3c79e486554efddeb8f6f53a4cdd4cf6086642784fa31fc384e1d7",
"sha256:f514ef4cd14bb6fb484b4a60203e912cfcb64f2ab139e88c2274511514bf7308"
], ],
"markers": "python_version >= '3.7' and python_full_version not in '3.9.0, 3.9.1'", "markers": "python_version >= '3.7' and python_full_version not in '3.9.0, 3.9.1'",
"version": "==44.0.1" "version": "==44.0.2"
}, },
"dbrepo": { "dbrepo": {
"hashes": [ "hashes": [
"sha256:e2312f0d3cff34934578a16b01d646d8309e3a3d1bb4cbda9f984acf97824e00" "sha256:ec8454f24fbf720271305ad7ae88c5e8c2d4fe10600d027874df810f18b9e848"
], ],
"path": "./lib/dbrepo-1.6.5.tar.gz" "path": "./lib/dbrepo-1.7.0.tar.gz"
}, },
"events": { "events": {
"hashes": [ "hashes": [
...@@ -458,11 +462,12 @@ ...@@ -458,11 +462,12 @@
}, },
"flask-cors": { "flask-cors": {
"hashes": [ "hashes": [
"sha256:5aadb4b950c4e93745034594d9f3ea6591f734bb3662e16e255ffbf5e89c88ef", "sha256:6ccb38d16d6b72bbc156c1c3f192bc435bfcc3c2bc864b2df1eb9b2d97b2403c",
"sha256:b9e307d082a9261c100d8fb0ba909eec6a228ed1b60a8315fd85f783d61910bc" "sha256:fa5cb364ead54bbf401a26dbf03030c6b18fb2fcaf70408096a572b409586b0c"
], ],
"index": "pypi", "index": "pypi",
"version": "==5.0.0" "markers": "python_version >= '3.9' and python_version < '4.0'",
"version": "==5.0.1"
}, },
"flask-httpauth": { "flask-httpauth": {
"hashes": [ "hashes": [
...@@ -847,11 +852,11 @@ ...@@ -847,11 +852,11 @@
}, },
"mistune": { "mistune": {
"hashes": [ "hashes": [
"sha256:02106ac2aa4f66e769debbfa028509a275069dcffce0dfa578edd7b991ee700a", "sha256:4b47731332315cdca99e0ded46fc0004001c1299ff773dfb48fbe1fd226de319",
"sha256:e0740d635f515119f7d1feb6f9b192ee60f0cc649f80a8f944f905706a21654c" "sha256:733bf018ba007e8b5f2d3a9eb624034f6ee26c4ea769a98ec533ee111d504dff"
], ],
"markers": "python_version >= '3.8'", "markers": "python_version >= '3.8'",
"version": "==3.1.1" "version": "==3.1.2"
}, },
"multidict": { "multidict": {
"hashes": [ "hashes": [
...@@ -1105,91 +1110,107 @@ ...@@ -1105,91 +1110,107 @@
}, },
"propcache": { "propcache": {
"hashes": [ "hashes": [
"sha256:03ff9d3f665769b2a85e6157ac8b439644f2d7fd17615a82fa55739bc97863f4", "sha256:02df07041e0820cacc8f739510078f2aadcfd3fc57eaeeb16d5ded85c872c89e",
"sha256:049324ee97bb67285b49632132db351b41e77833678432be52bdd0289c0e05e4", "sha256:03acd9ff19021bd0567582ac88f821b66883e158274183b9e5586f678984f8fe",
"sha256:081a430aa8d5e8876c6909b67bd2d937bfd531b0382d3fdedb82612c618bc41a", "sha256:03c091bb752349402f23ee43bb2bff6bd80ccab7c9df6b88ad4322258d6960fc",
"sha256:0f022d381747f0dfe27e99d928e31bc51a18b65bb9e481ae0af1380a6725dd1f", "sha256:07700939b2cbd67bfb3b76a12e1412405d71019df00ca5697ce75e5ef789d829",
"sha256:12d1083f001ace206fe34b6bdc2cb94be66d57a850866f0b908972f90996b3e9", "sha256:0c3e893c4464ebd751b44ae76c12c5f5c1e4f6cbd6fbf67e3783cd93ad221863",
"sha256:14d86fe14b7e04fa306e0c43cdbeebe6b2c2156a0c9ce56b815faacc193e320d", "sha256:119e244ab40f70a98c91906d4c1f4c5f2e68bd0b14e7ab0a06922038fae8a20f",
"sha256:160291c60081f23ee43d44b08a7e5fb76681221a8e10b3139618c5a9a291b84e", "sha256:11ae6a8a01b8a4dc79093b5d3ca2c8a4436f5ee251a9840d7790dccbd96cb649",
"sha256:1672137af7c46662a1c2be1e8dc78cb6d224319aaa40271c9257d886be4363a6", "sha256:15010f29fbed80e711db272909a074dc79858c6d28e2915704cfc487a8ac89c6",
"sha256:19a0f89a7bb9d8048d9c4370c9c543c396e894c76be5525f5e1ad287f1750ddf", "sha256:19d36bb351ad5554ff20f2ae75f88ce205b0748c38b146c75628577020351e3c",
"sha256:1ac2f5fe02fa75f56e1ad473f1175e11f475606ec9bd0be2e78e4734ad575034", "sha256:1c8f7d896a16da9455f882870a507567d4f58c53504dc2d4b1e1d386dfe4588a",
"sha256:1cd9a1d071158de1cc1c71a26014dcdfa7dd3d5f4f88c298c7f90ad6f27bb46d", "sha256:2383a17385d9800b6eb5855c2f05ee550f803878f344f58b6e194de08b96352c",
"sha256:1ffc3cca89bb438fb9c95c13fc874012f7b9466b89328c3c8b1aa93cdcfadd16", "sha256:24c04f8fbf60094c531667b8207acbae54146661657a1b1be6d3ca7773b7a545",
"sha256:297878dc9d0a334358f9b608b56d02e72899f3b8499fc6044133f0d319e2ec30", "sha256:2578541776769b500bada3f8a4eeaf944530516b6e90c089aa368266ed70c49e",
"sha256:2d3af2e79991102678f53e0dbf4c35de99b6b8b58f29a27ca0325816364caaba", "sha256:26a67e5c04e3119594d8cfae517f4b9330c395df07ea65eab16f3d559b7068fe",
"sha256:30b43e74f1359353341a7adb783c8f1b1c676367b011709f466f42fda2045e95", "sha256:2b975528998de037dfbc10144b8aed9b8dd5a99ec547f14d1cb7c5665a43f075",
"sha256:3156628250f46a0895f1f36e1d4fbe062a1af8718ec3ebeb746f1d23f0c5dc4d", "sha256:2d15bc27163cd4df433e75f546b9ac31c1ba7b0b128bfb1b90df19082466ff57",
"sha256:31f5af773530fd3c658b32b6bdc2d0838543de70eb9a2156c03e410f7b0d3aae", "sha256:2d913d36bdaf368637b4f88d554fb9cb9d53d6920b9c5563846555938d5450bf",
"sha256:3935bfa5fede35fb202c4b569bb9c042f337ca4ff7bd540a0aa5e37131659348", "sha256:3302c5287e504d23bb0e64d2a921d1eb4a03fb93a0a0aa3b53de059f5a5d737d",
"sha256:39d51fbe4285d5db5d92a929e3e21536ea3dd43732c5b177c7ef03f918dff9f2", "sha256:36ca5e9a21822cc1746023e88f5c0af6fce3af3b85d4520efb1ce4221bed75cc",
"sha256:3f77ce728b19cb537714499928fe800c3dda29e8d9428778fc7c186da4c09a64", "sha256:3b812b3cb6caacd072276ac0492d249f210006c57726b6484a1e1805b3cfeea0",
"sha256:4160d9283bd382fa6c0c2b5e017acc95bc183570cd70968b9202ad6d8fc48dce", "sha256:3c6ec957025bf32b15cbc6b67afe233c65b30005e4c55fe5768e4bb518d712f1",
"sha256:4a571d97dbe66ef38e472703067021b1467025ec85707d57e78711c085984e54", "sha256:41de3da5458edd5678b0f6ff66691507f9885f5fe6a0fb99a5d10d10c0fd2d64",
"sha256:4e6281aedfca15301c41f74d7005e6e3f4ca143584ba696ac69df4f02f40d629", "sha256:42924dc0c9d73e49908e35bbdec87adedd651ea24c53c29cac103ede0ea1d340",
"sha256:52277518d6aae65536e9cea52d4e7fd2f7a66f4aa2d30ed3f2fcea620ace3c54", "sha256:4544699674faf66fb6b4473a1518ae4999c1b614f0b8297b1cef96bac25381db",
"sha256:556fc6c10989f19a179e4321e5d678db8eb2924131e64652a51fe83e4c3db0e1", "sha256:46ed02532cb66612d42ae5c3929b5e98ae330ea0f3900bc66ec5f4862069519b",
"sha256:574faa3b79e8ebac7cb1d7930f51184ba1ccf69adfdec53a12f319a06030a68b", "sha256:49ea05212a529c2caffe411e25a59308b07d6e10bf2505d77da72891f9a05641",
"sha256:58791550b27d5488b1bb52bc96328456095d96206a250d28d874fafe11b3dfaf", "sha256:4fa0e7c9c3cf7c276d4f6ab9af8adddc127d04e0fcabede315904d2ff76db626",
"sha256:5b750a8e5a1262434fb1517ddf64b5de58327f1adc3524a5e44c2ca43305eb0b", "sha256:507c5357a8d8b4593b97fb669c50598f4e6cccbbf77e22fa9598aba78292b4d7",
"sha256:5d97151bc92d2b2578ff7ce779cdb9174337390a535953cbb9452fb65164c587", "sha256:549722908de62aa0b47a78b90531c022fa6e139f9166be634f667ff45632cc92",
"sha256:5eee736daafa7af6d0a2dc15cc75e05c64f37fc37bafef2e00d77c14171c2097", "sha256:58e6d2a5a7cb3e5f166fd58e71e9a4ff504be9dc61b88167e75f835da5764d07",
"sha256:6445804cf4ec763dc70de65a3b0d9954e868609e83850a47ca4f0cb64bd79fea", "sha256:5a16167118677d94bb48bfcd91e420088854eb0737b76ec374b91498fb77a70e",
"sha256:647894f5ae99c4cf6bb82a1bb3a796f6e06af3caa3d32e26d2350d0e3e3faf24", "sha256:5d62c4f6706bff5d8a52fd51fec6069bef69e7202ed481486c0bc3874912c787",
"sha256:66d4cfda1d8ed687daa4bc0274fcfd5267873db9a5bc0418c2da19273040eeb7", "sha256:5fa159dcee5dba00c1def3231c249cf261185189205073bde13797e57dd7540a",
"sha256:6a9a8c34fb7bb609419a211e59da8887eeca40d300b5ea8e56af98f6fbbb1541", "sha256:6032231d4a5abd67c7f71168fd64a47b6b451fbcb91c8397c2f7610e67683810",
"sha256:6b3f39a85d671436ee3d12c017f8fdea38509e4f25b28eb25877293c98c243f6", "sha256:63f26258a163c34542c24808f03d734b338da66ba91f410a703e505c8485791d",
"sha256:6b6fb63ae352e13748289f04f37868099e69dba4c2b3e271c46061e82c745634", "sha256:65a37714b8ad9aba5780325228598a5b16c47ba0f8aeb3dc0514701e4413d7c0",
"sha256:70693319e0b8fd35dd863e3e29513875eb15c51945bf32519ef52927ca883bc3", "sha256:67054e47c01b7b349b94ed0840ccae075449503cf1fdd0a1fdd98ab5ddc2667b",
"sha256:781e65134efaf88feb447e8c97a51772aa75e48b794352f94cb7ea717dedda0d", "sha256:67dda3c7325691c2081510e92c561f465ba61b975f481735aefdfc845d2cd043",
"sha256:819ce3b883b7576ca28da3861c7e1a88afd08cc8c96908e08a3f4dd64a228034", "sha256:6985a593417cdbc94c7f9c3403747335e450c1599da1647a5af76539672464d3",
"sha256:857112b22acd417c40fa4595db2fe28ab900c8c5fe4670c7989b1c0230955465", "sha256:6a1948df1bb1d56b5e7b0553c0fa04fd0e320997ae99689488201f19fa90d2e7",
"sha256:887d9b0a65404929641a9fabb6452b07fe4572b269d901d622d8a34a4e9043b2", "sha256:6b5b7fd6ee7b54e01759f2044f936dcf7dea6e7585f35490f7ca0420fe723c0d",
"sha256:8b3489ff1ed1e8315674d0775dc7d2195fb13ca17b3808721b54dbe9fd020faf", "sha256:6c929916cbdb540d3407c66f19f73387f43e7c12fa318a66f64ac99da601bcdf",
"sha256:92fc4500fcb33899b05ba73276dfb684a20d31caa567b7cb5252d48f896a91b1", "sha256:6f4d7a7c0aff92e8354cceca6fe223973ddf08401047920df0fcb24be2bd5138",
"sha256:9403db39be1393618dd80c746cb22ccda168efce239c73af13c3763ef56ffc04", "sha256:728af36011bb5d344c4fe4af79cfe186729efb649d2f8b395d1572fb088a996c",
"sha256:98110aa363f1bb4c073e8dcfaefd3a5cea0f0834c2aab23dda657e4dab2f53b5", "sha256:742840d1d0438eb7ea4280f3347598f507a199a35a08294afdcc560c3739989d",
"sha256:999779addc413181912e984b942fbcc951be1f5b3663cd80b2687758f434c583", "sha256:75e872573220d1ee2305b35c9813626e620768248425f58798413e9c39741f46",
"sha256:9caac6b54914bdf41bcc91e7eb9147d331d29235a7c967c150ef5df6464fd1bb", "sha256:794c3dd744fad478b6232289c866c25406ecdfc47e294618bdf1697e69bd64a6",
"sha256:a7a078f5d37bee6690959c813977da5291b24286e7b962e62a94cec31aa5188b", "sha256:7c0fdbdf6983526e269e5a8d53b7ae3622dd6998468821d660d0daf72779aefa",
"sha256:a7e65eb5c003a303b94aa2c3852ef130230ec79e349632d030e9571b87c4698c", "sha256:7c5f5290799a3f6539cc5e6f474c3e5c5fbeba74a5e1e5be75587746a940d51e",
"sha256:a96dc1fa45bd8c407a0af03b2d5218392729e1822b0c32e62c5bf7eeb5fb3958", "sha256:7c6e7e4f9167fddc438cd653d826f2222222564daed4116a02a184b464d3ef05",
"sha256:aca405706e0b0a44cc6bfd41fbe89919a6a56999157f6de7e182a990c36e37bc", "sha256:7cedd25e5f678f7738da38037435b340694ab34d424938041aa630d8bac42663",
"sha256:accb6150ce61c9c4b7738d45550806aa2b71c7668c6942f17b0ac182b6142fd4", "sha256:7e2e068a83552ddf7a39a99488bcba05ac13454fb205c847674da0352602082f",
"sha256:ad1af54a62ffe39cf34db1aa6ed1a1873bd548f6401db39d8e7cd060b9211f82", "sha256:8319293e85feadbbfe2150a5659dbc2ebc4afdeaf7d98936fb9a2f2ba0d4c35c",
"sha256:ae1aa1cd222c6d205853b3013c69cd04515f9d6ab6de4b0603e2e1c33221303e", "sha256:8526b0941ec5a40220fc4dfde76aed58808e2b309c03e9fa8e2260083ef7157f",
"sha256:b2d0a12018b04f4cb820781ec0dffb5f7c7c1d2a5cd22bff7fb055a2cb19ebce", "sha256:8884ba1a0fe7210b775106b25850f5e5a9dc3c840d1ae9924ee6ea2eb3acbfe7",
"sha256:b480c6a4e1138e1aa137c0079b9b6305ec6dcc1098a8ca5196283e8a49df95a9", "sha256:8cb625bcb5add899cb8ba7bf716ec1d3e8f7cdea9b0713fa99eadf73b6d4986f",
"sha256:b74c261802d3d2b85c9df2dfb2fa81b6f90deeef63c2db9f0e029a3cac50b518", "sha256:8d663fd71491dde7dfdfc899d13a067a94198e90695b4321084c6e450743b8c7",
"sha256:ba278acf14471d36316159c94a802933d10b6a1e117b8554fe0d0d9b75c9d536", "sha256:8ee1983728964d6070ab443399c476de93d5d741f71e8f6e7880a065f878e0b9",
"sha256:bb6178c241278d5fe853b3de743087be7f5f4c6f7d6d22a3b524d323eecec505", "sha256:997e7b8f173a391987df40f3b52c423e5850be6f6df0dcfb5376365440b56667",
"sha256:bf72af5e0fb40e9babf594308911436c8efde3cb5e75b6f206c34ad18be5c052", "sha256:9be90eebc9842a93ef8335291f57b3b7488ac24f70df96a6034a13cb58e6ff86",
"sha256:bfd3223c15bebe26518d58ccf9a39b93948d3dcb3e57a20480dfdd315356baff", "sha256:9ddd49258610499aab83b4f5b61b32e11fce873586282a0e972e5ab3bcadee51",
"sha256:c214999039d4f2a5b2073ac506bba279945233da8c786e490d411dfc30f855c1", "sha256:9ecde3671e62eeb99e977f5221abcf40c208f69b5eb986b061ccec317c82ebd0",
"sha256:c2f992c07c0fca81655066705beae35fc95a2fa7366467366db627d9f2ee097f", "sha256:9ff4e9ecb6e4b363430edf2c6e50173a63e0820e549918adef70515f87ced19a",
"sha256:cba4cfa1052819d16699e1d55d18c92b6e094d4517c41dd231a8b9f87b6fa681", "sha256:a254537b9b696ede293bfdbc0a65200e8e4507bc9f37831e2a0318a9b333c85c",
"sha256:cea7daf9fc7ae6687cf1e2c049752f19f146fdc37c2cc376e7d0032cf4f25347", "sha256:a2b9bf8c79b660d0ca1ad95e587818c30ccdb11f787657458d6f26a1ea18c568",
"sha256:cf6c4150f8c0e32d241436526f3c3f9cbd34429492abddbada2ffcff506c51af", "sha256:a61a68d630e812b67b5bf097ab84e2cd79b48c792857dc10ba8a223f5b06a2af",
"sha256:d09c333d36c1409d56a9d29b3a1b800a42c76a57a5a8907eacdbce3f18768246", "sha256:a7080b0159ce05f179cfac592cda1a82898ca9cd097dacf8ea20ae33474fbb25",
"sha256:d27b84d5880f6d8aa9ae3edb253c59d9f6642ffbb2c889b78b60361eed449787", "sha256:a8fd93de4e1d278046345f49e2238cdb298589325849b2645d4a94c53faeffc5",
"sha256:d2ccec9ac47cf4e04897619c0e0c1a48c54a71bdf045117d3a26f80d38ab1fb0", "sha256:a94ffc66738da99232ddffcf7910e0f69e2bbe3a0802e54426dbf0714e1c2ffe",
"sha256:d71264a80f3fcf512eb4f18f59423fe82d6e346ee97b90625f283df56aee103f", "sha256:aa806bbc13eac1ab6291ed21ecd2dd426063ca5417dd507e6be58de20e58dfcf",
"sha256:d93f3307ad32a27bda2e88ec81134b823c240aa3abb55821a8da553eed8d9439", "sha256:b0c1a133d42c6fc1f5fbcf5c91331657a1ff822e87989bf4a6e2e39b818d0ee9",
"sha256:d9631c5e8b5b3a0fda99cb0d29c18133bca1e18aea9effe55adb3da1adef80d3", "sha256:b58229a844931bca61b3a20efd2be2a2acb4ad1622fc026504309a6883686fbf",
"sha256:ddfab44e4489bd79bda09d84c430677fc7f0a4939a73d2bba3073036f487a0a6", "sha256:bb2f144c6d98bb5cbc94adeb0447cfd4c0f991341baa68eee3f3b0c9c0e83767",
"sha256:e7048abd75fe40712005bcfc06bb44b9dfcd8e101dda2ecf2f5aa46115ad07ca", "sha256:be90c94570840939fecedf99fa72839aed70b0ced449b415c85e01ae67422c90",
"sha256:e73091191e4280403bde6c9a52a6999d69cdfde498f1fdf629105247599b57ec", "sha256:bf0d9a171908f32d54f651648c7290397b8792f4303821c42a74e7805bfb813c",
"sha256:e800776a79a5aabdb17dcc2346a7d66d0777e942e4cd251defeb084762ecd17d", "sha256:bf15fc0b45914d9d1b706f7c9c4f66f2b7b053e9517e40123e137e8ca8958b3d",
"sha256:edc9fc7051e3350643ad929df55c451899bb9ae6d24998a949d2e4c87fb596d3", "sha256:bf4298f366ca7e1ad1d21bbb58300a6985015909964077afd37559084590c929",
"sha256:f089118d584e859c62b3da0892b88a83d611c2033ac410e929cb6754eec0ed16", "sha256:c441c841e82c5ba7a85ad25986014be8d7849c3cfbdb6004541873505929a74e",
"sha256:f174bbd484294ed9fdf09437f889f95807e5f229d5d93588d34e92106fbf6717", "sha256:cacea77ef7a2195f04f9279297684955e3d1ae4241092ff0cfcef532bb7a1c32",
"sha256:f508b0491767bb1f2b87fdfacaba5f7eddc2f867740ec69ece6d1946d29029a6", "sha256:cd54895e4ae7d32f1e3dd91261df46ee7483a735017dc6f987904f194aa5fd14",
"sha256:f7a31fc1e1bd362874863fdeed71aed92d348f5336fd84f2197ba40c59f061bd", "sha256:d1323cd04d6e92150bcc79d0174ce347ed4b349d748b9358fd2e497b121e03c8",
"sha256:f9479aa06a793c5aeba49ce5c5692ffb51fcd9a7016e017d555d5e2b0045d212" "sha256:d383bf5e045d7f9d239b38e6acadd7b7fdf6c0087259a84ae3475d18e9a2ae8b",
"sha256:d3e7420211f5a65a54675fd860ea04173cde60a7cc20ccfbafcccd155225f8bc",
"sha256:d8074c5dd61c8a3e915fa8fc04754fa55cfa5978200d2daa1e2d4294c1f136aa",
"sha256:df03cd88f95b1b99052b52b1bb92173229d7a674df0ab06d2b25765ee8404bce",
"sha256:e45377d5d6fefe1677da2a2c07b024a6dac782088e37c0b1efea4cfe2b1be19b",
"sha256:e53d19c2bf7d0d1e6998a7e693c7e87300dd971808e6618964621ccd0e01fe4e",
"sha256:e560fd75aaf3e5693b91bcaddd8b314f4d57e99aef8a6c6dc692f935cc1e6bbf",
"sha256:ec5060592d83454e8063e487696ac3783cc48c9a329498bafae0d972bc7816c9",
"sha256:ecc2920630283e0783c22e2ac94427f8cca29a04cfdf331467d4f661f4072dac",
"sha256:ed7161bccab7696a473fe7ddb619c1d75963732b37da4618ba12e60899fefe4f",
"sha256:ee0bd3a7b2e184e88d25c9baa6a9dc609ba25b76daae942edfb14499ac7ec374",
"sha256:ee25f1ac091def37c4b59d192bbe3a206298feeb89132a470325bf76ad122a1e",
"sha256:efa44f64c37cc30c9f05932c740a8b40ce359f51882c70883cc95feac842da4d",
"sha256:f47d52fd9b2ac418c4890aad2f6d21a6b96183c98021f0a48497a904199f006e",
"sha256:f857034dc68d5ceb30fb60afb6ff2103087aea10a01b613985610e007053a121",
"sha256:fb91d20fa2d3b13deea98a690534697742029f4fb83673a3501ae6e3746508b5",
"sha256:fddb8870bdb83456a489ab67c6b3040a8d5a55069aa6f72f9d872235fbc52f54"
], ],
"markers": "python_version >= '3.9'", "markers": "python_version >= '3.9'",
"version": "==0.2.1" "version": "==0.3.0"
}, },
"pycparser": { "pycparser": {
"hashes": [ "hashes": [
...@@ -1453,128 +1474,128 @@ ...@@ -1453,128 +1474,128 @@
}, },
"rpds-py": { "rpds-py": {
"hashes": [ "hashes": [
"sha256:009de23c9c9ee54bf11303a966edf4d9087cd43a6003672e6aa7def643d06518", "sha256:09cd7dbcb673eb60518231e02874df66ec1296c01a4fcd733875755c02014b19",
"sha256:02fbb9c288ae08bcb34fb41d516d5eeb0455ac35b5512d03181d755d80810059", "sha256:0f3288930b947cbebe767f84cf618d2cbe0b13be476e749da0e6a009f986248c",
"sha256:0a0461200769ab3b9ab7e513f6013b7a97fdeee41c29b9db343f3c5a8e2b9e61", "sha256:0fced9fd4a07a1ded1bac7e961ddd9753dd5d8b755ba8e05acba54a21f5f1522",
"sha256:0b09865a9abc0ddff4e50b5ef65467cd94176bf1e0004184eb915cbc10fc05c5", "sha256:112b8774b0b4ee22368fec42749b94366bd9b536f8f74c3d4175d4395f5cbd31",
"sha256:0b8db6b5b2d4491ad5b6bdc2bc7c017eec108acbf4e6785f42a9eb0ba234f4c9", "sha256:11dd60b2ffddba85715d8a66bb39b95ddbe389ad2cfcf42c833f1bcde0878eaf",
"sha256:0c150c7a61ed4a4f4955a96626574e9baf1adf772c2fb61ef6a5027e52803543", "sha256:178f8a60fc24511c0eb756af741c476b87b610dba83270fce1e5a430204566a4",
"sha256:0f3cec041684de9a4684b1572fe28c7267410e02450f4561700ca5a3bc6695a2", "sha256:1b08027489ba8fedde72ddd233a5ea411b85a6ed78175f40285bd401bde7466d",
"sha256:1352ae4f7c717ae8cba93421a63373e582d19d55d2ee2cbb184344c82d2ae55a", "sha256:1bf5be5ba34e19be579ae873da515a2836a2166d8d7ee43be6ff909eda42b72b",
"sha256:177c7c0fce2855833819c98e43c262007f42ce86651ffbb84f37883308cb0e7d", "sha256:1ed7de3c86721b4e83ac440751329ec6a1102229aa18163f84c75b06b525ad7e",
"sha256:1978d0021e943aae58b9b0b196fb4895a25cc53d3956b8e35e0b7682eefb6d56", "sha256:1eedaaccc9bb66581d4ae7c50e15856e335e57ef2734dbc5fd8ba3e2a4ab3cb6",
"sha256:1a60bce91f81ddaac922a40bbb571a12c1070cb20ebd6d49c48e0b101d87300d", "sha256:243241c95174b5fb7204c04595852fe3943cc41f47aa14c3828bc18cd9d3b2d6",
"sha256:1aef18820ef3e4587ebe8b3bc9ba6e55892a6d7b93bac6d29d9f631a3b4befbd", "sha256:26bb3e8de93443d55e2e748e9fd87deb5f8075ca7bc0502cfc8be8687d69a2ec",
"sha256:1e9663daaf7a63ceccbbb8e3808fe90415b0757e2abddbfc2e06c857bf8c5e2b", "sha256:271fa2184cf28bdded86bb6217c8e08d3a169fe0bbe9be5e8d96e8476b707122",
"sha256:20070c65396f7373f5df4005862fa162db5d25d56150bddd0b3e8214e8ef45b4", "sha256:28358c54fffadf0ae893f6c1050e8f8853e45df22483b7fff2f6ab6152f5d8bf",
"sha256:214b7a953d73b5e87f0ebece4a32a5bd83c60a3ecc9d4ec8f1dca968a2d91e99", "sha256:285019078537949cecd0190f3690a0b0125ff743d6a53dfeb7a4e6787af154f5",
"sha256:22bebe05a9ffc70ebfa127efbc429bc26ec9e9b4ee4d15a740033efda515cf3d", "sha256:2893d778d4671ee627bac4037a075168b2673c57186fb1a57e993465dbd79a93",
"sha256:24e8abb5878e250f2eb0d7859a8e561846f98910326d06c0d51381fed59357bd", "sha256:2a54027554ce9b129fc3d633c92fa33b30de9f08bc61b32c053dc9b537266fed",
"sha256:26fd7cac7dd51011a245f29a2cc6489c4608b5a8ce8d75661bb4a1066c52dfbe", "sha256:2c6ae11e6e93728d86aafc51ced98b1658a0080a7dd9417d24bfb955bb09c3c2",
"sha256:27b1d3b3915a99208fee9ab092b8184c420f2905b7d7feb4aeb5e4a9c509b8a1", "sha256:2cfa07c346a7ad07019c33fb9a63cf3acb1f5363c33bc73014e20d9fe8b01cdd",
"sha256:27e98004595899949bd7a7b34e91fa7c44d7a97c40fcaf1d874168bb652ec67e", "sha256:35d5631ce0af26318dba0ae0ac941c534453e42f569011585cb323b7774502a5",
"sha256:2b8f60e1b739a74bab7e01fcbe3dddd4657ec685caa04681df9d562ef15b625f", "sha256:3614d280bf7aab0d3721b5ce0e73434acb90a2c993121b6e81a1c15c665298ac",
"sha256:2de29005e11637e7a2361fa151f780ff8eb2543a0da1413bb951e9f14b699ef3", "sha256:3902df19540e9af4cc0c3ae75974c65d2c156b9257e91f5101a51f99136d834c",
"sha256:2e8b55d8517a2fda8d95cb45d62a5a8bbf9dd0ad39c5b25c8833efea07b880ca", "sha256:3aaf141d39f45322e44fc2c742e4b8b4098ead5317e5f884770c8df0c332da70",
"sha256:2fa4331c200c2521512595253f5bb70858b90f750d39b8cbfd67465f8d1b596d", "sha256:3d8abf7896a91fb97e7977d1aadfcc2c80415d6dc2f1d0fca5b8d0df247248f3",
"sha256:3445e07bf2e8ecfeef6ef67ac83de670358abf2996916039b16a218e3d95e97e", "sha256:3e77febf227a1dc3220159355dba68faa13f8dca9335d97504abf428469fb18b",
"sha256:3453e8d41fe5f17d1f8e9c383a7473cd46a63661628ec58e07777c2fff7196dc", "sha256:3e9212f52074fc9d72cf242a84063787ab8e21e0950d4d6709886fb62bcb91d5",
"sha256:378753b4a4de2a7b34063d6f95ae81bfa7b15f2c1a04a9518e8644e81807ebea", "sha256:3ee9d6f0b38efb22ad94c3b68ffebe4c47865cdf4b17f6806d6c674e1feb4246",
"sha256:3af6e48651c4e0d2d166dc1b033b7042ea3f871504b6805ba5f4fe31581d8d38", "sha256:4233df01a250b3984465faed12ad472f035b7cd5240ea3f7c76b7a7016084495",
"sha256:3dfcbc95bd7992b16f3f7ba05af8a64ca694331bd24f9157b49dadeeb287493b", "sha256:4263320ed887ed843f85beba67f8b2d1483b5947f2dc73a8b068924558bfeace",
"sha256:3f21f0495edea7fdbaaa87e633a8689cd285f8f4af5c869f27bc8074638ad69c", "sha256:4ab923167cfd945abb9b51a407407cf19f5bee35001221f2911dc85ffd35ff4f",
"sha256:4041711832360a9b75cfb11b25a6a97c8fb49c07b8bd43d0d02b45d0b499a4ff", "sha256:4caafd1a22e5eaa3732acb7672a497123354bef79a9d7ceed43387d25025e935",
"sha256:44d61b4b7d0c2c9ac019c314e52d7cbda0ae31078aabd0f22e583af3e0d79723", "sha256:50fb62f8d8364978478b12d5f03bf028c6bc2af04082479299139dc26edf4c64",
"sha256:4617e1915a539a0d9a9567795023de41a87106522ff83fbfaf1f6baf8e85437e", "sha256:55ff4151cfd4bc635e51cfb1c59ac9f7196b256b12e3a57deb9e5742e65941ad",
"sha256:4b232061ca880db21fa14defe219840ad9b74b6158adb52ddf0e87bead9e8493", "sha256:5b98b6c953e5c2bda51ab4d5b4f172617d462eebc7f4bfdc7c7e6b423f6da957",
"sha256:5246b14ca64a8675e0a7161f7af68fe3e910e6b90542b4bfb5439ba752191df6", "sha256:5c9ff044eb07c8468594d12602291c635da292308c8c619244e30698e7fc455a",
"sha256:5725dd9cc02068996d4438d397e255dcb1df776b7ceea3b9cb972bdb11260a83", "sha256:5e9c206a1abc27e0588cf8b7c8246e51f1a16a103734f7750830a1ccb63f557a",
"sha256:583f6a1993ca3369e0f80ba99d796d8e6b1a3a2a442dd4e1a79e652116413091", "sha256:5fb89edee2fa237584e532fbf78f0ddd1e49a47c7c8cfa153ab4849dc72a35e6",
"sha256:59259dc58e57b10e7e18ce02c311804c10c5a793e6568f8af4dead03264584d1", "sha256:633462ef7e61d839171bf206551d5ab42b30b71cac8f10a64a662536e057fdef",
"sha256:593eba61ba0c3baae5bc9be2f5232430453fb4432048de28399ca7376de9c627", "sha256:66f8d2a17e5838dd6fb9be6baaba8e75ae2f5fa6b6b755d597184bfcd3cb0eba",
"sha256:59f4a79c19232a5774aee369a0c296712ad0e77f24e62cad53160312b1c1eaa1", "sha256:6959bb9928c5c999aba4a3f5a6799d571ddc2c59ff49917ecf55be2bbb4e3722",
"sha256:5f0e260eaf54380380ac3808aa4ebe2d8ca28b9087cf411649f96bad6900c728", "sha256:698a79d295626ee292d1730bc2ef6e70a3ab135b1d79ada8fde3ed0047b65a10",
"sha256:62d9cfcf4948683a18a9aff0ab7e1474d407b7bab2ca03116109f8464698ab16", "sha256:721f9c4011b443b6e84505fc00cc7aadc9d1743f1c988e4c89353e19c4a968ee",
"sha256:64607d4cbf1b7e3c3c8a14948b99345eda0e161b852e122c6bb71aab6d1d798c", "sha256:72e680c1518733b73c994361e4b06441b92e973ef7d9449feec72e8ee4f713da",
"sha256:655ca44a831ecb238d124e0402d98f6212ac527a0ba6c55ca26f616604e60a45", "sha256:75307599f0d25bf6937248e5ac4e3bde5ea72ae6618623b86146ccc7845ed00b",
"sha256:666ecce376999bf619756a24ce15bb14c5bfaf04bf00abc7e663ce17c3f34fe7", "sha256:754fba3084b70162a6b91efceee8a3f06b19e43dac3f71841662053c0584209a",
"sha256:68049202f67380ff9aa52f12e92b1c30115f32e6895cd7198fa2a7961621fc5a", "sha256:759462b2d0aa5a04be5b3e37fb8183615f47014ae6b116e17036b131985cb731",
"sha256:69803198097467ee7282750acb507fba35ca22cc3b85f16cf45fb01cb9097730", "sha256:7938c7b0599a05246d704b3f5e01be91a93b411d0d6cc62275f025293b8a11ce",
"sha256:6c7b99ca52c2c1752b544e310101b98a659b720b21db00e65edca34483259967", "sha256:7b77e07233925bd33fc0022b8537774423e4c6680b6436316c5075e79b6384f4",
"sha256:6dd9412824c4ce1aca56c47b0991e65bebb7ac3f4edccfd3f156150c96a7bf25", "sha256:7e5413d2e2d86025e73f05510ad23dad5950ab8417b7fc6beaad99be8077138b",
"sha256:70eb60b3ae9245ddea20f8a4190bd79c705a22f8028aaf8bbdebe4716c3fab24", "sha256:7f3240dcfa14d198dba24b8b9cb3b108c06b68d45b7babd9eefc1038fdf7e707",
"sha256:70fb28128acbfd264eda9bf47015537ba3fe86e40d046eb2963d75024be4d055", "sha256:7f9682a8f71acdf59fd554b82b1c12f517118ee72c0f3944eda461606dfe7eb9",
"sha256:7b2513ba235829860b13faa931f3b6846548021846ac808455301c23a101689d", "sha256:8d67beb6002441faef8251c45e24994de32c4c8686f7356a1f601ad7c466f7c3",
"sha256:7ef9d9da710be50ff6809fed8f1963fecdfecc8b86656cadfca3bc24289414b0", "sha256:9441af1d25aed96901f97ad83d5c3e35e6cd21a25ca5e4916c82d7dd0490a4fa",
"sha256:81e69b0a0e2537f26d73b4e43ad7bc8c8efb39621639b4434b76a3de50c6966e", "sha256:98b257ae1e83f81fb947a363a274c4eb66640212516becaff7bef09a5dceacaa",
"sha256:8633e471c6207a039eff6aa116e35f69f3156b3989ea3e2d755f7bc41754a4a7", "sha256:9e9f3a3ac919406bc0414bbbd76c6af99253c507150191ea79fab42fdb35982a",
"sha256:8bd7c8cfc0b8247c8799080fbff54e0b9619e17cdfeb0478ba7295d43f635d7c", "sha256:a1c66e71ecfd2a4acf0e4bd75e7a3605afa8f9b28a3b497e4ba962719df2be57",
"sha256:9253fc214112405f0afa7db88739294295f0e08466987f1d70e29930262b4c8f", "sha256:a1e17d8dc8e57d8e0fd21f8f0f0a5211b3fa258b2e444c2053471ef93fe25a00",
"sha256:99b37292234e61325e7a5bb9689e55e48c3f5f603af88b1642666277a81f1fbd", "sha256:a20cb698c4a59c534c6701b1c24a968ff2768b18ea2991f886bd8985ce17a89f",
"sha256:9bd7228827ec7bb817089e2eb301d907c0d9827a9e558f22f762bb690b131652", "sha256:a970bfaf130c29a679b1d0a6e0f867483cea455ab1535fb427566a475078f27f",
"sha256:9beeb01d8c190d7581a4d59522cd3d4b6887040dcfc744af99aa59fef3e041a8", "sha256:a98f510d86f689fcb486dc59e6e363af04151e5260ad1bdddb5625c10f1e95f8",
"sha256:a63cbdd98acef6570c62b92a1e43266f9e8b21e699c363c0fef13bd530799c11", "sha256:a9d3b728f5a5873d84cba997b9d617c6090ca5721caaa691f3b1a78c60adc057",
"sha256:a76e42402542b1fae59798fab64432b2d015ab9d0c8c47ba7addddbaf7952333", "sha256:ad76f44f70aac3a54ceb1813ca630c53415da3a24fd93c570b2dfb4856591017",
"sha256:ac0a03221cdb5058ce0167ecc92a8c89e8d0decdc9e99a2ec23380793c4dcb96", "sha256:ae28144c1daa61366205d32abd8c90372790ff79fc60c1a8ad7fd3c8553a600e",
"sha256:b0b4136a252cadfa1adb705bb81524eee47d9f6aab4f2ee4fa1e9d3cd4581f64", "sha256:b03a8d50b137ee758e4c73638b10747b7c39988eb8e6cd11abb7084266455165",
"sha256:b25bc607423935079e05619d7de556c91fb6adeae9d5f80868dde3468657994b", "sha256:b5a96fcac2f18e5a0a23a75cd27ce2656c66c11c127b0318e508aab436b77428",
"sha256:b3d504047aba448d70cf6fa22e06cb09f7cbd761939fdd47604f5e007675c24e", "sha256:b5ef909a37e9738d146519657a1aab4584018746a18f71c692f2f22168ece40c",
"sha256:bb47271f60660803ad11f4c61b42242b8c1312a31c98c578f79ef9387bbde21c", "sha256:b79f5ced71efd70414a9a80bbbfaa7160da307723166f09b69773153bf17c590",
"sha256:bbb232860e3d03d544bc03ac57855cd82ddf19c7a07651a7c0fdb95e9efea8b9", "sha256:b91cceb5add79ee563bd1f70b30896bd63bc5f78a11c1f00a1e931729ca4f1f4",
"sha256:bc27863442d388870c1809a87507727b799c8460573cfbb6dc0eeaef5a11b5ec", "sha256:b92f5654157de1379c509b15acec9d12ecf6e3bc1996571b6cb82a4302060447",
"sha256:bc51abd01f08117283c5ebf64844a35144a0843ff7b2983e0648e4d3d9f10dbb", "sha256:c04ca91dda8a61584165825907f5c967ca09e9c65fe8966ee753a3f2b019fe1e",
"sha256:be2eb3f2495ba669d2a985f9b426c1797b7d48d6963899276d22f23e33d47e37", "sha256:c1f8afa346ccd59e4e5630d5abb67aba6a9812fddf764fd7eb11f382a345f8cc",
"sha256:bf9db5488121b596dbfc6718c76092fda77b703c1f7533a226a5a9f65248f8ad", "sha256:c5334a71f7dc1160382d45997e29f2637c02f8a26af41073189d79b95d3321f1",
"sha256:c58e2339def52ef6b71b8f36d13c3688ea23fa093353f3a4fee2556e62086ec9", "sha256:c617d7453a80e29d9973b926983b1e700a9377dbe021faa36041c78537d7b08c",
"sha256:cfbc454a2880389dbb9b5b398e50d439e2e58669160f27b60e5eca11f68ae17c", "sha256:c632419c3870507ca20a37c8f8f5352317aca097639e524ad129f58c125c61c6",
"sha256:cff63a0272fcd259dcc3be1657b07c929c466b067ceb1c20060e8d10af56f5bf", "sha256:c6760211eee3a76316cf328f5a8bd695b47b1626d21c8a27fb3b2473a884d597",
"sha256:d115bffdd417c6d806ea9069237a4ae02f513b778e3789a359bc5856e0404cc4", "sha256:c698d123ce5d8f2d0cd17f73336615f6a2e3bdcedac07a1291bb4d8e7d82a05a",
"sha256:d20cfb4e099748ea39e6f7b16c91ab057989712d31761d3300d43134e26e165f", "sha256:c76b32eb2ab650a29e423525e84eb197c45504b1c1e6e17b6cc91fcfeb1a4b1d",
"sha256:d48424e39c2611ee1b84ad0f44fb3b2b53d473e65de061e3f460fc0be5f1939d", "sha256:c8f7e90b948dc9dcfff8003f1ea3af08b29c062f681c05fd798e36daa3f7e3e8",
"sha256:e0fa2d4ec53dc51cf7d3bb22e0aa0143966119f42a0c3e4998293a3dd2856b09", "sha256:c9e799dac1ffbe7b10c1fd42fe4cd51371a549c6e108249bde9cd1200e8f59b4",
"sha256:e32fee8ab45d3c2db6da19a5323bc3362237c8b653c70194414b892fd06a080d", "sha256:cafa48f2133d4daa028473ede7d81cd1b9f9e6925e9e4003ebdf77010ee02f35",
"sha256:e35ba67d65d49080e8e5a1dd40101fccdd9798adb9b050ff670b7d74fa41c566", "sha256:ce473a2351c018b06dd8d30d5da8ab5a0831056cc53b2006e2a8028172c37ce5",
"sha256:e3fb866d9932a3d7d0c82da76d816996d1667c44891bd861a0f97ba27e84fc74", "sha256:d31ed4987d72aabdf521eddfb6a72988703c091cfc0064330b9e5f8d6a042ff5",
"sha256:e61b02c3f7a1e0b75e20c3978f7135fd13cb6cf551bf4a6d29b999a88830a338", "sha256:d550d7e9e7d8676b183b37d65b5cd8de13676a738973d330b59dc8312df9c5dc",
"sha256:e67ba3c290821343c192f7eae1d8fd5999ca2dc99994114643e2f2d3e6138b15", "sha256:d6adb81564af0cd428910f83fa7da46ce9ad47c56c0b22b50872bc4515d91966",
"sha256:e79dd39f1e8c3504be0607e5fc6e86bb60fe3584bec8b782578c3b0fde8d932c", "sha256:d6f6512a90bd5cd9030a6237f5346f046c6f0e40af98657568fa45695d4de59d",
"sha256:e89391e6d60251560f0a8f4bd32137b077a80d9b7dbe6d5cab1cd80d2746f648", "sha256:d7031d493c4465dbc8d40bd6cafefef4bd472b17db0ab94c53e7909ee781b9ef",
"sha256:ea7433ce7e4bfc3a85654aeb6747babe3f66eaf9a1d0c1e7a4435bbdf27fea84", "sha256:d9f75a06ecc68f159d5d7603b734e1ff6daa9497a929150f794013aa9f6e3f12",
"sha256:eaf16ae9ae519a0e237a0f528fd9f0197b9bb70f40263ee57ae53c2b8d48aeb3", "sha256:db7707dde9143a67b8812c7e66aeb2d843fe33cc8e374170f4d2c50bd8f2472d",
"sha256:eb0c341fa71df5a4595f9501df4ac5abfb5a09580081dffbd1ddd4654e6e9123", "sha256:e0397dd0b3955c61ef9b22838144aa4bef6f0796ba5cc8edfc64d468b93798b4",
"sha256:f276b245347e6e36526cbd4a266a417796fc531ddf391e43574cf6466c492520", "sha256:e0df046f2266e8586cf09d00588302a32923eb6386ced0ca5c9deade6af9a149",
"sha256:f47ad3d5f3258bd7058d2d506852217865afefe6153a36eb4b6928758041d831", "sha256:e14f86b871ea74c3fddc9a40e947d6a5d09def5adc2076ee61fb910a9014fb35",
"sha256:f56a6b404f74ab372da986d240e2e002769a7d7102cc73eb238a4f72eec5284e", "sha256:e5963ea87f88bddf7edd59644a35a0feecf75f8985430124c253612d4f7d27ae",
"sha256:f5cf2a0c2bdadf3791b5c205d55a37a54025c6e18a71c71f82bb536cf9a454bf", "sha256:e768267cbe051dd8d1c5305ba690bb153204a09bf2e3de3ae530de955f5b5580",
"sha256:f5d36399a1b96e1a5fdc91e0522544580dbebeb1f77f27b2b0ab25559e103b8b", "sha256:e9cb79ecedfc156c0692257ac7ed415243b6c35dd969baa461a6888fc79f2f07",
"sha256:f60bd8423be1d9d833f230fdbccf8f57af322d96bcad6599e5a771b151398eb2", "sha256:ed6f011bedca8585787e5082cce081bac3d30f54520097b2411351b3574e1219",
"sha256:f612463ac081803f243ff13cccc648578e2279295048f2a8d5eb430af2bae6e3", "sha256:f3429fb8e15b20961efca8c8b21432623d85db2228cc73fe22756c6637aa39e7",
"sha256:f73d3fef726b3243a811121de45193c0ca75f6407fe66f3f4e183c983573e130", "sha256:f35eff113ad430b5272bbfc18ba111c66ff525828f24898b4e146eb479a2cdda",
"sha256:f82a116a1d03628a8ace4859556fb39fd1424c933341a08ea3ed6de1edb0283b", "sha256:f3a6cb95074777f1ecda2ca4fa7717caa9ee6e534f42b7575a8f0d4cb0c24013",
"sha256:fb0ba113b4983beac1a2eb16faffd76cb41e176bf58c4afe3e14b9c681f702de", "sha256:f7356a6da0562190558c4fcc14f0281db191cdf4cb96e7604c06acfcee96df15",
"sha256:fb4f868f712b2dd4bcc538b0a0c1f63a2b1d584c925e69a224d759e7070a12d5", "sha256:f88626e3f5e57432e6191cd0c5d6d6b319b635e70b40be2ffba713053e5147dd",
"sha256:fb6116dfb8d1925cbdb52595560584db42a7f664617a1f7d7f6e32f138cdf37d", "sha256:fad784a31869747df4ac968a351e070c06ca377549e4ace94775aaa3ab33ee06",
"sha256:fda7cb070f442bf80b642cd56483b5548e43d366fe3f39b98e67cce780cded00", "sha256:fc869af5cba24d45fb0399b0cfdbcefcf6910bf4dee5d74036a57cf5264b3ff4",
"sha256:feea821ee2a9273771bae61194004ee2fc33f8ec7db08117ef9147d4bbcbca8e" "sha256:fee513135b5a58f3bb6d89e48326cd5aa308e4bcdf2f7d59f67c861ada482bf8"
], ],
"markers": "python_version >= '3.9'", "markers": "python_version >= '3.9'",
"version": "==0.22.3" "version": "==0.23.1"
}, },
"s3transfer": { "s3transfer": {
"hashes": [ "hashes": [
"sha256:3b39185cb72f5acc77db1a58b6e25b977f28d20496b6e58d6813d75f464d632f", "sha256:ca855bdeb885174b5ffa95b9913622459d4ad8e331fc98eb01e6d5eb6a30655d",
"sha256:be6ecb39fadd986ef1701097771f87e4d2f821f27f6071c872143884d2950fbc" "sha256:edae4977e3a122445660c7c114bba949f9d191bae3b34a096f18a1c8c354527a"
], ],
"markers": "python_version >= '3.8'", "markers": "python_version >= '3.8'",
"version": "==0.11.2" "version": "==0.11.3"
}, },
"setuptools": { "setuptools": {
"hashes": [ "hashes": [
"sha256:c5afc8f407c626b8313a86e10311dd3f661c6cd9c09d4bf8c15c0e11f9f2b0e6", "sha256:4880473a969e5f23f2a2be3646b2dfd84af9028716d398e46192f84bc36900d2",
"sha256:e3982f444617239225d675215d51f6ba05f845d4eec313da4418fdbb56fb27e3" "sha256:558e47c15f1811c1fa7adbd0096669bf76c1d3f433f58324df69f3f5ecac4e8f"
], ],
"markers": "python_version >= '3.9'", "markers": "python_version >= '3.9'",
"version": "==75.8.0" "version": "==75.8.2"
}, },
"six": { "six": {
"hashes": [ "hashes": [
...@@ -1886,7 +1907,7 @@ ...@@ -1886,7 +1907,7 @@
"sha256:f7f5baafcc48261359e14bcd6d9bff6d4b28d9103847c9e136694cb0501aef87", "sha256:f7f5baafcc48261359e14bcd6d9bff6d4b28d9103847c9e136694cb0501aef87",
"sha256:fc48c783f9c87e60831201f2cce7f3b2e4846bf4d8728eabe54d60700b318a0b" "sha256:fc48c783f9c87e60831201f2cce7f3b2e4846bf4d8728eabe54d60700b318a0b"
], ],
"markers": "platform_python_implementation != 'PyPy'", "markers": "python_version >= '3.8'",
"version": "==1.17.1" "version": "==1.17.1"
}, },
"charset-normalizer": { "charset-normalizer": {
...@@ -2169,12 +2190,12 @@ ...@@ -2169,12 +2190,12 @@
}, },
"pytest": { "pytest": {
"hashes": [ "hashes": [
"sha256:50e16d954148559c9a74109af1eaf0c945ba2d8f30f0a3d3335edde19788b6f6", "sha256:c69214aa47deac29fad6c2a4f590b9c4a9fdb16a403176fe154b79c0b4d4d820",
"sha256:965370d062bce11e73868e0335abac31b4d3de0e82f4007408d242b4f8610761" "sha256:f4efe70cc14e511565ac476b57c279e12a855b11f48f212af1080ef2263d3845"
], ],
"index": "pypi", "index": "pypi",
"markers": "python_version >= '3.8'", "markers": "python_version >= '3.8'",
"version": "==8.3.4" "version": "==8.3.5"
}, },
"python-dateutil": { "python-dateutil": {
"hashes": [ "hashes": [
......