changes in db
This commit is contained in:
@@ -13,11 +13,14 @@ def _active_profile_id() -> int | None:
|
||||
def backup_list():
|
||||
uid = default_user_id()
|
||||
pid = _active_profile_id()
|
||||
can_app = auth.is_admin()
|
||||
return ok({
|
||||
"profile_backups": backup_service.list_backups(uid, "profile", pid) if pid else [],
|
||||
"app_backups": backup_service.list_backups(uid, "app") if auth.is_admin() else [],
|
||||
"auto": backup_service.get_auto_backup_settings(uid) if auth.is_admin() else None,
|
||||
"can_app_backup": auth.is_admin(),
|
||||
"app_backups": backup_service.list_backups(uid, "app") if can_app else [],
|
||||
"profile_auto": backup_service.get_auto_backup_settings(uid, "profile", pid) if pid else None,
|
||||
"app_auto": backup_service.get_auto_backup_settings(uid, "app") if can_app else None,
|
||||
"auto": backup_service.get_auto_backup_settings(uid, "app") if can_app else None,
|
||||
"can_app_backup": can_app,
|
||||
})
|
||||
|
||||
|
||||
@@ -58,14 +61,34 @@ def backup_create():
|
||||
def backup_settings_get():
|
||||
if not auth.is_admin():
|
||||
return jsonify({"ok": False, "error": "Application backup settings are admin-only"}), 403
|
||||
return ok({"settings": backup_service.get_auto_backup_settings(default_user_id())})
|
||||
return ok({"settings": backup_service.get_auto_backup_settings(default_user_id(), "app")})
|
||||
|
||||
|
||||
@bp.post("/backup/settings")
|
||||
def backup_settings_save():
|
||||
data = request.get_json(silent=True) or {}
|
||||
try:
|
||||
return ok({"settings": backup_service.save_auto_backup_settings(data, default_user_id())})
|
||||
return ok({"settings": backup_service.save_auto_backup_settings(data, default_user_id(), "app")})
|
||||
except Exception as exc:
|
||||
return jsonify({"ok": False, "error": str(exc)}), 403 if isinstance(exc, PermissionError) else 400
|
||||
|
||||
|
||||
@bp.get("/backup/profile/settings")
|
||||
def profile_backup_settings_get():
|
||||
pid = _active_profile_id()
|
||||
if not pid:
|
||||
return jsonify({"ok": False, "error": "No profile"}), 400
|
||||
return ok({"settings": backup_service.get_auto_backup_settings(default_user_id(), "profile", pid)})
|
||||
|
||||
|
||||
@bp.post("/backup/profile/settings")
|
||||
def profile_backup_settings_save():
|
||||
data = request.get_json(silent=True) or {}
|
||||
pid = _active_profile_id()
|
||||
if not pid:
|
||||
return jsonify({"ok": False, "error": "No profile"}), 400
|
||||
try:
|
||||
return ok({"settings": backup_service.save_auto_backup_settings(data, default_user_id(), "profile", pid)})
|
||||
except Exception as exc:
|
||||
return jsonify({"ok": False, "error": str(exc)}), 403 if isinstance(exc, PermissionError) else 400
|
||||
|
||||
|
||||
Reference in New Issue
Block a user