ecoportal-api-graphql 1.3.13 → 1.3.14

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.
Files changed (45) hide show
  1. checksums.yaml +4 -4
  2. data/.ai-assistance/bridge/archive/oscar-a1b2c3d-gitlab-mcp-doc-update.inbox.md +29 -29
  3. data/.ai-assistance/bridge/archive/oscar-c912c25-gemini-design-review.inbox.md +42 -42
  4. data/.gitignore +37 -37
  5. data/CHANGELOG.md +17 -0
  6. data/docs/worklog.md +0 -18
  7. data/lib/ecoportal/api/common/graphql/client.rb +0 -2
  8. data/lib/ecoportal/api/graphql/base/location_classification_type.rb +15 -15
  9. data/lib/ecoportal/api/graphql/base/location_structure.rb +27 -27
  10. data/lib/ecoportal/api/graphql/base/organization.rb +15 -15
  11. data/lib/ecoportal/api/graphql/base.rb +35 -35
  12. data/lib/ecoportal/api/graphql/builder/contractor_entity.rb +41 -41
  13. data/lib/ecoportal/api/graphql/connection/action.rb +11 -11
  14. data/lib/ecoportal/api/graphql/connection/action_category.rb +11 -11
  15. data/lib/ecoportal/api/graphql/connection/contractor_entity.rb +11 -11
  16. data/lib/ecoportal/api/graphql/connection/page.rb +11 -11
  17. data/lib/ecoportal/api/graphql/connection/person_member.rb +11 -11
  18. data/lib/ecoportal/api/graphql/connection/preview_page.rb +11 -11
  19. data/lib/ecoportal/api/graphql/connection.rb +17 -17
  20. data/lib/ecoportal/api/graphql/fragment/location_node.rb +26 -26
  21. data/lib/ecoportal/api/graphql/input/contractor_entity.rb +14 -14
  22. data/lib/ecoportal/api/graphql/input/workflow_command/add_stage.rb +18 -18
  23. data/lib/ecoportal/api/graphql/input/workflow_command/edit_field_configuration.rb +21 -21
  24. data/lib/ecoportal/api/graphql/input/workflow_command/edit_page.rb +28 -28
  25. data/lib/ecoportal/api/graphql/input/workflow_command/edit_page_creator_permissions.rb +18 -18
  26. data/lib/ecoportal/api/graphql/input/workflow_command/field_config/cross_reference.rb +23 -23
  27. data/lib/ecoportal/api/graphql/input/workflow_command/field_config/date.rb +20 -20
  28. data/lib/ecoportal/api/graphql/input/workflow_command/field_config/image_gallery.rb +20 -20
  29. data/lib/ecoportal/api/graphql/input/workflow_command/field_config/plain_text.rb +20 -20
  30. data/lib/ecoportal/api/graphql/input/workflow_command/field_config/rich_text.rb +20 -20
  31. data/lib/ecoportal/api/graphql/input/workflow_command/field_config/select.rb +20 -20
  32. data/lib/ecoportal/api/graphql/input/workflow_command/move_field.rb +18 -18
  33. data/lib/ecoportal/api/graphql/input/workflow_command/reorder_forces.rb +18 -18
  34. data/lib/ecoportal/api/graphql/input/workflow_command/reorder_section.rb +18 -18
  35. data/lib/ecoportal/api/graphql/input/workflow_command.rb +251 -251
  36. data/lib/ecoportal/api/graphql/input.rb +24 -24
  37. data/lib/ecoportal/api/graphql/logic/connection.rb +34 -34
  38. data/lib/ecoportal/api/graphql/model/person_member.rb +15 -15
  39. data/lib/ecoportal/api/graphql/model.rb +30 -30
  40. data/lib/ecoportal/api/graphql/mutation/contractor_entity.rb +14 -14
  41. data/lib/ecoportal/api/graphql/payload/contractor_entity.rb +14 -14
  42. data/lib/ecoportal/api/graphql/query/location_structures.rb +57 -57
  43. data/lib/ecoportal/api/graphql/query.rb +27 -27
  44. data/lib/ecoportal/api/graphql_version.rb +1 -1
  45. metadata +1 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: fba9a366d06303f179c6b7d841930a66a29b6cc3fe836e06b218b95873bbe77e
4
- data.tar.gz: 6114ba779317ec55b649e1f7df685c0140573cea073aa07c04b9e4cfa20b433a
3
+ metadata.gz: 5cbeb13326afff8c35946fd492b9bd6cd050e28819497b643bb4ea6c4b41caca
4
+ data.tar.gz: ad4660f8fa032e08d0c5f09b199f280d8b42a4e234144ad2fab4041b154fe835
5
5
  SHA512:
6
- metadata.gz: d867c896796e9107870a2a49e3cdc75275b0a96559a9b8fe47fedea407ef639f7ff558ce22de798f79f3f011c7d4464a3eacd01a63e764778d2e0359cd8ed4ad
7
- data.tar.gz: c29f555f19fc3d679f51cb512c417caca1e7e5f0006e9ac35a7ccf4d7f074095011ad4a59128a458b69c178dd538d79bf952d1b26b1557397e0d5fc4c41274d4
6
+ metadata.gz: 7337308796e0a6800e9dd678d8b9317978d4cf13f6514b2ba95e5d6eaac95b9833be786ca573b7e59613660077aaa78c808a62c4bbef0c9e2f1a08e0c752e857
7
+ data.tar.gz: 602edaca4d582eeb876549bba42735fc17fc07d832de713fd3ba84234cc2a876aea876beb51c4fb54eef3faf5a334b889443d922d9c6debe196545389b2715e6
@@ -1,29 +1,29 @@
1
- # TASK: Update gitlab-mcp.md with new PAT scopes and rotation info
2
-
3
- STATUS: PENDING
4
- CREATED: 2026-06-04T00:00:00Z
5
- FROM: cowork
6
- TO: code
7
-
8
- ## File to update
9
-
10
- `.claude/integrations/gitlab-mcp.md`
11
-
12
- ## Changes
13
-
14
- ### Scopes table — replace entirely
15
-
16
- | `read_api` | Read MRs, issues, diffs, repository metadata |
17
- | `read_repository`| Clone and read repository contents |
18
- | `create_runner` | Register GitLab CI runners |
19
- | `ai_features` | Access GitLab AI/Duo endpoints |
20
-
21
- ### PAT creation note — replace
22
-
23
- Enable **rotation** at creation time.
24
- **Token rotation:** Current token expires **April 2027**. When rotating, update
25
- in both `.env` and `claude_desktop_config.json`.
26
-
27
- ### "What it doesn't provide" — remove pipeline management item
28
-
29
- `create_runner` + `ai_features` scopes now partially cover CI and AI capabilities.
1
+ # TASK: Update gitlab-mcp.md with new PAT scopes and rotation info
2
+
3
+ STATUS: PENDING
4
+ CREATED: 2026-06-04T00:00:00Z
5
+ FROM: cowork
6
+ TO: code
7
+
8
+ ## File to update
9
+
10
+ `.claude/integrations/gitlab-mcp.md`
11
+
12
+ ## Changes
13
+
14
+ ### Scopes table — replace entirely
15
+
16
+ | `read_api` | Read MRs, issues, diffs, repository metadata |
17
+ | `read_repository`| Clone and read repository contents |
18
+ | `create_runner` | Register GitLab CI runners |
19
+ | `ai_features` | Access GitLab AI/Duo endpoints |
20
+
21
+ ### PAT creation note — replace
22
+
23
+ Enable **rotation** at creation time.
24
+ **Token rotation:** Current token expires **April 2027**. When rotating, update
25
+ in both `.env` and `claude_desktop_config.json`.
26
+
27
+ ### "What it doesn't provide" — remove pipeline management item
28
+
29
+ `create_runner` + `ai_features` scopes now partially cover CI and AI capabilities.
@@ -1,42 +1,42 @@
1
- # TASK: Gemini design review of CoWork↔Code bridge architecture
2
- STATUS: PENDING
3
- CREATED: 2026-06-03T00:00:00Z
4
- FROM: cowork
5
- TO: code
6
-
7
- ## Context
8
- We have designed a file-based bridge system for bidirectional communication between
9
- Claude in CoWork and Claude Code. The bridge lives in .claude/bridge/ inside a git repo.
10
-
11
- Architecture summary:
12
- - Inbox/outbox pattern with UUID+username prefixed filenames (no merge conflicts)
13
- - Scripts (bash + TypeScript) handle file ops, env detection, UUID gen — offloading work from AI tokens
14
- - CLAUDE.md files in each subfolder give each agent scoped instructions
15
- - capabilities/ folder tracks what each environment can do, with a dated assumptions log
16
- - conventions/ folder defines gitignore rules and instruction file structure
17
- - capabilities-check.ts runs periodically using Haiku to flag stale assumptions
18
-
19
- Key design decisions:
20
- - Each agent checks capabilities before bridging (only bridge what you can't do yourself)
21
- - Archive is committed to git — it's the audit trail
22
- - Draft tasks (.draft.md) are gitignored — local-only until pushed
23
- - Code processes only its own username-prefixed tasks
24
-
25
- ## Request
26
- Use the Gemini connector (or Gemini API if available) to get an independent review of
27
- this architecture. Ask Gemini:
28
-
29
- 1. What are the weaknesses or failure modes of this design?
30
- 2. Is the token-offloading strategy (scripts vs AI prose) well-scoped, or are there gaps?
31
- 3. Are there simpler or more robust alternatives for any part of this?
32
- 4. Anything we haven't considered — especially around git workflows, multi-agent coordination,
33
- or long-term maintenance?
34
-
35
- If Gemini connector is not available, use web search to find prior art on
36
- file-based agent coordination patterns and report what you find.
37
-
38
- ## Expected output
39
- - Gemini's (or research-based) critique: weaknesses, gaps, alternatives
40
- - Your own assessment: do you agree with the critique? What would you change?
41
- - Specific suggested amendments to the design (if any)
42
- - Update capabilities/connectors.md with Gemini connector status after attempting this
1
+ # TASK: Gemini design review of CoWork↔Code bridge architecture
2
+ STATUS: PENDING
3
+ CREATED: 2026-06-03T00:00:00Z
4
+ FROM: cowork
5
+ TO: code
6
+
7
+ ## Context
8
+ We have designed a file-based bridge system for bidirectional communication between
9
+ Claude in CoWork and Claude Code. The bridge lives in .claude/bridge/ inside a git repo.
10
+
11
+ Architecture summary:
12
+ - Inbox/outbox pattern with UUID+username prefixed filenames (no merge conflicts)
13
+ - Scripts (bash + TypeScript) handle file ops, env detection, UUID gen — offloading work from AI tokens
14
+ - CLAUDE.md files in each subfolder give each agent scoped instructions
15
+ - capabilities/ folder tracks what each environment can do, with a dated assumptions log
16
+ - conventions/ folder defines gitignore rules and instruction file structure
17
+ - capabilities-check.ts runs periodically using Haiku to flag stale assumptions
18
+
19
+ Key design decisions:
20
+ - Each agent checks capabilities before bridging (only bridge what you can't do yourself)
21
+ - Archive is committed to git — it's the audit trail
22
+ - Draft tasks (.draft.md) are gitignored — local-only until pushed
23
+ - Code processes only its own username-prefixed tasks
24
+
25
+ ## Request
26
+ Use the Gemini connector (or Gemini API if available) to get an independent review of
27
+ this architecture. Ask Gemini:
28
+
29
+ 1. What are the weaknesses or failure modes of this design?
30
+ 2. Is the token-offloading strategy (scripts vs AI prose) well-scoped, or are there gaps?
31
+ 3. Are there simpler or more robust alternatives for any part of this?
32
+ 4. Anything we haven't considered — especially around git workflows, multi-agent coordination,
33
+ or long-term maintenance?
34
+
35
+ If Gemini connector is not available, use web search to find prior art on
36
+ file-based agent coordination patterns and report what you find.
37
+
38
+ ## Expected output
39
+ - Gemini's (or research-based) critique: weaknesses, gaps, alternatives
40
+ - Your own assessment: do you agree with the critique? What would you change?
41
+ - Specific suggested amendments to the design (if any)
42
+ - Update capabilities/connectors.md with Gemini connector status after attempting this
data/.gitignore CHANGED
@@ -1,37 +1,37 @@
1
- # it's a gem, ignore the lockfile
2
- Gemfile.lock
3
-
4
- .env
5
- .ai-assistance/local_paths.md
6
- # build artifacts
7
- *.gem
8
- /.bundle/
9
- /vendor/bundle
10
- /spec/reports/
11
- /tmp/
12
- /pkg/
13
-
14
- # docs
15
- /.yardoc
16
- /_yardoc/
17
- /coverage/
18
- /doc/
19
-
20
- # rspec failure tracking
21
- .rspec_status
22
- scratch.rb
23
- tests/.byebug_history
24
-
25
- .solargraph.yml
26
-
27
- # AI assistance — local-only files
28
- .ai-assistance/code/dep-graph.json
29
- .ai-assistance/tmp/
30
- .ai-assistance/local/
31
- .ai-assistance/bridge/inbox/*.draft.md
32
- .ai-assistance/bridge/inbox/*.local.md
33
- .ai-assistance/bridge/LOCK
34
- .ai-assistance/bridge/STATUS
35
- .ai-assistance/capabilities/.env
36
- .ai-assistance/scripts/*.env
37
- .ai-assistance/scripts/node_modules/
1
+ # it's a gem, ignore the lockfile
2
+ Gemfile.lock
3
+
4
+ .env
5
+ .ai-assistance/local_paths.md
6
+ # build artifacts
7
+ *.gem
8
+ /.bundle/
9
+ /vendor/bundle
10
+ /spec/reports/
11
+ /tmp/
12
+ /pkg/
13
+
14
+ # docs
15
+ /.yardoc
16
+ /_yardoc/
17
+ /coverage/
18
+ /doc/
19
+
20
+ # rspec failure tracking
21
+ .rspec_status
22
+ scratch.rb
23
+ tests/.byebug_history
24
+
25
+ .solargraph.yml
26
+
27
+ # AI assistance — local-only files
28
+ .ai-assistance/code/dep-graph.json
29
+ .ai-assistance/tmp/
30
+ .ai-assistance/local/
31
+ .ai-assistance/bridge/inbox/*.draft.md
32
+ .ai-assistance/bridge/inbox/*.local.md
33
+ .ai-assistance/bridge/LOCK
34
+ .ai-assistance/bridge/STATUS
35
+ .ai-assistance/capabilities/.env
36
+ .ai-assistance/scripts/*.env
37
+ .ai-assistance/scripts/node_modules/
data/CHANGELOG.md CHANGED
@@ -2,6 +2,23 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file.
4
4
 
5
+ ## [1.3.14] - 2026-07-16
6
+
7
+ Re-issue of the **1.3.13 HttpClient resilience fix** under a fresh version. The `1.3.13`
8
+ artifact published to the gem server (2026-07-11) could not be relied upon to contain the
9
+ fix below — RubyGems versions are immutable and cannot be re-pushed, so the fix ships here
10
+ as `1.3.14`. Functionally identical to the *intended* `1.3.13` (this is `1.3.12` + the
11
+ resilience fix, nothing else). **Backwards-compatible.**
12
+
13
+ Consumers that need the 429/1015 resilience (e.g. bulk `cans-upsert` live runs) must floor
14
+ `ecoportal-api-graphql >= 1.3.14` — a `>= 1.3.13` floor is not sufficient.
15
+
16
+ ### Fixed
17
+
18
+ - Same fix as documented under `[1.3.13]` below: `Common::GraphQL::HttpClient#execute` routes
19
+ through the inherited `instrument → with_retry { rate_throttling }` pipeline, so a single
20
+ HTTP 429 (Cloudflare edge rate-limit `1015`) no longer aborts the run.
21
+
5
22
  ## [1.3.13] - 2026-07-12
6
23
 
7
24
  Reliability: the GraphQL `HttpClient` now inherits the **same request-resilience
data/docs/worklog.md CHANGED
@@ -8,24 +8,6 @@ This file tracks cross-project session state and the overall repo status.
8
8
 
9
9
  ---
10
10
 
11
- ## ▶ SESSION 2026-07-10 — OD-001 decision-support delivered to ep-ai-standards (breadcrumb)
12
-
13
- Produced a decision-support doc mapping this repo's REAL GraphQL mutation surface onto
14
- ep-ai-standards' operation-class ladder for OD-001 (the GraphQL gateway PROD "low-risk"
15
- auto-approval threshold / provisional Dial A). Evidence-based from live introspection
16
- (`.ai-assistance/tmp/20260605T101224_live_ep_graphql_schema.graphql.json` -- 190 mutations)
17
- + code-specs + `lib/ecoportal/api/graphql/mutation/**`. Key findings: register-type axis is
18
- real + in-schema (`Register.registerStatus: TESTING|LIVE`, `base/register.rb:7`); org-type
19
- (sandpit/uat/demo/PROD) is NOT a schema field (infra/credential-level, `base/organization.rb`
20
- exposes only id/name/companyName/logoUrl); several mutations do not map cleanly (payload-hidden
21
- deletions in `updatePage`, bulk/cascade, cross-env UAT->PROD deploy, egress/email/credential
22
- mints). Delivered to ep-ai-standards' bridge inbox as
23
- `ecoportal-api-graphql-od001-mutation-mapping.md` (STATUS: PENDING) -- a PROPOSAL for the graphql
24
- team + Oscar to validate via an ep-ai-standards MR. NO code changed in this repo. Does not change
25
- OD-001's ruling. (OD-007 breadcrumb convention.)
26
-
27
- ---
28
-
29
11
  ## ▶ SESSION 2026-07-05 — 3 live act-gov crashes = ONE root cause (stale released gems); fixed-stack floors
30
12
 
31
13
  Three live crashes on act-gov (`-toocs-coding` + org-structure sync), all the **same class**: the
@@ -29,8 +29,6 @@ module Ecoportal
29
29
 
30
30
  puts "Configuring GraphQL Client onto '#{url}'"
31
31
 
32
- pp email
33
-
34
32
  super(
35
33
  url,
36
34
  headers: {
@@ -1,15 +1,15 @@
1
- module Ecoportal
2
- module API
3
- class GraphQL
4
- module Base
5
- class LocationClassificationType < Logic::BaseModel
6
- root!
7
-
8
- passkey :id
9
- passthrough :name
10
- passboolean :active
11
- end
12
- end
13
- end
14
- end
15
- end
1
+ module Ecoportal
2
+ module API
3
+ class GraphQL
4
+ module Base
5
+ class LocationClassificationType < Logic::BaseModel
6
+ root!
7
+
8
+ passkey :id
9
+ passthrough :name
10
+ passboolean :active
11
+ end
12
+ end
13
+ end
14
+ end
15
+ end
@@ -1,27 +1,27 @@
1
- module Ecoportal
2
- module API
3
- class GraphQL
4
- module Base
5
- class LocationStructure < Interface::LocationStructure::Nodes
6
- read_only!
7
-
8
- class_resolver :location_node_class, Base::LocationNode
9
- class_resolver :draft_class, "Base::LocationStructure::Draft"
10
-
11
- passkey :id
12
- passthrough :name, :weight
13
- passboolean :archived, :published, :visitorManagementEnabled
14
- embeds_one :updatedAt, klass: Base::DateTime
15
-
16
- embeds_many :drafts, klass: :draft_class, order_key: :createdAt
17
-
18
- def draft?
19
- false
20
- end
21
- end
22
- end
23
- end
24
- end
25
- end
26
-
27
- require_relative 'location_structure/draft'
1
+ module Ecoportal
2
+ module API
3
+ class GraphQL
4
+ module Base
5
+ class LocationStructure < Interface::LocationStructure::Nodes
6
+ read_only!
7
+
8
+ class_resolver :location_node_class, Base::LocationNode
9
+ class_resolver :draft_class, "Base::LocationStructure::Draft"
10
+
11
+ passkey :id
12
+ passthrough :name, :weight
13
+ passboolean :archived, :published, :visitorManagementEnabled
14
+ embeds_one :updatedAt, klass: Base::DateTime
15
+
16
+ embeds_many :drafts, klass: :draft_class, order_key: :createdAt
17
+
18
+ def draft?
19
+ false
20
+ end
21
+ end
22
+ end
23
+ end
24
+ end
25
+ end
26
+
27
+ require_relative 'location_structure/draft'
@@ -1,15 +1,15 @@
1
- module Ecoportal
2
- module API
3
- class GraphQL
4
- module Base
5
- class Organization < Logic::BaseModel
6
- root!
7
-
8
- passkey :id
9
- passthrough :name, :companyName
10
- passthrough :logoUrl, read_only: true
11
- end
12
- end
13
- end
14
- end
15
- end
1
+ module Ecoportal
2
+ module API
3
+ class GraphQL
4
+ module Base
5
+ class Organization < Logic::BaseModel
6
+ root!
7
+
8
+ passkey :id
9
+ passthrough :name, :companyName
10
+ passthrough :logoUrl, read_only: true
11
+ end
12
+ end
13
+ end
14
+ end
15
+ end
@@ -1,35 +1,35 @@
1
- module Ecoportal
2
- module API
3
- class GraphQL
4
- module Base
5
- end
6
- end
7
- end
8
- end
9
-
10
- require_relative 'base/date_time'
11
- require_relative 'base/page_info'
12
- require_relative 'base/location_classification_type'
13
- require_relative 'base/location_node'
14
- require_relative 'base/location_structure'
15
- require_relative 'base/person_member'
16
- require_relative 'base/file_attachment'
17
- require_relative 'base/file_container'
18
- require_relative 'base/field'
19
- require_relative 'base/page'
20
- require_relative 'base/resource'
21
- require_relative 'base/action_category'
22
- require_relative 'base/action'
23
- require_relative 'base/contractor_entity'
24
- require_relative 'base/preview_page'
25
- require_relative 'base/delta_result'
26
- require_relative 'base/organization'
27
-
28
- require_relative 'base/register'
29
- require_relative 'base/preset_view'
30
-
31
- require_relative 'base/ai_summary_version'
32
-
33
- require_relative 'base/force'
34
- require_relative 'base/pages_workflow'
35
- require_relative 'base/kickstand'
1
+ module Ecoportal
2
+ module API
3
+ class GraphQL
4
+ module Base
5
+ end
6
+ end
7
+ end
8
+ end
9
+
10
+ require_relative 'base/date_time'
11
+ require_relative 'base/page_info'
12
+ require_relative 'base/location_classification_type'
13
+ require_relative 'base/location_node'
14
+ require_relative 'base/location_structure'
15
+ require_relative 'base/person_member'
16
+ require_relative 'base/file_attachment'
17
+ require_relative 'base/file_container'
18
+ require_relative 'base/field'
19
+ require_relative 'base/page'
20
+ require_relative 'base/resource'
21
+ require_relative 'base/action_category'
22
+ require_relative 'base/action'
23
+ require_relative 'base/contractor_entity'
24
+ require_relative 'base/preview_page'
25
+ require_relative 'base/delta_result'
26
+ require_relative 'base/organization'
27
+
28
+ require_relative 'base/register'
29
+ require_relative 'base/preset_view'
30
+
31
+ require_relative 'base/ai_summary_version'
32
+
33
+ require_relative 'base/force'
34
+ require_relative 'base/pages_workflow'
35
+ require_relative 'base/kickstand'
@@ -1,41 +1,41 @@
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
- def destroy(**kargs, &block)
21
- destroyMutation.query(**kargs, &block)
22
- end
23
-
24
- private
25
-
26
- def createMutation
27
- Mutation::ContractorEntity::Create.new(client)
28
- end
29
-
30
- def updateMutation
31
- Mutation::ContractorEntity::Update.new(client)
32
- end
33
-
34
- def destroyMutation
35
- Mutation::ContractorEntity::Destroy.new(client)
36
- end
37
- end
38
- end
39
- end
40
- end
41
- end
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
+ def destroy(**kargs, &block)
21
+ destroyMutation.query(**kargs, &block)
22
+ end
23
+
24
+ private
25
+
26
+ def createMutation
27
+ Mutation::ContractorEntity::Create.new(client)
28
+ end
29
+
30
+ def updateMutation
31
+ Mutation::ContractorEntity::Update.new(client)
32
+ end
33
+
34
+ def destroyMutation
35
+ Mutation::ContractorEntity::Destroy.new(client)
36
+ end
37
+ end
38
+ end
39
+ end
40
+ end
41
+ end
@@ -1,11 +1,11 @@
1
- module Ecoportal
2
- module API
3
- class GraphQL
4
- module Connection
5
- class Action < Logic::Connection
6
- class_resolver :node_class, Model::Action
7
- end
8
- end
9
- end
10
- end
11
- end
1
+ module Ecoportal
2
+ module API
3
+ class GraphQL
4
+ module Connection
5
+ class Action < Logic::Connection
6
+ class_resolver :node_class, Model::Action
7
+ end
8
+ end
9
+ end
10
+ end
11
+ end
@@ -1,11 +1,11 @@
1
- module Ecoportal
2
- module API
3
- class GraphQL
4
- module Connection
5
- class ActionCategory < Logic::Connection
6
- class_resolver :node_class, Base::ActionCategory
7
- end
8
- end
9
- end
10
- end
11
- end
1
+ module Ecoportal
2
+ module API
3
+ class GraphQL
4
+ module Connection
5
+ class ActionCategory < Logic::Connection
6
+ class_resolver :node_class, Base::ActionCategory
7
+ end
8
+ end
9
+ end
10
+ end
11
+ end
@@ -1,11 +1,11 @@
1
- module Ecoportal
2
- module API
3
- class GraphQL
4
- module Connection
5
- class ContractorEntity < Logic::Connection
6
- class_resolver :node_class, Model::ContractorEntity
7
- end
8
- end
9
- end
10
- end
11
- end
1
+ module Ecoportal
2
+ module API
3
+ class GraphQL
4
+ module Connection
5
+ class ContractorEntity < Logic::Connection
6
+ class_resolver :node_class, Model::ContractorEntity
7
+ end
8
+ end
9
+ end
10
+ end
11
+ end
@@ -1,11 +1,11 @@
1
- module Ecoportal
2
- module API
3
- class GraphQL
4
- module Connection
5
- class Page < Logic::Connection
6
- class_resolver :node_class, 'Ecoportal::API::GraphQL::Model::PageUnion'
7
- end
8
- end
9
- end
10
- end
11
- end
1
+ module Ecoportal
2
+ module API
3
+ class GraphQL
4
+ module Connection
5
+ class Page < Logic::Connection
6
+ class_resolver :node_class, 'Ecoportal::API::GraphQL::Model::PageUnion'
7
+ end
8
+ end
9
+ end
10
+ end
11
+ end