File manager - Edit - /var/www/html/spdc/api/app/Http/Services/FamilyHealthQuestionnaireService.php
Back
<?php namespace App\Http\Services; use App\Classes\BaseServiceResponse; use App\Http\Requests\FamilyHealthQuestionnaireRequest; use App\Http\Resources\FamilyHealthQuestionnaireResource; use App\Models\FamilyHealthQuestionnaire; use App\Models\ShelterFamily; use Exception; use Illuminate\Http\JsonResponse; use Illuminate\Support\Facades\DB; class FamilyHealthQuestionnaireService extends BaseService { public function index(): BaseServiceResponse { if (request()->has('shelter_family_id')) { $familyHealthQuestionnaire = FamilyHealthQuestionnaire::where('shelter_families_id', request()->shelter_family_id) ->get(); return $this->response( FamilyHealthQuestionnaireResource::collection($familyHealthQuestionnaire), JsonResponse::HTTP_OK ); } $familyHealthQuestionnaire = FamilyHealthQuestionnaire::all(); return $this->response( FamilyHealthQuestionnaireResource::collection($familyHealthQuestionnaire), JsonResponse::HTTP_OK ); } public function show(string $id) { $familyHealthQuestionnaire = FamilyHealthQuestionnaire::where('id', '=', $id)->firstOrFail(); return $this->response( new FamilyHealthQuestionnaireResource($familyHealthQuestionnaire), JsonResponse::HTTP_OK ); } public function store(FamilyHealthQuestionnaireRequest $request): BaseServiceResponse { try { DB::beginTransaction(); $family = ShelterFamily::find($request->family_id); if(!$family){ return $this->response( [], JsonResponse::HTTP_BAD_REQUEST, 'Family not found' ); } $questionnaire = new FamilyHealthQuestionnaire([ 'shelter_families_id' => $request->family_id, 'contact_with_water_or_mud' => $request->contact_with_water_or_mud, 'presence_of_rats' => $request->presence_of_rats, 'trash_on_water' => $request->trash_on_water, 'pests_near_residence' => $request->pests_near_residence, 'residence_situation' => $request->residence_situation, 'description' => $request->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 FamilyHealthQuestionnaireResource($questionnaire), JsonResponse::HTTP_CREATED ); } public function update(FamilyHealthQuestionnaireRequest $request, string $id): BaseServiceResponse { try { DB::beginTransaction(); $questionnaire = FamilyHealthQuestionnaire::find($id); if (!$questionnaire) { return $this->response( null, JsonResponse::HTTP_NOT_FOUND, 'Family Health Questionnaire not found' ); } $questionnaire->update([ 'shelter_families_id' => $request->family_id, 'contact_with_water_or_mud' => $request->contact_with_water_or_mud, 'presence_of_rats' => $request->presence_of_rats, 'trash_on_water' => $request->trash_on_water, 'pests_near_residence' => $request->pests_near_residence, 'residence_situation' => $request->residence_situation, 'description' => $request->description, ]); DB::commit(); return $this->response( new FamilyHealthQuestionnaireResource($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 = FamilyHealthQuestionnaire::findOrFail($id)->first(); $questionnaire->delete(); $questionnaire = FamilyHealthQuestionnaire::get(); }catch(Exception $exception){ DB::rollBack(); return $this->response( ["error" => $exception->getMessage()], JsonResponse::HTTP_INTERNAL_SERVER_ERROR ); } DB::commit(); return $this->response( new FamilyHealthQuestionnaireResource(null), JsonResponse::HTTP_OK ); } }
| ver. 1.4 |
Github
|
.
| PHP 8.3.28 | Generation time: 0.01 |
proxy
|
phpinfo
|
Settings