2.6 KiB
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":
- Pastikan user memiliki role "superadmin" dan group "STIM" di Keycloak
- Login dengan email "bayurssa" dan password "12345"
- Sistem akan otomatis menggunakan placeholder API jika backend tidak tersedia
- 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-sandbox→superadmin- Role lain akan digunakan apa adanya (lowercase)
Normalisasi Group
Instalasi STIM→STIM- 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 menggunakanroles=superadmin&groups=STIM - Role:
default-roles-sandbox+ Group:STIM→ API akan menggunakanroles=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