spree_api 6.0.0.beta4 → 6.0.0.rc1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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 +3 -11
- 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
|
@@ -9,15 +9,19 @@ module Spree
|
|
|
9
9
|
key: :string,
|
|
10
10
|
label: :string,
|
|
11
11
|
field_type: Spree::CustomField::FIELD_TYPE_TOKENS,
|
|
12
|
-
resource_type: [:string, comment: '
|
|
12
|
+
resource_type: [:string, comment: 'Shorthand of the resource the field attaches to, for example product, variant, order, customer or category. Discover the full list from the resource_types endpoint; extensions may register more.'],
|
|
13
13
|
storefront_visible: :boolean,
|
|
14
14
|
searchable: :boolean,
|
|
15
15
|
sortable: :boolean,
|
|
16
16
|
filter_key: :string
|
|
17
17
|
|
|
18
|
-
attributes :namespace, :key, :label, :field_type, :
|
|
18
|
+
attributes :namespace, :key, :label, :field_type, :storefront_visible,
|
|
19
19
|
:searchable, :sortable, :filter_key,
|
|
20
20
|
created_at: :iso8601, updated_at: :iso8601
|
|
21
|
+
|
|
22
|
+
attribute :resource_type do |definition|
|
|
23
|
+
Spree::Base.polymorphic_api_type(definition.resource_type)
|
|
24
|
+
end
|
|
21
25
|
end
|
|
22
26
|
end
|
|
23
27
|
end
|
|
@@ -28,9 +28,7 @@ module Spree
|
|
|
28
28
|
user.anonymized_at&.iso8601
|
|
29
29
|
end
|
|
30
30
|
|
|
31
|
-
attribute :anonymized
|
|
32
|
-
user.anonymized?
|
|
33
|
-
end
|
|
31
|
+
attribute :anonymized, &:anonymized?
|
|
34
32
|
|
|
35
33
|
attribute :tags do |user|
|
|
36
34
|
user.tags.map(&:name) # not pluck as we preload tags
|
|
@@ -44,13 +42,7 @@ module Spree
|
|
|
44
42
|
user.respond_to?(:internal_note) ? user.internal_note.presence : nil
|
|
45
43
|
end
|
|
46
44
|
|
|
47
|
-
|
|
48
|
-
user.bill_address&.prefixed_id
|
|
49
|
-
end
|
|
50
|
-
|
|
51
|
-
attribute :default_shipping_address_id do |user|
|
|
52
|
-
user.ship_address&.prefixed_id
|
|
53
|
-
end
|
|
45
|
+
prefixed_id_attributes default_billing_address_id: :bill_address, default_shipping_address_id: :ship_address
|
|
54
46
|
|
|
55
47
|
# Order aggregates: prefer attributes precomputed on the scope (see
|
|
56
48
|
# CustomersController#scope) to avoid N+1 on list endpoints. Fall
|
|
@@ -19,14 +19,10 @@ module Spree
|
|
|
19
19
|
|
|
20
20
|
attributes :email, :error_message, created_at: :iso8601, updated_at: :iso8601
|
|
21
21
|
|
|
22
|
-
|
|
23
|
-
data_request.customer&.prefixed_id
|
|
24
|
-
end
|
|
22
|
+
prefixed_id_attributes :customer
|
|
25
23
|
|
|
26
24
|
# Null when the subject asked for it themselves.
|
|
27
|
-
|
|
28
|
-
data_request.requested_by&.prefixed_id
|
|
29
|
-
end
|
|
25
|
+
prefixed_id_attributes :requested_by
|
|
30
26
|
|
|
31
27
|
one :customer, resource: proc { Spree.api.admin_customer_serializer }, if: proc { expand?('customer') }
|
|
32
28
|
end
|
|
@@ -4,8 +4,9 @@ module Spree
|
|
|
4
4
|
module Admin
|
|
5
5
|
class DeliveryMethodSerializer < V3::DeliveryMethodSerializer
|
|
6
6
|
typelize admin_name: [:string, nullable: true],
|
|
7
|
-
fulfillment_provider: :string,
|
|
8
|
-
|
|
7
|
+
fulfillment_provider: [:string, comment: 'Fulfillment provider. Built-in: manual, digital, pickup, pickup_point. Provider gems register more (e.g. easy_post).'],
|
|
8
|
+
pickup_point_provider: [:string, nullable: true, comment: 'Pickup point network. None built in; provider gems register them.'],
|
|
9
|
+
rate_provider: [:string, nullable: true, comment: 'Rate provider; null prices through the calculator. Built-in: internal, freight. Provider gems register more (e.g. easy_post).'],
|
|
9
10
|
storefront_visible: :boolean, tracking_url: [:string, nullable: true],
|
|
10
11
|
tax_category_id: [:string, nullable: true],
|
|
11
12
|
delivery_profile_id: :string,
|
|
@@ -20,17 +21,14 @@ module Spree
|
|
|
20
21
|
seller_id: [:string, nullable: true],
|
|
21
22
|
seller_name: [:string, nullable: true]
|
|
22
23
|
|
|
23
|
-
attributes :admin_name, :
|
|
24
|
-
:rate_provider, :storefront_visible, :tracking_url,
|
|
24
|
+
attributes :admin_name, :storefront_visible, :tracking_url,
|
|
25
25
|
:markup_flat, :markup_percent, :available_to_sellers,
|
|
26
26
|
created_at: :iso8601, updated_at: :iso8601, deleted_at: :iso8601
|
|
27
27
|
|
|
28
28
|
# Which seller runs this method, so the operator's list can say
|
|
29
29
|
# whose it is. Null is the marketplace's own
|
|
30
30
|
# (docs/plans/6.0-multi-vendor-marketplace.md, Decision 13).
|
|
31
|
-
|
|
32
|
-
record.seller&.prefixed_id
|
|
33
|
-
end
|
|
31
|
+
prefixed_id_attributes :seller
|
|
34
32
|
|
|
35
33
|
attribute :seller_name do |record|
|
|
36
34
|
record.seller&.name
|
|
@@ -42,26 +40,14 @@ module Spree
|
|
|
42
40
|
# eligibility without a request per method.
|
|
43
41
|
many :delivery_method_rules, key: :rules, resource: proc { Spree.api.admin_delivery_method_rule_serializer }
|
|
44
42
|
|
|
45
|
-
|
|
46
|
-
record.tax_category&.prefixed_id
|
|
47
|
-
end
|
|
48
|
-
|
|
49
|
-
attribute :delivery_profile_id do |record|
|
|
50
|
-
record.delivery_profile&.prefixed_id
|
|
51
|
-
end
|
|
52
|
-
|
|
53
|
-
attribute :delivery_origin_group_id do |record|
|
|
54
|
-
record.delivery_origin_group&.prefixed_id
|
|
55
|
-
end
|
|
56
|
-
|
|
57
|
-
attribute :delivery_zone_id do |record|
|
|
58
|
-
record.delivery_zone&.prefixed_id
|
|
59
|
-
end
|
|
43
|
+
prefixed_id_attributes :tax_category, :delivery_profile, :delivery_origin_group, :delivery_zone
|
|
60
44
|
|
|
61
45
|
attribute :stock_location_ids do |record|
|
|
62
46
|
record.pickup_locations.map(&:prefixed_id)
|
|
63
47
|
end
|
|
64
48
|
|
|
49
|
+
api_type_attributes :fulfillment_provider, :pickup_point_provider, :rate_provider
|
|
50
|
+
|
|
65
51
|
attribute :calculator_type do |record|
|
|
66
52
|
record.calculator&.class&.api_type
|
|
67
53
|
end
|
|
@@ -11,9 +11,7 @@ module Spree
|
|
|
11
11
|
attributes :name, :position,
|
|
12
12
|
created_at: :iso8601, updated_at: :iso8601
|
|
13
13
|
|
|
14
|
-
|
|
15
|
-
record.delivery_profile&.prefixed_id
|
|
16
|
-
end
|
|
14
|
+
prefixed_id_attributes :delivery_profile
|
|
17
15
|
|
|
18
16
|
# Empty means every store location.
|
|
19
17
|
attribute :stock_location_ids do |record|
|
|
@@ -10,9 +10,7 @@ module Spree
|
|
|
10
10
|
# Operational detail, so admin-only.
|
|
11
11
|
attributes :details, created_at: :iso8601, updated_at: :iso8601
|
|
12
12
|
|
|
13
|
-
|
|
14
|
-
delivery.shipping_label&.prefixed_id
|
|
15
|
-
end
|
|
13
|
+
prefixed_id_attributes :shipping_label
|
|
16
14
|
end
|
|
17
15
|
end
|
|
18
16
|
end
|
|
@@ -9,13 +9,7 @@ module Spree
|
|
|
9
9
|
|
|
10
10
|
attributes created_at: :iso8601, updated_at: :iso8601
|
|
11
11
|
|
|
12
|
-
|
|
13
|
-
record.delivery_profile&.prefixed_id
|
|
14
|
-
end
|
|
15
|
-
|
|
16
|
-
attribute :delivery_origin_group_id do |record|
|
|
17
|
-
record.delivery_origin_group&.prefixed_id
|
|
18
|
-
end
|
|
12
|
+
prefixed_id_attributes :delivery_profile, :delivery_origin_group
|
|
19
13
|
|
|
20
14
|
attribute :delivery_method_ids do |record|
|
|
21
15
|
record.delivery_methods.map(&:prefixed_id)
|
|
@@ -10,14 +10,16 @@ module Spree
|
|
|
10
10
|
authorized_days: [:number, nullable: true],
|
|
11
11
|
effective_authorized_clicks: :number,
|
|
12
12
|
effective_authorized_days: :number,
|
|
13
|
-
provider_type: [:string, nullable: true],
|
|
13
|
+
provider_type: [:string, nullable: true, comment: 'Digital asset provider; null is an uploaded file. Built-in: file. Extensions may register more.'],
|
|
14
14
|
provider_name: [:string, comment: 'Digital asset provider name. Built-in: File. Extensions may register more.'],
|
|
15
15
|
provider_settings: 'Record<string, unknown>',
|
|
16
16
|
download_url: [:string, nullable: true]
|
|
17
17
|
|
|
18
|
-
attributes :authorized_clicks, :authorized_days, :byte_size, :
|
|
18
|
+
attributes :authorized_clicks, :authorized_days, :byte_size, :provider_settings
|
|
19
19
|
attributes created_at: :iso8601, updated_at: :iso8601
|
|
20
20
|
|
|
21
|
+
api_type_attributes :provider_type
|
|
22
|
+
|
|
21
23
|
# Human-readable source for the admin listing. Blank provider_type is
|
|
22
24
|
# the uploaded-file default, so this reads "File" there.
|
|
23
25
|
attribute :provider_name do |digital_asset|
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
module Spree
|
|
2
|
+
module Api
|
|
3
|
+
module V3
|
|
4
|
+
module Admin
|
|
5
|
+
class EmailTemplateDraftSerializer < V3::BaseSerializer
|
|
6
|
+
typelize subject: [:string, nullable: true],
|
|
7
|
+
body: :string,
|
|
8
|
+
lock_version: :number,
|
|
9
|
+
updated_by_id: [:string, nullable: true],
|
|
10
|
+
updated_by_type: [:string, nullable: true, enum: Spree::Actor::BUILT_IN_KINDS, enum_type_name: 'ActorKind']
|
|
11
|
+
|
|
12
|
+
attributes :subject, :body, :lock_version, created_at: :iso8601, updated_at: :iso8601
|
|
13
|
+
|
|
14
|
+
actor_attributes :updated_by
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
module Spree
|
|
2
|
+
module Api
|
|
3
|
+
module V3
|
|
4
|
+
module Admin
|
|
5
|
+
# A rendered preview of an email template, with the variables it was
|
|
6
|
+
# rendered with, as example values for the editor.
|
|
7
|
+
class EmailTemplatePreviewSerializer < V3::BaseSerializer
|
|
8
|
+
typelize id: [:string, nullable: true],
|
|
9
|
+
subject: :string,
|
|
10
|
+
html: :string,
|
|
11
|
+
text: :string,
|
|
12
|
+
email_key: :string,
|
|
13
|
+
variables: 'Record<string, unknown>'
|
|
14
|
+
|
|
15
|
+
attribute :subject do |preview|
|
|
16
|
+
preview.rendered.subject
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
attribute :html do |preview|
|
|
20
|
+
preview.rendered.html
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
attribute :text do |preview|
|
|
24
|
+
preview.rendered.text
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
# The email the preview renders: the template itself, or for the
|
|
28
|
+
# layout and partials, the email shown around them.
|
|
29
|
+
attribute :email_key do |preview|
|
|
30
|
+
preview.email.key.tr('/', '.')
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
attribute :variables, &:variables
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
end
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
module Spree
|
|
2
|
+
module Api
|
|
3
|
+
module V3
|
|
4
|
+
module Admin
|
|
5
|
+
class EmailTemplateRevisionSerializer < V3::BaseSerializer
|
|
6
|
+
typelize subject: [:string, nullable: true],
|
|
7
|
+
body: :string,
|
|
8
|
+
published_by_id: [:string, nullable: true],
|
|
9
|
+
published_by_type: [:string, nullable: true, enum: Spree::Actor::BUILT_IN_KINDS, enum_type_name: 'ActorKind']
|
|
10
|
+
|
|
11
|
+
attributes :subject, :body, created_at: :iso8601
|
|
12
|
+
|
|
13
|
+
actor_attributes :published_by
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
end
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
module Spree
|
|
2
|
+
module Api
|
|
3
|
+
module V3
|
|
4
|
+
module Admin
|
|
5
|
+
# An editable email template for one language: what customers receive
|
|
6
|
+
# now (the store's published version, else Spree's default), Spree's
|
|
7
|
+
# default, and the draft in progress.
|
|
8
|
+
class EmailTemplateSerializer < V3::BaseSerializer
|
|
9
|
+
typelize key: :string,
|
|
10
|
+
kind: [:string, enum: Spree::Emails::EditableTemplates::KINDS.map(&:to_s)],
|
|
11
|
+
language: :string,
|
|
12
|
+
customized: :boolean,
|
|
13
|
+
customized_languages: [:string, multi: true],
|
|
14
|
+
subject: [:string, nullable: true],
|
|
15
|
+
body: :string,
|
|
16
|
+
published_at: [:string, nullable: true],
|
|
17
|
+
published_language: [:string, nullable: true],
|
|
18
|
+
default_subject: [:string, nullable: true],
|
|
19
|
+
default_body: :string,
|
|
20
|
+
default_changed: :boolean,
|
|
21
|
+
base_subject: [:string, nullable: true],
|
|
22
|
+
base_body: [:string, nullable: true],
|
|
23
|
+
draft: ['EmailTemplateDraft', nullable: true]
|
|
24
|
+
|
|
25
|
+
attributes :key, :subject, :body
|
|
26
|
+
|
|
27
|
+
# A language code, or `any` for the version every language uses.
|
|
28
|
+
attribute :language, &:locale
|
|
29
|
+
|
|
30
|
+
attribute :customized_languages, &:customized_locales
|
|
31
|
+
|
|
32
|
+
attribute :kind do |entry|
|
|
33
|
+
entry.kind.to_s
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
attribute :customized, &:customized?
|
|
37
|
+
|
|
38
|
+
attribute :published_at do |entry|
|
|
39
|
+
entry.published&.published_at&.iso8601
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
attributes :default_subject, :default_body
|
|
43
|
+
|
|
44
|
+
# `any` when this language has no version of its own and customers
|
|
45
|
+
# receive the one for every language.
|
|
46
|
+
attribute :published_language, &:published_locale
|
|
47
|
+
|
|
48
|
+
attribute :default_changed do |entry|
|
|
49
|
+
entry.outdated_version.present?
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
# The default the store's version started from, when Spree's default
|
|
53
|
+
# has changed since: compare it with `default_body` to see what changed.
|
|
54
|
+
attributes :base_subject, :base_body
|
|
55
|
+
|
|
56
|
+
one :draft, resource: proc { Spree.api.admin_email_template_draft_serializer }
|
|
57
|
+
end
|
|
58
|
+
end
|
|
59
|
+
end
|
|
60
|
+
end
|
|
61
|
+
end
|
|
@@ -13,9 +13,7 @@ module Spree
|
|
|
13
13
|
|
|
14
14
|
attributes :memo, :metadata, created_at: :iso8601, updated_at: :iso8601
|
|
15
15
|
|
|
16
|
-
|
|
17
|
-
exchange.stock_location&.prefixed_id
|
|
18
|
-
end
|
|
16
|
+
prefixed_id_attributes :stock_location
|
|
19
17
|
|
|
20
18
|
actor_attributes :created_by
|
|
21
19
|
|
|
@@ -23,13 +23,7 @@ module Spree
|
|
|
23
23
|
# it — whose it is. A null `seller_id` means the operator's own.
|
|
24
24
|
# The name rides along so the list can show who without a second
|
|
25
25
|
# request per row.
|
|
26
|
-
|
|
27
|
-
export.store&.prefixed_id
|
|
28
|
-
end
|
|
29
|
-
|
|
30
|
-
attribute :seller_id do |export|
|
|
31
|
-
export.seller&.prefixed_id
|
|
32
|
-
end
|
|
26
|
+
prefixed_id_attributes :store, :seller
|
|
33
27
|
|
|
34
28
|
attribute :seller_name do |export|
|
|
35
29
|
export.seller&.name
|
|
@@ -17,13 +17,7 @@ module Spree
|
|
|
17
17
|
|
|
18
18
|
attributes :quantity, :status
|
|
19
19
|
|
|
20
|
-
|
|
21
|
-
item.variant&.prefixed_id
|
|
22
|
-
end
|
|
23
|
-
|
|
24
|
-
attribute :line_item_id do |item|
|
|
25
|
-
item.line_item&.prefixed_id
|
|
26
|
-
end
|
|
20
|
+
prefixed_id_attributes :variant, :line_item
|
|
27
21
|
|
|
28
22
|
attribute :name do |item|
|
|
29
23
|
item.variant&.product&.name
|
|
@@ -23,13 +23,7 @@ module Spree
|
|
|
23
23
|
attributes :metadata, :adjustment_total, :pre_tax_amount,
|
|
24
24
|
created_at: :iso8601, updated_at: :iso8601
|
|
25
25
|
|
|
26
|
-
|
|
27
|
-
fulfillment.order&.prefixed_id
|
|
28
|
-
end
|
|
29
|
-
|
|
30
|
-
attribute :stock_location_id do |fulfillment|
|
|
31
|
-
fulfillment.stock_location&.prefixed_id
|
|
32
|
-
end
|
|
26
|
+
prefixed_id_attributes :order, :stock_location
|
|
33
27
|
|
|
34
28
|
# Customs forms and other paperwork the provider produced beside the
|
|
35
29
|
# label; the labels themselves are listed under +labels+.
|
|
@@ -24,13 +24,7 @@ module Spree
|
|
|
24
24
|
params[:gift_card_codes] ? gift_card.display_code : gift_card.masked_code
|
|
25
25
|
end
|
|
26
26
|
|
|
27
|
-
|
|
28
|
-
gift_card.customer&.prefixed_id
|
|
29
|
-
end
|
|
30
|
-
|
|
31
|
-
attribute :created_by_id do |gift_card|
|
|
32
|
-
gift_card.created_by&.prefixed_id
|
|
33
|
-
end
|
|
27
|
+
prefixed_id_attributes :customer, :created_by
|
|
34
28
|
|
|
35
29
|
# Customer the card was issued to. Gated behind `expand?` to keep
|
|
36
30
|
# the list payload thin — the SPA's list view passes
|
|
@@ -44,9 +44,7 @@ module Spree
|
|
|
44
44
|
# Empty on a shop-price or hand-negotiated line. Names ride along
|
|
45
45
|
# beside the ids so a page of lines does not cost a request each to
|
|
46
46
|
# label, as `company_name` already does.
|
|
47
|
-
|
|
48
|
-
line_item.price_list&.prefixed_id
|
|
49
|
-
end
|
|
47
|
+
prefixed_id_attributes :price_list
|
|
50
48
|
|
|
51
49
|
attribute :price_list_name do |line_item|
|
|
52
50
|
line_item.price_list&.name
|
|
@@ -64,9 +62,7 @@ module Spree
|
|
|
64
62
|
line_item.cost_price&.to_s
|
|
65
63
|
end
|
|
66
64
|
|
|
67
|
-
|
|
68
|
-
line_item.tax_category&.prefixed_id
|
|
69
|
-
end
|
|
65
|
+
prefixed_id_attributes :tax_category
|
|
70
66
|
|
|
71
67
|
# Override inherited associations to use admin serializers
|
|
72
68
|
many :option_values, resource: proc { Spree.api.admin_option_value_serializer }
|
|
@@ -3,11 +3,13 @@ module Spree
|
|
|
3
3
|
module V3
|
|
4
4
|
module Admin
|
|
5
5
|
class MarketSerializer < V3::MarketSerializer
|
|
6
|
-
typelize tax_provider: [:string, nullable: true]
|
|
6
|
+
typelize tax_provider: [:string, nullable: true, comment: 'Tax provider; null uses the store default. Built-in: internal. Provider gems register more.']
|
|
7
|
+
|
|
8
|
+
attributes created_at: :iso8601, updated_at: :iso8601
|
|
7
9
|
|
|
8
10
|
# Which tax engine computes for this market. Nil means the store-wide
|
|
9
11
|
# default; the selectable values come from /admin/tax_providers.
|
|
10
|
-
|
|
12
|
+
api_type_attributes :tax_provider
|
|
11
13
|
|
|
12
14
|
many :countries,
|
|
13
15
|
resource: proc { Spree.api.admin_country_serializer },
|
|
@@ -57,9 +57,7 @@ module Spree
|
|
|
57
57
|
asset.attachment_blob&.signed_id
|
|
58
58
|
end
|
|
59
59
|
|
|
60
|
-
|
|
61
|
-
asset.viewable&.prefixed_id
|
|
62
|
-
end
|
|
60
|
+
prefixed_id_attributes :viewable
|
|
63
61
|
|
|
64
62
|
# Forces Content-Disposition: attachment so admins downloading from
|
|
65
63
|
# cloud storage (S3) get a save-as instead of an inline view. Mirrors
|
|
@@ -19,9 +19,7 @@ module Spree
|
|
|
19
19
|
|
|
20
20
|
# Lets the dashboard hide destructive controls instead of offering a
|
|
21
21
|
# delete that the model will refuse.
|
|
22
|
-
attribute :can_be_deleted
|
|
23
|
-
reason.can_be_deleted?
|
|
24
|
-
end
|
|
22
|
+
attribute :can_be_deleted, &:can_be_deleted?
|
|
25
23
|
end
|
|
26
24
|
end
|
|
27
25
|
end
|
|
@@ -17,9 +17,7 @@ module Spree
|
|
|
17
17
|
store_owner_notification_delivered: :boolean,
|
|
18
18
|
created_at: :string, updated_at: :string
|
|
19
19
|
|
|
20
|
-
|
|
21
|
-
group.customer&.prefixed_id
|
|
22
|
-
end
|
|
20
|
+
prefixed_id_attributes :customer
|
|
23
21
|
|
|
24
22
|
attribute :cart_id do |group|
|
|
25
23
|
Spree::Cart.prefixed_id_for(group.cart_id)
|
|
@@ -28,13 +26,9 @@ module Spree
|
|
|
28
26
|
# How many sellers this checkout reached — the operator's headline
|
|
29
27
|
# question about a group, and cheaper than counting the orders client
|
|
30
28
|
# side once a group is large.
|
|
31
|
-
|
|
32
|
-
group.seller_count
|
|
33
|
-
end
|
|
29
|
+
attributes :seller_count
|
|
34
30
|
|
|
35
|
-
attribute :includes_first_party
|
|
36
|
-
group.includes_first_party?
|
|
37
|
-
end
|
|
31
|
+
attribute :includes_first_party, &:includes_first_party?
|
|
38
32
|
|
|
39
33
|
# A split checkout is confirmed once, from here — every child order
|
|
40
34
|
# places silently, so their own flags are false and only the group
|
|
@@ -22,9 +22,7 @@ module Spree
|
|
|
22
22
|
rule.class.api_type
|
|
23
23
|
end
|
|
24
24
|
|
|
25
|
-
|
|
26
|
-
rule.channel&.prefixed_id
|
|
27
|
-
end
|
|
25
|
+
prefixed_id_attributes :channel
|
|
28
26
|
|
|
29
27
|
attribute :preferences, &:serialized_preferences
|
|
30
28
|
attribute :preference_schema, &:serialized_preference_schema
|
|
@@ -74,9 +74,7 @@ module Spree
|
|
|
74
74
|
canceled_at: :iso8601, approved_at: :iso8601,
|
|
75
75
|
created_at: :iso8601, updated_at: :iso8601
|
|
76
76
|
|
|
77
|
-
|
|
78
|
-
order.preferred_stock_location&.prefixed_id
|
|
79
|
-
end
|
|
77
|
+
prefixed_id_attributes :preferred_stock_location
|
|
80
78
|
|
|
81
79
|
# Our own endpoint rather than a pre-signed storage URL: the
|
|
82
80
|
# controller streams the bytes, so admin auth runs on every download
|
|
@@ -90,9 +88,7 @@ module Spree
|
|
|
90
88
|
# Which company node the order is for, so the dashboard can show and
|
|
91
89
|
# change it. Read back from the column rather than #resolved_company:
|
|
92
90
|
# a placed order must report what it was stamped with.
|
|
93
|
-
|
|
94
|
-
order.company&.prefixed_id
|
|
95
|
-
end
|
|
91
|
+
prefixed_id_attributes :company
|
|
96
92
|
|
|
97
93
|
attribute :company_name do |order|
|
|
98
94
|
order.company&.name
|
|
@@ -100,9 +96,7 @@ module Spree
|
|
|
100
96
|
|
|
101
97
|
# Whose sale this is — nil on the operator's own goods. The full
|
|
102
98
|
# profile is `?expand=seller`.
|
|
103
|
-
|
|
104
|
-
order.seller&.prefixed_id
|
|
105
|
-
end
|
|
99
|
+
prefixed_id_attributes :seller
|
|
106
100
|
|
|
107
101
|
one :seller,
|
|
108
102
|
resource: proc { Spree.api.admin_seller_serializer },
|
|
@@ -136,9 +130,7 @@ module Spree
|
|
|
136
130
|
# secret key names the key.
|
|
137
131
|
actor_attributes :approver, :canceler, :created_by
|
|
138
132
|
|
|
139
|
-
|
|
140
|
-
order.cancel_reason&.prefixed_id
|
|
141
|
-
end
|
|
133
|
+
prefixed_id_attributes :cancel_reason
|
|
142
134
|
|
|
143
135
|
# The reason's name alongside its id, so an order list can show why
|
|
144
136
|
# each canceled order was called off without expanding a record per
|
|
@@ -147,9 +139,7 @@ module Spree
|
|
|
147
139
|
order.cancel_reason&.name
|
|
148
140
|
end
|
|
149
141
|
|
|
150
|
-
|
|
151
|
-
order.customer&.prefixed_id
|
|
152
|
-
end
|
|
142
|
+
prefixed_id_attributes :customer
|
|
153
143
|
|
|
154
144
|
# Override inherited associations to use admin serializers
|
|
155
145
|
# Renamed from the store's `discounts` key: on the admin surface that
|
|
@@ -39,9 +39,7 @@ module Spree
|
|
|
39
39
|
# Whose packaging this is: a seller's own, or (null) the
|
|
40
40
|
# marketplace's shared vocabulary
|
|
41
41
|
# (docs/plans/6.0-seller-package-types.md).
|
|
42
|
-
|
|
43
|
-
package_type.seller&.prefixed_id
|
|
44
|
-
end
|
|
42
|
+
prefixed_id_attributes :seller
|
|
45
43
|
|
|
46
44
|
attribute :seller_name do |package_type|
|
|
47
45
|
package_type.seller&.name
|
|
@@ -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') }
|