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