spree_api 6.0.0.beta4 → 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 (531) hide show
  1. checksums.yaml +4 -4
  2. data/Rakefile +4 -48
  3. data/app/controllers/concerns/spree/api/v3/admin/email_template_lookup.rb +139 -0
  4. data/app/controllers/concerns/spree/api/v3/admin/product_membership.rb +10 -0
  5. data/app/controllers/concerns/spree/api/v3/admin/stock_receipt_actions.rb +26 -4
  6. data/app/controllers/concerns/spree/api/v3/admin/store_context.rb +1 -1
  7. data/app/controllers/concerns/spree/api/v3/admin/subclassed_resource.rb +15 -29
  8. data/app/controllers/concerns/spree/api/v3/admin/validation_details.rb +1 -1
  9. data/app/controllers/concerns/spree/api/v3/cart_resolvable.rb +10 -2
  10. data/app/controllers/concerns/spree/api/v3/channel_resolution.rb +3 -3
  11. data/app/controllers/concerns/spree/api/v3/company_address_writes.rb +3 -1
  12. data/app/controllers/concerns/spree/api/v3/current_password_confirmation.rb +1 -1
  13. data/app/controllers/concerns/spree/api/v3/error_handler.rb +55 -4
  14. data/app/controllers/concerns/spree/api/v3/file_uploads.rb +35 -0
  15. data/app/controllers/concerns/spree/api/v3/http_caching.rb +44 -11
  16. data/app/controllers/concerns/spree/api/v3/idempotent.rb +20 -5
  17. data/app/controllers/concerns/spree/api/v3/items_payload.rb +1 -1
  18. data/app/controllers/concerns/spree/api/v3/money_params.rb +52 -0
  19. data/app/controllers/concerns/spree/api/v3/order_lock.rb +2 -2
  20. data/app/controllers/concerns/spree/api/v3/orders/claim_actions.rb +1 -5
  21. data/app/controllers/concerns/spree/api/v3/orders/delivery_actions.rb +7 -11
  22. data/app/controllers/concerns/spree/api/v3/orders/exchange_actions.rb +1 -4
  23. data/app/controllers/concerns/spree/api/v3/orders/fulfillment_actions.rb +3 -15
  24. data/app/controllers/concerns/spree/api/v3/orders/post_sale_actions.rb +2 -10
  25. data/app/controllers/concerns/spree/api/v3/orders/return_actions.rb +1 -4
  26. data/app/controllers/concerns/spree/api/v3/orders/shipping_label_actions.rb +8 -28
  27. data/app/controllers/concerns/spree/api/v3/params_normalizer.rb +5 -0
  28. data/app/controllers/concerns/spree/api/v3/permission_serialization.rb +9 -1
  29. data/app/controllers/concerns/spree/api/v3/purchase_serialization.rb +26 -0
  30. data/app/controllers/concerns/spree/api/v3/request_params.rb +65 -0
  31. data/app/controllers/concerns/spree/api/v3/seller/seller_context.rb +1 -1
  32. data/app/controllers/concerns/spree/api/v3/store/storefront_products.rb +5 -4
  33. data/app/controllers/concerns/spree/api/v3/storefront_gating.rb +11 -5
  34. data/app/controllers/concerns/spree/api/v3/strict_money_params.rb +94 -0
  35. data/app/controllers/spree/api/v3/admin/admin_users_controller.rb +8 -4
  36. data/app/controllers/spree/api/v3/admin/allowed_origins_controller.rb +8 -1
  37. data/app/controllers/spree/api/v3/admin/api_keys_controller.rb +16 -8
  38. data/app/controllers/spree/api/v3/admin/base_controller.rb +1 -0
  39. data/app/controllers/spree/api/v3/admin/catalogs/order_minimums_controller.rb +2 -6
  40. data/app/controllers/spree/api/v3/admin/catalogs/quantity_rules_controller.rb +7 -9
  41. data/app/controllers/spree/api/v3/admin/catalogs_controller.rb +61 -34
  42. data/app/controllers/spree/api/v3/admin/categories/products_controller.rb +4 -1
  43. data/app/controllers/spree/api/v3/admin/categories_controller.rb +40 -20
  44. data/app/controllers/spree/api/v3/admin/channels_controller.rb +39 -10
  45. data/app/controllers/spree/api/v3/admin/claim_reasons_controller.rb +5 -1
  46. data/app/controllers/spree/api/v3/admin/collections/products_controller.rb +5 -3
  47. data/app/controllers/spree/api/v3/admin/collections_controller.rb +44 -15
  48. data/app/controllers/spree/api/v3/admin/commission_rates_controller.rb +62 -14
  49. data/app/controllers/spree/api/v3/admin/companies/addresses_controller.rb +11 -4
  50. data/app/controllers/spree/api/v3/admin/companies/invitations_controller.rb +1 -5
  51. data/app/controllers/spree/api/v3/admin/companies/memberships_controller.rb +9 -5
  52. data/app/controllers/spree/api/v3/admin/companies/tax_exemption_certificates_controller.rb +20 -27
  53. data/app/controllers/spree/api/v3/admin/companies/tax_identifiers_controller.rb +6 -5
  54. data/app/controllers/spree/api/v3/admin/companies_controller.rb +17 -7
  55. data/app/controllers/spree/api/v3/admin/countries_controller.rb +6 -2
  56. data/app/controllers/spree/api/v3/admin/coupon_codes_controller.rb +0 -4
  57. data/app/controllers/spree/api/v3/admin/custom_field_definitions_controller.rb +22 -4
  58. data/app/controllers/spree/api/v3/admin/custom_fields_controller.rb +12 -9
  59. data/app/controllers/spree/api/v3/admin/customer_groups_controller.rb +9 -5
  60. data/app/controllers/spree/api/v3/admin/customers/addresses_controller.rb +12 -11
  61. data/app/controllers/spree/api/v3/admin/customers/credit_cards_controller.rb +0 -4
  62. data/app/controllers/spree/api/v3/admin/customers/store_credits_controller.rb +11 -13
  63. data/app/controllers/spree/api/v3/admin/customers/tax_identifiers_controller.rb +6 -1
  64. data/app/controllers/spree/api/v3/admin/customers_controller.rb +37 -9
  65. data/app/controllers/spree/api/v3/admin/data_requests_controller.rb +8 -0
  66. data/app/controllers/spree/api/v3/admin/delivery_method_rules_controller.rb +1 -1
  67. data/app/controllers/spree/api/v3/admin/delivery_methods/rules_controller.rb +16 -8
  68. data/app/controllers/spree/api/v3/admin/delivery_methods_controller.rb +95 -62
  69. data/app/controllers/spree/api/v3/admin/delivery_profiles/origin_groups_controller.rb +8 -1
  70. data/app/controllers/spree/api/v3/admin/delivery_profiles_controller.rb +14 -7
  71. data/app/controllers/spree/api/v3/admin/delivery_zones_controller.rb +21 -5
  72. data/app/controllers/spree/api/v3/admin/email_templates/drafts_controller.rb +53 -0
  73. data/app/controllers/spree/api/v3/admin/email_templates/previews_controller.rb +34 -0
  74. data/app/controllers/spree/api/v3/admin/email_templates/publications_controller.rb +37 -0
  75. data/app/controllers/spree/api/v3/admin/email_templates/restorations_controller.rb +42 -0
  76. data/app/controllers/spree/api/v3/admin/email_templates/revisions_controller.rb +35 -0
  77. data/app/controllers/spree/api/v3/admin/email_templates/sample_records_controller.rb +33 -0
  78. data/app/controllers/spree/api/v3/admin/email_templates/test_emails_controller.rb +44 -0
  79. data/app/controllers/spree/api/v3/admin/email_templates_controller.rb +46 -0
  80. data/app/controllers/spree/api/v3/admin/exports_controller.rb +23 -6
  81. data/app/controllers/spree/api/v3/admin/files_controller.rb +29 -0
  82. data/app/controllers/spree/api/v3/admin/gift_card_batches_controller.rb +20 -1
  83. data/app/controllers/spree/api/v3/admin/gift_cards_controller.rb +19 -1
  84. data/app/controllers/spree/api/v3/admin/imports_controller.rb +37 -11
  85. data/app/controllers/spree/api/v3/admin/integrations_controller.rb +13 -1
  86. data/app/controllers/spree/api/v3/admin/invitation_acceptances_controller.rb +9 -2
  87. data/app/controllers/spree/api/v3/admin/invitations_controller.rb +8 -8
  88. data/app/controllers/spree/api/v3/admin/locales_controller.rb +1 -1
  89. data/app/controllers/spree/api/v3/admin/markets_controller.rb +30 -9
  90. data/app/controllers/spree/api/v3/admin/me_controller.rb +13 -4
  91. data/app/controllers/spree/api/v3/admin/media_controller.rb +22 -9
  92. data/app/controllers/spree/api/v3/admin/media_library_controller.rb +9 -5
  93. data/app/controllers/spree/api/v3/admin/option_types_controller.rb +24 -7
  94. data/app/controllers/spree/api/v3/admin/order_cancellation_reasons_controller.rb +5 -1
  95. data/app/controllers/spree/api/v3/admin/order_routing_rules_controller.rb +13 -5
  96. data/app/controllers/spree/api/v3/admin/orders/claims_controller.rb +39 -1
  97. data/app/controllers/spree/api/v3/admin/orders/deliveries_controller.rb +20 -6
  98. data/app/controllers/spree/api/v3/admin/orders/discount_codes_controller.rb +6 -2
  99. data/app/controllers/spree/api/v3/admin/orders/discounts_controller.rb +30 -6
  100. data/app/controllers/spree/api/v3/admin/orders/exchanges_controller.rb +36 -1
  101. data/app/controllers/spree/api/v3/admin/orders/fees_controller.rb +22 -1
  102. data/app/controllers/spree/api/v3/admin/orders/fulfillments_controller.rb +83 -22
  103. data/app/controllers/spree/api/v3/admin/orders/gift_cards_controller.rb +9 -5
  104. data/app/controllers/spree/api/v3/admin/orders/items_controller.rb +11 -1
  105. data/app/controllers/spree/api/v3/admin/orders/labels_controller.rb +37 -12
  106. data/app/controllers/spree/api/v3/admin/orders/payments_controller.rb +18 -19
  107. data/app/controllers/spree/api/v3/admin/orders/refunds_controller.rb +7 -5
  108. data/app/controllers/spree/api/v3/admin/orders/returns_controller.rb +37 -1
  109. data/app/controllers/spree/api/v3/admin/orders/store_credits_controller.rb +6 -3
  110. data/app/controllers/spree/api/v3/admin/orders_controller.rb +76 -62
  111. data/app/controllers/spree/api/v3/admin/package_types_controller.rb +30 -5
  112. data/app/controllers/spree/api/v3/admin/password_resets_controller.rb +26 -7
  113. data/app/controllers/spree/api/v3/admin/payment_methods_controller.rb +38 -22
  114. data/app/controllers/spree/api/v3/admin/policies_controller.rb +8 -4
  115. data/app/controllers/spree/api/v3/admin/price_lists_controller.rb +32 -67
  116. data/app/controllers/spree/api/v3/admin/prices_controller.rb +51 -8
  117. data/app/controllers/spree/api/v3/admin/product_types_controller.rb +25 -8
  118. data/app/controllers/spree/api/v3/admin/products/digital_assets_controller.rb +29 -16
  119. data/app/controllers/spree/api/v3/admin/products/variants_controller.rb +9 -18
  120. data/app/controllers/spree/api/v3/admin/products_controller.rb +122 -71
  121. data/app/controllers/spree/api/v3/admin/promotion_actions_controller.rb +11 -6
  122. data/app/controllers/spree/api/v3/admin/promotion_rules_controller.rb +10 -5
  123. data/app/controllers/spree/api/v3/admin/promotions_controller.rb +50 -14
  124. data/app/controllers/spree/api/v3/admin/purchase_orders_controller.rb +55 -8
  125. data/app/controllers/spree/api/v3/admin/refund_reasons_controller.rb +5 -1
  126. data/app/controllers/spree/api/v3/admin/reporting/saved_reports_controller.rb +9 -1
  127. data/app/controllers/spree/api/v3/admin/reporting_controller.rb +34 -0
  128. data/app/controllers/spree/api/v3/admin/resource_controller.rb +2 -1
  129. data/app/controllers/spree/api/v3/admin/return_reasons_controller.rb +5 -1
  130. data/app/controllers/spree/api/v3/admin/roles_controller.rb +13 -1
  131. data/app/controllers/spree/api/v3/admin/seller_payouts_controller.rb +7 -9
  132. data/app/controllers/spree/api/v3/admin/seller_requirement_submissions_controller.rb +17 -10
  133. data/app/controllers/spree/api/v3/admin/seller_requirements_controller.rb +32 -6
  134. data/app/controllers/spree/api/v3/admin/seller_transfers_controller.rb +0 -4
  135. data/app/controllers/spree/api/v3/admin/sellers/invitations_controller.rb +1 -1
  136. data/app/controllers/spree/api/v3/admin/sellers/payouts_controller.rb +1 -1
  137. data/app/controllers/spree/api/v3/admin/sellers_controller.rb +77 -32
  138. data/app/controllers/spree/api/v3/admin/setup_controller.rb +54 -23
  139. data/app/controllers/spree/api/v3/admin/stock_levels_controller.rb +38 -9
  140. data/app/controllers/spree/api/v3/admin/stock_locations_controller.rb +41 -9
  141. data/app/controllers/spree/api/v3/admin/stock_transfers_controller.rb +49 -8
  142. data/app/controllers/spree/api/v3/admin/store_controller.rb +122 -48
  143. data/app/controllers/spree/api/v3/admin/store_credits_controller.rb +1 -7
  144. data/app/controllers/spree/api/v3/admin/suppliers_controller.rb +16 -6
  145. data/app/controllers/spree/api/v3/admin/tags_controller.rb +8 -5
  146. data/app/controllers/spree/api/v3/admin/tax_categories_controller.rb +7 -4
  147. data/app/controllers/spree/api/v3/admin/tax_rates_controller.rb +21 -3
  148. data/app/controllers/spree/api/v3/admin/tracking_carriers_controller.rb +4 -0
  149. data/app/controllers/spree/api/v3/admin/translations/batches_controller.rb +17 -9
  150. data/app/controllers/spree/api/v3/admin/translations_controller.rb +4 -0
  151. data/app/controllers/spree/api/v3/admin/translations_coverage_controller.rb +5 -0
  152. data/app/controllers/spree/api/v3/admin/updates_controller.rb +39 -0
  153. data/app/controllers/spree/api/v3/admin/webhook_endpoints_controller.rb +40 -13
  154. data/app/controllers/spree/api/v3/admin/webhook_events_controller.rb +25 -0
  155. data/app/controllers/spree/api/v3/base_controller.rb +12 -0
  156. data/app/controllers/spree/api/v3/resource_controller.rb +99 -3
  157. data/app/controllers/spree/api/v3/seller/auth_controller.rb +10 -2
  158. data/app/controllers/spree/api/v3/seller/base_controller.rb +1 -0
  159. data/app/controllers/spree/api/v3/seller/countries_controller.rb +3 -3
  160. data/app/controllers/spree/api/v3/seller/delivery_methods_controller.rb +49 -60
  161. data/app/controllers/spree/api/v3/seller/exports_controller.rb +21 -4
  162. data/app/controllers/spree/api/v3/seller/files_controller.rb +27 -0
  163. data/app/controllers/spree/api/v3/seller/imports_controller.rb +25 -9
  164. data/app/controllers/spree/api/v3/seller/invitation_acceptances_controller.rb +12 -4
  165. data/app/controllers/spree/api/v3/seller/invitations_controller.rb +1 -1
  166. data/app/controllers/spree/api/v3/seller/me_controller.rb +15 -4
  167. data/app/controllers/spree/api/v3/seller/onboarding_controller.rb +11 -0
  168. data/app/controllers/spree/api/v3/seller/orders/claims_controller.rb +35 -0
  169. data/app/controllers/spree/api/v3/seller/orders/deliveries_controller.rb +12 -0
  170. data/app/controllers/spree/api/v3/seller/orders/exchanges_controller.rb +33 -0
  171. data/app/controllers/spree/api/v3/seller/orders/fulfillments_controller.rb +28 -2
  172. data/app/controllers/spree/api/v3/seller/orders/labels_controller.rb +23 -2
  173. data/app/controllers/spree/api/v3/seller/orders/notes_controller.rb +8 -1
  174. data/app/controllers/spree/api/v3/seller/orders/returns_controller.rb +32 -0
  175. data/app/controllers/spree/api/v3/seller/orders_controller.rb +35 -14
  176. data/app/controllers/spree/api/v3/seller/package_types_controller.rb +21 -9
  177. data/app/controllers/spree/api/v3/seller/password_resets_controller.rb +20 -11
  178. data/app/controllers/spree/api/v3/seller/policies_controller.rb +12 -4
  179. data/app/controllers/spree/api/v3/seller/products_controller.rb +115 -28
  180. data/app/controllers/spree/api/v3/seller/profile_controller.rb +33 -10
  181. data/app/controllers/spree/api/v3/seller/requirement_submissions_controller.rb +13 -6
  182. data/app/controllers/spree/api/v3/seller/resource_controller.rb +12 -0
  183. data/app/controllers/spree/api/v3/seller/stock_locations_controller.rb +44 -13
  184. data/app/controllers/spree/api/v3/seller/tax_identifiers_controller.rb +10 -1
  185. data/app/controllers/spree/api/v3/seller/team_controller.rb +5 -1
  186. data/app/controllers/spree/api/v3/store/auth_controller.rb +10 -0
  187. data/app/controllers/spree/api/v3/store/carts/discount_codes_controller.rb +9 -2
  188. data/app/controllers/spree/api/v3/store/carts/fulfillments_controller.rb +11 -11
  189. data/app/controllers/spree/api/v3/store/carts/gift_cards_controller.rb +13 -4
  190. data/app/controllers/spree/api/v3/store/carts/items_controller.rb +23 -7
  191. data/app/controllers/spree/api/v3/store/carts/payment_sessions_controller.rb +21 -7
  192. data/app/controllers/spree/api/v3/store/carts/payments_controller.rb +16 -3
  193. data/app/controllers/spree/api/v3/store/carts/po_documents_controller.rb +26 -28
  194. data/app/controllers/spree/api/v3/store/carts/store_credits_controller.rb +9 -1
  195. data/app/controllers/spree/api/v3/store/carts/tax_identifiers_controller.rb +5 -1
  196. data/app/controllers/spree/api/v3/store/carts_controller.rb +64 -52
  197. data/app/controllers/spree/api/v3/store/companies/addresses_controller.rb +12 -8
  198. data/app/controllers/spree/api/v3/store/companies/invitations_controller.rb +1 -5
  199. data/app/controllers/spree/api/v3/store/companies/members_controller.rb +4 -0
  200. data/app/controllers/spree/api/v3/store/companies_controller.rb +5 -1
  201. data/app/controllers/spree/api/v3/store/company_invitations_controller.rb +10 -2
  202. data/app/controllers/spree/api/v3/store/customer/addresses_controller.rb +8 -11
  203. data/app/controllers/spree/api/v3/store/customer/credit_cards_controller.rb +0 -4
  204. data/app/controllers/spree/api/v3/store/customer/data_requests_controller.rb +5 -5
  205. data/app/controllers/spree/api/v3/store/customer/digital_links_controller.rb +0 -4
  206. data/app/controllers/spree/api/v3/store/customer/gift_cards_controller.rb +0 -4
  207. data/app/controllers/spree/api/v3/store/customer/orders_controller.rb +0 -4
  208. data/app/controllers/spree/api/v3/store/customer/password_resets_controller.rb +25 -6
  209. data/app/controllers/spree/api/v3/store/customer/payment_setup_sessions_controller.rb +10 -9
  210. data/app/controllers/spree/api/v3/store/customer/store_credits_controller.rb +0 -5
  211. data/app/controllers/spree/api/v3/store/customer/tax_identifiers_controller.rb +5 -1
  212. data/app/controllers/spree/api/v3/store/customers_controller.rb +28 -2
  213. data/app/controllers/spree/api/v3/store/data_request_downloads_controller.rb +1 -1
  214. data/app/controllers/spree/api/v3/store/delivery_methods_controller.rb +1 -1
  215. data/app/controllers/spree/api/v3/store/newsletter_subscribers_controller.rb +27 -14
  216. data/app/controllers/spree/api/v3/store/orders/claims_controller.rb +12 -7
  217. data/app/controllers/spree/api/v3/store/orders/returns_controller.rb +11 -6
  218. data/app/controllers/spree/api/v3/store/orders_controller.rb +47 -10
  219. data/app/controllers/spree/api/v3/store/products_controller.rb +8 -0
  220. data/app/controllers/spree/api/v3/store/wishlist_items_controller.rb +10 -8
  221. data/app/controllers/spree/api/v3/store/wishlists_controller.rb +12 -4
  222. data/app/request_schemas/spree/api/v3/address_request_schema.rb +27 -0
  223. data/app/request_schemas/spree/api/v3/admin/address_request_schema.rb +13 -0
  224. data/app/request_schemas/spree/api/v3/admin/bulk_tags_request_schema.rb +17 -0
  225. data/app/request_schemas/spree/api/v3/admin/catalog_order_minimum_request_schema.rb +17 -0
  226. data/app/request_schemas/spree/api/v3/admin/email_template_language_request_schema.rb +17 -0
  227. data/app/request_schemas/spree/api/v3/admin/email_template_preview_request_schema.rb +32 -0
  228. data/app/request_schemas/spree/api/v3/admin/price_adjustment_tier_request_schema.rb +21 -0
  229. data/app/request_schemas/spree/api/v3/admin/price_list_price_request_schema.rb +21 -0
  230. data/app/request_schemas/spree/api/v3/admin/price_list_rule_request_schema.rb +19 -0
  231. data/app/request_schemas/spree/api/v3/admin/product_membership_reposition_request_schema.rb +17 -0
  232. data/app/request_schemas/spree/api/v3/admin/promotion_action_calculator_request_schema.rb +18 -0
  233. data/app/request_schemas/spree/api/v3/admin/promotion_action_line_item_request_schema.rb +15 -0
  234. data/app/request_schemas/spree/api/v3/admin/promotion_action_request_schema.rb +19 -0
  235. data/app/request_schemas/spree/api/v3/admin/promotion_rule_request_schema.rb +22 -0
  236. data/app/request_schemas/spree/api/v3/admin/reason_request_schema.rb +14 -0
  237. data/app/request_schemas/spree/api/v3/admin/tax_identifier_request_schema.rb +15 -0
  238. data/app/request_schemas/spree/api/v3/custom_field_value_request_schema.rb +15 -0
  239. data/app/request_schemas/spree/api/v3/file_upload_request_schema.rb +20 -0
  240. data/app/request_schemas/spree/api/v3/media_request_schema.rb +27 -0
  241. data/app/request_schemas/spree/api/v3/price_request_schema.rb +17 -0
  242. data/app/request_schemas/spree/api/v3/stock_level_request_schema.rb +18 -0
  243. data/app/request_schemas/spree/api/v3/store/address_request_schema.rb +29 -0
  244. data/app/request_schemas/spree/api/v3/tax_identifier_request_schema.rb +18 -0
  245. data/app/request_schemas/spree/api/v3/variant_option_request_schema.rb +13 -0
  246. data/app/request_schemas/spree/api/v3/variant_request_schema.rb +52 -0
  247. data/app/serializers/concerns/spree/api/v3/purchase_summary.rb +48 -0
  248. data/app/serializers/spree/api/v3/address_serializer.rb +4 -2
  249. data/app/serializers/spree/api/v3/admin/address_serializer.rb +8 -7
  250. data/app/serializers/spree/api/v3/admin/api_key_serializer.rb +2 -6
  251. data/app/serializers/spree/api/v3/admin/applied_promotion_serializer.rb +3 -1
  252. data/app/serializers/spree/api/v3/admin/cart_serializer.rb +3 -1
  253. data/app/serializers/spree/api/v3/admin/catalog_assignment_serializer.rb +1 -3
  254. data/app/serializers/spree/api/v3/admin/catalog_order_minimum_serializer.rb +3 -8
  255. data/app/serializers/spree/api/v3/admin/catalog_price_serializer.rb +3 -4
  256. data/app/serializers/spree/api/v3/admin/catalog_price_tier_serializer.rb +4 -3
  257. data/app/serializers/spree/api/v3/admin/catalog_product_term_serializer.rb +1 -3
  258. data/app/serializers/spree/api/v3/admin/catalog_quantity_rule_serializer.rb +1 -3
  259. data/app/serializers/spree/api/v3/admin/channel_serializer.rb +7 -10
  260. data/app/serializers/spree/api/v3/admin/claim_line_item_serializer.rb +7 -0
  261. data/app/serializers/spree/api/v3/admin/claim_reason_serializer.rb +1 -3
  262. data/app/serializers/spree/api/v3/admin/claim_serializer.rb +5 -0
  263. data/app/serializers/spree/api/v3/admin/commission_line_serializer.rb +7 -18
  264. data/app/serializers/spree/api/v3/admin/commission_rate_serializer.rb +7 -11
  265. data/app/serializers/spree/api/v3/admin/commission_rule_serializer.rb +1 -5
  266. data/app/serializers/spree/api/v3/admin/country_serializer.rb +4 -0
  267. data/app/serializers/spree/api/v3/admin/coupon_code_serializer.rb +1 -7
  268. data/app/serializers/spree/api/v3/admin/credit_card_serializer.rb +1 -7
  269. data/app/serializers/spree/api/v3/admin/custom_field_definition_serializer.rb +6 -2
  270. data/app/serializers/spree/api/v3/admin/customer_serializer.rb +5 -17
  271. data/app/serializers/spree/api/v3/admin/data_request_serializer.rb +2 -6
  272. data/app/serializers/spree/api/v3/admin/delivery_method_rule_serializer.rb +0 -2
  273. data/app/serializers/spree/api/v3/admin/delivery_method_serializer.rb +20 -30
  274. data/app/serializers/spree/api/v3/admin/delivery_method_service_serializer.rb +9 -1
  275. data/app/serializers/spree/api/v3/admin/delivery_origin_group_serializer.rb +1 -3
  276. data/app/serializers/spree/api/v3/admin/delivery_rate_serializer.rb +8 -0
  277. data/app/serializers/spree/api/v3/admin/delivery_serializer.rb +1 -3
  278. data/app/serializers/spree/api/v3/admin/delivery_zone_serializer.rb +1 -7
  279. data/app/serializers/spree/api/v3/admin/digital_asset_serializer.rb +4 -2
  280. data/app/serializers/spree/api/v3/admin/discount_serializer.rb +3 -1
  281. data/app/serializers/spree/api/v3/admin/email_template_draft_serializer.rb +19 -0
  282. data/app/serializers/spree/api/v3/admin/email_template_preview_serializer.rb +38 -0
  283. data/app/serializers/spree/api/v3/admin/email_template_revision_serializer.rb +18 -0
  284. data/app/serializers/spree/api/v3/admin/email_template_sample_record_serializer.rb +13 -0
  285. data/app/serializers/spree/api/v3/admin/email_template_serializer.rb +61 -0
  286. data/app/serializers/spree/api/v3/admin/exchange_line_item_serializer.rb +5 -0
  287. data/app/serializers/spree/api/v3/admin/exchange_serializer.rb +6 -3
  288. data/app/serializers/spree/api/v3/admin/export_serializer.rb +1 -7
  289. data/app/serializers/spree/api/v3/admin/fee_serializer.rb +3 -1
  290. data/app/serializers/spree/api/v3/admin/file_upload_serializer.rb +11 -0
  291. data/app/serializers/spree/api/v3/admin/file_upload_target_serializer.rb +10 -0
  292. data/app/serializers/spree/api/v3/admin/fulfillment_item_serializer.rb +1 -7
  293. data/app/serializers/spree/api/v3/admin/fulfillment_serializer.rb +13 -17
  294. data/app/serializers/spree/api/v3/admin/gift_card_serializer.rb +4 -10
  295. data/app/serializers/spree/api/v3/admin/import_serializer.rb +2 -2
  296. data/app/serializers/spree/api/v3/admin/integration_serializer.rb +1 -3
  297. data/app/serializers/spree/api/v3/admin/line_item_serializer.rb +14 -18
  298. data/app/serializers/spree/api/v3/admin/locale_serializer.rb +13 -0
  299. data/app/serializers/spree/api/v3/admin/market_serializer.rb +7 -2
  300. data/app/serializers/spree/api/v3/admin/media_serializer.rb +4 -5
  301. data/app/serializers/spree/api/v3/admin/order_cancellation_reason_serializer.rb +1 -3
  302. data/app/serializers/spree/api/v3/admin/order_group_serializer.rb +5 -9
  303. data/app/serializers/spree/api/v3/admin/order_routing_rule_serializer.rb +2 -6
  304. data/app/serializers/spree/api/v3/admin/order_serializer.rb +38 -48
  305. data/app/serializers/spree/api/v3/admin/package_type_serializer.rb +1 -3
  306. data/app/serializers/spree/api/v3/admin/payment_method_serializer.rb +7 -4
  307. data/app/serializers/spree/api/v3/admin/payment_serializer.rb +6 -8
  308. data/app/serializers/spree/api/v3/admin/payment_split_serializer.rb +8 -9
  309. data/app/serializers/spree/api/v3/admin/permission_serializer.rb +4 -4
  310. data/app/serializers/spree/api/v3/admin/price_adjustment_tier_serializer.rb +3 -6
  311. data/app/serializers/spree/api/v3/admin/price_history_serializer.rb +5 -2
  312. data/app/serializers/spree/api/v3/admin/price_list_serializer.rb +1 -5
  313. data/app/serializers/spree/api/v3/admin/price_rule_serializer.rb +2 -6
  314. data/app/serializers/spree/api/v3/admin/price_serializer.rb +2 -0
  315. data/app/serializers/spree/api/v3/admin/product_serializer.rb +4 -10
  316. data/app/serializers/spree/api/v3/admin/product_submission_serializer.rb +2 -10
  317. data/app/serializers/spree/api/v3/admin/product_type_serializer.rb +1 -3
  318. data/app/serializers/spree/api/v3/admin/promotion_action_serializer.rb +5 -9
  319. data/app/serializers/spree/api/v3/admin/promotion_rule_serializer.rb +1 -5
  320. data/app/serializers/spree/api/v3/admin/purchase_order_item_serializer.rb +6 -25
  321. data/app/serializers/spree/api/v3/admin/purchase_order_serializer.rb +4 -17
  322. data/app/serializers/spree/api/v3/admin/refund_reason_serializer.rb +1 -3
  323. data/app/serializers/spree/api/v3/admin/refund_serializer.rb +7 -0
  324. data/app/serializers/spree/api/v3/admin/reporting_result_serializer.rb +9 -2
  325. data/app/serializers/spree/api/v3/admin/return_line_item_serializer.rb +9 -0
  326. data/app/serializers/spree/api/v3/admin/return_reason_serializer.rb +1 -3
  327. data/app/serializers/spree/api/v3/admin/return_serializer.rb +8 -12
  328. data/app/serializers/spree/api/v3/admin/saved_report_serializer.rb +1 -3
  329. data/app/serializers/spree/api/v3/admin/seller_balance_serializer.rb +15 -10
  330. data/app/serializers/spree/api/v3/admin/seller_payout_serializer.rb +7 -7
  331. data/app/serializers/spree/api/v3/admin/seller_requirement_status_serializer.rb +2 -6
  332. data/app/serializers/spree/api/v3/admin/seller_requirement_submission_serializer.rb +1 -7
  333. data/app/serializers/spree/api/v3/admin/seller_serializer.rb +8 -16
  334. data/app/serializers/spree/api/v3/admin/seller_transfer_serializer.rb +11 -10
  335. data/app/serializers/spree/api/v3/admin/shipping_label_serializer.rb +8 -21
  336. data/app/serializers/spree/api/v3/admin/stock_level_serializer.rb +1 -3
  337. data/app/serializers/spree/api/v3/admin/stock_location_serializer.rb +4 -3
  338. data/app/serializers/spree/api/v3/admin/stock_movement_serializer.rb +3 -9
  339. data/app/serializers/spree/api/v3/admin/stock_receipt_item_serializer.rb +1 -7
  340. data/app/serializers/spree/api/v3/admin/stock_receipt_serializer.rb +1 -3
  341. data/app/serializers/spree/api/v3/admin/stock_reservation_serializer.rb +1 -3
  342. data/app/serializers/spree/api/v3/admin/stock_transfer_item_serializer.rb +1 -3
  343. data/app/serializers/spree/api/v3/admin/store_credit_event_serializer.rb +6 -3
  344. data/app/serializers/spree/api/v3/admin/store_credit_serializer.rb +11 -20
  345. data/app/serializers/spree/api/v3/admin/store_serializer.rb +21 -84
  346. data/app/serializers/spree/api/v3/admin/supplier_serializer.rb +2 -4
  347. data/app/serializers/spree/api/v3/admin/tax_exemption_certificate_serializer.rb +6 -10
  348. data/app/serializers/spree/api/v3/admin/tax_identifier_serializer.rb +1 -3
  349. data/app/serializers/spree/api/v3/admin/tax_line_serializer.rb +9 -3
  350. data/app/serializers/spree/api/v3/admin/tax_rate_serializer.rb +3 -19
  351. data/app/serializers/spree/api/v3/admin/update_status_serializer.rb +28 -0
  352. data/app/serializers/spree/api/v3/admin/variant_serializer.rb +13 -10
  353. data/app/serializers/spree/api/v3/admin/webhook_delivery_serializer.rb +1 -3
  354. data/app/serializers/spree/api/v3/admin/webhook_event_serializer.rb +23 -0
  355. data/app/serializers/spree/api/v3/applied_promotion_serializer.rb +2 -4
  356. data/app/serializers/spree/api/v3/base_serializer.rb +132 -7
  357. data/app/serializers/spree/api/v3/cart_serializer.rb +20 -66
  358. data/app/serializers/spree/api/v3/category_serializer.rb +5 -15
  359. data/app/serializers/spree/api/v3/claim_line_item_serializer.rb +6 -29
  360. data/app/serializers/spree/api/v3/claim_serializer.rb +2 -16
  361. data/app/serializers/spree/api/v3/collection_serializer.rb +1 -3
  362. data/app/serializers/spree/api/v3/company_serializer.rb +1 -3
  363. data/app/serializers/spree/api/v3/country_serializer.rb +2 -1
  364. data/app/serializers/spree/api/v3/currency_serializer.rb +9 -1
  365. data/app/serializers/spree/api/v3/custom_field_serializer.rb +1 -2
  366. data/app/serializers/spree/api/v3/customer_serializer.rb +3 -2
  367. data/app/serializers/spree/api/v3/delivery_rate_serializer.rb +8 -32
  368. data/app/serializers/spree/api/v3/delivery_zone_member_serializer.rb +1 -1
  369. data/app/serializers/spree/api/v3/digital_asset_serializer.rb +1 -3
  370. data/app/serializers/spree/api/v3/digital_link_serializer.rb +3 -9
  371. data/app/serializers/spree/api/v3/discount_serializer.rb +4 -12
  372. data/app/serializers/spree/api/v3/exchange_line_item_serializer.rb +6 -30
  373. data/app/serializers/spree/api/v3/exchange_serializer.rb +2 -16
  374. data/app/serializers/spree/api/v3/export_serializer.rb +1 -3
  375. data/app/serializers/spree/api/v3/fee_serializer.rb +2 -10
  376. data/app/serializers/spree/api/v3/file_upload_serializer.rb +28 -0
  377. data/app/serializers/spree/api/v3/file_upload_target_serializer.rb +17 -0
  378. data/app/serializers/spree/api/v3/fulfillment_serializer.rb +4 -11
  379. data/app/serializers/spree/api/v3/gift_card_batch_serializer.rb +3 -7
  380. data/app/serializers/spree/api/v3/gift_card_serializer.rb +7 -17
  381. data/app/serializers/spree/api/v3/import_row_serializer.rb +2 -6
  382. data/app/serializers/spree/api/v3/import_serializer.rb +3 -26
  383. data/app/serializers/spree/api/v3/invitation_serializer.rb +2 -19
  384. data/app/serializers/spree/api/v3/line_item_serializer.rb +19 -23
  385. data/app/serializers/spree/api/v3/locale_serializer.rb +3 -1
  386. data/app/serializers/spree/api/v3/market_serializer.rb +5 -5
  387. data/app/serializers/spree/api/v3/media_event_serializer.rb +1 -3
  388. data/app/serializers/spree/api/v3/media_serializer.rb +8 -5
  389. data/app/serializers/spree/api/v3/newsletter_subscriber_request_event_serializer.rb +35 -0
  390. data/app/serializers/spree/api/v3/newsletter_subscriber_serializer.rb +2 -6
  391. data/app/serializers/spree/api/v3/option_value_serializer.rb +1 -3
  392. data/app/serializers/spree/api/v3/order_group_serializer.rb +12 -25
  393. data/app/serializers/spree/api/v3/order_serializer.rb +14 -58
  394. data/app/serializers/spree/api/v3/password_reset_requested_event_serializer.rb +29 -0
  395. data/app/serializers/spree/api/v3/payment_method_serializer.rb +2 -6
  396. data/app/serializers/spree/api/v3/payment_serializer.rb +5 -10
  397. data/app/serializers/spree/api/v3/payment_session_serializer.rb +5 -13
  398. data/app/serializers/spree/api/v3/payment_setup_session_serializer.rb +3 -11
  399. data/app/serializers/spree/api/v3/policy_serializer.rb +1 -3
  400. data/app/serializers/spree/api/v3/price_history_serializer.rb +6 -8
  401. data/app/serializers/spree/api/v3/price_serializer.rb +7 -12
  402. data/app/serializers/spree/api/v3/product_filter_price_range_serializer.rb +10 -4
  403. data/app/serializers/spree/api/v3/product_publication_serializer.rb +1 -7
  404. data/app/serializers/spree/api/v3/product_serializer.rb +10 -24
  405. data/app/serializers/spree/api/v3/product_submission_serializer.rb +26 -0
  406. data/app/serializers/spree/api/v3/purchase_order_event_serializer.rb +23 -4
  407. data/app/serializers/spree/api/v3/refund_serializer.rb +11 -16
  408. data/app/serializers/spree/api/v3/return_line_item_serializer.rb +6 -21
  409. data/app/serializers/spree/api/v3/return_serializer.rb +4 -16
  410. data/app/serializers/spree/api/v3/saved_report_event_serializer.rb +23 -0
  411. data/app/serializers/spree/api/v3/seller/address_serializer.rb +12 -0
  412. data/app/serializers/spree/api/v3/seller/balance_serializer.rb +15 -10
  413. data/app/serializers/spree/api/v3/seller/claim_line_item_serializer.rb +7 -0
  414. data/app/serializers/spree/api/v3/seller/claim_serializer.rb +5 -0
  415. data/app/serializers/spree/api/v3/seller/country_serializer.rb +19 -0
  416. data/app/serializers/spree/api/v3/seller/delivery_method_rule_serializer.rb +1 -3
  417. data/app/serializers/spree/api/v3/seller/delivery_method_serializer.rb +5 -15
  418. data/app/serializers/spree/api/v3/seller/delivery_rate_serializer.rb +8 -13
  419. data/app/serializers/spree/api/v3/seller/delivery_serializer.rb +1 -3
  420. data/app/serializers/spree/api/v3/seller/delivery_zone_serializer.rb +1 -3
  421. data/app/serializers/spree/api/v3/seller/exchange_line_item_serializer.rb +5 -0
  422. data/app/serializers/spree/api/v3/seller/exchange_serializer.rb +6 -3
  423. data/app/serializers/spree/api/v3/seller/file_upload_serializer.rb +11 -0
  424. data/app/serializers/spree/api/v3/seller/file_upload_target_serializer.rb +10 -0
  425. data/app/serializers/spree/api/v3/seller/fulfillment_item_serializer.rb +1 -7
  426. data/app/serializers/spree/api/v3/seller/fulfillment_serializer.rb +2 -6
  427. data/app/serializers/spree/api/v3/seller/import_serializer.rb +2 -2
  428. data/app/serializers/spree/api/v3/seller/invitation_serializer.rb +1 -3
  429. data/app/serializers/spree/api/v3/seller/media_serializer.rb +2 -5
  430. data/app/serializers/spree/api/v3/seller/order_line_item_serializer.rb +8 -13
  431. data/app/serializers/spree/api/v3/seller/order_serializer.rb +19 -40
  432. data/app/serializers/spree/api/v3/seller/payment_split_serializer.rb +8 -9
  433. data/app/serializers/spree/api/v3/seller/payout_serializer.rb +6 -6
  434. data/app/serializers/spree/api/v3/seller/price_history_serializer.rb +11 -0
  435. data/app/serializers/spree/api/v3/seller/price_serializer.rb +11 -0
  436. data/app/serializers/spree/api/v3/seller/product_serializer.rb +3 -7
  437. data/app/serializers/spree/api/v3/seller/product_submission_serializer.rb +1 -21
  438. data/app/serializers/spree/api/v3/seller/profile_serializer.rb +9 -13
  439. data/app/serializers/spree/api/v3/seller/requirement_status_serializer.rb +3 -9
  440. data/app/serializers/spree/api/v3/seller/return_line_item_serializer.rb +8 -0
  441. data/app/serializers/spree/api/v3/seller/return_serializer.rb +8 -17
  442. data/app/serializers/spree/api/v3/seller/state_serializer.rb +10 -0
  443. data/app/serializers/spree/api/v3/seller/stock_location_serializer.rb +3 -0
  444. data/app/serializers/spree/api/v3/seller/transfer_serializer.rb +10 -9
  445. data/app/serializers/spree/api/v3/seller/variant_serializer.rb +8 -4
  446. data/app/serializers/spree/api/v3/seller_serializer.rb +1 -3
  447. data/app/serializers/spree/api/v3/shipping_label_event_serializer.rb +22 -4
  448. data/app/serializers/spree/api/v3/stock_level_serializer.rb +1 -7
  449. data/app/serializers/spree/api/v3/stock_location_serializer.rb +8 -1
  450. data/app/serializers/spree/api/v3/stock_movement_serializer.rb +1 -3
  451. data/app/serializers/spree/api/v3/stock_receipt_event_serializer.rb +20 -4
  452. data/app/serializers/spree/api/v3/stock_transfer_serializer.rb +1 -7
  453. data/app/serializers/spree/api/v3/store_credit_event_serializer.rb +2 -13
  454. data/app/serializers/spree/api/v3/store_credit_serializer.rb +3 -27
  455. data/app/serializers/spree/api/v3/supplier_event_serializer.rb +6 -4
  456. data/app/serializers/spree/api/v3/tax_line_serializer.rb +11 -23
  457. data/app/serializers/spree/api/v3/variant_serializer.rb +10 -24
  458. data/app/serializers/spree/api/v3/wishlist_item_serializer.rb +1 -11
  459. data/app/serializers/spree/api/v3/wishlist_serializer.rb +2 -6
  460. data/app/services/spree/api/v3/filter_predicates.rb +29 -0
  461. data/app/services/spree/api/v3/filter_table.rb +337 -0
  462. data/app/services/spree/api/v3/filters_aggregator.rb +2 -2
  463. data/app/services/spree/api/v3/request_schema.rb +430 -0
  464. data/app/services/spree/webhooks/deliver_webhook.rb +7 -3
  465. data/app/subscribers/spree/webhook_event_subscriber.rb +3 -10
  466. data/config/initializers/pagy.rb +1 -1
  467. data/config/initializers/typelizer.rb +7 -9
  468. data/config/locales/ar.yml +15 -0
  469. data/config/locales/be.yml +15 -0
  470. data/config/locales/bg.yml +15 -0
  471. data/config/locales/ca.yml +15 -0
  472. data/config/locales/cs.yml +15 -0
  473. data/config/locales/da.yml +15 -0
  474. data/config/locales/de-CH.yml +11 -0
  475. data/config/locales/de.yml +15 -0
  476. data/config/locales/el.yml +15 -0
  477. data/config/locales/en.yml +5 -40
  478. data/config/locales/es-CL.yml +10 -0
  479. data/config/locales/es-EC.yml +11 -0
  480. data/config/locales/es-MX.yml +12 -0
  481. data/config/locales/es.yml +15 -0
  482. data/config/locales/et.yml +15 -0
  483. data/config/locales/fa.yml +15 -0
  484. data/config/locales/fi.yml +15 -0
  485. data/config/locales/fr.yml +15 -0
  486. data/config/locales/hu.yml +15 -0
  487. data/config/locales/id.yml +15 -0
  488. data/config/locales/it.yml +15 -0
  489. data/config/locales/ja.yml +15 -0
  490. data/config/locales/km.yml +15 -0
  491. data/config/locales/ko.yml +15 -0
  492. data/config/locales/ku.yml +15 -0
  493. data/config/locales/lt.yml +15 -0
  494. data/config/locales/lv.yml +15 -0
  495. data/config/locales/nb.yml +15 -0
  496. data/config/locales/ne.yml +15 -0
  497. data/config/locales/nl.yml +15 -0
  498. data/config/locales/pl.yml +15 -0
  499. data/config/locales/pt-BR.yml +13 -0
  500. data/config/locales/pt.yml +15 -0
  501. data/config/locales/ro.yml +15 -0
  502. data/config/locales/ru.yml +15 -0
  503. data/config/locales/sk.yml +15 -0
  504. data/config/locales/sl-SI.yml +15 -0
  505. data/config/locales/sv.yml +15 -0
  506. data/config/locales/th.yml +15 -0
  507. data/config/locales/tr.yml +15 -0
  508. data/config/locales/uk.yml +15 -0
  509. data/config/locales/vi.yml +15 -0
  510. data/config/locales/zh-CN.yml +15 -0
  511. data/config/locales/zh-TW.yml +15 -0
  512. data/config/routes.rb +54 -102
  513. data/lib/spree/api/configuration.rb +5 -0
  514. data/lib/spree/api/dependencies.rb +54 -274
  515. data/lib/spree/api/middleware/request_size_limit.rb +24 -3
  516. data/lib/spree/api/openapi/filter_documentation.rb +136 -0
  517. data/lib/spree/api/openapi/schema_helper.rb +127 -81
  518. data/lib/spree/api/preference_families.rb +46 -0
  519. data/lib/spree/api/preference_types.rb +138 -0
  520. data/lib/spree/api/typelizer_generation.rb +39 -0
  521. data/lib/spree/api/webhook_event_types.rb +140 -0
  522. data/lib/spree/api.rb +0 -2
  523. data/lib/tasks/filters.rake +12 -0
  524. data/lib/typelizer/open_enums.rb +10 -0
  525. metadata +125 -40
  526. data/app/controllers/concerns/spree/api/v3/address_params.rb +0 -17
  527. data/app/controllers/concerns/spree/api/v3/direct_uploads.rb +0 -35
  528. data/app/controllers/spree/api/v3/admin/direct_uploads_controller.rb +0 -54
  529. data/app/controllers/spree/api/v3/seller/direct_uploads_controller.rb +0 -21
  530. data/config/i18n-tasks.yml +0 -40
  531. data/config/initializers/alba.rb +0 -5
@@ -0,0 +1,12 @@
1
+ namespace :spree do
2
+ namespace :api do
3
+ desc 'Print the filter tables of every list endpoint, as JSON, for `spree filters types`'
4
+ task filter_tables: :environment do
5
+ Rails.application.eager_load!
6
+ apis = %w[store admin seller].index_with { |api| Spree::Api::V3::FilterTable.spec_for(api) }
7
+
8
+ # One line: the CLI drops boot noise line by line.
9
+ puts apis.to_json
10
+ end
11
+ end
12
+ end
@@ -7,10 +7,19 @@ module Typelizer
7
7
  # open, and the OpenAPI property becomes an open enum, so a client generated
8
8
  # from either still accepts an added value while every built-in value stays
9
9
  # documented and autocompletable.
10
+ #
11
+ # ISO lists are the exception: a named type several serializers and the
12
+ # request types share, but closed, since nothing outside the standard can
13
+ # add a country or a currency, and markets only accept the locales
14
+ # `Spree::Locales::ALL` lists.
10
15
  module OpenEnums
16
+ CLOSED_TYPE_NAMES = %w[CountryCode CurrencyCode LocaleCode].freeze
17
+
11
18
  module Property
12
19
  def enum_definition(...)
13
20
  definition = super
21
+ return definition if CLOSED_TYPE_NAMES.include?(enum_type_name)
22
+
14
23
  definition && "#{definition} | (string & {})"
15
24
  end
16
25
  end
@@ -20,6 +29,7 @@ module Typelizer
20
29
 
21
30
  def inline_schema(definition, property, openapi_version:)
22
31
  return super unless property.enum_type_name && property.enum.is_a?(Array) && !property.multi
32
+ return super if CLOSED_TYPE_NAMES.include?(property.enum_type_name)
23
33
 
24
34
  open = { anyOf: [{ type: :string, enum: property.enum.compact }, { type: :string }] }
25
35
  apply_nullable(open, property, openapi_version: openapi_version)
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.beta4
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-09-24 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
@@ -24,34 +24,6 @@ dependencies:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
- - !ruby/object:Gem::Dependency
28
- name: alba
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - "~>"
32
- - !ruby/object:Gem::Version
33
- version: '3.0'
34
- type: :runtime
35
- prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - "~>"
39
- - !ruby/object:Gem::Version
40
- version: '3.0'
41
- - !ruby/object:Gem::Dependency
42
- name: oj
43
- requirement: !ruby/object:Gem::Requirement
44
- requirements:
45
- - - "~>"
46
- - !ruby/object:Gem::Version
47
- version: '3.16'
48
- type: :runtime
49
- prerelease: false
50
- version_requirements: !ruby/object:Gem::Requirement
51
- requirements:
52
- - - "~>"
53
- - !ruby/object:Gem::Version
54
- version: '3.16'
55
27
  - !ruby/object:Gem::Dependency
56
28
  name: typelizer
57
29
  requirement: !ruby/object:Gem::Requirement
@@ -72,14 +44,14 @@ dependencies:
72
44
  requirements:
73
45
  - - '='
74
46
  - !ruby/object:Gem::Version
75
- version: 6.0.0.beta4
47
+ version: 6.0.0.rc2
76
48
  type: :runtime
77
49
  prerelease: false
78
50
  version_requirements: !ruby/object:Gem::Requirement
79
51
  requirements:
80
52
  - - '='
81
53
  - !ruby/object:Gem::Version
82
- version: 6.0.0.beta4
54
+ version: 6.0.0.rc2
83
55
  description: Spree Commerce Store / Admin API and HTTP webhooks
84
56
  email:
85
57
  - hello@spreecommerce.org
@@ -90,8 +62,8 @@ files:
90
62
  - LICENSE
91
63
  - README.md
92
64
  - Rakefile
93
- - app/controllers/concerns/spree/api/v3/address_params.rb
94
65
  - app/controllers/concerns/spree/api/v3/admin/auth_cookies.rb
66
+ - app/controllers/concerns/spree/api/v3/admin/email_template_lookup.rb
95
67
  - app/controllers/concerns/spree/api/v3/admin/embed_permissions.rb
96
68
  - app/controllers/concerns/spree/api/v3/admin/product_listing.rb
97
69
  - app/controllers/concerns/spree/api/v3/admin/product_membership.rb
@@ -110,14 +82,15 @@ files:
110
82
  - app/controllers/concerns/spree/api/v3/channel_resolution.rb
111
83
  - app/controllers/concerns/spree/api/v3/company_address_writes.rb
112
84
  - app/controllers/concerns/spree/api/v3/current_password_confirmation.rb
113
- - app/controllers/concerns/spree/api/v3/direct_uploads.rb
114
85
  - app/controllers/concerns/spree/api/v3/error_handler.rb
86
+ - app/controllers/concerns/spree/api/v3/file_uploads.rb
115
87
  - app/controllers/concerns/spree/api/v3/http_caching.rb
116
88
  - app/controllers/concerns/spree/api/v3/idempotent.rb
117
89
  - app/controllers/concerns/spree/api/v3/items_payload.rb
118
90
  - app/controllers/concerns/spree/api/v3/jwt_authentication.rb
119
91
  - app/controllers/concerns/spree/api/v3/key_store_context.rb
120
92
  - app/controllers/concerns/spree/api/v3/locale_and_currency.rb
93
+ - app/controllers/concerns/spree/api/v3/money_params.rb
121
94
  - app/controllers/concerns/spree/api/v3/order_lock.rb
122
95
  - app/controllers/concerns/spree/api/v3/orders/claim_actions.rb
123
96
  - app/controllers/concerns/spree/api/v3/orders/delivery_actions.rb
@@ -128,7 +101,9 @@ files:
128
101
  - app/controllers/concerns/spree/api/v3/orders/shipping_label_actions.rb
129
102
  - app/controllers/concerns/spree/api/v3/params_normalizer.rb
130
103
  - app/controllers/concerns/spree/api/v3/permission_serialization.rb
104
+ - app/controllers/concerns/spree/api/v3/purchase_serialization.rb
131
105
  - app/controllers/concerns/spree/api/v3/rate_limit_headers.rb
106
+ - app/controllers/concerns/spree/api/v3/request_params.rb
132
107
  - app/controllers/concerns/spree/api/v3/resource_serializer.rb
133
108
  - app/controllers/concerns/spree/api/v3/scoped_authorization.rb
134
109
  - app/controllers/concerns/spree/api/v3/security_headers.rb
@@ -140,6 +115,7 @@ files:
140
115
  - app/controllers/concerns/spree/api/v3/storefront_access.rb
141
116
  - app/controllers/concerns/spree/api/v3/storefront_gating.rb
142
117
  - app/controllers/concerns/spree/api/v3/streams_shipping_label.rb
118
+ - app/controllers/concerns/spree/api/v3/strict_money_params.rb
143
119
  - app/controllers/concerns/spree/api/v3/tax_identifier_validation.rb
144
120
  - app/controllers/spree/api/v3/admin/admin_users_controller.rb
145
121
  - app/controllers/spree/api/v3/admin/allowed_origins_controller.rb
@@ -191,9 +167,17 @@ files:
191
167
  - app/controllers/spree/api/v3/admin/delivery_profiles_controller.rb
192
168
  - app/controllers/spree/api/v3/admin/delivery_zones_controller.rb
193
169
  - app/controllers/spree/api/v3/admin/digital_links_controller.rb
194
- - app/controllers/spree/api/v3/admin/direct_uploads_controller.rb
170
+ - app/controllers/spree/api/v3/admin/email_templates/drafts_controller.rb
171
+ - app/controllers/spree/api/v3/admin/email_templates/previews_controller.rb
172
+ - app/controllers/spree/api/v3/admin/email_templates/publications_controller.rb
173
+ - app/controllers/spree/api/v3/admin/email_templates/restorations_controller.rb
174
+ - app/controllers/spree/api/v3/admin/email_templates/revisions_controller.rb
175
+ - app/controllers/spree/api/v3/admin/email_templates/sample_records_controller.rb
176
+ - app/controllers/spree/api/v3/admin/email_templates/test_emails_controller.rb
177
+ - app/controllers/spree/api/v3/admin/email_templates_controller.rb
195
178
  - app/controllers/spree/api/v3/admin/exchanges_controller.rb
196
179
  - app/controllers/spree/api/v3/admin/exports_controller.rb
180
+ - app/controllers/spree/api/v3/admin/files_controller.rb
197
181
  - app/controllers/spree/api/v3/admin/gift_card_batches_controller.rb
198
182
  - app/controllers/spree/api/v3/admin/gift_cards_controller.rb
199
183
  - app/controllers/spree/api/v3/admin/import_rows_controller.rb
@@ -284,9 +268,11 @@ files:
284
268
  - app/controllers/spree/api/v3/admin/translations/batches_controller.rb
285
269
  - app/controllers/spree/api/v3/admin/translations_controller.rb
286
270
  - app/controllers/spree/api/v3/admin/translations_coverage_controller.rb
271
+ - app/controllers/spree/api/v3/admin/updates_controller.rb
287
272
  - app/controllers/spree/api/v3/admin/variants_controller.rb
288
273
  - app/controllers/spree/api/v3/admin/webhook_deliveries_controller.rb
289
274
  - app/controllers/spree/api/v3/admin/webhook_endpoints_controller.rb
275
+ - app/controllers/spree/api/v3/admin/webhook_events_controller.rb
290
276
  - app/controllers/spree/api/v3/base_controller.rb
291
277
  - app/controllers/spree/api/v3/resource_controller.rb
292
278
  - app/controllers/spree/api/v3/seller/auth_controller.rb
@@ -297,8 +283,8 @@ files:
297
283
  - app/controllers/spree/api/v3/seller/delivery_methods_controller.rb
298
284
  - app/controllers/spree/api/v3/seller/delivery_profiles_controller.rb
299
285
  - app/controllers/spree/api/v3/seller/delivery_zones_controller.rb
300
- - app/controllers/spree/api/v3/seller/direct_uploads_controller.rb
301
286
  - app/controllers/spree/api/v3/seller/exports_controller.rb
287
+ - app/controllers/spree/api/v3/seller/files_controller.rb
302
288
  - app/controllers/spree/api/v3/seller/import_rows_controller.rb
303
289
  - app/controllers/spree/api/v3/seller/imports_controller.rb
304
290
  - app/controllers/spree/api/v3/seller/invitation_acceptances_controller.rb
@@ -396,7 +382,33 @@ files:
396
382
  - app/models/spree/api/data_request_urls.rb
397
383
  - app/models/spree/api/digital_link_urls.rb
398
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
399
410
  - app/serializers/concerns/spree/api/v3/admin/translatable.rb
411
+ - app/serializers/concerns/spree/api/v3/purchase_summary.rb
400
412
  - app/serializers/spree/api/v3/address_serializer.rb
401
413
  - app/serializers/spree/api/v3/admin/actor_serializer.rb
402
414
  - app/serializers/spree/api/v3/admin/address_serializer.rb
@@ -449,10 +461,17 @@ files:
449
461
  - app/serializers/spree/api/v3/admin/digital_asset_serializer.rb
450
462
  - app/serializers/spree/api/v3/admin/digital_link_serializer.rb
451
463
  - app/serializers/spree/api/v3/admin/discount_serializer.rb
464
+ - app/serializers/spree/api/v3/admin/email_template_draft_serializer.rb
465
+ - app/serializers/spree/api/v3/admin/email_template_preview_serializer.rb
466
+ - app/serializers/spree/api/v3/admin/email_template_revision_serializer.rb
467
+ - app/serializers/spree/api/v3/admin/email_template_sample_record_serializer.rb
468
+ - app/serializers/spree/api/v3/admin/email_template_serializer.rb
452
469
  - app/serializers/spree/api/v3/admin/exchange_line_item_serializer.rb
453
470
  - app/serializers/spree/api/v3/admin/exchange_serializer.rb
454
471
  - app/serializers/spree/api/v3/admin/export_serializer.rb
455
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
456
475
  - app/serializers/spree/api/v3/admin/freight_summary_line_serializer.rb
457
476
  - app/serializers/spree/api/v3/admin/freight_summary_serializer.rb
458
477
  - app/serializers/spree/api/v3/admin/fulfillment_item_serializer.rb
@@ -466,6 +485,7 @@ files:
466
485
  - app/serializers/spree/api/v3/admin/invitation_acceptance_link_serializer.rb
467
486
  - app/serializers/spree/api/v3/admin/invitation_serializer.rb
468
487
  - app/serializers/spree/api/v3/admin/line_item_serializer.rb
488
+ - app/serializers/spree/api/v3/admin/locale_serializer.rb
469
489
  - app/serializers/spree/api/v3/admin/market_serializer.rb
470
490
  - app/serializers/spree/api/v3/admin/media_serializer.rb
471
491
  - app/serializers/spree/api/v3/admin/membership_product_serializer.rb
@@ -536,9 +556,11 @@ files:
536
556
  - app/serializers/spree/api/v3/admin/tax_identifier_serializer.rb
537
557
  - app/serializers/spree/api/v3/admin/tax_line_serializer.rb
538
558
  - app/serializers/spree/api/v3/admin/tax_rate_serializer.rb
559
+ - app/serializers/spree/api/v3/admin/update_status_serializer.rb
539
560
  - app/serializers/spree/api/v3/admin/variant_serializer.rb
540
561
  - app/serializers/spree/api/v3/admin/webhook_delivery_serializer.rb
541
562
  - app/serializers/spree/api/v3/admin/webhook_endpoint_serializer.rb
563
+ - app/serializers/spree/api/v3/admin/webhook_event_serializer.rb
542
564
  - app/serializers/spree/api/v3/applied_promotion_serializer.rb
543
565
  - app/serializers/spree/api/v3/base_serializer.rb
544
566
  - app/serializers/spree/api/v3/cart_serializer.rb
@@ -571,6 +593,8 @@ files:
571
593
  - app/serializers/spree/api/v3/exchange_serializer.rb
572
594
  - app/serializers/spree/api/v3/export_serializer.rb
573
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
574
598
  - app/serializers/spree/api/v3/freight_summary_serializer.rb
575
599
  - app/serializers/spree/api/v3/fulfillment_serializer.rb
576
600
  - app/serializers/spree/api/v3/gift_card_batch_serializer.rb
@@ -583,11 +607,13 @@ files:
583
607
  - app/serializers/spree/api/v3/market_serializer.rb
584
608
  - app/serializers/spree/api/v3/media_event_serializer.rb
585
609
  - app/serializers/spree/api/v3/media_serializer.rb
610
+ - app/serializers/spree/api/v3/newsletter_subscriber_request_event_serializer.rb
586
611
  - app/serializers/spree/api/v3/newsletter_subscriber_serializer.rb
587
612
  - app/serializers/spree/api/v3/option_type_serializer.rb
588
613
  - app/serializers/spree/api/v3/option_value_serializer.rb
589
614
  - app/serializers/spree/api/v3/order_group_serializer.rb
590
615
  - app/serializers/spree/api/v3/order_serializer.rb
616
+ - app/serializers/spree/api/v3/password_reset_requested_event_serializer.rb
591
617
  - app/serializers/spree/api/v3/payment_method_serializer.rb
592
618
  - app/serializers/spree/api/v3/payment_serializer.rb
593
619
  - app/serializers/spree/api/v3/payment_session_serializer.rb
@@ -607,6 +633,7 @@ files:
607
633
  - app/serializers/spree/api/v3/product_filters_serializer.rb
608
634
  - app/serializers/spree/api/v3/product_publication_serializer.rb
609
635
  - app/serializers/spree/api/v3/product_serializer.rb
636
+ - app/serializers/spree/api/v3/product_submission_serializer.rb
610
637
  - app/serializers/spree/api/v3/product_type_serializer.rb
611
638
  - app/serializers/spree/api/v3/promotion_serializer.rb
612
639
  - app/serializers/spree/api/v3/purchase_order_event_serializer.rb
@@ -614,10 +641,13 @@ files:
614
641
  - app/serializers/spree/api/v3/return_line_item_serializer.rb
615
642
  - app/serializers/spree/api/v3/return_reason_serializer.rb
616
643
  - app/serializers/spree/api/v3/return_serializer.rb
644
+ - app/serializers/spree/api/v3/saved_report_event_serializer.rb
617
645
  - app/serializers/spree/api/v3/seller/account_serializer.rb
646
+ - app/serializers/spree/api/v3/seller/address_serializer.rb
618
647
  - app/serializers/spree/api/v3/seller/balance_serializer.rb
619
648
  - app/serializers/spree/api/v3/seller/claim_line_item_serializer.rb
620
649
  - app/serializers/spree/api/v3/seller/claim_serializer.rb
650
+ - app/serializers/spree/api/v3/seller/country_serializer.rb
621
651
  - app/serializers/spree/api/v3/seller/delivery_method_rule_serializer.rb
622
652
  - app/serializers/spree/api/v3/seller/delivery_method_serializer.rb
623
653
  - app/serializers/spree/api/v3/seller/delivery_profile_serializer.rb
@@ -627,6 +657,8 @@ files:
627
657
  - app/serializers/spree/api/v3/seller/exchange_line_item_serializer.rb
628
658
  - app/serializers/spree/api/v3/seller/exchange_serializer.rb
629
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
630
662
  - app/serializers/spree/api/v3/seller/fulfillment_item_serializer.rb
631
663
  - app/serializers/spree/api/v3/seller/fulfillment_serializer.rb
632
664
  - app/serializers/spree/api/v3/seller/import_mapping_serializer.rb
@@ -641,6 +673,8 @@ files:
641
673
  - app/serializers/spree/api/v3/seller/payment_split_serializer.rb
642
674
  - app/serializers/spree/api/v3/seller/payout_serializer.rb
643
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
644
678
  - app/serializers/spree/api/v3/seller/product_serializer.rb
645
679
  - app/serializers/spree/api/v3/seller/product_submission_serializer.rb
646
680
  - app/serializers/spree/api/v3/seller/product_type_serializer.rb
@@ -652,6 +686,7 @@ files:
652
686
  - app/serializers/spree/api/v3/seller/return_line_item_serializer.rb
653
687
  - app/serializers/spree/api/v3/seller/return_serializer.rb
654
688
  - app/serializers/spree/api/v3/seller/shipping_label_serializer.rb
689
+ - app/serializers/spree/api/v3/seller/state_serializer.rb
655
690
  - app/serializers/spree/api/v3/seller/stock_level_serializer.rb
656
691
  - app/serializers/spree/api/v3/seller/stock_location_serializer.rb
657
692
  - app/serializers/spree/api/v3/seller/tax_identifier_serializer.rb
@@ -676,30 +711,80 @@ files:
676
711
  - app/serializers/spree/api/v3/variant_serializer.rb
677
712
  - app/serializers/spree/api/v3/wishlist_item_serializer.rb
678
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
679
716
  - app/services/spree/api/v3/filters_aggregator.rb
717
+ - app/services/spree/api/v3/request_schema.rb
680
718
  - app/services/spree/webhooks/deliver_webhook.rb
681
719
  - app/subscribers/spree/webhook_event_subscriber.rb
682
720
  - config/brakeman.ignore
683
- - config/i18n-tasks.yml
684
- - config/initializers/alba.rb
685
721
  - config/initializers/json_api_html_patch.rb
686
722
  - config/initializers/pagy.rb
687
723
  - config/initializers/typelizer.rb
724
+ - config/locales/ar.yml
725
+ - config/locales/be.yml
726
+ - config/locales/bg.yml
727
+ - config/locales/ca.yml
728
+ - config/locales/cs.yml
729
+ - config/locales/da.yml
730
+ - config/locales/de-CH.yml
731
+ - config/locales/de.yml
732
+ - config/locales/el.yml
688
733
  - config/locales/en.yml
734
+ - config/locales/es-CL.yml
735
+ - config/locales/es-EC.yml
736
+ - config/locales/es-MX.yml
737
+ - config/locales/es.yml
738
+ - config/locales/et.yml
739
+ - config/locales/fa.yml
740
+ - config/locales/fi.yml
741
+ - config/locales/fr.yml
742
+ - config/locales/hu.yml
743
+ - config/locales/id.yml
744
+ - config/locales/it.yml
745
+ - config/locales/ja.yml
746
+ - config/locales/km.yml
747
+ - config/locales/ko.yml
748
+ - config/locales/ku.yml
749
+ - config/locales/lt.yml
750
+ - config/locales/lv.yml
751
+ - config/locales/nb.yml
752
+ - config/locales/ne.yml
753
+ - config/locales/nl.yml
754
+ - config/locales/pl.yml
755
+ - config/locales/pt-BR.yml
756
+ - config/locales/pt.yml
757
+ - config/locales/ro.yml
758
+ - config/locales/ru.yml
759
+ - config/locales/sk.yml
760
+ - config/locales/sl-SI.yml
761
+ - config/locales/sv.yml
762
+ - config/locales/th.yml
763
+ - config/locales/tr.yml
764
+ - config/locales/uk.yml
765
+ - config/locales/vi.yml
766
+ - config/locales/zh-CN.yml
767
+ - config/locales/zh-TW.yml
689
768
  - config/routes.rb
690
769
  - lib/spree/api.rb
691
770
  - lib/spree/api/configuration.rb
692
771
  - lib/spree/api/dependencies.rb
693
772
  - lib/spree/api/engine.rb
694
773
  - lib/spree/api/middleware/request_size_limit.rb
774
+ - lib/spree/api/openapi/filter_documentation.rb
695
775
  - lib/spree/api/openapi/path_sorter.rb
696
776
  - lib/spree/api/openapi/schema_helper.rb
777
+ - lib/spree/api/preference_families.rb
778
+ - lib/spree/api/preference_types.rb
697
779
  - lib/spree/api/testing_support/always_register_type_hints.rb
698
780
  - lib/spree/api/testing_support/factories.rb
699
781
  - lib/spree/api/testing_support/matchers/webhooks.rb
700
782
  - lib/spree/api/testing_support/spree_webhooks.rb
701
783
  - lib/spree/api/testing_support/v3/base.rb
784
+ - lib/spree/api/typelizer_generation.rb
785
+ - lib/spree/api/webhook_event_types.rb
702
786
  - lib/spree_api.rb
787
+ - lib/tasks/filters.rake
703
788
  - lib/typelizer/open_enums.rb
704
789
  - lib/typelizer/proc_resource_resolution.rb
705
790
  homepage: https://spreecommerce.org
@@ -707,9 +792,9 @@ licenses:
707
792
  - BSD-3-Clause
708
793
  metadata:
709
794
  bug_tracker_uri: https://github.com/spree/spree/issues
710
- changelog_uri: https://github.com/spree/spree/releases/tag/v6.0.0.beta4
795
+ changelog_uri: https://github.com/spree/spree/releases/tag/v6.0.0.rc2
711
796
  documentation_uri: https://docs.spreecommerce.org/
712
- source_code_uri: https://github.com/spree/spree/tree/v6.0.0.beta4
797
+ source_code_uri: https://github.com/spree/spree/tree/v6.0.0.rc2
713
798
  post_install_message:
714
799
  rdoc_options: []
715
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
@@ -1,40 +0,0 @@
1
- base_locale: en
2
- data:
3
- yaml:
4
- write:
5
- # do not wrap lines at 80 characters
6
- line_width: -1
7
-
8
- # Find translate calls
9
- search:
10
- paths:
11
- - '../api/app'
12
- - '../api/lib'
13
-
14
- #### For API v1 only, START ####
15
- exclude:
16
- - '../api/app/controllers/spree/api/v1/*'
17
- - '../api/app/views/*'
18
-
19
- ignore_unused:
20
- - 'spree.api.gateway_error'
21
- - 'spree.api.invalid_api_key'
22
- - 'spree.api.invalid_resource'
23
- - 'spree.api.invalid_taxonomy_id'
24
- - 'spree.api.must_specify_api_key'
25
- - 'spree.api.negative_quantity'
26
- - 'spree.api.order.could_not_transition'
27
- - 'spree.api.order.insufficient_quantity'
28
- - 'spree.api.order.invalid_shipping_method'
29
- - 'spree.api.payment.credit_over_limit'
30
- - 'spree.api.payment.update_forbidden'
31
- - 'spree.api.shipment.cannot_ready'
32
- - 'spree.api.shipment_transfer_errors_occurred'
33
- - 'spree.api.shipment_transfer_success'
34
- - 'spree.api.stock_location_required'
35
- - 'spree.api.unauthorized'
36
- - 'spree.api.wrong_shipment_target'
37
- #### For API v1 only, END ####
38
-
39
- # The PatternMapper for Spree.t
40
- <% I18n::Tasks.add_scanner 'I18n::Tasks::Scanners::PatternMapper', patterns: [['\bSpree\.t[( ]\s*%{key}', 'spree.%{key}']] %>
@@ -1,5 +0,0 @@
1
- Alba.backend = :oj_rails
2
- Alba.inflector = :active_support
3
-
4
- # Custom types
5
- Alba.register_type :iso8601, converter: ->(time) { time&.iso8601(3) }, auto_convert: true