PluginProbe
SureCart – Ecommerce Made Easy For Selling Physical Products, Digital Downloads, Subscriptions, Donations, & Payments / 4.3.3
SureCart – Ecommerce Made Easy For Selling Physical Products, Digital Downloads, Subscriptions, Donations, & Payments v4.3.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 / IntegrationProvidersController.php
IntegrationProvidersController.php
73 lines 2.3 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 /**
6 * Handle integration provider requests through the REST API
7 */
8 class IntegrationProvidersController {
9 /**
10 * List providers for the integration providers for a model.
11 * This is done through code, so we expose a filter here.
12 *
13 * @param \WP_REST_Request $request Rest Request.
14 *
15 * @return \WP_REST_Response|\WP_Error
16 */
17 public function index( \WP_REST_Request $request ) {
18 $providers = apply_filters( "surecart/integrations/providers/list/{$request->get_param( 'model' )}", [], $request->get_param( 'search' ), $request );
19 return rest_ensure_response( $providers );
20 }
21
22 /**
23 * List providers for the integration providers for a model.
24 * This is done through code, so we expose a filter here.
25 *
26 * @param \WP_REST_Request $request Rest Request.
27 *
28 * @return \WP_REST_Response|\WP_Error
29 */
30 public function find( \WP_REST_Request $request ) {
31 $provider = apply_filters(
32 "surecart/integrations/providers/find/{$request->get_param( 'provider' )}",
33 [
34 'id' => $request->get_param( 'id' ),
35 'label' => __( 'Not Found', 'surecart' ),
36 'provider_label' => __( 'The integration has been removed or is unavailable.', 'surecart' ),
37 ],
38 $request
39 );
40 return rest_ensure_response( $provider );
41 }
42
43 /**
44 * List the items to choose from when the provider is chosen.
45 * This is done through code, so we expose a filter here.
46 *
47 * @param \WP_REST_Request $request Rest Request.
48 *
49 * @return \WP_REST_Response|\WP_Error
50 */
51 public function items( \WP_REST_Request $request ) {
52 if ( $request['id'] ) {
53 return $this->item( $request );
54 }
55
56 $providers = apply_filters( "surecart/integrations/providers/{$request->get_param( 'provider' )}/{$request->get_param( 'model' )}/items", [], $request->get_param( 'search' ), $request );
57 return rest_ensure_response( $providers );
58 }
59
60 /**
61 * List the items to choose from when the provider is chosen.
62 * This is done through code, so we expose a filter here.
63 *
64 * @param \WP_REST_Request $request Rest Request.
65 *
66 * @return \WP_REST_Response|\WP_Error
67 */
68 public function item( \WP_REST_Request $request ) {
69 $item = apply_filters( "surecart/integrations/providers/{$request->get_param( 'provider' )}/item", $request['id'], $request );
70 return rest_ensure_response( $item );
71 }
72 }
73