PluginProbe ʕ •ᴥ•ʔ
SureCart – Ecommerce Made Easy For Selling Physical Products, Digital Downloads, Subscriptions, Donations, & Payments / 4.7.0
SureCart – Ecommerce Made Easy For Selling Physical Products, Digital Downloads, Subscriptions, Donations, & Payments v4.7.0
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 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 / WarehouseRestServiceProvider.php
surecart / app / src / Rest Last commit date
AbandonedCheckoutProtocolRestServiceProvider.php 3 years ago AbandonedCheckoutRestServiceProvider.php 2 years ago AccountRestServiceProvider.php 4 years ago ActivationRestServiceProvider.php 1 year ago AffiliationProductsRestServiceProvider.php 2 years ago AffiliationProtocolRestServiceProvider.php 2 years ago AffiliationRequestsRestServiceProvider.php 2 years ago AffiliationsRestServiceProvider.php 1 year ago AutoFeeProtocolRestServiceProvider.php 7 months ago AutoFeeRestServiceProvider.php 7 months ago BalanceTransactionRestServiceProvider.php 4 years ago BatchesRestServiceProvider.php 1 month ago BlockPatternsRestServiceProvider.php 4 years ago BrandRestServiceProvider.php 1 month ago BumpRestServiceProvider.php 1 month ago BundleItemsRestServiceProvider.php 1 month ago CancellationActRestServiceProvider.php 1 year ago CancellationReasonRestServiceProvider.php 1 year ago ChargesRestServiceProvider.php 4 years ago CheckEmailRestServiceProvider.php 3 years ago CheckoutRestServiceProvider.php 4 weeks ago ClicksRestServiceProvider.php 2 years ago CouponRestServiceProvider.php 4 years ago CustomerNotificationProtocolRestServiceProvider.php 4 years ago CustomerPortalProtocolRestServiceProvider.php 1 year ago CustomerRestServiceProvider.php 2 months ago DisplayCurrencyRestServiceProvider.php 1 year ago DisputesRestServiceProvider.php 11 months ago DownloadRestServiceProvider.php 4 months ago DraftCheckoutRestServiceProvider.php 1 year ago ExportsRestServiceProvider.php 2 years ago FulfillmentRestServiceProvider.php 3 years ago ImportRowsRestServiceProvider.php 3 months ago IncomingWebhooksRestServiceProvider.php 2 years ago IntegrationProvidersRestServiceProvider.php 4 years ago IntegrationsCatalogRestServiceProvider.php 1 year ago IntegrationsRestServiceProvider.php 4 years ago InvoicesRestServiceProvider.php 1 year ago LicenseRestServiceProvider.php 1 year ago LineItemsRestServiceProvider.php 1 year ago LoginRestServiceProvider.php 2 months ago ManualPaymentMethodsRestServiceProvider.php 3 years ago MediaRestServiceProvider.php 1 year ago OrderProtocolRestServiceProvider.php 1 year ago OrderRestServiceProvider.php 1 year ago ParcelTemplateRestServiceProvider.php 1 week ago PaymentIntentsRestServiceProvider.php 4 years ago PaymentMethodsRestServiceProvider.php 3 years ago PayoutGroupsRestServiceProvider.php 2 years ago PayoutsRestServiceProvider.php 6 months ago PeriodRestServiceProvider.php 3 years ago PluginInstallerRestServiceProvider.php 1 month ago PriceRestServiceProvider.php 1 month ago ProcessorRestServiceProvider.php 3 years ago ProductCollectionsRestServiceProvider.php 1 month ago ProductGroupsRestServiceProvider.php 1 month ago ProductMediaRestServiceProvider.php 1 month ago ProductsRestServiceProvider.php 1 month ago PromotionRestServiceProvider.php 4 years ago ProvisionalAccountRestServiceProvider.php 3 years ago PurchasesRestServiceProvider.php 4 years ago ReferralItemsRestServiceProvider.php 2 years ago ReferralsRestServiceProvider.php 2 years ago RefundsRestServiceProvider.php 4 years ago RegisteredWebhookRestServiceProvider.php 2 years ago RestServiceInterface.php 4 years ago RestServiceProvider.php 1 month ago ReturnItemsRestServiceProvider.php 2 years ago ReturnReasonsRestServiceProvider.php 2 years ago ReturnRequestsRestServiceProvider.php 2 years ago ReviewProtocolRestServiceProvider.php 6 months ago ReviewsRestServiceProvider.php 1 month ago RuleSchemaRestServiceProvider.php 7 months ago SettingsRestServiceProvider.php 1 year ago ShipmentRestServiceProvider.php 1 week ago ShippingMethodRestServiceProvider.php 3 years ago ShippingProfileRestServiceProvider.php 3 years ago ShippingProtocolRestServiceProvider.php 1 year ago ShippingProviderTypeRestServiceProvider.php 1 week ago ShippingRateRestServiceProvider.php 3 years ago ShippingZoneRestServiceProvider.php 3 years ago SiteHealthRestServiceProvider.php 2 years ago StatisticRestServiceProvider.php 3 years ago SubscriptionProtocolRestServiceProvider.php 6 months ago SubscriptionRestServiceProvider.php 2 years ago SwapRestServiceProvider.php 1 year ago TaxOverrideRestServiceProvider.php 1 year ago TaxProtocolRestServiceProvider.php 1 year ago TaxRegistrationRestServiceProvider.php 1 year ago TaxZoneRestServiceProvider.php 1 year ago UploadsRestServiceProvider.php 4 years ago UpsellFunnelRestServiceProvider.php 1 year ago UpsellRestServiceProvider.php 1 month ago VariantOptionsRestServiceProvider.php 1 month ago VariantValuesRestServiceProvider.php 1 month ago VariantsRestServiceProvider.php 1 month ago VerificationCodeRestServiceProvider.php 3 years ago WarehouseRestServiceProvider.php 1 week ago WebhooksRestServiceProvider.php 4 years ago
WarehouseRestServiceProvider.php
135 lines
1 <?php
2
3 namespace SureCart\Rest;
4
5 use SureCart\Rest\RestServiceInterface;
6 use SureCart\Controllers\Rest\WarehousesController;
7
8 /**
9 * Service provider for Warehouse Rest Requests
10 */
11 class WarehouseRestServiceProvider extends RestServiceProvider implements RestServiceInterface {
12 /**
13 * Endpoint.
14 *
15 * @var string
16 */
17 protected $endpoint = 'warehouses';
18
19 /**
20 * Rest Controller
21 *
22 * @var string
23 */
24 protected $controller = WarehousesController::class;
25
26 /**
27 * Methods allowed for the model.
28 *
29 * @var array
30 */
31 protected $methods = [ 'index', 'create', 'find', 'edit', 'delete' ];
32
33 /**
34 * Get our sample schema for a post.
35 *
36 * @return array The sample schema for a post
37 */
38 public function get_item_schema() {
39 if ( $this->schema ) {
40 return $this->schema;
41 }
42
43 $this->schema = [
44 '$schema' => 'http://json-schema.org/draft-04/schema#',
45 'title' => $this->endpoint,
46 'type' => 'object',
47 'properties' => [
48 'id' => [
49 'description' => esc_html__( 'Unique identifier for the object.', 'surecart' ),
50 'type' => 'string',
51 'context' => [ 'view', 'edit', 'embed' ],
52 'readonly' => true,
53 ],
54 ],
55 ];
56
57 return $this->schema;
58 }
59
60 /**
61 * Get the collection params.
62 *
63 * @return array
64 */
65 public function get_collection_params() {
66 return [
67 'page' => [
68 'description' => esc_html__( 'The page of items you want returned.', 'surecart' ),
69 'type' => 'integer',
70 ],
71 'per_page' => [
72 'description' => esc_html__( 'A limit on the number of items to be returned, between 1 and 100.', 'surecart' ),
73 'type' => 'integer',
74 ],
75 ];
76 }
77
78 /**
79 * Retrieve permissions.
80 *
81 * Reads also allow order editors: the fulfilment drawer needs the warehouse
82 * (ship-from) list to buy a label, and gating reads on shop settings alone
83 * stranded anyone who can fulfil an order but not manage settings. Writes
84 * stay restricted to shop managers below.
85 *
86 * @param \WP_REST_Request $request Full details about the request.
87 * @return true|\WP_Error True if the request has access, WP_Error object otherwise.
88 */
89 public function get_item_permissions_check( $request ) {
90 return current_user_can( 'edit_sc_orders' ) || current_user_can( 'manage_sc_shop_settings' );
91 }
92
93 /**
94 * List permissions.
95 *
96 * Same read broadening as `get_item_permissions_check()`.
97 *
98 * @param \WP_REST_Request $request Full details about the request.
99 * @return true|\WP_Error True if the request has access, WP_Error object otherwise.
100 */
101 public function get_items_permissions_check( $request ) {
102 return current_user_can( 'edit_sc_orders' ) || current_user_can( 'manage_sc_shop_settings' );
103 }
104
105 /**
106 * Create permissions.
107 *
108 * @param \WP_REST_Request $request Full details about the request.
109 * @return true|\WP_Error True if the request has access, WP_Error object otherwise.
110 */
111 public function create_item_permissions_check( $request ) {
112 return current_user_can( 'manage_sc_shop_settings' );
113 }
114
115 /**
116 * Update permissions.
117 *
118 * @param \WP_REST_Request $request Full details about the request.
119 * @return true|\WP_Error True if the request has access, WP_Error object otherwise.
120 */
121 public function update_item_permissions_check( $request ) {
122 return current_user_can( 'manage_sc_shop_settings' );
123 }
124
125 /**
126 * Delete permissions.
127 *
128 * @param \WP_REST_Request $request Full details about the request.
129 * @return true|\WP_Error True if the request has access, WP_Error object otherwise.
130 */
131 public function delete_item_permissions_check( $request ) {
132 return current_user_can( 'manage_sc_shop_settings' );
133 }
134 }
135