init commit
All checks were successful
build-api-image / build (push) Successful in 51s

This commit is contained in:
Antonio Lopes dos Santos
2026-08-04 16:52:02 -03:00
commit afec302c3e
11594 changed files with 1636728 additions and 0 deletions

View File

@@ -0,0 +1,45 @@
<?php
namespace App\Rules\AtencaoBasica\Exportacao;
use App\Enums\AtencaoBasica\Exportacao\Fabricante;
use App\Enums\AtencaoBasica\Exportacao\VacinaAplicadaExterior;
use Illuminate\Contracts\Validation\Rule;
class FabricanteIsValid implements Rule
{
public function passes($attribute, $value)
{
return self::isValid($value);
}
public static function isValid($value)
{
$fabricanteVacina = [
VacinaAplicadaExterior::COVID_19_RECOMBINANTE_ASTRAZENECA_FIOCRUZ_COVISHIELD => Fabricante::OXFORD_ASTRAZENECA,
VacinaAplicadaExterior::COVID_19_INATIVADA_SINOVAC_BUTANTAN_CORONAVAC => Fabricante::SINOVAC_BUTANTAN,
VacinaAplicadaExterior::COVID_19_RNAM_PFIZER_COMIRNATY => Fabricante::PFIZER_BIONTECH,
VacinaAplicadaExterior::COVID_19_RECOMBINANTE_JANSSEN_AD26_COV2_S => Fabricante::JANSSEN_CILAG,
VacinaAplicadaExterior::COVID_19_RECOMBINANTE_ASTRAZENECA_COVAX_CHADOX1_S => Fabricante::ASTRAZENECA_CHADOX1_S,
VacinaAplicadaExterior::COVID_19_GAMALEYA_SPUTNIK_V_RECOMBINANTE => Fabricante::GAMALEYA_SPUTNIK_V,
VacinaAplicadaExterior::COVID_19_COVID_19_BHARAT_COVAXIN_INATIVADA => Fabricante::BHARAT_COVAXIN,
VacinaAplicadaExterior::COVID_19_MODERNA_RNAM => Fabricante::MODERNA,
VacinaAplicadaExterior::COVID_19_INATIVADA_SINOVAC_CORONAVAC => Fabricante::SINOVAC_CORONAVAC,
VacinaAplicadaExterior::COVID_19_RNAM_PFIZER_COMIRNATY_PEDIATRICA => Fabricante::COMIRNATY_PFIZER_BIONTECH,
VacinaAplicadaExterior::COVID_19_RNAM_PFIZER_COMIRNATY_PEDIATRICA_MENOR_5_ANOS => Fabricante::COMIRNATY_PFIZER_BIONTECH,
VacinaAplicadaExterior::COVID_19_RNAM_PFIZER_COMIRNATY_BIVALENTE => Fabricante::COMIRNATY_PFIZER_BIONTECH,
];
if (isset($fabricanteVacina[$value['vacina']]) && $value['fabricante'] != $fabricanteVacina[$value['vacina']]) {
return false;
}
return true;
}
public function message()
{
return 'Dose inválida.';
}
}