where('province_id', '=', auth()->user()->province_id); $data = DataTableFacade::run( $query, $request, allowedFilters: ['*'], allowedSortings: ['*'], ); return response()->json($data); } public function rejectRequest(RejectRequest $request, Harim $harim): JsonResponse { $harim->updateStateWithHistory( action: HarimAction::NO->value, description: $request->expert_description, data: [ 'state_id' => HarimStates::BARESI_TAVASOT_MOAVEN->value, 'state_name' => HarimStates::BARESI_TAVASOT_MOAVEN->label(), 'is_possible' => false, ] ); return $this->successResponse(); } public function referRequest(ReferRequest $request, Harim $harim): JsonResponse { $harim->updateStateWithHistory( action: HarimAction::REFER->value, description: $request->expert_description, data: [ 'state_id' => HarimStates::BARESI_EDARE_SHAHRESTAN->value, 'state_name' => HarimStates::BARESI_EDARE_SHAHRESTAN->label(), ] ); return $this->successResponse(); } public function needRoadAccess(NeedRoadAccessRequest $request, Harim $harim): JsonResponse { $harim->updateStateWithHistory( action: HarimAction::YES->value, description: $request->expert_description, data: [ 'state_id' => HarimStates::BARESI_TAVASOT_MOAVEN->value, 'state_name' => HarimStates::BARESI_TAVASOT_MOAVEN->label(), 'is_possible' => true, 'need_access_road' => true, 'need_payment' => $request->need_payment, ] ); return $this->successResponse(); } public function withoutRoadAccess(WithoutRoadAccessRequest $request, Harim $harim): JsonResponse { $harim->updateStateWithHistory( action: HarimAction::YES->value, description: $request->expert_description, data: [ 'state_id' => HarimStates::BARESI_TAVASOT_MOAVEN->value, 'state_name' => HarimStates::BARESI_TAVASOT_MOAVEN->label(), 'is_possible' => true, 'need_access_road' => false, 'need_payment' => $request->need_payment, ] ); return $this->successResponse(); } public function fileAccepted(FileAcceptedRequest $request, Harim $harim): JsonResponse { $harim->updateStateWithHistory( action: HarimAction::YES->value, description: $request->expert_description, data: [ 'state_id' => HarimStates::BARESI_RAHE_DASTRASI_APLODE_SHODE_TAVASOTE_MOAVEN->value, 'state_name' => HarimStates::BARESI_RAHE_DASTRASI_APLODE_SHODE_TAVASOTE_MOAVEN->label(), 'access_road_allowed' => true, ] ); return $this->successResponse(); } public function fileRejected(FileRejectedRequest $request, Harim $harim): JsonResponse { $harim->updateStateWithHistory( action: HarimAction::YES->value, description: $request->expert_description, data: [ 'state_id' => HarimStates::BARESI_RAHE_DASTRASI_APLODE_SHODE_TAVASOTE_MOAVEN->value, 'state_name' => HarimStates::BARESI_RAHE_DASTRASI_APLODE_SHODE_TAVASOTE_MOAVEN->label(), 'access_road_allowed' => false, ] ); return $this->successResponse(); } public function show(ShowRequest $request, Harim $harim): JsonResponse { return $this->successResponse($harim->load('histories')); } public function referToCity(Request $request, Harim $harim) { $province = Province::query()->find($request->province_id); $harim->update([ 'edareh_shahri_id' => $request->edarate_shahri_id, 'province_id' => $province->id, 'province_name' => $province->name_fa, ]); } public function computingPayment(ComputingPaymentRequest $request, Harim $harim): JsonResponse { $harim->updateStateWithHistory( action: HarimAction::CONFIRM->value, description: $request->expert_description, data: [ 'state_id' => HarimStates::BARESI_ARSE_VA_AYAN_ERSAL_SHODE_TAVASOT_MOAVEN->value, 'state_name' => HarimStates::BARESI_ARSE_VA_AYAN_ERSAL_SHODE_TAVASOT_MOAVEN->label(), 'traffic' => $request->traffic, 'position' => $request->position, 'final_area_space' => $request->final_area_space, 'road_type' => $request->road_type, 'payment_amount' => $request->payment_amount, ] ); return $this->successResponse(); } }