49 lines
1.7 KiB
Markdown
49 lines
1.7 KiB
Markdown
# Modul User / Pengguna
|
|
|
|
**Tanggal:** 2026-07-25
|
|
**Status:** Selesai
|
|
|
|
## Tujuan
|
|
Membuat halaman manajemen pengguna (user) dengan CRUD, mengikuti pola halaman jenis bisnis dan paket.
|
|
|
|
## Yang Dikerjakan
|
|
|
|
### 1. Halaman List Pengguna
|
|
- `/admin/users` — DataTable dengan columns: Email, Username, Nama Lengkap, Status, Actions
|
|
- Search (email/nama), filter status, reset filter
|
|
- Delete dengan konfirmasi dialog
|
|
|
|
### 2. Halaman Tambah Pengguna
|
|
- `/admin/users/create` — Form: email, username, password, full_name, phone, address, pob, dob
|
|
- Validasi required fields, submit POST ke API, redirect ke list
|
|
|
|
### 3. Halaman Edit Pengguna
|
|
- `/admin/users/{id}/edit` — Form pre-filled dari API, sama dengan create
|
|
- Password opsional (kosongkan jika tidak diubah)
|
|
- Submit PUT ke API, redirect ke list
|
|
|
|
### 4. Sidebar
|
|
- Tambah menu "Pengguna" di grup Master dengan icon Users
|
|
|
|
## File yang Diubah/Dibuat
|
|
|
|
| File | Aksi | Detail |
|
|
|------|------|--------|
|
|
| `core/app/pages/admin/users/columns.ts` | Dibuat | Column definitions + interface User |
|
|
| `core/app/pages/admin/users/index.vue` | Dibuat/Ditulis ulang | Halaman list dengan delete dialog |
|
|
| `core/app/pages/admin/users/create.vue` | Dibuat | Halaman tambah pengguna |
|
|
| `core/app/pages/admin/users/[id]/edit.vue` | Dibuat | Halaman edit pengguna |
|
|
| `core/app/components/AppSidebar.vue` | Diubah | Tambah menu "Pengguna" |
|
|
|
|
## Routing
|
|
|
|
| Path | File |
|
|
|------|------|
|
|
| `/admin/users` | `pages/admin/users/index.vue` |
|
|
| `/admin/users/create` | `pages/admin/users/create.vue` |
|
|
| `/admin/users/:id/edit` | `pages/admin/users/[id]/edit.vue` |
|
|
|
|
## Notes
|
|
- Menggunakan field `status` dari API (ACTIVE/INACTIVE) untuk badge status
|
|
- API endpoint: `GET /v1/users`, `POST /v1/users`, `PUT /v1/users/{id}`, `DELETE /v1/users/{id}`
|