ecoportal-api-graphql 2.0.0 → 3.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 (393) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +793 -14
  3. data/LICENSE +21 -21
  4. data/README.gem.md +53 -0
  5. data/lib/ecoportal/api/common/graphql/auth_service.rb +115 -115
  6. data/lib/ecoportal/api/common/graphql/class_helpers.rb +46 -46
  7. data/lib/ecoportal/api/common/graphql/client.rb +107 -69
  8. data/lib/ecoportal/api/common/graphql/hash_helpers.rb +105 -105
  9. data/lib/ecoportal/api/common/graphql/http_client.rb +124 -8
  10. data/lib/ecoportal/api/common/graphql/model/as_input.rb +54 -54
  11. data/lib/ecoportal/api/common/graphql/model/diffable/classic_diff_service.rb +49 -49
  12. data/lib/ecoportal/api/common/graphql/model/diffable/diff_service.rb +188 -188
  13. data/lib/ecoportal/api/common/graphql/model/diffable/hash_diff.rb +55 -55
  14. data/lib/ecoportal/api/common/graphql/model/diffable/hash_diff_nesting.rb +295 -295
  15. data/lib/ecoportal/api/common/graphql/model/diffable/leaf_diff_service.rb +1 -1
  16. data/lib/ecoportal/api/common/graphql/model.rb +17 -17
  17. data/lib/ecoportal/api/common/graphql/patches.rb +1 -1
  18. data/lib/ecoportal/api/common/graphql/query_integration.rb +45 -45
  19. data/lib/ecoportal/api/common/graphql.rb +16 -16
  20. data/lib/ecoportal/api/common.graphql.rb +8 -8
  21. data/lib/ecoportal/api/graphql/base/action_category.rb +15 -15
  22. data/lib/ecoportal/api/graphql/base/ai_summary_version.rb +1 -1
  23. data/lib/ecoportal/api/graphql/base/contractor_entity.rb +24 -24
  24. data/lib/ecoportal/api/graphql/base/date_time.rb +12 -12
  25. data/lib/ecoportal/api/graphql/base/delta_result.rb +16 -16
  26. data/lib/ecoportal/api/graphql/base/field.rb +12 -12
  27. data/lib/ecoportal/api/graphql/base/file_attachment.rb +15 -15
  28. data/lib/ecoportal/api/graphql/base/location_node.rb +14 -14
  29. data/lib/ecoportal/api/graphql/base/location_structure/draft/structure.rb +37 -37
  30. data/lib/ecoportal/api/graphql/base/location_structure/draft.rb +93 -93
  31. data/lib/ecoportal/api/graphql/base/page/data_field/actions_list.rb +9 -9
  32. data/lib/ecoportal/api/graphql/base/page/data_field/ai_summary.rb +18 -18
  33. data/lib/ecoportal/api/graphql/base/page/data_field/checklist.rb +29 -29
  34. data/lib/ecoportal/api/graphql/base/page/data_field/collection.rb +1 -1
  35. data/lib/ecoportal/api/graphql/base/page/data_field/cross_reference.rb +1 -1
  36. data/lib/ecoportal/api/graphql/base/page/data_field/date_field.rb +23 -23
  37. data/lib/ecoportal/api/graphql/base/page/data_field/geo.rb +24 -24
  38. data/lib/ecoportal/api/graphql/base/page/data_field/image_gallery.rb +160 -12
  39. data/lib/ecoportal/api/graphql/base/page/data_field/law.rb +8 -8
  40. data/lib/ecoportal/api/graphql/base/page/data_field/mailbox.rb +9 -9
  41. data/lib/ecoportal/api/graphql/base/page/data_field/plain_text.rb +17 -17
  42. data/lib/ecoportal/api/graphql/base/page/data_field/rich_text.rb +26 -26
  43. data/lib/ecoportal/api/graphql/base/page/data_field/signature.rb +9 -9
  44. data/lib/ecoportal/api/graphql/base/page/data_field/smart_fill.rb +17 -17
  45. data/lib/ecoportal/api/graphql/base/page/data_field/table.rb +9 -9
  46. data/lib/ecoportal/api/graphql/base/page/data_field/tag_field.rb +21 -21
  47. data/lib/ecoportal/api/graphql/base/page/phased/stage.rb +51 -0
  48. data/lib/ecoportal/api/graphql/base/page/phased.rb +15 -15
  49. data/lib/ecoportal/api/graphql/base/page/section.rb +48 -48
  50. data/lib/ecoportal/api/graphql/base/page_info.rb +12 -12
  51. data/lib/ecoportal/api/graphql/base/pages_workflow/operation_interface.rb +39 -39
  52. data/lib/ecoportal/api/graphql/base/pages_workflow/operations/assign_to.rb +27 -27
  53. data/lib/ecoportal/api/graphql/base/pages_workflow/operations/send_notification.rb +30 -30
  54. data/lib/ecoportal/api/graphql/base/pages_workflow/recipient_config.rb +34 -34
  55. data/lib/ecoportal/api/graphql/base/pages_workflow.rb +35 -35
  56. data/lib/ecoportal/api/graphql/base/person_member.rb +22 -22
  57. data/lib/ecoportal/api/graphql/base/preview_page.rb +23 -23
  58. data/lib/ecoportal/api/graphql/base/register.rb +1 -1
  59. data/lib/ecoportal/api/graphql/base/resource.rb +13 -13
  60. data/lib/ecoportal/api/graphql/base/temp_image.rb +28 -0
  61. data/lib/ecoportal/api/graphql/base/template/change_log_entry.rb +118 -0
  62. data/lib/ecoportal/api/graphql/base/template.rb +2 -0
  63. data/lib/ecoportal/api/graphql/base.rb +1 -0
  64. data/lib/ecoportal/api/graphql/builder/action.rb +41 -41
  65. data/lib/ecoportal/api/graphql/builder/location_structure/draft.rb +64 -64
  66. data/lib/ecoportal/api/graphql/builder/location_structure.rb +40 -40
  67. data/lib/ecoportal/api/graphql/builder/register/preset_view.rb +84 -84
  68. data/lib/ecoportal/api/graphql/builder/register.rb +49 -49
  69. data/lib/ecoportal/api/graphql/builder/template.rb +37 -4
  70. data/lib/ecoportal/api/graphql/builder/template_builder.rb +21 -2
  71. data/lib/ecoportal/api/graphql/compat/filter_translator.rb +1 -1
  72. data/lib/ecoportal/api/graphql/compat/page_reference.rb +23 -23
  73. data/lib/ecoportal/api/graphql/compat/registers.rb +84 -84
  74. data/lib/ecoportal/api/graphql/compat/search_results.rb +33 -33
  75. data/lib/ecoportal/api/graphql/compat.rb +17 -17
  76. data/lib/ecoportal/api/graphql/concerns/data_field_access.rb +71 -71
  77. data/lib/ecoportal/api/graphql/concerns/fragment_definitions.rb +68 -68
  78. data/lib/ecoportal/api/graphql/concerns/snake_camel_access.rb +60 -60
  79. data/lib/ecoportal/api/graphql/connection/preset_view.rb +11 -11
  80. data/lib/ecoportal/api/graphql/connection/template_change_log.rb +19 -0
  81. data/lib/ecoportal/api/graphql/connection.rb +1 -0
  82. data/lib/ecoportal/api/graphql/diff/change.rb +7 -2
  83. data/lib/ecoportal/api/graphql/diff/command_synthesizer.rb +19 -1
  84. data/lib/ecoportal/api/graphql/diff/version_diff.rb +13 -6
  85. data/lib/ecoportal/api/graphql/error/locations_error/fetch_nested.rb +51 -51
  86. data/lib/ecoportal/api/graphql/error/locations_error.rb +28 -28
  87. data/lib/ecoportal/api/graphql/error/locations_validation_error.rb +20 -20
  88. data/lib/ecoportal/api/graphql/error/validation_errors.rb +28 -28
  89. data/lib/ecoportal/api/graphql/error.rb +12 -12
  90. data/lib/ecoportal/api/graphql/file_upload/client.rb +140 -35
  91. data/lib/ecoportal/api/graphql/file_upload.rb +10 -10
  92. data/lib/ecoportal/api/graphql/fragment/action.rb +65 -65
  93. data/lib/ecoportal/api/graphql/fragment/action_category.rb +17 -17
  94. data/lib/ecoportal/api/graphql/fragment/contractor_entity.rb +20 -20
  95. data/lib/ecoportal/api/graphql/fragment/locations_error.rb +19 -19
  96. data/lib/ecoportal/api/graphql/fragment/page.rb +1 -0
  97. data/lib/ecoportal/api/graphql/fragment/pages/common_page_union.rb +10 -3
  98. data/lib/ecoportal/api/graphql/fragment/pages.rb +15 -15
  99. data/lib/ecoportal/api/graphql/fragment/pagination.rb +17 -17
  100. data/lib/ecoportal/api/graphql/fragment/permissions.rb +0 -2
  101. data/lib/ecoportal/api/graphql/fragment/template_change_log.rb +102 -0
  102. data/lib/ecoportal/api/graphql/fragment.rb +1 -0
  103. data/lib/ecoportal/api/graphql/helpers/locations_tree.rb +41 -41
  104. data/lib/ecoportal/api/graphql/helpers.rb +10 -10
  105. data/lib/ecoportal/api/graphql/input/action/archive.rb +14 -14
  106. data/lib/ecoportal/api/graphql/input/action/create.rb +13 -13
  107. data/lib/ecoportal/api/graphql/input/action.rb +14 -14
  108. data/lib/ecoportal/api/graphql/input/contractor_entity/create.rb +14 -14
  109. data/lib/ecoportal/api/graphql/input/contractor_entity/destroy.rb +13 -13
  110. data/lib/ecoportal/api/graphql/input/delta_input.rb +16 -16
  111. data/lib/ecoportal/api/graphql/input/id_diff.rb +11 -11
  112. data/lib/ecoportal/api/graphql/input/location_structure/archive_command.rb +13 -13
  113. data/lib/ecoportal/api/graphql/input/location_structure/delete_command.rb +13 -13
  114. data/lib/ecoportal/api/graphql/input/location_structure/draft/create.rb +15 -15
  115. data/lib/ecoportal/api/graphql/input/location_structure/draft/delete.rb +15 -15
  116. data/lib/ecoportal/api/graphql/input/location_structure/draft/drop_bad_commands.rb +16 -16
  117. data/lib/ecoportal/api/graphql/input/location_structure/draft/publish.rb +16 -16
  118. data/lib/ecoportal/api/graphql/input/location_structure/draft.rb +19 -19
  119. data/lib/ecoportal/api/graphql/input/location_structure/insert_command.rb +21 -13
  120. data/lib/ecoportal/api/graphql/input/location_structure/move_command.rb +14 -14
  121. data/lib/ecoportal/api/graphql/input/location_structure/reorder_command.rb +13 -13
  122. data/lib/ecoportal/api/graphql/input/location_structure/unarchive_command.rb +13 -13
  123. data/lib/ecoportal/api/graphql/input/location_structure.rb +20 -20
  124. data/lib/ecoportal/api/graphql/input/page/archive.rb +14 -14
  125. data/lib/ecoportal/api/graphql/input/page/build_from_template.rb +13 -13
  126. data/lib/ecoportal/api/graphql/input/page/create_draft.rb +13 -13
  127. data/lib/ecoportal/api/graphql/input/page/create_from_template.rb +18 -18
  128. data/lib/ecoportal/api/graphql/input/page/delete_draft.rb +13 -13
  129. data/lib/ecoportal/api/graphql/input/page/publish_draft.rb +13 -13
  130. data/lib/ecoportal/api/graphql/input/page/review_task.rb +27 -14
  131. data/lib/ecoportal/api/graphql/input/page/unarchive.rb +14 -14
  132. data/lib/ecoportal/api/graphql/input/page/update.rb +109 -6
  133. data/lib/ecoportal/api/graphql/input/page.rb +26 -26
  134. data/lib/ecoportal/api/graphql/input/preset_view/create.rb +18 -18
  135. data/lib/ecoportal/api/graphql/input/preset_view/permission.rb +16 -16
  136. data/lib/ecoportal/api/graphql/input/preset_view/update.rb +1 -1
  137. data/lib/ecoportal/api/graphql/input/preset_view.rb +14 -14
  138. data/lib/ecoportal/api/graphql/input/register/create.rb +18 -18
  139. data/lib/ecoportal/api/graphql/input/register/update.rb +15 -15
  140. data/lib/ecoportal/api/graphql/input/register.rb +13 -13
  141. data/lib/ecoportal/api/graphql/input/search.rb +13 -13
  142. data/lib/ecoportal/api/graphql/input/search_conf/ai_generator.rb +234 -234
  143. data/lib/ecoportal/api/graphql/input/search_conf.rb +1 -1
  144. data/lib/ecoportal/api/graphql/input/search_filter.rb +12 -12
  145. data/lib/ecoportal/api/graphql/input/search_sorter.rb +11 -11
  146. data/lib/ecoportal/api/graphql/input/workflow_command/add_action_tag.rb +18 -18
  147. data/lib/ecoportal/api/graphql/input/workflow_command/add_binding.rb +18 -18
  148. data/lib/ecoportal/api/graphql/input/workflow_command/add_comment_tagging_user_group.rb +18 -18
  149. data/lib/ecoportal/api/graphql/input/workflow_command/add_default_direct_strategy_user.rb +18 -18
  150. data/lib/ecoportal/api/graphql/input/workflow_command/add_default_strategy.rb +18 -18
  151. data/lib/ecoportal/api/graphql/input/workflow_command/add_direct_strategy_user.rb +18 -18
  152. data/lib/ecoportal/api/graphql/input/workflow_command/add_field.rb +10 -9
  153. data/lib/ecoportal/api/graphql/input/workflow_command/add_force.rb +18 -18
  154. data/lib/ecoportal/api/graphql/input/workflow_command/add_linked_field_config.rb +23 -23
  155. data/lib/ecoportal/api/graphql/input/workflow_command/add_linked_helper.rb +18 -18
  156. data/lib/ecoportal/api/graphql/input/workflow_command/add_operation.rb +18 -18
  157. data/lib/ecoportal/api/graphql/input/workflow_command/add_operation_direct_strategy_user.rb +18 -18
  158. data/lib/ecoportal/api/graphql/input/workflow_command/add_operation_strategy.rb +18 -18
  159. data/lib/ecoportal/api/graphql/input/workflow_command/add_recipient_action_type.rb +18 -18
  160. data/lib/ecoportal/api/graphql/input/workflow_command/add_recipient_filter.rb +18 -18
  161. data/lib/ecoportal/api/graphql/input/workflow_command/add_recipient_people_field.rb +18 -18
  162. data/lib/ecoportal/api/graphql/input/workflow_command/add_recipient_task_config.rb +18 -18
  163. data/lib/ecoportal/api/graphql/input/workflow_command/add_recipient_user.rb +18 -18
  164. data/lib/ecoportal/api/graphql/input/workflow_command/add_scheduled_callback.rb +23 -23
  165. data/lib/ecoportal/api/graphql/input/workflow_command/add_scheduled_callback_action.rb +18 -18
  166. data/lib/ecoportal/api/graphql/input/workflow_command/add_section.rb +18 -18
  167. data/lib/ecoportal/api/graphql/input/workflow_command/add_select_field_option.rb +25 -19
  168. data/lib/ecoportal/api/graphql/input/workflow_command/add_stage_section.rb +18 -18
  169. data/lib/ecoportal/api/graphql/input/workflow_command/add_stage_tag.rb +18 -18
  170. data/lib/ecoportal/api/graphql/input/workflow_command/add_strategy.rb +18 -18
  171. data/lib/ecoportal/api/graphql/input/workflow_command/add_task.rb +18 -18
  172. data/lib/ecoportal/api/graphql/input/workflow_command/add_task_assignment_user_group.rb +18 -18
  173. data/lib/ecoportal/api/graphql/input/workflow_command/add_workflow_callback.rb +18 -18
  174. data/lib/ecoportal/api/graphql/input/workflow_command/collapse_section.rb +18 -18
  175. data/lib/ecoportal/api/graphql/input/workflow_command/edit_binding.rb +18 -18
  176. data/lib/ecoportal/api/graphql/input/workflow_command/edit_creator_permissions.rb +18 -18
  177. data/lib/ecoportal/api/graphql/input/workflow_command/edit_default_strategy.rb +18 -18
  178. data/lib/ecoportal/api/graphql/input/workflow_command/edit_field_configuration.rb +7 -2
  179. data/lib/ecoportal/api/graphql/input/workflow_command/edit_force.rb +21 -18
  180. data/lib/ecoportal/api/graphql/input/workflow_command/edit_gauge_field_stop.rb +19 -19
  181. data/lib/ecoportal/api/graphql/input/workflow_command/edit_linked_field_config.rb +19 -19
  182. data/lib/ecoportal/api/graphql/input/workflow_command/edit_linked_helper.rb +18 -18
  183. data/lib/ecoportal/api/graphql/input/workflow_command/edit_operation.rb +18 -18
  184. data/lib/ecoportal/api/graphql/input/workflow_command/edit_operation_strategy.rb +18 -18
  185. data/lib/ecoportal/api/graphql/input/workflow_command/edit_reminder.rb +18 -18
  186. data/lib/ecoportal/api/graphql/input/workflow_command/edit_required_sign_offs.rb +18 -18
  187. data/lib/ecoportal/api/graphql/input/workflow_command/edit_restrict_comment_tagging.rb +18 -18
  188. data/lib/ecoportal/api/graphql/input/workflow_command/edit_restrict_task_assignment.rb +18 -18
  189. data/lib/ecoportal/api/graphql/input/workflow_command/edit_scheduled_callback.rb +22 -22
  190. data/lib/ecoportal/api/graphql/input/workflow_command/edit_section_header.rb +18 -18
  191. data/lib/ecoportal/api/graphql/input/workflow_command/edit_select_field_option.rb +23 -19
  192. data/lib/ecoportal/api/graphql/input/workflow_command/edit_stage.rb +18 -18
  193. data/lib/ecoportal/api/graphql/input/workflow_command/edit_strategy.rb +18 -18
  194. data/lib/ecoportal/api/graphql/input/workflow_command/edit_task_due.rb +18 -18
  195. data/lib/ecoportal/api/graphql/input/workflow_command/edit_template_basic_settings.rb +7 -2
  196. data/lib/ecoportal/api/graphql/input/workflow_command/edit_template_container_uid.rb +1 -1
  197. data/lib/ecoportal/api/graphql/input/workflow_command/edit_trigger.rb +18 -18
  198. data/lib/ecoportal/api/graphql/input/workflow_command/expand_section.rb +18 -18
  199. data/lib/ecoportal/api/graphql/input/workflow_command/field_config/contractor_entities.rb +28 -24
  200. data/lib/ecoportal/api/graphql/input/workflow_command/field_config/cross_reference.rb +8 -2
  201. data/lib/ecoportal/api/graphql/input/workflow_command/field_config/gauge.rb +20 -20
  202. data/lib/ecoportal/api/graphql/input/workflow_command/field_config/location_field.rb +24 -24
  203. data/lib/ecoportal/api/graphql/input/workflow_command/field_config/plain_text.rb +8 -2
  204. data/lib/ecoportal/api/graphql/input/workflow_command/field_config/signature.rb +20 -20
  205. data/lib/ecoportal/api/graphql/input/workflow_command/field_config/table.rb +25 -25
  206. data/lib/ecoportal/api/graphql/input/workflow_command/manage_copy_page_configuration.rb +47 -0
  207. data/lib/ecoportal/api/graphql/input/workflow_command/move_section_to_stage.rb +33 -0
  208. data/lib/ecoportal/api/graphql/input/workflow_command/move_stage.rb +18 -18
  209. data/lib/ecoportal/api/graphql/input/workflow_command/remove_action_tag.rb +18 -18
  210. data/lib/ecoportal/api/graphql/input/workflow_command/remove_binding.rb +18 -18
  211. data/lib/ecoportal/api/graphql/input/workflow_command/remove_callback.rb +18 -18
  212. data/lib/ecoportal/api/graphql/input/workflow_command/remove_comment_tagging_user_group.rb +18 -18
  213. data/lib/ecoportal/api/graphql/input/workflow_command/remove_default_direct_strategy_user.rb +18 -18
  214. data/lib/ecoportal/api/graphql/input/workflow_command/remove_default_strategy.rb +18 -18
  215. data/lib/ecoportal/api/graphql/input/workflow_command/remove_direct_strategy_user.rb +18 -18
  216. data/lib/ecoportal/api/graphql/input/workflow_command/remove_field.rb +18 -18
  217. data/lib/ecoportal/api/graphql/input/workflow_command/remove_force.rb +18 -18
  218. data/lib/ecoportal/api/graphql/input/workflow_command/remove_linked_helper.rb +18 -18
  219. data/lib/ecoportal/api/graphql/input/workflow_command/remove_operation.rb +18 -18
  220. data/lib/ecoportal/api/graphql/input/workflow_command/remove_operation_direct_strategy_user.rb +18 -18
  221. data/lib/ecoportal/api/graphql/input/workflow_command/remove_operation_strategy.rb +18 -18
  222. data/lib/ecoportal/api/graphql/input/workflow_command/remove_recipient_action_type.rb +18 -18
  223. data/lib/ecoportal/api/graphql/input/workflow_command/remove_recipient_filter.rb +18 -18
  224. data/lib/ecoportal/api/graphql/input/workflow_command/remove_recipient_people_field.rb +18 -18
  225. data/lib/ecoportal/api/graphql/input/workflow_command/remove_recipient_task_config.rb +18 -18
  226. data/lib/ecoportal/api/graphql/input/workflow_command/remove_recipient_user.rb +18 -18
  227. data/lib/ecoportal/api/graphql/input/workflow_command/remove_scheduled_callback.rb +18 -18
  228. data/lib/ecoportal/api/graphql/input/workflow_command/remove_section.rb +18 -18
  229. data/lib/ecoportal/api/graphql/input/workflow_command/remove_stage.rb +18 -18
  230. data/lib/ecoportal/api/graphql/input/workflow_command/remove_stage_section.rb +18 -18
  231. data/lib/ecoportal/api/graphql/input/workflow_command/remove_stage_tag.rb +18 -18
  232. data/lib/ecoportal/api/graphql/input/workflow_command/remove_strategy.rb +18 -18
  233. data/lib/ecoportal/api/graphql/input/workflow_command/remove_task.rb +18 -18
  234. data/lib/ecoportal/api/graphql/input/workflow_command/remove_task_assignment_user_group.rb +18 -18
  235. data/lib/ecoportal/api/graphql/input/workflow_command/remove_task_due.rb +18 -18
  236. data/lib/ecoportal/api/graphql/input/workflow_command/remove_task_priority_level.rb +18 -18
  237. data/lib/ecoportal/api/graphql/input/workflow_command.rb +5 -0
  238. data/lib/ecoportal/api/graphql/interface/base_page.rb +14 -0
  239. data/lib/ecoportal/api/graphql/interface/location_structure/node.rb +43 -43
  240. data/lib/ecoportal/api/graphql/interface/location_structure.rb +14 -14
  241. data/lib/ecoportal/api/graphql/interface.rb +11 -11
  242. data/lib/ecoportal/api/graphql/logic/base_model.rb +15 -15
  243. data/lib/ecoportal/api/graphql/logic/base_query.rb +260 -193
  244. data/lib/ecoportal/api/graphql/logic/mutation.rb +59 -59
  245. data/lib/ecoportal/api/graphql/logic/payload.rb +42 -42
  246. data/lib/ecoportal/api/graphql/logic/query.rb +23 -23
  247. data/lib/ecoportal/api/graphql/logic/query_array.rb +30 -30
  248. data/lib/ecoportal/api/graphql/logic/query_connection.rb +48 -48
  249. data/lib/ecoportal/api/graphql/logic.rb +18 -18
  250. data/lib/ecoportal/api/graphql/model/account.rb +15 -15
  251. data/lib/ecoportal/api/graphql/model/action.rb +22 -22
  252. data/lib/ecoportal/api/graphql/model/ai_summary_version.rb +10 -10
  253. data/lib/ecoportal/api/graphql/model/contractor_entity.rb +12 -12
  254. data/lib/ecoportal/api/graphql/model/field.rb +10 -10
  255. data/lib/ecoportal/api/graphql/model/file_attachment.rb +10 -10
  256. data/lib/ecoportal/api/graphql/model/file_container.rb +11 -11
  257. data/lib/ecoportal/api/graphql/model/location_node.rb +14 -14
  258. data/lib/ecoportal/api/graphql/model/location_structure/draft/structure.rb +15 -15
  259. data/lib/ecoportal/api/graphql/model/location_structure/draft.rb +15 -15
  260. data/lib/ecoportal/api/graphql/model/location_structure.rb +16 -16
  261. data/lib/ecoportal/api/graphql/model/organization.rb +9 -0
  262. data/lib/ecoportal/api/graphql/model/page/basic.rb +14 -14
  263. data/lib/ecoportal/api/graphql/model/page/data_field.rb +12 -12
  264. data/lib/ecoportal/api/graphql/model/page/phased/stage.rb +14 -14
  265. data/lib/ecoportal/api/graphql/model/page/phased.rb +17 -0
  266. data/lib/ecoportal/api/graphql/model/page/section.rb +12 -12
  267. data/lib/ecoportal/api/graphql/model/page_union.rb +21 -21
  268. data/lib/ecoportal/api/graphql/model/pages_workflow.rb +20 -20
  269. data/lib/ecoportal/api/graphql/model/permissions.rb +6 -0
  270. data/lib/ecoportal/api/graphql/model/preset_view.rb +10 -10
  271. data/lib/ecoportal/api/graphql/model/preview_page.rb +10 -10
  272. data/lib/ecoportal/api/graphql/model/register.rb +10 -10
  273. data/lib/ecoportal/api/graphql/model/resource.rb +13 -13
  274. data/lib/ecoportal/api/graphql/model/temp_image.rb +10 -0
  275. data/lib/ecoportal/api/graphql/model/template/binding.rb +60 -0
  276. data/lib/ecoportal/api/graphql/model/template/change_log_entry.rb +19 -0
  277. data/lib/ecoportal/api/graphql/model/template/command_grouper.rb +107 -0
  278. data/lib/ecoportal/api/graphql/model/template/command_normalizer.rb +116 -0
  279. data/lib/ecoportal/api/graphql/model/template/command_synthesis.rb +262 -0
  280. data/lib/ecoportal/api/graphql/model/template/field.rb +68 -0
  281. data/lib/ecoportal/api/graphql/model/template/force.rb +65 -0
  282. data/lib/ecoportal/api/graphql/model/template/helper.rb +32 -0
  283. data/lib/ecoportal/api/graphql/model/template/instance.rb +202 -0
  284. data/lib/ecoportal/api/graphql/model/template/node.rb +78 -0
  285. data/lib/ecoportal/api/graphql/model/template/option.rb +49 -0
  286. data/lib/ecoportal/api/graphql/model/template/read.rb +164 -0
  287. data/lib/ecoportal/api/graphql/model/template/section.rb +82 -0
  288. data/lib/ecoportal/api/graphql/model/template/stage.rb +49 -0
  289. data/lib/ecoportal/api/graphql/model/template/staged_executor.rb +236 -0
  290. data/lib/ecoportal/api/graphql/model/template.rb +37 -1
  291. data/lib/ecoportal/api/graphql/model/user.rb +14 -14
  292. data/lib/ecoportal/api/graphql/model.rb +1 -0
  293. data/lib/ecoportal/api/graphql/mutation/action/archive.rb +41 -41
  294. data/lib/ecoportal/api/graphql/mutation/action/create.rb +40 -40
  295. data/lib/ecoportal/api/graphql/mutation/action/update.rb +40 -40
  296. data/lib/ecoportal/api/graphql/mutation/action.rb +14 -14
  297. data/lib/ecoportal/api/graphql/mutation/ai_summary/generate.rb +1 -1
  298. data/lib/ecoportal/api/graphql/mutation/ai_summary/submit_feedback.rb +1 -1
  299. data/lib/ecoportal/api/graphql/mutation/ai_summary.rb +13 -13
  300. data/lib/ecoportal/api/graphql/mutation/contractor_entity/create.rb +40 -40
  301. data/lib/ecoportal/api/graphql/mutation/contractor_entity/destroy.rb +40 -40
  302. data/lib/ecoportal/api/graphql/mutation/contractor_entity/update.rb +40 -40
  303. data/lib/ecoportal/api/graphql/mutation/file_container/upload.rb +11 -4
  304. data/lib/ecoportal/api/graphql/mutation/image/upload.rb +88 -0
  305. data/lib/ecoportal/api/graphql/mutation/image.rb +14 -0
  306. data/lib/ecoportal/api/graphql/mutation/location_structure/apply_commands.rb +54 -54
  307. data/lib/ecoportal/api/graphql/mutation/location_structure/draft/add_commands.rb +55 -55
  308. data/lib/ecoportal/api/graphql/mutation/location_structure/draft/create.rb +54 -54
  309. data/lib/ecoportal/api/graphql/mutation/location_structure/draft/delete.rb +43 -43
  310. data/lib/ecoportal/api/graphql/mutation/location_structure/draft/drop_bad_commands.rb +56 -56
  311. data/lib/ecoportal/api/graphql/mutation/location_structure/draft/publish.rb +66 -66
  312. data/lib/ecoportal/api/graphql/mutation/location_structure/draft.rb +18 -18
  313. data/lib/ecoportal/api/graphql/mutation/location_structure.rb +13 -13
  314. data/lib/ecoportal/api/graphql/mutation/page/approve_review_task.rb +1 -1
  315. data/lib/ecoportal/api/graphql/mutation/page/archive.rb +40 -40
  316. data/lib/ecoportal/api/graphql/mutation/page/batch_update_review_task.rb +1 -1
  317. data/lib/ecoportal/api/graphql/mutation/page/build_from_template.rb +50 -50
  318. data/lib/ecoportal/api/graphql/mutation/page/create_draft.rb +1 -1
  319. data/lib/ecoportal/api/graphql/mutation/page/create_from_template.rb +43 -43
  320. data/lib/ecoportal/api/graphql/mutation/page/delete_draft.rb +1 -1
  321. data/lib/ecoportal/api/graphql/mutation/page/publish_draft.rb +1 -1
  322. data/lib/ecoportal/api/graphql/mutation/page/reject_review_task.rb +1 -1
  323. data/lib/ecoportal/api/graphql/mutation/page/restart_review_task.rb +1 -1
  324. data/lib/ecoportal/api/graphql/mutation/page/unarchive.rb +40 -40
  325. data/lib/ecoportal/api/graphql/mutation/page/undo_review_task.rb +1 -1
  326. data/lib/ecoportal/api/graphql/mutation/page/update.rb +40 -40
  327. data/lib/ecoportal/api/graphql/mutation/page.rb +28 -28
  328. data/lib/ecoportal/api/graphql/mutation/preset_view/create.rb +35 -35
  329. data/lib/ecoportal/api/graphql/mutation/preset_view/destroy.rb +1 -1
  330. data/lib/ecoportal/api/graphql/mutation/preset_view/permission.rb +37 -37
  331. data/lib/ecoportal/api/graphql/mutation/preset_view/update.rb +35 -35
  332. data/lib/ecoportal/api/graphql/mutation/preset_view.rb +15 -15
  333. data/lib/ecoportal/api/graphql/mutation/register/create.rb +35 -35
  334. data/lib/ecoportal/api/graphql/mutation/register/destroy.rb +1 -1
  335. data/lib/ecoportal/api/graphql/mutation/register/update.rb +35 -35
  336. data/lib/ecoportal/api/graphql/mutation/register.rb +14 -14
  337. data/lib/ecoportal/api/graphql/mutation/template/create.rb +35 -3
  338. data/lib/ecoportal/api/graphql/mutation/template/update.rb +4 -2
  339. data/lib/ecoportal/api/graphql/mutation.rb +1 -0
  340. data/lib/ecoportal/api/graphql/payload/action/archive.rb +13 -13
  341. data/lib/ecoportal/api/graphql/payload/action/create.rb +13 -13
  342. data/lib/ecoportal/api/graphql/payload/action/update.rb +13 -13
  343. data/lib/ecoportal/api/graphql/payload/action.rb +14 -14
  344. data/lib/ecoportal/api/graphql/payload/ai_summary_generate.rb +12 -12
  345. data/lib/ecoportal/api/graphql/payload/contractor_entity/create.rb +13 -13
  346. data/lib/ecoportal/api/graphql/payload/contractor_entity/destroy.rb +12 -12
  347. data/lib/ecoportal/api/graphql/payload/contractor_entity/update.rb +12 -12
  348. data/lib/ecoportal/api/graphql/payload/images_upload.rb +14 -0
  349. data/lib/ecoportal/api/graphql/payload/kickstand/bulk_update_jobs.rb +2 -2
  350. data/lib/ecoportal/api/graphql/payload/kickstand/bulk_update_workflows.rb +2 -2
  351. data/lib/ecoportal/api/graphql/payload/location_structure/apply_commands.rb +51 -51
  352. data/lib/ecoportal/api/graphql/payload/location_structure/command_execution_result.rb +50 -50
  353. data/lib/ecoportal/api/graphql/payload/location_structure/draft/add_commands.rb +30 -30
  354. data/lib/ecoportal/api/graphql/payload/location_structure/draft/delete.rb +30 -30
  355. data/lib/ecoportal/api/graphql/payload/location_structure/draft/drop_bad_commands.rb +43 -43
  356. data/lib/ecoportal/api/graphql/payload/location_structure/draft/publish.rb +63 -63
  357. data/lib/ecoportal/api/graphql/payload/location_structure/draft.rb +18 -18
  358. data/lib/ecoportal/api/graphql/payload/location_structure.rb +14 -14
  359. data/lib/ecoportal/api/graphql/payload/ok_payload.rb +1 -1
  360. data/lib/ecoportal/api/graphql/payload/page/archive.rb +13 -13
  361. data/lib/ecoportal/api/graphql/payload/page/build_from_template.rb +13 -13
  362. data/lib/ecoportal/api/graphql/payload/page/create_from_template.rb +13 -13
  363. data/lib/ecoportal/api/graphql/payload/page/draft.rb +1 -1
  364. data/lib/ecoportal/api/graphql/payload/page/review_task.rb +1 -1
  365. data/lib/ecoportal/api/graphql/payload/page/unarchive.rb +13 -13
  366. data/lib/ecoportal/api/graphql/payload/page/update.rb +13 -13
  367. data/lib/ecoportal/api/graphql/payload/preset_view.rb +1 -1
  368. data/lib/ecoportal/api/graphql/payload/register.rb +1 -1
  369. data/lib/ecoportal/api/graphql/payload.rb +1 -0
  370. data/lib/ecoportal/api/graphql/query/action.rb +33 -33
  371. data/lib/ecoportal/api/graphql/query/action_categories.rb +53 -53
  372. data/lib/ecoportal/api/graphql/query/actions.rb +43 -43
  373. data/lib/ecoportal/api/graphql/query/contractor_entities.rb +53 -53
  374. data/lib/ecoportal/api/graphql/query/file_upload_signature.rb +76 -76
  375. data/lib/ecoportal/api/graphql/query/location_classifications.rb +39 -39
  376. data/lib/ecoportal/api/graphql/query/page_delta.rb +47 -47
  377. data/lib/ecoportal/api/graphql/query/pages.rb +59 -59
  378. data/lib/ecoportal/api/graphql/query/permissions.rb +1 -1
  379. data/lib/ecoportal/api/graphql/query/person_members.rb +76 -0
  380. data/lib/ecoportal/api/graphql/query/register_preset_views.rb +1 -1
  381. data/lib/ecoportal/api/graphql/query/register_preview_pages.rb +83 -83
  382. data/lib/ecoportal/api/graphql/query/template_change_log.rb +118 -0
  383. data/lib/ecoportal/api/graphql/query/templates.rb +53 -53
  384. data/lib/ecoportal/api/graphql/query.rb +2 -0
  385. data/lib/ecoportal/api/graphql_version.rb +1 -1
  386. data/lib/ecoportal/api-graphql.rb +10 -10
  387. metadata +45 -9
  388. data/README.md +0 -24
  389. data/lib/ecoportal/api/common/graphql/CLAUDE.md +0 -36
  390. data/lib/ecoportal/api/common/graphql/model/CLAUDE.md +0 -28
  391. data/lib/ecoportal/api/graphql/CLAUDE.md +0 -37
  392. data/lib/ecoportal/api/graphql/base/CLAUDE.md +0 -50
  393. data/lib/ecoportal/api/graphql/builder/CLAUDE.md +0 -65
@@ -10,6 +10,9 @@ module Ecoportal
10
10
  passkey :id
11
11
  passthrough :name, :ordering, :state
12
12
  passboolean :active, :started
13
+ # Per-stage tag set (Stage.tags in the schema). Fetched by the stageAttrs
14
+ # fragment; a component of #all_tags. Empty array when not queried.
15
+ passarray :tags
13
16
 
14
17
  class_resolver :callback_type_class, 'Ecoportal::API::GraphQL::Base::PagesWorkflow::CallbackType'
15
18
 
@@ -17,6 +20,54 @@ module Ecoportal
17
20
  # canonical field objects (filtered to this stage) rather than fresh dups.
18
21
  attr_writer :page_field_collection
19
22
 
23
+ # The owning page, resolved via the DoubleModel's NATIVE nesting reference rather
24
+ # than a manually-injected back-ref. A stage is embedded under the page as
25
+ # page -> stages (CollectionModel) -> stage, so `_parent` is the intermediate
26
+ # collection, NOT the page. `root` walks the whole `_parent` chain to the top of
27
+ # the doc model (the page), which is robust to that intermediate nesting.
28
+ #
29
+ # Returns the page for an embedded stage, or nil for a standalone stage whose root
30
+ # is itself (i.e. not a page — has no baseTags/otherTags/location_ids to fold in).
31
+ def page
32
+ top = root
33
+ top.equal?(self) ? nil : top
34
+ end
35
+
36
+ # location_ids redirect: the GraphQL Stage type has NO location field — locations
37
+ # are assigned at the PAGE level (page.locations { id }). So a stage's location ids
38
+ # are the page's location ids. Empty array for a standalone stage.
39
+ def location_ids
40
+ Array(page&.location_ids)
41
+ end
42
+
43
+ # The stage's fully-compiled tag set (client-side build of the backend-only
44
+ # "compiled_tags"), per the domain formula:
45
+ #
46
+ # Stage.all_tags = page.baseTags + page.location_ids + page.otherTags + stage.tags
47
+ #
48
+ # (page.location_ids — surfaced here via #location_ids — stands in for the per-stage
49
+ # "location_ids" of the formula: the GraphQL schema does NOT expose locations on the
50
+ # Stage type, they are assigned at the PAGE level.)
51
+ #
52
+ # Returns a de-duplicated Array of tag strings. For a standalone stage (no owning
53
+ # page) folds in only the stage's own tags.
54
+ def all_tags
55
+ (page_base_tags + location_ids + page_other_tags + Array(tags)).
56
+ compact.uniq
57
+ end
58
+
59
+ private
60
+
61
+ def page_base_tags
62
+ page ? Array(page.baseTags) : []
63
+ end
64
+
65
+ def page_other_tags
66
+ page ? Array(page.otherTags) : []
67
+ end
68
+
69
+ public
70
+
20
71
  def workflow_callbacks
21
72
  @workflow_callbacks ||= Array(doc['workflowCallbacks'] || []).map { |cb| callback_type_class.from_doc(cb) }
22
73
  end
@@ -1,15 +1,15 @@
1
- module Ecoportal
2
- module API
3
- class GraphQL
4
- module Base
5
- module Page
6
- class Phased < Interface::BasePage
7
- require_relative 'phased/stage'
8
-
9
- embeds_many :stages, klass: Stage, read_only: true
10
- end
11
- end
12
- end
13
- end
14
- end
15
- end
1
+ module Ecoportal
2
+ module API
3
+ class GraphQL
4
+ module Base
5
+ module Page
6
+ class Phased < Interface::BasePage
7
+ require_relative 'phased/stage'
8
+
9
+ embeds_many :stages, klass: Stage, read_only: true
10
+ end
11
+ end
12
+ end
13
+ end
14
+ end
15
+ end
@@ -1,48 +1,48 @@
1
- module Ecoportal
2
- module API
3
- class GraphQL
4
- module Base
5
- module Page
6
- # Wraps a SectionUnion doc (ContentSection or SplitSection).
7
- # Provides access to heading, type, and data fields within the section.
8
- class Section < Logic::BaseModel
9
- read_only!
10
-
11
- passkey :id
12
- passthrough :heading
13
-
14
- # __typename normalised to 'type' during initialisation
15
- passthrough :type
16
-
17
- def initialize(raw_doc = {})
18
- raw_doc = raw_doc.dup if raw_doc.is_a?(Hash)
19
- raw_doc['type'] ||= raw_doc['__typename'] if raw_doc.is_a?(Hash)
20
- super
21
- end
22
-
23
- # All data fields in this section.
24
- # ContentSection → dataFields
25
- # SplitSection → leftDataFields + rightDataFields (merged)
26
- def components
27
- all = (doc['dataFields'] || []) +
28
- (doc['leftDataFields'] || []) +
29
- (doc['rightDataFields'] || [])
30
- DataField::Collection.from_doc(all)
31
- end
32
-
33
- # v2 compat alias
34
- alias_method :data_fields, :components
35
-
36
- def content_section?
37
- type.to_s == 'ContentSection'
38
- end
39
-
40
- def split_section?
41
- type.to_s == 'SplitSection'
42
- end
43
- end
44
- end
45
- end
46
- end
47
- end
48
- end
1
+ module Ecoportal
2
+ module API
3
+ class GraphQL
4
+ module Base
5
+ module Page
6
+ # Wraps a SectionUnion doc (ContentSection or SplitSection).
7
+ # Provides access to heading, type, and data fields within the section.
8
+ class Section < Logic::BaseModel
9
+ read_only!
10
+
11
+ passkey :id
12
+ passthrough :heading
13
+
14
+ # __typename normalised to 'type' during initialisation
15
+ passthrough :type
16
+
17
+ def initialize(raw_doc = {})
18
+ raw_doc = raw_doc.dup if raw_doc.is_a?(Hash)
19
+ raw_doc['type'] ||= raw_doc['__typename'] if raw_doc.is_a?(Hash)
20
+ super
21
+ end
22
+
23
+ # All data fields in this section.
24
+ # ContentSection → dataFields
25
+ # SplitSection → leftDataFields + rightDataFields (merged)
26
+ def components
27
+ all = (doc['dataFields'] || []) +
28
+ (doc['leftDataFields'] || []) +
29
+ (doc['rightDataFields'] || [])
30
+ DataField::Collection.from_doc(all)
31
+ end
32
+
33
+ # v2 compat alias
34
+ alias_method :data_fields, :components
35
+
36
+ def content_section?
37
+ type.to_s == 'ContentSection'
38
+ end
39
+
40
+ def split_section?
41
+ type.to_s == 'SplitSection'
42
+ end
43
+ end
44
+ end
45
+ end
46
+ end
47
+ end
48
+ end
@@ -1,12 +1,12 @@
1
- module Ecoportal
2
- module API
3
- class GraphQL
4
- module Base
5
- class PageInfo < Logic::BaseModel
6
- passthrough :startCursor, :endCursor
7
- passboolean :hasNextPage, :hasPreviousPage
8
- end
9
- end
10
- end
11
- end
12
- end
1
+ module Ecoportal
2
+ module API
3
+ class GraphQL
4
+ module Base
5
+ class PageInfo < Logic::BaseModel
6
+ passthrough :startCursor, :endCursor
7
+ passboolean :hasNextPage, :hasPreviousPage
8
+ end
9
+ end
10
+ end
11
+ end
12
+ end
@@ -1,39 +1,39 @@
1
- module Ecoportal
2
- module API
3
- class GraphQL
4
- module Base
5
- class PagesWorkflow
6
- class OperationInterface < Logic::BaseModel
7
- SCHEMA_VERSION = '20260605'.freeze
8
-
9
- passkey :id
10
- passdate :delayedExecuteAt
11
- passboolean :timeDelayPassed
12
-
13
- class_resolver :time_delay_config_class,
14
- 'Ecoportal::API::GraphQL::Base::PagesWorkflow::TimeDelayConfig'
15
-
16
- embeds_one :timeDelayConfig, klass: :time_delay_config_class
17
-
18
- require_relative 'operations/assign_to'
19
- require_relative 'operations/create_page'
20
- require_relative 'operations/send_notification'
21
-
22
- def self.from_doc(raw_doc)
23
- case raw_doc&.fetch('__typename', nil)
24
- when 'PagesWorkflowOperationsAssignTo'
25
- Operations::AssignTo.new(raw_doc)
26
- when 'PagesWorkflowOperationsCreatePage'
27
- Operations::CreatePage.new(raw_doc)
28
- when 'PagesWorkflowOperationsSendNotification'
29
- Operations::SendNotification.new(raw_doc)
30
- else
31
- new(raw_doc)
32
- end
33
- end
34
- end
35
- end
36
- end
37
- end
38
- end
39
- end
1
+ module Ecoportal
2
+ module API
3
+ class GraphQL
4
+ module Base
5
+ class PagesWorkflow
6
+ class OperationInterface < Logic::BaseModel
7
+ SCHEMA_VERSION = '20260605'.freeze
8
+
9
+ passkey :id
10
+ passdate :delayedExecuteAt
11
+ passboolean :timeDelayPassed
12
+
13
+ class_resolver :time_delay_config_class,
14
+ 'Ecoportal::API::GraphQL::Base::PagesWorkflow::TimeDelayConfig'
15
+
16
+ embeds_one :timeDelayConfig, klass: :time_delay_config_class
17
+
18
+ require_relative 'operations/assign_to'
19
+ require_relative 'operations/create_page'
20
+ require_relative 'operations/send_notification'
21
+
22
+ def self.from_doc(raw_doc)
23
+ case raw_doc&.fetch('__typename', nil)
24
+ when 'PagesWorkflowOperationsAssignTo'
25
+ Operations::AssignTo.new(raw_doc)
26
+ when 'PagesWorkflowOperationsCreatePage'
27
+ Operations::CreatePage.new(raw_doc)
28
+ when 'PagesWorkflowOperationsSendNotification'
29
+ Operations::SendNotification.new(raw_doc)
30
+ else
31
+ new(raw_doc)
32
+ end
33
+ end
34
+ end
35
+ end
36
+ end
37
+ end
38
+ end
39
+ end
@@ -1,27 +1,27 @@
1
- module Ecoportal
2
- module API
3
- class GraphQL
4
- module Base
5
- class PagesWorkflow
6
- module Operations
7
- class AssignTo < OperationInterface
8
- SCHEMA_VERSION = '20260605'.freeze
9
-
10
- passthrough :targetTaskType
11
- passboolean :lastFulfilled
12
-
13
- class_resolver :escalation_level_class,
14
- 'Ecoportal::API::GraphQL::Base::PagesWorkflow::EscalationLevel'
15
-
16
- embeds_many :escalationLevels, klass: :escalation_level_class, read_only: true
17
-
18
- def strategies
19
- @strategies ||= Array(doc['strategies'] || [])
20
- end
21
- end
22
- end
23
- end
24
- end
25
- end
26
- end
27
- end
1
+ module Ecoportal
2
+ module API
3
+ class GraphQL
4
+ module Base
5
+ class PagesWorkflow
6
+ module Operations
7
+ class AssignTo < OperationInterface
8
+ SCHEMA_VERSION = '20260605'.freeze
9
+
10
+ passthrough :targetTaskType
11
+ passboolean :lastFulfilled
12
+
13
+ class_resolver :escalation_level_class,
14
+ 'Ecoportal::API::GraphQL::Base::PagesWorkflow::EscalationLevel'
15
+
16
+ embeds_many :escalationLevels, klass: :escalation_level_class, read_only: true
17
+
18
+ def strategies
19
+ @strategies ||= Array(doc['strategies'] || [])
20
+ end
21
+ end
22
+ end
23
+ end
24
+ end
25
+ end
26
+ end
27
+ end
@@ -1,30 +1,30 @@
1
- module Ecoportal
2
- module API
3
- class GraphQL
4
- module Base
5
- class PagesWorkflow
6
- module Operations
7
- class SendNotification < OperationInterface
8
- SCHEMA_VERSION = '20260605'.freeze
9
-
10
- passboolean :recurring, :recurrenceActive
11
- passthrough :recurrenceCount, :recurrenceEndCount, :recurrenceEndType
12
- passdate :nextRecurrenceAt
13
-
14
- class_resolver :email_config_class,
15
- 'Ecoportal::API::GraphQL::Base::PagesWorkflow::EmailConfig'
16
- class_resolver :in_system_config_class,
17
- 'Ecoportal::API::GraphQL::Base::PagesWorkflow::InSystemConfig'
18
- class_resolver :recipient_config_class,
19
- 'Ecoportal::API::GraphQL::Base::PagesWorkflow::RecipientConfig'
20
-
21
- embeds_one :emailConfig, klass: :email_config_class
22
- embeds_one :inSystemConfig, klass: :in_system_config_class
23
- embeds_one :recipientConfig, klass: :recipient_config_class
24
- end
25
- end
26
- end
27
- end
28
- end
29
- end
30
- end
1
+ module Ecoportal
2
+ module API
3
+ class GraphQL
4
+ module Base
5
+ class PagesWorkflow
6
+ module Operations
7
+ class SendNotification < OperationInterface
8
+ SCHEMA_VERSION = '20260605'.freeze
9
+
10
+ passboolean :recurring, :recurrenceActive
11
+ passthrough :recurrenceCount, :recurrenceEndCount, :recurrenceEndType
12
+ passdate :nextRecurrenceAt
13
+
14
+ class_resolver :email_config_class,
15
+ 'Ecoportal::API::GraphQL::Base::PagesWorkflow::EmailConfig'
16
+ class_resolver :in_system_config_class,
17
+ 'Ecoportal::API::GraphQL::Base::PagesWorkflow::InSystemConfig'
18
+ class_resolver :recipient_config_class,
19
+ 'Ecoportal::API::GraphQL::Base::PagesWorkflow::RecipientConfig'
20
+
21
+ embeds_one :emailConfig, klass: :email_config_class
22
+ embeds_one :inSystemConfig, klass: :in_system_config_class
23
+ embeds_one :recipientConfig, klass: :recipient_config_class
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
@@ -1,34 +1,34 @@
1
- module Ecoportal
2
- module API
3
- class GraphQL
4
- module Base
5
- class PagesWorkflow
6
- class RecipientConfig < Logic::BaseModel
7
- SCHEMA_VERSION = '20260605'.freeze
8
-
9
- passboolean :allActiveUsers, :includeActionAssignees, :includeMailboxFields
10
- passboolean :includePageCreator, :includePeopleFields, :includeTaskAssignees
11
- passboolean :limitByPageTags
12
-
13
- class_resolver :action_type_selection_class,
14
- 'Ecoportal::API::GraphQL::Base::PagesWorkflow::ActionTypeSelection'
15
- class_resolver :mailbox_field_selection_class,
16
- 'Ecoportal::API::GraphQL::Base::PagesWorkflow::MailboxFieldSelection'
17
- class_resolver :people_field_selection_class,
18
- 'Ecoportal::API::GraphQL::Base::PagesWorkflow::PeopleFieldSelection'
19
- class_resolver :task_config_selection_class,
20
- 'Ecoportal::API::GraphQL::Base::PagesWorkflow::TaskConfigSelection'
21
- class_resolver :user_selection_class,
22
- 'Ecoportal::API::GraphQL::Base::PagesWorkflow::UserSelection'
23
-
24
- embeds_many :actionTypeSelections, klass: :action_type_selection_class, read_only: true
25
- embeds_many :mailboxFieldSelections, klass: :mailbox_field_selection_class, read_only: true
26
- embeds_many :peopleFieldSelections, klass: :people_field_selection_class, read_only: true
27
- embeds_many :taskConfigSelections, klass: :task_config_selection_class, read_only: true
28
- embeds_many :userSelections, klass: :user_selection_class, read_only: true
29
- end
30
- end
31
- end
32
- end
33
- end
34
- end
1
+ module Ecoportal
2
+ module API
3
+ class GraphQL
4
+ module Base
5
+ class PagesWorkflow
6
+ class RecipientConfig < Logic::BaseModel
7
+ SCHEMA_VERSION = '20260605'.freeze
8
+
9
+ passboolean :allActiveUsers, :includeActionAssignees, :includeMailboxFields
10
+ passboolean :includePageCreator, :includePeopleFields, :includeTaskAssignees
11
+ passboolean :limitByPageTags
12
+
13
+ class_resolver :action_type_selection_class,
14
+ 'Ecoportal::API::GraphQL::Base::PagesWorkflow::ActionTypeSelection'
15
+ class_resolver :mailbox_field_selection_class,
16
+ 'Ecoportal::API::GraphQL::Base::PagesWorkflow::MailboxFieldSelection'
17
+ class_resolver :people_field_selection_class,
18
+ 'Ecoportal::API::GraphQL::Base::PagesWorkflow::PeopleFieldSelection'
19
+ class_resolver :task_config_selection_class,
20
+ 'Ecoportal::API::GraphQL::Base::PagesWorkflow::TaskConfigSelection'
21
+ class_resolver :user_selection_class,
22
+ 'Ecoportal::API::GraphQL::Base::PagesWorkflow::UserSelection'
23
+
24
+ embeds_many :actionTypeSelections, klass: :action_type_selection_class, read_only: true
25
+ embeds_many :mailboxFieldSelections, klass: :mailbox_field_selection_class, read_only: true
26
+ embeds_many :peopleFieldSelections, klass: :people_field_selection_class, read_only: true
27
+ embeds_many :taskConfigSelections, klass: :task_config_selection_class, read_only: true
28
+ embeds_many :userSelections, klass: :user_selection_class, read_only: true
29
+ end
30
+ end
31
+ end
32
+ end
33
+ end
34
+ end
@@ -1,35 +1,35 @@
1
- module Ecoportal
2
- module API
3
- class GraphQL
4
- module Base
5
- class PagesWorkflow < Logic::BaseModel
6
- SCHEMA_VERSION = '20260605'.freeze
7
-
8
- passboolean :autoPageCreationEnabled
9
- passarray :stages
10
-
11
- class_resolver :register_field_class,
12
- 'Ecoportal::API::GraphQL::Base::PagesWorkflow::RegisterField'
13
-
14
- embeds_many :fields, klass: :register_field_class, read_only: true
15
-
16
- require_relative 'pages_workflow/register_field'
17
- require_relative 'pages_workflow/time_delay_config'
18
- require_relative 'pages_workflow/escalation_level'
19
- require_relative 'pages_workflow/user_selection'
20
- require_relative 'pages_workflow/mailbox_field_selection'
21
- require_relative 'pages_workflow/people_field_selection'
22
- require_relative 'pages_workflow/task_config_selection'
23
- require_relative 'pages_workflow/action_type_selection'
24
- require_relative 'pages_workflow/email_config'
25
- require_relative 'pages_workflow/in_system_config'
26
- require_relative 'pages_workflow/recipient_config'
27
- require_relative 'pages_workflow/trigger_interface'
28
- require_relative 'pages_workflow/operation_interface'
29
- require_relative 'pages_workflow/callback_type'
30
- require_relative 'pages_workflow/command_interface'
31
- end
32
- end
33
- end
34
- end
35
- end
1
+ module Ecoportal
2
+ module API
3
+ class GraphQL
4
+ module Base
5
+ class PagesWorkflow < Logic::BaseModel
6
+ SCHEMA_VERSION = '20260605'.freeze
7
+
8
+ passboolean :autoPageCreationEnabled
9
+ passarray :stages
10
+
11
+ class_resolver :register_field_class,
12
+ 'Ecoportal::API::GraphQL::Base::PagesWorkflow::RegisterField'
13
+
14
+ embeds_many :fields, klass: :register_field_class, read_only: true
15
+
16
+ require_relative 'pages_workflow/register_field'
17
+ require_relative 'pages_workflow/time_delay_config'
18
+ require_relative 'pages_workflow/escalation_level'
19
+ require_relative 'pages_workflow/user_selection'
20
+ require_relative 'pages_workflow/mailbox_field_selection'
21
+ require_relative 'pages_workflow/people_field_selection'
22
+ require_relative 'pages_workflow/task_config_selection'
23
+ require_relative 'pages_workflow/action_type_selection'
24
+ require_relative 'pages_workflow/email_config'
25
+ require_relative 'pages_workflow/in_system_config'
26
+ require_relative 'pages_workflow/recipient_config'
27
+ require_relative 'pages_workflow/trigger_interface'
28
+ require_relative 'pages_workflow/operation_interface'
29
+ require_relative 'pages_workflow/callback_type'
30
+ require_relative 'pages_workflow/command_interface'
31
+ end
32
+ end
33
+ end
34
+ end
35
+ end
@@ -1,22 +1,22 @@
1
- module Ecoportal
2
- module API
3
- class GraphQL
4
- module Base
5
- class PersonMember < Logic::BaseModel
6
- root!
7
-
8
- passkey :id
9
- passthrough :name, :email
10
- passarray :tagRestrict, :userGroupIds
11
-
12
- passthrough :personSchemaId
13
-
14
- passthrough :contractorOrganizationId
15
- passthrough :userId
16
-
17
- passboolean :tracingAdmin
18
- end
19
- end
20
- end
21
- end
22
- end
1
+ module Ecoportal
2
+ module API
3
+ class GraphQL
4
+ module Base
5
+ class PersonMember < Logic::BaseModel
6
+ root!
7
+
8
+ passkey :id
9
+ passthrough :name, :email
10
+ passarray :tagRestrict, :userGroupIds
11
+
12
+ passthrough :personSchemaId
13
+
14
+ passthrough :contractorOrganizationId
15
+ passthrough :userId
16
+
17
+ passboolean :tracingAdmin
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
@@ -1,23 +1,23 @@
1
- module Ecoportal
2
- module API
3
- class GraphQL
4
- module Base
5
- # Elasticsearch-backed preview of a page, returned by register.previewPages.
6
- # Read-only. No patchVer, no typed data field models, no field IDs.
7
- # Use for fast metadata lookup only — switch to org search (pages) for full data.
8
- class PreviewPage < Logic::BaseModel
9
- read_only!
10
-
11
- passkey :id
12
- passthrough :uid, :name, :state, :archived
13
- passthrough :creatorName, :externalId
14
- passdate :createdAt, :updatedAt
15
-
16
- # locations, dataFields, stages returned as raw arrays — typed access not needed
17
- # for a read-only ES-backed preview model. Use org search for typed field access.
18
- passarray :locations, :dataFields, :stages, :tags
19
- end
20
- end
21
- end
22
- end
23
- end
1
+ module Ecoportal
2
+ module API
3
+ class GraphQL
4
+ module Base
5
+ # Elasticsearch-backed preview of a page, returned by register.previewPages.
6
+ # Read-only. No patchVer, no typed data field models, no field IDs.
7
+ # Use for fast metadata lookup only — switch to org search (pages) for full data.
8
+ class PreviewPage < Logic::BaseModel
9
+ read_only!
10
+
11
+ passkey :id
12
+ passthrough :uid, :name, :state, :archived
13
+ passthrough :creatorName, :externalId
14
+ passdate :createdAt, :updatedAt
15
+
16
+ # locations, dataFields, stages returned as raw arrays — typed access not needed
17
+ # for a read-only ES-backed preview model. Use org search for typed field access.
18
+ passarray :locations, :dataFields, :stages, :tags
19
+ end
20
+ end
21
+ end
22
+ end
23
+ end
@@ -1,4 +1,4 @@
1
- module Ecoportal
1
+ module Ecoportal
2
2
  module API
3
3
  class GraphQL
4
4
  module Base