1
0
Fork 0
discourse-custom-wizard-unl.../controllers/custom_wizard/admin/pro.rb
2021-08-18 14:59:43 +08:00

46 Zeilen
Kein EOL
1,2 KiB
Ruby

# frozen_string_literal: true
class CustomWizard::AdminProController < CustomWizard::AdminController
skip_before_action :check_xhr, :preload_json, :verify_authenticity_token, only: [:authorize, :authorize_callback]
def index
render_serialized(CustomWizard::Pro.new, CustomWizard::ProSerializer, root: false)
end
def authorize
request_id = SecureRandom.hex(32)
cookies[:user_api_request_id] = request_id
redirect_to CustomWizard::Pro.auth_request(current_user.id, request_id).to_s
end
def authorize_callback
payload = params[:payload]
request_id = cookies[:user_api_request_id]
CustomWizard::Pro.auth_response(request_id, payload)
CustomWizard::Pro.update_subscription
redirect_to '/admin/wizards/pro'
end
def destroy
if CustomWizard::ProAuthentication.destroy
render json: success_json
else
render json: failed_json
end
end
def update_subscription
if CustomWizard::Pro.update
render json: success_json.merge(
subscription: CustomWizard::ProSubscriptionSerializer.new(
CustomWizard::ProSubscription.new,
root: false
)
)
else
render json: failed_json
end
end
end