PluginProbe ʕ •ᴥ•ʔ
SureCart – Ecommerce Made Easy For Selling Physical Products, Digital Downloads, Subscriptions, Donations, & Payments / 1.2.1
SureCart – Ecommerce Made Easy For Selling Physical Products, Digital Downloads, Subscriptions, Donations, & Payments v1.2.1
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 1.0.6 1.1.0 1.1.1 1.1.10 1.1.11 1.1.12 1.1.13 1.1.14 1.1.15 1.1.16 1.1.17 1.1.18 1.1.19 1.1.2 1.1.3 1.1.4 1.1.5 1.1.6 1.1.7 1.1.8 1.1.9 1.10.0 1.10.1 1.10.2 1.10.3 1.10.4 1.11.0 1.11.1 1.11.2 1.2.0 1.2.1 1.2.2 1.2.3 1.2.4 1.2.5 1.3.0 1.3.1 1.3.2 1.3.3 1.3.4 1.4.0 1.4.1 1.4.2 1.5.0 1.5.1 1.5.2 1.5.3 1.5.4 1.5.5 1.5.6 1.5.7 1.5.8 1.6.0 1.6.1 1.6.2 1.6.3 1.6.4 1.7.0 1.7.1 1.7.2 1.8.0 1.8.1 1.8.2 1.8.3 1.8.4 1.8.5 1.9.0 1.9.1 1.9.2 1.9.3 1.9.4 1.9.5 2.0.0 2.0.1 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.10.0 2.10.1 2.11.0 2.11.1 2.11.2 2.11.3 2.11.4 2.12.0 2.13.0 2.14.0 2.14.1 2.15.0 2.15.1 2.16.0 2.16.1 2.16.2 2.16.3 2.17.0 2.17.1 2.17.2 2.18.0 2.19.0 2.19.2 2.19.3 2.19.4 2.2.0 2.2.1 2.20.0 2.20.1 2.20.2 2.20.3 2.20.4 2.20.5 2.20.6 2.21.0 2.22.0 2.22.1 2.23.0 2.24.0 2.25.0 2.25.1 2.25.2 2.26.0 2.27.0 2.27.1 2.28.0 2.29.0 2.29.1 2.29.2 2.29.3 2.29.4 2.3.0 2.3.1 2.30.0 2.31.0 2.31.1 2.31.2 2.31.3 2.4.0 2.4.1 2.4.2 2.4.3 2.4.4 2.40.0 2.40.1 2.5.0 2.5.1 2.5.2 2.6.0 2.6.1 2.6.2 2.7.0 2.7.1 2.7.2 2.7.3 2.7.4 2.7.5 2.8.0 2.8.1 2.8.2 2.8.3 2.8.4 2.9.0 3.0.0 3.0.0-RC1 3.0.0-RC2 3.0.0-beta1 3.0.0-beta2 3.0.1 3.0.2 3.0.3 3.0.4 3.0.5 3.1.0 3.1.1 3.1.2 3.1.3 3.1.4 3.1.5 3.1.6 3.10.0 3.10.1 3.11.0 3.12.0 3.13.0 3.13.1 3.13.2 3.13.3 3.13.4 3.14.0 3.15.0 3.15.1 3.15.2 3.15.3 3.15.4 3.15.5 3.16.0 3.16.1 3.16.2 3.16.3 3.16.4 3.16.5 3.16.6 3.16.7 3.16.8 3.17.0 3.17.1 3.17.2 3.17.3 3.17.4 3.17.5 3.17.6 3.18.0 3.19.0 3.19.1 3.19.2 3.2.0 3.2.1 3.2.2 3.20.0 3.20.1 3.3.0 3.3.1 3.4.0 3.4.1 3.4.2 3.4.3 3.5.0 3.5.1 3.5.2 3.5.3 3.6.0 3.6.1 3.6.2 3.7.0 3.7.1 3.7.2 3.7.3 3.8.0 3.8.1 3.8.2 3.8.3 3.8.4 3.8.5 3.9.0 4.0.0 4.0.1 4.0.2 4.0.3 trunk 4.1.0 0.2.19.1 4.1.1 1.0.0 4.2.0 1.0.1 1.0.2
surecart / app / src / Rest / PaymentMethodsRestServiceProvider.php
surecart / app / src / Rest Last commit date
AbandonedCheckoutProtocolRestServiceProvider.php 3 years ago AbandonedCheckoutRestServiceProvider.php 3 years ago AccountRestServiceProvider.php 3 years ago ActivationRestServiceProvider.php 3 years ago BalanceTransactionRestServiceProvider.php 3 years ago BlockPatternsRestServiceProvider.php 3 years ago BrandRestServiceProvider.php 3 years ago BumpRestServiceProvider.php 3 years ago ChargesRestServiceProvider.php 3 years ago CheckoutRestServiceProvider.php 3 years ago CouponRestServiceProvider.php 3 years ago CustomerLinksRestServiceProvider.php 3 years ago CustomerNotificationProtocolRestServiceProvider.php 3 years ago CustomerRestServiceProvider.php 3 years ago DownloadRestServiceProvider.php 3 years ago IntegrationProvidersRestServiceProvider.php 3 years ago IntegrationsRestServiceProvider.php 3 years ago InvoicesRestServiceProvider.php 3 years ago LicenseRestServiceProvider.php 3 years ago LoginRestServiceProvider.php 3 years ago ManualPaymentMethodsRestServiceProvider.php 3 years ago MediaRestServiceProvider.php 3 years ago OrderProtocolRestServiceProvider.php 3 years ago OrderRestServiceProvider.php 3 years ago PaymentIntentsRestServiceProvider.php 3 years ago PaymentMethodsRestServiceProvider.php 3 years ago PeriodRestServiceProvider.php 3 years ago PortalProtocolRestServiceProvider.php 3 years ago PriceRestServiceProvider.php 3 years ago ProcessorRestServiceProvider.php 3 years ago ProductGroupsRestServiceProvider.php 3 years ago ProductsRestServiceProvider.php 3 years ago PromotionRestServiceProvider.php 3 years ago PurchasesRestServiceProvider.php 3 years ago RefundsRestServiceProvider.php 3 years ago RestServiceInterface.php 3 years ago RestServiceProvider.php 3 years ago SettingsRestServiceProvider.php 3 years ago StatisticRestServiceProvider.php 3 years ago SubscriptionProtocolRestServiceProvider.php 3 years ago SubscriptionRestServiceProvider.php 3 years ago TaxProtocolRestServiceProvider.php 3 years ago TaxRegistrationRestServiceProvider.php 3 years ago TaxZoneRestServiceProvider.php 3 years ago UploadsRestServiceProvider.php 3 years ago WebhooksRestServiceProvider.php 3 years ago
PaymentMethodsRestServiceProvider.php
138 lines
1 <?php
2
3 namespace SureCart\Rest;
4
5 use SureCart\Controllers\Rest\PaymentMethodsController;
6 use SureCart\Models\User;
7 use SureCart\Rest\RestServiceInterface;
8
9 /**
10 * Service provider for Price Rest Requests
11 */
12 class PaymentMethodsRestServiceProvider extends RestServiceProvider implements RestServiceInterface {
13
14 /**
15 * Endpoint.
16 *
17 * @var string
18 */
19 protected $endpoint = 'payment_methods';
20
21 /**
22 * Rest Controller
23 *
24 * @var string
25 */
26 protected $controller = PaymentMethodsController::class;
27
28 /**
29 * Methods allowed for the model.
30 *
31 * @var array
32 */
33 protected $methods = [ 'index', 'find' ];
34
35 /**
36 * Register REST Routes
37 *
38 * @return void
39 */
40 public function registerRoutes() {
41 register_rest_route(
42 "$this->name/v$this->version",
43 $this->endpoint . '/(?P<id>\S+)/detach/',
44 [
45 [
46 'methods' => \WP_REST_Server::EDITABLE,
47 'callback' => $this->callback( $this->controller, 'detach' ),
48 'permission_callback' => [ $this, 'detach_item_permissions_check' ],
49 ],
50 // Register our schema callback.
51 'schema' => [ $this, 'get_item_schema' ],
52 ]
53 );
54 }
55
56
57 /**
58 * Get our sample schema for a post.
59 *
60 * @return array The sample schema for a post
61 */
62 public function get_item_schema() {
63 if ( $this->schema ) {
64 // Since WordPress 5.3, the schema can be cached in the $schema property.
65 return $this->schema;
66 }
67
68 $this->schema = [
69 // This tells the spec of JSON Schema we are using which is draft 4.
70 '$schema' => 'http://json-schema.org/draft-04/schema#',
71 // The title property marks the identity of the resource.
72 'title' => $this->endpoint,
73 'type' => 'object',
74 // In JSON Schema you can specify object properties in the properties attribute.
75 'properties' => [
76 'id' => [
77 'description' => esc_html__( 'Unique identifier for the object.', 'surecart' ),
78 'type' => 'string',
79 'context' => [ 'view', 'edit', 'embed' ],
80 'readonly' => true,
81 ],
82 ],
83 ];
84
85 return $this->schema;
86 }
87
88 /**
89 * Read permissions.
90 *
91 * @param \WP_REST_Request $request Full details about the request.
92 * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise.
93 */
94 public function get_item_permissions_check( $request ) {
95 return current_user_can( 'read_sc_payment_method', $request['id'] );
96 }
97
98 /**
99 * Read permissions.
100 *
101 * @param \WP_REST_Request $request Full details about the request.
102 * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise.
103 */
104 public function detach_item_permissions_check( $request ) {
105 return current_user_can( 'edit_sc_payment_method', $request['id'] );
106 }
107
108 /**
109 * List permissions.
110 *
111 * @param \WP_REST_Request $request Full details about the request.
112 * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise.
113 */
114 public function get_items_permissions_check( $request ) {
115 return current_user_can( 'read_sc_payment_methods', $request->get_params() );
116 }
117
118 /**
119 * Update permissions.
120 *
121 * @param \WP_REST_Request $request Full details about the request.
122 * @return true|\WP_Error True if the request has access to create items, WP_Error object otherwise.
123 */
124 public function update_item_permissions_check( $request ) {
125 return current_user_can( 'edit_sc_payment_methods' );
126 }
127
128 /**
129 * Delete permissions.
130 *
131 * @param \WP_REST_Request $request Full details about the request.
132 * @return false
133 */
134 public function delete_item_permissions_check( $request ) {
135 return current_user_can( 'delete_sc_payment_methods' );
136 }
137 }
138