| 123456789101112131415161718192021222324252627282930313233 |
- <?php
- namespace App\Enums;
- use App\Traits\EnumHelper;
- enum EvaluationTargetEnum: string
- {
- use EnumHelper;
- case TODOS = 'todos';
- case ASSOCIADO = 'associado';
- case PARCEIRO = 'parceiro';
- /**
- * Tipos de usuário elegíveis a responder uma campanha com este alvo.
- *
- * @return array<int, UserTypeEnum>
- */
- public function userTypes(): array
- {
- return match ($this) {
- self::ASSOCIADO => [UserTypeEnum::ASSOCIADO],
- self::PARCEIRO => [UserTypeEnum::PARCEIRO],
- self::TODOS => [UserTypeEnum::ASSOCIADO, UserTypeEnum::PARCEIRO],
- };
- }
- public function accepts(UserTypeEnum $userType): bool
- {
- return in_array($userType, $this->userTypes(), true);
- }
- }
|