47 lines
2.4 KiB
Markdown
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.
|