Sha256: 6c64125539c0d18e014b0591a3e9ac8a7cbd4b3e15365fca4302504a730b2615
Contents?: true
Size: 1.19 KB
Versions: 1
Compression:
Stored size: 1.19 KB
Contents
class SolidusSubscriptions::Api::V1::SubscriptionsController < Spree::Api::BaseController before_action :load_subscription, only: [:cancel, :update, :skip] def update if @subscription.update(subscription_params) render json: @subscription.to_json(include: [:line_items, :shipping_address]) else render json: @subscription.errors.to_json, status: 422 end end def skip if @subscription.skip render json: @subscription.to_json else render json: @subscription.errors.to_json, status: 422 end end def cancel if @subscription.cancel render json: @subscription.to_json else render json: @subscription.errors.to_json, status: 422 end end private def load_subscription @subscription = current_api_user.subscriptions.find(params[:id]) end def subscription_params params.require(:subscription).permit( line_items_attributes: line_item_attributes, shipping_address_attributes: Spree::PermittedAttributes.address_attributes ) end def line_item_attributes SolidusSubscriptions::Config.subscription_line_item_attributes - [:subscribable_id] + [:id] end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
solidus_subscriptions-alpha-0.0.4 | app/controllers/solidus_subscriptions/api/v1/subscriptions_controller.rb |