changed url validation to use zod

This commit is contained in:
Julius Mieliauskas
2025-07-31 19:17:08 +03:00
parent 1e29d550be
commit 2cbd66e804
4 changed files with 25 additions and 171 deletions
@@ -9,8 +9,7 @@ import { getConfig } from "@app/lib/config/env";
import { crypto } from "@app/lib/crypto/cryptography";
import { BadRequestError } from "@app/lib/errors";
import { ms } from "@app/lib/ms";
import { isFQDN, isURL } from "@app/lib/validator/validate-url";
import { isIP } from "net";
import { isFQDN } from "@app/lib/validator/validate-url";
import { TCertificateBodyDALFactory } from "@app/services/certificate/certificate-body-dal";
import { TCertificateDALFactory } from "@app/services/certificate/certificate-dal";
import { TCertificateSecretDALFactory } from "@app/services/certificate/certificate-secret-dal";
@@ -161,11 +160,11 @@ export const InternalCertificateAuthorityFns = ({
return { type: "email", value: altName };
}
if(isURL(altName)) {
if (z.string().url().safeParse(altName).success) {
return { type: "url", value: altName };
}
if (isIP(altName)) {
if (z.string().ip().safeParse(altName).success) {
return { type: "ip", value: altName };
}
@@ -435,18 +434,18 @@ export const InternalCertificateAuthorityFns = ({
return { type: "email", value: altName };
}
if (isFQDN(altName, { allow_wildcard: true })) {
return { type: "dns", value: altName };
}
if(isURL(altName)) {
if (z.string().url().safeParse(altName).success) {
return { type: "url", value: altName };
}
if (isIP(altName)) {
if (z.string().ip().safeParse(altName).success) {
return { type: "ip", value: altName };
}
if (isFQDN(altName, { allow_wildcard: true })) {
return { type: "dns", value: altName };
}
throw new BadRequestError({ message: `Invalid SAN entry: ${altName}` });
});