diff --git a/ui/src/components/access/forms/AccessConfigFieldsProvider1Panel.tsx b/ui/src/components/access/forms/AccessConfigFieldsProvider1Panel.tsx index a820abbed..d41c62ae8 100644 --- a/ui/src/components/access/forms/AccessConfigFieldsProvider1Panel.tsx +++ b/ui/src/components/access/forms/AccessConfigFieldsProvider1Panel.tsx @@ -1,7 +1,7 @@ import { getI18n, useTranslation } from "react-i18next"; import { Form, Input, Select, Switch } from "antd"; import { createSchemaFieldRule } from "antd-zod"; -import { z } from "zod"; +import { core, z } from "zod"; import { useFormNestedFieldsContext } from "./_context"; @@ -70,7 +70,7 @@ const getSchema = ({ i18n = getI18n() }: { i18n: ReturnType }) = const { t: _ } = i18n; return z.object({ - serverUrl: z.httpUrl(), + serverUrl: z.url({ protocol: core.regexes.httpProtocol }), apiVersion: z.string().nonempty(), apiKey: z.string().nonempty(), allowInsecureConnections: z.boolean().nullish(), diff --git a/ui/src/components/access/forms/AccessConfigFieldsProviderACMECA.tsx b/ui/src/components/access/forms/AccessConfigFieldsProviderACMECA.tsx index a774cdbe8..818226213 100644 --- a/ui/src/components/access/forms/AccessConfigFieldsProviderACMECA.tsx +++ b/ui/src/components/access/forms/AccessConfigFieldsProviderACMECA.tsx @@ -1,7 +1,7 @@ import { getI18n, useTranslation } from "react-i18next"; import { Form, Input } from "antd"; import { createSchemaFieldRule } from "antd-zod"; -import { z } from "zod"; +import { core, z } from "zod"; import { useFormNestedFieldsContext } from "./_context"; @@ -53,7 +53,7 @@ const getSchema = ({ i18n = getI18n() }: { i18n: ReturnType }) = const { t: _ } = i18n; return z.object({ - endpoint: z.httpUrl(), + endpoint: z.url({ protocol: core.regexes.httpProtocol }), eabKid: z.string().nullish(), eabHmacKey: z.string().nullish(), }); diff --git a/ui/src/components/access/forms/AccessConfigFieldsProviderACMEDNS.tsx b/ui/src/components/access/forms/AccessConfigFieldsProviderACMEDNS.tsx index ed65ea6c4..5b264da3c 100644 --- a/ui/src/components/access/forms/AccessConfigFieldsProviderACMEDNS.tsx +++ b/ui/src/components/access/forms/AccessConfigFieldsProviderACMEDNS.tsx @@ -1,7 +1,7 @@ import { getI18n, useTranslation } from "react-i18next"; import { Form, Input } from "antd"; import { createSchemaFieldRule } from "antd-zod"; -import { z } from "zod/v4"; +import { core, z } from "zod"; import FileTextInput from "@/components/FileTextInput"; import { isJsonObject } from "@/utils/validator"; @@ -53,7 +53,7 @@ const getSchema = ({ i18n = getI18n() }: { i18n: ReturnType }) = const { t } = i18n; return z.object({ - serverUrl: z.httpUrl(), + serverUrl: z.url({ protocol: core.regexes.httpProtocol }), credentials: z.string().refine((v) => isJsonObject(v), t("common.errmsg.json_invalid")), }); }; diff --git a/ui/src/components/access/forms/AccessConfigFieldsProviderACMEHttpReq.tsx b/ui/src/components/access/forms/AccessConfigFieldsProviderACMEHttpReq.tsx index 33199d08a..f35c94c77 100644 --- a/ui/src/components/access/forms/AccessConfigFieldsProviderACMEHttpReq.tsx +++ b/ui/src/components/access/forms/AccessConfigFieldsProviderACMEHttpReq.tsx @@ -1,7 +1,7 @@ import { getI18n, useTranslation } from "react-i18next"; import { Form, Input, Select } from "antd"; import { createSchemaFieldRule } from "antd-zod"; -import { z } from "zod"; +import { core, z } from "zod"; import { useFormNestedFieldsContext } from "./_context"; @@ -77,7 +77,7 @@ const getSchema = ({ i18n = getI18n() }: { i18n: ReturnType }) = const { t: _ } = i18n; return z.object({ - endpoint: z.httpUrl(), + endpoint: z.url({ protocol: core.regexes.httpProtocol }), mode: z.string().nullish(), username: z.string().nullish(), password: z.string().nullish(), diff --git a/ui/src/components/access/forms/AccessConfigFieldsProviderAPISIX.tsx b/ui/src/components/access/forms/AccessConfigFieldsProviderAPISIX.tsx index d86420a41..b9aa37b95 100644 --- a/ui/src/components/access/forms/AccessConfigFieldsProviderAPISIX.tsx +++ b/ui/src/components/access/forms/AccessConfigFieldsProviderAPISIX.tsx @@ -1,7 +1,7 @@ import { getI18n, useTranslation } from "react-i18next"; import { Form, Input, Switch } from "antd"; import { createSchemaFieldRule } from "antd-zod"; -import { z } from "zod"; +import { core, z } from "zod"; import { useFormNestedFieldsContext } from "./_context"; @@ -59,7 +59,7 @@ const getSchema = ({ i18n = getI18n() }: { i18n: ReturnType }) = const { t: _ } = i18n; return z.object({ - serverUrl: z.httpUrl(), + serverUrl: z.url({ protocol: core.regexes.httpProtocol }), apiKey: z.string().nonempty(), allowInsecureConnections: z.boolean().nullish(), }); diff --git a/ui/src/components/access/forms/AccessConfigFieldsProviderBaotaPanel.tsx b/ui/src/components/access/forms/AccessConfigFieldsProviderBaotaPanel.tsx index 10d65d8ec..9fd1f3f1d 100644 --- a/ui/src/components/access/forms/AccessConfigFieldsProviderBaotaPanel.tsx +++ b/ui/src/components/access/forms/AccessConfigFieldsProviderBaotaPanel.tsx @@ -1,7 +1,7 @@ import { getI18n, useTranslation } from "react-i18next"; import { Form, Input, Switch } from "antd"; import { createSchemaFieldRule } from "antd-zod"; -import { z } from "zod"; +import { core, z } from "zod"; import { useFormNestedFieldsContext } from "./_context"; @@ -60,7 +60,7 @@ const getSchema = ({ i18n = getI18n() }: { i18n: ReturnType }) = const { t: _ } = i18n; return z.object({ - serverUrl: z.httpUrl(), + serverUrl: z.url({ protocol: core.regexes.httpProtocol }), apiKey: z.string().nonempty(), allowInsecureConnections: z.boolean().nullish(), }); diff --git a/ui/src/components/access/forms/AccessConfigFieldsProviderBaotaPanelGo.tsx b/ui/src/components/access/forms/AccessConfigFieldsProviderBaotaPanelGo.tsx index ad2a0aec7..4121d352d 100644 --- a/ui/src/components/access/forms/AccessConfigFieldsProviderBaotaPanelGo.tsx +++ b/ui/src/components/access/forms/AccessConfigFieldsProviderBaotaPanelGo.tsx @@ -1,7 +1,7 @@ import { getI18n, useTranslation } from "react-i18next"; import { Form, Input, Switch } from "antd"; import { createSchemaFieldRule } from "antd-zod"; -import { z } from "zod"; +import { core, z } from "zod"; import { useFormNestedFieldsContext } from "./_context"; @@ -60,7 +60,7 @@ const getSchema = ({ i18n = getI18n() }: { i18n: ReturnType }) = const { t: _ } = i18n; return z.object({ - serverUrl: z.httpUrl(), + serverUrl: z.url({ protocol: core.regexes.httpProtocol }), apiKey: z.string().nonempty(), allowInsecureConnections: z.boolean().nullish(), }); diff --git a/ui/src/components/access/forms/AccessConfigFieldsProviderBaotaWAF.tsx b/ui/src/components/access/forms/AccessConfigFieldsProviderBaotaWAF.tsx index c628de2a3..0b4d6015b 100644 --- a/ui/src/components/access/forms/AccessConfigFieldsProviderBaotaWAF.tsx +++ b/ui/src/components/access/forms/AccessConfigFieldsProviderBaotaWAF.tsx @@ -1,7 +1,7 @@ import { getI18n, useTranslation } from "react-i18next"; import { Form, Input, Switch } from "antd"; import { createSchemaFieldRule } from "antd-zod"; -import { z } from "zod"; +import { core, z } from "zod"; import { useFormNestedFieldsContext } from "./_context"; @@ -60,7 +60,7 @@ const getSchema = ({ i18n = getI18n() }: { i18n: ReturnType }) = const { t: _ } = i18n; return z.object({ - serverUrl: z.httpUrl(), + serverUrl: z.url({ protocol: core.regexes.httpProtocol }), apiKey: z.string().nonempty(), allowInsecureConnections: z.boolean().nullish(), }); diff --git a/ui/src/components/access/forms/AccessConfigFieldsProviderCPanel.tsx b/ui/src/components/access/forms/AccessConfigFieldsProviderCPanel.tsx index 08ac43726..7b0aa4a06 100644 --- a/ui/src/components/access/forms/AccessConfigFieldsProviderCPanel.tsx +++ b/ui/src/components/access/forms/AccessConfigFieldsProviderCPanel.tsx @@ -1,7 +1,7 @@ import { getI18n, useTranslation } from "react-i18next"; import { Form, Input, Switch } from "antd"; import { createSchemaFieldRule } from "antd-zod"; -import { z } from "zod"; +import { core, z } from "zod"; import { useFormNestedFieldsContext } from "./_context"; @@ -64,7 +64,7 @@ const getSchema = ({ i18n = getI18n() }: { i18n: ReturnType }) = const { t: _ } = i18n; return z.object({ - serverUrl: z.httpUrl(), + serverUrl: z.url({ protocol: core.regexes.httpProtocol }), username: z.string().nonempty(), apiToken: z.string().nonempty(), allowInsecureConnections: z.boolean().nullish(), diff --git a/ui/src/components/access/forms/AccessConfigFieldsProviderCdnfly.tsx b/ui/src/components/access/forms/AccessConfigFieldsProviderCdnfly.tsx index 042409abc..5347963e0 100644 --- a/ui/src/components/access/forms/AccessConfigFieldsProviderCdnfly.tsx +++ b/ui/src/components/access/forms/AccessConfigFieldsProviderCdnfly.tsx @@ -1,7 +1,7 @@ import { getI18n, useTranslation } from "react-i18next"; import { Form, Input, Switch } from "antd"; import { createSchemaFieldRule } from "antd-zod"; -import { z } from "zod"; +import { core, z } from "zod"; import { useFormNestedFieldsContext } from "./_context"; @@ -70,7 +70,7 @@ const getSchema = ({ i18n = getI18n() }: { i18n: ReturnType }) = const { t: _ } = i18n; return z.object({ - serverUrl: z.httpUrl(), + serverUrl: z.url({ protocol: core.regexes.httpProtocol }), apiKey: z.string().nonempty(), apiSecret: z.string().nonempty(), allowInsecureConnections: z.boolean().nullish(), diff --git a/ui/src/components/access/forms/AccessConfigFieldsProviderDingTalkBot.tsx b/ui/src/components/access/forms/AccessConfigFieldsProviderDingTalkBot.tsx index 84612e41e..52ed682c1 100644 --- a/ui/src/components/access/forms/AccessConfigFieldsProviderDingTalkBot.tsx +++ b/ui/src/components/access/forms/AccessConfigFieldsProviderDingTalkBot.tsx @@ -1,7 +1,7 @@ import { getI18n, useTranslation } from "react-i18next"; import { Checkbox, Form, Input } from "antd"; import { createSchemaFieldRule } from "antd-zod"; -import { z } from "zod"; +import { core, z } from "zod"; import CodeTextInput from "@/components/CodeTextInput"; import { isJsonObject } from "@/utils/validator"; @@ -103,7 +103,7 @@ const getSchema = ({ i18n = getI18n() }: { i18n: ReturnType }) = return z .object({ - webhookUrl: z.httpUrl(), + webhookUrl: z.url({ protocol: core.regexes.httpProtocol }), secret: z.string().nullish(), useCustomPayload: z.boolean().nullish(), customPayload: z.string().nullish(), diff --git a/ui/src/components/access/forms/AccessConfigFieldsProviderDokploy.tsx b/ui/src/components/access/forms/AccessConfigFieldsProviderDokploy.tsx index 62488e420..b2eb975ae 100644 --- a/ui/src/components/access/forms/AccessConfigFieldsProviderDokploy.tsx +++ b/ui/src/components/access/forms/AccessConfigFieldsProviderDokploy.tsx @@ -1,7 +1,7 @@ import { getI18n, useTranslation } from "react-i18next"; import { Form, Input, Switch } from "antd"; import { createSchemaFieldRule } from "antd-zod"; -import { z } from "zod"; +import { core, z } from "zod"; import { useFormNestedFieldsContext } from "./_context"; @@ -59,7 +59,7 @@ const getSchema = ({ i18n = getI18n() }: { i18n: ReturnType }) = const { t: _ } = i18n; return z.object({ - serverUrl: z.httpUrl(), + serverUrl: z.url({ protocol: core.regexes.httpProtocol }), apiKey: z.string().nonempty(), allowInsecureConnections: z.boolean().nullish(), }); diff --git a/ui/src/components/access/forms/AccessConfigFieldsProviderFlexCDN.tsx b/ui/src/components/access/forms/AccessConfigFieldsProviderFlexCDN.tsx index 7fa7ff27d..7355ed01a 100644 --- a/ui/src/components/access/forms/AccessConfigFieldsProviderFlexCDN.tsx +++ b/ui/src/components/access/forms/AccessConfigFieldsProviderFlexCDN.tsx @@ -1,7 +1,7 @@ import { getI18n, useTranslation } from "react-i18next"; import { Form, Input, Radio, Switch } from "antd"; import { createSchemaFieldRule } from "antd-zod"; -import { z } from "zod"; +import { core, z } from "zod"; import { useFormNestedFieldsContext } from "./_context"; @@ -75,7 +75,7 @@ const getSchema = ({ i18n = getI18n() }: { i18n: ReturnType }) = const { t: _ } = i18n; return z.object({ - serverUrl: z.httpUrl(), + serverUrl: z.url({ protocol: core.regexes.httpProtocol }), apiRole: z.enum(["user", "admin"]), accessKeyId: z.string().nonempty(), accessKey: z.string().nonempty(), diff --git a/ui/src/components/access/forms/AccessConfigFieldsProviderGoEdge.tsx b/ui/src/components/access/forms/AccessConfigFieldsProviderGoEdge.tsx index 4711cf835..c7238aec1 100644 --- a/ui/src/components/access/forms/AccessConfigFieldsProviderGoEdge.tsx +++ b/ui/src/components/access/forms/AccessConfigFieldsProviderGoEdge.tsx @@ -1,7 +1,7 @@ import { getI18n, useTranslation } from "react-i18next"; import { Form, Input, Radio, Switch } from "antd"; import { createSchemaFieldRule } from "antd-zod"; -import { z } from "zod"; +import { core, z } from "zod"; import { useFormNestedFieldsContext } from "./_context"; @@ -75,7 +75,7 @@ const getSchema = ({ i18n = getI18n() }: { i18n: ReturnType }) = const { t: _ } = i18n; return z.object({ - serverUrl: z.httpUrl(), + serverUrl: z.url({ protocol: core.regexes.httpProtocol }), apiRole: z.enum(["user", "admin"]), accessKeyId: z.string().nonempty(), accessKey: z.string().nonempty(), diff --git a/ui/src/components/access/forms/AccessConfigFieldsProviderKong.tsx b/ui/src/components/access/forms/AccessConfigFieldsProviderKong.tsx index d4bdbd3e1..0e166434b 100644 --- a/ui/src/components/access/forms/AccessConfigFieldsProviderKong.tsx +++ b/ui/src/components/access/forms/AccessConfigFieldsProviderKong.tsx @@ -1,7 +1,7 @@ import { getI18n, useTranslation } from "react-i18next"; import { Form, Input, Switch } from "antd"; import { createSchemaFieldRule } from "antd-zod"; -import { z } from "zod"; +import { core, z } from "zod"; import { useFormNestedFieldsContext } from "./_context"; @@ -54,7 +54,7 @@ const getSchema = ({ i18n = getI18n() }: { i18n: ReturnType }) = const { t: _ } = i18n; return z.object({ - serverUrl: z.httpUrl(), + serverUrl: z.url({ protocol: core.regexes.httpProtocol }), apiToken: z.string().nullish(), allowInsecureConnections: z.boolean().nullish(), }); diff --git a/ui/src/components/access/forms/AccessConfigFieldsProviderLarkBot.tsx b/ui/src/components/access/forms/AccessConfigFieldsProviderLarkBot.tsx index 374940b98..e2c808c95 100644 --- a/ui/src/components/access/forms/AccessConfigFieldsProviderLarkBot.tsx +++ b/ui/src/components/access/forms/AccessConfigFieldsProviderLarkBot.tsx @@ -1,7 +1,7 @@ import { getI18n, useTranslation } from "react-i18next"; import { Checkbox, Form, Input } from "antd"; import { createSchemaFieldRule } from "antd-zod"; -import { z } from "zod"; +import { core, z } from "zod"; import CodeTextInput from "@/components/CodeTextInput"; import { isJsonObject } from "@/utils/validator"; @@ -103,7 +103,7 @@ const getSchema = ({ i18n = getI18n() }: { i18n: ReturnType }) = return z .object({ - webhookUrl: z.httpUrl(), + webhookUrl: z.url({ protocol: core.regexes.httpProtocol }), secret: z.string().nullish(), useCustomPayload: z.boolean().nullish(), customPayload: z.string().nullish(), diff --git a/ui/src/components/access/forms/AccessConfigFieldsProviderLeCDN.tsx b/ui/src/components/access/forms/AccessConfigFieldsProviderLeCDN.tsx index f6493189c..2babbe4a2 100644 --- a/ui/src/components/access/forms/AccessConfigFieldsProviderLeCDN.tsx +++ b/ui/src/components/access/forms/AccessConfigFieldsProviderLeCDN.tsx @@ -1,7 +1,7 @@ import { getI18n, useTranslation } from "react-i18next"; import { Form, Input, Radio, Select, Switch } from "antd"; import { createSchemaFieldRule } from "antd-zod"; -import { z } from "zod"; +import { core, z } from "zod"; import { useFormNestedFieldsContext } from "./_context"; @@ -68,7 +68,7 @@ const getSchema = ({ i18n = getI18n() }: { i18n: ReturnType }) = const { t: _ } = i18n; return z.object({ - serverUrl: z.httpUrl(), + serverUrl: z.url({ protocol: core.regexes.httpProtocol }), apiVersion: z.enum(["v3"]), apiRole: z.enum(["client", "master"]), username: z.string().nonempty(), diff --git a/ui/src/components/access/forms/AccessConfigFieldsProviderMattermost.tsx b/ui/src/components/access/forms/AccessConfigFieldsProviderMattermost.tsx index f53704d86..b566d33cb 100644 --- a/ui/src/components/access/forms/AccessConfigFieldsProviderMattermost.tsx +++ b/ui/src/components/access/forms/AccessConfigFieldsProviderMattermost.tsx @@ -1,7 +1,7 @@ import { getI18n, useTranslation } from "react-i18next"; import { Form, Input } from "antd"; import { createSchemaFieldRule } from "antd-zod"; -import { z } from "zod"; +import { core, z } from "zod"; import { useFormNestedFieldsContext } from "./_context"; @@ -71,7 +71,7 @@ const getSchema = ({ i18n = getI18n() }: { i18n: ReturnType }) = const { t: _ } = i18n; return z.object({ - serverUrl: z.httpUrl(), + serverUrl: z.url({ protocol: core.regexes.httpProtocol }), username: z.string().nonempty(), password: z.string().nonempty(), channelId: z.string().nullish(), diff --git a/ui/src/components/access/forms/AccessConfigFieldsProviderNginxProxyManager.tsx b/ui/src/components/access/forms/AccessConfigFieldsProviderNginxProxyManager.tsx index 000a8eb2b..07eab9d4b 100644 --- a/ui/src/components/access/forms/AccessConfigFieldsProviderNginxProxyManager.tsx +++ b/ui/src/components/access/forms/AccessConfigFieldsProviderNginxProxyManager.tsx @@ -1,7 +1,7 @@ import { getI18n, useTranslation } from "react-i18next"; import { Form, Input, Radio, Switch } from "antd"; import { createSchemaFieldRule } from "antd-zod"; -import { z } from "zod"; +import { core, z } from "zod"; import Show from "@/components/Show"; @@ -101,7 +101,7 @@ const getSchema = ({ i18n = getI18n() }: { i18n: ReturnType }) = return z .object({ - serverUrl: z.httpUrl(), + serverUrl: z.url({ protocol: core.regexes.httpProtocol }), authMethod: z.enum([AUTH_METHOD_PASSWORD, AUTH_METHOD_TOKEN]), username: z.string().nullish(), password: z.string().nullish(), diff --git a/ui/src/components/access/forms/AccessConfigFieldsProviderPowerDNS.tsx b/ui/src/components/access/forms/AccessConfigFieldsProviderPowerDNS.tsx index 6ff42265e..e2c45672d 100644 --- a/ui/src/components/access/forms/AccessConfigFieldsProviderPowerDNS.tsx +++ b/ui/src/components/access/forms/AccessConfigFieldsProviderPowerDNS.tsx @@ -1,7 +1,7 @@ import { getI18n, useTranslation } from "react-i18next"; import { Form, Input, Switch } from "antd"; import { createSchemaFieldRule } from "antd-zod"; -import { z } from "zod"; +import { core, z } from "zod"; import { useFormNestedFieldsContext } from "./_context"; @@ -59,7 +59,7 @@ const getSchema = ({ i18n = getI18n() }: { i18n: ReturnType }) = const { t: _ } = i18n; return z.object({ - serverUrl: z.httpUrl(), + serverUrl: z.url({ protocol: core.regexes.httpProtocol }), apiKey: z.string().nonempty(), allowInsecureConnections: z.boolean().nullish(), }); diff --git a/ui/src/components/access/forms/AccessConfigFieldsProviderProxmoxVE.tsx b/ui/src/components/access/forms/AccessConfigFieldsProviderProxmoxVE.tsx index 4cb93c38d..05fe56865 100644 --- a/ui/src/components/access/forms/AccessConfigFieldsProviderProxmoxVE.tsx +++ b/ui/src/components/access/forms/AccessConfigFieldsProviderProxmoxVE.tsx @@ -1,7 +1,7 @@ import { getI18n, useTranslation } from "react-i18next"; import { Form, Input, Switch } from "antd"; import { createSchemaFieldRule } from "antd-zod"; -import { z } from "zod"; +import { core, z } from "zod"; import { useFormNestedFieldsContext } from "./_context"; @@ -69,7 +69,7 @@ const getSchema = ({ i18n = getI18n() }: { i18n: ReturnType }) = const { t: _ } = i18n; return z.object({ - serverUrl: z.httpUrl(), + serverUrl: z.url({ protocol: core.regexes.httpProtocol }), apiToken: z.string().nonempty(), apiTokenSecret: z.string().nullish(), allowInsecureConnections: z.boolean().nullish(), diff --git a/ui/src/components/access/forms/AccessConfigFieldsProviderRatPanel.tsx b/ui/src/components/access/forms/AccessConfigFieldsProviderRatPanel.tsx index 22efd85ed..21f13b6aa 100644 --- a/ui/src/components/access/forms/AccessConfigFieldsProviderRatPanel.tsx +++ b/ui/src/components/access/forms/AccessConfigFieldsProviderRatPanel.tsx @@ -1,7 +1,7 @@ import { getI18n, useTranslation } from "react-i18next"; import { Form, Input, Switch } from "antd"; import { createSchemaFieldRule } from "antd-zod"; -import { z } from "zod"; +import { core, z } from "zod"; import { useFormNestedFieldsContext } from "./_context"; @@ -71,7 +71,7 @@ const getSchema = ({ i18n = getI18n() }: { i18n: ReturnType }) = const { t: _ } = i18n; return z.object({ - serverUrl: z.httpUrl(), + serverUrl: z.url({ protocol: core.regexes.httpProtocol }), accessTokenId: z.coerce.number().int().positive(), accessToken: z.string().nonempty(), allowInsecureConnections: z.boolean().nullish(), diff --git a/ui/src/components/access/forms/AccessConfigFieldsProviderSafeLine.tsx b/ui/src/components/access/forms/AccessConfigFieldsProviderSafeLine.tsx index 3b205eec2..fdf674933 100644 --- a/ui/src/components/access/forms/AccessConfigFieldsProviderSafeLine.tsx +++ b/ui/src/components/access/forms/AccessConfigFieldsProviderSafeLine.tsx @@ -1,7 +1,7 @@ import { getI18n, useTranslation } from "react-i18next"; import { Form, Input, Switch } from "antd"; import { createSchemaFieldRule } from "antd-zod"; -import { z } from "zod"; +import { core, z } from "zod"; import { useFormNestedFieldsContext } from "./_context"; @@ -59,7 +59,7 @@ const getSchema = ({ i18n = getI18n() }: { i18n: ReturnType }) = const { t: _ } = i18n; return z.object({ - serverUrl: z.httpUrl(), + serverUrl: z.url({ protocol: core.regexes.httpProtocol }), apiToken: z.string().nonempty(), allowInsecureConnections: z.boolean().nullish(), }); diff --git a/ui/src/components/access/forms/AccessConfigFieldsProviderSamWAF.tsx b/ui/src/components/access/forms/AccessConfigFieldsProviderSamWAF.tsx index 4e529698f..788134c79 100644 --- a/ui/src/components/access/forms/AccessConfigFieldsProviderSamWAF.tsx +++ b/ui/src/components/access/forms/AccessConfigFieldsProviderSamWAF.tsx @@ -1,7 +1,7 @@ import { getI18n, useTranslation } from "react-i18next"; import { Form, Input, Switch } from "antd"; import { createSchemaFieldRule } from "antd-zod"; -import { z } from "zod"; +import { core, z } from "zod"; import { useFormNestedFieldsContext } from "./_context"; @@ -59,7 +59,7 @@ const getSchema = ({ i18n = getI18n() }: { i18n: ReturnType }) = const { t: _ } = i18n; return z.object({ - serverUrl: z.httpUrl(), + serverUrl: z.url({ protocol: core.regexes.httpProtocol }), apiKey: z.string().nonempty(), allowInsecureConnections: z.boolean().nullish(), }); diff --git a/ui/src/components/access/forms/AccessConfigFieldsProviderSynologyDSM.tsx b/ui/src/components/access/forms/AccessConfigFieldsProviderSynologyDSM.tsx index fdfd28c7f..e79416a6f 100644 --- a/ui/src/components/access/forms/AccessConfigFieldsProviderSynologyDSM.tsx +++ b/ui/src/components/access/forms/AccessConfigFieldsProviderSynologyDSM.tsx @@ -1,7 +1,7 @@ import { getI18n, useTranslation } from "react-i18next"; import { Form, Input, Switch } from "antd"; import { createSchemaFieldRule } from "antd-zod"; -import { z } from "zod"; +import { core, z } from "zod"; import { useFormNestedFieldsContext } from "./_context"; @@ -79,7 +79,7 @@ const getSchema = ({ i18n = getI18n() }: { i18n: ReturnType }) = const { t: _ } = i18n; return z.object({ - serverUrl: z.httpUrl(), + serverUrl: z.url({ protocol: core.regexes.httpProtocol }), username: z.string().nonempty(), password: z.string().nonempty(), totpSecret: z diff --git a/ui/src/components/access/forms/AccessConfigFieldsProviderTechnitiumDNS.tsx b/ui/src/components/access/forms/AccessConfigFieldsProviderTechnitiumDNS.tsx index de3e6f684..f362f0399 100644 --- a/ui/src/components/access/forms/AccessConfigFieldsProviderTechnitiumDNS.tsx +++ b/ui/src/components/access/forms/AccessConfigFieldsProviderTechnitiumDNS.tsx @@ -1,7 +1,7 @@ import { getI18n, useTranslation } from "react-i18next"; import { Form, Input, Switch } from "antd"; import { createSchemaFieldRule } from "antd-zod"; -import { z } from "zod"; +import { core, z } from "zod"; import { useFormNestedFieldsContext } from "./_context"; @@ -59,7 +59,7 @@ const getSchema = ({ i18n = getI18n() }: { i18n: ReturnType }) = const { t: _ } = i18n; return z.object({ - serverUrl: z.httpUrl(), + serverUrl: z.url({ protocol: core.regexes.httpProtocol }), apiToken: z.string().nonempty(), allowInsecureConnections: z.boolean().nullish(), }); diff --git a/ui/src/components/access/forms/AccessConfigFieldsProviderWeComBot.tsx b/ui/src/components/access/forms/AccessConfigFieldsProviderWeComBot.tsx index a4b853cd4..9e7baa568 100644 --- a/ui/src/components/access/forms/AccessConfigFieldsProviderWeComBot.tsx +++ b/ui/src/components/access/forms/AccessConfigFieldsProviderWeComBot.tsx @@ -1,7 +1,7 @@ import { getI18n, useTranslation } from "react-i18next"; import { Checkbox, Form, Input } from "antd"; import { createSchemaFieldRule } from "antd-zod"; -import { z } from "zod"; +import { core, z } from "zod"; import CodeTextInput from "@/components/CodeTextInput"; import { isJsonObject } from "@/utils/validator"; @@ -92,7 +92,7 @@ const getSchema = ({ i18n = getI18n() }: { i18n: ReturnType }) = return z .object({ - webhookUrl: z.httpUrl(), + webhookUrl: z.url({ protocol: core.regexes.httpProtocol }), useCustomPayload: z.boolean().nullish(), customPayload: z.string().nullish(), }) diff --git a/ui/src/components/access/forms/AccessConfigFieldsProviderWebhook.tsx b/ui/src/components/access/forms/AccessConfigFieldsProviderWebhook.tsx index 63152c8e0..307803dd0 100644 --- a/ui/src/components/access/forms/AccessConfigFieldsProviderWebhook.tsx +++ b/ui/src/components/access/forms/AccessConfigFieldsProviderWebhook.tsx @@ -2,7 +2,7 @@ import { getI18n, useTranslation } from "react-i18next"; import { IconChevronDown } from "@tabler/icons-react"; import { Button, Dropdown, Form, Input, Select, Switch } from "antd"; import { createSchemaFieldRule } from "antd-zod"; -import { z } from "zod"; +import { core, z } from "zod"; import CodeTextInput from "@/components/CodeTextInput"; import Show from "@/components/Show"; @@ -398,7 +398,7 @@ const getSchema = ({ i18n = getI18n() }: { i18n: ReturnType }) = const { t } = i18n; return z.object({ - url: z.httpUrl(), + url: z.url({ protocol: core.regexes.httpProtocol }), method: z.enum(["GET", "POST", "PUT", "PATCH", "DELETE"]), headers: z .string() diff --git a/ui/src/components/workflow/designer/forms/BizUploadNodeConfigForm.tsx b/ui/src/components/workflow/designer/forms/BizUploadNodeConfigForm.tsx index 2c3493a45..040149ac9 100644 --- a/ui/src/components/workflow/designer/forms/BizUploadNodeConfigForm.tsx +++ b/ui/src/components/workflow/designer/forms/BizUploadNodeConfigForm.tsx @@ -3,7 +3,7 @@ import { getI18n, useTranslation } from "react-i18next"; import { type FlowNodeEntity } from "@flowgram.ai/fixed-layout-editor"; import { type AnchorProps, Form, type FormInstance, Input, Radio } from "antd"; import { createSchemaFieldRule } from "antd-zod"; -import { z } from "zod"; +import { core, z } from "zod"; import FileTextInput from "@/components/FileTextInput"; import Show from "@/components/Show"; @@ -203,7 +203,7 @@ const getSchema = ({ i18n = getI18n() }: { i18n?: ReturnType }) case UPLOAD_SOURCE_URL: { - const scCertificate = z.httpUrl(); + const scCertificate = z.url({ protocol: core.regexes.httpProtocol }); const spCertificate = scCertificate.safeParse(values.certificate); if (!spCertificate.success) { ctx.addIssue({ @@ -213,7 +213,7 @@ const getSchema = ({ i18n = getI18n() }: { i18n?: ReturnType }) }); } - const scPrivateKey = z.httpUrl(); + const scPrivateKey = z.url({ protocol: core.regexes.httpProtocol }); const spPrivateKey = scPrivateKey.safeParse(values.privateKey); if (!spPrivateKey.success) { ctx.addIssue({ diff --git a/ui/src/pages/settings/SettingsSSLProvider.tsx b/ui/src/pages/settings/SettingsSSLProvider.tsx index 33e4cac8d..7c90b0e0a 100644 --- a/ui/src/pages/settings/SettingsSSLProvider.tsx +++ b/ui/src/pages/settings/SettingsSSLProvider.tsx @@ -4,7 +4,7 @@ import { useMount } from "ahooks"; import { App, Button, Card, Divider, Form, Input, Select, Skeleton } from "antd"; import { createSchemaFieldRule } from "antd-zod"; import { produce } from "immer"; -import { z } from "zod"; +import { core, z } from "zod"; import Show from "@/components/Show"; import Tips from "@/components/Tips"; @@ -286,7 +286,7 @@ const InternalCASharedFormEabFields = ({ i18nKey }: { i18nKey: string }) => { const hasGuide = i18n.exists(`access.form.${i18nKey}_eab.guide`); const formSchema = z.object({ - endpoint: z.httpUrl(), + endpoint: z.url({ protocol: core.regexes.httpProtocol }), eabKid: z.string().nonempty(), eabHmacKey: z.string().nonempty(), }); @@ -411,7 +411,7 @@ const InternalCASettingsFormProviderACMECA = () => { const { t } = useTranslation(); const formSchema = z.object({ - endpoint: z.httpUrl(), + endpoint: z.url({ protocol: core.regexes.httpProtocol }), eabKid: z.string().nullish(), eabHmacKey: z.string().nullish(), });