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,57 @@
1
+ module Ecoportal
2
+ module API
3
+ class GraphQL
4
+ module Query
5
+ # Dashboard search on `Organization.dashboardSearch`, returning a
6
+ # MinimalDashboardConnection. The same `dashboardSearch` field exists on
7
+ # other resolvers (Register/Reporting/TodoActions/...) that the gem does
8
+ # not yet model; this covers the org-level entry point.
9
+ class DashboardSearch < Logic::QueryConnection
10
+ field_name :dashboardSearch
11
+
12
+ class_resolver :item_class, Model::MinimalDashboard
13
+ class_resolver :connection_class, Connection::MinimalDashboard
14
+
15
+ private
16
+
17
+ def basic_block(&block)
18
+ connection_block = block || default_connection_block
19
+ proc {
20
+ query(
21
+ searchConf: :Search,
22
+ after: :string,
23
+ before: :string,
24
+ first: :int,
25
+ last: :int
26
+ ) {
27
+ currentOrganization {
28
+ dashboardSearch(
29
+ searchConf: :searchConf,
30
+ after: :after,
31
+ before: :before,
32
+ first: :first,
33
+ last: :last,
34
+ &connection_block
35
+ )
36
+ }
37
+ }
38
+ }
39
+ end
40
+
41
+ def default_connection_block
42
+ proc {
43
+ totalCount
44
+ pageInfo {
45
+ endCursor
46
+ hasNextPage
47
+ }
48
+ nodes {
49
+ spread :MinimalDashboard
50
+ }
51
+ }
52
+ end
53
+ end
54
+ end
55
+ end
56
+ end
57
+ end
@@ -1,76 +1,76 @@
1
- module Ecoportal
2
- module API
3
- class GraphQL
4
- module Query
5
- # Fetches S3 pre-signed upload credentials via GraphQL.
6
- # These credentials are used to upload a file directly to S3.
7
- # After the S3 upload, register the file with the EcoPortal backend
8
- # using FileUpload::Client#register_and_poll to obtain a fileContainerId.
9
- #
10
- # Usage (via FileUpload::Client — do not call this directly):
11
- # api.file_upload.upload('/path/to/file.pdf')
12
- class FileUploadSignature < Logic::Query
13
- field_name :fileUploadSignature
14
-
15
- def path
16
- %w[currentOrganization fileUploadSignature]
17
- end
18
-
19
- def response_class
20
- SignatureResponse
21
- end
22
-
23
- SignatureResponse = Struct.new(
24
- :policy, :embedded_upload_policy, :embedded_upload_signature,
25
- :signature, :endpoint, :access_key, :upload_prefix, :public_endpoint,
26
- keyword_init: true
27
- ) do
28
- def to_h
29
- members.to_h { |k| [k, self[k]] }
30
- end
31
- end
32
-
33
- private
34
-
35
- def basic_block(&block)
36
- block_to_use = block || default_block
37
- proc {
38
- query {
39
- currentOrganization {
40
- fileUploadSignature(&block_to_use)
41
- }
42
- }
43
- }
44
- end
45
-
46
- def default_block
47
- proc {
48
- policy
49
- embeddedUploadPolicy
50
- embeddedUploadSignature
51
- signature
52
- endpoint
53
- accessKey
54
- uploadPrefix
55
- publicEndpoint
56
- }
57
- end
58
-
59
- def wrap_response(response, _path = [])
60
- data = response.to_h.dig('data', 'currentOrganization', 'fileUploadSignature') || {}
61
- SignatureResponse.new(
62
- policy: data['policy'],
63
- embedded_upload_policy: data['embeddedUploadPolicy'],
64
- embedded_upload_signature: data['embeddedUploadSignature'],
65
- signature: data['signature'],
66
- endpoint: data['endpoint'],
67
- access_key: data['accessKey'],
68
- upload_prefix: data['uploadPrefix'],
69
- public_endpoint: data['publicEndpoint']
70
- )
71
- end
72
- end
73
- end
74
- end
75
- end
76
- end
1
+ module Ecoportal
2
+ module API
3
+ class GraphQL
4
+ module Query
5
+ # Fetches S3 pre-signed upload credentials via GraphQL.
6
+ # These credentials are used to upload a file directly to S3.
7
+ # After the S3 upload, register the file with the EcoPortal backend
8
+ # using FileUpload::Client#register_and_poll to obtain a fileContainerId.
9
+ #
10
+ # Usage (via FileUpload::Client — do not call this directly):
11
+ # api.file_upload.upload('/path/to/file.pdf')
12
+ class FileUploadSignature < Logic::Query
13
+ field_name :fileUploadSignature
14
+
15
+ def path
16
+ %w[currentOrganization fileUploadSignature]
17
+ end
18
+
19
+ def response_class
20
+ SignatureResponse
21
+ end
22
+
23
+ SignatureResponse = Struct.new(
24
+ :policy, :embedded_upload_policy, :embedded_upload_signature,
25
+ :signature, :endpoint, :access_key, :upload_prefix, :public_endpoint,
26
+ keyword_init: true
27
+ ) do
28
+ def to_h
29
+ members.to_h { |k| [k, self[k]] }
30
+ end
31
+ end
32
+
33
+ private
34
+
35
+ def basic_block(&block)
36
+ block_to_use = block || default_block
37
+ proc {
38
+ query {
39
+ currentOrganization {
40
+ fileUploadSignature(&block_to_use)
41
+ }
42
+ }
43
+ }
44
+ end
45
+
46
+ def default_block
47
+ proc {
48
+ policy
49
+ embeddedUploadPolicy
50
+ embeddedUploadSignature
51
+ signature
52
+ endpoint
53
+ accessKey
54
+ uploadPrefix
55
+ publicEndpoint
56
+ }
57
+ end
58
+
59
+ def wrap_response(response, _path = [])
60
+ data = response.to_h.dig('data', 'currentOrganization', 'fileUploadSignature') || {}
61
+ SignatureResponse.new(
62
+ policy: data['policy'],
63
+ embedded_upload_policy: data['embeddedUploadPolicy'],
64
+ embedded_upload_signature: data['embeddedUploadSignature'],
65
+ signature: data['signature'],
66
+ endpoint: data['endpoint'],
67
+ access_key: data['accessKey'],
68
+ upload_prefix: data['uploadPrefix'],
69
+ public_endpoint: data['publicEndpoint']
70
+ )
71
+ end
72
+ end
73
+ end
74
+ end
75
+ end
76
+ end
@@ -1,39 +1,39 @@
1
- module Ecoportal
2
- module API
3
- class GraphQL
4
- module Query
5
- class LocationClassifications < Logic::QueryArray
6
- accepted_params :active, default: true
7
-
8
- base_path 'currentOrganization.locations'
9
- field_name :classifications
10
-
11
- class_resolver :item_class, Base::LocationClassificationType
12
-
13
- private
14
-
15
- def basic_block(&block)
16
- final_block = block || default_query_block
17
- proc {
18
- query(active: :boolean) {
19
- currentOrganization {
20
- locations {
21
- classifications(active: :active, &final_block)
22
- }
23
- }
24
- }
25
- }
26
- end
27
-
28
- def default_query_block
29
- proc {
30
- id
31
- name
32
- active
33
- }
34
- end
35
- end
36
- end
37
- end
38
- end
39
- end
1
+ module Ecoportal
2
+ module API
3
+ class GraphQL
4
+ module Query
5
+ class LocationClassifications < Logic::QueryArray
6
+ accepted_params :active, default: true
7
+
8
+ base_path 'currentOrganization.locations'
9
+ field_name :classifications
10
+
11
+ class_resolver :item_class, Base::LocationClassificationType
12
+
13
+ private
14
+
15
+ def basic_block(&block)
16
+ final_block = block || default_query_block
17
+ proc {
18
+ query(active: :boolean) {
19
+ currentOrganization {
20
+ locations {
21
+ classifications(active: :active, &final_block)
22
+ }
23
+ }
24
+ }
25
+ }
26
+ end
27
+
28
+ def default_query_block
29
+ proc {
30
+ id
31
+ name
32
+ active
33
+ }
34
+ end
35
+ end
36
+ end
37
+ end
38
+ end
39
+ end
@@ -37,6 +37,8 @@ module Ecoportal
37
37
  name
38
38
  archived
39
39
  weight
40
+ generating
41
+ aiPrompt
40
42
  updatedAt { dateTime timeZone }
41
43
  visitorManagementEnabled
42
44
  nodes(
@@ -42,6 +42,8 @@ module Ecoportal
42
42
  name
43
43
  archived
44
44
  weight
45
+ generating
46
+ aiPrompt
45
47
  visitorManagementEnabled
46
48
  nodes(
47
49
  includeArchived: :includeArchivedNodes
@@ -8,7 +8,12 @@ module Ecoportal
8
8
  # directly (e.g. Compat::Pages#get) rather than via the currentOrganization proxy.
9
9
  base_path 'currentOrganization'
10
10
 
11
- accepted_params :id
11
+ # Besides `id`, the CommonPageUnion document variables can be overridden per call
12
+ # (they keep their document-level defaults when not passed). `content: false` matters
13
+ # for least-privilege accounts: the fragment's `attachedFiles @include(if: $content)`
14
+ # is preauthorized on the `files: download` ability, so an account without it cannot
15
+ # complete ANY page read unless content is excluded.
16
+ accepted_params :id, :showHiddenData, :content, :only_content, :fields
12
17
  class_resolver :item_class, 'Ecoportal::API::GraphQL::Model::PageUnion'
13
18
 
14
19
  private
@@ -0,0 +1,56 @@
1
+ module Ecoportal
2
+ module API
3
+ class GraphQL
4
+ module Query
5
+ # Page history / activity feed on `page.activities`, returning an
6
+ # ActivityInterfaceConnection. Resolves under
7
+ # `currentOrganization.page(id:).activities(...)`.
8
+ #
9
+ # `Organization.page(id:)` returns a PageUnion (BasicPage | PhasedPage), so the
10
+ # `activities` connection is selected via inline fragments on both members —
11
+ # provided by the :PageActivities fragment (which also carries the connection
12
+ # selection via :ActivityConnection). The connection selection is therefore
13
+ # fixed by the fragment; a custom connection block is not accepted here.
14
+ #
15
+ # The web "page history changelog" feature drives this with
16
+ # `searchConf: { sorters: [{ direction: 'desc', key: 'updated_at' }] }`.
17
+ class PageActivities < Logic::QueryConnection
18
+ field_name :activities
19
+ # The connection nests under currentOrganization.page; wrap_response digs
20
+ # this path (the inline-fragment `activities` merges into `page`).
21
+ base_path 'currentOrganization.page'
22
+
23
+ accepted_params :id, :searchConf, :after, :before, :first, :last
24
+
25
+ class_resolver :item_class, Model::Activity
26
+ class_resolver :connection_class, Connection::Activity
27
+
28
+ private
29
+
30
+ def basic_block(&_block)
31
+ proc {
32
+ query(
33
+ id: :id!,
34
+ searchConf: :Search,
35
+ after: :string,
36
+ before: :string,
37
+ first: :int,
38
+ last: :int
39
+ ) {
40
+ currentOrganization {
41
+ page(id: :id) {
42
+ spread :PageActivities
43
+ }
44
+ }
45
+ }
46
+ }
47
+ end
48
+
49
+ def default_connection_block
50
+ proc { spread :ActivityConnection }
51
+ end
52
+ end
53
+ end
54
+ end
55
+ end
56
+ end
@@ -1,47 +1,47 @@
1
- module Ecoportal
2
- module API
3
- class GraphQL
4
- module Query
5
- # Cache-invalidation query: given a list of (id, deltaAt) pairs, returns
6
- # which pages have been UPDATED since that timestamp, are NOT_FOUND (deleted/
7
- # inaccessible), or are NEW (id not recognised by the server).
8
- #
9
- # Usage:
10
- # Query::PageDelta.new(client).query(
11
- # deltaInput: [
12
- # { id: 'abc', deltaAt: '2026-01-01T00:00:00Z' },
13
- # { id: 'def', deltaAt: '2026-03-15T12:00:00Z' }
14
- # ]
15
- # )
16
- # # => [DeltaResult(id: 'abc', delta: 'UPDATED'), ...]
17
- class PageDelta < Logic::QueryArray
18
- field_name :pageDelta
19
-
20
- accepted_params :deltaInput, :searchConf
21
-
22
- class_resolver :item_class, 'Ecoportal::API::GraphQL::Base::DeltaResult'
23
-
24
- private
25
-
26
- def basic_block(&block)
27
- item_block = block || default_block
28
- proc {
29
- query(deltaInput: :'[DeltaInput!]!', searchConf: :Search) {
30
- currentOrganization {
31
- pageDelta(deltaInput: :deltaInput, searchConf: :searchConf, &item_block)
32
- }
33
- }
34
- }
35
- end
36
-
37
- def default_block
38
- proc {
39
- id
40
- delta
41
- }
42
- end
43
- end
44
- end
45
- end
46
- end
47
- end
1
+ module Ecoportal
2
+ module API
3
+ class GraphQL
4
+ module Query
5
+ # Cache-invalidation query: given a list of (id, deltaAt) pairs, returns
6
+ # which pages have been UPDATED since that timestamp, are NOT_FOUND (deleted/
7
+ # inaccessible), or are NEW (id not recognised by the server).
8
+ #
9
+ # Usage:
10
+ # Query::PageDelta.new(client).query(
11
+ # deltaInput: [
12
+ # { id: 'abc', deltaAt: '2026-01-01T00:00:00Z' },
13
+ # { id: 'def', deltaAt: '2026-03-15T12:00:00Z' }
14
+ # ]
15
+ # )
16
+ # # => [DeltaResult(id: 'abc', delta: 'UPDATED'), ...]
17
+ class PageDelta < Logic::QueryArray
18
+ field_name :pageDelta
19
+
20
+ accepted_params :deltaInput, :searchConf
21
+
22
+ class_resolver :item_class, 'Ecoportal::API::GraphQL::Base::DeltaResult'
23
+
24
+ private
25
+
26
+ def basic_block(&block)
27
+ item_block = block || default_block
28
+ proc {
29
+ query(deltaInput: :'[DeltaInput!]!', searchConf: :Search) {
30
+ currentOrganization {
31
+ pageDelta(deltaInput: :deltaInput, searchConf: :searchConf, &item_block)
32
+ }
33
+ }
34
+ }
35
+ end
36
+
37
+ def default_block
38
+ proc {
39
+ id
40
+ delta
41
+ }
42
+ end
43
+ end
44
+ end
45
+ end
46
+ end
47
+ end
@@ -1,59 +1,59 @@
1
- module Ecoportal
2
- module API
3
- class GraphQL
4
- module Query
5
- # DB-backed full-data org search — returns PageUnion nodes with patchVer and field IDs.
6
- # Required pre-update fetch: always use this (not RegisterPreviewPages) before updatePage.
7
- # See the repo's internal docs — "The Required Pattern: Find Before Mutate".
8
- class Pages < Logic::QueryConnection
9
- field_name :pages
10
- # Response nests under currentOrganization.pages; needed when instantiated
11
- # directly (e.g. Compat::Pages#each) rather than via the currentOrganization proxy.
12
- base_path 'currentOrganization'
13
-
14
- class_resolver :item_class, 'Ecoportal::API::GraphQL::Model::PageUnion'
15
- class_resolver :connection_class, 'Ecoportal::API::GraphQL::Connection::Page'
16
-
17
- private
18
-
19
- def basic_block(&block)
20
- connection_block = block || default_connection_block
21
- proc {
22
- query(
23
- searchConf: :Search,
24
- after: :string,
25
- before: :string,
26
- first: :int,
27
- last: :int
28
- ) {
29
- currentOrganization {
30
- pages(
31
- searchConf: :searchConf,
32
- after: :after,
33
- before: :before,
34
- first: :first,
35
- last: :last,
36
- &connection_block
37
- )
38
- }
39
- }
40
- }
41
- end
42
-
43
- def default_connection_block
44
- proc {
45
- totalCount
46
- pageInfo {
47
- endCursor
48
- hasNextPage
49
- }
50
- nodes {
51
- spread :PageFields
52
- }
53
- }
54
- end
55
- end
56
- end
57
- end
58
- end
59
- end
1
+ module Ecoportal
2
+ module API
3
+ class GraphQL
4
+ module Query
5
+ # DB-backed full-data org search — returns PageUnion nodes with patchVer and field IDs.
6
+ # Required pre-update fetch: always use this (not RegisterPreviewPages) before updatePage.
7
+ # See .ai-assistance/code/search_filters.md — "The Required Pattern: Find Before Mutate".
8
+ class Pages < Logic::QueryConnection
9
+ field_name :pages
10
+ # Response nests under currentOrganization.pages; needed when instantiated
11
+ # directly (e.g. Compat::Pages#each) rather than via the currentOrganization proxy.
12
+ base_path 'currentOrganization'
13
+
14
+ class_resolver :item_class, 'Ecoportal::API::GraphQL::Model::PageUnion'
15
+ class_resolver :connection_class, 'Ecoportal::API::GraphQL::Connection::Page'
16
+
17
+ private
18
+
19
+ def basic_block(&block)
20
+ connection_block = block || default_connection_block
21
+ proc {
22
+ query(
23
+ searchConf: :Search,
24
+ after: :string,
25
+ before: :string,
26
+ first: :int,
27
+ last: :int
28
+ ) {
29
+ currentOrganization {
30
+ pages(
31
+ searchConf: :searchConf,
32
+ after: :after,
33
+ before: :before,
34
+ first: :first,
35
+ last: :last,
36
+ &connection_block
37
+ )
38
+ }
39
+ }
40
+ }
41
+ end
42
+
43
+ def default_connection_block
44
+ proc {
45
+ totalCount
46
+ pageInfo {
47
+ endCursor
48
+ hasNextPage
49
+ }
50
+ nodes {
51
+ spread :PageFields
52
+ }
53
+ }
54
+ end
55
+ end
56
+ end
57
+ end
58
+ end
59
+ end
@@ -0,0 +1,35 @@
1
+ module Ecoportal
2
+ module API
3
+ class GraphQL
4
+ module Query
5
+ # Fetches the org-level permission set: currentOrganization.permissions.
6
+ # Returns a Model::Permissions whose ~83 canXXX fields are AuthorizationResult.
7
+ # Selects the :Permissions fragment (which spreads :AuthorizationResult per field).
8
+ class Permissions < Logic::Query
9
+ field_name :permissions
10
+
11
+ class_resolver :item_class, Model::Permissions
12
+
13
+ private
14
+
15
+ def basic_block(&block)
16
+ final_block = block || default_query_block
17
+ proc {
18
+ query {
19
+ currentOrganization {
20
+ permissions(&final_block)
21
+ }
22
+ }
23
+ }
24
+ end
25
+
26
+ def default_query_block
27
+ proc {
28
+ spread :Permissions
29
+ }
30
+ end
31
+ end
32
+ end
33
+ end
34
+ end
35
+ end