Merge remote-tracking branch 'origin/main'

This commit is contained in:
killian-larcher
2024-12-13 14:08:34 +01:00
7 changed files with 166 additions and 83 deletions
@@ -21,7 +21,10 @@ import {
import {toast} from "sonner";
import {useRouter} from "next/navigation";
import {Database} from "@prisma/client";
import {updateBackupPolicyAction} from "@/components/wrappers/Database/CronButton/cron.action";
import {
updateBackupPolicyAction,
updateDatabaseBackupPolicyAction
} from "@/components/wrappers/Database/CronButton/cron.action";
export type CronButtonProps = {
@@ -32,8 +35,8 @@ export const CronButton = (props: CronButtonProps) => {
const router = useRouter();
const [isSwitched, setIsSwitched] = useState(props.database.backupPolicy !== null);
const updateBackupPolicy = useMutation({
mutationFn: (value: string) => updateBackupPolicyAction({databaseId: props.database.id, backupPolicy:value}),
const updateDatabaseBackupPolicy = useMutation({
mutationFn: (value: string) => updateDatabaseBackupPolicyAction({databaseId: props.database.id, backupPolicy:value}),
onSuccess: () => {
toast.success(`Method updated successfully.`);
router.refresh()
@@ -47,7 +50,7 @@ export const CronButton = (props: CronButtonProps) => {
const handleTypeChange = async (state: boolean) => {
setIsSwitched(state);
if(state == false) {
await updateBackupPolicy.mutateAsync(null)
await updateDatabaseBackupPolicy.mutateAsync("")
}
}
@@ -1,5 +1,8 @@
import { AdvancedCronSelect } from "./AdvancedCronSelect";
import {updateBackupPolicyAction} from "@/components/wrappers/Database/CronButton/cron.action";
import {
updateBackupPolicyAction,
updateDatabaseBackupPolicyAction
} from "@/components/wrappers/Database/CronButton/cron.action";
import {useMutation} from "@tanstack/react-query";
import {useState} from "react";
import {useRouter} from "next/navigation";
@@ -18,7 +21,7 @@ export const CronInput = ({ database }: CronInputProps) => {
const router = useRouter();
const updateBackupPolicy = useMutation({
mutationFn: (value: string) => updateBackupPolicyAction({ databaseId: database.id, backupPolicy: value }),
mutationFn: (value: string) => updateDatabaseBackupPolicyAction({ databaseId: database.id, backupPolicy: value }),
onSuccess: () => {
toast.success(`Cron updated successfully.`);
router.refresh();
@@ -4,7 +4,7 @@ import {z} from "zod";
import {prisma} from "@/prisma";
export const updateBackupPolicyAction = userAction
export const updateDatabaseBackupPolicyAction = userAction
.schema(
z.object({
databaseId: z.string(),
@@ -13,12 +13,14 @@ export const updateBackupPolicyAction = userAction
)
)
.action(async ({parsedInput, ctx}) => {
const cronPolicy = parsedInput.backupPolicy == "" ? null : parsedInput.backupPolicy
const updatedDatabase = await prisma.database.update({
where: {
id: parsedInput.databaseId,
},
data: {
backupPolicy: parsedInput.backupPolicy,
backupPolicy: cronPolicy,
}
})
return {