File manager - Edit - /var/www/html/portal/app/Http/Controllers/Sei/SeiAlertaController.php
Back
<?php namespace App\Http\Controllers\Sei; use App\Http\Controllers\Controller; use App\Http\Requests\Sei\SeiAlertaRequest; use App\Http\Resources\Sei\SeiAlertaResource; use App\Http\Services\Sei\SeiAlertaService; use Illuminate\Contracts\View\View; use Illuminate\Http\RedirectResponse; use Illuminate\Http\Request; class SeiAlertaController extends Controller { private string $permissao = 'GERENCIADOR_DE_ALERTA_SEI'; public function __construct( private readonly SeiAlertaService $service, private readonly SeiAlertaResource $resource, ) { } public function index(Request $request): View|RedirectResponse { $response = $this->checkPermissao($this->permissao, 'visualizar'); if ($response instanceof RedirectResponse) { return $response; } $alerta = $this->service->obterAlerta()->load('usuario'); $historicos = $this->service->listarHistorico(); $conteudoPreview = $this->resource->sanitizarConteudo($alerta->conteudo); $duracaoExibicao = $this->resource->detectarDuracaoExibicao($alerta->publicado_em, $alerta->exibir_ate); return view('admin.seiAlertas.index', compact('alerta', 'historicos', 'conteudoPreview', 'duracaoExibicao')); } public function update(SeiAlertaRequest $request): RedirectResponse { $response = $this->checkPermissao($this->permissao, 'editar'); if ($response instanceof RedirectResponse) { return $response; } $dados = $request->validated(); $this->resource->atualizarAlerta( $this->service->obterAlerta(), $dados, (string) auth()->id(), ); return redirect() ->route('admin.seiAlertas.index', $this->queryParams($request)) ->with('success', __('Alerta SEI atualizado com sucesso.')); } public function status(Request $request): RedirectResponse { $response = $this->checkPermissao($this->permissao, 'editar'); if ($response instanceof RedirectResponse) { return $response; } $this->resource->alternarStatusAlerta( $this->service->obterAlerta(), (string) auth()->id(), ); return redirect() ->route('admin.seiAlertas.index', $this->queryParams($request)) ->with('success', __('Status do alerta SEI atualizado.')); } /** * @return array<string, int> */ private function queryParams(Request $request): array { $params = []; if ($request->filled('page')) { $params['page'] = (int) $request->input('page'); } return $params; } }
| ver. 1.4 |
Github
|
.
| PHP 8.3.28 | Generation time: 0.04 |
proxy
|
phpinfo
|
Settings