File manager - Edit - /var/www/html/portal/app/Http/Controllers/RepositorioController.php
Back
<?php namespace App\Http\Controllers; use App\Http\Requests\RepositorioRequest; use App\Http\Resources\RepositorioResource; use App\Http\Services\RepositorioService; use App\Models\Repositorio; use Illuminate\Http\JsonResponse; use Illuminate\Http\RedirectResponse; use Illuminate\Http\Request; use Illuminate\View\View; class RepositorioController extends Controller { private string $permissao = "GERENCIADOR_DO_REPOSITORIO_DO_PORTAL"; public function __construct( private readonly RepositorioService $repositorioService, private readonly RepositorioResource $repositorioResource ) { $this->middleware('repositorios'); } /** * Exibe a lista de repositórios * * @param Request $request * @return View|RedirectResponse */ public function index(Request $request): View|RedirectResponse { $response = $this->checkPermissao($this->permissao, 'visualizar'); if ($response instanceof RedirectResponse) { return $response; } $repositories = $this->repositorioService->index(50); return view('admin.repositorio.index', compact('repositories')); } /** * Exibe o formulário de criação * * @return View|RedirectResponse */ public function create(): View|RedirectResponse { $response = $this->checkPermissao($this->permissao, 'adicionar'); if ($response instanceof RedirectResponse) { return $response; } return view('admin.repositorio.create'); } /** * Armazena um novo repositório * * @param RepositorioRequest $request * @return RedirectResponse|JsonResponse */ public function store(RepositorioRequest $request): RedirectResponse|JsonResponse { $response = $this->checkPermissao($this->permissao, 'adicionar'); if ($response instanceof RedirectResponse) { return $response; } $request->validated(); return $this->repositorioResource->store($request); } /** * Exibe o formulário de edição * * @param Repositorio $repositorio * @return View|RedirectResponse */ public function edit(Repositorio $repositorio): View|RedirectResponse { $response = $this->checkPermissao($this->permissao, 'editar'); if ($response instanceof RedirectResponse) { return $response; } return view('admin.repositorio.edit', ['repository' => $repositorio]); } /** * Atualiza um repositório existente * * @param RepositorioRequest $request * @param Repositorio $repositorio * @return RedirectResponse|JsonResponse */ public function update(RepositorioRequest $request, Repositorio $repositorio): RedirectResponse|JsonResponse { $response = $this->checkPermissao($this->permissao, 'editar'); if ($response instanceof RedirectResponse) { return $response; } $request->validated(); return $this->repositorioResource->update($request, $repositorio); } /** * Exclui um repositório * * @param Request $request * @param Repositorio $repositorio * @return RedirectResponse */ public function destroy(Request $request, Repositorio $repositorio): RedirectResponse { $response = $this->checkPermissao($this->permissao, 'excluir'); if ($response instanceof RedirectResponse) { return $response; } return $this->repositorioResource->destroy($request, $repositorio); } /** * Atualiza o status de um repositório * * @param Request $request * @param Repositorio $repositorio * @return RedirectResponse */ public function status(Request $request, Repositorio $repositorio): RedirectResponse { $response = $this->checkPermissao($this->permissao, 'editar'); if ($response instanceof RedirectResponse) { return $response; } return $this->repositorioResource->updateStatus($request, $repositorio); } }
| ver. 1.4 |
Github
|
.
| PHP 8.3.28 | Generation time: 0.13 |
proxy
|
phpinfo
|
Settings