diff --git a/scripts/services/backend_service.gd b/scripts/services/backend_service.gd index 48ee7db..254c8f4 100644 --- a/scripts/services/backend_service.gd +++ b/scripts/services/backend_service.gd @@ -121,9 +121,18 @@ func api_rpc_async(rpc_id: String, payload: String = "{}") -> Dictionary: } # Success + var payload_str: String = result.payload if result.payload != null else "{}" + if payload_str.is_empty(): + payload_str = "{}" + + var parsed_data = JSON.parse_string(payload_str) + if parsed_data == null: + parsed_data = {} + return { "success": true, - "payload": result.payload + "payload": payload_str, + "data": parsed_data } return { "success": false, "error": ErrorCode.NETWORK_ERROR, "message": "Max retries exceeded" } diff --git a/scripts/ui/admin_panel.gd b/scripts/ui/admin_panel.gd index 9e595c3..ba669b8 100644 --- a/scripts/ui/admin_panel.gd +++ b/scripts/ui/admin_panel.gd @@ -301,15 +301,7 @@ func _rpc(rpc_name: String, payload: Dictionary) -> Dictionary: var err: String = str(result.get("message", "Unknown error")) _set_status(err, CLR_STATUS_ERR) return {"error": err} - - var payload_str: String = result.get("payload", "{}") - if payload_str.is_empty(): - payload_str = "{}" - - var parsed = JSON.parse_string(payload_str) - if typeof(parsed) == TYPE_DICTIONARY: - return parsed - return {} + return result.get("data", {}) func _set_status(msg: String, color: Color = CLR_DIM) -> void: status_label.text = msg