PluginProbe ʕ •ᴥ•ʔ
SureCart – Ecommerce Made Easy For Selling Physical Products, Digital Downloads, Subscriptions, Donations, & Payments / 2.13.0
SureCart – Ecommerce Made Easy For Selling Physical Products, Digital Downloads, Subscriptions, Donations, & Payments v2.13.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 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 / ReturnRequestsRestServiceProvider.php
surecart / app / src / Rest Last commit date
AbandonedCheckoutProtocolRestServiceProvider.php 3 years ago AbandonedCheckoutRestServiceProvider.php 2 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 CancellationActRestServiceProvider.php 3 years ago CancellationReasonRestServiceProvider.php 3 years ago ChargesRestServiceProvider.php 3 years ago CheckEmailRestServiceProvider.php 3 years ago CheckoutRestServiceProvider.php 3 years ago CouponRestServiceProvider.php 3 years ago CustomerNotificationProtocolRestServiceProvider.php 3 years ago CustomerRestServiceProvider.php 3 years ago DownloadRestServiceProvider.php 3 years ago DraftCheckoutRestServiceProvider.php 2 years ago FulfillmentRestServiceProvider.php 3 years ago IncomingWebhooksRestServiceProvider.php 2 years ago IntegrationProvidersRestServiceProvider.php 3 years ago IntegrationsRestServiceProvider.php 3 years ago InvoicesRestServiceProvider.php 3 years ago LicenseRestServiceProvider.php 3 years ago LineItemsRestServiceProvider.php 3 years ago LoginRestServiceProvider.php 3 years ago ManualPaymentMethodsRestServiceProvider.php 3 years ago MediaRestServiceProvider.php 2 years ago OrderProtocolRestServiceProvider.php 3 years ago OrderRestServiceProvider.php 3 years ago PaymentIntentsRestServiceProvider.php 3 years ago PaymentMethodsRestServiceProvider.php 2 years ago PeriodRestServiceProvider.php 3 years ago PortalProtocolRestServiceProvider.php 3 years ago PriceRestServiceProvider.php 3 years ago ProcessorRestServiceProvider.php 3 years ago ProductCollectionsRestServiceProvider.php 2 years ago ProductGroupsRestServiceProvider.php 3 years ago ProductMediaRestServiceProvider.php 3 years ago ProductsRestServiceProvider.php 2 years ago PromotionRestServiceProvider.php 3 years ago ProvisionalAccountRestServiceProvider.php 3 years ago PurchasesRestServiceProvider.php 3 years ago RefundsRestServiceProvider.php 3 years ago RegisteredWebhookRestServiceProvider.php 2 years ago RestServiceInterface.php 3 years ago RestServiceProvider.php 3 years ago ReturnItemsRestServiceProvider.php 2 years ago ReturnReasonsRestServiceProvider.php 2 years ago ReturnRequestsRestServiceProvider.php 2 years ago SettingsRestServiceProvider.php 3 years ago ShippingMethodRestServiceProvider.php 3 years ago ShippingProfileRestServiceProvider.php 3 years ago ShippingProtocolRestServiceProvider.php 3 years ago ShippingRateRestServiceProvider.php 3 years ago ShippingZoneRestServiceProvider.php 3 years ago SiteHealthRestServiceProvider.php 2 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 VariantOptionsRestServiceProvider.php 2 years ago VariantValuesRestServiceProvider.php 2 years ago VariantsRestServiceProvider.php 2 years ago VerificationCodeRestServiceProvider.php 3 years ago WebhooksRestServiceProvider.php 3 years ago
ReturnRequestsRestServiceProvider.php
169 lines
1 <?php
2
3 namespace SureCart\Rest;
4
5 use SureCart\Controllers\Rest\ReturnRequestsController;
6
7 /**
8 * Service provider for ReturnRequest rest requests
9 */
10 class ReturnRequestsRestServiceProvider extends RestServiceProvider implements RestServiceInterface {
11 /**
12 * Endpoint
13 *
14 * @var string
15 */
16 protected $endpoint = 'return_requests';
17
18 /**
19 * Rest Controller
20 *
21 * @var string
22 */
23 protected $controller = ReturnRequestsController::class;
24
25 /**
26 * Methods allowed for the model.
27 *
28 * @var array
29 */
30 protected $methods = [ 'index', 'find', 'create', 'edit', 'delete' ];
31
32 /**
33 * Register REST Routes
34 *
35 * @return void
36 */
37 public function registerRoutes() {
38 register_rest_route(
39 "$this->name/v$this->version",
40 $this->endpoint . '/(?P<id>\S+)/open/',
41 [
42 [
43 'methods' => \WP_REST_Server::EDITABLE,
44 'callback' => $this->callback( $this->controller, 'open' ),
45 'permission_callback' => [ $this, 'open_item_permissions_check' ],
46 ],
47 // Register our schema callback.
48 'schema' => [ $this, 'get_item_schema' ],
49 ]
50 );
51
52 register_rest_route(
53 "$this->name/v$this->version",
54 $this->endpoint . '/(?P<id>\S+)/complete/',
55 [
56 [
57 'methods' => \WP_REST_Server::EDITABLE,
58 'callback' => $this->callback( $this->controller, 'complete' ),
59 'permission_callback' => [ $this, 'complete_item_permissions_check' ],
60 ],
61 // Register our schema callback.
62 'schema' => [ $this, 'get_item_schema' ],
63 ]
64 );
65
66 }
67
68 /**
69 * Get our samples schema for a post
70 *
71 * @return array The sample schema for a post
72 */
73 public function get_item_schema() {
74 if ( $this->schema ) {
75 // Since WordPress 5.3, the schema can be cached in the $schema property.
76 return $this->schema;
77 }
78
79 $this->schema = [
80 // This tells the spec of JSON Schema we are using which is draft 4.
81 '$schema' => 'http://json-schema.org/draft-04/schema#',
82 // The title property marks the identity of the resource.
83 'title' => $this->endpoint,
84 'type' => 'object',
85 // In JSON Schema you can specify object properties in the properties attribute.
86 'properties' => [
87 'id' => [
88 'description' => esc_html__( 'Unique identifier for the object.', 'surecart' ),
89 'type' => 'string',
90 'context' => [ 'view', 'edit', 'embed' ],
91 'readonly' => true,
92 ],
93 ],
94 ];
95
96 return $this->schema;
97 }
98
99 /**
100 * Who can read return requests
101 *
102 * @param \WP_REST_Request $request Rest Request.
103 * @return true|\WP_Error True if the request has access to read return request, WP_Error object otherwise.
104 */
105 public function get_items_permissions_check( $request ) {
106 return current_user_can( 'read_sc_orders' );
107 }
108
109 /**
110 * Who can read a return request
111 *
112 * @param \WP_REST_Request $request Rest Request.
113 * @return true|\WP_Error True if the request has access to read return request, WP_Error object otherwise.
114 */
115 public function get_item_permissions_check( $request ) {
116 return current_user_can( 'read_sc_orders' );
117 }
118
119 /**
120 * Who can create a return request
121 *
122 * @param \WP_REST_Request $request Rest Request.
123 * @return true|\WP_Error True if the request has access to create return request, WP_Error object otherwise.
124 */
125 public function create_item_permissions_check( $request ) {
126 return current_user_can( 'publish_sc_orders' );
127 }
128
129 /**
130 * Who can update a return request
131 *
132 * @param \WP_REST_Request $request Rest Request.
133 * @return true|\WP_Error True if the request has access to update return request, WP_Error object otherwise.
134 */
135 public function update_item_permissions_check( $request ) {
136 return current_user_can( 'edit_sc_orders' );
137 }
138
139 /**
140 * Who can delete a return request
141 *
142 * @param \WP_REST_Request $request Rest Request.
143 * @return true|\WP_Error True if the request has access to delete return request, WP_Error object otherwise.
144 */
145 public function delete_item_permissions_check( $request ) {
146 return current_user_can( 'delete_sc_orders' );
147 }
148
149 /**
150 * Who can open a return request
151 *
152 * @param \WP_REST_Request $request Rest Request.
153 * @return true|\WP_Error True if the request has access to open return request, WP_Error object otherwise.
154 */
155 public function open_item_permissions_check( $request ) {
156 return current_user_can( 'edit_sc_orders' );
157 }
158
159 /**
160 * Who can complete a return request
161 *
162 * @param \WP_REST_Request $request Rest Request.
163 * @return true|\WP_Error True if the request has access to complete return request, WP_Error object otherwise.
164 */
165 public function complete_item_permissions_check( $request ) {
166 return current_user_can( 'edit_sc_orders' );
167 }
168 }
169