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

40 lines
932 B
JavaScript
Raw Normal View History

2019-11-13 14:21:21 +11:00
import computed from "ember-addons/ember-computed-decorators";
2019-10-14 12:36:46 +11:00
import { ajax } from "discourse/lib/ajax";
2019-11-13 14:21:21 +11:00
const AdminSubscription = Discourse.Model.extend({
2019-11-14 10:51:04 +11:00
@computed("status")
canceled(status) {
return status === "canceled";
},
2019-11-13 14:21:21 +11:00
@computed("metadata")
2019-11-13 15:27:32 +11:00
metadataUserExists(metadata) {
return metadata.user_id && metadata.username;
},
@computed("metadata")
subscriptionUserPath(metadata) {
return Discourse.getURL(
`/admin/users/${metadata.user_id}/${metadata.username}`
);
2019-11-14 10:51:04 +11:00
},
destroy() {
return ajax(`/s/admin/subscriptions/${this.id}`, {
2019-11-14 10:51:04 +11:00
method: "delete"
}).then(result => AdminSubscription.create(result));
2019-11-13 14:21:21 +11:00
}
});
2019-10-14 12:36:46 +11:00
AdminSubscription.reopenClass({
find() {
return ajax("/s/admin/subscriptions", {
2019-11-19 11:01:55 +11:00
method: "get"
}).then(result =>
result.data.map(subscription => AdminSubscription.create(subscription))
2019-10-14 12:36:46 +11:00
);
}
});
export default AdminSubscription;