The code in the plugin needed a dramatic cleanup. This refactor collapses the Plan/Product/Subscription controllers on the backend into one new controller: `SubscribeController`. This reduces N+1 calls to the back end during the subscription process and simplifies use of the code. I've also removed a bunch of dead code and refactored some logic into methods for easier readability. No feature/functionality changes in this commit; only refactoring. However, refactoring will allow for implementation of better anonymous user handling, so this is largely a foundation to enable making that change.
15 lines
316 B
JavaScript
15 lines
316 B
JavaScript
import EmberObject from "@ember/object";
|
|
import { ajax } from "discourse/lib/ajax";
|
|
|
|
const Product = EmberObject.extend({});
|
|
|
|
Product.reopenClass({
|
|
findAll() {
|
|
return ajax("/s", { method: "get" }).then((result) =>
|
|
result.map((product) => Product.create(product))
|
|
);
|
|
},
|
|
});
|
|
|
|
export default Product;
|