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
  # TeamApi
3
3
  class TeamApi < BaseApi
4
- def initialize(config, http_call_back: nil)
5
- super(config, http_call_back: http_call_back)
6
- end
7
-
8
4
  # Creates a single `TeamMember` object. The `TeamMember` object is returned
9
5
  # on successful creates.
10
6
  # You must provide the following values in your request to this endpoint:
@@ -18,32 +14,20 @@ module Square
18
14
  # object definition for field details.
19
15
  # @return [CreateTeamMemberResponse Hash] response from the API call
20
16
  def create_team_member(body:)
21
- # Prepare query url.
22
- _query_builder = config.get_base_uri
23
- _query_builder << '/v2/team-members'
24
- _query_url = APIHelper.clean_url _query_builder
25
-
26
- # Prepare headers.
27
- _headers = {
28
- 'accept' => 'application/json',
29
- 'Content-Type' => 'application/json'
30
- }
31
-
32
- # Prepare and execute HttpRequest.
33
- _request = config.http_client.post(
34
- _query_url,
35
- headers: _headers,
36
- parameters: body.to_json
37
- )
38
- OAuth2.apply(config, _request)
39
- _response = execute_request(_request)
40
-
41
- # Return appropriate response type.
42
- decoded = APIHelper.json_deserialize(_response.raw_body)
43
- _errors = APIHelper.map_response(decoded, ['errors'])
44
- ApiResponse.new(
45
- _response, data: decoded, errors: _errors
46
- )
17
+ new_api_call_builder
18
+ .request(new_request_builder(HttpMethodEnum::POST,
19
+ '/v2/team-members',
20
+ 'default')
21
+ .header_param(new_parameter('application/json', key: 'Content-Type'))
22
+ .body_param(new_parameter(body))
23
+ .header_param(new_parameter('application/json', key: 'accept'))
24
+ .body_serializer(proc do |param| param.to_json unless param.nil? end)
25
+ .auth(Single.new('global')))
26
+ .response(new_response_handler
27
+ .deserializer(APIHelper.method(:json_deserialize))
28
+ .is_api_response(true)
29
+ .convertor(ApiResponse.method(:create)))
30
+ .execute
47
31
  end
48
32
 
49
33
  # Creates multiple `TeamMember` objects. The created `TeamMember` objects
@@ -61,32 +45,20 @@ module Square
61
45
  # object definition for field details.
62
46
  # @return [BulkCreateTeamMembersResponse Hash] response from the API call
63
47
  def bulk_create_team_members(body:)
64
- # Prepare query url.
65
- _query_builder = config.get_base_uri
66
- _query_builder << '/v2/team-members/bulk-create'
67
- _query_url = APIHelper.clean_url _query_builder
68
-
69
- # Prepare headers.
70
- _headers = {
71
- 'accept' => 'application/json',
72
- 'Content-Type' => 'application/json'
73
- }
74
-
75
- # Prepare and execute HttpRequest.
76
- _request = config.http_client.post(
77
- _query_url,
78
- headers: _headers,
79
- parameters: body.to_json
80
- )
81
- OAuth2.apply(config, _request)
82
- _response = execute_request(_request)
83
-
84
- # Return appropriate response type.
85
- decoded = APIHelper.json_deserialize(_response.raw_body)
86
- _errors = APIHelper.map_response(decoded, ['errors'])
87
- ApiResponse.new(
88
- _response, data: decoded, errors: _errors
89
- )
48
+ new_api_call_builder
49
+ .request(new_request_builder(HttpMethodEnum::POST,
50
+ '/v2/team-members/bulk-create',
51
+ 'default')
52
+ .header_param(new_parameter('application/json', key: 'Content-Type'))
53
+ .body_param(new_parameter(body))
54
+ .header_param(new_parameter('application/json', key: 'accept'))
55
+ .body_serializer(proc do |param| param.to_json unless param.nil? end)
56
+ .auth(Single.new('global')))
57
+ .response(new_response_handler
58
+ .deserializer(APIHelper.method(:json_deserialize))
59
+ .is_api_response(true)
60
+ .convertor(ApiResponse.method(:create)))
61
+ .execute
90
62
  end
91
63
 
92
64
  # Updates multiple `TeamMember` objects. The updated `TeamMember` objects
@@ -104,32 +76,20 @@ module Square
104
76
  # object definition for field details.
105
77
  # @return [BulkUpdateTeamMembersResponse Hash] response from the API call
106
78
  def bulk_update_team_members(body:)
107
- # Prepare query url.
108
- _query_builder = config.get_base_uri
109
- _query_builder << '/v2/team-members/bulk-update'
110
- _query_url = APIHelper.clean_url _query_builder
111
-
112
- # Prepare headers.
113
- _headers = {
114
- 'accept' => 'application/json',
115
- 'Content-Type' => 'application/json'
116
- }
117
-
118
- # Prepare and execute HttpRequest.
119
- _request = config.http_client.post(
120
- _query_url,
121
- headers: _headers,
122
- parameters: body.to_json
123
- )
124
- OAuth2.apply(config, _request)
125
- _response = execute_request(_request)
126
-
127
- # Return appropriate response type.
128
- decoded = APIHelper.json_deserialize(_response.raw_body)
129
- _errors = APIHelper.map_response(decoded, ['errors'])
130
- ApiResponse.new(
131
- _response, data: decoded, errors: _errors
132
- )
79
+ new_api_call_builder
80
+ .request(new_request_builder(HttpMethodEnum::POST,
81
+ '/v2/team-members/bulk-update',
82
+ 'default')
83
+ .header_param(new_parameter('application/json', key: 'Content-Type'))
84
+ .body_param(new_parameter(body))
85
+ .header_param(new_parameter('application/json', key: 'accept'))
86
+ .body_serializer(proc do |param| param.to_json unless param.nil? end)
87
+ .auth(Single.new('global')))
88
+ .response(new_response_handler
89
+ .deserializer(APIHelper.method(:json_deserialize))
90
+ .is_api_response(true)
91
+ .convertor(ApiResponse.method(:create)))
92
+ .execute
133
93
  end
134
94
 
135
95
  # Returns a paginated list of `TeamMember` objects for a business.
@@ -141,32 +101,20 @@ module Square
141
101
  # object definition for field details.
142
102
  # @return [SearchTeamMembersResponse Hash] response from the API call
143
103
  def search_team_members(body:)
144
- # Prepare query url.
145
- _query_builder = config.get_base_uri
146
- _query_builder << '/v2/team-members/search'
147
- _query_url = APIHelper.clean_url _query_builder
148
-
149
- # Prepare headers.
150
- _headers = {
151
- 'accept' => 'application/json',
152
- 'Content-Type' => 'application/json'
153
- }
154
-
155
- # Prepare and execute HttpRequest.
156
- _request = config.http_client.post(
157
- _query_url,
158
- headers: _headers,
159
- parameters: body.to_json
160
- )
161
- OAuth2.apply(config, _request)
162
- _response = execute_request(_request)
163
-
164
- # Return appropriate response type.
165
- decoded = APIHelper.json_deserialize(_response.raw_body)
166
- _errors = APIHelper.map_response(decoded, ['errors'])
167
- ApiResponse.new(
168
- _response, data: decoded, errors: _errors
169
- )
104
+ new_api_call_builder
105
+ .request(new_request_builder(HttpMethodEnum::POST,
106
+ '/v2/team-members/search',
107
+ 'default')
108
+ .header_param(new_parameter('application/json', key: 'Content-Type'))
109
+ .body_param(new_parameter(body))
110
+ .header_param(new_parameter('application/json', key: 'accept'))
111
+ .body_serializer(proc do |param| param.to_json unless param.nil? end)
112
+ .auth(Single.new('global')))
113
+ .response(new_response_handler
114
+ .deserializer(APIHelper.method(:json_deserialize))
115
+ .is_api_response(true)
116
+ .convertor(ApiResponse.method(:create)))
117
+ .execute
170
118
  end
171
119
 
172
120
  # Retrieves a `TeamMember` object for the given `TeamMember.id`.
@@ -177,34 +125,19 @@ module Square
177
125
  # member to retrieve.
178
126
  # @return [RetrieveTeamMemberResponse Hash] response from the API call
179
127
  def retrieve_team_member(team_member_id:)
180
- # Prepare query url.
181
- _query_builder = config.get_base_uri
182
- _query_builder << '/v2/team-members/{team_member_id}'
183
- _query_builder = APIHelper.append_url_with_template_parameters(
184
- _query_builder,
185
- 'team_member_id' => { 'value' => team_member_id, 'encode' => true }
186
- )
187
- _query_url = APIHelper.clean_url _query_builder
188
-
189
- # Prepare headers.
190
- _headers = {
191
- 'accept' => 'application/json'
192
- }
193
-
194
- # Prepare and execute HttpRequest.
195
- _request = config.http_client.get(
196
- _query_url,
197
- headers: _headers
198
- )
199
- OAuth2.apply(config, _request)
200
- _response = execute_request(_request)
201
-
202
- # Return appropriate response type.
203
- decoded = APIHelper.json_deserialize(_response.raw_body)
204
- _errors = APIHelper.map_response(decoded, ['errors'])
205
- ApiResponse.new(
206
- _response, data: decoded, errors: _errors
207
- )
128
+ new_api_call_builder
129
+ .request(new_request_builder(HttpMethodEnum::GET,
130
+ '/v2/team-members/{team_member_id}',
131
+ 'default')
132
+ .template_param(new_parameter(team_member_id, key: 'team_member_id')
133
+ .should_encode(true))
134
+ .header_param(new_parameter('application/json', key: 'accept'))
135
+ .auth(Single.new('global')))
136
+ .response(new_response_handler
137
+ .deserializer(APIHelper.method(:json_deserialize))
138
+ .is_api_response(true)
139
+ .convertor(ApiResponse.method(:create)))
140
+ .execute
208
141
  end
209
142
 
210
143
  # Updates a single `TeamMember` object. The `TeamMember` object is returned
@@ -220,36 +153,22 @@ module Square
220
153
  # @return [UpdateTeamMemberResponse Hash] response from the API call
221
154
  def update_team_member(team_member_id:,
222
155
  body:)
223
- # Prepare query url.
224
- _query_builder = config.get_base_uri
225
- _query_builder << '/v2/team-members/{team_member_id}'
226
- _query_builder = APIHelper.append_url_with_template_parameters(
227
- _query_builder,
228
- 'team_member_id' => { 'value' => team_member_id, 'encode' => true }
229
- )
230
- _query_url = APIHelper.clean_url _query_builder
231
-
232
- # Prepare headers.
233
- _headers = {
234
- 'accept' => 'application/json',
235
- 'Content-Type' => 'application/json'
236
- }
237
-
238
- # Prepare and execute HttpRequest.
239
- _request = config.http_client.put(
240
- _query_url,
241
- headers: _headers,
242
- parameters: body.to_json
243
- )
244
- OAuth2.apply(config, _request)
245
- _response = execute_request(_request)
246
-
247
- # Return appropriate response type.
248
- decoded = APIHelper.json_deserialize(_response.raw_body)
249
- _errors = APIHelper.map_response(decoded, ['errors'])
250
- ApiResponse.new(
251
- _response, data: decoded, errors: _errors
252
- )
156
+ new_api_call_builder
157
+ .request(new_request_builder(HttpMethodEnum::PUT,
158
+ '/v2/team-members/{team_member_id}',
159
+ 'default')
160
+ .template_param(new_parameter(team_member_id, key: 'team_member_id')
161
+ .should_encode(true))
162
+ .header_param(new_parameter('application/json', key: 'Content-Type'))
163
+ .body_param(new_parameter(body))
164
+ .header_param(new_parameter('application/json', key: 'accept'))
165
+ .body_serializer(proc do |param| param.to_json unless param.nil? end)
166
+ .auth(Single.new('global')))
167
+ .response(new_response_handler
168
+ .deserializer(APIHelper.method(:json_deserialize))
169
+ .is_api_response(true)
170
+ .convertor(ApiResponse.method(:create)))
171
+ .execute
253
172
  end
254
173
 
255
174
  # Retrieves a `WageSetting` object for a team member specified
@@ -261,34 +180,19 @@ module Square
261
180
  # member for which to retrieve the wage setting.
262
181
  # @return [RetrieveWageSettingResponse Hash] response from the API call
263
182
  def retrieve_wage_setting(team_member_id:)
264
- # Prepare query url.
265
- _query_builder = config.get_base_uri
266
- _query_builder << '/v2/team-members/{team_member_id}/wage-setting'
267
- _query_builder = APIHelper.append_url_with_template_parameters(
268
- _query_builder,
269
- 'team_member_id' => { 'value' => team_member_id, 'encode' => true }
270
- )
271
- _query_url = APIHelper.clean_url _query_builder
272
-
273
- # Prepare headers.
274
- _headers = {
275
- 'accept' => 'application/json'
276
- }
277
-
278
- # Prepare and execute HttpRequest.
279
- _request = config.http_client.get(
280
- _query_url,
281
- headers: _headers
282
- )
283
- OAuth2.apply(config, _request)
284
- _response = execute_request(_request)
285
-
286
- # Return appropriate response type.
287
- decoded = APIHelper.json_deserialize(_response.raw_body)
288
- _errors = APIHelper.map_response(decoded, ['errors'])
289
- ApiResponse.new(
290
- _response, data: decoded, errors: _errors
291
- )
183
+ new_api_call_builder
184
+ .request(new_request_builder(HttpMethodEnum::GET,
185
+ '/v2/team-members/{team_member_id}/wage-setting',
186
+ 'default')
187
+ .template_param(new_parameter(team_member_id, key: 'team_member_id')
188
+ .should_encode(true))
189
+ .header_param(new_parameter('application/json', key: 'accept'))
190
+ .auth(Single.new('global')))
191
+ .response(new_response_handler
192
+ .deserializer(APIHelper.method(:json_deserialize))
193
+ .is_api_response(true)
194
+ .convertor(ApiResponse.method(:create)))
195
+ .execute
292
196
  end
293
197
 
294
198
  # Creates or updates a `WageSetting` object. The object is created if a
@@ -307,36 +211,22 @@ module Square
307
211
  # @return [UpdateWageSettingResponse Hash] response from the API call
308
212
  def update_wage_setting(team_member_id:,
309
213
  body:)
310
- # Prepare query url.
311
- _query_builder = config.get_base_uri
312
- _query_builder << '/v2/team-members/{team_member_id}/wage-setting'
313
- _query_builder = APIHelper.append_url_with_template_parameters(
314
- _query_builder,
315
- 'team_member_id' => { 'value' => team_member_id, 'encode' => true }
316
- )
317
- _query_url = APIHelper.clean_url _query_builder
318
-
319
- # Prepare headers.
320
- _headers = {
321
- 'accept' => 'application/json',
322
- 'Content-Type' => 'application/json'
323
- }
324
-
325
- # Prepare and execute HttpRequest.
326
- _request = config.http_client.put(
327
- _query_url,
328
- headers: _headers,
329
- parameters: body.to_json
330
- )
331
- OAuth2.apply(config, _request)
332
- _response = execute_request(_request)
333
-
334
- # Return appropriate response type.
335
- decoded = APIHelper.json_deserialize(_response.raw_body)
336
- _errors = APIHelper.map_response(decoded, ['errors'])
337
- ApiResponse.new(
338
- _response, data: decoded, errors: _errors
339
- )
214
+ new_api_call_builder
215
+ .request(new_request_builder(HttpMethodEnum::PUT,
216
+ '/v2/team-members/{team_member_id}/wage-setting',
217
+ 'default')
218
+ .template_param(new_parameter(team_member_id, key: 'team_member_id')
219
+ .should_encode(true))
220
+ .header_param(new_parameter('application/json', key: 'Content-Type'))
221
+ .body_param(new_parameter(body))
222
+ .header_param(new_parameter('application/json', key: 'accept'))
223
+ .body_serializer(proc do |param| param.to_json unless param.nil? end)
224
+ .auth(Single.new('global')))
225
+ .response(new_response_handler
226
+ .deserializer(APIHelper.method(:json_deserialize))
227
+ .is_api_response(true)
228
+ .convertor(ApiResponse.method(:create)))
229
+ .execute
340
230
  end
341
231
  end
342
232
  end