square.rb 26.1.0.20230119 → 26.2.0.20230315

Sign up to get free protection for your applications and to get access to all the features.
Files changed (70) hide show
  1. checksums.yaml +4 -4
  2. data/lib/square/api/apple_pay_api.rb +14 -30
  3. data/lib/square/api/bank_accounts_api.rb +40 -90
  4. data/lib/square/api/base_api.rb +42 -42
  5. data/lib/square/api/booking_custom_attributes_api.rb +164 -329
  6. data/lib/square/api/bookings_api.rb +135 -260
  7. data/lib/square/api/cards_api.rb +56 -118
  8. data/lib/square/api/cash_drawers_api.rb +47 -103
  9. data/lib/square/api/catalog_api.rb +197 -423
  10. data/lib/square/api/checkout_api.rb +85 -175
  11. data/lib/square/api/customer_custom_attributes_api.rb +150 -303
  12. data/lib/square/api/customer_groups_api.rb +69 -145
  13. data/lib/square/api/customer_segments_api.rb +26 -61
  14. data/lib/square/api/customers_api.rb +147 -294
  15. data/lib/square/api/devices_api.rb +42 -89
  16. data/lib/square/api/disputes_api.rb +130 -288
  17. data/lib/square/api/employees_api.rb +28 -63
  18. data/lib/square/api/gift_card_activities_api.rb +33 -65
  19. data/lib/square/api/gift_cards_api.rb +103 -202
  20. data/lib/square/api/inventory_api.rb +179 -366
  21. data/lib/square/api/invoices_api.rb +118 -237
  22. data/lib/square/api/labor_api.rb +223 -459
  23. data/lib/square/api/location_custom_attributes_api.rb +166 -331
  24. data/lib/square/api/locations_api.rb +54 -112
  25. data/lib/square/api/loyalty_api.rb +259 -512
  26. data/lib/square/api/merchants_api.rb +25 -60
  27. data/lib/square/api/mobile_authorization_api.rb +14 -30
  28. data/lib/square/api/o_auth_api.rb +54 -109
  29. data/lib/square/api/order_custom_attributes_api.rb +168 -333
  30. data/lib/square/api/orders_api.rb +115 -222
  31. data/lib/square/api/payments_api.rb +106 -208
  32. data/lib/square/api/payouts_api.rb +47 -100
  33. data/lib/square/api/refunds_api.rb +46 -93
  34. data/lib/square/api/sites_api.rb +11 -28
  35. data/lib/square/api/snippets_api.rb +42 -90
  36. data/lib/square/api/subscriptions_api.rb +150 -299
  37. data/lib/square/api/team_api.rb +114 -224
  38. data/lib/square/api/terminal_api.rb +162 -328
  39. data/lib/square/api/transactions_api.rb +62 -126
  40. data/lib/square/api/v1_transactions_api.rb +155 -296
  41. data/lib/square/api/vendors_api.rb +99 -192
  42. data/lib/square/api/webhook_subscriptions_api.rb +115 -235
  43. data/lib/square/api_helper.rb +1 -437
  44. data/lib/square/client.rb +77 -47
  45. data/lib/square/configuration.rb +28 -53
  46. data/lib/square/exceptions/api_exception.rb +1 -11
  47. data/lib/square/http/api_response.rb +13 -19
  48. data/lib/square/http/auth/o_auth2.rb +14 -7
  49. data/lib/square/http/http_call_back.rb +1 -15
  50. data/lib/square/http/http_method_enum.rb +1 -4
  51. data/lib/square/http/http_request.rb +1 -45
  52. data/lib/square/http/http_response.rb +1 -20
  53. data/lib/square/utilities/date_time_helper.rb +1 -146
  54. data/lib/square/utilities/file_wrapper.rb +5 -5
  55. data/lib/square.rb +6 -6
  56. data/spec/user_journey_spec.rb +2 -2
  57. data/test/api/api_test_base.rb +13 -5
  58. data/test/api/test_catalog_api.rb +5 -4
  59. data/test/api/test_customers_api.rb +3 -2
  60. data/test/api/test_employees_api.rb +4 -3
  61. data/test/api/test_labor_api.rb +6 -5
  62. data/test/api/test_locations_api.rb +3 -2
  63. data/test/api/test_merchants_api.rb +4 -3
  64. data/test/api/test_payments_api.rb +4 -3
  65. data/test/api/test_refunds_api.rb +4 -3
  66. metadata +11 -111
  67. data/lib/square/exceptions/validation_exception.rb +0 -13
  68. data/lib/square/http/faraday_client.rb +0 -93
  69. data/lib/square/http/http_client.rb +0 -118
  70. data/test/test_helper.rb +0 -89
@@ -1,10 +1,6 @@
1
1
  module Square
2
2
  # CheckoutApi
3
3
  class CheckoutApi < BaseApi
4
- def initialize(config, http_call_back: nil)
5
- super(config, http_call_back: http_call_back)
6
- end
7
-
8
4
  # Links a `checkoutId` to a `checkout_page_url` that customers are
9
5
  # directed to in order to provide their payment information using a
10
6
  # payment processing workflow hosted on connect.squareup.com.
@@ -24,36 +20,22 @@ module Square
24
20
  def create_checkout(location_id:,
25
21
  body:)
26
22
  warn 'Endpoint create_checkout in CheckoutApi is deprecated'
27
- # Prepare query url.
28
- _query_builder = config.get_base_uri
29
- _query_builder << '/v2/locations/{location_id}/checkouts'
30
- _query_builder = APIHelper.append_url_with_template_parameters(
31
- _query_builder,
32
- 'location_id' => { 'value' => location_id, 'encode' => true }
33
- )
34
- _query_url = APIHelper.clean_url _query_builder
35
-
36
- # Prepare headers.
37
- _headers = {
38
- 'accept' => 'application/json',
39
- 'Content-Type' => 'application/json'
40
- }
41
-
42
- # Prepare and execute HttpRequest.
43
- _request = config.http_client.post(
44
- _query_url,
45
- headers: _headers,
46
- parameters: body.to_json
47
- )
48
- OAuth2.apply(config, _request)
49
- _response = execute_request(_request)
50
-
51
- # Return appropriate response type.
52
- decoded = APIHelper.json_deserialize(_response.raw_body)
53
- _errors = APIHelper.map_response(decoded, ['errors'])
54
- ApiResponse.new(
55
- _response, data: decoded, errors: _errors
56
- )
23
+ new_api_call_builder
24
+ .request(new_request_builder(HttpMethodEnum::POST,
25
+ '/v2/locations/{location_id}/checkouts',
26
+ 'default')
27
+ .template_param(new_parameter(location_id, key: 'location_id')
28
+ .should_encode(true))
29
+ .header_param(new_parameter('application/json', key: 'Content-Type'))
30
+ .body_param(new_parameter(body))
31
+ .header_param(new_parameter('application/json', key: 'accept'))
32
+ .body_serializer(proc do |param| param.to_json unless param.nil? end)
33
+ .auth(Single.new('global')))
34
+ .response(new_response_handler
35
+ .deserializer(APIHelper.method(:json_deserialize))
36
+ .is_api_response(true)
37
+ .convertor(ApiResponse.method(:create)))
38
+ .execute
57
39
  end
58
40
 
59
41
  # Lists all payment links.
@@ -71,35 +53,19 @@ module Square
71
53
  # @return [ListPaymentLinksResponse Hash] response from the API call
72
54
  def list_payment_links(cursor: nil,
73
55
  limit: nil)
74
- # Prepare query url.
75
- _query_builder = config.get_base_uri
76
- _query_builder << '/v2/online-checkout/payment-links'
77
- _query_builder = APIHelper.append_url_with_query_parameters(
78
- _query_builder,
79
- 'cursor' => cursor,
80
- 'limit' => limit
81
- )
82
- _query_url = APIHelper.clean_url _query_builder
83
-
84
- # Prepare headers.
85
- _headers = {
86
- 'accept' => 'application/json'
87
- }
88
-
89
- # Prepare and execute HttpRequest.
90
- _request = config.http_client.get(
91
- _query_url,
92
- headers: _headers
93
- )
94
- OAuth2.apply(config, _request)
95
- _response = execute_request(_request)
96
-
97
- # Return appropriate response type.
98
- decoded = APIHelper.json_deserialize(_response.raw_body)
99
- _errors = APIHelper.map_response(decoded, ['errors'])
100
- ApiResponse.new(
101
- _response, data: decoded, errors: _errors
102
- )
56
+ new_api_call_builder
57
+ .request(new_request_builder(HttpMethodEnum::GET,
58
+ '/v2/online-checkout/payment-links',
59
+ 'default')
60
+ .query_param(new_parameter(cursor, key: 'cursor'))
61
+ .query_param(new_parameter(limit, key: 'limit'))
62
+ .header_param(new_parameter('application/json', key: 'accept'))
63
+ .auth(Single.new('global')))
64
+ .response(new_response_handler
65
+ .deserializer(APIHelper.method(:json_deserialize))
66
+ .is_api_response(true)
67
+ .convertor(ApiResponse.method(:create)))
68
+ .execute
103
69
  end
104
70
 
105
71
  # Creates a Square-hosted checkout page. Applications can share the
@@ -109,32 +75,20 @@ module Square
109
75
  # object definition for field details.
110
76
  # @return [CreatePaymentLinkResponse Hash] response from the API call
111
77
  def create_payment_link(body:)
112
- # Prepare query url.
113
- _query_builder = config.get_base_uri
114
- _query_builder << '/v2/online-checkout/payment-links'
115
- _query_url = APIHelper.clean_url _query_builder
116
-
117
- # Prepare headers.
118
- _headers = {
119
- 'accept' => 'application/json',
120
- 'Content-Type' => 'application/json'
121
- }
122
-
123
- # Prepare and execute HttpRequest.
124
- _request = config.http_client.post(
125
- _query_url,
126
- headers: _headers,
127
- parameters: body.to_json
128
- )
129
- OAuth2.apply(config, _request)
130
- _response = execute_request(_request)
131
-
132
- # Return appropriate response type.
133
- decoded = APIHelper.json_deserialize(_response.raw_body)
134
- _errors = APIHelper.map_response(decoded, ['errors'])
135
- ApiResponse.new(
136
- _response, data: decoded, errors: _errors
137
- )
78
+ new_api_call_builder
79
+ .request(new_request_builder(HttpMethodEnum::POST,
80
+ '/v2/online-checkout/payment-links',
81
+ 'default')
82
+ .header_param(new_parameter('application/json', key: 'Content-Type'))
83
+ .body_param(new_parameter(body))
84
+ .header_param(new_parameter('application/json', key: 'accept'))
85
+ .body_serializer(proc do |param| param.to_json unless param.nil? end)
86
+ .auth(Single.new('global')))
87
+ .response(new_response_handler
88
+ .deserializer(APIHelper.method(:json_deserialize))
89
+ .is_api_response(true)
90
+ .convertor(ApiResponse.method(:create)))
91
+ .execute
138
92
  end
139
93
 
140
94
  # Deletes a payment link.
@@ -142,68 +96,38 @@ module Square
142
96
  # delete.
143
97
  # @return [DeletePaymentLinkResponse Hash] response from the API call
144
98
  def delete_payment_link(id:)
145
- # Prepare query url.
146
- _query_builder = config.get_base_uri
147
- _query_builder << '/v2/online-checkout/payment-links/{id}'
148
- _query_builder = APIHelper.append_url_with_template_parameters(
149
- _query_builder,
150
- 'id' => { 'value' => id, 'encode' => true }
151
- )
152
- _query_url = APIHelper.clean_url _query_builder
153
-
154
- # Prepare headers.
155
- _headers = {
156
- 'accept' => 'application/json'
157
- }
158
-
159
- # Prepare and execute HttpRequest.
160
- _request = config.http_client.delete(
161
- _query_url,
162
- headers: _headers
163
- )
164
- OAuth2.apply(config, _request)
165
- _response = execute_request(_request)
166
-
167
- # Return appropriate response type.
168
- decoded = APIHelper.json_deserialize(_response.raw_body)
169
- _errors = APIHelper.map_response(decoded, ['errors'])
170
- ApiResponse.new(
171
- _response, data: decoded, errors: _errors
172
- )
99
+ new_api_call_builder
100
+ .request(new_request_builder(HttpMethodEnum::DELETE,
101
+ '/v2/online-checkout/payment-links/{id}',
102
+ 'default')
103
+ .template_param(new_parameter(id, key: 'id')
104
+ .should_encode(true))
105
+ .header_param(new_parameter('application/json', key: 'accept'))
106
+ .auth(Single.new('global')))
107
+ .response(new_response_handler
108
+ .deserializer(APIHelper.method(:json_deserialize))
109
+ .is_api_response(true)
110
+ .convertor(ApiResponse.method(:create)))
111
+ .execute
173
112
  end
174
113
 
175
114
  # Retrieves a payment link.
176
115
  # @param [String] id Required parameter: The ID of link to retrieve.
177
116
  # @return [RetrievePaymentLinkResponse Hash] response from the API call
178
117
  def retrieve_payment_link(id:)
179
- # Prepare query url.
180
- _query_builder = config.get_base_uri
181
- _query_builder << '/v2/online-checkout/payment-links/{id}'
182
- _query_builder = APIHelper.append_url_with_template_parameters(
183
- _query_builder,
184
- 'id' => { 'value' => id, 'encode' => true }
185
- )
186
- _query_url = APIHelper.clean_url _query_builder
187
-
188
- # Prepare headers.
189
- _headers = {
190
- 'accept' => 'application/json'
191
- }
192
-
193
- # Prepare and execute HttpRequest.
194
- _request = config.http_client.get(
195
- _query_url,
196
- headers: _headers
197
- )
198
- OAuth2.apply(config, _request)
199
- _response = execute_request(_request)
200
-
201
- # Return appropriate response type.
202
- decoded = APIHelper.json_deserialize(_response.raw_body)
203
- _errors = APIHelper.map_response(decoded, ['errors'])
204
- ApiResponse.new(
205
- _response, data: decoded, errors: _errors
206
- )
118
+ new_api_call_builder
119
+ .request(new_request_builder(HttpMethodEnum::GET,
120
+ '/v2/online-checkout/payment-links/{id}',
121
+ 'default')
122
+ .template_param(new_parameter(id, key: 'id')
123
+ .should_encode(true))
124
+ .header_param(new_parameter('application/json', key: 'accept'))
125
+ .auth(Single.new('global')))
126
+ .response(new_response_handler
127
+ .deserializer(APIHelper.method(:json_deserialize))
128
+ .is_api_response(true)
129
+ .convertor(ApiResponse.method(:create)))
130
+ .execute
207
131
  end
208
132
 
209
133
  # Updates a payment link. You can update the `payment_link` fields such as
@@ -218,36 +142,22 @@ module Square
218
142
  # @return [UpdatePaymentLinkResponse Hash] response from the API call
219
143
  def update_payment_link(id:,
220
144
  body:)
221
- # Prepare query url.
222
- _query_builder = config.get_base_uri
223
- _query_builder << '/v2/online-checkout/payment-links/{id}'
224
- _query_builder = APIHelper.append_url_with_template_parameters(
225
- _query_builder,
226
- 'id' => { 'value' => id, 'encode' => true }
227
- )
228
- _query_url = APIHelper.clean_url _query_builder
229
-
230
- # Prepare headers.
231
- _headers = {
232
- 'accept' => 'application/json',
233
- 'Content-Type' => 'application/json'
234
- }
235
-
236
- # Prepare and execute HttpRequest.
237
- _request = config.http_client.put(
238
- _query_url,
239
- headers: _headers,
240
- parameters: body.to_json
241
- )
242
- OAuth2.apply(config, _request)
243
- _response = execute_request(_request)
244
-
245
- # Return appropriate response type.
246
- decoded = APIHelper.json_deserialize(_response.raw_body)
247
- _errors = APIHelper.map_response(decoded, ['errors'])
248
- ApiResponse.new(
249
- _response, data: decoded, errors: _errors
250
- )
145
+ new_api_call_builder
146
+ .request(new_request_builder(HttpMethodEnum::PUT,
147
+ '/v2/online-checkout/payment-links/{id}',
148
+ 'default')
149
+ .template_param(new_parameter(id, key: 'id')
150
+ .should_encode(true))
151
+ .header_param(new_parameter('application/json', key: 'Content-Type'))
152
+ .body_param(new_parameter(body))
153
+ .header_param(new_parameter('application/json', key: 'accept'))
154
+ .body_serializer(proc do |param| param.to_json unless param.nil? end)
155
+ .auth(Single.new('global')))
156
+ .response(new_response_handler
157
+ .deserializer(APIHelper.method(:json_deserialize))
158
+ .is_api_response(true)
159
+ .convertor(ApiResponse.method(:create)))
160
+ .execute
251
161
  end
252
162
  end
253
163
  end