import os from pathlib import Path from app.storage.storage_provider import StorageProvider class LocalStorageProvider(StorageProvider): def __init__(self, base_upload_dir: str = "uploads"): self.base_dir = Path(base_upload_dir) self.base_dir.mkdir(parents=True, exist_ok=True) def save_file(self, file_bytes: bytes, filename: str, folder: str) -> str: target_dir = self.base_dir / folder target_dir.mkdir(parents=True, exist_ok=True) target_file = target_dir / filename target_file.write_bytes(file_bytes) # Return path relative to project root return str(target_file) def delete_file(self, storage_path: str) -> bool: p = Path(storage_path) if p.exists() and p.is_file(): try: os.remove(p) return True except OSError: return False return False