Sha256: c08eb41179bcf1bb9bed8de9ad480c2e8683f89c8f9f2b15a22536aa2bf944de

Contents?: true

Size: 1.61 KB

Versions: 13

Compression:

Stored size: 1.61 KB

Contents

module Spree
  module Api
    module V2
      module Storefront
        module Account
          class CreditCardsController < ::Spree::Api::V2::BaseController
            before_action :require_spree_current_user

            def index
              render_serialized_payload { serialize_collection(resource) }
            end

            def show
              render_serialized_payload { serialize_resource(resource) }
            end

            private

            def resource
              resource_finder.new.execute(scope: scope, params: params)
            end

            def collection_serializer
              Spree::Api::Dependencies.storefront_credit_card_serializer.constantize
            end

            def resource_serializer
              Spree::Api::Dependencies.storefront_credit_card_serializer.constantize
            end

            def resource_finder
              Spree::Api::Dependencies.storefront_credit_card_finder.constantize
            end

            def serialize_collection(collection)
              collection_serializer.new(
                collection,
                include: resource_includes,
                fields: sparse_fields
              ).serializable_hash
            end

            def serialize_resource(resource)
              resource_serializer.new(
                resource,
                include: resource_includes,
                fields: sparse_fields
              ).serializable_hash
            end

            def scope
              spree_current_user.credit_cards.accessible_by(current_ability, :read)
            end
          end
        end
      end
    end
  end
end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
spree_api-3.7.11 app/controllers/spree/api/v2/storefront/account/credit_cards_controller.rb
spree_api-3.7.10 app/controllers/spree/api/v2/storefront/account/credit_cards_controller.rb
spree_api-3.7.9 app/controllers/spree/api/v2/storefront/account/credit_cards_controller.rb
spree_api-3.7.8 app/controllers/spree/api/v2/storefront/account/credit_cards_controller.rb
spree_api-3.7.7 app/controllers/spree/api/v2/storefront/account/credit_cards_controller.rb
spree_api-3.7.6 app/controllers/spree/api/v2/storefront/account/credit_cards_controller.rb
spree_api-3.7.5 app/controllers/spree/api/v2/storefront/account/credit_cards_controller.rb
spree_api-3.7.4 app/controllers/spree/api/v2/storefront/account/credit_cards_controller.rb
spree_api-3.7.3 app/controllers/spree/api/v2/storefront/account/credit_cards_controller.rb
spree_api-3.7.2 app/controllers/spree/api/v2/storefront/account/credit_cards_controller.rb
spree_api-3.7.1 app/controllers/spree/api/v2/storefront/account/credit_cards_controller.rb
spree_api-3.7.0 app/controllers/spree/api/v2/storefront/account/credit_cards_controller.rb
spree_api-3.7.0.rc3 app/controllers/spree/api/v2/storefront/account/credit_cards_controller.rb