diff --git a/src/Components/Assets/AssetType/ONVIFCamera.tsx b/src/Components/Assets/AssetType/ONVIFCamera.tsx index 7024ff3c3f1..7eb4c77dd23 100644 --- a/src/Components/Assets/AssetType/ONVIFCamera.tsx +++ b/src/Components/Assets/AssetType/ONVIFCamera.tsx @@ -1,5 +1,4 @@ import { useEffect, useState } from "react"; -import { Card, CardContent } from "@material-ui/core"; import { AssetData } from "../AssetTypes"; import { useDispatch } from "react-redux"; import { @@ -33,7 +32,9 @@ const ONVIFCamera = (props: ONVIFCameraProps) => { useState(""); const [cameraAddress, setCameraAddress] = useState(""); const [ipadrdress_error, setIpAddress_error] = useState(""); - const [cameraAccessKey, setCameraAccessKey] = useState(""); + const [username, setUsername] = useState(""); + const [password, setPassword] = useState(""); + const [streamUuid, setStreamUuid] = useState(""); const [bed, setBed] = useState({}); const [newPreset, setNewPreset] = useState(""); const [refreshPresetsHash, setRefreshPresetsHash] = useState( @@ -54,10 +55,15 @@ const ONVIFCamera = (props: ONVIFCameraProps) => { }, [dispatch, facilityId]); useEffect(() => { - setAssetType(asset?.asset_class); - setMiddlewareHostname(asset?.meta?.middleware_hostname); - setCameraAddress(asset?.meta?.local_ip_address); - setCameraAccessKey(asset?.meta?.camera_access_key); + if (asset) { + setAssetType(asset?.asset_class); + const cameraConfig = getCameraConfig(asset); + setMiddlewareHostname(cameraConfig.middleware_hostname); + setCameraAddress(cameraConfig.hostname); + setUsername(cameraConfig.username); + setPassword(cameraConfig.password); + setStreamUuid(cameraConfig.accessKey); + } setIsLoading(false); }, [asset]); @@ -70,7 +76,7 @@ const ONVIFCamera = (props: ONVIFCameraProps) => { asset_type: "CAMERA", middleware_hostname: middlewareHostname, // TODO: remove this infavour of facility.middleware_address local_ip_address: cameraAddress, - camera_access_key: cameraAccessKey, + camera_access_key: `${username}:${password}:${streamUuid}`, }, }; const res: any = await Promise.resolve( @@ -128,78 +134,58 @@ const ONVIFCamera = (props: ONVIFCameraProps) => { }); } }; + if (isLoading) return ; - return ( -
- - -
- -
-
- - setMiddlewareHostname(e.value)} - className="mt-2" - /> -
-
- - setCameraAddress(e.value)} - className="mt-2" - error={ipadrdress_error} - /> -
-
- - setCameraAccessKey(e.value)} - className="mt-2" - /> -
-
-
- -
-
-
-
-
+ return ( +
+
+
+ setMiddlewareHostname(value)} + /> + setCameraAddress(value)} + error={ipadrdress_error} + /> + setUsername(value)} + /> + setPassword(value)} + /> + setStreamUuid(value)} + /> +
+
+ +
+
{assetType === "ONVIF" ? ( { - const { meta }: any = asset; + const { meta } = asset; return { - middleware_hostname: meta.middleware_hostname, + middleware_hostname: meta?.middleware_hostname, id: asset?.id, hostname: meta?.local_ip_address, username: meta?.camera_access_key?.split(":")[0],