diff --git a/package-lock.json b/package-lock.json index cdbd89dcb8143dac8c46fbd2ed635bd9d5234796..0872125840c7fe389c6553160f7b411c05b4b51d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -13348,9 +13348,9 @@ "dev": true }, "node_modules/schema-utils": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.3.2.tgz", - "integrity": "sha512-Gn/JaSk/Mt9gYubxTtSn/QCV4em9mpAPiR1rqy/Ocu19u/G9J5WWdNoUT4SiV6mFC3y6cxyFcFwdzPM3FgxGAQ==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.3.0.tgz", + "integrity": "sha512-Gf9qqc58SpCA/xdziiHz35F4GNIWYWZrEshUc/G/r5BnLph6xpKuLeoJoQuj5WfBIx/eQLf+hmVPYHaxJu7V2g==", "dev": true, "dependencies": { "@types/json-schema": "^7.0.9", @@ -13965,19 +13965,20 @@ } }, "node_modules/sonarqube-scanner": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/sonarqube-scanner/-/sonarqube-scanner-3.5.0.tgz", - "integrity": "sha512-MiIJhFv8p/ePlTO0A1uC6UOxfIjSnjEw3sZ1G8q9mt6y2W/q/QrE/XWo0zCKkS8flmX0T2fjEuaDHnS/P9QQmw==", + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/sonarqube-scanner/-/sonarqube-scanner-3.4.0.tgz", + "integrity": "sha512-2B/IgA2CkTg8GPKlkqxSPuWLlcEZcoRxWkcZYr47f8Ni1YOEbCS/EUl9/bn68sanZ0lee5adRPuQpGj0EiEW2A==", "dev": true, "dependencies": { - "adm-zip": "0.5.12", - "fancy-log": "2.0.0", - "https-proxy-agent": "7.0.4", - "jest-sonar-reporter": "2.0.0", - "mkdirp": "3.0.1", - "node-downloader-helper": "2.1.9", - "progress": "2.0.3", - "slugify": "1.6.6" + "adm-zip": "^0.5.10", + "fancy-log": "^2.0.0", + "https-proxy-agent": "^7.0.1", + "jest-sonar-reporter": "^2.0.0", + "mkdirp": "^3.0.1", + "node-downloader-helper": "^2.1.9", + "progress": "^2.0.3", + "shell-quote": "^1.8.1", + "slugify": "^1.6.6" }, "bin": { "sonar-scanner": "src/bin/sonar-scanner" @@ -13986,15 +13987,6 @@ "node": ">= 16" } }, - "node_modules/sonarqube-scanner/node_modules/adm-zip": { - "version": "0.5.12", - "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.5.12.tgz", - "integrity": "sha512-6TVU49mK6KZb4qG6xWaaM4C7sA/sgUMLy/JYMOzkcp3BvVLpW0fXDFQiIzAuxFCt/2+xD7fNIiPFAoLZPhVNLQ==", - "dev": true, - "engines": { - "node": ">=6.0" - } - }, "node_modules/sonarqube-scanner/node_modules/mkdirp": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-3.0.1.tgz", @@ -15200,14 +15192,13 @@ "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" }, "node_modules/webpack": { - "version": "5.99.7", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.99.7.tgz", - "integrity": "sha512-CNqKBRMQjwcmKR0idID5va1qlhrqVUKpovi+Ec79ksW8ux7iS1+A6VqzfZXgVYCFRKl7XL5ap3ZoMpwBJxcg0w==", + "version": "5.97.1", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.97.1.tgz", + "integrity": "sha512-EksG6gFY3L1eFMROS/7Wzgrii5mBAFe4rIr3r2BTfo7bcc+DWwFZ4OJ/miOuHJO/A85HwyI4eQ0F6IKXesO7Fg==", "dev": true, "dependencies": { "@types/eslint-scope": "^3.7.7", "@types/estree": "^1.0.6", - "@types/json-schema": "^7.0.15", "@webassemblyjs/ast": "^1.14.1", "@webassemblyjs/wasm-edit": "^1.14.1", "@webassemblyjs/wasm-parser": "^1.14.1", @@ -15224,9 +15215,9 @@ "loader-runner": "^4.2.0", "mime-types": "^2.1.27", "neo-async": "^2.6.2", - "schema-utils": "^4.3.2", + "schema-utils": "^3.2.0", "tapable": "^2.1.1", - "terser-webpack-plugin": "^5.3.11", + "terser-webpack-plugin": "^5.3.10", "watchpack": "^2.4.1", "webpack-sources": "^3.2.3" }, @@ -15416,6 +15407,46 @@ } } }, + "node_modules/webpack/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/webpack/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "node_modules/webpack/node_modules/schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, "node_modules/websocket-driver": { "version": "0.7.4", "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", @@ -25320,9 +25351,9 @@ "dev": true }, "schema-utils": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.3.2.tgz", - "integrity": "sha512-Gn/JaSk/Mt9gYubxTtSn/QCV4em9mpAPiR1rqy/Ocu19u/G9J5WWdNoUT4SiV6mFC3y6cxyFcFwdzPM3FgxGAQ==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.3.0.tgz", + "integrity": "sha512-Gf9qqc58SpCA/xdziiHz35F4GNIWYWZrEshUc/G/r5BnLph6xpKuLeoJoQuj5WfBIx/eQLf+hmVPYHaxJu7V2g==", "dev": true, "requires": { "@types/json-schema": "^7.0.9", @@ -25808,27 +25839,22 @@ } }, "sonarqube-scanner": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/sonarqube-scanner/-/sonarqube-scanner-3.5.0.tgz", - "integrity": "sha512-MiIJhFv8p/ePlTO0A1uC6UOxfIjSnjEw3sZ1G8q9mt6y2W/q/QrE/XWo0zCKkS8flmX0T2fjEuaDHnS/P9QQmw==", + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/sonarqube-scanner/-/sonarqube-scanner-3.4.0.tgz", + "integrity": "sha512-2B/IgA2CkTg8GPKlkqxSPuWLlcEZcoRxWkcZYr47f8Ni1YOEbCS/EUl9/bn68sanZ0lee5adRPuQpGj0EiEW2A==", "dev": true, "requires": { - "adm-zip": "0.5.12", - "fancy-log": "2.0.0", - "https-proxy-agent": "7.0.4", - "jest-sonar-reporter": "2.0.0", - "mkdirp": "3.0.1", - "node-downloader-helper": "2.1.9", - "progress": "2.0.3", - "slugify": "1.6.6" + "adm-zip": "^0.5.10", + "fancy-log": "^2.0.0", + "https-proxy-agent": "^7.0.1", + "jest-sonar-reporter": "^2.0.0", + "mkdirp": "^3.0.1", + "node-downloader-helper": "^2.1.9", + "progress": "^2.0.3", + "shell-quote": "^1.8.1", + "slugify": "^1.6.6" }, "dependencies": { - "adm-zip": { - "version": "0.5.12", - "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.5.12.tgz", - "integrity": "sha512-6TVU49mK6KZb4qG6xWaaM4C7sA/sgUMLy/JYMOzkcp3BvVLpW0fXDFQiIzAuxFCt/2+xD7fNIiPFAoLZPhVNLQ==", - "dev": true - }, "mkdirp": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-3.0.1.tgz", @@ -26726,14 +26752,13 @@ "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" }, "webpack": { - "version": "5.99.7", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.99.7.tgz", - "integrity": "sha512-CNqKBRMQjwcmKR0idID5va1qlhrqVUKpovi+Ec79ksW8ux7iS1+A6VqzfZXgVYCFRKl7XL5ap3ZoMpwBJxcg0w==", + "version": "5.97.1", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.97.1.tgz", + "integrity": "sha512-EksG6gFY3L1eFMROS/7Wzgrii5mBAFe4rIr3r2BTfo7bcc+DWwFZ4OJ/miOuHJO/A85HwyI4eQ0F6IKXesO7Fg==", "dev": true, "requires": { "@types/eslint-scope": "^3.7.7", "@types/estree": "^1.0.6", - "@types/json-schema": "^7.0.15", "@webassemblyjs/ast": "^1.14.1", "@webassemblyjs/wasm-edit": "^1.14.1", "@webassemblyjs/wasm-parser": "^1.14.1", @@ -26750,11 +26775,42 @@ "loader-runner": "^4.2.0", "mime-types": "^2.1.27", "neo-async": "^2.6.2", - "schema-utils": "^4.3.2", + "schema-utils": "^3.2.0", "tapable": "^2.1.1", - "terser-webpack-plugin": "^5.3.11", + "terser-webpack-plugin": "^5.3.10", "watchpack": "^2.4.1", "webpack-sources": "^3.2.3" + }, + "dependencies": { + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + } } }, "webpack-dev-middleware": { diff --git a/src/app/model/cluster-manager.ts b/src/app/model/cluster-manager.ts index ef3780ff9c9e3a7200c1eaeddadc3299ec0777dd..754b5332eb386b3659d8c031c93a678eebc48d22 100644 --- a/src/app/model/cluster-manager.ts +++ b/src/app/model/cluster-manager.ts @@ -14,4 +14,5 @@ export class ClusterManager { public deployment: ClusterDeployment; public externalNetworks: ClusterExtNetwork[] public domainNames: string[]; + public state : string; } \ No newline at end of file diff --git a/src/app/shared/admin/clusters/manager/manager.component.html b/src/app/shared/admin/clusters/manager/manager.component.html index 6703da0342f66849c7506874b0711088af1fb427..49225644f1caa1ed74d792d303310de96d2b9eb6 100644 --- a/src/app/shared/admin/clusters/manager/manager.component.html +++ b/src/app/shared/admin/clusters/manager/manager.component.html @@ -29,6 +29,9 @@ <th pSortableColumn="codename" id="codename"> {{ 'CLUSTERS.CODENAME' | translate }} <p-sortIcon field="codename"></p-sortIcon> </th> + <th pSortableColumn="state" id="state"> {{ 'CLUSTERS.STATE' | translate }} + <p-sortIcon field="state"></p-sortIcon> + </th> <th pSortableColumn="creationDate" id="creationDate"> {{ 'CLUSTERS.CREATION_DATE' | translate }} <p-sortIcon field="creationDate"></p-sortIcon> </th> @@ -43,6 +46,7 @@ <td [routerLink]="[cluster.id]">{{cluster.id}}</td> <td>{{cluster.name}}</td> <td>{{cluster.codename}}</td> + <td>{{('CLUSTERS.'+cluster.state.toString().toUpperCase() ) | translate}}</td> <td>{{cluster.creationDate | date: 'dd-MM-yyyy HH:mm'}}</td> <td>{{cluster.modificationDate | date: 'dd-MM-yyyy HH:mm'}}</td> <td class="text-right"> diff --git a/src/app/shared/admin/clusters/managerdetails/managerdetails.component.html b/src/app/shared/admin/clusters/managerdetails/managerdetails.component.html index 827bbe942d45e5166870c2d8b978a327e92b164e..28edc9a564b5b7dc72d04895c8c721df681298a3 100644 --- a/src/app/shared/admin/clusters/managerdetails/managerdetails.component.html +++ b/src/app/shared/admin/clusters/managerdetails/managerdetails.component.html @@ -60,6 +60,16 @@ </div> </div> + <div class="form-group"> + <label for="state" class="col-sm-2 control-label">{{ 'CLUSTERS.STATE' | translate }}</label> + <div class="col-sm-10"> + <div class="col-sm-10"> + <input type="text" class="form-control" id="state" name="state" + placeholder="{{'CLUSTERS.' + cluster.state.toString().toUpperCase()| translate}}" [disabled]="true"> + </div> + </div> + </div> + <div class="form-group"> <label for="clusterCreationDate" class="col-sm-2 control-label">{{ 'CLUSTERS.CREATION_DATE' | translate }}</label> diff --git a/src/app/shared/admin/clusters/managerdetails/managerdetails.component.spec.ts b/src/app/shared/admin/clusters/managerdetails/managerdetails.component.spec.ts index 351890d22d3ffe44778374a50b8c5ea6694bb51c..eef78c6c0a8abdad85584608c13238ef30aa22eb 100644 --- a/src/app/shared/admin/clusters/managerdetails/managerdetails.component.spec.ts +++ b/src/app/shared/admin/clusters/managerdetails/managerdetails.component.spec.ts @@ -21,6 +21,7 @@ describe('ClusterManagerDetailsComponent', () => { const mockCluster: ClusterManager = { id: 1, name: 'Test Cluster', + state: "UP", description: 'Test Description', externalNetworks: [], creationDate: new Date('2025-01-01'), @@ -169,6 +170,7 @@ describe('ClusterManagerDetailsComponent', () => { const mockResponse: ClusterManager = { id: 1, name: 'Test Cluster', + state:"UP", description: 'Test Description', externalNetworks: [], creationDate: new Date('2025-01-01'),