ecoportal-api-graphql 1.3.16 → 1.3.17

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (334) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +13 -4
  3. data/LICENSE +21 -21
  4. data/README.md +24 -24
  5. data/lib/ecoportal/api/common/graphql/auth_service.rb +115 -115
  6. data/lib/ecoportal/api/common/graphql/class_helpers.rb +46 -46
  7. data/lib/ecoportal/api/common/graphql/client.rb +69 -69
  8. data/lib/ecoportal/api/common/graphql/hash_helpers.rb +105 -105
  9. data/lib/ecoportal/api/common/graphql/model/as_input.rb +54 -54
  10. data/lib/ecoportal/api/common/graphql/model/diffable/classic_diff_service.rb +49 -49
  11. data/lib/ecoportal/api/common/graphql/model/diffable/diff_service.rb +188 -188
  12. data/lib/ecoportal/api/common/graphql/model/diffable/hash_diff.rb +55 -55
  13. data/lib/ecoportal/api/common/graphql/model/diffable/hash_diff_nesting.rb +295 -295
  14. data/lib/ecoportal/api/common/graphql/model.rb +17 -17
  15. data/lib/ecoportal/api/common/graphql/patches.rb +1 -1
  16. data/lib/ecoportal/api/common/graphql/query_integration.rb +45 -45
  17. data/lib/ecoportal/api/common/graphql.rb +16 -16
  18. data/lib/ecoportal/api/common.graphql.rb +8 -8
  19. data/lib/ecoportal/api/graphql/base/action_category.rb +15 -15
  20. data/lib/ecoportal/api/graphql/base/ai_summary_version.rb +1 -1
  21. data/lib/ecoportal/api/graphql/base/contractor_entity.rb +24 -24
  22. data/lib/ecoportal/api/graphql/base/date_time.rb +12 -12
  23. data/lib/ecoportal/api/graphql/base/delta_result.rb +16 -16
  24. data/lib/ecoportal/api/graphql/base/field.rb +12 -12
  25. data/lib/ecoportal/api/graphql/base/file_attachment.rb +15 -15
  26. data/lib/ecoportal/api/graphql/base/location_node.rb +14 -14
  27. data/lib/ecoportal/api/graphql/base/location_structure/draft/structure.rb +37 -37
  28. data/lib/ecoportal/api/graphql/base/location_structure/draft.rb +93 -93
  29. data/lib/ecoportal/api/graphql/base/page/data_field/actions_list.rb +9 -9
  30. data/lib/ecoportal/api/graphql/base/page/data_field/ai_summary.rb +18 -18
  31. data/lib/ecoportal/api/graphql/base/page/data_field/checklist.rb +29 -29
  32. data/lib/ecoportal/api/graphql/base/page/data_field/collection.rb +1 -1
  33. data/lib/ecoportal/api/graphql/base/page/data_field/contractor_entities.rb +1 -1
  34. data/lib/ecoportal/api/graphql/base/page/data_field/cross_reference.rb +1 -1
  35. data/lib/ecoportal/api/graphql/base/page/data_field/date_field.rb +23 -23
  36. data/lib/ecoportal/api/graphql/base/page/data_field/file_field.rb +1 -1
  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 +1 -1
  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.rb +15 -15
  48. data/lib/ecoportal/api/graphql/base/page/section.rb +48 -48
  49. data/lib/ecoportal/api/graphql/base/page_info.rb +12 -12
  50. data/lib/ecoportal/api/graphql/base/pages_workflow/operation_interface.rb +39 -39
  51. data/lib/ecoportal/api/graphql/base/pages_workflow/operations/assign_to.rb +27 -27
  52. data/lib/ecoportal/api/graphql/base/pages_workflow/operations/send_notification.rb +30 -30
  53. data/lib/ecoportal/api/graphql/base/pages_workflow/recipient_config.rb +34 -34
  54. data/lib/ecoportal/api/graphql/base/pages_workflow.rb +35 -35
  55. data/lib/ecoportal/api/graphql/base/person_member.rb +22 -22
  56. data/lib/ecoportal/api/graphql/base/preset_view.rb +1 -1
  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/builder/action.rb +41 -41
  61. data/lib/ecoportal/api/graphql/builder/location_structure/draft.rb +64 -64
  62. data/lib/ecoportal/api/graphql/builder/location_structure.rb +40 -40
  63. data/lib/ecoportal/api/graphql/builder/register/preset_view.rb +84 -84
  64. data/lib/ecoportal/api/graphql/builder/register.rb +49 -49
  65. data/lib/ecoportal/api/graphql/compat/filter_translator.rb +1 -1
  66. data/lib/ecoportal/api/graphql/compat/page_reference.rb +23 -23
  67. data/lib/ecoportal/api/graphql/compat/registers.rb +84 -84
  68. data/lib/ecoportal/api/graphql/compat/search_results.rb +33 -33
  69. data/lib/ecoportal/api/graphql/compat.rb +17 -17
  70. data/lib/ecoportal/api/graphql/concerns/data_field_access.rb +71 -71
  71. data/lib/ecoportal/api/graphql/concerns/fragment_definitions.rb +68 -68
  72. data/lib/ecoportal/api/graphql/concerns/snake_camel_access.rb +60 -60
  73. data/lib/ecoportal/api/graphql/connection/preset_view.rb +11 -11
  74. data/lib/ecoportal/api/graphql/error/locations_error/fetch_nested.rb +51 -51
  75. data/lib/ecoportal/api/graphql/error/locations_error.rb +28 -28
  76. data/lib/ecoportal/api/graphql/error/locations_validation_error.rb +20 -20
  77. data/lib/ecoportal/api/graphql/error/validation_errors.rb +28 -28
  78. data/lib/ecoportal/api/graphql/error.rb +12 -12
  79. data/lib/ecoportal/api/graphql/file_upload/client.rb +1 -1
  80. data/lib/ecoportal/api/graphql/file_upload.rb +10 -10
  81. data/lib/ecoportal/api/graphql/fragment/action.rb +65 -65
  82. data/lib/ecoportal/api/graphql/fragment/action_category.rb +17 -17
  83. data/lib/ecoportal/api/graphql/fragment/contractor_entity.rb +20 -20
  84. data/lib/ecoportal/api/graphql/fragment/locations_error.rb +19 -19
  85. data/lib/ecoportal/api/graphql/fragment/pages.rb +15 -15
  86. data/lib/ecoportal/api/graphql/fragment/pagination.rb +17 -17
  87. data/lib/ecoportal/api/graphql/helpers/locations_tree.rb +41 -41
  88. data/lib/ecoportal/api/graphql/helpers.rb +10 -10
  89. data/lib/ecoportal/api/graphql/input/action/archive.rb +14 -14
  90. data/lib/ecoportal/api/graphql/input/action/create.rb +13 -13
  91. data/lib/ecoportal/api/graphql/input/action.rb +14 -14
  92. data/lib/ecoportal/api/graphql/input/contractor_entity/create.rb +14 -14
  93. data/lib/ecoportal/api/graphql/input/contractor_entity/destroy.rb +13 -13
  94. data/lib/ecoportal/api/graphql/input/delta_input.rb +16 -16
  95. data/lib/ecoportal/api/graphql/input/id_diff.rb +11 -11
  96. data/lib/ecoportal/api/graphql/input/location_structure/archive_command.rb +13 -13
  97. data/lib/ecoportal/api/graphql/input/location_structure/delete_command.rb +13 -13
  98. data/lib/ecoportal/api/graphql/input/location_structure/draft/create.rb +15 -15
  99. data/lib/ecoportal/api/graphql/input/location_structure/draft/delete.rb +15 -15
  100. data/lib/ecoportal/api/graphql/input/location_structure/draft/drop_bad_commands.rb +16 -16
  101. data/lib/ecoportal/api/graphql/input/location_structure/draft/publish.rb +16 -16
  102. data/lib/ecoportal/api/graphql/input/location_structure/draft.rb +19 -19
  103. data/lib/ecoportal/api/graphql/input/location_structure/insert_command.rb +13 -13
  104. data/lib/ecoportal/api/graphql/input/location_structure/move_command.rb +14 -14
  105. data/lib/ecoportal/api/graphql/input/location_structure/reorder_command.rb +13 -13
  106. data/lib/ecoportal/api/graphql/input/location_structure/unarchive_command.rb +13 -13
  107. data/lib/ecoportal/api/graphql/input/location_structure.rb +20 -20
  108. data/lib/ecoportal/api/graphql/input/page/archive.rb +14 -14
  109. data/lib/ecoportal/api/graphql/input/page/build_from_template.rb +13 -13
  110. data/lib/ecoportal/api/graphql/input/page/create_draft.rb +13 -13
  111. data/lib/ecoportal/api/graphql/input/page/create_from_template.rb +18 -18
  112. data/lib/ecoportal/api/graphql/input/page/delete_draft.rb +13 -13
  113. data/lib/ecoportal/api/graphql/input/page/publish_draft.rb +13 -13
  114. data/lib/ecoportal/api/graphql/input/page/review_task.rb +14 -14
  115. data/lib/ecoportal/api/graphql/input/page/unarchive.rb +14 -14
  116. data/lib/ecoportal/api/graphql/input/page/update.rb +2 -2
  117. data/lib/ecoportal/api/graphql/input/page.rb +26 -26
  118. data/lib/ecoportal/api/graphql/input/preset_view/create.rb +18 -18
  119. data/lib/ecoportal/api/graphql/input/preset_view/permission.rb +16 -16
  120. data/lib/ecoportal/api/graphql/input/preset_view/update.rb +1 -1
  121. data/lib/ecoportal/api/graphql/input/preset_view.rb +14 -14
  122. data/lib/ecoportal/api/graphql/input/register/create.rb +18 -18
  123. data/lib/ecoportal/api/graphql/input/register/update.rb +15 -15
  124. data/lib/ecoportal/api/graphql/input/register.rb +13 -13
  125. data/lib/ecoportal/api/graphql/input/search.rb +13 -13
  126. data/lib/ecoportal/api/graphql/input/search_conf/ai_generator.rb +234 -234
  127. data/lib/ecoportal/api/graphql/input/search_conf.rb +1 -1
  128. data/lib/ecoportal/api/graphql/input/search_filter.rb +12 -12
  129. data/lib/ecoportal/api/graphql/input/search_sorter.rb +11 -11
  130. data/lib/ecoportal/api/graphql/input/workflow_command/add_action_tag.rb +18 -18
  131. data/lib/ecoportal/api/graphql/input/workflow_command/add_binding.rb +18 -18
  132. data/lib/ecoportal/api/graphql/input/workflow_command/add_comment_tagging_user_group.rb +18 -18
  133. data/lib/ecoportal/api/graphql/input/workflow_command/add_default_direct_strategy_user.rb +18 -18
  134. data/lib/ecoportal/api/graphql/input/workflow_command/add_default_strategy.rb +18 -18
  135. data/lib/ecoportal/api/graphql/input/workflow_command/add_direct_strategy_user.rb +18 -18
  136. data/lib/ecoportal/api/graphql/input/workflow_command/add_force.rb +18 -18
  137. data/lib/ecoportal/api/graphql/input/workflow_command/add_linked_field_config.rb +23 -23
  138. data/lib/ecoportal/api/graphql/input/workflow_command/add_linked_helper.rb +18 -18
  139. data/lib/ecoportal/api/graphql/input/workflow_command/add_operation.rb +18 -18
  140. data/lib/ecoportal/api/graphql/input/workflow_command/add_operation_direct_strategy_user.rb +18 -18
  141. data/lib/ecoportal/api/graphql/input/workflow_command/add_operation_strategy.rb +18 -18
  142. data/lib/ecoportal/api/graphql/input/workflow_command/add_recipient_action_type.rb +18 -18
  143. data/lib/ecoportal/api/graphql/input/workflow_command/add_recipient_filter.rb +18 -18
  144. data/lib/ecoportal/api/graphql/input/workflow_command/add_recipient_people_field.rb +18 -18
  145. data/lib/ecoportal/api/graphql/input/workflow_command/add_recipient_task_config.rb +18 -18
  146. data/lib/ecoportal/api/graphql/input/workflow_command/add_recipient_user.rb +18 -18
  147. data/lib/ecoportal/api/graphql/input/workflow_command/add_scheduled_callback.rb +23 -23
  148. data/lib/ecoportal/api/graphql/input/workflow_command/add_scheduled_callback_action.rb +18 -18
  149. data/lib/ecoportal/api/graphql/input/workflow_command/add_section.rb +18 -18
  150. data/lib/ecoportal/api/graphql/input/workflow_command/add_select_field_option.rb +19 -19
  151. data/lib/ecoportal/api/graphql/input/workflow_command/add_stage_section.rb +18 -18
  152. data/lib/ecoportal/api/graphql/input/workflow_command/add_stage_tag.rb +18 -18
  153. data/lib/ecoportal/api/graphql/input/workflow_command/add_strategy.rb +18 -18
  154. data/lib/ecoportal/api/graphql/input/workflow_command/add_task.rb +18 -18
  155. data/lib/ecoportal/api/graphql/input/workflow_command/add_task_assignment_user_group.rb +18 -18
  156. data/lib/ecoportal/api/graphql/input/workflow_command/add_workflow_callback.rb +18 -18
  157. data/lib/ecoportal/api/graphql/input/workflow_command/collapse_section.rb +18 -18
  158. data/lib/ecoportal/api/graphql/input/workflow_command/edit_binding.rb +18 -18
  159. data/lib/ecoportal/api/graphql/input/workflow_command/edit_creator_permissions.rb +18 -18
  160. data/lib/ecoportal/api/graphql/input/workflow_command/edit_default_strategy.rb +18 -18
  161. data/lib/ecoportal/api/graphql/input/workflow_command/edit_force.rb +18 -18
  162. data/lib/ecoportal/api/graphql/input/workflow_command/edit_gauge_field_stop.rb +19 -19
  163. data/lib/ecoportal/api/graphql/input/workflow_command/edit_linked_field_config.rb +19 -19
  164. data/lib/ecoportal/api/graphql/input/workflow_command/edit_linked_helper.rb +18 -18
  165. data/lib/ecoportal/api/graphql/input/workflow_command/edit_operation.rb +18 -18
  166. data/lib/ecoportal/api/graphql/input/workflow_command/edit_operation_strategy.rb +18 -18
  167. data/lib/ecoportal/api/graphql/input/workflow_command/edit_reminder.rb +18 -18
  168. data/lib/ecoportal/api/graphql/input/workflow_command/edit_required_sign_offs.rb +18 -18
  169. data/lib/ecoportal/api/graphql/input/workflow_command/edit_restrict_comment_tagging.rb +18 -18
  170. data/lib/ecoportal/api/graphql/input/workflow_command/edit_restrict_task_assignment.rb +18 -18
  171. data/lib/ecoportal/api/graphql/input/workflow_command/edit_scheduled_callback.rb +22 -22
  172. data/lib/ecoportal/api/graphql/input/workflow_command/edit_section_header.rb +18 -18
  173. data/lib/ecoportal/api/graphql/input/workflow_command/edit_select_field_option.rb +19 -19
  174. data/lib/ecoportal/api/graphql/input/workflow_command/edit_stage.rb +18 -18
  175. data/lib/ecoportal/api/graphql/input/workflow_command/edit_strategy.rb +18 -18
  176. data/lib/ecoportal/api/graphql/input/workflow_command/edit_task_due.rb +18 -18
  177. data/lib/ecoportal/api/graphql/input/workflow_command/edit_trigger.rb +18 -18
  178. data/lib/ecoportal/api/graphql/input/workflow_command/expand_section.rb +18 -18
  179. data/lib/ecoportal/api/graphql/input/workflow_command/field_config/contractor_entities.rb +24 -24
  180. data/lib/ecoportal/api/graphql/input/workflow_command/field_config/gauge.rb +20 -20
  181. data/lib/ecoportal/api/graphql/input/workflow_command/field_config/location_field.rb +24 -24
  182. data/lib/ecoportal/api/graphql/input/workflow_command/field_config/signature.rb +20 -20
  183. data/lib/ecoportal/api/graphql/input/workflow_command/field_config/table.rb +25 -25
  184. data/lib/ecoportal/api/graphql/input/workflow_command/move_stage.rb +18 -18
  185. data/lib/ecoportal/api/graphql/input/workflow_command/remove_action_tag.rb +18 -18
  186. data/lib/ecoportal/api/graphql/input/workflow_command/remove_binding.rb +18 -18
  187. data/lib/ecoportal/api/graphql/input/workflow_command/remove_callback.rb +18 -18
  188. data/lib/ecoportal/api/graphql/input/workflow_command/remove_comment_tagging_user_group.rb +18 -18
  189. data/lib/ecoportal/api/graphql/input/workflow_command/remove_default_direct_strategy_user.rb +18 -18
  190. data/lib/ecoportal/api/graphql/input/workflow_command/remove_default_strategy.rb +18 -18
  191. data/lib/ecoportal/api/graphql/input/workflow_command/remove_direct_strategy_user.rb +18 -18
  192. data/lib/ecoportal/api/graphql/input/workflow_command/remove_field.rb +18 -18
  193. data/lib/ecoportal/api/graphql/input/workflow_command/remove_force.rb +18 -18
  194. data/lib/ecoportal/api/graphql/input/workflow_command/remove_linked_helper.rb +18 -18
  195. data/lib/ecoportal/api/graphql/input/workflow_command/remove_operation.rb +18 -18
  196. data/lib/ecoportal/api/graphql/input/workflow_command/remove_operation_direct_strategy_user.rb +18 -18
  197. data/lib/ecoportal/api/graphql/input/workflow_command/remove_operation_strategy.rb +18 -18
  198. data/lib/ecoportal/api/graphql/input/workflow_command/remove_recipient_action_type.rb +18 -18
  199. data/lib/ecoportal/api/graphql/input/workflow_command/remove_recipient_filter.rb +18 -18
  200. data/lib/ecoportal/api/graphql/input/workflow_command/remove_recipient_people_field.rb +18 -18
  201. data/lib/ecoportal/api/graphql/input/workflow_command/remove_recipient_task_config.rb +18 -18
  202. data/lib/ecoportal/api/graphql/input/workflow_command/remove_recipient_user.rb +18 -18
  203. data/lib/ecoportal/api/graphql/input/workflow_command/remove_scheduled_callback.rb +18 -18
  204. data/lib/ecoportal/api/graphql/input/workflow_command/remove_section.rb +18 -18
  205. data/lib/ecoportal/api/graphql/input/workflow_command/remove_stage.rb +18 -18
  206. data/lib/ecoportal/api/graphql/input/workflow_command/remove_stage_section.rb +18 -18
  207. data/lib/ecoportal/api/graphql/input/workflow_command/remove_stage_tag.rb +18 -18
  208. data/lib/ecoportal/api/graphql/input/workflow_command/remove_strategy.rb +18 -18
  209. data/lib/ecoportal/api/graphql/input/workflow_command/remove_task.rb +18 -18
  210. data/lib/ecoportal/api/graphql/input/workflow_command/remove_task_assignment_user_group.rb +18 -18
  211. data/lib/ecoportal/api/graphql/input/workflow_command/remove_task_due.rb +18 -18
  212. data/lib/ecoportal/api/graphql/input/workflow_command/remove_task_priority_level.rb +18 -18
  213. data/lib/ecoportal/api/graphql/interface/location_structure/node.rb +43 -43
  214. data/lib/ecoportal/api/graphql/interface/location_structure.rb +14 -14
  215. data/lib/ecoportal/api/graphql/interface.rb +11 -11
  216. data/lib/ecoportal/api/graphql/logic/base_model.rb +15 -15
  217. data/lib/ecoportal/api/graphql/logic/base_query.rb +193 -193
  218. data/lib/ecoportal/api/graphql/logic/mutation.rb +59 -59
  219. data/lib/ecoportal/api/graphql/logic/payload.rb +42 -42
  220. data/lib/ecoportal/api/graphql/logic/query.rb +23 -23
  221. data/lib/ecoportal/api/graphql/logic/query_array.rb +30 -30
  222. data/lib/ecoportal/api/graphql/logic/query_connection.rb +48 -48
  223. data/lib/ecoportal/api/graphql/logic.rb +18 -18
  224. data/lib/ecoportal/api/graphql/model/account.rb +15 -15
  225. data/lib/ecoportal/api/graphql/model/action.rb +22 -22
  226. data/lib/ecoportal/api/graphql/model/ai_summary_version.rb +10 -10
  227. data/lib/ecoportal/api/graphql/model/contractor_entity.rb +12 -12
  228. data/lib/ecoportal/api/graphql/model/field.rb +10 -10
  229. data/lib/ecoportal/api/graphql/model/file_attachment.rb +10 -10
  230. data/lib/ecoportal/api/graphql/model/file_container.rb +11 -11
  231. data/lib/ecoportal/api/graphql/model/location_node.rb +14 -14
  232. data/lib/ecoportal/api/graphql/model/location_structure/draft/structure.rb +15 -15
  233. data/lib/ecoportal/api/graphql/model/location_structure/draft.rb +15 -15
  234. data/lib/ecoportal/api/graphql/model/location_structure.rb +16 -16
  235. data/lib/ecoportal/api/graphql/model/page/basic.rb +14 -14
  236. data/lib/ecoportal/api/graphql/model/page/data_field.rb +12 -12
  237. data/lib/ecoportal/api/graphql/model/page/phased/stage.rb +14 -14
  238. data/lib/ecoportal/api/graphql/model/page/section.rb +12 -12
  239. data/lib/ecoportal/api/graphql/model/page_union.rb +21 -21
  240. data/lib/ecoportal/api/graphql/model/pages_workflow.rb +20 -20
  241. data/lib/ecoportal/api/graphql/model/preset_view.rb +10 -10
  242. data/lib/ecoportal/api/graphql/model/preview_page.rb +10 -10
  243. data/lib/ecoportal/api/graphql/model/register.rb +10 -10
  244. data/lib/ecoportal/api/graphql/model/resource.rb +13 -13
  245. data/lib/ecoportal/api/graphql/model/user.rb +14 -14
  246. data/lib/ecoportal/api/graphql/mutation/action/archive.rb +41 -41
  247. data/lib/ecoportal/api/graphql/mutation/action/create.rb +40 -40
  248. data/lib/ecoportal/api/graphql/mutation/action/update.rb +40 -40
  249. data/lib/ecoportal/api/graphql/mutation/action.rb +14 -14
  250. data/lib/ecoportal/api/graphql/mutation/ai_summary/generate.rb +1 -1
  251. data/lib/ecoportal/api/graphql/mutation/ai_summary/submit_feedback.rb +1 -1
  252. data/lib/ecoportal/api/graphql/mutation/ai_summary.rb +13 -13
  253. data/lib/ecoportal/api/graphql/mutation/contractor_entity/create.rb +40 -40
  254. data/lib/ecoportal/api/graphql/mutation/contractor_entity/destroy.rb +40 -40
  255. data/lib/ecoportal/api/graphql/mutation/contractor_entity/update.rb +40 -40
  256. data/lib/ecoportal/api/graphql/mutation/location_structure/apply_commands.rb +54 -54
  257. data/lib/ecoportal/api/graphql/mutation/location_structure/draft/add_commands.rb +55 -55
  258. data/lib/ecoportal/api/graphql/mutation/location_structure/draft/create.rb +54 -54
  259. data/lib/ecoportal/api/graphql/mutation/location_structure/draft/delete.rb +43 -43
  260. data/lib/ecoportal/api/graphql/mutation/location_structure/draft/drop_bad_commands.rb +56 -56
  261. data/lib/ecoportal/api/graphql/mutation/location_structure/draft/publish.rb +66 -66
  262. data/lib/ecoportal/api/graphql/mutation/location_structure/draft.rb +18 -18
  263. data/lib/ecoportal/api/graphql/mutation/location_structure.rb +13 -13
  264. data/lib/ecoportal/api/graphql/mutation/page/approve_review_task.rb +1 -1
  265. data/lib/ecoportal/api/graphql/mutation/page/archive.rb +40 -40
  266. data/lib/ecoportal/api/graphql/mutation/page/batch_update_review_task.rb +1 -1
  267. data/lib/ecoportal/api/graphql/mutation/page/build_from_template.rb +50 -50
  268. data/lib/ecoportal/api/graphql/mutation/page/create_draft.rb +1 -1
  269. data/lib/ecoportal/api/graphql/mutation/page/create_from_template.rb +43 -43
  270. data/lib/ecoportal/api/graphql/mutation/page/delete_draft.rb +1 -1
  271. data/lib/ecoportal/api/graphql/mutation/page/publish_draft.rb +1 -1
  272. data/lib/ecoportal/api/graphql/mutation/page/reject_review_task.rb +1 -1
  273. data/lib/ecoportal/api/graphql/mutation/page/restart_review_task.rb +1 -1
  274. data/lib/ecoportal/api/graphql/mutation/page/unarchive.rb +40 -40
  275. data/lib/ecoportal/api/graphql/mutation/page/undo_review_task.rb +1 -1
  276. data/lib/ecoportal/api/graphql/mutation/page/update.rb +40 -40
  277. data/lib/ecoportal/api/graphql/mutation/page.rb +28 -28
  278. data/lib/ecoportal/api/graphql/mutation/preset_view/create.rb +35 -35
  279. data/lib/ecoportal/api/graphql/mutation/preset_view/destroy.rb +1 -1
  280. data/lib/ecoportal/api/graphql/mutation/preset_view/permission.rb +37 -37
  281. data/lib/ecoportal/api/graphql/mutation/preset_view/update.rb +35 -35
  282. data/lib/ecoportal/api/graphql/mutation/preset_view.rb +15 -15
  283. data/lib/ecoportal/api/graphql/mutation/register/create.rb +35 -35
  284. data/lib/ecoportal/api/graphql/mutation/register/destroy.rb +1 -1
  285. data/lib/ecoportal/api/graphql/mutation/register/update.rb +35 -35
  286. data/lib/ecoportal/api/graphql/mutation/register.rb +14 -14
  287. data/lib/ecoportal/api/graphql/mutation/smart_fill/generate.rb +1 -1
  288. data/lib/ecoportal/api/graphql/mutation/smart_fill/submit_feedback.rb +1 -1
  289. data/lib/ecoportal/api/graphql/mutation/smart_fill.rb +1 -1
  290. data/lib/ecoportal/api/graphql/payload/action/archive.rb +13 -13
  291. data/lib/ecoportal/api/graphql/payload/action/create.rb +13 -13
  292. data/lib/ecoportal/api/graphql/payload/action/update.rb +13 -13
  293. data/lib/ecoportal/api/graphql/payload/action.rb +14 -14
  294. data/lib/ecoportal/api/graphql/payload/ai_summary_generate.rb +12 -12
  295. data/lib/ecoportal/api/graphql/payload/contractor_entity/create.rb +13 -13
  296. data/lib/ecoportal/api/graphql/payload/contractor_entity/destroy.rb +12 -12
  297. data/lib/ecoportal/api/graphql/payload/contractor_entity/update.rb +12 -12
  298. data/lib/ecoportal/api/graphql/payload/location_structure/apply_commands.rb +51 -51
  299. data/lib/ecoportal/api/graphql/payload/location_structure/command_execution_result.rb +50 -50
  300. data/lib/ecoportal/api/graphql/payload/location_structure/draft/add_commands.rb +30 -30
  301. data/lib/ecoportal/api/graphql/payload/location_structure/draft/delete.rb +30 -30
  302. data/lib/ecoportal/api/graphql/payload/location_structure/draft/drop_bad_commands.rb +43 -43
  303. data/lib/ecoportal/api/graphql/payload/location_structure/draft/publish.rb +63 -63
  304. data/lib/ecoportal/api/graphql/payload/location_structure/draft.rb +18 -18
  305. data/lib/ecoportal/api/graphql/payload/location_structure.rb +14 -14
  306. data/lib/ecoportal/api/graphql/payload/ok_payload.rb +1 -1
  307. data/lib/ecoportal/api/graphql/payload/page/archive.rb +13 -13
  308. data/lib/ecoportal/api/graphql/payload/page/build_from_template.rb +13 -13
  309. data/lib/ecoportal/api/graphql/payload/page/create_from_template.rb +13 -13
  310. data/lib/ecoportal/api/graphql/payload/page/draft.rb +1 -1
  311. data/lib/ecoportal/api/graphql/payload/page/review_task.rb +1 -1
  312. data/lib/ecoportal/api/graphql/payload/page/unarchive.rb +13 -13
  313. data/lib/ecoportal/api/graphql/payload/page/update.rb +13 -13
  314. data/lib/ecoportal/api/graphql/payload/preset_view.rb +1 -1
  315. data/lib/ecoportal/api/graphql/payload/register.rb +1 -1
  316. data/lib/ecoportal/api/graphql/query/action.rb +33 -33
  317. data/lib/ecoportal/api/graphql/query/action_categories.rb +53 -53
  318. data/lib/ecoportal/api/graphql/query/actions.rb +43 -43
  319. data/lib/ecoportal/api/graphql/query/contractor_entities.rb +53 -53
  320. data/lib/ecoportal/api/graphql/query/file_upload_signature.rb +76 -76
  321. data/lib/ecoportal/api/graphql/query/location_classifications.rb +39 -39
  322. data/lib/ecoportal/api/graphql/query/page_delta.rb +47 -47
  323. data/lib/ecoportal/api/graphql/query/pages.rb +59 -59
  324. data/lib/ecoportal/api/graphql/query/register_preset_views.rb +1 -1
  325. data/lib/ecoportal/api/graphql/query/register_preview_pages.rb +83 -83
  326. data/lib/ecoportal/api/graphql/query/templates.rb +53 -53
  327. data/lib/ecoportal/api/graphql_version.rb +1 -1
  328. data/lib/ecoportal/api-graphql.rb +10 -10
  329. metadata +1 -6
  330. data/lib/ecoportal/api/common/graphql/CLAUDE.md +0 -36
  331. data/lib/ecoportal/api/common/graphql/model/CLAUDE.md +0 -28
  332. data/lib/ecoportal/api/graphql/CLAUDE.md +0 -37
  333. data/lib/ecoportal/api/graphql/base/CLAUDE.md +0 -50
  334. data/lib/ecoportal/api/graphql/builder/CLAUDE.md +0 -65
@@ -1,105 +1,105 @@
1
- module Ecoportal
2
- module API
3
- module Common
4
- module GraphQL
5
- module HashHelpers
6
- class << self
7
- def included(base)
8
- base.send(:include, InstanceMethods)
9
- end
10
- end
11
-
12
- module InstanceMethods
13
- def keys_to_sym_deep(value)
14
- transform_keys_deep(value, &:to_sym)
15
- end
16
-
17
- def keys_to_s_deep(value)
18
- transform_keys_deep(value, &:to_s)
19
- end
20
-
21
- def except_keys(value, *keys)
22
- return value unless value.is_a?(Hash)
23
-
24
- deep_dup(value).tap do |out|
25
- keys.each {|key| out.delete(key)}
26
- end
27
- end
28
-
29
- # Targetted removal of keys in `target` that are `nil`
30
- def remove_nil_keys_deep(value, target: [])
31
- remove_keys_deep_if(value, target: target, &:nil?)
32
- end
33
-
34
- # Based on Rails support.
35
- def deep_dup(data)
36
- case data
37
- when Hash
38
- data.each_with_object({}) do |(k, v), copy|
39
- if k.is_a?(::String) || k.is_a?(::Symbol)
40
- copy[k] = deep_dup(v)
41
- else
42
- copy.delete(k)
43
- copy[deep_dup(k)] = deep_dup(v)
44
- end
45
- end
46
- when Enumerable
47
- data.map {|d| deep_dup(d)}
48
- else
49
- data.dup
50
- end
51
- end
52
-
53
- private
54
-
55
- # Iterator
56
- # @param value [Variadic]
57
- # @return [value.class]
58
- def transform_keys_deep(value, &block)
59
- case value
60
- when Hash
61
- value.dup.each_with_object({}) do |(k, v), out|
62
- k_val = block_given?? yield(k) : k
63
- out[k_val] = transform_keys_deep(v, &block)
64
- end
65
- when Enumerable
66
- value.map {|v| transform_keys_deep(v, &block)}
67
- else
68
- value
69
- end
70
- end
71
-
72
- # Targetted removal of keys in `target` that meet
73
- # the `block` condition.
74
- # @param value [Variadic]
75
- # @param target [Array<String>, Array<Symbol>] the target
76
- # `keys` to yield `block` onto.
77
- # @return [value.class]
78
- def remove_keys_deep_if(value, target: [], &block)
79
- msg = 'Expected block. None given.'
80
- raise ArgumentError, msg unless block_given?
81
-
82
- target = [target].flatten.compact
83
- return value if target.empty?
84
-
85
- case value
86
- when Hash
87
- value.dup.each_with_object({}) do |(k, v), out|
88
- next if yield(v) && target.include?(k) # skip
89
-
90
- out[k] = remove_nil_keys_deep(v, target: target, &block)
91
- end
92
- when Enumerable
93
- value.map {|v| remove_nil_keys_deep(v, target: target, &block)}
94
- else
95
- value
96
- end
97
- end
98
- end
99
-
100
- extend InstanceMethods
101
- end
102
- end
103
- end
104
- end
105
- end
1
+ module Ecoportal
2
+ module API
3
+ module Common
4
+ module GraphQL
5
+ module HashHelpers
6
+ class << self
7
+ def included(base)
8
+ base.send(:include, InstanceMethods)
9
+ end
10
+ end
11
+
12
+ module InstanceMethods
13
+ def keys_to_sym_deep(value)
14
+ transform_keys_deep(value, &:to_sym)
15
+ end
16
+
17
+ def keys_to_s_deep(value)
18
+ transform_keys_deep(value, &:to_s)
19
+ end
20
+
21
+ def except_keys(value, *keys)
22
+ return value unless value.is_a?(Hash)
23
+
24
+ deep_dup(value).tap do |out|
25
+ keys.each {|key| out.delete(key)}
26
+ end
27
+ end
28
+
29
+ # Targetted removal of keys in `target` that are `nil`
30
+ def remove_nil_keys_deep(value, target: [])
31
+ remove_keys_deep_if(value, target: target, &:nil?)
32
+ end
33
+
34
+ # Based on Rails support.
35
+ def deep_dup(data)
36
+ case data
37
+ when Hash
38
+ data.each_with_object({}) do |(k, v), copy|
39
+ if k.is_a?(::String) || k.is_a?(::Symbol)
40
+ copy[k] = deep_dup(v)
41
+ else
42
+ copy.delete(k)
43
+ copy[deep_dup(k)] = deep_dup(v)
44
+ end
45
+ end
46
+ when Enumerable
47
+ data.map {|d| deep_dup(d)}
48
+ else
49
+ data.dup
50
+ end
51
+ end
52
+
53
+ private
54
+
55
+ # Iterator
56
+ # @param value [Variadic]
57
+ # @return [value.class]
58
+ def transform_keys_deep(value, &block)
59
+ case value
60
+ when Hash
61
+ value.dup.each_with_object({}) do |(k, v), out|
62
+ k_val = block_given?? yield(k) : k
63
+ out[k_val] = transform_keys_deep(v, &block)
64
+ end
65
+ when Enumerable
66
+ value.map {|v| transform_keys_deep(v, &block)}
67
+ else
68
+ value
69
+ end
70
+ end
71
+
72
+ # Targetted removal of keys in `target` that meet
73
+ # the `block` condition.
74
+ # @param value [Variadic]
75
+ # @param target [Array<String>, Array<Symbol>] the target
76
+ # `keys` to yield `block` onto.
77
+ # @return [value.class]
78
+ def remove_keys_deep_if(value, target: [], &block)
79
+ msg = 'Expected block. None given.'
80
+ raise ArgumentError, msg unless block_given?
81
+
82
+ target = [target].flatten.compact
83
+ return value if target.empty?
84
+
85
+ case value
86
+ when Hash
87
+ value.dup.each_with_object({}) do |(k, v), out|
88
+ next if yield(v) && target.include?(k) # skip
89
+
90
+ out[k] = remove_nil_keys_deep(v, target: target, &block)
91
+ end
92
+ when Enumerable
93
+ value.map {|v| remove_nil_keys_deep(v, target: target, &block)}
94
+ else
95
+ value
96
+ end
97
+ end
98
+ end
99
+
100
+ extend InstanceMethods
101
+ end
102
+ end
103
+ end
104
+ end
105
+ end
@@ -1,54 +1,54 @@
1
- module Ecoportal
2
- module API
3
- module Common
4
- module GraphQL
5
- class Model
6
- # @todo
7
- # 1. `#as_input` vs `#to_input` **or** named argument `klass`
8
- # One gets the `input` to be already used in a mutation query.
9
- # The other gets the `Input` class object out of the `Base/Model`.
10
- # - To figure out when `as_update` should be called.
11
- # 2. Each Base/Model should have its `Input` class counterpart.
12
- # This could be auto-inflected (via namespace constant lookup)
13
- # at some point.
14
- # 3. Think if a service class can be used to this purpose
15
- # (i.e. decorator of DiffService).
16
- module AsInput
17
- class << self
18
- def included(base)
19
- super
20
-
21
- base.send(:include, Model::Diffable)
22
- base.extend ClassMethods
23
- end
24
- end
25
-
26
- module ClassMethods
27
- def as_input(hash, clientMutationId: '')
28
- hash_input = Ecoportal::API::Common::GraphQL::HashHelpers.
29
- keys_to_sym_deep(hash)
30
-
31
- hash_input.merge!(clientMutationId: clientMutationId)
32
-
33
- Ecoportal::API::Common::GraphQL::HashHelpers.
34
- remove_nil_keys_deep(hash_input, target: :id)
35
- end
36
- end
37
-
38
- # INSTANCE METHODS
39
-
40
- def as_input(target_class: nil, clientMutationId: '')
41
- return target_class.from_model(self, client_mutation_id: clientMutationId) if target_class
42
-
43
- diff = as_update
44
- return nil if diff.nil?
45
-
46
- diff[:patchVer] = patchVer if respond_to?(:patchVer) && !patchVer.nil?
47
- self.class.as_input(diff, clientMutationId: clientMutationId)
48
- end
49
- end
50
- end
51
- end
52
- end
53
- end
54
- end
1
+ module Ecoportal
2
+ module API
3
+ module Common
4
+ module GraphQL
5
+ class Model
6
+ # @todo
7
+ # 1. `#as_input` vs `#to_input` **or** named argument `klass`
8
+ # One gets the `input` to be already used in a mutation query.
9
+ # The other gets the `Input` class object out of the `Base/Model`.
10
+ # - To figure out when `as_update` should be called.
11
+ # 2. Each Base/Model should have its `Input` class counterpart.
12
+ # This could be auto-inflected (via namespace constant lookup)
13
+ # at some point.
14
+ # 3. Think if a service class can be used to this purpose
15
+ # (i.e. decorator of DiffService).
16
+ module AsInput
17
+ class << self
18
+ def included(base)
19
+ super
20
+
21
+ base.send(:include, Model::Diffable)
22
+ base.extend ClassMethods
23
+ end
24
+ end
25
+
26
+ module ClassMethods
27
+ def as_input(hash, clientMutationId: '')
28
+ hash_input = Ecoportal::API::Common::GraphQL::HashHelpers.
29
+ keys_to_sym_deep(hash)
30
+
31
+ hash_input.merge!(clientMutationId: clientMutationId)
32
+
33
+ Ecoportal::API::Common::GraphQL::HashHelpers.
34
+ remove_nil_keys_deep(hash_input, target: :id)
35
+ end
36
+ end
37
+
38
+ # INSTANCE METHODS
39
+
40
+ def as_input(target_class: nil, clientMutationId: '')
41
+ return target_class.from_model(self, client_mutation_id: clientMutationId) if target_class
42
+
43
+ diff = as_update
44
+ return nil if diff.nil?
45
+
46
+ diff[:patchVer] = patchVer if respond_to?(:patchVer) && !patchVer.nil?
47
+ self.class.as_input(diff, clientMutationId: clientMutationId)
48
+ end
49
+ end
50
+ end
51
+ end
52
+ end
53
+ end
54
+ end
@@ -1,49 +1,49 @@
1
- module Ecoportal::API::Common::GraphQL::Model::Diffable
2
- class ClassicDiffService
3
- include Ecoportal::API::Common::GraphQL::Model::Diffable::HashDiffNesting
4
-
5
- attr_reader :subject
6
-
7
- def initialize(subject, ignore: [])
8
- msg = 'Expecting Ecoportal::API::Common::Content::DoubleModel. '
9
- msg << "Given: #{subject.class}"
10
- raise ArgumentError, msg unless subject.is_a?(Ecoportal::API::Common::Content::DoubleModel)
11
-
12
- @subject = subject
13
- @ignored = to_a(ignore)
14
- end
15
-
16
- def diff(ignore: [])
17
- classic_diff(ignore: ignore)
18
- end
19
-
20
- protected
21
-
22
- def classic_diff(ignore: [])
23
- change_diff(
24
- curr_doc,
25
- prev_doc,
26
- ignore: to_a(ignored, ignore)
27
- )
28
- end
29
-
30
- private
31
-
32
- attr_reader :ignored
33
-
34
- def curr_doc(target = subject)
35
- return target.as_json if target.respond_to?(:as_json)
36
- return target.doc if target.respond_to?(:doc)
37
-
38
- raise "Can't fetch underlying document for instance of #{target.class}."
39
- end
40
-
41
- def prev_doc(target = subject)
42
- return target.original_doc if target.respond_to?(:original_doc)
43
-
44
- raise "Can't fetch original underlying model for instance of #{target.class}."
45
- rescue NoMethodError
46
- nil
47
- end
48
- end
49
- end
1
+ module Ecoportal::API::Common::GraphQL::Model::Diffable
2
+ class ClassicDiffService
3
+ include Ecoportal::API::Common::GraphQL::Model::Diffable::HashDiffNesting
4
+
5
+ attr_reader :subject
6
+
7
+ def initialize(subject, ignore: [])
8
+ msg = 'Expecting Ecoportal::API::Common::Content::DoubleModel. '
9
+ msg << "Given: #{subject.class}"
10
+ raise ArgumentError, msg unless subject.is_a?(Ecoportal::API::Common::Content::DoubleModel)
11
+
12
+ @subject = subject
13
+ @ignored = to_a(ignore)
14
+ end
15
+
16
+ def diff(ignore: [])
17
+ classic_diff(ignore: ignore)
18
+ end
19
+
20
+ protected
21
+
22
+ def classic_diff(ignore: [])
23
+ change_diff(
24
+ curr_doc,
25
+ prev_doc,
26
+ ignore: to_a(ignored, ignore)
27
+ )
28
+ end
29
+
30
+ private
31
+
32
+ attr_reader :ignored
33
+
34
+ def curr_doc(target = subject)
35
+ return target.as_json if target.respond_to?(:as_json)
36
+ return target.doc if target.respond_to?(:doc)
37
+
38
+ raise "Can't fetch underlying document for instance of #{target.class}."
39
+ end
40
+
41
+ def prev_doc(target = subject)
42
+ return target.original_doc if target.respond_to?(:original_doc)
43
+
44
+ raise "Can't fetch original underlying model for instance of #{target.class}."
45
+ rescue NoMethodError
46
+ nil
47
+ end
48
+ end
49
+ end