feat(ui): add keep the latest input on backups dialog

This commit is contained in:
vicke4 2025-03-03 01:02:46 +05:30
parent 54a3c6efff
commit faab80bee1

View File

@ -47,6 +47,7 @@ const UpdateBackupSchema = z.object({
prefix: z.string().min(1, "Prefix required"), prefix: z.string().min(1, "Prefix required"),
enabled: z.boolean(), enabled: z.boolean(),
database: z.string().min(1, "Database required"), database: z.string().min(1, "Database required"),
keepLatestCount: z.number(),
}); });
type UpdateBackup = z.infer<typeof UpdateBackupSchema>; type UpdateBackup = z.infer<typeof UpdateBackupSchema>;
@ -78,6 +79,7 @@ export const UpdateBackup = ({ backupId, refetch }: Props) => {
enabled: true, enabled: true,
prefix: "/", prefix: "/",
schedule: "", schedule: "",
keepLatestCount: undefined,
}, },
resolver: zodResolver(UpdateBackupSchema), resolver: zodResolver(UpdateBackupSchema),
}); });
@ -253,7 +255,7 @@ export const UpdateBackup = ({ backupId, refetch }: Props) => {
<Input placeholder={"dokploy/"} {...field} /> <Input placeholder={"dokploy/"} {...field} />
</FormControl> </FormControl>
<FormDescription> <FormDescription>
Use if you want to storage in a specific path of your Use if you want to back up in a specific path of your
destination/bucket destination/bucket
</FormDescription> </FormDescription>
@ -262,6 +264,24 @@ export const UpdateBackup = ({ backupId, refetch }: Props) => {
); );
}} }}
/> />
<FormField
control={form.control}
name="keepLatestCount"
render={({ field }) => {
return (
<FormItem>
<FormLabel>Keep the latest</FormLabel>
<FormControl>
<Input type="number" placeholder={"20"} {...field} />
</FormControl>
<FormDescription>
Optional. If provided, only keeps the latest N backups in the cloud.
</FormDescription>
<FormMessage />
</FormItem>
);
}}
/>
<FormField <FormField
control={form.control} control={form.control}
name="enabled" name="enabled"