Files
bij/docs/migration/json_api_map.md
2026-04-21 05:59:39 +07:00

47 lines
2.4 KiB
Markdown

# Pemetaan API mobile (`Json.php` → CI4)
Semua endpoint: **POST**, header respons **`Content-Type: application/json`**, **`Access-Control-Allow-Origin: *`**.
**URL CI4:**
- `POST {baseURL}api/mobile/{method}`
- Alias: `POST {baseURL}json/{method}` (sama dengan path CI3 `json/{method}`)
## Ringkasan method
| Method CI3 | Handler CI4 | Input POST utama | Output utama |
|------------|---------------|-------------------|--------------|
| `login_w_token` | `login_w_token` | `token` | `{status,pesan}` |
| `login` | `login` | `username`, `password` | `{status,pesan,token?}` |
| `profil` | `profil` | `token` | `{status,pesan,pegawai?}` |
| `save_cuti` | `save_cuti` | `token`, `nama_photo`, `photo` (base64), `tanggal`, `alasan`, `tipe` | `{status,pesan}` |
| `batalkan_cuti` | `batalkan_cuti` | `token`, `id` | `{status,pesan}` |
| `save_aktifitas` | `save_aktifitas` | `token`, `nama_photo`, `photo`, `tanggal`, `deksripsi` | `{status,pesan}` |
| `save_masuk` | `save_masuk` | `token`, `nama_photo`, `photo`, `lat`, `lng`, `jarak` | `{status,pesan}` |
| `save_pulang` | `save_pulang` | sama seperti masuk | `{status,pesan}` |
| `save_istirahat` | `save_istirahat` | `token`, `mulai`, `selesai` | `{status,pesan}` |
| `presensi_today` | `presensi_today` | `token` | `{status,pesan,data?}` |
| `presensi` | `presensi` | `token` | `{status,pesan,data?}` |
| `daftar_today` | `daftar_today` | `token` | `{status,pesan,data?}` |
| `berita` | `berita` | `token`, `dari`, `jumlah` | `{status,pesan,data?}` |
| `cuti` | `cuti` | `token`, `dari`, `jumlah` | `{status,pesan,data?}` |
| `lembur` | `lembur` | `token`, `dari`, `jumlah` | `{status,pesan,data?}` |
| `libur` | `libur` | `token` | `{status,pesan,data?}` |
| `aktifitas` | `aktifitas` | `token`, `dari`, `jumlah` | `{status,pesan,data?}` |
| `save_pp` | `save_pp` | `token`, `nama_photo`, `photo` | `{status,pesan}` |
| `save_password` | `save_password` | `token`, `pass_lama`, `pass_baru` | `{status,pesan}` |
`status`: **1** sukses, **0** gagal / tidak berubah (sesuai pola legacy).
## Implementasi CI4
- Controller: `app/Controllers/Api/MobileJsonController.php`
- Layanan: `app/Services/Mobile/MobileJsonService.php`
- Encoding JSON: `app/Libraries/LegacyUtf8Encoder.php`
## Peningkatan terjadwal (tidak mengubah kontrak sekarang)
- Ganti MD5 setelah mobile mendukung algoritma baru.
- Token → JWT / hash penyimpanan.
- Pecah service menjadi model per tabel + transaksi.