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
  • 499-standalone-compute-service-2
  • 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
  • 530-various-schema-problems-with-subsets
  • 533-integrate-semantic-recommendation
  • 534-bug-when-adding-access-to-user-that-is-not-registered-at-dashboard-service
  • 539-load-tests
  • 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-chart
  • 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-1.9
  • 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
  • v1.9.0
  • v1.9.0-rc0
  • v1.9.0-rc1
  • v1.9.1
  • v1.9.2
  • v1.9.2-rc0
  • v1.9.3
133 results

Target

Select target project
  • fair-data-austria-db-repository/fda-services
1 result
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
  • 499-standalone-compute-service-2
  • 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
  • 530-various-schema-problems-with-subsets
  • 533-integrate-semantic-recommendation
  • 534-bug-when-adding-access-to-user-that-is-not-registered-at-dashboard-service
  • 539-load-tests
  • 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-chart
  • 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-1.9
  • 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
  • v1.9.0
  • v1.9.0-rc0
  • v1.9.0-rc1
  • v1.9.1
  • v1.9.2
  • v1.9.2-rc0
  • v1.9.3
133 results
Show changes
Commits on Source (12)
Showing
with 6430 additions and 6205 deletions
......@@ -3,7 +3,6 @@ volumes:
data-db-data:
auth-db-data:
broker-service-data:
upload-service-data:
search-db-data:
identity-service-data:
metric-db-data:
......@@ -114,7 +113,7 @@ services:
init: true
restart: "no"
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:
AUTH_SERVICE_ADMIN: ${AUTH_SERVICE_ADMIN:-admin}
AUTH_SERVICE_ADMIN_PASSWORD: ${AUTH_SERVICE_ADMIN_PASSWORD:-admin}
......@@ -135,7 +134,7 @@ services:
restart: "no"
container_name: dbrepo-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:
- "${SHARED_VOLUME:-/tmp}:/tmp"
environment:
......@@ -198,7 +197,7 @@ services:
restart: "no"
container_name: dbrepo-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:
AUTH_SERVICE_CLIENT: ${AUTH_SERVICE_CLIENT:-dbrepo-client}
AUTH_SERVICE_CLIENT_SECRET: ${AUTH_SERVICE_CLIENT:-MUwRc7yfXSJwX8AdRMWaQC3Nep1VjwgG}
......@@ -253,7 +252,7 @@ services:
restart: "no"
container_name: dbrepo-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:
test: curl -sSL localhost:9200/_plugins/_security/health | jq .status | grep UP
interval: 10s
......@@ -277,7 +276,7 @@ services:
restart: "no"
container_name: dbrepo-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:
AUTH_SERVICE_CLIENT: ${AUTH_SERVICE_CLIENT:-dbrepo-client}
AUTH_SERVICE_CLIENT_SECRET: ${AUTH_SERVICE_CLIENT_SECRET:-MUwRc7yfXSJwX8AdRMWaQC3Nep1VjwgG}
......@@ -301,11 +300,10 @@ services:
restart: "no"
container_name: dbrepo-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:
NUXT_PUBLIC_API_CLIENT: "${BASE_URL:-http://localhost}"
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_BASE_URL: "${BASE_URL:-http://localhost}/realms/dbrepo"
NUXT_OIDC_PROVIDERS_KEYCLOAK_CLIENT_ID: "${AUTH_SERVICE_CLIENT:-dbrepo-client}"
......@@ -318,8 +316,6 @@ services:
depends_on:
dbrepo-search-service:
condition: service_healthy
dbrepo-upload-service:
condition: service_healthy
healthcheck:
test: curl -fsSL http://127.0.0.1:3000 && curl -fsSL http://127.0.0.1:3000/health
interval: 10s
......@@ -381,7 +377,7 @@ services:
init: true
container_name: dbrepo-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:
LOG_LEVEL: ${LOG_LEVEL:-info}
METADATA_SERVICE_ENDPOINT: ${METADATA_SERVICE_ENDPOINT:-http://metadata-service:8080}
......@@ -438,7 +434,7 @@ services:
restart: "no"
container_name: dbrepo-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:
- "3000:3000"
volumes:
......@@ -465,7 +461,7 @@ services:
init: true
container_name: dbrepo-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:
S3_ACCESS_KEY_ID: ${S3_ACCESS_KEY_ID:-seaweedfsadmin}
S3_BUCKET: "${S3_BUCKET:-dbrepo}"
......@@ -477,41 +473,11 @@ services:
logging:
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:
restart: "no"
container_name: dbrepo-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:
- "${SHARED_VOLUME:-/tmp}:/tmp"
environment:
......
......@@ -8,10 +8,10 @@ info:
license:
name: Apache 2.0
url: https://www.apache.org/licenses/LICENSE-2.0
version: 1.6.2
version: 1.7.0
externalDocs:
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:
- url: http://localhost
description: Development instance
......@@ -24,22 +24,21 @@ paths:
- view-endpoint
summary: Get view data
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\
\ `view-database-view-data`."
\ user needs at least *READ* access to the associated database."
operationId: getData
parameters:
- name: databaseId
in: path
required: true
schema:
type: integer
format: int64
type: string
format: uuid
- name: viewId
in: path
required: true
schema:
type: integer
format: int64
type: string
format: uuid
- name: page
in: query
required: false
......@@ -59,20 +58,35 @@ paths:
type: string
format: date-time
responses:
"503":
description: Failed to establish connection with the metadata service
"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
"409":
description: View schema could not be mapped
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"404":
description: Failed to find view in metadata database
"503":
description: Failed to establish connection with the metadata service
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"409":
description: View schema could not be mapped
"404":
description: Failed to find view in metadata database
content:
application/json:
schema:
......@@ -89,21 +103,6 @@ paths:
application/json:
schema:
$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:
- basicAuth: []
- bearerAuth: []
......@@ -112,22 +111,21 @@ paths:
- view-endpoint
summary: Get view data
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\
\ `view-database-view-data`."
\ user needs at least *READ* access to the associated database."
operationId: getData_1
parameters:
- name: databaseId
in: path
required: true
schema:
type: integer
format: int64
type: string
format: uuid
- name: viewId
in: path
required: true
schema:
type: integer
format: int64
type: string
format: uuid
- name: page
in: query
required: false
......@@ -147,20 +145,35 @@ paths:
type: string
format: date-time
responses:
"503":
description: Failed to establish connection with the metadata service
"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
"409":
description: View schema could not be mapped
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"404":
description: Failed to find view in metadata database
"503":
description: Failed to establish connection with the metadata service
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"409":
description: View schema could not be mapped
"404":
description: Failed to find view in metadata database
content:
application/json:
schema:
......@@ -177,21 +190,6 @@ paths:
application/json:
schema:
$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:
- basicAuth: []
- bearerAuth: []
......@@ -210,14 +208,14 @@ paths:
in: path
required: true
schema:
type: integer
format: int64
type: string
format: uuid
- name: tableId
in: path
required: true
schema:
type: integer
format: int64
type: string
format: uuid
- name: timestamp
in: query
required: false
......@@ -237,24 +235,6 @@ paths:
type: integer
format: int64
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":
description: Get table data
headers:
......@@ -270,12 +250,30 @@ paths:
application/json:
schema:
type: string
"503":
description: Failed to establish connection with the metadata service
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"403":
description: Not allowed to get table data
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"
"400":
description: Request pagination or table data select query is malformed
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
security:
- basicAuth: []
- bearerAuth: []
......@@ -292,14 +290,14 @@ paths:
in: path
required: true
schema:
type: integer
format: int64
type: string
format: uuid
- name: tableId
in: path
required: true
schema:
type: integer
format: int64
type: string
format: uuid
- name: Authorization
in: header
required: true
......@@ -312,8 +310,8 @@ paths:
$ref: "#/components/schemas/TupleUpdateDto"
required: true
responses:
"400":
description: Request pagination or table data select query is malformed
"403":
description: Update table data not allowed
content:
application/json:
schema:
......@@ -332,8 +330,8 @@ paths:
$ref: "#/components/schemas/ApiErrorDto"
"202":
description: Updated table data
"403":
description: Update table data not allowed
"400":
description: Request pagination or table data select query is malformed
content:
application/json:
schema:
......@@ -354,14 +352,14 @@ paths:
in: path
required: true
schema:
type: integer
format: int64
type: string
format: uuid
- name: tableId
in: path
required: true
schema:
type: integer
format: int64
type: string
format: uuid
- name: Authorization
in: header
required: true
......@@ -381,12 +379,6 @@ paths:
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"
"201":
description: Created table data
"503":
......@@ -402,6 +394,12 @@ paths:
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:
- basicAuth: []
- bearerAuth: []
......@@ -418,14 +416,14 @@ paths:
in: path
required: true
schema:
type: integer
format: int64
type: string
format: uuid
- name: tableId
in: path
required: true
schema:
type: integer
format: int64
type: string
format: uuid
- name: Authorization
in: header
required: true
......@@ -438,26 +436,26 @@ paths:
$ref: "#/components/schemas/TupleDeleteDto"
required: true
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"
"202":
description: Deleted table data
"404":
description: Failed to find table in metadata database
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"202":
description: Deleted table data
"400":
description: Request pagination or table data select query is malformed
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"403":
description: Delete table data not allowed
content:
......@@ -481,14 +479,14 @@ paths:
in: path
required: true
schema:
type: integer
format: int64
type: string
format: uuid
- name: tableId
in: path
required: true
schema:
type: integer
format: int64
type: string
format: uuid
- name: timestamp
in: query
required: false
......@@ -508,24 +506,6 @@ paths:
type: integer
format: int64
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":
description: Get table data
headers:
......@@ -541,12 +521,30 @@ paths:
application/json:
schema:
type: string
"503":
description: Failed to establish connection with the metadata service
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"403":
description: Not allowed to get table data
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"
"400":
description: Request pagination or table data select query is malformed
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
security:
- basicAuth: []
- bearerAuth: []
......@@ -565,14 +563,14 @@ paths:
in: path
required: true
schema:
type: integer
format: int64
type: string
format: uuid
- name: subsetId
in: path
required: true
schema:
type: integer
format: int64
type: string
format: uuid
- name: timestamp
in: query
required: false
......@@ -592,6 +590,12 @@ paths:
type: integer
format: int64
responses:
"400":
description: Invalid pagination
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"503":
description: Failed to communicate with database
content:
......@@ -619,12 +623,6 @@ paths:
application/json:
schema:
type: string
"400":
description: Invalid pagination
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"404":
description: Failed to find database in metadata database or query in query
store of the data database
......@@ -655,14 +653,14 @@ paths:
in: path
required: true
schema:
type: integer
format: int64
type: string
format: uuid
- name: subsetId
in: path
required: true
schema:
type: integer
format: int64
type: string
format: uuid
- name: timestamp
in: query
required: false
......@@ -682,6 +680,12 @@ paths:
type: integer
format: int64
responses:
"400":
description: Invalid pagination
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"503":
description: Failed to communicate with database
content:
......@@ -709,12 +713,6 @@ paths:
application/json:
schema:
type: string
"400":
description: Invalid pagination
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"404":
description: Failed to find database in metadata database or query in query
store of the data database
......@@ -743,14 +741,14 @@ paths:
in: path
required: true
schema:
type: integer
format: int64
type: string
format: uuid
- name: queryId
in: path
required: true
schema:
type: integer
format: int64
type: string
format: uuid
requestBody:
content:
application/json:
......@@ -758,20 +756,14 @@ paths:
$ref: "#/components/schemas/QueryPersistDto"
required: true
responses:
"503":
description: Failed to communicate with database
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"202":
description: Persisted subset
content:
application/json:
schema:
$ref: "#/components/schemas/QueryDto"
"403":
description: Not allowed to persist subset
"503":
description: Failed to communicate with database
content:
application/json:
schema:
......@@ -789,6 +781,12 @@ paths:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"403":
description: Not allowed to persist subset
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"400":
description: Malformed select query
content:
......@@ -798,6 +796,42 @@ paths:
security:
- bearerAuth: []
- 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:
post:
tags:
......@@ -813,14 +847,14 @@ paths:
in: path
required: true
schema:
type: integer
format: int64
type: string
format: uuid
- name: tableId
in: path
required: true
schema:
type: integer
format: int64
type: string
format: uuid
- name: Authorization
in: header
required: true
......@@ -835,20 +869,20 @@ paths:
responses:
"202":
description: Imported dataset successfully
"503":
description: Failed to establish connection with the metadata service
"403":
description: Import table dataset not allowed
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"404":
description: Failed to find table in metadata database
"503":
description: Failed to establish connection with the metadata service
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"403":
description: Import table dataset not allowed
"404":
description: Failed to find table in metadata database
content:
application/json:
schema:
......@@ -878,8 +912,8 @@ paths:
in: path
required: true
schema:
type: integer
format: int64
type: string
format: uuid
- name: persisted
in: query
required: false
......@@ -892,13 +926,6 @@ paths:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"404":
description: Failed to find database in metadata database or query in query
store of the data database
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"200":
description: Found subsets
content:
......@@ -913,6 +940,13 @@ paths:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"404":
description: Failed to find database in metadata database or query in query
store of the data database
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
security:
- basicAuth: []
- bearerAuth: []
......@@ -924,14 +958,14 @@ paths:
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
at least read access is required.
operationId: create
operationId: create_1
parameters:
- name: databaseId
in: path
required: true
schema:
type: integer
format: int64
type: string
format: uuid
- name: timestamp
in: query
required: false
......@@ -954,23 +988,23 @@ paths:
content:
application/json:
schema:
$ref: "#/components/schemas/ExecuteStatementDto"
$ref: "#/components/schemas/SubsetDto"
required: true
responses:
"201":
description: Created subset
"417":
description: Failed to insert query into query store of data database
content:
application/json:
schema:
type: string
"503":
description: Failed to communicate with database
$ref: "#/components/schemas/ApiErrorDto"
"501":
description: Failed to execute query as it contains non-supported keywords
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"501":
description: Failed to execute query as it contains non-supported keywords
"503":
description: Failed to communicate with database
content:
application/json:
schema:
......@@ -988,14 +1022,14 @@ paths:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"400":
description: Malformed select query
"201":
description: Created subset
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"417":
description: Failed to insert query into query store of data database
type: string
"400":
description: Malformed select query
content:
application/json:
schema:
......@@ -1017,14 +1051,14 @@ paths:
in: path
required: true
schema:
type: integer
format: int64
type: string
format: uuid
- name: viewId
in: path
required: true
schema:
type: integer
format: int64
type: string
format: uuid
- name: timestamp
in: query
required: false
......@@ -1032,20 +1066,20 @@ paths:
type: string
format: date-time
responses:
"503":
description: Failed to establish connection with the metadata service
"404":
description: Failed to find view in metadata database or export dataset
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"403":
description: Export view data not allowed
"503":
description: Failed to establish connection with the metadata service
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"404":
description: Failed to find view in metadata database or export dataset
"403":
description: Export view data not allowed
content:
application/json:
schema:
......@@ -1080,14 +1114,14 @@ paths:
in: path
required: true
schema:
type: integer
format: int64
type: string
format: uuid
- name: tableId
in: path
required: true
schema:
type: integer
format: int64
type: string
format: uuid
- name: size
in: query
required: false
......@@ -1095,8 +1129,16 @@ paths:
type: integer
format: int64
responses:
"403":
description: Find table history not allowed
"200":
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:
application/json:
schema:
......@@ -1107,8 +1149,8 @@ paths:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"404":
description: Failed to find table history in data database
"403":
description: Find table history not allowed
content:
application/json:
schema:
......@@ -1119,14 +1161,6 @@ paths:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"200":
description: Found table history
content:
application/json:
schema:
type: array
items:
$ref: "#/components/schemas/TableHistoryDto"
security:
- basicAuth: []
- bearerAuth: []
......@@ -1144,14 +1178,14 @@ paths:
in: path
required: true
schema:
type: integer
format: int64
type: string
format: uuid
- name: tableId
in: path
required: true
schema:
type: integer
format: int64
type: string
format: uuid
- name: timestamp
in: query
required: false
......@@ -1159,25 +1193,12 @@ paths:
type: string
format: date-time
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"
"200":
description: Exported table data
content:
application/json:
schema:
type: string
format: binary
"404":
description: Failed to find table in metadata database
content:
......@@ -1190,6 +1211,19 @@ paths:
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"
"200":
description: Exported table data
content:
application/json:
schema:
type: string
format: binary
security:
- basicAuth: []
- bearerAuth: []
......@@ -1209,14 +1243,14 @@ paths:
in: path
required: true
schema:
type: integer
format: int64
type: string
format: uuid
- name: subsetId
in: path
required: true
schema:
type: integer
format: int64
type: string
format: uuid
- name: Accept
in: header
required: true
......@@ -1247,6 +1281,13 @@ paths:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"404":
description: Failed to find database in metadata database or query in query
store of the data database
content:
application/json:
schema:
$ref: "#/components/schemas/ApiErrorDto"
"200":
description: Found subset
content:
......@@ -1254,15 +1295,8 @@ paths:
schema:
$ref: "#/components/schemas/QueryDto"
text/csv: {}
"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"
"400":
description: Malformed select query
"400":
description: Malformed select query
content:
application/json:
schema:
......@@ -1395,9 +1429,9 @@ components:
type: object
properties:
id:
type: integer
format: int64
example: 11
type: string
format: uuid
example: e41f94a6-2b94-4a12-ac0e-678684e1c070
affiliation:
type: string
example: Brown University
......@@ -1435,6 +1469,7 @@ components:
required:
- creators
- database_id
- descriptions
- id
- owned_by
- publication_year
......@@ -1445,9 +1480,9 @@ components:
type: object
properties:
id:
type: integer
format: int64
example: 2
type: string
format: uuid
example: b97cd56b-66ca-4354-9e6c-f47210cfaaec
type:
type: string
example: database
......@@ -1464,6 +1499,10 @@ components:
type: array
items:
$ref: "#/components/schemas/IdentifierTitleDto"
descriptions:
type: array
items:
$ref: "#/components/schemas/IdentifierDescriptionDto"
doi:
type: string
example: 10.1038/nphys1170
......@@ -1477,21 +1516,18 @@ components:
- draft
- published
database_id:
type: integer
format: int64
example: 1
type: string
format: uuid
example: fc29f89c-86a8-4020-9e36-4d954736c6cc
query_id:
type: integer
format: int64
example: 1
type: string
format: uuid
table_id:
type: integer
format: int64
example: 1
type: string
format: uuid
view_id:
type: integer
format: int64
example: 1
type: string
format: uuid
publication_year:
type: integer
format: int32
......@@ -1500,15 +1536,225 @@ components:
type: string
format: uuid
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:
required:
- id
type: object
properties:
id:
type: integer
format: int64
example: 4
type: string
format: uuid
example: 70ce5164-fd74-413f-8712-f996b91defbf
title:
type: string
example: Airquality Demonstrator
......@@ -1721,9 +1967,9 @@ components:
type: object
properties:
id:
type: integer
format: int64
example: 4
type: string
format: uuid
example: 83ea2326-f8f6-4263-baf8-cdf88a54efc7
owner:
$ref: "#/components/schemas/UserBriefDto"
execution:
......@@ -1744,9 +1990,9 @@ components:
items:
$ref: "#/components/schemas/IdentifierBriefDto"
database_id:
type: integer
format: int64
example: 1
type: string
format: uuid
example: fc29f89c-86a8-4020-9e36-4d954736c6cc
query_normalized:
type: string
example: SELECT `id` FROM `air_quality`
......@@ -1792,15 +2038,647 @@ components:
family_name:
type: string
example: Carberry
TupleDto:
CreatorDto:
required:
- data
- creator_name
- id
type: object
properties:
data:
type: object
additionalProperties:
type: object
id:
type: string
format: uuid
example: e41f94a6-2b94-4a12-ac0e-678684e1c070
firstname:
type: string
example: Josiah
lastname:
type: string
example: Carberry
affiliation:
type: string
example: Brown University
creator_name:
type: string
example: "Carberry, Josiah"
name_type:
type: string
example: Personal
enum:
- Personal
- Organizational
name_identifier:
type: string
example: 0000-0002-1825-0097
name_identifier_scheme:
type: string
example: ORCID
enum:
- ORCID
- ROR
- ISNI
- GRID
name_identifier_scheme_uri:
type: string
example: https://orcid.org/
affiliation_identifier:
type: string
example: https://ror.org/05gq02987
affiliation_identifier_scheme:
type: string
example: ROR
enum:
- ROR
- GRID
- ISNI
affiliation_identifier_scheme_uri:
type: string
example: https://ror.org/
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:
......@@ -1829,14 +2707,72 @@ components:
line_termination:
type: string
example: \r\n
ExecuteStatementDto:
FilterDto:
required:
- statement
- column_id
- operator_id
- type
- value
type: object
properties:
statement:
type:
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:
required:
- event
......@@ -1850,6 +2786,10 @@ components:
example: 2021-03-12T15:26:21Z
event:
type: string
example: INSERT
enum:
- insert
- delete
total:
type: integer
format: int64
......
Source diff could not be displayed: it is too large. Options to address this: view the blob.
......@@ -11,7 +11,7 @@ components:
type: http
externalDocs:
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:
contact:
email: andreas.rauber@tuwien.ac.at
......@@ -24,7 +24,7 @@ info:
name: Apache 2.0
url: https://www.apache.org/licenses/LICENSE-2.0
title: DBRepo REST API
version: 1.6.5
version: 1.7.0
openapi: 3.1.0
servers:
- description: Test Instance
......
......@@ -16,7 +16,7 @@ info:
name: Apache 2.0
url: 'https://www.apache.org/licenses/LICENSE-2.0'
title: DBRepo REST API
version: 1.6.2
version: 1.7.0
servers:
- description: Test Instance
url: 'https://test.dbrepo.tuwien.ac.at'
......@@ -24,7 +24,7 @@ servers:
url: 'http://localhost'
externalDocs:
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:
/api/analyse/datatypes:
get:
......@@ -153,22 +153,21 @@ paths:
summary: Get view data
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
`view-database-view-data`.
needs at least *READ* access to the associated database.
operationId: getData
parameters:
- name: databaseId
in: path
required: true
schema:
type: integer
format: int64
type: string
format: uuid
- name: viewId
in: path
required: true
schema:
type: integer
format: int64
type: string
format: uuid
- name: page
in: query
required: false
......@@ -242,22 +241,21 @@ paths:
summary: Get view data
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
`view-database-view-data`.
needs at least *READ* access to the associated database.
operationId: getData_1
parameters:
- name: databaseId
in: path
required: true
schema:
type: integer
format: int64
type: string
format: uuid
- name: viewId
in: path
required: true
schema:
type: integer
format: int64
type: string
format: uuid
- name: page
in: query
required: false
......@@ -341,14 +339,14 @@ paths:
in: path
required: true
schema:
type: integer
format: int64
type: string
format: uuid
- name: tableId
in: path
required: true
schema:
type: integer
format: int64
type: string
format: uuid
- name: timestamp
in: query
required: false
......@@ -424,14 +422,14 @@ paths:
in: path
required: true
schema:
type: integer
format: int64
type: string
format: uuid
- name: tableId
in: path
required: true
schema:
type: integer
format: int64
type: string
format: uuid
- name: Authorization
in: header
required: true
......@@ -487,14 +485,14 @@ paths:
in: path
required: true
schema:
type: integer
format: int64
type: string
format: uuid
- name: tableId
in: path
required: true
schema:
type: integer
format: int64
type: string
format: uuid
- name: Authorization
in: header
required: true
......@@ -552,14 +550,14 @@ paths:
in: path
required: true
schema:
type: integer
format: int64
type: string
format: uuid
- name: tableId
in: path
required: true
schema:
type: integer
format: int64
type: string
format: uuid
- name: Authorization
in: header
required: true
......@@ -616,14 +614,14 @@ paths:
in: path
required: true
schema:
type: integer
format: int64
type: string
format: uuid
- name: tableId
in: path
required: true
schema:
type: integer
format: int64
type: string
format: uuid
- name: timestamp
in: query
required: false
......@@ -702,14 +700,14 @@ paths:
in: path
required: true
schema:
type: integer
format: int64
type: string
format: uuid
- name: subsetId
in: path
required: true
schema:
type: integer
format: int64
type: string
format: uuid
- name: timestamp
in: query
required: false
......@@ -795,14 +793,14 @@ paths:
in: path
required: true
schema:
type: integer
format: int64
type: string
format: uuid
- name: subsetId
in: path
required: true
schema:
type: integer
format: int64
type: string
format: uuid
- name: timestamp
in: query
required: false
......@@ -884,14 +882,14 @@ paths:
in: path
required: true
schema:
type: integer
format: int64
type: string
format: uuid
- name: queryId
in: path
required: true
schema:
type: integer
format: int64
type: string
format: uuid
requestBody:
content:
application/json:
......@@ -940,6 +938,43 @@ paths:
security:
- bearerAuth: []
- 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':
post:
tags:
......@@ -956,14 +991,14 @@ paths:
in: path
required: true
schema:
type: integer
format: int64
type: string
format: uuid
- name: tableId
in: path
required: true
schema:
type: integer
format: int64
type: string
format: uuid
- name: Authorization
in: header
required: true
......@@ -1022,8 +1057,8 @@ paths:
in: path
required: true
schema:
type: integer
format: int64
type: string
format: uuid
- name: persisted
in: query
required: false
......@@ -1070,14 +1105,14 @@ paths:
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 at least read access is required.
operationId: create
operationId: create_1
parameters:
- name: databaseId
in: path
required: true
schema:
type: integer
format: int64
type: string
format: uuid
- name: timestamp
in: query
required: false
......@@ -1100,7 +1135,7 @@ paths:
content:
application/json:
schema:
$ref: '#/components/schemas/ExecuteStatementDto'
$ref: '#/components/schemas/SubsetDto'
required: true
responses:
'201':
......@@ -1165,14 +1200,14 @@ paths:
in: path
required: true
schema:
type: integer
format: int64
type: string
format: uuid
- name: viewId
in: path
required: true
schema:
type: integer
format: int64
type: string
format: uuid
- name: timestamp
in: query
required: false
......@@ -1229,14 +1264,14 @@ paths:
in: path
required: true
schema:
type: integer
format: int64
type: string
format: uuid
- name: tableId
in: path
required: true
schema:
type: integer
format: int64
type: string
format: uuid
- name: size
in: query
required: false
......@@ -1294,14 +1329,14 @@ paths:
in: path
required: true
schema:
type: integer
format: int64
type: string
format: uuid
- name: tableId
in: path
required: true
schema:
type: integer
format: int64
type: string
format: uuid
- name: timestamp
in: query
required: false
......@@ -1360,14 +1395,14 @@ paths:
in: path
required: true
schema:
type: integer
format: int64
type: string
format: uuid
- name: subsetId
in: path
required: true
schema:
type: integer
format: int64
type: string
format: uuid
- name: Accept
in: header
required: true
......@@ -1422,95 +1457,227 @@ paths:
security:
- basicAuth: []
- bearerAuth: []
/api/database:
'/api/user/{userId}':
get:
tags:
- database-endpoint
summary: List databases
- user-endpoint
summary: Get user
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
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
parameters:
- name: internal_name
in: query
required: false
- name: userId
in: path
required: true
schema:
type: string
format: uuid
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
description: Found user
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/DatabaseBriefDto'
post:
$ref: '#/components/schemas/UserDto'
'403':
description: Find user is not permitted
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorDto'
'404':
description: User was not found
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorDto'
security:
- bearerAuth: []
- basicAuth: []
put:
tags:
- database-endpoint
summary: Create database
description: >-
Creates a database in the container with id. Requires roles
`create-database`.
operationId: create_5
- user-endpoint
summary: Update user
description: Updates user with id. Requires role `modify-user-information`.
operationId: modify
parameters:
- name: userId
in: path
required: true
schema:
type: string
format: uuid
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateDatabaseDto'
$ref: '#/components/schemas/UserUpdateDto'
required: true
responses:
'201':
description: Created a new database
'202':
description: Modified user information
content:
application/json:
schema:
$ref: '#/components/schemas/DatabaseBriefDto'
$ref: '#/components/schemas/UserDto'
'400':
description: Database create query is malformed or image is not supported
description: Modify user query is malformed
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorDto'
'403':
description: >-
Database create permission is missing or grant permissions at broker
service failed
description: Not allowed to modify user metadata
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
description: Failed to find database/user in metadata database
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorDto'
'423':
description: Database quota exceeded
'503':
description: Failed to modify user at auth service
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorDto'
'502':
description: Connection to search service failed
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:
application/json:
schema:
......@@ -1568,14 +1735,14 @@ paths:
with HTTP method **HEAD** only the status. When the user has at least
*READ* access, the status 200 is returned, 403 otherwise. Requires role
`check-database-access` or `check-foreign-database-access`.
operationId: find
operationId: find_2
parameters:
- name: databaseId
in: path
required: true
schema:
type: integer
format: int64
type: string
format: uuid
- name: userId
in: path
required: true
......@@ -1617,8 +1784,8 @@ paths:
in: path
required: true
schema:
type: integer
format: int64
type: string
format: uuid
- name: userId
in: path
required: true
......@@ -1678,14 +1845,14 @@ paths:
description: >-
Give a user with given id access to some database with given id.
Requires role `create-database-access`.
operationId: create_8
operationId: create_7
parameters:
- name: databaseId
in: path
required: true
schema:
type: integer
format: int64
type: string
format: uuid
- name: userId
in: path
required: true
......@@ -1751,8 +1918,8 @@ paths:
in: path
required: true
schema:
type: integer
format: int64
type: string
format: uuid
- name: userId
in: path
required: true
......@@ -1805,14 +1972,14 @@ paths:
with HTTP method **HEAD** only the status. When the user has at least
*READ* access, the status 200 is returned, 403 otherwise. Requires role
`check-database-access` or `check-foreign-database-access`.
operationId: find_1
operationId: find_3
parameters:
- name: databaseId
in: path
required: true
schema:
type: integer
format: int64
type: string
format: uuid
- name: userId
in: path
required: true
......@@ -1841,19 +2008,15 @@ paths:
security:
- bearerAuth: []
- basicAuth: []
'/api/user/{userId}':
'/api/ontology/{ontologyId}':
get:
tags:
- user-endpoint
summary: Get user
description: >-
Gets own user information from the metadata database. Requires
authentication. Foreign user information can only be obtained if
additional role `find-foreign-user` is present. Finding information
about internal users results in a 404 error.
operationId: find_2
- ontology-endpoint
summary: Find ontology
description: Finds an ontology with id in the metadata database.
operationId: find_4
parameters:
- name: userId
- name: ontologyId
in: path
required: true
schema:
......@@ -1861,34 +2024,25 @@ paths:
format: uuid
responses:
'200':
description: Found user
content:
application/json:
schema:
$ref: '#/components/schemas/UserDto'
'403':
description: Find user is not permitted
description: Find one ontology
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorDto'
$ref: '#/components/schemas/OntologyDto'
'404':
description: User was not found
description: Could not find ontology
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorDto'
security:
- bearerAuth: []
- basicAuth: []
put:
tags:
- user-endpoint
summary: Update user
description: Updates user with id. Requires role `modify-user-information`.
operationId: modify
- ontology-endpoint
summary: Update ontology
description: Updates an ontology with id. Requires role `update-ontology`.
operationId: update
parameters:
- name: userId
- name: ontologyId
in: path
required: true
schema:
......@@ -1898,29 +2052,44 @@ paths:
content:
application/json:
schema:
$ref: '#/components/schemas/UserUpdateDto'
$ref: '#/components/schemas/OntologyModifyDto'
required: true
responses:
'202':
description: Modified user information
description: Updated ontology successfully
content:
application/json:
schema:
$ref: '#/components/schemas/UserDto'
'400':
description: Modify user query is malformed
$ref: '#/components/schemas/OntologyDto'
'404':
description: Could not find ontology
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorDto'
'403':
description: Not allowed to modify user metadata
content:
application/json:
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:
$ref: '#/components/schemas/ApiErrorDto'
type: string
format: uuid
responses:
'202':
description: Deleted ontology successfully
content:
application/json: {}
'404':
description: Failed to find database/user in metadata database
description: Could not find ontology
content:
application/json:
schema:
......@@ -1928,15 +2097,15 @@ paths:
security:
- bearerAuth: []
- basicAuth: []
'/api/user/{userId}/password':
'/api/message/{messageId}':
put:
tags:
- user-endpoint
summary: Update user password
description: Updates password of user with id. Requires authentication.
operationId: password
- message-endpoint
summary: Update message
description: Updates a message with id. Requires role `update-maintenance-message`.
operationId: update_1
parameters:
- name: userId
- name: messageId
in: path
required: true
schema:
......@@ -1946,257 +2115,17 @@ paths:
content:
application/json:
schema:
$ref: '#/components/schemas/UserPasswordDto'
$ref: '#/components/schemas/BannerMessageUpdateDto'
required: true
responses:
'202':
description: Modified user password
'400':
description: Invalid password payload
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorDto'
'403':
description: Not allowed to change foreign user password
description: Updated message
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorDto'
$ref: '#/components/schemas/BannerMessageBriefDto'
'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
description: Could not find message
content:
application/json:
schema:
......@@ -2215,8 +2144,8 @@ paths:
in: path
required: true
schema:
type: integer
format: int64
type: string
format: uuid
responses:
'202':
description: Deleted message
......@@ -2243,8 +2172,8 @@ paths:
in: path
required: true
schema:
type: integer
format: int64
type: string
format: uuid
responses:
'200':
description: Found image
......@@ -2271,8 +2200,8 @@ paths:
in: path
required: true
schema:
type: integer
format: int64
type: string
format: uuid
requestBody:
content:
application/json:
......@@ -2308,8 +2237,8 @@ paths:
in: path
required: true
schema:
type: integer
format: int64
type: string
format: uuid
responses:
'202':
description: Deleted image successfully
......@@ -2330,14 +2259,14 @@ paths:
description: >-
Finds an identifier with id. The response format depends on the HTTP
`Accept` header set on the request.
operationId: find_6
operationId: find_7
parameters:
- name: identifierId
in: path
required: true
schema:
type: integer
format: int64
type: string
format: uuid
- name: Accept
in: header
required: true
......@@ -2365,6 +2294,12 @@ paths:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorDto'
'403':
description: Not allowed to view identifier
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorDto'
'404':
description: Identifier could not be found
content:
......@@ -2416,8 +2351,8 @@ paths:
in: path
required: true
schema:
type: integer
format: int64
type: string
format: uuid
requestBody:
content:
application/json:
......@@ -2475,8 +2410,8 @@ paths:
in: path
required: true
schema:
type: integer
format: int64
type: string
format: uuid
responses:
'202':
description: Deleted identifier
......@@ -2521,8 +2456,8 @@ paths:
in: path
required: true
schema:
type: integer
format: int64
type: string
format: uuid
responses:
'202':
description: Published identifier
......@@ -2577,8 +2512,8 @@ paths:
in: path
required: true
schema:
type: integer
format: int64
type: string
format: uuid
requestBody:
content:
application/json:
......@@ -2631,48 +2566,23 @@ paths:
- view-endpoint
summary: Get view
description: Gets a view with id in the metadata database.
operationId: find_7
operationId: find_8
parameters:
- name: databaseId
in: path
required: true
schema:
type: integer
format: int64
type: string
format: uuid
- name: viewId
in: path
required: true
schema:
type: integer
format: int64
responses:
type: string
format: uuid
responses:
'200':
description: Find view successfully
headers:
X-Username:
description: The authentication username
style: simple
Access-Control-Expose-Headers:
description: Expose custom headers
style: simple
X-Type:
description: The JDBC connection type
style: simple
X-View:
description: The view internal name
style: simple
X-Database:
description: The database internal name
style: simple
X-Password:
description: The authentication password
style: simple
X-Host:
description: The database hostname
style: simple
X-Port:
description: The database port number
style: simple
content:
application/json:
schema:
......@@ -2705,14 +2615,14 @@ paths:
in: path
required: true
schema:
type: integer
format: int64
type: string
format: uuid
- name: viewId
in: path
required: true
schema:
type: integer
format: int64
type: string
format: uuid
requestBody:
content:
application/json:
......@@ -2770,14 +2680,14 @@ paths:
in: path
required: true
schema:
type: integer
format: int64
type: string
format: uuid
- name: viewId
in: path
required: true
schema:
type: integer
format: int64
type: string
format: uuid
responses:
'202':
description: Delete view successfully
......@@ -2836,27 +2746,17 @@ paths:
in: path
required: true
schema:
type: integer
format: int64
type: string
format: uuid
- name: tableId
in: path
required: true
schema:
type: integer
format: int64
type: string
format: uuid
responses:
'200':
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:
application/json:
schema:
......@@ -2873,18 +2773,6 @@ paths:
application/json:
schema:
$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:
- bearerAuth: []
- basicAuth: []
......@@ -2899,14 +2787,14 @@ paths:
in: path
required: true
schema:
type: integer
format: int64
type: string
format: uuid
- name: tableId
in: path
required: true
schema:
type: integer
format: int64
type: string
format: uuid
requestBody:
content:
application/json:
......@@ -2967,14 +2855,14 @@ paths:
in: path
required: true
schema:
type: integer
format: int64
type: string
format: uuid
- name: tableId
in: path
required: true
schema:
type: integer
format: int64
type: string
format: uuid
responses:
'202':
description: Delete table successfully
......@@ -3026,14 +2914,14 @@ paths:
in: path
required: true
schema:
type: integer
format: int64
type: string
format: uuid
- name: tableId
in: path
required: true
schema:
type: integer
format: int64
type: string
format: uuid
responses:
'202':
description: Updated table statistics successfully
......@@ -3086,20 +2974,20 @@ paths:
in: path
required: true
schema:
type: integer
format: int64
type: string
format: uuid
- name: tableId
in: path
required: true
schema:
type: integer
format: int64
type: string
format: uuid
- name: columnId
in: path
required: true
schema:
type: integer
format: int64
type: string
format: uuid
requestBody:
content:
application/json:
......@@ -3162,8 +3050,8 @@ paths:
in: path
required: true
schema:
type: integer
format: int64
type: string
format: uuid
requestBody:
content:
application/json:
......@@ -3225,8 +3113,8 @@ paths:
in: path
required: true
schema:
type: integer
format: int64
type: string
format: uuid
responses:
'200':
description: Refreshed database views metadata
......@@ -3276,8 +3164,8 @@ paths:
in: path
required: true
schema:
type: integer
format: int64
type: string
format: uuid
responses:
'200':
description: Refreshed database tables metadata
......@@ -3298,7 +3186,7 @@ paths:
schema:
$ref: '#/components/schemas/ApiErrorDto'
'404':
description: Failed to fin user/database in metadata database
description: Failed to find database in metadata database
content:
application/json:
schema:
......@@ -3330,8 +3218,8 @@ paths:
in: path
required: true
schema:
type: integer
format: int64
type: string
format: uuid
responses:
'200':
description: View of image was successful
......@@ -3364,8 +3252,8 @@ paths:
in: path
required: true
schema:
type: integer
format: int64
type: string
format: uuid
requestBody:
content:
application/json:
......@@ -3412,93 +3300,6 @@ paths:
security:
- bearerAuth: []
- basicAuth: []
/api/user:
get:
tags:
- user-endpoint
summary: List users
description: >-
Lists users known to the metadata database. Internal users are omitted
from the result list. If the optional query parameter `username` is
present, the result list can be filtered by matching this exact
username.
operationId: findAll
parameters:
- name: username
in: query
required: false
schema:
type: string
responses:
'200':
description: List users
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/UserBriefDto'
post:
tags:
- user-endpoint
summary: Create user
description: >-
Creates a user in the auth service and metadata database. Requires that
no credentials are sent in the request.
operationId: 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:
get:
tags:
......@@ -3522,7 +3323,7 @@ paths:
description: >-
Creates an ontology in the metadata database. Requires role
`create-ontology`.
operationId: create_1
operationId: create1
requestBody:
content:
application/json:
......@@ -3573,7 +3374,7 @@ paths:
description: >-
Creates a message in the metadata database. Requires role
`create-maintenance-message`.
operationId: create_2
operationId: create_11
requestBody:
content:
application/json:
......@@ -3613,7 +3414,7 @@ paths:
description: >-
Creates a container image in the metadata database. Requires role
`create-image`.
operationId: create_3
operationId: create_2
requestBody:
content:
application/json:
......@@ -3650,30 +3451,48 @@ paths:
description: Lists all identifiers known to the metadata database
operationId: findAll_4
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
in: query
required: false
schema:
type: integer
format: int64
type: string
format: uuid
- name: qid
in: query
required: false
schema:
type: integer
format: int64
type: string
format: uuid
- name: vid
in: query
required: false
schema:
type: integer
format: int64
type: string
format: uuid
- name: tid
in: query
required: false
schema:
type: integer
format: int64
type: string
format: uuid
- name: Accept
in: header
required: true
......@@ -3693,12 +3512,6 @@ paths:
type: array
items:
$ref: '#/components/schemas/LdDatasetDto'
'406':
description: 'Identifier could not be exported, the requested style is not known'
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorDto'
post:
tags:
- identifier-endpoint
......@@ -3708,7 +3521,7 @@ paths:
can only be created for objects the user has at least *READ* access in
the associated database (requires role `create-identifier`) or for any
object in any database (requires role `create-foreign-identifier`).
operationId: create_4
operationId: create_3
requestBody:
content:
application/json:
......@@ -3767,8 +3580,8 @@ paths:
in: path
required: true
schema:
type: integer
format: int64
type: string
format: uuid
responses:
'200':
description: Find views successfully
......@@ -3794,14 +3607,14 @@ paths:
description: >-
Creates a view. This can only be performed by the database owner.
Requires role `create-database-view`.
operationId: create_6
operationId: create_5
parameters:
- name: databaseId
in: path
required: true
schema:
type: integer
format: int64
type: string
format: uuid
requestBody:
content:
application/json:
......@@ -3833,6 +3646,12 @@ paths:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorDto'
'409':
description: View exists with name
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorDto'
'423':
description: Create view resulted in an invalid query statement
content:
......@@ -3869,8 +3688,8 @@ paths:
in: path
required: true
schema:
type: integer
format: int64
type: string
format: uuid
responses:
'200':
description: List tables
......@@ -3900,14 +3719,14 @@ paths:
- table-endpoint
summary: Create table
description: Creates a table in the database with id. Requires role `create-table`.
operationId: create_7
operationId: create_6
parameters:
- name: databaseId
in: path
required: true
schema:
type: integer
format: int64
type: string
format: uuid
requestBody:
content:
application/json:
......@@ -3990,7 +3809,7 @@ paths:
description: >-
Creates a container in the metadata database. Requires role
`create-container`.
operationId: create_9
operationId: create_8
requestBody:
content:
application/json:
......@@ -4031,6 +3850,32 @@ paths:
security:
- bearerAuth: []
- basicAuth: []
/api/user:
get:
tags:
- user-endpoint
summary: List users
description: >-
Lists users known to the metadata database. Internal users are omitted
from the result list. If the optional query parameter `username` is
present, the result list can be filtered by matching this exact
username.
operationId: findAll
parameters:
- name: username
in: query
required: false
schema:
type: string
responses:
'200':
description: List users
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/UserBriefDto'
/api/unit:
get:
tags:
......@@ -4055,14 +3900,14 @@ paths:
description: >-
Finds semantic entities by label or uri in an ontology with id. Requires
role `execute-semantic-query`.
operationId: find_4
operationId: find_5
parameters:
- name: ontologyId
in: path
required: true
schema:
type: integer
format: int64
type: string
format: uuid
- name: label
in: query
required: false
......@@ -4134,14 +3979,14 @@ paths:
- message-endpoint
summary: Find message
description: Finds a message with id in the metadata database.
operationId: find_5
operationId: find_6
parameters:
- name: messageId
in: path
required: true
schema:
type: integer
format: int64
type: string
format: uuid
responses:
'200':
description: Get messages
......@@ -4211,8 +4056,8 @@ paths:
in: path
required: true
schema:
type: integer
format: int64
type: string
format: uuid
responses:
'200':
description: Database found successfully
......@@ -4237,19 +4082,7 @@ paths:
schema:
$ref: '#/components/schemas/ApiErrorDto'
'404':
description: 'Database, user or exchange 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
description: Database could not be found
content:
application/json:
schema:
......@@ -4271,14 +4104,14 @@ paths:
in: path
required: true
schema:
type: integer
format: int64
type: string
format: uuid
- name: tableId
in: path
required: true
schema:
type: integer
format: int64
type: string
format: uuid
responses:
'200':
description: Suggested table semantics successfully
......@@ -4333,20 +4166,20 @@ paths:
in: path
required: true
schema:
type: integer
format: int64
type: string
format: uuid
- name: tableId
in: path
required: true
schema:
type: integer
format: int64
type: string
format: uuid
- name: columnId
in: path
required: true
schema:
type: integer
format: int64
type: string
format: uuid
responses:
'200':
description: Suggested table column semantics successfully
......@@ -4389,8 +4222,8 @@ paths:
in: path
required: true
schema:
type: integer
format: int64
type: string
format: uuid
responses:
'200':
description: Found container
......@@ -4417,8 +4250,8 @@ paths:
in: path
required: true
schema:
type: integer
format: int64
type: string
format: uuid
responses:
'202':
description: Deleted container
......@@ -4826,9 +4659,9 @@ components:
type: object
properties:
id:
type: integer
format: int64
example: 11
type: string
format: uuid
example: e41f94a6-2b94-4a12-ac0e-678684e1c070
affiliation:
type: string
example: Brown University
......@@ -4866,6 +4699,7 @@ components:
required:
- creators
- database_id
- descriptions
- id
- owned_by
- publication_year
......@@ -4876,9 +4710,9 @@ components:
type: object
properties:
id:
type: integer
format: int64
example: 2
type: string
format: uuid
example: b97cd56b-66ca-4354-9e6c-f47210cfaaec
type:
type: string
example: database
......@@ -4895,6 +4729,10 @@ components:
type: array
items:
$ref: '#/components/schemas/IdentifierTitleDto'
descriptions:
type: array
items:
$ref: '#/components/schemas/IdentifierDescriptionDto'
doi:
type: string
example: 10.1038/nphys1170
......@@ -4908,21 +4746,18 @@ components:
- draft
- published
database_id:
type: integer
format: int64
example: 1
type: string
format: uuid
example: fc29f89c-86a8-4020-9e36-4d954736c6cc
query_id:
type: integer
format: int64
example: 1
type: string
format: uuid
table_id:
type: integer
format: int64
example: 1
type: string
format: uuid
view_id:
type: integer
format: int64
example: 1
type: string
format: uuid
publication_year:
type: integer
format: int32
......@@ -4931,18 +4766,18 @@ components:
type: string
format: uuid
example: 2f45ef7a-7f9b-4667-9156-152c87fe1ca5
IdentifierTitleDto:
IdentifierDescriptionDto:
required:
- id
type: object
properties:
id:
type: integer
format: int64
example: 4
title:
type: string
example: Airquality Demonstrator
format: uuid
example: e0e9692c-910b-4b60-b53a-fc7c358a917d
description:
type: string
example: 'Air quality reports at Stephansplatz, Vienna'
language:
type: string
example: en
......@@ -5133,298 +4968,297 @@ components:
- zu
type:
type: string
example: Abstract
enum:
- AlternativeTitle
- Subtitle
- TranslatedTitle
- Abstract
- Methods
- SeriesInformation
- TableOfContents
- TechnicalInfo
- Other
QueryDto:
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:
IdentifierTitleDto:
required:
- id
- username
type: object
properties:
id:
type: string
format: uuid
example: 1ffc7b0e-9aeb-4e8b-b8f1-68f3936155b4
username:
type: string
description: Only contains lowercase characters
example: jcarberry
name:
type: string
example: Josiah Carberry
orcid:
type: string
example: 0000-0002-1825-0097
qualified_name:
type: string
example: Josiah Carberry — @jcarberry
given_name:
type: string
example: Josiah
family_name:
type: string
example: Carberry
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:
example: 70ce5164-fd74-413f-8712-f996b91defbf
title:
type: string
example: file.csv
header:
type: boolean
description: >-
If true, the first line contains the column names, otherwise it
contains only data
example: true
separator:
example: Airquality Demonstrator
language:
type: string
example: ','
quote:
type: string
example: '"'
line_termination:
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: \r\n
ExecuteStatementDto:
enum:
- AlternativeTitle
- Subtitle
- TranslatedTitle
- Other
QueryDto:
required:
- statement
- database_id
- execution
- id
- identifiers
- is_persisted
- owner
- query
- query_hash
- query_normalized
type: object
properties:
statement:
id:
type: string
example: SELECT `id` FROM `air_quality`
TableHistoryDto:
required:
- event
- timestamp
- total
type: object
properties:
timestamp:
format: uuid
example: 83ea2326-f8f6-4263-baf8-cdf88a54efc7
owner:
$ref: '#/components/schemas/UserBriefDto'
execution:
type: string
format: date-time
example: '2021-03-12T15:26:21.000Z'
event:
query:
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
format: int64
example: 1
TupleDeleteDto:
UserBriefDto:
required:
- keys
type: object
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
- id
- 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:
description: Only contains lowercase characters
example: jcarberry
name:
type: string
example: p4ssw0rd
attributes:
$ref: '#/components/schemas/UserAttributesDto'
last_retrieved:
example: Josiah Carberry
orcid:
type: string
format: date-time
example: 0000-0002-1825-0097
qualified_name:
type: string
example: Josiah Carberry — @jcarberry
......@@ -5434,356 +5268,122 @@ components:
family_name:
type: string
example: Carberry
UserPasswordDto:
CreatorDto:
required:
- password
- creator_name
- id
type: object
properties:
password:
id:
type: string
RefreshTokenRequestDto:
required:
- refresh_token
type: object
properties:
refresh_token:
format: uuid
example: e41f94a6-2b94-4a12-ac0e-678684e1c070
firstname:
type: string
example: refresh_token
TokenDto:
required:
- access_token
- expires_in
- id_token
- not-before-policy
- refresh_expires_in
- refresh_token
- scope
- session_state
- token_type
type: object
properties:
scope:
example: Josiah
lastname:
type: string
access_token:
example: Carberry
affiliation:
type: string
expires_in:
type: integer
format: int64
refresh_token:
example: Brown University
creator_name:
type: string
refresh_expires_in:
type: integer
format: int64
id_token:
example: 'Carberry, Josiah'
name_type:
type: string
session_state:
example: Personal
enum:
- Personal
- Organizational
name_identifier:
type: string
token_type:
example: 0000-0002-1825-0097
name_identifier_scheme:
type: string
not-before-policy:
type: integer
format: int64
OntologyModifyDto:
required:
- prefix
- uri
type: object
properties:
uri:
example: ORCID
enum:
- ORCID
- ROR
- ISNI
- GRID
name_identifier_scheme_uri:
type: string
example: Ontology URI
prefix:
example: 'https://orcid.org/'
affiliation_identifier:
type: string
example: Ontology prefix
sparql_endpoint:
example: 'https://ror.org/05gq02987'
affiliation_identifier_scheme:
type: string
example: Ontology SPARQL endpoint
rdf_path:
example: ROR
enum:
- ROR
- GRID
- ISNI
affiliation_identifier_scheme_uri:
type: string
example: rdf/om-2.0.rdf
OntologyDto:
example: 'https://ror.org/'
IdentifierDto:
required:
- creators
- database_id
- descriptions
- funders
- id
- prefix
- rdf
- sparql
- uri
- language
- licenses
- owner
- publication_year
- publisher
- query
- query_hash
- query_normalized
- status
- titles
- type
type: object
properties:
id:
type: integer
format: int64
uri:
type: string
example: 'http://www.wikidata.org/'
prefix:
type: string
example: wd
sparql:
type: boolean
example: true
rdf:
type: boolean
example: false
uri_pattern:
type: string
example: 'http://www.wikidata.org/entity/.*'
sparql_endpoint:
type: string
example: 'https://query.wikidata.org/sparql'
rdf_path:
type: string
example: rdf/om-2.0.rdf
BannerMessageUpdateDto:
required:
- message
- type
type: object
properties:
format: uuid
example: b97cd56b-66ca-4354-9e6c-f47210cfaaec
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: 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
example: database
enum:
- database
- subset
- table
- view
doi:
type: string
example: 10.1111/11111111
titles:
type: array
items:
$ref: '#/components/schemas/SaveIdentifierTitleDto'
$ref: '#/components/schemas/IdentifierTitleDto'
descriptions:
type: array
items:
$ref: '#/components/schemas/SaveIdentifierDescriptionDto'
$ref: '#/components/schemas/IdentifierDescriptionDto'
funders:
type: array
items:
$ref: '#/components/schemas/SaveIdentifierFunderDto'
licenses:
type: array
items:
$ref: '#/components/schemas/LicenseDto'
$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:21.000Z'
doi:
type: string
example: 10.1038/nphys1170
publisher:
type: string
example: TU Wien
owner:
$ref: '#/components/schemas/UserBriefDto'
language:
type: string
enum:
......@@ -5971,23 +5571,51 @@ components:
- yo
- za
- zu
licenses:
type: array
items:
$ref: '#/components/schemas/LicenseDto'
creators:
type: array
items:
$ref: '#/components/schemas/SaveIdentifierCreatorDto'
$ref: '#/components/schemas/CreatorDto'
status:
type: string
example: draft
enum:
- draft
- published
database_id:
type: integer
format: int64
example: 1
type: string
format: uuid
query_id:
type: integer
format: int64
view_id:
type: integer
format: int64
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
......@@ -6000,10 +5628,40 @@ components:
type: integer
format: int32
example: 2022
related_identifiers:
type: array
items:
$ref: '#/components/schemas/SaveRelatedIdentifierDto'
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
......@@ -6023,316 +5681,791 @@ components:
preservation of copyright and license notices. Licensed works,
modifications, and larger works may be distributed under different
terms and without source code.
SaveIdentifierCreatorDto:
RelatedIdentifierDto:
required:
- creator_name
- id
- relation
- type
- value
type: object
properties:
id:
type: integer
format: int64
example: 1
firstname:
type: string
example: Josiah
lastname:
type: string
example: Carberry
affiliation:
type: string
example: Wesleyan University
creator_name:
type: string
example: 'Carberry, Josiah'
name_type:
type: string
example: Personal
enum:
- Personal
- Organizational
name_identifier:
format: uuid
example: ce9d11f0-60a2-448d-a3e4-44719a443e8a
value:
type: string
example: 0000-0002-1825-0097
name_identifier_scheme:
example: 10.70124/dc4zh-9ce78
type:
type: string
example: ORCID
example: DOI
enum:
- ORCID
- ROR
- ISNI
- GRID
affiliation_identifier:
type: string
example: 'https://ror.org/04d836q62'
affiliation_identifier_scheme:
- DOI
- URL
- URN
- ARK
- arXiv
- bibcode
- EAN13
- EISSN
- Handle
- IGSN
- ISBN
- ISTC
- LISSN
- LSID
- PMID
- PURL
- UPC
- w3id
relation:
type: string
example: ROR
example: Cites
enum:
- ROR
- GRID
- ISNI
SaveIdentifierDescriptionDto:
- 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:
- description
- 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: 1
example: 255
d:
type: integer
format: int64
example: 0
description:
maxLength: 2048
minLength: 0
type: string
example: 'Air quality reports at Stephansplatz, Vienna'
language:
example: Column comment
database_id:
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:
- 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
- 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
properties:
location:
type: string
example: file.csv
header:
type: boolean
description: >-
If true, the first line contains the column names, otherwise it
contains only data
example: true
separator:
type: string
example: ','
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
- 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:
required:
- event
- timestamp
- total
type: object
properties:
timestamp:
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
- 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
- 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: string
example: Abstract
enum:
- Abstract
- Methods
- SeriesInformation
- TableOfContents
- TechnicalInfo
- Other
SaveIdentifierFunderDto:
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:
- funder_name
- 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: int64
example: 1
funder_name:
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: European Commission
funder_identifier:
example: 'e.g. HH:MM:SS, HH:MM, HHMMSS, H:M:S'
type_hint:
type: string
example: 'http://doi.org/10.13039/501100000780'
funder_identifier_type:
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
- id
- name
- operators
- version
type: object
properties:
id:
type: string
example: Crossref Funder ID
enum:
- Crossref Funder ID
- ROR
- GND
- ISNI
- Other
scheme_uri:
format: uuid
example: 816f55d5-1098-4f60-a4af-c8121c04dcce
name:
type: string
example: 'http://doi.org/'
award_number:
example: mariadb
version:
type: string
example: '824087'
award_title:
example: '10.5'
operators:
type: array
items:
$ref: '#/components/schemas/OperatorDto'
default:
type: boolean
example: false
data_types:
type: array
items:
$ref: '#/components/schemas/DataTypeDto'
OperatorDto:
required:
- display_name
- documentation
- id
- value
type: object
properties:
id:
type: string
example: EOSC-Life
SaveIdentifierTitleDto:
format: uuid
example: 816f55d5-1098-4f60-a4af-c8121c04dccf
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
- title
- publication_year
- publisher
- titles
- type
type: object
properties:
id:
type: integer
format: int64
example: 1
title:
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:
type: string
example: en
enum:
- ab
- aa
......@@ -6514,103 +6647,52 @@ components:
- fy
- wo
- xh
- yi
- yo
- za
- zu
type:
type: string
example: Subtitle
enum:
- AlternativeTitle
- Subtitle
- TranslatedTitle
- Other
SaveRelatedIdentifierDto:
required:
- id
- relation
- type
- value
type: object
properties:
id:
type: integer
format: int64
example: 1
value:
type: string
example: 10.70124/dc4zh-9ce78
type:
type: string
example: DOI
enum:
- DOI
- URL
- URN
- ARK
- arXiv
- bibcode
- EAN13
- EISSN
- Handle
- IGSN
- ISBN
- ISTC
- LISSN
- LSID
- PMID
- PURL
- UPC
- w3id
relation:
- yi
- yo
- za
- zu
creators:
type: array
items:
$ref: '#/components/schemas/SaveIdentifierCreatorDto'
database_id:
type: string
example: Cites
enum:
- IsCitedBy
- Cites
- IsSupplementTo
- IsSupplementedBy
- IsContinuedBy
- Continues
- IsDescribedBy
- Describes
- HasMetadata
- IsMetadataFor
- HasVersion
- IsVersionOf
- IsNewVersionOf
- IsPreviousVersionOf
- IsPartOf
- HasPart
- IsPublishedIn
- IsReferencedBy
- References
- IsDocumentedBy
- Documents
- IsCompiledBy
- Compiles
- IsVariantFormOf
- IsOriginalFormOf
- IsIdenticalTo
- IsReviewedBy
- Reviews
- IsDerivedFrom
- IsSourceOf
- IsRequiredBy
- Requires
- IsObsoletedBy
- Obsoletes
CreatorDto:
format: uuid
query_id:
type: string
format: uuid
view_id:
type: string
format: uuid
table_id:
type: string
format: uuid
publication_day:
type: integer
format: int32
example: 15
publication_month:
type: integer
format: int32
example: 12
publication_year:
type: integer
format: int32
example: 2022
related_identifiers:
type: array
items:
$ref: '#/components/schemas/SaveRelatedIdentifierDto'
SaveIdentifierCreatorDto:
required:
- creator_name
- id
type: object
properties:
id:
type: integer
format: int64
example: 11
type: string
format: uuid
example: da9dd034-00a8-4517-b93d-d1b2adfee418
firstname:
type: string
example: Josiah
......@@ -6619,7 +6701,7 @@ components:
example: Carberry
affiliation:
type: string
example: Brown University
example: Wesleyan University
creator_name:
type: string
example: 'Carberry, Josiah'
......@@ -6640,12 +6722,9 @@ components:
- ROR
- ISNI
- GRID
name_identifier_scheme_uri:
type: string
example: 'https://orcid.org/'
affiliation_identifier:
type: string
example: 'https://ror.org/05gq02987'
example: 'https://ror.org/04d836q62'
affiliation_identifier_scheme:
type: string
example: ROR
......@@ -6653,18 +6732,16 @@ components:
- ROR
- GRID
- ISNI
affiliation_identifier_scheme_uri:
type: string
example: 'https://ror.org/'
IdentifierDescriptionDto:
SaveIdentifierDescriptionDto:
required:
- description
- id
type: object
properties:
id:
type: integer
format: int64
example: 3
type: string
format: uuid
example: 35bd84d8-b181-43c8-b786-4d024e4f843c
description:
type: string
example: 'Air quality reports at Stephansplatz, Vienna'
......@@ -6866,69 +6943,56 @@ components:
- TableOfContents
- TechnicalInfo
- Other
IdentifierDto:
SaveIdentifierFunderDto:
required:
- creators
- database_id
- descriptions
- funders
- funder_name
- id
- language
- licenses
- owner
- publication_year
- publisher
- query
- query_hash
- query_normalized
- status
- titles
- type
type: object
properties:
id:
type: integer
format: int64
example: 2
type:
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:
- 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:
- Crossref Funder ID
- ROR
- GND
- ISNI
- Other
scheme_uri:
type: string
example: >-
SELECT `id`, `value`, `location` FROM `air_quality` WHERE `location`
= "09:STEF"
execution:
example: 'http://doi.org/'
award_number:
type: string
format: date-time
example: '2021-03-12T15:26:21.000Z'
doi:
example: '824087'
award_title:
type: string
example: 10.1038/nphys1170
publisher:
example: EOSC-Life
SaveIdentifierTitleDto:
required:
- id
- title
type: object
properties:
id:
type: string
example: TU Wien
owner:
$ref: '#/components/schemas/UserBriefDto'
format: uuid
example: 2af9f40e-eaf5-4ea1-861a-1a696587bf29
title:
type: string
example: Airquality Demonstrator
language:
type: string
example: en
enum:
- ab
- aa
......@@ -7113,103 +7177,16 @@ components:
- 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: 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:
- zu
type:
type: string
example: Crossref Funder ID
example: Subtitle
enum:
- Crossref Funder ID
- ROR
- GND
- ISNI
- AlternativeTitle
- Subtitle
- TranslatedTitle
- Other
scheme_uri:
type: string
example: 'http://doi.org/'
award_number:
type: string
example: '824087'
award_title:
type: string
example: EOSC-Life
RelatedIdentifierDto:
SaveRelatedIdentifierDto:
required:
- id
- relation
......@@ -7218,9 +7195,9 @@ components:
type: object
properties:
id:
type: integer
format: int64
example: 8
type: string
format: uuid
example: 5bb272c7-7421-4f74-83ac-0486812d0f44
value:
type: string
example: 10.70124/dc4zh-9ce78
......@@ -7319,9 +7296,9 @@ components:
type: object
properties:
id:
type: integer
format: int64
example: 4
type: string
format: uuid
example: 787439d0-e85e-400c-a7e6-996a023bfad9
name:
type: string
example: Air Quality
......@@ -7329,9 +7306,9 @@ components:
type: string
example: SELECT `id` FROM `air_quality` ORDER BY `value` DESC
database_id:
type: integer
format: int64
example: 1
type: string
format: uuid
example: 2b5b2b03-fdd0-40d6-afe0-e5d02fd839e4
internal_name:
type: string
example: air_quality
......@@ -7382,9 +7359,9 @@ components:
type: object
properties:
id:
type: integer
format: int64
example: 3
type: string
format: uuid
example: 41ed10e0-687b-4e18-8521-810f5cffbce1
name:
type: string
example: Air Quality
......@@ -7392,9 +7369,9 @@ components:
type: string
example: Air Quality in Austria
database_id:
type: integer
format: int64
example: 2
type: string
format: uuid
example: a8fec026-dfaf-4b1d-8f6c-f01720d91705
internal_name:
type: string
example: air_quality
......@@ -7431,9 +7408,9 @@ components:
type: object
properties:
id:
type: integer
format: int64
example: 1
type: string
format: uuid
example: a453e444-e00d-41ca-902c-11e9c54b39f1
name:
maxLength: 64
minLength: 0
......@@ -7467,26 +7444,20 @@ components:
example: Column comment
enums:
type: array
example:
- val1
items:
type: string
example: '["val1"]'
$ref: '#/components/schemas/EnumDto'
sets:
type: array
example:
- val1
items:
type: string
example: '["val1"]'
$ref: '#/components/schemas/SetDto'
database_id:
type: integer
format: int64
example: 2
type: string
format: uuid
example: 911f9052-c58c-4e1c-b3f2-66af2107be16
table_id:
type: integer
format: int64
example: 3
type: string
format: uuid
example: bfffa915-a547-4466-9c65-ddc0d38fdb08
ord:
type: integer
format: int32
......@@ -7569,9 +7540,9 @@ components:
type: object
properties:
id:
type: integer
format: int64
example: 23
type: string
format: uuid
example: 8cabc011-4bdf-44d4-9d33-b2648e2ddbf1
uri:
type: string
example: 'http://www.wikidata.org/entity/Q202444'
......@@ -7583,6 +7554,32 @@ components:
example: >-
name typically used to differentiate people from the same family,
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:
required:
- id
......@@ -7590,9 +7587,9 @@ components:
type: object
properties:
id:
type: integer
format: int64
example: 34
type: string
format: uuid
example: ba1935e8-6817-488f-af0a-f54389af9000
uri:
type: string
example: 'http://www.wikidata.org/entity/Q1422583'
......@@ -7627,33 +7624,6 @@ components:
- read
- write_own
- 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:
required:
- prefix
......@@ -7964,18 +7934,18 @@ components:
items:
$ref: '#/components/schemas/SaveIdentifierCreatorDto'
database_id:
type: integer
format: int64
example: 1
type: string
format: uuid
example: d002e8d5-8db4-4ff7-ab3a-bc3f52d9ec44
query_id:
type: integer
format: int64
type: string
format: uuid
view_id:
type: integer
format: int64
type: string
format: uuid
table_id:
type: integer
format: int64
type: string
format: uuid
publication_day:
type: integer
format: int32
......@@ -8004,9 +7974,9 @@ components:
type: string
example: Air Quality
container_id:
type: integer
format: int64
example: 1
type: string
format: uuid
example: 0888e108-d521-46e2-9d3e-82099185305b
is_public:
type: boolean
example: true
......@@ -8027,8 +7997,7 @@ components:
type: string
example: Air Quality
query:
type: string
example: SELECT `id` FROM `air_quality`
$ref: '#/components/schemas/SubsetDto'
is_public:
type: boolean
example: true
......@@ -8044,16 +8013,24 @@ components:
properties:
columns:
type: array
example:
- id
items:
type: string
example: '["id"]'
referenced_table:
type: string
example: sensor
referenced_columns:
type: array
example:
- other_id
items:
type: string
example: '["other_id"]'
on_update:
type: string
example: cascade
enum:
- restrict
- cascade
......@@ -8062,6 +8039,7 @@ components:
- set_default
on_delete:
type: string
example: cascade
enum:
- restrict
- cascade
......@@ -8080,7 +8058,7 @@ components:
example: Date
type:
type: string
example: string
example: varchar
enum:
- char
- varchar
......@@ -8233,10 +8211,10 @@ components:
format: int64
example: 50
image_id:
type: integer
type: string
description: Image ID
format: int64
example: 1
format: uuid
example: 2360f3c4-85e0-4fac-a7c6-73b296b9dde2
ui_host:
type: string
example: example.com
......@@ -8259,23 +8237,15 @@ components:
- image
- internal_name
- name
- quota
type: object
properties:
id:
type: integer
format: int64
example: 4
type: string
format: uuid
example: 7ddb7e87-b965-43a2-9a24-4fa406d998f4
name:
type: string
example: Air Quality
host:
type: string
example: data-db
port:
type: integer
format: int32
example: 3306
image:
$ref: '#/components/schemas/ImageDto'
quota:
......@@ -8298,13 +8268,6 @@ components:
internal_name:
type: string
example: air_quality
ui_host:
type: string
example: example.com
ui_port:
type: integer
format: int32
example: 3306
ColumnBriefDto:
required:
- database_id
......@@ -8316,9 +8279,9 @@ components:
type: object
properties:
id:
type: integer
format: int64
example: 1
type: string
format: uuid
example: a453e444-e00d-41ca-902c-11e9c54b39f1
name:
maxLength: 64
minLength: 0
......@@ -8328,13 +8291,13 @@ components:
type: string
example: firstname
database_id:
type: integer
format: int64
example: 2
type: string
format: uuid
example: 911f9052-c58c-4e1c-b3f2-66af2107be16
table_id:
type: integer
format: int64
example: 3
type: string
format: uuid
example: bfffa915-a547-4466-9c65-ddc0d38fdb08
internal_name:
maxLength: 64
minLength: 0
......@@ -8382,8 +8345,9 @@ components:
type: object
properties:
id:
type: integer
format: int64
type: string
format: uuid
example: ba1935e8-6817-488f-af0a-f54389af9000
uri:
type: string
name:
......@@ -8404,8 +8368,9 @@ components:
type: object
properties:
id:
type: integer
format: int64
type: string
format: uuid
example: 7c491e40-082a-47b8-b82c-51d03c520466
uri:
type: string
example: 'http://www.wikidata.org/'
......@@ -8449,14 +8414,14 @@ components:
type: string
resumptionToken:
type: string
parametersString:
type: string
fromDate:
type: string
format: date-time
untilDate:
type: string
format: date-time
parametersString:
type: string
BannerMessageDto:
required:
- id
......@@ -8465,10 +8430,12 @@ components:
type: object
properties:
id:
type: integer
format: int64
type: string
format: uuid
example: ae3f795b-a3da-4ebe-bdc4-21a8ce631e6f
type:
type: string
example: WARNING
enum:
- error
- warning
......@@ -8494,24 +8461,20 @@ components:
required:
- default
- id
- jdbc_method
- name
- version
type: object
properties:
id:
type: integer
format: int64
example: 5
type: string
format: uuid
example: 816f55d5-1098-4f60-a4af-c8121c04dcce
name:
type: string
example: mariadb
version:
type: string
example: '10.5'
jdbc_method:
type: string
example: mariadb
default:
type: boolean
example: false
......@@ -8564,123 +8527,50 @@ components:
$ref: '#/components/schemas/LdCreatorDto'
citation:
type: string
hasPart:
type: array
items:
$ref: '#/components/schemas/LdDatasetDto'
temporalCoverage:
type: string
version:
type: string
format: date-time
'@context':
type: string
'@type':
type: string
ConstraintsDto:
type: object
properties:
uniques:
type: array
items:
$ref: '#/components/schemas/UniqueDto'
checks:
uniqueItems: true
type: array
example:
- value > 1
items:
type: string
example: '["value > 1"]'
foreign_keys:
type: array
items:
$ref: '#/components/schemas/ForeignKeyDto'
primary_key:
uniqueItems: true
type: array
items:
$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:
hasPart:
type: array
items:
$ref: '#/components/schemas/TableDto'
views:
$ref: '#/components/schemas/LdDatasetDto'
temporalCoverage:
type: string
version:
type: string
format: date-time
'@context':
type: string
'@type':
type: string
ConstraintsDto:
type: object
properties:
uniques:
type: array
items:
$ref: '#/components/schemas/ViewDto'
container:
$ref: '#/components/schemas/ContainerDto'
accesses:
$ref: '#/components/schemas/UniqueDto'
checks:
uniqueItems: true
type: array
example:
- value > 1
items:
$ref: '#/components/schemas/DatabaseAccessDto'
identifiers:
type: string
example: '["value > 1"]'
foreign_keys:
type: array
items:
$ref: '#/components/schemas/IdentifierDto'
subsets:
$ref: '#/components/schemas/ForeignKeyDto'
primary_key:
uniqueItems: true
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
$ref: '#/components/schemas/PrimaryKeyDto'
ForeignKeyBriefDto:
type: object
properties:
id:
type: integer
format: int64
example: 8
type: string
format: uuid
example: f2b740ec-0b13-4d07-88a9-529d354bba6a
ForeignKeyDto:
required:
- name
......@@ -8690,9 +8580,9 @@ components:
type: object
properties:
id:
type: integer
format: int64
example: 4
type: string
format: uuid
example: f2b740ec-0b13-4d07-88a9-529d354bba6a
name:
type: string
example: fk_name
......@@ -8730,9 +8620,9 @@ components:
type: object
properties:
id:
type: integer
format: int64
example: 8
type: string
format: uuid
example: f2b740ec-0b13-4d07-88a9-529d354bba6a
column:
$ref: '#/components/schemas/ColumnBriefDto'
foreign_key:
......@@ -8746,9 +8636,9 @@ components:
type: object
properties:
id:
type: integer
format: int64
example: 8
type: string
format: uuid
example: d984f9d7-e8a7-4b81-b59a-862db1871f18
table:
$ref: '#/components/schemas/TableBriefDto'
column:
......@@ -8770,9 +8660,9 @@ components:
type: object
properties:
id:
type: integer
format: int64
example: 3
type: string
format: uuid
example: d346f844-b84c-490f-9aec-725a2dc8f820
name:
type: string
example: Air Quality
......@@ -8794,17 +8684,15 @@ components:
type: array
items:
$ref: '#/components/schemas/ColumnDto'
database:
$ref: '#/components/schemas/DatabaseDto'
constraints:
$ref: '#/components/schemas/ConstraintsDto'
last_retrieved:
type: string
format: date-time
database_id:
type: integer
format: int64
example: 2
type: string
format: uuid
example: fc29f89c-86a8-4020-9e36-4d954736c6cc
internal_name:
type: string
example: air_quality
......@@ -8854,9 +8742,9 @@ components:
type: object
properties:
id:
type: integer
format: int64
example: 5
type: string
format: uuid
example: d984f9d7-e8a7-4b81-b59a-862db1871f13
name:
type: string
example: uk_name
......@@ -8866,155 +8754,6 @@ components:
type: array
items:
$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:
required:
- column_id
......@@ -9033,17 +8772,17 @@ components:
type: string
example: open source semantic web framework for Java
database_id:
type: integer
format: int64
example: 1
type: string
format: uuid
example: 475b4107-a64d-4495-a7ef-3cb0dadd4804
table_id:
type: integer
format: int64
example: 1
type: string
format: uuid
example: 9a9208af-90ea-4382-9a11-0c8f6d89bd1f
column_id:
type: integer
format: int64
example: 1
type: string
format: uuid
example: 297860e3-3b29-451c-ae8a-a85ed5941018
ContainerBriefDto:
required:
- count
......@@ -9056,9 +8795,9 @@ components:
type: object
properties:
id:
type: integer
format: int64
example: 4
type: string
format: uuid
example: 7ddb7e87-b965-43a2-9a24-4fa406d998f4
hash:
type: string
example: f829dd8a884182d0da846f365dee1221fd16610a14c81b8f9f295ff162749e50
......@@ -9086,8 +8825,9 @@ components:
type: object
properties:
id:
type: integer
format: int64
type: string
format: uuid
example: 8cabc011-4bdf-44d4-9d33-b2648e2ddbf1
uri:
type: string
name:
......
......@@ -25,16 +25,20 @@ deployments that by default support replication and monitoring. No graphical use
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).
### 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
* `dbrepo-download` for CSV-file download (exporting data, metadata, etc.)
<figure markdown>
![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
......
---
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 @@
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)
[:simple-gitlab: GitLab Release](https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/tags/v1.6.5)
### What's Changed
#### Fixes
* 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)
[:simple-gitlab: GitLab Release](https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/tags/v1.6.4)
### What's Changed
#### Fixes
* Fixed a bug where the users were not synced with the Metadata Database
......@@ -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)
### What's Changed
#### Changes
* 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
[:simple-gitlab: GitLab Release](https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/tags/v1.6.2)
### What's Changed
#### Changes
* Added interface tests for the Python library in Gitlab CI/CD pipeline
......@@ -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)
### What's Changed
#### Changes
* Added privacy feature for hidden databases (and optionally tables, views, subsets) that hides them completely from
......@@ -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)
### What's Changed
#### Features
* Added possibility to modify table description and privacy mode that hides metadata of databases, tables, subsets and
......@@ -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)
### What's Changed
#### Fixes
* Fixed a bug where subsets containing sub-queries are not able to retrieve data
......@@ -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)
### What's Changed
#### Changes
* Adapt Helm chart to support `runAsNonRoot` throughout and specify `resource` presets for the highly-constrained
......@@ -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)
### What's Changed
#### Fixes
* 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
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.
### What's Changed
#### Features
* Added `SERIAL` data type to create incrementing key
......@@ -196,8 +225,6 @@ author: Martin Weise
This release updates the Metadata Database schema which is incompatible to v1.4.5!
### What's Changed
#### Features
* 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
![Maintainability Rating](./images/maintainability.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
project supporting data evolution, -citation and -versioning. It implements the query store of the
......
......@@ -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:
```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"
......@@ -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`.
```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
......@@ -82,7 +82,7 @@ the variable `IDENTITY_SERVICE_ADMIN_PASSWORD` in `.env`.
Update the client secret of the `dbrepo-client`:
```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
......
......@@ -6,7 +6,7 @@ author: Martin Weise
To install DBRepo in your existing cluster, download the
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`.
```shell
......@@ -14,7 +14,7 @@ helm upgrade --install dbrepo \
-n dbrepo \
"oci://registry.datalab.tuwien.ac.at/dbrepo/helm/dbrepo" \
--values ./values.yaml \
--version "1.6.5" \
--version "1.7.0" \
--create-namespace \
--cleanup-on-fail
```
......
variables:
BUILD_VERSION: ""
HOSTALIASES: "./hosts"
DOCKER_HOST: "unix:///var/run/dind/docker.sock"
DOCKER_VERSION: "27"
......@@ -9,9 +10,9 @@ variables:
NODE_VERSION: "18"
SONARQUBE_VERSION: "10.0"
BUN_VERSION: "1.1.40"
DOC_VERSION: "1.6"
APP_VERSION: "1.6.5"
CHART_VERSION: "1.6.5"
DOC_VERSION: "1.7"
APP_VERSION: "1.7.0"
CHART_VERSION: "1.7.0"
CACHE_FALLBACK_KEY: "${CI_DEFAULT_BRANCH}"
# 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.
......@@ -30,13 +31,20 @@ cache:
paths:
- .m2/repository
workflow:
rules:
- if: $CI_COMMIT_REF_NAME == "dev"
variables:
BUILD_VERSION: "+git.${CI_COMMIT_SHORT_SHA}"
- when: always
stages:
- lint
- build
- deploy
- test
- docs
- release
- deploy
- verify
- scan
......@@ -80,9 +88,9 @@ lint-helm-chart:
- apk --no-cache add helm git bash
- cp ./helm/dbrepo/values.schema.json ./CI_values.schema.json
- helm plugin install https://github.com/losisin/helm-values-schema-json.git
- helm dependency update ./helm/seaweedfs
- 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:
- bash .scripts/check-helm.sh
- helm lint ./helm/dbrepo
......@@ -137,6 +145,9 @@ lint-open-api-version:
build-metadata-service:
image: maven:3-openjdk-${JAVA_VERSION}
stage: build
only:
- merge_requests
- master
script:
- "mvn -f ./dbrepo-metadata-service/pom.xml clean install $MAVEN_OPTS -DskipTests"
# Compiled classes are needed for SonarQube in later stages
......@@ -155,6 +166,9 @@ build-metadata-service:
build-analyse-service:
image: docker.io/python:${PYTHON_VERSION}-alpine${ALPINE_VERSION}
stage: build
only:
- merge_requests
- master
variables:
PIPENV_PIPFILE: "./dbrepo-analyse-service/Pipfile"
script:
......@@ -164,6 +178,9 @@ build-analyse-service:
build-lib:
image: docker.io/python:${PYTHON_VERSION}-alpine${ALPINE_VERSION}
stage: build
only:
- merge_requests
- master
variables:
PIPENV_PIPFILE: "./lib/python/Pipfile"
script:
......@@ -173,12 +190,16 @@ build-lib:
build-data-service:
image: maven:3-openjdk-${JAVA_VERSION}
stage: build
only:
- merge_requests
- master
needs:
- build-metadata-service
dependencies:
- build-metadata-service
script:
before_script:
- "mvn -f ./dbrepo-metadata-service/pom.xml clean install $MAVEN_OPTS -DskipTests"
script:
- "mvn -f ./dbrepo-data-service/pom.xml clean package $MAVEN_OPTS -DskipTests"
# Compiled classes are needed for SonarQube in later stages
artifacts:
......@@ -192,19 +213,29 @@ build-data-service:
build-ui:
image: oven/bun:${BUN_VERSION}-alpine
stage: build
only:
- merge_requests
- master
script:
- "cd ./dbrepo-ui && bun install && bun run build"
build-search-service:
image: docker.io/python:${PYTHON_VERSION}-alpine${ALPINE_VERSION}
stage: build
script:
only:
- merge_requests
- master
before_script:
- "pip install pipenv"
script:
- "cd dbrepo-search-service && pipenv install --system --deploy"
build-images:
image: docker.io/docker:${DOCKER_VERSION}-dind
stage: build
only:
- merge_requests
- master
before_script:
- "apk add --no-cache make"
- echo "$CI_REGISTRY_PASSWORD" | docker login --username "$CI_REGISTRY_USER" --password-stdin $CI_REGISTRY_URL
......@@ -214,6 +245,10 @@ build-images:
build-helm:
image: docker.io/docker:${DOCKER_VERSION}-dind
stage: build
only:
- tags
- merge_requests
- master
before_script:
- apk add --no-cache helm make
- echo "$CI_GPG_KEYRING" | base64 -d > ./secring.gpg
......@@ -221,30 +256,12 @@ build-helm:
script:
- 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:
image: maven:3-openjdk-${JAVA_VERSION}
stage: test
only:
- merge_requests
- master
needs:
- build-metadata-service
dependencies:
......@@ -265,6 +282,9 @@ test-metadata-service:
test-data-service:
image: maven:3-openjdk-${JAVA_VERSION}
stage: test
only:
- merge_requests
- master
needs:
- build-data-service
dependencies:
......@@ -283,16 +303,12 @@ test-data-service:
junit: ./dbrepo-data-service/rest-service/target/surefire-reports/TEST-*.xml
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:
image: docker.io/python:${PYTHON_VERSION}-alpine${ALPINE_VERSION}
stage: test
only:
- merge_requests
- master
variables:
PIPENV_PIPFILE: "./dbrepo-analyse-service/Pipfile"
needs:
......@@ -302,21 +318,24 @@ test-analyse-service:
script:
- "pip install pipenv"
- "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[^%]*%'"
artifacts:
when: always
paths:
- ./dbrepo-analyse-service/report.xml
- ./dbrepo-analyse-service/coverage.xml
- ./dbrepo-analyse-service/coverage.txt
expire_in: 1 days
reports:
junit: ./dbrepo-analyse-service/report.xml
junit: ./dbrepo-analyse-service/coverage.xml
coverage: '/TOTAL.*?([0-9]{1,3})%/'
test-auth-service-init:
image: docker.io/python:${PYTHON_VERSION}-alpine${ALPINE_VERSION}
stage: test
only:
- merge_requests
- master
variables:
PIPENV_PIPFILE: "./dbrepo-auth-service/init/Pipfile"
before_script:
......@@ -324,21 +343,24 @@ test-auth-service-init:
- "pip install pipenv"
- "pipenv install gunicorn && pipenv install --dev --system --deploy"
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[^%]*%'"
artifacts:
when: always
paths:
- ./dbrepo-auth-service/init/report.xml
- ./dbrepo-auth-service/init/coverage.xml
- ./dbrepo-auth-service/init/coverage.txt
expire_in: 1 days
reports:
junit: ./dbrepo-auth-service/init/report.xml
junit: ./dbrepo-auth-service/init/coverage.xml
coverage: '/TOTAL.*?([0-9]{1,3})%/'
test-search-service:
image: docker.io/python:${PYTHON_VERSION}-alpine${ALPINE_VERSION}
stage: test
only:
- merge_requests
- master
variables:
PIPENV_PIPFILE: "./dbrepo-search-service/Pipfile"
needs:
......@@ -355,21 +377,24 @@ test-search-service:
script:
- "pip install pipenv"
- "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[^%]*%'"
artifacts:
when: always
paths:
- ./dbrepo-search-service/report.xml
- ./dbrepo-search-service/coverage.xml
- ./dbrepo-search-service/coverage.txt
expire_in: 1 days
reports:
junit: ./dbrepo-search-service/report.xml
junit: ./dbrepo-search-service/coverage.xml
coverage: '/TOTAL.*?([0-9]{1,3})%/'
test-search-service-init:
image: docker.io/python:${PYTHON_VERSION}-alpine${ALPINE_VERSION}
stage: test
only:
- merge_requests
- master
variables:
PIPENV_PIPFILE: "./dbrepo-search-service/init/Pipfile"
needs:
......@@ -379,21 +404,24 @@ test-search-service-init:
script:
- "pip install pipenv"
- "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[^%]*%'"
artifacts:
when: always
paths:
- ./dbrepo-search-service/report.xml
- ./dbrepo-search-service/coverage.xml
- ./dbrepo-search-service/coverage.txt
expire_in: 1 days
reports:
junit: ./dbrepo-search-service/report.xml
junit: ./dbrepo-search-service/coverage.xml
coverage: '/TOTAL.*?([0-9]{1,3})%/'
test-lib:
image: docker.io/python:${PYTHON_VERSION}-alpine${ALPINE_VERSION}
stage: test
only:
- merge_requests
- master
variables:
PIPENV_PIPFILE: "./lib/python/Pipfile"
needs:
......@@ -403,21 +431,24 @@ test-lib:
script:
- "pip install pipenv"
- "pipenv install gunicorn && pipenv install --dev --system --deploy"
- cd ./lib/python/ && coverage run -m pytest tests/test_unit_analyse.py tests/test_unit_container.py tests/test_unit_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[^%]*%'"
artifacts:
when: always
paths:
- ./lib/python/report.xml
- ./lib/python/coverage.xml
- ./lib/python/coverage.txt
expire_in: 1 days
reports:
junit: ./lib/python/report.xml
junit: ./lib/python/coverage.xml
coverage: '/TOTAL.*?([0-9]{1,3})%/'
test-ui:
stage: test
image: docker.io/docker:${DOCKER_VERSION}-dind
stage: test
only:
- merge_requests
- master
needs:
- build-ui
dependencies:
......@@ -433,13 +464,18 @@ test-ui:
release-images:
stage: release
image: docker:${DOCKER_VERSION}-dind
only:
- dev
- tags
dependencies:
- test-metadata-service
- test-data-service
- test-analyse-service
only:
refs:
- /^release-.*/
- test-auth-service-init
- test-data-service
- test-lib
- test-metadata-service
- test-search-service
- test-search-service-init
- test-ui
before_script:
- "docker logout ${CI_REGISTRY_URL}"
- "echo ${CI_REGISTRY_PASSWORD} | docker login --username ${CI_REGISTRY_USER} --password-stdin ${CI_REGISTRY_URL}"
......@@ -454,9 +490,7 @@ release-helm:
stage: release
image: docker:${DOCKER_VERSION}-dind
only:
refs:
- /^release-.*/
when: manual
- tags
needs:
- build-helm
dependencies:
......@@ -470,6 +504,8 @@ release-helm:
- "mkdir -p ~/.gnupg"
- echo "$CI_GPG_KEYRING" | base64 -d > ~/.gnupg/secring.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
- "helm package ./helm/dbrepo --sign --key 'Martin Weise' --keyring ~/.gnupg/secring.gpg --destination ./build"
- "helm plugin install https://github.com/sigstore/helm-sigstore"
......@@ -481,8 +517,7 @@ release-docs:
stage: release
image: docker.io/python:${PYTHON_VERSION}-alpine${ALPINE_VERSION}
only:
refs:
- /^release-.*/
- tags
before_script:
- "apk add --no-cache alpine-sdk bash sed wget openssh jq curl"
- "pip install pipenv"
......@@ -514,10 +549,8 @@ release-docs:
release-libs:
stage: release
image: docker.io/python:${PYTHON_VERSION}-alpine${ALPINE_VERSION}
when: manual
only:
refs:
- /^release-.*/
- tags
variables:
PIPENV_PIPFILE: "./dbrepo-analyse-service/Pipfile"
before_script:
......@@ -532,8 +565,7 @@ verify-install-script:
image: docker.io/docker:${DOCKER_VERSION}-dind
stage: verify
only:
refs:
- /^release-.*/
- tags
variables:
SKIP_CHECKS: 1
before_script:
......@@ -545,25 +577,37 @@ verify-dist:
image: docker.io/alpine:${ALPINE_VERSION}
stage: verify
only:
refs:
- /^release-.*/
- tags
before_script:
- "apk add curl"
script:
- "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:
image: sonarsource/sonar-scanner-cli:${SONARQUBE_VERSION}
stage: scan
only:
refs:
- master
needs:
- build-data-service
- build-metadata-service
dependencies:
- build-data-service
- build-metadata-service
script:
- 'sonar-scanner -Dsonar.token="${CI_SONAR_TOKEN}"'
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
APP_VERSION ?= 1.6.5
CHART_VERSION ?= 1.6.5
APP_VERSION ?= 1.7.0
CHART_VERSION ?= 1.7.0
REPOSITORY_URL ?= registry.datalab.tuwien.ac.at/dbrepo
.PHONY: all
......
......@@ -14,7 +14,7 @@ If you have [Docker](https://docs.docker.com/engine/install/) already installed
with:
```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
......
[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 = "*"
pandas = "*"
minio = "*"
pydantic = "*"
dbrepo = {path = "./lib/dbrepo-1.6.5.tar.gz"}
dbrepo = {path = "./lib/dbrepo-1.7.0.tar.gz"}
opensearch-py = "*"
[dev-packages]
......
{
"_meta": {
"hash": {
"sha256": "1013ec1b081d79912b7ec0878b4824cb4f885a96fec148ae728d746de601b493"
"sha256": "0af9d522f713554dd7996401992cffddf372ade320c11d7950bdcd5888aa1a03"
},
"pipfile-spec": 6,
"requires": {
......@@ -26,90 +26,90 @@
},
"aiohttp": {
"hashes": [
"sha256:0450ada317a65383b7cce9576096150fdb97396dcfe559109b403c7242faffef",
"sha256:0b5263dcede17b6b0c41ef0c3ccce847d82a7da98709e75cf7efde3e9e3b5cae",
"sha256:0d5176f310a7fe6f65608213cc74f4228e4f4ce9fd10bcb2bb6da8fc66991462",
"sha256:0ed49efcd0dc1611378beadbd97beb5d9ca8fe48579fc04a6ed0844072261b6a",
"sha256:145a73850926018ec1681e734cedcf2716d6a8697d90da11284043b745c286d5",
"sha256:1987770fb4887560363b0e1a9b75aa303e447433c41284d3af2840a2f226d6e0",
"sha256:246067ba0cf5560cf42e775069c5d80a8989d14a7ded21af529a4e10e3e0f0e6",
"sha256:2c311e2f63e42c1bf86361d11e2c4a59f25d9e7aabdbdf53dc38b885c5435cdb",
"sha256:2cee3b117a8d13ab98b38d5b6bdcd040cfb4181068d05ce0c474ec9db5f3c5bb",
"sha256:2de1378f72def7dfb5dbd73d86c19eda0ea7b0a6873910cc37d57e80f10d64e1",
"sha256:30f546358dfa0953db92ba620101fefc81574f87b2346556b90b5f3ef16e55ce",
"sha256:34245498eeb9ae54c687a07ad7f160053911b5745e186afe2d0c0f2898a1ab8a",
"sha256:392432a2dde22b86f70dd4a0e9671a349446c93965f261dbaecfaf28813e5c42",
"sha256:3c0600bcc1adfaaac321422d615939ef300df81e165f6522ad096b73439c0f58",
"sha256:4016e383f91f2814e48ed61e6bda7d24c4d7f2402c75dd28f7e1027ae44ea204",
"sha256:40cd36749a1035c34ba8d8aaf221b91ca3d111532e5ccb5fa8c3703ab1b967ed",
"sha256:413ad794dccb19453e2b97c2375f2ca3cdf34dc50d18cc2693bd5aed7d16f4b9",
"sha256:4a93d28ed4b4b39e6f46fd240896c29b686b75e39cc6992692e3922ff6982b4c",
"sha256:4ee84c2a22a809c4f868153b178fe59e71423e1f3d6a8cd416134bb231fbf6d3",
"sha256:50c5c7b8aa5443304c55c262c5693b108c35a3b61ef961f1e782dd52a2f559c7",
"sha256:525410e0790aab036492eeea913858989c4cb070ff373ec3bc322d700bdf47c1",
"sha256:526c900397f3bbc2db9cb360ce9c35134c908961cdd0ac25b1ae6ffcaa2507ff",
"sha256:54775858c7f2f214476773ce785a19ee81d1294a6bedc5cc17225355aab74802",
"sha256:584096938a001378484aa4ee54e05dc79c7b9dd933e271c744a97b3b6f644957",
"sha256:6130459189e61baac5a88c10019b21e1f0c6d00ebc770e9ce269475650ff7f73",
"sha256:67453e603cea8e85ed566b2700efa1f6916aefbc0c9fcb2e86aaffc08ec38e78",
"sha256:68d54234c8d76d8ef74744f9f9fc6324f1508129e23da8883771cdbb5818cbef",
"sha256:6dfe7f984f28a8ae94ff3a7953cd9678550dbd2a1f9bda5dd9c5ae627744c78e",
"sha256:74bd573dde27e58c760d9ca8615c41a57e719bff315c9adb6f2a4281a28e8798",
"sha256:7603ca26d75b1b86160ce1bbe2787a0b706e592af5b2504e12caa88a217767b0",
"sha256:76719dd521c20a58a6c256d058547b3a9595d1d885b830013366e27011ffe804",
"sha256:7c3623053b85b4296cd3925eeb725e386644fd5bc67250b3bb08b0f144803e7b",
"sha256:7e44eba534381dd2687be50cbd5f2daded21575242ecfdaf86bbeecbc38dae8e",
"sha256:7fe3d65279bfbee8de0fb4f8c17fc4e893eed2dba21b2f680e930cc2b09075c5",
"sha256:8340def6737118f5429a5df4e88f440746b791f8f1c4ce4ad8a595f42c980bd5",
"sha256:84ede78acde96ca57f6cf8ccb8a13fbaf569f6011b9a52f870c662d4dc8cd854",
"sha256:850ff6155371fd802a280f8d369d4e15d69434651b844bde566ce97ee2277420",
"sha256:87a2e00bf17da098d90d4145375f1d985a81605267e7f9377ff94e55c5d769eb",
"sha256:88d385b8e7f3a870146bf5ea31786ef7463e99eb59e31db56e2315535d811f55",
"sha256:8a2fb742ef378284a50766e985804bd6adb5adb5aa781100b09befdbfa757b65",
"sha256:8dc0fba9a74b471c45ca1a3cb6e6913ebfae416678d90529d188886278e7f3f6",
"sha256:8fa1510b96c08aaad49303ab11f8803787c99222288f310a62f493faf883ede1",
"sha256:8fd12d0f989c6099e7b0f30dc6e0d1e05499f3337461f0b2b0dadea6c64b89df",
"sha256:9060addfa4ff753b09392efe41e6af06ea5dd257829199747b9f15bfad819460",
"sha256:930ffa1925393381e1e0a9b82137fa7b34c92a019b521cf9f41263976666a0d6",
"sha256:936d8a4f0f7081327014742cd51d320296b56aa6d324461a13724ab05f4b2933",
"sha256:97fe431f2ed646a3b56142fc81d238abcbaff08548d6912acb0b19a0cadc146b",
"sha256:9bd8695be2c80b665ae3f05cb584093a1e59c35ecb7d794d1edd96e8cc9201d7",
"sha256:9dec0000d2d8621d8015c293e24589d46fa218637d820894cb7356c77eca3259",
"sha256:a478aa11b328983c4444dacb947d4513cb371cd323f3845e53caeda6be5589d5",
"sha256:a481a574af914b6e84624412666cbfbe531a05667ca197804ecc19c97b8ab1b0",
"sha256:a4ac6a0f0f6402854adca4e3259a623f5c82ec3f0c049374133bcb243132baf9",
"sha256:a5e69046f83c0d3cb8f0d5bd9b8838271b1bc898e01562a04398e160953e8eb9",
"sha256:a7442662afebbf7b4c6d28cb7aab9e9ce3a5df055fc4116cc7228192ad6cb484",
"sha256:aa8a8caca81c0a3e765f19c6953416c58e2f4cc1b84829af01dd1c771bb2f91f",
"sha256:ab3247d58b393bda5b1c8f31c9edece7162fc13265334217785518dd770792b8",
"sha256:b10a47e5390c4b30a0d58ee12581003be52eedd506862ab7f97da7a66805befb",
"sha256:b34508f1cd928ce915ed09682d11307ba4b37d0708d1f28e5774c07a7674cac9",
"sha256:b8d3bb96c147b39c02d3db086899679f31958c5d81c494ef0fc9ef5bb1359b3d",
"sha256:b9d45dbb3aaec05cf01525ee1a7ac72de46a8c425cb75c003acd29f76b1ffe94",
"sha256:bf4480a5438f80e0f1539e15a7eb8b5f97a26fe087e9828e2c0ec2be119a9f72",
"sha256:c160a04283c8c6f55b5bf6d4cad59bb9c5b9c9cd08903841b25f1f7109ef1259",
"sha256:c96a43822f1f9f69cc5c3706af33239489a6294be486a0447fb71380070d4d5f",
"sha256:c9fd9dcf9c91affe71654ef77426f5cf8489305e1c66ed4816f5a21874b094b9",
"sha256:cddb31f8474695cd61fc9455c644fc1606c164b93bff2490390d90464b4655df",
"sha256:ce1bb21fc7d753b5f8a5d5a4bae99566386b15e716ebdb410154c16c91494d7f",
"sha256:d1c031a7572f62f66f1257db37ddab4cb98bfaf9b9434a3b4840bf3560f5e788",
"sha256:d589264dbba3b16e8951b6f145d1e6b883094075283dafcab4cdd564a9e353a0",
"sha256:dc065a4285307607df3f3686363e7f8bdd0d8ab35f12226362a847731516e42c",
"sha256:e10c440d142fa8b32cfdb194caf60ceeceb3e49807072e0dc3a8887ea80e8c16",
"sha256:e3552fe98e90fdf5918c04769f338a87fa4f00f3b28830ea9b78b1bdc6140e0d",
"sha256:e392804a38353900c3fd8b7cacbea5132888f7129f8e241915e90b85f00e3250",
"sha256:e4cecdb52aaa9994fbed6b81d4568427b6002f0a91c322697a4bfcc2b2363f5a",
"sha256:e5148ca8955affdfeb864aca158ecae11030e952b25b3ae15d4e2b5ba299bad2",
"sha256:e6b2732ef3bafc759f653a98881b5b9cdef0716d98f013d376ee8dfd7285abf1",
"sha256:ea756b5a7bac046d202a9a3889b9a92219f885481d78cd318db85b15cc0b7bcf",
"sha256:edb69b9589324bdc40961cdf0657815df674f1743a8d5ad9ab56a99e4833cfdd",
"sha256:f0203433121484b32646a5f5ea93ae86f3d9559d7243f07e8c0eab5ff8e3f70e",
"sha256:f6a19bcab7fbd8f8649d6595624856635159a6527861b9cdc3447af288a00c00",
"sha256:f752e80606b132140883bb262a457c475d219d7163d996dc9072434ffb0784c4",
"sha256:f7914ab70d2ee8ab91c13e5402122edbc77821c66d2758abb53aabe87f013287"
"sha256:00c8ac69e259c60976aa2edae3f13d9991cf079aaa4d3cd5a49168ae3748dee3",
"sha256:01816f07c9cc9d80f858615b1365f8319d6a5fd079cd668cc58e15aafbc76a54",
"sha256:02876bf2f69b062584965507b07bc06903c2dc93c57a554b64e012d636952654",
"sha256:0e9eb7e5764abcb49f0e2bd8f5731849b8728efbf26d0cac8e81384c95acec3f",
"sha256:0f6b2c5b4a4d22b8fb2c92ac98e0747f5f195e8e9448bfb7404cd77e7bfa243f",
"sha256:1982c98ac62c132d2b773d50e2fcc941eb0b8bad3ec078ce7e7877c4d5a2dce7",
"sha256:1e83fb1991e9d8982b3b36aea1e7ad27ea0ce18c14d054c7a404d68b0319eebb",
"sha256:25de43bb3cf83ad83efc8295af7310219af6dbe4c543c2e74988d8e9c8a2a917",
"sha256:28a772757c9067e2aee8a6b2b425d0efaa628c264d6416d283694c3d86da7689",
"sha256:2a4a13dfbb23977a51853b419141cd0a9b9573ab8d3a1455c6e63561387b52ff",
"sha256:2a8a6bc19818ac3e5596310ace5aa50d918e1ebdcc204dc96e2f4d505d51740c",
"sha256:2eabb269dc3852537d57589b36d7f7362e57d1ece308842ef44d9830d2dc3c90",
"sha256:35cda4e07f5e058a723436c4d2b7ba2124ab4e0aa49e6325aed5896507a8a42e",
"sha256:42d689a5c0a0c357018993e471893e939f555e302313d5c61dfc566c2cad6185",
"sha256:4586a68730bd2f2b04a83e83f79d271d8ed13763f64b75920f18a3a677b9a7f0",
"sha256:47dc018b1b220c48089b5b9382fbab94db35bef2fa192995be22cbad3c5730c8",
"sha256:507ab05d90586dacb4f26a001c3abf912eb719d05635cbfad930bdbeb469b36c",
"sha256:5194143927e494616e335d074e77a5dac7cd353a04755330c9adc984ac5a628e",
"sha256:51c3ff9c7a25f3cad5c09d9aacbc5aefb9267167c4652c1eb737989b554fe278",
"sha256:55789e93c5ed71832e7fac868167276beadf9877b85697020c46e9a75471f55f",
"sha256:5724cc77f4e648362ebbb49bdecb9e2b86d9b172c68a295263fa072e679ee69d",
"sha256:5ad8f1c19fe277eeb8bc45741c6d60ddd11d705c12a4d8ee17546acff98e0802",
"sha256:5ceb81a4db2decdfa087381b5fc5847aa448244f973e5da232610304e199e7b2",
"sha256:64815c6f02e8506b10113ddbc6b196f58dbef135751cc7c32136df27b736db09",
"sha256:66047eacbc73e6fe2462b77ce39fc170ab51235caf331e735eae91c95e6a11e4",
"sha256:669dd33f028e54fe4c96576f406ebb242ba534dd3a981ce009961bf49960f117",
"sha256:684eea71ab6e8ade86b9021bb62af4bf0881f6be4e926b6b5455de74e420783a",
"sha256:6b35aab22419ba45f8fc290d0010898de7a6ad131e468ffa3922b1b0b24e9d2e",
"sha256:7104d5b3943c6351d1ad7027d90bdd0ea002903e9f610735ac99df3b81f102ee",
"sha256:718d5deb678bc4b9d575bfe83a59270861417da071ab44542d0fcb6faa686636",
"sha256:747ec46290107a490d21fe1ff4183bef8022b848cf9516970cb31de6d9460088",
"sha256:7836587eef675a17d835ec3d98a8c9acdbeb2c1d72b0556f0edf4e855a25e9c1",
"sha256:78e4dd9c34ec7b8b121854eb5342bac8b02aa03075ae8618b6210a06bbb8a115",
"sha256:7b77ee42addbb1c36d35aca55e8cc6d0958f8419e458bb70888d8c69a4ca833d",
"sha256:7c1b20a1ace54af7db1f95af85da530fe97407d9063b7aaf9ce6a32f44730778",
"sha256:7f27eec42f6c3c1df09cfc1f6786308f8b525b8efaaf6d6bd76c1f52c6511f6a",
"sha256:82c249f2bfa5ecbe4a1a7902c81c0fba52ed9ebd0176ab3047395d02ad96cfcb",
"sha256:85fa0b18558eb1427090912bd456a01f71edab0872f4e0f9e4285571941e4090",
"sha256:89ce611b1eac93ce2ade68f1470889e0173d606de20c85a012bfa24be96cf867",
"sha256:8ce789231404ca8fff7f693cdce398abf6d90fd5dae2b1847477196c243b1fbb",
"sha256:90d571c98d19a8b6e793b34aa4df4cee1e8fe2862d65cc49185a3a3d0a1a3996",
"sha256:9229d8613bd8401182868fe95688f7581673e1c18ff78855671a4b8284f47bcb",
"sha256:93a1f7d857c4fcf7cabb1178058182c789b30d85de379e04f64c15b7e88d66fb",
"sha256:967b93f21b426f23ca37329230d5bd122f25516ae2f24a9cea95a30023ff8283",
"sha256:9840be675de208d1f68f84d578eaa4d1a36eee70b16ae31ab933520c49ba1325",
"sha256:9862d077b9ffa015dbe3ce6c081bdf35135948cb89116e26667dd183550833d1",
"sha256:9b5b37c863ad5b0892cc7a4ceb1e435e5e6acd3f2f8d3e11fa56f08d3c67b820",
"sha256:9e64ca2dbea28807f8484c13f684a2f761e69ba2640ec49dacd342763cc265ef",
"sha256:9fe4eb0e7f50cdb99b26250d9328faef30b1175a5dbcfd6d0578d18456bac567",
"sha256:a01fe9f1e05025eacdd97590895e2737b9f851d0eb2e017ae9574d9a4f0b6252",
"sha256:a08ad95fcbd595803e0c4280671d808eb170a64ca3f2980dd38e7a72ed8d1fea",
"sha256:a4fe27dbbeec445e6e1291e61d61eb212ee9fed6e47998b27de71d70d3e8777d",
"sha256:a7d474c5c1f0b9405c1565fafdc4429fa7d986ccbec7ce55bc6a330f36409cad",
"sha256:a86dc177eb4c286c19d1823ac296299f59ed8106c9536d2b559f65836e0fb2c6",
"sha256:aa36c35e94ecdb478246dd60db12aba57cfcd0abcad43c927a8876f25734d496",
"sha256:ab915a57c65f7a29353c8014ac4be685c8e4a19e792a79fe133a8e101111438e",
"sha256:af55314407714fe77a68a9ccaab90fdb5deb57342585fd4a3a8102b6d4370080",
"sha256:afcb6b275c2d2ba5d8418bf30a9654fa978b4f819c2e8db6311b3525c86fe637",
"sha256:b27961d65639128336b7a7c3f0046dcc62a9443d5ef962e3c84170ac620cec47",
"sha256:b5b95787335c483cd5f29577f42bbe027a412c5431f2f80a749c80d040f7ca9f",
"sha256:b73a2b139782a07658fbf170fe4bcdf70fc597fae5ffe75e5b67674c27434a9f",
"sha256:b88aca5adbf4625e11118df45acac29616b425833c3be7a05ef63a6a4017bfdb",
"sha256:b992778d95b60a21c4d8d4a5f15aaab2bd3c3e16466a72d7f9bfd86e8cea0d4b",
"sha256:ba40b7ae0f81c7029583a338853f6607b6d83a341a3dcde8bed1ea58a3af1df9",
"sha256:baae005092e3f200de02699314ac8933ec20abf998ec0be39448f6605bce93df",
"sha256:c4bea08a6aad9195ac9b1be6b0c7e8a702a9cec57ce6b713698b4a5afa9c2e33",
"sha256:c6070bcf2173a7146bb9e4735b3c62b2accba459a6eae44deea0eb23e0035a23",
"sha256:c929f9a7249a11e4aa5c157091cfad7f49cc6b13f4eecf9b747104befd9f56f2",
"sha256:c97be90d70f7db3aa041d720bfb95f4869d6063fcdf2bb8333764d97e319b7d0",
"sha256:ce10ddfbe26ed5856d6902162f71b8fe08545380570a885b4ab56aecfdcb07f4",
"sha256:cf1f31f83d16ec344136359001c5e871915c6ab685a3d8dee38e2961b4c81730",
"sha256:d2b25b2eeb35707113b2d570cadc7c612a57f1c5d3e7bb2b13870fe284e08fc0",
"sha256:d33851d85537bbf0f6291ddc97926a754c8f041af759e0aa0230fe939168852b",
"sha256:e06cf4852ce8c4442a59bae5a3ea01162b8fcb49ab438d8548b8dc79375dad8a",
"sha256:e271beb2b1dabec5cd84eb488bdabf9758d22ad13471e9c356be07ad139b3012",
"sha256:f55d0f242c2d1fcdf802c8fabcff25a9d85550a4cf3a9cf5f2a6b5742c992839",
"sha256:f81cba651db8795f688c589dd11a4fbb834f2e59bbf9bb50908be36e416dc760",
"sha256:fa1fb1b61881c8405829c50e9cc5c875bfdbf685edf57a76817dfb50643e4a1a",
"sha256:fa48dac27f41b36735c807d1ab093a8386701bbf00eb6b89a0f69d9fa26b3671",
"sha256:fbfef0666ae9e07abfa2c54c212ac18a1f63e13e0760a769f70b5717742f3ece",
"sha256:fe7065e2215e4bba63dc00db9ae654c1ba3950a5fff691475a32f511142fcddb"
],
"markers": "python_version >= '3.9'",
"version": "==3.11.12"
"version": "==3.11.13"
},
"aiosignal": {
"hashes": [
......@@ -180,20 +180,20 @@
},
"boto3": {
"hashes": [
"sha256:39957eabdce009353d72d131046489fbbfa15891865d5f069f1e8bfa414e6b81",
"sha256:768c8a4d4a6227fe2258105efa086f1424cba5ca915a5eb2305b2cd979306ad1"
"sha256:024c37c2f85f4b907f5fc817d0db6fda7fd6ab3c6148ee4ed35fe7cecdf7db0c",
"sha256:1bbf8bbacb3932956b7020d9a2c49d72c64e21bae9397ba6d3aadffab5e192eb"
],
"index": "pypi",
"markers": "python_version >= '3.8'",
"version": "==1.36.22"
"version": "==1.37.4"
},
"botocore": {
"hashes": [
"sha256:59520247d5a479731724f97c995d5a1c2aae3b303b324f39d99efcfad1d3019e",
"sha256:75d6b34acb0686ee4d54ff6eb285e78ccfe318407428769d1e3e13351714d890"
"sha256:7e15cd487617440e9eac3144044b6a2bd833d7f3e2bed6a2865693cc11489cc3",
"sha256:89130998c82d53f875a42646b692da507c9871b580fd1aea0f861bf9da36e41a"
],
"markers": "python_version >= '3.8'",
"version": "==1.36.22"
"version": "==1.37.4"
},
"certifi": {
"hashes": [
......@@ -273,7 +273,7 @@
"sha256:f7f5baafcc48261359e14bcd6d9bff6d4b28d9103847c9e136694cb0501aef87",
"sha256:fc48c783f9c87e60831201f2cce7f3b2e4846bf4d8728eabe54d60700b318a0b"
],
"markers": "platform_python_implementation != 'PyPy'",
"markers": "python_version >= '3.8'",
"version": "==1.17.1"
},
"charset-normalizer": {
......@@ -384,46 +384,50 @@
},
"cryptography": {
"hashes": [
"sha256:00918d859aa4e57db8299607086f793fa7813ae2ff5a4637e318a25ef82730f7",
"sha256:1e8d181e90a777b63f3f0caa836844a1182f1f265687fac2115fcf245f5fbec3",
"sha256:1f9a92144fa0c877117e9748c74501bea842f93d21ee00b0cf922846d9d0b183",
"sha256:21377472ca4ada2906bc313168c9dc7b1d7ca417b63c1c3011d0c74b7de9ae69",
"sha256:24979e9f2040c953a94bf3c6782e67795a4c260734e5264dceea65c8f4bae64a",
"sha256:2a46a89ad3e6176223b632056f321bc7de36b9f9b93b2cc1cccf935a3849dc62",
"sha256:322eb03ecc62784536bc173f1483e76747aafeb69c8728df48537eb431cd1911",
"sha256:436df4f203482f41aad60ed1813811ac4ab102765ecae7a2bbb1dbb66dcff5a7",
"sha256:4f422e8c6a28cf8b7f883eb790695d6d45b0c385a2583073f3cec434cc705e1a",
"sha256:53f23339864b617a3dfc2b0ac8d5c432625c80014c25caac9082314e9de56f41",
"sha256:5fed5cd6102bb4eb843e3315d2bf25fede494509bddadb81e03a859c1bc17b83",
"sha256:610a83540765a8d8ce0f351ce42e26e53e1f774a6efb71eb1b41eb01d01c3d12",
"sha256:6c8acf6f3d1f47acb2248ec3ea261171a671f3d9428e34ad0357148d492c7864",
"sha256:6f76fdd6fd048576a04c5210d53aa04ca34d2ed63336d4abd306d0cbe298fddf",
"sha256:72198e2b5925155497a5a3e8c216c7fb3e64c16ccee11f0e7da272fa93b35c4c",
"sha256:887143b9ff6bad2b7570da75a7fe8bbf5f65276365ac259a5d2d5147a73775f2",
"sha256:888fcc3fce0c888785a4876ca55f9f43787f4c5c1cc1e2e0da71ad481ff82c5b",
"sha256:8e6a85a93d0642bd774460a86513c5d9d80b5c002ca9693e63f6e540f1815ed0",
"sha256:94f99f2b943b354a5b6307d7e8d19f5c423a794462bde2bf310c770ba052b1c4",
"sha256:9b336599e2cb77b1008cb2ac264b290803ec5e8e89d618a5e978ff5eb6f715d9",
"sha256:a2d8a7045e1ab9b9f803f0d9531ead85f90c5f2859e653b61497228b18452008",
"sha256:b8272f257cf1cbd3f2e120f14c68bff2b6bdfcc157fafdee84a1b795efd72862",
"sha256:bf688f615c29bfe9dfc44312ca470989279f0e94bb9f631f85e3459af8efc009",
"sha256:d9c5b9f698a83c8bd71e0f4d3f9f839ef244798e5ffe96febfa9714717db7af7",
"sha256:dd7c7e2d71d908dc0f8d2027e1604102140d84b155e658c20e8ad1304317691f",
"sha256:df978682c1504fc93b3209de21aeabf2375cb1571d4e61907b3e7a2540e83026",
"sha256:e403f7f766ded778ecdb790da786b418a9f2394f36e8cc8b796cc056ab05f44f",
"sha256:eb3889330f2a4a148abead555399ec9a32b13b7c8ba969b72d8e500eb7ef84cd",
"sha256:f4daefc971c2d1f82f03097dc6f216744a6cd2ac0f04c68fb935ea2ba2a0d420",
"sha256:f51f5705ab27898afda1aaa430f34ad90dc117421057782022edf0600bec5f14",
"sha256:fd0ee90072861e276b0ff08bd627abec29e32a53b2be44e41dbcdf87cbee2b00"
"sha256:04abd71114848aa25edb28e225ab5f268096f44cf0127f3d36975bdf1bdf3390",
"sha256:0529b1d5a0105dd3731fa65680b45ce49da4d8115ea76e9da77a875396727b41",
"sha256:1bc312dfb7a6e5d66082c87c34c8a62176e684b6fe3d90fcfe1568de675e6688",
"sha256:268e4e9b177c76d569e8a145a6939eca9a5fec658c932348598818acf31ae9a5",
"sha256:29ecec49f3ba3f3849362854b7253a9f59799e3763b0c9d0826259a88efa02f1",
"sha256:2bf7bf75f7df9715f810d1b038870309342bff3069c5bd8c6b96128cb158668d",
"sha256:3b721b8b4d948b218c88cb8c45a01793483821e709afe5f622861fc6182b20a7",
"sha256:3c00b6b757b32ce0f62c574b78b939afab9eecaf597c4d624caca4f9e71e7843",
"sha256:3dc62975e31617badc19a906481deacdeb80b4bb454394b4098e3f2525a488c5",
"sha256:4973da6ca3db4405c54cd0b26d328be54c7747e89e284fcff166132eb7bccc9c",
"sha256:4e389622b6927d8133f314949a9812972711a111d577a5d1f4bee5e58736b80a",
"sha256:51e4de3af4ec3899d6d178a8c005226491c27c4ba84101bfb59c901e10ca9f79",
"sha256:5f6f90b72d8ccadb9c6e311c775c8305381db88374c65fa1a68250aa8a9cb3a6",
"sha256:6210c05941994290f3f7f175a4a57dbbb2afd9273657614c506d5976db061181",
"sha256:6f101b1f780f7fc613d040ca4bdf835c6ef3b00e9bd7125a4255ec574c7916e4",
"sha256:7bdcd82189759aba3816d1f729ce42ffded1ac304c151d0a8e89b9996ab863d5",
"sha256:7ca25849404be2f8e4b3c59483d9d3c51298a22c1c61a0e84415104dacaf5562",
"sha256:81276f0ea79a208d961c433a947029e1a15948966658cf6710bbabb60fcc2639",
"sha256:8cadc6e3b5a1f144a039ea08a0bdb03a2a92e19c46be3285123d32029f40a922",
"sha256:8e0ddd63e6bf1161800592c71ac794d3fb8001f2caebe0966e77c5234fa9efc3",
"sha256:909c97ab43a9c0c0b0ada7a1281430e4e5ec0458e6d9244c0e821bbf152f061d",
"sha256:96e7a5e9d6e71f9f4fca8eebfd603f8e86c5225bb18eb621b2c1e50b290a9471",
"sha256:9a1e657c0f4ea2a23304ee3f964db058c9e9e635cc7019c4aa21c330755ef6fd",
"sha256:9eb9d22b0a5d8fd9925a7764a054dca914000607dff201a24c791ff5c799e1fa",
"sha256:af4ff3e388f2fa7bff9f7f2b31b87d5651c45731d3e8cfa0944be43dff5cfbdb",
"sha256:b042d2a275c8cee83a4b7ae30c45a15e6a4baa65a179a0ec2d78ebb90e4f6699",
"sha256:bc821e161ae88bfe8088d11bb39caf2916562e0a2dc7b6d56714a48b784ef0bb",
"sha256:c505d61b6176aaf982c5717ce04e87da5abc9a36a5b39ac03905c4aafe8de7aa",
"sha256:c63454aa261a0cf0c5b4718349629793e9e634993538db841165b3df74f37ec0",
"sha256:c7362add18b416b69d58c910caa217f980c5ef39b23a38a0880dfd87bdf8cd23",
"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'",
"version": "==44.0.1"
"version": "==44.0.2"
},
"dbrepo": {
"hashes": [
"sha256:e2312f0d3cff34934578a16b01d646d8309e3a3d1bb4cbda9f984acf97824e00"
"sha256:ec8454f24fbf720271305ad7ae88c5e8c2d4fe10600d027874df810f18b9e848"
],
"path": "./lib/dbrepo-1.6.5.tar.gz"
"path": "./lib/dbrepo-1.7.0.tar.gz"
},
"events": {
"hashes": [
......@@ -458,11 +462,12 @@
},
"flask-cors": {
"hashes": [
"sha256:5aadb4b950c4e93745034594d9f3ea6591f734bb3662e16e255ffbf5e89c88ef",
"sha256:b9e307d082a9261c100d8fb0ba909eec6a228ed1b60a8315fd85f783d61910bc"
"sha256:6ccb38d16d6b72bbc156c1c3f192bc435bfcc3c2bc864b2df1eb9b2d97b2403c",
"sha256:fa5cb364ead54bbf401a26dbf03030c6b18fb2fcaf70408096a572b409586b0c"
],
"index": "pypi",
"version": "==5.0.0"
"markers": "python_version >= '3.9' and python_version < '4.0'",
"version": "==5.0.1"
},
"flask-httpauth": {
"hashes": [
......@@ -847,11 +852,11 @@
},
"mistune": {
"hashes": [
"sha256:02106ac2aa4f66e769debbfa028509a275069dcffce0dfa578edd7b991ee700a",
"sha256:e0740d635f515119f7d1feb6f9b192ee60f0cc649f80a8f944f905706a21654c"
"sha256:4b47731332315cdca99e0ded46fc0004001c1299ff773dfb48fbe1fd226de319",
"sha256:733bf018ba007e8b5f2d3a9eb624034f6ee26c4ea769a98ec533ee111d504dff"
],
"markers": "python_version >= '3.8'",
"version": "==3.1.1"
"version": "==3.1.2"
},
"multidict": {
"hashes": [
......@@ -1105,91 +1110,107 @@
},
"propcache": {
"hashes": [
"sha256:03ff9d3f665769b2a85e6157ac8b439644f2d7fd17615a82fa55739bc97863f4",
"sha256:049324ee97bb67285b49632132db351b41e77833678432be52bdd0289c0e05e4",
"sha256:081a430aa8d5e8876c6909b67bd2d937bfd531b0382d3fdedb82612c618bc41a",
"sha256:0f022d381747f0dfe27e99d928e31bc51a18b65bb9e481ae0af1380a6725dd1f",
"sha256:12d1083f001ace206fe34b6bdc2cb94be66d57a850866f0b908972f90996b3e9",
"sha256:14d86fe14b7e04fa306e0c43cdbeebe6b2c2156a0c9ce56b815faacc193e320d",
"sha256:160291c60081f23ee43d44b08a7e5fb76681221a8e10b3139618c5a9a291b84e",
"sha256:1672137af7c46662a1c2be1e8dc78cb6d224319aaa40271c9257d886be4363a6",
"sha256:19a0f89a7bb9d8048d9c4370c9c543c396e894c76be5525f5e1ad287f1750ddf",
"sha256:1ac2f5fe02fa75f56e1ad473f1175e11f475606ec9bd0be2e78e4734ad575034",
"sha256:1cd9a1d071158de1cc1c71a26014dcdfa7dd3d5f4f88c298c7f90ad6f27bb46d",
"sha256:1ffc3cca89bb438fb9c95c13fc874012f7b9466b89328c3c8b1aa93cdcfadd16",
"sha256:297878dc9d0a334358f9b608b56d02e72899f3b8499fc6044133f0d319e2ec30",
"sha256:2d3af2e79991102678f53e0dbf4c35de99b6b8b58f29a27ca0325816364caaba",
"sha256:30b43e74f1359353341a7adb783c8f1b1c676367b011709f466f42fda2045e95",
"sha256:3156628250f46a0895f1f36e1d4fbe062a1af8718ec3ebeb746f1d23f0c5dc4d",
"sha256:31f5af773530fd3c658b32b6bdc2d0838543de70eb9a2156c03e410f7b0d3aae",
"sha256:3935bfa5fede35fb202c4b569bb9c042f337ca4ff7bd540a0aa5e37131659348",
"sha256:39d51fbe4285d5db5d92a929e3e21536ea3dd43732c5b177c7ef03f918dff9f2",
"sha256:3f77ce728b19cb537714499928fe800c3dda29e8d9428778fc7c186da4c09a64",
"sha256:4160d9283bd382fa6c0c2b5e017acc95bc183570cd70968b9202ad6d8fc48dce",
"sha256:4a571d97dbe66ef38e472703067021b1467025ec85707d57e78711c085984e54",
"sha256:4e6281aedfca15301c41f74d7005e6e3f4ca143584ba696ac69df4f02f40d629",
"sha256:52277518d6aae65536e9cea52d4e7fd2f7a66f4aa2d30ed3f2fcea620ace3c54",
"sha256:556fc6c10989f19a179e4321e5d678db8eb2924131e64652a51fe83e4c3db0e1",
"sha256:574faa3b79e8ebac7cb1d7930f51184ba1ccf69adfdec53a12f319a06030a68b",
"sha256:58791550b27d5488b1bb52bc96328456095d96206a250d28d874fafe11b3dfaf",
"sha256:5b750a8e5a1262434fb1517ddf64b5de58327f1adc3524a5e44c2ca43305eb0b",
"sha256:5d97151bc92d2b2578ff7ce779cdb9174337390a535953cbb9452fb65164c587",
"sha256:5eee736daafa7af6d0a2dc15cc75e05c64f37fc37bafef2e00d77c14171c2097",
"sha256:6445804cf4ec763dc70de65a3b0d9954e868609e83850a47ca4f0cb64bd79fea",
"sha256:647894f5ae99c4cf6bb82a1bb3a796f6e06af3caa3d32e26d2350d0e3e3faf24",
"sha256:66d4cfda1d8ed687daa4bc0274fcfd5267873db9a5bc0418c2da19273040eeb7",
"sha256:6a9a8c34fb7bb609419a211e59da8887eeca40d300b5ea8e56af98f6fbbb1541",
"sha256:6b3f39a85d671436ee3d12c017f8fdea38509e4f25b28eb25877293c98c243f6",
"sha256:6b6fb63ae352e13748289f04f37868099e69dba4c2b3e271c46061e82c745634",
"sha256:70693319e0b8fd35dd863e3e29513875eb15c51945bf32519ef52927ca883bc3",
"sha256:781e65134efaf88feb447e8c97a51772aa75e48b794352f94cb7ea717dedda0d",
"sha256:819ce3b883b7576ca28da3861c7e1a88afd08cc8c96908e08a3f4dd64a228034",
"sha256:857112b22acd417c40fa4595db2fe28ab900c8c5fe4670c7989b1c0230955465",
"sha256:887d9b0a65404929641a9fabb6452b07fe4572b269d901d622d8a34a4e9043b2",
"sha256:8b3489ff1ed1e8315674d0775dc7d2195fb13ca17b3808721b54dbe9fd020faf",
"sha256:92fc4500fcb33899b05ba73276dfb684a20d31caa567b7cb5252d48f896a91b1",
"sha256:9403db39be1393618dd80c746cb22ccda168efce239c73af13c3763ef56ffc04",
"sha256:98110aa363f1bb4c073e8dcfaefd3a5cea0f0834c2aab23dda657e4dab2f53b5",
"sha256:999779addc413181912e984b942fbcc951be1f5b3663cd80b2687758f434c583",
"sha256:9caac6b54914bdf41bcc91e7eb9147d331d29235a7c967c150ef5df6464fd1bb",
"sha256:a7a078f5d37bee6690959c813977da5291b24286e7b962e62a94cec31aa5188b",
"sha256:a7e65eb5c003a303b94aa2c3852ef130230ec79e349632d030e9571b87c4698c",
"sha256:a96dc1fa45bd8c407a0af03b2d5218392729e1822b0c32e62c5bf7eeb5fb3958",
"sha256:aca405706e0b0a44cc6bfd41fbe89919a6a56999157f6de7e182a990c36e37bc",
"sha256:accb6150ce61c9c4b7738d45550806aa2b71c7668c6942f17b0ac182b6142fd4",
"sha256:ad1af54a62ffe39cf34db1aa6ed1a1873bd548f6401db39d8e7cd060b9211f82",
"sha256:ae1aa1cd222c6d205853b3013c69cd04515f9d6ab6de4b0603e2e1c33221303e",
"sha256:b2d0a12018b04f4cb820781ec0dffb5f7c7c1d2a5cd22bff7fb055a2cb19ebce",
"sha256:b480c6a4e1138e1aa137c0079b9b6305ec6dcc1098a8ca5196283e8a49df95a9",
"sha256:b74c261802d3d2b85c9df2dfb2fa81b6f90deeef63c2db9f0e029a3cac50b518",
"sha256:ba278acf14471d36316159c94a802933d10b6a1e117b8554fe0d0d9b75c9d536",
"sha256:bb6178c241278d5fe853b3de743087be7f5f4c6f7d6d22a3b524d323eecec505",
"sha256:bf72af5e0fb40e9babf594308911436c8efde3cb5e75b6f206c34ad18be5c052",
"sha256:bfd3223c15bebe26518d58ccf9a39b93948d3dcb3e57a20480dfdd315356baff",
"sha256:c214999039d4f2a5b2073ac506bba279945233da8c786e490d411dfc30f855c1",
"sha256:c2f992c07c0fca81655066705beae35fc95a2fa7366467366db627d9f2ee097f",
"sha256:cba4cfa1052819d16699e1d55d18c92b6e094d4517c41dd231a8b9f87b6fa681",
"sha256:cea7daf9fc7ae6687cf1e2c049752f19f146fdc37c2cc376e7d0032cf4f25347",
"sha256:cf6c4150f8c0e32d241436526f3c3f9cbd34429492abddbada2ffcff506c51af",
"sha256:d09c333d36c1409d56a9d29b3a1b800a42c76a57a5a8907eacdbce3f18768246",
"sha256:d27b84d5880f6d8aa9ae3edb253c59d9f6642ffbb2c889b78b60361eed449787",
"sha256:d2ccec9ac47cf4e04897619c0e0c1a48c54a71bdf045117d3a26f80d38ab1fb0",
"sha256:d71264a80f3fcf512eb4f18f59423fe82d6e346ee97b90625f283df56aee103f",
"sha256:d93f3307ad32a27bda2e88ec81134b823c240aa3abb55821a8da553eed8d9439",
"sha256:d9631c5e8b5b3a0fda99cb0d29c18133bca1e18aea9effe55adb3da1adef80d3",
"sha256:ddfab44e4489bd79bda09d84c430677fc7f0a4939a73d2bba3073036f487a0a6",
"sha256:e7048abd75fe40712005bcfc06bb44b9dfcd8e101dda2ecf2f5aa46115ad07ca",
"sha256:e73091191e4280403bde6c9a52a6999d69cdfde498f1fdf629105247599b57ec",
"sha256:e800776a79a5aabdb17dcc2346a7d66d0777e942e4cd251defeb084762ecd17d",
"sha256:edc9fc7051e3350643ad929df55c451899bb9ae6d24998a949d2e4c87fb596d3",
"sha256:f089118d584e859c62b3da0892b88a83d611c2033ac410e929cb6754eec0ed16",
"sha256:f174bbd484294ed9fdf09437f889f95807e5f229d5d93588d34e92106fbf6717",
"sha256:f508b0491767bb1f2b87fdfacaba5f7eddc2f867740ec69ece6d1946d29029a6",
"sha256:f7a31fc1e1bd362874863fdeed71aed92d348f5336fd84f2197ba40c59f061bd",
"sha256:f9479aa06a793c5aeba49ce5c5692ffb51fcd9a7016e017d555d5e2b0045d212"
"sha256:02df07041e0820cacc8f739510078f2aadcfd3fc57eaeeb16d5ded85c872c89e",
"sha256:03acd9ff19021bd0567582ac88f821b66883e158274183b9e5586f678984f8fe",
"sha256:03c091bb752349402f23ee43bb2bff6bd80ccab7c9df6b88ad4322258d6960fc",
"sha256:07700939b2cbd67bfb3b76a12e1412405d71019df00ca5697ce75e5ef789d829",
"sha256:0c3e893c4464ebd751b44ae76c12c5f5c1e4f6cbd6fbf67e3783cd93ad221863",
"sha256:119e244ab40f70a98c91906d4c1f4c5f2e68bd0b14e7ab0a06922038fae8a20f",
"sha256:11ae6a8a01b8a4dc79093b5d3ca2c8a4436f5ee251a9840d7790dccbd96cb649",
"sha256:15010f29fbed80e711db272909a074dc79858c6d28e2915704cfc487a8ac89c6",
"sha256:19d36bb351ad5554ff20f2ae75f88ce205b0748c38b146c75628577020351e3c",
"sha256:1c8f7d896a16da9455f882870a507567d4f58c53504dc2d4b1e1d386dfe4588a",
"sha256:2383a17385d9800b6eb5855c2f05ee550f803878f344f58b6e194de08b96352c",
"sha256:24c04f8fbf60094c531667b8207acbae54146661657a1b1be6d3ca7773b7a545",
"sha256:2578541776769b500bada3f8a4eeaf944530516b6e90c089aa368266ed70c49e",
"sha256:26a67e5c04e3119594d8cfae517f4b9330c395df07ea65eab16f3d559b7068fe",
"sha256:2b975528998de037dfbc10144b8aed9b8dd5a99ec547f14d1cb7c5665a43f075",
"sha256:2d15bc27163cd4df433e75f546b9ac31c1ba7b0b128bfb1b90df19082466ff57",
"sha256:2d913d36bdaf368637b4f88d554fb9cb9d53d6920b9c5563846555938d5450bf",
"sha256:3302c5287e504d23bb0e64d2a921d1eb4a03fb93a0a0aa3b53de059f5a5d737d",
"sha256:36ca5e9a21822cc1746023e88f5c0af6fce3af3b85d4520efb1ce4221bed75cc",
"sha256:3b812b3cb6caacd072276ac0492d249f210006c57726b6484a1e1805b3cfeea0",
"sha256:3c6ec957025bf32b15cbc6b67afe233c65b30005e4c55fe5768e4bb518d712f1",
"sha256:41de3da5458edd5678b0f6ff66691507f9885f5fe6a0fb99a5d10d10c0fd2d64",
"sha256:42924dc0c9d73e49908e35bbdec87adedd651ea24c53c29cac103ede0ea1d340",
"sha256:4544699674faf66fb6b4473a1518ae4999c1b614f0b8297b1cef96bac25381db",
"sha256:46ed02532cb66612d42ae5c3929b5e98ae330ea0f3900bc66ec5f4862069519b",
"sha256:49ea05212a529c2caffe411e25a59308b07d6e10bf2505d77da72891f9a05641",
"sha256:4fa0e7c9c3cf7c276d4f6ab9af8adddc127d04e0fcabede315904d2ff76db626",
"sha256:507c5357a8d8b4593b97fb669c50598f4e6cccbbf77e22fa9598aba78292b4d7",
"sha256:549722908de62aa0b47a78b90531c022fa6e139f9166be634f667ff45632cc92",
"sha256:58e6d2a5a7cb3e5f166fd58e71e9a4ff504be9dc61b88167e75f835da5764d07",
"sha256:5a16167118677d94bb48bfcd91e420088854eb0737b76ec374b91498fb77a70e",
"sha256:5d62c4f6706bff5d8a52fd51fec6069bef69e7202ed481486c0bc3874912c787",
"sha256:5fa159dcee5dba00c1def3231c249cf261185189205073bde13797e57dd7540a",
"sha256:6032231d4a5abd67c7f71168fd64a47b6b451fbcb91c8397c2f7610e67683810",
"sha256:63f26258a163c34542c24808f03d734b338da66ba91f410a703e505c8485791d",
"sha256:65a37714b8ad9aba5780325228598a5b16c47ba0f8aeb3dc0514701e4413d7c0",
"sha256:67054e47c01b7b349b94ed0840ccae075449503cf1fdd0a1fdd98ab5ddc2667b",
"sha256:67dda3c7325691c2081510e92c561f465ba61b975f481735aefdfc845d2cd043",
"sha256:6985a593417cdbc94c7f9c3403747335e450c1599da1647a5af76539672464d3",
"sha256:6a1948df1bb1d56b5e7b0553c0fa04fd0e320997ae99689488201f19fa90d2e7",
"sha256:6b5b7fd6ee7b54e01759f2044f936dcf7dea6e7585f35490f7ca0420fe723c0d",
"sha256:6c929916cbdb540d3407c66f19f73387f43e7c12fa318a66f64ac99da601bcdf",
"sha256:6f4d7a7c0aff92e8354cceca6fe223973ddf08401047920df0fcb24be2bd5138",
"sha256:728af36011bb5d344c4fe4af79cfe186729efb649d2f8b395d1572fb088a996c",
"sha256:742840d1d0438eb7ea4280f3347598f507a199a35a08294afdcc560c3739989d",
"sha256:75e872573220d1ee2305b35c9813626e620768248425f58798413e9c39741f46",
"sha256:794c3dd744fad478b6232289c866c25406ecdfc47e294618bdf1697e69bd64a6",
"sha256:7c0fdbdf6983526e269e5a8d53b7ae3622dd6998468821d660d0daf72779aefa",
"sha256:7c5f5290799a3f6539cc5e6f474c3e5c5fbeba74a5e1e5be75587746a940d51e",
"sha256:7c6e7e4f9167fddc438cd653d826f2222222564daed4116a02a184b464d3ef05",
"sha256:7cedd25e5f678f7738da38037435b340694ab34d424938041aa630d8bac42663",
"sha256:7e2e068a83552ddf7a39a99488bcba05ac13454fb205c847674da0352602082f",
"sha256:8319293e85feadbbfe2150a5659dbc2ebc4afdeaf7d98936fb9a2f2ba0d4c35c",
"sha256:8526b0941ec5a40220fc4dfde76aed58808e2b309c03e9fa8e2260083ef7157f",
"sha256:8884ba1a0fe7210b775106b25850f5e5a9dc3c840d1ae9924ee6ea2eb3acbfe7",
"sha256:8cb625bcb5add899cb8ba7bf716ec1d3e8f7cdea9b0713fa99eadf73b6d4986f",
"sha256:8d663fd71491dde7dfdfc899d13a067a94198e90695b4321084c6e450743b8c7",
"sha256:8ee1983728964d6070ab443399c476de93d5d741f71e8f6e7880a065f878e0b9",
"sha256:997e7b8f173a391987df40f3b52c423e5850be6f6df0dcfb5376365440b56667",
"sha256:9be90eebc9842a93ef8335291f57b3b7488ac24f70df96a6034a13cb58e6ff86",
"sha256:9ddd49258610499aab83b4f5b61b32e11fce873586282a0e972e5ab3bcadee51",
"sha256:9ecde3671e62eeb99e977f5221abcf40c208f69b5eb986b061ccec317c82ebd0",
"sha256:9ff4e9ecb6e4b363430edf2c6e50173a63e0820e549918adef70515f87ced19a",
"sha256:a254537b9b696ede293bfdbc0a65200e8e4507bc9f37831e2a0318a9b333c85c",
"sha256:a2b9bf8c79b660d0ca1ad95e587818c30ccdb11f787657458d6f26a1ea18c568",
"sha256:a61a68d630e812b67b5bf097ab84e2cd79b48c792857dc10ba8a223f5b06a2af",
"sha256:a7080b0159ce05f179cfac592cda1a82898ca9cd097dacf8ea20ae33474fbb25",
"sha256:a8fd93de4e1d278046345f49e2238cdb298589325849b2645d4a94c53faeffc5",
"sha256:a94ffc66738da99232ddffcf7910e0f69e2bbe3a0802e54426dbf0714e1c2ffe",
"sha256:aa806bbc13eac1ab6291ed21ecd2dd426063ca5417dd507e6be58de20e58dfcf",
"sha256:b0c1a133d42c6fc1f5fbcf5c91331657a1ff822e87989bf4a6e2e39b818d0ee9",
"sha256:b58229a844931bca61b3a20efd2be2a2acb4ad1622fc026504309a6883686fbf",
"sha256:bb2f144c6d98bb5cbc94adeb0447cfd4c0f991341baa68eee3f3b0c9c0e83767",
"sha256:be90c94570840939fecedf99fa72839aed70b0ced449b415c85e01ae67422c90",
"sha256:bf0d9a171908f32d54f651648c7290397b8792f4303821c42a74e7805bfb813c",
"sha256:bf15fc0b45914d9d1b706f7c9c4f66f2b7b053e9517e40123e137e8ca8958b3d",
"sha256:bf4298f366ca7e1ad1d21bbb58300a6985015909964077afd37559084590c929",
"sha256:c441c841e82c5ba7a85ad25986014be8d7849c3cfbdb6004541873505929a74e",
"sha256:cacea77ef7a2195f04f9279297684955e3d1ae4241092ff0cfcef532bb7a1c32",
"sha256:cd54895e4ae7d32f1e3dd91261df46ee7483a735017dc6f987904f194aa5fd14",
"sha256:d1323cd04d6e92150bcc79d0174ce347ed4b349d748b9358fd2e497b121e03c8",
"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'",
"version": "==0.2.1"
"version": "==0.3.0"
},
"pycparser": {
"hashes": [
......@@ -1453,128 +1474,128 @@
},
"rpds-py": {
"hashes": [
"sha256:009de23c9c9ee54bf11303a966edf4d9087cd43a6003672e6aa7def643d06518",
"sha256:02fbb9c288ae08bcb34fb41d516d5eeb0455ac35b5512d03181d755d80810059",
"sha256:0a0461200769ab3b9ab7e513f6013b7a97fdeee41c29b9db343f3c5a8e2b9e61",
"sha256:0b09865a9abc0ddff4e50b5ef65467cd94176bf1e0004184eb915cbc10fc05c5",
"sha256:0b8db6b5b2d4491ad5b6bdc2bc7c017eec108acbf4e6785f42a9eb0ba234f4c9",
"sha256:0c150c7a61ed4a4f4955a96626574e9baf1adf772c2fb61ef6a5027e52803543",
"sha256:0f3cec041684de9a4684b1572fe28c7267410e02450f4561700ca5a3bc6695a2",
"sha256:1352ae4f7c717ae8cba93421a63373e582d19d55d2ee2cbb184344c82d2ae55a",
"sha256:177c7c0fce2855833819c98e43c262007f42ce86651ffbb84f37883308cb0e7d",
"sha256:1978d0021e943aae58b9b0b196fb4895a25cc53d3956b8e35e0b7682eefb6d56",
"sha256:1a60bce91f81ddaac922a40bbb571a12c1070cb20ebd6d49c48e0b101d87300d",
"sha256:1aef18820ef3e4587ebe8b3bc9ba6e55892a6d7b93bac6d29d9f631a3b4befbd",
"sha256:1e9663daaf7a63ceccbbb8e3808fe90415b0757e2abddbfc2e06c857bf8c5e2b",
"sha256:20070c65396f7373f5df4005862fa162db5d25d56150bddd0b3e8214e8ef45b4",
"sha256:214b7a953d73b5e87f0ebece4a32a5bd83c60a3ecc9d4ec8f1dca968a2d91e99",
"sha256:22bebe05a9ffc70ebfa127efbc429bc26ec9e9b4ee4d15a740033efda515cf3d",
"sha256:24e8abb5878e250f2eb0d7859a8e561846f98910326d06c0d51381fed59357bd",
"sha256:26fd7cac7dd51011a245f29a2cc6489c4608b5a8ce8d75661bb4a1066c52dfbe",
"sha256:27b1d3b3915a99208fee9ab092b8184c420f2905b7d7feb4aeb5e4a9c509b8a1",
"sha256:27e98004595899949bd7a7b34e91fa7c44d7a97c40fcaf1d874168bb652ec67e",
"sha256:2b8f60e1b739a74bab7e01fcbe3dddd4657ec685caa04681df9d562ef15b625f",
"sha256:2de29005e11637e7a2361fa151f780ff8eb2543a0da1413bb951e9f14b699ef3",
"sha256:2e8b55d8517a2fda8d95cb45d62a5a8bbf9dd0ad39c5b25c8833efea07b880ca",
"sha256:2fa4331c200c2521512595253f5bb70858b90f750d39b8cbfd67465f8d1b596d",
"sha256:3445e07bf2e8ecfeef6ef67ac83de670358abf2996916039b16a218e3d95e97e",
"sha256:3453e8d41fe5f17d1f8e9c383a7473cd46a63661628ec58e07777c2fff7196dc",
"sha256:378753b4a4de2a7b34063d6f95ae81bfa7b15f2c1a04a9518e8644e81807ebea",
"sha256:3af6e48651c4e0d2d166dc1b033b7042ea3f871504b6805ba5f4fe31581d8d38",
"sha256:3dfcbc95bd7992b16f3f7ba05af8a64ca694331bd24f9157b49dadeeb287493b",
"sha256:3f21f0495edea7fdbaaa87e633a8689cd285f8f4af5c869f27bc8074638ad69c",
"sha256:4041711832360a9b75cfb11b25a6a97c8fb49c07b8bd43d0d02b45d0b499a4ff",
"sha256:44d61b4b7d0c2c9ac019c314e52d7cbda0ae31078aabd0f22e583af3e0d79723",
"sha256:4617e1915a539a0d9a9567795023de41a87106522ff83fbfaf1f6baf8e85437e",
"sha256:4b232061ca880db21fa14defe219840ad9b74b6158adb52ddf0e87bead9e8493",
"sha256:5246b14ca64a8675e0a7161f7af68fe3e910e6b90542b4bfb5439ba752191df6",
"sha256:5725dd9cc02068996d4438d397e255dcb1df776b7ceea3b9cb972bdb11260a83",
"sha256:583f6a1993ca3369e0f80ba99d796d8e6b1a3a2a442dd4e1a79e652116413091",
"sha256:59259dc58e57b10e7e18ce02c311804c10c5a793e6568f8af4dead03264584d1",
"sha256:593eba61ba0c3baae5bc9be2f5232430453fb4432048de28399ca7376de9c627",
"sha256:59f4a79c19232a5774aee369a0c296712ad0e77f24e62cad53160312b1c1eaa1",
"sha256:5f0e260eaf54380380ac3808aa4ebe2d8ca28b9087cf411649f96bad6900c728",
"sha256:62d9cfcf4948683a18a9aff0ab7e1474d407b7bab2ca03116109f8464698ab16",
"sha256:64607d4cbf1b7e3c3c8a14948b99345eda0e161b852e122c6bb71aab6d1d798c",
"sha256:655ca44a831ecb238d124e0402d98f6212ac527a0ba6c55ca26f616604e60a45",
"sha256:666ecce376999bf619756a24ce15bb14c5bfaf04bf00abc7e663ce17c3f34fe7",
"sha256:68049202f67380ff9aa52f12e92b1c30115f32e6895cd7198fa2a7961621fc5a",
"sha256:69803198097467ee7282750acb507fba35ca22cc3b85f16cf45fb01cb9097730",
"sha256:6c7b99ca52c2c1752b544e310101b98a659b720b21db00e65edca34483259967",
"sha256:6dd9412824c4ce1aca56c47b0991e65bebb7ac3f4edccfd3f156150c96a7bf25",
"sha256:70eb60b3ae9245ddea20f8a4190bd79c705a22f8028aaf8bbdebe4716c3fab24",
"sha256:70fb28128acbfd264eda9bf47015537ba3fe86e40d046eb2963d75024be4d055",
"sha256:7b2513ba235829860b13faa931f3b6846548021846ac808455301c23a101689d",
"sha256:7ef9d9da710be50ff6809fed8f1963fecdfecc8b86656cadfca3bc24289414b0",
"sha256:81e69b0a0e2537f26d73b4e43ad7bc8c8efb39621639b4434b76a3de50c6966e",
"sha256:8633e471c6207a039eff6aa116e35f69f3156b3989ea3e2d755f7bc41754a4a7",
"sha256:8bd7c8cfc0b8247c8799080fbff54e0b9619e17cdfeb0478ba7295d43f635d7c",
"sha256:9253fc214112405f0afa7db88739294295f0e08466987f1d70e29930262b4c8f",
"sha256:99b37292234e61325e7a5bb9689e55e48c3f5f603af88b1642666277a81f1fbd",
"sha256:9bd7228827ec7bb817089e2eb301d907c0d9827a9e558f22f762bb690b131652",
"sha256:9beeb01d8c190d7581a4d59522cd3d4b6887040dcfc744af99aa59fef3e041a8",
"sha256:a63cbdd98acef6570c62b92a1e43266f9e8b21e699c363c0fef13bd530799c11",
"sha256:a76e42402542b1fae59798fab64432b2d015ab9d0c8c47ba7addddbaf7952333",
"sha256:ac0a03221cdb5058ce0167ecc92a8c89e8d0decdc9e99a2ec23380793c4dcb96",
"sha256:b0b4136a252cadfa1adb705bb81524eee47d9f6aab4f2ee4fa1e9d3cd4581f64",
"sha256:b25bc607423935079e05619d7de556c91fb6adeae9d5f80868dde3468657994b",
"sha256:b3d504047aba448d70cf6fa22e06cb09f7cbd761939fdd47604f5e007675c24e",
"sha256:bb47271f60660803ad11f4c61b42242b8c1312a31c98c578f79ef9387bbde21c",
"sha256:bbb232860e3d03d544bc03ac57855cd82ddf19c7a07651a7c0fdb95e9efea8b9",
"sha256:bc27863442d388870c1809a87507727b799c8460573cfbb6dc0eeaef5a11b5ec",
"sha256:bc51abd01f08117283c5ebf64844a35144a0843ff7b2983e0648e4d3d9f10dbb",
"sha256:be2eb3f2495ba669d2a985f9b426c1797b7d48d6963899276d22f23e33d47e37",
"sha256:bf9db5488121b596dbfc6718c76092fda77b703c1f7533a226a5a9f65248f8ad",
"sha256:c58e2339def52ef6b71b8f36d13c3688ea23fa093353f3a4fee2556e62086ec9",
"sha256:cfbc454a2880389dbb9b5b398e50d439e2e58669160f27b60e5eca11f68ae17c",
"sha256:cff63a0272fcd259dcc3be1657b07c929c466b067ceb1c20060e8d10af56f5bf",
"sha256:d115bffdd417c6d806ea9069237a4ae02f513b778e3789a359bc5856e0404cc4",
"sha256:d20cfb4e099748ea39e6f7b16c91ab057989712d31761d3300d43134e26e165f",
"sha256:d48424e39c2611ee1b84ad0f44fb3b2b53d473e65de061e3f460fc0be5f1939d",
"sha256:e0fa2d4ec53dc51cf7d3bb22e0aa0143966119f42a0c3e4998293a3dd2856b09",
"sha256:e32fee8ab45d3c2db6da19a5323bc3362237c8b653c70194414b892fd06a080d",
"sha256:e35ba67d65d49080e8e5a1dd40101fccdd9798adb9b050ff670b7d74fa41c566",
"sha256:e3fb866d9932a3d7d0c82da76d816996d1667c44891bd861a0f97ba27e84fc74",
"sha256:e61b02c3f7a1e0b75e20c3978f7135fd13cb6cf551bf4a6d29b999a88830a338",
"sha256:e67ba3c290821343c192f7eae1d8fd5999ca2dc99994114643e2f2d3e6138b15",
"sha256:e79dd39f1e8c3504be0607e5fc6e86bb60fe3584bec8b782578c3b0fde8d932c",
"sha256:e89391e6d60251560f0a8f4bd32137b077a80d9b7dbe6d5cab1cd80d2746f648",
"sha256:ea7433ce7e4bfc3a85654aeb6747babe3f66eaf9a1d0c1e7a4435bbdf27fea84",
"sha256:eaf16ae9ae519a0e237a0f528fd9f0197b9bb70f40263ee57ae53c2b8d48aeb3",
"sha256:eb0c341fa71df5a4595f9501df4ac5abfb5a09580081dffbd1ddd4654e6e9123",
"sha256:f276b245347e6e36526cbd4a266a417796fc531ddf391e43574cf6466c492520",
"sha256:f47ad3d5f3258bd7058d2d506852217865afefe6153a36eb4b6928758041d831",
"sha256:f56a6b404f74ab372da986d240e2e002769a7d7102cc73eb238a4f72eec5284e",
"sha256:f5cf2a0c2bdadf3791b5c205d55a37a54025c6e18a71c71f82bb536cf9a454bf",
"sha256:f5d36399a1b96e1a5fdc91e0522544580dbebeb1f77f27b2b0ab25559e103b8b",
"sha256:f60bd8423be1d9d833f230fdbccf8f57af322d96bcad6599e5a771b151398eb2",
"sha256:f612463ac081803f243ff13cccc648578e2279295048f2a8d5eb430af2bae6e3",
"sha256:f73d3fef726b3243a811121de45193c0ca75f6407fe66f3f4e183c983573e130",
"sha256:f82a116a1d03628a8ace4859556fb39fd1424c933341a08ea3ed6de1edb0283b",
"sha256:fb0ba113b4983beac1a2eb16faffd76cb41e176bf58c4afe3e14b9c681f702de",
"sha256:fb4f868f712b2dd4bcc538b0a0c1f63a2b1d584c925e69a224d759e7070a12d5",
"sha256:fb6116dfb8d1925cbdb52595560584db42a7f664617a1f7d7f6e32f138cdf37d",
"sha256:fda7cb070f442bf80b642cd56483b5548e43d366fe3f39b98e67cce780cded00",
"sha256:feea821ee2a9273771bae61194004ee2fc33f8ec7db08117ef9147d4bbcbca8e"
"sha256:09cd7dbcb673eb60518231e02874df66ec1296c01a4fcd733875755c02014b19",
"sha256:0f3288930b947cbebe767f84cf618d2cbe0b13be476e749da0e6a009f986248c",
"sha256:0fced9fd4a07a1ded1bac7e961ddd9753dd5d8b755ba8e05acba54a21f5f1522",
"sha256:112b8774b0b4ee22368fec42749b94366bd9b536f8f74c3d4175d4395f5cbd31",
"sha256:11dd60b2ffddba85715d8a66bb39b95ddbe389ad2cfcf42c833f1bcde0878eaf",
"sha256:178f8a60fc24511c0eb756af741c476b87b610dba83270fce1e5a430204566a4",
"sha256:1b08027489ba8fedde72ddd233a5ea411b85a6ed78175f40285bd401bde7466d",
"sha256:1bf5be5ba34e19be579ae873da515a2836a2166d8d7ee43be6ff909eda42b72b",
"sha256:1ed7de3c86721b4e83ac440751329ec6a1102229aa18163f84c75b06b525ad7e",
"sha256:1eedaaccc9bb66581d4ae7c50e15856e335e57ef2734dbc5fd8ba3e2a4ab3cb6",
"sha256:243241c95174b5fb7204c04595852fe3943cc41f47aa14c3828bc18cd9d3b2d6",
"sha256:26bb3e8de93443d55e2e748e9fd87deb5f8075ca7bc0502cfc8be8687d69a2ec",
"sha256:271fa2184cf28bdded86bb6217c8e08d3a169fe0bbe9be5e8d96e8476b707122",
"sha256:28358c54fffadf0ae893f6c1050e8f8853e45df22483b7fff2f6ab6152f5d8bf",
"sha256:285019078537949cecd0190f3690a0b0125ff743d6a53dfeb7a4e6787af154f5",
"sha256:2893d778d4671ee627bac4037a075168b2673c57186fb1a57e993465dbd79a93",
"sha256:2a54027554ce9b129fc3d633c92fa33b30de9f08bc61b32c053dc9b537266fed",
"sha256:2c6ae11e6e93728d86aafc51ced98b1658a0080a7dd9417d24bfb955bb09c3c2",
"sha256:2cfa07c346a7ad07019c33fb9a63cf3acb1f5363c33bc73014e20d9fe8b01cdd",
"sha256:35d5631ce0af26318dba0ae0ac941c534453e42f569011585cb323b7774502a5",
"sha256:3614d280bf7aab0d3721b5ce0e73434acb90a2c993121b6e81a1c15c665298ac",
"sha256:3902df19540e9af4cc0c3ae75974c65d2c156b9257e91f5101a51f99136d834c",
"sha256:3aaf141d39f45322e44fc2c742e4b8b4098ead5317e5f884770c8df0c332da70",
"sha256:3d8abf7896a91fb97e7977d1aadfcc2c80415d6dc2f1d0fca5b8d0df247248f3",
"sha256:3e77febf227a1dc3220159355dba68faa13f8dca9335d97504abf428469fb18b",
"sha256:3e9212f52074fc9d72cf242a84063787ab8e21e0950d4d6709886fb62bcb91d5",
"sha256:3ee9d6f0b38efb22ad94c3b68ffebe4c47865cdf4b17f6806d6c674e1feb4246",
"sha256:4233df01a250b3984465faed12ad472f035b7cd5240ea3f7c76b7a7016084495",
"sha256:4263320ed887ed843f85beba67f8b2d1483b5947f2dc73a8b068924558bfeace",
"sha256:4ab923167cfd945abb9b51a407407cf19f5bee35001221f2911dc85ffd35ff4f",
"sha256:4caafd1a22e5eaa3732acb7672a497123354bef79a9d7ceed43387d25025e935",
"sha256:50fb62f8d8364978478b12d5f03bf028c6bc2af04082479299139dc26edf4c64",
"sha256:55ff4151cfd4bc635e51cfb1c59ac9f7196b256b12e3a57deb9e5742e65941ad",
"sha256:5b98b6c953e5c2bda51ab4d5b4f172617d462eebc7f4bfdc7c7e6b423f6da957",
"sha256:5c9ff044eb07c8468594d12602291c635da292308c8c619244e30698e7fc455a",
"sha256:5e9c206a1abc27e0588cf8b7c8246e51f1a16a103734f7750830a1ccb63f557a",
"sha256:5fb89edee2fa237584e532fbf78f0ddd1e49a47c7c8cfa153ab4849dc72a35e6",
"sha256:633462ef7e61d839171bf206551d5ab42b30b71cac8f10a64a662536e057fdef",
"sha256:66f8d2a17e5838dd6fb9be6baaba8e75ae2f5fa6b6b755d597184bfcd3cb0eba",
"sha256:6959bb9928c5c999aba4a3f5a6799d571ddc2c59ff49917ecf55be2bbb4e3722",
"sha256:698a79d295626ee292d1730bc2ef6e70a3ab135b1d79ada8fde3ed0047b65a10",
"sha256:721f9c4011b443b6e84505fc00cc7aadc9d1743f1c988e4c89353e19c4a968ee",
"sha256:72e680c1518733b73c994361e4b06441b92e973ef7d9449feec72e8ee4f713da",
"sha256:75307599f0d25bf6937248e5ac4e3bde5ea72ae6618623b86146ccc7845ed00b",
"sha256:754fba3084b70162a6b91efceee8a3f06b19e43dac3f71841662053c0584209a",
"sha256:759462b2d0aa5a04be5b3e37fb8183615f47014ae6b116e17036b131985cb731",
"sha256:7938c7b0599a05246d704b3f5e01be91a93b411d0d6cc62275f025293b8a11ce",
"sha256:7b77e07233925bd33fc0022b8537774423e4c6680b6436316c5075e79b6384f4",
"sha256:7e5413d2e2d86025e73f05510ad23dad5950ab8417b7fc6beaad99be8077138b",
"sha256:7f3240dcfa14d198dba24b8b9cb3b108c06b68d45b7babd9eefc1038fdf7e707",
"sha256:7f9682a8f71acdf59fd554b82b1c12f517118ee72c0f3944eda461606dfe7eb9",
"sha256:8d67beb6002441faef8251c45e24994de32c4c8686f7356a1f601ad7c466f7c3",
"sha256:9441af1d25aed96901f97ad83d5c3e35e6cd21a25ca5e4916c82d7dd0490a4fa",
"sha256:98b257ae1e83f81fb947a363a274c4eb66640212516becaff7bef09a5dceacaa",
"sha256:9e9f3a3ac919406bc0414bbbd76c6af99253c507150191ea79fab42fdb35982a",
"sha256:a1c66e71ecfd2a4acf0e4bd75e7a3605afa8f9b28a3b497e4ba962719df2be57",
"sha256:a1e17d8dc8e57d8e0fd21f8f0f0a5211b3fa258b2e444c2053471ef93fe25a00",
"sha256:a20cb698c4a59c534c6701b1c24a968ff2768b18ea2991f886bd8985ce17a89f",
"sha256:a970bfaf130c29a679b1d0a6e0f867483cea455ab1535fb427566a475078f27f",
"sha256:a98f510d86f689fcb486dc59e6e363af04151e5260ad1bdddb5625c10f1e95f8",
"sha256:a9d3b728f5a5873d84cba997b9d617c6090ca5721caaa691f3b1a78c60adc057",
"sha256:ad76f44f70aac3a54ceb1813ca630c53415da3a24fd93c570b2dfb4856591017",
"sha256:ae28144c1daa61366205d32abd8c90372790ff79fc60c1a8ad7fd3c8553a600e",
"sha256:b03a8d50b137ee758e4c73638b10747b7c39988eb8e6cd11abb7084266455165",
"sha256:b5a96fcac2f18e5a0a23a75cd27ce2656c66c11c127b0318e508aab436b77428",
"sha256:b5ef909a37e9738d146519657a1aab4584018746a18f71c692f2f22168ece40c",
"sha256:b79f5ced71efd70414a9a80bbbfaa7160da307723166f09b69773153bf17c590",
"sha256:b91cceb5add79ee563bd1f70b30896bd63bc5f78a11c1f00a1e931729ca4f1f4",
"sha256:b92f5654157de1379c509b15acec9d12ecf6e3bc1996571b6cb82a4302060447",
"sha256:c04ca91dda8a61584165825907f5c967ca09e9c65fe8966ee753a3f2b019fe1e",
"sha256:c1f8afa346ccd59e4e5630d5abb67aba6a9812fddf764fd7eb11f382a345f8cc",
"sha256:c5334a71f7dc1160382d45997e29f2637c02f8a26af41073189d79b95d3321f1",
"sha256:c617d7453a80e29d9973b926983b1e700a9377dbe021faa36041c78537d7b08c",
"sha256:c632419c3870507ca20a37c8f8f5352317aca097639e524ad129f58c125c61c6",
"sha256:c6760211eee3a76316cf328f5a8bd695b47b1626d21c8a27fb3b2473a884d597",
"sha256:c698d123ce5d8f2d0cd17f73336615f6a2e3bdcedac07a1291bb4d8e7d82a05a",
"sha256:c76b32eb2ab650a29e423525e84eb197c45504b1c1e6e17b6cc91fcfeb1a4b1d",
"sha256:c8f7e90b948dc9dcfff8003f1ea3af08b29c062f681c05fd798e36daa3f7e3e8",
"sha256:c9e799dac1ffbe7b10c1fd42fe4cd51371a549c6e108249bde9cd1200e8f59b4",
"sha256:cafa48f2133d4daa028473ede7d81cd1b9f9e6925e9e4003ebdf77010ee02f35",
"sha256:ce473a2351c018b06dd8d30d5da8ab5a0831056cc53b2006e2a8028172c37ce5",
"sha256:d31ed4987d72aabdf521eddfb6a72988703c091cfc0064330b9e5f8d6a042ff5",
"sha256:d550d7e9e7d8676b183b37d65b5cd8de13676a738973d330b59dc8312df9c5dc",
"sha256:d6adb81564af0cd428910f83fa7da46ce9ad47c56c0b22b50872bc4515d91966",
"sha256:d6f6512a90bd5cd9030a6237f5346f046c6f0e40af98657568fa45695d4de59d",
"sha256:d7031d493c4465dbc8d40bd6cafefef4bd472b17db0ab94c53e7909ee781b9ef",
"sha256:d9f75a06ecc68f159d5d7603b734e1ff6daa9497a929150f794013aa9f6e3f12",
"sha256:db7707dde9143a67b8812c7e66aeb2d843fe33cc8e374170f4d2c50bd8f2472d",
"sha256:e0397dd0b3955c61ef9b22838144aa4bef6f0796ba5cc8edfc64d468b93798b4",
"sha256:e0df046f2266e8586cf09d00588302a32923eb6386ced0ca5c9deade6af9a149",
"sha256:e14f86b871ea74c3fddc9a40e947d6a5d09def5adc2076ee61fb910a9014fb35",
"sha256:e5963ea87f88bddf7edd59644a35a0feecf75f8985430124c253612d4f7d27ae",
"sha256:e768267cbe051dd8d1c5305ba690bb153204a09bf2e3de3ae530de955f5b5580",
"sha256:e9cb79ecedfc156c0692257ac7ed415243b6c35dd969baa461a6888fc79f2f07",
"sha256:ed6f011bedca8585787e5082cce081bac3d30f54520097b2411351b3574e1219",
"sha256:f3429fb8e15b20961efca8c8b21432623d85db2228cc73fe22756c6637aa39e7",
"sha256:f35eff113ad430b5272bbfc18ba111c66ff525828f24898b4e146eb479a2cdda",
"sha256:f3a6cb95074777f1ecda2ca4fa7717caa9ee6e534f42b7575a8f0d4cb0c24013",
"sha256:f7356a6da0562190558c4fcc14f0281db191cdf4cb96e7604c06acfcee96df15",
"sha256:f88626e3f5e57432e6191cd0c5d6d6b319b635e70b40be2ffba713053e5147dd",
"sha256:fad784a31869747df4ac968a351e070c06ca377549e4ace94775aaa3ab33ee06",
"sha256:fc869af5cba24d45fb0399b0cfdbcefcf6910bf4dee5d74036a57cf5264b3ff4",
"sha256:fee513135b5a58f3bb6d89e48326cd5aa308e4bcdf2f7d59f67c861ada482bf8"
],
"markers": "python_version >= '3.9'",
"version": "==0.22.3"
"version": "==0.23.1"
},
"s3transfer": {
"hashes": [
"sha256:3b39185cb72f5acc77db1a58b6e25b977f28d20496b6e58d6813d75f464d632f",
"sha256:be6ecb39fadd986ef1701097771f87e4d2f821f27f6071c872143884d2950fbc"
"sha256:ca855bdeb885174b5ffa95b9913622459d4ad8e331fc98eb01e6d5eb6a30655d",
"sha256:edae4977e3a122445660c7c114bba949f9d191bae3b34a096f18a1c8c354527a"
],
"markers": "python_version >= '3.8'",
"version": "==0.11.2"
"version": "==0.11.3"
},
"setuptools": {
"hashes": [
"sha256:c5afc8f407c626b8313a86e10311dd3f661c6cd9c09d4bf8c15c0e11f9f2b0e6",
"sha256:e3982f444617239225d675215d51f6ba05f845d4eec313da4418fdbb56fb27e3"
"sha256:4880473a969e5f23f2a2be3646b2dfd84af9028716d398e46192f84bc36900d2",
"sha256:558e47c15f1811c1fa7adbd0096669bf76c1d3f433f58324df69f3f5ecac4e8f"
],
"markers": "python_version >= '3.9'",
"version": "==75.8.0"
"version": "==75.8.2"
},
"six": {
"hashes": [
......@@ -1886,7 +1907,7 @@
"sha256:f7f5baafcc48261359e14bcd6d9bff6d4b28d9103847c9e136694cb0501aef87",
"sha256:fc48c783f9c87e60831201f2cce7f3b2e4846bf4d8728eabe54d60700b318a0b"
],
"markers": "platform_python_implementation != 'PyPy'",
"markers": "python_version >= '3.8'",
"version": "==1.17.1"
},
"charset-normalizer": {
......@@ -2169,12 +2190,12 @@
},
"pytest": {
"hashes": [
"sha256:50e16d954148559c9a74109af1eaf0c945ba2d8f30f0a3d3335edde19788b6f6",
"sha256:965370d062bce11e73868e0335abac31b4d3de0e82f4007408d242b4f8610761"
"sha256:c69214aa47deac29fad6c2a4f590b9c4a9fdb16a403176fe154b79c0b4d4d820",
"sha256:f4efe70cc14e511565ac476b57c279e12a855b11f48f212af1080ef2263d3845"
],
"index": "pypi",
"markers": "python_version >= '3.8'",
"version": "==8.3.4"
"version": "==8.3.5"
},
"python-dateutil": {
"hashes": [
......