MCPcopy Create free account
hub / github.com/agent0ai/agent-zero / process

Method process

api/backup_restore.py:17–66  ·  view source on GitHub ↗
(self, input: dict, request: Request)

Source from the content-addressed store, hash-verified

15 return False
16
17 async def process(self, input: dict, request: Request) -> dict | Response:
18 # Handle file upload
19 if 'backup_file' not in request.files:
20 return {"success": False, "error": "No backup file provided"}
21
22 backup_file: FileStorage = request.files['backup_file']
23 if backup_file.filename == '':
24 return {"success": False, "error": "No file selected"}
25
26 # Get restore configuration from form data
27 metadata_json = request.form.get('metadata', '{}')
28 overwrite_policy = request.form.get('overwrite_policy', 'overwrite') # overwrite, skip, backup
29 clean_before_restore = request.form.get('clean_before_restore', 'false').lower() == 'true'
30
31 try:
32 metadata = json.loads(metadata_json)
33 restore_include_patterns = metadata.get("include_patterns", [])
34 restore_exclude_patterns = metadata.get("exclude_patterns", [])
35 except json.JSONDecodeError:
36 return {"success": False, "error": "Invalid metadata JSON"}
37
38 try:
39 backup_service = BackupService()
40 result = await backup_service.restore_backup(
41 backup_file=backup_file,
42 restore_include_patterns=restore_include_patterns,
43 restore_exclude_patterns=restore_exclude_patterns,
44 overwrite_policy=overwrite_policy,
45 clean_before_restore=clean_before_restore,
46 user_edited_metadata=metadata
47 )
48
49 # Load all chats from the chats folder
50 load_tmp_chats()
51
52 return {
53 "success": True,
54 "restored_files": result["restored_files"],
55 "deleted_files": result.get("deleted_files", []),
56 "skipped_files": result["skipped_files"],
57 "errors": result["errors"],
58 "backup_metadata": result["backup_metadata"],
59 "clean_before_restore": result.get("clean_before_restore", False)
60 }
61
62 except Exception as e:
63 return {
64 "success": False,
65 "error": str(e)
66 }

Callers

nothing calls this directly

Calls 4

restore_backupMethod · 0.95
BackupServiceClass · 0.90
load_tmp_chatsFunction · 0.90
getMethod · 0.45

Tested by

no test coverage detected