mirror of
				https://github.com/Telecominfraproject/wlan-cloud-ucentralgw-ui.git
				synced 2025-10-30 18:27:53 +00:00 
			
		
		
		
	Compare commits
	
		
			12 Commits
		
	
	
		
			dev-2.2
			...
			release/v2
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|   | b119b7e575 | ||
|   | 601c369f2d | ||
|   | 818bdd67ba | ||
|   | 967ef64728 | ||
|   | 6607d52539 | ||
|   | d48925f9ba | ||
|   | 63c7212685 | ||
|   | 6f5d2170c2 | ||
|   | 0ff74497ad | ||
|   | cc658f0223 | ||
|   | b256b941a6 | ||
|   | 6a2501ad81 | 
							
								
								
									
										6
									
								
								.github/workflows/ci.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										6
									
								
								.github/workflows/ci.yml
									
									
									
									
										vendored
									
									
								
							| @@ -27,7 +27,7 @@ jobs: | ||||
|     - uses: actions/checkout@v2 | ||||
|  | ||||
|     - name: Build Docker image | ||||
|       run: docker build -t wlan-cloud-ucentralgw-ui:${{ github.sha }} . | ||||
|       run: docker build -t owgw-ui:${{ github.sha }} . | ||||
|  | ||||
|     - name: Tag Docker image | ||||
|       run: | | ||||
| @@ -51,7 +51,7 @@ jobs: | ||||
|         echo "Result tags: $TAGS" | ||||
|  | ||||
|         for tag in $TAGS; do | ||||
|           docker tag wlan-cloud-ucentralgw-ui:${{ github.sha }} ${{ env.DOCKER_REGISTRY_URL }}/ucentralgw-ui:$tag | ||||
|           docker tag owgw-ui:${{ github.sha }} ${{ env.DOCKER_REGISTRY_URL }}/owgw-ui:$tag | ||||
|         done | ||||
|  | ||||
|     - name: Log into Docker registry | ||||
| @@ -65,4 +65,4 @@ jobs: | ||||
|     - name: Push Docker images | ||||
|       if: startsWith(github.ref, 'refs/tags/') || startsWith(github.ref, 'refs/pull/') || github.ref == 'refs/heads/main' | ||||
|       run: | | ||||
|         docker images | grep ${{ env.DOCKER_REGISTRY_URL }}/ucentralgw-ui | awk -F ' ' '{print $1":"$2}' | xargs -I {} docker push {} | ||||
|         docker images | grep ${{ env.DOCKER_REGISTRY_URL }}/owgw-ui | awk -F ' ' '{print $1":"$2}' | xargs -I {} docker push {} | ||||
|   | ||||
							
								
								
									
										2
									
								
								.github/workflows/cleanup.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.github/workflows/cleanup.yml
									
									
									
									
										vendored
									
									
								
							| @@ -16,4 +16,4 @@ jobs: | ||||
|     steps: | ||||
|       - run: | | ||||
|           export PR_BRANCH_TAG=$(echo ${GITHUB_HEAD_REF#refs/heads/} | tr '/' '-') | ||||
|           curl -uucentral:${{ secrets.DOCKER_REGISTRY_PASSWORD }} -X DELETE "https://tip.jfrog.io/artifactory/tip-wlan-cloud-ucentral/ucentralgw-ui/$PR_BRANCH_TAG" | ||||
|           curl -uucentral:${{ secrets.DOCKER_REGISTRY_PASSWORD }} -X DELETE "https://tip.jfrog.io/artifactory/tip-wlan-cloud-ucentral/owgw-ui/$PR_BRANCH_TAG" | ||||
|   | ||||
| @@ -1,6 +1,6 @@ | ||||
| #!/bin/ash | ||||
| # Check if variables are set | ||||
| export DEFAULT_UCENTRALSEC_URL="${DEFAULT_UCENTRALSEC_URL:-https://ucentral.dpaas.arilia.com:16001}" | ||||
| export ALLOW_UCENTRALSEC_CHANGE="${ALLOW_UCENTRALSEC_CHANGE:-false}" | ||||
| export DEFAULT_OWSEC_URL="${DEFAULT_OWSEC_URL:-https://ucentral.dpaas.arilia.com:16001}" | ||||
| export ALLOW_OWSEC_CHANGE="${ALLOW_OWSEC_CHANGE:-false}" | ||||
|  | ||||
| echo '{"DEFAULT_UCENTRALSEC_URL": "'$DEFAULT_UCENTRALSEC_URL'","ALLOW_UCENTRALSEC_CHANGE": '$ALLOW_UCENTRALSEC_CHANGE'}' > /usr/share/nginx/html/config.json | ||||
|   | ||||
| @@ -1,5 +1,5 @@ | ||||
| apiVersion: v1 | ||||
| appVersion: "1.0" | ||||
| description: A Helm chart for Kubernetes | ||||
| name: ucentralgwui | ||||
| name: owgwui | ||||
| version: 0.1.0 | ||||
|   | ||||
| @@ -1,6 +1,6 @@ | ||||
| # ucentralgwui | ||||
| # owgwui | ||||
|  | ||||
| This Helm chart helps to deploy uCentralGW-UI to the Kubernetes clusters. It is mainly used in [assembly chart](https://github.com/Telecominfraproject/wlan-cloud-ucentral-deploy/tree/main/chart) as uCentralGW-UI requires other services as dependencies that are considered in that Helm chart. This chart is purposed to define deployment logic close to the application code itself and define default values that could be overriden during deployment. | ||||
| This Helm chart helps to deploy OpenWIFI Web UI (further on refered as __Web UI__) to the Kubernetes clusters. It is mainly used in [assembly chart](https://github.com/Telecominfraproject/wlan-cloud-ucentral-deploy/tree/main/chart) as Web UI requires other services as dependencies that are considered in that Helm chart. This chart is purposed to define deployment logic close to the application code itself and define default values that could be overriden during deployment. | ||||
|  | ||||
|  | ||||
| ## TL;DR; | ||||
| @@ -11,7 +11,7 @@ $ helm install . | ||||
|  | ||||
| ## Introduction | ||||
|  | ||||
| This chart bootstraps an ucentralgwui on a [Kubernetes](http://kubernetes.io) cluster using the [Helm](https://helm.sh) package manager. | ||||
| This chart bootstraps the Web UI on a [Kubernetes](http://kubernetes.io) cluster using the [Helm](https://helm.sh) package manager. | ||||
|  | ||||
| ## Installing the Chart | ||||
|  | ||||
| @@ -23,7 +23,7 @@ To install the chart with the release name `my-release`: | ||||
| $ helm install --name my-release git+https://github.com/Telecominfraproject/wlan-cloud-ucentralgw-ui@helm?ref=main | ||||
| ``` | ||||
|  | ||||
| The command deploys ucentralgwui on the Kubernetes cluster in the default configuration. The [configuration](#configuration) section lists the parameters that can be configured during installation. | ||||
| The command deploys the Web UI on the Kubernetes cluster in the default configuration. The [configuration](#configuration) section lists the parameters that can be configured during installation. | ||||
|  | ||||
| > **Tip**: List all releases using `helm list` | ||||
|  | ||||
| @@ -46,21 +46,21 @@ The following table lists the configurable parameters of the chart and their def | ||||
| | replicaCount | number | Amount of replicas to be deployed | `1` | | ||||
| | nameOverride | string | Override to be used for application deployment |  | | ||||
| | fullnameOverride | string | Override to be used for application deployment (has priority over nameOverride) |  | | ||||
| | images.ucentralgwui.repository | string | Docker image repository |  | | ||||
| | images.ucentralgwui.tag | string | Docker image tag | `'master'` | | ||||
| | images.ucentralgwui.pullPolicy | string | Docker image pull policy | `'Always'` | | ||||
| | services.ucentralgwui.type | string | uCentralGW-UI service type | `'ClusterIP'` | | ||||
| | services.ucentralgwui.ports.http.servicePort | number | Websocket endpoint port to be exposed on service | `80` | | ||||
| | services.ucentralgwui.ports.http.targetPort | number | Websocket endpoint port to be targeted by service | `80` | | ||||
| | services.ucentralgwui.ports.http.protocol | string | Websocket endpoint protocol | `'TCP'` | | ||||
| | checks.ucentralgwui.liveness.httpGet.path | string | Liveness check path to be used | `'/'` | | ||||
| | checks.ucentralgwui.liveness.httpGet.port | number | Liveness check port to be used (should be pointint to ALB endpoint) | `http` | | ||||
| | checks.ucentralgwui.readiness.httpGet.path | string | Readiness check path to be used | `'/'` | | ||||
| | checks.ucentralgwui.readiness.httpGet.port | number | Readiness check port to be used | `http` | | ||||
| | ingresses.default.enabled | boolean | Defines if uCentralGW-UI should be exposed via Ingress controller | `False` | | ||||
| | ingresses.default.hosts | array | List of hosts for exposed uCentralGW-UI |  | | ||||
| | ingresses.default.paths | array | List of paths to be exposed for uCentralGW-UI |  | | ||||
| | public_env_variables | hash | Defines list of environment variables to be passed to uCentralGW-UI (required for application configuration) | | | ||||
| | images.owgwui.repository | string | Docker image repository |  | | ||||
| | images.owgwui.tag | string | Docker image tag | `'master'` | | ||||
| | images.owgwui.pullPolicy | string | Docker image pull policy | `'Always'` | | ||||
| | services.owgwui.type | string | OpenWIFI Web UI service type | `'ClusterIP'` | | ||||
| | services.owgwui.ports.http.servicePort | number | Websocket endpoint port to be exposed on service | `80` | | ||||
| | services.owgwui.ports.http.targetPort | number | Websocket endpoint port to be targeted by service | `80` | | ||||
| | services.owgwui.ports.http.protocol | string | Websocket endpoint protocol | `'TCP'` | | ||||
| | checks.owgwui.liveness.httpGet.path | string | Liveness check path to be used | `'/'` | | ||||
| | checks.owgwui.liveness.httpGet.port | number | Liveness check port to be used (should be pointint to ALB endpoint) | `http` | | ||||
| | checks.owgwui.readiness.httpGet.path | string | Readiness check path to be used | `'/'` | | ||||
| | checks.owgwui.readiness.httpGet.port | number | Readiness check port to be used | `http` | | ||||
| | ingresses.default.enabled | boolean | Defines if the Web UI should be exposed via Ingress controller | `False` | | ||||
| | ingresses.default.hosts | array | List of hosts for the exposed Web UI |  | | ||||
| | ingresses.default.paths | array | List of paths to be exposed for the Web UI |  | | ||||
| | public_env_variables | hash | Defines list of environment variables to be passed to the Web UI (required for application configuration) | | | ||||
|  | ||||
|  | ||||
| Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`. For example, | ||||
|   | ||||
| @@ -2,7 +2,7 @@ | ||||
| {{/* | ||||
| Expand the name of the chart. | ||||
| */}} | ||||
| {{- define "ucentralgwui.name" -}} | ||||
| {{- define "owgwui.name" -}} | ||||
| {{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}} | ||||
| {{- end -}} | ||||
|  | ||||
| @@ -11,7 +11,7 @@ Create a default fully qualified app name. | ||||
| We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). | ||||
| If release name contains chart name it will be used as a full name. | ||||
| */}} | ||||
| {{- define "ucentralgwui.fullname" -}} | ||||
| {{- define "owgwui.fullname" -}} | ||||
| {{- if .Values.fullnameOverride -}} | ||||
| {{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}} | ||||
| {{- else -}} | ||||
| @@ -27,6 +27,6 @@ If release name contains chart name it will be used as a full name. | ||||
| {{/* | ||||
| Create chart name and version as used by the chart label. | ||||
| */}} | ||||
| {{- define "ucentralgwui.chart" -}} | ||||
| {{- define "owgwui.chart" -}} | ||||
| {{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}} | ||||
| {{- end -}} | ||||
|   | ||||
| @@ -3,36 +3,36 @@ | ||||
| apiVersion: apps/v1 | ||||
| kind: Deployment | ||||
| metadata: | ||||
|   name: {{ include "ucentralgwui.fullname" . }} | ||||
|   name: {{ include "owgwui.fullname" . }} | ||||
|   labels: | ||||
|     app.kubernetes.io/name: {{ include "ucentralgwui.name" . }} | ||||
|     helm.sh/chart: {{ include "ucentralgwui.chart" . }} | ||||
|     app.kubernetes.io/name: {{ include "owgwui.name" . }} | ||||
|     helm.sh/chart: {{ include "owgwui.chart" . }} | ||||
|     app.kubernetes.io/instance: {{ .Release.Name }} | ||||
|     app.kubernetes.io/managed-by: {{ .Release.Service }} | ||||
| spec: | ||||
|   replicas: {{ .Values.replicaCount }} | ||||
|   selector: | ||||
|     matchLabels: | ||||
|       app.kubernetes.io/name: {{ include "ucentralgwui.name" . }} | ||||
|       app.kubernetes.io/name: {{ include "owgwui.name" . }} | ||||
|       app.kubernetes.io/instance: {{ .Release.Name }} | ||||
|       {{- with .Values.services.ucentralgwui.labels }} | ||||
|       {{- with .Values.services.owgwui.labels }} | ||||
|       {{- toYaml . | nindent 6 }} | ||||
|       {{- end }} | ||||
|   template: | ||||
|     metadata: | ||||
|       labels: | ||||
|         app.kubernetes.io/name: {{ include "ucentralgwui.name" . }} | ||||
|         app.kubernetes.io/name: {{ include "owgwui.name" . }} | ||||
|         app.kubernetes.io/instance: {{ .Release.Name }} | ||||
|         {{- with .Values.services.ucentralgwui.labels }} | ||||
|         {{- with .Values.services.owgwui.labels }} | ||||
|         {{- toYaml . | nindent 8 }} | ||||
|         {{- end }} | ||||
|     spec: | ||||
|  | ||||
|       containers: | ||||
|  | ||||
|         - name: ucentralgwui | ||||
|           image: "{{ .Values.images.ucentralgwui.repository }}:{{ .Values.images.ucentralgwui.tag }}" | ||||
|           imagePullPolicy: {{ .Values.images.ucentralgwui.pullPolicy }} | ||||
|         - name: owgwui | ||||
|           image: "{{ .Values.images.owgwui.repository }}:{{ .Values.images.owgwui.tag }}" | ||||
|           imagePullPolicy: {{ .Values.images.owgwui.pullPolicy }} | ||||
|  | ||||
|           env: | ||||
|             - name: KUBERNETES_DEPLOYED | ||||
| @@ -43,19 +43,19 @@ spec: | ||||
|           {{- end }} | ||||
|  | ||||
|           ports: | ||||
|           {{- range $key, $value := .Values.services.ucentralgwui.ports }} | ||||
|           {{- range $key, $value := .Values.services.owgwui.ports }} | ||||
|             - name: {{ $key }} | ||||
|               containerPort: {{ $value.targetPort }} | ||||
|               protocol: {{ $value.protocol }} | ||||
|           {{- end }} | ||||
|  | ||||
|           {{- if .Values.checks.ucentralgwui.liveness }} | ||||
|           {{- if .Values.checks.owgwui.liveness }} | ||||
|           livenessProbe: | ||||
|             {{- toYaml .Values.checks.ucentralgwui.liveness | nindent 12 }} | ||||
|             {{- toYaml .Values.checks.owgwui.liveness | nindent 12 }} | ||||
|           {{- end }} | ||||
|           {{- if .Values.checks.ucentralgwui.readiness }} | ||||
|           {{- if .Values.checks.owgwui.readiness }} | ||||
|           readinessProbe: | ||||
|             {{- toYaml .Values.checks.ucentralgwui.readiness | nindent 12 }} | ||||
|             {{- toYaml .Values.checks.owgwui.readiness | nindent 12 }} | ||||
|           {{- end }} | ||||
|  | ||||
|           {{- with .Values.resources }} | ||||
| @@ -66,7 +66,7 @@ spec: | ||||
|       imagePullSecrets: | ||||
|       {{- range $image, $imageValue := .Values.images }} | ||||
|         {{- if $imageValue.regcred }} | ||||
|       - name: {{ include "ucentralgwui.fullname" $root }}-{{ $image }}-regcred | ||||
|       - name: {{ include "owgwui.fullname" $root }}-{{ $image }}-regcred | ||||
|         {{- end }} | ||||
|       {{- end }} | ||||
|  | ||||
|   | ||||
| @@ -5,10 +5,10 @@ | ||||
| apiVersion: extensions/v1beta1 | ||||
| kind: Ingress | ||||
| metadata: | ||||
|   name: {{ include "ucentralgwui.fullname" $root }}-{{ $ingress }} | ||||
|   name: {{ include "owgwui.fullname" $root }}-{{ $ingress }} | ||||
|   labels: | ||||
|     app.kubernetes.io/name: {{ include "ucentralgwui.name" $root }} | ||||
|     helm.sh/chart: {{ include "ucentralgwui.chart" $root }} | ||||
|     app.kubernetes.io/name: {{ include "owgwui.name" $root }} | ||||
|     helm.sh/chart: {{ include "owgwui.chart" $root }} | ||||
|     app.kubernetes.io/instance: {{ $root.Release.Name }} | ||||
|     app.kubernetes.io/managed-by: {{ $root.Release.Service }} | ||||
|   {{- with $ingressValue.annotations }} | ||||
| @@ -37,7 +37,7 @@ spec: | ||||
|       {{- range $ingressValue.paths }} | ||||
|         - path: {{ .path }} | ||||
|           backend: | ||||
|             serviceName: {{ include "ucentralgwui.fullname" $root }}-{{ .serviceName }} | ||||
|             serviceName: {{ include "owgwui.fullname" $root }}-{{ .serviceName }} | ||||
|             servicePort: {{ .servicePort }} | ||||
|       {{- end }} | ||||
|   {{- end }} | ||||
|   | ||||
| @@ -10,11 +10,11 @@ kind: Secret | ||||
| type: kubernetes.io/dockerconfigjson | ||||
| metadata: | ||||
|   labels: | ||||
|     app.kuberentes.io/name: {{ include "ucentralgwui.name" $root }} | ||||
|     helm.sh/chart: {{ include "ucentralgwui.chart" $root }} | ||||
|     app.kuberentes.io/name: {{ include "owgwui.name" $root }} | ||||
|     helm.sh/chart: {{ include "owgwui.chart" $root }} | ||||
|     app.kubernetes.io/instance: {{ $root.Release.Name }} | ||||
|     app.kubernetes.io/managed-by: {{ $root.Release.Service }} | ||||
|   name: {{ include "ucentralgwui.fullname" $root }}-{{ $image }}-regcred | ||||
|   name: {{ include "owgwui.fullname" $root }}-{{ $image }}-regcred | ||||
| data: | ||||
|   .dockerconfigjson: {{ template "imagePullSecret" $imageValue.regcred }} | ||||
| {{- end }} | ||||
|   | ||||
| @@ -4,14 +4,14 @@ | ||||
| apiVersion: v1 | ||||
| kind: Service | ||||
| metadata: | ||||
|   name: {{ include "ucentralgwui.fullname" $root }}-{{ $service }} | ||||
|   name: {{ include "owgwui.fullname" $root }}-{{ $service }} | ||||
|   {{- with $serviceValue.annotations }} | ||||
|   annotations: | ||||
|     {{- toYaml . | nindent 4 }} | ||||
|   {{- end }} | ||||
|   labels: | ||||
|     app.kubernetes.io/name: {{ include "ucentralgwui.name" $root }} | ||||
|     helm.sh/chart: {{ include "ucentralgwui.chart" $root }} | ||||
|     app.kubernetes.io/name: {{ include "owgwui.name" $root }} | ||||
|     helm.sh/chart: {{ include "owgwui.chart" $root }} | ||||
|     app.kubernetes.io/instance: {{ $root.Release.Name }} | ||||
|     app.kubernetes.io/managed-by: {{ $root.Release.Service }} | ||||
|  | ||||
| @@ -39,7 +39,7 @@ spec: | ||||
|       {{- end }} | ||||
|   {{- end }} | ||||
|   selector: | ||||
|     app.kubernetes.io/name: {{ include "ucentralgwui.name" $root }} | ||||
|     app.kubernetes.io/name: {{ include "owgwui.name" $root }} | ||||
|     app.kubernetes.io/instance: {{ $root.Release.Name }} | ||||
|     {{- with $serviceValue.labels }} | ||||
|     {{- toYaml . | nindent 4 }} | ||||
|   | ||||
| @@ -5,13 +5,13 @@ nameOverride: "" | ||||
| fullnameOverride: "" | ||||
|  | ||||
| images: | ||||
|   ucentralgwui: | ||||
|     repository: tip-tip-wlan-cloud-ucentral.jfrog.io/ucentralgw-ui | ||||
|     tag: main | ||||
|   owgwui: | ||||
|     repository: tip-tip-wlan-cloud-ucentral.jfrog.io/owgw-ui | ||||
|     tag: v2.2.0-RC1 | ||||
|     pullPolicy: Always | ||||
|  | ||||
| services: | ||||
|   ucentralgwui: | ||||
|   owgwui: | ||||
|     type: ClusterIP | ||||
|     ports: | ||||
|       http: | ||||
| @@ -20,7 +20,7 @@ services: | ||||
|         protocol: TCP | ||||
|  | ||||
| checks: | ||||
|   ucentralgwui: | ||||
|   owgwui: | ||||
|     liveness: | ||||
|       httpGet: | ||||
|         path: / | ||||
| @@ -37,7 +37,7 @@ ingresses: | ||||
|       # kubernetes.io/ingress.class: nginx | ||||
|       # kubernetes.io/tls-acme: "true" | ||||
|     # tls: | ||||
|     # - secretName: '{{ include "ucentralgwui.fullname" . }}-default-tls' # template may be used | ||||
|     # - secretName: '{{ include "owgwui.fullname" . }}-default-tls' # template may be used | ||||
|     #   cert: | | ||||
|     #     CERT_HERE_IN_PEM | ||||
|     #   key: | | ||||
| @@ -48,7 +48,7 @@ ingresses: | ||||
|     - chart-example.local | ||||
|     paths: | ||||
|     - path: / | ||||
|       serviceName: ucentralgwui | ||||
|       serviceName: owgwui | ||||
|       servicePort: http | ||||
|  | ||||
| resources: {} | ||||
|   | ||||
							
								
								
									
										18
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										18
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							| @@ -1,12 +1,12 @@ | ||||
| { | ||||
|   "name": "ucentral-client", | ||||
|   "version": "2.2.0", | ||||
|   "version": "2.2.2", | ||||
|   "lockfileVersion": 2, | ||||
|   "requires": true, | ||||
|   "packages": { | ||||
|     "": { | ||||
|       "name": "ucentral-client", | ||||
|       "version": "2.2.0", | ||||
|       "version": "2.2.2", | ||||
|       "dependencies": { | ||||
|         "@coreui/coreui": "^3.4.0", | ||||
|         "@coreui/icons": "^2.0.1", | ||||
| @@ -32,7 +32,7 @@ | ||||
|         "react-tooltip": "^4.2.21", | ||||
|         "react-widgets": "^5.1.1", | ||||
|         "sass": "^1.35.1", | ||||
|         "ucentral-libs": "^0.9.39", | ||||
|         "ucentral-libs": "^0.9.41", | ||||
|         "uuid": "^8.3.2" | ||||
|       }, | ||||
|       "devDependencies": { | ||||
| @@ -14812,9 +14812,9 @@ | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/ucentral-libs": { | ||||
|       "version": "0.9.39", | ||||
|       "resolved": "https://registry.npmjs.org/ucentral-libs/-/ucentral-libs-0.9.39.tgz", | ||||
|       "integrity": "sha512-BGsT0tdOyJUNNIjD6y1gWATcyShhR/2Qik77FqF9m9efiLEbz7MiH+8IOxnup8X6gFt6nyTNqPZIzbXYuw48og==", | ||||
|       "version": "0.9.41", | ||||
|       "resolved": "https://registry.npmjs.org/ucentral-libs/-/ucentral-libs-0.9.41.tgz", | ||||
|       "integrity": "sha512-TXcxnZk9ornuaIN+vtRVJ/U3d5Dh76l6r3suEd/aLGlXvgW9iUwSqgBkA5kj/uV0wJXrZqxIr+hVsFndYvmtQQ==", | ||||
|       "dependencies": { | ||||
|         "@coreui/coreui": "^3.4.0", | ||||
|         "@coreui/icons": "^2.0.1", | ||||
| @@ -27653,9 +27653,9 @@ | ||||
|       } | ||||
|     }, | ||||
|     "ucentral-libs": { | ||||
|       "version": "0.9.39", | ||||
|       "resolved": "https://registry.npmjs.org/ucentral-libs/-/ucentral-libs-0.9.39.tgz", | ||||
|       "integrity": "sha512-BGsT0tdOyJUNNIjD6y1gWATcyShhR/2Qik77FqF9m9efiLEbz7MiH+8IOxnup8X6gFt6nyTNqPZIzbXYuw48og==", | ||||
|       "version": "0.9.41", | ||||
|       "resolved": "https://registry.npmjs.org/ucentral-libs/-/ucentral-libs-0.9.41.tgz", | ||||
|       "integrity": "sha512-TXcxnZk9ornuaIN+vtRVJ/U3d5Dh76l6r3suEd/aLGlXvgW9iUwSqgBkA5kj/uV0wJXrZqxIr+hVsFndYvmtQQ==", | ||||
|       "requires": { | ||||
|         "@coreui/coreui": "^3.4.0", | ||||
|         "@coreui/icons": "^2.0.1", | ||||
|   | ||||
| @@ -1,6 +1,6 @@ | ||||
| { | ||||
|   "name": "ucentral-client", | ||||
|   "version": "2.2.0", | ||||
|   "version": "2.2.2", | ||||
|   "dependencies": { | ||||
|     "@coreui/coreui": "^3.4.0", | ||||
|     "@coreui/icons": "^2.0.1", | ||||
| @@ -26,7 +26,7 @@ | ||||
|     "react-tooltip": "^4.2.21", | ||||
|     "react-widgets": "^5.1.1", | ||||
|     "sass": "^1.35.1", | ||||
|     "ucentral-libs": "^0.9.39", | ||||
|     "ucentral-libs": "^0.9.41", | ||||
|     "uuid": "^8.3.2" | ||||
|   }, | ||||
|   "main": "index.js", | ||||
|   | ||||
| @@ -170,6 +170,7 @@ | ||||
| 	"configuration": { | ||||
| 		"add_configuration": "Konfiguration hinzufügen", | ||||
| 		"add_new_block": "Neuen Konfigurationsblock hinzufügen", | ||||
| 		"add_or_link": "Verlinken oder hinzufügen", | ||||
| 		"cannot_delete": "Diese Konfiguration kann nicht gelöscht werden, da sie von mindestens einer Entität, einem Veranstaltungsort oder einem Gerät verwendet wird", | ||||
| 		"choose_section": "Welchen Abschnitt soll dieser Block enthalten?", | ||||
| 		"configuration_browser": "Konfigurationsbrowser", | ||||
| @@ -467,7 +468,7 @@ | ||||
| 		"os": "Betriebssystem", | ||||
| 		"processors": "Prozessoren", | ||||
| 		"reload": "Neu laden", | ||||
| 		"reload_subsystems": "Subsysteme neu laden", | ||||
| 		"reload_subsystems": "Subsysteme", | ||||
| 		"subsystems": "Subsysteme", | ||||
| 		"success_reload": "Reload-Befehl erfolgreich gesendet!" | ||||
| 	}, | ||||
|   | ||||
| @@ -170,6 +170,7 @@ | ||||
| 	"configuration": { | ||||
| 		"add_configuration": "Add Configuration", | ||||
| 		"add_new_block": "Add new Configuration Block", | ||||
| 		"add_or_link": "Link or Add", | ||||
| 		"cannot_delete": "This configuration cannot be deleted because it is being used by at least one entity, venue or device", | ||||
| 		"choose_section": "Which section you would like this block to contain?", | ||||
| 		"configuration_browser": "Configuration Browser", | ||||
| @@ -467,7 +468,7 @@ | ||||
| 		"os": "Operation System", | ||||
| 		"processors": "Processors", | ||||
| 		"reload": "Reload", | ||||
| 		"reload_subsystems": "Reload Subsystems", | ||||
| 		"reload_subsystems": "Reload", | ||||
| 		"subsystems": "Subsystems", | ||||
| 		"success_reload": "Reload command successfully submitted!" | ||||
| 	}, | ||||
|   | ||||
| @@ -170,6 +170,7 @@ | ||||
| 	"configuration": { | ||||
| 		"add_configuration": "Agregar configuración", | ||||
| 		"add_new_block": "Agregar nuevo bloque de configuración", | ||||
| 		"add_or_link": "Vincular o agregar", | ||||
| 		"cannot_delete": "Esta configuración no se puede eliminar porque está siendo utilizada por al menos una entidad, lugar o dispositivo", | ||||
| 		"choose_section": "Qué sección le gustaría que contenga este bloque?", | ||||
| 		"configuration_browser": "Navegador de configuración", | ||||
| @@ -467,7 +468,7 @@ | ||||
| 		"os": "sistema operativo", | ||||
| 		"processors": "Procesadores", | ||||
| 		"reload": "Recargar", | ||||
| 		"reload_subsystems": "Recargar subsistemas", | ||||
| 		"reload_subsystems": "Recargar", | ||||
| 		"subsystems": "Subsistemas", | ||||
| 		"success_reload": "¡El comando de recarga se envió correctamente!" | ||||
| 	}, | ||||
|   | ||||
| @@ -170,6 +170,7 @@ | ||||
| 	"configuration": { | ||||
| 		"add_configuration": "Ajouter une configuration", | ||||
| 		"add_new_block": "Ajouter un nouveau bloc de configuration", | ||||
| 		"add_or_link": "Lier ou ajouter", | ||||
| 		"cannot_delete": "Cette configuration ne peut pas être supprimée car elle est utilisée par au moins une entité, un lieu ou un appareil", | ||||
| 		"choose_section": "Quelle section souhaitez-vous que ce bloc contienne?", | ||||
| 		"configuration_browser": "Navigateur de configuration", | ||||
| @@ -467,7 +468,7 @@ | ||||
| 		"os": "le système d'exploitation", | ||||
| 		"processors": "Processeurs", | ||||
| 		"reload": "Recharger", | ||||
| 		"reload_subsystems": "Recharger les sous-systèmes", | ||||
| 		"reload_subsystems": "Recharger", | ||||
| 		"subsystems": "Sous-systèmes", | ||||
| 		"success_reload": "Recharger la commande soumise avec succès !" | ||||
| 	}, | ||||
|   | ||||
| @@ -170,6 +170,7 @@ | ||||
| 	"configuration": { | ||||
| 		"add_configuration": "Adicionar configuração", | ||||
| 		"add_new_block": "Adicionar novo bloco de configuração", | ||||
| 		"add_or_link": "Link ou adicionar", | ||||
| 		"cannot_delete": "Esta configuração não pode ser excluída porque está sendo usada por pelo menos uma entidade, local ou dispositivo", | ||||
| 		"choose_section": "Qual seção você gostaria que este bloco contivesse?", | ||||
| 		"configuration_browser": "Navegador de configuração", | ||||
| @@ -467,7 +468,7 @@ | ||||
| 		"os": "Sistema Operacional", | ||||
| 		"processors": "Processadores", | ||||
| 		"reload": "Recarregar", | ||||
| 		"reload_subsystems": "Recarregar subsistemas", | ||||
| 		"reload_subsystems": "Recarregar", | ||||
| 		"subsystems": "Subsistemas", | ||||
| 		"success_reload": "Comando de recarregamento enviado com sucesso!" | ||||
| 	}, | ||||
|   | ||||
| @@ -77,25 +77,30 @@ const DeviceList = () => { | ||||
|         fullDevices = response.data.devicesWithStatus; | ||||
|         const serialsToGet = fullDevices.map((device) => device.serialNumber); | ||||
|  | ||||
|         if (serialsToGet.length === 0) { | ||||
|           return null; | ||||
|         } | ||||
|         return axiosInstance.get( | ||||
|           `${endpoints.owfms}/api/v1/firmwareAge?select=${serialsToGet}`, | ||||
|           options, | ||||
|         ); | ||||
|       }) | ||||
|       .then((response) => { | ||||
|         fullDevices = fullDevices.map((device, index) => { | ||||
|           const foundAgeDate = response.data.ages[index].age !== undefined; | ||||
|           if (foundAgeDate) { | ||||
|             return { | ||||
|               ...device, | ||||
|               firmwareInfo: { | ||||
|                 age: response.data.ages[index].age, | ||||
|                 latest: response.data.ages[index].latest, | ||||
|               }, | ||||
|             }; | ||||
|           } | ||||
|           return device; | ||||
|         }); | ||||
|         if (response !== null) { | ||||
|           fullDevices = fullDevices.map((device, index) => { | ||||
|             const foundAgeDate = response.data.ages[index].age !== undefined; | ||||
|             if (foundAgeDate) { | ||||
|               return { | ||||
|                 ...device, | ||||
|                 firmwareInfo: { | ||||
|                   age: response.data.ages[index].age, | ||||
|                   latest: response.data.ages[index].latest, | ||||
|                 }, | ||||
|               }; | ||||
|             } | ||||
|             return device; | ||||
|           }); | ||||
|         } | ||||
|         setDevices(fullDevices); | ||||
|         setLoading(false); | ||||
|       }) | ||||
|   | ||||
| @@ -22,6 +22,7 @@ const SystemPage = () => { | ||||
|       uptime: t('common.unknown'), | ||||
|       version: t('common.unknown'), | ||||
|       start: t('common.unknown'), | ||||
|       certificates: [], | ||||
|       subsystems: [], | ||||
|     }; | ||||
|  | ||||
| @@ -41,7 +42,9 @@ const SystemPage = () => { | ||||
|  | ||||
|     return Promise.all([getInfo, getSubsystems]) | ||||
|       .then(([newInfo, newSubs]) => { | ||||
|         systemInfo.uptime = secondsToDetailed( | ||||
|         let newSystem = { ...systemInfo }; | ||||
|         newSystem = { ...newSystem, ...newInfo.data, ...newSubs.data }; | ||||
|         newSystem.uptime = secondsToDetailed( | ||||
|           newInfo.data.uptime, | ||||
|           t('common.day'), | ||||
|           t('common.days'), | ||||
| @@ -52,17 +55,14 @@ const SystemPage = () => { | ||||
|           t('common.second'), | ||||
|           t('common.seconds'), | ||||
|         ); | ||||
|         systemInfo.hostname = newInfo.data.hostname; | ||||
|         systemInfo.os = newInfo.data.os; | ||||
|         systemInfo.processors = newInfo.data.processors; | ||||
|         systemInfo.version = newInfo.data.version; | ||||
|         systemInfo.start = prettyDate(newInfo.data.start); | ||||
|         systemInfo.subsystems = newSubs.data.list.sort((a, b) => { | ||||
|         newSystem.start = prettyDate(newInfo.data.start); | ||||
|         newSystem.subsystems = newSubs.data.list.sort((a, b) => { | ||||
|           if (a < b) return -1; | ||||
|           if (a > b) return 1; | ||||
|           return 0; | ||||
|         }); | ||||
|         return systemInfo; | ||||
|  | ||||
|         return newSystem; | ||||
|       }) | ||||
|       .catch(() => systemInfo); | ||||
|   }; | ||||
|   | ||||
		Reference in New Issue
	
	Block a user