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,18 +1,18 @@
1
- module Ecoportal
2
- module API
3
- class GraphQL
4
- module Input
5
- class WorkflowCommand
6
- module EditReminder
7
- SCHEMA_VERSION = '20260605'.freeze
8
- VALID_KEYS = %i[stageId taskId scheduledCallbackId actionId message].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 EditReminder
7
+ SCHEMA_VERSION = '20260605'.freeze
8
+ VALID_KEYS = %i[stageId taskId scheduledCallbackId actionId message].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 EditRequiredSignOffs
7
- SCHEMA_VERSION = '20260605'.freeze
8
- VALID_KEYS = %i[stageId taskId requiredSignOffs].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 EditRequiredSignOffs
7
+ SCHEMA_VERSION = '20260605'.freeze
8
+ VALID_KEYS = %i[stageId taskId requiredSignOffs].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 EditRestrictCommentTagging
7
- SCHEMA_VERSION = '20260605'.freeze
8
- VALID_KEYS = %i[stageId enabled pageCreator taskAssignees].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 EditRestrictCommentTagging
7
+ SCHEMA_VERSION = '20260605'.freeze
8
+ VALID_KEYS = %i[stageId enabled pageCreator taskAssignees].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 EditRestrictTaskAssignment
7
- SCHEMA_VERSION = '20260605'.freeze
8
- VALID_KEYS = %i[stageId enabled pageCreator].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 EditRestrictTaskAssignment
7
+ SCHEMA_VERSION = '20260605'.freeze
8
+ VALID_KEYS = %i[stageId enabled pageCreator].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,22 +1,22 @@
1
- module Ecoportal
2
- module API
3
- class GraphQL
4
- module Input
5
- class WorkflowCommand
6
- module EditScheduledCallback
7
- SCHEMA_VERSION = '20260605'.freeze
8
- VALID_KEYS = %i[
9
- stageId taskId scheduledCallbackId
10
- dueInValue dueInUnit dueExcludeWeekends
11
- recurs recursInValue recursInUnit recursExcludeWeekends
12
- ].freeze
13
-
14
- def self.build(**kwargs)
15
- kwargs.slice(*VALID_KEYS).compact
16
- end
17
- end
18
- end
19
- end
20
- end
21
- end
22
- end
1
+ module Ecoportal
2
+ module API
3
+ class GraphQL
4
+ module Input
5
+ class WorkflowCommand
6
+ module EditScheduledCallback
7
+ SCHEMA_VERSION = '20260605'.freeze
8
+ VALID_KEYS = %i[
9
+ stageId taskId scheduledCallbackId
10
+ dueInValue dueInUnit dueExcludeWeekends
11
+ recurs recursInValue recursInUnit recursExcludeWeekends
12
+ ].freeze
13
+
14
+ def self.build(**kwargs)
15
+ kwargs.slice(*VALID_KEYS).compact
16
+ end
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
@@ -1,18 +1,18 @@
1
- module Ecoportal
2
- module API
3
- class GraphQL
4
- module Input
5
- class WorkflowCommand
6
- module EditSectionHeader
7
- SCHEMA_VERSION = '20260605'.freeze
8
- VALID_KEYS = %i[sectionId header leftHeader rightHeader].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 EditSectionHeader
7
+ SCHEMA_VERSION = '20260605'.freeze
8
+ VALID_KEYS = %i[sectionId header leftHeader rightHeader].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 EditSelectFieldOption
7
- SCHEMA_VERSION = '20260605'.freeze
8
- VALID_KEYS = %i[label weight].freeze
9
-
10
- def self.build(data_field_id:, option_id:, **kwargs)
11
- { dataFieldId: data_field_id, optionId: option_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 EditSelectFieldOption
7
+ SCHEMA_VERSION = '20260605'.freeze
8
+ VALID_KEYS = %i[label weight].freeze
9
+
10
+ def self.build(data_field_id:, option_id:, **kwargs)
11
+ { dataFieldId: data_field_id, optionId: option_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 EditStage
7
- SCHEMA_VERSION = '20260605'.freeze
8
- VALID_KEYS = %i[stageId name description lockAfterCompletion disableDirectPermissions].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 EditStage
7
+ SCHEMA_VERSION = '20260605'.freeze
8
+ VALID_KEYS = %i[stageId name description lockAfterCompletion disableDirectPermissions].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 EditStrategy
7
- SCHEMA_VERSION = '20260605'.freeze
8
- VALID_KEYS = %i[stageId taskId 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 EditStrategy
7
+ SCHEMA_VERSION = '20260605'.freeze
8
+ VALID_KEYS = %i[stageId taskId 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,18 +1,18 @@
1
- module Ecoportal
2
- module API
3
- class GraphQL
4
- module Input
5
- class WorkflowCommand
6
- module EditTaskDue
7
- SCHEMA_VERSION = '20260605'.freeze
8
- VALID_KEYS = %i[stageId taskId dueEnabled dueInValue dueInUnit dueExcludeWeekends].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 EditTaskDue
7
+ SCHEMA_VERSION = '20260605'.freeze
8
+ VALID_KEYS = %i[stageId taskId dueEnabled dueInValue dueInUnit dueExcludeWeekends].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 EditTrigger
7
- SCHEMA_VERSION = '20260605'.freeze
8
- VALID_KEYS = %i[stageId taskId callbackId triggers].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 EditTrigger
7
+ SCHEMA_VERSION = '20260605'.freeze
8
+ VALID_KEYS = %i[stageId taskId callbackId triggers].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 ExpandSection
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 ExpandSection
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,24 +1,24 @@
1
- module Ecoportal
2
- module API
3
- class GraphQL
4
- module Input
5
- class WorkflowCommand
6
- module EditFieldConfiguration
7
- module ContractorEntities
8
- SCHEMA_VERSION = '20260605'.freeze
9
- VALID_KEYS = %i[
10
- singular requiresNumber isMeButton showApprovalStatus grantPermissionsEnabled
11
- applyAttachedContractorsPermissionsTo adminAccess regularAccess
12
- attachedContractorsPermissionsFlags attachedContractorsAdminPermissionsFlags
13
- ].freeze
14
-
15
- def self.build(**kwargs)
16
- { contractorEntities: kwargs.slice(*VALID_KEYS).compact }
17
- end
18
- end
19
- end
20
- end
21
- end
22
- end
23
- end
24
- end
1
+ module Ecoportal
2
+ module API
3
+ class GraphQL
4
+ module Input
5
+ class WorkflowCommand
6
+ module EditFieldConfiguration
7
+ module ContractorEntities
8
+ SCHEMA_VERSION = '20260605'.freeze
9
+ VALID_KEYS = %i[
10
+ singular requiresNumber isMeButton showApprovalStatus grantPermissionsEnabled
11
+ applyAttachedContractorsPermissionsTo adminAccess regularAccess
12
+ attachedContractorsPermissionsFlags attachedContractorsAdminPermissionsFlags
13
+ ].freeze
14
+
15
+ def self.build(**kwargs)
16
+ { contractorEntities: kwargs.slice(*VALID_KEYS).compact }
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
23
+ end
24
+ end
@@ -1,20 +1,20 @@
1
- module Ecoportal
2
- module API
3
- class GraphQL
4
- module Input
5
- class WorkflowCommand
6
- module EditFieldConfiguration
7
- module Gauge
8
- SCHEMA_VERSION = '20260605'.freeze
9
- VALID_KEYS = %i[max].freeze
10
-
11
- def self.build(**kwargs)
12
- { gauge: kwargs.slice(*VALID_KEYS).compact }
13
- end
14
- end
15
- end
16
- end
17
- end
18
- end
19
- end
20
- end
1
+ module Ecoportal
2
+ module API
3
+ class GraphQL
4
+ module Input
5
+ class WorkflowCommand
6
+ module EditFieldConfiguration
7
+ module Gauge
8
+ SCHEMA_VERSION = '20260605'.freeze
9
+ VALID_KEYS = %i[max].freeze
10
+
11
+ def self.build(**kwargs)
12
+ { gauge: kwargs.slice(*VALID_KEYS).compact }
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
20
+ end
@@ -1,24 +1,24 @@
1
- module Ecoportal
2
- module API
3
- class GraphQL
4
- module Input
5
- class WorkflowCommand
6
- module EditFieldConfiguration
7
- module LocationField
8
- SCHEMA_VERSION = '20260605'.freeze
9
- VALID_KEYS = %i[
10
- buttonText minimumRequired singleSelect autoselectDefaultLocation
11
- restrictByClassification addAllowedClassifications removeAllowedClassifications
12
- addAllowedStructures removeAllowedStructures
13
- ].freeze
14
-
15
- def self.build(**kwargs)
16
- { locationField: kwargs.slice(*VALID_KEYS).compact }
17
- end
18
- end
19
- end
20
- end
21
- end
22
- end
23
- end
24
- end
1
+ module Ecoportal
2
+ module API
3
+ class GraphQL
4
+ module Input
5
+ class WorkflowCommand
6
+ module EditFieldConfiguration
7
+ module LocationField
8
+ SCHEMA_VERSION = '20260605'.freeze
9
+ VALID_KEYS = %i[
10
+ buttonText minimumRequired singleSelect autoselectDefaultLocation
11
+ restrictByClassification addAllowedClassifications removeAllowedClassifications
12
+ addAllowedStructures removeAllowedStructures
13
+ ].freeze
14
+
15
+ def self.build(**kwargs)
16
+ { locationField: kwargs.slice(*VALID_KEYS).compact }
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
23
+ end
24
+ end
@@ -1,20 +1,20 @@
1
- module Ecoportal
2
- module API
3
- class GraphQL
4
- module Input
5
- class WorkflowCommand
6
- module EditFieldConfiguration
7
- module Signature
8
- SCHEMA_VERSION = '20260605'.freeze
9
- VALID_KEYS = %i[color].freeze
10
-
11
- def self.build(**kwargs)
12
- { signature: kwargs.slice(*VALID_KEYS).compact }
13
- end
14
- end
15
- end
16
- end
17
- end
18
- end
19
- end
20
- end
1
+ module Ecoportal
2
+ module API
3
+ class GraphQL
4
+ module Input
5
+ class WorkflowCommand
6
+ module EditFieldConfiguration
7
+ module Signature
8
+ SCHEMA_VERSION = '20260605'.freeze
9
+ VALID_KEYS = %i[color].freeze
10
+
11
+ def self.build(**kwargs)
12
+ { signature: kwargs.slice(*VALID_KEYS).compact }
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
20
+ end