From 29902bc40bdfb1938265e0d7b255291edd36cdd8 Mon Sep 17 00:00:00 2001 From: csawatzky Date: Mon, 21 Apr 2025 14:39:04 -0600 Subject: [PATCH] updated as in the objectHeaterApi --- src/maps/mapDrawers/SiteDrawer.tsx | 4 ++-- src/objectHeater/ObjectHeaterSettings.tsx | 6 +++--- src/pages/Heater.tsx | 8 ++++---- src/pages/Heaters.tsx | 2 +- src/pages/Site.tsx | 2 +- src/providers/pond/ObjectHeaterAPI.tsx | 25 +++++++++++++---------- 6 files changed, 25 insertions(+), 22 deletions(-) diff --git a/src/maps/mapDrawers/SiteDrawer.tsx b/src/maps/mapDrawers/SiteDrawer.tsx index e2578ba..75110d2 100644 --- a/src/maps/mapDrawers/SiteDrawer.tsx +++ b/src/maps/mapDrawers/SiteDrawer.tsx @@ -122,7 +122,7 @@ export default function SiteDrawer(props: Props) { "write", "grant", "revoke" - ]) + ], as) .then(resp => { setLinkDrawer(false); reLoadSites(); @@ -184,7 +184,7 @@ export default function SiteDrawer(props: Props) { return ( - {/* {deviceLinkDrawer()} */} + {deviceLinkDrawer()} { openSnack("Heater update"); let updatedHeater = heater; @@ -161,7 +161,7 @@ export default function ObjectHeaterSettings(props: Props) { mutations: linearMutations }); objectHeaterAPI - .addObjectHeater(heaterName, settings) + .addObjectHeater(heaterName, settings, as) .then(resp => { openSnack("New heater added"); let newHeater = ObjectHeater.create( @@ -178,7 +178,7 @@ export default function ObjectHeaterSettings(props: Props) { const removeHeater = () => { if (heater) { objectHeaterAPI - .removeObjectHeater(heater.key) + .removeObjectHeater(heater.key, as) .then(resp => { openSnack("Heater Removed"); setRemoveDialog(false); diff --git a/src/pages/Heater.tsx b/src/pages/Heater.tsx index a6758be..2ba4086 100644 --- a/src/pages/Heater.tsx +++ b/src/pages/Heater.tsx @@ -140,7 +140,7 @@ export default function Heater() { } else { //if the heater was not carried from the heaters page, ie. page was reloaded, we will need to load the heater from the backend heaterAPI - .getObjectHeater(heaterID) + .getObjectHeater(heaterID, as) .then(resp => { let h = ObjectHeater.any(resp.data.heater); setHeater(h); @@ -192,7 +192,7 @@ export default function Heater() { let deviceID = displayDevice.device?.settings?.deviceId; if (deviceID) { heaterAPI - .updateLink(heater.key, "objectHeater", deviceID.toString(), "device", []) + .updateLink(heater.key, "objectHeater", deviceID.toString(), "device", [], as) .then(resp => { if (deviceID) { devices.delete(deviceID.toString()); @@ -205,7 +205,7 @@ export default function Heater() { let updatedHeater = heater; updatedHeater.settings.mutations = []; heaterAPI - .updateObjectHeater(heater.key, heater.name, updatedHeater.settings) + .updateObjectHeater(heater.key, heater.name, updatedHeater.settings, as) .then(resp => { setHeater(updatedHeater); setDisplayedMutations([...updatedHeater.settings.mutations]); @@ -234,7 +234,7 @@ export default function Heater() { "write", "grant", "revoke" - ]) + ], as) .then(resp => { if (deviceID) { devices.set(deviceID.toString(), dev); diff --git a/src/pages/Heaters.tsx b/src/pages/Heaters.tsx index 15dcb22..ebe56f0 100644 --- a/src/pages/Heaters.tsx +++ b/src/pages/Heaters.tsx @@ -155,7 +155,7 @@ export default function Heaters() { "write", "grant", "revoke" - ]) + ], as) .then(resp => { if (deviceID) { devices.set(deviceID.toString(), dev); diff --git a/src/pages/Site.tsx b/src/pages/Site.tsx index 5832fc9..2685f4d 100644 --- a/src/pages/Site.tsx +++ b/src/pages/Site.tsx @@ -178,7 +178,7 @@ export default function Site() { "write", "grant", "revoke" - ]) + ], as) .then(resp => { if (deviceID) { devices.set(deviceID.toString(), dev); diff --git a/src/providers/pond/ObjectHeaterAPI.tsx b/src/providers/pond/ObjectHeaterAPI.tsx index 5215fc5..4722e05 100644 --- a/src/providers/pond/ObjectHeaterAPI.tsx +++ b/src/providers/pond/ObjectHeaterAPI.tsx @@ -9,9 +9,10 @@ import { pondURL } from "./pond"; export interface IObjectHeaterAPIContext { addObjectHeater: ( name: string, - heater: pond.ObjectHeaterSettings + heater: pond.ObjectHeaterSettings, + as?: string ) => Promise>; - getObjectHeater: (key: string) => Promise>; + getObjectHeater: (key: string, as?: string) => Promise>; listObjectHeaters: ( limit: number, offset: number, @@ -24,19 +25,20 @@ export interface IObjectHeaterAPIContext { types?: string[], numerical?: boolean ) => Promise>; - removeObjectHeater: (key: string) => Promise>; + removeObjectHeater: (key: string, as?: string) => Promise>; updateObjectHeater: ( key: string, name: string, settings: pond.ObjectHeaterSettings, - asRoot?: true + as?: string ) => Promise>; updateLink: ( parentKey: string, parentType: string, objectID: string, objectType: string, - permissions: string[] + permissions: string[], + as?: string ) => Promise; listObjectHeatersPageData: ( limit: number, @@ -58,9 +60,9 @@ interface Props {} export default function ObjectHeaterProvider(props: PropsWithChildren) { const { children } = props; const { get, del, post, put } = useHTTP(); - const [{ as }] = useGlobalState(); + //const [{ as }] = useGlobalState(); - const addObjectHeater = (name: string, settings: pond.ObjectHeaterSettings) => { + const addObjectHeater = (name: string, settings: pond.ObjectHeaterSettings, as?: string) => { if (as) return post( pondURL("/objectHeaters?name=" + name + "&as=" + as), @@ -69,14 +71,14 @@ export default function ObjectHeaterProvider(props: PropsWithChildren) { return post(pondURL("/objectHeaters?name=" + name), settings); }; - const getObjectHeater = (key: string) => { + const getObjectHeater = (key: string, as?: string) => { if (as) { return get(pondURL("/objectHeaters/" + key + "?as=" + as)); } return get(pondURL("/objectHeaters/" + key)); }; - const removeObjectHeater = (key: string) => { + const removeObjectHeater = (key: string, as?: string) => { if (as) return del(pondURL("/objectHeaters/" + key + "?as=" + as)); return del(pondURL("/objectHeaters/" + key)); @@ -113,7 +115,7 @@ export default function ObjectHeaterProvider(props: PropsWithChildren) { ); }; - const updateObjectHeater = (key: string, name: string, settings: pond.ObjectHeaterSettings) => { + const updateObjectHeater = (key: string, name: string, settings: pond.ObjectHeaterSettings, as?: string) => { if (as) { return put( pondURL("/objectHeaters/" + key + "?as=" + as + "&name=" + name), @@ -131,7 +133,8 @@ export default function ObjectHeaterProvider(props: PropsWithChildren) { parentType: string, objectID: string, objectType: string, - permissions: string[] + permissions: string[], + as?: string ) => { if (as) return post(pondURL(`/objectHeaters/` + parentID + `/link?as=${as}`), {