ecoportal-api-graphql 0.3.10 → 0.3.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b5e8efdf475cb3aeaf0ab102675bbfc20ebae438fccbf05d07f5d650deffbd3e
4
- data.tar.gz: a46e510f42b77e8b83739b66ef4e6a563c4251835c3aa843d9a4623fa80e3b56
3
+ metadata.gz: 9b12afa3ea1f58d4473aa457bfb151284e2d4dcf1d5204c4fa659582a7232866
4
+ data.tar.gz: 62e2fd87c77816df9e4cb34c8f73c11fb07fd6099efa745c156544547671f89a
5
5
  SHA512:
6
- metadata.gz: 70936ba8c2442dd8250565c9fc73be01403ed3f043cb8ec9c0058576ab48f557132145a55bb71b8a1be53c1818e8b9ced8e1cb2739e73edb785ba3af8c8ee7c5
7
- data.tar.gz: e9708d5c7cf2e5366dd426e0cab18b6811241da023b471f93887f3cda41300ee7bd2115427d62441e7b95c8a8321b528e213014a8bcfa8cfcf69171ce8fc95d7
6
+ metadata.gz: 9c7fa3eea6fa7122aa8109f6937a7de14142894a076f8b2a5f12836a3648e096a8d736ea766fb88d569d0cd34ecaad7844a3d516a37552f140be59eb63127e18
7
+ data.tar.gz: cebe218279a8a77a10af2cc21edddb7da52b68fb0c64c5529e3dc659eb5f44db32b4ed3973d4619d8689a190aa63a19ee7b5bbdf64fa4bfa81fe9336f5514d83
data/CHANGELOG.md CHANGED
@@ -9,12 +9,25 @@ All notable changes to this project will be documented in this file.
9
9
  - review `path` tracking
10
10
 
11
11
 
12
- ## [0.3.11] - 2023-08-xx
12
+ ## [0.3.12] - 2023-09-xx
13
13
 
14
14
  ### Added
15
15
  ### Changed
16
16
  ### Fixed
17
17
 
18
+ ## [0.3.12] - 2024-01-27
19
+
20
+ ### Added
21
+ - Exposed `graphql` `Action` `update` and get a single `action`
22
+
23
+ ### Changed
24
+ ### Fixed
25
+
26
+ ## [0.3.11] - 2023-09-19
27
+
28
+ ### Added
29
+ - Exposed `graphql` `ContractorEntity` `create` and `update`
30
+
18
31
  ## [0.3.10] - 2023-08-12
19
32
 
20
33
  ### Fixed
@@ -30,6 +30,10 @@ module Ecoportal
30
30
  embeds_one :openededAt, klass: Base::DateTime
31
31
  embeds_one :closedAt, klass: Base::DateTime
32
32
  embeds_one :dueOrClosedDate, klass: Base::DateTime
33
+
34
+ passboolean :completed
35
+ passthrough :closeDetail
36
+ #passthrough :dueIn # only for templates
33
37
  end
34
38
  end
35
39
  end
@@ -13,11 +13,19 @@ module Ecoportal
13
13
  archiveMutation.query(**kargs, &block)
14
14
  end
15
15
 
16
+ def update(**kargs, &block)
17
+ updateMutation.query(**kargs, &block)
18
+ end
19
+
16
20
  private
17
21
 
18
22
  def archiveMutation
19
23
  Ecoportal::API::GraphQL::Mutation::Action::Archive.new(client)
20
24
  end
25
+
26
+ def updateMutation
27
+ Ecoportal::API::GraphQL::Mutation::Action::Update.new(client)
28
+ end
21
29
  end
22
30
  end
23
31
  end
@@ -0,0 +1,33 @@
1
+ module Ecoportal
2
+ module API
3
+ class GraphQL
4
+ module Builder
5
+ class ContractorEntity
6
+ attr_reader :client
7
+
8
+ def initialize(client)
9
+ @client = client
10
+ end
11
+
12
+ def create(**kargs, &block)
13
+ createMutation.query(**kargs, &block)
14
+ end
15
+
16
+ def update(**kargs, &block)
17
+ updateMutation.query(**kargs, &block)
18
+ end
19
+
20
+ private
21
+
22
+ def createMutation
23
+ Ecoportal::API::GraphQL::Mutation::ContractorEntity::Create.new(client)
24
+ end
25
+
26
+ def updateMutation
27
+ Ecoportal::API::GraphQL::Mutation::ContractorEntity::Update.new(client)
28
+ end
29
+ end
30
+ end
31
+ end
32
+ end
33
+ end
@@ -9,3 +9,4 @@ end
9
9
 
10
10
  require 'ecoportal/api/graphql/builder/location_structure'
11
11
  require 'ecoportal/api/graphql/builder/action'
12
+ require 'ecoportal/api/graphql/builder/contractor_entity'
@@ -10,6 +10,7 @@ module Ecoportal
10
10
  name
11
11
  value
12
12
  }
13
+ actionCategoryId
13
14
  standaloneAction
14
15
  status
15
16
  relativeStatus
@@ -0,0 +1,14 @@
1
+ module Ecoportal
2
+ module API
3
+ class GraphQL
4
+ module Input
5
+ module Action
6
+ class Update < Ecoportal::API::GraphQL::Base::Action
7
+ passthrough :clientMutationId
8
+ passthrough :updateMode
9
+ end
10
+ end
11
+ end
12
+ end
13
+ end
14
+ end
@@ -10,3 +10,4 @@ module Ecoportal
10
10
  end
11
11
 
12
12
  require_relative 'action/archive'
13
+ require_relative 'action/update'
@@ -78,11 +78,11 @@ module Ecoportal
78
78
  raise "This method should be implemented in the child class #{self.class}"
79
79
  end
80
80
 
81
- def graphql_query(path: self.path, **kargs, &block)
81
+ def graphql_query(path: self.path, raw_response: {}, **kargs, &block)
82
82
  default_params = self.class.param_defaults.dup
83
83
  query_params = self.class.slice_params(default_params.merge(kargs))
84
84
  request(*path) do
85
- client.query(query_params, &block)
85
+ raw_response[:data] = client.query(query_params, &block)
86
86
  end
87
87
  rescue Faraday::ParsingError, Graphlient::Errors::GraphQLError => e
88
88
  puts "Internal Error with these params:"
@@ -23,7 +23,7 @@ module Ecoportal
23
23
  request(*path) do
24
24
  client.query(input: as_input(input), &basic_block(&block))
25
25
  end
26
- rescue Faraday::ParsingError => e
26
+ rescue Faraday::ParsingError, Graphlient::Errors::FaradayServerError => e
27
27
  puts "Internal Error with these input ('#{input.class}'):"
28
28
  pp input
29
29
  raise
@@ -12,7 +12,8 @@ module Ecoportal
12
12
  embeds_one :completer, klass: Model::PersonMember
13
13
  embeds_many :fileContainers, klass: Model::FileContainer
14
14
  embeds_many :linkedResources, klass: Model::Resource
15
- #embeds_many :activities, klass: GraphQL::Activity::Action
15
+ #embeds_many :activities, klass: GraphQL::Model::Action::Activity
16
+ #embeds_one :recurrence, klass: GraphQL::Model::Action::Recurrence
16
17
  end
17
18
  end
18
19
  end
@@ -16,6 +16,7 @@ module Ecoportal
16
16
  query :locationStructures, subpath: "locations", query_klass: "Ecoportal::API::GraphQL::Query::LocationStructures"
17
17
  query :contractorEntities, query_klass: "Ecoportal::API::GraphQL::Query::ContractorEntities"
18
18
  #contractorEntity,
19
+ query :action, query_klass: "Ecoportal::API::GraphQL::Query::Action"
19
20
  query :actions, query_klass: "Ecoportal::API::GraphQL::Query::Actions"
20
21
  query :archiveAction, query_klass: "Ecoportal::API::GraphQL::Mutation::Action::Archive"
21
22
  #action, actionsByPage, actionsCounter
@@ -0,0 +1,40 @@
1
+ module Ecoportal
2
+ module API
3
+ class GraphQL
4
+ module Mutation
5
+ module Action
6
+ class Update < Ecoportal::API::GraphQL::Logic::Mutation
7
+ field_name :updateAction
8
+
9
+ class_resolver :payload_class, Ecoportal::API::GraphQL::Payload::Action::Update
10
+ class_resolver :input_class, Ecoportal::API::GraphQL::Input::Action::Update
11
+
12
+ private
13
+
14
+ def basic_block(&block)
15
+ payload_block = block || default_payload_block
16
+ Proc.new {
17
+ mutation(input: :UpdateActionInput!) {
18
+ updateAction(input: :input, &payload_block)
19
+ }
20
+ }
21
+ end
22
+
23
+ def default_payload_block
24
+ Proc.new {
25
+ clientMutationId
26
+ errors {
27
+ details
28
+ fullMessages
29
+ }
30
+ item {
31
+ ___Fragment__Action
32
+ }
33
+ }
34
+ end
35
+ end
36
+ end
37
+ end
38
+ end
39
+ end
40
+ end
@@ -10,3 +10,4 @@ module Ecoportal
10
10
  end
11
11
 
12
12
  require_relative 'action/archive'
13
+ require_relative 'action/update'
@@ -0,0 +1,40 @@
1
+ module Ecoportal
2
+ module API
3
+ class GraphQL
4
+ module Mutation
5
+ module ContractorEntity
6
+ class Update < Ecoportal::API::GraphQL::Logic::Mutation
7
+ field_name :updateContractorEntity
8
+
9
+ class_resolver :payload_class, Ecoportal::API::GraphQL::Payload::ContractorEntity::Update
10
+ class_resolver :input_class, Ecoportal::API::GraphQL::Model::ContractorEntity
11
+
12
+ private
13
+
14
+ def basic_block(&block)
15
+ payload_block = block || default_payload_block
16
+ Proc.new {
17
+ mutation(input: :UpdateContractorEntityInput!) {
18
+ updateContractorEntity(input: :input, &payload_block)
19
+ }
20
+ }
21
+ end
22
+
23
+ def default_payload_block
24
+ Proc.new {
25
+ clientMutationId
26
+ errors {
27
+ details
28
+ fullMessages
29
+ }
30
+ item {
31
+ ___Fragment__ContractorEntity
32
+ }
33
+ }
34
+ end
35
+ end
36
+ end
37
+ end
38
+ end
39
+ end
40
+ end
@@ -11,4 +11,4 @@ end
11
11
 
12
12
  require_relative 'contractor_entity/create'
13
13
  # require_relative 'contractor_entity/destroy'
14
- # require_relative 'contractor_entity/update'
14
+ require_relative 'contractor_entity/update'
@@ -0,0 +1,13 @@
1
+ module Ecoportal
2
+ module API
3
+ class GraphQL
4
+ module Payload
5
+ module Action
6
+ class Update < Ecoportal::API::GraphQL::Logic::Payload
7
+ class_resolver :item_class, "Ecoportal::API::GraphQL::Model::Action"
8
+ end
9
+ end
10
+ end
11
+ end
12
+ end
13
+ end
@@ -10,3 +10,4 @@ module Ecoportal
10
10
  end
11
11
 
12
12
  require_relative 'action/archive'
13
+ require_relative 'action/update'
@@ -0,0 +1,33 @@
1
+ module Ecoportal
2
+ module API
3
+ class GraphQL
4
+ module Query
5
+ class Action < Ecoportal::API::GraphQL::Logic::Query
6
+ field_name :action
7
+
8
+ accepted_params :id
9
+ class_resolver :item_class, Ecoportal::API::GraphQL::Model::Action
10
+
11
+ private
12
+
13
+ def basic_block(&block)
14
+ action_block = block || default_block
15
+ Proc.new {
16
+ query(id: :id!) {
17
+ currentOrganization {
18
+ action(id: :id, &action_block)
19
+ }
20
+ }
21
+ }
22
+ end
23
+
24
+ def default_block
25
+ Proc.new {
26
+ ___Ecoportal__API__GraphQL__Fragment__Action
27
+ }
28
+ end
29
+ end
30
+ end
31
+ end
32
+ end
33
+ end
@@ -9,5 +9,6 @@ end
9
9
 
10
10
  require 'ecoportal/api/graphql/query/location_structure'
11
11
  require 'ecoportal/api/graphql/query/location_structures'
12
+ require 'ecoportal/api/graphql/query/action'
12
13
  require 'ecoportal/api/graphql/query/actions'
13
14
  require 'ecoportal/api/graphql/query/contractor_entities'
@@ -31,6 +31,10 @@ module Ecoportal
31
31
  createContractorEntityMutation.query(input: input, &block)
32
32
  end
33
33
 
34
+ def contractorEntity
35
+ Ecoportal::API::GraphQL::Builder::ContractorEntity.new(client)
36
+ end
37
+
34
38
  # Gives a builder to use different options to modify a reporting structure
35
39
  def locationStructure
36
40
  Ecoportal::API::GraphQL::Builder::LocationStructure.new(client)
@@ -1,5 +1,5 @@
1
1
  module Ecoportal
2
2
  module API
3
- GRAPQL_VERSION = "0.3.10"
3
+ GRAPQL_VERSION = "0.3.12"
4
4
  end
5
5
  end
@@ -0,0 +1,20 @@
1
+ require_relative 'local_libs'
2
+
3
+ api = Ecoportal::API::GraphQL.new
4
+ response = api.contractorEntity.update(input: {
5
+ id: "62b04d83fa9170001d3d303f",
6
+ name: "Caras Galathon",
7
+ active: true,
8
+ approved: true,
9
+ # associatedPeopleIds: [
10
+ # "5adfbef76fb80400047535b3"
11
+ # ],
12
+ leadContractorIds: {
13
+ additions: ["5adfbef76fb80400047535b3"]
14
+ },
15
+ clientMutationId: ""
16
+ })
17
+
18
+ if response.success? && entity = response.item
19
+ puts "Updated contractor entity '#{entity.name}' (approved? #{entity.approved})"
20
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ecoportal-api-graphql
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.10
4
+ version: 0.3.12
5
5
  platform: ruby
6
6
  authors:
7
7
  - Oscar Segura
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-08-12 00:00:00.000000000 Z
11
+ date: 2024-01-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -216,6 +216,7 @@ files:
216
216
  - lib/ecoportal/api/graphql/base/resource.rb
217
217
  - lib/ecoportal/api/graphql/builder.rb
218
218
  - lib/ecoportal/api/graphql/builder/action.rb
219
+ - lib/ecoportal/api/graphql/builder/contractor_entity.rb
219
220
  - lib/ecoportal/api/graphql/builder/location_structure.rb
220
221
  - lib/ecoportal/api/graphql/connection.rb
221
222
  - lib/ecoportal/api/graphql/connection/action.rb
@@ -235,6 +236,7 @@ files:
235
236
  - lib/ecoportal/api/graphql/input.rb
236
237
  - lib/ecoportal/api/graphql/input/action.rb
237
238
  - lib/ecoportal/api/graphql/input/action/archive.rb
239
+ - lib/ecoportal/api/graphql/input/action/update.rb
238
240
  - lib/ecoportal/api/graphql/input/contractor_entity.rb
239
241
  - lib/ecoportal/api/graphql/input/contractor_entity/create.rb
240
242
  - lib/ecoportal/api/graphql/input/contractor_entity/destroy.rb
@@ -278,13 +280,16 @@ files:
278
280
  - lib/ecoportal/api/graphql/mutation.rb
279
281
  - lib/ecoportal/api/graphql/mutation/action.rb
280
282
  - lib/ecoportal/api/graphql/mutation/action/archive.rb
283
+ - lib/ecoportal/api/graphql/mutation/action/update.rb
281
284
  - lib/ecoportal/api/graphql/mutation/contractor_entity.rb
282
285
  - lib/ecoportal/api/graphql/mutation/contractor_entity/create.rb
286
+ - lib/ecoportal/api/graphql/mutation/contractor_entity/update.rb
283
287
  - lib/ecoportal/api/graphql/mutation/location_structure.rb
284
288
  - lib/ecoportal/api/graphql/mutation/location_structure/apply_commands.rb
285
289
  - lib/ecoportal/api/graphql/payload.rb
286
290
  - lib/ecoportal/api/graphql/payload/action.rb
287
291
  - lib/ecoportal/api/graphql/payload/action/archive.rb
292
+ - lib/ecoportal/api/graphql/payload/action/update.rb
288
293
  - lib/ecoportal/api/graphql/payload/contractor_entity.rb
289
294
  - lib/ecoportal/api/graphql/payload/contractor_entity/create.rb
290
295
  - lib/ecoportal/api/graphql/payload/contractor_entity/destroy.rb
@@ -294,6 +299,7 @@ files:
294
299
  - lib/ecoportal/api/graphql/payload/location_structure/command_execution_result.rb
295
300
  - lib/ecoportal/api/graphql/payload/location_structure/command_interface.rb
296
301
  - lib/ecoportal/api/graphql/query.rb
302
+ - lib/ecoportal/api/graphql/query/action.rb
297
303
  - lib/ecoportal/api/graphql/query/actions.rb
298
304
  - lib/ecoportal/api/graphql/query/contractor_entities.rb
299
305
  - lib/ecoportal/api/graphql/query/location_structure.rb
@@ -302,6 +308,7 @@ files:
302
308
  - tests/actions_get.rb
303
309
  - tests/contractor_entities_get.rb
304
310
  - tests/contractor_entity_create.rb
311
+ - tests/contractor_entity_udpate.rb
305
312
  - tests/loc_structure_get.rb
306
313
  - tests/loc_structure_update.rb
307
314
  - tests/loc_structures_get.rb