diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index c9310441c..8d4cbaa51 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -89,7 +89,7 @@ jobs:
type=raw,value=${{ github.sha }}
- name: Build and push Docker image
- uses: docker/build-push-action@16ebe778df0e7752d2cfcbd924afdbbd89c1a755 # v6.6.1
+ uses: docker/build-push-action@5cd11c3a4ced054e52742c5fd54dca954e0edd85 # v6.7.0
with:
context: .
file: .conf/Dockerfile.prebuilt
diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml
index f1cfa7edb..8b12ca748 100644
--- a/.github/workflows/codeql.yml
+++ b/.github/workflows/codeql.yml
@@ -75,7 +75,7 @@ jobs:
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
- uses: github/codeql-action/init@eb055d739abdc2e8de2e5f4ba1a8b246daa779aa # v2.227
+ uses: github/codeql-action/init@4dd16135b69a43b6c8efb853346f8437d92d3c93 # v2.227
with:
languages: ${{ matrix.language }}
# If you wish to specify custom queries, you can do so here or in a config file.
@@ -89,7 +89,7 @@ jobs:
# Automates dependency installation for Python, Ruby, and JavaScript, optimizing the CodeQL analysis setup.
# If this step fails, then you should remove it and run the build manually (see below)
- name: Autobuild
- uses: github/codeql-action/autobuild@eb055d739abdc2e8de2e5f4ba1a8b246daa779aa # v2.227
+ uses: github/codeql-action/autobuild@4dd16135b69a43b6c8efb853346f8437d92d3c93 # v2.227
# ℹ️ Command-line programs to run using the OS shell.
# 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun
@@ -102,6 +102,6 @@ jobs:
# ./location_of_script_within_repo/buildscript.sh
- name: Perform CodeQL Analysis
- uses: github/codeql-action/analyze@eb055d739abdc2e8de2e5f4ba1a8b246daa779aa # v2.227
+ uses: github/codeql-action/analyze@4dd16135b69a43b6c8efb853346f8437d92d3c93 # v2.227
with:
category: '/language:${{matrix.language}}'
diff --git a/.github/workflows/dependencies.yaml b/.github/workflows/dependencies.yaml
index bd73e7a17..7f9c4396f 100644
--- a/.github/workflows/dependencies.yaml
+++ b/.github/workflows/dependencies.yaml
@@ -65,7 +65,7 @@ jobs:
if: steps.dependencies-changed.outputs.changed == 'true'
- name: Upload DEPENDENCIES file
- uses: actions/upload-artifact@834a144ee995460fba8ed112a2fc961b36a5ec5a # v4.3.6
+ uses: actions/upload-artifact@50769540e7f4bd5e21e526ee35c689e35e0d6874 # v4.4.0
with:
path: DEPENDENCIES
if: steps.dependencies-changed.outputs.changed == 'true'
diff --git a/.github/workflows/kics.yml b/.github/workflows/kics.yml
index 2bfe68a5b..89ea9a7e4 100644
--- a/.github/workflows/kics.yml
+++ b/.github/workflows/kics.yml
@@ -45,7 +45,7 @@ jobs:
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
- name: KICS scan
- uses: checkmarx/kics-github-action@252e73959bd4809a14863cbfbb42d7a90d5a4860 # v2.1.1
+ uses: checkmarx/kics-github-action@530ac1f8efe6202b0f12c9a6e952597ae707b755 # v2.1.2
with:
# Scanning directory .
path: '.'
@@ -67,6 +67,6 @@ jobs:
# Upload findings to GitHub Advanced Security Dashboard
- name: Upload SARIF file for GitHub Advanced Security Dashboard
if: always()
- uses: github/codeql-action/upload-sarif@eb055d739abdc2e8de2e5f4ba1a8b246daa779aa # v3.26.0
+ uses: github/codeql-action/upload-sarif@4dd16135b69a43b6c8efb853346f8437d92d3c93 # v3.26.6
with:
sarif_file: kicsResults/results.sarif
diff --git a/.github/workflows/release-release_candidate.yml b/.github/workflows/release-release_candidate.yml
index f06587034..d3ad2ff0e 100644
--- a/.github/workflows/release-release_candidate.yml
+++ b/.github/workflows/release-release_candidate.yml
@@ -111,7 +111,7 @@ jobs:
type=semver,pattern=v{{major}}.{{minor}}
- name: Build and push Docker image
- uses: docker/build-push-action@16ebe778df0e7752d2cfcbd924afdbbd89c1a755 # v6.6.1
+ uses: docker/build-push-action@5cd11c3a4ced054e52742c5fd54dca954e0edd85 # v6.7.0
with:
context: .
file: .conf/Dockerfile.prebuilt
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index cceeb24a5..48ce0e90a 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -112,7 +112,7 @@ jobs:
type=semver,pattern=v{{major}}.{{minor}}
- name: Build and push Docker image
- uses: docker/build-push-action@16ebe778df0e7752d2cfcbd924afdbbd89c1a755 # v6.6.1
+ uses: docker/build-push-action@5cd11c3a4ced054e52742c5fd54dca954e0edd85 # v6.7.0
with:
context: .
file: .conf/Dockerfile.prebuilt
diff --git a/.github/workflows/release_candidate.yml b/.github/workflows/release_candidate.yml
index 1d40771b5..bfec1ede7 100644
--- a/.github/workflows/release_candidate.yml
+++ b/.github/workflows/release_candidate.yml
@@ -86,7 +86,7 @@ jobs:
type=raw,value=${{ github.sha }}
- name: Build and push Docker image
- uses: docker/build-push-action@16ebe778df0e7752d2cfcbd924afdbbd89c1a755 # v6.6.1
+ uses: docker/build-push-action@5cd11c3a4ced054e52742c5fd54dca954e0edd85 # v6.7.0
with:
context: .
file: .conf/Dockerfile.prebuilt
diff --git a/.github/workflows/trivy-main.yml b/.github/workflows/trivy-main.yml
index 48e934c93..77ff0b96f 100644
--- a/.github/workflows/trivy-main.yml
+++ b/.github/workflows/trivy-main.yml
@@ -63,7 +63,7 @@ jobs:
vuln-type: 'os,library'
- name: Upload Trivy scan results to GitHub Security tab
- uses: github/codeql-action/upload-sarif@eb055d739abdc2e8de2e5f4ba1a8b246daa779aa # v3.26.0
+ uses: github/codeql-action/upload-sarif@4dd16135b69a43b6c8efb853346f8437d92d3c93 # v3.26.6
if: always()
with:
sarif_file: 'trivy-results1.sarif'
@@ -96,6 +96,6 @@ jobs:
- name: Upload Trivy scan results to GitHub Security tab
if: always()
- uses: github/codeql-action/upload-sarif@eb055d739abdc2e8de2e5f4ba1a8b246daa779aa # v3.26.0
+ uses: github/codeql-action/upload-sarif@4dd16135b69a43b6c8efb853346f8437d92d3c93 # v3.26.6
with:
sarif_file: 'trivy-results2.sarif'
diff --git a/.github/workflows/trivy.yml b/.github/workflows/trivy.yml
index 09b306425..09d2dd01f 100644
--- a/.github/workflows/trivy.yml
+++ b/.github/workflows/trivy.yml
@@ -63,7 +63,7 @@ jobs:
vuln-type: 'os,library'
- name: Upload Trivy scan results to GitHub Security tab
- uses: github/codeql-action/upload-sarif@eb055d739abdc2e8de2e5f4ba1a8b246daa779aa # v3.26.0
+ uses: github/codeql-action/upload-sarif@4dd16135b69a43b6c8efb853346f8437d92d3c93 # v3.26.6
if: always()
with:
sarif_file: 'trivy-results1.sarif'
@@ -96,6 +96,6 @@ jobs:
- name: Upload Trivy scan results to GitHub Security tab
if: always()
- uses: github/codeql-action/upload-sarif@eb055d739abdc2e8de2e5f4ba1a8b246daa779aa # v3.26.0
+ uses: github/codeql-action/upload-sarif@4dd16135b69a43b6c8efb853346f8437d92d3c93 # v3.26.6
with:
sarif_file: 'trivy-results2.sarif'
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 1454fc9e7..3088bc5f7 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,43 @@
# Changelog
+## Unreleased
+
+### Feature
+
+- **Customer Detail Data Overlay**
+ - implement new UI design for customer detail data overlay
+- **Company Subscription Management**
+ - extended the subscription detail page for customer to include more app-related information [#1051](https://github.com/eclipse-tractusx/portal-frontend/pull/1051)
+
+### Change
+
+- **Company Subscriptions**
+ - Update and bind API with filter options [#1062](https://github.com/eclipse-tractusx/portal-frontend/pull/1062)
+
+### Bugfixes
+
+- **Connector Management**
+ - fixed technical user selection
+- **IDP management**
+ - Fixed IDP management page title & description
+- **Technical User**
+ - Show appropriate error message.
+ - Fix closing page notification bar issue
+- **IDP management**
+ - Fixed statusTag color in status column [#978](https://github.com/eclipse-tractusx/portal-frontend/pull/978)
+- **Connector Management**
+ - Updated SD document download API to fix downloading SD document issue [#1038](https://github.com/eclipse-tractusx/portal-frontend/pull/1038)
+- **Service Release Process**
+ - Fixed back button navigation to service management instead of navigating to home page[#1038](https://github.com/eclipse-tractusx/portal-frontend/pull/1038)
+- **Application Requests**
+ - Fixed 'activeTab' conditions to load data for Tab-2(Registration Process) [#1050](https://github.com/eclipse-tractusx/portal-frontend/pull/1050)
+- **App Release Process**:
+ - Fixed role upload does not work using Firefox [#1003](https://github.com/eclipse-tractusx/portal-frontend/pull/1003)
+- **Technical User Management**
+ - Display technicalUserManagement button based on role validation [#1073](https://github.com/eclipse-tractusx/portal-frontend/pull/1073)
+- **OSP Consent form**
+ - Display invited company name in OSP consent form (Previously hard coded with 'BMW') [#1083](https://github.com/eclipse-tractusx/portal-frontend/pull/1083)
+
## 2.2.0-RC3
### Change
@@ -73,6 +111,8 @@
- removed unnecessary condition in semantic hub page's table [#979](https://github.com/eclipse-tractusx/portal-frontend/pull/979)
- fixed unchanged text of button when user requests subscription [#985](https://github.com/eclipse-tractusx/portal-frontend/pull/985)
- fixed height for "Admin Service Detail" page content [#1001](https://github.com/eclipse-tractusx/portal-frontend/pull/1001)
+- fixed onClick of "Overview My Apps" button in App Release Process screen [#1022](https://github.com/eclipse-tractusx/portal-frontend/issues/1022)
+- Fix 400 Bad Request error in App Access Management -> Add Role search filter [#1057](https://github.com/eclipse-tractusx/portal-frontend/issues/1057)
## 2.1.0
diff --git a/DEPENDENCIES b/DEPENDENCIES
index 918a799f0..c17562ff9 100644
--- a/DEPENDENCIES
+++ b/DEPENDENCIES
@@ -64,7 +64,7 @@ npm/npmjs/-/ci-info/3.9.0, MIT, approved, clearlydefined
npm/npmjs/-/cjs-module-lexer/1.2.3, MIT, approved, #9069
npm/npmjs/-/classnames/2.5.1, MIT, approved, clearlydefined
npm/npmjs/-/cliui/8.0.1, ISC AND Artistic-2.0, approved, #3753
-npm/npmjs/-/clsx/2.1.0, MIT, approved, clearlydefined
+npm/npmjs/-/clsx/2.1.1, MIT, approved, clearlydefined
npm/npmjs/-/co/4.6.0, MIT, approved, clearlydefined
npm/npmjs/-/collect-v8-coverage/1.0.2, MIT, approved, clearlydefined
npm/npmjs/-/color-convert/1.9.3, MIT, approved, clearlydefined
@@ -90,7 +90,7 @@ npm/npmjs/-/data-view-buffer/1.0.1, MIT, approved, clearlydefined
npm/npmjs/-/data-view-byte-length/1.0.1, MIT, approved, clearlydefined
npm/npmjs/-/data-view-byte-offset/1.0.0, MIT, approved, clearlydefined
npm/npmjs/-/date-fns/3.6.0, MIT, approved, #14000
-npm/npmjs/-/dayjs/1.11.12, MIT, approved, #9149
+npm/npmjs/-/dayjs/1.11.13, MIT, approved, #9149
npm/npmjs/-/debug/3.2.7, MIT, approved, clearlydefined
npm/npmjs/-/debug/4.3.4, MIT, approved, clearlydefined
npm/npmjs/-/decimal.js/10.4.3, MIT, approved, clearlydefined
@@ -389,7 +389,7 @@ npm/npmjs/-/path-is-absolute/1.0.1, MIT, approved, clearlydefined
npm/npmjs/-/path-key/3.1.1, MIT, approved, clearlydefined
npm/npmjs/-/path-parse/1.0.7, MIT, approved, clearlydefined
npm/npmjs/-/path-type/4.0.0, MIT, approved, clearlydefined
-npm/npmjs/-/phone/3.1.49, MIT, approved, #10500
+npm/npmjs/-/phone/3.1.50, MIT, approved, #10500
npm/npmjs/-/picocolors/1.0.0, ISC, approved, #14718
npm/npmjs/-/picomatch/2.3.1, MIT, approved, clearlydefined
npm/npmjs/-/pirates/4.0.6, MIT, approved, #680
@@ -416,7 +416,7 @@ npm/npmjs/-/react-hook-form/7.51.5, MIT, approved, #13909
npm/npmjs/-/react-i18next/14.1.3, MIT AND Apache-2.0, approved, #13870
npm/npmjs/-/react-is/16.13.1, MIT, approved, clearlydefined
npm/npmjs/-/react-is/17.0.2, MIT, approved, clearlydefined
-npm/npmjs/-/react-is/18.2.0, MIT, approved, clearlydefined
+npm/npmjs/-/react-is/18.3.1, MIT, approved, clearlydefined
npm/npmjs/-/react-player/2.15.1, MIT, approved, #13914
npm/npmjs/-/react-redux/9.1.2, MIT AND (BSD-2-Clause AND ISC AND MIT) AND BSD-3-Clause, approved, #13913
npm/npmjs/-/react-refresh/0.14.0, MIT, approved, clearlydefined
@@ -678,14 +678,14 @@ npm/npmjs/@jridgewell/sourcemap-codec/1.4.15, MIT, approved, clearlydefined
npm/npmjs/@jridgewell/trace-mapping/0.3.25, MIT, approved, #9904
npm/npmjs/@jridgewell/trace-mapping/0.3.9, MIT, approved, #9904
npm/npmjs/@mui/base/5.0.0-beta.40, MIT, approved, #2992
-npm/npmjs/@mui/core-downloads-tracker/5.15.15, MIT, approved, clearlydefined
-npm/npmjs/@mui/icons-material/5.15.15, MIT AND CC-BY-3.0, approved, #13171
-npm/npmjs/@mui/material/5.15.15, MIT AND CC-BY-3.0, approved, #13175
-npm/npmjs/@mui/private-theming/5.15.14, MIT AND CC-BY-3.0, approved, #13174
-npm/npmjs/@mui/styled-engine/5.15.14, MIT AND CC-BY-3.0, approved, #13173
-npm/npmjs/@mui/system/5.15.15, MIT, approved, #13170
-npm/npmjs/@mui/types/7.2.14, MIT, approved, #16017
-npm/npmjs/@mui/utils/5.15.14, MIT AND OFL-1.1 AND CC-BY-3.0, approved, #13927
+npm/npmjs/@mui/core-downloads-tracker/5.16.7, MIT, approved, clearlydefined
+npm/npmjs/@mui/icons-material/5.15.21, MIT AND CC-BY-3.0, approved, #13171
+npm/npmjs/@mui/material/5.15.21, MIT AND CC-BY-3.0, approved, #13175
+npm/npmjs/@mui/private-theming/5.16.6, MIT, approved, #15717
+npm/npmjs/@mui/styled-engine/5.16.6, MIT, approved, #15718
+npm/npmjs/@mui/system/5.16.7, MIT, approved, #15715
+npm/npmjs/@mui/types/7.2.15, MIT, approved, #16017
+npm/npmjs/@mui/utils/5.16.6, MIT, approved, #15716
npm/npmjs/@mui/x-data-grid/6.19.11, MIT, approved, #14027
npm/npmjs/@mui/x-date-pickers/6.19.9, MIT, approved, #14025
npm/npmjs/@nodelib/fs.scandir/2.1.5, MIT, approved, clearlydefined
@@ -694,7 +694,7 @@ npm/npmjs/@nodelib/fs.walk/1.2.8, MIT, approved, clearlydefined
npm/npmjs/@popperjs/core/2.11.8, MIT, approved, clearlydefined
npm/npmjs/@react-hook/cache/1.1.1, MIT, approved, clearlydefined
npm/npmjs/@react-hook/latest/1.0.3, MIT, approved, clearlydefined
-npm/npmjs/@reduxjs/toolkit/2.2.6, MIT AND (BSD-2-Clause AND ISC AND MIT) AND Apache-2.0, approved, #14170
+npm/npmjs/@reduxjs/toolkit/2.2.7, MIT AND (BSD-2-Clause AND ISC AND MIT) AND Apache-2.0, approved, #14170
npm/npmjs/@remix-run/router/1.15.3, MIT, approved, clearlydefined
npm/npmjs/@rollup/pluginutils/5.1.0, MIT, approved, clearlydefined
npm/npmjs/@rollup/rollup-android-arm-eabi/4.17.2, MIT, approved, clearlydefined
@@ -729,7 +729,7 @@ npm/npmjs/@svgr/core/8.1.0, MIT, approved, clearlydefined
npm/npmjs/@svgr/hast-util-to-babel-ast/8.0.0, MIT, approved, clearlydefined
npm/npmjs/@svgr/plugin-jsx/8.1.0, MIT, approved, clearlydefined
npm/npmjs/@testing-library/dom/9.3.4, MIT AND (MIT AND WTFPL), approved, #9038
-npm/npmjs/@testing-library/jest-dom/6.4.6, MIT, approved, clearlydefined
+npm/npmjs/@testing-library/jest-dom/6.4.8, MIT, approved, clearlydefined
npm/npmjs/@testing-library/react/14.2.2, MIT, approved, #13316
npm/npmjs/@testing-library/user-event/14.5.2, MIT, approved, clearlydefined
npm/npmjs/@tootallnate/once/2.0.0, MIT, approved, clearlydefined
@@ -760,6 +760,7 @@ npm/npmjs/@types/node/20.11.30, MIT, approved, #13826
npm/npmjs/@types/papaparse/5.3.14, MIT, approved, #10964
npm/npmjs/@types/parse-json/4.0.2, MIT, approved, clearlydefined
npm/npmjs/@types/prop-types/15.7.11, MIT, approved, clearlydefined
+npm/npmjs/@types/prop-types/15.7.12, MIT, approved, clearlydefined
npm/npmjs/@types/qs/6.9.15, MIT, approved, #14071
npm/npmjs/@types/react-dom/18.2.22, MIT, approved, #8256
npm/npmjs/@types/react-redux/7.1.33, MIT, approved, #10970
diff --git a/package.json b/package.json
index 400a139b2..81b045c6d 100644
--- a/package.json
+++ b/package.json
@@ -38,15 +38,15 @@
"@emotion/react": "^11.11.4",
"@emotion/styled": "^11.11.5",
"@hookform/error-message": "^2.0.1",
- "@mui/icons-material": "^5.15.14",
- "@mui/material": "^5.15.14",
+ "@mui/icons-material": "^5.15.21",
+ "@mui/material": "^5.15.21",
"@mui/x-data-grid": "^6.19.11",
"@react-hook/cache": "^1.1.1",
- "@reduxjs/toolkit": "^2.2.6",
+ "@reduxjs/toolkit": "^2.2.7",
"autosuggest-highlight": "^3.3.4",
"axios": "^1.6.8",
"buffer": "^6.0.3",
- "dayjs": "^1.11.12",
+ "dayjs": "^1.11.13",
"i18next": "^23.10.1",
"i18next-browser-languagedetector": "^7.2.1",
"keycloak-js": "^23.0.7",
@@ -54,7 +54,7 @@
"lodash.uniq": "^4.5.0",
"nanoid": "^5.0.7",
"papaparse": "^5.4.1",
- "phone": "^3.1.49",
+ "phone": "^3.1.50",
"qs": "^6.12.3",
"react": "^18.2.0",
"react-dom": "^18.2.0",
@@ -68,7 +68,7 @@
},
"devDependencies": {
"@testing-library/dom": "^9.3.4",
- "@testing-library/jest-dom": "^6.4.6",
+ "@testing-library/jest-dom": "^6.4.8",
"@testing-library/react": "^14.2.2",
"@testing-library/user-event": "^14.5.2",
"@types/autosuggest-highlight": "^3.2.3",
diff --git a/src/assets/locales/de/idp.json b/src/assets/locales/de/idp.json
index 3906a3453..f5fd62b1a 100644
--- a/src/assets/locales/de/idp.json
+++ b/src/assets/locales/de/idp.json
@@ -45,8 +45,8 @@
"metadata_url_invalid_error": "Please enter valid metadata url"
},
"page": {
- "title": "Identity Provider Config",
- "desc": "Here you can manage how the users of your company authenticate with Catena-X.
On registration we have created an IDP with one user entry for the admin (that's probably you ;). Many companies already have their own IDP where users authenticate using their known company user id and a familiar login mask. In this case you will probably prefer to use your own company IDP and you can create and manage the federation on this page."
+ "title": "Konfiguration des Identitätsanbieters",
+ "desc": "Auf dieser Seite können Sie die Benutzerauthentifizierung für Ihr Unternehmen verwalten.
Bei der Registrierung haben wir einen Identity Provider (IDP) mit einem einzigen Benutzereintrag für den Administrator eingerichtet. Viele Organisationen unterhalten bereits ihren eigenen IDP, bei dem sich Benutzer mit ihren etablierten Unternehmensbenutzer-IDs und vertrauten Anmeldeoberflächen authentifizieren. In solchen Fällen möchten Sie möglicherweise Ihren vorhandenen Unternehmens-IDP nutzen. Auf dieser Seite können Sie die erforderliche Föderation erstellen und verwalten."
},
"add": {
"title": "Add your Identity Provider (IdP)",
diff --git a/src/assets/locales/de/main.json b/src/assets/locales/de/main.json
index 99dcbd5db..70c5b7200 100644
--- a/src/assets/locales/de/main.json
+++ b/src/assets/locales/de/main.json
@@ -39,7 +39,7 @@
"deactivate": "Deactivate",
"appReleaseProcess": "App Release Process",
"appSubscription": "App Subscription MGT",
- "adminboard": "Admin Board",
+ "appAdminBoard": "Admin Board",
"appUserManagement": "App Benutzer Verwaltung",
"userdetails": "Benutzer Details",
"technicalUserManagement": "Technische Benutzer Verwaltung",
@@ -460,9 +460,38 @@
"action": "Aktion"
},
"filter": {
- "requested": "angefordert",
+ "pending": "ausstehend",
"active": "aktiv",
- "showAll": "zeige alles"
+ "inactive": "inaktiv",
+ "showAll": "Alles anzeigen"
+ }
+ },
+ "companySubscriptionsDetail": {
+ "language": "Verfügbare App Sprachen",
+ "description": "Description",
+ "subscribed": "Gezeichnet",
+ "requested": "Angefordert",
+ "declined": "Abgelehnt",
+ "howtouse": {
+ "heading": "Nutzungsbedingungen",
+ "message": "Die Nutzungsbedingungen regeln das Verhältnis zwischen App Interessenten und App Anbieter. Die Nutzungsbedingungen, sowie die Datenmodelle und weitere Informationen können durch Anklicken der Hyperlinks eingesehen werden."
+ },
+ "privacy": {
+ "heading": "Datenschutz",
+ "message": "Die Datenschutzerklärung gibt an, welche Daten die Geschäftsanwendungen erheben, handhaben und verarbeiten. Die nachstehenden Details zeigen explizit, welche Unternehmens-/Benutzerinformationen gesammelt/gespeichert werden.",
+ "notSupportedMessage": "Currently not yet supported",
+ "COMPANY_DATA": "Company Data",
+ "USER_DATA": "User Data",
+ "LOCATION": "Location",
+ "BROWSER_HISTORY": "Browser History",
+ "NONE": "None"
+ },
+ "table": {
+ "connector": "Verbinder",
+ "technicalUser": "Technischer Benutzer"
+ },
+ "technicalUser": {
+ "heading": "Technischer Details"
}
},
"appOverview": {
@@ -923,7 +952,9 @@
"userDetails": "Technischer Benutzer Details",
"description": "Beschreibung",
"spoc": "SPOC",
- "permission": "Berechtigungen"
+ "permission": "Berechtigungen",
+ "companyServiceAccountTypeID": "Firmenservicekontotyp",
+ "authenticationType": "Authentifizierungstyp"
},
"status": {
"ACTIVE": "AKTIV",
@@ -1528,7 +1559,34 @@
"helpText": "For any questions regarding these change(s), please contact the Catena-X helpdesk:",
"email": "xxx@xxxx.xxxx",
"tenantUrlSuccessMsg": "App Tenant URL successfully updated",
- "tenantUrlErrorMsg": "Error! Something went wrong"
+ "tenantUrlErrorMsg": "Error! Something went wrong",
+ "externalServices": {
+ "heading": "Details zum externen Dienst",
+ "trustedIssuer": {
+ "label": "Vertrauenswürdiger Aussteller",
+ "description": "Der vertrauenswürdige Aussteller, der für die Ausstellung der Identitätsnachweise verantwortlich ist."
+ },
+ "participantId": {
+ "label": "Teilnehmer-ID",
+ "description": "Die eindeutige Kennung des Teilnehmers im externen System."
+ },
+ "iatpId": {
+ "label": "IATP-ID",
+ "description": "Die eindeutige Kennung des IATP-Programms (Identity and Trust Protocol)."
+ },
+ "didResolver": {
+ "label": "DID-Resolver",
+ "description": "Die URL des DID-Resolvers (Decentralized Identifier), der für die Auflösung der dezentralen Identitäten verwendet wird."
+ },
+ "decentralIdentityManagementAuthUrl": {
+ "label": "Auth-URL für dezentrales Identitätsmanagement",
+ "description": "Die URL des Authentifizierungsendpunkts für das dezentrale Identitätsmanagement."
+ },
+ "decentralIdentityManagementServiceUrl": {
+ "label": "Service-URL für dezentrales Identitätsmanagement",
+ "description": "Die URL des Dienstendpunkts für das dezentrale Identitätsmanagement."
+ }
+ }
}
},
"adminBoard": {
diff --git a/src/assets/locales/de/notification.json b/src/assets/locales/de/notification.json
index e9fc8600a..541814a1f 100644
--- a/src/assets/locales/de/notification.json
+++ b/src/assets/locales/de/notification.json
@@ -104,8 +104,8 @@
"appmanagementboard": "App Management Board öffnen",
"servicemanagementboard": "Service Management Board öffnen",
"appOverview": "Get there",
- "appsubscription": "Get there",
- "adminboard": "Get there",
+ "appSubscription": "Get there",
+ "appAdminBoard": "Get there",
"technicaluser": "Get there",
"companyRolesServiceProvider": "Get there",
"usermanagement": "Get there",
diff --git a/src/assets/locales/en/idp.json b/src/assets/locales/en/idp.json
index 866939bee..ee41681bb 100644
--- a/src/assets/locales/en/idp.json
+++ b/src/assets/locales/en/idp.json
@@ -45,8 +45,8 @@
"metadata_url_invalid_error": "Please enter valid metadata url"
},
"page": {
- "title": "Identity Provider Config",
- "desc": "Here you can manage how the users of your company authenticate with Catena-X.
On registration we have created an IDP with one user entry for the admin (that's probably you ;). Many companies already have their own IDP where users authenticate using their known company user id and a familiar login mask. In this case you will probably prefer to use your own company IDP and you can create and manage the federation on this page."
+ "title": "Identity Provider configuration",
+ "desc": "This page provides the functionality to manage user authentication for your company.
Upon registration, we have established an Identity Provider (IDP) with a single user entry for the administrator. Many organizations already maintain their own IDP, where users authenticate using their established company user IDs and familiar login interfaces. In such cases, you may prefer to leverage your existing company IDP. You can create and manage the necessary federation on this page."
},
"add": {
"title": "Add your Identity Provider (IdP)",
diff --git a/src/assets/locales/en/main.json b/src/assets/locales/en/main.json
index 2bb92b6c7..5d9615025 100644
--- a/src/assets/locales/en/main.json
+++ b/src/assets/locales/en/main.json
@@ -38,7 +38,7 @@
"deactivate": "Deactivate",
"appReleaseProcess": "App Release Process",
"appSubscription": "App Subscription MGT",
- "adminboard": "Admin Board",
+ "appAdminBoard": "Admin Board",
"appUserManagement": "App User Management",
"userdetails": "User Details",
"technicalUserManagement": "Technical User Management",
@@ -456,11 +456,41 @@
"action": "Action"
},
"filter": {
- "requested": "requested",
+ "pending": "pending",
"active": "active",
+ "inactive": "inactive",
"showAll": "show all"
}
},
+ "companySubscriptionsDetail": {
+ "language": "Language",
+ "description": "Description",
+ "subscribed": "Subscribed",
+ "requested": "Requested",
+ "declined": "Declined",
+ "howtouse": {
+ "heading": "Documents",
+ "message": "The terms of use, as well as the data models and further information can be viewed by clicking on the documents shared below."
+ },
+ "privacy": {
+ "heading": "Privacy Policy",
+ "message": "The Privacy Policy states which data the business applications collects, handles and processes. The details below explicitly show which company / user information are getting collected/stored.",
+ "notSupportedMessage": "Currently not yet supported",
+ "COMPANY_DATA": "Company Data",
+ "COMPANY_DATA_ICON": "ApartmentIcon",
+ "USER_DATA": "User Data",
+ "LOCATION": "Location",
+ "BROWSER_HISTORY": "Browser History",
+ "NONE": "None"
+ },
+ "table": {
+ "connector": "Connector",
+ "technicalUser": "Technical User"
+ },
+ "technicalUser": {
+ "heading": "Technical Details"
+ }
+ },
"datamanagement": {
"message": "Contents of Data Management"
},
@@ -927,7 +957,9 @@
"userDetails": "Technical User Details",
"description": "Description",
"spoc": "SPOC",
- "permission": "Permission"
+ "permission": "Permission",
+ "companyServiceAccountTypeID": "Company Service Account Type",
+ "authenticationType": "Authentication Type"
},
"status": {
"ACTIVE": "ACTIVE",
@@ -1495,7 +1527,34 @@
"helpText": "For any questions regarding these change(s), please contact the Catena-X helpdesk:",
"email": "xxx@xxxx.xxxx",
"tenantUrlSuccessMsg": "App Tenant URL successfully updated",
- "tenantUrlErrorMsg": "Error! Something went wrong"
+ "tenantUrlErrorMsg": "Error! Something went wrong",
+ "externalServices": {
+ "heading": "External Service Details",
+ "trustedIssuer": {
+ "label": "Trusted Issuer",
+ "description": "The trusted issuer responsible for issuing the identity credentials."
+ },
+ "participantId": {
+ "label": "Participant ID",
+ "description": "The unique identifier of the participant in the external system."
+ },
+ "iatpId": {
+ "label": "IATP ID",
+ "description": "The unique identifier of the IATP (Identity and Trust Protocol)."
+ },
+ "didResolver": {
+ "label": "DID Resolver",
+ "description": "The URL of the DID (Decentralized Identifier) resolver used for resolving decentralized identities."
+ },
+ "decentralIdentityManagementAuthUrl": {
+ "label": "Decentralized Identity Management Auth URL",
+ "description": "The URL of the authentication endpoint for the decentralized identity management."
+ },
+ "decentralIdentityManagementServiceUrl": {
+ "label": "Decentralized Identity Management Service URL",
+ "description": "The URL of the service endpoint for the decentralized identity management."
+ }
+ }
}
},
"adminBoard": {
diff --git a/src/assets/locales/en/notification.json b/src/assets/locales/en/notification.json
index 23c467580..b1caf5d9e 100644
--- a/src/assets/locales/en/notification.json
+++ b/src/assets/locales/en/notification.json
@@ -104,8 +104,8 @@
"appmanagementboard": "Get there",
"servicemanagementboard": "Get there",
"appOverview": "Get there",
- "appsubscription": "Get there",
- "adminboard": "Get there",
+ "appSubscription": "Get there",
+ "appAdminBoard": "Get there",
"technicaluser": "Get there",
"companyRolesServiceProvider": "Get there",
"usermanagement": "Get there",
diff --git a/src/components/overlays/ActivateServiceSubscription/index.tsx b/src/components/overlays/ActivateServiceSubscription/index.tsx
index bace44311..1806fc8d1 100644
--- a/src/components/overlays/ActivateServiceSubscription/index.tsx
+++ b/src/components/overlays/ActivateServiceSubscription/index.tsx
@@ -93,45 +93,49 @@ export default function ActivateserviceSubscription({
const tableData: TableType = {
head: [t('serviceSubscription.activation.tableheader'), ''],
- body: [
- [
- t('serviceSubscription.activation.userId'),
- techUserInfo?.technicalUserInfo[0]?.technicalClientId ?? '',
- ],
- [
- t('serviceSubscription.activation.sercret'),
- techUserInfo?.technicalUserInfo[0]?.technicalUserSecret ?? '',
- ],
- [
- t('serviceSubscription.activation.url'),
- techUserInfo?.clientInfo?.clientUrl ?? 'n/a',
- ],
- [
- t('serviceSubscription.activation.technicaluserType'),
- techUserInfo?.technicalUserInfo[0]?.technicalUserPermissions?.join(
- ', '
- ) ?? '',
- ],
- ],
- edit: [
- [
- {
- icon: false,
- },
- {
- icon: false,
- },
- ],
- [
- {
- icon: false,
- },
- {
- icon: false,
- copyValue: techUserInfo?.technicalUserInfo[0]?.technicalUserSecret,
- },
- ],
- ],
+ body:
+ techUserInfo?.technicalUserInfo
+ ?.map((userData) => [
+ [
+ t('serviceSubscription.activation.userId'),
+ userData.technicalClientId ?? '',
+ ],
+ [
+ t('serviceSubscription.activation.sercret'),
+ userData.technicalUserSecret ?? '',
+ ],
+ [
+ t('serviceSubscription.activation.url'),
+ techUserInfo?.clientInfo?.clientUrl ?? 'N/A',
+ ],
+ [
+ t('serviceSubscription.activation.technicaluserType'),
+ userData.technicalUserPermissions.join(', ') ?? '',
+ ],
+ ])
+ .flat(1) ?? [],
+ edit:
+ techUserInfo?.technicalUserInfo
+ ?.map((userData) => [
+ [
+ {
+ icon: false,
+ },
+ {
+ icon: false,
+ },
+ ],
+ [
+ {
+ icon: false,
+ },
+ {
+ icon: false,
+ copyValue: userData.technicalUserSecret,
+ },
+ ],
+ ])
+ .flat(1) ?? [],
}
return (
@@ -178,7 +182,10 @@ export default function ActivateserviceSubscription({
-
+ {techUserInfo?.technicalUserInfo &&
+ techUserInfo?.technicalUserInfo?.length > 0 ? (
+
+ ) : null}