mirror of
https://github.com/community-scripts/ProxmoxVE
synced 2025-02-15 12:19:17 +00:00
Export InstallMethodSchema and integrate into JSONGenerator for better validation of install method data input
This commit is contained in:
parent
1b7f14b224
commit
8afa8e9e09
@ -1,6 +1,6 @@
|
|||||||
import { z } from "zod";
|
import { z } from "zod";
|
||||||
|
|
||||||
const InstallMethodSchema = z.object({
|
export const InstallMethodSchema = z.object({
|
||||||
type: z.enum(["default", "alpine"], {
|
type: z.enum(["default", "alpine"], {
|
||||||
errorMap: () => ({ message: "Type must be either 'default' or 'alpine'" })
|
errorMap: () => ({ message: "Type must be either 'default' or 'alpine'" })
|
||||||
}),
|
}),
|
||||||
|
@ -24,7 +24,7 @@ import { z } from "zod";
|
|||||||
import { format } from "date-fns";
|
import { format } from "date-fns";
|
||||||
import { Label } from "@/components/ui/label";
|
import { Label } from "@/components/ui/label";
|
||||||
import { AlertColors } from "@/config/siteConfig";
|
import { AlertColors } from "@/config/siteConfig";
|
||||||
import { ScriptSchema } from "./_schemas/schemas";
|
import { InstallMethodSchema, ScriptSchema } from "./_schemas/schemas";
|
||||||
|
|
||||||
type Script = z.infer<typeof ScriptSchema>;
|
type Script = z.infer<typeof ScriptSchema>;
|
||||||
|
|
||||||
@ -91,17 +91,7 @@ export default function JSONGenerator() {
|
|||||||
|
|
||||||
const addInstallMethod = () => {
|
const addInstallMethod = () => {
|
||||||
setScript((prev) => {
|
setScript((prev) => {
|
||||||
const method: {
|
const method = InstallMethodSchema.parse({
|
||||||
type: "default" | "alpine";
|
|
||||||
script: string;
|
|
||||||
resources: {
|
|
||||||
cpu: number | null;
|
|
||||||
ram: number | null;
|
|
||||||
hdd: number | null;
|
|
||||||
os: string | null;
|
|
||||||
version: number | null;
|
|
||||||
};
|
|
||||||
} = {
|
|
||||||
type: "default",
|
type: "default",
|
||||||
script: `/${prev.type}/${prev.slug}.sh`,
|
script: `/${prev.type}/${prev.slug}.sh`,
|
||||||
resources: {
|
resources: {
|
||||||
@ -111,7 +101,7 @@ export default function JSONGenerator() {
|
|||||||
os: null,
|
os: null,
|
||||||
version: null,
|
version: null,
|
||||||
},
|
},
|
||||||
};
|
});
|
||||||
return {
|
return {
|
||||||
...prev,
|
...prev,
|
||||||
install_methods: [...prev.install_methods, method],
|
install_methods: [...prev.install_methods, method],
|
||||||
|
Loading…
Reference in New Issue
Block a user