File manager - Edit - /var/www/html/homologBancodetalentos/app/Http/Controllers/TalentBank/Candidate/SkillController.php
Back
<?php namespace App\Http\Controllers\TalentBank\Candidate; use App\Http\Controllers\Controller; use App\Http\Resources\TalentBank\Candidate\SkillCollection; use App\Http\Resources\TalentBank\Candidate\SkillResource; use App\Http\Services\TalentBank\Candidate\SkillService; use App\Models\TalentBank\Candidate\Skill; use Exception; use Illuminate\Http\JsonResponse; use Illuminate\Http\Request; use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\Validator; class SkillController extends Controller { private SkillService $skillService; public function __construct() { $this->skillService = new SkillService(); $this->middleware('auth.permissions:talent-bank-user-candidate,gestao-de-usuarios'); } public function index(Request $request) { try { $response = $this->skillService->index($request); return response()->json([ 'data' => new SkillCollection($response), 'message' => __('validation.success'), ], JsonResponse::HTTP_OK); } catch (Exception $e) { return response()->json( ['message' => $e->getMessage()], JsonResponse::HTTP_INTERNAL_SERVER_ERROR ); } } public function show(Skill $skill) { $response = $this->skillService->show($skill); return response()->json([ 'data' => ['skill' => new SkillResource($response)], 'message' => __('validation.success'), ], JsonResponse::HTTP_OK); } public function store(Request $request) { $candidate = $request->talentBankUser; $validator = Validator::make($request->all(), [ 'name' => 'required|string', ]); if ($validator->fails()) { return response()->json( [ 'message' => __('validation.validation_error'), 'data' => $validator->errors(), ], JsonResponse::HTTP_UNPROCESSABLE_ENTITY ); } try { DB::beginTransaction(); $response = $this->skillService->store($request, $candidate); DB::commit(); return response()->json([ 'message' => __('crud.message.insert', ['model' => __('crud.model.talent_bank.skill')]), 'skill' => new SkillResource($response), ], JsonResponse::HTTP_OK); } catch (Exception $e) { DB::rollBack(); return response()->json( ['message' => $e->getMessage()], JsonResponse::HTTP_INTERNAL_SERVER_ERROR ); } } public function update(Request $request, int $skillId) { $candidate = $request->talentBankUser; $validator = Validator::make($request->all(), [ 'name' => 'required|string', ]); if ($validator->fails()) { return response()->json( [ 'message' => __('validation.validation_error'), 'data' => $validator->errors(), ], JsonResponse::HTTP_UNPROCESSABLE_ENTITY ); } try { DB::beginTransaction(); $data = $request->all(); $skill = $this->skillService->getByCustom([ ['column' => 'candidate_id', 'value' => $candidate->id], ['column' => 'id', 'value' => $skillId], ]); if ($skill->count() == 0) { return response()->json( ['message' => __('crud.message.object_not_found', ['object' => __('crud.model.talent_bank.skill')])], JsonResponse::HTTP_NOT_FOUND ); } $response = $this->skillService->update($data, $skill->first()); DB::commit(); return response()->json([ 'message' => __('crud.message.update', ['model' => __('crud.model.talent_bank.skill')]), 'skill' => new SkillResource($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 $skillId) { try { $candidate = $request->talentBankUser; DB::beginTransaction(); $skill = $this->skillService->getByCustom([ ['column' => 'candidate_id', 'value' => $candidate->id], ['column' => 'id', 'value' => $skillId], ]); if ($skill->count() == 0) { return response()->json( ['message' => __('crud.message.object_not_found', ['object' => __('crud.model.talent_bank.skill')])], JsonResponse::HTTP_NOT_FOUND ); } $this->skillService->destroy($skill->first()); DB::commit(); return response()->json([ 'message' => __('crud.message.delete', ['model' => __('crud.model.talent_bank.skill')]), ], 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