From 44917f35137a64d2a9ba3c9eef6e2b47112954ee Mon Sep 17 00:00:00 2001 From: Nicolas Meienberger Date: Sun, 2 Nov 2025 16:47:42 +0100 Subject: [PATCH] fix(create-backup): missing submit button --- .../app/modules/backups/routes/create-backup.tsx | 12 ++++++++++-- apps/server/src/modules/backups/backups.service.ts | 8 -------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/apps/client/app/modules/backups/routes/create-backup.tsx b/apps/client/app/modules/backups/routes/create-backup.tsx index 4ba696c..0d7a60b 100644 --- a/apps/client/app/modules/backups/routes/create-backup.tsx +++ b/apps/client/app/modules/backups/routes/create-backup.tsx @@ -1,4 +1,4 @@ -import { useState } from "react"; +import { useId, useState } from "react"; import { useMutation, useQuery, useQueryClient } from "@tanstack/react-query"; import { Database, HardDrive } from "lucide-react"; import { Link, useNavigate } from "react-router"; @@ -39,6 +39,7 @@ export const clientLoader = async () => { export default function CreateBackup({ loaderData }: Route.ComponentProps) { const navigate = useNavigate(); const queryClient = useQueryClient(); + const formId = useId(); const [selectedVolumeId, setSelectedVolumeId] = useState(); const { data: volumesData, isLoading: loadingVolumes } = useQuery({ @@ -151,7 +152,14 @@ export default function CreateBackup({ loaderData }: Route.ComponentProps) { {selectedVolume ? ( - + <> + +
+ +
+ ) : ( diff --git a/apps/server/src/modules/backups/backups.service.ts b/apps/server/src/modules/backups/backups.service.ts index ae6d7e0..0ed6f84 100644 --- a/apps/server/src/modules/backups/backups.service.ts +++ b/apps/server/src/modules/backups/backups.service.ts @@ -73,14 +73,6 @@ const createSchedule = async (data: CreateBackupScheduleBody) => { throw new NotFoundError("Repository not found"); } - const existingSchedule = await db.query.backupSchedulesTable.findFirst({ - where: eq(backupSchedulesTable.volumeId, data.volumeId), - }); - - if (existingSchedule) { - throw new BadRequestError("Volume already has a backup schedule"); - } - const nextBackupAt = calculateNextRun(data.cronExpression); const [newSchedule] = await db