ecoportal-api-graphql 1.3.5 → 1.3.17

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 (527) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +943 -477
  3. data/LICENSE +21 -21
  4. data/README.md +24 -24
  5. data/lib/ecoportal/api/common/graphql/auth_service.rb +115 -115
  6. data/lib/ecoportal/api/common/graphql/class_helpers.rb +46 -46
  7. data/lib/ecoportal/api/common/graphql/client.rb +69 -69
  8. data/lib/ecoportal/api/common/graphql/hash_helpers.rb +105 -105
  9. data/lib/ecoportal/api/common/graphql/http_client.rb +195 -145
  10. data/lib/ecoportal/api/common/graphql/model/as_input.rb +54 -51
  11. data/lib/ecoportal/api/common/graphql/model/diffable/classic_diff_service.rb +49 -47
  12. data/lib/ecoportal/api/common/graphql/model/diffable/diff_service.rb +188 -180
  13. data/lib/ecoportal/api/common/graphql/model/diffable/hash_diff.rb +55 -55
  14. data/lib/ecoportal/api/common/graphql/model/diffable/hash_diff_nesting.rb +295 -242
  15. data/lib/ecoportal/api/common/graphql/model/diffable.rb +54 -54
  16. data/lib/ecoportal/api/common/graphql/model.rb +17 -17
  17. data/lib/ecoportal/api/common/graphql/patches.rb +1 -1
  18. data/lib/ecoportal/api/common/graphql/query_integration.rb +45 -45
  19. data/lib/ecoportal/api/common/graphql.rb +16 -16
  20. data/lib/ecoportal/api/common.graphql.rb +8 -8
  21. data/lib/ecoportal/api/graphql/base/action.rb +43 -43
  22. data/lib/ecoportal/api/graphql/base/action_category.rb +15 -15
  23. data/lib/ecoportal/api/graphql/base/ai_summary_version.rb +17 -0
  24. data/lib/ecoportal/api/graphql/base/contractor_entity/member_changes.rb +67 -67
  25. data/lib/ecoportal/api/graphql/base/contractor_entity.rb +24 -24
  26. data/lib/ecoportal/api/graphql/base/date_time.rb +12 -12
  27. data/lib/ecoportal/api/graphql/base/delta_result.rb +16 -0
  28. data/lib/ecoportal/api/graphql/base/field.rb +12 -12
  29. data/lib/ecoportal/api/graphql/base/file_attachment.rb +15 -15
  30. data/lib/ecoportal/api/graphql/base/file_container.rb +14 -14
  31. data/lib/ecoportal/api/graphql/base/force/binding.rb +19 -0
  32. data/lib/ecoportal/api/graphql/base/force/binding_collection.rb +62 -0
  33. data/lib/ecoportal/api/graphql/base/force/collection.rb +47 -0
  34. data/lib/ecoportal/api/graphql/base/force.rb +65 -0
  35. data/lib/ecoportal/api/graphql/base/kickstand/job.rb +17 -0
  36. data/lib/ecoportal/api/graphql/base/kickstand/workflow.rb +18 -0
  37. data/lib/ecoportal/api/graphql/base/kickstand.rb +13 -0
  38. data/lib/ecoportal/api/graphql/base/location_classification_type.rb +15 -15
  39. data/lib/ecoportal/api/graphql/base/location_node.rb +14 -14
  40. data/lib/ecoportal/api/graphql/base/location_structure/draft/structure.rb +37 -37
  41. data/lib/ecoportal/api/graphql/base/location_structure/draft.rb +93 -93
  42. data/lib/ecoportal/api/graphql/base/location_structure.rb +27 -27
  43. data/lib/ecoportal/api/graphql/base/organization.rb +15 -15
  44. data/lib/ecoportal/api/graphql/base/page/basic.rb +38 -0
  45. data/lib/ecoportal/api/graphql/base/page/data_field/actions_list.rb +9 -0
  46. data/lib/ecoportal/api/graphql/base/page/data_field/ai_summary.rb +18 -0
  47. data/lib/ecoportal/api/graphql/base/page/data_field/checklist.rb +29 -0
  48. data/lib/ecoportal/api/graphql/base/page/data_field/collection.rb +119 -0
  49. data/lib/ecoportal/api/graphql/base/page/data_field/contractor_entities.rb +28 -0
  50. data/lib/ecoportal/api/graphql/base/page/data_field/cross_reference.rb +54 -0
  51. data/lib/ecoportal/api/graphql/base/page/data_field/date_field.rb +23 -0
  52. data/lib/ecoportal/api/graphql/base/page/data_field/file_field.rb +25 -0
  53. data/lib/ecoportal/api/graphql/base/page/data_field/gauge.rb +19 -0
  54. data/lib/ecoportal/api/graphql/base/page/data_field/geo.rb +24 -0
  55. data/lib/ecoportal/api/graphql/base/page/data_field/image_gallery.rb +24 -0
  56. data/lib/ecoportal/api/graphql/base/page/data_field/law.rb +8 -0
  57. data/lib/ecoportal/api/graphql/base/page/data_field/mailbox.rb +9 -0
  58. data/lib/ecoportal/api/graphql/base/page/data_field/number.rb +20 -0
  59. data/lib/ecoportal/api/graphql/base/page/data_field/people.rb +35 -0
  60. data/lib/ecoportal/api/graphql/base/page/data_field/plain_text.rb +17 -0
  61. data/lib/ecoportal/api/graphql/base/page/data_field/rich_text.rb +26 -0
  62. data/lib/ecoportal/api/graphql/base/page/data_field/select.rb +41 -0
  63. data/lib/ecoportal/api/graphql/base/page/data_field/signature.rb +9 -0
  64. data/lib/ecoportal/api/graphql/base/page/data_field/smart_fill.rb +17 -0
  65. data/lib/ecoportal/api/graphql/base/page/data_field/table.rb +9 -0
  66. data/lib/ecoportal/api/graphql/base/page/data_field/tag_field.rb +21 -0
  67. data/lib/ecoportal/api/graphql/base/page/data_field.rb +137 -12
  68. data/lib/ecoportal/api/graphql/base/page/phased/stage.rb +68 -14
  69. data/lib/ecoportal/api/graphql/base/page/phased.rb +15 -14
  70. data/lib/ecoportal/api/graphql/base/page/section.rb +48 -12
  71. data/lib/ecoportal/api/graphql/base/page/section_collection.rb +85 -0
  72. data/lib/ecoportal/api/graphql/base/page/task.rb +24 -0
  73. data/lib/ecoportal/api/graphql/base/page.rb +17 -14
  74. data/lib/ecoportal/api/graphql/base/page_info.rb +12 -12
  75. data/lib/ecoportal/api/graphql/base/pages_workflow/action_type_selection.rb +17 -0
  76. data/lib/ecoportal/api/graphql/base/pages_workflow/callback_type.rb +28 -0
  77. data/lib/ecoportal/api/graphql/base/pages_workflow/command_change.rb +17 -0
  78. data/lib/ecoportal/api/graphql/base/pages_workflow/command_change_message.rb +15 -0
  79. data/lib/ecoportal/api/graphql/base/pages_workflow/command_es_change.rb +17 -0
  80. data/lib/ecoportal/api/graphql/base/pages_workflow/command_interface.rb +36 -0
  81. data/lib/ecoportal/api/graphql/base/pages_workflow/email_config.rb +18 -0
  82. data/lib/ecoportal/api/graphql/base/pages_workflow/escalation_level.rb +19 -0
  83. data/lib/ecoportal/api/graphql/base/pages_workflow/in_system_config.rb +16 -0
  84. data/lib/ecoportal/api/graphql/base/pages_workflow/mailbox_field_selection.rb +17 -0
  85. data/lib/ecoportal/api/graphql/base/pages_workflow/operation_interface.rb +39 -0
  86. data/lib/ecoportal/api/graphql/base/pages_workflow/operations/assign_to.rb +27 -0
  87. data/lib/ecoportal/api/graphql/base/pages_workflow/operations/create_page.rb +21 -0
  88. data/lib/ecoportal/api/graphql/base/pages_workflow/operations/send_notification.rb +30 -0
  89. data/lib/ecoportal/api/graphql/base/pages_workflow/people_field_selection.rb +17 -0
  90. data/lib/ecoportal/api/graphql/base/pages_workflow/recipient_config.rb +34 -0
  91. data/lib/ecoportal/api/graphql/base/pages_workflow/register_field.rb +17 -0
  92. data/lib/ecoportal/api/graphql/base/pages_workflow/task_config_selection.rb +17 -0
  93. data/lib/ecoportal/api/graphql/base/pages_workflow/time_delay_config.rb +16 -0
  94. data/lib/ecoportal/api/graphql/base/pages_workflow/trigger_interface.rb +26 -0
  95. data/lib/ecoportal/api/graphql/base/pages_workflow/triggers/conditional_logic.rb +17 -0
  96. data/lib/ecoportal/api/graphql/base/pages_workflow/user_selection.rb +16 -0
  97. data/lib/ecoportal/api/graphql/base/pages_workflow.rb +35 -0
  98. data/lib/ecoportal/api/graphql/base/person_member.rb +22 -22
  99. data/lib/ecoportal/api/graphql/base/preset_view.rb +17 -0
  100. data/lib/ecoportal/api/graphql/base/preview_page.rb +23 -0
  101. data/lib/ecoportal/api/graphql/base/register.rb +18 -0
  102. data/lib/ecoportal/api/graphql/base/resource.rb +13 -13
  103. data/lib/ecoportal/api/graphql/base/template.rb +35 -0
  104. data/lib/ecoportal/api/graphql/base.rb +37 -24
  105. data/lib/ecoportal/api/graphql/builder/action.rb +41 -41
  106. data/lib/ecoportal/api/graphql/builder/contractor_entity.rb +41 -41
  107. data/lib/ecoportal/api/graphql/builder/kickstand.rb +73 -0
  108. data/lib/ecoportal/api/graphql/builder/location_structure/draft.rb +64 -64
  109. data/lib/ecoportal/api/graphql/builder/location_structure.rb +40 -40
  110. data/lib/ecoportal/api/graphql/builder/page.rb +210 -41
  111. data/lib/ecoportal/api/graphql/builder/register/preset_view.rb +84 -0
  112. data/lib/ecoportal/api/graphql/builder/register.rb +49 -41
  113. data/lib/ecoportal/api/graphql/builder/template.rb +80 -0
  114. data/lib/ecoportal/api/graphql/builder/template_builder.rb +174 -0
  115. data/lib/ecoportal/api/graphql/builder.rb +17 -14
  116. data/lib/ecoportal/api/graphql/compat/filter_translator.rb +142 -0
  117. data/lib/ecoportal/api/graphql/compat/page_reference.rb +23 -0
  118. data/lib/ecoportal/api/graphql/compat/pages.rb +212 -0
  119. data/lib/ecoportal/api/graphql/compat/registers.rb +84 -0
  120. data/lib/ecoportal/api/graphql/compat/response.rb +35 -0
  121. data/lib/ecoportal/api/graphql/compat/search_results.rb +33 -0
  122. data/lib/ecoportal/api/graphql/compat/stage_collection.rb +70 -0
  123. data/lib/ecoportal/api/graphql/compat/stage_view.rb +76 -0
  124. data/lib/ecoportal/api/graphql/compat.rb +17 -0
  125. data/lib/ecoportal/api/graphql/concerns/data_field_access.rb +71 -0
  126. data/lib/ecoportal/api/graphql/concerns/deprecation.rb +20 -0
  127. data/lib/ecoportal/api/graphql/concerns/fragment_definitions.rb +68 -75
  128. data/lib/ecoportal/api/graphql/concerns/page_compat.rb +51 -0
  129. data/lib/ecoportal/api/graphql/concerns/snake_camel_access.rb +60 -0
  130. data/lib/ecoportal/api/graphql/concerns.rb +14 -10
  131. data/lib/ecoportal/api/graphql/connection/action.rb +11 -11
  132. data/lib/ecoportal/api/graphql/connection/action_category.rb +11 -11
  133. data/lib/ecoportal/api/graphql/connection/contractor_entity.rb +11 -11
  134. data/lib/ecoportal/api/graphql/connection/page.rb +11 -0
  135. data/lib/ecoportal/api/graphql/connection/pages_workflow_command.rb +13 -0
  136. data/lib/ecoportal/api/graphql/connection/person_member.rb +11 -11
  137. data/lib/ecoportal/api/graphql/connection/preset_view.rb +11 -0
  138. data/lib/ecoportal/api/graphql/connection/preview_page.rb +11 -0
  139. data/lib/ecoportal/api/graphql/connection.rb +17 -13
  140. data/lib/ecoportal/api/graphql/diff/change.rb +59 -0
  141. data/lib/ecoportal/api/graphql/diff/command_synthesizer.rb +329 -0
  142. data/lib/ecoportal/api/graphql/diff/cross_object_diff.rb +165 -0
  143. data/lib/ecoportal/api/graphql/diff/deploy.rb +121 -0
  144. data/lib/ecoportal/api/graphql/diff/id_resolver.rb +64 -0
  145. data/lib/ecoportal/api/graphql/diff/pairing/candidate.rb +32 -0
  146. data/lib/ecoportal/api/graphql/diff/pairing/engine.rb +173 -0
  147. data/lib/ecoportal/api/graphql/diff/pairing/ledger.rb +119 -0
  148. data/lib/ecoportal/api/graphql/diff/pairing/signals.rb +104 -0
  149. data/lib/ecoportal/api/graphql/diff/strategy.rb +113 -0
  150. data/lib/ecoportal/api/graphql/diff/version_diff.rb +332 -0
  151. data/lib/ecoportal/api/graphql/diff.rb +34 -0
  152. data/lib/ecoportal/api/graphql/error/locations_error/fetch_nested.rb +51 -51
  153. data/lib/ecoportal/api/graphql/error/locations_error.rb +28 -28
  154. data/lib/ecoportal/api/graphql/error/locations_validation_error.rb +20 -20
  155. data/lib/ecoportal/api/graphql/error/validation_errors.rb +28 -28
  156. data/lib/ecoportal/api/graphql/error.rb +12 -12
  157. data/lib/ecoportal/api/graphql/file_upload/client.rb +192 -0
  158. data/lib/ecoportal/api/graphql/file_upload.rb +10 -0
  159. data/lib/ecoportal/api/graphql/fragment/action.rb +65 -65
  160. data/lib/ecoportal/api/graphql/fragment/action_category.rb +17 -17
  161. data/lib/ecoportal/api/graphql/fragment/contractor_entity.rb +20 -20
  162. data/lib/ecoportal/api/graphql/fragment/field_configuration.rb +38 -0
  163. data/lib/ecoportal/api/graphql/fragment/force.rb +34 -0
  164. data/lib/ecoportal/api/graphql/fragment/location_draft.rb +53 -53
  165. data/lib/ecoportal/api/graphql/fragment/location_node.rb +26 -26
  166. data/lib/ecoportal/api/graphql/fragment/locations_error.rb +19 -19
  167. data/lib/ecoportal/api/graphql/fragment/page.rb +85 -0
  168. data/lib/ecoportal/api/graphql/fragment/page_task.rb +39 -0
  169. data/lib/ecoportal/api/graphql/fragment/pages/common_page_union.rb +396 -0
  170. data/lib/ecoportal/api/graphql/fragment/pages.rb +15 -0
  171. data/lib/ecoportal/api/graphql/fragment/pages_workflow.rb +172 -0
  172. data/lib/ecoportal/api/graphql/fragment/pagination.rb +17 -17
  173. data/lib/ecoportal/api/graphql/fragment/template.rb +51 -0
  174. data/lib/ecoportal/api/graphql/fragment.rb +40 -27
  175. data/lib/ecoportal/api/graphql/helpers/locations_tree.rb +41 -41
  176. data/lib/ecoportal/api/graphql/helpers.rb +10 -10
  177. data/lib/ecoportal/api/graphql/input/action/archive.rb +14 -14
  178. data/lib/ecoportal/api/graphql/input/action/create.rb +13 -13
  179. data/lib/ecoportal/api/graphql/input/action/update.rb +14 -14
  180. data/lib/ecoportal/api/graphql/input/action.rb +14 -14
  181. data/lib/ecoportal/api/graphql/input/contractor_entity/create.rb +14 -14
  182. data/lib/ecoportal/api/graphql/input/contractor_entity/destroy.rb +13 -13
  183. data/lib/ecoportal/api/graphql/input/contractor_entity/update.rb +41 -16
  184. data/lib/ecoportal/api/graphql/input/contractor_entity.rb +14 -14
  185. data/lib/ecoportal/api/graphql/input/delta_input.rb +16 -0
  186. data/lib/ecoportal/api/graphql/input/id_diff.rb +11 -11
  187. data/lib/ecoportal/api/graphql/input/location_structure/apply_commands.rb +47 -47
  188. data/lib/ecoportal/api/graphql/input/location_structure/archive_command.rb +13 -13
  189. data/lib/ecoportal/api/graphql/input/location_structure/delete_command.rb +13 -13
  190. data/lib/ecoportal/api/graphql/input/location_structure/draft/add_commands.rb +49 -49
  191. data/lib/ecoportal/api/graphql/input/location_structure/draft/create.rb +15 -15
  192. data/lib/ecoportal/api/graphql/input/location_structure/draft/delete.rb +15 -15
  193. data/lib/ecoportal/api/graphql/input/location_structure/draft/drop_bad_commands.rb +16 -16
  194. data/lib/ecoportal/api/graphql/input/location_structure/draft/publish.rb +16 -16
  195. data/lib/ecoportal/api/graphql/input/location_structure/draft.rb +19 -19
  196. data/lib/ecoportal/api/graphql/input/location_structure/insert_command.rb +13 -13
  197. data/lib/ecoportal/api/graphql/input/location_structure/move_command.rb +14 -14
  198. data/lib/ecoportal/api/graphql/input/location_structure/reorder_command.rb +13 -13
  199. data/lib/ecoportal/api/graphql/input/location_structure/unarchive_command.rb +13 -13
  200. data/lib/ecoportal/api/graphql/input/location_structure/update_command.rb +27 -27
  201. data/lib/ecoportal/api/graphql/input/location_structure.rb +20 -20
  202. data/lib/ecoportal/api/graphql/input/page/archive.rb +14 -0
  203. data/lib/ecoportal/api/graphql/input/page/build_from_template.rb +13 -0
  204. data/lib/ecoportal/api/graphql/input/page/create_draft.rb +13 -0
  205. data/lib/ecoportal/api/graphql/input/page/create_from_template.rb +18 -0
  206. data/lib/ecoportal/api/graphql/input/page/delete_draft.rb +13 -0
  207. data/lib/ecoportal/api/graphql/input/page/publish_draft.rb +13 -0
  208. data/lib/ecoportal/api/graphql/input/page/review_task.rb +14 -0
  209. data/lib/ecoportal/api/graphql/input/page/unarchive.rb +14 -0
  210. data/lib/ecoportal/api/graphql/input/page/update.rb +140 -0
  211. data/lib/ecoportal/api/graphql/input/page.rb +26 -0
  212. data/lib/ecoportal/api/graphql/input/preset_view/create.rb +18 -0
  213. data/lib/ecoportal/api/graphql/input/preset_view/permission.rb +16 -0
  214. data/lib/ecoportal/api/graphql/input/preset_view/update.rb +16 -0
  215. data/lib/ecoportal/api/graphql/input/preset_view.rb +14 -0
  216. data/lib/ecoportal/api/graphql/input/register/create.rb +18 -0
  217. data/lib/ecoportal/api/graphql/input/register/update.rb +15 -0
  218. data/lib/ecoportal/api/graphql/input/register.rb +13 -0
  219. data/lib/ecoportal/api/graphql/input/search.rb +13 -13
  220. data/lib/ecoportal/api/graphql/input/search_conf/ai_generator.rb +234 -0
  221. data/lib/ecoportal/api/graphql/input/search_conf.rb +436 -0
  222. data/lib/ecoportal/api/graphql/input/search_filter.rb +12 -12
  223. data/lib/ecoportal/api/graphql/input/search_sorter.rb +11 -11
  224. data/lib/ecoportal/api/graphql/input/variable_binding.rb +20 -0
  225. data/lib/ecoportal/api/graphql/input/workflow_command/add_action_tag.rb +18 -0
  226. data/lib/ecoportal/api/graphql/input/workflow_command/add_binding.rb +18 -0
  227. data/lib/ecoportal/api/graphql/input/workflow_command/add_comment_tagging_user_group.rb +18 -0
  228. data/lib/ecoportal/api/graphql/input/workflow_command/add_default_direct_strategy_user.rb +18 -0
  229. data/lib/ecoportal/api/graphql/input/workflow_command/add_default_strategy.rb +18 -0
  230. data/lib/ecoportal/api/graphql/input/workflow_command/add_direct_strategy_user.rb +18 -0
  231. data/lib/ecoportal/api/graphql/input/workflow_command/add_field.rb +27 -0
  232. data/lib/ecoportal/api/graphql/input/workflow_command/add_force.rb +18 -0
  233. data/lib/ecoportal/api/graphql/input/workflow_command/add_gauge_field_stop.rb +19 -0
  234. data/lib/ecoportal/api/graphql/input/workflow_command/add_linked_field_config.rb +23 -0
  235. data/lib/ecoportal/api/graphql/input/workflow_command/add_linked_helper.rb +18 -0
  236. data/lib/ecoportal/api/graphql/input/workflow_command/add_operation.rb +18 -0
  237. data/lib/ecoportal/api/graphql/input/workflow_command/add_operation_direct_strategy_user.rb +18 -0
  238. data/lib/ecoportal/api/graphql/input/workflow_command/add_operation_strategy.rb +18 -0
  239. data/lib/ecoportal/api/graphql/input/workflow_command/add_recipient_action_type.rb +18 -0
  240. data/lib/ecoportal/api/graphql/input/workflow_command/add_recipient_filter.rb +18 -0
  241. data/lib/ecoportal/api/graphql/input/workflow_command/add_recipient_people_field.rb +18 -0
  242. data/lib/ecoportal/api/graphql/input/workflow_command/add_recipient_task_config.rb +18 -0
  243. data/lib/ecoportal/api/graphql/input/workflow_command/add_recipient_user.rb +18 -0
  244. data/lib/ecoportal/api/graphql/input/workflow_command/add_scheduled_callback.rb +23 -0
  245. data/lib/ecoportal/api/graphql/input/workflow_command/add_scheduled_callback_action.rb +18 -0
  246. data/lib/ecoportal/api/graphql/input/workflow_command/add_section.rb +18 -0
  247. data/lib/ecoportal/api/graphql/input/workflow_command/add_select_field_option.rb +19 -0
  248. data/lib/ecoportal/api/graphql/input/workflow_command/add_stage.rb +18 -0
  249. data/lib/ecoportal/api/graphql/input/workflow_command/add_stage_section.rb +18 -0
  250. data/lib/ecoportal/api/graphql/input/workflow_command/add_stage_tag.rb +18 -0
  251. data/lib/ecoportal/api/graphql/input/workflow_command/add_strategy.rb +18 -0
  252. data/lib/ecoportal/api/graphql/input/workflow_command/add_task.rb +18 -0
  253. data/lib/ecoportal/api/graphql/input/workflow_command/add_task_assignment_user_group.rb +18 -0
  254. data/lib/ecoportal/api/graphql/input/workflow_command/add_workflow_callback.rb +18 -0
  255. data/lib/ecoportal/api/graphql/input/workflow_command/collapse_section.rb +18 -0
  256. data/lib/ecoportal/api/graphql/input/workflow_command/edit_binding.rb +18 -0
  257. data/lib/ecoportal/api/graphql/input/workflow_command/edit_creator_permissions.rb +18 -0
  258. data/lib/ecoportal/api/graphql/input/workflow_command/edit_default_strategy.rb +18 -0
  259. data/lib/ecoportal/api/graphql/input/workflow_command/edit_field_configuration.rb +21 -0
  260. data/lib/ecoportal/api/graphql/input/workflow_command/edit_force.rb +18 -0
  261. data/lib/ecoportal/api/graphql/input/workflow_command/edit_gauge_field_stop.rb +19 -0
  262. data/lib/ecoportal/api/graphql/input/workflow_command/edit_linked_field_config.rb +19 -0
  263. data/lib/ecoportal/api/graphql/input/workflow_command/edit_linked_helper.rb +18 -0
  264. data/lib/ecoportal/api/graphql/input/workflow_command/edit_operation.rb +18 -0
  265. data/lib/ecoportal/api/graphql/input/workflow_command/edit_operation_strategy.rb +18 -0
  266. data/lib/ecoportal/api/graphql/input/workflow_command/edit_page.rb +28 -0
  267. data/lib/ecoportal/api/graphql/input/workflow_command/edit_page_creator_permissions.rb +18 -0
  268. data/lib/ecoportal/api/graphql/input/workflow_command/edit_reminder.rb +18 -0
  269. data/lib/ecoportal/api/graphql/input/workflow_command/edit_required_sign_offs.rb +18 -0
  270. data/lib/ecoportal/api/graphql/input/workflow_command/edit_restrict_comment_tagging.rb +18 -0
  271. data/lib/ecoportal/api/graphql/input/workflow_command/edit_restrict_task_assignment.rb +18 -0
  272. data/lib/ecoportal/api/graphql/input/workflow_command/edit_scheduled_callback.rb +22 -0
  273. data/lib/ecoportal/api/graphql/input/workflow_command/edit_section_header.rb +18 -0
  274. data/lib/ecoportal/api/graphql/input/workflow_command/edit_select_field_option.rb +19 -0
  275. data/lib/ecoportal/api/graphql/input/workflow_command/edit_stage.rb +18 -0
  276. data/lib/ecoportal/api/graphql/input/workflow_command/edit_strategy.rb +18 -0
  277. data/lib/ecoportal/api/graphql/input/workflow_command/edit_task_due.rb +18 -0
  278. data/lib/ecoportal/api/graphql/input/workflow_command/edit_trigger.rb +18 -0
  279. data/lib/ecoportal/api/graphql/input/workflow_command/expand_section.rb +18 -0
  280. data/lib/ecoportal/api/graphql/input/workflow_command/field_config/contractor_entities.rb +24 -0
  281. data/lib/ecoportal/api/graphql/input/workflow_command/field_config/cross_reference.rb +23 -0
  282. data/lib/ecoportal/api/graphql/input/workflow_command/field_config/date.rb +20 -0
  283. data/lib/ecoportal/api/graphql/input/workflow_command/field_config/gauge.rb +20 -0
  284. data/lib/ecoportal/api/graphql/input/workflow_command/field_config/image_gallery.rb +20 -0
  285. data/lib/ecoportal/api/graphql/input/workflow_command/field_config/location_field.rb +24 -0
  286. data/lib/ecoportal/api/graphql/input/workflow_command/field_config/people.rb +24 -0
  287. data/lib/ecoportal/api/graphql/input/workflow_command/field_config/plain_text.rb +20 -0
  288. data/lib/ecoportal/api/graphql/input/workflow_command/field_config/rich_text.rb +20 -0
  289. data/lib/ecoportal/api/graphql/input/workflow_command/field_config/select.rb +20 -0
  290. data/lib/ecoportal/api/graphql/input/workflow_command/field_config/signature.rb +20 -0
  291. data/lib/ecoportal/api/graphql/input/workflow_command/field_config/table.rb +25 -0
  292. data/lib/ecoportal/api/graphql/input/workflow_command/move_field.rb +18 -0
  293. data/lib/ecoportal/api/graphql/input/workflow_command/move_stage.rb +18 -0
  294. data/lib/ecoportal/api/graphql/input/workflow_command/remove_action_tag.rb +18 -0
  295. data/lib/ecoportal/api/graphql/input/workflow_command/remove_binding.rb +18 -0
  296. data/lib/ecoportal/api/graphql/input/workflow_command/remove_callback.rb +18 -0
  297. data/lib/ecoportal/api/graphql/input/workflow_command/remove_comment_tagging_user_group.rb +18 -0
  298. data/lib/ecoportal/api/graphql/input/workflow_command/remove_default_direct_strategy_user.rb +18 -0
  299. data/lib/ecoportal/api/graphql/input/workflow_command/remove_default_strategy.rb +18 -0
  300. data/lib/ecoportal/api/graphql/input/workflow_command/remove_direct_strategy_user.rb +18 -0
  301. data/lib/ecoportal/api/graphql/input/workflow_command/remove_field.rb +18 -0
  302. data/lib/ecoportal/api/graphql/input/workflow_command/remove_force.rb +18 -0
  303. data/lib/ecoportal/api/graphql/input/workflow_command/remove_gauge_field_stop.rb +17 -0
  304. data/lib/ecoportal/api/graphql/input/workflow_command/remove_linked_field_config.rb +17 -0
  305. data/lib/ecoportal/api/graphql/input/workflow_command/remove_linked_helper.rb +18 -0
  306. data/lib/ecoportal/api/graphql/input/workflow_command/remove_operation.rb +18 -0
  307. data/lib/ecoportal/api/graphql/input/workflow_command/remove_operation_direct_strategy_user.rb +18 -0
  308. data/lib/ecoportal/api/graphql/input/workflow_command/remove_operation_strategy.rb +18 -0
  309. data/lib/ecoportal/api/graphql/input/workflow_command/remove_recipient_action_type.rb +18 -0
  310. data/lib/ecoportal/api/graphql/input/workflow_command/remove_recipient_filter.rb +18 -0
  311. data/lib/ecoportal/api/graphql/input/workflow_command/remove_recipient_people_field.rb +18 -0
  312. data/lib/ecoportal/api/graphql/input/workflow_command/remove_recipient_task_config.rb +18 -0
  313. data/lib/ecoportal/api/graphql/input/workflow_command/remove_recipient_user.rb +18 -0
  314. data/lib/ecoportal/api/graphql/input/workflow_command/remove_scheduled_callback.rb +18 -0
  315. data/lib/ecoportal/api/graphql/input/workflow_command/remove_section.rb +18 -0
  316. data/lib/ecoportal/api/graphql/input/workflow_command/remove_select_field_option.rb +17 -0
  317. data/lib/ecoportal/api/graphql/input/workflow_command/remove_stage.rb +18 -0
  318. data/lib/ecoportal/api/graphql/input/workflow_command/remove_stage_section.rb +18 -0
  319. data/lib/ecoportal/api/graphql/input/workflow_command/remove_stage_tag.rb +18 -0
  320. data/lib/ecoportal/api/graphql/input/workflow_command/remove_strategy.rb +18 -0
  321. data/lib/ecoportal/api/graphql/input/workflow_command/remove_task.rb +18 -0
  322. data/lib/ecoportal/api/graphql/input/workflow_command/remove_task_assignment_user_group.rb +18 -0
  323. data/lib/ecoportal/api/graphql/input/workflow_command/remove_task_due.rb +18 -0
  324. data/lib/ecoportal/api/graphql/input/workflow_command/remove_task_priority_level.rb +18 -0
  325. data/lib/ecoportal/api/graphql/input/workflow_command/reorder_forces.rb +18 -0
  326. data/lib/ecoportal/api/graphql/input/workflow_command/reorder_section.rb +18 -0
  327. data/lib/ecoportal/api/graphql/input/workflow_command.rb +251 -0
  328. data/lib/ecoportal/api/graphql/input.rb +24 -16
  329. data/lib/ecoportal/api/graphql/interface/base_page.rb +100 -58
  330. data/lib/ecoportal/api/graphql/interface/location_structure/command.rb +30 -30
  331. data/lib/ecoportal/api/graphql/interface/location_structure/node.rb +43 -43
  332. data/lib/ecoportal/api/graphql/interface/location_structure/nodes.rb +27 -28
  333. data/lib/ecoportal/api/graphql/interface/location_structure.rb +14 -14
  334. data/lib/ecoportal/api/graphql/interface.rb +11 -11
  335. data/lib/ecoportal/api/graphql/logic/base_model.rb +15 -13
  336. data/lib/ecoportal/api/graphql/logic/base_query.rb +193 -150
  337. data/lib/ecoportal/api/graphql/logic/connection.rb +34 -34
  338. data/lib/ecoportal/api/graphql/logic/input.rb +26 -11
  339. data/lib/ecoportal/api/graphql/logic/mutation.rb +59 -59
  340. data/lib/ecoportal/api/graphql/logic/payload.rb +42 -42
  341. data/lib/ecoportal/api/graphql/logic/query.rb +23 -23
  342. data/lib/ecoportal/api/graphql/logic/query_array.rb +30 -30
  343. data/lib/ecoportal/api/graphql/logic/query_connection.rb +48 -48
  344. data/lib/ecoportal/api/graphql/logic.rb +18 -18
  345. data/lib/ecoportal/api/graphql/model/account.rb +15 -15
  346. data/lib/ecoportal/api/graphql/model/action.rb +22 -22
  347. data/lib/ecoportal/api/graphql/model/ai_summary_version.rb +10 -0
  348. data/lib/ecoportal/api/graphql/model/contractor_entity.rb +12 -12
  349. data/lib/ecoportal/api/graphql/model/field.rb +10 -10
  350. data/lib/ecoportal/api/graphql/model/file_attachment.rb +10 -10
  351. data/lib/ecoportal/api/graphql/model/file_container.rb +11 -11
  352. data/lib/ecoportal/api/graphql/model/location_node.rb +14 -14
  353. data/lib/ecoportal/api/graphql/model/location_structure/draft/structure.rb +15 -15
  354. data/lib/ecoportal/api/graphql/model/location_structure/draft.rb +15 -15
  355. data/lib/ecoportal/api/graphql/model/location_structure.rb +16 -16
  356. data/lib/ecoportal/api/graphql/model/organization.rb +65 -55
  357. data/lib/ecoportal/api/graphql/model/page/basic.rb +14 -0
  358. data/lib/ecoportal/api/graphql/model/page/data_field.rb +12 -12
  359. data/lib/ecoportal/api/graphql/model/page/phased/stage.rb +14 -14
  360. data/lib/ecoportal/api/graphql/model/page/phased.rb +82 -20
  361. data/lib/ecoportal/api/graphql/model/page/section.rb +12 -12
  362. data/lib/ecoportal/api/graphql/model/page/task.rb +16 -0
  363. data/lib/ecoportal/api/graphql/model/page.rb +16 -14
  364. data/lib/ecoportal/api/graphql/model/page_union.rb +21 -0
  365. data/lib/ecoportal/api/graphql/model/pages_workflow.rb +20 -0
  366. data/lib/ecoportal/api/graphql/model/person_member.rb +15 -15
  367. data/lib/ecoportal/api/graphql/model/preset_view.rb +10 -0
  368. data/lib/ecoportal/api/graphql/model/preview_page.rb +10 -0
  369. data/lib/ecoportal/api/graphql/model/register.rb +10 -0
  370. data/lib/ecoportal/api/graphql/model/resource.rb +13 -13
  371. data/lib/ecoportal/api/graphql/model/template.rb +15 -0
  372. data/lib/ecoportal/api/graphql/model/user.rb +14 -14
  373. data/lib/ecoportal/api/graphql/model.rb +32 -22
  374. data/lib/ecoportal/api/graphql/mutation/action/archive.rb +41 -41
  375. data/lib/ecoportal/api/graphql/mutation/action/create.rb +40 -40
  376. data/lib/ecoportal/api/graphql/mutation/action/update.rb +40 -40
  377. data/lib/ecoportal/api/graphql/mutation/action.rb +14 -14
  378. data/lib/ecoportal/api/graphql/mutation/ai_summary/generate.rb +45 -0
  379. data/lib/ecoportal/api/graphql/mutation/ai_summary/submit_feedback.rb +40 -0
  380. data/lib/ecoportal/api/graphql/mutation/ai_summary.rb +13 -0
  381. data/lib/ecoportal/api/graphql/mutation/contractor_entity/create.rb +40 -40
  382. data/lib/ecoportal/api/graphql/mutation/contractor_entity/destroy.rb +40 -40
  383. data/lib/ecoportal/api/graphql/mutation/contractor_entity/update.rb +40 -40
  384. data/lib/ecoportal/api/graphql/mutation/contractor_entity.rb +14 -14
  385. data/lib/ecoportal/api/graphql/mutation/kickstand/bulk_update_jobs.rb +43 -0
  386. data/lib/ecoportal/api/graphql/mutation/kickstand/bulk_update_workflows.rb +43 -0
  387. data/lib/ecoportal/api/graphql/mutation/kickstand/fail_job.rb +39 -0
  388. data/lib/ecoportal/api/graphql/mutation/kickstand/fail_workflow.rb +39 -0
  389. data/lib/ecoportal/api/graphql/mutation/kickstand/start_job.rb +39 -0
  390. data/lib/ecoportal/api/graphql/mutation/kickstand/start_workflow.rb +39 -0
  391. data/lib/ecoportal/api/graphql/mutation/kickstand/stop_workflow.rb +39 -0
  392. data/lib/ecoportal/api/graphql/mutation/kickstand.rb +18 -0
  393. data/lib/ecoportal/api/graphql/mutation/location_structure/apply_commands.rb +54 -54
  394. data/lib/ecoportal/api/graphql/mutation/location_structure/draft/add_commands.rb +55 -55
  395. data/lib/ecoportal/api/graphql/mutation/location_structure/draft/create.rb +54 -54
  396. data/lib/ecoportal/api/graphql/mutation/location_structure/draft/delete.rb +43 -43
  397. data/lib/ecoportal/api/graphql/mutation/location_structure/draft/drop_bad_commands.rb +56 -56
  398. data/lib/ecoportal/api/graphql/mutation/location_structure/draft/publish.rb +66 -66
  399. data/lib/ecoportal/api/graphql/mutation/location_structure/draft.rb +18 -18
  400. data/lib/ecoportal/api/graphql/mutation/location_structure.rb +13 -13
  401. data/lib/ecoportal/api/graphql/mutation/page/approve_review_task.rb +40 -0
  402. data/lib/ecoportal/api/graphql/mutation/page/archive.rb +40 -0
  403. data/lib/ecoportal/api/graphql/mutation/page/batch_update_review_task.rb +38 -0
  404. data/lib/ecoportal/api/graphql/mutation/page/build_from_template.rb +50 -0
  405. data/lib/ecoportal/api/graphql/mutation/page/create_draft.rb +38 -0
  406. data/lib/ecoportal/api/graphql/mutation/page/create_from_template.rb +43 -0
  407. data/lib/ecoportal/api/graphql/mutation/page/delete_draft.rb +38 -0
  408. data/lib/ecoportal/api/graphql/mutation/page/execute_force_commands.rb +69 -0
  409. data/lib/ecoportal/api/graphql/mutation/page/execute_workflow_commands.rb +52 -0
  410. data/lib/ecoportal/api/graphql/mutation/page/publish_draft.rb +38 -0
  411. data/lib/ecoportal/api/graphql/mutation/page/reject_review_task.rb +40 -0
  412. data/lib/ecoportal/api/graphql/mutation/page/restart_review_task.rb +40 -0
  413. data/lib/ecoportal/api/graphql/mutation/page/unarchive.rb +40 -0
  414. data/lib/ecoportal/api/graphql/mutation/page/undo_review_task.rb +40 -0
  415. data/lib/ecoportal/api/graphql/mutation/page/update.rb +40 -0
  416. data/lib/ecoportal/api/graphql/mutation/page/update_variable_bindings.rb +44 -0
  417. data/lib/ecoportal/api/graphql/mutation/page.rb +28 -0
  418. data/lib/ecoportal/api/graphql/mutation/preset_view/create.rb +35 -0
  419. data/lib/ecoportal/api/graphql/mutation/preset_view/destroy.rb +34 -0
  420. data/lib/ecoportal/api/graphql/mutation/preset_view/permission.rb +37 -0
  421. data/lib/ecoportal/api/graphql/mutation/preset_view/update.rb +35 -0
  422. data/lib/ecoportal/api/graphql/mutation/preset_view.rb +15 -0
  423. data/lib/ecoportal/api/graphql/mutation/register/create.rb +35 -0
  424. data/lib/ecoportal/api/graphql/mutation/register/destroy.rb +35 -0
  425. data/lib/ecoportal/api/graphql/mutation/register/update.rb +35 -0
  426. data/lib/ecoportal/api/graphql/mutation/register.rb +14 -0
  427. data/lib/ecoportal/api/graphql/mutation/smart_fill/generate.rb +36 -0
  428. data/lib/ecoportal/api/graphql/mutation/smart_fill/submit_feedback.rb +40 -0
  429. data/lib/ecoportal/api/graphql/mutation/smart_fill.rb +13 -0
  430. data/lib/ecoportal/api/graphql/mutation/template/create.rb +39 -0
  431. data/lib/ecoportal/api/graphql/mutation/template/create_related_page.rb +46 -0
  432. data/lib/ecoportal/api/graphql/mutation/template/destroy_related_page.rb +43 -0
  433. data/lib/ecoportal/api/graphql/mutation/template/publish.rb +39 -0
  434. data/lib/ecoportal/api/graphql/mutation/template/unpublish.rb +39 -0
  435. data/lib/ecoportal/api/graphql/mutation/template/update.rb +43 -0
  436. data/lib/ecoportal/api/graphql/mutation/template/update_information.rb +43 -0
  437. data/lib/ecoportal/api/graphql/mutation/template.rb +18 -0
  438. data/lib/ecoportal/api/graphql/mutation.rb +20 -12
  439. data/lib/ecoportal/api/graphql/payload/action/archive.rb +13 -13
  440. data/lib/ecoportal/api/graphql/payload/action/create.rb +13 -13
  441. data/lib/ecoportal/api/graphql/payload/action/update.rb +13 -13
  442. data/lib/ecoportal/api/graphql/payload/action.rb +14 -14
  443. data/lib/ecoportal/api/graphql/payload/ai_summary_generate.rb +12 -0
  444. data/lib/ecoportal/api/graphql/payload/contractor_entity/create.rb +13 -13
  445. data/lib/ecoportal/api/graphql/payload/contractor_entity/destroy.rb +12 -12
  446. data/lib/ecoportal/api/graphql/payload/contractor_entity/update.rb +12 -12
  447. data/lib/ecoportal/api/graphql/payload/contractor_entity.rb +14 -14
  448. data/lib/ecoportal/api/graphql/payload/execute_workflow_commands.rb +36 -0
  449. data/lib/ecoportal/api/graphql/payload/force_commands.rb +31 -0
  450. data/lib/ecoportal/api/graphql/payload/kickstand/bulk_update_jobs.rb +36 -0
  451. data/lib/ecoportal/api/graphql/payload/kickstand/bulk_update_workflows.rb +36 -0
  452. data/lib/ecoportal/api/graphql/payload/kickstand/job.rb +13 -0
  453. data/lib/ecoportal/api/graphql/payload/kickstand/workflow.rb +13 -0
  454. data/lib/ecoportal/api/graphql/payload/kickstand.rb +15 -0
  455. data/lib/ecoportal/api/graphql/payload/location_structure/apply_commands.rb +51 -51
  456. data/lib/ecoportal/api/graphql/payload/location_structure/command_execution_result.rb +50 -50
  457. data/lib/ecoportal/api/graphql/payload/location_structure/draft/add_commands.rb +30 -30
  458. data/lib/ecoportal/api/graphql/payload/location_structure/draft/create.rb +33 -34
  459. data/lib/ecoportal/api/graphql/payload/location_structure/draft/delete.rb +30 -30
  460. data/lib/ecoportal/api/graphql/payload/location_structure/draft/drop_bad_commands.rb +43 -43
  461. data/lib/ecoportal/api/graphql/payload/location_structure/draft/publish.rb +63 -63
  462. data/lib/ecoportal/api/graphql/payload/location_structure/draft.rb +18 -18
  463. data/lib/ecoportal/api/graphql/payload/location_structure.rb +14 -14
  464. data/lib/ecoportal/api/graphql/payload/ok_payload.rb +36 -0
  465. data/lib/ecoportal/api/graphql/payload/page/archive.rb +13 -0
  466. data/lib/ecoportal/api/graphql/payload/page/build_from_template.rb +13 -0
  467. data/lib/ecoportal/api/graphql/payload/page/create_from_template.rb +13 -0
  468. data/lib/ecoportal/api/graphql/payload/page/draft.rb +26 -0
  469. data/lib/ecoportal/api/graphql/payload/page/review_task.rb +13 -0
  470. data/lib/ecoportal/api/graphql/payload/page/review_task_batch.rb +23 -0
  471. data/lib/ecoportal/api/graphql/payload/page/unarchive.rb +13 -0
  472. data/lib/ecoportal/api/graphql/payload/page/update.rb +13 -0
  473. data/lib/ecoportal/api/graphql/payload/page/update_variable_bindings.rb +13 -0
  474. data/lib/ecoportal/api/graphql/payload/page.rb +20 -0
  475. data/lib/ecoportal/api/graphql/payload/preset_view.rb +15 -0
  476. data/lib/ecoportal/api/graphql/payload/register.rb +15 -0
  477. data/lib/ecoportal/api/graphql/payload/template/create.rb +13 -0
  478. data/lib/ecoportal/api/graphql/payload/template/create_related_page.rb +13 -0
  479. data/lib/ecoportal/api/graphql/payload/template/destroy_related_page.rb +13 -0
  480. data/lib/ecoportal/api/graphql/payload/template/publish.rb +13 -0
  481. data/lib/ecoportal/api/graphql/payload/template/unpublish.rb +13 -0
  482. data/lib/ecoportal/api/graphql/payload/template/update.rb +13 -0
  483. data/lib/ecoportal/api/graphql/payload/template/update_information.rb +13 -0
  484. data/lib/ecoportal/api/graphql/payload/template.rb +18 -0
  485. data/lib/ecoportal/api/graphql/payload.rb +23 -12
  486. data/lib/ecoportal/api/graphql/query/action.rb +33 -33
  487. data/lib/ecoportal/api/graphql/query/action_categories.rb +53 -53
  488. data/lib/ecoportal/api/graphql/query/actions.rb +43 -43
  489. data/lib/ecoportal/api/graphql/query/contractor_entities.rb +53 -53
  490. data/lib/ecoportal/api/graphql/query/file_upload_signature.rb +76 -0
  491. data/lib/ecoportal/api/graphql/query/location_classifications.rb +39 -39
  492. data/lib/ecoportal/api/graphql/query/location_structure/draft.rb +62 -62
  493. data/lib/ecoportal/api/graphql/query/location_structure.rb +61 -61
  494. data/lib/ecoportal/api/graphql/query/location_structures.rb +57 -57
  495. data/lib/ecoportal/api/graphql/query/page.rb +45 -0
  496. data/lib/ecoportal/api/graphql/query/page_delta.rb +47 -0
  497. data/lib/ecoportal/api/graphql/query/page_with_forces.rb +49 -0
  498. data/lib/ecoportal/api/graphql/query/pages.rb +59 -0
  499. data/lib/ecoportal/api/graphql/query/pages_workflow_commands.rb +65 -0
  500. data/lib/ecoportal/api/graphql/query/register_preset_views.rb +78 -0
  501. data/lib/ecoportal/api/graphql/query/register_preview_pages.rb +83 -0
  502. data/lib/ecoportal/api/graphql/query/templates.rb +53 -0
  503. data/lib/ecoportal/api/graphql/query.rb +27 -16
  504. data/lib/ecoportal/api/graphql.rb +143 -80
  505. data/lib/ecoportal/api/graphql_version.rb +5 -5
  506. data/lib/ecoportal/api-graphql.rb +10 -10
  507. metadata +328 -25
  508. data/.gitignore +0 -24
  509. data/.markdownlint.json +0 -4
  510. data/.rspec +0 -3
  511. data/.rubocop.yml +0 -97
  512. data/.ruby-version +0 -1
  513. data/.yardopts +0 -10
  514. data/Gemfile +0 -6
  515. data/Rakefile +0 -38
  516. data/bin/console +0 -14
  517. data/bin/setup +0 -8
  518. data/bin/setup.ps1 +0 -6
  519. data/ecoportal-api-graphql.gemspec +0 -40
  520. data/tests/actions_get.rb +0 -7
  521. data/tests/contractor_entities_get.rb +0 -20
  522. data/tests/contractor_entity_create.rb +0 -19
  523. data/tests/contractor_entity_udpate.rb +0 -20
  524. data/tests/loc_structure_get.rb +0 -11
  525. data/tests/loc_structure_update.rb +0 -51
  526. data/tests/loc_structures_get.rb +0 -15
  527. data/tests/local_libs.rb +0 -20
@@ -0,0 +1,85 @@
1
+ module Ecoportal
2
+ module API
3
+ class GraphQL
4
+ class Fragment
5
+ # Shared fields for both BasicPage and PhasedPage (spread on BasePageInterface).
6
+ # Always include __typename so PageUnion can dispatch to the right concrete class.
7
+ fragment :PageFields, <<~GRAPHQL
8
+ fragment PageFields on BasePageInterface {
9
+ __typename
10
+ id
11
+ name
12
+ uid
13
+ icon
14
+ patchVer
15
+ state
16
+ archived
17
+ archivedAt { dateTime }
18
+ draft
19
+ externalId
20
+ timeZone
21
+ otherTags
22
+ taskPriority
23
+ sourceTemplateId
24
+ createdAt { dateTime }
25
+ updatedAt { dateTime }
26
+ creatorName
27
+ locations {
28
+ ...LocationNode
29
+ }
30
+ workflow {
31
+ autoPageCreationEnabled
32
+ fields { key name type total missing }
33
+ }
34
+ }
35
+ GRAPHQL
36
+
37
+ # BasicPage-only fields — spread alongside PageFields for basic pages.
38
+ # BasicPage has sections directly (PhasedPage sections live under stages).
39
+ fragment :BasicPageFields, <<~GRAPHQL
40
+ fragment BasicPageFields on BasicPage {
41
+ sections {
42
+ __typename
43
+ ... on ContentSection {
44
+ id
45
+ heading
46
+ }
47
+ ... on SplitSection {
48
+ id
49
+ heading
50
+ }
51
+ }
52
+ }
53
+ GRAPHQL
54
+
55
+ # PhasedPage-only fields — spread alongside PageFields for phased pages.
56
+ # Provides lightweight stage index, current stage, and active stages.
57
+ # For full stage content (sections, data fields), use CommonPageUnion.
58
+ fragment :PhasedPageFields, <<~GRAPHQL
59
+ fragment PhasedPageFields on PhasedPage {
60
+ stagesIndex {
61
+ id
62
+ name
63
+ ordering
64
+ state
65
+ started
66
+ hasCompleteTask
67
+ hasReviewTask
68
+ }
69
+ currentStage {
70
+ id
71
+ name
72
+ ordering
73
+ state
74
+ }
75
+ activeStages {
76
+ id
77
+ name
78
+ ordering
79
+ }
80
+ }
81
+ GRAPHQL
82
+ end
83
+ end
84
+ end
85
+ end
@@ -0,0 +1,39 @@
1
+ module Ecoportal
2
+ module API
3
+ class GraphQL
4
+ class Fragment
5
+ # Fields of a page TASK (`TaskInterface`: CompletePage / InComment / ReviewPage).
6
+ #
7
+ # The review-task mutations (`approve/reject/restart/undoReviewPageTask`) return
8
+ # `item: TaskInterface` — NOT a page. They used to select `item { ...PageFields }`,
9
+ # which is invalid GraphQL ("Fragment PageFields on BasePageInterface can't be spread
10
+ # inside TaskInterface") and made every one of those mutations fail. The page the
11
+ # caller was after is reachable through `subject` (a `PageUnion`), so it is spread
12
+ # there — where `PageFields` is legal.
13
+ #
14
+ # Verified against the live schema (2026-07-30): TaskInterface exposes complete,
15
+ # completedAt, completedBy, completedByUser, createdAt, due, escalated, escalatedAt,
16
+ # escalationTimes, escalationsDetails, fromPublicTemplate, id, nextEscalationTime,
17
+ # overdue, relativeStatus, scheduledCallbacks, stageId, subject, taskNotes, users.
18
+ fragment :PageTaskFields, <<~GRAPHQL
19
+ fragment PageTaskFields on TaskInterface {
20
+ __typename
21
+ id
22
+ stageId
23
+ complete
24
+ overdue
25
+ escalated
26
+ relativeStatus
27
+ taskNotes
28
+ createdAt { dateTime }
29
+ completedAt { dateTime }
30
+ due { dateTime }
31
+ subject {
32
+ ...PageFields
33
+ }
34
+ }
35
+ GRAPHQL
36
+ end
37
+ end
38
+ end
39
+ end
@@ -0,0 +1,396 @@
1
+ # CommonPageUnion — unified page fragment for all customer integration patterns.
2
+ #
3
+ # Covers three core use cases via boolean query variables:
4
+ #
5
+ # CREATE sequence (2-step):
6
+ # (a) buildFromTemplate → fetch built draft with ($fields: true) to get
7
+ # server-assigned data field IDs
8
+ # (b) fill in values → createFromTemplate
9
+ #
10
+ # UPDATE sequence (2-step):
11
+ # (a) fetch current page with ($content: true, $fields: true) to get patchVer
12
+ # + current field IDs/values (IDs change after DB creation — must be read)
13
+ # (b) build update operations → updatePage
14
+ #
15
+ # VERIFY after create/update:
16
+ # fetch with ($content: true, $only_content: true) to confirm result
17
+ #
18
+ # Variables:
19
+ # $content — include field values, stage completions, files, people
20
+ # $only_content — exclude structural/config fields; content values only
21
+ # $fields — include data field definitions (labels, options, structure)
22
+ #
23
+ # Documented in Jira API Docs space (Confluence APIDOCS).
24
+ # Access: fragment.pages.assemble(:CommonPageUnion)
25
+ module Ecoportal
26
+ module API
27
+ class GraphQL
28
+ class Fragment
29
+ class Pages
30
+ fragment :CommonPageUnion, <<~GRAPHQL
31
+ fragment CommonPageUnion on PageUnion {
32
+ ...corePageData
33
+ ... on PhasedPage {
34
+ stages { ...stageAttrs }
35
+ attachedFiles @include(if: $content) {
36
+ id @skip(if: $only_content)
37
+ activeFileAttachment { downloadUrl }
38
+ }
39
+ activeStages {
40
+ id
41
+ name
42
+ ordering
43
+ }
44
+ }
45
+ ... on BasicPage {
46
+ sections { ...sectionUnion }
47
+ }
48
+ }
49
+
50
+ fragment taskInterface on TaskInterface {
51
+ id
52
+ fromPublicTemplate
53
+ complete
54
+ completedAt { dateTime }
55
+ completedBy { name email }
56
+ due { dateTime }
57
+ overdue
58
+ users { name email }
59
+ }
60
+
61
+ fragment stageAttrs on Stage {
62
+ id @skip(if: $only_content)
63
+ name
64
+ ...sectionsFragment
65
+ active
66
+ started
67
+ state
68
+ completedBy @include(if: $content) { name email }
69
+ activeTask @include(if: $content) { ...taskInterface }
70
+ }
71
+
72
+ fragment locationNode on LocationNodeInterface {
73
+ id
74
+ name
75
+ archived
76
+ classifications { name }
77
+ ancestors { id name }
78
+ }
79
+
80
+ fragment corePageData on BasePageInterface {
81
+ __typename
82
+ id
83
+ patchVer
84
+ externalId
85
+ name
86
+ uid
87
+ locations { ...locationNode }
88
+ otherTags @include(if: $content)
89
+ timeZone
90
+ updatedAt { dateTime }
91
+ createdAt { dateTime }
92
+ creator { name email }
93
+ state
94
+ archived
95
+ }
96
+
97
+ fragment sectionsFragment on Stage {
98
+ ... on HasSectionsInterface {
99
+ sections { ...sectionUnion }
100
+ }
101
+ }
102
+
103
+ fragment sectionUnion on SectionUnion {
104
+ __typename
105
+ ... on ContentSection {
106
+ id
107
+ heading
108
+ dataFields @include(if: $fields) { ...dataField }
109
+ }
110
+ ... on SplitSection {
111
+ id
112
+ heading
113
+ leftDataFields @include(if: $fields) { ...dataField }
114
+ rightDataFields @include(if: $fields) { ...dataField }
115
+ }
116
+ }
117
+
118
+ fragment dataFieldInterface on DataFieldsInterface {
119
+ __typename
120
+ id @skip(if: $only_content)
121
+ label
122
+ genomeSignature @skip(if: $only_content)
123
+ deindex @include(if: $content)
124
+ linkedFieldConfig @skip(if: $only_content) {
125
+ crossReferenceId
126
+ crossReferenceField { label }
127
+ sourceFieldKey
128
+ }
129
+ }
130
+
131
+ fragment dataField on DataFieldUnion {
132
+ ...dataFieldInterface
133
+ ...locationField
134
+ ...geoField
135
+ ...numberField
136
+ ...gaugeField
137
+ ...dateField
138
+ ...plainTextField
139
+ ...richTextField
140
+ ...selectField
141
+ ...checklistField
142
+ ...signatureField
143
+ ...imageGalleryField
144
+ ...fileField
145
+ ...peopleField
146
+ ...contractorEntitiesField
147
+ ...crossReferenceField
148
+ ...mailboxField
149
+ ...lawField
150
+ ...aiSummaryField @include(if: $content)
151
+ ...actionsListField
152
+ }
153
+
154
+ fragment locationField on TagField {
155
+ required @skip(if: $only_content)
156
+ restrictByClassification @skip(if: $only_content)
157
+ allowedClassifications @skip(if: $only_content)
158
+ singleSelect @skip(if: $only_content)
159
+ locations @include(if: $content) { ...locationNode }
160
+ }
161
+
162
+ fragment geoField on Geo {
163
+ required @skip(if: $only_content)
164
+ address @include(if: $content)
165
+ coordinates @include(if: $content)
166
+ }
167
+
168
+ fragment numberField on Number {
169
+ required @skip(if: $only_content)
170
+ value @include(if: $content)
171
+ }
172
+
173
+ fragment gaugeField on Gauge {
174
+ max @skip(if: $only_content)
175
+ value @include(if: $content)
176
+ }
177
+
178
+ fragment dateField on Date {
179
+ required @skip(if: $only_content)
180
+ pastOnly @skip(if: $only_content)
181
+ showTime @skip(if: $only_content)
182
+ value @include(if: $content) { dateTime }
183
+ }
184
+
185
+ fragment plainTextField on PlainText {
186
+ required @skip(if: $only_content)
187
+ multiline @skip(if: $only_content)
188
+ value @include(if: $content)
189
+ }
190
+
191
+ fragment richTextField on RichText {
192
+ required @skip(if: $only_content)
193
+ content @include(if: $content)
194
+ }
195
+
196
+ fragment selectField on Select {
197
+ required @skip(if: $only_content)
198
+ multiple @skip(if: $only_content)
199
+ dataType
200
+ options {
201
+ id
202
+ selected @include(if: $content)
203
+ value
204
+ name
205
+ }
206
+ other
207
+ otherDesc @include(if: $content)
208
+ }
209
+
210
+ fragment checklistField on Checklist {
211
+ complete
212
+ items { checked label }
213
+ }
214
+
215
+ fragment signatureField on Signature {
216
+ required @skip(if: $only_content)
217
+ signedByName @include(if: $content)
218
+ signatureUpdatedAt { dateTime }
219
+ signedById @include(if: $content)
220
+ }
221
+
222
+ fragment imageGalleryField on ImageGallery {
223
+ images @include(if: $content) {
224
+ downloadUrl
225
+ caption
226
+ fileName
227
+ fileSize
228
+ uploadId @skip(if: $only_content)
229
+ }
230
+ }
231
+
232
+ fragment fileField on File {
233
+ required @skip(if: $only_content)
234
+ items @include(if: $content) {
235
+ fileContainer { ...fileContainerAttrs }
236
+ }
237
+ }
238
+
239
+ fragment fileContainerAttrs on FileContainer {
240
+ id
241
+ activeFileAttachment {
242
+ downloadUrl
243
+ id @skip(if: $only_content)
244
+ fileSize
245
+ fileName
246
+ userName
247
+ fileUpdatedAt { dateTime }
248
+ }
249
+ }
250
+
251
+ fragment peopleField on People {
252
+ required @skip(if: $only_content)
253
+ singular @skip(if: $only_content)
254
+ attachMode
255
+ cachedPeople @include(if: $content) {
256
+ id
257
+ email
258
+ name
259
+ externalId
260
+ privateFields
261
+ publicFields
262
+ }
263
+ peopleIds @include(if: $content)
264
+ people @include(if: $content) {
265
+ id
266
+ name
267
+ externalId
268
+ email
269
+ }
270
+ }
271
+
272
+ fragment contractorEntitiesField on ContractorEntities {
273
+ required @skip(if: $only_content)
274
+ contractorEntities(
275
+ includeDeleted: true
276
+ ) @include(if: $content) {
277
+ id
278
+ name
279
+ externalId
280
+ approved
281
+ active
282
+ }
283
+ }
284
+
285
+ fragment crossReferenceField on CrossReference {
286
+ required @skip(if: $only_content)
287
+ references(
288
+ first: 25
289
+ ) @include(if: $content) {
290
+ nodes { ...referenceAttrs }
291
+ totalCount
292
+ pageInfo {
293
+ hasNextPage
294
+ endCursor
295
+ }
296
+ }
297
+ }
298
+
299
+ fragment referenceAttrs on Reference {
300
+ id
301
+ name
302
+ uid
303
+ state
304
+ locations { ...locationNode }
305
+ createdAt { dateTime }
306
+ updatedAt { dateTime }
307
+ creator { name }
308
+ }
309
+
310
+ fragment mailboxField on Mailbox {
311
+ address @skip(if: $only_content)
312
+ emails @include(if: $content) {
313
+ nodes {
314
+ subject
315
+ body
316
+ recipients
317
+ cc
318
+ bcc
319
+ senderName
320
+ senderEmail
321
+ createdAt { dateTime }
322
+ fileContainers { ...fileContainerAttrs }
323
+ }
324
+ }
325
+ }
326
+
327
+ fragment lawField on Law {
328
+ snippets @include(if: $content) {
329
+ category
330
+ content
331
+ legislation
332
+ product
333
+ title
334
+ topic
335
+ sources
336
+ updatedAt { dateTime }
337
+ }
338
+ }
339
+
340
+ fragment aiSummaryField on AiSummary {
341
+ alreadyRated
342
+ aiSummary
343
+ aiSummaryGeneratedAt { dateTime }
344
+ currentVersionId
345
+ triggerStageIds
346
+ textFormat
347
+ trigger
348
+ instructions @skip(if: $only_content)
349
+ }
350
+
351
+ fragment actionsListField on ActionsList {
352
+ required @skip(if: $only_content)
353
+ requiredCompleted @skip(if: $only_content)
354
+ actions(
355
+ first: 25,
356
+ includeRecurringActions: false
357
+ ) @include(if: $content) {
358
+ ...pageActionsList
359
+ }
360
+ }
361
+
362
+ fragment pageActionsList on DataFieldAssociatedActionsConnection {
363
+ nodes { ...pageActionAttrs }
364
+ totalCount
365
+ pageInfo {
366
+ hasNextPage
367
+ endCursor
368
+ }
369
+ closedCount
370
+ openCount
371
+ overdueCount
372
+ }
373
+
374
+ fragment pageActionAttrs on Action {
375
+ id
376
+ name
377
+ description
378
+ assignedTo {
379
+ id
380
+ name
381
+ email
382
+ }
383
+ status
384
+ relativeStatus
385
+ age
386
+ createdAt { dateTime }
387
+ completedAt { dateTime }
388
+ dueDate { dateTime }
389
+ dueOrClosedDate { dateTime }
390
+ }
391
+ GRAPHQL
392
+ end
393
+ end
394
+ end
395
+ end
396
+ end
@@ -0,0 +1,15 @@
1
+ module Ecoportal
2
+ module API
3
+ class GraphQL
4
+ class Fragment
5
+ class Pages
6
+ include Ecoportal::API::GraphQL::Concerns::FragmentDefinitions
7
+ end
8
+
9
+ register_namespace Pages
10
+ end
11
+ end
12
+ end
13
+ end
14
+
15
+ require_relative 'pages/common_page_union'
@@ -0,0 +1,172 @@
1
+ module Ecoportal
2
+ module API
3
+ class GraphQL
4
+ class Fragment
5
+ SCHEMA_VERSION = '20260605'.freeze
6
+
7
+ fragment :PagesWorkflowFields, <<~GRAPHQL
8
+ fragment PagesWorkflowFields on PagesWorkflow {
9
+ autoPageCreationEnabled
10
+ fields {
11
+ key
12
+ name
13
+ type
14
+ total
15
+ missing
16
+ enableCrossRegisterReporting
17
+ }
18
+ stages {
19
+ id
20
+ name
21
+ ordering
22
+ state
23
+ active
24
+ started
25
+ }
26
+ }
27
+ GRAPHQL
28
+
29
+ fragment :PagesWorkflowCallbackFields, <<~GRAPHQL
30
+ fragment PagesWorkflowCallbackFields on PagesWorkflowCallbackType {
31
+ id
32
+ triggerCondition
33
+ triggers {
34
+ __typename
35
+ id
36
+ ... on PagesWorkflowTriggersConditionalLogic {
37
+ filters {
38
+ id
39
+ operation
40
+ path
41
+ key
42
+ params
43
+ }
44
+ }
45
+ }
46
+ operations {
47
+ __typename
48
+ id
49
+ timeDelayPassed
50
+ timeDelayConfig {
51
+ enabled
52
+ frequencyValue
53
+ period
54
+ excludeWeekends
55
+ }
56
+ ... on PagesWorkflowOperationsAssignTo {
57
+ targetTaskType
58
+ lastFulfilled
59
+ escalationLevels {
60
+ id
61
+ order
62
+ dueInValue
63
+ dueInUnit
64
+ dueExcludeWeekends
65
+ elapsedSeconds
66
+ timerPaused
67
+ }
68
+ }
69
+ ... on PagesWorkflowOperationsCreatePage {
70
+ templateId
71
+ crossReferenceFieldId
72
+ }
73
+ ... on PagesWorkflowOperationsSendNotification {
74
+ recurring
75
+ recurrenceActive
76
+ recurrenceEndType
77
+ recurrenceEndCount
78
+ emailConfig {
79
+ enabled
80
+ subject
81
+ body
82
+ attachPdf
83
+ includeSmartSummary
84
+ pdfRedacted
85
+ sendAsGroupEmail
86
+ }
87
+ inSystemConfig {
88
+ enabled
89
+ title
90
+ message
91
+ }
92
+ recipientConfig {
93
+ allActiveUsers
94
+ includePageCreator
95
+ includePeopleFields
96
+ includeTaskAssignees
97
+ includeMailboxFields
98
+ userSelections {
99
+ id
100
+ name
101
+ email
102
+ deleted
103
+ }
104
+ peopleFieldSelections {
105
+ id
106
+ name
107
+ stageName
108
+ deleted
109
+ }
110
+ taskConfigSelections {
111
+ id
112
+ type
113
+ stageName
114
+ deleted
115
+ }
116
+ mailboxFieldSelections {
117
+ id
118
+ name
119
+ stageName
120
+ deleted
121
+ }
122
+ actionTypeSelections {
123
+ id
124
+ name
125
+ deleted
126
+ }
127
+ }
128
+ }
129
+ }
130
+ }
131
+ GRAPHQL
132
+
133
+ fragment :PagesWorkflowCommandFields, <<~GRAPHQL
134
+ fragment PagesWorkflowCommandFields on PagesWorkflowCommandInterface {
135
+ __typename
136
+ id
137
+ commandAction
138
+ createdAt { dateTime }
139
+ patchVer
140
+ ownerId
141
+ stageId
142
+ stageName
143
+ taskId
144
+ taskType
145
+ ... on PagesWorkflowCommandChange {
146
+ changes {
147
+ field
148
+ from
149
+ to
150
+ }
151
+ }
152
+ ... on PagesWorkflowCommandChangeMessage {
153
+ changeMessages
154
+ }
155
+ }
156
+ GRAPHQL
157
+
158
+ # Stage-level fragment that adds workflowCallbacks to a Stage selection.
159
+ # Spread this on Stage (alongside or inside a page query) to populate
160
+ # stage.workflow_callbacks. Requires PagesWorkflowCallbackFields to be
161
+ # assembled in the same request.
162
+ fragment :StageWithCallbacksFields, <<~GRAPHQL
163
+ fragment StageWithCallbacksFields on Stage {
164
+ workflowCallbacks {
165
+ ...PagesWorkflowCallbackFields
166
+ }
167
+ }
168
+ GRAPHQL
169
+ end
170
+ end
171
+ end
172
+ end