Sha256: 65c06c2fa063d179d552d562492b4cd945ccbe287aead5a9fc6e5e4ef287a520

Contents?: true

Size: 1.11 KB

Versions: 27

Compression:

Stored size: 1.11 KB

Contents

# frozen_string_literal: true

module DiscourseSubscriptionClient
  class AdminController < ApplicationController
    requires_login
    before_action :ensure_can_manage_subscriptions

    def index
      respond_to do |format|
        format.html do
          render :index
        end
        format.json do
          render_json_dump(
            authorized_supplier_count: SubscriptionClientSupplier.authorized.count,
            resource_count: SubscriptionClientResource.count
          )
        end
      end
    end

    def ensure_can_manage_subscriptions
      Guardian.new(current_user).ensure_can_manage_subscriptions!
    end

    def failed_json
      { failed: "FAILED" }
    end

    def success_json
      { success: "OK" }
    end

    def render_serialized(objects, serializer, opts = {})
      render_json_dump(serialize_data(objects, serializer, opts))
    end

    def serialize_data(objects, serializer, opts = {})
      ActiveModel::ArraySerializer.new(objects.to_a, opts.merge(each_serializer: serializer)).as_json
    end

    def render_json_dump(json)
      render json: json, status: 200
    end
  end
end

Version data entries

27 entries across 27 versions & 1 rubygems

Version Path
discourse_subscription_client-0.1.11 app/controllers/discourse_subscription_client/admin_controller.rb
discourse_subscription_client-0.1.10 app/controllers/discourse_subscription_client/admin_controller.rb
discourse_subscription_client-0.1.9 app/controllers/discourse_subscription_client/admin_controller.rb
discourse_subscription_client-0.1.8 app/controllers/discourse_subscription_client/admin_controller.rb
discourse_subscription_client-0.1.7 app/controllers/discourse_subscription_client/admin_controller.rb
discourse_subscription_client-0.1.6 app/controllers/discourse_subscription_client/admin_controller.rb
discourse_subscription_client-0.1.5 app/controllers/discourse_subscription_client/admin_controller.rb
discourse_subscription_client-0.1.4 app/controllers/discourse_subscription_client/admin_controller.rb
discourse_subscription_client-0.1.3 app/controllers/discourse_subscription_client/admin_controller.rb
discourse_subscription_client-0.1.2 app/controllers/discourse_subscription_client/admin_controller.rb
discourse_subscription_client-0.1.1 app/controllers/discourse_subscription_client/admin_controller.rb
discourse_subscription_client-0.1.0 app/controllers/discourse_subscription_client/admin_controller.rb
discourse_subscription_client-0.1.0.pre15 app/controllers/discourse_subscription_client/admin_controller.rb
discourse_subscription_client-0.1.0.pre14 app/controllers/discourse_subscription_client/admin_controller.rb
discourse_subscription_client-0.1.0.pre13 app/controllers/discourse_subscription_client/admin_controller.rb
discourse_subscription_client-0.1.0.pre12 app/controllers/discourse_subscription_client/admin_controller.rb
discourse_subscription_client-0.1.0.pre11 app/controllers/discourse_subscription_client/admin_controller.rb
discourse_subscription_client-0.1.0.pre10 app/controllers/discourse_subscription_client/admin_controller.rb
discourse_subscription_client-0.1.0.pre9 app/controllers/discourse_subscription_client/admin_controller.rb
discourse_subscription_client-0.1.0.pre8 app/controllers/discourse_subscription_client/admin_controller.rb