diff --git a/.github/workflows/.trivyignore b/.github/workflows/.trivyignore index c0db40e5ec..c06bb263ca 100644 --- a/.github/workflows/.trivyignore +++ b/.github/workflows/.trivyignore @@ -1,2 +1,5 @@ # ref https://github.com/catenax-ng/product-traceability-foss-backend/security/code-scanning/1419 CVE-2022-25857 +# ref https://github.com/catenax-ng/tx-traceability-foss/security/code-scanning/6879 +# this is acceptable due to custom environment variable injection script which is executed upon FE container startup +AVD-KSV-0014 diff --git a/.github/workflows/helm-chart-release.yaml b/.github/workflows/helm-chart-release.yaml index 26ff519300..3736532d76 100644 --- a/.github/workflows/helm-chart-release.yaml +++ b/.github/workflows/helm-chart-release.yaml @@ -81,6 +81,8 @@ jobs: - name: Run chart-releaser uses: helm/chart-releaser-action@v1.6.0 + with: + mark_as_latest: false env: CR_TOKEN: "${{ secrets.GITHUB_TOKEN }}" CR_RELEASE_NAME_TEMPLATE: "${{ env.RELEASE_VERSION }}" diff --git a/CHANGELOG.md b/CHANGELOG.md index a625600e3a..2aca15f5ad 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,8 +8,15 @@ to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## [UNRELEASED - DD.MM.YYYY] ### Added - +- Added AVD-KSV-0014 to trivy ignore +- Added tooltips on functionalities that are unauthorized or unavailable +- ### Changed +- Updated Irs Library from 1.4.1-SNAPSHOT to 1.5.1-SNAPSHOT +- Changed some java implementations according to security findings ( business logic unchanged ) +- Adjusted sync logic to create jobs only for related BomLifecycles +- Spring core updated from 6.0.14 to 6.0.16 +- Springboot updated from 3.1.6 to 3.1.7 ### Removed @@ -33,6 +40,7 @@ to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). - Added GET /policies endpoint to retrieve accepted policies - Added POST assets/publish endpoint to publish transient assets + ### Changed - Fixed security findings - Rework GET alerts and investigations endpoint to POST to send a request body diff --git a/DEPENDENCIES_BACKEND b/DEPENDENCIES_BACKEND index 8c14543193..d9941a6306 100644 --- a/DEPENDENCIES_BACKEND +++ b/DEPENDENCIES_BACKEND @@ -1,6 +1,4 @@ -maven/mavencentral/ch.qos.logback/logback-classic/1.4.11, EPL-1.0 OR LGPL-2.1-only, approved, #3435 maven/mavencentral/ch.qos.logback/logback-classic/1.4.14, EPL-1.0 OR LGPL-2.1-only, approved, #3435 -maven/mavencentral/ch.qos.logback/logback-core/1.4.11, EPL-1.0 OR LGPL-2.1-only, approved, #3373 maven/mavencentral/ch.qos.logback/logback-core/1.4.14, EPL-1.0 OR LGPL-2.1-only, approved, #3373 maven/mavencentral/com.apicatalog/titanium-json-ld/1.3.2, Apache-2.0, approved, #8912 maven/mavencentral/com.auth0/java-jwt/4.4.0, MIT, approved, #8459 @@ -104,13 +102,13 @@ maven/mavencentral/io.github.resilience4j/resilience4j-retry/2.0.2, Apache-2.0, maven/mavencentral/io.github.resilience4j/resilience4j-spring-boot3/2.0.2, Apache-2.0, approved, #7276 maven/mavencentral/io.github.resilience4j/resilience4j-spring6/2.0.2, Apache-2.0, approved, #7277 maven/mavencentral/io.github.resilience4j/resilience4j-timelimiter/2.0.2, Apache-2.0, approved, clearlydefined -maven/mavencentral/io.micrometer/micrometer-commons/1.11.6, Apache-2.0 AND (Apache-2.0 AND MIT), approved, #9243 -maven/mavencentral/io.micrometer/micrometer-core/1.11.6, Apache-2.0 AND (Apache-2.0 AND MIT), approved, #9238 -maven/mavencentral/io.micrometer/micrometer-observation/1.11.6, Apache-2.0, approved, #9242 +maven/mavencentral/io.micrometer/micrometer-commons/1.11.7, Apache-2.0 AND (Apache-2.0 AND MIT), approved, #9243 +maven/mavencentral/io.micrometer/micrometer-core/1.11.7, Apache-2.0 AND (Apache-2.0 AND MIT), approved, #9238 +maven/mavencentral/io.micrometer/micrometer-observation/1.11.7, Apache-2.0, approved, #9242 maven/mavencentral/io.opentelemetry/opentelemetry-api/1.25.0, Apache-2.0, approved, clearlydefined -maven/mavencentral/io.opentelemetry/opentelemetry-api/1.27.0, Apache-2.0, approved, clearlydefined +maven/mavencentral/io.opentelemetry/opentelemetry-api/1.29.0, Apache-2.0, approved, #10088 maven/mavencentral/io.opentelemetry/opentelemetry-context/1.25.0, Apache-2.0, approved, clearlydefined -maven/mavencentral/io.opentelemetry/opentelemetry-context/1.27.0, Apache-2.0, approved, clearlydefined +maven/mavencentral/io.opentelemetry/opentelemetry-context/1.29.0, Apache-2.0, approved, #10090 maven/mavencentral/io.rest-assured/json-path/5.3.2, Apache-2.0, approved, #9261 maven/mavencentral/io.rest-assured/json-schema-validator/5.4.0, Apache-2.0, approved, clearlydefined maven/mavencentral/io.rest-assured/rest-assured-common/5.3.2, Apache-2.0, approved, #9264 @@ -158,11 +156,11 @@ maven/mavencentral/org.apache.commons/commons-lang3/3.11, Apache-2.0, approved, maven/mavencentral/org.apache.commons/commons-lang3/3.12.0, Apache-2.0, approved, clearlydefined maven/mavencentral/org.apache.commons/commons-text/1.10.0, Apache-2.0, approved, clearlydefined maven/mavencentral/org.apache.groovy/groovy-json/4.0.11, Apache-2.0, approved, #7411 -maven/mavencentral/org.apache.groovy/groovy-json/4.0.15, Apache-2.0, approved, #7411 +maven/mavencentral/org.apache.groovy/groovy-json/4.0.16, Apache-2.0, approved, #7411 maven/mavencentral/org.apache.groovy/groovy-xml/4.0.11, Apache-2.0, approved, #10179 -maven/mavencentral/org.apache.groovy/groovy-xml/4.0.15, Apache-2.0, approved, #10179 +maven/mavencentral/org.apache.groovy/groovy-xml/4.0.16, Apache-2.0, approved, #10179 maven/mavencentral/org.apache.groovy/groovy/4.0.11, Apache-2.0 AND BSD-3-Clause AND MIT, approved, #1742 -maven/mavencentral/org.apache.groovy/groovy/4.0.15, Apache-2.0 AND BSD-3-Clause AND MIT, approved, #1742 +maven/mavencentral/org.apache.groovy/groovy/4.0.16, Apache-2.0 AND BSD-3-Clause AND MIT, approved, #1742 maven/mavencentral/org.apache.httpcomponents/httpclient/4.5.13, Apache-2.0 AND LicenseRef-Public-Domain, approved, CQ23527 maven/mavencentral/org.apache.httpcomponents/httpcore/4.4.13, Apache-2.0, approved, CQ23528 maven/mavencentral/org.apache.httpcomponents/httpcore/4.4.16, Apache-2.0, approved, CQ23528 @@ -171,116 +169,120 @@ maven/mavencentral/org.apache.logging.log4j/log4j-api/2.20.0, Apache-2.0, approv maven/mavencentral/org.apache.logging.log4j/log4j-to-slf4j/2.20.0, Apache-2.0, approved, #8799 maven/mavencentral/org.apache.mina/mina-core/2.1.6, Apache-2.0, approved, #3289 maven/mavencentral/org.apache.tomcat.embed/tomcat-embed-core/10.1.16, Apache-2.0 AND (EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0) AND (CDDL-1.0 OR GPL-2.0-only WITH Classpath-exception-2.0) AND W3C AND CC0-1.0, approved, #5949 -maven/mavencentral/org.apache.tomcat.embed/tomcat-embed-el/10.1.16, Apache-2.0, approved, #6997 +maven/mavencentral/org.apache.tomcat.embed/tomcat-embed-core/10.1.17, Apache-2.0 AND (EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0) AND (CDDL-1.0 OR GPL-2.0-only WITH Classpath-exception-2.0) AND W3C AND CC0-1.0, approved, #5949 +maven/mavencentral/org.apache.tomcat.embed/tomcat-embed-el/10.1.17, Apache-2.0, approved, #6997 maven/mavencentral/org.apache.tomcat.embed/tomcat-embed-websocket/10.1.16, Apache-2.0, approved, #7920 +maven/mavencentral/org.apache.tomcat.embed/tomcat-embed-websocket/10.1.17, Apache-2.0, approved, #7920 maven/mavencentral/org.apache.tomcat/tomcat-annotations-api/10.1.16, Apache-2.0, approved, #8196 +maven/mavencentral/org.apache.tomcat/tomcat-annotations-api/10.1.17, Apache-2.0, approved, #8196 maven/mavencentral/org.apiguardian/apiguardian-api/1.1.2, Apache-2.0, approved, clearlydefined -maven/mavencentral/org.aspectj/aspectjweaver/1.9.20.1, Apache-2.0 AND BSD-3-Clause AND EPL-1.0 AND BSD-3-Clause AND Apache-1.1, approved, #7695 +maven/mavencentral/org.aspectj/aspectjweaver/1.9.21, Apache-2.0 AND BSD-3-Clause AND EPL-1.0 AND BSD-3-Clause AND Apache-1.1, approved, #7695 maven/mavencentral/org.assertj/assertj-core/3.24.2, Apache-2.0, approved, #6161 maven/mavencentral/org.attoparser/attoparser/2.0.7.RELEASE, Apache-2.0, approved, CQ18900 maven/mavencentral/org.awaitility/awaitility-proxy/3.0.0, Apache-2.0, approved, #11044 maven/mavencentral/org.awaitility/awaitility/3.0.0, Apache-2.0, approved, #11042 maven/mavencentral/org.bitbucket.b_c/jose4j/0.9.3, Apache-2.0, approved, #4707 maven/mavencentral/org.bouncycastle/bcpkix-jdk15on/1.69, MIT, approved, clearlydefined -maven/mavencentral/org.bouncycastle/bcpkix-jdk18on/1.75, MIT, approved, #9166 +maven/mavencentral/org.bouncycastle/bcpkix-jdk18on/1.76, MIT, approved, #9825 maven/mavencentral/org.bouncycastle/bcprov-jdk15on/1.69, MIT, approved, clearlydefined maven/mavencentral/org.bouncycastle/bcprov-jdk18on/1.76, MIT AND CC0-1.0, approved, #9827 maven/mavencentral/org.bouncycastle/bcutil-jdk15on/1.69, MIT, approved, clearlydefined -maven/mavencentral/org.bouncycastle/bcutil-jdk18on/1.75, MIT, approved, #9170 +maven/mavencentral/org.bouncycastle/bcutil-jdk18on/1.76, MIT, approved, #9828 maven/mavencentral/org.ccil.cowan.tagsoup/tagsoup/1.2.1, Apache-2.0, approved, clearlydefined maven/mavencentral/org.checkerframework/checker-qual/3.31.0, MIT, approved, clearlydefined maven/mavencentral/org.eclipse.angus/angus-activation/2.0.0, EPL-2.0 OR GPL-2.0-only with Classpath-exception-2.0, approved, ee4j.angus maven/mavencentral/org.eclipse.angus/angus-activation/2.0.1, EPL-2.0 OR GPL-2.0-only with Classpath-exception-2.0, approved, ee4j.angus -maven/mavencentral/org.eclipse.edc/aggregate-service-spi/0.1.3, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/asset-spi/0.1.3, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/catalog-spi/0.1.3, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/connector-core/0.1.3, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/contract-spi/0.1.3, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/control-plane-spi/0.1.3, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/core-spi/0.1.3, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/dsp-api-configuration/0.1.3, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/dsp-catalog-api/0.1.3, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/dsp-catalog-http-dispatcher/0.1.3, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/dsp-catalog-transform/0.1.3, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/dsp-catalog/0.1.3, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/dsp-http-core/0.1.3, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/dsp-http-spi/0.1.3, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/dsp-negotiation-api/0.1.3, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/dsp-negotiation-http-dispatcher/0.1.3, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/dsp-negotiation-transform/0.1.3, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/dsp-negotiation/0.1.3, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/dsp-spi/0.1.3, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/dsp-transfer-process-api/0.1.3, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/dsp-transfer-process-http-dispatcher/0.1.3, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/dsp-transfer-process-transform/0.1.3, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/dsp-transfer-process/0.1.3, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/dsp-transform/0.1.3, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/dsp/0.1.3, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/http-spi/0.1.3, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/http/0.1.3, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/jersey-core/0.1.3, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/jersey-providers/0.1.3, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/jetty-core/0.1.3, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/json-ld-spi/0.1.3, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/json-ld/0.1.3, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/policy-engine-spi/0.1.3, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/policy-engine/0.1.3, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/policy-evaluator/0.1.3, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/policy-model/0.1.3, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/policy-spi/0.1.3, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/runtime-metamodel/0.1.3, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/transaction-datasource-spi/0.1.3, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/transaction-spi/0.1.3, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/transfer-data-plane-spi/0.1.3, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/transfer-spi/0.1.3, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/transform-spi/0.1.3, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/util/0.1.3, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/validator-spi/0.1.3, Apache-2.0, approved, technology.edc -maven/mavencentral/org.eclipse.edc/web-spi/0.1.3, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/aggregate-service-spi/0.2.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/asset-spi/0.2.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/catalog-spi/0.2.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/connector-core/0.2.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/contract-spi/0.2.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/control-plane-spi/0.2.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/core-spi/0.2.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/dsp-api-configuration/0.2.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/dsp-catalog-api/0.2.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/dsp-catalog-http-dispatcher/0.2.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/dsp-catalog-transform/0.2.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/dsp-catalog/0.2.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/dsp-http-core/0.2.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/dsp-http-spi/0.2.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/dsp-negotiation-api/0.2.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/dsp-negotiation-http-dispatcher/0.2.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/dsp-negotiation-transform/0.2.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/dsp-negotiation/0.2.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/dsp-spi/0.2.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/dsp-transfer-process-api/0.2.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/dsp-transfer-process-http-dispatcher/0.2.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/dsp-transfer-process-transform/0.2.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/dsp-transfer-process/0.2.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/dsp/0.2.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/http-spi/0.2.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/http/0.2.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/jersey-core/0.2.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/jersey-providers/0.2.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/jetty-core/0.2.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/json-ld-spi/0.2.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/json-ld/0.2.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/policy-engine-spi/0.2.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/policy-engine/0.2.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/policy-evaluator/0.2.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/policy-model/0.2.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/policy-spi/0.2.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/runtime-metamodel/0.2.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/transaction-datasource-spi/0.2.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/transaction-spi/0.2.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/transfer-data-plane-spi/0.2.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/transfer-spi/0.2.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/transform-core/0.2.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/transform-spi/0.2.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/util/0.2.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/validator-core/0.2.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/validator-spi/0.2.1, Apache-2.0, approved, technology.edc +maven/mavencentral/org.eclipse.edc/web-spi/0.2.1, Apache-2.0, approved, technology.edc maven/mavencentral/org.eclipse.jetty.toolchain/jetty-jakarta-servlet-api/5.0.2, EPL-2.0 OR Apache-2.0, approved, rt.jetty maven/mavencentral/org.eclipse.jetty.toolchain/jetty-jakarta-websocket-api/2.0.0, EPL-2.0 OR Apache-2.0, approved, rt.jetty maven/mavencentral/org.eclipse.jetty.websocket/websocket-core-client/11.0.17, EPL-2.0 OR Apache-2.0, approved, rt.jetty -maven/mavencentral/org.eclipse.jetty.websocket/websocket-core-client/11.0.18, EPL-2.0 OR Apache-2.0, approved, rt.jetty +maven/mavencentral/org.eclipse.jetty.websocket/websocket-core-client/11.0.19, EPL-2.0 OR Apache-2.0, approved, rt.jetty maven/mavencentral/org.eclipse.jetty.websocket/websocket-core-common/11.0.17, EPL-2.0 OR Apache-2.0, approved, rt.jetty -maven/mavencentral/org.eclipse.jetty.websocket/websocket-core-common/11.0.18, EPL-2.0 OR Apache-2.0, approved, rt.jetty +maven/mavencentral/org.eclipse.jetty.websocket/websocket-core-common/11.0.19, EPL-2.0 OR Apache-2.0, approved, rt.jetty maven/mavencentral/org.eclipse.jetty.websocket/websocket-core-server/11.0.17, EPL-2.0 OR Apache-2.0, approved, rt.jetty -maven/mavencentral/org.eclipse.jetty.websocket/websocket-core-server/11.0.18, EPL-2.0 OR Apache-2.0, approved, rt.jetty +maven/mavencentral/org.eclipse.jetty.websocket/websocket-core-server/11.0.19, EPL-2.0 OR Apache-2.0, approved, rt.jetty maven/mavencentral/org.eclipse.jetty.websocket/websocket-jakarta-client/11.0.17, EPL-2.0 OR Apache-2.0, approved, rt.jetty -maven/mavencentral/org.eclipse.jetty.websocket/websocket-jakarta-client/11.0.18, EPL-2.0 OR Apache-2.0, approved, rt.jetty +maven/mavencentral/org.eclipse.jetty.websocket/websocket-jakarta-client/11.0.19, EPL-2.0 OR Apache-2.0, approved, rt.jetty maven/mavencentral/org.eclipse.jetty.websocket/websocket-jakarta-common/11.0.17, EPL-2.0 OR Apache-2.0, approved, rt.jetty -maven/mavencentral/org.eclipse.jetty.websocket/websocket-jakarta-common/11.0.18, EPL-2.0 OR Apache-2.0, approved, rt.jetty +maven/mavencentral/org.eclipse.jetty.websocket/websocket-jakarta-common/11.0.19, EPL-2.0 OR Apache-2.0, approved, rt.jetty maven/mavencentral/org.eclipse.jetty.websocket/websocket-jakarta-server/11.0.17, EPL-2.0 OR Apache-2.0, approved, rt.jetty -maven/mavencentral/org.eclipse.jetty.websocket/websocket-jakarta-server/11.0.18, EPL-2.0 OR Apache-2.0, approved, rt.jetty +maven/mavencentral/org.eclipse.jetty.websocket/websocket-jakarta-server/11.0.19, EPL-2.0 OR Apache-2.0, approved, rt.jetty maven/mavencentral/org.eclipse.jetty.websocket/websocket-servlet/11.0.17, EPL-2.0 OR Apache-2.0, approved, rt.jetty -maven/mavencentral/org.eclipse.jetty.websocket/websocket-servlet/11.0.18, EPL-2.0 OR Apache-2.0, approved, rt.jetty +maven/mavencentral/org.eclipse.jetty.websocket/websocket-servlet/11.0.19, EPL-2.0 OR Apache-2.0, approved, rt.jetty maven/mavencentral/org.eclipse.jetty/jetty-alpn-client/11.0.17, EPL-2.0 OR Apache-2.0, approved, rt.jetty -maven/mavencentral/org.eclipse.jetty/jetty-alpn-client/11.0.18, EPL-2.0 OR Apache-2.0, approved, rt.jetty +maven/mavencentral/org.eclipse.jetty/jetty-alpn-client/11.0.19, EPL-2.0 OR Apache-2.0, approved, rt.jetty maven/mavencentral/org.eclipse.jetty/jetty-annotations/11.0.17, EPL-2.0 OR Apache-2.0, approved, rt.jetty -maven/mavencentral/org.eclipse.jetty/jetty-annotations/11.0.18, EPL-2.0 OR Apache-2.0, approved, rt.jetty +maven/mavencentral/org.eclipse.jetty/jetty-annotations/11.0.19, EPL-2.0 OR Apache-2.0, approved, rt.jetty maven/mavencentral/org.eclipse.jetty/jetty-client/11.0.17, EPL-2.0 OR Apache-2.0, approved, rt.jetty -maven/mavencentral/org.eclipse.jetty/jetty-client/11.0.18, EPL-2.0 OR Apache-2.0, approved, rt.jetty +maven/mavencentral/org.eclipse.jetty/jetty-client/11.0.19, EPL-2.0 OR Apache-2.0, approved, rt.jetty maven/mavencentral/org.eclipse.jetty/jetty-http/11.0.17, EPL-2.0 OR Apache-2.0, approved, rt.jetty maven/mavencentral/org.eclipse.jetty/jetty-io/11.0.17, EPL-2.0 OR Apache-2.0, approved, rt.jetty -maven/mavencentral/org.eclipse.jetty/jetty-io/11.0.18, EPL-2.0 OR Apache-2.0, approved, rt.jetty +maven/mavencentral/org.eclipse.jetty/jetty-io/11.0.19, EPL-2.0 OR Apache-2.0, approved, rt.jetty maven/mavencentral/org.eclipse.jetty/jetty-jndi/11.0.17, EPL-2.0 OR Apache-2.0, approved, rt.jetty -maven/mavencentral/org.eclipse.jetty/jetty-jndi/11.0.18, EPL-2.0 OR Apache-2.0, approved, rt.jetty +maven/mavencentral/org.eclipse.jetty/jetty-jndi/11.0.19, EPL-2.0 OR Apache-2.0, approved, rt.jetty maven/mavencentral/org.eclipse.jetty/jetty-plus/11.0.17, EPL-2.0 OR Apache-2.0, approved, rt.jetty -maven/mavencentral/org.eclipse.jetty/jetty-plus/11.0.18, EPL-2.0 OR Apache-2.0, approved, rt.jetty +maven/mavencentral/org.eclipse.jetty/jetty-plus/11.0.19, EPL-2.0 OR Apache-2.0, approved, rt.jetty maven/mavencentral/org.eclipse.jetty/jetty-security/11.0.17, EPL-2.0 OR Apache-2.0, approved, rt.jetty -maven/mavencentral/org.eclipse.jetty/jetty-security/11.0.18, EPL-2.0 OR Apache-2.0, approved, rt.jetty +maven/mavencentral/org.eclipse.jetty/jetty-security/11.0.19, EPL-2.0 OR Apache-2.0, approved, rt.jetty maven/mavencentral/org.eclipse.jetty/jetty-server/11.0.17, EPL-2.0 OR Apache-2.0, approved, rt.jetty -maven/mavencentral/org.eclipse.jetty/jetty-server/11.0.18, EPL-2.0 OR Apache-2.0, approved, rt.jetty +maven/mavencentral/org.eclipse.jetty/jetty-server/11.0.19, EPL-2.0 OR Apache-2.0, approved, rt.jetty maven/mavencentral/org.eclipse.jetty/jetty-servlet/11.0.17, EPL-2.0 OR Apache-2.0, approved, rt.jetty -maven/mavencentral/org.eclipse.jetty/jetty-servlet/11.0.18, EPL-2.0 OR Apache-2.0, approved, rt.jetty +maven/mavencentral/org.eclipse.jetty/jetty-servlet/11.0.19, EPL-2.0 OR Apache-2.0, approved, rt.jetty maven/mavencentral/org.eclipse.jetty/jetty-util/11.0.17, EPL-2.0 OR Apache-2.0, approved, rt.jetty -maven/mavencentral/org.eclipse.jetty/jetty-util/11.0.18, EPL-2.0 OR Apache-2.0, approved, rt.jetty +maven/mavencentral/org.eclipse.jetty/jetty-util/11.0.19, EPL-2.0 OR Apache-2.0, approved, rt.jetty maven/mavencentral/org.eclipse.jetty/jetty-webapp/11.0.17, EPL-2.0 OR Apache-2.0, approved, rt.jetty -maven/mavencentral/org.eclipse.jetty/jetty-webapp/11.0.18, EPL-2.0 OR Apache-2.0, approved, rt.jetty +maven/mavencentral/org.eclipse.jetty/jetty-webapp/11.0.19, EPL-2.0 OR Apache-2.0, approved, rt.jetty maven/mavencentral/org.eclipse.jetty/jetty-xml/11.0.17, EPL-2.0 OR Apache-2.0, approved, rt.jetty -maven/mavencentral/org.eclipse.jetty/jetty-xml/11.0.18, EPL-2.0 OR Apache-2.0, approved, rt.jetty -maven/mavencentral/org.eclipse.tractusx.irs/irs-edc-client/1.4.1-20231110.130443-8, Apache-2.0, approved, automotive.tractusx -maven/mavencentral/org.eclipse.tractusx.irs/irs-models/1.4.1-20231110.130443-8, Apache-2.0, approved, automotive.tractusx -maven/mavencentral/org.eclipse.tractusx.irs/irs-registry-client/1.4.1-20231110.130443-8, Apache-2.0, approved, automotive.tractusx +maven/mavencentral/org.eclipse.jetty/jetty-xml/11.0.19, EPL-2.0 OR Apache-2.0, approved, rt.jetty +maven/mavencentral/org.eclipse.tractusx.irs/irs-edc-client/1.5.1-20240125.102637-14, Apache-2.0, approved, automotive.tractusx +maven/mavencentral/org.eclipse.tractusx.irs/irs-models/1.5.1-20240125.102637-14, Apache-2.0, approved, automotive.tractusx +maven/mavencentral/org.eclipse.tractusx.irs/irs-registry-client/1.5.1-20240125.102637-14, Apache-2.0, approved, automotive.tractusx maven/mavencentral/org.eclipse.tractusx.traceability/tx-backend/0.0.1-SNAPSHOT, Apache-2.0, approved, automotive.tractusx maven/mavencentral/org.eclipse.tractusx.traceability/tx-models/0.0.1-SNAPSHOT, Apache-2.0, approved, automotive.tractusx maven/mavencentral/org.flywaydb/flyway-core/9.16.3, Apache-2.0, approved, #7935 @@ -288,9 +290,13 @@ maven/mavencentral/org.glassfish.grizzly/grizzly-framework/2.3.25, EPL-2.0 OR GP maven/mavencentral/org.glassfish.grizzly/grizzly-http-server/2.3.25, EPL-2.0 OR GPL-2.0-only with Classpath-exception-2.0, approved, ee4j.grizzly maven/mavencentral/org.glassfish.grizzly/grizzly-http/2.3.25, EPL-2.0 OR GPL-2.0-only with Classpath-exception-2.0, approved, ee4j.grizzly maven/mavencentral/org.glassfish.hk2.external/aopalliance-repackaged/3.0.4, EPL-2.0 OR GPL-2.0-only with Classpath-exception-2.0, approved, ee4j.glassfish +maven/mavencentral/org.glassfish.hk2.external/aopalliance-repackaged/3.0.5, EPL-2.0 OR GPL-2.0-only with Classpath-exception-2.0, approved, ee4j.glassfish maven/mavencentral/org.glassfish.hk2/hk2-api/3.0.4, EPL-2.0 OR GPL-2.0-only with Classpath-exception-2.0, approved, ee4j.glassfish +maven/mavencentral/org.glassfish.hk2/hk2-api/3.0.5, EPL-2.0 OR GPL-2.0-only with Classpath-exception-2.0, approved, ee4j.glassfish maven/mavencentral/org.glassfish.hk2/hk2-locator/3.0.4, EPL-2.0 OR GPL-2.0-only with Classpath-exception-2.0, approved, ee4j.glassfish +maven/mavencentral/org.glassfish.hk2/hk2-locator/3.0.5, EPL-2.0 OR GPL-2.0-only with Classpath-exception-2.0, approved, ee4j.glassfish maven/mavencentral/org.glassfish.hk2/hk2-utils/3.0.4, EPL-2.0 OR GPL-2.0-only with Classpath-exception-2.0, approved, ee4j.glassfish +maven/mavencentral/org.glassfish.hk2/hk2-utils/3.0.5, EPL-2.0 OR GPL-2.0-only with Classpath-exception-2.0, approved, ee4j.glassfish maven/mavencentral/org.glassfish.hk2/osgi-resource-locator/1.0.3, CDDL-1.0, approved, CQ10889 maven/mavencentral/org.glassfish.jaxb/jaxb-core/4.0.2, BSD-3-Clause, approved, ee4j.jaxb maven/mavencentral/org.glassfish.jaxb/jaxb-core/4.0.4, BSD-3-Clause, approved, ee4j.jaxb @@ -298,33 +304,32 @@ maven/mavencentral/org.glassfish.jaxb/jaxb-runtime/4.0.2, BSD-3-Clause, approved maven/mavencentral/org.glassfish.jaxb/jaxb-runtime/4.0.4, BSD-3-Clause, approved, ee4j.jaxb maven/mavencentral/org.glassfish.jaxb/txw2/4.0.2, BSD-3-Clause, approved, ee4j.jaxb maven/mavencentral/org.glassfish.jaxb/txw2/4.0.4, BSD-3-Clause, approved, ee4j.jaxb -maven/mavencentral/org.glassfish.jersey.containers/jersey-container-servlet-core/3.1.2, EPL-2.0 OR GPL-2.0-only with Classpath-exception-2.0, approved, ee4j.jersey maven/mavencentral/org.glassfish.jersey.containers/jersey-container-servlet-core/3.1.3, EPL-2.0 OR GPL-2.0-only with Classpath-exception-2.0, approved, ee4j.jersey -maven/mavencentral/org.glassfish.jersey.containers/jersey-container-servlet/3.1.2, EPL-2.0 OR GPL-2.0-only with Classpath-exception-2.0, approved, ee4j.jersey +maven/mavencentral/org.glassfish.jersey.containers/jersey-container-servlet-core/3.1.5, EPL-2.0 OR GPL-2.0-only with Classpath-exception-2.0, approved, ee4j.jersey maven/mavencentral/org.glassfish.jersey.containers/jersey-container-servlet/3.1.3, EPL-2.0 OR GPL-2.0-only with Classpath-exception-2.0, approved, ee4j.jersey -maven/mavencentral/org.glassfish.jersey.core/jersey-client/3.1.2, EPL-2.0 OR GPL-2.0-only with Classpath-exception-2.0, approved, ee4j.jersey +maven/mavencentral/org.glassfish.jersey.containers/jersey-container-servlet/3.1.5, EPL-2.0 OR GPL-2.0-only with Classpath-exception-2.0, approved, ee4j.jersey maven/mavencentral/org.glassfish.jersey.core/jersey-client/3.1.3, EPL-2.0 OR GPL-2.0-only with Classpath-exception-2.0, approved, ee4j.jersey -maven/mavencentral/org.glassfish.jersey.core/jersey-common/3.1.2, EPL-2.0 OR GPL-2.0-only with Classpath-exception-2.0, approved, ee4j.jersey +maven/mavencentral/org.glassfish.jersey.core/jersey-client/3.1.5, EPL-2.0 OR GPL-2.0-only with Classpath-exception-2.0, approved, ee4j.jersey maven/mavencentral/org.glassfish.jersey.core/jersey-common/3.1.3, EPL-2.0 OR GPL-2.0-only with Classpath-exception-2.0, approved, ee4j.jersey -maven/mavencentral/org.glassfish.jersey.core/jersey-server/3.1.2, EPL-2.0 OR GPL-2.0-only with Classpath-exception-2.0, approved, ee4j.jersey +maven/mavencentral/org.glassfish.jersey.core/jersey-common/3.1.5, EPL-2.0 OR GPL-2.0-only with Classpath-exception-2.0, approved, ee4j.jersey maven/mavencentral/org.glassfish.jersey.core/jersey-server/3.1.3, EPL-2.0 OR GPL-2.0-only with Classpath-exception-2.0, approved, ee4j.jersey -maven/mavencentral/org.glassfish.jersey.ext/jersey-entity-filtering/3.1.2, EPL-2.0 OR GPL-2.0-only with Classpath-exception-2.0, approved, ee4j.jersey +maven/mavencentral/org.glassfish.jersey.core/jersey-server/3.1.5, EPL-2.0 OR GPL-2.0-only with Classpath-exception-2.0, approved, ee4j.jersey maven/mavencentral/org.glassfish.jersey.ext/jersey-entity-filtering/3.1.3, EPL-2.0 OR GPL-2.0-only with Classpath-exception-2.0, approved, ee4j.jersey -maven/mavencentral/org.glassfish.jersey.inject/jersey-hk2/3.1.2, EPL-2.0 OR GPL-2.0-only with Classpath-exception-2.0, approved, ee4j.jersey +maven/mavencentral/org.glassfish.jersey.ext/jersey-entity-filtering/3.1.5, EPL-2.0 OR GPL-2.0-only with Classpath-exception-2.0, approved, ee4j.jersey maven/mavencentral/org.glassfish.jersey.inject/jersey-hk2/3.1.3, EPL-2.0 OR GPL-2.0-only with Classpath-exception-2.0, approved, ee4j.jersey -maven/mavencentral/org.glassfish.jersey.media/jersey-media-json-jackson/3.1.2, EPL-2.0 OR GPL-2.0-only with Classpath-exception-2.0, approved, ee4j.jersey +maven/mavencentral/org.glassfish.jersey.inject/jersey-hk2/3.1.5, EPL-2.0 OR GPL-2.0-only with Classpath-exception-2.0, approved, ee4j.jersey maven/mavencentral/org.glassfish.jersey.media/jersey-media-json-jackson/3.1.3, EPL-2.0 OR GPL-2.0-only with Classpath-exception-2.0, approved, ee4j.jersey -maven/mavencentral/org.glassfish.jersey.media/jersey-media-multipart/3.1.2, EPL-2.0 OR GPL-2.0-only with Classpath-exception-2.0, approved, ee4j.jersey +maven/mavencentral/org.glassfish.jersey.media/jersey-media-json-jackson/3.1.5, EPL-2.0 OR GPL-2.0-only with Classpath-exception-2.0, approved, ee4j.jersey maven/mavencentral/org.glassfish.jersey.media/jersey-media-multipart/3.1.3, EPL-2.0 OR GPL-2.0-only with Classpath-exception-2.0, approved, ee4j.jersey +maven/mavencentral/org.glassfish.jersey.media/jersey-media-multipart/3.1.5, EPL-2.0 OR GPL-2.0-only with Classpath-exception-2.0, approved, ee4j.jersey maven/mavencentral/org.glassfish/jakarta.json/2.0.1, EPL-2.0 OR GPL-2.0-only with Classpath-exception-2.0, approved, ee4j.jsonp maven/mavencentral/org.hamcrest/hamcrest-core/2.2, BSD-3-Clause, approved, clearlydefined maven/mavencentral/org.hamcrest/hamcrest-library/2.2, BSD-3-Clause, approved, CQ22925 maven/mavencentral/org.hamcrest/hamcrest/2.2, BSD-3-Clause, approved, clearlydefined maven/mavencentral/org.hdrhistogram/HdrHistogram/2.1.12, BSD-2-Clause OR LicenseRef-Public-Domain, approved, CQ13192 maven/mavencentral/org.hibernate.common/hibernate-commons-annotations/6.0.6.Final, LGPL-2.1-only, approved, #6962 -maven/mavencentral/org.hibernate.orm/hibernate-core/6.2.13.Final, LGPL-2.1-only AND Apache-2.0 AND MIT AND CC-PDDC AND (EPL-2.0 OR BSD-3-Clause), approved, #9121 +maven/mavencentral/org.hibernate.orm/hibernate-core/6.2.17.Final, LGPL-2.1-only AND Apache-2.0 AND MIT AND CC-PDDC AND (EPL-2.0 OR BSD-3-Clause), approved, #9121 maven/mavencentral/org.hibernate.validator/hibernate-validator/8.0.1.Final, Apache-2.0, approved, clearlydefined -maven/mavencentral/org.javassist/javassist/3.29.0-GA, Apache-2.0 AND LGPL-2.1-or-later AND MPL-1.1, approved, #6023 maven/mavencentral/org.javassist/javassist/3.29.2-GA, Apache-2.0 AND LGPL-2.1-or-later AND MPL-1.1, approved, #6023 maven/mavencentral/org.jboss.logging/jboss-logging/3.5.0.Final, Apache-2.0, approved, #9471 maven/mavencentral/org.jboss.logging/jboss-logging/3.5.3.Final, Apache-2.0, approved, #9471 @@ -371,61 +376,63 @@ maven/mavencentral/org.slf4j/slf4j-api/2.0.9, MIT, approved, #5915 maven/mavencentral/org.springdoc/springdoc-openapi-starter-common/2.0.4, Apache-2.0, approved, #5920 maven/mavencentral/org.springdoc/springdoc-openapi-starter-webmvc-api/2.0.4, Apache-2.0, approved, #5950 maven/mavencentral/org.springdoc/springdoc-openapi-starter-webmvc-ui/2.0.4, Apache-2.0, approved, #5923 -maven/mavencentral/org.springframework.boot/spring-boot-actuator-autoconfigure/3.1.6, Apache-2.0, approved, #9348 -maven/mavencentral/org.springframework.boot/spring-boot-actuator/3.1.6, Apache-2.0, approved, #9342 -maven/mavencentral/org.springframework.boot/spring-boot-autoconfigure/3.1.6, Apache-2.0, approved, #9341 -maven/mavencentral/org.springframework.boot/spring-boot-starter-actuator/3.1.6, Apache-2.0, approved, #9344 -maven/mavencentral/org.springframework.boot/spring-boot-starter-aop/3.1.6, Apache-2.0, approved, #9338 -maven/mavencentral/org.springframework.boot/spring-boot-starter-data-jpa/3.1.6, Apache-2.0, approved, #9733 -maven/mavencentral/org.springframework.boot/spring-boot-starter-jdbc/3.1.6, Apache-2.0, approved, #9737 -maven/mavencentral/org.springframework.boot/spring-boot-starter-json/3.1.6, Apache-2.0, approved, #9336 -maven/mavencentral/org.springframework.boot/spring-boot-starter-logging/3.1.6, Apache-2.0, approved, #9343 -maven/mavencentral/org.springframework.boot/spring-boot-starter-oauth2-client/3.1.6, Apache-2.0, approved, #8806 -maven/mavencentral/org.springframework.boot/spring-boot-starter-oauth2-resource-server/3.1.6, Apache-2.0, approved, #8804 -maven/mavencentral/org.springframework.boot/spring-boot-starter-security/3.1.6, Apache-2.0, approved, #9337 -maven/mavencentral/org.springframework.boot/spring-boot-starter-test/3.1.6, Apache-2.0, approved, #9353 -maven/mavencentral/org.springframework.boot/spring-boot-starter-thymeleaf/3.1.6, Apache-2.0, approved, #10092 -maven/mavencentral/org.springframework.boot/spring-boot-starter-tomcat/3.1.6, Apache-2.0, approved, #9351 -maven/mavencentral/org.springframework.boot/spring-boot-starter-validation/3.1.6, Apache-2.0, approved, #9335 -maven/mavencentral/org.springframework.boot/spring-boot-starter-web/3.1.6, Apache-2.0, approved, #9347 -maven/mavencentral/org.springframework.boot/spring-boot-starter/3.1.6, Apache-2.0, approved, #9349 -maven/mavencentral/org.springframework.boot/spring-boot-test-autoconfigure/3.1.6, Apache-2.0, approved, #9339 -maven/mavencentral/org.springframework.boot/spring-boot-test/3.1.6, Apache-2.0, approved, #9346 -maven/mavencentral/org.springframework.boot/spring-boot/3.1.6, Apache-2.0, approved, #9352 +maven/mavencentral/org.springframework.boot/spring-boot-actuator-autoconfigure/3.1.7, Apache-2.0, approved, #9348 +maven/mavencentral/org.springframework.boot/spring-boot-actuator/3.1.7, Apache-2.0, approved, #9342 +maven/mavencentral/org.springframework.boot/spring-boot-autoconfigure/3.1.7, Apache-2.0, approved, #9341 +maven/mavencentral/org.springframework.boot/spring-boot-starter-actuator/3.1.7, Apache-2.0, approved, #9344 +maven/mavencentral/org.springframework.boot/spring-boot-starter-aop/3.1.7, Apache-2.0, approved, #9338 +maven/mavencentral/org.springframework.boot/spring-boot-starter-data-jpa/3.1.7, Apache-2.0, approved, #9733 +maven/mavencentral/org.springframework.boot/spring-boot-starter-jdbc/3.1.7, Apache-2.0, approved, #9737 +maven/mavencentral/org.springframework.boot/spring-boot-starter-json/3.1.7, Apache-2.0, approved, #9336 +maven/mavencentral/org.springframework.boot/spring-boot-starter-logging/3.1.7, Apache-2.0, approved, #9343 +maven/mavencentral/org.springframework.boot/spring-boot-starter-oauth2-client/3.1.7, Apache-2.0, approved, #8806 +maven/mavencentral/org.springframework.boot/spring-boot-starter-oauth2-resource-server/3.1.7, Apache-2.0, approved, #8804 +maven/mavencentral/org.springframework.boot/spring-boot-starter-security/3.1.7, Apache-2.0, approved, #9337 +maven/mavencentral/org.springframework.boot/spring-boot-starter-test/3.1.7, Apache-2.0, approved, #9353 +maven/mavencentral/org.springframework.boot/spring-boot-starter-thymeleaf/3.1.7, Apache-2.0, approved, #10092 +maven/mavencentral/org.springframework.boot/spring-boot-starter-tomcat/3.1.7, Apache-2.0, approved, #9351 +maven/mavencentral/org.springframework.boot/spring-boot-starter-validation/3.1.7, Apache-2.0, approved, #9335 +maven/mavencentral/org.springframework.boot/spring-boot-starter-web/3.1.7, Apache-2.0, approved, #9347 +maven/mavencentral/org.springframework.boot/spring-boot-starter/3.1.7, Apache-2.0, approved, #9349 +maven/mavencentral/org.springframework.boot/spring-boot-test-autoconfigure/3.1.7, Apache-2.0, approved, #9339 +maven/mavencentral/org.springframework.boot/spring-boot-test/3.1.7, Apache-2.0, approved, #9346 +maven/mavencentral/org.springframework.boot/spring-boot/3.1.7, Apache-2.0, approved, #9352 maven/mavencentral/org.springframework.cloud/spring-cloud-commons/4.0.3, Apache-2.0, approved, #7292 maven/mavencentral/org.springframework.cloud/spring-cloud-context/4.0.3, Apache-2.0, approved, #7306 maven/mavencentral/org.springframework.cloud/spring-cloud-openfeign-core/4.0.3, Apache-2.0, approved, #7305 maven/mavencentral/org.springframework.cloud/spring-cloud-starter-openfeign/4.0.3, Apache-2.0, approved, #7302 maven/mavencentral/org.springframework.cloud/spring-cloud-starter/4.0.3, Apache-2.0, approved, #7299 -maven/mavencentral/org.springframework.data/spring-data-commons/3.1.6, Apache-2.0, approved, #8805 -maven/mavencentral/org.springframework.data/spring-data-jpa/3.1.6, Apache-2.0, approved, #9120 +maven/mavencentral/org.springframework.data/spring-data-commons/3.1.7, Apache-2.0, approved, #8805 +maven/mavencentral/org.springframework.data/spring-data-jpa/3.1.7, Apache-2.0, approved, #9120 maven/mavencentral/org.springframework.security/spring-security-config/6.1.3, Apache-2.0, approved, #9736 -maven/mavencentral/org.springframework.security/spring-security-core/6.1.5, Apache-2.0, approved, #9801 -maven/mavencentral/org.springframework.security/spring-security-crypto/6.1.5, Apache-2.0 AND ISC, approved, #9735 -maven/mavencentral/org.springframework.security/spring-security-oauth2-client/6.1.5, Apache-2.0, approved, #9740 -maven/mavencentral/org.springframework.security/spring-security-oauth2-core/6.1.5, Apache-2.0, approved, #9741 -maven/mavencentral/org.springframework.security/spring-security-oauth2-jose/6.1.5, Apache-2.0, approved, #9345 -maven/mavencentral/org.springframework.security/spring-security-oauth2-resource-server/6.1.5, Apache-2.0, approved, #8798 +maven/mavencentral/org.springframework.security/spring-security-core/6.1.6, Apache-2.0, approved, #9801 +maven/mavencentral/org.springframework.security/spring-security-crypto/6.1.6, Apache-2.0 AND ISC, approved, #9735 +maven/mavencentral/org.springframework.security/spring-security-oauth2-client/6.1.6, Apache-2.0, approved, #9740 +maven/mavencentral/org.springframework.security/spring-security-oauth2-core/6.1.6, Apache-2.0, approved, #9741 +maven/mavencentral/org.springframework.security/spring-security-oauth2-jose/6.1.6, Apache-2.0, approved, #9345 +maven/mavencentral/org.springframework.security/spring-security-oauth2-resource-server/6.1.6, Apache-2.0, approved, #8798 maven/mavencentral/org.springframework.security/spring-security-rsa/1.0.11.RELEASE, Apache-2.0, approved, CQ20647 -maven/mavencentral/org.springframework.security/spring-security-test/6.1.5, Apache-2.0, approved, #10674 -maven/mavencentral/org.springframework.security/spring-security-web/6.1.5, Apache-2.0, approved, #9800 +maven/mavencentral/org.springframework.security/spring-security-test/6.1.6, Apache-2.0, approved, #10674 +maven/mavencentral/org.springframework.security/spring-security-web/6.1.6, Apache-2.0, approved, #9800 maven/mavencentral/org.springframework/spring-aop/6.0.11, Apache-2.0, approved, #5940 -maven/mavencentral/org.springframework/spring-aop/6.0.14, Apache-2.0, approved, #5940 -maven/mavencentral/org.springframework/spring-aspects/6.0.14, Apache-2.0, approved, #5930 +maven/mavencentral/org.springframework/spring-aop/6.0.15, Apache-2.0, approved, #5940 +maven/mavencentral/org.springframework/spring-aspects/6.0.15, Apache-2.0, approved, #5930 maven/mavencentral/org.springframework/spring-beans/6.0.11, Apache-2.0, approved, #5937 -maven/mavencentral/org.springframework/spring-beans/6.0.14, Apache-2.0, approved, #5937 +maven/mavencentral/org.springframework/spring-beans/6.0.15, Apache-2.0, approved, #5937 maven/mavencentral/org.springframework/spring-context/6.0.11, Apache-2.0, approved, #5936 -maven/mavencentral/org.springframework/spring-context/6.0.14, Apache-2.0, approved, #5936 -maven/mavencentral/org.springframework/spring-core/6.0.14, Apache-2.0 AND BSD-3-Clause, approved, #5948 -maven/mavencentral/org.springframework/spring-expression/6.0.14, Apache-2.0, approved, #3284 -maven/mavencentral/org.springframework/spring-jcl/6.0.14, Apache-2.0, approved, #3283 +maven/mavencentral/org.springframework/spring-context/6.0.15, Apache-2.0, approved, #5936 +maven/mavencentral/org.springframework/spring-core/6.0.16, Apache-2.0 AND BSD-3-Clause, approved, #5948 +maven/mavencentral/org.springframework/spring-expression/6.0.15, Apache-2.0, approved, #3284 +maven/mavencentral/org.springframework/spring-expression/6.0.16, Apache-2.0, approved, #3284 +maven/mavencentral/org.springframework/spring-jcl/6.0.15, Apache-2.0, approved, #3283 +maven/mavencentral/org.springframework/spring-jcl/6.0.16, Apache-2.0, approved, #3283 maven/mavencentral/org.springframework/spring-jdbc/6.0.13, Apache-2.0, approved, #5924 -maven/mavencentral/org.springframework/spring-jdbc/6.0.14, Apache-2.0, approved, #5924 -maven/mavencentral/org.springframework/spring-orm/6.0.14, Apache-2.0, approved, #5925 -maven/mavencentral/org.springframework/spring-test/6.0.14, Apache-2.0, approved, #7003 -maven/mavencentral/org.springframework/spring-tx/6.0.14, Apache-2.0, approved, #5926 -maven/mavencentral/org.springframework/spring-web/6.0.14, Apache-2.0, approved, #5942 -maven/mavencentral/org.springframework/spring-webmvc/6.0.14, Apache-2.0, approved, #5944 +maven/mavencentral/org.springframework/spring-jdbc/6.0.15, Apache-2.0, approved, #5924 +maven/mavencentral/org.springframework/spring-orm/6.0.15, Apache-2.0, approved, #5925 +maven/mavencentral/org.springframework/spring-test/6.0.15, Apache-2.0, approved, #7003 +maven/mavencentral/org.springframework/spring-tx/6.0.15, Apache-2.0, approved, #5926 +maven/mavencentral/org.springframework/spring-web/6.0.15, Apache-2.0, approved, #5942 +maven/mavencentral/org.springframework/spring-webmvc/6.0.15, Apache-2.0, approved, #5944 maven/mavencentral/org.testcontainers/database-commons/1.18.3, MIT, approved, clearlydefined maven/mavencentral/org.testcontainers/jdbc/1.18.3, MIT, approved, clearlydefined maven/mavencentral/org.testcontainers/junit-jupiter/1.19.1, MIT, approved, #10344 diff --git a/DEPENDENCIES_FRONTEND b/DEPENDENCIES_FRONTEND index 392c6a0de0..1e5a23fc0f 100644 --- a/DEPENDENCIES_FRONTEND +++ b/DEPENDENCIES_FRONTEND @@ -577,7 +577,7 @@ npm/npmjs/-/json-stable-stringify-without-jsonify/1.0.1, MIT, approved, clearlyd npm/npmjs/-/json-stringify-safe/5.0.1, ISC, approved, clearlydefined npm/npmjs/-/json5/1.0.2, MIT, approved, CQ22351 npm/npmjs/-/json5/2.2.3, MIT, approved, #2126 -npm/npmjs/-/jsonc-parser/3.2.0, MIT, approved, clearlydefined +npm/npmjs/-/jsonc-parser/3.2.0, MIT, approved, #12891 npm/npmjs/-/jsonfile/4.0.0, MIT, approved, clearlydefined npm/npmjs/-/jsonfile/6.1.0, MIT, approved, clearlydefined npm/npmjs/-/jsonparse/1.3.1, MIT, approved, clearlydefined diff --git a/docs/RELEASE.md b/docs/RELEASE.md index 8e6bec43e2..e976cec640 100644 --- a/docs/RELEASE.md +++ b/docs/RELEASE.md @@ -11,24 +11,23 @@ Make sure eclipse / catena git repositories are in sync 2) Create and Checkout release branch on catena /release/1.0.0 4) Edit changelog: Align the new version (1.0.0) with the changes and add new UNRELEASED section 5) Edit /charts/traceability-foss/CHANGELOG.md -- Add an Entry for an incremented (patch) version (1.0.0 -> 1.0.1) -5) Push onto /release/1.0.0 catena and eclipse -6) Open Release App Page Catena: https://github.com/catenax-ng/tx-traceability-foss/releases -7) Draft a new release -8) On dropdown choose a tag - use the version 1.0.0 (Create new tag will appear - select it) -9) On dropdown target use your /release/1.0.0 -10) Title = Version of app -> 1.0.0 -11) Description = Changelog Content of app -12) Checkbox set as latest release -- Verify that github action release generation has been triggered -- Verify that an automatic pull request has been opened (Prepare Helm release for next version) -- Validate that the versions within that pull requests are correct -- Merge pull request -- Open the github action for helm release generation: https://github.com/catenax-ng/tx-traceability-foss/actions/workflows/helm-chart-release.yaml -- Execute it from main branch -- Validate that the helm charts release has been generated within the release page -- Edit the app release and set checkbox to latest release -13) Repeat step 7 to 12 for tractus-x: [GitHub Releases page](https://github.com/eclipse-tractusx/traceability-foss/releases) -14) Merge release branch into catena main branch -15) Sync catena and eclipse main branch +6) Add an Entry for an incremented (patch) version (1.0.0 -> 1.0.1) +7) Push onto /release/1.0.0 catena and eclipse +8) Open Release App Page Catena: https://github.com/catenax-ng/tx-traceability-foss/releases +9) Draft a new release +10) On dropdown choose a tag - use the version 1.0.0 (Create new tag will appear - select it) +11) On dropdown target use your /release/1.0.0 +12) Title = Version of app -> 1.0.0 +13) Description = Changelog Content of app +14) Checkbox set as latest release +15) Verify that github action [Release](https://github.com/catenax-ng/tx-traceability-foss/actions/workflows/release.yaml) generation has been triggered +16) Verify that an automatic pull request has been opened (Prepare Helm release for next version) +17) Validate that the versions within that pull requests are correct +18) Merge pull request (Prepare Helm release for next version) +19) Merge release branch into main +20) Open the github action for helm release generation: https://github.com/catenax-ng/tx-traceability-foss/actions/workflows/helm-chart-release.yaml +21) Execute it from main branch +22) Validate that the helm charts release has been generated within the release page +23) Repeat step 8 to 23 for tractus-x: [GitHub Releases page](https://github.com/eclipse-tractusx/traceability-foss/releases) +24) Sync catena and eclipse main branch diff --git a/docs/src/docs/administration/configuration.adoc b/docs/src/docs/administration/configuration.adoc index 35c04df754..e8413e25be 100644 --- a/docs/src/docs/administration/configuration.adoc +++ b/docs/src/docs/administration/configuration.adoc @@ -2,8 +2,8 @@ = Configuration :toc: - include::frontend-configuration.adoc[leveloffset=+1] include::backend-configuration.adoc[leveloffset=+1] +include::portal-configuration.adoc[leveloffset=+1] diff --git a/docs/src/docs/administration/portal-configuration.adoc b/docs/src/docs/administration/portal-configuration.adoc new file mode 100644 index 0000000000..d204926784 --- /dev/null +++ b/docs/src/docs/administration/portal-configuration.adoc @@ -0,0 +1,46 @@ +[#_portal_configuration] += Portal Configuration +//:allow-uri-read: +:icons: font +:icon-set: fas + +The following process is required to successfully connect to the portal: + +== Company Registration +https://portal.int.demo.catena-x.net/documentation[How To] + +=== Additional info +Each instance of trace-x reflects an own company, which is associated with one BPN. + +== User Registration +https://portal.int.demo.catena-x.net/documentation/[How To] + +=== Additional info +The user registration is a self service. Each user can have one or multiple trace-x roles assigned. + +== Connector Registration +https://portal.int.demo.catena-x.net/documentation/[How To] + +=== Additional info +A connector in the context of trace-x is a Eclipse-Dataspace-Connector. This connector needs to be configured by the public controlplane url. + +== App Registration +https://portal.int.demo.catena-x.net/documentation/[How To] + +=== Additional info +A connector in the context of trace-x is a Eclipse-Dataspace-Connector. This connector needs to be configured by the public controlplane url. + +== Create App Subscription +https://portal.int.demo.catena-x.net/documentation/[How To] + +=== Additional info +An app subscription is necessary to be able to setup a frontend url which will be authorized through keycloak and accessible with the portal. + +== Activate App Subscription +https://portal.int.demo.catena-x.net/documentation/[How To] + +=== Additional info +The app subscription needs to be activated from all instances which want to participate in the trace-x use case. + +== Retrieve Wallet Configuration +https://portal.int.demo.catena-x.net/documentation/[How To] diff --git a/docs/src/docs/concepts/#534-policies/policy-handling-tracex.puml b/docs/src/docs/concepts/#534-policies/policy-handling-tracex.puml new file mode 100644 index 0000000000..d1622498c1 --- /dev/null +++ b/docs/src/docs/concepts/#534-policies/policy-handling-tracex.puml @@ -0,0 +1,65 @@ +@startuml +skinparam monochrome true +skinparam shadowing false +skinparam defaultFontName "Architects daughter" +title Sequence Diagram: TraceX Interaction with IRS on startup +participant "TraceXConfig" as Config +participant "TraceX" as TraceX +participant "IRS " as IRS + +Config -> TraceX : ID 3.0 Trace +TraceX -> IRS : Get Policies +IRS -> TraceX: Return policies (Default Policies from IRS (C1: Membership, C2: Framework, C3: ID3.0) +TraceX -> IRS : Create(not exists) or update(exists) + +@enduml + + +@startuml +skinparam monochrome true +skinparam shadowing false +skinparam defaultFontName "Architects daughter" + +title Sequence Diagram: TraceX Interaction with EDC on startup (As is) +participant "TraceXConfig" as Config +participant "TraceX" as TraceX +participant "EDC " as EDC +Config -> TraceX : ID 3.0 Trace +TraceX -> EDC : Create notification asset, policy, definition +@enduml + +@startuml +skinparam monochrome true +skinparam shadowing false +skinparam defaultFontName "Architects daughter" + +title Sequence Diagram: TraceX Interaction with EDC on startup (To be) +participant "IRS" as IRS +participant "TraceX" as TraceX +participant "EDC " as EDC +TraceX -> IRS: Get Policies +IRS -> TraceX : return policy(c1,c2,c3,c4) +TraceX -> EDC : Create notification asset, policy, definition +@enduml + +@startuml +skinparam monochrome true +skinparam shadowing false +skinparam defaultFontName "Architects daughter" + +title Sequence Diagram: Sending notifications +participant "TraceX" as TraceX +participant "TraceXIRSLib" as TraceXIRSLib +participant "IRS " as IRS +participant "EDC " as EDC + +TraceX -> TraceX: ... +TraceX -> EDC: Get catalog +EDC -> TraceX: -> Return catalog +TraceX -> TraceX: Filter for notification type (alert / investigation) / method(update, receive) +TraceX -> TraceXIRSLib: Validate if catalog policy matches the configured policies in IRS Lib (3 Default Policies) +TraceXIRSLib -> TraceX: Valid +TraceX -> EDC: Send out notification +@enduml + + diff --git a/frontend/src/app/modules/page/other-parts/presentation/customer-parts/customer-parts.component.html b/frontend/src/app/modules/page/other-parts/presentation/customer-parts/customer-parts.component.html index 43c2be6d26..f0ea86ad5a 100644 --- a/frontend/src/app/modules/page/other-parts/presentation/customer-parts/customer-parts.component.html +++ b/frontend/src/app/modules/page/other-parts/presentation/customer-parts/customer-parts.component.html @@ -38,6 +38,7 @@ [tableHeader]='"page.asBuiltParts" | i18n' (filterActivated)="filterActivated(true, $event )" [tableType]="TableType.AS_BUILT_CUSTOMER" + [mainAspectType]="bomLifecycle" > @@ -64,6 +65,7 @@ [multiSortList]="tableCustomerAsPlannedSortList" (filterActivated)="filterActivated(false, $event )" [tableType]="TableType.AS_PLANNED_CUSTOMER" + [mainAspectType]="bomLifecycle" > diff --git a/frontend/src/app/modules/page/other-parts/presentation/other-parts.component.html b/frontend/src/app/modules/page/other-parts/presentation/other-parts.component.html index e62a5623b7..743cda2dff 100644 --- a/frontend/src/app/modules/page/other-parts/presentation/other-parts.component.html +++ b/frontend/src/app/modules/page/other-parts/presentation/other-parts.component.html @@ -87,10 +87,18 @@ [bomLifecycle]="MainAspectType.AS_PLANNED" > - - + +
{{ 'pageOtherParts.tab.customer' | i18n }} +
@@ -75,6 +76,7 @@ [multiSortList]="tableSupplierAsPlannedSortList" (filterActivated)="filterActivated(false, $event )" [tableType]="TableType.AS_PLANNED_SUPPLIER" + [mainAspectType]="bomLifecycle" > diff --git a/frontend/src/app/modules/page/parts/presentation/parts.component.html b/frontend/src/app/modules/page/parts/presentation/parts.component.html index 1ac2d1ed7f..d99d9c3778 100644 --- a/frontend/src/app/modules/page/parts/presentation/parts.component.html +++ b/frontend/src/app/modules/page/parts/presentation/parts.component.html @@ -54,7 +54,7 @@ (click)="isPublisherOpen$.next(true)" [variant]="'raised'" [color]="'accent'" - [isDisabled]="!roleService.hasAccess(['wip'])" + [isDisabled]="!roleService.hasAccess(['admin'])" >
published_with_changes @@ -89,6 +89,7 @@ [multiSortList]="tableAsBuiltSortList" [tableHeader]='"page.asBuiltParts" | i18n' [tableType]="TableType.AS_BUILT_OWN" + [mainAspectType]="MainAspectType.AS_BUILT" >
@@ -115,6 +116,7 @@ [multiSortList]="tableAsPlannedSortList" [tableHeader]='"page.asPlannedParts" | i18n' [tableType]="TableType.AS_PLANNED_OWN" + [mainAspectType]="MainAspectType.AS_PLANNED" > diff --git a/frontend/src/app/modules/shared/components/parts-table/parts-table.component.html b/frontend/src/app/modules/shared/components/parts-table/parts-table.component.html index b0347d349e..9433105531 100644 --- a/frontend/src/app/modules/shared/components/parts-table/parts-table.component.html +++ b/frontend/src/app/modules/shared/components/parts-table/parts-table.component.html @@ -29,19 +29,19 @@

{{ selectedPartsInfoLabel | i18n : {count: selection?.selected?.length || 0} }}

announcement diff --git a/frontend/src/app/modules/shared/components/parts-table/parts-table.component.ts b/frontend/src/app/modules/shared/components/parts-table/parts-table.component.ts index aad99d9269..3e87d473b4 100644 --- a/frontend/src/app/modules/shared/components/parts-table/parts-table.component.ts +++ b/frontend/src/app/modules/shared/components/parts-table/parts-table.component.ts @@ -17,7 +17,7 @@ * SPDX-License-Identifier: Apache-2.0 ********************************************************************************/ -import {SelectionModel} from '@angular/cdk/collections'; +import { SelectionModel } from '@angular/cdk/collections'; import { Component, ElementRef, @@ -29,46 +29,37 @@ import { ViewChild, ViewChildren, } from '@angular/core'; -import {FormGroup} from '@angular/forms'; -import {MatDialog, MatDialogConfig} from '@angular/material/dialog'; -import {MatPaginator, PageEvent} from '@angular/material/paginator'; -import {MatSort, Sort} from '@angular/material/sort'; -import {MatTableDataSource} from '@angular/material/table'; -import {Router} from '@angular/router'; -import {EmptyPagination, Pagination} from '@core/model/pagination.model'; -import {RoleService} from '@core/user/role.service'; -import {TableSettingsService} from '@core/user/table-settings.service'; -import { - MultiSelectAutocompleteComponent -} from '@shared/components/multi-select-autocomplete/multi-select-autocomplete.component'; -import {TableType} from '@shared/components/multi-select-autocomplete/table-type.model'; -import {PartsAsBuiltConfigurationModel} from '@shared/components/parts-table/parts-as-built-configuration.model'; -import { - PartsAsBuiltCustomerConfigurationModel -} from '@shared/components/parts-table/parts-as-built-customer-configuration.model'; -import { - PartsAsBuiltSupplierConfigurationModel -} from '@shared/components/parts-table/parts-as-built-supplier-configuration.model'; -import {PartsAsPlannedConfigurationModel} from '@shared/components/parts-table/parts-as-planned-configuration.model'; -import { - PartsAsPlannedCustomerConfigurationModel -} from '@shared/components/parts-table/parts-as-planned-customer-configuration.model'; -import { - PartsAsPlannedSupplierConfigurationModel -} from '@shared/components/parts-table/parts-as-planned-supplier-configuration.model'; -import {TableViewConfig} from '@shared/components/parts-table/table-view-config.model'; -import {TableSettingsComponent} from '@shared/components/table-settings/table-settings.component'; +import { FormGroup } from '@angular/forms'; +import { MatDialog, MatDialogConfig } from '@angular/material/dialog'; +import { MatPaginator, PageEvent } from '@angular/material/paginator'; +import { MatSort, Sort } from '@angular/material/sort'; +import { MatTableDataSource } from '@angular/material/table'; +import { Router } from '@angular/router'; +import { EmptyPagination, Pagination } from '@core/model/pagination.model'; +import { RoleService } from '@core/user/role.service'; +import { TableSettingsService } from '@core/user/table-settings.service'; +import { MainAspectType } from '@page/parts/model/mainAspectType.enum'; +import { MultiSelectAutocompleteComponent } from '@shared/components/multi-select-autocomplete/multi-select-autocomplete.component'; +import { TableType } from '@shared/components/multi-select-autocomplete/table-type.model'; +import { PartsAsBuiltConfigurationModel } from '@shared/components/parts-table/parts-as-built-configuration.model'; +import { PartsAsBuiltCustomerConfigurationModel } from '@shared/components/parts-table/parts-as-built-customer-configuration.model'; +import { PartsAsBuiltSupplierConfigurationModel } from '@shared/components/parts-table/parts-as-built-supplier-configuration.model'; +import { PartsAsPlannedConfigurationModel } from '@shared/components/parts-table/parts-as-planned-configuration.model'; +import { PartsAsPlannedCustomerConfigurationModel } from '@shared/components/parts-table/parts-as-planned-customer-configuration.model'; +import { PartsAsPlannedSupplierConfigurationModel } from '@shared/components/parts-table/parts-as-planned-supplier-configuration.model'; +import { TableViewConfig } from '@shared/components/parts-table/table-view-config.model'; +import { TableSettingsComponent } from '@shared/components/table-settings/table-settings.component'; import { CreateHeaderFromColumns, TableConfig, TableEventConfig, TableHeaderSort, } from '@shared/components/table/table.model'; -import {ToastService} from '@shared/components/toasts/toast.service'; -import {isDateFilter} from '@shared/helper/filter-helper'; -import {addSelectedValues, removeSelectedValues} from '@shared/helper/table-helper'; -import {NotificationColumn} from '@shared/model/notification.model'; -import {DeeplinkService} from '@shared/service/deeplink.service'; +import { ToastService } from '@shared/components/toasts/toast.service'; +import { isDateFilter } from '@shared/helper/filter-helper'; +import { addSelectedValues, removeSelectedValues } from '@shared/helper/table-helper'; +import { NotificationColumn } from '@shared/model/notification.model'; +import { DeeplinkService } from '@shared/service/deeplink.service'; @Component({ @@ -93,6 +84,7 @@ export class PartsTableComponent implements OnInit { @Input() multiSortList: TableHeaderSort[]; @Input() tableType: TableType; + @Input() mainAspectType: MainAspectType; public tableConfig: TableConfig; @@ -218,7 +210,6 @@ export class PartsTableComponent implements OnInit { this.filterFormGroup.valueChanges.subscribe((formValues) => { this.filterActivated.emit(formValues); }); - } @@ -362,4 +353,5 @@ export class PartsTableComponent implements OnInit { } protected readonly TableType = TableType; + protected readonly MainAspectType = MainAspectType; } diff --git a/frontend/src/app/modules/shared/modules/part-details/presentation/part-detail.component.html b/frontend/src/app/modules/shared/modules/part-details/presentation/part-detail.component.html index e041210b75..37cdfbc044 100644 --- a/frontend/src/app/modules/shared/modules/part-details/presentation/part-detail.component.html +++ b/frontend/src/app/modules/shared/modules/part-details/presentation/part-detail.component.html @@ -78,13 +78,13 @@ {{ 'partDetail.investigation.tab.header' | i18n }} diff --git a/frontend/src/app/modules/shared/modules/part-details/presentation/part-detail.component.ts b/frontend/src/app/modules/shared/modules/part-details/presentation/part-detail.component.ts index d84d921302..6d790b4db4 100644 --- a/frontend/src/app/modules/shared/modules/part-details/presentation/part-detail.component.ts +++ b/frontend/src/app/modules/shared/modules/part-details/presentation/part-detail.component.ts @@ -54,6 +54,8 @@ export class PartDetailComponent implements AfterViewInit, OnDestroy { public readonly displayedColumns: string[]; + public isAsPlannedPart: boolean = false; + public customerOrPartSiteDetailsHeader$: Subscription; public customerOrPartSiteHeader: string; @@ -65,13 +67,16 @@ export class PartDetailComponent implements AfterViewInit, OnDestroy { private readonly isOpenState: State = new State(false); + public authorizationTooltipMessage: string; + constructor(private readonly partDetailsFacade: PartDetailsFacade, private readonly router: Router, public roleService: RoleService) { this.isOpen$ = this.isOpenState.observable; - this.selectedPartDetails$ = this.partDetailsFacade.selectedPart$; this.shortenPartDetails$ = this.partDetailsFacade.selectedPart$.pipe( PartsAssembler.mapPartForView(), - tap(({ data }) => this.qualityTypeControl.patchValue(data.qualityType, { emitEvent: false, onlySelf: true })), + tap(({ data }) => { + this.qualityTypeControl.patchValue(data.qualityType, { emitEvent: false, onlySelf: true }) + }), ); this.manufacturerDetails$ = this.partDetailsFacade.selectedPart$.pipe(PartsAssembler.mapPartForManufacturerView()); @@ -95,6 +100,20 @@ export class PartDetailComponent implements AfterViewInit, OnDestroy { label: value, value: value, })); + + this.selectedPartDetails$.subscribe(part => { + + if(part?.data?.semanticDataModel) { + this.isAsPlannedPart = part.data.semanticDataModel.toString() === 'PartAsPlanned'; + } + + if(part?.data?.children?.length > 0 ) { + this.authorizationTooltipMessage = this.getRestrictionMessageKey(true); + } else { + this.authorizationTooltipMessage = this.getRestrictionMessageKey(false); + } + }); + this.displayedColumns = [ 'position', 'productType', 'tractionBatteryCode' ]; } @@ -119,6 +138,21 @@ export class PartDetailComponent implements AfterViewInit, OnDestroy { this.router.navigate([ `parts/relations/${ part.id }` ]).then(_ => window.location.reload()); } + getRestrictionMessageKey(hasChildren: boolean): string { + if(this.isAsPlannedPart) { + return 'routing.notAllowedForAsPlanned'; + } + else if(!hasChildren) { + return 'routing.noChildPartsForInvestigation'; + } + else if(this.roleService.isAdmin()) { + return 'routing.unauthorized'; + } else { + return null; + } + + } + protected readonly NotificationAction = NotificationAction; protected readonly Owner = Owner; } diff --git a/frontend/src/assets/locales/de/common.json b/frontend/src/assets/locales/de/common.json index 9e9ced0054..d6b75dd673 100644 --- a/frontend/src/assets/locales/de/common.json +++ b/frontend/src/assets/locales/de/common.json @@ -13,7 +13,10 @@ "adminRegistry": "Registry-Abfragen", "adminBpn": "BPN - EDC Konfiguration", "adminImport": "Datenbereitstellung", - "unauthorized": "Die Funktion ist aufgrund einer fehlenden Rolle deaktiviert. Bitten Sie Ihren Administrator, die erforderliche Rolle für die Funktion bereitzustellen." + "unauthorized": "Die Funktion ist aufgrund einer fehlenden Rolle deaktiviert. Bitten Sie Ihren Administrator, die erforderliche Rolle für die Funktion bereitzustellen.", + "notAllowedForAsPlanned": "Diese Funktion ist für Produkte im Lebenszyklus \"AsPlanned\" nicht verfügbar.", + "noChildPartsForInvestigation": "Diese Funktion ist für Produkte ohne Bauteile nicht verfügbar.", + "noCustomerAsPlannedParts": "Produkte von Kunden im Lebenszyklus \"AsPlanned\" sind nicht verfügbar." }, "pageTitle": { "dashboard": "Dashboard", diff --git a/frontend/src/assets/locales/en/common.json b/frontend/src/assets/locales/en/common.json index c6af4a86f4..785289c0b2 100644 --- a/frontend/src/assets/locales/en/common.json +++ b/frontend/src/assets/locales/en/common.json @@ -13,7 +13,10 @@ "adminRegistry": "Registry lookups", "adminBpn": "BPN - EDC configuration", "adminImport": "Data provisioning", - "unauthorized": "Functionality is disabled because of missing role. Ask your administrator to provide the required role for the functionality." + "unauthorized": "Functionality is disabled because of missing role. Ask your administrator to provide the required role for the functionality.", + "notAllowedForAsPlanned": "This function is not available for Parts in the Lifecycle \"AsPlanned\". ", + "noChildPartsForInvestigation": "This function is not available for Parts without components.", + "noCustomerAsPlannedParts": "Customer parts in lifecycle \"AsPlanned\" are not available." }, "pageTitle": { "dashboard": "Dashboard", diff --git a/pom.xml b/pom.xml index 13ba19ef12..487a6cb3d7 100644 --- a/pom.xml +++ b/pom.xml @@ -38,8 +38,8 @@ SPDX-License-Identifier: Apache-2.0 - 3.1.6 - 6.0.14 + 3.1.7 + 6.0.16 6.1.3 17 ${java.version} @@ -64,7 +64,7 @@ SPDX-License-Identifier: Apache-2.0 3.2.5 3.2.5 4.0.0-M11 - 0.1.3 + 0.2.1 0.0.1-SNAPSHOT 9.37.3 @@ -101,7 +101,7 @@ SPDX-License-Identifier: Apache-2.0 2.15.2 5.9.3 3.0.0 - 1.4.1-SNAPSHOT + 1.5.1-SNAPSHOT 5.4.0 jacoco diff --git a/tx-backend/docker/docker-compose.yml b/tx-backend/docker/docker-compose.yml index df5743a648..9a21432254 100644 --- a/tx-backend/docker/docker-compose.yml +++ b/tx-backend/docker/docker-compose.yml @@ -30,6 +30,15 @@ services: - "5432" networks: net: + security_opt: + - no-new-privileges:true + healthcheck: + test: [ "CMD-SHELL", "pg_isready" ] + interval: 10s + timeout: 5s + retries: 5 + cap_drop: + - all networks: net: diff --git a/tx-backend/openapi/traceability-foss-backend.json b/tx-backend/openapi/traceability-foss-backend.json index 507ba88901..abb96e8b95 100644 --- a/tx-backend/openapi/traceability-foss-backend.json +++ b/tx-backend/openapi/traceability-foss-backend.json @@ -1 +1,6947 @@ -{"openapi":"3.0.1","info":{"title":"Trace-FOSS - OpenAPI Documentation","description":"Trace-FOSS is a system for tracking parts along the supply chain. A high level of transparency across the supplier network enables faster intervention based on a recorded event in the supply chain. This saves costs by seamlessly tracking parts and creates trust through clearly defined and secure data access by the companies and persons involved in the process.","license":{"name":"License: Apache 2.0"},"version":"1.0.0"},"servers":[{"url":"http://localhost:9998/api","description":"Generated server url"}],"security":[{"oAuth2":["profile email"]}],"tags":[{"name":"Investigations","description":"Operations on Investigation Notification"}],"paths":{"/bpn-config":{"get":{"tags":["BpnEdcMapping"],"summary":"Get BPN EDC URL mappings","description":"The endpoint returns a result of BPN EDC URL mappings.","operationId":"getBpnEdcs","responses":{"200":{"description":"Returns the paged result found","content":{"application/json":{"schema":{"maxItems":2147483647,"minItems":0,"type":"array"}}}},"403":{"description":"Forbidden.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"400":{"description":"Bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"415":{"description":"Unsupported media type","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authorization failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"oAuth2":["profile email"]}]},"put":{"tags":["BpnEdcMapping"],"summary":"Updates BPN EDC URL mappings","description":"The endpoint updates BPN EDC URL mappings","operationId":"updateBpnEdcMappings","requestBody":{"content":{"application/json":{"schema":{"maxItems":1000,"minItems":0,"type":"array","items":{"$ref":"#/components/schemas/BpnMappingRequest"}}}},"required":true},"responses":{"200":{"description":"Returns the paged result found for BpnEdcMapping","content":{"application/json":{"schema":{"maxItems":2147483647,"minItems":0,"type":"array"}}}},"403":{"description":"Forbidden.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"400":{"description":"Bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"415":{"description":"Unsupported media type","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authorization failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"oAuth2":["profile email"]}]},"post":{"tags":["BpnEdcMapping"],"summary":"Creates BPN EDC URL mappings","description":"The endpoint creates BPN EDC URL mappings","operationId":"createBpnEdcUrlMappings","requestBody":{"content":{"application/json":{"schema":{"maxItems":1000,"minItems":0,"type":"array","items":{"$ref":"#/components/schemas/BpnMappingRequest"}}}},"required":true},"responses":{"200":{"description":"Returns the paged result found for BpnEdcMapping","content":{"application/json":{"schema":{"maxItems":2147483647,"minItems":0,"type":"array"}}}},"403":{"description":"Forbidden.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"400":{"description":"Bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"415":{"description":"Unsupported media type","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authorization failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"oAuth2":["profile email"]}]}},"/submodel/data/{submodelId}":{"get":{"tags":["Submodel"],"summary":"Gets Submodel by its id","description":"The endpoint returns Submodel for given id. Used for data providing functionality","operationId":"getSubmodelById","parameters":[{"name":"submodelId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"403":{"description":"Forbidden.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"400":{"description":"Bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"415":{"description":"Unsupported media type","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authorization failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"Returns the paged result found","content":{"application/json":{}}}},"security":[{"oAuth2":["profile email"]}]},"post":{"tags":["Submodel"],"summary":"Save Submodel","description":"This endpoint allows you to save a Submodel identified by its ID.","operationId":"saveSubmodel","parameters":[{"name":"submodelId","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"string"}}},"required":true},"responses":{"200":{"description":"Ok."},"403":{"description":"Forbidden.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"400":{"description":"Bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"415":{"description":"Unsupported media type","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authorization failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"204":{"description":"No Content."},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"oAuth2":["profile email"]}]}},"/investigations":{"post":{"tags":["Investigations"],"summary":"Start investigations by part ids","description":"The endpoint starts investigations based on part ids provided.","operationId":"investigateAssets","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/StartQualityNotificationRequest"}}},"required":true},"responses":{"403":{"description":"Forbidden.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"400":{"description":"Bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"415":{"description":"Unsupported media type","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authorization failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"201":{"description":"Created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QualityNotificationIdResponse"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"oAuth2":["profile email"]}]}},"/investigations/{investigationId}/update":{"post":{"tags":["Investigations"],"summary":"Update investigations by id","description":"The endpoint updates investigations by their id.","operationId":"updateInvestigation","parameters":[{"name":"investigationId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateQualityNotificationRequest"}}},"required":true},"responses":{"204":{"description":"No content."},"200":{"description":"Ok."},"403":{"description":"Forbidden.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"400":{"description":"Bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"415":{"description":"Unsupported media type","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authorization failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"oAuth2":["profile email"]}]}},"/investigations/{investigationId}/close":{"post":{"tags":["Investigations"],"summary":"Close investigations by id","description":"The endpoint closes investigations by their id.","operationId":"closeInvestigation","parameters":[{"name":"investigationId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CloseQualityNotificationRequest"}}},"required":true},"responses":{"204":{"description":"No content."},"200":{"description":"Ok."},"403":{"description":"Forbidden.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"400":{"description":"Bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"415":{"description":"Unsupported media type","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authorization failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"oAuth2":["profile email"]}]}},"/investigations/{investigationId}/cancel":{"post":{"tags":["Investigations"],"summary":"Cancles investigations by id","description":"The endpoint cancles investigations by their id.","operationId":"cancelInvestigation","parameters":[{"name":"investigationId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"Ok."},"403":{"description":"Forbidden.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"400":{"description":"Bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"415":{"description":"Unsupported media type","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"204":{"description":"No content."},"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authorization failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"oAuth2":["profile email"]}]}},"/investigations/{investigationId}/approve":{"post":{"tags":["Investigations"],"summary":"Approves investigations by id","description":"The endpoint approves investigations by their id.","operationId":"approveInvestigation","parameters":[{"name":"investigationId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"Ok."},"403":{"description":"Forbidden.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"400":{"description":"Bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"415":{"description":"Unsupported media type","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"204":{"description":"No content."},"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authorization failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"oAuth2":["profile email"]}]}},"/investigations/filter":{"post":{"tags":["Investigations"],"summary":"Filter investigations defined by the request body","description":"The endpoint returns investigations as paged result.","operationId":"filterInvestigations","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageableFilterRequest"}}},"required":true},"responses":{"403":{"description":"Forbidden.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"400":{"description":"Bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"415":{"description":"Unsupported media type","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authorization failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"Returns the paged result found for Asset","content":{"application/json":{"schema":{"maxItems":2147483647,"minItems":0,"type":"array"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"oAuth2":["profile email"]}]}},"/edc/notification/contract":{"post":{"tags":["Notifications"],"summary":"Triggers EDC notification contract","description":"The endpoint Triggers EDC notification contract based on notification type and method","operationId":"createNotificationContract","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateNotificationContractRequest"}}},"required":true},"responses":{"403":{"description":"Forbidden.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"400":{"description":"Bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"415":{"description":"Unsupported media type","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authorization failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"201":{"description":"Created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateNotificationContractResponse"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"oAuth2":["profile email"]}]}},"/assets/import":{"post":{"tags":["AssetsImport"],"summary":"asset upload","description":"This endpoint stores assets in the application. Those can be later published in the Catena-X network.","operationId":"importJson","requestBody":{"content":{"multipart/form-data":{"schema":{"required":["file"],"type":"object","properties":{"file":{"type":"string","format":"binary"}}}}}},"responses":{"200":{"description":"OK.","content":{"application/json":{}}},"403":{"description":"Forbidden.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"400":{"description":"Bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"415":{"description":"Unsupported media type","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authorization failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"204":{"description":"No Content."},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"oAuth2":["profile email"]}]}},"/assets/as-planned/sync":{"post":{"tags":["AssetsAsPlanned"],"summary":"Synchronizes assets from IRS","description":"The endpoint synchronizes the assets from irs.","operationId":"sync","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SyncAssetsRequest"}}},"required":true},"responses":{"403":{"description":"Forbidden.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"400":{"description":"Bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"415":{"description":"Unsupported media type","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authorization failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"201":{"description":"Created."},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"oAuth2":["profile email"]}]}},"/assets/as-planned/detail-information":{"post":{"tags":["AssetsAsPlanned"],"summary":"Searches for assets by ids.","description":"The endpoint searchs for assets by id and returns a list of them.","operationId":"getDetailInformation","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetDetailInformationRequest"}}},"required":true},"responses":{"200":{"description":"Returns the paged result found for Asset","content":{"application/json":{"schema":{"maxItems":2147483647,"minItems":0,"type":"array"}}}},"403":{"description":"Forbidden.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"400":{"description":"Bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"415":{"description":"Unsupported media type","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authorization failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"oAuth2":["profile email"]}]}},"/assets/as-built/sync":{"post":{"tags":["AssetsAsBuilt"],"summary":"Synchronizes assets from IRS","description":"The endpoint synchronizes the assets from irs.","operationId":"sync_1","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SyncAssetsRequest"}}},"required":true},"responses":{"403":{"description":"Forbidden.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"400":{"description":"Bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"415":{"description":"Unsupported media type","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authorization failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"201":{"description":"Created."},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"oAuth2":["profile email"]}]}},"/assets/as-built/detail-information":{"post":{"tags":["AssetsAsBuilt"],"summary":"Searches for assets by ids.","description":"The endpoint searchs for assets by id and returns a list of them.","operationId":"getDetailInformation_1","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetDetailInformationRequest"}}},"required":true},"responses":{"200":{"description":"Returns the paged result found for Asset","content":{"application/json":{"schema":{"maxItems":2147483647,"minItems":0,"type":"array"}}}},"403":{"description":"Forbidden.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"400":{"description":"Bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"415":{"description":"Unsupported media type","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authorization failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"oAuth2":["profile email"]}]}},"/alerts":{"post":{"tags":["Alerts"],"summary":"Start alert by part ids","description":"The endpoint starts alert based on part ids provided.","operationId":"alertAssets","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/StartQualityNotificationRequest"}}},"required":true},"responses":{"403":{"description":"Forbidden.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"400":{"description":"Bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"415":{"description":"Unsupported media type","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authorization failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"201":{"description":"Created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QualityNotificationIdResponse"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"oAuth2":["profile email"]}]}},"/alerts/{alertId}/update":{"post":{"tags":["Alerts"],"summary":"Update alert by id","description":"The endpoint updates alert by their id.","operationId":"updateAlert","parameters":[{"name":"alertId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateQualityNotificationRequest"}}},"required":true},"responses":{"204":{"description":"No content."},"403":{"description":"Forbidden.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"400":{"description":"Bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"415":{"description":"Unsupported media type","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authorization failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"oAuth2":["profile email"]}]}},"/alerts/{alertId}/close":{"post":{"tags":["Alerts"],"summary":"Close alert by id","description":"The endpoint closes alert by id.","operationId":"closeAlert","parameters":[{"name":"alertId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CloseQualityNotificationRequest"}}},"required":true},"responses":{"204":{"description":"No content."},"200":{"description":"Ok."},"403":{"description":"Forbidden.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"400":{"description":"Bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"415":{"description":"Unsupported media type","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authorization failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"oAuth2":["profile email"]}]}},"/alerts/{alertId}/cancel":{"post":{"tags":["Alerts"],"summary":"Cancels alert by id","description":"The endpoint cancels alert by id.","operationId":"cancelAlert","parameters":[{"name":"alertId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"Ok."},"403":{"description":"Forbidden.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"400":{"description":"Bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"415":{"description":"Unsupported media type","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"204":{"description":"No content."},"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authorization failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"oAuth2":["profile email"]}]}},"/alerts/{alertId}/approve":{"post":{"tags":["Alerts"],"summary":"Approves alert by id","description":"The endpoint approves alert by id.","operationId":"approveAlert","parameters":[{"name":"alertId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"Ok."},"403":{"description":"Forbidden.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"400":{"description":"Bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"415":{"description":"Unsupported media type","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"204":{"description":"No content."},"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authorization failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"oAuth2":["profile email"]}]}},"/alerts/filter":{"post":{"tags":["Alerts"],"summary":"Filter alerts defined by the request body","description":"The endpoint returns alerts as paged result.","operationId":"filterAlerts","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageableFilterRequest"}}},"required":true},"responses":{"403":{"description":"Forbidden.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"400":{"description":"Bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"415":{"description":"Unsupported media type","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"Returns the paged result found for Asset","content":{"application/json":{"schema":{"maxItems":2147483647,"type":"array"}}}},"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authorization failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"oAuth2":["profile email"]}]}},"/assets/as-planned/{assetId}":{"get":{"tags":["AssetsAsPlanned"],"summary":"Get asset by id","description":"The endpoint returns an asset filtered by id .","operationId":"assetById","parameters":[{"name":"assetId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"403":{"description":"Forbidden.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"400":{"description":"Bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"415":{"description":"Unsupported media type","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"Returns the assets found","content":{"application/json":{"schema":{"maxItems":2147483647,"type":"array","description":"Assets","items":{"type":"object","properties":{"id":{"maxLength":255,"minLength":0,"type":"string"},"idShort":{"maxLength":255,"minLength":0,"type":"string"},"semanticModelId":{"maxLength":255,"minLength":0,"type":"string"},"businessPartner":{"maxLength":255,"minLength":0,"type":"string"},"manufacturerName":{"maxLength":255,"minLength":0,"type":"string"},"nameAtManufacturer":{"maxLength":255,"minLength":0,"type":"string"},"manufacturerPartId":{"maxLength":255,"minLength":0,"type":"string"},"owner":{"type":"string","enum":["SUPPLIER","CUSTOMER","OWN","UNKNOWN"]},"childRelations":{"maxItems":2147483647,"type":"array","description":"Child relationships","items":{"$ref":"#/components/schemas/DescriptionsResponse"}},"parentRelations":{"maxItems":2147483647,"type":"array","description":"Parent relationships","items":{"$ref":"#/components/schemas/DescriptionsResponse"}},"qualityType":{"type":"string","enum":["Ok","Minor","Major","Critical","LifeThreatening"]},"van":{"maxLength":255,"minLength":0,"type":"string"},"semanticDataModel":{"type":"string","enum":["BATCH","SERIALPART","UNKNOWN","PARTASPLANNED","JUSTINSEQUENCE"]},"classification":{"maxLength":255,"minLength":0,"type":"string"},"detailAspectModels":{"type":"array","items":{"$ref":"#/components/schemas/DetailAspectModelResponse"}},"sentQualityAlertIdsInStatusActive":{"type":"array","items":{"type":"integer","format":"int64"}},"receivedQualityAlertIdsInStatusActive":{"type":"array","items":{"type":"integer","format":"int64"}},"sentQualityInvestigationIdsInStatusActive":{"type":"array","items":{"type":"integer","format":"int64"}},"receivedQualityInvestigationIdsInStatusActive":{"type":"array","items":{"type":"integer","format":"int64"}},"importState":{"type":"string","enum":["TRANSIENT","PERSISTENT","ERROR","IN_SYNCHRONIZATION","UNSET"]},"importNote":{"type":"string"}}}}}}},"401":{"description":"Authorization failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"oAuth2":["profile email"]}]},"patch":{"tags":["AssetsAsPlanned"],"summary":"Updates asset","description":"The endpoint updates asset by provided quality type.","operationId":"updateAsset","parameters":[{"name":"assetId","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateAssetRequest"}}},"required":true},"responses":{"403":{"description":"Forbidden.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"400":{"description":"Bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"415":{"description":"Unsupported media type","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authorization failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"Returns the updated asset","content":{"application/json":{"schema":{"maxItems":2147483647,"type":"array","description":"Assets","items":{"type":"object","properties":{"id":{"maxLength":255,"minLength":0,"type":"string"},"idShort":{"maxLength":255,"minLength":0,"type":"string"},"semanticModelId":{"maxLength":255,"minLength":0,"type":"string"},"businessPartner":{"maxLength":255,"minLength":0,"type":"string"},"manufacturerName":{"maxLength":255,"minLength":0,"type":"string"},"nameAtManufacturer":{"maxLength":255,"minLength":0,"type":"string"},"manufacturerPartId":{"maxLength":255,"minLength":0,"type":"string"},"owner":{"type":"string","enum":["SUPPLIER","CUSTOMER","OWN","UNKNOWN"]},"childRelations":{"maxItems":2147483647,"type":"array","description":"Child relationships","items":{"$ref":"#/components/schemas/DescriptionsResponse"}},"parentRelations":{"maxItems":2147483647,"type":"array","description":"Parent relationships","items":{"$ref":"#/components/schemas/DescriptionsResponse"}},"qualityType":{"type":"string","enum":["Ok","Minor","Major","Critical","LifeThreatening"]},"van":{"maxLength":255,"minLength":0,"type":"string"},"semanticDataModel":{"type":"string","enum":["BATCH","SERIALPART","UNKNOWN","PARTASPLANNED","JUSTINSEQUENCE"]},"classification":{"maxLength":255,"minLength":0,"type":"string"},"detailAspectModels":{"type":"array","items":{"$ref":"#/components/schemas/DetailAspectModelResponse"}},"sentQualityAlertIdsInStatusActive":{"type":"array","items":{"type":"integer","format":"int64"}},"receivedQualityAlertIdsInStatusActive":{"type":"array","items":{"type":"integer","format":"int64"}},"sentQualityInvestigationIdsInStatusActive":{"type":"array","items":{"type":"integer","format":"int64"}},"receivedQualityInvestigationIdsInStatusActive":{"type":"array","items":{"type":"integer","format":"int64"}},"importState":{"type":"string","enum":["TRANSIENT","PERSISTENT","ERROR","IN_SYNCHRONIZATION","UNSET"]},"importNote":{"type":"string"}}}}}}}},"security":[{"oAuth2":["profile email"]}]}},"/assets/as-built/{assetId}":{"get":{"tags":["AssetsAsBuilt"],"summary":"Get asset by id","description":"The endpoint returns an asset filtered by id .","operationId":"assetById_1","parameters":[{"name":"assetId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"403":{"description":"Forbidden.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"400":{"description":"Bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"415":{"description":"Unsupported media type","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"Returns the assets found","content":{"application/json":{"schema":{"maxItems":2147483647,"type":"array","description":"Assets","items":{"type":"object","properties":{"id":{"maxLength":255,"minLength":0,"type":"string"},"idShort":{"maxLength":255,"minLength":0,"type":"string"},"semanticModelId":{"maxLength":255,"minLength":0,"type":"string"},"businessPartner":{"maxLength":255,"minLength":0,"type":"string"},"manufacturerName":{"maxLength":255,"minLength":0,"type":"string"},"nameAtManufacturer":{"maxLength":255,"minLength":0,"type":"string"},"manufacturerPartId":{"maxLength":255,"minLength":0,"type":"string"},"owner":{"type":"string","enum":["SUPPLIER","CUSTOMER","OWN","UNKNOWN"]},"childRelations":{"maxItems":2147483647,"type":"array","description":"Child relationships","items":{"$ref":"#/components/schemas/DescriptionsResponse"}},"parentRelations":{"maxItems":2147483647,"type":"array","description":"Parent relationships","items":{"$ref":"#/components/schemas/DescriptionsResponse"}},"qualityType":{"type":"string","enum":["Ok","Minor","Major","Critical","LifeThreatening"]},"van":{"maxLength":255,"minLength":0,"type":"string"},"semanticDataModel":{"type":"string","enum":["BATCH","SERIALPART","UNKNOWN","PARTASPLANNED","JUSTINSEQUENCE"]},"classification":{"maxLength":255,"minLength":0,"type":"string"},"detailAspectModels":{"type":"array","items":{"$ref":"#/components/schemas/DetailAspectModelResponse"}},"sentQualityAlertIdsInStatusActive":{"type":"array","items":{"type":"integer","format":"int64"}},"receivedQualityAlertIdsInStatusActive":{"type":"array","items":{"type":"integer","format":"int64"}},"sentQualityInvestigationIdsInStatusActive":{"type":"array","items":{"type":"integer","format":"int64"}},"receivedQualityInvestigationIdsInStatusActive":{"type":"array","items":{"type":"integer","format":"int64"}},"importState":{"type":"string","enum":["TRANSIENT","PERSISTENT","ERROR","IN_SYNCHRONIZATION","UNSET"]},"importNote":{"type":"string"}}}}}}},"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authorization failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"oAuth2":["profile email"]}]},"patch":{"tags":["AssetsAsBuilt"],"summary":"Updates asset","description":"The endpoint updates asset by provided quality type.","operationId":"updateAsset_1","parameters":[{"name":"assetId","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateAssetRequest"}}},"required":true},"responses":{"200":{"description":"Returns the updated asset","content":{"application/json":{"schema":{"maxItems":2147483647,"type":"array","description":"Assets","items":{"type":"object","properties":{"id":{"maxLength":255,"minLength":0,"type":"string"},"idShort":{"maxLength":255,"minLength":0,"type":"string"},"semanticModelId":{"maxLength":255,"minLength":0,"type":"string"},"businessPartner":{"maxLength":255,"minLength":0,"type":"string"},"manufacturerName":{"maxLength":255,"minLength":0,"type":"string"},"nameAtManufacturer":{"maxLength":255,"minLength":0,"type":"string"},"manufacturerPartId":{"maxLength":255,"minLength":0,"type":"string"},"owner":{"type":"string","enum":["SUPPLIER","CUSTOMER","OWN","UNKNOWN"]},"childRelations":{"maxItems":2147483647,"type":"array","description":"Child relationships","items":{"$ref":"#/components/schemas/DescriptionsResponse"}},"parentRelations":{"maxItems":2147483647,"type":"array","description":"Parent relationships","items":{"$ref":"#/components/schemas/DescriptionsResponse"}},"qualityType":{"type":"string","enum":["Ok","Minor","Major","Critical","LifeThreatening"]},"van":{"maxLength":255,"minLength":0,"type":"string"},"semanticDataModel":{"type":"string","enum":["BATCH","SERIALPART","UNKNOWN","PARTASPLANNED","JUSTINSEQUENCE"]},"classification":{"maxLength":255,"minLength":0,"type":"string"},"detailAspectModels":{"type":"array","items":{"$ref":"#/components/schemas/DetailAspectModelResponse"}},"sentQualityAlertIdsInStatusActive":{"type":"array","items":{"type":"integer","format":"int64"}},"receivedQualityAlertIdsInStatusActive":{"type":"array","items":{"type":"integer","format":"int64"}},"sentQualityInvestigationIdsInStatusActive":{"type":"array","items":{"type":"integer","format":"int64"}},"receivedQualityInvestigationIdsInStatusActive":{"type":"array","items":{"type":"integer","format":"int64"}},"importState":{"type":"string","enum":["TRANSIENT","PERSISTENT","ERROR","IN_SYNCHRONIZATION","UNSET"]},"importNote":{"type":"string"}}}}}}},"403":{"description":"Forbidden.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"400":{"description":"Bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"415":{"description":"Unsupported media type","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authorization failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"oAuth2":["profile email"]}]}},"/registry/reload":{"get":{"tags":["Registry"],"summary":"Triggers reload of shell descriptors","description":"The endpoint Triggers reload of shell descriptors.","operationId":"reload","responses":{"403":{"description":"Forbidden.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"400":{"description":"Bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"415":{"description":"Unsupported media type","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"202":{"description":"Created registry reload job."},"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authorization failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"oAuth2":["profile email"]}]}},"/irs/job/callback":{"get":{"tags":["irs-callback-controller"],"operationId":"handleIrsJobCallback","parameters":[{"name":"id","in":"query","required":true,"schema":{"type":"string"}},{"name":"state","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/investigations/{investigationId}":{"get":{"tags":["Investigations"],"summary":"Gets investigations by id","description":"The endpoint returns investigations as paged result by their id.","operationId":"getInvestigation","parameters":[{"name":"investigationId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK.","content":{"application/json":{"schema":{"maxItems":2147483647,"minItems":-2147483648,"type":"array","description":"Investigations","items":{"$ref":"#/components/schemas/InvestigationResponse"}}}}},"403":{"description":"Forbidden.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"400":{"description":"Bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"415":{"description":"Unsupported media type","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authorization failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"oAuth2":["profile email"]}]}},"/investigations/distinctFilterValues":{"get":{"tags":["Assets","Investigations"],"summary":"getDistinctFilterValues","description":"The endpoint returns a distinct filter values for given fieldName.","operationId":"distinctFilterValues","parameters":[{"name":"fieldName","in":"query","required":true,"schema":{"type":"string"}},{"name":"size","in":"query","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"startWith","in":"query","required":true,"schema":{"type":"string"}},{"name":"channel","in":"query","required":true,"schema":{"type":"string","enum":["SENDER","RECEIVER"]}}],"responses":{"403":{"description":"Forbidden.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"400":{"description":"Bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"415":{"description":"Unsupported media type","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authorization failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"Returns a distinct filter values for given fieldName.","content":{"application/json":{"schema":{"maxItems":2147483647,"minItems":0,"type":"array"}}}}},"security":[{"oAuth2":["profile email"]}]}},"/dashboard":{"get":{"tags":["Dashboard"],"summary":"Returns dashboard related data","description":"The endpoint can return limited data based on the user role","operationId":"dashboard","responses":{"403":{"description":"Forbidden.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"400":{"description":"Bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"415":{"description":"Unsupported media type","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"Returns dashboard data","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DashboardResponse"}}}},"401":{"description":"Authorization failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"oAuth2":["profile email"]}]}},"/assets/as-planned":{"get":{"tags":["AssetsAsPlanned"],"summary":"Get assets by pagination","description":"The endpoint returns a paged result of assets.","operationId":"AssetsAsPlanned","parameters":[{"name":"pageable","in":"query","required":true,"schema":{"$ref":"#/components/schemas/OwnPageable"}},{"name":"filter","in":"query","required":true,"schema":{"$ref":"#/components/schemas/SearchCriteriaRequestParam"}}],"responses":{"403":{"description":"Forbidden.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"400":{"description":"Bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"415":{"description":"Unsupported media type","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"Returns the paged result found for Asset","content":{"application/json":{"schema":{"maxItems":2147483647,"minItems":0,"type":"array","items":{"maxItems":2147483647,"type":"array","description":"Assets","items":{"type":"object","properties":{"id":{"maxLength":255,"minLength":0,"type":"string"},"idShort":{"maxLength":255,"minLength":0,"type":"string"},"semanticModelId":{"maxLength":255,"minLength":0,"type":"string"},"businessPartner":{"maxLength":255,"minLength":0,"type":"string"},"manufacturerName":{"maxLength":255,"minLength":0,"type":"string"},"nameAtManufacturer":{"maxLength":255,"minLength":0,"type":"string"},"manufacturerPartId":{"maxLength":255,"minLength":0,"type":"string"},"owner":{"type":"string","enum":["SUPPLIER","CUSTOMER","OWN","UNKNOWN"]},"childRelations":{"maxItems":2147483647,"type":"array","description":"Child relationships","items":{"$ref":"#/components/schemas/DescriptionsResponse"}},"parentRelations":{"maxItems":2147483647,"type":"array","description":"Parent relationships","items":{"$ref":"#/components/schemas/DescriptionsResponse"}},"qualityType":{"type":"string","enum":["Ok","Minor","Major","Critical","LifeThreatening"]},"van":{"maxLength":255,"minLength":0,"type":"string"},"semanticDataModel":{"type":"string","enum":["BATCH","SERIALPART","UNKNOWN","PARTASPLANNED","JUSTINSEQUENCE"]},"classification":{"maxLength":255,"minLength":0,"type":"string"},"detailAspectModels":{"type":"array","items":{"$ref":"#/components/schemas/DetailAspectModelResponse"}},"sentQualityAlertIdsInStatusActive":{"type":"array","items":{"type":"integer","format":"int64"}},"receivedQualityAlertIdsInStatusActive":{"type":"array","items":{"type":"integer","format":"int64"}},"sentQualityInvestigationIdsInStatusActive":{"type":"array","items":{"type":"integer","format":"int64"}},"receivedQualityInvestigationIdsInStatusActive":{"type":"array","items":{"type":"integer","format":"int64"}},"importState":{"type":"string","enum":["TRANSIENT","PERSISTENT","ERROR","IN_SYNCHRONIZATION","UNSET"]},"importNote":{"type":"string"}}}}}}}},"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authorization failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"oAuth2":["profile email"]}]}},"/assets/as-planned/{assetId}/children/{childId}":{"get":{"tags":["AssetsAsPlanned"],"summary":"Get asset by child id","description":"The endpoint returns an asset filtered by child id.","operationId":"assetByChildIdAndAssetId","parameters":[{"name":"assetId","in":"path","required":true,"schema":{"type":"string"}},{"name":"childId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returns the asset by childId","content":{"application/json":{"schema":{"maxItems":2147483647,"type":"array","description":"Assets","items":{"type":"object","properties":{"id":{"maxLength":255,"minLength":0,"type":"string"},"idShort":{"maxLength":255,"minLength":0,"type":"string"},"semanticModelId":{"maxLength":255,"minLength":0,"type":"string"},"businessPartner":{"maxLength":255,"minLength":0,"type":"string"},"manufacturerName":{"maxLength":255,"minLength":0,"type":"string"},"nameAtManufacturer":{"maxLength":255,"minLength":0,"type":"string"},"manufacturerPartId":{"maxLength":255,"minLength":0,"type":"string"},"owner":{"type":"string","enum":["SUPPLIER","CUSTOMER","OWN","UNKNOWN"]},"childRelations":{"maxItems":2147483647,"type":"array","description":"Child relationships","items":{"$ref":"#/components/schemas/DescriptionsResponse"}},"parentRelations":{"maxItems":2147483647,"type":"array","description":"Parent relationships","items":{"$ref":"#/components/schemas/DescriptionsResponse"}},"qualityType":{"type":"string","enum":["Ok","Minor","Major","Critical","LifeThreatening"]},"van":{"maxLength":255,"minLength":0,"type":"string"},"semanticDataModel":{"type":"string","enum":["BATCH","SERIALPART","UNKNOWN","PARTASPLANNED","JUSTINSEQUENCE"]},"classification":{"maxLength":255,"minLength":0,"type":"string"},"detailAspectModels":{"type":"array","items":{"$ref":"#/components/schemas/DetailAspectModelResponse"}},"sentQualityAlertIdsInStatusActive":{"type":"array","items":{"type":"integer","format":"int64"}},"receivedQualityAlertIdsInStatusActive":{"type":"array","items":{"type":"integer","format":"int64"}},"sentQualityInvestigationIdsInStatusActive":{"type":"array","items":{"type":"integer","format":"int64"}},"receivedQualityInvestigationIdsInStatusActive":{"type":"array","items":{"type":"integer","format":"int64"}},"importState":{"type":"string","enum":["TRANSIENT","PERSISTENT","ERROR","IN_SYNCHRONIZATION","UNSET"]},"importNote":{"type":"string"}}}}}}},"403":{"description":"Forbidden.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"400":{"description":"Bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"415":{"description":"Unsupported media type","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authorization failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"oAuth2":["profile email"]}]}},"/assets/as-planned/distinctFilterValues":{"get":{"tags":["Assets","AssetsAsPlanned"],"summary":"getDistinctFilterValues","description":"The endpoint returns a distinct filter values for given fieldName.","operationId":"distinctFilterValues_1","parameters":[{"name":"fieldName","in":"query","required":true,"schema":{"type":"string"}},{"name":"size","in":"query","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"startWith","in":"query","required":true,"schema":{"type":"string"}},{"name":"owner","in":"query","required":true,"schema":{"type":"string","enum":["SUPPLIER","CUSTOMER","OWN","UNKNOWN"]}}],"responses":{"403":{"description":"Forbidden.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"400":{"description":"Bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"415":{"description":"Unsupported media type","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authorization failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"Returns a distinct filter values for given fieldName.","content":{"application/json":{"schema":{"maxItems":2147483647,"minItems":0,"type":"array"}}}}},"security":[{"oAuth2":["profile email"]}]}},"/assets/as-built":{"get":{"tags":["AssetsAsBuilt"],"summary":"Get assets by pagination","description":"The endpoint returns a paged result of assets.","operationId":"assets","parameters":[{"name":"pageable","in":"query","required":true,"schema":{"$ref":"#/components/schemas/OwnPageable"}},{"name":"searchCriteriaRequestParam","in":"query","required":true,"schema":{"$ref":"#/components/schemas/SearchCriteriaRequestParam"}}],"responses":{"403":{"description":"Forbidden.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"400":{"description":"Bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"415":{"description":"Unsupported media type","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authorization failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"Returns the paged result found for Asset","content":{"application/json":{"schema":{"maxItems":2147483647,"minItems":0,"type":"array","items":{"maxItems":2147483647,"type":"array","description":"Assets","items":{"type":"object","properties":{"id":{"maxLength":255,"minLength":0,"type":"string"},"idShort":{"maxLength":255,"minLength":0,"type":"string"},"semanticModelId":{"maxLength":255,"minLength":0,"type":"string"},"businessPartner":{"maxLength":255,"minLength":0,"type":"string"},"manufacturerName":{"maxLength":255,"minLength":0,"type":"string"},"nameAtManufacturer":{"maxLength":255,"minLength":0,"type":"string"},"manufacturerPartId":{"maxLength":255,"minLength":0,"type":"string"},"owner":{"type":"string","enum":["SUPPLIER","CUSTOMER","OWN","UNKNOWN"]},"childRelations":{"maxItems":2147483647,"type":"array","description":"Child relationships","items":{"$ref":"#/components/schemas/DescriptionsResponse"}},"parentRelations":{"maxItems":2147483647,"type":"array","description":"Parent relationships","items":{"$ref":"#/components/schemas/DescriptionsResponse"}},"qualityType":{"type":"string","enum":["Ok","Minor","Major","Critical","LifeThreatening"]},"van":{"maxLength":255,"minLength":0,"type":"string"},"semanticDataModel":{"type":"string","enum":["BATCH","SERIALPART","UNKNOWN","PARTASPLANNED","JUSTINSEQUENCE"]},"classification":{"maxLength":255,"minLength":0,"type":"string"},"detailAspectModels":{"type":"array","items":{"$ref":"#/components/schemas/DetailAspectModelResponse"}},"sentQualityAlertIdsInStatusActive":{"type":"array","items":{"type":"integer","format":"int64"}},"receivedQualityAlertIdsInStatusActive":{"type":"array","items":{"type":"integer","format":"int64"}},"sentQualityInvestigationIdsInStatusActive":{"type":"array","items":{"type":"integer","format":"int64"}},"receivedQualityInvestigationIdsInStatusActive":{"type":"array","items":{"type":"integer","format":"int64"}},"importState":{"type":"string","enum":["TRANSIENT","PERSISTENT","ERROR","IN_SYNCHRONIZATION","UNSET"]},"importNote":{"type":"string"}}}}}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"oAuth2":["profile email"]}]}},"/assets/as-built/{assetId}/children/{childId}":{"get":{"tags":["AssetsAsBuilt"],"summary":"Get asset by child id","description":"The endpoint returns an asset filtered by child id.","operationId":"assetByChildId","parameters":[{"name":"assetId","in":"path","required":true,"schema":{"type":"string"}},{"name":"childId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returns the asset by childId","content":{"application/json":{"schema":{"maxItems":2147483647,"type":"array","description":"Assets","items":{"type":"object","properties":{"id":{"maxLength":255,"minLength":0,"type":"string"},"idShort":{"maxLength":255,"minLength":0,"type":"string"},"semanticModelId":{"maxLength":255,"minLength":0,"type":"string"},"businessPartner":{"maxLength":255,"minLength":0,"type":"string"},"manufacturerName":{"maxLength":255,"minLength":0,"type":"string"},"nameAtManufacturer":{"maxLength":255,"minLength":0,"type":"string"},"manufacturerPartId":{"maxLength":255,"minLength":0,"type":"string"},"owner":{"type":"string","enum":["SUPPLIER","CUSTOMER","OWN","UNKNOWN"]},"childRelations":{"maxItems":2147483647,"type":"array","description":"Child relationships","items":{"$ref":"#/components/schemas/DescriptionsResponse"}},"parentRelations":{"maxItems":2147483647,"type":"array","description":"Parent relationships","items":{"$ref":"#/components/schemas/DescriptionsResponse"}},"qualityType":{"type":"string","enum":["Ok","Minor","Major","Critical","LifeThreatening"]},"van":{"maxLength":255,"minLength":0,"type":"string"},"semanticDataModel":{"type":"string","enum":["BATCH","SERIALPART","UNKNOWN","PARTASPLANNED","JUSTINSEQUENCE"]},"classification":{"maxLength":255,"minLength":0,"type":"string"},"detailAspectModels":{"type":"array","items":{"$ref":"#/components/schemas/DetailAspectModelResponse"}},"sentQualityAlertIdsInStatusActive":{"type":"array","items":{"type":"integer","format":"int64"}},"receivedQualityAlertIdsInStatusActive":{"type":"array","items":{"type":"integer","format":"int64"}},"sentQualityInvestigationIdsInStatusActive":{"type":"array","items":{"type":"integer","format":"int64"}},"receivedQualityInvestigationIdsInStatusActive":{"type":"array","items":{"type":"integer","format":"int64"}},"importState":{"type":"string","enum":["TRANSIENT","PERSISTENT","ERROR","IN_SYNCHRONIZATION","UNSET"]},"importNote":{"type":"string"}}}}}}},"403":{"description":"Forbidden.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"400":{"description":"Bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"415":{"description":"Unsupported media type","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authorization failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"oAuth2":["profile email"]}]}},"/assets/as-built/distinctFilterValues":{"get":{"tags":["AssetsAsBuilt","Assets"],"summary":"getDistinctFilterValues","description":"The endpoint returns a distinct filter values for given fieldName.","operationId":"distinctFilterValues_2","parameters":[{"name":"fieldName","in":"query","required":true,"schema":{"type":"string"}},{"name":"size","in":"query","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"startWith","in":"query","required":true,"schema":{"type":"string"}},{"name":"owner","in":"query","required":true,"schema":{"type":"string","enum":["SUPPLIER","CUSTOMER","OWN","UNKNOWN"]}}],"responses":{"403":{"description":"Forbidden.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"400":{"description":"Bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"415":{"description":"Unsupported media type","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authorization failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"Returns a distinct filter values for given fieldName.","content":{"application/json":{"schema":{"maxItems":2147483647,"minItems":0,"type":"array"}}}}},"security":[{"oAuth2":["profile email"]}]}},"/assets/as-built/countries":{"get":{"tags":["AssetsAsBuilt"],"summary":"Get map of assets","description":"The endpoint returns a map for assets consumed by the map.","operationId":"assetsCountryMap","responses":{"403":{"description":"Forbidden.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"400":{"description":"Bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"415":{"description":"Unsupported media type","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authorization failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"Returns the assets found","content":{"application/json":{"schema":{"maxItems":2147483647,"minItems":0,"type":"array"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"oAuth2":["profile email"]}]}},"/alerts/{alertId}":{"get":{"tags":["Alerts"],"summary":"Gets Alert by id","description":"The endpoint returns alert by id.","operationId":"getAlert","parameters":[{"name":"alertId","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK.","content":{"application/json":{"schema":{"maxItems":2147483647,"type":"array","description":"Alerts","items":{"$ref":"#/components/schemas/AlertResponse"}}}}},"403":{"description":"Forbidden.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"400":{"description":"Bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"415":{"description":"Unsupported media type","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authorization failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"oAuth2":["profile email"]}]}},"/alerts/distinctFilterValues":{"get":{"tags":["Assets","Alerts"],"summary":"getDistinctFilterValues","description":"The endpoint returns a distinct filter values for given fieldName.","operationId":"distinctFilterValues_3","parameters":[{"name":"fieldName","in":"query","required":true,"schema":{"type":"string"}},{"name":"size","in":"query","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"startWith","in":"query","required":true,"schema":{"type":"string"}},{"name":"channel","in":"query","required":true,"schema":{"type":"string","enum":["SENDER","RECEIVER"]}}],"responses":{"403":{"description":"Forbidden.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"400":{"description":"Bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"415":{"description":"Unsupported media type","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authorization failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"Returns a distinct filter values for given fieldName.","content":{"application/json":{"schema":{"maxItems":2147483647,"minItems":0,"type":"array"}}}}},"security":[{"oAuth2":["profile email"]}]}},"/submodel/data":{"delete":{"tags":["Submodel"],"summary":"Delete All Submodels","description":"Deletes all submodels from the system.","operationId":"deleteSubmodels","responses":{"200":{"description":"Ok."},"403":{"description":"Forbidden.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"400":{"description":"Bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"415":{"description":"Unsupported media type","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authorization failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"204":{"description":"No Content."},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"oAuth2":["profile email"]}]}},"/bpn-config/{bpn}":{"delete":{"tags":["BpnEdcMapping"],"summary":"Deletes BPN EDC URL mappings","description":"The endpoint deletes BPN EDC URL mappings","operationId":"deleteBpnEdcUrlMappings","parameters":[{"name":"bpn","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Okay"},"403":{"description":"Forbidden.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"204":{"description":"Deleted."},"400":{"description":"Bad request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"415":{"description":"Unsupported media type","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too many requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authorization failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"security":[{"oAuth2":["profile email"]}]}}},"components":{"schemas":{"BpnMappingRequest":{"required":["bpn","url"],"type":"object","properties":{"bpn":{"maxLength":255,"minLength":0,"type":"string"},"url":{"maxLength":255,"minLength":0,"type":"string"}}},"ErrorResponse":{"type":"object","properties":{"message":{"maxLength":1000,"minLength":0,"pattern":"^.*$","type":"string"}}},"StartQualityNotificationRequest":{"required":["severity"],"type":"object","properties":{"partIds":{"maxItems":100,"minItems":1,"type":"array","items":{"type":"string"}},"description":{"maxLength":1000,"minLength":15,"type":"string"},"targetDate":{"type":"string","format":"date-time"},"severity":{"type":"string","enum":["MINOR","MAJOR","CRITICAL","LIFE_THREATENING"]},"receiverBpn":{"type":"string"},"asBuilt":{"type":"boolean"}}},"QualityNotificationIdResponse":{"type":"object","properties":{"id":{"type":"integer","format":"int64"}}},"UpdateQualityNotificationRequest":{"required":["status"],"type":"object","properties":{"status":{"type":"string","description":"The UpdateInvestigationStatus","enum":["ACKNOWLEDGED","ACCEPTED","DECLINED"]},"reason":{"type":"string"}}},"CloseQualityNotificationRequest":{"type":"object","properties":{"reason":{"maxLength":1000,"minLength":15,"type":"string"}}},"OwnPageable":{"type":"object","properties":{"page":{"type":"integer","format":"int32"},"size":{"type":"integer","format":"int32"},"sort":{"maxItems":2147483647,"type":"array","description":"Content of Assets PageResults","example":"manufacturerPartId,desc","items":{"type":"string"}}}},"PageableFilterRequest":{"type":"object","properties":{"pageAble":{"$ref":"#/components/schemas/OwnPageable"},"searchCriteria":{"$ref":"#/components/schemas/SearchCriteriaRequestParam"}}},"SearchCriteriaRequestParam":{"type":"object","properties":{"filter":{"maxItems":2147483647,"type":"array","description":"Filter Criteria","example":"owner,EQUAL,OWN","items":{"type":"string"}}}},"CreateNotificationContractRequest":{"required":["notificationMethod","notificationType"],"type":"object","properties":{"notificationType":{"type":"string","enum":["QUALITY_INVESTIGATION","QUALITY_ALERT"]},"notificationMethod":{"type":"string","enum":["RECEIVE","UPDATE","RESOLVE"]}}},"CreateNotificationContractResponse":{"type":"object","properties":{"notificationAssetId":{"type":"string"},"accessPolicyId":{"type":"string"},"contractDefinitionId":{"type":"string"}}},"SyncAssetsRequest":{"type":"object","properties":{"globalAssetIds":{"maxItems":100,"minItems":1,"type":"array","description":"Assets","items":{"type":"string"}}}},"GetDetailInformationRequest":{"type":"object","properties":{"assetIds":{"maxItems":50,"minItems":1,"type":"array","items":{"type":"string"}}}},"UpdateAssetRequest":{"required":["qualityType"],"type":"object","properties":{"qualityType":{"type":"string","enum":["Ok","Minor","Major","Critical","LifeThreatening"]}}},"DescriptionsResponse":{"type":"object","properties":{"id":{"maxLength":255,"minLength":0,"type":"string"},"idShort":{"maxLength":255,"minLength":0,"type":"string"}}},"DetailAspectDataAsBuiltResponse":{"type":"object","properties":{"partId":{"maxLength":255,"minLength":0,"type":"string"},"customerPartId":{"maxLength":255,"minLength":0,"type":"string"},"nameAtCustomer":{"maxLength":255,"minLength":0,"type":"string"},"manufacturingCountry":{"maxLength":255,"minLength":0,"type":"string"},"manufacturingDate":{"maxLength":255,"minLength":0,"type":"string"}}},"DetailAspectDataAsPlannedResponse":{"type":"object","properties":{"validityPeriodFrom":{"maxLength":255,"minLength":0,"type":"string"},"validityPeriodTo":{"maxLength":255,"minLength":0,"type":"string"}}},"DetailAspectDataResponse":{"type":"object","oneOf":[{"$ref":"#/components/schemas/DetailAspectDataAsBuiltResponse"},{"$ref":"#/components/schemas/DetailAspectDataAsPlannedResponse"},{"$ref":"#/components/schemas/PartSiteInformationAsPlannedResponse"},{"$ref":"#/components/schemas/DetailAspectDataTractionBatteryCodeResponse"}]},"DetailAspectDataTractionBatteryCodeResponse":{"type":"object","properties":{"productType":{"maxLength":255,"minLength":0,"type":"string"},"tractionBatteryCode":{"maxLength":255,"minLength":0,"type":"string"},"subcomponents":{"type":"array","items":{"$ref":"#/components/schemas/DetailAspectDataTractionBatteryCodeSubcomponentResponse"}}}},"DetailAspectDataTractionBatteryCodeSubcomponentResponse":{"type":"object","properties":{"productType":{"maxLength":255,"minLength":0,"type":"string"},"tractionBatteryCode":{"maxLength":255,"minLength":0,"type":"string"}}},"DetailAspectModelResponse":{"type":"object","properties":{"type":{"type":"string","enum":["AS_BUILT","AS_PLANNED","TRACTION_BATTERY_CODE","SINGLE_LEVEL_BOM_AS_BUILT","SINGLE_LEVEL_USAGE_AS_BUILT","SINGLE_LEVEL_BOM_AS_PLANNED","PART_SITE_INFORMATION_AS_PLANNED"]},"data":{"$ref":"#/components/schemas/DetailAspectDataResponse"}}},"PartSiteInformationAsPlannedResponse":{"type":"object","properties":{"functionValidUntil":{"type":"string"},"function":{"type":"string"},"functionValidFrom":{"type":"string"},"catenaXSiteId":{"type":"string"}}},"InvestigationResponse":{"type":"object","properties":{"id":{"maximum":255,"minimum":0,"type":"integer","format":"int64"},"status":{"maxLength":255,"minLength":0,"type":"string","enum":["CREATED","SENT","RECEIVED","ACKNOWLEDGED","ACCEPTED","DECLINED","CANCELED","CLOSED"]},"description":{"maxLength":1000,"minLength":0,"type":"string"},"createdBy":{"maxLength":255,"minLength":0,"type":"string"},"createdByName":{"maxLength":255,"minLength":0,"type":"string"},"createdDate":{"maxLength":50,"minLength":0,"type":"string"},"assetIds":{"maxItems":1000,"minItems":0,"type":"array","description":"assetIds","items":{"type":"string"}},"channel":{"maxLength":255,"minLength":0,"type":"string","enum":["SENDER","RECEIVER"]},"reason":{"$ref":"#/components/schemas/QualityNotificationReasonResponse"},"sendTo":{"maxLength":255,"minLength":0,"type":"string"},"sendToName":{"maxLength":255,"minLength":0,"type":"string"},"severity":{"maxLength":255,"minLength":0,"type":"string","enum":["MINOR","MAJOR","CRITICAL","LIFE-THREATENING"]},"targetDate":{"maxLength":50,"minLength":0,"type":"string"},"errorMessage":{"maxLength":255,"minLength":0,"type":"string"}}},"QualityNotificationReasonResponse":{"type":"object","properties":{"close":{"maxLength":1000,"minLength":0,"type":"string"},"accept":{"maxLength":1000,"minLength":0,"type":"string"},"decline":{"maxLength":1000,"minLength":0,"type":"string"}}},"DashboardResponse":{"type":"object","properties":{"asBuiltCustomerParts":{"type":"integer","format":"int64"},"asPlannedCustomerParts":{"type":"integer","format":"int64"},"asBuiltSupplierParts":{"type":"integer","format":"int64"},"asPlannedSupplierParts":{"type":"integer","format":"int64"},"asBuiltOwnParts":{"type":"integer","format":"int64"},"asPlannedOwnParts":{"type":"integer","format":"int64"},"myPartsWithOpenAlerts":{"type":"integer","format":"int64"},"myPartsWithOpenInvestigations":{"type":"integer","format":"int64"},"supplierPartsWithOpenAlerts":{"type":"integer","format":"int64"},"customerPartsWithOpenAlerts":{"type":"integer","format":"int64"},"supplierPartsWithOpenInvestigations":{"type":"integer","format":"int64"},"customerPartsWithOpenInvestigations":{"type":"integer","format":"int64"},"receivedActiveAlerts":{"type":"integer","format":"int64"},"receivedActiveInvestigations":{"type":"integer","format":"int64"},"sentActiveAlerts":{"type":"integer","format":"int64"},"sentActiveInvestigations":{"type":"integer","format":"int64"}}},"AlertResponse":{"type":"object","properties":{"id":{"maximum":255,"minimum":0,"type":"integer","format":"int64"},"status":{"maxLength":255,"minLength":0,"type":"string","enum":["CREATED","SENT","RECEIVED","ACKNOWLEDGED","ACCEPTED","DECLINED","CANCELED","CLOSED"]},"description":{"maxLength":1000,"minLength":0,"type":"string"},"createdBy":{"maxLength":255,"minLength":0,"type":"string"},"createdByName":{"maxLength":255,"minLength":0,"type":"string"},"createdDate":{"maxLength":50,"minLength":0,"type":"string"},"assetIds":{"maxItems":1000,"minItems":0,"type":"array","description":"assetIds","items":{"type":"string"}},"channel":{"maxLength":255,"minLength":0,"type":"string","enum":["SENDER","RECEIVER"]},"reason":{"$ref":"#/components/schemas/QualityNotificationReasonResponse"},"sendTo":{"maxLength":255,"minLength":0,"type":"string"},"sendToName":{"maxLength":255,"minLength":0,"type":"string"},"severity":{"maxLength":255,"minLength":0,"type":"string","enum":["MINOR","MAJOR","CRITICAL","LIFE-THREATENING"]},"targetDate":{"maxLength":50,"minLength":0,"type":"string"},"errorMessage":{"maxLength":255,"minLength":0,"type":"string"}}}},"securitySchemes":{"oAuth2":{"type":"oauth2","flows":{"clientCredentials":{"scopes":{"profile email":""}}}}}}} \ No newline at end of file +{ + "openapi" : "3.0.1", + "info" : { + "title" : "Trace-FOSS - OpenAPI Documentation", + "description" : "Trace-FOSS is a system for tracking parts along the supply chain. A high level of transparency across the supplier network enables faster intervention based on a recorded event in the supply chain. This saves costs by seamlessly tracking parts and creates trust through clearly defined and secure data access by the companies and persons involved in the process.", + "license" : { + "name" : "License: Apache 2.0" + }, + "version" : "1.0.0" + }, + "servers" : [ + { + "url" : "http://localhost:9998/api", + "description" : "Generated server url" + } + ], + "security" : [ + { + "oAuth2" : [ + "profile email" + ] + } + ], + "tags" : [ + { + "name" : "Investigations", + "description" : "Operations on Investigation Notification" + } + ], + "paths" : { + "/bpn-config" : { + "get" : { + "tags" : [ + "BpnEdcMapping" + ], + "summary" : "Get BPN EDC URL mappings", + "description" : "The endpoint returns a result of BPN EDC URL mappings.", + "operationId" : "getBpnEdcs", + "responses" : { + "401" : { + "description" : "Authorization failed.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "500" : { + "description" : "Internal server error.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "429" : { + "description" : "Too many requests.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "400" : { + "description" : "Bad request.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "404" : { + "description" : "Not found.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "403" : { + "description" : "Forbidden.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "200" : { + "description" : "Returns the paged result found", + "content" : { + "application/json" : { + "schema" : { + "maxItems" : 2147483647, + "minItems" : 0, + "type" : "array" + } + } + } + }, + "415" : { + "description" : "Unsupported media type", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + } + }, + "security" : [ + { + "oAuth2" : [ + "profile email" + ] + } + ] + }, + "put" : { + "tags" : [ + "BpnEdcMapping" + ], + "summary" : "Updates BPN EDC URL mappings", + "description" : "The endpoint updates BPN EDC URL mappings", + "operationId" : "updateBpnEdcMappings", + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "maxItems" : 1000, + "minItems" : 0, + "type" : "array", + "items" : { + "$ref" : "#/components/schemas/BpnMappingRequest" + } + } + } + }, + "required" : true + }, + "responses" : { + "200" : { + "description" : "Returns the paged result found for BpnEdcMapping", + "content" : { + "application/json" : { + "schema" : { + "maxItems" : 2147483647, + "minItems" : 0, + "type" : "array" + } + } + } + }, + "401" : { + "description" : "Authorization failed.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "500" : { + "description" : "Internal server error.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "429" : { + "description" : "Too many requests.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "400" : { + "description" : "Bad request.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "403" : { + "description" : "Forbidden.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "404" : { + "description" : "Not found.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "415" : { + "description" : "Unsupported media type", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + } + }, + "security" : [ + { + "oAuth2" : [ + "profile email" + ] + } + ] + }, + "post" : { + "tags" : [ + "BpnEdcMapping" + ], + "summary" : "Creates BPN EDC URL mappings", + "description" : "The endpoint creates BPN EDC URL mappings", + "operationId" : "createBpnEdcUrlMappings", + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "maxItems" : 1000, + "minItems" : 0, + "type" : "array", + "items" : { + "$ref" : "#/components/schemas/BpnMappingRequest" + } + } + } + }, + "required" : true + }, + "responses" : { + "200" : { + "description" : "Returns the paged result found for BpnEdcMapping", + "content" : { + "application/json" : { + "schema" : { + "maxItems" : 2147483647, + "minItems" : 0, + "type" : "array" + } + } + } + }, + "401" : { + "description" : "Authorization failed.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "500" : { + "description" : "Internal server error.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "429" : { + "description" : "Too many requests.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "400" : { + "description" : "Bad request.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "404" : { + "description" : "Not found.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "403" : { + "description" : "Forbidden.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "415" : { + "description" : "Unsupported media type", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + } + }, + "security" : [ + { + "oAuth2" : [ + "profile email" + ] + } + ] + } + }, + "/submodel/data/{submodelId}" : { + "get" : { + "tags" : [ + "Submodel" + ], + "summary" : "Gets Submodel by its id", + "description" : "The endpoint returns Submodel for given id. Used for data providing functionality", + "operationId" : "getSubmodelById", + "parameters" : [ + { + "name" : "submodelId", + "in" : "path", + "required" : true, + "schema" : { + "type" : "string" + } + } + ], + "responses" : { + "401" : { + "description" : "Authorization failed.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "500" : { + "description" : "Internal server error.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "200" : { + "description" : "Returns the paged result found", + "content" : { + "application/json" : {} + } + }, + "429" : { + "description" : "Too many requests.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "400" : { + "description" : "Bad request.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "403" : { + "description" : "Forbidden.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "404" : { + "description" : "Not found.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "415" : { + "description" : "Unsupported media type", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + } + }, + "security" : [ + { + "oAuth2" : [ + "profile email" + ] + } + ] + }, + "post" : { + "tags" : [ + "Submodel" + ], + "summary" : "Save Submodel", + "description" : "This endpoint allows you to save a Submodel identified by its ID.", + "operationId" : "saveSubmodel", + "parameters" : [ + { + "name" : "submodelId", + "in" : "path", + "required" : true, + "schema" : { + "type" : "string" + } + } + ], + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "type" : "string" + } + } + }, + "required" : true + }, + "responses" : { + "200" : { + "description" : "Ok." + }, + "401" : { + "description" : "Authorization failed.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "500" : { + "description" : "Internal server error.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "429" : { + "description" : "Too many requests.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "400" : { + "description" : "Bad request.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "403" : { + "description" : "Forbidden.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "404" : { + "description" : "Not found.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "204" : { + "description" : "No Content." + }, + "415" : { + "description" : "Unsupported media type", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + } + }, + "security" : [ + { + "oAuth2" : [ + "profile email" + ] + } + ] + } + }, + "/investigations" : { + "post" : { + "tags" : [ + "Investigations" + ], + "summary" : "Start investigations by part ids", + "description" : "The endpoint starts investigations based on part ids provided.", + "operationId" : "investigateAssets", + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/StartQualityNotificationRequest" + } + } + }, + "required" : true + }, + "responses" : { + "401" : { + "description" : "Authorization failed.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "500" : { + "description" : "Internal server error.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "429" : { + "description" : "Too many requests.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "400" : { + "description" : "Bad request.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "403" : { + "description" : "Forbidden.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "404" : { + "description" : "Not found.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "201" : { + "description" : "Created.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/QualityNotificationIdResponse" + } + } + } + }, + "415" : { + "description" : "Unsupported media type", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + } + }, + "security" : [ + { + "oAuth2" : [ + "profile email" + ] + } + ] + } + }, + "/investigations/{investigationId}/update" : { + "post" : { + "tags" : [ + "Investigations" + ], + "summary" : "Update investigations by id", + "description" : "The endpoint updates investigations by their id.", + "operationId" : "updateInvestigation", + "parameters" : [ + { + "name" : "investigationId", + "in" : "path", + "required" : true, + "schema" : { + "type" : "integer", + "format" : "int64" + } + } + ], + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/UpdateQualityNotificationRequest" + } + } + }, + "required" : true + }, + "responses" : { + "200" : { + "description" : "Ok." + }, + "401" : { + "description" : "Authorization failed.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "500" : { + "description" : "Internal server error.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "204" : { + "description" : "No content." + }, + "429" : { + "description" : "Too many requests.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "400" : { + "description" : "Bad request.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "403" : { + "description" : "Forbidden.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "404" : { + "description" : "Not found.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "415" : { + "description" : "Unsupported media type", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + } + }, + "security" : [ + { + "oAuth2" : [ + "profile email" + ] + } + ] + } + }, + "/investigations/{investigationId}/close" : { + "post" : { + "tags" : [ + "Investigations" + ], + "summary" : "Close investigations by id", + "description" : "The endpoint closes investigations by their id.", + "operationId" : "closeInvestigation", + "parameters" : [ + { + "name" : "investigationId", + "in" : "path", + "required" : true, + "schema" : { + "type" : "integer", + "format" : "int64" + } + } + ], + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/CloseQualityNotificationRequest" + } + } + }, + "required" : true + }, + "responses" : { + "200" : { + "description" : "Ok." + }, + "401" : { + "description" : "Authorization failed.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "500" : { + "description" : "Internal server error.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "204" : { + "description" : "No content." + }, + "429" : { + "description" : "Too many requests.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "400" : { + "description" : "Bad request.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "403" : { + "description" : "Forbidden.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "404" : { + "description" : "Not found.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "415" : { + "description" : "Unsupported media type", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + } + }, + "security" : [ + { + "oAuth2" : [ + "profile email" + ] + } + ] + } + }, + "/investigations/{investigationId}/cancel" : { + "post" : { + "tags" : [ + "Investigations" + ], + "summary" : "Cancles investigations by id", + "description" : "The endpoint cancles investigations by their id.", + "operationId" : "cancelInvestigation", + "parameters" : [ + { + "name" : "investigationId", + "in" : "path", + "required" : true, + "schema" : { + "type" : "integer", + "format" : "int64" + } + } + ], + "responses" : { + "200" : { + "description" : "Ok." + }, + "401" : { + "description" : "Authorization failed.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "500" : { + "description" : "Internal server error.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "429" : { + "description" : "Too many requests.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "204" : { + "description" : "No content." + }, + "400" : { + "description" : "Bad request.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "403" : { + "description" : "Forbidden.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "404" : { + "description" : "Not found.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "415" : { + "description" : "Unsupported media type", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + } + }, + "security" : [ + { + "oAuth2" : [ + "profile email" + ] + } + ] + } + }, + "/investigations/{investigationId}/approve" : { + "post" : { + "tags" : [ + "Investigations" + ], + "summary" : "Approves investigations by id", + "description" : "The endpoint approves investigations by their id.", + "operationId" : "approveInvestigation", + "parameters" : [ + { + "name" : "investigationId", + "in" : "path", + "required" : true, + "schema" : { + "type" : "integer", + "format" : "int64" + } + } + ], + "responses" : { + "200" : { + "description" : "Ok." + }, + "401" : { + "description" : "Authorization failed.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "500" : { + "description" : "Internal server error.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "429" : { + "description" : "Too many requests.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "204" : { + "description" : "No content." + }, + "400" : { + "description" : "Bad request.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "403" : { + "description" : "Forbidden.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "404" : { + "description" : "Not found.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "415" : { + "description" : "Unsupported media type", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + } + }, + "security" : [ + { + "oAuth2" : [ + "profile email" + ] + } + ] + } + }, + "/investigations/filter" : { + "post" : { + "tags" : [ + "Investigations" + ], + "summary" : "Filter investigations defined by the request body", + "description" : "The endpoint returns investigations as paged result.", + "operationId" : "filterInvestigations", + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/PageableFilterRequest" + } + } + }, + "required" : true + }, + "responses" : { + "401" : { + "description" : "Authorization failed.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "500" : { + "description" : "Internal server error.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "429" : { + "description" : "Too many requests.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "400" : { + "description" : "Bad request.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "403" : { + "description" : "Forbidden.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "404" : { + "description" : "Not found.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "200" : { + "description" : "Returns the paged result found for Asset", + "content" : { + "application/json" : { + "schema" : { + "maxItems" : 2147483647, + "minItems" : 0, + "type" : "array" + } + } + } + }, + "415" : { + "description" : "Unsupported media type", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + } + }, + "security" : [ + { + "oAuth2" : [ + "profile email" + ] + } + ] + } + }, + "/edc/notification/contract" : { + "post" : { + "tags" : [ + "Notifications" + ], + "summary" : "Triggers EDC notification contract", + "description" : "The endpoint Triggers EDC notification contract based on notification type and method", + "operationId" : "createNotificationContract", + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/CreateNotificationContractRequest" + } + } + }, + "required" : true + }, + "responses" : { + "401" : { + "description" : "Authorization failed.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "500" : { + "description" : "Internal server error.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "429" : { + "description" : "Too many requests.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "400" : { + "description" : "Bad request.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "403" : { + "description" : "Forbidden.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "404" : { + "description" : "Not found.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "201" : { + "description" : "Created.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/CreateNotificationContractResponse" + } + } + } + }, + "415" : { + "description" : "Unsupported media type", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + } + }, + "security" : [ + { + "oAuth2" : [ + "profile email" + ] + } + ] + } + }, + "/assets/publish" : { + "post" : { + "tags" : [ + "AssetsImport", + "AssetsPublish" + ], + "summary" : "asset publish", + "description" : "This endpoint publishes assets to the Catena-X network.", + "operationId" : "publishAssets", + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/RegisterAssetRequest" + } + } + }, + "required" : true + }, + "responses" : { + "204" : { + "description" : "No Content." + }, + "401" : { + "description" : "Authorization failed.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "500" : { + "description" : "Internal server error.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "429" : { + "description" : "Too many requests.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "400" : { + "description" : "Bad request.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "403" : { + "description" : "Forbidden.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "404" : { + "description" : "Not found.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "200" : { + "description" : "OK.", + "content" : { + "application/json" : {} + } + }, + "415" : { + "description" : "Unsupported media type", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + } + }, + "security" : [ + { + "oAuth2" : [ + "profile email" + ] + } + ] + } + }, + "/assets/import" : { + "post" : { + "tags" : [ + "AssetsImport" + ], + "summary" : "asset upload", + "description" : "This endpoint stores assets in the application. Those can be later published in the Catena-X network.", + "operationId" : "importJson", + "requestBody" : { + "content" : { + "multipart/form-data" : { + "schema" : { + "required" : [ + "file" + ], + "type" : "object", + "properties" : { + "file" : { + "type" : "string", + "format" : "binary" + } + } + } + } + } + }, + "responses" : { + "204" : { + "description" : "No Content." + }, + "401" : { + "description" : "Authorization failed.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "500" : { + "description" : "Internal server error.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "429" : { + "description" : "Too many requests.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "400" : { + "description" : "Bad request.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "403" : { + "description" : "Forbidden.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "404" : { + "description" : "Not found.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "200" : { + "description" : "OK.", + "content" : { + "application/json" : {} + } + }, + "415" : { + "description" : "Unsupported media type", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + } + }, + "security" : [ + { + "oAuth2" : [ + "profile email" + ] + } + ] + } + }, + "/assets/as-planned/sync" : { + "post" : { + "tags" : [ + "AssetsAsPlanned" + ], + "summary" : "Synchronizes assets from IRS", + "description" : "The endpoint synchronizes the assets from irs.", + "operationId" : "sync", + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/SyncAssetsRequest" + } + } + }, + "required" : true + }, + "responses" : { + "401" : { + "description" : "Authorization failed.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "500" : { + "description" : "Internal server error.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "429" : { + "description" : "Too many requests.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "400" : { + "description" : "Bad request.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "403" : { + "description" : "Forbidden.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "404" : { + "description" : "Not found.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "201" : { + "description" : "Created." + }, + "415" : { + "description" : "Unsupported media type", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + } + }, + "security" : [ + { + "oAuth2" : [ + "profile email" + ] + } + ] + } + }, + "/assets/as-planned/detail-information" : { + "post" : { + "tags" : [ + "AssetsAsPlanned" + ], + "summary" : "Searches for assets by ids.", + "description" : "The endpoint searchs for assets by id and returns a list of them.", + "operationId" : "getDetailInformation", + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/GetDetailInformationRequest" + } + } + }, + "required" : true + }, + "responses" : { + "401" : { + "description" : "Authorization failed.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "500" : { + "description" : "Internal server error.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "429" : { + "description" : "Too many requests.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "200" : { + "description" : "Returns the paged result found for Asset", + "content" : { + "application/json" : { + "schema" : { + "maxItems" : 2147483647, + "minItems" : 0, + "type" : "array" + } + } + } + }, + "400" : { + "description" : "Bad request.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "403" : { + "description" : "Forbidden.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "404" : { + "description" : "Not found.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "415" : { + "description" : "Unsupported media type", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + } + }, + "security" : [ + { + "oAuth2" : [ + "profile email" + ] + } + ] + } + }, + "/assets/as-built/sync" : { + "post" : { + "tags" : [ + "AssetsAsBuilt" + ], + "summary" : "Synchronizes assets from IRS", + "description" : "The endpoint synchronizes the assets from irs.", + "operationId" : "sync_1", + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/SyncAssetsRequest" + } + } + }, + "required" : true + }, + "responses" : { + "401" : { + "description" : "Authorization failed.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "500" : { + "description" : "Internal server error.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "429" : { + "description" : "Too many requests.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "400" : { + "description" : "Bad request.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "403" : { + "description" : "Forbidden.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "404" : { + "description" : "Not found.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "201" : { + "description" : "Created." + }, + "415" : { + "description" : "Unsupported media type", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + } + }, + "security" : [ + { + "oAuth2" : [ + "profile email" + ] + } + ] + } + }, + "/assets/as-built/detail-information" : { + "post" : { + "tags" : [ + "AssetsAsBuilt" + ], + "summary" : "Searches for assets by ids.", + "description" : "The endpoint searchs for assets by id and returns a list of them.", + "operationId" : "getDetailInformation_1", + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/GetDetailInformationRequest" + } + } + }, + "required" : true + }, + "responses" : { + "401" : { + "description" : "Authorization failed.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "500" : { + "description" : "Internal server error.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "429" : { + "description" : "Too many requests.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "200" : { + "description" : "Returns the paged result found for Asset", + "content" : { + "application/json" : { + "schema" : { + "maxItems" : 2147483647, + "minItems" : 0, + "type" : "array" + } + } + } + }, + "400" : { + "description" : "Bad request.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "403" : { + "description" : "Forbidden.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "404" : { + "description" : "Not found.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "415" : { + "description" : "Unsupported media type", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + } + }, + "security" : [ + { + "oAuth2" : [ + "profile email" + ] + } + ] + } + }, + "/alerts" : { + "post" : { + "tags" : [ + "Alerts" + ], + "summary" : "Start alert by part ids", + "description" : "The endpoint starts alert based on part ids provided.", + "operationId" : "alertAssets", + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/StartQualityNotificationRequest" + } + } + }, + "required" : true + }, + "responses" : { + "401" : { + "description" : "Authorization failed.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "500" : { + "description" : "Internal server error.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "429" : { + "description" : "Too many requests.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "400" : { + "description" : "Bad request.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "403" : { + "description" : "Forbidden.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "404" : { + "description" : "Not found.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "201" : { + "description" : "Created.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/QualityNotificationIdResponse" + } + } + } + }, + "415" : { + "description" : "Unsupported media type", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + } + }, + "security" : [ + { + "oAuth2" : [ + "profile email" + ] + } + ] + } + }, + "/alerts/{alertId}/update" : { + "post" : { + "tags" : [ + "Alerts" + ], + "summary" : "Update alert by id", + "description" : "The endpoint updates alert by their id.", + "operationId" : "updateAlert", + "parameters" : [ + { + "name" : "alertId", + "in" : "path", + "required" : true, + "schema" : { + "type" : "integer", + "format" : "int64" + } + } + ], + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/UpdateQualityNotificationRequest" + } + } + }, + "required" : true + }, + "responses" : { + "401" : { + "description" : "Authorization failed.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "500" : { + "description" : "Internal server error.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "204" : { + "description" : "No content." + }, + "429" : { + "description" : "Too many requests.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "400" : { + "description" : "Bad request.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "403" : { + "description" : "Forbidden.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "404" : { + "description" : "Not found.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "415" : { + "description" : "Unsupported media type", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + } + }, + "security" : [ + { + "oAuth2" : [ + "profile email" + ] + } + ] + } + }, + "/alerts/{alertId}/close" : { + "post" : { + "tags" : [ + "Alerts" + ], + "summary" : "Close alert by id", + "description" : "The endpoint closes alert by id.", + "operationId" : "closeAlert", + "parameters" : [ + { + "name" : "alertId", + "in" : "path", + "required" : true, + "schema" : { + "type" : "integer", + "format" : "int64" + } + } + ], + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/CloseQualityNotificationRequest" + } + } + }, + "required" : true + }, + "responses" : { + "200" : { + "description" : "Ok." + }, + "401" : { + "description" : "Authorization failed.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "500" : { + "description" : "Internal server error.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "204" : { + "description" : "No content." + }, + "429" : { + "description" : "Too many requests.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "400" : { + "description" : "Bad request.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "403" : { + "description" : "Forbidden.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "404" : { + "description" : "Not found.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "415" : { + "description" : "Unsupported media type", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + } + }, + "security" : [ + { + "oAuth2" : [ + "profile email" + ] + } + ] + } + }, + "/alerts/{alertId}/cancel" : { + "post" : { + "tags" : [ + "Alerts" + ], + "summary" : "Cancels alert by id", + "description" : "The endpoint cancels alert by id.", + "operationId" : "cancelAlert", + "parameters" : [ + { + "name" : "alertId", + "in" : "path", + "required" : true, + "schema" : { + "type" : "integer", + "format" : "int64" + } + } + ], + "responses" : { + "200" : { + "description" : "Ok." + }, + "401" : { + "description" : "Authorization failed.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "500" : { + "description" : "Internal server error.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "429" : { + "description" : "Too many requests.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "204" : { + "description" : "No content." + }, + "400" : { + "description" : "Bad request.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "403" : { + "description" : "Forbidden.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "404" : { + "description" : "Not found.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "415" : { + "description" : "Unsupported media type", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + } + }, + "security" : [ + { + "oAuth2" : [ + "profile email" + ] + } + ] + } + }, + "/alerts/{alertId}/approve" : { + "post" : { + "tags" : [ + "Alerts" + ], + "summary" : "Approves alert by id", + "description" : "The endpoint approves alert by id.", + "operationId" : "approveAlert", + "parameters" : [ + { + "name" : "alertId", + "in" : "path", + "required" : true, + "schema" : { + "type" : "integer", + "format" : "int64" + } + } + ], + "responses" : { + "200" : { + "description" : "Ok." + }, + "401" : { + "description" : "Authorization failed.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "500" : { + "description" : "Internal server error.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "429" : { + "description" : "Too many requests.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "204" : { + "description" : "No content." + }, + "400" : { + "description" : "Bad request.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "403" : { + "description" : "Forbidden.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "404" : { + "description" : "Not found.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "415" : { + "description" : "Unsupported media type", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + } + }, + "security" : [ + { + "oAuth2" : [ + "profile email" + ] + } + ] + } + }, + "/alerts/filter" : { + "post" : { + "tags" : [ + "Alerts" + ], + "summary" : "Filter alerts defined by the request body", + "description" : "The endpoint returns alerts as paged result.", + "operationId" : "filterAlerts", + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/PageableFilterRequest" + } + } + }, + "required" : true + }, + "responses" : { + "200" : { + "description" : "Returns the paged result found for Asset", + "content" : { + "application/json" : { + "schema" : { + "maxItems" : 2147483647, + "type" : "array" + } + } + } + }, + "401" : { + "description" : "Authorization failed.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "500" : { + "description" : "Internal server error.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "429" : { + "description" : "Too many requests.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "400" : { + "description" : "Bad request.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "403" : { + "description" : "Forbidden.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "404" : { + "description" : "Not found.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "415" : { + "description" : "Unsupported media type", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + } + }, + "security" : [ + { + "oAuth2" : [ + "profile email" + ] + } + ] + } + }, + "/assets/as-planned/{assetId}" : { + "get" : { + "tags" : [ + "AssetsAsPlanned" + ], + "summary" : "Get asset by id", + "description" : "The endpoint returns an asset filtered by id .", + "operationId" : "assetById", + "parameters" : [ + { + "name" : "assetId", + "in" : "path", + "required" : true, + "schema" : { + "type" : "string" + } + } + ], + "responses" : { + "200" : { + "description" : "Returns the assets found", + "content" : { + "application/json" : { + "schema" : { + "maxItems" : 2147483647, + "type" : "array", + "description" : "Assets", + "items" : { + "type" : "object", + "properties" : { + "id" : { + "maxLength" : 255, + "minLength" : 0, + "type" : "string" + }, + "idShort" : { + "maxLength" : 255, + "minLength" : 0, + "type" : "string" + }, + "semanticModelId" : { + "maxLength" : 255, + "minLength" : 0, + "type" : "string" + }, + "businessPartner" : { + "maxLength" : 255, + "minLength" : 0, + "type" : "string" + }, + "manufacturerName" : { + "maxLength" : 255, + "minLength" : 0, + "type" : "string" + }, + "nameAtManufacturer" : { + "maxLength" : 255, + "minLength" : 0, + "type" : "string" + }, + "manufacturerPartId" : { + "maxLength" : 255, + "minLength" : 0, + "type" : "string" + }, + "owner" : { + "type" : "string", + "enum" : [ + "SUPPLIER", + "CUSTOMER", + "OWN", + "UNKNOWN" + ] + }, + "childRelations" : { + "maxItems" : 2147483647, + "type" : "array", + "description" : "Child relationships", + "items" : { + "$ref" : "#/components/schemas/DescriptionsResponse" + } + }, + "parentRelations" : { + "maxItems" : 2147483647, + "type" : "array", + "description" : "Parent relationships", + "items" : { + "$ref" : "#/components/schemas/DescriptionsResponse" + } + }, + "qualityType" : { + "type" : "string", + "enum" : [ + "Ok", + "Minor", + "Major", + "Critical", + "LifeThreatening" + ] + }, + "van" : { + "maxLength" : 255, + "minLength" : 0, + "type" : "string" + }, + "semanticDataModel" : { + "type" : "string", + "enum" : [ + "BATCH", + "SERIALPART", + "UNKNOWN", + "PARTASPLANNED", + "JUSTINSEQUENCE" + ] + }, + "classification" : { + "maxLength" : 255, + "minLength" : 0, + "type" : "string" + }, + "detailAspectModels" : { + "type" : "array", + "items" : { + "$ref" : "#/components/schemas/DetailAspectModelResponse" + } + }, + "sentQualityAlertIdsInStatusActive" : { + "type" : "array", + "items" : { + "type" : "integer", + "format" : "int64" + } + }, + "receivedQualityAlertIdsInStatusActive" : { + "type" : "array", + "items" : { + "type" : "integer", + "format" : "int64" + } + }, + "sentQualityInvestigationIdsInStatusActive" : { + "type" : "array", + "items" : { + "type" : "integer", + "format" : "int64" + } + }, + "receivedQualityInvestigationIdsInStatusActive" : { + "type" : "array", + "items" : { + "type" : "integer", + "format" : "int64" + } + }, + "importState" : { + "type" : "string", + "enum" : [ + "TRANSIENT", + "PERSISTENT", + "ERROR", + "IN_SYNCHRONIZATION", + "UNSET" + ] + }, + "importNote" : { + "type" : "string" + } + } + } + } + } + } + }, + "401" : { + "description" : "Authorization failed.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "500" : { + "description" : "Internal server error.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "429" : { + "description" : "Too many requests.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "400" : { + "description" : "Bad request.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "403" : { + "description" : "Forbidden.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "404" : { + "description" : "Not found.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "415" : { + "description" : "Unsupported media type", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + } + }, + "security" : [ + { + "oAuth2" : [ + "profile email" + ] + } + ] + }, + "patch" : { + "tags" : [ + "AssetsAsPlanned" + ], + "summary" : "Updates asset", + "description" : "The endpoint updates asset by provided quality type.", + "operationId" : "updateAsset", + "parameters" : [ + { + "name" : "assetId", + "in" : "path", + "required" : true, + "schema" : { + "type" : "string" + } + } + ], + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/UpdateAssetRequest" + } + } + }, + "required" : true + }, + "responses" : { + "401" : { + "description" : "Authorization failed.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "500" : { + "description" : "Internal server error.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "429" : { + "description" : "Too many requests.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "400" : { + "description" : "Bad request.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "403" : { + "description" : "Forbidden.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "404" : { + "description" : "Not found.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "415" : { + "description" : "Unsupported media type", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "200" : { + "description" : "Returns the updated asset", + "content" : { + "application/json" : { + "schema" : { + "maxItems" : 2147483647, + "type" : "array", + "description" : "Assets", + "items" : { + "type" : "object", + "properties" : { + "id" : { + "maxLength" : 255, + "minLength" : 0, + "type" : "string" + }, + "idShort" : { + "maxLength" : 255, + "minLength" : 0, + "type" : "string" + }, + "semanticModelId" : { + "maxLength" : 255, + "minLength" : 0, + "type" : "string" + }, + "businessPartner" : { + "maxLength" : 255, + "minLength" : 0, + "type" : "string" + }, + "manufacturerName" : { + "maxLength" : 255, + "minLength" : 0, + "type" : "string" + }, + "nameAtManufacturer" : { + "maxLength" : 255, + "minLength" : 0, + "type" : "string" + }, + "manufacturerPartId" : { + "maxLength" : 255, + "minLength" : 0, + "type" : "string" + }, + "owner" : { + "type" : "string", + "enum" : [ + "SUPPLIER", + "CUSTOMER", + "OWN", + "UNKNOWN" + ] + }, + "childRelations" : { + "maxItems" : 2147483647, + "type" : "array", + "description" : "Child relationships", + "items" : { + "$ref" : "#/components/schemas/DescriptionsResponse" + } + }, + "parentRelations" : { + "maxItems" : 2147483647, + "type" : "array", + "description" : "Parent relationships", + "items" : { + "$ref" : "#/components/schemas/DescriptionsResponse" + } + }, + "qualityType" : { + "type" : "string", + "enum" : [ + "Ok", + "Minor", + "Major", + "Critical", + "LifeThreatening" + ] + }, + "van" : { + "maxLength" : 255, + "minLength" : 0, + "type" : "string" + }, + "semanticDataModel" : { + "type" : "string", + "enum" : [ + "BATCH", + "SERIALPART", + "UNKNOWN", + "PARTASPLANNED", + "JUSTINSEQUENCE" + ] + }, + "classification" : { + "maxLength" : 255, + "minLength" : 0, + "type" : "string" + }, + "detailAspectModels" : { + "type" : "array", + "items" : { + "$ref" : "#/components/schemas/DetailAspectModelResponse" + } + }, + "sentQualityAlertIdsInStatusActive" : { + "type" : "array", + "items" : { + "type" : "integer", + "format" : "int64" + } + }, + "receivedQualityAlertIdsInStatusActive" : { + "type" : "array", + "items" : { + "type" : "integer", + "format" : "int64" + } + }, + "sentQualityInvestigationIdsInStatusActive" : { + "type" : "array", + "items" : { + "type" : "integer", + "format" : "int64" + } + }, + "receivedQualityInvestigationIdsInStatusActive" : { + "type" : "array", + "items" : { + "type" : "integer", + "format" : "int64" + } + }, + "importState" : { + "type" : "string", + "enum" : [ + "TRANSIENT", + "PERSISTENT", + "ERROR", + "IN_SYNCHRONIZATION", + "UNSET" + ] + }, + "importNote" : { + "type" : "string" + } + } + } + } + } + } + } + }, + "security" : [ + { + "oAuth2" : [ + "profile email" + ] + } + ] + } + }, + "/assets/as-built/{assetId}" : { + "get" : { + "tags" : [ + "AssetsAsBuilt" + ], + "summary" : "Get asset by id", + "description" : "The endpoint returns an asset filtered by id .", + "operationId" : "assetById_1", + "parameters" : [ + { + "name" : "assetId", + "in" : "path", + "required" : true, + "schema" : { + "type" : "string" + } + } + ], + "responses" : { + "200" : { + "description" : "Returns the assets found", + "content" : { + "application/json" : { + "schema" : { + "maxItems" : 2147483647, + "type" : "array", + "description" : "Assets", + "items" : { + "type" : "object", + "properties" : { + "id" : { + "maxLength" : 255, + "minLength" : 0, + "type" : "string" + }, + "idShort" : { + "maxLength" : 255, + "minLength" : 0, + "type" : "string" + }, + "semanticModelId" : { + "maxLength" : 255, + "minLength" : 0, + "type" : "string" + }, + "businessPartner" : { + "maxLength" : 255, + "minLength" : 0, + "type" : "string" + }, + "manufacturerName" : { + "maxLength" : 255, + "minLength" : 0, + "type" : "string" + }, + "nameAtManufacturer" : { + "maxLength" : 255, + "minLength" : 0, + "type" : "string" + }, + "manufacturerPartId" : { + "maxLength" : 255, + "minLength" : 0, + "type" : "string" + }, + "owner" : { + "type" : "string", + "enum" : [ + "SUPPLIER", + "CUSTOMER", + "OWN", + "UNKNOWN" + ] + }, + "childRelations" : { + "maxItems" : 2147483647, + "type" : "array", + "description" : "Child relationships", + "items" : { + "$ref" : "#/components/schemas/DescriptionsResponse" + } + }, + "parentRelations" : { + "maxItems" : 2147483647, + "type" : "array", + "description" : "Parent relationships", + "items" : { + "$ref" : "#/components/schemas/DescriptionsResponse" + } + }, + "qualityType" : { + "type" : "string", + "enum" : [ + "Ok", + "Minor", + "Major", + "Critical", + "LifeThreatening" + ] + }, + "van" : { + "maxLength" : 255, + "minLength" : 0, + "type" : "string" + }, + "semanticDataModel" : { + "type" : "string", + "enum" : [ + "BATCH", + "SERIALPART", + "UNKNOWN", + "PARTASPLANNED", + "JUSTINSEQUENCE" + ] + }, + "classification" : { + "maxLength" : 255, + "minLength" : 0, + "type" : "string" + }, + "detailAspectModels" : { + "type" : "array", + "items" : { + "$ref" : "#/components/schemas/DetailAspectModelResponse" + } + }, + "sentQualityAlertIdsInStatusActive" : { + "type" : "array", + "items" : { + "type" : "integer", + "format" : "int64" + } + }, + "receivedQualityAlertIdsInStatusActive" : { + "type" : "array", + "items" : { + "type" : "integer", + "format" : "int64" + } + }, + "sentQualityInvestigationIdsInStatusActive" : { + "type" : "array", + "items" : { + "type" : "integer", + "format" : "int64" + } + }, + "receivedQualityInvestigationIdsInStatusActive" : { + "type" : "array", + "items" : { + "type" : "integer", + "format" : "int64" + } + }, + "importState" : { + "type" : "string", + "enum" : [ + "TRANSIENT", + "PERSISTENT", + "ERROR", + "IN_SYNCHRONIZATION", + "UNSET" + ] + }, + "importNote" : { + "type" : "string" + } + } + } + } + } + } + }, + "401" : { + "description" : "Authorization failed.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "500" : { + "description" : "Internal server error.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "429" : { + "description" : "Too many requests.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "400" : { + "description" : "Bad request.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "403" : { + "description" : "Forbidden.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "404" : { + "description" : "Not found.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "415" : { + "description" : "Unsupported media type", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + } + }, + "security" : [ + { + "oAuth2" : [ + "profile email" + ] + } + ] + }, + "patch" : { + "tags" : [ + "AssetsAsBuilt" + ], + "summary" : "Updates asset", + "description" : "The endpoint updates asset by provided quality type.", + "operationId" : "updateAsset_1", + "parameters" : [ + { + "name" : "assetId", + "in" : "path", + "required" : true, + "schema" : { + "type" : "string" + } + } + ], + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/UpdateAssetRequest" + } + } + }, + "required" : true + }, + "responses" : { + "200" : { + "description" : "Returns the updated asset", + "content" : { + "application/json" : { + "schema" : { + "maxItems" : 2147483647, + "type" : "array", + "description" : "Assets", + "items" : { + "type" : "object", + "properties" : { + "id" : { + "maxLength" : 255, + "minLength" : 0, + "type" : "string" + }, + "idShort" : { + "maxLength" : 255, + "minLength" : 0, + "type" : "string" + }, + "semanticModelId" : { + "maxLength" : 255, + "minLength" : 0, + "type" : "string" + }, + "businessPartner" : { + "maxLength" : 255, + "minLength" : 0, + "type" : "string" + }, + "manufacturerName" : { + "maxLength" : 255, + "minLength" : 0, + "type" : "string" + }, + "nameAtManufacturer" : { + "maxLength" : 255, + "minLength" : 0, + "type" : "string" + }, + "manufacturerPartId" : { + "maxLength" : 255, + "minLength" : 0, + "type" : "string" + }, + "owner" : { + "type" : "string", + "enum" : [ + "SUPPLIER", + "CUSTOMER", + "OWN", + "UNKNOWN" + ] + }, + "childRelations" : { + "maxItems" : 2147483647, + "type" : "array", + "description" : "Child relationships", + "items" : { + "$ref" : "#/components/schemas/DescriptionsResponse" + } + }, + "parentRelations" : { + "maxItems" : 2147483647, + "type" : "array", + "description" : "Parent relationships", + "items" : { + "$ref" : "#/components/schemas/DescriptionsResponse" + } + }, + "qualityType" : { + "type" : "string", + "enum" : [ + "Ok", + "Minor", + "Major", + "Critical", + "LifeThreatening" + ] + }, + "van" : { + "maxLength" : 255, + "minLength" : 0, + "type" : "string" + }, + "semanticDataModel" : { + "type" : "string", + "enum" : [ + "BATCH", + "SERIALPART", + "UNKNOWN", + "PARTASPLANNED", + "JUSTINSEQUENCE" + ] + }, + "classification" : { + "maxLength" : 255, + "minLength" : 0, + "type" : "string" + }, + "detailAspectModels" : { + "type" : "array", + "items" : { + "$ref" : "#/components/schemas/DetailAspectModelResponse" + } + }, + "sentQualityAlertIdsInStatusActive" : { + "type" : "array", + "items" : { + "type" : "integer", + "format" : "int64" + } + }, + "receivedQualityAlertIdsInStatusActive" : { + "type" : "array", + "items" : { + "type" : "integer", + "format" : "int64" + } + }, + "sentQualityInvestigationIdsInStatusActive" : { + "type" : "array", + "items" : { + "type" : "integer", + "format" : "int64" + } + }, + "receivedQualityInvestigationIdsInStatusActive" : { + "type" : "array", + "items" : { + "type" : "integer", + "format" : "int64" + } + }, + "importState" : { + "type" : "string", + "enum" : [ + "TRANSIENT", + "PERSISTENT", + "ERROR", + "IN_SYNCHRONIZATION", + "UNSET" + ] + }, + "importNote" : { + "type" : "string" + } + } + } + } + } + } + }, + "401" : { + "description" : "Authorization failed.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "500" : { + "description" : "Internal server error.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "429" : { + "description" : "Too many requests.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "400" : { + "description" : "Bad request.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "403" : { + "description" : "Forbidden.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "404" : { + "description" : "Not found.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "415" : { + "description" : "Unsupported media type", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + } + }, + "security" : [ + { + "oAuth2" : [ + "profile email" + ] + } + ] + } + }, + "/registry/reload" : { + "get" : { + "tags" : [ + "Registry" + ], + "summary" : "Triggers reload of shell descriptors", + "description" : "The endpoint Triggers reload of shell descriptors.", + "operationId" : "reload", + "responses" : { + "401" : { + "description" : "Authorization failed.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "500" : { + "description" : "Internal server error.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "429" : { + "description" : "Too many requests.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "202" : { + "description" : "Created registry reload job." + }, + "400" : { + "description" : "Bad request.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "403" : { + "description" : "Forbidden.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "404" : { + "description" : "Not found.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "415" : { + "description" : "Unsupported media type", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + } + }, + "security" : [ + { + "oAuth2" : [ + "profile email" + ] + } + ] + } + }, + "/policies" : { + "get" : { + "tags" : [ + "Policies" + ], + "summary" : "Get all policies ", + "description" : "The endpoint returns all policies .", + "operationId" : "policy", + "responses" : { + "200" : { + "description" : "Returns the policies", + "content" : { + "*/*" : { + "schema" : { + "$ref" : "#/components/schemas/PolicyResponse" + } + } + } + }, + "401" : { + "description" : "Authorization failed.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "500" : { + "description" : "Internal server error.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "429" : { + "description" : "Too many requests.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "400" : { + "description" : "Bad request.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "403" : { + "description" : "Forbidden.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "404" : { + "description" : "Not found.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "415" : { + "description" : "Unsupported media type", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + } + }, + "security" : [ + { + "oAuth2" : [ + "profile email" + ] + } + ] + } + }, + "/irs/job/callback" : { + "get" : { + "tags" : [ + "irs-callback-controller" + ], + "operationId" : "handleIrsJobCallback", + "parameters" : [ + { + "name" : "id", + "in" : "query", + "required" : true, + "schema" : { + "type" : "string" + } + }, + { + "name" : "state", + "in" : "query", + "required" : true, + "schema" : { + "type" : "string" + } + } + ], + "responses" : { + "200" : { + "description" : "OK" + } + } + } + }, + "/investigations/{investigationId}" : { + "get" : { + "tags" : [ + "Investigations" + ], + "summary" : "Gets investigations by id", + "description" : "The endpoint returns investigations as paged result by their id.", + "operationId" : "getInvestigation", + "parameters" : [ + { + "name" : "investigationId", + "in" : "path", + "required" : true, + "schema" : { + "type" : "integer", + "format" : "int64" + } + } + ], + "responses" : { + "200" : { + "description" : "OK.", + "content" : { + "application/json" : { + "schema" : { + "maxItems" : 2147483647, + "minItems" : -2147483648, + "type" : "array", + "description" : "Investigations", + "items" : { + "$ref" : "#/components/schemas/InvestigationResponse" + } + } + } + } + }, + "401" : { + "description" : "Authorization failed.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "500" : { + "description" : "Internal server error.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "429" : { + "description" : "Too many requests.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "400" : { + "description" : "Bad request.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "403" : { + "description" : "Forbidden.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "404" : { + "description" : "Not found.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "415" : { + "description" : "Unsupported media type", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + } + }, + "security" : [ + { + "oAuth2" : [ + "profile email" + ] + } + ] + } + }, + "/investigations/distinctFilterValues" : { + "get" : { + "tags" : [ + "Assets", + "Investigations" + ], + "summary" : "getDistinctFilterValues", + "description" : "The endpoint returns a distinct filter values for given fieldName.", + "operationId" : "distinctFilterValues", + "parameters" : [ + { + "name" : "fieldName", + "in" : "query", + "required" : true, + "schema" : { + "type" : "string" + } + }, + { + "name" : "size", + "in" : "query", + "required" : true, + "schema" : { + "type" : "integer", + "format" : "int32" + } + }, + { + "name" : "startWith", + "in" : "query", + "required" : true, + "schema" : { + "type" : "string" + } + }, + { + "name" : "channel", + "in" : "query", + "required" : true, + "schema" : { + "type" : "string", + "enum" : [ + "SENDER", + "RECEIVER" + ] + } + } + ], + "responses" : { + "401" : { + "description" : "Authorization failed.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "500" : { + "description" : "Internal server error.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "429" : { + "description" : "Too many requests.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "200" : { + "description" : "Returns a distinct filter values for given fieldName.", + "content" : { + "application/json" : { + "schema" : { + "maxItems" : 2147483647, + "minItems" : 0, + "type" : "array" + } + } + } + }, + "400" : { + "description" : "Bad request.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "403" : { + "description" : "Forbidden.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "404" : { + "description" : "Not found.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "415" : { + "description" : "Unsupported media type", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + } + }, + "security" : [ + { + "oAuth2" : [ + "profile email" + ] + } + ] + } + }, + "/dashboard" : { + "get" : { + "tags" : [ + "Dashboard" + ], + "summary" : "Returns dashboard related data", + "description" : "The endpoint can return limited data based on the user role", + "operationId" : "dashboard", + "responses" : { + "401" : { + "description" : "Authorization failed.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "500" : { + "description" : "Internal server error.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "429" : { + "description" : "Too many requests.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "200" : { + "description" : "Returns dashboard data", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/DashboardResponse" + } + } + } + }, + "400" : { + "description" : "Bad request.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "403" : { + "description" : "Forbidden.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "404" : { + "description" : "Not found.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "415" : { + "description" : "Unsupported media type", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + } + }, + "security" : [ + { + "oAuth2" : [ + "profile email" + ] + } + ] + } + }, + "/assets/as-planned" : { + "get" : { + "tags" : [ + "AssetsAsPlanned" + ], + "summary" : "Get assets by pagination", + "description" : "The endpoint returns a paged result of assets.", + "operationId" : "AssetsAsPlanned", + "parameters" : [ + { + "name" : "pageable", + "in" : "query", + "required" : true, + "schema" : { + "$ref" : "#/components/schemas/OwnPageable" + } + }, + { + "name" : "filter", + "in" : "query", + "required" : true, + "schema" : { + "$ref" : "#/components/schemas/SearchCriteriaRequestParam" + } + } + ], + "responses" : { + "401" : { + "description" : "Authorization failed.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "500" : { + "description" : "Internal server error.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "429" : { + "description" : "Too many requests.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "400" : { + "description" : "Bad request.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "403" : { + "description" : "Forbidden.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "404" : { + "description" : "Not found.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "415" : { + "description" : "Unsupported media type", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "200" : { + "description" : "Returns the paged result found for Asset", + "content" : { + "application/json" : { + "schema" : { + "maxItems" : 2147483647, + "minItems" : 0, + "type" : "array", + "items" : { + "maxItems" : 2147483647, + "type" : "array", + "description" : "Assets", + "items" : { + "type" : "object", + "properties" : { + "id" : { + "maxLength" : 255, + "minLength" : 0, + "type" : "string" + }, + "idShort" : { + "maxLength" : 255, + "minLength" : 0, + "type" : "string" + }, + "semanticModelId" : { + "maxLength" : 255, + "minLength" : 0, + "type" : "string" + }, + "businessPartner" : { + "maxLength" : 255, + "minLength" : 0, + "type" : "string" + }, + "manufacturerName" : { + "maxLength" : 255, + "minLength" : 0, + "type" : "string" + }, + "nameAtManufacturer" : { + "maxLength" : 255, + "minLength" : 0, + "type" : "string" + }, + "manufacturerPartId" : { + "maxLength" : 255, + "minLength" : 0, + "type" : "string" + }, + "owner" : { + "type" : "string", + "enum" : [ + "SUPPLIER", + "CUSTOMER", + "OWN", + "UNKNOWN" + ] + }, + "childRelations" : { + "maxItems" : 2147483647, + "type" : "array", + "description" : "Child relationships", + "items" : { + "$ref" : "#/components/schemas/DescriptionsResponse" + } + }, + "parentRelations" : { + "maxItems" : 2147483647, + "type" : "array", + "description" : "Parent relationships", + "items" : { + "$ref" : "#/components/schemas/DescriptionsResponse" + } + }, + "qualityType" : { + "type" : "string", + "enum" : [ + "Ok", + "Minor", + "Major", + "Critical", + "LifeThreatening" + ] + }, + "van" : { + "maxLength" : 255, + "minLength" : 0, + "type" : "string" + }, + "semanticDataModel" : { + "type" : "string", + "enum" : [ + "BATCH", + "SERIALPART", + "UNKNOWN", + "PARTASPLANNED", + "JUSTINSEQUENCE" + ] + }, + "classification" : { + "maxLength" : 255, + "minLength" : 0, + "type" : "string" + }, + "detailAspectModels" : { + "type" : "array", + "items" : { + "$ref" : "#/components/schemas/DetailAspectModelResponse" + } + }, + "sentQualityAlertIdsInStatusActive" : { + "type" : "array", + "items" : { + "type" : "integer", + "format" : "int64" + } + }, + "receivedQualityAlertIdsInStatusActive" : { + "type" : "array", + "items" : { + "type" : "integer", + "format" : "int64" + } + }, + "sentQualityInvestigationIdsInStatusActive" : { + "type" : "array", + "items" : { + "type" : "integer", + "format" : "int64" + } + }, + "receivedQualityInvestigationIdsInStatusActive" : { + "type" : "array", + "items" : { + "type" : "integer", + "format" : "int64" + } + }, + "importState" : { + "type" : "string", + "enum" : [ + "TRANSIENT", + "PERSISTENT", + "ERROR", + "IN_SYNCHRONIZATION", + "UNSET" + ] + }, + "importNote" : { + "type" : "string" + } + } + } + } + } + } + } + } + }, + "security" : [ + { + "oAuth2" : [ + "profile email" + ] + } + ] + } + }, + "/assets/as-planned/distinctFilterValues" : { + "get" : { + "tags" : [ + "Assets", + "AssetsAsPlanned" + ], + "summary" : "getDistinctFilterValues", + "description" : "The endpoint returns a distinct filter values for given fieldName.", + "operationId" : "distinctFilterValues_1", + "parameters" : [ + { + "name" : "fieldName", + "in" : "query", + "required" : true, + "schema" : { + "type" : "string" + } + }, + { + "name" : "size", + "in" : "query", + "required" : true, + "schema" : { + "type" : "integer", + "format" : "int32" + } + }, + { + "name" : "startWith", + "in" : "query", + "required" : true, + "schema" : { + "type" : "string" + } + }, + { + "name" : "owner", + "in" : "query", + "required" : true, + "schema" : { + "type" : "string", + "enum" : [ + "SUPPLIER", + "CUSTOMER", + "OWN", + "UNKNOWN" + ] + } + } + ], + "responses" : { + "401" : { + "description" : "Authorization failed.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "500" : { + "description" : "Internal server error.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "429" : { + "description" : "Too many requests.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "200" : { + "description" : "Returns a distinct filter values for given fieldName.", + "content" : { + "application/json" : { + "schema" : { + "maxItems" : 2147483647, + "minItems" : 0, + "type" : "array" + } + } + } + }, + "400" : { + "description" : "Bad request.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "403" : { + "description" : "Forbidden.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "404" : { + "description" : "Not found.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "415" : { + "description" : "Unsupported media type", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + } + }, + "security" : [ + { + "oAuth2" : [ + "profile email" + ] + } + ] + } + }, + "/assets/as-planned/*/children/{childId}" : { + "get" : { + "tags" : [ + "AssetsAsPlanned" + ], + "summary" : "Get asset by child id", + "description" : "The endpoint returns an asset filtered by child id.", + "operationId" : "assetByChildIdAndAssetId", + "parameters" : [ + { + "name" : "childId", + "in" : "path", + "required" : true, + "schema" : { + "type" : "string" + } + } + ], + "responses" : { + "401" : { + "description" : "Authorization failed.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "500" : { + "description" : "Internal server error.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "429" : { + "description" : "Too many requests.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "400" : { + "description" : "Bad request.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "403" : { + "description" : "Forbidden.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "404" : { + "description" : "Not found.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "415" : { + "description" : "Unsupported media type", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "200" : { + "description" : "Returns the asset by childId", + "content" : { + "application/json" : { + "schema" : { + "maxItems" : 2147483647, + "type" : "array", + "description" : "Assets", + "items" : { + "type" : "object", + "properties" : { + "id" : { + "maxLength" : 255, + "minLength" : 0, + "type" : "string" + }, + "idShort" : { + "maxLength" : 255, + "minLength" : 0, + "type" : "string" + }, + "semanticModelId" : { + "maxLength" : 255, + "minLength" : 0, + "type" : "string" + }, + "businessPartner" : { + "maxLength" : 255, + "minLength" : 0, + "type" : "string" + }, + "manufacturerName" : { + "maxLength" : 255, + "minLength" : 0, + "type" : "string" + }, + "nameAtManufacturer" : { + "maxLength" : 255, + "minLength" : 0, + "type" : "string" + }, + "manufacturerPartId" : { + "maxLength" : 255, + "minLength" : 0, + "type" : "string" + }, + "owner" : { + "type" : "string", + "enum" : [ + "SUPPLIER", + "CUSTOMER", + "OWN", + "UNKNOWN" + ] + }, + "childRelations" : { + "maxItems" : 2147483647, + "type" : "array", + "description" : "Child relationships", + "items" : { + "$ref" : "#/components/schemas/DescriptionsResponse" + } + }, + "parentRelations" : { + "maxItems" : 2147483647, + "type" : "array", + "description" : "Parent relationships", + "items" : { + "$ref" : "#/components/schemas/DescriptionsResponse" + } + }, + "qualityType" : { + "type" : "string", + "enum" : [ + "Ok", + "Minor", + "Major", + "Critical", + "LifeThreatening" + ] + }, + "van" : { + "maxLength" : 255, + "minLength" : 0, + "type" : "string" + }, + "semanticDataModel" : { + "type" : "string", + "enum" : [ + "BATCH", + "SERIALPART", + "UNKNOWN", + "PARTASPLANNED", + "JUSTINSEQUENCE" + ] + }, + "classification" : { + "maxLength" : 255, + "minLength" : 0, + "type" : "string" + }, + "detailAspectModels" : { + "type" : "array", + "items" : { + "$ref" : "#/components/schemas/DetailAspectModelResponse" + } + }, + "sentQualityAlertIdsInStatusActive" : { + "type" : "array", + "items" : { + "type" : "integer", + "format" : "int64" + } + }, + "receivedQualityAlertIdsInStatusActive" : { + "type" : "array", + "items" : { + "type" : "integer", + "format" : "int64" + } + }, + "sentQualityInvestigationIdsInStatusActive" : { + "type" : "array", + "items" : { + "type" : "integer", + "format" : "int64" + } + }, + "receivedQualityInvestigationIdsInStatusActive" : { + "type" : "array", + "items" : { + "type" : "integer", + "format" : "int64" + } + }, + "importState" : { + "type" : "string", + "enum" : [ + "TRANSIENT", + "PERSISTENT", + "ERROR", + "IN_SYNCHRONIZATION", + "UNSET" + ] + }, + "importNote" : { + "type" : "string" + } + } + } + } + } + } + } + }, + "security" : [ + { + "oAuth2" : [ + "profile email" + ] + } + ] + } + }, + "/assets/as-built" : { + "get" : { + "tags" : [ + "AssetsAsBuilt" + ], + "summary" : "Get assets by pagination", + "description" : "The endpoint returns a paged result of assets.", + "operationId" : "assets", + "parameters" : [ + { + "name" : "pageable", + "in" : "query", + "required" : true, + "schema" : { + "$ref" : "#/components/schemas/OwnPageable" + } + }, + { + "name" : "searchCriteriaRequestParam", + "in" : "query", + "required" : true, + "schema" : { + "$ref" : "#/components/schemas/SearchCriteriaRequestParam" + } + } + ], + "responses" : { + "200" : { + "description" : "Returns the paged result found for Asset", + "content" : { + "application/json" : { + "schema" : { + "maxItems" : 2147483647, + "minItems" : 0, + "type" : "array", + "items" : { + "maxItems" : 2147483647, + "type" : "array", + "description" : "Assets", + "items" : { + "type" : "object", + "properties" : { + "id" : { + "maxLength" : 255, + "minLength" : 0, + "type" : "string" + }, + "idShort" : { + "maxLength" : 255, + "minLength" : 0, + "type" : "string" + }, + "semanticModelId" : { + "maxLength" : 255, + "minLength" : 0, + "type" : "string" + }, + "businessPartner" : { + "maxLength" : 255, + "minLength" : 0, + "type" : "string" + }, + "manufacturerName" : { + "maxLength" : 255, + "minLength" : 0, + "type" : "string" + }, + "nameAtManufacturer" : { + "maxLength" : 255, + "minLength" : 0, + "type" : "string" + }, + "manufacturerPartId" : { + "maxLength" : 255, + "minLength" : 0, + "type" : "string" + }, + "owner" : { + "type" : "string", + "enum" : [ + "SUPPLIER", + "CUSTOMER", + "OWN", + "UNKNOWN" + ] + }, + "childRelations" : { + "maxItems" : 2147483647, + "type" : "array", + "description" : "Child relationships", + "items" : { + "$ref" : "#/components/schemas/DescriptionsResponse" + } + }, + "parentRelations" : { + "maxItems" : 2147483647, + "type" : "array", + "description" : "Parent relationships", + "items" : { + "$ref" : "#/components/schemas/DescriptionsResponse" + } + }, + "qualityType" : { + "type" : "string", + "enum" : [ + "Ok", + "Minor", + "Major", + "Critical", + "LifeThreatening" + ] + }, + "van" : { + "maxLength" : 255, + "minLength" : 0, + "type" : "string" + }, + "semanticDataModel" : { + "type" : "string", + "enum" : [ + "BATCH", + "SERIALPART", + "UNKNOWN", + "PARTASPLANNED", + "JUSTINSEQUENCE" + ] + }, + "classification" : { + "maxLength" : 255, + "minLength" : 0, + "type" : "string" + }, + "detailAspectModels" : { + "type" : "array", + "items" : { + "$ref" : "#/components/schemas/DetailAspectModelResponse" + } + }, + "sentQualityAlertIdsInStatusActive" : { + "type" : "array", + "items" : { + "type" : "integer", + "format" : "int64" + } + }, + "receivedQualityAlertIdsInStatusActive" : { + "type" : "array", + "items" : { + "type" : "integer", + "format" : "int64" + } + }, + "sentQualityInvestigationIdsInStatusActive" : { + "type" : "array", + "items" : { + "type" : "integer", + "format" : "int64" + } + }, + "receivedQualityInvestigationIdsInStatusActive" : { + "type" : "array", + "items" : { + "type" : "integer", + "format" : "int64" + } + }, + "importState" : { + "type" : "string", + "enum" : [ + "TRANSIENT", + "PERSISTENT", + "ERROR", + "IN_SYNCHRONIZATION", + "UNSET" + ] + }, + "importNote" : { + "type" : "string" + } + } + } + } + } + } + } + }, + "401" : { + "description" : "Authorization failed.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "500" : { + "description" : "Internal server error.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "429" : { + "description" : "Too many requests.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "400" : { + "description" : "Bad request.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "403" : { + "description" : "Forbidden.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "404" : { + "description" : "Not found.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "415" : { + "description" : "Unsupported media type", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + } + }, + "security" : [ + { + "oAuth2" : [ + "profile email" + ] + } + ] + } + }, + "/assets/as-built/distinctFilterValues" : { + "get" : { + "tags" : [ + "AssetsAsBuilt", + "Assets" + ], + "summary" : "getDistinctFilterValues", + "description" : "The endpoint returns a distinct filter values for given fieldName.", + "operationId" : "distinctFilterValues_2", + "parameters" : [ + { + "name" : "fieldName", + "in" : "query", + "required" : true, + "schema" : { + "type" : "string" + } + }, + { + "name" : "size", + "in" : "query", + "required" : true, + "schema" : { + "type" : "integer", + "format" : "int32" + } + }, + { + "name" : "startWith", + "in" : "query", + "required" : true, + "schema" : { + "type" : "string" + } + }, + { + "name" : "owner", + "in" : "query", + "required" : true, + "schema" : { + "type" : "string", + "enum" : [ + "SUPPLIER", + "CUSTOMER", + "OWN", + "UNKNOWN" + ] + } + } + ], + "responses" : { + "401" : { + "description" : "Authorization failed.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "500" : { + "description" : "Internal server error.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "429" : { + "description" : "Too many requests.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "200" : { + "description" : "Returns a distinct filter values for given fieldName.", + "content" : { + "application/json" : { + "schema" : { + "maxItems" : 2147483647, + "minItems" : 0, + "type" : "array" + } + } + } + }, + "400" : { + "description" : "Bad request.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "403" : { + "description" : "Forbidden.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "404" : { + "description" : "Not found.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "415" : { + "description" : "Unsupported media type", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + } + }, + "security" : [ + { + "oAuth2" : [ + "profile email" + ] + } + ] + } + }, + "/assets/as-built/countries" : { + "get" : { + "tags" : [ + "AssetsAsBuilt" + ], + "summary" : "Get map of assets", + "description" : "The endpoint returns a map for assets consumed by the map.", + "operationId" : "assetsCountryMap", + "responses" : { + "401" : { + "description" : "Authorization failed.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "500" : { + "description" : "Internal server error.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "429" : { + "description" : "Too many requests.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "200" : { + "description" : "Returns the assets found", + "content" : { + "application/json" : { + "schema" : { + "maxItems" : 2147483647, + "minItems" : 0, + "type" : "array" + } + } + } + }, + "400" : { + "description" : "Bad request.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "403" : { + "description" : "Forbidden.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "404" : { + "description" : "Not found.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "415" : { + "description" : "Unsupported media type", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + } + }, + "security" : [ + { + "oAuth2" : [ + "profile email" + ] + } + ] + } + }, + "/assets/as-built/*/children/{childId}" : { + "get" : { + "tags" : [ + "AssetsAsBuilt" + ], + "summary" : "Get asset by child id", + "description" : "The endpoint returns an asset filtered by child id.", + "operationId" : "assetByChildId", + "parameters" : [ + { + "name" : "childId", + "in" : "path", + "required" : true, + "schema" : { + "type" : "string" + } + } + ], + "responses" : { + "401" : { + "description" : "Authorization failed.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "500" : { + "description" : "Internal server error.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "429" : { + "description" : "Too many requests.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "200" : { + "description" : "Returns the asset by childId", + "content" : { + "application/json" : { + "schema" : { + "maxItems" : 2147483647, + "type" : "array", + "description" : "Assets", + "items" : { + "type" : "object", + "properties" : { + "id" : { + "maxLength" : 255, + "minLength" : 0, + "type" : "string" + }, + "idShort" : { + "maxLength" : 255, + "minLength" : 0, + "type" : "string" + }, + "semanticModelId" : { + "maxLength" : 255, + "minLength" : 0, + "type" : "string" + }, + "businessPartner" : { + "maxLength" : 255, + "minLength" : 0, + "type" : "string" + }, + "manufacturerName" : { + "maxLength" : 255, + "minLength" : 0, + "type" : "string" + }, + "nameAtManufacturer" : { + "maxLength" : 255, + "minLength" : 0, + "type" : "string" + }, + "manufacturerPartId" : { + "maxLength" : 255, + "minLength" : 0, + "type" : "string" + }, + "owner" : { + "type" : "string", + "enum" : [ + "SUPPLIER", + "CUSTOMER", + "OWN", + "UNKNOWN" + ] + }, + "childRelations" : { + "maxItems" : 2147483647, + "type" : "array", + "description" : "Child relationships", + "items" : { + "$ref" : "#/components/schemas/DescriptionsResponse" + } + }, + "parentRelations" : { + "maxItems" : 2147483647, + "type" : "array", + "description" : "Parent relationships", + "items" : { + "$ref" : "#/components/schemas/DescriptionsResponse" + } + }, + "qualityType" : { + "type" : "string", + "enum" : [ + "Ok", + "Minor", + "Major", + "Critical", + "LifeThreatening" + ] + }, + "van" : { + "maxLength" : 255, + "minLength" : 0, + "type" : "string" + }, + "semanticDataModel" : { + "type" : "string", + "enum" : [ + "BATCH", + "SERIALPART", + "UNKNOWN", + "PARTASPLANNED", + "JUSTINSEQUENCE" + ] + }, + "classification" : { + "maxLength" : 255, + "minLength" : 0, + "type" : "string" + }, + "detailAspectModels" : { + "type" : "array", + "items" : { + "$ref" : "#/components/schemas/DetailAspectModelResponse" + } + }, + "sentQualityAlertIdsInStatusActive" : { + "type" : "array", + "items" : { + "type" : "integer", + "format" : "int64" + } + }, + "receivedQualityAlertIdsInStatusActive" : { + "type" : "array", + "items" : { + "type" : "integer", + "format" : "int64" + } + }, + "sentQualityInvestigationIdsInStatusActive" : { + "type" : "array", + "items" : { + "type" : "integer", + "format" : "int64" + } + }, + "receivedQualityInvestigationIdsInStatusActive" : { + "type" : "array", + "items" : { + "type" : "integer", + "format" : "int64" + } + }, + "importState" : { + "type" : "string", + "enum" : [ + "TRANSIENT", + "PERSISTENT", + "ERROR", + "IN_SYNCHRONIZATION", + "UNSET" + ] + }, + "importNote" : { + "type" : "string" + } + } + } + } + } + } + }, + "400" : { + "description" : "Bad request.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "403" : { + "description" : "Forbidden.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "404" : { + "description" : "Not found.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "415" : { + "description" : "Unsupported media type", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + } + }, + "security" : [ + { + "oAuth2" : [ + "profile email" + ] + } + ] + } + }, + "/alerts/{alertId}" : { + "get" : { + "tags" : [ + "Alerts" + ], + "summary" : "Gets Alert by id", + "description" : "The endpoint returns alert by id.", + "operationId" : "getAlert", + "parameters" : [ + { + "name" : "alertId", + "in" : "path", + "required" : true, + "schema" : { + "type" : "integer", + "format" : "int64" + } + } + ], + "responses" : { + "200" : { + "description" : "OK.", + "content" : { + "application/json" : { + "schema" : { + "maxItems" : 2147483647, + "type" : "array", + "description" : "Alerts", + "items" : { + "$ref" : "#/components/schemas/AlertResponse" + } + } + } + } + }, + "401" : { + "description" : "Authorization failed.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "500" : { + "description" : "Internal server error.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "429" : { + "description" : "Too many requests.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "400" : { + "description" : "Bad request.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "403" : { + "description" : "Forbidden.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "404" : { + "description" : "Not found.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "415" : { + "description" : "Unsupported media type", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + } + }, + "security" : [ + { + "oAuth2" : [ + "profile email" + ] + } + ] + } + }, + "/alerts/distinctFilterValues" : { + "get" : { + "tags" : [ + "Assets", + "Alerts" + ], + "summary" : "getDistinctFilterValues", + "description" : "The endpoint returns a distinct filter values for given fieldName.", + "operationId" : "distinctFilterValues_3", + "parameters" : [ + { + "name" : "fieldName", + "in" : "query", + "required" : true, + "schema" : { + "type" : "string" + } + }, + { + "name" : "size", + "in" : "query", + "required" : true, + "schema" : { + "type" : "integer", + "format" : "int32" + } + }, + { + "name" : "startWith", + "in" : "query", + "required" : true, + "schema" : { + "type" : "string" + } + }, + { + "name" : "channel", + "in" : "query", + "required" : true, + "schema" : { + "type" : "string", + "enum" : [ + "SENDER", + "RECEIVER" + ] + } + } + ], + "responses" : { + "401" : { + "description" : "Authorization failed.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "500" : { + "description" : "Internal server error.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "429" : { + "description" : "Too many requests.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "200" : { + "description" : "Returns a distinct filter values for given fieldName.", + "content" : { + "application/json" : { + "schema" : { + "maxItems" : 2147483647, + "minItems" : 0, + "type" : "array" + } + } + } + }, + "400" : { + "description" : "Bad request.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "403" : { + "description" : "Forbidden.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "404" : { + "description" : "Not found.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "415" : { + "description" : "Unsupported media type", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + } + }, + "security" : [ + { + "oAuth2" : [ + "profile email" + ] + } + ] + } + }, + "/submodel/data" : { + "delete" : { + "tags" : [ + "Submodel" + ], + "summary" : "Delete All Submodels", + "description" : "Deletes all submodels from the system.", + "operationId" : "deleteSubmodels", + "responses" : { + "200" : { + "description" : "Ok." + }, + "401" : { + "description" : "Authorization failed.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "500" : { + "description" : "Internal server error.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "429" : { + "description" : "Too many requests.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "400" : { + "description" : "Bad request.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "403" : { + "description" : "Forbidden.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "404" : { + "description" : "Not found.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "204" : { + "description" : "No Content." + }, + "415" : { + "description" : "Unsupported media type", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + } + }, + "security" : [ + { + "oAuth2" : [ + "profile email" + ] + } + ] + } + }, + "/bpn-config/{bpn}" : { + "delete" : { + "tags" : [ + "BpnEdcMapping" + ], + "summary" : "Deletes BPN EDC URL mappings", + "description" : "The endpoint deletes BPN EDC URL mappings", + "operationId" : "deleteBpnEdcUrlMappings", + "parameters" : [ + { + "name" : "bpn", + "in" : "path", + "required" : true, + "schema" : { + "type" : "string" + } + } + ], + "responses" : { + "401" : { + "description" : "Authorization failed.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "500" : { + "description" : "Internal server error.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "429" : { + "description" : "Too many requests.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "200" : { + "description" : "Okay" + }, + "400" : { + "description" : "Bad request.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "403" : { + "description" : "Forbidden.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "404" : { + "description" : "Not found.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + }, + "204" : { + "description" : "Deleted." + }, + "415" : { + "description" : "Unsupported media type", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ErrorResponse" + } + } + } + } + }, + "security" : [ + { + "oAuth2" : [ + "profile email" + ] + } + ] + } + } + }, + "components" : { + "schemas" : { + "BpnMappingRequest" : { + "required" : [ + "bpn", + "url" + ], + "type" : "object", + "properties" : { + "bpn" : { + "maxLength" : 255, + "minLength" : 0, + "type" : "string" + }, + "url" : { + "maxLength" : 255, + "minLength" : 0, + "type" : "string" + } + } + }, + "ErrorResponse" : { + "type" : "object", + "properties" : { + "message" : { + "maxLength" : 1000, + "minLength" : 0, + "pattern" : "^.*$", + "type" : "string" + } + } + }, + "StartQualityNotificationRequest" : { + "required" : [ + "severity" + ], + "type" : "object", + "properties" : { + "partIds" : { + "maxItems" : 100, + "minItems" : 1, + "type" : "array", + "items" : { + "type" : "string" + } + }, + "description" : { + "maxLength" : 1000, + "minLength" : 15, + "type" : "string" + }, + "targetDate" : { + "type" : "string", + "format" : "date-time" + }, + "severity" : { + "type" : "string", + "enum" : [ + "MINOR", + "MAJOR", + "CRITICAL", + "LIFE_THREATENING" + ] + }, + "receiverBpn" : { + "type" : "string" + }, + "asBuilt" : { + "type" : "boolean" + } + } + }, + "QualityNotificationIdResponse" : { + "type" : "object", + "properties" : { + "id" : { + "type" : "integer", + "format" : "int64" + } + } + }, + "UpdateQualityNotificationRequest" : { + "required" : [ + "status" + ], + "type" : "object", + "properties" : { + "status" : { + "type" : "string", + "description" : "The UpdateInvestigationStatus", + "enum" : [ + "ACKNOWLEDGED", + "ACCEPTED", + "DECLINED" + ] + }, + "reason" : { + "type" : "string" + } + } + }, + "CloseQualityNotificationRequest" : { + "type" : "object", + "properties" : { + "reason" : { + "maxLength" : 1000, + "minLength" : 15, + "type" : "string" + } + } + }, + "OwnPageable" : { + "type" : "object", + "properties" : { + "page" : { + "type" : "integer", + "format" : "int32" + }, + "size" : { + "type" : "integer", + "format" : "int32" + }, + "sort" : { + "maxItems" : 2147483647, + "type" : "array", + "description" : "Content of Assets PageResults", + "example" : "manufacturerPartId,desc", + "items" : { + "type" : "string" + } + } + } + }, + "PageableFilterRequest" : { + "type" : "object", + "properties" : { + "pageAble" : { + "$ref" : "#/components/schemas/OwnPageable" + }, + "searchCriteria" : { + "$ref" : "#/components/schemas/SearchCriteriaRequestParam" + } + } + }, + "SearchCriteriaRequestParam" : { + "type" : "object", + "properties" : { + "filter" : { + "maxItems" : 2147483647, + "type" : "array", + "description" : "Filter Criteria", + "example" : "owner,EQUAL,OWN", + "items" : { + "type" : "string" + } + } + } + }, + "CreateNotificationContractRequest" : { + "required" : [ + "notificationMethod", + "notificationType" + ], + "type" : "object", + "properties" : { + "notificationType" : { + "type" : "string", + "enum" : [ + "QUALITY_INVESTIGATION", + "QUALITY_ALERT" + ] + }, + "notificationMethod" : { + "type" : "string", + "enum" : [ + "RECEIVE", + "UPDATE", + "RESOLVE" + ] + } + } + }, + "CreateNotificationContractResponse" : { + "type" : "object", + "properties" : { + "notificationAssetId" : { + "type" : "string" + }, + "accessPolicyId" : { + "type" : "string" + }, + "contractDefinitionId" : { + "type" : "string" + } + } + }, + "RegisterAssetRequest" : { + "required" : [ + "assetIds", + "policyId" + ], + "type" : "object", + "properties" : { + "policyId" : { + "type" : "string" + }, + "assetIds" : { + "type" : "array", + "items" : { + "type" : "string" + } + } + } + }, + "SyncAssetsRequest" : { + "type" : "object", + "properties" : { + "globalAssetIds" : { + "maxItems" : 100, + "minItems" : 1, + "type" : "array", + "description" : "Assets", + "items" : { + "type" : "string" + } + } + } + }, + "GetDetailInformationRequest" : { + "type" : "object", + "properties" : { + "assetIds" : { + "maxItems" : 50, + "minItems" : 1, + "type" : "array", + "items" : { + "type" : "string" + } + } + } + }, + "UpdateAssetRequest" : { + "required" : [ + "qualityType" + ], + "type" : "object", + "properties" : { + "qualityType" : { + "type" : "string", + "enum" : [ + "Ok", + "Minor", + "Major", + "Critical", + "LifeThreatening" + ] + } + } + }, + "DescriptionsResponse" : { + "type" : "object", + "properties" : { + "id" : { + "maxLength" : 255, + "minLength" : 0, + "type" : "string" + }, + "idShort" : { + "maxLength" : 255, + "minLength" : 0, + "type" : "string" + } + } + }, + "DetailAspectDataAsBuiltResponse" : { + "type" : "object", + "properties" : { + "partId" : { + "maxLength" : 255, + "minLength" : 0, + "type" : "string" + }, + "customerPartId" : { + "maxLength" : 255, + "minLength" : 0, + "type" : "string" + }, + "nameAtCustomer" : { + "maxLength" : 255, + "minLength" : 0, + "type" : "string" + }, + "manufacturingCountry" : { + "maxLength" : 255, + "minLength" : 0, + "type" : "string" + }, + "manufacturingDate" : { + "maxLength" : 255, + "minLength" : 0, + "type" : "string" + } + } + }, + "DetailAspectDataAsPlannedResponse" : { + "type" : "object", + "properties" : { + "validityPeriodFrom" : { + "maxLength" : 255, + "minLength" : 0, + "type" : "string" + }, + "validityPeriodTo" : { + "maxLength" : 255, + "minLength" : 0, + "type" : "string" + } + } + }, + "DetailAspectDataResponse" : { + "type" : "object", + "oneOf" : [ + { + "$ref" : "#/components/schemas/DetailAspectDataAsBuiltResponse" + }, + { + "$ref" : "#/components/schemas/DetailAspectDataAsPlannedResponse" + }, + { + "$ref" : "#/components/schemas/PartSiteInformationAsPlannedResponse" + }, + { + "$ref" : "#/components/schemas/DetailAspectDataTractionBatteryCodeResponse" + } + ] + }, + "DetailAspectDataTractionBatteryCodeResponse" : { + "type" : "object", + "properties" : { + "productType" : { + "maxLength" : 255, + "minLength" : 0, + "type" : "string" + }, + "tractionBatteryCode" : { + "maxLength" : 255, + "minLength" : 0, + "type" : "string" + }, + "subcomponents" : { + "type" : "array", + "items" : { + "$ref" : "#/components/schemas/DetailAspectDataTractionBatteryCodeSubcomponentResponse" + } + } + } + }, + "DetailAspectDataTractionBatteryCodeSubcomponentResponse" : { + "type" : "object", + "properties" : { + "productType" : { + "maxLength" : 255, + "minLength" : 0, + "type" : "string" + }, + "tractionBatteryCode" : { + "maxLength" : 255, + "minLength" : 0, + "type" : "string" + } + } + }, + "DetailAspectModelResponse" : { + "type" : "object", + "properties" : { + "type" : { + "type" : "string", + "enum" : [ + "AS_BUILT", + "AS_PLANNED", + "TRACTION_BATTERY_CODE", + "SINGLE_LEVEL_BOM_AS_BUILT", + "SINGLE_LEVEL_USAGE_AS_BUILT", + "SINGLE_LEVEL_BOM_AS_PLANNED", + "PART_SITE_INFORMATION_AS_PLANNED" + ] + }, + "data" : { + "$ref" : "#/components/schemas/DetailAspectDataResponse" + } + } + }, + "PartSiteInformationAsPlannedResponse" : { + "type" : "object", + "properties" : { + "functionValidUntil" : { + "type" : "string" + }, + "function" : { + "type" : "string" + }, + "functionValidFrom" : { + "type" : "string" + }, + "catenaXSiteId" : { + "type" : "string" + } + } + }, + "ConstraintResponse" : { + "type" : "object", + "properties" : { + "leftOperand" : { + "type" : "string" + }, + "operatorTypeResponse" : { + "type" : "string", + "enum" : [ + "EQ", + "NEQ", + "LT", + "GT", + "IN", + "LTEQ", + "GTEQ", + "ISA", + "HASPART", + "ISPARTOF", + "ISONEOF", + "ISALLOF", + "ISNONEOF" + ] + }, + "rightOperands" : { + "type" : "array", + "items" : { + "type" : "string" + } + } + } + }, + "ConstraintsResponse" : { + "type" : "object", + "properties" : { + "and" : { + "type" : "array", + "items" : { + "$ref" : "#/components/schemas/ConstraintResponse" + } + }, + "or" : { + "type" : "array", + "items" : { + "$ref" : "#/components/schemas/ConstraintResponse" + } + } + } + }, + "PermissionResponse" : { + "type" : "object", + "properties" : { + "action" : { + "type" : "string", + "enum" : [ + "ACCESS", + "USE" + ] + }, + "constraints" : { + "type" : "array", + "items" : { + "$ref" : "#/components/schemas/ConstraintsResponse" + } + } + } + }, + "PolicyResponse" : { + "type" : "object", + "properties" : { + "policyId" : { + "type" : "string" + }, + "createdOn" : { + "type" : "string", + "format" : "date-time" + }, + "validUntil" : { + "type" : "string", + "format" : "date-time" + }, + "permissions" : { + "type" : "array", + "items" : { + "$ref" : "#/components/schemas/PermissionResponse" + } + } + } + }, + "InvestigationResponse" : { + "type" : "object", + "properties" : { + "id" : { + "maximum" : 255, + "minimum" : 0, + "type" : "integer", + "format" : "int64" + }, + "status" : { + "maxLength" : 255, + "minLength" : 0, + "type" : "string", + "enum" : [ + "CREATED", + "SENT", + "RECEIVED", + "ACKNOWLEDGED", + "ACCEPTED", + "DECLINED", + "CANCELED", + "CLOSED" + ] + }, + "description" : { + "maxLength" : 1000, + "minLength" : 0, + "type" : "string" + }, + "createdBy" : { + "maxLength" : 255, + "minLength" : 0, + "type" : "string" + }, + "createdByName" : { + "maxLength" : 255, + "minLength" : 0, + "type" : "string" + }, + "createdDate" : { + "maxLength" : 50, + "minLength" : 0, + "type" : "string" + }, + "assetIds" : { + "maxItems" : 1000, + "minItems" : 0, + "type" : "array", + "description" : "assetIds", + "items" : { + "type" : "string" + } + }, + "channel" : { + "maxLength" : 255, + "minLength" : 0, + "type" : "string", + "enum" : [ + "SENDER", + "RECEIVER" + ] + }, + "reason" : { + "$ref" : "#/components/schemas/QualityNotificationReasonResponse" + }, + "sendTo" : { + "maxLength" : 255, + "minLength" : 0, + "type" : "string" + }, + "sendToName" : { + "maxLength" : 255, + "minLength" : 0, + "type" : "string" + }, + "severity" : { + "maxLength" : 255, + "minLength" : 0, + "type" : "string", + "enum" : [ + "MINOR", + "MAJOR", + "CRITICAL", + "LIFE-THREATENING" + ] + }, + "targetDate" : { + "maxLength" : 50, + "minLength" : 0, + "type" : "string" + }, + "errorMessage" : { + "maxLength" : 255, + "minLength" : 0, + "type" : "string" + } + } + }, + "QualityNotificationReasonResponse" : { + "type" : "object", + "properties" : { + "close" : { + "maxLength" : 1000, + "minLength" : 0, + "type" : "string" + }, + "accept" : { + "maxLength" : 1000, + "minLength" : 0, + "type" : "string" + }, + "decline" : { + "maxLength" : 1000, + "minLength" : 0, + "type" : "string" + } + } + }, + "DashboardResponse" : { + "type" : "object", + "properties" : { + "asBuiltCustomerParts" : { + "type" : "integer", + "format" : "int64" + }, + "asPlannedCustomerParts" : { + "type" : "integer", + "format" : "int64" + }, + "asBuiltSupplierParts" : { + "type" : "integer", + "format" : "int64" + }, + "asPlannedSupplierParts" : { + "type" : "integer", + "format" : "int64" + }, + "asBuiltOwnParts" : { + "type" : "integer", + "format" : "int64" + }, + "asPlannedOwnParts" : { + "type" : "integer", + "format" : "int64" + }, + "myPartsWithOpenAlerts" : { + "type" : "integer", + "format" : "int64" + }, + "myPartsWithOpenInvestigations" : { + "type" : "integer", + "format" : "int64" + }, + "supplierPartsWithOpenAlerts" : { + "type" : "integer", + "format" : "int64" + }, + "customerPartsWithOpenAlerts" : { + "type" : "integer", + "format" : "int64" + }, + "supplierPartsWithOpenInvestigations" : { + "type" : "integer", + "format" : "int64" + }, + "customerPartsWithOpenInvestigations" : { + "type" : "integer", + "format" : "int64" + }, + "receivedActiveAlerts" : { + "type" : "integer", + "format" : "int64" + }, + "receivedActiveInvestigations" : { + "type" : "integer", + "format" : "int64" + }, + "sentActiveAlerts" : { + "type" : "integer", + "format" : "int64" + }, + "sentActiveInvestigations" : { + "type" : "integer", + "format" : "int64" + } + } + }, + "AlertResponse" : { + "type" : "object", + "properties" : { + "id" : { + "maximum" : 255, + "minimum" : 0, + "type" : "integer", + "format" : "int64" + }, + "status" : { + "maxLength" : 255, + "minLength" : 0, + "type" : "string", + "enum" : [ + "CREATED", + "SENT", + "RECEIVED", + "ACKNOWLEDGED", + "ACCEPTED", + "DECLINED", + "CANCELED", + "CLOSED" + ] + }, + "description" : { + "maxLength" : 1000, + "minLength" : 0, + "type" : "string" + }, + "createdBy" : { + "maxLength" : 255, + "minLength" : 0, + "type" : "string" + }, + "createdByName" : { + "maxLength" : 255, + "minLength" : 0, + "type" : "string" + }, + "createdDate" : { + "maxLength" : 50, + "minLength" : 0, + "type" : "string" + }, + "assetIds" : { + "maxItems" : 1000, + "minItems" : 0, + "type" : "array", + "description" : "assetIds", + "items" : { + "type" : "string" + } + }, + "channel" : { + "maxLength" : 255, + "minLength" : 0, + "type" : "string", + "enum" : [ + "SENDER", + "RECEIVER" + ] + }, + "reason" : { + "$ref" : "#/components/schemas/QualityNotificationReasonResponse" + }, + "sendTo" : { + "maxLength" : 255, + "minLength" : 0, + "type" : "string" + }, + "sendToName" : { + "maxLength" : 255, + "minLength" : 0, + "type" : "string" + }, + "severity" : { + "maxLength" : 255, + "minLength" : 0, + "type" : "string", + "enum" : [ + "MINOR", + "MAJOR", + "CRITICAL", + "LIFE-THREATENING" + ] + }, + "targetDate" : { + "maxLength" : 50, + "minLength" : 0, + "type" : "string" + }, + "errorMessage" : { + "maxLength" : 255, + "minLength" : 0, + "type" : "string" + } + } + } + }, + "securitySchemes" : { + "oAuth2" : { + "type" : "oauth2", + "flows" : { + "clientCredentials" : { + "scopes" : { + "profile email" : "" + } + } + } + } + } + } +} diff --git a/tx-backend/src/main/java/org/eclipse/tractusx/traceability/assets/application/asbuilt/rest/AssetAsBuiltController.java b/tx-backend/src/main/java/org/eclipse/tractusx/traceability/assets/application/asbuilt/rest/AssetAsBuiltController.java index 8a37d93cb8..1ab95d06a8 100644 --- a/tx-backend/src/main/java/org/eclipse/tractusx/traceability/assets/application/asbuilt/rest/AssetAsBuiltController.java +++ b/tx-backend/src/main/java/org/eclipse/tractusx/traceability/assets/application/asbuilt/rest/AssetAsBuiltController.java @@ -374,7 +374,7 @@ public Map assetsCountryMap() { mediaType = "application/json", schema = @Schema(implementation = ErrorResponse.class)))}) @GetMapping("/{assetId}") - public AssetAsBuiltResponse asset(@PathVariable String assetId) { + public AssetAsBuiltResponse getAssetById(@PathVariable String assetId) { return AssetAsBuiltResponseMapper.from(assetBaseService.getAssetById(assetId)); } @@ -429,8 +429,8 @@ public AssetAsBuiltResponse asset(@PathVariable String assetId) { content = @Content( mediaType = "application/json", schema = @Schema(implementation = ErrorResponse.class)))}) - @GetMapping("/{assetId}/children/{childId}") - public AssetAsBuiltResponse asset(@PathVariable String assetId, @PathVariable String childId) { + @GetMapping("/*/children/{childId}") + public AssetAsBuiltResponse getAssetChildId(@PathVariable String childId) { return AssetAsBuiltResponseMapper.from(assetBaseService.getAssetByChildId(childId)); } diff --git a/tx-backend/src/main/java/org/eclipse/tractusx/traceability/assets/application/asplanned/rest/AssetAsPlannedController.java b/tx-backend/src/main/java/org/eclipse/tractusx/traceability/assets/application/asplanned/rest/AssetAsPlannedController.java index 2647514d4b..1fce533eb6 100644 --- a/tx-backend/src/main/java/org/eclipse/tractusx/traceability/assets/application/asplanned/rest/AssetAsPlannedController.java +++ b/tx-backend/src/main/java/org/eclipse/tractusx/traceability/assets/application/asplanned/rest/AssetAsPlannedController.java @@ -305,7 +305,7 @@ public List distinctFilterValues(@QueryParam("fieldName") String fieldNa mediaType = "application/json", schema = @Schema(implementation = ErrorResponse.class)))}) @GetMapping("/{assetId}") - public AssetAsPlannedResponse asset(@PathVariable String assetId) { + public AssetAsPlannedResponse getAssetById(@PathVariable String assetId) { return AssetAsPlannedResponseMapper.from(assetService.getAssetById(assetId)); } @@ -360,8 +360,8 @@ public AssetAsPlannedResponse asset(@PathVariable String assetId) { content = @Content( mediaType = "application/json", schema = @Schema(implementation = ErrorResponse.class)))}) - @GetMapping("/{assetId}/children/{childId}") - public AssetAsPlannedResponse asset(@PathVariable("assetId") String assetId, @PathVariable("childId") String childId) { + @GetMapping("/*/children/{childId}") + public AssetAsPlannedResponse getAssetByChildId(@PathVariable("childId") String childId) { return AssetAsPlannedResponseMapper.from(assetService.getAssetByChildId(childId)); } diff --git a/tx-backend/src/main/java/org/eclipse/tractusx/traceability/assets/domain/base/model/SemanticDataModel.java b/tx-backend/src/main/java/org/eclipse/tractusx/traceability/assets/domain/base/model/SemanticDataModel.java index 3123d9d50b..8e93653576 100644 --- a/tx-backend/src/main/java/org/eclipse/tractusx/traceability/assets/domain/base/model/SemanticDataModel.java +++ b/tx-backend/src/main/java/org/eclipse/tractusx/traceability/assets/domain/base/model/SemanticDataModel.java @@ -19,12 +19,13 @@ package org.eclipse.tractusx.traceability.assets.domain.base.model; +import lombok.Getter; +import lombok.RequiredArgsConstructor; + +@Getter +@RequiredArgsConstructor public enum SemanticDataModel { BATCH("Batch"), SERIALPART("SerialPart"), UNKNOWN(""), PARTASPLANNED("PartAsPlanned"), JUSTINSEQUENCE("JustInSequence"); - private String name; - - SemanticDataModel(String name) { - this.name = name; - } + private final String value; } diff --git a/tx-backend/src/main/java/org/eclipse/tractusx/traceability/assets/domain/importpoc/service/MainAspectAsPlannedStrategy.java b/tx-backend/src/main/java/org/eclipse/tractusx/traceability/assets/domain/importpoc/service/MainAspectAsPlannedStrategy.java index a4cfb1b323..0bd96eaecf 100644 --- a/tx-backend/src/main/java/org/eclipse/tractusx/traceability/assets/domain/importpoc/service/MainAspectAsPlannedStrategy.java +++ b/tx-backend/src/main/java/org/eclipse/tractusx/traceability/assets/domain/importpoc/service/MainAspectAsPlannedStrategy.java @@ -84,7 +84,6 @@ public AssetBase mapToAssetBase(ImportRequest.AssetImportRequest assetImportRequ .toList(); - List childRelations = submodels.stream() .filter(genericSubmodel -> isDownwardRelationshipAsPlanned(genericSubmodel.getAspectType())) .map(GenericSubmodel::getPayload) @@ -102,12 +101,11 @@ public AssetBase mapToAssetBase(ImportRequest.AssetImportRequest assetImportRequ detailAspectModels.addAll(extractDetailAspectModelsPartSiteInformationAsPlanned(emptyIfNull(partSiteInformationAsPlannedRequest.sites()))); } - DetailAspectModel asPlannedDetailAspect = extractDetailAspectModelsAsPlanned(partAsPlannedV2.validityPeriod()); - detailAspectModels.add(asPlannedDetailAspect); - - AssetBase.AssetBaseBuilder assetBaseBuilder = AssetBase.builder(); if (partAsPlannedV2 != null) { + DetailAspectModel asPlannedDetailAspect = extractDetailAspectModelsAsPlanned(partAsPlannedV2.validityPeriod()); + detailAspectModels.add(asPlannedDetailAspect); + assetBaseBuilder .id(assetImportRequestV2.assetMetaInfoRequest().catenaXId()) .manufacturerId(traceabilityProperties.getBpn().value()) diff --git a/tx-backend/src/main/java/org/eclipse/tractusx/traceability/qualitynotification/domain/base/service/EdcNotificationServiceImpl.java b/tx-backend/src/main/java/org/eclipse/tractusx/traceability/qualitynotification/domain/base/service/EdcNotificationServiceImpl.java index 1b7a30c795..8dad3e71c9 100644 --- a/tx-backend/src/main/java/org/eclipse/tractusx/traceability/qualitynotification/domain/base/service/EdcNotificationServiceImpl.java +++ b/tx-backend/src/main/java/org/eclipse/tractusx/traceability/qualitynotification/domain/base/service/EdcNotificationServiceImpl.java @@ -59,7 +59,7 @@ public CompletableFuture asyncNotificationMessageExe Discovery discovery = discoveryService.getDiscoveryByBPN(notification.getSendTo()); String senderEdcUrl = discovery.getSenderUrl(); List receiverUrls = emptyIfNull(discovery.getReceiverUrls()); - List sendResults = null; + List sendResults = List.of(); if (notification.getType().equals(QualityNotificationType.ALERT)) { log.info("::asyncNotificationExecutor::isQualityAlert"); diff --git a/tx-backend/src/main/java/org/eclipse/tractusx/traceability/qualitynotification/domain/base/service/InvestigationsEDCFacade.java b/tx-backend/src/main/java/org/eclipse/tractusx/traceability/qualitynotification/domain/base/service/InvestigationsEDCFacade.java index 6f053fcff0..ba27760881 100644 --- a/tx-backend/src/main/java/org/eclipse/tractusx/traceability/qualitynotification/domain/base/service/InvestigationsEDCFacade.java +++ b/tx-backend/src/main/java/org/eclipse/tractusx/traceability/qualitynotification/domain/base/service/InvestigationsEDCFacade.java @@ -38,8 +38,6 @@ import org.eclipse.tractusx.irs.edc.client.EndpointDataReferenceStorage; import org.eclipse.tractusx.irs.edc.client.model.CatalogItem; import org.eclipse.tractusx.irs.edc.client.policy.PolicyCheckerService; -import org.eclipse.tractusx.traceability.qualitynotification.infrastructure.edc.model.EDCNotification; -import org.eclipse.tractusx.traceability.qualitynotification.infrastructure.edc.model.EDCNotificationFactory; import org.eclipse.tractusx.traceability.common.properties.EdcProperties; import org.eclipse.tractusx.traceability.qualitynotification.domain.base.exception.ContractNegotiationException; import org.eclipse.tractusx.traceability.qualitynotification.domain.base.exception.NoCatalogItemException; @@ -47,6 +45,8 @@ import org.eclipse.tractusx.traceability.qualitynotification.domain.base.exception.SendNotificationException; import org.eclipse.tractusx.traceability.qualitynotification.domain.base.model.QualityNotificationMessage; import org.eclipse.tractusx.traceability.qualitynotification.domain.base.model.QualityNotificationType; +import org.eclipse.tractusx.traceability.qualitynotification.infrastructure.edc.model.EDCNotification; +import org.eclipse.tractusx.traceability.qualitynotification.infrastructure.edc.model.EDCNotificationFactory; import org.springframework.stereotype.Component; import java.util.List; @@ -89,7 +89,7 @@ public void startEdcTransfer( String contractAgreementId = negotiateContractAgreement(receiverEdcUrl, catalogItem); - final EndpointDataReference dataReference = endpointDataReferenceStorage.remove(contractAgreementId) + final EndpointDataReference dataReference = endpointDataReferenceStorage.get(contractAgreementId) .orElseThrow(() -> new NoEndpointDataReferenceException("No EndpointDataReference was found")); notification.setContractAgreementId(contractAgreementId); @@ -120,7 +120,7 @@ private CatalogItem getCatalogItem(final QualityNotificationMessage notification return edcCatalogFacade.fetchCatalogItems( CatalogRequest.Builder.newInstance() .protocol(DEFAULT_PROTOCOL) - .providerUrl(receiverEdcUrl + edcProperties.getIdsPath()) + .counterPartyAddress(receiverEdcUrl + edcProperties.getIdsPath()) .querySpec(QuerySpec.Builder.newInstance() .filter( List.of(new Criterion(NAMESPACE_EDC + "notificationtype", "=", propertyNotificationTypeValue), diff --git a/tx-backend/src/main/java/org/eclipse/tractusx/traceability/shelldescriptor/domain/repository/DecentralRegistryRepository.java b/tx-backend/src/main/java/org/eclipse/tractusx/traceability/shelldescriptor/domain/repository/DecentralRegistryRepository.java index f0067e57d9..eb0d25749d 100644 --- a/tx-backend/src/main/java/org/eclipse/tractusx/traceability/shelldescriptor/domain/repository/DecentralRegistryRepository.java +++ b/tx-backend/src/main/java/org/eclipse/tractusx/traceability/shelldescriptor/domain/repository/DecentralRegistryRepository.java @@ -19,8 +19,10 @@ package org.eclipse.tractusx.traceability.shelldescriptor.domain.repository; +import org.eclipse.tractusx.irs.component.assetadministrationshell.AssetAdministrationShellDescriptor; + import java.util.List; public interface DecentralRegistryRepository { - List retrieveShellDescriptorsByBpn(String bpn); + List retrieveShellDescriptorsByBpn(String bpn); } diff --git a/tx-backend/src/main/java/org/eclipse/tractusx/traceability/shelldescriptor/domain/service/DecentralRegistryServiceImpl.java b/tx-backend/src/main/java/org/eclipse/tractusx/traceability/shelldescriptor/domain/service/DecentralRegistryServiceImpl.java index 439581d259..af2ee1fbb1 100644 --- a/tx-backend/src/main/java/org/eclipse/tractusx/traceability/shelldescriptor/domain/service/DecentralRegistryServiceImpl.java +++ b/tx-backend/src/main/java/org/eclipse/tractusx/traceability/shelldescriptor/domain/service/DecentralRegistryServiceImpl.java @@ -33,8 +33,14 @@ import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Component; +import java.util.Collection; import java.util.List; +import static org.eclipse.tractusx.traceability.assets.domain.base.model.SemanticDataModel.BATCH; +import static org.eclipse.tractusx.traceability.assets.domain.base.model.SemanticDataModel.JUSTINSEQUENCE; +import static org.eclipse.tractusx.traceability.assets.domain.base.model.SemanticDataModel.PARTASPLANNED; +import static org.eclipse.tractusx.traceability.assets.domain.base.model.SemanticDataModel.SERIALPART; + @RequiredArgsConstructor @Slf4j @Component @@ -45,41 +51,29 @@ public class DecentralRegistryServiceImpl implements DecentralRegistryService { private final TraceabilityProperties traceabilityProperties; private final DecentralRegistryRepository decentralRegistryRepository; + private static final List AS_BUILT_ASPECT_TYPES = List.of(SERIALPART.getValue(), BATCH.getValue(), JUSTINSEQUENCE.getValue()); + private static final List AS_PLANNED_ASPECT_TYPES = List.of(PARTASPLANNED.getValue()); + @Override @Async(value = AssetsAsyncConfig.LOAD_SHELL_DESCRIPTORS_EXECUTOR) public void synchronizeAssets() { + Collection shellDescriptors = decentralRegistryRepository.retrieveShellDescriptorsByBpn(traceabilityProperties.getBpn().toString()); + Collection asBuiltShellDescriptors = shellDescriptors.stream().filter(this::isAsBuilt).toList(); + Collection asPlannedShellDescriptors = shellDescriptors.stream().filter(this::isAsPlanned).toList(); - // TODO we will retrieve Collections and need to filter for each semanticModelIdKey - // Example of response: "idShort": "SingleLevelUsageAsBuilt", - // "id": "urn:uuid:3fa9cf02-1064-459f-a17e-1cbc819c2f2e", - // "semanticId": { - // "type": "ExternalReference", - // "keys": [ - // { - // "type": "GlobalReference", - // "value": "urn:bamm:io.catenax.single_level_usage_as_built:2.0.0#SingleLevelUsageAsBuilt" - // } - // ] - // }, - // "supplementalSemanticId": [], - // "description": [], - // "displayName": [] - // } - // ] - // }, - // https://irs-aas-registry.dev.demo.catena-x.net/semantics/registry/api/v3.0/shell-descriptors - // Result should be a list of globalAssetIds associcated with asBuilt and another list asPlanned + asBuiltShellDescriptors.forEach(shellDescriptor -> assetAsBuiltService.synchronizeAssetsAsync(shellDescriptor.getGlobalAssetId())); + asPlannedShellDescriptors.forEach(shellDescriptor -> assetAsPlannedService.synchronizeAssetsAsync(shellDescriptor.getGlobalAssetId())); + } + // TODO: consider creating support method on AssetAdministrationShellDescriptor.is(BomLifecycle lifecycle) that will be usable on our code + // IRS already have BomLifecycle in their domain so we can use it there also + private boolean isAsBuilt(AssetAdministrationShellDescriptor shellDescriptor) { + return !shellDescriptor.filterDescriptorsByAspectTypes(AS_BUILT_ASPECT_TYPES).isEmpty(); + } - List globalAssetIdsForApplicationBpn = decentralRegistryRepository.retrieveShellDescriptorsByBpn(traceabilityProperties.getBpn().toString()); - globalAssetIdsForApplicationBpn - .forEach(globalAssetId -> { - //TODO: differentiate if this is either as-planned or as-built. Otherwise we have twice the load here. - // DT-Library offers methods to requests additional info to get the bomlifecycle - assetAsPlannedService.synchronizeAssetsAsync(globalAssetId); - assetAsBuiltService.synchronizeAssetsAsync(globalAssetId); - }); + private boolean isAsPlanned(AssetAdministrationShellDescriptor shellDescriptor) { + return !shellDescriptor.filterDescriptorsByAspectTypes(AS_PLANNED_ASPECT_TYPES).isEmpty(); } } diff --git a/tx-backend/src/main/java/org/eclipse/tractusx/traceability/shelldescriptor/infrastructure/rest/DecentralRegistryRepositoryImpl.java b/tx-backend/src/main/java/org/eclipse/tractusx/traceability/shelldescriptor/infrastructure/rest/DecentralRegistryRepositoryImpl.java index 206bcca5c4..fe4f5e8c2a 100644 --- a/tx-backend/src/main/java/org/eclipse/tractusx/traceability/shelldescriptor/infrastructure/rest/DecentralRegistryRepositoryImpl.java +++ b/tx-backend/src/main/java/org/eclipse/tractusx/traceability/shelldescriptor/infrastructure/rest/DecentralRegistryRepositoryImpl.java @@ -21,6 +21,7 @@ import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.eclipse.tractusx.irs.component.assetadministrationshell.AssetAdministrationShellDescriptor; import org.eclipse.tractusx.irs.registryclient.decentral.DecentralDigitalTwinRegistryService; import org.eclipse.tractusx.irs.registryclient.exceptions.RegistryServiceException; import org.eclipse.tractusx.traceability.shelldescriptor.domain.repository.DecentralRegistryRepository; @@ -37,9 +38,9 @@ public class DecentralRegistryRepositoryImpl implements DecentralRegistryReposit private final DecentralDigitalTwinRegistryService decentralDigitalTwinRegistryService; @Override - public List retrieveShellDescriptorsByBpn(String bpn) { + public List retrieveShellDescriptorsByBpn(String bpn) { try { - return decentralDigitalTwinRegistryService.lookupGlobalAssetIds(bpn).stream().toList(); + return decentralDigitalTwinRegistryService.lookupShellsByBPN(bpn).stream().toList(); } catch (RegistryServiceException exception) { log.error("Could not retrieve globalAssetIds by bpn " + bpn, exception); return Collections.emptyList(); diff --git a/tx-backend/src/main/java/org/eclipse/tractusx/traceability/submodel/infrastructure/model/SubmodelPayloadEntity.java b/tx-backend/src/main/java/org/eclipse/tractusx/traceability/submodel/infrastructure/model/SubmodelPayloadEntity.java index 3c6a73d0c0..916e9d90e4 100644 --- a/tx-backend/src/main/java/org/eclipse/tractusx/traceability/submodel/infrastructure/model/SubmodelPayloadEntity.java +++ b/tx-backend/src/main/java/org/eclipse/tractusx/traceability/submodel/infrastructure/model/SubmodelPayloadEntity.java @@ -31,6 +31,7 @@ import lombok.Builder; import lombok.Getter; import lombok.NoArgsConstructor; +import lombok.ToString; import org.eclipse.tractusx.traceability.assets.infrastructure.asbuilt.model.AssetAsBuiltEntity; import org.eclipse.tractusx.traceability.assets.infrastructure.asplanned.model.AssetAsPlannedEntity; import org.eclipse.tractusx.traceability.assets.infrastructure.base.irs.model.response.GenericSubmodel; @@ -55,10 +56,12 @@ public class SubmodelPayloadEntity { @ManyToOne(fetch = FetchType.EAGER, cascade = CascadeType.ALL) @JoinColumn(name = "asset_as_built_id") + @ToString.Exclude public AssetAsBuiltEntity assetAsBuilt; @ManyToOne(fetch = FetchType.EAGER, cascade = CascadeType.ALL) @JoinColumn(name = "asset_as_planned_id") + @ToString.Exclude private AssetAsPlannedEntity assetAsPlanned; public static List from(AssetAsBuiltEntity asset, List submodels) { diff --git a/tx-backend/src/main/resources/application.yml b/tx-backend/src/main/resources/application.yml index a6a48b32f8..db8e388798 100644 --- a/tx-backend/src/main/resources/application.yml +++ b/tx-backend/src/main/resources/application.yml @@ -109,6 +109,11 @@ irs-edc-client: timeout: read: PT90S # HTTP read timeout for the submodel client connect: PT90S # HTTP connect timeout for the submodel client + discoveryFinderClient: + cacheTTL: PT24H # Time to live for DiscoveryFinderClient for findDiscoveryEndpoints method cache + connectorEndpointService: + cacheTTL: PT24H # Time to live for ConnectorEndpointService for fetchConnectorEndpoints method cache + server: servlet: @@ -217,4 +222,3 @@ digitalTwinRegistryClient: descriptorEndpoint: "" # required if type is "central", must contain the placeholder {aasIdentifier} shellLookupEndpoint: "" # required if type is "central", must contain the placeholder {assetIds} - diff --git a/tx-backend/src/test/java/org/eclipse/tractusx/traceability/assets/domain/importpoc/service/MainAspectAsPlannedStrategyTest.java b/tx-backend/src/test/java/org/eclipse/tractusx/traceability/assets/domain/importpoc/service/MainAspectAsPlannedStrategyTest.java new file mode 100644 index 0000000000..5fe5055645 --- /dev/null +++ b/tx-backend/src/test/java/org/eclipse/tractusx/traceability/assets/domain/importpoc/service/MainAspectAsPlannedStrategyTest.java @@ -0,0 +1,56 @@ +/******************************************************************************** + * Copyright (c) 2024 Contributors to the Eclipse Foundation + * + * See the NOTICE file(s) distributed with this work for additional + * information regarding copyright ownership. + * + * This program and the accompanying materials are made available under the + * terms of the Apache License, Version 2.0 which is available at + * https://www.apache.org/licenses/LICENSE-2.0. + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + * + * SPDX-License-Identifier: Apache-2.0 + ********************************************************************************/ +package org.eclipse.tractusx.traceability.assets.domain.importpoc.service; + +import org.eclipse.tractusx.traceability.assets.domain.base.model.AssetBase; +import org.eclipse.tractusx.traceability.assets.domain.importpoc.model.AssetMetaInfoRequest; +import org.eclipse.tractusx.traceability.assets.domain.importpoc.model.ImportRequest; +import org.eclipse.tractusx.traceability.common.properties.TraceabilityProperties; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; + +import java.util.List; + +import static org.assertj.core.api.Assertions.assertThat; + +class MainAspectAsPlannedStrategyTest { + + MainAspectAsPlannedStrategy strategy; + + @BeforeEach + void setUp() { + strategy = new MainAspectAsPlannedStrategy(); + } + + + @Test + void testMappingWithNoSubmodels() { + // given + ImportRequest.AssetImportRequest assetImportRequestV2 = new ImportRequest.AssetImportRequest( + new AssetMetaInfoRequest("catenaXId"), + List.of() + ); + + // when + AssetBase assetBase = strategy.mapToAssetBase(assetImportRequestV2, new TraceabilityProperties()); + + // then + assertThat(assetBase.getDetailAspectModels()).isNull(); + } +} diff --git a/tx-backend/src/test/java/org/eclipse/tractusx/traceability/assets/infrastructure/repository/rest/irs/IrsServiceTest.java b/tx-backend/src/test/java/org/eclipse/tractusx/traceability/assets/infrastructure/repository/rest/irs/IrsServiceTest.java index f49b6565f5..0679e76997 100644 --- a/tx-backend/src/test/java/org/eclipse/tractusx/traceability/assets/infrastructure/repository/rest/irs/IrsServiceTest.java +++ b/tx-backend/src/test/java/org/eclipse/tractusx/traceability/assets/infrastructure/repository/rest/irs/IrsServiceTest.java @@ -157,8 +157,6 @@ void givenOutdatedPolicyExist_whenCreateIrsPolicyIfMissing_thenUpdateIt() { @ParameterizedTest @MethodSource("provideDirections") void testFindAssets_completedJob_returnsConvertedAssets(Direction direction) { - - RegisterJobResponse jobId = new RegisterJobResponse("123"); // Given when(traceabilityProperties.getBpn()).thenReturn(BPN.of("test")); diff --git a/tx-backend/src/test/java/org/eclipse/tractusx/traceability/infrastructure/edc/blackbox/InvestigationsEDCFacadeTest.java b/tx-backend/src/test/java/org/eclipse/tractusx/traceability/infrastructure/edc/blackbox/InvestigationsEDCFacadeTest.java index a9b3957b88..1f1026ce53 100644 --- a/tx-backend/src/test/java/org/eclipse/tractusx/traceability/infrastructure/edc/blackbox/InvestigationsEDCFacadeTest.java +++ b/tx-backend/src/test/java/org/eclipse/tractusx/traceability/infrastructure/edc/blackbox/InvestigationsEDCFacadeTest.java @@ -95,7 +95,7 @@ void givenCorrectInvestigationMessage_whenStartEdcTransfer_thenSendIt() throws E when(endpointDataReference.getAuthCode()).thenReturn("authCode"); when(endpointDataReference.getAuthKey()).thenReturn("authKey"); when(endpointDataReference.getEndpoint()).thenReturn(dataReferenceEndpoint); - when(endpointDataReferenceStorage.remove(agreementId)).thenReturn(Optional.ofNullable(endpointDataReference)); + when(endpointDataReferenceStorage.get(agreementId)).thenReturn(Optional.ofNullable(endpointDataReference)); when(objectMapper.writeValueAsString(any())).thenReturn("{body}"); // when @@ -129,7 +129,7 @@ void givenCorrectInvestigationMessageButSendRequestThrowsException_whenStartEdcT when(endpointDataReference.getAuthCode()).thenReturn("authCode"); when(endpointDataReference.getAuthKey()).thenReturn("authKey"); when(endpointDataReference.getEndpoint()).thenReturn(dataReferenceEndpoint); - when(endpointDataReferenceStorage.remove(agreementId)).thenReturn(Optional.ofNullable(endpointDataReference)); + when(endpointDataReferenceStorage.get(agreementId)).thenReturn(Optional.ofNullable(endpointDataReference)); when(objectMapper.writeValueAsString(any())).thenReturn("{body}"); doThrow(new RuntimeException()).when(httpCallService).sendRequest(any()); diff --git a/tx-backend/src/test/java/org/eclipse/tractusx/traceability/integration/qualitynotification/investigation/PublisherInvestigationsControllerIT.java b/tx-backend/src/test/java/org/eclipse/tractusx/traceability/integration/qualitynotification/investigation/PublisherInvestigationsControllerIT.java index f36900cb4d..5873441272 100644 --- a/tx-backend/src/test/java/org/eclipse/tractusx/traceability/integration/qualitynotification/investigation/PublisherInvestigationsControllerIT.java +++ b/tx-backend/src/test/java/org/eclipse/tractusx/traceability/integration/qualitynotification/investigation/PublisherInvestigationsControllerIT.java @@ -374,7 +374,6 @@ void shouldCloseInvestigationStatus() throws JsonProcessingException, JoseExcept "urn:uuid:fe99da3d-b0de-4e80-81da-882aebcca978" // BPN: BPNL00000003AYRE ); String description = "at least 15 characters long investigation description"; - String filterString = "channel,EQUAL,SENDER,AND"; oAuth2ApiSupport.oauth2ApiReturnsTechnicalUserToken(); assetsSupport.defaultAssetsStored(); diff --git a/tx-backend/src/test/java/org/eclipse/tractusx/traceability/qualitynotification/domain/service/EdcNotificationServiceImplTest.java b/tx-backend/src/test/java/org/eclipse/tractusx/traceability/qualitynotification/domain/service/EdcNotificationServiceImplTest.java index bc69f50f5d..9b734fe35f 100644 --- a/tx-backend/src/test/java/org/eclipse/tractusx/traceability/qualitynotification/domain/service/EdcNotificationServiceImplTest.java +++ b/tx-backend/src/test/java/org/eclipse/tractusx/traceability/qualitynotification/domain/service/EdcNotificationServiceImplTest.java @@ -21,8 +21,6 @@ import org.eclipse.tractusx.traceability.discovery.domain.model.Discovery; import org.eclipse.tractusx.traceability.discovery.domain.service.DiscoveryService; -import org.eclipse.tractusx.traceability.qualitynotification.domain.base.AlertRepository; -import org.eclipse.tractusx.traceability.qualitynotification.domain.base.InvestigationRepository; import org.eclipse.tractusx.traceability.qualitynotification.domain.base.exception.ContractNegotiationException; import org.eclipse.tractusx.traceability.qualitynotification.domain.base.exception.NoCatalogItemException; import org.eclipse.tractusx.traceability.qualitynotification.domain.base.exception.NoEndpointDataReferenceException; @@ -45,7 +43,6 @@ import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.doThrow; import static org.mockito.Mockito.verify; -import static org.mockito.Mockito.verifyNoInteractions; import static org.mockito.Mockito.when; @ExtendWith(MockitoExtension.class) diff --git a/tx-backend/src/test/java/org/eclipse/tractusx/traceability/shelldescriptor/domain/DecentralDecentralRegistryServiceImplTest.java b/tx-backend/src/test/java/org/eclipse/tractusx/traceability/shelldescriptor/domain/DecentralDecentralRegistryServiceImplTest.java index 3c4719c637..1011159c6c 100644 --- a/tx-backend/src/test/java/org/eclipse/tractusx/traceability/shelldescriptor/domain/DecentralDecentralRegistryServiceImplTest.java +++ b/tx-backend/src/test/java/org/eclipse/tractusx/traceability/shelldescriptor/domain/DecentralDecentralRegistryServiceImplTest.java @@ -18,6 +18,10 @@ ********************************************************************************/ package org.eclipse.tractusx.traceability.shelldescriptor.domain; +import org.eclipse.tractusx.irs.component.assetadministrationshell.AssetAdministrationShellDescriptor; +import org.eclipse.tractusx.irs.component.assetadministrationshell.Reference; +import org.eclipse.tractusx.irs.component.assetadministrationshell.SemanticId; +import org.eclipse.tractusx.irs.component.assetadministrationshell.SubmodelDescriptor; import org.eclipse.tractusx.irs.registryclient.exceptions.RegistryServiceException; import org.eclipse.tractusx.traceability.assets.domain.asbuilt.service.AssetAsBuiltServiceImpl; import org.eclipse.tractusx.traceability.assets.domain.asplanned.service.AssetAsPlannedServiceImpl; @@ -59,14 +63,48 @@ class DecentralRegistryServiceImplTest { @Test void testUpdateShellDescriptorAndSynchronizeAssets() throws RegistryServiceException { // Given + AssetAdministrationShellDescriptor asBuilt = AssetAdministrationShellDescriptor.builder() + .globalAssetId("id1") + .submodelDescriptors(List.of( + SubmodelDescriptor.builder() + .semanticId( + Reference.builder() + .keys(List.of( + SemanticId.builder() + .type("GlobalReference") + .value("urn:bamm:io.catenax.single_level_usage_as_built:2.0.0#SerialPart").build() + ) + ) + .build() + ) + .build() + )) + .build(); + AssetAdministrationShellDescriptor asPlanned = AssetAdministrationShellDescriptor.builder() + .globalAssetId("id2") + .submodelDescriptors(List.of( + SubmodelDescriptor.builder() + .semanticId( + Reference.builder() + .keys(List.of( + SemanticId.builder() + .type("GlobalReference") + .value("urn:bamm:io.catenax.single_level_usage_as_built:2.0.0#PartAsPlanned").build() + ) + ) + .build() + ) + .build() + )) + .build(); when(traceabilityProperties.getBpn()).thenReturn(BPN.of("test")); - when(decentralRegistryRepository.retrieveShellDescriptorsByBpn(BPN.of("test").toString())).thenReturn(List.of("id1","id2")); + when(decentralRegistryRepository.retrieveShellDescriptorsByBpn(BPN.of("test").toString())).thenReturn(List.of(asBuilt, asPlanned)); // When registryFacade.synchronizeAssets(); // Then - verify(assetAsBuiltService, times(2)).synchronizeAssetsAsync(any(String.class)); - verify(assetAsPlannedService, times(2)).synchronizeAssetsAsync(any(String.class)); + verify(assetAsBuiltService, times(1)).synchronizeAssetsAsync(any(String.class)); + verify(assetAsPlannedService, times(1)).synchronizeAssetsAsync(any(String.class)); } } diff --git a/tx-backend/src/test/java/org/eclipse/tractusx/traceability/shelldescriptor/infrastructure/rest/DecentralRegistryRepositoryImplTest.java b/tx-backend/src/test/java/org/eclipse/tractusx/traceability/shelldescriptor/infrastructure/rest/DecentralRegistryRepositoryImplTest.java index cb8c3d1bd5..4eb00ecd34 100644 --- a/tx-backend/src/test/java/org/eclipse/tractusx/traceability/shelldescriptor/infrastructure/rest/DecentralRegistryRepositoryImplTest.java +++ b/tx-backend/src/test/java/org/eclipse/tractusx/traceability/shelldescriptor/infrastructure/rest/DecentralRegistryRepositoryImplTest.java @@ -18,6 +18,12 @@ ********************************************************************************/ package org.eclipse.tractusx.traceability.shelldescriptor.infrastructure.rest; +import org.eclipse.edc.spi.types.domain.asset.Asset; +import org.eclipse.tractusx.irs.component.assetadministrationshell.AssetAdministrationShellDescriptor; +import org.eclipse.tractusx.irs.component.assetadministrationshell.Reference; +import org.eclipse.tractusx.irs.component.assetadministrationshell.SemanticId; +import org.eclipse.tractusx.irs.component.assetadministrationshell.SubmodelDescriptor; +import org.eclipse.tractusx.irs.registryclient.DigitalTwinRegistryKey; import org.eclipse.tractusx.irs.registryclient.decentral.DecentralDigitalTwinRegistryService; import org.eclipse.tractusx.irs.registryclient.exceptions.RegistryServiceException; import org.junit.jupiter.api.Test; @@ -27,6 +33,7 @@ import org.mockito.junit.jupiter.MockitoExtension; import java.util.Arrays; +import java.util.Collection; import java.util.List; import static org.assertj.core.api.Assertions.assertThat; @@ -44,17 +51,53 @@ class DecentralRegistryRepositoryImplTest { void testRetrieveShellDescriptorsByBpnSuccess() throws RegistryServiceException { // Given String bpn = "12345"; - List globalAssetIds = Arrays.asList("asset1", "asset2"); + AssetAdministrationShellDescriptor asBuilt = AssetAdministrationShellDescriptor.builder() + .id("shellId1") + .globalAssetId("id1") + .submodelDescriptors(List.of( + SubmodelDescriptor.builder() + .semanticId( + Reference.builder() + .keys(List.of( + SemanticId.builder() + .type("GlobalReference") + .value("urn:bamm:io.catenax.single_level_usage_as_built:2.0.0#SerialPart").build() + ) + ) + .build() + ) + .build() + )) + .build(); + AssetAdministrationShellDescriptor asPlanned = AssetAdministrationShellDescriptor.builder() + .id("shellId2") + .globalAssetId("id2") + .submodelDescriptors(List.of( + SubmodelDescriptor.builder() + .semanticId( + Reference.builder() + .keys(List.of( + SemanticId.builder() + .type("GlobalReference") + .value("urn:bamm:io.catenax.single_level_usage_as_built:2.0.0#PartAsPlanned").build() + ) + ) + .build() + ) + .build() + )) + .build(); + List shells = List.of(asBuilt, asPlanned); - when(decentralDigitalTwinRegistryService.lookupGlobalAssetIds(bpn)).thenReturn(globalAssetIds); + when(decentralDigitalTwinRegistryService.lookupShellsByBPN(bpn)).thenReturn(shells); decentralRegistryRepository = new DecentralRegistryRepositoryImpl(decentralDigitalTwinRegistryService); // When - List actualDescriptors = decentralRegistryRepository.retrieveShellDescriptorsByBpn(bpn); + List actualDescriptors = decentralRegistryRepository.retrieveShellDescriptorsByBpn(bpn); // Then - assertThat(actualDescriptors).containsExactlyInAnyOrderElementsOf(List.of("asset1", "asset2")); + assertThat(actualDescriptors).containsExactlyInAnyOrderElementsOf(shells); } @Test @@ -62,12 +105,12 @@ void testRetrieveShellDescriptorsByBpnRegistryServiceException() throws Registry // Given String bpn = "12345"; - when(decentralDigitalTwinRegistryService.lookupGlobalAssetIds(bpn)).thenThrow(new RegistryServiceException("Error")); + when(decentralDigitalTwinRegistryService.lookupShellsByBPN(bpn)).thenThrow(new RegistryServiceException("Error")); decentralRegistryRepository = new DecentralRegistryRepositoryImpl(decentralDigitalTwinRegistryService); // When - List actualDescriptors = decentralRegistryRepository.retrieveShellDescriptorsByBpn(bpn); + List actualDescriptors = decentralRegistryRepository.retrieveShellDescriptorsByBpn(bpn); // Then assertThat(actualDescriptors).isEmpty();