# 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}`
