mirror of
https://github.com/Portabase/portabase.git
synced 2026-07-14 11:16:13 +02:00
Ready for 1.1.2-rc.2
This commit is contained in:
+1
-1
@@ -37,7 +37,7 @@ export const schemas = {
|
||||
|
||||
export const db = drizzle({
|
||||
client: pool,
|
||||
logger: process.env.NODE_ENV != 'production',
|
||||
// logger: process.env.NODE_ENV != 'production',
|
||||
schema: schemas,
|
||||
});
|
||||
|
||||
|
||||
+11
-4
@@ -1,8 +1,8 @@
|
||||
import { createEnv } from "@t3-oss/env-nextjs";
|
||||
import { z } from "zod";
|
||||
import packageJson from "../package.json" with { type: "json" };
|
||||
import {createEnv} from "@t3-oss/env-nextjs";
|
||||
import {z} from "zod";
|
||||
import packageJson from "../package.json" with {type: "json"};
|
||||
|
||||
const { version } = packageJson;
|
||||
const {version} = packageJson;
|
||||
|
||||
export const env = createEnv({
|
||||
server: {
|
||||
@@ -31,6 +31,10 @@ export const env = createEnv({
|
||||
S3_USE_SSL: z.string().optional(),
|
||||
|
||||
STORAGE_TYPE: z.enum(["local", "s3"]).optional(),
|
||||
|
||||
RETENTION_CRON: z
|
||||
.string()
|
||||
.default(process.env.NODE_ENV === "production" ? "0 7 * * *" : "* * * * *"),
|
||||
},
|
||||
client: {
|
||||
NEXT_PUBLIC_PROJECT_NAME: z.string().optional(),
|
||||
@@ -64,5 +68,8 @@ export const env = createEnv({
|
||||
S3_USE_SSL: process.env.S3_USE_SSL,
|
||||
|
||||
STORAGE_TYPE: process.env.STORAGE_TYPE,
|
||||
|
||||
RETENTION_CRON: process.env.RETENTION_CRON,
|
||||
|
||||
},
|
||||
});
|
||||
|
||||
@@ -19,15 +19,11 @@ export async function enforceRetentionCount(databaseId: string, count: number) {
|
||||
const toDelete = backups.slice(count); // keep first `count`, delete rest
|
||||
|
||||
for (const b of toDelete) {
|
||||
|
||||
await deleteBackupCronAction({
|
||||
backupId: b.id,
|
||||
databaseId: b.databaseId,
|
||||
file: b.file!,
|
||||
file: b.file ?? "",
|
||||
projectSlug: b.database.project?.slug!
|
||||
});
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
@@ -25,7 +25,7 @@ export async function enforceRetentionDays(databaseId: string, days: number) {
|
||||
await deleteBackupCronAction({
|
||||
backupId: backup.id,
|
||||
databaseId: backup.databaseId,
|
||||
file: backup.file!,
|
||||
file: backup.file ?? "",
|
||||
projectSlug: backup.database.project?.slug!
|
||||
});
|
||||
|
||||
|
||||
@@ -64,7 +64,7 @@ export async function enforceRetentionGFS(databaseId: string, gfsSettings: {
|
||||
await deleteBackupCronAction({
|
||||
backupId: b.id,
|
||||
databaseId: b.databaseId,
|
||||
file: b.file!,
|
||||
file: b.file ?? "",
|
||||
projectSlug: b.database.project?.slug!
|
||||
});
|
||||
}
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
import cron from "node-cron";
|
||||
import {retentionCleanTask} from "@/lib/tasks/database";
|
||||
import {env} from "@/env.mjs";
|
||||
|
||||
|
||||
export const retentionJob = cron.schedule("* * * * *", async () => {
|
||||
export const retentionJob = cron.schedule(env.RETENTION_CRON, async () => {
|
||||
try {
|
||||
console.log("Retention Job : Starting task");
|
||||
await retentionCleanTask();
|
||||
|
||||
Reference in New Issue
Block a user