diff --git a/frontend/src/sections/devices/devices-discovery.js b/frontend/src/sections/devices/devices-discovery.js index 721999c..54d889d 100644 --- a/frontend/src/sections/devices/devices-discovery.js +++ b/frontend/src/sections/devices/devices-discovery.js @@ -105,6 +105,50 @@ const addDeviceObj = async(obj, setShowLoading, router, updateDeviceParameters) } } +const deleteDeviceObj = async(obj, setShowLoading, router, updateDeviceParameters) => { + console.log("deleteDeviceObj => obj = ", obj) + let raw = JSON.stringify( + { + "allow_partial": true, + "obj_paths": [ + obj + ] + } + ) + var myHeaders = new Headers(); + myHeaders.append("Content-Type", "application/json"); + myHeaders.append("Authorization", localStorage.getItem("token")); + + var requestOptions = { + method: 'PUT', + headers: myHeaders, + redirect: 'follow', + body: raw + }; + setShowLoading(true) + let result = await (await fetch(`${process.env.NEXT_PUBLIC_REST_ENPOINT}/device/${router.query.id[0]}/del`, requestOptions)) + if (result.status != 200) { + setShowLoading(false) + throw new Error('Please check your email and password'); + }else{ + setShowLoading(false) + console.log(result.json()) + + let paths = obj.split(".") + console.log("paths:",paths) + + let pathsToJump = 2 + if (paths[paths.length -2] == "*"){ + pathsToJump = 3 + } + + paths.splice(paths.length - pathsToJump, pathsToJump) + let pathToFetch = paths.join(".") + + updateDeviceParameters(pathToFetch) + } +} + function ShowPath({x,updateDeviceParameters,setShowLoading, router}) { console.log(x) console.log("x.supported_obj_path:", x.supported_obj_path) @@ -132,11 +176,6 @@ function ShowPath({x,updateDeviceParameters,setShowLoading, router}) { - - - - - { console.log("x.supported_obj_path:",x.supported_obj_path) let supported_obj_path = x.supported_obj_path.replaceAll("{i}.","*.") @@ -156,18 +195,18 @@ function ShowPath({x,updateDeviceParameters,setShowLoading, router}) { - }else if (x.access === ObjAccessType.DeleteOnly){ - return - - - - } } return <> } -function ShowParamsWithValues({x, deviceParametersValue, setOpen, setParameter, setParameterValue}) { +function ShowParamsWithValues({ + x, deviceParametersValue, + setOpen, setParameter, + setParameterValue, deviceParameters, + setShowLoading, router, + updateDeviceParameters +}) { console.log("HEY jow:", deviceParametersValue) let paths = x.supported_obj_path.split(".") const showDialog = (param, paramvalue) => { @@ -182,8 +221,11 @@ function ShowParamsWithValues({x, deviceParametersValue, setOpen, setParameter, if(paths[paths.length -2] == "{i}"){ return Object.keys(deviceParametersValue).map((paramKey, h)=>{ - console.log(deviceParametersValue) - console.log(paramKey) + console.log("deviceParametersValue:", deviceParametersValue) + console.log("paramKey:", paramKey) + console.log("deviceParameters.req_obj_results[0].supported_objs[h]?.access:", deviceParameters.req_obj_results[0].supported_objs[h]?.access) + let obj = deviceParameters.req_obj_results[0].supported_objs[0] + let access = obj?.access return ( ObjAccessType.ReadOnly && + { + deleteDeviceObj( + paramKey, + setShowLoading, + router, + updateDeviceParameters + ) + }}> + + + + + } > {paramKey}} @@ -383,47 +440,47 @@ const getDeviceParameterInstances = async (raw) =>{ // }) // } // Multi instance not used, found better way to get values - const updateDeviceParametersMultiInstance = async (param) =>{ - console.log("UpdateDeviceParametersMultiInstance => param = ", param) +// const updateDeviceParametersMultiInstance = async (param) =>{ +// console.log("UpdateDeviceParametersMultiInstance => param = ", param) - let raw = JSON.stringify({ - "obj_paths": [param], - "first_level_only" : true, - "return_commands" : true, - "return_events" : true, - "return_params" : true - }) +// let raw = JSON.stringify({ +// "obj_paths": [param], +// "first_level_only" : true, +// "return_commands" : true, +// "return_events" : true, +// "return_params" : true +// }) - let response = await getDeviceParameterInstances(raw) - console.log("response:", response) +// let response = await getDeviceParameterInstances(raw) +// console.log("response:", response) - let instancesToGet = [] - if (response.req_path_results[0].curr_insts) { - let supportedParams = response.req_path_results[0].curr_insts - let instances = () => { - for (let i =0; i < supportedParams.length ;i++){ - instancesToGet.push(supportedParams[i].instantiated_obj_path) - } - } - instances() - }else{ - instancesToGet.push(response.req_path_results[0].requested_path) - } +// let instancesToGet = [] +// if (response.req_path_results[0].curr_insts) { +// let supportedParams = response.req_path_results[0].curr_insts +// let instances = () => { +// for (let i =0; i < supportedParams.length ;i++){ +// instancesToGet.push(supportedParams[i].instantiated_obj_path) +// } +// } +// instances() +// }else{ +// instancesToGet.push(response.req_path_results[0].requested_path) +// } - let rawInP = JSON.stringify({ - "obj_paths": instancesToGet, - "first_level_only" : true, - "return_commands" : true, - "return_events" : true, - "return_params" : true - }) +// let rawInP = JSON.stringify({ +// "obj_paths": instancesToGet, +// "first_level_only" : true, +// "return_commands" : true, +// "return_events" : true, +// "return_params" : true +// }) - let resultParams = await getDeviceParameters(rawInP) - console.log("result params:", resultParams) - setDeviceParameters(resultParams) +// let resultParams = await getDeviceParameters(rawInP) +// console.log("result params:", resultParams) +// setDeviceParameters(resultParams) - let paramsToFetch = [] +// let paramsToFetch = [] // console.log("parameters to fetch: ", paramsToFetch) @@ -467,7 +524,7 @@ const getDeviceParameterInstances = async (raw) =>{ // setDeviceParameters(resultParams) // setDeviceParametersValue(values) - } +// } const updateDeviceParameters = async (param) => { @@ -685,6 +742,10 @@ const getDeviceParameterInstances = async (raw) =>{ setOpen={setOpen} setParameter={setParameter} setParameterValue={setParameterValue} + deviceParameters={deviceParameters} + setShowLoading={setShowLoading} + router={router} + updateDeviceParameters={updateDeviceParameters} /> } { x.supported_commands &&