Working on retention policy and cron system.

This commit is contained in:
charlesgauthereau
2025-09-19 09:58:54 +02:00
parent bce6c9d55f
commit b95e145a8b
9 changed files with 259 additions and 232 deletions
@@ -1,9 +1,9 @@
"use server";
import { userAction } from "@/safe-actions";
import { z } from "zod";
import { db } from "@/db";
import { eq } from "drizzle-orm";
import {userAction} from "@/safe-actions";
import {z} from "zod";
import {db} from "@/db";
import {eq} from "drizzle-orm";
import * as drizzleDb from "@/db";
export const updateDatabaseBackupPolicyAction = userAction
@@ -13,7 +13,7 @@ export const updateDatabaseBackupPolicyAction = userAction
backupPolicy: z.string(),
})
)
.action(async ({ parsedInput }) => {
.action(async ({parsedInput}) => {
const cronPolicy = parsedInput.backupPolicy === "" ? null : parsedInput.backupPolicy;
const [updated] = await db
@@ -25,6 +25,11 @@ export const updateDatabaseBackupPolicyAction = userAction
.returning()
.execute();
if (cronPolicy == null) {
await db.delete(drizzleDb.schemas.retentionPolicy)
.where(eq(drizzleDb.schemas.retentionPolicy.databaseId, parsedInput.databaseId)).execute();
}
return {
data: updated,
};