diff --git a/src/lib/common/classes.ts b/src/lib/common/classes.ts index e6b5dd0..5615284 100644 --- a/src/lib/common/classes.ts +++ b/src/lib/common/classes.ts @@ -7,6 +7,9 @@ export class Device { public forcedTags: string[] = []; public validTags: string[] = []; public invalidTags: string[] = []; + public approvedRoutes: string[] = []; + public availableRoutes: string[] = []; + public subnetRoutes: string[] = []; public user: { name: string } = { name: '' }; public online?: boolean; diff --git a/src/lib/devices/DeviceCard/DeviceRoutes.svelte b/src/lib/devices/DeviceCard/DeviceRoutes.svelte index 59f606f..5e37eb4 100644 --- a/src/lib/devices/DeviceCard/DeviceRoutes.svelte +++ b/src/lib/devices/DeviceCard/DeviceRoutes.svelte @@ -1,67 +1,21 @@ Device Routes + import { getDevices } from '$lib/common/apiFunctions.svelte'; + import { Device } from '$lib/common/classes'; + import { alertStore } from '$lib/common/stores'; + import { approveDeviceRoute } from './DeviceRouteAPI.svelte'; + + export let route = "" + export let device = new Device(); + + let routeDisabled = false; + function approveRouteAction() { + approveDeviceRoute(device.id, [route]) + .then(() => { + // refresh users after editing + getDevices(); + }) + .catch((error) => { + $alertStore = error; + }); + } + + + +{route} +{#if device.approvedRoutes.includes(route)} + +{:else} + +{/if} +{#if device.subnetRoutes.includes(route)} + +{/if} diff --git a/src/lib/devices/DeviceCard/DeviceRoutes/DeviceRouteAPI.svelte b/src/lib/devices/DeviceCard/DeviceRoutes/DeviceRouteAPI.svelte new file mode 100644 index 0000000..3c1c4e6 --- /dev/null +++ b/src/lib/devices/DeviceCard/DeviceRoutes/DeviceRouteAPI.svelte @@ -0,0 +1,35 @@ + diff --git a/src/lib/devices/DeviceCard/DeviceRoutesAPI.svelte b/src/lib/devices/DeviceCard/DeviceRoutesAPI.svelte deleted file mode 100644 index 4ffff36..0000000 --- a/src/lib/devices/DeviceCard/DeviceRoutesAPI.svelte +++ /dev/null @@ -1,84 +0,0 @@ -