# 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.