emailService = $emailService; } /** * @return void */ public function __invoke() { } /** * @return Response */ public function index() { $resp = $this->emailService->index(); return Helper::getApiResponse($resp); } /** * @return Response */ public function store($request) { try { $response = $this->emailService->store($request->get_params()); return Helper::saasResponse($response); } catch (\Throwable $e) { return Helper::rvxApi(['error' => $e->getMessage()])->fails('This Action Fails', $e->getCode()); } } /** * @return Response */ public function show($request) { $id = $request->get_param('id'); $resp = $this->emailService->show($id); return Helper::getApiResponse($resp); } public function update($request) { try { $response = $this->emailService->update($request->get_params()); return Helper::saasResponse($response); } catch (\Throwable $e) { return Helper::rvxApi(['error' => $e->getMessage()])->fails('This Action Fails', $e->getCode()); } } public function trash($request) { $id = $request->get_param('id'); $resp = $this->emailService->trash($id); return Helper::getApiResponse($resp); } public function mailRequest($request) { $resp = $this->emailService->mailRequest($request->get_params()); return Helper::getApiResponse($resp); } public function mailContents() { $cached = \get_transient(self::EMAIL_CONTENT_CACHE_KEY); if (\is_array($cached)) { return Helper::rest($cached)->success(); } $resp = $this->emailService->content(); if ($resp->getStatusCode() >= 200 && $resp->getStatusCode() < 300) { \set_transient(self::EMAIL_CONTENT_CACHE_KEY, $resp->getApiData(), HOUR_IN_SECONDS); } return Helper::getApiResponse($resp); } public function saveEmailRequest($request) { try { $response = $this->emailService->saveEmailRequest($request->get_params()); if ($response->getStatusCode() >= 200 && $response->getStatusCode() < 300) { \delete_transient(self::EMAIL_CONTENT_CACHE_KEY); } return Helper::saasResponse($response); } catch (\Throwable $e) { return Helper::rvxApi(['error' => $e->getMessage()])->fails('This Action Fails', $e->getCode()); } } public function followup($request) { try { $response = $this->emailService->followup($request->get_params()); if ($response->getStatusCode() >= 200 && $response->getStatusCode() < 300) { \delete_transient(self::EMAIL_CONTENT_CACHE_KEY); } return Helper::saasResponse($response); } catch (\Throwable $e) { return Helper::rvxApi(['error' => $e->getMessage()])->fails('This Action Fails', $e->getCode()); } } public function photoReview($request) { try { $response = $this->emailService->photoReview($request->get_params()); if ($response->getStatusCode() >= 200 && $response->getStatusCode() < 300) { \delete_transient(self::EMAIL_CONTENT_CACHE_KEY); } return Helper::saasResponse($response); } catch (\Throwable $e) { return Helper::rvxApi(['error' => $e->getMessage()])->fails('This Action Fails', $e->getCode()); } } public function thankYouReview($request) { try { $response = $this->emailService->thankYouReview($request->get_params()); if ($response->getStatusCode() >= 200 && $response->getStatusCode() < 300) { \delete_transient(self::EMAIL_CONTENT_CACHE_KEY); } return Helper::saasResponse($response); } catch (\Throwable $e) { return Helper::rvxApi(['error' => $e->getMessage()])->fails('This Action Fails', $e->getCode()); } } public function testMail($request) { try { $response = $this->emailService->testMail($request->get_params()); return Helper::saasResponse($response); } catch (\Throwable $e) { return Helper::rvxApi(['error' => $e->getMessage()])->fails('This Action Fails', $e->getCode()); } } public function markAsDone($request) { try { $response = $this->emailService->markAsComplete($request->get_params()); return Helper::saasResponse($response); } catch (\Throwable $e) { return Helper::rvxApi(['error' => $e->getMessage()])->fails('This Action Fails', $e->getCode()); } } public function bulkMarkAsDone($request) { try { $response = $this->emailService->bulkMarkAsComplete($request->get_params()); return Helper::saasResponse($response); } catch (\Throwable $e) { return Helper::rvxApi(['error' => $e->getMessage()])->fails('This Action Fails', $e->getCode()); } } public function requestEmailCancel($request) { try { $response = $this->emailService->emailCancel($request->get_params()); return Helper::saasResponse($response); } catch (\Throwable $e) { return Helper::rvxApi(['error' => $e->getMessage()])->fails('This Action Fails', $e->getCode()); } } public function requestEmailSend($request) { try { $response = $this->emailService->requestEmailSend($request->get_params()); return Helper::saasResponse($response); } catch (\Throwable $e) { return Helper::rvxApi(['error' => $e->getMessage()])->fails('This Action Fails', $e->getCode()); } } public function requestEmailResend($request) { try { $response = $this->emailService->requestEmailResend($request->get_params()); return Helper::saasResponse($response); } catch (\Throwable $e) { return Helper::rvxApi(['error' => $e->getMessage()])->fails('This Action Fails', $e->getCode()); } } public function requestEmailRetry($request) { try { $response = $this->emailService->requestEmailRetry($request->get_params()); return Helper::saasResponse($response); } catch (\Throwable $e) { return Helper::rvxApi(["error" => $e->getMessage()])->fails("This Action Fails", $e->getCode()); } } public function requestEmailUnsubscribe() { try { $response = $this->emailService->requestEmailUnsubscribe(); return Helper::saasResponse($response); } catch (\Throwable $e) { return Helper::rvxApi(['error' => $e->getMessage()])->fails('This Action Fails', $e->getCode()); } } public function reviewRequestSettings() { $cached = \get_transient(self::REMINDER_SETTINGS_CACHE_KEY); if (\is_array($cached)) { return Helper::rest($cached)->success(); } $resp = $this->emailService->reviewRequestSettings(); if ($resp->getStatusCode() >= 200 && $resp->getStatusCode() < 300) { \set_transient(self::REMINDER_SETTINGS_CACHE_KEY, $resp->getApiData(), HOUR_IN_SECONDS); } return Helper::getApiResponse($resp); } public function allReminderSettings($request) { try { $response = $this->emailService->allReminderSettings($request->get_params()); if ($response->getStatusCode() >= 200 && $response->getStatusCode() < 300) { \delete_transient(self::REMINDER_SETTINGS_CACHE_KEY); } return Helper::saasResponse($response); } catch (\Throwable $e) { return Helper::rvxApi(['error' => $e->getMessage()])->fails('This Action Fails', $e->getCode()); } } public function sendReviewEmailForOrder($request) { try { $wpUniqueId = (string) $request->get_param('wp_unique_id'); $response = $this->emailService->sendReviewEmailForOrder($wpUniqueId); return Helper::saasResponse($response); } catch (\Throwable $e) { return Helper::rvxApi(['error' => $e->getMessage()])->fails('This Action Fails', $e->getCode()); } } public function emailQuota() { try { $response = $this->emailService->emailQuota(); return Helper::saasResponse($response); } catch (\Throwable $e) { return Helper::rvxApi(['error' => $e->getMessage()])->fails('This Action Fails', $e->getCode()); } } }