mirror of
https://github.com/N4S4/synology-api.git
synced 2025-08-10 03:09:03 +00:00
65 lines
2.5 KiB
Python
65 lines
2.5 KiB
Python
from __future__ import annotations
|
|
from typing import Optional
|
|
from . import base_api
|
|
|
|
|
|
class Backup(base_api.BaseApi):
|
|
|
|
def backup_repository_get(self, taskid: str) -> dict[str, object] | str:
|
|
api_name = 'SYNO.Backup.Repository'
|
|
info = self.gen_list[api_name]
|
|
api_path = info['path']
|
|
req_param = {'version': info['minVersion'], 'method': 'get', 'task_id': taskid}
|
|
|
|
return self.request_data(api_name, api_path, req_param)
|
|
|
|
def backup_repository_list(self) -> dict[str, object] | str:
|
|
api_name = 'SYNO.Backup.Repository'
|
|
info = self.gen_list[api_name]
|
|
api_path = info['path']
|
|
req_param = {'version': info['minVersion'], 'method': 'list'}
|
|
|
|
return self.request_data(api_name, api_path, req_param)
|
|
|
|
def backup_task_list(self) -> dict[str, object] | str:
|
|
api_name = 'SYNO.Backup.Task'
|
|
info = self.gen_list[api_name]
|
|
api_path = info['path']
|
|
req_param = {'version': info['minVersion'], 'method': 'list'}
|
|
|
|
return self.request_data(api_name, api_path, req_param)
|
|
|
|
def backup_task_status(self, taskid: str) -> dict[str, object] | str:
|
|
api_name = 'SYNO.Backup.Task'
|
|
info = self.gen_list[api_name]
|
|
api_path = info['path']
|
|
req_param = {'version': info['minVersion'], 'method': 'status', 'task_id': taskid}
|
|
|
|
return self.request_data(api_name, api_path, req_param)
|
|
|
|
def backup_task_get(self, taskid: str) -> dict[str, object] | str:
|
|
api_name = 'SYNO.Backup.Task'
|
|
info = self.gen_list[api_name]
|
|
api_path = info['path']
|
|
req_param = {'version': info['minVersion'], 'method': 'get', 'task_id': taskid}
|
|
|
|
return self.request_data(api_name, api_path, req_param)
|
|
|
|
def backup_task_result(self, taskid: str) -> dict[str, object] | str:
|
|
api_name = 'SYNO.Backup.Task'
|
|
info = self.gen_list[api_name]
|
|
api_path = info['path']
|
|
req_param = {'version': info['minVersion'], 'method': 'status', 'blOnline': 'false',
|
|
'additional': '["last_bkp_time","next_bkp_time","last_bkp_result","is_modified","last_bkp_progress"]',
|
|
'task_id': taskid}
|
|
|
|
return self.request_data(api_name, api_path, req_param)
|
|
|
|
def vault_target_list(self) -> dict[str, object]: # TODO not working
|
|
api_name = 'SYNO.Backup.Service.VersionBackup.Target'
|
|
info = self.gen_list[api_name]
|
|
api_path = info['path']
|
|
req_param = {'version': info['minVersion'], 'method': 'list'}
|
|
|
|
return self.request_data(api_name, api_path, req_param)
|