# Scheduler

- Module key: `Scheduler`
- Category: `Setting/System`
- Path: `app/Modules/Scheduler`

## Ringkasan

Scheduler berada di kategori Setting/System. Modul ini memiliki 13 definisi route, 1 controller, 1 model, dan 1 view. Tidak ada migration khusus module yang terdeteksi; kemungkinan memakai tabel core atau hanya modul UI/utility.

## Flowchart

```mermaid
flowchart TD
    A[User / Operator] --> B[Menu Scheduler]
    B --> C[Routes: 13]
    C --> D[Controllers: 1]
    D --> E[Views: 1]
    D --> F[(Tables: 0<br/>No module table)]
    D --> G[Validation / Business Rules]
    G --> F
    F --> H[Report / Export / Audit]
```


## Routes

- `Route::middleware(['auth', 'ip.block', 'menu.access'])->group(function () {`  
  File: `app/Modules/Scheduler/routes/web.php`
- `Route::prefix('scheduler')->name('scheduler.')->group(function () {`  
  File: `app/Modules/Scheduler/routes/web.php`
- `Route::get('data', [SchedulerController::class, 'data'])->name('data');`  
  File: `app/Modules/Scheduler/routes/web.php`
- `Route::get('calendar', [SchedulerController::class, 'calendar'])->name('calendar');`  
  File: `app/Modules/Scheduler/routes/web.php`
- `Route::get('runner/status', [SchedulerController::class, 'runnerStatus'])->name('runner.status');`  
  File: `app/Modules/Scheduler/routes/web.php`
- `Route::post('runner/start', [SchedulerController::class, 'runnerStart'])->name('runner.start');`  
  File: `app/Modules/Scheduler/routes/web.php`
- `Route::post('runner/stop', [SchedulerController::class, 'runnerStop'])->name('runner.stop');`  
  File: `app/Modules/Scheduler/routes/web.php`
- `Route::post('runner/tick', [SchedulerController::class, 'runnerTick'])->name('runner.tick');`  
  File: `app/Modules/Scheduler/routes/web.php`
- `Route::get('attendance-sync-status', [SchedulerController::class, 'attendanceSyncStatus'])->name('attendance_sync_status');`  
  File: `app/Modules/Scheduler/routes/web.php`
- `Route::post('attendance-sync-jobs/{id}/cancel', [SchedulerController::class, 'cancelAttendanceSyncJob'])->name('attendance_sync_jobs.cancel');`  
  File: `app/Modules/Scheduler/routes/web.php`
- `Route::post('{id}/check', [SchedulerController::class, 'check'])->name('check');`  
  File: `app/Modules/Scheduler/routes/web.php`
- `Route::post('{id}/run-now', [SchedulerController::class, 'runNow'])->name('run_now');`  
  File: `app/Modules/Scheduler/routes/web.php`
- `Route::resource('scheduler', SchedulerController::class)->only(['index', 'store', 'update', 'destroy']);`  
  File: `app/Modules/Scheduler/routes/web.php`

## Controllers

- `app/Modules/Scheduler/Http/Controllers/SchedulerController.php`

## Models

- `app/Modules/Scheduler/Models/ScheduledTask.php`

## Views

- `app/Modules/Scheduler/Resources/views/index.blade.php`

## Database / Migration

- Tidak ada migration module terdeteksi.
