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/fragment.rb,
lib/ecoportal/api/graphql/mutation.rb,
lib/ecoportal/api/graphql/base/page.rb,
lib/ecoportal/api/graphql/base/field.rb,
lib/ecoportal/api/graphql/base/model.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/query.rb,
lib/ecoportal/api/graphql/model/field.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/logic/base_query.rb,
lib/ecoportal/api/graphql/logic/connection.rb,
lib/ecoportal/api/graphql/base/organization.rb,
lib/ecoportal/api/graphql/connection/action.rb,
lib/ecoportal/api/graphql/logic/query_array.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/base/file_container.rb,
lib/ecoportal/api/graphql/fragment/pagination.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/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/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/payload/action/update.rb,
lib/ecoportal/api/graphql/base/contractor_entity.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/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/input/contractor_entity.rb,
lib/ecoportal/api/graphql/model/contractor_entity.rb,
lib/ecoportal/api/graphql/mutation/action/archive.rb,
lib/ecoportal/api/graphql/connection/person_member.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/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/input/contractor_entity/create.rb,
lib/ecoportal/api/graphql/input/contractor_entity/update.rb,
lib/ecoportal/api/graphql/query/location_classifications.rb,
lib/ecoportal/api/graphql/input/contractor_entity/destroy.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/base/location_classification_type.rb,
lib/ecoportal/api/graphql/mutation/contractor_entity/create.rb,
lib/ecoportal/api/graphql/mutation/contractor_entity/update.rb,
lib/ecoportal/api/graphql/payload/contractor_entity/destroy.rb,
lib/ecoportal/api/graphql/mutation/contractor_entity/destroy.rb,
lib/ecoportal/api/graphql/input/location_structure/move_command.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/input/location_structure/archive_command.rb,
lib/ecoportal/api/graphql/input/location_structure/reorder_command.rb,
lib/ecoportal/api/graphql/payload/location_structure/apply_commands.rb,
lib/ecoportal/api/graphql/input/location_structure/command_interface.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/payload/location_structure/command_interface.rb,
lib/ecoportal/api/graphql/payload/location_structure/command_execution_result.rb

Defined Under Namespace

Modules: Base, Builder, Connection, Error, Helpers, Input, 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.



14
15
16
17
18
# File 'lib/ecoportal/api/graphql.rb', line 14

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 = Ecoportal::API::Common::GraphQL::Client.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.



8
9
10
# File 'lib/ecoportal/api/graphql.rb', line 8

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



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

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

#contractorEntityObject



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

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

#createContractorEntity(input:, &block) ⇒ Object



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

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

#currentOrganizationObject



26
27
28
# File 'lib/ecoportal/api/graphql.rb', line 26

def currentOrganization
  currentOrganizationClass
end

#currentOrganizationClassObject



20
21
22
23
24
# File 'lib/ecoportal/api/graphql.rb', line 20

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



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

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