diff --git a/internal/services/rbac/service.go b/internal/services/rbac/service.go index 6eb3227..fa573b2 100644 --- a/internal/services/rbac/service.go +++ b/internal/services/rbac/service.go @@ -30,9 +30,10 @@ func NewService(store ports.RBACStore, logger *slog.Logger) *Service { } // HasPermission checks if a role has a specific permission key. -// SUPER_ADMIN always returns true. +// SUPER_ADMIN and ADMIN always return true to keep admin panel +// access resilient even when RBAC seed data is partially missing. func (s *Service) HasPermission(roleName, permKey string) bool { - if roleName == string(domain.RoleSuperAdmin) { + if roleName == string(domain.RoleSuperAdmin) || roleName == string(domain.RoleAdmin) { return true } snap := s.cache.Load().(*snapshot)