From a6aa8da9229b1d6219f63d8a0e2ba2f7fdb29706 Mon Sep 17 00:00:00 2001
From: Johanna Szepanski <johanna.szepanski@softhouse.se>
Date: Thu, 11 Jul 2024 11:27:30 +0200
Subject: [PATCH] updated components affected by the endpoint split

---
 src/components/host/HostBadge.js              |  8 ++---
 .../host/details/HostDetailsContainer.js      |  6 ++--
 src/views/host/details/HostDetailsTable.js    | 18 +++--------
 src/views/host/details/HostDetailsView.js     | 31 ++++++++++---------
 4 files changed, 29 insertions(+), 34 deletions(-)

diff --git a/src/components/host/HostBadge.js b/src/components/host/HostBadge.js
index ec389772..70c6507e 100644
--- a/src/components/host/HostBadge.js
+++ b/src/components/host/HostBadge.js
@@ -2,12 +2,12 @@ import React from "react";
 import { IconBadge } from "@ess-ics/ce-ui-common";
 import { HostStatusIcon } from "./HostStatusIcon";
 
-export function HostBadge({ host, ...rest }) {
+export function HostBadge({ host, status, ...rest }) {
   return (
     <IconBadge
-      icon={<HostStatusIcon hostStatus={host.status} />}
-      title={host.netBoxHost?.fqdn}
-      subtitle={host.netBoxHost?.network || "---"}
+      icon={<HostStatusIcon hostStatus={status} />}
+      title={host.fqdn}
+      subtitle={host.network || "---"}
       {...rest}
     />
   );
diff --git a/src/views/host/details/HostDetailsContainer.js b/src/views/host/details/HostDetailsContainer.js
index 6baeffa1..5fa8a528 100644
--- a/src/views/host/details/HostDetailsContainer.js
+++ b/src/views/host/details/HostDetailsContainer.js
@@ -36,10 +36,12 @@ export function HostDetailsContainer({ hostId, hostFqdn }) {
 
   useEffect(() => {
     if (fetchError || statusError) {
-      const message = fetchError.message
+      const message = fetchError?.message
         ? fetchError.message
         : statusError.message;
-      const status = fetchError.status ? fetchError.status : statusError.status;
+      const status = fetchError?.status
+        ? fetchError.status
+        : statusError?.status;
       onFetchEntityError(message, status, setError);
     }
   }, [fetchError, statusError]);
diff --git a/src/views/host/details/HostDetailsTable.js b/src/views/host/details/HostDetailsTable.js
index 08a7b33f..2dc8d4e1 100644
--- a/src/views/host/details/HostDetailsTable.js
+++ b/src/views/host/details/HostDetailsTable.js
@@ -19,20 +19,10 @@ const Tags = ({ tags }) => (
 );
 
 const getTableData = (host) => ({
-  "device type": host?.netBoxHost?.vm
-    ? "Virtual machine"
-    : host?.netBoxHost?.deviceType,
-  description: host?.netBoxHost?.description ? (
-    host.netBoxHost.description
-  ) : (
-    <EmptyValue />
-  ),
-  scope: host?.netBoxHost?.scope,
-  tags: host?.netBoxHost?.tags ? (
-    <Tags tags={host?.netBoxHost?.tags} />
-  ) : (
-    <EmptyValue />
-  )
+  "device type": host.vm ? "Virtual machine" : host.deviceType,
+  description: host.description ? host.description : <EmptyValue />,
+  scope: host.scope,
+  tags: host.tags ? <Tags tags={host.tags} /> : <EmptyValue />
 });
 
 export const HostDetailsTable = ({ host }) => (
diff --git a/src/views/host/details/HostDetailsView.js b/src/views/host/details/HostDetailsView.js
index b2d00a26..75e81bbb 100644
--- a/src/views/host/details/HostDetailsView.js
+++ b/src/views/host/details/HostDetailsView.js
@@ -23,14 +23,14 @@ import { HostJobsSection } from "./HostJobsSection";
 import { HostIocSection } from "./HostIocSection";
 import env from "../../../config/env";
 
-export function HostDetailsView({ hostId, host }) {
+export function HostDetailsView({ hostId, host, status }) {
   const { setTitle } = useContext(GlobalAppBarContext);
   const navigate = useNavigate();
   const [urlState, setUrlState] = useUrlState();
 
   useEffect(() => {
-    if (host && host.netBoxHost) {
-      setTitle(applicationTitle("Host Details: " + host.netBoxHost.name));
+    if (host && host.name) {
+      setTitle(applicationTitle("Host Details: " + host.name));
     }
   }, [host, setTitle]);
 
@@ -63,8 +63,11 @@ export function HostDetailsView({ hostId, host }) {
       </Box>
       {host ? (
         <>
-          <AlertBannerList alerts={host.alerts ?? []} />
-          <HostBadge host={host} />
+          <AlertBannerList alerts={status.alerts ?? []} />
+          <HostBadge
+            host={host}
+            status={status}
+          />
           <Stack gap={2}>
             <HostIocSection
               hostId={hostId}
@@ -113,7 +116,7 @@ export function HostDetailsView({ hostId, host }) {
                 Host log stream
               </Typography>
               <LokiPanel
-                hostName={host.netBoxHost.name}
+                hostName={host.name}
                 isSyslog
                 isDeployed
               />
@@ -124,24 +127,24 @@ export function HostDetailsView({ hostId, host }) {
               "Host Configuration": (
                 <ExternalLink
                   href={
-                    host?.netBoxHost.vm
-                      ? `${env.NETBOX_ADDRESS}/virtualization/virtual-machines/${host?.netBoxHost.id}`
-                      : `${env.NETBOX_ADDRESS}/dcim/devices/${host?.netBoxHost.id}`
+                    host.vm
+                      ? `${env.NETBOX_ADDRESS}/virtualization/virtual-machines/${host.hostId}`
+                      : `${env.NETBOX_ADDRESS}/dcim/devices/${host.hostId}`
                   }
                   aria-label="Host Configuration"
                 >
                   {" "}
-                  {host?.netBoxHost.vm
-                    ? `${env.NETBOX_ADDRESS}/virtualization/virtual-machines/${host?.netBoxHost.id}`
-                    : `${env.NETBOX_ADDRESS}/dcim/devices/${host?.netBoxHost.id}`}
+                  {host.vm
+                    ? `${env.NETBOX_ADDRESS}/virtualization/virtual-machines/${host.hostId}`
+                    : `${env.NETBOX_ADDRESS}/dcim/devices/${host.hostId}`}
                 </ExternalLink>
               ),
               "Host Metrics": (
                 <ExternalLink
-                  href={`https://grafana.tn.esss.lu.se/d/5zJT23xWz/node-exporter-full?orgId=1&var-node=${host?.netBoxHost.fqdn}`}
+                  href={`https://grafana.tn.esss.lu.se/d/5zJT23xWz/node-exporter-full?orgId=1&var-node=${host.fqdn}`}
                   aria-label="Host Metrics"
                 >
-                  {`https://grafana.tn.esss.lu.se/d/5zJT23xWz/node-exporter-full?orgId=1&var-node=${host?.netBoxHost.fqdn}`}
+                  {`https://grafana.tn.esss.lu.se/d/5zJT23xWz/node-exporter-full?orgId=1&var-node=${host.fqdn}`}
                 </ExternalLink>
               )
             }}
-- 
GitLab