spree_api 6.0.0.beta4 → 6.0.0.rc1

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 (342) hide show
  1. checksums.yaml +4 -4
  2. data/Rakefile +4 -31
  3. data/app/controllers/concerns/spree/api/v3/admin/email_template_lookup.rb +139 -0
  4. data/app/controllers/concerns/spree/api/v3/admin/store_context.rb +1 -1
  5. data/app/controllers/concerns/spree/api/v3/admin/subclassed_resource.rb +1 -1
  6. data/app/controllers/concerns/spree/api/v3/cart_resolvable.rb +7 -0
  7. data/app/controllers/concerns/spree/api/v3/channel_resolution.rb +2 -2
  8. data/app/controllers/concerns/spree/api/v3/current_password_confirmation.rb +1 -1
  9. data/app/controllers/concerns/spree/api/v3/error_handler.rb +7 -2
  10. data/app/controllers/concerns/spree/api/v3/http_caching.rb +44 -11
  11. data/app/controllers/concerns/spree/api/v3/idempotent.rb +20 -5
  12. data/app/controllers/concerns/spree/api/v3/items_payload.rb +1 -1
  13. data/app/controllers/concerns/spree/api/v3/order_lock.rb +2 -2
  14. data/app/controllers/concerns/spree/api/v3/orders/delivery_actions.rb +1 -5
  15. data/app/controllers/concerns/spree/api/v3/orders/fulfillment_actions.rb +2 -10
  16. data/app/controllers/concerns/spree/api/v3/orders/post_sale_actions.rb +2 -10
  17. data/app/controllers/concerns/spree/api/v3/orders/shipping_label_actions.rb +4 -8
  18. data/app/controllers/concerns/spree/api/v3/permission_serialization.rb +9 -1
  19. data/app/controllers/concerns/spree/api/v3/seller/seller_context.rb +1 -1
  20. data/app/controllers/concerns/spree/api/v3/store/storefront_products.rb +5 -4
  21. data/app/controllers/concerns/spree/api/v3/storefront_gating.rb +11 -5
  22. data/app/controllers/spree/api/v3/admin/admin_users_controller.rb +0 -5
  23. data/app/controllers/spree/api/v3/admin/api_keys_controller.rb +1 -1
  24. data/app/controllers/spree/api/v3/admin/catalogs/order_minimums_controller.rb +0 -6
  25. data/app/controllers/spree/api/v3/admin/catalogs/quantity_rules_controller.rb +0 -4
  26. data/app/controllers/spree/api/v3/admin/catalogs_controller.rb +1 -1
  27. data/app/controllers/spree/api/v3/admin/channels_controller.rb +0 -4
  28. data/app/controllers/spree/api/v3/admin/collections/products_controller.rb +1 -2
  29. data/app/controllers/spree/api/v3/admin/commission_rates_controller.rb +2 -2
  30. data/app/controllers/spree/api/v3/admin/companies/addresses_controller.rb +0 -4
  31. data/app/controllers/spree/api/v3/admin/companies/invitations_controller.rb +1 -5
  32. data/app/controllers/spree/api/v3/admin/companies/memberships_controller.rb +0 -4
  33. data/app/controllers/spree/api/v3/admin/companies/tax_exemption_certificates_controller.rb +1 -9
  34. data/app/controllers/spree/api/v3/admin/companies/tax_identifiers_controller.rb +0 -4
  35. data/app/controllers/spree/api/v3/admin/companies_controller.rb +0 -4
  36. data/app/controllers/spree/api/v3/admin/countries_controller.rb +1 -1
  37. data/app/controllers/spree/api/v3/admin/coupon_codes_controller.rb +0 -4
  38. data/app/controllers/spree/api/v3/admin/custom_field_definitions_controller.rb +9 -1
  39. data/app/controllers/spree/api/v3/admin/custom_fields_controller.rb +0 -4
  40. data/app/controllers/spree/api/v3/admin/customer_groups_controller.rb +0 -4
  41. data/app/controllers/spree/api/v3/admin/customers/addresses_controller.rb +0 -4
  42. data/app/controllers/spree/api/v3/admin/customers/credit_cards_controller.rb +0 -4
  43. data/app/controllers/spree/api/v3/admin/customers/store_credits_controller.rb +0 -4
  44. data/app/controllers/spree/api/v3/admin/customers_controller.rb +2 -2
  45. data/app/controllers/spree/api/v3/admin/delivery_methods/rules_controller.rb +1 -1
  46. data/app/controllers/spree/api/v3/admin/delivery_methods_controller.rb +3 -5
  47. data/app/controllers/spree/api/v3/admin/delivery_profiles_controller.rb +1 -6
  48. data/app/controllers/spree/api/v3/admin/email_templates/drafts_controller.rb +40 -0
  49. data/app/controllers/spree/api/v3/admin/email_templates/previews_controller.rb +30 -0
  50. data/app/controllers/spree/api/v3/admin/email_templates/publications_controller.rb +30 -0
  51. data/app/controllers/spree/api/v3/admin/email_templates/restorations_controller.rb +34 -0
  52. data/app/controllers/spree/api/v3/admin/email_templates/revisions_controller.rb +35 -0
  53. data/app/controllers/spree/api/v3/admin/email_templates/sample_records_controller.rb +33 -0
  54. data/app/controllers/spree/api/v3/admin/email_templates/test_emails_controller.rb +40 -0
  55. data/app/controllers/spree/api/v3/admin/email_templates_controller.rb +46 -0
  56. data/app/controllers/spree/api/v3/admin/imports_controller.rb +1 -2
  57. data/app/controllers/spree/api/v3/admin/invitations_controller.rb +0 -7
  58. data/app/controllers/spree/api/v3/admin/me_controller.rb +1 -1
  59. data/app/controllers/spree/api/v3/admin/media_library_controller.rb +5 -5
  60. data/app/controllers/spree/api/v3/admin/order_routing_rules_controller.rb +0 -4
  61. data/app/controllers/spree/api/v3/admin/orders/deliveries_controller.rb +1 -5
  62. data/app/controllers/spree/api/v3/admin/orders/discount_codes_controller.rb +1 -1
  63. data/app/controllers/spree/api/v3/admin/orders/discounts_controller.rb +1 -1
  64. data/app/controllers/spree/api/v3/admin/orders/fulfillments_controller.rb +18 -16
  65. data/app/controllers/spree/api/v3/admin/orders/gift_cards_controller.rb +3 -3
  66. data/app/controllers/spree/api/v3/admin/orders/labels_controller.rb +2 -10
  67. data/app/controllers/spree/api/v3/admin/orders/payments_controller.rb +2 -14
  68. data/app/controllers/spree/api/v3/admin/orders/refunds_controller.rb +1 -5
  69. data/app/controllers/spree/api/v3/admin/orders_controller.rb +3 -3
  70. data/app/controllers/spree/api/v3/admin/password_resets_controller.rb +9 -7
  71. data/app/controllers/spree/api/v3/admin/price_lists_controller.rb +6 -53
  72. data/app/controllers/spree/api/v3/admin/prices_controller.rb +0 -4
  73. data/app/controllers/spree/api/v3/admin/products/digital_assets_controller.rb +2 -6
  74. data/app/controllers/spree/api/v3/admin/products/variants_controller.rb +0 -4
  75. data/app/controllers/spree/api/v3/admin/products_controller.rb +1 -1
  76. data/app/controllers/spree/api/v3/admin/promotion_actions_controller.rb +0 -4
  77. data/app/controllers/spree/api/v3/admin/promotion_rules_controller.rb +0 -4
  78. data/app/controllers/spree/api/v3/admin/purchase_orders_controller.rb +1 -1
  79. data/app/controllers/spree/api/v3/admin/resource_controller.rb +1 -1
  80. data/app/controllers/spree/api/v3/admin/seller_payouts_controller.rb +1 -9
  81. data/app/controllers/spree/api/v3/admin/seller_requirement_submissions_controller.rb +2 -10
  82. data/app/controllers/spree/api/v3/admin/seller_transfers_controller.rb +0 -4
  83. data/app/controllers/spree/api/v3/admin/sellers/invitations_controller.rb +1 -1
  84. data/app/controllers/spree/api/v3/admin/sellers/payouts_controller.rb +1 -1
  85. data/app/controllers/spree/api/v3/admin/sellers_controller.rb +2 -10
  86. data/app/controllers/spree/api/v3/admin/setup_controller.rb +3 -11
  87. data/app/controllers/spree/api/v3/admin/stock_transfers_controller.rb +1 -1
  88. data/app/controllers/spree/api/v3/admin/store_controller.rb +6 -1
  89. data/app/controllers/spree/api/v3/admin/tags_controller.rb +8 -5
  90. data/app/controllers/spree/api/v3/admin/webhook_endpoints_controller.rb +17 -12
  91. data/app/controllers/spree/api/v3/admin/webhook_events_controller.rb +25 -0
  92. data/app/controllers/spree/api/v3/base_controller.rb +10 -0
  93. data/app/controllers/spree/api/v3/resource_controller.rb +44 -1
  94. data/app/controllers/spree/api/v3/seller/auth_controller.rb +2 -2
  95. data/app/controllers/spree/api/v3/seller/countries_controller.rb +1 -1
  96. data/app/controllers/spree/api/v3/seller/exports_controller.rb +3 -3
  97. data/app/controllers/spree/api/v3/seller/invitation_acceptances_controller.rb +3 -3
  98. data/app/controllers/spree/api/v3/seller/invitations_controller.rb +1 -1
  99. data/app/controllers/spree/api/v3/seller/me_controller.rb +1 -1
  100. data/app/controllers/spree/api/v3/seller/orders/labels_controller.rb +1 -1
  101. data/app/controllers/spree/api/v3/seller/password_resets_controller.rb +10 -11
  102. data/app/controllers/spree/api/v3/seller/products_controller.rb +2 -1
  103. data/app/controllers/spree/api/v3/seller/requirement_submissions_controller.rb +1 -1
  104. data/app/controllers/spree/api/v3/seller/team_controller.rb +1 -1
  105. data/app/controllers/spree/api/v3/store/carts/discount_codes_controller.rb +1 -1
  106. data/app/controllers/spree/api/v3/store/carts/fulfillments_controller.rb +3 -11
  107. data/app/controllers/spree/api/v3/store/carts/gift_cards_controller.rb +5 -3
  108. data/app/controllers/spree/api/v3/store/carts/items_controller.rb +6 -2
  109. data/app/controllers/spree/api/v3/store/carts/payment_sessions_controller.rb +1 -1
  110. data/app/controllers/spree/api/v3/store/carts/payments_controller.rb +5 -3
  111. data/app/controllers/spree/api/v3/store/carts/po_documents_controller.rb +2 -2
  112. data/app/controllers/spree/api/v3/store/carts/store_credits_controller.rb +2 -0
  113. data/app/controllers/spree/api/v3/store/carts_controller.rb +9 -6
  114. data/app/controllers/spree/api/v3/store/companies/addresses_controller.rb +0 -4
  115. data/app/controllers/spree/api/v3/store/companies/invitations_controller.rb +1 -5
  116. data/app/controllers/spree/api/v3/store/company_invitations_controller.rb +1 -1
  117. data/app/controllers/spree/api/v3/store/customer/addresses_controller.rb +0 -4
  118. data/app/controllers/spree/api/v3/store/customer/credit_cards_controller.rb +0 -4
  119. data/app/controllers/spree/api/v3/store/customer/data_requests_controller.rb +0 -5
  120. data/app/controllers/spree/api/v3/store/customer/digital_links_controller.rb +0 -4
  121. data/app/controllers/spree/api/v3/store/customer/gift_cards_controller.rb +0 -4
  122. data/app/controllers/spree/api/v3/store/customer/orders_controller.rb +0 -4
  123. data/app/controllers/spree/api/v3/store/customer/password_resets_controller.rb +8 -6
  124. data/app/controllers/spree/api/v3/store/customer/payment_setup_sessions_controller.rb +0 -4
  125. data/app/controllers/spree/api/v3/store/customer/store_credits_controller.rb +0 -5
  126. data/app/controllers/spree/api/v3/store/data_request_downloads_controller.rb +1 -1
  127. data/app/controllers/spree/api/v3/store/delivery_methods_controller.rb +1 -1
  128. data/app/controllers/spree/api/v3/store/newsletter_subscribers_controller.rb +5 -14
  129. data/app/controllers/spree/api/v3/store/orders/claims_controller.rb +1 -5
  130. data/app/controllers/spree/api/v3/store/orders/returns_controller.rb +1 -5
  131. data/app/controllers/spree/api/v3/store/wishlist_items_controller.rb +0 -4
  132. data/app/serializers/spree/api/v3/admin/address_serializer.rb +5 -7
  133. data/app/serializers/spree/api/v3/admin/api_key_serializer.rb +2 -6
  134. data/app/serializers/spree/api/v3/admin/catalog_assignment_serializer.rb +1 -3
  135. data/app/serializers/spree/api/v3/admin/catalog_order_minimum_serializer.rb +1 -7
  136. data/app/serializers/spree/api/v3/admin/catalog_product_term_serializer.rb +1 -3
  137. data/app/serializers/spree/api/v3/admin/catalog_quantity_rule_serializer.rb +1 -3
  138. data/app/serializers/spree/api/v3/admin/channel_serializer.rb +5 -6
  139. data/app/serializers/spree/api/v3/admin/claim_reason_serializer.rb +1 -3
  140. data/app/serializers/spree/api/v3/admin/commission_rule_serializer.rb +1 -3
  141. data/app/serializers/spree/api/v3/admin/coupon_code_serializer.rb +1 -7
  142. data/app/serializers/spree/api/v3/admin/credit_card_serializer.rb +1 -7
  143. data/app/serializers/spree/api/v3/admin/custom_field_definition_serializer.rb +6 -2
  144. data/app/serializers/spree/api/v3/admin/customer_serializer.rb +2 -10
  145. data/app/serializers/spree/api/v3/admin/data_request_serializer.rb +2 -6
  146. data/app/serializers/spree/api/v3/admin/delivery_method_serializer.rb +8 -22
  147. data/app/serializers/spree/api/v3/admin/delivery_origin_group_serializer.rb +1 -3
  148. data/app/serializers/spree/api/v3/admin/delivery_serializer.rb +1 -3
  149. data/app/serializers/spree/api/v3/admin/delivery_zone_serializer.rb +1 -7
  150. data/app/serializers/spree/api/v3/admin/digital_asset_serializer.rb +4 -2
  151. data/app/serializers/spree/api/v3/admin/email_template_draft_serializer.rb +19 -0
  152. data/app/serializers/spree/api/v3/admin/email_template_preview_serializer.rb +38 -0
  153. data/app/serializers/spree/api/v3/admin/email_template_revision_serializer.rb +18 -0
  154. data/app/serializers/spree/api/v3/admin/email_template_sample_record_serializer.rb +13 -0
  155. data/app/serializers/spree/api/v3/admin/email_template_serializer.rb +61 -0
  156. data/app/serializers/spree/api/v3/admin/exchange_serializer.rb +1 -3
  157. data/app/serializers/spree/api/v3/admin/export_serializer.rb +1 -7
  158. data/app/serializers/spree/api/v3/admin/fulfillment_item_serializer.rb +1 -7
  159. data/app/serializers/spree/api/v3/admin/fulfillment_serializer.rb +1 -7
  160. data/app/serializers/spree/api/v3/admin/gift_card_serializer.rb +1 -7
  161. data/app/serializers/spree/api/v3/admin/line_item_serializer.rb +2 -6
  162. data/app/serializers/spree/api/v3/admin/market_serializer.rb +4 -2
  163. data/app/serializers/spree/api/v3/admin/media_serializer.rb +1 -3
  164. data/app/serializers/spree/api/v3/admin/order_cancellation_reason_serializer.rb +1 -3
  165. data/app/serializers/spree/api/v3/admin/order_group_serializer.rb +3 -9
  166. data/app/serializers/spree/api/v3/admin/order_routing_rule_serializer.rb +1 -3
  167. data/app/serializers/spree/api/v3/admin/order_serializer.rb +5 -15
  168. data/app/serializers/spree/api/v3/admin/package_type_serializer.rb +1 -3
  169. data/app/serializers/spree/api/v3/admin/payment_method_serializer.rb +7 -1
  170. data/app/serializers/spree/api/v3/admin/payment_serializer.rb +2 -7
  171. data/app/serializers/spree/api/v3/admin/permission_serializer.rb +4 -4
  172. data/app/serializers/spree/api/v3/admin/price_rule_serializer.rb +1 -3
  173. data/app/serializers/spree/api/v3/admin/product_serializer.rb +2 -10
  174. data/app/serializers/spree/api/v3/admin/product_submission_serializer.rb +2 -10
  175. data/app/serializers/spree/api/v3/admin/product_type_serializer.rb +1 -3
  176. data/app/serializers/spree/api/v3/admin/promotion_action_serializer.rb +1 -3
  177. data/app/serializers/spree/api/v3/admin/promotion_rule_serializer.rb +1 -3
  178. data/app/serializers/spree/api/v3/admin/purchase_order_item_serializer.rb +2 -15
  179. data/app/serializers/spree/api/v3/admin/purchase_order_serializer.rb +2 -15
  180. data/app/serializers/spree/api/v3/admin/refund_reason_serializer.rb +1 -3
  181. data/app/serializers/spree/api/v3/admin/refund_serializer.rb +4 -1
  182. data/app/serializers/spree/api/v3/admin/return_line_item_serializer.rb +1 -0
  183. data/app/serializers/spree/api/v3/admin/return_reason_serializer.rb +1 -3
  184. data/app/serializers/spree/api/v3/admin/return_serializer.rb +3 -11
  185. data/app/serializers/spree/api/v3/admin/saved_report_serializer.rb +1 -3
  186. data/app/serializers/spree/api/v3/admin/seller_payout_serializer.rb +4 -2
  187. data/app/serializers/spree/api/v3/admin/seller_requirement_status_serializer.rb +2 -6
  188. data/app/serializers/spree/api/v3/admin/seller_requirement_submission_serializer.rb +1 -7
  189. data/app/serializers/spree/api/v3/admin/seller_serializer.rb +5 -15
  190. data/app/serializers/spree/api/v3/admin/seller_transfer_serializer.rb +4 -2
  191. data/app/serializers/spree/api/v3/admin/shipping_label_serializer.rb +6 -19
  192. data/app/serializers/spree/api/v3/admin/stock_level_serializer.rb +1 -3
  193. data/app/serializers/spree/api/v3/admin/stock_location_serializer.rb +1 -3
  194. data/app/serializers/spree/api/v3/admin/stock_movement_serializer.rb +1 -3
  195. data/app/serializers/spree/api/v3/admin/stock_receipt_item_serializer.rb +1 -7
  196. data/app/serializers/spree/api/v3/admin/stock_receipt_serializer.rb +1 -3
  197. data/app/serializers/spree/api/v3/admin/stock_reservation_serializer.rb +1 -3
  198. data/app/serializers/spree/api/v3/admin/stock_transfer_item_serializer.rb +1 -3
  199. data/app/serializers/spree/api/v3/admin/store_credit_event_serializer.rb +1 -3
  200. data/app/serializers/spree/api/v3/admin/store_credit_serializer.rb +4 -18
  201. data/app/serializers/spree/api/v3/admin/store_serializer.rb +24 -6
  202. data/app/serializers/spree/api/v3/admin/supplier_serializer.rb +1 -3
  203. data/app/serializers/spree/api/v3/admin/tax_exemption_certificate_serializer.rb +3 -9
  204. data/app/serializers/spree/api/v3/admin/tax_identifier_serializer.rb +1 -3
  205. data/app/serializers/spree/api/v3/admin/tax_line_serializer.rb +5 -1
  206. data/app/serializers/spree/api/v3/admin/tax_rate_serializer.rb +1 -7
  207. data/app/serializers/spree/api/v3/admin/variant_serializer.rb +6 -7
  208. data/app/serializers/spree/api/v3/admin/webhook_delivery_serializer.rb +1 -3
  209. data/app/serializers/spree/api/v3/admin/webhook_event_serializer.rb +23 -0
  210. data/app/serializers/spree/api/v3/applied_promotion_serializer.rb +2 -4
  211. data/app/serializers/spree/api/v3/base_serializer.rb +20 -0
  212. data/app/serializers/spree/api/v3/cart_serializer.rb +17 -45
  213. data/app/serializers/spree/api/v3/category_serializer.rb +5 -15
  214. data/app/serializers/spree/api/v3/claim_line_item_serializer.rb +11 -26
  215. data/app/serializers/spree/api/v3/claim_serializer.rb +2 -15
  216. data/app/serializers/spree/api/v3/collection_serializer.rb +1 -3
  217. data/app/serializers/spree/api/v3/company_serializer.rb +1 -3
  218. data/app/serializers/spree/api/v3/custom_field_serializer.rb +1 -2
  219. data/app/serializers/spree/api/v3/delivery_rate_serializer.rb +3 -23
  220. data/app/serializers/spree/api/v3/digital_asset_serializer.rb +1 -3
  221. data/app/serializers/spree/api/v3/digital_link_serializer.rb +3 -9
  222. data/app/serializers/spree/api/v3/discount_serializer.rb +1 -12
  223. data/app/serializers/spree/api/v3/exchange_line_item_serializer.rb +9 -27
  224. data/app/serializers/spree/api/v3/exchange_serializer.rb +2 -15
  225. data/app/serializers/spree/api/v3/export_serializer.rb +1 -3
  226. data/app/serializers/spree/api/v3/fee_serializer.rb +2 -10
  227. data/app/serializers/spree/api/v3/fulfillment_serializer.rb +4 -11
  228. data/app/serializers/spree/api/v3/gift_card_batch_serializer.rb +1 -3
  229. data/app/serializers/spree/api/v3/gift_card_serializer.rb +5 -17
  230. data/app/serializers/spree/api/v3/import_row_serializer.rb +2 -6
  231. data/app/serializers/spree/api/v3/import_serializer.rb +3 -14
  232. data/app/serializers/spree/api/v3/invitation_serializer.rb +2 -19
  233. data/app/serializers/spree/api/v3/line_item_serializer.rb +6 -20
  234. data/app/serializers/spree/api/v3/media_event_serializer.rb +1 -3
  235. data/app/serializers/spree/api/v3/media_serializer.rb +1 -3
  236. data/app/serializers/spree/api/v3/newsletter_subscriber_request_event_serializer.rb +35 -0
  237. data/app/serializers/spree/api/v3/newsletter_subscriber_serializer.rb +2 -6
  238. data/app/serializers/spree/api/v3/option_value_serializer.rb +1 -3
  239. data/app/serializers/spree/api/v3/order_group_serializer.rb +2 -23
  240. data/app/serializers/spree/api/v3/order_serializer.rb +12 -38
  241. data/app/serializers/spree/api/v3/password_reset_requested_event_serializer.rb +29 -0
  242. data/app/serializers/spree/api/v3/payment_method_serializer.rb +2 -6
  243. data/app/serializers/spree/api/v3/payment_serializer.rb +5 -10
  244. data/app/serializers/spree/api/v3/payment_session_serializer.rb +3 -9
  245. data/app/serializers/spree/api/v3/payment_setup_session_serializer.rb +3 -11
  246. data/app/serializers/spree/api/v3/policy_serializer.rb +1 -3
  247. data/app/serializers/spree/api/v3/price_history_serializer.rb +1 -3
  248. data/app/serializers/spree/api/v3/price_serializer.rb +1 -3
  249. data/app/serializers/spree/api/v3/product_publication_serializer.rb +1 -7
  250. data/app/serializers/spree/api/v3/product_serializer.rb +7 -21
  251. data/app/serializers/spree/api/v3/product_submission_serializer.rb +26 -0
  252. data/app/serializers/spree/api/v3/purchase_order_event_serializer.rb +23 -4
  253. data/app/serializers/spree/api/v3/refund_serializer.rb +3 -11
  254. data/app/serializers/spree/api/v3/return_line_item_serializer.rb +12 -19
  255. data/app/serializers/spree/api/v3/return_serializer.rb +6 -15
  256. data/app/serializers/spree/api/v3/saved_report_event_serializer.rb +23 -0
  257. data/app/serializers/spree/api/v3/seller/delivery_method_serializer.rb +1 -7
  258. data/app/serializers/spree/api/v3/seller/delivery_rate_serializer.rb +1 -7
  259. data/app/serializers/spree/api/v3/seller/delivery_serializer.rb +1 -3
  260. data/app/serializers/spree/api/v3/seller/delivery_zone_serializer.rb +1 -3
  261. data/app/serializers/spree/api/v3/seller/exchange_serializer.rb +1 -3
  262. data/app/serializers/spree/api/v3/seller/fulfillment_item_serializer.rb +1 -7
  263. data/app/serializers/spree/api/v3/seller/fulfillment_serializer.rb +2 -6
  264. data/app/serializers/spree/api/v3/seller/invitation_serializer.rb +1 -3
  265. data/app/serializers/spree/api/v3/seller/order_line_item_serializer.rb +7 -13
  266. data/app/serializers/spree/api/v3/seller/order_serializer.rb +4 -25
  267. data/app/serializers/spree/api/v3/seller/payout_serializer.rb +4 -2
  268. data/app/serializers/spree/api/v3/seller/product_serializer.rb +1 -7
  269. data/app/serializers/spree/api/v3/seller/product_submission_serializer.rb +1 -21
  270. data/app/serializers/spree/api/v3/seller/profile_serializer.rb +2 -6
  271. data/app/serializers/spree/api/v3/seller/requirement_status_serializer.rb +3 -9
  272. data/app/serializers/spree/api/v3/seller/return_serializer.rb +3 -15
  273. data/app/serializers/spree/api/v3/seller/transfer_serializer.rb +4 -2
  274. data/app/serializers/spree/api/v3/seller_serializer.rb +1 -3
  275. data/app/serializers/spree/api/v3/shipping_label_event_serializer.rb +22 -4
  276. data/app/serializers/spree/api/v3/stock_level_serializer.rb +1 -7
  277. data/app/serializers/spree/api/v3/stock_movement_serializer.rb +1 -3
  278. data/app/serializers/spree/api/v3/stock_receipt_event_serializer.rb +20 -4
  279. data/app/serializers/spree/api/v3/stock_transfer_serializer.rb +1 -7
  280. data/app/serializers/spree/api/v3/store_credit_event_serializer.rb +2 -11
  281. data/app/serializers/spree/api/v3/store_credit_serializer.rb +2 -24
  282. data/app/serializers/spree/api/v3/supplier_event_serializer.rb +6 -4
  283. data/app/serializers/spree/api/v3/tax_line_serializer.rb +10 -20
  284. data/app/serializers/spree/api/v3/variant_serializer.rb +7 -21
  285. data/app/serializers/spree/api/v3/wishlist_item_serializer.rb +1 -11
  286. data/app/serializers/spree/api/v3/wishlist_serializer.rb +2 -6
  287. data/app/subscribers/spree/webhook_event_subscriber.rb +3 -10
  288. data/config/initializers/pagy.rb +1 -1
  289. data/config/initializers/typelizer.rb +6 -8
  290. data/config/locales/ar.yml +15 -0
  291. data/config/locales/be.yml +15 -0
  292. data/config/locales/bg.yml +15 -0
  293. data/config/locales/ca.yml +15 -0
  294. data/config/locales/cs.yml +15 -0
  295. data/config/locales/da.yml +15 -0
  296. data/config/locales/de-CH.yml +11 -0
  297. data/config/locales/de.yml +15 -0
  298. data/config/locales/el.yml +15 -0
  299. data/config/locales/en.yml +5 -40
  300. data/config/locales/es-CL.yml +10 -0
  301. data/config/locales/es-EC.yml +11 -0
  302. data/config/locales/es-MX.yml +12 -0
  303. data/config/locales/es.yml +15 -0
  304. data/config/locales/et.yml +15 -0
  305. data/config/locales/fa.yml +15 -0
  306. data/config/locales/fi.yml +15 -0
  307. data/config/locales/fr.yml +15 -0
  308. data/config/locales/hu.yml +15 -0
  309. data/config/locales/id.yml +15 -0
  310. data/config/locales/it.yml +15 -0
  311. data/config/locales/ja.yml +15 -0
  312. data/config/locales/km.yml +15 -0
  313. data/config/locales/ko.yml +15 -0
  314. data/config/locales/ku.yml +15 -0
  315. data/config/locales/lt.yml +15 -0
  316. data/config/locales/lv.yml +15 -0
  317. data/config/locales/nb.yml +15 -0
  318. data/config/locales/ne.yml +15 -0
  319. data/config/locales/nl.yml +15 -0
  320. data/config/locales/pl.yml +15 -0
  321. data/config/locales/pt-BR.yml +13 -0
  322. data/config/locales/pt.yml +15 -0
  323. data/config/locales/ro.yml +15 -0
  324. data/config/locales/ru.yml +15 -0
  325. data/config/locales/sk.yml +15 -0
  326. data/config/locales/sl-SI.yml +15 -0
  327. data/config/locales/sv.yml +15 -0
  328. data/config/locales/th.yml +15 -0
  329. data/config/locales/tr.yml +15 -0
  330. data/config/locales/uk.yml +15 -0
  331. data/config/locales/vi.yml +15 -0
  332. data/config/locales/zh-CN.yml +15 -0
  333. data/config/locales/zh-TW.yml +15 -0
  334. data/config/routes.rb +49 -99
  335. data/lib/spree/api/dependencies.rb +53 -274
  336. data/lib/spree/api/openapi/schema_helper.rb +1 -1
  337. data/lib/spree/api/typelizer_generation.rb +35 -0
  338. data/lib/spree/api/webhook_event_types.rb +140 -0
  339. data/lib/spree/api.rb +0 -2
  340. metadata +71 -36
  341. data/config/i18n-tasks.yml +0 -40
  342. data/config/initializers/alba.rb +0 -5
data/config/routes.rb CHANGED
@@ -1,6 +1,7 @@
1
1
  Spree::Core::Engine.add_routes do
2
2
  namespace :api, defaults: { format: 'json' } do
3
- namespace :v3 do
3
+ # A JSON API has no form pages, so no resource gets `new` or `edit` routes.
4
+ namespace :v3, except: [:new, :edit] do
4
5
  namespace :store do
5
6
  # Authentication
6
7
  post 'auth/login', to: 'auth#create'
@@ -9,9 +10,7 @@ Spree::Core::Engine.add_routes do
9
10
 
10
11
  # Markets
11
12
  resources :markets, only: [:index, :show] do
12
- collection do
13
- get :resolve
14
- end
13
+ get :resolve, on: :collection
15
14
  resources :countries, only: [:index, :show], controller: 'markets/countries'
16
15
  end
17
16
 
@@ -50,9 +49,7 @@ Spree::Core::Engine.add_routes do
50
49
  resources :fulfillments, only: [:update], controller: 'carts/fulfillments'
51
50
  resources :payments, only: [:create], controller: 'carts/payments'
52
51
  resources :payment_sessions, only: [:create, :show, :update], controller: 'carts/payment_sessions' do
53
- member do
54
- patch :complete
55
- end
52
+ patch :complete, on: :member
56
53
  end
57
54
  resource :store_credits, only: [:create, :destroy], controller: 'carts/store_credits'
58
55
  resource :tax_identifier, only: [:show, :update, :destroy], controller: 'carts/tax_identifiers'
@@ -72,9 +69,7 @@ Spree::Core::Engine.add_routes do
72
69
  # Customer self-service returns — opening and viewing only; the
73
70
  # merchant approves, receives and refunds through the Admin API.
74
71
  resources :returns, only: [:index, :show, :create], controller: 'orders/returns' do
75
- member do
76
- get :label
77
- end
72
+ get :label, on: :member
78
73
  end
79
74
  resources :claims, only: [:index, :show, :create], controller: 'orders/claims'
80
75
  # Read-only — the registration frozen onto the order at completion.
@@ -121,9 +116,7 @@ Spree::Core::Engine.add_routes do
121
116
  # of their data, or its erasure.
122
117
  resources :data_requests, only: [:index, :show, :create]
123
118
  resources :payment_setup_sessions, only: [:create, :show] do
124
- member do
125
- patch :complete
126
- end
119
+ patch :complete, on: :member
127
120
  end
128
121
  end
129
122
 
@@ -270,20 +263,15 @@ Spree::Core::Engine.add_routes do
270
263
  # Staff & access (invitations, admin users, roles, API keys)
271
264
  resources :admin_users, only: [:index, :show, :update, :destroy]
272
265
  resources :invitations, only: [:index, :show, :create, :destroy] do
273
- member do
274
- patch :resend
275
- end
266
+ patch :resend, on: :member
276
267
  resource :acceptance_link, only: [:show], controller: 'invitations/acceptance_links'
277
268
  end
278
269
  resources :api_keys, only: [:index, :show, :create, :update, :destroy] do
279
- collection do
280
- get :current
281
- end
282
- member do
283
- patch :revoke
284
- end
270
+ get :current, on: :collection
271
+ patch :revoke, on: :member
285
272
  end
286
273
  resources :allowed_origins
274
+ resources :webhook_events, only: [:index]
287
275
  resources :webhook_endpoints do
288
276
  member do
289
277
  post :send_test
@@ -291,8 +279,20 @@ Spree::Core::Engine.add_routes do
291
279
  patch :disable
292
280
  end
293
281
  resources :deliveries, controller: 'webhook_deliveries', only: [:index, :show] do
294
- member do
295
- post :redeliver
282
+ post :redeliver, on: :member
283
+ end
284
+ end
285
+ # Addressed by template key with dots (`spree.order_mailer.confirm_email`).
286
+ resources :email_templates, only: [:index, :show, :destroy], format: false,
287
+ constraints: { id: /[a-z0-9_.]+/, email_template_id: /[a-z0-9_.]+/ } do
288
+ scope module: :email_templates do
289
+ resource :draft, only: [:update, :destroy]
290
+ resource :publication, only: [:create]
291
+ resource :preview, only: [:create]
292
+ resource :test_email, only: [:create]
293
+ resources :sample_records, only: [:index]
294
+ resources :revisions, only: [:index], constraints: { id: %r{[^/]+} } do
295
+ resource :restoration, only: [:create]
296
296
  end
297
297
  end
298
298
  end
@@ -304,9 +304,7 @@ Spree::Core::Engine.add_routes do
304
304
 
305
305
  # CSV Exports — see docs/plans/5.5-admin-spa-csv-export.md
306
306
  resources :exports, only: [:index, :show, :create, :destroy] do
307
- member do
308
- get :download
309
- end
307
+ get :download, on: :member
310
308
  end
311
309
 
312
310
  # CSV Imports — see docs/plans/5.6-admin-spa-csv-import.md
@@ -325,9 +323,7 @@ Spree::Core::Engine.add_routes do
325
323
 
326
324
  # Products
327
325
  resources :product_types do
328
- member do
329
- post :apply_to_products
330
- end
326
+ post :apply_to_products, on: :member
331
327
  end
332
328
  resources :products, concerns: [:custom_fieldable, :translatable] do
333
329
  member do
@@ -355,34 +351,26 @@ Spree::Core::Engine.add_routes do
355
351
  resources :media, controller: 'media', only: [:index, :create, :update, :destroy]
356
352
  resources :digital_assets, controller: 'products/digital_assets',
357
353
  only: [:index, :create, :show, :update, :destroy] do
358
- collection do
359
- get :providers
360
- end
354
+ get :providers, on: :collection
361
355
  end
362
356
  end
363
357
 
364
358
  # Digital download grants — read and reset only; they are created by
365
359
  # order completion, never by hand.
366
360
  resources :digital_links, only: [:index, :show] do
367
- member do
368
- patch :reset
369
- end
361
+ patch :reset, on: :member
370
362
  end
371
363
 
372
364
  # Media library — every file in the store, placed or not. Files are put
373
365
  # ON a product through the nested media routes above; this is where they
374
366
  # are uploaded, browsed and deleted.
375
367
  resources :media, controller: 'media_library', only: [:index, :show, :create, :update, :destroy] do
376
- member do
377
- get :usage
378
- end
368
+ get :usage, on: :member
379
369
  end
380
370
 
381
371
  # Categories
382
372
  resources :categories, concerns: [:custom_fieldable, :translatable] do
383
- member do
384
- patch :reposition
385
- end
373
+ patch :reposition, on: :member
386
374
 
387
375
  # Manual product membership + ordering within the category.
388
376
  concerns :product_membership, controller: 'categories/products', positioned: true
@@ -432,9 +420,7 @@ Spree::Core::Engine.add_routes do
432
420
  resources :stock_locations
433
421
  resources :stock_reservations, only: [:index, :show]
434
422
  resources :stock_levels, only: [:index, :show, :update, :destroy] do
435
- collection do
436
- post :bulk_upsert
437
- end
423
+ post :bulk_upsert, on: :collection
438
424
  end
439
425
  resources :stock_movements, only: [:index, :show]
440
426
  resources :stock_transfers do
@@ -471,34 +457,24 @@ Spree::Core::Engine.add_routes do
471
457
  end
472
458
  resources :tracking_carriers, only: [:index]
473
459
  resources :delivery_method_rules, only: [] do
474
- collection do
475
- get :types
476
- end
460
+ get :types, on: :collection
477
461
  end
478
462
  resources :delivery_zones
479
463
  resources :package_types
480
464
 
481
465
  resources :delivery_profiles do
482
- collection do
483
- get :kinds
484
- end
466
+ get :kinds, on: :collection
485
467
  resources :origin_groups, controller: 'delivery_profiles/origin_groups',
486
468
  only: [:index, :show, :create, :update, :destroy]
487
469
  end
488
470
 
489
471
  resources :payment_methods do
490
- collection do
491
- get :types
492
- end
472
+ get :types, on: :collection
493
473
  end
494
474
 
495
475
  resources :integrations do
496
- collection do
497
- get :types
498
- end
499
- member do
500
- post :test
501
- end
476
+ get :types, on: :collection
477
+ post :test, on: :member
502
478
  end
503
479
 
504
480
  # Promotions, with nested actions/rules/coupon codes.
@@ -531,9 +507,7 @@ Spree::Core::Engine.add_routes do
531
507
  resources :credit_cards, controller: 'customers/credit_cards', only: [:index, :show, :destroy]
532
508
  resources :store_credits, controller: 'customers/store_credits'
533
509
  resources :tax_identifiers, controller: 'customers/tax_identifiers' do
534
- member do
535
- post :validate
536
- end
510
+ post :validate, on: :member
537
511
  end
538
512
 
539
513
  member do
@@ -588,9 +562,7 @@ Spree::Core::Engine.add_routes do
588
562
  # has locked itself out, which the seller's own panel cannot do.
589
563
  resources :team, only: [:index, :destroy], controller: 'sellers/team'
590
564
  resources :invitations, only: [:index, :destroy], controller: 'sellers/invitations' do
591
- member do
592
- patch :resend
593
- end
565
+ patch :resend, on: :member
594
566
  resource :acceptance_link, only: [:show], controller: 'sellers/invitations/acceptance_links'
595
567
  end
596
568
 
@@ -611,18 +583,14 @@ Spree::Core::Engine.add_routes do
611
583
  # trade. Configuration, so it hangs off the store rather than a
612
584
  # seller.
613
585
  resources :seller_requirements do
614
- collection do
615
- get :types
616
- end
586
+ get :types, on: :collection
617
587
  end
618
588
 
619
589
  # Commissions — what the marketplace charges its sellers. Rates are
620
590
  # configuration; lines are the record of what was charged, so they are
621
591
  # read-only.
622
592
  resources :commission_rates do
623
- collection do
624
- get :rule_types
625
- end
593
+ get :rule_types, on: :collection
626
594
  end
627
595
  resources :commission_lines, only: [:index, :show]
628
596
 
@@ -633,9 +601,7 @@ Spree::Core::Engine.add_routes do
633
601
  # records what to send and waits to be told it went.
634
602
  resources :seller_transfers, only: [:index, :show]
635
603
  resources :seller_payouts, only: [:index, :show] do
636
- member do
637
- patch :complete
638
- end
604
+ patch :complete, on: :member
639
605
  end
640
606
 
641
607
  # What one checkout produced when it reached several sellers. Read-only:
@@ -660,9 +626,7 @@ Spree::Core::Engine.add_routes do
660
626
  # The business's own registration — the number on its invoices, which
661
627
  # outranks the buyer's own. Same shape as the customer's.
662
628
  resources :tax_identifiers, controller: 'companies/tax_identifiers' do
663
- member do
664
- post :validate
665
- end
629
+ post :validate, on: :member
666
630
  end
667
631
 
668
632
  # Exemption evidence. Accepting or withdrawing one is its own action —
@@ -713,9 +677,7 @@ Spree::Core::Engine.add_routes do
713
677
 
714
678
  # Price lists
715
679
  resources :price_lists do
716
- collection do
717
- get :price_rule_types
718
- end
680
+ get :price_rule_types, on: :collection
719
681
  member do
720
682
  patch :activate
721
683
  patch :deactivate
@@ -799,9 +761,7 @@ Spree::Core::Engine.add_routes do
799
761
  end
800
762
  end
801
763
  resources :deliveries, controller: 'orders/deliveries', only: [:index, :show, :create, :update, :destroy] do
802
- member do
803
- patch :mark_delivered
804
- end
764
+ patch :mark_delivered, on: :member
805
765
  end
806
766
  end
807
767
  resources :returns, controller: 'orders/returns', only: [:index, :show, :create, :update] do
@@ -889,9 +849,7 @@ Spree::Core::Engine.add_routes do
889
849
  # business trading in several regimes holds one in each.
890
850
  resources :tax_identifiers, only: [:index, :create, :update, :destroy],
891
851
  controller: 'tax_identifiers' do
892
- member do
893
- post :validate
894
- end
852
+ post :validate, on: :member
895
853
  end
896
854
 
897
855
  resources :team, only: [:index, :create, :destroy], controller: 'team'
@@ -899,9 +857,7 @@ Spree::Core::Engine.add_routes do
899
857
  # Creating an invitation is hiring, so it lives on `team`; chasing or
900
858
  # withdrawing one is bookkeeping on the offer.
901
859
  resources :invitations, only: [:index, :destroy], controller: 'invitations' do
902
- member do
903
- patch :resend
904
- end
860
+ patch :resend, on: :member
905
861
  resource :acceptance_link, only: [:show], controller: 'invitations/acceptance_links'
906
862
  end
907
863
 
@@ -958,9 +914,7 @@ Spree::Core::Engine.add_routes do
958
914
  # fulfillment because that is what actually travels.
959
915
  resources :deliveries, controller: 'orders/deliveries', only: [:index, :show, :create, :update, :destroy]
960
916
  resources :labels, controller: 'orders/labels', only: [:index, :show, :create, :destroy] do
961
- member do
962
- get :download
963
- end
917
+ get :download, on: :member
964
918
  end
965
919
  end
966
920
 
@@ -1013,9 +967,7 @@ Spree::Core::Engine.add_routes do
1013
967
  # and downloaded — no index, since a seller has no history page to
1014
968
  # list, and no destroy, since retention is the marketplace's business.
1015
969
  resources :exports, only: [:create, :show] do
1016
- member do
1017
- get :download
1018
- end
970
+ get :download, on: :member
1019
971
  end
1020
972
 
1021
973
  # Bulk-listing a catalog by CSV. The operator's pipeline, narrowed to
@@ -1094,9 +1046,7 @@ Spree::Core::Engine.add_routes do
1094
1046
  resources :submissions, only: [:create], controller: 'requirement_submissions'
1095
1047
  end
1096
1048
  resources :requirement_submissions, only: [] do
1097
- member do
1098
- get :download
1099
- end
1049
+ get :download, on: :member
1100
1050
  end
1101
1051
  end
1102
1052