Sha256: a5dbb801322749e7eed3cf6bcacac1f7b8d1c7542311a605b5450e061c9552d7

Contents?: true

Size: 1.54 KB

Versions: 2

Compression:

Stored size: 1.54 KB

Contents

module Ecoportal
  module API
    class GraphQL
      module Query
        class Actions < Ecoportal::API::GraphQL::Base::QueryConnection
          class_resolver :item_class, Ecoportal::API::GraphQL::Model::Action
          class_resolver :connection_class, Ecoportal::API::GraphQL::Connection::Action

          def query(path: default_base_path, **kargs, &block)
            path ||= default_base_path
            request(*path, "actions") do
              graphql_query(**kargs, &basic_block(&block))
            end
          end

          def default_base_path
            ["currentOrganization"]
          end

          private

          def basic_block(&block)
            connection_block = block || default_connection_block
            Proc.new {
              query(searchConf: :Search, after: :string, before: :string, first: :int, last: :int) {
                currentOrganization {
                  actions(
                    searchConf: :searchConf,
                    after: :after,
                    before: :before,
                    first: :first,
                    last: :last,
                    &connection_block
                  )
                }
              }
            }
          end

          def default_connection_block
            Proc.new {
              ___Ecoportal__API__GraphQL__Fragment__Pagination
              nodes {
                ___Ecoportal__API__GraphQL__Fragment__Action
              }
            }
          end
        end
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
ecoportal-api-graphql-0.1.6 lib/ecoportal/api/graphql/query/actions.rb
ecoportal-api-graphql-0.1.5 lib/ecoportal/api/graphql/query/actions.rb