Skip to main content

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 matrix
  • source: referensi sumber route
  • guard: guard Laravel
  • permissions: daftar semua permission key
  • roles: 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 version setiap 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.