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,19 +1,19 @@
1
- module Ecoportal
2
- module API
3
- class GraphQL
4
- module Input
5
- class WorkflowCommand
6
- module AddSelectFieldOption
7
- SCHEMA_VERSION = '20260605'.freeze
8
- VALID_KEYS = %i[dataFieldId placeholderId label weight].freeze
9
-
10
- def self.build(data_field_id:, label:, **kwargs)
11
- { dataFieldId: data_field_id, label: label }.
12
- merge(kwargs.slice(*VALID_KEYS - %i[dataFieldId label]).compact)
13
- end
14
- end
15
- end
16
- end
17
- end
18
- end
19
- end
1
+ module Ecoportal
2
+ module API
3
+ class GraphQL
4
+ module Input
5
+ class WorkflowCommand
6
+ module AddSelectFieldOption
7
+ SCHEMA_VERSION = '20260605'.freeze
8
+ VALID_KEYS = %i[dataFieldId placeholderId label weight].freeze
9
+
10
+ def self.build(data_field_id:, label:, **kwargs)
11
+ { dataFieldId: data_field_id, label: label }.
12
+ merge(kwargs.slice(*VALID_KEYS - %i[dataFieldId label]).compact)
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
@@ -1,18 +1,18 @@
1
- module Ecoportal
2
- module API
3
- class GraphQL
4
- module Input
5
- class WorkflowCommand
6
- module AddStageSection
7
- SCHEMA_VERSION = '20260605'.freeze
8
- VALID_KEYS = %i[stageId sectionId].freeze
9
-
10
- def self.build(**kwargs)
11
- kwargs.slice(*VALID_KEYS).compact
12
- end
13
- end
14
- end
15
- end
16
- end
17
- end
18
- end
1
+ module Ecoportal
2
+ module API
3
+ class GraphQL
4
+ module Input
5
+ class WorkflowCommand
6
+ module AddStageSection
7
+ SCHEMA_VERSION = '20260605'.freeze
8
+ VALID_KEYS = %i[stageId sectionId].freeze
9
+
10
+ def self.build(**kwargs)
11
+ kwargs.slice(*VALID_KEYS).compact
12
+ end
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
18
+ end
@@ -1,18 +1,18 @@
1
- module Ecoportal
2
- module API
3
- class GraphQL
4
- module Input
5
- class WorkflowCommand
6
- module AddStageTag
7
- SCHEMA_VERSION = '20260605'.freeze
8
- VALID_KEYS = %i[stageId tag].freeze
9
-
10
- def self.build(**kwargs)
11
- kwargs.slice(*VALID_KEYS).compact
12
- end
13
- end
14
- end
15
- end
16
- end
17
- end
18
- end
1
+ module Ecoportal
2
+ module API
3
+ class GraphQL
4
+ module Input
5
+ class WorkflowCommand
6
+ module AddStageTag
7
+ SCHEMA_VERSION = '20260605'.freeze
8
+ VALID_KEYS = %i[stageId tag].freeze
9
+
10
+ def self.build(**kwargs)
11
+ kwargs.slice(*VALID_KEYS).compact
12
+ end
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
18
+ end
@@ -1,18 +1,18 @@
1
- module Ecoportal
2
- module API
3
- class GraphQL
4
- module Input
5
- class WorkflowCommand
6
- module AddStrategy
7
- SCHEMA_VERSION = '20260605'.freeze
8
- VALID_KEYS = %i[placeholderId stageId taskId strategy].freeze
9
-
10
- def self.build(**kwargs)
11
- kwargs.slice(*VALID_KEYS).compact
12
- end
13
- end
14
- end
15
- end
16
- end
17
- end
18
- end
1
+ module Ecoportal
2
+ module API
3
+ class GraphQL
4
+ module Input
5
+ class WorkflowCommand
6
+ module AddStrategy
7
+ SCHEMA_VERSION = '20260605'.freeze
8
+ VALID_KEYS = %i[placeholderId stageId taskId strategy].freeze
9
+
10
+ def self.build(**kwargs)
11
+ kwargs.slice(*VALID_KEYS).compact
12
+ end
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
18
+ end
@@ -1,18 +1,18 @@
1
- module Ecoportal
2
- module API
3
- class GraphQL
4
- module Input
5
- class WorkflowCommand
6
- module AddTask
7
- SCHEMA_VERSION = '20260605'.freeze
8
- VALID_KEYS = %i[placeholderId stageId taskType].freeze
9
-
10
- def self.build(**kwargs)
11
- kwargs.slice(*VALID_KEYS).compact
12
- end
13
- end
14
- end
15
- end
16
- end
17
- end
18
- end
1
+ module Ecoportal
2
+ module API
3
+ class GraphQL
4
+ module Input
5
+ class WorkflowCommand
6
+ module AddTask
7
+ SCHEMA_VERSION = '20260605'.freeze
8
+ VALID_KEYS = %i[placeholderId stageId taskType].freeze
9
+
10
+ def self.build(**kwargs)
11
+ kwargs.slice(*VALID_KEYS).compact
12
+ end
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
18
+ end
@@ -1,18 +1,18 @@
1
- module Ecoportal
2
- module API
3
- class GraphQL
4
- module Input
5
- class WorkflowCommand
6
- module AddTaskAssignmentUserGroup
7
- SCHEMA_VERSION = '20260605'.freeze
8
- VALID_KEYS = %i[stageId userGroupId].freeze
9
-
10
- def self.build(**kwargs)
11
- kwargs.slice(*VALID_KEYS).compact
12
- end
13
- end
14
- end
15
- end
16
- end
17
- end
18
- end
1
+ module Ecoportal
2
+ module API
3
+ class GraphQL
4
+ module Input
5
+ class WorkflowCommand
6
+ module AddTaskAssignmentUserGroup
7
+ SCHEMA_VERSION = '20260605'.freeze
8
+ VALID_KEYS = %i[stageId userGroupId].freeze
9
+
10
+ def self.build(**kwargs)
11
+ kwargs.slice(*VALID_KEYS).compact
12
+ end
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
18
+ end
@@ -1,18 +1,18 @@
1
- module Ecoportal
2
- module API
3
- class GraphQL
4
- module Input
5
- class WorkflowCommand
6
- module AddWorkflowCallback
7
- SCHEMA_VERSION = '20260605'.freeze
8
- VALID_KEYS = %i[placeholderId stageId taskId triggerCondition triggers operations].freeze
9
-
10
- def self.build(**kwargs)
11
- kwargs.slice(*VALID_KEYS).compact
12
- end
13
- end
14
- end
15
- end
16
- end
17
- end
18
- end
1
+ module Ecoportal
2
+ module API
3
+ class GraphQL
4
+ module Input
5
+ class WorkflowCommand
6
+ module AddWorkflowCallback
7
+ SCHEMA_VERSION = '20260605'.freeze
8
+ VALID_KEYS = %i[placeholderId stageId taskId triggerCondition triggers operations].freeze
9
+
10
+ def self.build(**kwargs)
11
+ kwargs.slice(*VALID_KEYS).compact
12
+ end
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
18
+ end
@@ -1,18 +1,18 @@
1
- module Ecoportal
2
- module API
3
- class GraphQL
4
- module Input
5
- class WorkflowCommand
6
- module CollapseSection
7
- SCHEMA_VERSION = '20260605'.freeze
8
- VALID_KEYS = %i[sectionId].freeze
9
-
10
- def self.build(**kwargs)
11
- kwargs.slice(*VALID_KEYS).compact
12
- end
13
- end
14
- end
15
- end
16
- end
17
- end
18
- end
1
+ module Ecoportal
2
+ module API
3
+ class GraphQL
4
+ module Input
5
+ class WorkflowCommand
6
+ module CollapseSection
7
+ SCHEMA_VERSION = '20260605'.freeze
8
+ VALID_KEYS = %i[sectionId].freeze
9
+
10
+ def self.build(**kwargs)
11
+ kwargs.slice(*VALID_KEYS).compact
12
+ end
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
18
+ end
@@ -1,18 +1,18 @@
1
- module Ecoportal
2
- module API
3
- class GraphQL
4
- module Input
5
- class WorkflowCommand
6
- module EditBinding
7
- SCHEMA_VERSION = '20260605'.freeze
8
- VALID_KEYS = %i[id name referenceId].freeze
9
-
10
- def self.build(**kwargs)
11
- kwargs.slice(*VALID_KEYS).compact
12
- end
13
- end
14
- end
15
- end
16
- end
17
- end
18
- end
1
+ module Ecoportal
2
+ module API
3
+ class GraphQL
4
+ module Input
5
+ class WorkflowCommand
6
+ module EditBinding
7
+ SCHEMA_VERSION = '20260605'.freeze
8
+ VALID_KEYS = %i[id name referenceId].freeze
9
+
10
+ def self.build(**kwargs)
11
+ kwargs.slice(*VALID_KEYS).compact
12
+ end
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
18
+ end
@@ -1,18 +1,18 @@
1
- module Ecoportal
2
- module API
3
- class GraphQL
4
- module Input
5
- class WorkflowCommand
6
- module EditCreatorPermissions
7
- SCHEMA_VERSION = '20260605'.freeze
8
- VALID_KEYS = %i[stageId creatorEnabled creatorEditable creatorFlags].freeze
9
-
10
- def self.build(**kwargs)
11
- kwargs.slice(*VALID_KEYS).compact
12
- end
13
- end
14
- end
15
- end
16
- end
17
- end
18
- end
1
+ module Ecoportal
2
+ module API
3
+ class GraphQL
4
+ module Input
5
+ class WorkflowCommand
6
+ module EditCreatorPermissions
7
+ SCHEMA_VERSION = '20260605'.freeze
8
+ VALID_KEYS = %i[stageId creatorEnabled creatorEditable creatorFlags].freeze
9
+
10
+ def self.build(**kwargs)
11
+ kwargs.slice(*VALID_KEYS).compact
12
+ end
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
18
+ end
@@ -1,18 +1,18 @@
1
- module Ecoportal
2
- module API
3
- class GraphQL
4
- module Input
5
- class WorkflowCommand
6
- module EditDefaultStrategy
7
- SCHEMA_VERSION = '20260605'.freeze
8
- VALID_KEYS = %i[placeholderId stageId taskId strategy].freeze
9
-
10
- def self.build(**kwargs)
11
- kwargs.slice(*VALID_KEYS).compact
12
- end
13
- end
14
- end
15
- end
16
- end
17
- end
18
- end
1
+ module Ecoportal
2
+ module API
3
+ class GraphQL
4
+ module Input
5
+ class WorkflowCommand
6
+ module EditDefaultStrategy
7
+ SCHEMA_VERSION = '20260605'.freeze
8
+ VALID_KEYS = %i[placeholderId stageId taskId strategy].freeze
9
+
10
+ def self.build(**kwargs)
11
+ kwargs.slice(*VALID_KEYS).compact
12
+ end
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
18
+ end
@@ -1,18 +1,18 @@
1
- module Ecoportal
2
- module API
3
- class GraphQL
4
- module Input
5
- class WorkflowCommand
6
- module EditForce
7
- SCHEMA_VERSION = '20260605'.freeze
8
- VALID_KEYS = %i[id name customScript url contentB64].freeze
9
-
10
- def self.build(**kwargs)
11
- kwargs.slice(*VALID_KEYS).compact
12
- end
13
- end
14
- end
15
- end
16
- end
17
- end
18
- end
1
+ module Ecoportal
2
+ module API
3
+ class GraphQL
4
+ module Input
5
+ class WorkflowCommand
6
+ module EditForce
7
+ SCHEMA_VERSION = '20260605'.freeze
8
+ VALID_KEYS = %i[id name customScript url contentB64].freeze
9
+
10
+ def self.build(**kwargs)
11
+ kwargs.slice(*VALID_KEYS).compact
12
+ end
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
18
+ end
@@ -1,19 +1,19 @@
1
- module Ecoportal
2
- module API
3
- class GraphQL
4
- module Input
5
- class WorkflowCommand
6
- module EditGaugeFieldStop
7
- SCHEMA_VERSION = '20260605'.freeze
8
- VALID_KEYS = %i[threshold color].freeze
9
-
10
- def self.build(data_field_id:, stop_id:, **kwargs)
11
- { dataFieldId: data_field_id, stopId: stop_id }.
12
- merge(kwargs.slice(*VALID_KEYS).compact)
13
- end
14
- end
15
- end
16
- end
17
- end
18
- end
19
- end
1
+ module Ecoportal
2
+ module API
3
+ class GraphQL
4
+ module Input
5
+ class WorkflowCommand
6
+ module EditGaugeFieldStop
7
+ SCHEMA_VERSION = '20260605'.freeze
8
+ VALID_KEYS = %i[threshold color].freeze
9
+
10
+ def self.build(data_field_id:, stop_id:, **kwargs)
11
+ { dataFieldId: data_field_id, stopId: stop_id }.
12
+ merge(kwargs.slice(*VALID_KEYS).compact)
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
@@ -1,19 +1,19 @@
1
- module Ecoportal
2
- module API
3
- class GraphQL
4
- module Input
5
- class WorkflowCommand
6
- module EditLinkedFieldConfig
7
- SCHEMA_VERSION = '20260605'.freeze
8
- VALID_KEYS = %i[sourceFieldKey crossReferenceId attachedMode].freeze
9
-
10
- def self.build(data_field_id:, **kwargs)
11
- { dataFieldId: data_field_id }.
12
- merge(kwargs.slice(*VALID_KEYS).compact)
13
- end
14
- end
15
- end
16
- end
17
- end
18
- end
19
- end
1
+ module Ecoportal
2
+ module API
3
+ class GraphQL
4
+ module Input
5
+ class WorkflowCommand
6
+ module EditLinkedFieldConfig
7
+ SCHEMA_VERSION = '20260605'.freeze
8
+ VALID_KEYS = %i[sourceFieldKey crossReferenceId attachedMode].freeze
9
+
10
+ def self.build(data_field_id:, **kwargs)
11
+ { dataFieldId: data_field_id }.
12
+ merge(kwargs.slice(*VALID_KEYS).compact)
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
@@ -1,18 +1,18 @@
1
- module Ecoportal
2
- module API
3
- class GraphQL
4
- module Input
5
- class WorkflowCommand
6
- module EditLinkedHelper
7
- SCHEMA_VERSION = '20260605'.freeze
8
- VALID_KEYS = %i[id name filePath script contentB64].freeze
9
-
10
- def self.build(**kwargs)
11
- kwargs.slice(*VALID_KEYS).compact
12
- end
13
- end
14
- end
15
- end
16
- end
17
- end
18
- end
1
+ module Ecoportal
2
+ module API
3
+ class GraphQL
4
+ module Input
5
+ class WorkflowCommand
6
+ module EditLinkedHelper
7
+ SCHEMA_VERSION = '20260605'.freeze
8
+ VALID_KEYS = %i[id name filePath script contentB64].freeze
9
+
10
+ def self.build(**kwargs)
11
+ kwargs.slice(*VALID_KEYS).compact
12
+ end
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
18
+ end
@@ -1,18 +1,18 @@
1
- module Ecoportal
2
- module API
3
- class GraphQL
4
- module Input
5
- class WorkflowCommand
6
- module EditOperation
7
- SCHEMA_VERSION = '20260605'.freeze
8
- VALID_KEYS = %i[stageId taskId callbackId operationId operation].freeze
9
-
10
- def self.build(**kwargs)
11
- kwargs.slice(*VALID_KEYS).compact
12
- end
13
- end
14
- end
15
- end
16
- end
17
- end
18
- end
1
+ module Ecoportal
2
+ module API
3
+ class GraphQL
4
+ module Input
5
+ class WorkflowCommand
6
+ module EditOperation
7
+ SCHEMA_VERSION = '20260605'.freeze
8
+ VALID_KEYS = %i[stageId taskId callbackId operationId operation].freeze
9
+
10
+ def self.build(**kwargs)
11
+ kwargs.slice(*VALID_KEYS).compact
12
+ end
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
18
+ end
@@ -1,18 +1,18 @@
1
- module Ecoportal
2
- module API
3
- class GraphQL
4
- module Input
5
- class WorkflowCommand
6
- module EditOperationStrategy
7
- SCHEMA_VERSION = '20260605'.freeze
8
- VALID_KEYS = %i[stageId taskId callbackId operationId strategyId order priorities].freeze
9
-
10
- def self.build(**kwargs)
11
- kwargs.slice(*VALID_KEYS).compact
12
- end
13
- end
14
- end
15
- end
16
- end
17
- end
18
- end
1
+ module Ecoportal
2
+ module API
3
+ class GraphQL
4
+ module Input
5
+ class WorkflowCommand
6
+ module EditOperationStrategy
7
+ SCHEMA_VERSION = '20260605'.freeze
8
+ VALID_KEYS = %i[stageId taskId callbackId operationId strategyId order priorities].freeze
9
+
10
+ def self.build(**kwargs)
11
+ kwargs.slice(*VALID_KEYS).compact
12
+ end
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
18
+ end