spree_api 5.6.1 → 6.0.0.beta1

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 (540) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE +28 -0
  3. data/Rakefile +1 -1
  4. data/app/controllers/concerns/spree/api/v3/address_params.rb +17 -0
  5. data/app/controllers/concerns/spree/api/v3/admin/product_listing.rb +46 -0
  6. data/app/controllers/concerns/spree/api/v3/admin/product_membership.rb +110 -0
  7. data/app/controllers/concerns/spree/api/v3/admin/receivable_actions.rb +68 -0
  8. data/app/controllers/concerns/spree/api/v3/admin/reporting_authorization.rb +27 -0
  9. data/app/controllers/concerns/spree/api/v3/admin/role_grant_guard.rb +69 -33
  10. data/app/controllers/concerns/spree/api/v3/admin/stock_receipt_actions.rb +86 -0
  11. data/app/controllers/concerns/spree/api/v3/admin/store_context.rb +97 -0
  12. data/app/controllers/concerns/spree/api/v3/admin/subclassed_resource.rb +12 -6
  13. data/app/controllers/concerns/spree/api/v3/admin/validation_details.rb +91 -0
  14. data/app/controllers/concerns/spree/api/v3/admin_authentication.rb +9 -5
  15. data/app/controllers/concerns/spree/api/v3/api_key_authentication.rb +41 -5
  16. data/app/controllers/concerns/spree/api/v3/authentication_strategies.rb +48 -0
  17. data/app/controllers/concerns/spree/api/v3/bulk_operations.rb +4 -6
  18. data/app/controllers/concerns/spree/api/v3/cart_resolvable.rb +52 -16
  19. data/app/controllers/concerns/spree/api/v3/company_address_writes.rb +37 -0
  20. data/app/controllers/concerns/spree/api/v3/current_password_confirmation.rb +41 -0
  21. data/app/controllers/concerns/spree/api/v3/direct_uploads.rb +35 -0
  22. data/app/controllers/concerns/spree/api/v3/error_handler.rb +53 -11
  23. data/app/controllers/concerns/spree/api/v3/idempotent.rb +10 -4
  24. data/app/controllers/concerns/spree/api/v3/items_payload.rb +54 -0
  25. data/app/controllers/concerns/spree/api/v3/jwt_authentication.rb +23 -3
  26. data/app/controllers/concerns/spree/api/v3/key_store_context.rb +31 -0
  27. data/app/controllers/concerns/spree/api/v3/locale_and_currency.rb +3 -3
  28. data/app/controllers/concerns/spree/api/v3/order_lock.rb +22 -3
  29. data/app/controllers/concerns/spree/api/v3/orders/claim_actions.rb +112 -0
  30. data/app/controllers/concerns/spree/api/v3/orders/delivery_actions.rb +105 -0
  31. data/app/controllers/concerns/spree/api/v3/orders/exchange_actions.rb +117 -0
  32. data/app/controllers/concerns/spree/api/v3/orders/fulfillment_actions.rb +157 -0
  33. data/app/controllers/concerns/spree/api/v3/orders/post_sale_actions.rb +76 -0
  34. data/app/controllers/concerns/spree/api/v3/orders/return_actions.rb +116 -0
  35. data/app/controllers/concerns/spree/api/v3/orders/shipping_label_actions.rb +128 -0
  36. data/app/controllers/concerns/spree/api/v3/params_normalizer.rb +7 -4
  37. data/app/controllers/concerns/spree/api/v3/permission_serialization.rb +42 -0
  38. data/app/controllers/concerns/spree/api/v3/rate_limit_headers.rb +40 -6
  39. data/app/controllers/concerns/spree/api/v3/scoped_authorization.rb +80 -26
  40. data/app/controllers/concerns/spree/api/v3/seller/auth_cookies.rb +62 -0
  41. data/app/controllers/concerns/spree/api/v3/seller/seller_context.rb +127 -0
  42. data/app/controllers/concerns/spree/api/v3/seller_authentication.rb +40 -0
  43. data/app/controllers/concerns/spree/api/v3/storefront_access.rb +38 -0
  44. data/app/controllers/concerns/spree/api/v3/streams_shipping_label.rb +37 -0
  45. data/app/controllers/concerns/spree/api/v3/tax_identifier_validation.rb +41 -0
  46. data/app/controllers/spree/api/v3/admin/admin_users_controller.rb +11 -14
  47. data/app/controllers/spree/api/v3/admin/allowed_origins_controller.rb +1 -1
  48. data/app/controllers/spree/api/v3/admin/api_keys_controller.rb +16 -7
  49. data/app/controllers/spree/api/v3/admin/auth_controller.rb +138 -22
  50. data/app/controllers/spree/api/v3/admin/base_controller.rb +2 -0
  51. data/app/controllers/spree/api/v3/admin/catalog_assignments_controller.rb +27 -0
  52. data/app/controllers/spree/api/v3/admin/catalogs/base_controller.rb +29 -0
  53. data/app/controllers/spree/api/v3/admin/catalogs/order_minimums_controller.rb +40 -0
  54. data/app/controllers/spree/api/v3/admin/catalogs/products_controller.rb +107 -0
  55. data/app/controllers/spree/api/v3/admin/catalogs/quantity_rules_controller.rb +75 -0
  56. data/app/controllers/spree/api/v3/admin/catalogs_controller.rb +191 -0
  57. data/app/controllers/spree/api/v3/admin/categories/products_controller.rb +28 -41
  58. data/app/controllers/spree/api/v3/admin/categories_controller.rb +16 -7
  59. data/app/controllers/spree/api/v3/admin/channels_controller.rb +50 -2
  60. data/app/controllers/spree/api/v3/admin/claim_reasons_controller.rb +25 -0
  61. data/app/controllers/spree/api/v3/admin/claims_controller.rb +31 -0
  62. data/app/controllers/spree/api/v3/admin/collection_rules_controller.rb +40 -0
  63. data/app/controllers/spree/api/v3/admin/collections/products_controller.rb +101 -0
  64. data/app/controllers/spree/api/v3/admin/collections_controller.rb +56 -0
  65. data/app/controllers/spree/api/v3/admin/commission_lines_controller.rb +39 -0
  66. data/app/controllers/spree/api/v3/admin/commission_rates_controller.rb +174 -0
  67. data/app/controllers/spree/api/v3/admin/companies/addresses_controller.rb +65 -0
  68. data/app/controllers/spree/api/v3/admin/companies/base_controller.rb +29 -0
  69. data/app/controllers/spree/api/v3/admin/companies/invitations_controller.rb +56 -0
  70. data/app/controllers/spree/api/v3/admin/companies/memberships_controller.rb +66 -0
  71. data/app/controllers/spree/api/v3/admin/companies/tax_exemption_certificates_controller.rb +137 -0
  72. data/app/controllers/spree/api/v3/admin/companies/tax_identifiers_controller.rb +46 -0
  73. data/app/controllers/spree/api/v3/admin/companies_controller.rb +59 -0
  74. data/app/controllers/spree/api/v3/admin/concerns/external_references.rb +166 -0
  75. data/app/controllers/spree/api/v3/admin/consent_records_controller.rb +31 -0
  76. data/app/controllers/spree/api/v3/admin/countries_controller.rb +12 -4
  77. data/app/controllers/spree/api/v3/admin/custom_field_definitions_controller.rb +19 -4
  78. data/app/controllers/spree/api/v3/admin/custom_fields_controller.rb +5 -5
  79. data/app/controllers/spree/api/v3/admin/customer_groups_controller.rb +1 -1
  80. data/app/controllers/spree/api/v3/admin/customers/addresses_controller.rb +4 -4
  81. data/app/controllers/spree/api/v3/admin/customers/base_controller.rb +1 -1
  82. data/app/controllers/spree/api/v3/admin/customers/store_credits_controller.rb +2 -3
  83. data/app/controllers/spree/api/v3/admin/customers/tax_identifiers_controller.rb +43 -0
  84. data/app/controllers/spree/api/v3/admin/customers_controller.rb +190 -11
  85. data/app/controllers/spree/api/v3/admin/dashboard_controller.rb +24 -20
  86. data/app/controllers/spree/api/v3/admin/data_requests_controller.rb +60 -0
  87. data/app/controllers/spree/api/v3/admin/delivery_method_rules_controller.rb +54 -0
  88. data/app/controllers/spree/api/v3/admin/delivery_methods/rules_controller.rb +114 -0
  89. data/app/controllers/spree/api/v3/admin/delivery_methods_controller.rb +243 -0
  90. data/app/controllers/spree/api/v3/admin/delivery_profiles/origin_groups_controller.rb +80 -0
  91. data/app/controllers/spree/api/v3/admin/delivery_profiles_controller.rb +107 -0
  92. data/app/controllers/spree/api/v3/admin/delivery_zones_controller.rb +116 -0
  93. data/app/controllers/spree/api/v3/admin/digital_links_controller.rb +48 -0
  94. data/app/controllers/spree/api/v3/admin/direct_uploads_controller.rb +17 -3
  95. data/app/controllers/spree/api/v3/admin/exchanges_controller.rb +31 -0
  96. data/app/controllers/spree/api/v3/admin/exports_controller.rb +2 -2
  97. data/app/controllers/spree/api/v3/admin/gift_card_batches_controller.rb +1 -1
  98. data/app/controllers/spree/api/v3/admin/gift_cards_controller.rb +3 -2
  99. data/app/controllers/spree/api/v3/admin/imports_controller.rb +71 -8
  100. data/app/controllers/spree/api/v3/admin/integrations_controller.rb +67 -0
  101. data/app/controllers/spree/api/v3/admin/invitation_acceptances_controller.rb +5 -5
  102. data/app/controllers/spree/api/v3/admin/invitations_controller.rb +5 -1
  103. data/app/controllers/spree/api/v3/admin/locales_controller.rb +3 -1
  104. data/app/controllers/spree/api/v3/admin/markets_controller.rb +9 -5
  105. data/app/controllers/spree/api/v3/admin/me_controller.rb +4 -30
  106. data/app/controllers/spree/api/v3/admin/media_controller.rb +88 -38
  107. data/app/controllers/spree/api/v3/admin/media_library_controller.rb +156 -0
  108. data/app/controllers/spree/api/v3/admin/option_types_controller.rb +1 -0
  109. data/app/controllers/spree/api/v3/admin/order_cancellation_reasons_controller.rb +25 -0
  110. data/app/controllers/spree/api/v3/admin/order_groups_controller.rb +43 -0
  111. data/app/controllers/spree/api/v3/admin/order_routing_rules_controller.rb +1 -1
  112. data/app/controllers/spree/api/v3/admin/orders/claims_controller.rb +56 -0
  113. data/app/controllers/spree/api/v3/admin/orders/deliveries_controller.rb +66 -0
  114. data/app/controllers/spree/api/v3/admin/orders/discount_codes_controller.rb +86 -0
  115. data/app/controllers/spree/api/v3/admin/orders/discounts_controller.rb +99 -0
  116. data/app/controllers/spree/api/v3/admin/orders/exchanges_controller.rb +62 -0
  117. data/app/controllers/spree/api/v3/admin/orders/fees_controller.rb +83 -0
  118. data/app/controllers/spree/api/v3/admin/orders/fulfillments_controller.rb +45 -67
  119. data/app/controllers/spree/api/v3/admin/orders/items_controller.rb +40 -22
  120. data/app/controllers/spree/api/v3/admin/orders/labels_controller.rb +75 -0
  121. data/app/controllers/spree/api/v3/admin/orders/payments_controller.rb +36 -18
  122. data/app/controllers/spree/api/v3/admin/orders/refunds_controller.rb +39 -18
  123. data/app/controllers/spree/api/v3/admin/orders/returns_controller.rb +70 -0
  124. data/app/controllers/spree/api/v3/admin/orders/store_credits_controller.rb +2 -2
  125. data/app/controllers/spree/api/v3/admin/orders/tax_identifiers_controller.rb +41 -0
  126. data/app/controllers/spree/api/v3/admin/orders/tax_lines_controller.rb +32 -0
  127. data/app/controllers/spree/api/v3/admin/orders_controller.rb +157 -32
  128. data/app/controllers/spree/api/v3/admin/package_types_controller.rb +39 -0
  129. data/app/controllers/spree/api/v3/admin/password_resets_controller.rb +1 -1
  130. data/app/controllers/spree/api/v3/admin/payment_methods_controller.rb +15 -4
  131. data/app/controllers/spree/api/v3/admin/payout_providers_controller.rb +27 -0
  132. data/app/controllers/spree/api/v3/admin/permissions_controller.rb +30 -0
  133. data/app/controllers/spree/api/v3/admin/policies_controller.rb +42 -0
  134. data/app/controllers/spree/api/v3/admin/price_lists/products_controller.rb +93 -0
  135. data/app/controllers/spree/api/v3/admin/price_lists_controller.rb +43 -29
  136. data/app/controllers/spree/api/v3/admin/prices_controller.rb +41 -4
  137. data/app/controllers/spree/api/v3/admin/product_types_controller.rb +93 -0
  138. data/app/controllers/spree/api/v3/admin/products/digital_assets_controller.rb +148 -0
  139. data/app/controllers/spree/api/v3/admin/products/variants_controller.rb +24 -3
  140. data/app/controllers/spree/api/v3/admin/products_controller.rb +149 -33
  141. data/app/controllers/spree/api/v3/admin/promotion_actions_controller.rb +6 -2
  142. data/app/controllers/spree/api/v3/admin/promotion_rules_controller.rb +1 -1
  143. data/app/controllers/spree/api/v3/admin/promotions_controller.rb +1 -5
  144. data/app/controllers/spree/api/v3/admin/purchase_orders/stock_receipts_controller.rb +32 -0
  145. data/app/controllers/spree/api/v3/admin/purchase_orders_controller.rb +161 -0
  146. data/app/controllers/spree/api/v3/admin/refund_reasons_controller.rb +25 -0
  147. data/app/controllers/spree/api/v3/admin/reporting/saved_reports_controller.rb +45 -0
  148. data/app/controllers/spree/api/v3/admin/reporting_controller.rb +95 -0
  149. data/app/controllers/spree/api/v3/admin/resource_controller.rb +27 -10
  150. data/app/controllers/spree/api/v3/admin/return_reasons_controller.rb +25 -0
  151. data/app/controllers/spree/api/v3/admin/returns_controller.rb +31 -0
  152. data/app/controllers/spree/api/v3/admin/roles_controller.rb +50 -6
  153. data/app/controllers/spree/api/v3/admin/seller_payouts_controller.rb +83 -0
  154. data/app/controllers/spree/api/v3/admin/seller_requirement_submissions_controller.rb +139 -0
  155. data/app/controllers/spree/api/v3/admin/seller_requirements_controller.rb +115 -0
  156. data/app/controllers/spree/api/v3/admin/seller_transfers_controller.rb +36 -0
  157. data/app/controllers/spree/api/v3/admin/sellers/balances_controller.rb +44 -0
  158. data/app/controllers/spree/api/v3/admin/sellers/invitations_controller.rb +77 -0
  159. data/app/controllers/spree/api/v3/admin/sellers/payouts_controller.rb +107 -0
  160. data/app/controllers/spree/api/v3/admin/sellers/team_controller.rb +64 -0
  161. data/app/controllers/spree/api/v3/admin/sellers_controller.rb +197 -0
  162. data/app/controllers/spree/api/v3/admin/setup_controller.rb +231 -0
  163. data/app/controllers/spree/api/v3/admin/stock_levels_controller.rb +172 -0
  164. data/app/controllers/spree/api/v3/admin/stock_locations_controller.rb +3 -2
  165. data/app/controllers/spree/api/v3/admin/stock_movements_controller.rb +37 -0
  166. data/app/controllers/spree/api/v3/admin/stock_reservations_controller.rb +1 -1
  167. data/app/controllers/spree/api/v3/admin/stock_transfers/stock_receipts_controller.rb +31 -0
  168. data/app/controllers/spree/api/v3/admin/stock_transfers_controller.rb +134 -38
  169. data/app/controllers/spree/api/v3/admin/store_controller.rb +65 -0
  170. data/app/controllers/spree/api/v3/admin/store_credits/events_controller.rb +47 -0
  171. data/app/controllers/spree/api/v3/admin/store_credits_controller.rb +87 -0
  172. data/app/controllers/spree/api/v3/admin/suppliers_controller.rb +30 -0
  173. data/app/controllers/spree/api/v3/admin/tags_controller.rb +2 -2
  174. data/app/controllers/spree/api/v3/admin/tax_categories_controller.rb +4 -0
  175. data/app/controllers/spree/api/v3/admin/tax_providers_controller.rb +25 -0
  176. data/app/controllers/spree/api/v3/admin/tax_rates_controller.rb +33 -0
  177. data/app/controllers/spree/api/v3/admin/tracking_carriers_controller.rb +33 -0
  178. data/app/controllers/spree/api/v3/admin/translatable_resources_controller.rb +37 -9
  179. data/app/controllers/spree/api/v3/admin/translations_controller.rb +10 -5
  180. data/app/controllers/spree/api/v3/admin/translations_coverage_controller.rb +150 -0
  181. data/app/controllers/spree/api/v3/admin/variants_controller.rb +11 -4
  182. data/app/controllers/spree/api/v3/admin/webhook_endpoints_controller.rb +1 -1
  183. data/app/controllers/spree/api/v3/base_controller.rb +59 -16
  184. data/app/controllers/spree/api/v3/resource_controller.rb +154 -38
  185. data/app/controllers/spree/api/v3/seller/auth_controller.rb +169 -0
  186. data/app/controllers/spree/api/v3/seller/balances_controller.rb +35 -0
  187. data/app/controllers/spree/api/v3/seller/base_controller.rb +25 -0
  188. data/app/controllers/spree/api/v3/seller/claim_reasons_controller.rb +20 -0
  189. data/app/controllers/spree/api/v3/seller/countries_controller.rb +38 -0
  190. data/app/controllers/spree/api/v3/seller/delivery_methods_controller.rb +265 -0
  191. data/app/controllers/spree/api/v3/seller/delivery_profiles_controller.rb +65 -0
  192. data/app/controllers/spree/api/v3/seller/delivery_zones_controller.rb +41 -0
  193. data/app/controllers/spree/api/v3/seller/direct_uploads_controller.rb +21 -0
  194. data/app/controllers/spree/api/v3/seller/exports_controller.rb +195 -0
  195. data/app/controllers/spree/api/v3/seller/import_rows_controller.rb +49 -0
  196. data/app/controllers/spree/api/v3/seller/imports_controller.rb +317 -0
  197. data/app/controllers/spree/api/v3/seller/invitation_acceptances_controller.rb +152 -0
  198. data/app/controllers/spree/api/v3/seller/invitations_controller.rb +71 -0
  199. data/app/controllers/spree/api/v3/seller/me_controller.rb +72 -0
  200. data/app/controllers/spree/api/v3/seller/onboarding_controller.rb +111 -0
  201. data/app/controllers/spree/api/v3/seller/order_cancellation_reasons_controller.rb +25 -0
  202. data/app/controllers/spree/api/v3/seller/orders/base_controller.rb +44 -0
  203. data/app/controllers/spree/api/v3/seller/orders/claims_controller.rb +45 -0
  204. data/app/controllers/spree/api/v3/seller/orders/deliveries_controller.rb +38 -0
  205. data/app/controllers/spree/api/v3/seller/orders/exchanges_controller.rb +50 -0
  206. data/app/controllers/spree/api/v3/seller/orders/fulfillments_controller.rb +79 -0
  207. data/app/controllers/spree/api/v3/seller/orders/labels_controller.rb +55 -0
  208. data/app/controllers/spree/api/v3/seller/orders/notes_controller.rb +82 -0
  209. data/app/controllers/spree/api/v3/seller/orders/returns_controller.rb +44 -0
  210. data/app/controllers/spree/api/v3/seller/orders_controller.rb +199 -0
  211. data/app/controllers/spree/api/v3/seller/package_types_controller.rb +100 -0
  212. data/app/controllers/spree/api/v3/seller/password_resets_controller.rb +155 -0
  213. data/app/controllers/spree/api/v3/seller/payouts_controller.rb +47 -0
  214. data/app/controllers/spree/api/v3/seller/policies_controller.rb +57 -0
  215. data/app/controllers/spree/api/v3/seller/product_types_controller.rb +35 -0
  216. data/app/controllers/spree/api/v3/seller/products_controller.rb +394 -0
  217. data/app/controllers/spree/api/v3/seller/profile_controller.rb +137 -0
  218. data/app/controllers/spree/api/v3/seller/reasons_controller.rb +45 -0
  219. data/app/controllers/spree/api/v3/seller/requirement_submissions_controller.rb +95 -0
  220. data/app/controllers/spree/api/v3/seller/resource_controller.rb +75 -0
  221. data/app/controllers/spree/api/v3/seller/return_reasons_controller.rb +20 -0
  222. data/app/controllers/spree/api/v3/seller/stock_locations_controller.rb +56 -0
  223. data/app/controllers/spree/api/v3/seller/tax_identifiers_controller.rb +48 -0
  224. data/app/controllers/spree/api/v3/seller/team_controller.rb +103 -0
  225. data/app/controllers/spree/api/v3/seller/tracking_carriers_controller.rb +35 -0
  226. data/app/controllers/spree/api/v3/seller/transfers_controller.rb +43 -0
  227. data/app/controllers/spree/api/v3/store/account/companies_controller.rb +42 -0
  228. data/app/controllers/spree/api/v3/store/auth_controller.rb +21 -34
  229. data/app/controllers/spree/api/v3/store/base_controller.rb +4 -0
  230. data/app/controllers/spree/api/v3/store/carts/discount_codes_controller.rb +24 -2
  231. data/app/controllers/spree/api/v3/store/carts/fulfillments_controller.rb +41 -15
  232. data/app/controllers/spree/api/v3/store/carts/items_controller.rb +53 -20
  233. data/app/controllers/spree/api/v3/store/carts/payment_sessions_controller.rb +36 -20
  234. data/app/controllers/spree/api/v3/store/carts/po_documents_controller.rb +111 -0
  235. data/app/controllers/spree/api/v3/store/carts/store_credits_controller.rb +2 -2
  236. data/app/controllers/spree/api/v3/store/carts/tax_identifiers_controller.rb +96 -0
  237. data/app/controllers/spree/api/v3/store/carts_controller.rb +57 -12
  238. data/app/controllers/spree/api/v3/store/categories_controller.rb +6 -3
  239. data/app/controllers/spree/api/v3/store/collections/products_controller.rb +59 -0
  240. data/app/controllers/spree/api/v3/store/collections_controller.rb +36 -0
  241. data/app/controllers/spree/api/v3/store/companies/addresses_controller.rb +81 -0
  242. data/app/controllers/spree/api/v3/store/companies/base_controller.rb +24 -0
  243. data/app/controllers/spree/api/v3/store/companies/invitations_controller.rb +50 -0
  244. data/app/controllers/spree/api/v3/store/companies/members_controller.rb +66 -0
  245. data/app/controllers/spree/api/v3/store/companies/orders_controller.rb +28 -0
  246. data/app/controllers/spree/api/v3/store/companies_controller.rb +47 -0
  247. data/app/controllers/spree/api/v3/store/company_invitations_controller.rb +90 -0
  248. data/app/controllers/spree/api/v3/store/countries_controller.rb +8 -6
  249. data/app/controllers/spree/api/v3/store/customer/addresses_controller.rb +3 -1
  250. data/app/controllers/spree/api/v3/store/customer/data_requests_controller.rb +78 -0
  251. data/app/controllers/spree/api/v3/store/customer/digital_links_controller.rb +52 -0
  252. data/app/controllers/spree/api/v3/store/customer/orders_controller.rb +6 -0
  253. data/app/controllers/spree/api/v3/store/customer/password_resets_controller.rb +7 -3
  254. data/app/controllers/spree/api/v3/store/customer/payment_setup_sessions_controller.rb +3 -3
  255. data/app/controllers/spree/api/v3/store/customer/store_credits_controller.rb +0 -3
  256. data/app/controllers/spree/api/v3/store/customer/tax_identifiers_controller.rb +91 -0
  257. data/app/controllers/spree/api/v3/store/customers_controller.rb +26 -31
  258. data/app/controllers/spree/api/v3/store/data_feeds_controller.rb +11 -0
  259. data/app/controllers/spree/api/v3/store/data_request_downloads_controller.rb +58 -0
  260. data/app/controllers/spree/api/v3/store/delivery_methods_controller.rb +108 -0
  261. data/app/controllers/spree/api/v3/store/digital_links_controller.rb +105 -0
  262. data/app/controllers/spree/api/v3/store/markets/countries_controller.rb +5 -9
  263. data/app/controllers/spree/api/v3/store/markets_controller.rb +4 -4
  264. data/app/controllers/spree/api/v3/store/newsletter_subscribers_controller.rb +8 -9
  265. data/app/controllers/spree/api/v3/store/orders/claims_controller.rb +94 -0
  266. data/app/controllers/spree/api/v3/store/orders/returns_controller.rb +116 -0
  267. data/app/controllers/spree/api/v3/store/orders/tax_identifiers_controller.rb +46 -0
  268. data/app/controllers/spree/api/v3/store/orders_controller.rb +12 -15
  269. data/app/controllers/spree/api/v3/store/products/filters_controller.rb +10 -3
  270. data/app/controllers/spree/api/v3/store/products_controller.rb +25 -6
  271. data/app/controllers/spree/api/v3/store/resource_controller.rb +2 -0
  272. data/app/controllers/spree/api/v3/store/sellers_controller.rb +43 -0
  273. data/app/controllers/spree/api/v3/store/wishlist_items_controller.rb +9 -6
  274. data/app/controllers/spree/api/v3/store/wishlists_controller.rb +3 -3
  275. data/app/controllers/spree/api/v3/webhooks/fulfillments_controller.rb +88 -0
  276. data/app/controllers/spree/api/v3/webhooks/payments_controller.rb +5 -2
  277. data/app/controllers/spree/api/v3/webhooks/payouts_controller.rb +61 -0
  278. data/app/models/spree/api/data_request_urls.rb +25 -0
  279. data/app/models/spree/api/digital_link_urls.rb +26 -0
  280. data/app/serializers/spree/api/v3/address_serializer.rb +17 -5
  281. data/app/serializers/spree/api/v3/admin/address_serializer.rb +27 -4
  282. data/app/serializers/spree/api/v3/admin/admin_user_serializer.rb +13 -10
  283. data/app/serializers/spree/api/v3/admin/api_key_serializer.rb +1 -1
  284. data/app/serializers/spree/api/v3/admin/applied_promotion_serializer.rb +15 -0
  285. data/app/serializers/spree/api/v3/admin/cart_serializer.rb +34 -0
  286. data/app/serializers/spree/api/v3/admin/catalog_assignment_serializer.rb +32 -0
  287. data/app/serializers/spree/api/v3/admin/catalog_order_minimum_serializer.rb +23 -0
  288. data/app/serializers/spree/api/v3/admin/catalog_price_serializer.rb +48 -0
  289. data/app/serializers/spree/api/v3/admin/catalog_price_tier_serializer.rb +23 -0
  290. data/app/serializers/spree/api/v3/admin/catalog_product_serializer.rb +57 -0
  291. data/app/serializers/spree/api/v3/admin/catalog_product_term_serializer.rb +38 -0
  292. data/app/serializers/spree/api/v3/admin/catalog_quantity_rule_serializer.rb +37 -0
  293. data/app/serializers/spree/api/v3/admin/catalog_serializer.rb +46 -0
  294. data/app/serializers/spree/api/v3/admin/category_serializer.rb +3 -2
  295. data/app/serializers/spree/api/v3/admin/channel_serializer.rb +15 -1
  296. data/app/serializers/spree/api/v3/admin/claim_line_item_serializer.rb +16 -0
  297. data/app/serializers/spree/api/v3/admin/claim_reason_serializer.rb +21 -0
  298. data/app/serializers/spree/api/v3/admin/claim_serializer.rb +29 -0
  299. data/app/serializers/spree/api/v3/admin/collection_rule_serializer.rb +22 -0
  300. data/app/serializers/spree/api/v3/admin/collection_serializer.rb +29 -0
  301. data/app/serializers/spree/api/v3/admin/commission_line_serializer.rb +67 -0
  302. data/app/serializers/spree/api/v3/admin/commission_rate_serializer.rb +69 -0
  303. data/app/serializers/spree/api/v3/admin/commission_rule_serializer.rb +61 -0
  304. data/app/serializers/spree/api/v3/admin/company_invitation_serializer.rb +15 -0
  305. data/app/serializers/spree/api/v3/admin/company_membership_serializer.rb +11 -0
  306. data/app/serializers/spree/api/v3/admin/company_serializer.rb +37 -0
  307. data/app/serializers/spree/api/v3/admin/concerns/external_references_attribute.rb +33 -0
  308. data/app/serializers/spree/api/v3/admin/consent_record_serializer.rb +28 -0
  309. data/app/serializers/spree/api/v3/admin/country_serializer.rb +2 -2
  310. data/app/serializers/spree/api/v3/admin/credit_card_serializer.rb +1 -1
  311. data/app/serializers/spree/api/v3/admin/custom_field_definition_serializer.rb +2 -2
  312. data/app/serializers/spree/api/v3/admin/custom_field_serializer.rb +2 -2
  313. data/app/serializers/spree/api/v3/admin/customer_serializer.rb +23 -22
  314. data/app/serializers/spree/api/v3/admin/dashboard_counter_serializer.rb +24 -0
  315. data/app/serializers/spree/api/v3/admin/data_request_serializer.rb +36 -0
  316. data/app/serializers/spree/api/v3/admin/delivery_method_rule_serializer.rb +32 -0
  317. data/app/serializers/spree/api/v3/admin/delivery_method_serializer.rb +66 -1
  318. data/app/serializers/spree/api/v3/admin/delivery_method_service_serializer.rb +15 -0
  319. data/app/serializers/spree/api/v3/admin/delivery_origin_group_serializer.rb +34 -0
  320. data/app/serializers/spree/api/v3/admin/delivery_profile_serializer.rb +65 -0
  321. data/app/serializers/spree/api/v3/admin/delivery_rate_serializer.rb +10 -1
  322. data/app/serializers/spree/api/v3/admin/delivery_serializer.rb +20 -0
  323. data/app/serializers/spree/api/v3/admin/delivery_zone_member_serializer.rb +11 -0
  324. data/app/serializers/spree/api/v3/admin/delivery_zone_serializer.rb +29 -0
  325. data/app/serializers/spree/api/v3/admin/digital_asset_serializer.rb +59 -0
  326. data/app/serializers/spree/api/v3/admin/discount_serializer.rb +3 -4
  327. data/app/serializers/spree/api/v3/admin/exchange_line_item_serializer.rb +16 -0
  328. data/app/serializers/spree/api/v3/admin/exchange_serializer.rb +35 -0
  329. data/app/serializers/spree/api/v3/admin/export_serializer.rb +20 -1
  330. data/app/serializers/spree/api/v3/admin/fee_serializer.rb +14 -0
  331. data/app/serializers/spree/api/v3/admin/freight_summary_line_serializer.rb +46 -0
  332. data/app/serializers/spree/api/v3/admin/freight_summary_serializer.rb +16 -0
  333. data/app/serializers/spree/api/v3/admin/fulfillment_item_serializer.rb +39 -0
  334. data/app/serializers/spree/api/v3/admin/fulfillment_serializer.rb +31 -9
  335. data/app/serializers/spree/api/v3/admin/gift_card_serializer.rb +2 -3
  336. data/app/serializers/spree/api/v3/admin/import_serializer.rb +15 -2
  337. data/app/serializers/spree/api/v3/admin/integration_serializer.rb +32 -0
  338. data/app/serializers/spree/api/v3/admin/invitation_serializer.rb +4 -4
  339. data/app/serializers/spree/api/v3/admin/line_item_serializer.rb +19 -5
  340. data/app/serializers/spree/api/v3/admin/market_serializer.rb +5 -1
  341. data/app/serializers/spree/api/v3/admin/media_serializer.rb +50 -2
  342. data/app/serializers/spree/api/v3/admin/membership_product_serializer.rb +29 -0
  343. data/app/serializers/spree/api/v3/admin/order_cancellation_reason_serializer.rb +29 -0
  344. data/app/serializers/spree/api/v3/admin/order_group_serializer.rb +50 -0
  345. data/app/serializers/spree/api/v3/admin/order_routing_rule_serializer.rb +2 -6
  346. data/app/serializers/spree/api/v3/admin/order_serializer.rb +131 -19
  347. data/app/serializers/spree/api/v3/admin/package_type_serializer.rb +53 -0
  348. data/app/serializers/spree/api/v3/admin/payment_method_serializer.rb +8 -2
  349. data/app/serializers/spree/api/v3/admin/payment_serializer.rb +6 -0
  350. data/app/serializers/spree/api/v3/admin/payment_split_serializer.rb +41 -0
  351. data/app/serializers/spree/api/v3/admin/permission_serializer.rb +39 -0
  352. data/app/serializers/spree/api/v3/admin/policy_serializer.rb +11 -0
  353. data/app/serializers/spree/api/v3/admin/price_adjustment_tier_serializer.rb +22 -0
  354. data/app/serializers/spree/api/v3/admin/price_list_product_serializer.rb +32 -0
  355. data/app/serializers/spree/api/v3/admin/price_list_serializer.rb +20 -8
  356. data/app/serializers/spree/api/v3/admin/price_rule_serializer.rb +2 -12
  357. data/app/serializers/spree/api/v3/admin/price_serializer.rb +3 -0
  358. data/app/serializers/spree/api/v3/admin/product_serializer.rb +54 -8
  359. data/app/serializers/spree/api/v3/admin/product_submission_serializer.rb +39 -0
  360. data/app/serializers/spree/api/v3/admin/product_type_custom_field_definition_serializer.rb +44 -0
  361. data/app/serializers/spree/api/v3/admin/product_type_serializer.rb +34 -0
  362. data/app/serializers/spree/api/v3/admin/promotion_action_serializer.rb +6 -12
  363. data/app/serializers/spree/api/v3/admin/promotion_rule_serializer.rb +17 -15
  364. data/app/serializers/spree/api/v3/admin/purchase_order_item_serializer.rb +80 -0
  365. data/app/serializers/spree/api/v3/admin/purchase_order_serializer.rb +94 -0
  366. data/app/serializers/spree/api/v3/admin/refund_reason_serializer.rb +27 -0
  367. data/app/serializers/spree/api/v3/admin/refund_serializer.rb +0 -5
  368. data/app/serializers/spree/api/v3/admin/reporting_result_serializer.rb +72 -0
  369. data/app/serializers/spree/api/v3/admin/return_line_item_serializer.rb +16 -0
  370. data/app/serializers/spree/api/v3/admin/return_reason_serializer.rb +21 -0
  371. data/app/serializers/spree/api/v3/admin/return_serializer.rb +59 -0
  372. data/app/serializers/spree/api/v3/admin/role_serializer.rb +24 -6
  373. data/app/serializers/spree/api/v3/admin/saved_report_serializer.rb +33 -0
  374. data/app/serializers/spree/api/v3/admin/seller_balance_serializer.rb +37 -0
  375. data/app/serializers/spree/api/v3/admin/seller_payout_serializer.rb +46 -0
  376. data/app/serializers/spree/api/v3/admin/seller_requirement_serializer.rb +68 -0
  377. data/app/serializers/spree/api/v3/admin/seller_requirement_status_serializer.rb +48 -0
  378. data/app/serializers/spree/api/v3/admin/seller_requirement_submission_serializer.rb +57 -0
  379. data/app/serializers/spree/api/v3/admin/seller_serializer.rb +92 -0
  380. data/app/serializers/spree/api/v3/admin/seller_team_member_serializer.rb +29 -0
  381. data/app/serializers/spree/api/v3/admin/seller_transfer_serializer.rb +53 -0
  382. data/app/serializers/spree/api/v3/admin/shipping_label_serializer.rb +82 -0
  383. data/app/serializers/spree/api/v3/admin/state_serializer.rb +1 -1
  384. data/app/serializers/spree/api/v3/admin/stock_level_serializer.rb +65 -0
  385. data/app/serializers/spree/api/v3/admin/stock_location_serializer.rb +20 -4
  386. data/app/serializers/spree/api/v3/admin/stock_movement_serializer.rb +116 -0
  387. data/app/serializers/spree/api/v3/admin/stock_receipt_item_serializer.rb +57 -0
  388. data/app/serializers/spree/api/v3/admin/stock_receipt_serializer.rb +49 -0
  389. data/app/serializers/spree/api/v3/admin/stock_reservation_serializer.rb +5 -5
  390. data/app/serializers/spree/api/v3/admin/stock_transfer_item_serializer.rb +57 -0
  391. data/app/serializers/spree/api/v3/admin/stock_transfer_serializer.rb +36 -16
  392. data/app/serializers/spree/api/v3/admin/store_credit_event_serializer.rb +32 -0
  393. data/app/serializers/spree/api/v3/admin/store_credit_serializer.rb +42 -7
  394. data/app/serializers/spree/api/v3/admin/store_serializer.rb +63 -1
  395. data/app/serializers/spree/api/v3/admin/supplier_serializer.rb +39 -0
  396. data/app/serializers/spree/api/v3/admin/tax_exemption_certificate_serializer.rb +67 -0
  397. data/app/serializers/spree/api/v3/admin/tax_identifier_serializer.rb +43 -0
  398. data/app/serializers/spree/api/v3/admin/tax_line_serializer.rb +21 -0
  399. data/app/serializers/spree/api/v3/admin/tax_rate_serializer.rb +49 -0
  400. data/app/serializers/spree/api/v3/admin/variant_serializer.rb +49 -8
  401. data/app/serializers/spree/api/v3/applied_promotion_serializer.rb +23 -0
  402. data/app/serializers/spree/api/v3/base_serializer.rb +39 -2
  403. data/app/serializers/spree/api/v3/cart_serializer.rb +90 -12
  404. data/app/serializers/spree/api/v3/category_serializer.rb +3 -3
  405. data/app/serializers/spree/api/v3/claim_line_item_serializer.rb +50 -0
  406. data/app/serializers/spree/api/v3/claim_reason_serializer.rb +20 -0
  407. data/app/serializers/spree/api/v3/claim_serializer.rb +62 -0
  408. data/app/serializers/spree/api/v3/collection_serializer.rb +41 -0
  409. data/app/serializers/spree/api/v3/company_invitation_serializer.rb +28 -0
  410. data/app/serializers/spree/api/v3/company_membership_serializer.rb +28 -0
  411. data/app/serializers/spree/api/v3/company_serializer.rb +33 -0
  412. data/app/serializers/spree/api/v3/custom_field_serializer.rb +2 -2
  413. data/app/serializers/spree/api/v3/customer_serializer.rb +9 -1
  414. data/app/serializers/spree/api/v3/data_request_event_serializer.rb +30 -0
  415. data/app/serializers/spree/api/v3/data_request_serializer.rb +40 -0
  416. data/app/serializers/spree/api/v3/delivery_method_serializer.rb +12 -2
  417. data/app/serializers/spree/api/v3/delivery_rate_serializer.rb +34 -17
  418. data/app/serializers/spree/api/v3/delivery_serializer.rb +29 -0
  419. data/app/serializers/spree/api/v3/delivery_zone_member_serializer.rb +29 -0
  420. data/app/serializers/spree/api/v3/delivery_zone_serializer.rb +13 -0
  421. data/app/serializers/spree/api/v3/digital_asset_serializer.rb +23 -0
  422. data/app/serializers/spree/api/v3/digital_link_serializer.rb +6 -2
  423. data/app/serializers/spree/api/v3/discount_serializer.rb +21 -7
  424. data/app/serializers/spree/api/v3/exchange_line_item_serializer.rb +53 -0
  425. data/app/serializers/spree/api/v3/exchange_serializer.rb +61 -0
  426. data/app/serializers/spree/api/v3/fee_serializer.rb +27 -0
  427. data/app/serializers/spree/api/v3/freight_summary_serializer.rb +38 -0
  428. data/app/serializers/spree/api/v3/fulfillment_serializer.rb +28 -15
  429. data/app/serializers/spree/api/v3/gift_card_serializer.rb +2 -2
  430. data/app/serializers/spree/api/v3/import_row_serializer.rb +1 -1
  431. data/app/serializers/spree/api/v3/import_serializer.rb +18 -4
  432. data/app/serializers/spree/api/v3/invitation_serializer.rb +1 -1
  433. data/app/serializers/spree/api/v3/line_item_serializer.rb +18 -1
  434. data/app/serializers/spree/api/v3/market_serializer.rb +2 -2
  435. data/app/serializers/spree/api/v3/{asset_serializer.rb → media_event_serializer.rb} +4 -4
  436. data/app/serializers/spree/api/v3/media_serializer.rb +48 -7
  437. data/app/serializers/spree/api/v3/newsletter_subscriber_serializer.rb +1 -1
  438. data/app/serializers/spree/api/v3/option_type_serializer.rb +1 -1
  439. data/app/serializers/spree/api/v3/order_group_serializer.rb +60 -0
  440. data/app/serializers/spree/api/v3/order_serializer.rb +58 -6
  441. data/app/serializers/spree/api/v3/payment_method_serializer.rb +1 -1
  442. data/app/serializers/spree/api/v3/payment_serializer.rb +2 -6
  443. data/app/serializers/spree/api/v3/payment_session_serializer.rb +10 -3
  444. data/app/serializers/spree/api/v3/payment_setup_session_serializer.rb +1 -1
  445. data/app/serializers/spree/api/v3/policy_serializer.rb +7 -2
  446. data/app/serializers/spree/api/v3/product_filter_option_serializer.rb +1 -1
  447. data/app/serializers/spree/api/v3/product_serializer.rb +42 -10
  448. data/app/serializers/spree/api/v3/product_type_serializer.rb +17 -0
  449. data/app/serializers/spree/api/v3/purchase_order_event_serializer.rb +11 -0
  450. data/app/serializers/spree/api/v3/refund_serializer.rb +9 -3
  451. data/app/serializers/spree/api/v3/return_line_item_serializer.rb +42 -0
  452. data/app/serializers/spree/api/v3/return_reason_serializer.rb +20 -0
  453. data/app/serializers/spree/api/v3/return_serializer.rb +62 -0
  454. data/app/serializers/spree/api/v3/seller/balance_serializer.rb +35 -0
  455. data/app/serializers/spree/api/v3/seller/claim_line_item_serializer.rb +21 -0
  456. data/app/serializers/spree/api/v3/seller/claim_serializer.rb +25 -0
  457. data/app/serializers/spree/api/v3/seller/delivery_method_rule_serializer.rb +32 -0
  458. data/app/serializers/spree/api/v3/seller/delivery_method_serializer.rb +59 -0
  459. data/app/serializers/spree/api/v3/seller/delivery_profile_serializer.rb +26 -0
  460. data/app/serializers/spree/api/v3/seller/delivery_rate_serializer.rb +35 -0
  461. data/app/serializers/spree/api/v3/seller/delivery_serializer.rb +17 -0
  462. data/app/serializers/spree/api/v3/seller/delivery_zone_serializer.rb +26 -0
  463. data/app/serializers/spree/api/v3/seller/exchange_line_item_serializer.rb +29 -0
  464. data/app/serializers/spree/api/v3/seller/exchange_serializer.rb +30 -0
  465. data/app/serializers/spree/api/v3/seller/export_serializer.rb +44 -0
  466. data/app/serializers/spree/api/v3/seller/fulfillment_item_serializer.rb +43 -0
  467. data/app/serializers/spree/api/v3/seller/fulfillment_serializer.rb +76 -0
  468. data/app/serializers/spree/api/v3/seller/import_mapping_serializer.rb +20 -0
  469. data/app/serializers/spree/api/v3/seller/import_row_serializer.rb +17 -0
  470. data/app/serializers/spree/api/v3/seller/import_serializer.rb +77 -0
  471. data/app/serializers/spree/api/v3/seller/invitation_serializer.rb +29 -0
  472. data/app/serializers/spree/api/v3/seller/media_serializer.rb +26 -0
  473. data/app/serializers/spree/api/v3/seller/order_line_item_serializer.rb +44 -0
  474. data/app/serializers/spree/api/v3/seller/order_serializer.rb +119 -0
  475. data/app/serializers/spree/api/v3/seller/package_type_serializer.rb +52 -0
  476. data/app/serializers/spree/api/v3/seller/payment_split_serializer.rb +34 -0
  477. data/app/serializers/spree/api/v3/seller/payout_serializer.rb +36 -0
  478. data/app/serializers/spree/api/v3/seller/policy_serializer.rb +11 -0
  479. data/app/serializers/spree/api/v3/seller/product_serializer.rb +60 -0
  480. data/app/serializers/spree/api/v3/seller/product_submission_serializer.rb +30 -0
  481. data/app/serializers/spree/api/v3/seller/product_type_serializer.rb +29 -0
  482. data/app/serializers/spree/api/v3/seller/profile_serializer.rb +77 -0
  483. data/app/serializers/spree/api/v3/seller/reason_serializer.rb +24 -0
  484. data/app/serializers/spree/api/v3/seller/requirement_custom_field_serializer.rb +36 -0
  485. data/app/serializers/spree/api/v3/seller/requirement_status_serializer.rb +62 -0
  486. data/app/serializers/spree/api/v3/seller/requirement_submission_serializer.rb +33 -0
  487. data/app/serializers/spree/api/v3/seller/return_line_item_serializer.rb +24 -0
  488. data/app/serializers/spree/api/v3/seller/return_serializer.rb +51 -0
  489. data/app/serializers/spree/api/v3/seller/shipping_label_serializer.rb +23 -0
  490. data/app/serializers/spree/api/v3/seller/stock_level_serializer.rb +27 -0
  491. data/app/serializers/spree/api/v3/seller/stock_location_serializer.rb +17 -0
  492. data/app/serializers/spree/api/v3/seller/tax_identifier_serializer.rb +15 -0
  493. data/app/serializers/spree/api/v3/seller/team_member_serializer.rb +22 -0
  494. data/app/serializers/spree/api/v3/seller/transfer_serializer.rb +49 -0
  495. data/app/serializers/spree/api/v3/seller/variant_serializer.rb +71 -0
  496. data/app/serializers/spree/api/v3/seller_serializer.rb +50 -0
  497. data/app/serializers/spree/api/v3/shipping_label_event_serializer.rb +11 -0
  498. data/app/serializers/spree/api/v3/{stock_item_serializer.rb → stock_level_serializer.rb} +5 -5
  499. data/app/serializers/spree/api/v3/stock_location_serializer.rb +11 -7
  500. data/app/serializers/spree/api/v3/stock_movement_serializer.rb +8 -15
  501. data/app/serializers/spree/api/v3/stock_receipt_event_serializer.rb +11 -0
  502. data/app/serializers/spree/api/v3/stock_transfer_serializer.rb +6 -6
  503. data/app/serializers/spree/api/v3/store_credit_event_serializer.rb +29 -0
  504. data/app/serializers/spree/api/v3/supplier_event_serializer.rb +11 -0
  505. data/app/serializers/spree/api/v3/tax_identifier_serializer.rb +15 -0
  506. data/app/serializers/spree/api/v3/tax_line_serializer.rb +37 -0
  507. data/app/serializers/spree/api/v3/variant_serializer.rb +52 -2
  508. data/app/serializers/spree/api/v3/wishlist_item_serializer.rb +6 -6
  509. data/app/serializers/spree/api/v3/wishlist_serializer.rb +1 -1
  510. data/app/services/spree/api/v3/filters_aggregator.rb +14 -12
  511. data/app/services/spree/webhooks/deliver_webhook.rb +62 -26
  512. data/app/subscribers/spree/webhook_event_subscriber.rb +9 -5
  513. data/config/brakeman.ignore +1 -1
  514. data/config/initializers/typelizer.rb +51 -4
  515. data/config/locales/en.yml +5 -0
  516. data/config/routes.rb +730 -22
  517. data/lib/spree/api/configuration.rb +2 -7
  518. data/lib/spree/api/dependencies.rb +173 -227
  519. data/lib/spree/api/openapi/schema_helper.rb +179 -13
  520. data/lib/spree/api/testing_support/v3/base.rb +45 -15
  521. data/lib/spree/api.rb +10 -4
  522. data/lib/typelizer/open_enums.rb +35 -0
  523. metadata +341 -27
  524. data/app/controllers/spree/api/v3/admin/orders/adjustments_controller.rb +0 -25
  525. data/app/controllers/spree/api/v3/admin/stock_items_controller.rb +0 -42
  526. data/app/controllers/spree/api/v3/admin/store_credit_categories_controller.rb +0 -21
  527. data/app/controllers/spree/api/v3/store/digitals_controller.rb +0 -38
  528. data/app/serializers/spree/api/v3/admin/adjustment_serializer.rb +0 -24
  529. data/app/serializers/spree/api/v3/admin/dashboard_analytics_serializer.rb +0 -143
  530. data/app/serializers/spree/api/v3/admin/reimbursement_serializer.rb +0 -15
  531. data/app/serializers/spree/api/v3/admin/return_authorization_serializer.rb +0 -19
  532. data/app/serializers/spree/api/v3/admin/stock_item_serializer.rb +0 -34
  533. data/app/serializers/spree/api/v3/admin/store_credit_category_serializer.rb +0 -19
  534. data/app/serializers/spree/api/v3/customer_return_serializer.rb +0 -17
  535. data/app/serializers/spree/api/v3/digital_serializer.rb +0 -17
  536. data/app/serializers/spree/api/v3/reimbursement_serializer.rb +0 -27
  537. data/app/serializers/spree/api/v3/report_serializer.rb +0 -34
  538. data/app/serializers/spree/api/v3/return_authorization_serializer.rb +0 -31
  539. data/app/serializers/spree/api/v3/return_item_serializer.rb +0 -53
  540. data/app/serializers/spree/api/v3/shipping_category_serializer.rb +0 -11
@@ -3,19 +3,14 @@ require 'spree/core/preferences/runtime_configuration'
3
3
  module Spree
4
4
  module Api
5
5
  class Configuration < Spree::Preferences::RuntimeConfiguration
6
- preference :api_v2_serializers_cache_ttl, :integer, default: 3600 # 1 hour in seconds
7
- preference :api_v2_collection_cache_ttl, :integer, default: 3600 # 1 hour in seconds
8
- preference :api_v2_collection_cache_namespace, :string, default: 'api_v2_collection_cache'
9
- preference :api_v2_content_type, :string, default: 'application/vnd.api+json'
10
- preference :api_v2_per_page_limit, :integer, default: 500
11
-
12
6
  preference :jwt_expiration, :integer, default: 3600 # 1 hour in seconds (customer/store JWT default)
13
7
  preference :admin_jwt_expiration, :integer, default: 300 # 5 minutes — admin tokens have higher blast radius
14
8
  preference :jwt_secret_key, :string, default: nil
15
9
  preference :refresh_token_expiry, :integer, default: 2_592_000 # 30 days in seconds
16
10
 
17
11
  # Rate limiting
18
- preference :rate_limit_per_key, :integer, default: 300 # per publishable API key
12
+ preference :rate_limit_per_key, :integer, default: 300 # per publishable API key + client IP (per visitor)
13
+ preference :rate_limit_per_secret_key, :integer, default: 600 # per secret API key, across the whole API
19
14
  preference :rate_limit_window, :integer, default: 60 # window in seconds
20
15
  preference :rate_limit_login, :integer, default: 5 # per IP
21
16
  preference :rate_limit_register, :integer, default: 3 # per IP
@@ -4,104 +4,19 @@ module Spree
4
4
  module Api
5
5
  class ApiDependencies
6
6
  INJECTION_POINTS_WITH_DEFAULTS = {
7
- # Legacy API v2 dependencies - will be removed in Spree 6
8
- # cart services
9
- storefront_cart_create_service: -> { Spree::Dependencies.cart_create_service },
10
- storefront_cart_add_item_service: -> { Spree::Dependencies.cart_add_item_service },
11
- storefront_cart_compare_line_items_service: -> { Spree::Dependencies.cart_compare_line_items_service },
12
- storefront_cart_update_service: -> { Spree::Dependencies.cart_update_service },
13
- storefront_cart_remove_line_item_service: -> { Spree::Dependencies.cart_remove_line_item_service },
14
- storefront_cart_remove_item_service: -> { Spree::Dependencies.cart_remove_item_service },
15
- storefront_cart_set_item_quantity_service: -> { Spree::Dependencies.cart_set_item_quantity_service },
16
- storefront_cart_recalculate_service: -> { Spree::Dependencies.cart_recalculate_service },
17
- storefront_cart_estimate_shipping_rates_service: -> { Spree::Dependencies.cart_estimate_shipping_rates_service },
18
- storefront_cart_empty_service: -> { Spree::Dependencies.cart_empty_service },
19
- storefront_cart_destroy_service: -> { Spree::Dependencies.cart_destroy_service },
20
- storefront_cart_associate_service: -> { Spree::Dependencies.cart_associate_service },
21
- storefront_cart_change_currency_service: -> { Spree::Dependencies.cart_change_currency_service },
22
-
23
- # coupon code handler
24
- storefront_coupon_handler: -> { Spree::Dependencies.coupon_handler },
25
-
26
- # checkout services
27
- storefront_checkout_next_service: -> { Spree::Dependencies.checkout_next_service },
28
- storefront_checkout_advance_service: -> { Spree::Dependencies.checkout_advance_service },
29
- storefront_checkout_update_service: -> { Spree::Dependencies.checkout_update_service },
30
- storefront_checkout_complete_service: -> { Spree::Dependencies.checkout_complete_service },
31
- storefront_checkout_add_store_credit_service: -> { Spree::Dependencies.checkout_add_store_credit_service },
32
- storefront_checkout_remove_store_credit_service: -> { Spree::Dependencies.checkout_remove_store_credit_service },
33
- storefront_checkout_get_shipping_rates_service: -> { Spree::Dependencies.checkout_get_shipping_rates_service },
34
- storefront_checkout_select_shipping_method_service: -> { Spree::Dependencies.checkout_select_shipping_method_service },
35
-
36
- # gift cards
37
- storefront_gift_card_apply_service: -> { Spree::Dependencies.gift_card_apply_service },
38
- storefront_gift_card_remove_service: -> { Spree::Dependencies.gift_card_remove_service },
39
-
40
- # account services
41
- storefront_account_create_service: -> { Spree::Dependencies.account_create_service },
42
- storefront_account_update_service: -> { Spree::Dependencies.account_update_service },
43
-
44
- # address services
45
- storefront_address_create_service: -> { Spree::Dependencies.address_create_service },
46
- storefront_address_update_service: -> { Spree::Dependencies.address_update_service },
47
-
48
- # credit card services
49
- storefront_credit_cards_destroy_service: -> { Spree::Dependencies.credit_cards_destroy_service },
50
-
51
- # payment services
52
- storefront_payment_create_service: -> { Spree::Dependencies.payment_create_service },
53
-
54
- # serializers
55
- storefront_address_serializer: 'Spree::V2::Storefront::AddressSerializer',
56
- storefront_cart_serializer: 'Spree::V2::Storefront::CartSerializer',
57
- storefront_cms_page_serializer: nil, # LEGACY
58
- storefront_credit_card_serializer: 'Spree::V2::Storefront::CreditCardSerializer',
59
- storefront_country_serializer: 'Spree::V2::Storefront::CountrySerializer',
60
- storefront_menu_serializer: nil, # LEGACY
61
- storefront_user_serializer: 'Spree::V2::Storefront::UserSerializer',
62
- storefront_shipment_serializer: 'Spree::V2::Storefront::ShipmentSerializer',
63
- storefront_taxon_serializer: 'Spree::V2::Storefront::TaxonSerializer',
64
- storefront_payment_method_serializer: 'Spree::V2::Storefront::PaymentMethodSerializer',
65
- storefront_payment_serializer: 'Spree::V2::Storefront::PaymentSerializer',
66
- storefront_product_serializer: 'Spree::V2::Storefront::ProductSerializer',
67
- storefront_estimated_shipment_serializer: 'Spree::V2::Storefront::EstimatedShippingRateSerializer',
68
- storefront_store_serializer: 'Spree::V2::Storefront::StoreSerializer',
69
- storefront_policy_serializer: 'Spree::V2::Storefront::PolicySerializer',
70
- storefront_post_category_serializer: 'Spree::V2::Storefront::PostCategorySerializer',
71
- storefront_post_serializer: 'Spree::V2::Storefront::PostSerializer',
72
- storefront_order_serializer: 'Spree::V2::Storefront::OrderSerializer',
73
- storefront_variant_serializer: 'Spree::V2::Storefront::VariantSerializer',
74
- storefront_image_serializer: 'Spree::V2::Storefront::ImageSerializer',
75
- storefront_line_item_serializer: 'Spree::V2::Storefront::LineItemSerializer',
76
- storefront_option_type_serializer: 'Spree::V2::Storefront::OptionTypeSerializer',
77
- storefront_option_value_serializer: 'Spree::V2::Storefront::OptionValueSerializer',
78
- storefront_product_property_serializer: 'Spree::V2::Storefront::ProductPropertySerializer',
79
- storefront_order_promotion_serializer: 'Spree::V2::Storefront::OrderPromotionSerializer',
80
- storefront_shipping_method_serializer: 'Spree::V2::Storefront::ShippingMethodSerializer',
81
- storefront_shipping_rate_serializer: 'Spree::V2::Storefront::ShippingRateSerializer',
82
- storefront_stock_location_serializer: 'Spree::V2::Storefront::StockLocationSerializer',
83
- storefront_store_credit_category_serializer: 'Spree::V2::Storefront::StoreCreditCategorySerializer',
84
- storefront_store_credit_event_serializer: 'Spree::V2::Storefront::StoreCreditEventSerializer',
85
- storefront_store_credit_type_serializer: 'Spree::V2::Storefront::StoreCreditTypeSerializer',
86
- storefront_digital_link_serializer: 'Spree::V2::Storefront::DigitalLinkSerializer',
87
- storefront_gift_card_serializer: 'Spree::V2::Storefront::GiftCardSerializer',
88
- storefront_taxonomy_serializer: 'Spree::V2::Storefront::TaxonomySerializer',
89
- storefront_taxon_image_serializer: 'Spree::V2::Storefront::TaxonImageSerializer',
90
- storefront_wishlist_serializer: 'Spree::V2::Storefront::WishlistSerializer',
91
- storefront_wished_item_serializer: 'Spree::V2::Storefront::WishedItemSerializer',
92
- storefront_metafield_serializer: 'Spree::V2::Storefront::MetafieldSerializer',
93
-
94
7
  # v3 serializers (API v3)
95
8
  credit_card_serializer: 'Spree::Api::V3::CreditCardSerializer',
96
9
  price_serializer: 'Spree::Api::V3::PriceSerializer',
97
10
  price_history_serializer: 'Spree::Api::V3::PriceHistorySerializer',
98
11
  product_serializer: 'Spree::Api::V3::ProductSerializer',
12
+ product_type_serializer: 'Spree::Api::V3::ProductTypeSerializer',
99
13
  variant_serializer: 'Spree::Api::V3::VariantSerializer',
100
14
  media_serializer: 'Spree::Api::V3::MediaSerializer',
101
15
  option_type_serializer: 'Spree::Api::V3::OptionTypeSerializer',
102
16
  option_value_serializer: 'Spree::Api::V3::OptionValueSerializer',
103
17
  cart_serializer: 'Spree::Api::V3::CartSerializer',
104
18
  order_serializer: 'Spree::Api::V3::OrderSerializer',
19
+ order_group_serializer: 'Spree::Api::V3::OrderGroupSerializer',
105
20
  line_item_serializer: 'Spree::Api::V3::LineItemSerializer',
106
21
  payment_serializer: 'Spree::Api::V3::PaymentSerializer',
107
22
  payment_session_serializer: 'Spree::Api::V3::PaymentSessionSerializer',
@@ -110,8 +25,10 @@ module Spree
110
25
  store_credit_serializer: 'Spree::Api::V3::StoreCreditSerializer',
111
26
  shipment_serializer: 'Spree::Api::V3::FulfillmentSerializer',
112
27
  fulfillment_serializer: 'Spree::Api::V3::FulfillmentSerializer',
28
+ delivery_serializer: 'Spree::Api::V3::DeliverySerializer',
113
29
  address_serializer: 'Spree::Api::V3::AddressSerializer',
114
30
  customer_serializer: 'Spree::Api::V3::CustomerSerializer',
31
+ data_request_serializer: 'Spree::Api::V3::DataRequestSerializer',
115
32
  customer_group_serializer: 'Spree::Api::V3::CustomerGroupSerializer',
116
33
  country_serializer: 'Spree::Api::V3::CountrySerializer',
117
34
  channel_serializer: 'Spree::Api::V3::ChannelSerializer',
@@ -126,17 +43,24 @@ module Spree
126
43
  shipping_rate_serializer: 'Spree::Api::V3::DeliveryRateSerializer',
127
44
  delivery_method_serializer: 'Spree::Api::V3::DeliveryMethodSerializer',
128
45
  delivery_rate_serializer: 'Spree::Api::V3::DeliveryRateSerializer',
46
+ freight_summary_serializer: 'Spree::Api::V3::FreightSummarySerializer',
129
47
  stock_location_serializer: 'Spree::Api::V3::StockLocationSerializer',
130
48
  category_serializer: 'Spree::Api::V3::CategorySerializer',
49
+ collection_serializer: 'Spree::Api::V3::CollectionSerializer',
50
+ applied_promotion_serializer: 'Spree::Api::V3::AppliedPromotionSerializer',
131
51
  discount_serializer: 'Spree::Api::V3::DiscountSerializer',
52
+ tax_line_serializer: 'Spree::Api::V3::TaxLineSerializer',
53
+ delivery_zone_serializer: 'Spree::Api::V3::DeliveryZoneSerializer',
54
+ delivery_zone_member_serializer: 'Spree::Api::V3::DeliveryZoneMemberSerializer',
55
+ fee_serializer: 'Spree::Api::V3::FeeSerializer',
132
56
  digital_link_serializer: 'Spree::Api::V3::DigitalLinkSerializer',
133
57
  gift_card_serializer: 'Spree::Api::V3::GiftCardSerializer',
134
58
  currency_serializer: 'Spree::Api::V3::CurrencySerializer',
135
59
  locale_serializer: 'Spree::Api::V3::LocaleSerializer',
136
60
  policy_serializer: 'Spree::Api::V3::PolicySerializer',
137
61
  custom_field_serializer: 'Spree::Api::V3::CustomFieldSerializer',
138
- shipping_category_serializer: 'Spree::Api::V3::ShippingCategorySerializer',
139
62
  tax_category_serializer: 'Spree::Api::V3::TaxCategorySerializer',
63
+ tax_identifier_serializer: 'Spree::Api::V3::TaxIdentifierSerializer',
140
64
  product_filters_serializer: 'Spree::Api::V3::ProductFiltersSerializer',
141
65
  product_filter_price_range_serializer: 'Spree::Api::V3::ProductFilterPriceRangeSerializer',
142
66
  product_filter_availability_serializer: 'Spree::Api::V3::ProductFilterAvailabilitySerializer',
@@ -148,9 +72,16 @@ module Spree
148
72
  product_filter_sort_option_serializer: 'Spree::Api::V3::ProductFilterSortOptionSerializer',
149
73
 
150
74
  # v3 event serializers (for models without Store API endpoints yet)
151
- asset_serializer: 'Spree::Api::V3::AssetSerializer',
152
- customer_return_serializer: 'Spree::Api::V3::CustomerReturnSerializer',
153
- digital_serializer: 'Spree::Api::V3::DigitalSerializer',
75
+ media_event_serializer: 'Spree::Api::V3::MediaEventSerializer',
76
+ return_serializer: 'Spree::Api::V3::ReturnSerializer',
77
+ return_line_item_serializer: 'Spree::Api::V3::ReturnLineItemSerializer',
78
+ exchange_serializer: 'Spree::Api::V3::ExchangeSerializer',
79
+ exchange_line_item_serializer: 'Spree::Api::V3::ExchangeLineItemSerializer',
80
+ claim_serializer: 'Spree::Api::V3::ClaimSerializer',
81
+ claim_line_item_serializer: 'Spree::Api::V3::ClaimLineItemSerializer',
82
+ return_reason_serializer: 'Spree::Api::V3::ReturnReasonSerializer',
83
+ claim_reason_serializer: 'Spree::Api::V3::ClaimReasonSerializer',
84
+ digital_asset_serializer: 'Spree::Api::V3::DigitalAssetSerializer',
154
85
  export_serializer: 'Spree::Api::V3::ExportSerializer',
155
86
  gift_card_batch_serializer: 'Spree::Api::V3::GiftCardBatchSerializer',
156
87
  import_serializer: 'Spree::Api::V3::ImportSerializer',
@@ -159,11 +90,7 @@ module Spree
159
90
  newsletter_subscriber_serializer: 'Spree::Api::V3::NewsletterSubscriberSerializer',
160
91
  promotion_serializer: 'Spree::Api::V3::PromotionSerializer',
161
92
  refund_serializer: 'Spree::Api::V3::RefundSerializer',
162
- reimbursement_serializer: 'Spree::Api::V3::ReimbursementSerializer',
163
- report_serializer: 'Spree::Api::V3::ReportSerializer',
164
- return_authorization_serializer: 'Spree::Api::V3::ReturnAuthorizationSerializer',
165
- return_item_serializer: 'Spree::Api::V3::ReturnItemSerializer',
166
- stock_item_serializer: 'Spree::Api::V3::StockItemSerializer',
93
+ stock_level_serializer: 'Spree::Api::V3::StockLevelSerializer',
167
94
  stock_movement_serializer: 'Spree::Api::V3::StockMovementSerializer',
168
95
  stock_reservation_serializer: 'Spree::Api::V3::StockReservationSerializer',
169
96
  stock_transfer_serializer: 'Spree::Api::V3::StockTransferSerializer',
@@ -171,35 +98,145 @@ module Spree
171
98
  # v3 admin serializers (API v3 Admin)
172
99
  admin_country_serializer: 'Spree::Api::V3::Admin::CountrySerializer',
173
100
  admin_state_serializer: 'Spree::Api::V3::Admin::StateSerializer',
101
+ admin_applied_promotion_serializer: 'Spree::Api::V3::Admin::AppliedPromotionSerializer',
174
102
  admin_discount_serializer: 'Spree::Api::V3::Admin::DiscountSerializer',
103
+ admin_tax_line_serializer: 'Spree::Api::V3::Admin::TaxLineSerializer',
104
+ admin_cart_serializer: 'Spree::Api::V3::Admin::CartSerializer',
105
+ admin_delivery_zone_serializer: 'Spree::Api::V3::Admin::DeliveryZoneSerializer',
106
+ admin_delivery_profile_serializer: 'Spree::Api::V3::Admin::DeliveryProfileSerializer',
107
+ admin_delivery_origin_group_serializer: 'Spree::Api::V3::Admin::DeliveryOriginGroupSerializer',
108
+ admin_integration_serializer: 'Spree::Api::V3::Admin::IntegrationSerializer',
109
+ admin_delivery_method_rule_serializer: 'Spree::Api::V3::Admin::DeliveryMethodRuleSerializer',
110
+ admin_delivery_zone_member_serializer: 'Spree::Api::V3::Admin::DeliveryZoneMemberSerializer',
111
+ admin_fee_serializer: 'Spree::Api::V3::Admin::FeeSerializer',
112
+ admin_consent_record_serializer: 'Spree::Api::V3::Admin::ConsentRecordSerializer',
175
113
  admin_customer_serializer: 'Spree::Api::V3::Admin::CustomerSerializer',
114
+ admin_data_request_serializer: 'Spree::Api::V3::Admin::DataRequestSerializer',
176
115
  admin_newsletter_subscriber_serializer: 'Spree::Api::V3::Admin::NewsletterSubscriberSerializer',
177
116
  admin_order_serializer: 'Spree::Api::V3::Admin::OrderSerializer',
117
+ admin_order_group_serializer: 'Spree::Api::V3::Admin::OrderGroupSerializer',
178
118
  admin_product_serializer: 'Spree::Api::V3::Admin::ProductSerializer',
119
+ admin_product_type_serializer: 'Spree::Api::V3::Admin::ProductTypeSerializer',
120
+ admin_product_type_custom_field_definition_serializer: 'Spree::Api::V3::Admin::ProductTypeCustomFieldDefinitionSerializer',
179
121
  admin_variant_serializer: 'Spree::Api::V3::Admin::VariantSerializer',
180
122
  admin_price_serializer: 'Spree::Api::V3::Admin::PriceSerializer',
181
123
  admin_price_history_serializer: 'Spree::Api::V3::Admin::PriceHistorySerializer',
182
124
  admin_custom_field_serializer: 'Spree::Api::V3::Admin::CustomFieldSerializer',
183
125
  admin_custom_field_definition_serializer: 'Spree::Api::V3::Admin::CustomFieldDefinitionSerializer',
184
126
  admin_category_serializer: 'Spree::Api::V3::Admin::CategorySerializer',
127
+ admin_collection_serializer: 'Spree::Api::V3::Admin::CollectionSerializer',
128
+ admin_collection_rule_serializer: 'Spree::Api::V3::Admin::CollectionRuleSerializer',
185
129
  admin_line_item_serializer: 'Spree::Api::V3::Admin::LineItemSerializer',
186
130
  admin_option_type_serializer: 'Spree::Api::V3::Admin::OptionTypeSerializer',
187
131
  admin_option_value_serializer: 'Spree::Api::V3::Admin::OptionValueSerializer',
188
132
  admin_media_serializer: 'Spree::Api::V3::Admin::MediaSerializer',
189
- admin_stock_item_serializer: 'Spree::Api::V3::Admin::StockItemSerializer',
133
+ admin_stock_level_serializer: 'Spree::Api::V3::Admin::StockLevelSerializer',
134
+ admin_stock_movement_serializer: 'Spree::Api::V3::Admin::StockMovementSerializer',
190
135
  admin_stock_transfer_serializer: 'Spree::Api::V3::Admin::StockTransferSerializer',
136
+ admin_stock_transfer_item_serializer: 'Spree::Api::V3::Admin::StockTransferItemSerializer',
137
+ admin_supplier_serializer: 'Spree::Api::V3::Admin::SupplierSerializer',
138
+ admin_purchase_order_serializer: 'Spree::Api::V3::Admin::PurchaseOrderSerializer',
139
+ admin_purchase_order_item_serializer: 'Spree::Api::V3::Admin::PurchaseOrderItemSerializer',
140
+ admin_stock_receipt_serializer: 'Spree::Api::V3::Admin::StockReceiptSerializer',
141
+ admin_stock_receipt_item_serializer: 'Spree::Api::V3::Admin::StockReceiptItemSerializer',
191
142
  admin_shipment_serializer: 'Spree::Api::V3::Admin::FulfillmentSerializer',
192
143
  admin_fulfillment_serializer: 'Spree::Api::V3::Admin::FulfillmentSerializer',
144
+ admin_fulfillment_item_serializer: 'Spree::Api::V3::Admin::FulfillmentItemSerializer',
145
+ admin_delivery_serializer: 'Spree::Api::V3::Admin::DeliverySerializer',
146
+ admin_shipping_label_serializer: 'Spree::Api::V3::Admin::ShippingLabelSerializer',
193
147
  admin_gift_card_serializer: 'Spree::Api::V3::Admin::GiftCardSerializer',
194
148
  admin_gift_card_batch_serializer: 'Spree::Api::V3::Admin::GiftCardBatchSerializer',
195
149
  admin_payment_serializer: 'Spree::Api::V3::Admin::PaymentSerializer',
196
150
  admin_refund_serializer: 'Spree::Api::V3::Admin::RefundSerializer',
197
- admin_adjustment_serializer: 'Spree::Api::V3::Admin::AdjustmentSerializer',
198
- admin_shipping_category_serializer: 'Spree::Api::V3::Admin::ShippingCategorySerializer',
151
+ admin_return_reason_serializer: 'Spree::Api::V3::Admin::ReturnReasonSerializer',
152
+ admin_claim_reason_serializer: 'Spree::Api::V3::Admin::ClaimReasonSerializer',
153
+ admin_refund_reason_serializer: 'Spree::Api::V3::Admin::RefundReasonSerializer',
154
+ admin_order_cancellation_reason_serializer: 'Spree::Api::V3::Admin::OrderCancellationReasonSerializer',
155
+ admin_return_serializer: 'Spree::Api::V3::Admin::ReturnSerializer',
156
+ admin_return_line_item_serializer: 'Spree::Api::V3::Admin::ReturnLineItemSerializer',
157
+ admin_exchange_serializer: 'Spree::Api::V3::Admin::ExchangeSerializer',
158
+ admin_exchange_line_item_serializer: 'Spree::Api::V3::Admin::ExchangeLineItemSerializer',
159
+ admin_claim_serializer: 'Spree::Api::V3::Admin::ClaimSerializer',
160
+ admin_claim_line_item_serializer: 'Spree::Api::V3::Admin::ClaimLineItemSerializer',
161
+ admin_package_type_serializer: 'Spree::Api::V3::Admin::PackageTypeSerializer',
162
+ admin_policy_serializer: 'Spree::Api::V3::Admin::PolicySerializer',
199
163
  admin_tax_category_serializer: 'Spree::Api::V3::Admin::TaxCategorySerializer',
200
- admin_return_authorization_serializer: 'Spree::Api::V3::Admin::ReturnAuthorizationSerializer',
201
- admin_reimbursement_serializer: 'Spree::Api::V3::Admin::ReimbursementSerializer',
164
+ admin_tax_rate_serializer: 'Spree::Api::V3::Admin::TaxRateSerializer',
165
+ admin_tax_identifier_serializer: 'Spree::Api::V3::Admin::TaxIdentifierSerializer',
166
+
167
+ company_serializer: 'Spree::Api::V3::CompanySerializer',
168
+ company_membership_serializer: 'Spree::Api::V3::CompanyMembershipSerializer',
169
+ company_invitation_serializer: 'Spree::Api::V3::CompanyInvitationSerializer',
170
+ admin_company_serializer: 'Spree::Api::V3::Admin::CompanySerializer',
171
+ admin_company_membership_serializer: 'Spree::Api::V3::Admin::CompanyMembershipSerializer',
172
+ admin_company_invitation_serializer: 'Spree::Api::V3::Admin::CompanyInvitationSerializer',
173
+ admin_catalog_serializer: 'Spree::Api::V3::Admin::CatalogSerializer',
174
+ admin_catalog_price_serializer: 'Spree::Api::V3::Admin::CatalogPriceSerializer',
175
+ admin_catalog_price_tier_serializer: 'Spree::Api::V3::Admin::CatalogPriceTierSerializer',
176
+ admin_catalog_product_serializer: 'Spree::Api::V3::Admin::CatalogProductSerializer',
177
+ admin_price_list_product_serializer: 'Spree::Api::V3::Admin::PriceListProductSerializer',
178
+ admin_catalog_assignment_serializer: 'Spree::Api::V3::Admin::CatalogAssignmentSerializer',
179
+ admin_catalog_quantity_rule_serializer: 'Spree::Api::V3::Admin::CatalogQuantityRuleSerializer',
180
+ admin_catalog_product_term_serializer: 'Spree::Api::V3::Admin::CatalogProductTermSerializer',
181
+ admin_catalog_order_minimum_serializer: 'Spree::Api::V3::Admin::CatalogOrderMinimumSerializer',
182
+ admin_tax_exemption_certificate_serializer: 'Spree::Api::V3::Admin::TaxExemptionCertificateSerializer',
202
183
  admin_admin_user_serializer: 'Spree::Api::V3::Admin::AdminUserSerializer',
184
+ admin_seller_team_member_serializer: 'Spree::Api::V3::Admin::SellerTeamMemberSerializer',
185
+ seller_serializer: 'Spree::Api::V3::SellerSerializer',
186
+ seller_profile_serializer: 'Spree::Api::V3::Seller::ProfileSerializer',
187
+ seller_policy_serializer: 'Spree::Api::V3::Seller::PolicySerializer',
188
+ seller_team_member_serializer: 'Spree::Api::V3::Seller::TeamMemberSerializer',
189
+ seller_invitation_serializer: 'Spree::Api::V3::Seller::InvitationSerializer',
190
+ seller_product_serializer: 'Spree::Api::V3::Seller::ProductSerializer',
191
+ seller_product_type_serializer: 'Spree::Api::V3::Seller::ProductTypeSerializer',
192
+ seller_delivery_profile_serializer: 'Spree::Api::V3::Seller::DeliveryProfileSerializer',
193
+ seller_delivery_method_serializer: 'Spree::Api::V3::Seller::DeliveryMethodSerializer',
194
+ seller_delivery_method_rule_serializer: 'Spree::Api::V3::Seller::DeliveryMethodRuleSerializer',
195
+ seller_delivery_zone_serializer: 'Spree::Api::V3::Seller::DeliveryZoneSerializer',
196
+ seller_variant_serializer: 'Spree::Api::V3::Seller::VariantSerializer',
197
+ seller_media_serializer: 'Spree::Api::V3::Seller::MediaSerializer',
198
+ seller_stock_level_serializer: 'Spree::Api::V3::Seller::StockLevelSerializer',
199
+ seller_order_serializer: 'Spree::Api::V3::Seller::OrderSerializer',
200
+ seller_order_line_item_serializer: 'Spree::Api::V3::Seller::OrderLineItemSerializer',
201
+ seller_fulfillment_serializer: 'Spree::Api::V3::Seller::FulfillmentSerializer',
202
+ seller_fulfillment_item_serializer: 'Spree::Api::V3::Seller::FulfillmentItemSerializer',
203
+ seller_delivery_serializer: 'Spree::Api::V3::Seller::DeliverySerializer',
204
+ seller_delivery_rate_serializer: 'Spree::Api::V3::Seller::DeliveryRateSerializer',
205
+ seller_shipping_label_serializer: 'Spree::Api::V3::Seller::ShippingLabelSerializer',
206
+ seller_return_serializer: 'Spree::Api::V3::Seller::ReturnSerializer',
207
+ seller_return_line_item_serializer: 'Spree::Api::V3::Seller::ReturnLineItemSerializer',
208
+ seller_exchange_serializer: 'Spree::Api::V3::Seller::ExchangeSerializer',
209
+ seller_exchange_line_item_serializer: 'Spree::Api::V3::Seller::ExchangeLineItemSerializer',
210
+ seller_claim_serializer: 'Spree::Api::V3::Seller::ClaimSerializer',
211
+ seller_claim_line_item_serializer: 'Spree::Api::V3::Seller::ClaimLineItemSerializer',
212
+ seller_reason_serializer: 'Spree::Api::V3::Seller::ReasonSerializer',
213
+ seller_package_type_serializer: 'Spree::Api::V3::Seller::PackageTypeSerializer',
214
+ seller_stock_location_serializer: 'Spree::Api::V3::Seller::StockLocationSerializer',
215
+ seller_requirement_custom_field_serializer: 'Spree::Api::V3::Seller::RequirementCustomFieldSerializer',
216
+ seller_tax_identifier_serializer: 'Spree::Api::V3::Seller::TaxIdentifierSerializer',
217
+ seller_requirement_status_serializer: 'Spree::Api::V3::Seller::RequirementStatusSerializer',
218
+ seller_import_serializer: 'Spree::Api::V3::Seller::ImportSerializer',
219
+ seller_import_row_serializer: 'Spree::Api::V3::Seller::ImportRowSerializer',
220
+ seller_import_mapping_serializer: 'Spree::Api::V3::Seller::ImportMappingSerializer',
221
+ product_submission_serializer: 'Spree::Api::V3::Seller::ProductSubmissionSerializer',
222
+ admin_product_submission_serializer: 'Spree::Api::V3::Admin::ProductSubmissionSerializer',
223
+ seller_requirement_submission_serializer: 'Spree::Api::V3::Seller::RequirementSubmissionSerializer',
224
+ seller_export_serializer: 'Spree::Api::V3::Seller::ExportSerializer',
225
+ admin_seller_serializer: 'Spree::Api::V3::Admin::SellerSerializer',
226
+ admin_seller_requirement_serializer: 'Spree::Api::V3::Admin::SellerRequirementSerializer',
227
+ admin_seller_requirement_submission_serializer: 'Spree::Api::V3::Admin::SellerRequirementSubmissionSerializer',
228
+ admin_seller_requirement_status_serializer: 'Spree::Api::V3::Admin::SellerRequirementStatusSerializer',
229
+ admin_commission_rate_serializer: 'Spree::Api::V3::Admin::CommissionRateSerializer',
230
+ admin_commission_rule_serializer: 'Spree::Api::V3::Admin::CommissionRuleSerializer',
231
+ admin_commission_line_serializer: 'Spree::Api::V3::Admin::CommissionLineSerializer',
232
+ admin_seller_transfer_serializer: 'Spree::Api::V3::Admin::SellerTransferSerializer',
233
+ admin_seller_payout_serializer: 'Spree::Api::V3::Admin::SellerPayoutSerializer',
234
+ admin_seller_balance_serializer: 'Spree::Api::V3::Admin::SellerBalanceSerializer',
235
+ admin_payment_split_serializer: 'Spree::Api::V3::Admin::PaymentSplitSerializer',
236
+ seller_transfer_serializer: 'Spree::Api::V3::Seller::TransferSerializer',
237
+ seller_payout_serializer: 'Spree::Api::V3::Seller::PayoutSerializer',
238
+ seller_balance_serializer: 'Spree::Api::V3::Seller::BalanceSerializer',
239
+ seller_payment_split_serializer: 'Spree::Api::V3::Seller::PaymentSplitSerializer',
203
240
  admin_address_serializer: 'Spree::Api::V3::Admin::AddressSerializer',
204
241
  admin_channel_serializer: 'Spree::Api::V3::Admin::ChannelSerializer',
205
242
  admin_order_routing_rule_serializer: 'Spree::Api::V3::Admin::OrderRoutingRuleSerializer',
@@ -207,16 +244,20 @@ module Spree
207
244
  admin_market_serializer: 'Spree::Api::V3::Admin::MarketSerializer',
208
245
  admin_shipping_method_serializer: 'Spree::Api::V3::Admin::DeliveryMethodSerializer',
209
246
  admin_delivery_method_serializer: 'Spree::Api::V3::Admin::DeliveryMethodSerializer',
247
+ admin_delivery_method_service_serializer: 'Spree::Api::V3::Admin::DeliveryMethodServiceSerializer',
210
248
  admin_stock_location_serializer: 'Spree::Api::V3::Admin::StockLocationSerializer',
211
249
  admin_stock_reservation_serializer: 'Spree::Api::V3::Admin::StockReservationSerializer',
212
250
  admin_shipping_rate_serializer: 'Spree::Api::V3::Admin::DeliveryRateSerializer',
213
251
  admin_delivery_rate_serializer: 'Spree::Api::V3::Admin::DeliveryRateSerializer',
252
+ admin_freight_summary_serializer: 'Spree::Api::V3::Admin::FreightSummarySerializer',
253
+ admin_freight_summary_line_serializer: 'Spree::Api::V3::Admin::FreightSummaryLineSerializer',
214
254
  admin_payment_method_serializer: 'Spree::Api::V3::Admin::PaymentMethodSerializer',
215
255
  admin_credit_card_serializer: 'Spree::Api::V3::Admin::CreditCardSerializer',
216
256
  admin_store_credit_serializer: 'Spree::Api::V3::Admin::StoreCreditSerializer',
217
- admin_store_credit_category_serializer: 'Spree::Api::V3::Admin::StoreCreditCategorySerializer',
257
+ admin_store_credit_event_serializer: 'Spree::Api::V3::Admin::StoreCreditEventSerializer',
218
258
  admin_customer_group_serializer: 'Spree::Api::V3::Admin::CustomerGroupSerializer',
219
259
  admin_payment_source_serializer: 'Spree::Api::V3::Admin::PaymentSourceSerializer',
260
+ admin_digital_asset_serializer: 'Spree::Api::V3::Admin::DigitalAssetSerializer',
220
261
  admin_digital_link_serializer: 'Spree::Api::V3::Admin::DigitalLinkSerializer',
221
262
  admin_store_serializer: 'Spree::Api::V3::Admin::StoreSerializer',
222
263
  admin_setup_task_serializer: 'Spree::Api::V3::Admin::SetupTaskSerializer',
@@ -226,7 +267,9 @@ module Spree
226
267
  admin_webhook_delivery_serializer: 'Spree::Api::V3::Admin::WebhookDeliverySerializer',
227
268
  admin_invitation_serializer: 'Spree::Api::V3::Admin::InvitationSerializer',
228
269
  admin_role_serializer: 'Spree::Api::V3::Admin::RoleSerializer',
270
+ admin_permission_serializer: 'Spree::Api::V3::Admin::PermissionSerializer',
229
271
  admin_export_serializer: 'Spree::Api::V3::Admin::ExportSerializer',
272
+ admin_saved_report_serializer: 'Spree::Api::V3::Admin::SavedReportSerializer',
230
273
  admin_import_serializer: 'Spree::Api::V3::Admin::ImportSerializer',
231
274
  admin_import_row_serializer: 'Spree::Api::V3::Admin::ImportRowSerializer',
232
275
  admin_import_mapping_serializer: 'Spree::Api::V3::Admin::ImportMappingSerializer',
@@ -234,139 +277,42 @@ module Spree
234
277
  admin_promotion_action_serializer: 'Spree::Api::V3::Admin::PromotionActionSerializer',
235
278
  admin_promotion_rule_serializer: 'Spree::Api::V3::Admin::PromotionRuleSerializer',
236
279
  admin_coupon_code_serializer: 'Spree::Api::V3::Admin::CouponCodeSerializer',
280
+ admin_price_adjustment_tier_serializer: 'Spree::Api::V3::Admin::PriceAdjustmentTierSerializer',
237
281
  admin_price_list_serializer: 'Spree::Api::V3::Admin::PriceListSerializer',
238
282
  admin_price_rule_serializer: 'Spree::Api::V3::Admin::PriceRuleSerializer',
239
283
  admin_resource_translations_serializer: 'Spree::Api::V3::Admin::ResourceTranslationsSerializer',
284
+ }
240
285
 
241
- # platform serializers
242
- platform_metafield_serializer: 'Spree::Api::V2::Platform::MetafieldSerializer',
243
-
244
- # sorters
245
- storefront_collection_sorter: -> { Spree::Dependencies.collection_sorter },
246
- storefront_order_sorter: -> { Spree::Dependencies.collection_sorter },
247
- storefront_posts_sorter: nil,
248
- storefront_products_sorter: -> { Spree::Dependencies.products_sorter },
249
- platform_products_sorter: -> { Spree::Dependencies.products_sorter },
250
- # paginators
251
- storefront_collection_paginator: 'Spree::Api::Paginate',
252
-
253
- # finders
254
- storefront_address_finder: -> { Spree::Dependencies.address_finder },
255
- storefront_country_finder: -> { Spree::Dependencies.country_finder },
256
- storefront_cms_page_finder: -> { Spree::Dependencies.cms_page_finder },
257
- storefront_menu_finder: -> { Spree::Dependencies.menu_finder },
258
- storefront_current_order_finder: -> { Spree::Dependencies.current_order_finder },
259
- storefront_completed_order_finder: -> { Spree::Dependencies.completed_order_finder },
260
- storefront_credit_card_finder: -> { Spree::Dependencies.credit_card_finder },
261
- storefront_find_by_variant_finder: -> { Spree::Dependencies.line_item_by_variant_finder },
262
- storefront_posts_finder: nil,
263
- storefront_products_finder: -> { Spree::Dependencies.products_finder },
264
- storefront_taxon_finder: -> { Spree::Dependencies.taxon_finder },
265
- storefront_variant_finder: -> { Spree::Dependencies.variant_finder },
266
-
267
- # serializers
268
- platform_address_serializer: 'Spree::Api::V2::Platform::AddressSerializer',
269
- platform_adjustment_serializer: 'Spree::Api::V2::Platform::AdjustmentSerializer',
270
- platform_admin_user_serializer: 'Spree::Api::V2::Platform::AdminUserSerializer',
271
- platform_asset_serializer: 'Spree::Api::V2::Platform::AssetSerializer',
272
- platform_calculator_serializer: 'Spree::Api::V2::Platform::CalculatorSerializer',
273
- platform_classification_serializer: 'Spree::Api::V2::Platform::ClassificationSerializer',
274
- platform_country_serializer: 'Spree::Api::V2::Platform::CountrySerializer',
275
- platform_credit_card_serializer: 'Spree::Api::V2::Platform::CreditCardSerializer',
276
- platform_customer_return_serializer: 'Spree::Api::V2::Platform::CustomerReturnSerializer',
277
- platform_digital_link_serializer: 'Spree::Api::V2::Platform::DigitalLinkSerializer',
278
- platform_digital_serializer: 'Spree::Api::V2::Platform::DigitalSerializer',
279
- platform_gift_card_serializer: 'Spree::Api::V2::Platform::GiftCardSerializer',
280
- platform_image_serializer: 'Spree::Api::V2::Platform::ImageSerializer',
281
- platform_inventory_unit_serializer: 'Spree::Api::V2::Platform::InventoryUnitSerializer',
282
- platform_line_item_serializer: 'Spree::Api::V2::Platform::LineItemSerializer',
283
- platform_log_entry_serializer: 'Spree::Api::V2::Platform::LogEntrySerializer',
284
- platform_option_type_serializer: 'Spree::Api::V2::Platform::OptionTypeSerializer',
285
- platform_option_value_serializer: 'Spree::Api::V2::Platform::OptionValueSerializer',
286
- platform_order_promotion_serializer: 'Spree::Api::V2::Platform::OrderPromotionSerializer',
287
- platform_order_serializer: 'Spree::Api::V2::Platform::OrderSerializer',
288
- platform_payment_capture_event_serializer: 'Spree::Api::V2::Platform::PaymentCaptureEventSerializer',
289
- platform_payment_method_serializer: 'Spree::Api::V2::Platform::PaymentMethodSerializer',
290
- platform_payment_serializer: 'Spree::Api::V2::Platform::PaymentSerializer',
291
- platform_payment_source_serializer: 'Spree::Api::V2::Platform::PaymentSourceSerializer',
292
- platform_price_serializer: 'Spree::Api::V2::Platform::PriceSerializer',
293
- platform_product_property_serializer: 'Spree::Api::V2::Platform::ProductPropertySerializer',
294
- platform_product_serializer: 'Spree::Api::V2::Platform::ProductSerializer',
295
- platform_promotion_action_line_item_serializer: 'Spree::Api::V2::Platform::PromotionActionLineItemSerializer',
296
- platform_promotion_action_serializer: 'Spree::Api::V2::Platform::PromotionActionSerializer',
297
- platform_promotion_category_serializer: 'Spree::Api::V2::Platform::PromotionCategorySerializer',
298
- platform_promotion_rule_serializer: 'Spree::Api::V2::Platform::PromotionRuleSerializer',
299
- platform_property_serializer: 'Spree::Api::V2::Platform::PropertySerializer',
300
- platform_promotion_serializer: 'Spree::Api::V2::Platform::PromotionSerializer',
301
- platform_prototype_serializer: 'Spree::Api::V2::Platform::PrototypeSerializer',
302
- platform_refund_reason_serializer: 'Spree::Api::V2::Platform::RefundReasonSerializer',
303
- platform_refund_serializer: 'Spree::Api::V2::Platform::RefundSerializer',
304
- platform_reimbursement_credit_serializer: 'Spree::Api::V2::Platform::ReimbursementCreditSerializer',
305
- platform_reimbursement_serializer: 'Spree::Api::V2::Platform::ReimbursementSerializer',
306
- platform_reimbursement_type_serializer: 'Spree::Api::V2::Platform::ReimbursementTypeSerializer',
307
- platform_return_authorization_reason_serializer: 'Spree::Api::V2::Platform::ReturnAuthorizationReasonSerializer',
308
- platform_return_authorization_serializer: 'Spree::Api::V2::Platform::ReturnAuthorizationSerializer',
309
- platform_return_item_serializer: 'Spree::Api::V2::Platform::ReturnItemSerializer',
310
- platform_role_serializer: 'Spree::Api::V2::Platform::RoleSerializer',
311
- platform_shipment_serializer: 'Spree::Api::V2::Platform::ShipmentSerializer',
312
- platform_shipping_category_serializer: 'Spree::Api::V2::Platform::ShippingCategorySerializer',
313
- platform_shipping_method_serializer: 'Spree::Api::V2::Platform::ShippingMethodSerializer',
314
- platform_shipping_rate_serializer: 'Spree::Api::V2::Platform::ShippingRateSerializer',
315
- platform_state_change_serializer: 'Spree::Api::V2::Platform::StateChangeSerializer',
316
- platform_state_serializer: 'Spree::Api::V2::Platform::StateSerializer',
317
- platform_stock_item_serializer: 'Spree::Api::V2::Platform::StockItemSerializer',
318
- platform_stock_location_serializer: 'Spree::Api::V2::Platform::StockLocationSerializer',
319
- platform_stock_movement_serializer: 'Spree::Api::V2::Platform::StockMovementSerializer',
320
- platform_stock_transfer_serializer: 'Spree::Api::V2::Platform::StockTransferSerializer',
321
- platform_store_credit_category_serializer: 'Spree::Api::V2::Platform::StoreCreditCategorySerializer',
322
- platform_store_credit_event_serializer: 'Spree::Api::V2::Platform::StoreCreditEventSerializer',
323
- platform_store_credit_serializer: 'Spree::Api::V2::Platform::StoreCreditSerializer',
324
- platform_store_credit_type_serializer: 'Spree::Api::V2::Platform::StoreCreditTypeSerializer',
325
- platform_store_serializer: 'Spree::Api::V2::Platform::StoreSerializer',
326
- platform_tax_category_serializer: 'Spree::Api::V2::Platform::TaxCategorySerializer',
327
- platform_tax_rate_serializer: 'Spree::Api::V2::Platform::TaxRateSerializer',
328
- platform_taxon_image_serializer: 'Spree::Api::V2::Platform::TaxonImageSerializer',
329
- platform_taxon_serializer: 'Spree::Api::V2::Platform::TaxonSerializer',
330
- platform_taxonomy_serializer: 'Spree::Api::V2::Platform::TaxonomySerializer',
331
- platform_user_serializer: 'Spree::Api::V2::Platform::UserSerializer',
332
- platform_variant_serializer: 'Spree::Api::V2::Platform::VariantSerializer',
333
- platform_webhooks_event_serializer: 'Spree::Api::V2::Platform::Webhooks::EventSerializer',
334
- platform_webhooks_subscriber_serializer: 'Spree::Api::V2::Platform::Webhooks::SubscriberSerializer',
335
- platform_wished_item_serializer: 'Spree::Api::V2::Platform::WishedItemSerializer',
336
- platform_wishlist_serializer: 'Spree::Api::V2::Platform::WishlistSerializer',
337
- platform_zone_member_serializer: 'Spree::Api::V2::Platform::ZoneMemberSerializer',
338
- platform_zone_serializer: 'Spree::Api::V2::Platform::ZoneSerializer',
339
-
340
- # coupon code handler
341
- platform_coupon_handler: -> { Spree::Dependencies.coupon_handler },
286
+ include Spree::DependenciesHelper
342
287
 
343
- # order services
344
- platform_order_recalculate_service: -> { Spree::Dependencies.cart_recalculate_service },
345
- platform_order_update_service: -> { Spree::Dependencies.checkout_update_service },
346
- platform_order_empty_service: -> { Spree::Dependencies.cart_empty_service },
347
- platform_order_destroy_service: -> { Spree::Dependencies.cart_destroy_service },
348
- platform_order_next_service: -> { Spree::Dependencies.checkout_next_service },
349
- platform_order_advance_service: -> { Spree::Dependencies.checkout_advance_service },
350
- platform_order_complete_service: -> { Spree::Dependencies.checkout_complete_service },
351
- platform_order_use_store_credit_service: -> { Spree::Dependencies.checkout_add_store_credit_service },
352
- platform_order_remove_store_credit_service: -> { Spree::Dependencies.checkout_remove_store_credit_service },
353
- platform_order_approve_service: -> { Spree::Dependencies.order_approve_service },
354
- platform_order_cancel_service: -> { Spree::Dependencies.order_cancel_service },
288
+ # Pre-6.0 names for the StockItem → StockLevel serializers. Unlike the
289
+ # legacy workflow keys in core, these forward instead of stashing: a
290
+ # serializer renders the same model under a new class name, so an
291
+ # override written against the old key is still the class the host app
292
+ # wants used. Removed in 6.1.
293
+ LEGACY_SERIALIZER_KEYS = {
294
+ stock_item_serializer: :stock_level_serializer,
295
+ admin_stock_item_serializer: :admin_stock_level_serializer,
296
+ digital_serializer: :digital_asset_serializer,
297
+ admin_digital_serializer: :admin_digital_asset_serializer
298
+ }.freeze
355
299
 
356
- # line item services
357
- platform_line_item_create_service: -> { Spree::Dependencies.line_item_create_service },
358
- platform_line_item_update_service: -> { Spree::Dependencies.line_item_update_service },
359
- platform_line_item_destroy_service: -> { Spree::Dependencies.line_item_destroy_service },
300
+ LEGACY_SERIALIZER_KEYS.each do |legacy, current|
301
+ define_method("#{legacy}=") do |value|
302
+ Spree::Deprecation.warn("Spree.api.#{legacy}= is deprecated and will be removed in Spree 6.1. Use #{current}= instead.")
303
+ send("#{current}=", value)
304
+ end
360
305
 
361
- # shipment services
362
- platform_shipment_create_service: -> { Spree::Dependencies.shipment_create_service },
363
- platform_shipment_update_service: -> { Spree::Dependencies.shipment_update_service },
364
- platform_shipment_change_state_service: -> { Spree::Dependencies.shipment_change_state_service },
365
- platform_shipment_add_item_service: -> { Spree::Dependencies.shipment_add_item_service },
366
- platform_shipment_remove_item_service: -> { Spree::Dependencies.shipment_remove_item_service },
367
- }
306
+ define_method(legacy) do
307
+ Spree::Deprecation.warn("Spree.api.#{legacy} is deprecated and will be removed in Spree 6.1. Use #{current} instead.")
308
+ send(current)
309
+ end
368
310
 
369
- include Spree::DependenciesHelper
311
+ define_method("#{legacy}_class") do
312
+ Spree::Deprecation.warn("Spree.api.#{legacy}_class is deprecated and will be removed in Spree 6.1. Use #{current}_class instead.")
313
+ send("#{current}_class")
314
+ end
315
+ end
370
316
  end
371
317
  end
372
318
  end