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,7 +3,9 @@
3
3
  module Square
4
4
  module Labor
5
5
  class Client
6
- # @return [Square::Labor::Client]
6
+ # @param client [Square::Internal::Http::RawClient]
7
+ #
8
+ # @return [void]
7
9
  def initialize(client:)
8
10
  @client = client
9
11
  end
@@ -17,25 +19,35 @@ module Square
17
19
  # - `start_at`
18
20
  # - `end_at`
19
21
  #
22
+ # @param request_options [Hash]
23
+ # @param params [Square::Labor::Types::CreateScheduledShiftRequest]
24
+ # @option request_options [String] :base_url
25
+ # @option request_options [Hash{String => Object}] :additional_headers
26
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
27
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
28
+ # @option request_options [Integer] :timeout_in_seconds
29
+ #
20
30
  # @return [Square::Types::CreateScheduledShiftResponse]
21
31
  def create_scheduled_shift(request_options: {}, **params)
22
- _request = Square::Internal::JSON::Request.new(
23
- base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
32
+ params = Square::Internal::Types::Utils.normalize_keys(params)
33
+ request = Square::Internal::JSON::Request.new(
34
+ base_url: request_options[:base_url],
24
35
  method: "POST",
25
36
  path: "v2/labor/scheduled-shifts",
26
- body: params
37
+ body: Square::Labor::Types::CreateScheduledShiftRequest.new(params).to_h,
38
+ request_options: request_options
27
39
  )
28
40
  begin
29
- _response = @client.send(_request)
41
+ response = @client.send(request)
30
42
  rescue Net::HTTPRequestTimeout
31
43
  raise Square::Errors::TimeoutError
32
44
  end
33
- code = _response.code.to_i
45
+ code = response.code.to_i
34
46
  if code.between?(200, 299)
35
- Square::Types::CreateScheduledShiftResponse.load(_response.body)
47
+ Square::Types::CreateScheduledShiftResponse.load(response.body)
36
48
  else
37
49
  error_class = Square::Errors::ResponseError.subclass_for_code(code)
38
- raise error_class.new(_response.body, code: code)
50
+ raise error_class.new(response.body, code: code)
39
51
  end
40
52
  end
41
53
 
@@ -46,73 +58,104 @@ module Square
46
58
  # The minimum `start_at` and maximum `end_at` timestamps of all shifts in a
47
59
  # `BulkPublishScheduledShifts` request must fall within a two-week period.
48
60
  #
61
+ # @param request_options [Hash]
62
+ # @param params [Square::Labor::Types::BulkPublishScheduledShiftsRequest]
63
+ # @option request_options [String] :base_url
64
+ # @option request_options [Hash{String => Object}] :additional_headers
65
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
66
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
67
+ # @option request_options [Integer] :timeout_in_seconds
68
+ #
49
69
  # @return [Square::Types::BulkPublishScheduledShiftsResponse]
50
70
  def bulk_publish_scheduled_shifts(request_options: {}, **params)
51
- _request = Square::Internal::JSON::Request.new(
52
- base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
71
+ params = Square::Internal::Types::Utils.normalize_keys(params)
72
+ request = Square::Internal::JSON::Request.new(
73
+ base_url: request_options[:base_url],
53
74
  method: "POST",
54
75
  path: "v2/labor/scheduled-shifts/bulk-publish",
55
- body: params
76
+ body: Square::Labor::Types::BulkPublishScheduledShiftsRequest.new(params).to_h,
77
+ request_options: request_options
56
78
  )
57
79
  begin
58
- _response = @client.send(_request)
80
+ response = @client.send(request)
59
81
  rescue Net::HTTPRequestTimeout
60
82
  raise Square::Errors::TimeoutError
61
83
  end
62
- code = _response.code.to_i
84
+ code = response.code.to_i
63
85
  if code.between?(200, 299)
64
- Square::Types::BulkPublishScheduledShiftsResponse.load(_response.body)
86
+ Square::Types::BulkPublishScheduledShiftsResponse.load(response.body)
65
87
  else
66
88
  error_class = Square::Errors::ResponseError.subclass_for_code(code)
67
- raise error_class.new(_response.body, code: code)
89
+ raise error_class.new(response.body, code: code)
68
90
  end
69
91
  end
70
92
 
71
93
  # Returns a paginated list of scheduled shifts, with optional filter and sort settings.
72
94
  # By default, results are sorted by `start_at` in ascending order.
73
95
  #
96
+ # @param request_options [Hash]
97
+ # @param params [Square::Labor::Types::SearchScheduledShiftsRequest]
98
+ # @option request_options [String] :base_url
99
+ # @option request_options [Hash{String => Object}] :additional_headers
100
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
101
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
102
+ # @option request_options [Integer] :timeout_in_seconds
103
+ #
74
104
  # @return [Square::Types::SearchScheduledShiftsResponse]
75
105
  def search_scheduled_shifts(request_options: {}, **params)
76
- _request = Square::Internal::JSON::Request.new(
77
- base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
106
+ params = Square::Internal::Types::Utils.normalize_keys(params)
107
+ request = Square::Internal::JSON::Request.new(
108
+ base_url: request_options[:base_url],
78
109
  method: "POST",
79
110
  path: "v2/labor/scheduled-shifts/search",
80
- body: params
111
+ body: Square::Labor::Types::SearchScheduledShiftsRequest.new(params).to_h,
112
+ request_options: request_options
81
113
  )
82
114
  begin
83
- _response = @client.send(_request)
115
+ response = @client.send(request)
84
116
  rescue Net::HTTPRequestTimeout
85
117
  raise Square::Errors::TimeoutError
86
118
  end
87
- code = _response.code.to_i
119
+ code = response.code.to_i
88
120
  if code.between?(200, 299)
89
- Square::Types::SearchScheduledShiftsResponse.load(_response.body)
121
+ Square::Types::SearchScheduledShiftsResponse.load(response.body)
90
122
  else
91
123
  error_class = Square::Errors::ResponseError.subclass_for_code(code)
92
- raise error_class.new(_response.body, code: code)
124
+ raise error_class.new(response.body, code: code)
93
125
  end
94
126
  end
95
127
 
96
128
  # Retrieves a scheduled shift by ID.
97
129
  #
130
+ # @param request_options [Hash]
131
+ # @param params [Hash]
132
+ # @option request_options [String] :base_url
133
+ # @option request_options [Hash{String => Object}] :additional_headers
134
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
135
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
136
+ # @option request_options [Integer] :timeout_in_seconds
137
+ # @option params [String] :id
138
+ #
98
139
  # @return [Square::Types::RetrieveScheduledShiftResponse]
99
140
  def retrieve_scheduled_shift(request_options: {}, **params)
100
- _request = Square::Internal::JSON::Request.new(
101
- base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
141
+ params = Square::Internal::Types::Utils.normalize_keys(params)
142
+ request = Square::Internal::JSON::Request.new(
143
+ base_url: request_options[:base_url],
102
144
  method: "GET",
103
- path: "v2/labor/scheduled-shifts/#{params[:id]}"
145
+ path: "v2/labor/scheduled-shifts/#{params[:id]}",
146
+ request_options: request_options
104
147
  )
105
148
  begin
106
- _response = @client.send(_request)
149
+ response = @client.send(request)
107
150
  rescue Net::HTTPRequestTimeout
108
151
  raise Square::Errors::TimeoutError
109
152
  end
110
- code = _response.code.to_i
153
+ code = response.code.to_i
111
154
  if code.between?(200, 299)
112
- Square::Types::RetrieveScheduledShiftResponse.load(_response.body)
155
+ Square::Types::RetrieveScheduledShiftResponse.load(response.body)
113
156
  else
114
157
  error_class = Square::Errors::ResponseError.subclass_for_code(code)
115
- raise error_class.new(_response.body, code: code)
158
+ raise error_class.new(response.body, code: code)
116
159
  end
117
160
  end
118
161
 
@@ -127,54 +170,80 @@ module Square
127
170
  # - Change the `is_deleted` field. To delete a scheduled shift, set `is_deleted` to true
128
171
  # and then publish the shift.
129
172
  #
173
+ # @param request_options [Hash]
174
+ # @param params [Square::Labor::Types::UpdateScheduledShiftRequest]
175
+ # @option request_options [String] :base_url
176
+ # @option request_options [Hash{String => Object}] :additional_headers
177
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
178
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
179
+ # @option request_options [Integer] :timeout_in_seconds
180
+ # @option params [String] :id
181
+ #
130
182
  # @return [Square::Types::UpdateScheduledShiftResponse]
131
183
  def update_scheduled_shift(request_options: {}, **params)
132
- _path_param_names = ["id"]
184
+ params = Square::Internal::Types::Utils.normalize_keys(params)
185
+ request_data = Square::Labor::Types::UpdateScheduledShiftRequest.new(params).to_h
186
+ non_body_param_names = ["id"]
187
+ body = request_data.except(*non_body_param_names)
133
188
 
134
- _request = Square::Internal::JSON::Request.new(
135
- base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
189
+ request = Square::Internal::JSON::Request.new(
190
+ base_url: request_options[:base_url],
136
191
  method: "PUT",
137
192
  path: "v2/labor/scheduled-shifts/#{params[:id]}",
138
- body: params.except(*_path_param_names)
193
+ body: body,
194
+ request_options: request_options
139
195
  )
140
196
  begin
141
- _response = @client.send(_request)
197
+ response = @client.send(request)
142
198
  rescue Net::HTTPRequestTimeout
143
199
  raise Square::Errors::TimeoutError
144
200
  end
145
- code = _response.code.to_i
201
+ code = response.code.to_i
146
202
  if code.between?(200, 299)
147
- Square::Types::UpdateScheduledShiftResponse.load(_response.body)
203
+ Square::Types::UpdateScheduledShiftResponse.load(response.body)
148
204
  else
149
205
  error_class = Square::Errors::ResponseError.subclass_for_code(code)
150
- raise error_class.new(_response.body, code: code)
206
+ raise error_class.new(response.body, code: code)
151
207
  end
152
208
  end
153
209
 
154
210
  # Publishes a scheduled shift. When a scheduled shift is published, Square keeps the
155
211
  # `draft_shift_details` field as is and copies it to the `published_shift_details` field.
156
212
  #
213
+ # @param request_options [Hash]
214
+ # @param params [Square::Labor::Types::PublishScheduledShiftRequest]
215
+ # @option request_options [String] :base_url
216
+ # @option request_options [Hash{String => Object}] :additional_headers
217
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
218
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
219
+ # @option request_options [Integer] :timeout_in_seconds
220
+ # @option params [String] :id
221
+ #
157
222
  # @return [Square::Types::PublishScheduledShiftResponse]
158
223
  def publish_scheduled_shift(request_options: {}, **params)
159
- _path_param_names = ["id"]
224
+ params = Square::Internal::Types::Utils.normalize_keys(params)
225
+ request_data = Square::Labor::Types::PublishScheduledShiftRequest.new(params).to_h
226
+ non_body_param_names = ["id"]
227
+ body = request_data.except(*non_body_param_names)
160
228
 
161
- _request = Square::Internal::JSON::Request.new(
162
- base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
229
+ request = Square::Internal::JSON::Request.new(
230
+ base_url: request_options[:base_url],
163
231
  method: "POST",
164
232
  path: "v2/labor/scheduled-shifts/#{params[:id]}/publish",
165
- body: params.except(*_path_param_names)
233
+ body: body,
234
+ request_options: request_options
166
235
  )
167
236
  begin
168
- _response = @client.send(_request)
237
+ response = @client.send(request)
169
238
  rescue Net::HTTPRequestTimeout
170
239
  raise Square::Errors::TimeoutError
171
240
  end
172
- code = _response.code.to_i
241
+ code = response.code.to_i
173
242
  if code.between?(200, 299)
174
- Square::Types::PublishScheduledShiftResponse.load(_response.body)
243
+ Square::Types::PublishScheduledShiftResponse.load(response.body)
175
244
  else
176
245
  error_class = Square::Errors::ResponseError.subclass_for_code(code)
177
- raise error_class.new(_response.body, code: code)
246
+ raise error_class.new(response.body, code: code)
178
247
  end
179
248
  end
180
249
 
@@ -197,25 +266,35 @@ module Square
197
266
  # is before the `Timecard.start_at`, a break `end_at` is after
198
267
  # the `Timecard.end_at`, or both.
199
268
  #
269
+ # @param request_options [Hash]
270
+ # @param params [Square::Labor::Types::CreateTimecardRequest]
271
+ # @option request_options [String] :base_url
272
+ # @option request_options [Hash{String => Object}] :additional_headers
273
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
274
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
275
+ # @option request_options [Integer] :timeout_in_seconds
276
+ #
200
277
  # @return [Square::Types::CreateTimecardResponse]
201
278
  def create_timecard(request_options: {}, **params)
202
- _request = Square::Internal::JSON::Request.new(
203
- base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
279
+ params = Square::Internal::Types::Utils.normalize_keys(params)
280
+ request = Square::Internal::JSON::Request.new(
281
+ base_url: request_options[:base_url],
204
282
  method: "POST",
205
283
  path: "v2/labor/timecards",
206
- body: params
284
+ body: Square::Labor::Types::CreateTimecardRequest.new(params).to_h,
285
+ request_options: request_options
207
286
  )
208
287
  begin
209
- _response = @client.send(_request)
288
+ response = @client.send(request)
210
289
  rescue Net::HTTPRequestTimeout
211
290
  raise Square::Errors::TimeoutError
212
291
  end
213
- code = _response.code.to_i
292
+ code = response.code.to_i
214
293
  if code.between?(200, 299)
215
- Square::Types::CreateTimecardResponse.load(_response.body)
294
+ Square::Types::CreateTimecardResponse.load(response.body)
216
295
  else
217
296
  error_class = Square::Errors::ResponseError.subclass_for_code(code)
218
- raise error_class.new(_response.body, code: code)
297
+ raise error_class.new(response.body, code: code)
219
298
  end
220
299
  end
221
300
 
@@ -234,48 +313,69 @@ module Square
234
313
  # - `CREATED_AT`
235
314
  # - `UPDATED_AT`
236
315
  #
316
+ # @param request_options [Hash]
317
+ # @param params [Square::Labor::Types::SearchTimecardsRequest]
318
+ # @option request_options [String] :base_url
319
+ # @option request_options [Hash{String => Object}] :additional_headers
320
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
321
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
322
+ # @option request_options [Integer] :timeout_in_seconds
323
+ #
237
324
  # @return [Square::Types::SearchTimecardsResponse]
238
325
  def search_timecards(request_options: {}, **params)
239
- _request = Square::Internal::JSON::Request.new(
240
- base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
326
+ params = Square::Internal::Types::Utils.normalize_keys(params)
327
+ request = Square::Internal::JSON::Request.new(
328
+ base_url: request_options[:base_url],
241
329
  method: "POST",
242
330
  path: "v2/labor/timecards/search",
243
- body: params
331
+ body: Square::Labor::Types::SearchTimecardsRequest.new(params).to_h,
332
+ request_options: request_options
244
333
  )
245
334
  begin
246
- _response = @client.send(_request)
335
+ response = @client.send(request)
247
336
  rescue Net::HTTPRequestTimeout
248
337
  raise Square::Errors::TimeoutError
249
338
  end
250
- code = _response.code.to_i
339
+ code = response.code.to_i
251
340
  if code.between?(200, 299)
252
- Square::Types::SearchTimecardsResponse.load(_response.body)
341
+ Square::Types::SearchTimecardsResponse.load(response.body)
253
342
  else
254
343
  error_class = Square::Errors::ResponseError.subclass_for_code(code)
255
- raise error_class.new(_response.body, code: code)
344
+ raise error_class.new(response.body, code: code)
256
345
  end
257
346
  end
258
347
 
259
348
  # Returns a single `Timecard` specified by `id`.
260
349
  #
350
+ # @param request_options [Hash]
351
+ # @param params [Hash]
352
+ # @option request_options [String] :base_url
353
+ # @option request_options [Hash{String => Object}] :additional_headers
354
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
355
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
356
+ # @option request_options [Integer] :timeout_in_seconds
357
+ # @option params [String] :id
358
+ #
261
359
  # @return [Square::Types::RetrieveTimecardResponse]
262
360
  def retrieve_timecard(request_options: {}, **params)
263
- _request = Square::Internal::JSON::Request.new(
264
- base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
361
+ params = Square::Internal::Types::Utils.normalize_keys(params)
362
+ request = Square::Internal::JSON::Request.new(
363
+ base_url: request_options[:base_url],
265
364
  method: "GET",
266
- path: "v2/labor/timecards/#{params[:id]}"
365
+ path: "v2/labor/timecards/#{params[:id]}",
366
+ request_options: request_options
267
367
  )
268
368
  begin
269
- _response = @client.send(_request)
369
+ response = @client.send(request)
270
370
  rescue Net::HTTPRequestTimeout
271
371
  raise Square::Errors::TimeoutError
272
372
  end
273
- code = _response.code.to_i
373
+ code = response.code.to_i
274
374
  if code.between?(200, 299)
275
- Square::Types::RetrieveTimecardResponse.load(_response.body)
375
+ Square::Types::RetrieveTimecardResponse.load(response.body)
276
376
  else
277
377
  error_class = Square::Errors::ResponseError.subclass_for_code(code)
278
- raise error_class.new(_response.body, code: code)
378
+ raise error_class.new(response.body, code: code)
279
379
  end
280
380
  end
281
381
 
@@ -287,50 +387,74 @@ module Square
287
387
  # When closing a `Timecard`, all `Break` instances in the `Timecard` must be complete with `end_at`
288
388
  # set on each `Break`.
289
389
  #
390
+ # @param request_options [Hash]
391
+ # @param params [Square::Labor::Types::UpdateTimecardRequest]
392
+ # @option request_options [String] :base_url
393
+ # @option request_options [Hash{String => Object}] :additional_headers
394
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
395
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
396
+ # @option request_options [Integer] :timeout_in_seconds
397
+ # @option params [String] :id
398
+ #
290
399
  # @return [Square::Types::UpdateTimecardResponse]
291
400
  def update_timecard(request_options: {}, **params)
292
- _path_param_names = ["id"]
401
+ params = Square::Internal::Types::Utils.normalize_keys(params)
402
+ request_data = Square::Labor::Types::UpdateTimecardRequest.new(params).to_h
403
+ non_body_param_names = ["id"]
404
+ body = request_data.except(*non_body_param_names)
293
405
 
294
- _request = Square::Internal::JSON::Request.new(
295
- base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
406
+ request = Square::Internal::JSON::Request.new(
407
+ base_url: request_options[:base_url],
296
408
  method: "PUT",
297
409
  path: "v2/labor/timecards/#{params[:id]}",
298
- body: params.except(*_path_param_names)
410
+ body: body,
411
+ request_options: request_options
299
412
  )
300
413
  begin
301
- _response = @client.send(_request)
414
+ response = @client.send(request)
302
415
  rescue Net::HTTPRequestTimeout
303
416
  raise Square::Errors::TimeoutError
304
417
  end
305
- code = _response.code.to_i
418
+ code = response.code.to_i
306
419
  if code.between?(200, 299)
307
- Square::Types::UpdateTimecardResponse.load(_response.body)
420
+ Square::Types::UpdateTimecardResponse.load(response.body)
308
421
  else
309
422
  error_class = Square::Errors::ResponseError.subclass_for_code(code)
310
- raise error_class.new(_response.body, code: code)
423
+ raise error_class.new(response.body, code: code)
311
424
  end
312
425
  end
313
426
 
314
427
  # Deletes a `Timecard`.
315
428
  #
429
+ # @param request_options [Hash]
430
+ # @param params [Hash]
431
+ # @option request_options [String] :base_url
432
+ # @option request_options [Hash{String => Object}] :additional_headers
433
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
434
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
435
+ # @option request_options [Integer] :timeout_in_seconds
436
+ # @option params [String] :id
437
+ #
316
438
  # @return [Square::Types::DeleteTimecardResponse]
317
439
  def delete_timecard(request_options: {}, **params)
318
- _request = Square::Internal::JSON::Request.new(
319
- base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
440
+ params = Square::Internal::Types::Utils.normalize_keys(params)
441
+ request = Square::Internal::JSON::Request.new(
442
+ base_url: request_options[:base_url],
320
443
  method: "DELETE",
321
- path: "v2/labor/timecards/#{params[:id]}"
444
+ path: "v2/labor/timecards/#{params[:id]}",
445
+ request_options: request_options
322
446
  )
323
447
  begin
324
- _response = @client.send(_request)
448
+ response = @client.send(request)
325
449
  rescue Net::HTTPRequestTimeout
326
450
  raise Square::Errors::TimeoutError
327
451
  end
328
- code = _response.code.to_i
452
+ code = response.code.to_i
329
453
  if code.between?(200, 299)
330
- Square::Types::DeleteTimecardResponse.load(_response.body)
454
+ Square::Types::DeleteTimecardResponse.load(response.body)
331
455
  else
332
456
  error_class = Square::Errors::ResponseError.subclass_for_code(code)
333
- raise error_class.new(_response.body, code: code)
457
+ raise error_class.new(response.body, code: code)
334
458
  end
335
459
  end
336
460
 
@@ -4,62 +4,95 @@ module Square
4
4
  module Labor
5
5
  module EmployeeWages
6
6
  class Client
7
- # @return [Square::Labor::EmployeeWages::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
14
  # Returns a paginated list of `EmployeeWage` instances for a business.
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
+ # @option params [String, nil] :employee_id
24
+ # @option params [Integer, nil] :limit
25
+ # @option params [String, nil] :cursor
26
+ #
14
27
  # @return [Square::Types::ListEmployeeWagesResponse]
15
28
  def list(request_options: {}, **params)
16
- _query_param_names = [
17
- %w[employee_id limit cursor],
18
- %i[employee_id limit cursor]
19
- ].flatten
20
- _query = params.slice(*_query_param_names)
21
- params.except(*_query_param_names)
29
+ params = Square::Internal::Types::Utils.normalize_keys(params)
30
+ query_param_names = %i[employee_id limit cursor]
31
+ query_params = {}
32
+ query_params["employee_id"] = params[:employee_id] if params.key?(:employee_id)
33
+ query_params["limit"] = params[:limit] if params.key?(:limit)
34
+ query_params["cursor"] = params[:cursor] if params.key?(:cursor)
35
+ params.except(*query_param_names)
22
36
 
23
- _request = Square::Internal::JSON::Request.new(
24
- base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
25
- method: "GET",
26
- path: "v2/labor/employee-wages",
27
- query: _query
28
- )
29
- begin
30
- _response = @client.send(_request)
31
- rescue Net::HTTPRequestTimeout
32
- raise Square::Errors::TimeoutError
33
- end
34
- code = _response.code.to_i
35
- if code.between?(200, 299)
36
- Square::Types::ListEmployeeWagesResponse.load(_response.body)
37
- else
38
- error_class = Square::Errors::ResponseError.subclass_for_code(code)
39
- raise error_class.new(_response.body, code: code)
37
+ Square::Internal::CursorItemIterator.new(
38
+ cursor_field: :cursor,
39
+ item_field: :employee_wages,
40
+ initial_cursor: query_params[:cursor]
41
+ ) do |next_cursor|
42
+ query_params[:cursor] = next_cursor
43
+ request = Square::Internal::JSON::Request.new(
44
+ base_url: request_options[:base_url],
45
+ method: "GET",
46
+ path: "v2/labor/employee-wages",
47
+ query: query_params,
48
+ request_options: request_options
49
+ )
50
+ begin
51
+ response = @client.send(request)
52
+ rescue Net::HTTPRequestTimeout
53
+ raise Square::Errors::TimeoutError
54
+ end
55
+ code = response.code.to_i
56
+ if code.between?(200, 299)
57
+ Square::Types::ListEmployeeWagesResponse.load(response.body)
58
+ else
59
+ error_class = Square::Errors::ResponseError.subclass_for_code(code)
60
+ raise error_class.new(response.body, code: code)
61
+ end
40
62
  end
41
63
  end
42
64
 
43
65
  # Returns a single `EmployeeWage` specified by `id`.
44
66
  #
67
+ # @param request_options [Hash]
68
+ # @param params [Hash]
69
+ # @option request_options [String] :base_url
70
+ # @option request_options [Hash{String => Object}] :additional_headers
71
+ # @option request_options [Hash{String => Object}] :additional_query_parameters
72
+ # @option request_options [Hash{String => Object}] :additional_body_parameters
73
+ # @option request_options [Integer] :timeout_in_seconds
74
+ # @option params [String] :id
75
+ #
45
76
  # @return [Square::Types::GetEmployeeWageResponse]
46
77
  def get(request_options: {}, **params)
47
- _request = Square::Internal::JSON::Request.new(
48
- base_url: request_options[:base_url] || Square::Environment::PRODUCTION,
78
+ params = Square::Internal::Types::Utils.normalize_keys(params)
79
+ request = Square::Internal::JSON::Request.new(
80
+ base_url: request_options[:base_url],
49
81
  method: "GET",
50
- path: "v2/labor/employee-wages/#{params[:id]}"
82
+ path: "v2/labor/employee-wages/#{params[:id]}",
83
+ request_options: request_options
51
84
  )
52
85
  begin
53
- _response = @client.send(_request)
86
+ response = @client.send(request)
54
87
  rescue Net::HTTPRequestTimeout
55
88
  raise Square::Errors::TimeoutError
56
89
  end
57
- code = _response.code.to_i
90
+ code = response.code.to_i
58
91
  if code.between?(200, 299)
59
- Square::Types::GetEmployeeWageResponse.load(_response.body)
92
+ Square::Types::GetEmployeeWageResponse.load(response.body)
60
93
  else
61
94
  error_class = Square::Errors::ResponseError.subclass_for_code(code)
62
- raise error_class.new(_response.body, code: code)
95
+ raise error_class.new(response.body, code: code)
63
96
  end
64
97
  end
65
98
  end