spree_api 6.0.0.beta3 → 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 +8 -12
  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
@@ -21,24 +21,12 @@ module Spree
21
21
 
22
22
  attributes :memo
23
23
 
24
- attribute :stock_location_id do |return_record|
25
- return_record.stock_location&.prefixed_id
26
- end
27
-
28
- attribute :refunded_total do |return_record|
29
- return_record.refunded_total.to_s
30
- end
24
+ prefixed_id_attributes :stock_location
31
25
 
26
+ attributes refunded_total: :string
32
27
  # What the refund dialog opens on — never more than this may be
33
28
  # given back, whatever amount is typed.
34
- attribute :refundable_total do |return_record|
35
- return_record.refundable_total.to_s
36
- end
37
-
38
- attribute :display_refunded_total do |return_record|
39
- return_record.display_refunded_total.to_s
40
- end
41
-
29
+ attributes refundable_total: :string, display_refunded_total: :string
42
30
  many :return_line_items,
43
31
  resource: proc { Spree.api.seller_return_line_item_serializer },
44
32
  if: proc { expand?('return_line_items') }
@@ -12,7 +12,7 @@ module Spree
12
12
  typelize kind: :string,
13
13
  status: :string,
14
14
  currency: :string,
15
- provider: :string,
15
+ provider: [:string, comment: 'Payout provider. Built-in: system. Provider gems register more (e.g. stripe).'],
16
16
  amount: :string,
17
17
  settled_amount: 'string | null',
18
18
  settled_currency: 'string | null',
@@ -24,7 +24,7 @@ module Spree
24
24
  payout_id: 'string | null',
25
25
  reversed_from_id: 'string | null'
26
26
 
27
- attributes :kind, :status, :currency, :provider, :reference,
27
+ attributes :kind, :status, :currency, :reference,
28
28
  created_at: :iso8601, updated_at: :iso8601
29
29
 
30
30
  # A string, so the figure a seller is paid round-trips exactly.
@@ -42,6 +42,8 @@ module Spree
42
42
  end
43
43
 
44
44
  attribute(:order_number) { |transfer| transfer.order&.number }
45
+
46
+ api_type_attributes :provider
45
47
  end
46
48
  end
47
49
  end
@@ -21,9 +21,7 @@ module Spree
21
21
  Spree::RichTextHelper.to_plain_text(seller.about)
22
22
  end
23
23
 
24
- attribute :about_html do |seller|
25
- seller.about_html
26
- end
24
+ attributes :about_html
27
25
 
28
26
  attribute :logo_url do |seller|
29
27
  image_url_for(seller.logo)
@@ -1,10 +1,28 @@
1
1
  module Spree
2
2
  module Api
3
3
  module V3
4
- # Payload of the shipping_label.* events. Labels have no storefront
5
- # serializer — a customer never sees one — so the event shape is
6
- # declared here rather than found by convention.
7
- class ShippingLabelEventSerializer < Admin::ShippingLabelSerializer
4
+ # Payload of the shipping_label.* events: the tracking a customer is
5
+ # also shown. What the carrier charged, the provider's ids and the file
6
+ # stay behind the Admin API.
7
+ class ShippingLabelEventSerializer < BaseSerializer
8
+ typelize owner_id: :string,
9
+ owner_type: [:string, enum: %w[fulfillment return]],
10
+ status: [:string, enum: Spree::ShippingLabel.statuses, enum_type_name: 'ShippingLabelStatus'],
11
+ carrier: [:string, nullable: true],
12
+ service: [:string, nullable: true],
13
+ tracking_number: [:string, nullable: true],
14
+ refunded_at: [:string, nullable: true]
15
+
16
+ attributes :status, :carrier, :service, :tracking_number,
17
+ refunded_at: :iso8601, created_at: :iso8601, updated_at: :iso8601
18
+
19
+ attribute :owner_id do |shipping_label|
20
+ shipping_label.owner&.prefixed_id
21
+ end
22
+
23
+ attribute :owner_type do |shipping_label|
24
+ Spree::Base.polymorphic_api_type(shipping_label.owner_type)
25
+ end
8
26
  end
9
27
  end
10
28
  end
@@ -9,13 +9,7 @@ module Spree
9
9
 
10
10
  attributes :count_on_hand, :backorderable
11
11
 
12
- attribute :stock_location_id do |stock_level|
13
- stock_level.stock_location&.prefixed_id
14
- end
15
-
16
- attribute :variant_id do |stock_level|
17
- stock_level.variant&.prefixed_id
18
- end
12
+ prefixed_id_attributes :stock_location, :variant
19
13
  end
20
14
  end
21
15
  end
@@ -13,9 +13,7 @@ module Spree
13
13
  attributes :quantity, :kind, :reason,
14
14
  created_at: :iso8601, updated_at: :iso8601
15
15
 
16
- attribute :stock_level_id do |movement|
17
- movement.stock_level&.prefixed_id
18
- end
16
+ prefixed_id_attributes :stock_level
19
17
  end
20
18
  end
21
19
  end
@@ -1,10 +1,26 @@
1
1
  module Spree
2
2
  module Api
3
3
  module V3
4
- # Payload of the stock_receipt.* events. Stock receipts have no
5
- # storefront serializer, so the event shape is declared here rather than
6
- # found by convention.
7
- class StockReceiptEventSerializer < Admin::StockReceiptSerializer
4
+ # Payload of the stock_receipt.* events. The counted lines and who
5
+ # received them stay behind the Admin API.
6
+ class StockReceiptEventSerializer < BaseSerializer
7
+ typelize number: :string,
8
+ received_at: :string,
9
+ receivable_type: [:string, enum: %w[purchase_order stock_transfer]],
10
+ receivable_id: :string,
11
+ quantity_accepted_total: :number,
12
+ quantity_rejected_total: :number
13
+
14
+ attributes :number, :quantity_accepted_total, :quantity_rejected_total,
15
+ received_at: :iso8601, created_at: :iso8601, updated_at: :iso8601
16
+
17
+ attribute :receivable_type do |receipt|
18
+ receipt.receivable_type.demodulize.underscore
19
+ end
20
+
21
+ attribute :receivable_id do |receipt|
22
+ receipt.receivable&.prefixed_id
23
+ end
8
24
  end
9
25
  end
10
26
  end
@@ -15,13 +15,7 @@ module Spree
15
15
  attributes :number, :reference,
16
16
  created_at: :iso8601, updated_at: :iso8601
17
17
 
18
- attribute :source_location_id do |transfer|
19
- transfer.source_location&.prefixed_id
20
- end
21
-
22
- attribute :destination_location_id do |transfer|
23
- transfer.destination_location&.prefixed_id
24
- end
18
+ prefixed_id_attributes :source_location, :destination_location
25
19
  end
26
20
  end
27
21
  end
@@ -10,18 +10,9 @@ module Spree
10
10
 
11
11
  attributes :action, :authorization_code
12
12
 
13
- attribute :display_action do |event|
14
- event.display_action
15
- end
16
-
17
- attribute :amount do |event|
18
- event.amount.to_s
19
- end
20
-
21
- attribute :display_amount do |event|
22
- event.display_amount.to_s
23
- end
13
+ attributes :display_action
24
14
 
15
+ attributes amount: :string, display_amount: :string
25
16
  attributes created_at: :iso8601
26
17
  end
27
18
  end
@@ -6,30 +6,8 @@ module Spree
6
6
  display_amount: :string, display_amount_used: :string, display_amount_remaining: :string,
7
7
  currency: :string
8
8
 
9
- attribute :amount do |store_credit|
10
- store_credit.amount.to_s
11
- end
12
-
13
- attribute :amount_used do |store_credit|
14
- store_credit.amount_used.to_s
15
- end
16
-
17
- attribute :amount_remaining do |store_credit|
18
- store_credit.amount_remaining.to_s
19
- end
20
-
21
- attribute :display_amount do |store_credit|
22
- store_credit.display_amount.to_s
23
- end
24
-
25
- attribute :display_amount_used do |store_credit|
26
- store_credit.display_amount_used.to_s
27
- end
28
-
29
- attribute :display_amount_remaining do |store_credit|
30
- store_credit.display_amount_remaining.to_s
31
- end
32
-
9
+ attributes amount: :string, amount_used: :string, amount_remaining: :string, display_amount: :string,
10
+ display_amount_used: :string, display_amount_remaining: :string
33
11
  attributes :currency
34
12
  end
35
13
  end
@@ -1,10 +1,12 @@
1
1
  module Spree
2
2
  module Api
3
3
  module V3
4
- # Payload of the supplier.* events. Suppliers have no storefront
5
- # serializer — a customer never sees who the merchant buys from — so the
6
- # event shape is declared here rather than found by convention.
7
- class SupplierEventSerializer < Admin::SupplierSerializer
4
+ # Payload of the supplier.* events. A supplier's contact details stay
5
+ # behind the Admin API.
6
+ class SupplierEventSerializer < BaseSerializer
7
+ typelize name: :string
8
+
9
+ attributes :name, created_at: :iso8601, updated_at: :iso8601
8
10
  end
9
11
  end
10
12
  end
@@ -1,34 +1,24 @@
1
1
  module Spree
2
2
  module Api
3
3
  module V3
4
- # A single tax charge (typed row) on a line item, fulfillment or fee.
4
+ # A single tax charge (typed row) on a line item, fulfillment or fee —
5
+ # or, after the sale, the tax a return, claim or exchange line gives
6
+ # back (`credit`) or charges on an exchange's replacement.
5
7
  class TaxLineSerializer < BaseSerializer
6
- typelize label: :string, rate: :string, included: :boolean,
7
- amount: [:string, nullable: true], display_amount: [:string, nullable: true],
8
+ typelize label: :string, rate: :string, included: :boolean, credit: :boolean,
8
9
  tax_rate_id: [:string, nullable: true], line_item_id: [:string, nullable: true],
9
- fulfillment_id: [:string, nullable: true], fee_id: [:string, nullable: true]
10
+ fulfillment_id: [:string, nullable: true], fee_id: [:string, nullable: true],
11
+ return_line_item_id: [:string, nullable: true], claim_line_item_id: [:string, nullable: true],
12
+ exchange_line_item_id: [:string, nullable: true]
10
13
 
11
- attributes :label, :included
14
+ attributes :label, :included, :credit
12
15
 
13
16
  attribute :rate do |record|
14
17
  record.rate&.to_s
15
18
  end
16
19
 
17
- attribute :tax_rate_id do |record|
18
- record.tax_rate&.prefixed_id
19
- end
20
-
21
- attribute :line_item_id do |record|
22
- record.line_item&.prefixed_id
23
- end
24
-
25
- attribute :fulfillment_id do |record|
26
- record.fulfillment&.prefixed_id
27
- end
28
-
29
- attribute :fee_id do |record|
30
- record.fee&.prefixed_id
31
- end
20
+ prefixed_id_attributes :tax_rate, :line_item, :fulfillment, :fee, :return_line_item, :claim_line_item,
21
+ :exchange_line_item
32
22
 
33
23
  money_attributes :amount, :display_amount
34
24
  end
@@ -17,9 +17,7 @@ module Spree
17
17
  purchase_unit: [:string, enum: Spree::Variant::PURCHASE_UNITS], units_per_carton: ['number | null'],
18
18
  seller_id: [:string, nullable: true]
19
19
 
20
- attribute :product_id do |variant|
21
- variant.product&.prefixed_id
22
- end
20
+ prefixed_id_attributes :product
23
21
 
24
22
  attributes :sku, :options_text, :track_inventory, :media_count
25
23
 
@@ -34,21 +32,13 @@ module Spree
34
32
  image_url_for(variant.primary_media)
35
33
  end
36
34
 
37
- attribute :purchasable do |variant|
38
- variant.purchasable?
39
- end
35
+ attribute :purchasable, &:purchasable?
40
36
 
41
- attribute :in_stock do |variant|
42
- variant.in_stock?
43
- end
37
+ attribute :in_stock, &:in_stock?
44
38
 
45
- attribute :backorderable do |variant|
46
- variant.backorderable?
47
- end
39
+ attribute :backorderable, &:backorderable?
48
40
 
49
- attribute :preorder do |variant|
50
- variant.preorder?
51
- end
41
+ attribute :preorder, &:preorder?
52
42
 
53
43
  attribute :weight do |variant|
54
44
  variant.weight&.to_f
@@ -93,9 +83,7 @@ module Spree
93
83
  variant.purchase_unit.presence || 'unit'
94
84
  end
95
85
 
96
- attribute :units_per_carton do |variant|
97
- variant.units_per_carton
98
- end
86
+ attributes :units_per_carton
99
87
 
100
88
  # Price object - calculated price with price list resolution
101
89
  attribute :price do |variant|
@@ -119,9 +107,7 @@ module Spree
119
107
  # listing) or the row itself (a master shared by several sellers). Nil
120
108
  # is first-party. Shoppers comparing offers on one page group by this,
121
109
  # so it is a plain attribute rather than an expand.
122
- attribute :seller_id do |variant|
123
- variant.resolved_seller&.prefixed_id
124
- end
110
+ prefixed_id_attributes seller_id: :resolved_seller
125
111
 
126
112
  one :seller,
127
113
  resource: proc { Spree.api.seller_serializer },
@@ -5,17 +5,7 @@ module Spree
5
5
  typelize variant_id: :string, wishlist_id: :string, quantity: :number,
6
6
  product_id: :string
7
7
 
8
- attribute :variant_id do |wishlist_item|
9
- wishlist_item.variant&.prefixed_id
10
- end
11
-
12
- attribute :product_id do |wishlist_item|
13
- wishlist_item.product&.prefixed_id
14
- end
15
-
16
- attribute :wishlist_id do |wishlist_item|
17
- wishlist_item.wishlist&.prefixed_id
18
- end
8
+ prefixed_id_attributes :variant, :product, :wishlist
19
9
 
20
10
  attributes :quantity
21
11
 
@@ -6,13 +6,9 @@ module Spree
6
6
 
7
7
  attributes :name, :token
8
8
 
9
- attribute :is_default do |wishlist|
10
- wishlist.is_default?
11
- end
9
+ attribute :is_default, &:is_default?
12
10
 
13
- attribute :is_private do |wishlist|
14
- wishlist.is_private?
15
- end
11
+ attribute :is_private, &:is_private?
16
12
 
17
13
  many :wishlist_items,
18
14
  key: :items,
@@ -17,19 +17,12 @@ module Spree
17
17
  class WebhookEventSubscriber < Spree::Subscriber
18
18
  subscribes_to '*'
19
19
 
20
- # Admin and seller auth events carry live credentials (password reset
21
- # tokens) and have no legitimate external consumer — core delivers those
22
- # emails itself. Never forward them to webhook endpoints, including '*'
23
- # subscriptions.
24
- NON_DELIVERABLE_EVENTS = %w[
25
- admin_user.password_reset_requested
26
- seller_user.password_reset_requested
27
- ].freeze
28
-
29
20
  def handle(event)
30
21
  return unless Spree::Api::Config.webhooks_enabled
31
22
  return if event.store_id.blank?
32
- return if NON_DELIVERABLE_EVENTS.include?(event.name)
23
+ # Events declared `webhook: false` (staff and seller password reset
24
+ # requests) never leave Spree, whatever an endpoint subscribes to.
25
+ return unless Spree::Events.catalog.webhook?(event.name)
33
26
 
34
27
  # Only load the columns we need for matching and delivery
35
28
  endpoints = Spree::WebhookEndpoint
@@ -5,4 +5,4 @@
5
5
  Pagy::OPTIONS[:limit] = 25
6
6
 
7
7
  # Maximum number of items per page
8
- Pagy::OPTIONS[:max_limit] = 100
8
+ Pagy::OPTIONS[:client_limit] = 100
@@ -15,18 +15,16 @@ Rails.application.config.after_initialize do
15
15
  config.plugin_configs = {
16
16
  alba: {
17
17
  ts_mapper: Typelizer::SerializerPlugins::Alba::ALBA_TS_MAPPER.merge(
18
- 'iso8601' => { type: :string }
18
+ 'iso8601' => { type: :string },
19
+ 'string' => { type: :string }
19
20
  )
20
21
  }
21
22
  }
22
23
 
23
- # Serializers that exist only for Admin API or events — no Store API controller
24
+ # Serializers that exist only for the Admin API. Event serializers stay in:
25
+ # they describe the `data` of the typed webhook events the Store SDK ships.
24
26
  store_excluded = %w[
25
- Asset CartPromotion OrderPromotion
26
- StockLevel StockMovement StockTransfer
27
- Report Export Import ImportRow
28
- TaxCategory Exchange ExchangeLineItem
29
- SupplierEvent PurchaseOrderEvent StockReceiptEvent
27
+ Asset CartPromotion OrderPromotion Report TaxCategory
30
28
  ].to_set
31
29
 
32
30
  # Store SDK — no prefix, package provides namespace
@@ -34,7 +32,7 @@ Rails.application.config.after_initialize do
34
32
  c.output_dir = api_root.join('../../packages/sdk/src/types/generated')
35
33
  c.reject_class = ->(serializer:) {
36
34
  name = serializer.name.to_s
37
- name.include?('::Admin::') || name.include?('::Seller::') ||
35
+ !name.start_with?('Spree::Api::V3::') || name.include?('::Admin::') || name.include?('::Seller::') ||
38
36
  store_excluded.include?(name.sub(/\ASpree::Api::V3::/, '').sub(/Serializer\z/, ''))
39
37
  }
40
38
  c.serializer_name_mapper = ->(serializer) {
@@ -0,0 +1,15 @@
1
+ ---
2
+ ar:
3
+ spree:
4
+ api:
5
+ cannot_delete: لا يمكن حذف %{model}
6
+ current_password_invalid: كلمة المرور الحالية غير صحيحة أو مفقودة
7
+ newsletter_verification_token_invalid: رمز التحقق من النشرة الإخبارية غير صالح أو انتهت صلاحيته.
8
+ password_reset_requested: إذا كان هناك حساب مرتبط بهذا البريد الإلكتروني، فقد تم إرسال تعليمات إعادة تعيين كلمة المرور.
9
+ password_reset_token_invalid: رمز إعادة تعيين كلمة المرور غير صالح أو انتهت صلاحيته.
10
+ record_not_found: "%{model} غير موجود"
11
+ unauthorized: أنت غير مخوّل لتنفيذ هذا الإجراء.
12
+ v3:
13
+ payments:
14
+ method_unavailable: طريقة الدفع هذه غير متاحة لهذا الطلب.
15
+ session_required: تتطلب طريقة الدفع هذه جلسة دفع. استخدم نقطة نهاية جلسات الدفع بدلًا من ذلك.
@@ -0,0 +1,15 @@
1
+ ---
2
+ be:
3
+ spree:
4
+ api:
5
+ cannot_delete: "%{model} немагчыма выдаліць"
6
+ current_password_invalid: Бягучы пароль няправільны або адсутнічае
7
+ newsletter_verification_token_invalid: Токен пацверджання рассылкі няправільны або яго тэрмін дзеяння скончыўся.
8
+ password_reset_requested: Калі для гэтай электроннай пошты існуе ўліковы запіс, інструкцыі па скіду пароля былі адпраўлены.
9
+ password_reset_token_invalid: Токен скіду пароля няправільны або яго тэрмін дзеяння скончыўся.
10
+ record_not_found: "%{model} не знойдзена"
11
+ unauthorized: Вы не маеце дазволу на выкананне гэтага дзеяння.
12
+ v3:
13
+ payments:
14
+ method_unavailable: Гэты спосаб аплаты недаступны для гэтага заказу.
15
+ session_required: Гэты спосаб аплаты патрабуе плацёжнай сесіі. Замест гэтага скарыстайцеся канчатковым пунктам плацёжных сесій.
@@ -0,0 +1,15 @@
1
+ ---
2
+ bg:
3
+ spree:
4
+ api:
5
+ cannot_delete: "%{model} не може да бъде изтрит"
6
+ current_password_invalid: Текущата парола е невалидна или липсва
7
+ newsletter_verification_token_invalid: Токенът за потвърждение на бюлетина е невалиден или е изтекъл.
8
+ password_reset_requested: Ако съществува акаунт за този имейл, бяха изпратени инструкции за нулиране на паролата.
9
+ password_reset_token_invalid: Токенът за нулиране на паролата е невалиден или е изтекъл.
10
+ record_not_found: "%{model} не е намерен"
11
+ unauthorized: Нямате право да извършвате това действие.
12
+ v3:
13
+ payments:
14
+ method_unavailable: Този начин на плащане не е наличен за тази поръчка.
15
+ session_required: Този начин на плащане изисква платежна сесия. Вместо това използвайте крайната точка за платежни сесии.
@@ -0,0 +1,15 @@
1
+ ---
2
+ ca:
3
+ spree:
4
+ api:
5
+ cannot_delete: No es pot eliminar %{model}
6
+ current_password_invalid: La contrasenya actual no és vàlida o falta
7
+ newsletter_verification_token_invalid: El token de verificació del butlletí no és vàlid o ha caducat.
8
+ password_reset_requested: Si existeix un compte per a aquest correu electrònic, s'han enviat les instruccions per restablir la contrasenya.
9
+ password_reset_token_invalid: El token de restabliment de contrasenya no és vàlid o ha caducat.
10
+ record_not_found: No s'ha trobat %{model}
11
+ unauthorized: No teniu autorització per dur a terme aquesta acció.
12
+ v3:
13
+ payments:
14
+ method_unavailable: Aquest mètode de pagament no està disponible per a aquesta comanda.
15
+ session_required: Aquest mètode de pagament requereix una sessió de pagament. Utilitzeu el punt de connexió de sessions de pagament.
@@ -0,0 +1,15 @@
1
+ ---
2
+ cs:
3
+ spree:
4
+ api:
5
+ cannot_delete: "%{model} nelze odstranit"
6
+ current_password_invalid: Aktuální heslo je neplatné nebo chybí
7
+ newsletter_verification_token_invalid: Ověřovací token newsletteru je neplatný nebo vypršela jeho platnost.
8
+ password_reset_requested: Pokud pro tento e-mail existuje účet, byly odeslány pokyny k obnovení hesla.
9
+ password_reset_token_invalid: Token pro obnovení hesla je neplatný nebo vypršela jeho platnost.
10
+ record_not_found: "%{model} nebyl nalezen"
11
+ unauthorized: Nemáte oprávnění provést tuto akci.
12
+ v3:
13
+ payments:
14
+ method_unavailable: Tato platební metoda není pro tuto objednávku dostupná.
15
+ session_required: Tato platební metoda vyžaduje platební relaci. Použijte prosím endpoint platebních relací.
@@ -0,0 +1,15 @@
1
+ ---
2
+ da:
3
+ spree:
4
+ api:
5
+ cannot_delete: "%{model} kan ikke slettes"
6
+ current_password_invalid: Den nuværende adgangskode er ugyldig eller mangler
7
+ newsletter_verification_token_invalid: Bekræftelsestokenet for nyhedsbrevet er ugyldigt eller er udløbet.
8
+ password_reset_requested: Hvis der findes en konto for den e-mail, er instruktioner til nulstilling af adgangskode blevet sendt.
9
+ password_reset_token_invalid: Tokenet til nulstilling af adgangskode er ugyldigt eller er udløbet.
10
+ record_not_found: "%{model} blev ikke fundet"
11
+ unauthorized: Du har ikke tilladelse til at udføre denne handling.
12
+ v3:
13
+ payments:
14
+ method_unavailable: Denne betalingsmetode er ikke tilgængelig for denne ordre.
15
+ session_required: Denne betalingsmetode kræver en betalingssession. Brug i stedet endepunktet for betalingssessioner.
@@ -0,0 +1,11 @@
1
+ ---
2
+ de-CH:
3
+ spree:
4
+ api:
5
+ newsletter_verification_token_invalid: Der Newsletter-Bestätigungstoken ist ungültig oder abgelaufen.
6
+ password_reset_requested: Falls für diese E-Mail-Adresse ein Konto besteht, wurden Anweisungen zum Zurücksetzen des Passworts versendet.
7
+ password_reset_token_invalid: Der Token zum Zurücksetzen des Passworts ist ungültig oder abgelaufen.
8
+ v3:
9
+ payments:
10
+ method_unavailable: Diese Zahlungsart ist für diese Bestellung nicht verfügbar.
11
+ session_required: Diese Zahlungsart erfordert eine Zahlungssitzung. Verwenden Sie stattdessen den Endpunkt für Zahlungssitzungen.
@@ -0,0 +1,15 @@
1
+ ---
2
+ de:
3
+ spree:
4
+ api:
5
+ cannot_delete: "%{model} kann nicht gelöscht werden"
6
+ current_password_invalid: Aktuelles Passwort ist ungültig oder fehlt
7
+ newsletter_verification_token_invalid: Das Newsletter-Bestätigungstoken ist ungültig oder abgelaufen.
8
+ password_reset_requested: Falls ein Konto für diese E-Mail-Adresse besteht, wurden Anweisungen zum Zurücksetzen des Passworts versendet.
9
+ password_reset_token_invalid: Das Token zum Zurücksetzen des Passworts ist ungültig oder abgelaufen.
10
+ record_not_found: "%{model} nicht gefunden"
11
+ unauthorized: Sie sind nicht berechtigt, diese Aktion auszuführen.
12
+ v3:
13
+ payments:
14
+ method_unavailable: Diese Zahlungsmethode ist für diese Bestellung nicht verfügbar.
15
+ session_required: Diese Zahlungsmethode erfordert eine Zahlungssitzung. Verwenden Sie stattdessen den Endpunkt für Zahlungssitzungen.
@@ -0,0 +1,15 @@
1
+ ---
2
+ el:
3
+ spree:
4
+ api:
5
+ cannot_delete: Δεν είναι δυνατή η διαγραφή του %{model}
6
+ current_password_invalid: Ο τρέχων κωδικός πρόσβασης είναι μη έγκυρος ή λείπει
7
+ newsletter_verification_token_invalid: Το token επαλήθευσης ενημερωτικού δελτίου είναι μη έγκυρο ή έχει λήξει.
8
+ password_reset_requested: Αν υπάρχει λογαριασμός για αυτό το email, έχουν σταλεί οδηγίες επαναφοράς κωδικού πρόσβασης.
9
+ password_reset_token_invalid: Το token επαναφοράς κωδικού πρόσβασης είναι μη έγκυρο ή έχει λήξει.
10
+ record_not_found: Δεν βρέθηκε %{model}
11
+ unauthorized: Δεν έχετε εξουσιοδότηση να εκτελέσετε αυτή την ενέργεια.
12
+ v3:
13
+ payments:
14
+ method_unavailable: Αυτή η μέθοδος πληρωμής δεν είναι διαθέσιμη για αυτή την παραγγελία.
15
+ session_required: Αυτή η μέθοδος πληρωμής απαιτεί μια συνεδρία πληρωμής. Χρησιμοποιήστε αντ' αυτού το σημείο πρόσβασης συνεδριών πληρωμής.