[ 'animes.view' => 'Anime listesini görüntüle', 'animes.create' => 'Yeni anime ekle', 'animes.edit' => 'Anime düzenle', 'animes.delete' => 'Anime sil', 'animes.publish' => 'Anime yayınla / gizle', ], 'Bölüm Yönetimi' => [ 'episodes.view' => 'Bölümleri görüntüle', 'episodes.create' => 'Bölüm ekle', 'episodes.edit' => 'Bölüm düzenle', 'episodes.delete' => 'Bölüm sil', ], 'Kullanıcı Yönetimi' => [ 'users.view' => 'Kullanıcıları görüntüle', 'users.edit' => 'Kullanıcı bilgilerini düzenle', 'users.ban' => 'Kullanıcı banla / ban kaldır', 'users.premium' => 'Premium ver / al', ], 'Yorum Yönetimi' => [ 'comments.view' => 'Yorumları görüntüle', 'comments.approve' => 'Yorum onayla / reddet', 'comments.delete' => 'Yorum sil', 'comments.pin' => 'Yorum sabitle', ], 'İçerik Yönetimi' => [ 'genres.manage' => 'Türleri yönet', 'banners.manage' => 'Bannerleri yönet', 'requests.manage' => 'Anime isteklerini yönet', 'tribunal.manage' => 'Mahkeme yönet', 'import.manage' => 'Anime import et', ], 'Analitik & Raporlar' => [ 'analytics.view' => 'Analitikleri görüntüle', 'analytics.bots' => 'Bot analitiğini görüntüle', 'analytics.block' => 'IP engelle / engel kaldır', 'analytics.users' => 'Kullanıcı analitiği & aktivite', ], 'Bildirimler' => [ 'notifications.send' => 'Push bildirim gönder', 'notifications.view' => 'Bildirim geçmişini görüntüle', ], ]; public static function allKeys(): array { return collect(self::$groups)->flatMap(fn($g) => array_keys($g))->values()->all(); } public function user(): BelongsTo { return $this->belongsTo(User::class); } public function grantedBy(): BelongsTo { return $this->belongsTo(User::class, 'granted_by'); } }