ecoportal-api-graphql 1.3.10 → 1.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.
Files changed (86) hide show
  1. checksums.yaml +4 -4
  2. data/.ai-assistance/code/diff_pairing_engine.md +243 -0
  3. data/.ai-assistance/code/filter_contract_matrix.md +177 -0
  4. data/.ai-assistance/code/graphql_domain_knowledge.md +20 -10
  5. data/.ai-assistance/code/template_diff_pairing_domain.md +175 -0
  6. data/.ai-assistance/code/workflow-command-guide.md +28 -0
  7. data/.ai-assistance/projects/ooze-graphql-native-migration/INVENTORY.md +136 -0
  8. data/.ai-assistance/projects/ooze-graphql-native-migration/TODO.md +6 -1
  9. data/.ai-assistance/projects/qa-services-delivery/DECISIONS.md +93 -0
  10. data/.ai-assistance/projects/qa-services-delivery/INTENT.md +76 -0
  11. data/.ai-assistance/projects/qa-services-delivery/PHASE3-SCOPE.md +115 -0
  12. data/.ai-assistance/projects/qa-services-delivery/ROADMAP.md +99 -0
  13. data/.ai-assistance/projects/qa-services-delivery/TODO.md +81 -0
  14. data/.ai-assistance/projects/template-automatic-build-maintenance/INTENT.md +87 -0
  15. data/.ai-assistance/projects/template-automatic-build-maintenance/TODO.md +108 -0
  16. data/.ai-assistance/projects/template-diff-deploy/INTENT.md +12 -0
  17. data/.ai-assistance/projects/template-diff-deploy/TODO.md +9 -0
  18. data/.ai-assistance/projects/template-maintenance/PHASE0-FINDINGS.md +93 -0
  19. data/.ai-assistance/projects/template-maintenance/README.md +14 -0
  20. data/.ai-assistance/skills/procedural-memory/SKILL.md +319 -0
  21. data/.ai-assistance/standards-version.json +21 -20
  22. data/CHANGELOG.md +119 -0
  23. data/CLAUDE.md +10 -0
  24. data/docs/self-docs/ARCHITECTURE.md +88 -0
  25. data/docs/self-docs/CHANGES.jsonl +7 -0
  26. data/docs/self-docs/CONVENTIONS.md +74 -0
  27. data/docs/self-docs/INTEGRATIONS.md +63 -0
  28. data/docs/self-docs/OVERVIEW.md +51 -0
  29. data/docs/self-docs/STATUS.md +69 -0
  30. data/docs/self-docs/self-docs-index.json +39 -0
  31. data/docs/worklog.md +256 -0
  32. data/ecoportal-api-graphql.gemspec +1 -1
  33. data/lib/ecoportal/api/common/graphql/model/diffable.rb +54 -54
  34. data/lib/ecoportal/api/graphql/base/action.rb +43 -43
  35. data/lib/ecoportal/api/graphql/base/contractor_entity/member_changes.rb +67 -67
  36. data/lib/ecoportal/api/graphql/base/page/data_field/collection.rb +7 -0
  37. data/lib/ecoportal/api/graphql/base/page/data_field/contractor_entities.rb +28 -28
  38. data/lib/ecoportal/api/graphql/base/page/data_field/file_field.rb +25 -25
  39. data/lib/ecoportal/api/graphql/base/page/data_field/image_gallery.rb +24 -24
  40. data/lib/ecoportal/api/graphql/base/page/data_field.rb +1 -1
  41. data/lib/ecoportal/api/graphql/base/page/section_collection.rb +85 -79
  42. data/lib/ecoportal/api/graphql/base/preset_view.rb +17 -17
  43. data/lib/ecoportal/api/graphql/base/register.rb +18 -18
  44. data/lib/ecoportal/api/graphql/builder/template_builder.rb +174 -0
  45. data/lib/ecoportal/api/graphql/builder.rb +17 -16
  46. data/lib/ecoportal/api/graphql/compat/filter_translator.rb +63 -28
  47. data/lib/ecoportal/api/graphql/concerns/page_compat.rb +51 -51
  48. data/lib/ecoportal/api/graphql/concerns.rb +14 -14
  49. data/lib/ecoportal/api/graphql/diff/change.rb +59 -0
  50. data/lib/ecoportal/api/graphql/diff/command_synthesizer.rb +329 -0
  51. data/lib/ecoportal/api/graphql/diff/cross_object_diff.rb +165 -0
  52. data/lib/ecoportal/api/graphql/diff/deploy.rb +121 -0
  53. data/lib/ecoportal/api/graphql/diff/id_resolver.rb +64 -0
  54. data/lib/ecoportal/api/graphql/diff/pairing/candidate.rb +32 -0
  55. data/lib/ecoportal/api/graphql/diff/pairing/engine.rb +173 -0
  56. data/lib/ecoportal/api/graphql/diff/pairing/ledger.rb +119 -0
  57. data/lib/ecoportal/api/graphql/diff/pairing/signals.rb +104 -0
  58. data/lib/ecoportal/api/graphql/diff/strategy.rb +113 -0
  59. data/lib/ecoportal/api/graphql/diff/version_diff.rb +332 -0
  60. data/lib/ecoportal/api/graphql/diff.rb +34 -0
  61. data/lib/ecoportal/api/graphql/file_upload/client.rb +181 -181
  62. data/lib/ecoportal/api/graphql/fragment/page.rb +85 -85
  63. data/lib/ecoportal/api/graphql/fragment/pages/common_page_union.rb +1 -0
  64. data/lib/ecoportal/api/graphql/input/action/update.rb +14 -14
  65. data/lib/ecoportal/api/graphql/input/contractor_entity/update.rb +41 -41
  66. data/lib/ecoportal/api/graphql/input/location_structure/apply_commands.rb +47 -47
  67. data/lib/ecoportal/api/graphql/input/location_structure/draft/add_commands.rb +49 -49
  68. data/lib/ecoportal/api/graphql/input/location_structure/update_command.rb +27 -27
  69. data/lib/ecoportal/api/graphql/input/search_conf.rb +436 -367
  70. data/lib/ecoportal/api/graphql/input/workflow_command/add_field.rb +27 -18
  71. data/lib/ecoportal/api/graphql/interface/location_structure/command.rb +30 -30
  72. data/lib/ecoportal/api/graphql/logic/input.rb +26 -26
  73. data/lib/ecoportal/api/graphql/mutation/action/archive.rb +1 -1
  74. data/lib/ecoportal/api/graphql/mutation/action/create.rb +1 -1
  75. data/lib/ecoportal/api/graphql/mutation/action/update.rb +1 -1
  76. data/lib/ecoportal/api/graphql/mutation/contractor_entity/create.rb +1 -1
  77. data/lib/ecoportal/api/graphql/mutation/contractor_entity/destroy.rb +1 -1
  78. data/lib/ecoportal/api/graphql/mutation/contractor_entity/update.rb +1 -1
  79. data/lib/ecoportal/api/graphql/mutation/kickstand/fail_workflow.rb +1 -1
  80. data/lib/ecoportal/api/graphql/mutation/kickstand/start_workflow.rb +1 -1
  81. data/lib/ecoportal/api/graphql/mutation/kickstand/stop_workflow.rb +1 -1
  82. data/lib/ecoportal/api/graphql.rb +1 -0
  83. data/lib/ecoportal/api/graphql_version.rb +1 -1
  84. data/tests/dump_template_model.rb +90 -0
  85. data/tests/validate_queries.rb +31 -9
  86. metadata +40 -3
@@ -1,47 +1,47 @@
1
- module Ecoportal
2
- module API
3
- class GraphQL
4
- module Input
5
- module LocationStructure
6
- class ApplyCommands < Logic::Input
7
- passkey :id
8
- passboolean :force
9
- embeds_many :commands, klass: Interface::LocationStructure::Command
10
- passboolean :preview
11
-
12
- def add(type, **kargs)
13
- if (command = new_command(type))
14
- command.set_values(**kargs) unless kargs.empty?
15
- yield(command) if block_given?
16
- end
17
- command
18
- end
19
-
20
- private
21
-
22
- def new_command(type)
23
- case type
24
- when :archive
25
- Input::LocationStructure::ArchiveCommand.new
26
- when :unarchive
27
- Input::LocationStructure::UnarchiveCommand.new
28
- when :delete
29
- Input::LocationStructure::DeleteCommand.new
30
- when :move
31
- Input::LocationStructure::MoveCommand.new
32
- when :insert
33
- Input::LocationStructure::InsertCommand.new
34
- when :update
35
- Input::LocationStructure::UpdateCommand.new
36
- when :reoder
37
- Input::LocationStructure::ReoderCommand.new
38
- else
39
- raise "Unknown command type: '#{type}'"
40
- end
41
- end
42
- end
43
- end
44
- end
45
- end
46
- end
47
- end
1
+ module Ecoportal
2
+ module API
3
+ class GraphQL
4
+ module Input
5
+ module LocationStructure
6
+ class ApplyCommands < Logic::Input
7
+ passkey :id
8
+ passboolean :force
9
+ embeds_many :commands, klass: Interface::LocationStructure::Command
10
+ passboolean :preview
11
+
12
+ def add(type, **kargs)
13
+ if (command = new_command(type))
14
+ command.set_values(**kargs) unless kargs.empty?
15
+ yield(command) if block_given?
16
+ end
17
+ command
18
+ end
19
+
20
+ private
21
+
22
+ def new_command(type)
23
+ case type
24
+ when :archive
25
+ Input::LocationStructure::ArchiveCommand.new
26
+ when :unarchive
27
+ Input::LocationStructure::UnarchiveCommand.new
28
+ when :delete
29
+ Input::LocationStructure::DeleteCommand.new
30
+ when :move
31
+ Input::LocationStructure::MoveCommand.new
32
+ when :insert
33
+ Input::LocationStructure::InsertCommand.new
34
+ when :update
35
+ Input::LocationStructure::UpdateCommand.new
36
+ when :reoder
37
+ Input::LocationStructure::ReoderCommand.new
38
+ else
39
+ raise "Unknown command type: '#{type}'"
40
+ end
41
+ end
42
+ end
43
+ end
44
+ end
45
+ end
46
+ end
47
+ end
@@ -1,49 +1,49 @@
1
- module Ecoportal
2
- module API
3
- class GraphQL
4
- module Input
5
- module LocationStructure
6
- module Draft
7
- class AddCommands < Logic::Input
8
- passkey :id
9
-
10
- passboolean :preview
11
- embeds_many :commands, klass: Interface::LocationStructure::Command
12
-
13
- def add(type, **kargs)
14
- if (command = new_command(type))
15
- command.set_values(**kargs) unless kargs.empty?
16
- yield(command) if block_given?
17
- end
18
- command
19
- end
20
-
21
- private
22
-
23
- def new_command(type)
24
- case type
25
- when :archive
26
- Input::LocationStructure::ArchiveCommand.new
27
- when :unarchive
28
- Input::LocationStructure::UnarchiveCommand.new
29
- when :delete
30
- Input::LocationStructure::DeleteCommand.new
31
- when :move
32
- Input::LocationStructure::MoveCommand.new
33
- when :insert
34
- Input::LocationStructure::InsertCommand.new
35
- when :update
36
- Input::LocationStructure::UpdateCommand.new
37
- when :reoder
38
- Input::LocationStructure::ReoderCommand.new
39
- else
40
- raise "Unknown command type: '#{type}'"
41
- end
42
- end
43
- end
44
- end
45
- end
46
- end
47
- end
48
- end
49
- end
1
+ module Ecoportal
2
+ module API
3
+ class GraphQL
4
+ module Input
5
+ module LocationStructure
6
+ module Draft
7
+ class AddCommands < Logic::Input
8
+ passkey :id
9
+
10
+ passboolean :preview
11
+ embeds_many :commands, klass: Interface::LocationStructure::Command
12
+
13
+ def add(type, **kargs)
14
+ if (command = new_command(type))
15
+ command.set_values(**kargs) unless kargs.empty?
16
+ yield(command) if block_given?
17
+ end
18
+ command
19
+ end
20
+
21
+ private
22
+
23
+ def new_command(type)
24
+ case type
25
+ when :archive
26
+ Input::LocationStructure::ArchiveCommand.new
27
+ when :unarchive
28
+ Input::LocationStructure::UnarchiveCommand.new
29
+ when :delete
30
+ Input::LocationStructure::DeleteCommand.new
31
+ when :move
32
+ Input::LocationStructure::MoveCommand.new
33
+ when :insert
34
+ Input::LocationStructure::InsertCommand.new
35
+ when :update
36
+ Input::LocationStructure::UpdateCommand.new
37
+ when :reoder
38
+ Input::LocationStructure::ReoderCommand.new
39
+ else
40
+ raise "Unknown command type: '#{type}'"
41
+ end
42
+ end
43
+ end
44
+ end
45
+ end
46
+ end
47
+ end
48
+ end
49
+ end
@@ -1,27 +1,27 @@
1
- module Ecoportal
2
- module API
3
- class GraphQL
4
- module Input
5
- module LocationStructure
6
- class UpdateCommand < Interface::LocationStructure::Command
7
- passthrough :nodeId, :newId
8
- passthrough :name, :newName
9
- passthrough :classificationIds, :newClassificationIds
10
-
11
- def name
12
- super if newName.nil?
13
-
14
- newName
15
- end
16
-
17
- def classificationIds
18
- super if newClassificationIds.empty?
19
-
20
- newClassificationIds
21
- end
22
- end
23
- end
24
- end
25
- end
26
- end
27
- end
1
+ module Ecoportal
2
+ module API
3
+ class GraphQL
4
+ module Input
5
+ module LocationStructure
6
+ class UpdateCommand < Interface::LocationStructure::Command
7
+ passthrough :nodeId, :newId
8
+ passthrough :name, :newName
9
+ passthrough :classificationIds, :newClassificationIds
10
+
11
+ def name
12
+ super if newName.nil?
13
+
14
+ newName
15
+ end
16
+
17
+ def classificationIds
18
+ super if newClassificationIds.empty?
19
+
20
+ newClassificationIds
21
+ end
22
+ end
23
+ end
24
+ end
25
+ end
26
+ end
27
+ end