File manager - Edit - /var/www/html/homologBancodetalentos/app/Http/Controllers/TalentBank/Candidate/ExperienceController.php
Back
<?php namespace App\Http\Controllers\TalentBank\Candidate; use App\Http\Controllers\Controller; use App\Http\Requests\TalentBank\Candidate\ExperienceRequest; use App\Http\Resources\TalentBank\Candidate\ExperienceCollection; use App\Http\Resources\TalentBank\Candidate\ExperienceResource; use App\Http\Services\TalentBank\Candidate\ExperienceService; use App\Models\TalentBank\Candidate\Experience; use Exception; use Illuminate\Http\JsonResponse; use Illuminate\Http\Request; use Illuminate\Support\Facades\DB; class ExperienceController extends Controller { private ExperienceService $experienceService; public function __construct() { $this->experienceService = new ExperienceService(); $this->middleware('auth.permissions:talent-bank-user-candidate,gestao-de-usuarios'); } public function index(Request $request) { try { $response = $this->experienceService->index($request); return response()->json([ 'data' => new ExperienceCollection($response), 'message' => __('validation.success'), ], JsonResponse::HTTP_OK); } catch (Exception $e) { return response()->json( ['message' => $e->getMessage()], JsonResponse::HTTP_INTERNAL_SERVER_ERROR ); } } public function show(Experience $experience) { $response = $this->experienceService->show($experience); return response()->json([ 'data' => ['experience' => new ExperienceResource($response)], 'message' => __('validation.success'), ], JsonResponse::HTTP_OK); } public function store(ExperienceRequest $request) { try { $candidate = $request->talentBankUser; DB::beginTransaction(); $response = $this->experienceService->store($request, $candidate); DB::commit(); return response()->json([ 'message' => __('crud.message.insert', ['model' => __('crud.model.talent_bank.experience')]), 'experience' => new ExperienceResource($response), ], JsonResponse::HTTP_OK); } catch (Exception $e) { DB::rollBack(); return response()->json( ['message' => $e->getMessage()], JsonResponse::HTTP_INTERNAL_SERVER_ERROR ); } } public function update(ExperienceRequest $request, int $experienceId) { try { $candidate = $request->talentBankUser; DB::beginTransaction(); $data = $request->all(); $experience = $this->experienceService->getByCustom([ ['column' => 'candidate_id', 'value' => $candidate->id], ['column' => 'id', 'value' => $experienceId], ]); if ($experience->count() == 0) { return response()->json( ['message' => __('crud.message.object_not_found', ['object' => __('crud.model.talent_bank.experience')])], JsonResponse::HTTP_NOT_FOUND ); } $response = $this->experienceService->update($data, $experience->first()); DB::commit(); return response()->json([ 'message' => __('crud.message.update', ['model' => __('crud.model.talent_bank.experience')]), 'experience' => new ExperienceResource($response), ], JsonResponse::HTTP_OK); } catch (Exception $e) { DB::rollBack(); return response()->json( ['message' => $e->getMessage()], JsonResponse::HTTP_INTERNAL_SERVER_ERROR ); } } public function destroy(Request $request, int $experienceId) { try { $candidate = $request->talentBankUser; DB::beginTransaction(); $experience = $this->experienceService->getByCustom([ ['column' => 'candidate_id', 'value' => $candidate->id], ['column' => 'id', 'value' => $experienceId], ]); if ($experience->count() == 0) { return response()->json( ['message' => __('crud.message.object_not_found', ['object' => __('crud.model.talent_bank.experience')])], JsonResponse::HTTP_NOT_FOUND ); } $this->experienceService->destroy($experience->first()); DB::commit(); return response()->json([ 'message' => __('crud.message.delete', ['model' => __('crud.model.talent_bank.experience')]), ], JsonResponse::HTTP_OK); } catch (Exception $e) { DB::rollBack(); return response()->json( ['message' => $e->getMessage()], JsonResponse::HTTP_INTERNAL_SERVER_ERROR ); } } }
| ver. 1.4 |
Github
|
.
| PHP 8.3.28 | Generation time: 0.02 |
proxy
|
phpinfo
|
Settings