Hello! Adding a line item along with an associated...
# support
w
Hello! Adding a line item along with an associated subscription line item to cart via API seems to be failing after upgrading solidus to 3.4, solidus_subscriptions to 2.0 and solidus_stripe to 5.0. Our API request is as follows:
POST /orders/${_orderNumber_}/line_items
Request body:
Copy code
{
  "line_item": {
    "quantity": 1,
    "variant_id": 60
  },
  "subscription_line_item": {
    "quantity": 1,
    "interval_length": "4",
    "interval_units": "week",
    "subscribable_id": 60
  }
}
Response:
Copy code
{
  "status": 500,
  "error": "Internal Server Error"
}
Stack Trace (from GCP logs):
Copy code
Completed 500 Internal Server Error in 122ms (ActiveRecord: 66.0ms | Allocations: 19965)
FATAL -- : [45b5cd62-596f-47a7-9791-658e62037f87]
ArgumentError (wrong number of arguments (given 2, expected 1)):
DEFAULT 2023-05-03T21:24:22.395905Z [45b5cd62-596f-47a7-9791-658e62037f87]
solidus_subscriptions (5b4c7052ace3) app/models/solidus_subscriptions/promotion/rules/subscription_creation_order.rb:27:in `eligible?'
solidus_core (3.4.1) app/models/spree/promotion.rb:166:in `block in eligible_rules'
solidus_core (3.4.1) app/models/spree/promotion.rb:173:in `all?'
solidus_core (3.4.1) app/models/spree/promotion.rb:173:in `eligible_rules'
solidus_core (3.4.1) app/models/spree/promotion.rb:156:in `eligible?'
solidus_core (3.4.1) app/models/spree/promotion.rb:222:in `line_item_actionable?'
solidus_core (3.4.1) app/models/spree/promotion/actions/create_item_adjustments.rb:92:in `block in line_items_to_adjust'
activerecord (7.0.4.3) lib/active_record/relation/delegation.rb:88:in `each'
activerecord (7.0.4.3) lib/active_record/relation/delegation.rb:88:in `each'
activerecord (7.0.4.3) lib/active_record/relation/query_methods.rb:310:in `select'
activerecord (7.0.4.3) lib/active_record/relation/query_methods.rb:310:in `select'
solidus_core (3.4.1) app/models/spree/promotion/actions/create_item_adjustments.rb:90:in `line_items_to_adjust'
solidus_core (3.4.1) app/models/spree/promotion/actions/create_item_adjustments.rb:27:in `perform'
solidus_core (3.4.1) app/models/spree/promotion.rb:128:in `block in activate'
activerecord (7.0.4.3) lib/active_record/relation/delegation.rb:88:in `each'
activerecord (7.0.4.3) lib/active_record/relation/delegation.rb:88:in `each'
solidus_core (3.4.1) app/models/spree/promotion.rb:127:in `map'
solidus_core (3.4.1) app/models/spree/promotion.rb:127:in `activate'
solidus_core (3.4.1) app/models/spree/promotion_handler/cart.rb:28:in `block in activate'
solidus_core (3.4.1) app/models/spree/promotion_handler/cart.rb:26:in `each'
solidus_core (3.4.1) app/models/spree/promotion_handler/cart.rb:26:in `activate'
solidus_core (3.4.1) app/models/spree/order_contents.rb:77:in `after_add_or_remove'
solidus_core (3.4.1) app/models/spree/order_contents.rb:24:in `add'
solidus_api (3.4.1) app/controllers/spree/api/line_items_controller.rb:14:in `create'
actionpack (7.0.4.3) lib/action_controller/metal/basic_implicit_render.rb:6:in `send_action'
actionpack (7.0.4.3) lib/abstract_controller/base.rb:215:in `process_action'
actionpack (7.0.4.3) lib/action_controller/metal/rendering.rb:53:in `process_action'
actionpack (7.0.4.3) lib/abstract_controller/callbacks.rb:234:in `block in process_action'
activesupport (7.0.4.3) lib/active_support/callbacks.rb:118:in `block in run_callbacks'
solidus_api (3.4.1) app/controllers/spree/api/base_controller.rb:162:in `block in lock_order'
solidus_core (3.4.1) app/models/spree/order_mutex.rb:29:in `with_lock!'
solidus_api (3.4.1) app/controllers/spree/api/base_controller.rb:162:in `lock_order'
Any insight would be greatly appreciated!
k
We have a a PR addressing this problem: https://github.com/solidusio/solidus_subscriptions/pull/283
We’ll review, merge and release a new version soon, I’ll keep you posted.