Admin Accounts Management
Dalam pengelolaan Backoffice, pengguna tidak bisa mendaftar secara mandiri layaknya Customer. Seluruh akun Administrator tingkat menengah ke bawah harus dibuat dan dikelola oleh Administrator tingkat atas (Super Admin atau Manager).
Modul API ini bertanggung jawab penuh atas Siklus Hidup (CRUD) seorang staf/Admin di Frog Cloud.
Diagram Siklus Hidup Akun Admin
1. Melihat Profil Sendiri (Admin Info)
Saat aplikasi Backoffice pertama kali dimuat (on-load), Frontend harus menarik informasi profil dan Permissions (hak akses spesifik) dari Admin yang sedang login untuk merender UI yang sesuai (misal: menyembunyikan menu yang tidak boleh diakses).
GET /api/backoffice/admin/inf
Kondisi & Tindakan:
- Sukses (200 OK): Backend merespons data profil lengkap, termasuk properti
roledanpermissions(berupa array of strings). Simpan di State Management Anda (misal: React Context atau Redux).
2. Tabel Daftar Admin
Menampilkan tabel atau daftar seluruh staf yang memiliki akses ke Backoffice, lengkap dengan paginasi.
GET /api/backoffice/admin?page=1&limit=10
3. Membuat Admin Baru (Create)
Ketika Super Admin merekrut staf baru, mereka membuatkan akunnya via form. Password akan di-generate secara otomatis oleh Backend dan (idealnya) dikirimkan via Email, atau dikembalikan sebagai respons API untuk dicatat.
POST /api/backoffice/admin
Content-Type: application/json
{
"name": "Siti Markonah",
"email": "siti.support@frogcloud.com",
"role": "Customer Support"
}
4. Memperbarui Jabatan (Update Role)
Apabila ada staf yang dipromosikan atau diturunkan jabatannya, Admin berwenang dapat merubah role staf tersebut. Hal ini akan langsung berdampak pada Permissions yang mereka miliki pada saat login berikutnya.
PATCH /api/backoffice/admin/{id}/update-role
Content-Type: application/json
{
"role": "Financial Manager"
}
5. Menghapus / Menangguhkan (Soft Delete)
Jika seorang staf mengundurkan diri atau diberhentikan, Admin tidak menghapus data mereka secara permanen (hard delete) dari database demi alasan audit dan riwayat sistem. Alih-alih, akun tersebut di-soft delete (ditangguhkan).
DELETE /api/backoffice/admin/{id}/delete
(Admin yang telah di-soft-delete tidak akan bisa login ke Backoffice).
6. Memulihkan Akun (Restore)
Jika staf yang ditangguhkan tersebut ternyata kembali bekerja, akunnya dapat dipulihkan.
POST /api/backoffice/admin/{id}/restore
7. Reset Password Paksa
Apabila seorang staf lupa password-nya dan tidak bisa mereset secara mandiri, Super Admin dapat memberikan perintah Reset Password. Backend akan meng-generate password acak yang baru.
POST /api/backoffice/admin/{id}/reset-password