// ==================== DATEI-AUFRÄUMEN (Uploads) ====================
// Gemeinsame Helfer zum Best-Effort-Löschen von Upload-Dateien. Ersetzt die
// vorher mehrfach kopierten `deleteFileIfExists`/`cleanupFile`-Funktionen
// (Pentest R140, Hygiene: eine Quelle statt Duplikate).

import fs from 'fs';
import path from 'path';

/**
 * Löscht eine Datei anhand ihres ABSOLUTEN Pfads. Wirft nie (loggt nur) –
 * z.B. für Multer-Temp-Dateien (`req.file.path`).
 */
export function deleteFileAbsolute(absolutePath: string | null | undefined): void {
  if (!absolutePath) return;
  try {
    if (fs.existsSync(absolutePath)) fs.unlinkSync(absolutePath);
  } catch (error) {
    console.error('Fehler beim Löschen der Datei:', absolutePath, error);
  }
}

/**
 * Löscht eine Datei anhand ihres in der DB gespeicherten RELATIVEN Upload-
 * Pfads (z.B. `/uploads/credit-notes/…`), aufgelöst gegen `process.cwd()`.
 */
export function deleteUploadByRelativePath(relativePath: string | null | undefined): void {
  if (!relativePath) return;
  deleteFileAbsolute(path.join(process.cwd(), relativePath));
}
