square.rb 44.1.0.20250924 → 45.0.1.20260122

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (541) hide show
  1. checksums.yaml +4 -4
  2. data/.fern/metadata.json +9 -0
  3. data/.fernignore +20 -0
  4. data/.rubocop.yml +60 -0
  5. data/LICENSE +1 -1
  6. data/Rakefile +29 -0
  7. data/custom.gemspec.rb +19 -0
  8. data/lib/square/apple_pay/client.rb +24 -10
  9. data/lib/square/bank_accounts/client.rb +144 -31
  10. data/lib/square/bank_accounts/types/create_bank_account_request.rb +13 -0
  11. data/lib/square/bank_accounts/types/disable_bank_account_request.rb +11 -0
  12. data/lib/square/bank_accounts/types/get_by_v_1_id_bank_accounts_request.rb +1 -1
  13. data/lib/square/bank_accounts/types/list_bank_accounts_request.rb +1 -0
  14. data/lib/square/bookings/client.rb +238 -100
  15. data/lib/square/bookings/custom_attribute_definitions/client.rb +139 -67
  16. data/lib/square/bookings/custom_attribute_definitions/types/create_booking_custom_attribute_definition_request.rb +1 -3
  17. data/lib/square/bookings/custom_attribute_definitions/types/update_booking_custom_attribute_definition_request.rb +1 -3
  18. data/lib/square/bookings/custom_attributes/client.rb +168 -76
  19. data/lib/square/bookings/custom_attributes/types/bulk_delete_booking_custom_attributes_request.rb +1 -3
  20. data/lib/square/bookings/custom_attributes/types/bulk_upsert_booking_custom_attributes_request.rb +1 -3
  21. data/lib/square/bookings/location_profiles/client.rb +44 -24
  22. data/lib/square/bookings/team_member_profiles/client.rb +66 -31
  23. data/lib/square/cards/client.rb +103 -45
  24. data/lib/square/cash_drawers/client.rb +3 -1
  25. data/lib/square/cash_drawers/shifts/client.rb +121 -61
  26. data/lib/square/catalog/client.rb +203 -91
  27. data/lib/square/catalog/images/client.rb +50 -20
  28. data/lib/square/catalog/object/client.rb +66 -29
  29. data/lib/square/catalog/object/types/delete_object_request.rb +1 -1
  30. data/lib/square/catalog/object/types/get_object_request.rb +1 -1
  31. data/lib/square/catalog/types/batch_upsert_catalog_objects_request.rb +1 -3
  32. data/lib/square/catalog/types/search_catalog_items_request.rb +3 -9
  33. data/lib/square/catalog/types/search_catalog_objects_request.rb +1 -3
  34. data/lib/square/channels/client.rb +131 -0
  35. data/lib/square/channels/types/bulk_retrieve_channels_request.rb +11 -0
  36. data/lib/square/channels/types/get_channels_request.rb +11 -0
  37. data/lib/square/channels/types/list_channels_request.rb +15 -0
  38. data/lib/square/checkout/client.rb +77 -31
  39. data/lib/square/checkout/payment_links/client.rb +120 -54
  40. data/lib/square/client.rb +18 -10
  41. data/lib/square/customers/cards/client.rb +43 -16
  42. data/lib/square/customers/client.rb +220 -97
  43. data/lib/square/customers/custom_attribute_definitions/client.rb +157 -74
  44. data/lib/square/customers/custom_attribute_definitions/types/batch_upsert_customer_custom_attributes_request.rb +1 -3
  45. data/lib/square/customers/custom_attribute_definitions/types/create_customer_custom_attribute_definition_request.rb +1 -3
  46. data/lib/square/customers/custom_attribute_definitions/types/update_customer_custom_attribute_definition_request.rb +1 -3
  47. data/lib/square/customers/custom_attributes/client.rb +117 -53
  48. data/lib/square/customers/groups/client.rb +156 -67
  49. data/lib/square/customers/segments/client.rb +62 -31
  50. data/lib/square/customers/types/bulk_create_customers_request.rb +1 -3
  51. data/lib/square/customers/types/bulk_update_customers_request.rb +1 -3
  52. data/lib/square/devices/client.rb +66 -31
  53. data/lib/square/devices/codes/client.rb +83 -38
  54. data/lib/square/disputes/client.rb +140 -60
  55. data/lib/square/disputes/evidence/client.rb +83 -39
  56. data/lib/square/employees/client.rb +66 -31
  57. data/lib/square/events/client.rb +80 -38
  58. data/lib/square/file_param.rb +77 -77
  59. data/lib/square/gift_cards/activities/client.rb +73 -31
  60. data/lib/square/gift_cards/client.rb +163 -69
  61. data/lib/square/internal/http/base_request.rb +6 -0
  62. data/lib/square/internal/http/raw_client.rb +111 -20
  63. data/lib/square/internal/iterators/cursor_item_iterator.rb +28 -0
  64. data/lib/square/internal/iterators/cursor_page_iterator.rb +51 -0
  65. data/lib/square/internal/iterators/item_iterator.rb +65 -0
  66. data/lib/square/internal/iterators/offset_item_iterator.rb +30 -0
  67. data/lib/square/internal/iterators/offset_page_iterator.rb +83 -0
  68. data/lib/square/internal/json/request.rb +2 -1
  69. data/lib/square/internal/multipart/multipart_request.rb +2 -1
  70. data/lib/square/internal/types/enum.rb +8 -0
  71. data/lib/square/internal/types/model/field.rb +11 -1
  72. data/lib/square/internal/types/model.rb +14 -4
  73. data/lib/square/internal/types/union.rb +88 -7
  74. data/lib/square/internal/types/utils.rb +20 -4
  75. data/lib/square/inventory/client.rb +100 -76
  76. data/lib/square/invoices/client.rb +228 -99
  77. data/lib/square/labor/break_types/client.rb +120 -53
  78. data/lib/square/labor/client.rb +205 -81
  79. data/lib/square/labor/employee_wages/client.rb +64 -31
  80. data/lib/square/labor/shifts/client.rb +94 -37
  81. data/lib/square/labor/team_member_wages/client.rb +64 -31
  82. data/lib/square/labor/types/bulk_publish_scheduled_shifts_request.rb +2 -6
  83. data/lib/square/labor/types/publish_scheduled_shift_request.rb +1 -3
  84. data/lib/square/labor/workweek_configs/client.rb +65 -32
  85. data/lib/square/locations/client.rb +102 -41
  86. data/lib/square/locations/custom_attribute_definitions/client.rb +135 -64
  87. data/lib/square/locations/custom_attribute_definitions/types/create_location_custom_attribute_definition_request.rb +1 -3
  88. data/lib/square/locations/custom_attribute_definitions/types/update_location_custom_attribute_definition_request.rb +1 -3
  89. data/lib/square/locations/custom_attributes/client.rb +156 -68
  90. data/lib/square/locations/custom_attributes/types/bulk_delete_location_custom_attributes_request.rb +1 -3
  91. data/lib/square/locations/custom_attributes/types/bulk_upsert_location_custom_attributes_request.rb +1 -3
  92. data/lib/square/locations/transactions/client.rb +93 -37
  93. data/lib/square/locations/types/create_checkout_request.rb +1 -3
  94. data/lib/square/loyalty/accounts/client.rb +109 -44
  95. data/lib/square/loyalty/accounts/types/search_loyalty_accounts_request.rb +1 -3
  96. data/lib/square/loyalty/client.rb +20 -8
  97. data/lib/square/loyalty/programs/client.rb +72 -29
  98. data/lib/square/loyalty/programs/promotions/client.rb +106 -46
  99. data/lib/square/loyalty/programs/promotions/types/cancel_promotions_request.rb +1 -1
  100. data/lib/square/loyalty/programs/promotions/types/get_promotions_request.rb +1 -1
  101. data/lib/square/loyalty/rewards/client.rb +96 -38
  102. data/lib/square/loyalty/rewards/types/search_loyalty_rewards_request.rb +1 -3
  103. data/lib/square/merchants/client.rb +60 -31
  104. data/lib/square/merchants/custom_attribute_definitions/client.rb +137 -65
  105. data/lib/square/merchants/custom_attribute_definitions/types/create_merchant_custom_attribute_definition_request.rb +1 -3
  106. data/lib/square/merchants/custom_attribute_definitions/types/update_merchant_custom_attribute_definition_request.rb +1 -3
  107. data/lib/square/merchants/custom_attributes/client.rb +156 -68
  108. data/lib/square/merchants/custom_attributes/types/bulk_delete_merchant_custom_attributes_request.rb +1 -3
  109. data/lib/square/merchants/custom_attributes/types/bulk_upsert_merchant_custom_attributes_request.rb +1 -3
  110. data/lib/square/o_auth/client.rb +76 -31
  111. data/lib/square/o_auth/types/obtain_token_request.rb +1 -0
  112. data/lib/square/orders/client.rb +156 -63
  113. data/lib/square/orders/custom_attribute_definitions/client.rb +137 -65
  114. data/lib/square/orders/custom_attribute_definitions/types/create_order_custom_attribute_definition_request.rb +1 -3
  115. data/lib/square/orders/custom_attribute_definitions/types/update_order_custom_attribute_definition_request.rb +1 -3
  116. data/lib/square/orders/custom_attributes/client.rb +159 -69
  117. data/lib/square/orders/custom_attributes/types/bulk_delete_order_custom_attributes_request.rb +1 -3
  118. data/lib/square/orders/custom_attributes/types/bulk_upsert_order_custom_attributes_request.rb +1 -3
  119. data/lib/square/orders/types/calculate_order_request.rb +1 -3
  120. data/lib/square/payments/client.rb +182 -70
  121. data/lib/square/payouts/client.rb +116 -54
  122. data/lib/square/refunds/client.rb +97 -40
  123. data/lib/square/refunds/types/refund_payment_request.rb +1 -3
  124. data/lib/square/sites/client.rb +26 -11
  125. data/lib/square/snippets/client.rb +73 -28
  126. data/lib/square/subscriptions/client.rb +271 -117
  127. data/lib/square/team/client.rb +81 -36
  128. data/lib/square/team_members/client.rb +119 -49
  129. data/lib/square/team_members/types/batch_create_team_members_request.rb +1 -3
  130. data/lib/square/team_members/types/batch_update_team_members_request.rb +1 -3
  131. data/lib/square/team_members/wage_setting/client.rb +48 -19
  132. data/lib/square/terminal/actions/client.rb +75 -30
  133. data/lib/square/terminal/checkouts/client.rb +76 -30
  134. data/lib/square/terminal/client.rb +60 -23
  135. data/lib/square/terminal/refunds/client.rb +78 -31
  136. data/lib/square/transfer_orders/client.rb +292 -0
  137. data/lib/square/transfer_orders/types/cancel_transfer_order_request.rb +13 -0
  138. data/lib/square/transfer_orders/types/create_transfer_order_request.rb +12 -0
  139. data/lib/square/transfer_orders/types/delete_transfer_orders_request.rb +12 -0
  140. data/lib/square/transfer_orders/types/get_transfer_orders_request.rb +11 -0
  141. data/lib/square/transfer_orders/types/receive_transfer_order_request.rb +14 -0
  142. data/lib/square/transfer_orders/types/search_transfer_orders_request.rb +13 -0
  143. data/lib/square/transfer_orders/types/start_transfer_order_request.rb +13 -0
  144. data/lib/square/transfer_orders/types/update_transfer_order_request.rb +14 -0
  145. data/lib/square/types/address.rb +2 -1
  146. data/lib/square/types/application_details.rb +1 -3
  147. data/lib/square/types/application_type.rb +23 -0
  148. data/lib/square/types/availability.rb +3 -4
  149. data/lib/square/types/bank_account.rb +1 -0
  150. data/lib/square/types/batch_create_team_members_response.rb +1 -3
  151. data/lib/square/types/batch_create_vendors_response.rb +1 -3
  152. data/lib/square/types/batch_get_catalog_objects_response.rb +1 -3
  153. data/lib/square/types/batch_get_vendors_response.rb +1 -3
  154. data/lib/square/types/batch_update_team_members_response.rb +1 -3
  155. data/lib/square/types/batch_update_vendors_response.rb +1 -3
  156. data/lib/square/types/batch_upsert_catalog_objects_response.rb +1 -3
  157. data/lib/square/types/batch_upsert_customer_custom_attributes_request_customer_custom_attribute_upsert_request.rb +2 -1
  158. data/lib/square/types/batch_upsert_customer_custom_attributes_response.rb +4 -4
  159. data/lib/square/types/batch_upsert_customer_custom_attributes_response_customer_custom_attribute_upsert_response.rb +3 -1
  160. data/lib/square/types/booking.rb +2 -6
  161. data/lib/square/types/booking_created_event.rb +2 -1
  162. data/lib/square/types/booking_custom_attribute_definition_visible_created_event.rb +2 -1
  163. data/lib/square/types/booking_custom_attribute_definition_visible_deleted_event.rb +2 -1
  164. data/lib/square/types/booking_custom_attribute_definition_visible_updated_event.rb +2 -1
  165. data/lib/square/types/booking_custom_attribute_delete_request.rb +4 -2
  166. data/lib/square/types/booking_custom_attribute_delete_response.rb +3 -1
  167. data/lib/square/types/booking_custom_attribute_upsert_request.rb +2 -1
  168. data/lib/square/types/booking_custom_attribute_upsert_response.rb +3 -1
  169. data/lib/square/types/booking_updated_event.rb +2 -1
  170. data/lib/square/types/bulk_create_customers_response.rb +1 -3
  171. data/lib/square/types/bulk_delete_booking_custom_attributes_response.rb +4 -4
  172. data/lib/square/types/bulk_delete_customers_response.rb +1 -3
  173. data/lib/square/types/bulk_delete_location_custom_attributes_request_location_custom_attribute_delete_request.rb +2 -1
  174. data/lib/square/types/bulk_delete_location_custom_attributes_response.rb +4 -4
  175. data/lib/square/types/bulk_delete_location_custom_attributes_response_location_custom_attribute_delete_response.rb +2 -1
  176. data/lib/square/types/bulk_delete_merchant_custom_attributes_request_merchant_custom_attribute_delete_request.rb +2 -1
  177. data/lib/square/types/bulk_delete_merchant_custom_attributes_response.rb +4 -4
  178. data/lib/square/types/bulk_delete_merchant_custom_attributes_response_merchant_custom_attribute_delete_response.rb +2 -1
  179. data/lib/square/types/bulk_delete_order_custom_attributes_response.rb +1 -3
  180. data/lib/square/types/bulk_publish_scheduled_shifts_response.rb +1 -3
  181. data/lib/square/types/bulk_retrieve_bookings_response.rb +1 -3
  182. data/lib/square/types/bulk_retrieve_channels_request_constants.rb +23 -0
  183. data/lib/square/types/bulk_retrieve_channels_response.rb +12 -0
  184. data/lib/square/types/bulk_retrieve_customers_response.rb +1 -3
  185. data/lib/square/types/bulk_retrieve_team_member_booking_profiles_response.rb +3 -4
  186. data/lib/square/types/bulk_update_customers_response.rb +1 -3
  187. data/lib/square/types/bulk_upsert_booking_custom_attributes_response.rb +4 -4
  188. data/lib/square/types/bulk_upsert_location_custom_attributes_request_location_custom_attribute_upsert_request.rb +2 -1
  189. data/lib/square/types/bulk_upsert_location_custom_attributes_response.rb +4 -4
  190. data/lib/square/types/bulk_upsert_location_custom_attributes_response_location_custom_attribute_upsert_response.rb +3 -1
  191. data/lib/square/types/bulk_upsert_merchant_custom_attributes_request_merchant_custom_attribute_upsert_request.rb +2 -1
  192. data/lib/square/types/bulk_upsert_merchant_custom_attributes_response.rb +4 -4
  193. data/lib/square/types/bulk_upsert_merchant_custom_attributes_response_merchant_custom_attribute_upsert_response.rb +3 -1
  194. data/lib/square/types/bulk_upsert_order_custom_attributes_response.rb +1 -3
  195. data/lib/square/types/business_appointment_settings.rb +4 -12
  196. data/lib/square/types/business_booking_profile.rb +2 -6
  197. data/lib/square/types/buy_now_pay_later_details.rb +1 -0
  198. data/lib/square/types/cancel_transfer_order_response.rb +11 -0
  199. data/lib/square/types/card.rb +2 -0
  200. data/lib/square/types/card_issuer_alert.rb +23 -0
  201. data/lib/square/types/catalog_category.rb +1 -3
  202. data/lib/square/types/catalog_custom_attribute_definition.rb +6 -18
  203. data/lib/square/types/catalog_custom_attribute_definition_selection_config.rb +1 -3
  204. data/lib/square/types/catalog_id_mapping.rb +1 -1
  205. data/lib/square/types/catalog_info_response.rb +1 -3
  206. data/lib/square/types/catalog_item.rb +6 -12
  207. data/lib/square/types/catalog_item_food_and_beverage_details.rb +2 -6
  208. data/lib/square/types/catalog_item_food_and_beverage_details_dietary_preference.rb +2 -6
  209. data/lib/square/types/catalog_item_food_and_beverage_details_ingredient.rb +2 -6
  210. data/lib/square/types/catalog_item_modifier_list_info.rb +6 -9
  211. data/lib/square/types/catalog_item_variation.rb +17 -13
  212. data/lib/square/types/catalog_modifier.rb +4 -4
  213. data/lib/square/types/catalog_modifier_list.rb +4 -2
  214. data/lib/square/types/catalog_modifier_override.rb +2 -2
  215. data/lib/square/types/catalog_modifier_toggle_override_type.rb +13 -0
  216. data/lib/square/types/catalog_object.rb +7 -3
  217. data/lib/square/types/catalog_object_base.rb +2 -4
  218. data/lib/square/types/catalog_object_category.rb +3 -4
  219. data/lib/square/types/catalog_object_custom_attribute_definition.rb +1 -3
  220. data/lib/square/types/catalog_object_quick_amounts_settings.rb +1 -3
  221. data/lib/square/types/catalog_object_reference.rb +1 -1
  222. data/lib/square/types/catalog_object_subscription_plan_variation.rb +1 -3
  223. data/lib/square/types/catalog_query.rb +11 -13
  224. data/lib/square/types/catalog_query_prefix.rb +2 -1
  225. data/lib/square/types/catalog_query_text.rb +2 -1
  226. data/lib/square/types/catalog_subscription_plan.rb +5 -5
  227. data/lib/square/types/catalog_subscription_plan_variation.rb +4 -2
  228. data/lib/square/types/catalog_v_1_id.rb +1 -1
  229. data/lib/square/types/catalog_version_updated_event_object.rb +1 -3
  230. data/lib/square/types/channel.rb +16 -0
  231. data/lib/square/types/channel_status.rb +12 -0
  232. data/lib/square/types/checkout.rb +1 -3
  233. data/lib/square/types/checkout_location_settings.rb +1 -3
  234. data/lib/square/types/checkout_location_settings_branding.rb +2 -6
  235. data/lib/square/types/checkout_merchant_settings.rb +1 -3
  236. data/lib/square/types/checkout_merchant_settings_payment_methods.rb +4 -12
  237. data/lib/square/types/checkout_merchant_settings_payment_methods_afterpay_clearpay.rb +2 -6
  238. data/lib/square/types/component.rb +4 -12
  239. data/lib/square/types/create_bank_account_response.rb +11 -0
  240. data/lib/square/types/create_booking_custom_attribute_definition_response.rb +4 -4
  241. data/lib/square/types/create_catalog_image_request.rb +1 -1
  242. data/lib/square/types/create_customer_custom_attribute_definition_response.rb +4 -4
  243. data/lib/square/types/create_location_custom_attribute_definition_response.rb +4 -4
  244. data/lib/square/types/create_merchant_custom_attribute_definition_response.rb +4 -4
  245. data/lib/square/types/create_order_custom_attribute_definition_response.rb +1 -3
  246. data/lib/square/types/create_transfer_order_data.rb +19 -0
  247. data/lib/square/types/create_transfer_order_line_data.rb +12 -0
  248. data/lib/square/types/create_transfer_order_response.rb +11 -0
  249. data/lib/square/types/create_webhook_subscription_response.rb +2 -1
  250. data/lib/square/types/custom_attribute.rb +1 -1
  251. data/lib/square/types/custom_attribute_definition.rb +1 -3
  252. data/lib/square/types/custom_attribute_definition_event_data_object.rb +1 -3
  253. data/lib/square/types/custom_field.rb +2 -1
  254. data/lib/square/types/customer_address_filter.rb +2 -1
  255. data/lib/square/types/customer_created_event.rb +4 -2
  256. data/lib/square/types/customer_created_event_event_context_merge.rb +2 -1
  257. data/lib/square/types/customer_creation_source_filter.rb +1 -3
  258. data/lib/square/types/customer_custom_attribute_filter.rb +2 -1
  259. data/lib/square/types/customer_custom_attribute_filter_value.rb +2 -1
  260. data/lib/square/types/customer_custom_attribute_filters.rb +7 -6
  261. data/lib/square/types/customer_custom_attribute_visible_updated_event.rb +6 -3
  262. data/lib/square/types/customer_deleted_event.rb +4 -2
  263. data/lib/square/types/customer_deleted_event_event_context_merge.rb +2 -1
  264. data/lib/square/types/customer_tax_ids.rb +4 -2
  265. data/lib/square/types/customer_updated_event.rb +4 -2
  266. data/lib/square/types/delete_booking_custom_attribute_definition_response.rb +5 -2
  267. data/lib/square/types/delete_booking_custom_attribute_response.rb +2 -1
  268. data/lib/square/types/delete_customer_custom_attribute_response.rb +2 -1
  269. data/lib/square/types/delete_location_custom_attribute_response.rb +2 -1
  270. data/lib/square/types/delete_merchant_custom_attribute_response.rb +2 -1
  271. data/lib/square/types/delete_subscription_action_response.rb +2 -1
  272. data/lib/square/types/delete_transfer_order_response.rb +10 -0
  273. data/lib/square/types/delete_webhook_subscription_response.rb +2 -1
  274. data/lib/square/types/destination_details.rb +1 -3
  275. data/lib/square/types/device_checkout_options.rb +1 -0
  276. data/lib/square/types/device_component_details_ethernet_details.rb +1 -1
  277. data/lib/square/types/device_component_details_wi_fi_details.rb +1 -1
  278. data/lib/square/types/digital_wallet_details.rb +1 -0
  279. data/lib/square/types/disable_bank_account_response.rb +11 -0
  280. data/lib/square/types/dispute.rb +2 -1
  281. data/lib/square/types/dispute_evidence_added_event.rb +2 -1
  282. data/lib/square/types/dispute_evidence_created_event.rb +2 -1
  283. data/lib/square/types/employee_wage.rb +2 -1
  284. data/lib/square/types/error_code.rb +2 -0
  285. data/lib/square/types/event_data.rb +1 -3
  286. data/lib/square/types/fulfillment.rb +4 -7
  287. data/lib/square/types/fulfillment_delivery_details.rb +1 -3
  288. data/lib/square/types/fulfillment_pickup_details.rb +1 -3
  289. data/lib/square/types/get_bank_account_response.rb +1 -1
  290. data/lib/square/types/get_booking_request.rb +23 -0
  291. data/lib/square/types/get_business_booking_profile_request.rb +23 -0
  292. data/lib/square/types/get_card_request.rb +23 -0
  293. data/lib/square/types/get_catalog_object_response.rb +1 -3
  294. data/lib/square/types/get_customer_custom_attribute_definition_response.rb +4 -4
  295. data/lib/square/types/get_customer_custom_attribute_response.rb +2 -1
  296. data/lib/square/types/get_customer_group_request.rb +23 -0
  297. data/lib/square/types/get_customer_request.rb +23 -0
  298. data/lib/square/types/get_customer_segment_request.rb +23 -0
  299. data/lib/square/types/get_dispute_evidence_request.rb +23 -0
  300. data/lib/square/types/get_dispute_request.rb +23 -0
  301. data/lib/square/types/get_employee_request.rb +23 -0
  302. data/lib/square/types/get_gift_card_request.rb +23 -0
  303. data/lib/square/types/get_inventory_adjustment_request.rb +23 -0
  304. data/lib/square/types/get_inventory_physical_count_request.rb +23 -0
  305. data/lib/square/types/get_inventory_transfer_request.rb +23 -0
  306. data/lib/square/types/get_location_request.rb +23 -0
  307. data/lib/square/types/get_loyalty_account_request.rb +23 -0
  308. data/lib/square/types/get_loyalty_program_request.rb +23 -0
  309. data/lib/square/types/get_loyalty_promotion_request.rb +23 -0
  310. data/lib/square/types/get_loyalty_reward_request.rb +23 -0
  311. data/lib/square/types/get_merchant_request.rb +23 -0
  312. data/lib/square/types/get_order_request.rb +23 -0
  313. data/lib/square/types/get_payment_link_request.rb +23 -0
  314. data/lib/square/types/get_snippet_request.rb +23 -0
  315. data/lib/square/types/get_team_member_booking_profile_request.rb +23 -0
  316. data/lib/square/types/get_team_member_booking_profile_response.rb +1 -3
  317. data/lib/square/types/get_team_member_request.rb +23 -0
  318. data/lib/square/types/get_transaction_request.rb +23 -0
  319. data/lib/square/types/get_vendor_request.rb +23 -0
  320. data/lib/square/types/get_wage_setting_request.rb +23 -0
  321. data/lib/square/types/get_webhook_subscription_request.rb +23 -0
  322. data/lib/square/types/get_webhook_subscription_response.rb +2 -1
  323. data/lib/square/types/gift_card_activity.rb +8 -24
  324. data/lib/square/types/gift_card_activity_block_reason.rb +23 -0
  325. data/lib/square/types/gift_card_activity_unblock_reason.rb +23 -0
  326. data/lib/square/types/gift_card_activity_updated_event.rb +2 -1
  327. data/lib/square/types/inventory_count_updated_event_object.rb +1 -3
  328. data/lib/square/types/invoice.rb +6 -13
  329. data/lib/square/types/invoice_accepted_payment_methods.rb +2 -1
  330. data/lib/square/types/invoice_attachment.rb +1 -1
  331. data/lib/square/types/invoice_custom_field.rb +2 -1
  332. data/lib/square/types/invoice_payment_made_event.rb +2 -1
  333. data/lib/square/types/invoice_payment_request.rb +6 -8
  334. data/lib/square/types/invoice_refunded_event.rb +2 -1
  335. data/lib/square/types/invoice_sort_field.rb +23 -0
  336. data/lib/square/types/labor_scheduled_shift_created_event_object.rb +1 -1
  337. data/lib/square/types/labor_scheduled_shift_published_event_object.rb +1 -1
  338. data/lib/square/types/labor_scheduled_shift_updated_event_object.rb +1 -1
  339. data/lib/square/types/list_bank_accounts_response.rb +1 -1
  340. data/lib/square/types/list_booking_custom_attribute_definitions_response.rb +4 -4
  341. data/lib/square/types/list_booking_custom_attributes_response.rb +3 -4
  342. data/lib/square/types/list_cash_drawer_shift_events_response.rb +1 -3
  343. data/lib/square/types/list_cash_drawer_shifts_response.rb +1 -3
  344. data/lib/square/types/list_channels_request_constants.rb +23 -0
  345. data/lib/square/types/list_channels_response.rb +11 -0
  346. data/lib/square/types/list_customer_custom_attribute_definitions_response.rb +4 -4
  347. data/lib/square/types/list_customer_custom_attributes_response.rb +3 -4
  348. data/lib/square/types/list_gift_card_activities_response.rb +1 -3
  349. data/lib/square/types/list_location_booking_profiles_response.rb +1 -3
  350. data/lib/square/types/list_location_custom_attribute_definitions_response.rb +4 -4
  351. data/lib/square/types/list_location_custom_attributes_response.rb +3 -4
  352. data/lib/square/types/list_loyalty_promotions_response.rb +1 -3
  353. data/lib/square/types/list_merchant_custom_attribute_definitions_response.rb +4 -4
  354. data/lib/square/types/list_merchant_custom_attributes_response.rb +3 -4
  355. data/lib/square/types/list_order_custom_attribute_definitions_response.rb +1 -3
  356. data/lib/square/types/list_order_custom_attributes_response.rb +1 -3
  357. data/lib/square/types/list_subscription_events_response.rb +1 -3
  358. data/lib/square/types/list_team_member_booking_profiles_response.rb +1 -3
  359. data/lib/square/types/list_team_member_wages_response.rb +1 -3
  360. data/lib/square/types/list_webhook_subscriptions_response.rb +1 -3
  361. data/lib/square/types/list_workweek_configs_response.rb +1 -3
  362. data/lib/square/types/location.rb +1 -3
  363. data/lib/square/types/location_booking_profile.rb +2 -1
  364. data/lib/square/types/location_custom_attribute_visible_updated_event.rb +6 -3
  365. data/lib/square/types/loyalty_account.rb +1 -3
  366. data/lib/square/types/loyalty_account_mapping_type.rb +23 -0
  367. data/lib/square/types/loyalty_event.rb +3 -4
  368. data/lib/square/types/loyalty_event_filter.rb +1 -3
  369. data/lib/square/types/loyalty_program.rb +4 -7
  370. data/lib/square/types/loyalty_program_accrual_rule.rb +3 -4
  371. data/lib/square/types/loyalty_program_reward_tier.rb +3 -1
  372. data/lib/square/types/loyalty_promotion_incentive.rb +2 -6
  373. data/lib/square/types/loyalty_promotion_incentive_points_addition_data.rb +2 -1
  374. data/lib/square/types/loyalty_promotion_incentive_points_multiplier_data.rb +2 -1
  375. data/lib/square/types/loyalty_promotion_trigger_limit.rb +2 -1
  376. data/lib/square/types/loyalty_reward.rb +4 -2
  377. data/lib/square/types/measurement_unit_generic.rb +23 -0
  378. data/lib/square/types/oauth_authorization_revoked_event_object.rb +1 -3
  379. data/lib/square/types/oauth_authorization_revoked_event_revocation_object.rb +1 -3
  380. data/lib/square/types/order.rb +2 -6
  381. data/lib/square/types/order_card_surcharge_treatment_type.rb +12 -0
  382. data/lib/square/types/order_custom_attribute_definition_owned_created_event.rb +2 -1
  383. data/lib/square/types/order_custom_attribute_definition_owned_deleted_event.rb +2 -1
  384. data/lib/square/types/order_custom_attribute_definition_owned_updated_event.rb +2 -1
  385. data/lib/square/types/order_custom_attribute_definition_visible_created_event.rb +2 -1
  386. data/lib/square/types/order_custom_attribute_definition_visible_deleted_event.rb +2 -1
  387. data/lib/square/types/order_custom_attribute_definition_visible_updated_event.rb +2 -1
  388. data/lib/square/types/order_custom_attribute_owned_deleted_event.rb +2 -1
  389. data/lib/square/types/order_custom_attribute_owned_updated_event.rb +2 -1
  390. data/lib/square/types/order_custom_attribute_visible_deleted_event.rb +2 -1
  391. data/lib/square/types/order_custom_attribute_visible_updated_event.rb +2 -1
  392. data/lib/square/types/order_fulfillment_updated.rb +1 -3
  393. data/lib/square/types/order_line_item.rb +4 -12
  394. data/lib/square/types/order_line_item_applied_tax.rb +1 -0
  395. data/lib/square/types/order_line_item_pricing_blocklists.rb +3 -6
  396. data/lib/square/types/order_line_item_pricing_blocklists_blocked_service_charge.rb +14 -0
  397. data/lib/square/types/order_return.rb +3 -9
  398. data/lib/square/types/order_return_line_item.rb +4 -12
  399. data/lib/square/types/order_return_service_charge.rb +3 -6
  400. data/lib/square/types/order_service_charge.rb +2 -6
  401. data/lib/square/types/payment.rb +1 -3
  402. data/lib/square/types/payment_link_related_resources.rb +1 -3
  403. data/lib/square/types/payment_refund.rb +1 -3
  404. data/lib/square/types/payout_entry.rb +24 -72
  405. data/lib/square/types/pre_populated_data.rb +2 -1
  406. data/lib/square/types/product_type.rb +23 -0
  407. data/lib/square/types/receive_transfer_order_response.rb +11 -0
  408. data/lib/square/types/reference.rb +10 -0
  409. data/lib/square/types/reference_type.rb +25 -0
  410. data/lib/square/types/refund.rb +1 -3
  411. data/lib/square/types/retrieve_booking_custom_attribute_definition_response.rb +4 -4
  412. data/lib/square/types/retrieve_booking_custom_attribute_response.rb +2 -1
  413. data/lib/square/types/retrieve_channel_response.rb +10 -0
  414. data/lib/square/types/retrieve_location_custom_attribute_definition_response.rb +4 -4
  415. data/lib/square/types/retrieve_location_custom_attribute_response.rb +2 -1
  416. data/lib/square/types/retrieve_merchant_custom_attribute_definition_response.rb +4 -4
  417. data/lib/square/types/retrieve_merchant_custom_attribute_response.rb +2 -1
  418. data/lib/square/types/retrieve_order_custom_attribute_definition_response.rb +1 -3
  419. data/lib/square/types/retrieve_transfer_order_response.rb +11 -0
  420. data/lib/square/types/scheduled_shift_filter.rb +3 -7
  421. data/lib/square/types/scheduled_shift_workday.rb +1 -3
  422. data/lib/square/types/search_availability_filter.rb +1 -3
  423. data/lib/square/types/search_catalog_items_response.rb +2 -1
  424. data/lib/square/types/search_catalog_objects_response.rb +1 -3
  425. data/lib/square/types/search_events_sort_field.rb +23 -0
  426. data/lib/square/types/search_loyalty_accounts_request_loyalty_account_query.rb +1 -3
  427. data/lib/square/types/search_loyalty_accounts_response.rb +1 -3
  428. data/lib/square/types/search_orders_date_time_filter.rb +2 -1
  429. data/lib/square/types/search_orders_fulfillment_filter.rb +2 -6
  430. data/lib/square/types/search_orders_source_filter.rb +2 -0
  431. data/lib/square/types/search_scheduled_shifts_response.rb +1 -3
  432. data/lib/square/types/search_transfer_orders_response.rb +12 -0
  433. data/lib/square/types/shift_filter.rb +3 -2
  434. data/lib/square/types/shift_query.rb +2 -1
  435. data/lib/square/types/shift_sort.rb +2 -1
  436. data/lib/square/types/shift_wage.rb +2 -1
  437. data/lib/square/types/shift_workday.rb +2 -1
  438. data/lib/square/types/snippet.rb +2 -1
  439. data/lib/square/types/standard_unit_description_group.rb +1 -3
  440. data/lib/square/types/start_transfer_order_response.rb +11 -0
  441. data/lib/square/types/subscription_event.rb +1 -3
  442. data/lib/square/types/subscription_phase.rb +2 -1
  443. data/lib/square/types/subscription_test_result.rb +5 -3
  444. data/lib/square/types/team_member_assigned_locations.rb +1 -3
  445. data/lib/square/types/team_member_booking_profile.rb +2 -1
  446. data/lib/square/types/tender.rb +2 -6
  447. data/lib/square/types/tender_buy_now_pay_later_details.rb +1 -3
  448. data/lib/square/types/terminal_refund.rb +2 -1
  449. data/lib/square/types/test_webhook_subscription_response.rb +5 -5
  450. data/lib/square/types/timecard_filter.rb +1 -1
  451. data/lib/square/types/transfer_order.rb +35 -0
  452. data/lib/square/types/transfer_order_created_event.rb +14 -0
  453. data/lib/square/types/transfer_order_created_event_data.rb +11 -0
  454. data/lib/square/types/transfer_order_created_event_object.rb +9 -0
  455. data/lib/square/types/transfer_order_deleted_event.rb +14 -0
  456. data/lib/square/types/transfer_order_deleted_event_data.rb +11 -0
  457. data/lib/square/types/transfer_order_filter.rb +12 -0
  458. data/lib/square/types/transfer_order_goods_receipt.rb +27 -0
  459. data/lib/square/types/transfer_order_goods_receipt_line_item.rb +13 -0
  460. data/lib/square/types/transfer_order_line.rb +18 -0
  461. data/lib/square/types/transfer_order_query.rb +11 -0
  462. data/lib/square/types/transfer_order_sort.rb +11 -0
  463. data/lib/square/types/transfer_order_sort_field.rb +12 -0
  464. data/lib/square/types/transfer_order_status.rb +15 -0
  465. data/lib/square/types/transfer_order_updated_event.rb +14 -0
  466. data/lib/square/types/transfer_order_updated_event_data.rb +11 -0
  467. data/lib/square/types/transfer_order_updated_event_object.rb +9 -0
  468. data/lib/square/types/update_booking_custom_attribute_definition_response.rb +4 -4
  469. data/lib/square/types/update_customer_custom_attribute_definition_response.rb +4 -4
  470. data/lib/square/types/update_location_custom_attribute_definition_response.rb +4 -4
  471. data/lib/square/types/update_merchant_custom_attribute_definition_response.rb +4 -4
  472. data/lib/square/types/update_order_custom_attribute_definition_response.rb +1 -3
  473. data/lib/square/types/update_transfer_order_data.rb +15 -0
  474. data/lib/square/types/update_transfer_order_line_data.rb +13 -0
  475. data/lib/square/types/update_transfer_order_response.rb +11 -0
  476. data/lib/square/types/update_webhook_subscription_response.rb +2 -1
  477. data/lib/square/types/update_webhook_subscription_signature_key_response.rb +3 -1
  478. data/lib/square/types/upsert_booking_custom_attribute_response.rb +2 -1
  479. data/lib/square/types/upsert_catalog_object_response.rb +1 -3
  480. data/lib/square/types/upsert_customer_custom_attribute_response.rb +2 -1
  481. data/lib/square/types/upsert_location_custom_attribute_response.rb +2 -1
  482. data/lib/square/types/upsert_merchant_custom_attribute_response.rb +2 -1
  483. data/lib/square/types/v_1_get_payment_request.rb +23 -0
  484. data/lib/square/types/v_1_get_settlement_request.rb +23 -0
  485. data/lib/square/types/v_1_order.rb +1 -3
  486. data/lib/square/types/vendor_created_event_object_operation.rb +23 -0
  487. data/lib/square/types/vendor_updated_event_object_operation.rb +23 -0
  488. data/lib/square/types/wage_setting.rb +1 -3
  489. data/lib/square/v_1_transactions/client.rb +72 -29
  490. data/lib/square/vendors/client.rb +126 -51
  491. data/lib/square/vendors/types/batch_update_vendors_request.rb +1 -3
  492. data/lib/square/version.rb +1 -1
  493. data/lib/square/webhooks/client.rb +3 -1
  494. data/lib/square/webhooks/event_types/client.rb +25 -14
  495. data/lib/square/webhooks/subscriptions/client.rb +164 -69
  496. data/lib/square.rb +106 -5
  497. data/lib/square_legacy/utilities/webhooks_helper.rb +1 -1
  498. data/reference.md +29588 -0
  499. data/wiremock/docker-compose.test.yml +14 -0
  500. data/wiremock/wiremock-mappings.json +1 -0
  501. metadata +118 -45
  502. data/lib/square/mobile/client.rb +0 -50
  503. data/lib/square/mobile/types/create_mobile_authorization_code_request.rb +0 -11
  504. data/lib/square/types/create_mobile_authorization_code_response.rb +0 -13
  505. data/test/square/integration/client_tests/test_cash_drawers.rb +0 -27
  506. data/test/square/integration/client_tests/test_catalog.rb +0 -704
  507. data/test/square/integration/client_tests/test_customers.rb +0 -65
  508. data/test/square/integration/client_tests/test_customers_groups.rb +0 -144
  509. data/test/square/integration/client_tests/test_customers_segments.rb +0 -36
  510. data/test/square/integration/client_tests/test_devices.rb +0 -67
  511. data/test/square/integration/client_tests/test_inventory.rb +0 -28
  512. data/test/square/integration/client_tests/test_locations.rb +0 -18
  513. data/test/square/integration/client_tests/test_merchants.rb +0 -40
  514. data/test/square/integration/client_tests/test_mobile.rb +0 -21
  515. data/test/square/integration/client_tests/test_orders.rb +0 -177
  516. data/test/square/integration/client_tests/test_payments.rb +0 -167
  517. data/test/square/integration/client_tests/test_refunds.rb +0 -133
  518. data/test/square/integration/client_tests/test_team_members.rb +0 -97
  519. data/test/square/integration/client_tests/test_terminal.rb +0 -107
  520. data/test/square/integration/integration_test_base.rb +0 -16
  521. data/test/square/integration/testdata/image.jpeg +0 -0
  522. data/test/square/internal/multipart/test_form_data.rb +0 -311
  523. data/test/square/internal/types/test_array.rb +0 -37
  524. data/test/square/internal/types/test_boolean.rb +0 -35
  525. data/test/square/internal/types/test_enum.rb +0 -42
  526. data/test/square/internal/types/test_hash.rb +0 -50
  527. data/test/square/internal/types/test_model.rb +0 -105
  528. data/test/square/internal/types/test_union.rb +0 -52
  529. data/test/square/internal/types/test_utils.rb +0 -216
  530. data/test/square_legacy/api/api_test_base.rb +0 -27
  531. data/test/square_legacy/api/test_catalog_api.rb +0 -57
  532. data/test/square_legacy/api/test_customers_api.rb +0 -43
  533. data/test/square_legacy/api/test_employees_api.rb +0 -34
  534. data/test/square_legacy/api/test_labor_api.rb +0 -82
  535. data/test/square_legacy/api/test_locations_api.rb +0 -22
  536. data/test/square_legacy/api/test_merchants_api.rb +0 -38
  537. data/test/square_legacy/api/test_payments_api.rb +0 -40
  538. data/test/square_legacy/api/test_refunds_api.rb +0 -42
  539. data/test/square_legacy/http_response_catcher.rb +0 -14
  540. data/test/square_legacy/webhooks/test_webhooks_helper.rb +0 -153
  541. data/test/test_helper.rb +0 -123
@@ -3,7 +3,9 @@
3
3
  module Square
4
4
  module Locations
5
5
  class Client
6
- # @return [Square::Locations::Client]
6
+ # @param client [Square::Internal::Http::RawClient]
7
+ #
8
+ # @return [void]
7
9
  def initialize(client:)
8
10
  @client = client
9
11
  end
@@ -11,24 +13,34 @@ module Square
11
13
  # Provides details about all of the seller's [locations](https://developer.squareup.com/docs/locations-api),
12
14
  # including those with an inactive status. Locations are listed alphabetically by `name`.
13
15
  #
16
+ # @param request_options [Hash]
17
+ # @param params [Hash]
18
+ # @option request_options [String] :base_url
19
+ # @option request_options [Hash{String => Object}] :additional_headers
20
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
21
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
22
+ # @option request_options [Integer] :timeout_in_seconds
23
+ #
14
24
  # @return [Square::Types::ListLocationsResponse]
15
- def list(request_options: {}, **_params)
16
- _request = Square::Internal::JSON::Request.new(
17
- base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
25
+ def list(request_options: {}, **params)
26
+ Square::Internal::Types::Utils.normalize_keys(params)
27
+ request = Square::Internal::JSON::Request.new(
28
+ base_url: request_options[:base_url],
18
29
  method: "GET",
19
- path: "v2/locations"
30
+ path: "v2/locations",
31
+ request_options: request_options
20
32
  )
21
33
  begin
22
- _response = @client.send(_request)
34
+ response = @client.send(request)
23
35
  rescue Net::HTTPRequestTimeout
24
36
  raise Square::Errors::TimeoutError
25
37
  end
26
- code = _response.code.to_i
38
+ code = response.code.to_i
27
39
  if code.between?(200, 299)
28
- Square::Types::ListLocationsResponse.load(_response.body)
40
+ Square::Types::ListLocationsResponse.load(response.body)
29
41
  else
30
42
  error_class = Square::Errors::ResponseError.subclass_for_code(code)
31
- raise error_class.new(_response.body, code: code)
43
+ raise error_class.new(response.body, code: code)
32
44
  end
33
45
  end
34
46
 
@@ -40,75 +52,110 @@ module Square
40
52
  # are visible to the seller for their own management. Therefore, ensure that
41
53
  # each location has a sensible and unique name.
42
54
  #
55
+ # @param request_options [Hash]
56
+ # @param params [Square::Locations::Types::CreateLocationRequest]
57
+ # @option request_options [String] :base_url
58
+ # @option request_options [Hash{String => Object}] :additional_headers
59
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
60
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
61
+ # @option request_options [Integer] :timeout_in_seconds
62
+ #
43
63
  # @return [Square::Types::CreateLocationResponse]
44
64
  def create(request_options: {}, **params)
45
- _request = Square::Internal::JSON::Request.new(
46
- base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
65
+ params = Square::Internal::Types::Utils.normalize_keys(params)
66
+ request = Square::Internal::JSON::Request.new(
67
+ base_url: request_options[:base_url],
47
68
  method: "POST",
48
69
  path: "v2/locations",
49
- body: params
70
+ body: Square::Locations::Types::CreateLocationRequest.new(params).to_h,
71
+ request_options: request_options
50
72
  )
51
73
  begin
52
- _response = @client.send(_request)
74
+ response = @client.send(request)
53
75
  rescue Net::HTTPRequestTimeout
54
76
  raise Square::Errors::TimeoutError
55
77
  end
56
- code = _response.code.to_i
78
+ code = response.code.to_i
57
79
  if code.between?(200, 299)
58
- Square::Types::CreateLocationResponse.load(_response.body)
80
+ Square::Types::CreateLocationResponse.load(response.body)
59
81
  else
60
82
  error_class = Square::Errors::ResponseError.subclass_for_code(code)
61
- raise error_class.new(_response.body, code: code)
83
+ raise error_class.new(response.body, code: code)
62
84
  end
63
85
  end
64
86
 
65
87
  # Retrieves details of a single location. Specify "main"
66
- # as the location ID to retrieve details of the [main location](https://developer.squareup.com/docs/locations-api#about-the-main-location).
88
+ # as the location ID to retrieve details of the [main
89
+ # location](https://developer.squareup.com/docs/locations-api#about-the-main-location).
90
+ #
91
+ # @param request_options [Hash]
92
+ # @param params [Hash]
93
+ # @option request_options [String] :base_url
94
+ # @option request_options [Hash{String => Object}] :additional_headers
95
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
96
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
97
+ # @option request_options [Integer] :timeout_in_seconds
98
+ # @option params [String] :location_id
67
99
  #
68
100
  # @return [Square::Types::GetLocationResponse]
69
101
  def get(request_options: {}, **params)
70
- _request = Square::Internal::JSON::Request.new(
71
- base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
102
+ params = Square::Internal::Types::Utils.normalize_keys(params)
103
+ request = Square::Internal::JSON::Request.new(
104
+ base_url: request_options[:base_url],
72
105
  method: "GET",
73
- path: "v2/locations/#{params[:location_id]}"
106
+ path: "v2/locations/#{params[:location_id]}",
107
+ request_options: request_options
74
108
  )
75
109
  begin
76
- _response = @client.send(_request)
110
+ response = @client.send(request)
77
111
  rescue Net::HTTPRequestTimeout
78
112
  raise Square::Errors::TimeoutError
79
113
  end
80
- code = _response.code.to_i
114
+ code = response.code.to_i
81
115
  if code.between?(200, 299)
82
- Square::Types::GetLocationResponse.load(_response.body)
116
+ Square::Types::GetLocationResponse.load(response.body)
83
117
  else
84
118
  error_class = Square::Errors::ResponseError.subclass_for_code(code)
85
- raise error_class.new(_response.body, code: code)
119
+ raise error_class.new(response.body, code: code)
86
120
  end
87
121
  end
88
122
 
89
123
  # Updates a [location](https://developer.squareup.com/docs/locations-api).
90
124
  #
125
+ # @param request_options [Hash]
126
+ # @param params [Square::Locations::Types::UpdateLocationRequest]
127
+ # @option request_options [String] :base_url
128
+ # @option request_options [Hash{String => Object}] :additional_headers
129
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
130
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
131
+ # @option request_options [Integer] :timeout_in_seconds
132
+ # @option params [String] :location_id
133
+ #
91
134
  # @return [Square::Types::UpdateLocationResponse]
92
135
  def update(request_options: {}, **params)
93
- _path_param_names = ["location_id"]
136
+ params = Square::Internal::Types::Utils.normalize_keys(params)
137
+ request_data = Square::Locations::Types::UpdateLocationRequest.new(params).to_h
138
+ non_body_param_names = ["location_id"]
139
+ body = request_data.except(*non_body_param_names)
94
140
 
95
- _request = Square::Internal::JSON::Request.new(
96
- base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
141
+ request = Square::Internal::JSON::Request.new(
142
+ base_url: request_options[:base_url],
97
143
  method: "PUT",
98
144
  path: "v2/locations/#{params[:location_id]}",
99
- body: params.except(*_path_param_names)
145
+ body: body,
146
+ request_options: request_options
100
147
  )
101
148
  begin
102
- _response = @client.send(_request)
149
+ response = @client.send(request)
103
150
  rescue Net::HTTPRequestTimeout
104
151
  raise Square::Errors::TimeoutError
105
152
  end
106
- code = _response.code.to_i
153
+ code = response.code.to_i
107
154
  if code.between?(200, 299)
108
- Square::Types::UpdateLocationResponse.load(_response.body)
155
+ Square::Types::UpdateLocationResponse.load(response.body)
109
156
  else
110
157
  error_class = Square::Errors::ResponseError.subclass_for_code(code)
111
- raise error_class.new(_response.body, code: code)
158
+ raise error_class.new(response.body, code: code)
112
159
  end
113
160
  end
114
161
 
@@ -118,29 +165,43 @@ module Square
118
165
  #
119
166
  #
120
167
  # NOTE: The Checkout API has been updated with new features.
121
- # For more information, see [Checkout API highlights](https://developer.squareup.com/docs/checkout-api#checkout-api-highlights).
168
+ # For more information, see [Checkout API
169
+ # highlights](https://developer.squareup.com/docs/checkout-api#checkout-api-highlights).
170
+ #
171
+ # @param request_options [Hash]
172
+ # @param params [Square::Locations::Types::CreateCheckoutRequest]
173
+ # @option request_options [String] :base_url
174
+ # @option request_options [Hash{String => Object}] :additional_headers
175
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
176
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
177
+ # @option request_options [Integer] :timeout_in_seconds
178
+ # @option params [String] :location_id
122
179
  #
123
180
  # @return [Square::Types::CreateCheckoutResponse]
124
181
  def checkouts(request_options: {}, **params)
125
- _path_param_names = ["location_id"]
182
+ params = Square::Internal::Types::Utils.normalize_keys(params)
183
+ request_data = Square::Locations::Types::CreateCheckoutRequest.new(params).to_h
184
+ non_body_param_names = ["location_id"]
185
+ body = request_data.except(*non_body_param_names)
126
186
 
127
- _request = Square::Internal::JSON::Request.new(
128
- base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
187
+ request = Square::Internal::JSON::Request.new(
188
+ base_url: request_options[:base_url],
129
189
  method: "POST",
130
190
  path: "v2/locations/#{params[:location_id]}/checkouts",
131
- body: params.except(*_path_param_names)
191
+ body: body,
192
+ request_options: request_options
132
193
  )
133
194
  begin
134
- _response = @client.send(_request)
195
+ response = @client.send(request)
135
196
  rescue Net::HTTPRequestTimeout
136
197
  raise Square::Errors::TimeoutError
137
198
  end
138
- code = _response.code.to_i
199
+ code = response.code.to_i
139
200
  if code.between?(200, 299)
140
- Square::Types::CreateCheckoutResponse.load(_response.body)
201
+ Square::Types::CreateCheckoutResponse.load(response.body)
141
202
  else
142
203
  error_class = Square::Errors::ResponseError.subclass_for_code(code)
143
- raise error_class.new(_response.body, code: code)
204
+ raise error_class.new(response.body, code: code)
144
205
  end
145
206
  end
146
207
 
@@ -4,46 +4,70 @@ module Square
4
4
  module Locations
5
5
  module CustomAttributeDefinitions
6
6
  class Client
7
- # @return [Square::Locations::CustomAttributeDefinitions::Client]
7
+ # @param client [Square::Internal::Http::RawClient]
8
+ #
9
+ # @return [void]
8
10
  def initialize(client:)
9
11
  @client = client
10
12
  end
11
13
 
12
- # Lists the location-related [custom attribute definitions](entity:CustomAttributeDefinition) that belong to a Square seller account.
14
+ # Lists the location-related [custom attribute definitions](entity:CustomAttributeDefinition) that belong to a
15
+ # Square seller account.
13
16
  # When all response pages are retrieved, the results include all custom attribute definitions
14
17
  # that are visible to the requesting application, including those that are created by other
15
18
  # applications and set to `VISIBILITY_READ_ONLY` or `VISIBILITY_READ_WRITE_VALUES`.
16
19
  #
20
+ # @param request_options [Hash]
21
+ # @param params [Hash]
22
+ # @option request_options [String] :base_url
23
+ # @option request_options [Hash{String => Object}] :additional_headers
24
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
25
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
26
+ # @option request_options [Integer] :timeout_in_seconds
27
+ # @option params [Square::Types::VisibilityFilter, nil] :visibility_filter
28
+ # @option params [Integer, nil] :limit
29
+ # @option params [String, nil] :cursor
30
+ #
17
31
  # @return [Square::Types::ListLocationCustomAttributeDefinitionsResponse]
18
32
  def list(request_options: {}, **params)
19
- _query_param_names = [
20
- %w[visibility_filter limit cursor],
21
- %i[visibility_filter limit cursor]
22
- ].flatten
23
- _query = params.slice(*_query_param_names)
24
- params.except(*_query_param_names)
33
+ params = Square::Internal::Types::Utils.normalize_keys(params)
34
+ query_param_names = %i[visibility_filter limit cursor]
35
+ query_params = {}
36
+ query_params["visibility_filter"] = params[:visibility_filter] if params.key?(:visibility_filter)
37
+ query_params["limit"] = params[:limit] if params.key?(:limit)
38
+ query_params["cursor"] = params[:cursor] if params.key?(:cursor)
39
+ params.except(*query_param_names)
25
40
 
26
- _request = Square::Internal::JSON::Request.new(
27
- base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
28
- method: "GET",
29
- path: "v2/locations/custom-attribute-definitions",
30
- query: _query
31
- )
32
- begin
33
- _response = @client.send(_request)
34
- rescue Net::HTTPRequestTimeout
35
- raise Square::Errors::TimeoutError
36
- end
37
- code = _response.code.to_i
38
- if code.between?(200, 299)
39
- Square::Types::ListLocationCustomAttributeDefinitionsResponse.load(_response.body)
40
- else
41
- error_class = Square::Errors::ResponseError.subclass_for_code(code)
42
- raise error_class.new(_response.body, code: code)
41
+ Square::Internal::CursorItemIterator.new(
42
+ cursor_field: :cursor,
43
+ item_field: :custom_attribute_definitions,
44
+ initial_cursor: query_params[:cursor]
45
+ ) do |next_cursor|
46
+ query_params[:cursor] = next_cursor
47
+ request = Square::Internal::JSON::Request.new(
48
+ base_url: request_options[:base_url],
49
+ method: "GET",
50
+ path: "v2/locations/custom-attribute-definitions",
51
+ query: query_params,
52
+ request_options: request_options
53
+ )
54
+ begin
55
+ response = @client.send(request)
56
+ rescue Net::HTTPRequestTimeout
57
+ raise Square::Errors::TimeoutError
58
+ end
59
+ code = response.code.to_i
60
+ if code.between?(200, 299)
61
+ Square::Types::ListLocationCustomAttributeDefinitionsResponse.load(response.body)
62
+ else
63
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
64
+ raise error_class.new(response.body, code: code)
65
+ end
43
66
  end
44
67
  end
45
68
 
46
- # Creates a location-related [custom attribute definition](entity:CustomAttributeDefinition) for a Square seller account.
69
+ # Creates a location-related [custom attribute definition](entity:CustomAttributeDefinition) for a Square seller
70
+ # account.
47
71
  # Use this endpoint to define a custom attribute that can be associated with locations.
48
72
  # A custom attribute definition specifies the `key`, `visibility`, `schema`, and other properties
49
73
  # for a custom attribute. After the definition is created, you can call
@@ -51,113 +75,160 @@ module Square
51
75
  # [BulkUpsertLocationCustomAttributes](api-endpoint:LocationCustomAttributes-BulkUpsertLocationCustomAttributes)
52
76
  # to set the custom attribute for locations.
53
77
  #
78
+ # @param request_options [Hash]
79
+ # @param params [Square::Locations::CustomAttributeDefinitions::Types::CreateLocationCustomAttributeDefinitionRequest]
80
+ # @option request_options [String] :base_url
81
+ # @option request_options [Hash{String => Object}] :additional_headers
82
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
83
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
84
+ # @option request_options [Integer] :timeout_in_seconds
85
+ #
54
86
  # @return [Square::Types::CreateLocationCustomAttributeDefinitionResponse]
55
87
  def create(request_options: {}, **params)
56
- _request = Square::Internal::JSON::Request.new(
57
- base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
88
+ params = Square::Internal::Types::Utils.normalize_keys(params)
89
+ request = Square::Internal::JSON::Request.new(
90
+ base_url: request_options[:base_url],
58
91
  method: "POST",
59
92
  path: "v2/locations/custom-attribute-definitions",
60
- body: params
93
+ body: Square::Locations::CustomAttributeDefinitions::Types::CreateLocationCustomAttributeDefinitionRequest.new(params).to_h,
94
+ request_options: request_options
61
95
  )
62
96
  begin
63
- _response = @client.send(_request)
97
+ response = @client.send(request)
64
98
  rescue Net::HTTPRequestTimeout
65
99
  raise Square::Errors::TimeoutError
66
100
  end
67
- code = _response.code.to_i
101
+ code = response.code.to_i
68
102
  if code.between?(200, 299)
69
- Square::Types::CreateLocationCustomAttributeDefinitionResponse.load(_response.body)
103
+ Square::Types::CreateLocationCustomAttributeDefinitionResponse.load(response.body)
70
104
  else
71
105
  error_class = Square::Errors::ResponseError.subclass_for_code(code)
72
- raise error_class.new(_response.body, code: code)
106
+ raise error_class.new(response.body, code: code)
73
107
  end
74
108
  end
75
109
 
76
- # Retrieves a location-related [custom attribute definition](entity:CustomAttributeDefinition) from a Square seller account.
110
+ # Retrieves a location-related [custom attribute definition](entity:CustomAttributeDefinition) from a Square
111
+ # seller account.
77
112
  # To retrieve a custom attribute definition created by another application, the `visibility`
78
113
  # setting must be `VISIBILITY_READ_ONLY` or `VISIBILITY_READ_WRITE_VALUES`.
79
114
  #
115
+ # @param request_options [Hash]
116
+ # @param params [Hash]
117
+ # @option request_options [String] :base_url
118
+ # @option request_options [Hash{String => Object}] :additional_headers
119
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
120
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
121
+ # @option request_options [Integer] :timeout_in_seconds
122
+ # @option params [String] :key
123
+ # @option params [Integer, nil] :version
124
+ #
80
125
  # @return [Square::Types::RetrieveLocationCustomAttributeDefinitionResponse]
81
126
  def get(request_options: {}, **params)
82
- _query_param_names = [
83
- ["version"],
84
- %i[version]
85
- ].flatten
86
- _query = params.slice(*_query_param_names)
87
- params = params.except(*_query_param_names)
127
+ params = Square::Internal::Types::Utils.normalize_keys(params)
128
+ query_param_names = %i[version]
129
+ query_params = {}
130
+ query_params["version"] = params[:version] if params.key?(:version)
131
+ params = params.except(*query_param_names)
88
132
 
89
- _request = Square::Internal::JSON::Request.new(
90
- base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
133
+ request = Square::Internal::JSON::Request.new(
134
+ base_url: request_options[:base_url],
91
135
  method: "GET",
92
136
  path: "v2/locations/custom-attribute-definitions/#{params[:key]}",
93
- query: _query
137
+ query: query_params,
138
+ request_options: request_options
94
139
  )
95
140
  begin
96
- _response = @client.send(_request)
141
+ response = @client.send(request)
97
142
  rescue Net::HTTPRequestTimeout
98
143
  raise Square::Errors::TimeoutError
99
144
  end
100
- code = _response.code.to_i
145
+ code = response.code.to_i
101
146
  if code.between?(200, 299)
102
- Square::Types::RetrieveLocationCustomAttributeDefinitionResponse.load(_response.body)
147
+ Square::Types::RetrieveLocationCustomAttributeDefinitionResponse.load(response.body)
103
148
  else
104
149
  error_class = Square::Errors::ResponseError.subclass_for_code(code)
105
- raise error_class.new(_response.body, code: code)
150
+ raise error_class.new(response.body, code: code)
106
151
  end
107
152
  end
108
153
 
109
- # Updates a location-related [custom attribute definition](entity:CustomAttributeDefinition) for a Square seller account.
154
+ # Updates a location-related [custom attribute definition](entity:CustomAttributeDefinition) for a Square seller
155
+ # account.
110
156
  # Use this endpoint to update the following fields: `name`, `description`, `visibility`, or the
111
157
  # `schema` for a `Selection` data type.
112
158
  # Only the definition owner can update a custom attribute definition.
113
159
  #
160
+ # @param request_options [Hash]
161
+ # @param params [Square::Locations::CustomAttributeDefinitions::Types::UpdateLocationCustomAttributeDefinitionRequest]
162
+ # @option request_options [String] :base_url
163
+ # @option request_options [Hash{String => Object}] :additional_headers
164
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
165
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
166
+ # @option request_options [Integer] :timeout_in_seconds
167
+ # @option params [String] :key
168
+ #
114
169
  # @return [Square::Types::UpdateLocationCustomAttributeDefinitionResponse]
115
170
  def update(request_options: {}, **params)
116
- _path_param_names = ["key"]
171
+ params = Square::Internal::Types::Utils.normalize_keys(params)
172
+ request_data = Square::Locations::CustomAttributeDefinitions::Types::UpdateLocationCustomAttributeDefinitionRequest.new(params).to_h
173
+ non_body_param_names = ["key"]
174
+ body = request_data.except(*non_body_param_names)
117
175
 
118
- _request = Square::Internal::JSON::Request.new(
119
- base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
176
+ request = Square::Internal::JSON::Request.new(
177
+ base_url: request_options[:base_url],
120
178
  method: "PUT",
121
179
  path: "v2/locations/custom-attribute-definitions/#{params[:key]}",
122
- body: params.except(*_path_param_names)
180
+ body: body,
181
+ request_options: request_options
123
182
  )
124
183
  begin
125
- _response = @client.send(_request)
184
+ response = @client.send(request)
126
185
  rescue Net::HTTPRequestTimeout
127
186
  raise Square::Errors::TimeoutError
128
187
  end
129
- code = _response.code.to_i
188
+ code = response.code.to_i
130
189
  if code.between?(200, 299)
131
- Square::Types::UpdateLocationCustomAttributeDefinitionResponse.load(_response.body)
190
+ Square::Types::UpdateLocationCustomAttributeDefinitionResponse.load(response.body)
132
191
  else
133
192
  error_class = Square::Errors::ResponseError.subclass_for_code(code)
134
- raise error_class.new(_response.body, code: code)
193
+ raise error_class.new(response.body, code: code)
135
194
  end
136
195
  end
137
196
 
138
- # Deletes a location-related [custom attribute definition](entity:CustomAttributeDefinition) from a Square seller account.
197
+ # Deletes a location-related [custom attribute definition](entity:CustomAttributeDefinition) from a Square
198
+ # seller account.
139
199
  # Deleting a custom attribute definition also deletes the corresponding custom attribute from
140
200
  # all locations.
141
201
  # Only the definition owner can delete a custom attribute definition.
142
202
  #
203
+ # @param request_options [Hash]
204
+ # @param params [Hash]
205
+ # @option request_options [String] :base_url
206
+ # @option request_options [Hash{String => Object}] :additional_headers
207
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
208
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
209
+ # @option request_options [Integer] :timeout_in_seconds
210
+ # @option params [String] :key
211
+ #
143
212
  # @return [Square::Types::DeleteLocationCustomAttributeDefinitionResponse]
144
213
  def delete(request_options: {}, **params)
145
- _request = Square::Internal::JSON::Request.new(
146
- base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
214
+ params = Square::Internal::Types::Utils.normalize_keys(params)
215
+ request = Square::Internal::JSON::Request.new(
216
+ base_url: request_options[:base_url],
147
217
  method: "DELETE",
148
- path: "v2/locations/custom-attribute-definitions/#{params[:key]}"
218
+ path: "v2/locations/custom-attribute-definitions/#{params[:key]}",
219
+ request_options: request_options
149
220
  )
150
221
  begin
151
- _response = @client.send(_request)
222
+ response = @client.send(request)
152
223
  rescue Net::HTTPRequestTimeout
153
224
  raise Square::Errors::TimeoutError
154
225
  end
155
- code = _response.code.to_i
226
+ code = response.code.to_i
156
227
  if code.between?(200, 299)
157
- Square::Types::DeleteLocationCustomAttributeDefinitionResponse.load(_response.body)
228
+ Square::Types::DeleteLocationCustomAttributeDefinitionResponse.load(response.body)
158
229
  else
159
230
  error_class = Square::Errors::ResponseError.subclass_for_code(code)
160
- raise error_class.new(_response.body, code: code)
231
+ raise error_class.new(response.body, code: code)
161
232
  end
162
233
  end
163
234
  end
@@ -5,9 +5,7 @@ module Square
5
5
  module CustomAttributeDefinitions
6
6
  module Types
7
7
  class CreateLocationCustomAttributeDefinitionRequest < Internal::Types::Model
8
- field :custom_attribute_definition, lambda {
9
- Square::Types::CustomAttributeDefinition
10
- }, optional: false, nullable: false
8
+ field :custom_attribute_definition, -> { Square::Types::CustomAttributeDefinition }, optional: false, nullable: false
11
9
  field :idempotency_key, -> { String }, optional: true, nullable: false
12
10
  end
13
11
  end
@@ -6,9 +6,7 @@ module Square
6
6
  module Types
7
7
  class UpdateLocationCustomAttributeDefinitionRequest < Internal::Types::Model
8
8
  field :key, -> { String }, optional: false, nullable: false
9
- field :custom_attribute_definition, lambda {
10
- Square::Types::CustomAttributeDefinition
11
- }, optional: false, nullable: false
9
+ field :custom_attribute_definition, -> { Square::Types::CustomAttributeDefinition }, optional: false, nullable: false
12
10
  field :idempotency_key, -> { String }, optional: true, nullable: false
13
11
  end
14
12
  end