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
|
@@ -1,84 +1,84 @@
|
|
|
1
|
-
module Ecoportal
|
|
2
|
-
module API
|
|
3
|
-
class GraphQL
|
|
4
|
-
module Builder
|
|
5
|
-
class Register
|
|
6
|
-
# Sub-builder for preset view operations within a register context.
|
|
7
|
-
# Access via: api.register.preset_view
|
|
8
|
-
#
|
|
9
|
-
# Usage:
|
|
10
|
-
# pv = api.register.preset_view
|
|
11
|
-
#
|
|
12
|
-
# # List preset views for a register (find IDs for presetViewId in searches)
|
|
13
|
-
# views = pv.list('REG_ID')
|
|
14
|
-
# views.map { |v| "#{v.name} (#{v.id}) global=#{v.global?}" }
|
|
15
|
-
#
|
|
16
|
-
# # Create a preset view
|
|
17
|
-
# pv.create(input: {
|
|
18
|
-
# registerId: 'REG_ID',
|
|
19
|
-
# name: 'Active Pages',
|
|
20
|
-
# customPresetView: true,
|
|
21
|
-
# fieldConfigs: [{ key: 'name', weight: 0 }, { key: 'state', weight: 1 }],
|
|
22
|
-
# sorter: { key: 'created_at', direction: 'desc' }
|
|
23
|
-
# })
|
|
24
|
-
#
|
|
25
|
-
# # Share with a user (view access)
|
|
26
|
-
# pv.permission(input: {
|
|
27
|
-
# id: 'VIEW_ID',
|
|
28
|
-
# permissions: [{ level: 'view', to: { userId: 'USER_ID' } }]
|
|
29
|
-
# })
|
|
30
|
-
class PresetView
|
|
31
|
-
attr_reader :client
|
|
32
|
-
|
|
33
|
-
def initialize(client)
|
|
34
|
-
@client = client
|
|
35
|
-
end
|
|
36
|
-
|
|
37
|
-
# List all preset views for a register. Returns an array of PresetView objects.
|
|
38
|
-
def list(register_id, search_conf: nil, &block)
|
|
39
|
-
Query::RegisterPresetViews.new(client).query(
|
|
40
|
-
registerId: register_id,
|
|
41
|
-
searchConf: search_conf,
|
|
42
|
-
&block
|
|
43
|
-
).nodes
|
|
44
|
-
end
|
|
45
|
-
|
|
46
|
-
def create(**kargs, &block)
|
|
47
|
-
createMutation.query(**kargs, &block)
|
|
48
|
-
end
|
|
49
|
-
|
|
50
|
-
def update(**kargs, &block)
|
|
51
|
-
updateMutation.query(**kargs, &block)
|
|
52
|
-
end
|
|
53
|
-
|
|
54
|
-
def permission(**kargs, &block)
|
|
55
|
-
permissionMutation.query(**kargs, &block)
|
|
56
|
-
end
|
|
57
|
-
|
|
58
|
-
def destroy(**kargs, &block)
|
|
59
|
-
destroyMutation.query(**kargs, &block)
|
|
60
|
-
end
|
|
61
|
-
|
|
62
|
-
private
|
|
63
|
-
|
|
64
|
-
def createMutation
|
|
65
|
-
Mutation::PresetView::Create.new(client)
|
|
66
|
-
end
|
|
67
|
-
|
|
68
|
-
def updateMutation
|
|
69
|
-
Mutation::PresetView::Update.new(client)
|
|
70
|
-
end
|
|
71
|
-
|
|
72
|
-
def permissionMutation
|
|
73
|
-
Mutation::PresetView::Permission.new(client)
|
|
74
|
-
end
|
|
75
|
-
|
|
76
|
-
def destroyMutation
|
|
77
|
-
Mutation::PresetView::Destroy.new(client)
|
|
78
|
-
end
|
|
79
|
-
end
|
|
80
|
-
end
|
|
81
|
-
end
|
|
82
|
-
end
|
|
83
|
-
end
|
|
84
|
-
end
|
|
1
|
+
module Ecoportal
|
|
2
|
+
module API
|
|
3
|
+
class GraphQL
|
|
4
|
+
module Builder
|
|
5
|
+
class Register
|
|
6
|
+
# Sub-builder for preset view operations within a register context.
|
|
7
|
+
# Access via: api.register.preset_view
|
|
8
|
+
#
|
|
9
|
+
# Usage:
|
|
10
|
+
# pv = api.register.preset_view
|
|
11
|
+
#
|
|
12
|
+
# # List preset views for a register (find IDs for presetViewId in searches)
|
|
13
|
+
# views = pv.list('REG_ID')
|
|
14
|
+
# views.map { |v| "#{v.name} (#{v.id}) global=#{v.global?}" }
|
|
15
|
+
#
|
|
16
|
+
# # Create a preset view
|
|
17
|
+
# pv.create(input: {
|
|
18
|
+
# registerId: 'REG_ID',
|
|
19
|
+
# name: 'Active Pages',
|
|
20
|
+
# customPresetView: true,
|
|
21
|
+
# fieldConfigs: [{ key: 'name', weight: 0 }, { key: 'state', weight: 1 }],
|
|
22
|
+
# sorter: { key: 'created_at', direction: 'desc' }
|
|
23
|
+
# })
|
|
24
|
+
#
|
|
25
|
+
# # Share with a user (view access)
|
|
26
|
+
# pv.permission(input: {
|
|
27
|
+
# id: 'VIEW_ID',
|
|
28
|
+
# permissions: [{ level: 'view', to: { userId: 'USER_ID' } }]
|
|
29
|
+
# })
|
|
30
|
+
class PresetView
|
|
31
|
+
attr_reader :client
|
|
32
|
+
|
|
33
|
+
def initialize(client)
|
|
34
|
+
@client = client
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
# List all preset views for a register. Returns an array of PresetView objects.
|
|
38
|
+
def list(register_id, search_conf: nil, &block)
|
|
39
|
+
Query::RegisterPresetViews.new(client).query(
|
|
40
|
+
registerId: register_id,
|
|
41
|
+
searchConf: search_conf,
|
|
42
|
+
&block
|
|
43
|
+
).nodes
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
def create(**kargs, &block)
|
|
47
|
+
createMutation.query(**kargs, &block)
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
def update(**kargs, &block)
|
|
51
|
+
updateMutation.query(**kargs, &block)
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
def permission(**kargs, &block)
|
|
55
|
+
permissionMutation.query(**kargs, &block)
|
|
56
|
+
end
|
|
57
|
+
|
|
58
|
+
def destroy(**kargs, &block)
|
|
59
|
+
destroyMutation.query(**kargs, &block)
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
private
|
|
63
|
+
|
|
64
|
+
def createMutation
|
|
65
|
+
Mutation::PresetView::Create.new(client)
|
|
66
|
+
end
|
|
67
|
+
|
|
68
|
+
def updateMutation
|
|
69
|
+
Mutation::PresetView::Update.new(client)
|
|
70
|
+
end
|
|
71
|
+
|
|
72
|
+
def permissionMutation
|
|
73
|
+
Mutation::PresetView::Permission.new(client)
|
|
74
|
+
end
|
|
75
|
+
|
|
76
|
+
def destroyMutation
|
|
77
|
+
Mutation::PresetView::Destroy.new(client)
|
|
78
|
+
end
|
|
79
|
+
end
|
|
80
|
+
end
|
|
81
|
+
end
|
|
82
|
+
end
|
|
83
|
+
end
|
|
84
|
+
end
|
|
@@ -1,49 +1,49 @@
|
|
|
1
|
-
module Ecoportal
|
|
2
|
-
module API
|
|
3
|
-
class GraphQL
|
|
4
|
-
module Builder
|
|
5
|
-
class Register
|
|
6
|
-
attr_reader :client
|
|
7
|
-
|
|
8
|
-
def initialize(client)
|
|
9
|
-
@client = client
|
|
10
|
-
end
|
|
11
|
-
|
|
12
|
-
# Register CRUD
|
|
13
|
-
def create(**kargs, &block)
|
|
14
|
-
createMutation.query(**kargs, &block)
|
|
15
|
-
end
|
|
16
|
-
|
|
17
|
-
def update(**kargs, &block)
|
|
18
|
-
updateMutation.query(**kargs, &block)
|
|
19
|
-
end
|
|
20
|
-
|
|
21
|
-
def destroy(**kargs, &block)
|
|
22
|
-
destroyMutation.query(**kargs, &block)
|
|
23
|
-
end
|
|
24
|
-
|
|
25
|
-
# Preset view sub-builder — list, create, update, permission, destroy
|
|
26
|
-
def preset_view
|
|
27
|
-
Register::PresetView.new(client)
|
|
28
|
-
end
|
|
29
|
-
|
|
30
|
-
private
|
|
31
|
-
|
|
32
|
-
def createMutation
|
|
33
|
-
Mutation::Register::Create.new(client)
|
|
34
|
-
end
|
|
35
|
-
|
|
36
|
-
def updateMutation
|
|
37
|
-
Mutation::Register::Update.new(client)
|
|
38
|
-
end
|
|
39
|
-
|
|
40
|
-
def destroyMutation
|
|
41
|
-
Mutation::Register::Destroy.new(client)
|
|
42
|
-
end
|
|
43
|
-
end
|
|
44
|
-
end
|
|
45
|
-
end
|
|
46
|
-
end
|
|
47
|
-
end
|
|
48
|
-
|
|
49
|
-
require_relative 'register/preset_view'
|
|
1
|
+
module Ecoportal
|
|
2
|
+
module API
|
|
3
|
+
class GraphQL
|
|
4
|
+
module Builder
|
|
5
|
+
class Register
|
|
6
|
+
attr_reader :client
|
|
7
|
+
|
|
8
|
+
def initialize(client)
|
|
9
|
+
@client = client
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
# Register CRUD
|
|
13
|
+
def create(**kargs, &block)
|
|
14
|
+
createMutation.query(**kargs, &block)
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
def update(**kargs, &block)
|
|
18
|
+
updateMutation.query(**kargs, &block)
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
def destroy(**kargs, &block)
|
|
22
|
+
destroyMutation.query(**kargs, &block)
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
# Preset view sub-builder — list, create, update, permission, destroy
|
|
26
|
+
def preset_view
|
|
27
|
+
Register::PresetView.new(client)
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
private
|
|
31
|
+
|
|
32
|
+
def createMutation
|
|
33
|
+
Mutation::Register::Create.new(client)
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
def updateMutation
|
|
37
|
+
Mutation::Register::Update.new(client)
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
def destroyMutation
|
|
41
|
+
Mutation::Register::Destroy.new(client)
|
|
42
|
+
end
|
|
43
|
+
end
|
|
44
|
+
end
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
require_relative 'register/preset_view'
|
|
@@ -40,6 +40,20 @@ module Ecoportal
|
|
|
40
40
|
)
|
|
41
41
|
end
|
|
42
42
|
|
|
43
|
+
# Edits an existing related-pages entry. Only the keys you pass are sent — absent keys
|
|
44
|
+
# are left alone server-side, so this is a partial update, not a replace.
|
|
45
|
+
def update_related_page(template_id:, id:, patch_ver:, title: nil, register_id: nil, filters: nil, &block)
|
|
46
|
+
updateRelatedPageMutation.query(
|
|
47
|
+
template_id: template_id,
|
|
48
|
+
id: id,
|
|
49
|
+
patch_ver: patch_ver,
|
|
50
|
+
title: title,
|
|
51
|
+
register_id: register_id,
|
|
52
|
+
filters: filters,
|
|
53
|
+
&block
|
|
54
|
+
)
|
|
55
|
+
end
|
|
56
|
+
|
|
43
57
|
def destroy_related_page(template_id:, id:, patch_ver:, &block)
|
|
44
58
|
destroyRelatedPageMutation.query(template_id: template_id, id: id, patch_ver: patch_ver, &block)
|
|
45
59
|
end
|
|
@@ -70,6 +84,10 @@ module Ecoportal
|
|
|
70
84
|
Mutation::Template::CreateRelatedPage.new(client)
|
|
71
85
|
end
|
|
72
86
|
|
|
87
|
+
def updateRelatedPageMutation
|
|
88
|
+
Mutation::Template::UpdateRelatedPage.new(client)
|
|
89
|
+
end
|
|
90
|
+
|
|
73
91
|
def destroyRelatedPageMutation
|
|
74
92
|
Mutation::Template::DestroyRelatedPage.new(client)
|
|
75
93
|
end
|
|
@@ -18,7 +18,7 @@ module Ecoportal
|
|
|
18
18
|
# tag_filter passed through (same ES backend, same format)
|
|
19
19
|
# register_filter passed through
|
|
20
20
|
# and_filter / or_filter passed through
|
|
21
|
-
# Operation/param shapes per
|
|
21
|
+
# Operation/param shapes per .ai-assistance/code/search_filters.md.
|
|
22
22
|
class FilterTranslator
|
|
23
23
|
class << self
|
|
24
24
|
def to_graphql(filter)
|
|
@@ -1,23 +1,23 @@
|
|
|
1
|
-
module Ecoportal
|
|
2
|
-
module API
|
|
3
|
-
class GraphQL
|
|
4
|
-
module Compat
|
|
5
|
-
# Returned by Compat::Pages#create — mirrors the v2 reference object.
|
|
6
|
-
# Scripts access .page_id and .active_stage_id after page creation.
|
|
7
|
-
class PageReference
|
|
8
|
-
attr_reader :page_id, :active_stage_id, :page
|
|
9
|
-
|
|
10
|
-
def initialize(page)
|
|
11
|
-
@page = page
|
|
12
|
-
@page_id = page.id
|
|
13
|
-
@active_stage_id = page.respond_to?(:current_stage_id) ? page.current_stage_id : nil
|
|
14
|
-
end
|
|
15
|
-
|
|
16
|
-
def success?
|
|
17
|
-
!@page_id.nil?
|
|
18
|
-
end
|
|
19
|
-
end
|
|
20
|
-
end
|
|
21
|
-
end
|
|
22
|
-
end
|
|
23
|
-
end
|
|
1
|
+
module Ecoportal
|
|
2
|
+
module API
|
|
3
|
+
class GraphQL
|
|
4
|
+
module Compat
|
|
5
|
+
# Returned by Compat::Pages#create — mirrors the v2 reference object.
|
|
6
|
+
# Scripts access .page_id and .active_stage_id after page creation.
|
|
7
|
+
class PageReference
|
|
8
|
+
attr_reader :page_id, :active_stage_id, :page
|
|
9
|
+
|
|
10
|
+
def initialize(page)
|
|
11
|
+
@page = page
|
|
12
|
+
@page_id = page.id
|
|
13
|
+
@active_stage_id = page.respond_to?(:current_stage_id) ? page.current_stage_id : nil
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
def success?
|
|
17
|
+
!@page_id.nil?
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
|
@@ -18,8 +18,13 @@ module Ecoportal
|
|
|
18
18
|
# Fetch a page by ID with full data — metadata, stages, sections, data fields.
|
|
19
19
|
# When stage_id is provided, wraps the result in a StageView that filters
|
|
20
20
|
# sections and components to that stage only — matching v2 per-stage behaviour.
|
|
21
|
-
|
|
22
|
-
|
|
21
|
+
# @param variables [Hash] optional CommonPageUnion document-variable overrides
|
|
22
|
+
# (`showHiddenData:`, `content:`, `only_content:`, `fields:`). `content: false`
|
|
23
|
+
# skips field values AND `attachedFiles` — the one selection preauthorized on the
|
|
24
|
+
# `files: download` ability — so structure-only readers (e.g. template tooling on a
|
|
25
|
+
# least-privilege account) can read pages without that grant.
|
|
26
|
+
def get(id, stage_id: nil, **variables)
|
|
27
|
+
page = Query::Page.new(@client).query(id: id, **variables) do
|
|
23
28
|
spread :CommonPageUnion
|
|
24
29
|
end
|
|
25
30
|
stage_id ? StageView.new(page, stage_id) : page
|
|
@@ -1,84 +1,84 @@
|
|
|
1
|
-
module Ecoportal
|
|
2
|
-
module API
|
|
3
|
-
class GraphQL
|
|
4
|
-
module Compat
|
|
5
|
-
# v2-compatible registers API backed by GraphQL register search.
|
|
6
|
-
# Scripts call: apiv2.registers.search(register_id, options) { |result| ... }
|
|
7
|
-
#
|
|
8
|
-
# With a block: yields each PreviewPage result (cursor-paginated).
|
|
9
|
-
# Without a block (or only_first: true): returns a SearchResults object
|
|
10
|
-
# with .total and .total_before_filtering.
|
|
11
|
-
#
|
|
12
|
-
# Filter translation:
|
|
13
|
-
# v2 date_filter { lbound:, ubound: } → GraphQL date_filter { gte:, lte: }
|
|
14
|
-
# v2 tag_filter { tags:, mode: } → passed through (same ES backend)
|
|
15
|
-
# SearchConf filter objects → passed through directly
|
|
16
|
-
class Registers
|
|
17
|
-
def initialize(client)
|
|
18
|
-
@client = client
|
|
19
|
-
end
|
|
20
|
-
|
|
21
|
-
# Options:
|
|
22
|
-
# sort: 'created_at' | 'updated_at'
|
|
23
|
-
# dir: 'asc' | 'desc'
|
|
24
|
-
# query: String (full-text search)
|
|
25
|
-
# filters: Array of filter objects or v2 filter hashes
|
|
26
|
-
# batch_size: Integer (results per request, default 20)
|
|
27
|
-
# include_archived: Boolean (default false)
|
|
28
|
-
# only_first: Boolean — return after first page (no block needed)
|
|
29
|
-
def search(register_id, options = {}, &block)
|
|
30
|
-
conf = build_search_conf(options)
|
|
31
|
-
first = options.fetch(:batch_size, 20)
|
|
32
|
-
query = Query::RegisterPreviewPages.new(@client)
|
|
33
|
-
|
|
34
|
-
args = {
|
|
35
|
-
registerId: register_id,
|
|
36
|
-
searchConf: conf.to_h,
|
|
37
|
-
includeArchived: options.fetch(:include_archived, false),
|
|
38
|
-
first: first
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
if block || !options[:only_first]
|
|
42
|
-
# Block mode: yield each result, stop if only_first
|
|
43
|
-
query.each(**args) do |result|
|
|
44
|
-
block&.call(result)
|
|
45
|
-
break if options[:only_first]
|
|
46
|
-
end
|
|
47
|
-
else
|
|
48
|
-
# No-block mode: return SearchResults with .total etc.
|
|
49
|
-
raw = query.query(**args)
|
|
50
|
-
SearchResults.new(raw)
|
|
51
|
-
end
|
|
52
|
-
end
|
|
53
|
-
|
|
54
|
-
private
|
|
55
|
-
|
|
56
|
-
def build_search_conf(options)
|
|
57
|
-
conf = Input::SearchConf.new
|
|
58
|
-
|
|
59
|
-
if (sort_key = options[:sort])
|
|
60
|
-
direction = options.fetch(:dir, 'desc').to_sym
|
|
61
|
-
conf.sort(sort_key.to_sym, direction)
|
|
62
|
-
end
|
|
63
|
-
|
|
64
|
-
conf.query(options[:query]) if options[:query]
|
|
65
|
-
|
|
66
|
-
Array(options[:filters]).compact.each do |filter|
|
|
67
|
-
conf.filter(translate_filter(filter))
|
|
68
|
-
end
|
|
69
|
-
|
|
70
|
-
conf
|
|
71
|
-
end
|
|
72
|
-
|
|
73
|
-
# Translates a v2-style filter hash to a GraphQL-compatible filter hash.
|
|
74
|
-
# SearchConf filter objects (respond to to_h and are not Hash) pass through.
|
|
75
|
-
# v2 date_filter: lbound/ubound → gte/lte
|
|
76
|
-
# Other v2 types (tag_filter etc.): passed through — same ES backend.
|
|
77
|
-
def translate_filter(filter)
|
|
78
|
-
FilterTranslator.to_graphql(filter)
|
|
79
|
-
end
|
|
80
|
-
end
|
|
81
|
-
end
|
|
82
|
-
end
|
|
83
|
-
end
|
|
84
|
-
end
|
|
1
|
+
module Ecoportal
|
|
2
|
+
module API
|
|
3
|
+
class GraphQL
|
|
4
|
+
module Compat
|
|
5
|
+
# v2-compatible registers API backed by GraphQL register search.
|
|
6
|
+
# Scripts call: apiv2.registers.search(register_id, options) { |result| ... }
|
|
7
|
+
#
|
|
8
|
+
# With a block: yields each PreviewPage result (cursor-paginated).
|
|
9
|
+
# Without a block (or only_first: true): returns a SearchResults object
|
|
10
|
+
# with .total and .total_before_filtering.
|
|
11
|
+
#
|
|
12
|
+
# Filter translation:
|
|
13
|
+
# v2 date_filter { lbound:, ubound: } → GraphQL date_filter { gte:, lte: }
|
|
14
|
+
# v2 tag_filter { tags:, mode: } → passed through (same ES backend)
|
|
15
|
+
# SearchConf filter objects → passed through directly
|
|
16
|
+
class Registers
|
|
17
|
+
def initialize(client)
|
|
18
|
+
@client = client
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
# Options:
|
|
22
|
+
# sort: 'created_at' | 'updated_at'
|
|
23
|
+
# dir: 'asc' | 'desc'
|
|
24
|
+
# query: String (full-text search)
|
|
25
|
+
# filters: Array of filter objects or v2 filter hashes
|
|
26
|
+
# batch_size: Integer (results per request, default 20)
|
|
27
|
+
# include_archived: Boolean (default false)
|
|
28
|
+
# only_first: Boolean — return after first page (no block needed)
|
|
29
|
+
def search(register_id, options = {}, &block)
|
|
30
|
+
conf = build_search_conf(options)
|
|
31
|
+
first = options.fetch(:batch_size, 20)
|
|
32
|
+
query = Query::RegisterPreviewPages.new(@client)
|
|
33
|
+
|
|
34
|
+
args = {
|
|
35
|
+
registerId: register_id,
|
|
36
|
+
searchConf: conf.to_h,
|
|
37
|
+
includeArchived: options.fetch(:include_archived, false),
|
|
38
|
+
first: first
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
if block || !options[:only_first]
|
|
42
|
+
# Block mode: yield each result, stop if only_first
|
|
43
|
+
query.each(**args) do |result|
|
|
44
|
+
block&.call(result)
|
|
45
|
+
break if options[:only_first]
|
|
46
|
+
end
|
|
47
|
+
else
|
|
48
|
+
# No-block mode: return SearchResults with .total etc.
|
|
49
|
+
raw = query.query(**args)
|
|
50
|
+
SearchResults.new(raw)
|
|
51
|
+
end
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
private
|
|
55
|
+
|
|
56
|
+
def build_search_conf(options)
|
|
57
|
+
conf = Input::SearchConf.new
|
|
58
|
+
|
|
59
|
+
if (sort_key = options[:sort])
|
|
60
|
+
direction = options.fetch(:dir, 'desc').to_sym
|
|
61
|
+
conf.sort(sort_key.to_sym, direction)
|
|
62
|
+
end
|
|
63
|
+
|
|
64
|
+
conf.query(options[:query]) if options[:query]
|
|
65
|
+
|
|
66
|
+
Array(options[:filters]).compact.each do |filter|
|
|
67
|
+
conf.filter(translate_filter(filter))
|
|
68
|
+
end
|
|
69
|
+
|
|
70
|
+
conf
|
|
71
|
+
end
|
|
72
|
+
|
|
73
|
+
# Translates a v2-style filter hash to a GraphQL-compatible filter hash.
|
|
74
|
+
# SearchConf filter objects (respond to to_h and are not Hash) pass through.
|
|
75
|
+
# v2 date_filter: lbound/ubound → gte/lte
|
|
76
|
+
# Other v2 types (tag_filter etc.): passed through — same ES backend.
|
|
77
|
+
def translate_filter(filter)
|
|
78
|
+
FilterTranslator.to_graphql(filter)
|
|
79
|
+
end
|
|
80
|
+
end
|
|
81
|
+
end
|
|
82
|
+
end
|
|
83
|
+
end
|
|
84
|
+
end
|
|
@@ -5,7 +5,21 @@ module Ecoportal
|
|
|
5
5
|
# Wraps a GraphQL mutation payload to expose the v2-compatible response interface.
|
|
6
6
|
# Scripts check .success? and .status after update/create operations.
|
|
7
7
|
class Response
|
|
8
|
+
# The payload contract this wrapper delegates to. Guarded at construction so a
|
|
9
|
+
# payload of the wrong shape fails LOUD here, instead of silently downstream.
|
|
10
|
+
# This is the class of drift behind the eco-helpers 3.2.19 KPI-counter
|
|
11
|
+
# regression, where a Compat::Response (duck-typed, not a Common::Response)
|
|
12
|
+
# slipped through an `is_a?` check and every GraphQL update went uncounted.
|
|
13
|
+
PAYLOAD_CONTRACT = %i[success? error? error_doc item].freeze
|
|
14
|
+
|
|
8
15
|
def initialize(payload)
|
|
16
|
+
missing = PAYLOAD_CONTRACT.reject { |meth| payload.respond_to?(meth) }
|
|
17
|
+
unless missing.empty?
|
|
18
|
+
raise ArgumentError,
|
|
19
|
+
"Compat::Response payload #{payload.class} does not honour the expected " \
|
|
20
|
+
"response contract; missing: #{missing.join(', ')}"
|
|
21
|
+
end
|
|
22
|
+
|
|
9
23
|
@payload = payload
|
|
10
24
|
end
|
|
11
25
|
|
|
@@ -1,33 +1,33 @@
|
|
|
1
|
-
module Ecoportal
|
|
2
|
-
module API
|
|
3
|
-
class GraphQL
|
|
4
|
-
module Compat
|
|
5
|
-
# Wraps a GraphQL connection object to expose the v2-compatible search
|
|
6
|
-
# result interface. eco-helpers scripts access:
|
|
7
|
-
# search_results.total — filtered count
|
|
8
|
-
# search_results.total_before_filtering — pre-filter count (approximated)
|
|
9
|
-
# (also Enumerable for iteration)
|
|
10
|
-
class SearchResults
|
|
11
|
-
include Enumerable
|
|
12
|
-
|
|
13
|
-
attr_reader :total, :total_before_filtering
|
|
14
|
-
|
|
15
|
-
def initialize(connection)
|
|
16
|
-
@total = connection.totalCount
|
|
17
|
-
# GraphQL does not expose a pre-filter count — use the same value.
|
|
18
|
-
@total_before_filtering = connection.totalCount
|
|
19
|
-
@nodes = connection.nodes
|
|
20
|
-
end
|
|
21
|
-
|
|
22
|
-
def each(&block)
|
|
23
|
-
@nodes.each(&block)
|
|
24
|
-
end
|
|
25
|
-
|
|
26
|
-
def empty?
|
|
27
|
-
@nodes.empty?
|
|
28
|
-
end
|
|
29
|
-
end
|
|
30
|
-
end
|
|
31
|
-
end
|
|
32
|
-
end
|
|
33
|
-
end
|
|
1
|
+
module Ecoportal
|
|
2
|
+
module API
|
|
3
|
+
class GraphQL
|
|
4
|
+
module Compat
|
|
5
|
+
# Wraps a GraphQL connection object to expose the v2-compatible search
|
|
6
|
+
# result interface. eco-helpers scripts access:
|
|
7
|
+
# search_results.total — filtered count
|
|
8
|
+
# search_results.total_before_filtering — pre-filter count (approximated)
|
|
9
|
+
# (also Enumerable for iteration)
|
|
10
|
+
class SearchResults
|
|
11
|
+
include Enumerable
|
|
12
|
+
|
|
13
|
+
attr_reader :total, :total_before_filtering
|
|
14
|
+
|
|
15
|
+
def initialize(connection)
|
|
16
|
+
@total = connection.totalCount
|
|
17
|
+
# GraphQL does not expose a pre-filter count — use the same value.
|
|
18
|
+
@total_before_filtering = connection.totalCount
|
|
19
|
+
@nodes = connection.nodes
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
def each(&block)
|
|
23
|
+
@nodes.each(&block)
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
def empty?
|
|
27
|
+
@nodes.empty?
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
module Ecoportal
|
|
2
|
-
module API
|
|
3
|
-
class GraphQL
|
|
4
|
-
module Compat
|
|
5
|
-
end
|
|
6
|
-
end
|
|
7
|
-
end
|
|
8
|
-
end
|
|
9
|
-
|
|
10
|
-
require_relative 'compat/filter_translator'
|
|
11
|
-
require_relative 'compat/stage_collection'
|
|
12
|
-
require_relative 'compat/search_results'
|
|
13
|
-
require_relative 'compat/page_reference'
|
|
14
|
-
require_relative 'compat/response'
|
|
15
|
-
require_relative 'compat/stage_view'
|
|
16
|
-
require_relative 'compat/pages'
|
|
17
|
-
require_relative 'compat/registers'
|
|
1
|
+
module Ecoportal
|
|
2
|
+
module API
|
|
3
|
+
class GraphQL
|
|
4
|
+
module Compat
|
|
5
|
+
end
|
|
6
|
+
end
|
|
7
|
+
end
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
require_relative 'compat/filter_translator'
|
|
11
|
+
require_relative 'compat/stage_collection'
|
|
12
|
+
require_relative 'compat/search_results'
|
|
13
|
+
require_relative 'compat/page_reference'
|
|
14
|
+
require_relative 'compat/response'
|
|
15
|
+
require_relative 'compat/stage_view'
|
|
16
|
+
require_relative 'compat/pages'
|
|
17
|
+
require_relative 'compat/registers'
|