square.rb 44.2.0.20251016 → 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 (499) 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 +85 -38
  35. data/lib/square/checkout/client.rb +77 -31
  36. data/lib/square/checkout/payment_links/client.rb +120 -54
  37. data/lib/square/client.rb +8 -10
  38. data/lib/square/customers/cards/client.rb +43 -16
  39. data/lib/square/customers/client.rb +220 -97
  40. data/lib/square/customers/custom_attribute_definitions/client.rb +157 -74
  41. data/lib/square/customers/custom_attribute_definitions/types/batch_upsert_customer_custom_attributes_request.rb +1 -3
  42. data/lib/square/customers/custom_attribute_definitions/types/create_customer_custom_attribute_definition_request.rb +1 -3
  43. data/lib/square/customers/custom_attribute_definitions/types/update_customer_custom_attribute_definition_request.rb +1 -3
  44. data/lib/square/customers/custom_attributes/client.rb +117 -53
  45. data/lib/square/customers/groups/client.rb +156 -67
  46. data/lib/square/customers/segments/client.rb +62 -31
  47. data/lib/square/customers/types/bulk_create_customers_request.rb +1 -3
  48. data/lib/square/customers/types/bulk_update_customers_request.rb +1 -3
  49. data/lib/square/devices/client.rb +66 -31
  50. data/lib/square/devices/codes/client.rb +83 -38
  51. data/lib/square/disputes/client.rb +140 -60
  52. data/lib/square/disputes/evidence/client.rb +83 -39
  53. data/lib/square/employees/client.rb +66 -31
  54. data/lib/square/events/client.rb +80 -38
  55. data/lib/square/file_param.rb +77 -77
  56. data/lib/square/gift_cards/activities/client.rb +73 -31
  57. data/lib/square/gift_cards/client.rb +163 -69
  58. data/lib/square/internal/http/base_request.rb +6 -0
  59. data/lib/square/internal/http/raw_client.rb +111 -20
  60. data/lib/square/internal/iterators/cursor_item_iterator.rb +28 -0
  61. data/lib/square/internal/iterators/cursor_page_iterator.rb +51 -0
  62. data/lib/square/internal/iterators/item_iterator.rb +65 -0
  63. data/lib/square/internal/iterators/offset_item_iterator.rb +30 -0
  64. data/lib/square/internal/iterators/offset_page_iterator.rb +83 -0
  65. data/lib/square/internal/json/request.rb +2 -1
  66. data/lib/square/internal/multipart/multipart_request.rb +2 -1
  67. data/lib/square/internal/types/enum.rb +8 -0
  68. data/lib/square/internal/types/model/field.rb +11 -1
  69. data/lib/square/internal/types/model.rb +14 -4
  70. data/lib/square/internal/types/union.rb +88 -7
  71. data/lib/square/internal/types/utils.rb +20 -4
  72. data/lib/square/inventory/client.rb +100 -76
  73. data/lib/square/invoices/client.rb +228 -99
  74. data/lib/square/labor/break_types/client.rb +120 -53
  75. data/lib/square/labor/client.rb +205 -81
  76. data/lib/square/labor/employee_wages/client.rb +64 -31
  77. data/lib/square/labor/shifts/client.rb +94 -37
  78. data/lib/square/labor/team_member_wages/client.rb +64 -31
  79. data/lib/square/labor/types/bulk_publish_scheduled_shifts_request.rb +2 -6
  80. data/lib/square/labor/types/publish_scheduled_shift_request.rb +1 -3
  81. data/lib/square/labor/workweek_configs/client.rb +65 -32
  82. data/lib/square/locations/client.rb +102 -41
  83. data/lib/square/locations/custom_attribute_definitions/client.rb +135 -64
  84. data/lib/square/locations/custom_attribute_definitions/types/create_location_custom_attribute_definition_request.rb +1 -3
  85. data/lib/square/locations/custom_attribute_definitions/types/update_location_custom_attribute_definition_request.rb +1 -3
  86. data/lib/square/locations/custom_attributes/client.rb +156 -68
  87. data/lib/square/locations/custom_attributes/types/bulk_delete_location_custom_attributes_request.rb +1 -3
  88. data/lib/square/locations/custom_attributes/types/bulk_upsert_location_custom_attributes_request.rb +1 -3
  89. data/lib/square/locations/transactions/client.rb +93 -37
  90. data/lib/square/locations/types/create_checkout_request.rb +1 -3
  91. data/lib/square/loyalty/accounts/client.rb +109 -44
  92. data/lib/square/loyalty/accounts/types/search_loyalty_accounts_request.rb +1 -3
  93. data/lib/square/loyalty/client.rb +20 -8
  94. data/lib/square/loyalty/programs/client.rb +72 -29
  95. data/lib/square/loyalty/programs/promotions/client.rb +106 -46
  96. data/lib/square/loyalty/rewards/client.rb +96 -38
  97. data/lib/square/loyalty/rewards/types/search_loyalty_rewards_request.rb +1 -3
  98. data/lib/square/merchants/client.rb +60 -31
  99. data/lib/square/merchants/custom_attribute_definitions/client.rb +137 -65
  100. data/lib/square/merchants/custom_attribute_definitions/types/create_merchant_custom_attribute_definition_request.rb +1 -3
  101. data/lib/square/merchants/custom_attribute_definitions/types/update_merchant_custom_attribute_definition_request.rb +1 -3
  102. data/lib/square/merchants/custom_attributes/client.rb +156 -68
  103. data/lib/square/merchants/custom_attributes/types/bulk_delete_merchant_custom_attributes_request.rb +1 -3
  104. data/lib/square/merchants/custom_attributes/types/bulk_upsert_merchant_custom_attributes_request.rb +1 -3
  105. data/lib/square/o_auth/client.rb +76 -31
  106. data/lib/square/o_auth/types/obtain_token_request.rb +1 -0
  107. data/lib/square/orders/client.rb +156 -63
  108. data/lib/square/orders/custom_attribute_definitions/client.rb +137 -65
  109. data/lib/square/orders/custom_attribute_definitions/types/create_order_custom_attribute_definition_request.rb +1 -3
  110. data/lib/square/orders/custom_attribute_definitions/types/update_order_custom_attribute_definition_request.rb +1 -3
  111. data/lib/square/orders/custom_attributes/client.rb +159 -69
  112. data/lib/square/orders/custom_attributes/types/bulk_delete_order_custom_attributes_request.rb +1 -3
  113. data/lib/square/orders/custom_attributes/types/bulk_upsert_order_custom_attributes_request.rb +1 -3
  114. data/lib/square/orders/types/calculate_order_request.rb +1 -3
  115. data/lib/square/payments/client.rb +182 -70
  116. data/lib/square/payouts/client.rb +116 -54
  117. data/lib/square/refunds/client.rb +97 -40
  118. data/lib/square/refunds/types/refund_payment_request.rb +1 -3
  119. data/lib/square/sites/client.rb +26 -11
  120. data/lib/square/snippets/client.rb +73 -28
  121. data/lib/square/subscriptions/client.rb +271 -117
  122. data/lib/square/team/client.rb +81 -36
  123. data/lib/square/team_members/client.rb +119 -49
  124. data/lib/square/team_members/types/batch_create_team_members_request.rb +1 -3
  125. data/lib/square/team_members/types/batch_update_team_members_request.rb +1 -3
  126. data/lib/square/team_members/wage_setting/client.rb +48 -19
  127. data/lib/square/terminal/actions/client.rb +75 -30
  128. data/lib/square/terminal/checkouts/client.rb +76 -30
  129. data/lib/square/terminal/client.rb +60 -23
  130. data/lib/square/terminal/refunds/client.rb +78 -31
  131. data/lib/square/transfer_orders/client.rb +26 -21
  132. data/lib/square/types/address.rb +2 -1
  133. data/lib/square/types/application_details.rb +1 -3
  134. data/lib/square/types/application_type.rb +23 -0
  135. data/lib/square/types/availability.rb +3 -4
  136. data/lib/square/types/bank_account.rb +1 -0
  137. data/lib/square/types/batch_create_team_members_response.rb +1 -3
  138. data/lib/square/types/batch_create_vendors_response.rb +1 -3
  139. data/lib/square/types/batch_get_catalog_objects_response.rb +1 -3
  140. data/lib/square/types/batch_get_vendors_response.rb +1 -3
  141. data/lib/square/types/batch_update_team_members_response.rb +1 -3
  142. data/lib/square/types/batch_update_vendors_response.rb +1 -3
  143. data/lib/square/types/batch_upsert_catalog_objects_response.rb +1 -3
  144. data/lib/square/types/batch_upsert_customer_custom_attributes_request_customer_custom_attribute_upsert_request.rb +2 -1
  145. data/lib/square/types/batch_upsert_customer_custom_attributes_response.rb +4 -4
  146. data/lib/square/types/batch_upsert_customer_custom_attributes_response_customer_custom_attribute_upsert_response.rb +3 -1
  147. data/lib/square/types/booking.rb +2 -6
  148. data/lib/square/types/booking_created_event.rb +2 -1
  149. data/lib/square/types/booking_custom_attribute_definition_visible_created_event.rb +2 -1
  150. data/lib/square/types/booking_custom_attribute_definition_visible_deleted_event.rb +2 -1
  151. data/lib/square/types/booking_custom_attribute_definition_visible_updated_event.rb +2 -1
  152. data/lib/square/types/booking_custom_attribute_delete_request.rb +4 -2
  153. data/lib/square/types/booking_custom_attribute_delete_response.rb +3 -1
  154. data/lib/square/types/booking_custom_attribute_upsert_request.rb +2 -1
  155. data/lib/square/types/booking_custom_attribute_upsert_response.rb +3 -1
  156. data/lib/square/types/booking_updated_event.rb +2 -1
  157. data/lib/square/types/bulk_create_customers_response.rb +1 -3
  158. data/lib/square/types/bulk_delete_booking_custom_attributes_response.rb +4 -4
  159. data/lib/square/types/bulk_delete_customers_response.rb +1 -3
  160. data/lib/square/types/bulk_delete_location_custom_attributes_request_location_custom_attribute_delete_request.rb +2 -1
  161. data/lib/square/types/bulk_delete_location_custom_attributes_response.rb +4 -4
  162. data/lib/square/types/bulk_delete_location_custom_attributes_response_location_custom_attribute_delete_response.rb +2 -1
  163. data/lib/square/types/bulk_delete_merchant_custom_attributes_request_merchant_custom_attribute_delete_request.rb +2 -1
  164. data/lib/square/types/bulk_delete_merchant_custom_attributes_response.rb +4 -4
  165. data/lib/square/types/bulk_delete_merchant_custom_attributes_response_merchant_custom_attribute_delete_response.rb +2 -1
  166. data/lib/square/types/bulk_delete_order_custom_attributes_response.rb +1 -3
  167. data/lib/square/types/bulk_publish_scheduled_shifts_response.rb +1 -3
  168. data/lib/square/types/bulk_retrieve_bookings_response.rb +1 -3
  169. data/lib/square/types/bulk_retrieve_channels_request_constants.rb +23 -0
  170. data/lib/square/types/bulk_retrieve_channels_response.rb +1 -3
  171. data/lib/square/types/bulk_retrieve_customers_response.rb +1 -3
  172. data/lib/square/types/bulk_retrieve_team_member_booking_profiles_response.rb +3 -4
  173. data/lib/square/types/bulk_update_customers_response.rb +1 -3
  174. data/lib/square/types/bulk_upsert_booking_custom_attributes_response.rb +4 -4
  175. data/lib/square/types/bulk_upsert_location_custom_attributes_request_location_custom_attribute_upsert_request.rb +2 -1
  176. data/lib/square/types/bulk_upsert_location_custom_attributes_response.rb +4 -4
  177. data/lib/square/types/bulk_upsert_location_custom_attributes_response_location_custom_attribute_upsert_response.rb +3 -1
  178. data/lib/square/types/bulk_upsert_merchant_custom_attributes_request_merchant_custom_attribute_upsert_request.rb +2 -1
  179. data/lib/square/types/bulk_upsert_merchant_custom_attributes_response.rb +4 -4
  180. data/lib/square/types/bulk_upsert_merchant_custom_attributes_response_merchant_custom_attribute_upsert_response.rb +3 -1
  181. data/lib/square/types/bulk_upsert_order_custom_attributes_response.rb +1 -3
  182. data/lib/square/types/business_appointment_settings.rb +4 -12
  183. data/lib/square/types/business_booking_profile.rb +2 -6
  184. data/lib/square/types/buy_now_pay_later_details.rb +1 -0
  185. data/lib/square/types/card.rb +2 -0
  186. data/lib/square/types/card_issuer_alert.rb +23 -0
  187. data/lib/square/types/catalog_category.rb +1 -3
  188. data/lib/square/types/catalog_custom_attribute_definition.rb +6 -18
  189. data/lib/square/types/catalog_custom_attribute_definition_selection_config.rb +1 -3
  190. data/lib/square/types/catalog_id_mapping.rb +1 -1
  191. data/lib/square/types/catalog_info_response.rb +1 -3
  192. data/lib/square/types/catalog_item.rb +6 -12
  193. data/lib/square/types/catalog_item_food_and_beverage_details.rb +2 -6
  194. data/lib/square/types/catalog_item_food_and_beverage_details_dietary_preference.rb +2 -6
  195. data/lib/square/types/catalog_item_food_and_beverage_details_ingredient.rb +2 -6
  196. data/lib/square/types/catalog_item_modifier_list_info.rb +6 -9
  197. data/lib/square/types/catalog_item_variation.rb +17 -13
  198. data/lib/square/types/catalog_modifier.rb +4 -4
  199. data/lib/square/types/catalog_modifier_list.rb +4 -2
  200. data/lib/square/types/catalog_modifier_override.rb +2 -2
  201. data/lib/square/types/catalog_modifier_toggle_override_type.rb +13 -0
  202. data/lib/square/types/catalog_object.rb +7 -3
  203. data/lib/square/types/catalog_object_base.rb +2 -4
  204. data/lib/square/types/catalog_object_category.rb +3 -4
  205. data/lib/square/types/catalog_object_custom_attribute_definition.rb +1 -3
  206. data/lib/square/types/catalog_object_quick_amounts_settings.rb +1 -3
  207. data/lib/square/types/catalog_object_reference.rb +1 -1
  208. data/lib/square/types/catalog_object_subscription_plan_variation.rb +1 -3
  209. data/lib/square/types/catalog_query.rb +11 -13
  210. data/lib/square/types/catalog_query_prefix.rb +2 -1
  211. data/lib/square/types/catalog_query_text.rb +2 -1
  212. data/lib/square/types/catalog_subscription_plan.rb +5 -5
  213. data/lib/square/types/catalog_subscription_plan_variation.rb +4 -2
  214. data/lib/square/types/catalog_v_1_id.rb +1 -1
  215. data/lib/square/types/catalog_version_updated_event_object.rb +1 -3
  216. data/lib/square/types/checkout.rb +1 -3
  217. data/lib/square/types/checkout_location_settings.rb +1 -3
  218. data/lib/square/types/checkout_location_settings_branding.rb +2 -6
  219. data/lib/square/types/checkout_merchant_settings.rb +1 -3
  220. data/lib/square/types/checkout_merchant_settings_payment_methods.rb +4 -12
  221. data/lib/square/types/checkout_merchant_settings_payment_methods_afterpay_clearpay.rb +2 -6
  222. data/lib/square/types/component.rb +4 -12
  223. data/lib/square/types/create_bank_account_response.rb +11 -0
  224. data/lib/square/types/create_booking_custom_attribute_definition_response.rb +4 -4
  225. data/lib/square/types/create_catalog_image_request.rb +1 -1
  226. data/lib/square/types/create_customer_custom_attribute_definition_response.rb +4 -4
  227. data/lib/square/types/create_location_custom_attribute_definition_response.rb +4 -4
  228. data/lib/square/types/create_merchant_custom_attribute_definition_response.rb +4 -4
  229. data/lib/square/types/create_order_custom_attribute_definition_response.rb +1 -3
  230. data/lib/square/types/create_transfer_order_data.rb +3 -4
  231. data/lib/square/types/create_webhook_subscription_response.rb +2 -1
  232. data/lib/square/types/custom_attribute.rb +1 -1
  233. data/lib/square/types/custom_attribute_definition.rb +1 -3
  234. data/lib/square/types/custom_attribute_definition_event_data_object.rb +1 -3
  235. data/lib/square/types/custom_field.rb +2 -1
  236. data/lib/square/types/customer_address_filter.rb +2 -1
  237. data/lib/square/types/customer_created_event.rb +4 -2
  238. data/lib/square/types/customer_created_event_event_context_merge.rb +2 -1
  239. data/lib/square/types/customer_creation_source_filter.rb +1 -3
  240. data/lib/square/types/customer_custom_attribute_filter.rb +2 -1
  241. data/lib/square/types/customer_custom_attribute_filter_value.rb +2 -1
  242. data/lib/square/types/customer_custom_attribute_filters.rb +7 -6
  243. data/lib/square/types/customer_custom_attribute_visible_updated_event.rb +6 -3
  244. data/lib/square/types/customer_deleted_event.rb +4 -2
  245. data/lib/square/types/customer_deleted_event_event_context_merge.rb +2 -1
  246. data/lib/square/types/customer_tax_ids.rb +4 -2
  247. data/lib/square/types/customer_updated_event.rb +4 -2
  248. data/lib/square/types/delete_booking_custom_attribute_definition_response.rb +5 -2
  249. data/lib/square/types/delete_booking_custom_attribute_response.rb +2 -1
  250. data/lib/square/types/delete_customer_custom_attribute_response.rb +2 -1
  251. data/lib/square/types/delete_location_custom_attribute_response.rb +2 -1
  252. data/lib/square/types/delete_merchant_custom_attribute_response.rb +2 -1
  253. data/lib/square/types/delete_subscription_action_response.rb +2 -1
  254. data/lib/square/types/delete_webhook_subscription_response.rb +2 -1
  255. data/lib/square/types/destination_details.rb +1 -3
  256. data/lib/square/types/device_checkout_options.rb +1 -0
  257. data/lib/square/types/device_component_details_ethernet_details.rb +1 -1
  258. data/lib/square/types/device_component_details_wi_fi_details.rb +1 -1
  259. data/lib/square/types/digital_wallet_details.rb +1 -0
  260. data/lib/square/types/disable_bank_account_response.rb +11 -0
  261. data/lib/square/types/dispute.rb +2 -1
  262. data/lib/square/types/dispute_evidence_added_event.rb +2 -1
  263. data/lib/square/types/dispute_evidence_created_event.rb +2 -1
  264. data/lib/square/types/employee_wage.rb +2 -1
  265. data/lib/square/types/error_code.rb +2 -0
  266. data/lib/square/types/event_data.rb +1 -3
  267. data/lib/square/types/fulfillment.rb +4 -7
  268. data/lib/square/types/fulfillment_delivery_details.rb +1 -3
  269. data/lib/square/types/fulfillment_pickup_details.rb +1 -3
  270. data/lib/square/types/get_bank_account_response.rb +1 -1
  271. data/lib/square/types/get_booking_request.rb +23 -0
  272. data/lib/square/types/get_business_booking_profile_request.rb +23 -0
  273. data/lib/square/types/get_card_request.rb +23 -0
  274. data/lib/square/types/get_catalog_object_response.rb +1 -3
  275. data/lib/square/types/get_customer_custom_attribute_definition_response.rb +4 -4
  276. data/lib/square/types/get_customer_custom_attribute_response.rb +2 -1
  277. data/lib/square/types/get_customer_group_request.rb +23 -0
  278. data/lib/square/types/get_customer_request.rb +23 -0
  279. data/lib/square/types/get_customer_segment_request.rb +23 -0
  280. data/lib/square/types/get_dispute_evidence_request.rb +23 -0
  281. data/lib/square/types/get_dispute_request.rb +23 -0
  282. data/lib/square/types/get_employee_request.rb +23 -0
  283. data/lib/square/types/get_gift_card_request.rb +23 -0
  284. data/lib/square/types/get_inventory_adjustment_request.rb +23 -0
  285. data/lib/square/types/get_inventory_physical_count_request.rb +23 -0
  286. data/lib/square/types/get_inventory_transfer_request.rb +23 -0
  287. data/lib/square/types/get_location_request.rb +23 -0
  288. data/lib/square/types/get_loyalty_account_request.rb +23 -0
  289. data/lib/square/types/get_loyalty_program_request.rb +23 -0
  290. data/lib/square/types/get_loyalty_promotion_request.rb +23 -0
  291. data/lib/square/types/get_loyalty_reward_request.rb +23 -0
  292. data/lib/square/types/get_merchant_request.rb +23 -0
  293. data/lib/square/types/get_order_request.rb +23 -0
  294. data/lib/square/types/get_payment_link_request.rb +23 -0
  295. data/lib/square/types/get_snippet_request.rb +23 -0
  296. data/lib/square/types/get_team_member_booking_profile_request.rb +23 -0
  297. data/lib/square/types/get_team_member_booking_profile_response.rb +1 -3
  298. data/lib/square/types/get_team_member_request.rb +23 -0
  299. data/lib/square/types/get_transaction_request.rb +23 -0
  300. data/lib/square/types/get_vendor_request.rb +23 -0
  301. data/lib/square/types/get_wage_setting_request.rb +23 -0
  302. data/lib/square/types/get_webhook_subscription_request.rb +23 -0
  303. data/lib/square/types/get_webhook_subscription_response.rb +2 -1
  304. data/lib/square/types/gift_card_activity.rb +8 -24
  305. data/lib/square/types/gift_card_activity_block_reason.rb +23 -0
  306. data/lib/square/types/gift_card_activity_unblock_reason.rb +23 -0
  307. data/lib/square/types/gift_card_activity_updated_event.rb +2 -1
  308. data/lib/square/types/inventory_count_updated_event_object.rb +1 -3
  309. data/lib/square/types/invoice.rb +6 -13
  310. data/lib/square/types/invoice_accepted_payment_methods.rb +2 -1
  311. data/lib/square/types/invoice_attachment.rb +1 -1
  312. data/lib/square/types/invoice_custom_field.rb +2 -1
  313. data/lib/square/types/invoice_payment_made_event.rb +2 -1
  314. data/lib/square/types/invoice_payment_request.rb +6 -8
  315. data/lib/square/types/invoice_refunded_event.rb +2 -1
  316. data/lib/square/types/invoice_sort_field.rb +23 -0
  317. data/lib/square/types/labor_scheduled_shift_created_event_object.rb +1 -1
  318. data/lib/square/types/labor_scheduled_shift_published_event_object.rb +1 -1
  319. data/lib/square/types/labor_scheduled_shift_updated_event_object.rb +1 -1
  320. data/lib/square/types/list_bank_accounts_response.rb +1 -1
  321. data/lib/square/types/list_booking_custom_attribute_definitions_response.rb +4 -4
  322. data/lib/square/types/list_booking_custom_attributes_response.rb +3 -4
  323. data/lib/square/types/list_cash_drawer_shift_events_response.rb +1 -3
  324. data/lib/square/types/list_cash_drawer_shifts_response.rb +1 -3
  325. data/lib/square/types/list_channels_request_constants.rb +23 -0
  326. data/lib/square/types/list_customer_custom_attribute_definitions_response.rb +4 -4
  327. data/lib/square/types/list_customer_custom_attributes_response.rb +3 -4
  328. data/lib/square/types/list_gift_card_activities_response.rb +1 -3
  329. data/lib/square/types/list_location_booking_profiles_response.rb +1 -3
  330. data/lib/square/types/list_location_custom_attribute_definitions_response.rb +4 -4
  331. data/lib/square/types/list_location_custom_attributes_response.rb +3 -4
  332. data/lib/square/types/list_loyalty_promotions_response.rb +1 -3
  333. data/lib/square/types/list_merchant_custom_attribute_definitions_response.rb +4 -4
  334. data/lib/square/types/list_merchant_custom_attributes_response.rb +3 -4
  335. data/lib/square/types/list_order_custom_attribute_definitions_response.rb +1 -3
  336. data/lib/square/types/list_order_custom_attributes_response.rb +1 -3
  337. data/lib/square/types/list_subscription_events_response.rb +1 -3
  338. data/lib/square/types/list_team_member_booking_profiles_response.rb +1 -3
  339. data/lib/square/types/list_team_member_wages_response.rb +1 -3
  340. data/lib/square/types/list_webhook_subscriptions_response.rb +1 -3
  341. data/lib/square/types/list_workweek_configs_response.rb +1 -3
  342. data/lib/square/types/location.rb +1 -3
  343. data/lib/square/types/location_booking_profile.rb +2 -1
  344. data/lib/square/types/location_custom_attribute_visible_updated_event.rb +6 -3
  345. data/lib/square/types/loyalty_account.rb +1 -3
  346. data/lib/square/types/loyalty_account_mapping_type.rb +23 -0
  347. data/lib/square/types/loyalty_event.rb +3 -4
  348. data/lib/square/types/loyalty_event_filter.rb +1 -3
  349. data/lib/square/types/loyalty_program.rb +4 -7
  350. data/lib/square/types/loyalty_program_accrual_rule.rb +3 -4
  351. data/lib/square/types/loyalty_program_reward_tier.rb +3 -1
  352. data/lib/square/types/loyalty_promotion_incentive.rb +2 -6
  353. data/lib/square/types/loyalty_promotion_incentive_points_addition_data.rb +2 -1
  354. data/lib/square/types/loyalty_promotion_incentive_points_multiplier_data.rb +2 -1
  355. data/lib/square/types/loyalty_promotion_trigger_limit.rb +2 -1
  356. data/lib/square/types/loyalty_reward.rb +4 -2
  357. data/lib/square/types/measurement_unit_generic.rb +23 -0
  358. data/lib/square/types/oauth_authorization_revoked_event_object.rb +1 -3
  359. data/lib/square/types/oauth_authorization_revoked_event_revocation_object.rb +1 -3
  360. data/lib/square/types/order.rb +2 -6
  361. data/lib/square/types/order_card_surcharge_treatment_type.rb +12 -0
  362. data/lib/square/types/order_custom_attribute_definition_owned_created_event.rb +2 -1
  363. data/lib/square/types/order_custom_attribute_definition_owned_deleted_event.rb +2 -1
  364. data/lib/square/types/order_custom_attribute_definition_owned_updated_event.rb +2 -1
  365. data/lib/square/types/order_custom_attribute_definition_visible_created_event.rb +2 -1
  366. data/lib/square/types/order_custom_attribute_definition_visible_deleted_event.rb +2 -1
  367. data/lib/square/types/order_custom_attribute_definition_visible_updated_event.rb +2 -1
  368. data/lib/square/types/order_custom_attribute_owned_deleted_event.rb +2 -1
  369. data/lib/square/types/order_custom_attribute_owned_updated_event.rb +2 -1
  370. data/lib/square/types/order_custom_attribute_visible_deleted_event.rb +2 -1
  371. data/lib/square/types/order_custom_attribute_visible_updated_event.rb +2 -1
  372. data/lib/square/types/order_fulfillment_updated.rb +1 -3
  373. data/lib/square/types/order_line_item.rb +4 -12
  374. data/lib/square/types/order_line_item_applied_tax.rb +1 -0
  375. data/lib/square/types/order_line_item_pricing_blocklists.rb +3 -6
  376. data/lib/square/types/order_line_item_pricing_blocklists_blocked_service_charge.rb +14 -0
  377. data/lib/square/types/order_return.rb +3 -9
  378. data/lib/square/types/order_return_line_item.rb +4 -12
  379. data/lib/square/types/order_return_service_charge.rb +3 -6
  380. data/lib/square/types/order_service_charge.rb +2 -6
  381. data/lib/square/types/payment.rb +1 -3
  382. data/lib/square/types/payment_link_related_resources.rb +1 -3
  383. data/lib/square/types/payment_refund.rb +1 -3
  384. data/lib/square/types/payout_entry.rb +24 -72
  385. data/lib/square/types/pre_populated_data.rb +2 -1
  386. data/lib/square/types/product_type.rb +23 -0
  387. data/lib/square/types/refund.rb +1 -3
  388. data/lib/square/types/retrieve_booking_custom_attribute_definition_response.rb +4 -4
  389. data/lib/square/types/retrieve_booking_custom_attribute_response.rb +2 -1
  390. data/lib/square/types/retrieve_location_custom_attribute_definition_response.rb +4 -4
  391. data/lib/square/types/retrieve_location_custom_attribute_response.rb +2 -1
  392. data/lib/square/types/retrieve_merchant_custom_attribute_definition_response.rb +4 -4
  393. data/lib/square/types/retrieve_merchant_custom_attribute_response.rb +2 -1
  394. data/lib/square/types/retrieve_order_custom_attribute_definition_response.rb +1 -3
  395. data/lib/square/types/scheduled_shift_filter.rb +3 -7
  396. data/lib/square/types/scheduled_shift_workday.rb +1 -3
  397. data/lib/square/types/search_availability_filter.rb +1 -3
  398. data/lib/square/types/search_catalog_items_response.rb +2 -1
  399. data/lib/square/types/search_catalog_objects_response.rb +1 -3
  400. data/lib/square/types/search_events_sort_field.rb +23 -0
  401. data/lib/square/types/search_loyalty_accounts_request_loyalty_account_query.rb +1 -3
  402. data/lib/square/types/search_loyalty_accounts_response.rb +1 -3
  403. data/lib/square/types/search_orders_date_time_filter.rb +2 -1
  404. data/lib/square/types/search_orders_fulfillment_filter.rb +2 -6
  405. data/lib/square/types/search_orders_source_filter.rb +2 -0
  406. data/lib/square/types/search_scheduled_shifts_response.rb +1 -3
  407. data/lib/square/types/search_transfer_orders_response.rb +1 -3
  408. data/lib/square/types/shift_filter.rb +3 -2
  409. data/lib/square/types/shift_query.rb +2 -1
  410. data/lib/square/types/shift_sort.rb +2 -1
  411. data/lib/square/types/shift_wage.rb +2 -1
  412. data/lib/square/types/shift_workday.rb +2 -1
  413. data/lib/square/types/snippet.rb +2 -1
  414. data/lib/square/types/standard_unit_description_group.rb +1 -3
  415. data/lib/square/types/subscription_event.rb +1 -3
  416. data/lib/square/types/subscription_phase.rb +2 -1
  417. data/lib/square/types/subscription_test_result.rb +5 -3
  418. data/lib/square/types/team_member_assigned_locations.rb +1 -3
  419. data/lib/square/types/team_member_booking_profile.rb +2 -1
  420. data/lib/square/types/tender.rb +2 -6
  421. data/lib/square/types/tender_buy_now_pay_later_details.rb +1 -3
  422. data/lib/square/types/terminal_refund.rb +2 -1
  423. data/lib/square/types/test_webhook_subscription_response.rb +5 -5
  424. data/lib/square/types/timecard_filter.rb +1 -1
  425. data/lib/square/types/transfer_order.rb +1 -3
  426. data/lib/square/types/transfer_order_filter.rb +1 -3
  427. data/lib/square/types/transfer_order_goods_receipt.rb +1 -3
  428. data/lib/square/types/update_booking_custom_attribute_definition_response.rb +4 -4
  429. data/lib/square/types/update_customer_custom_attribute_definition_response.rb +4 -4
  430. data/lib/square/types/update_location_custom_attribute_definition_response.rb +4 -4
  431. data/lib/square/types/update_merchant_custom_attribute_definition_response.rb +4 -4
  432. data/lib/square/types/update_order_custom_attribute_definition_response.rb +1 -3
  433. data/lib/square/types/update_transfer_order_data.rb +1 -3
  434. data/lib/square/types/update_webhook_subscription_response.rb +2 -1
  435. data/lib/square/types/update_webhook_subscription_signature_key_response.rb +3 -1
  436. data/lib/square/types/upsert_booking_custom_attribute_response.rb +2 -1
  437. data/lib/square/types/upsert_catalog_object_response.rb +1 -3
  438. data/lib/square/types/upsert_customer_custom_attribute_response.rb +2 -1
  439. data/lib/square/types/upsert_location_custom_attribute_response.rb +2 -1
  440. data/lib/square/types/upsert_merchant_custom_attribute_response.rb +2 -1
  441. data/lib/square/types/v_1_get_payment_request.rb +23 -0
  442. data/lib/square/types/v_1_get_settlement_request.rb +23 -0
  443. data/lib/square/types/v_1_order.rb +1 -3
  444. data/lib/square/types/vendor_created_event_object_operation.rb +23 -0
  445. data/lib/square/types/vendor_updated_event_object_operation.rb +23 -0
  446. data/lib/square/types/wage_setting.rb +1 -3
  447. data/lib/square/v_1_transactions/client.rb +72 -29
  448. data/lib/square/vendors/client.rb +126 -51
  449. data/lib/square/vendors/types/batch_update_vendors_request.rb +1 -3
  450. data/lib/square/version.rb +1 -1
  451. data/lib/square/webhooks/client.rb +3 -1
  452. data/lib/square/webhooks/event_types/client.rb +25 -14
  453. data/lib/square/webhooks/subscriptions/client.rb +164 -69
  454. data/lib/square.rb +57 -5
  455. data/lib/square_legacy/utilities/webhooks_helper.rb +1 -1
  456. data/reference.md +29588 -0
  457. data/wiremock/docker-compose.test.yml +14 -0
  458. data/wiremock/wiremock-mappings.json +1 -0
  459. metadata +69 -45
  460. data/lib/square/mobile/client.rb +0 -50
  461. data/lib/square/mobile/types/create_mobile_authorization_code_request.rb +0 -11
  462. data/lib/square/types/create_mobile_authorization_code_response.rb +0 -13
  463. data/test/square/integration/client_tests/test_cash_drawers.rb +0 -27
  464. data/test/square/integration/client_tests/test_catalog.rb +0 -704
  465. data/test/square/integration/client_tests/test_customers.rb +0 -65
  466. data/test/square/integration/client_tests/test_customers_groups.rb +0 -144
  467. data/test/square/integration/client_tests/test_customers_segments.rb +0 -36
  468. data/test/square/integration/client_tests/test_devices.rb +0 -67
  469. data/test/square/integration/client_tests/test_inventory.rb +0 -28
  470. data/test/square/integration/client_tests/test_locations.rb +0 -18
  471. data/test/square/integration/client_tests/test_merchants.rb +0 -40
  472. data/test/square/integration/client_tests/test_mobile.rb +0 -21
  473. data/test/square/integration/client_tests/test_orders.rb +0 -177
  474. data/test/square/integration/client_tests/test_payments.rb +0 -167
  475. data/test/square/integration/client_tests/test_refunds.rb +0 -133
  476. data/test/square/integration/client_tests/test_team_members.rb +0 -97
  477. data/test/square/integration/client_tests/test_terminal.rb +0 -107
  478. data/test/square/integration/integration_test_base.rb +0 -16
  479. data/test/square/integration/testdata/image.jpeg +0 -0
  480. data/test/square/internal/multipart/test_form_data.rb +0 -311
  481. data/test/square/internal/types/test_array.rb +0 -37
  482. data/test/square/internal/types/test_boolean.rb +0 -35
  483. data/test/square/internal/types/test_enum.rb +0 -42
  484. data/test/square/internal/types/test_hash.rb +0 -50
  485. data/test/square/internal/types/test_model.rb +0 -105
  486. data/test/square/internal/types/test_union.rb +0 -52
  487. data/test/square/internal/types/test_utils.rb +0 -216
  488. data/test/square_legacy/api/api_test_base.rb +0 -27
  489. data/test/square_legacy/api/test_catalog_api.rb +0 -57
  490. data/test/square_legacy/api/test_customers_api.rb +0 -43
  491. data/test/square_legacy/api/test_employees_api.rb +0 -34
  492. data/test/square_legacy/api/test_labor_api.rb +0 -82
  493. data/test/square_legacy/api/test_locations_api.rb +0 -22
  494. data/test/square_legacy/api/test_merchants_api.rb +0 -38
  495. data/test/square_legacy/api/test_payments_api.rb +0 -40
  496. data/test/square_legacy/api/test_refunds_api.rb +0 -42
  497. data/test/square_legacy/http_response_catcher.rb +0 -14
  498. data/test/square_legacy/webhooks/test_webhooks_helper.rb +0 -153
  499. data/test/test_helper.rb +0 -123
@@ -3,58 +3,93 @@
3
3
  module Square
4
4
  module Employees
5
5
  class Client
6
- # @return [Square::Employees::Client]
6
+ # @param client [Square::Internal::Http::RawClient]
7
+ #
8
+ # @return [void]
7
9
  def initialize(client:)
8
10
  @client = client
9
11
  end
10
12
 
13
+ # @param request_options [Hash]
14
+ # @param params [Hash]
15
+ # @option request_options [String] :base_url
16
+ # @option request_options [Hash{String => Object}] :additional_headers
17
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
18
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
19
+ # @option request_options [Integer] :timeout_in_seconds
20
+ # @option params [String, nil] :location_id
21
+ # @option params [Square::Types::EmployeeStatus, nil] :status
22
+ # @option params [Integer, nil] :limit
23
+ # @option params [String, nil] :cursor
24
+ #
11
25
  # @return [Square::Types::ListEmployeesResponse]
12
26
  def list(request_options: {}, **params)
13
- _query_param_names = [
14
- %w[location_id status limit cursor],
15
- %i[location_id status limit cursor]
16
- ].flatten
17
- _query = params.slice(*_query_param_names)
18
- params.except(*_query_param_names)
27
+ params = Square::Internal::Types::Utils.normalize_keys(params)
28
+ query_param_names = %i[location_id status limit cursor]
29
+ query_params = {}
30
+ query_params["location_id"] = params[:location_id] if params.key?(:location_id)
31
+ query_params["status"] = params[:status] if params.key?(:status)
32
+ query_params["limit"] = params[:limit] if params.key?(:limit)
33
+ query_params["cursor"] = params[:cursor] if params.key?(:cursor)
34
+ params.except(*query_param_names)
19
35
 
20
- _request = Square::Internal::JSON::Request.new(
21
- base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
22
- method: "GET",
23
- path: "v2/employees",
24
- query: _query
25
- )
26
- begin
27
- _response = @client.send(_request)
28
- rescue Net::HTTPRequestTimeout
29
- raise Square::Errors::TimeoutError
30
- end
31
- code = _response.code.to_i
32
- if code.between?(200, 299)
33
- Square::Types::ListEmployeesResponse.load(_response.body)
34
- else
35
- error_class = Square::Errors::ResponseError.subclass_for_code(code)
36
- raise error_class.new(_response.body, code: code)
36
+ Square::Internal::CursorItemIterator.new(
37
+ cursor_field: :cursor,
38
+ item_field: :employees,
39
+ initial_cursor: query_params[:cursor]
40
+ ) do |next_cursor|
41
+ query_params[:cursor] = next_cursor
42
+ request = Square::Internal::JSON::Request.new(
43
+ base_url: request_options[:base_url],
44
+ method: "GET",
45
+ path: "v2/employees",
46
+ query: query_params,
47
+ request_options: request_options
48
+ )
49
+ begin
50
+ response = @client.send(request)
51
+ rescue Net::HTTPRequestTimeout
52
+ raise Square::Errors::TimeoutError
53
+ end
54
+ code = response.code.to_i
55
+ if code.between?(200, 299)
56
+ Square::Types::ListEmployeesResponse.load(response.body)
57
+ else
58
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
59
+ raise error_class.new(response.body, code: code)
60
+ end
37
61
  end
38
62
  end
39
63
 
64
+ # @param request_options [Hash]
65
+ # @param params [Hash]
66
+ # @option request_options [String] :base_url
67
+ # @option request_options [Hash{String => Object}] :additional_headers
68
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
69
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
70
+ # @option request_options [Integer] :timeout_in_seconds
71
+ # @option params [String] :id
72
+ #
40
73
  # @return [Square::Types::GetEmployeeResponse]
41
74
  def get(request_options: {}, **params)
42
- _request = Square::Internal::JSON::Request.new(
43
- base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
75
+ params = Square::Internal::Types::Utils.normalize_keys(params)
76
+ request = Square::Internal::JSON::Request.new(
77
+ base_url: request_options[:base_url],
44
78
  method: "GET",
45
- path: "v2/employees/#{params[:id]}"
79
+ path: "v2/employees/#{params[:id]}",
80
+ request_options: request_options
46
81
  )
47
82
  begin
48
- _response = @client.send(_request)
83
+ response = @client.send(request)
49
84
  rescue Net::HTTPRequestTimeout
50
85
  raise Square::Errors::TimeoutError
51
86
  end
52
- code = _response.code.to_i
87
+ code = response.code.to_i
53
88
  if code.between?(200, 299)
54
- Square::Types::GetEmployeeResponse.load(_response.body)
89
+ Square::Types::GetEmployeeResponse.load(response.body)
55
90
  else
56
91
  error_class = Square::Errors::ResponseError.subclass_for_code(code)
57
- raise error_class.new(_response.body, code: code)
92
+ raise error_class.new(response.body, code: code)
58
93
  end
59
94
  end
60
95
  end
@@ -3,111 +3,153 @@
3
3
  module Square
4
4
  module Events
5
5
  class Client
6
- # @return [Square::Events::Client]
6
+ # @param client [Square::Internal::Http::RawClient]
7
+ #
8
+ # @return [void]
7
9
  def initialize(client:)
8
10
  @client = client
9
11
  end
10
12
 
11
13
  # Search for Square API events that occur within a 28-day timeframe.
12
14
  #
15
+ # @param request_options [Hash]
16
+ # @param params [Square::Events::Types::SearchEventsRequest]
17
+ # @option request_options [String] :base_url
18
+ # @option request_options [Hash{String => Object}] :additional_headers
19
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
20
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
21
+ # @option request_options [Integer] :timeout_in_seconds
22
+ #
13
23
  # @return [Square::Types::SearchEventsResponse]
14
24
  def search_events(request_options: {}, **params)
15
- _request = Square::Internal::JSON::Request.new(
16
- base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
25
+ params = Square::Internal::Types::Utils.normalize_keys(params)
26
+ request = Square::Internal::JSON::Request.new(
27
+ base_url: request_options[:base_url],
17
28
  method: "POST",
18
29
  path: "v2/events",
19
- body: params
30
+ body: Square::Events::Types::SearchEventsRequest.new(params).to_h,
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::SearchEventsResponse.load(_response.body)
40
+ Square::Types::SearchEventsResponse.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
 
35
47
  # Disables events to prevent them from being searchable.
36
48
  # All events are disabled by default. You must enable events to make them searchable.
37
- # Disabling events for a specific time period prevents them from being searchable, even if you re-enable them later.
49
+ # Disabling events for a specific time period prevents them from being searchable, even if you re-enable them
50
+ # later.
51
+ #
52
+ # @param request_options [Hash]
53
+ # @param params [Hash]
54
+ # @option request_options [String] :base_url
55
+ # @option request_options [Hash{String => Object}] :additional_headers
56
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
57
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
58
+ # @option request_options [Integer] :timeout_in_seconds
38
59
  #
39
60
  # @return [Square::Types::DisableEventsResponse]
40
- def disable_events(request_options: {}, **_params)
41
- _request = Square::Internal::JSON::Request.new(
42
- base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
61
+ def disable_events(request_options: {}, **params)
62
+ Square::Internal::Types::Utils.normalize_keys(params)
63
+ request = Square::Internal::JSON::Request.new(
64
+ base_url: request_options[:base_url],
43
65
  method: "PUT",
44
- path: "v2/events/disable"
66
+ path: "v2/events/disable",
67
+ request_options: request_options
45
68
  )
46
69
  begin
47
- _response = @client.send(_request)
70
+ response = @client.send(request)
48
71
  rescue Net::HTTPRequestTimeout
49
72
  raise Square::Errors::TimeoutError
50
73
  end
51
- code = _response.code.to_i
74
+ code = response.code.to_i
52
75
  if code.between?(200, 299)
53
- Square::Types::DisableEventsResponse.load(_response.body)
76
+ Square::Types::DisableEventsResponse.load(response.body)
54
77
  else
55
78
  error_class = Square::Errors::ResponseError.subclass_for_code(code)
56
- raise error_class.new(_response.body, code: code)
79
+ raise error_class.new(response.body, code: code)
57
80
  end
58
81
  end
59
82
 
60
83
  # Enables events to make them searchable. Only events that occur while in the enabled state are searchable.
61
84
  #
85
+ # @param request_options [Hash]
86
+ # @param params [Hash]
87
+ # @option request_options [String] :base_url
88
+ # @option request_options [Hash{String => Object}] :additional_headers
89
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
90
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
91
+ # @option request_options [Integer] :timeout_in_seconds
92
+ #
62
93
  # @return [Square::Types::EnableEventsResponse]
63
- def enable_events(request_options: {}, **_params)
64
- _request = Square::Internal::JSON::Request.new(
65
- base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
94
+ def enable_events(request_options: {}, **params)
95
+ Square::Internal::Types::Utils.normalize_keys(params)
96
+ request = Square::Internal::JSON::Request.new(
97
+ base_url: request_options[:base_url],
66
98
  method: "PUT",
67
- path: "v2/events/enable"
99
+ path: "v2/events/enable",
100
+ request_options: request_options
68
101
  )
69
102
  begin
70
- _response = @client.send(_request)
103
+ response = @client.send(request)
71
104
  rescue Net::HTTPRequestTimeout
72
105
  raise Square::Errors::TimeoutError
73
106
  end
74
- code = _response.code.to_i
107
+ code = response.code.to_i
75
108
  if code.between?(200, 299)
76
- Square::Types::EnableEventsResponse.load(_response.body)
109
+ Square::Types::EnableEventsResponse.load(response.body)
77
110
  else
78
111
  error_class = Square::Errors::ResponseError.subclass_for_code(code)
79
- raise error_class.new(_response.body, code: code)
112
+ raise error_class.new(response.body, code: code)
80
113
  end
81
114
  end
82
115
 
83
116
  # Lists all event types that you can subscribe to as webhooks or query using the Events API.
84
117
  #
118
+ # @param request_options [Hash]
119
+ # @param params [Hash]
120
+ # @option request_options [String] :base_url
121
+ # @option request_options [Hash{String => Object}] :additional_headers
122
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
123
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
124
+ # @option request_options [Integer] :timeout_in_seconds
125
+ # @option params [String, nil] :api_version
126
+ #
85
127
  # @return [Square::Types::ListEventTypesResponse]
86
128
  def list_event_types(request_options: {}, **params)
87
- _query_param_names = [
88
- ["api_version"],
89
- %i[api_version]
90
- ].flatten
91
- _query = params.slice(*_query_param_names)
92
- params.except(*_query_param_names)
129
+ params = Square::Internal::Types::Utils.normalize_keys(params)
130
+ query_param_names = %i[api_version]
131
+ query_params = {}
132
+ query_params["api_version"] = params[:api_version] if params.key?(:api_version)
133
+ params.except(*query_param_names)
93
134
 
94
- _request = Square::Internal::JSON::Request.new(
95
- base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
135
+ request = Square::Internal::JSON::Request.new(
136
+ base_url: request_options[:base_url],
96
137
  method: "GET",
97
138
  path: "v2/events/types",
98
- query: _query
139
+ query: query_params,
140
+ request_options: request_options
99
141
  )
100
142
  begin
101
- _response = @client.send(_request)
143
+ response = @client.send(request)
102
144
  rescue Net::HTTPRequestTimeout
103
145
  raise Square::Errors::TimeoutError
104
146
  end
105
- code = _response.code.to_i
147
+ code = response.code.to_i
106
148
  if code.between?(200, 299)
107
- Square::Types::ListEventTypesResponse.load(_response.body)
149
+ Square::Types::ListEventTypesResponse.load(response.body)
108
150
  else
109
151
  error_class = Square::Errors::ResponseError.subclass_for_code(code)
110
- raise error_class.new(_response.body, code: code)
152
+ raise error_class.new(response.body, code: code)
111
153
  end
112
154
  end
113
155
  end
@@ -1,83 +1,83 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Square
4
- # FileParam is a utility class for handling files in multipart form data.
4
+ # FileParam is a utility class for handling files in multipart form data.
5
+ #
6
+ # @attr_reader [IO] io The readable object
7
+ # @attr_reader [String, nil] filename The filename
8
+ # @attr_reader [String, nil] content_type The content type
9
+ class FileParam
10
+ attr_reader :io, :filename, :content_type
11
+
12
+ # Create a new file parameter.
5
13
  #
6
- # @attr_reader [IO] io The readable object
7
- # @attr_reader [String, nil] filename The filename
8
- # @attr_reader [String, nil] content_type The content type
9
- class FileParam
10
- attr_reader :io, :filename, :content_type
11
-
12
- # Create a new file parameter.
13
- #
14
- # @param io [#read] A readable object (File, StringIO, etc.)
15
- # @param filename [String, nil] Optional filename
16
- # @param content_type [String, nil] Optional content type
17
- def initialize(io:, filename: nil, content_type: nil)
18
- @io = io
19
- @filename = filename
20
- @content_type = content_type
21
- end
22
-
23
- # Creates a FileParam instance from a filepath.
24
- #
25
- # @param filepath [String] Path to the file
26
- # @param filename [String, nil] Optional filename (defaults to basename of filepath)
27
- # @param content_type [String, nil] Optional content type
28
- # @return [FileParam] A new FileParam instance
29
- # @raise [StandardError] If the file cannot be opened or read
30
- def self.from_filepath(filepath:, filename: nil, content_type: nil)
31
- begin
32
- file = File.open(filepath, "rb")
33
- rescue StandardError => e
34
- raise "Unable to open file #{filepath}: #{e.message}"
35
- end
36
-
37
- new(
38
- io: file,
39
- filename: filename || File.basename(filepath),
40
- content_type: content_type
41
- )
42
- end
43
-
44
- # Creates a FileParam instance from a string.
45
- #
46
- # @param content [String] The content string
47
- # @param filename [String, nil] Required filename
48
- # @param content_type [String, nil] Optional content type
49
- # @return [FileParam] A new FileParam instance
50
- def self.from_string(content:, filename:, content_type: nil)
51
- new(
52
- io: StringIO.new(content),
53
- filename: filename,
54
- content_type: content_type
55
- )
56
- end
57
-
58
- # Maps this FileParam to a FormDataPart.
59
- #
60
- # @param name [String] The name of the form field
61
- # @param content_type [String, nil] Overrides the content type, if provided
62
- # @return [Square::Internal::Multipart::FormDataPart] A multipart form data part representing this file
63
- def to_form_data_part(name:, content_type: nil)
64
- content_type ||= @content_type
65
- headers = content_type ? { "Content-Type" => content_type } : nil
66
-
67
- Square::Internal::Multipart::FormDataPart.new(
68
- name: name,
69
- value: @io,
70
- filename: @filename,
71
- headers: headers
72
- )
73
- end
74
-
75
- # Closes the file IO if it responds to close.
76
- #
77
- # @return [nil]
78
- def close
79
- @io.close if @io.respond_to?(:close)
80
- nil
14
+ # @param io [#read] A readable object (File, StringIO, etc.)
15
+ # @param filename [String, nil] Optional filename
16
+ # @param content_type [String, nil] Optional content type
17
+ def initialize(io:, filename: nil, content_type: nil)
18
+ @io = io
19
+ @filename = filename
20
+ @content_type = content_type
21
+ end
22
+
23
+ # Creates a FileParam instance from a filepath.
24
+ #
25
+ # @param filepath [String] Path to the file
26
+ # @param filename [String, nil] Optional filename (defaults to basename of filepath)
27
+ # @param content_type [String, nil] Optional content type
28
+ # @return [FileParam] A new FileParam instance
29
+ # @raise [StandardError] If the file cannot be opened or read
30
+ def self.from_filepath(filepath:, filename: nil, content_type: nil)
31
+ begin
32
+ file = File.open(filepath, "rb")
33
+ rescue StandardError => e
34
+ raise "Unable to open file #{filepath}: #{e.message}"
81
35
  end
36
+
37
+ new(
38
+ io: file,
39
+ filename: filename || File.basename(filepath),
40
+ content_type: content_type
41
+ )
42
+ end
43
+
44
+ # Creates a FileParam instance from a string.
45
+ #
46
+ # @param content [String] The content string
47
+ # @param filename [String, nil] Required filename
48
+ # @param content_type [String, nil] Optional content type
49
+ # @return [FileParam] A new FileParam instance
50
+ def self.from_string(content:, filename:, content_type: nil)
51
+ new(
52
+ io: StringIO.new(content),
53
+ filename: filename,
54
+ content_type: content_type
55
+ )
56
+ end
57
+
58
+ # Maps this FileParam to a FormDataPart.
59
+ #
60
+ # @param name [String] The name of the form field
61
+ # @param content_type [String, nil] Overrides the content type, if provided
62
+ # @return [Square::Internal::Multipart::FormDataPart] A multipart form data part representing this file
63
+ def to_form_data_part(name:, content_type: nil)
64
+ content_type ||= @content_type
65
+ headers = content_type ? { "Content-Type" => content_type } : nil
66
+
67
+ Square::Internal::Multipart::FormDataPart.new(
68
+ name: name,
69
+ value: @io,
70
+ filename: @filename,
71
+ headers: headers
72
+ )
73
+ end
74
+
75
+ # Closes the file IO if it responds to close.
76
+ #
77
+ # @return [nil]
78
+ def close
79
+ @io.close if @io.respond_to?(:close)
80
+ nil
82
81
  end
83
- end
82
+ end
83
+ end
@@ -4,7 +4,9 @@ module Square
4
4
  module GiftCards
5
5
  module Activities
6
6
  class Client
7
- # @return [Square::GiftCards::Activities::Client]
7
+ # @param client [Square::Internal::Http::RawClient]
8
+ #
9
+ # @return [void]
8
10
  def initialize(client:)
9
11
  @client = client
10
12
  end
@@ -14,57 +16,97 @@ module Square
14
16
  # filter the list. For example, you can get a list of gift card activities for a gift card,
15
17
  # for all gift cards in a specific region, or for activities within a time window.
16
18
  #
19
+ # @param request_options [Hash]
20
+ # @param params [Hash]
21
+ # @option request_options [String] :base_url
22
+ # @option request_options [Hash{String => Object}] :additional_headers
23
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
24
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
25
+ # @option request_options [Integer] :timeout_in_seconds
26
+ # @option params [String, nil] :gift_card_id
27
+ # @option params [String, nil] :type
28
+ # @option params [String, nil] :location_id
29
+ # @option params [String, nil] :begin_time
30
+ # @option params [String, nil] :end_time
31
+ # @option params [Integer, nil] :limit
32
+ # @option params [String, nil] :cursor
33
+ # @option params [String, nil] :sort_order
34
+ #
17
35
  # @return [Square::Types::ListGiftCardActivitiesResponse]
18
36
  def list(request_options: {}, **params)
19
- _query_param_names = [
20
- %w[gift_card_id type location_id begin_time end_time limit cursor sort_order],
21
- %i[gift_card_id type location_id begin_time end_time limit cursor sort_order]
22
- ].flatten
23
- _query = params.slice(*_query_param_names)
24
- params.except(*_query_param_names)
37
+ params = Square::Internal::Types::Utils.normalize_keys(params)
38
+ query_param_names = %i[gift_card_id type location_id begin_time end_time limit cursor sort_order]
39
+ query_params = {}
40
+ query_params["gift_card_id"] = params[:gift_card_id] if params.key?(:gift_card_id)
41
+ query_params["type"] = params[:type] if params.key?(:type)
42
+ query_params["location_id"] = params[:location_id] if params.key?(:location_id)
43
+ query_params["begin_time"] = params[:begin_time] if params.key?(:begin_time)
44
+ query_params["end_time"] = params[:end_time] if params.key?(:end_time)
45
+ query_params["limit"] = params[:limit] if params.key?(:limit)
46
+ query_params["cursor"] = params[:cursor] if params.key?(:cursor)
47
+ query_params["sort_order"] = params[:sort_order] if params.key?(:sort_order)
48
+ params.except(*query_param_names)
25
49
 
26
- _request = Square::Internal::JSON::Request.new(
27
- base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
28
- method: "GET",
29
- path: "v2/gift-cards/activities",
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::ListGiftCardActivitiesResponse.load(_response.body)
40
- else
41
- error_class = Square::Errors::ResponseError.subclass_for_code(code)
42
- raise error_class.new(_response.body, code: code)
50
+ Square::Internal::CursorItemIterator.new(
51
+ cursor_field: :cursor,
52
+ item_field: :gift_card_activities,
53
+ initial_cursor: query_params[:cursor]
54
+ ) do |next_cursor|
55
+ query_params[:cursor] = next_cursor
56
+ request = Square::Internal::JSON::Request.new(
57
+ base_url: request_options[:base_url],
58
+ method: "GET",
59
+ path: "v2/gift-cards/activities",
60
+ query: query_params,
61
+ request_options: request_options
62
+ )
63
+ begin
64
+ response = @client.send(request)
65
+ rescue Net::HTTPRequestTimeout
66
+ raise Square::Errors::TimeoutError
67
+ end
68
+ code = response.code.to_i
69
+ if code.between?(200, 299)
70
+ Square::Types::ListGiftCardActivitiesResponse.load(response.body)
71
+ else
72
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
73
+ raise error_class.new(response.body, code: code)
74
+ end
43
75
  end
44
76
  end
45
77
 
46
78
  # Creates a gift card activity to manage the balance or state of a [gift card](entity:GiftCard).
47
79
  # For example, create an `ACTIVATE` activity to activate a gift card with an initial balance before first use.
48
80
  #
81
+ # @param request_options [Hash]
82
+ # @param params [Square::GiftCards::Activities::Types::CreateGiftCardActivityRequest]
83
+ # @option request_options [String] :base_url
84
+ # @option request_options [Hash{String => Object}] :additional_headers
85
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
86
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
87
+ # @option request_options [Integer] :timeout_in_seconds
88
+ #
49
89
  # @return [Square::Types::CreateGiftCardActivityResponse]
50
90
  def create(request_options: {}, **params)
51
- _request = Square::Internal::JSON::Request.new(
52
- base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
91
+ params = Square::Internal::Types::Utils.normalize_keys(params)
92
+ request = Square::Internal::JSON::Request.new(
93
+ base_url: request_options[:base_url],
53
94
  method: "POST",
54
95
  path: "v2/gift-cards/activities",
55
- body: params
96
+ body: Square::GiftCards::Activities::Types::CreateGiftCardActivityRequest.new(params).to_h,
97
+ request_options: request_options
56
98
  )
57
99
  begin
58
- _response = @client.send(_request)
100
+ response = @client.send(request)
59
101
  rescue Net::HTTPRequestTimeout
60
102
  raise Square::Errors::TimeoutError
61
103
  end
62
- code = _response.code.to_i
104
+ code = response.code.to_i
63
105
  if code.between?(200, 299)
64
- Square::Types::CreateGiftCardActivityResponse.load(_response.body)
106
+ Square::Types::CreateGiftCardActivityResponse.load(response.body)
65
107
  else
66
108
  error_class = Square::Errors::ResponseError.subclass_for_code(code)
67
- raise error_class.new(_response.body, code: code)
109
+ raise error_class.new(response.body, code: code)
68
110
  end
69
111
  end
70
112
  end