# Controller CI3 — inventaris

**Total controller root (`application/controllers/`): 4**

| File | Peran | Ekuivalen CI4 (rencana) |
|------|--------|-------------------------|
| `Json.php` | API JSON mobile (presensi, cuti, profil, …) | `App\Controllers\Api\MobileJsonController` + `App\Services\Mobile\MobileJsonService` (**diimplementasi**) |
| `Site.php` | Login web, redirect, `login_auth` (Ion Auth) | `App\Controllers\Auth\*` (TODO) + view |
| `Cli.php` | Cron / backup DB via CLI | `app/Commands/*` (TODO) |
| `Errors.php` | `404_override` → `page_missing` | `app/Controllers\Errors` atau exception handler CI4 (TODO) |

## Controller modul HMVC (`application/modules/*/controllers/`)

**Total: 12 file**

### Modul `admin` (8)

| Controller | Fungsi perkiraan |
|------------|------------------|
| `Home.php` | Dashboard admin |
| `Pegawai.php` | Data pegawai |
| `Presensi.php` | Presensi / riwayat |
| `Perusahaan.php` | Master perusahaan |
| `Laporan.php` | Laporan / cetak |
| `Panel.php` | Admin user / akun |
| `Util.php` | Utilitas / list DB |
| `Errors.php` | Error modul |

### Modul `api` (3)

| Controller | Fungsi |
|------------|--------|
| `Home.php` | Entry API / dokumentasi ringkas |
| `Swagger.php` | Swagger UI |
| `Errors.php` | Error API |

### Modul `adminlte` (1)

| Controller | Fungsi |
|------------|--------|
| `Widget.php` | Widget UI |

## CI4 saat ini

| Area | Path |
|------|------|
| API mobile | `app/Controllers/Api/MobileJsonController.php` |
| Admin shell | `app/Controllers/Admin/Dashboard.php` |

**Kompleksitas:** tinggi pada domain presensi + cuti + upload; admin HMVC bergantung Grocery CRUD / view legacy.
