Files
rkm-conectasus-ci-sandbox/api/app/Services/Integracao/Esus/ParametrizacaoService.php
Antonio Lopes dos Santos afec302c3e
All checks were successful
build-api-image / build (push) Successful in 51s
init commit
2026-08-04 16:52:02 -03:00

71 lines
1.7 KiB
PHP

<?php
namespace App\Services\Integracao\Esus;
use App\Models\Integracao\Esus\Parametrizacao;
use App\Services\Service;
class ParametrizacaoService extends Service
{
public static function create()
{
$parametrizacao = Parametrizacao::first();
return [
'model' => [
'ativo' => $parametrizacao->ativo ?? false,
'url_instalacao' => $parametrizacao->url_instalacao ?? null,
'usuario' => $parametrizacao->usuario ?? null,
'senha' => $parametrizacao->senha ?? null,
'confirmacao_senha' => $parametrizacao->senha ?? null,
],
];
}
public static function store($request)
{
self::validate($request);
$parametrizacao = Parametrizacao::first();
if (is_null($parametrizacao)) {
$parametrizacao = Parametrizacao::create($request->all());
}
else {
$parametrizacao->update($request->all());
}
return $parametrizacao->fresh();
}
private static function validate($request)
{
$request->validate([
'ativo' => [
'required',
'boolean'
],
'url_instalacao' => [
'nullable',
'required_if:ativo,true',
'string',
'max:255',
],
'usuario' => [
'nullable',
'required_if:ativo,true',
'string',
'max:100',
],
'senha' => [
'nullable',
'required_if:ativo,true',
'string',
'max:100',
],
]);
}
}