diff --git a/apps/dokploy/components/dashboard/application/volume-backups/handle-volume-backups.tsx b/apps/dokploy/components/dashboard/application/volume-backups/handle-volume-backups.tsx index 14ff498ba..a9e9e6aeb 100644 --- a/apps/dokploy/components/dashboard/application/volume-backups/handle-volume-backups.tsx +++ b/apps/dokploy/components/dashboard/application/volume-backups/handle-volume-backups.tsx @@ -53,16 +53,12 @@ const formSchema = z .object({ name: z.string().min(1, "Name is required"), cronExpression: z.string().min(1, "Cron expression is required"), - volumeName: z.string(), - hostPath: z.string(), + volumeName: z.string().min(1, "Volume name is required"), prefix: z.string(), keepLatestCount: z.coerce.number().optional(), turnOff: z.boolean().default(false), - volumeBackupType: z.enum(["bind", "volume"]), enabled: z.boolean().default(true), - serviceName: z.string(), - destinationId: z.string().min(1, "Destination required"), - scheduleType: z.enum([ + serviceType: z.enum([ "application", "compose", "postgres", @@ -71,9 +67,11 @@ const formSchema = z "mysql", "redis", ]), + serviceName: z.string(), + destinationId: z.string().min(1, "Destination required"), }) .superRefine((data, ctx) => { - if (data.scheduleType === "compose" && !data.serviceName) { + if (data.serviceType === "compose" && !data.serviceName) { ctx.addIssue({ code: z.ZodIssueCode.custom, message: "Service name is required", @@ -110,18 +108,17 @@ export const HandleVolumeBackups = ({ name: "", cronExpression: "", volumeName: "", - hostPath: "", prefix: "", keepLatestCount: undefined, turnOff: false, - volumeBackupType: "volume", enabled: true, serviceName: "", + serviceType: volumeBackupType, }, }); - const scheduleTypeForm = form.watch("scheduleType"); - + const serviceTypeForm = volumeBackupType; + const { data: destinations } = api.destination.all.useQuery(); const { data: volumeBackup } = api.volumeBackups.one.useQuery( { volumeBackupId: volumeBackupId || "" }, { enabled: !!volumeBackupId }, @@ -150,14 +147,13 @@ export const HandleVolumeBackups = ({ name: volumeBackup.name, cronExpression: volumeBackup.cronExpression, volumeName: volumeBackup.volumeName || "", - hostPath: volumeBackup.hostPath || "", prefix: volumeBackup.prefix, - keepLatestCount: volumeBackup.keepLatestCount, + keepLatestCount: volumeBackup.keepLatestCount || undefined, turnOff: volumeBackup.turnOff, - volumeBackupType: volumeBackup.type, - enabled: volumeBackup.enabled, + enabled: volumeBackup.enabled || true, serviceName: volumeBackup.serviceName || "", destinationId: volumeBackup.destinationId, + serviceType: volumeBackup.serviceType, }); } }, [form, volumeBackup, volumeBackupId]); @@ -173,6 +169,7 @@ export const HandleVolumeBackups = ({ ...values, destinationId: values.destinationId, volumeBackupId: volumeBackupId || "", + serviceType: volumeBackupType, ...(volumeBackupType === "application" && { applicationId: id || "", }), @@ -251,7 +248,7 @@ export const HandleVolumeBackups = ({