diff --git a/components/NetworkMap/NetworkMap.tsx b/components/NetworkMap/NetworkMap.tsx index 373271c77b9ac28e5b7a139b21258773d78f7b69..842f978ae5a6bb4daa90f356044371e1f631364b 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 d1b9b450466bb22ba28150bff040cbc8c184c781..06cb76a8978d03349d70794c4f81066528fd4ad0 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 0000000000000000000000000000000000000000..e62d6af95903270a56073bd9a6648728b6e24cf1 --- /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 }>; +}