Files
web-antrean/PLACEHOLDER_API_README.md
2025-12-18 15:11:41 +07:00

2.6 KiB

Placeholder API Permission

Deskripsi

Placeholder API untuk permission digunakan untuk testing dan development ketika backend API tidak tersedia.

Cara Menggunakan

1. Menggunakan Placeholder API secara Default

Placeholder API akan otomatis digunakan sebagai fallback jika backend API (http://10.10.150.131:8089/api/v1/permission) tidak dapat diakses.

2. Memaksa Menggunakan Placeholder API

Tambahkan query parameter usePlaceholder=true pada request:

GET /api/permission?roles=superadmin&groups=STIM&usePlaceholder=true

3. Menonaktifkan Placeholder API

Tambahkan query parameter usePlaceholder=false pada request:

GET /api/permission?roles=superadmin&groups=STIM&usePlaceholder=false

Data Placeholder yang Tersedia

Role: superadmin, Group: STIM

Data placeholder mengembalikan 5 permission items:

  • Halaman Utama (read: true, active: true)
  • Pengaturan (read: true, active: true)
  • Halaman (read: true, active: true, disable: true)
  • Dashboard (read: true, active: true, disable: true)

Mapping Pagename ke Menu Sidebar

Sistem akan otomatis memetakan pagename dari API ke nama menu di sidebar:

  • "Halaman Utama" → "Dashboard"
  • "Pengaturan" → "Master Data"
  • "Halaman" → "Master Data"
  • "Dashboard" → "Dashboard"

Testing dengan User bayurssa

Untuk testing dengan user email "bayurssa":

  1. Pastikan user memiliki role "superadmin" dan group "STIM" di Keycloak
  2. Login dengan email "bayurssa" dan password "12345"
  3. Sistem akan otomatis menggunakan placeholder API jika backend tidak tersedia
  4. Sidebar akan terfilter berdasarkan permissions dari placeholder API

Mapping Role dan Group

Sistem secara otomatis melakukan normalisasi untuk role dan group:

Normalisasi Role

  • default-roles-sandboxsuperadmin
  • Role lain akan digunakan apa adanya (lowercase)

Normalisasi Group

  • Instalasi STIMSTIM
  • Group yang mengandung "Instalasi" akan diekstrak untuk mengambil bagian "STIM"
  • Group lain akan digunakan apa adanya (uppercase)

Contoh Mapping

  • Role: default-roles-sandbox + Group: Instalasi STIM → API akan menggunakan roles=superadmin&groups=STIM
  • Role: default-roles-sandbox + Group: STIM → API akan menggunakan roles=superadmin&groups=STIM

Catatan

  • Placeholder API hanya tersedia untuk kombinasi role dan group yang sudah didefinisikan
  • Sistem akan otomatis melakukan normalisasi role dan group sebelum memanggil API
  • Jika role/group tidak ditemukan di placeholder, sistem akan mencoba menggunakan backend API
  • Jika backend API juga gagal, sistem akan mengembalikan data kosong