Files
discourse-subscriptions/assets/javascripts/discourse/models/user-subscription.js.es6
T

31 lines
857 B
JavaScript
Raw Normal View History

2019-12-17 16:31:58 +11:00
import EmberObject from "@ember/object";
import discourseComputed from "discourse-common/utils/decorators";
2019-11-01 13:43:09 +11:00
import { ajax } from "discourse/lib/ajax";
2019-12-02 18:58:14 +11:00
import Plan from "discourse/plugins/discourse-subscriptions/discourse/models/plan";
2019-11-01 13:43:09 +11:00
2019-12-17 16:31:58 +11:00
const UserSubscription = EmberObject.extend({
@discourseComputed("status")
2019-11-01 13:43:09 +11:00
canceled(status) {
return status === "canceled";
2019-11-04 16:37:21 +11:00
},
destroy() {
return ajax(`/s/user/subscriptions/${this.id}`, {
2019-11-06 20:59:35 +11:00
method: "delete"
}).then(result => UserSubscription.create(result));
2019-11-01 13:43:09 +11:00
}
});
UserSubscription.reopenClass({
findAll() {
return ajax("/s/user/subscriptions", { method: "get" }).then(result =>
2019-11-01 13:43:09 +11:00
result.map(subscription => {
subscription.plan = Plan.create(subscription.plan);
return UserSubscription.create(subscription);
})
);
}
});
export default UserSubscription;