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,50 @@
<?php
namespace App\Rules\Sigtap;
use Illuminate\Contracts\Validation\Rule;
use Illuminate\Support\Facades\DB;
class ClassificacaoIsValidForServico implements Rule
{
private $servicoId;
public function __construct($servicoId)
{
$this->servicoId = $servicoId;
}
public function passes($attribute, $value)
{
return self::isValid($this->servicoId, $value);
}
public static function isValid($servicoId, $value)
{
$servicoIds = collect($servicoId)
->map(fn($s) => $s->id ?? null)
->filter()
->unique()
->values();
$classificacaoIds = collect($value)
->flatMap(fn($sub) => collect($sub)->pluck('id'))
->filter()
->unique()
->values();
if ($servicoIds->isEmpty() || $classificacaoIds->isEmpty()) {
return false;
}
return DB::table('sigtap.classificacao')
->whereIn('id', $classificacaoIds->all())
->whereIn('servico_id', $servicoIds->all())
->exists();
}
public function message()
{
return "Classificação inválida para para o serviço informado.";
}
}