@extends('admin.layout', [ 'title' => 'Neo Feeder', 'heading' => 'Integrasi Neo Feeder', 'subheading' => 'Sinkronisasi data SIAKAD dengan Neo Feeder PDDIKTI.', ]) @php $statusBadge = static function (string $status): string { return match ($status) { 'ready', 'agent_ready', 'dispatched' => 'badge badge-info', 'synced', 'reachable', 'completed', 'authenticated' => 'badge badge-success', 'failed', 'missing_url', 'disabled', 'unreachable', 'auth_failed' => 'badge badge-danger', default => 'badge badge-secondary', }; }; $statusIcon = static function (string $status): string { return match ($status) { 'ready', 'agent_ready' => 'fa-clock', 'dispatched' => 'fa-paper-plane', 'synced', 'reachable', 'completed', 'authenticated' => 'fa-check-circle', 'failed', 'missing_url', 'disabled', 'unreachable', 'auth_failed' => 'fa-times-circle', default => 'fa-question-circle', }; }; $statusColor = static function (string $status): string { return match ($status) { 'ready', 'agent_ready' => 'text-info', 'dispatched' => 'text-warning', 'synced', 'reachable', 'completed', 'authenticated' => 'text-success', 'failed', 'missing_url', 'disabled', 'unreachable', 'auth_failed' => 'text-danger', default => 'text-secondary', }; }; $isDirect = $config['mode'] === 'direct'; $isDryRun = $config['dry_run']; $isEnabled = $config['enabled'] ?? false; @endphp @section('admin-content') {{-- Alert Flash Messages --}} @if (session('success'))
Mengirim data master (prodi, dosen, mahasiswa, kurikulum, mata kuliah, jadwal, KRS, nilai, AKM) dari SIAKAD ke Neo Feeder.
Menarik data dari Neo Feeder PDDIKTI ke database SIAKAD lokal untuk sinkronisasi dan backup.
{{ $probe['message'] }}
{{ $config['url'] !== '' ? $config['url'] : 'Belum diatur' }}
{{ $config['url'] }}
{{ $agentConfig['push_script_path'] }}
GET {{ $agentConfig['batch_endpoint'] }}
POST {{ $agentConfig['complete_endpoint'] }}
{{ $entity['description'] }}
| Entitas | Status | Ringkasan |
|---|---|---|
|
{{ $entityMap[$importRequest->entity_type] ?? $importRequest->entity_type }}
{{ $importRequest->created_at?->format('d M Y H:i') ?? '-' }}
|
{{ strtoupper($importRequest->status) }} | @if (is_array($importRequest->summary)) +{{ $importRequest->summary['created'] ?? 0 }} ~{{ $importRequest->summary['updated'] ?? 0 }} -{{ $importRequest->summary['failed'] ?? 0 }} @else {{ Str::limit($importRequest->last_error ?: 'Menunggu agent...', 30) }} @endif |
|
Belum ada request tarik data. |
||
| Entitas | Status | Pesan |
|---|---|---|
|
{{ $entityMap[$queue->entity_type] ?? $queue->entity_type }}
ID: {{ $queue->entity_id }}
|
{{ strtoupper($queue->status) }} | @if ($queue->last_error) {{ Str::limit($queue->last_error, 25) }} @else {{ $queue->dispatched_at?->format('d M H:i') ?? '-' }} @endif |
|
Belum ada antrean. |
||
| Entitas | Status | Pesan |
|---|---|---|
|
{{ $entityMap[$log->entity_type] ?? $log->entity_type }}
{{ strtoupper($log->mode) }}
|
{{ strtoupper($log->status) }} | {{ Str::limit($log->message ?? '-', 30) }} |
|
Belum ada log sinkronisasi. |
||
powershell -ExecutionPolicy Bypass -File "{{ $agentConfig['push_script_path'] }}" `
-SiakadBaseUrl "{{ $agentConfig['siakad_base_url'] }}" `
-AgentToken "TOKEN_AGENT_DARI_ENV" `
-NeoFeederUrl "{{ $config['url'] }}" `
-NeoFeederUsername "USERNAME" `
-NeoFeederPassword "PASSWORD" `
-RunOnce
powershell -ExecutionPolicy Bypass -File "{{ $agentConfig['import_script_path'] }}" `
-SiakadBaseUrl "{{ $agentConfig['siakad_base_url'] }}" `
-AgentToken "TOKEN_AGENT_DARI_ENV" `
-NeoFeederUrl "{{ $config['url'] }}" `
-NeoFeederUsername "USERNAME" `
-NeoFeederPassword "PASSWORD" `
-RunOnce