Microsoft Graph Traditional Sync Results

Executed at: {{ $timestamp }} @if(isset($results['dry_run']) && $results['dry_run']) DRY RUN MODE @endif

@if($results['success']) โœ… Sync Completed Successfully @else โŒ Sync Failed @endif

Operation: {{ ucfirst(str_replace('_', ' ', $results['operation'] ?? 'unknown')) }}

Duration: {{ $results['duration'] ?? 'unknown' }} seconds

Triggered by: {{ $results['triggered_by'] ?? 'Unknown' }}

@if(isset($results['extra_options']) && !empty($results['extra_options']))

Extra Options: {{ implode(', ', $results['extra_options']) }}

@endif
@if(!$results['success'] && isset($results['error']))

โŒ Error Details

{{ $results['error'] }}
@endif @if(isset($errors) && !empty($errors))

๐Ÿ” Detailed Error Information

@foreach($errors as $error)
{{ $error['message'] }}
@if(isset($error['file']) && isset($error['line']))
Location: {{ basename($error['file']) }}:{{ $error['line'] }}
@endif @if(isset($error['trace']))
๐Ÿ”ง Show Stack Trace
{{ $error['trace'] }}
@endif
@endforeach
@endif @if(isset($results['sync_results']) && $results['success'])

๐Ÿ“Š Sync Results

{{ json_encode($results['sync_results'], JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE) }}
@if(is_array($results['sync_results'])) @php $syncData = $results['sync_results']; $stats = []; // Extract common statistics from sync results if (isset($syncData['folders_processed'])) { $stats['Folders Processed'] = $syncData['folders_processed']; } if (isset($syncData['contacts_processed'])) { $stats['Contacts Processed'] = $syncData['contacts_processed']; } if (isset($syncData['folders_created'])) { $stats['Folders Created'] = $syncData['folders_created']; } if (isset($syncData['contacts_created'])) { $stats['Contacts Created'] = $syncData['contacts_created']; } if (isset($syncData['folders_updated'])) { $stats['Folders Updated'] = $syncData['folders_updated']; } if (isset($syncData['contacts_updated'])) { $stats['Contacts Updated'] = $syncData['contacts_updated']; } if (isset($syncData['folders_deleted'])) { $stats['Folders Deleted'] = $syncData['folders_deleted']; } if (isset($syncData['contacts_deleted'])) { $stats['Contacts Deleted'] = $syncData['contacts_deleted']; } if (isset($syncData['api_calls'])) { $stats['API Calls Made'] = $syncData['api_calls']; } if (isset($syncData['errors'])) { $stats['Errors Encountered'] = is_array($syncData['errors']) ? count($syncData['errors']) : $syncData['errors']; } @endphp @if(!empty($stats))
@foreach($stats as $label => $value)
{{ $label }}
{{ $value }}
@endforeach
@endif @if(isset($syncData['folders']) && is_array($syncData['folders']))

๐Ÿ“ Contact Folders

@if(isset($syncData['folders'][0]['contact_count'])) @endif @if(isset($syncData['folders'][0]['parent_folder_id'])) @endif @foreach($syncData['folders'] as $folder) @if(isset($folder['contact_count'])) @endif @if(isset($folder['parent_folder_id'])) @endif @endforeach
Name IDContact CountParent Folder
{{ $folder['display_name'] ?? $folder['name'] ?? 'Unknown' }} {{ $folder['id'] ?? 'Unknown' }}{{ $folder['contact_count'] }}{{ $folder['parent_folder_id'] ?? 'Root' }}
@endif @if(isset($syncData['contacts']) && is_array($syncData['contacts']))

๐Ÿ‘ฅ Contacts

๐Ÿ“‹ Show Contact Details ({{ count($syncData['contacts']) }} contacts)
@if(isset($syncData['contacts'][0]['folder_name'])) @endif @foreach($syncData['contacts'] as $contact) @if(isset($contact['folder_name'])) @endif @endforeach
Display Name Email IDFolder
{{ $contact['display_name'] ?? $contact['displayName'] ?? 'Unknown' }} {{ $contact['email'] ?? $contact['emailAddresses'][0]['address'] ?? 'No email' }} {{ $contact['id'] ?? 'Unknown' }}{{ $contact['folder_name'] }}
@endif @if(isset($syncData['folder_id']) && $results['operation'] === 'test_contact_folder')

๐Ÿงช Test Folder Results

@if(isset($syncData['folder_name'])) @endif @if(isset($syncData['auto_deleted'])) @endif @if(isset($syncData['delete_message'])) @endif
Created Folder ID {{ $syncData['folder_id'] }}
Folder Name {{ $syncData['folder_name'] }}
Auto-Deletion @if($syncData['auto_deleted']) โœ… Success @else โŒ Failed @endif
Delete Message {{ $syncData['delete_message'] }}
@endif @endif
@endif @if(isset($logs) && !empty($logs))

๐Ÿ“‹ Recent Log Entries

@foreach($logs as $log)
[{{ $log['timestamp'] ?? 'Unknown' }}] {{ strtoupper($log['level'] ?? 'INFO') }}: {{ $log['message'] ?? 'No message' }} @if(isset($log['context']) && !empty($log['context']))
Context: {{ json_encode($log['context']) }} @endif
@endforeach
@endif
๐Ÿ”„ Run Another Sync โšก Smart Sync Interface ๐Ÿ“Š Smart Sync Status