PluginProbe ʕ •ᴥ•ʔ
Booking for Appointments and Events Calendar – Amelia / 2.4.6
Booking for Appointments and Events Calendar – Amelia v2.4.6
2.4.7 2.4.6 2.4.5 2.4.4 2.4.3 2.4.2 2.4.1 2.4 trunk 1.2.1 1.2.10 1.2.11 1.2.12 1.2.13 1.2.14 1.2.15 1.2.16 1.2.17 1.2.18 1.2.19 1.2.2 1.2.20 1.2.21 1.2.22 1.2.23 1.2.24 1.2.25 1.2.26 1.2.27 1.2.28 1.2.29 1.2.3 1.2.30 1.2.31 1.2.32 1.2.33 1.2.34 1.2.35 1.2.36 1.2.37 1.2.38 1.2.4 1.2.5 1.2.6 1.2.7 1.2.8 1.2.9 2.0 2.0.1 2.0.2 2.1 2.1.1 2.1.2 2.1.3 2.2 2.2.1 2.3
ameliabooking / vendor / stripe / stripe-php / lib / ApiOperations / NestedResource.php
ameliabooking / vendor / stripe / stripe-php / lib / ApiOperations Last commit date
All.php 7 months ago Create.php 7 months ago Delete.php 7 months ago NestedResource.php 7 months ago Request.php 7 months ago Retrieve.php 7 months ago SingletonRetrieve.php 7 months ago Update.php 7 months ago
NestedResource.php
136 lines
1 <?php
2
3 namespace AmeliaVendor\Stripe\ApiOperations;
4
5 /**
6 * Trait for resources that have nested resources.
7 *
8 * This trait should only be applied to classes that derive from StripeObject.
9 */
10 trait NestedResource
11 {
12 /**
13 * @param 'delete'|'get'|'post' $method
14 * @param string $url
15 * @param null|array $params
16 * @param null|array|string $options
17 *
18 * @return \AmeliaVendor\Stripe\StripeObject
19 */
20 protected static function _nestedResourceOperation($method, $url, $params = null, $options = null)
21 {
22 self::_validateParams($params);
23
24 list($response, $opts) = static::_staticRequest($method, $url, $params, $options);
25 $obj = \AmeliaVendor\Stripe\Util\Util::convertToStripeObject($response->json, $opts);
26 $obj->setLastResponse($response);
27
28 return $obj;
29 }
30
31 /**
32 * @param string $id
33 * @param string $nestedPath
34 * @param null|string $nestedId
35 *
36 * @return string
37 */
38 protected static function _nestedResourceUrl($id, $nestedPath, $nestedId = null)
39 {
40 $url = static::resourceUrl($id) . $nestedPath;
41 if (null !== $nestedId) {
42 $url .= "/{$nestedId}";
43 }
44
45 return $url;
46 }
47
48 /**
49 * @param string $id
50 * @param string $nestedPath
51 * @param null|array $params
52 * @param null|array|string $options
53 *
54 * @return \AmeliaVendor\Stripe\StripeObject
55 *
56 * @throws \AmeliaVendor\Stripe\Exception\ApiErrorException if the request fails
57 */
58 protected static function _createNestedResource($id, $nestedPath, $params = null, $options = null)
59 {
60 $url = static::_nestedResourceUrl($id, $nestedPath);
61
62 return self::_nestedResourceOperation('post', $url, $params, $options);
63 }
64
65 /**
66 * @param string $id
67 * @param string $nestedPath
68 * @param null|string $nestedId
69 * @param null|array $params
70 * @param null|array|string $options
71 *
72 * @return \AmeliaVendor\Stripe\StripeObject
73 *
74 * @throws \AmeliaVendor\Stripe\Exception\ApiErrorException if the request fails
75 */
76 protected static function _retrieveNestedResource($id, $nestedPath, $nestedId, $params = null, $options = null)
77 {
78 $url = static::_nestedResourceUrl($id, $nestedPath, $nestedId);
79
80 return self::_nestedResourceOperation('get', $url, $params, $options);
81 }
82
83 /**
84 * @param string $id
85 * @param string $nestedPath
86 * @param null|string $nestedId
87 * @param null|array $params
88 * @param null|array|string $options
89 *
90 * @return \AmeliaVendor\Stripe\StripeObject
91 *
92 * @throws \AmeliaVendor\Stripe\Exception\ApiErrorException if the request fails
93 */
94 protected static function _updateNestedResource($id, $nestedPath, $nestedId, $params = null, $options = null)
95 {
96 $url = static::_nestedResourceUrl($id, $nestedPath, $nestedId);
97
98 return self::_nestedResourceOperation('post', $url, $params, $options);
99 }
100
101 /**
102 * @param string $id
103 * @param string $nestedPath
104 * @param null|string $nestedId
105 * @param null|array $params
106 * @param null|array|string $options
107 *
108 * @return \AmeliaVendor\Stripe\StripeObject
109 *
110 * @throws \AmeliaVendor\Stripe\Exception\ApiErrorException if the request fails
111 */
112 protected static function _deleteNestedResource($id, $nestedPath, $nestedId, $params = null, $options = null)
113 {
114 $url = static::_nestedResourceUrl($id, $nestedPath, $nestedId);
115
116 return self::_nestedResourceOperation('delete', $url, $params, $options);
117 }
118
119 /**
120 * @param string $id
121 * @param string $nestedPath
122 * @param null|array $params
123 * @param null|array|string $options
124 *
125 * @return \AmeliaVendor\Stripe\StripeObject
126 *
127 * @throws \AmeliaVendor\Stripe\Exception\ApiErrorException if the request fails
128 */
129 protected static function _allNestedResources($id, $nestedPath, $params = null, $options = null)
130 {
131 $url = static::_nestedResourceUrl($id, $nestedPath);
132
133 return self::_nestedResourceOperation('get', $url, $params, $options);
134 }
135 }
136