diff --git a/.conf/Dockerfile.full b/.conf/Dockerfile.full index abf570fcb..98a95091e 100644 --- a/.conf/Dockerfile.full +++ b/.conf/Dockerfile.full @@ -25,7 +25,7 @@ # # Step 1 -FROM node:22-alpine as build-step +FROM node:23-alpine as build-step ARG http_proxy=$http_proxy ARG https_proxy=$https_proxy ARG no_proxy=$no_proxy diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 92760cbe9..f74144cb6 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -115,7 +115,7 @@ jobs: steps: - name: Get token id: get_workflow_token - uses: peter-murray/workflow-application-token-action@baa1ef2638c3d9e5967b7c8b86219f8fc919e1bb # v3.0.1 + uses: peter-murray/workflow-application-token-action@8e4e6fbf6fcc8a272781d97597969d21b3812974 # v4.0.0 with: application_id: ${{ secrets.ORG_PORTAL_DISPATCH_APPID }} application_private_key: ${{ secrets.ORG_PORTAL_DISPATCH_KEY }} diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index 81b54bdb6..ceadb73cb 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@c36620d31ac7c881962c3d9dd939c40ec9434f2b # v2.227 + uses: github/codeql-action/init@f779452ac5af1c261dce0346a8f964149f49322b # 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@c36620d31ac7c881962c3d9dd939c40ec9434f2b # v2.227 + uses: github/codeql-action/autobuild@f779452ac5af1c261dce0346a8f964149f49322b # 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@c36620d31ac7c881962c3d9dd939c40ec9434f2b # v2.227 + uses: github/codeql-action/analyze@f779452ac5af1c261dce0346a8f964149f49322b # v2.227 with: category: '/language:${{matrix.language}}' diff --git a/.github/workflows/kics.yml b/.github/workflows/kics.yml index 97015f770..5e6f5dbce 100644 --- a/.github/workflows/kics.yml +++ b/.github/workflows/kics.yml @@ -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@c36620d31ac7c881962c3d9dd939c40ec9434f2b # v3.26.12 + uses: github/codeql-action/upload-sarif@f779452ac5af1c261dce0346a8f964149f49322b # v3.26.13 with: sarif_file: kicsResults/results.sarif diff --git a/.github/workflows/release-release_candidate.yml b/.github/workflows/release-release_candidate.yml index 474399958..31a79b267 100644 --- a/.github/workflows/release-release_candidate.yml +++ b/.github/workflows/release-release_candidate.yml @@ -140,7 +140,7 @@ jobs: - name: Get token id: get_workflow_token - uses: peter-murray/workflow-application-token-action@baa1ef2638c3d9e5967b7c8b86219f8fc919e1bb # v3.0.1 + uses: peter-murray/workflow-application-token-action@8e4e6fbf6fcc8a272781d97597969d21b3812974 # v4.0.0 with: application_id: ${{ secrets.ORG_PORTAL_DISPATCH_APPID }} application_private_key: ${{ secrets.ORG_PORTAL_DISPATCH_KEY }} diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index d4d44ff8b..6d8c3347d 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -179,7 +179,7 @@ jobs: - name: Get token id: get_workflow_token - uses: peter-murray/workflow-application-token-action@baa1ef2638c3d9e5967b7c8b86219f8fc919e1bb # v3.0.1 + uses: peter-murray/workflow-application-token-action@8e4e6fbf6fcc8a272781d97597969d21b3812974 # v4.0.0 with: application_id: ${{ secrets.ORG_PORTAL_DISPATCH_APPID }} application_private_key: ${{ secrets.ORG_PORTAL_DISPATCH_KEY }} diff --git a/.github/workflows/release_candidate.yml b/.github/workflows/release_candidate.yml index ed8ade86a..46e97fc0c 100644 --- a/.github/workflows/release_candidate.yml +++ b/.github/workflows/release_candidate.yml @@ -112,7 +112,7 @@ jobs: steps: - name: Get token id: get_workflow_token - uses: peter-murray/workflow-application-token-action@baa1ef2638c3d9e5967b7c8b86219f8fc919e1bb # v3.0.1 + uses: peter-murray/workflow-application-token-action@8e4e6fbf6fcc8a272781d97597969d21b3812974 # v4.0.0 with: application_id: ${{ secrets.ORG_PORTAL_DISPATCH_APPID }} application_private_key: ${{ secrets.ORG_PORTAL_DISPATCH_KEY }} diff --git a/.github/workflows/trivy-main.yml b/.github/workflows/trivy-main.yml index 0648fe4ee..931db0da1 100644 --- a/.github/workflows/trivy-main.yml +++ b/.github/workflows/trivy-main.yml @@ -54,7 +54,7 @@ jobs: uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1 - name: Run Trivy vulnerability scanner in repo mode - uses: aquasecurity/trivy-action@5681af892cd0f4997658e2bacc62bd0a894cf564 # v0.27.0 + uses: aquasecurity/trivy-action@915b19bbe73b92a6cf82a1bc12b087c9a19a5fe2 # v0.28.0 with: scan-type: 'config' hide-progress: false @@ -63,7 +63,7 @@ jobs: vuln-type: 'os,library' - name: Upload Trivy scan results to GitHub Security tab - uses: github/codeql-action/upload-sarif@c36620d31ac7c881962c3d9dd939c40ec9434f2b # v3.26.12 + uses: github/codeql-action/upload-sarif@f779452ac5af1c261dce0346a8f964149f49322b # v3.26.13 if: always() with: sarif_file: 'trivy-results1.sarif' @@ -86,7 +86,7 @@ jobs: # For public images, no ENV vars must be set. - name: Run Trivy vulnerability scanner if: always() - uses: aquasecurity/trivy-action@5681af892cd0f4997658e2bacc62bd0a894cf564 # v0.27.0 + uses: aquasecurity/trivy-action@915b19bbe73b92a6cf82a1bc12b087c9a19a5fe2 # v0.28.0 with: # Path to Docker image image-ref: '${{ env.IMAGE_NAMESPACE }}/${{ env.IMAGE_NAME }}:main' @@ -96,6 +96,6 @@ jobs: - name: Upload Trivy scan results to GitHub Security tab if: always() - uses: github/codeql-action/upload-sarif@c36620d31ac7c881962c3d9dd939c40ec9434f2b # v3.26.12 + uses: github/codeql-action/upload-sarif@f779452ac5af1c261dce0346a8f964149f49322b # v3.26.13 with: sarif_file: 'trivy-results2.sarif' diff --git a/.github/workflows/trivy.yml b/.github/workflows/trivy.yml index c6b7d0f5c..093e0ba7e 100644 --- a/.github/workflows/trivy.yml +++ b/.github/workflows/trivy.yml @@ -54,7 +54,7 @@ jobs: uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1 - name: Run Trivy vulnerability scanner in repo mode - uses: aquasecurity/trivy-action@5681af892cd0f4997658e2bacc62bd0a894cf564 # v0.27.0 + uses: aquasecurity/trivy-action@915b19bbe73b92a6cf82a1bc12b087c9a19a5fe2 # v0.28.0 with: scan-type: 'config' hide-progress: false @@ -63,7 +63,7 @@ jobs: vuln-type: 'os,library' - name: Upload Trivy scan results to GitHub Security tab - uses: github/codeql-action/upload-sarif@c36620d31ac7c881962c3d9dd939c40ec9434f2b # v3.26.12 + uses: github/codeql-action/upload-sarif@f779452ac5af1c261dce0346a8f964149f49322b # v3.26.13 if: always() with: sarif_file: 'trivy-results1.sarif' @@ -86,7 +86,7 @@ jobs: # For public images, no ENV vars must be set. - name: Run Trivy vulnerability scanner if: always() - uses: aquasecurity/trivy-action@5681af892cd0f4997658e2bacc62bd0a894cf564 # v0.27.0 + uses: aquasecurity/trivy-action@915b19bbe73b92a6cf82a1bc12b087c9a19a5fe2 # v0.28.0 with: # Path to Docker image image-ref: '${{ env.IMAGE_NAMESPACE }}/${{ env.IMAGE_NAME }}:latest' @@ -96,6 +96,6 @@ jobs: - name: Upload Trivy scan results to GitHub Security tab if: always() - uses: github/codeql-action/upload-sarif@c36620d31ac7c881962c3d9dd939c40ec9434f2b # v3.26.12 + uses: github/codeql-action/upload-sarif@f779452ac5af1c261dce0346a8f964149f49322b # v3.26.13 with: sarif_file: 'trivy-results2.sarif' diff --git a/.github/workflows/trufflehog.yml b/.github/workflows/trufflehog.yml index ee51aedde..a58df8845 100644 --- a/.github/workflows/trufflehog.yml +++ b/.github/workflows/trufflehog.yml @@ -48,7 +48,7 @@ jobs: - name: TruffleHog OSS id: trufflehog - uses: trufflesecurity/trufflehog@5280c3877c038b601658903fb98da62192f436d8 #v3.82.8 + uses: trufflesecurity/trufflehog@b66c1670749c06f8d18f96bcbc5a6b80f7a7108e #v3.82.11 continue-on-error: true with: path: ./ # Scan the entire repository diff --git a/CHANGELOG.md b/CHANGELOG.md index 21390d239..13dbacfdc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,16 @@ ## Unreleased +### Change + +- **Onboarding Service Provider** + - removed deprecated page onboardingServiceProvider and every related link [#1261](https://github.com/eclipse-tractusx/portal-frontend/pull/1261) + +### Bugfixes + +- **Technical User Management** + - fixed usertype column to display data from API [#1253](https://github.com/eclipse-tractusx/portal-frontend/pull/1253) + ## 2.3.0-alpha.3 ### Change diff --git a/DEPENDENCIES b/DEPENDENCIES index fc6ad3cb2..da27e2af0 100644 --- a/DEPENDENCIES +++ b/DEPENDENCIES @@ -408,9 +408,9 @@ npm/npmjs/-/qs/6.13.0, BSD-3-Clause, approved, clearlydefined npm/npmjs/-/querystringify/2.2.0, MIT, approved, clearlydefined npm/npmjs/-/queue-microtask/1.2.3, MIT, approved, clearlydefined npm/npmjs/-/react-dom/18.3.1, MIT, approved, clearlydefined -npm/npmjs/-/react-dropzone/14.2.3, MIT, approved, clearlydefined +npm/npmjs/-/react-dropzone/14.2.3, MIT, approved, #16858 npm/npmjs/-/react-fast-compare/3.2.2, MIT, approved, clearlydefined -npm/npmjs/-/react-hook-form/7.53.0, MIT, approved, clearlydefined +npm/npmjs/-/react-hook-form/7.53.0, MIT, approved, #16857 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 diff --git a/src/assets/locales/en/idp.json b/src/assets/locales/en/idp.json index ee41681bb..0a05776f3 100644 --- a/src/assets/locales/en/idp.json +++ b/src/assets/locales/en/idp.json @@ -275,8 +275,6 @@ "status4": "active" }, "osp": { - "title": "Onboarding Serviceprovider", - "desc": "{Description of the Onboarding Serviceprovider process}", "steps": { "one": { "text": "done", diff --git a/src/components/pages/OSPManagement/index.tsx b/src/components/pages/OSPManagement/index.tsx deleted file mode 100644 index efb283137..000000000 --- a/src/components/pages/OSPManagement/index.tsx +++ /dev/null @@ -1,71 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2023 BMW Group AG - * Copyright (c) 2023 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 - ********************************************************************************/ - -import AddCircleOutlineIcon from '@mui/icons-material/AddCircleOutline' -import { OVERLAYS } from 'types/Constants' -import { Button, Image, Typography } from '@catena-x/portal-shared-components' -import { Trans, useTranslation } from 'react-i18next' -import { useDispatch } from 'react-redux' -import { show } from 'features/control/overlay' -import './style.scss' -import { getAssetBase } from 'services/EnvironmentService' -import { IDPList } from '../IDPManagement/IDPList' - -export default function OSPManagement() { - const { t } = useTranslation('idp') - const dispatch = useDispatch() - - return ( - - - - - - {t('osp.title')} - - - - - {t('osp.desc')} - - - - - } - onClick={() => dispatch(show(OVERLAYS.ADD_IDP))} - className="add-idp-btn" - > - {t('action.create')} - - - - - - - - - ) -} diff --git a/src/components/pages/OSPManagement/style.scss b/src/components/pages/OSPManagement/style.scss deleted file mode 100644 index 7494de9e2..000000000 --- a/src/components/pages/OSPManagement/style.scss +++ /dev/null @@ -1,162 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2023 BMW Group AG - * Copyright (c) 2023 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 - ********************************************************************************/ - -.idp-management-header { - text-align: center; - width: 100%; - margin: 0 auto; - .idp-management-title { - text-align: center; - padding-bottom: 20px; - position: relative; - } - .idp-management-title::after { - content: ''; - width: 70px; - border-bottom: 2px solid; - position: absolute; - bottom: 0; - left: 50%; - transform: translateX(-50%); - } - .idp-management-desc { - width: 74%; - margin: 50px auto; - } - img { - border-radius: 10px; - } - .add-idp-btn { - margin-top: 30px; - text-transform: capitalize; - } -} - -.idp-list { - list-style-type: none; - margin-block-start: 0; - margin-block-end: 0; - padding-inline-start: 0; - - .idp-list-item { - border: 1px solid #eeeeee; - border-radius: 5px; - background-color: #fcfcfc; - padding: 8px 30px; - margin-bottom: 12px; - font-weight: bold; - white-space: nowrap; - display: flex; - flex-direction: row; - - &:hover { - background-color: #f4f4f4; - } - - .category, - .name, - .alias, - .action { - display: inline-block; - margin: 16px 0; - } - - .state { - display: inline-block; - margin: 6px 0; - } - - .action.buttons { - margin: 10px 0; - } - - .action.menu { - margin: 0; - } - - .category { - color: #888; - width: 280px; - font-weight: normal; - } - - .name { - width: 300px; - } - - .alias { - color: #888; - width: 280px; - font-weight: normal; - } - - .action { - margin-left: 0px; - width: 220px; - display: flex; - flex-direction: row; - justify-content: flex-end; - - button { - margin-left: 10px; - } - } - } - - .content { - padding: 8px 16px 16px; - border: 1px solid #ccc; - margin-top: 0px; - margin-bottom: 20px; - border-radius: 10px; - } -} - -.progress-section { - display: flex; - .number { - color: white; - border-radius: 50%; - text-align: center; - margin-right: 5px; - width: 30px; - height: 30px; - display: flex; - align-items: center; - justify-content: center; - svg { - font-size: 20px; - } - } -} - -.action-menu { - button { - box-shadow: none; - font-size: 12px; - padding: 8px !important; - &:hover { - box-shadow: none; - } - &:focus { - box-shadow: none; - } - } -} diff --git a/src/components/pages/TechnicalUserManagement/TechnicalUserTable.tsx b/src/components/pages/TechnicalUserManagement/TechnicalUserTable.tsx index 4c8c96904..9876c654d 100644 --- a/src/components/pages/TechnicalUserManagement/TechnicalUserTable.tsx +++ b/src/components/pages/TechnicalUserManagement/TechnicalUserTable.tsx @@ -155,7 +155,7 @@ export const TechnicalUserTable = () => { headerName: t('global.field.userType'), flex: 1.2, valueGetter: ({ row }: { row: ServiceAccountListEntry }) => - row.usertype || '-', + row.userType || '-', }, { field: 'offer', diff --git a/src/features/admin/serviceApiSlice.ts b/src/features/admin/serviceApiSlice.ts index 56b11ef62..e4676a3c0 100644 --- a/src/features/admin/serviceApiSlice.ts +++ b/src/features/admin/serviceApiSlice.ts @@ -60,7 +60,7 @@ export interface ServiceAccountListEntry { name: string status: ServiceAccountStatus isOwner?: boolean - usertype: string + userType: string offer?: { name?: string } diff --git a/src/features/adminBoard/serviceAdminBoardApiSlice.ts b/src/features/adminBoard/serviceAdminBoardApiSlice.ts index ccdea1284..f519b7c15 100644 --- a/src/features/adminBoard/serviceAdminBoardApiSlice.ts +++ b/src/features/adminBoard/serviceAdminBoardApiSlice.ts @@ -92,15 +92,13 @@ export const apiSlice = createApi({ endpoints: (builder) => ({ fetchInReviewServices: builder.query({ query: (body) => { - const statusId = `&status=${body.statusId}` - const sortingType = `&sorting=${body.sortingType}` - const expr = `&serviceName=${body.expr}` + const statusId = body.statusId ? `&status=${body.statusId}` : '' + const sortingType = body.sortingType + ? `&sorting=${body.sortingType}` + : '' + const expr = body.expr ? `&serviceName=${body.expr}` : '' return { - url: `/api/services/serviceRelease/inReview?size=${PAGE_SIZE}&page=${ - body.page - }${body.statusId && statusId}${body.sortingType && sortingType}${ - body.expr && expr - }`, + url: `/api/services/serviceRelease/inReview?size=${PAGE_SIZE}&page=${body.page}${statusId}${sortingType}${expr}`, } }, }), diff --git a/src/types/Config.tsx b/src/types/Config.tsx index 8140a3248..be7e6c7b6 100644 --- a/src/types/Config.tsx +++ b/src/types/Config.tsx @@ -80,7 +80,6 @@ import AdminCredential from 'components/pages/AdminCredential' import AddRoles from 'components/pages/AppOverview/AddRoles' import ServiceDeactivate from 'components/pages/ServiceReleaseProcess/components/ServiceDeactivate' import ChangeDocuments from 'components/pages/AppOverview/ChangeDocuments' -import OSPManagement from 'components/pages/OSPManagement' import CompanyWallet from 'components/pages/CompanyWallet' import CompanyCertificates from 'components/pages/CompanyCertificates' import { OSPConsent } from 'components/pages/OSPConsent' @@ -560,11 +559,6 @@ export const ALL_PAGES: IPage[] = [ allowTo: () => userHasSsiCredentialRole(ROLES.DECISION_SSICREDENTIAL), element: , }, - { - name: PAGES.ONBOARDING_SERVICE_PROVIDER, - allowTo: () => userHasPortalRole(ROLES.IDP_VIEW), - element: , - }, { name: PAGES.COMPANY_CERTIFICATE, allowTo: () => userHasPortalRole(ROLES.COMPANY_CERTIFICATE_VIEW), diff --git a/src/types/Constants.ts b/src/types/Constants.ts index 960b67262..720421831 100644 --- a/src/types/Constants.ts +++ b/src/types/Constants.ts @@ -100,7 +100,6 @@ export enum PAGES { CERTIFICATE_CREDENTIAL = 'certificateCredential', DATA_SPACE = 'dataSpace', ADMIN_CREDENTIAL = 'adminCredential', - ONBOARDING_SERVICE_PROVIDER = 'onboardingServiceProvider', COMPANY_CERTIFICATE = 'companyCertificate', COMPANY_WALLET = 'companyWallet', DECLINE = 'decline',