DEV: fix linter issues

This commit is contained in:
spirobel 2023-07-13 14:17:19 +08:00 committed by Blake Erickson
parent ff981f76e8
commit bf7079928e
6 changed files with 69 additions and 59 deletions

View File

@ -1,3 +1,5 @@
# frozen_string_literal: true
module StripeDiscourseSubscriptions
class PricingtableController < ::ApplicationController
def index

View File

@ -1,5 +1,6 @@
import Controller from "@ember/controller";
import Ember from 'ember';
import Ember from "ember";
import { htmlSafe } from "@ember/template";
import I18n from "I18n";
export default Controller.extend({
@ -8,28 +9,29 @@ export default Controller.extend({
this._super(...arguments);
// Additional custom initialization code
if (this.currentUser) {
this.currentUser.checkEmail().then((r)=>this.set('email',this.currentUser.email))
this.currentUser
.checkEmail()
.then(() => this.set("email", this.currentUser.email));
}
},
pricingTable: Ember.computed('email', function() {
pricingTable: Ember.computed("email", function () {
try {
const pricing_table_info = JSON.parse(this.siteSettings.discourse_subscriptions_pricing_table)
const pricing_table_info = JSON.parse(
this.siteSettings.discourse_subscriptions_pricing_table
);
if (this.currentUser) {
return`<stripe-pricing-table
return htmlSafe(`<stripe-pricing-table
pricing-table-id="${pricing_table_info.pricingTableId}"
publishable-key="${pricing_table_info.publishableKey}"
customer-email="${this.email}"></stripe-pricing-table>`;
customer-email="${this.email}"></stripe-pricing-table>`);
} else {
return`<stripe-pricing-table
return htmlSafe(`<stripe-pricing-table
pricing-table-id="${pricing_table_info.pricingTableId}"
publishable-key="${pricing_table_info.publishableKey}"
></stripe-pricing-table>`;
></stripe-pricing-table>`);
}
} catch (error) {
return I18n.t("discourse_subscriptions.subscribe.no_products")
return I18n.t("discourse_subscriptions.subscribe.no_products");
}
}),
});

View File

@ -25,26 +25,32 @@ export default {
});
if (user.admin) {
api.modifyClassStatic('model:site-setting', {
pluginId: 'discourse-subscriptions',
api.modifyClassStatic("model:site-setting", {
pluginId: "discourse-subscriptions",
update(key, value, opts = {}) {
if (key === "discourse_subscriptions_pricing_table") {
const inputString = value;
// Extract pricing-table-id
const pricingTableIdRegex = /pricing-table-id="([^"]+)"/;
const pricingTableIdMatch = inputString.match(pricingTableIdRegex);
const pricingTableId = pricingTableIdMatch ? pricingTableIdMatch[1] : null;
const pricingTableIdMatch =
inputString.match(pricingTableIdRegex);
const pricingTableId = pricingTableIdMatch
? pricingTableIdMatch[1]
: null;
// Extract publishable-key
const publishableKeyRegex = /publishable-key="([^"]+)"/;
const publishableKeyMatch = inputString.match(publishableKeyRegex);
const publishableKey = publishableKeyMatch ? publishableKeyMatch[1] : null;
const publishableKeyMatch =
inputString.match(publishableKeyRegex);
const publishableKey = publishableKeyMatch
? publishableKeyMatch[1]
: null;
if (pricingTableId && publishableKey) {
value = JSON.stringify({pricingTableId,publishableKey})
value = JSON.stringify({ pricingTableId, publishableKey });
}
}
this._super(key, value, opts);
}
},
});
}
}

View File

@ -1,3 +1,3 @@
export default function () {
this.route("subscriptions")
this.route("subscriptions");
}

View File

@ -1,3 +1,3 @@
<div class="container">
{{{pricingTable}}}
{{pricingTable}}
</div>

View File

@ -70,16 +70,16 @@ after_initialize do
module ::StripeDiscourseSubscriptions
class Engine < ::Rails::Engine
engine_name 'stripe-discourse-subscriptions'
engine_name "stripe-discourse-subscriptions"
isolate_namespace StripeDiscourseSubscriptions
end
end
StripeDiscourseSubscriptions::Engine.routes.draw do
get "/" => "pricingtable#index"
end
StripeDiscourseSubscriptions::Engine.routes.draw { get "/" => "pricingtable#index" }
require_relative "app/controllers/discourse_subscriptions/pricingtable_controller.rb"
Discourse::Application.routes.append { mount ::StripeDiscourseSubscriptions::Engine, at: "subscriptions" }
Discourse::Application.routes.append do
mount ::StripeDiscourseSubscriptions::Engine, at: "subscriptions"
end
::Stripe.set_app_info(
"Discourse Subscriptions",