0
0
Fork 1
Spiegel von https://github.com/paviliondev/discourse-custom-wizard.git synchronisiert 2024-11-22 17:30:29 +01:00
discourse-custom-wizard/assets/javascripts/discourse/components/wizard-subscription-authorize.js
2023-09-22 11:22:27 +01:00

51 Zeilen
1,4 KiB
JavaScript

import { action, set } from "@ember/object";
import { inject as service } from "@ember/service";
import Component from "@glimmer/component";
import { tracked } from "@glimmer/tracking";
import { ajax } from "discourse/lib/ajax";
import { popupAjaxError } from "discourse/lib/ajax-error";
export default class WizardSubscriptionAuthorize extends Component {
basePath = "/admin/plugins/subscription-client/suppliers";
@service siteSettings;
@tracked supplierId = null;
@tracked authorized = false;
@tracked unauthorizing = false;
constructor() {
super(...arguments);
ajax("/admin/plugins/subscription-client/suppliers").then((result) => {
console.log(result)
this.supplierId = result.suppliers[0].id;
this.authorized = result.suppliers[0].authorized;
})
}
@action
authorize() {
window.location.href = `${this.basePath}/authorize?supplier_id=${this.supplierId}&final_landing_path=/admin/wizards/wizard`;
}
@action
deauthorize() {
this.unauthorizing = true;
ajax(`${this.basePath}/authorize`, {
type: "DELETE",
data: {
supplier_id: this.supplierId,
},
})
.then((result) => {
console.log(result);
this.supplierId = result.supplier.id;
this.authorized = !(result.supplier.authorized_at === null);
})
.finally(() => {
this.unauthorizing = false;
})
.catch(popupAjaxError);
};
}