(self, input: dict, request: Request)
| 13 | return False |
| 14 | |
| 15 | async def process(self, input: dict, request: Request) -> dict | Response: |
| 16 | # Handle file upload |
| 17 | if 'backup_file' not in request.files: |
| 18 | return {"success": False, "error": "No backup file provided"} |
| 19 | |
| 20 | backup_file: FileStorage = request.files['backup_file'] |
| 21 | if backup_file.filename == '': |
| 22 | return {"success": False, "error": "No file selected"} |
| 23 | |
| 24 | try: |
| 25 | backup_service = BackupService() |
| 26 | metadata = await backup_service.inspect_backup(backup_file) |
| 27 | |
| 28 | return { |
| 29 | "success": True, |
| 30 | "metadata": metadata, |
| 31 | "files": metadata.get("files", []), |
| 32 | "include_patterns": metadata.get("include_patterns", []), |
| 33 | "exclude_patterns": metadata.get("exclude_patterns", []), |
| 34 | "default_patterns": metadata.get("backup_config", {}).get("default_patterns", ""), |
| 35 | "agent_zero_version": metadata.get("agent_zero_version", "unknown"), |
| 36 | "timestamp": metadata.get("timestamp", ""), |
| 37 | "backup_name": metadata.get("backup_name", ""), |
| 38 | "total_files": metadata.get("total_files", len(metadata.get("files", []))), |
| 39 | "backup_size": metadata.get("backup_size", 0), |
| 40 | "include_hidden": metadata.get("include_hidden", True), |
| 41 | "files_in_archive": metadata.get("files_in_archive", []), |
| 42 | "checksums": {} # Will be added if needed |
| 43 | } |
| 44 | |
| 45 | except Exception as e: |
| 46 | return { |
| 47 | "success": False, |
| 48 | "error": str(e) |
| 49 | } |
nothing calls this directly
no test coverage detected