mirror of
https://github.com/discourse/discourse-subscriptions.git
synced 2025-03-06 01:29:31 +00:00
delete subscription
This commit is contained in:
parent
2a985ae554
commit
ee0901aeca
@ -11,7 +11,7 @@ module DiscoursePatrons
|
||||
customer = DiscoursePatrons::Customer.find_user(current_user)
|
||||
|
||||
if customer.present?
|
||||
subscriptions = ::Stripe::Subscription.list(customer: customer.customer_id)
|
||||
subscriptions = ::Stripe::Subscription.list(customer: customer.customer_id).data
|
||||
else
|
||||
subscriptions = []
|
||||
end
|
||||
@ -49,6 +49,17 @@ module DiscoursePatrons
|
||||
end
|
||||
end
|
||||
|
||||
def destroy
|
||||
begin
|
||||
subscription = ::Stripe::Subscription.delete(params[:id])
|
||||
|
||||
render_json_dump subscription
|
||||
|
||||
rescue ::Stripe::InvalidRequestError => e
|
||||
return render_json_error e.message
|
||||
end
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def plan_group(plan)
|
||||
|
@ -14,7 +14,11 @@ const Subscription = Discourse.Model.extend({
|
||||
};
|
||||
|
||||
return ajax("/patrons/subscriptions", { method: "post", data });
|
||||
}
|
||||
},
|
||||
|
||||
destroy() {
|
||||
return ajax(`/patrons/subscriptions/${this.id}`, { method: "delete" });
|
||||
},
|
||||
});
|
||||
|
||||
Subscription.reopenClass({
|
||||
|
@ -17,7 +17,7 @@ DiscoursePatrons::Engine.routes.draw do
|
||||
resources :patrons, only: [:index, :create]
|
||||
resources :plans, only: [:index]
|
||||
resources :products, only: [:index]
|
||||
resources :subscriptions, only: [:index, :create]
|
||||
resources :subscriptions, only: [:index, :create, :destroy]
|
||||
|
||||
get '/' => 'patrons#index'
|
||||
get '/subscribe' => 'patrons#index'
|
||||
|
@ -10,6 +10,11 @@ module DiscoursePatrons
|
||||
::Stripe::Subscription.expects(:create).never
|
||||
post "/patrons/subscriptions.json", params: { plan: 'plan_1234', customer: 'cus_1234' }
|
||||
end
|
||||
|
||||
it "does not destroy a subscription" do
|
||||
::Stripe::Subscription.expects(:delete).never
|
||||
patch "/patrons/subscriptions/sub_12345.json"
|
||||
end
|
||||
end
|
||||
|
||||
context "authenticated" do
|
||||
@ -120,6 +125,13 @@ module DiscoursePatrons
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
describe "delete" do
|
||||
it "deletes a subscription" do
|
||||
::Stripe::Subscription.expects(:delete).with('sub_12345')
|
||||
delete "/patrons/subscription/sub_12345.json"
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
Loading…
x
Reference in New Issue
Block a user