from __future__ import annotations import shutil from pathlib import Path from fastapi import UploadFile from app.services.file_validator import new_verification_id, save_upload, sha256_file, validate_upload_metadata def validate_upload(file: UploadFile) -> str: return validate_upload_metadata(file) def persist_report(report_path: Path, data: str) -> None: tmp = report_path.with_suffix(".tmp") tmp.write_text(data, encoding="utf-8") shutil.move(str(tmp), str(report_path))