Class: Ecoportal::API::GraphQL

Inherits:
Object
  • Object
show all
Includes:
Common::GraphQL::ClassHelpers
Defined in:
lib/ecoportal/api/graphql.rb,
lib/ecoportal/api/graphql/base.rb,
lib/ecoportal/api/graphql/error.rb,
lib/ecoportal/api/graphql/input.rb,
lib/ecoportal/api/graphql/logic.rb,
lib/ecoportal/api/graphql/model.rb,
lib/ecoportal/api/graphql/query.rb,
lib/ecoportal/api/graphql/builder.rb,
lib/ecoportal/api/graphql/helpers.rb,
lib/ecoportal/api/graphql/payload.rb,
lib/ecoportal/api/graphql/concerns.rb,
lib/ecoportal/api/graphql/fragment.rb,
lib/ecoportal/api/graphql/mutation.rb,
lib/ecoportal/api/graphql/base/page.rb,
lib/ecoportal/api/graphql/interface.rb,
lib/ecoportal/api/graphql/base/field.rb,
lib/ecoportal/api/graphql/connection.rb,
lib/ecoportal/api/graphql/model/page.rb,
lib/ecoportal/api/graphql/model/user.rb,
lib/ecoportal/api/graphql/base/action.rb,
lib/ecoportal/api/graphql/logic/input.rb,
lib/ecoportal/api/graphql/logic/query.rb,
lib/ecoportal/api/graphql/model/field.rb,
lib/ecoportal/api/graphql/builder/page.rb,
lib/ecoportal/api/graphql/input/action.rb,
lib/ecoportal/api/graphql/input/search.rb,
lib/ecoportal/api/graphql/model/action.rb,
lib/ecoportal/api/graphql/query/action.rb,
lib/ecoportal/api/graphql/base/resource.rb,
lib/ecoportal/api/graphql/input/id_diff.rb,
lib/ecoportal/api/graphql/logic/payload.rb,
lib/ecoportal/api/graphql/model/account.rb,
lib/ecoportal/api/graphql/query/actions.rb,
lib/ecoportal/api/graphql/base/date_time.rb,
lib/ecoportal/api/graphql/base/page_info.rb,
lib/ecoportal/api/graphql/builder/action.rb,
lib/ecoportal/api/graphql/logic/mutation.rb,
lib/ecoportal/api/graphql/model/resource.rb,
lib/ecoportal/api/graphql/payload/action.rb,
lib/ecoportal/api/graphql/fragment/action.rb,
lib/ecoportal/api/graphql/mutation/action.rb,
lib/ecoportal/api/graphql/base/page/phased.rb,
lib/ecoportal/api/graphql/builder/register.rb,
lib/ecoportal/api/graphql/logic/base_model.rb,
lib/ecoportal/api/graphql/logic/base_query.rb,
lib/ecoportal/api/graphql/logic/connection.rb,
lib/ecoportal/api/graphql/base/organization.rb,
lib/ecoportal/api/graphql/base/page/section.rb,
lib/ecoportal/api/graphql/connection/action.rb,
lib/ecoportal/api/graphql/logic/query_array.rb,
lib/ecoportal/api/graphql/model/page/phased.rb,
lib/ecoportal/api/graphql/base/location_node.rb,
lib/ecoportal/api/graphql/base/person_member.rb,
lib/ecoportal/api/graphql/model/organization.rb,
lib/ecoportal/api/graphql/model/page/section.rb,
lib/ecoportal/api/graphql/base/file_container.rb,
lib/ecoportal/api/graphql/fragment/pagination.rb,
lib/ecoportal/api/graphql/input/action/create.rb,
lib/ecoportal/api/graphql/input/action/update.rb,
lib/ecoportal/api/graphql/input/search_filter.rb,
lib/ecoportal/api/graphql/input/search_sorter.rb,
lib/ecoportal/api/graphql/interface/base_page.rb,
lib/ecoportal/api/graphql/model/location_node.rb,
lib/ecoportal/api/graphql/model/person_member.rb,
lib/ecoportal/api/graphql/base/action_category.rb,
lib/ecoportal/api/graphql/base/file_attachment.rb,
lib/ecoportal/api/graphql/base/page/data_field.rb,
lib/ecoportal/api/graphql/input/action/archive.rb,
lib/ecoportal/api/graphql/model/file_container.rb,
lib/ecoportal/api/graphql/error/locations_error.rb,
lib/ecoportal/api/graphql/model/file_attachment.rb,
lib/ecoportal/api/graphql/model/page/data_field.rb,
lib/ecoportal/api/graphql/payload/action/create.rb,
lib/ecoportal/api/graphql/payload/action/update.rb,
lib/ecoportal/api/graphql/base/contractor_entity.rb,
lib/ecoportal/api/graphql/base/page/phased/stage.rb,
lib/ecoportal/api/graphql/fragment/location_node.rb,
lib/ecoportal/api/graphql/helpers/locations_tree.rb,
lib/ecoportal/api/graphql/logic/query_connection.rb,
lib/ecoportal/api/graphql/mutation/action/create.rb,
lib/ecoportal/api/graphql/mutation/action/update.rb,
lib/ecoportal/api/graphql/payload/action/archive.rb,
lib/ecoportal/api/graphql/base/location_structure.rb,
lib/ecoportal/api/graphql/error/validation_errors.rb,
lib/ecoportal/api/graphql/fragment/location_draft.rb,
lib/ecoportal/api/graphql/input/contractor_entity.rb,
lib/ecoportal/api/graphql/model/contractor_entity.rb,
lib/ecoportal/api/graphql/model/page/phased/stage.rb,
lib/ecoportal/api/graphql/mutation/action/archive.rb,
lib/ecoportal/api/graphql/query/action_categories.rb,
lib/ecoportal/api/graphql/connection/person_member.rb,
lib/ecoportal/api/graphql/fragment/action_category.rb,
lib/ecoportal/api/graphql/fragment/locations_error.rb,
lib/ecoportal/api/graphql/input/location_structure.rb,
lib/ecoportal/api/graphql/model/location_structure.rb,
lib/ecoportal/api/graphql/query/location_structure.rb,
lib/ecoportal/api/graphql/builder/contractor_entity.rb,
lib/ecoportal/api/graphql/payload/contractor_entity.rb,
lib/ecoportal/api/graphql/query/contractor_entities.rb,
lib/ecoportal/api/graphql/query/location_structures.rb,
lib/ecoportal/api/graphql/builder/location_structure.rb,
lib/ecoportal/api/graphql/connection/action_category.rb,
lib/ecoportal/api/graphql/fragment/contractor_entity.rb,
lib/ecoportal/api/graphql/mutation/contractor_entity.rb,
lib/ecoportal/api/graphql/payload/location_structure.rb,
lib/ecoportal/api/graphql/mutation/location_structure.rb,
lib/ecoportal/api/graphql/connection/contractor_entity.rb,
lib/ecoportal/api/graphql/interface/location_structure.rb,
lib/ecoportal/api/graphql/base/location_structure/draft.rb,
lib/ecoportal/api/graphql/concerns/fragment_definitions.rb,
lib/ecoportal/api/graphql/input/contractor_entity/create.rb,
lib/ecoportal/api/graphql/input/contractor_entity/update.rb,
lib/ecoportal/api/graphql/input/location_structure/draft.rb,
lib/ecoportal/api/graphql/model/location_structure/draft.rb,
lib/ecoportal/api/graphql/query/location_classifications.rb,
lib/ecoportal/api/graphql/query/location_structure/draft.rb,
lib/ecoportal/api/graphql/input/contractor_entity/destroy.rb,
lib/ecoportal/api/graphql/builder/location_structure/draft.rb,
lib/ecoportal/api/graphql/error/locations_validation_error.rb,
lib/ecoportal/api/graphql/payload/contractor_entity/create.rb,
lib/ecoportal/api/graphql/payload/contractor_entity/update.rb,
lib/ecoportal/api/graphql/payload/location_structure/draft.rb,
lib/ecoportal/api/graphql/base/location_classification_type.rb,
lib/ecoportal/api/graphql/interface/location_structure/node.rb,
lib/ecoportal/api/graphql/mutation/contractor_entity/create.rb,
lib/ecoportal/api/graphql/mutation/contractor_entity/update.rb,
lib/ecoportal/api/graphql/mutation/location_structure/draft.rb,
lib/ecoportal/api/graphql/payload/contractor_entity/destroy.rb,
lib/ecoportal/api/graphql/error/locations_error/fetch_nested.rb,
lib/ecoportal/api/graphql/interface/location_structure/nodes.rb,
lib/ecoportal/api/graphql/mutation/contractor_entity/destroy.rb,
lib/ecoportal/api/graphql/interface/location_structure/command.rb,
lib/ecoportal/api/graphql/base/contractor_entity/member_changes.rb,
lib/ecoportal/api/graphql/input/location_structure/draft/create.rb,
lib/ecoportal/api/graphql/input/location_structure/draft/delete.rb,
lib/ecoportal/api/graphql/input/location_structure/move_command.rb,
lib/ecoportal/api/graphql/input/location_structure/draft/publish.rb,
lib/ecoportal/api/graphql/base/location_structure/draft/structure.rb,
lib/ecoportal/api/graphql/input/location_structure/apply_commands.rb,
lib/ecoportal/api/graphql/input/location_structure/delete_command.rb,
lib/ecoportal/api/graphql/input/location_structure/insert_command.rb,
lib/ecoportal/api/graphql/input/location_structure/update_command.rb,
lib/ecoportal/api/graphql/payload/location_structure/draft/create.rb,
lib/ecoportal/api/graphql/payload/location_structure/draft/delete.rb,
lib/ecoportal/api/graphql/input/location_structure/archive_command.rb,
lib/ecoportal/api/graphql/input/location_structure/reorder_command.rb,
lib/ecoportal/api/graphql/model/location_structure/draft/structure.rb,
lib/ecoportal/api/graphql/mutation/location_structure/draft/create.rb,
lib/ecoportal/api/graphql/mutation/location_structure/draft/delete.rb,
lib/ecoportal/api/graphql/payload/location_structure/draft/publish.rb,
lib/ecoportal/api/graphql/mutation/location_structure/draft/publish.rb,
lib/ecoportal/api/graphql/payload/location_structure/apply_commands.rb,
lib/ecoportal/api/graphql/input/location_structure/unarchive_command.rb,
lib/ecoportal/api/graphql/mutation/location_structure/apply_commands.rb,
lib/ecoportal/api/graphql/input/location_structure/draft/add_commands.rb,
lib/ecoportal/api/graphql/payload/location_structure/draft/add_commands.rb,
lib/ecoportal/api/graphql/mutation/location_structure/draft/add_commands.rb,
lib/ecoportal/api/graphql/input/location_structure/draft/drop_bad_commands.rb,
lib/ecoportal/api/graphql/payload/location_structure/draft/drop_bad_commands.rb,
lib/ecoportal/api/graphql/mutation/location_structure/draft/drop_bad_commands.rb,
lib/ecoportal/api/graphql/payload/location_structure/command_execution_result.rb

Defined Under Namespace

Modules: Base, Builder, Concerns, Connection, Error, Helpers, Input, Interface, Logic, Model, Mutation, Payload, Query Classes: Fragment

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(email: nil, pass: nil, org_id: nil, host: "live.ecoportal.com") ⇒ GraphQL

Creates a GraphQL object to interact with the ecoPortal GraphQL API.

Parameters:

  • org_id (String) (defaults to: nil)

    the id of the target organization. It defaults to the environmental variable ORGANIZATION_ID, if defined

  • logger (Logger)

    an object with Logger interface to generate logs.



16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/ecoportal/api/graphql.rb', line 16

def initialize(email: nil, pass: nil, org_id: nil, host: "live.ecoportal.com")
  kargs    = {
    email:     email,
    pass:      pass,
    host:      host,
    org_id:    org_id,
    no_schema: true
  }

  @client    = client_class.new(**kargs)
  @fragments = Ecoportal::API::GraphQL::Fragment.new(client)
end

Instance Attribute Details

#clientCommon::GraphQL::Client (readonly)

a client object that holds the configuration of the api connection.

Returns:



5
6
7
# File 'lib/ecoportal/api/graphql.rb', line 5

def client
  @client
end

#fragmentsObject (readonly)

Returns the value of attribute fragments.



10
11
12
# File 'lib/ecoportal/api/graphql.rb', line 10

def fragments
  @fragments
end

#loggerLogger (readonly)

the logger.

Returns:

  • (Logger)

    the current value of logger



5
6
7
# File 'lib/ecoportal/api/graphql.rb', line 5

def logger
  @logger
end

Instance Method Details

#actionObject

Gives a builder to use different options to play with action



53
54
55
# File 'lib/ecoportal/api/graphql.rb', line 53

def action
  Ecoportal::API::GraphQL::Builder::Action.new(client)
end

#contractorEntityObject



43
44
45
# File 'lib/ecoportal/api/graphql.rb', line 43

def contractorEntity
  Ecoportal::API::GraphQL::Builder::ContractorEntity.new(client)
end

#createContractorEntity(input:, &block) ⇒ Object



39
40
41
# File 'lib/ecoportal/api/graphql.rb', line 39

def createContractorEntity(input:, &block)
  createContractorEntityMutation.query(input: input, &block)
end

#currentOrganizationObject



35
36
37
# File 'lib/ecoportal/api/graphql.rb', line 35

def currentOrganization
  currentOrganizationClass
end

#currentOrganizationClassObject



29
30
31
32
33
# File 'lib/ecoportal/api/graphql.rb', line 29

def currentOrganizationClass
  API::GraphQL::Model::Organization.tap do |org_class|
    org_class.client = client
  end
end

#locationStructureObject

Gives a builder to use different options to modify a reporting structure



48
49
50
# File 'lib/ecoportal/api/graphql.rb', line 48

def locationStructure
  Ecoportal::API::GraphQL::Builder::LocationStructure.new(client)
end