From 6b97adf9011946e36051380a7964e9a50a980983 Mon Sep 17 00:00:00 2001 From: David Edler Date: Fri, 19 Jan 2024 19:08:52 +0100 Subject: [PATCH] fix(network) fix types for network validation functions Signed-off-by: David Edler --- src/util/networks.spec.tsx | 8 ++++---- src/util/networks.tsx | 10 ++-------- 2 files changed, 6 insertions(+), 12 deletions(-) diff --git a/src/util/networks.spec.tsx b/src/util/networks.spec.tsx index 815791414..b83cfbbdc 100644 --- a/src/util/networks.spec.tsx +++ b/src/util/networks.spec.tsx @@ -5,7 +5,7 @@ describe("areNetworksEqual", () => { it("accepts matches", () => { const a: Partial & Required> = { config: { - "bridge.mode": "standard", + "bridge.driver": "native", "ipv4.address": "auto", "ipv6.address": "fd42:2c50:bf9f:52b1::1/64", "ipv6.nat": "true", @@ -17,7 +17,7 @@ describe("areNetworksEqual", () => { }; const b: Partial & Required> = { config: { - "bridge.mode": "standard", + "bridge.driver": "native", "ipv4.address": "10.191.170.1/24", "ipv6.address": "fd42:2c50:bf9f:52b1::1/64", "ipv6.nat": "true", @@ -47,12 +47,12 @@ describe("areNetworksEqual", () => { it("rejects config diff", () => { const a: Partial & Required> = { config: { - "bridge.mode": "standard", + "bridge.driver": "native", }, }; const b: Partial & Required> = { config: { - "bridge.mode": "fan", + "bridge.driver": "openvswitch", }, }; diff --git a/src/util/networks.tsx b/src/util/networks.tsx index 1592e07ec..9fd171a9c 100644 --- a/src/util/networks.tsx +++ b/src/util/networks.tsx @@ -1,7 +1,6 @@ import { LxdInstance } from "types/instance"; import { LxdNetwork, LxdNetworkConfig } from "types/network"; import { ConfigRowMetadata } from "util/configInheritance"; -import { AnyObject, TestFunction } from "yup"; export const getIpAddresses = ( instance: LxdInstance, @@ -79,9 +78,7 @@ export const areNetworksEqual = ( return !hasMainKeyDiff; }; -export const testValidIp: TestFunction = ( - ip, -) => { +export const testValidIp = (ip: string | null | undefined) => { const expression = /((^\s*((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))\s*$)|(^\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(%.+)?\s*$))/; @@ -91,10 +88,7 @@ export const testValidIp: TestFunction = ( return expression.test(ip); }; -export const testValidPort: TestFunction< - string | null | undefined, - AnyObject -> = (port) => { +export const testValidPort = (port: string | null | undefined) => { const expression = /^(([1-9][0-9]{0,3}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5])[-,]){0,9}([1-9][0-9]{0,3}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5])$/;