Roles.php 738 B

1234567891011121314151617181920212223242526272829
  1. <?php
  2. namespace Libs;
  3. /**
  4. * Catálogo central de papéis (roles) válidos do sistema.
  5. *
  6. * O papel é persistido em "user.user_role" (VARCHAR(10)) e embarcado no JWT.
  7. * Manter a lista num único lugar evita divergência entre validação de
  8. * cadastro (RegisterController) e checagem de acesso (RoleMiddleware).
  9. */
  10. final class Roles
  11. {
  12. public const ADMIN = 'admin';
  13. public const MANAGER = 'manager';
  14. public const OPERATOR = 'operator';
  15. /** @var string[] Todos os papéis aceitos pelo sistema. */
  16. public const ALL = [
  17. self::ADMIN,
  18. self::MANAGER,
  19. self::OPERATOR,
  20. ];
  21. public static function isValid(string $role): bool
  22. {
  23. return in_array($role, self::ALL, true);
  24. }
  25. }