spree_api 6.0.0.rc1 → 6.0.0.rc2

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 (370) hide show
  1. checksums.yaml +4 -4
  2. data/Rakefile +0 -17
  3. data/app/controllers/concerns/spree/api/v3/admin/product_membership.rb +10 -0
  4. data/app/controllers/concerns/spree/api/v3/admin/stock_receipt_actions.rb +26 -4
  5. data/app/controllers/concerns/spree/api/v3/admin/subclassed_resource.rb +14 -28
  6. data/app/controllers/concerns/spree/api/v3/admin/validation_details.rb +1 -1
  7. data/app/controllers/concerns/spree/api/v3/cart_resolvable.rb +3 -2
  8. data/app/controllers/concerns/spree/api/v3/channel_resolution.rb +1 -1
  9. data/app/controllers/concerns/spree/api/v3/company_address_writes.rb +3 -1
  10. data/app/controllers/concerns/spree/api/v3/error_handler.rb +48 -2
  11. data/app/controllers/concerns/spree/api/v3/file_uploads.rb +35 -0
  12. data/app/controllers/concerns/spree/api/v3/money_params.rb +52 -0
  13. data/app/controllers/concerns/spree/api/v3/orders/claim_actions.rb +1 -5
  14. data/app/controllers/concerns/spree/api/v3/orders/delivery_actions.rb +6 -6
  15. data/app/controllers/concerns/spree/api/v3/orders/exchange_actions.rb +1 -4
  16. data/app/controllers/concerns/spree/api/v3/orders/fulfillment_actions.rb +1 -5
  17. data/app/controllers/concerns/spree/api/v3/orders/return_actions.rb +1 -4
  18. data/app/controllers/concerns/spree/api/v3/orders/shipping_label_actions.rb +5 -21
  19. data/app/controllers/concerns/spree/api/v3/params_normalizer.rb +5 -0
  20. data/app/controllers/concerns/spree/api/v3/purchase_serialization.rb +26 -0
  21. data/app/controllers/concerns/spree/api/v3/request_params.rb +65 -0
  22. data/app/controllers/concerns/spree/api/v3/strict_money_params.rb +94 -0
  23. data/app/controllers/spree/api/v3/admin/admin_users_controller.rb +10 -1
  24. data/app/controllers/spree/api/v3/admin/allowed_origins_controller.rb +8 -1
  25. data/app/controllers/spree/api/v3/admin/api_keys_controller.rb +15 -7
  26. data/app/controllers/spree/api/v3/admin/base_controller.rb +1 -0
  27. data/app/controllers/spree/api/v3/admin/catalogs/order_minimums_controller.rb +3 -1
  28. data/app/controllers/spree/api/v3/admin/catalogs/quantity_rules_controller.rb +7 -5
  29. data/app/controllers/spree/api/v3/admin/catalogs_controller.rb +60 -33
  30. data/app/controllers/spree/api/v3/admin/categories/products_controller.rb +4 -1
  31. data/app/controllers/spree/api/v3/admin/categories_controller.rb +40 -20
  32. data/app/controllers/spree/api/v3/admin/channels_controller.rb +39 -6
  33. data/app/controllers/spree/api/v3/admin/claim_reasons_controller.rb +5 -1
  34. data/app/controllers/spree/api/v3/admin/collections/products_controller.rb +4 -1
  35. data/app/controllers/spree/api/v3/admin/collections_controller.rb +44 -15
  36. data/app/controllers/spree/api/v3/admin/commission_rates_controller.rb +60 -12
  37. data/app/controllers/spree/api/v3/admin/companies/addresses_controller.rb +11 -0
  38. data/app/controllers/spree/api/v3/admin/companies/memberships_controller.rb +9 -1
  39. data/app/controllers/spree/api/v3/admin/companies/tax_exemption_certificates_controller.rb +19 -18
  40. data/app/controllers/spree/api/v3/admin/companies/tax_identifiers_controller.rb +6 -1
  41. data/app/controllers/spree/api/v3/admin/companies_controller.rb +17 -3
  42. data/app/controllers/spree/api/v3/admin/countries_controller.rb +5 -1
  43. data/app/controllers/spree/api/v3/admin/custom_field_definitions_controller.rb +21 -11
  44. data/app/controllers/spree/api/v3/admin/custom_fields_controller.rb +12 -5
  45. data/app/controllers/spree/api/v3/admin/customer_groups_controller.rb +9 -1
  46. data/app/controllers/spree/api/v3/admin/customers/addresses_controller.rb +12 -7
  47. data/app/controllers/spree/api/v3/admin/customers/store_credits_controller.rb +11 -9
  48. data/app/controllers/spree/api/v3/admin/customers/tax_identifiers_controller.rb +6 -1
  49. data/app/controllers/spree/api/v3/admin/customers_controller.rb +35 -7
  50. data/app/controllers/spree/api/v3/admin/data_requests_controller.rb +8 -0
  51. data/app/controllers/spree/api/v3/admin/delivery_method_rules_controller.rb +1 -1
  52. data/app/controllers/spree/api/v3/admin/delivery_methods/rules_controller.rb +15 -7
  53. data/app/controllers/spree/api/v3/admin/delivery_methods_controller.rb +92 -57
  54. data/app/controllers/spree/api/v3/admin/delivery_profiles/origin_groups_controller.rb +8 -1
  55. data/app/controllers/spree/api/v3/admin/delivery_profiles_controller.rb +13 -1
  56. data/app/controllers/spree/api/v3/admin/delivery_zones_controller.rb +21 -5
  57. data/app/controllers/spree/api/v3/admin/email_templates/drafts_controller.rb +14 -1
  58. data/app/controllers/spree/api/v3/admin/email_templates/previews_controller.rb +4 -0
  59. data/app/controllers/spree/api/v3/admin/email_templates/publications_controller.rb +7 -0
  60. data/app/controllers/spree/api/v3/admin/email_templates/restorations_controller.rb +8 -0
  61. data/app/controllers/spree/api/v3/admin/email_templates/test_emails_controller.rb +4 -0
  62. data/app/controllers/spree/api/v3/admin/exports_controller.rb +23 -6
  63. data/app/controllers/spree/api/v3/admin/files_controller.rb +29 -0
  64. data/app/controllers/spree/api/v3/admin/gift_card_batches_controller.rb +20 -1
  65. data/app/controllers/spree/api/v3/admin/gift_cards_controller.rb +19 -1
  66. data/app/controllers/spree/api/v3/admin/imports_controller.rb +36 -9
  67. data/app/controllers/spree/api/v3/admin/integrations_controller.rb +13 -1
  68. data/app/controllers/spree/api/v3/admin/invitation_acceptances_controller.rb +9 -2
  69. data/app/controllers/spree/api/v3/admin/invitations_controller.rb +8 -1
  70. data/app/controllers/spree/api/v3/admin/locales_controller.rb +1 -1
  71. data/app/controllers/spree/api/v3/admin/markets_controller.rb +30 -9
  72. data/app/controllers/spree/api/v3/admin/me_controller.rb +12 -3
  73. data/app/controllers/spree/api/v3/admin/media_controller.rb +22 -9
  74. data/app/controllers/spree/api/v3/admin/media_library_controller.rb +4 -0
  75. data/app/controllers/spree/api/v3/admin/option_types_controller.rb +24 -7
  76. data/app/controllers/spree/api/v3/admin/order_cancellation_reasons_controller.rb +5 -1
  77. data/app/controllers/spree/api/v3/admin/order_routing_rules_controller.rb +13 -1
  78. data/app/controllers/spree/api/v3/admin/orders/claims_controller.rb +39 -1
  79. data/app/controllers/spree/api/v3/admin/orders/deliveries_controller.rb +19 -1
  80. data/app/controllers/spree/api/v3/admin/orders/discount_codes_controller.rb +5 -1
  81. data/app/controllers/spree/api/v3/admin/orders/discounts_controller.rb +29 -5
  82. data/app/controllers/spree/api/v3/admin/orders/exchanges_controller.rb +36 -1
  83. data/app/controllers/spree/api/v3/admin/orders/fees_controller.rb +22 -1
  84. data/app/controllers/spree/api/v3/admin/orders/fulfillments_controller.rb +66 -7
  85. data/app/controllers/spree/api/v3/admin/orders/gift_cards_controller.rb +6 -2
  86. data/app/controllers/spree/api/v3/admin/orders/items_controller.rb +11 -1
  87. data/app/controllers/spree/api/v3/admin/orders/labels_controller.rb +35 -2
  88. data/app/controllers/spree/api/v3/admin/orders/payments_controller.rb +16 -5
  89. data/app/controllers/spree/api/v3/admin/orders/refunds_controller.rb +6 -0
  90. data/app/controllers/spree/api/v3/admin/orders/returns_controller.rb +37 -1
  91. data/app/controllers/spree/api/v3/admin/orders/store_credits_controller.rb +6 -3
  92. data/app/controllers/spree/api/v3/admin/orders_controller.rb +74 -60
  93. data/app/controllers/spree/api/v3/admin/package_types_controller.rb +30 -5
  94. data/app/controllers/spree/api/v3/admin/password_resets_controller.rb +17 -0
  95. data/app/controllers/spree/api/v3/admin/payment_methods_controller.rb +38 -22
  96. data/app/controllers/spree/api/v3/admin/policies_controller.rb +8 -4
  97. data/app/controllers/spree/api/v3/admin/price_lists_controller.rb +27 -15
  98. data/app/controllers/spree/api/v3/admin/prices_controller.rb +51 -4
  99. data/app/controllers/spree/api/v3/admin/product_types_controller.rb +25 -8
  100. data/app/controllers/spree/api/v3/admin/products/digital_assets_controller.rb +27 -10
  101. data/app/controllers/spree/api/v3/admin/products/variants_controller.rb +9 -14
  102. data/app/controllers/spree/api/v3/admin/products_controller.rb +121 -70
  103. data/app/controllers/spree/api/v3/admin/promotion_actions_controller.rb +11 -2
  104. data/app/controllers/spree/api/v3/admin/promotion_rules_controller.rb +10 -1
  105. data/app/controllers/spree/api/v3/admin/promotions_controller.rb +50 -14
  106. data/app/controllers/spree/api/v3/admin/purchase_orders_controller.rb +54 -7
  107. data/app/controllers/spree/api/v3/admin/refund_reasons_controller.rb +5 -1
  108. data/app/controllers/spree/api/v3/admin/reporting/saved_reports_controller.rb +9 -1
  109. data/app/controllers/spree/api/v3/admin/reporting_controller.rb +34 -0
  110. data/app/controllers/spree/api/v3/admin/resource_controller.rb +1 -0
  111. data/app/controllers/spree/api/v3/admin/return_reasons_controller.rb +5 -1
  112. data/app/controllers/spree/api/v3/admin/roles_controller.rb +13 -1
  113. data/app/controllers/spree/api/v3/admin/seller_payouts_controller.rb +6 -0
  114. data/app/controllers/spree/api/v3/admin/seller_requirement_submissions_controller.rb +15 -0
  115. data/app/controllers/spree/api/v3/admin/seller_requirements_controller.rb +32 -6
  116. data/app/controllers/spree/api/v3/admin/sellers_controller.rb +75 -22
  117. data/app/controllers/spree/api/v3/admin/setup_controller.rb +54 -15
  118. data/app/controllers/spree/api/v3/admin/stock_levels_controller.rb +38 -9
  119. data/app/controllers/spree/api/v3/admin/stock_locations_controller.rb +41 -9
  120. data/app/controllers/spree/api/v3/admin/stock_transfers_controller.rb +48 -7
  121. data/app/controllers/spree/api/v3/admin/store_controller.rb +122 -53
  122. data/app/controllers/spree/api/v3/admin/store_credits_controller.rb +1 -7
  123. data/app/controllers/spree/api/v3/admin/suppliers_controller.rb +16 -6
  124. data/app/controllers/spree/api/v3/admin/tax_categories_controller.rb +7 -4
  125. data/app/controllers/spree/api/v3/admin/tax_rates_controller.rb +21 -3
  126. data/app/controllers/spree/api/v3/admin/tracking_carriers_controller.rb +4 -0
  127. data/app/controllers/spree/api/v3/admin/translations/batches_controller.rb +17 -9
  128. data/app/controllers/spree/api/v3/admin/translations_controller.rb +4 -0
  129. data/app/controllers/spree/api/v3/admin/translations_coverage_controller.rb +5 -0
  130. data/app/controllers/spree/api/v3/admin/updates_controller.rb +39 -0
  131. data/app/controllers/spree/api/v3/admin/webhook_endpoints_controller.rb +23 -1
  132. data/app/controllers/spree/api/v3/base_controller.rb +2 -0
  133. data/app/controllers/spree/api/v3/resource_controller.rb +63 -10
  134. data/app/controllers/spree/api/v3/seller/auth_controller.rb +8 -0
  135. data/app/controllers/spree/api/v3/seller/base_controller.rb +1 -0
  136. data/app/controllers/spree/api/v3/seller/countries_controller.rb +2 -2
  137. data/app/controllers/spree/api/v3/seller/delivery_methods_controller.rb +49 -60
  138. data/app/controllers/spree/api/v3/seller/exports_controller.rb +18 -1
  139. data/app/controllers/spree/api/v3/seller/files_controller.rb +27 -0
  140. data/app/controllers/spree/api/v3/seller/imports_controller.rb +25 -9
  141. data/app/controllers/spree/api/v3/seller/invitation_acceptances_controller.rb +9 -1
  142. data/app/controllers/spree/api/v3/seller/me_controller.rb +14 -3
  143. data/app/controllers/spree/api/v3/seller/onboarding_controller.rb +11 -0
  144. data/app/controllers/spree/api/v3/seller/orders/claims_controller.rb +35 -0
  145. data/app/controllers/spree/api/v3/seller/orders/deliveries_controller.rb +12 -0
  146. data/app/controllers/spree/api/v3/seller/orders/exchanges_controller.rb +33 -0
  147. data/app/controllers/spree/api/v3/seller/orders/fulfillments_controller.rb +28 -2
  148. data/app/controllers/spree/api/v3/seller/orders/labels_controller.rb +22 -1
  149. data/app/controllers/spree/api/v3/seller/orders/notes_controller.rb +8 -1
  150. data/app/controllers/spree/api/v3/seller/orders/returns_controller.rb +32 -0
  151. data/app/controllers/spree/api/v3/seller/orders_controller.rb +35 -14
  152. data/app/controllers/spree/api/v3/seller/package_types_controller.rb +21 -9
  153. data/app/controllers/spree/api/v3/seller/password_resets_controller.rb +10 -0
  154. data/app/controllers/spree/api/v3/seller/policies_controller.rb +12 -4
  155. data/app/controllers/spree/api/v3/seller/products_controller.rb +114 -28
  156. data/app/controllers/spree/api/v3/seller/profile_controller.rb +33 -10
  157. data/app/controllers/spree/api/v3/seller/requirement_submissions_controller.rb +12 -5
  158. data/app/controllers/spree/api/v3/seller/resource_controller.rb +12 -0
  159. data/app/controllers/spree/api/v3/seller/stock_locations_controller.rb +44 -13
  160. data/app/controllers/spree/api/v3/seller/tax_identifiers_controller.rb +10 -1
  161. data/app/controllers/spree/api/v3/seller/team_controller.rb +4 -0
  162. data/app/controllers/spree/api/v3/store/auth_controller.rb +10 -0
  163. data/app/controllers/spree/api/v3/store/carts/discount_codes_controller.rb +8 -1
  164. data/app/controllers/spree/api/v3/store/carts/fulfillments_controller.rb +10 -2
  165. data/app/controllers/spree/api/v3/store/carts/gift_cards_controller.rb +8 -1
  166. data/app/controllers/spree/api/v3/store/carts/items_controller.rb +17 -5
  167. data/app/controllers/spree/api/v3/store/carts/payment_sessions_controller.rb +20 -6
  168. data/app/controllers/spree/api/v3/store/carts/payments_controller.rb +11 -0
  169. data/app/controllers/spree/api/v3/store/carts/po_documents_controller.rb +24 -26
  170. data/app/controllers/spree/api/v3/store/carts/store_credits_controller.rb +7 -1
  171. data/app/controllers/spree/api/v3/store/carts/tax_identifiers_controller.rb +5 -1
  172. data/app/controllers/spree/api/v3/store/carts_controller.rb +56 -47
  173. data/app/controllers/spree/api/v3/store/companies/addresses_controller.rb +12 -4
  174. data/app/controllers/spree/api/v3/store/companies/members_controller.rb +4 -0
  175. data/app/controllers/spree/api/v3/store/companies_controller.rb +5 -1
  176. data/app/controllers/spree/api/v3/store/company_invitations_controller.rb +9 -1
  177. data/app/controllers/spree/api/v3/store/customer/addresses_controller.rb +8 -7
  178. data/app/controllers/spree/api/v3/store/customer/data_requests_controller.rb +5 -0
  179. data/app/controllers/spree/api/v3/store/customer/password_resets_controller.rb +17 -0
  180. data/app/controllers/spree/api/v3/store/customer/payment_setup_sessions_controller.rb +10 -5
  181. data/app/controllers/spree/api/v3/store/customer/tax_identifiers_controller.rb +5 -1
  182. data/app/controllers/spree/api/v3/store/customers_controller.rb +28 -2
  183. data/app/controllers/spree/api/v3/store/newsletter_subscribers_controller.rb +22 -0
  184. data/app/controllers/spree/api/v3/store/orders/claims_controller.rb +11 -2
  185. data/app/controllers/spree/api/v3/store/orders/returns_controller.rb +10 -1
  186. data/app/controllers/spree/api/v3/store/orders_controller.rb +47 -10
  187. data/app/controllers/spree/api/v3/store/products_controller.rb +8 -0
  188. data/app/controllers/spree/api/v3/store/wishlist_items_controller.rb +10 -4
  189. data/app/controllers/spree/api/v3/store/wishlists_controller.rb +12 -4
  190. data/app/request_schemas/spree/api/v3/address_request_schema.rb +27 -0
  191. data/app/request_schemas/spree/api/v3/admin/address_request_schema.rb +13 -0
  192. data/app/request_schemas/spree/api/v3/admin/bulk_tags_request_schema.rb +17 -0
  193. data/app/request_schemas/spree/api/v3/admin/catalog_order_minimum_request_schema.rb +17 -0
  194. data/app/request_schemas/spree/api/v3/admin/email_template_language_request_schema.rb +17 -0
  195. data/app/request_schemas/spree/api/v3/admin/email_template_preview_request_schema.rb +32 -0
  196. data/app/request_schemas/spree/api/v3/admin/price_adjustment_tier_request_schema.rb +21 -0
  197. data/app/request_schemas/spree/api/v3/admin/price_list_price_request_schema.rb +21 -0
  198. data/app/request_schemas/spree/api/v3/admin/price_list_rule_request_schema.rb +19 -0
  199. data/app/request_schemas/spree/api/v3/admin/product_membership_reposition_request_schema.rb +17 -0
  200. data/app/request_schemas/spree/api/v3/admin/promotion_action_calculator_request_schema.rb +18 -0
  201. data/app/request_schemas/spree/api/v3/admin/promotion_action_line_item_request_schema.rb +15 -0
  202. data/app/request_schemas/spree/api/v3/admin/promotion_action_request_schema.rb +19 -0
  203. data/app/request_schemas/spree/api/v3/admin/promotion_rule_request_schema.rb +22 -0
  204. data/app/request_schemas/spree/api/v3/admin/reason_request_schema.rb +14 -0
  205. data/app/request_schemas/spree/api/v3/admin/tax_identifier_request_schema.rb +15 -0
  206. data/app/request_schemas/spree/api/v3/custom_field_value_request_schema.rb +15 -0
  207. data/app/request_schemas/spree/api/v3/file_upload_request_schema.rb +20 -0
  208. data/app/request_schemas/spree/api/v3/media_request_schema.rb +27 -0
  209. data/app/request_schemas/spree/api/v3/price_request_schema.rb +17 -0
  210. data/app/request_schemas/spree/api/v3/stock_level_request_schema.rb +18 -0
  211. data/app/request_schemas/spree/api/v3/store/address_request_schema.rb +29 -0
  212. data/app/request_schemas/spree/api/v3/tax_identifier_request_schema.rb +18 -0
  213. data/app/request_schemas/spree/api/v3/variant_option_request_schema.rb +13 -0
  214. data/app/request_schemas/spree/api/v3/variant_request_schema.rb +52 -0
  215. data/app/serializers/concerns/spree/api/v3/purchase_summary.rb +48 -0
  216. data/app/serializers/spree/api/v3/address_serializer.rb +4 -2
  217. data/app/serializers/spree/api/v3/admin/address_serializer.rb +3 -0
  218. data/app/serializers/spree/api/v3/admin/applied_promotion_serializer.rb +3 -1
  219. data/app/serializers/spree/api/v3/admin/cart_serializer.rb +3 -1
  220. data/app/serializers/spree/api/v3/admin/catalog_order_minimum_serializer.rb +3 -2
  221. data/app/serializers/spree/api/v3/admin/catalog_price_serializer.rb +3 -4
  222. data/app/serializers/spree/api/v3/admin/catalog_price_tier_serializer.rb +4 -3
  223. data/app/serializers/spree/api/v3/admin/channel_serializer.rb +5 -7
  224. data/app/serializers/spree/api/v3/admin/claim_line_item_serializer.rb +7 -0
  225. data/app/serializers/spree/api/v3/admin/claim_serializer.rb +5 -0
  226. data/app/serializers/spree/api/v3/admin/commission_line_serializer.rb +7 -18
  227. data/app/serializers/spree/api/v3/admin/commission_rate_serializer.rb +7 -11
  228. data/app/serializers/spree/api/v3/admin/commission_rule_serializer.rb +0 -2
  229. data/app/serializers/spree/api/v3/admin/country_serializer.rb +4 -0
  230. data/app/serializers/spree/api/v3/admin/customer_serializer.rb +3 -7
  231. data/app/serializers/spree/api/v3/admin/delivery_method_rule_serializer.rb +0 -2
  232. data/app/serializers/spree/api/v3/admin/delivery_method_serializer.rb +14 -10
  233. data/app/serializers/spree/api/v3/admin/delivery_method_service_serializer.rb +9 -1
  234. data/app/serializers/spree/api/v3/admin/delivery_rate_serializer.rb +8 -0
  235. data/app/serializers/spree/api/v3/admin/discount_serializer.rb +3 -1
  236. data/app/serializers/spree/api/v3/admin/exchange_line_item_serializer.rb +5 -0
  237. data/app/serializers/spree/api/v3/admin/exchange_serializer.rb +5 -0
  238. data/app/serializers/spree/api/v3/admin/fee_serializer.rb +3 -1
  239. data/app/serializers/spree/api/v3/admin/file_upload_serializer.rb +11 -0
  240. data/app/serializers/spree/api/v3/admin/file_upload_target_serializer.rb +10 -0
  241. data/app/serializers/spree/api/v3/admin/fulfillment_serializer.rb +13 -11
  242. data/app/serializers/spree/api/v3/admin/gift_card_serializer.rb +3 -3
  243. data/app/serializers/spree/api/v3/admin/import_serializer.rb +2 -2
  244. data/app/serializers/spree/api/v3/admin/integration_serializer.rb +1 -3
  245. data/app/serializers/spree/api/v3/admin/line_item_serializer.rb +12 -12
  246. data/app/serializers/spree/api/v3/admin/locale_serializer.rb +13 -0
  247. data/app/serializers/spree/api/v3/admin/market_serializer.rb +3 -0
  248. data/app/serializers/spree/api/v3/admin/media_serializer.rb +3 -2
  249. data/app/serializers/spree/api/v3/admin/order_group_serializer.rb +2 -0
  250. data/app/serializers/spree/api/v3/admin/order_routing_rule_serializer.rb +1 -3
  251. data/app/serializers/spree/api/v3/admin/order_serializer.rb +33 -33
  252. data/app/serializers/spree/api/v3/admin/payment_method_serializer.rb +1 -4
  253. data/app/serializers/spree/api/v3/admin/payment_serializer.rb +6 -3
  254. data/app/serializers/spree/api/v3/admin/payment_split_serializer.rb +8 -9
  255. data/app/serializers/spree/api/v3/admin/price_adjustment_tier_serializer.rb +3 -6
  256. data/app/serializers/spree/api/v3/admin/price_history_serializer.rb +5 -2
  257. data/app/serializers/spree/api/v3/admin/price_list_serializer.rb +1 -5
  258. data/app/serializers/spree/api/v3/admin/price_rule_serializer.rb +1 -3
  259. data/app/serializers/spree/api/v3/admin/price_serializer.rb +2 -0
  260. data/app/serializers/spree/api/v3/admin/product_serializer.rb +2 -0
  261. data/app/serializers/spree/api/v3/admin/promotion_action_serializer.rb +4 -6
  262. data/app/serializers/spree/api/v3/admin/promotion_rule_serializer.rb +0 -2
  263. data/app/serializers/spree/api/v3/admin/purchase_order_item_serializer.rb +5 -11
  264. data/app/serializers/spree/api/v3/admin/purchase_order_serializer.rb +4 -4
  265. data/app/serializers/spree/api/v3/admin/refund_serializer.rb +7 -3
  266. data/app/serializers/spree/api/v3/admin/reporting_result_serializer.rb +9 -2
  267. data/app/serializers/spree/api/v3/admin/return_line_item_serializer.rb +8 -0
  268. data/app/serializers/spree/api/v3/admin/return_serializer.rb +8 -4
  269. data/app/serializers/spree/api/v3/admin/seller_balance_serializer.rb +15 -10
  270. data/app/serializers/spree/api/v3/admin/seller_payout_serializer.rb +3 -5
  271. data/app/serializers/spree/api/v3/admin/seller_serializer.rb +3 -1
  272. data/app/serializers/spree/api/v3/admin/seller_transfer_serializer.rb +7 -8
  273. data/app/serializers/spree/api/v3/admin/shipping_label_serializer.rb +4 -4
  274. data/app/serializers/spree/api/v3/admin/stock_location_serializer.rb +3 -0
  275. data/app/serializers/spree/api/v3/admin/stock_movement_serializer.rb +2 -6
  276. data/app/serializers/spree/api/v3/admin/store_credit_event_serializer.rb +5 -0
  277. data/app/serializers/spree/api/v3/admin/store_credit_serializer.rb +9 -4
  278. data/app/serializers/spree/api/v3/admin/store_serializer.rb +17 -98
  279. data/app/serializers/spree/api/v3/admin/supplier_serializer.rb +1 -1
  280. data/app/serializers/spree/api/v3/admin/tax_exemption_certificate_serializer.rb +3 -1
  281. data/app/serializers/spree/api/v3/admin/tax_line_serializer.rb +4 -2
  282. data/app/serializers/spree/api/v3/admin/tax_rate_serializer.rb +2 -12
  283. data/app/serializers/spree/api/v3/admin/update_status_serializer.rb +28 -0
  284. data/app/serializers/spree/api/v3/admin/variant_serializer.rb +7 -3
  285. data/app/serializers/spree/api/v3/base_serializer.rb +112 -7
  286. data/app/serializers/spree/api/v3/cart_serializer.rb +11 -29
  287. data/app/serializers/spree/api/v3/claim_line_item_serializer.rb +5 -13
  288. data/app/serializers/spree/api/v3/claim_serializer.rb +2 -3
  289. data/app/serializers/spree/api/v3/country_serializer.rb +2 -1
  290. data/app/serializers/spree/api/v3/currency_serializer.rb +9 -1
  291. data/app/serializers/spree/api/v3/customer_serializer.rb +3 -2
  292. data/app/serializers/spree/api/v3/delivery_rate_serializer.rb +8 -12
  293. data/app/serializers/spree/api/v3/delivery_zone_member_serializer.rb +1 -1
  294. data/app/serializers/spree/api/v3/discount_serializer.rb +4 -1
  295. data/app/serializers/spree/api/v3/exchange_line_item_serializer.rb +2 -8
  296. data/app/serializers/spree/api/v3/exchange_serializer.rb +2 -3
  297. data/app/serializers/spree/api/v3/file_upload_serializer.rb +28 -0
  298. data/app/serializers/spree/api/v3/file_upload_target_serializer.rb +17 -0
  299. data/app/serializers/spree/api/v3/gift_card_batch_serializer.rb +2 -4
  300. data/app/serializers/spree/api/v3/gift_card_serializer.rb +4 -2
  301. data/app/serializers/spree/api/v3/import_serializer.rb +0 -12
  302. data/app/serializers/spree/api/v3/line_item_serializer.rb +15 -5
  303. data/app/serializers/spree/api/v3/locale_serializer.rb +3 -1
  304. data/app/serializers/spree/api/v3/market_serializer.rb +5 -5
  305. data/app/serializers/spree/api/v3/media_serializer.rb +7 -2
  306. data/app/serializers/spree/api/v3/order_group_serializer.rb +12 -4
  307. data/app/serializers/spree/api/v3/order_serializer.rb +5 -23
  308. data/app/serializers/spree/api/v3/payment_session_serializer.rb +2 -4
  309. data/app/serializers/spree/api/v3/price_history_serializer.rb +5 -5
  310. data/app/serializers/spree/api/v3/price_serializer.rb +6 -9
  311. data/app/serializers/spree/api/v3/product_filter_price_range_serializer.rb +10 -4
  312. data/app/serializers/spree/api/v3/product_serializer.rb +3 -3
  313. data/app/serializers/spree/api/v3/refund_serializer.rb +8 -5
  314. data/app/serializers/spree/api/v3/return_line_item_serializer.rb +3 -11
  315. data/app/serializers/spree/api/v3/return_serializer.rb +3 -6
  316. data/app/serializers/spree/api/v3/seller/address_serializer.rb +12 -0
  317. data/app/serializers/spree/api/v3/seller/balance_serializer.rb +15 -10
  318. data/app/serializers/spree/api/v3/seller/claim_line_item_serializer.rb +7 -0
  319. data/app/serializers/spree/api/v3/seller/claim_serializer.rb +5 -0
  320. data/app/serializers/spree/api/v3/seller/country_serializer.rb +19 -0
  321. data/app/serializers/spree/api/v3/seller/delivery_method_rule_serializer.rb +1 -3
  322. data/app/serializers/spree/api/v3/seller/delivery_method_serializer.rb +4 -8
  323. data/app/serializers/spree/api/v3/seller/delivery_rate_serializer.rb +9 -8
  324. data/app/serializers/spree/api/v3/seller/exchange_line_item_serializer.rb +5 -0
  325. data/app/serializers/spree/api/v3/seller/exchange_serializer.rb +5 -0
  326. data/app/serializers/spree/api/v3/seller/file_upload_serializer.rb +11 -0
  327. data/app/serializers/spree/api/v3/seller/file_upload_target_serializer.rb +10 -0
  328. data/app/serializers/spree/api/v3/seller/import_serializer.rb +2 -2
  329. data/app/serializers/spree/api/v3/seller/media_serializer.rb +2 -5
  330. data/app/serializers/spree/api/v3/seller/order_line_item_serializer.rb +4 -3
  331. data/app/serializers/spree/api/v3/seller/order_serializer.rb +16 -16
  332. data/app/serializers/spree/api/v3/seller/payment_split_serializer.rb +8 -9
  333. data/app/serializers/spree/api/v3/seller/payout_serializer.rb +2 -4
  334. data/app/serializers/spree/api/v3/seller/price_history_serializer.rb +11 -0
  335. data/app/serializers/spree/api/v3/seller/price_serializer.rb +11 -0
  336. data/app/serializers/spree/api/v3/seller/product_serializer.rb +2 -0
  337. data/app/serializers/spree/api/v3/seller/profile_serializer.rb +7 -7
  338. data/app/serializers/spree/api/v3/seller/return_line_item_serializer.rb +8 -0
  339. data/app/serializers/spree/api/v3/seller/return_serializer.rb +8 -5
  340. data/app/serializers/spree/api/v3/seller/state_serializer.rb +10 -0
  341. data/app/serializers/spree/api/v3/seller/stock_location_serializer.rb +3 -0
  342. data/app/serializers/spree/api/v3/seller/transfer_serializer.rb +6 -7
  343. data/app/serializers/spree/api/v3/seller/variant_serializer.rb +8 -4
  344. data/app/serializers/spree/api/v3/stock_location_serializer.rb +8 -1
  345. data/app/serializers/spree/api/v3/store_credit_event_serializer.rb +1 -3
  346. data/app/serializers/spree/api/v3/store_credit_serializer.rb +3 -5
  347. data/app/serializers/spree/api/v3/tax_line_serializer.rb +2 -4
  348. data/app/serializers/spree/api/v3/variant_serializer.rb +3 -3
  349. data/app/services/spree/api/v3/filter_predicates.rb +29 -0
  350. data/app/services/spree/api/v3/filter_table.rb +337 -0
  351. data/app/services/spree/api/v3/filters_aggregator.rb +2 -2
  352. data/app/services/spree/api/v3/request_schema.rb +430 -0
  353. data/app/services/spree/webhooks/deliver_webhook.rb +7 -3
  354. data/config/initializers/typelizer.rb +1 -1
  355. data/config/routes.rb +5 -3
  356. data/lib/spree/api/configuration.rb +5 -0
  357. data/lib/spree/api/dependencies.rb +7 -6
  358. data/lib/spree/api/middleware/request_size_limit.rb +24 -3
  359. data/lib/spree/api/openapi/filter_documentation.rb +136 -0
  360. data/lib/spree/api/openapi/schema_helper.rb +126 -80
  361. data/lib/spree/api/preference_families.rb +46 -0
  362. data/lib/spree/api/preference_types.rb +138 -0
  363. data/lib/spree/api/typelizer_generation.rb +4 -0
  364. data/lib/tasks/filters.rake +12 -0
  365. data/lib/typelizer/open_enums.rb +10 -0
  366. metadata +60 -10
  367. data/app/controllers/concerns/spree/api/v3/address_params.rb +0 -17
  368. data/app/controllers/concerns/spree/api/v3/direct_uploads.rb +0 -35
  369. data/app/controllers/spree/api/v3/admin/direct_uploads_controller.rb +0 -54
  370. data/app/controllers/spree/api/v3/seller/direct_uploads_controller.rb +0 -21
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: spree_api
3
3
  version: !ruby/object:Gem::Version
4
- version: 6.0.0.rc1
4
+ version: 6.0.0.rc2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Vendo Connect Inc.
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2026-10-08 00:00:00.000000000 Z
11
+ date: 2026-10-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rswag-specs
@@ -44,14 +44,14 @@ dependencies:
44
44
  requirements:
45
45
  - - '='
46
46
  - !ruby/object:Gem::Version
47
- version: 6.0.0.rc1
47
+ version: 6.0.0.rc2
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - '='
53
53
  - !ruby/object:Gem::Version
54
- version: 6.0.0.rc1
54
+ version: 6.0.0.rc2
55
55
  description: Spree Commerce Store / Admin API and HTTP webhooks
56
56
  email:
57
57
  - hello@spreecommerce.org
@@ -62,7 +62,6 @@ files:
62
62
  - LICENSE
63
63
  - README.md
64
64
  - Rakefile
65
- - app/controllers/concerns/spree/api/v3/address_params.rb
66
65
  - app/controllers/concerns/spree/api/v3/admin/auth_cookies.rb
67
66
  - app/controllers/concerns/spree/api/v3/admin/email_template_lookup.rb
68
67
  - app/controllers/concerns/spree/api/v3/admin/embed_permissions.rb
@@ -83,14 +82,15 @@ files:
83
82
  - app/controllers/concerns/spree/api/v3/channel_resolution.rb
84
83
  - app/controllers/concerns/spree/api/v3/company_address_writes.rb
85
84
  - app/controllers/concerns/spree/api/v3/current_password_confirmation.rb
86
- - app/controllers/concerns/spree/api/v3/direct_uploads.rb
87
85
  - app/controllers/concerns/spree/api/v3/error_handler.rb
86
+ - app/controllers/concerns/spree/api/v3/file_uploads.rb
88
87
  - app/controllers/concerns/spree/api/v3/http_caching.rb
89
88
  - app/controllers/concerns/spree/api/v3/idempotent.rb
90
89
  - app/controllers/concerns/spree/api/v3/items_payload.rb
91
90
  - app/controllers/concerns/spree/api/v3/jwt_authentication.rb
92
91
  - app/controllers/concerns/spree/api/v3/key_store_context.rb
93
92
  - app/controllers/concerns/spree/api/v3/locale_and_currency.rb
93
+ - app/controllers/concerns/spree/api/v3/money_params.rb
94
94
  - app/controllers/concerns/spree/api/v3/order_lock.rb
95
95
  - app/controllers/concerns/spree/api/v3/orders/claim_actions.rb
96
96
  - app/controllers/concerns/spree/api/v3/orders/delivery_actions.rb
@@ -101,7 +101,9 @@ files:
101
101
  - app/controllers/concerns/spree/api/v3/orders/shipping_label_actions.rb
102
102
  - app/controllers/concerns/spree/api/v3/params_normalizer.rb
103
103
  - app/controllers/concerns/spree/api/v3/permission_serialization.rb
104
+ - app/controllers/concerns/spree/api/v3/purchase_serialization.rb
104
105
  - app/controllers/concerns/spree/api/v3/rate_limit_headers.rb
106
+ - app/controllers/concerns/spree/api/v3/request_params.rb
105
107
  - app/controllers/concerns/spree/api/v3/resource_serializer.rb
106
108
  - app/controllers/concerns/spree/api/v3/scoped_authorization.rb
107
109
  - app/controllers/concerns/spree/api/v3/security_headers.rb
@@ -113,6 +115,7 @@ files:
113
115
  - app/controllers/concerns/spree/api/v3/storefront_access.rb
114
116
  - app/controllers/concerns/spree/api/v3/storefront_gating.rb
115
117
  - app/controllers/concerns/spree/api/v3/streams_shipping_label.rb
118
+ - app/controllers/concerns/spree/api/v3/strict_money_params.rb
116
119
  - app/controllers/concerns/spree/api/v3/tax_identifier_validation.rb
117
120
  - app/controllers/spree/api/v3/admin/admin_users_controller.rb
118
121
  - app/controllers/spree/api/v3/admin/allowed_origins_controller.rb
@@ -164,7 +167,6 @@ files:
164
167
  - app/controllers/spree/api/v3/admin/delivery_profiles_controller.rb
165
168
  - app/controllers/spree/api/v3/admin/delivery_zones_controller.rb
166
169
  - app/controllers/spree/api/v3/admin/digital_links_controller.rb
167
- - app/controllers/spree/api/v3/admin/direct_uploads_controller.rb
168
170
  - app/controllers/spree/api/v3/admin/email_templates/drafts_controller.rb
169
171
  - app/controllers/spree/api/v3/admin/email_templates/previews_controller.rb
170
172
  - app/controllers/spree/api/v3/admin/email_templates/publications_controller.rb
@@ -175,6 +177,7 @@ files:
175
177
  - app/controllers/spree/api/v3/admin/email_templates_controller.rb
176
178
  - app/controllers/spree/api/v3/admin/exchanges_controller.rb
177
179
  - app/controllers/spree/api/v3/admin/exports_controller.rb
180
+ - app/controllers/spree/api/v3/admin/files_controller.rb
178
181
  - app/controllers/spree/api/v3/admin/gift_card_batches_controller.rb
179
182
  - app/controllers/spree/api/v3/admin/gift_cards_controller.rb
180
183
  - app/controllers/spree/api/v3/admin/import_rows_controller.rb
@@ -265,6 +268,7 @@ files:
265
268
  - app/controllers/spree/api/v3/admin/translations/batches_controller.rb
266
269
  - app/controllers/spree/api/v3/admin/translations_controller.rb
267
270
  - app/controllers/spree/api/v3/admin/translations_coverage_controller.rb
271
+ - app/controllers/spree/api/v3/admin/updates_controller.rb
268
272
  - app/controllers/spree/api/v3/admin/variants_controller.rb
269
273
  - app/controllers/spree/api/v3/admin/webhook_deliveries_controller.rb
270
274
  - app/controllers/spree/api/v3/admin/webhook_endpoints_controller.rb
@@ -279,8 +283,8 @@ files:
279
283
  - app/controllers/spree/api/v3/seller/delivery_methods_controller.rb
280
284
  - app/controllers/spree/api/v3/seller/delivery_profiles_controller.rb
281
285
  - app/controllers/spree/api/v3/seller/delivery_zones_controller.rb
282
- - app/controllers/spree/api/v3/seller/direct_uploads_controller.rb
283
286
  - app/controllers/spree/api/v3/seller/exports_controller.rb
287
+ - app/controllers/spree/api/v3/seller/files_controller.rb
284
288
  - app/controllers/spree/api/v3/seller/import_rows_controller.rb
285
289
  - app/controllers/spree/api/v3/seller/imports_controller.rb
286
290
  - app/controllers/spree/api/v3/seller/invitation_acceptances_controller.rb
@@ -378,7 +382,33 @@ files:
378
382
  - app/models/spree/api/data_request_urls.rb
379
383
  - app/models/spree/api/digital_link_urls.rb
380
384
  - app/models/spree/api_key_ability.rb
385
+ - app/request_schemas/spree/api/v3/address_request_schema.rb
386
+ - app/request_schemas/spree/api/v3/admin/address_request_schema.rb
387
+ - app/request_schemas/spree/api/v3/admin/bulk_tags_request_schema.rb
388
+ - app/request_schemas/spree/api/v3/admin/catalog_order_minimum_request_schema.rb
389
+ - app/request_schemas/spree/api/v3/admin/email_template_language_request_schema.rb
390
+ - app/request_schemas/spree/api/v3/admin/email_template_preview_request_schema.rb
391
+ - app/request_schemas/spree/api/v3/admin/price_adjustment_tier_request_schema.rb
392
+ - app/request_schemas/spree/api/v3/admin/price_list_price_request_schema.rb
393
+ - app/request_schemas/spree/api/v3/admin/price_list_rule_request_schema.rb
394
+ - app/request_schemas/spree/api/v3/admin/product_membership_reposition_request_schema.rb
395
+ - app/request_schemas/spree/api/v3/admin/promotion_action_calculator_request_schema.rb
396
+ - app/request_schemas/spree/api/v3/admin/promotion_action_line_item_request_schema.rb
397
+ - app/request_schemas/spree/api/v3/admin/promotion_action_request_schema.rb
398
+ - app/request_schemas/spree/api/v3/admin/promotion_rule_request_schema.rb
399
+ - app/request_schemas/spree/api/v3/admin/reason_request_schema.rb
400
+ - app/request_schemas/spree/api/v3/admin/tax_identifier_request_schema.rb
401
+ - app/request_schemas/spree/api/v3/custom_field_value_request_schema.rb
402
+ - app/request_schemas/spree/api/v3/file_upload_request_schema.rb
403
+ - app/request_schemas/spree/api/v3/media_request_schema.rb
404
+ - app/request_schemas/spree/api/v3/price_request_schema.rb
405
+ - app/request_schemas/spree/api/v3/stock_level_request_schema.rb
406
+ - app/request_schemas/spree/api/v3/store/address_request_schema.rb
407
+ - app/request_schemas/spree/api/v3/tax_identifier_request_schema.rb
408
+ - app/request_schemas/spree/api/v3/variant_option_request_schema.rb
409
+ - app/request_schemas/spree/api/v3/variant_request_schema.rb
381
410
  - app/serializers/concerns/spree/api/v3/admin/translatable.rb
411
+ - app/serializers/concerns/spree/api/v3/purchase_summary.rb
382
412
  - app/serializers/spree/api/v3/address_serializer.rb
383
413
  - app/serializers/spree/api/v3/admin/actor_serializer.rb
384
414
  - app/serializers/spree/api/v3/admin/address_serializer.rb
@@ -440,6 +470,8 @@ files:
440
470
  - app/serializers/spree/api/v3/admin/exchange_serializer.rb
441
471
  - app/serializers/spree/api/v3/admin/export_serializer.rb
442
472
  - app/serializers/spree/api/v3/admin/fee_serializer.rb
473
+ - app/serializers/spree/api/v3/admin/file_upload_serializer.rb
474
+ - app/serializers/spree/api/v3/admin/file_upload_target_serializer.rb
443
475
  - app/serializers/spree/api/v3/admin/freight_summary_line_serializer.rb
444
476
  - app/serializers/spree/api/v3/admin/freight_summary_serializer.rb
445
477
  - app/serializers/spree/api/v3/admin/fulfillment_item_serializer.rb
@@ -453,6 +485,7 @@ files:
453
485
  - app/serializers/spree/api/v3/admin/invitation_acceptance_link_serializer.rb
454
486
  - app/serializers/spree/api/v3/admin/invitation_serializer.rb
455
487
  - app/serializers/spree/api/v3/admin/line_item_serializer.rb
488
+ - app/serializers/spree/api/v3/admin/locale_serializer.rb
456
489
  - app/serializers/spree/api/v3/admin/market_serializer.rb
457
490
  - app/serializers/spree/api/v3/admin/media_serializer.rb
458
491
  - app/serializers/spree/api/v3/admin/membership_product_serializer.rb
@@ -523,6 +556,7 @@ files:
523
556
  - app/serializers/spree/api/v3/admin/tax_identifier_serializer.rb
524
557
  - app/serializers/spree/api/v3/admin/tax_line_serializer.rb
525
558
  - app/serializers/spree/api/v3/admin/tax_rate_serializer.rb
559
+ - app/serializers/spree/api/v3/admin/update_status_serializer.rb
526
560
  - app/serializers/spree/api/v3/admin/variant_serializer.rb
527
561
  - app/serializers/spree/api/v3/admin/webhook_delivery_serializer.rb
528
562
  - app/serializers/spree/api/v3/admin/webhook_endpoint_serializer.rb
@@ -559,6 +593,8 @@ files:
559
593
  - app/serializers/spree/api/v3/exchange_serializer.rb
560
594
  - app/serializers/spree/api/v3/export_serializer.rb
561
595
  - app/serializers/spree/api/v3/fee_serializer.rb
596
+ - app/serializers/spree/api/v3/file_upload_serializer.rb
597
+ - app/serializers/spree/api/v3/file_upload_target_serializer.rb
562
598
  - app/serializers/spree/api/v3/freight_summary_serializer.rb
563
599
  - app/serializers/spree/api/v3/fulfillment_serializer.rb
564
600
  - app/serializers/spree/api/v3/gift_card_batch_serializer.rb
@@ -607,9 +643,11 @@ files:
607
643
  - app/serializers/spree/api/v3/return_serializer.rb
608
644
  - app/serializers/spree/api/v3/saved_report_event_serializer.rb
609
645
  - app/serializers/spree/api/v3/seller/account_serializer.rb
646
+ - app/serializers/spree/api/v3/seller/address_serializer.rb
610
647
  - app/serializers/spree/api/v3/seller/balance_serializer.rb
611
648
  - app/serializers/spree/api/v3/seller/claim_line_item_serializer.rb
612
649
  - app/serializers/spree/api/v3/seller/claim_serializer.rb
650
+ - app/serializers/spree/api/v3/seller/country_serializer.rb
613
651
  - app/serializers/spree/api/v3/seller/delivery_method_rule_serializer.rb
614
652
  - app/serializers/spree/api/v3/seller/delivery_method_serializer.rb
615
653
  - app/serializers/spree/api/v3/seller/delivery_profile_serializer.rb
@@ -619,6 +657,8 @@ files:
619
657
  - app/serializers/spree/api/v3/seller/exchange_line_item_serializer.rb
620
658
  - app/serializers/spree/api/v3/seller/exchange_serializer.rb
621
659
  - app/serializers/spree/api/v3/seller/export_serializer.rb
660
+ - app/serializers/spree/api/v3/seller/file_upload_serializer.rb
661
+ - app/serializers/spree/api/v3/seller/file_upload_target_serializer.rb
622
662
  - app/serializers/spree/api/v3/seller/fulfillment_item_serializer.rb
623
663
  - app/serializers/spree/api/v3/seller/fulfillment_serializer.rb
624
664
  - app/serializers/spree/api/v3/seller/import_mapping_serializer.rb
@@ -633,6 +673,8 @@ files:
633
673
  - app/serializers/spree/api/v3/seller/payment_split_serializer.rb
634
674
  - app/serializers/spree/api/v3/seller/payout_serializer.rb
635
675
  - app/serializers/spree/api/v3/seller/policy_serializer.rb
676
+ - app/serializers/spree/api/v3/seller/price_history_serializer.rb
677
+ - app/serializers/spree/api/v3/seller/price_serializer.rb
636
678
  - app/serializers/spree/api/v3/seller/product_serializer.rb
637
679
  - app/serializers/spree/api/v3/seller/product_submission_serializer.rb
638
680
  - app/serializers/spree/api/v3/seller/product_type_serializer.rb
@@ -644,6 +686,7 @@ files:
644
686
  - app/serializers/spree/api/v3/seller/return_line_item_serializer.rb
645
687
  - app/serializers/spree/api/v3/seller/return_serializer.rb
646
688
  - app/serializers/spree/api/v3/seller/shipping_label_serializer.rb
689
+ - app/serializers/spree/api/v3/seller/state_serializer.rb
647
690
  - app/serializers/spree/api/v3/seller/stock_level_serializer.rb
648
691
  - app/serializers/spree/api/v3/seller/stock_location_serializer.rb
649
692
  - app/serializers/spree/api/v3/seller/tax_identifier_serializer.rb
@@ -668,7 +711,10 @@ files:
668
711
  - app/serializers/spree/api/v3/variant_serializer.rb
669
712
  - app/serializers/spree/api/v3/wishlist_item_serializer.rb
670
713
  - app/serializers/spree/api/v3/wishlist_serializer.rb
714
+ - app/services/spree/api/v3/filter_predicates.rb
715
+ - app/services/spree/api/v3/filter_table.rb
671
716
  - app/services/spree/api/v3/filters_aggregator.rb
717
+ - app/services/spree/api/v3/request_schema.rb
672
718
  - app/services/spree/webhooks/deliver_webhook.rb
673
719
  - app/subscribers/spree/webhook_event_subscriber.rb
674
720
  - config/brakeman.ignore
@@ -725,8 +771,11 @@ files:
725
771
  - lib/spree/api/dependencies.rb
726
772
  - lib/spree/api/engine.rb
727
773
  - lib/spree/api/middleware/request_size_limit.rb
774
+ - lib/spree/api/openapi/filter_documentation.rb
728
775
  - lib/spree/api/openapi/path_sorter.rb
729
776
  - lib/spree/api/openapi/schema_helper.rb
777
+ - lib/spree/api/preference_families.rb
778
+ - lib/spree/api/preference_types.rb
730
779
  - lib/spree/api/testing_support/always_register_type_hints.rb
731
780
  - lib/spree/api/testing_support/factories.rb
732
781
  - lib/spree/api/testing_support/matchers/webhooks.rb
@@ -735,6 +784,7 @@ files:
735
784
  - lib/spree/api/typelizer_generation.rb
736
785
  - lib/spree/api/webhook_event_types.rb
737
786
  - lib/spree_api.rb
787
+ - lib/tasks/filters.rake
738
788
  - lib/typelizer/open_enums.rb
739
789
  - lib/typelizer/proc_resource_resolution.rb
740
790
  homepage: https://spreecommerce.org
@@ -742,9 +792,9 @@ licenses:
742
792
  - BSD-3-Clause
743
793
  metadata:
744
794
  bug_tracker_uri: https://github.com/spree/spree/issues
745
- changelog_uri: https://github.com/spree/spree/releases/tag/v6.0.0.rc1
795
+ changelog_uri: https://github.com/spree/spree/releases/tag/v6.0.0.rc2
746
796
  documentation_uri: https://docs.spreecommerce.org/
747
- source_code_uri: https://github.com/spree/spree/tree/v6.0.0.rc1
797
+ source_code_uri: https://github.com/spree/spree/tree/v6.0.0.rc2
748
798
  post_install_message:
749
799
  rdoc_options: []
750
800
  require_paths:
@@ -1,17 +0,0 @@
1
- module Spree
2
- module Api
3
- module V3
4
- # The writable attributes of a nested address.
5
- #
6
- # One list rather than one per controller: an address is the same record
7
- # wherever it hangs, so a column added on one write path but missed on
8
- # another is dropped silently.
9
- module AddressParams
10
- ADDRESS_KEYS = [
11
- :first_name, :last_name, :company, :address1, :address2, :city,
12
- :postal_code, :zipcode, :phone, :country_code, :state_code, :state_name, :label
13
- ].freeze
14
- end
15
- end
16
- end
17
- end
@@ -1,35 +0,0 @@
1
- module Spree
2
- module Api
3
- module V3
4
- # Presigning for direct-to-storage uploads: a caller exchanges blob
5
- # metadata for an upload URL and gets back a signed id to reference when
6
- # it creates or updates a resource.
7
- #
8
- # Shared by the admin and seller branches because the exchange itself is
9
- # audience-neutral — a blob created here is attached to nothing. What
10
- # differs is the gate each branch puts in front of it, which stays on the
11
- # including controller as its `scoped_resource`.
12
- module DirectUploads
13
- extend ActiveSupport::Concern
14
-
15
- def create
16
- blob = ActiveStorage::Blob.create_before_direct_upload!(**blob_params)
17
-
18
- render json: {
19
- direct_upload: {
20
- url: blob.service_url_for_direct_upload,
21
- headers: blob.service_headers_for_direct_upload
22
- },
23
- signed_id: blob.signed_id
24
- }, status: :created
25
- end
26
-
27
- private
28
-
29
- def blob_params
30
- params.require(:blob).permit(:filename, :byte_size, :checksum, :content_type).to_h.symbolize_keys
31
- end
32
- end
33
- end
34
- end
35
- end
@@ -1,54 +0,0 @@
1
- module Spree
2
- module Api
3
- module V3
4
- module Admin
5
- class DirectUploadsController < Admin::BaseController
6
- include Spree::Api::V3::DirectUploads
7
-
8
- # Direct uploads is a write-adjacent presigning helper: callers exchange
9
- # blob metadata for an upload URL, then reference the resulting
10
- # signed_id when creating/updating a resource (product media, customer
11
- # avatar, etc). The narrowest scope it can map to is `write_products`
12
- # since that covers the dominant upload flow (product/variant media).
13
- # Other admin-write flows that take signed_ids (e.g. customer avatar)
14
- # already require the relevant `write_<resource>` scope on the
15
- # subsequent PATCH, so this gate is the floor, not the only check.
16
- scoped_resource :products
17
-
18
- skip_before_action :authenticate_user
19
-
20
- # POST /api/v3/admin/direct_uploads
21
- #
22
- # Overrides the shared concern's create to select the storage service:
23
- # digital assets must land on private storage up front, since attaching
24
- # a signed id never moves a blob between services.
25
- def create
26
- blob = ActiveStorage::Blob.create_before_direct_upload!(service_name: storage_service_name, **blob_params)
27
-
28
- render json: {
29
- direct_upload: {
30
- url: blob.service_url_for_direct_upload,
31
- headers: blob.service_headers_for_direct_upload
32
- },
33
- signed_id: blob.signed_id
34
- }, status: :created
35
- end
36
-
37
- private
38
-
39
- # Attaching a signed id never moves the blob between services, so a
40
- # file destined for a private attachment has to be uploaded to the
41
- # private service up front. `private: true` asks for that; everything
42
- # else keeps landing on the public service as before.
43
- def storage_service_name
44
- if params[:private].to_b
45
- Spree.private_storage_service_name
46
- else
47
- Spree.public_storage_service_name
48
- end
49
- end
50
- end
51
- end
52
- end
53
- end
54
- end
@@ -1,21 +0,0 @@
1
- module Spree
2
- module Api
3
- module V3
4
- module Seller
5
- # Presigning for a seller's own uploads — today the documents their
6
- # onboarding asks for.
7
- #
8
- # A blob created here is not attached to anything yet: it becomes a
9
- # submission only when the seller posts its signed id, and that
10
- # endpoint is the one that checks the requirement is theirs. So the
11
- # narrowest meaningful gate is the seller's own profile, which every
12
- # member of a seller's team holds.
13
- class DirectUploadsController < Seller::BaseController
14
- include Spree::Api::V3::DirectUploads
15
-
16
- scoped_resource :seller_profile
17
- end
18
- end
19
- end
20
- end
21
- end