Role.php 902 B

123456789101112131415161718192021222324252627282930313233343536
  1. <?php
  2. namespace App\Models;
  3. class Role
  4. {
  5. const ADMIN = 'admin';
  6. const MANAGER = 'manager';
  7. const BRIGADIER = 'brigadier';
  8. const WAREHOUSE_HEAD = 'warehouse_head';
  9. const ASSISTANT_HEAD = 'assistant_head';
  10. const VALID_ROLES = [
  11. self::ADMIN,
  12. self::MANAGER,
  13. self::BRIGADIER,
  14. self::WAREHOUSE_HEAD,
  15. self::ASSISTANT_HEAD,
  16. ];
  17. const NAMES = [
  18. self::ADMIN => 'Админ',
  19. self::MANAGER => 'Менеджер',
  20. self::BRIGADIER => 'Бригадир',
  21. self::WAREHOUSE_HEAD => 'Рук. Склада',
  22. self::ASSISTANT_HEAD => 'Помощник рук.',
  23. ];
  24. public static function effectiveRoles(string $role): array
  25. {
  26. return match ($role) {
  27. self::ASSISTANT_HEAD => [self::ASSISTANT_HEAD, self::ADMIN, self::MANAGER],
  28. default => [$role],
  29. };
  30. }
  31. }