Fix: Ensure client_id parameter is always sent in query_server_last_sync request

- Make client_id parameter optional in query_server_last_sync()
- Auto-generate client_id if not provided using _get_client_id()
- Add debug logging for client_id parameter
- Fixes 400 error when server requires client_id parameter
parent 3836cd4a
...@@ -1435,7 +1435,7 @@ class ReportsSyncResponseHandler(ResponseHandler): ...@@ -1435,7 +1435,7 @@ class ReportsSyncResponseHandler(ResponseHandler):
logger.error(f"Unexpected error during sync: {e}") logger.error(f"Unexpected error during sync: {e}")
return False return False
def query_server_last_sync(self, client_id: str) -> Optional[Dict[str, Any]]: def query_server_last_sync(self, client_id: str = None) -> Optional[Dict[str, Any]]:
"""Query server for last sync information""" """Query server for last sync information"""
try: try:
if not self.api_client or not hasattr(self.api_client, 'session'): if not self.api_client or not hasattr(self.api_client, 'session'):
...@@ -1458,8 +1458,13 @@ class ReportsSyncResponseHandler(ResponseHandler): ...@@ -1458,8 +1458,13 @@ class ReportsSyncResponseHandler(ResponseHandler):
if token: if token:
headers['Authorization'] = f"Bearer {token}" headers['Authorization'] = f"Bearer {token}"
# Query server # Get client_id if not provided
if not client_id:
client_id = self._get_client_id()
# Query server with client_id parameter
params = {"client_id": client_id} params = {"client_id": client_id}
logger.debug(f"Querying server last sync with client_id: {client_id}")
response = self.api_client.session.get( response = self.api_client.session.get(
base_url, base_url,
headers=headers, headers=headers,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment