ecoportal-api-graphql 1.3.17 → 2.0.0

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 (466) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +384 -15
  3. data/LICENSE +21 -21
  4. data/README.md +24 -24
  5. data/lib/ecoportal/api/common/graphql/CLAUDE.md +36 -0
  6. data/lib/ecoportal/api/common/graphql/auth_service.rb +115 -115
  7. data/lib/ecoportal/api/common/graphql/class_helpers.rb +46 -46
  8. data/lib/ecoportal/api/common/graphql/client.rb +69 -69
  9. data/lib/ecoportal/api/common/graphql/hash_helpers.rb +105 -105
  10. data/lib/ecoportal/api/common/graphql/model/CLAUDE.md +28 -0
  11. data/lib/ecoportal/api/common/graphql/model/as_input.rb +54 -54
  12. data/lib/ecoportal/api/common/graphql/model/diffable/classic_diff_service.rb +49 -49
  13. data/lib/ecoportal/api/common/graphql/model/diffable/diff_service.rb +188 -188
  14. data/lib/ecoportal/api/common/graphql/model/diffable/hash_diff.rb +55 -55
  15. data/lib/ecoportal/api/common/graphql/model/diffable/hash_diff_nesting.rb +295 -295
  16. data/lib/ecoportal/api/common/graphql/model/diffable/leaf_diff_service.rb +97 -0
  17. data/lib/ecoportal/api/common/graphql/model/diffable.rb +1 -0
  18. data/lib/ecoportal/api/common/graphql/model.rb +17 -17
  19. data/lib/ecoportal/api/common/graphql/patches.rb +1 -1
  20. data/lib/ecoportal/api/common/graphql/query_integration.rb +45 -45
  21. data/lib/ecoportal/api/common/graphql.rb +16 -16
  22. data/lib/ecoportal/api/common.graphql.rb +8 -8
  23. data/lib/ecoportal/api/graphql/CLAUDE.md +37 -0
  24. data/lib/ecoportal/api/graphql/base/CLAUDE.md +50 -0
  25. data/lib/ecoportal/api/graphql/base/action.rb +1 -1
  26. data/lib/ecoportal/api/graphql/base/action_category.rb +15 -15
  27. data/lib/ecoportal/api/graphql/base/action_event.rb +23 -0
  28. data/lib/ecoportal/api/graphql/base/action_event_page.rb +16 -0
  29. data/lib/ecoportal/api/graphql/base/activity.rb +38 -0
  30. data/lib/ecoportal/api/graphql/base/activity_log.rb +38 -0
  31. data/lib/ecoportal/api/graphql/base/ai_summary_version.rb +13 -8
  32. data/lib/ecoportal/api/graphql/base/auth_log.rb +24 -0
  33. data/lib/ecoportal/api/graphql/base/authorization_result.rb +20 -0
  34. data/lib/ecoportal/api/graphql/base/contractor_entity/member_changes.rb +17 -5
  35. data/lib/ecoportal/api/graphql/base/contractor_entity.rb +24 -24
  36. data/lib/ecoportal/api/graphql/base/date_time.rb +12 -12
  37. data/lib/ecoportal/api/graphql/base/delta_result.rb +16 -16
  38. data/lib/ecoportal/api/graphql/base/field.rb +12 -12
  39. data/lib/ecoportal/api/graphql/base/file_attachment.rb +15 -15
  40. data/lib/ecoportal/api/graphql/base/file_container.rb +12 -4
  41. data/lib/ecoportal/api/graphql/base/location_classification_type.rb +2 -0
  42. data/lib/ecoportal/api/graphql/base/location_node.rb +14 -14
  43. data/lib/ecoportal/api/graphql/base/location_structure/draft/structure.rb +37 -37
  44. data/lib/ecoportal/api/graphql/base/location_structure/draft.rb +93 -93
  45. data/lib/ecoportal/api/graphql/base/location_structure.rb +3 -0
  46. data/lib/ecoportal/api/graphql/base/minimal_dashboard.rb +25 -0
  47. data/lib/ecoportal/api/graphql/base/organization.rb +2 -0
  48. data/lib/ecoportal/api/graphql/base/page/data_field/actions_list.rb +9 -9
  49. data/lib/ecoportal/api/graphql/base/page/data_field/ai_summary.rb +18 -18
  50. data/lib/ecoportal/api/graphql/base/page/data_field/checklist.rb +29 -29
  51. data/lib/ecoportal/api/graphql/base/page/data_field/collection.rb +1 -1
  52. data/lib/ecoportal/api/graphql/base/page/data_field/contractor_entities.rb +25 -2
  53. data/lib/ecoportal/api/graphql/base/page/data_field/cross_reference.rb +1 -1
  54. data/lib/ecoportal/api/graphql/base/page/data_field/date_field.rb +23 -23
  55. data/lib/ecoportal/api/graphql/base/page/data_field/file_field.rb +46 -7
  56. data/lib/ecoportal/api/graphql/base/page/data_field/geo.rb +24 -24
  57. data/lib/ecoportal/api/graphql/base/page/data_field/image_gallery.rb +6 -3
  58. data/lib/ecoportal/api/graphql/base/page/data_field/law.rb +8 -8
  59. data/lib/ecoportal/api/graphql/base/page/data_field/mailbox.rb +9 -9
  60. data/lib/ecoportal/api/graphql/base/page/data_field/people.rb +50 -12
  61. data/lib/ecoportal/api/graphql/base/page/data_field/plain_text.rb +17 -17
  62. data/lib/ecoportal/api/graphql/base/page/data_field/rich_text.rb +26 -26
  63. data/lib/ecoportal/api/graphql/base/page/data_field/signature.rb +9 -9
  64. data/lib/ecoportal/api/graphql/base/page/data_field/smart_fill.rb +17 -17
  65. data/lib/ecoportal/api/graphql/base/page/data_field/table.rb +9 -9
  66. data/lib/ecoportal/api/graphql/base/page/data_field/tag_field.rb +21 -21
  67. data/lib/ecoportal/api/graphql/base/page/data_field.rb +12 -18
  68. data/lib/ecoportal/api/graphql/base/page/phased.rb +15 -15
  69. data/lib/ecoportal/api/graphql/base/page/section.rb +48 -48
  70. data/lib/ecoportal/api/graphql/base/page_info.rb +12 -12
  71. data/lib/ecoportal/api/graphql/base/pages_workflow/operation_interface.rb +39 -39
  72. data/lib/ecoportal/api/graphql/base/pages_workflow/operations/assign_to.rb +27 -27
  73. data/lib/ecoportal/api/graphql/base/pages_workflow/operations/send_notification.rb +30 -30
  74. data/lib/ecoportal/api/graphql/base/pages_workflow/recipient_config.rb +34 -34
  75. data/lib/ecoportal/api/graphql/base/pages_workflow.rb +35 -35
  76. data/lib/ecoportal/api/graphql/base/permissions.rb +15 -0
  77. data/lib/ecoportal/api/graphql/base/person_member.rb +22 -22
  78. data/lib/ecoportal/api/graphql/base/person_member_changelog.rb +23 -0
  79. data/lib/ecoportal/api/graphql/base/preset_view.rb +135 -0
  80. data/lib/ecoportal/api/graphql/base/preview_page.rb +23 -23
  81. data/lib/ecoportal/api/graphql/base/register.rb +6 -1
  82. data/lib/ecoportal/api/graphql/base/resource.rb +13 -13
  83. data/lib/ecoportal/api/graphql/base.rb +9 -0
  84. data/lib/ecoportal/api/graphql/builder/CLAUDE.md +65 -0
  85. data/lib/ecoportal/api/graphql/builder/action.rb +41 -41
  86. data/lib/ecoportal/api/graphql/builder/contractor_entity.rb +10 -0
  87. data/lib/ecoportal/api/graphql/builder/location_structure/draft.rb +64 -64
  88. data/lib/ecoportal/api/graphql/builder/location_structure.rb +40 -40
  89. data/lib/ecoportal/api/graphql/builder/page.rb +0 -16
  90. data/lib/ecoportal/api/graphql/builder/register/preset_view.rb +84 -84
  91. data/lib/ecoportal/api/graphql/builder/register.rb +49 -49
  92. data/lib/ecoportal/api/graphql/builder/template.rb +18 -0
  93. data/lib/ecoportal/api/graphql/compat/filter_translator.rb +1 -1
  94. data/lib/ecoportal/api/graphql/compat/page_reference.rb +23 -23
  95. data/lib/ecoportal/api/graphql/compat/pages.rb +7 -2
  96. data/lib/ecoportal/api/graphql/compat/registers.rb +84 -84
  97. data/lib/ecoportal/api/graphql/compat/response.rb +14 -0
  98. data/lib/ecoportal/api/graphql/compat/search_results.rb +33 -33
  99. data/lib/ecoportal/api/graphql/compat.rb +17 -17
  100. data/lib/ecoportal/api/graphql/concerns/data_field_access.rb +71 -71
  101. data/lib/ecoportal/api/graphql/concerns/fragment_definitions.rb +68 -68
  102. data/lib/ecoportal/api/graphql/concerns/snake_camel_access.rb +60 -60
  103. data/lib/ecoportal/api/graphql/concerns/threadable.rb +58 -0
  104. data/lib/ecoportal/api/graphql/concerns.rb +1 -0
  105. data/lib/ecoportal/api/graphql/connection/action.rb +1 -1
  106. data/lib/ecoportal/api/graphql/connection/action_category.rb +1 -1
  107. data/lib/ecoportal/api/graphql/connection/activity.rb +11 -0
  108. data/lib/ecoportal/api/graphql/connection/activity_log.rb +11 -0
  109. data/lib/ecoportal/api/graphql/connection/auth_log.rb +11 -0
  110. data/lib/ecoportal/api/graphql/connection/contractor_entity.rb +1 -1
  111. data/lib/ecoportal/api/graphql/connection/minimal_dashboard.rb +11 -0
  112. data/lib/ecoportal/api/graphql/connection/page.rb +1 -1
  113. data/lib/ecoportal/api/graphql/connection/pages_workflow_command.rb +1 -1
  114. data/lib/ecoportal/api/graphql/connection/person_member.rb +1 -1
  115. data/lib/ecoportal/api/graphql/connection/person_member_changelog.rb +11 -0
  116. data/lib/ecoportal/api/graphql/connection/preset_view.rb +11 -11
  117. data/lib/ecoportal/api/graphql/connection/preview_page.rb +1 -1
  118. data/lib/ecoportal/api/graphql/connection.rb +5 -0
  119. data/lib/ecoportal/api/graphql/diff/pairing/signals.rb +21 -1
  120. data/lib/ecoportal/api/graphql/error/locations_error/fetch_nested.rb +51 -51
  121. data/lib/ecoportal/api/graphql/error/locations_error.rb +28 -28
  122. data/lib/ecoportal/api/graphql/error/locations_validation_error.rb +20 -20
  123. data/lib/ecoportal/api/graphql/error/validation_errors.rb +28 -28
  124. data/lib/ecoportal/api/graphql/error.rb +12 -12
  125. data/lib/ecoportal/api/graphql/file_upload/client.rb +198 -139
  126. data/lib/ecoportal/api/graphql/file_upload.rb +10 -10
  127. data/lib/ecoportal/api/graphql/fragment/action.rb +65 -65
  128. data/lib/ecoportal/api/graphql/fragment/action_category.rb +17 -17
  129. data/lib/ecoportal/api/graphql/fragment/activity.rb +84 -0
  130. data/lib/ecoportal/api/graphql/fragment/activity_log.rb +75 -0
  131. data/lib/ecoportal/api/graphql/fragment/auth_log.rb +29 -0
  132. data/lib/ecoportal/api/graphql/fragment/authorization_result.rb +14 -0
  133. data/lib/ecoportal/api/graphql/fragment/contractor_entity.rb +20 -20
  134. data/lib/ecoportal/api/graphql/fragment/location_node.rb +1 -0
  135. data/lib/ecoportal/api/graphql/fragment/locations_error.rb +19 -19
  136. data/lib/ecoportal/api/graphql/fragment/minimal_dashboard.rb +31 -0
  137. data/lib/ecoportal/api/graphql/fragment/pages/common_page_union.rb +21 -0
  138. data/lib/ecoportal/api/graphql/fragment/pages.rb +15 -15
  139. data/lib/ecoportal/api/graphql/fragment/pagination.rb +17 -17
  140. data/lib/ecoportal/api/graphql/fragment/permissions.rb +98 -0
  141. data/lib/ecoportal/api/graphql/fragment/person_member_changelog.rb +33 -0
  142. data/lib/ecoportal/api/graphql/fragment.rb +7 -0
  143. data/lib/ecoportal/api/graphql/helpers/locations_tree.rb +41 -41
  144. data/lib/ecoportal/api/graphql/helpers.rb +10 -10
  145. data/lib/ecoportal/api/graphql/input/action/archive.rb +14 -14
  146. data/lib/ecoportal/api/graphql/input/action/create.rb +13 -13
  147. data/lib/ecoportal/api/graphql/input/action/update.rb +12 -0
  148. data/lib/ecoportal/api/graphql/input/action.rb +14 -14
  149. data/lib/ecoportal/api/graphql/input/contractor_entity/create.rb +14 -14
  150. data/lib/ecoportal/api/graphql/input/contractor_entity/destroy.rb +13 -13
  151. data/lib/ecoportal/api/graphql/input/contractor_entity/manager_settings.rb +20 -0
  152. data/lib/ecoportal/api/graphql/input/contractor_entity/update.rb +6 -27
  153. data/lib/ecoportal/api/graphql/input/contractor_entity.rb +1 -0
  154. data/lib/ecoportal/api/graphql/input/date_range.rb +16 -0
  155. data/lib/ecoportal/api/graphql/input/delta_input.rb +16 -16
  156. data/lib/ecoportal/api/graphql/input/id_diff.rb +11 -11
  157. data/lib/ecoportal/api/graphql/input/location_structure/apply_commands.rb +2 -2
  158. data/lib/ecoportal/api/graphql/input/location_structure/archive_command.rb +13 -13
  159. data/lib/ecoportal/api/graphql/input/location_structure/delete_command.rb +13 -13
  160. data/lib/ecoportal/api/graphql/input/location_structure/draft/add_commands.rb +2 -2
  161. data/lib/ecoportal/api/graphql/input/location_structure/draft/create.rb +15 -15
  162. data/lib/ecoportal/api/graphql/input/location_structure/draft/delete.rb +15 -15
  163. data/lib/ecoportal/api/graphql/input/location_structure/draft/drop_bad_commands.rb +16 -16
  164. data/lib/ecoportal/api/graphql/input/location_structure/draft/publish.rb +16 -16
  165. data/lib/ecoportal/api/graphql/input/location_structure/draft.rb +19 -19
  166. data/lib/ecoportal/api/graphql/input/location_structure/insert_command.rb +13 -13
  167. data/lib/ecoportal/api/graphql/input/location_structure/move_command.rb +14 -14
  168. data/lib/ecoportal/api/graphql/input/location_structure/reorder_command.rb +13 -13
  169. data/lib/ecoportal/api/graphql/input/location_structure/unarchive_command.rb +13 -13
  170. data/lib/ecoportal/api/graphql/input/location_structure/update_command.rb +6 -2
  171. data/lib/ecoportal/api/graphql/input/location_structure.rb +20 -20
  172. data/lib/ecoportal/api/graphql/input/page/archive.rb +14 -14
  173. data/lib/ecoportal/api/graphql/input/page/build_from_template.rb +13 -13
  174. data/lib/ecoportal/api/graphql/input/page/create_draft.rb +13 -13
  175. data/lib/ecoportal/api/graphql/input/page/create_from_template.rb +18 -18
  176. data/lib/ecoportal/api/graphql/input/page/delete_draft.rb +13 -13
  177. data/lib/ecoportal/api/graphql/input/page/publish_draft.rb +13 -13
  178. data/lib/ecoportal/api/graphql/input/page/review_task.rb +14 -14
  179. data/lib/ecoportal/api/graphql/input/page/unarchive.rb +14 -14
  180. data/lib/ecoportal/api/graphql/input/page/update.rb +2 -2
  181. data/lib/ecoportal/api/graphql/input/page.rb +26 -26
  182. data/lib/ecoportal/api/graphql/input/preset_view/create.rb +18 -18
  183. data/lib/ecoportal/api/graphql/input/preset_view/permission.rb +16 -16
  184. data/lib/ecoportal/api/graphql/input/preset_view/update.rb +17 -2
  185. data/lib/ecoportal/api/graphql/input/preset_view.rb +14 -14
  186. data/lib/ecoportal/api/graphql/input/register/create.rb +18 -18
  187. data/lib/ecoportal/api/graphql/input/register/update.rb +15 -15
  188. data/lib/ecoportal/api/graphql/input/register.rb +13 -13
  189. data/lib/ecoportal/api/graphql/input/search.rb +13 -13
  190. data/lib/ecoportal/api/graphql/input/search_conf/ai_generator.rb +234 -234
  191. data/lib/ecoportal/api/graphql/input/search_conf.rb +1 -1
  192. data/lib/ecoportal/api/graphql/input/search_filter.rb +12 -12
  193. data/lib/ecoportal/api/graphql/input/search_sorter.rb +11 -11
  194. data/lib/ecoportal/api/graphql/input/workflow_command/add_action_tag.rb +18 -18
  195. data/lib/ecoportal/api/graphql/input/workflow_command/add_binding.rb +18 -18
  196. data/lib/ecoportal/api/graphql/input/workflow_command/add_checklist_field_item.rb +19 -0
  197. data/lib/ecoportal/api/graphql/input/workflow_command/add_comment_tagging_user_group.rb +18 -18
  198. data/lib/ecoportal/api/graphql/input/workflow_command/add_default_direct_strategy_user.rb +18 -18
  199. data/lib/ecoportal/api/graphql/input/workflow_command/add_default_strategy.rb +18 -18
  200. data/lib/ecoportal/api/graphql/input/workflow_command/add_direct_strategy_user.rb +18 -18
  201. data/lib/ecoportal/api/graphql/input/workflow_command/add_force.rb +18 -18
  202. data/lib/ecoportal/api/graphql/input/workflow_command/add_linked_field_config.rb +23 -23
  203. data/lib/ecoportal/api/graphql/input/workflow_command/add_linked_helper.rb +18 -18
  204. data/lib/ecoportal/api/graphql/input/workflow_command/add_operation.rb +18 -18
  205. data/lib/ecoportal/api/graphql/input/workflow_command/add_operation_direct_strategy_user.rb +18 -18
  206. data/lib/ecoportal/api/graphql/input/workflow_command/add_operation_strategy.rb +18 -18
  207. data/lib/ecoportal/api/graphql/input/workflow_command/add_recipient_action_type.rb +18 -18
  208. data/lib/ecoportal/api/graphql/input/workflow_command/add_recipient_filter.rb +18 -18
  209. data/lib/ecoportal/api/graphql/input/workflow_command/add_recipient_people_field.rb +18 -18
  210. data/lib/ecoportal/api/graphql/input/workflow_command/add_recipient_task_config.rb +18 -18
  211. data/lib/ecoportal/api/graphql/input/workflow_command/add_recipient_user.rb +18 -18
  212. data/lib/ecoportal/api/graphql/input/workflow_command/add_scheduled_callback.rb +23 -23
  213. data/lib/ecoportal/api/graphql/input/workflow_command/add_scheduled_callback_action.rb +18 -18
  214. data/lib/ecoportal/api/graphql/input/workflow_command/add_section.rb +18 -18
  215. data/lib/ecoportal/api/graphql/input/workflow_command/add_select_field_option.rb +19 -19
  216. data/lib/ecoportal/api/graphql/input/workflow_command/add_smart_fill_config.rb +23 -0
  217. data/lib/ecoportal/api/graphql/input/workflow_command/add_stage.rb +3 -2
  218. data/lib/ecoportal/api/graphql/input/workflow_command/add_stage_section.rb +18 -18
  219. data/lib/ecoportal/api/graphql/input/workflow_command/add_stage_tag.rb +18 -18
  220. data/lib/ecoportal/api/graphql/input/workflow_command/add_strategy.rb +18 -18
  221. data/lib/ecoportal/api/graphql/input/workflow_command/add_task.rb +18 -18
  222. data/lib/ecoportal/api/graphql/input/workflow_command/add_task_assignment_user_group.rb +18 -18
  223. data/lib/ecoportal/api/graphql/input/workflow_command/add_viewable_field.rb +45 -0
  224. data/lib/ecoportal/api/graphql/input/workflow_command/add_workflow_callback.rb +18 -18
  225. data/lib/ecoportal/api/graphql/input/workflow_command/archive_public_config.rb +19 -0
  226. data/lib/ecoportal/api/graphql/input/workflow_command/collapse_section.rb +18 -18
  227. data/lib/ecoportal/api/graphql/input/workflow_command/create_public_config.rb +19 -0
  228. data/lib/ecoportal/api/graphql/input/workflow_command/edit_binding.rb +18 -18
  229. data/lib/ecoportal/api/graphql/input/workflow_command/edit_checklist_field_item.rb +19 -0
  230. data/lib/ecoportal/api/graphql/input/workflow_command/edit_creator_permissions.rb +18 -18
  231. data/lib/ecoportal/api/graphql/input/workflow_command/edit_default_strategy.rb +18 -18
  232. data/lib/ecoportal/api/graphql/input/workflow_command/edit_field_configuration.rb +12 -2
  233. data/lib/ecoportal/api/graphql/input/workflow_command/edit_force.rb +18 -18
  234. data/lib/ecoportal/api/graphql/input/workflow_command/edit_gauge_field_stop.rb +19 -19
  235. data/lib/ecoportal/api/graphql/input/workflow_command/edit_linked_field_config.rb +19 -19
  236. data/lib/ecoportal/api/graphql/input/workflow_command/edit_linked_helper.rb +18 -18
  237. data/lib/ecoportal/api/graphql/input/workflow_command/edit_operation.rb +18 -18
  238. data/lib/ecoportal/api/graphql/input/workflow_command/edit_operation_strategy.rb +18 -18
  239. data/lib/ecoportal/api/graphql/input/workflow_command/edit_public_config.rb +19 -0
  240. data/lib/ecoportal/api/graphql/input/workflow_command/edit_reminder.rb +18 -18
  241. data/lib/ecoportal/api/graphql/input/workflow_command/edit_required_sign_offs.rb +18 -18
  242. data/lib/ecoportal/api/graphql/input/workflow_command/edit_restrict_comment_tagging.rb +18 -18
  243. data/lib/ecoportal/api/graphql/input/workflow_command/edit_restrict_task_assignment.rb +18 -18
  244. data/lib/ecoportal/api/graphql/input/workflow_command/edit_scheduled_callback.rb +22 -22
  245. data/lib/ecoportal/api/graphql/input/workflow_command/edit_section_header.rb +18 -18
  246. data/lib/ecoportal/api/graphql/input/workflow_command/edit_select_field_option.rb +19 -19
  247. data/lib/ecoportal/api/graphql/input/workflow_command/edit_smart_fill_config.rb +21 -0
  248. data/lib/ecoportal/api/graphql/input/workflow_command/edit_stage.rb +18 -18
  249. data/lib/ecoportal/api/graphql/input/workflow_command/edit_strategy.rb +18 -18
  250. data/lib/ecoportal/api/graphql/input/workflow_command/edit_task_due.rb +18 -18
  251. data/lib/ecoportal/api/graphql/input/workflow_command/edit_template_advanced_settings.rb +19 -0
  252. data/lib/ecoportal/api/graphql/input/workflow_command/edit_template_basic_settings.rb +27 -0
  253. data/lib/ecoportal/api/graphql/input/workflow_command/edit_template_container_uid.rb +45 -0
  254. data/lib/ecoportal/api/graphql/input/workflow_command/{edit_page_creator_permissions.rb → edit_template_creator_permissions.rb} +3 -2
  255. data/lib/ecoportal/api/graphql/input/workflow_command/edit_template_descriptions.rb +19 -0
  256. data/lib/ecoportal/api/graphql/input/workflow_command/edit_trigger.rb +18 -18
  257. data/lib/ecoportal/api/graphql/input/workflow_command/expand_section.rb +18 -18
  258. data/lib/ecoportal/api/graphql/input/workflow_command/field_config/action_list.rb +31 -0
  259. data/lib/ecoportal/api/graphql/input/workflow_command/field_config/contractor_entities.rb +24 -24
  260. data/lib/ecoportal/api/graphql/input/workflow_command/field_config/cross_reference.rb +3 -1
  261. data/lib/ecoportal/api/graphql/input/workflow_command/field_config/date.rb +15 -2
  262. data/lib/ecoportal/api/graphql/input/workflow_command/field_config/file.rb +21 -0
  263. data/lib/ecoportal/api/graphql/input/workflow_command/field_config/gauge.rb +20 -20
  264. data/lib/ecoportal/api/graphql/input/workflow_command/field_config/image_gallery.rb +3 -2
  265. data/lib/ecoportal/api/graphql/input/workflow_command/field_config/location_field.rb +24 -24
  266. data/lib/ecoportal/api/graphql/input/workflow_command/field_config/people.rb +27 -3
  267. data/lib/ecoportal/api/graphql/input/workflow_command/field_config/plain_text.rb +3 -2
  268. data/lib/ecoportal/api/graphql/input/workflow_command/field_config/rich_text.rb +3 -2
  269. data/lib/ecoportal/api/graphql/input/workflow_command/field_config/select.rb +3 -2
  270. data/lib/ecoportal/api/graphql/input/workflow_command/field_config/signature.rb +20 -20
  271. data/lib/ecoportal/api/graphql/input/workflow_command/field_config/table.rb +25 -25
  272. data/lib/ecoportal/api/graphql/input/workflow_command/move_field.rb +3 -2
  273. data/lib/ecoportal/api/graphql/input/workflow_command/move_stage.rb +18 -18
  274. data/lib/ecoportal/api/graphql/input/workflow_command/move_viewable_field.rb +33 -0
  275. data/lib/ecoportal/api/graphql/input/workflow_command/remove_action_tag.rb +18 -18
  276. data/lib/ecoportal/api/graphql/input/workflow_command/remove_binding.rb +18 -18
  277. data/lib/ecoportal/api/graphql/input/workflow_command/remove_callback.rb +18 -18
  278. data/lib/ecoportal/api/graphql/input/workflow_command/remove_checklist_field_item.rb +19 -0
  279. data/lib/ecoportal/api/graphql/input/workflow_command/remove_comment_tagging_user_group.rb +18 -18
  280. data/lib/ecoportal/api/graphql/input/workflow_command/remove_default_direct_strategy_user.rb +18 -18
  281. data/lib/ecoportal/api/graphql/input/workflow_command/remove_default_strategy.rb +18 -18
  282. data/lib/ecoportal/api/graphql/input/workflow_command/remove_direct_strategy_user.rb +18 -18
  283. data/lib/ecoportal/api/graphql/input/workflow_command/remove_field.rb +18 -18
  284. data/lib/ecoportal/api/graphql/input/workflow_command/remove_force.rb +18 -18
  285. data/lib/ecoportal/api/graphql/input/workflow_command/remove_linked_helper.rb +18 -18
  286. data/lib/ecoportal/api/graphql/input/workflow_command/remove_operation.rb +18 -18
  287. data/lib/ecoportal/api/graphql/input/workflow_command/remove_operation_direct_strategy_user.rb +18 -18
  288. data/lib/ecoportal/api/graphql/input/workflow_command/remove_operation_strategy.rb +18 -18
  289. data/lib/ecoportal/api/graphql/input/workflow_command/remove_recipient_action_type.rb +18 -18
  290. data/lib/ecoportal/api/graphql/input/workflow_command/remove_recipient_filter.rb +18 -18
  291. data/lib/ecoportal/api/graphql/input/workflow_command/remove_recipient_people_field.rb +18 -18
  292. data/lib/ecoportal/api/graphql/input/workflow_command/remove_recipient_task_config.rb +18 -18
  293. data/lib/ecoportal/api/graphql/input/workflow_command/remove_recipient_user.rb +18 -18
  294. data/lib/ecoportal/api/graphql/input/workflow_command/remove_scheduled_callback.rb +18 -18
  295. data/lib/ecoportal/api/graphql/input/workflow_command/remove_section.rb +18 -18
  296. data/lib/ecoportal/api/graphql/input/workflow_command/remove_smart_fill_config.rb +19 -0
  297. data/lib/ecoportal/api/graphql/input/workflow_command/remove_stage.rb +18 -18
  298. data/lib/ecoportal/api/graphql/input/workflow_command/remove_stage_section.rb +18 -18
  299. data/lib/ecoportal/api/graphql/input/workflow_command/remove_stage_tag.rb +18 -18
  300. data/lib/ecoportal/api/graphql/input/workflow_command/remove_strategy.rb +18 -18
  301. data/lib/ecoportal/api/graphql/input/workflow_command/remove_task.rb +18 -18
  302. data/lib/ecoportal/api/graphql/input/workflow_command/remove_task_assignment_user_group.rb +18 -18
  303. data/lib/ecoportal/api/graphql/input/workflow_command/remove_task_due.rb +18 -18
  304. data/lib/ecoportal/api/graphql/input/workflow_command/remove_task_priority_level.rb +18 -18
  305. data/lib/ecoportal/api/graphql/input/workflow_command/remove_viewable_field.rb +21 -0
  306. data/lib/ecoportal/api/graphql/input/workflow_command/reorder_forces.rb +3 -2
  307. data/lib/ecoportal/api/graphql/input/workflow_command/reorder_section.rb +3 -2
  308. data/lib/ecoportal/api/graphql/input/workflow_command.rb +43 -5
  309. data/lib/ecoportal/api/graphql/input.rb +1 -0
  310. data/lib/ecoportal/api/graphql/interface/base_page.rb +36 -3
  311. data/lib/ecoportal/api/graphql/interface/location_structure/command.rb +2 -1
  312. data/lib/ecoportal/api/graphql/interface/location_structure/node.rb +43 -43
  313. data/lib/ecoportal/api/graphql/interface/location_structure.rb +14 -14
  314. data/lib/ecoportal/api/graphql/interface.rb +11 -11
  315. data/lib/ecoportal/api/graphql/logic/base_model.rb +15 -15
  316. data/lib/ecoportal/api/graphql/logic/base_query.rb +193 -193
  317. data/lib/ecoportal/api/graphql/logic/connection.rb +17 -0
  318. data/lib/ecoportal/api/graphql/logic/input.rb +127 -0
  319. data/lib/ecoportal/api/graphql/logic/mutation.rb +59 -59
  320. data/lib/ecoportal/api/graphql/logic/payload.rb +42 -42
  321. data/lib/ecoportal/api/graphql/logic/query.rb +23 -23
  322. data/lib/ecoportal/api/graphql/logic/query_array.rb +30 -30
  323. data/lib/ecoportal/api/graphql/logic/query_connection.rb +48 -48
  324. data/lib/ecoportal/api/graphql/logic.rb +18 -18
  325. data/lib/ecoportal/api/graphql/model/account.rb +15 -15
  326. data/lib/ecoportal/api/graphql/model/action.rb +22 -22
  327. data/lib/ecoportal/api/graphql/model/action_event.rb +14 -0
  328. data/lib/ecoportal/api/graphql/model/action_event_page.rb +10 -0
  329. data/lib/ecoportal/api/graphql/model/activity.rb +14 -0
  330. data/lib/ecoportal/api/graphql/model/activity_log.rb +31 -0
  331. data/lib/ecoportal/api/graphql/model/ai_summary_version.rb +10 -10
  332. data/lib/ecoportal/api/graphql/model/auth_log.rb +11 -0
  333. data/lib/ecoportal/api/graphql/model/authorization_result.rb +12 -0
  334. data/lib/ecoportal/api/graphql/model/contractor_entity.rb +12 -12
  335. data/lib/ecoportal/api/graphql/model/field.rb +10 -10
  336. data/lib/ecoportal/api/graphql/model/file_attachment.rb +10 -10
  337. data/lib/ecoportal/api/graphql/model/file_container.rb +11 -11
  338. data/lib/ecoportal/api/graphql/model/location_node.rb +14 -14
  339. data/lib/ecoportal/api/graphql/model/location_structure/draft/structure.rb +15 -15
  340. data/lib/ecoportal/api/graphql/model/location_structure/draft.rb +15 -15
  341. data/lib/ecoportal/api/graphql/model/location_structure.rb +16 -16
  342. data/lib/ecoportal/api/graphql/model/minimal_dashboard.rb +14 -0
  343. data/lib/ecoportal/api/graphql/model/organization.rb +27 -0
  344. data/lib/ecoportal/api/graphql/model/page/basic.rb +14 -14
  345. data/lib/ecoportal/api/graphql/model/page/data_field.rb +12 -12
  346. data/lib/ecoportal/api/graphql/model/page/phased/stage.rb +14 -14
  347. data/lib/ecoportal/api/graphql/model/page/section.rb +12 -12
  348. data/lib/ecoportal/api/graphql/model/page_union.rb +21 -21
  349. data/lib/ecoportal/api/graphql/model/pages_workflow.rb +20 -20
  350. data/lib/ecoportal/api/graphql/model/permissions.rb +179 -0
  351. data/lib/ecoportal/api/graphql/model/person_member.rb +7 -0
  352. data/lib/ecoportal/api/graphql/model/person_member_changelog.rb +15 -0
  353. data/lib/ecoportal/api/graphql/model/preset_view.rb +10 -10
  354. data/lib/ecoportal/api/graphql/model/preview_page.rb +10 -10
  355. data/lib/ecoportal/api/graphql/model/register.rb +10 -10
  356. data/lib/ecoportal/api/graphql/model/resource.rb +13 -13
  357. data/lib/ecoportal/api/graphql/model/user.rb +14 -14
  358. data/lib/ecoportal/api/graphql/model.rb +9 -0
  359. data/lib/ecoportal/api/graphql/mutation/action/archive.rb +41 -41
  360. data/lib/ecoportal/api/graphql/mutation/action/create.rb +40 -40
  361. data/lib/ecoportal/api/graphql/mutation/action/update.rb +40 -40
  362. data/lib/ecoportal/api/graphql/mutation/action.rb +14 -14
  363. data/lib/ecoportal/api/graphql/mutation/ai_summary/generate.rb +21 -11
  364. data/lib/ecoportal/api/graphql/mutation/ai_summary/submit_feedback.rb +26 -11
  365. data/lib/ecoportal/api/graphql/mutation/ai_summary.rb +13 -13
  366. data/lib/ecoportal/api/graphql/mutation/contractor_entity/create.rb +40 -40
  367. data/lib/ecoportal/api/graphql/mutation/contractor_entity/destroy.rb +40 -40
  368. data/lib/ecoportal/api/graphql/mutation/contractor_entity/update.rb +40 -40
  369. data/lib/ecoportal/api/graphql/mutation/contractor_entity/update_manager_settings.rb +37 -0
  370. data/lib/ecoportal/api/graphql/mutation/contractor_entity.rb +1 -0
  371. data/lib/ecoportal/api/graphql/mutation/file_container/upload.rb +78 -0
  372. data/lib/ecoportal/api/graphql/mutation/file_container.rb +15 -0
  373. data/lib/ecoportal/api/graphql/mutation/location_structure/apply_commands.rb +54 -54
  374. data/lib/ecoportal/api/graphql/mutation/location_structure/draft/add_commands.rb +55 -55
  375. data/lib/ecoportal/api/graphql/mutation/location_structure/draft/create.rb +54 -54
  376. data/lib/ecoportal/api/graphql/mutation/location_structure/draft/delete.rb +43 -43
  377. data/lib/ecoportal/api/graphql/mutation/location_structure/draft/drop_bad_commands.rb +56 -56
  378. data/lib/ecoportal/api/graphql/mutation/location_structure/draft/publish.rb +66 -66
  379. data/lib/ecoportal/api/graphql/mutation/location_structure/draft.rb +18 -18
  380. data/lib/ecoportal/api/graphql/mutation/location_structure.rb +13 -13
  381. data/lib/ecoportal/api/graphql/mutation/page/approve_review_task.rb +1 -1
  382. data/lib/ecoportal/api/graphql/mutation/page/archive.rb +40 -40
  383. data/lib/ecoportal/api/graphql/mutation/page/batch_update_review_task.rb +1 -1
  384. data/lib/ecoportal/api/graphql/mutation/page/build_from_template.rb +50 -50
  385. data/lib/ecoportal/api/graphql/mutation/page/create_draft.rb +1 -1
  386. data/lib/ecoportal/api/graphql/mutation/page/create_from_template.rb +43 -43
  387. data/lib/ecoportal/api/graphql/mutation/page/delete_draft.rb +1 -1
  388. data/lib/ecoportal/api/graphql/mutation/page/publish_draft.rb +1 -1
  389. data/lib/ecoportal/api/graphql/mutation/page/reject_review_task.rb +1 -1
  390. data/lib/ecoportal/api/graphql/mutation/page/restart_review_task.rb +1 -1
  391. data/lib/ecoportal/api/graphql/mutation/page/unarchive.rb +40 -40
  392. data/lib/ecoportal/api/graphql/mutation/page/undo_review_task.rb +1 -1
  393. data/lib/ecoportal/api/graphql/mutation/page/update.rb +40 -40
  394. data/lib/ecoportal/api/graphql/mutation/page.rb +28 -28
  395. data/lib/ecoportal/api/graphql/mutation/preset_view/create.rb +35 -35
  396. data/lib/ecoportal/api/graphql/mutation/preset_view/destroy.rb +1 -1
  397. data/lib/ecoportal/api/graphql/mutation/preset_view/permission.rb +37 -37
  398. data/lib/ecoportal/api/graphql/mutation/preset_view/update.rb +35 -35
  399. data/lib/ecoportal/api/graphql/mutation/preset_view.rb +15 -15
  400. data/lib/ecoportal/api/graphql/mutation/register/create.rb +35 -35
  401. data/lib/ecoportal/api/graphql/mutation/register/destroy.rb +1 -1
  402. data/lib/ecoportal/api/graphql/mutation/register/update.rb +35 -35
  403. data/lib/ecoportal/api/graphql/mutation/register.rb +14 -14
  404. data/lib/ecoportal/api/graphql/mutation/template/update_related_page.rb +79 -0
  405. data/lib/ecoportal/api/graphql/mutation/template.rb +1 -0
  406. data/lib/ecoportal/api/graphql/mutation.rb +1 -1
  407. data/lib/ecoportal/api/graphql/payload/action/archive.rb +13 -13
  408. data/lib/ecoportal/api/graphql/payload/action/create.rb +13 -13
  409. data/lib/ecoportal/api/graphql/payload/action/update.rb +13 -13
  410. data/lib/ecoportal/api/graphql/payload/action.rb +14 -14
  411. data/lib/ecoportal/api/graphql/payload/ai_summary_generate.rb +12 -12
  412. data/lib/ecoportal/api/graphql/payload/contractor_entity/create.rb +13 -13
  413. data/lib/ecoportal/api/graphql/payload/contractor_entity/destroy.rb +12 -12
  414. data/lib/ecoportal/api/graphql/payload/contractor_entity/manager_settings.rb +20 -0
  415. data/lib/ecoportal/api/graphql/payload/contractor_entity/update.rb +12 -12
  416. data/lib/ecoportal/api/graphql/payload/contractor_entity.rb +1 -0
  417. data/lib/ecoportal/api/graphql/payload/location_structure/apply_commands.rb +51 -51
  418. data/lib/ecoportal/api/graphql/payload/location_structure/command_execution_result.rb +50 -50
  419. data/lib/ecoportal/api/graphql/payload/location_structure/draft/add_commands.rb +30 -30
  420. data/lib/ecoportal/api/graphql/payload/location_structure/draft/delete.rb +30 -30
  421. data/lib/ecoportal/api/graphql/payload/location_structure/draft/drop_bad_commands.rb +43 -43
  422. data/lib/ecoportal/api/graphql/payload/location_structure/draft/publish.rb +63 -63
  423. data/lib/ecoportal/api/graphql/payload/location_structure/draft.rb +18 -18
  424. data/lib/ecoportal/api/graphql/payload/location_structure.rb +14 -14
  425. data/lib/ecoportal/api/graphql/payload/ok_payload.rb +1 -1
  426. data/lib/ecoportal/api/graphql/payload/page/archive.rb +13 -13
  427. data/lib/ecoportal/api/graphql/payload/page/build_from_template.rb +13 -13
  428. data/lib/ecoportal/api/graphql/payload/page/create_from_template.rb +13 -13
  429. data/lib/ecoportal/api/graphql/payload/page/draft.rb +1 -1
  430. data/lib/ecoportal/api/graphql/payload/page/review_task.rb +1 -1
  431. data/lib/ecoportal/api/graphql/payload/page/unarchive.rb +13 -13
  432. data/lib/ecoportal/api/graphql/payload/page/update.rb +13 -13
  433. data/lib/ecoportal/api/graphql/payload/preset_view.rb +1 -1
  434. data/lib/ecoportal/api/graphql/payload/register.rb +1 -1
  435. data/lib/ecoportal/api/graphql/payload/template/update_related_page.rb +15 -0
  436. data/lib/ecoportal/api/graphql/payload/template.rb +1 -0
  437. data/lib/ecoportal/api/graphql/payload/upload.rb +12 -0
  438. data/lib/ecoportal/api/graphql/payload.rb +1 -0
  439. data/lib/ecoportal/api/graphql/query/action.rb +33 -33
  440. data/lib/ecoportal/api/graphql/query/action_categories.rb +53 -53
  441. data/lib/ecoportal/api/graphql/query/actions.rb +43 -43
  442. data/lib/ecoportal/api/graphql/query/activity_logs.rb +78 -0
  443. data/lib/ecoportal/api/graphql/query/auth_logs.rb +51 -0
  444. data/lib/ecoportal/api/graphql/query/contractor_entities.rb +53 -53
  445. data/lib/ecoportal/api/graphql/query/dashboard_search.rb +57 -0
  446. data/lib/ecoportal/api/graphql/query/file_upload_signature.rb +76 -76
  447. data/lib/ecoportal/api/graphql/query/location_classifications.rb +39 -39
  448. data/lib/ecoportal/api/graphql/query/location_structure.rb +2 -0
  449. data/lib/ecoportal/api/graphql/query/location_structures.rb +2 -0
  450. data/lib/ecoportal/api/graphql/query/page.rb +6 -1
  451. data/lib/ecoportal/api/graphql/query/page_activities.rb +56 -0
  452. data/lib/ecoportal/api/graphql/query/page_delta.rb +47 -47
  453. data/lib/ecoportal/api/graphql/query/pages.rb +59 -59
  454. data/lib/ecoportal/api/graphql/query/permissions.rb +35 -0
  455. data/lib/ecoportal/api/graphql/query/person_member_changelogs.rb +53 -0
  456. data/lib/ecoportal/api/graphql/query/register_preset_views.rb +1 -1
  457. data/lib/ecoportal/api/graphql/query/register_preview_pages.rb +83 -83
  458. data/lib/ecoportal/api/graphql/query/templates.rb +53 -53
  459. data/lib/ecoportal/api/graphql/query.rb +6 -0
  460. data/lib/ecoportal/api/graphql_version.rb +1 -1
  461. data/lib/ecoportal/api-graphql.rb +10 -10
  462. metadata +78 -12
  463. data/lib/ecoportal/api/graphql/input/workflow_command/edit_page.rb +0 -28
  464. data/lib/ecoportal/api/graphql/mutation/smart_fill/generate.rb +0 -36
  465. data/lib/ecoportal/api/graphql/mutation/smart_fill/submit_feedback.rb +0 -40
  466. data/lib/ecoportal/api/graphql/mutation/smart_fill.rb +0 -13
@@ -0,0 +1,75 @@
1
+ module Ecoportal
2
+ module API
3
+ class GraphQL
4
+ class Fragment
5
+ # System Access Log entry — `currentOrganization.activityLogs` returns an
6
+ # `ActivityLogUnion` (a UNION), so fields cannot be selected on the union
7
+ # directly (only `__typename`): every field must live in an inline fragment
8
+ # per member. The 9 members share a common field set; the Dashboard* members
9
+ # additionally expose `parentResource*` + `resource { isVisible }`.
10
+ #
11
+ # To avoid repeating the shared selection 9 times we spread two helper
12
+ # fragments (:ActivityLogCommon on each member, :ActivityLogResource for the
13
+ # Dashboard members). Model::ActivityLog maps every member uniformly via its
14
+ # `__typename` passthrough, so an unmodelled/new member still resolves.
15
+ fragment :ActivityLog, <<~GRAPHQL
16
+ fragment ActivityLog on ActivityLogUnion {
17
+ __typename
18
+ ... on DashboardAccess { ...ActivityLogCommon ...ActivityLogResource }
19
+ ... on DashboardCreate { ...ActivityLogCommon ...ActivityLogResource }
20
+ ... on DashboardDelete { ...ActivityLogCommon ...ActivityLogResource }
21
+ ... on DashboardUpdate { ...ActivityLogCommon ...ActivityLogResource }
22
+ ... on DeniedDashboardAccess { ...ActivityLogCommon ...ActivityLogResource }
23
+ ... on DeniedPageAccess { ...ActivityLogCommon }
24
+ ... on PageAccess { ...ActivityLogCommon }
25
+ ... on FileDownload { ...ActivityLogCommon }
26
+ ... on ScimIntegrationAccess { ...ActivityLogCommon }
27
+ }
28
+ GRAPHQL
29
+
30
+ # Fields common to ALL ActivityLogUnion members. Spread inside each member's
31
+ # inline fragment. `__fragment_type` is intentionally omitted; the union-level
32
+ # `__typename` is selected in :ActivityLog above.
33
+ fragment :ActivityLogCommon, <<~GRAPHQL
34
+ fragment ActivityLogCommon on BaseActivityLogInterface {
35
+ id
36
+ activityType
37
+ source
38
+ userType
39
+ accountStatus
40
+ becomingEmail
41
+ content
42
+ resourceId
43
+ resourceName
44
+ resourceType
45
+ createdAt {
46
+ dateTime
47
+ timeZone
48
+ }
49
+ user {
50
+ id
51
+ email
52
+ name
53
+ }
54
+ }
55
+ GRAPHQL
56
+
57
+ # Dashboard-member-only fields (parent + visibility of the dashboard resource).
58
+ fragment :ActivityLogResource, <<~GRAPHQL
59
+ fragment ActivityLogResource on BaseDashboardActivityLogInterface {
60
+ parentResourceId
61
+ parentResourceName
62
+ parentResourceType
63
+ resource {
64
+ __typename
65
+ isVisible {
66
+ value
67
+ message
68
+ }
69
+ }
70
+ }
71
+ GRAPHQL
72
+ end
73
+ end
74
+ end
75
+ end
@@ -0,0 +1,29 @@
1
+ module Ecoportal
2
+ module API
3
+ class GraphQL
4
+ class Fragment
5
+ fragment :AuthLog, <<~GRAPHQL
6
+ fragment AuthLog on AuthLog {
7
+ id
8
+ event
9
+ source
10
+ loginMethod
11
+ host
12
+ ipAddress
13
+ referrer
14
+ userAgent
15
+ createdAt {
16
+ dateTime
17
+ timeZone
18
+ }
19
+ targetUser {
20
+ id
21
+ email
22
+ name
23
+ }
24
+ }
25
+ GRAPHQL
26
+ end
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,14 @@
1
+ module Ecoportal
2
+ module API
3
+ class GraphQL
4
+ class Fragment
5
+ fragment :AuthorizationResult, <<~GRAPHQL
6
+ fragment AuthorizationResult on AuthorizationResult {
7
+ value
8
+ message
9
+ }
10
+ GRAPHQL
11
+ end
12
+ end
13
+ end
14
+ end
@@ -1,20 +1,20 @@
1
- module Ecoportal
2
- module API
3
- class GraphQL
4
- class Fragment
5
- fragment :ContractorEntity, <<~GRAPHQL
6
- fragment ContractorEntity on ContractorEntity {
7
- id
8
- externalId
9
- name
10
- schemaId
11
- active
12
- approved
13
- associatedPeopleIds
14
- leadContractorIds
15
- }
16
- GRAPHQL
17
- end
18
- end
19
- end
20
- end
1
+ module Ecoportal
2
+ module API
3
+ class GraphQL
4
+ class Fragment
5
+ fragment :ContractorEntity, <<~GRAPHQL
6
+ fragment ContractorEntity on ContractorEntity {
7
+ id
8
+ externalId
9
+ name
10
+ schemaId
11
+ active
12
+ approved
13
+ associatedPeopleIds
14
+ leadContractorIds
15
+ }
16
+ GRAPHQL
17
+ end
18
+ end
19
+ end
20
+ end
@@ -17,6 +17,7 @@ module Ecoportal
17
17
  active
18
18
  id
19
19
  name
20
+ aiGenerated
20
21
  }
21
22
  }
22
23
  GRAPHQL
@@ -1,19 +1,19 @@
1
- module Ecoportal
2
- module API
3
- class GraphQL
4
- class Fragment
5
- fragment :LocationsError, <<~GRAPHQL
6
- fragment LocationsError on LocationsError {
7
- message
8
- conflictingIds
9
- validationErrors {
10
- property
11
- error
12
- message
13
- }
14
- }
15
- GRAPHQL
16
- end
17
- end
18
- end
19
- end
1
+ module Ecoportal
2
+ module API
3
+ class GraphQL
4
+ class Fragment
5
+ fragment :LocationsError, <<~GRAPHQL
6
+ fragment LocationsError on LocationsError {
7
+ message
8
+ conflictingIds
9
+ validationErrors {
10
+ property
11
+ error
12
+ message
13
+ }
14
+ }
15
+ GRAPHQL
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,31 @@
1
+ module Ecoportal
2
+ module API
3
+ class GraphQL
4
+ class Fragment
5
+ fragment :MinimalDashboard, <<~GRAPHQL
6
+ fragment MinimalDashboard on MinimalDashboard {
7
+ id
8
+ name
9
+ global
10
+ weight
11
+ parentResource
12
+ parentResourceId
13
+ parentResourceType
14
+ permissionType
15
+ owner {
16
+ id
17
+ email
18
+ name
19
+ }
20
+ register {
21
+ id
22
+ name
23
+ iconName
24
+ filterTags
25
+ }
26
+ }
27
+ GRAPHQL
28
+ end
29
+ end
30
+ end
31
+ end
@@ -92,6 +92,16 @@ module Ecoportal
92
92
  creator { name email }
93
93
  state
94
94
  archived
95
+ # Cross-version template identity. `template` is non-null only on template pages
96
+ # (`BasePageInterface.template: Template`), so this stays nil for records.
97
+ # `templateContainerUid` is the SERIES key: many versions may carry the same uid,
98
+ # but only one may be published (`active: true`) per organization at a time —
99
+ # publishing another with the same uid unpublishes the incumbent. See
100
+ # `.ai-assistance/code/ecoPortal_architecture/02_data_model.md`.
101
+ template @skip(if: $only_content) {
102
+ templateContainerUid
103
+ active
104
+ }
95
105
  }
96
106
 
97
107
  fragment sectionsFragment on Stage {
@@ -119,6 +129,16 @@ module Ecoportal
119
129
  __typename
120
130
  id @skip(if: $only_content)
121
131
  label
132
+ # Field-configuration `description` (the hidden per-field note). Read-only from
133
+ # here — the ONLY writer is the `editFieldConfiguration` workflow command
134
+ # (`WorkflowEditFieldConfigurationInput.description`); `DataFieldInput` and its
135
+ # per-type members carry no description, so `updatePage` cannot set it.
136
+ #
137
+ # Integrations use it as a pseudo external-id on fields (we do so on templates;
138
+ # M&S do so on page instances — confirmed working on instances with a
139
+ # non-superuser service account, 2026-07-31). Fetched by default so those
140
+ # integrations can read it back.
141
+ description @skip(if: $only_content)
122
142
  genomeSignature @skip(if: $only_content)
123
143
  deindex @include(if: $content)
124
144
  linkedFieldConfig @skip(if: $only_content) {
@@ -232,6 +252,7 @@ module Ecoportal
232
252
  fragment fileField on File {
233
253
  required @skip(if: $only_content)
234
254
  items @include(if: $content) {
255
+ id
235
256
  fileContainer { ...fileContainerAttrs }
236
257
  }
237
258
  }
@@ -1,15 +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'
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'
@@ -1,17 +1,17 @@
1
- module Ecoportal
2
- module API
3
- class GraphQL
4
- class Fragment
5
- fragment :Pagination, <<~GRAPHQL
6
- fragment Pagination on ActionConnection {
7
- totalCount
8
- pageInfo {
9
- endCursor
10
- hasNextPage
11
- }
12
- }
13
- GRAPHQL
14
- end
15
- end
16
- end
17
- end
1
+ module Ecoportal
2
+ module API
3
+ class GraphQL
4
+ class Fragment
5
+ fragment :Pagination, <<~GRAPHQL
6
+ fragment Pagination on ActionConnection {
7
+ totalCount
8
+ pageInfo {
9
+ endCursor
10
+ hasNextPage
11
+ }
12
+ }
13
+ GRAPHQL
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,98 @@
1
+ module Ecoportal
2
+ module API
3
+ class GraphQL
4
+ class Fragment
5
+ # Selects every canXXX permission on the Permissions type, spreading :AuthorizationResult
6
+ # ({ value message }) for each. Requires the :AuthorizationResult fragment to be assembled
7
+ # alongside (Fragment.assemble(:Permissions, :AuthorizationResult)).
8
+ fragment :Permissions, <<~GRAPHQL
9
+ fragment Permissions on Permissions {
10
+ actionCanCreateStandalone { ...AuthorizationResult }
11
+ actionCanIndex { ...AuthorizationResult }
12
+ alertNotificationCanAccessBroadcastNotifications { ...AuthorizationResult }
13
+ alertNotificationCanCreate { ...AuthorizationResult }
14
+ alertNotificationCanIndex { ...AuthorizationResult }
15
+ canAccessAdminTools { ...AuthorizationResult }
16
+ canAccessPeopleManager { ...AuthorizationResult }
17
+ canDeleteActionCategories { ...AuthorizationResult }
18
+ canIndex { ...AuthorizationResult }
19
+ canListAttachablePersonMembers { ...AuthorizationResult }
20
+ canManageActionCategories { ...AuthorizationResult }
21
+ canManageStandaloneActionsPermissions { ...AuthorizationResult }
22
+ canResetActionsCounter { ...AuthorizationResult }
23
+ canUpload { ...AuthorizationResult }
24
+ contractorEntityCanAccessContractorManager { ...AuthorizationResult }
25
+ contractorEntityCanAttach { ...AuthorizationResult }
26
+ contractorEntityCanCreate { ...AuthorizationResult }
27
+ contractorEntityCanDestroy { ...AuthorizationResult }
28
+ contractorEntityCanEdit { ...AuthorizationResult }
29
+ contractorEntityCanEditLinkedUsers { ...AuthorizationResult }
30
+ contractorEntityCanIndex { ...AuthorizationResult }
31
+ contractorEntityCanManageParentContractors { ...AuthorizationResult }
32
+ contractorEntityCanManageSubcontractors { ...AuthorizationResult }
33
+ crossReferenceReportsCanIndex { ...AuthorizationResult }
34
+ dashboardCanManage { ...AuthorizationResult }
35
+ dataSetsCanIndex { ...AuthorizationResult }
36
+ dataSpaceCanShow { ...AuthorizationResult }
37
+ dataViewsCanIndex { ...AuthorizationResult }
38
+ emailReportCanConfigureSmartReport { ...AuthorizationResult }
39
+ filesCanIndex { ...AuthorizationResult }
40
+ filesCanUpload { ...AuthorizationResult }
41
+ generatedPageFilterCanCreate { ...AuthorizationResult }
42
+ generatedPageFilterCanUseSmartQuery { ...AuthorizationResult }
43
+ hasFileAbilityToDownload { ...AuthorizationResult }
44
+ locationClassificationsCanCreate { ...AuthorizationResult }
45
+ locationClassificationsCanUpdate { ...AuthorizationResult }
46
+ locationStructuresCanAccess { ...AuthorizationResult }
47
+ locationStructuresCanAdministrate { ...AuthorizationResult }
48
+ locationStructuresCanAiGenerateStructure { ...AuthorizationResult }
49
+ locationStructuresCanCreate { ...AuthorizationResult }
50
+ locationStructuresCanManage { ...AuthorizationResult }
51
+ locationStructuresCanManageSftpIntegration { ...AuthorizationResult }
52
+ locationStructuresCanPublish { ...AuthorizationResult }
53
+ locationStructuresCanRead { ...AuthorizationResult }
54
+ locationStructuresCanScheduleUpdate { ...AuthorizationResult }
55
+ locationStructuresCanUpdate { ...AuthorizationResult }
56
+ organizationCanViewSettings { ...AuthorizationResult }
57
+ pageAiSummaryCanAccess { ...AuthorizationResult }
58
+ pageCanListDrafts { ...AuthorizationResult }
59
+ pageCanRestore { ...AuthorizationResult }
60
+ pageCanUseDrafts { ...AuthorizationResult }
61
+ pageSmartAssistantCanChat { ...AuthorizationResult }
62
+ personSchemaCanAccessManager { ...AuthorizationResult }
63
+ publicTemplatesCanCopyLink { ...AuthorizationResult }
64
+ publicTemplatesCanIndex { ...AuthorizationResult }
65
+ publicTemplatesCanListEntries { ...AuthorizationResult }
66
+ publicTemplatesCanManage { ...AuthorizationResult }
67
+ registerAssistantCanChat { ...AuthorizationResult }
68
+ registerCanAccessRegisterTools { ...AuthorizationResult }
69
+ registerCanCreate { ...AuthorizationResult }
70
+ registerCanLimitTemplates { ...AuthorizationResult }
71
+ scimIntegrationCanAddCodeHooks { ...AuthorizationResult }
72
+ scimIntegrationCanCreate { ...AuthorizationResult }
73
+ scimIntegrationCanDestroy { ...AuthorizationResult }
74
+ scimIntegrationCanGenerateApiKey { ...AuthorizationResult }
75
+ scimIntegrationCanIndex { ...AuthorizationResult }
76
+ scimIntegrationCanShow { ...AuthorizationResult }
77
+ scimIntegrationCanShowLogs { ...AuthorizationResult }
78
+ scimIntegrationCanUpdate { ...AuthorizationResult }
79
+ spatialCanUpdateLocationNodeGeojson { ...AuthorizationResult }
80
+ structuresCanIndex { ...AuthorizationResult }
81
+ templateCanRestore { ...AuthorizationResult }
82
+ userAccessLogsCanShow { ...AuthorizationResult }
83
+ userCanAccessAdminArea { ...AuthorizationResult }
84
+ userCanAccessPageCreationTools { ...AuthorizationResult }
85
+ visitorLogCanAdminCheckIn { ...AuthorizationResult }
86
+ visitorLogCanEdit { ...AuthorizationResult }
87
+ visitorLogCanManage { ...AuthorizationResult }
88
+ visitorLogCanShow { ...AuthorizationResult }
89
+ visitorManagementCanAccessVisitorManager { ...AuthorizationResult }
90
+ visitorManagementCanIndex { ...AuthorizationResult }
91
+ webhooksCanManageSubscriptions { ...AuthorizationResult }
92
+ webhooksCanViewSubscriptions { ...AuthorizationResult }
93
+ }
94
+ GRAPHQL
95
+ end
96
+ end
97
+ end
98
+ end
@@ -0,0 +1,33 @@
1
+ module Ecoportal
2
+ module API
3
+ class GraphQL
4
+ class Fragment
5
+ fragment :PersonMemberChangelog, <<~GRAPHQL
6
+ fragment PersonMemberChangelog on PersonMemberChangelog {
7
+ id
8
+ operation
9
+ accountOperation
10
+ personMemberId
11
+ apiKeyPrefix
12
+ changedByApi
13
+ humanReadableDifferences
14
+ createdAt {
15
+ dateTime
16
+ timeZone
17
+ }
18
+ personMember {
19
+ id
20
+ name
21
+ email
22
+ }
23
+ user {
24
+ id
25
+ email
26
+ name
27
+ }
28
+ }
29
+ GRAPHQL
30
+ end
31
+ end
32
+ end
33
+ end
@@ -35,6 +35,13 @@ require_relative 'fragment/page'
35
35
  require_relative 'fragment/pages'
36
36
  require_relative 'fragment/force'
37
37
  require_relative 'fragment/pages_workflow'
38
+ require_relative 'fragment/authorization_result'
39
+ require_relative 'fragment/permissions'
40
+ require_relative 'fragment/activity'
41
+ require_relative 'fragment/activity_log'
42
+ require_relative 'fragment/auth_log'
43
+ require_relative 'fragment/person_member_changelog'
44
+ require_relative 'fragment/minimal_dashboard'
38
45
  require_relative 'fragment/field_configuration'
39
46
  require_relative 'fragment/page_task'
40
47
  require_relative 'fragment/template'
@@ -1,41 +1,41 @@
1
- module Ecoportal
2
- module API
3
- class GraphQL
4
- module Helpers
5
- module LocationsTree
6
- RELEVANT_NODES_COUNT = 1_000
7
-
8
- def treeify(nodes)
9
- parents = nodes.each_with_object({}) do |node, out|
10
- (out[node.parent_id_upcase] ||= []).push(node)
11
- end
12
-
13
- get_children(nil, parents)
14
- end
15
-
16
- private
17
-
18
- def get_children(node_id, parents)
19
- (parents[node_id&.upcase] ||= []).each_with_object([]) do |child, results|
20
- class_types = child.classifications || []
21
- class_ids = class_types.map(&:id)
22
- class_names = class_types.map(&:name)
23
-
24
- results << {
25
- 'id' => child.id,
26
- 'name' => child.name,
27
- 'weight' => child.weight,
28
- 'parent_id' => node_id,
29
- 'archived' => child.archived,
30
- 'archived_token' => child.archivedToken,
31
- 'classifications' => class_ids,
32
- 'classification_names' => class_names,
33
- 'nodes' => get_children(child.id, parents).compact
34
- }
35
- end
36
- end
37
- end
38
- end
39
- end
40
- end
41
- end
1
+ module Ecoportal
2
+ module API
3
+ class GraphQL
4
+ module Helpers
5
+ module LocationsTree
6
+ RELEVANT_NODES_COUNT = 1_000
7
+
8
+ def treeify(nodes)
9
+ parents = nodes.each_with_object({}) do |node, out|
10
+ (out[node.parent_id_upcase] ||= []).push(node)
11
+ end
12
+
13
+ get_children(nil, parents)
14
+ end
15
+
16
+ private
17
+
18
+ def get_children(node_id, parents)
19
+ (parents[node_id&.upcase] ||= []).each_with_object([]) do |child, results|
20
+ class_types = child.classifications || []
21
+ class_ids = class_types.map(&:id)
22
+ class_names = class_types.map(&:name)
23
+
24
+ results << {
25
+ 'id' => child.id,
26
+ 'name' => child.name,
27
+ 'weight' => child.weight,
28
+ 'parent_id' => node_id,
29
+ 'archived' => child.archived,
30
+ 'archived_token' => child.archivedToken,
31
+ 'classifications' => class_ids,
32
+ 'classification_names' => class_names,
33
+ 'nodes' => get_children(child.id, parents).compact
34
+ }
35
+ end
36
+ end
37
+ end
38
+ end
39
+ end
40
+ end
41
+ end
@@ -1,10 +1,10 @@
1
- module Ecoportal
2
- module API
3
- class GraphQL
4
- module Helpers
5
- end
6
- end
7
- end
8
- end
9
-
10
- require_relative 'helpers/locations_tree'
1
+ module Ecoportal
2
+ module API
3
+ class GraphQL
4
+ module Helpers
5
+ end
6
+ end
7
+ end
8
+ end
9
+
10
+ require_relative 'helpers/locations_tree'
@@ -1,14 +1,14 @@
1
- module Ecoportal
2
- module API
3
- class GraphQL
4
- module Input
5
- module Action
6
- class Archive < Logic::Input
7
- passkey :id
8
- passthrough :updateMode
9
- end
10
- end
11
- end
12
- end
13
- end
14
- end
1
+ module Ecoportal
2
+ module API
3
+ class GraphQL
4
+ module Input
5
+ module Action
6
+ class Archive < Logic::Input
7
+ passkey :id
8
+ passthrough :updateMode
9
+ end
10
+ end
11
+ end
12
+ end
13
+ end
14
+ end
@@ -1,13 +1,13 @@
1
- module Ecoportal
2
- module API
3
- class GraphQL
4
- module Input
5
- module Action
6
- class Create < Base::Action
7
- passthrough :clientMutationId
8
- end
9
- end
10
- end
11
- end
12
- end
13
- end
1
+ module Ecoportal
2
+ module API
3
+ class GraphQL
4
+ module Input
5
+ module Action
6
+ class Create < Base::Action
7
+ passthrough :clientMutationId
8
+ end
9
+ end
10
+ end
11
+ end
12
+ end
13
+ end