File manager - Edit - /var/www/html/spdc/api/app/Http/Services/MemberVaccineQuestionnaireService.php
Back
<?php namespace App\Http\Services; use App\Classes\BaseServiceResponse; use App\Http\Requests\MemberVaccineQuestionnaireRequest; use App\Http\Resources\MemberVaccineQuestionnaireResource; use App\Models\MemberVaccineQuestionnaire; use App\Models\ShelterFamily; use App\Models\ShelterMemberFamily; use Exception; use Illuminate\Http\JsonResponse; use Illuminate\Support\Facades\DB; class MemberVaccineQuestionnaireService extends BaseService { public function index(): BaseServiceResponse { if (request()->has('shelter_member_family_id')) { $memberVaccineQuestionnaire = MemberVaccineQuestionnaire::where('shelter_member_family_id', request()->shelter_member_family_id) ->get(); return $this->response( MemberVaccineQuestionnaireResource::collection($memberVaccineQuestionnaire), JsonResponse::HTTP_OK ); } $memberVaccineQuestionnaire = MemberVaccineQuestionnaire::all(); return $this->response( MemberVaccineQuestionnaireResource::collection($memberVaccineQuestionnaire), JsonResponse::HTTP_OK ); } public function show(string $id) { $memberVaccineQuestionnaire = MemberVaccineQuestionnaire::where('id', '=', $id)->firstOrFail(); return $this->response( new MemberVaccineQuestionnaireResource($memberVaccineQuestionnaire), JsonResponse::HTTP_OK ); } public function store(MemberVaccineQuestionnaireRequest $request): BaseServiceResponse { try { DB::beginTransaction(); $member = ShelterMemberFamily::find($request->member_family_id); if(!$member){ return $this->response( [], JsonResponse::HTTP_BAD_REQUEST, 'Member not found' ); } $questionnaire = new MemberVaccineQuestionnaire([ 'shelter_member_family_id' => $request->member_family_id, 'dt_dtpa' => $request->dt_dtpa, 'hepatitis_a' => $request->hepatitis_a, 'influenza' => $request->influenza, 'covid_19' => $request->covid_19, 'triple_viral' => $request->triple_viral, ]); $questionnaire->save(); } catch (Exception $exception) { DB::rollBack(); return $this->response( ["error" => $exception->getMessage()], JsonResponse::HTTP_INTERNAL_SERVER_ERROR ); } DB::commit(); return $this->response( new MemberVaccineQuestionnaireResource($questionnaire), JsonResponse::HTTP_CREATED ); } public function update(MemberVaccineQuestionnaireRequest $request, string $id): BaseServiceResponse { try { DB::beginTransaction(); $questionnaire = MemberVaccineQuestionnaire::find($id); if (!$questionnaire) { return $this->response( null, JsonResponse::HTTP_NOT_FOUND, 'Family Vaccine Questionnaire not found' ); } $questionnaire->update([ 'shelter_member_family_id' => $request->member_family_id, 'dt_dtpa' => $request->dt_dtpa, 'hepatitis_a' => $request->hepatitis_a, 'influenza' => $request->influenza, 'covid_19' => $request->covid_19, 'triple_viral' => $request->triple_viral, ]); DB::commit(); return $this->response( new MemberVaccineQuestionnaireResource($questionnaire), JsonResponse::HTTP_OK ); } catch (Exception $exception) { DB::rollBack(); return $this->response( ["error" => $exception->getMessage()], JsonResponse::HTTP_INTERNAL_SERVER_ERROR ); } } public function delete(string $id): BaseServiceResponse { try{ DB::beginTransaction(); $questionnaire = MemberVaccineQuestionnaire::findOrFail($id)->first(); $questionnaire->delete(); $questionnaire = MemberVaccineQuestionnaire::get(); }catch(Exception $exception){ DB::rollBack(); return $this->response( ["error" => $exception->getMessage()], JsonResponse::HTTP_INTERNAL_SERVER_ERROR ); } DB::commit(); return $this->response( new MemberVaccineQuestionnaireResource(null), JsonResponse::HTTP_OK ); } }
| ver. 1.4 |
Github
|
.
| PHP 8.3.28 | Generation time: 0.01 |
proxy
|
phpinfo
|
Settings