diff --git a/.docker/.env b/.docker/.env index 821b16a5c08b6577f7aa1728baded9960c24b311..f72626ab5ef38013f5672b522006ea410925ead0 100644 --- a/.docker/.env +++ b/.docker/.env @@ -1,4 +1,4 @@ -APP_VERSION=1.8 +APP_VERSION=1.9 FLUENTBIT_VERSION=4.0.0 GRAFANA_VERSION=11.4.0 MARIADB_VERSION=11.3.2 diff --git a/.docker/docker-compose.yml b/.docker/docker-compose.yml index 88023aa8d219d4a80324210156668d7ea99a00c3..f6f63db234df42d46156470391db7d7b3f8fb5c7 100644 --- a/.docker/docker-compose.yml +++ b/.docker/docker-compose.yml @@ -21,7 +21,7 @@ services: hostname: metadata-db image: docker.io/bitnami/mariadb-galera:${MARIADB_VERSION} volumes: - - metadata-db-data:/var/lib/mysql + - metadata-db-data:/bitnami/mariadb - ./config/1_setup-schema.sql:/docker-entrypoint-initdb.d/1_setup-schema.sql - ./config/2_setup-data.sql:/docker-entrypoint-initdb.d/2_setup-data.sql ports: @@ -64,7 +64,7 @@ services: hostname: data-db image: docker.io/bitnami/mariadb-galera:${MARIADB_VERSION} volumes: - - data-db-data:/var/lib/mysql + - data-db-data:/bitnami/mariadb - ./config/1_grant-user.sql:/docker-entrypoint-initdb.d/1_grant-user.sql ports: - "3307:3306" @@ -89,7 +89,7 @@ services: - --mysqld.address=data-db:3306 - --config.my-cnf=/.my.cnf volumes: - - ./dbrepo-data-db/metrics.cnf:/.my.cnf + - ./config/metrics.cnf:/.my.cnf healthcheck: test: -h <<: *healthcheck-params @@ -158,7 +158,7 @@ services: KEYCLOAK_DATABASE_USER: "${AUTH_DB_USERNAME:-keycloak}" KEYCLOAK_DATABASE_PASSWORD: "${AUTH_DB_PASSWORD:-dbrepo}" KEYCLOAK_HOSTNAME: "${BASE_URL:-http://localhost}" - KEYCLOAK_HOSTNAME_ADMIN: "http://localhost:8080" + KEYCLOAK_HOSTNAME_ADMIN: "${BASE_URL:-http://localhost}:8080" METADATA_SERVICE_ENDPOINT: "${METADATA_SERVICE_ENDPOINT:-http://metadata-service:8080}" SYSTEM_USERNAME: "${SYSTEM_USERNAME:-admin}" SYSTEM_PASSWORD: "${SYSTEM_PASSWORD:-admin}" @@ -177,7 +177,7 @@ services: init: true restart: "no" container_name: dbrepo-auth-service-init - image: registry.datalab.tuwien.ac.at/dbrepo/auth-service-init:1.8.2 + image: registry.datalab.tuwien.ac.at/dbrepo/auth-service-init:${APP_VERSION} environment: AUTH_SERVICE_ENDPOINT: ${AUTH_SERVICE_ENDPOINT:-http://auth-service:8080} METADATA_DB: "${METADATA_DB:-dbrepo}" @@ -200,7 +200,7 @@ services: restart: "no" container_name: dbrepo-metadata-service hostname: metadata-service - image: registry.datalab.tuwien.ac.at/dbrepo/metadata-service:1.8.2 + image: registry.datalab.tuwien.ac.at/dbrepo/metadata-service:${APP_VERSION} environment: ADMIN_EMAIL: "${ADMIN_EMAIL:-noreply@localhost}" ANALYSE_SERVICE_ENDPOINT: "${ANALYSE_SERVICE_ENDPOINT:-http://analyse-service:8080}" @@ -262,7 +262,7 @@ services: restart: "no" container_name: dbrepo-analyse-service hostname: analyse-service - image: registry.datalab.tuwien.ac.at/dbrepo/analyse-service:1.8.2 + image: registry.datalab.tuwien.ac.at/dbrepo/analyse-service:${APP_VERSION} environment: AUTH_SERVICE_CLIENT: ${AUTH_SERVICE_CLIENT:-dbrepo-client} AUTH_SERVICE_CLIENT_SECRET: ${AUTH_SERVICE_CLIENT:-MUwRc7yfXSJwX8AdRMWaQC3Nep1VjwgG} @@ -326,7 +326,7 @@ services: restart: "no" container_name: dbrepo-search-service hostname: search-service - image: registry.datalab.tuwien.ac.at/dbrepo/search-service:1.8.2 + image: registry.datalab.tuwien.ac.at/dbrepo/search-service:${APP_VERSION} environment: AUTH_SERVICE_CLIENT: ${AUTH_SERVICE_CLIENT:-dbrepo-client} AUTH_SERVICE_CLIENT_SECRET: ${AUTH_SERVICE_CLIENT_SECRET:-MUwRc7yfXSJwX8AdRMWaQC3Nep1VjwgG} @@ -348,7 +348,7 @@ services: restart: "no" container_name: dbrepo-ui hostname: ui - image: registry.datalab.tuwien.ac.at/dbrepo/ui:1.8.2 + image: registry.datalab.tuwien.ac.at/dbrepo/ui:${APP_VERSION} environment: NUXT_PUBLIC_API_CLIENT: "${BASE_URL:-http://localhost}" NUXT_PUBLIC_API_SERVER: "${BASE_URL:-http://gateway-service}" @@ -426,7 +426,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.8.2 + image: registry.datalab.tuwien.ac.at/dbrepo/search-service-init:${APP_VERSION} environment: LOG_LEVEL: ${LOG_LEVEL:-info} METADATA_SERVICE_ENDPOINT: ${METADATA_SERVICE_ENDPOINT:-http://metadata-service:8080} @@ -447,7 +447,7 @@ services: init: true container_name: dbrepo-dashboard-service-init hostname: search-dashboard-init - image: registry.datalab.tuwien.ac.at/dbrepo/dashboard-service-init:1.8.2 + image: registry.datalab.tuwien.ac.at/dbrepo/dashboard-service-init:${APP_VERSION} environment: LOG_LEVEL: ${LOG_LEVEL:-info} DASHBOARD_UI_ENDPOINT: "${DASHBOARD_UI_ENDPOINT:-http://dashboard-ui:3000}" @@ -498,7 +498,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.8.2 + image: registry.datalab.tuwien.ac.at/dbrepo/storage-service-init:${APP_VERSION} environment: S3_ACCESS_KEY_ID: ${S3_ACCESS_KEY_ID:-seaweedfsadmin} S3_BUCKET: "${S3_BUCKET:-dbrepo}" @@ -514,7 +514,7 @@ services: restart: "no" container_name: dbrepo-data-service hostname: data-service - image: registry.datalab.tuwien.ac.at/dbrepo/data-service:1.8.2 + image: registry.datalab.tuwien.ac.at/dbrepo/data-service:${APP_VERSION} environment: AUTH_SERVICE_CLIENT: "${AUTH_SERVICE_CLIENT:-dbrepo-client}" AUTH_SERVICE_CLIENT_SECRET: "${AUTH_SERVICE_CLIENT:-MUwRc7yfXSJwX8AdRMWaQC3Nep1VjwgG}" @@ -593,7 +593,7 @@ services: restart: "no" container_name: dbrepo-dashboard-service hostname: dashboard-service - image: registry.datalab.tuwien.ac.at/dbrepo/dashboard-service:1.8.2 + image: registry.datalab.tuwien.ac.at/dbrepo/dashboard-service:${APP_VERSION} environment: AUTH_SERVICE_ENDPOINT: ${AUTH_SERVICE_ENDPOINT:-http://auth-service:8080} BASE_URL: "${BASE_URL:-http://localhost}" diff --git a/.docs/.openapi/api-analyse-service.yaml b/.docs/.openapi/api-analyse-service.yaml index e4baa497455fe4f2121cb7a1eb4f632388879fe8..287da431362cba6b19ff3783011daa183ae2b889 100644 --- a/.docs/.openapi/api-analyse-service.yaml +++ b/.docs/.openapi/api-analyse-service.yaml @@ -111,7 +111,7 @@ }, "externalDocs": { "description": "Sourcecode Documentation", - "url": "https://www.ifs.tuwien.ac.at/infrastructures/dbrepo/1.8/" + "url": "https://www.ifs.tuwien.ac.at/infrastructures/dbrepo/1.9/" }, "info": { "contact": { @@ -124,7 +124,7 @@ "url": "https://www.apache.org/licenses/LICENSE-2.0" }, "title": "Database Repository Analyse Service API", - "version": "1.8.2" + "version": "1.9.0" }, "openapi": "3.0.0", "paths": { diff --git a/.docs/.openapi/api-dashboard-service.yaml b/.docs/.openapi/api-dashboard-service.yaml index a5f61af6c080dcde0d8908da20ac9e53e3e4b0dd..10a0140d0965d69e1c3b147588b58935973031f3 100644 --- a/.docs/.openapi/api-dashboard-service.yaml +++ b/.docs/.openapi/api-dashboard-service.yaml @@ -48,7 +48,7 @@ "url": "https://www.apache.org/licenses/LICENSE-2.0" }, "title": "Database Repository Dashboard Service API", - "version": "1.8.1" + "version": "1.9.0" }, "openapi": "3.0.0", "paths": { diff --git a/.docs/.openapi/api-data-service.yaml b/.docs/.openapi/api-data-service.yaml index 826cd46410b65d281c1b52a1c222bc7ad072d0d9..c3947778ccf83e0f1521e86e66710b6891229b3b 100644 --- a/.docs/.openapi/api-data-service.yaml +++ b/.docs/.openapi/api-data-service.yaml @@ -11,11 +11,11 @@ "name": "Apache 2.0", "url": "https://www.apache.org/licenses/LICENSE-2.0" }, - "version": "1.8.2" + "version": "1.9.0" }, "externalDocs": { "description": "Sourcecode Documentation", - "url": "https://www.ifs.tuwien.ac.at/infrastructures/dbrepo/1.8.2/system-services-metadata/" + "url": "https://www.ifs.tuwien.ac.at/infrastructures/dbrepo/1.9.0/system-services-metadata/" }, "servers": [ { diff --git a/.docs/.openapi/api-metadata-service.yaml b/.docs/.openapi/api-metadata-service.yaml index 8367c4c7b6aae081447758a673f72f7b1233989f..231e1d3c2e3516dd3be5c7bccb40dd6602dfb337 100644 --- a/.docs/.openapi/api-metadata-service.yaml +++ b/.docs/.openapi/api-metadata-service.yaml @@ -11,11 +11,11 @@ "name": "Apache 2.0", "url": "https://www.apache.org/licenses/LICENSE-2.0" }, - "version": "1.8.2" + "version": "1.9.0" }, "externalDocs": { "description": "Sourcecode Documentation", - "url": "https://www.ifs.tuwien.ac.at/infrastructures/dbrepo/1.8.2/system-services-metadata/" + "url": "https://www.ifs.tuwien.ac.at/infrastructures/dbrepo/1.9.0/system-services-metadata/" }, "servers": [ { diff --git a/.docs/.openapi/api-search-service.yaml b/.docs/.openapi/api-search-service.yaml index 8c0d8b0a1c4f59745153b0c822990f430417cf13..ee2f2a21adb14b8ca19448b9dcc5e291fddb5603 100644 --- a/.docs/.openapi/api-search-service.yaml +++ b/.docs/.openapi/api-search-service.yaml @@ -128,7 +128,7 @@ "url": "https://www.apache.org/licenses/LICENSE-2.0" }, "title": "Database Repository Search Service API", - "version": "1.8.2" + "version": "1.9.0" }, "openapi": "3.0.0", "paths": { diff --git a/.docs/.openapi/api.base.yaml b/.docs/.openapi/api.base.yaml index b0e7470af3323c49abb3f7ea4c5f722022efa1ad..240f63f7cb7d4ec21363dee8c37bb5c360e22278 100644 --- a/.docs/.openapi/api.base.yaml +++ b/.docs/.openapi/api.base.yaml @@ -11,7 +11,7 @@ components: type: http externalDocs: description: Project Website - url: https://www.ifs.tuwien.ac.at/infrastructures/dbrepo/1.8/ + url: https://www.ifs.tuwien.ac.at/infrastructures/dbrepo/1.9/ 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.8.2 + version: 1.9.0 openapi: 3.1.0 servers: - description: Test Instance diff --git a/.docs/.openapi/api.yaml b/.docs/.openapi/api.yaml index e93b918845001cec1c4d769e76ad50235544d8a4..3ed4b4aea0880a0f2f874f2e042930eb411752c0 100644 --- a/.docs/.openapi/api.yaml +++ b/.docs/.openapi/api.yaml @@ -16,7 +16,7 @@ info: name: Apache 2.0 url: 'https://www.apache.org/licenses/LICENSE-2.0' title: DBRepo REST API - version: 1.8.2 + version: 1.9.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.8/' + url: 'https://www.ifs.tuwien.ac.at/infrastructures/dbrepo/1.9/' paths: /api/analyse/datatypes: get: diff --git a/.docs/api/analyse-service.md b/.docs/api/analyse-service.md index ebb7ee3ed9b6a40ac6a629d9c40f99b5393f939a..c487af938fff53ed9839c1cc147ac9d1bb596e9e 100644 --- a/.docs/api/analyse-service.md +++ b/.docs/api/analyse-service.md @@ -6,7 +6,7 @@ author: Martin Weise !!! debug "Debug Information" - Image: [`registry.datalab.tuwien.ac.at/dbrepo/analyse-service:1.8.2`](https://hub.docker.com/r/dbrepo/analyse-service) + Image: [`registry.datalab.tuwien.ac.at/dbrepo/analyse-service:1.9.0`](https://hub.docker.com/r/dbrepo/analyse-service) * Ports: 5000/tcp * Prometheus: `http://<hostname>:5000/metrics` diff --git a/.docs/api/data-service.md b/.docs/api/data-service.md index 0a09406d806b1540408944c9d3d087fb9a59ba5a..8ea7bf2a97afea8f7a7caf913b02f04cea762c17 100644 --- a/.docs/api/data-service.md +++ b/.docs/api/data-service.md @@ -6,7 +6,7 @@ author: Martin Weise !!! debug "Debug Information" - Image: [`registry.datalab.tuwien.ac.at/dbrepo/data-service:1.8.2`](https://hub.docker.com/r/dbrepo/data-service) + Image: [`registry.datalab.tuwien.ac.at/dbrepo/data-service:1.9.0`](https://hub.docker.com/r/dbrepo/data-service) * Ports: 9093/tcp * Info: `http://<hostname>:9093/actuator/info` diff --git a/.docs/api/metadata-service.md b/.docs/api/metadata-service.md index c040eeb3b24b07c5a3351d26aedd75d1dbbcd507..b4066332a944bd07996ccb123f1bb51a32455493 100644 --- a/.docs/api/metadata-service.md +++ b/.docs/api/metadata-service.md @@ -6,7 +6,7 @@ author: Martin Weise !!! debug "Debug Information" - Image: [`registry.datalab.tuwien.ac.at/dbrepo/metadata-service:1.8.2`](https://hub.docker.com/r/dbrepo/metadata-service) + Image: [`registry.datalab.tuwien.ac.at/dbrepo/metadata-service:1.9.0`](https://hub.docker.com/r/dbrepo/metadata-service) * Ports: 9099/tcp * Info: `http://<hostname>:9099/actuator/info` diff --git a/.docs/api/search-service.md b/.docs/api/search-service.md index 1745cf55182aa598b4c262b3f2e73deb392baf24..6797e5d2225b5ba9755ebf7176204b3e9cac4cdf 100644 --- a/.docs/api/search-service.md +++ b/.docs/api/search-service.md @@ -6,7 +6,7 @@ author: Martin Weise !!! debug "Debug Information" - Image: [`registry.datalab.tuwien.ac.at/dbrepo/search-service:1.8.2`](https://hub.docker.com/r/dbrepo/search-service) + Image: [`registry.datalab.tuwien.ac.at/dbrepo/search-service:1.9.0`](https://hub.docker.com/r/dbrepo/search-service) * Ports: 4000/tcp * Health: `http://<hostname>:4000/api/search/health` diff --git a/.docs/api/ui.md b/.docs/api/ui.md index fab9e54324b5ee5ac72c07c4a3b30f2f14e6093a..5bd5688bc752cface92bf41b3b33b1253810e7aa 100644 --- a/.docs/api/ui.md +++ b/.docs/api/ui.md @@ -6,7 +6,7 @@ author: Martin Weise !!! debug "Debug Information" - Image: [`registry.datalab.tuwien.ac.at/dbrepo/ui:1.8.2`](https://hub.docker.com/r/dbrepo/ui) + Image: [`registry.datalab.tuwien.ac.at/dbrepo/ui:1.9.0`](https://hub.docker.com/r/dbrepo/ui) * Ports: 3000/tcp diff --git a/.docs/changelog.md b/.docs/changelog.md index 64cbfeac1fc195a6e697887bec9b11fee69574ea..13ed1b4a243a2d1a04c046f9702548d307253d83 100644 --- a/.docs/changelog.md +++ b/.docs/changelog.md @@ -2,7 +2,30 @@ author: Martin Weise --- -## v1.8.2 (2025-05-15) +All notable changes to this project will be documented in this file. + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +## [Unreleased] + +#### Fixes + +* Fixed a bug where titles, descriptions, creators, etc. were not sorted to the user-specified ordering + in [#531](https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/issues/531). +* Fixed a design issue where the `get_identifier_data` method in the Python library only fetched the first 10.000 rows + and could not paginate + in [#527](https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/issues/527). +* Fixed a bug where Spark did not map the column headers correct when importing a dataset + in [#518](https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/issues/518). + +#### Changes + +* Improved S3-related mechanisms to de-duplicate uploaded datasets and remove them on successful import, various + structured logging improvements + in [#528](https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/issues/528). + +## [v1.8.2](https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/tags/v1.8.2) - 2025-05-15 #### Fixes @@ -10,7 +33,7 @@ author: Martin Weise #### Features -* Added structured logging through the `fluentd` protocol via the lightweight fluentbit in a +* Added structured logging through the `fluentd` protocol via the lightweight fluentbit in a separate [Logging Service](../api/logging-service) in [#524](https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/issues/524). * Added a separate database for the Dashboard Service for high-availability deployment of Grafana @@ -18,10 +41,10 @@ author: Martin Weise #### Changes -* Improved internal packaging mechanism that is compatible with multiarch deployments +* Improved internal packaging mechanism that is compatible with multiarch deployments in [#523](https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/issues/523). -## v1.8.1 (2025-04-13) +## [v1.8.1](https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/tags/v1.8.1) - 2025-04-13 #### Changes @@ -35,13 +58,13 @@ author: Martin Weise #### Fixes -* Fixed a bug in the UI that displays the "Create View" button only when the user has at least read access. +* Fixed a bug in the UI that displays the "Create View" button only when the user has at least read access. #### Removals * Removed the stale objects scheduler from the Data Service and pushed it to next release. -## v1.8.0 (2025-04-04) +## [v1.8.0](https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/tags/v1.8.0) - 2025-04-04 #### Features @@ -60,9 +83,7 @@ author: Martin Weise * Fixed a bug where validation of missing `Principal` object in Java services caused a 400 error instead of a 401 error in [#512](https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/issues/512). -## v1.7.3 (2025-03-17) - -[:simple-gitlab: GitLab Release](https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/tags/v1.7.3) +## [v1.7.3](https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/tags/v1.7.3) - 2025-03-17 #### Fixes @@ -70,9 +91,7 @@ author: Martin Weise * Fixed a wrong configuration in the Docker deployment where the OIDC provider did not consider other URLs than `http://localhost`. -## v1.7.2 (2025-03-13) - -[:simple-gitlab: GitLab Release](https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/tags/v1.7.2) +## [v1.7.2](https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/tags/v1.7.2) - 2025-03-13 #### Fixes @@ -80,9 +99,7 @@ author: Martin Weise within the cache period of 60 seconds in [#506](https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/issues/506). -## v1.7.1 (2025-03-06) - -[:simple-gitlab: GitLab Release](https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/tags/v1.7.1) +## [v1.7.1](https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/tags/v1.7.1) - 2025-03-06 #### Features @@ -96,9 +113,7 @@ author: Martin Weise * Fixed a bug where quick interaction with the UI caused the user to trigger the brute-force login detection in [#501](https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/issues/501). -## 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) +## [v1.7.0](https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/tags/v1.7.0) - 2025-03-03 !!! warning "Contains Breaking Changes" @@ -143,9 +158,7 @@ author: Martin Weise * 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) +## [v1.6.5](https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/tags/v1.6.5) - 2025-02-18 #### Fixes @@ -153,27 +166,21 @@ author: Martin Weise * 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) +## [v1.6.4](https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/tags/v1.6.4) - 2025-02-14 #### Fixes * Fixed a bug where the users were not synced with the Metadata Database in [#489](https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/issues/489). -## v1.6.3 (2025-02-05) - -[:simple-gitlab: GitLab Release](https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/tags/v1.6.3) +## [v1.6.3](https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/tags/v1.6.3) - 2025-02-05 #### Changes * Refactored the UI to support OIDC and added an event listener to the Auth Service that syncs users on creation to the Metadata DB in [#488](https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/issues/488). -## v1.6.2 (2025-01-24) - -[:simple-gitlab: GitLab Release](https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/tags/v1.6.2) +## [v1.6.2](https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/tags/v1.6.2) - 2025-01-24 #### Changes @@ -185,9 +192,7 @@ author: Martin Weise * Fixed a bug where no pagination was possible in [#487](https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/issues/487). -## v1.6.1 (2025-01-21) - -[:simple-gitlab: GitLab Release](https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/tags/v1.6.1) +## [v1.6.1](https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/tags/v1.6.1) - 2025-01-21 #### Changes @@ -199,9 +204,7 @@ author: Martin Weise * Added init container that adds the admin user to the Metadata Database in [#480](https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/issues/480). -## v1.6.0 (2025-01-07) - -[:simple-gitlab: GitLab Release](https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/tags/v1.6.0) +## [v1.6.0](https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/tags/v1.6.0) - 2025-01-07 #### Features @@ -236,18 +239,14 @@ author: Martin Weise * Fixed a bug where the dataset separator was being ignored for imports in [#478](https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/issues/478). -## v1.5.3 (2024-12-13) - -[:simple-gitlab: GitLab Release](https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/tags/v1.5.3) +## [v1.5.3](https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/tags/v1.5.3) - 2024-12-13 #### Fixes * Fixed a bug where subsets containing sub-queries are not able to retrieve data in [#476](https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/issues/476). -## v1.5.2 (2024-12-03) - -[:simple-gitlab: GitLab Release](https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/tags/v1.5.2) +## [v1.5.2](https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/tags/v1.5.2) - 2024-12-03 #### Changes @@ -264,9 +263,7 @@ author: Martin Weise * Fixed the `dist.tar.gz` file not being found in the CI/CD pipeline on `release-` branches in [#465](https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/issues/465). -## v1.5.1 (2024-11-09) - -[:simple-gitlab: GitLab Release](https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/tags/v1.5.1) +## [v1.5.1](https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/tags/v1.5.1) - 2024-11-09 #### Fixes @@ -275,9 +272,7 @@ author: Martin Weise * Bug where the schema could not be created manually in [#461](https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/issues/461). -## v1.5.0 (2024-11-06) - -[:simple-gitlab: GitLab Release](https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/tags/v1.5.0) +## [v1.5.0](https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/tags/v1.5.0) - 2024-11-06 !!! warning "Contains Breaking Changes" @@ -311,9 +306,7 @@ author: Martin Weise in [#444](https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/issues/444) * No hardcoded data type metadata in UI but instead added it hardcoded (associated with `image_id`) Metadata Database. -## v1.4.6 (2024-10-11) - -[:simple-gitlab: GitLab Release](https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/tags/v1.4.6) +## [v1.4.6](https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/tags/v1.4.6) - 2024-10-11 !!! warning "Contains Breaking Changes" diff --git a/.docs/concepts/logging.md b/.docs/concepts/logging.md index b13328c18a36aa549d3c6afc6a235cbc267b28dc..e205a7fbc9f7789a924c7ea6e3dea825d4471200 100644 --- a/.docs/concepts/logging.md +++ b/.docs/concepts/logging.md @@ -11,9 +11,13 @@ forward logs to the [Search Database](../../api/search-db). ## Collection -Logs are collected with a sidecar in each pod. They are collected with the `tail` plugin from the log files. +The [Data Service](../../api/data-service) and [Metadata Service](../../api/metadata-service) use Slf4j as logging +facade. Logs are collected with a sidecar in each pod. They are collected with the `tail` plugin from the log files. For the Data-, Metadata-, Analyse-, Dashboard- and Search Services, the application log is located in -`/var/log/app/service/<name>/app.log` (e.g. `/var/log/app/service/search/app.log` for the Search Service). +`/var/log/app/service/<name>/app.log` (e.g. `/var/log/app/service/search/app.log` for the Search Service). All log to +console (`/dev/stdout`) as well to the log file simultaneously. The log files are structured and formatted according to +the [Elastic Common Schema](https://www.elastic.co/docs/reference/ecs/logging/intro) (ECS) format such that no parsing +(except `@timestamp`) is needed. ## Parse diff --git a/.docs/index.md b/.docs/index.md index b6d018fe867684a3bdad025a0838bb4436a336a1..5782826a24bb9a430096d635e69597aab050b430 100644 --- a/.docs/index.md +++ b/.docs/index.md @@ -14,11 +14,11 @@ author: Martin Weise   -Documentation for version: [v1.8.2](https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/releases). +Documentation for version: [v1.9.0](https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/releases). -DBRepo is a repository for data in databases that cover the entire data life cycle supporting data evolution, -citation -and -versioning. It implements the query store of the [RDA WGDC](https://doi.org/10.1162/99608f92.be565013) on precisely -identifying arbitrary subsets of data. +DBRepo is an open-source database repository that cover the data life cycle supporting data evolution, +-citation and -versioning. It implements the query store of the [RDA WGDC](https://doi.org/10.1162/99608f92.be565013) on +precisely identifying arbitrary subsets of data. ## Why use DBRepo? @@ -49,4 +49,4 @@ Installing DBRepo is very easy or There's a hosted [demo environment](https://test.dbrepo.tuwien.ac.at) maintained by [DS-IFS](https://informatics.tuwien.ac.at/orgs/e194-04) where you can explore DBRepo without installing it locally. -[:fontawesome-solid-flask: Demo Environment](https://test.dbrepo.tuwien.ac.at){ .md-button .md-button--primary target="_blank" } \ No newline at end of file +[:fontawesome-solid-flask: Demo Environment](https://test.dbrepo.tuwien.ac.at){ .md-button .md-button--primary target="_blank" } diff --git a/.docs/kubernetes.md b/.docs/kubernetes.md index f5f8cf5b73fe62fa768ab59b2d353429aee7fdde..0712b72ec8a45fa4b44a369c39753bda2bc00b3b 100644 --- a/.docs/kubernetes.md +++ b/.docs/kubernetes.md @@ -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.8/helm/dbrepo/values.yaml) +`values.yaml`](https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/blob/release-1.9/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.8.2" \ + --version "1.9.0" \ --create-namespace \ --cleanup-on-fail ``` diff --git a/.env b/.env index 821b16a5c08b6577f7aa1728baded9960c24b311..f72626ab5ef38013f5672b522006ea410925ead0 100644 --- a/.env +++ b/.env @@ -1,4 +1,4 @@ -APP_VERSION=1.8 +APP_VERSION=1.9 FLUENTBIT_VERSION=4.0.0 GRAFANA_VERSION=11.4.0 MARIADB_VERSION=11.3.2 diff --git a/.gitignore b/.gitignore index 1d310a889367bcad02106b1465d5b52deecd0cbb..e3181c1faa7031474b35ea0580e15852ce977c24 100644 --- a/.gitignore +++ b/.gitignore @@ -56,6 +56,9 @@ fda-ui/ root.crt intermediate.crt +# secret +.s3cfg + # scanning .trivy/trivy-*.json diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 9ca47bdfca8c2f410f59df05fd365f249e4d07a9..ebe349d31f5c7a0863c8e5d451eb09d6d44cfd8e 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -11,12 +11,12 @@ variables: SONARQUBE_VERSION: "10.0" REGCLIENT_VERSION: "0.8.2" BUN_VERSION: "1.1.40" - DOC_VERSION: "1.8" - APP_VERSION: "1.8.2" - CHART_VERSION: "1.8.2" - SUPPORTED_VERSIONS: "1.7.3, 1.8.0, 1.8.1, 1.8.2" + DOC_VERSION: "1.9" + APP_VERSION: "1.9.0" + CHART_VERSION: "1.9.0" + SUPPORTED_VERSIONS: "1.8.0, 1.8.1, 1.8.2, 1.9.0" SUPPORTED_ARCH: "linux/amd64" - MAINTAINED_SERVICES: "analyse-service, auth-service-init, dashboard-service, dashboard-service-init, data-service, metadata-service, search-db, search-service, search-service-init, storage-service-init, ui" + MAINTAINED_SERVICES: "analyse-service, auth-service-init, dashboard-service, dashboard-service-init, data-service, metadata-service, search-service, search-service-init, storage-service-init, ui" 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. @@ -26,7 +26,7 @@ variables: # `installAtEnd` and `deployAtEnd` are only effective with recent version of the corresponding plugins. MAVEN_CLI_OPTS: "--batch-mode --errors --fail-at-end --show-version -DinstallAtEnd=true -DdeployAtEnd=true" -image: debian:12-slim +image: alpine:${ALPINE_VERSION} # Cache downloaded dependencies and plugins between builds. # To keep cache across branches add 'key: "$CI_JOB_NAME"' @@ -320,6 +320,10 @@ test-metadata-service: test-data-service: image: maven:3-openjdk-${JAVA_VERSION} stage: test + services: + - minio/minio:latest + variables: + SPRING_PROFILES_ACTIVE: ci only: - merge_requests - master @@ -383,6 +387,7 @@ test-auth-service-init: - "apk add --no-cache alpine-sdk gcc python3-dev mariadb-connector-c-dev" - "pip install pipenv" - "pipenv install --dev --system --deploy" + - "mkdir -p /var/log/app/service/auth" script: - 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[^%]*%'" @@ -577,24 +582,22 @@ release-helm: - "echo ${CI_REGISTRY_PASSWORD} | docker login --username ${CI_REGISTRY_USER} --password-stdin ${CI_REGISTRY_URL}" - "docker logout ${CI_REGISTRY2_URL}" - "echo ${CI_REGISTRY2_PASSWORD} | docker login --username ${CI_REGISTRY2_USER} --password-stdin ${CI_REGISTRY2_URL}" - - "mkdir -p ~/.gnupg" - - echo "$CI_GPG_KEYRING" | base64 -d > ./secring.gpg - - echo "$CI_GPG_KEYRING2" | base64 -d > ./pubring.gpg + - echo "$CI_GPG_KEYRING" | base64 -d > ~/secring.gpg + - echo "$CI_GPG_KEYRING2" | base64 -d > ~/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 ./secring.gpg --destination ./build" + - "helm package ./helm/dbrepo --sign --key 'Martin Weise' --keyring ~/secring.gpg --destination ./build" - "helm plugin install https://github.com/sigstore/helm-sigstore" script: - "helm push ./build/dbrepo-${CHART_VERSION}.tgz oci://${CI_REGISTRY2_URL}/helm" - - "helm sigstore upload --keyring ./pubring.gpg ./build/dbrepo-${CHART_VERSION}.tgz" + - "helm sigstore upload --keyring ~/secring.gpg ./build/dbrepo-${CHART_VERSION}.tgz" 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" @@ -629,14 +632,14 @@ release-libs: only: - tags variables: - PIPENV_PIPFILE: "./dbrepo-analyse-service/Pipfile" + PIPENV_PIPFILE: "./lib/python/Pipfile" before_script: - "pip install pipenv twine build" - - "pipenv install gunicorn && pipenv install --dev --system --deploy" - - "echo ${CI_PIPYRC} | base64 -d > /app/.pypirc" + - "pipenv install --dev --system --deploy" + - "echo ${CI_PIPYRC} | base64 -d > ./.pypirc" script: - - "python -m build" - - "python -m twine upload --config-file /app/.pypirc --verbose --repository pypi ./lib/python/dist/dbrepo-*" + - "python -m build ./lib/python" + - "python -m twine upload --config-file ./.pypirc --verbose --repository pypi ./lib/python/dist/dbrepo-*" verify-install-script: image: docker.io/docker:${DOCKER_VERSION}-dind diff --git a/.gitlab/check-supported-images.sh b/.gitlab/check-supported-images.sh index 2f1f804e5dd5edc0d0b252ed6d1ecfed33863e69..4c00c7d40bcd134716a0964747708304b2042e13 100755 --- a/.gitlab/check-supported-images.sh +++ b/.gitlab/check-supported-images.sh @@ -1,13 +1,13 @@ #!/bin/bash echo "Starting registry check ..." -if [ -z $SUPPORTED_VERSIONS ]; then +if [[ -z $SUPPORTED_VERSIONS ]]; then echo "[ERROR] Missing environment variable SUPPORTED_VERSIONS" > /dev/stderr exit 1 -elif [ -z $MAINTAINED_SERVICES ]; then +elif [[ -z $MAINTAINED_SERVICES ]]; then echo "[ERROR] Missing environment variable MAINTAINED_SERVICES" > /dev/stderr exit 1 -elif [ -z $CI_REGISTRY2_URL ]; then +elif [[ -z $CI_REGISTRY2_URL ]]; then echo "[ERROR] Missing environment variable CI_REGISTRY2_URL" > /dev/stderr exit 1 fi diff --git a/.jupyter/Pipfile.lock b/.jupyter/Pipfile.lock index 79ba2b095adfd78ee2de1ff28da4e9ea2ed8e3b7..ccef0d6cb2da3a33509c99d1d066fb0e1152242d 100644 --- a/.jupyter/Pipfile.lock +++ b/.jupyter/Pipfile.lock @@ -1789,7 +1789,7 @@ "sha256:b18e7a3966d99871aefeb00cfbcfdced55ce4871194810fc71f4aa484b953abf" ], "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4, 3.5'", - "version": "==1.8.3" + "version": "==1.9.0" }, "setuptools": { "hashes": [ diff --git a/CHANGELOG.md b/CHANGELOG.md index b139a2be883971afbbd6188e78877b2cf7274e06..1c02e2712521f6aa642536cc153266952e58e75a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,8 +2,7 @@ All notable changes to this project will be documented in this file. -The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), -and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +Changes from 1.4.0 onwards are available in [.docs/changelog.md](.docs/changelog.md). ## [[1.4.0]()] - 2024-01-19 diff --git a/Makefile b/Makefile index 2740c01722cf8e0a557e81cf7395a380da399ba4..738831a4cfb224d2b584d2e82d646579129698ad 100644 --- a/Makefile +++ b/Makefile @@ -1,7 +1,7 @@ .PHONY: all -APP_VERSION ?= 1.8.2 -CHART_VERSION ?= 1.8.2 +APP_VERSION ?= 1.9.0 +CHART_VERSION ?= 1.9.0 REPOSITORY_URL ?= registry.datalab.tuwien.ac.at/dbrepo .PHONY: all diff --git a/dbrepo-analyse-service/Pipfile b/dbrepo-analyse-service/Pipfile index 21f4b613607a25406e35374ec926623732a6d598..bf5a2677d6cb206e6d010c10cc084cc0b0d280fd 100644 --- a/dbrepo-analyse-service/Pipfile +++ b/dbrepo-analyse-service/Pipfile @@ -21,8 +21,9 @@ numpy = "*" pandas = "*" minio = "*" pydantic = "*" -dbrepo = {path = "./lib/dbrepo-1.8.2.tar.gz"} +dbrepo = {path = "./lib/dbrepo-1.9.0.tar.gz"} opensearch-py = "*" +ecs_logging = "*" [dev-packages] coverage = "*" diff --git a/dbrepo-analyse-service/Pipfile.lock b/dbrepo-analyse-service/Pipfile.lock index f4ad8a2bbe8c2a7036f6d394b9dbb5d806d927e7..3306655eea1596dab482562184a1efb804484e95 100644 --- a/dbrepo-analyse-service/Pipfile.lock +++ b/dbrepo-analyse-service/Pipfile.lock @@ -1,7 +1,7 @@ { "_meta": { "hash": { - "sha256": "348b4dab04b3c38faa04d0f821ac6e3fb0005b7a042a8475ec39f673027c48ce" + "sha256": "bb1e86635cba8bfa5ad0a45abade8841ba91778d2ff0bcac1f455e8f17838baa" }, "pipfile-spec": 6, "requires": { @@ -77,20 +77,19 @@ }, "boto3": { "hashes": [ - "sha256:6bbc75bb51be9c5a33d07a4adf13d133c60f77b7c47bef1c46fda90b1297a867", - "sha256:f3a4d79f499f567d327d2d8846d02ad18244d2927f88858a42a2438f52d9a0ef" + "sha256:37e4b6b7f77f4cc476ea82eb76a502a289bb750eee96f7d07ec9bcec6592191a", + "sha256:417d0328fd3394ffb1c1f400d4277d45b0b86f48d2f088a02306474969344a47" ], "index": "pypi", - "markers": "python_version >= '3.9'", - "version": "==1.38.8" + "version": "==1.38.21" }, "botocore": { "hashes": [ - "sha256:68d739300cc94232373517b27c5570de6ae6d809a2db644f30219f5c8e0371ce", - "sha256:f6ae08a56fe94e18d2aa223611a3b5e94123315d0cb3cb85764b029b2326c710" + "sha256:08d5e9c00e5cc9e0ae0e60570846011789dc7f1d4ea094b3f3e3f3ae1ff2063a", + "sha256:567b4d338114174d0b41857002a4b1e8efb68f1654ed9f3ec6c34ebdef5e9eaf" ], "markers": "python_version >= '3.9'", - "version": "==1.38.8" + "version": "==1.38.21" }, "certifi": { "hashes": [ @@ -170,7 +169,7 @@ "sha256:f7f5baafcc48261359e14bcd6d9bff6d4b28d9103847c9e136694cb0501aef87", "sha256:fc48c783f9c87e60831201f2cce7f3b2e4846bf4d8728eabe54d60700b318a0b" ], - "markers": "python_version >= '3.8'", + "markers": "platform_python_implementation != 'PyPy'", "version": "==1.17.1" }, "charset-normalizer": { @@ -273,60 +272,70 @@ }, "click": { "hashes": [ - "sha256:63c132bbbed01578a06712a2d1f497bb62d9c1c0d329b7903a866228027263b2", - "sha256:ed53c9d8990d83c2a27deae68e4ee337473f6330c040a31d4225c9574d16096a" + "sha256:27c491cc05d968d271d5a1db13e3b5a184636d9d930f148c50b038f0d0646202", + "sha256:61a3265b914e850b85317d0b3109c7f8cd35a670f963866005d6ef1d5175a12b" ], - "markers": "python_version >= '3.7'", - "version": "==8.1.8" + "markers": "python_version >= '3.10'", + "version": "==8.2.1" }, "cryptography": { "hashes": [ - "sha256:02f55fb4f8b79c1221b0961488eaae21015b69b210e18c386b69de182ebb1259", - "sha256:157f1f3b8d941c2bd8f3ffee0af9b049c9665c39d3da9db2dc338feca5e98a43", - "sha256:192ed30fac1728f7587c6f4613c29c584abdc565d7417c13904708db10206645", - "sha256:21a83f6f35b9cc656d71b5de8d519f566df01e660ac2578805ab245ffd8523f8", - "sha256:25cd194c39fa5a0aa4169125ee27d1172097857b27109a45fadc59653ec06f44", - "sha256:3883076d5c4cc56dbef0b898a74eb6992fdac29a7b9013870b34efe4ddb39a0d", - "sha256:3bb0847e6363c037df8f6ede57d88eaf3410ca2267fb12275370a76f85786a6f", - "sha256:3be3f649d91cb182c3a6bd336de8b61a0a71965bd13d1a04a0e15b39c3d5809d", - "sha256:3f07943aa4d7dad689e3bb1638ddc4944cc5e0921e3c227486daae0e31a05e54", - "sha256:479d92908277bed6e1a1c69b277734a7771c2b78633c224445b5c60a9f4bc1d9", - "sha256:4ffc61e8f3bf5b60346d89cd3d37231019c17a081208dfbbd6e1605ba03fa137", - "sha256:5639c2b16764c6f76eedf722dbad9a0914960d3489c0cc38694ddf9464f1bb2f", - "sha256:58968d331425a6f9eedcee087f77fd3c927c88f55368f43ff7e0a19891f2642c", - "sha256:5d186f32e52e66994dce4f766884bcb9c68b8da62d61d9d215bfe5fb56d21334", - "sha256:5d20cc348cca3a8aa7312f42ab953a56e15323800ca3ab0706b8cd452a3a056c", - "sha256:6866df152b581f9429020320e5eb9794c8780e90f7ccb021940d7f50ee00ae0b", - "sha256:7d5fe7195c27c32a64955740b949070f21cba664604291c298518d2e255931d2", - "sha256:896530bc9107b226f265effa7ef3f21270f18a2026bc09fed1ebd7b66ddf6375", - "sha256:962bc30480a08d133e631e8dfd4783ab71cc9e33d5d7c1e192f0b7c06397bb88", - "sha256:978631ec51a6bbc0b7e58f23b68a8ce9e5f09721940933e9c217068388789fe5", - "sha256:9b4d4a5dbee05a2c390bf212e78b99434efec37b17a4bff42f50285c5c8c9647", - "sha256:ab0b005721cc0039e885ac3503825661bd9810b15d4f374e473f8c89b7d5460c", - "sha256:af653022a0c25ef2e3ffb2c673a50e5a0d02fecc41608f4954176f1933b12359", - "sha256:b0cc66c74c797e1db750aaa842ad5b8b78e14805a9b5d1348dc603612d3e3ff5", - "sha256:b424563394c369a804ecbee9b06dfb34997f19d00b3518e39f83a5642618397d", - "sha256:c138abae3a12a94c75c10499f1cbae81294a6f983b3af066390adee73f433028", - "sha256:c6cd67722619e4d55fdb42ead64ed8843d64638e9c07f4011163e46bc512cf01", - "sha256:c91fc8e8fd78af553f98bc7f2a1d8db977334e4eea302a4bfd75b9461c2d8904", - "sha256:cad399780053fb383dc067475135e41c9fe7d901a97dd5d9c5dfb5611afc0d7d", - "sha256:cb90f60e03d563ca2445099edf605c16ed1d5b15182d21831f58460c48bffb93", - "sha256:dad80b45c22e05b259e33ddd458e9e2ba099c86ccf4e88db7bbab4b747b18d06", - "sha256:dd3db61b8fe5be220eee484a17233287d0be6932d056cf5738225b9c05ef4fff", - "sha256:e28d62e59a4dbd1d22e747f57d4f00c459af22181f0b2f787ea83f5a876d7c76", - "sha256:e909df4053064a97f1e6565153ff8bb389af12c5c8d29c343308760890560aff", - "sha256:f3ffef566ac88f75967d7abd852ed5f182da252d23fac11b4766da3957766759", - "sha256:fc3c9babc1e1faefd62704bb46a69f359a9819eb0292e40df3fb6e3574715cd4", - "sha256:fe19d8bc5536a91a24a8133328880a41831b6c5df54599a8417b62fe015d3053" + "sha256:057723b79752a142efbc609e90b0dff27b0361ccbee3bd48312d70f5cdf53b78", + "sha256:05c2385b1f5c89a17df19900cfb1345115a77168f5ed44bdf6fd3de1ce5cc65b", + "sha256:08281de408e7eb71ba3cd5098709a356bfdf65eebd7ee7633c3610f0aa80d79b", + "sha256:10d68763892a7b19c22508ab57799c4423c7c8cd61d7eee4c5a6a55a46511949", + "sha256:1655d3a76e3dedb683c982a6c3a2cbfae2d08f47a48ec5a3d58db52b3d29ea6f", + "sha256:18f8084b7ca3ce1b8d38bdfe33c48116edf9a08b4d056ef4a96dceaa36d8d965", + "sha256:2cb03a944a1a412724d15a7c051d50e63a868031f26b6a312f2016965b661942", + "sha256:4142e20c29224cec63e9e32eb1e6014fb285fe39b7be66b3564ca978a3a8afe9", + "sha256:463096533acd5097f8751115bc600b0b64620c4aafcac10c6d0041e6e68f88fe", + "sha256:48caa55c528617fa6db1a9c3bf2e37ccb31b73e098ac2b71408d1f2db551dde4", + "sha256:49af56491473231159c98c2c26f1a8f3799a60e5cf0e872d00745b858ddac9d2", + "sha256:4cc31c66411e14dd70e2f384a9204a859dc25b05e1f303df0f5326691061b839", + "sha256:501de1296b2041dccf2115e3c7d4947430585601b251b140970ce255c5cfb985", + "sha256:59c0c8f043dd376bbd9d4f636223836aed50431af4c5a467ed9bf61520294627", + "sha256:614bca7c6ed0d8ad1dce683a6289afae1f880675b4090878a0136c3da16bc693", + "sha256:61a8b1bbddd9332917485b2453d1de49f142e6334ce1d97b7916d5a85d179c84", + "sha256:7429936146063bd1b2cfc54f0e04016b90ee9b1c908a7bed0800049cbace70eb", + "sha256:7c73968fbb7698a4c5d6160859db560d3aac160edde89c751edd5a8bc6560c88", + "sha256:80303ee6a02ef38c4253160446cbeb5c400c07e01d4ddbd4ff722a89b736d95a", + "sha256:965611880c3fa8e504b7458484c0697e00ae6e937279cd6734fdaa2bc954dc49", + "sha256:9a900036b42f7324df7c7ad9569eb92ba0b613cf699160dd9c2154b24fd02f8e", + "sha256:9cfd1399064b13043082c660ddd97a0358e41c8b0dc7b77c1243e013d305c344", + "sha256:a8ec324711596fbf21837d3a5db543937dd84597d364769b46e0102250023f77", + "sha256:a9727a21957d3327cf6b7eb5ffc9e4b663909a25fea158e3fcbc49d4cdd7881b", + "sha256:b19f4b28dd2ef2e6d600307fee656c00825a2980c4356a7080bd758d633c3a6f", + "sha256:b2de529027579e43b6dc1f805f467b102fb7d13c1e54c334f1403ee2b37d0059", + "sha256:c0c000c1a09f069632d8a9eb3b610ac029fcc682f1d69b758e625d6ee713f4ed", + "sha256:cdafb86eb673c3211accffbffdb3cdffa3aaafacd14819e0898d23696d18e4d3", + "sha256:d2a90ce2f0f5b695e4785ac07c19a58244092f3c85d57db6d8eb1a2b26d2aad6", + "sha256:d784d57b958ffd07e9e226d17272f9af0c41572557604ca7554214def32c26bf", + "sha256:d891942592789fa0ab71b502550bbadb12f540d7413d7d7c4cef4b02af0f5bc6", + "sha256:dc7693573f16535428183de8fd27f0ca1ca37a51baa0b41dc5ed7b3d68fe80e2", + "sha256:ddb8d01aa900b741d6b7cc585a97aff787175f160ab975e21f880e89d810781a", + "sha256:e328357b6bbf79928363dbf13f4635b7aac0306afb7e5ad24d21d0c5761c3253", + "sha256:e86c8d54cd19a13e9081898b3c24351683fd39d726ecf8e774aaa9d8d96f5f3a", + "sha256:e9e4bdcd70216b08801e267c0b563316b787f957a46e215249921f99288456f9", + "sha256:f169469d04a23282de9d0be349499cb6683b6ff1b68901210faacac9b0c24b7d" ], "markers": "python_version >= '3.7' and python_full_version not in '3.9.0, 3.9.1'", - "version": "==44.0.3" + "version": "==45.0.2" }, "dbrepo": { "hashes": [ - "sha256:76f0ab97d1e914a779aa51b5e5a17591b2f1c88f15dc9df27273deb4dc7ed125" + "sha256:76f0ab97d1e914a779aa51b5e5a17591b2f1c88f15dc9df27273deb4dc7ed125", + "sha256:f01ee3102dc405c00b5e61cd1d62a46f9644ca33d131912cc25130a5ec304378" ], - "path": "./lib/dbrepo-1.8.2.tar.gz" + "path": "./lib/dbrepo-1.9.0.tar.gz", + "version": "==1.9.0" + }, + "ecs-logging": { + "hashes": [ + "sha256:1dc9e216f614129db0e6a2f9f926da4e4cf8edf8de16d1045a20aa8e950291d3", + "sha256:f6e22d267770b06f797076f49b5fcc9d97108b22f452f5f9ed4b5367b1e61b5b" + ], + "index": "pypi", + "version": "==2.2.0" }, "events": { "hashes": [ @@ -336,12 +345,11 @@ }, "exceptiongroup": { "hashes": [ - "sha256:3111b9d131c238bec2f8f516e123e14ba243563fb135d3fe885990585aa7795b", - "sha256:47c2edf7c6738fafb49fd34290706d1a1a2f4d1c6df275526b62cbb4aa5393cc" + "sha256:4d111e6e0c13d0644cad6ddaa7ed0261a0b36971f6d23e7ec9b4b9097da78a10", + "sha256:b241f5885f560bc56a59ee63ca4c6a8bfa46ae4ad651af316d4e81817bb9fd88" ], "index": "pypi", - "markers": "python_version >= '3.7'", - "version": "==1.2.2" + "version": "==1.3.0" }, "flasgger": { "hashes": [ @@ -352,21 +360,19 @@ }, "flask": { "hashes": [ - "sha256:5f873c5184c897c8d9d1b05df1e3d01b14910ce69607a117bd3277098a5836ac", - "sha256:d667207822eb83f1c4b50949b1623c8fc8d51f2341d65f72e1a1815397551136" + "sha256:07aae2bb5eaf77993ef57e357491839f5fd9f4dc281593a81a9e4d79a24f295c", + "sha256:284c7b8f2f58cb737f0cf1c30fd7eaf0ccfcde196099d24ecede3fc2005aa59e" ], "index": "pypi", - "markers": "python_version >= '3.9'", - "version": "==3.1.0" + "version": "==3.1.1" }, "flask-cors": { "hashes": [ - "sha256:6ccb38d16d6b72bbc156c1c3f192bc435bfcc3c2bc864b2df1eb9b2d97b2403c", - "sha256:fa5cb364ead54bbf401a26dbf03030c6b18fb2fcaf70408096a572b409586b0c" + "sha256:4592c1570246bf7beee96b74bc0adbbfcb1b0318f6ba05c412e8909eceec3393", + "sha256:6332073356452343a8ccddbfec7befdc3fdd040141fe776ec9b94c262f058657" ], "index": "pypi", - "markers": "python_version >= '3.9' and python_version < '4.0'", - "version": "==5.0.1" + "version": "==6.0.0" }, "flask-httpauth": { "hashes": [ @@ -382,116 +388,113 @@ "sha256:8085d6757505b6f3291a2638c84d207e8f0ad0de662d1f46aa2f77e658a0c976" ], "index": "pypi", - "markers": "python_version >= '3.9' and python_version < '4'", "version": "==4.7.1" }, "gevent": { "hashes": [ - "sha256:03587078c402aee27231ecaabd81aec1e8b3de2629830fbd4486e2d09e638ddc", - "sha256:0cc1d6093f482547ac522ab1a985429d8c12494518eeca354c956f0ff6de7a94", - "sha256:11bc2374ce3f1db3a243522c4d30b9e86e2dc0f2905f083fff288afa8ef8031f", - "sha256:12b596c027cf546a235231d421473483fdf7fa586d38162d36b07c8efa9081ba", - "sha256:2270a8607661e609c44e4f72811b6380dcfede558041e4ee3134e66753865038", - "sha256:22f33261b32e28433af7a96388ce33b77e903a648fc868b993304af2c1bca05b", - "sha256:43469ed40ea6cfb1c88e8d85a57aa5f52dd6b3b94a2e499752ab7e60a90c7dba", - "sha256:44acca4196d4a174c2b4817642564526898f42f72992dc1818b834b2bbf17582", - "sha256:498f548330c4724e3b0cee0d75551165fc9e4309ae3ddcba3d644aaa866ca9c3", - "sha256:5940174c7d1ffc7bb4b0ea9f2908f4f361eb03ada9e145d3590b8df1e61c379b", - "sha256:63aecf1e43b8d01086ea574ed05f7272ed40c48dd41fa3d061e3c5ca900abcdd", - "sha256:677e5d1c7d0a0b4240644321f10b8e3b36fd4ca5fc1b45d0e4989e6884375537", - "sha256:6c1d1a66a28372d505e0d8f6f1fdb62f7d5b3423e49431f41b99bd9133f006b7", - "sha256:7442b3ffac08f6239d6463ee2943fd9a619b64b2db11cec292acf8caccb70536", - "sha256:75d2fdd24f3948c085d341281648014760f5cb23de9b29f710083e6911b2e605", - "sha256:76c440972ff57eb64e089f85210ccc0fa247ab71cdedff5414c6b86392f7f791", - "sha256:7ffba461458ed28a85a01285ea0e0dc14f883204d17ce5ed82fa839a9d620028", - "sha256:8b90913360b1af058b279160679d804d4917a8661f128b2f7625f8665c39450f", - "sha256:8e740bc08ba4c34951f4bb6351dbe04209416e12d620691fb57e115b218a7818", - "sha256:9100693f2bd8237ce7ce99a2b62da128196d8abcda331049e67ad6afb8cff23a", - "sha256:91408dd197c13ca0f1e0d5cdcc9870c674963bb87a7e370b2884d1426d73834f", - "sha256:95790dd8aeb4ca8df9ac215ec353a29108647797e54daa652a4634ca316f70d4", - "sha256:a7c70ab6d33dfeb43bfe982c636609d8f90506dacaaa1f409a3c43c66d578fb1", - "sha256:b0a656eccd9cb115d01c9bbe55bfe84cf20c8422c495503f41aef747b193c33d", - "sha256:b7ae7ad4ff9c4492d4b633702e35153509b07dc6ffd20f1577076d7647c9caba", - "sha256:b91e862ab0ddecf37ee6e3bf33965ef4c3e38ba9cdc106eef552293caed512f9", - "sha256:c535d96ded6e26b37fadda9242a49fea6308754da5945173940614b7520c07b4", - "sha256:c62bf14557d2cb54f5e3c1ba0a3b3f4b69bf0441081c32d63b205763b495b251", - "sha256:ccbc835939416a7df7834b79c655409a2a9d2deb9bf119b28dedf72a168f7895", - "sha256:cd59c0dbcae2808a1e26e07d3858b5a935635be195c8ea967a4bc32599381523", - "sha256:d68fdf9bff0068367126983d7d85765124c292b4bc3d4d19ed8138335d8426a7", - "sha256:d7999e4d4b3597b706a333f9a7bf2efbd8365cd244312405f33b4870fa3b411d", - "sha256:eb89ed32e2b766fcb1afc52847e33d8c369d2b40f23d4c96977fd092b5a0ea86", - "sha256:f12e570777027f807dc7dc3ea1945ea040befaf1c9485deb6f24d7110009fc12", - "sha256:f735f57bc19d0f8bbc784093cfb7953a9ad66612b05c3ff876ec7951a96d7edd", - "sha256:fdf9aec76a7285b00fb64ec942cd9ff88f8765874a5abf99c4e8c5374b3133e9", - "sha256:fe4a3e3fa3a16ed9b12b6ff0922208ef83287e066e696b82b96d33723d8207f2", - "sha256:feb5f2f44dcdad1a6b80e7ce24e7557ce25d01ff13b7a74ca276d113adf9d4af", - "sha256:ff92408011d78e4ffe297331ff30cded39a3e22845ba237516c646f6a485a241" + "sha256:017a7384c0cd1a5907751c991535a0699596e89725468a7fc39228312e10efa1", + "sha256:0bacf89a65489d26c7087669af89938d5bfd9f7afb12a07b57855b9fad6ccbd0", + "sha256:12380aba5c316e9ff53cc21d8ab80f4a91c0df3ada58f65d4f5eb2cf693db00e", + "sha256:1a93062609e8fa67ec97cd5fb9206886774b2a09b24887f40148c9c37e6fb71c", + "sha256:24484f80f14befb8822bf29554cfb3a26a26cb69cd1e5a8be9e23b4bd7a96e25", + "sha256:2534c23dc32bed62b659ed4fd9e198906179e68b26c9276a897e04163bdde806", + "sha256:2797885e9aeffdc98e1846723e5aa212e7ce53007dbef40d6fd2add264235c41", + "sha256:29ab729d50ae85077a68e0385f129f5b01052d01a0ae6d7fdc1824f5337905e4", + "sha256:2d316529b70d325b183b2f3f5cde958911ff7be12eb2b532b5c301f915dbbf1e", + "sha256:37ee34b77c7553777c0b8379915f75934c3f9c8cd32f7cd098ea43c9323c2276", + "sha256:3fae8533f9d0ef3348a1f503edcfb531ef7a0236b57da1e24339aceb0ce52922", + "sha256:469c86d02fccad7e2a3d82fe22237e47ecb376fbf4710bc18747b49c50716817", + "sha256:582c948fa9a23188b890d0bc130734a506d039a2e5ad87dae276a456cc683e61", + "sha256:5b6106e2414b1797133786258fa1962a5e836480e4d5e861577f9fc63b673a5a", + "sha256:60ad4ca9ca2c4cc8201b607c229cd17af749831e371d006d8a91303bb5568eb1", + "sha256:7b95815fe44f318ebbfd733b6428b4cb18cc5e68f1c40e8501dd69cc1f42a83d", + "sha256:7f0694daab1a041b69a53f53c2141c12994892b2503870515cabe6a5dbd2a928", + "sha256:80d20592aeabcc4e294fd441fd43d45cb537437fd642c374ea9d964622fad229", + "sha256:8e5a0fab5e245b15ec1005b3666b0a2e867c26f411c8fe66ae1afe07174a30e9", + "sha256:8fdc7446895fa184890d8ca5ea61e502691114f9db55c9b76adc33f3086c4368", + "sha256:9fa6aa0da224ed807d3b76cdb4ee8b54d4d4d5e018aed2478098e685baae7896", + "sha256:a022a9de9275ce0b390b7315595454258c525dc8287a03f1a6cacc5878ab7cbc", + "sha256:a8ba0257542ccbb72a8229dc34d00844ccdfba110417e4b7b34599548d0e20e9", + "sha256:b83aff2441c7d4ee93e519989713b7c2607d4510abe990cd1d04f641bc6c03af", + "sha256:b87a4b66edb3808d4d07bbdb0deed5a710cf3d3c531e082759afd283758bb649", + "sha256:bb673eb291c19370f69295f7a881a536451408481e2e3deec3f41dedb7c281ec", + "sha256:bc899212d90f311784c58938a9c09c59802fb6dc287a35fabdc36d180f57f575", + "sha256:c1325ed44225c8309c0dd188bdbbbee79e1df8c11ceccac226b861c7d52e4837", + "sha256:c7b32d9c3b5294b39ea9060e20c582e49e1ec81edbfeae6cf05f8ad0829cb13d", + "sha256:c7b80a37f2fb45ee4a8f7e64b77dd8a842d364384046e394227b974a4e9c9a52", + "sha256:cad0821dff998c7c60dd238f92cd61380342c47fb9e92e1a8705d9b5ac7c16e8", + "sha256:cde6aaac36b54332e10ea2a5bc0de6a8aba6c205c92603fe4396e3777c88e05d", + "sha256:d87c0a1bd809d8f70f96b9b229779ec6647339830b8888a192beed33ac8d129f", + "sha256:e30169ef9cc0a57930bfd8fe14d86bc9d39fb96d278e3891e85cbe7b46058a97", + "sha256:e5f358e81e27b1a7f2fb2f5219794e13ab5f59ce05571aa3877cfac63adb97db", + "sha256:e72ad5f8d9c92df017fb91a1f6a438cfb63b0eff4b40904ff81b40cb8150078c", + "sha256:f076779050029a82feb0cb1462021d3404d22f80fa76a181b1a7889cd4d6b519", + "sha256:f6ba33c13db91ffdbb489a4f3d177a261ea1843923e1d68a5636c53fe98fa5ce", + "sha256:fcd5bcad3102bde686d0adcc341fade6245186050ce14386d547ccab4bd54310" ], "index": "pypi", - "markers": "python_version >= '3.9'", - "version": "==25.4.2" + "version": "==25.5.1" }, "greenlet": { "hashes": [ - "sha256:04b4ec7f65f0e4a1500ac475c9343f6cc022b2363ebfb6e94f416085e40dea15", - "sha256:05a7490f74e8aabc5f29256765a99577ffde979920a2db1f3676d265a3adba41", - "sha256:063bcf7f8ee28eb91e7f7a8148c65a43b73fbdc0064ab693e024b5a940070145", - "sha256:0ba2811509a30e5f943be048895a983a8daf0b9aa0ac0ead526dfb5d987d80ea", - "sha256:0c68bbc639359493420282d2f34fa114e992a8724481d700da0b10d10a7611b8", - "sha256:0ddda0197c5b46eedb5628d33dad034c455ae77708c7bf192686e760e26d6a0c", - "sha256:175d583f7d5ee57845591fc30d852b75b144eb44b05f38b67966ed6df05c8526", - "sha256:17964c246d4f6e1327edd95e2008988a8995ae3a7732be2f9fc1efed1f1cdf8c", - "sha256:1a750f1046994b9e038b45ae237d68153c29a3a783075211fb1414a180c8324b", - "sha256:1c472adfca310f849903295c351d297559462067f618944ce2650a1878b84123", - "sha256:2273586879affca2d1f414709bb1f61f0770adcabf9eda8ef48fd90b36f15d12", - "sha256:24a496479bc8bd01c39aa6516a43c717b4cee7196573c47b1f8e1011f7c12495", - "sha256:2530bfb0abcd451ea81068e6d0a1aac6dabf3f4c23c8bd8e2a8f579c2dd60d95", - "sha256:3059c6f286b53ea4711745146ffe5a5c5ff801f62f6c56949446e0f6461f8157", - "sha256:3227c6ec1149d4520bc99edac3b9bc8358d0034825f3ca7572165cb502d8f29a", - "sha256:374ffebaa5fbd10919cd599e5cf8ee18bae70c11f9d61e73db79826c8c93d6f9", - "sha256:3ecc9d33ca9428e4536ea53e79d781792cee114d2fa2695b173092bdbd8cd6d5", - "sha256:3f56382ac4df3860ebed8ed838f268f03ddf4e459b954415534130062b16bc32", - "sha256:4245246e72352b150a1588d43ddc8ab5e306bef924c26571aafafa5d1aaae4e8", - "sha256:4339b202ac20a89ccd5bde0663b4d00dc62dd25cb3fb14f7f3034dec1b0d9ece", - "sha256:4818116e75a0dd52cdcf40ca4b419e8ce5cb6669630cb4f13a6c384307c9543f", - "sha256:5193135b3a8d0017cb438de0d49e92bf2f6c1c770331d24aa7500866f4db4017", - "sha256:51a2f49da08cff79ee42eb22f1658a2aed60c72792f0a0a95f5f0ca6d101b1fb", - "sha256:5c12f0d17a88664757e81a6e3fc7c2452568cf460a2f8fb44f90536b2614000b", - "sha256:6079ae990bbf944cf66bea64a09dcb56085815630955109ffa98984810d71565", - "sha256:639a94d001fe874675b553f28a9d44faed90f9864dc57ba0afef3f8d76a18b04", - "sha256:64a4d0052de53ab3ad83ba86de5ada6aeea8f099b4e6c9ccce70fb29bc02c6a2", - "sha256:6dcc6d604a6575c6225ac0da39df9335cc0c6ac50725063fa90f104f3dbdb2c9", - "sha256:7132e024ebeeeabbe661cf8878aac5d2e643975c4feae833142592ec2f03263d", - "sha256:72c9b668454e816b5ece25daac1a42c94d1c116d5401399a11b77ce8d883110c", - "sha256:777c1281aa7c786738683e302db0f55eb4b0077c20f1dc53db8852ffaea0a6b0", - "sha256:7abc0545d8e880779f0c7ce665a1afc3f72f0ca0d5815e2b006cafc4c1cc5840", - "sha256:7b0f3a0a67786facf3b907a25db80efe74310f9d63cc30869e49c79ee3fcef7e", - "sha256:852ef432919830022f71a040ff7ba3f25ceb9fe8f3ab784befd747856ee58530", - "sha256:8b89e5d44f55372efc6072f59ced5ed1efb7b44213dab5ad7e0caba0232c6545", - "sha256:8fe303381e7e909e42fb23e191fc69659910909fdcd056b92f6473f80ef18543", - "sha256:9afa05fe6557bce1642d8131f87ae9462e2a8e8c46f7ed7929360616088a3975", - "sha256:9f4dd4b4946b14bb3bf038f81e1d2e535b7d94f1b2a59fdba1293cd9c1a0a4d7", - "sha256:aa30066fd6862e1153eaae9b51b449a6356dcdb505169647f69e6ce315b9468b", - "sha256:b38d53cf268da963869aa25a6e4cc84c1c69afc1ae3391738b2603d110749d01", - "sha256:b7503d6b8bbdac6bbacf5a8c094f18eab7553481a1830975799042f26c9e101b", - "sha256:c07a0c01010df42f1f058b3973decc69c4d82e036a951c3deaf89ab114054c07", - "sha256:cb5ee928ce5fedf9a4b0ccdc547f7887136c4af6109d8f2fe8e00f90c0db47f5", - "sha256:cc45a7189c91c0f89aaf9d69da428ce8301b0fd66c914a499199cfb0c28420fc", - "sha256:d6668caf15f181c1b82fb6406f3911696975cc4c37d782e19cb7ba499e556189", - "sha256:dbb4e1aa2000852937dd8f4357fb73e3911da426df8ca9b8df5db231922da474", - "sha256:de62b542e5dcf0b6116c310dec17b82bb06ef2ceb696156ff7bf74a7a498d982", - "sha256:e1967882f0c42eaf42282a87579685c8673c51153b845fde1ee81be720ae27ac", - "sha256:e1a40a17e2c7348f5eee5d8e1b4fa6a937f0587eba89411885a36a8e1fc29bd2", - "sha256:e63cd2035f49376a23611fbb1643f78f8246e9d4dfd607534ec81b175ce582c2", - "sha256:e775176b5c203a1fa4be19f91da00fd3bff536868b77b237da3f4daa5971ae5d", - "sha256:e77ae69032a95640a5fe8c857ec7bee569a0997e809570f4c92048691ce4b437", - "sha256:e934591a7a4084fa10ee5ef50eb9d2ac8c4075d5c9cf91128116b5dca49d43b1", - "sha256:e98328b8b8f160925d6b1c5b1879d8e64f6bd8cf11472b7127d579da575b77d9", - "sha256:ff38c869ed30fff07f1452d9a204ece1ec6d3c0870e0ba6e478ce7c1515acf22" + "sha256:00cd814b8959b95a546e47e8d589610534cfb71f19802ea8a2ad99d95d702057", + "sha256:02a98600899ca1ca5d3a2590974c9e3ec259503b2d6ba6527605fcd74e08e207", + "sha256:02f5972ff02c9cf615357c17ab713737cccfd0eaf69b951084a9fd43f39833d3", + "sha256:055916fafad3e3388d27dd68517478933a97edc2fc54ae79d3bec827de2c64c4", + "sha256:0a16fb934fcabfdfacf21d79e6fed81809d8cd97bc1be9d9c89f0e4567143d7b", + "sha256:1592a615b598643dbfd566bac8467f06c8c8ab6e56f069e573832ed1d5d528cc", + "sha256:1919cbdc1c53ef739c94cf2985056bcc0838c1f217b57647cbf4578576c63825", + "sha256:1e4747712c4365ef6765708f948acc9c10350719ca0545e362c24ab973017370", + "sha256:1e76106b6fc55fa3d6fe1c527f95ee65e324a13b62e243f77b48317346559708", + "sha256:1f72667cc341c95184f1c68f957cb2d4fc31eef81646e8e59358a10ce6689457", + "sha256:2593283bf81ca37d27d110956b79e8723f9aa50c4bcdc29d3c0543d4743d2763", + "sha256:2dc5c43bb65ec3669452af0ab10729e8fdc17f87a1f2ad7ec65d4aaaefabf6bf", + "sha256:3091bc45e6b0c73f225374fefa1536cd91b1e987377b12ef5b19129b07d93ebe", + "sha256:354f67445f5bed6604e493a06a9a49ad65675d3d03477d38a4db4a427e9aad0e", + "sha256:3885f85b61798f4192d544aac7b25a04ece5fe2704670b4ab73c2d2c14ab740d", + "sha256:3ab7194ee290302ca15449f601036007873028712e92ca15fc76597a0aeb4c59", + "sha256:3aeca9848d08ce5eb653cf16e15bb25beeab36e53eb71cc32569f5f3afb2a3aa", + "sha256:44671c29da26539a5f142257eaba5110f71887c24d40df3ac87f1117df589e0e", + "sha256:45f9f4853fb4cc46783085261c9ec4706628f3b57de3e68bae03e8f8b3c0de51", + "sha256:4bd139e4943547ce3a56ef4b8b1b9479f9e40bb47e72cc906f0f66b9d0d5cab3", + "sha256:4fefc7aa68b34b9224490dfda2e70ccf2131368493add64b4ef2d372955c207e", + "sha256:6629311595e3fe7304039c67f00d145cd1d38cf723bb5b99cc987b23c1433d61", + "sha256:6fadd183186db360b61cb34e81117a096bff91c072929cd1b529eb20dd46e6c5", + "sha256:71566302219b17ca354eb274dfd29b8da3c268e41b646f330e324e3967546a74", + "sha256:7409796591d879425997a518138889d8d17e63ada7c99edc0d7a1c22007d4907", + "sha256:752f0e79785e11180ebd2e726c8a88109ded3e2301d40abced2543aa5d164275", + "sha256:7791dcb496ec53d60c7f1c78eaa156c21f402dda38542a00afc3e20cae0f480f", + "sha256:782743700ab75716650b5238a4759f840bb2dcf7bff56917e9ffdf9f1f23ec59", + "sha256:7c9896249fbef2c615853b890ee854f22c671560226c9221cfd27c995db97e5c", + "sha256:85f3e248507125bf4af607a26fd6cb8578776197bd4b66e35229cdf5acf1dfbf", + "sha256:89c69e9a10670eb7a66b8cef6354c24671ba241f46152dd3eed447f79c29fb5b", + "sha256:8cb8553ee954536500d88a1a2f58fcb867e45125e600e80f586ade399b3f8819", + "sha256:9ae572c996ae4b5e122331e12bbb971ea49c08cc7c232d1bd43150800a2d6c65", + "sha256:9c7b15fb9b88d9ee07e076f5a683027bc3befd5bb5d25954bb633c385d8b737e", + "sha256:9ea5231428af34226c05f927e16fc7f6fa5e39e3ad3cd24ffa48ba53a47f4240", + "sha256:a31ead8411a027c2c4759113cf2bd473690517494f3d6e4bf67064589afcd3c5", + "sha256:a8fa80665b1a29faf76800173ff5325095f3e66a78e62999929809907aca5659", + "sha256:ad053d34421a2debba45aa3cc39acf454acbcd025b3fc1a9f8a0dee237abd485", + "sha256:b24c7844c0a0afc3ccbeb0b807adeefb7eff2b5599229ecedddcfeb0ef333bec", + "sha256:b50a8c5c162469c3209e5ec92ee4f95c8231b11db6a04db09bbe338176723bb8", + "sha256:ba30e88607fb6990544d84caf3c706c4b48f629e18853fc6a646f82db9629418", + "sha256:bf3fc9145141250907730886b031681dfcc0de1c158f3cc51c092223c0f381ce", + "sha256:c23ea227847c9dbe0b3910f5c0dd95658b607137614eb821e6cbaecd60d81cc6", + "sha256:c3cc1a3ed00ecfea8932477f729a9f616ad7347a5e55d50929efa50a86cb7be7", + "sha256:c49e9f7c6f625507ed83a7485366b46cbe325717c60837f7244fc99ba16ba9d6", + "sha256:d0cb7d47199001de7658c213419358aa8937df767936506db0db7ce1a71f4a2f", + "sha256:d8009ae46259e31bc73dc183e402f548e980c96f33a6ef58cc2e7865db012e13", + "sha256:da956d534a6d1b9841f95ad0f18ace637668f680b1339ca4dcfb2c1837880a0b", + "sha256:dcb9cebbf3f62cb1e5afacae90761ccce0effb3adaa32339a0670fe7805d8068", + "sha256:decb0658ec19e5c1f519faa9a160c0fc85a41a7e6654b3ce1b44b939f8bf1325", + "sha256:df4d1509efd4977e6a844ac96d8be0b9e5aa5d5c77aa27ca9f4d3f92d3fcf330", + "sha256:eeb27bece45c0c2a5842ac4c5a1b5c2ceaefe5711078eed4e8043159fa05c834", + "sha256:efcdfb9df109e8a3b475c016f60438fcd4be68cd13a365d42b35914cdab4bb2b", + "sha256:fd9fb7c941280e2c837b603850efc93c999ae58aae2b40765ed682a6907ebbc5", + "sha256:fe46d4f8e94e637634d54477b0cfabcf93c53f29eedcbdeecaf2af32029b4421" ], "index": "pypi", - "markers": "python_version >= '3.9'", - "version": "==3.2.1" + "version": "==3.2.2" }, "gunicorn": { "hashes": [ @@ -499,7 +502,6 @@ "sha256:f014447a0101dc57e294f6c18ca6b40227a4c90e9bdb586042628030cba004ec" ], "index": "pypi", - "markers": "python_version >= '3.7'", "version": "==23.0.0" }, "idna": { @@ -555,7 +557,6 @@ "sha256:61c9170f92e736b530655e75374681d4fcca9cfa8763ab42be57353b2b203494" ], "index": "pypi", - "markers": "python_version >= '3.6'", "version": "==1.3.1" }, "markupsafe": { @@ -631,7 +632,6 @@ "sha256:c06ef7a43e5d67107067f77b6c07ebdd68733e5aa7eed03076472410ca19d876" ], "index": "pypi", - "markers": "python_version >= '3.9'", "version": "==7.2.15" }, "mistune": { @@ -644,65 +644,64 @@ }, "numpy": { "hashes": [ - "sha256:0255732338c4fdd00996c0421884ea8a3651eea555c3a56b84892b66f696eb70", - "sha256:02f226baeefa68f7d579e213d0f3493496397d8f1cff5e2b222af274c86a552a", - "sha256:059b51b658f4414fff78c6d7b1b4e18283ab5fa56d270ff212d5ba0c561846f4", - "sha256:0bcb1d057b7571334139129b7f941588f69ce7c4ed15a9d6162b2ea54ded700c", - "sha256:0cd48122a6b7eab8f06404805b1bd5856200e3ed6f8a1b9a194f9d9054631beb", - "sha256:19f4718c9012e3baea91a7dba661dcab2451cda2550678dc30d53acb91a7290f", - "sha256:1a161c2c79ab30fe4501d5a2bbfe8b162490757cf90b7f05be8b80bc02f7bb8e", - "sha256:1f4a922da1729f4c40932b2af4fe84909c7a6e167e6e99f71838ce3a29f3fe26", - "sha256:261a1ef047751bb02f29dfe337230b5882b54521ca121fc7f62668133cb119c9", - "sha256:262d23f383170f99cd9191a7c85b9a50970fe9069b2f8ab5d786eca8a675d60b", - "sha256:2ba321813a00e508d5421104464510cc962a6f791aa2fca1c97b1e65027da80d", - "sha256:2c1a1c6ccce4022383583a6ded7bbcda22fc635eb4eb1e0a053336425ed36dfa", - "sha256:352d330048c055ea6db701130abc48a21bec690a8d38f8284e00fab256dc1376", - "sha256:369e0d4647c17c9363244f3468f2227d557a74b6781cb62ce57cf3ef5cc7c610", - "sha256:36ab5b23915887543441efd0417e6a3baa08634308894316f446027611b53bf1", - "sha256:37e32e985f03c06206582a7323ef926b4e78bdaa6915095ef08070471865b906", - "sha256:3a801fef99668f309b88640e28d261991bfad9617c27beda4a3aec4f217ea073", - "sha256:3d14b17b9be5f9c9301f43d2e2a4886a33b53f4e6fdf9ca2f4cc60aeeee76372", - "sha256:422cc684f17bc963da5f59a31530b3936f57c95a29743056ef7a7903a5dbdf88", - "sha256:4520caa3807c1ceb005d125a75e715567806fed67e315cea619d5ec6e75a4191", - "sha256:47834cde750d3c9f4e52c6ca28a7361859fcaf52695c7dc3cc1a720b8922683e", - "sha256:47f9ed103af0bc63182609044b0490747e03bd20a67e391192dde119bf43d52f", - "sha256:498815b96f67dc347e03b719ef49c772589fb74b8ee9ea2c37feae915ad6ebda", - "sha256:54088a5a147ab71a8e7fdfd8c3601972751ded0739c6b696ad9cb0343e21ab73", - "sha256:55f09e00d4dccd76b179c0f18a44f041e5332fd0e022886ba1c0bbf3ea4a18d0", - "sha256:5a0ac90e46fdb5649ab6369d1ab6104bfe5854ab19b645bf5cda0127a13034ae", - "sha256:6411f744f7f20081b1b4e7112e0f4c9c5b08f94b9f086e6f0adf3645f85d3a4d", - "sha256:6413d48a9be53e183eb06495d8e3b006ef8f87c324af68241bbe7a39e8ff54c3", - "sha256:7451f92eddf8503c9b8aa4fe6aa7e87fd51a29c2cfc5f7dbd72efde6c65acf57", - "sha256:8b4c0773b6ada798f51f0f8e30c054d32304ccc6e9c5d93d46cb26f3d385ab19", - "sha256:8dfa94b6a4374e7851bbb6f35e6ded2120b752b063e6acdd3157e4d2bb922eba", - "sha256:97c8425d4e26437e65e1d189d22dff4a079b747ff9c2788057bfb8114ce1e133", - "sha256:9d75f338f5f79ee23548b03d801d28a505198297534f62416391857ea0479571", - "sha256:9de6832228f617c9ef45d948ec1cd8949c482238d68b2477e6f642c33a7b0a54", - "sha256:a4cbdef3ddf777423060c6f81b5694bad2dc9675f110c4b2a60dc0181543fac7", - "sha256:a9c0d994680cd991b1cb772e8b297340085466a6fe964bc9d4e80f5e2f43c291", - "sha256:aa70fdbdc3b169d69e8c59e65c07a1c9351ceb438e627f0fdcd471015cd956be", - "sha256:abe38cd8381245a7f49967a6010e77dbf3680bd3627c0fe4362dd693b404c7f8", - "sha256:b13f04968b46ad705f7c8a80122a42ae8f620536ea38cf4bdd374302926424dd", - "sha256:b4ea7e1cff6784e58fe281ce7e7f05036b3e1c89c6f922a6bfbc0a7e8768adbe", - "sha256:b6f91524d31b34f4a5fee24f5bc16dcd1491b668798b6d85585d836c1e633a6a", - "sha256:c26843fd58f65da9491165072da2cccc372530681de481ef670dcc8e27cfb066", - "sha256:c42365005c7a6c42436a54d28c43fe0e01ca11eb2ac3cefe796c25a5f98e5e9b", - "sha256:c8b82a55ef86a2d8e81b63da85e55f5537d2157165be1cb2ce7cfa57b6aef38b", - "sha256:ced69262a8278547e63409b2653b372bf4baff0870c57efa76c5703fd6543282", - "sha256:d2e3bdadaba0e040d1e7ab39db73e0afe2c74ae277f5614dad53eadbecbbb169", - "sha256:d403c84991b5ad291d3809bace5e85f4bbf44a04bdc9a88ed2bb1807b3360bb8", - "sha256:d7543263084a85fbc09c704b515395398d31d6395518446237eac219eab9e55e", - "sha256:d8882a829fd779f0f43998e931c466802a77ca1ee0fe25a3abe50278616b1471", - "sha256:e4f0b035d9d0ed519c813ee23e0a733db81ec37d2e9503afbb6e54ccfdee0fa7", - "sha256:e8b025c351b9f0e8b5436cf28a07fa4ac0204d67b38f01433ac7f9b870fa38c6", - "sha256:eb7fd5b184e5d277afa9ec0ad5e4eb562ecff541e7f60e69ee69c8d59e9aeaba", - "sha256:ec31367fd6a255dc8de4772bd1658c3e926d8e860a0b6e922b615e532d320ddc", - "sha256:ee461a4eaab4f165b68780a6a1af95fb23a29932be7569b9fab666c407969051", - "sha256:f5045039100ed58fa817a6227a356240ea1b9a1bc141018864c306c1a16d4175" + "sha256:038613e9fb8c72b0a41f025a7e4c3f0b7a1b5d768ece4796b674c8f3fe13efff", + "sha256:0678000bb9ac1475cd454c6b8c799206af8107e310843532b04d49649c717a47", + "sha256:0811bb762109d9708cca4d0b13c4f67146e3c3b7cf8d34018c722adb2d957c84", + "sha256:0b605b275d7bd0c640cad4e5d30fa701a8d59302e127e5f79138ad62762c3e3d", + "sha256:0bca768cd85ae743b2affdc762d617eddf3bcf8724435498a1e80132d04879e6", + "sha256:1bc23a79bfabc5d056d106f9befb8d50c31ced2fbc70eedb8155aec74a45798f", + "sha256:287cc3162b6f01463ccd86be154f284d0893d2b3ed7292439ea97eafa8170e0b", + "sha256:37c0ca431f82cd5fa716eca9506aefcabc247fb27ba69c5062a6d3ade8cf8f49", + "sha256:37e990a01ae6ec7fe7fa1c26c55ecb672dd98b19c3d0e1d1f326fa13cb38d163", + "sha256:389d771b1623ec92636b0786bc4ae56abafad4a4c513d36a55dce14bd9ce8571", + "sha256:3d70692235e759f260c3d837193090014aebdf026dfd167834bcba43e30c2a42", + "sha256:41c5a21f4a04fa86436124d388f6ed60a9343a6f767fced1a8a71c3fbca038ff", + "sha256:481b49095335f8eed42e39e8041327c05b0f6f4780488f61286ed3c01368d491", + "sha256:4eeaae00d789f66c7a25ac5f34b71a7035bb474e679f410e5e1a94deb24cf2d4", + "sha256:55a4d33fa519660d69614a9fad433be87e5252f4b03850642f88993f7b2ca566", + "sha256:5a6429d4be8ca66d889b7cf70f536a397dc45ba6faeb5f8c5427935d9592e9cf", + "sha256:5bd4fc3ac8926b3819797a7c0e2631eb889b4118a9898c84f585a54d475b7e40", + "sha256:5beb72339d9d4fa36522fc63802f469b13cdbe4fdab4a288f0c441b74272ebfd", + "sha256:6031dd6dfecc0cf9f668681a37648373bddd6421fff6c66ec1624eed0180ee06", + "sha256:71594f7c51a18e728451bb50cc60a3ce4e6538822731b2933209a1f3614e9282", + "sha256:74d4531beb257d2c3f4b261bfb0fc09e0f9ebb8842d82a7b4209415896adc680", + "sha256:7befc596a7dc9da8a337f79802ee8adb30a552a94f792b9c9d18c840055907db", + "sha256:894b3a42502226a1cac872f840030665f33326fc3dac8e57c607905773cdcde3", + "sha256:8e41fd67c52b86603a91c1a505ebaef50b3314de0213461c7a6e99c9a3beff90", + "sha256:8e9ace4a37db23421249ed236fdcdd457d671e25146786dfc96835cd951aa7c1", + "sha256:8fc377d995680230e83241d8a96def29f204b5782f371c532579b4f20607a289", + "sha256:9551a499bf125c1d4f9e250377c1ee2eddd02e01eac6644c080162c0c51778ab", + "sha256:b0544343a702fa80c95ad5d3d608ea3599dd54d4632df855e4c8d24eb6ecfa1c", + "sha256:b093dd74e50a8cba3e873868d9e93a85b78e0daf2e98c6797566ad8044e8363d", + "sha256:b412caa66f72040e6d268491a59f2c43bf03eb6c96dd8f0307829feb7fa2b6fb", + "sha256:b4f13750ce79751586ae2eb824ba7e1e8dba64784086c98cdbbcc6a42112ce0d", + "sha256:b64d8d4d17135e00c8e346e0a738deb17e754230d7e0810ac5012750bbd85a5a", + "sha256:ba10f8411898fc418a521833e014a77d3ca01c15b0c6cdcce6a0d2897e6dbbdf", + "sha256:bd48227a919f1bafbdda0583705e547892342c26fb127219d60a5c36882609d1", + "sha256:c1f9540be57940698ed329904db803cf7a402f3fc200bfe599334c9bd84a40b2", + "sha256:c820a93b0255bc360f53eca31a0e676fd1101f673dda8da93454a12e23fc5f7a", + "sha256:ce47521a4754c8f4593837384bd3424880629f718d87c5d44f8ed763edd63543", + "sha256:d042d24c90c41b54fd506da306759e06e568864df8ec17ccc17e9e884634fd00", + "sha256:de749064336d37e340f640b05f24e9e3dd678c57318c7289d222a8a2f543e90c", + "sha256:e1dda9c7e08dc141e0247a5b8f49cf05984955246a327d4c48bda16821947b2f", + "sha256:e29554e2bef54a90aa5cc07da6ce955accb83f21ab5de01a62c8478897b264fd", + "sha256:e3143e4451880bed956e706a3220b4e5cf6172ef05fcc397f6f36a550b1dd868", + "sha256:e8213002e427c69c45a52bbd94163084025f533a55a59d6f9c5b820774ef3303", + "sha256:efd28d4e9cd7d7a8d39074a4d44c63eda73401580c5c76acda2ce969e0a38e83", + "sha256:f0fd6321b839904e15c46e0d257fdd101dd7f530fe03fd6359c1ea63738703f3", + "sha256:f1372f041402e37e5e633e586f62aa53de2eac8d98cbfb822806ce4bbefcb74d", + "sha256:f2618db89be1b4e05f7a1a847a9c1c0abd63e63a1607d892dd54668dd92faf87", + "sha256:f447e6acb680fd307f40d3da4852208af94afdfab89cf850986c3ca00562f4fa", + "sha256:f92729c95468a2f4f15e9bb94c432a9229d0d50de67304399627a943201baa2f", + "sha256:f9f1adb22318e121c5c69a09142811a201ef17ab257a1e66ca3025065b7f53ae", + "sha256:fc0c5673685c508a142ca65209b4e79ed6740a4ed6b2267dbba90f34b0b3cfda", + "sha256:fc7b73d02efb0e18c000e9ad8b83480dfcd5dfd11065997ed4c6747470ae8915", + "sha256:fd83c01228a688733f1ded5201c678f0c53ecc1006ffbc404db9f7a899ac6249", + "sha256:fe27749d33bb772c80dcd84ae7e8df2adc920ae8297400dabec45f0dedb3f6de", + "sha256:fee4236c876c4e8369388054d02d0e9bb84821feb1a64dd59e137e6511a551f8" ], "index": "pypi", - "markers": "python_version >= '3.10'", - "version": "==2.2.5" + "version": "==2.2.6" }, "opensearch-py": { "hashes": [ @@ -710,7 +709,6 @@ "sha256:6598df0bc7a003294edd0ba88a331e0793acbb8c910c43edf398791e3b2eccda" ], "index": "pypi", - "markers": "python_version >= '3.8' and python_version < '4'", "version": "==2.8.0" }, "packaging": { @@ -767,7 +765,6 @@ "sha256:fffb8ae78d8af97f849404f21411c95062db1496aeb3e56f146f0355c9989319" ], "index": "pypi", - "markers": "python_version >= '3.9'", "version": "==2.2.3" }, "pika": { @@ -780,11 +777,11 @@ }, "prometheus-client": { "hashes": [ - "sha256:252505a722ac04b0456be05c05f75f45d760c2911ffc45f2a06bcaed9f3ae3fb", - "sha256:594b45c410d6f4f8888940fe80b5cc2521b305a1fafe1c58609ef715a001f301" + "sha256:18da1d2241ac2d10c8d2110f13eedcd5c7c0c8af18c926e8731f04fc10cd575c", + "sha256:c8951bbe64e62b96cd8e8f5d917279d1b9b91ab766793f33d4dce6c228558713" ], - "markers": "python_version >= '3.8'", - "version": "==0.21.1" + "markers": "python_version >= '3.9'", + "version": "==0.22.0" }, "prometheus-flask-exporter": { "hashes": [ @@ -804,38 +801,50 @@ }, "pycryptodome": { "hashes": [ - "sha256:009e1c80eea42401a5bd5983c4bab8d516aef22e014a4705622e24e6d9d703c6", - "sha256:18d5b0ddc7cf69231736d778bd3ae2b3efb681ae33b64b0c92fb4626bb48bb89", - "sha256:2988ffcd5137dc2d27eb51cd18c0f0f68e5b009d5fec56fbccb638f90934f333", - "sha256:37ddcd18284e6b36b0a71ea495a4c4dca35bb09ccc9bfd5b91bfaf2321f131c1", - "sha256:3b76fa80daeff9519d7e9f6d9e40708f2fce36b9295a847f00624a08293f4f00", - "sha256:56c6f9342fcb6c74e205fbd2fee568ec4cdbdaa6165c8fde55dbc4ba5f584464", - "sha256:87a88dc543b62b5c669895caf6c5a958ac7abc8863919e94b7a6cafd2f64064f", - "sha256:8f4f6f47a7f411f2c157e77bbbda289e0c9f9e1e9944caa73c1c2e33f3f92d6e", - "sha256:96e73527c9185a3d9b4c6d1cfb4494f6ced418573150be170f6580cb975a7f5a", - "sha256:98fd9da809d5675f3a65dcd9ed384b9dc67edab6a4cda150c5870a8122ec961d", - "sha256:9dbb749cef71c28271484cbef684f9b5b19962153487735411e1020ca3f59cb1", - "sha256:9e1bb165ea1dc83a11e5dbbe00ef2c378d148f3a2d3834fb5ba4e0f6fd0afe4b", - "sha256:a0092fd476701eeeb04df5cc509d8b739fa381583cda6a46ff0a60639b7cd70d", - "sha256:a26bcfee1293b7257c83b0bd13235a4ee58165352be4f8c45db851ba46996dc6", - "sha256:a31fa5914b255ab62aac9265654292ce0404f6b66540a065f538466474baedbc", - "sha256:a6cf9553b29624961cab0785a3177a333e09e37ba62ad22314ebdbb01ca79840", - "sha256:aec7b40a7ea5af7c40f8837adf20a137d5e11a6eb202cde7e588a48fb2d871a8", - "sha256:b4bdce34af16c1dcc7f8c66185684be15f5818afd2a82b75a4ce6b55f9783e13", - "sha256:d086aed307e96d40c23c42418cbbca22ecc0ab4a8a0e24f87932eeab26c08627", - "sha256:d21c1eda2f42211f18a25db4eaf8056c94a8563cd39da3683f89fe0d881fb772", - "sha256:d4d1174677855c266eed5c4b4e25daa4225ad0c9ffe7584bb1816767892545d0", - "sha256:e653519dedcd1532788547f00eeb6108cc7ce9efdf5cc9996abce0d53f95d5a9", - "sha256:e7514a1aebee8e85802d154fdb261381f1cb9b7c5a54594545145b8ec3056ae6", - "sha256:f02baa9f5e35934c6e8dcec91fcde96612bdefef6e442813b8ea34e82c84bbfb", - "sha256:f1ae7beb64d4fc4903a6a6cca80f1f448e7a8a95b77d106f8a29f2eb44d17547", - "sha256:f5810bc7494e4ac12a4afef5a32218129e7d3890ce3f2b5ec520cc69eb1102ad", - "sha256:f6cf6aa36fcf463e622d2165a5ad9963b2762bebae2f632d719dfb8544903cf5", - "sha256:f7a683bc9fa585c0dfec7fa4801c96a48d30b30b096e3297f9374f40c2fedafc", - "sha256:fd7ab568b3ad7b77c908d7c3f7e167ec5a8f035c64ff74f10d47a4edd043d723" + "sha256:0011f7f00cdb74879142011f95133274741778abba114ceca229adbf8e62c3e4", + "sha256:11eeeb6917903876f134b56ba11abe95c0b0fd5e3330def218083c7d98bbcb3c", + "sha256:14e15c081e912c4b0d75632acd8382dfce45b258667aa3c67caf7a4d4c13f630", + "sha256:156df9667ad9f2ad26255926524e1c136d6664b741547deb0a86a9acf5ea631f", + "sha256:187058ab80b3281b1de11c2e6842a357a1f71b42cb1e15bce373f3d238135c27", + "sha256:257bb3572c63ad8ba40b89f6fc9d63a2a628e9f9708d31ee26560925ebe0210a", + "sha256:350ebc1eba1da729b35ab7627a833a1a355ee4e852d8ba0447fafe7b14504d56", + "sha256:447700a657182d60338bab09fdb27518f8856aecd80ae4c6bdddb67ff5da44ef", + "sha256:45c69ad715ca1a94f778215a11e66b7ff989d792a4d63b68dc586a1da1392ff5", + "sha256:4764e64b269fc83b00f682c47443c2e6e85b18273712b98aa43bcb77f8570477", + "sha256:507dbead45474b62b2bbe318eb1c4c8ee641077532067fec9c1aa82c31f84886", + "sha256:53ecbafc2b55353edcebd64bf5da94a2a2cdf5090a6915bcca6eca6cc452585a", + "sha256:573a0b3017e06f2cffd27d92ef22e46aa3be87a2d317a5abf7cc0e84e321bd75", + "sha256:63dad881b99ca653302b2c7191998dd677226222a3f2ea79999aa51ce695f720", + "sha256:64093fc334c1eccfd3933c134c4457c34eaca235eeae49d69449dc4728079339", + "sha256:6501790c5b62a29fcb227bd6b62012181d886a767ce9ed03b303d1f22eb5c625", + "sha256:67bd81fcbe34f43ad9422ee8fd4843c8e7198dd88dd3d40e6de42ee65fbe1490", + "sha256:6fe8258e2039eceb74dfec66b3672552b6b7d2c235b2dfecc05d16b8921649a8", + "sha256:763d1d74f56f031788e5d307029caef067febf890cd1f8bf61183ae142f1a77b", + "sha256:7ac1080a8da569bde76c0a104589c4f414b8ba296c0b3738cf39a466a9fb1818", + "sha256:865d83c906b0fc6a59b510deceee656b6bc1c4fa0d82176e2b77e97a420a996a", + "sha256:89d4d56153efc4d81defe8b65fd0821ef8b2d5ddf8ed19df31ba2f00872b8002", + "sha256:90460fc9e088ce095f9ee8356722d4f10f86e5be06e2354230a9880b9c549aae", + "sha256:93837e379a3e5fd2bb00302a47aee9fdf7940d83595be3915752c74033d17ca7", + "sha256:954af0e2bd7cea83ce72243b14e4fb518b18f0c1649b576d114973e2073b273d", + "sha256:9a53a4fe5cb075075d515797d6ce2f56772ea7e6a1e5e4b96cf78a14bac3d265", + "sha256:9a77627a330ab23ca43b48b130e202582e91cc69619947840ea4d2d1be21eb39", + "sha256:a176b79c49af27d7f6c12e4b178b0824626f40a7b9fed08f712291b6d54bf566", + "sha256:a7fc76bf273353dc7e5207d172b83f569540fc9a28d63171061c42e361d22353", + "sha256:aa0698f65e5b570426fc31b8162ed4603b0c2841cbb9088e2b01641e3065915b", + "sha256:b34e8e11d97889df57166eda1e1ddd7676da5fcd4d71a0062a760e75060514b4", + "sha256:c75b52aacc6c0c260f204cbdd834f76edc9fb0d8e0da9fbf8352ef58202564e2", + "sha256:c8987bd3307a39bc03df5c8e0e3d8be0c4c3518b7f044b0f4c15d1aa78f52575", + "sha256:ce64e84a962b63a47a592690bdc16a7eaf709d2c2697ababf24a0def566899a6", + "sha256:cfb5cd445280c5b0a4e6187a7ce8de5a07b5f3f897f235caa11f1f435f182843", + "sha256:d8e95564beb8782abfd9e431c974e14563a794a4944c29d6d3b7b5ea042110b4", + "sha256:d97618c9c6684a97ef7637ba43bdf6663a2e2e77efe0f863cce97a76af396446", + "sha256:ddb95b49df036ddd264a0ad246d1be5b672000f12d6961ea2c267083a5e19379", + "sha256:dea827b4d55ee390dc89b2afe5927d4308a8b538ae91d9c6f7a5090f397af1aa", + "sha256:e3f2d0aaf8080bda0587d58fc9fe4766e012441e2eed4269a77de6aea981c8be", + "sha256:eb8f24adb74984aa0e5d07a2368ad95276cf38051fe2dc6605cbcf482e04f2a7" ], "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4, 3.5, 3.6'", - "version": "==3.22.0" + "version": "==3.23.0" }, "pydantic": { "hashes": [ @@ -843,7 +852,6 @@ "sha256:d9615eaa9ac5a063471da949c8fc16376a84afb5024688b3ff885693506764eb" ], "index": "pypi", - "markers": "python_version >= '3.9'", "version": "==2.11.4" }, "pydantic-core": { @@ -964,7 +972,7 @@ "sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3", "sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427" ], - "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2'", + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", "version": "==2.9.0.post0" }, "pytz": { @@ -1047,128 +1055,130 @@ "sha256:70761cfe03c773ceb22aa2f671b4757976145175cdfca038c02654d061d6dcc6" ], "index": "pypi", - "markers": "python_version >= '3.8'", "version": "==2.32.3" }, "rpds-py": { "hashes": [ - "sha256:0047638c3aa0dbcd0ab99ed1e549bbf0e142c9ecc173b6492868432d8989a046", - "sha256:006f4342fe729a368c6df36578d7a348c7c716be1da0a1a0f86e3021f8e98724", - "sha256:041f00419e1da7a03c46042453598479f45be3d787eb837af382bfc169c0db33", - "sha256:04ecf5c1ff4d589987b4d9882872f80ba13da7d42427234fce8f22efb43133bc", - "sha256:04f2b712a2206e13800a8136b07aaedc23af3facab84918e7aa89e4be0260032", - "sha256:0aeb3329c1721c43c58cae274d7d2ca85c1690d89485d9c63a006cb79a85771a", - "sha256:0e374c0ce0ca82e5b67cd61fb964077d40ec177dd2c4eda67dba130de09085c7", - "sha256:0f00c16e089282ad68a3820fd0c831c35d3194b7cdc31d6e469511d9bffc535c", - "sha256:174e46569968ddbbeb8a806d9922f17cd2b524aa753b468f35b97ff9c19cb718", - "sha256:1b221c2457d92a1fb3c97bee9095c874144d196f47c038462ae6e4a14436f7bc", - "sha256:208b3a70a98cf3710e97cabdc308a51cd4f28aa6e7bb11de3d56cd8b74bab98d", - "sha256:20f2712bd1cc26a3cc16c5a1bfee9ed1abc33d4cdf1aabd297fe0eb724df4272", - "sha256:24795c099453e3721fda5d8ddd45f5dfcc8e5a547ce7b8e9da06fecc3832e26f", - "sha256:2a0f156e9509cee987283abd2296ec816225145a13ed0391df8f71bf1d789e2d", - "sha256:2b2356688e5d958c4d5cb964af865bea84db29971d3e563fb78e46e20fe1848b", - "sha256:2c13777ecdbbba2077670285dd1fe50828c8742f6a4119dbef6f83ea13ad10fb", - "sha256:2d3ee4615df36ab8eb16c2507b11e764dcc11fd350bbf4da16d09cda11fcedef", - "sha256:2d53747da70a4e4b17f559569d5f9506420966083a31c5fbd84e764461c4444b", - "sha256:32bab0a56eac685828e00cc2f5d1200c548f8bc11f2e44abf311d6b548ce2e45", - "sha256:34d90ad8c045df9a4259c47d2e16a3f21fdb396665c94520dbfe8766e62187a4", - "sha256:369d9c6d4c714e36d4a03957b4783217a3ccd1e222cdd67d464a3a479fc17796", - "sha256:3a55fc10fdcbf1a4bd3c018eea422c52cf08700cf99c28b5cb10fe97ab77a0d3", - "sha256:3d2d8e4508e15fc05b31285c4b00ddf2e0eb94259c2dc896771966a163122a0c", - "sha256:3fab5f4a2c64a8fb64fc13b3d139848817a64d467dd6ed60dcdd6b479e7febc9", - "sha256:43dba99f00f1d37b2a0265a259592d05fcc8e7c19d140fe51c6e6f16faabeb1f", - "sha256:44d51febb7a114293ffd56c6cf4736cb31cd68c0fddd6aa303ed09ea5a48e029", - "sha256:493fe54318bed7d124ce272fc36adbf59d46729659b2c792e87c3b95649cdee9", - "sha256:4b28e5122829181de1898c2c97f81c0b3246d49f585f22743a1246420bb8d399", - "sha256:4cd031e63bc5f05bdcda120646a0d32f6d729486d0067f09d79c8db5368f4586", - "sha256:528927e63a70b4d5f3f5ccc1fa988a35456eb5d15f804d276709c33fc2f19bda", - "sha256:564c96b6076a98215af52f55efa90d8419cc2ef45d99e314fddefe816bc24f91", - "sha256:5db385bacd0c43f24be92b60c857cf760b7f10d8234f4bd4be67b5b20a7c0b6b", - "sha256:5ef877fa3bbfb40b388a5ae1cb00636a624690dcb9a29a65267054c9ea86d88a", - "sha256:5f6e3cec44ba05ee5cbdebe92d052f69b63ae792e7d05f1020ac5e964394080c", - "sha256:5fc13b44de6419d1e7a7e592a4885b323fbc2f46e1f22151e3a8ed3b8b920405", - "sha256:60748789e028d2a46fc1c70750454f83c6bdd0d05db50f5ae83e2db500b34da5", - "sha256:60d9b630c8025b9458a9d114e3af579a2c54bd32df601c4581bd054e85258143", - "sha256:619ca56a5468f933d940e1bf431c6f4e13bef8e688698b067ae68eb4f9b30e3a", - "sha256:630d3d8ea77eabd6cbcd2ea712e1c5cecb5b558d39547ac988351195db433f6c", - "sha256:63981feca3f110ed132fd217bf7768ee8ed738a55549883628ee3da75bb9cb78", - "sha256:66420986c9afff67ef0c5d1e4cdc2d0e5262f53ad11e4f90e5e22448df485bf0", - "sha256:675269d407a257b8c00a6b58205b72eec8231656506c56fd429d924ca00bb350", - "sha256:6a4a535013aeeef13c5532f802708cecae8d66c282babb5cd916379b72110cf7", - "sha256:6a727fd083009bc83eb83d6950f0c32b3c94c8b80a9b667c87f4bd1274ca30ba", - "sha256:6e1daf5bf6c2be39654beae83ee6b9a12347cb5aced9a29eecf12a2d25fff664", - "sha256:6eea559077d29486c68218178ea946263b87f1c41ae7f996b1f30a983c476a5a", - "sha256:75a810b7664c17f24bf2ffd7f92416c00ec84b49bb68e6a0d93e542406336b56", - "sha256:772cc1b2cd963e7e17e6cc55fe0371fb9c704d63e44cacec7b9b7f523b78919e", - "sha256:78884d155fd15d9f64f5d6124b486f3d3f7fd7cd71a78e9670a0f6f6ca06fb2d", - "sha256:79e8d804c2ccd618417e96720ad5cd076a86fa3f8cb310ea386a3e6229bae7d1", - "sha256:7e80d375134ddb04231a53800503752093dbb65dad8dabacce2c84cccc78e964", - "sha256:8097b3422d020ff1c44effc40ae58e67d93e60d540a65649d2cdaf9466030791", - "sha256:8205ee14463248d3349131bb8099efe15cd3ce83b8ef3ace63c7e976998e7124", - "sha256:8212ff58ac6dfde49946bea57474a386cca3f7706fc72c25b772b9ca4af6b79e", - "sha256:823e74ab6fbaa028ec89615ff6acb409e90ff45580c45920d4dfdddb069f2120", - "sha256:84e0566f15cf4d769dade9b366b7b87c959be472c92dffb70462dd0844d7cbad", - "sha256:896c41007931217a343eff197c34513c154267636c8056fb409eafd494c3dcdc", - "sha256:8aa362811ccdc1f8dadcc916c6d47e554169ab79559319ae9fae7d7752d0d60c", - "sha256:8b3b397eefecec8e8e39fa65c630ef70a24b09141a6f9fc17b3c3a50bed6b50e", - "sha256:8ebc7e65ca4b111d928b669713865f021b7773350eeac4a31d3e70144297baba", - "sha256:9168764133fd919f8dcca2ead66de0105f4ef5659cbb4fa044f7014bed9a1797", - "sha256:921ae54f9ecba3b6325df425cf72c074cd469dea843fb5743a26ca7fb2ccb149", - "sha256:92558d37d872e808944c3c96d0423b8604879a3d1c86fdad508d7ed91ea547d5", - "sha256:951cc481c0c395c4a08639a469d53b7d4afa252529a085418b82a6b43c45c240", - "sha256:998c01b8e71cf051c28f5d6f1187abbdf5cf45fc0efce5da6c06447cba997034", - "sha256:9abc80fe8c1f87218db116016de575a7998ab1629078c90840e8d11ab423ee25", - "sha256:9be4f99bee42ac107870c61dfdb294d912bf81c3c6d45538aad7aecab468b6b7", - "sha256:9c39438c55983d48f4bb3487734d040e22dad200dab22c41e331cee145e7a50d", - "sha256:9d7e8ce990ae17dda686f7e82fd41a055c668e13ddcf058e7fb5e9da20b57793", - "sha256:9ea7f4174d2e4194289cb0c4e172d83e79a6404297ff95f2875cf9ac9bced8ba", - "sha256:a18fc371e900a21d7392517c6f60fe859e802547309e94313cd8181ad9db004d", - "sha256:a36b452abbf29f68527cf52e181fced56685731c86b52e852053e38d8b60bc8d", - "sha256:a5b66d1b201cc71bc3081bc2f1fc36b0c1f268b773e03bbc39066651b9e18391", - "sha256:a824d2c7a703ba6daaca848f9c3d5cb93af0505be505de70e7e66829affd676e", - "sha256:a88c0d17d039333a41d9bf4616bd062f0bd7aa0edeb6cafe00a2fc2a804e944f", - "sha256:aa6800adc8204ce898c8a424303969b7aa6a5e4ad2789c13f8648739830323b7", - "sha256:aad911555286884be1e427ef0dc0ba3929e6821cbeca2194b13dc415a462c7fd", - "sha256:afc6e35f344490faa8276b5f2f7cbf71f88bc2cda4328e00553bd451728c571f", - "sha256:b9a4df06c35465ef4d81799999bba810c68d29972bf1c31db61bfdb81dd9d5bb", - "sha256:bb2954155bb8f63bb19d56d80e5e5320b61d71084617ed89efedb861a684baea", - "sha256:bbc4362e06f950c62cad3d4abf1191021b2ffaf0b31ac230fbf0526453eee75e", - "sha256:c0145295ca415668420ad142ee42189f78d27af806fcf1f32a18e51d47dd2052", - "sha256:c30ff468163a48535ee7e9bf21bd14c7a81147c0e58a36c1078289a8ca7af0bd", - "sha256:c347a20d79cedc0a7bd51c4d4b7dbc613ca4e65a756b5c3e57ec84bd43505b47", - "sha256:c43583ea8517ed2e780a345dd9960896afc1327e8cf3ac8239c167530397440d", - "sha256:c61a2cb0085c8783906b2f8b1f16a7e65777823c7f4d0a6aaffe26dc0d358dd9", - "sha256:c9ca89938dff18828a328af41ffdf3902405a19f4131c88e22e776a8e228c5a8", - "sha256:cc31e13ce212e14a539d430428cd365e74f8b2d534f8bc22dd4c9c55b277b875", - "sha256:cdabcd3beb2a6dca7027007473d8ef1c3b053347c76f685f5f060a00327b8b65", - "sha256:cf86f72d705fc2ef776bb7dd9e5fbba79d7e1f3e258bf9377f8204ad0fc1c51e", - "sha256:d09dc82af2d3c17e7dd17120b202a79b578d79f2b5424bda209d9966efeed114", - "sha256:d3aa13bdf38630da298f2e0d77aca967b200b8cc1473ea05248f6c5e9c9bdb44", - "sha256:d69d003296df4840bd445a5d15fa5b6ff6ac40496f956a221c4d1f6f7b4bc4d9", - "sha256:d6e109a454412ab82979c5b1b3aee0604eca4bbf9a02693bb9df027af2bfa91a", - "sha256:d8551e733626afec514b5d15befabea0dd70a343a9f23322860c4f16a9430205", - "sha256:d8754d872a5dfc3c5bf9c0e059e8107451364a30d9fd50f1f1a85c4fb9481164", - "sha256:d8f9a6e7fd5434817526815f09ea27f2746c4a51ee11bb3439065f5fc754db58", - "sha256:dbcbb6db5582ea33ce46a5d20a5793134b5365110d84df4e30b9d37c6fd40ad3", - "sha256:e0f3ef95795efcd3b2ec3fe0a5bcfb5dadf5e3996ea2117427e524d4fbf309c6", - "sha256:e13ae74a8a3a0c2f22f450f773e35f893484fcfacb00bb4344a7e0f4f48e1f97", - "sha256:e274f62cbd274359eff63e5c7e7274c913e8e09620f6a57aae66744b3df046d6", - "sha256:e838bf2bb0b91ee67bf2b889a1a841e5ecac06dd7a2b1ef4e6151e2ce155c7ae", - "sha256:e8acd55bd5b071156bae57b555f5d33697998752673b9de554dd82f5b5352727", - "sha256:e8e5ab32cf9eb3647450bc74eb201b27c185d3857276162c101c0f8c6374e098", - "sha256:ebcb786b9ff30b994d5969213a8430cbb984cdd7ea9fd6df06663194bd3c450c", - "sha256:ebea2821cdb5f9fef44933617be76185b80150632736f3d76e54829ab4a3b4d1", - "sha256:ed0ef550042a8dbcd657dfb284a8ee00f0ba269d3f2286b0493b15a5694f9fe8", - "sha256:eda5c1e2a715a4cbbca2d6d304988460942551e4e5e3b7457b50943cd741626d", - "sha256:f5c0ed12926dec1dfe7d645333ea59cf93f4d07750986a586f511c0bc61fe103", - "sha256:f6016bd950be4dcd047b7475fdf55fb1e1f59fc7403f387be0e8123e4a576d30", - "sha256:f9e0057a509e096e47c87f753136c9b10d7a91842d8042c2ee6866899a717c0d", - "sha256:fc1c892b1ec1f8cbd5da8de287577b455e388d9c328ad592eabbdcb6fc93bee5", - "sha256:fc2c1e1b00f88317d9de6b2c2b39b012ebbfe35fe5e7bef980fd2a91f6100a07", - "sha256:fd822f019ccccd75c832deb7aa040bb02d70a92eb15a2f16c7987b7ad4ee8d83" + "sha256:0317177b1e8691ab5879f4f33f4b6dc55ad3b344399e23df2e499de7b10a548d", + "sha256:036ded36bedb727beeabc16dc1dad7cb154b3fa444e936a03b67a86dc6a5066e", + "sha256:048893e902132fd6548a2e661fb38bf4896a89eea95ac5816cf443524a85556f", + "sha256:0701942049095741a8aeb298a31b203e735d1c61f4423511d2b1a41dcd8a16da", + "sha256:083a9513a33e0b92cf6e7a6366036c6bb43ea595332c1ab5c8ae329e4bcc0a9c", + "sha256:09eab132f41bf792c7a0ea1578e55df3f3e7f61888e340779b06050a9a3f16e9", + "sha256:0e6a327af8ebf6baba1c10fadd04964c1965d375d318f4435d5f3f9651550f4a", + "sha256:0eb90e94f43e5085623932b68840b6f379f26db7b5c2e6bcef3179bd83c9330f", + "sha256:114a07e85f32b125404f28f2ed0ba431685151c037a26032b213c882f26eb908", + "sha256:115874ae5e2fdcfc16b2aedc95b5eef4aebe91b28e7e21951eda8a5dc0d3461b", + "sha256:140f61d9bed7839446bdd44852e30195c8e520f81329b4201ceead4d64eb3a9f", + "sha256:1521031351865e0181bc585147624d66b3b00a84109b57fcb7a779c3ec3772cd", + "sha256:1c0c434a53714358532d13539272db75a5ed9df75a4a090a753ac7173ec14e11", + "sha256:1d1fadd539298e70cac2f2cb36f5b8a65f742b9b9f1014dd4ea1f7785e2470bf", + "sha256:1de336a4b164c9188cb23f3703adb74a7623ab32d20090d0e9bf499a2203ad65", + "sha256:1ee3e26eb83d39b886d2cb6e06ea701bba82ef30a0de044d34626ede51ec98b0", + "sha256:245550f5a1ac98504147cba96ffec8fabc22b610742e9150138e5d60774686d7", + "sha256:2a40046a529cc15cef88ac5ab589f83f739e2d332cb4d7399072242400ed68c9", + "sha256:2c2cd1a4b0c2b8c5e31ffff50d09f39906fe351389ba143c195566056c13a7ea", + "sha256:2cb9e5b5e26fc02c8a4345048cd9998c2aca7c2712bd1b36da0c72ee969a3523", + "sha256:33358883a4490287e67a2c391dfaea4d9359860281db3292b6886bf0be3d8692", + "sha256:35634369325906bcd01577da4c19e3b9541a15e99f31e91a02d010816b49bfda", + "sha256:35a8d1a24b5936b35c5003313bc177403d8bdef0f8b24f28b1c4a255f94ea992", + "sha256:3af5b4cc10fa41e5bc64e5c198a1b2d2864337f8fcbb9a67e747e34002ce812b", + "sha256:3bcce0edc1488906c2d4c75c94c70a0417e83920dd4c88fec1078c94843a6ce9", + "sha256:3c5b317ecbd8226887994852e85de562f7177add602514d4ac40f87de3ae45a8", + "sha256:3c6564c0947a7f52e4792983f8e6cf9bac140438ebf81f527a21d944f2fd0a40", + "sha256:3ebd879ab996537fc510a2be58c59915b5dd63bccb06d1ef514fee787e05984a", + "sha256:3f0b1798cae2bbbc9b9db44ee068c556d4737911ad53a4e5093d09d04b3bbc24", + "sha256:401ca1c4a20cc0510d3435d89c069fe0a9ae2ee6495135ac46bdd49ec0495763", + "sha256:454601988aab2c6e8fd49e7634c65476b2b919647626208e376afcd22019eeb8", + "sha256:4593c4eae9b27d22df41cde518b4b9e4464d139e4322e2127daa9b5b981b76be", + "sha256:45e484db65e5380804afbec784522de84fa95e6bb92ef1bd3325d33d13efaebd", + "sha256:48d64155d02127c249695abb87d39f0faf410733428d499867606be138161d65", + "sha256:4fbb0dbba559959fcb5d0735a0f87cdbca9e95dac87982e9b95c0f8f7ad10255", + "sha256:4fd52d3455a0aa997734f3835cbc4c9f32571345143960e7d7ebfe7b5fbfa3b2", + "sha256:50f2c501a89c9a5f4e454b126193c5495b9fb441a75b298c60591d8a2eb92e1b", + "sha256:58f77c60956501a4a627749a6dcb78dac522f249dd96b5c9f1c6af29bfacfb66", + "sha256:5a3ddb74b0985c4387719fc536faced33cadf2172769540c62e2a94b7b9be1c4", + "sha256:5c4a128527fe415d73cf1f70a9a688d06130d5810be69f3b553bf7b45e8acf79", + "sha256:5d473be2b13600b93a5675d78f59e63b51b1ba2d0476893415dfbb5477e65b31", + "sha256:5d9e40f32745db28c1ef7aad23f6fc458dc1e29945bd6781060f0d15628b8ddf", + "sha256:5f048bbf18b1f9120685c6d6bb70cc1a52c8cc11bdd04e643d28d3be0baf666d", + "sha256:605ffe7769e24b1800b4d024d24034405d9404f0bc2f55b6db3362cd34145a6f", + "sha256:6099263f526efff9cf3883dfef505518730f7a7a93049b1d90d42e50a22b4793", + "sha256:659d87430a8c8c704d52d094f5ba6fa72ef13b4d385b7e542a08fc240cb4a559", + "sha256:666fa7b1bd0a3810a7f18f6d3a25ccd8866291fbbc3c9b912b917a6715874bb9", + "sha256:68f6f060f0bbdfb0245267da014d3a6da9be127fe3e8cc4a68c6f833f8a23bb1", + "sha256:6d273f136e912aa101a9274c3145dcbddbe4bac560e77e6d5b3c9f6e0ed06d34", + "sha256:6d50841c425d16faf3206ddbba44c21aa3310a0cebc3c1cdfc3e3f4f9f6f5728", + "sha256:771c16060ff4e79584dc48902a91ba79fd93eade3aa3a12d6d2a4aadaf7d542b", + "sha256:785ffacd0ee61c3e60bdfde93baa6d7c10d86f15655bd706c89da08068dc5038", + "sha256:796ad874c89127c91970652a4ee8b00d56368b7e00d3477f4415fe78164c8000", + "sha256:79dc317a5f1c51fd9c6a0c4f48209c6b8526d0524a6904fc1076476e79b00f98", + "sha256:7c9409b47ba0650544b0bb3c188243b83654dfe55dcc173a86832314e1a6a35d", + "sha256:7d779b325cc8238227c47fbc53964c8cc9a941d5dbae87aa007a1f08f2f77b23", + "sha256:816568614ecb22b18a010c7a12559c19f6fe993526af88e95a76d5a60b8b75fb", + "sha256:8378fa4a940f3fb509c081e06cb7f7f2adae8cf46ef258b0e0ed7519facd573e", + "sha256:85608eb70a659bf4c1142b2781083d4b7c0c4e2c90eff11856a9754e965b2540", + "sha256:85fc223d9c76cabe5d0bff82214459189720dc135db45f9f66aa7cffbf9ff6c1", + "sha256:88ec04afe0c59fa64e2f6ea0dd9657e04fc83e38de90f6de201954b4d4eb59bd", + "sha256:8960b6dac09b62dac26e75d7e2c4a22efb835d827a7278c34f72b2b84fa160e3", + "sha256:89706d0683c73a26f76a5315d893c051324d771196ae8b13e6ffa1ffaf5e574f", + "sha256:89c24300cd4a8e4a51e55c31a8ff3918e6651b241ee8876a42cc2b2a078533ba", + "sha256:8c742af695f7525e559c16f1562cf2323db0e3f0fbdcabdf6865b095256b2d40", + "sha256:8dbd586bfa270c1103ece2109314dd423df1fa3d9719928b5d09e4840cec0d72", + "sha256:8eb8c84ecea987a2523e057c0d950bcb3f789696c0499290b8d7b3107a719d78", + "sha256:921954d7fbf3fccc7de8f717799304b14b6d9a45bbeec5a8d7408ccbf531faf5", + "sha256:9a46c2fb2545e21181445515960006e85d22025bd2fe6db23e76daec6eb689fe", + "sha256:9c006f3aadeda131b438c3092124bd196b66312f0caa5823ef09585a669cf449", + "sha256:9ceca1cf097ed77e1a51f1dbc8d174d10cb5931c188a4505ff9f3e119dfe519b", + "sha256:9e5fc7484fa7dce57e25063b0ec9638ff02a908304f861d81ea49273e43838c1", + "sha256:9f2f48ab00181600ee266a095fe815134eb456163f7d6699f525dee471f312cf", + "sha256:9fca84a15333e925dd59ce01da0ffe2ffe0d6e5d29a9eeba2148916d1824948c", + "sha256:a49e1d7a4978ed554f095430b89ecc23f42014a50ac385eb0c4d163ce213c325", + "sha256:a58d1ed49a94d4183483a3ce0af22f20318d4a1434acee255d683ad90bf78129", + "sha256:a61d0b2c7c9a0ae45732a77844917b427ff16ad5464b4d4f5e4adb955f582890", + "sha256:a714bf6e5e81b0e570d01f56e0c89c6375101b8463999ead3a93a5d2a4af91fa", + "sha256:a7b74e92a3b212390bdce1d93da9f6488c3878c1d434c5e751cbc202c5e09500", + "sha256:a8bd2f19e312ce3e1d2c635618e8a8d8132892bb746a7cf74780a489f0f6cdcb", + "sha256:b0be9965f93c222fb9b4cc254235b3b2b215796c03ef5ee64f995b1b69af0762", + "sha256:b24bf3cd93d5b6ecfbedec73b15f143596c88ee249fa98cefa9a9dc9d92c6f28", + "sha256:b5ffe453cde61f73fea9430223c81d29e2fbf412a6073951102146c84e19e34c", + "sha256:bc120d1132cff853ff617754196d0ac0ae63befe7c8498bd67731ba368abe451", + "sha256:bd035756830c712b64725a76327ce80e82ed12ebab361d3a1cdc0f51ea21acb0", + "sha256:bffcf57826d77a4151962bf1701374e0fc87f536e56ec46f1abdd6a903354042", + "sha256:c2013ee878c76269c7b557a9a9c042335d732e89d482606990b70a839635feb7", + "sha256:c4feb9211d15d9160bc85fa72fed46432cdc143eb9cf6d5ca377335a921ac37b", + "sha256:c8980cde3bb8575e7c956a530f2c217c1d6aac453474bf3ea0f9c89868b531b6", + "sha256:c98f126c4fc697b84c423e387337d5b07e4a61e9feac494362a59fd7a2d9ed80", + "sha256:ccc6f3ddef93243538be76f8e47045b4aad7a66a212cd3a0f23e34469473d36b", + "sha256:ccfa689b9246c48947d31dd9d8b16d89a0ecc8e0e26ea5253068efb6c542b76e", + "sha256:cda776f1967cb304816173b30994faaf2fd5bcb37e73118a47964a02c348e1bc", + "sha256:ce4c8e485a3c59593f1a6f683cf0ea5ab1c1dc94d11eea5619e4fb5228b40fbd", + "sha256:d3c10228d6cf6fe2b63d2e7985e94f6916fa46940df46b70449e9ff9297bd3d1", + "sha256:d4ca54b9cf9d80b4016a67a0193ebe0bcf29f6b0a96f09db942087e294d3d4c2", + "sha256:d4cb2b3ddc16710548801c6fcc0cfcdeeff9dafbc983f77265877793f2660309", + "sha256:d50e4864498a9ab639d6d8854b25e80642bd362ff104312d9770b05d66e5fb13", + "sha256:d74ec9bc0e2feb81d3f16946b005748119c0f52a153f6db6a29e8cd68636f295", + "sha256:d8222acdb51a22929c3b2ddb236b69c59c72af4019d2cba961e2f9add9b6e634", + "sha256:db58483f71c5db67d643857404da360dce3573031586034b7d59f245144cc192", + "sha256:dc3c1ff0abc91444cd20ec643d0f805df9a3661fcacf9c95000329f3ddf268a4", + "sha256:dd326a81afe332ede08eb39ab75b301d5676802cdffd3a8f287a5f0b694dc3f5", + "sha256:dec21e02e6cc932538b5203d3a8bd6aa1480c98c4914cb88eea064ecdbc6396a", + "sha256:e1dafef8df605fdb46edcc0bf1573dea0d6d7b01ba87f85cd04dc855b2b4479e", + "sha256:e2f6a2347d3440ae789505693a02836383426249d5293541cd712e07e7aecf54", + "sha256:e37caa8cdb3b7cf24786451a0bdb853f6347b8b92005eeb64225ae1db54d1c2b", + "sha256:e43a005671a9ed5a650f3bc39e4dbccd6d4326b24fb5ea8be5f3a43a6f576c72", + "sha256:e5e2f7280d8d0d3ef06f3ec1b4fd598d386cc6f0721e54f09109a8132182fbfe", + "sha256:e87798852ae0b37c88babb7f7bbbb3e3fecc562a1c340195b44c7e24d403e380", + "sha256:ee86d81551ec68a5c25373c5643d343150cc54672b5e9a0cafc93c1870a53954", + "sha256:f251bf23deb8332823aef1da169d5d89fa84c89f67bdfb566c49dea1fccfd50d", + "sha256:f3d86373ff19ca0441ebeb696ef64cb58b8b5cbacffcda5a0ec2f3911732a194", + "sha256:f4ad628b5174d5315761b67f212774a32f5bad5e61396d38108bd801c0a8f5d9", + "sha256:f70316f760174ca04492b5ab01be631a8ae30cadab1d1081035136ba12738cfa", + "sha256:f73ce1512e04fbe2bc97836e89830d6b4314c171587a99688082d090f934d20a", + "sha256:ff7c23ba0a88cb7b104281a99476cccadf29de2a0ef5ce864959a52675b1ca83" ], "markers": "python_version >= '3.9'", - "version": "==0.24.0" + "version": "==0.25.1" }, "s3transfer": { "hashes": [ @@ -1180,18 +1190,18 @@ }, "setuptools": { "hashes": [ - "sha256:31e2c58dbb67c99c289f51c16d899afedae292b978f8051efaf6262d8212f927", - "sha256:ea8e00d7992054c4c592aeb892f6ad51fe1b4d90cc6947cc45c45717c40ec537" + "sha256:49f7af965996f26d43c8ae34539c8d99c5042fbff34302ea151eaa9c207cd257", + "sha256:95a60484590d24103af13b686121328cc2736bee85de8936383111e421b9edc0" ], "markers": "python_version >= '3.9'", - "version": "==80.3.1" + "version": "==80.8.0" }, "six": { "hashes": [ "sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274", "sha256:ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81" ], - "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2'", + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", "version": "==1.17.0" }, "typing-extensions": { @@ -1199,16 +1209,16 @@ "sha256:a439e7c04b49fec3e5d3e2beaa21755cadbbdc391694e28ccdd36ca4a1408f8c", "sha256:e6c81219bd689f51865d9e372991c540bda33a0379d5573cddb9a3a23f7caaef" ], - "markers": "python_version >= '3.8'", + "markers": "python_version < '3.13'", "version": "==4.13.2" }, "typing-inspection": { "hashes": [ - "sha256:50e72559fcd2a6367a19f7a7e610e6afcb9fac940c650290eed893d61386832f", - "sha256:9765c87de36671694a67904bf2c96e395be9c6439bb6c87b5142569dcdd65122" + "sha256:389055682238f53b04f7badcb49b989835495a96700ced5dab2d8feae4b26f51", + "sha256:6ae134cc0203c33377d43188d4064e9b357dba58cff3185f22924610e70a9d28" ], "markers": "python_version >= '3.9'", - "version": "==0.4.0" + "version": "==0.4.1" }, "tzdata": { "hashes": [ @@ -1400,7 +1410,7 @@ "sha256:f7f5baafcc48261359e14bcd6d9bff6d4b28d9103847c9e136694cb0501aef87", "sha256:fc48c783f9c87e60831201f2cce7f3b2e4846bf4d8728eabe54d60700b318a0b" ], - "markers": "python_version >= '3.8'", + "markers": "platform_python_implementation != 'PyPy'", "version": "==1.17.1" }, "charset-normalizer": { @@ -1503,73 +1513,72 @@ }, "coverage": { "hashes": [ - "sha256:042e7841a26498fff7a37d6fda770d17519982f5b7d8bf5278d140b67b61095f", - "sha256:04bfec25a8ef1c5f41f5e7e5c842f6b615599ca8ba8391ec33a9290d9d2db3a3", - "sha256:0915742f4c82208ebf47a2b154a5334155ed9ef9fe6190674b8a46c2fb89cb05", - "sha256:18c5ae6d061ad5b3e7eef4363fb27a0576012a7447af48be6c75b88494c6cf25", - "sha256:2931f66991175369859b5fd58529cd4b73582461877ecfd859b6549869287ffe", - "sha256:2e4b6b87bb0c846a9315e3ab4be2d52fac905100565f4b92f02c445c8799e257", - "sha256:3043ba1c88b2139126fc72cb48574b90e2e0546d4c78b5299317f61b7f718b78", - "sha256:379fe315e206b14e21db5240f89dc0774bdd3e25c3c58c2c733c99eca96f1ada", - "sha256:42421e04069fb2cbcbca5a696c4050b84a43b05392679d4068acbe65449b5c64", - "sha256:4dfd9a93db9e78666d178d4f08a5408aa3f2474ad4d0e0378ed5f2ef71640cb6", - "sha256:52a523153c568d2c0ef8826f6cc23031dc86cffb8c6aeab92c4ff776e7951b28", - "sha256:554fec1199d93ab30adaa751db68acec2b41c5602ac944bb19187cb9a41a8067", - "sha256:581a40c7b94921fffd6457ffe532259813fc68eb2bdda60fa8cc343414ce3733", - "sha256:5a26c0c795c3e0b63ec7da6efded5f0bc856d7c0b24b2ac84b4d1d7bc578d676", - "sha256:5a570cd9bd20b85d1a0d7b009aaf6c110b52b5755c17be6962f8ccd65d1dbd23", - "sha256:5aaeb00761f985007b38cf463b1d160a14a22c34eb3f6a39d9ad6fc27cb73008", - "sha256:5ac46d0c2dd5820ce93943a501ac5f6548ea81594777ca585bf002aa8854cacd", - "sha256:5c8a5c139aae4c35cbd7cadca1df02ea8cf28a911534fc1b0456acb0b14234f3", - "sha256:6b8af63b9afa1031c0ef05b217faa598f3069148eeee6bb24b79da9012423b82", - "sha256:769773614e676f9d8e8a0980dd7740f09a6ea386d0f383db6821df07d0f08545", - "sha256:771eb7587a0563ca5bb6f622b9ed7f9d07bd08900f7589b4febff05f469bea00", - "sha256:77af0f6447a582fdc7de5e06fa3757a3ef87769fbb0fdbdeba78c23049140a47", - "sha256:7a3d62b3b03b4b6fd41a085f3574874cf946cb4604d2b4d3e8dca8cd570ca501", - "sha256:821f7bcbaa84318287115d54becb1915eece6918136c6f91045bb84e2f88739d", - "sha256:89b1f4af0d4afe495cd4787a68e00f30f1d15939f550e869de90a86efa7e0814", - "sha256:8a1d96e780bdb2d0cbb297325711701f7c0b6f89199a57f2049e90064c29f6bd", - "sha256:8a40fcf208e021eb14b0fac6bdb045c0e0cab53105f93ba0d03fd934c956143a", - "sha256:8f99eb72bf27cbb167b636eb1726f590c00e1ad375002230607a844d9e9a2318", - "sha256:90e7fbc6216ecaffa5a880cdc9c77b7418c1dcb166166b78dbc630d07f278cc3", - "sha256:94ec0be97723ae72d63d3aa41961a0b9a6f5a53ff599813c324548d18e3b9e8c", - "sha256:95aa6ae391a22bbbce1b77ddac846c98c5473de0372ba5c463480043a07bff42", - "sha256:96121edfa4c2dfdda409877ea8608dd01de816a4dc4a0523356067b305e4e17a", - "sha256:a1f406a8e0995d654b2ad87c62caf6befa767885301f3b8f6f73e6f3c31ec3a6", - "sha256:a321c61477ff8ee705b8a5fed370b5710c56b3a52d17b983d9215861e37b642a", - "sha256:a5761c70c017c1b0d21b0815a920ffb94a670c8d5d409d9b38857874c21f70d7", - "sha256:a9abbccd778d98e9c7e85038e35e91e67f5b520776781d9a1e2ee9d400869487", - "sha256:ad80e6b4a0c3cb6f10f29ae4c60e991f424e6b14219d46f1e7d442b938ee68a4", - "sha256:b44674870709017e4b4036e3d0d6c17f06a0e6d4436422e0ad29b882c40697d2", - "sha256:b571bf5341ba8c6bc02e0baeaf3b061ab993bf372d982ae509807e7f112554e9", - "sha256:b8194fb8e50d556d5849753de991d390c5a1edeeba50f68e3a9253fbd8bf8ccd", - "sha256:b87eb6fc9e1bb8f98892a2458781348fa37e6925f35bb6ceb9d4afd54ba36c73", - "sha256:bbb5cc845a0292e0c520656d19d7ce40e18d0e19b22cb3e0409135a575bf79fc", - "sha256:be945402e03de47ba1872cd5236395e0f4ad635526185a930735f66710e1bd3f", - "sha256:bf13d564d310c156d1c8e53877baf2993fb3073b2fc9f69790ca6a732eb4bfea", - "sha256:cf60dd2696b457b710dd40bf17ad269d5f5457b96442f7f85722bdb16fa6c899", - "sha256:d1ba00ae33be84066cfbe7361d4e04dec78445b2b88bdb734d0d1cbab916025a", - "sha256:d39fc4817fd67b3915256af5dda75fd4ee10621a3d484524487e33416c6f3543", - "sha256:d766a4f0e5aa1ba056ec3496243150698dc0481902e2b8559314368717be82b1", - "sha256:dbf364b4c5e7bae9250528167dfe40219b62e2d573c854d74be213e1e52069f7", - "sha256:dd19608788b50eed889e13a5d71d832edc34fc9dfce606f66e8f9f917eef910d", - "sha256:e013b07ba1c748dacc2a80e69a46286ff145935f260eb8c72df7185bf048f502", - "sha256:e5d2b9be5b0693cf21eb4ce0ec8d211efb43966f6657807f6859aab3814f946b", - "sha256:e5ff52d790c7e1628241ffbcaeb33e07d14b007b6eb00a19320c7b8a7024c040", - "sha256:e75a2ad7b647fd8046d58c3132d7eaf31b12d8a53c0e4b21fa9c4d23d6ee6d3c", - "sha256:e7ac22a0bb2c7c49f441f7a6d46c9c80d96e56f5a8bc6972529ed43c8b694e27", - "sha256:ed2144b8a78f9d94d9515963ed273d620e07846acd5d4b0a642d4849e8d91a0c", - "sha256:f017a61399f13aa6d1039f75cd467be388d157cd81f1a119b9d9a68ba6f2830d", - "sha256:f1d8a2a57b47142b10374902777e798784abf400a004b14f1b0b9eaf1e528ba4", - "sha256:f2d32f95922927186c6dbc8bc60df0d186b6edb828d299ab10898ef3f40052fe", - "sha256:f319bae0321bc838e205bf9e5bc28f0a3165f30c203b610f17ab5552cff90323", - "sha256:f3c38e4e5ccbdc9198aecc766cedbb134b2d89bf64533973678dfcf07effd883", - "sha256:f9983d01d7705b2d1f7a95e10bbe4091fabc03a46881a256c2787637b087003f", - "sha256:fa260de59dfb143af06dcf30c2be0b200bed2a73737a8a59248fcb9fa601ef0f" + "sha256:0034ceec8e91fdaf77350901cc48f47efd00f23c220a3f9fc1187774ddf307cb", + "sha256:061a3bf679dc38fe34d3822f10a9977d548de86b440010beb1e3b44ba93d20f7", + "sha256:07fff2f2ce465fae27447432d39ce733476fbf8478de51fb4034c201e0c5da6d", + "sha256:11e5ea0acd8cc5d23030c34dfb2eb6638ad886328df18cc69f8eefab73d1ece5", + "sha256:12950b6373dc9dfe1ce22a8506ec29c82bfc5b38146ced0a222f38cf5d99a56d", + "sha256:173e16969f990688aae4b4487717c44330bc57fd8b61a6216ce8eeb827eb5c0d", + "sha256:1cc6bebc15c3b275174c66cf4e1c949a94c5c2a3edaa2f193a1225548c52c771", + "sha256:21645788c5c2afa3df2d4b607638d86207b84cb495503b71e80e16b4c6b44e80", + "sha256:2d8f844e837374a9497e11722d9eb9dfeb33b1b5d31136786c39a4c1a3073c6d", + "sha256:35dd5d405a1d378c39f3f30f628a25b0b99f1b8e5bdd78275df2e7b0404892d7", + "sha256:3763b9a4bc128f72da5dcfd7fcc7c7d6644ed28e8f2db473ce1ef0dd37a43fa9", + "sha256:3bd8e3753257e95e94f38c058627aba1581d51f674e3badf226283b2bdb8f8ca", + "sha256:41d142eefbc0bb3be160a77b2c0fbec76f345387676265052e224eb6c67b7af3", + "sha256:452f3831c64f5f50260e18a89e613594590d6ceac5206a9b7d76ba43586b01b3", + "sha256:4fc4f7cff2495d6d112353c33a439230a6de0b7cd0c2578f1e8d75326f63d783", + "sha256:62a13b372b65fa6e11685df9ca924bed23bab1d0f277f9b67be7536f253aaf17", + "sha256:6ce2606a171f9cf7c15a77ca61f979ffc0e0d92cd2fb18767cead58c1d19f58e", + "sha256:6f24a1e2c373a77afae21bc512466a91e31251685c271c5309ee3e557f6e3e03", + "sha256:76a4e1d62505a21971968be61ae17cbdc5e0c483265a37f7ddbbc050f9c0b8ec", + "sha256:82db9344a07dd9106796b9fe8805425633146a7ea7fed5ed07c65a64d0bb79e1", + "sha256:87284f272746e31919302ab6211b16b41135109822c498f6e7b40a2f828e7836", + "sha256:87b86a87f8de2e1bd0bcd45faf1b1edf54f988c8857157300e0336efcfb8ede6", + "sha256:8bcfafb2809cd01be8ffe5f962e01b0fbe4cc1d74513434c52ff2dd05b86d492", + "sha256:9296df6a33b8539cd753765eb5b47308602263a14b124a099cbcf5f770d7cf90", + "sha256:958b513e23286178b513a6b4d975fe9e7cddbcea6e5ebe8d836e4ef067577154", + "sha256:9772c9e266b2ca4999180c12b90c8efb4c5c9ad3e55f301d78bc579af6467ad9", + "sha256:9b31756ea647b6ef53190f6b708ad0c4c2ea879bc17799ba5b0699eee59ecf7b", + "sha256:9cd54a762667c32112df5d6f059c5d61fa532ee06460948cc5bcbf60c502f5c9", + "sha256:9dabc70012fd7b58a8040a7bc1b5f71fd0e62e2138aefdd8367d3d24bf82c349", + "sha256:adafe9d71a940927dd3ad8d487f521f11277f133568b7da622666ebd08923191", + "sha256:ae5e557aa92565d72f6d3196e878e7cbd6a6380e02a15eafe0af781bd767c10d", + "sha256:af6b8cdf0857fd4e6460dd6639c37c3f82163127f6112c1942b5e6a52a477676", + "sha256:b37729ba34c116a3b2b6fb99df5c37a4ca40e96f430070488fd7a1077ad44907", + "sha256:b6424c716f4c38ff8f62b602e6b94cde478dadda542a1cb3fe2fe2520cc2aae3", + "sha256:b8f105631835fdf191c971c4da93d27e732e028d73ecaa1a88f458d497d026cf", + "sha256:be2b1a455b3ecfee20638289bb091a95216887d44924a41c28a601efac0916e8", + "sha256:c04a7903644ccea8fa07c3e76db43ca31c8d453f93c5c94c0f9b82efca225543", + "sha256:c0d6290a466a6f3fadf6add2dd4ec11deba4e1a6e3db2dd284edd497aadf802f", + "sha256:c5757a7b25fe48040fa120ba6597f5f885b01e323e0d13fe21ff95a70c0f76b7", + "sha256:ccad4e29ac1b6f75bfeedb2cac4860fe5bd9e0a2f04c3e3218f661fa389ab101", + "sha256:cd21de85aa0e247b79c6c41f8b5541b54285550f2da6a9448d82b53234d3611b", + "sha256:ce4553a573edb363d5db12be1c044826878bec039159d6d4eafe826ef773396d", + "sha256:d074380f587360d2500f3b065232c67ae248aaf739267807adbcd29b88bdf864", + "sha256:d41d4da5f2871b1782c6b74948d2d37aac3a5b39b43a6ba31d736b97a02ae1f1", + "sha256:d5102e17b81158de17d4b5bc363fcffd15231a38ef3f50b8e6fa01f0c6911194", + "sha256:d52d79dfd3b410b153b6d65b0e3afe834eca2b969377f55ad73c67156d35af0d", + "sha256:d591f2ddad432b794f77dc1e94334a80015a3fc7fa07fd6aed8f40362083be5b", + "sha256:d616b5a543c7d4deffa25eb8d8ae3d0d95097f08ac8b131600bb7fbf967ea0e2", + "sha256:d7af3990490982fbd2437156c69edbe82b7edf99bc60302cceeeaf79afb886b8", + "sha256:d8a6c35afd5b912101fabf42975d92d750cfce33c571508a82ff334a133c40d5", + "sha256:db181a1896e0bad75b3bf4916c49fd3cf6751f9cc203fe0e0ecbee1fc43590fa", + "sha256:dd5c305faa2e69334a53061b3168987847dadc2449bab95735242a9bde92fde8", + "sha256:e1f8e96455907496b3e4ea16f63bb578da31e17d2805278b193525e7714f17f2", + "sha256:e233a56bbf99e4cb134c4f8e63b16c77714e3987daf2c5aa10c3ba8c4232d730", + "sha256:e3f65da9701648d226b6b24ded3e2528b72075e48d7540968cd857c3bd4c5321", + "sha256:e4e893c7f7fb12271a667d5c1876710fae06d7580343afdb5f3fc4488b73209e", + "sha256:e54b80885b0e61d346accc5709daf8762471a452345521cc9281604a907162c2", + "sha256:e93f36a5c9d995f40e9c4cd9bbabd83fd78705792fa250980256c93accd07bb6", + "sha256:ebdf212e1ed85af63fa1a76d556c0a3c7b34348ffba6e145a64b15f003ad0a2b", + "sha256:f7a95b0dce364535a63fde0ec1b1ca36400037175d3b62ce04d85dbca5e33832", + "sha256:f82c1a1c1897d2293cb6c50f20fe8a9ea2add1a228eff479380917a1fe7bbb68", + "sha256:fe4877c24711458f7990392181be30166cc3ae72158036ecb48a73c30c99fb6f", + "sha256:ff619c58322d9d6df0a859dc76c3532d7bdbc125cb040f7cd642141446b4f654" ], "index": "pypi", - "markers": "python_version >= '3.9'", - "version": "==7.8.0" + "version": "==7.8.1" }, "docker": { "hashes": [ @@ -1607,7 +1616,6 @@ "sha256:c06ef7a43e5d67107067f77b6c07ebdd68733e5aa7eed03076472410ca19d876" ], "index": "pypi", - "markers": "python_version >= '3.9'", "version": "==7.2.15" }, "opensearch-py": { @@ -1616,7 +1624,6 @@ "sha256:6598df0bc7a003294edd0ba88a331e0793acbb8c910c43edf398791e3b2eccda" ], "index": "pypi", - "markers": "python_version >= '3.8' and python_version < '4'", "version": "==2.8.0" }, "packaging": { @@ -1629,11 +1636,11 @@ }, "pluggy": { "hashes": [ - "sha256:2cffa88e94fdc978c4c574f15f9e59b7f4201d439195c3715ca9e2486f1d0cf1", - "sha256:44e1ad92c8ca002de6377e165f3e0f1be63266ab4d554740532335b9d75ea669" + "sha256:7dcc130b76258d33b90f61b658791dede3486c3e6bfb003ee5c9bfb396dd22f3", + "sha256:e920276dd6813095e9377c0bc5566d94c932c33b27a3e3945d8389c374dd4746" ], - "markers": "python_version >= '3.8'", - "version": "==1.5.0" + "markers": "python_version >= '3.9'", + "version": "==1.6.0" }, "pycparser": { "hashes": [ @@ -1645,38 +1652,50 @@ }, "pycryptodome": { "hashes": [ - "sha256:009e1c80eea42401a5bd5983c4bab8d516aef22e014a4705622e24e6d9d703c6", - "sha256:18d5b0ddc7cf69231736d778bd3ae2b3efb681ae33b64b0c92fb4626bb48bb89", - "sha256:2988ffcd5137dc2d27eb51cd18c0f0f68e5b009d5fec56fbccb638f90934f333", - "sha256:37ddcd18284e6b36b0a71ea495a4c4dca35bb09ccc9bfd5b91bfaf2321f131c1", - "sha256:3b76fa80daeff9519d7e9f6d9e40708f2fce36b9295a847f00624a08293f4f00", - "sha256:56c6f9342fcb6c74e205fbd2fee568ec4cdbdaa6165c8fde55dbc4ba5f584464", - "sha256:87a88dc543b62b5c669895caf6c5a958ac7abc8863919e94b7a6cafd2f64064f", - "sha256:8f4f6f47a7f411f2c157e77bbbda289e0c9f9e1e9944caa73c1c2e33f3f92d6e", - "sha256:96e73527c9185a3d9b4c6d1cfb4494f6ced418573150be170f6580cb975a7f5a", - "sha256:98fd9da809d5675f3a65dcd9ed384b9dc67edab6a4cda150c5870a8122ec961d", - "sha256:9dbb749cef71c28271484cbef684f9b5b19962153487735411e1020ca3f59cb1", - "sha256:9e1bb165ea1dc83a11e5dbbe00ef2c378d148f3a2d3834fb5ba4e0f6fd0afe4b", - "sha256:a0092fd476701eeeb04df5cc509d8b739fa381583cda6a46ff0a60639b7cd70d", - "sha256:a26bcfee1293b7257c83b0bd13235a4ee58165352be4f8c45db851ba46996dc6", - "sha256:a31fa5914b255ab62aac9265654292ce0404f6b66540a065f538466474baedbc", - "sha256:a6cf9553b29624961cab0785a3177a333e09e37ba62ad22314ebdbb01ca79840", - "sha256:aec7b40a7ea5af7c40f8837adf20a137d5e11a6eb202cde7e588a48fb2d871a8", - "sha256:b4bdce34af16c1dcc7f8c66185684be15f5818afd2a82b75a4ce6b55f9783e13", - "sha256:d086aed307e96d40c23c42418cbbca22ecc0ab4a8a0e24f87932eeab26c08627", - "sha256:d21c1eda2f42211f18a25db4eaf8056c94a8563cd39da3683f89fe0d881fb772", - "sha256:d4d1174677855c266eed5c4b4e25daa4225ad0c9ffe7584bb1816767892545d0", - "sha256:e653519dedcd1532788547f00eeb6108cc7ce9efdf5cc9996abce0d53f95d5a9", - "sha256:e7514a1aebee8e85802d154fdb261381f1cb9b7c5a54594545145b8ec3056ae6", - "sha256:f02baa9f5e35934c6e8dcec91fcde96612bdefef6e442813b8ea34e82c84bbfb", - "sha256:f1ae7beb64d4fc4903a6a6cca80f1f448e7a8a95b77d106f8a29f2eb44d17547", - "sha256:f5810bc7494e4ac12a4afef5a32218129e7d3890ce3f2b5ec520cc69eb1102ad", - "sha256:f6cf6aa36fcf463e622d2165a5ad9963b2762bebae2f632d719dfb8544903cf5", - "sha256:f7a683bc9fa585c0dfec7fa4801c96a48d30b30b096e3297f9374f40c2fedafc", - "sha256:fd7ab568b3ad7b77c908d7c3f7e167ec5a8f035c64ff74f10d47a4edd043d723" + "sha256:0011f7f00cdb74879142011f95133274741778abba114ceca229adbf8e62c3e4", + "sha256:11eeeb6917903876f134b56ba11abe95c0b0fd5e3330def218083c7d98bbcb3c", + "sha256:14e15c081e912c4b0d75632acd8382dfce45b258667aa3c67caf7a4d4c13f630", + "sha256:156df9667ad9f2ad26255926524e1c136d6664b741547deb0a86a9acf5ea631f", + "sha256:187058ab80b3281b1de11c2e6842a357a1f71b42cb1e15bce373f3d238135c27", + "sha256:257bb3572c63ad8ba40b89f6fc9d63a2a628e9f9708d31ee26560925ebe0210a", + "sha256:350ebc1eba1da729b35ab7627a833a1a355ee4e852d8ba0447fafe7b14504d56", + "sha256:447700a657182d60338bab09fdb27518f8856aecd80ae4c6bdddb67ff5da44ef", + "sha256:45c69ad715ca1a94f778215a11e66b7ff989d792a4d63b68dc586a1da1392ff5", + "sha256:4764e64b269fc83b00f682c47443c2e6e85b18273712b98aa43bcb77f8570477", + "sha256:507dbead45474b62b2bbe318eb1c4c8ee641077532067fec9c1aa82c31f84886", + "sha256:53ecbafc2b55353edcebd64bf5da94a2a2cdf5090a6915bcca6eca6cc452585a", + "sha256:573a0b3017e06f2cffd27d92ef22e46aa3be87a2d317a5abf7cc0e84e321bd75", + "sha256:63dad881b99ca653302b2c7191998dd677226222a3f2ea79999aa51ce695f720", + "sha256:64093fc334c1eccfd3933c134c4457c34eaca235eeae49d69449dc4728079339", + "sha256:6501790c5b62a29fcb227bd6b62012181d886a767ce9ed03b303d1f22eb5c625", + "sha256:67bd81fcbe34f43ad9422ee8fd4843c8e7198dd88dd3d40e6de42ee65fbe1490", + "sha256:6fe8258e2039eceb74dfec66b3672552b6b7d2c235b2dfecc05d16b8921649a8", + "sha256:763d1d74f56f031788e5d307029caef067febf890cd1f8bf61183ae142f1a77b", + "sha256:7ac1080a8da569bde76c0a104589c4f414b8ba296c0b3738cf39a466a9fb1818", + "sha256:865d83c906b0fc6a59b510deceee656b6bc1c4fa0d82176e2b77e97a420a996a", + "sha256:89d4d56153efc4d81defe8b65fd0821ef8b2d5ddf8ed19df31ba2f00872b8002", + "sha256:90460fc9e088ce095f9ee8356722d4f10f86e5be06e2354230a9880b9c549aae", + "sha256:93837e379a3e5fd2bb00302a47aee9fdf7940d83595be3915752c74033d17ca7", + "sha256:954af0e2bd7cea83ce72243b14e4fb518b18f0c1649b576d114973e2073b273d", + "sha256:9a53a4fe5cb075075d515797d6ce2f56772ea7e6a1e5e4b96cf78a14bac3d265", + "sha256:9a77627a330ab23ca43b48b130e202582e91cc69619947840ea4d2d1be21eb39", + "sha256:a176b79c49af27d7f6c12e4b178b0824626f40a7b9fed08f712291b6d54bf566", + "sha256:a7fc76bf273353dc7e5207d172b83f569540fc9a28d63171061c42e361d22353", + "sha256:aa0698f65e5b570426fc31b8162ed4603b0c2841cbb9088e2b01641e3065915b", + "sha256:b34e8e11d97889df57166eda1e1ddd7676da5fcd4d71a0062a760e75060514b4", + "sha256:c75b52aacc6c0c260f204cbdd834f76edc9fb0d8e0da9fbf8352ef58202564e2", + "sha256:c8987bd3307a39bc03df5c8e0e3d8be0c4c3518b7f044b0f4c15d1aa78f52575", + "sha256:ce64e84a962b63a47a592690bdc16a7eaf709d2c2697ababf24a0def566899a6", + "sha256:cfb5cd445280c5b0a4e6187a7ce8de5a07b5f3f897f235caa11f1f435f182843", + "sha256:d8e95564beb8782abfd9e431c974e14563a794a4944c29d6d3b7b5ea042110b4", + "sha256:d97618c9c6684a97ef7637ba43bdf6663a2e2e77efe0f863cce97a76af396446", + "sha256:ddb95b49df036ddd264a0ad246d1be5b672000f12d6961ea2c267083a5e19379", + "sha256:dea827b4d55ee390dc89b2afe5927d4308a8b538ae91d9c6f7a5090f397af1aa", + "sha256:e3f2d0aaf8080bda0587d58fc9fe4766e012441e2eed4269a77de6aea981c8be", + "sha256:eb8f24adb74984aa0e5d07a2368ad95276cf38051fe2dc6605cbcf482e04f2a7" ], "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4, 3.5, 3.6'", - "version": "==3.22.0" + "version": "==3.23.0" }, "pytest": { "hashes": [ @@ -1684,7 +1703,6 @@ "sha256:f4efe70cc14e511565ac476b57c279e12a855b11f48f212af1080ef2263d3845" ], "index": "pypi", - "markers": "python_version >= '3.8'", "version": "==8.3.5" }, "python-dateutil": { @@ -1692,7 +1710,7 @@ "sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3", "sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427" ], - "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2'", + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", "version": "==2.9.0.post0" }, "requests": { @@ -1701,7 +1719,6 @@ "sha256:70761cfe03c773ceb22aa2f671b4757976145175cdfca038c02654d061d6dcc6" ], "index": "pypi", - "markers": "python_version >= '3.8'", "version": "==2.32.3" }, "requests-mock": { @@ -1710,7 +1727,6 @@ "sha256:e9e12e333b525156e82a3c852f22016b9158220d2f47454de9cae8a77d371401" ], "index": "pypi", - "markers": "python_version >= '3.5'", "version": "==1.12.1" }, "six": { @@ -1718,7 +1734,7 @@ "sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274", "sha256:ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81" ], - "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2'", + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", "version": "==1.17.0" }, "testcontainers-core": { @@ -1733,7 +1749,6 @@ "sha256:54d330d085c0a11fc5da0b001af87aec4dd3e814104376bf7513e8646c77442a" ], "index": "pypi", - "markers": "python_version >= '3.7'", "version": "==0.0.1rc1" }, "testcontainers-opensearch": { @@ -1741,7 +1756,6 @@ "sha256:0bdf270b5b7f53915832f7c31dd2bd3ffdc20b534ea6b32231cc7003049bd0e1" ], "index": "pypi", - "markers": "python_version >= '3.7'", "version": "==0.0.1rc1" }, "typing-extensions": { @@ -1749,7 +1763,7 @@ "sha256:a439e7c04b49fec3e5d3e2beaa21755cadbbdc391694e28ccdd36ca4a1408f8c", "sha256:e6c81219bd689f51865d9e372991c540bda33a0379d5573cddb9a3a23f7caaef" ], - "markers": "python_version >= '3.8'", + "markers": "python_version < '3.13'", "version": "==4.13.2" }, "urllib3": { diff --git a/dbrepo-analyse-service/app.py b/dbrepo-analyse-service/app.py index abf21202c8dbf6de8020a6e12220c7ed4d3a0820..8508ba1367b456846fe78483ddbf8d081f9d57a1 100644 --- a/dbrepo-analyse-service/app.py +++ b/dbrepo-analyse-service/app.py @@ -30,9 +30,8 @@ dictConfig({ 'simple': { 'format': '[%(asctime)s] [%(levelname)s] %(message)s', }, - 'ecs': { - 'format': '{"@timestamp": "%(asctime)s", "log.level": "%(levelname)s", "log.logger": "%(module)s", "message": "%(message)s", "service_name": "analyse-service", "service_version": "1.8.2"}', - 'datefmt': '%Y-%m-%dT%H:%M:%S' + "ecs": { + "()": "ecs_logging.StdlibFormatter" }, }, 'handlers': { @@ -200,7 +199,7 @@ template = { "info": { "title": "Database Repository Analyse Service API", "description": "Service that analyses data structures", - "version": "1.8.2", + "version": "1.9.0", "contact": { "name": "Prof. Andreas Rauber", "email": "andreas.rauber@tuwien.ac.at" @@ -212,7 +211,7 @@ template = { }, "externalDocs": { "description": "Sourcecode Documentation", - "url": "https://www.ifs.tuwien.ac.at/infrastructures/dbrepo/1.8/" + "url": "https://www.ifs.tuwien.ac.at/infrastructures/dbrepo/1.9/" }, "servers": [ { diff --git a/dbrepo-analyse-service/lib/dbrepo-1.8.2.tar.gz b/dbrepo-analyse-service/lib/dbrepo-1.8.2.tar.gz deleted file mode 100644 index 3e3b65b6b93a602ee26c2f4d4c71c2d3cd331211..0000000000000000000000000000000000000000 Binary files a/dbrepo-analyse-service/lib/dbrepo-1.8.2.tar.gz and /dev/null differ diff --git a/dbrepo-analyse-service/lib/dbrepo-1.8.2rc3-py3-none-any.whl b/dbrepo-analyse-service/lib/dbrepo-1.8.2rc3-py3-none-any.whl deleted file mode 100644 index 86a1af2af41c44d35a4da7a472c180854f0cd82c..0000000000000000000000000000000000000000 Binary files a/dbrepo-analyse-service/lib/dbrepo-1.8.2rc3-py3-none-any.whl and /dev/null differ diff --git a/dbrepo-analyse-service/lib/dbrepo-1.8.2rc3.tar.gz b/dbrepo-analyse-service/lib/dbrepo-1.8.2rc3.tar.gz deleted file mode 100644 index 9c03ed275c6da5b2eef3619c59269f398d59c7de..0000000000000000000000000000000000000000 Binary files a/dbrepo-analyse-service/lib/dbrepo-1.8.2rc3.tar.gz and /dev/null differ diff --git a/dbrepo-analyse-service/lib/dbrepo-1.8.2rc4-py3-none-any.whl b/dbrepo-analyse-service/lib/dbrepo-1.8.2rc4-py3-none-any.whl deleted file mode 100644 index 5a0dbc7c95592f2e70bed13fa33d85cc6cdf7811..0000000000000000000000000000000000000000 Binary files a/dbrepo-analyse-service/lib/dbrepo-1.8.2rc4-py3-none-any.whl and /dev/null differ diff --git a/dbrepo-analyse-service/lib/dbrepo-1.8.2rc4.tar.gz b/dbrepo-analyse-service/lib/dbrepo-1.8.2rc4.tar.gz deleted file mode 100644 index 1dbc78c989362d4d0c3750b1ad942abe46f205dd..0000000000000000000000000000000000000000 Binary files a/dbrepo-analyse-service/lib/dbrepo-1.8.2rc4.tar.gz and /dev/null differ diff --git a/dbrepo-analyse-service/lib/dbrepo-1.8.2rc5-py3-none-any.whl b/dbrepo-analyse-service/lib/dbrepo-1.8.2rc5-py3-none-any.whl deleted file mode 100644 index 50bf1b8195987f6f8d23a36f34bc0f912b6fd9b3..0000000000000000000000000000000000000000 Binary files a/dbrepo-analyse-service/lib/dbrepo-1.8.2rc5-py3-none-any.whl and /dev/null differ diff --git a/dbrepo-analyse-service/lib/dbrepo-1.8.2rc5.tar.gz b/dbrepo-analyse-service/lib/dbrepo-1.8.2rc5.tar.gz deleted file mode 100644 index be8784437f111e2d4a5cdac36baf77605114dfa5..0000000000000000000000000000000000000000 Binary files a/dbrepo-analyse-service/lib/dbrepo-1.8.2rc5.tar.gz and /dev/null differ diff --git a/dbrepo-analyse-service/lib/dbrepo-1.8.2rc6-py3-none-any.whl b/dbrepo-analyse-service/lib/dbrepo-1.8.2rc6-py3-none-any.whl deleted file mode 100644 index 8e4c745a2ce782c174d5e1db7eef22d51d26624c..0000000000000000000000000000000000000000 Binary files a/dbrepo-analyse-service/lib/dbrepo-1.8.2rc6-py3-none-any.whl and /dev/null differ diff --git a/dbrepo-analyse-service/lib/dbrepo-1.8.2rc6.tar.gz b/dbrepo-analyse-service/lib/dbrepo-1.8.2rc6.tar.gz deleted file mode 100644 index 279243fd37fe033fe4aa740361b5e9a370516924..0000000000000000000000000000000000000000 Binary files a/dbrepo-analyse-service/lib/dbrepo-1.8.2rc6.tar.gz and /dev/null differ diff --git a/dbrepo-analyse-service/lib/dbrepo-1.8.2-py3-none-any.whl b/dbrepo-analyse-service/lib/dbrepo-1.9.0-py3-none-any.whl similarity index 70% rename from dbrepo-analyse-service/lib/dbrepo-1.8.2-py3-none-any.whl rename to dbrepo-analyse-service/lib/dbrepo-1.9.0-py3-none-any.whl index 48beeb5ebf61c7cca654e0ee66343fac70bb4d53..23950d61fc98e36a15c4a8ed9c452e86446b589b 100644 Binary files a/dbrepo-analyse-service/lib/dbrepo-1.8.2-py3-none-any.whl and b/dbrepo-analyse-service/lib/dbrepo-1.9.0-py3-none-any.whl differ diff --git a/dbrepo-analyse-service/lib/dbrepo-1.9.0.tar.gz b/dbrepo-analyse-service/lib/dbrepo-1.9.0.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..b24c628496a5d2753bebe080118cba5237390e28 Binary files /dev/null and b/dbrepo-analyse-service/lib/dbrepo-1.9.0.tar.gz differ diff --git a/dbrepo-auth-service/init/Dockerfile b/dbrepo-auth-service/init/Dockerfile index bd692732d619340ed2f0ee72ca8cbff7189aa6e2..c3b8301b3a0272bef843e16d334ea3d5954c5807 100644 --- a/dbrepo-auth-service/init/Dockerfile +++ b/dbrepo-auth-service/init/Dockerfile @@ -10,13 +10,18 @@ WORKDIR /home/alpine COPY Pipfile Pipfile.lock ./ +COPY ./lib ./lib + RUN pip install pipenv && \ pipenv install --system --deploy +RUN mkdir -p /var/log/app/service/auth && \ + chown -R 1001:1001 /var/log/app + USER 1001 WORKDIR /app COPY --chown=1001 ./app.py ./app.py -ENTRYPOINT [ "python", "app.py" ] \ No newline at end of file +ENTRYPOINT [ "python", "app.py" ] diff --git a/dbrepo-auth-service/init/Pipfile b/dbrepo-auth-service/init/Pipfile index 58eea6e6a6ac0f29fc61570046b07a86e70e3364..8686321ac48e25128dc5463206c71aa8a4bf0045 100644 --- a/dbrepo-auth-service/init/Pipfile +++ b/dbrepo-auth-service/init/Pipfile @@ -6,6 +6,8 @@ name = "pypi" [packages] requests = "*" mariadb = "*" +ecs_logging = "*" +dbrepo = {path = "./lib/dbrepo-1.9.0.tar.gz"} [dev-packages] coverage = "*" diff --git a/dbrepo-auth-service/init/Pipfile.lock b/dbrepo-auth-service/init/Pipfile.lock index 32613b01176fa433f4723298fe45c598e17e7fa3..8f210a2344069b8a644069ea7600621371784bf3 100644 --- a/dbrepo-auth-service/init/Pipfile.lock +++ b/dbrepo-auth-service/init/Pipfile.lock @@ -1,7 +1,7 @@ { "_meta": { "hash": { - "sha256": "e3dbdaa3974910c1b12957342fa5b2227b215c4e0a774f836b242bc6925cf90c" + "sha256": "2130479fdb1816b229b92799ef1b307b5d2612087f551b08ac3f13ed173907a5" }, "pipfile-spec": 6, "requires": { @@ -16,111 +16,134 @@ ] }, "default": { + "annotated-types": { + "hashes": [ + "sha256:1f02e8b43a8fbbc3f3e0d4f0f4bfc8131bcb4eebe8849b8e5c773f3a1c582a53", + "sha256:aff07c09a53a08bc8cfccb9c85b05f1aa9a2a6f23728d790723543408344ce89" + ], + "markers": "python_version >= '3.8'", + "version": "==0.7.0" + }, "certifi": { "hashes": [ - "sha256:3d5da6925056f6f18f119200434a4780a94263f10d1c21d032a6f6b2baa20651", - "sha256:ca78db4565a652026a4db2bcdf68f2fb589ea80d0be70e03929ed730746b84fe" + "sha256:0a816057ea3cdefcef70270d2c515e4506bbc954f417fa5ade2021213bb8f0c6", + "sha256:30350364dfe371162649852c63336a15c70c6510c2ad5015b21c2345311805f3" ], "markers": "python_version >= '3.6'", - "version": "==2025.1.31" + "version": "==2025.4.26" }, "charset-normalizer": { "hashes": [ - "sha256:0167ddc8ab6508fe81860a57dd472b2ef4060e8d378f0cc555707126830f2537", - "sha256:01732659ba9b5b873fc117534143e4feefecf3b2078b0a6a2e925271bb6f4cfa", - "sha256:01ad647cdd609225c5350561d084b42ddf732f4eeefe6e678765636791e78b9a", - "sha256:04432ad9479fa40ec0f387795ddad4437a2b50417c69fa275e212933519ff294", - "sha256:0907f11d019260cdc3f94fbdb23ff9125f6b5d1039b76003b5b0ac9d6a6c9d5b", - "sha256:0924e81d3d5e70f8126529951dac65c1010cdf117bb75eb02dd12339b57749dd", - "sha256:09b26ae6b1abf0d27570633b2b078a2a20419c99d66fb2823173d73f188ce601", - "sha256:09b5e6733cbd160dcc09589227187e242a30a49ca5cefa5a7edd3f9d19ed53fd", - "sha256:0af291f4fe114be0280cdd29d533696a77b5b49cfde5467176ecab32353395c4", - "sha256:0f55e69f030f7163dffe9fd0752b32f070566451afe180f99dbeeb81f511ad8d", - "sha256:1a2bc9f351a75ef49d664206d51f8e5ede9da246602dc2d2726837620ea034b2", - "sha256:22e14b5d70560b8dd51ec22863f370d1e595ac3d024cb8ad7d308b4cd95f8313", - "sha256:234ac59ea147c59ee4da87a0c0f098e9c8d169f4dc2a159ef720f1a61bbe27cd", - "sha256:2369eea1ee4a7610a860d88f268eb39b95cb588acd7235e02fd5a5601773d4fa", - "sha256:237bdbe6159cff53b4f24f397d43c6336c6b0b42affbe857970cefbb620911c8", - "sha256:28bf57629c75e810b6ae989f03c0828d64d6b26a5e205535585f96093e405ed1", - "sha256:2967f74ad52c3b98de4c3b32e1a44e32975e008a9cd2a8cc8966d6a5218c5cb2", - "sha256:2a75d49014d118e4198bcee5ee0a6f25856b29b12dbf7cd012791f8a6cc5c496", - "sha256:2bdfe3ac2e1bbe5b59a1a63721eb3b95fc9b6817ae4a46debbb4e11f6232428d", - "sha256:2d074908e1aecee37a7635990b2c6d504cd4766c7bc9fc86d63f9c09af3fa11b", - "sha256:2fb9bd477fdea8684f78791a6de97a953c51831ee2981f8e4f583ff3b9d9687e", - "sha256:311f30128d7d333eebd7896965bfcfbd0065f1716ec92bd5638d7748eb6f936a", - "sha256:329ce159e82018d646c7ac45b01a430369d526569ec08516081727a20e9e4af4", - "sha256:345b0426edd4e18138d6528aed636de7a9ed169b4aaf9d61a8c19e39d26838ca", - "sha256:363e2f92b0f0174b2f8238240a1a30142e3db7b957a5dd5689b0e75fb717cc78", - "sha256:3a3bd0dcd373514dcec91c411ddb9632c0d7d92aed7093b8c3bbb6d69ca74408", - "sha256:3bed14e9c89dcb10e8f3a29f9ccac4955aebe93c71ae803af79265c9ca5644c5", - "sha256:44251f18cd68a75b56585dd00dae26183e102cd5e0f9f1466e6df5da2ed64ea3", - "sha256:44ecbf16649486d4aebafeaa7ec4c9fed8b88101f4dd612dcaf65d5e815f837f", - "sha256:4532bff1b8421fd0a320463030c7520f56a79c9024a4e88f01c537316019005a", - "sha256:49402233c892a461407c512a19435d1ce275543138294f7ef013f0b63d5d3765", - "sha256:4c0907b1928a36d5a998d72d64d8eaa7244989f7aaaf947500d3a800c83a3fd6", - "sha256:4d86f7aff21ee58f26dcf5ae81a9addbd914115cdebcbb2217e4f0ed8982e146", - "sha256:5777ee0881f9499ed0f71cc82cf873d9a0ca8af166dfa0af8ec4e675b7df48e6", - "sha256:5df196eb874dae23dcfb968c83d4f8fdccb333330fe1fc278ac5ceeb101003a9", - "sha256:619a609aa74ae43d90ed2e89bdd784765de0a25ca761b93e196d938b8fd1dbbd", - "sha256:6e27f48bcd0957c6d4cb9d6fa6b61d192d0b13d5ef563e5f2ae35feafc0d179c", - "sha256:6ff8a4a60c227ad87030d76e99cd1698345d4491638dfa6673027c48b3cd395f", - "sha256:73d94b58ec7fecbc7366247d3b0b10a21681004153238750bb67bd9012414545", - "sha256:7461baadb4dc00fd9e0acbe254e3d7d2112e7f92ced2adc96e54ef6501c5f176", - "sha256:75832c08354f595c760a804588b9357d34ec00ba1c940c15e31e96d902093770", - "sha256:7709f51f5f7c853f0fb938bcd3bc59cdfdc5203635ffd18bf354f6967ea0f824", - "sha256:78baa6d91634dfb69ec52a463534bc0df05dbd546209b79a3880a34487f4b84f", - "sha256:7974a0b5ecd505609e3b19742b60cee7aa2aa2fb3151bc917e6e2646d7667dcf", - "sha256:7a4f97a081603d2050bfaffdefa5b02a9ec823f8348a572e39032caa8404a487", - "sha256:7b1bef6280950ee6c177b326508f86cad7ad4dff12454483b51d8b7d673a2c5d", - "sha256:7d053096f67cd1241601111b698f5cad775f97ab25d81567d3f59219b5f1adbd", - "sha256:804a4d582ba6e5b747c625bf1255e6b1507465494a40a2130978bda7b932c90b", - "sha256:807f52c1f798eef6cf26beb819eeb8819b1622ddfeef9d0977a8502d4db6d534", - "sha256:80ed5e856eb7f30115aaf94e4a08114ccc8813e6ed1b5efa74f9f82e8509858f", - "sha256:8417cb1f36cc0bc7eaba8ccb0e04d55f0ee52df06df3ad55259b9a323555fc8b", - "sha256:8436c508b408b82d87dc5f62496973a1805cd46727c34440b0d29d8a2f50a6c9", - "sha256:89149166622f4db9b4b6a449256291dc87a99ee53151c74cbd82a53c8c2f6ccd", - "sha256:8bfa33f4f2672964266e940dd22a195989ba31669bd84629f05fab3ef4e2d125", - "sha256:8c60ca7339acd497a55b0ea5d506b2a2612afb2826560416f6894e8b5770d4a9", - "sha256:91b36a978b5ae0ee86c394f5a54d6ef44db1de0815eb43de826d41d21e4af3de", - "sha256:955f8851919303c92343d2f66165294848d57e9bba6cf6e3625485a70a038d11", - "sha256:97f68b8d6831127e4787ad15e6757232e14e12060bec17091b85eb1486b91d8d", - "sha256:9b23ca7ef998bc739bf6ffc077c2116917eabcc901f88da1b9856b210ef63f35", - "sha256:9f0b8b1c6d84c8034a44893aba5e767bf9c7a211e313a9605d9c617d7083829f", - "sha256:aabfa34badd18f1da5ec1bc2715cadc8dca465868a4e73a0173466b688f29dda", - "sha256:ab36c8eb7e454e34e60eb55ca5d241a5d18b2c6244f6827a30e451c42410b5f7", - "sha256:b010a7a4fd316c3c484d482922d13044979e78d1861f0e0650423144c616a46a", - "sha256:b1ac5992a838106edb89654e0aebfc24f5848ae2547d22c2c3f66454daa11971", - "sha256:b7b2d86dd06bfc2ade3312a83a5c364c7ec2e3498f8734282c6c3d4b07b346b8", - "sha256:b97e690a2118911e39b4042088092771b4ae3fc3aa86518f84b8cf6888dbdb41", - "sha256:bc2722592d8998c870fa4e290c2eec2c1569b87fe58618e67d38b4665dfa680d", - "sha256:c0429126cf75e16c4f0ad00ee0eae4242dc652290f940152ca8c75c3a4b6ee8f", - "sha256:c30197aa96e8eed02200a83fba2657b4c3acd0f0aa4bdc9f6c1af8e8962e0757", - "sha256:c4c3e6da02df6fa1410a7680bd3f63d4f710232d3139089536310d027950696a", - "sha256:c75cb2a3e389853835e84a2d8fb2b81a10645b503eca9bcb98df6b5a43eb8886", - "sha256:c96836c97b1238e9c9e3fe90844c947d5afbf4f4c92762679acfe19927d81d77", - "sha256:d7f50a1f8c450f3925cb367d011448c39239bb3eb4117c36a6d354794de4ce76", - "sha256:d973f03c0cb71c5ed99037b870f2be986c3c05e63622c017ea9816881d2dd247", - "sha256:d98b1668f06378c6dbefec3b92299716b931cd4e6061f3c875a71ced1780ab85", - "sha256:d9c3cdf5390dcd29aa8056d13e8e99526cda0305acc038b96b30352aff5ff2bb", - "sha256:dad3e487649f498dd991eeb901125411559b22e8d7ab25d3aeb1af367df5efd7", - "sha256:dccbe65bd2f7f7ec22c4ff99ed56faa1e9f785482b9bbd7c717e26fd723a1d1e", - "sha256:dd78cfcda14a1ef52584dbb008f7ac81c1328c0f58184bf9a84c49c605002da6", - "sha256:e218488cd232553829be0664c2292d3af2eeeb94b32bea483cf79ac6a694e037", - "sha256:e358e64305fe12299a08e08978f51fc21fac060dcfcddd95453eabe5b93ed0e1", - "sha256:ea0d8d539afa5eb2728aa1932a988a9a7af94f18582ffae4bc10b3fbdad0626e", - "sha256:eab677309cdb30d047996b36d34caeda1dc91149e4fdca0b1a039b3f79d9a807", - "sha256:eb8178fe3dba6450a3e024e95ac49ed3400e506fd4e9e5c32d30adda88cbd407", - "sha256:ecddf25bee22fe4fe3737a399d0d177d72bc22be6913acfab364b40bce1ba83c", - "sha256:eea6ee1db730b3483adf394ea72f808b6e18cf3cb6454b4d86e04fa8c4327a12", - "sha256:f08ff5e948271dc7e18a35641d2f11a4cd8dfd5634f55228b691e62b37125eb3", - "sha256:f30bf9fd9be89ecb2360c7d94a711f00c09b976258846efe40db3d05828e8089", - "sha256:fa88b843d6e211393a37219e6a1c1df99d35e8fd90446f1118f4216e307e48cd", - "sha256:fc54db6c8593ef7d4b2a331b58653356cf04f67c960f584edb7c3d8c97e8f39e", - "sha256:fd4ec41f914fa74ad1b8304bbc634b3de73d2a0889bd32076342a573e0779e00", - "sha256:ffc9202a29ab3920fa812879e95a9e78b2465fd10be7fcbd042899695d75e616" + "sha256:005fa3432484527f9732ebd315da8da8001593e2cf46a3d817669f062c3d9ed4", + "sha256:046595208aae0120559a67693ecc65dd75d46f7bf687f159127046628178dc45", + "sha256:0c29de6a1a95f24b9a1aa7aefd27d2487263f00dfd55a77719b530788f75cff7", + "sha256:0c8c57f84ccfc871a48a47321cfa49ae1df56cd1d965a09abe84066f6853b9c0", + "sha256:0f5d9ed7f254402c9e7d35d2f5972c9bbea9040e99cd2861bd77dc68263277c7", + "sha256:18dd2e350387c87dabe711b86f83c9c78af772c748904d372ade190b5c7c9d4d", + "sha256:1b1bde144d98e446b056ef98e59c256e9294f6b74d7af6846bf5ffdafd687a7d", + "sha256:1c95a1e2902a8b722868587c0e1184ad5c55631de5afc0eb96bc4b0d738092c0", + "sha256:1cad5f45b3146325bb38d6855642f6fd609c3f7cad4dbaf75549bf3b904d3184", + "sha256:21b2899062867b0e1fde9b724f8aecb1af14f2778d69aacd1a5a1853a597a5db", + "sha256:24498ba8ed6c2e0b56d4acbf83f2d989720a93b41d712ebd4f4979660db4417b", + "sha256:25a23ea5c7edc53e0f29bae2c44fcb5a1aa10591aae107f2a2b2583a9c5cbc64", + "sha256:289200a18fa698949d2b39c671c2cc7a24d44096784e76614899a7ccf2574b7b", + "sha256:28a1005facc94196e1fb3e82a3d442a9d9110b8434fc1ded7a24a2983c9888d8", + "sha256:32fc0341d72e0f73f80acb0a2c94216bd704f4f0bce10aedea38f30502b271ff", + "sha256:36b31da18b8890a76ec181c3cf44326bf2c48e36d393ca1b72b3f484113ea344", + "sha256:3c21d4fca343c805a52c0c78edc01e3477f6dd1ad7c47653241cf2a206d4fc58", + "sha256:3fddb7e2c84ac87ac3a947cb4e66d143ca5863ef48e4a5ecb83bd48619e4634e", + "sha256:43e0933a0eff183ee85833f341ec567c0980dae57c464d8a508e1b2ceb336471", + "sha256:4a476b06fbcf359ad25d34a057b7219281286ae2477cc5ff5e3f70a246971148", + "sha256:4e594135de17ab3866138f496755f302b72157d115086d100c3f19370839dd3a", + "sha256:50bf98d5e563b83cc29471fa114366e6806bc06bc7a25fd59641e41445327836", + "sha256:5a9979887252a82fefd3d3ed2a8e3b937a7a809f65dcb1e068b090e165bbe99e", + "sha256:5baececa9ecba31eff645232d59845c07aa030f0c81ee70184a90d35099a0e63", + "sha256:5bf4545e3b962767e5c06fe1738f951f77d27967cb2caa64c28be7c4563e162c", + "sha256:6333b3aa5a12c26b2a4d4e7335a28f1475e0e5e17d69d55141ee3cab736f66d1", + "sha256:65c981bdbd3f57670af8b59777cbfae75364b483fa8a9f420f08094531d54a01", + "sha256:68a328e5f55ec37c57f19ebb1fdc56a248db2e3e9ad769919a58672958e8f366", + "sha256:6a0289e4589e8bdfef02a80478f1dfcb14f0ab696b5a00e1f4b8a14a307a3c58", + "sha256:6b66f92b17849b85cad91259efc341dce9c1af48e2173bf38a85c6329f1033e5", + "sha256:6c9379d65defcab82d07b2a9dfbfc2e95bc8fe0ebb1b176a3190230a3ef0e07c", + "sha256:6fc1f5b51fa4cecaa18f2bd7a003f3dd039dd615cd69a2afd6d3b19aed6775f2", + "sha256:70f7172939fdf8790425ba31915bfbe8335030f05b9913d7ae00a87d4395620a", + "sha256:721c76e84fe669be19c5791da68232ca2e05ba5185575086e384352e2c309597", + "sha256:7222ffd5e4de8e57e03ce2cef95a4c43c98fcb72ad86909abdfc2c17d227fc1b", + "sha256:75d10d37a47afee94919c4fab4c22b9bc2a8bf7d4f46f87363bcf0573f3ff4f5", + "sha256:76af085e67e56c8816c3ccf256ebd136def2ed9654525348cfa744b6802b69eb", + "sha256:770cab594ecf99ae64c236bc9ee3439c3f46be49796e265ce0cc8bc17b10294f", + "sha256:7a6ab32f7210554a96cd9e33abe3ddd86732beeafc7a28e9955cdf22ffadbab0", + "sha256:7c48ed483eb946e6c04ccbe02c6b4d1d48e51944b6db70f697e089c193404941", + "sha256:7f56930ab0abd1c45cd15be65cc741c28b1c9a34876ce8c17a2fa107810c0af0", + "sha256:8075c35cd58273fee266c58c0c9b670947c19df5fb98e7b66710e04ad4e9ff86", + "sha256:8272b73e1c5603666618805fe821edba66892e2870058c94c53147602eab29c7", + "sha256:82d8fd25b7f4675d0c47cf95b594d4e7b158aca33b76aa63d07186e13c0e0ab7", + "sha256:844da2b5728b5ce0e32d863af26f32b5ce61bc4273a9c720a9f3aa9df73b1455", + "sha256:8755483f3c00d6c9a77f490c17e6ab0c8729e39e6390328e42521ef175380ae6", + "sha256:915f3849a011c1f593ab99092f3cecfcb4d65d8feb4a64cf1bf2d22074dc0ec4", + "sha256:926ca93accd5d36ccdabd803392ddc3e03e6d4cd1cf17deff3b989ab8e9dbcf0", + "sha256:982bb1e8b4ffda883b3d0a521e23abcd6fd17418f6d2c4118d257a10199c0ce3", + "sha256:98f862da73774290f251b9df8d11161b6cf25b599a66baf087c1ffe340e9bfd1", + "sha256:9cbfacf36cb0ec2897ce0ebc5d08ca44213af24265bd56eca54bee7923c48fd6", + "sha256:a370b3e078e418187da8c3674eddb9d983ec09445c99a3a263c2011993522981", + "sha256:a955b438e62efdf7e0b7b52a64dc5c3396e2634baa62471768a64bc2adb73d5c", + "sha256:aa6af9e7d59f9c12b33ae4e9450619cf2488e2bbe9b44030905877f0b2324980", + "sha256:aa88ca0b1932e93f2d961bf3addbb2db902198dca337d88c89e1559e066e7645", + "sha256:aaeeb6a479c7667fbe1099af9617c83aaca22182d6cf8c53966491a0f1b7ffb7", + "sha256:aaf27faa992bfee0264dc1f03f4c75e9fcdda66a519db6b957a3f826e285cf12", + "sha256:b2680962a4848b3c4f155dc2ee64505a9c57186d0d56b43123b17ca3de18f0fa", + "sha256:b2d318c11350e10662026ad0eb71bb51c7812fc8590825304ae0bdd4ac283acd", + "sha256:b33de11b92e9f75a2b545d6e9b6f37e398d86c3e9e9653c4864eb7e89c5773ef", + "sha256:b3daeac64d5b371dea99714f08ffc2c208522ec6b06fbc7866a450dd446f5c0f", + "sha256:be1e352acbe3c78727a16a455126d9ff83ea2dfdcbc83148d2982305a04714c2", + "sha256:bee093bf902e1d8fc0ac143c88902c3dfc8941f7ea1d6a8dd2bcb786d33db03d", + "sha256:c72fbbe68c6f32f251bdc08b8611c7b3060612236e960ef848e0a517ddbe76c5", + "sha256:c9e36a97bee9b86ef9a1cf7bb96747eb7a15c2f22bdb5b516434b00f2a599f02", + "sha256:cddf7bd982eaa998934a91f69d182aec997c6c468898efe6679af88283b498d3", + "sha256:cf713fe9a71ef6fd5adf7a79670135081cd4431c2943864757f0fa3a65b1fafd", + "sha256:d11b54acf878eef558599658b0ffca78138c8c3655cf4f3a4a673c437e67732e", + "sha256:d41c4d287cfc69060fa91cae9683eacffad989f1a10811995fa309df656ec214", + "sha256:d524ba3f1581b35c03cb42beebab4a13e6cdad7b36246bd22541fa585a56cccd", + "sha256:daac4765328a919a805fa5e2720f3e94767abd632ae410a9062dff5412bae65a", + "sha256:db4c7bf0e07fc3b7d89ac2a5880a6a8062056801b83ff56d8464b70f65482b6c", + "sha256:dc7039885fa1baf9be153a0626e337aa7ec8bf96b0128605fb0d77788ddc1681", + "sha256:dccab8d5fa1ef9bfba0590ecf4d46df048d18ffe3eec01eeb73a42e0d9e7a8ba", + "sha256:dedb8adb91d11846ee08bec4c8236c8549ac721c245678282dcb06b221aab59f", + "sha256:e45ba65510e2647721e35323d6ef54c7974959f6081b58d4ef5d87c60c84919a", + "sha256:e53efc7c7cee4c1e70661e2e112ca46a575f90ed9ae3fef200f2a25e954f4b28", + "sha256:e635b87f01ebc977342e2697d05b56632f5f879a4f15955dfe8cef2448b51691", + "sha256:e70e990b2137b29dc5564715de1e12701815dacc1d056308e2b17e9095372a82", + "sha256:e8082b26888e2f8b36a042a58307d5b917ef2b1cacab921ad3323ef91901c71a", + "sha256:e8323a9b031aa0393768b87f04b4164a40037fb2a3c11ac06a03ffecd3618027", + "sha256:e92fca20c46e9f5e1bb485887d074918b13543b1c2a1185e69bb8d17ab6236a7", + "sha256:eb30abc20df9ab0814b5a2524f23d75dcf83cde762c161917a2b4b7b55b1e518", + "sha256:eba9904b0f38a143592d9fc0e19e2df0fa2e41c3c3745554761c5f6447eedabf", + "sha256:ef8de666d6179b009dce7bcb2ad4c4a779f113f12caf8dc77f0162c29d20490b", + "sha256:efd387a49825780ff861998cd959767800d54f8308936b21025326de4b5a42b9", + "sha256:f0aa37f3c979cf2546b73e8222bbfa3dc07a641585340179d768068e3455e544", + "sha256:f4074c5a429281bf056ddd4c5d3b740ebca4d43ffffe2ef4bf4d2d05114299da", + "sha256:f69a27e45c43520f5487f27627059b64aaf160415589230992cec34c5e18a509", + "sha256:fb707f3e15060adf5b7ada797624a6c6e0138e2a26baa089df64c68ee98e040f", + "sha256:fcbe676a55d7445b22c10967bceaaf0ee69407fbe0ece4d032b6eb8d4565982a", + "sha256:fdb20a30fe1175ecabed17cbf7812f7b804b8a315a25f24678bcdf120a90077f" ], "markers": "python_version >= '3.7'", - "version": "==3.4.1" + "version": "==3.4.2" + }, + "dbrepo": { + "hashes": [ + "sha256:9e1571c5d1dff922584d264f1708ed10774029c97d164ec28e853e1343dd6f3b" + ], + "path": "./lib/dbrepo-1.9.0.tar.gz", + "version": "==1.9.0" + }, + "ecs-logging": { + "hashes": [ + "sha256:1dc9e216f614129db0e6a2f9f926da4e4cf8edf8de16d1045a20aa8e950291d3", + "sha256:f6e22d267770b06f797076f49b5fcc9d97108b22f452f5f9ed4b5367b1e61b5b" + ], + "index": "pypi", + "version": "==2.2.0" }, "idna": { "hashes": [ @@ -147,13 +170,258 @@ "index": "pypi", "version": "==1.1.12" }, + "numpy": { + "hashes": [ + "sha256:038613e9fb8c72b0a41f025a7e4c3f0b7a1b5d768ece4796b674c8f3fe13efff", + "sha256:0678000bb9ac1475cd454c6b8c799206af8107e310843532b04d49649c717a47", + "sha256:0811bb762109d9708cca4d0b13c4f67146e3c3b7cf8d34018c722adb2d957c84", + "sha256:0b605b275d7bd0c640cad4e5d30fa701a8d59302e127e5f79138ad62762c3e3d", + "sha256:0bca768cd85ae743b2affdc762d617eddf3bcf8724435498a1e80132d04879e6", + "sha256:1bc23a79bfabc5d056d106f9befb8d50c31ced2fbc70eedb8155aec74a45798f", + "sha256:287cc3162b6f01463ccd86be154f284d0893d2b3ed7292439ea97eafa8170e0b", + "sha256:37c0ca431f82cd5fa716eca9506aefcabc247fb27ba69c5062a6d3ade8cf8f49", + "sha256:37e990a01ae6ec7fe7fa1c26c55ecb672dd98b19c3d0e1d1f326fa13cb38d163", + "sha256:389d771b1623ec92636b0786bc4ae56abafad4a4c513d36a55dce14bd9ce8571", + "sha256:3d70692235e759f260c3d837193090014aebdf026dfd167834bcba43e30c2a42", + "sha256:41c5a21f4a04fa86436124d388f6ed60a9343a6f767fced1a8a71c3fbca038ff", + "sha256:481b49095335f8eed42e39e8041327c05b0f6f4780488f61286ed3c01368d491", + "sha256:4eeaae00d789f66c7a25ac5f34b71a7035bb474e679f410e5e1a94deb24cf2d4", + "sha256:55a4d33fa519660d69614a9fad433be87e5252f4b03850642f88993f7b2ca566", + "sha256:5a6429d4be8ca66d889b7cf70f536a397dc45ba6faeb5f8c5427935d9592e9cf", + "sha256:5bd4fc3ac8926b3819797a7c0e2631eb889b4118a9898c84f585a54d475b7e40", + "sha256:5beb72339d9d4fa36522fc63802f469b13cdbe4fdab4a288f0c441b74272ebfd", + "sha256:6031dd6dfecc0cf9f668681a37648373bddd6421fff6c66ec1624eed0180ee06", + "sha256:71594f7c51a18e728451bb50cc60a3ce4e6538822731b2933209a1f3614e9282", + "sha256:74d4531beb257d2c3f4b261bfb0fc09e0f9ebb8842d82a7b4209415896adc680", + "sha256:7befc596a7dc9da8a337f79802ee8adb30a552a94f792b9c9d18c840055907db", + "sha256:894b3a42502226a1cac872f840030665f33326fc3dac8e57c607905773cdcde3", + "sha256:8e41fd67c52b86603a91c1a505ebaef50b3314de0213461c7a6e99c9a3beff90", + "sha256:8e9ace4a37db23421249ed236fdcdd457d671e25146786dfc96835cd951aa7c1", + "sha256:8fc377d995680230e83241d8a96def29f204b5782f371c532579b4f20607a289", + "sha256:9551a499bf125c1d4f9e250377c1ee2eddd02e01eac6644c080162c0c51778ab", + "sha256:b0544343a702fa80c95ad5d3d608ea3599dd54d4632df855e4c8d24eb6ecfa1c", + "sha256:b093dd74e50a8cba3e873868d9e93a85b78e0daf2e98c6797566ad8044e8363d", + "sha256:b412caa66f72040e6d268491a59f2c43bf03eb6c96dd8f0307829feb7fa2b6fb", + "sha256:b4f13750ce79751586ae2eb824ba7e1e8dba64784086c98cdbbcc6a42112ce0d", + "sha256:b64d8d4d17135e00c8e346e0a738deb17e754230d7e0810ac5012750bbd85a5a", + "sha256:ba10f8411898fc418a521833e014a77d3ca01c15b0c6cdcce6a0d2897e6dbbdf", + "sha256:bd48227a919f1bafbdda0583705e547892342c26fb127219d60a5c36882609d1", + "sha256:c1f9540be57940698ed329904db803cf7a402f3fc200bfe599334c9bd84a40b2", + "sha256:c820a93b0255bc360f53eca31a0e676fd1101f673dda8da93454a12e23fc5f7a", + "sha256:ce47521a4754c8f4593837384bd3424880629f718d87c5d44f8ed763edd63543", + "sha256:d042d24c90c41b54fd506da306759e06e568864df8ec17ccc17e9e884634fd00", + "sha256:de749064336d37e340f640b05f24e9e3dd678c57318c7289d222a8a2f543e90c", + "sha256:e1dda9c7e08dc141e0247a5b8f49cf05984955246a327d4c48bda16821947b2f", + "sha256:e29554e2bef54a90aa5cc07da6ce955accb83f21ab5de01a62c8478897b264fd", + "sha256:e3143e4451880bed956e706a3220b4e5cf6172ef05fcc397f6f36a550b1dd868", + "sha256:e8213002e427c69c45a52bbd94163084025f533a55a59d6f9c5b820774ef3303", + "sha256:efd28d4e9cd7d7a8d39074a4d44c63eda73401580c5c76acda2ce969e0a38e83", + "sha256:f0fd6321b839904e15c46e0d257fdd101dd7f530fe03fd6359c1ea63738703f3", + "sha256:f1372f041402e37e5e633e586f62aa53de2eac8d98cbfb822806ce4bbefcb74d", + "sha256:f2618db89be1b4e05f7a1a847a9c1c0abd63e63a1607d892dd54668dd92faf87", + "sha256:f447e6acb680fd307f40d3da4852208af94afdfab89cf850986c3ca00562f4fa", + "sha256:f92729c95468a2f4f15e9bb94c432a9229d0d50de67304399627a943201baa2f", + "sha256:f9f1adb22318e121c5c69a09142811a201ef17ab257a1e66ca3025065b7f53ae", + "sha256:fc0c5673685c508a142ca65209b4e79ed6740a4ed6b2267dbba90f34b0b3cfda", + "sha256:fc7b73d02efb0e18c000e9ad8b83480dfcd5dfd11065997ed4c6747470ae8915", + "sha256:fd83c01228a688733f1ded5201c678f0c53ecc1006ffbc404db9f7a899ac6249", + "sha256:fe27749d33bb772c80dcd84ae7e8df2adc920ae8297400dabec45f0dedb3f6de", + "sha256:fee4236c876c4e8369388054d02d0e9bb84821feb1a64dd59e137e6511a551f8" + ], + "markers": "python_version == '3.11'", + "version": "==2.2.6" + }, "packaging": { "hashes": [ - "sha256:09abb1bccd265c01f4a3aa3f7a7db064b36514d2cba19a2f694fe6150451a759", - "sha256:c228a6dc5e932d346bc5739379109d49e8853dd8223571c7c5b55260edc0b97f" + "sha256:29572ef2b1f17581046b3a2227d5c611fb25ec70ca1ba8554b24b0e69331a484", + "sha256:d443872c98d677bf60f6a1f2f8c1cb748e8fe762d2bf9d3148b5599295b0fc4f" ], "markers": "python_version >= '3.8'", - "version": "==24.2" + "version": "==25.0" + }, + "pandas": { + "hashes": [ + "sha256:062309c1b9ea12a50e8ce661145c6aab431b1e99530d3cd60640e255778bd43a", + "sha256:15c0e1e02e93116177d29ff83e8b1619c93ddc9c49083f237d4312337a61165d", + "sha256:1948ddde24197a0f7add2bdc4ca83bf2b1ef84a1bc8ccffd95eda17fd836ecb5", + "sha256:1db71525a1538b30142094edb9adc10be3f3e176748cd7acc2240c2f2e5aa3a4", + "sha256:22a9d949bfc9a502d320aa04e5d02feab689d61da4e7764b62c30b991c42c5f0", + "sha256:29401dbfa9ad77319367d36940cd8a0b3a11aba16063e39632d98b0e931ddf32", + "sha256:31d0ced62d4ea3e231a9f228366919a5ea0b07440d9d4dac345376fd8e1477ea", + "sha256:3508d914817e153ad359d7e069d752cdd736a247c322d932eb89e6bc84217f28", + "sha256:37e0aced3e8f539eccf2e099f65cdb9c8aa85109b0be6e93e2baff94264bdc6f", + "sha256:381175499d3802cde0eabbaf6324cce0c4f5d52ca6f8c377c29ad442f50f6348", + "sha256:38cf8125c40dae9d5acc10fa66af8ea6fdf760b2714ee482ca691fc66e6fcb18", + "sha256:3b71f27954685ee685317063bf13c7709a7ba74fc996b84fc6821c59b0f06468", + "sha256:3fc6873a41186404dad67245896a6e440baacc92f5b716ccd1bc9ed2995ab2c5", + "sha256:4850ba03528b6dd51d6c5d273c46f183f39a9baf3f0143e566b89450965b105e", + "sha256:4f18ba62b61d7e192368b84517265a99b4d7ee8912f8708660fb4a366cc82667", + "sha256:56534ce0746a58afaf7942ba4863e0ef81c9c50d3f0ae93e9497d6a41a057645", + "sha256:59ef3764d0fe818125a5097d2ae867ca3fa64df032331b7e0917cf5d7bf66b13", + "sha256:5dbca4c1acd72e8eeef4753eeca07de9b1db4f398669d5994086f788a5d7cc30", + "sha256:5de54125a92bb4d1c051c0659e6fcb75256bf799a732a87184e5ea503965bce3", + "sha256:61c5ad4043f791b61dd4752191d9f07f0ae412515d59ba8f005832a532f8736d", + "sha256:6374c452ff3ec675a8f46fd9ab25c4ad0ba590b71cf0656f8b6daa5202bca3fb", + "sha256:63cc132e40a2e084cf01adf0775b15ac515ba905d7dcca47e9a251819c575ef3", + "sha256:66108071e1b935240e74525006034333f98bcdb87ea116de573a6a0dccb6c039", + "sha256:6dfcb5ee8d4d50c06a51c2fffa6cff6272098ad6540aed1a76d15fb9318194d8", + "sha256:7c2875855b0ff77b2a64a0365e24455d9990730d6431b9e0ee18ad8acee13dbd", + "sha256:7eee9e7cea6adf3e3d24e304ac6b8300646e2a5d1cd3a3c2abed9101b0846761", + "sha256:800250ecdadb6d9c78eae4990da62743b857b470883fa27f652db8bdde7f6659", + "sha256:86976a1c5b25ae3f8ccae3a5306e443569ee3c3faf444dfd0f41cda24667ad57", + "sha256:8cd6d7cc958a3910f934ea8dbdf17b2364827bb4dafc38ce6eef6bb3d65ff09c", + "sha256:99df71520d25fade9db7c1076ac94eb994f4d2673ef2aa2e86ee039b6746d20c", + "sha256:a5a1595fe639f5988ba6a8e5bc9649af3baf26df3998a0abe56c02609392e0a4", + "sha256:ad5b65698ab28ed8d7f18790a0dc58005c7629f227be9ecc1072aa74c0c1d43a", + "sha256:b1d432e8d08679a40e2a6d8b2f9770a5c21793a6f9f47fdd52c5ce1948a5a8a9", + "sha256:b8661b0238a69d7aafe156b7fa86c44b881387509653fdf857bebc5e4008ad42", + "sha256:ba96630bc17c875161df3818780af30e43be9b166ce51c9a18c1feae342906c2", + "sha256:bc6b93f9b966093cb0fd62ff1a7e4c09e6d546ad7c1de191767baffc57628f39", + "sha256:c124333816c3a9b03fbeef3a9f230ba9a737e9e5bb4060aa2107a86cc0a497fc", + "sha256:cd8d0c3be0515c12fed0bdbae072551c8b54b7192c7b1fda0ba56059a0179698", + "sha256:d9c45366def9a3dd85a6454c0e7908f2b3b8e9c138f5dc38fed7ce720d8453ed", + "sha256:f00d1345d84d8c86a63e476bb4955e46458b304b9575dcf71102b5c705320015", + "sha256:f3a255b2c19987fbbe62a9dfd6cff7ff2aa9ccab3fc75218fd4b7530f01efa24", + "sha256:fffb8ae78d8af97f849404f21411c95062db1496aeb3e56f146f0355c9989319" + ], + "markers": "python_version >= '3.9'", + "version": "==2.2.3" + }, + "pika": { + "hashes": [ + "sha256:0779a7c1fafd805672796085560d290213a465e4f6f76a6fb19e378d8041a14f", + "sha256:b2a327ddddf8570b4965b3576ac77091b850262d34ce8c1d8cb4e4146aa4145f" + ], + "markers": "python_version >= '3.7'", + "version": "==1.3.2" + }, + "pydantic": { + "hashes": [ + "sha256:7f853db3d0ce78ce8bbb148c401c2cdd6431b3473c0cdff2755c7690952a7b7a", + "sha256:f9c26ba06f9747749ca1e5c94d6a85cb84254577553c8785576fd38fa64dc0f7" + ], + "markers": "python_version >= '3.9'", + "version": "==2.11.5" + }, + "pydantic-core": { + "hashes": [ + "sha256:0069c9acc3f3981b9ff4cdfaf088e98d83440a4c7ea1bc07460af3d4dc22e72d", + "sha256:031c57d67ca86902726e0fae2214ce6770bbe2f710dc33063187a68744a5ecac", + "sha256:0405262705a123b7ce9f0b92f123334d67b70fd1f20a9372b907ce1080c7ba02", + "sha256:04a1a413977ab517154eebb2d326da71638271477d6ad87a769102f7c2488c56", + "sha256:09fb9dd6571aacd023fe6aaca316bd01cf60ab27240d7eb39ebd66a3a15293b4", + "sha256:0a39979dcbb70998b0e505fb1556a1d550a0781463ce84ebf915ba293ccb7e22", + "sha256:0a9f2c9dd19656823cb8250b0724ee9c60a82f3cdf68a080979d13092a3b0fef", + "sha256:0e03262ab796d986f978f79c943fc5f620381be7287148b8010b4097f79a39ec", + "sha256:0e5b2671f05ba48b94cb90ce55d8bdcaaedb8ba00cc5359f6810fc918713983d", + "sha256:0e6116757f7959a712db11f3e9c0a99ade00a5bbedae83cb801985aa154f071b", + "sha256:0fb2d542b4d66f9470e8065c5469ec676978d625a8b7a363f07d9a501a9cb36a", + "sha256:1082dd3e2d7109ad8b7da48e1d4710c8d06c253cbc4a27c1cff4fbcaa97a9e3f", + "sha256:1a8695a8d00c73e50bff9dfda4d540b7dee29ff9b8053e38380426a85ef10052", + "sha256:1e063337ef9e9820c77acc768546325ebe04ee38b08703244c1309cccc4f1bab", + "sha256:1ea40a64d23faa25e62a70ad163571c0b342b8bf66d5fa612ac0dec4f069d916", + "sha256:2058a32994f1fde4ca0480ab9d1e75a0e8c87c22b53a3ae66554f9af78f2fe8c", + "sha256:235f45e5dbcccf6bd99f9f472858849f73d11120d76ea8707115415f8e5ebebf", + "sha256:2807668ba86cb38c6817ad9bc66215ab8584d1d304030ce4f0887336f28a5e27", + "sha256:2b0a451c263b01acebe51895bfb0e1cc842a5c666efe06cdf13846c7418caa9a", + "sha256:2b3d326aaef0c0399d9afffeb6367d5e26ddc24d351dbc9c636840ac355dc5d8", + "sha256:2bfb5112df54209d820d7bf9317c7a6c9025ea52e49f46b6a2060104bba37de7", + "sha256:2f82865531efd18d6e07a04a17331af02cb7a651583c418df8266f17a63c6612", + "sha256:329467cecfb529c925cf2bbd4d60d2c509bc2fb52a20c1045bf09bb70971a9c1", + "sha256:3a1c81334778f9e3af2f8aeb7a960736e5cab1dfebfb26aabca09afd2906c039", + "sha256:3abcd9392a36025e3bd55f9bd38d908bd17962cc49bc6da8e7e96285336e2bca", + "sha256:3c6db6e52c6d70aa0d00d45cdb9b40f0433b96380071ea80b09277dba021ddf7", + "sha256:3dc625f4aa79713512d1976fe9f0bc99f706a9dee21dfd1810b4bbbf228d0e8a", + "sha256:3eb3fe62804e8f859c49ed20a8451342de53ed764150cb14ca71357c765dc2a6", + "sha256:44857c3227d3fb5e753d5fe4a3420d6376fa594b07b621e220cd93703fe21782", + "sha256:4b25d91e288e2c4e0662b8038a28c6a07eaac3e196cfc4ff69de4ea3db992a1b", + "sha256:4c5b0a576fb381edd6d27f0a85915c6daf2f8138dc5c267a57c08a62900758c7", + "sha256:4e61206137cbc65e6d5256e1166f88331d3b6238e082d9f74613b9b765fb9025", + "sha256:52fb90784e0a242bb96ec53f42196a17278855b0f31ac7c3cc6f5c1ec4811849", + "sha256:53a57d2ed685940a504248187d5685e49eb5eef0f696853647bf37c418c538f7", + "sha256:572c7e6c8bb4774d2ac88929e3d1f12bc45714ae5ee6d9a788a9fb35e60bb04b", + "sha256:5c4aa4e82353f65e548c476b37e64189783aa5384903bfea4f41580f255fddfa", + "sha256:5c92edd15cd58b3c2d34873597a1e20f13094f59cf88068adb18947df5455b4e", + "sha256:5f483cfb75ff703095c59e365360cb73e00185e01aaea067cd19acffd2ab20ea", + "sha256:61c18fba8e5e9db3ab908620af374db0ac1baa69f0f32df4f61ae23f15e586ac", + "sha256:6368900c2d3ef09b69cb0b913f9f8263b03786e5b2a387706c5afb66800efd51", + "sha256:64632ff9d614e5eecfb495796ad51b0ed98c453e447a76bcbeeb69615079fc7e", + "sha256:65132b7b4a1c0beded5e057324b7e16e10910c106d43675d9bd87d4f38dde162", + "sha256:6b99022f1d19bc32a4c2a0d544fc9a76e3be90f0b3f4af413f87d38749300e65", + "sha256:6bdfe4b3789761f3bcb4b1ddf33355a71079858958e3a552f16d5af19768fef2", + "sha256:6fa6dfc3e4d1f734a34710f391ae822e0a8eb8559a85c6979e14e65ee6ba2954", + "sha256:73662edf539e72a9440129f231ed3757faab89630d291b784ca99237fb94db2b", + "sha256:73cf6373c21bc80b2e0dc88444f41ae60b2f070ed02095754eb5a01df12256de", + "sha256:7cb8bc3605c29176e1b105350d2e6474142d7c1bd1d9327c4a9bdb46bf827acc", + "sha256:7f92c15cd1e97d4b12acd1cc9004fa092578acfa57b67ad5e43a197175d01a64", + "sha256:82f68293f055f51b51ea42fafc74b6aad03e70e191799430b90c13d643059ebb", + "sha256:83aa99b1285bc8f038941ddf598501a86f1536789740991d7d8756e34f1e74d9", + "sha256:87acbfcf8e90ca885206e98359d7dca4bcbb35abdc0ff66672a293e1d7a19101", + "sha256:87b31b6846e361ef83fedb187bb5b4372d0da3f7e28d85415efa92d6125d6e6d", + "sha256:881b21b5549499972441da4758d662aeea93f1923f953e9cbaff14b8b9565aef", + "sha256:8d55ab81c57b8ff8548c3e4947f119551253f4e3787a7bbc0b6b3ca47498a9d3", + "sha256:8f57a69461af2a5fa6e6bbd7a5f60d3b7e6cebb687f55106933188e79ad155c1", + "sha256:95237e53bb015f67b63c91af7518a62a8660376a6a0db19b89acc77a4d6199f5", + "sha256:96081f1605125ba0855dfda83f6f3df5ec90c61195421ba72223de35ccfb2f88", + "sha256:970919794d126ba8645f3837ab6046fb4e72bbc057b3709144066204c19a455d", + "sha256:9cb1da0f5a471435a7bc7e439b8a728e8b61e59784b2af70d7c169f8dd8ae290", + "sha256:9fcd347d2cc5c23b06de6d3b7b8275be558a0c90549495c699e379a80bf8379e", + "sha256:9fdac5d6ffa1b5a83bca06ffe7583f5576555e6c8b3a91fbd25ea7780f825f7d", + "sha256:a11c8d26a50bfab49002947d3d237abe4d9e4b5bdc8846a63537b6488e197808", + "sha256:a144d4f717285c6d9234a66778059f33a89096dfb9b39117663fd8413d582dcc", + "sha256:a2b911a5b90e0374d03813674bf0a5fbbb7741570dcd4b4e85a2e48d17def29d", + "sha256:a7ec89dc587667f22b6a0b6579c249fca9026ce7c333fc142ba42411fa243cdc", + "sha256:aa9d91b338f2df0508606f7009fde642391425189bba6d8c653afd80fd6bb64e", + "sha256:b0379a2b24882fef529ec3b4987cb5d003b9cda32256024e6fe1586ac45fc640", + "sha256:bc7aee6f634a6f4a95676fcb5d6559a2c2a390330098dba5e5a5f28a2e4ada30", + "sha256:bdc25f3681f7b78572699569514036afe3c243bc3059d3942624e936ec93450e", + "sha256:c083a3bdd5a93dfe480f1125926afcdbf2917ae714bdb80b36d34318b2bec5d9", + "sha256:c20c462aa4434b33a2661701b861604913f912254e441ab8d78d30485736115a", + "sha256:c2fc0a768ef76c15ab9238afa6da7f69895bb5d1ee83aeea2e3509af4472d0b9", + "sha256:c52b02ad8b4e2cf14ca7b3d918f3eb0ee91e63b3167c32591e57c4317e134f8f", + "sha256:c54c939ee22dc8e2d545da79fc5381f1c020d6d3141d3bd747eab59164dc89fb", + "sha256:c8e7af2f4e0194c22b5b37205bfb293d166a7344a5b0d0eaccebc376546d77d5", + "sha256:cca3868ddfaccfbc4bfb1d608e2ccaaebe0ae628e1416aeb9c4d88c001bb45ab", + "sha256:d3f26877a748dc4251cfcfda9dfb5f13fcb034f5308388066bcfe9031b63ae7d", + "sha256:d53b22f2032c42eaaf025f7c40c2e3b94568ae077a606f006d206a463bc69572", + "sha256:d87c561733f66531dced0da6e864f44ebf89a8fba55f31407b00c2f7f9449593", + "sha256:d946c8bf0d5c24bf4fe333af284c59a19358aa3ec18cb3dc4370080da1e8ad29", + "sha256:dac89aea9af8cd672fa7b510e7b8c33b0bba9a43186680550ccf23020f32d535", + "sha256:db4b41f9bd95fbe5acd76d89920336ba96f03e149097365afe1cb092fceb89a1", + "sha256:dc46a01bf8d62f227d5ecee74178ffc448ff4e5197c756331f71efcc66dc980f", + "sha256:dd14041875d09cc0f9308e37a6f8b65f5585cf2598a53aa0123df8b129d481f8", + "sha256:de4b83bb311557e439b9e186f733f6c645b9417c84e2eb8203f3f820a4b988bf", + "sha256:e799c050df38a639db758c617ec771fd8fb7a5f8eaaa4b27b101f266b216a246", + "sha256:e80b087132752f6b3d714f041ccf74403799d3b23a72722ea2e6ba2e892555b9", + "sha256:eb8c529b2819c37140eb51b914153063d27ed88e3bdc31b71198a198e921e011", + "sha256:eb9b459ca4df0e5c87deb59d37377461a538852765293f9e6ee834f0435a93b9", + "sha256:efec8db3266b76ef9607c2c4c419bdb06bf335ae433b80816089ea7585816f6a", + "sha256:f481959862f57f29601ccced557cc2e817bce7533ab8e01a797a48b49c9692b3", + "sha256:f517ca031dfc037a9c07e748cefd8d96235088b83b4f4ba8939105d20fa1dcd6", + "sha256:f889f7a40498cc077332c7ab6b4608d296d852182211787d4f3ee377aaae66e8", + "sha256:f8de619080e944347f5f20de29a975c2d815d9ddd8be9b9b7268e2e3ef68605a", + "sha256:f941635f2a3d96b2973e867144fde513665c87f13fe0e193c158ac51bfaaa7b2", + "sha256:fa754d1850735a0b0e03bcffd9d4b4343eb417e47196e4485d9cca326073a42c", + "sha256:fa854f5cf7e33842a892e5c73f45327760bc7bc516339fda888c75ae60edaeb6", + "sha256:fe5b32187cbc0c862ee201ad66c30cf218e5ed468ec8dc1cf49dec66e160cc4d" + ], + "markers": "python_version >= '3.9'", + "version": "==2.33.2" + }, + "python-dateutil": { + "hashes": [ + "sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3", + "sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427" + ], + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", + "version": "==2.9.0.post0" + }, + "pytz": { + "hashes": [ + "sha256:360b9e3dbb49a209c21ad61809c7fb453643e048b38924c765813546746e81c3", + "sha256:5ddf76296dd8c44c26eb8f4b6f35488f3ccbf6fbbd7adee0b7262d43f0ec2f00" + ], + "version": "==2025.2" }, "requests": { "hashes": [ @@ -163,190 +431,226 @@ "index": "pypi", "version": "==2.32.3" }, + "six": { + "hashes": [ + "sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274", + "sha256:ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81" + ], + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", + "version": "==1.17.0" + }, + "typing-extensions": { + "hashes": [ + "sha256:a439e7c04b49fec3e5d3e2beaa21755cadbbdc391694e28ccdd36ca4a1408f8c", + "sha256:e6c81219bd689f51865d9e372991c540bda33a0379d5573cddb9a3a23f7caaef" + ], + "markers": "python_version >= '3.8'", + "version": "==4.13.2" + }, + "typing-inspection": { + "hashes": [ + "sha256:389055682238f53b04f7badcb49b989835495a96700ced5dab2d8feae4b26f51", + "sha256:6ae134cc0203c33377d43188d4064e9b357dba58cff3185f22924610e70a9d28" + ], + "markers": "python_version >= '3.9'", + "version": "==0.4.1" + }, + "tzdata": { + "hashes": [ + "sha256:1a403fada01ff9221ca8044d701868fa132215d84beb92242d9acd2147f667a8", + "sha256:b60a638fcc0daffadf82fe0f57e53d06bdec2f36c4df66280ae79bce6bd6f2b9" + ], + "markers": "python_version >= '2'", + "version": "==2025.2" + }, "urllib3": { "hashes": [ - "sha256:1cee9ad369867bfdbbb48b7dd50374c0967a0bb7710050facf0dd6911440e3df", - "sha256:f8c5449b3cf0861679ce7e0503c7b44b5ec981bec0d1d3795a07f1ba96f0204d" + "sha256:414bc6535b787febd7567804cc015fee39daab8ad86268f1310a9250697de466", + "sha256:4e16665048960a0900c702d4a66415956a584919c03361cac9f1df5c5dd7e813" ], "markers": "python_version >= '3.9'", - "version": "==2.3.0" + "version": "==2.4.0" } }, "develop": { "certifi": { "hashes": [ - "sha256:3d5da6925056f6f18f119200434a4780a94263f10d1c21d032a6f6b2baa20651", - "sha256:ca78db4565a652026a4db2bcdf68f2fb589ea80d0be70e03929ed730746b84fe" + "sha256:0a816057ea3cdefcef70270d2c515e4506bbc954f417fa5ade2021213bb8f0c6", + "sha256:30350364dfe371162649852c63336a15c70c6510c2ad5015b21c2345311805f3" ], "markers": "python_version >= '3.6'", - "version": "==2025.1.31" + "version": "==2025.4.26" }, "charset-normalizer": { "hashes": [ - "sha256:0167ddc8ab6508fe81860a57dd472b2ef4060e8d378f0cc555707126830f2537", - "sha256:01732659ba9b5b873fc117534143e4feefecf3b2078b0a6a2e925271bb6f4cfa", - "sha256:01ad647cdd609225c5350561d084b42ddf732f4eeefe6e678765636791e78b9a", - "sha256:04432ad9479fa40ec0f387795ddad4437a2b50417c69fa275e212933519ff294", - "sha256:0907f11d019260cdc3f94fbdb23ff9125f6b5d1039b76003b5b0ac9d6a6c9d5b", - "sha256:0924e81d3d5e70f8126529951dac65c1010cdf117bb75eb02dd12339b57749dd", - "sha256:09b26ae6b1abf0d27570633b2b078a2a20419c99d66fb2823173d73f188ce601", - "sha256:09b5e6733cbd160dcc09589227187e242a30a49ca5cefa5a7edd3f9d19ed53fd", - "sha256:0af291f4fe114be0280cdd29d533696a77b5b49cfde5467176ecab32353395c4", - "sha256:0f55e69f030f7163dffe9fd0752b32f070566451afe180f99dbeeb81f511ad8d", - "sha256:1a2bc9f351a75ef49d664206d51f8e5ede9da246602dc2d2726837620ea034b2", - "sha256:22e14b5d70560b8dd51ec22863f370d1e595ac3d024cb8ad7d308b4cd95f8313", - "sha256:234ac59ea147c59ee4da87a0c0f098e9c8d169f4dc2a159ef720f1a61bbe27cd", - "sha256:2369eea1ee4a7610a860d88f268eb39b95cb588acd7235e02fd5a5601773d4fa", - "sha256:237bdbe6159cff53b4f24f397d43c6336c6b0b42affbe857970cefbb620911c8", - "sha256:28bf57629c75e810b6ae989f03c0828d64d6b26a5e205535585f96093e405ed1", - "sha256:2967f74ad52c3b98de4c3b32e1a44e32975e008a9cd2a8cc8966d6a5218c5cb2", - "sha256:2a75d49014d118e4198bcee5ee0a6f25856b29b12dbf7cd012791f8a6cc5c496", - "sha256:2bdfe3ac2e1bbe5b59a1a63721eb3b95fc9b6817ae4a46debbb4e11f6232428d", - "sha256:2d074908e1aecee37a7635990b2c6d504cd4766c7bc9fc86d63f9c09af3fa11b", - "sha256:2fb9bd477fdea8684f78791a6de97a953c51831ee2981f8e4f583ff3b9d9687e", - "sha256:311f30128d7d333eebd7896965bfcfbd0065f1716ec92bd5638d7748eb6f936a", - "sha256:329ce159e82018d646c7ac45b01a430369d526569ec08516081727a20e9e4af4", - "sha256:345b0426edd4e18138d6528aed636de7a9ed169b4aaf9d61a8c19e39d26838ca", - "sha256:363e2f92b0f0174b2f8238240a1a30142e3db7b957a5dd5689b0e75fb717cc78", - "sha256:3a3bd0dcd373514dcec91c411ddb9632c0d7d92aed7093b8c3bbb6d69ca74408", - "sha256:3bed14e9c89dcb10e8f3a29f9ccac4955aebe93c71ae803af79265c9ca5644c5", - "sha256:44251f18cd68a75b56585dd00dae26183e102cd5e0f9f1466e6df5da2ed64ea3", - "sha256:44ecbf16649486d4aebafeaa7ec4c9fed8b88101f4dd612dcaf65d5e815f837f", - "sha256:4532bff1b8421fd0a320463030c7520f56a79c9024a4e88f01c537316019005a", - "sha256:49402233c892a461407c512a19435d1ce275543138294f7ef013f0b63d5d3765", - "sha256:4c0907b1928a36d5a998d72d64d8eaa7244989f7aaaf947500d3a800c83a3fd6", - "sha256:4d86f7aff21ee58f26dcf5ae81a9addbd914115cdebcbb2217e4f0ed8982e146", - "sha256:5777ee0881f9499ed0f71cc82cf873d9a0ca8af166dfa0af8ec4e675b7df48e6", - "sha256:5df196eb874dae23dcfb968c83d4f8fdccb333330fe1fc278ac5ceeb101003a9", - "sha256:619a609aa74ae43d90ed2e89bdd784765de0a25ca761b93e196d938b8fd1dbbd", - "sha256:6e27f48bcd0957c6d4cb9d6fa6b61d192d0b13d5ef563e5f2ae35feafc0d179c", - "sha256:6ff8a4a60c227ad87030d76e99cd1698345d4491638dfa6673027c48b3cd395f", - "sha256:73d94b58ec7fecbc7366247d3b0b10a21681004153238750bb67bd9012414545", - "sha256:7461baadb4dc00fd9e0acbe254e3d7d2112e7f92ced2adc96e54ef6501c5f176", - "sha256:75832c08354f595c760a804588b9357d34ec00ba1c940c15e31e96d902093770", - "sha256:7709f51f5f7c853f0fb938bcd3bc59cdfdc5203635ffd18bf354f6967ea0f824", - "sha256:78baa6d91634dfb69ec52a463534bc0df05dbd546209b79a3880a34487f4b84f", - "sha256:7974a0b5ecd505609e3b19742b60cee7aa2aa2fb3151bc917e6e2646d7667dcf", - "sha256:7a4f97a081603d2050bfaffdefa5b02a9ec823f8348a572e39032caa8404a487", - "sha256:7b1bef6280950ee6c177b326508f86cad7ad4dff12454483b51d8b7d673a2c5d", - "sha256:7d053096f67cd1241601111b698f5cad775f97ab25d81567d3f59219b5f1adbd", - "sha256:804a4d582ba6e5b747c625bf1255e6b1507465494a40a2130978bda7b932c90b", - "sha256:807f52c1f798eef6cf26beb819eeb8819b1622ddfeef9d0977a8502d4db6d534", - "sha256:80ed5e856eb7f30115aaf94e4a08114ccc8813e6ed1b5efa74f9f82e8509858f", - "sha256:8417cb1f36cc0bc7eaba8ccb0e04d55f0ee52df06df3ad55259b9a323555fc8b", - "sha256:8436c508b408b82d87dc5f62496973a1805cd46727c34440b0d29d8a2f50a6c9", - "sha256:89149166622f4db9b4b6a449256291dc87a99ee53151c74cbd82a53c8c2f6ccd", - "sha256:8bfa33f4f2672964266e940dd22a195989ba31669bd84629f05fab3ef4e2d125", - "sha256:8c60ca7339acd497a55b0ea5d506b2a2612afb2826560416f6894e8b5770d4a9", - "sha256:91b36a978b5ae0ee86c394f5a54d6ef44db1de0815eb43de826d41d21e4af3de", - "sha256:955f8851919303c92343d2f66165294848d57e9bba6cf6e3625485a70a038d11", - "sha256:97f68b8d6831127e4787ad15e6757232e14e12060bec17091b85eb1486b91d8d", - "sha256:9b23ca7ef998bc739bf6ffc077c2116917eabcc901f88da1b9856b210ef63f35", - "sha256:9f0b8b1c6d84c8034a44893aba5e767bf9c7a211e313a9605d9c617d7083829f", - "sha256:aabfa34badd18f1da5ec1bc2715cadc8dca465868a4e73a0173466b688f29dda", - "sha256:ab36c8eb7e454e34e60eb55ca5d241a5d18b2c6244f6827a30e451c42410b5f7", - "sha256:b010a7a4fd316c3c484d482922d13044979e78d1861f0e0650423144c616a46a", - "sha256:b1ac5992a838106edb89654e0aebfc24f5848ae2547d22c2c3f66454daa11971", - "sha256:b7b2d86dd06bfc2ade3312a83a5c364c7ec2e3498f8734282c6c3d4b07b346b8", - "sha256:b97e690a2118911e39b4042088092771b4ae3fc3aa86518f84b8cf6888dbdb41", - "sha256:bc2722592d8998c870fa4e290c2eec2c1569b87fe58618e67d38b4665dfa680d", - "sha256:c0429126cf75e16c4f0ad00ee0eae4242dc652290f940152ca8c75c3a4b6ee8f", - "sha256:c30197aa96e8eed02200a83fba2657b4c3acd0f0aa4bdc9f6c1af8e8962e0757", - "sha256:c4c3e6da02df6fa1410a7680bd3f63d4f710232d3139089536310d027950696a", - "sha256:c75cb2a3e389853835e84a2d8fb2b81a10645b503eca9bcb98df6b5a43eb8886", - "sha256:c96836c97b1238e9c9e3fe90844c947d5afbf4f4c92762679acfe19927d81d77", - "sha256:d7f50a1f8c450f3925cb367d011448c39239bb3eb4117c36a6d354794de4ce76", - "sha256:d973f03c0cb71c5ed99037b870f2be986c3c05e63622c017ea9816881d2dd247", - "sha256:d98b1668f06378c6dbefec3b92299716b931cd4e6061f3c875a71ced1780ab85", - "sha256:d9c3cdf5390dcd29aa8056d13e8e99526cda0305acc038b96b30352aff5ff2bb", - "sha256:dad3e487649f498dd991eeb901125411559b22e8d7ab25d3aeb1af367df5efd7", - "sha256:dccbe65bd2f7f7ec22c4ff99ed56faa1e9f785482b9bbd7c717e26fd723a1d1e", - "sha256:dd78cfcda14a1ef52584dbb008f7ac81c1328c0f58184bf9a84c49c605002da6", - "sha256:e218488cd232553829be0664c2292d3af2eeeb94b32bea483cf79ac6a694e037", - "sha256:e358e64305fe12299a08e08978f51fc21fac060dcfcddd95453eabe5b93ed0e1", - "sha256:ea0d8d539afa5eb2728aa1932a988a9a7af94f18582ffae4bc10b3fbdad0626e", - "sha256:eab677309cdb30d047996b36d34caeda1dc91149e4fdca0b1a039b3f79d9a807", - "sha256:eb8178fe3dba6450a3e024e95ac49ed3400e506fd4e9e5c32d30adda88cbd407", - "sha256:ecddf25bee22fe4fe3737a399d0d177d72bc22be6913acfab364b40bce1ba83c", - "sha256:eea6ee1db730b3483adf394ea72f808b6e18cf3cb6454b4d86e04fa8c4327a12", - "sha256:f08ff5e948271dc7e18a35641d2f11a4cd8dfd5634f55228b691e62b37125eb3", - "sha256:f30bf9fd9be89ecb2360c7d94a711f00c09b976258846efe40db3d05828e8089", - "sha256:fa88b843d6e211393a37219e6a1c1df99d35e8fd90446f1118f4216e307e48cd", - "sha256:fc54db6c8593ef7d4b2a331b58653356cf04f67c960f584edb7c3d8c97e8f39e", - "sha256:fd4ec41f914fa74ad1b8304bbc634b3de73d2a0889bd32076342a573e0779e00", - "sha256:ffc9202a29ab3920fa812879e95a9e78b2465fd10be7fcbd042899695d75e616" + "sha256:005fa3432484527f9732ebd315da8da8001593e2cf46a3d817669f062c3d9ed4", + "sha256:046595208aae0120559a67693ecc65dd75d46f7bf687f159127046628178dc45", + "sha256:0c29de6a1a95f24b9a1aa7aefd27d2487263f00dfd55a77719b530788f75cff7", + "sha256:0c8c57f84ccfc871a48a47321cfa49ae1df56cd1d965a09abe84066f6853b9c0", + "sha256:0f5d9ed7f254402c9e7d35d2f5972c9bbea9040e99cd2861bd77dc68263277c7", + "sha256:18dd2e350387c87dabe711b86f83c9c78af772c748904d372ade190b5c7c9d4d", + "sha256:1b1bde144d98e446b056ef98e59c256e9294f6b74d7af6846bf5ffdafd687a7d", + "sha256:1c95a1e2902a8b722868587c0e1184ad5c55631de5afc0eb96bc4b0d738092c0", + "sha256:1cad5f45b3146325bb38d6855642f6fd609c3f7cad4dbaf75549bf3b904d3184", + "sha256:21b2899062867b0e1fde9b724f8aecb1af14f2778d69aacd1a5a1853a597a5db", + "sha256:24498ba8ed6c2e0b56d4acbf83f2d989720a93b41d712ebd4f4979660db4417b", + "sha256:25a23ea5c7edc53e0f29bae2c44fcb5a1aa10591aae107f2a2b2583a9c5cbc64", + "sha256:289200a18fa698949d2b39c671c2cc7a24d44096784e76614899a7ccf2574b7b", + "sha256:28a1005facc94196e1fb3e82a3d442a9d9110b8434fc1ded7a24a2983c9888d8", + "sha256:32fc0341d72e0f73f80acb0a2c94216bd704f4f0bce10aedea38f30502b271ff", + "sha256:36b31da18b8890a76ec181c3cf44326bf2c48e36d393ca1b72b3f484113ea344", + "sha256:3c21d4fca343c805a52c0c78edc01e3477f6dd1ad7c47653241cf2a206d4fc58", + "sha256:3fddb7e2c84ac87ac3a947cb4e66d143ca5863ef48e4a5ecb83bd48619e4634e", + "sha256:43e0933a0eff183ee85833f341ec567c0980dae57c464d8a508e1b2ceb336471", + "sha256:4a476b06fbcf359ad25d34a057b7219281286ae2477cc5ff5e3f70a246971148", + "sha256:4e594135de17ab3866138f496755f302b72157d115086d100c3f19370839dd3a", + "sha256:50bf98d5e563b83cc29471fa114366e6806bc06bc7a25fd59641e41445327836", + "sha256:5a9979887252a82fefd3d3ed2a8e3b937a7a809f65dcb1e068b090e165bbe99e", + "sha256:5baececa9ecba31eff645232d59845c07aa030f0c81ee70184a90d35099a0e63", + "sha256:5bf4545e3b962767e5c06fe1738f951f77d27967cb2caa64c28be7c4563e162c", + "sha256:6333b3aa5a12c26b2a4d4e7335a28f1475e0e5e17d69d55141ee3cab736f66d1", + "sha256:65c981bdbd3f57670af8b59777cbfae75364b483fa8a9f420f08094531d54a01", + "sha256:68a328e5f55ec37c57f19ebb1fdc56a248db2e3e9ad769919a58672958e8f366", + "sha256:6a0289e4589e8bdfef02a80478f1dfcb14f0ab696b5a00e1f4b8a14a307a3c58", + "sha256:6b66f92b17849b85cad91259efc341dce9c1af48e2173bf38a85c6329f1033e5", + "sha256:6c9379d65defcab82d07b2a9dfbfc2e95bc8fe0ebb1b176a3190230a3ef0e07c", + "sha256:6fc1f5b51fa4cecaa18f2bd7a003f3dd039dd615cd69a2afd6d3b19aed6775f2", + "sha256:70f7172939fdf8790425ba31915bfbe8335030f05b9913d7ae00a87d4395620a", + "sha256:721c76e84fe669be19c5791da68232ca2e05ba5185575086e384352e2c309597", + "sha256:7222ffd5e4de8e57e03ce2cef95a4c43c98fcb72ad86909abdfc2c17d227fc1b", + "sha256:75d10d37a47afee94919c4fab4c22b9bc2a8bf7d4f46f87363bcf0573f3ff4f5", + "sha256:76af085e67e56c8816c3ccf256ebd136def2ed9654525348cfa744b6802b69eb", + "sha256:770cab594ecf99ae64c236bc9ee3439c3f46be49796e265ce0cc8bc17b10294f", + "sha256:7a6ab32f7210554a96cd9e33abe3ddd86732beeafc7a28e9955cdf22ffadbab0", + "sha256:7c48ed483eb946e6c04ccbe02c6b4d1d48e51944b6db70f697e089c193404941", + "sha256:7f56930ab0abd1c45cd15be65cc741c28b1c9a34876ce8c17a2fa107810c0af0", + "sha256:8075c35cd58273fee266c58c0c9b670947c19df5fb98e7b66710e04ad4e9ff86", + "sha256:8272b73e1c5603666618805fe821edba66892e2870058c94c53147602eab29c7", + "sha256:82d8fd25b7f4675d0c47cf95b594d4e7b158aca33b76aa63d07186e13c0e0ab7", + "sha256:844da2b5728b5ce0e32d863af26f32b5ce61bc4273a9c720a9f3aa9df73b1455", + "sha256:8755483f3c00d6c9a77f490c17e6ab0c8729e39e6390328e42521ef175380ae6", + "sha256:915f3849a011c1f593ab99092f3cecfcb4d65d8feb4a64cf1bf2d22074dc0ec4", + "sha256:926ca93accd5d36ccdabd803392ddc3e03e6d4cd1cf17deff3b989ab8e9dbcf0", + "sha256:982bb1e8b4ffda883b3d0a521e23abcd6fd17418f6d2c4118d257a10199c0ce3", + "sha256:98f862da73774290f251b9df8d11161b6cf25b599a66baf087c1ffe340e9bfd1", + "sha256:9cbfacf36cb0ec2897ce0ebc5d08ca44213af24265bd56eca54bee7923c48fd6", + "sha256:a370b3e078e418187da8c3674eddb9d983ec09445c99a3a263c2011993522981", + "sha256:a955b438e62efdf7e0b7b52a64dc5c3396e2634baa62471768a64bc2adb73d5c", + "sha256:aa6af9e7d59f9c12b33ae4e9450619cf2488e2bbe9b44030905877f0b2324980", + "sha256:aa88ca0b1932e93f2d961bf3addbb2db902198dca337d88c89e1559e066e7645", + "sha256:aaeeb6a479c7667fbe1099af9617c83aaca22182d6cf8c53966491a0f1b7ffb7", + "sha256:aaf27faa992bfee0264dc1f03f4c75e9fcdda66a519db6b957a3f826e285cf12", + "sha256:b2680962a4848b3c4f155dc2ee64505a9c57186d0d56b43123b17ca3de18f0fa", + "sha256:b2d318c11350e10662026ad0eb71bb51c7812fc8590825304ae0bdd4ac283acd", + "sha256:b33de11b92e9f75a2b545d6e9b6f37e398d86c3e9e9653c4864eb7e89c5773ef", + "sha256:b3daeac64d5b371dea99714f08ffc2c208522ec6b06fbc7866a450dd446f5c0f", + "sha256:be1e352acbe3c78727a16a455126d9ff83ea2dfdcbc83148d2982305a04714c2", + "sha256:bee093bf902e1d8fc0ac143c88902c3dfc8941f7ea1d6a8dd2bcb786d33db03d", + "sha256:c72fbbe68c6f32f251bdc08b8611c7b3060612236e960ef848e0a517ddbe76c5", + "sha256:c9e36a97bee9b86ef9a1cf7bb96747eb7a15c2f22bdb5b516434b00f2a599f02", + "sha256:cddf7bd982eaa998934a91f69d182aec997c6c468898efe6679af88283b498d3", + "sha256:cf713fe9a71ef6fd5adf7a79670135081cd4431c2943864757f0fa3a65b1fafd", + "sha256:d11b54acf878eef558599658b0ffca78138c8c3655cf4f3a4a673c437e67732e", + "sha256:d41c4d287cfc69060fa91cae9683eacffad989f1a10811995fa309df656ec214", + "sha256:d524ba3f1581b35c03cb42beebab4a13e6cdad7b36246bd22541fa585a56cccd", + "sha256:daac4765328a919a805fa5e2720f3e94767abd632ae410a9062dff5412bae65a", + "sha256:db4c7bf0e07fc3b7d89ac2a5880a6a8062056801b83ff56d8464b70f65482b6c", + "sha256:dc7039885fa1baf9be153a0626e337aa7ec8bf96b0128605fb0d77788ddc1681", + "sha256:dccab8d5fa1ef9bfba0590ecf4d46df048d18ffe3eec01eeb73a42e0d9e7a8ba", + "sha256:dedb8adb91d11846ee08bec4c8236c8549ac721c245678282dcb06b221aab59f", + "sha256:e45ba65510e2647721e35323d6ef54c7974959f6081b58d4ef5d87c60c84919a", + "sha256:e53efc7c7cee4c1e70661e2e112ca46a575f90ed9ae3fef200f2a25e954f4b28", + "sha256:e635b87f01ebc977342e2697d05b56632f5f879a4f15955dfe8cef2448b51691", + "sha256:e70e990b2137b29dc5564715de1e12701815dacc1d056308e2b17e9095372a82", + "sha256:e8082b26888e2f8b36a042a58307d5b917ef2b1cacab921ad3323ef91901c71a", + "sha256:e8323a9b031aa0393768b87f04b4164a40037fb2a3c11ac06a03ffecd3618027", + "sha256:e92fca20c46e9f5e1bb485887d074918b13543b1c2a1185e69bb8d17ab6236a7", + "sha256:eb30abc20df9ab0814b5a2524f23d75dcf83cde762c161917a2b4b7b55b1e518", + "sha256:eba9904b0f38a143592d9fc0e19e2df0fa2e41c3c3745554761c5f6447eedabf", + "sha256:ef8de666d6179b009dce7bcb2ad4c4a779f113f12caf8dc77f0162c29d20490b", + "sha256:efd387a49825780ff861998cd959767800d54f8308936b21025326de4b5a42b9", + "sha256:f0aa37f3c979cf2546b73e8222bbfa3dc07a641585340179d768068e3455e544", + "sha256:f4074c5a429281bf056ddd4c5d3b740ebca4d43ffffe2ef4bf4d2d05114299da", + "sha256:f69a27e45c43520f5487f27627059b64aaf160415589230992cec34c5e18a509", + "sha256:fb707f3e15060adf5b7ada797624a6c6e0138e2a26baa089df64c68ee98e040f", + "sha256:fcbe676a55d7445b22c10967bceaaf0ee69407fbe0ece4d032b6eb8d4565982a", + "sha256:fdb20a30fe1175ecabed17cbf7812f7b804b8a315a25f24678bcdf120a90077f" ], "markers": "python_version >= '3.7'", - "version": "==3.4.1" + "version": "==3.4.2" }, "coverage": { "hashes": [ - "sha256:00b2086892cf06c7c2d74983c9595dc511acca00665480b3ddff749ec4fb2a95", - "sha256:0533adc29adf6a69c1baa88c3d7dbcaadcffa21afbed3ca7a225a440e4744bf9", - "sha256:06097c7abfa611c91edb9e6920264e5be1d6ceb374efb4986f38b09eed4cb2fe", - "sha256:07e92ae5a289a4bc4c0aae710c0948d3c7892e20fd3588224ebe242039573bf0", - "sha256:0a9d8be07fb0832636a0f72b80d2a652fe665e80e720301fb22b191c3434d924", - "sha256:0e549f54ac5f301e8e04c569dfdb907f7be71b06b88b5063ce9d6953d2d58574", - "sha256:0ef01d70198431719af0b1f5dcbefc557d44a190e749004042927b2a3fed0702", - "sha256:0f16f44025c06792e0fb09571ae454bcc7a3ec75eeb3c36b025eccf501b1a4c3", - "sha256:14d47376a4f445e9743f6c83291e60adb1b127607a3618e3185bbc8091f0467b", - "sha256:1a936309a65cc5ca80fa9f20a442ff9e2d06927ec9a4f54bcba9c14c066323f2", - "sha256:1ceeb90c3eda1f2d8c4c578c14167dbd8c674ecd7d38e45647543f19839dd6ea", - "sha256:1f7ffa05da41754e20512202c866d0ebfc440bba3b0ed15133070e20bf5aeb5f", - "sha256:200e10beb6ddd7c3ded322a4186313d5ca9e63e33d8fab4faa67ef46d3460af3", - "sha256:220fa6c0ad7d9caef57f2c8771918324563ef0d8272c94974717c3909664e674", - "sha256:2251fabcfee0a55a8578a9d29cecfee5f2de02f11530e7d5c5a05859aa85aee9", - "sha256:2458f275944db8129f95d91aee32c828a408481ecde3b30af31d552c2ce284a0", - "sha256:299cf973a7abff87a30609879c10df0b3bfc33d021e1adabc29138a48888841e", - "sha256:2b996819ced9f7dbb812c701485d58f261bef08f9b85304d41219b1496b591ef", - "sha256:3688b99604a24492bcfe1c106278c45586eb819bf66a654d8a9a1433022fb2eb", - "sha256:3a1e465f398c713f1b212400b4e79a09829cd42aebd360362cd89c5bdc44eb87", - "sha256:488c27b3db0ebee97a830e6b5a3ea930c4a6e2c07f27a5e67e1b3532e76b9ef1", - "sha256:48cfc4641d95d34766ad41d9573cc0f22a48aa88d22657a1fe01dca0dbae4de2", - "sha256:4b467a8c56974bf06e543e69ad803c6865249d7a5ccf6980457ed2bc50312703", - "sha256:53c56358d470fa507a2b6e67a68fd002364d23c83741dbc4c2e0680d80ca227e", - "sha256:5d1095bbee1851269f79fd8e0c9b5544e4c00c0c24965e66d8cba2eb5bb535fd", - "sha256:641dfe0ab73deb7069fb972d4d9725bf11c239c309ce694dd50b1473c0f641c3", - "sha256:64cbb1a3027c79ca6310bf101014614f6e6e18c226474606cf725238cf5bc2d4", - "sha256:66fe626fd7aa5982cdebad23e49e78ef7dbb3e3c2a5960a2b53632f1f703ea45", - "sha256:676f92141e3c5492d2a1596d52287d0d963df21bf5e55c8b03075a60e1ddf8aa", - "sha256:69e62c5034291c845fc4df7f8155e8544178b6c774f97a99e2734b05eb5bed31", - "sha256:704c8c8c6ce6569286ae9622e534b4f5b9759b6f2cd643f1c1a61f666d534fe8", - "sha256:78f5243bb6b1060aed6213d5107744c19f9571ec76d54c99cc15938eb69e0e86", - "sha256:79cac3390bfa9836bb795be377395f28410811c9066bc4eefd8015258a7578c6", - "sha256:7ae6eabf519bc7871ce117fb18bf14e0e343eeb96c377667e3e5dd12095e0288", - "sha256:7e39e845c4d764208e7b8f6a21c541ade741e2c41afabdfa1caa28687a3c98cf", - "sha256:8161d9fbc7e9fe2326de89cd0abb9f3599bccc1287db0aba285cb68d204ce929", - "sha256:8bec2ac5da793c2685ce5319ca9bcf4eee683b8a1679051f8e6ec04c4f2fd7dc", - "sha256:959244a17184515f8c52dcb65fb662808767c0bd233c1d8a166e7cf74c9ea985", - "sha256:9b148068e881faa26d878ff63e79650e208e95cf1c22bd3f77c3ca7b1d9821a3", - "sha256:aa6f302a3a0b5f240ee201297fff0bbfe2fa0d415a94aeb257d8b461032389bd", - "sha256:ace9048de91293e467b44bce0f0381345078389814ff6e18dbac8fdbf896360e", - "sha256:ad7525bf0241e5502168ae9c643a2f6c219fa0a283001cee4cf23a9b7da75879", - "sha256:b01a840ecc25dce235ae4c1b6a0daefb2a203dba0e6e980637ee9c2f6ee0df57", - "sha256:b076e625396e787448d27a411aefff867db2bffac8ed04e8f7056b07024eed5a", - "sha256:b172f8e030e8ef247b3104902cc671e20df80163b60a203653150d2fc204d1ad", - "sha256:b1f097878d74fe51e1ddd1be62d8e3682748875b461232cf4b52ddc6e6db0bba", - "sha256:b95574d06aa9d2bd6e5cc35a5bbe35696342c96760b69dc4287dbd5abd4ad51d", - "sha256:bda1c5f347550c359f841d6614fb8ca42ae5cb0b74d39f8a1e204815ebe25750", - "sha256:cec6b9ce3bd2b7853d4a4563801292bfee40b030c05a3d29555fd2a8ee9bd68c", - "sha256:d1a987778b9c71da2fc8948e6f2656da6ef68f59298b7e9786849634c35d2c3c", - "sha256:d74c08e9aaef995f8c4ef6d202dbd219c318450fe2a76da624f2ebb9c8ec5d9f", - "sha256:e18aafdfb3e9ec0d261c942d35bd7c28d031c5855dadb491d2723ba54f4c3015", - "sha256:e216c5c45f89ef8971373fd1c5d8d1164b81f7f5f06bbf23c37e7908d19e8558", - "sha256:e695df2c58ce526eeab11a2e915448d3eb76f75dffe338ea613c1201b33bab2f", - "sha256:e7575ab65ca8399c8c4f9a7d61bbd2d204c8b8e447aab9d355682205c9dd948d", - "sha256:e995b3b76ccedc27fe4f477b349b7d64597e53a43fc2961db9d3fbace085d69d", - "sha256:ea31689f05043d520113e0552f039603c4dd71fa4c287b64cb3606140c66f425", - "sha256:eb5507795caabd9b2ae3f1adc95f67b1104971c22c624bb354232d65c4fc90b3", - "sha256:eb8668cfbc279a536c633137deeb9435d2962caec279c3f8cf8b91fff6ff8953", - "sha256:ecea0c38c9079570163d663c0433a9af4094a60aafdca491c6a3d248c7432827", - "sha256:f25d8b92a4e31ff1bd873654ec367ae811b3a943583e05432ea29264782dc32c", - "sha256:f60a297c3987c6c02ffb29effc70eadcbb412fe76947d394a1091a3615948e2f", - "sha256:f973643ef532d4f9be71dd88cf7588936685fdb576d93a79fe9f65bc337d9d73" + "sha256:00f2e2f2e37f47e5f54423aeefd6c32a7dbcedc033fcd3928a4f4948e8b96af7", + "sha256:05364b9cc82f138cc86128dc4e2e1251c2981a2218bfcd556fe6b0fbaa3501be", + "sha256:0774df1e093acb6c9e4d58bce7f86656aeed6c132a16e2337692c12786b32404", + "sha256:07a989c867986c2a75f158f03fdb413128aad29aca9d4dbce5fc755672d96f11", + "sha256:0bdc8bf760459a4a4187b452213e04d039990211f98644c7292adf1e471162b5", + "sha256:0e49824808d4375ede9dd84e9961a59c47f9113039f1a525e6be170aa4f5c34d", + "sha256:145b07bea229821d51811bf15eeab346c236d523838eda395ea969d120d13347", + "sha256:159b81df53a5fcbc7d45dae3adad554fdbde9829a994e15227b3f9d816d00b36", + "sha256:1676628065a498943bd3f64f099bb573e08cf1bc6088bbe33cf4424e0876f4b3", + "sha256:1aec326ed237e5880bfe69ad41616d333712c7937bcefc1343145e972938f9b3", + "sha256:1e1448bb72b387755e1ff3ef1268a06617afd94188164960dba8d0245a46004b", + "sha256:1efa4166ba75ccefd647f2d78b64f53f14fb82622bc94c5a5cb0a622f50f1c9e", + "sha256:26a4636ddb666971345541b59899e969f3b301143dd86b0ddbb570bd591f1e85", + "sha256:2bd0a0a5054be160777a7920b731a0570284db5142abaaf81bcbb282b8d99279", + "sha256:2c08b05ee8d7861e45dc5a2cc4195c8c66dca5ac613144eb6ebeaff2d502e73d", + "sha256:2db10dedeb619a771ef0e2949ccba7b75e33905de959c2643a4607bef2f3fb3a", + "sha256:2f9bc608fbafaee40eb60a9a53dbfb90f53cc66d3d32c2849dc27cf5638a21e3", + "sha256:34759ee2c65362163699cc917bdb2a54114dd06d19bab860725f94ef45a3d9b7", + "sha256:3da9b771c98977a13fbc3830f6caa85cae6c9c83911d24cb2d218e9394259c57", + "sha256:3f5673888d3676d0a745c3d0e16da338c5eea300cb1f4ada9c872981265e76d8", + "sha256:4000a31c34932e7e4fa0381a3d6deb43dc0c8f458e3e7ea6502e6238e10be625", + "sha256:43ff5033d657cd51f83015c3b7a443287250dc14e69910577c3e03bd2e06f27b", + "sha256:46d532db4e5ff3979ce47d18e2fe8ecad283eeb7367726da0e5ef88e4fe64740", + "sha256:496948261eaac5ac9cf43f5d0a9f6eb7a6d4cb3bedb2c5d294138142f5c18f2a", + "sha256:4c26c2396674816deaeae7ded0e2b42c26537280f8fe313335858ffff35019be", + "sha256:5040536cf9b13fb033f76bcb5e1e5cb3b57c4807fef37db9e0ed129c6a094257", + "sha256:546e537d9e24efc765c9c891328f30f826e3e4808e31f5d0f87c4ba12bbd1622", + "sha256:5e818796f71702d7a13e50c70de2a1924f729228580bcba1607cccf32eea46e6", + "sha256:5feb7f2c3e6ea94d3b877def0270dff0947b8d8c04cfa34a17be0a4dc1836879", + "sha256:641988828bc18a6368fe72355df5f1703e44411adbe49bba5644b941ce6f2e3a", + "sha256:670a13249b957bb9050fab12d86acef7bf8f6a879b9d1a883799276e0d4c674a", + "sha256:6782a12bf76fa61ad9350d5a6ef5f3f020b57f5e6305cbc663803f2ebd0f270a", + "sha256:684ca9f58119b8e26bef860db33524ae0365601492e86ba0b71d513f525e7050", + "sha256:6e6c86888fd076d9e0fe848af0a2142bf606044dc5ceee0aa9eddb56e26895a0", + "sha256:726f32ee3713f7359696331a18daf0c3b3a70bb0ae71141b9d3c52be7c595e32", + "sha256:76090fab50610798cc05241bf83b603477c40ee87acd358b66196ab0ca44ffa1", + "sha256:8165584ddedb49204c4e18da083913bdf6a982bfb558632a79bdaadcdafd0d48", + "sha256:820157de3a589e992689ffcda8639fbabb313b323d26388d02e154164c57b07f", + "sha256:8369a7c8ef66bded2b6484053749ff220dbf83cba84f3398c84c51a6f748a008", + "sha256:86a323a275e9e44cdf228af9b71c5030861d4d2610886ab920d9945672a81223", + "sha256:876cbfd0b09ce09d81585d266c07a32657beb3eaec896f39484b631555be0fe2", + "sha256:8966a821e2083c74d88cca5b7dcccc0a3a888a596a04c0b9668a891de3a0cc53", + "sha256:8ab4a51cb39dc1933ba627e0875046d150e88478dbe22ce145a68393e9652975", + "sha256:8e1a26e7e50076e35f7afafde570ca2b4d7900a491174ca357d29dece5aacee7", + "sha256:94316e13f0981cbbba132c1f9f365cac1d26716aaac130866ca812006f662199", + "sha256:9a990f6510b3292686713bfef26d0049cd63b9c7bb17e0864f133cbfd2e6167f", + "sha256:9fe449ee461a3b0c7105690419d0b0aba1232f4ff6d120a9e241e58a556733f7", + "sha256:a886d531373a1f6ff9fad2a2ba4a045b68467b779ae729ee0b3b10ac20033b27", + "sha256:ab9b09a2349f58e73f8ebc06fac546dd623e23b063e5398343c5270072e3201c", + "sha256:b039ffddc99ad65d5078ef300e0c7eed08c270dc26570440e3ef18beb816c1ca", + "sha256:b069938961dfad881dc2f8d02b47645cd2f455d3809ba92a8a687bf513839787", + "sha256:b99058eef42e6a8dcd135afb068b3d53aff3921ce699e127602efff9956457a9", + "sha256:bd8ec21e1443fd7a447881332f7ce9d35b8fbd2849e761bb290b584535636b0a", + "sha256:bf8111cddd0f2b54d34e96613e7fbdd59a673f0cf5574b61134ae75b6f5a33b8", + "sha256:c9392773cffeb8d7e042a7b15b82a414011e9d2b5fdbbd3f7e6a6b17d5e21b20", + "sha256:cb86337a4fcdd0e598ff2caeb513ac604d2f3da6d53df2c8e368e07ee38e277d", + "sha256:da23ce9a3d356d0affe9c7036030b5c8f14556bd970c9b224f9c8205505e3b99", + "sha256:dc67994df9bcd7e0150a47ef41278b9e0a0ea187caba72414b71dc590b99a108", + "sha256:de77c3ba8bb686d1c411e78ee1b97e6e0b963fb98b1637658dd9ad2c875cf9d7", + "sha256:e2f6fe3654468d061942591aef56686131335b7a8325684eda85dacdf311356c", + "sha256:e6ea7dba4e92926b7b5f0990634b78ea02f208d04af520c73a7c876d5a8d36cb", + "sha256:e6fcbbd35a96192d042c691c9e0c49ef54bd7ed865846a3c9d624c30bb67ce46", + "sha256:ea561010914ec1c26ab4188aef8b1567272ef6de096312716f90e5baa79ef8ca", + "sha256:eacd2de0d30871eff893bab0b67840a96445edcb3c8fd915e6b11ac4b2f3fa6d", + "sha256:ec455eedf3ba0bbdf8f5a570012617eb305c63cb9f03428d39bf544cb2b94837", + "sha256:ef2f22795a7aca99fc3c84393a55a53dd18ab8c93fb431004e4d8f0774150f54", + "sha256:fd51355ab8a372d89fb0e6a31719e825cf8df8b6724bee942fb5b92c3f016ba3" ], "index": "pypi", - "version": "==7.6.12" + "version": "==7.8.2" }, "docker": { "hashes": [ @@ -358,82 +662,64 @@ }, "greenlet": { "hashes": [ - "sha256:0153404a4bb921f0ff1abeb5ce8a5131da56b953eda6e14b88dc6bbc04d2049e", - "sha256:03a088b9de532cbfe2ba2034b2b85e82df37874681e8c470d6fb2f8c04d7e4b7", - "sha256:04b013dc07c96f83134b1e99888e7a79979f1a247e2a9f59697fa14b5862ed01", - "sha256:05175c27cb459dcfc05d026c4232f9de8913ed006d42713cb8a5137bd49375f1", - "sha256:09fc016b73c94e98e29af67ab7b9a879c307c6731a2c9da0db5a7d9b7edd1159", - "sha256:0bbae94a29c9e5c7e4a2b7f0aae5c17e8e90acbfd3bf6270eeba60c39fce3563", - "sha256:0fde093fb93f35ca72a556cf72c92ea3ebfda3d79fc35bb19fbe685853869a83", - "sha256:1443279c19fca463fc33e65ef2a935a5b09bb90f978beab37729e1c3c6c25fe9", - "sha256:1776fd7f989fc6b8d8c8cb8da1f6b82c5814957264d1f6cf818d475ec2bf6395", - "sha256:1d3755bcb2e02de341c55b4fca7a745a24a9e7212ac953f6b3a48d117d7257aa", - "sha256:23f20bb60ae298d7d8656c6ec6db134bca379ecefadb0b19ce6f19d1f232a942", - "sha256:275f72decf9932639c1c6dd1013a1bc266438eb32710016a1c742df5da6e60a1", - "sha256:2846930c65b47d70b9d178e89c7e1a69c95c1f68ea5aa0a58646b7a96df12441", - "sha256:3319aa75e0e0639bc15ff54ca327e8dc7a6fe404003496e3c6925cd3142e0e22", - "sha256:346bed03fe47414091be4ad44786d1bd8bef0c3fcad6ed3dee074a032ab408a9", - "sha256:36b89d13c49216cadb828db8dfa6ce86bbbc476a82d3a6c397f0efae0525bdd0", - "sha256:37b9de5a96111fc15418819ab4c4432e4f3c2ede61e660b1e33971eba26ef9ba", - "sha256:396979749bd95f018296af156201d6211240e7a23090f50a8d5d18c370084dc3", - "sha256:3b2813dc3de8c1ee3f924e4d4227999285fd335d1bcc0d2be6dc3f1f6a318ec1", - "sha256:411f015496fec93c1c8cd4e5238da364e1da7a124bcb293f085bf2860c32c6f6", - "sha256:47da355d8687fd65240c364c90a31569a133b7b60de111c255ef5b606f2ae291", - "sha256:48ca08c771c268a768087b408658e216133aecd835c0ded47ce955381105ba39", - "sha256:4afe7ea89de619adc868e087b4d2359282058479d7cfb94970adf4b55284574d", - "sha256:4ce3ac6cdb6adf7946475d7ef31777c26d94bccc377e070a7986bd2d5c515467", - "sha256:4ead44c85f8ab905852d3de8d86f6f8baf77109f9da589cb4fa142bd3b57b475", - "sha256:54558ea205654b50c438029505def3834e80f0869a70fb15b871c29b4575ddef", - "sha256:5e06afd14cbaf9e00899fae69b24a32f2196c19de08fcb9f4779dd4f004e5e7c", - "sha256:62ee94988d6b4722ce0028644418d93a52429e977d742ca2ccbe1c4f4a792511", - "sha256:63e4844797b975b9af3a3fb8f7866ff08775f5426925e1e0bbcfe7932059a12c", - "sha256:6510bf84a6b643dabba74d3049ead221257603a253d0a9873f55f6a59a65f822", - "sha256:667a9706c970cb552ede35aee17339a18e8f2a87a51fba2ed39ceeeb1004798a", - "sha256:6ef9ea3f137e5711f0dbe5f9263e8c009b7069d8a1acea822bd5e9dae0ae49c8", - "sha256:7017b2be767b9d43cc31416aba48aab0d2309ee31b4dbf10a1d38fb7972bdf9d", - "sha256:7124e16b4c55d417577c2077be379514321916d5790fa287c9ed6f23bd2ffd01", - "sha256:73aaad12ac0ff500f62cebed98d8789198ea0e6f233421059fa68a5aa7220145", - "sha256:77c386de38a60d1dfb8e55b8c1101d68c79dfdd25c7095d51fec2dd800892b80", - "sha256:7876452af029456b3f3549b696bb36a06db7c90747740c5302f74a9e9fa14b13", - "sha256:7939aa3ca7d2a1593596e7ac6d59391ff30281ef280d8632fa03d81f7c5f955e", - "sha256:8320f64b777d00dd7ccdade271eaf0cad6636343293a25074cc5566160e4de7b", - "sha256:85f3ff71e2e60bd4b4932a043fbbe0f499e263c628390b285cb599154a3b03b1", - "sha256:8b8b36671f10ba80e159378df9c4f15c14098c4fd73a36b9ad715f057272fbef", - "sha256:93147c513fac16385d1036b7e5b102c7fbbdb163d556b791f0f11eada7ba65dc", - "sha256:935e943ec47c4afab8965954bf49bfa639c05d4ccf9ef6e924188f762145c0ff", - "sha256:94b6150a85e1b33b40b1464a3f9988dcc5251d6ed06842abff82e42632fac120", - "sha256:94ebba31df2aa506d7b14866fed00ac141a867e63143fe5bca82a8e503b36437", - "sha256:95ffcf719966dd7c453f908e208e14cde192e09fde6c7186c8f1896ef778d8cd", - "sha256:98884ecf2ffb7d7fe6bd517e8eb99d31ff7855a840fa6d0d63cd07c037f6a981", - "sha256:99cfaa2110534e2cf3ba31a7abcac9d328d1d9f1b95beede58294a60348fba36", - "sha256:9e8f8c9cb53cdac7ba9793c276acd90168f416b9ce36799b9b885790f8ad6c0a", - "sha256:a0dfc6c143b519113354e780a50381508139b07d2177cb6ad6a08278ec655798", - "sha256:b2795058c23988728eec1f36a4e5e4ebad22f8320c85f3587b539b9ac84128d7", - "sha256:b42703b1cf69f2aa1df7d1030b9d77d3e584a70755674d60e710f0af570f3761", - "sha256:b7cede291382a78f7bb5f04a529cb18e068dd29e0fb27376074b6d0317bf4dd0", - "sha256:b8a678974d1f3aa55f6cc34dc480169d58f2e6d8958895d68845fa4ab566509e", - "sha256:b8da394b34370874b4572676f36acabac172602abf054cbc4ac910219f3340af", - "sha256:c3a701fe5a9695b238503ce5bbe8218e03c3bcccf7e204e455e7462d770268aa", - "sha256:c4aab7f6381f38a4b42f269057aee279ab0fc7bf2e929e3d4abfae97b682a12c", - "sha256:ca9d0ff5ad43e785350894d97e13633a66e2b50000e8a183a50a88d834752d42", - "sha256:d0028e725ee18175c6e422797c407874da24381ce0690d6b9396c204c7f7276e", - "sha256:d21e10da6ec19b457b82636209cbe2331ff4306b54d06fa04b7c138ba18c8a81", - "sha256:d5e975ca70269d66d17dd995dafc06f1b06e8cb1ec1e9ed54c1d1e4a7c4cf26e", - "sha256:da7a9bff22ce038e19bf62c4dd1ec8391062878710ded0a845bcf47cc0200617", - "sha256:db32b5348615a04b82240cc67983cb315309e88d444a288934ee6ceaebcad6cc", - "sha256:dcc62f31eae24de7f8dce72134c8651c58000d3b1868e01392baea7c32c247de", - "sha256:dfc59d69fc48664bc693842bd57acfdd490acafda1ab52c7836e3fc75c90a111", - "sha256:e347b3bfcf985a05e8c0b7d462ba6f15b1ee1c909e2dcad795e49e91b152c383", - "sha256:e4d333e558953648ca09d64f13e6d8f0523fa705f51cae3f03b5983489958c70", - "sha256:ed10eac5830befbdd0c32f83e8aa6288361597550ba669b04c48f0f9a2c843c6", - "sha256:efc0f674aa41b92da8c49e0346318c6075d734994c3c4e4430b1c3f853e498e4", - "sha256:f1695e76146579f8c06c1509c7ce4dfe0706f49c6831a817ac04eebb2fd02011", - "sha256:f1d4aeb8891338e60d1ab6127af1fe45def5259def8094b9c7e34690c8858803", - "sha256:f406b22b7c9a9b4f8aa9d2ab13d6ae0ac3e85c9a809bd590ad53fed2bf70dc79", - "sha256:f6ff3b14f2df4c41660a7dec01045a045653998784bf8cfcb5a525bdffffbc8f" + "sha256:00cd814b8959b95a546e47e8d589610534cfb71f19802ea8a2ad99d95d702057", + "sha256:02a98600899ca1ca5d3a2590974c9e3ec259503b2d6ba6527605fcd74e08e207", + "sha256:02f5972ff02c9cf615357c17ab713737cccfd0eaf69b951084a9fd43f39833d3", + "sha256:055916fafad3e3388d27dd68517478933a97edc2fc54ae79d3bec827de2c64c4", + "sha256:0a16fb934fcabfdfacf21d79e6fed81809d8cd97bc1be9d9c89f0e4567143d7b", + "sha256:1592a615b598643dbfd566bac8467f06c8c8ab6e56f069e573832ed1d5d528cc", + "sha256:1919cbdc1c53ef739c94cf2985056bcc0838c1f217b57647cbf4578576c63825", + "sha256:1e4747712c4365ef6765708f948acc9c10350719ca0545e362c24ab973017370", + "sha256:1e76106b6fc55fa3d6fe1c527f95ee65e324a13b62e243f77b48317346559708", + "sha256:1f72667cc341c95184f1c68f957cb2d4fc31eef81646e8e59358a10ce6689457", + "sha256:2593283bf81ca37d27d110956b79e8723f9aa50c4bcdc29d3c0543d4743d2763", + "sha256:2dc5c43bb65ec3669452af0ab10729e8fdc17f87a1f2ad7ec65d4aaaefabf6bf", + "sha256:3091bc45e6b0c73f225374fefa1536cd91b1e987377b12ef5b19129b07d93ebe", + "sha256:354f67445f5bed6604e493a06a9a49ad65675d3d03477d38a4db4a427e9aad0e", + "sha256:3885f85b61798f4192d544aac7b25a04ece5fe2704670b4ab73c2d2c14ab740d", + "sha256:3ab7194ee290302ca15449f601036007873028712e92ca15fc76597a0aeb4c59", + "sha256:3aeca9848d08ce5eb653cf16e15bb25beeab36e53eb71cc32569f5f3afb2a3aa", + "sha256:44671c29da26539a5f142257eaba5110f71887c24d40df3ac87f1117df589e0e", + "sha256:45f9f4853fb4cc46783085261c9ec4706628f3b57de3e68bae03e8f8b3c0de51", + "sha256:4bd139e4943547ce3a56ef4b8b1b9479f9e40bb47e72cc906f0f66b9d0d5cab3", + "sha256:4fefc7aa68b34b9224490dfda2e70ccf2131368493add64b4ef2d372955c207e", + "sha256:6629311595e3fe7304039c67f00d145cd1d38cf723bb5b99cc987b23c1433d61", + "sha256:6fadd183186db360b61cb34e81117a096bff91c072929cd1b529eb20dd46e6c5", + "sha256:71566302219b17ca354eb274dfd29b8da3c268e41b646f330e324e3967546a74", + "sha256:7409796591d879425997a518138889d8d17e63ada7c99edc0d7a1c22007d4907", + "sha256:752f0e79785e11180ebd2e726c8a88109ded3e2301d40abced2543aa5d164275", + "sha256:7791dcb496ec53d60c7f1c78eaa156c21f402dda38542a00afc3e20cae0f480f", + "sha256:782743700ab75716650b5238a4759f840bb2dcf7bff56917e9ffdf9f1f23ec59", + "sha256:7c9896249fbef2c615853b890ee854f22c671560226c9221cfd27c995db97e5c", + "sha256:85f3e248507125bf4af607a26fd6cb8578776197bd4b66e35229cdf5acf1dfbf", + "sha256:89c69e9a10670eb7a66b8cef6354c24671ba241f46152dd3eed447f79c29fb5b", + "sha256:8cb8553ee954536500d88a1a2f58fcb867e45125e600e80f586ade399b3f8819", + "sha256:9ae572c996ae4b5e122331e12bbb971ea49c08cc7c232d1bd43150800a2d6c65", + "sha256:9c7b15fb9b88d9ee07e076f5a683027bc3befd5bb5d25954bb633c385d8b737e", + "sha256:9ea5231428af34226c05f927e16fc7f6fa5e39e3ad3cd24ffa48ba53a47f4240", + "sha256:a31ead8411a027c2c4759113cf2bd473690517494f3d6e4bf67064589afcd3c5", + "sha256:a8fa80665b1a29faf76800173ff5325095f3e66a78e62999929809907aca5659", + "sha256:ad053d34421a2debba45aa3cc39acf454acbcd025b3fc1a9f8a0dee237abd485", + "sha256:b24c7844c0a0afc3ccbeb0b807adeefb7eff2b5599229ecedddcfeb0ef333bec", + "sha256:b50a8c5c162469c3209e5ec92ee4f95c8231b11db6a04db09bbe338176723bb8", + "sha256:ba30e88607fb6990544d84caf3c706c4b48f629e18853fc6a646f82db9629418", + "sha256:bf3fc9145141250907730886b031681dfcc0de1c158f3cc51c092223c0f381ce", + "sha256:c23ea227847c9dbe0b3910f5c0dd95658b607137614eb821e6cbaecd60d81cc6", + "sha256:c3cc1a3ed00ecfea8932477f729a9f616ad7347a5e55d50929efa50a86cb7be7", + "sha256:c49e9f7c6f625507ed83a7485366b46cbe325717c60837f7244fc99ba16ba9d6", + "sha256:d0cb7d47199001de7658c213419358aa8937df767936506db0db7ce1a71f4a2f", + "sha256:d8009ae46259e31bc73dc183e402f548e980c96f33a6ef58cc2e7865db012e13", + "sha256:da956d534a6d1b9841f95ad0f18ace637668f680b1339ca4dcfb2c1837880a0b", + "sha256:dcb9cebbf3f62cb1e5afacae90761ccce0effb3adaa32339a0670fe7805d8068", + "sha256:decb0658ec19e5c1f519faa9a160c0fc85a41a7e6654b3ce1b44b939f8bf1325", + "sha256:df4d1509efd4977e6a844ac96d8be0b9e5aa5d5c77aa27ca9f4d3f92d3fcf330", + "sha256:eeb27bece45c0c2a5842ac4c5a1b5c2ceaefe5711078eed4e8043159fa05c834", + "sha256:efcdfb9df109e8a3b475c016f60438fcd4be68cd13a365d42b35914cdab4bb2b", + "sha256:fd9fb7c941280e2c837b603850efc93c999ae58aae2b40765ed682a6907ebbc5", + "sha256:fe46d4f8e94e637634d54477b0cfabcf93c53f29eedcbdeecaf2af32029b4421" ], "markers": "python_version < '3.14' and platform_machine == 'aarch64' or (platform_machine == 'ppc64le' or (platform_machine == 'x86_64' or (platform_machine == 'amd64' or (platform_machine == 'AMD64' or (platform_machine == 'win32' or platform_machine == 'WIN32')))))", - "version": "==3.1.1" + "version": "==3.2.2" }, "idna": { "hashes": [ @@ -445,27 +731,27 @@ }, "iniconfig": { "hashes": [ - "sha256:2d91e135bf72d31a410b17c16da610a82cb55f6b0477d1a902134b24a455b8b3", - "sha256:b6a85871a79d2e3b22d2d1b94ac2824226a63c6b741c88f7ae975f18b6778374" + "sha256:3abbd2e30b36733fee78f9c7f7308f2d0050e88f0087fd25c2645f63c773e1c7", + "sha256:9deba5723312380e77435581c6bf4935c94cbfab9b1ed33ef8d238ea168eb760" ], - "markers": "python_version >= '3.7'", - "version": "==2.0.0" + "markers": "python_version >= '3.8'", + "version": "==2.1.0" }, "packaging": { "hashes": [ - "sha256:09abb1bccd265c01f4a3aa3f7a7db064b36514d2cba19a2f694fe6150451a759", - "sha256:c228a6dc5e932d346bc5739379109d49e8853dd8223571c7c5b55260edc0b97f" + "sha256:29572ef2b1f17581046b3a2227d5c611fb25ec70ca1ba8554b24b0e69331a484", + "sha256:d443872c98d677bf60f6a1f2f8c1cb748e8fe762d2bf9d3148b5599295b0fc4f" ], "markers": "python_version >= '3.8'", - "version": "==24.2" + "version": "==25.0" }, "pluggy": { "hashes": [ - "sha256:2cffa88e94fdc978c4c574f15f9e59b7f4201d439195c3715ca9e2486f1d0cf1", - "sha256:44e1ad92c8ca002de6377e165f3e0f1be63266ab4d554740532335b9d75ea669" + "sha256:7dcc130b76258d33b90f61b658791dede3486c3e6bfb003ee5c9bfb396dd22f3", + "sha256:e920276dd6813095e9377c0bc5566d94c932c33b27a3e3945d8389c374dd4746" ], - "markers": "python_version >= '3.8'", - "version": "==1.5.0" + "markers": "python_version >= '3.9'", + "version": "==1.6.0" }, "pymysql": { "hashes": [ @@ -477,11 +763,11 @@ }, "pytest": { "hashes": [ - "sha256:50e16d954148559c9a74109af1eaf0c945ba2d8f30f0a3d3335edde19788b6f6", - "sha256:965370d062bce11e73868e0335abac31b4d3de0e82f4007408d242b4f8610761" + "sha256:c69214aa47deac29fad6c2a4f590b9c4a9fdb16a403176fe154b79c0b4d4d820", + "sha256:f4efe70cc14e511565ac476b57c279e12a855b11f48f212af1080ef2263d3845" ], "index": "pypi", - "version": "==8.3.4" + "version": "==8.3.5" }, "requests": { "hashes": [ @@ -501,66 +787,66 @@ }, "sqlalchemy": { "hashes": [ - "sha256:0398361acebb42975deb747a824b5188817d32b5c8f8aba767d51ad0cc7bb08d", - "sha256:0561832b04c6071bac3aad45b0d3bb6d2c4f46a8409f0a7a9c9fa6673b41bc03", - "sha256:07258341402a718f166618470cde0c34e4cec85a39767dce4e24f61ba5e667ea", - "sha256:0a826f21848632add58bef4f755a33d45105d25656a0c849f2dc2df1c71f6f50", - "sha256:1052723e6cd95312f6a6eff9a279fd41bbae67633415373fdac3c430eca3425d", - "sha256:12d5b06a1f3aeccf295a5843c86835033797fea292c60e72b07bcb5d820e6dd3", - "sha256:12f5c9ed53334c3ce719155424dc5407aaa4f6cadeb09c5b627e06abb93933a1", - "sha256:2a0ef3f98175d77180ffdc623d38e9f1736e8d86b6ba70bff182a7e68bed7727", - "sha256:2f2951dc4b4f990a4b394d6b382accb33141d4d3bd3ef4e2b27287135d6bdd68", - "sha256:3868acb639c136d98107c9096303d2d8e5da2880f7706f9f8c06a7f961961149", - "sha256:386b7d136919bb66ced64d2228b92d66140de5fefb3c7df6bd79069a269a7b06", - "sha256:3d3043375dd5bbcb2282894cbb12e6c559654c67b5fffb462fda815a55bf93f7", - "sha256:3e35d5565b35b66905b79ca4ae85840a8d40d31e0b3e2990f2e7692071b179ca", - "sha256:402c2316d95ed90d3d3c25ad0390afa52f4d2c56b348f212aa9c8d072a40eee5", - "sha256:40310db77a55512a18827488e592965d3dec6a3f1e3d8af3f8243134029daca3", - "sha256:40e9cdbd18c1f84631312b64993f7d755d85a3930252f6276a77432a2b25a2f3", - "sha256:49aa2cdd1e88adb1617c672a09bf4ebf2f05c9448c6dbeba096a3aeeb9d4d443", - "sha256:57dd41ba32430cbcc812041d4de8d2ca4651aeefad2626921ae2a23deb8cd6ff", - "sha256:5dba1cdb8f319084f5b00d41207b2079822aa8d6a4667c0f369fce85e34b0c86", - "sha256:5e1d9e429028ce04f187a9f522818386c8b076723cdbe9345708384f49ebcec6", - "sha256:63178c675d4c80def39f1febd625a6333f44c0ba269edd8a468b156394b27753", - "sha256:6493bc0eacdbb2c0f0d260d8988e943fee06089cd239bd7f3d0c45d1657a70e2", - "sha256:64aa8934200e222f72fcfd82ee71c0130a9c07d5725af6fe6e919017d095b297", - "sha256:665255e7aae5f38237b3a6eae49d2358d83a59f39ac21036413fab5d1e810578", - "sha256:6db316d6e340f862ec059dc12e395d71f39746a20503b124edc255973977b728", - "sha256:70065dfabf023b155a9c2a18f573e47e6ca709b9e8619b2e04c54d5bcf193178", - "sha256:8455aa60da49cb112df62b4721bd8ad3654a3a02b9452c783e651637a1f21fa2", - "sha256:8b0ac78898c50e2574e9f938d2e5caa8fe187d7a5b69b65faa1ea4648925b096", - "sha256:8bf312ed8ac096d674c6aa9131b249093c1b37c35db6a967daa4c84746bc1bc9", - "sha256:92f99f2623ff16bd4aaf786ccde759c1f676d39c7bf2855eb0b540e1ac4530c8", - "sha256:9c8bcad7fc12f0cc5896d8e10fdf703c45bd487294a986903fe032c72201596b", - "sha256:9cd136184dd5f58892f24001cdce986f5d7e96059d004118d5410671579834a4", - "sha256:9eb4fa13c8c7a2404b6a8e3772c17a55b1ba18bc711e25e4d6c0c9f5f541b02a", - "sha256:a2bc4e49e8329f3283d99840c136ff2cd1a29e49b5624a46a290f04dff48e079", - "sha256:a5645cd45f56895cfe3ca3459aed9ff2d3f9aaa29ff7edf557fa7a23515a3725", - "sha256:a9afbc3909d0274d6ac8ec891e30210563b2c8bdd52ebbda14146354e7a69373", - "sha256:aa498d1392216fae47eaf10c593e06c34476ced9549657fca713d0d1ba5f7248", - "sha256:afd776cf1ebfc7f9aa42a09cf19feadb40a26366802d86c1fba080d8e5e74bdd", - "sha256:b335a7c958bc945e10c522c069cd6e5804f4ff20f9a744dd38e748eb602cbbda", - "sha256:b3c4817dff8cef5697f5afe5fec6bc1783994d55a68391be24cb7d80d2dbc3a6", - "sha256:b79ee64d01d05a5476d5cceb3c27b5535e6bb84ee0f872ba60d9a8cd4d0e6579", - "sha256:b87a90f14c68c925817423b0424381f0e16d80fc9a1a1046ef202ab25b19a444", - "sha256:bf89e0e4a30714b357f5d46b6f20e0099d38b30d45fa68ea48589faf5f12f62d", - "sha256:c058b84c3b24812c859300f3b5abf300daa34df20d4d4f42e9652a4d1c48c8a4", - "sha256:c09a6ea87658695e527104cf857c70f79f14e9484605e205217aae0ec27b45fc", - "sha256:c57b8e0841f3fce7b703530ed70c7c36269c6d180ea2e02e36b34cb7288c50c7", - "sha256:c9cea5b756173bb86e2235f2f871b406a9b9d722417ae31e5391ccaef5348f2c", - "sha256:cb39ed598aaf102251483f3e4675c5dd6b289c8142210ef76ba24aae0a8f8aba", - "sha256:e036549ad14f2b414c725349cce0772ea34a7ab008e9cd67f9084e4f371d1f32", - "sha256:e185ea07a99ce8b8edfc788c586c538c4b1351007e614ceb708fd01b095ef33e", - "sha256:e5a4d82bdb4bf1ac1285a68eab02d253ab73355d9f0fe725a97e1e0fa689decb", - "sha256:eae27ad7580529a427cfdd52c87abb2dfb15ce2b7a3e0fc29fbb63e2ed6f8120", - "sha256:ecef029b69843b82048c5b347d8e6049356aa24ed644006c9a9d7098c3bd3bfd", - "sha256:ee3bee874cb1fadee2ff2b79fc9fc808aa638670f28b2145074538d4a6a5028e", - "sha256:f0d3de936b192980209d7b5149e3c98977c3810d401482d05fb6d668d53c1c63", - "sha256:f53c0d6a859b2db58332e0e6a921582a02c1677cc93d4cbb36fdf49709b327b2", - "sha256:f9d57f1b3061b3e21476b0ad5f0397b112b94ace21d1f439f2db472e568178ae" + "sha256:023b3ee6169969beea3bb72312e44d8b7c27c75b347942d943cf49397b7edeb5", + "sha256:03968a349db483936c249f4d9cd14ff2c296adfa1290b660ba6516f973139582", + "sha256:05132c906066142103b83d9c250b60508af556982a385d96c4eaa9fb9720ac2b", + "sha256:087b6b52de812741c27231b5a3586384d60c353fbd0e2f81405a814b5591dc8b", + "sha256:0b3dbf1e7e9bc95f4bac5e2fb6d3fb2f083254c3fdd20a1789af965caf2d2348", + "sha256:118c16cd3f1b00c76d69343e38602006c9cfb9998fa4f798606d28d63f23beda", + "sha256:1936af879e3db023601196a1684d28e12f19ccf93af01bf3280a3262c4b6b4e5", + "sha256:1e3f196a0c59b0cae9a0cd332eb1a4bda4696e863f4f1cf84ab0347992c548c2", + "sha256:23a8825495d8b195c4aa9ff1c430c28f2c821e8c5e2d98089228af887e5d7e29", + "sha256:293cd444d82b18da48c9f71cd7005844dbbd06ca19be1ccf6779154439eec0b8", + "sha256:32f9dc8c44acdee06c8fc6440db9eae8b4af8b01e4b1aee7bdd7241c22edff4f", + "sha256:34ea30ab3ec98355235972dadc497bb659cc75f8292b760394824fab9cf39826", + "sha256:3d3549fc3e40667ec7199033a4e40a2f669898a00a7b18a931d3efb4c7900504", + "sha256:41836fe661cc98abfae476e14ba1906220f92c4e528771a8a3ae6a151242d2ae", + "sha256:4d44522480e0bf34c3d63167b8cfa7289c1c54264c2950cc5fc26e7850967e45", + "sha256:4eeb195cdedaf17aab6b247894ff2734dcead6c08f748e617bfe05bd5a218443", + "sha256:4f67766965996e63bb46cfbf2ce5355fc32d9dd3b8ad7e536a920ff9ee422e23", + "sha256:57df5dc6fdb5ed1a88a1ed2195fd31927e705cad62dedd86b46972752a80f576", + "sha256:598d9ebc1e796431bbd068e41e4de4dc34312b7aa3292571bb3674a0cb415dd1", + "sha256:5b14e97886199c1f52c14629c11d90c11fbb09e9334fa7bb5f6d068d9ced0ce0", + "sha256:5e22575d169529ac3e0a120cf050ec9daa94b6a9597993d1702884f6954a7d71", + "sha256:60c578c45c949f909a4026b7807044e7e564adf793537fc762b2489d522f3d11", + "sha256:6145afea51ff0af7f2564a05fa95eb46f542919e6523729663a5d285ecb3cf5e", + "sha256:6375cd674fe82d7aa9816d1cb96ec592bac1726c11e0cafbf40eeee9a4516b5f", + "sha256:6854175807af57bdb6425e47adbce7d20a4d79bbfd6f6d6519cd10bb7109a7f8", + "sha256:6ab60a5089a8f02009f127806f777fca82581c49e127f08413a66056bd9166dd", + "sha256:725875a63abf7c399d4548e686debb65cdc2549e1825437096a0af1f7e374814", + "sha256:7492967c3386df69f80cf67efd665c0f667cee67032090fe01d7d74b0e19bb08", + "sha256:81965cc20848ab06583506ef54e37cf15c83c7e619df2ad16807c03100745dea", + "sha256:81c24e0c0fde47a9723c81d5806569cddef103aebbf79dbc9fcbb617153dea30", + "sha256:81eedafa609917040d39aa9332e25881a8e7a0862495fcdf2023a9667209deda", + "sha256:81f413674d85cfd0dfcd6512e10e0f33c19c21860342a4890c3a2b59479929f9", + "sha256:8280856dd7c6a68ab3a164b4a4b1c51f7691f6d04af4d4ca23d6ecf2261b7923", + "sha256:82ca366a844eb551daff9d2e6e7a9e5e76d2612c8564f58db6c19a726869c1df", + "sha256:8b4af17bda11e907c51d10686eda89049f9ce5669b08fbe71a29747f1e876036", + "sha256:90144d3b0c8b139408da50196c5cad2a6909b51b23df1f0538411cd23ffa45d3", + "sha256:906e6b0d7d452e9a98e5ab8507c0da791856b2380fdee61b765632bb8698026f", + "sha256:90c11ceb9a1f482c752a71f203a81858625d8df5746d787a4786bca4ffdf71c6", + "sha256:911cc493ebd60de5f285bcae0491a60b4f2a9f0f5c270edd1c4dbaef7a38fc04", + "sha256:9a420a91913092d1e20c86a2f5f1fc85c1a8924dbcaf5e0586df8aceb09c9cc2", + "sha256:9f8c9fdd15a55d9465e590a402f42082705d66b05afc3ffd2d2eb3c6ba919560", + "sha256:a104c5694dfd2d864a6f91b0956eb5d5883234119cb40010115fd45a16da5e70", + "sha256:a373a400f3e9bac95ba2a06372c4fd1412a7cee53c37fc6c05f829bf672b8769", + "sha256:a62448526dd9ed3e3beedc93df9bb6b55a436ed1474db31a2af13b313a70a7e1", + "sha256:a8808d5cf866c781150d36a3c8eb3adccfa41a8105d031bf27e92c251e3969d6", + "sha256:b1f09b6821406ea1f94053f346f28f8215e293344209129a9c0fcc3578598d7b", + "sha256:b2ac41acfc8d965fb0c464eb8f44995770239668956dc4cdf502d1b1ffe0d747", + "sha256:b46fa6eae1cd1c20e6e6f44e19984d438b6b2d8616d21d783d150df714f44078", + "sha256:b50eab9994d64f4a823ff99a0ed28a6903224ddbe7fef56a6dd865eec9243440", + "sha256:bfc9064f6658a3d1cadeaa0ba07570b83ce6801a1314985bf98ec9b95d74e15f", + "sha256:c0b0e5e1b5d9f3586601048dd68f392dc0cc99a59bb5faf18aab057ce00d00b2", + "sha256:c153265408d18de4cc5ded1941dcd8315894572cddd3c58df5d5b5705b3fa28d", + "sha256:d4ae769b9c1c7757e4ccce94b0641bc203bbdf43ba7a2413ab2523d8d047d8dc", + "sha256:dc56c9788617b8964ad02e8fcfeed4001c1f8ba91a9e1f31483c0dffb207002a", + "sha256:dd5ec3aa6ae6e4d5b5de9357d2133c07be1aff6405b136dad753a16afb6717dd", + "sha256:edba70118c4be3c2b1f90754d308d0b79c6fe2c0fdc52d8ddf603916f83f4db9", + "sha256:ff8e80c4c4932c10493ff97028decfdb622de69cae87e0f127a7ebe32b4069c6" ], "markers": "python_version >= '3.7'", - "version": "==2.0.38" + "version": "==2.0.41" }, "testcontainers-core": { "hashes": [ @@ -578,19 +864,19 @@ }, "typing-extensions": { "hashes": [ - "sha256:04e5ca0351e0f3f85c6853954072df659d0d13fac324d0072316b67d7794700d", - "sha256:1a7ead55c7e559dd4dee8856e3a88b41225abfe1ce8df57b7c13915fe121ffb8" + "sha256:a439e7c04b49fec3e5d3e2beaa21755cadbbdc391694e28ccdd36ca4a1408f8c", + "sha256:e6c81219bd689f51865d9e372991c540bda33a0379d5573cddb9a3a23f7caaef" ], "markers": "python_version >= '3.8'", - "version": "==4.12.2" + "version": "==4.13.2" }, "urllib3": { "hashes": [ - "sha256:1cee9ad369867bfdbbb48b7dd50374c0967a0bb7710050facf0dd6911440e3df", - "sha256:f8c5449b3cf0861679ce7e0503c7b44b5ec981bec0d1d3795a07f1ba96f0204d" + "sha256:414bc6535b787febd7567804cc015fee39daab8ad86268f1310a9250697de466", + "sha256:4e16665048960a0900c702d4a66415956a584919c03361cac9f1df5c5dd7e813" ], "markers": "python_version >= '3.9'", - "version": "==2.3.0" + "version": "==2.4.0" }, "wrapt": { "hashes": [ diff --git a/dbrepo-auth-service/init/app.py b/dbrepo-auth-service/init/app.py index 64a0e53ba1e2ebf6c6a179636798e78de0b7df78..3c9bf9d1d24e93220326ff6190e8cd32ff27f245 100644 --- a/dbrepo-auth-service/init/app.py +++ b/dbrepo-auth-service/init/app.py @@ -1,8 +1,50 @@ +import logging import os import mariadb from requests import post, get +logging.addLevelName(level=logging.NOTSET, levelName='TRACE') +logging.basicConfig(level=logging.DEBUG) + +from logging.config import dictConfig + +# logging configuration +dictConfig({ + 'version': 1, + 'formatters': { + 'default': { + 'format': '[%(asctime)s] %(levelname)s in %(module)s: %(message)s', + }, + 'simple': { + 'format': '[%(asctime)s] [%(levelname)s] %(message)s', + }, + "ecs": { + "()": "ecs_logging.StdlibFormatter" + }, + }, + 'handlers': { + 'console': { + 'class': 'logging.StreamHandler', + 'stream': 'ext://sys.stdout', + 'formatter': 'simple' + }, + 'file': { + 'class': 'logging.handlers.TimedRotatingFileHandler', + 'formatter': 'ecs', + 'filename': '/var/log/app/service/auth/init.log', + 'when': 'm', + 'interval': 1, + 'backupCount': 5, + 'encoding': 'utf8' + }, + }, + 'root': { + 'level': 'DEBUG', + 'handlers': ['console', 'file'] + } +}) + def fetch_keycloak_master_access_token() -> str: """ @@ -22,7 +64,7 @@ def fetch_keycloak_master_access_token() -> str: def fetch(username) -> (str, str): - print(f'Fetching user id of internal user with username: {username}') + logging.debug(f'fetching user id of internal user with username: {username}') endpoint = os.getenv('AUTH_SERVICE_ENDPOINT', 'http://localhost:8080') response = get(url=f'{endpoint}/admin/realms/dbrepo/users/?username={username}', headers=dict({ 'Authorization': f'Bearer {fetch_keycloak_master_access_token()}' @@ -31,7 +73,7 @@ def fetch(username) -> (str, str): raise FileNotFoundError(f'Failed to obtain user') ldap_user = response.json()[0] user_id = ldap_user["id"] - print(f'Successfully fetched user id: {user_id}') + logging.debug(f'obtained user id for username {username} from auth service: {user_id}') if 'attributes' not in ldap_user or ldap_user['attributes'] is None: raise ModuleNotFoundError(f'Failed to obtain user attributes: {ldap_user}') ldap_user_attrs = ldap_user['attributes'] @@ -40,7 +82,6 @@ def fetch(username) -> (str, str): if len(ldap_user_attrs['LDAP_ID']) != 1: raise EnvironmentError(f'Failed to obtain ldap id: wrong length {len(ldap_user_attrs["LDAP_ID"])} != 1') ldap_user_id = ldap_user_attrs['LDAP_ID'][0] - print(f'Successfully fetched ldap user id: {ldap_user_id}') return (ldap_user_id, user_id) @@ -56,7 +97,7 @@ def save(user_id: str, keycloak_id: str, username: str) -> None: (user_id, keycloak_id, username)) conn.commit() conn.close() - print(f'Successfully inserted user: {username}') + logging.info(f'Successfully inserted user: {username}') if __name__ == '__main__': diff --git a/dbrepo-search-service/lib/dbrepo-1.8.2-py3-none-any.whl b/dbrepo-auth-service/init/lib/dbrepo-1.9.0-py3-none-any.whl similarity index 70% rename from dbrepo-search-service/lib/dbrepo-1.8.2-py3-none-any.whl rename to dbrepo-auth-service/init/lib/dbrepo-1.9.0-py3-none-any.whl index 48beeb5ebf61c7cca654e0ee66343fac70bb4d53..23950d61fc98e36a15c4a8ed9c452e86446b589b 100644 Binary files a/dbrepo-search-service/lib/dbrepo-1.8.2-py3-none-any.whl and b/dbrepo-auth-service/init/lib/dbrepo-1.9.0-py3-none-any.whl differ diff --git a/dbrepo-auth-service/init/lib/dbrepo-1.9.0.tar.gz b/dbrepo-auth-service/init/lib/dbrepo-1.9.0.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..b24c628496a5d2753bebe080118cba5237390e28 Binary files /dev/null and b/dbrepo-auth-service/init/lib/dbrepo-1.9.0.tar.gz differ diff --git a/dbrepo-auth-service/listeners/create-event-listener.jar b/dbrepo-auth-service/listeners/create-event-listener.jar new file mode 100644 index 0000000000000000000000000000000000000000..58ae18d12de1331078787969009290c78ef64c3b Binary files /dev/null and b/dbrepo-auth-service/listeners/create-event-listener.jar differ diff --git a/dbrepo-dashboard-service/Pipfile b/dbrepo-dashboard-service/Pipfile index 52e7bf373129b51535c5fb3205b4f537e1f642de..16c8e368dbe6d91aa758c446cf0d7b0bbd0765de 100644 --- a/dbrepo-dashboard-service/Pipfile +++ b/dbrepo-dashboard-service/Pipfile @@ -12,11 +12,12 @@ prometheus-flask-exporter = "*" python-dotenv = "~=1.0" jwt = "~=1.3" pytest = "*" -dbrepo = {path = "./lib/dbrepo-1.8.2.tar.gz"} +dbrepo = {path = "./lib/dbrepo-1.9.0.tar.gz"} gunicorn = "*" pydantic = "*" flask_httpauth = "*" grafana-client = "*" +ecs_logging = "*" [dev-packages] coverage = "*" diff --git a/dbrepo-dashboard-service/Pipfile.lock b/dbrepo-dashboard-service/Pipfile.lock index 9c02ba5f1c284db4332ebc333a0dd50df26210de..67f5e0bc72120fed75aaf8e3322321e40dc694eb 100644 --- a/dbrepo-dashboard-service/Pipfile.lock +++ b/dbrepo-dashboard-service/Pipfile.lock @@ -1,7 +1,7 @@ { "_meta": { "hash": { - "sha256": "422a07d8107ead238fa1aaf9e6abfabab2d4eed49e272823aa08e6525708c525" + "sha256": "3b53fdc68c4705c6d377819efb99c8c60517b7d75ae1a40b3f9be1240d175dc0" }, "pipfile-spec": 6, "requires": { @@ -118,7 +118,7 @@ "sha256:f7f5baafcc48261359e14bcd6d9bff6d4b28d9103847c9e136694cb0501aef87", "sha256:fc48c783f9c87e60831201f2cce7f3b2e4846bf4d8728eabe54d60700b318a0b" ], - "markers": "python_version >= '3.8'", + "markers": "platform_python_implementation != 'PyPy'", "version": "==1.17.1" }, "charset-normalizer": { @@ -221,60 +221,70 @@ }, "click": { "hashes": [ - "sha256:63c132bbbed01578a06712a2d1f497bb62d9c1c0d329b7903a866228027263b2", - "sha256:ed53c9d8990d83c2a27deae68e4ee337473f6330c040a31d4225c9574d16096a" + "sha256:27c491cc05d968d271d5a1db13e3b5a184636d9d930f148c50b038f0d0646202", + "sha256:61a3265b914e850b85317d0b3109c7f8cd35a670f963866005d6ef1d5175a12b" ], - "markers": "python_version >= '3.7'", - "version": "==8.1.8" + "markers": "python_version >= '3.10'", + "version": "==8.2.1" }, "cryptography": { "hashes": [ - "sha256:02f55fb4f8b79c1221b0961488eaae21015b69b210e18c386b69de182ebb1259", - "sha256:157f1f3b8d941c2bd8f3ffee0af9b049c9665c39d3da9db2dc338feca5e98a43", - "sha256:192ed30fac1728f7587c6f4613c29c584abdc565d7417c13904708db10206645", - "sha256:21a83f6f35b9cc656d71b5de8d519f566df01e660ac2578805ab245ffd8523f8", - "sha256:25cd194c39fa5a0aa4169125ee27d1172097857b27109a45fadc59653ec06f44", - "sha256:3883076d5c4cc56dbef0b898a74eb6992fdac29a7b9013870b34efe4ddb39a0d", - "sha256:3bb0847e6363c037df8f6ede57d88eaf3410ca2267fb12275370a76f85786a6f", - "sha256:3be3f649d91cb182c3a6bd336de8b61a0a71965bd13d1a04a0e15b39c3d5809d", - "sha256:3f07943aa4d7dad689e3bb1638ddc4944cc5e0921e3c227486daae0e31a05e54", - "sha256:479d92908277bed6e1a1c69b277734a7771c2b78633c224445b5c60a9f4bc1d9", - "sha256:4ffc61e8f3bf5b60346d89cd3d37231019c17a081208dfbbd6e1605ba03fa137", - "sha256:5639c2b16764c6f76eedf722dbad9a0914960d3489c0cc38694ddf9464f1bb2f", - "sha256:58968d331425a6f9eedcee087f77fd3c927c88f55368f43ff7e0a19891f2642c", - "sha256:5d186f32e52e66994dce4f766884bcb9c68b8da62d61d9d215bfe5fb56d21334", - "sha256:5d20cc348cca3a8aa7312f42ab953a56e15323800ca3ab0706b8cd452a3a056c", - "sha256:6866df152b581f9429020320e5eb9794c8780e90f7ccb021940d7f50ee00ae0b", - "sha256:7d5fe7195c27c32a64955740b949070f21cba664604291c298518d2e255931d2", - "sha256:896530bc9107b226f265effa7ef3f21270f18a2026bc09fed1ebd7b66ddf6375", - "sha256:962bc30480a08d133e631e8dfd4783ab71cc9e33d5d7c1e192f0b7c06397bb88", - "sha256:978631ec51a6bbc0b7e58f23b68a8ce9e5f09721940933e9c217068388789fe5", - "sha256:9b4d4a5dbee05a2c390bf212e78b99434efec37b17a4bff42f50285c5c8c9647", - "sha256:ab0b005721cc0039e885ac3503825661bd9810b15d4f374e473f8c89b7d5460c", - "sha256:af653022a0c25ef2e3ffb2c673a50e5a0d02fecc41608f4954176f1933b12359", - "sha256:b0cc66c74c797e1db750aaa842ad5b8b78e14805a9b5d1348dc603612d3e3ff5", - "sha256:b424563394c369a804ecbee9b06dfb34997f19d00b3518e39f83a5642618397d", - "sha256:c138abae3a12a94c75c10499f1cbae81294a6f983b3af066390adee73f433028", - "sha256:c6cd67722619e4d55fdb42ead64ed8843d64638e9c07f4011163e46bc512cf01", - "sha256:c91fc8e8fd78af553f98bc7f2a1d8db977334e4eea302a4bfd75b9461c2d8904", - "sha256:cad399780053fb383dc067475135e41c9fe7d901a97dd5d9c5dfb5611afc0d7d", - "sha256:cb90f60e03d563ca2445099edf605c16ed1d5b15182d21831f58460c48bffb93", - "sha256:dad80b45c22e05b259e33ddd458e9e2ba099c86ccf4e88db7bbab4b747b18d06", - "sha256:dd3db61b8fe5be220eee484a17233287d0be6932d056cf5738225b9c05ef4fff", - "sha256:e28d62e59a4dbd1d22e747f57d4f00c459af22181f0b2f787ea83f5a876d7c76", - "sha256:e909df4053064a97f1e6565153ff8bb389af12c5c8d29c343308760890560aff", - "sha256:f3ffef566ac88f75967d7abd852ed5f182da252d23fac11b4766da3957766759", - "sha256:fc3c9babc1e1faefd62704bb46a69f359a9819eb0292e40df3fb6e3574715cd4", - "sha256:fe19d8bc5536a91a24a8133328880a41831b6c5df54599a8417b62fe015d3053" + "sha256:057723b79752a142efbc609e90b0dff27b0361ccbee3bd48312d70f5cdf53b78", + "sha256:05c2385b1f5c89a17df19900cfb1345115a77168f5ed44bdf6fd3de1ce5cc65b", + "sha256:08281de408e7eb71ba3cd5098709a356bfdf65eebd7ee7633c3610f0aa80d79b", + "sha256:10d68763892a7b19c22508ab57799c4423c7c8cd61d7eee4c5a6a55a46511949", + "sha256:1655d3a76e3dedb683c982a6c3a2cbfae2d08f47a48ec5a3d58db52b3d29ea6f", + "sha256:18f8084b7ca3ce1b8d38bdfe33c48116edf9a08b4d056ef4a96dceaa36d8d965", + "sha256:2cb03a944a1a412724d15a7c051d50e63a868031f26b6a312f2016965b661942", + "sha256:4142e20c29224cec63e9e32eb1e6014fb285fe39b7be66b3564ca978a3a8afe9", + "sha256:463096533acd5097f8751115bc600b0b64620c4aafcac10c6d0041e6e68f88fe", + "sha256:48caa55c528617fa6db1a9c3bf2e37ccb31b73e098ac2b71408d1f2db551dde4", + "sha256:49af56491473231159c98c2c26f1a8f3799a60e5cf0e872d00745b858ddac9d2", + "sha256:4cc31c66411e14dd70e2f384a9204a859dc25b05e1f303df0f5326691061b839", + "sha256:501de1296b2041dccf2115e3c7d4947430585601b251b140970ce255c5cfb985", + "sha256:59c0c8f043dd376bbd9d4f636223836aed50431af4c5a467ed9bf61520294627", + "sha256:614bca7c6ed0d8ad1dce683a6289afae1f880675b4090878a0136c3da16bc693", + "sha256:61a8b1bbddd9332917485b2453d1de49f142e6334ce1d97b7916d5a85d179c84", + "sha256:7429936146063bd1b2cfc54f0e04016b90ee9b1c908a7bed0800049cbace70eb", + "sha256:7c73968fbb7698a4c5d6160859db560d3aac160edde89c751edd5a8bc6560c88", + "sha256:80303ee6a02ef38c4253160446cbeb5c400c07e01d4ddbd4ff722a89b736d95a", + "sha256:965611880c3fa8e504b7458484c0697e00ae6e937279cd6734fdaa2bc954dc49", + "sha256:9a900036b42f7324df7c7ad9569eb92ba0b613cf699160dd9c2154b24fd02f8e", + "sha256:9cfd1399064b13043082c660ddd97a0358e41c8b0dc7b77c1243e013d305c344", + "sha256:a8ec324711596fbf21837d3a5db543937dd84597d364769b46e0102250023f77", + "sha256:a9727a21957d3327cf6b7eb5ffc9e4b663909a25fea158e3fcbc49d4cdd7881b", + "sha256:b19f4b28dd2ef2e6d600307fee656c00825a2980c4356a7080bd758d633c3a6f", + "sha256:b2de529027579e43b6dc1f805f467b102fb7d13c1e54c334f1403ee2b37d0059", + "sha256:c0c000c1a09f069632d8a9eb3b610ac029fcc682f1d69b758e625d6ee713f4ed", + "sha256:cdafb86eb673c3211accffbffdb3cdffa3aaafacd14819e0898d23696d18e4d3", + "sha256:d2a90ce2f0f5b695e4785ac07c19a58244092f3c85d57db6d8eb1a2b26d2aad6", + "sha256:d784d57b958ffd07e9e226d17272f9af0c41572557604ca7554214def32c26bf", + "sha256:d891942592789fa0ab71b502550bbadb12f540d7413d7d7c4cef4b02af0f5bc6", + "sha256:dc7693573f16535428183de8fd27f0ca1ca37a51baa0b41dc5ed7b3d68fe80e2", + "sha256:ddb8d01aa900b741d6b7cc585a97aff787175f160ab975e21f880e89d810781a", + "sha256:e328357b6bbf79928363dbf13f4635b7aac0306afb7e5ad24d21d0c5761c3253", + "sha256:e86c8d54cd19a13e9081898b3c24351683fd39d726ecf8e774aaa9d8d96f5f3a", + "sha256:e9e4bdcd70216b08801e267c0b563316b787f957a46e215249921f99288456f9", + "sha256:f169469d04a23282de9d0be349499cb6683b6ff1b68901210faacac9b0c24b7d" ], "markers": "python_version >= '3.7' and python_full_version not in '3.9.0, 3.9.1'", - "version": "==44.0.3" + "version": "==45.0.2" }, "dbrepo": { "hashes": [ - "sha256:76f0ab97d1e914a779aa51b5e5a17591b2f1c88f15dc9df27273deb4dc7ed125" + "sha256:76f0ab97d1e914a779aa51b5e5a17591b2f1c88f15dc9df27273deb4dc7ed125", + "sha256:f01ee3102dc405c00b5e61cd1d62a46f9644ca33d131912cc25130a5ec304378" + ], + "path": "./lib/dbrepo-1.9.0.tar.gz", + "version": "==1.9.0" + }, + "ecs-logging": { + "hashes": [ + "sha256:1dc9e216f614129db0e6a2f9f926da4e4cf8edf8de16d1045a20aa8e950291d3", + "sha256:f6e22d267770b06f797076f49b5fcc9d97108b22f452f5f9ed4b5367b1e61b5b" ], - "path": "./lib/dbrepo-1.8.2.tar.gz" + "index": "pypi", + "version": "==2.2.0" }, "flasgger": { "hashes": [ @@ -289,7 +299,6 @@ "sha256:f69fcd559dc907ed196ab9df0e48471709175e696d6e698dd4dbe940f96ce66b" ], "index": "pypi", - "markers": "python_version >= '3.8'", "version": "==2.3.3" }, "flask-cors": { @@ -314,7 +323,6 @@ "sha256:8085d6757505b6f3291a2638c84d207e8f0ad0de662d1f46aa2f77e658a0c976" ], "index": "pypi", - "markers": "python_version >= '3.9' and python_version < '4'", "version": "==4.7.1" }, "grafana-client": { @@ -323,7 +331,6 @@ "sha256:8cb61bb2a87ec07bca10974df276b9a1a95bfdb63f3a696f065692ffc9b8c389" ], "index": "pypi", - "markers": "python_version >= '3.7'", "version": "==4.3.2" }, "gunicorn": { @@ -332,7 +339,6 @@ "sha256:f014447a0101dc57e294f6c18ca6b40227a4c90e9bdb586042628030cba004ec" ], "index": "pypi", - "markers": "python_version >= '3.7'", "version": "==23.0.0" }, "h11": { @@ -499,7 +505,6 @@ "sha256:61c9170f92e736b530655e75374681d4fcca9cfa8763ab42be57353b2b203494" ], "index": "pypi", - "markers": "python_version >= '3.6'", "version": "==1.3.1" }, "markupsafe": { @@ -579,72 +584,72 @@ }, "niquests": { "hashes": [ - "sha256:68e0a7e9f338466b3606945fffd11f75e3c90af7498aa9336ef03812323b7e36", - "sha256:86e484c2c60444aa96069c15f6295af6e25a8bad50781e1326df1b5c7ab48339" + "sha256:c5cdc126862090b09030addc23b6bbf06dbd433a4c7c70ddf6657638153bc367", + "sha256:f1dbf2c028223e97839f5b467f875376a014abf51e8f9b284be799fc9a10791c" ], "markers": "python_version >= '3.7'", - "version": "==3.14.0" + "version": "==3.14.1" }, "numpy": { "hashes": [ - "sha256:0255732338c4fdd00996c0421884ea8a3651eea555c3a56b84892b66f696eb70", - "sha256:02f226baeefa68f7d579e213d0f3493496397d8f1cff5e2b222af274c86a552a", - "sha256:059b51b658f4414fff78c6d7b1b4e18283ab5fa56d270ff212d5ba0c561846f4", - "sha256:0bcb1d057b7571334139129b7f941588f69ce7c4ed15a9d6162b2ea54ded700c", - "sha256:0cd48122a6b7eab8f06404805b1bd5856200e3ed6f8a1b9a194f9d9054631beb", - "sha256:19f4718c9012e3baea91a7dba661dcab2451cda2550678dc30d53acb91a7290f", - "sha256:1a161c2c79ab30fe4501d5a2bbfe8b162490757cf90b7f05be8b80bc02f7bb8e", - "sha256:1f4a922da1729f4c40932b2af4fe84909c7a6e167e6e99f71838ce3a29f3fe26", - "sha256:261a1ef047751bb02f29dfe337230b5882b54521ca121fc7f62668133cb119c9", - "sha256:262d23f383170f99cd9191a7c85b9a50970fe9069b2f8ab5d786eca8a675d60b", - "sha256:2ba321813a00e508d5421104464510cc962a6f791aa2fca1c97b1e65027da80d", - "sha256:2c1a1c6ccce4022383583a6ded7bbcda22fc635eb4eb1e0a053336425ed36dfa", - "sha256:352d330048c055ea6db701130abc48a21bec690a8d38f8284e00fab256dc1376", - "sha256:369e0d4647c17c9363244f3468f2227d557a74b6781cb62ce57cf3ef5cc7c610", - "sha256:36ab5b23915887543441efd0417e6a3baa08634308894316f446027611b53bf1", - "sha256:37e32e985f03c06206582a7323ef926b4e78bdaa6915095ef08070471865b906", - "sha256:3a801fef99668f309b88640e28d261991bfad9617c27beda4a3aec4f217ea073", - "sha256:3d14b17b9be5f9c9301f43d2e2a4886a33b53f4e6fdf9ca2f4cc60aeeee76372", - "sha256:422cc684f17bc963da5f59a31530b3936f57c95a29743056ef7a7903a5dbdf88", - "sha256:4520caa3807c1ceb005d125a75e715567806fed67e315cea619d5ec6e75a4191", - "sha256:47834cde750d3c9f4e52c6ca28a7361859fcaf52695c7dc3cc1a720b8922683e", - "sha256:47f9ed103af0bc63182609044b0490747e03bd20a67e391192dde119bf43d52f", - "sha256:498815b96f67dc347e03b719ef49c772589fb74b8ee9ea2c37feae915ad6ebda", - "sha256:54088a5a147ab71a8e7fdfd8c3601972751ded0739c6b696ad9cb0343e21ab73", - "sha256:55f09e00d4dccd76b179c0f18a44f041e5332fd0e022886ba1c0bbf3ea4a18d0", - "sha256:5a0ac90e46fdb5649ab6369d1ab6104bfe5854ab19b645bf5cda0127a13034ae", - "sha256:6411f744f7f20081b1b4e7112e0f4c9c5b08f94b9f086e6f0adf3645f85d3a4d", - "sha256:6413d48a9be53e183eb06495d8e3b006ef8f87c324af68241bbe7a39e8ff54c3", - "sha256:7451f92eddf8503c9b8aa4fe6aa7e87fd51a29c2cfc5f7dbd72efde6c65acf57", - "sha256:8b4c0773b6ada798f51f0f8e30c054d32304ccc6e9c5d93d46cb26f3d385ab19", - "sha256:8dfa94b6a4374e7851bbb6f35e6ded2120b752b063e6acdd3157e4d2bb922eba", - "sha256:97c8425d4e26437e65e1d189d22dff4a079b747ff9c2788057bfb8114ce1e133", - "sha256:9d75f338f5f79ee23548b03d801d28a505198297534f62416391857ea0479571", - "sha256:9de6832228f617c9ef45d948ec1cd8949c482238d68b2477e6f642c33a7b0a54", - "sha256:a4cbdef3ddf777423060c6f81b5694bad2dc9675f110c4b2a60dc0181543fac7", - "sha256:a9c0d994680cd991b1cb772e8b297340085466a6fe964bc9d4e80f5e2f43c291", - "sha256:aa70fdbdc3b169d69e8c59e65c07a1c9351ceb438e627f0fdcd471015cd956be", - "sha256:abe38cd8381245a7f49967a6010e77dbf3680bd3627c0fe4362dd693b404c7f8", - "sha256:b13f04968b46ad705f7c8a80122a42ae8f620536ea38cf4bdd374302926424dd", - "sha256:b4ea7e1cff6784e58fe281ce7e7f05036b3e1c89c6f922a6bfbc0a7e8768adbe", - "sha256:b6f91524d31b34f4a5fee24f5bc16dcd1491b668798b6d85585d836c1e633a6a", - "sha256:c26843fd58f65da9491165072da2cccc372530681de481ef670dcc8e27cfb066", - "sha256:c42365005c7a6c42436a54d28c43fe0e01ca11eb2ac3cefe796c25a5f98e5e9b", - "sha256:c8b82a55ef86a2d8e81b63da85e55f5537d2157165be1cb2ce7cfa57b6aef38b", - "sha256:ced69262a8278547e63409b2653b372bf4baff0870c57efa76c5703fd6543282", - "sha256:d2e3bdadaba0e040d1e7ab39db73e0afe2c74ae277f5614dad53eadbecbbb169", - "sha256:d403c84991b5ad291d3809bace5e85f4bbf44a04bdc9a88ed2bb1807b3360bb8", - "sha256:d7543263084a85fbc09c704b515395398d31d6395518446237eac219eab9e55e", - "sha256:d8882a829fd779f0f43998e931c466802a77ca1ee0fe25a3abe50278616b1471", - "sha256:e4f0b035d9d0ed519c813ee23e0a733db81ec37d2e9503afbb6e54ccfdee0fa7", - "sha256:e8b025c351b9f0e8b5436cf28a07fa4ac0204d67b38f01433ac7f9b870fa38c6", - "sha256:eb7fd5b184e5d277afa9ec0ad5e4eb562ecff541e7f60e69ee69c8d59e9aeaba", - "sha256:ec31367fd6a255dc8de4772bd1658c3e926d8e860a0b6e922b615e532d320ddc", - "sha256:ee461a4eaab4f165b68780a6a1af95fb23a29932be7569b9fab666c407969051", - "sha256:f5045039100ed58fa817a6227a356240ea1b9a1bc141018864c306c1a16d4175" - ], - "markers": "python_version >= '3.10'", - "version": "==2.2.5" + "sha256:038613e9fb8c72b0a41f025a7e4c3f0b7a1b5d768ece4796b674c8f3fe13efff", + "sha256:0678000bb9ac1475cd454c6b8c799206af8107e310843532b04d49649c717a47", + "sha256:0811bb762109d9708cca4d0b13c4f67146e3c3b7cf8d34018c722adb2d957c84", + "sha256:0b605b275d7bd0c640cad4e5d30fa701a8d59302e127e5f79138ad62762c3e3d", + "sha256:0bca768cd85ae743b2affdc762d617eddf3bcf8724435498a1e80132d04879e6", + "sha256:1bc23a79bfabc5d056d106f9befb8d50c31ced2fbc70eedb8155aec74a45798f", + "sha256:287cc3162b6f01463ccd86be154f284d0893d2b3ed7292439ea97eafa8170e0b", + "sha256:37c0ca431f82cd5fa716eca9506aefcabc247fb27ba69c5062a6d3ade8cf8f49", + "sha256:37e990a01ae6ec7fe7fa1c26c55ecb672dd98b19c3d0e1d1f326fa13cb38d163", + "sha256:389d771b1623ec92636b0786bc4ae56abafad4a4c513d36a55dce14bd9ce8571", + "sha256:3d70692235e759f260c3d837193090014aebdf026dfd167834bcba43e30c2a42", + "sha256:41c5a21f4a04fa86436124d388f6ed60a9343a6f767fced1a8a71c3fbca038ff", + "sha256:481b49095335f8eed42e39e8041327c05b0f6f4780488f61286ed3c01368d491", + "sha256:4eeaae00d789f66c7a25ac5f34b71a7035bb474e679f410e5e1a94deb24cf2d4", + "sha256:55a4d33fa519660d69614a9fad433be87e5252f4b03850642f88993f7b2ca566", + "sha256:5a6429d4be8ca66d889b7cf70f536a397dc45ba6faeb5f8c5427935d9592e9cf", + "sha256:5bd4fc3ac8926b3819797a7c0e2631eb889b4118a9898c84f585a54d475b7e40", + "sha256:5beb72339d9d4fa36522fc63802f469b13cdbe4fdab4a288f0c441b74272ebfd", + "sha256:6031dd6dfecc0cf9f668681a37648373bddd6421fff6c66ec1624eed0180ee06", + "sha256:71594f7c51a18e728451bb50cc60a3ce4e6538822731b2933209a1f3614e9282", + "sha256:74d4531beb257d2c3f4b261bfb0fc09e0f9ebb8842d82a7b4209415896adc680", + "sha256:7befc596a7dc9da8a337f79802ee8adb30a552a94f792b9c9d18c840055907db", + "sha256:894b3a42502226a1cac872f840030665f33326fc3dac8e57c607905773cdcde3", + "sha256:8e41fd67c52b86603a91c1a505ebaef50b3314de0213461c7a6e99c9a3beff90", + "sha256:8e9ace4a37db23421249ed236fdcdd457d671e25146786dfc96835cd951aa7c1", + "sha256:8fc377d995680230e83241d8a96def29f204b5782f371c532579b4f20607a289", + "sha256:9551a499bf125c1d4f9e250377c1ee2eddd02e01eac6644c080162c0c51778ab", + "sha256:b0544343a702fa80c95ad5d3d608ea3599dd54d4632df855e4c8d24eb6ecfa1c", + "sha256:b093dd74e50a8cba3e873868d9e93a85b78e0daf2e98c6797566ad8044e8363d", + "sha256:b412caa66f72040e6d268491a59f2c43bf03eb6c96dd8f0307829feb7fa2b6fb", + "sha256:b4f13750ce79751586ae2eb824ba7e1e8dba64784086c98cdbbcc6a42112ce0d", + "sha256:b64d8d4d17135e00c8e346e0a738deb17e754230d7e0810ac5012750bbd85a5a", + "sha256:ba10f8411898fc418a521833e014a77d3ca01c15b0c6cdcce6a0d2897e6dbbdf", + "sha256:bd48227a919f1bafbdda0583705e547892342c26fb127219d60a5c36882609d1", + "sha256:c1f9540be57940698ed329904db803cf7a402f3fc200bfe599334c9bd84a40b2", + "sha256:c820a93b0255bc360f53eca31a0e676fd1101f673dda8da93454a12e23fc5f7a", + "sha256:ce47521a4754c8f4593837384bd3424880629f718d87c5d44f8ed763edd63543", + "sha256:d042d24c90c41b54fd506da306759e06e568864df8ec17ccc17e9e884634fd00", + "sha256:de749064336d37e340f640b05f24e9e3dd678c57318c7289d222a8a2f543e90c", + "sha256:e1dda9c7e08dc141e0247a5b8f49cf05984955246a327d4c48bda16821947b2f", + "sha256:e29554e2bef54a90aa5cc07da6ce955accb83f21ab5de01a62c8478897b264fd", + "sha256:e3143e4451880bed956e706a3220b4e5cf6172ef05fcc397f6f36a550b1dd868", + "sha256:e8213002e427c69c45a52bbd94163084025f533a55a59d6f9c5b820774ef3303", + "sha256:efd28d4e9cd7d7a8d39074a4d44c63eda73401580c5c76acda2ce969e0a38e83", + "sha256:f0fd6321b839904e15c46e0d257fdd101dd7f530fe03fd6359c1ea63738703f3", + "sha256:f1372f041402e37e5e633e586f62aa53de2eac8d98cbfb822806ce4bbefcb74d", + "sha256:f2618db89be1b4e05f7a1a847a9c1c0abd63e63a1607d892dd54668dd92faf87", + "sha256:f447e6acb680fd307f40d3da4852208af94afdfab89cf850986c3ca00562f4fa", + "sha256:f92729c95468a2f4f15e9bb94c432a9229d0d50de67304399627a943201baa2f", + "sha256:f9f1adb22318e121c5c69a09142811a201ef17ab257a1e66ca3025065b7f53ae", + "sha256:fc0c5673685c508a142ca65209b4e79ed6740a4ed6b2267dbba90f34b0b3cfda", + "sha256:fc7b73d02efb0e18c000e9ad8b83480dfcd5dfd11065997ed4c6747470ae8915", + "sha256:fd83c01228a688733f1ded5201c678f0c53ecc1006ffbc404db9f7a899ac6249", + "sha256:fe27749d33bb772c80dcd84ae7e8df2adc920ae8297400dabec45f0dedb3f6de", + "sha256:fee4236c876c4e8369388054d02d0e9bb84821feb1a64dd59e137e6511a551f8" + ], + "markers": "python_version == '3.11'", + "version": "==2.2.6" }, "packaging": { "hashes": [ @@ -712,19 +717,19 @@ }, "pluggy": { "hashes": [ - "sha256:2cffa88e94fdc978c4c574f15f9e59b7f4201d439195c3715ca9e2486f1d0cf1", - "sha256:44e1ad92c8ca002de6377e165f3e0f1be63266ab4d554740532335b9d75ea669" + "sha256:7dcc130b76258d33b90f61b658791dede3486c3e6bfb003ee5c9bfb396dd22f3", + "sha256:e920276dd6813095e9377c0bc5566d94c932c33b27a3e3945d8389c374dd4746" ], - "markers": "python_version >= '3.8'", - "version": "==1.5.0" + "markers": "python_version >= '3.9'", + "version": "==1.6.0" }, "prometheus-client": { "hashes": [ - "sha256:252505a722ac04b0456be05c05f75f45d760c2911ffc45f2a06bcaed9f3ae3fb", - "sha256:594b45c410d6f4f8888940fe80b5cc2521b305a1fafe1c58609ef715a001f301" + "sha256:18da1d2241ac2d10c8d2110f13eedcd5c7c0c8af18c926e8731f04fc10cd575c", + "sha256:c8951bbe64e62b96cd8e8f5d917279d1b9b91ab766793f33d4dce6c228558713" ], - "markers": "python_version >= '3.8'", - "version": "==0.21.1" + "markers": "python_version >= '3.9'", + "version": "==0.22.0" }, "prometheus-flask-exporter": { "hashes": [ @@ -748,7 +753,6 @@ "sha256:d9615eaa9ac5a063471da949c8fc16376a84afb5024688b3ff885693506764eb" ], "index": "pypi", - "markers": "python_version >= '3.9'", "version": "==2.11.4" }, "pydantic-core": { @@ -870,7 +874,6 @@ "sha256:f4efe70cc14e511565ac476b57c279e12a855b11f48f212af1080ef2263d3845" ], "index": "pypi", - "markers": "python_version >= '3.8'", "version": "==8.3.5" }, "python-dateutil": { @@ -878,7 +881,7 @@ "sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3", "sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427" ], - "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2'", + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", "version": "==2.9.0.post0" }, "python-dotenv": { @@ -887,7 +890,6 @@ "sha256:d7c01d9e2293916c18baf562d95698754b0dbbb5e74d457c45d4f6561fb9d55d" ], "index": "pypi", - "markers": "python_version >= '3.9'", "version": "==1.1.0" }, "pytz": { @@ -1054,7 +1056,7 @@ "sha256:fa1bf4d9838e4c8cdf309500a908fc412cdc325a63e5c74ad88a794bed16c943", "sha256:fcdd2f6b1b1500bde96b442d777a563eadca1b825db0c42ac6aef45ad9ec3c4d" ], - "markers": "python_version >= '3.7'", + "markers": "python_version < '3.12' and (platform_python_implementation != 'CPython' or python_full_version > '3.7.10') and (platform_system == 'Darwin' or platform_system == 'Windows' or platform_system == 'Linux') and (platform_machine == 'x86_64' or platform_machine == 's390x' or platform_machine == 'armv7l' or platform_machine == 'ppc64le' or platform_machine == 'ppc64' or platform_machine == 'AMD64' or platform_machine == 'aarch64' or platform_machine == 'arm64' or platform_machine == 'ARM64' or platform_machine == 'x86' or platform_machine == 'i686') and (platform_python_implementation == 'CPython' or platform_python_implementation == 'PyPy')", "version": "==1.5.1" }, "referencing": { @@ -1075,130 +1077,133 @@ }, "rpds-py": { "hashes": [ - "sha256:0047638c3aa0dbcd0ab99ed1e549bbf0e142c9ecc173b6492868432d8989a046", - "sha256:006f4342fe729a368c6df36578d7a348c7c716be1da0a1a0f86e3021f8e98724", - "sha256:041f00419e1da7a03c46042453598479f45be3d787eb837af382bfc169c0db33", - "sha256:04ecf5c1ff4d589987b4d9882872f80ba13da7d42427234fce8f22efb43133bc", - "sha256:04f2b712a2206e13800a8136b07aaedc23af3facab84918e7aa89e4be0260032", - "sha256:0aeb3329c1721c43c58cae274d7d2ca85c1690d89485d9c63a006cb79a85771a", - "sha256:0e374c0ce0ca82e5b67cd61fb964077d40ec177dd2c4eda67dba130de09085c7", - "sha256:0f00c16e089282ad68a3820fd0c831c35d3194b7cdc31d6e469511d9bffc535c", - "sha256:174e46569968ddbbeb8a806d9922f17cd2b524aa753b468f35b97ff9c19cb718", - "sha256:1b221c2457d92a1fb3c97bee9095c874144d196f47c038462ae6e4a14436f7bc", - "sha256:208b3a70a98cf3710e97cabdc308a51cd4f28aa6e7bb11de3d56cd8b74bab98d", - "sha256:20f2712bd1cc26a3cc16c5a1bfee9ed1abc33d4cdf1aabd297fe0eb724df4272", - "sha256:24795c099453e3721fda5d8ddd45f5dfcc8e5a547ce7b8e9da06fecc3832e26f", - "sha256:2a0f156e9509cee987283abd2296ec816225145a13ed0391df8f71bf1d789e2d", - "sha256:2b2356688e5d958c4d5cb964af865bea84db29971d3e563fb78e46e20fe1848b", - "sha256:2c13777ecdbbba2077670285dd1fe50828c8742f6a4119dbef6f83ea13ad10fb", - "sha256:2d3ee4615df36ab8eb16c2507b11e764dcc11fd350bbf4da16d09cda11fcedef", - "sha256:2d53747da70a4e4b17f559569d5f9506420966083a31c5fbd84e764461c4444b", - "sha256:32bab0a56eac685828e00cc2f5d1200c548f8bc11f2e44abf311d6b548ce2e45", - "sha256:34d90ad8c045df9a4259c47d2e16a3f21fdb396665c94520dbfe8766e62187a4", - "sha256:369d9c6d4c714e36d4a03957b4783217a3ccd1e222cdd67d464a3a479fc17796", - "sha256:3a55fc10fdcbf1a4bd3c018eea422c52cf08700cf99c28b5cb10fe97ab77a0d3", - "sha256:3d2d8e4508e15fc05b31285c4b00ddf2e0eb94259c2dc896771966a163122a0c", - "sha256:3fab5f4a2c64a8fb64fc13b3d139848817a64d467dd6ed60dcdd6b479e7febc9", - "sha256:43dba99f00f1d37b2a0265a259592d05fcc8e7c19d140fe51c6e6f16faabeb1f", - "sha256:44d51febb7a114293ffd56c6cf4736cb31cd68c0fddd6aa303ed09ea5a48e029", - "sha256:493fe54318bed7d124ce272fc36adbf59d46729659b2c792e87c3b95649cdee9", - "sha256:4b28e5122829181de1898c2c97f81c0b3246d49f585f22743a1246420bb8d399", - "sha256:4cd031e63bc5f05bdcda120646a0d32f6d729486d0067f09d79c8db5368f4586", - "sha256:528927e63a70b4d5f3f5ccc1fa988a35456eb5d15f804d276709c33fc2f19bda", - "sha256:564c96b6076a98215af52f55efa90d8419cc2ef45d99e314fddefe816bc24f91", - "sha256:5db385bacd0c43f24be92b60c857cf760b7f10d8234f4bd4be67b5b20a7c0b6b", - "sha256:5ef877fa3bbfb40b388a5ae1cb00636a624690dcb9a29a65267054c9ea86d88a", - "sha256:5f6e3cec44ba05ee5cbdebe92d052f69b63ae792e7d05f1020ac5e964394080c", - "sha256:5fc13b44de6419d1e7a7e592a4885b323fbc2f46e1f22151e3a8ed3b8b920405", - "sha256:60748789e028d2a46fc1c70750454f83c6bdd0d05db50f5ae83e2db500b34da5", - "sha256:60d9b630c8025b9458a9d114e3af579a2c54bd32df601c4581bd054e85258143", - "sha256:619ca56a5468f933d940e1bf431c6f4e13bef8e688698b067ae68eb4f9b30e3a", - "sha256:630d3d8ea77eabd6cbcd2ea712e1c5cecb5b558d39547ac988351195db433f6c", - "sha256:63981feca3f110ed132fd217bf7768ee8ed738a55549883628ee3da75bb9cb78", - "sha256:66420986c9afff67ef0c5d1e4cdc2d0e5262f53ad11e4f90e5e22448df485bf0", - "sha256:675269d407a257b8c00a6b58205b72eec8231656506c56fd429d924ca00bb350", - "sha256:6a4a535013aeeef13c5532f802708cecae8d66c282babb5cd916379b72110cf7", - "sha256:6a727fd083009bc83eb83d6950f0c32b3c94c8b80a9b667c87f4bd1274ca30ba", - "sha256:6e1daf5bf6c2be39654beae83ee6b9a12347cb5aced9a29eecf12a2d25fff664", - "sha256:6eea559077d29486c68218178ea946263b87f1c41ae7f996b1f30a983c476a5a", - "sha256:75a810b7664c17f24bf2ffd7f92416c00ec84b49bb68e6a0d93e542406336b56", - "sha256:772cc1b2cd963e7e17e6cc55fe0371fb9c704d63e44cacec7b9b7f523b78919e", - "sha256:78884d155fd15d9f64f5d6124b486f3d3f7fd7cd71a78e9670a0f6f6ca06fb2d", - "sha256:79e8d804c2ccd618417e96720ad5cd076a86fa3f8cb310ea386a3e6229bae7d1", - "sha256:7e80d375134ddb04231a53800503752093dbb65dad8dabacce2c84cccc78e964", - "sha256:8097b3422d020ff1c44effc40ae58e67d93e60d540a65649d2cdaf9466030791", - "sha256:8205ee14463248d3349131bb8099efe15cd3ce83b8ef3ace63c7e976998e7124", - "sha256:8212ff58ac6dfde49946bea57474a386cca3f7706fc72c25b772b9ca4af6b79e", - "sha256:823e74ab6fbaa028ec89615ff6acb409e90ff45580c45920d4dfdddb069f2120", - "sha256:84e0566f15cf4d769dade9b366b7b87c959be472c92dffb70462dd0844d7cbad", - "sha256:896c41007931217a343eff197c34513c154267636c8056fb409eafd494c3dcdc", - "sha256:8aa362811ccdc1f8dadcc916c6d47e554169ab79559319ae9fae7d7752d0d60c", - "sha256:8b3b397eefecec8e8e39fa65c630ef70a24b09141a6f9fc17b3c3a50bed6b50e", - "sha256:8ebc7e65ca4b111d928b669713865f021b7773350eeac4a31d3e70144297baba", - "sha256:9168764133fd919f8dcca2ead66de0105f4ef5659cbb4fa044f7014bed9a1797", - "sha256:921ae54f9ecba3b6325df425cf72c074cd469dea843fb5743a26ca7fb2ccb149", - "sha256:92558d37d872e808944c3c96d0423b8604879a3d1c86fdad508d7ed91ea547d5", - "sha256:951cc481c0c395c4a08639a469d53b7d4afa252529a085418b82a6b43c45c240", - "sha256:998c01b8e71cf051c28f5d6f1187abbdf5cf45fc0efce5da6c06447cba997034", - "sha256:9abc80fe8c1f87218db116016de575a7998ab1629078c90840e8d11ab423ee25", - "sha256:9be4f99bee42ac107870c61dfdb294d912bf81c3c6d45538aad7aecab468b6b7", - "sha256:9c39438c55983d48f4bb3487734d040e22dad200dab22c41e331cee145e7a50d", - "sha256:9d7e8ce990ae17dda686f7e82fd41a055c668e13ddcf058e7fb5e9da20b57793", - "sha256:9ea7f4174d2e4194289cb0c4e172d83e79a6404297ff95f2875cf9ac9bced8ba", - "sha256:a18fc371e900a21d7392517c6f60fe859e802547309e94313cd8181ad9db004d", - "sha256:a36b452abbf29f68527cf52e181fced56685731c86b52e852053e38d8b60bc8d", - "sha256:a5b66d1b201cc71bc3081bc2f1fc36b0c1f268b773e03bbc39066651b9e18391", - "sha256:a824d2c7a703ba6daaca848f9c3d5cb93af0505be505de70e7e66829affd676e", - "sha256:a88c0d17d039333a41d9bf4616bd062f0bd7aa0edeb6cafe00a2fc2a804e944f", - "sha256:aa6800adc8204ce898c8a424303969b7aa6a5e4ad2789c13f8648739830323b7", - "sha256:aad911555286884be1e427ef0dc0ba3929e6821cbeca2194b13dc415a462c7fd", - "sha256:afc6e35f344490faa8276b5f2f7cbf71f88bc2cda4328e00553bd451728c571f", - "sha256:b9a4df06c35465ef4d81799999bba810c68d29972bf1c31db61bfdb81dd9d5bb", - "sha256:bb2954155bb8f63bb19d56d80e5e5320b61d71084617ed89efedb861a684baea", - "sha256:bbc4362e06f950c62cad3d4abf1191021b2ffaf0b31ac230fbf0526453eee75e", - "sha256:c0145295ca415668420ad142ee42189f78d27af806fcf1f32a18e51d47dd2052", - "sha256:c30ff468163a48535ee7e9bf21bd14c7a81147c0e58a36c1078289a8ca7af0bd", - "sha256:c347a20d79cedc0a7bd51c4d4b7dbc613ca4e65a756b5c3e57ec84bd43505b47", - "sha256:c43583ea8517ed2e780a345dd9960896afc1327e8cf3ac8239c167530397440d", - "sha256:c61a2cb0085c8783906b2f8b1f16a7e65777823c7f4d0a6aaffe26dc0d358dd9", - "sha256:c9ca89938dff18828a328af41ffdf3902405a19f4131c88e22e776a8e228c5a8", - "sha256:cc31e13ce212e14a539d430428cd365e74f8b2d534f8bc22dd4c9c55b277b875", - "sha256:cdabcd3beb2a6dca7027007473d8ef1c3b053347c76f685f5f060a00327b8b65", - "sha256:cf86f72d705fc2ef776bb7dd9e5fbba79d7e1f3e258bf9377f8204ad0fc1c51e", - "sha256:d09dc82af2d3c17e7dd17120b202a79b578d79f2b5424bda209d9966efeed114", - "sha256:d3aa13bdf38630da298f2e0d77aca967b200b8cc1473ea05248f6c5e9c9bdb44", - "sha256:d69d003296df4840bd445a5d15fa5b6ff6ac40496f956a221c4d1f6f7b4bc4d9", - "sha256:d6e109a454412ab82979c5b1b3aee0604eca4bbf9a02693bb9df027af2bfa91a", - "sha256:d8551e733626afec514b5d15befabea0dd70a343a9f23322860c4f16a9430205", - "sha256:d8754d872a5dfc3c5bf9c0e059e8107451364a30d9fd50f1f1a85c4fb9481164", - "sha256:d8f9a6e7fd5434817526815f09ea27f2746c4a51ee11bb3439065f5fc754db58", - "sha256:dbcbb6db5582ea33ce46a5d20a5793134b5365110d84df4e30b9d37c6fd40ad3", - "sha256:e0f3ef95795efcd3b2ec3fe0a5bcfb5dadf5e3996ea2117427e524d4fbf309c6", - "sha256:e13ae74a8a3a0c2f22f450f773e35f893484fcfacb00bb4344a7e0f4f48e1f97", - "sha256:e274f62cbd274359eff63e5c7e7274c913e8e09620f6a57aae66744b3df046d6", - "sha256:e838bf2bb0b91ee67bf2b889a1a841e5ecac06dd7a2b1ef4e6151e2ce155c7ae", - "sha256:e8acd55bd5b071156bae57b555f5d33697998752673b9de554dd82f5b5352727", - "sha256:e8e5ab32cf9eb3647450bc74eb201b27c185d3857276162c101c0f8c6374e098", - "sha256:ebcb786b9ff30b994d5969213a8430cbb984cdd7ea9fd6df06663194bd3c450c", - "sha256:ebea2821cdb5f9fef44933617be76185b80150632736f3d76e54829ab4a3b4d1", - "sha256:ed0ef550042a8dbcd657dfb284a8ee00f0ba269d3f2286b0493b15a5694f9fe8", - "sha256:eda5c1e2a715a4cbbca2d6d304988460942551e4e5e3b7457b50943cd741626d", - "sha256:f5c0ed12926dec1dfe7d645333ea59cf93f4d07750986a586f511c0bc61fe103", - "sha256:f6016bd950be4dcd047b7475fdf55fb1e1f59fc7403f387be0e8123e4a576d30", - "sha256:f9e0057a509e096e47c87f753136c9b10d7a91842d8042c2ee6866899a717c0d", - "sha256:fc1c892b1ec1f8cbd5da8de287577b455e388d9c328ad592eabbdcb6fc93bee5", - "sha256:fc2c1e1b00f88317d9de6b2c2b39b012ebbfe35fe5e7bef980fd2a91f6100a07", - "sha256:fd822f019ccccd75c832deb7aa040bb02d70a92eb15a2f16c7987b7ad4ee8d83" + "sha256:0317177b1e8691ab5879f4f33f4b6dc55ad3b344399e23df2e499de7b10a548d", + "sha256:036ded36bedb727beeabc16dc1dad7cb154b3fa444e936a03b67a86dc6a5066e", + "sha256:048893e902132fd6548a2e661fb38bf4896a89eea95ac5816cf443524a85556f", + "sha256:0701942049095741a8aeb298a31b203e735d1c61f4423511d2b1a41dcd8a16da", + "sha256:083a9513a33e0b92cf6e7a6366036c6bb43ea595332c1ab5c8ae329e4bcc0a9c", + "sha256:09eab132f41bf792c7a0ea1578e55df3f3e7f61888e340779b06050a9a3f16e9", + "sha256:0e6a327af8ebf6baba1c10fadd04964c1965d375d318f4435d5f3f9651550f4a", + "sha256:0eb90e94f43e5085623932b68840b6f379f26db7b5c2e6bcef3179bd83c9330f", + "sha256:114a07e85f32b125404f28f2ed0ba431685151c037a26032b213c882f26eb908", + "sha256:115874ae5e2fdcfc16b2aedc95b5eef4aebe91b28e7e21951eda8a5dc0d3461b", + "sha256:140f61d9bed7839446bdd44852e30195c8e520f81329b4201ceead4d64eb3a9f", + "sha256:1521031351865e0181bc585147624d66b3b00a84109b57fcb7a779c3ec3772cd", + "sha256:1c0c434a53714358532d13539272db75a5ed9df75a4a090a753ac7173ec14e11", + "sha256:1d1fadd539298e70cac2f2cb36f5b8a65f742b9b9f1014dd4ea1f7785e2470bf", + "sha256:1de336a4b164c9188cb23f3703adb74a7623ab32d20090d0e9bf499a2203ad65", + "sha256:1ee3e26eb83d39b886d2cb6e06ea701bba82ef30a0de044d34626ede51ec98b0", + "sha256:245550f5a1ac98504147cba96ffec8fabc22b610742e9150138e5d60774686d7", + "sha256:2a40046a529cc15cef88ac5ab589f83f739e2d332cb4d7399072242400ed68c9", + "sha256:2c2cd1a4b0c2b8c5e31ffff50d09f39906fe351389ba143c195566056c13a7ea", + "sha256:2cb9e5b5e26fc02c8a4345048cd9998c2aca7c2712bd1b36da0c72ee969a3523", + "sha256:33358883a4490287e67a2c391dfaea4d9359860281db3292b6886bf0be3d8692", + "sha256:35634369325906bcd01577da4c19e3b9541a15e99f31e91a02d010816b49bfda", + "sha256:35a8d1a24b5936b35c5003313bc177403d8bdef0f8b24f28b1c4a255f94ea992", + "sha256:3af5b4cc10fa41e5bc64e5c198a1b2d2864337f8fcbb9a67e747e34002ce812b", + "sha256:3bcce0edc1488906c2d4c75c94c70a0417e83920dd4c88fec1078c94843a6ce9", + "sha256:3c5b317ecbd8226887994852e85de562f7177add602514d4ac40f87de3ae45a8", + "sha256:3c6564c0947a7f52e4792983f8e6cf9bac140438ebf81f527a21d944f2fd0a40", + "sha256:3ebd879ab996537fc510a2be58c59915b5dd63bccb06d1ef514fee787e05984a", + "sha256:3f0b1798cae2bbbc9b9db44ee068c556d4737911ad53a4e5093d09d04b3bbc24", + "sha256:401ca1c4a20cc0510d3435d89c069fe0a9ae2ee6495135ac46bdd49ec0495763", + "sha256:454601988aab2c6e8fd49e7634c65476b2b919647626208e376afcd22019eeb8", + "sha256:4593c4eae9b27d22df41cde518b4b9e4464d139e4322e2127daa9b5b981b76be", + "sha256:45e484db65e5380804afbec784522de84fa95e6bb92ef1bd3325d33d13efaebd", + "sha256:48d64155d02127c249695abb87d39f0faf410733428d499867606be138161d65", + "sha256:4fbb0dbba559959fcb5d0735a0f87cdbca9e95dac87982e9b95c0f8f7ad10255", + "sha256:4fd52d3455a0aa997734f3835cbc4c9f32571345143960e7d7ebfe7b5fbfa3b2", + "sha256:50f2c501a89c9a5f4e454b126193c5495b9fb441a75b298c60591d8a2eb92e1b", + "sha256:58f77c60956501a4a627749a6dcb78dac522f249dd96b5c9f1c6af29bfacfb66", + "sha256:5a3ddb74b0985c4387719fc536faced33cadf2172769540c62e2a94b7b9be1c4", + "sha256:5c4a128527fe415d73cf1f70a9a688d06130d5810be69f3b553bf7b45e8acf79", + "sha256:5d473be2b13600b93a5675d78f59e63b51b1ba2d0476893415dfbb5477e65b31", + "sha256:5d9e40f32745db28c1ef7aad23f6fc458dc1e29945bd6781060f0d15628b8ddf", + "sha256:5f048bbf18b1f9120685c6d6bb70cc1a52c8cc11bdd04e643d28d3be0baf666d", + "sha256:605ffe7769e24b1800b4d024d24034405d9404f0bc2f55b6db3362cd34145a6f", + "sha256:6099263f526efff9cf3883dfef505518730f7a7a93049b1d90d42e50a22b4793", + "sha256:659d87430a8c8c704d52d094f5ba6fa72ef13b4d385b7e542a08fc240cb4a559", + "sha256:666fa7b1bd0a3810a7f18f6d3a25ccd8866291fbbc3c9b912b917a6715874bb9", + "sha256:68f6f060f0bbdfb0245267da014d3a6da9be127fe3e8cc4a68c6f833f8a23bb1", + "sha256:6d273f136e912aa101a9274c3145dcbddbe4bac560e77e6d5b3c9f6e0ed06d34", + "sha256:6d50841c425d16faf3206ddbba44c21aa3310a0cebc3c1cdfc3e3f4f9f6f5728", + "sha256:771c16060ff4e79584dc48902a91ba79fd93eade3aa3a12d6d2a4aadaf7d542b", + "sha256:785ffacd0ee61c3e60bdfde93baa6d7c10d86f15655bd706c89da08068dc5038", + "sha256:796ad874c89127c91970652a4ee8b00d56368b7e00d3477f4415fe78164c8000", + "sha256:79dc317a5f1c51fd9c6a0c4f48209c6b8526d0524a6904fc1076476e79b00f98", + "sha256:7c9409b47ba0650544b0bb3c188243b83654dfe55dcc173a86832314e1a6a35d", + "sha256:7d779b325cc8238227c47fbc53964c8cc9a941d5dbae87aa007a1f08f2f77b23", + "sha256:816568614ecb22b18a010c7a12559c19f6fe993526af88e95a76d5a60b8b75fb", + "sha256:8378fa4a940f3fb509c081e06cb7f7f2adae8cf46ef258b0e0ed7519facd573e", + "sha256:85608eb70a659bf4c1142b2781083d4b7c0c4e2c90eff11856a9754e965b2540", + "sha256:85fc223d9c76cabe5d0bff82214459189720dc135db45f9f66aa7cffbf9ff6c1", + "sha256:88ec04afe0c59fa64e2f6ea0dd9657e04fc83e38de90f6de201954b4d4eb59bd", + "sha256:8960b6dac09b62dac26e75d7e2c4a22efb835d827a7278c34f72b2b84fa160e3", + "sha256:89706d0683c73a26f76a5315d893c051324d771196ae8b13e6ffa1ffaf5e574f", + "sha256:89c24300cd4a8e4a51e55c31a8ff3918e6651b241ee8876a42cc2b2a078533ba", + "sha256:8c742af695f7525e559c16f1562cf2323db0e3f0fbdcabdf6865b095256b2d40", + "sha256:8dbd586bfa270c1103ece2109314dd423df1fa3d9719928b5d09e4840cec0d72", + "sha256:8eb8c84ecea987a2523e057c0d950bcb3f789696c0499290b8d7b3107a719d78", + "sha256:921954d7fbf3fccc7de8f717799304b14b6d9a45bbeec5a8d7408ccbf531faf5", + "sha256:9a46c2fb2545e21181445515960006e85d22025bd2fe6db23e76daec6eb689fe", + "sha256:9c006f3aadeda131b438c3092124bd196b66312f0caa5823ef09585a669cf449", + "sha256:9ceca1cf097ed77e1a51f1dbc8d174d10cb5931c188a4505ff9f3e119dfe519b", + "sha256:9e5fc7484fa7dce57e25063b0ec9638ff02a908304f861d81ea49273e43838c1", + "sha256:9f2f48ab00181600ee266a095fe815134eb456163f7d6699f525dee471f312cf", + "sha256:9fca84a15333e925dd59ce01da0ffe2ffe0d6e5d29a9eeba2148916d1824948c", + "sha256:a49e1d7a4978ed554f095430b89ecc23f42014a50ac385eb0c4d163ce213c325", + "sha256:a58d1ed49a94d4183483a3ce0af22f20318d4a1434acee255d683ad90bf78129", + "sha256:a61d0b2c7c9a0ae45732a77844917b427ff16ad5464b4d4f5e4adb955f582890", + "sha256:a714bf6e5e81b0e570d01f56e0c89c6375101b8463999ead3a93a5d2a4af91fa", + "sha256:a7b74e92a3b212390bdce1d93da9f6488c3878c1d434c5e751cbc202c5e09500", + "sha256:a8bd2f19e312ce3e1d2c635618e8a8d8132892bb746a7cf74780a489f0f6cdcb", + "sha256:b0be9965f93c222fb9b4cc254235b3b2b215796c03ef5ee64f995b1b69af0762", + "sha256:b24bf3cd93d5b6ecfbedec73b15f143596c88ee249fa98cefa9a9dc9d92c6f28", + "sha256:b5ffe453cde61f73fea9430223c81d29e2fbf412a6073951102146c84e19e34c", + "sha256:bc120d1132cff853ff617754196d0ac0ae63befe7c8498bd67731ba368abe451", + "sha256:bd035756830c712b64725a76327ce80e82ed12ebab361d3a1cdc0f51ea21acb0", + "sha256:bffcf57826d77a4151962bf1701374e0fc87f536e56ec46f1abdd6a903354042", + "sha256:c2013ee878c76269c7b557a9a9c042335d732e89d482606990b70a839635feb7", + "sha256:c4feb9211d15d9160bc85fa72fed46432cdc143eb9cf6d5ca377335a921ac37b", + "sha256:c8980cde3bb8575e7c956a530f2c217c1d6aac453474bf3ea0f9c89868b531b6", + "sha256:c98f126c4fc697b84c423e387337d5b07e4a61e9feac494362a59fd7a2d9ed80", + "sha256:ccc6f3ddef93243538be76f8e47045b4aad7a66a212cd3a0f23e34469473d36b", + "sha256:ccfa689b9246c48947d31dd9d8b16d89a0ecc8e0e26ea5253068efb6c542b76e", + "sha256:cda776f1967cb304816173b30994faaf2fd5bcb37e73118a47964a02c348e1bc", + "sha256:ce4c8e485a3c59593f1a6f683cf0ea5ab1c1dc94d11eea5619e4fb5228b40fbd", + "sha256:d3c10228d6cf6fe2b63d2e7985e94f6916fa46940df46b70449e9ff9297bd3d1", + "sha256:d4ca54b9cf9d80b4016a67a0193ebe0bcf29f6b0a96f09db942087e294d3d4c2", + "sha256:d4cb2b3ddc16710548801c6fcc0cfcdeeff9dafbc983f77265877793f2660309", + "sha256:d50e4864498a9ab639d6d8854b25e80642bd362ff104312d9770b05d66e5fb13", + "sha256:d74ec9bc0e2feb81d3f16946b005748119c0f52a153f6db6a29e8cd68636f295", + "sha256:d8222acdb51a22929c3b2ddb236b69c59c72af4019d2cba961e2f9add9b6e634", + "sha256:db58483f71c5db67d643857404da360dce3573031586034b7d59f245144cc192", + "sha256:dc3c1ff0abc91444cd20ec643d0f805df9a3661fcacf9c95000329f3ddf268a4", + "sha256:dd326a81afe332ede08eb39ab75b301d5676802cdffd3a8f287a5f0b694dc3f5", + "sha256:dec21e02e6cc932538b5203d3a8bd6aa1480c98c4914cb88eea064ecdbc6396a", + "sha256:e1dafef8df605fdb46edcc0bf1573dea0d6d7b01ba87f85cd04dc855b2b4479e", + "sha256:e2f6a2347d3440ae789505693a02836383426249d5293541cd712e07e7aecf54", + "sha256:e37caa8cdb3b7cf24786451a0bdb853f6347b8b92005eeb64225ae1db54d1c2b", + "sha256:e43a005671a9ed5a650f3bc39e4dbccd6d4326b24fb5ea8be5f3a43a6f576c72", + "sha256:e5e2f7280d8d0d3ef06f3ec1b4fd598d386cc6f0721e54f09109a8132182fbfe", + "sha256:e87798852ae0b37c88babb7f7bbbb3e3fecc562a1c340195b44c7e24d403e380", + "sha256:ee86d81551ec68a5c25373c5643d343150cc54672b5e9a0cafc93c1870a53954", + "sha256:f251bf23deb8332823aef1da169d5d89fa84c89f67bdfb566c49dea1fccfd50d", + "sha256:f3d86373ff19ca0441ebeb696ef64cb58b8b5cbacffcda5a0ec2f3911732a194", + "sha256:f4ad628b5174d5315761b67f212774a32f5bad5e61396d38108bd801c0a8f5d9", + "sha256:f70316f760174ca04492b5ab01be631a8ae30cadab1d1081035136ba12738cfa", + "sha256:f73ce1512e04fbe2bc97836e89830d6b4314c171587a99688082d090f934d20a", + "sha256:ff7c23ba0a88cb7b104281a99476cccadf29de2a0ef5ce864959a52675b1ca83" ], "markers": "python_version >= '3.9'", - "version": "==0.24.0" + "version": "==0.25.1" }, "six": { "hashes": [ "sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274", "sha256:ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81" ], - "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2'", + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", "version": "==1.17.0" }, "typing-extensions": { @@ -1211,11 +1216,11 @@ }, "typing-inspection": { "hashes": [ - "sha256:50e72559fcd2a6367a19f7a7e610e6afcb9fac940c650290eed893d61386832f", - "sha256:9765c87de36671694a67904bf2c96e395be9c6439bb6c87b5142569dcdd65122" + "sha256:389055682238f53b04f7badcb49b989835495a96700ced5dab2d8feae4b26f51", + "sha256:6ae134cc0203c33377d43188d4064e9b357dba58cff3185f22924610e70a9d28" ], "markers": "python_version >= '3.9'", - "version": "==0.4.0" + "version": "==0.4.1" }, "tzdata": { "hashes": [ @@ -1235,11 +1240,11 @@ }, "urllib3-future": { "hashes": [ - "sha256:642b235a89cbddb7a3c6703a11fd0255473231be791214fd01abd465371ea8fb", - "sha256:a4f2a94da920f62f4c957931d3a1cc364efdd0fbb984624db7ad7347aa27afad" + "sha256:4cb9424398993016383b600ba20881217f10a99c45acac60019ffb0dd007bc8a", + "sha256:5127b8cec47bd165084de1991801c8746bda8889ec919e108fcd777f6fdadaa8" ], "markers": "python_version >= '3.7'", - "version": "==2.12.920" + "version": "==2.12.922" }, "verlib2": { "hashes": [ @@ -1463,73 +1468,72 @@ }, "coverage": { "hashes": [ - "sha256:042e7841a26498fff7a37d6fda770d17519982f5b7d8bf5278d140b67b61095f", - "sha256:04bfec25a8ef1c5f41f5e7e5c842f6b615599ca8ba8391ec33a9290d9d2db3a3", - "sha256:0915742f4c82208ebf47a2b154a5334155ed9ef9fe6190674b8a46c2fb89cb05", - "sha256:18c5ae6d061ad5b3e7eef4363fb27a0576012a7447af48be6c75b88494c6cf25", - "sha256:2931f66991175369859b5fd58529cd4b73582461877ecfd859b6549869287ffe", - "sha256:2e4b6b87bb0c846a9315e3ab4be2d52fac905100565f4b92f02c445c8799e257", - "sha256:3043ba1c88b2139126fc72cb48574b90e2e0546d4c78b5299317f61b7f718b78", - "sha256:379fe315e206b14e21db5240f89dc0774bdd3e25c3c58c2c733c99eca96f1ada", - "sha256:42421e04069fb2cbcbca5a696c4050b84a43b05392679d4068acbe65449b5c64", - "sha256:4dfd9a93db9e78666d178d4f08a5408aa3f2474ad4d0e0378ed5f2ef71640cb6", - "sha256:52a523153c568d2c0ef8826f6cc23031dc86cffb8c6aeab92c4ff776e7951b28", - "sha256:554fec1199d93ab30adaa751db68acec2b41c5602ac944bb19187cb9a41a8067", - "sha256:581a40c7b94921fffd6457ffe532259813fc68eb2bdda60fa8cc343414ce3733", - "sha256:5a26c0c795c3e0b63ec7da6efded5f0bc856d7c0b24b2ac84b4d1d7bc578d676", - "sha256:5a570cd9bd20b85d1a0d7b009aaf6c110b52b5755c17be6962f8ccd65d1dbd23", - "sha256:5aaeb00761f985007b38cf463b1d160a14a22c34eb3f6a39d9ad6fc27cb73008", - "sha256:5ac46d0c2dd5820ce93943a501ac5f6548ea81594777ca585bf002aa8854cacd", - "sha256:5c8a5c139aae4c35cbd7cadca1df02ea8cf28a911534fc1b0456acb0b14234f3", - "sha256:6b8af63b9afa1031c0ef05b217faa598f3069148eeee6bb24b79da9012423b82", - "sha256:769773614e676f9d8e8a0980dd7740f09a6ea386d0f383db6821df07d0f08545", - "sha256:771eb7587a0563ca5bb6f622b9ed7f9d07bd08900f7589b4febff05f469bea00", - "sha256:77af0f6447a582fdc7de5e06fa3757a3ef87769fbb0fdbdeba78c23049140a47", - "sha256:7a3d62b3b03b4b6fd41a085f3574874cf946cb4604d2b4d3e8dca8cd570ca501", - "sha256:821f7bcbaa84318287115d54becb1915eece6918136c6f91045bb84e2f88739d", - "sha256:89b1f4af0d4afe495cd4787a68e00f30f1d15939f550e869de90a86efa7e0814", - "sha256:8a1d96e780bdb2d0cbb297325711701f7c0b6f89199a57f2049e90064c29f6bd", - "sha256:8a40fcf208e021eb14b0fac6bdb045c0e0cab53105f93ba0d03fd934c956143a", - "sha256:8f99eb72bf27cbb167b636eb1726f590c00e1ad375002230607a844d9e9a2318", - "sha256:90e7fbc6216ecaffa5a880cdc9c77b7418c1dcb166166b78dbc630d07f278cc3", - "sha256:94ec0be97723ae72d63d3aa41961a0b9a6f5a53ff599813c324548d18e3b9e8c", - "sha256:95aa6ae391a22bbbce1b77ddac846c98c5473de0372ba5c463480043a07bff42", - "sha256:96121edfa4c2dfdda409877ea8608dd01de816a4dc4a0523356067b305e4e17a", - "sha256:a1f406a8e0995d654b2ad87c62caf6befa767885301f3b8f6f73e6f3c31ec3a6", - "sha256:a321c61477ff8ee705b8a5fed370b5710c56b3a52d17b983d9215861e37b642a", - "sha256:a5761c70c017c1b0d21b0815a920ffb94a670c8d5d409d9b38857874c21f70d7", - "sha256:a9abbccd778d98e9c7e85038e35e91e67f5b520776781d9a1e2ee9d400869487", - "sha256:ad80e6b4a0c3cb6f10f29ae4c60e991f424e6b14219d46f1e7d442b938ee68a4", - "sha256:b44674870709017e4b4036e3d0d6c17f06a0e6d4436422e0ad29b882c40697d2", - "sha256:b571bf5341ba8c6bc02e0baeaf3b061ab993bf372d982ae509807e7f112554e9", - "sha256:b8194fb8e50d556d5849753de991d390c5a1edeeba50f68e3a9253fbd8bf8ccd", - "sha256:b87eb6fc9e1bb8f98892a2458781348fa37e6925f35bb6ceb9d4afd54ba36c73", - "sha256:bbb5cc845a0292e0c520656d19d7ce40e18d0e19b22cb3e0409135a575bf79fc", - "sha256:be945402e03de47ba1872cd5236395e0f4ad635526185a930735f66710e1bd3f", - "sha256:bf13d564d310c156d1c8e53877baf2993fb3073b2fc9f69790ca6a732eb4bfea", - "sha256:cf60dd2696b457b710dd40bf17ad269d5f5457b96442f7f85722bdb16fa6c899", - "sha256:d1ba00ae33be84066cfbe7361d4e04dec78445b2b88bdb734d0d1cbab916025a", - "sha256:d39fc4817fd67b3915256af5dda75fd4ee10621a3d484524487e33416c6f3543", - "sha256:d766a4f0e5aa1ba056ec3496243150698dc0481902e2b8559314368717be82b1", - "sha256:dbf364b4c5e7bae9250528167dfe40219b62e2d573c854d74be213e1e52069f7", - "sha256:dd19608788b50eed889e13a5d71d832edc34fc9dfce606f66e8f9f917eef910d", - "sha256:e013b07ba1c748dacc2a80e69a46286ff145935f260eb8c72df7185bf048f502", - "sha256:e5d2b9be5b0693cf21eb4ce0ec8d211efb43966f6657807f6859aab3814f946b", - "sha256:e5ff52d790c7e1628241ffbcaeb33e07d14b007b6eb00a19320c7b8a7024c040", - "sha256:e75a2ad7b647fd8046d58c3132d7eaf31b12d8a53c0e4b21fa9c4d23d6ee6d3c", - "sha256:e7ac22a0bb2c7c49f441f7a6d46c9c80d96e56f5a8bc6972529ed43c8b694e27", - "sha256:ed2144b8a78f9d94d9515963ed273d620e07846acd5d4b0a642d4849e8d91a0c", - "sha256:f017a61399f13aa6d1039f75cd467be388d157cd81f1a119b9d9a68ba6f2830d", - "sha256:f1d8a2a57b47142b10374902777e798784abf400a004b14f1b0b9eaf1e528ba4", - "sha256:f2d32f95922927186c6dbc8bc60df0d186b6edb828d299ab10898ef3f40052fe", - "sha256:f319bae0321bc838e205bf9e5bc28f0a3165f30c203b610f17ab5552cff90323", - "sha256:f3c38e4e5ccbdc9198aecc766cedbb134b2d89bf64533973678dfcf07effd883", - "sha256:f9983d01d7705b2d1f7a95e10bbe4091fabc03a46881a256c2787637b087003f", - "sha256:fa260de59dfb143af06dcf30c2be0b200bed2a73737a8a59248fcb9fa601ef0f" + "sha256:0034ceec8e91fdaf77350901cc48f47efd00f23c220a3f9fc1187774ddf307cb", + "sha256:061a3bf679dc38fe34d3822f10a9977d548de86b440010beb1e3b44ba93d20f7", + "sha256:07fff2f2ce465fae27447432d39ce733476fbf8478de51fb4034c201e0c5da6d", + "sha256:11e5ea0acd8cc5d23030c34dfb2eb6638ad886328df18cc69f8eefab73d1ece5", + "sha256:12950b6373dc9dfe1ce22a8506ec29c82bfc5b38146ced0a222f38cf5d99a56d", + "sha256:173e16969f990688aae4b4487717c44330bc57fd8b61a6216ce8eeb827eb5c0d", + "sha256:1cc6bebc15c3b275174c66cf4e1c949a94c5c2a3edaa2f193a1225548c52c771", + "sha256:21645788c5c2afa3df2d4b607638d86207b84cb495503b71e80e16b4c6b44e80", + "sha256:2d8f844e837374a9497e11722d9eb9dfeb33b1b5d31136786c39a4c1a3073c6d", + "sha256:35dd5d405a1d378c39f3f30f628a25b0b99f1b8e5bdd78275df2e7b0404892d7", + "sha256:3763b9a4bc128f72da5dcfd7fcc7c7d6644ed28e8f2db473ce1ef0dd37a43fa9", + "sha256:3bd8e3753257e95e94f38c058627aba1581d51f674e3badf226283b2bdb8f8ca", + "sha256:41d142eefbc0bb3be160a77b2c0fbec76f345387676265052e224eb6c67b7af3", + "sha256:452f3831c64f5f50260e18a89e613594590d6ceac5206a9b7d76ba43586b01b3", + "sha256:4fc4f7cff2495d6d112353c33a439230a6de0b7cd0c2578f1e8d75326f63d783", + "sha256:62a13b372b65fa6e11685df9ca924bed23bab1d0f277f9b67be7536f253aaf17", + "sha256:6ce2606a171f9cf7c15a77ca61f979ffc0e0d92cd2fb18767cead58c1d19f58e", + "sha256:6f24a1e2c373a77afae21bc512466a91e31251685c271c5309ee3e557f6e3e03", + "sha256:76a4e1d62505a21971968be61ae17cbdc5e0c483265a37f7ddbbc050f9c0b8ec", + "sha256:82db9344a07dd9106796b9fe8805425633146a7ea7fed5ed07c65a64d0bb79e1", + "sha256:87284f272746e31919302ab6211b16b41135109822c498f6e7b40a2f828e7836", + "sha256:87b86a87f8de2e1bd0bcd45faf1b1edf54f988c8857157300e0336efcfb8ede6", + "sha256:8bcfafb2809cd01be8ffe5f962e01b0fbe4cc1d74513434c52ff2dd05b86d492", + "sha256:9296df6a33b8539cd753765eb5b47308602263a14b124a099cbcf5f770d7cf90", + "sha256:958b513e23286178b513a6b4d975fe9e7cddbcea6e5ebe8d836e4ef067577154", + "sha256:9772c9e266b2ca4999180c12b90c8efb4c5c9ad3e55f301d78bc579af6467ad9", + "sha256:9b31756ea647b6ef53190f6b708ad0c4c2ea879bc17799ba5b0699eee59ecf7b", + "sha256:9cd54a762667c32112df5d6f059c5d61fa532ee06460948cc5bcbf60c502f5c9", + "sha256:9dabc70012fd7b58a8040a7bc1b5f71fd0e62e2138aefdd8367d3d24bf82c349", + "sha256:adafe9d71a940927dd3ad8d487f521f11277f133568b7da622666ebd08923191", + "sha256:ae5e557aa92565d72f6d3196e878e7cbd6a6380e02a15eafe0af781bd767c10d", + "sha256:af6b8cdf0857fd4e6460dd6639c37c3f82163127f6112c1942b5e6a52a477676", + "sha256:b37729ba34c116a3b2b6fb99df5c37a4ca40e96f430070488fd7a1077ad44907", + "sha256:b6424c716f4c38ff8f62b602e6b94cde478dadda542a1cb3fe2fe2520cc2aae3", + "sha256:b8f105631835fdf191c971c4da93d27e732e028d73ecaa1a88f458d497d026cf", + "sha256:be2b1a455b3ecfee20638289bb091a95216887d44924a41c28a601efac0916e8", + "sha256:c04a7903644ccea8fa07c3e76db43ca31c8d453f93c5c94c0f9b82efca225543", + "sha256:c0d6290a466a6f3fadf6add2dd4ec11deba4e1a6e3db2dd284edd497aadf802f", + "sha256:c5757a7b25fe48040fa120ba6597f5f885b01e323e0d13fe21ff95a70c0f76b7", + "sha256:ccad4e29ac1b6f75bfeedb2cac4860fe5bd9e0a2f04c3e3218f661fa389ab101", + "sha256:cd21de85aa0e247b79c6c41f8b5541b54285550f2da6a9448d82b53234d3611b", + "sha256:ce4553a573edb363d5db12be1c044826878bec039159d6d4eafe826ef773396d", + "sha256:d074380f587360d2500f3b065232c67ae248aaf739267807adbcd29b88bdf864", + "sha256:d41d4da5f2871b1782c6b74948d2d37aac3a5b39b43a6ba31d736b97a02ae1f1", + "sha256:d5102e17b81158de17d4b5bc363fcffd15231a38ef3f50b8e6fa01f0c6911194", + "sha256:d52d79dfd3b410b153b6d65b0e3afe834eca2b969377f55ad73c67156d35af0d", + "sha256:d591f2ddad432b794f77dc1e94334a80015a3fc7fa07fd6aed8f40362083be5b", + "sha256:d616b5a543c7d4deffa25eb8d8ae3d0d95097f08ac8b131600bb7fbf967ea0e2", + "sha256:d7af3990490982fbd2437156c69edbe82b7edf99bc60302cceeeaf79afb886b8", + "sha256:d8a6c35afd5b912101fabf42975d92d750cfce33c571508a82ff334a133c40d5", + "sha256:db181a1896e0bad75b3bf4916c49fd3cf6751f9cc203fe0e0ecbee1fc43590fa", + "sha256:dd5c305faa2e69334a53061b3168987847dadc2449bab95735242a9bde92fde8", + "sha256:e1f8e96455907496b3e4ea16f63bb578da31e17d2805278b193525e7714f17f2", + "sha256:e233a56bbf99e4cb134c4f8e63b16c77714e3987daf2c5aa10c3ba8c4232d730", + "sha256:e3f65da9701648d226b6b24ded3e2528b72075e48d7540968cd857c3bd4c5321", + "sha256:e4e893c7f7fb12271a667d5c1876710fae06d7580343afdb5f3fc4488b73209e", + "sha256:e54b80885b0e61d346accc5709daf8762471a452345521cc9281604a907162c2", + "sha256:e93f36a5c9d995f40e9c4cd9bbabd83fd78705792fa250980256c93accd07bb6", + "sha256:ebdf212e1ed85af63fa1a76d556c0a3c7b34348ffba6e145a64b15f003ad0a2b", + "sha256:f7a95b0dce364535a63fde0ec1b1ca36400037175d3b62ce04d85dbca5e33832", + "sha256:f82c1a1c1897d2293cb6c50f20fe8a9ea2add1a228eff479380917a1fe7bbb68", + "sha256:fe4877c24711458f7990392181be30166cc3ae72158036ecb48a73c30c99fb6f", + "sha256:ff619c58322d9d6df0a859dc76c3532d7bdbc125cb040f7cd642141446b4f654" ], "index": "pypi", - "markers": "python_version >= '3.9'", - "version": "==7.8.0" + "version": "==7.8.1" }, "docker": { "hashes": [ @@ -1565,11 +1569,11 @@ }, "pluggy": { "hashes": [ - "sha256:2cffa88e94fdc978c4c574f15f9e59b7f4201d439195c3715ca9e2486f1d0cf1", - "sha256:44e1ad92c8ca002de6377e165f3e0f1be63266ab4d554740532335b9d75ea669" + "sha256:7dcc130b76258d33b90f61b658791dede3486c3e6bfb003ee5c9bfb396dd22f3", + "sha256:e920276dd6813095e9377c0bc5566d94c932c33b27a3e3945d8389c374dd4746" ], - "markers": "python_version >= '3.8'", - "version": "==1.5.0" + "markers": "python_version >= '3.9'", + "version": "==1.6.0" }, "pytest": { "hashes": [ @@ -1577,7 +1581,6 @@ "sha256:f4efe70cc14e511565ac476b57c279e12a855b11f48f212af1080ef2263d3845" ], "index": "pypi", - "markers": "python_version >= '3.8'", "version": "==8.3.5" }, "python-dotenv": { @@ -1586,7 +1589,6 @@ "sha256:d7c01d9e2293916c18baf562d95698754b0dbbb5e74d457c45d4f6561fb9d55d" ], "index": "pypi", - "markers": "python_version >= '3.9'", "version": "==1.1.0" }, "requests": { @@ -1603,7 +1605,6 @@ "sha256:e9e12e333b525156e82a3c852f22016b9158220d2f47454de9cae8a77d371401" ], "index": "pypi", - "markers": "python_version >= '3.5'", "version": "==1.12.1" }, "testcontainers": { @@ -1612,7 +1613,6 @@ "sha256:31ed1a81238c7e131a2a29df6db8f23717d892b592fa5a1977fd0dcd0c23fc23" ], "index": "pypi", - "markers": "python_version >= '3.9' and python_version < '4.0'", "version": "==4.10.0" }, "typing-extensions": { diff --git a/dbrepo-dashboard-service/app.py b/dbrepo-dashboard-service/app.py index 8e4fb0e8ccd9c8bc01c5c557f616f2b28e7afd55..11a851b1d209523498aef84f86f225122ba6e26f 100644 --- a/dbrepo-dashboard-service/app.py +++ b/dbrepo-dashboard-service/app.py @@ -31,9 +31,8 @@ dictConfig({ 'simple': { 'format': '[%(asctime)s] [%(levelname)s] %(message)s', }, - 'ecs': { - 'format': '{"@timestamp": "%(asctime)s", "log.level": "%(levelname)s", "log.logger": "%(module)s", "message": "%(message)s", "service_name": "dashboard-service", "service_version": "1.8.2"}', - 'datefmt': '%Y-%m-%dT%H:%M:%S' + "ecs": { + "()": "ecs_logging.StdlibFormatter" }, }, 'handlers': { @@ -91,7 +90,7 @@ template = { "info": { "title": "Database Repository Dashboard Service API", "description": "Service that manages the dashboards", - "version": "1.8.1", + "version": "1.9.0", "contact": { "name": "Prof. Andreas Rauber", "email": "andreas.rauber@tuwien.ac.at" @@ -247,8 +246,18 @@ def update_dashboard(uid: str): code='error.database.malformed').model_dump_json(), 400, headers) try: dashboard_client().update(database) - except DashboardNotFound as e: + except DashboardNotFound: return Response(ApiError(status='NOT_FOUND', message=f"Failed to update dashboard: not found", code="error.dashboard.missing").model_dump_json(), 404, headers) dashboard_client().update_anonymous_read_access(uid, database.is_public, database.is_schema_public) return Response(), 202, headers + + +@app.route("/api/dashboard/<string:uid>/access/<string:username>", methods=["PUT"], endpoint="update_dashboard_access") +@metrics.gauge(name='dbrepo_update_dashboard_access', description='Time needed to update dashboard access') +@swag_from("/app/ds-yml/update_dashboard_access.yml") +@auth.login_required(role=['system']) +def update_dashboard(uid: str, username: str): + logging.debug(f'endpoint update dashboard access, uid={uid}, username={username}') + # not implemented + return Response(), 202, headers diff --git a/dbrepo-dashboard-service/ds-yml/update_dashboard_access.yml b/dbrepo-dashboard-service/ds-yml/update_dashboard_access.yml new file mode 100644 index 0000000000000000000000000000000000000000..3b8be9c8ba45998b1c60aab1633d9735f60644de --- /dev/null +++ b/dbrepo-dashboard-service/ds-yml/update_dashboard_access.yml @@ -0,0 +1,31 @@ +tags: + - dashboard-endpoint +summary: "Update dashboard access" +operationId: update_dashboard_access +description: "Updates a dashboard access in the Dashboard UI. Requires role `system`." +consumes: + - "application/json" +produces: + - "application/json" +parameters: + - name: uid + in: path + required: true + schema: + type: string + format: uuid + - name: username + in: path + required: true + schema: + type: string +responses: + 202: + description: Updated dashboard access successfully + content: + application/json: + schema: + type: object +security: + - bearerAuth: [ ] + - basicAuth: [ ] diff --git a/dbrepo-dashboard-service/init.py b/dbrepo-dashboard-service/init.py index 7c7a585b0a179a88bcd1a9334f1257ae0a64901b..26d4c080f4be6201d91e0fdd7ade48ccc685bc0b 100644 --- a/dbrepo-dashboard-service/init.py +++ b/dbrepo-dashboard-service/init.py @@ -20,9 +20,8 @@ dictConfig({ 'simple': { 'format': '[%(asctime)s] [%(levelname)s] %(message)s', }, - 'ecs': { - 'format': '{"@timestamp": "%(asctime)s", "log.level": "%(levelname)s", "log.logger": "%(module)s", "message": "%(message)s", "service_name": "dashboard-service-init", "service_version": "1.8.2"}', - 'datefmt': '%Y-%m-%dT%H:%M:%S' + "ecs": { + "()": "ecs_logging.StdlibFormatter" }, }, 'handlers': { diff --git a/dbrepo-dashboard-service/lib/dbrepo-1.8.2.tar.gz b/dbrepo-dashboard-service/lib/dbrepo-1.8.2.tar.gz deleted file mode 100644 index 3e3b65b6b93a602ee26c2f4d4c71c2d3cd331211..0000000000000000000000000000000000000000 Binary files a/dbrepo-dashboard-service/lib/dbrepo-1.8.2.tar.gz and /dev/null differ diff --git a/dbrepo-dashboard-service/lib/dbrepo-1.8.2rc3-py3-none-any.whl b/dbrepo-dashboard-service/lib/dbrepo-1.8.2rc3-py3-none-any.whl deleted file mode 100644 index 86a1af2af41c44d35a4da7a472c180854f0cd82c..0000000000000000000000000000000000000000 Binary files a/dbrepo-dashboard-service/lib/dbrepo-1.8.2rc3-py3-none-any.whl and /dev/null differ diff --git a/dbrepo-dashboard-service/lib/dbrepo-1.8.2rc3.tar.gz b/dbrepo-dashboard-service/lib/dbrepo-1.8.2rc3.tar.gz deleted file mode 100644 index 9c03ed275c6da5b2eef3619c59269f398d59c7de..0000000000000000000000000000000000000000 Binary files a/dbrepo-dashboard-service/lib/dbrepo-1.8.2rc3.tar.gz and /dev/null differ diff --git a/dbrepo-dashboard-service/lib/dbrepo-1.8.2rc4.tar.gz b/dbrepo-dashboard-service/lib/dbrepo-1.8.2rc4.tar.gz deleted file mode 100644 index 1dbc78c989362d4d0c3750b1ad942abe46f205dd..0000000000000000000000000000000000000000 Binary files a/dbrepo-dashboard-service/lib/dbrepo-1.8.2rc4.tar.gz and /dev/null differ diff --git a/dbrepo-dashboard-service/lib/dbrepo-1.8.2rc5-py3-none-any.whl b/dbrepo-dashboard-service/lib/dbrepo-1.8.2rc5-py3-none-any.whl deleted file mode 100644 index 50bf1b8195987f6f8d23a36f34bc0f912b6fd9b3..0000000000000000000000000000000000000000 Binary files a/dbrepo-dashboard-service/lib/dbrepo-1.8.2rc5-py3-none-any.whl and /dev/null differ diff --git a/dbrepo-dashboard-service/lib/dbrepo-1.8.2rc5.tar.gz b/dbrepo-dashboard-service/lib/dbrepo-1.8.2rc5.tar.gz deleted file mode 100644 index be8784437f111e2d4a5cdac36baf77605114dfa5..0000000000000000000000000000000000000000 Binary files a/dbrepo-dashboard-service/lib/dbrepo-1.8.2rc5.tar.gz and /dev/null differ diff --git a/dbrepo-dashboard-service/lib/dbrepo-1.8.2rc6-py3-none-any.whl b/dbrepo-dashboard-service/lib/dbrepo-1.8.2rc6-py3-none-any.whl deleted file mode 100644 index 8e4c745a2ce782c174d5e1db7eef22d51d26624c..0000000000000000000000000000000000000000 Binary files a/dbrepo-dashboard-service/lib/dbrepo-1.8.2rc6-py3-none-any.whl and /dev/null differ diff --git a/dbrepo-dashboard-service/lib/dbrepo-1.8.2rc6.tar.gz b/dbrepo-dashboard-service/lib/dbrepo-1.8.2rc6.tar.gz deleted file mode 100644 index 279243fd37fe033fe4aa740361b5e9a370516924..0000000000000000000000000000000000000000 Binary files a/dbrepo-dashboard-service/lib/dbrepo-1.8.2rc6.tar.gz and /dev/null differ diff --git a/dbrepo-dashboard-service/lib/dbrepo-1.8.2-py3-none-any.whl b/dbrepo-dashboard-service/lib/dbrepo-1.9.0-py3-none-any.whl similarity index 70% rename from dbrepo-dashboard-service/lib/dbrepo-1.8.2-py3-none-any.whl rename to dbrepo-dashboard-service/lib/dbrepo-1.9.0-py3-none-any.whl index 48beeb5ebf61c7cca654e0ee66343fac70bb4d53..23950d61fc98e36a15c4a8ed9c452e86446b589b 100644 Binary files a/dbrepo-dashboard-service/lib/dbrepo-1.8.2-py3-none-any.whl and b/dbrepo-dashboard-service/lib/dbrepo-1.9.0-py3-none-any.whl differ diff --git a/dbrepo-dashboard-service/lib/dbrepo-1.9.0.tar.gz b/dbrepo-dashboard-service/lib/dbrepo-1.9.0.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..b24c628496a5d2753bebe080118cba5237390e28 Binary files /dev/null and b/dbrepo-dashboard-service/lib/dbrepo-1.9.0.tar.gz differ diff --git a/dbrepo-dashboard-service/tests/test_integration_app.py b/dbrepo-dashboard-service/tests/test_integration_app.py index c345e00dee1fdc88f5a4bc9d6277d7cef430b36f..59dc094f56a84c3eb0b2a89fa836e3bde05c51dc 100644 --- a/dbrepo-dashboard-service/tests/test_integration_app.py +++ b/dbrepo-dashboard-service/tests/test_integration_app.py @@ -1,4 +1,4 @@ -import os +import logging import os import time import unittest @@ -134,8 +134,7 @@ class AppIntegrationTest(unittest.TestCase): def test_update_dashboard_no_auth_fails(self): with app.test_client() as test_client: - headers = {'Authorization': f'Bearer {self.token(["system"])}', - 'Content-Type': 'application/json'} + headers = {'Authorization': f'Bearer {self.token(["system"])}', 'Content-Type': 'application/json'} json_payload = dict({'is_public': True, 'is_schema_public': True, 'database_name': 'some_database', @@ -148,8 +147,7 @@ class AppIntegrationTest(unittest.TestCase): def test_update_dashboard_no_body_fails(self): with app.test_client() as test_client: - headers = {'Authorization': f'Bearer {self.token(["system"])}', - 'Content-Type': 'application/json'} + headers = {'Authorization': f'Bearer {self.token(["system"])}', 'Content-Type': 'application/json'} json_payload = dict({'is_public': True, 'is_schema_public': True, 'database_name': 'some_database', @@ -163,8 +161,7 @@ class AppIntegrationTest(unittest.TestCase): def test_update_dashboard_empty_body_fails(self): with app.test_client() as test_client: - headers = {'Authorization': f'Bearer {self.token(["system"])}', - 'Content-Type': 'application/json'} + headers = {'Authorization': f'Bearer {self.token(["system"])}', 'Content-Type': 'application/json'} json_payload = dict({'is_public': True, 'is_schema_public': True, 'database_name': 'some_database', @@ -177,8 +174,7 @@ class AppIntegrationTest(unittest.TestCase): def test_update_dashboard_malformed_body_fails(self): with app.test_client() as test_client: - headers = {'Authorization': f'Bearer {self.token(["system"])}', - 'Content-Type': 'application/json'} + headers = {'Authorization': f'Bearer {self.token(["system"])}', 'Content-Type': 'application/json'} json_payload = dict({'is_public': True, 'is_schema_public': True, 'database_name': 'some_database', @@ -192,8 +188,7 @@ class AppIntegrationTest(unittest.TestCase): def test_update_dashboard_succeeds(self): with app.test_client() as test_client: - headers = {'Authorization': f'Bearer {self.token(["system"])}', - 'Content-Type': 'application/json'} + headers = {'Authorization': f'Bearer {self.token(["system"])}', 'Content-Type': 'application/json'} json_payload = dict({'is_public': True, 'is_schema_public': True, 'is_dashboard_enabled': True, @@ -233,7 +228,7 @@ class AppIntegrationTest(unittest.TestCase): exchange_name="dbrepo", is_public=True, is_schema_public=True, - is_dashboard_enabled=False, # <<< + is_dashboard_enabled=False, # <<< container=ContainerBrief(id="7efe8b27-6cdc-4387-80e3-92ee28f4a7c5", name="MariaDB", internal_name="mariadb", @@ -270,8 +265,7 @@ class AppIntegrationTest(unittest.TestCase): val_max=10)] )]) with app.test_client() as test_client: - headers = {'Authorization': f'Bearer {self.token(["system"])}', - 'Content-Type': 'application/json'} + headers = {'Authorization': f'Bearer {self.token(["system"])}', 'Content-Type': 'application/json'} json_payload = dict({'is_public': True, 'is_schema_public': True, 'is_dashboard_enabled': False, @@ -287,10 +281,9 @@ class AppIntegrationTest(unittest.TestCase): dashboard = self.dashboard_client().find(req.dashboard_uid)['dashboard'] self.assertEqual([], dashboard['tags']) - def test_update_dashboard_not_found_fails(self): + def test_update_dashboard_not_found_created_succeeds(self): with app.test_client() as test_client: - headers = {'Authorization': f'Bearer {self.token(["system"])}', - 'Content-Type': 'application/json'} + headers = {'Authorization': f'Bearer {self.token(["system"])}', 'Content-Type': 'application/json'} # test - response = test_client.put(f"/api/dashboard/idonotexist", headers=headers, json=req.model_dump()) - self.assertEqual(404, response.status_code) + response = test_client.put(f"/api/dashboard/{req.dashboard_uid}", headers=headers, json=req.model_dump()) + self.assertEqual(202, response.status_code) diff --git a/dbrepo-dashboard-ui/dashboards/System/dbrepo.json b/dbrepo-dashboard-ui/dashboards/System/dbrepo.json index dc3d570df03df3c485aa9ed64caadaf2b1e75c03..0d3f4956b04c666a30d35c26ab9b3076b5db59a1 100644 --- a/dbrepo-dashboard-ui/dashboards/System/dbrepo.json +++ b/dbrepo-dashboard-ui/dashboards/System/dbrepo.json @@ -18,7 +18,7 @@ "editable": true, "fiscalYearStartMonth": 0, "graphTooltip": 1, - "id": 4, + "id": 5, "links": [ { "asDropdown": false, @@ -30,7 +30,7 @@ "title": "Docs", "tooltip": "", "type": "link", - "url": "https://www.ifs.tuwien.ac.at/infrastructures/dbrepo/1.8/" + "url": "https://www.ifs.tuwien.ac.at/infrastructures/dbrepo/1.9/" } ], "panels": [ @@ -121,7 +121,7 @@ }, "disableTextWrap": false, "editorMode": "code", - "expr": "sum(up)*100/count(up)", + "expr": "sum(up{instance=~\".*-service.*|ui.*|.*-db-metrics.*\"})*100/count(up{instance=~\".*-service.*|ui.*|.*-db-metrics.*\"})", "fullMetaSearch": false, "includeNullMetadata": true, "instant": false, @@ -1838,7 +1838,7 @@ }, "disableTextWrap": false, "editorMode": "builder", - "expr": "up", + "expr": "up{instance=~\".*-service.*|ui.*|.*-db-metrics.*\"}", "fullMetaSearch": false, "hide": false, "includeNullMetadata": true, @@ -3050,6 +3050,6 @@ "timezone": "browser", "title": "DBRepo", "uid": "bdz20owu8zn5se", - "version": 1, + "version": 2, "weekStart": "" } \ No newline at end of file diff --git a/dbrepo-data-service/pom.xml b/dbrepo-data-service/pom.xml index 111eb228e99ead4a106ecb1775b5e319bdea256e..566fe3728d38f051599719470f37d7ad531edeaf 100644 --- a/dbrepo-data-service/pom.xml +++ b/dbrepo-data-service/pom.xml @@ -13,12 +13,12 @@ <url>https://www.tuwien.ac.at</url> </organization> - <name>data-service</name> - <description>Service that manages the data</description> - <groupId>at.ac.tuwien.ifs.dbrepo</groupId> <artifactId>data-service</artifactId> - <version>1.8.2</version> + <name>data-service</name> + <version>1.9.0</version> + + <description>Service that manages the data</description> <packaging>pom</packaging> <modules> @@ -28,7 +28,7 @@ <module>report</module> </modules> - <url>https://www.ifs.tuwien.ac.at/infrastructures/dbrepo/1.8/</url> + <url>https://www.ifs.tuwien.ac.at/infrastructures/dbrepo/1.9/</url> <developers> <developer> <name>Martin Weise</name> @@ -66,6 +66,9 @@ <!-- see https://github.com/apache/spark/blob/cde8e4a82e20a363861f451ebd5138efb3194ab8/pom.xml --> <hadoop.version>3.4.0</hadoop.version> <jakarta-servlet.version>5.0.0</jakarta-servlet.version> + <sonar.coverage.jacoco.xmlReportPaths> + ./report/target/site/jacoco-aggregate/jacoco.xml + </sonar.coverage.jacoco.xmlReportPaths> <CodeCacheSize>128m</CodeCacheSize> <extraJavaTestArgs> -XX:+IgnoreUnrecognizedVMOptions @@ -93,7 +96,7 @@ <dependency> <groupId>at.ac.tuwien.ifs.dbrepo</groupId> <artifactId>dbrepo-core</artifactId> - <version>1.8.2</version> + <version>1.9.0</version> </dependency> <!-- Spark --> <dependency> @@ -165,6 +168,12 @@ <groupId>software.amazon.awssdk</groupId> <artifactId>s3</artifactId> <version>${aws-s3.version}</version> + <exclusions> + <exclusion> + <groupId>commons-logging</groupId> + <artifactId>commons-logging</artifactId> + </exclusion> + </exclusions> </dependency> <!-- Monitoring --> <dependency> @@ -203,6 +212,12 @@ <groupId>commons-validator</groupId> <artifactId>commons-validator</artifactId> <version>${commons-validator.version}</version> + <exclusions> + <exclusion> + <groupId>commons-logging</groupId> + <artifactId>commons-logging</artifactId> + </exclusion> + </exclusions> </dependency> <dependency> <groupId>org.jooq</groupId> @@ -297,6 +312,8 @@ <filtering>true</filtering> <includes> <include>**/application*.yml</include> + <include>**/*.properties</include> + <include>**/jars/*.jar</include> </includes> </resource> </resources> diff --git a/dbrepo-data-service/querystore/pom.xml b/dbrepo-data-service/querystore/pom.xml index a873911cb20e40c05d42739f803651f47a03d350..8b7d0812711ce5f16b1f7f9b942fcb8f3b0ee002 100644 --- a/dbrepo-data-service/querystore/pom.xml +++ b/dbrepo-data-service/querystore/pom.xml @@ -6,12 +6,12 @@ <parent> <groupId>at.ac.tuwien.ifs.dbrepo</groupId> <artifactId>data-service</artifactId> - <version>1.8.2</version> + <version>1.9.0</version> </parent> <name>querystore</name> <artifactId>querystore</artifactId> - <version>1.8.2</version> + <version>1.9.0</version> <dependencies/> diff --git a/dbrepo-data-service/report/pom.xml b/dbrepo-data-service/report/pom.xml index 1e1b37f8808b7d1fdbf4aa889963a115824d4336..409ffcc5622e175daedb1b12d816659fe87344f0 100644 --- a/dbrepo-data-service/report/pom.xml +++ b/dbrepo-data-service/report/pom.xml @@ -6,23 +6,23 @@ <parent> <groupId>at.ac.tuwien.ifs.dbrepo</groupId> <artifactId>data-service</artifactId> - <version>1.8.2</version> + <version>1.9.0</version> </parent> <name>report</name> <artifactId>report</artifactId> - <version>1.8.2</version> + <version>1.9.0</version> <dependencies> <dependency> <groupId>at.ac.tuwien.ifs.dbrepo</groupId> <artifactId>rest-service</artifactId> - <version>1.8.2</version> + <version>1.9.0</version> </dependency> <dependency> <groupId>at.ac.tuwien.ifs.dbrepo</groupId> <artifactId>services</artifactId> - <version>1.8.2</version> + <version>1.9.0</version> </dependency> </dependencies> diff --git a/dbrepo-data-service/rest-service/pom.xml b/dbrepo-data-service/rest-service/pom.xml index 10f18524c4a8684acca70716a8e0ff8bcc4b1b28..8965b3d36dbbe9c3a4c5c5aa2f3696192515d8bf 100644 --- a/dbrepo-data-service/rest-service/pom.xml +++ b/dbrepo-data-service/rest-service/pom.xml @@ -6,18 +6,18 @@ <parent> <groupId>at.ac.tuwien.ifs.dbrepo</groupId> <artifactId>data-service</artifactId> - <version>1.8.2</version> + <version>1.9.0</version> </parent> <name>rest-service</name> <artifactId>rest-service</artifactId> - <version>1.8.2</version> + <version>1.9.0</version> <dependencies> <dependency> <groupId>at.ac.tuwien.ifs.dbrepo</groupId> <artifactId>services</artifactId> - <version>1.8.2</version> + <version>1.9.0</version> </dependency> </dependencies> diff --git a/dbrepo-data-service/rest-service/src/main/java/at/ac/tuwien/ifs/dbrepo/DataServiceApplication.java b/dbrepo-data-service/rest-service/src/main/java/at/ac/tuwien/ifs/dbrepo/DataServiceApplication.java index 1a1087f2a1c97b9577d7ebebaccc6135ab3b10a5..9dcc1362385da00b7fee7e161f0f4a2d89cdc29c 100644 --- a/dbrepo-data-service/rest-service/src/main/java/at/ac/tuwien/ifs/dbrepo/DataServiceApplication.java +++ b/dbrepo-data-service/rest-service/src/main/java/at/ac/tuwien/ifs/dbrepo/DataServiceApplication.java @@ -1,10 +1,10 @@ package at.ac.tuwien.ifs.dbrepo; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; -@Log4j2 +@Slf4j @SpringBootApplication public class DataServiceApplication { diff --git a/dbrepo-data-service/rest-service/src/main/java/at/ac/tuwien/ifs/dbrepo/endpoints/AccessEndpoint.java b/dbrepo-data-service/rest-service/src/main/java/at/ac/tuwien/ifs/dbrepo/endpoints/AccessEndpoint.java index 70b3e59616d1e73244efe290abe633abcc7d9186..fb28579cb37e49c659a1745586bf019c74e0db9b 100644 --- a/dbrepo-data-service/rest-service/src/main/java/at/ac/tuwien/ifs/dbrepo/endpoints/AccessEndpoint.java +++ b/dbrepo-data-service/rest-service/src/main/java/at/ac/tuwien/ifs/dbrepo/endpoints/AccessEndpoint.java @@ -15,7 +15,7 @@ import io.swagger.v3.oas.annotations.responses.ApiResponses; import io.swagger.v3.oas.annotations.security.SecurityRequirement; import jakarta.validation.Valid; import jakarta.validation.constraints.NotNull; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; @@ -25,7 +25,7 @@ import org.springframework.web.bind.annotation.*; import java.sql.SQLException; import java.util.UUID; -@Log4j2 +@Slf4j @RestController @CrossOrigin(origins = "*") @RequestMapping(path = "/api/database/{databaseId}/access") diff --git a/dbrepo-data-service/rest-service/src/main/java/at/ac/tuwien/ifs/dbrepo/endpoints/DatabaseEndpoint.java b/dbrepo-data-service/rest-service/src/main/java/at/ac/tuwien/ifs/dbrepo/endpoints/DatabaseEndpoint.java index 34f42725c0f1e0f31afa345b2e359a31d288c202..abd843150b99ce5d541945234de1df78efae996a 100644 --- a/dbrepo-data-service/rest-service/src/main/java/at/ac/tuwien/ifs/dbrepo/endpoints/DatabaseEndpoint.java +++ b/dbrepo-data-service/rest-service/src/main/java/at/ac/tuwien/ifs/dbrepo/endpoints/DatabaseEndpoint.java @@ -20,7 +20,7 @@ import io.swagger.v3.oas.annotations.responses.ApiResponses; import io.swagger.v3.oas.annotations.security.SecurityRequirement; import jakarta.validation.Valid; import jakarta.validation.constraints.NotNull; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; @@ -30,7 +30,7 @@ import org.springframework.web.bind.annotation.*; import java.sql.SQLException; import java.util.UUID; -@Log4j2 +@Slf4j @RestController @CrossOrigin(origins = "*") @RequestMapping(path = "/api/database") diff --git a/dbrepo-data-service/rest-service/src/main/java/at/ac/tuwien/ifs/dbrepo/endpoints/SubsetEndpoint.java b/dbrepo-data-service/rest-service/src/main/java/at/ac/tuwien/ifs/dbrepo/endpoints/SubsetEndpoint.java index bf48f8f25a248b16944cdd5009f1dfa292f942db..d6a045d0eb259f29bc41c364d5540c8d9c74f03b 100644 --- a/dbrepo-data-service/rest-service/src/main/java/at/ac/tuwien/ifs/dbrepo/endpoints/SubsetEndpoint.java +++ b/dbrepo-data-service/rest-service/src/main/java/at/ac/tuwien/ifs/dbrepo/endpoints/SubsetEndpoint.java @@ -28,7 +28,7 @@ import io.swagger.v3.oas.annotations.security.SecurityRequirement; import jakarta.servlet.http.HttpServletRequest; import jakarta.validation.Valid; import jakarta.validation.constraints.NotNull; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.apache.spark.sql.Dataset; import org.apache.spark.sql.Row; import org.springframework.beans.factory.annotation.Autowired; @@ -42,7 +42,7 @@ import java.time.Instant; import java.util.List; import java.util.UUID; -@Log4j2 +@Slf4j @RestController @CrossOrigin(origins = "*") @RequestMapping(path = "/api/database/{databaseId}/subset") diff --git a/dbrepo-data-service/rest-service/src/main/java/at/ac/tuwien/ifs/dbrepo/endpoints/TableEndpoint.java b/dbrepo-data-service/rest-service/src/main/java/at/ac/tuwien/ifs/dbrepo/endpoints/TableEndpoint.java index 8ea36ff682ace6f66d1744662668b485f61cbc9a..b3dbaac99ab5f708787f9c71d48e52e56a9168e7 100644 --- a/dbrepo-data-service/rest-service/src/main/java/at/ac/tuwien/ifs/dbrepo/endpoints/TableEndpoint.java +++ b/dbrepo-data-service/rest-service/src/main/java/at/ac/tuwien/ifs/dbrepo/endpoints/TableEndpoint.java @@ -25,7 +25,7 @@ import io.swagger.v3.oas.annotations.security.SecurityRequirement; import jakarta.servlet.http.HttpServletRequest; import jakarta.validation.Valid; import jakarta.validation.constraints.NotNull; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.apache.spark.sql.Dataset; import org.apache.spark.sql.Row; import org.springframework.beans.factory.annotation.Autowired; @@ -40,9 +40,10 @@ import java.security.Principal; import java.sql.SQLException; import java.time.Instant; import java.util.List; +import java.util.Map; import java.util.UUID; -@Log4j2 +@Slf4j @RestController @CrossOrigin(origins = "*") @RequestMapping(path = "/api/database/{databaseId}/table") @@ -57,6 +58,8 @@ public class TableEndpoint extends RestEndpoint { private final EndpointValidator endpointValidator; private final MetadataServiceGateway metadataServiceGateway; + private static final String MEDIA_TYPE_TEXT_CSV = "text/csv"; + @Autowired public TableEndpoint(CacheService cacheService, TableService tableService, MariaDbMapper mariaDbMapper, SubsetService subsetService, StorageService storageService, DatabaseService databaseService, @@ -306,8 +309,8 @@ public class TableEndpoint extends RestEndpoint { headers.set("X-Headers", String.join(",", table.getColumns().stream().map(ColumnDto::getInternalName).toList())); final String query = mariaDbMapper.defaultRawSelectQuery(database.getInternalName(), table.getInternalName(), timestamp, - accept.equals("text/csv") ? null : page, - accept.equals("text/csv") ? null : size); + accept.equals(MEDIA_TYPE_TEXT_CSV) ? null : page, + accept.equals(MEDIA_TYPE_TEXT_CSV) ? null : size); final Dataset<Row> dataset = subsetService.getData(database, query); switch (accept) { case MediaType.APPLICATION_JSON_VALUE: @@ -315,7 +318,7 @@ public class TableEndpoint extends RestEndpoint { return ResponseEntity.ok() .headers(headers) .body(transform(dataset)); - case "text/csv": + case MEDIA_TYPE_TEXT_CSV: log.trace("accept header matches csv"); final ExportResourceDto resource = storageService.transformDataset(dataset); headers.add("Content-Disposition", "attachment; filename=\"" + resource.getFilename() + "\""); @@ -323,8 +326,13 @@ public class TableEndpoint extends RestEndpoint { .headers(headers) .body(storageService.transformDataset(dataset) .getResource()); + default: + log.atError() + .setMessage("Invalid data format " + accept + " accepted") + .addKeyValue("request_header_accept", accept) + .log(); + throw new FormatNotAvailableException("Header 'Accept' must be one of: application/json, text/csv value"); } - throw new FormatNotAvailableException("Must provide either application/json or text/csv value for header 'Accept': provided " + accept + " instead"); } catch (SQLException | QueryMalformedException e) { log.error("Failed to establish connection to database: {}", e.getMessage()); throw new DatabaseUnavailableException("Failed to establish connection to database: " + e.getMessage(), e); @@ -648,7 +656,12 @@ public class TableEndpoint extends RestEndpoint { throws RemoteUnavailableException, TableNotFoundException, NotAllowedException, MetadataServiceException, StorageNotFoundException, MalformedException, StorageUnavailableException, QueryMalformedException, DatabaseUnavailableException, DatabaseNotFoundException { - log.debug("endpoint insert table data, databaseId={}, tableId={}, data.location={}", databaseId, tableId, data.getLocation()); + log.atDebug() + .setMessage("endpoint insert table data") + .addKeyValue("database_id", databaseId) + .addKeyValue("table_id", tableId) + .addKeyValue("data", data) + .log(); final TableDto table = cacheService.getTable(databaseId, tableId); final DatabaseAccessDto access = cacheService.getAccess(databaseId, getId(principal)); endpointValidator.validateOnlyWriteOwnOrWriteAllAccess(access.getType(), table.getOwner().getId(), getId(principal)); diff --git a/dbrepo-data-service/rest-service/src/main/java/at/ac/tuwien/ifs/dbrepo/endpoints/UploadEndpoint.java b/dbrepo-data-service/rest-service/src/main/java/at/ac/tuwien/ifs/dbrepo/endpoints/UploadEndpoint.java index b7a88fc3f7c63116689dbbe26d4466ed43e0160b..ffe49226397c1d6c0af69784df9bf762f764eae9 100644 --- a/dbrepo-data-service/rest-service/src/main/java/at/ac/tuwien/ifs/dbrepo/endpoints/UploadEndpoint.java +++ b/dbrepo-data-service/rest-service/src/main/java/at/ac/tuwien/ifs/dbrepo/endpoints/UploadEndpoint.java @@ -12,7 +12,7 @@ import io.swagger.v3.oas.annotations.responses.ApiResponse; import io.swagger.v3.oas.annotations.responses.ApiResponses; import io.swagger.v3.oas.annotations.security.SecurityRequirement; import jakarta.validation.constraints.NotNull; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; @@ -22,7 +22,7 @@ import org.springframework.web.multipart.MultipartFile; import java.io.IOException; -@Log4j2 +@Slf4j @RestController @CrossOrigin(origins = "*") @RequestMapping(path = "/api/upload") @@ -52,14 +52,18 @@ public class UploadEndpoint extends RestEndpoint { mediaType = "application/json", schema = @Schema(implementation = ApiErrorDto.class))}), }) - public ResponseEntity<UploadResponseDto> create(@NotNull @RequestParam("file") MultipartFile file) throws DatabaseUnavailableException, - DatabaseNotFoundException, RemoteUnavailableException, ViewMalformedException, MetadataServiceException { - log.debug("endpoint upload file, file.originalFilename={}", file.getOriginalFilename()); + public ResponseEntity<UploadResponseDto> create(@NotNull @RequestParam("file") MultipartFile file) + throws DatabaseUnavailableException, DatabaseNotFoundException, RemoteUnavailableException, + ViewMalformedException, MetadataServiceException { + log.atDebug() + .setMessage("endpoint upload file") + .addKeyValue("file", file) + .log(); try { - final String key = storageService.putObject(file.getBytes()); + storageService.putObject(file.getOriginalFilename(), file.getBytes()); return ResponseEntity.status(HttpStatus.CREATED) .body(UploadResponseDto.builder() - .s3Key(key) + .s3Key(file.getOriginalFilename()) .build()); } catch (IOException e) { log.error("Failed to establish connection to database: {}", e.getMessage()); diff --git a/dbrepo-data-service/rest-service/src/main/java/at/ac/tuwien/ifs/dbrepo/endpoints/ViewEndpoint.java b/dbrepo-data-service/rest-service/src/main/java/at/ac/tuwien/ifs/dbrepo/endpoints/ViewEndpoint.java index b589d66a06fadd7543ca103217dca41085f6f0a9..5d4b85668a38d75fe481b9dded655d8030567254 100644 --- a/dbrepo-data-service/rest-service/src/main/java/at/ac/tuwien/ifs/dbrepo/endpoints/ViewEndpoint.java +++ b/dbrepo-data-service/rest-service/src/main/java/at/ac/tuwien/ifs/dbrepo/endpoints/ViewEndpoint.java @@ -22,7 +22,7 @@ import io.swagger.v3.oas.annotations.security.SecurityRequirement; import jakarta.servlet.http.HttpServletRequest; import jakarta.validation.Valid; import jakarta.validation.constraints.NotNull; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.apache.spark.sql.Dataset; import org.apache.spark.sql.Row; import org.jooq.DSLContext; @@ -40,7 +40,7 @@ import java.time.Instant; import java.util.List; import java.util.UUID; -@Log4j2 +@Slf4j @RestController @CrossOrigin(origins = "*") @RequestMapping(path = "/api/database/{databaseId}/view") diff --git a/dbrepo-data-service/rest-service/src/main/java/at/ac/tuwien/ifs/dbrepo/handlers/ApiExceptionHandler.java b/dbrepo-data-service/rest-service/src/main/java/at/ac/tuwien/ifs/dbrepo/handlers/ApiExceptionHandler.java index 6aea3e878221c6766a76d8e1e245b54ac3e1a089..0cb85e19072df7aea2d6f4cecdd56a28a76f88b6 100644 --- a/dbrepo-data-service/rest-service/src/main/java/at/ac/tuwien/ifs/dbrepo/handlers/ApiExceptionHandler.java +++ b/dbrepo-data-service/rest-service/src/main/java/at/ac/tuwien/ifs/dbrepo/handlers/ApiExceptionHandler.java @@ -3,7 +3,7 @@ package at.ac.tuwien.ifs.dbrepo.handlers; import at.ac.tuwien.ifs.dbrepo.core.api.error.ApiErrorDto; import at.ac.tuwien.ifs.dbrepo.core.exception.*; import io.swagger.v3.oas.annotations.Hidden; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.springframework.http.HttpHeaders; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; @@ -13,7 +13,7 @@ import org.springframework.web.bind.annotation.ExceptionHandler; import org.springframework.web.bind.annotation.ResponseStatus; import org.springframework.web.servlet.mvc.method.annotation.ResponseEntityExceptionHandler; -@Log4j2 +@Slf4j @ControllerAdvice public class ApiExceptionHandler extends ResponseEntityExceptionHandler { diff --git a/dbrepo-data-service/rest-service/src/main/java/at/ac/tuwien/ifs/dbrepo/validation/EndpointValidator.java b/dbrepo-data-service/rest-service/src/main/java/at/ac/tuwien/ifs/dbrepo/validation/EndpointValidator.java index 009c3b0b3fe5ced4ee469a3d9512d4e92927d3ce..0b873e59c65fb5cd499624713b86e24fb2a90c2e 100644 --- a/dbrepo-data-service/rest-service/src/main/java/at/ac/tuwien/ifs/dbrepo/validation/EndpointValidator.java +++ b/dbrepo-data-service/rest-service/src/main/java/at/ac/tuwien/ifs/dbrepo/validation/EndpointValidator.java @@ -9,7 +9,7 @@ import at.ac.tuwien.ifs.dbrepo.core.api.database.query.SubsetDto; import at.ac.tuwien.ifs.dbrepo.endpoints.RestEndpoint; import at.ac.tuwien.ifs.dbrepo.core.exception.*; import at.ac.tuwien.ifs.dbrepo.service.CacheService; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; @@ -17,7 +17,7 @@ import java.security.Principal; import java.util.List; import java.util.UUID; -@Log4j2 +@Slf4j @Component public class EndpointValidator extends RestEndpoint { diff --git a/dbrepo-data-service/rest-service/src/main/resources/application.yml b/dbrepo-data-service/rest-service/src/main/resources/application.yml index 70ad1bde9ca32afd7106597922e5be6d3bee637e..25d00ab8dfd2b9419b017f4f5df702daba807e81 100644 --- a/dbrepo-data-service/rest-service/src/main/resources/application.yml +++ b/dbrepo-data-service/rest-service/src/main/resources/application.yml @@ -65,7 +65,7 @@ dbrepo: analyseService: "${ANALYSE_SERVICE_ENDPOINT:http://analyse-service:8080}" storageService: "${S3_ENDPOINT:http://storage-service:9000}" authService: "${AUTH_SERVICE_ENDPOINT:http://auth-service:8080}" - computeService: "${COMPUTE_SERVICE_ENDPOINT:local[2]}" + computeService: "${COMPUTE_SERVICE_ENDPOINT:local[*]}" s3: accessKeyId: "${S3_ACCESS_KEY_ID:seaweedfsadmin}" secretAccessKey: "${S3_SECRET_ACCESS_KEY:seaweedfsadmin}" diff --git a/dbrepo-data-service/rest-service/src/main/resources/config.properties b/dbrepo-data-service/rest-service/src/main/resources/config.properties index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..bc63beba4a21ad527d0821d228c5192f73fe1183 100644 --- a/dbrepo-data-service/rest-service/src/main/resources/config.properties +++ b/dbrepo-data-service/rest-service/src/main/resources/config.properties @@ -0,0 +1 @@ +# empty \ No newline at end of file diff --git a/dbrepo-data-service/rest-service/src/main/resources/hadoop-metrics2-s3a-file-system.properties b/dbrepo-data-service/rest-service/src/main/resources/hadoop-metrics2-s3a-file-system.properties new file mode 100644 index 0000000000000000000000000000000000000000..bc63beba4a21ad527d0821d228c5192f73fe1183 --- /dev/null +++ b/dbrepo-data-service/rest-service/src/main/resources/hadoop-metrics2-s3a-file-system.properties @@ -0,0 +1 @@ +# empty \ No newline at end of file diff --git a/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/config/MariaDbConfig.java b/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/config/MariaDbConfig.java index eed50bf5fb3995d322f7aea2c679cfa719e1ce22..e8604aabd3d56fcf43287206f5ccf9633ce7abfb 100644 --- a/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/config/MariaDbConfig.java +++ b/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/config/MariaDbConfig.java @@ -3,7 +3,7 @@ package at.ac.tuwien.ifs.dbrepo.config; import at.ac.tuwien.ifs.dbrepo.core.api.container.ContainerDto; import at.ac.tuwien.ifs.dbrepo.core.api.database.DatabaseDto; import at.ac.tuwien.ifs.dbrepo.core.api.database.query.QueryDto; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.springframework.context.annotation.Configuration; import org.springframework.core.io.ClassPathResource; import org.springframework.jdbc.datasource.init.ResourceDatabasePopulator; @@ -13,7 +13,7 @@ import java.util.*; import java.util.regex.Matcher; import java.util.regex.Pattern; -@Log4j2 +@Slf4j @Configuration public class MariaDbConfig { diff --git a/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/config/MariaDbContainerConfig.java b/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/config/MariaDbContainerConfig.java index 6a6fbc7476b719be47fa0c17e49e82c65c623c0a..2f5fa1acd8aa5d9fe0b6bf727d40b86593b3bf7c 100644 --- a/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/config/MariaDbContainerConfig.java +++ b/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/config/MariaDbContainerConfig.java @@ -2,7 +2,7 @@ package at.ac.tuwien.ifs.dbrepo.config; import at.ac.tuwien.ifs.dbrepo.core.test.BaseTest; import at.ac.tuwien.ifs.dbrepo.core.test.BaseTest; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @@ -14,7 +14,7 @@ import org.testcontainers.utility.DockerImageName; /** * This class configures the MariaDB container for the integration tests. */ -@Log4j2 +@Slf4j @Configuration public class MariaDbContainerConfig extends BaseTest { diff --git a/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/config/MariadbConfigTest.java b/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/config/MariadbConfigTest.java index c1ebee8e11e479e24cddd424dee18668c11b8ae2..a1b37c632fff2ac7684cfdcd96bacb0df3b152c3 100644 --- a/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/config/MariadbConfigTest.java +++ b/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/config/MariadbConfigTest.java @@ -1,7 +1,7 @@ package at.ac.tuwien.ifs.dbrepo.config; import at.ac.tuwien.ifs.dbrepo.core.test.BaseTest; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; @@ -18,7 +18,7 @@ import java.sql.SQLTimeoutException; import static org.junit.jupiter.api.Assertions.assertThrows; import static org.junit.jupiter.api.Assertions.assertTrue; -@Log4j2 +@Slf4j @SpringBootTest @ExtendWith(SpringExtension.class) @Testcontainers diff --git a/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/config/SparkConfig.java b/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/config/SparkConfig.java new file mode 100644 index 0000000000000000000000000000000000000000..dd4ed92a4ba41cd7ab1f711ce6b70a67c497fe9e --- /dev/null +++ b/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/config/SparkConfig.java @@ -0,0 +1,76 @@ +package at.ac.tuwien.ifs.dbrepo.config; + +import org.apache.spark.SparkConf; +import org.apache.spark.sql.Dataset; +import org.apache.spark.sql.Row; +import org.apache.spark.sql.SparkSession; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +import java.util.LinkedHashMap; +import java.util.Map; + +@Configuration +public class SparkConfig { + + @Value("${dbrepo.endpoints.computeService}") + private String computeEndpoint; + + @Value("${dbrepo.endpoints.storageService}") + private String s3Endpoint; + + @Value("${dbrepo.s3.accessKeyId}") + private String s3AccessKeyId; + + @Value("${dbrepo.s3.secretAccessKey}") + private String s3SecretAccessKey; + + @Bean + public Map<String, String> sparkOptions() { + final Map<String, String> options = new LinkedHashMap<>(); + options.put("spark.driver.extraJavaOptions", "-Divy.cache.dir=/tmp -Divy.home=/tmp"); + options.put("spark.ui.enabled", "false"); + return options; + } + + @Bean + public Map<String, String> hadoopOptions() { + final Map<String, String> options = new LinkedHashMap<>(); + options.put("fs.s3a.path.style.access", "true"); + options.put("fs.s3a.endpoint", s3Endpoint); + options.put("fs.s3a.access.key", s3AccessKeyId); + options.put("fs.s3a.secret.key", s3SecretAccessKey); + return options; + } + + @Bean + public SparkConf sparkConf() { + return new SparkConf() + .setMaster("local[2]") + .setAppName("junit"); + } + + @Bean + public SparkSession sparkSession() { + final SparkSession spark = SparkSession.builder() + .config(sparkConf()) + .getOrCreate(); + hadoopOptions() + .forEach((key, value) -> spark.sparkContext() + .hadoopConfiguration() + .set(key, value)); + return spark; + } + + public Dataset<Row> loadDataset(String filename, String delimiter, Boolean withHeader, String... columns) { + return sparkSession() + .read() + .format("csv") + .option("header", withHeader) + .option("delimiter", delimiter) + .load(filename) + .toDF(columns); + } + +} diff --git a/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/endpoint/AccessEndpointUnitTest.java b/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/endpoint/AccessEndpointUnitTest.java index 725814004440115e255b67d31ecfe977f80e42fd..7d00f2888b5b7f4b5ae8011996f0e2f35ba2f492 100644 --- a/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/endpoint/AccessEndpointUnitTest.java +++ b/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/endpoint/AccessEndpointUnitTest.java @@ -8,7 +8,7 @@ import at.ac.tuwien.ifs.dbrepo.core.test.BaseTest; import at.ac.tuwien.ifs.dbrepo.endpoints.AccessEndpoint; import at.ac.tuwien.ifs.dbrepo.service.AccessService; import at.ac.tuwien.ifs.dbrepo.service.CacheService; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.springframework.beans.factory.annotation.Autowired; @@ -24,7 +24,7 @@ import java.sql.SQLException; import static org.junit.jupiter.api.Assertions.*; import static org.mockito.Mockito.*; -@Log4j2 +@Slf4j @SpringBootTest @ExtendWith(SpringExtension.class) public class AccessEndpointUnitTest extends BaseTest { diff --git a/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/endpoint/DatabaseEndpointUnitTest.java b/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/endpoint/DatabaseEndpointUnitTest.java index 431d88d72c651875e587aadf3737d95c59715acb..c77423fd6a68095e28e3fc7e44339c81533ff966 100644 --- a/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/endpoint/DatabaseEndpointUnitTest.java +++ b/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/endpoint/DatabaseEndpointUnitTest.java @@ -10,7 +10,7 @@ import at.ac.tuwien.ifs.dbrepo.service.AccessService; import at.ac.tuwien.ifs.dbrepo.service.CacheService; import at.ac.tuwien.ifs.dbrepo.service.ContainerService; import at.ac.tuwien.ifs.dbrepo.service.DatabaseService; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.springframework.beans.factory.annotation.Autowired; @@ -29,7 +29,7 @@ import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.*; -@Log4j2 +@Slf4j @SpringBootTest @ExtendWith(SpringExtension.class) public class DatabaseEndpointUnitTest extends BaseTest { diff --git a/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/endpoint/SubsetEndpointUnitTest.java b/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/endpoint/SubsetEndpointUnitTest.java index 8aa9327c8b8ba1a22d934a97543c769b11dfcca2..3a0db90a6d07146101a369c8e12a17aee36ef457 100644 --- a/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/endpoint/SubsetEndpointUnitTest.java +++ b/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/endpoint/SubsetEndpointUnitTest.java @@ -13,7 +13,7 @@ import at.ac.tuwien.ifs.dbrepo.service.DatabaseService; import at.ac.tuwien.ifs.dbrepo.service.StorageService; import at.ac.tuwien.ifs.dbrepo.service.SubsetService; import jakarta.servlet.http.HttpServletRequest; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.apache.spark.sql.Dataset; import org.apache.spark.sql.Row; import org.apache.spark.sql.SparkSession; @@ -38,7 +38,7 @@ import static org.junit.jupiter.api.Assertions.*; import static org.mockito.ArgumentMatchers.*; import static org.mockito.Mockito.*; -@Log4j2 +@Slf4j @SpringBootTest @ExtendWith(SpringExtension.class) public class SubsetEndpointUnitTest extends BaseTest { diff --git a/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/endpoint/TableEndpointUnitTest.java b/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/endpoint/TableEndpointUnitTest.java index 70ef32af913b44111ae91a8c9b0eb98be1c84390..f33cd9ee049915c1808117f4b3b3c0eeff6b9511 100644 --- a/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/endpoint/TableEndpointUnitTest.java +++ b/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/endpoint/TableEndpointUnitTest.java @@ -15,7 +15,7 @@ import at.ac.tuwien.ifs.dbrepo.service.DatabaseService; import at.ac.tuwien.ifs.dbrepo.service.SubsetService; import at.ac.tuwien.ifs.dbrepo.service.TableService; import jakarta.servlet.http.HttpServletRequest; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.apache.spark.sql.Dataset; import org.apache.spark.sql.Row; import org.apache.spark.sql.SparkSession; @@ -43,7 +43,7 @@ import java.util.stream.Stream; import static org.junit.jupiter.api.Assertions.*; import static org.mockito.Mockito.*; -@Log4j2 +@Slf4j @SpringBootTest @ExtendWith(SpringExtension.class) public class TableEndpointUnitTest extends BaseTest { diff --git a/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/endpoint/ViewEndpointUnitTest.java b/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/endpoint/ViewEndpointUnitTest.java index 5660e073f0f71a9928330130a738af0899e97f03..9ce9d1aded8056dd53f26f644bc4195084361513 100644 --- a/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/endpoint/ViewEndpointUnitTest.java +++ b/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/endpoint/ViewEndpointUnitTest.java @@ -10,7 +10,7 @@ import at.ac.tuwien.ifs.dbrepo.service.DatabaseService; import at.ac.tuwien.ifs.dbrepo.service.SubsetService; import at.ac.tuwien.ifs.dbrepo.service.ViewService; import jakarta.servlet.http.HttpServletRequest; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.apache.spark.sql.Dataset; import org.apache.spark.sql.Row; import org.apache.spark.sql.SparkSession; @@ -33,7 +33,7 @@ import static org.junit.jupiter.api.Assertions.*; import static org.mockito.ArgumentMatchers.anyString; import static org.mockito.Mockito.*; -@Log4j2 +@Slf4j @SpringBootTest @ExtendWith(SpringExtension.class) public class ViewEndpointUnitTest extends BaseTest { diff --git a/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/gateway/InterceptorUnitTest.java b/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/gateway/InterceptorUnitTest.java index f36754f0b2460dfc8666c07351a7e88790ca7d61..e8e6925a66b0f36110c4ce345e2278b7f6665376 100644 --- a/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/gateway/InterceptorUnitTest.java +++ b/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/gateway/InterceptorUnitTest.java @@ -2,7 +2,7 @@ package at.ac.tuwien.ifs.dbrepo.gateway; import at.ac.tuwien.ifs.dbrepo.core.api.keycloak.TokenDto; import at.ac.tuwien.ifs.dbrepo.core.test.BaseTest; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.springframework.beans.factory.annotation.Qualifier; @@ -17,7 +17,7 @@ import org.springframework.web.client.RestTemplate; import static org.mockito.ArgumentMatchers.*; import static org.mockito.Mockito.when; -@Log4j2 +@Slf4j @SpringBootTest @ExtendWith(SpringExtension.class) public class InterceptorUnitTest extends BaseTest { diff --git a/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/gateway/MetadataServiceGatewayUnitTest.java b/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/gateway/MetadataServiceGatewayUnitTest.java index 751c5248c1655dee2440521441a50d1bc9d50324..d9b2af28e96e8800e4ec3e6ef16dd692ac73d927 100644 --- a/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/gateway/MetadataServiceGatewayUnitTest.java +++ b/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/gateway/MetadataServiceGatewayUnitTest.java @@ -9,7 +9,7 @@ import at.ac.tuwien.ifs.dbrepo.core.api.identifier.IdentifierBriefDto; import at.ac.tuwien.ifs.dbrepo.core.api.user.UserDto; import at.ac.tuwien.ifs.dbrepo.core.exception.*; import at.ac.tuwien.ifs.dbrepo.core.test.BaseTest; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.springframework.beans.factory.annotation.Autowired; @@ -30,7 +30,7 @@ import static org.mockito.ArgumentMatchers.*; import static org.mockito.Mockito.doThrow; import static org.mockito.Mockito.when; -@Log4j2 +@Slf4j @SpringBootTest @ExtendWith(SpringExtension.class) public class MetadataServiceGatewayUnitTest extends BaseTest { diff --git a/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/handlers/ApiExceptionHandlerTest.java b/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/handlers/ApiExceptionHandlerTest.java index ede6492560b8f0e76e3a329ef7561c6137d97cd7..46f308769e83755d7c4b15cc20e41c821b78042e 100644 --- a/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/handlers/ApiExceptionHandlerTest.java +++ b/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/handlers/ApiExceptionHandlerTest.java @@ -3,7 +3,7 @@ package at.ac.tuwien.ifs.dbrepo.handlers; import at.ac.tuwien.ifs.dbrepo.core.api.error.ApiErrorDto; import at.ac.tuwien.ifs.dbrepo.core.exception.*; import at.ac.tuwien.ifs.dbrepo.core.test.BaseTest; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; @@ -26,7 +26,7 @@ import static at.ac.tuwien.ifs.dbrepo.core.test.utils.EndpointUtils.getException import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNotNull; -@Log4j2 +@Slf4j @ExtendWith(SpringExtension.class) @SpringBootTest public class ApiExceptionHandlerTest extends BaseTest { diff --git a/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/listener/DefaultListenerIntegrationTest.java b/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/listener/DefaultListenerIntegrationTest.java index c87cd5fd49066b15b326b7d4ddf8f0eda3ec6b17..3d4f432a0c7784b98c4ed72519e24e6a2b441b7e 100644 --- a/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/listener/DefaultListenerIntegrationTest.java +++ b/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/listener/DefaultListenerIntegrationTest.java @@ -8,7 +8,7 @@ import at.ac.tuwien.ifs.dbrepo.core.test.BaseTest; import at.ac.tuwien.ifs.dbrepo.config.MariaDbConfig; import at.ac.tuwien.ifs.dbrepo.config.MariaDbContainerConfig; import at.ac.tuwien.ifs.dbrepo.service.CacheService; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; @@ -32,7 +32,7 @@ import static at.ac.tuwien.ifs.dbrepo.utils.RabbitMqUtils.buildMessage; import static org.junit.jupiter.api.Assertions.assertTrue; import static org.mockito.Mockito.when; -@Log4j2 +@Slf4j @SpringBootTest @ExtendWith({SpringExtension.class, OutputCaptureExtension.class}) @Testcontainers diff --git a/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/listener/DefaultListenerUnitTest.java b/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/listener/DefaultListenerUnitTest.java index 72aba7246361b328fee630a1972bc53c431799e5..80b01dc533fc65b57c9eeda64ddc5e2530df90aa 100644 --- a/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/listener/DefaultListenerUnitTest.java +++ b/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/listener/DefaultListenerUnitTest.java @@ -2,7 +2,7 @@ package at.ac.tuwien.ifs.dbrepo.listener; import at.ac.tuwien.ifs.dbrepo.config.MariaDbContainerConfig; import at.ac.tuwien.ifs.dbrepo.service.CacheService; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.springframework.amqp.core.Message; @@ -23,7 +23,7 @@ import static at.ac.tuwien.ifs.dbrepo.utils.RabbitMqUtils.buildMessage; import static org.junit.jupiter.api.Assertions.assertTrue; import static org.mockito.Mockito.doThrow; -@Log4j2 +@Slf4j @SpringBootTest @ExtendWith({SpringExtension.class, OutputCaptureExtension.class}) @Testcontainers diff --git a/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/mapper/MariaDbMapperUnitTest.java b/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/mapper/MariaDbMapperUnitTest.java index b85c3935ff93d56d6eae8b4b86356f18d3b33394..de154cbe6f7b1aa5faf44c56ab95cb1aadc3e7b2 100644 --- a/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/mapper/MariaDbMapperUnitTest.java +++ b/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/mapper/MariaDbMapperUnitTest.java @@ -1,7 +1,7 @@ package at.ac.tuwien.ifs.dbrepo.mapper; import at.ac.tuwien.ifs.dbrepo.core.test.BaseTest; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.extension.ExtendWith; import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.Arguments; @@ -14,7 +14,7 @@ import java.util.stream.Stream; import static org.junit.jupiter.api.Assertions.assertEquals; -@Log4j2 +@Slf4j @SpringBootTest @ExtendWith(SpringExtension.class) public class MariaDbMapperUnitTest extends BaseTest { diff --git a/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/mvc/ActuatorEndpointMvcTest.java b/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/mvc/ActuatorEndpointMvcTest.java index 7d8c74437a1204dda49c7f18bdaba94ff668d01e..c17587d97fea435d79acd9ee67df5940840cc461 100644 --- a/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/mvc/ActuatorEndpointMvcTest.java +++ b/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/mvc/ActuatorEndpointMvcTest.java @@ -1,7 +1,7 @@ package at.ac.tuwien.ifs.dbrepo.mvc; import at.ac.tuwien.ifs.dbrepo.core.test.BaseTest; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.springframework.beans.factory.annotation.Autowired; @@ -15,7 +15,7 @@ import static org.springframework.test.web.servlet.request.MockMvcRequestBuilder import static org.springframework.test.web.servlet.result.MockMvcResultHandlers.print; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; -@Log4j2 +@Slf4j @ExtendWith(SpringExtension.class) @AutoConfigureMockMvc @SpringBootTest diff --git a/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/mvc/OpenApiEndpointMvcTest.java b/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/mvc/OpenApiEndpointMvcTest.java index 102b50fe745bbe265b9e63d7a41a23008050b2ef..2289ecf0668c23d57a29e58f5c65bb2d5c8a358a 100644 --- a/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/mvc/OpenApiEndpointMvcTest.java +++ b/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/mvc/OpenApiEndpointMvcTest.java @@ -6,7 +6,7 @@ import at.ac.tuwien.ifs.dbrepo.core.test.BaseTest; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.media.Content; import io.swagger.v3.oas.annotations.responses.ApiResponse; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.springframework.beans.factory.annotation.Autowired; @@ -26,7 +26,7 @@ import static org.springframework.test.web.servlet.request.MockMvcRequestBuilder import static org.springframework.test.web.servlet.result.MockMvcResultHandlers.print; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; -@Log4j2 +@Slf4j @ExtendWith(SpringExtension.class) @AutoConfigureMockMvc @SpringBootTest diff --git a/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/mvc/PrometheusEndpointMvcTest.java b/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/mvc/PrometheusEndpointMvcTest.java index 956e09e7d684ceb0dce1282a997f7c9dbf0641be..ad75aebf55d60918fad9a03c7e8262912f92d5ed 100644 --- a/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/mvc/PrometheusEndpointMvcTest.java +++ b/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/mvc/PrometheusEndpointMvcTest.java @@ -13,7 +13,7 @@ import at.ac.tuwien.ifs.dbrepo.listener.DefaultListener; import at.ac.tuwien.ifs.dbrepo.core.test.BaseTest; import io.micrometer.observation.tck.TestObservationRegistry; import jakarta.servlet.http.HttpServletRequest; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.springframework.beans.factory.annotation.Autowired; @@ -36,7 +36,7 @@ import static org.springframework.test.web.servlet.request.MockMvcRequestBuilder import static org.springframework.test.web.servlet.result.MockMvcResultHandlers.print; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; -@Log4j2 +@Slf4j @ExtendWith(SpringExtension.class) @AutoConfigureMockMvc @SpringBootTest diff --git a/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/mvc/SubsetEndpointMvcTest.java b/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/mvc/SubsetEndpointMvcTest.java index 69d41cf983863859dd42a85c3380102776bd00f8..122b168e83a6cbbec87d8a3b02129a1433cd26e4 100644 --- a/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/mvc/SubsetEndpointMvcTest.java +++ b/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/mvc/SubsetEndpointMvcTest.java @@ -3,7 +3,7 @@ package at.ac.tuwien.ifs.dbrepo.mvc; import at.ac.tuwien.ifs.dbrepo.gateway.MetadataServiceGateway; import at.ac.tuwien.ifs.dbrepo.service.SubsetService; import at.ac.tuwien.ifs.dbrepo.core.test.BaseTest; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.springframework.beans.factory.annotation.Autowired; @@ -20,7 +20,7 @@ import static org.springframework.test.web.servlet.request.MockMvcRequestBuilder import static org.springframework.test.web.servlet.result.MockMvcResultHandlers.print; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; -@Log4j2 +@Slf4j @ExtendWith(SpringExtension.class) @AutoConfigureMockMvc @SpringBootTest diff --git a/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/service/AccessServiceIntegrationTest.java b/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/service/AccessServiceIntegrationTest.java index 0834d8a34ce72be9e8dd2b22d8d49694fdf1d2ae..9e17d447dde57109fd35202bf302660be7b42386 100644 --- a/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/service/AccessServiceIntegrationTest.java +++ b/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/service/AccessServiceIntegrationTest.java @@ -5,7 +5,7 @@ import at.ac.tuwien.ifs.dbrepo.config.MariaDbConfig; import at.ac.tuwien.ifs.dbrepo.config.MariaDbContainerConfig; import at.ac.tuwien.ifs.dbrepo.core.exception.DatabaseMalformedException; import at.ac.tuwien.ifs.dbrepo.core.test.BaseTest; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; @@ -22,7 +22,7 @@ import java.util.List; import static org.junit.jupiter.api.Assertions.*; -@Log4j2 +@Slf4j @SpringBootTest @ExtendWith(SpringExtension.class) @Testcontainers diff --git a/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/service/ContainerServiceIntegrationTest.java b/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/service/ContainerServiceIntegrationTest.java index 24f8be45f54d5ffc0a4e41f25e546fd8186e71e5..0e3d1a4d9a3e58c1e776d528022f046b2aa9f01b 100644 --- a/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/service/ContainerServiceIntegrationTest.java +++ b/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/service/ContainerServiceIntegrationTest.java @@ -6,7 +6,7 @@ import at.ac.tuwien.ifs.dbrepo.config.MariaDbContainerConfig; import at.ac.tuwien.ifs.dbrepo.core.exception.DatabaseMalformedException; import at.ac.tuwien.ifs.dbrepo.core.exception.QueryStoreCreateException; import at.ac.tuwien.ifs.dbrepo.core.test.BaseTest; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; @@ -24,7 +24,7 @@ import java.util.Map; import static org.junit.jupiter.api.Assertions.*; -@Log4j2 +@Slf4j @SpringBootTest @ExtendWith(SpringExtension.class) @Testcontainers diff --git a/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/service/CredentialServiceUnitTest.java b/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/service/CredentialServiceUnitTest.java index 4fcafa9e86525537d69186898a2ce4dfcfaa6d4e..d235ea05e09418bfd46545d02914f6276dfc06f1 100644 --- a/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/service/CredentialServiceUnitTest.java +++ b/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/service/CredentialServiceUnitTest.java @@ -10,7 +10,7 @@ import at.ac.tuwien.ifs.dbrepo.core.exception.*; import at.ac.tuwien.ifs.dbrepo.gateway.MetadataServiceGateway; import at.ac.tuwien.ifs.dbrepo.service.impl.CacheServiceImpl; import at.ac.tuwien.ifs.dbrepo.core.test.BaseTest; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; @@ -24,7 +24,7 @@ import java.sql.SQLException; import static org.junit.jupiter.api.Assertions.*; import static org.mockito.Mockito.when; -@Log4j2 +@Slf4j @SpringBootTest @ExtendWith(SpringExtension.class) public class CredentialServiceUnitTest extends BaseTest { diff --git a/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/service/DatabaseServiceIntegrationTest.java b/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/service/DatabaseServiceIntegrationTest.java index db1b29a29e5a4c720969c35b7778c29df347ccfc..493a2430b863b962e10b6a64737dbeee459f696f 100644 --- a/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/service/DatabaseServiceIntegrationTest.java +++ b/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/service/DatabaseServiceIntegrationTest.java @@ -20,7 +20,7 @@ import at.ac.tuwien.ifs.dbrepo.config.MariaDbConfig; import at.ac.tuwien.ifs.dbrepo.config.MariaDbContainerConfig; import at.ac.tuwien.ifs.dbrepo.core.exception.*; import at.ac.tuwien.ifs.dbrepo.core.test.BaseTest; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.BeforeEach; @@ -41,7 +41,7 @@ import java.util.UUID; import static org.junit.jupiter.api.Assertions.*; -@Log4j2 +@Slf4j @SpringBootTest @ExtendWith(SpringExtension.class) @Testcontainers diff --git a/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/service/QueueServiceIntegrationTest.java b/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/service/QueueServiceIntegrationTest.java index 594cb113ad0f897f58a62fe14e17779c802047ef..8a839e189813a3a3b31208849b4322620a293266 100644 --- a/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/service/QueueServiceIntegrationTest.java +++ b/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/service/QueueServiceIntegrationTest.java @@ -9,7 +9,7 @@ import at.ac.tuwien.ifs.dbrepo.core.exception.TableNotFoundException; import at.ac.tuwien.ifs.dbrepo.gateway.MetadataServiceGateway; import at.ac.tuwien.ifs.dbrepo.service.impl.QueueServiceRabbitMqImpl; import at.ac.tuwien.ifs.dbrepo.core.test.BaseTest; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; @@ -28,7 +28,7 @@ import java.util.Map; import static org.mockito.Mockito.when; -@Log4j2 +@Slf4j @SpringBootTest @ExtendWith(SpringExtension.class) @Testcontainers diff --git a/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/service/StorageServiceIntegrationTest.java b/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/service/StorageServiceIntegrationTest.java index 4f1c6efe40329961c213a463c1aa2fccb2168a33..e9f51a83f4fb29b09e0aa79543e11f74c4f65dbb 100644 --- a/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/service/StorageServiceIntegrationTest.java +++ b/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/service/StorageServiceIntegrationTest.java @@ -7,14 +7,13 @@ import at.ac.tuwien.ifs.dbrepo.core.exception.StorageNotFoundException; import at.ac.tuwien.ifs.dbrepo.core.exception.StorageUnavailableException; import at.ac.tuwien.ifs.dbrepo.core.exception.TableMalformedException; import at.ac.tuwien.ifs.dbrepo.core.test.BaseTest; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.apache.commons.io.FileUtils; import org.apache.spark.sql.Dataset; import org.apache.spark.sql.Row; import org.apache.spark.sql.SparkSession; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.BeforeEach; -import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.junit.jupiter.params.ParameterizedTest; @@ -44,7 +43,7 @@ import java.util.stream.Stream; import static org.junit.jupiter.api.Assertions.*; -@Log4j2 +@Slf4j @SpringBootTest @ExtendWith(SpringExtension.class) @Testcontainers @@ -83,17 +82,17 @@ public class StorageServiceIntegrationTest extends BaseTest { } @BeforeEach - public void beforeEach() throws SQLException { + public void beforeEach() throws SQLException, InterruptedException { /* s3 */ + Thread.sleep(1000) /* wait for test container some more */; if (s3Client.listBuckets().buckets().stream().noneMatch(b -> b.name().equals(s3Config.getS3Bucket()))) { + log.warn("Bucket {} not found", s3Config.getS3Bucket()); s3Client.createBucket(CreateBucketRequest.builder() .bucket(s3Config.getS3Bucket()) .build()); - } - if (s3Client.listBuckets().buckets().stream().noneMatch(b -> b.name().equals(s3Config.getS3Bucket()))) { - s3Client.createBucket(CreateBucketRequest.builder() - .bucket(s3Config.getS3Bucket()) - .build()); + log.info("Bucket {} created", s3Config.getS3Bucket()); + } else { + log.trace("bucket {} exists, continue", s3Config.getS3Bucket()); } } @@ -166,21 +165,6 @@ public class StorageServiceIntegrationTest extends BaseTest { }); } - @Test - public void getResource_succeeds() throws StorageUnavailableException, StorageNotFoundException { - - /* mock */ - s3Client.putObject(PutObjectRequest.builder() - .key("s3key") - .bucket(s3Config.getS3Bucket()) - .build(), RequestBody.fromFile(new File("src/test/resources/csv/weather_aus.csv"))); - - /* test */ - final ExportResourceDto response = storageService.getResource(s3Config.getS3Bucket(), "s3key"); - assertEquals("s3key", response.getFilename()); - assertNotNull(response.getResource()); - } - @Test public void getResource_notFound_fails() { @@ -233,7 +217,6 @@ public class StorageServiceIntegrationTest extends BaseTest { } @ParameterizedTest - @Disabled("cannot fix") @MethodSource("loadDataset_arguments") public void generic_loadDataset(String name, String separator, Boolean withHeader, Integer expectedRows) throws StorageUnavailableException, StorageNotFoundException, IOException, MalformedException, TableMalformedException { diff --git a/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/service/SubsetServiceIntegrationTest.java b/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/service/SubsetServiceIntegrationTest.java index 597d8812013f8899ce9ebf4a4d0734b1ede1894c..58fe62bae6981fd398ab746ec5a0f014c6782007 100644 --- a/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/service/SubsetServiceIntegrationTest.java +++ b/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/service/SubsetServiceIntegrationTest.java @@ -7,7 +7,7 @@ import at.ac.tuwien.ifs.dbrepo.config.MariaDbContainerConfig; import at.ac.tuwien.ifs.dbrepo.core.exception.*; import at.ac.tuwien.ifs.dbrepo.gateway.MetadataServiceGateway; import at.ac.tuwien.ifs.dbrepo.core.test.BaseTest; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.apache.spark.sql.Dataset; import org.apache.spark.sql.Row; import org.junit.jupiter.api.BeforeEach; @@ -35,7 +35,7 @@ import java.util.stream.Stream; import static org.junit.jupiter.api.Assertions.*; import static org.mockito.Mockito.when; -@Log4j2 +@Slf4j @SpringBootTest @ExtendWith(SpringExtension.class) @Testcontainers diff --git a/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/service/TableServiceIntegrationTest.java b/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/service/TableServiceIntegrationTest.java index 8029dc3081fdb0187decf6028f18a5214448af0b..63528e73892b70b6ad69115beb947e9e9bd31cdc 100644 --- a/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/service/TableServiceIntegrationTest.java +++ b/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/service/TableServiceIntegrationTest.java @@ -1,37 +1,27 @@ package at.ac.tuwien.ifs.dbrepo.service; -import at.ac.tuwien.ifs.dbrepo.core.api.database.query.ImportDto; -import at.ac.tuwien.ifs.dbrepo.core.api.database.table.*; -import at.ac.tuwien.ifs.dbrepo.core.api.database.table.columns.ColumnStatisticDto; import at.ac.tuwien.ifs.dbrepo.config.MariaDbConfig; import at.ac.tuwien.ifs.dbrepo.config.MariaDbContainerConfig; -import at.ac.tuwien.ifs.dbrepo.config.S3Config; +import at.ac.tuwien.ifs.dbrepo.config.SparkConfig; +import at.ac.tuwien.ifs.dbrepo.core.api.database.query.ImportDto; +import at.ac.tuwien.ifs.dbrepo.core.api.database.table.*; import at.ac.tuwien.ifs.dbrepo.core.exception.*; import at.ac.tuwien.ifs.dbrepo.core.test.BaseTest; import com.google.common.io.Files; -import lombok.extern.log4j.Log4j2; -import org.junit.jupiter.api.BeforeAll; +import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.BeforeEach; -import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; -import org.springframework.test.context.DynamicPropertyRegistry; -import org.springframework.test.context.DynamicPropertySource; +import org.springframework.test.context.bean.override.mockito.MockitoBean; import org.springframework.test.context.junit.jupiter.SpringExtension; import org.testcontainers.containers.MariaDBContainer; -import org.testcontainers.containers.MinIOContainer; import org.testcontainers.junit.jupiter.Container; import org.testcontainers.junit.jupiter.Testcontainers; -import software.amazon.awssdk.core.sync.RequestBody; -import software.amazon.awssdk.services.s3.S3Client; -import software.amazon.awssdk.services.s3.model.CreateBucketRequest; -import software.amazon.awssdk.services.s3.model.PutObjectRequest; import java.io.File; import java.io.IOException; -import java.math.BigDecimal; import java.sql.SQLException; import java.time.Instant; import java.util.HashMap; @@ -40,8 +30,10 @@ import java.util.Map; import java.util.Set; import static org.junit.jupiter.api.Assertions.*; +import static org.mockito.ArgumentMatchers.*; +import static org.mockito.Mockito.when; -@Log4j2 +@Slf4j @SpringBootTest @ExtendWith(SpringExtension.class) @Testcontainers @@ -51,27 +43,14 @@ public class TableServiceIntegrationTest extends BaseTest { private TableService tableService; @Autowired - private S3Client s3Client; + private SparkConfig sparkConfig; - @Autowired - private S3Config s3Config; + @MockitoBean + private StorageService storageService; @Container private static MariaDBContainer<?> mariaDBContainer = MariaDbContainerConfig.getContainer(); - @Container - private static final MinIOContainer minIOContainer = new MinIOContainer(MINIO_IMAGE); - - @DynamicPropertySource - static void dynamicProperties(DynamicPropertyRegistry registry) { - registry.add("dbrepo.endpoints.storageService", minIOContainer::getS3URL); - } - - @BeforeAll - public static void beforeAll() throws InterruptedException { - Thread.sleep(1000) /* wait for test container some more */; - } - @BeforeEach public void beforeEach() throws SQLException { /* metadata database */ @@ -80,17 +59,6 @@ public class TableServiceIntegrationTest extends BaseTest { MariaDbConfig.dropDatabase(CONTAINER_1_PRIVILEGED_DTO, DATABASE_3_INTERNAL_NAME); MariaDbConfig.createInitDatabase(DATABASE_1_PRIVILEGED_DTO); MariaDbConfig.createInitDatabase(DATABASE_3_PRIVILEGED_DTO); - /* s3 */ - if (s3Client.listBuckets().buckets().stream().noneMatch(b -> b.name().equals(s3Config.getS3Bucket()))) { - s3Client.createBucket(CreateBucketRequest.builder() - .bucket(s3Config.getS3Bucket()) - .build()); - } - if (s3Client.listBuckets().buckets().stream().noneMatch(b -> b.name().equals(s3Config.getS3Bucket()))) { - s3Client.createBucket(CreateBucketRequest.builder() - .bucket(s3Config.getS3Bucket()) - .build()); - } } @Test @@ -224,7 +192,6 @@ public class TableServiceIntegrationTest extends BaseTest { @Test public void createTuple_autogeneratedBlob_succeeds() throws SQLException, TableMalformedException, QueryMalformedException, StorageUnavailableException, StorageNotFoundException, IOException { - /* add row with primary key */ final TupleDto request = TupleDto.builder() .data(new HashMap<>() {{ put("value", "24.3"); @@ -233,10 +200,8 @@ public class TableServiceIntegrationTest extends BaseTest { .build(); /* mock */ - s3Client.putObject(PutObjectRequest.builder() - .key("s3key") - .bucket(s3Config.getS3Bucket()) - .build(), RequestBody.fromFile(new File("src/test/resources/csv/keyboard.csv"))); + when(storageService.getBytes("s3key")) + .thenReturn(Files.toByteArray(new File("src/test/resources/csv/keyboard.csv"))); /* test */ tableService.createTuple(DATABASE_3_PRIVILEGED_DTO, TABLE_8_DTO, request); @@ -301,40 +266,6 @@ public class TableServiceIntegrationTest extends BaseTest { assertEquals(0, result.size()); } - @Test - @Disabled("Not stable CI/CD") - public void getStatistics_succeeds() throws TableMalformedException, SQLException, TableNotFoundException { - - /* test */ - final TableStatisticDto response = tableService.getStatistics(DATABASE_1_PRIVILEGED_DTO, TABLE_2_INTERNAL_NAME); - assertEquals(TABLE_2_COLUMNS.size(), response.getColumns().size()); - assertEquals(TABLE_2_COLUMNS.size(), response.getTotalColumns()); - log.trace("response rows: {}", response.getTotalRows()); - assertEquals(3L, response.getTotalRows()); - assertEquals(List.of("location", "lat", "lng"), response.getColumns().stream().map(ColumnStatisticDto::getName).toList()); - final ColumnStatisticDto column0 = response.getColumns().get(0); - assertEquals("location", column0.getName()); - assertNull(column0.getMin()); - assertNull(column0.getMax()); - assertNull(column0.getMean()); - assertNull(column0.getMedian()); - assertNull(column0.getStdDev()); - final ColumnStatisticDto column3 = response.getColumns().get(3); - assertEquals("lat", column0.getName()); - assertEquals(BigDecimal.valueOf(-36.0653583), column3.getMin()); - assertEquals(BigDecimal.valueOf(-33.847927), column3.getMax()); - assertNotNull(column3.getMean()); - assertNotNull(column3.getMedian()); - assertNotNull(column3.getStdDev()); - final ColumnStatisticDto column4 = response.getColumns().get(4); - assertEquals("lng", column0.getName()); - assertEquals(BigDecimal.valueOf(146.9112214), column4.getMin()); - assertEquals(BigDecimal.valueOf(150.6517942), column4.getMax()); - assertNotNull(column4.getMean()); - assertNotNull(column4.getMedian()); - assertNotNull(column4.getStdDev()); - } - @Test public void delete_succeeds() throws SQLException, QueryMalformedException { @@ -418,52 +349,28 @@ public class TableServiceIntegrationTest extends BaseTest { .build(); /* mock */ - s3Client.putObject(PutObjectRequest.builder() - .key("s3key") - .bucket(s3Config.getS3Bucket()) - .build(), RequestBody.fromFile(new File("src/test/resources/csv/weather_aus.csv"))); + when(storageService.loadDataset(anyList(), anyString(), anyString(), anyBoolean())) + .thenReturn(sparkConfig.loadDataset("src/test/resources/csv/weather_aus.csv", ";", false, "id", "Date", "Location", "MinTemp", "Rainfall")); /* test */ tableService.importDataset(DATABASE_1_PRIVILEGED_DTO, TABLE_1_DTO, request); } @Test - public void importDataset_withHeader_fails() { - final ImportDto request = ImportDto.builder() - .header(true) - .lineTermination("\n") - .quote('"') - .separator(';') - .location("s3key") /* irrelevant */ - .build(); - - /* mock */ - s3Client.putObject(PutObjectRequest.builder() - .key("s3key") - .bucket(s3Config.getS3Bucket()) - .build(), RequestBody.fromFile(new File("src/test/resources/csv/weather_aus.csv"))); - - /* test */ - assertThrows(TableMalformedException.class, () -> { - tableService.importDataset(DATABASE_1_PRIVILEGED_DTO, TABLE_1_DTO, request); - }); - } - - @Test - public void importDataset_wrongSeparator_fails() { + public void importDataset_wrongSeparator_fails() throws MalformedException, StorageUnavailableException, + TableMalformedException, StorageNotFoundException { + final Character separator = ','; final ImportDto request = ImportDto.builder() .header(false) .lineTermination("\n") .quote('"') - .separator(',') + .separator(separator) .location("s3key") /* irrelevant */ .build(); /* mock */ - s3Client.putObject(PutObjectRequest.builder() - .key("s3key") - .bucket(s3Config.getS3Bucket()) - .build(), RequestBody.fromFile(new File("src/test/resources/csv/weather_aus.csv"))); + when(storageService.loadDataset(anyList(), anyString(), anyString(), anyBoolean())) + .thenReturn(sparkConfig.loadDataset("src/test/resources/csv/weather_aus.csv", "" + separator, false, "id;Date;Location;MinTemp;Rainfall")); /* test */ assertThrows(MalformedException.class, () -> { diff --git a/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/service/ViewServiceIntegrationTest.java b/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/service/ViewServiceIntegrationTest.java index 55776ac7118544b10e7c090f8805dfc853d8cf89..8053b24ed6ded12279d23c8a0f0acc8116eee3d4 100644 --- a/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/service/ViewServiceIntegrationTest.java +++ b/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/service/ViewServiceIntegrationTest.java @@ -4,7 +4,7 @@ import at.ac.tuwien.ifs.dbrepo.config.MariaDbConfig; import at.ac.tuwien.ifs.dbrepo.config.MariaDbContainerConfig; import at.ac.tuwien.ifs.dbrepo.core.exception.ViewMalformedException; import at.ac.tuwien.ifs.dbrepo.core.test.BaseTest; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; @@ -17,7 +17,7 @@ import org.testcontainers.junit.jupiter.Testcontainers; import java.sql.SQLException; -@Log4j2 +@Slf4j @SpringBootTest @ExtendWith(SpringExtension.class) @Testcontainers diff --git a/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/validation/EndpointValidatorUnitTest.java b/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/validation/EndpointValidatorUnitTest.java index f63c7618bc3b3583a8e69dfcd7cc8b5f01387185..759e9e34ab723316fa1b002c2258df7ed4e7a27d 100644 --- a/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/validation/EndpointValidatorUnitTest.java +++ b/dbrepo-data-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/validation/EndpointValidatorUnitTest.java @@ -2,7 +2,7 @@ package at.ac.tuwien.ifs.dbrepo.validation; import at.ac.tuwien.ifs.dbrepo.core.exception.PaginationException; import at.ac.tuwien.ifs.dbrepo.core.test.BaseTest; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.springframework.beans.factory.annotation.Autowired; @@ -13,7 +13,7 @@ import org.springframework.test.context.junit.jupiter.SpringExtension; import static org.junit.jupiter.api.Assertions.assertThrows; -@Log4j2 +@Slf4j @ExtendWith(SpringExtension.class) @AutoConfigureMockMvc @SpringBootTest diff --git a/dbrepo-data-service/rest-service/src/test/resources/application-ci.properties b/dbrepo-data-service/rest-service/src/test/resources/application-ci.properties new file mode 100644 index 0000000000000000000000000000000000000000..66bf634db786ef550609859aee270ca37af7bd1c --- /dev/null +++ b/dbrepo-data-service/rest-service/src/test/resources/application-ci.properties @@ -0,0 +1 @@ +dbrepo.endpoints.storageService=http://minio:9000 \ No newline at end of file diff --git a/dbrepo-data-service/rest-service/src/test/resources/application.properties b/dbrepo-data-service/rest-service/src/test/resources/application.properties index 5086a6175bbd3c73974bba6d99725bddc3fa7459..eeb22fe1bcd35f323f0eee1dd16d53436d3c290b 100644 --- a/dbrepo-data-service/rest-service/src/test/resources/application.properties +++ b/dbrepo-data-service/rest-service/src/test/resources/application.properties @@ -1,6 +1,3 @@ -# enable local spring profile -spring.profiles.active=local,junit - # disable discovery spring.cloud.discovery.enabled=false @@ -35,4 +32,3 @@ spring.rabbitmq.password=guest # s3 dbrepo.s3.accessKeyId=minioadmin dbrepo.s3.secretAccessKey=minioadmin -dbrepo.s3.maxAge=3 diff --git a/dbrepo-data-service/rest-service/src/test/resources/init/musicology.sql b/dbrepo-data-service/rest-service/src/test/resources/init/musicology.sql index a2fc3f2b313cdd536e8ccba075bf7353be2b1438..4a049fd26cd48af39a8e492e21006a6e7e00f0f8 100644 --- a/dbrepo-data-service/rest-service/src/test/resources/init/musicology.sql +++ b/dbrepo-data-service/rest-service/src/test/resources/init/musicology.sql @@ -6,7 +6,7 @@ CREATE SEQUENCE seq_mfcc; CREATE TABLE mfcc ( id BIGINT PRIMARY KEY NOT NULL DEFAULT nextval(`seq_mfcc`), - value DECIMAL NOT NULL, + value DECIMAL(10, 2) NOT NULL, raw LONGBLOB NULL ) WITH SYSTEM VERSIONING; diff --git a/dbrepo-data-service/services/pom.xml b/dbrepo-data-service/services/pom.xml index 45586a25263137ec06929560572d0c624a5f9636..3388d031acae457da0a0d434112f4baf6afb8da3 100644 --- a/dbrepo-data-service/services/pom.xml +++ b/dbrepo-data-service/services/pom.xml @@ -6,18 +6,18 @@ <parent> <groupId>at.ac.tuwien.ifs.dbrepo</groupId> <artifactId>data-service</artifactId> - <version>1.8.2</version> + <version>1.9.0</version> </parent> <name>services</name> <artifactId>services</artifactId> - <version>1.8.2</version> + <version>1.9.0</version> <dependencies> <dependency> <groupId>at.ac.tuwien.ifs.dbrepo</groupId> <artifactId>querystore</artifactId> - <version>1.8.2</version> + <version>1.9.0</version> </dependency> </dependencies> diff --git a/dbrepo-data-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/auth/AuthTokenFilter.java b/dbrepo-data-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/auth/AuthTokenFilter.java index 1e748a391b887c52769dabfdf74eef5a992ac4fc..9f85478588dace37214902a02810f2756cf92da4 100644 --- a/dbrepo-data-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/auth/AuthTokenFilter.java +++ b/dbrepo-data-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/auth/AuthTokenFilter.java @@ -11,7 +11,7 @@ import jakarta.servlet.FilterChain; import jakarta.servlet.ServletException; import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Value; import org.springframework.security.authentication.BadCredentialsException; import org.springframework.security.authentication.UsernamePasswordAuthenticationToken; @@ -32,7 +32,7 @@ import java.util.Arrays; import java.util.Base64; import java.util.stream.Collectors; -@Log4j2 +@Slf4j public class AuthTokenFilter extends OncePerRequestFilter { @Value("${dbrepo.jwt.public_key}") diff --git a/dbrepo-data-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/auth/BasicAuthenticationProvider.java b/dbrepo-data-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/auth/BasicAuthenticationProvider.java index 5ab64107cd4dc80be7b16a8db0db4815372cc3fc..86debdbe920bc2eaa1d00b27234fdc5684d8242c 100644 --- a/dbrepo-data-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/auth/BasicAuthenticationProvider.java +++ b/dbrepo-data-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/auth/BasicAuthenticationProvider.java @@ -2,7 +2,7 @@ package at.ac.tuwien.ifs.dbrepo.auth; import at.ac.tuwien.ifs.dbrepo.core.api.keycloak.TokenDto; import at.ac.tuwien.ifs.dbrepo.service.CredentialService; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.authentication.AuthenticationManager; import org.springframework.security.authentication.UsernamePasswordAuthenticationToken; @@ -11,7 +11,7 @@ import org.springframework.security.core.AuthenticationException; import org.springframework.security.core.userdetails.UserDetails; import org.springframework.stereotype.Component; -@Log4j2 +@Slf4j @Component public class BasicAuthenticationProvider implements AuthenticationManager { diff --git a/dbrepo-data-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/auth/InternalRequestInterceptor.java b/dbrepo-data-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/auth/InternalRequestInterceptor.java index 09076f95b993b17f2b53112d96ceb8bd6c4a5dae..1436256554bb92a25f564f4c8e44549fa6b5bfb5 100644 --- a/dbrepo-data-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/auth/InternalRequestInterceptor.java +++ b/dbrepo-data-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/auth/InternalRequestInterceptor.java @@ -3,7 +3,7 @@ package at.ac.tuwien.ifs.dbrepo.auth; import at.ac.tuwien.ifs.dbrepo.core.api.keycloak.TokenDto; import at.ac.tuwien.ifs.dbrepo.config.GatewayConfig; import at.ac.tuwien.ifs.dbrepo.service.CredentialService; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpHeaders; import org.springframework.http.HttpRequest; @@ -15,7 +15,7 @@ import org.springframework.http.client.ClientHttpResponse; import java.io.IOException; import java.util.List; -@Log4j2 +@Slf4j public class InternalRequestInterceptor implements ClientHttpRequestInterceptor { private final CredentialService credentialService; diff --git a/dbrepo-data-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/config/GatewayConfig.java b/dbrepo-data-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/config/GatewayConfig.java index 12bd674a50388badc118535f9192609adf95d130..e4ec051092bc49d28556ed93cda8b2a14fac400a 100644 --- a/dbrepo-data-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/config/GatewayConfig.java +++ b/dbrepo-data-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/config/GatewayConfig.java @@ -3,7 +3,7 @@ package at.ac.tuwien.ifs.dbrepo.config; import at.ac.tuwien.ifs.dbrepo.auth.InternalRequestInterceptor; import at.ac.tuwien.ifs.dbrepo.service.CredentialService; import lombok.Getter; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Bean; @@ -11,7 +11,7 @@ import org.springframework.context.annotation.Configuration; import org.springframework.web.client.RestTemplate; import org.springframework.web.util.DefaultUriBuilderFactory; -@Log4j2 +@Slf4j @Getter @Configuration public class GatewayConfig { diff --git a/dbrepo-data-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/config/JacksonConfig.java b/dbrepo-data-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/config/JacksonConfig.java index 567d223eb31cedc2fb0445854e8da2509f212905..8ff2d5434e15532168491e1f5f466b041d475c9d 100644 --- a/dbrepo-data-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/config/JacksonConfig.java +++ b/dbrepo-data-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/config/JacksonConfig.java @@ -5,13 +5,13 @@ import com.fasterxml.jackson.databind.SerializationFeature; import com.fasterxml.jackson.datatype.hibernate6.Hibernate6Module; import com.fasterxml.jackson.datatype.jdk8.Jdk8Module; import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import java.util.TimeZone; -@Log4j2 +@Slf4j @Configuration public class JacksonConfig { diff --git a/dbrepo-data-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/config/QueryConfig.java b/dbrepo-data-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/config/QueryConfig.java index eed47bdf467947c821b2c8ef0be0dfbd4fdbe385..59b58aef0226c3d3d44127d2c3f75f41a64129bb 100644 --- a/dbrepo-data-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/config/QueryConfig.java +++ b/dbrepo-data-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/config/QueryConfig.java @@ -1,7 +1,7 @@ package at.ac.tuwien.ifs.dbrepo.config; import lombok.Getter; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.jooq.DSLContext; import org.jooq.SQLDialect; import org.jooq.conf.Settings; @@ -12,7 +12,7 @@ import org.springframework.context.annotation.Configuration; import static org.jooq.impl.DSL.using; -@Log4j2 +@Slf4j @Getter @Configuration public class QueryConfig { diff --git a/dbrepo-data-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/config/RabbitConfig.java b/dbrepo-data-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/config/RabbitConfig.java index 347aca691a734badc1fc9eb9bce86bbc29758bed..7cf12d8adb27fdb8b1296761226a44f39de73834 100644 --- a/dbrepo-data-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/config/RabbitConfig.java +++ b/dbrepo-data-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/config/RabbitConfig.java @@ -2,7 +2,7 @@ package at.ac.tuwien.ifs.dbrepo.config; import at.ac.tuwien.ifs.dbrepo.listener.DefaultListener; import lombok.Getter; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.springframework.amqp.rabbit.connection.ConnectionFactory; import org.springframework.amqp.rabbit.core.RabbitTemplate; import org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer; @@ -12,7 +12,7 @@ import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @Getter -@Log4j2 +@Slf4j @Configuration public class RabbitConfig { diff --git a/dbrepo-data-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/config/S3Config.java b/dbrepo-data-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/config/S3Config.java index e9d1aa41a966c9d907007d7228c6ac72e81f67b6..6202d2b2a85edf1a35b739fa45892fc364d2eb09 100644 --- a/dbrepo-data-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/config/S3Config.java +++ b/dbrepo-data-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/config/S3Config.java @@ -1,7 +1,7 @@ package at.ac.tuwien.ifs.dbrepo.config; import lombok.Getter; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @@ -13,7 +13,7 @@ import software.amazon.awssdk.services.s3.S3Client; import java.net.URI; -@Log4j2 +@Slf4j @Getter @Configuration public class S3Config { diff --git a/dbrepo-data-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/config/SparkConfig.java b/dbrepo-data-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/config/SparkConfig.java index fe9421f2d0746087375e5568f81258b20500a52b..12640fbc42c10211beecacde41708ce5fa718cbd 100644 --- a/dbrepo-data-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/config/SparkConfig.java +++ b/dbrepo-data-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/config/SparkConfig.java @@ -1,7 +1,7 @@ package at.ac.tuwien.ifs.dbrepo.config; import lombok.Getter; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.apache.spark.SparkConf; import org.apache.spark.sql.SparkSession; import org.springframework.beans.factory.annotation.Value; @@ -11,7 +11,7 @@ import org.springframework.context.annotation.Configuration; import java.util.LinkedHashMap; import java.util.Map; -@Log4j2 +@Slf4j @Getter @Configuration public class SparkConfig { diff --git a/dbrepo-data-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/gateway/MetadataServiceGateway.java b/dbrepo-data-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/gateway/MetadataServiceGateway.java index c2f901c3cb25d5a923748e9109a2fc6075a45075..d68cac09a7324a42cb09772608844fe637807552 100644 --- a/dbrepo-data-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/gateway/MetadataServiceGateway.java +++ b/dbrepo-data-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/gateway/MetadataServiceGateway.java @@ -12,7 +12,7 @@ import jakarta.validation.constraints.NotNull; import java.util.List; import java.util.UUID; -// todo ? + public interface MetadataServiceGateway { /** diff --git a/dbrepo-data-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/gateway/impl/KeycloakGatewayImpl.java b/dbrepo-data-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/gateway/impl/KeycloakGatewayImpl.java index b5b623551137187b33b28e1157f6b6463229db0f..f7af25d5d40a949c61a211de502942dec8a89139 100644 --- a/dbrepo-data-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/gateway/impl/KeycloakGatewayImpl.java +++ b/dbrepo-data-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/gateway/impl/KeycloakGatewayImpl.java @@ -5,7 +5,7 @@ import at.ac.tuwien.ifs.dbrepo.gateway.KeycloakGateway; import at.ac.tuwien.ifs.dbrepo.core.api.keycloak.TokenDto; import at.ac.tuwien.ifs.dbrepo.mapper.DataMapper; import jakarta.ws.rs.NotAuthorizedException; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.keycloak.OAuth2Constants; import org.keycloak.admin.client.Keycloak; import org.keycloak.admin.client.KeycloakBuilder; @@ -13,7 +13,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.authentication.BadCredentialsException; import org.springframework.stereotype.Service; -@Log4j2 +@Slf4j @Service public class KeycloakGatewayImpl implements KeycloakGateway { diff --git a/dbrepo-data-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/gateway/impl/MetadataServiceGatewayImpl.java b/dbrepo-data-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/gateway/impl/MetadataServiceGatewayImpl.java index 7175151c109419f76d89f4f25c9a1a0912075d9e..92fd53ef232a4e3e34f4f362b2b97e6e86d98c4a 100644 --- a/dbrepo-data-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/gateway/impl/MetadataServiceGatewayImpl.java +++ b/dbrepo-data-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/gateway/impl/MetadataServiceGatewayImpl.java @@ -12,7 +12,7 @@ import at.ac.tuwien.ifs.dbrepo.config.GatewayConfig; import at.ac.tuwien.ifs.dbrepo.gateway.MetadataServiceGateway; import at.ac.tuwien.ifs.dbrepo.mapper.DataMapper; import jakarta.validation.constraints.NotNull; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.http.*; @@ -27,20 +27,21 @@ import java.time.Instant; import java.util.List; import java.util.UUID; -@Log4j2 +@Slf4j @Service public class MetadataServiceGatewayImpl implements MetadataServiceGateway { private final DataMapper dataMapper; - private final GatewayConfig gatewayConfig; private final RestTemplate internalRestTemplate; + private final GatewayConfig gatewayConfig; @Autowired - public MetadataServiceGatewayImpl(DataMapper dataMapper, GatewayConfig gatewayConfig, - @Qualifier("internalRestTemplate") RestTemplate internalRestTemplate) { + public MetadataServiceGatewayImpl(DataMapper dataMapper, + @Qualifier("internalRestTemplate") RestTemplate internalRestTemplate, + GatewayConfig gatewayConfig) { this.dataMapper = dataMapper; - this.gatewayConfig = gatewayConfig; this.internalRestTemplate = internalRestTemplate; + this.gatewayConfig = gatewayConfig; } @Override diff --git a/dbrepo-data-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/listener/DefaultListener.java b/dbrepo-data-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/listener/DefaultListener.java index 436cadc3d3e63680b0953cf3633a54b60faa33b4..98ae26e4b6f3398baf934914ca251ea29760980f 100644 --- a/dbrepo-data-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/listener/DefaultListener.java +++ b/dbrepo-data-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/listener/DefaultListener.java @@ -12,7 +12,7 @@ import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.databind.ObjectMapper; import io.micrometer.observation.annotation.Observed; import io.swagger.v3.oas.annotations.Operation; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.springframework.amqp.core.Message; import org.springframework.amqp.core.MessageListener; import org.springframework.amqp.core.MessageProperties; @@ -25,7 +25,7 @@ import java.util.HashMap; import java.util.Map; import java.util.UUID; -@Log4j2 +@Slf4j @Component public class DefaultListener implements MessageListener { diff --git a/dbrepo-data-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/mapper/DataMapper.java b/dbrepo-data-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/mapper/DataMapper.java index 065e8f140e76e1f793a831a907a1832be77deb6c..641136652d639561ac76e2f7b0779f747dbbd36f 100644 --- a/dbrepo-data-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/mapper/DataMapper.java +++ b/dbrepo-data-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/mapper/DataMapper.java @@ -1,10 +1,7 @@ package at.ac.tuwien.ifs.dbrepo.mapper; import at.ac.tuwien.ifs.dbrepo.core.api.container.ContainerDto; -import at.ac.tuwien.ifs.dbrepo.core.api.database.DatabaseBriefDto; -import at.ac.tuwien.ifs.dbrepo.core.api.database.DatabaseDto; -import at.ac.tuwien.ifs.dbrepo.core.api.database.ViewColumnDto; -import at.ac.tuwien.ifs.dbrepo.core.api.database.ViewDto; +import at.ac.tuwien.ifs.dbrepo.core.api.database.*; import at.ac.tuwien.ifs.dbrepo.core.api.database.internal.CreateDatabaseDto; import at.ac.tuwien.ifs.dbrepo.core.api.database.query.QueryDto; import at.ac.tuwien.ifs.dbrepo.core.api.database.table.*; diff --git a/dbrepo-data-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/mapper/MariaDbMapper.java b/dbrepo-data-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/mapper/MariaDbMapper.java index 336c88cc8d794662da2935531efc0e5e9d284155..141c9e9c0882ed710e3b15218806c37563e6c970 100644 --- a/dbrepo-data-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/mapper/MariaDbMapper.java +++ b/dbrepo-data-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/mapper/MariaDbMapper.java @@ -501,6 +501,16 @@ public interface MariaDbMapper { return statement.toString(); } + default String copyTableSchemaToRawQuery(String from, String to) { + final StringBuilder statement = new StringBuilder("CREATE TABLE `") + .append(to) + .append("` LIKE `") + .append(from) + .append("`;"); + log.trace("mapped copy table schema statement: {}", statement); + return statement.toString(); + } + default String temporaryTableToRawMergeQuery(String tmp, String table, List<String> columns) { final StringBuilder statement = new StringBuilder("INSERT INTO `") .append(table) diff --git a/dbrepo-data-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/StorageService.java b/dbrepo-data-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/StorageService.java index 19540194abbb08be71fe741e5d0b9586ec992e47..3fe18cced81857fbf6c26a39b3abc9b02896676a 100644 --- a/dbrepo-data-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/StorageService.java +++ b/dbrepo-data-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/StorageService.java @@ -13,7 +13,7 @@ import java.util.List; public interface StorageService { - String putObject(byte[] content); + void putObject(String key, byte[] content); /** * Loads an object of a bucket from the Storage Service into an input stream. @@ -47,29 +47,7 @@ public interface StorageService { */ byte[] getBytes(String bucket, String key) throws StorageUnavailableException, StorageNotFoundException; - void deleteObject(String bucket, String key); - - /** - * Loads an object of the default export bucket from the Storage Service into an export resource. - * - * @param key The object key. - * @return The export resource, if successful. - * @throws StorageUnavailableException The object failed to be loaded from the Storage Service. - * @throws StorageNotFoundException The key was not found in the Storage Service. - */ - ExportResourceDto getResource(String key) throws StorageUnavailableException, StorageNotFoundException; - - /** - * Loads an object of a bucket from the Storage Service into an export resource. - * - * @param bucket The bucket name. - * @param key The object key. - * @return The export resource, if successful. - * @throws StorageUnavailableException The object failed to be loaded from the Storage Service. - * @throws StorageNotFoundException The key was not found in the Storage Service. - */ - ExportResourceDto getResource(String bucket, String key) throws StorageUnavailableException, - StorageNotFoundException; + void deleteObject(String key); /** * Transforms the given dataset into a downloadable dataset. diff --git a/dbrepo-data-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/AccessServiceMariaDbImpl.java b/dbrepo-data-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/AccessServiceMariaDbImpl.java index 7e02560b78df6a481014433adde1b8952e7286af..8a6d79de51c222cbf78e64e0045a91245ce339b6 100644 --- a/dbrepo-data-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/AccessServiceMariaDbImpl.java +++ b/dbrepo-data-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/AccessServiceMariaDbImpl.java @@ -7,7 +7,7 @@ import at.ac.tuwien.ifs.dbrepo.core.exception.DatabaseMalformedException; import at.ac.tuwien.ifs.dbrepo.mapper.MariaDbMapper; import at.ac.tuwien.ifs.dbrepo.service.AccessService; import com.mchange.v2.c3p0.ComboPooledDataSource; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; @@ -15,7 +15,7 @@ import org.springframework.stereotype.Service; import java.sql.Connection; import java.sql.SQLException; -@Log4j2 +@Slf4j @Service public class AccessServiceMariaDbImpl extends DataConnector implements AccessService { diff --git a/dbrepo-data-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/CacheServiceImpl.java b/dbrepo-data-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/CacheServiceImpl.java index 1ad95511304912d1b4304e0bcbd1d94e1a162b87..2178f89707949077bc9bbf254a408abd84e4e72b 100644 --- a/dbrepo-data-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/CacheServiceImpl.java +++ b/dbrepo-data-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/CacheServiceImpl.java @@ -12,7 +12,7 @@ import at.ac.tuwien.ifs.dbrepo.gateway.MetadataServiceGateway; import at.ac.tuwien.ifs.dbrepo.service.CacheService; import at.ac.tuwien.ifs.dbrepo.service.TableService; import com.github.benmanes.caffeine.cache.Cache; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -20,7 +20,7 @@ import java.sql.SQLException; import java.time.Instant; import java.util.UUID; -@Log4j2 +@Slf4j @Service public class CacheServiceImpl implements CacheService { diff --git a/dbrepo-data-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/ContainerServiceMariaDbImpl.java b/dbrepo-data-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/ContainerServiceMariaDbImpl.java index ad1719cb13f9263beb4315b65aec081439c55dd0..f4ab2ed2dec88196f9c70aeda0d22735c1afdadf 100644 --- a/dbrepo-data-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/ContainerServiceMariaDbImpl.java +++ b/dbrepo-data-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/ContainerServiceMariaDbImpl.java @@ -10,7 +10,7 @@ import at.ac.tuwien.ifs.dbrepo.config.RabbitConfig; import at.ac.tuwien.ifs.dbrepo.mapper.MariaDbMapper; import at.ac.tuwien.ifs.dbrepo.service.ContainerService; import com.mchange.v2.c3p0.ComboPooledDataSource; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.apache.logging.log4j.message.MapMessage; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -18,7 +18,7 @@ import org.springframework.stereotype.Service; import java.sql.Connection; import java.sql.SQLException; -@Log4j2 +@Slf4j @Service public class ContainerServiceMariaDbImpl extends DataConnector implements ContainerService { diff --git a/dbrepo-data-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/CredentialServiceImpl.java b/dbrepo-data-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/CredentialServiceImpl.java index 9d708e28d87e963370920e2f1e2cdf2ea71049d1..d995073ccee6a757f8b9d697851214ecb5f899be 100644 --- a/dbrepo-data-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/CredentialServiceImpl.java +++ b/dbrepo-data-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/CredentialServiceImpl.java @@ -5,13 +5,13 @@ import at.ac.tuwien.ifs.dbrepo.core.api.keycloak.TokenDto; import at.ac.tuwien.ifs.dbrepo.gateway.KeycloakGateway; import at.ac.tuwien.ifs.dbrepo.service.CredentialService; import com.github.benmanes.caffeine.cache.Cache; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.time.Instant; -@Log4j2 +@Slf4j @Service public class CredentialServiceImpl implements CredentialService { diff --git a/dbrepo-data-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/DataConnector.java b/dbrepo-data-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/DataConnector.java index ed9fcfe7cd9090c59d5b4d13b37c13bc0a8417b9..c1f97158f48a5a3ce408b86834fe4f6fbfb2f1db 100644 --- a/dbrepo-data-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/DataConnector.java +++ b/dbrepo-data-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/DataConnector.java @@ -3,14 +3,14 @@ package at.ac.tuwien.ifs.dbrepo.service.impl; import at.ac.tuwien.ifs.dbrepo.core.api.container.ContainerDto; import at.ac.tuwien.ifs.dbrepo.core.api.database.DatabaseDto; import com.mchange.v2.c3p0.ComboPooledDataSource; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.SQLException; -@Log4j2 +@Slf4j @Service public abstract class DataConnector { diff --git a/dbrepo-data-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/DatabaseServiceMariaDbImpl.java b/dbrepo-data-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/DatabaseServiceMariaDbImpl.java index 5db0fd57136161caf87c6038f201102aafc8c294..266ccf7f13d7bb309cb7520ce16eeb977bebfff9 100644 --- a/dbrepo-data-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/DatabaseServiceMariaDbImpl.java +++ b/dbrepo-data-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/DatabaseServiceMariaDbImpl.java @@ -12,7 +12,7 @@ import at.ac.tuwien.ifs.dbrepo.core.api.user.internal.UpdateUserPasswordDto; import at.ac.tuwien.ifs.dbrepo.core.exception.*; import com.google.common.hash.Hashing; import com.mchange.v2.c3p0.ComboPooledDataSource; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -24,7 +24,7 @@ import java.sql.SQLException; import java.util.LinkedList; import java.util.List; -@Log4j2 +@Slf4j @Service public class DatabaseServiceMariaDbImpl extends DataConnector implements DatabaseService { diff --git a/dbrepo-data-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/QueueServiceRabbitMqImpl.java b/dbrepo-data-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/QueueServiceRabbitMqImpl.java index 190863696306b1942036a85cf9f7c95847e2f745..f6bd0287ae30921333d1842a90424ee526253163 100644 --- a/dbrepo-data-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/QueueServiceRabbitMqImpl.java +++ b/dbrepo-data-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/QueueServiceRabbitMqImpl.java @@ -6,7 +6,7 @@ import at.ac.tuwien.ifs.dbrepo.core.api.database.table.columns.ColumnDto; import at.ac.tuwien.ifs.dbrepo.mapper.DataMapper; import at.ac.tuwien.ifs.dbrepo.service.QueueService; import com.mchange.v2.c3p0.ComboPooledDataSource; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -16,7 +16,7 @@ import java.sql.SQLException; import java.util.Map; import java.util.Optional; -@Log4j2 +@Slf4j @Service public class QueueServiceRabbitMqImpl extends DataConnector implements QueueService { diff --git a/dbrepo-data-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/StorageServiceS3Impl.java b/dbrepo-data-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/StorageServiceS3Impl.java index d29f5e2a2dc8c864402c4d0d66c4ab7de336461b..e1b235d8a970025971fbd92876c0169981f57688 100644 --- a/dbrepo-data-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/StorageServiceS3Impl.java +++ b/dbrepo-data-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/StorageServiceS3Impl.java @@ -1,14 +1,13 @@ package at.ac.tuwien.ifs.dbrepo.service.impl; import at.ac.tuwien.ifs.dbrepo.config.S3Config; -import at.ac.tuwien.ifs.dbrepo.service.StorageService; import at.ac.tuwien.ifs.dbrepo.core.api.ExportResourceDto; import at.ac.tuwien.ifs.dbrepo.core.exception.MalformedException; import at.ac.tuwien.ifs.dbrepo.core.exception.StorageNotFoundException; import at.ac.tuwien.ifs.dbrepo.core.exception.StorageUnavailableException; import at.ac.tuwien.ifs.dbrepo.core.exception.TableMalformedException; -import lombok.extern.log4j.Log4j2; -import org.apache.commons.lang3.RandomStringUtils; +import at.ac.tuwien.ifs.dbrepo.service.StorageService; +import lombok.extern.slf4j.Slf4j; import org.apache.spark.sql.*; import org.apache.spark.sql.catalyst.ExtendedAnalysisException; import org.apache.spark.sql.types.StructField; @@ -28,7 +27,7 @@ import java.util.Map; import static scala.collection.JavaConverters.asScalaIteratorConverter; -@Log4j2 +@Slf4j @Service public class StorageServiceS3Impl implements StorageService { @@ -44,15 +43,12 @@ public class StorageServiceS3Impl implements StorageService { } @Override - public String putObject(byte[] content) { - final String key = "dbr_" + RandomStringUtils.randomAlphanumeric(96) - .toLowerCase(); + public void putObject(String key, byte[] content) { s3Client.putObject(PutObjectRequest.builder() .key(key) .bucket(s3Config.getS3Bucket()) .build(), RequestBody.fromBytes(content)); log.debug("put object in S3 bucket {} with key: {}", s3Config.getS3Bucket(), key); - return key; } @Override @@ -89,31 +85,20 @@ public class StorageServiceS3Impl implements StorageService { } @Override - public void deleteObject(String bucket, String key) { - log.trace("delete object with key {} from bucket: {}", key, bucket); + public void deleteObject(String key) { s3Client.deleteObject(DeleteObjectRequest.builder() - .bucket(bucket) + .bucket(s3Config.getS3Bucket()) .key(key) .build()); + log.atDebug() + .setMessage("deleted object " + key + " in bucket " + s3Config.getS3Bucket()) + .addKeyValue("key", key) + .addKeyValue("bucket", s3Config.getS3Bucket()) + .log(); } @Override - public ExportResourceDto getResource(String key) throws StorageNotFoundException, StorageUnavailableException { - return getResource(s3Config.getS3Bucket(), key); - } - - @Override - public ExportResourceDto getResource(String bucket, String key) throws StorageNotFoundException, - StorageUnavailableException { - final InputStreamResource resource = new InputStreamResource(getObject(bucket, key)); - log.trace("return export resource with filename: {}", key); - return ExportResourceDto.builder() - .resource(resource) - .filename(key) - .build(); - } - - @Override + // TODO should be export to S3 -> load from S3 public ExportResourceDto transformDataset(Dataset<Row> dataset) throws StorageUnavailableException { final List<Map<String, String>> inMemory = dataset.collectAsList() .stream() @@ -159,32 +144,58 @@ public class StorageServiceS3Impl implements StorageService { public Dataset<Row> loadDataset(List<String> columns, String key, String delimiter, Boolean withHeader) throws StorageNotFoundException, StorageUnavailableException, MalformedException, TableMalformedException { final String path = "s3a://" + s3Config.getS3Bucket() + "/" + key; - log.debug("read dataset from s3 path: {} using header: {}", path, withHeader); + log.atDebug() + .setMessage("read dataset " + key + " using header: " + withHeader) + .addKeyValue("s3_key", key) + .addKeyValue("s3_bucket", s3Config.getS3Bucket()) + .addKeyValue("header", withHeader) + .log(); Dataset<Row> dataset; try { - final String logDelimiter = delimiter.equals("\t") ? "[tab]" : delimiter; - log.trace("spark read conf: header={}, delimiter={}", withHeader, logDelimiter); dataset = sparkSession.read() .option("delimiter", delimiter) .option("header", withHeader) - .csv(path); + .csv(path) + .toDF(columns.toArray(new String[0])); } catch (Exception e) { if (e instanceof AnalysisException) { final AnalysisException exception = (AnalysisException) e; if (exception.getSimpleMessage().contains("PATH_NOT_FOUND")) { - log.error("Failed to find dataset {} in storage service: {}", key, e.getMessage()); + log.atError() + .setMessage("Failed to find dataset " + key + " in storage service") + .addKeyValue("s3_key", key) + .setCause(e) + .log(); throw new StorageNotFoundException("Failed to find dataset in storage service: " + e.getMessage()); } if (exception.getSimpleMessage().contains("UNRESOLVED_COLUMN")) { - log.error("Failed to resolve column from dataset in database: {}", e.getMessage()); + log.atError() + .setMessage("Failed to resolve column from dataset in database") + .addKeyValue("s3_key", key) + .setCause(e) + .log(); throw new TableMalformedException("Failed to resolve column from dataset in database: " + e.getMessage()); } + } else if (e instanceof IllegalArgumentException) { + log.atError() + .setMessage("Failed to map columns: " + e.getMessage()) + .addKeyValue("s3_key", key) + .setCause(e) + .log(); + throw new MalformedException("Failed to map columns: " + e.getMessage()); } - log.error("Failed to connect to storage service: {}", e.getMessage()); + log.atError() + .setMessage("Failed to connect to storage service") + .addKeyValue("s3_key", key) + .setCause(e) + .log(); throw new StorageUnavailableException("Failed to connect to storage service: " + e.getMessage()); } if (!withHeader) { - log.debug("no header provided: use table column names: {}", columns); + log.atDebug() + .setMessage("no header provided: use table column names") + .addKeyValue("columns", columns) + .log(); try { dataset = dataset.toDF(asScalaIteratorConverter(columns.iterator()) .asScala() @@ -203,15 +214,22 @@ public class StorageServiceS3Impl implements StorageService { final List<Column> columnOrder = columns.stream() .map(Column::new) .toList(); - log.trace("ordered columns: {}", columnOrder); try { return dataset.select(columnOrder.toArray(new Column[0])); } catch (Exception e) { if (e instanceof ExtendedAnalysisException exception) { - log.error("Failed to resolve column from dataset in database: {}", exception.getSimpleMessage()); + log.atError() + .setMessage("Failed to resolve column from dataset in database") + .addKeyValue("s3_key", key) + .setCause(e) + .log(); throw new TableMalformedException("Failed to resolve column from dataset in database: " + exception.getSimpleMessage()); } - log.error("Failed to select columns from dataset: {}", e.getMessage()); + log.atError() + .setMessage("Failed to select columns from dataset") + .addKeyValue("s3_key", key) + .setCause(e) + .log(); throw new MalformedException("Failed to select columns from dataset: " + e.getMessage()); } } diff --git a/dbrepo-data-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/SubsetServiceMariaDbImpl.java b/dbrepo-data-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/SubsetServiceMariaDbImpl.java index a9e1a07213a728c8338b2f11574da7a257dbcbe7..738dfa96429c6ae7458dc04ea50cce629bedc79c 100644 --- a/dbrepo-data-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/SubsetServiceMariaDbImpl.java +++ b/dbrepo-data-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/SubsetServiceMariaDbImpl.java @@ -12,7 +12,7 @@ import at.ac.tuwien.ifs.dbrepo.mapper.DataMapper; import at.ac.tuwien.ifs.dbrepo.mapper.MariaDbMapper; import at.ac.tuwien.ifs.dbrepo.service.SubsetService; import com.mchange.v2.c3p0.ComboPooledDataSource; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.apache.spark.sql.Dataset; import org.apache.spark.sql.Row; import org.apache.spark.sql.SparkSession; @@ -27,7 +27,7 @@ import java.util.LinkedList; import java.util.List; import java.util.UUID; -@Log4j2 +@Slf4j @Service public class SubsetServiceMariaDbImpl extends DataConnector implements SubsetService { @@ -60,7 +60,10 @@ public class SubsetServiceMariaDbImpl extends DataConnector implements SubsetSer } catch (Exception e) { if (e instanceof ExtendedAnalysisException && e.getMessage().contains("TABLE_OR_VIEW_NOT_FOUND") || e instanceof SQLSyntaxErrorException && e.getMessage().contains("doesn't exist")) { - log.error("Failed to find named reference: {}", e.getMessage()); + log.atError() + .setMessage("Failed to find named reference") + .setCause(e) + .log(); throw new TableNotFoundException("Failed to find named reference: " + e.getMessage()) /* remove throwable on purpose, clutters the output */; } log.error("Malformed query: {}", e.getMessage()); diff --git a/dbrepo-data-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/TableServiceMariaDbImpl.java b/dbrepo-data-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/TableServiceMariaDbImpl.java index 1ca0da14d8e87972dc58eedc1e139f1da8b62451..2382ee09f45d9f4a77282cd137cf3ecc0cb4364b 100644 --- a/dbrepo-data-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/TableServiceMariaDbImpl.java +++ b/dbrepo-data-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/TableServiceMariaDbImpl.java @@ -14,8 +14,7 @@ import at.ac.tuwien.ifs.dbrepo.service.StorageService; import at.ac.tuwien.ifs.dbrepo.service.TableService; import at.ac.tuwien.ifs.dbrepo.utils.MariaDbUtil; import com.mchange.v2.c3p0.ComboPooledDataSource; -import lombok.extern.log4j.Log4j2; -import org.apache.spark.sql.AnalysisException; +import lombok.extern.slf4j.Slf4j; import org.apache.spark.sql.Dataset; import org.apache.spark.sql.Row; import org.apache.spark.sql.SaveMode; @@ -32,7 +31,7 @@ import java.util.Map; import java.util.Optional; import java.util.Properties; -@Log4j2 +@Slf4j @Service public class TableServiceMariaDbImpl extends DataConnector implements TableService { @@ -210,26 +209,34 @@ public class TableServiceMariaDbImpl extends DataConnector implements TableServi properties.setProperty("user", database.getContainer().getUsername()); properties.setProperty("password", database.getContainer().getPassword()); final String temporaryTable = table.getInternalName() + "_tmp"; + final ComboPooledDataSource dataSource = getDataSource(database); + final Connection connection = dataSource.getConnection(); + try { + /* import tuple */ + connection.prepareStatement(mariaDbMapper.copyTableSchemaToRawQuery(table.getInternalName(), temporaryTable)) + .execute(); + connection.commit(); + } catch (SQLException e) { + connection.rollback(); + log.atError() + .setMessage("Failed to import data from temporary table " + database.getInternalName() + "." + temporaryTable) + .setCause(e) + .log(); + throw new QueryMalformedException("Failed to import data: " + e.getMessage(), e); + } + log.debug("copied schema from target table {} to import table: {}", table.getInternalName(), temporaryTable); try { - log.trace("import dataset to temporary table: {}", temporaryTable); dataset.write() .mode(SaveMode.Overwrite) .option("header", data.getHeader()) - .option("inferSchema", "true") .jdbc(getSparkUrl(database), temporaryTable, properties); } catch (Exception e) { - if (e instanceof AnalysisException exception) { - final String message = exception.getSimpleMessage() - .replaceAll(" Some\\(.*", ""); - log.error("Failed to write dataset: schema malformed: {}", message); - throw new MalformedException("Failed to write dataset: schema malformed: " + message) /* remove throwable on purpose, clutters the output */; - } - log.error("Failed to write dataset: {}", e.getMessage()); - throw new MalformedException("Failed to write dataset: " + e.getMessage()) /* remove throwable on purpose, clutters the output */; + log.atError() + .setMessage("Failed to write dataset: schema malformed") + .setCause(e) + .log(); + throw new MalformedException("Failed to write dataset: schema malformed: " + e.getMessage()) /* remove throwable on purpose, clutters the output */; } - /* import .csv to database */ - final ComboPooledDataSource dataSource = getDataSource(database); - final Connection connection = dataSource.getConnection(); try { /* import tuple */ connection.prepareStatement(mariaDbMapper.temporaryTableToRawMergeQuery(temporaryTable, @@ -238,17 +245,26 @@ public class TableServiceMariaDbImpl extends DataConnector implements TableServi connection.commit(); } catch (SQLException e) { connection.rollback(); - log.error("Failed to import tuple: {}", e.getMessage()); - throw new QueryMalformedException("Failed to import tuple: " + e.getMessage(), e); + log.atError() + .setMessage("Failed to import data from temporary table " + database.getInternalName() + "." + temporaryTable) + .setCause(e) + .log(); + throw new MalformedException("Failed to import tuple: " + e.getMessage(), e); } finally { /* delete temporary table */ connection.prepareStatement(mariaDbMapper.dropTableRawQuery(database.getInternalName(), temporaryTable, false)) .execute(); + log.debug("deleted temporary table: {}", temporaryTable); connection.commit(); dataSource.close(); } - log.info("Imported dataset into table: {}.{}", database, table.getInternalName()); + storageService.deleteObject(data.getLocation()); + log.atInfo() + .setMessage("Imported dataset into table " + database.getInternalName() + "." + table.getInternalName()) + .addKeyValue("s3_key", data.getLocation()) + .addKeyValue("table_name", database.getInternalName() + "." + table.getInternalName()) + .log(); } @Override diff --git a/dbrepo-data-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/ViewServiceMariaDbImpl.java b/dbrepo-data-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/ViewServiceMariaDbImpl.java index 5b8f2017aaaa13c02cad9252bed36d8686abec04..589b7eda06f36c6204225da610e369298bff42e5 100644 --- a/dbrepo-data-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/ViewServiceMariaDbImpl.java +++ b/dbrepo-data-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/ViewServiceMariaDbImpl.java @@ -7,7 +7,7 @@ import at.ac.tuwien.ifs.dbrepo.core.exception.ViewMalformedException; import at.ac.tuwien.ifs.dbrepo.mapper.MariaDbMapper; import at.ac.tuwien.ifs.dbrepo.service.ViewService; import com.mchange.v2.c3p0.ComboPooledDataSource; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -16,7 +16,7 @@ import java.sql.ResultSet; import java.sql.SQLException; import java.time.Instant; -@Log4j2 +@Slf4j @Service public class ViewServiceMariaDbImpl extends DataConnector implements ViewService { diff --git a/dbrepo-metadata-db/1_setup-schema.sql b/dbrepo-metadata-db/1_setup-schema.sql index 4ba9d70b174dca5b3481d8042f47c332afc4cf2b..818439cf448d617684dee1b3a030f1f4ccf21e6b 100644 --- a/dbrepo-metadata-db/1_setup-schema.sql +++ b/dbrepo-metadata-db/1_setup-schema.sql @@ -374,11 +374,12 @@ CREATE TABLE IF NOT EXISTS `mdb_identifier_licenses` CREATE TABLE IF NOT EXISTS `mdb_identifier_titles` ( - id VARCHAR(36) NOT NULL DEFAULT UUID(), - pid VARCHAR(36) NOT NULL, - title TEXT NOT NULL, - title_type ENUM ('ALTERNATIVE_TITLE', 'SUBTITLE', 'TRANSLATED_TITLE', 'OTHER'), - language VARCHAR(2), + id VARCHAR(36) NOT NULL DEFAULT UUID(), + pid VARCHAR(36) NOT NULL, + title TEXT NOT NULL, + title_type ENUM ('ALTERNATIVE_TITLE', 'SUBTITLE', 'TRANSLATED_TITLE', 'OTHER'), + ordinal_position INT NOT NULL, + language VARCHAR(2), PRIMARY KEY (`id`), FOREIGN KEY (`pid`) REFERENCES mdb_identifiers (`id`) ) WITH SYSTEM VERSIONING; @@ -394,6 +395,7 @@ CREATE TABLE IF NOT EXISTS `mdb_identifier_funders` award_number VARCHAR(255), award_title TEXT, language VARCHAR(255), + ordinal_position INT NOT NULL, PRIMARY KEY (`id`), FOREIGN KEY (`pid`) REFERENCES mdb_identifiers (`id`) ) WITH SYSTEM VERSIONING; @@ -405,17 +407,19 @@ CREATE TABLE IF NOT EXISTS `mdb_identifier_descriptions` description TEXT NOT NULL, description_type ENUM ('ABSTRACT', 'METHODS', 'SERIES_INFORMATION', 'TABLE_OF_CONTENTS', 'TECHNICAL_INFO', 'OTHER'), language VARCHAR(2), + ordinal_position INT NOT NULL, PRIMARY KEY (`id`), FOREIGN KEY (`pid`) REFERENCES mdb_identifiers (`id`) ) WITH SYSTEM VERSIONING; CREATE TABLE IF NOT EXISTS `mdb_identifier_related` ( - id VARCHAR(36) NOT NULL DEFAULT UUID(), - pid VARCHAR(36) NOT NULL DEFAULT UUID(), - value VARCHAR(255) NOT NULL, - type ENUM ('DOI','URL','URN','ARK','ARXIV','BIBCODE','EAN13','EISSN','HANDLE','IGSN','ISBN','ISTC','LISSN','LSID','PMID','PURL','UPC','W3ID') NOT NULL, - relation ENUM ('IS_CITED_BY','CITES','IS_SUPPLEMENT_TO','IS_SUPPLEMENTED_BY','IS_CONTINUED_BY','CONTINUES','IS_DESCRIBED_BY','DESCRIBES','HAS_METADATA','IS_METADATA_FOR','HAS_VERSION','IS_VERSION_OF','IS_NEW_VERSION_OF','IS_PREVIOUS_VERSION_OF','IS_PART_OF','HAS_PART','IS_PUBLISHED_IN','IS_REFERENCED_BY','REFERENCES','IS_DOCUMENTED_BY','DOCUMENTS','IS_COMPILED_BY','COMPILES','IS_VARIANT_FORM_OF','IS_ORIGINAL_FORM_OF','IS_IDENTICAL_TO','IS_REVIEWED_BY','REVIEWS','IS_DERIVED_FROM','IS_SOURCE_OF','IS_REQUIRED_BY','REQUIRES','IS_OBSOLETED_BY','OBSOLETES') NOT NULL, + id VARCHAR(36) NOT NULL DEFAULT UUID(), + pid VARCHAR(36) NOT NULL DEFAULT UUID(), + value VARCHAR(255) NOT NULL, + type ENUM ('DOI','URL','URN','ARK','ARXIV','BIBCODE','EAN13','EISSN','HANDLE','IGSN','ISBN','ISTC','LISSN','LSID','PMID','PURL','UPC','W3ID') NOT NULL, + relation ENUM ('IS_CITED_BY','CITES','IS_SUPPLEMENT_TO','IS_SUPPLEMENTED_BY','IS_CONTINUED_BY','CONTINUES','IS_DESCRIBED_BY','DESCRIBES','HAS_METADATA','IS_METADATA_FOR','HAS_VERSION','IS_VERSION_OF','IS_NEW_VERSION_OF','IS_PREVIOUS_VERSION_OF','IS_PART_OF','HAS_PART','IS_PUBLISHED_IN','IS_REFERENCED_BY','REFERENCES','IS_DOCUMENTED_BY','DOCUMENTS','IS_COMPILED_BY','COMPILES','IS_VARIANT_FORM_OF','IS_ORIGINAL_FORM_OF','IS_IDENTICAL_TO','IS_REVIEWED_BY','REVIEWS','IS_DERIVED_FROM','IS_SOURCE_OF','IS_REQUIRED_BY','REQUIRES','IS_OBSOLETED_BY','OBSOLETES') NOT NULL, + ordinal_position INT NOT NULL, PRIMARY KEY (`id`), /* must be a single id from persistent identifier concept */ FOREIGN KEY (`pid`) REFERENCES mdb_identifiers (`id`), UNIQUE (pid, value) @@ -425,6 +429,7 @@ CREATE TABLE IF NOT EXISTS `mdb_identifier_creators` ( id VARCHAR(36) NOT NULL DEFAULT UUID(), pid VARCHAR(36) NOT NULL, + ordinal_position INT NOT NULL, given_names TEXT, family_name TEXT, creator_name VARCHAR(255) NOT NULL, diff --git a/dbrepo-metadata-service/oai/pom.xml b/dbrepo-metadata-service/oai/pom.xml index 94a25b78ef0d2a57cbff12b106f52c73123c22f2..b2f58fb5f516721f2625d857e510d9a9938e9d7b 100644 --- a/dbrepo-metadata-service/oai/pom.xml +++ b/dbrepo-metadata-service/oai/pom.xml @@ -6,12 +6,12 @@ <parent> <groupId>at.ac.tuwien.ifs.dbrepo</groupId> <artifactId>metadata-service</artifactId> - <version>1.8.2</version> + <version>1.9.0</version> </parent> <name>oai</name> <artifactId>oai</artifactId> - <version>1.8.2</version> + <version>1.9.0</version> <dependencies/> diff --git a/dbrepo-metadata-service/pom.xml b/dbrepo-metadata-service/pom.xml index 5f6269fc3302f12c060c663351f89c6fac0e4620..d7adb9dfae03884e59ead564f6f78dd82bfdd145 100644 --- a/dbrepo-metadata-service/pom.xml +++ b/dbrepo-metadata-service/pom.xml @@ -18,18 +18,18 @@ <groupId>at.ac.tuwien.ifs.dbrepo</groupId> <artifactId>metadata-service</artifactId> - <version>1.8.2</version> + <version>1.9.0</version> <packaging>pom</packaging> <modules> <module>oai</module> <module>repositories</module> - <module>rest-service</module> <module>services</module> + <module>rest-service</module> <module>report</module> </modules> - <url>https://www.ifs.tuwien.ac.at/infrastructures/dbrepo/1.8/</url> + <url>https://www.ifs.tuwien.ac.at/infrastructures/dbrepo/1.9/</url> <developers> <developer> <name>Martin Weise</name> @@ -58,6 +58,9 @@ <aws-s3.version>2.25.23</aws-s3.version> <jackson.version>2.15.2</jackson.version> <minio.version>8.5.7</minio.version> + <sonar.coverage.jacoco.xmlReportPaths> + ./report/target/site/jacoco-aggregate/jacoco.xml + </sonar.coverage.jacoco.xmlReportPaths> <CodeCacheSize>128m</CodeCacheSize> <extraJavaTestArgs></extraJavaTestArgs> </properties> @@ -66,7 +69,7 @@ <dependency> <groupId>at.ac.tuwien.ifs.dbrepo</groupId> <artifactId>dbrepo-core</artifactId> - <version>1.8.2</version> + <version>1.9.0</version> </dependency> <!-- Data Source --> <dependency> @@ -277,6 +280,9 @@ <repository> <id>dbrepo-maven-repo</id> <url>file:///${project.basedir}/lib</url> + <releases> + <enabled>true</enabled> + </releases> <snapshots> <enabled>true</enabled> </snapshots> diff --git a/dbrepo-metadata-service/report/pom.xml b/dbrepo-metadata-service/report/pom.xml index 5b69d28ea959e0518f2f4f86a84b569a51006725..84ac2939e101b9f0320a7de44e1dc4c8bbc1e544 100644 --- a/dbrepo-metadata-service/report/pom.xml +++ b/dbrepo-metadata-service/report/pom.xml @@ -6,23 +6,18 @@ <parent> <groupId>at.ac.tuwien.ifs.dbrepo</groupId> <artifactId>metadata-service</artifactId> - <version>1.8.2</version> + <version>1.9.0</version> </parent> <name>report</name> <artifactId>report</artifactId> - <version>1.8.2</version> + <version>1.9.0</version> <dependencies> - <dependency> - <groupId>at.ac.tuwien.ifs.dbrepo</groupId> - <artifactId>rest-service</artifactId> - <version>1.8.2</version> - </dependency> <dependency> <groupId>at.ac.tuwien.ifs.dbrepo</groupId> <artifactId>services</artifactId> - <version>1.8.2</version> + <version>1.9.0</version> </dependency> </dependencies> diff --git a/dbrepo-metadata-service/repositories/pom.xml b/dbrepo-metadata-service/repositories/pom.xml index 10458ac4cdb92ea34e0b976376a0226d479b4be1..6d568fee19a1ac50527e9c8e6db005dd33b29b56 100644 --- a/dbrepo-metadata-service/repositories/pom.xml +++ b/dbrepo-metadata-service/repositories/pom.xml @@ -6,18 +6,18 @@ <parent> <groupId>at.ac.tuwien.ifs.dbrepo</groupId> <artifactId>metadata-service</artifactId> - <version>1.8.2</version> + <version>1.9.0</version> </parent> <name>repositories</name> <artifactId>repositories</artifactId> - <version>1.8.2</version> + <version>1.9.0</version> <dependencies> <dependency> <groupId>at.ac.tuwien.ifs.dbrepo</groupId> <artifactId>oai</artifactId> - <version>1.8.2</version> + <version>1.9.0</version> </dependency> </dependencies> diff --git a/dbrepo-metadata-service/rest-service/pom.xml b/dbrepo-metadata-service/rest-service/pom.xml index bbc8d1e069d529a5fc9b5f85a6f378229b1b81d3..8b87ec8a0338deaf8ba5960bb9c2f87ed464916b 100644 --- a/dbrepo-metadata-service/rest-service/pom.xml +++ b/dbrepo-metadata-service/rest-service/pom.xml @@ -6,18 +6,18 @@ <parent> <groupId>at.ac.tuwien.ifs.dbrepo</groupId> <artifactId>metadata-service</artifactId> - <version>1.8.2</version> + <version>1.9.0</version> </parent> <name>rest-service</name> <artifactId>rest-service</artifactId> - <version>1.8.2</version> + <version>1.9.0</version> <dependencies> <dependency> <groupId>at.ac.tuwien.ifs.dbrepo</groupId> <artifactId>services</artifactId> - <version>1.8.2</version> + <version>1.9.0</version> </dependency> </dependencies> diff --git a/dbrepo-metadata-service/rest-service/src/main/java/at/ac/tuwien/ifs/dbrepo/endpoints/AbstractEndpoint.java b/dbrepo-metadata-service/rest-service/src/main/java/at/ac/tuwien/ifs/dbrepo/endpoints/AbstractEndpoint.java index d11baa387b662768a85ee531923ce72296716f4d..a500d7c39c742139135a4e2ec31de7da0bebf795 100644 --- a/dbrepo-metadata-service/rest-service/src/main/java/at/ac/tuwien/ifs/dbrepo/endpoints/AbstractEndpoint.java +++ b/dbrepo-metadata-service/rest-service/src/main/java/at/ac/tuwien/ifs/dbrepo/endpoints/AbstractEndpoint.java @@ -7,7 +7,7 @@ import at.ac.tuwien.ifs.dbrepo.core.entity.database.Database; import at.ac.tuwien.ifs.dbrepo.core.entity.database.DatabaseAccess; import at.ac.tuwien.ifs.dbrepo.core.entity.database.View; import at.ac.tuwien.ifs.dbrepo.core.exception.NotAllowedException; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.springframework.security.core.Authentication; import java.security.Principal; @@ -15,7 +15,7 @@ import java.util.List; import java.util.Optional; import java.util.UUID; -@Log4j2 +@Slf4j public abstract class AbstractEndpoint { public boolean hasRole(Principal principal, String role) { diff --git a/dbrepo-metadata-service/rest-service/src/main/java/at/ac/tuwien/ifs/dbrepo/endpoints/AccessEndpoint.java b/dbrepo-metadata-service/rest-service/src/main/java/at/ac/tuwien/ifs/dbrepo/endpoints/AccessEndpoint.java index a605ec126fdafb30369ed594ef18d74b3ce900b7..7207869636a6b3b9959c3f5f285c9b3dab7c47d0 100644 --- a/dbrepo-metadata-service/rest-service/src/main/java/at/ac/tuwien/ifs/dbrepo/endpoints/AccessEndpoint.java +++ b/dbrepo-metadata-service/rest-service/src/main/java/at/ac/tuwien/ifs/dbrepo/endpoints/AccessEndpoint.java @@ -21,7 +21,7 @@ import io.swagger.v3.oas.annotations.responses.ApiResponses; import io.swagger.v3.oas.annotations.security.SecurityRequirement; import jakarta.validation.Valid; import jakarta.validation.constraints.NotNull; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.ResponseEntity; import org.springframework.security.access.prepost.PreAuthorize; @@ -31,7 +31,7 @@ import org.springframework.web.bind.annotation.*; import java.security.Principal; import java.util.UUID; -@Log4j2 +@Slf4j @RestController @CrossOrigin(origins = "*") @RequestMapping(path = "/api/database/{databaseId}/access") diff --git a/dbrepo-metadata-service/rest-service/src/main/java/at/ac/tuwien/ifs/dbrepo/endpoints/ConceptEndpoint.java b/dbrepo-metadata-service/rest-service/src/main/java/at/ac/tuwien/ifs/dbrepo/endpoints/ConceptEndpoint.java index 11b2d8ea0c8fb564e05cbf6290854da85476c6a9..c0eabd765d66a13ee24b50a627df33a36f22173a 100644 --- a/dbrepo-metadata-service/rest-service/src/main/java/at/ac/tuwien/ifs/dbrepo/endpoints/ConceptEndpoint.java +++ b/dbrepo-metadata-service/rest-service/src/main/java/at/ac/tuwien/ifs/dbrepo/endpoints/ConceptEndpoint.java @@ -10,7 +10,7 @@ import io.swagger.v3.oas.annotations.media.Content; import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.responses.ApiResponse; import io.swagger.v3.oas.annotations.responses.ApiResponses; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.ResponseEntity; import org.springframework.transaction.annotation.Transactional; @@ -21,7 +21,7 @@ import org.springframework.web.bind.annotation.RestController; import java.util.List; -@Log4j2 +@Slf4j @CrossOrigin(origins = "*") @RestController @RequestMapping(path = "/api/concept") diff --git a/dbrepo-metadata-service/rest-service/src/main/java/at/ac/tuwien/ifs/dbrepo/endpoints/ContainerEndpoint.java b/dbrepo-metadata-service/rest-service/src/main/java/at/ac/tuwien/ifs/dbrepo/endpoints/ContainerEndpoint.java index d98901f53595da0bbcfb0f77c1b53118b09a8d48..e7a664f2893a4b66c15b41f3be47eefe64c8c9c9 100644 --- a/dbrepo-metadata-service/rest-service/src/main/java/at/ac/tuwien/ifs/dbrepo/endpoints/ContainerEndpoint.java +++ b/dbrepo-metadata-service/rest-service/src/main/java/at/ac/tuwien/ifs/dbrepo/endpoints/ContainerEndpoint.java @@ -20,7 +20,7 @@ import io.swagger.v3.oas.annotations.responses.ApiResponses; import io.swagger.v3.oas.annotations.security.SecurityRequirement; import jakarta.validation.Valid; import jakarta.validation.constraints.NotNull; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpHeaders; import org.springframework.http.HttpStatus; @@ -35,7 +35,7 @@ import java.util.UUID; import java.util.stream.Collectors; -@Log4j2 +@Slf4j @RestController @CrossOrigin(origins = "*") @ControllerAdvice diff --git a/dbrepo-metadata-service/rest-service/src/main/java/at/ac/tuwien/ifs/dbrepo/endpoints/DatabaseEndpoint.java b/dbrepo-metadata-service/rest-service/src/main/java/at/ac/tuwien/ifs/dbrepo/endpoints/DatabaseEndpoint.java index 0474215e01fce6ccd392441e8ea1cfef8ccd6726..485967e56814ee0b5449e1faa95c7fc2ab21eef6 100644 --- a/dbrepo-metadata-service/rest-service/src/main/java/at/ac/tuwien/ifs/dbrepo/endpoints/DatabaseEndpoint.java +++ b/dbrepo-metadata-service/rest-service/src/main/java/at/ac/tuwien/ifs/dbrepo/endpoints/DatabaseEndpoint.java @@ -20,7 +20,7 @@ import io.swagger.v3.oas.annotations.responses.ApiResponses; import io.swagger.v3.oas.annotations.security.SecurityRequirement; import jakarta.validation.Valid; import jakarta.validation.constraints.NotNull; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpHeaders; import org.springframework.http.HttpStatus; @@ -34,7 +34,7 @@ import java.security.Principal; import java.util.List; import java.util.UUID; -@Log4j2 +@Slf4j @RestController @CrossOrigin(origins = "*") @RequestMapping(path = "/api/database") diff --git a/dbrepo-metadata-service/rest-service/src/main/java/at/ac/tuwien/ifs/dbrepo/endpoints/IdentifierEndpoint.java b/dbrepo-metadata-service/rest-service/src/main/java/at/ac/tuwien/ifs/dbrepo/endpoints/IdentifierEndpoint.java index ea6e569e52d8c0e575fe85b78106b5297eb1caf2..02ce030220cf6ef1f1b7ef1b780f743678095c16 100644 --- a/dbrepo-metadata-service/rest-service/src/main/java/at/ac/tuwien/ifs/dbrepo/endpoints/IdentifierEndpoint.java +++ b/dbrepo-metadata-service/rest-service/src/main/java/at/ac/tuwien/ifs/dbrepo/endpoints/IdentifierEndpoint.java @@ -24,7 +24,7 @@ import io.swagger.v3.oas.annotations.responses.ApiResponses; import io.swagger.v3.oas.annotations.security.SecurityRequirement; import jakarta.validation.Valid; import jakarta.validation.constraints.NotNull; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpHeaders; import org.springframework.http.HttpStatus; @@ -41,7 +41,7 @@ import java.util.UUID; import java.util.regex.Matcher; import java.util.regex.Pattern; -@Log4j2 +@Slf4j @CrossOrigin(origins = "*") @RestController @RequestMapping(path = "/api/identifier") diff --git a/dbrepo-metadata-service/rest-service/src/main/java/at/ac/tuwien/ifs/dbrepo/endpoints/ImageEndpoint.java b/dbrepo-metadata-service/rest-service/src/main/java/at/ac/tuwien/ifs/dbrepo/endpoints/ImageEndpoint.java index 3137e08a6833617afb27e075b1de9980867568da..fa11732d3814e6a2c19a5828d1884bf1bfbd7936 100644 --- a/dbrepo-metadata-service/rest-service/src/main/java/at/ac/tuwien/ifs/dbrepo/endpoints/ImageEndpoint.java +++ b/dbrepo-metadata-service/rest-service/src/main/java/at/ac/tuwien/ifs/dbrepo/endpoints/ImageEndpoint.java @@ -21,7 +21,7 @@ import io.swagger.v3.oas.annotations.responses.ApiResponses; import io.swagger.v3.oas.annotations.security.SecurityRequirement; import jakarta.validation.Valid; import jakarta.validation.constraints.NotNull; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; @@ -33,7 +33,7 @@ import java.security.Principal; import java.util.List; import java.util.UUID; -@Log4j2 +@Slf4j @RestController @CrossOrigin(origins = "*") @ControllerAdvice diff --git a/dbrepo-metadata-service/rest-service/src/main/java/at/ac/tuwien/ifs/dbrepo/endpoints/LicenseEndpoint.java b/dbrepo-metadata-service/rest-service/src/main/java/at/ac/tuwien/ifs/dbrepo/endpoints/LicenseEndpoint.java index f82127b86a5f554fe585b3472d955a207bdc25b2..cfd9f23bf979b7e1e7b45bc851dffebb95c6ba0b 100644 --- a/dbrepo-metadata-service/rest-service/src/main/java/at/ac/tuwien/ifs/dbrepo/endpoints/LicenseEndpoint.java +++ b/dbrepo-metadata-service/rest-service/src/main/java/at/ac/tuwien/ifs/dbrepo/endpoints/LicenseEndpoint.java @@ -10,7 +10,7 @@ import io.swagger.v3.oas.annotations.media.Content; import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.responses.ApiResponse; import io.swagger.v3.oas.annotations.responses.ApiResponses; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; @@ -22,7 +22,7 @@ import org.springframework.web.bind.annotation.RestController; import java.util.List; -@Log4j2 +@Slf4j @RestController @CrossOrigin(origins = "*") @RequestMapping(path = "/api/license") diff --git a/dbrepo-metadata-service/rest-service/src/main/java/at/ac/tuwien/ifs/dbrepo/endpoints/MessageEndpoint.java b/dbrepo-metadata-service/rest-service/src/main/java/at/ac/tuwien/ifs/dbrepo/endpoints/MessageEndpoint.java index 6d6f3c8591a9a00393866f9031d305509d44e9ac..6851d716807a2f2a0d1041cabd07e980004c36a5 100644 --- a/dbrepo-metadata-service/rest-service/src/main/java/at/ac/tuwien/ifs/dbrepo/endpoints/MessageEndpoint.java +++ b/dbrepo-metadata-service/rest-service/src/main/java/at/ac/tuwien/ifs/dbrepo/endpoints/MessageEndpoint.java @@ -19,7 +19,7 @@ import io.swagger.v3.oas.annotations.responses.ApiResponses; import io.swagger.v3.oas.annotations.security.SecurityRequirement; import jakarta.validation.Valid; import jakarta.validation.constraints.NotNull; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; @@ -29,7 +29,7 @@ import org.springframework.web.bind.annotation.*; import java.util.List; import java.util.UUID; -@Log4j2 +@Slf4j @CrossOrigin(origins = "*") @RestController @RequestMapping(path = "/api/message") diff --git a/dbrepo-metadata-service/rest-service/src/main/java/at/ac/tuwien/ifs/dbrepo/endpoints/MetadataEndpoint.java b/dbrepo-metadata-service/rest-service/src/main/java/at/ac/tuwien/ifs/dbrepo/endpoints/MetadataEndpoint.java index 4916ed8612ea04ba16375d645e3ac08424dc56a6..891e0ada52733ac457e8f4e3d7a203ebc0a37f04 100644 --- a/dbrepo-metadata-service/rest-service/src/main/java/at/ac/tuwien/ifs/dbrepo/endpoints/MetadataEndpoint.java +++ b/dbrepo-metadata-service/rest-service/src/main/java/at/ac/tuwien/ifs/dbrepo/endpoints/MetadataEndpoint.java @@ -13,7 +13,7 @@ import io.swagger.v3.oas.annotations.media.Content; import io.swagger.v3.oas.annotations.media.ExampleObject; import io.swagger.v3.oas.annotations.responses.ApiResponse; import io.swagger.v3.oas.annotations.responses.ApiResponses; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; import org.springframework.http.MediaType; @@ -25,7 +25,7 @@ import org.springframework.web.bind.annotation.RestController; import java.util.List; -@Log4j2 +@Slf4j @CrossOrigin(origins = "*") @RestController @RequestMapping(path = "/api/oai") diff --git a/dbrepo-metadata-service/rest-service/src/main/java/at/ac/tuwien/ifs/dbrepo/endpoints/OntologyEndpoint.java b/dbrepo-metadata-service/rest-service/src/main/java/at/ac/tuwien/ifs/dbrepo/endpoints/OntologyEndpoint.java index da48971adb762783ab7812d513a327cca94c3886..7f06ab0b101baa9c8d17e83dc64c5a1b72feb3b3 100644 --- a/dbrepo-metadata-service/rest-service/src/main/java/at/ac/tuwien/ifs/dbrepo/endpoints/OntologyEndpoint.java +++ b/dbrepo-metadata-service/rest-service/src/main/java/at/ac/tuwien/ifs/dbrepo/endpoints/OntologyEndpoint.java @@ -20,7 +20,7 @@ import io.swagger.v3.oas.annotations.responses.ApiResponses; import io.swagger.v3.oas.annotations.security.SecurityRequirement; import jakarta.validation.Valid; import jakarta.validation.constraints.NotNull; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; @@ -31,7 +31,7 @@ import java.security.Principal; import java.util.List; import java.util.UUID; -@Log4j2 +@Slf4j @CrossOrigin(origins = "*") @RestController @RequestMapping(path = "/api/ontology") diff --git a/dbrepo-metadata-service/rest-service/src/main/java/at/ac/tuwien/ifs/dbrepo/endpoints/TableEndpoint.java b/dbrepo-metadata-service/rest-service/src/main/java/at/ac/tuwien/ifs/dbrepo/endpoints/TableEndpoint.java index 211efe731e673919223103aabcb5f8c0f8aa58cc..dd5b65317eeca3587e93adaae82b982aac10e69b 100644 --- a/dbrepo-metadata-service/rest-service/src/main/java/at/ac/tuwien/ifs/dbrepo/endpoints/TableEndpoint.java +++ b/dbrepo-metadata-service/rest-service/src/main/java/at/ac/tuwien/ifs/dbrepo/endpoints/TableEndpoint.java @@ -26,7 +26,7 @@ import io.swagger.v3.oas.annotations.responses.ApiResponses; import io.swagger.v3.oas.annotations.security.SecurityRequirement; import jakarta.validation.Valid; import jakarta.validation.constraints.NotNull; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; @@ -40,7 +40,7 @@ import java.util.Optional; import java.util.UUID; import java.util.stream.Collectors; -@Log4j2 +@Slf4j @CrossOrigin(origins = "*") @RestController @RequestMapping(path = "/api/database/{databaseId}/table") diff --git a/dbrepo-metadata-service/rest-service/src/main/java/at/ac/tuwien/ifs/dbrepo/endpoints/UnitEndpoint.java b/dbrepo-metadata-service/rest-service/src/main/java/at/ac/tuwien/ifs/dbrepo/endpoints/UnitEndpoint.java index a0f5630c7ab219b473839b3a0936ea3f85f58322..8c51242ea6391411e7dae34ccbbdddc6fa6899a5 100644 --- a/dbrepo-metadata-service/rest-service/src/main/java/at/ac/tuwien/ifs/dbrepo/endpoints/UnitEndpoint.java +++ b/dbrepo-metadata-service/rest-service/src/main/java/at/ac/tuwien/ifs/dbrepo/endpoints/UnitEndpoint.java @@ -10,7 +10,7 @@ import io.swagger.v3.oas.annotations.media.Content; import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.responses.ApiResponse; import io.swagger.v3.oas.annotations.responses.ApiResponses; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.ResponseEntity; import org.springframework.transaction.annotation.Transactional; @@ -21,7 +21,7 @@ import org.springframework.web.bind.annotation.RestController; import java.util.List; -@Log4j2 +@Slf4j @CrossOrigin(origins = "*") @RestController @RequestMapping(path = "/api/unit") diff --git a/dbrepo-metadata-service/rest-service/src/main/java/at/ac/tuwien/ifs/dbrepo/endpoints/UserEndpoint.java b/dbrepo-metadata-service/rest-service/src/main/java/at/ac/tuwien/ifs/dbrepo/endpoints/UserEndpoint.java index 1de29eef1b25d267901b3dbbff75c329fd099940..0f1ec13f3bb91664934a80ddf11ca19f4783e378 100644 --- a/dbrepo-metadata-service/rest-service/src/main/java/at/ac/tuwien/ifs/dbrepo/endpoints/UserEndpoint.java +++ b/dbrepo-metadata-service/rest-service/src/main/java/at/ac/tuwien/ifs/dbrepo/endpoints/UserEndpoint.java @@ -21,7 +21,7 @@ import io.swagger.v3.oas.annotations.responses.ApiResponses; import io.swagger.v3.oas.annotations.security.SecurityRequirement; import jakarta.validation.Valid; import jakarta.validation.constraints.NotNull; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpHeaders; import org.springframework.http.HttpStatus; @@ -34,7 +34,7 @@ import java.security.Principal; import java.util.List; import java.util.UUID; -@Log4j2 +@Slf4j @CrossOrigin(origins = "*") @RestController @RequestMapping(path = "/api/user") diff --git a/dbrepo-metadata-service/rest-service/src/main/java/at/ac/tuwien/ifs/dbrepo/endpoints/ViewEndpoint.java b/dbrepo-metadata-service/rest-service/src/main/java/at/ac/tuwien/ifs/dbrepo/endpoints/ViewEndpoint.java index 2c4bfd4e44d22e7def2846da883b6c555e0d2551..61d64b7d2088b0afb685ea0570354c6d661ebfd9 100644 --- a/dbrepo-metadata-service/rest-service/src/main/java/at/ac/tuwien/ifs/dbrepo/endpoints/ViewEndpoint.java +++ b/dbrepo-metadata-service/rest-service/src/main/java/at/ac/tuwien/ifs/dbrepo/endpoints/ViewEndpoint.java @@ -24,7 +24,7 @@ import io.swagger.v3.oas.annotations.responses.ApiResponses; import io.swagger.v3.oas.annotations.security.SecurityRequirement; import jakarta.validation.Valid; import jakarta.validation.constraints.NotNull; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; @@ -38,7 +38,7 @@ import java.util.Optional; import java.util.UUID; import java.util.stream.Collectors; -@Log4j2 +@Slf4j @CrossOrigin(origins = "*") @RestController @RequestMapping(path = "/api/database/{databaseId}/view") diff --git a/dbrepo-metadata-service/rest-service/src/main/java/at/ac/tuwien/ifs/dbrepo/handlers/ApiExceptionHandler.java b/dbrepo-metadata-service/rest-service/src/main/java/at/ac/tuwien/ifs/dbrepo/handlers/ApiExceptionHandler.java index 0d4a6170016a3f138d734e872939905e5e17278d..b1e06ce9951d245d038566367f212e3625078102 100644 --- a/dbrepo-metadata-service/rest-service/src/main/java/at/ac/tuwien/ifs/dbrepo/handlers/ApiExceptionHandler.java +++ b/dbrepo-metadata-service/rest-service/src/main/java/at/ac/tuwien/ifs/dbrepo/handlers/ApiExceptionHandler.java @@ -5,7 +5,7 @@ import at.ac.tuwien.ifs.dbrepo.core.exception.*; import com.auth0.jwt.exceptions.TokenExpiredException; import io.swagger.v3.oas.annotations.Hidden; import jakarta.ws.rs.NotAuthorizedException; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.springframework.http.HttpHeaders; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; @@ -14,7 +14,7 @@ import org.springframework.web.bind.annotation.ExceptionHandler; import org.springframework.web.bind.annotation.ResponseStatus; import org.springframework.web.servlet.mvc.method.annotation.ResponseEntityExceptionHandler; -@Log4j2 +@Slf4j @ControllerAdvice public class ApiExceptionHandler extends ResponseEntityExceptionHandler { diff --git a/dbrepo-metadata-service/rest-service/src/main/java/at/ac/tuwien/ifs/dbrepo/validation/EndpointValidator.java b/dbrepo-metadata-service/rest-service/src/main/java/at/ac/tuwien/ifs/dbrepo/validation/EndpointValidator.java index 8068a8d734102988195943163733b0e2cb35cd5f..af87409942f1da59250adbc5b033cf0e4651d238 100644 --- a/dbrepo-metadata-service/rest-service/src/main/java/at/ac/tuwien/ifs/dbrepo/validation/EndpointValidator.java +++ b/dbrepo-metadata-service/rest-service/src/main/java/at/ac/tuwien/ifs/dbrepo/validation/EndpointValidator.java @@ -14,7 +14,7 @@ import at.ac.tuwien.ifs.dbrepo.core.entity.user.User; import at.ac.tuwien.ifs.dbrepo.core.exception.*; import at.ac.tuwien.ifs.dbrepo.service.AccessService; import at.ac.tuwien.ifs.dbrepo.service.UserService; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.apache.commons.validator.GenericValidator; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; @@ -25,7 +25,7 @@ import java.util.List; import java.util.Objects; import java.util.Optional; -@Log4j2 +@Slf4j @Component public class EndpointValidator extends AbstractEndpoint { diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/ApplicationIntegrationTest.java b/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/ApplicationIntegrationTest.java index 30b82efb1f626c07a866f9f7f157149a905e6556..fa49ecc091e6161103e6d8d376a75e04af78ad6b 100644 --- a/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/ApplicationIntegrationTest.java +++ b/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/ApplicationIntegrationTest.java @@ -1,13 +1,13 @@ package at.ac.tuwien.ifs.dbrepo; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.annotation.DirtiesContext; import org.springframework.test.context.junit.jupiter.SpringExtension; -@Log4j2 +@Slf4j @DirtiesContext(classMode = DirtiesContext.ClassMode.BEFORE_EACH_TEST_METHOD) @SpringBootTest @ExtendWith(SpringExtension.class) diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/config/RabbitConfig.java b/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/config/RabbitConfig.java index 3dddb8cf33d8adade6efc587daf0d50dec057acb..70e6c53c28a9f42c883e0e0b9dbf38316eab452b 100644 --- a/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/config/RabbitConfig.java +++ b/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/config/RabbitConfig.java @@ -2,7 +2,7 @@ package at.ac.tuwien.ifs.dbrepo.config; import at.ac.tuwien.ifs.dbrepo.core.test.BaseTest; import lombok.Getter; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @@ -14,7 +14,7 @@ import org.springframework.web.util.DefaultUriBuilderFactory; import java.io.IOException; @Getter -@Log4j2 +@Slf4j @Configuration public class RabbitConfig extends BaseTest { diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/converters/IdentifierStatusTypeDtoConverterUnitTest.java b/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/converters/IdentifierStatusTypeDtoConverterUnitTest.java index 20f1f615eb786b1f44697f9fa7a50b2671a3baa2..cc00c5c22d2b5ae1849f9d1c83a7e58c0399a049 100644 --- a/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/converters/IdentifierStatusTypeDtoConverterUnitTest.java +++ b/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/converters/IdentifierStatusTypeDtoConverterUnitTest.java @@ -2,7 +2,7 @@ package at.ac.tuwien.ifs.dbrepo.converters; import at.ac.tuwien.ifs.dbrepo.core.api.identifier.IdentifierStatusTypeDto; import at.ac.tuwien.ifs.dbrepo.core.test.BaseTest; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; @@ -12,7 +12,7 @@ import java.io.IOException; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertThrows; -@Log4j2 +@Slf4j @SpringBootTest public class IdentifierStatusTypeDtoConverterUnitTest extends BaseTest { diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/converters/IdentifierTypeDtoConverterUnitTest.java b/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/converters/IdentifierTypeDtoConverterUnitTest.java index 1d73cc34452a120c9da246457693fff9dd6615f4..dbc4d2bcff8e2520439f19d988a9aae63b1c6599 100644 --- a/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/converters/IdentifierTypeDtoConverterUnitTest.java +++ b/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/converters/IdentifierTypeDtoConverterUnitTest.java @@ -2,7 +2,7 @@ package at.ac.tuwien.ifs.dbrepo.converters; import at.ac.tuwien.ifs.dbrepo.core.api.identifier.IdentifierTypeDto; import at.ac.tuwien.ifs.dbrepo.core.test.BaseTest; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; @@ -12,7 +12,7 @@ import java.io.IOException; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertThrows; -@Log4j2 +@Slf4j @SpringBootTest public class IdentifierTypeDtoConverterUnitTest extends BaseTest { diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/endpoints/AbstractEndpointUnitTest.java b/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/endpoints/AbstractEndpointUnitTest.java index 52ffe690fa39b99d37308277005391f72f568093..faa95fb244ffed812206f08c76016cbb6219dec8 100644 --- a/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/endpoints/AbstractEndpointUnitTest.java +++ b/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/endpoints/AbstractEndpointUnitTest.java @@ -2,7 +2,7 @@ package at.ac.tuwien.ifs.dbrepo.endpoints; import at.ac.tuwien.ifs.dbrepo.core.test.BaseTest; import at.ac.tuwien.ifs.dbrepo.core.api.user.UserDetailsDto; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.springframework.beans.factory.annotation.Autowired; @@ -14,7 +14,7 @@ import java.security.Principal; import static org.junit.jupiter.api.Assertions.*; -@Log4j2 +@Slf4j @SpringBootTest @ExtendWith(SpringExtension.class) public class AbstractEndpointUnitTest extends BaseTest { diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/endpoints/AccessEndpointUnitTest.java b/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/endpoints/AccessEndpointUnitTest.java index 3c041352ea8b74846cf1693176799ac66fbed5fd..d32b6385faf9a481365c9df92e8baeae10079502 100644 --- a/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/endpoints/AccessEndpointUnitTest.java +++ b/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/endpoints/AccessEndpointUnitTest.java @@ -13,7 +13,7 @@ import at.ac.tuwien.ifs.dbrepo.service.AccessService; import at.ac.tuwien.ifs.dbrepo.service.DashboardService; import at.ac.tuwien.ifs.dbrepo.service.DatabaseService; import at.ac.tuwien.ifs.dbrepo.service.UserService; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.springframework.beans.factory.annotation.Autowired; @@ -35,7 +35,7 @@ import static org.junit.jupiter.api.Assertions.*; import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.*; -@Log4j2 +@Slf4j @SpringBootTest @ExtendWith(SpringExtension.class) public class AccessEndpointUnitTest extends BaseTest { diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/endpoints/ActuatorComponentTest.java b/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/endpoints/ActuatorComponentTest.java index f86a8c4e8b4641ad05d9d2b62a233b56df38953a..6a86fb3b54c175478a61beb59b808c313cc2752f 100644 --- a/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/endpoints/ActuatorComponentTest.java +++ b/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/endpoints/ActuatorComponentTest.java @@ -1,7 +1,7 @@ package at.ac.tuwien.ifs.dbrepo.endpoints; import at.ac.tuwien.ifs.dbrepo.core.test.BaseTest; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.springframework.beans.factory.annotation.Autowired; @@ -17,7 +17,7 @@ import static org.springframework.test.web.servlet.result.MockMvcResultHandlers. import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.jsonPath; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; -@Log4j2 +@Slf4j @ExtendWith(SpringExtension.class) @AutoConfigureMockMvc @SpringBootTest diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/endpoints/ConceptEndpointUnitTest.java b/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/endpoints/ConceptEndpointUnitTest.java index ba1d324299c2dc1541345a53376a9dadb08572ed..74a021b50b9dbbeef7f33a1fa7b3662f62b3bdc2 100644 --- a/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/endpoints/ConceptEndpointUnitTest.java +++ b/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/endpoints/ConceptEndpointUnitTest.java @@ -3,7 +3,7 @@ package at.ac.tuwien.ifs.dbrepo.endpoints; import at.ac.tuwien.ifs.dbrepo.core.api.database.table.columns.concepts.ConceptDto; import at.ac.tuwien.ifs.dbrepo.core.test.BaseTest; import at.ac.tuwien.ifs.dbrepo.service.ConceptService; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.springframework.beans.factory.annotation.Autowired; @@ -21,7 +21,7 @@ import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNotNull; import static org.mockito.Mockito.when; -@Log4j2 +@Slf4j @SpringBootTest @ExtendWith(SpringExtension.class) public class ConceptEndpointUnitTest extends BaseTest { diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/endpoints/ContainerEndpointUnitTest.java b/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/endpoints/ContainerEndpointUnitTest.java index 0933ab65ef5cb699f35b3c45691c450fcdacedd7..1de68f3fff845a2c69e3f1fcc70d51b4f8e91105 100644 --- a/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/endpoints/ContainerEndpointUnitTest.java +++ b/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/endpoints/ContainerEndpointUnitTest.java @@ -9,7 +9,7 @@ import at.ac.tuwien.ifs.dbrepo.core.exception.ContainerNotFoundException; import at.ac.tuwien.ifs.dbrepo.core.exception.ImageNotFoundException; import at.ac.tuwien.ifs.dbrepo.core.test.BaseTest; import at.ac.tuwien.ifs.dbrepo.service.impl.ContainerServiceImpl; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.springframework.beans.factory.annotation.Autowired; @@ -30,7 +30,7 @@ import static org.junit.jupiter.api.Assertions.*; import static org.mockito.Mockito.doNothing; import static org.mockito.Mockito.when; -@Log4j2 +@Slf4j @ExtendWith(SpringExtension.class) @SpringBootTest public class ContainerEndpointUnitTest extends BaseTest { diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/endpoints/DatabaseEndpointUnitTest.java b/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/endpoints/DatabaseEndpointUnitTest.java index 7f185fd98968c15d0b5dcdc17a9225ec1f22345e..5c6da0c477ae1e36ae00cbd53664e159e68b196e 100644 --- a/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/endpoints/DatabaseEndpointUnitTest.java +++ b/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/endpoints/DatabaseEndpointUnitTest.java @@ -8,7 +8,7 @@ import at.ac.tuwien.ifs.dbrepo.core.exception.*; import at.ac.tuwien.ifs.dbrepo.core.test.BaseTest; import at.ac.tuwien.ifs.dbrepo.service.*; import at.ac.tuwien.ifs.dbrepo.service.impl.DatabaseServiceImpl; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.springframework.beans.factory.annotation.Autowired; @@ -31,7 +31,7 @@ import static org.junit.jupiter.api.Assertions.*; import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.*; -@Log4j2 +@Slf4j @SpringBootTest @ExtendWith(SpringExtension.class) public class DatabaseEndpointUnitTest extends BaseTest { diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/endpoints/IdentifierEndpointUnitTest.java b/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/endpoints/IdentifierEndpointUnitTest.java index 38b8ee221794b7fd353e1fa86e7a11a3b8405106..054c96e3d925412cc746a81c97e9f8d3d448d7bc 100644 --- a/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/endpoints/IdentifierEndpointUnitTest.java +++ b/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/endpoints/IdentifierEndpointUnitTest.java @@ -13,7 +13,7 @@ import at.ac.tuwien.ifs.dbrepo.core.test.BaseTest; import at.ac.tuwien.ifs.dbrepo.gateway.DataServiceGateway; import at.ac.tuwien.ifs.dbrepo.service.*; import com.fasterxml.jackson.databind.ObjectMapper; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.apache.commons.io.FileUtils; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; @@ -44,7 +44,7 @@ import java.util.stream.Stream; import static org.junit.jupiter.api.Assertions.*; import static org.mockito.Mockito.*; -@Log4j2 +@Slf4j @ExtendWith(SpringExtension.class) @SpringBootTest public class IdentifierEndpointUnitTest extends BaseTest { diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/endpoints/ImageEndpointUnitTest.java b/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/endpoints/ImageEndpointUnitTest.java index 9a1289a86b3b3884d030e0b4a63203ee16cd9cf1..c6e88e085746d1a35ee89603e9b0094decebf595 100644 --- a/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/endpoints/ImageEndpointUnitTest.java +++ b/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/endpoints/ImageEndpointUnitTest.java @@ -11,7 +11,7 @@ import at.ac.tuwien.ifs.dbrepo.core.exception.ImageNotFoundException; import at.ac.tuwien.ifs.dbrepo.core.mapper.MetadataMapper; import at.ac.tuwien.ifs.dbrepo.core.test.BaseTest; import at.ac.tuwien.ifs.dbrepo.service.impl.ImageServiceImpl; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.springframework.beans.factory.annotation.Autowired; @@ -30,7 +30,7 @@ import java.util.UUID; import static org.junit.jupiter.api.Assertions.*; import static org.mockito.Mockito.*; -@Log4j2 +@Slf4j @ExtendWith(SpringExtension.class) @SpringBootTest public class ImageEndpointUnitTest extends BaseTest { diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/endpoints/LicenseEndpointUnitTest.java b/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/endpoints/LicenseEndpointUnitTest.java index 765d16dc834d717659f08eecaa81e1021cc75ce5..5591983b91e655602c36110684e77b2beff6834a 100644 --- a/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/endpoints/LicenseEndpointUnitTest.java +++ b/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/endpoints/LicenseEndpointUnitTest.java @@ -3,7 +3,7 @@ package at.ac.tuwien.ifs.dbrepo.endpoints; import at.ac.tuwien.ifs.dbrepo.core.api.database.LicenseDto; import at.ac.tuwien.ifs.dbrepo.repository.LicenseRepository; import at.ac.tuwien.ifs.dbrepo.core.test.BaseTest; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.springframework.beans.factory.annotation.Autowired; @@ -19,7 +19,7 @@ import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNotNull; import static org.mockito.Mockito.when; -@Log4j2 +@Slf4j @SpringBootTest @ExtendWith(SpringExtension.class) public class LicenseEndpointUnitTest extends BaseTest { diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/endpoints/MessageEndpointUnitTest.java b/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/endpoints/MessageEndpointUnitTest.java index f31518e8e20bce9c0bbd6c2b296d91469dc9c693..0afe907bd3b8e82fa248708bf83763ef83ab3881 100644 --- a/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/endpoints/MessageEndpointUnitTest.java +++ b/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/endpoints/MessageEndpointUnitTest.java @@ -7,7 +7,7 @@ import at.ac.tuwien.ifs.dbrepo.core.entity.maintenance.BannerMessage; import at.ac.tuwien.ifs.dbrepo.core.exception.MessageNotFoundException; import at.ac.tuwien.ifs.dbrepo.service.BannerMessageService; import at.ac.tuwien.ifs.dbrepo.core.test.BaseTest; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.springframework.beans.factory.annotation.Autowired; @@ -25,7 +25,7 @@ import java.util.UUID; import static org.junit.jupiter.api.Assertions.*; import static org.mockito.Mockito.*; -@Log4j2 +@Slf4j @SpringBootTest @ExtendWith(SpringExtension.class) public class MessageEndpointUnitTest extends BaseTest { diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/endpoints/MetadataEndpointUnitTest.java b/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/endpoints/MetadataEndpointUnitTest.java index 012ca1f1c0dc4f8545959870357a96db674a8675..ec7b3982107cc330c0e25ff58b850c10c53f6d5a 100644 --- a/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/endpoints/MetadataEndpointUnitTest.java +++ b/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/endpoints/MetadataEndpointUnitTest.java @@ -5,7 +5,7 @@ import at.ac.tuwien.ifs.dbrepo.oaipmh.OaiRecordParameters; import at.ac.tuwien.ifs.dbrepo.repository.IdentifierRepository; import at.ac.tuwien.ifs.dbrepo.core.test.BaseTest; import at.ac.tuwien.ifs.dbrepo.utils.XmlUtils; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.springframework.beans.factory.annotation.Autowired; @@ -23,7 +23,7 @@ import java.util.UUID; import static org.junit.jupiter.api.Assertions.*; import static org.mockito.Mockito.when; -@Log4j2 +@Slf4j @SpringBootTest @ExtendWith(SpringExtension.class) public class MetadataEndpointUnitTest extends BaseTest { diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/endpoints/OntologyEndpointUnitTest.java b/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/endpoints/OntologyEndpointUnitTest.java index 3055de08cd09da60386ab44572e60c628697089a..18763f40826c860505af66113b1331e96bad09f4 100644 --- a/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/endpoints/OntologyEndpointUnitTest.java +++ b/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/endpoints/OntologyEndpointUnitTest.java @@ -8,7 +8,7 @@ import at.ac.tuwien.ifs.dbrepo.service.EntityService; import at.ac.tuwien.ifs.dbrepo.service.OntologyService; import at.ac.tuwien.ifs.dbrepo.service.UserService; import at.ac.tuwien.ifs.dbrepo.core.test.BaseTest; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.apache.jena.sys.JenaSystem; import org.hibernate.HibernateException; import org.junit.jupiter.api.BeforeAll; @@ -30,7 +30,7 @@ import java.util.UUID; import static org.junit.jupiter.api.Assertions.*; import static org.mockito.Mockito.*; -@Log4j2 +@Slf4j @SpringBootTest @ExtendWith(SpringExtension.class) public class OntologyEndpointUnitTest extends BaseTest { diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/endpoints/TableEndpointUnitTest.java b/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/endpoints/TableEndpointUnitTest.java index 9c756b8311dd606157991343626a5e1ac84b1bcb..eeea825d64b9c31e781f67e0aa3ffa32bc503038 100644 --- a/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/endpoints/TableEndpointUnitTest.java +++ b/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/endpoints/TableEndpointUnitTest.java @@ -20,7 +20,7 @@ import at.ac.tuwien.ifs.dbrepo.core.exception.*; import at.ac.tuwien.ifs.dbrepo.service.*; import at.ac.tuwien.ifs.dbrepo.core.test.BaseTest; import at.ac.tuwien.ifs.dbrepo.validation.EndpointValidator; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.apache.jena.sys.JenaSystem; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; @@ -45,7 +45,7 @@ import java.util.stream.Stream; import static org.junit.jupiter.api.Assertions.*; import static org.mockito.Mockito.*; -@Log4j2 +@Slf4j @SpringBootTest @ExtendWith(SpringExtension.class) public class TableEndpointUnitTest extends BaseTest { diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/endpoints/UnitEndpointUnitTest.java b/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/endpoints/UnitEndpointUnitTest.java index 77f8bebaa2c5f6f7172b43244de6434fda3ac548..27488468ca10abd4ecdd48d4001095bf99dfed4f 100644 --- a/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/endpoints/UnitEndpointUnitTest.java +++ b/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/endpoints/UnitEndpointUnitTest.java @@ -3,7 +3,7 @@ package at.ac.tuwien.ifs.dbrepo.endpoints; import at.ac.tuwien.ifs.dbrepo.core.api.database.table.columns.concepts.UnitDto; import at.ac.tuwien.ifs.dbrepo.service.UnitService; import at.ac.tuwien.ifs.dbrepo.core.test.BaseTest; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.springframework.beans.factory.annotation.Autowired; @@ -21,7 +21,7 @@ import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNotNull; import static org.mockito.Mockito.when; -@Log4j2 +@Slf4j @SpringBootTest @ExtendWith(SpringExtension.class) public class UnitEndpointUnitTest extends BaseTest { diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/endpoints/UserEndpointUnitTest.java b/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/endpoints/UserEndpointUnitTest.java index c24461a16400e5187ae3ac8656073fa9b0d7223f..65cbf3ce930ab151ec7533a0fd5951b3793ce644 100644 --- a/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/endpoints/UserEndpointUnitTest.java +++ b/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/endpoints/UserEndpointUnitTest.java @@ -10,7 +10,7 @@ import at.ac.tuwien.ifs.dbrepo.core.exception.NotAllowedException; import at.ac.tuwien.ifs.dbrepo.core.exception.UserNotFoundException; import at.ac.tuwien.ifs.dbrepo.service.UserService; import at.ac.tuwien.ifs.dbrepo.core.test.BaseTest; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.springframework.beans.factory.annotation.Autowired; @@ -33,7 +33,7 @@ import static org.junit.jupiter.api.Assertions.*; import static org.mockito.Mockito.doThrow; import static org.mockito.Mockito.when; -@Log4j2 +@Slf4j @SpringBootTest @ExtendWith(SpringExtension.class) public class UserEndpointUnitTest extends BaseTest { diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/endpoints/ViewEndpointUnitTest.java b/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/endpoints/ViewEndpointUnitTest.java index d0cb350758e2de484a6ab82871690f1f76183a80..595f20d90727e5cf5126c739d01d4c2633f7621c 100644 --- a/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/endpoints/ViewEndpointUnitTest.java +++ b/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/endpoints/ViewEndpointUnitTest.java @@ -11,7 +11,7 @@ import at.ac.tuwien.ifs.dbrepo.core.entity.user.User; import at.ac.tuwien.ifs.dbrepo.core.exception.*; import at.ac.tuwien.ifs.dbrepo.service.*; import at.ac.tuwien.ifs.dbrepo.core.test.BaseTest; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.springframework.beans.factory.annotation.Autowired; @@ -31,7 +31,7 @@ import java.util.UUID; import static org.junit.jupiter.api.Assertions.*; import static org.mockito.Mockito.*; -@Log4j2 +@Slf4j @SpringBootTest @ExtendWith(SpringExtension.class) public class ViewEndpointUnitTest extends BaseTest { diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/entity/EntitiesUnitTest.java b/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/entity/EntitiesUnitTest.java index 32f5b79f667b36135c06cb7f3447a36dd29d08c1..2bbc1cee531f53f197d3fab6b21d49cb76f8b399 100644 --- a/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/entity/EntitiesUnitTest.java +++ b/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/entity/EntitiesUnitTest.java @@ -1,14 +1,14 @@ package at.ac.tuwien.ifs.dbrepo.core.entity; import at.ac.tuwien.ifs.dbrepo.core.test.BaseTest; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.Test; import java.util.UUID; import static org.junit.jupiter.api.Assertions.assertEquals; -@Log4j2 +@Slf4j public class EntitiesUnitTest extends BaseTest { @Test diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/gateway/BrokerServiceGatewayUnitTest.java b/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/gateway/BrokerServiceGatewayUnitTest.java index e8d2b0192303cf32a428759de306c5f437e87ebd..b1002c5d4acdd32cf3000f43b6ebb75d22c1204a 100644 --- a/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/gateway/BrokerServiceGatewayUnitTest.java +++ b/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/gateway/BrokerServiceGatewayUnitTest.java @@ -4,7 +4,7 @@ import at.ac.tuwien.ifs.dbrepo.core.api.amqp.GrantExchangePermissionsDto; import at.ac.tuwien.ifs.dbrepo.core.exception.BrokerServiceConnectionException; import at.ac.tuwien.ifs.dbrepo.core.exception.BrokerServiceException; import at.ac.tuwien.ifs.dbrepo.core.test.BaseTest; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.springframework.beans.factory.annotation.Autowired; @@ -23,7 +23,7 @@ import org.springframework.web.client.RestTemplate; import static org.junit.jupiter.api.Assertions.assertThrows; import static org.mockito.Mockito.*; -@Log4j2 +@Slf4j @SpringBootTest @ExtendWith(SpringExtension.class) public class BrokerServiceGatewayUnitTest extends BaseTest { diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/gateway/CrossRefGatewayUnitTest.java b/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/gateway/CrossRefGatewayUnitTest.java index 7513622f37a0dc8f50f13611715097bf0b8c2787..c47bad3a3e95a8b04dc392e7082a82093cf37d9e 100644 --- a/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/gateway/CrossRefGatewayUnitTest.java +++ b/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/gateway/CrossRefGatewayUnitTest.java @@ -3,7 +3,7 @@ package at.ac.tuwien.ifs.dbrepo.gateway; import at.ac.tuwien.ifs.dbrepo.core.api.crossref.CrossRefDto; import at.ac.tuwien.ifs.dbrepo.core.exception.DoiNotFoundException; import at.ac.tuwien.ifs.dbrepo.core.test.BaseTest; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.springframework.beans.factory.annotation.Autowired; @@ -21,7 +21,7 @@ import org.springframework.web.client.RestTemplate; import static org.junit.jupiter.api.Assertions.assertThrows; import static org.mockito.Mockito.*; -@Log4j2 +@Slf4j @SpringBootTest @ExtendWith(SpringExtension.class) public class CrossRefGatewayUnitTest extends BaseTest { diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/gateway/DashboardServiceGatewayUnitTest.java b/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/gateway/DashboardServiceGatewayUnitTest.java index c1a60d0115d5c02e81ff49d13bcb6a486cccd12a..4af9c6b30e09048604981894bb962cce3d0d7d88 100644 --- a/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/gateway/DashboardServiceGatewayUnitTest.java +++ b/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/gateway/DashboardServiceGatewayUnitTest.java @@ -5,7 +5,7 @@ import at.ac.tuwien.ifs.dbrepo.core.api.grafana.PermissionTypeDto; import at.ac.tuwien.ifs.dbrepo.core.exception.DashboardServiceConnectionException; import at.ac.tuwien.ifs.dbrepo.core.exception.DashboardServiceException; import at.ac.tuwien.ifs.dbrepo.core.test.BaseTest; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.springframework.beans.factory.annotation.Autowired; @@ -27,7 +27,7 @@ import static org.mockito.ArgumentMatchers.*; import static org.mockito.Mockito.doThrow; import static org.mockito.Mockito.when; -@Log4j2 +@Slf4j @SpringBootTest @ExtendWith(SpringExtension.class) public class DashboardServiceGatewayUnitTest extends BaseTest { diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/gateway/DataServiceGatewayUnitTest.java b/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/gateway/DataServiceGatewayUnitTest.java index 14df28608a18d6bddd5519abb67b8bcb20a09113..19e7929430b4d9b15700ef06b7d246812491fb61 100644 --- a/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/gateway/DataServiceGatewayUnitTest.java +++ b/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/gateway/DataServiceGatewayUnitTest.java @@ -8,7 +8,7 @@ import at.ac.tuwien.ifs.dbrepo.core.api.database.table.TableDto; import at.ac.tuwien.ifs.dbrepo.core.api.database.table.TableStatisticDto; import at.ac.tuwien.ifs.dbrepo.core.exception.*; import at.ac.tuwien.ifs.dbrepo.core.test.BaseTest; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.springframework.beans.factory.annotation.Autowired; @@ -29,7 +29,7 @@ import static org.mockito.ArgumentMatchers.*; import static org.mockito.Mockito.doThrow; import static org.mockito.Mockito.when; -@Log4j2 +@Slf4j @SpringBootTest @ExtendWith(SpringExtension.class) public class DataServiceGatewayUnitTest extends BaseTest { diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/gateway/KeycloakGatewayIntegrationTest.java b/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/gateway/KeycloakGatewayIntegrationTest.java index 40d8eab970de1ae48e0fa39005cba88b7c9ae2bd..f8266772b9780363f099274d33ed13a8ef0cd2e4 100644 --- a/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/gateway/KeycloakGatewayIntegrationTest.java +++ b/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/gateway/KeycloakGatewayIntegrationTest.java @@ -6,7 +6,7 @@ import at.ac.tuwien.ifs.dbrepo.gateway.impl.KeycloakGatewayImpl; import at.ac.tuwien.ifs.dbrepo.core.test.BaseTest; import at.ac.tuwien.ifs.dbrepo.utils.KeycloakUtils; import dasniko.testcontainers.keycloak.KeycloakContainer; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; @@ -22,7 +22,7 @@ import org.testcontainers.junit.jupiter.Testcontainers; import static org.junit.jupiter.api.Assertions.*; -@Log4j2 +@Slf4j @SpringBootTest @Testcontainers @ExtendWith(SpringExtension.class) diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/gateway/OrcidGatewayUnitTest.java b/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/gateway/OrcidGatewayUnitTest.java index 31d8baeab55a9122b1ea7b252a59446a31aa58eb..8cc81d89c6730eaa9fcf37899d08f117cdb992d7 100644 --- a/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/gateway/OrcidGatewayUnitTest.java +++ b/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/gateway/OrcidGatewayUnitTest.java @@ -3,7 +3,7 @@ package at.ac.tuwien.ifs.dbrepo.gateway; import at.ac.tuwien.ifs.dbrepo.core.test.BaseTest; import at.ac.tuwien.ifs.dbrepo.core.api.orcid.OrcidDto; import at.ac.tuwien.ifs.dbrepo.core.exception.OrcidNotFoundException; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.springframework.beans.factory.annotation.Autowired; @@ -22,7 +22,7 @@ import java.io.IOException; import static org.junit.jupiter.api.Assertions.assertThrows; import static org.mockito.Mockito.*; -@Log4j2 +@Slf4j @SpringBootTest @ExtendWith(SpringExtension.class) public class OrcidGatewayUnitTest extends BaseTest { diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/gateway/RorGatewayUnitTest.java b/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/gateway/RorGatewayUnitTest.java index b8b100c413761cbed6b57738146c1001345e70a6..f6b46031065b92bb7352cc3316b767f8b404fc73 100644 --- a/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/gateway/RorGatewayUnitTest.java +++ b/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/gateway/RorGatewayUnitTest.java @@ -3,7 +3,7 @@ package at.ac.tuwien.ifs.dbrepo.gateway; import at.ac.tuwien.ifs.dbrepo.core.api.ror.RorDto; import at.ac.tuwien.ifs.dbrepo.core.exception.RorNotFoundException; import at.ac.tuwien.ifs.dbrepo.core.test.BaseTest; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.springframework.beans.factory.annotation.Autowired; @@ -20,7 +20,7 @@ import org.springframework.web.client.RestTemplate; import static org.junit.jupiter.api.Assertions.assertThrows; import static org.mockito.Mockito.*; -@Log4j2 +@Slf4j @SpringBootTest @ExtendWith(SpringExtension.class) public class RorGatewayUnitTest extends BaseTest { diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/gateway/SearchServiceGatewayUnitTest.java b/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/gateway/SearchServiceGatewayUnitTest.java index 3ff4a3a508b19a2c29f10df1b9bcabfaf2448980..61c5fae3a320be2ff28d1c2300da20b899ebf7ab 100644 --- a/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/gateway/SearchServiceGatewayUnitTest.java +++ b/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/gateway/SearchServiceGatewayUnitTest.java @@ -5,7 +5,7 @@ import at.ac.tuwien.ifs.dbrepo.core.exception.DatabaseNotFoundException; import at.ac.tuwien.ifs.dbrepo.core.exception.SearchServiceConnectionException; import at.ac.tuwien.ifs.dbrepo.core.exception.SearchServiceException; import at.ac.tuwien.ifs.dbrepo.core.test.BaseTest; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.springframework.beans.factory.annotation.Autowired; @@ -24,7 +24,7 @@ import org.springframework.web.client.RestTemplate; import static org.junit.jupiter.api.Assertions.assertThrows; import static org.mockito.Mockito.*; -@Log4j2 +@Slf4j @SpringBootTest @ExtendWith(SpringExtension.class) public class SearchServiceGatewayUnitTest extends BaseTest { diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/handlers/ApiExceptionHandlerTest.java b/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/handlers/ApiExceptionHandlerTest.java index 7ab54f089c254c22b1f17af4622f6d65fe4a4044..fadbea76c7201ad892cb74d0e3c4c097b13c5694 100644 --- a/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/handlers/ApiExceptionHandlerTest.java +++ b/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/handlers/ApiExceptionHandlerTest.java @@ -5,7 +5,7 @@ import at.ac.tuwien.ifs.dbrepo.core.exception.*; import at.ac.tuwien.ifs.dbrepo.core.test.BaseTest; import com.auth0.jwt.exceptions.TokenExpiredException; import jakarta.ws.rs.NotAuthorizedException; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; @@ -27,7 +27,7 @@ import static at.ac.tuwien.ifs.dbrepo.core.test.utils.EndpointUtils.getErrorCode import static at.ac.tuwien.ifs.dbrepo.core.test.utils.EndpointUtils.getExceptions; import static org.junit.jupiter.api.Assertions.*; -@Log4j2 +@Slf4j @ExtendWith(SpringExtension.class) @SpringBootTest public class ApiExceptionHandlerTest extends BaseTest { diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/mapper/MetadataMapperUnitTest.java b/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/mapper/MetadataMapperUnitTest.java index 0b3c5fdf68712c95cf1b72f5639bb75c235caaf1..10c2c09766192731d5413e62a26d191101baa45f 100644 --- a/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/mapper/MetadataMapperUnitTest.java +++ b/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/mapper/MetadataMapperUnitTest.java @@ -6,7 +6,7 @@ import at.ac.tuwien.ifs.dbrepo.core.entity.identifier.Identifier; import at.ac.tuwien.ifs.dbrepo.core.entity.identifier.IdentifierType; import at.ac.tuwien.ifs.dbrepo.core.mapper.MetadataMapper; import at.ac.tuwien.ifs.dbrepo.core.test.BaseTest; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.Test; import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.Arguments; @@ -22,7 +22,7 @@ import java.util.stream.Stream; import static org.junit.jupiter.api.Assertions.*; -@Log4j2 +@Slf4j @SpringBootTest public class MetadataMapperUnitTest extends BaseTest { diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/mvc/ActuatorEndpointMvcTest.java b/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/mvc/ActuatorEndpointMvcTest.java index 7d8c74437a1204dda49c7f18bdaba94ff668d01e..c17587d97fea435d79acd9ee67df5940840cc461 100644 --- a/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/mvc/ActuatorEndpointMvcTest.java +++ b/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/mvc/ActuatorEndpointMvcTest.java @@ -1,7 +1,7 @@ package at.ac.tuwien.ifs.dbrepo.mvc; import at.ac.tuwien.ifs.dbrepo.core.test.BaseTest; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.springframework.beans.factory.annotation.Autowired; @@ -15,7 +15,7 @@ import static org.springframework.test.web.servlet.request.MockMvcRequestBuilder import static org.springframework.test.web.servlet.result.MockMvcResultHandlers.print; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; -@Log4j2 +@Slf4j @ExtendWith(SpringExtension.class) @AutoConfigureMockMvc @SpringBootTest diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/mvc/AuthenticationPrivilegedIntegrationMvcTest.java b/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/mvc/AuthenticationPrivilegedIntegrationMvcTest.java index 9a6354453b14b5248f0828769ea89e9334928ca5..1384226856975ec09a6f2f024b3a8c26e96fb6dd 100644 --- a/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/mvc/AuthenticationPrivilegedIntegrationMvcTest.java +++ b/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/mvc/AuthenticationPrivilegedIntegrationMvcTest.java @@ -13,7 +13,7 @@ import at.ac.tuwien.ifs.dbrepo.core.test.BaseTest; import at.ac.tuwien.ifs.dbrepo.utils.KeycloakUtils; import dasniko.testcontainers.keycloak.KeycloakContainer; import jakarta.transaction.Transactional; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; @@ -36,7 +36,7 @@ import static org.springframework.test.web.servlet.result.MockMvcResultHandlers. import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.header; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; -@Log4j2 +@Slf4j @ExtendWith(SpringExtension.class) @AutoConfigureMockMvc @Testcontainers diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/mvc/IdentifierEndpointMvcTest.java b/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/mvc/IdentifierEndpointMvcTest.java index b0cdca73e25243c1f59a8b3069bc6926a4e386cc..31c949829fec41a614649654efc29315696c4a16 100644 --- a/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/mvc/IdentifierEndpointMvcTest.java +++ b/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/mvc/IdentifierEndpointMvcTest.java @@ -3,7 +3,7 @@ package at.ac.tuwien.ifs.dbrepo.mvc; import at.ac.tuwien.ifs.dbrepo.gateway.OrcidGateway; import at.ac.tuwien.ifs.dbrepo.core.test.BaseTest; import com.mchange.io.FileUtils; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.springframework.beans.factory.annotation.Autowired; @@ -23,7 +23,7 @@ import static org.springframework.test.web.servlet.result.MockMvcResultHandlers. import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; -@Log4j2 +@Slf4j @ExtendWith(SpringExtension.class) @AutoConfigureMockMvc @SpringBootTest diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/mvc/MetadataEndpointMvcTest.java b/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/mvc/MetadataEndpointMvcTest.java index 870251323e0af7913d07da4bf24872a94e7544bf..4094b7e52dbd26eb1e98b3e9512c3decc956fde2 100644 --- a/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/mvc/MetadataEndpointMvcTest.java +++ b/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/mvc/MetadataEndpointMvcTest.java @@ -3,7 +3,7 @@ package at.ac.tuwien.ifs.dbrepo.mvc; import at.ac.tuwien.ifs.dbrepo.config.MetadataConfig; import at.ac.tuwien.ifs.dbrepo.repository.IdentifierRepository; import at.ac.tuwien.ifs.dbrepo.core.test.BaseTest; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.springframework.beans.factory.annotation.Autowired; @@ -22,7 +22,7 @@ import static org.springframework.test.web.servlet.request.MockMvcRequestBuilder import static org.springframework.test.web.servlet.result.MockMvcResultHandlers.print; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.*; -@Log4j2 +@Slf4j @ExtendWith(SpringExtension.class) @DirtiesContext(classMode = DirtiesContext.ClassMode.BEFORE_EACH_TEST_METHOD) @AutoConfigureMockMvc diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/mvc/OpenApiEndpointMvcTest.java b/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/mvc/OpenApiEndpointMvcTest.java index 0d37944ba9baa546d3e499efd002218e13360354..c90a8381e3ed3d241e841a851e103e4ee130d4f1 100644 --- a/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/mvc/OpenApiEndpointMvcTest.java +++ b/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/mvc/OpenApiEndpointMvcTest.java @@ -6,7 +6,7 @@ import at.ac.tuwien.ifs.dbrepo.core.test.BaseTest; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.media.Content; import io.swagger.v3.oas.annotations.responses.ApiResponse; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.springframework.beans.factory.annotation.Autowired; @@ -26,7 +26,7 @@ import static org.springframework.test.web.servlet.request.MockMvcRequestBuilder import static org.springframework.test.web.servlet.result.MockMvcResultHandlers.print; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; -@Log4j2 +@Slf4j @ExtendWith(SpringExtension.class) @AutoConfigureMockMvc @SpringBootTest diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/mvc/PrometheusEndpointMvcTest.java b/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/mvc/PrometheusEndpointMvcTest.java index f3a15c7f3f840530b7ca72f80277dab34b8b2ac1..90f79350f7a5e1249c5821b77e4a65658aa20126 100644 --- a/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/mvc/PrometheusEndpointMvcTest.java +++ b/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/mvc/PrometheusEndpointMvcTest.java @@ -11,7 +11,7 @@ import at.ac.tuwien.ifs.dbrepo.core.mapper.MetadataMapper; import at.ac.tuwien.ifs.dbrepo.endpoints.*; import at.ac.tuwien.ifs.dbrepo.core.test.BaseTest; import io.micrometer.observation.tck.TestObservationRegistry; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.springframework.beans.factory.annotation.Autowired; @@ -33,7 +33,7 @@ import static org.springframework.test.web.servlet.request.MockMvcRequestBuilder import static org.springframework.test.web.servlet.result.MockMvcResultHandlers.print; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; -@Log4j2 +@Slf4j @ExtendWith(SpringExtension.class) @AutoConfigureMockMvc @SpringBootTest diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/service/AccessServiceUnitTest.java b/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/service/AccessServiceUnitTest.java index 17a7cb32f84e6b39ebead7f7ea81672604c5d259..52093cb5d52495a1cc513998d3e88b43b2755aba 100644 --- a/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/service/AccessServiceUnitTest.java +++ b/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/service/AccessServiceUnitTest.java @@ -8,7 +8,7 @@ import at.ac.tuwien.ifs.dbrepo.core.entity.database.DatabaseAccess; import at.ac.tuwien.ifs.dbrepo.core.exception.*; import at.ac.tuwien.ifs.dbrepo.repository.DatabaseRepository; import at.ac.tuwien.ifs.dbrepo.core.test.BaseTest; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.springframework.beans.factory.annotation.Autowired; @@ -30,7 +30,7 @@ import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertThrows; import static org.mockito.Mockito.*; -@Log4j2 +@Slf4j @SpringBootTest @ExtendWith(SpringExtension.class) public class AccessServiceUnitTest extends BaseTest { diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/service/AuthenticationServiceIntegrationTest.java b/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/service/AuthenticationServiceIntegrationTest.java index 016e0f949b23d7db857c4944f015753e20defa34..b6739d8139ea07d28a83e78179718e907cbeb871 100644 --- a/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/service/AuthenticationServiceIntegrationTest.java +++ b/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/service/AuthenticationServiceIntegrationTest.java @@ -6,7 +6,7 @@ import at.ac.tuwien.ifs.dbrepo.gateway.KeycloakGateway; import at.ac.tuwien.ifs.dbrepo.core.test.BaseTest; import at.ac.tuwien.ifs.dbrepo.utils.KeycloakUtils; import dasniko.testcontainers.keycloak.KeycloakContainer; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.springframework.beans.factory.annotation.Autowired; @@ -21,7 +21,7 @@ import org.testcontainers.junit.jupiter.Testcontainers; import java.util.UUID; -@Log4j2 +@Slf4j @Testcontainers @DirtiesContext(classMode = DirtiesContext.ClassMode.BEFORE_EACH_TEST_METHOD) @SpringBootTest diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/service/BrokerServiceIntegrationTest.java b/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/service/BrokerServiceIntegrationTest.java index ada49fbd9a165b8e8b303306b7306e4900895aba..30a4cd53af123fc25be28bedd14d3c4c95ca04db 100644 --- a/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/service/BrokerServiceIntegrationTest.java +++ b/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/service/BrokerServiceIntegrationTest.java @@ -11,7 +11,7 @@ import at.ac.tuwien.ifs.dbrepo.core.exception.BrokerServiceConnectionException; import at.ac.tuwien.ifs.dbrepo.core.exception.BrokerServiceException; import at.ac.tuwien.ifs.dbrepo.core.test.BaseTest; import at.ac.tuwien.ifs.dbrepo.utils.AmqpUtils; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.springframework.beans.factory.annotation.Autowired; @@ -30,7 +30,7 @@ import java.util.Set; import static org.junit.jupiter.api.Assertions.assertEquals; -@Log4j2 +@Slf4j @Testcontainers @SpringBootTest @ExtendWith(SpringExtension.class) diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/service/ConceptServiceUnitTest.java b/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/service/ConceptServiceUnitTest.java index 67f14f3ebb6e9f236512cf06a8a86f9cc3d777ae..2cd8f63ae80c29c6001e1eb5e9f41891df534b6a 100644 --- a/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/service/ConceptServiceUnitTest.java +++ b/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/service/ConceptServiceUnitTest.java @@ -4,7 +4,7 @@ import at.ac.tuwien.ifs.dbrepo.core.entity.database.table.columns.TableColumnCon import at.ac.tuwien.ifs.dbrepo.core.exception.ConceptNotFoundException; import at.ac.tuwien.ifs.dbrepo.repository.ConceptRepository; import at.ac.tuwien.ifs.dbrepo.core.test.BaseTest; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.springframework.beans.factory.annotation.Autowired; @@ -19,7 +19,7 @@ import static org.junit.jupiter.api.Assertions.*; import static org.mockito.ArgumentMatchers.anyString; import static org.mockito.Mockito.when; -@Log4j2 +@Slf4j @SpringBootTest @ExtendWith(SpringExtension.class) public class ConceptServiceUnitTest extends BaseTest { diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/service/ContainerServiceUnitTest.java b/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/service/ContainerServiceUnitTest.java index e8e17ea3ae3ec1f7d0438f9e06d53aa4dc837e33..9c6c019ab12e602520d594c0ee0b9f46a5436b8c 100644 --- a/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/service/ContainerServiceUnitTest.java +++ b/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/service/ContainerServiceUnitTest.java @@ -8,7 +8,7 @@ import at.ac.tuwien.ifs.dbrepo.core.exception.ImageNotFoundException; import at.ac.tuwien.ifs.dbrepo.repository.ContainerRepository; import at.ac.tuwien.ifs.dbrepo.repository.ImageRepository; import at.ac.tuwien.ifs.dbrepo.core.test.BaseTest; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.springframework.beans.factory.annotation.Autowired; @@ -28,7 +28,7 @@ import static org.junit.jupiter.api.Assertions.assertThrows; import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.when; -@Log4j2 +@Slf4j @SpringBootTest @ExtendWith(SpringExtension.class) public class ContainerServiceUnitTest extends BaseTest { diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/service/DatabaseServicePersistenceTest.java b/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/service/DatabaseServicePersistenceTest.java index 2bb1d9e89d665f0bb0a389ad167faac38d09315a..76dda924f1c3b24ae7dcc83b49d3992da525a3b6 100644 --- a/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/service/DatabaseServicePersistenceTest.java +++ b/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/service/DatabaseServicePersistenceTest.java @@ -7,7 +7,7 @@ import at.ac.tuwien.ifs.dbrepo.repository.DatabaseRepository; import at.ac.tuwien.ifs.dbrepo.repository.LicenseRepository; import at.ac.tuwien.ifs.dbrepo.repository.UserRepository; import at.ac.tuwien.ifs.dbrepo.core.test.BaseTest; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; @@ -21,7 +21,7 @@ import java.util.List; import static org.junit.jupiter.api.Assertions.assertEquals; -@Log4j2 +@Slf4j @SpringBootTest @DirtiesContext(classMode = DirtiesContext.ClassMode.BEFORE_EACH_TEST_METHOD) @ExtendWith(SpringExtension.class) diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/service/DatabaseServiceUnitTest.java b/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/service/DatabaseServiceUnitTest.java index b2f42bd167d1814ed93f1f0cbdd1bbe5c0bf1030..b33d1cb800a1cc7c55009ca83a18e00410bae68e 100644 --- a/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/service/DatabaseServiceUnitTest.java +++ b/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/service/DatabaseServiceUnitTest.java @@ -11,7 +11,7 @@ import at.ac.tuwien.ifs.dbrepo.gateway.DataServiceGateway; import at.ac.tuwien.ifs.dbrepo.gateway.SearchServiceGateway; import at.ac.tuwien.ifs.dbrepo.repository.DatabaseRepository; import at.ac.tuwien.ifs.dbrepo.core.test.BaseTest; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.springframework.beans.factory.annotation.Autowired; @@ -28,7 +28,7 @@ import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.*; -@Log4j2 +@Slf4j @SpringBootTest @ExtendWith(SpringExtension.class) public class DatabaseServiceUnitTest extends BaseTest { diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/service/EntityServiceUnitTest.java b/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/service/EntityServiceUnitTest.java index 27987dd6b43c518a5f301241e762c4186e6b83c8..623df8cfe95b33a535198f212646816e2c59f3b2 100644 --- a/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/service/EntityServiceUnitTest.java +++ b/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/service/EntityServiceUnitTest.java @@ -6,7 +6,7 @@ import at.ac.tuwien.ifs.dbrepo.core.exception.MalformedException; import at.ac.tuwien.ifs.dbrepo.core.exception.OntologyNotFoundException; import at.ac.tuwien.ifs.dbrepo.core.exception.SemanticEntityNotFoundException; import at.ac.tuwien.ifs.dbrepo.core.test.BaseTest; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; @@ -22,7 +22,7 @@ import static org.mockito.ArgumentMatchers.anyString; import static org.mockito.Mockito.doThrow; import static org.mockito.Mockito.when; -@Log4j2 +@Slf4j @SpringBootTest @ExtendWith(SpringExtension.class) public class EntityServiceUnitTest extends BaseTest { diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/service/IdentifierServicePersistenceTest.java b/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/service/IdentifierServicePersistenceTest.java index 259680ad1a23f95ef0d222ee19850f5876898c4a..a2e01768775e0f81e9cc6eccf9752536ae9e67eb 100644 --- a/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/service/IdentifierServicePersistenceTest.java +++ b/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/service/IdentifierServicePersistenceTest.java @@ -14,7 +14,7 @@ import at.ac.tuwien.ifs.dbrepo.repository.ContainerRepository; import at.ac.tuwien.ifs.dbrepo.repository.DatabaseRepository; import at.ac.tuwien.ifs.dbrepo.repository.LicenseRepository; import at.ac.tuwien.ifs.dbrepo.repository.UserRepository; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; @@ -38,7 +38,7 @@ import static org.junit.jupiter.api.Assertions.*; import static org.mockito.ArgumentMatchers.*; import static org.mockito.Mockito.when; -@Log4j2 +@Slf4j @SpringBootTest @ExtendWith(SpringExtension.class) @DirtiesContext(classMode = DirtiesContext.ClassMode.BEFORE_EACH_TEST_METHOD) diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/service/ImageServicePersistenceTest.java b/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/service/ImageServicePersistenceTest.java index 8e597f5c6b8f9e3b048ba4ac8e85f2579e8c698c..bbd29b455fb46f79b911ae959fcf747bf9ee3acf 100644 --- a/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/service/ImageServicePersistenceTest.java +++ b/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/service/ImageServicePersistenceTest.java @@ -6,7 +6,7 @@ import at.ac.tuwien.ifs.dbrepo.core.exception.ImageInvalidException; import at.ac.tuwien.ifs.dbrepo.repository.ContainerRepository; import at.ac.tuwien.ifs.dbrepo.repository.ImageRepository; import at.ac.tuwien.ifs.dbrepo.core.test.BaseTest; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; @@ -17,7 +17,7 @@ import org.springframework.test.context.junit.jupiter.SpringExtension; import static org.junit.jupiter.api.Assertions.*; -@Log4j2 +@Slf4j @DirtiesContext(classMode = DirtiesContext.ClassMode.BEFORE_EACH_TEST_METHOD) @ExtendWith(SpringExtension.class) @SpringBootTest diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/service/LicenseServiceUnitTest.java b/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/service/LicenseServiceUnitTest.java index 417c50424fb5280f6a22fc710782deb94d3839d8..6a81b7cdaac0adea08a1455f81781590b85c62b0 100644 --- a/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/service/LicenseServiceUnitTest.java +++ b/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/service/LicenseServiceUnitTest.java @@ -4,7 +4,7 @@ import at.ac.tuwien.ifs.dbrepo.core.entity.database.License; import at.ac.tuwien.ifs.dbrepo.core.exception.LicenseNotFoundException; import at.ac.tuwien.ifs.dbrepo.repository.LicenseRepository; import at.ac.tuwien.ifs.dbrepo.core.test.BaseTest; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.springframework.beans.factory.annotation.Autowired; @@ -20,7 +20,7 @@ import static org.junit.jupiter.api.Assertions.assertThrows; import static org.mockito.ArgumentMatchers.anyString; import static org.mockito.Mockito.when; -@Log4j2 +@Slf4j @SpringBootTest @ExtendWith(SpringExtension.class) public class LicenseServiceUnitTest extends BaseTest { diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/service/MessageServiceUnitTest.java b/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/service/MessageServiceUnitTest.java index 0fb606d6dfea57eb506fa10d1d9ce7f3a99b714c..e5b9cf1c5336671846068c1b8f8117396b7210c0 100644 --- a/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/service/MessageServiceUnitTest.java +++ b/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/service/MessageServiceUnitTest.java @@ -6,7 +6,7 @@ import at.ac.tuwien.ifs.dbrepo.core.entity.maintenance.BannerMessage; import at.ac.tuwien.ifs.dbrepo.core.exception.MessageNotFoundException; import at.ac.tuwien.ifs.dbrepo.repository.BannerMessageRepository; import at.ac.tuwien.ifs.dbrepo.core.test.BaseTest; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.springframework.beans.factory.annotation.Autowired; @@ -24,7 +24,7 @@ import static org.junit.jupiter.api.Assertions.assertThrows; import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.when; -@Log4j2 +@Slf4j @DirtiesContext(classMode = DirtiesContext.ClassMode.BEFORE_EACH_TEST_METHOD) @SpringBootTest @ExtendWith(SpringExtension.class) diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/service/MetadataServiceUnitTest.java b/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/service/MetadataServiceUnitTest.java index f96d6807f0071d9c3ee7b2a64c6846559022b80e..5d39034a48774e97246fc67ba7b72ef6459438e6 100644 --- a/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/service/MetadataServiceUnitTest.java +++ b/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/service/MetadataServiceUnitTest.java @@ -15,7 +15,7 @@ import at.ac.tuwien.ifs.dbrepo.oaipmh.OaiListIdentifiersParameters; import at.ac.tuwien.ifs.dbrepo.oaipmh.OaiRecordParameters; import com.fasterxml.jackson.databind.DeserializationFeature; import com.fasterxml.jackson.databind.ObjectMapper; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.springframework.beans.factory.annotation.Autowired; @@ -36,7 +36,7 @@ import static org.mockito.ArgumentMatchers.anyString; import static org.mockito.Mockito.doThrow; import static org.mockito.Mockito.when; -@Log4j2 +@Slf4j @SpringBootTest @ExtendWith(SpringExtension.class) public class MetadataServiceUnitTest extends BaseTest { diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/service/StorageServiceIntegrationTest.java b/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/service/StorageServiceIntegrationTest.java index 21c2f6199a058fddc777e509fa144199510c21d4..d0eef70f72e828a7740d4d331218acc93c24d96b 100644 --- a/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/service/StorageServiceIntegrationTest.java +++ b/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/service/StorageServiceIntegrationTest.java @@ -4,7 +4,7 @@ import at.ac.tuwien.ifs.dbrepo.config.S3Config; import at.ac.tuwien.ifs.dbrepo.core.exception.StorageNotFoundException; import at.ac.tuwien.ifs.dbrepo.core.exception.StorageUnavailableException; import at.ac.tuwien.ifs.dbrepo.core.test.BaseTest; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; @@ -29,7 +29,7 @@ import java.sql.SQLException; import static org.junit.jupiter.api.Assertions.assertNotNull; import static org.junit.jupiter.api.Assertions.assertThrows; -@Log4j2 +@Slf4j @Testcontainers @DirtiesContext(classMode = DirtiesContext.ClassMode.BEFORE_EACH_TEST_METHOD) @SpringBootTest diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/service/TableServicePersistenceTest.java b/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/service/TableServicePersistenceTest.java index 9cdacb06b3296ff87581f8f6e59c34f61828d8a5..6df54fc71e0f718e694700caf5e2ce62b206d94c 100644 --- a/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/service/TableServicePersistenceTest.java +++ b/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/service/TableServicePersistenceTest.java @@ -19,7 +19,7 @@ import at.ac.tuwien.ifs.dbrepo.repository.DatabaseRepository; import at.ac.tuwien.ifs.dbrepo.repository.LicenseRepository; import at.ac.tuwien.ifs.dbrepo.repository.UserRepository; import at.ac.tuwien.ifs.dbrepo.core.test.BaseTest; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; @@ -38,7 +38,7 @@ import static org.junit.jupiter.api.Assertions.*; import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.*; -@Log4j2 +@Slf4j @SpringBootTest @DirtiesContext(classMode = DirtiesContext.ClassMode.BEFORE_EACH_TEST_METHOD) @ExtendWith(SpringExtension.class) diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/service/TableServiceUnitTest.java b/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/service/TableServiceUnitTest.java index 0c260f3ed673d51f5c1e588978607cf7f15580a6..02453c021fc5401de7013a873d5c5602ad369acd 100644 --- a/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/service/TableServiceUnitTest.java +++ b/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/service/TableServiceUnitTest.java @@ -21,7 +21,7 @@ import at.ac.tuwien.ifs.dbrepo.gateway.DataServiceGateway; import at.ac.tuwien.ifs.dbrepo.gateway.SearchServiceGateway; import at.ac.tuwien.ifs.dbrepo.repository.DatabaseRepository; import at.ac.tuwien.ifs.dbrepo.core.test.BaseTest; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.springframework.beans.factory.annotation.Autowired; @@ -38,7 +38,7 @@ import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.*; -@Log4j2 +@Slf4j @SpringBootTest @ExtendWith(SpringExtension.class) public class TableServiceUnitTest extends BaseTest { diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/service/UnitServiceUnitTest.java b/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/service/UnitServiceUnitTest.java index e8e73fca32043680abfa0e473840daaf1acdad49..b7cff24d5e28206b794b968cadf115c943dc0bdf 100644 --- a/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/service/UnitServiceUnitTest.java +++ b/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/service/UnitServiceUnitTest.java @@ -4,7 +4,7 @@ import at.ac.tuwien.ifs.dbrepo.core.entity.database.table.columns.TableColumnUni import at.ac.tuwien.ifs.dbrepo.core.exception.UnitNotFoundException; import at.ac.tuwien.ifs.dbrepo.repository.UnitRepository; import at.ac.tuwien.ifs.dbrepo.core.test.BaseTest; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.springframework.beans.factory.annotation.Autowired; @@ -20,7 +20,7 @@ import static org.junit.jupiter.api.Assertions.*; import static org.mockito.ArgumentMatchers.anyString; import static org.mockito.Mockito.when; -@Log4j2 +@Slf4j @SpringBootTest @ExtendWith(SpringExtension.class) public class UnitServiceUnitTest extends BaseTest { diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/service/UserServiceIntegrationTest.java b/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/service/UserServiceIntegrationTest.java index 9311d0dd3461b19b0a13c9e85224dc8ae63259b5..0f49809a93d31534160b330df9f4a540e6bad5ea 100644 --- a/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/service/UserServiceIntegrationTest.java +++ b/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/service/UserServiceIntegrationTest.java @@ -7,7 +7,7 @@ import at.ac.tuwien.ifs.dbrepo.repository.UserRepository; import at.ac.tuwien.ifs.dbrepo.core.test.BaseTest; import at.ac.tuwien.ifs.dbrepo.utils.KeycloakUtils; import dasniko.testcontainers.keycloak.KeycloakContainer; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; @@ -23,7 +23,7 @@ import org.testcontainers.junit.jupiter.Testcontainers; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNotNull; -@Log4j2 +@Slf4j @Testcontainers @ExtendWith(SpringExtension.class) @SpringBootTest diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/service/UserServicePersistenceTest.java b/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/service/UserServicePersistenceTest.java index cb4e873ac9d27ee9e74505a71053eecb144ba1d5..fe30b39bb71be6667809f30ac77efffb92bb1f85 100644 --- a/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/service/UserServicePersistenceTest.java +++ b/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/service/UserServicePersistenceTest.java @@ -7,7 +7,7 @@ import at.ac.tuwien.ifs.dbrepo.core.exception.UserNotFoundException; import at.ac.tuwien.ifs.dbrepo.gateway.KeycloakGateway; import at.ac.tuwien.ifs.dbrepo.repository.UserRepository; import at.ac.tuwien.ifs.dbrepo.core.test.BaseTest; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; @@ -22,7 +22,7 @@ import java.util.List; import static org.junit.jupiter.api.Assertions.*; import static org.mockito.Mockito.doNothing; -@Log4j2 +@Slf4j @DirtiesContext(classMode = DirtiesContext.ClassMode.BEFORE_EACH_TEST_METHOD) @SpringBootTest @ExtendWith(SpringExtension.class) diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/service/ViewServicePersistenceTest.java b/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/service/ViewServicePersistenceTest.java index 33cc7db8a441c46b32d419c7ad804262028b65e8..899f244d5374f9f73ef2e5e76d74243b524145b8 100644 --- a/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/service/ViewServicePersistenceTest.java +++ b/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/service/ViewServicePersistenceTest.java @@ -10,7 +10,7 @@ import at.ac.tuwien.ifs.dbrepo.repository.DatabaseRepository; import at.ac.tuwien.ifs.dbrepo.repository.LicenseRepository; import at.ac.tuwien.ifs.dbrepo.repository.UserRepository; import at.ac.tuwien.ifs.dbrepo.core.test.BaseTest; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; @@ -29,7 +29,7 @@ import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.doNothing; import static org.mockito.Mockito.when; -@Log4j2 +@Slf4j @SpringBootTest @Disabled("CI/CD") @DirtiesContext(classMode = DirtiesContext.ClassMode.BEFORE_EACH_TEST_METHOD) diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/service/ViewServiceUnitTest.java b/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/service/ViewServiceUnitTest.java index a50b7ca3397d1738ab16c30b711576b3d89b3113..a5b25977f7d3a304e3b63d46deabd1bc6351aa6f 100644 --- a/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/service/ViewServiceUnitTest.java +++ b/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/service/ViewServiceUnitTest.java @@ -8,7 +8,7 @@ import at.ac.tuwien.ifs.dbrepo.gateway.DataServiceGateway; import at.ac.tuwien.ifs.dbrepo.gateway.SearchServiceGateway; import at.ac.tuwien.ifs.dbrepo.repository.DatabaseRepository; import at.ac.tuwien.ifs.dbrepo.core.test.BaseTest; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.springframework.beans.factory.annotation.Autowired; @@ -24,7 +24,7 @@ import static org.junit.jupiter.api.Assertions.assertThrows; import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.*; -@Log4j2 +@Slf4j @Testcontainers @SpringBootTest @ExtendWith(SpringExtension.class) diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/utils/AmqpUtils.java b/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/utils/AmqpUtils.java index 09017252d8f539c8d3119751d68905edde2a1e5a..bad729b3e7d30c85e47ec4330109439120ddc5e7 100644 --- a/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/utils/AmqpUtils.java +++ b/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/utils/AmqpUtils.java @@ -2,7 +2,7 @@ package at.ac.tuwien.ifs.dbrepo.utils; import at.ac.tuwien.ifs.dbrepo.core.api.amqp.*; import at.ac.tuwien.ifs.dbrepo.core.test.BaseTest; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.apache.commons.codec.binary.Base64; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; @@ -23,7 +23,7 @@ import java.util.Arrays; import java.util.List; import java.util.stream.Collectors; -@Log4j2 +@Slf4j public class AmqpUtils extends BaseTest { private static final String BASIC_AUTH = new String(Base64.encodeBase64((USER_1_USERNAME + ":" + USER_1_PASSWORD).getBytes(Charset.defaultCharset()))); diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/utils/H2Utils.java b/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/utils/H2Utils.java index f10486047aabaec096dd2d98763f76f62c3a1e9b..7716185b69b5b76498dc8b2535d6af80e0808f07 100644 --- a/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/utils/H2Utils.java +++ b/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/utils/H2Utils.java @@ -1,7 +1,7 @@ package at.ac.tuwien.ifs.dbrepo.utils; import jakarta.persistence.EntityManager; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.apache.commons.io.FileUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; @@ -11,7 +11,7 @@ import java.io.File; import java.io.IOException; import java.nio.charset.StandardCharsets; -@Log4j2 +@Slf4j @Component public class H2Utils { diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/utils/KeycloakUtils.java b/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/utils/KeycloakUtils.java index 9a0ea26a733c6c92b3c3cbd04ca9dfdc86808db0..341a042d6e597239738b48dfef26cb630333e158 100644 --- a/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/utils/KeycloakUtils.java +++ b/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/utils/KeycloakUtils.java @@ -5,7 +5,7 @@ import at.ac.tuwien.ifs.dbrepo.config.KeycloakConfig; import at.ac.tuwien.ifs.dbrepo.core.exception.UserNotFoundException; import at.ac.tuwien.ifs.dbrepo.core.mapper.MetadataMapper; import jakarta.ws.rs.core.Response; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.keycloak.admin.client.Keycloak; import org.keycloak.representations.idm.UserRepresentation; import org.springframework.beans.factory.annotation.Autowired; @@ -14,7 +14,7 @@ import org.springframework.stereotype.Component; import java.util.List; import java.util.UUID; -@Log4j2 +@Slf4j @Component public class KeycloakUtils { diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/utils/XmlUtils.java b/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/utils/XmlUtils.java index 268d2c0be5c1de0d471d35cb40bc4317ec337a59..90e489d6a3efad9a1832798e70e373b9bb775d72 100644 --- a/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/utils/XmlUtils.java +++ b/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/utils/XmlUtils.java @@ -8,11 +8,11 @@ import javax.xml.validation.Schema; import javax.xml.validation.SchemaFactory; import javax.xml.validation.Validator; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.apache.commons.io.IOUtils; import org.xml.sax.SAXException; -@Log4j2 +@Slf4j public class XmlUtils { public static boolean validateXmlResponse(String xsdUrl, String xmlDocument) { diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/validator/EndpointValidatorUnitTest.java b/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/validator/EndpointValidatorUnitTest.java index 3d3675c28531b213fcbbaf0282809eb4855122f3..e8e590805fb2d8537b073d834a4dae2a349bd623 100644 --- a/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/validator/EndpointValidatorUnitTest.java +++ b/dbrepo-metadata-service/rest-service/src/test/java/at/ac/tuwien/ifs/dbrepo/validator/EndpointValidatorUnitTest.java @@ -13,7 +13,7 @@ import at.ac.tuwien.ifs.dbrepo.service.DatabaseService; import at.ac.tuwien.ifs.dbrepo.service.TableService; import at.ac.tuwien.ifs.dbrepo.core.test.BaseTest; import at.ac.tuwien.ifs.dbrepo.validation.EndpointValidator; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.junit.jupiter.params.ParameterizedTest; @@ -34,7 +34,7 @@ import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.doThrow; import static org.mockito.Mockito.when; -@Log4j2 +@Slf4j @SpringBootTest @ExtendWith(SpringExtension.class) public class EndpointValidatorUnitTest extends BaseTest { diff --git a/dbrepo-metadata-service/services/pom.xml b/dbrepo-metadata-service/services/pom.xml index ccc6c60cfb220016e4eb13f6fa2decc949292049..b1453e12a6f90c225858bfa917f486e9a9367fd3 100644 --- a/dbrepo-metadata-service/services/pom.xml +++ b/dbrepo-metadata-service/services/pom.xml @@ -6,23 +6,23 @@ <parent> <groupId>at.ac.tuwien.ifs.dbrepo</groupId> <artifactId>metadata-service</artifactId> - <version>1.8.2</version> + <version>1.9.0</version> </parent> <name>services</name> <artifactId>services</artifactId> - <version>1.8.2</version> + <version>1.9.0</version> <dependencies> <dependency> <groupId>at.ac.tuwien.ifs.dbrepo</groupId> <artifactId>oai</artifactId> - <version>1.8.2</version> + <version>1.9.0</version> </dependency> <dependency> <groupId>at.ac.tuwien.ifs.dbrepo</groupId> <artifactId>repositories</artifactId> - <version>1.8.2</version> + <version>1.9.0</version> </dependency> </dependencies> diff --git a/dbrepo-metadata-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/auth/BasicAuthenticationProvider.java b/dbrepo-metadata-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/auth/BasicAuthenticationProvider.java index 5ab64107cd4dc80be7b16a8db0db4815372cc3fc..86debdbe920bc2eaa1d00b27234fdc5684d8242c 100644 --- a/dbrepo-metadata-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/auth/BasicAuthenticationProvider.java +++ b/dbrepo-metadata-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/auth/BasicAuthenticationProvider.java @@ -2,7 +2,7 @@ package at.ac.tuwien.ifs.dbrepo.auth; import at.ac.tuwien.ifs.dbrepo.core.api.keycloak.TokenDto; import at.ac.tuwien.ifs.dbrepo.service.CredentialService; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.authentication.AuthenticationManager; import org.springframework.security.authentication.UsernamePasswordAuthenticationToken; @@ -11,7 +11,7 @@ import org.springframework.security.core.AuthenticationException; import org.springframework.security.core.userdetails.UserDetails; import org.springframework.stereotype.Component; -@Log4j2 +@Slf4j @Component public class BasicAuthenticationProvider implements AuthenticationManager { diff --git a/dbrepo-metadata-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/auth/InternalRequestInterceptor.java b/dbrepo-metadata-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/auth/InternalRequestInterceptor.java index 272dfda2cf05e5ae8188492340632b1b2916aa70..eef0cfae3c34b4d1fe4d5deccd61ec9e50fad50c 100644 --- a/dbrepo-metadata-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/auth/InternalRequestInterceptor.java +++ b/dbrepo-metadata-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/auth/InternalRequestInterceptor.java @@ -3,7 +3,7 @@ package at.ac.tuwien.ifs.dbrepo.auth; import at.ac.tuwien.ifs.dbrepo.core.api.keycloak.TokenDto; import at.ac.tuwien.ifs.dbrepo.config.GatewayConfig; import at.ac.tuwien.ifs.dbrepo.service.CredentialService; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.springframework.http.HttpHeaders; import org.springframework.http.HttpRequest; import org.springframework.http.MediaType; @@ -14,7 +14,7 @@ import org.springframework.http.client.ClientHttpResponse; import java.io.IOException; import java.util.List; -@Log4j2 +@Slf4j public class InternalRequestInterceptor implements ClientHttpRequestInterceptor { private final CredentialService credentialService; diff --git a/dbrepo-metadata-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/config/DataCiteConfig.java b/dbrepo-metadata-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/config/DataCiteConfig.java index 1c00d625ddd4f0f01295088d33d5e8671b3fbcab..fc9b7d715deea4f6d2778c6dca6416071c2c6026 100644 --- a/dbrepo-metadata-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/config/DataCiteConfig.java +++ b/dbrepo-metadata-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/config/DataCiteConfig.java @@ -1,7 +1,7 @@ package at.ac.tuwien.ifs.dbrepo.config; import lombok.Getter; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @@ -13,7 +13,7 @@ import org.springframework.web.util.DefaultUriBuilderFactory; import java.util.List; @Getter -@Log4j2 +@Slf4j @Profile("doi") @Configuration public class DataCiteConfig { diff --git a/dbrepo-metadata-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/config/GatewayConfig.java b/dbrepo-metadata-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/config/GatewayConfig.java index a7f99926509ddad057edabd5671eb4da0adfc0d7..be7eabb939e17ef8c6b7ac5fab9f0006afed5e4e 100644 --- a/dbrepo-metadata-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/config/GatewayConfig.java +++ b/dbrepo-metadata-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/config/GatewayConfig.java @@ -3,14 +3,14 @@ package at.ac.tuwien.ifs.dbrepo.config; import at.ac.tuwien.ifs.dbrepo.auth.InternalRequestInterceptor; import at.ac.tuwien.ifs.dbrepo.service.CredentialService; import lombok.Getter; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.*; import org.springframework.web.client.RestTemplate; import org.springframework.web.util.DefaultUriBuilderFactory; -@Log4j2 +@Slf4j @Getter @Configuration public class GatewayConfig { diff --git a/dbrepo-metadata-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/config/MetricsConfig.java b/dbrepo-metadata-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/config/MetricsConfig.java index 8509d27c4407e66e1554d5bf9aeefd1623743b13..231d6d8033cae3020b3f1dc2b405a62ae4f1a1a6 100644 --- a/dbrepo-metadata-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/config/MetricsConfig.java +++ b/dbrepo-metadata-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/config/MetricsConfig.java @@ -9,14 +9,14 @@ import io.micrometer.core.instrument.Gauge; import io.micrometer.core.instrument.Metrics; import io.micrometer.observation.ObservationRegistry; import io.micrometer.observation.aop.ObservedAspect; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import java.util.Objects; -@Log4j2 +@Slf4j @Configuration public class MetricsConfig { diff --git a/dbrepo-metadata-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/config/RabbitConfig.java b/dbrepo-metadata-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/config/RabbitConfig.java index a727e972e253382a8a9bfa4fd25931e642e83dcf..6897cf621f96cfc9de6dcdc8c236698853881576 100644 --- a/dbrepo-metadata-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/config/RabbitConfig.java +++ b/dbrepo-metadata-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/config/RabbitConfig.java @@ -1,12 +1,12 @@ package at.ac.tuwien.ifs.dbrepo.config; import lombok.Getter; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Configuration; @Getter -@Log4j2 +@Slf4j @Configuration public class RabbitConfig { diff --git a/dbrepo-metadata-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/gateway/impl/CrossRefGatewayImpl.java b/dbrepo-metadata-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/gateway/impl/CrossRefGatewayImpl.java index 559f3b7657efc8ce1a891d628034914e5dfa2632..74fc4a2a2e1d3260bc235b1b87ea44c3f2bf4d82 100644 --- a/dbrepo-metadata-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/gateway/impl/CrossRefGatewayImpl.java +++ b/dbrepo-metadata-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/gateway/impl/CrossRefGatewayImpl.java @@ -4,7 +4,7 @@ import at.ac.tuwien.ifs.dbrepo.config.GatewayConfig; import at.ac.tuwien.ifs.dbrepo.core.api.crossref.CrossRefDto; import at.ac.tuwien.ifs.dbrepo.core.exception.DoiNotFoundException; import at.ac.tuwien.ifs.dbrepo.gateway.CrossRefGateway; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.http.HttpEntity; @@ -14,7 +14,7 @@ import org.springframework.stereotype.Service; import org.springframework.web.client.HttpServerErrorException; import org.springframework.web.client.RestTemplate; -@Log4j2 +@Slf4j @Service public class CrossRefGatewayImpl implements CrossRefGateway { diff --git a/dbrepo-metadata-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/gateway/impl/DashboardServiceGatewayImpl.java b/dbrepo-metadata-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/gateway/impl/DashboardServiceGatewayImpl.java index 8f36db0f3b5814aa3ee3a0729c0248a7690e9451..70bbea261bbf4f25aa1e03043c315b131c9d2937 100644 --- a/dbrepo-metadata-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/gateway/impl/DashboardServiceGatewayImpl.java +++ b/dbrepo-metadata-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/gateway/impl/DashboardServiceGatewayImpl.java @@ -10,7 +10,7 @@ import at.ac.tuwien.ifs.dbrepo.config.GatewayConfig; import at.ac.tuwien.ifs.dbrepo.core.exception.DashboardServiceConnectionException; import at.ac.tuwien.ifs.dbrepo.core.exception.DashboardServiceException; import at.ac.tuwien.ifs.dbrepo.gateway.DashboardServiceGateway; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.http.HttpEntity; @@ -23,7 +23,7 @@ import org.springframework.web.client.HttpServerErrorException; import org.springframework.web.client.ResourceAccessException; import org.springframework.web.client.RestTemplate; -@Log4j2 +@Slf4j @Service public class DashboardServiceGatewayImpl implements DashboardServiceGateway { diff --git a/dbrepo-metadata-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/gateway/impl/DataServiceGatewayImpl.java b/dbrepo-metadata-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/gateway/impl/DataServiceGatewayImpl.java index 41ab74b9cc1e97a755669ea431ca2907c1e52c98..882c6c49d7ecf15361375db4ad5ad346b833602a 100644 --- a/dbrepo-metadata-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/gateway/impl/DataServiceGatewayImpl.java +++ b/dbrepo-metadata-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/gateway/impl/DataServiceGatewayImpl.java @@ -11,7 +11,7 @@ import at.ac.tuwien.ifs.dbrepo.core.api.user.internal.UpdateUserPasswordDto; import at.ac.tuwien.ifs.dbrepo.config.GatewayConfig; import at.ac.tuwien.ifs.dbrepo.core.exception.*; import at.ac.tuwien.ifs.dbrepo.gateway.DataServiceGateway; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.http.HttpEntity; import org.springframework.http.HttpMethod; @@ -26,7 +26,7 @@ import java.util.Arrays; import java.util.List; import java.util.UUID; -@Log4j2 +@Slf4j @Service public class DataServiceGatewayImpl implements DataServiceGateway { diff --git a/dbrepo-metadata-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/gateway/impl/KeycloakGatewayImpl.java b/dbrepo-metadata-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/gateway/impl/KeycloakGatewayImpl.java index f3f5c4ad09823b7ff6e9223892ca437a55e170fc..8087c91bb7b425c3689c614364df5d79f3eed00e 100644 --- a/dbrepo-metadata-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/gateway/impl/KeycloakGatewayImpl.java +++ b/dbrepo-metadata-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/gateway/impl/KeycloakGatewayImpl.java @@ -11,7 +11,7 @@ import jakarta.ws.rs.ForbiddenException; import jakarta.ws.rs.NotAuthorizedException; import jakarta.ws.rs.NotFoundException; import jakarta.ws.rs.core.Response; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.keycloak.OAuth2Constants; import org.keycloak.admin.client.Keycloak; import org.keycloak.admin.client.KeycloakBuilder; @@ -24,7 +24,7 @@ import org.springframework.stereotype.Service; import java.util.List; import java.util.UUID; -@Log4j2 +@Slf4j @Service public class KeycloakGatewayImpl implements KeycloakGateway { diff --git a/dbrepo-metadata-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/gateway/impl/OrcidGatewayImpl.java b/dbrepo-metadata-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/gateway/impl/OrcidGatewayImpl.java index 78751b72be9bb69819290d6577aa27686d14cb9d..c8d2b6ab8258eed59bf0000009a82f2b05960e34 100644 --- a/dbrepo-metadata-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/gateway/impl/OrcidGatewayImpl.java +++ b/dbrepo-metadata-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/gateway/impl/OrcidGatewayImpl.java @@ -3,7 +3,7 @@ package at.ac.tuwien.ifs.dbrepo.gateway.impl; import at.ac.tuwien.ifs.dbrepo.core.api.orcid.OrcidDto; import at.ac.tuwien.ifs.dbrepo.core.exception.OrcidNotFoundException; import at.ac.tuwien.ifs.dbrepo.gateway.OrcidGateway; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpEntity; import org.springframework.http.HttpMethod; @@ -12,7 +12,7 @@ import org.springframework.stereotype.Service; import org.springframework.web.client.HttpServerErrorException; import org.springframework.web.client.RestTemplate; -@Log4j2 +@Slf4j @Service public class OrcidGatewayImpl implements OrcidGateway { diff --git a/dbrepo-metadata-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/gateway/impl/RorGatewayImpl.java b/dbrepo-metadata-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/gateway/impl/RorGatewayImpl.java index b8af43362d2c029e97f2853572ca94fa6359598e..e7242284ab71f50d83c4b7e202e82d38c33f451f 100644 --- a/dbrepo-metadata-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/gateway/impl/RorGatewayImpl.java +++ b/dbrepo-metadata-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/gateway/impl/RorGatewayImpl.java @@ -4,7 +4,7 @@ import at.ac.tuwien.ifs.dbrepo.core.api.ror.RorDto; import at.ac.tuwien.ifs.dbrepo.config.GatewayConfig; import at.ac.tuwien.ifs.dbrepo.core.exception.RorNotFoundException; import at.ac.tuwien.ifs.dbrepo.gateway.RorGateway; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpEntity; import org.springframework.http.HttpMethod; @@ -13,7 +13,7 @@ import org.springframework.stereotype.Service; import org.springframework.web.client.HttpServerErrorException; import org.springframework.web.client.RestTemplate; -@Log4j2 +@Slf4j @Service public class RorGatewayImpl implements RorGateway { diff --git a/dbrepo-metadata-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/gateway/impl/SearchServiceGatewayImpl.java b/dbrepo-metadata-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/gateway/impl/SearchServiceGatewayImpl.java index 97977fbb433963676996118ae1f5796124445a06..33caee5179848d74c55ae4eb00441ac7498a4a5e 100644 --- a/dbrepo-metadata-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/gateway/impl/SearchServiceGatewayImpl.java +++ b/dbrepo-metadata-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/gateway/impl/SearchServiceGatewayImpl.java @@ -8,7 +8,7 @@ import at.ac.tuwien.ifs.dbrepo.core.exception.SearchServiceConnectionException; import at.ac.tuwien.ifs.dbrepo.core.exception.SearchServiceException; import at.ac.tuwien.ifs.dbrepo.core.mapper.MetadataMapper; import at.ac.tuwien.ifs.dbrepo.gateway.SearchServiceGateway; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.http.*; @@ -20,7 +20,7 @@ import org.springframework.web.client.RestTemplate; import java.util.UUID; -@Log4j2 +@Slf4j @Service public class SearchServiceGatewayImpl implements SearchServiceGateway { diff --git a/dbrepo-metadata-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/AccessServiceImpl.java b/dbrepo-metadata-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/AccessServiceImpl.java index 7d3120bba2d2eccf643045658b8e7ecc8753bfc2..8ab61d2767b9bcdf298b1dcdeaa203de17ee3063 100644 --- a/dbrepo-metadata-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/AccessServiceImpl.java +++ b/dbrepo-metadata-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/AccessServiceImpl.java @@ -11,7 +11,7 @@ import at.ac.tuwien.ifs.dbrepo.gateway.SearchServiceGateway; import at.ac.tuwien.ifs.dbrepo.repository.DatabaseRepository; import at.ac.tuwien.ifs.dbrepo.service.AccessService; import at.ac.tuwien.ifs.dbrepo.service.DatabaseService; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -19,7 +19,7 @@ import org.springframework.transaction.annotation.Transactional; import java.util.List; import java.util.Optional; -@Log4j2 +@Slf4j @Service public class AccessServiceImpl implements AccessService { diff --git a/dbrepo-metadata-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/AuthenticationServiceImpl.java b/dbrepo-metadata-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/AuthenticationServiceImpl.java index b2b485327120efc855a0ac13c3407ca06eec1355..ae694c7812d0163570fdd7fd30efc6cafbdc8af1 100644 --- a/dbrepo-metadata-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/AuthenticationServiceImpl.java +++ b/dbrepo-metadata-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/AuthenticationServiceImpl.java @@ -5,11 +5,11 @@ import at.ac.tuwien.ifs.dbrepo.core.exception.AuthServiceException; import at.ac.tuwien.ifs.dbrepo.core.exception.UserNotFoundException; import at.ac.tuwien.ifs.dbrepo.gateway.KeycloakGateway; import at.ac.tuwien.ifs.dbrepo.service.AuthenticationService; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -@Log4j2 +@Slf4j @Service public class AuthenticationServiceImpl implements AuthenticationService { diff --git a/dbrepo-metadata-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/BannerMessageServiceImpl.java b/dbrepo-metadata-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/BannerMessageServiceImpl.java index 8b8766401a3c482d202f3a64400abe0194b2fdb5..c2330f3011fa48c65668d562a67bcbcfa17ddf32 100644 --- a/dbrepo-metadata-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/BannerMessageServiceImpl.java +++ b/dbrepo-metadata-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/BannerMessageServiceImpl.java @@ -7,7 +7,7 @@ import at.ac.tuwien.ifs.dbrepo.core.exception.MessageNotFoundException; import at.ac.tuwien.ifs.dbrepo.core.mapper.MetadataMapper; import at.ac.tuwien.ifs.dbrepo.repository.BannerMessageRepository; import at.ac.tuwien.ifs.dbrepo.service.BannerMessageService; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -15,7 +15,7 @@ import java.util.List; import java.util.Optional; import java.util.UUID; -@Log4j2 +@Slf4j @Service public class BannerMessageServiceImpl implements BannerMessageService { diff --git a/dbrepo-metadata-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/BrokerServiceRabbitMqImpl.java b/dbrepo-metadata-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/BrokerServiceRabbitMqImpl.java index 709e7cebde2bcd054f8c59d4643866cb20a1563d..42478c18b3a5f89f205088d72776cdd6a0071151 100644 --- a/dbrepo-metadata-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/BrokerServiceRabbitMqImpl.java +++ b/dbrepo-metadata-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/BrokerServiceRabbitMqImpl.java @@ -8,13 +8,13 @@ import at.ac.tuwien.ifs.dbrepo.core.entity.user.User; import at.ac.tuwien.ifs.dbrepo.core.exception.*; import at.ac.tuwien.ifs.dbrepo.gateway.BrokerServiceGateway; import at.ac.tuwien.ifs.dbrepo.service.BrokerService; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.stream.Collectors; -@Log4j2 +@Slf4j @Service public class BrokerServiceRabbitMqImpl implements BrokerService { diff --git a/dbrepo-metadata-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/ConceptServiceImpl.java b/dbrepo-metadata-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/ConceptServiceImpl.java index 93f64a16ea13efa86934f089ce5f8a9d778fc47e..ca2f716cd86a1e7cadc46dec8035a5029fb613a4 100644 --- a/dbrepo-metadata-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/ConceptServiceImpl.java +++ b/dbrepo-metadata-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/ConceptServiceImpl.java @@ -4,7 +4,7 @@ import at.ac.tuwien.ifs.dbrepo.core.entity.database.table.columns.TableColumnCon import at.ac.tuwien.ifs.dbrepo.core.exception.ConceptNotFoundException; import at.ac.tuwien.ifs.dbrepo.repository.ConceptRepository; import at.ac.tuwien.ifs.dbrepo.service.ConceptService; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -12,7 +12,7 @@ import org.springframework.transaction.annotation.Transactional; import java.util.List; import java.util.Optional; -@Log4j2 +@Slf4j @Service public class ConceptServiceImpl implements ConceptService { diff --git a/dbrepo-metadata-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/ContainerServiceImpl.java b/dbrepo-metadata-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/ContainerServiceImpl.java index 27daf634877cd316a51aa9677a82bda7f3145865..1d5cd6f6354bb887c94beb02ec42031869e10e75 100644 --- a/dbrepo-metadata-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/ContainerServiceImpl.java +++ b/dbrepo-metadata-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/ContainerServiceImpl.java @@ -10,7 +10,7 @@ import at.ac.tuwien.ifs.dbrepo.core.mapper.MetadataMapper; import at.ac.tuwien.ifs.dbrepo.repository.ContainerRepository; import at.ac.tuwien.ifs.dbrepo.repository.ImageRepository; import at.ac.tuwien.ifs.dbrepo.service.ContainerService; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.dao.DataAccessException; import org.springframework.data.domain.Pageable; @@ -21,7 +21,7 @@ import java.util.List; import java.util.Optional; import java.util.UUID; -@Log4j2 +@Slf4j @Service public class ContainerServiceImpl implements ContainerService { diff --git a/dbrepo-metadata-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/CredentialServiceImpl.java b/dbrepo-metadata-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/CredentialServiceImpl.java index 65597ec056b7f03cc4bd9f88db11f2e15c212485..5286f61a774458e3024d413309e46390cb473eaa 100644 --- a/dbrepo-metadata-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/CredentialServiceImpl.java +++ b/dbrepo-metadata-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/CredentialServiceImpl.java @@ -4,11 +4,11 @@ import at.ac.tuwien.ifs.dbrepo.core.api.keycloak.TokenDto; import at.ac.tuwien.ifs.dbrepo.gateway.KeycloakGateway; import at.ac.tuwien.ifs.dbrepo.service.CredentialService; import com.github.benmanes.caffeine.cache.Cache; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -@Log4j2 +@Slf4j @Service public class CredentialServiceImpl implements CredentialService { diff --git a/dbrepo-metadata-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/DashboardServiceImpl.java b/dbrepo-metadata-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/DashboardServiceImpl.java index af76ee2d4fb13a966d10ba5999725f58589f3ea2..8ed7c01ec9c2746de35b57f1468ef7e6ace06d72 100644 --- a/dbrepo-metadata-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/DashboardServiceImpl.java +++ b/dbrepo-metadata-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/DashboardServiceImpl.java @@ -9,11 +9,11 @@ import at.ac.tuwien.ifs.dbrepo.core.exception.DashboardServiceException; import at.ac.tuwien.ifs.dbrepo.core.mapper.MetadataMapper; import at.ac.tuwien.ifs.dbrepo.gateway.DashboardServiceGateway; import at.ac.tuwien.ifs.dbrepo.service.DashboardService; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -@Log4j2 +@Slf4j @Service public class DashboardServiceImpl implements DashboardService { diff --git a/dbrepo-metadata-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/DatabaseServiceImpl.java b/dbrepo-metadata-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/DatabaseServiceImpl.java index 6cfa0180a8891c97e49fdcebd1c2923da8088adf..cdb1a2b4d0996da64d5b3f8607789d605b5902e3 100644 --- a/dbrepo-metadata-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/DatabaseServiceImpl.java +++ b/dbrepo-metadata-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/DatabaseServiceImpl.java @@ -1,9 +1,6 @@ package at.ac.tuwien.ifs.dbrepo.service.impl; -import at.ac.tuwien.ifs.dbrepo.core.api.database.CreateDatabaseDto; -import at.ac.tuwien.ifs.dbrepo.core.api.database.DatabaseDto; -import at.ac.tuwien.ifs.dbrepo.core.api.database.DatabaseModifyVisibilityDto; -import at.ac.tuwien.ifs.dbrepo.core.api.database.ViewDto; +import at.ac.tuwien.ifs.dbrepo.core.api.database.*; import at.ac.tuwien.ifs.dbrepo.core.api.database.table.TableDto; import at.ac.tuwien.ifs.dbrepo.core.api.user.internal.UpdateUserPasswordDto; import at.ac.tuwien.ifs.dbrepo.core.entity.container.Container; @@ -23,7 +20,7 @@ import at.ac.tuwien.ifs.dbrepo.gateway.DataServiceGateway; import at.ac.tuwien.ifs.dbrepo.gateway.SearchServiceGateway; import at.ac.tuwien.ifs.dbrepo.repository.DatabaseRepository; import at.ac.tuwien.ifs.dbrepo.service.DatabaseService; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.RandomStringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -34,7 +31,7 @@ import java.util.List; import java.util.Optional; import java.util.UUID; -@Log4j2 +@Slf4j @Service public class DatabaseServiceImpl implements DatabaseService { diff --git a/dbrepo-metadata-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/EntityServiceImpl.java b/dbrepo-metadata-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/EntityServiceImpl.java index 60001b92ac0685e424b468caeea10a1c367fdfe2..cd288f4d2eedc0a36cb1906c528b5a968ce9c677 100644 --- a/dbrepo-metadata-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/EntityServiceImpl.java +++ b/dbrepo-metadata-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/EntityServiceImpl.java @@ -10,7 +10,7 @@ import at.ac.tuwien.ifs.dbrepo.core.exception.*; import at.ac.tuwien.ifs.dbrepo.mapper.SparqlMapper; import at.ac.tuwien.ifs.dbrepo.service.EntityService; import at.ac.tuwien.ifs.dbrepo.service.OntologyService; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.apache.jena.query.*; import org.apache.jena.rdf.model.RDFNode; import org.apache.jena.riot.RDFDataMgr; @@ -24,7 +24,7 @@ import java.util.LinkedList; import java.util.List; import java.util.concurrent.TimeUnit; -@Log4j2 +@Slf4j @Service public class EntityServiceImpl implements EntityService { diff --git a/dbrepo-metadata-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/IdentifierServiceImpl.java b/dbrepo-metadata-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/IdentifierServiceImpl.java index d32e2c75b9759f5cb4c9502eb42e158dfdd29bdd..4e275ea07f7b9892829fba8eee7b229f3f2d8a55 100644 --- a/dbrepo-metadata-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/IdentifierServiceImpl.java +++ b/dbrepo-metadata-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/IdentifierServiceImpl.java @@ -188,40 +188,60 @@ public class IdentifierServiceImpl implements IdentifierService { .stream() .map(metadataMapper::creatorCreateDtoToCreator) .toList())); + final int[] idx = new int[]{0}; identifier.getCreators() - .forEach(c -> c.setIdentifier(identifier)); + .forEach(c -> { + c.setOrdinalPosition(idx[0]++); + c.setIdentifier(identifier); + }); } if (data.getRelatedIdentifiers() != null) { identifier.setRelatedIdentifiers(new LinkedList<>(data.getRelatedIdentifiers() .stream() .map(metadataMapper::relatedIdentifierCreateDtoToRelatedIdentifier) .toList())); + final int[] idx = new int[]{0}; identifier.getRelatedIdentifiers() - .forEach(r -> r.setIdentifier(identifier)); + .forEach(r -> { + r.setOrdinalPosition(idx[0]++); + r.setIdentifier(identifier); + }); } if (data.getTitles() != null) { identifier.setTitles(new LinkedList<>(data.getTitles() .stream() .map(metadataMapper::identifierCreateTitleDtoToIdentifierTitle) .toList())); + final int[] idx = new int[]{0}; identifier.getTitles() - .forEach(t -> t.setIdentifier(identifier)); + .forEach(t -> { + t.setOrdinalPosition(idx[0]++); + t.setIdentifier(identifier); + }); } if (data.getDescriptions() != null) { identifier.setDescriptions(new LinkedList<>(data.getDescriptions() .stream() .map(metadataMapper::identifierCreateDescriptionDtoToIdentifierDescription) .toList())); + final int[] idx = new int[]{0}; identifier.getDescriptions() - .forEach(d -> d.setIdentifier(identifier)); + .forEach(d -> { + d.setOrdinalPosition(idx[0]++); + d.setIdentifier(identifier); + }); } if (data.getFunders() != null) { identifier.setFunders(new LinkedList<>(data.getFunders() .stream() .map(metadataMapper::identifierFunderSaveDtoToIdentifierFunder) .toList())); + final int[] idx = new int[]{0}; identifier.getFunders() - .forEach(f -> f.setIdentifier(identifier)); + .forEach(f -> { + f.setOrdinalPosition(idx[0]++); + f.setIdentifier(identifier); + }); } return save(identifier); } diff --git a/dbrepo-metadata-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/LicenseServiceImpl.java b/dbrepo-metadata-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/LicenseServiceImpl.java index 41765fb36a51ce192bd8b28867f78751293b5e0b..f868e49f0c18b28c4e298ec3e73b1ed24305e7f3 100644 --- a/dbrepo-metadata-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/LicenseServiceImpl.java +++ b/dbrepo-metadata-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/LicenseServiceImpl.java @@ -4,13 +4,13 @@ import at.ac.tuwien.ifs.dbrepo.core.entity.database.License; import at.ac.tuwien.ifs.dbrepo.core.exception.LicenseNotFoundException; import at.ac.tuwien.ifs.dbrepo.repository.LicenseRepository; import at.ac.tuwien.ifs.dbrepo.service.LicenseService; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import java.util.List; import java.util.Optional; -@Log4j2 +@Slf4j @Service public class LicenseServiceImpl implements LicenseService { diff --git a/dbrepo-metadata-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/OntologyServiceImpl.java b/dbrepo-metadata-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/OntologyServiceImpl.java index 182f1eb5c9f354c17b782834a7eb95d6f51419d5..1ccfcea925cd69ac617aea02a70de8ef38e226de 100644 --- a/dbrepo-metadata-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/OntologyServiceImpl.java +++ b/dbrepo-metadata-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/OntologyServiceImpl.java @@ -7,7 +7,7 @@ import at.ac.tuwien.ifs.dbrepo.core.exception.OntologyNotFoundException; import at.ac.tuwien.ifs.dbrepo.core.mapper.MetadataMapper; import at.ac.tuwien.ifs.dbrepo.repository.OntologyRepository; import at.ac.tuwien.ifs.dbrepo.service.OntologyService; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -18,7 +18,7 @@ import java.util.List; import java.util.Optional; import java.util.UUID; -@Log4j2 +@Slf4j @Service public class OntologyServiceImpl implements OntologyService { diff --git a/dbrepo-metadata-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/StorageServiceS3Impl.java b/dbrepo-metadata-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/StorageServiceS3Impl.java index 345529486aaee6b1af596dc89da29298b060baff..ab926c792229d8fbe9575132254e76267e0895b2 100644 --- a/dbrepo-metadata-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/StorageServiceS3Impl.java +++ b/dbrepo-metadata-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/StorageServiceS3Impl.java @@ -4,7 +4,7 @@ import at.ac.tuwien.ifs.dbrepo.config.S3Config; import at.ac.tuwien.ifs.dbrepo.core.exception.StorageNotFoundException; import at.ac.tuwien.ifs.dbrepo.core.exception.StorageUnavailableException; import at.ac.tuwien.ifs.dbrepo.service.StorageService; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import software.amazon.awssdk.services.s3.S3Client; @@ -15,7 +15,7 @@ import software.amazon.awssdk.services.s3.model.S3Exception; import java.io.IOException; import java.io.InputStream; -@Log4j2 +@Slf4j @Service public class StorageServiceS3Impl implements StorageService { diff --git a/dbrepo-metadata-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/TableServiceImpl.java b/dbrepo-metadata-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/TableServiceImpl.java index 520f84b401be428c7f877e7456abdc49cc2461b8..6742d3c839c8888c6d772cbdc3c43d9927992260 100644 --- a/dbrepo-metadata-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/TableServiceImpl.java +++ b/dbrepo-metadata-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/TableServiceImpl.java @@ -17,7 +17,7 @@ import at.ac.tuwien.ifs.dbrepo.gateway.DataServiceGateway; import at.ac.tuwien.ifs.dbrepo.gateway.SearchServiceGateway; import at.ac.tuwien.ifs.dbrepo.repository.DatabaseRepository; import at.ac.tuwien.ifs.dbrepo.service.*; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -28,7 +28,7 @@ import java.util.List; import java.util.Optional; import java.util.UUID; -@Log4j2 +@Slf4j @Service public class TableServiceImpl implements TableService { diff --git a/dbrepo-metadata-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/UnitServiceImpl.java b/dbrepo-metadata-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/UnitServiceImpl.java index ae24d0342fb47ba0bc3363190dce2bd11274bd31..49c09c6dc29b53cef30835cca4410f87ac2c7a55 100644 --- a/dbrepo-metadata-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/UnitServiceImpl.java +++ b/dbrepo-metadata-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/UnitServiceImpl.java @@ -4,7 +4,7 @@ import at.ac.tuwien.ifs.dbrepo.core.entity.database.table.columns.TableColumnUni import at.ac.tuwien.ifs.dbrepo.core.exception.UnitNotFoundException; import at.ac.tuwien.ifs.dbrepo.repository.UnitRepository; import at.ac.tuwien.ifs.dbrepo.service.UnitService; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -12,7 +12,7 @@ import org.springframework.transaction.annotation.Transactional; import java.util.List; import java.util.Optional; -@Log4j2 +@Slf4j @Service public class UnitServiceImpl implements UnitService { diff --git a/dbrepo-metadata-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/UserServiceImpl.java b/dbrepo-metadata-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/UserServiceImpl.java index 351b61e82de310ccdef35830986dd8f4d9ee1f7e..f50a5cd05ae9f63367ea25ffbc9ee5360fea5b0f 100644 --- a/dbrepo-metadata-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/UserServiceImpl.java +++ b/dbrepo-metadata-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/UserServiceImpl.java @@ -8,7 +8,7 @@ import at.ac.tuwien.ifs.dbrepo.core.exception.UserNotFoundException; import at.ac.tuwien.ifs.dbrepo.gateway.KeycloakGateway; import at.ac.tuwien.ifs.dbrepo.repository.UserRepository; import at.ac.tuwien.ifs.dbrepo.service.UserService; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.apache.commons.codec.digest.DigestUtils; import org.apache.commons.lang3.RandomStringUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -20,7 +20,7 @@ import java.util.List; import java.util.Optional; import java.util.UUID; -@Log4j2 +@Slf4j @Service public class UserServiceImpl implements UserService { diff --git a/dbrepo-metadata-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/ViewServiceImpl.java b/dbrepo-metadata-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/ViewServiceImpl.java index e952e25e4233d383f3eb38cff9a0b233881d8954..490f1f82089070e8500e03310ebe7e6327cd45af 100644 --- a/dbrepo-metadata-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/ViewServiceImpl.java +++ b/dbrepo-metadata-service/services/src/main/java/at/ac/tuwien/ifs/dbrepo/service/impl/ViewServiceImpl.java @@ -13,7 +13,7 @@ import at.ac.tuwien.ifs.dbrepo.gateway.SearchServiceGateway; import at.ac.tuwien.ifs.dbrepo.repository.DatabaseRepository; import at.ac.tuwien.ifs.dbrepo.service.ViewService; import com.google.common.hash.Hashing; -import lombok.extern.log4j.Log4j2; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -23,7 +23,7 @@ import java.util.LinkedList; import java.util.Optional; import java.util.UUID; -@Log4j2 +@Slf4j @Service public class ViewServiceImpl implements ViewService { diff --git a/dbrepo-search-service/Pipfile b/dbrepo-search-service/Pipfile index 99ece7bda6961c60b13e34bc6e9c38b791867c1b..f9d3a2c2ffef404da57c5068227c3b85b6c20bfd 100644 --- a/dbrepo-search-service/Pipfile +++ b/dbrepo-search-service/Pipfile @@ -17,8 +17,9 @@ flask_httpauth = "*" jwt = "~=1.3" rdflib = "*" grafana-client = "*" -dbrepo = {path = "./lib/dbrepo-1.8.2.tar.gz"} +dbrepo = {path = "./lib/dbrepo-1.9.0.tar.gz"} gunicorn = "*" +ecs_logging = "*" [dev-packages] coverage = "*" diff --git a/dbrepo-search-service/Pipfile.lock b/dbrepo-search-service/Pipfile.lock index 65fe75dd41218de10e1b573db8c386163a3cef08..74e62ab44a04679b4586dfe1529c52224e4d46ed 100644 --- a/dbrepo-search-service/Pipfile.lock +++ b/dbrepo-search-service/Pipfile.lock @@ -1,7 +1,7 @@ { "_meta": { "hash": { - "sha256": "81c685d7b8966e019d5e9f0821ae592ec36dae0ab851cc342bcbb1b173e69cc0" + "sha256": "56c33b1336dadb699cf5c5b2892e926bdad0ac127a68922188b78bb89dec922d" }, "pipfile-spec": 6, "requires": { @@ -118,7 +118,7 @@ "sha256:f7f5baafcc48261359e14bcd6d9bff6d4b28d9103847c9e136694cb0501aef87", "sha256:fc48c783f9c87e60831201f2cce7f3b2e4846bf4d8728eabe54d60700b318a0b" ], - "markers": "python_version >= '3.8'", + "markers": "platform_python_implementation != 'PyPy'", "version": "==1.17.1" }, "charset-normalizer": { @@ -221,60 +221,70 @@ }, "click": { "hashes": [ - "sha256:63c132bbbed01578a06712a2d1f497bb62d9c1c0d329b7903a866228027263b2", - "sha256:ed53c9d8990d83c2a27deae68e4ee337473f6330c040a31d4225c9574d16096a" + "sha256:27c491cc05d968d271d5a1db13e3b5a184636d9d930f148c50b038f0d0646202", + "sha256:61a3265b914e850b85317d0b3109c7f8cd35a670f963866005d6ef1d5175a12b" ], - "markers": "python_version >= '3.7'", - "version": "==8.1.8" + "markers": "python_version >= '3.10'", + "version": "==8.2.1" }, "cryptography": { "hashes": [ - "sha256:02f55fb4f8b79c1221b0961488eaae21015b69b210e18c386b69de182ebb1259", - "sha256:157f1f3b8d941c2bd8f3ffee0af9b049c9665c39d3da9db2dc338feca5e98a43", - "sha256:192ed30fac1728f7587c6f4613c29c584abdc565d7417c13904708db10206645", - "sha256:21a83f6f35b9cc656d71b5de8d519f566df01e660ac2578805ab245ffd8523f8", - "sha256:25cd194c39fa5a0aa4169125ee27d1172097857b27109a45fadc59653ec06f44", - "sha256:3883076d5c4cc56dbef0b898a74eb6992fdac29a7b9013870b34efe4ddb39a0d", - "sha256:3bb0847e6363c037df8f6ede57d88eaf3410ca2267fb12275370a76f85786a6f", - "sha256:3be3f649d91cb182c3a6bd336de8b61a0a71965bd13d1a04a0e15b39c3d5809d", - "sha256:3f07943aa4d7dad689e3bb1638ddc4944cc5e0921e3c227486daae0e31a05e54", - "sha256:479d92908277bed6e1a1c69b277734a7771c2b78633c224445b5c60a9f4bc1d9", - "sha256:4ffc61e8f3bf5b60346d89cd3d37231019c17a081208dfbbd6e1605ba03fa137", - "sha256:5639c2b16764c6f76eedf722dbad9a0914960d3489c0cc38694ddf9464f1bb2f", - "sha256:58968d331425a6f9eedcee087f77fd3c927c88f55368f43ff7e0a19891f2642c", - "sha256:5d186f32e52e66994dce4f766884bcb9c68b8da62d61d9d215bfe5fb56d21334", - "sha256:5d20cc348cca3a8aa7312f42ab953a56e15323800ca3ab0706b8cd452a3a056c", - "sha256:6866df152b581f9429020320e5eb9794c8780e90f7ccb021940d7f50ee00ae0b", - "sha256:7d5fe7195c27c32a64955740b949070f21cba664604291c298518d2e255931d2", - "sha256:896530bc9107b226f265effa7ef3f21270f18a2026bc09fed1ebd7b66ddf6375", - "sha256:962bc30480a08d133e631e8dfd4783ab71cc9e33d5d7c1e192f0b7c06397bb88", - "sha256:978631ec51a6bbc0b7e58f23b68a8ce9e5f09721940933e9c217068388789fe5", - "sha256:9b4d4a5dbee05a2c390bf212e78b99434efec37b17a4bff42f50285c5c8c9647", - "sha256:ab0b005721cc0039e885ac3503825661bd9810b15d4f374e473f8c89b7d5460c", - "sha256:af653022a0c25ef2e3ffb2c673a50e5a0d02fecc41608f4954176f1933b12359", - "sha256:b0cc66c74c797e1db750aaa842ad5b8b78e14805a9b5d1348dc603612d3e3ff5", - "sha256:b424563394c369a804ecbee9b06dfb34997f19d00b3518e39f83a5642618397d", - "sha256:c138abae3a12a94c75c10499f1cbae81294a6f983b3af066390adee73f433028", - "sha256:c6cd67722619e4d55fdb42ead64ed8843d64638e9c07f4011163e46bc512cf01", - "sha256:c91fc8e8fd78af553f98bc7f2a1d8db977334e4eea302a4bfd75b9461c2d8904", - "sha256:cad399780053fb383dc067475135e41c9fe7d901a97dd5d9c5dfb5611afc0d7d", - "sha256:cb90f60e03d563ca2445099edf605c16ed1d5b15182d21831f58460c48bffb93", - "sha256:dad80b45c22e05b259e33ddd458e9e2ba099c86ccf4e88db7bbab4b747b18d06", - "sha256:dd3db61b8fe5be220eee484a17233287d0be6932d056cf5738225b9c05ef4fff", - "sha256:e28d62e59a4dbd1d22e747f57d4f00c459af22181f0b2f787ea83f5a876d7c76", - "sha256:e909df4053064a97f1e6565153ff8bb389af12c5c8d29c343308760890560aff", - "sha256:f3ffef566ac88f75967d7abd852ed5f182da252d23fac11b4766da3957766759", - "sha256:fc3c9babc1e1faefd62704bb46a69f359a9819eb0292e40df3fb6e3574715cd4", - "sha256:fe19d8bc5536a91a24a8133328880a41831b6c5df54599a8417b62fe015d3053" + "sha256:057723b79752a142efbc609e90b0dff27b0361ccbee3bd48312d70f5cdf53b78", + "sha256:05c2385b1f5c89a17df19900cfb1345115a77168f5ed44bdf6fd3de1ce5cc65b", + "sha256:08281de408e7eb71ba3cd5098709a356bfdf65eebd7ee7633c3610f0aa80d79b", + "sha256:10d68763892a7b19c22508ab57799c4423c7c8cd61d7eee4c5a6a55a46511949", + "sha256:1655d3a76e3dedb683c982a6c3a2cbfae2d08f47a48ec5a3d58db52b3d29ea6f", + "sha256:18f8084b7ca3ce1b8d38bdfe33c48116edf9a08b4d056ef4a96dceaa36d8d965", + "sha256:2cb03a944a1a412724d15a7c051d50e63a868031f26b6a312f2016965b661942", + "sha256:4142e20c29224cec63e9e32eb1e6014fb285fe39b7be66b3564ca978a3a8afe9", + "sha256:463096533acd5097f8751115bc600b0b64620c4aafcac10c6d0041e6e68f88fe", + "sha256:48caa55c528617fa6db1a9c3bf2e37ccb31b73e098ac2b71408d1f2db551dde4", + "sha256:49af56491473231159c98c2c26f1a8f3799a60e5cf0e872d00745b858ddac9d2", + "sha256:4cc31c66411e14dd70e2f384a9204a859dc25b05e1f303df0f5326691061b839", + "sha256:501de1296b2041dccf2115e3c7d4947430585601b251b140970ce255c5cfb985", + "sha256:59c0c8f043dd376bbd9d4f636223836aed50431af4c5a467ed9bf61520294627", + "sha256:614bca7c6ed0d8ad1dce683a6289afae1f880675b4090878a0136c3da16bc693", + "sha256:61a8b1bbddd9332917485b2453d1de49f142e6334ce1d97b7916d5a85d179c84", + "sha256:7429936146063bd1b2cfc54f0e04016b90ee9b1c908a7bed0800049cbace70eb", + "sha256:7c73968fbb7698a4c5d6160859db560d3aac160edde89c751edd5a8bc6560c88", + "sha256:80303ee6a02ef38c4253160446cbeb5c400c07e01d4ddbd4ff722a89b736d95a", + "sha256:965611880c3fa8e504b7458484c0697e00ae6e937279cd6734fdaa2bc954dc49", + "sha256:9a900036b42f7324df7c7ad9569eb92ba0b613cf699160dd9c2154b24fd02f8e", + "sha256:9cfd1399064b13043082c660ddd97a0358e41c8b0dc7b77c1243e013d305c344", + "sha256:a8ec324711596fbf21837d3a5db543937dd84597d364769b46e0102250023f77", + "sha256:a9727a21957d3327cf6b7eb5ffc9e4b663909a25fea158e3fcbc49d4cdd7881b", + "sha256:b19f4b28dd2ef2e6d600307fee656c00825a2980c4356a7080bd758d633c3a6f", + "sha256:b2de529027579e43b6dc1f805f467b102fb7d13c1e54c334f1403ee2b37d0059", + "sha256:c0c000c1a09f069632d8a9eb3b610ac029fcc682f1d69b758e625d6ee713f4ed", + "sha256:cdafb86eb673c3211accffbffdb3cdffa3aaafacd14819e0898d23696d18e4d3", + "sha256:d2a90ce2f0f5b695e4785ac07c19a58244092f3c85d57db6d8eb1a2b26d2aad6", + "sha256:d784d57b958ffd07e9e226d17272f9af0c41572557604ca7554214def32c26bf", + "sha256:d891942592789fa0ab71b502550bbadb12f540d7413d7d7c4cef4b02af0f5bc6", + "sha256:dc7693573f16535428183de8fd27f0ca1ca37a51baa0b41dc5ed7b3d68fe80e2", + "sha256:ddb8d01aa900b741d6b7cc585a97aff787175f160ab975e21f880e89d810781a", + "sha256:e328357b6bbf79928363dbf13f4635b7aac0306afb7e5ad24d21d0c5761c3253", + "sha256:e86c8d54cd19a13e9081898b3c24351683fd39d726ecf8e774aaa9d8d96f5f3a", + "sha256:e9e4bdcd70216b08801e267c0b563316b787f957a46e215249921f99288456f9", + "sha256:f169469d04a23282de9d0be349499cb6683b6ff1b68901210faacac9b0c24b7d" ], "markers": "python_version >= '3.7' and python_full_version not in '3.9.0, 3.9.1'", - "version": "==44.0.3" + "version": "==45.0.2" }, "dbrepo": { "hashes": [ - "sha256:76f0ab97d1e914a779aa51b5e5a17591b2f1c88f15dc9df27273deb4dc7ed125" + "sha256:76f0ab97d1e914a779aa51b5e5a17591b2f1c88f15dc9df27273deb4dc7ed125", + "sha256:f01ee3102dc405c00b5e61cd1d62a46f9644ca33d131912cc25130a5ec304378" ], - "path": "./lib/dbrepo-1.8.2.tar.gz" + "path": "./lib/dbrepo-1.9.0.tar.gz", + "version": "==1.9.0" + }, + "ecs-logging": { + "hashes": [ + "sha256:1dc9e216f614129db0e6a2f9f926da4e4cf8edf8de16d1045a20aa8e950291d3", + "sha256:f6e22d267770b06f797076f49b5fcc9d97108b22f452f5f9ed4b5367b1e61b5b" + ], + "index": "pypi", + "version": "==2.2.0" }, "events": { "hashes": [ @@ -295,7 +305,6 @@ "sha256:f69fcd559dc907ed196ab9df0e48471709175e696d6e698dd4dbe940f96ce66b" ], "index": "pypi", - "markers": "python_version >= '3.8'", "version": "==2.3.3" }, "flask-cors": { @@ -320,7 +329,6 @@ "sha256:8085d6757505b6f3291a2638c84d207e8f0ad0de662d1f46aa2f77e658a0c976" ], "index": "pypi", - "markers": "python_version >= '3.9' and python_version < '4'", "version": "==4.7.1" }, "flask-sqlalchemy": { @@ -329,7 +337,6 @@ "sha256:e4b68bb881802dda1a7d878b2fc84c06d1ee57fb40b874d3dc97dabfa36b8312" ], "index": "pypi", - "markers": "python_version >= '3.8'", "version": "==3.1.1" }, "grafana-client": { @@ -338,69 +345,68 @@ "sha256:8cb61bb2a87ec07bca10974df276b9a1a95bfdb63f3a696f065692ffc9b8c389" ], "index": "pypi", - "markers": "python_version >= '3.7'", "version": "==4.3.2" }, "greenlet": { "hashes": [ - "sha256:04b4ec7f65f0e4a1500ac475c9343f6cc022b2363ebfb6e94f416085e40dea15", - "sha256:05a7490f74e8aabc5f29256765a99577ffde979920a2db1f3676d265a3adba41", - "sha256:063bcf7f8ee28eb91e7f7a8148c65a43b73fbdc0064ab693e024b5a940070145", - "sha256:0ba2811509a30e5f943be048895a983a8daf0b9aa0ac0ead526dfb5d987d80ea", - "sha256:0c68bbc639359493420282d2f34fa114e992a8724481d700da0b10d10a7611b8", - "sha256:0ddda0197c5b46eedb5628d33dad034c455ae77708c7bf192686e760e26d6a0c", - "sha256:175d583f7d5ee57845591fc30d852b75b144eb44b05f38b67966ed6df05c8526", - "sha256:17964c246d4f6e1327edd95e2008988a8995ae3a7732be2f9fc1efed1f1cdf8c", - "sha256:1a750f1046994b9e038b45ae237d68153c29a3a783075211fb1414a180c8324b", - "sha256:1c472adfca310f849903295c351d297559462067f618944ce2650a1878b84123", - "sha256:2273586879affca2d1f414709bb1f61f0770adcabf9eda8ef48fd90b36f15d12", - "sha256:24a496479bc8bd01c39aa6516a43c717b4cee7196573c47b1f8e1011f7c12495", - "sha256:2530bfb0abcd451ea81068e6d0a1aac6dabf3f4c23c8bd8e2a8f579c2dd60d95", - "sha256:3059c6f286b53ea4711745146ffe5a5c5ff801f62f6c56949446e0f6461f8157", - "sha256:3227c6ec1149d4520bc99edac3b9bc8358d0034825f3ca7572165cb502d8f29a", - "sha256:374ffebaa5fbd10919cd599e5cf8ee18bae70c11f9d61e73db79826c8c93d6f9", - "sha256:3ecc9d33ca9428e4536ea53e79d781792cee114d2fa2695b173092bdbd8cd6d5", - "sha256:3f56382ac4df3860ebed8ed838f268f03ddf4e459b954415534130062b16bc32", - "sha256:4245246e72352b150a1588d43ddc8ab5e306bef924c26571aafafa5d1aaae4e8", - "sha256:4339b202ac20a89ccd5bde0663b4d00dc62dd25cb3fb14f7f3034dec1b0d9ece", - "sha256:4818116e75a0dd52cdcf40ca4b419e8ce5cb6669630cb4f13a6c384307c9543f", - "sha256:5193135b3a8d0017cb438de0d49e92bf2f6c1c770331d24aa7500866f4db4017", - "sha256:51a2f49da08cff79ee42eb22f1658a2aed60c72792f0a0a95f5f0ca6d101b1fb", - "sha256:5c12f0d17a88664757e81a6e3fc7c2452568cf460a2f8fb44f90536b2614000b", - "sha256:6079ae990bbf944cf66bea64a09dcb56085815630955109ffa98984810d71565", - "sha256:639a94d001fe874675b553f28a9d44faed90f9864dc57ba0afef3f8d76a18b04", - "sha256:64a4d0052de53ab3ad83ba86de5ada6aeea8f099b4e6c9ccce70fb29bc02c6a2", - "sha256:6dcc6d604a6575c6225ac0da39df9335cc0c6ac50725063fa90f104f3dbdb2c9", - "sha256:7132e024ebeeeabbe661cf8878aac5d2e643975c4feae833142592ec2f03263d", - "sha256:72c9b668454e816b5ece25daac1a42c94d1c116d5401399a11b77ce8d883110c", - "sha256:777c1281aa7c786738683e302db0f55eb4b0077c20f1dc53db8852ffaea0a6b0", - "sha256:7abc0545d8e880779f0c7ce665a1afc3f72f0ca0d5815e2b006cafc4c1cc5840", - "sha256:7b0f3a0a67786facf3b907a25db80efe74310f9d63cc30869e49c79ee3fcef7e", - "sha256:852ef432919830022f71a040ff7ba3f25ceb9fe8f3ab784befd747856ee58530", - "sha256:8b89e5d44f55372efc6072f59ced5ed1efb7b44213dab5ad7e0caba0232c6545", - "sha256:8fe303381e7e909e42fb23e191fc69659910909fdcd056b92f6473f80ef18543", - "sha256:9afa05fe6557bce1642d8131f87ae9462e2a8e8c46f7ed7929360616088a3975", - "sha256:9f4dd4b4946b14bb3bf038f81e1d2e535b7d94f1b2a59fdba1293cd9c1a0a4d7", - "sha256:aa30066fd6862e1153eaae9b51b449a6356dcdb505169647f69e6ce315b9468b", - "sha256:b38d53cf268da963869aa25a6e4cc84c1c69afc1ae3391738b2603d110749d01", - "sha256:b7503d6b8bbdac6bbacf5a8c094f18eab7553481a1830975799042f26c9e101b", - "sha256:c07a0c01010df42f1f058b3973decc69c4d82e036a951c3deaf89ab114054c07", - "sha256:cb5ee928ce5fedf9a4b0ccdc547f7887136c4af6109d8f2fe8e00f90c0db47f5", - "sha256:cc45a7189c91c0f89aaf9d69da428ce8301b0fd66c914a499199cfb0c28420fc", - "sha256:d6668caf15f181c1b82fb6406f3911696975cc4c37d782e19cb7ba499e556189", - "sha256:dbb4e1aa2000852937dd8f4357fb73e3911da426df8ca9b8df5db231922da474", - "sha256:de62b542e5dcf0b6116c310dec17b82bb06ef2ceb696156ff7bf74a7a498d982", - "sha256:e1967882f0c42eaf42282a87579685c8673c51153b845fde1ee81be720ae27ac", - "sha256:e1a40a17e2c7348f5eee5d8e1b4fa6a937f0587eba89411885a36a8e1fc29bd2", - "sha256:e63cd2035f49376a23611fbb1643f78f8246e9d4dfd607534ec81b175ce582c2", - "sha256:e775176b5c203a1fa4be19f91da00fd3bff536868b77b237da3f4daa5971ae5d", - "sha256:e77ae69032a95640a5fe8c857ec7bee569a0997e809570f4c92048691ce4b437", - "sha256:e934591a7a4084fa10ee5ef50eb9d2ac8c4075d5c9cf91128116b5dca49d43b1", - "sha256:e98328b8b8f160925d6b1c5b1879d8e64f6bd8cf11472b7127d579da575b77d9", - "sha256:ff38c869ed30fff07f1452d9a204ece1ec6d3c0870e0ba6e478ce7c1515acf22" - ], - "markers": "python_version >= '3.9'", - "version": "==3.2.1" + "sha256:00cd814b8959b95a546e47e8d589610534cfb71f19802ea8a2ad99d95d702057", + "sha256:02a98600899ca1ca5d3a2590974c9e3ec259503b2d6ba6527605fcd74e08e207", + "sha256:02f5972ff02c9cf615357c17ab713737cccfd0eaf69b951084a9fd43f39833d3", + "sha256:055916fafad3e3388d27dd68517478933a97edc2fc54ae79d3bec827de2c64c4", + "sha256:0a16fb934fcabfdfacf21d79e6fed81809d8cd97bc1be9d9c89f0e4567143d7b", + "sha256:1592a615b598643dbfd566bac8467f06c8c8ab6e56f069e573832ed1d5d528cc", + "sha256:1919cbdc1c53ef739c94cf2985056bcc0838c1f217b57647cbf4578576c63825", + "sha256:1e4747712c4365ef6765708f948acc9c10350719ca0545e362c24ab973017370", + "sha256:1e76106b6fc55fa3d6fe1c527f95ee65e324a13b62e243f77b48317346559708", + "sha256:1f72667cc341c95184f1c68f957cb2d4fc31eef81646e8e59358a10ce6689457", + "sha256:2593283bf81ca37d27d110956b79e8723f9aa50c4bcdc29d3c0543d4743d2763", + "sha256:2dc5c43bb65ec3669452af0ab10729e8fdc17f87a1f2ad7ec65d4aaaefabf6bf", + "sha256:3091bc45e6b0c73f225374fefa1536cd91b1e987377b12ef5b19129b07d93ebe", + "sha256:354f67445f5bed6604e493a06a9a49ad65675d3d03477d38a4db4a427e9aad0e", + "sha256:3885f85b61798f4192d544aac7b25a04ece5fe2704670b4ab73c2d2c14ab740d", + "sha256:3ab7194ee290302ca15449f601036007873028712e92ca15fc76597a0aeb4c59", + "sha256:3aeca9848d08ce5eb653cf16e15bb25beeab36e53eb71cc32569f5f3afb2a3aa", + "sha256:44671c29da26539a5f142257eaba5110f71887c24d40df3ac87f1117df589e0e", + "sha256:45f9f4853fb4cc46783085261c9ec4706628f3b57de3e68bae03e8f8b3c0de51", + "sha256:4bd139e4943547ce3a56ef4b8b1b9479f9e40bb47e72cc906f0f66b9d0d5cab3", + "sha256:4fefc7aa68b34b9224490dfda2e70ccf2131368493add64b4ef2d372955c207e", + "sha256:6629311595e3fe7304039c67f00d145cd1d38cf723bb5b99cc987b23c1433d61", + "sha256:6fadd183186db360b61cb34e81117a096bff91c072929cd1b529eb20dd46e6c5", + "sha256:71566302219b17ca354eb274dfd29b8da3c268e41b646f330e324e3967546a74", + "sha256:7409796591d879425997a518138889d8d17e63ada7c99edc0d7a1c22007d4907", + "sha256:752f0e79785e11180ebd2e726c8a88109ded3e2301d40abced2543aa5d164275", + "sha256:7791dcb496ec53d60c7f1c78eaa156c21f402dda38542a00afc3e20cae0f480f", + "sha256:782743700ab75716650b5238a4759f840bb2dcf7bff56917e9ffdf9f1f23ec59", + "sha256:7c9896249fbef2c615853b890ee854f22c671560226c9221cfd27c995db97e5c", + "sha256:85f3e248507125bf4af607a26fd6cb8578776197bd4b66e35229cdf5acf1dfbf", + "sha256:89c69e9a10670eb7a66b8cef6354c24671ba241f46152dd3eed447f79c29fb5b", + "sha256:8cb8553ee954536500d88a1a2f58fcb867e45125e600e80f586ade399b3f8819", + "sha256:9ae572c996ae4b5e122331e12bbb971ea49c08cc7c232d1bd43150800a2d6c65", + "sha256:9c7b15fb9b88d9ee07e076f5a683027bc3befd5bb5d25954bb633c385d8b737e", + "sha256:9ea5231428af34226c05f927e16fc7f6fa5e39e3ad3cd24ffa48ba53a47f4240", + "sha256:a31ead8411a027c2c4759113cf2bd473690517494f3d6e4bf67064589afcd3c5", + "sha256:a8fa80665b1a29faf76800173ff5325095f3e66a78e62999929809907aca5659", + "sha256:ad053d34421a2debba45aa3cc39acf454acbcd025b3fc1a9f8a0dee237abd485", + "sha256:b24c7844c0a0afc3ccbeb0b807adeefb7eff2b5599229ecedddcfeb0ef333bec", + "sha256:b50a8c5c162469c3209e5ec92ee4f95c8231b11db6a04db09bbe338176723bb8", + "sha256:ba30e88607fb6990544d84caf3c706c4b48f629e18853fc6a646f82db9629418", + "sha256:bf3fc9145141250907730886b031681dfcc0de1c158f3cc51c092223c0f381ce", + "sha256:c23ea227847c9dbe0b3910f5c0dd95658b607137614eb821e6cbaecd60d81cc6", + "sha256:c3cc1a3ed00ecfea8932477f729a9f616ad7347a5e55d50929efa50a86cb7be7", + "sha256:c49e9f7c6f625507ed83a7485366b46cbe325717c60837f7244fc99ba16ba9d6", + "sha256:d0cb7d47199001de7658c213419358aa8937df767936506db0db7ce1a71f4a2f", + "sha256:d8009ae46259e31bc73dc183e402f548e980c96f33a6ef58cc2e7865db012e13", + "sha256:da956d534a6d1b9841f95ad0f18ace637668f680b1339ca4dcfb2c1837880a0b", + "sha256:dcb9cebbf3f62cb1e5afacae90761ccce0effb3adaa32339a0670fe7805d8068", + "sha256:decb0658ec19e5c1f519faa9a160c0fc85a41a7e6654b3ce1b44b939f8bf1325", + "sha256:df4d1509efd4977e6a844ac96d8be0b9e5aa5d5c77aa27ca9f4d3f92d3fcf330", + "sha256:eeb27bece45c0c2a5842ac4c5a1b5c2ceaefe5711078eed4e8043159fa05c834", + "sha256:efcdfb9df109e8a3b475c016f60438fcd4be68cd13a365d42b35914cdab4bb2b", + "sha256:fd9fb7c941280e2c837b603850efc93c999ae58aae2b40765ed682a6907ebbc5", + "sha256:fe46d4f8e94e637634d54477b0cfabcf93c53f29eedcbdeecaf2af32029b4421" + ], + "markers": "python_version < '3.14' and platform_machine == 'aarch64' or (platform_machine == 'ppc64le' or (platform_machine == 'x86_64' or (platform_machine == 'amd64' or (platform_machine == 'AMD64' or (platform_machine == 'win32' or platform_machine == 'WIN32')))))", + "version": "==3.2.2" }, "gunicorn": { "hashes": [ @@ -408,7 +414,6 @@ "sha256:f014447a0101dc57e294f6c18ca6b40227a4c90e9bdb586042628030cba004ec" ], "index": "pypi", - "markers": "python_version >= '3.7'", "version": "==23.0.0" }, "h11": { @@ -567,7 +572,6 @@ "sha256:61c9170f92e736b530655e75374681d4fcca9cfa8763ab42be57353b2b203494" ], "index": "pypi", - "markers": "python_version >= '3.6'", "version": "==1.3.1" }, "markupsafe": { @@ -647,72 +651,72 @@ }, "niquests": { "hashes": [ - "sha256:68e0a7e9f338466b3606945fffd11f75e3c90af7498aa9336ef03812323b7e36", - "sha256:86e484c2c60444aa96069c15f6295af6e25a8bad50781e1326df1b5c7ab48339" + "sha256:c5cdc126862090b09030addc23b6bbf06dbd433a4c7c70ddf6657638153bc367", + "sha256:f1dbf2c028223e97839f5b467f875376a014abf51e8f9b284be799fc9a10791c" ], "markers": "python_version >= '3.7'", - "version": "==3.14.0" + "version": "==3.14.1" }, "numpy": { "hashes": [ - "sha256:0255732338c4fdd00996c0421884ea8a3651eea555c3a56b84892b66f696eb70", - "sha256:02f226baeefa68f7d579e213d0f3493496397d8f1cff5e2b222af274c86a552a", - "sha256:059b51b658f4414fff78c6d7b1b4e18283ab5fa56d270ff212d5ba0c561846f4", - "sha256:0bcb1d057b7571334139129b7f941588f69ce7c4ed15a9d6162b2ea54ded700c", - "sha256:0cd48122a6b7eab8f06404805b1bd5856200e3ed6f8a1b9a194f9d9054631beb", - "sha256:19f4718c9012e3baea91a7dba661dcab2451cda2550678dc30d53acb91a7290f", - "sha256:1a161c2c79ab30fe4501d5a2bbfe8b162490757cf90b7f05be8b80bc02f7bb8e", - "sha256:1f4a922da1729f4c40932b2af4fe84909c7a6e167e6e99f71838ce3a29f3fe26", - "sha256:261a1ef047751bb02f29dfe337230b5882b54521ca121fc7f62668133cb119c9", - "sha256:262d23f383170f99cd9191a7c85b9a50970fe9069b2f8ab5d786eca8a675d60b", - "sha256:2ba321813a00e508d5421104464510cc962a6f791aa2fca1c97b1e65027da80d", - "sha256:2c1a1c6ccce4022383583a6ded7bbcda22fc635eb4eb1e0a053336425ed36dfa", - "sha256:352d330048c055ea6db701130abc48a21bec690a8d38f8284e00fab256dc1376", - "sha256:369e0d4647c17c9363244f3468f2227d557a74b6781cb62ce57cf3ef5cc7c610", - "sha256:36ab5b23915887543441efd0417e6a3baa08634308894316f446027611b53bf1", - "sha256:37e32e985f03c06206582a7323ef926b4e78bdaa6915095ef08070471865b906", - "sha256:3a801fef99668f309b88640e28d261991bfad9617c27beda4a3aec4f217ea073", - "sha256:3d14b17b9be5f9c9301f43d2e2a4886a33b53f4e6fdf9ca2f4cc60aeeee76372", - "sha256:422cc684f17bc963da5f59a31530b3936f57c95a29743056ef7a7903a5dbdf88", - "sha256:4520caa3807c1ceb005d125a75e715567806fed67e315cea619d5ec6e75a4191", - "sha256:47834cde750d3c9f4e52c6ca28a7361859fcaf52695c7dc3cc1a720b8922683e", - "sha256:47f9ed103af0bc63182609044b0490747e03bd20a67e391192dde119bf43d52f", - "sha256:498815b96f67dc347e03b719ef49c772589fb74b8ee9ea2c37feae915ad6ebda", - "sha256:54088a5a147ab71a8e7fdfd8c3601972751ded0739c6b696ad9cb0343e21ab73", - "sha256:55f09e00d4dccd76b179c0f18a44f041e5332fd0e022886ba1c0bbf3ea4a18d0", - "sha256:5a0ac90e46fdb5649ab6369d1ab6104bfe5854ab19b645bf5cda0127a13034ae", - "sha256:6411f744f7f20081b1b4e7112e0f4c9c5b08f94b9f086e6f0adf3645f85d3a4d", - "sha256:6413d48a9be53e183eb06495d8e3b006ef8f87c324af68241bbe7a39e8ff54c3", - "sha256:7451f92eddf8503c9b8aa4fe6aa7e87fd51a29c2cfc5f7dbd72efde6c65acf57", - "sha256:8b4c0773b6ada798f51f0f8e30c054d32304ccc6e9c5d93d46cb26f3d385ab19", - "sha256:8dfa94b6a4374e7851bbb6f35e6ded2120b752b063e6acdd3157e4d2bb922eba", - "sha256:97c8425d4e26437e65e1d189d22dff4a079b747ff9c2788057bfb8114ce1e133", - "sha256:9d75f338f5f79ee23548b03d801d28a505198297534f62416391857ea0479571", - "sha256:9de6832228f617c9ef45d948ec1cd8949c482238d68b2477e6f642c33a7b0a54", - "sha256:a4cbdef3ddf777423060c6f81b5694bad2dc9675f110c4b2a60dc0181543fac7", - "sha256:a9c0d994680cd991b1cb772e8b297340085466a6fe964bc9d4e80f5e2f43c291", - "sha256:aa70fdbdc3b169d69e8c59e65c07a1c9351ceb438e627f0fdcd471015cd956be", - "sha256:abe38cd8381245a7f49967a6010e77dbf3680bd3627c0fe4362dd693b404c7f8", - "sha256:b13f04968b46ad705f7c8a80122a42ae8f620536ea38cf4bdd374302926424dd", - "sha256:b4ea7e1cff6784e58fe281ce7e7f05036b3e1c89c6f922a6bfbc0a7e8768adbe", - "sha256:b6f91524d31b34f4a5fee24f5bc16dcd1491b668798b6d85585d836c1e633a6a", - "sha256:c26843fd58f65da9491165072da2cccc372530681de481ef670dcc8e27cfb066", - "sha256:c42365005c7a6c42436a54d28c43fe0e01ca11eb2ac3cefe796c25a5f98e5e9b", - "sha256:c8b82a55ef86a2d8e81b63da85e55f5537d2157165be1cb2ce7cfa57b6aef38b", - "sha256:ced69262a8278547e63409b2653b372bf4baff0870c57efa76c5703fd6543282", - "sha256:d2e3bdadaba0e040d1e7ab39db73e0afe2c74ae277f5614dad53eadbecbbb169", - "sha256:d403c84991b5ad291d3809bace5e85f4bbf44a04bdc9a88ed2bb1807b3360bb8", - "sha256:d7543263084a85fbc09c704b515395398d31d6395518446237eac219eab9e55e", - "sha256:d8882a829fd779f0f43998e931c466802a77ca1ee0fe25a3abe50278616b1471", - "sha256:e4f0b035d9d0ed519c813ee23e0a733db81ec37d2e9503afbb6e54ccfdee0fa7", - "sha256:e8b025c351b9f0e8b5436cf28a07fa4ac0204d67b38f01433ac7f9b870fa38c6", - "sha256:eb7fd5b184e5d277afa9ec0ad5e4eb562ecff541e7f60e69ee69c8d59e9aeaba", - "sha256:ec31367fd6a255dc8de4772bd1658c3e926d8e860a0b6e922b615e532d320ddc", - "sha256:ee461a4eaab4f165b68780a6a1af95fb23a29932be7569b9fab666c407969051", - "sha256:f5045039100ed58fa817a6227a356240ea1b9a1bc141018864c306c1a16d4175" - ], - "markers": "python_version >= '3.10'", - "version": "==2.2.5" + "sha256:038613e9fb8c72b0a41f025a7e4c3f0b7a1b5d768ece4796b674c8f3fe13efff", + "sha256:0678000bb9ac1475cd454c6b8c799206af8107e310843532b04d49649c717a47", + "sha256:0811bb762109d9708cca4d0b13c4f67146e3c3b7cf8d34018c722adb2d957c84", + "sha256:0b605b275d7bd0c640cad4e5d30fa701a8d59302e127e5f79138ad62762c3e3d", + "sha256:0bca768cd85ae743b2affdc762d617eddf3bcf8724435498a1e80132d04879e6", + "sha256:1bc23a79bfabc5d056d106f9befb8d50c31ced2fbc70eedb8155aec74a45798f", + "sha256:287cc3162b6f01463ccd86be154f284d0893d2b3ed7292439ea97eafa8170e0b", + "sha256:37c0ca431f82cd5fa716eca9506aefcabc247fb27ba69c5062a6d3ade8cf8f49", + "sha256:37e990a01ae6ec7fe7fa1c26c55ecb672dd98b19c3d0e1d1f326fa13cb38d163", + "sha256:389d771b1623ec92636b0786bc4ae56abafad4a4c513d36a55dce14bd9ce8571", + "sha256:3d70692235e759f260c3d837193090014aebdf026dfd167834bcba43e30c2a42", + "sha256:41c5a21f4a04fa86436124d388f6ed60a9343a6f767fced1a8a71c3fbca038ff", + "sha256:481b49095335f8eed42e39e8041327c05b0f6f4780488f61286ed3c01368d491", + "sha256:4eeaae00d789f66c7a25ac5f34b71a7035bb474e679f410e5e1a94deb24cf2d4", + "sha256:55a4d33fa519660d69614a9fad433be87e5252f4b03850642f88993f7b2ca566", + "sha256:5a6429d4be8ca66d889b7cf70f536a397dc45ba6faeb5f8c5427935d9592e9cf", + "sha256:5bd4fc3ac8926b3819797a7c0e2631eb889b4118a9898c84f585a54d475b7e40", + "sha256:5beb72339d9d4fa36522fc63802f469b13cdbe4fdab4a288f0c441b74272ebfd", + "sha256:6031dd6dfecc0cf9f668681a37648373bddd6421fff6c66ec1624eed0180ee06", + "sha256:71594f7c51a18e728451bb50cc60a3ce4e6538822731b2933209a1f3614e9282", + "sha256:74d4531beb257d2c3f4b261bfb0fc09e0f9ebb8842d82a7b4209415896adc680", + "sha256:7befc596a7dc9da8a337f79802ee8adb30a552a94f792b9c9d18c840055907db", + "sha256:894b3a42502226a1cac872f840030665f33326fc3dac8e57c607905773cdcde3", + "sha256:8e41fd67c52b86603a91c1a505ebaef50b3314de0213461c7a6e99c9a3beff90", + "sha256:8e9ace4a37db23421249ed236fdcdd457d671e25146786dfc96835cd951aa7c1", + "sha256:8fc377d995680230e83241d8a96def29f204b5782f371c532579b4f20607a289", + "sha256:9551a499bf125c1d4f9e250377c1ee2eddd02e01eac6644c080162c0c51778ab", + "sha256:b0544343a702fa80c95ad5d3d608ea3599dd54d4632df855e4c8d24eb6ecfa1c", + "sha256:b093dd74e50a8cba3e873868d9e93a85b78e0daf2e98c6797566ad8044e8363d", + "sha256:b412caa66f72040e6d268491a59f2c43bf03eb6c96dd8f0307829feb7fa2b6fb", + "sha256:b4f13750ce79751586ae2eb824ba7e1e8dba64784086c98cdbbcc6a42112ce0d", + "sha256:b64d8d4d17135e00c8e346e0a738deb17e754230d7e0810ac5012750bbd85a5a", + "sha256:ba10f8411898fc418a521833e014a77d3ca01c15b0c6cdcce6a0d2897e6dbbdf", + "sha256:bd48227a919f1bafbdda0583705e547892342c26fb127219d60a5c36882609d1", + "sha256:c1f9540be57940698ed329904db803cf7a402f3fc200bfe599334c9bd84a40b2", + "sha256:c820a93b0255bc360f53eca31a0e676fd1101f673dda8da93454a12e23fc5f7a", + "sha256:ce47521a4754c8f4593837384bd3424880629f718d87c5d44f8ed763edd63543", + "sha256:d042d24c90c41b54fd506da306759e06e568864df8ec17ccc17e9e884634fd00", + "sha256:de749064336d37e340f640b05f24e9e3dd678c57318c7289d222a8a2f543e90c", + "sha256:e1dda9c7e08dc141e0247a5b8f49cf05984955246a327d4c48bda16821947b2f", + "sha256:e29554e2bef54a90aa5cc07da6ce955accb83f21ab5de01a62c8478897b264fd", + "sha256:e3143e4451880bed956e706a3220b4e5cf6172ef05fcc397f6f36a550b1dd868", + "sha256:e8213002e427c69c45a52bbd94163084025f533a55a59d6f9c5b820774ef3303", + "sha256:efd28d4e9cd7d7a8d39074a4d44c63eda73401580c5c76acda2ce969e0a38e83", + "sha256:f0fd6321b839904e15c46e0d257fdd101dd7f530fe03fd6359c1ea63738703f3", + "sha256:f1372f041402e37e5e633e586f62aa53de2eac8d98cbfb822806ce4bbefcb74d", + "sha256:f2618db89be1b4e05f7a1a847a9c1c0abd63e63a1607d892dd54668dd92faf87", + "sha256:f447e6acb680fd307f40d3da4852208af94afdfab89cf850986c3ca00562f4fa", + "sha256:f92729c95468a2f4f15e9bb94c432a9229d0d50de67304399627a943201baa2f", + "sha256:f9f1adb22318e121c5c69a09142811a201ef17ab257a1e66ca3025065b7f53ae", + "sha256:fc0c5673685c508a142ca65209b4e79ed6740a4ed6b2267dbba90f34b0b3cfda", + "sha256:fc7b73d02efb0e18c000e9ad8b83480dfcd5dfd11065997ed4c6747470ae8915", + "sha256:fd83c01228a688733f1ded5201c678f0c53ecc1006ffbc404db9f7a899ac6249", + "sha256:fe27749d33bb772c80dcd84ae7e8df2adc920ae8297400dabec45f0dedb3f6de", + "sha256:fee4236c876c4e8369388054d02d0e9bb84821feb1a64dd59e137e6511a551f8" + ], + "markers": "python_version == '3.11'", + "version": "==2.2.6" }, "opensearch-py": { "hashes": [ @@ -720,7 +724,6 @@ "sha256:6598df0bc7a003294edd0ba88a331e0793acbb8c910c43edf398791e3b2eccda" ], "index": "pypi", - "markers": "python_version >= '3.8' and python_version < '4'", "version": "==2.8.0" }, "packaging": { @@ -789,11 +792,11 @@ }, "prometheus-client": { "hashes": [ - "sha256:252505a722ac04b0456be05c05f75f45d760c2911ffc45f2a06bcaed9f3ae3fb", - "sha256:594b45c410d6f4f8888940fe80b5cc2521b305a1fafe1c58609ef715a001f301" + "sha256:18da1d2241ac2d10c8d2110f13eedcd5c7c0c8af18c926e8731f04fc10cd575c", + "sha256:c8951bbe64e62b96cd8e8f5d917279d1b9b91ab766793f33d4dce6c228558713" ], - "markers": "python_version >= '3.8'", - "version": "==0.21.1" + "markers": "python_version >= '3.9'", + "version": "==0.22.0" }, "prometheus-flask-exporter": { "hashes": [ @@ -945,7 +948,7 @@ "sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3", "sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427" ], - "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2'", + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", "version": "==2.9.0.post0" }, "python-dotenv": { @@ -954,7 +957,6 @@ "sha256:d7c01d9e2293916c18baf562d95698754b0dbbb5e74d457c45d4f6561fb9d55d" ], "index": "pypi", - "markers": "python_version >= '3.9'", "version": "==1.1.0" }, "pytz": { @@ -1121,7 +1123,7 @@ "sha256:fa1bf4d9838e4c8cdf309500a908fc412cdc325a63e5c74ad88a794bed16c943", "sha256:fcdd2f6b1b1500bde96b442d777a563eadca1b825db0c42ac6aef45ad9ec3c4d" ], - "markers": "python_version >= '3.7'", + "markers": "python_version < '3.12' and (platform_python_implementation != 'CPython' or python_full_version > '3.7.10') and (platform_system == 'Darwin' or platform_system == 'Windows' or platform_system == 'Linux') and (platform_machine == 'x86_64' or platform_machine == 's390x' or platform_machine == 'armv7l' or platform_machine == 'ppc64le' or platform_machine == 'ppc64' or platform_machine == 'AMD64' or platform_machine == 'aarch64' or platform_machine == 'arm64' or platform_machine == 'ARM64' or platform_machine == 'x86' or platform_machine == 'i686') and (platform_python_implementation == 'CPython' or platform_python_implementation == 'PyPy')", "version": "==1.5.1" }, "rdflib": { @@ -1130,7 +1132,6 @@ "sha256:fed46e24f26a788e2ab8e445f7077f00edcf95abb73bcef4b86cefa8b62dd174" ], "index": "pypi", - "markers": "python_full_version >= '3.8.1' and python_full_version < '4.0.0'", "version": "==7.1.4" }, "referencing": { @@ -1151,194 +1152,197 @@ }, "rpds-py": { "hashes": [ - "sha256:0047638c3aa0dbcd0ab99ed1e549bbf0e142c9ecc173b6492868432d8989a046", - "sha256:006f4342fe729a368c6df36578d7a348c7c716be1da0a1a0f86e3021f8e98724", - "sha256:041f00419e1da7a03c46042453598479f45be3d787eb837af382bfc169c0db33", - "sha256:04ecf5c1ff4d589987b4d9882872f80ba13da7d42427234fce8f22efb43133bc", - "sha256:04f2b712a2206e13800a8136b07aaedc23af3facab84918e7aa89e4be0260032", - "sha256:0aeb3329c1721c43c58cae274d7d2ca85c1690d89485d9c63a006cb79a85771a", - "sha256:0e374c0ce0ca82e5b67cd61fb964077d40ec177dd2c4eda67dba130de09085c7", - "sha256:0f00c16e089282ad68a3820fd0c831c35d3194b7cdc31d6e469511d9bffc535c", - "sha256:174e46569968ddbbeb8a806d9922f17cd2b524aa753b468f35b97ff9c19cb718", - "sha256:1b221c2457d92a1fb3c97bee9095c874144d196f47c038462ae6e4a14436f7bc", - "sha256:208b3a70a98cf3710e97cabdc308a51cd4f28aa6e7bb11de3d56cd8b74bab98d", - "sha256:20f2712bd1cc26a3cc16c5a1bfee9ed1abc33d4cdf1aabd297fe0eb724df4272", - "sha256:24795c099453e3721fda5d8ddd45f5dfcc8e5a547ce7b8e9da06fecc3832e26f", - "sha256:2a0f156e9509cee987283abd2296ec816225145a13ed0391df8f71bf1d789e2d", - "sha256:2b2356688e5d958c4d5cb964af865bea84db29971d3e563fb78e46e20fe1848b", - "sha256:2c13777ecdbbba2077670285dd1fe50828c8742f6a4119dbef6f83ea13ad10fb", - "sha256:2d3ee4615df36ab8eb16c2507b11e764dcc11fd350bbf4da16d09cda11fcedef", - "sha256:2d53747da70a4e4b17f559569d5f9506420966083a31c5fbd84e764461c4444b", - "sha256:32bab0a56eac685828e00cc2f5d1200c548f8bc11f2e44abf311d6b548ce2e45", - "sha256:34d90ad8c045df9a4259c47d2e16a3f21fdb396665c94520dbfe8766e62187a4", - "sha256:369d9c6d4c714e36d4a03957b4783217a3ccd1e222cdd67d464a3a479fc17796", - "sha256:3a55fc10fdcbf1a4bd3c018eea422c52cf08700cf99c28b5cb10fe97ab77a0d3", - "sha256:3d2d8e4508e15fc05b31285c4b00ddf2e0eb94259c2dc896771966a163122a0c", - "sha256:3fab5f4a2c64a8fb64fc13b3d139848817a64d467dd6ed60dcdd6b479e7febc9", - "sha256:43dba99f00f1d37b2a0265a259592d05fcc8e7c19d140fe51c6e6f16faabeb1f", - "sha256:44d51febb7a114293ffd56c6cf4736cb31cd68c0fddd6aa303ed09ea5a48e029", - "sha256:493fe54318bed7d124ce272fc36adbf59d46729659b2c792e87c3b95649cdee9", - "sha256:4b28e5122829181de1898c2c97f81c0b3246d49f585f22743a1246420bb8d399", - "sha256:4cd031e63bc5f05bdcda120646a0d32f6d729486d0067f09d79c8db5368f4586", - "sha256:528927e63a70b4d5f3f5ccc1fa988a35456eb5d15f804d276709c33fc2f19bda", - "sha256:564c96b6076a98215af52f55efa90d8419cc2ef45d99e314fddefe816bc24f91", - "sha256:5db385bacd0c43f24be92b60c857cf760b7f10d8234f4bd4be67b5b20a7c0b6b", - "sha256:5ef877fa3bbfb40b388a5ae1cb00636a624690dcb9a29a65267054c9ea86d88a", - "sha256:5f6e3cec44ba05ee5cbdebe92d052f69b63ae792e7d05f1020ac5e964394080c", - "sha256:5fc13b44de6419d1e7a7e592a4885b323fbc2f46e1f22151e3a8ed3b8b920405", - "sha256:60748789e028d2a46fc1c70750454f83c6bdd0d05db50f5ae83e2db500b34da5", - "sha256:60d9b630c8025b9458a9d114e3af579a2c54bd32df601c4581bd054e85258143", - "sha256:619ca56a5468f933d940e1bf431c6f4e13bef8e688698b067ae68eb4f9b30e3a", - "sha256:630d3d8ea77eabd6cbcd2ea712e1c5cecb5b558d39547ac988351195db433f6c", - "sha256:63981feca3f110ed132fd217bf7768ee8ed738a55549883628ee3da75bb9cb78", - "sha256:66420986c9afff67ef0c5d1e4cdc2d0e5262f53ad11e4f90e5e22448df485bf0", - "sha256:675269d407a257b8c00a6b58205b72eec8231656506c56fd429d924ca00bb350", - "sha256:6a4a535013aeeef13c5532f802708cecae8d66c282babb5cd916379b72110cf7", - "sha256:6a727fd083009bc83eb83d6950f0c32b3c94c8b80a9b667c87f4bd1274ca30ba", - "sha256:6e1daf5bf6c2be39654beae83ee6b9a12347cb5aced9a29eecf12a2d25fff664", - "sha256:6eea559077d29486c68218178ea946263b87f1c41ae7f996b1f30a983c476a5a", - "sha256:75a810b7664c17f24bf2ffd7f92416c00ec84b49bb68e6a0d93e542406336b56", - "sha256:772cc1b2cd963e7e17e6cc55fe0371fb9c704d63e44cacec7b9b7f523b78919e", - "sha256:78884d155fd15d9f64f5d6124b486f3d3f7fd7cd71a78e9670a0f6f6ca06fb2d", - "sha256:79e8d804c2ccd618417e96720ad5cd076a86fa3f8cb310ea386a3e6229bae7d1", - "sha256:7e80d375134ddb04231a53800503752093dbb65dad8dabacce2c84cccc78e964", - "sha256:8097b3422d020ff1c44effc40ae58e67d93e60d540a65649d2cdaf9466030791", - "sha256:8205ee14463248d3349131bb8099efe15cd3ce83b8ef3ace63c7e976998e7124", - "sha256:8212ff58ac6dfde49946bea57474a386cca3f7706fc72c25b772b9ca4af6b79e", - "sha256:823e74ab6fbaa028ec89615ff6acb409e90ff45580c45920d4dfdddb069f2120", - "sha256:84e0566f15cf4d769dade9b366b7b87c959be472c92dffb70462dd0844d7cbad", - "sha256:896c41007931217a343eff197c34513c154267636c8056fb409eafd494c3dcdc", - "sha256:8aa362811ccdc1f8dadcc916c6d47e554169ab79559319ae9fae7d7752d0d60c", - "sha256:8b3b397eefecec8e8e39fa65c630ef70a24b09141a6f9fc17b3c3a50bed6b50e", - "sha256:8ebc7e65ca4b111d928b669713865f021b7773350eeac4a31d3e70144297baba", - "sha256:9168764133fd919f8dcca2ead66de0105f4ef5659cbb4fa044f7014bed9a1797", - "sha256:921ae54f9ecba3b6325df425cf72c074cd469dea843fb5743a26ca7fb2ccb149", - "sha256:92558d37d872e808944c3c96d0423b8604879a3d1c86fdad508d7ed91ea547d5", - "sha256:951cc481c0c395c4a08639a469d53b7d4afa252529a085418b82a6b43c45c240", - "sha256:998c01b8e71cf051c28f5d6f1187abbdf5cf45fc0efce5da6c06447cba997034", - "sha256:9abc80fe8c1f87218db116016de575a7998ab1629078c90840e8d11ab423ee25", - "sha256:9be4f99bee42ac107870c61dfdb294d912bf81c3c6d45538aad7aecab468b6b7", - "sha256:9c39438c55983d48f4bb3487734d040e22dad200dab22c41e331cee145e7a50d", - "sha256:9d7e8ce990ae17dda686f7e82fd41a055c668e13ddcf058e7fb5e9da20b57793", - "sha256:9ea7f4174d2e4194289cb0c4e172d83e79a6404297ff95f2875cf9ac9bced8ba", - "sha256:a18fc371e900a21d7392517c6f60fe859e802547309e94313cd8181ad9db004d", - "sha256:a36b452abbf29f68527cf52e181fced56685731c86b52e852053e38d8b60bc8d", - "sha256:a5b66d1b201cc71bc3081bc2f1fc36b0c1f268b773e03bbc39066651b9e18391", - "sha256:a824d2c7a703ba6daaca848f9c3d5cb93af0505be505de70e7e66829affd676e", - "sha256:a88c0d17d039333a41d9bf4616bd062f0bd7aa0edeb6cafe00a2fc2a804e944f", - "sha256:aa6800adc8204ce898c8a424303969b7aa6a5e4ad2789c13f8648739830323b7", - "sha256:aad911555286884be1e427ef0dc0ba3929e6821cbeca2194b13dc415a462c7fd", - "sha256:afc6e35f344490faa8276b5f2f7cbf71f88bc2cda4328e00553bd451728c571f", - "sha256:b9a4df06c35465ef4d81799999bba810c68d29972bf1c31db61bfdb81dd9d5bb", - "sha256:bb2954155bb8f63bb19d56d80e5e5320b61d71084617ed89efedb861a684baea", - "sha256:bbc4362e06f950c62cad3d4abf1191021b2ffaf0b31ac230fbf0526453eee75e", - "sha256:c0145295ca415668420ad142ee42189f78d27af806fcf1f32a18e51d47dd2052", - "sha256:c30ff468163a48535ee7e9bf21bd14c7a81147c0e58a36c1078289a8ca7af0bd", - "sha256:c347a20d79cedc0a7bd51c4d4b7dbc613ca4e65a756b5c3e57ec84bd43505b47", - "sha256:c43583ea8517ed2e780a345dd9960896afc1327e8cf3ac8239c167530397440d", - "sha256:c61a2cb0085c8783906b2f8b1f16a7e65777823c7f4d0a6aaffe26dc0d358dd9", - "sha256:c9ca89938dff18828a328af41ffdf3902405a19f4131c88e22e776a8e228c5a8", - "sha256:cc31e13ce212e14a539d430428cd365e74f8b2d534f8bc22dd4c9c55b277b875", - "sha256:cdabcd3beb2a6dca7027007473d8ef1c3b053347c76f685f5f060a00327b8b65", - "sha256:cf86f72d705fc2ef776bb7dd9e5fbba79d7e1f3e258bf9377f8204ad0fc1c51e", - "sha256:d09dc82af2d3c17e7dd17120b202a79b578d79f2b5424bda209d9966efeed114", - "sha256:d3aa13bdf38630da298f2e0d77aca967b200b8cc1473ea05248f6c5e9c9bdb44", - "sha256:d69d003296df4840bd445a5d15fa5b6ff6ac40496f956a221c4d1f6f7b4bc4d9", - "sha256:d6e109a454412ab82979c5b1b3aee0604eca4bbf9a02693bb9df027af2bfa91a", - "sha256:d8551e733626afec514b5d15befabea0dd70a343a9f23322860c4f16a9430205", - "sha256:d8754d872a5dfc3c5bf9c0e059e8107451364a30d9fd50f1f1a85c4fb9481164", - "sha256:d8f9a6e7fd5434817526815f09ea27f2746c4a51ee11bb3439065f5fc754db58", - "sha256:dbcbb6db5582ea33ce46a5d20a5793134b5365110d84df4e30b9d37c6fd40ad3", - "sha256:e0f3ef95795efcd3b2ec3fe0a5bcfb5dadf5e3996ea2117427e524d4fbf309c6", - "sha256:e13ae74a8a3a0c2f22f450f773e35f893484fcfacb00bb4344a7e0f4f48e1f97", - "sha256:e274f62cbd274359eff63e5c7e7274c913e8e09620f6a57aae66744b3df046d6", - "sha256:e838bf2bb0b91ee67bf2b889a1a841e5ecac06dd7a2b1ef4e6151e2ce155c7ae", - "sha256:e8acd55bd5b071156bae57b555f5d33697998752673b9de554dd82f5b5352727", - "sha256:e8e5ab32cf9eb3647450bc74eb201b27c185d3857276162c101c0f8c6374e098", - "sha256:ebcb786b9ff30b994d5969213a8430cbb984cdd7ea9fd6df06663194bd3c450c", - "sha256:ebea2821cdb5f9fef44933617be76185b80150632736f3d76e54829ab4a3b4d1", - "sha256:ed0ef550042a8dbcd657dfb284a8ee00f0ba269d3f2286b0493b15a5694f9fe8", - "sha256:eda5c1e2a715a4cbbca2d6d304988460942551e4e5e3b7457b50943cd741626d", - "sha256:f5c0ed12926dec1dfe7d645333ea59cf93f4d07750986a586f511c0bc61fe103", - "sha256:f6016bd950be4dcd047b7475fdf55fb1e1f59fc7403f387be0e8123e4a576d30", - "sha256:f9e0057a509e096e47c87f753136c9b10d7a91842d8042c2ee6866899a717c0d", - "sha256:fc1c892b1ec1f8cbd5da8de287577b455e388d9c328ad592eabbdcb6fc93bee5", - "sha256:fc2c1e1b00f88317d9de6b2c2b39b012ebbfe35fe5e7bef980fd2a91f6100a07", - "sha256:fd822f019ccccd75c832deb7aa040bb02d70a92eb15a2f16c7987b7ad4ee8d83" + "sha256:0317177b1e8691ab5879f4f33f4b6dc55ad3b344399e23df2e499de7b10a548d", + "sha256:036ded36bedb727beeabc16dc1dad7cb154b3fa444e936a03b67a86dc6a5066e", + "sha256:048893e902132fd6548a2e661fb38bf4896a89eea95ac5816cf443524a85556f", + "sha256:0701942049095741a8aeb298a31b203e735d1c61f4423511d2b1a41dcd8a16da", + "sha256:083a9513a33e0b92cf6e7a6366036c6bb43ea595332c1ab5c8ae329e4bcc0a9c", + "sha256:09eab132f41bf792c7a0ea1578e55df3f3e7f61888e340779b06050a9a3f16e9", + "sha256:0e6a327af8ebf6baba1c10fadd04964c1965d375d318f4435d5f3f9651550f4a", + "sha256:0eb90e94f43e5085623932b68840b6f379f26db7b5c2e6bcef3179bd83c9330f", + "sha256:114a07e85f32b125404f28f2ed0ba431685151c037a26032b213c882f26eb908", + "sha256:115874ae5e2fdcfc16b2aedc95b5eef4aebe91b28e7e21951eda8a5dc0d3461b", + "sha256:140f61d9bed7839446bdd44852e30195c8e520f81329b4201ceead4d64eb3a9f", + "sha256:1521031351865e0181bc585147624d66b3b00a84109b57fcb7a779c3ec3772cd", + "sha256:1c0c434a53714358532d13539272db75a5ed9df75a4a090a753ac7173ec14e11", + "sha256:1d1fadd539298e70cac2f2cb36f5b8a65f742b9b9f1014dd4ea1f7785e2470bf", + "sha256:1de336a4b164c9188cb23f3703adb74a7623ab32d20090d0e9bf499a2203ad65", + "sha256:1ee3e26eb83d39b886d2cb6e06ea701bba82ef30a0de044d34626ede51ec98b0", + "sha256:245550f5a1ac98504147cba96ffec8fabc22b610742e9150138e5d60774686d7", + "sha256:2a40046a529cc15cef88ac5ab589f83f739e2d332cb4d7399072242400ed68c9", + "sha256:2c2cd1a4b0c2b8c5e31ffff50d09f39906fe351389ba143c195566056c13a7ea", + "sha256:2cb9e5b5e26fc02c8a4345048cd9998c2aca7c2712bd1b36da0c72ee969a3523", + "sha256:33358883a4490287e67a2c391dfaea4d9359860281db3292b6886bf0be3d8692", + "sha256:35634369325906bcd01577da4c19e3b9541a15e99f31e91a02d010816b49bfda", + "sha256:35a8d1a24b5936b35c5003313bc177403d8bdef0f8b24f28b1c4a255f94ea992", + "sha256:3af5b4cc10fa41e5bc64e5c198a1b2d2864337f8fcbb9a67e747e34002ce812b", + "sha256:3bcce0edc1488906c2d4c75c94c70a0417e83920dd4c88fec1078c94843a6ce9", + "sha256:3c5b317ecbd8226887994852e85de562f7177add602514d4ac40f87de3ae45a8", + "sha256:3c6564c0947a7f52e4792983f8e6cf9bac140438ebf81f527a21d944f2fd0a40", + "sha256:3ebd879ab996537fc510a2be58c59915b5dd63bccb06d1ef514fee787e05984a", + "sha256:3f0b1798cae2bbbc9b9db44ee068c556d4737911ad53a4e5093d09d04b3bbc24", + "sha256:401ca1c4a20cc0510d3435d89c069fe0a9ae2ee6495135ac46bdd49ec0495763", + "sha256:454601988aab2c6e8fd49e7634c65476b2b919647626208e376afcd22019eeb8", + "sha256:4593c4eae9b27d22df41cde518b4b9e4464d139e4322e2127daa9b5b981b76be", + "sha256:45e484db65e5380804afbec784522de84fa95e6bb92ef1bd3325d33d13efaebd", + "sha256:48d64155d02127c249695abb87d39f0faf410733428d499867606be138161d65", + "sha256:4fbb0dbba559959fcb5d0735a0f87cdbca9e95dac87982e9b95c0f8f7ad10255", + "sha256:4fd52d3455a0aa997734f3835cbc4c9f32571345143960e7d7ebfe7b5fbfa3b2", + "sha256:50f2c501a89c9a5f4e454b126193c5495b9fb441a75b298c60591d8a2eb92e1b", + "sha256:58f77c60956501a4a627749a6dcb78dac522f249dd96b5c9f1c6af29bfacfb66", + "sha256:5a3ddb74b0985c4387719fc536faced33cadf2172769540c62e2a94b7b9be1c4", + "sha256:5c4a128527fe415d73cf1f70a9a688d06130d5810be69f3b553bf7b45e8acf79", + "sha256:5d473be2b13600b93a5675d78f59e63b51b1ba2d0476893415dfbb5477e65b31", + "sha256:5d9e40f32745db28c1ef7aad23f6fc458dc1e29945bd6781060f0d15628b8ddf", + "sha256:5f048bbf18b1f9120685c6d6bb70cc1a52c8cc11bdd04e643d28d3be0baf666d", + "sha256:605ffe7769e24b1800b4d024d24034405d9404f0bc2f55b6db3362cd34145a6f", + "sha256:6099263f526efff9cf3883dfef505518730f7a7a93049b1d90d42e50a22b4793", + "sha256:659d87430a8c8c704d52d094f5ba6fa72ef13b4d385b7e542a08fc240cb4a559", + "sha256:666fa7b1bd0a3810a7f18f6d3a25ccd8866291fbbc3c9b912b917a6715874bb9", + "sha256:68f6f060f0bbdfb0245267da014d3a6da9be127fe3e8cc4a68c6f833f8a23bb1", + "sha256:6d273f136e912aa101a9274c3145dcbddbe4bac560e77e6d5b3c9f6e0ed06d34", + "sha256:6d50841c425d16faf3206ddbba44c21aa3310a0cebc3c1cdfc3e3f4f9f6f5728", + "sha256:771c16060ff4e79584dc48902a91ba79fd93eade3aa3a12d6d2a4aadaf7d542b", + "sha256:785ffacd0ee61c3e60bdfde93baa6d7c10d86f15655bd706c89da08068dc5038", + "sha256:796ad874c89127c91970652a4ee8b00d56368b7e00d3477f4415fe78164c8000", + "sha256:79dc317a5f1c51fd9c6a0c4f48209c6b8526d0524a6904fc1076476e79b00f98", + "sha256:7c9409b47ba0650544b0bb3c188243b83654dfe55dcc173a86832314e1a6a35d", + "sha256:7d779b325cc8238227c47fbc53964c8cc9a941d5dbae87aa007a1f08f2f77b23", + "sha256:816568614ecb22b18a010c7a12559c19f6fe993526af88e95a76d5a60b8b75fb", + "sha256:8378fa4a940f3fb509c081e06cb7f7f2adae8cf46ef258b0e0ed7519facd573e", + "sha256:85608eb70a659bf4c1142b2781083d4b7c0c4e2c90eff11856a9754e965b2540", + "sha256:85fc223d9c76cabe5d0bff82214459189720dc135db45f9f66aa7cffbf9ff6c1", + "sha256:88ec04afe0c59fa64e2f6ea0dd9657e04fc83e38de90f6de201954b4d4eb59bd", + "sha256:8960b6dac09b62dac26e75d7e2c4a22efb835d827a7278c34f72b2b84fa160e3", + "sha256:89706d0683c73a26f76a5315d893c051324d771196ae8b13e6ffa1ffaf5e574f", + "sha256:89c24300cd4a8e4a51e55c31a8ff3918e6651b241ee8876a42cc2b2a078533ba", + "sha256:8c742af695f7525e559c16f1562cf2323db0e3f0fbdcabdf6865b095256b2d40", + "sha256:8dbd586bfa270c1103ece2109314dd423df1fa3d9719928b5d09e4840cec0d72", + "sha256:8eb8c84ecea987a2523e057c0d950bcb3f789696c0499290b8d7b3107a719d78", + "sha256:921954d7fbf3fccc7de8f717799304b14b6d9a45bbeec5a8d7408ccbf531faf5", + "sha256:9a46c2fb2545e21181445515960006e85d22025bd2fe6db23e76daec6eb689fe", + "sha256:9c006f3aadeda131b438c3092124bd196b66312f0caa5823ef09585a669cf449", + "sha256:9ceca1cf097ed77e1a51f1dbc8d174d10cb5931c188a4505ff9f3e119dfe519b", + "sha256:9e5fc7484fa7dce57e25063b0ec9638ff02a908304f861d81ea49273e43838c1", + "sha256:9f2f48ab00181600ee266a095fe815134eb456163f7d6699f525dee471f312cf", + "sha256:9fca84a15333e925dd59ce01da0ffe2ffe0d6e5d29a9eeba2148916d1824948c", + "sha256:a49e1d7a4978ed554f095430b89ecc23f42014a50ac385eb0c4d163ce213c325", + "sha256:a58d1ed49a94d4183483a3ce0af22f20318d4a1434acee255d683ad90bf78129", + "sha256:a61d0b2c7c9a0ae45732a77844917b427ff16ad5464b4d4f5e4adb955f582890", + "sha256:a714bf6e5e81b0e570d01f56e0c89c6375101b8463999ead3a93a5d2a4af91fa", + "sha256:a7b74e92a3b212390bdce1d93da9f6488c3878c1d434c5e751cbc202c5e09500", + "sha256:a8bd2f19e312ce3e1d2c635618e8a8d8132892bb746a7cf74780a489f0f6cdcb", + "sha256:b0be9965f93c222fb9b4cc254235b3b2b215796c03ef5ee64f995b1b69af0762", + "sha256:b24bf3cd93d5b6ecfbedec73b15f143596c88ee249fa98cefa9a9dc9d92c6f28", + "sha256:b5ffe453cde61f73fea9430223c81d29e2fbf412a6073951102146c84e19e34c", + "sha256:bc120d1132cff853ff617754196d0ac0ae63befe7c8498bd67731ba368abe451", + "sha256:bd035756830c712b64725a76327ce80e82ed12ebab361d3a1cdc0f51ea21acb0", + "sha256:bffcf57826d77a4151962bf1701374e0fc87f536e56ec46f1abdd6a903354042", + "sha256:c2013ee878c76269c7b557a9a9c042335d732e89d482606990b70a839635feb7", + "sha256:c4feb9211d15d9160bc85fa72fed46432cdc143eb9cf6d5ca377335a921ac37b", + "sha256:c8980cde3bb8575e7c956a530f2c217c1d6aac453474bf3ea0f9c89868b531b6", + "sha256:c98f126c4fc697b84c423e387337d5b07e4a61e9feac494362a59fd7a2d9ed80", + "sha256:ccc6f3ddef93243538be76f8e47045b4aad7a66a212cd3a0f23e34469473d36b", + "sha256:ccfa689b9246c48947d31dd9d8b16d89a0ecc8e0e26ea5253068efb6c542b76e", + "sha256:cda776f1967cb304816173b30994faaf2fd5bcb37e73118a47964a02c348e1bc", + "sha256:ce4c8e485a3c59593f1a6f683cf0ea5ab1c1dc94d11eea5619e4fb5228b40fbd", + "sha256:d3c10228d6cf6fe2b63d2e7985e94f6916fa46940df46b70449e9ff9297bd3d1", + "sha256:d4ca54b9cf9d80b4016a67a0193ebe0bcf29f6b0a96f09db942087e294d3d4c2", + "sha256:d4cb2b3ddc16710548801c6fcc0cfcdeeff9dafbc983f77265877793f2660309", + "sha256:d50e4864498a9ab639d6d8854b25e80642bd362ff104312d9770b05d66e5fb13", + "sha256:d74ec9bc0e2feb81d3f16946b005748119c0f52a153f6db6a29e8cd68636f295", + "sha256:d8222acdb51a22929c3b2ddb236b69c59c72af4019d2cba961e2f9add9b6e634", + "sha256:db58483f71c5db67d643857404da360dce3573031586034b7d59f245144cc192", + "sha256:dc3c1ff0abc91444cd20ec643d0f805df9a3661fcacf9c95000329f3ddf268a4", + "sha256:dd326a81afe332ede08eb39ab75b301d5676802cdffd3a8f287a5f0b694dc3f5", + "sha256:dec21e02e6cc932538b5203d3a8bd6aa1480c98c4914cb88eea064ecdbc6396a", + "sha256:e1dafef8df605fdb46edcc0bf1573dea0d6d7b01ba87f85cd04dc855b2b4479e", + "sha256:e2f6a2347d3440ae789505693a02836383426249d5293541cd712e07e7aecf54", + "sha256:e37caa8cdb3b7cf24786451a0bdb853f6347b8b92005eeb64225ae1db54d1c2b", + "sha256:e43a005671a9ed5a650f3bc39e4dbccd6d4326b24fb5ea8be5f3a43a6f576c72", + "sha256:e5e2f7280d8d0d3ef06f3ec1b4fd598d386cc6f0721e54f09109a8132182fbfe", + "sha256:e87798852ae0b37c88babb7f7bbbb3e3fecc562a1c340195b44c7e24d403e380", + "sha256:ee86d81551ec68a5c25373c5643d343150cc54672b5e9a0cafc93c1870a53954", + "sha256:f251bf23deb8332823aef1da169d5d89fa84c89f67bdfb566c49dea1fccfd50d", + "sha256:f3d86373ff19ca0441ebeb696ef64cb58b8b5cbacffcda5a0ec2f3911732a194", + "sha256:f4ad628b5174d5315761b67f212774a32f5bad5e61396d38108bd801c0a8f5d9", + "sha256:f70316f760174ca04492b5ab01be631a8ae30cadab1d1081035136ba12738cfa", + "sha256:f73ce1512e04fbe2bc97836e89830d6b4314c171587a99688082d090f934d20a", + "sha256:ff7c23ba0a88cb7b104281a99476cccadf29de2a0ef5ce864959a52675b1ca83" ], "markers": "python_version >= '3.9'", - "version": "==0.24.0" + "version": "==0.25.1" }, "six": { "hashes": [ "sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274", "sha256:ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81" ], - "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2'", + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", "version": "==1.17.0" }, "sqlalchemy": { "hashes": [ - "sha256:00a494ea6f42a44c326477b5bee4e0fc75f6a80c01570a32b57e89cf0fbef85a", - "sha256:0bb933a650323e476a2e4fbef8997a10d0003d4da996aad3fd7873e962fdde4d", - "sha256:110179728e442dae85dd39591beb74072ae4ad55a44eda2acc6ec98ead80d5f2", - "sha256:15d08d5ef1b779af6a0909b97be6c1fd4298057504eb6461be88bd1696cb438e", - "sha256:16d325ea898f74b26ffcd1cf8c593b0beed8714f0317df2bed0d8d1de05a8f26", - "sha256:1abb387710283fc5983d8a1209d9696a4eae9db8d7ac94b402981fe2fe2e39ad", - "sha256:1ffdf9c91428e59744f8e6f98190516f8e1d05eec90e936eb08b257332c5e870", - "sha256:2be94d75ee06548d2fc591a3513422b873490efb124048f50556369a834853b0", - "sha256:2cbafc8d39ff1abdfdda96435f38fab141892dc759a2165947d1a8fffa7ef596", - "sha256:2ee5f9999a5b0e9689bed96e60ee53c3384f1a05c2dd8068cc2e8361b0df5b7a", - "sha256:32587e2e1e359276957e6fe5dad089758bc042a971a8a09ae8ecf7a8fe23d07a", - "sha256:35904d63412db21088739510216e9349e335f142ce4a04b69e2528020ee19ed4", - "sha256:37a5c21ab099a83d669ebb251fddf8f5cee4d75ea40a5a1653d9c43d60e20867", - "sha256:37f7a0f506cf78c80450ed1e816978643d3969f99c4ac6b01104a6fe95c5490a", - "sha256:46628ebcec4f23a1584fb52f2abe12ddb00f3bb3b7b337618b80fc1b51177aff", - "sha256:4a4c5a2905a9ccdc67a8963e24abd2f7afcd4348829412483695c59e0af9a705", - "sha256:4aeb939bcac234b88e2d25d5381655e8353fe06b4e50b1c55ecffe56951d18c2", - "sha256:50f5885bbed261fc97e2e66c5156244f9704083a674b8d17f24c72217d29baf5", - "sha256:519624685a51525ddaa7d8ba8265a1540442a2ec71476f0e75241eb8263d6f51", - "sha256:5434223b795be5c5ef8244e5ac98056e290d3a99bdcc539b916e282b160dda00", - "sha256:55028d7a3ebdf7ace492fab9895cbc5270153f75442a0472d8516e03159ab364", - "sha256:5654d1ac34e922b6c5711631f2da497d3a7bffd6f9f87ac23b35feea56098011", - "sha256:574aea2c54d8f1dd1699449f332c7d9b71c339e04ae50163a3eb5ce4c4325ee4", - "sha256:5cfa124eda500ba4b0d3afc3e91ea27ed4754e727c7f025f293a22f512bcd4c9", - "sha256:5ea9181284754d37db15156eb7be09c86e16e50fbe77610e9e7bee09291771a1", - "sha256:641ee2e0834812d657862f3a7de95e0048bdcb6c55496f39c6fa3d435f6ac6ad", - "sha256:650490653b110905c10adac69408380688cefc1f536a137d0d69aca1069dc1d1", - "sha256:6959738971b4745eea16f818a2cd086fb35081383b078272c35ece2b07012716", - "sha256:6cfedff6878b0e0d1d0a50666a817ecd85051d12d56b43d9d425455e608b5ba0", - "sha256:7e0505719939e52a7b0c65d20e84a6044eb3712bb6f239c6b1db77ba8e173a37", - "sha256:8b6b28d303b9d57c17a5164eb1fd2d5119bb6ff4413d5894e74873280483eeb5", - "sha256:8bb131ffd2165fae48162c7bbd0d97c84ab961deea9b8bab16366543deeab625", - "sha256:915866fd50dd868fdcc18d61d8258db1bf9ed7fbd6dfec960ba43365952f3b01", - "sha256:9408fd453d5f8990405cc9def9af46bfbe3183e6110401b407c2d073c3388f47", - "sha256:957f8d85d5e834397ef78a6109550aeb0d27a53b5032f7a57f2451e1adc37e98", - "sha256:9c7a80ed86d6aaacb8160a1caef6680d4ddd03c944d985aecee940d168c411d1", - "sha256:9d3b31d0a1c44b74d3ae27a3de422dfccd2b8f0b75e51ecb2faa2bf65ab1ba0d", - "sha256:a669cbe5be3c63f75bcbee0b266779706f1a54bcb1000f302685b87d1b8c1500", - "sha256:a8aae085ea549a1eddbc9298b113cffb75e514eadbb542133dd2b99b5fb3b6af", - "sha256:ae9597cab738e7cc823f04a704fb754a9249f0b6695a6aeb63b74055cd417a96", - "sha256:afe63b208153f3a7a2d1a5b9df452b0673082588933e54e7c8aac457cf35e758", - "sha256:b5a5bbe29c10c5bfd63893747a1bf6f8049df607638c786252cb9243b86b6706", - "sha256:baf7cee56bd552385c1ee39af360772fbfc2f43be005c78d1140204ad6148438", - "sha256:bb19e30fdae77d357ce92192a3504579abe48a66877f476880238a962e5b96db", - "sha256:bece9527f5a98466d67fb5d34dc560c4da964240d8b09024bb21c1246545e04e", - "sha256:c0cae71e20e3c02c52f6b9e9722bca70e4a90a466d59477822739dc31ac18b4b", - "sha256:c268b5100cfeaa222c40f55e169d484efa1384b44bf9ca415eae6d556f02cb08", - "sha256:c7b927155112ac858357ccf9d255dd8c044fd9ad2dc6ce4c4149527c901fa4c3", - "sha256:c884de19528e0fcd9dc34ee94c810581dd6e74aef75437ff17e696c2bfefae3e", - "sha256:cd2f75598ae70bcfca9117d9e51a3b06fe29edd972fdd7fd57cc97b4dbf3b08a", - "sha256:cf0e99cdb600eabcd1d65cdba0d3c91418fee21c4aa1d28db47d095b1064a7d8", - "sha256:d827099289c64589418ebbcaead0145cd19f4e3e8a93919a0100247af245fa00", - "sha256:e8040680eaacdce4d635f12c55c714f3d4c7f57da2bc47a01229d115bd319191", - "sha256:f0fda83e113bb0fb27dc003685f32a5dcb99c9c4f41f4fa0838ac35265c23b5c", - "sha256:f1ea21bef99c703f44444ad29c2c1b6bd55d202750b6de8e06a955380f4725d7", - "sha256:f6bacab7514de6146a1976bc56e1545bee247242fab030b89e5f70336fc0003e", - "sha256:fe147fcd85aaed53ce90645c91ed5fca0cc88a797314c70dfd9d35925bd5d106" + "sha256:023b3ee6169969beea3bb72312e44d8b7c27c75b347942d943cf49397b7edeb5", + "sha256:03968a349db483936c249f4d9cd14ff2c296adfa1290b660ba6516f973139582", + "sha256:05132c906066142103b83d9c250b60508af556982a385d96c4eaa9fb9720ac2b", + "sha256:087b6b52de812741c27231b5a3586384d60c353fbd0e2f81405a814b5591dc8b", + "sha256:0b3dbf1e7e9bc95f4bac5e2fb6d3fb2f083254c3fdd20a1789af965caf2d2348", + "sha256:118c16cd3f1b00c76d69343e38602006c9cfb9998fa4f798606d28d63f23beda", + "sha256:1936af879e3db023601196a1684d28e12f19ccf93af01bf3280a3262c4b6b4e5", + "sha256:1e3f196a0c59b0cae9a0cd332eb1a4bda4696e863f4f1cf84ab0347992c548c2", + "sha256:23a8825495d8b195c4aa9ff1c430c28f2c821e8c5e2d98089228af887e5d7e29", + "sha256:293cd444d82b18da48c9f71cd7005844dbbd06ca19be1ccf6779154439eec0b8", + "sha256:32f9dc8c44acdee06c8fc6440db9eae8b4af8b01e4b1aee7bdd7241c22edff4f", + "sha256:34ea30ab3ec98355235972dadc497bb659cc75f8292b760394824fab9cf39826", + "sha256:3d3549fc3e40667ec7199033a4e40a2f669898a00a7b18a931d3efb4c7900504", + "sha256:41836fe661cc98abfae476e14ba1906220f92c4e528771a8a3ae6a151242d2ae", + "sha256:4d44522480e0bf34c3d63167b8cfa7289c1c54264c2950cc5fc26e7850967e45", + "sha256:4eeb195cdedaf17aab6b247894ff2734dcead6c08f748e617bfe05bd5a218443", + "sha256:4f67766965996e63bb46cfbf2ce5355fc32d9dd3b8ad7e536a920ff9ee422e23", + "sha256:57df5dc6fdb5ed1a88a1ed2195fd31927e705cad62dedd86b46972752a80f576", + "sha256:598d9ebc1e796431bbd068e41e4de4dc34312b7aa3292571bb3674a0cb415dd1", + "sha256:5b14e97886199c1f52c14629c11d90c11fbb09e9334fa7bb5f6d068d9ced0ce0", + "sha256:5e22575d169529ac3e0a120cf050ec9daa94b6a9597993d1702884f6954a7d71", + "sha256:60c578c45c949f909a4026b7807044e7e564adf793537fc762b2489d522f3d11", + "sha256:6145afea51ff0af7f2564a05fa95eb46f542919e6523729663a5d285ecb3cf5e", + "sha256:6375cd674fe82d7aa9816d1cb96ec592bac1726c11e0cafbf40eeee9a4516b5f", + "sha256:6854175807af57bdb6425e47adbce7d20a4d79bbfd6f6d6519cd10bb7109a7f8", + "sha256:6ab60a5089a8f02009f127806f777fca82581c49e127f08413a66056bd9166dd", + "sha256:725875a63abf7c399d4548e686debb65cdc2549e1825437096a0af1f7e374814", + "sha256:7492967c3386df69f80cf67efd665c0f667cee67032090fe01d7d74b0e19bb08", + "sha256:81965cc20848ab06583506ef54e37cf15c83c7e619df2ad16807c03100745dea", + "sha256:81c24e0c0fde47a9723c81d5806569cddef103aebbf79dbc9fcbb617153dea30", + "sha256:81eedafa609917040d39aa9332e25881a8e7a0862495fcdf2023a9667209deda", + "sha256:81f413674d85cfd0dfcd6512e10e0f33c19c21860342a4890c3a2b59479929f9", + "sha256:8280856dd7c6a68ab3a164b4a4b1c51f7691f6d04af4d4ca23d6ecf2261b7923", + "sha256:82ca366a844eb551daff9d2e6e7a9e5e76d2612c8564f58db6c19a726869c1df", + "sha256:8b4af17bda11e907c51d10686eda89049f9ce5669b08fbe71a29747f1e876036", + "sha256:90144d3b0c8b139408da50196c5cad2a6909b51b23df1f0538411cd23ffa45d3", + "sha256:906e6b0d7d452e9a98e5ab8507c0da791856b2380fdee61b765632bb8698026f", + "sha256:90c11ceb9a1f482c752a71f203a81858625d8df5746d787a4786bca4ffdf71c6", + "sha256:911cc493ebd60de5f285bcae0491a60b4f2a9f0f5c270edd1c4dbaef7a38fc04", + "sha256:9a420a91913092d1e20c86a2f5f1fc85c1a8924dbcaf5e0586df8aceb09c9cc2", + "sha256:9f8c9fdd15a55d9465e590a402f42082705d66b05afc3ffd2d2eb3c6ba919560", + "sha256:a104c5694dfd2d864a6f91b0956eb5d5883234119cb40010115fd45a16da5e70", + "sha256:a373a400f3e9bac95ba2a06372c4fd1412a7cee53c37fc6c05f829bf672b8769", + "sha256:a62448526dd9ed3e3beedc93df9bb6b55a436ed1474db31a2af13b313a70a7e1", + "sha256:a8808d5cf866c781150d36a3c8eb3adccfa41a8105d031bf27e92c251e3969d6", + "sha256:b1f09b6821406ea1f94053f346f28f8215e293344209129a9c0fcc3578598d7b", + "sha256:b2ac41acfc8d965fb0c464eb8f44995770239668956dc4cdf502d1b1ffe0d747", + "sha256:b46fa6eae1cd1c20e6e6f44e19984d438b6b2d8616d21d783d150df714f44078", + "sha256:b50eab9994d64f4a823ff99a0ed28a6903224ddbe7fef56a6dd865eec9243440", + "sha256:bfc9064f6658a3d1cadeaa0ba07570b83ce6801a1314985bf98ec9b95d74e15f", + "sha256:c0b0e5e1b5d9f3586601048dd68f392dc0cc99a59bb5faf18aab057ce00d00b2", + "sha256:c153265408d18de4cc5ded1941dcd8315894572cddd3c58df5d5b5705b3fa28d", + "sha256:d4ae769b9c1c7757e4ccce94b0641bc203bbdf43ba7a2413ab2523d8d047d8dc", + "sha256:dc56c9788617b8964ad02e8fcfeed4001c1f8ba91a9e1f31483c0dffb207002a", + "sha256:dd5ec3aa6ae6e4d5b5de9357d2133c07be1aff6405b136dad753a16afb6717dd", + "sha256:edba70118c4be3c2b1f90754d308d0b79c6fe2c0fdc52d8ddf603916f83f4db9", + "sha256:ff8e80c4c4932c10493ff97028decfdb622de69cae87e0f127a7ebe32b4069c6" ], "markers": "python_version >= '3.7'", - "version": "==2.0.40" + "version": "==2.0.41" }, "sqlalchemy-utils": { "hashes": [ @@ -1346,7 +1350,6 @@ "sha256:bc599c8c3b3319e53ce6c5c3c471120bd325d0071fb6f38a10e924e3d07b9990" ], "index": "pypi", - "markers": "python_version >= '3.7'", "version": "==0.41.2" }, "typing-extensions": { @@ -1359,11 +1362,11 @@ }, "typing-inspection": { "hashes": [ - "sha256:50e72559fcd2a6367a19f7a7e610e6afcb9fac940c650290eed893d61386832f", - "sha256:9765c87de36671694a67904bf2c96e395be9c6439bb6c87b5142569dcdd65122" + "sha256:389055682238f53b04f7badcb49b989835495a96700ced5dab2d8feae4b26f51", + "sha256:6ae134cc0203c33377d43188d4064e9b357dba58cff3185f22924610e70a9d28" ], "markers": "python_version >= '3.9'", - "version": "==0.4.0" + "version": "==0.4.1" }, "tzdata": { "hashes": [ @@ -1378,16 +1381,16 @@ "sha256:414bc6535b787febd7567804cc015fee39daab8ad86268f1310a9250697de466", "sha256:4e16665048960a0900c702d4a66415956a584919c03361cac9f1df5c5dd7e813" ], - "markers": "python_version >= '3.9'", + "markers": "python_version >= '3.10'", "version": "==2.4.0" }, "urllib3-future": { "hashes": [ - "sha256:642b235a89cbddb7a3c6703a11fd0255473231be791214fd01abd465371ea8fb", - "sha256:a4f2a94da920f62f4c957931d3a1cc364efdd0fbb984624db7ad7347aa27afad" + "sha256:4cb9424398993016383b600ba20881217f10a99c45acac60019ffb0dd007bc8a", + "sha256:5127b8cec47bd165084de1991801c8746bda8889ec919e108fcd777f6fdadaa8" ], "markers": "python_version >= '3.7'", - "version": "==2.12.920" + "version": "==2.12.922" }, "verlib2": { "hashes": [ @@ -1581,7 +1584,7 @@ "sha256:f7f5baafcc48261359e14bcd6d9bff6d4b28d9103847c9e136694cb0501aef87", "sha256:fc48c783f9c87e60831201f2cce7f3b2e4846bf4d8728eabe54d60700b318a0b" ], - "markers": "python_version >= '3.8'", + "markers": "platform_python_implementation != 'PyPy'", "version": "==1.17.1" }, "charset-normalizer": { @@ -1684,116 +1687,115 @@ }, "coverage": { "hashes": [ - "sha256:042e7841a26498fff7a37d6fda770d17519982f5b7d8bf5278d140b67b61095f", - "sha256:04bfec25a8ef1c5f41f5e7e5c842f6b615599ca8ba8391ec33a9290d9d2db3a3", - "sha256:0915742f4c82208ebf47a2b154a5334155ed9ef9fe6190674b8a46c2fb89cb05", - "sha256:18c5ae6d061ad5b3e7eef4363fb27a0576012a7447af48be6c75b88494c6cf25", - "sha256:2931f66991175369859b5fd58529cd4b73582461877ecfd859b6549869287ffe", - "sha256:2e4b6b87bb0c846a9315e3ab4be2d52fac905100565f4b92f02c445c8799e257", - "sha256:3043ba1c88b2139126fc72cb48574b90e2e0546d4c78b5299317f61b7f718b78", - "sha256:379fe315e206b14e21db5240f89dc0774bdd3e25c3c58c2c733c99eca96f1ada", - "sha256:42421e04069fb2cbcbca5a696c4050b84a43b05392679d4068acbe65449b5c64", - "sha256:4dfd9a93db9e78666d178d4f08a5408aa3f2474ad4d0e0378ed5f2ef71640cb6", - "sha256:52a523153c568d2c0ef8826f6cc23031dc86cffb8c6aeab92c4ff776e7951b28", - "sha256:554fec1199d93ab30adaa751db68acec2b41c5602ac944bb19187cb9a41a8067", - "sha256:581a40c7b94921fffd6457ffe532259813fc68eb2bdda60fa8cc343414ce3733", - "sha256:5a26c0c795c3e0b63ec7da6efded5f0bc856d7c0b24b2ac84b4d1d7bc578d676", - "sha256:5a570cd9bd20b85d1a0d7b009aaf6c110b52b5755c17be6962f8ccd65d1dbd23", - "sha256:5aaeb00761f985007b38cf463b1d160a14a22c34eb3f6a39d9ad6fc27cb73008", - "sha256:5ac46d0c2dd5820ce93943a501ac5f6548ea81594777ca585bf002aa8854cacd", - "sha256:5c8a5c139aae4c35cbd7cadca1df02ea8cf28a911534fc1b0456acb0b14234f3", - "sha256:6b8af63b9afa1031c0ef05b217faa598f3069148eeee6bb24b79da9012423b82", - "sha256:769773614e676f9d8e8a0980dd7740f09a6ea386d0f383db6821df07d0f08545", - "sha256:771eb7587a0563ca5bb6f622b9ed7f9d07bd08900f7589b4febff05f469bea00", - "sha256:77af0f6447a582fdc7de5e06fa3757a3ef87769fbb0fdbdeba78c23049140a47", - "sha256:7a3d62b3b03b4b6fd41a085f3574874cf946cb4604d2b4d3e8dca8cd570ca501", - "sha256:821f7bcbaa84318287115d54becb1915eece6918136c6f91045bb84e2f88739d", - "sha256:89b1f4af0d4afe495cd4787a68e00f30f1d15939f550e869de90a86efa7e0814", - "sha256:8a1d96e780bdb2d0cbb297325711701f7c0b6f89199a57f2049e90064c29f6bd", - "sha256:8a40fcf208e021eb14b0fac6bdb045c0e0cab53105f93ba0d03fd934c956143a", - "sha256:8f99eb72bf27cbb167b636eb1726f590c00e1ad375002230607a844d9e9a2318", - "sha256:90e7fbc6216ecaffa5a880cdc9c77b7418c1dcb166166b78dbc630d07f278cc3", - "sha256:94ec0be97723ae72d63d3aa41961a0b9a6f5a53ff599813c324548d18e3b9e8c", - "sha256:95aa6ae391a22bbbce1b77ddac846c98c5473de0372ba5c463480043a07bff42", - "sha256:96121edfa4c2dfdda409877ea8608dd01de816a4dc4a0523356067b305e4e17a", - "sha256:a1f406a8e0995d654b2ad87c62caf6befa767885301f3b8f6f73e6f3c31ec3a6", - "sha256:a321c61477ff8ee705b8a5fed370b5710c56b3a52d17b983d9215861e37b642a", - "sha256:a5761c70c017c1b0d21b0815a920ffb94a670c8d5d409d9b38857874c21f70d7", - "sha256:a9abbccd778d98e9c7e85038e35e91e67f5b520776781d9a1e2ee9d400869487", - "sha256:ad80e6b4a0c3cb6f10f29ae4c60e991f424e6b14219d46f1e7d442b938ee68a4", - "sha256:b44674870709017e4b4036e3d0d6c17f06a0e6d4436422e0ad29b882c40697d2", - "sha256:b571bf5341ba8c6bc02e0baeaf3b061ab993bf372d982ae509807e7f112554e9", - "sha256:b8194fb8e50d556d5849753de991d390c5a1edeeba50f68e3a9253fbd8bf8ccd", - "sha256:b87eb6fc9e1bb8f98892a2458781348fa37e6925f35bb6ceb9d4afd54ba36c73", - "sha256:bbb5cc845a0292e0c520656d19d7ce40e18d0e19b22cb3e0409135a575bf79fc", - "sha256:be945402e03de47ba1872cd5236395e0f4ad635526185a930735f66710e1bd3f", - "sha256:bf13d564d310c156d1c8e53877baf2993fb3073b2fc9f69790ca6a732eb4bfea", - "sha256:cf60dd2696b457b710dd40bf17ad269d5f5457b96442f7f85722bdb16fa6c899", - "sha256:d1ba00ae33be84066cfbe7361d4e04dec78445b2b88bdb734d0d1cbab916025a", - "sha256:d39fc4817fd67b3915256af5dda75fd4ee10621a3d484524487e33416c6f3543", - "sha256:d766a4f0e5aa1ba056ec3496243150698dc0481902e2b8559314368717be82b1", - "sha256:dbf364b4c5e7bae9250528167dfe40219b62e2d573c854d74be213e1e52069f7", - "sha256:dd19608788b50eed889e13a5d71d832edc34fc9dfce606f66e8f9f917eef910d", - "sha256:e013b07ba1c748dacc2a80e69a46286ff145935f260eb8c72df7185bf048f502", - "sha256:e5d2b9be5b0693cf21eb4ce0ec8d211efb43966f6657807f6859aab3814f946b", - "sha256:e5ff52d790c7e1628241ffbcaeb33e07d14b007b6eb00a19320c7b8a7024c040", - "sha256:e75a2ad7b647fd8046d58c3132d7eaf31b12d8a53c0e4b21fa9c4d23d6ee6d3c", - "sha256:e7ac22a0bb2c7c49f441f7a6d46c9c80d96e56f5a8bc6972529ed43c8b694e27", - "sha256:ed2144b8a78f9d94d9515963ed273d620e07846acd5d4b0a642d4849e8d91a0c", - "sha256:f017a61399f13aa6d1039f75cd467be388d157cd81f1a119b9d9a68ba6f2830d", - "sha256:f1d8a2a57b47142b10374902777e798784abf400a004b14f1b0b9eaf1e528ba4", - "sha256:f2d32f95922927186c6dbc8bc60df0d186b6edb828d299ab10898ef3f40052fe", - "sha256:f319bae0321bc838e205bf9e5bc28f0a3165f30c203b610f17ab5552cff90323", - "sha256:f3c38e4e5ccbdc9198aecc766cedbb134b2d89bf64533973678dfcf07effd883", - "sha256:f9983d01d7705b2d1f7a95e10bbe4091fabc03a46881a256c2787637b087003f", - "sha256:fa260de59dfb143af06dcf30c2be0b200bed2a73737a8a59248fcb9fa601ef0f" + "sha256:0034ceec8e91fdaf77350901cc48f47efd00f23c220a3f9fc1187774ddf307cb", + "sha256:061a3bf679dc38fe34d3822f10a9977d548de86b440010beb1e3b44ba93d20f7", + "sha256:07fff2f2ce465fae27447432d39ce733476fbf8478de51fb4034c201e0c5da6d", + "sha256:11e5ea0acd8cc5d23030c34dfb2eb6638ad886328df18cc69f8eefab73d1ece5", + "sha256:12950b6373dc9dfe1ce22a8506ec29c82bfc5b38146ced0a222f38cf5d99a56d", + "sha256:173e16969f990688aae4b4487717c44330bc57fd8b61a6216ce8eeb827eb5c0d", + "sha256:1cc6bebc15c3b275174c66cf4e1c949a94c5c2a3edaa2f193a1225548c52c771", + "sha256:21645788c5c2afa3df2d4b607638d86207b84cb495503b71e80e16b4c6b44e80", + "sha256:2d8f844e837374a9497e11722d9eb9dfeb33b1b5d31136786c39a4c1a3073c6d", + "sha256:35dd5d405a1d378c39f3f30f628a25b0b99f1b8e5bdd78275df2e7b0404892d7", + "sha256:3763b9a4bc128f72da5dcfd7fcc7c7d6644ed28e8f2db473ce1ef0dd37a43fa9", + "sha256:3bd8e3753257e95e94f38c058627aba1581d51f674e3badf226283b2bdb8f8ca", + "sha256:41d142eefbc0bb3be160a77b2c0fbec76f345387676265052e224eb6c67b7af3", + "sha256:452f3831c64f5f50260e18a89e613594590d6ceac5206a9b7d76ba43586b01b3", + "sha256:4fc4f7cff2495d6d112353c33a439230a6de0b7cd0c2578f1e8d75326f63d783", + "sha256:62a13b372b65fa6e11685df9ca924bed23bab1d0f277f9b67be7536f253aaf17", + "sha256:6ce2606a171f9cf7c15a77ca61f979ffc0e0d92cd2fb18767cead58c1d19f58e", + "sha256:6f24a1e2c373a77afae21bc512466a91e31251685c271c5309ee3e557f6e3e03", + "sha256:76a4e1d62505a21971968be61ae17cbdc5e0c483265a37f7ddbbc050f9c0b8ec", + "sha256:82db9344a07dd9106796b9fe8805425633146a7ea7fed5ed07c65a64d0bb79e1", + "sha256:87284f272746e31919302ab6211b16b41135109822c498f6e7b40a2f828e7836", + "sha256:87b86a87f8de2e1bd0bcd45faf1b1edf54f988c8857157300e0336efcfb8ede6", + "sha256:8bcfafb2809cd01be8ffe5f962e01b0fbe4cc1d74513434c52ff2dd05b86d492", + "sha256:9296df6a33b8539cd753765eb5b47308602263a14b124a099cbcf5f770d7cf90", + "sha256:958b513e23286178b513a6b4d975fe9e7cddbcea6e5ebe8d836e4ef067577154", + "sha256:9772c9e266b2ca4999180c12b90c8efb4c5c9ad3e55f301d78bc579af6467ad9", + "sha256:9b31756ea647b6ef53190f6b708ad0c4c2ea879bc17799ba5b0699eee59ecf7b", + "sha256:9cd54a762667c32112df5d6f059c5d61fa532ee06460948cc5bcbf60c502f5c9", + "sha256:9dabc70012fd7b58a8040a7bc1b5f71fd0e62e2138aefdd8367d3d24bf82c349", + "sha256:adafe9d71a940927dd3ad8d487f521f11277f133568b7da622666ebd08923191", + "sha256:ae5e557aa92565d72f6d3196e878e7cbd6a6380e02a15eafe0af781bd767c10d", + "sha256:af6b8cdf0857fd4e6460dd6639c37c3f82163127f6112c1942b5e6a52a477676", + "sha256:b37729ba34c116a3b2b6fb99df5c37a4ca40e96f430070488fd7a1077ad44907", + "sha256:b6424c716f4c38ff8f62b602e6b94cde478dadda542a1cb3fe2fe2520cc2aae3", + "sha256:b8f105631835fdf191c971c4da93d27e732e028d73ecaa1a88f458d497d026cf", + "sha256:be2b1a455b3ecfee20638289bb091a95216887d44924a41c28a601efac0916e8", + "sha256:c04a7903644ccea8fa07c3e76db43ca31c8d453f93c5c94c0f9b82efca225543", + "sha256:c0d6290a466a6f3fadf6add2dd4ec11deba4e1a6e3db2dd284edd497aadf802f", + "sha256:c5757a7b25fe48040fa120ba6597f5f885b01e323e0d13fe21ff95a70c0f76b7", + "sha256:ccad4e29ac1b6f75bfeedb2cac4860fe5bd9e0a2f04c3e3218f661fa389ab101", + "sha256:cd21de85aa0e247b79c6c41f8b5541b54285550f2da6a9448d82b53234d3611b", + "sha256:ce4553a573edb363d5db12be1c044826878bec039159d6d4eafe826ef773396d", + "sha256:d074380f587360d2500f3b065232c67ae248aaf739267807adbcd29b88bdf864", + "sha256:d41d4da5f2871b1782c6b74948d2d37aac3a5b39b43a6ba31d736b97a02ae1f1", + "sha256:d5102e17b81158de17d4b5bc363fcffd15231a38ef3f50b8e6fa01f0c6911194", + "sha256:d52d79dfd3b410b153b6d65b0e3afe834eca2b969377f55ad73c67156d35af0d", + "sha256:d591f2ddad432b794f77dc1e94334a80015a3fc7fa07fd6aed8f40362083be5b", + "sha256:d616b5a543c7d4deffa25eb8d8ae3d0d95097f08ac8b131600bb7fbf967ea0e2", + "sha256:d7af3990490982fbd2437156c69edbe82b7edf99bc60302cceeeaf79afb886b8", + "sha256:d8a6c35afd5b912101fabf42975d92d750cfce33c571508a82ff334a133c40d5", + "sha256:db181a1896e0bad75b3bf4916c49fd3cf6751f9cc203fe0e0ecbee1fc43590fa", + "sha256:dd5c305faa2e69334a53061b3168987847dadc2449bab95735242a9bde92fde8", + "sha256:e1f8e96455907496b3e4ea16f63bb578da31e17d2805278b193525e7714f17f2", + "sha256:e233a56bbf99e4cb134c4f8e63b16c77714e3987daf2c5aa10c3ba8c4232d730", + "sha256:e3f65da9701648d226b6b24ded3e2528b72075e48d7540968cd857c3bd4c5321", + "sha256:e4e893c7f7fb12271a667d5c1876710fae06d7580343afdb5f3fc4488b73209e", + "sha256:e54b80885b0e61d346accc5709daf8762471a452345521cc9281604a907162c2", + "sha256:e93f36a5c9d995f40e9c4cd9bbabd83fd78705792fa250980256c93accd07bb6", + "sha256:ebdf212e1ed85af63fa1a76d556c0a3c7b34348ffba6e145a64b15f003ad0a2b", + "sha256:f7a95b0dce364535a63fde0ec1b1ca36400037175d3b62ce04d85dbca5e33832", + "sha256:f82c1a1c1897d2293cb6c50f20fe8a9ea2add1a228eff479380917a1fe7bbb68", + "sha256:fe4877c24711458f7990392181be30166cc3ae72158036ecb48a73c30c99fb6f", + "sha256:ff619c58322d9d6df0a859dc76c3532d7bdbc125cb040f7cd642141446b4f654" ], "index": "pypi", - "markers": "python_version >= '3.9'", - "version": "==7.8.0" + "version": "==7.8.1" }, "cryptography": { "hashes": [ - "sha256:02f55fb4f8b79c1221b0961488eaae21015b69b210e18c386b69de182ebb1259", - "sha256:157f1f3b8d941c2bd8f3ffee0af9b049c9665c39d3da9db2dc338feca5e98a43", - "sha256:192ed30fac1728f7587c6f4613c29c584abdc565d7417c13904708db10206645", - "sha256:21a83f6f35b9cc656d71b5de8d519f566df01e660ac2578805ab245ffd8523f8", - "sha256:25cd194c39fa5a0aa4169125ee27d1172097857b27109a45fadc59653ec06f44", - "sha256:3883076d5c4cc56dbef0b898a74eb6992fdac29a7b9013870b34efe4ddb39a0d", - "sha256:3bb0847e6363c037df8f6ede57d88eaf3410ca2267fb12275370a76f85786a6f", - "sha256:3be3f649d91cb182c3a6bd336de8b61a0a71965bd13d1a04a0e15b39c3d5809d", - "sha256:3f07943aa4d7dad689e3bb1638ddc4944cc5e0921e3c227486daae0e31a05e54", - "sha256:479d92908277bed6e1a1c69b277734a7771c2b78633c224445b5c60a9f4bc1d9", - "sha256:4ffc61e8f3bf5b60346d89cd3d37231019c17a081208dfbbd6e1605ba03fa137", - "sha256:5639c2b16764c6f76eedf722dbad9a0914960d3489c0cc38694ddf9464f1bb2f", - "sha256:58968d331425a6f9eedcee087f77fd3c927c88f55368f43ff7e0a19891f2642c", - "sha256:5d186f32e52e66994dce4f766884bcb9c68b8da62d61d9d215bfe5fb56d21334", - "sha256:5d20cc348cca3a8aa7312f42ab953a56e15323800ca3ab0706b8cd452a3a056c", - "sha256:6866df152b581f9429020320e5eb9794c8780e90f7ccb021940d7f50ee00ae0b", - "sha256:7d5fe7195c27c32a64955740b949070f21cba664604291c298518d2e255931d2", - "sha256:896530bc9107b226f265effa7ef3f21270f18a2026bc09fed1ebd7b66ddf6375", - "sha256:962bc30480a08d133e631e8dfd4783ab71cc9e33d5d7c1e192f0b7c06397bb88", - "sha256:978631ec51a6bbc0b7e58f23b68a8ce9e5f09721940933e9c217068388789fe5", - "sha256:9b4d4a5dbee05a2c390bf212e78b99434efec37b17a4bff42f50285c5c8c9647", - "sha256:ab0b005721cc0039e885ac3503825661bd9810b15d4f374e473f8c89b7d5460c", - "sha256:af653022a0c25ef2e3ffb2c673a50e5a0d02fecc41608f4954176f1933b12359", - "sha256:b0cc66c74c797e1db750aaa842ad5b8b78e14805a9b5d1348dc603612d3e3ff5", - "sha256:b424563394c369a804ecbee9b06dfb34997f19d00b3518e39f83a5642618397d", - "sha256:c138abae3a12a94c75c10499f1cbae81294a6f983b3af066390adee73f433028", - "sha256:c6cd67722619e4d55fdb42ead64ed8843d64638e9c07f4011163e46bc512cf01", - "sha256:c91fc8e8fd78af553f98bc7f2a1d8db977334e4eea302a4bfd75b9461c2d8904", - "sha256:cad399780053fb383dc067475135e41c9fe7d901a97dd5d9c5dfb5611afc0d7d", - "sha256:cb90f60e03d563ca2445099edf605c16ed1d5b15182d21831f58460c48bffb93", - "sha256:dad80b45c22e05b259e33ddd458e9e2ba099c86ccf4e88db7bbab4b747b18d06", - "sha256:dd3db61b8fe5be220eee484a17233287d0be6932d056cf5738225b9c05ef4fff", - "sha256:e28d62e59a4dbd1d22e747f57d4f00c459af22181f0b2f787ea83f5a876d7c76", - "sha256:e909df4053064a97f1e6565153ff8bb389af12c5c8d29c343308760890560aff", - "sha256:f3ffef566ac88f75967d7abd852ed5f182da252d23fac11b4766da3957766759", - "sha256:fc3c9babc1e1faefd62704bb46a69f359a9819eb0292e40df3fb6e3574715cd4", - "sha256:fe19d8bc5536a91a24a8133328880a41831b6c5df54599a8417b62fe015d3053" + "sha256:057723b79752a142efbc609e90b0dff27b0361ccbee3bd48312d70f5cdf53b78", + "sha256:05c2385b1f5c89a17df19900cfb1345115a77168f5ed44bdf6fd3de1ce5cc65b", + "sha256:08281de408e7eb71ba3cd5098709a356bfdf65eebd7ee7633c3610f0aa80d79b", + "sha256:10d68763892a7b19c22508ab57799c4423c7c8cd61d7eee4c5a6a55a46511949", + "sha256:1655d3a76e3dedb683c982a6c3a2cbfae2d08f47a48ec5a3d58db52b3d29ea6f", + "sha256:18f8084b7ca3ce1b8d38bdfe33c48116edf9a08b4d056ef4a96dceaa36d8d965", + "sha256:2cb03a944a1a412724d15a7c051d50e63a868031f26b6a312f2016965b661942", + "sha256:4142e20c29224cec63e9e32eb1e6014fb285fe39b7be66b3564ca978a3a8afe9", + "sha256:463096533acd5097f8751115bc600b0b64620c4aafcac10c6d0041e6e68f88fe", + "sha256:48caa55c528617fa6db1a9c3bf2e37ccb31b73e098ac2b71408d1f2db551dde4", + "sha256:49af56491473231159c98c2c26f1a8f3799a60e5cf0e872d00745b858ddac9d2", + "sha256:4cc31c66411e14dd70e2f384a9204a859dc25b05e1f303df0f5326691061b839", + "sha256:501de1296b2041dccf2115e3c7d4947430585601b251b140970ce255c5cfb985", + "sha256:59c0c8f043dd376bbd9d4f636223836aed50431af4c5a467ed9bf61520294627", + "sha256:614bca7c6ed0d8ad1dce683a6289afae1f880675b4090878a0136c3da16bc693", + "sha256:61a8b1bbddd9332917485b2453d1de49f142e6334ce1d97b7916d5a85d179c84", + "sha256:7429936146063bd1b2cfc54f0e04016b90ee9b1c908a7bed0800049cbace70eb", + "sha256:7c73968fbb7698a4c5d6160859db560d3aac160edde89c751edd5a8bc6560c88", + "sha256:80303ee6a02ef38c4253160446cbeb5c400c07e01d4ddbd4ff722a89b736d95a", + "sha256:965611880c3fa8e504b7458484c0697e00ae6e937279cd6734fdaa2bc954dc49", + "sha256:9a900036b42f7324df7c7ad9569eb92ba0b613cf699160dd9c2154b24fd02f8e", + "sha256:9cfd1399064b13043082c660ddd97a0358e41c8b0dc7b77c1243e013d305c344", + "sha256:a8ec324711596fbf21837d3a5db543937dd84597d364769b46e0102250023f77", + "sha256:a9727a21957d3327cf6b7eb5ffc9e4b663909a25fea158e3fcbc49d4cdd7881b", + "sha256:b19f4b28dd2ef2e6d600307fee656c00825a2980c4356a7080bd758d633c3a6f", + "sha256:b2de529027579e43b6dc1f805f467b102fb7d13c1e54c334f1403ee2b37d0059", + "sha256:c0c000c1a09f069632d8a9eb3b610ac029fcc682f1d69b758e625d6ee713f4ed", + "sha256:cdafb86eb673c3211accffbffdb3cdffa3aaafacd14819e0898d23696d18e4d3", + "sha256:d2a90ce2f0f5b695e4785ac07c19a58244092f3c85d57db6d8eb1a2b26d2aad6", + "sha256:d784d57b958ffd07e9e226d17272f9af0c41572557604ca7554214def32c26bf", + "sha256:d891942592789fa0ab71b502550bbadb12f540d7413d7d7c4cef4b02af0f5bc6", + "sha256:dc7693573f16535428183de8fd27f0ca1ca37a51baa0b41dc5ed7b3d68fe80e2", + "sha256:ddb8d01aa900b741d6b7cc585a97aff787175f160ab975e21f880e89d810781a", + "sha256:e328357b6bbf79928363dbf13f4635b7aac0306afb7e5ad24d21d0c5761c3253", + "sha256:e86c8d54cd19a13e9081898b3c24351683fd39d726ecf8e774aaa9d8d96f5f3a", + "sha256:e9e4bdcd70216b08801e267c0b563316b787f957a46e215249921f99288456f9", + "sha256:f169469d04a23282de9d0be349499cb6683b6ff1b68901210faacac9b0c24b7d" ], "markers": "python_version >= '3.7' and python_full_version not in '3.9.0, 3.9.1'", - "version": "==44.0.3" + "version": "==45.0.2" }, "docker": { "hashes": [ @@ -1830,7 +1832,6 @@ "sha256:61c9170f92e736b530655e75374681d4fcca9cfa8763ab42be57353b2b203494" ], "index": "pypi", - "markers": "python_version >= '3.6'", "version": "==1.3.1" }, "opensearch-py": { @@ -1839,7 +1840,6 @@ "sha256:6598df0bc7a003294edd0ba88a331e0793acbb8c910c43edf398791e3b2eccda" ], "index": "pypi", - "markers": "python_version >= '3.8' and python_version < '4'", "version": "==2.8.0" }, "packaging": { @@ -1852,11 +1852,11 @@ }, "pluggy": { "hashes": [ - "sha256:2cffa88e94fdc978c4c574f15f9e59b7f4201d439195c3715ca9e2486f1d0cf1", - "sha256:44e1ad92c8ca002de6377e165f3e0f1be63266ab4d554740532335b9d75ea669" + "sha256:7dcc130b76258d33b90f61b658791dede3486c3e6bfb003ee5c9bfb396dd22f3", + "sha256:e920276dd6813095e9377c0bc5566d94c932c33b27a3e3945d8389c374dd4746" ], - "markers": "python_version >= '3.8'", - "version": "==1.5.0" + "markers": "python_version >= '3.9'", + "version": "==1.6.0" }, "pycparser": { "hashes": [ @@ -1872,7 +1872,6 @@ "sha256:f4efe70cc14e511565ac476b57c279e12a855b11f48f212af1080ef2263d3845" ], "index": "pypi", - "markers": "python_version >= '3.8'", "version": "==8.3.5" }, "python-dateutil": { @@ -1880,7 +1879,7 @@ "sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3", "sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427" ], - "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2'", + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", "version": "==2.9.0.post0" }, "requests": { @@ -1897,7 +1896,6 @@ "sha256:e9e12e333b525156e82a3c852f22016b9158220d2f47454de9cae8a77d371401" ], "index": "pypi", - "markers": "python_version >= '3.5'", "version": "==1.12.1" }, "six": { @@ -1905,7 +1903,7 @@ "sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274", "sha256:ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81" ], - "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2'", + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", "version": "==1.17.0" }, "testcontainers-core": { @@ -1920,7 +1918,6 @@ "sha256:0bdf270b5b7f53915832f7c31dd2bd3ffdc20b534ea6b32231cc7003049bd0e1" ], "index": "pypi", - "markers": "python_version >= '3.7'", "version": "==0.0.1rc1" }, "urllib3": { @@ -1928,7 +1925,7 @@ "sha256:414bc6535b787febd7567804cc015fee39daab8ad86268f1310a9250697de466", "sha256:4e16665048960a0900c702d4a66415956a584919c03361cac9f1df5c5dd7e813" ], - "markers": "python_version >= '3.9'", + "markers": "python_version >= '3.10'", "version": "==2.4.0" }, "wrapt": { diff --git a/dbrepo-search-service/app.py b/dbrepo-search-service/app.py index ef577429b79ee647d2daf9221d9a445964780863..127d101430accece19f21a637105b2fa3a75c0c7 100644 --- a/dbrepo-search-service/app.py +++ b/dbrepo-search-service/app.py @@ -31,9 +31,8 @@ dictConfig({ 'simple': { 'format': '[%(asctime)s] [%(levelname)s] %(message)s', }, - 'ecs': { - 'format': '{"@timestamp": "%(asctime)s", "log.level": "%(levelname)s", "log.logger": "%(module)s", "message": "%(message)s", "service_name": "search-service", "service_version": "1.8.2"}', - 'datefmt': '%Y-%m-%dT%H:%M:%S' + "ecs": { + "()": "ecs_logging.StdlibFormatter" }, }, 'handlers': { @@ -184,7 +183,7 @@ template = { "info": { "title": "Database Repository Search Service API", "description": "Service that searches the search database", - "version": "1.8.2", + "version": "1.9.0", "contact": { "name": "Prof. Andreas Rauber", "email": "andreas.rauber@tuwien.ac.at" diff --git a/dbrepo-search-service/init.py b/dbrepo-search-service/init.py index 798b59b9df4e02303ac72d6268be4e63bc42c99d..e3fc408901e2b6a4e36c57f5cc8ee795a4634511 100644 --- a/dbrepo-search-service/init.py +++ b/dbrepo-search-service/init.py @@ -21,9 +21,8 @@ dictConfig({ 'simple': { 'format': '[%(asctime)s] [%(levelname)s] %(message)s', }, - 'ecs': { - 'format': '{"@timestamp": "%(asctime)s", "log.level": "%(levelname)s", "log.logger": "%(module)s", "message": "%(message)s", "service_name": "search-service-init", "service_version": "1.8.2"}', - 'datefmt': '%Y-%m-%dT%H:%M:%S' + "ecs": { + "()": "ecs_logging.StdlibFormatter" }, }, 'handlers': { diff --git a/dbrepo-search-service/lib/dbrepo-1.8.2.tar.gz b/dbrepo-search-service/lib/dbrepo-1.8.2.tar.gz deleted file mode 100644 index 3e3b65b6b93a602ee26c2f4d4c71c2d3cd331211..0000000000000000000000000000000000000000 Binary files a/dbrepo-search-service/lib/dbrepo-1.8.2.tar.gz and /dev/null differ diff --git a/dbrepo-search-service/lib/dbrepo-1.8.2rc3-py3-none-any.whl b/dbrepo-search-service/lib/dbrepo-1.8.2rc3-py3-none-any.whl deleted file mode 100644 index 86a1af2af41c44d35a4da7a472c180854f0cd82c..0000000000000000000000000000000000000000 Binary files a/dbrepo-search-service/lib/dbrepo-1.8.2rc3-py3-none-any.whl and /dev/null differ diff --git a/dbrepo-search-service/lib/dbrepo-1.8.2rc3.tar.gz b/dbrepo-search-service/lib/dbrepo-1.8.2rc3.tar.gz deleted file mode 100644 index 9c03ed275c6da5b2eef3619c59269f398d59c7de..0000000000000000000000000000000000000000 Binary files a/dbrepo-search-service/lib/dbrepo-1.8.2rc3.tar.gz and /dev/null differ diff --git a/dbrepo-search-service/lib/dbrepo-1.8.2rc4-py3-none-any.whl b/dbrepo-search-service/lib/dbrepo-1.8.2rc4-py3-none-any.whl deleted file mode 100644 index 5a0dbc7c95592f2e70bed13fa33d85cc6cdf7811..0000000000000000000000000000000000000000 Binary files a/dbrepo-search-service/lib/dbrepo-1.8.2rc4-py3-none-any.whl and /dev/null differ diff --git a/dbrepo-search-service/lib/dbrepo-1.8.2rc4.tar.gz b/dbrepo-search-service/lib/dbrepo-1.8.2rc4.tar.gz deleted file mode 100644 index 1dbc78c989362d4d0c3750b1ad942abe46f205dd..0000000000000000000000000000000000000000 Binary files a/dbrepo-search-service/lib/dbrepo-1.8.2rc4.tar.gz and /dev/null differ diff --git a/dbrepo-search-service/lib/dbrepo-1.8.2rc5-py3-none-any.whl b/dbrepo-search-service/lib/dbrepo-1.8.2rc5-py3-none-any.whl deleted file mode 100644 index 50bf1b8195987f6f8d23a36f34bc0f912b6fd9b3..0000000000000000000000000000000000000000 Binary files a/dbrepo-search-service/lib/dbrepo-1.8.2rc5-py3-none-any.whl and /dev/null differ diff --git a/dbrepo-search-service/lib/dbrepo-1.8.2rc5.tar.gz b/dbrepo-search-service/lib/dbrepo-1.8.2rc5.tar.gz deleted file mode 100644 index be8784437f111e2d4a5cdac36baf77605114dfa5..0000000000000000000000000000000000000000 Binary files a/dbrepo-search-service/lib/dbrepo-1.8.2rc5.tar.gz and /dev/null differ diff --git a/dbrepo-search-service/lib/dbrepo-1.8.2rc6-py3-none-any.whl b/dbrepo-search-service/lib/dbrepo-1.8.2rc6-py3-none-any.whl deleted file mode 100644 index 8e4c745a2ce782c174d5e1db7eef22d51d26624c..0000000000000000000000000000000000000000 Binary files a/dbrepo-search-service/lib/dbrepo-1.8.2rc6-py3-none-any.whl and /dev/null differ diff --git a/dbrepo-search-service/lib/dbrepo-1.8.2rc6.tar.gz b/dbrepo-search-service/lib/dbrepo-1.8.2rc6.tar.gz deleted file mode 100644 index 279243fd37fe033fe4aa740361b5e9a370516924..0000000000000000000000000000000000000000 Binary files a/dbrepo-search-service/lib/dbrepo-1.8.2rc6.tar.gz and /dev/null differ diff --git a/dbrepo-dashboard-service/lib/dbrepo-1.8.2rc4-py3-none-any.whl b/dbrepo-search-service/lib/dbrepo-1.9.0-py3-none-any.whl similarity index 70% rename from dbrepo-dashboard-service/lib/dbrepo-1.8.2rc4-py3-none-any.whl rename to dbrepo-search-service/lib/dbrepo-1.9.0-py3-none-any.whl index 5a0dbc7c95592f2e70bed13fa33d85cc6cdf7811..23950d61fc98e36a15c4a8ed9c452e86446b589b 100644 Binary files a/dbrepo-dashboard-service/lib/dbrepo-1.8.2rc4-py3-none-any.whl and b/dbrepo-search-service/lib/dbrepo-1.9.0-py3-none-any.whl differ diff --git a/dbrepo-search-service/lib/dbrepo-1.9.0.tar.gz b/dbrepo-search-service/lib/dbrepo-1.9.0.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..b24c628496a5d2753bebe080118cba5237390e28 Binary files /dev/null and b/dbrepo-search-service/lib/dbrepo-1.9.0.tar.gz differ diff --git a/dbrepo-ui/components/database/DatabaseToolbar.vue b/dbrepo-ui/components/database/DatabaseToolbar.vue index 642f75a529194b2524cb1e5bd9cf08a68013782f..16dae8482cd1bf682a8aa80a1b32731966ec1248 100644 --- a/dbrepo-ui/components/database/DatabaseToolbar.vue +++ b/dbrepo-ui/components/database/DatabaseToolbar.vue @@ -162,6 +162,12 @@ export default { return this.roles.includes('create-table') }, canViewSubsets () { + if (!this.database) { + return false + } + if (this.database.is_public) { + return true + } return this.hasReadAccess }, isOwner () { diff --git a/docker-compose.yml b/docker-compose.yml index 524fba056261754b3c7af651c7e85c687e178088..553b597ef80063ae7570e39f5366207f916affaf 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -21,7 +21,7 @@ services: hostname: metadata-db image: docker.io/bitnami/mariadb-galera:${MARIADB_VERSION} volumes: - - metadata-db-data:/var/lib/mysql + - metadata-db-data:/bitnami/mariadb - ./dbrepo-metadata-db/1_setup-schema.sql:/docker-entrypoint-initdb.d/1_setup-schema.sql - ./dbrepo-metadata-db/2_setup-data.sql:/docker-entrypoint-initdb.d/2_setup-data.sql ports: @@ -64,7 +64,7 @@ services: hostname: data-db image: docker.io/bitnami/mariadb-galera:${MARIADB_VERSION} volumes: - - data-db-data:/var/lib/mysql + - data-db-data:/bitnami/mariadb - ./dbrepo-data-db/1_grant-user.sql:/docker-entrypoint-initdb.d/1_grant-user.sql ports: - "3307:3306" @@ -365,8 +365,8 @@ services: build: context: ./dbrepo-ui args: - APP_VERSION: ${APP_VERSION:-latest} - COMMIT: ${CI_COMMIT_SHA:-} + APP_VERSION: ${CI_COMMIT_TAG:-latest} + COMMIT: ${CI_COMMIT_SHORT_SHA:-} network: host environment: NUXT_PUBLIC_API_CLIENT: "${BASE_URL:-http://localhost}" diff --git a/helm/dbrepo/Chart.yaml b/helm/dbrepo/Chart.yaml index 0814c1a5c763bd44f508079726cb04bab317aa51..da537a39bb6ebd4ad8698ec44cd1d9a4c85f418f 100644 --- a/helm/dbrepo/Chart.yaml +++ b/helm/dbrepo/Chart.yaml @@ -7,14 +7,14 @@ description: Helm Chart for installing DBRepo sources: - https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services type: application -version: "1.8.2" -appVersion: "1.8.2" +version: "1.9.0" +appVersion: "1.9.0" keywords: - dbrepo maintainers: - name: Martin Weise email: martin.weise@tuwien.ac.at -home: https://www.ifs.tuwien.ac.at/infrastructures/dbrepo/1.8/ +home: https://www.ifs.tuwien.ac.at/infrastructures/dbrepo/1.9/ icon: https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/raw/master/dbrepo-ui/public/favicon.png dependencies: - name: opensearch diff --git a/helm/dbrepo/README.md b/helm/dbrepo/README.md index 0f60690e238d473d1a20df1d1b3dbe2b3cff9e70..4f5c56f0d51521eab427152fed25f3860807ec0b 100644 --- a/helm/dbrepo/README.md +++ b/helm/dbrepo/README.md @@ -11,7 +11,7 @@ sample [ for your deployment and update the variables, especially `hostname`. ```bash -helm install my-release "oci://registry.datalab.tuwien.ac.at/dbrepo/helm/dbrepo" --values ./values.yaml --version "1.8.2" +helm install my-release "oci://registry.datalab.tuwien.ac.at/dbrepo/helm/dbrepo" --values ./values.yaml --version "1.9.0" ``` ## Prerequisites @@ -34,7 +34,7 @@ variable when you increase the available Pod memory for performance. To install the chart with the release name `my-release`: ```bash -helm install my-release "oci://oci://registry.datalab.tuwien.ac.at/dbrepo/helm" --values ./values.yaml --version "1.8.2" +helm install my-release "oci://oci://registry.datalab.tuwien.ac.at/dbrepo/helm" --values ./values.yaml --version "1.9.0" ``` The command deploys DBRepo on the Kubernetes cluster in the default configuration. The Parameters section lists the @@ -324,22 +324,32 @@ mqtt.prefetch = 10 ### Storage Service -| Name | Description | Value | -| --------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- | -------------------------------- | -| `storageservice.enabled` | Enable the Storage Service. | `true` | -| `storageservice.mariadb.enabled` | Enables the MariaDB database needed for the filer. | `true` | -| `storageservice.mariadb.auth.rootPassword` | The password for the root user. | `seaweedfsfiler` | -| `storageservice.filer.enabled` | Cannot use the filer in the standard component since it's incompatible with OpenShift | `true` | -| `storageservice.s3.bucket` | The S3-bucket name. | `dbrepo` | -| `storageservice.s3.auth.enabled` | Enable the S3 service. | `true` | -| `storageservice.s3.auth.adminAccessKeyId` | The S3 access key id for the admin user. In some systems this is named `username`. | `seaweedfsadmin` | -| `storageservice.s3.auth.adminSecretAccessKey` | The S3 secret access key for the admin user. In some systems this is named `password`. | `seaweedfsadmin` | -| `storageservice.s3.auth.readAccessKeyId` | The S3 access key id for the read only user. | `seaweedfsuser` | -| `storageservice.s3.auth.readSecretAccessKey` | The S3 secret access key for the read only user. | `seaweedfsuser` | -| `storageservice.setupJob.enabled` | Enable the setup job that creates the bucket in the s3 endpoint. | `true` | -| `storageservice.setupJob.s3.endpoint` | The S3-capable endpoint the microservice connects to. | `http://storage-service-s3:8333` | -| `storageservice.setupJob.resourcesPreset` | The container resource preset | `nano` | -| `storageservice.setupJob.resources` | Set container requests and limits for different resources like CPU or memory (essential for production workloads) | `{}` | +| Name | Description | Value | +| --------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- | -------------------------------- | +| `storageservice.enabled` | Enable the Storage Service. | `true` | +| `storageservice.mariadb.enabled` | Enables the MariaDB database needed for the filer. | `true` | +| `storageservice.mariadb.auth.rootPassword` | The password for the root user. | `seaweedfsfiler` | +| `storageservice.filer.enabled` | Cannot use the filer in the standard component since it's incompatible with OpenShift | `true` | +| `storageservice.s3.bucket` | The S3-bucket name. | `dbrepo` | +| `storageservice.s3.auth.enabled` | Enable the S3 service. | `true` | +| `storageservice.s3.auth.adminAccessKeyId` | The S3 access key id for the admin user. In some systems this is named `username`. | `seaweedfsadmin` | +| `storageservice.s3.auth.adminSecretAccessKey` | The S3 secret access key for the admin user. In some systems this is named `password`. | `seaweedfsadmin` | +| `storageservice.s3.auth.readAccessKeyId` | The S3 access key id for the read only user. | `seaweedfsuser` | +| `storageservice.s3.auth.readSecretAccessKey` | The S3 secret access key for the read only user. | `seaweedfsuser` | +| `storageservice.setupJob.enabled` | Enable the setup job that creates the bucket in the s3 endpoint. | `true` | +| `storageservice.setupJob.s3.endpoint` | The S3-capable endpoint the microservice connects to. | `http://storage-service-s3:8333` | +| `storageservice.setupJob.containerSecurityContext.enabled` | Enabled containers' Security Context | `true` | +| `storageservice.setupJob.containerSecurityContext.seLinuxOptions` | Set SELinux options in container | `{}` | +| `storageservice.setupJob.containerSecurityContext.runAsUser` | Set RabbitMQ containers' Security Context runAsUser | `1001` | +| `storageservice.setupJob.containerSecurityContext.runAsGroup` | Set RabbitMQ containers' Security Context runAsGroup | `0` | +| `storageservice.setupJob.containerSecurityContext.runAsNonRoot` | Set RabbitMQ container's Security Context runAsNonRoot | `true` | +| `storageservice.setupJob.containerSecurityContext.allowPrivilegeEscalation` | Set container's privilege escalation | `false` | +| `storageservice.setupJob.containerSecurityContext.readOnlyRootFilesystem` | Set container's Security Context readOnlyRootFilesystem | `false` | +| `storageservice.setupJob.containerSecurityContext.capabilities.drop` | Set container's Security Context runAsNonRoot | `["ALL"]` | +| `storageservice.setupJob.containerSecurityContext.capabilities.add` | Set container's Security Context runAsNonRoot | `["NET_BIND_SERVICE"]` | +| `storageservice.setupJob.containerSecurityContext.seccompProfile.type` | Set container's Security Context seccomp profile | `RuntimeDefault` | +| `storageservice.setupJob.resourcesPreset` | The container resource preset | `nano` | +| `storageservice.setupJob.resources` | Set container requests and limits for different resources like CPU or memory (essential for production workloads) | `{}` | ### Identity Service diff --git a/helm/dbrepo/charts/keycloak-24.6.3.tgz b/helm/dbrepo/charts/keycloak-24.6.3.tgz deleted file mode 100644 index 2196f1737a0aa9a6e1c4947de17fe842b171b610..0000000000000000000000000000000000000000 Binary files a/helm/dbrepo/charts/keycloak-24.6.3.tgz and /dev/null differ diff --git a/helm/dbrepo/charts/seaweedfs-4.8.7.tgz b/helm/dbrepo/charts/seaweedfs-4.8.7.tgz index 437a8c385c0d079f33436580068eda55bd9083aa..d66de2af15ba6ad18f5545f7565f1b8cc7e5bf77 100644 Binary files a/helm/dbrepo/charts/seaweedfs-4.8.7.tgz and b/helm/dbrepo/charts/seaweedfs-4.8.7.tgz differ diff --git a/helm/dbrepo/files/01-setup-schema.sql b/helm/dbrepo/files/01-setup-schema.sql index 4ba9d70b174dca5b3481d8042f47c332afc4cf2b..818439cf448d617684dee1b3a030f1f4ccf21e6b 100644 --- a/helm/dbrepo/files/01-setup-schema.sql +++ b/helm/dbrepo/files/01-setup-schema.sql @@ -374,11 +374,12 @@ CREATE TABLE IF NOT EXISTS `mdb_identifier_licenses` CREATE TABLE IF NOT EXISTS `mdb_identifier_titles` ( - id VARCHAR(36) NOT NULL DEFAULT UUID(), - pid VARCHAR(36) NOT NULL, - title TEXT NOT NULL, - title_type ENUM ('ALTERNATIVE_TITLE', 'SUBTITLE', 'TRANSLATED_TITLE', 'OTHER'), - language VARCHAR(2), + id VARCHAR(36) NOT NULL DEFAULT UUID(), + pid VARCHAR(36) NOT NULL, + title TEXT NOT NULL, + title_type ENUM ('ALTERNATIVE_TITLE', 'SUBTITLE', 'TRANSLATED_TITLE', 'OTHER'), + ordinal_position INT NOT NULL, + language VARCHAR(2), PRIMARY KEY (`id`), FOREIGN KEY (`pid`) REFERENCES mdb_identifiers (`id`) ) WITH SYSTEM VERSIONING; @@ -394,6 +395,7 @@ CREATE TABLE IF NOT EXISTS `mdb_identifier_funders` award_number VARCHAR(255), award_title TEXT, language VARCHAR(255), + ordinal_position INT NOT NULL, PRIMARY KEY (`id`), FOREIGN KEY (`pid`) REFERENCES mdb_identifiers (`id`) ) WITH SYSTEM VERSIONING; @@ -405,17 +407,19 @@ CREATE TABLE IF NOT EXISTS `mdb_identifier_descriptions` description TEXT NOT NULL, description_type ENUM ('ABSTRACT', 'METHODS', 'SERIES_INFORMATION', 'TABLE_OF_CONTENTS', 'TECHNICAL_INFO', 'OTHER'), language VARCHAR(2), + ordinal_position INT NOT NULL, PRIMARY KEY (`id`), FOREIGN KEY (`pid`) REFERENCES mdb_identifiers (`id`) ) WITH SYSTEM VERSIONING; CREATE TABLE IF NOT EXISTS `mdb_identifier_related` ( - id VARCHAR(36) NOT NULL DEFAULT UUID(), - pid VARCHAR(36) NOT NULL DEFAULT UUID(), - value VARCHAR(255) NOT NULL, - type ENUM ('DOI','URL','URN','ARK','ARXIV','BIBCODE','EAN13','EISSN','HANDLE','IGSN','ISBN','ISTC','LISSN','LSID','PMID','PURL','UPC','W3ID') NOT NULL, - relation ENUM ('IS_CITED_BY','CITES','IS_SUPPLEMENT_TO','IS_SUPPLEMENTED_BY','IS_CONTINUED_BY','CONTINUES','IS_DESCRIBED_BY','DESCRIBES','HAS_METADATA','IS_METADATA_FOR','HAS_VERSION','IS_VERSION_OF','IS_NEW_VERSION_OF','IS_PREVIOUS_VERSION_OF','IS_PART_OF','HAS_PART','IS_PUBLISHED_IN','IS_REFERENCED_BY','REFERENCES','IS_DOCUMENTED_BY','DOCUMENTS','IS_COMPILED_BY','COMPILES','IS_VARIANT_FORM_OF','IS_ORIGINAL_FORM_OF','IS_IDENTICAL_TO','IS_REVIEWED_BY','REVIEWS','IS_DERIVED_FROM','IS_SOURCE_OF','IS_REQUIRED_BY','REQUIRES','IS_OBSOLETED_BY','OBSOLETES') NOT NULL, + id VARCHAR(36) NOT NULL DEFAULT UUID(), + pid VARCHAR(36) NOT NULL DEFAULT UUID(), + value VARCHAR(255) NOT NULL, + type ENUM ('DOI','URL','URN','ARK','ARXIV','BIBCODE','EAN13','EISSN','HANDLE','IGSN','ISBN','ISTC','LISSN','LSID','PMID','PURL','UPC','W3ID') NOT NULL, + relation ENUM ('IS_CITED_BY','CITES','IS_SUPPLEMENT_TO','IS_SUPPLEMENTED_BY','IS_CONTINUED_BY','CONTINUES','IS_DESCRIBED_BY','DESCRIBES','HAS_METADATA','IS_METADATA_FOR','HAS_VERSION','IS_VERSION_OF','IS_NEW_VERSION_OF','IS_PREVIOUS_VERSION_OF','IS_PART_OF','HAS_PART','IS_PUBLISHED_IN','IS_REFERENCED_BY','REFERENCES','IS_DOCUMENTED_BY','DOCUMENTS','IS_COMPILED_BY','COMPILES','IS_VARIANT_FORM_OF','IS_ORIGINAL_FORM_OF','IS_IDENTICAL_TO','IS_REVIEWED_BY','REVIEWS','IS_DERIVED_FROM','IS_SOURCE_OF','IS_REQUIRED_BY','REQUIRES','IS_OBSOLETED_BY','OBSOLETES') NOT NULL, + ordinal_position INT NOT NULL, PRIMARY KEY (`id`), /* must be a single id from persistent identifier concept */ FOREIGN KEY (`pid`) REFERENCES mdb_identifiers (`id`), UNIQUE (pid, value) @@ -425,6 +429,7 @@ CREATE TABLE IF NOT EXISTS `mdb_identifier_creators` ( id VARCHAR(36) NOT NULL DEFAULT UUID(), pid VARCHAR(36) NOT NULL, + ordinal_position INT NOT NULL, given_names TEXT, family_name TEXT, creator_name VARCHAR(255) NOT NULL, diff --git a/helm/dbrepo/files/create-event-listener.jar b/helm/dbrepo/files/create-event-listener.jar index 0508b2fef63a595d592df3f95512cc7cbe77e23d..58ae18d12de1331078787969009290c78ef64c3b 100644 Binary files a/helm/dbrepo/files/create-event-listener.jar and b/helm/dbrepo/files/create-event-listener.jar differ diff --git a/helm/dbrepo/files/dbrepo.conf b/helm/dbrepo/files/dbrepo.conf index b98aca8b0c890cb5312a99246e912310933dd8a5..e1ed114d1e47da472849481df4314988167a3097 100644 --- a/helm/dbrepo/files/dbrepo.conf +++ b/helm/dbrepo/files/dbrepo.conf @@ -17,6 +17,16 @@ server { listen 8080 default_server; server_name _; + location /assets/ { + root /app; + expires max; + access_log off; + autoindex on; + autoindex_exact_size off; + autoindex_format html; + autoindex_localtime on; + } + location /dashboard/ { proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; diff --git a/helm/dbrepo/files/dbrepo.json b/helm/dbrepo/files/dbrepo.json index dc3d570df03df3c485aa9ed64caadaf2b1e75c03..0d3f4956b04c666a30d35c26ab9b3076b5db59a1 100644 --- a/helm/dbrepo/files/dbrepo.json +++ b/helm/dbrepo/files/dbrepo.json @@ -18,7 +18,7 @@ "editable": true, "fiscalYearStartMonth": 0, "graphTooltip": 1, - "id": 4, + "id": 5, "links": [ { "asDropdown": false, @@ -30,7 +30,7 @@ "title": "Docs", "tooltip": "", "type": "link", - "url": "https://www.ifs.tuwien.ac.at/infrastructures/dbrepo/1.8/" + "url": "https://www.ifs.tuwien.ac.at/infrastructures/dbrepo/1.9/" } ], "panels": [ @@ -121,7 +121,7 @@ }, "disableTextWrap": false, "editorMode": "code", - "expr": "sum(up)*100/count(up)", + "expr": "sum(up{instance=~\".*-service.*|ui.*|.*-db-metrics.*\"})*100/count(up{instance=~\".*-service.*|ui.*|.*-db-metrics.*\"})", "fullMetaSearch": false, "includeNullMetadata": true, "instant": false, @@ -1838,7 +1838,7 @@ }, "disableTextWrap": false, "editorMode": "builder", - "expr": "up", + "expr": "up{instance=~\".*-service.*|ui.*|.*-db-metrics.*\"}", "fullMetaSearch": false, "hide": false, "includeNullMetadata": true, @@ -3050,6 +3050,6 @@ "timezone": "browser", "title": "DBRepo", "uid": "bdz20owu8zn5se", - "version": 1, + "version": 2, "weekStart": "" } \ No newline at end of file diff --git a/helm/dbrepo/files/logging.json b/helm/dbrepo/files/logging.json index 4bd065db8e64f6da2dcb835f7b6ad13cea013cc9..cafc736261bc902ef9477556e4cafadfba72a1c3 100644 --- a/helm/dbrepo/files/logging.json +++ b/helm/dbrepo/files/logging.json @@ -17,8 +17,8 @@ }, "editable": true, "fiscalYearStartMonth": 0, - "graphTooltip": 0, - "id": 4, + "graphTooltip": 1, + "id": 30, "links": [], "panels": [ { @@ -29,9 +29,10 @@ "x": 0, "y": 0 }, - "id": 6, + "id": 24, "panels": [], - "title": "System", + "repeat": "service", + "title": "$service", "type": "row" }, { @@ -100,7 +101,7 @@ "x": 0, "y": 1 }, - "id": 1, + "id": 25, "options": { "legend": { "calcs": [], @@ -134,15 +135,14 @@ }, "format": "table", "hide": false, - "luceneQueryType": "Metric", + "luceneQueryType": "Logs", "metrics": [ { - "hide": false, "id": "1", - "type": "count" + "type": "logs" } ], - "query": "log_level: WARN", + "query": "log_level: WARN AND service_name: \"$service\"", "queryType": "lucene", "refId": "warn", "timeField": "@timestamp" @@ -217,7 +217,7 @@ "x": 12, "y": 1 }, - "id": 18, + "id": 28, "options": { "legend": { "calcs": [], @@ -259,7 +259,7 @@ "type": "count" } ], - "query": "log_level: ERROR", + "query": "log_level: ERROR AND service_name: \"$service\"", "queryType": "lucene", "refId": "warn", "timeField": "@timestamp" @@ -323,7 +323,7 @@ "type": "logs" } ], - "query": "log_level: WARN", + "query": "log_level: WARN AND service_name: \"$service\"", "queryType": "lucene", "refId": "A", "timeField": "@timestamp" @@ -367,7 +367,7 @@ "x": 12, "y": 5 }, - "id": 19, + "id": 29, "options": { "dedupStrategy": "none", "enableInfiniteScrolling": false, @@ -406,7 +406,7 @@ "type": "logs" } ], - "query": "log_level: ERROR", + "query": "log_level: ERROR AND service_name: \"$service\"", "queryType": "lucene", "refId": "A", "timeField": "@timestamp" @@ -500,7 +500,7 @@ "x": 0, "y": 15 }, - "id": 20, + "id": 30, "options": { "legend": { "calcs": [], @@ -542,7 +542,7 @@ "type": "count" } ], - "query": "log_level: DEBUG", + "query": "log_level: DEBUG AND service_name: \"$service\"", "queryType": "lucene", "refId": "warn", "timeField": "@timestamp" @@ -659,7 +659,7 @@ "type": "count" } ], - "query": "log_level: INFO", + "query": "log_level: INFO AND service_name: \"$service\"", "queryType": "lucene", "refId": "warn", "timeField": "@timestamp" @@ -723,7 +723,7 @@ "type": "logs" } ], - "query": "log_level: DEBUG", + "query": "log_level: DEBUG AND service_name: $service", "queryType": "lucene", "refId": "A", "timeField": "@timestamp" @@ -767,7 +767,7 @@ "x": 12, "y": 19 }, - "id": 22, + "id": 19, "options": { "dedupStrategy": "none", "enableInfiniteScrolling": false, @@ -806,13 +806,13 @@ "type": "logs" } ], - "query": "log_level: INFO", + "query": "log_level: ERROR AND service_name: \"$service\"", "queryType": "lucene", "refId": "A", "timeField": "@timestamp" } ], - "title": "Infos", + "title": "Errors", "transformations": [ { "id": "filterFieldsByName", @@ -850,16 +850,55 @@ "search" ], "templating": { - "list": [] + "list": [ + { + "current": { + "text": "metadata-service", + "value": "metadata-service" + }, + "includeAll": true, + "label": "Service", + "name": "service", + "options": [ + { + "selected": false, + "text": "analyse-service", + "value": "analyse-service" + }, + { + "selected": false, + "text": "dashboard-service", + "value": "dashboard-service" + }, + { + "selected": false, + "text": "data-service", + "value": "data-service" + }, + { + "selected": true, + "text": "metadata-service", + "value": "metadata-service" + }, + { + "selected": false, + "text": "search-service", + "value": "search-service" + } + ], + "query": "analyse-service, dashboard-service, data-service, metadata-service, search-service", + "type": "custom" + } + ] }, "time": { - "from": "now-30m", + "from": "now-1h", "to": "now" }, "timepicker": {}, "timezone": "browser", "title": "Logging - Overview", "uid": "aejhojr0mrpj4c", - "version": 1, + "version": 23, "weekStart": "" } \ No newline at end of file diff --git a/helm/dbrepo/templates/storage-setup-job.yaml b/helm/dbrepo/templates/storage-setup-job.yaml index 69845b1846deed121c66587413d611ba834b6d9d..d22641c05507cb8486624f5e95d53807c6e34191 100644 --- a/helm/dbrepo/templates/storage-setup-job.yaml +++ b/helm/dbrepo/templates/storage-setup-job.yaml @@ -16,6 +16,9 @@ spec: - name: init image: {{ .Values.storageservice.setupJob.image.name }} imagePullPolicy: {{ .Values.storageservice.setupJob.image.pullPolicy | default "IfNotPresent" }} + {{- if .Values.storageservice.setupJob.containerSecurityContext.enabled }} + securityContext: {{- include "common.compatibility.renderSecurityContext" (dict "secContext" .Values.storageservice.setupJob.containerSecurityContext "context" $) | nindent 12 }} + {{- end }} env: - name: POD_IP valueFrom: diff --git a/helm/dbrepo/values.schema.json b/helm/dbrepo/values.schema.json index 141dd1b385a6c05c1b94006223093b92eb8d15be..4bf18c24d095ae5b55f4c4657dd0740d466798e6 100644 --- a/helm/dbrepo/values.schema.json +++ b/helm/dbrepo/values.schema.json @@ -2185,6 +2185,58 @@ }, "setupJob": { "properties": { + "containerSecurityContext": { + "properties": { + "allowPrivilegeEscalation": { + "type": "boolean" + }, + "capabilities": { + "properties": { + "add": { + "items": { + "type": "string" + }, + "type": "array" + }, + "drop": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "enabled": { + "type": "boolean" + }, + "readOnlyRootFilesystem": { + "type": "boolean" + }, + "runAsGroup": { + "type": "integer" + }, + "runAsNonRoot": { + "type": "boolean" + }, + "runAsUser": { + "type": "integer" + }, + "seLinuxOptions": { + "properties": {}, + "type": "object" + }, + "seccompProfile": { + "properties": { + "type": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, "enabled": { "type": "boolean" }, diff --git a/helm/dbrepo/values.yaml b/helm/dbrepo/values.yaml index bffbc00c339d56115e82a6bda85e1c1d0e2d99f6..4a4ffc1e601b9cd4c157d3a4a082b8d588a20c32 100644 --- a/helm/dbrepo/values.yaml +++ b/helm/dbrepo/values.yaml @@ -141,7 +141,7 @@ authservice: setupJob: image: ## @skip authservice.setupJob.image.name - name: registry.datalab.tuwien.ac.at/dbrepo/auth-service-init:1.8.2 + name: registry.datalab.tuwien.ac.at/dbrepo/auth-service-init:1.9.0 ## @param authservice.setupJob.resourcesPreset The container resource preset resourcesPreset: "nano" ## @param authservice.setupJob.resources Set container requests and limits for different resources like CPU or memory (essential for production workloads) @@ -419,7 +419,7 @@ analyseservice: enabled: true image: ## @skip analyseservice.image.name - name: registry.datalab.tuwien.ac.at/dbrepo/analyse-service:1.8.2 + name: registry.datalab.tuwien.ac.at/dbrepo/analyse-service:1.9.0 ## @param analyseservice.podAnnotations the pod annotations. Evaluated as a template ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/ podAnnotations: { } @@ -483,7 +483,7 @@ metadataservice: enabled: true image: ## @skip metadataservice.image.name - name: registry.datalab.tuwien.ac.at/dbrepo/metadata-service:1.8.2 + name: registry.datalab.tuwien.ac.at/dbrepo/metadata-service:1.9.0 ## @param metadataservice.podAnnotations the pod annotations. Evaluated as a template ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/ podAnnotations: { } @@ -583,7 +583,7 @@ dataservice: endpoint: http://data-service image: ## @skip dataservice.image.name - name: registry.datalab.tuwien.ac.at/dbrepo/data-service:1.8.2 + name: registry.datalab.tuwien.ac.at/dbrepo/data-service:1.9.0 ## @param dataservice.podAnnotations the pod annotations. Evaluated as a template ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/ podAnnotations: { } @@ -672,7 +672,7 @@ searchservice: endpoint: http://search-service image: ## @skip searchservice.image.name - name: registry.datalab.tuwien.ac.at/dbrepo/search-service:1.8.2 + name: registry.datalab.tuwien.ac.at/dbrepo/search-service:1.9.0 ## @param searchservice.podAnnotations the pod annotations. Evaluated as a template ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/ podAnnotations: { } @@ -724,7 +724,7 @@ searchservice: enabled: true image: ## @skip searchservice.setupJob.image.name - name: registry.datalab.tuwien.ac.at/dbrepo/search-service-init:1.8.2 + name: registry.datalab.tuwien.ac.at/dbrepo/search-service-init:1.9.0 ## @param searchservice.setupJob.resourcesPreset The container resource preset resourcesPreset: "nano" ## @param searchservice.setupJob.resources Set container requests and limits for different resources like CPU or memory (essential for production workloads) @@ -787,10 +787,33 @@ storageservice: enabled: true image: ## @skip storageservice.setupJob.image.name - name: registry.datalab.tuwien.ac.at/dbrepo/storage-service-init:1.8.2 + name: registry.datalab.tuwien.ac.at/dbrepo/storage-service-init:1.9.0 s3: ## @param storageservice.setupJob.s3.endpoint The S3-capable endpoint the microservice connects to. endpoint: http://storage-service-s3:8333 + containerSecurityContext: + ## @param storageservice.setupJob.containerSecurityContext.enabled Enabled containers' Security Context + enabled: true + ## @param storageservice.setupJob.containerSecurityContext.seLinuxOptions Set SELinux options in container + seLinuxOptions: { } + ## @param storageservice.setupJob.containerSecurityContext.runAsUser Set RabbitMQ containers' Security Context runAsUser + runAsUser: 1001 + ## @param storageservice.setupJob.containerSecurityContext.runAsGroup Set RabbitMQ containers' Security Context runAsGroup + runAsGroup: 0 + ## @param storageservice.setupJob.containerSecurityContext.runAsNonRoot Set RabbitMQ container's Security Context runAsNonRoot + runAsNonRoot: true + ## @param storageservice.setupJob.containerSecurityContext.allowPrivilegeEscalation Set container's privilege escalation + allowPrivilegeEscalation: false + ## @param storageservice.setupJob.containerSecurityContext.readOnlyRootFilesystem Set container's Security Context readOnlyRootFilesystem + readOnlyRootFilesystem: false + capabilities: + ## @param storageservice.setupJob.containerSecurityContext.capabilities.drop Set container's Security Context runAsNonRoot + drop: [ "ALL" ] + ## @param storageservice.setupJob.containerSecurityContext.capabilities.add Set container's Security Context runAsNonRoot + add: [ "NET_BIND_SERVICE" ] + seccompProfile: + ## @param storageservice.setupJob.containerSecurityContext.seccompProfile.type Set container's Security Context seccomp profile + type: "RuntimeDefault" ## @param storageservice.setupJob.resourcesPreset The container resource preset resourcesPreset: "nano" ## @param storageservice.setupJob.resources Set container requests and limits for different resources like CPU or memory (essential for production workloads) @@ -899,7 +922,7 @@ ui: enabled: true image: ## @skip ui.image.name - name: registry.datalab.tuwien.ac.at/dbrepo/ui:1.8.2 + name: registry.datalab.tuwien.ac.at/dbrepo/ui:1.9.0 ## https://stackblitz.com/edit/nuxt-oidc-auth-keygen?file=index.js oidc: ## @param ui.oidc.authSessionSecret This should be a at least 48 characters random string. It is used to encrypt the user session. @@ -1020,7 +1043,7 @@ dashboardservice: enabled: true image: ## @skip dashboardservice.image.name - name: registry.datalab.tuwien.ac.at/dbrepo/dashboard-service:1.8.2 + name: registry.datalab.tuwien.ac.at/dbrepo/dashboard-service:1.9.0 ## @param dashboardservice.endpoint The endpoint for the microservices. endpoint: http://dashboard-service ## @param dashboardservice.podAnnotations the pod annotations. Evaluated as a template @@ -1075,7 +1098,7 @@ dashboardservice: enabled: true image: ## @skip dashboardservice.setupJob.image.name - name: registry.datalab.tuwien.ac.at/dbrepo/dashboard-service-init:1.8.2 + name: registry.datalab.tuwien.ac.at/dbrepo/dashboard-service-init:1.9.0 ## @param dashboardservice.setupJob.resourcesPreset The container resource preset resourcesPreset: "nano" ## @param dashboardservice.setupJob.resources Set container requests and limits for different resources like CPU or memory (essential for production workloads) @@ -1250,7 +1273,7 @@ gatewayservice: - name: empty-dir mountPath: /var/log/nginx - name: logging-config - mountPath: /app # irrelevant but needed from bitnami chart + mountPath: /tmp ## @param gatewayservice.replicaCount The number of replicas. replicaCount: 3 diff --git a/install.sh b/install.sh index 2fcfead2867c19c792929623bad52ac863d2252a..66c27fbfc732f75ad068de83eec340fd471f4cd0 100644 --- a/install.sh +++ b/install.sh @@ -1,10 +1,8 @@ #!/bin/bash # preset -APP_VERSION="1.8.2" -DOC_VERSION="1.8" MIN_CPU=8 -MIN_RAM=20 +MIN_RAM=10 SKIP_CHECKS=${SKIP_CHECKS:-0} DOWNLOAD_ONLY=${DOWNLOAD_ONLY:-0} @@ -35,7 +33,7 @@ if [[ $SKIP_CHECKS -eq 0 ]] && [[ $DOWNLOAD_ONLY -ne 1 ]]; then if [[ $RAM -lt $MIN_RAM ]]; then echo "You do not have enough RAM free resources:" echo "" - echo " - we found ${RAM}GB RAM (free) instead of necessary ${RAM}GB" + echo " - we found ${RAM}GB RAM (free) instead of necessary ${MIN_RAM}GB" echo " - if you believe this is a mistake, skip startup checks with the SKIP_CHECKS=1 flag" exit 4 else @@ -69,4 +67,4 @@ echo "Then start the local deployment with:" echo "" echo " docker compose up -d" echo "" -echo "Read about next steps online: https://www.ifs.tuwien.ac.at/infrastructures/dbrepo/${DOC_VERSION}/installation/#next-steps" +echo "Read about next steps online: https://www.ifs.tuwien.ac.at/infrastructures/dbrepo/${APP_VERSION}/installation/#next-steps" diff --git a/lib/java/dbrepo-core/pom.xml b/lib/java/dbrepo-core/pom.xml index 487d9c9215c5a409ffa9c75bae7191e53140ee4c..d193c09e1265da2dab05e3350903021dd31963c4 100644 --- a/lib/java/dbrepo-core/pom.xml +++ b/lib/java/dbrepo-core/pom.xml @@ -22,7 +22,7 @@ <description>Core library for DBRepo</description> - <url>https://www.ifs.tuwien.ac.at/infrastructures/dbrepo/1.8/</url> + <url>https://www.ifs.tuwien.ac.at/infrastructures/dbrepo/1.9/</url> <developers> <developer> <name>Martin Weise</name> diff --git a/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/core/entity/database/Database.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/core/entity/database/Database.java index 2aefc232a30908654572a89b8a894abbc00d8c96..b6c466992898d76ec2a697b7293f8cdb74dbd1a9 100644 --- a/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/core/entity/database/Database.java +++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/core/entity/database/Database.java @@ -91,19 +91,19 @@ public class Database implements Serializable { @OneToMany(fetch = FetchType.LAZY, cascade = {CascadeType.MERGE}, mappedBy = "database") @Where(clause = "identifier_type='DATABASE'") - @OrderBy("id DESC") + @OrderBy("created DESC") private List<Identifier> identifiers; @OneToMany(fetch = FetchType.LAZY, cascade = {CascadeType.MERGE}, mappedBy = "database") @Where(clause = "identifier_type='SUBSET'") - @OrderBy("id DESC") + @OrderBy("created DESC") private List<Identifier> subsets; - @OrderBy("id DESC") + @OrderBy("created DESC") @OneToMany(fetch = FetchType.LAZY, cascade = {CascadeType.ALL, CascadeType.PERSIST}, mappedBy = "database", orphanRemoval = true) private List<at.ac.tuwien.ifs.dbrepo.core.entity.database.table.Table> tables; - @OrderBy("id DESC") + @OrderBy("created DESC") @OneToMany(fetch = FetchType.LAZY, cascade = {CascadeType.ALL, CascadeType.PERSIST}, mappedBy = "database", orphanRemoval = true) private List<View> views; diff --git a/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/core/entity/database/View.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/core/entity/database/View.java index d84b75530b1b5dd2b27a896461f6d86671588ea1..38680c01db39d2e66e5cc8866e4689a0f5b13e0b 100644 --- a/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/core/entity/database/View.java +++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/core/entity/database/View.java @@ -81,7 +81,7 @@ public class View { @JoinColumn(name = "dbid", referencedColumnName = "vdbid", insertable = false, updatable = false) }) @Where(clause = "identifier_type='VIEW'") - @OrderBy("id DESC") + @OrderBy("created DESC") private List<Identifier> identifiers; @ToString.Exclude diff --git a/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/core/entity/database/table/Table.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/core/entity/database/table/Table.java index 42faf301ca49b73bfc4bcded087b9c005a5c764a..41a5c950a34bf5dbad6e30b762798256e5837600 100644 --- a/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/core/entity/database/table/Table.java +++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/core/entity/database/table/Table.java @@ -83,7 +83,7 @@ public class Table { @JoinColumn(name = "dbid", referencedColumnName = "tdbid", insertable = false, updatable = false) }) @Where(clause = "identifier_type='TABLE'") - @OrderBy("id DESC") + @OrderBy("created DESC") private List<Identifier> identifiers; @Embedded diff --git a/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/core/entity/identifier/Creator.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/core/entity/identifier/Creator.java index 8a2bcf25e2e0a7bfc4add70406bc84503cb959d2..428d70d719cb3ca2751d29935787608cc7ab0678 100644 --- a/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/core/entity/identifier/Creator.java +++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/core/entity/identifier/Creator.java @@ -23,6 +23,9 @@ public class Creator { @Column(columnDefinition = "VARCHAR(36)") private UUID id; + @Column + private Integer ordinalPosition; + @Column(name = "given_names") private String firstname; diff --git a/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/core/entity/identifier/Identifier.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/core/entity/identifier/Identifier.java index ac0559fa96fea27761b1b95f86db7da77563aef4..b54651ac5811ae17c2b4c96cfe36569d547ff30d 100644 --- a/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/core/entity/identifier/Identifier.java +++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/core/entity/identifier/Identifier.java @@ -55,7 +55,7 @@ public class Identifier implements Serializable { * Creators are created/updated/deleted by the Identifier entity. */ @OneToMany(fetch = FetchType.LAZY, cascade = {CascadeType.ALL, CascadeType.PERSIST}, mappedBy = "identifier") - @OrderBy("id") + @OrderBy("ordinalPosition ASC") private List<Creator> creators; @Column(nullable = false) @@ -73,21 +73,21 @@ public class Identifier implements Serializable { * Titles are created/updated/deleted by the Identifier entity. */ @OneToMany(fetch = FetchType.LAZY, cascade = {CascadeType.ALL, CascadeType.PERSIST}, mappedBy = "identifier") - @OrderBy("id") + @OrderBy("ordinalPosition ASC") private List<IdentifierTitle> titles; /** * Descriptions are created/updated/deleted by the Identifier entity. */ @OneToMany(fetch = FetchType.LAZY, cascade = {CascadeType.ALL, CascadeType.PERSIST}, mappedBy = "identifier") - @OrderBy("id") + @OrderBy("ordinalPosition ASC") private List<IdentifierDescription> descriptions; /** * Funders are created/updated/deleted by the Identifier entity. */ @OneToMany(fetch = FetchType.LAZY, cascade = {CascadeType.ALL, CascadeType.PERSIST}, mappedBy = "identifier") - @OrderBy("id") + @OrderBy("ordinalPosition ASC") private List<IdentifierFunder> funders; /** @@ -145,7 +145,7 @@ public class Identifier implements Serializable { private Database database; @OneToMany(fetch = FetchType.LAZY, cascade = {CascadeType.ALL, CascadeType.PERSIST}, mappedBy = "identifier") - @OrderBy("id") + @OrderBy("ordinalPosition ASC") private List<RelatedIdentifier> relatedIdentifiers; @Column diff --git a/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/core/entity/identifier/IdentifierDescription.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/core/entity/identifier/IdentifierDescription.java index ab73de406ee607253f14a182a4c9af9f748666dc..72c531c82b4e7d081a1112513a633040c3cc4e6c 100644 --- a/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/core/entity/identifier/IdentifierDescription.java +++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/core/entity/identifier/IdentifierDescription.java @@ -25,6 +25,9 @@ public class IdentifierDescription implements Serializable { @Column(columnDefinition = "VARCHAR(36)") private UUID id; + @Column + private Integer ordinalPosition; + @Column(nullable = false, columnDefinition = "TEXT") private String description; diff --git a/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/core/entity/identifier/IdentifierFunder.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/core/entity/identifier/IdentifierFunder.java index eb3c21e61794726e53cabfcfe8e32e58072789d9..252957f8e43e6915a7b6361a3d9d92e8c707a234 100644 --- a/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/core/entity/identifier/IdentifierFunder.java +++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/core/entity/identifier/IdentifierFunder.java @@ -24,6 +24,9 @@ public class IdentifierFunder implements Serializable { @Column(columnDefinition = "VARCHAR(36)") private UUID id; + @Column + private Integer ordinalPosition; + @Column(nullable = false) private String funderName; diff --git a/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/core/entity/identifier/IdentifierTitle.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/core/entity/identifier/IdentifierTitle.java index 8dbbdac0a9dd7804f61315892201c5df53857403..c19a02e9873ccf0654d81d6ca384c3d0ee748dd1 100644 --- a/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/core/entity/identifier/IdentifierTitle.java +++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/core/entity/identifier/IdentifierTitle.java @@ -25,6 +25,9 @@ public class IdentifierTitle implements Serializable { @Column(columnDefinition = "VARCHAR(36)") private UUID id; + @Column + private Integer ordinalPosition; + @Column(nullable = false, columnDefinition = "TEXT") private String title; diff --git a/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/core/entity/identifier/RelatedIdentifier.java b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/core/entity/identifier/RelatedIdentifier.java index e0eb28d11b7c68753c2f99564d28bb59be7fbf17..29fcf641599b08ca15d14fc7a360eb8e1a934973 100644 --- a/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/core/entity/identifier/RelatedIdentifier.java +++ b/lib/java/dbrepo-core/src/main/java/at/ac/tuwien/ifs/dbrepo/core/entity/identifier/RelatedIdentifier.java @@ -25,6 +25,9 @@ public class RelatedIdentifier { @Column(columnDefinition = "VARCHAR(36)") private UUID id; + @Column + private Integer ordinalPosition; + @Column(nullable = false) private String value; diff --git a/lib/python/dbrepo/RestClient.py b/lib/python/dbrepo/RestClient.py index dbf1c7911f9b1e46b88125540c0cd716e00f643f..18c951bce97a6a096cf7442893bb5bf137c73454 100644 --- a/lib/python/dbrepo/RestClient.py +++ b/lib/python/dbrepo/RestClient.py @@ -23,7 +23,7 @@ class RestClient: variables, e.g. set endpoint with REST_API_ENDPOINT, username with REST_API_USERNAME, etc. You can override \ the constructor parameters with the environment variables. - :param endpoint: The REST API endpoint. Optional. Default: "http://gateway-service" + :param endpoint: The REST API endpoint. Optional. Default: `http://gateway-service` :param username: The REST API username. Optional. :param password: The REST API password. Optional. :param secure: When set to false, the requests library will not verify the authenticity of your TLS/SSL @@ -626,7 +626,7 @@ class RestClient: :param database_id: The database id. :param table_id: The table id. - :param size: The number of operations. Optional. Default: 100. + :param size: The number of operations. Optional. Default: `100`. :raises MalformedError: If the payload is rejected by the service. :raises ForbiddenError: If something went wrong with the authorization. @@ -809,8 +809,8 @@ class RestClient: :param database_id: The database id. :param view_id: The view id. - :param page: The result pagination number. Optional. Default: 0. - :param size: The result pagination size. Optional. Default: 10. + :param page: The result pagination number. Optional. Default: `0`. + :param size: The result pagination size. Optional. Default: `10`. :returns: The view data, if successful. @@ -850,8 +850,8 @@ class RestClient: :param database_id: The database id. :param table_id: The table id. - :param page: The result pagination number. Optional. Default: 0. - :param size: The result pagination size. Optional. Default: 10. + :param page: The result pagination number. Optional. Default: `0`. + :param size: The result pagination size. Optional. Default: `10`. :param timestamp: The query execution time. Optional. :returns: The table data, if successful. @@ -1804,11 +1804,13 @@ class RestClient: raise ResponseCodeError(f'Failed to get identifier: response code: {response.status_code} is not ' f'200 (OK): {response.text}') - def get_identifier_data(self, identifier_id: str) -> DataFrame: + def get_identifier_data(self, identifier_id: str, page: int = 0, size: int = 10000) -> DataFrame: """ Get the identifier data by given id. :param identifier_id: The identifier id. + :param page: The result pagination number. Optional. Default: `0`. + :param size: The result pagination size. Optional. Default: `10000`. :returns: The identifier, if successful. @@ -1821,14 +1823,14 @@ class RestClient: body = response.json() identifier = Identifier.model_validate(body) if identifier.type == IdentifierType.VIEW: - return self.get_view_data(database_id=identifier.database_id, view_id=identifier.view_id, page=0, - size=10000) + return self.get_view_data(database_id=identifier.database_id, view_id=identifier.view_id, page=page, + size=size) elif identifier.type == IdentifierType.TABLE: - return self.get_table_data(database_id=identifier.database_id, table_id=identifier.table_id, page=0, - size=10000) + return self.get_table_data(database_id=identifier.database_id, table_id=identifier.table_id, page=page, + size=size) elif identifier.type == IdentifierType.SUBSET: - return self.get_subset_data(database_id=identifier.database_id, subset_id=identifier.query_id, page=0, - size=10000) + return self.get_subset_data(database_id=identifier.database_id, subset_id=identifier.query_id, + page=page, size=size) raise FormatNotAvailable(f'Failed to get identifier data: type is database') if response.status_code == 404: raise NotExistsError(f'Failed to get identifier data: not found') diff --git a/lib/python/dbrepo/api/test.py b/lib/python/dbrepo/api/test.py new file mode 100644 index 0000000000000000000000000000000000000000..4a5b85e001ffaec74554dc3dbdf6f843fadbcc10 --- /dev/null +++ b/lib/python/dbrepo/api/test.py @@ -0,0 +1,8 @@ +class MockResponse: + def __init__(self, status_code, headers=None, json_data=None): + self.status_code = status_code + self.headers = headers or {"Content-Type": "application/json"} + self.json_data = json_data + + def json(self): + return self.json_data diff --git a/lib/python/dbrepo/core/client/dashboard.py b/lib/python/dbrepo/core/client/dashboard.py index b609da692bba7fc38ab45a507b1e7b52193b1ac4..f65c569d6db9d7e59f502053f3eacee97758f432 100644 --- a/lib/python/dbrepo/core/client/dashboard.py +++ b/lib/python/dbrepo/core/client/dashboard.py @@ -7,7 +7,6 @@ from requests import Response from dbrepo.api.dto import Database, ColumnType, ViewColumn, View from dbrepo.core.api.dto import Permission -from dbrepo.core.api.exceptions import DashboardNotFound statistics_row_title = 'Generated Dashboard' auto_generated_description = 'Auto-generated' @@ -34,6 +33,15 @@ def map_link(title: str, url: str, icon: str = 'info', open_new_window: bool = T url=url) +def _get_managed_offset_y(dashboard: dict) -> int | None: + idx = [panel['title'] for panel in dashboard['panels']].index(statistics_row_title) + if idx == -1: + return None + offset_y = dashboard['panels'][idx]['gridPos']['y'] + logging.debug(f'managed panel y-offset: {offset_y}') + return offset_y + + def _get_start_index(dashboard: dict) -> int | None: return [panel['title'] for panel in dashboard['panels']].index(statistics_row_title) @@ -71,7 +79,7 @@ def map_row(title: str, x: int = 0, y: int = 0) -> dict: y=y)) -def map_preview_image_panel(database_id: str, w: int = 4, h: int = 4, x: int = 20, y: int = 1) -> dict: +def map_preview_image_panel(database_id: str, w: int = 4, h: int = 4, x: int = 20, y: int = 0) -> dict: return dict(title='Preview Image', type='text', description=auto_generated_description, @@ -148,7 +156,8 @@ class DashboardServiceClient: def update(self, database: Database) -> None: dashboard = self.find(database.dashboard_uid) if dashboard is None: - raise DashboardNotFound(f'Dashboard {database.dashboard_uid} not found') + self.create(database.internal_name, database.dashboard_uid) + dashboard = self.find(database.dashboard_uid) dashboard = dashboard['dashboard'] # update metadata if not database.is_dashboard_enabled and 'managed' in dashboard['tags']: @@ -437,7 +446,7 @@ class DashboardServiceClient: y: int = 8) -> dict: return self._map_timeseries_panel(database_id, view, 'histogram', h, w, x, y) - def map_data_sources_panel(self, database_id: str, x: int = 0, y: int = 1) -> dict: + def map_data_sources_panel(self, database_id: str, x: int = 0, y: int = 0) -> dict: datasource = dict(uid=self.datasource_uid, type='yesoreyeram-infinity-datasource') return dict(title='Datasources', @@ -487,26 +496,32 @@ class DashboardServiceClient: def get_panels(self, dashboard: dict, database: Database) -> [dict]: panels = dashboard['panels'] + managed_offset = 1 try: + managed_offset = _get_managed_offset_y(dashboard) end_index = _get_start_index(dashboard) logging.debug(f'splicing managed panels after index: {end_index}') panels = panels[:end_index] except ValueError: logging.warning(f'No managed panels found') original_panels_size = len(panels) - panels.append(map_row(statistics_row_title, 0, 0)) - panels.append(self.map_data_sources_panel(database.id)) + panels.append(map_row(statistics_row_title, 0, managed_offset + 0)) + panels.append(self.map_data_sources_panel(database.id, y=managed_offset)) if database.preview_image is not None: - panels.append(map_preview_image_panel(database.id)) + panels.append(map_preview_image_panel(database.id, y=managed_offset)) for i, view in enumerate(database.views): # section - panels.append(map_row(view.name, 0, i * section_height + 4)) - panels.append(self.map_overview_panel(database.id, view.id, 0, i * section_height + 8)) - panels.append(self.map_rows_panel(database.id, view.id, 18, i * section_height + 4)) - panels.append(self.map_columns_panel(database.id, view.id, 18, i * section_height + 8)) - panels.append(self.map_statistics_panel(database.id, view.id, h=8, w=12, x=0, y=i * section_height + 12)) - panels.append(self.map_histogram_panel(database.id, view, h=8, w=12, x=12, y=i * section_height + 12)) - panels.append(self.map_timeseries_panel(database.id, view, h=8, w=8, x=0, y=i * section_height + 20)) - panels.append(self.map_pie_panel(database.id, view, h=8, w=8, x=8, y=i * section_height + 20)) + panels.append(map_row(view.name, 0, y=i * section_height + managed_offset + 4)) + panels.append(self.map_overview_panel(database.id, view.id, 0, y=i * section_height + managed_offset + 8)) + panels.append(self.map_rows_panel(database.id, view.id, 18, y=i * section_height + managed_offset + 4)) + panels.append(self.map_columns_panel(database.id, view.id, 18, y=i * section_height + managed_offset + 8)) + panels.append(self.map_statistics_panel(database.id, view.id, h=8, w=12, x=0, + y=i * section_height + managed_offset + 12)) + panels.append(self.map_histogram_panel(database.id, view, h=8, w=12, x=12, + y=i * section_height + managed_offset + 12)) + panels.append(self.map_timeseries_panel(database.id, view, h=8, w=8, x=0, + y=i * section_height + managed_offset + 20)) + panels.append(self.map_pie_panel(database.id, view, h=8, w=8, x=8, + y=i * section_height + managed_offset + 20)) logging.info(f'Added {len(panels) - original_panels_size} managed panel(s)') return panels diff --git a/lib/python/docs/index.rst b/lib/python/docs/index.rst index b7b6bf88e0d7401360df5b7c8b15409e8c3c1fb1..5f4e4c633ac60016fa72dbe7f6fcbf7007d3f203 100644 --- a/lib/python/docs/index.rst +++ b/lib/python/docs/index.rst @@ -6,7 +6,7 @@ Pandas `DataFrame <https://pandas.pydata.org/docs/reference/api/pandas.DataFrame provides an object-oriented API as well as low-level access to DBRepo services. .. note:: - The SDK has been implemented and documented for DBRepo version 1.8.0, earlier versions may be supported but are not tested for compatibility. + The SDK has been implemented and documented for DBRepo version 1.9.0, earlier versions may be supported but are not tested for compatibility. Quickstart ---------- diff --git a/lib/python/pyproject.toml b/lib/python/pyproject.toml index d235ee9ae1976a6ffa426e7dbbf6d19e42064bfa..50ee92410fbf74ed73f9a298c30c649023aca3e1 100644 --- a/lib/python/pyproject.toml +++ b/lib/python/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "dbrepo" -version = "1.8.2" +version = "1.9.0" description = "DBRepo Python Library" keywords = [ "DBRepo", @@ -33,7 +33,7 @@ requires = [ build-backend = "setuptools.build_meta" [project.urls] -Homepage = "https://www.ifs.tuwien.ac.at/infrastructures/dbrepo/1.8/" -Documentation = "https://www.ifs.tuwien.ac.at/infrastructures/dbrepo/1.8/python/" +Homepage = "https://www.ifs.tuwien.ac.at/infrastructures/dbrepo/1.9/" +Documentation = "https://www.ifs.tuwien.ac.at/infrastructures/dbrepo/1.9/python/" Issues = "https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/issues" Source = "https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/" \ No newline at end of file diff --git a/lib/python/setup.py b/lib/python/setup.py index bb75727d7674ce488ed12fdd55dc011c64540d92..1c6a1013ba228b0b9dce10bb12eb7dbbf4c7dc9f 100644 --- a/lib/python/setup.py +++ b/lib/python/setup.py @@ -2,9 +2,9 @@ from distutils.core import setup setup(name="dbrepo", - version="1.8.2", + version="1.9.0", description="A library for communicating with DBRepo", - url="https://www.ifs.tuwien.ac.at/infrastructures/dbrepo/1.8/", + url="https://www.ifs.tuwien.ac.at/infrastructures/dbrepo/1.9/", author="Martin Weise", license="Apache-2.0", author_email="martin.weise@tuwien.ac.at", diff --git a/make/build.mk b/make/build.mk index 6e2306052ebc7363eb6781d1b09bce53717c244a..78c36e23b17d109215bed545cb2721f1fb009805 100644 --- a/make/build.mk +++ b/make/build.mk @@ -13,7 +13,8 @@ build-java-lib: ## Build the Java Library. .PHONY: build-auth-event-listener build-auth-event-listener: ## Build the Auth Service Event Listener. mvn -f ./dbrepo-auth-service/listeners/pom.xml -q clean package -DskipTests - cp ./dbrepo-auth-service/listeners/target/create-event-listener.jar ./helm/dbrepo/files/create-event-listener.jar + cp ./dbrepo-auth-service/listeners/target/create-event-listener.jar ./dbrepo-auth-service/listeners/create-event-listener.jar + cp ./dbrepo-auth-service/listeners/create-event-listener.jar ./helm/dbrepo/files/create-event-listener.jar .PHONY: build-ui build-ui: ## Build the UI. diff --git a/make/dev.mk b/make/dev.mk index e580b178b37af91fb32cedf523478c473db4ba62..ac5e0e400135d49f30c3ebdb06d8eb07f9363928 100644 --- a/make/dev.mk +++ b/make/dev.mk @@ -19,6 +19,7 @@ package-config: ## Package the config files cp ./dbrepo-data-db/1_grant-user.sql ./.docker/config cp ./dbrepo-metadata-db/1_setup-schema.sql ./.docker/config cp ./dbrepo-metadata-db/2_setup-data.sql ./.docker/config + cp ./dbrepo-metadata-db/metrics.cnf ./.docker/config cp ./dbrepo-broker-service/rabbitmq.conf ./.docker/config cp ./dbrepo-broker-service/enabled_plugins ./.docker/config cp ./dbrepo-broker-service/definitions.json ./.docker/config @@ -28,11 +29,9 @@ package-config: ## Package the config files cp -r ./dbrepo-dashboard-ui/provisioning ./.docker/config cp ./dbrepo-dashboard-ui/grafana.ini ./.docker/config/grafana.ini cp ./dbrepo-dashboard-ui/ldap.toml ./.docker/config/ldap.toml - cp ./dbrepo-logging-service/fluentbit.conf ./.docker/config - cp ./dbrepo-logging-service/fluentbit_parser.conf ./.docker/config cp ./dbrepo-metric-db/prometheus.yml ./.docker/config cp ./dbrepo-storage-service/s3_config.json ./.docker/config - cp ./dbrepo-auth-service/listeners/target/create-event-listener.jar ./.docker/config + cp ./dbrepo-auth-service/listeners/create-event-listener.jar ./.docker/config cd ./.docker && tar czf ./dist.tar.gz ./docker-compose.yml ./.env ./config .PHONY: install-staging diff --git a/mkdocs.yml b/mkdocs.yml index 5051d9a3280ca8508dc30a1da884dcbe0cf09be6..204f83473447bee20e8563d9896f5491dde5e5e7 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -120,9 +120,9 @@ markdown_extensions: custom_icons: - .docs/overrides/.icons extra: - homepage: https://www.ifs.tuwien.ac.at/infrastructures/dbrepo/1.8/ + homepage: https://www.ifs.tuwien.ac.at/infrastructures/dbrepo/1.9/ version: - default: 1.8 + default: 1.9 provider: mike social: - icon: simple/artifacthub diff --git a/sonar-project.properties b/sonar-project.properties index e03bd285ecec857838e6ada7df2e6513c7d8f804..627e560efa132c24d49bebfd850daf6772a86a4e 100644 --- a/sonar-project.properties +++ b/sonar-project.properties @@ -2,7 +2,7 @@ sonar.projectKey=fair-data-austria-db-repository_fda-services_a57fa043-ab99-4cdd-a721-162d9a916d77 sonar.host.url=https://s39.datalab.tuwien.ac.at/sonarqube/ # project -sonar.projectVersion=1.8.2 +sonar.projectVersion=1.9.0 # general sonar.qualitygate.wait=true sonar.projectCreation.mainBranchName=master diff --git a/versions.json b/versions.json index f2244538ba971ec76911ffacec64c9bf23e5207b..7a8c81bf0a5f84b6b4ac694af51797254a91907e 100644 --- a/versions.json +++ b/versions.json @@ -1,8 +1,13 @@ [ + { + "version": "1.9", + "title": "1.9", + "aliases": ["latest"] + }, { "version": "1.8", "title": "1.8", - "aliases": ["latest"] + "aliases": [] }, { "version": "1.7",