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::CONFIRM->value, description: $request->expert_description, data: [ 'state_id' => HarimStates::EMKAN_PAZIR_NEMEBASHAD->value, 'state_name' => HarimStates::EMKAN_PAZIR_NEMEBASHAD->label(), ] ); RejectRequestEvent::dispatch($harim); 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_TAVASOT_MOAVEN->value, 'state_name' => HarimStates::BARESI_TAVASOT_MOAVEN->label(), ] ); return $this->successResponse(); } public function referFile(ReferFileRequest $request, Harim $harim): JsonResponse { $harim->updateStateWithHistory( action:HarimAction::REFER->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(), ] ); return $this->successResponse(); } public function confirmRoadAccessNeed(ConfirmRoadAccessNeedRequest $request, Harim $harim): JsonResponse { $harim->updateStateWithHistory( action:HarimAction::CONFIRM->value, description: $request->expert_description, data: [ 'state_id' => HarimStates::ERSAL_BE_PANJAREH_VAHED_NIAZ_BE_RAH_DASTRASI->value, 'state_name' => HarimStates::ERSAL_BE_PANJAREH_VAHED_NIAZ_BE_RAH_DASTRASI->label(), ] ); return $this->successResponse(); } public function confirmNoRoadAccessNeed(ConfirmNoRoadAccessNeedRequest $request, Harim $harim): JsonResponse { $harim->updateStateWithHistory( action:HarimAction::CONFIRM->value, description: $request->expert_description, data: [ 'state_id' => HarimStates::ERSAL_BE_PANJAREH_VAHED_BEDONEH_NIAZ_BE_RAH_DASTRASI->value, 'state_name' => HarimStates::ERSAL_BE_PANJAREH_VAHED_BEDONEH_NIAZ_BE_RAH_DASTRASI->label(), ] ); ConfirmNoRoadAccessNeedEvent::dispatch($harim); return $this->successResponse(); } public function confirmRoadAccessEditNeed(ConfirmRoadAccessEditNeedRequest $request, Harim $harim): JsonResponse { $harim->updateStateWithHistory( action:HarimAction::CONFIRM->value, description: $request->expert_description, data: [ 'state_id' => HarimStates::UPDATE_RAHE_DASTRASI_BARGOZARE_SHODE->value, 'state_name' => HarimStates::UPDATE_RAHE_DASTRASI_BARGOZARE_SHODE->label(), ] ); ConfirmRoadAccessEditNeedEvent::dispatch($harim); return $this->successResponse(); } public function confirmGuaranteeLetterNeed(ConfirmGuaranteeLetterNeedRequest $request, Harim $harim): JsonResponse { $harim->updateStateWithHistory( action:HarimAction::CONFIRM->value, description: $request->expert_description, data: [ 'state_id' => HarimStates::ARSE_VA_AYAN_NAHAI->value, 'state_name' => HarimStates::ARSE_VA_AYAN_NAHAI->label(), ] ); ConfirmGuaranteeLetterNeedEvent::dispatch($harim); return $this->successResponse(); } public function show(ShowRequest $request, Harim $harim): JsonResponse { return $this->successResponse($harim->load('histories')); } public function referPayment(ReferPaymentRequest $request, Harim $harim): JsonResponse { $harim->updateStateWithHistory( action:HarimAction::REFER->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(), ] ); ConfirmGuaranteeLetterNeedEvent::dispatch($harim); return $this->successResponse(); } public function confirmPayment(ConfirmPaymentRequest $request, Harim $harim): JsonResponse { $harim->updateStateWithHistory( action:HarimAction::CONFIRM->value, description: $request->expert_description, data: [ 'state_id' => HarimStates::ETMAM_FARAYAND->value, 'state_name' => HarimStates::ETMAM_FARAYAND->label(), ] ); ConfirmGuaranteeLetterNeedEvent::dispatch($harim); return $this->successResponse(); } }