ecoportal-api-graphql 1.3.17 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +384 -15
- data/LICENSE +21 -21
- data/README.md +24 -24
- data/lib/ecoportal/api/common/graphql/CLAUDE.md +36 -0
- data/lib/ecoportal/api/common/graphql/auth_service.rb +115 -115
- data/lib/ecoportal/api/common/graphql/class_helpers.rb +46 -46
- data/lib/ecoportal/api/common/graphql/client.rb +69 -69
- data/lib/ecoportal/api/common/graphql/hash_helpers.rb +105 -105
- data/lib/ecoportal/api/common/graphql/model/CLAUDE.md +28 -0
- data/lib/ecoportal/api/common/graphql/model/as_input.rb +54 -54
- data/lib/ecoportal/api/common/graphql/model/diffable/classic_diff_service.rb +49 -49
- data/lib/ecoportal/api/common/graphql/model/diffable/diff_service.rb +188 -188
- data/lib/ecoportal/api/common/graphql/model/diffable/hash_diff.rb +55 -55
- data/lib/ecoportal/api/common/graphql/model/diffable/hash_diff_nesting.rb +295 -295
- data/lib/ecoportal/api/common/graphql/model/diffable/leaf_diff_service.rb +97 -0
- data/lib/ecoportal/api/common/graphql/model/diffable.rb +1 -0
- data/lib/ecoportal/api/common/graphql/model.rb +17 -17
- data/lib/ecoportal/api/common/graphql/patches.rb +1 -1
- data/lib/ecoportal/api/common/graphql/query_integration.rb +45 -45
- data/lib/ecoportal/api/common/graphql.rb +16 -16
- data/lib/ecoportal/api/common.graphql.rb +8 -8
- data/lib/ecoportal/api/graphql/CLAUDE.md +37 -0
- data/lib/ecoportal/api/graphql/base/CLAUDE.md +50 -0
- data/lib/ecoportal/api/graphql/base/action.rb +1 -1
- data/lib/ecoportal/api/graphql/base/action_category.rb +15 -15
- data/lib/ecoportal/api/graphql/base/action_event.rb +23 -0
- data/lib/ecoportal/api/graphql/base/action_event_page.rb +16 -0
- data/lib/ecoportal/api/graphql/base/activity.rb +38 -0
- data/lib/ecoportal/api/graphql/base/activity_log.rb +38 -0
- data/lib/ecoportal/api/graphql/base/ai_summary_version.rb +13 -8
- data/lib/ecoportal/api/graphql/base/auth_log.rb +24 -0
- data/lib/ecoportal/api/graphql/base/authorization_result.rb +20 -0
- data/lib/ecoportal/api/graphql/base/contractor_entity/member_changes.rb +17 -5
- data/lib/ecoportal/api/graphql/base/contractor_entity.rb +24 -24
- data/lib/ecoportal/api/graphql/base/date_time.rb +12 -12
- data/lib/ecoportal/api/graphql/base/delta_result.rb +16 -16
- data/lib/ecoportal/api/graphql/base/field.rb +12 -12
- data/lib/ecoportal/api/graphql/base/file_attachment.rb +15 -15
- data/lib/ecoportal/api/graphql/base/file_container.rb +12 -4
- data/lib/ecoportal/api/graphql/base/location_classification_type.rb +2 -0
- data/lib/ecoportal/api/graphql/base/location_node.rb +14 -14
- data/lib/ecoportal/api/graphql/base/location_structure/draft/structure.rb +37 -37
- data/lib/ecoportal/api/graphql/base/location_structure/draft.rb +93 -93
- data/lib/ecoportal/api/graphql/base/location_structure.rb +3 -0
- data/lib/ecoportal/api/graphql/base/minimal_dashboard.rb +25 -0
- data/lib/ecoportal/api/graphql/base/organization.rb +2 -0
- data/lib/ecoportal/api/graphql/base/page/data_field/actions_list.rb +9 -9
- data/lib/ecoportal/api/graphql/base/page/data_field/ai_summary.rb +18 -18
- data/lib/ecoportal/api/graphql/base/page/data_field/checklist.rb +29 -29
- data/lib/ecoportal/api/graphql/base/page/data_field/collection.rb +1 -1
- data/lib/ecoportal/api/graphql/base/page/data_field/contractor_entities.rb +25 -2
- data/lib/ecoportal/api/graphql/base/page/data_field/cross_reference.rb +1 -1
- data/lib/ecoportal/api/graphql/base/page/data_field/date_field.rb +23 -23
- data/lib/ecoportal/api/graphql/base/page/data_field/file_field.rb +46 -7
- data/lib/ecoportal/api/graphql/base/page/data_field/geo.rb +24 -24
- data/lib/ecoportal/api/graphql/base/page/data_field/image_gallery.rb +6 -3
- data/lib/ecoportal/api/graphql/base/page/data_field/law.rb +8 -8
- data/lib/ecoportal/api/graphql/base/page/data_field/mailbox.rb +9 -9
- data/lib/ecoportal/api/graphql/base/page/data_field/people.rb +50 -12
- data/lib/ecoportal/api/graphql/base/page/data_field/plain_text.rb +17 -17
- data/lib/ecoportal/api/graphql/base/page/data_field/rich_text.rb +26 -26
- data/lib/ecoportal/api/graphql/base/page/data_field/signature.rb +9 -9
- data/lib/ecoportal/api/graphql/base/page/data_field/smart_fill.rb +17 -17
- data/lib/ecoportal/api/graphql/base/page/data_field/table.rb +9 -9
- data/lib/ecoportal/api/graphql/base/page/data_field/tag_field.rb +21 -21
- data/lib/ecoportal/api/graphql/base/page/data_field.rb +12 -18
- data/lib/ecoportal/api/graphql/base/page/phased.rb +15 -15
- data/lib/ecoportal/api/graphql/base/page/section.rb +48 -48
- data/lib/ecoportal/api/graphql/base/page_info.rb +12 -12
- data/lib/ecoportal/api/graphql/base/pages_workflow/operation_interface.rb +39 -39
- data/lib/ecoportal/api/graphql/base/pages_workflow/operations/assign_to.rb +27 -27
- data/lib/ecoportal/api/graphql/base/pages_workflow/operations/send_notification.rb +30 -30
- data/lib/ecoportal/api/graphql/base/pages_workflow/recipient_config.rb +34 -34
- data/lib/ecoportal/api/graphql/base/pages_workflow.rb +35 -35
- data/lib/ecoportal/api/graphql/base/permissions.rb +15 -0
- data/lib/ecoportal/api/graphql/base/person_member.rb +22 -22
- data/lib/ecoportal/api/graphql/base/person_member_changelog.rb +23 -0
- data/lib/ecoportal/api/graphql/base/preset_view.rb +135 -0
- data/lib/ecoportal/api/graphql/base/preview_page.rb +23 -23
- data/lib/ecoportal/api/graphql/base/register.rb +6 -1
- data/lib/ecoportal/api/graphql/base/resource.rb +13 -13
- data/lib/ecoportal/api/graphql/base.rb +9 -0
- data/lib/ecoportal/api/graphql/builder/CLAUDE.md +65 -0
- data/lib/ecoportal/api/graphql/builder/action.rb +41 -41
- data/lib/ecoportal/api/graphql/builder/contractor_entity.rb +10 -0
- data/lib/ecoportal/api/graphql/builder/location_structure/draft.rb +64 -64
- data/lib/ecoportal/api/graphql/builder/location_structure.rb +40 -40
- data/lib/ecoportal/api/graphql/builder/page.rb +0 -16
- data/lib/ecoportal/api/graphql/builder/register/preset_view.rb +84 -84
- data/lib/ecoportal/api/graphql/builder/register.rb +49 -49
- data/lib/ecoportal/api/graphql/builder/template.rb +18 -0
- data/lib/ecoportal/api/graphql/compat/filter_translator.rb +1 -1
- data/lib/ecoportal/api/graphql/compat/page_reference.rb +23 -23
- data/lib/ecoportal/api/graphql/compat/pages.rb +7 -2
- data/lib/ecoportal/api/graphql/compat/registers.rb +84 -84
- data/lib/ecoportal/api/graphql/compat/response.rb +14 -0
- data/lib/ecoportal/api/graphql/compat/search_results.rb +33 -33
- data/lib/ecoportal/api/graphql/compat.rb +17 -17
- data/lib/ecoportal/api/graphql/concerns/data_field_access.rb +71 -71
- data/lib/ecoportal/api/graphql/concerns/fragment_definitions.rb +68 -68
- data/lib/ecoportal/api/graphql/concerns/snake_camel_access.rb +60 -60
- data/lib/ecoportal/api/graphql/concerns/threadable.rb +58 -0
- data/lib/ecoportal/api/graphql/concerns.rb +1 -0
- data/lib/ecoportal/api/graphql/connection/action.rb +1 -1
- data/lib/ecoportal/api/graphql/connection/action_category.rb +1 -1
- data/lib/ecoportal/api/graphql/connection/activity.rb +11 -0
- data/lib/ecoportal/api/graphql/connection/activity_log.rb +11 -0
- data/lib/ecoportal/api/graphql/connection/auth_log.rb +11 -0
- data/lib/ecoportal/api/graphql/connection/contractor_entity.rb +1 -1
- data/lib/ecoportal/api/graphql/connection/minimal_dashboard.rb +11 -0
- data/lib/ecoportal/api/graphql/connection/page.rb +1 -1
- data/lib/ecoportal/api/graphql/connection/pages_workflow_command.rb +1 -1
- data/lib/ecoportal/api/graphql/connection/person_member.rb +1 -1
- data/lib/ecoportal/api/graphql/connection/person_member_changelog.rb +11 -0
- data/lib/ecoportal/api/graphql/connection/preset_view.rb +11 -11
- data/lib/ecoportal/api/graphql/connection/preview_page.rb +1 -1
- data/lib/ecoportal/api/graphql/connection.rb +5 -0
- data/lib/ecoportal/api/graphql/diff/pairing/signals.rb +21 -1
- data/lib/ecoportal/api/graphql/error/locations_error/fetch_nested.rb +51 -51
- data/lib/ecoportal/api/graphql/error/locations_error.rb +28 -28
- data/lib/ecoportal/api/graphql/error/locations_validation_error.rb +20 -20
- data/lib/ecoportal/api/graphql/error/validation_errors.rb +28 -28
- data/lib/ecoportal/api/graphql/error.rb +12 -12
- data/lib/ecoportal/api/graphql/file_upload/client.rb +198 -139
- data/lib/ecoportal/api/graphql/file_upload.rb +10 -10
- data/lib/ecoportal/api/graphql/fragment/action.rb +65 -65
- data/lib/ecoportal/api/graphql/fragment/action_category.rb +17 -17
- data/lib/ecoportal/api/graphql/fragment/activity.rb +84 -0
- data/lib/ecoportal/api/graphql/fragment/activity_log.rb +75 -0
- data/lib/ecoportal/api/graphql/fragment/auth_log.rb +29 -0
- data/lib/ecoportal/api/graphql/fragment/authorization_result.rb +14 -0
- data/lib/ecoportal/api/graphql/fragment/contractor_entity.rb +20 -20
- data/lib/ecoportal/api/graphql/fragment/location_node.rb +1 -0
- data/lib/ecoportal/api/graphql/fragment/locations_error.rb +19 -19
- data/lib/ecoportal/api/graphql/fragment/minimal_dashboard.rb +31 -0
- data/lib/ecoportal/api/graphql/fragment/pages/common_page_union.rb +21 -0
- data/lib/ecoportal/api/graphql/fragment/pages.rb +15 -15
- data/lib/ecoportal/api/graphql/fragment/pagination.rb +17 -17
- data/lib/ecoportal/api/graphql/fragment/permissions.rb +98 -0
- data/lib/ecoportal/api/graphql/fragment/person_member_changelog.rb +33 -0
- data/lib/ecoportal/api/graphql/fragment.rb +7 -0
- data/lib/ecoportal/api/graphql/helpers/locations_tree.rb +41 -41
- data/lib/ecoportal/api/graphql/helpers.rb +10 -10
- data/lib/ecoportal/api/graphql/input/action/archive.rb +14 -14
- data/lib/ecoportal/api/graphql/input/action/create.rb +13 -13
- data/lib/ecoportal/api/graphql/input/action/update.rb +12 -0
- data/lib/ecoportal/api/graphql/input/action.rb +14 -14
- data/lib/ecoportal/api/graphql/input/contractor_entity/create.rb +14 -14
- data/lib/ecoportal/api/graphql/input/contractor_entity/destroy.rb +13 -13
- data/lib/ecoportal/api/graphql/input/contractor_entity/manager_settings.rb +20 -0
- data/lib/ecoportal/api/graphql/input/contractor_entity/update.rb +6 -27
- data/lib/ecoportal/api/graphql/input/contractor_entity.rb +1 -0
- data/lib/ecoportal/api/graphql/input/date_range.rb +16 -0
- data/lib/ecoportal/api/graphql/input/delta_input.rb +16 -16
- data/lib/ecoportal/api/graphql/input/id_diff.rb +11 -11
- data/lib/ecoportal/api/graphql/input/location_structure/apply_commands.rb +2 -2
- data/lib/ecoportal/api/graphql/input/location_structure/archive_command.rb +13 -13
- data/lib/ecoportal/api/graphql/input/location_structure/delete_command.rb +13 -13
- data/lib/ecoportal/api/graphql/input/location_structure/draft/add_commands.rb +2 -2
- data/lib/ecoportal/api/graphql/input/location_structure/draft/create.rb +15 -15
- data/lib/ecoportal/api/graphql/input/location_structure/draft/delete.rb +15 -15
- data/lib/ecoportal/api/graphql/input/location_structure/draft/drop_bad_commands.rb +16 -16
- data/lib/ecoportal/api/graphql/input/location_structure/draft/publish.rb +16 -16
- data/lib/ecoportal/api/graphql/input/location_structure/draft.rb +19 -19
- data/lib/ecoportal/api/graphql/input/location_structure/insert_command.rb +13 -13
- data/lib/ecoportal/api/graphql/input/location_structure/move_command.rb +14 -14
- data/lib/ecoportal/api/graphql/input/location_structure/reorder_command.rb +13 -13
- data/lib/ecoportal/api/graphql/input/location_structure/unarchive_command.rb +13 -13
- data/lib/ecoportal/api/graphql/input/location_structure/update_command.rb +6 -2
- data/lib/ecoportal/api/graphql/input/location_structure.rb +20 -20
- data/lib/ecoportal/api/graphql/input/page/archive.rb +14 -14
- data/lib/ecoportal/api/graphql/input/page/build_from_template.rb +13 -13
- data/lib/ecoportal/api/graphql/input/page/create_draft.rb +13 -13
- data/lib/ecoportal/api/graphql/input/page/create_from_template.rb +18 -18
- data/lib/ecoportal/api/graphql/input/page/delete_draft.rb +13 -13
- data/lib/ecoportal/api/graphql/input/page/publish_draft.rb +13 -13
- data/lib/ecoportal/api/graphql/input/page/review_task.rb +14 -14
- data/lib/ecoportal/api/graphql/input/page/unarchive.rb +14 -14
- data/lib/ecoportal/api/graphql/input/page/update.rb +2 -2
- data/lib/ecoportal/api/graphql/input/page.rb +26 -26
- data/lib/ecoportal/api/graphql/input/preset_view/create.rb +18 -18
- data/lib/ecoportal/api/graphql/input/preset_view/permission.rb +16 -16
- data/lib/ecoportal/api/graphql/input/preset_view/update.rb +17 -2
- data/lib/ecoportal/api/graphql/input/preset_view.rb +14 -14
- data/lib/ecoportal/api/graphql/input/register/create.rb +18 -18
- data/lib/ecoportal/api/graphql/input/register/update.rb +15 -15
- data/lib/ecoportal/api/graphql/input/register.rb +13 -13
- data/lib/ecoportal/api/graphql/input/search.rb +13 -13
- data/lib/ecoportal/api/graphql/input/search_conf/ai_generator.rb +234 -234
- data/lib/ecoportal/api/graphql/input/search_conf.rb +1 -1
- data/lib/ecoportal/api/graphql/input/search_filter.rb +12 -12
- data/lib/ecoportal/api/graphql/input/search_sorter.rb +11 -11
- data/lib/ecoportal/api/graphql/input/workflow_command/add_action_tag.rb +18 -18
- data/lib/ecoportal/api/graphql/input/workflow_command/add_binding.rb +18 -18
- data/lib/ecoportal/api/graphql/input/workflow_command/add_checklist_field_item.rb +19 -0
- data/lib/ecoportal/api/graphql/input/workflow_command/add_comment_tagging_user_group.rb +18 -18
- data/lib/ecoportal/api/graphql/input/workflow_command/add_default_direct_strategy_user.rb +18 -18
- data/lib/ecoportal/api/graphql/input/workflow_command/add_default_strategy.rb +18 -18
- data/lib/ecoportal/api/graphql/input/workflow_command/add_direct_strategy_user.rb +18 -18
- data/lib/ecoportal/api/graphql/input/workflow_command/add_force.rb +18 -18
- data/lib/ecoportal/api/graphql/input/workflow_command/add_linked_field_config.rb +23 -23
- data/lib/ecoportal/api/graphql/input/workflow_command/add_linked_helper.rb +18 -18
- data/lib/ecoportal/api/graphql/input/workflow_command/add_operation.rb +18 -18
- data/lib/ecoportal/api/graphql/input/workflow_command/add_operation_direct_strategy_user.rb +18 -18
- data/lib/ecoportal/api/graphql/input/workflow_command/add_operation_strategy.rb +18 -18
- data/lib/ecoportal/api/graphql/input/workflow_command/add_recipient_action_type.rb +18 -18
- data/lib/ecoportal/api/graphql/input/workflow_command/add_recipient_filter.rb +18 -18
- data/lib/ecoportal/api/graphql/input/workflow_command/add_recipient_people_field.rb +18 -18
- data/lib/ecoportal/api/graphql/input/workflow_command/add_recipient_task_config.rb +18 -18
- data/lib/ecoportal/api/graphql/input/workflow_command/add_recipient_user.rb +18 -18
- data/lib/ecoportal/api/graphql/input/workflow_command/add_scheduled_callback.rb +23 -23
- data/lib/ecoportal/api/graphql/input/workflow_command/add_scheduled_callback_action.rb +18 -18
- data/lib/ecoportal/api/graphql/input/workflow_command/add_section.rb +18 -18
- data/lib/ecoportal/api/graphql/input/workflow_command/add_select_field_option.rb +19 -19
- data/lib/ecoportal/api/graphql/input/workflow_command/add_smart_fill_config.rb +23 -0
- data/lib/ecoportal/api/graphql/input/workflow_command/add_stage.rb +3 -2
- data/lib/ecoportal/api/graphql/input/workflow_command/add_stage_section.rb +18 -18
- data/lib/ecoportal/api/graphql/input/workflow_command/add_stage_tag.rb +18 -18
- data/lib/ecoportal/api/graphql/input/workflow_command/add_strategy.rb +18 -18
- data/lib/ecoportal/api/graphql/input/workflow_command/add_task.rb +18 -18
- data/lib/ecoportal/api/graphql/input/workflow_command/add_task_assignment_user_group.rb +18 -18
- data/lib/ecoportal/api/graphql/input/workflow_command/add_viewable_field.rb +45 -0
- data/lib/ecoportal/api/graphql/input/workflow_command/add_workflow_callback.rb +18 -18
- data/lib/ecoportal/api/graphql/input/workflow_command/archive_public_config.rb +19 -0
- data/lib/ecoportal/api/graphql/input/workflow_command/collapse_section.rb +18 -18
- data/lib/ecoportal/api/graphql/input/workflow_command/create_public_config.rb +19 -0
- data/lib/ecoportal/api/graphql/input/workflow_command/edit_binding.rb +18 -18
- data/lib/ecoportal/api/graphql/input/workflow_command/edit_checklist_field_item.rb +19 -0
- data/lib/ecoportal/api/graphql/input/workflow_command/edit_creator_permissions.rb +18 -18
- data/lib/ecoportal/api/graphql/input/workflow_command/edit_default_strategy.rb +18 -18
- data/lib/ecoportal/api/graphql/input/workflow_command/edit_field_configuration.rb +12 -2
- data/lib/ecoportal/api/graphql/input/workflow_command/edit_force.rb +18 -18
- data/lib/ecoportal/api/graphql/input/workflow_command/edit_gauge_field_stop.rb +19 -19
- data/lib/ecoportal/api/graphql/input/workflow_command/edit_linked_field_config.rb +19 -19
- data/lib/ecoportal/api/graphql/input/workflow_command/edit_linked_helper.rb +18 -18
- data/lib/ecoportal/api/graphql/input/workflow_command/edit_operation.rb +18 -18
- data/lib/ecoportal/api/graphql/input/workflow_command/edit_operation_strategy.rb +18 -18
- data/lib/ecoportal/api/graphql/input/workflow_command/edit_public_config.rb +19 -0
- data/lib/ecoportal/api/graphql/input/workflow_command/edit_reminder.rb +18 -18
- data/lib/ecoportal/api/graphql/input/workflow_command/edit_required_sign_offs.rb +18 -18
- data/lib/ecoportal/api/graphql/input/workflow_command/edit_restrict_comment_tagging.rb +18 -18
- data/lib/ecoportal/api/graphql/input/workflow_command/edit_restrict_task_assignment.rb +18 -18
- data/lib/ecoportal/api/graphql/input/workflow_command/edit_scheduled_callback.rb +22 -22
- data/lib/ecoportal/api/graphql/input/workflow_command/edit_section_header.rb +18 -18
- data/lib/ecoportal/api/graphql/input/workflow_command/edit_select_field_option.rb +19 -19
- data/lib/ecoportal/api/graphql/input/workflow_command/edit_smart_fill_config.rb +21 -0
- data/lib/ecoportal/api/graphql/input/workflow_command/edit_stage.rb +18 -18
- data/lib/ecoportal/api/graphql/input/workflow_command/edit_strategy.rb +18 -18
- data/lib/ecoportal/api/graphql/input/workflow_command/edit_task_due.rb +18 -18
- data/lib/ecoportal/api/graphql/input/workflow_command/edit_template_advanced_settings.rb +19 -0
- data/lib/ecoportal/api/graphql/input/workflow_command/edit_template_basic_settings.rb +27 -0
- data/lib/ecoportal/api/graphql/input/workflow_command/edit_template_container_uid.rb +45 -0
- data/lib/ecoportal/api/graphql/input/workflow_command/{edit_page_creator_permissions.rb → edit_template_creator_permissions.rb} +3 -2
- data/lib/ecoportal/api/graphql/input/workflow_command/edit_template_descriptions.rb +19 -0
- data/lib/ecoportal/api/graphql/input/workflow_command/edit_trigger.rb +18 -18
- data/lib/ecoportal/api/graphql/input/workflow_command/expand_section.rb +18 -18
- data/lib/ecoportal/api/graphql/input/workflow_command/field_config/action_list.rb +31 -0
- data/lib/ecoportal/api/graphql/input/workflow_command/field_config/contractor_entities.rb +24 -24
- data/lib/ecoportal/api/graphql/input/workflow_command/field_config/cross_reference.rb +3 -1
- data/lib/ecoportal/api/graphql/input/workflow_command/field_config/date.rb +15 -2
- data/lib/ecoportal/api/graphql/input/workflow_command/field_config/file.rb +21 -0
- data/lib/ecoportal/api/graphql/input/workflow_command/field_config/gauge.rb +20 -20
- data/lib/ecoportal/api/graphql/input/workflow_command/field_config/image_gallery.rb +3 -2
- data/lib/ecoportal/api/graphql/input/workflow_command/field_config/location_field.rb +24 -24
- data/lib/ecoportal/api/graphql/input/workflow_command/field_config/people.rb +27 -3
- data/lib/ecoportal/api/graphql/input/workflow_command/field_config/plain_text.rb +3 -2
- data/lib/ecoportal/api/graphql/input/workflow_command/field_config/rich_text.rb +3 -2
- data/lib/ecoportal/api/graphql/input/workflow_command/field_config/select.rb +3 -2
- data/lib/ecoportal/api/graphql/input/workflow_command/field_config/signature.rb +20 -20
- data/lib/ecoportal/api/graphql/input/workflow_command/field_config/table.rb +25 -25
- data/lib/ecoportal/api/graphql/input/workflow_command/move_field.rb +3 -2
- data/lib/ecoportal/api/graphql/input/workflow_command/move_stage.rb +18 -18
- data/lib/ecoportal/api/graphql/input/workflow_command/move_viewable_field.rb +33 -0
- data/lib/ecoportal/api/graphql/input/workflow_command/remove_action_tag.rb +18 -18
- data/lib/ecoportal/api/graphql/input/workflow_command/remove_binding.rb +18 -18
- data/lib/ecoportal/api/graphql/input/workflow_command/remove_callback.rb +18 -18
- data/lib/ecoportal/api/graphql/input/workflow_command/remove_checklist_field_item.rb +19 -0
- data/lib/ecoportal/api/graphql/input/workflow_command/remove_comment_tagging_user_group.rb +18 -18
- data/lib/ecoportal/api/graphql/input/workflow_command/remove_default_direct_strategy_user.rb +18 -18
- data/lib/ecoportal/api/graphql/input/workflow_command/remove_default_strategy.rb +18 -18
- data/lib/ecoportal/api/graphql/input/workflow_command/remove_direct_strategy_user.rb +18 -18
- data/lib/ecoportal/api/graphql/input/workflow_command/remove_field.rb +18 -18
- data/lib/ecoportal/api/graphql/input/workflow_command/remove_force.rb +18 -18
- data/lib/ecoportal/api/graphql/input/workflow_command/remove_linked_helper.rb +18 -18
- data/lib/ecoportal/api/graphql/input/workflow_command/remove_operation.rb +18 -18
- data/lib/ecoportal/api/graphql/input/workflow_command/remove_operation_direct_strategy_user.rb +18 -18
- data/lib/ecoportal/api/graphql/input/workflow_command/remove_operation_strategy.rb +18 -18
- data/lib/ecoportal/api/graphql/input/workflow_command/remove_recipient_action_type.rb +18 -18
- data/lib/ecoportal/api/graphql/input/workflow_command/remove_recipient_filter.rb +18 -18
- data/lib/ecoportal/api/graphql/input/workflow_command/remove_recipient_people_field.rb +18 -18
- data/lib/ecoportal/api/graphql/input/workflow_command/remove_recipient_task_config.rb +18 -18
- data/lib/ecoportal/api/graphql/input/workflow_command/remove_recipient_user.rb +18 -18
- data/lib/ecoportal/api/graphql/input/workflow_command/remove_scheduled_callback.rb +18 -18
- data/lib/ecoportal/api/graphql/input/workflow_command/remove_section.rb +18 -18
- data/lib/ecoportal/api/graphql/input/workflow_command/remove_smart_fill_config.rb +19 -0
- data/lib/ecoportal/api/graphql/input/workflow_command/remove_stage.rb +18 -18
- data/lib/ecoportal/api/graphql/input/workflow_command/remove_stage_section.rb +18 -18
- data/lib/ecoportal/api/graphql/input/workflow_command/remove_stage_tag.rb +18 -18
- data/lib/ecoportal/api/graphql/input/workflow_command/remove_strategy.rb +18 -18
- data/lib/ecoportal/api/graphql/input/workflow_command/remove_task.rb +18 -18
- data/lib/ecoportal/api/graphql/input/workflow_command/remove_task_assignment_user_group.rb +18 -18
- data/lib/ecoportal/api/graphql/input/workflow_command/remove_task_due.rb +18 -18
- data/lib/ecoportal/api/graphql/input/workflow_command/remove_task_priority_level.rb +18 -18
- data/lib/ecoportal/api/graphql/input/workflow_command/remove_viewable_field.rb +21 -0
- data/lib/ecoportal/api/graphql/input/workflow_command/reorder_forces.rb +3 -2
- data/lib/ecoportal/api/graphql/input/workflow_command/reorder_section.rb +3 -2
- data/lib/ecoportal/api/graphql/input/workflow_command.rb +43 -5
- data/lib/ecoportal/api/graphql/input.rb +1 -0
- data/lib/ecoportal/api/graphql/interface/base_page.rb +36 -3
- data/lib/ecoportal/api/graphql/interface/location_structure/command.rb +2 -1
- data/lib/ecoportal/api/graphql/interface/location_structure/node.rb +43 -43
- data/lib/ecoportal/api/graphql/interface/location_structure.rb +14 -14
- data/lib/ecoportal/api/graphql/interface.rb +11 -11
- data/lib/ecoportal/api/graphql/logic/base_model.rb +15 -15
- data/lib/ecoportal/api/graphql/logic/base_query.rb +193 -193
- data/lib/ecoportal/api/graphql/logic/connection.rb +17 -0
- data/lib/ecoportal/api/graphql/logic/input.rb +127 -0
- data/lib/ecoportal/api/graphql/logic/mutation.rb +59 -59
- data/lib/ecoportal/api/graphql/logic/payload.rb +42 -42
- data/lib/ecoportal/api/graphql/logic/query.rb +23 -23
- data/lib/ecoportal/api/graphql/logic/query_array.rb +30 -30
- data/lib/ecoportal/api/graphql/logic/query_connection.rb +48 -48
- data/lib/ecoportal/api/graphql/logic.rb +18 -18
- data/lib/ecoportal/api/graphql/model/account.rb +15 -15
- data/lib/ecoportal/api/graphql/model/action.rb +22 -22
- data/lib/ecoportal/api/graphql/model/action_event.rb +14 -0
- data/lib/ecoportal/api/graphql/model/action_event_page.rb +10 -0
- data/lib/ecoportal/api/graphql/model/activity.rb +14 -0
- data/lib/ecoportal/api/graphql/model/activity_log.rb +31 -0
- data/lib/ecoportal/api/graphql/model/ai_summary_version.rb +10 -10
- data/lib/ecoportal/api/graphql/model/auth_log.rb +11 -0
- data/lib/ecoportal/api/graphql/model/authorization_result.rb +12 -0
- data/lib/ecoportal/api/graphql/model/contractor_entity.rb +12 -12
- data/lib/ecoportal/api/graphql/model/field.rb +10 -10
- data/lib/ecoportal/api/graphql/model/file_attachment.rb +10 -10
- data/lib/ecoportal/api/graphql/model/file_container.rb +11 -11
- data/lib/ecoportal/api/graphql/model/location_node.rb +14 -14
- data/lib/ecoportal/api/graphql/model/location_structure/draft/structure.rb +15 -15
- data/lib/ecoportal/api/graphql/model/location_structure/draft.rb +15 -15
- data/lib/ecoportal/api/graphql/model/location_structure.rb +16 -16
- data/lib/ecoportal/api/graphql/model/minimal_dashboard.rb +14 -0
- data/lib/ecoportal/api/graphql/model/organization.rb +27 -0
- data/lib/ecoportal/api/graphql/model/page/basic.rb +14 -14
- data/lib/ecoportal/api/graphql/model/page/data_field.rb +12 -12
- data/lib/ecoportal/api/graphql/model/page/phased/stage.rb +14 -14
- data/lib/ecoportal/api/graphql/model/page/section.rb +12 -12
- data/lib/ecoportal/api/graphql/model/page_union.rb +21 -21
- data/lib/ecoportal/api/graphql/model/pages_workflow.rb +20 -20
- data/lib/ecoportal/api/graphql/model/permissions.rb +179 -0
- data/lib/ecoportal/api/graphql/model/person_member.rb +7 -0
- data/lib/ecoportal/api/graphql/model/person_member_changelog.rb +15 -0
- data/lib/ecoportal/api/graphql/model/preset_view.rb +10 -10
- data/lib/ecoportal/api/graphql/model/preview_page.rb +10 -10
- data/lib/ecoportal/api/graphql/model/register.rb +10 -10
- data/lib/ecoportal/api/graphql/model/resource.rb +13 -13
- data/lib/ecoportal/api/graphql/model/user.rb +14 -14
- data/lib/ecoportal/api/graphql/model.rb +9 -0
- data/lib/ecoportal/api/graphql/mutation/action/archive.rb +41 -41
- data/lib/ecoportal/api/graphql/mutation/action/create.rb +40 -40
- data/lib/ecoportal/api/graphql/mutation/action/update.rb +40 -40
- data/lib/ecoportal/api/graphql/mutation/action.rb +14 -14
- data/lib/ecoportal/api/graphql/mutation/ai_summary/generate.rb +21 -11
- data/lib/ecoportal/api/graphql/mutation/ai_summary/submit_feedback.rb +26 -11
- data/lib/ecoportal/api/graphql/mutation/ai_summary.rb +13 -13
- data/lib/ecoportal/api/graphql/mutation/contractor_entity/create.rb +40 -40
- data/lib/ecoportal/api/graphql/mutation/contractor_entity/destroy.rb +40 -40
- data/lib/ecoportal/api/graphql/mutation/contractor_entity/update.rb +40 -40
- data/lib/ecoportal/api/graphql/mutation/contractor_entity/update_manager_settings.rb +37 -0
- data/lib/ecoportal/api/graphql/mutation/contractor_entity.rb +1 -0
- data/lib/ecoportal/api/graphql/mutation/file_container/upload.rb +78 -0
- data/lib/ecoportal/api/graphql/mutation/file_container.rb +15 -0
- data/lib/ecoportal/api/graphql/mutation/location_structure/apply_commands.rb +54 -54
- data/lib/ecoportal/api/graphql/mutation/location_structure/draft/add_commands.rb +55 -55
- data/lib/ecoportal/api/graphql/mutation/location_structure/draft/create.rb +54 -54
- data/lib/ecoportal/api/graphql/mutation/location_structure/draft/delete.rb +43 -43
- data/lib/ecoportal/api/graphql/mutation/location_structure/draft/drop_bad_commands.rb +56 -56
- data/lib/ecoportal/api/graphql/mutation/location_structure/draft/publish.rb +66 -66
- data/lib/ecoportal/api/graphql/mutation/location_structure/draft.rb +18 -18
- data/lib/ecoportal/api/graphql/mutation/location_structure.rb +13 -13
- data/lib/ecoportal/api/graphql/mutation/page/approve_review_task.rb +1 -1
- data/lib/ecoportal/api/graphql/mutation/page/archive.rb +40 -40
- data/lib/ecoportal/api/graphql/mutation/page/batch_update_review_task.rb +1 -1
- data/lib/ecoportal/api/graphql/mutation/page/build_from_template.rb +50 -50
- data/lib/ecoportal/api/graphql/mutation/page/create_draft.rb +1 -1
- data/lib/ecoportal/api/graphql/mutation/page/create_from_template.rb +43 -43
- data/lib/ecoportal/api/graphql/mutation/page/delete_draft.rb +1 -1
- data/lib/ecoportal/api/graphql/mutation/page/publish_draft.rb +1 -1
- data/lib/ecoportal/api/graphql/mutation/page/reject_review_task.rb +1 -1
- data/lib/ecoportal/api/graphql/mutation/page/restart_review_task.rb +1 -1
- data/lib/ecoportal/api/graphql/mutation/page/unarchive.rb +40 -40
- data/lib/ecoportal/api/graphql/mutation/page/undo_review_task.rb +1 -1
- data/lib/ecoportal/api/graphql/mutation/page/update.rb +40 -40
- data/lib/ecoportal/api/graphql/mutation/page.rb +28 -28
- data/lib/ecoportal/api/graphql/mutation/preset_view/create.rb +35 -35
- data/lib/ecoportal/api/graphql/mutation/preset_view/destroy.rb +1 -1
- data/lib/ecoportal/api/graphql/mutation/preset_view/permission.rb +37 -37
- data/lib/ecoportal/api/graphql/mutation/preset_view/update.rb +35 -35
- data/lib/ecoportal/api/graphql/mutation/preset_view.rb +15 -15
- data/lib/ecoportal/api/graphql/mutation/register/create.rb +35 -35
- data/lib/ecoportal/api/graphql/mutation/register/destroy.rb +1 -1
- data/lib/ecoportal/api/graphql/mutation/register/update.rb +35 -35
- data/lib/ecoportal/api/graphql/mutation/register.rb +14 -14
- data/lib/ecoportal/api/graphql/mutation/template/update_related_page.rb +79 -0
- data/lib/ecoportal/api/graphql/mutation/template.rb +1 -0
- data/lib/ecoportal/api/graphql/mutation.rb +1 -1
- data/lib/ecoportal/api/graphql/payload/action/archive.rb +13 -13
- data/lib/ecoportal/api/graphql/payload/action/create.rb +13 -13
- data/lib/ecoportal/api/graphql/payload/action/update.rb +13 -13
- data/lib/ecoportal/api/graphql/payload/action.rb +14 -14
- data/lib/ecoportal/api/graphql/payload/ai_summary_generate.rb +12 -12
- data/lib/ecoportal/api/graphql/payload/contractor_entity/create.rb +13 -13
- data/lib/ecoportal/api/graphql/payload/contractor_entity/destroy.rb +12 -12
- data/lib/ecoportal/api/graphql/payload/contractor_entity/manager_settings.rb +20 -0
- data/lib/ecoportal/api/graphql/payload/contractor_entity/update.rb +12 -12
- data/lib/ecoportal/api/graphql/payload/contractor_entity.rb +1 -0
- data/lib/ecoportal/api/graphql/payload/location_structure/apply_commands.rb +51 -51
- data/lib/ecoportal/api/graphql/payload/location_structure/command_execution_result.rb +50 -50
- data/lib/ecoportal/api/graphql/payload/location_structure/draft/add_commands.rb +30 -30
- data/lib/ecoportal/api/graphql/payload/location_structure/draft/delete.rb +30 -30
- data/lib/ecoportal/api/graphql/payload/location_structure/draft/drop_bad_commands.rb +43 -43
- data/lib/ecoportal/api/graphql/payload/location_structure/draft/publish.rb +63 -63
- data/lib/ecoportal/api/graphql/payload/location_structure/draft.rb +18 -18
- data/lib/ecoportal/api/graphql/payload/location_structure.rb +14 -14
- data/lib/ecoportal/api/graphql/payload/ok_payload.rb +1 -1
- data/lib/ecoportal/api/graphql/payload/page/archive.rb +13 -13
- data/lib/ecoportal/api/graphql/payload/page/build_from_template.rb +13 -13
- data/lib/ecoportal/api/graphql/payload/page/create_from_template.rb +13 -13
- data/lib/ecoportal/api/graphql/payload/page/draft.rb +1 -1
- data/lib/ecoportal/api/graphql/payload/page/review_task.rb +1 -1
- data/lib/ecoportal/api/graphql/payload/page/unarchive.rb +13 -13
- data/lib/ecoportal/api/graphql/payload/page/update.rb +13 -13
- data/lib/ecoportal/api/graphql/payload/preset_view.rb +1 -1
- data/lib/ecoportal/api/graphql/payload/register.rb +1 -1
- data/lib/ecoportal/api/graphql/payload/template/update_related_page.rb +15 -0
- data/lib/ecoportal/api/graphql/payload/template.rb +1 -0
- data/lib/ecoportal/api/graphql/payload/upload.rb +12 -0
- data/lib/ecoportal/api/graphql/payload.rb +1 -0
- data/lib/ecoportal/api/graphql/query/action.rb +33 -33
- data/lib/ecoportal/api/graphql/query/action_categories.rb +53 -53
- data/lib/ecoportal/api/graphql/query/actions.rb +43 -43
- data/lib/ecoportal/api/graphql/query/activity_logs.rb +78 -0
- data/lib/ecoportal/api/graphql/query/auth_logs.rb +51 -0
- data/lib/ecoportal/api/graphql/query/contractor_entities.rb +53 -53
- data/lib/ecoportal/api/graphql/query/dashboard_search.rb +57 -0
- data/lib/ecoportal/api/graphql/query/file_upload_signature.rb +76 -76
- data/lib/ecoportal/api/graphql/query/location_classifications.rb +39 -39
- data/lib/ecoportal/api/graphql/query/location_structure.rb +2 -0
- data/lib/ecoportal/api/graphql/query/location_structures.rb +2 -0
- data/lib/ecoportal/api/graphql/query/page.rb +6 -1
- data/lib/ecoportal/api/graphql/query/page_activities.rb +56 -0
- data/lib/ecoportal/api/graphql/query/page_delta.rb +47 -47
- data/lib/ecoportal/api/graphql/query/pages.rb +59 -59
- data/lib/ecoportal/api/graphql/query/permissions.rb +35 -0
- data/lib/ecoportal/api/graphql/query/person_member_changelogs.rb +53 -0
- data/lib/ecoportal/api/graphql/query/register_preset_views.rb +1 -1
- data/lib/ecoportal/api/graphql/query/register_preview_pages.rb +83 -83
- data/lib/ecoportal/api/graphql/query/templates.rb +53 -53
- data/lib/ecoportal/api/graphql/query.rb +6 -0
- data/lib/ecoportal/api/graphql_version.rb +1 -1
- data/lib/ecoportal/api-graphql.rb +10 -10
- metadata +78 -12
- data/lib/ecoportal/api/graphql/input/workflow_command/edit_page.rb +0 -28
- data/lib/ecoportal/api/graphql/mutation/smart_fill/generate.rb +0 -36
- data/lib/ecoportal/api/graphql/mutation/smart_fill/submit_feedback.rb +0 -40
- data/lib/ecoportal/api/graphql/mutation/smart_fill.rb +0 -13
|
@@ -5,11 +5,146 @@ module Ecoportal
|
|
|
5
5
|
# A register preset view — saved column/sort/filter configuration for previewPages.
|
|
6
6
|
# Scripts use the id as `presetViewId` in register.previewPages queries.
|
|
7
7
|
class PresetView < Logic::BaseModel
|
|
8
|
+
# `fieldConfigurations` is a passarray (leaf) invisible to the default
|
|
9
|
+
# DiffService; LeafDiffService detects it as a full-set replace, which is what
|
|
10
|
+
# makes a columns-only change reach `#as_input` at all (before it, the array was
|
|
11
|
+
# dropped from the flat diff and no mutation was issued). The read-key/shape
|
|
12
|
+
# conversion that change then needs is handled below — the GAP-P1 that comment
|
|
13
|
+
# referred to as a separate pending converter is closed by it.
|
|
14
|
+
# See Diffable::LeafDiffService.
|
|
15
|
+
DIFF_CLASS = Ecoportal::API::Common::GraphQL::Model::Diffable::LeafDiffService
|
|
16
|
+
|
|
17
|
+
# READ key vs WRITE key — and, on update, read SHAPE vs write SHAPE.
|
|
18
|
+
#
|
|
19
|
+
# The API RETURNS the collection as `fieldConfigurations`, a plain list (see the
|
|
20
|
+
# `passarray` below — that stays as-is, consumers read it). The mutations call it
|
|
21
|
+
# `fieldConfigs`, and the two mutations do NOT agree on its shape. Schema-verified
|
|
22
|
+
# against the live introspection dump (20260730):
|
|
23
|
+
#
|
|
24
|
+
# CreatePresetViewInput.fieldConfigs : [FieldConfigurationInput!]!
|
|
25
|
+
# UpdatePresetViewInput.fieldConfigs : FieldConfigurationOneToManyInput!
|
|
26
|
+
# { additions:, deletions:, updates: }
|
|
27
|
+
#
|
|
28
|
+
# Both are NON_NULL with no default value — i.e. REQUIRED on every call — while the
|
|
29
|
+
# `FieldConfigurationOneToManyInput` members each default to `[]`, so `{}` is a
|
|
30
|
+
# valid no-op value for an update that does not touch the columns.
|
|
31
|
+
#
|
|
32
|
+
# Emitting the read key `fieldConfigurations` is an unknown-argument error, and
|
|
33
|
+
# emitting the read LIST under `fieldConfigs` is a type error: either one rejects
|
|
34
|
+
# the WHOLE mutation, a `name`-only edit included.
|
|
35
|
+
#
|
|
36
|
+
# `#as_input` emits the UPDATE shape. `Logic::Mutation#as_input` hands a read model
|
|
37
|
+
# straight to `model.as_input` without telling it which mutation it feeds, and the
|
|
38
|
+
# only model-driven path is `register.preset_view.update`: a read model carries an
|
|
39
|
+
# `id`, which `CreatePresetViewInput` does not even accept. Create is built from a
|
|
40
|
+
# caller-supplied Hash (see Builder::Register::PresetView) whose `fieldConfigs` is
|
|
41
|
+
# already the plain array the schema wants — it needs no conversion.
|
|
42
|
+
READ_KEY = 'fieldConfigurations'.freeze
|
|
43
|
+
|
|
44
|
+
# The fields `FieldConfigurationInput` accepts (same dump). The read nodes also
|
|
45
|
+
# carry `__typename` — the read side is a union, see Fragment::FieldConfiguration —
|
|
46
|
+
# which the input type does NOT accept, so nodes are whitelisted through this list
|
|
47
|
+
# rather than passed along verbatim.
|
|
48
|
+
FIELD_CONFIG_INPUT_KEYS = %i[
|
|
49
|
+
id key name weight dataFieldLabel type showTime valueToShow mode displayUid
|
|
50
|
+
].freeze
|
|
51
|
+
|
|
8
52
|
passkey :id
|
|
9
53
|
passthrough :name, :registerId
|
|
10
54
|
passboolean :global
|
|
11
55
|
passarray :fieldConfigurations
|
|
12
56
|
passthrough :sorter # { key:, direction:, missing: }
|
|
57
|
+
|
|
58
|
+
class << self
|
|
59
|
+
# Turns a raw mutation-input diff into a valid `UpdatePresetViewInput`: drops the
|
|
60
|
+
# read key and sets `fieldConfigs` to the one-to-many delta.
|
|
61
|
+
#
|
|
62
|
+
# Idempotent — the read key is deleted and the delta is recomputed from
|
|
63
|
+
# `doc`/`original_doc`, so a second application yields the same Hash. That is what
|
|
64
|
+
# makes it safe for both seams (`#as_input` and `Input::PresetView::Update
|
|
65
|
+
# .from_model`) to call it on the same Hash.
|
|
66
|
+
#
|
|
67
|
+
# @param model [PresetView] the subject (read) model.
|
|
68
|
+
# @param input [Hash, nil] the mutation input hash so far (nil when nothing in the
|
|
69
|
+
# flat diff changed).
|
|
70
|
+
# @return [Hash, nil] +input+ with a schema-valid `fieldConfigs`, or nil when
|
|
71
|
+
# neither the flat diff nor the columns changed (no mutation to send).
|
|
72
|
+
def build_update_input(model, input)
|
|
73
|
+
return input unless model.respond_to?(:field_configs_delta)
|
|
74
|
+
|
|
75
|
+
delta = model.field_configs_delta
|
|
76
|
+
return input if input.nil? && delta.empty?
|
|
77
|
+
|
|
78
|
+
input ||= {}
|
|
79
|
+
input.delete(:fieldConfigurations)
|
|
80
|
+
input.delete(READ_KEY)
|
|
81
|
+
input[:id] ||= model.id if model.respond_to?(:id)
|
|
82
|
+
input[:fieldConfigs] = delta
|
|
83
|
+
input
|
|
84
|
+
end
|
|
85
|
+
|
|
86
|
+
# @param node [Hash] one `fieldConfigurations` read node.
|
|
87
|
+
# @return [Hash] the node reduced to the keys `FieldConfigurationInput` accepts,
|
|
88
|
+
# symbol-keyed. Keys the read selection did not ask for are simply absent.
|
|
89
|
+
def field_config_input(node)
|
|
90
|
+
FIELD_CONFIG_INPUT_KEYS.each_with_object({}) do |key, out|
|
|
91
|
+
str = key.to_s
|
|
92
|
+
out[key] = node[str] if node.key?(str)
|
|
93
|
+
out[key] = node[key] if node.key?(key)
|
|
94
|
+
end
|
|
95
|
+
end
|
|
96
|
+
end
|
|
97
|
+
|
|
98
|
+
# The `FieldConfigurationOneToManyInput` delta between the server baseline
|
|
99
|
+
# (`original_doc`) and the current `doc`, matched on the config `id`:
|
|
100
|
+
# `additions` = nodes with no known id, `deletions` = baseline ids that are gone,
|
|
101
|
+
# `updates` = known nodes whose (input-visible) content changed. Empty members are
|
|
102
|
+
# omitted, so an untouched collection yields `{}` — the valid no-op.
|
|
103
|
+
#
|
|
104
|
+
# Computed DIRECTLY from the docs rather than from the flat diff, for the same
|
|
105
|
+
# reason as {Logic::Input::IdDiffFields}: `passarray` leaves are dropped by the
|
|
106
|
+
# cascaded DiffService.
|
|
107
|
+
#
|
|
108
|
+
# @return [Hash] `{ additions:, deletions:, updates: }`, empty members omitted.
|
|
109
|
+
def field_configs_delta
|
|
110
|
+
current = field_config_nodes(doc)
|
|
111
|
+
original = field_config_nodes(original_doc)
|
|
112
|
+
known = original.filter_map {|node| node[:id]}
|
|
113
|
+
|
|
114
|
+
additions = current.reject {|node| node[:id] && known.include?(node[:id])}
|
|
115
|
+
updates = (current - additions) - original
|
|
116
|
+
deletions = known - current.filter_map {|node| node[:id]}
|
|
117
|
+
|
|
118
|
+
{}.tap do |delta|
|
|
119
|
+
delta[:additions] = additions unless additions.empty?
|
|
120
|
+
delta[:deletions] = deletions unless deletions.empty?
|
|
121
|
+
delta[:updates] = updates unless updates.empty?
|
|
122
|
+
end
|
|
123
|
+
end
|
|
124
|
+
|
|
125
|
+
# Mutation input for this preset view, shaped for `updatePresetView`.
|
|
126
|
+
# @see .build_update_input
|
|
127
|
+
def as_input(target_class: nil, clientMutationId: '')
|
|
128
|
+
input = self.class.build_update_input(self, super)
|
|
129
|
+
return input if input.nil? || target_class
|
|
130
|
+
|
|
131
|
+
# `super` merges it only when it built the Hash itself; a columns-only change
|
|
132
|
+
# synthesises the Hash here, so keep the wire payload identical either way.
|
|
133
|
+
input[:clientMutationId] = clientMutationId.to_s unless input.key?(:clientMutationId)
|
|
134
|
+
input
|
|
135
|
+
end
|
|
136
|
+
|
|
137
|
+
private
|
|
138
|
+
|
|
139
|
+
# @param source_doc [Hash, nil] `doc` or `original_doc`.
|
|
140
|
+
# @return [Array<Hash>] the read nodes, each reduced to input-accepted keys.
|
|
141
|
+
def field_config_nodes(source_doc)
|
|
142
|
+
return [] if source_doc.nil?
|
|
143
|
+
|
|
144
|
+
Array(source_doc[READ_KEY]).
|
|
145
|
+
grep(Hash).
|
|
146
|
+
map {|node| self.class.field_config_input(node)}
|
|
147
|
+
end
|
|
13
148
|
end
|
|
14
149
|
end
|
|
15
150
|
end
|
|
@@ -1,23 +1,23 @@
|
|
|
1
|
-
module Ecoportal
|
|
2
|
-
module API
|
|
3
|
-
class GraphQL
|
|
4
|
-
module Base
|
|
5
|
-
# Elasticsearch-backed preview of a page, returned by register.previewPages.
|
|
6
|
-
# Read-only. No patchVer, no typed data field models, no field IDs.
|
|
7
|
-
# Use for fast metadata lookup only — switch to org search (pages) for full data.
|
|
8
|
-
class PreviewPage < Logic::BaseModel
|
|
9
|
-
read_only!
|
|
10
|
-
|
|
11
|
-
passkey :id
|
|
12
|
-
passthrough :uid, :name, :state, :archived
|
|
13
|
-
passthrough :creatorName, :externalId
|
|
14
|
-
passdate :createdAt, :updatedAt
|
|
15
|
-
|
|
16
|
-
# locations, dataFields, stages returned as raw arrays — typed access not needed
|
|
17
|
-
# for a read-only ES-backed preview model. Use org search for typed field access.
|
|
18
|
-
passarray :locations, :dataFields, :stages, :tags
|
|
19
|
-
end
|
|
20
|
-
end
|
|
21
|
-
end
|
|
22
|
-
end
|
|
23
|
-
end
|
|
1
|
+
module Ecoportal
|
|
2
|
+
module API
|
|
3
|
+
class GraphQL
|
|
4
|
+
module Base
|
|
5
|
+
# Elasticsearch-backed preview of a page, returned by register.previewPages.
|
|
6
|
+
# Read-only. No patchVer, no typed data field models, no field IDs.
|
|
7
|
+
# Use for fast metadata lookup only — switch to org search (pages) for full data.
|
|
8
|
+
class PreviewPage < Logic::BaseModel
|
|
9
|
+
read_only!
|
|
10
|
+
|
|
11
|
+
passkey :id
|
|
12
|
+
passthrough :uid, :name, :state, :archived
|
|
13
|
+
passthrough :creatorName, :externalId
|
|
14
|
+
passdate :createdAt, :updatedAt
|
|
15
|
+
|
|
16
|
+
# locations, dataFields, stages returned as raw arrays — typed access not needed
|
|
17
|
+
# for a read-only ES-backed preview model. Use org search for typed field access.
|
|
18
|
+
passarray :locations, :dataFields, :stages, :tags
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
|
@@ -1,8 +1,13 @@
|
|
|
1
|
-
module Ecoportal
|
|
1
|
+
module Ecoportal
|
|
2
2
|
module API
|
|
3
3
|
class GraphQL
|
|
4
4
|
module Base
|
|
5
5
|
class Register < Logic::BaseModel
|
|
6
|
+
# `filterTags` is a passarray (leaf) that the default DiffService cannot
|
|
7
|
+
# diff; LeafDiffService detects it as a full-set replace. See
|
|
8
|
+
# Diffable::LeafDiffService.
|
|
9
|
+
DIFF_CLASS = Ecoportal::API::Common::GraphQL::Model::Diffable::LeafDiffService
|
|
10
|
+
|
|
6
11
|
passkey :id
|
|
7
12
|
passthrough :name, :iconName, :moduleType, :registerStatus
|
|
8
13
|
passthrough :descriptionText, :descriptionImageUrl
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
module Ecoportal
|
|
2
|
-
module API
|
|
3
|
-
class GraphQL
|
|
4
|
-
module Base
|
|
5
|
-
class Resource < Logic::BaseModel
|
|
6
|
-
passkey :id
|
|
7
|
-
passthrough :fieldId, :pageId
|
|
8
|
-
passarray :stageIds
|
|
9
|
-
end
|
|
10
|
-
end
|
|
11
|
-
end
|
|
12
|
-
end
|
|
13
|
-
end
|
|
1
|
+
module Ecoportal
|
|
2
|
+
module API
|
|
3
|
+
class GraphQL
|
|
4
|
+
module Base
|
|
5
|
+
class Resource < Logic::BaseModel
|
|
6
|
+
passkey :id
|
|
7
|
+
passthrough :fieldId, :pageId
|
|
8
|
+
passarray :stageIds
|
|
9
|
+
end
|
|
10
|
+
end
|
|
11
|
+
end
|
|
12
|
+
end
|
|
13
|
+
end
|
|
@@ -20,13 +20,22 @@ require_relative 'base/page'
|
|
|
20
20
|
require_relative 'base/resource'
|
|
21
21
|
require_relative 'base/action_category'
|
|
22
22
|
require_relative 'base/action'
|
|
23
|
+
require_relative 'base/action_event_page'
|
|
24
|
+
require_relative 'base/action_event'
|
|
23
25
|
require_relative 'base/contractor_entity'
|
|
24
26
|
require_relative 'base/preview_page'
|
|
25
27
|
require_relative 'base/delta_result'
|
|
28
|
+
require_relative 'base/authorization_result'
|
|
29
|
+
require_relative 'base/permissions'
|
|
30
|
+
require_relative 'base/activity'
|
|
31
|
+
require_relative 'base/activity_log'
|
|
32
|
+
require_relative 'base/auth_log'
|
|
33
|
+
require_relative 'base/person_member_changelog'
|
|
26
34
|
require_relative 'base/organization'
|
|
27
35
|
|
|
28
36
|
require_relative 'base/register'
|
|
29
37
|
require_relative 'base/preset_view'
|
|
38
|
+
require_relative 'base/minimal_dashboard'
|
|
30
39
|
|
|
31
40
|
require_relative 'base/ai_summary_version'
|
|
32
41
|
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
# builder
|
|
2
|
+
|
|
3
|
+
Façade classes that group related mutations (and occasional queries) under a single object.
|
|
4
|
+
Consumers interact with builders rather than instantiating `Logic::Mutation` / `Logic::Query`
|
|
5
|
+
subclasses directly.
|
|
6
|
+
|
|
7
|
+
## Contents
|
|
8
|
+
|
|
9
|
+
| File / class | Exposed from `GraphQL` as | Purpose |
|
|
10
|
+
|---|---|---|
|
|
11
|
+
| `action.rb` / `Builder::Action` | `GraphQL#action` | `create`, `update`, `archive` — wraps `Mutation::Action::*` |
|
|
12
|
+
| `contractor_entity.rb` / `Builder::ContractorEntity` | `GraphQL#contractorEntity` | `create`, `update`, `destroy` — wraps `Mutation::ContractorEntity::*` |
|
|
13
|
+
| `location_structure.rb` / `Builder::LocationStructure` | `GraphQL#locationStructure` | `nodeClassifications` (query), `applyCommandsInput`, `applyCommands`, `draft` sub-builder |
|
|
14
|
+
| `location_structure/draft.rb` / `Builder::LocationStructure::Draft` | via `locationStructure.draft` | Location structure draft mutations |
|
|
15
|
+
| `page.rb` / `Builder::Page` | `GraphQL#page` | Full page lifecycle: `update`, `archive`, `unarchive`, `build_from_template`, `create_from_template`, `create_draft`, `delete_draft`, `publish_draft`, `approve/reject/restart/undo/batch_update_review_task`, `execute_workflow_commands` (new), `execute_force_commands` (deprecated) |
|
|
16
|
+
| `register.rb` / `Builder::Register` | *(not yet exposed)* | **Stub** — all methods commented out. No `Mutation::Register::*` classes exist yet. See TODO below. |
|
|
17
|
+
|
|
18
|
+
## How builders are exposed
|
|
19
|
+
|
|
20
|
+
All active builders are wired in `lib/ecoportal/api/graphql.rb` as instance methods:
|
|
21
|
+
|
|
22
|
+
```ruby
|
|
23
|
+
def page
|
|
24
|
+
Builder::Page.new(client)
|
|
25
|
+
end
|
|
26
|
+
def action
|
|
27
|
+
Builder::Action.new(client)
|
|
28
|
+
end
|
|
29
|
+
# etc.
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
`registers` (note: plural, lowercase) returns `Compat::Registers`, **not** `Builder::Register`.
|
|
33
|
+
`Builder::Register` is a stub and is not yet wired into the top-level class.
|
|
34
|
+
|
|
35
|
+
## Builder::Register — TODO
|
|
36
|
+
|
|
37
|
+
`builder/register.rb` contains a stub class with all methods commented out.
|
|
38
|
+
Before it can be implemented:
|
|
39
|
+
|
|
40
|
+
1. Research which Register mutations exist in the schema (`createRegister`,
|
|
41
|
+
`updateRegister`, `archiveRegister`, etc.) — none are currently documented
|
|
42
|
+
in `.ai-assistance/code/ecoportal_schema_reference.md`.
|
|
43
|
+
2. Create `Mutation::Register::*` + `Input::Register::*` + `Payload::Register::*`
|
|
44
|
+
following the pattern of `Mutation::Page::*`.
|
|
45
|
+
3. Expose `Builder::Register` from `GraphQL#register` (distinct from `#registers`
|
|
46
|
+
which is the compat search layer).
|
|
47
|
+
|
|
48
|
+
Until then, register mutation callers must instantiate `Mutation::Register::*` directly
|
|
49
|
+
(none exist yet), or use `Compat::Registers` for search.
|
|
50
|
+
|
|
51
|
+
## Conventions
|
|
52
|
+
|
|
53
|
+
- One builder per domain entity. Sub-builders (e.g. `LocationStructure::Draft`) are
|
|
54
|
+
nested under their parent builder's folder and exposed via a method on the parent.
|
|
55
|
+
- Builder methods are snake_case public API; private helper methods are camelCase
|
|
56
|
+
(matching the existing convention: `updateMutation`, `archiveMutation`, etc.).
|
|
57
|
+
- Builders never hold state — each method instantiates a fresh mutation/query object.
|
|
58
|
+
- Builders do not implement pagination; callers use `QueryConnection#each` for that.
|
|
59
|
+
|
|
60
|
+
## Related
|
|
61
|
+
|
|
62
|
+
- `../mutation/` — concrete mutation classes that builders delegate to
|
|
63
|
+
- `../query/` — concrete query classes (some builders also expose query shortcuts)
|
|
64
|
+
- `../compat/` — v2-compatible layer (`Compat::Pages`, `Compat::Registers`) that
|
|
65
|
+
wraps builders + queries with an eco-helpers-compatible interface
|
|
@@ -1,41 +1,41 @@
|
|
|
1
|
-
module Ecoportal
|
|
2
|
-
module API
|
|
3
|
-
class GraphQL
|
|
4
|
-
module Builder
|
|
5
|
-
class Action
|
|
6
|
-
attr_reader :client
|
|
7
|
-
|
|
8
|
-
def initialize(client)
|
|
9
|
-
@client = client
|
|
10
|
-
end
|
|
11
|
-
|
|
12
|
-
def archive(**kargs, &block)
|
|
13
|
-
archiveMutation.query(**kargs, &block)
|
|
14
|
-
end
|
|
15
|
-
|
|
16
|
-
def update(**kargs, &block)
|
|
17
|
-
updateMutation.query(**kargs, &block)
|
|
18
|
-
end
|
|
19
|
-
|
|
20
|
-
def create(**kargs, &block)
|
|
21
|
-
createMutation.query(**kargs, &block)
|
|
22
|
-
end
|
|
23
|
-
|
|
24
|
-
private
|
|
25
|
-
|
|
26
|
-
def archiveMutation
|
|
27
|
-
Mutation::Action::Archive.new(client)
|
|
28
|
-
end
|
|
29
|
-
|
|
30
|
-
def updateMutation
|
|
31
|
-
Mutation::Action::Update.new(client)
|
|
32
|
-
end
|
|
33
|
-
|
|
34
|
-
def createMutation
|
|
35
|
-
Mutation::Action::Create.new(client)
|
|
36
|
-
end
|
|
37
|
-
end
|
|
38
|
-
end
|
|
39
|
-
end
|
|
40
|
-
end
|
|
41
|
-
end
|
|
1
|
+
module Ecoportal
|
|
2
|
+
module API
|
|
3
|
+
class GraphQL
|
|
4
|
+
module Builder
|
|
5
|
+
class Action
|
|
6
|
+
attr_reader :client
|
|
7
|
+
|
|
8
|
+
def initialize(client)
|
|
9
|
+
@client = client
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
def archive(**kargs, &block)
|
|
13
|
+
archiveMutation.query(**kargs, &block)
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
def update(**kargs, &block)
|
|
17
|
+
updateMutation.query(**kargs, &block)
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
def create(**kargs, &block)
|
|
21
|
+
createMutation.query(**kargs, &block)
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
private
|
|
25
|
+
|
|
26
|
+
def archiveMutation
|
|
27
|
+
Mutation::Action::Archive.new(client)
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
def updateMutation
|
|
31
|
+
Mutation::Action::Update.new(client)
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
def createMutation
|
|
35
|
+
Mutation::Action::Create.new(client)
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
end
|
|
@@ -21,6 +21,12 @@ module Ecoportal
|
|
|
21
21
|
destroyMutation.query(**kargs, &block)
|
|
22
22
|
end
|
|
23
23
|
|
|
24
|
+
# updateContractorManagerSettings — auto-approval settings + whether
|
|
25
|
+
# contractor admins may add other admins. Returns the updated Organization.
|
|
26
|
+
def update_manager_settings(**kargs, &block)
|
|
27
|
+
updateManagerSettingsMutation.query(**kargs, &block)
|
|
28
|
+
end
|
|
29
|
+
|
|
24
30
|
private
|
|
25
31
|
|
|
26
32
|
def createMutation
|
|
@@ -34,6 +40,10 @@ module Ecoportal
|
|
|
34
40
|
def destroyMutation
|
|
35
41
|
Mutation::ContractorEntity::Destroy.new(client)
|
|
36
42
|
end
|
|
43
|
+
|
|
44
|
+
def updateManagerSettingsMutation
|
|
45
|
+
Mutation::ContractorEntity::UpdateManagerSettings.new(client)
|
|
46
|
+
end
|
|
37
47
|
end
|
|
38
48
|
end
|
|
39
49
|
end
|
|
@@ -1,64 +1,64 @@
|
|
|
1
|
-
module Ecoportal
|
|
2
|
-
module API
|
|
3
|
-
class GraphQL
|
|
4
|
-
module Builder
|
|
5
|
-
class LocationStructure
|
|
6
|
-
class Draft
|
|
7
|
-
attr_reader :client, :parent
|
|
8
|
-
|
|
9
|
-
def initialize(client, parent:)
|
|
10
|
-
@client = client
|
|
11
|
-
@parent = parent
|
|
12
|
-
end
|
|
13
|
-
|
|
14
|
-
def nodeClassifications(**kargs, &block)
|
|
15
|
-
parent.nodeClassifications(**kargs, &block)
|
|
16
|
-
end
|
|
17
|
-
|
|
18
|
-
def create(**kargs, &block)
|
|
19
|
-
createMutation.query(**kargs, &block)
|
|
20
|
-
end
|
|
21
|
-
|
|
22
|
-
def addCommands(**kargs, &block)
|
|
23
|
-
addCommandsMutation.query(**kargs, &block)
|
|
24
|
-
end
|
|
25
|
-
|
|
26
|
-
def delete(**kargs, &block)
|
|
27
|
-
deleteMutation.query(**kargs, &block)
|
|
28
|
-
end
|
|
29
|
-
|
|
30
|
-
def publish(**kargs, &block)
|
|
31
|
-
publishMutation.query(**kargs, &block)
|
|
32
|
-
end
|
|
33
|
-
|
|
34
|
-
def DropBadCommands(**kargs, &block)
|
|
35
|
-
dropBadCommandsMutation.query(**kargs, &block)
|
|
36
|
-
end
|
|
37
|
-
|
|
38
|
-
private
|
|
39
|
-
|
|
40
|
-
def createMutation
|
|
41
|
-
Mutation::LocationStructure::Draft::Create.new(client)
|
|
42
|
-
end
|
|
43
|
-
|
|
44
|
-
def addCommandsMutation
|
|
45
|
-
Mutation::LocationStructure::Draft::AddCommands.new(client)
|
|
46
|
-
end
|
|
47
|
-
|
|
48
|
-
def deleteMutation
|
|
49
|
-
Mutation::LocationStructure::Draft::Delete.new(client)
|
|
50
|
-
end
|
|
51
|
-
|
|
52
|
-
def publishMutation
|
|
53
|
-
Mutation::LocationStructure::Draft::Publish.new(client)
|
|
54
|
-
end
|
|
55
|
-
|
|
56
|
-
def dropBadCommandsMutation
|
|
57
|
-
Mutation::LocationStructure::Draft::DropBadCommands.new(client)
|
|
58
|
-
end
|
|
59
|
-
end
|
|
60
|
-
end
|
|
61
|
-
end
|
|
62
|
-
end
|
|
63
|
-
end
|
|
64
|
-
end
|
|
1
|
+
module Ecoportal
|
|
2
|
+
module API
|
|
3
|
+
class GraphQL
|
|
4
|
+
module Builder
|
|
5
|
+
class LocationStructure
|
|
6
|
+
class Draft
|
|
7
|
+
attr_reader :client, :parent
|
|
8
|
+
|
|
9
|
+
def initialize(client, parent:)
|
|
10
|
+
@client = client
|
|
11
|
+
@parent = parent
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
def nodeClassifications(**kargs, &block)
|
|
15
|
+
parent.nodeClassifications(**kargs, &block)
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
def create(**kargs, &block)
|
|
19
|
+
createMutation.query(**kargs, &block)
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
def addCommands(**kargs, &block)
|
|
23
|
+
addCommandsMutation.query(**kargs, &block)
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
def delete(**kargs, &block)
|
|
27
|
+
deleteMutation.query(**kargs, &block)
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
def publish(**kargs, &block)
|
|
31
|
+
publishMutation.query(**kargs, &block)
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
def DropBadCommands(**kargs, &block)
|
|
35
|
+
dropBadCommandsMutation.query(**kargs, &block)
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
private
|
|
39
|
+
|
|
40
|
+
def createMutation
|
|
41
|
+
Mutation::LocationStructure::Draft::Create.new(client)
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
def addCommandsMutation
|
|
45
|
+
Mutation::LocationStructure::Draft::AddCommands.new(client)
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
def deleteMutation
|
|
49
|
+
Mutation::LocationStructure::Draft::Delete.new(client)
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
def publishMutation
|
|
53
|
+
Mutation::LocationStructure::Draft::Publish.new(client)
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
def dropBadCommandsMutation
|
|
57
|
+
Mutation::LocationStructure::Draft::DropBadCommands.new(client)
|
|
58
|
+
end
|
|
59
|
+
end
|
|
60
|
+
end
|
|
61
|
+
end
|
|
62
|
+
end
|
|
63
|
+
end
|
|
64
|
+
end
|
|
@@ -1,40 +1,40 @@
|
|
|
1
|
-
module Ecoportal
|
|
2
|
-
module API
|
|
3
|
-
class GraphQL
|
|
4
|
-
module Builder
|
|
5
|
-
class LocationStructure
|
|
6
|
-
attr_reader :client
|
|
7
|
-
|
|
8
|
-
def initialize(client)
|
|
9
|
-
@client = client
|
|
10
|
-
end
|
|
11
|
-
|
|
12
|
-
def nodeClassifications(**kargs, &block)
|
|
13
|
-
query_model = Query::LocationClassifications.new(client)
|
|
14
|
-
query_model.query(**kargs, &block)
|
|
15
|
-
end
|
|
16
|
-
|
|
17
|
-
def applyCommandsInput
|
|
18
|
-
Input::LocationStructure::ApplyCommands.new
|
|
19
|
-
end
|
|
20
|
-
|
|
21
|
-
def applyCommands(**kargs, &block)
|
|
22
|
-
applyCommandsMutation.query(**kargs, &block)
|
|
23
|
-
end
|
|
24
|
-
|
|
25
|
-
def draft
|
|
26
|
-
LocationStructure::Draft.new(client, parent: self)
|
|
27
|
-
end
|
|
28
|
-
|
|
29
|
-
private
|
|
30
|
-
|
|
31
|
-
def applyCommandsMutation
|
|
32
|
-
Mutation::LocationStructure::ApplyCommands.new(client)
|
|
33
|
-
end
|
|
34
|
-
end
|
|
35
|
-
end
|
|
36
|
-
end
|
|
37
|
-
end
|
|
38
|
-
end
|
|
39
|
-
|
|
40
|
-
require_relative 'location_structure/draft'
|
|
1
|
+
module Ecoportal
|
|
2
|
+
module API
|
|
3
|
+
class GraphQL
|
|
4
|
+
module Builder
|
|
5
|
+
class LocationStructure
|
|
6
|
+
attr_reader :client
|
|
7
|
+
|
|
8
|
+
def initialize(client)
|
|
9
|
+
@client = client
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
def nodeClassifications(**kargs, &block)
|
|
13
|
+
query_model = Query::LocationClassifications.new(client)
|
|
14
|
+
query_model.query(**kargs, &block)
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
def applyCommandsInput
|
|
18
|
+
Input::LocationStructure::ApplyCommands.new
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
def applyCommands(**kargs, &block)
|
|
22
|
+
applyCommandsMutation.query(**kargs, &block)
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
def draft
|
|
26
|
+
LocationStructure::Draft.new(client, parent: self)
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
private
|
|
30
|
+
|
|
31
|
+
def applyCommandsMutation
|
|
32
|
+
Mutation::LocationStructure::ApplyCommands.new(client)
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
require_relative 'location_structure/draft'
|
|
@@ -105,14 +105,6 @@ module Ecoportal
|
|
|
105
105
|
submitAiSummaryFeedbackMutation.query(**kargs, &block)
|
|
106
106
|
end
|
|
107
107
|
|
|
108
|
-
def generate_smart_fill(**kargs, &block)
|
|
109
|
-
generateSmartFillMutation.query(**kargs, &block)
|
|
110
|
-
end
|
|
111
|
-
|
|
112
|
-
def submit_smart_fill_feedback(**kargs, &block)
|
|
113
|
-
submitSmartFillFeedbackMutation.query(**kargs, &block)
|
|
114
|
-
end
|
|
115
|
-
|
|
116
108
|
private
|
|
117
109
|
|
|
118
110
|
# Blank the page's externalId via updatePage (no patchVer needed — cleanup path).
|
|
@@ -184,14 +176,6 @@ module Ecoportal
|
|
|
184
176
|
Mutation::AiSummary::SubmitFeedback.new(client)
|
|
185
177
|
end
|
|
186
178
|
|
|
187
|
-
def generateSmartFillMutation
|
|
188
|
-
Mutation::SmartFill::Generate.new(client)
|
|
189
|
-
end
|
|
190
|
-
|
|
191
|
-
def submitSmartFillFeedbackMutation
|
|
192
|
-
Mutation::SmartFill::SubmitFeedback.new(client)
|
|
193
|
-
end
|
|
194
|
-
|
|
195
179
|
def executeWorkflowCommandsMutation
|
|
196
180
|
Mutation::Page::ExecuteWorkflowCommands.new(client)
|
|
197
181
|
end
|