PluginProbe
SureCart – Ecommerce Made Easy For Selling Physical Products, Digital Downloads, Subscriptions, Donations, & Payments / 4.3.1
SureCart – Ecommerce Made Easy For Selling Physical Products, Digital Downloads, Subscriptions, Donations, & Payments v4.3.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 / LineItemsController.php
LineItemsController.php
78 lines 1.7 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\LineItem;
6
7 /**
8 * Handle LineItem requests through the REST API
9 */
10 class LineItemsController extends RestController {
11 /**
12 * Class to make the requests.
13 *
14 * @var string
15 */
16 protected $class = LineItem::class;
17
18 /**
19 * Upsell line item.
20 *
21 * @param \WP_REST_Request $request Rest Request.
22 *
23 * @return \WP_REST_Response|\WP_Error
24 */
25 public function upsell( \WP_REST_Request $request ) {
26 $model = $this->middleware( new $this->class(), $request );
27 if ( is_wp_error( $model ) ) {
28 return $model;
29 }
30
31 if ( ! empty( $this->with ) ) {
32 $model = $model->with( $this->with );
33 }
34
35 return $model->where( $request->get_query_params() )->upsell( $request->get_json_params() );
36 }
37
38 /**
39 * Swap line item.
40 *
41 * @param \WP_REST_Request $request Rest Request.
42 *
43 * @return \WP_REST_Response|\WP_Error
44 */
45 public function swap( \WP_REST_Request $request ) {
46 $model = $this->middleware( new $this->class( $request['id'] ), $request );
47 if ( is_wp_error( $model ) ) {
48 return $model;
49 }
50
51 if ( ! empty( $this->with ) ) {
52 $model = $model->with( $this->with );
53 }
54
55 return $model->where( $request->get_query_params() )->swap( $request['id'] );
56 }
57
58 /**
59 * UnSwap line item.
60 *
61 * @param \WP_REST_Request $request Rest Request.
62 *
63 * @return \WP_REST_Response|\WP_Error
64 */
65 public function unswap( \WP_REST_Request $request ) {
66 $model = $this->middleware( new $this->class( $request['id'] ), $request );
67 if ( is_wp_error( $model ) ) {
68 return $model;
69 }
70
71 if ( ! empty( $this->with ) ) {
72 $model = $model->with( $this->with );
73 }
74
75 return $model->where( $request->get_query_params() )->unswap( $request['id'] );
76 }
77 }
78