Permission JSON Export
File JSON siap pakai sudah disediakan di:
docs/bitwewe/admin-panel/permission-matrix.json
Tujuan
- Menjadi single source untuk:
- bootstrap permission ke backend
- sinkronisasi IAM internal
- audit role vs permission
- validasi drift antar environment
Struktur data
version: versi matrixsource: referensi sumber routeguard: guard Laravelpermissions: daftar semua permission keyroles: mapping role -> permission list
Contoh penggunaan di seeder
$data = json_decode(file_get_contents(
base_path('../doc-tech/docs/docs/bitwewe/admin-panel/permission-matrix.json')
), true);
foreach ($data['permissions'] as $perm) {
Permission::firstOrCreate(['name' => $perm, 'guard_name' => $data['guard']]);
}
foreach ($data['roles'] as $roleName => $perms) {
$role = Role::firstOrCreate(['name' => $roleName, 'guard_name' => $data['guard']]);
if ($perms === ['*']) {
$role->syncPermissions($data['permissions']);
} else {
$role->syncPermissions($perms);
}
}
Praktik pengelolaan
- Naikkan
versionsetiap ada perubahan permission map. - Tambahkan changelog singkat di PR saat:
- role baru ditambah
- permission key dihapus/di-rename
- scope role berubah
- Jalankan smoke-test login per role setelah sync permission.