Proje: Okul Platform · Hub: Okul Platform — Conventions
Pattern Açıklaması
Spatie permission eklemesi/kaldırması için PermissionAddOrDropTrait kullanılır.
Migration’larda yeni permission eklemek standart bir pattern.
PermissionAddOrDropTrait Kullanımı
class SomeMigration extends Migration
{
use PermissionAddOrDropTrait;
public function up(): void
{
$this->addPermissions();
}
public function down(): void
{
$this->dropPermissions();
}
protected function permissions(): array
{
return array_merge(
$this->permissionTemplate(
permissionName: 'view-school',
displayName: 'Okul görüntüleme',
categoryName: 'Okullar',
roles: [
RoleType::SUPER_ADMIN->value,
RoleType::SALES->value,
// ...
],
),
// ... daha fazla permission
);
}
}permissionTemplate() Yapısı
permissionName→ PermissionType enum değeridisplayName→ Türkçe açıklama (Spatie’ye kaydedilir)categoryName→ İzin kategorisiroles→ Bu izni hangi roller alacak
Örnek Migration
2026_04_16_115931_add_article_comment_permissions.php — Makale yorum permission’ları:
Sadece SUPER_ADMIN’e: add, edit, delete article-comment.
Related
- api-role-permission-system — Spatie role/permission sistemi