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.
- checksums.yaml +4 -4
- data/Rakefile +4 -31
- data/app/controllers/concerns/spree/api/v3/admin/email_template_lookup.rb +139 -0
- data/app/controllers/concerns/spree/api/v3/admin/store_context.rb +1 -1
- data/app/controllers/concerns/spree/api/v3/admin/subclassed_resource.rb +1 -1
- data/app/controllers/concerns/spree/api/v3/cart_resolvable.rb +7 -0
- data/app/controllers/concerns/spree/api/v3/channel_resolution.rb +2 -2
- data/app/controllers/concerns/spree/api/v3/current_password_confirmation.rb +1 -1
- data/app/controllers/concerns/spree/api/v3/error_handler.rb +7 -2
- data/app/controllers/concerns/spree/api/v3/http_caching.rb +44 -11
- data/app/controllers/concerns/spree/api/v3/idempotent.rb +20 -5
- data/app/controllers/concerns/spree/api/v3/items_payload.rb +1 -1
- data/app/controllers/concerns/spree/api/v3/order_lock.rb +2 -2
- data/app/controllers/concerns/spree/api/v3/orders/delivery_actions.rb +1 -5
- data/app/controllers/concerns/spree/api/v3/orders/fulfillment_actions.rb +2 -10
- data/app/controllers/concerns/spree/api/v3/orders/post_sale_actions.rb +2 -10
- data/app/controllers/concerns/spree/api/v3/orders/shipping_label_actions.rb +4 -8
- data/app/controllers/concerns/spree/api/v3/permission_serialization.rb +9 -1
- data/app/controllers/concerns/spree/api/v3/seller/seller_context.rb +1 -1
- data/app/controllers/concerns/spree/api/v3/store/storefront_products.rb +5 -4
- data/app/controllers/concerns/spree/api/v3/storefront_gating.rb +11 -5
- data/app/controllers/spree/api/v3/admin/admin_users_controller.rb +0 -5
- data/app/controllers/spree/api/v3/admin/api_keys_controller.rb +1 -1
- data/app/controllers/spree/api/v3/admin/catalogs/order_minimums_controller.rb +0 -6
- data/app/controllers/spree/api/v3/admin/catalogs/quantity_rules_controller.rb +0 -4
- data/app/controllers/spree/api/v3/admin/catalogs_controller.rb +1 -1
- data/app/controllers/spree/api/v3/admin/channels_controller.rb +0 -4
- data/app/controllers/spree/api/v3/admin/collections/products_controller.rb +1 -2
- data/app/controllers/spree/api/v3/admin/commission_rates_controller.rb +2 -2
- data/app/controllers/spree/api/v3/admin/companies/addresses_controller.rb +0 -4
- data/app/controllers/spree/api/v3/admin/companies/invitations_controller.rb +1 -5
- data/app/controllers/spree/api/v3/admin/companies/memberships_controller.rb +0 -4
- data/app/controllers/spree/api/v3/admin/companies/tax_exemption_certificates_controller.rb +1 -9
- data/app/controllers/spree/api/v3/admin/companies/tax_identifiers_controller.rb +0 -4
- data/app/controllers/spree/api/v3/admin/companies_controller.rb +0 -4
- data/app/controllers/spree/api/v3/admin/countries_controller.rb +1 -1
- data/app/controllers/spree/api/v3/admin/coupon_codes_controller.rb +0 -4
- data/app/controllers/spree/api/v3/admin/custom_field_definitions_controller.rb +9 -1
- data/app/controllers/spree/api/v3/admin/custom_fields_controller.rb +0 -4
- data/app/controllers/spree/api/v3/admin/customer_groups_controller.rb +0 -4
- data/app/controllers/spree/api/v3/admin/customers/addresses_controller.rb +0 -4
- data/app/controllers/spree/api/v3/admin/customers/credit_cards_controller.rb +0 -4
- data/app/controllers/spree/api/v3/admin/customers/store_credits_controller.rb +0 -4
- data/app/controllers/spree/api/v3/admin/customers_controller.rb +2 -2
- data/app/controllers/spree/api/v3/admin/delivery_methods/rules_controller.rb +1 -1
- data/app/controllers/spree/api/v3/admin/delivery_methods_controller.rb +3 -5
- data/app/controllers/spree/api/v3/admin/delivery_profiles_controller.rb +1 -6
- data/app/controllers/spree/api/v3/admin/email_templates/drafts_controller.rb +40 -0
- data/app/controllers/spree/api/v3/admin/email_templates/previews_controller.rb +30 -0
- data/app/controllers/spree/api/v3/admin/email_templates/publications_controller.rb +30 -0
- data/app/controllers/spree/api/v3/admin/email_templates/restorations_controller.rb +34 -0
- data/app/controllers/spree/api/v3/admin/email_templates/revisions_controller.rb +35 -0
- data/app/controllers/spree/api/v3/admin/email_templates/sample_records_controller.rb +33 -0
- data/app/controllers/spree/api/v3/admin/email_templates/test_emails_controller.rb +40 -0
- data/app/controllers/spree/api/v3/admin/email_templates_controller.rb +46 -0
- data/app/controllers/spree/api/v3/admin/imports_controller.rb +1 -2
- data/app/controllers/spree/api/v3/admin/invitations_controller.rb +0 -7
- data/app/controllers/spree/api/v3/admin/me_controller.rb +1 -1
- data/app/controllers/spree/api/v3/admin/media_library_controller.rb +5 -5
- data/app/controllers/spree/api/v3/admin/order_routing_rules_controller.rb +0 -4
- data/app/controllers/spree/api/v3/admin/orders/deliveries_controller.rb +1 -5
- data/app/controllers/spree/api/v3/admin/orders/discount_codes_controller.rb +1 -1
- data/app/controllers/spree/api/v3/admin/orders/discounts_controller.rb +1 -1
- data/app/controllers/spree/api/v3/admin/orders/fulfillments_controller.rb +18 -16
- data/app/controllers/spree/api/v3/admin/orders/gift_cards_controller.rb +3 -3
- data/app/controllers/spree/api/v3/admin/orders/labels_controller.rb +2 -10
- data/app/controllers/spree/api/v3/admin/orders/payments_controller.rb +2 -14
- data/app/controllers/spree/api/v3/admin/orders/refunds_controller.rb +1 -5
- data/app/controllers/spree/api/v3/admin/orders_controller.rb +3 -3
- data/app/controllers/spree/api/v3/admin/password_resets_controller.rb +9 -7
- data/app/controllers/spree/api/v3/admin/price_lists_controller.rb +6 -53
- data/app/controllers/spree/api/v3/admin/prices_controller.rb +0 -4
- data/app/controllers/spree/api/v3/admin/products/digital_assets_controller.rb +2 -6
- data/app/controllers/spree/api/v3/admin/products/variants_controller.rb +0 -4
- data/app/controllers/spree/api/v3/admin/products_controller.rb +1 -1
- data/app/controllers/spree/api/v3/admin/promotion_actions_controller.rb +0 -4
- data/app/controllers/spree/api/v3/admin/promotion_rules_controller.rb +0 -4
- data/app/controllers/spree/api/v3/admin/purchase_orders_controller.rb +1 -1
- data/app/controllers/spree/api/v3/admin/resource_controller.rb +1 -1
- data/app/controllers/spree/api/v3/admin/seller_payouts_controller.rb +1 -9
- data/app/controllers/spree/api/v3/admin/seller_requirement_submissions_controller.rb +2 -10
- data/app/controllers/spree/api/v3/admin/seller_transfers_controller.rb +0 -4
- data/app/controllers/spree/api/v3/admin/sellers/invitations_controller.rb +1 -1
- data/app/controllers/spree/api/v3/admin/sellers/payouts_controller.rb +1 -1
- data/app/controllers/spree/api/v3/admin/sellers_controller.rb +2 -10
- data/app/controllers/spree/api/v3/admin/setup_controller.rb +8 -12
- data/app/controllers/spree/api/v3/admin/stock_transfers_controller.rb +1 -1
- data/app/controllers/spree/api/v3/admin/store_controller.rb +6 -1
- data/app/controllers/spree/api/v3/admin/tags_controller.rb +8 -5
- data/app/controllers/spree/api/v3/admin/webhook_endpoints_controller.rb +17 -12
- data/app/controllers/spree/api/v3/admin/webhook_events_controller.rb +25 -0
- data/app/controllers/spree/api/v3/base_controller.rb +10 -0
- data/app/controllers/spree/api/v3/resource_controller.rb +44 -1
- data/app/controllers/spree/api/v3/seller/auth_controller.rb +2 -2
- data/app/controllers/spree/api/v3/seller/countries_controller.rb +1 -1
- data/app/controllers/spree/api/v3/seller/exports_controller.rb +3 -3
- data/app/controllers/spree/api/v3/seller/invitation_acceptances_controller.rb +3 -3
- data/app/controllers/spree/api/v3/seller/invitations_controller.rb +1 -1
- data/app/controllers/spree/api/v3/seller/me_controller.rb +1 -1
- data/app/controllers/spree/api/v3/seller/orders/labels_controller.rb +1 -1
- data/app/controllers/spree/api/v3/seller/password_resets_controller.rb +10 -11
- data/app/controllers/spree/api/v3/seller/products_controller.rb +2 -1
- data/app/controllers/spree/api/v3/seller/requirement_submissions_controller.rb +1 -1
- data/app/controllers/spree/api/v3/seller/team_controller.rb +1 -1
- data/app/controllers/spree/api/v3/store/carts/discount_codes_controller.rb +1 -1
- data/app/controllers/spree/api/v3/store/carts/fulfillments_controller.rb +3 -11
- data/app/controllers/spree/api/v3/store/carts/gift_cards_controller.rb +5 -3
- data/app/controllers/spree/api/v3/store/carts/items_controller.rb +6 -2
- data/app/controllers/spree/api/v3/store/carts/payment_sessions_controller.rb +1 -1
- data/app/controllers/spree/api/v3/store/carts/payments_controller.rb +5 -3
- data/app/controllers/spree/api/v3/store/carts/po_documents_controller.rb +2 -2
- data/app/controllers/spree/api/v3/store/carts/store_credits_controller.rb +2 -0
- data/app/controllers/spree/api/v3/store/carts_controller.rb +9 -6
- data/app/controllers/spree/api/v3/store/companies/addresses_controller.rb +0 -4
- data/app/controllers/spree/api/v3/store/companies/invitations_controller.rb +1 -5
- data/app/controllers/spree/api/v3/store/company_invitations_controller.rb +1 -1
- data/app/controllers/spree/api/v3/store/customer/addresses_controller.rb +0 -4
- data/app/controllers/spree/api/v3/store/customer/credit_cards_controller.rb +0 -4
- data/app/controllers/spree/api/v3/store/customer/data_requests_controller.rb +0 -5
- data/app/controllers/spree/api/v3/store/customer/digital_links_controller.rb +0 -4
- data/app/controllers/spree/api/v3/store/customer/gift_cards_controller.rb +0 -4
- data/app/controllers/spree/api/v3/store/customer/orders_controller.rb +0 -4
- data/app/controllers/spree/api/v3/store/customer/password_resets_controller.rb +8 -6
- data/app/controllers/spree/api/v3/store/customer/payment_setup_sessions_controller.rb +0 -4
- data/app/controllers/spree/api/v3/store/customer/store_credits_controller.rb +0 -5
- data/app/controllers/spree/api/v3/store/data_request_downloads_controller.rb +1 -1
- data/app/controllers/spree/api/v3/store/delivery_methods_controller.rb +1 -1
- data/app/controllers/spree/api/v3/store/newsletter_subscribers_controller.rb +5 -14
- data/app/controllers/spree/api/v3/store/orders/claims_controller.rb +1 -5
- data/app/controllers/spree/api/v3/store/orders/returns_controller.rb +1 -5
- data/app/controllers/spree/api/v3/store/wishlist_items_controller.rb +0 -4
- data/app/serializers/spree/api/v3/admin/address_serializer.rb +5 -7
- data/app/serializers/spree/api/v3/admin/api_key_serializer.rb +2 -6
- data/app/serializers/spree/api/v3/admin/catalog_assignment_serializer.rb +1 -3
- data/app/serializers/spree/api/v3/admin/catalog_order_minimum_serializer.rb +1 -7
- data/app/serializers/spree/api/v3/admin/catalog_product_term_serializer.rb +1 -3
- data/app/serializers/spree/api/v3/admin/catalog_quantity_rule_serializer.rb +1 -3
- data/app/serializers/spree/api/v3/admin/channel_serializer.rb +5 -6
- data/app/serializers/spree/api/v3/admin/claim_reason_serializer.rb +1 -3
- data/app/serializers/spree/api/v3/admin/commission_rule_serializer.rb +1 -3
- data/app/serializers/spree/api/v3/admin/coupon_code_serializer.rb +1 -7
- data/app/serializers/spree/api/v3/admin/credit_card_serializer.rb +1 -7
- data/app/serializers/spree/api/v3/admin/custom_field_definition_serializer.rb +6 -2
- data/app/serializers/spree/api/v3/admin/customer_serializer.rb +2 -10
- data/app/serializers/spree/api/v3/admin/data_request_serializer.rb +2 -6
- data/app/serializers/spree/api/v3/admin/delivery_method_serializer.rb +8 -22
- data/app/serializers/spree/api/v3/admin/delivery_origin_group_serializer.rb +1 -3
- data/app/serializers/spree/api/v3/admin/delivery_serializer.rb +1 -3
- data/app/serializers/spree/api/v3/admin/delivery_zone_serializer.rb +1 -7
- data/app/serializers/spree/api/v3/admin/digital_asset_serializer.rb +4 -2
- data/app/serializers/spree/api/v3/admin/email_template_draft_serializer.rb +19 -0
- data/app/serializers/spree/api/v3/admin/email_template_preview_serializer.rb +38 -0
- data/app/serializers/spree/api/v3/admin/email_template_revision_serializer.rb +18 -0
- data/app/serializers/spree/api/v3/admin/email_template_sample_record_serializer.rb +13 -0
- data/app/serializers/spree/api/v3/admin/email_template_serializer.rb +61 -0
- data/app/serializers/spree/api/v3/admin/exchange_serializer.rb +1 -3
- data/app/serializers/spree/api/v3/admin/export_serializer.rb +1 -7
- data/app/serializers/spree/api/v3/admin/fulfillment_item_serializer.rb +1 -7
- data/app/serializers/spree/api/v3/admin/fulfillment_serializer.rb +1 -7
- data/app/serializers/spree/api/v3/admin/gift_card_serializer.rb +1 -7
- data/app/serializers/spree/api/v3/admin/line_item_serializer.rb +2 -6
- data/app/serializers/spree/api/v3/admin/market_serializer.rb +4 -2
- data/app/serializers/spree/api/v3/admin/media_serializer.rb +1 -3
- data/app/serializers/spree/api/v3/admin/order_cancellation_reason_serializer.rb +1 -3
- data/app/serializers/spree/api/v3/admin/order_group_serializer.rb +3 -9
- data/app/serializers/spree/api/v3/admin/order_routing_rule_serializer.rb +1 -3
- data/app/serializers/spree/api/v3/admin/order_serializer.rb +5 -15
- data/app/serializers/spree/api/v3/admin/package_type_serializer.rb +1 -3
- data/app/serializers/spree/api/v3/admin/payment_method_serializer.rb +7 -1
- data/app/serializers/spree/api/v3/admin/payment_serializer.rb +2 -7
- data/app/serializers/spree/api/v3/admin/permission_serializer.rb +4 -4
- data/app/serializers/spree/api/v3/admin/price_rule_serializer.rb +1 -3
- data/app/serializers/spree/api/v3/admin/product_serializer.rb +2 -10
- data/app/serializers/spree/api/v3/admin/product_submission_serializer.rb +2 -10
- data/app/serializers/spree/api/v3/admin/product_type_serializer.rb +1 -3
- data/app/serializers/spree/api/v3/admin/promotion_action_serializer.rb +1 -3
- data/app/serializers/spree/api/v3/admin/promotion_rule_serializer.rb +1 -3
- data/app/serializers/spree/api/v3/admin/purchase_order_item_serializer.rb +2 -15
- data/app/serializers/spree/api/v3/admin/purchase_order_serializer.rb +2 -15
- data/app/serializers/spree/api/v3/admin/refund_reason_serializer.rb +1 -3
- data/app/serializers/spree/api/v3/admin/refund_serializer.rb +4 -1
- data/app/serializers/spree/api/v3/admin/return_line_item_serializer.rb +1 -0
- data/app/serializers/spree/api/v3/admin/return_reason_serializer.rb +1 -3
- data/app/serializers/spree/api/v3/admin/return_serializer.rb +3 -11
- data/app/serializers/spree/api/v3/admin/saved_report_serializer.rb +1 -3
- data/app/serializers/spree/api/v3/admin/seller_payout_serializer.rb +4 -2
- data/app/serializers/spree/api/v3/admin/seller_requirement_status_serializer.rb +2 -6
- data/app/serializers/spree/api/v3/admin/seller_requirement_submission_serializer.rb +1 -7
- data/app/serializers/spree/api/v3/admin/seller_serializer.rb +5 -15
- data/app/serializers/spree/api/v3/admin/seller_transfer_serializer.rb +4 -2
- data/app/serializers/spree/api/v3/admin/shipping_label_serializer.rb +6 -19
- data/app/serializers/spree/api/v3/admin/stock_level_serializer.rb +1 -3
- data/app/serializers/spree/api/v3/admin/stock_location_serializer.rb +1 -3
- data/app/serializers/spree/api/v3/admin/stock_movement_serializer.rb +1 -3
- data/app/serializers/spree/api/v3/admin/stock_receipt_item_serializer.rb +1 -7
- data/app/serializers/spree/api/v3/admin/stock_receipt_serializer.rb +1 -3
- data/app/serializers/spree/api/v3/admin/stock_reservation_serializer.rb +1 -3
- data/app/serializers/spree/api/v3/admin/stock_transfer_item_serializer.rb +1 -3
- data/app/serializers/spree/api/v3/admin/store_credit_event_serializer.rb +1 -3
- data/app/serializers/spree/api/v3/admin/store_credit_serializer.rb +4 -18
- data/app/serializers/spree/api/v3/admin/store_serializer.rb +24 -6
- data/app/serializers/spree/api/v3/admin/supplier_serializer.rb +1 -3
- data/app/serializers/spree/api/v3/admin/tax_exemption_certificate_serializer.rb +3 -9
- data/app/serializers/spree/api/v3/admin/tax_identifier_serializer.rb +1 -3
- data/app/serializers/spree/api/v3/admin/tax_line_serializer.rb +5 -1
- data/app/serializers/spree/api/v3/admin/tax_rate_serializer.rb +1 -7
- data/app/serializers/spree/api/v3/admin/variant_serializer.rb +6 -7
- data/app/serializers/spree/api/v3/admin/webhook_delivery_serializer.rb +1 -3
- data/app/serializers/spree/api/v3/admin/webhook_event_serializer.rb +23 -0
- data/app/serializers/spree/api/v3/applied_promotion_serializer.rb +2 -4
- data/app/serializers/spree/api/v3/base_serializer.rb +20 -0
- data/app/serializers/spree/api/v3/cart_serializer.rb +17 -45
- data/app/serializers/spree/api/v3/category_serializer.rb +5 -15
- data/app/serializers/spree/api/v3/claim_line_item_serializer.rb +11 -26
- data/app/serializers/spree/api/v3/claim_serializer.rb +2 -15
- data/app/serializers/spree/api/v3/collection_serializer.rb +1 -3
- data/app/serializers/spree/api/v3/company_serializer.rb +1 -3
- data/app/serializers/spree/api/v3/custom_field_serializer.rb +1 -2
- data/app/serializers/spree/api/v3/delivery_rate_serializer.rb +3 -23
- data/app/serializers/spree/api/v3/digital_asset_serializer.rb +1 -3
- data/app/serializers/spree/api/v3/digital_link_serializer.rb +3 -9
- data/app/serializers/spree/api/v3/discount_serializer.rb +1 -12
- data/app/serializers/spree/api/v3/exchange_line_item_serializer.rb +9 -27
- data/app/serializers/spree/api/v3/exchange_serializer.rb +2 -15
- data/app/serializers/spree/api/v3/export_serializer.rb +1 -3
- data/app/serializers/spree/api/v3/fee_serializer.rb +2 -10
- data/app/serializers/spree/api/v3/fulfillment_serializer.rb +4 -11
- data/app/serializers/spree/api/v3/gift_card_batch_serializer.rb +1 -3
- data/app/serializers/spree/api/v3/gift_card_serializer.rb +5 -17
- data/app/serializers/spree/api/v3/import_row_serializer.rb +2 -6
- data/app/serializers/spree/api/v3/import_serializer.rb +3 -14
- data/app/serializers/spree/api/v3/invitation_serializer.rb +2 -19
- data/app/serializers/spree/api/v3/line_item_serializer.rb +6 -20
- data/app/serializers/spree/api/v3/media_event_serializer.rb +1 -3
- data/app/serializers/spree/api/v3/media_serializer.rb +1 -3
- data/app/serializers/spree/api/v3/newsletter_subscriber_request_event_serializer.rb +35 -0
- data/app/serializers/spree/api/v3/newsletter_subscriber_serializer.rb +2 -6
- data/app/serializers/spree/api/v3/option_value_serializer.rb +1 -3
- data/app/serializers/spree/api/v3/order_group_serializer.rb +2 -23
- data/app/serializers/spree/api/v3/order_serializer.rb +12 -38
- data/app/serializers/spree/api/v3/password_reset_requested_event_serializer.rb +29 -0
- data/app/serializers/spree/api/v3/payment_method_serializer.rb +2 -6
- data/app/serializers/spree/api/v3/payment_serializer.rb +5 -10
- data/app/serializers/spree/api/v3/payment_session_serializer.rb +3 -9
- data/app/serializers/spree/api/v3/payment_setup_session_serializer.rb +3 -11
- data/app/serializers/spree/api/v3/policy_serializer.rb +1 -3
- data/app/serializers/spree/api/v3/price_history_serializer.rb +1 -3
- data/app/serializers/spree/api/v3/price_serializer.rb +1 -3
- data/app/serializers/spree/api/v3/product_publication_serializer.rb +1 -7
- data/app/serializers/spree/api/v3/product_serializer.rb +7 -21
- data/app/serializers/spree/api/v3/product_submission_serializer.rb +26 -0
- data/app/serializers/spree/api/v3/purchase_order_event_serializer.rb +23 -4
- data/app/serializers/spree/api/v3/refund_serializer.rb +3 -11
- data/app/serializers/spree/api/v3/return_line_item_serializer.rb +12 -19
- data/app/serializers/spree/api/v3/return_serializer.rb +6 -15
- data/app/serializers/spree/api/v3/saved_report_event_serializer.rb +23 -0
- data/app/serializers/spree/api/v3/seller/delivery_method_serializer.rb +1 -7
- data/app/serializers/spree/api/v3/seller/delivery_rate_serializer.rb +1 -7
- data/app/serializers/spree/api/v3/seller/delivery_serializer.rb +1 -3
- data/app/serializers/spree/api/v3/seller/delivery_zone_serializer.rb +1 -3
- data/app/serializers/spree/api/v3/seller/exchange_serializer.rb +1 -3
- data/app/serializers/spree/api/v3/seller/fulfillment_item_serializer.rb +1 -7
- data/app/serializers/spree/api/v3/seller/fulfillment_serializer.rb +2 -6
- data/app/serializers/spree/api/v3/seller/invitation_serializer.rb +1 -3
- data/app/serializers/spree/api/v3/seller/order_line_item_serializer.rb +7 -13
- data/app/serializers/spree/api/v3/seller/order_serializer.rb +4 -25
- data/app/serializers/spree/api/v3/seller/payout_serializer.rb +4 -2
- data/app/serializers/spree/api/v3/seller/product_serializer.rb +1 -7
- data/app/serializers/spree/api/v3/seller/product_submission_serializer.rb +1 -21
- data/app/serializers/spree/api/v3/seller/profile_serializer.rb +2 -6
- data/app/serializers/spree/api/v3/seller/requirement_status_serializer.rb +3 -9
- data/app/serializers/spree/api/v3/seller/return_serializer.rb +3 -15
- data/app/serializers/spree/api/v3/seller/transfer_serializer.rb +4 -2
- data/app/serializers/spree/api/v3/seller_serializer.rb +1 -3
- data/app/serializers/spree/api/v3/shipping_label_event_serializer.rb +22 -4
- data/app/serializers/spree/api/v3/stock_level_serializer.rb +1 -7
- data/app/serializers/spree/api/v3/stock_movement_serializer.rb +1 -3
- data/app/serializers/spree/api/v3/stock_receipt_event_serializer.rb +20 -4
- data/app/serializers/spree/api/v3/stock_transfer_serializer.rb +1 -7
- data/app/serializers/spree/api/v3/store_credit_event_serializer.rb +2 -11
- data/app/serializers/spree/api/v3/store_credit_serializer.rb +2 -24
- data/app/serializers/spree/api/v3/supplier_event_serializer.rb +6 -4
- data/app/serializers/spree/api/v3/tax_line_serializer.rb +10 -20
- data/app/serializers/spree/api/v3/variant_serializer.rb +7 -21
- data/app/serializers/spree/api/v3/wishlist_item_serializer.rb +1 -11
- data/app/serializers/spree/api/v3/wishlist_serializer.rb +2 -6
- data/app/subscribers/spree/webhook_event_subscriber.rb +3 -10
- data/config/initializers/pagy.rb +1 -1
- data/config/initializers/typelizer.rb +6 -8
- data/config/locales/ar.yml +15 -0
- data/config/locales/be.yml +15 -0
- data/config/locales/bg.yml +15 -0
- data/config/locales/ca.yml +15 -0
- data/config/locales/cs.yml +15 -0
- data/config/locales/da.yml +15 -0
- data/config/locales/de-CH.yml +11 -0
- data/config/locales/de.yml +15 -0
- data/config/locales/el.yml +15 -0
- data/config/locales/en.yml +5 -40
- data/config/locales/es-CL.yml +10 -0
- data/config/locales/es-EC.yml +11 -0
- data/config/locales/es-MX.yml +12 -0
- data/config/locales/es.yml +15 -0
- data/config/locales/et.yml +15 -0
- data/config/locales/fa.yml +15 -0
- data/config/locales/fi.yml +15 -0
- data/config/locales/fr.yml +15 -0
- data/config/locales/hu.yml +15 -0
- data/config/locales/id.yml +15 -0
- data/config/locales/it.yml +15 -0
- data/config/locales/ja.yml +15 -0
- data/config/locales/km.yml +15 -0
- data/config/locales/ko.yml +15 -0
- data/config/locales/ku.yml +15 -0
- data/config/locales/lt.yml +15 -0
- data/config/locales/lv.yml +15 -0
- data/config/locales/nb.yml +15 -0
- data/config/locales/ne.yml +15 -0
- data/config/locales/nl.yml +15 -0
- data/config/locales/pl.yml +15 -0
- data/config/locales/pt-BR.yml +13 -0
- data/config/locales/pt.yml +15 -0
- data/config/locales/ro.yml +15 -0
- data/config/locales/ru.yml +15 -0
- data/config/locales/sk.yml +15 -0
- data/config/locales/sl-SI.yml +15 -0
- data/config/locales/sv.yml +15 -0
- data/config/locales/th.yml +15 -0
- data/config/locales/tr.yml +15 -0
- data/config/locales/uk.yml +15 -0
- data/config/locales/vi.yml +15 -0
- data/config/locales/zh-CN.yml +15 -0
- data/config/locales/zh-TW.yml +15 -0
- data/config/routes.rb +49 -99
- data/lib/spree/api/dependencies.rb +53 -274
- data/lib/spree/api/openapi/schema_helper.rb +1 -1
- data/lib/spree/api/typelizer_generation.rb +35 -0
- data/lib/spree/api/webhook_event_types.rb +140 -0
- data/lib/spree/api.rb +0 -2
- metadata +71 -36
- data/config/i18n-tasks.yml +0 -40
- data/config/initializers/alba.rb +0 -5
|
@@ -11,7 +11,10 @@ module Spree
|
|
|
11
11
|
position: :number,
|
|
12
12
|
metadata: 'Record<string, unknown>',
|
|
13
13
|
preferences: 'Record<string, unknown>',
|
|
14
|
-
preference_schema: "Array<{ key: string; type: string; default: unknown; choices?: string[] }>"
|
|
14
|
+
preference_schema: "Array<{ key: string; type: string; default: unknown; choices?: string[] }>",
|
|
15
|
+
logo_url: [:string, nullable: true],
|
|
16
|
+
docs_url: [:string, nullable: true],
|
|
17
|
+
third_party: :boolean
|
|
15
18
|
|
|
16
19
|
# Null capture_method means the method inherits from its store;
|
|
17
20
|
# resolved_capture_method is what actually applies, so the dashboard
|
|
@@ -22,6 +25,9 @@ module Spree
|
|
|
22
25
|
|
|
23
26
|
attribute :preferences, &:serialized_preferences
|
|
24
27
|
attribute :preference_schema, &:serialized_preference_schema
|
|
28
|
+
attribute(:logo_url) { |payment_method| payment_method.class.logo_url }
|
|
29
|
+
attribute(:docs_url) { |payment_method| payment_method.class.docs_url }
|
|
30
|
+
attribute(:third_party) { |payment_method| payment_method.class.third_party? }
|
|
25
31
|
end
|
|
26
32
|
end
|
|
27
33
|
end
|
|
@@ -17,13 +17,8 @@ module Spree
|
|
|
17
17
|
attributes :metadata, :avs_response, :cvv_response_code, :cvv_response_message,
|
|
18
18
|
created_at: :iso8601, updated_at: :iso8601
|
|
19
19
|
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
end
|
|
23
|
-
|
|
24
|
-
attribute :order_id do |payment|
|
|
25
|
-
payment.order&.prefixed_id
|
|
26
|
-
end
|
|
20
|
+
attributes captured_amount: :string
|
|
21
|
+
prefixed_id_attributes :order
|
|
27
22
|
|
|
28
23
|
# Override inherited associations to use admin serializers
|
|
29
24
|
one :payment_method, resource: proc { Spree.api.admin_payment_method_serializer }, if: proc { expand?('payment_method') }
|
|
@@ -4,7 +4,7 @@ module Spree
|
|
|
4
4
|
module Admin
|
|
5
5
|
# Serializes one permission catalog entry
|
|
6
6
|
# (Spree::PermissionConfiguration::Entry) for the discovery endpoint.
|
|
7
|
-
# Labels and descriptions resolve through
|
|
7
|
+
# Labels and descriptions resolve through I18n so backend extensions
|
|
8
8
|
# localize without shipping dashboard translations.
|
|
9
9
|
class PermissionSerializer
|
|
10
10
|
include Alba::Resource
|
|
@@ -20,17 +20,17 @@ module Spree
|
|
|
20
20
|
attribute(:group) { |entry| entry.scope.group.to_s }
|
|
21
21
|
|
|
22
22
|
attribute(:group_label) do |entry|
|
|
23
|
-
|
|
23
|
+
I18n.t("spree.permissions_catalog.groups.#{entry.scope.group}",
|
|
24
24
|
default: entry.scope.group.to_s.humanize)
|
|
25
25
|
end
|
|
26
26
|
|
|
27
27
|
attribute(:label) do |entry|
|
|
28
|
-
|
|
28
|
+
I18n.t("spree.permissions_catalog.resources.#{entry.scope.name}.label",
|
|
29
29
|
default: entry.scope.name.to_s.humanize)
|
|
30
30
|
end
|
|
31
31
|
|
|
32
32
|
attribute(:description) do |entry|
|
|
33
|
-
|
|
33
|
+
I18n.t("spree.permissions_catalog.resources.#{entry.scope.name}.description", default: '')
|
|
34
34
|
end
|
|
35
35
|
end
|
|
36
36
|
end
|
|
@@ -17,9 +17,7 @@ module Spree
|
|
|
17
17
|
rule.class.api_type
|
|
18
18
|
end
|
|
19
19
|
|
|
20
|
-
|
|
21
|
-
rule.price_list&.prefixed_id
|
|
22
|
-
end
|
|
20
|
+
prefixed_id_attributes :price_list
|
|
23
21
|
|
|
24
22
|
attribute :preferences, &:serialized_preferences
|
|
25
23
|
attribute :preference_schema, &:serialized_preference_schema
|
|
@@ -24,9 +24,7 @@ module Spree
|
|
|
24
24
|
:metadata, deleted_at: :iso8601,
|
|
25
25
|
created_at: :iso8601, updated_at: :iso8601
|
|
26
26
|
|
|
27
|
-
|
|
28
|
-
product.delivery_profile&.prefixed_id
|
|
29
|
-
end
|
|
27
|
+
prefixed_id_attributes :delivery_profile
|
|
30
28
|
|
|
31
29
|
# The live row in the review trail: who submitted, who decided,
|
|
32
30
|
# when, and what the seller was told. Expanded rather than always
|
|
@@ -47,13 +45,7 @@ module Spree
|
|
|
47
45
|
resource: proc { Spree.api.admin_seller_serializer },
|
|
48
46
|
if: proc { expand?('seller') }
|
|
49
47
|
|
|
50
|
-
|
|
51
|
-
product.product_type&.prefixed_id
|
|
52
|
-
end
|
|
53
|
-
|
|
54
|
-
attribute :tax_category_id do |product|
|
|
55
|
-
product.tax_category&.prefixed_id
|
|
56
|
-
end
|
|
48
|
+
prefixed_id_attributes :product_type, :tax_category
|
|
57
49
|
|
|
58
50
|
attribute :price do |product|
|
|
59
51
|
price = price_for(product.default_variant)
|
|
@@ -14,13 +14,7 @@ module Spree
|
|
|
14
14
|
|
|
15
15
|
attributes :metadata, updated_at: :iso8601
|
|
16
16
|
|
|
17
|
-
|
|
18
|
-
submission.submitted_by&.prefixed_id
|
|
19
|
-
end
|
|
20
|
-
|
|
21
|
-
attribute :reviewed_by_id do |submission|
|
|
22
|
-
submission.reviewed_by&.prefixed_id
|
|
23
|
-
end
|
|
17
|
+
prefixed_id_attributes :submitted_by, :reviewed_by
|
|
24
18
|
|
|
25
19
|
# An operator reading the trail wants a name, not an id to resolve.
|
|
26
20
|
attribute :reviewed_by_name do |submission|
|
|
@@ -29,9 +23,7 @@ module Spree
|
|
|
29
23
|
|
|
30
24
|
# Distinguishes "the store approves listings automatically" from a
|
|
31
25
|
# decision whose author we failed to record.
|
|
32
|
-
attribute :auto_approved
|
|
33
|
-
submission.auto_approved?
|
|
34
|
-
end
|
|
26
|
+
attribute :auto_approved, &:auto_approved?
|
|
35
27
|
end
|
|
36
28
|
end
|
|
37
29
|
end
|
|
@@ -15,9 +15,7 @@ module Spree
|
|
|
15
15
|
|
|
16
16
|
# The creation-time template: stamped onto products at creation,
|
|
17
17
|
# never synced afterwards.
|
|
18
|
-
|
|
19
|
-
record.delivery_profile&.prefixed_id
|
|
20
|
-
end
|
|
18
|
+
prefixed_id_attributes :delivery_profile
|
|
21
19
|
|
|
22
20
|
# Prefixed ids of the option types and categories this type seeds onto
|
|
23
21
|
# new products — the same payload the client sends back on PATCH.
|
|
@@ -22,9 +22,7 @@ module Spree
|
|
|
22
22
|
action.class.api_type
|
|
23
23
|
end
|
|
24
24
|
|
|
25
|
-
|
|
26
|
-
action.promotion&.prefixed_id
|
|
27
|
-
end
|
|
25
|
+
prefixed_id_attributes :promotion
|
|
28
26
|
|
|
29
27
|
attribute :preferences, &:serialized_preferences
|
|
30
28
|
attribute :preference_schema, &:serialized_preference_schema
|
|
@@ -23,9 +23,7 @@ module Spree
|
|
|
23
23
|
rule.class.api_type
|
|
24
24
|
end
|
|
25
25
|
|
|
26
|
-
|
|
27
|
-
rule.promotion&.prefixed_id
|
|
28
|
-
end
|
|
26
|
+
prefixed_id_attributes :promotion
|
|
29
27
|
|
|
30
28
|
attribute :preferences, &:serialized_preferences
|
|
31
29
|
attribute :preference_schema, &:serialized_preference_schema
|
|
@@ -32,25 +32,12 @@ module Spree
|
|
|
32
32
|
item.unit_cost&.to_s
|
|
33
33
|
end
|
|
34
34
|
|
|
35
|
-
|
|
36
|
-
item.total_cost.to_s
|
|
37
|
-
end
|
|
38
|
-
|
|
39
|
-
attribute :display_unit_cost do |item|
|
|
40
|
-
item.display_unit_cost.to_s
|
|
41
|
-
end
|
|
42
|
-
|
|
43
|
-
attribute :display_total_cost do |item|
|
|
44
|
-
item.display_total_cost.to_s
|
|
45
|
-
end
|
|
46
|
-
|
|
35
|
+
attributes total_cost: :string, display_unit_cost: :string, display_total_cost: :string
|
|
47
36
|
attribute :purchase_order_id do |item|
|
|
48
37
|
Spree::PurchaseOrder.prefixed_id_for(item.purchase_order_id)
|
|
49
38
|
end
|
|
50
39
|
|
|
51
|
-
|
|
52
|
-
item.variant&.prefixed_id
|
|
53
|
-
end
|
|
40
|
+
prefixed_id_attributes :variant
|
|
54
41
|
|
|
55
42
|
# The product the line's variant belongs to, so a line can link
|
|
56
43
|
# straight to the screen where that SKU's stock lives.
|
|
@@ -56,21 +56,8 @@ module Spree
|
|
|
56
56
|
|
|
57
57
|
attribute :editable, &:editable?
|
|
58
58
|
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
end
|
|
62
|
-
|
|
63
|
-
attribute :display_subtotal do |purchase_order|
|
|
64
|
-
purchase_order.display_subtotal.to_s
|
|
65
|
-
end
|
|
66
|
-
|
|
67
|
-
attribute :supplier_id do |purchase_order|
|
|
68
|
-
purchase_order.supplier&.prefixed_id
|
|
69
|
-
end
|
|
70
|
-
|
|
71
|
-
attribute :destination_location_id do |purchase_order|
|
|
72
|
-
purchase_order.destination_location&.prefixed_id
|
|
73
|
-
end
|
|
59
|
+
attributes subtotal: :string, display_subtotal: :string
|
|
60
|
+
prefixed_id_attributes :supplier, :destination_location
|
|
74
61
|
|
|
75
62
|
many :items,
|
|
76
63
|
resource: proc { Spree.api.admin_purchase_order_item_serializer },
|
|
@@ -17,9 +17,7 @@ module Spree
|
|
|
17
17
|
|
|
18
18
|
# Lets the dashboard hide destructive controls instead of offering a
|
|
19
19
|
# delete that the model will refuse.
|
|
20
|
-
attribute :can_be_deleted
|
|
21
|
-
reason.can_be_deleted?
|
|
22
|
-
end
|
|
20
|
+
attribute :can_be_deleted, &:can_be_deleted?
|
|
23
21
|
end
|
|
24
22
|
end
|
|
25
23
|
end
|
|
@@ -7,11 +7,14 @@ module Spree
|
|
|
7
7
|
refund_reason_id: [:string, nullable: true],
|
|
8
8
|
refunder_id: [:string, nullable: true],
|
|
9
9
|
refunder_type: [:string, nullable: true, enum: Spree::Actor::BUILT_IN_KINDS, enum_type_name: 'ActorKind'],
|
|
10
|
-
metadata: 'Record<string, unknown>'
|
|
10
|
+
metadata: 'Record<string, unknown>',
|
|
11
|
+
tax_amount: :string
|
|
11
12
|
|
|
12
13
|
attributes :metadata,
|
|
13
14
|
created_at: :iso8601, updated_at: :iso8601
|
|
14
15
|
|
|
16
|
+
# The tax inside the amount, when what was refunded carried tax.
|
|
17
|
+
attributes tax_amount: :string
|
|
15
18
|
# Who issued it — an admin user, or the API key an integration
|
|
16
19
|
# refunded through.
|
|
17
20
|
actor_attributes :refunder
|
|
@@ -9,6 +9,7 @@ module Spree
|
|
|
9
9
|
|
|
10
10
|
one :variant, resource: proc { Spree.api.admin_variant_serializer }, if: proc { expand?('variant') }
|
|
11
11
|
one :line_item, resource: proc { Spree.api.admin_line_item_serializer }, if: proc { expand?('line_item') }
|
|
12
|
+
many :tax_lines, resource: proc { Spree.api.admin_tax_line_serializer }, if: proc { expand?('tax_lines') }
|
|
12
13
|
end
|
|
13
14
|
end
|
|
14
15
|
end
|
|
@@ -11,9 +11,7 @@ module Spree
|
|
|
11
11
|
|
|
12
12
|
# Lets the dashboard hide destructive controls instead of offering a
|
|
13
13
|
# delete that the model will refuse.
|
|
14
|
-
attribute :can_be_deleted
|
|
15
|
-
reason.can_be_deleted?
|
|
16
|
-
end
|
|
14
|
+
attribute :can_be_deleted, &:can_be_deleted?
|
|
17
15
|
end
|
|
18
16
|
end
|
|
19
17
|
end
|
|
@@ -12,24 +12,16 @@ module Spree
|
|
|
12
12
|
created_by_id: [:string, nullable: true],
|
|
13
13
|
created_by_type: [:string, nullable: true, enum: Spree::Actor::BUILT_IN_KINDS, enum_type_name: 'ActorKind'],
|
|
14
14
|
refunded_total: :string,
|
|
15
|
+
display_refunded_total: :string,
|
|
15
16
|
refundable_total: :string
|
|
16
17
|
|
|
17
18
|
attributes :memo, :metadata, created_at: :iso8601, updated_at: :iso8601
|
|
18
19
|
|
|
19
|
-
|
|
20
|
-
return_record.stock_location&.prefixed_id
|
|
21
|
-
end
|
|
20
|
+
prefixed_id_attributes :stock_location
|
|
22
21
|
|
|
23
22
|
actor_attributes :created_by
|
|
24
23
|
|
|
25
|
-
|
|
26
|
-
return_record.refunded_total.to_s
|
|
27
|
-
end
|
|
28
|
-
|
|
29
|
-
attribute :refundable_total do |return_record|
|
|
30
|
-
return_record.refundable_total.to_s
|
|
31
|
-
end
|
|
32
|
-
|
|
24
|
+
attributes refunded_total: :string, display_refunded_total: :string, refundable_total: :string
|
|
33
25
|
many :return_line_items,
|
|
34
26
|
resource: proc { Spree.api.admin_return_line_item_serializer },
|
|
35
27
|
if: proc { expand?('return_line_items') }
|
|
@@ -16,9 +16,7 @@ module Spree
|
|
|
16
16
|
|
|
17
17
|
attributes :name, :description, :query, :seeded, :created_at, :updated_at
|
|
18
18
|
|
|
19
|
-
|
|
20
|
-
report.user&.prefixed_id
|
|
21
|
-
end
|
|
19
|
+
prefixed_id_attributes :user
|
|
22
20
|
|
|
23
21
|
# The same "name, else email" rule every actor answers, so a report's
|
|
24
22
|
# author and an order's canceler read alike.
|
|
@@ -11,7 +11,7 @@ module Spree
|
|
|
11
11
|
typelize seller_id: :string,
|
|
12
12
|
seller_name: 'string | null',
|
|
13
13
|
status: [:string, enum: Spree::SellerPayout.statuses, enum_type_name: 'SellerPayoutStatus'],
|
|
14
|
-
provider: [:string, comment: 'Payout provider
|
|
14
|
+
provider: [:string, comment: 'Payout provider. Built-in: system. Provider gems register more (e.g. stripe).'],
|
|
15
15
|
amount: :string,
|
|
16
16
|
currency: :string,
|
|
17
17
|
reference: 'string | null',
|
|
@@ -20,7 +20,7 @@ module Spree
|
|
|
20
20
|
transfers_count: :number,
|
|
21
21
|
display_amount: :string
|
|
22
22
|
|
|
23
|
-
attributes :status, :currency, :
|
|
23
|
+
attributes :status, :currency, :reference, :metadata,
|
|
24
24
|
period_start: :iso8601, period_end: :iso8601,
|
|
25
25
|
created_at: :iso8601, updated_at: :iso8601
|
|
26
26
|
|
|
@@ -39,6 +39,8 @@ module Spree
|
|
|
39
39
|
|
|
40
40
|
counts ? counts.fetch(payout.id, 0) : payout.transfers.count
|
|
41
41
|
end
|
|
42
|
+
|
|
43
|
+
api_type_attributes :provider
|
|
42
44
|
end
|
|
43
45
|
end
|
|
44
46
|
end
|
|
@@ -22,17 +22,13 @@ module Spree
|
|
|
22
22
|
# Whether this stands between the seller and approval. Serialized
|
|
23
23
|
# rather than left to each client to derive, so the dashboard's
|
|
24
24
|
# override warning and the approval gate cannot disagree.
|
|
25
|
-
attribute :blocking
|
|
26
|
-
status.blocking?
|
|
27
|
-
end
|
|
25
|
+
attribute :blocking, &:blocking?
|
|
28
26
|
|
|
29
27
|
# The document this line asks for, and what the seller published
|
|
30
28
|
# against it. Embedded rather than left to a second request: the
|
|
31
29
|
# operator is deciding whether to approve, and a line that says
|
|
32
30
|
# "Done" without showing the text is not something to approve on.
|
|
33
|
-
|
|
34
|
-
status.required_policy_name
|
|
35
|
-
end
|
|
31
|
+
attributes :required_policy_name
|
|
36
32
|
|
|
37
33
|
one :submission,
|
|
38
34
|
resource: proc { Spree.api.admin_seller_requirement_submission_serializer },
|
|
@@ -21,13 +21,7 @@ module Spree
|
|
|
21
21
|
created_at: :iso8601,
|
|
22
22
|
updated_at: :iso8601
|
|
23
23
|
|
|
24
|
-
|
|
25
|
-
submission.seller&.prefixed_id
|
|
26
|
-
end
|
|
27
|
-
|
|
28
|
-
attribute :requirement_id do |submission|
|
|
29
|
-
submission.requirement&.prefixed_id
|
|
30
|
-
end
|
|
24
|
+
prefixed_id_attributes :seller, :requirement
|
|
31
25
|
|
|
32
26
|
# The reviewer is looking at a queue of these and needs to know what
|
|
33
27
|
# each one answers without fetching the requirement.
|
|
@@ -43,20 +43,14 @@ module Spree
|
|
|
43
43
|
|
|
44
44
|
# Approved but away still cannot sell, and the list has to say so
|
|
45
45
|
# without the dashboard re-deriving the rule.
|
|
46
|
-
attribute :on_holiday
|
|
47
|
-
seller.on_holiday?
|
|
48
|
-
end
|
|
46
|
+
attribute :on_holiday, &:on_holiday?
|
|
49
47
|
|
|
50
|
-
attribute :sellable
|
|
51
|
-
seller.sellable?
|
|
52
|
-
end
|
|
48
|
+
attribute :sellable, &:sellable?
|
|
53
49
|
|
|
54
50
|
# Saves the dashboard a request per row for the two counts its list
|
|
55
51
|
# and header show. Read off the seller, which memoizes the SQL count
|
|
56
52
|
# so the minimum-products requirement asks the same question free.
|
|
57
|
-
|
|
58
|
-
seller.products_count
|
|
59
|
-
end
|
|
53
|
+
attributes :products_count
|
|
60
54
|
|
|
61
55
|
attribute :users_count do |seller|
|
|
62
56
|
seller.users.size
|
|
@@ -67,13 +61,9 @@ module Spree
|
|
|
67
61
|
# requirements themselves, with their submissions, stay on the
|
|
68
62
|
# heavier `onboarding` action; a list of sellers needs the number,
|
|
69
63
|
# not the rows behind it.
|
|
70
|
-
|
|
71
|
-
seller.onboarding_progress
|
|
72
|
-
end
|
|
64
|
+
attributes :onboarding_progress
|
|
73
65
|
|
|
74
|
-
attribute :onboarding_complete
|
|
75
|
-
seller.onboarding_complete?
|
|
76
|
-
end
|
|
66
|
+
attribute :onboarding_complete, &:onboarding_complete?
|
|
77
67
|
|
|
78
68
|
attribute :legal_name, &:legal_name
|
|
79
69
|
attribute :registration_number, &:registration_number
|
|
@@ -16,7 +16,7 @@ module Spree
|
|
|
16
16
|
order_number: 'string | null',
|
|
17
17
|
kind: [:string, enum: Spree::SellerTransfer::KINDS],
|
|
18
18
|
status: [:string, enum: Spree::SellerTransfer.statuses, enum_type_name: 'SellerTransferStatus'],
|
|
19
|
-
provider: [:string, comment: 'Payout provider
|
|
19
|
+
provider: [:string, comment: 'Payout provider. Built-in: system. Provider gems register more (e.g. stripe).'],
|
|
20
20
|
amount: :string,
|
|
21
21
|
currency: :string,
|
|
22
22
|
settled_amount: 'string | null',
|
|
@@ -25,7 +25,7 @@ module Spree
|
|
|
25
25
|
reference: 'string | null',
|
|
26
26
|
display_amount: :string
|
|
27
27
|
|
|
28
|
-
attributes :kind, :status, :currency, :
|
|
28
|
+
attributes :kind, :status, :currency, :reference, :metadata,
|
|
29
29
|
created_at: :iso8601, updated_at: :iso8601
|
|
30
30
|
|
|
31
31
|
# A string, so the figure a seller is paid round-trips exactly.
|
|
@@ -46,6 +46,8 @@ module Spree
|
|
|
46
46
|
# by row and these are what identify a row to an operator.
|
|
47
47
|
attribute(:seller_name) { |transfer| transfer.seller&.name }
|
|
48
48
|
attribute(:order_number) { |transfer| transfer.order&.number }
|
|
49
|
+
|
|
50
|
+
api_type_attributes :provider
|
|
49
51
|
end
|
|
50
52
|
end
|
|
51
53
|
end
|
|
@@ -7,7 +7,7 @@ module Spree
|
|
|
7
7
|
# The file is streamed through +download_url+, never linked to storage.
|
|
8
8
|
class ShippingLabelSerializer < V3::BaseSerializer
|
|
9
9
|
typelize owner_id: :string,
|
|
10
|
-
owner_type: [:string, enum: Spree::ShippingLabel::OWNER_TYPES],
|
|
10
|
+
owner_type: [:string, enum: Spree::ShippingLabel::OWNER_TYPES.map { |type| Spree::Base.polymorphic_api_type(type) }],
|
|
11
11
|
source: [:string, enum: Spree::ShippingLabel::SOURCES],
|
|
12
12
|
status: [:string, enum: Spree::ShippingLabel.statuses, enum_type_name: 'ShippingLabelStatus'],
|
|
13
13
|
carrier: [:string, nullable: true],
|
|
@@ -28,31 +28,18 @@ module Spree
|
|
|
28
28
|
attributes :source, :status, :carrier, :carrier_name, :service, :tracking_number, :currency, :format,
|
|
29
29
|
:external_id, :metadata, refunded_at: :iso8601, created_at: :iso8601, updated_at: :iso8601
|
|
30
30
|
|
|
31
|
-
|
|
32
|
-
shipping_label.owner&.prefixed_id
|
|
33
|
-
end
|
|
31
|
+
prefixed_id_attributes :owner
|
|
34
32
|
|
|
35
33
|
attribute :owner_type do |shipping_label|
|
|
36
|
-
shipping_label.owner_type
|
|
37
|
-
end
|
|
38
|
-
|
|
39
|
-
attribute :cost do |shipping_label|
|
|
40
|
-
shipping_label.cost.to_s
|
|
34
|
+
Spree::Base.polymorphic_api_type(shipping_label.owner_type)
|
|
41
35
|
end
|
|
42
36
|
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
end
|
|
46
|
-
|
|
47
|
-
attribute :integration_id do |shipping_label|
|
|
48
|
-
shipping_label.integration&.prefixed_id
|
|
49
|
-
end
|
|
37
|
+
attributes cost: :string, display_cost: :string
|
|
38
|
+
prefixed_id_attributes :integration
|
|
50
39
|
|
|
51
40
|
# Whether the file is still being fetched from the carrier; the
|
|
52
41
|
# download proxies the provider's copy meanwhile.
|
|
53
|
-
attribute :file_pending
|
|
54
|
-
shipping_label.file_pending?
|
|
55
|
-
end
|
|
42
|
+
attribute :file_pending, &:file_pending?
|
|
56
43
|
|
|
57
44
|
# Our own endpoint rather than a storage URL: the controller streams
|
|
58
45
|
# the bytes, so admin auth runs on every print.
|
|
@@ -27,9 +27,7 @@ module Spree
|
|
|
27
27
|
stock_level.stock_location&.name
|
|
28
28
|
end
|
|
29
29
|
|
|
30
|
-
|
|
31
|
-
stock_level.product&.prefixed_id
|
|
32
|
-
end
|
|
30
|
+
prefixed_id_attributes :product
|
|
33
31
|
|
|
34
32
|
attribute :options_text do |stock_level|
|
|
35
33
|
stock_level.variant&.options_text.presence
|
|
@@ -22,9 +22,7 @@ module Spree
|
|
|
22
22
|
:pickup_ready_in_minutes, :pickup_instructions,
|
|
23
23
|
created_at: :iso8601, updated_at: :iso8601
|
|
24
24
|
|
|
25
|
-
|
|
26
|
-
stock_location.seller&.prefixed_id
|
|
27
|
-
end
|
|
25
|
+
prefixed_id_attributes :seller
|
|
28
26
|
|
|
29
27
|
attribute :seller_name do |stock_location|
|
|
30
28
|
stock_location.seller&.name
|
|
@@ -68,9 +68,7 @@ module Spree
|
|
|
68
68
|
Spree::StockTransfer.prefixed_id_for(movement.stock_transfer_id)
|
|
69
69
|
end
|
|
70
70
|
|
|
71
|
-
|
|
72
|
-
movement.stock_receipt&.prefixed_id
|
|
73
|
-
end
|
|
71
|
+
prefixed_id_attributes :stock_receipt
|
|
74
72
|
|
|
75
73
|
attribute :purchase_order_id do |movement|
|
|
76
74
|
Spree::PurchaseOrder.prefixed_id_for(movement.purchase_order_id)
|
|
@@ -25,13 +25,7 @@ module Spree
|
|
|
25
25
|
item.line_type.demodulize.underscore
|
|
26
26
|
end
|
|
27
27
|
|
|
28
|
-
|
|
29
|
-
item.line&.prefixed_id
|
|
30
|
-
end
|
|
31
|
-
|
|
32
|
-
attribute :variant_id do |item|
|
|
33
|
-
item.variant&.prefixed_id
|
|
34
|
-
end
|
|
28
|
+
prefixed_id_attributes :line, :variant
|
|
35
29
|
|
|
36
30
|
# The product the line's variant belongs to, so a delivery's line
|
|
37
31
|
# can link to the screen where that SKU's stock lives.
|
|
@@ -25,9 +25,7 @@ module Spree
|
|
|
25
25
|
Spree::StockTransfer.prefixed_id_for(item.stock_transfer_id)
|
|
26
26
|
end
|
|
27
27
|
|
|
28
|
-
|
|
29
|
-
item.variant&.prefixed_id
|
|
30
|
-
end
|
|
28
|
+
prefixed_id_attributes :variant
|
|
31
29
|
|
|
32
30
|
# The product the line's variant belongs to, so a line can link
|
|
33
31
|
# straight to the screen where that SKU's stock lives.
|
|
@@ -11,9 +11,7 @@ module Spree
|
|
|
11
11
|
|
|
12
12
|
attributes updated_at: :iso8601
|
|
13
13
|
|
|
14
|
-
|
|
15
|
-
event.store_credit&.prefixed_id
|
|
16
|
-
end
|
|
14
|
+
prefixed_id_attributes :store_credit
|
|
17
15
|
|
|
18
16
|
attribute :originator_type do |event|
|
|
19
17
|
Spree::Base.polymorphic_api_type(event.originator_type)
|
|
@@ -16,27 +16,13 @@ module Spree
|
|
|
16
16
|
attributes :memo, :metadata,
|
|
17
17
|
created_at: :iso8601, updated_at: :iso8601
|
|
18
18
|
|
|
19
|
-
|
|
20
|
-
store_credit.amount_authorized.to_s
|
|
21
|
-
end
|
|
22
|
-
|
|
19
|
+
attributes amount_authorized: :string
|
|
23
20
|
# Answers the same question as the `outstanding` filter, so the row
|
|
24
21
|
# and the filter cannot disagree.
|
|
25
|
-
attribute :outstanding
|
|
26
|
-
store_credit.outstanding?
|
|
27
|
-
end
|
|
28
|
-
|
|
29
|
-
attribute :display_amount_authorized do |store_credit|
|
|
30
|
-
store_credit.display_amount_authorized.to_s
|
|
31
|
-
end
|
|
32
|
-
|
|
33
|
-
attribute :customer_id do |store_credit|
|
|
34
|
-
store_credit.customer&.prefixed_id
|
|
35
|
-
end
|
|
22
|
+
attribute :outstanding, &:outstanding?
|
|
36
23
|
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
end
|
|
24
|
+
attributes display_amount_authorized: :string
|
|
25
|
+
prefixed_id_attributes :customer, :created_by
|
|
40
26
|
|
|
41
27
|
# Why the credit exists: the return, exchange, claim or gift card
|
|
42
28
|
# that issued it, or null when an admin issued it by hand. The type
|