From e2ac6803be009de4cbbfb84e776b70f9b884e939 Mon Sep 17 00:00:00 2001 From: Mohammad Torkashvand <mohammad.torkashvand@geant.org> Date: Tue, 4 Jun 2024 14:30:21 +0200 Subject: [PATCH] rfactor types --- components/NetworkMap/NetworkMap.tsx | 34 +--------------------------- pages/maps/index.tsx | 34 +--------------------------- types/types.ts | 32 ++++++++++++++++++++++++++ 3 files changed, 34 insertions(+), 66 deletions(-) create mode 100644 types/types.ts diff --git a/components/NetworkMap/NetworkMap.tsx b/components/NetworkMap/NetworkMap.tsx index 373271c..842f978 100644 --- a/components/NetworkMap/NetworkMap.tsx +++ b/components/NetworkMap/NetworkMap.tsx @@ -1,3 +1,4 @@ +import { NetworkTopologyData } from '@/types/types'; import { EuiToolTip, EuiSelect, @@ -11,39 +12,6 @@ import React, { useEffect, useState, useRef } from 'react'; cytoscape.use(fcose); -interface IptrunkSideNode { - subscription_instance_id: string; - router_fqdn: string; - router_access_via_ts: boolean; - router_lo_ipv4_address: string; - router_lo_ipv6_address: string; - router_lo_iso_address: string; - router_role: string; - vendor: string; - router_site: { - site_internal_id: string; - site_name: string; - site_city: string; - site_country: string; - site_latitude: number; - site_longitude: number; - }; -} - -interface Iptrunk { - subscription_instance_id: string; - iptrunk_isis_metric: string; - iptrunk_capacity: string; - iptrunk_type: string; - iptrunk_ipv4_network: string; - iptrunk_ipv6_network: string; - iptrunk_sides: Array<{ iptrunk_side_node: IptrunkSideNode }>; -} - -interface NetworkTopologyData { - iptrunks: Array<{ iptrunk: Iptrunk; insync: boolean }>; -} - interface NetworkMapProps { data: NetworkTopologyData | null; } diff --git a/pages/maps/index.tsx b/pages/maps/index.tsx index d1b9b45..06cb76a 100644 --- a/pages/maps/index.tsx +++ b/pages/maps/index.tsx @@ -1,42 +1,10 @@ import NetworkMap from '@/components/NetworkMap/NetworkMap'; +import { NetworkTopologyData } from '@/types/types'; import axios from 'axios'; import { NextPage, GetServerSideProps } from 'next'; import Head from 'next/head'; import React from 'react'; -interface IptrunkSideNode { - subscription_instance_id: string; - router_fqdn: string; - router_access_via_ts: boolean; - router_lo_ipv4_address: string; - router_lo_ipv6_address: string; - router_lo_iso_address: string; - router_role: string; - vendor: string; - router_site: { - site_internal_id: string; - site_name: string; - site_city: string; - site_country: string; - site_latitude: number; - site_longitude: number; - }; -} - -interface Iptrunk { - subscription_instance_id: string; - iptrunk_isis_metric: string; - iptrunk_capacity: string; - iptrunk_type: string; - iptrunk_ipv4_network: string; - iptrunk_ipv6_network: string; - iptrunk_sides: Array<{ iptrunk_side_node: IptrunkSideNode }>; -} - -interface NetworkTopologyData { - iptrunks: Array<{ iptrunk: Iptrunk; insync: boolean }>; -} - interface MapsProps { networkTopologyData: NetworkTopologyData; } diff --git a/types/types.ts b/types/types.ts new file mode 100644 index 0000000..e62d6af --- /dev/null +++ b/types/types.ts @@ -0,0 +1,32 @@ +export interface IptrunkSideNode { + subscription_instance_id: string; + router_fqdn: string; + router_access_via_ts: boolean; + router_lo_ipv4_address: string; + router_lo_ipv6_address: string; + router_lo_iso_address: string; + router_role: string; + vendor: string; + router_site: { + site_internal_id: string; + site_name: string; + site_city: string; + site_country: string; + site_latitude: number; + site_longitude: number; + }; +} + +export interface Iptrunk { + subscription_instance_id: string; + iptrunk_isis_metric: string; + iptrunk_capacity: string; + iptrunk_type: string; + iptrunk_ipv4_network: string; + iptrunk_ipv6_network: string; + iptrunk_sides: Array<{ iptrunk_side_node: IptrunkSideNode }>; +} + +export interface NetworkTopologyData { + iptrunks: Array<{ iptrunk: Iptrunk; insync: boolean }>; +} -- GitLab