File manager - Edit - /var/www/html/spdc/api/app/Http/Services/MemberHealthQuestionnaireService.php
Back
<?php namespace App\Http\Services; use App\Classes\BaseServiceResponse; use App\Http\Requests\MemberHealthQuestionnaireRequest; use App\Http\Resources\MemberHealthQuestionnaireResource; use App\Models\MemberHealthQuestionnaire; use App\Models\ShelterFamily; use App\Models\ShelterMemberFamily; use Exception; use Illuminate\Http\JsonResponse; use Illuminate\Support\Facades\DB; class MemberHealthQuestionnaireService extends BaseService { public function index(): BaseServiceResponse { if (request()->has('shelter_member_family_id')) { $memberHealthQuestionnaire = MemberHealthQuestionnaire::where('shelter_member_family_id', request()->shelter_member_family_id) ->get(); return $this->response( MemberHealthQuestionnaireResource::collection($memberHealthQuestionnaire), JsonResponse::HTTP_OK ); } $memberHealthQuestionnaire = MemberHealthQuestionnaire::all(); return $this->response( MemberHealthQuestionnaireResource::collection($memberHealthQuestionnaire), JsonResponse::HTTP_OK ); } public function show(string $id) { $memberHealthQuestionnaire = MemberHealthQuestionnaire::where('id', '=', $id)->firstOrFail(); return $this->response( new MemberHealthQuestionnaireResource($memberHealthQuestionnaire), JsonResponse::HTTP_OK ); } public function store(MemberHealthQuestionnaireRequest $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 MemberHealthQuestionnaire([ 'shelter_member_family_id' => $request->member_family_id, 'blood_type' => $request->blood_type, 'antigen' => $request->antigen, 'hypertension' => $request->hypertension, 'diabetes' => $request->diabetes, 'another_cronic_disease' => $request->another_cronic_disease, 'another_cronic_disease_description' => $request->another_cronic_disease_description, 'regular_use_of_medicine' => $request->regular_use_of_medicine, 'regular_use_of_medicine_description' => $request->regular_use_of_medicine_description, 'is_medicine_on_shelter' => $request->is_medicine_on_shelter, 'health_problems_currently' => $request->health_problems_currently, 'health_problems_currently_description' => $request->health_problems_currently_description, 'recent_surgery' => $request->recent_surgery, 'recent_surgery_description' => $request->recent_surgery_description, 'pregnant' => $request->pregnant, 'pregnant_description' => $request->pregnant_description, 'wounded_in_contact_with_water' => $request->wounded_in_contact_with_water, 'wounded_in_contact_with_water_description' => $request->wounded_in_contact_with_water_description, ]); $questionnaire->save(); } catch (Exception $exception) { DB::rollBack(); return $this->response( ["error" => $exception->getMessage()], JsonResponse::HTTP_INTERNAL_SERVER_ERROR ); } DB::commit(); return $this->response( new MemberHealthQuestionnaireResource($questionnaire), JsonResponse::HTTP_CREATED ); } public function update(MemberHealthQuestionnaireRequest $request, string $id): BaseServiceResponse { try { DB::beginTransaction(); $questionnaire = MemberHealthQuestionnaire::find($id); if (!$questionnaire) { return $this->response( null, JsonResponse::HTTP_NOT_FOUND, 'Family Health Questionnaire not found' ); } $questionnaire->update([ 'shelter_member_family_id' => $request->member_family_id, 'blood_type' => $request->blood_type, 'antigen' => $request->antigen, 'hypertension' => $request->hypertension, 'diabetes' => $request->diabetes, 'another_cronic_disease' => $request->another_cronic_disease, 'another_cronic_disease_description' => $request->another_cronic_disease_description, 'regular_use_of_medicine' => $request->regular_use_of_medicine, 'regular_use_of_medicine_description' => $request->regular_use_of_medicine_description, 'is_medicine_on_shelter' => $request->is_medicine_on_shelter, 'health_problems_currently' => $request->health_problems_currently, 'health_problems_currently_description' => $request->health_problems_currently_description, 'recent_surgery' => $request->recent_surgery, 'recent_surgery_description' => $request->recent_surgery_description, 'pregnant' => $request->pregnant, 'pregnant_description' => $request->pregnant_description, 'wounded_in_contact_with_water' => $request->wounded_in_contact_with_water, 'wounded_in_contact_with_water_description' => $request->wounded_in_contact_with_water_description, ]); DB::commit(); return $this->response( new MemberHealthQuestionnaireResource($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 = MemberHealthQuestionnaire::findOrFail($id)->first(); $questionnaire->delete(); $questionnaire = MemberHealthQuestionnaire::get(); }catch(Exception $exception){ DB::rollBack(); return $this->response( ["error" => $exception->getMessage()], JsonResponse::HTTP_INTERNAL_SERVER_ERROR ); } DB::commit(); return $this->response( new MemberHealthQuestionnaireResource(null), JsonResponse::HTTP_OK ); } }
| ver. 1.4 |
Github
|
.
| PHP 8.3.28 | Generation time: 0.01 |
proxy
|
phpinfo
|
Settings