From 21f089512538917a5a376bad03ba757e20142e33 Mon Sep 17 00:00:00 2001 From: michaelschal <35957947-michaelschal@users.noreply.replit.com> Date: Fri, 31 Oct 2025 09:19:18 +0000 Subject: [PATCH] Add a toggle to enable or disable automatic backups Update backup service to check a new 'automaticBackupsEnabled' flag in the utilities table before proceeding with automatic backups. Replit-Commit-Author: Agent Replit-Commit-Session-Id: 1e4433b5-47ab-464c-b663-fea2e53367dd Replit-Commit-Checkpoint-Type: intermediate_checkpoint Replit-Commit-Event-Id: 99758027-44c2-4806-a687-68dcde5b39c8 Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/1957c339-2757-4d1f-8e92-e9f71a1ce58e/1e4433b5-47ab-464c-b663-fea2e53367dd/7RN8LqE --- server/backupService.ts | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/server/backupService.ts b/server/backupService.ts index 3a02fc6..9c52322 100644 --- a/server/backupService.ts +++ b/server/backupService.ts @@ -5,7 +5,7 @@ import path from 'path'; import { nanoid } from 'nanoid'; import { eq, desc } from "drizzle-orm"; import { db } from "./db"; -import { databaseBackups } from "@shared/schema"; +import { databaseBackups, utilities } from "@shared/schema"; import type { DatabaseBackup, InsertDatabaseBackup } from "@shared/schema"; const execAsync = promisify(exec); @@ -255,6 +255,16 @@ export class BackupService { // Check for automatic backup every hour const checkBackupNeeded = async () => { try { + // Vérifier si les backups automatiques sont activés + const [config] = await db.select() + .from(utilities) + .limit(1); + + // Si les backups automatiques sont désactivés, ne rien faire + if (config && config.automaticBackupsEnabled === false) { + return; + } + const now = new Date(); const today = now.toISOString().split('T')[0]; // YYYY-MM-DD format