PluginProbe
ReviewX – Multi-Criteria Reviews for WooCommerce with Google Reviews & Schema / trunk
ReviewX – Multi-Criteria Reviews for WooCommerce with Google Reviews & Schema vtrunk
2.5.1 2.5.0 2.4.1 2.4.0 2.3.11 2.3.10 trunk 1.0.0 1.0.1 1.0.2 1.0.3 1.0.4 1.0.5 1.0.6 1.1.0 1.1.1 1.1.10 1.1.11 1.1.12 1.1.13 1.1.2 1.1.3 1.1.4 1.1.5 1.1.6 All 143 releases
reviewx / app / Rest / Controllers / ImportExportController.php

ImportExportController.php in ReviewX – Multi-Criteria Reviews for WooCommerce with Google Reviews & Schema trunk, at app/Rest/Controllers/ImportExportController.php

125 lines 4.3 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace ReviewX\Rest\Controllers;
4
5 \defined("ABSPATH") || exit;
6 use Throwable;
7 use ReviewX\WPDrill\Response;
8 use ReviewX\Utilities\Helper;
9 use ReviewX\Services\CacheServices;
10 use ReviewX\Services\ImportExportServices;
11 use ReviewX\WPDrill\Contracts\InvokableContract;
12 class ImportExportController implements InvokableContract
13 {
14 protected ImportExportServices $importExportServices;
15 protected CacheServices $cacheServices;
16 /**
17 *
18 */
19 public function __construct(ImportExportServices $importExportServices, CacheServices $cacheServices)
20 {
21 $this->importExportServices = $importExportServices;
22 $this->cacheServices = $cacheServices;
23 }
24 public function __invoke()
25 {
26 // This method is required by the InvokableContract but not used in this controller.
27 }
28 /**
29 * @param $request
30 * @return Response
31 */
32 public function importSupportedAppStore($request)
33 {
34 try {
35 $response = $this->importExportServices->importSupportedAppStore($request->get_params());
36 return Helper::saasResponse($response);
37 } catch (Throwable $e) {
38 return Helper::rvxApi(['error' => $e->getMessage()])->fails('Review Visibility Change', $e->getCode());
39 }
40 }
41 /**
42 * @param $request
43 * @return Response
44 * @throws Throwable
45 */
46 public function importStore($request)
47 {
48 try {
49 $response = $this->importExportServices->importStore($request);
50 $this->cacheServices->removeCache();
51 return Helper::rest($response['data'] ?? [])->success($response['message'] ?? 'Review Import started');
52 } catch (Throwable $e) {
53 return Helper::rvxApi(['error' => $e->getMessage()])->fails('Review Import Failed', $e->getCode());
54 }
55 }
56 public function importStatus()
57 {
58 try {
59 $this->importExportServices->processScheduledImport();
60 $response = $this->importExportServices->getImportProgress();
61 return Helper::rest($response)->success('Review Import Status');
62 } catch (Throwable $e) {
63 return Helper::rvxApi(['error' => $e->getMessage()])->fails('Review Import Status Failed', $e->getCode());
64 }
65 }
66 /**
67 * @param $request
68 * @return Response
69 */
70 public function exportCsv($request)
71 {
72 try {
73 $response = $this->importExportServices->exportCsv($request->get_params());
74 return Helper::saasResponse($response);
75 } catch (Throwable $e) {
76 return Helper::rvxApi(['error' => $e->getMessage()])->fails('Review Visibility Change', $e->getCode());
77 }
78 }
79 /**
80 * @return Response
81 */
82 public function exportHistory()
83 {
84 $resp = $this->importExportServices->exportHistory();
85 return Helper::getApiResponse($resp);
86 }
87 /**
88 * @return Response
89 */
90 public function importHistory()
91 {
92 $resp = $this->importExportServices->importHistory();
93 return Helper::getApiResponse($resp);
94 }
95 public function importRollback($request)
96 {
97 try {
98 $data = $request->get_params();
99 $data['uid'] = $request->get_param('uid');
100 $response = $this->importExportServices->importRollback($data);
101 return Helper::saasResponse($response);
102 } catch (Throwable $e) {
103 return Helper::rvxApi(['error' => $e->getMessage()])->fails('Review Visibility Change', $e->getCode());
104 }
105 }
106 public function importRestore($request)
107 {
108 try {
109 $response = $this->importExportServices->importRestore($request->get_params());
110 return Helper::saasResponse($response);
111 } catch (Throwable $e) {
112 return Helper::rvxApi(['error' => $e->getMessage()])->fails('Review Visibility Change', $e->getCode());
113 }
114 }
115 public function rollbackReviews($request)
116 {
117 try {
118 $response = $this->importExportServices->rollbackImportByIds($request->get_params());
119 return Helper::rest($response)->success($response['message'] ?? 'Review Rollback Success');
120 } catch (Throwable $e) {
121 return Helper::rvxApi(['error' => $e->getMessage()])->fails('Review Rollback Failed', $e->getCode());
122 }
123 }
124 }
125