chaturmasReview = $chaturmasReview; } /** * */ public function getChaturmasReviewList(array $data) { $response = [ 'status' => Constant::CODE_403, 'error' => trans('api.something_went_wrong'), 'success' => Constant::STATUS_FALSE ]; try { $response['data'] = []; $allChaturmasReviewObject = $this->chaturmasReview->query() ->join('chaturmas_dates', 'chaturmas_dates.id', '=', 'chaturmas.chaturmas_date_id') ->select('chaturmas.*') ->with(['chaturmasInfo', 'createdBy:id,name,mobile,country_code','updatedBy:id,name,mobile,country_code'])->where('sant_id', $data['sant_id']); $allChaturmasReviewObject = $allChaturmasReviewObject ->orderBy('chaturmas_dates.year', 'DESC') ->paginate($data['limit'] ?? 10, ['*'], 'page', $data['page'] ?? 1); $response['data'] = $allChaturmasReviewObject; $response['status'] = Constant::CODE_200; $response['success'] = Constant::STATUS_TRUE; $response['message'] = trans('api.chaturmas_review.list'); unset($response['error']); } catch (Exception $ex) { Log::error($ex); } return $response; } /** * */ public function storeChaturmasReview(array $data, object $chaturmas) { $response = [ 'status' => Constant::CODE_403, 'error' => trans('api.something_went_wrong'), 'success' => Constant::STATUS_FALSE ]; try { $user = loggedInUser(); $chaturmasReviewData = [ 'user_id' => $user->id, 'sant_id' => $data['sant_id'], 'sant_id' => $data['sant_id'], 'chaturmas_id' => $chaturmas->id, 'comment' => $data['comment'], 'created_by' => $user->id ]; $chaturmasReview = $chaturmas->reviews()->create($chaturmasReviewData); event(new \App\Events\WrongChaturmas($user, $data['sant_id'], $chaturmas->id, $data['comment'])); if (!empty($chaturmasReview)) { $response['data'] = $chaturmasReview->toArray(); $response['status'] = Constant::CODE_200; $response['success'] = Constant::STATUS_TRUE; $response['message'] = trans('api.chaturmas_review.store'); unset($response['error']); } } catch (Exception $ex) { Log::error($ex); } return $response; } /** * */ public function updateChaturmasReview(array $data, object $chaturmasReview) { $response = [ 'status' => Constant::CODE_403, 'error' => trans('api.something_went_wrong'), 'success' => Constant::STATUS_FALSE ]; try { $user = loggedInUser(); if (empty($user->mobile)) { $response['error'] = trans('api.mobile'); } else { $chaturmasReviewExistForYear = $this->chaturmasReview->query()->with(['createdBy:id,name,mobile,country_code','updatedBy:id,name,mobile,country_code'])->where('id', '!=', $chaturmasReview->id)->where('sant_id', $chaturmasReview->sant_id)->where('chaturmas_date_id', $data['year'])->first(); $response['status'] = Constant::CODE_403; $response['success'] = Constant::STATUS_FALSE; $response['error'] = trans('api.chaturmas_review.exist', ['year' => $data['year']]); if (empty($chaturmasReviewExistForYear)) { $id = $chaturmasReview->id; $chaturmasReview = $chaturmasReview->update( [ 'place' => $data['place'], 'chaturmas_date_id' => $data['year'], // 'sant_id' => $data['sant_id'], 'updated_by' => !empty(loggedInUser()->id) ? loggedInUser()->id : Constant::NULL, ] ); if (!empty($chaturmasReview)) { $chaturmasReview = $this->chaturmasReview->find($id)->load('chaturmasInfo', 'createdBy:id,name,mobile,country_code', 'updatedBy:id,name,mobile,country_code'); $response['data'] = $chaturmasReview->toArray(); $response['status'] = Constant::CODE_200; $response['success'] = Constant::STATUS_TRUE; $response['message'] = trans('api.chaturmas_review.update'); unset($response['error']); } } } } catch (Exception $ex) { Log::error($ex); } return $response; } /** * Get info of chaturmas years */ public function showChaturmasReview(object $chaturmasReview) { $response = [ 'status' => Constant::CODE_403, 'error' => trans('api.something_went_wrong'), 'success' => Constant::STATUS_FALSE ]; try { $response['data'] = $chaturmasReview->load('chaturmasInfo')->toArray(); $response['status'] = Constant::CODE_200; $response['success'] = Constant::STATUS_TRUE; $response['message'] = trans('api.chaturmas_review.list'); unset($response['error']); } catch (Exception $ex) { Log::error($ex); } return $response; } }