mirror of
https://github.com/Portabase/portabase.git
synced 2026-07-14 11:16:13 +02:00
Working on table data in detabase backups.
This commit is contained in:
@@ -1,13 +1,13 @@
|
||||
import * as drizzleDb from "@/db";
|
||||
import {db} from "@/db";
|
||||
import {desc, eq} from "drizzle-orm";
|
||||
import {and, desc, eq, isNull} from "drizzle-orm";
|
||||
import {deleteBackupCronAction} from "@/lib/tasks/database/utils/delete";
|
||||
|
||||
export async function enforceRetentionCount(databaseId: string, count: number) {
|
||||
const backups = await db.query.backup.findMany({
|
||||
where: eq(drizzleDb.schemas.backup.databaseId, databaseId),
|
||||
where: and(eq(drizzleDb.schemas.backup.databaseId, databaseId), isNull(drizzleDb.schemas.backup.deletedAt)),
|
||||
orderBy: desc(drizzleDb.schemas.backup.createdAt),
|
||||
with:{
|
||||
with: {
|
||||
database: {
|
||||
with: {
|
||||
project: true
|
||||
@@ -38,6 +38,5 @@ export async function enforceRetentionCount(databaseId: string, count: number) {
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
@@ -8,6 +8,7 @@ import * as drizzleDb from "@/db";
|
||||
import {and, eq} from "drizzle-orm";
|
||||
import {deleteFileS3Private, deleteLocalPrivate} from "@/features/upload/private/upload.action";
|
||||
import {env} from "@/env.mjs";
|
||||
import {withUpdatedAt} from "@/db/utils";
|
||||
|
||||
|
||||
export const deleteBackupCronAction = action
|
||||
@@ -35,16 +36,13 @@ export const deleteBackupCronAction = action
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
await db
|
||||
.update(drizzleDb.schemas.backup)
|
||||
.set({
|
||||
.set(withUpdatedAt({
|
||||
deletedAt: new Date(),
|
||||
})
|
||||
}))
|
||||
.where(and(eq(drizzleDb.schemas.backup.id, parsedInput.backupId), eq(drizzleDb.schemas.backup.databaseId, parsedInput.databaseId)))
|
||||
|
||||
|
||||
|
||||
let success: boolean, message: string;
|
||||
|
||||
const result =
|
||||
@@ -71,12 +69,10 @@ export const deleteBackupCronAction = action
|
||||
// .where(and(eq(drizzleDb.schemas.backup.id, parsedInput.backupId), eq(drizzleDb.schemas.backup.databaseId, parsedInput.databaseId)))
|
||||
// .execute();
|
||||
|
||||
|
||||
|
||||
return {
|
||||
success: true,
|
||||
actionSuccess: {
|
||||
message: "Backup deleted successfully.",
|
||||
message: `Backup deleted successfully (${parsedInput.backupId}).`,
|
||||
},
|
||||
};
|
||||
|
||||
@@ -85,7 +81,7 @@ export const deleteBackupCronAction = action
|
||||
return {
|
||||
success: false,
|
||||
actionError: {
|
||||
message: "Failed to delete backup.",
|
||||
message: `Failed to delete backup(${parsedInput.backupId}).`,
|
||||
status: 500,
|
||||
cause: error instanceof Error ? error.message : "Unknown error",
|
||||
messageParams: {message: "Error deleting the backup"},
|
||||
|
||||
Reference in New Issue
Block a user