Lewati ke konten utama

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).

Request
GET /api/backoffice/admin/inf

Kondisi & Tindakan:

  • Sukses (200 OK): Backend merespons data profil lengkap, termasuk properti role dan permissions (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.

Request
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.

Request
POST /api/backoffice/admin
Content-Type: application/json
Request Body
{
"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.

Request
PATCH /api/backoffice/admin/{id}/update-role
Content-Type: application/json
Request Body
{
"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).

Request
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.

Request
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.

Request
POST /api/backoffice/admin/{id}/reset-password