DEV: continue to use subscribe_controller instead of introducting a new controller

This commit is contained in:
spirobel 2023-07-13 20:12:26 +08:00 committed by Blake Erickson
parent bf7079928e
commit ce988c9512
5 changed files with 17 additions and 46 deletions

View File

@ -1,9 +0,0 @@
# frozen_string_literal: true
module StripeDiscourseSubscriptions
class PricingtableController < ::ApplicationController
def index
head 200
end
end
end

View File

@ -11,20 +11,7 @@ module DiscourseSubscriptions
requires_login except: %i[index contributors show]
def index
begin
product_ids = Product.all.pluck(:external_id)
products = []
if product_ids.present? && is_stripe_configured?
response = ::Stripe::Product.list({ ids: product_ids, active: true })
products = response[:data].map { |p| serialize_product(p) }
end
render_json_dump products
rescue ::Stripe::InvalidRequestError => e
render_json_error e.message
end
head 200
end
def contributors

View File

@ -58,12 +58,14 @@ export default Component.extend({
}
if (this.currentUser && this.showContributors) {
return ajax("/s/contributors", { method: "get" }).then((result) => {
this.setProperties({
contributors: result,
loading: false,
});
});
return ajax("/subscriptions/contributors", { method: "get" }).then(
(result) => {
this.setProperties({
contributors: result,
loading: false,
});
}
);
}
},

View File

@ -40,12 +40,14 @@ const AdminProduct = EmberObject.extend({
AdminProduct.reopenClass({
findAll() {
return ajax("/s/admin/products", { method: "get" }).then((result) => {
if (result === null) {
return { unconfigured: true };
return ajax("/subscriptions/admin/products", { method: "get" }).then(
(result) => {
if (result === null) {
return { unconfigured: true };
}
return result.map((product) => AdminProduct.create(product));
}
return result.map((product) => AdminProduct.create(product));
});
);
},
find(id) {

View File

@ -68,17 +68,8 @@ require_relative "app/controllers/concerns/group"
after_initialize do
::Stripe.api_version = "2024-04-10"
module ::StripeDiscourseSubscriptions
class Engine < ::Rails::Engine
engine_name "stripe-discourse-subscriptions"
isolate_namespace StripeDiscourseSubscriptions
end
end
StripeDiscourseSubscriptions::Engine.routes.draw { get "/" => "pricingtable#index" }
require_relative "app/controllers/discourse_subscriptions/pricingtable_controller.rb"
Discourse::Application.routes.append do
mount ::StripeDiscourseSubscriptions::Engine, at: "subscriptions"
mount ::DiscourseSubscriptions::Engine, at: "subscriptions"
end
::Stripe.set_app_info(
@ -87,8 +78,6 @@ after_initialize do
url: "https://github.com/discourse/discourse-subscriptions",
)
Discourse::Application.routes.append { mount ::DiscourseSubscriptions::Engine, at: "s" }
add_to_serializer(:site, :show_campaign_banner) do
begin
enabled = SiteSetting.discourse_subscriptions_enabled