71 lines
1.7 KiB
PHP
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',
|
|
],
|
|
]);
|
|
}
|
|
}
|