PluginProbe
SureCart – Ecommerce Made Easy For Selling Physical Products, Digital Downloads, Subscriptions, Donations, & Payments / 2.1.3
SureCart – Ecommerce Made Easy For Selling Physical Products, Digital Downloads, Subscriptions, Donations, & Payments v2.1.3
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 in SureCart – Ecommerce Made Easy For Selling Physical Products, Digital Downloads, Subscriptions, Donations, & Payments 2.1.3, at app/src/Controllers/Rest/SubscriptionsController.php

125 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 $model = $this->middleware( new $this->class( array_diff_assoc( $request->get_params(), $request->get_query_params() ) ), $request );
27 if ( is_wp_error( $model ) ) {
28 return $model;
29 }
30 return $model->where( $request->get_query_params() )->cancel( $request['id'] );
31 }
32
33 /**
34 * Complete a subscription.
35 *
36 * @param \WP_REST_Request $request Rest Request.
37 *
38 * @return \WP_REST_Response
39 */
40 public function complete( \WP_REST_Request $request ) {
41 $model = $this->middleware( new $this->class(), $request );
42 if ( is_wp_error( $model ) ) {
43 return $model;
44 }
45 return $model->where( $request->get_query_params() )->complete( $request['id'] );
46 }
47
48 /**
49 * Restore a subscription.
50 *
51 * @param \WP_REST_Request $request Rest Request.
52 *
53 * @return \WP_REST_Response
54 */
55 public function restore( \WP_REST_Request $request ) {
56 $model = $this->middleware( new $this->class(), $request );
57 if ( is_wp_error( $model ) ) {
58 return $model;
59 }
60 return $model->where( $request->get_query_params() )->restore( $request['id'] );
61 }
62
63 /**
64 * Restore a subscription.
65 *
66 * @param \WP_REST_Request $request Rest Request.
67 *
68 * @return \WP_REST_Response
69 */
70 public function preserve( \WP_REST_Request $request ) {
71 $model = $this->middleware( new $this->class(), $request );
72 if ( is_wp_error( $model ) ) {
73 return $model;
74 }
75 return $model->where( $request->get_query_params() )->preserve( $request['id'] );
76 }
77
78
79 /**
80 * Renew a subscription.
81 *
82 * @param \WP_REST_Request $request Rest Request.
83 *
84 * @return \WP_REST_Response
85 */
86 public function renew( \WP_REST_Request $request ) {
87 $model = $this->middleware( new $this->class(), $request );
88 if ( is_wp_error( $model ) ) {
89 return $model;
90 }
91 return $model->where( $request->get_query_params() )->renew( $request['id'] );
92 }
93
94 /**
95 * Preview an upcoming invoice.
96 *
97 * @param \WP_REST_Request $request Rest Request.
98 *
99 * @return \WP_REST_Response
100 */
101 public function upcomingPeriod( \WP_REST_Request $request ) {
102 $model = $this->middleware( new $this->class( $request['id'] ), $request );
103
104 if ( is_wp_error( $model ) ) {
105 return $model;
106 }
107 return $model->where( $request->get_query_params() )->upcomingPeriod( array_diff_assoc( $request->get_params(), $request->get_query_params() ) );
108 }
109
110 /**
111 * Pays off all remaining periods for a subscription.
112 *
113 * @param \WP_REST_Request $request Rest Request
114 *
115 * @return \WP_REST_Response
116 */
117 public function payOff(\WP_REST_Request $request){
118 $model = $this->middleware( new $this->class(), $request );
119 if ( is_wp_error( $model ) ) {
120 return $model;
121 }
122 return $model->where( $request->get_query_params() )->payOff( $request['id'] );
123 }
124 }
125