fix fix fix
This commit is contained in:
@@ -608,15 +608,17 @@ class IntegrationViewSet(SiteSectorModelViewSet):
|
||||
GET /api/v1/integration/integrations/{id}/debug-status/
|
||||
|
||||
Query params:
|
||||
- include_events: Include recent sync events (default: false)
|
||||
- include_events: Include recent sync events (default: true)
|
||||
- include_validation: Include data validation matrix (default: false)
|
||||
- event_limit: Number of events to return (default: 20)
|
||||
- event_limit: Number of events to return (default: 50)
|
||||
"""
|
||||
from igny8_core.business.integration.models import SyncEvent
|
||||
|
||||
integration = self.get_object()
|
||||
|
||||
include_events = request.query_params.get('include_events', 'false').lower() == 'true'
|
||||
include_events = request.query_params.get('include_events', 'true').lower() == 'true'
|
||||
include_validation = request.query_params.get('include_validation', 'false').lower() == 'true'
|
||||
event_limit = int(request.query_params.get('event_limit', 20))
|
||||
event_limit = int(request.query_params.get('event_limit', 50))
|
||||
|
||||
# Get integration health
|
||||
health_data = {
|
||||
@@ -637,25 +639,30 @@ class IntegrationViewSet(SiteSectorModelViewSet):
|
||||
|
||||
# Include sync events if requested
|
||||
if include_events:
|
||||
sync_health_service = SyncHealthService()
|
||||
logs = sync_health_service.get_sync_logs(
|
||||
integration.site_id,
|
||||
integration_id=integration.id,
|
||||
limit=event_limit
|
||||
)
|
||||
# Get real-time sync events from database
|
||||
events_qs = SyncEvent.objects.filter(
|
||||
integration=integration
|
||||
).order_by('-created_at')[:event_limit]
|
||||
|
||||
# Format logs as events
|
||||
# Format events for frontend
|
||||
events = []
|
||||
for log in logs:
|
||||
for event in events_qs:
|
||||
events.append({
|
||||
'type': 'sync' if log.get('success') else 'error',
|
||||
'action': log.get('operation', 'sync'),
|
||||
'description': log.get('message', 'Sync operation'),
|
||||
'timestamp': log.get('timestamp', timezone.now().isoformat()),
|
||||
'details': log.get('details', {}),
|
||||
'id': event.id,
|
||||
'type': event.event_type,
|
||||
'action': event.action,
|
||||
'description': event.description,
|
||||
'timestamp': event.created_at.isoformat(),
|
||||
'success': event.success,
|
||||
'content_id': event.content_id,
|
||||
'external_id': event.external_id,
|
||||
'error_message': event.error_message,
|
||||
'duration_ms': event.duration_ms,
|
||||
'details': event.details,
|
||||
})
|
||||
|
||||
response_data['events'] = events
|
||||
response_data['events_count'] = len(events)
|
||||
|
||||
# Include data validation if requested
|
||||
if include_validation:
|
||||
|
||||
Reference in New Issue
Block a user