PluginProbe
SureCart – Ecommerce Made Easy For Selling Physical Products, Digital Downloads, Subscriptions, Donations, & Payments / 3.4.1
SureCart – Ecommerce Made Easy For Selling Physical Products, Digital Downloads, Subscriptions, Donations, & Payments v3.4.1
4.7.2 4.7.1 4.7.0 4.6.6 4.6.5 4.6.4 4.6.3 4.6.2 4.6.1 4.6.0 4.5.1 4.5.0 4.4.2 4.4.1 4.4.0 4.3.3 4.3.2 4.3.1 4.3.0 4.2.3 4.2.2 4.2.1 1.0.3 1.0.4 1.0.5 All 281 releases
surecart / app / src / Controllers / Rest / SubscriptionsController.php
SubscriptionsController.php
128 lines 3.1 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace SureCart\Controllers\Rest;
4
5 use SureCart\Models\Subscription;
6
7 /**
8 * Handle Price requests through the REST API
9 */
10 class SubscriptionsController extends RestController {
11 /**
12 * Class to make the requests.
13 *
14 * @var string
15 */
16 protected $class = Subscription::class;
17
18 /**
19 * Cancel a subscription.
20 *
21 * @param \WP_REST_Request $request Rest Request.
22 *
23 * @return \WP_REST_Response
24 */
25 public function cancel( \WP_REST_Request $request ) {
26 $class = new $this->class( $request->get_json_params() );
27 $class->id = $request['id'];
28 $model = $this->middleware( $class, $request );
29 if ( is_wp_error( $model ) ) {
30 return $model;
31 }
32 return $model->where( $request->get_query_params() )->cancel( $request['id'] );
33 }
34
35 /**
36 * Complete a subscription.
37 *
38 * @param \WP_REST_Request $request Rest Request.
39 *
40 * @return \WP_REST_Response
41 */
42 public function complete( \WP_REST_Request $request ) {
43 $model = $this->middleware( new $this->class(), $request );
44 if ( is_wp_error( $model ) ) {
45 return $model;
46 }
47 return $model->where( $request->get_query_params() )->complete( $request['id'] );
48 }
49
50 /**
51 * Restore a subscription.
52 *
53 * @param \WP_REST_Request $request Rest Request.
54 *
55 * @return \WP_REST_Response
56 */
57 public function restore( \WP_REST_Request $request ) {
58 $model = $this->middleware( new $this->class(), $request );
59 if ( is_wp_error( $model ) ) {
60 return $model;
61 }
62 return $model->where( $request->get_query_params() )->restore( $request['id'] );
63 }
64
65 /**
66 * Restore a subscription.
67 *
68 * @param \WP_REST_Request $request Rest Request.
69 *
70 * @return \WP_REST_Response
71 */
72 public function preserve( \WP_REST_Request $request ) {
73 $model = $this->middleware( new $this->class(), $request );
74 if ( is_wp_error( $model ) ) {
75 return $model;
76 }
77 return $model->where( $request->get_query_params() )->preserve( $request['id'] );
78 }
79
80
81 /**
82 * Renew a subscription.
83 *
84 * @param \WP_REST_Request $request Rest Request.
85 *
86 * @return \WP_REST_Response
87 */
88 public function renew( \WP_REST_Request $request ) {
89 $model = $this->middleware( new $this->class(), $request );
90 if ( is_wp_error( $model ) ) {
91 return $model;
92 }
93 return $model->where( $request->get_query_params() )->renew( $request['id'] );
94 }
95
96 /**
97 * Preview an upcoming invoice.
98 *
99 * @param \WP_REST_Request $request Rest Request.
100 *
101 * @return \WP_REST_Response|\SureCart\Models\Model|WP_Error
102 */
103 public function upcomingPeriod( \WP_REST_Request $request ) {
104 $model = $this->middleware( new $this->class( $request['id'] ), $request );
105
106 if ( is_wp_error( $model ) ) {
107 return $model;
108 }
109
110 return $model->where( $request->get_query_params() )->upcomingPeriod( $request->get_json_params() );
111 }
112
113 /**
114 * Pays off all remaining periods for a subscription.
115 *
116 * @param \WP_REST_Request $request Rest Request.
117 *
118 * @return \WP_REST_Response
119 */
120 public function payOff( \WP_REST_Request $request ) {
121 $model = $this->middleware( new $this->class(), $request );
122 if ( is_wp_error( $model ) ) {
123 return $model;
124 }
125 return $model->where( $request->get_query_params() )->payOff( $request['id'] );
126 }
127 }
128