ecoportal-api-graphql 1.3.16 → 2.2.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 +746 -6
- data/LICENSE +21 -21
- data/README.md +24 -24
- 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/http_client.rb +85 -2
- 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/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/contractor_entities.rb +26 -3
- 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 +47 -8
- 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/stage.rb +51 -0
- 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 +136 -1
- 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/template/change_log_entry.rb +118 -0
- data/lib/ecoportal/api/graphql/base/template.rb +2 -0
- data/lib/ecoportal/api/graphql/base.rb +9 -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 +46 -0
- data/lib/ecoportal/api/graphql/builder/template_builder.rb +21 -2
- 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/template_change_log.rb +19 -0
- data/lib/ecoportal/api/graphql/connection.rb +6 -0
- data/lib/ecoportal/api/graphql/diff/change.rb +7 -2
- data/lib/ecoportal/api/graphql/diff/command_synthesizer.rb +19 -1
- data/lib/ecoportal/api/graphql/diff/pairing/signals.rb +21 -1
- data/lib/ecoportal/api/graphql/diff/version_diff.rb +13 -6
- 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 +199 -140
- 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/page.rb +1 -0
- data/lib/ecoportal/api/graphql/fragment/pages/common_page_union.rb +23 -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/template_change_log.rb +102 -0
- data/lib/ecoportal/api/graphql/fragment.rb +8 -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 +21 -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 +27 -14
- data/lib/ecoportal/api/graphql/input/page/unarchive.rb +14 -14
- 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_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_field.rb +10 -9
- 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 +25 -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 +17 -2
- data/lib/ecoportal/api/graphql/input/workflow_command/edit_force.rb +21 -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 +23 -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 +32 -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 +28 -24
- data/lib/ecoportal/api/graphql/input/workflow_command/field_config/cross_reference.rb +9 -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 +9 -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/manage_copy_page_configuration.rb +47 -0
- 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 +46 -5
- data/lib/ecoportal/api/graphql/input.rb +1 -0
- data/lib/ecoportal/api/graphql/interface/base_page.rb +50 -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 +260 -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 +36 -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/phased.rb +17 -0
- 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/template/change_log_entry.rb +19 -0
- data/lib/ecoportal/api/graphql/model/template.rb +4 -1
- 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/kickstand/bulk_update_jobs.rb +2 -2
- data/lib/ecoportal/api/graphql/payload/kickstand/bulk_update_workflows.rb +2 -2
- 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/person_members.rb +76 -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/template_change_log.rb +118 -0
- data/lib/ecoportal/api/graphql/query/templates.rb +53 -53
- data/lib/ecoportal/api/graphql/query.rb +8 -0
- data/lib/ecoportal/api/graphql_version.rb +1 -1
- data/lib/ecoportal/api-graphql.rb +10 -10
- metadata +82 -19
- data/lib/ecoportal/api/common/graphql/CLAUDE.md +0 -36
- data/lib/ecoportal/api/common/graphql/model/CLAUDE.md +0 -28
- data/lib/ecoportal/api/graphql/CLAUDE.md +0 -37
- data/lib/ecoportal/api/graphql/base/CLAUDE.md +0 -50
- data/lib/ecoportal/api/graphql/builder/CLAUDE.md +0 -65
- 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,39 +1,39 @@
|
|
|
1
|
-
module Ecoportal
|
|
2
|
-
module API
|
|
3
|
-
class GraphQL
|
|
4
|
-
module Base
|
|
5
|
-
class PagesWorkflow
|
|
6
|
-
class OperationInterface < Logic::BaseModel
|
|
7
|
-
SCHEMA_VERSION = '20260605'.freeze
|
|
8
|
-
|
|
9
|
-
passkey :id
|
|
10
|
-
passdate :delayedExecuteAt
|
|
11
|
-
passboolean :timeDelayPassed
|
|
12
|
-
|
|
13
|
-
class_resolver :time_delay_config_class,
|
|
14
|
-
'Ecoportal::API::GraphQL::Base::PagesWorkflow::TimeDelayConfig'
|
|
15
|
-
|
|
16
|
-
embeds_one :timeDelayConfig, klass: :time_delay_config_class
|
|
17
|
-
|
|
18
|
-
require_relative 'operations/assign_to'
|
|
19
|
-
require_relative 'operations/create_page'
|
|
20
|
-
require_relative 'operations/send_notification'
|
|
21
|
-
|
|
22
|
-
def self.from_doc(raw_doc)
|
|
23
|
-
case raw_doc&.fetch('__typename', nil)
|
|
24
|
-
when 'PagesWorkflowOperationsAssignTo'
|
|
25
|
-
Operations::AssignTo.new(raw_doc)
|
|
26
|
-
when 'PagesWorkflowOperationsCreatePage'
|
|
27
|
-
Operations::CreatePage.new(raw_doc)
|
|
28
|
-
when 'PagesWorkflowOperationsSendNotification'
|
|
29
|
-
Operations::SendNotification.new(raw_doc)
|
|
30
|
-
else
|
|
31
|
-
new(raw_doc)
|
|
32
|
-
end
|
|
33
|
-
end
|
|
34
|
-
end
|
|
35
|
-
end
|
|
36
|
-
end
|
|
37
|
-
end
|
|
38
|
-
end
|
|
39
|
-
end
|
|
1
|
+
module Ecoportal
|
|
2
|
+
module API
|
|
3
|
+
class GraphQL
|
|
4
|
+
module Base
|
|
5
|
+
class PagesWorkflow
|
|
6
|
+
class OperationInterface < Logic::BaseModel
|
|
7
|
+
SCHEMA_VERSION = '20260605'.freeze
|
|
8
|
+
|
|
9
|
+
passkey :id
|
|
10
|
+
passdate :delayedExecuteAt
|
|
11
|
+
passboolean :timeDelayPassed
|
|
12
|
+
|
|
13
|
+
class_resolver :time_delay_config_class,
|
|
14
|
+
'Ecoportal::API::GraphQL::Base::PagesWorkflow::TimeDelayConfig'
|
|
15
|
+
|
|
16
|
+
embeds_one :timeDelayConfig, klass: :time_delay_config_class
|
|
17
|
+
|
|
18
|
+
require_relative 'operations/assign_to'
|
|
19
|
+
require_relative 'operations/create_page'
|
|
20
|
+
require_relative 'operations/send_notification'
|
|
21
|
+
|
|
22
|
+
def self.from_doc(raw_doc)
|
|
23
|
+
case raw_doc&.fetch('__typename', nil)
|
|
24
|
+
when 'PagesWorkflowOperationsAssignTo'
|
|
25
|
+
Operations::AssignTo.new(raw_doc)
|
|
26
|
+
when 'PagesWorkflowOperationsCreatePage'
|
|
27
|
+
Operations::CreatePage.new(raw_doc)
|
|
28
|
+
when 'PagesWorkflowOperationsSendNotification'
|
|
29
|
+
Operations::SendNotification.new(raw_doc)
|
|
30
|
+
else
|
|
31
|
+
new(raw_doc)
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
end
|
|
@@ -1,27 +1,27 @@
|
|
|
1
|
-
module Ecoportal
|
|
2
|
-
module API
|
|
3
|
-
class GraphQL
|
|
4
|
-
module Base
|
|
5
|
-
class PagesWorkflow
|
|
6
|
-
module Operations
|
|
7
|
-
class AssignTo < OperationInterface
|
|
8
|
-
SCHEMA_VERSION = '20260605'.freeze
|
|
9
|
-
|
|
10
|
-
passthrough :targetTaskType
|
|
11
|
-
passboolean :lastFulfilled
|
|
12
|
-
|
|
13
|
-
class_resolver :escalation_level_class,
|
|
14
|
-
'Ecoportal::API::GraphQL::Base::PagesWorkflow::EscalationLevel'
|
|
15
|
-
|
|
16
|
-
embeds_many :escalationLevels, klass: :escalation_level_class, read_only: true
|
|
17
|
-
|
|
18
|
-
def strategies
|
|
19
|
-
@strategies ||= Array(doc['strategies'] || [])
|
|
20
|
-
end
|
|
21
|
-
end
|
|
22
|
-
end
|
|
23
|
-
end
|
|
24
|
-
end
|
|
25
|
-
end
|
|
26
|
-
end
|
|
27
|
-
end
|
|
1
|
+
module Ecoportal
|
|
2
|
+
module API
|
|
3
|
+
class GraphQL
|
|
4
|
+
module Base
|
|
5
|
+
class PagesWorkflow
|
|
6
|
+
module Operations
|
|
7
|
+
class AssignTo < OperationInterface
|
|
8
|
+
SCHEMA_VERSION = '20260605'.freeze
|
|
9
|
+
|
|
10
|
+
passthrough :targetTaskType
|
|
11
|
+
passboolean :lastFulfilled
|
|
12
|
+
|
|
13
|
+
class_resolver :escalation_level_class,
|
|
14
|
+
'Ecoportal::API::GraphQL::Base::PagesWorkflow::EscalationLevel'
|
|
15
|
+
|
|
16
|
+
embeds_many :escalationLevels, klass: :escalation_level_class, read_only: true
|
|
17
|
+
|
|
18
|
+
def strategies
|
|
19
|
+
@strategies ||= Array(doc['strategies'] || [])
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
|
@@ -1,30 +1,30 @@
|
|
|
1
|
-
module Ecoportal
|
|
2
|
-
module API
|
|
3
|
-
class GraphQL
|
|
4
|
-
module Base
|
|
5
|
-
class PagesWorkflow
|
|
6
|
-
module Operations
|
|
7
|
-
class SendNotification < OperationInterface
|
|
8
|
-
SCHEMA_VERSION = '20260605'.freeze
|
|
9
|
-
|
|
10
|
-
passboolean :recurring, :recurrenceActive
|
|
11
|
-
passthrough :recurrenceCount, :recurrenceEndCount, :recurrenceEndType
|
|
12
|
-
passdate :nextRecurrenceAt
|
|
13
|
-
|
|
14
|
-
class_resolver :email_config_class,
|
|
15
|
-
'Ecoportal::API::GraphQL::Base::PagesWorkflow::EmailConfig'
|
|
16
|
-
class_resolver :in_system_config_class,
|
|
17
|
-
'Ecoportal::API::GraphQL::Base::PagesWorkflow::InSystemConfig'
|
|
18
|
-
class_resolver :recipient_config_class,
|
|
19
|
-
'Ecoportal::API::GraphQL::Base::PagesWorkflow::RecipientConfig'
|
|
20
|
-
|
|
21
|
-
embeds_one :emailConfig, klass: :email_config_class
|
|
22
|
-
embeds_one :inSystemConfig, klass: :in_system_config_class
|
|
23
|
-
embeds_one :recipientConfig, klass: :recipient_config_class
|
|
24
|
-
end
|
|
25
|
-
end
|
|
26
|
-
end
|
|
27
|
-
end
|
|
28
|
-
end
|
|
29
|
-
end
|
|
30
|
-
end
|
|
1
|
+
module Ecoportal
|
|
2
|
+
module API
|
|
3
|
+
class GraphQL
|
|
4
|
+
module Base
|
|
5
|
+
class PagesWorkflow
|
|
6
|
+
module Operations
|
|
7
|
+
class SendNotification < OperationInterface
|
|
8
|
+
SCHEMA_VERSION = '20260605'.freeze
|
|
9
|
+
|
|
10
|
+
passboolean :recurring, :recurrenceActive
|
|
11
|
+
passthrough :recurrenceCount, :recurrenceEndCount, :recurrenceEndType
|
|
12
|
+
passdate :nextRecurrenceAt
|
|
13
|
+
|
|
14
|
+
class_resolver :email_config_class,
|
|
15
|
+
'Ecoportal::API::GraphQL::Base::PagesWorkflow::EmailConfig'
|
|
16
|
+
class_resolver :in_system_config_class,
|
|
17
|
+
'Ecoportal::API::GraphQL::Base::PagesWorkflow::InSystemConfig'
|
|
18
|
+
class_resolver :recipient_config_class,
|
|
19
|
+
'Ecoportal::API::GraphQL::Base::PagesWorkflow::RecipientConfig'
|
|
20
|
+
|
|
21
|
+
embeds_one :emailConfig, klass: :email_config_class
|
|
22
|
+
embeds_one :inSystemConfig, klass: :in_system_config_class
|
|
23
|
+
embeds_one :recipientConfig, klass: :recipient_config_class
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
end
|
|
@@ -1,34 +1,34 @@
|
|
|
1
|
-
module Ecoportal
|
|
2
|
-
module API
|
|
3
|
-
class GraphQL
|
|
4
|
-
module Base
|
|
5
|
-
class PagesWorkflow
|
|
6
|
-
class RecipientConfig < Logic::BaseModel
|
|
7
|
-
SCHEMA_VERSION = '20260605'.freeze
|
|
8
|
-
|
|
9
|
-
passboolean :allActiveUsers, :includeActionAssignees, :includeMailboxFields
|
|
10
|
-
passboolean :includePageCreator, :includePeopleFields, :includeTaskAssignees
|
|
11
|
-
passboolean :limitByPageTags
|
|
12
|
-
|
|
13
|
-
class_resolver :action_type_selection_class,
|
|
14
|
-
'Ecoportal::API::GraphQL::Base::PagesWorkflow::ActionTypeSelection'
|
|
15
|
-
class_resolver :mailbox_field_selection_class,
|
|
16
|
-
'Ecoportal::API::GraphQL::Base::PagesWorkflow::MailboxFieldSelection'
|
|
17
|
-
class_resolver :people_field_selection_class,
|
|
18
|
-
'Ecoportal::API::GraphQL::Base::PagesWorkflow::PeopleFieldSelection'
|
|
19
|
-
class_resolver :task_config_selection_class,
|
|
20
|
-
'Ecoportal::API::GraphQL::Base::PagesWorkflow::TaskConfigSelection'
|
|
21
|
-
class_resolver :user_selection_class,
|
|
22
|
-
'Ecoportal::API::GraphQL::Base::PagesWorkflow::UserSelection'
|
|
23
|
-
|
|
24
|
-
embeds_many :actionTypeSelections, klass: :action_type_selection_class, read_only: true
|
|
25
|
-
embeds_many :mailboxFieldSelections, klass: :mailbox_field_selection_class, read_only: true
|
|
26
|
-
embeds_many :peopleFieldSelections, klass: :people_field_selection_class, read_only: true
|
|
27
|
-
embeds_many :taskConfigSelections, klass: :task_config_selection_class, read_only: true
|
|
28
|
-
embeds_many :userSelections, klass: :user_selection_class, read_only: true
|
|
29
|
-
end
|
|
30
|
-
end
|
|
31
|
-
end
|
|
32
|
-
end
|
|
33
|
-
end
|
|
34
|
-
end
|
|
1
|
+
module Ecoportal
|
|
2
|
+
module API
|
|
3
|
+
class GraphQL
|
|
4
|
+
module Base
|
|
5
|
+
class PagesWorkflow
|
|
6
|
+
class RecipientConfig < Logic::BaseModel
|
|
7
|
+
SCHEMA_VERSION = '20260605'.freeze
|
|
8
|
+
|
|
9
|
+
passboolean :allActiveUsers, :includeActionAssignees, :includeMailboxFields
|
|
10
|
+
passboolean :includePageCreator, :includePeopleFields, :includeTaskAssignees
|
|
11
|
+
passboolean :limitByPageTags
|
|
12
|
+
|
|
13
|
+
class_resolver :action_type_selection_class,
|
|
14
|
+
'Ecoportal::API::GraphQL::Base::PagesWorkflow::ActionTypeSelection'
|
|
15
|
+
class_resolver :mailbox_field_selection_class,
|
|
16
|
+
'Ecoportal::API::GraphQL::Base::PagesWorkflow::MailboxFieldSelection'
|
|
17
|
+
class_resolver :people_field_selection_class,
|
|
18
|
+
'Ecoportal::API::GraphQL::Base::PagesWorkflow::PeopleFieldSelection'
|
|
19
|
+
class_resolver :task_config_selection_class,
|
|
20
|
+
'Ecoportal::API::GraphQL::Base::PagesWorkflow::TaskConfigSelection'
|
|
21
|
+
class_resolver :user_selection_class,
|
|
22
|
+
'Ecoportal::API::GraphQL::Base::PagesWorkflow::UserSelection'
|
|
23
|
+
|
|
24
|
+
embeds_many :actionTypeSelections, klass: :action_type_selection_class, read_only: true
|
|
25
|
+
embeds_many :mailboxFieldSelections, klass: :mailbox_field_selection_class, read_only: true
|
|
26
|
+
embeds_many :peopleFieldSelections, klass: :people_field_selection_class, read_only: true
|
|
27
|
+
embeds_many :taskConfigSelections, klass: :task_config_selection_class, read_only: true
|
|
28
|
+
embeds_many :userSelections, klass: :user_selection_class, read_only: true
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
end
|
|
@@ -1,35 +1,35 @@
|
|
|
1
|
-
module Ecoportal
|
|
2
|
-
module API
|
|
3
|
-
class GraphQL
|
|
4
|
-
module Base
|
|
5
|
-
class PagesWorkflow < Logic::BaseModel
|
|
6
|
-
SCHEMA_VERSION = '20260605'.freeze
|
|
7
|
-
|
|
8
|
-
passboolean :autoPageCreationEnabled
|
|
9
|
-
passarray :stages
|
|
10
|
-
|
|
11
|
-
class_resolver :register_field_class,
|
|
12
|
-
'Ecoportal::API::GraphQL::Base::PagesWorkflow::RegisterField'
|
|
13
|
-
|
|
14
|
-
embeds_many :fields, klass: :register_field_class, read_only: true
|
|
15
|
-
|
|
16
|
-
require_relative 'pages_workflow/register_field'
|
|
17
|
-
require_relative 'pages_workflow/time_delay_config'
|
|
18
|
-
require_relative 'pages_workflow/escalation_level'
|
|
19
|
-
require_relative 'pages_workflow/user_selection'
|
|
20
|
-
require_relative 'pages_workflow/mailbox_field_selection'
|
|
21
|
-
require_relative 'pages_workflow/people_field_selection'
|
|
22
|
-
require_relative 'pages_workflow/task_config_selection'
|
|
23
|
-
require_relative 'pages_workflow/action_type_selection'
|
|
24
|
-
require_relative 'pages_workflow/email_config'
|
|
25
|
-
require_relative 'pages_workflow/in_system_config'
|
|
26
|
-
require_relative 'pages_workflow/recipient_config'
|
|
27
|
-
require_relative 'pages_workflow/trigger_interface'
|
|
28
|
-
require_relative 'pages_workflow/operation_interface'
|
|
29
|
-
require_relative 'pages_workflow/callback_type'
|
|
30
|
-
require_relative 'pages_workflow/command_interface'
|
|
31
|
-
end
|
|
32
|
-
end
|
|
33
|
-
end
|
|
34
|
-
end
|
|
35
|
-
end
|
|
1
|
+
module Ecoportal
|
|
2
|
+
module API
|
|
3
|
+
class GraphQL
|
|
4
|
+
module Base
|
|
5
|
+
class PagesWorkflow < Logic::BaseModel
|
|
6
|
+
SCHEMA_VERSION = '20260605'.freeze
|
|
7
|
+
|
|
8
|
+
passboolean :autoPageCreationEnabled
|
|
9
|
+
passarray :stages
|
|
10
|
+
|
|
11
|
+
class_resolver :register_field_class,
|
|
12
|
+
'Ecoportal::API::GraphQL::Base::PagesWorkflow::RegisterField'
|
|
13
|
+
|
|
14
|
+
embeds_many :fields, klass: :register_field_class, read_only: true
|
|
15
|
+
|
|
16
|
+
require_relative 'pages_workflow/register_field'
|
|
17
|
+
require_relative 'pages_workflow/time_delay_config'
|
|
18
|
+
require_relative 'pages_workflow/escalation_level'
|
|
19
|
+
require_relative 'pages_workflow/user_selection'
|
|
20
|
+
require_relative 'pages_workflow/mailbox_field_selection'
|
|
21
|
+
require_relative 'pages_workflow/people_field_selection'
|
|
22
|
+
require_relative 'pages_workflow/task_config_selection'
|
|
23
|
+
require_relative 'pages_workflow/action_type_selection'
|
|
24
|
+
require_relative 'pages_workflow/email_config'
|
|
25
|
+
require_relative 'pages_workflow/in_system_config'
|
|
26
|
+
require_relative 'pages_workflow/recipient_config'
|
|
27
|
+
require_relative 'pages_workflow/trigger_interface'
|
|
28
|
+
require_relative 'pages_workflow/operation_interface'
|
|
29
|
+
require_relative 'pages_workflow/callback_type'
|
|
30
|
+
require_relative 'pages_workflow/command_interface'
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
end
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
module Ecoportal
|
|
2
|
+
module API
|
|
3
|
+
class GraphQL
|
|
4
|
+
module Base
|
|
5
|
+
# Permissions ? the org-level ability set (Organization.permissions).
|
|
6
|
+
# Every field is a `canXXX: AuthorizationResult!` permission check. Read-only.
|
|
7
|
+
# The concrete embeds_one declarations live on Model::Permissions (they reference
|
|
8
|
+
# Model::AuthorizationResult).
|
|
9
|
+
class Permissions < Logic::BaseModel
|
|
10
|
+
read_only!
|
|
11
|
+
end
|
|
12
|
+
end
|
|
13
|
+
end
|
|
14
|
+
end
|
|
15
|
+
end
|
|
@@ -1,22 +1,22 @@
|
|
|
1
|
-
module Ecoportal
|
|
2
|
-
module API
|
|
3
|
-
class GraphQL
|
|
4
|
-
module Base
|
|
5
|
-
class PersonMember < Logic::BaseModel
|
|
6
|
-
root!
|
|
7
|
-
|
|
8
|
-
passkey :id
|
|
9
|
-
passthrough :name, :email
|
|
10
|
-
passarray :tagRestrict, :userGroupIds
|
|
11
|
-
|
|
12
|
-
passthrough :personSchemaId
|
|
13
|
-
|
|
14
|
-
passthrough :contractorOrganizationId
|
|
15
|
-
passthrough :userId
|
|
16
|
-
|
|
17
|
-
passboolean :tracingAdmin
|
|
18
|
-
end
|
|
19
|
-
end
|
|
20
|
-
end
|
|
21
|
-
end
|
|
22
|
-
end
|
|
1
|
+
module Ecoportal
|
|
2
|
+
module API
|
|
3
|
+
class GraphQL
|
|
4
|
+
module Base
|
|
5
|
+
class PersonMember < Logic::BaseModel
|
|
6
|
+
root!
|
|
7
|
+
|
|
8
|
+
passkey :id
|
|
9
|
+
passthrough :name, :email
|
|
10
|
+
passarray :tagRestrict, :userGroupIds
|
|
11
|
+
|
|
12
|
+
passthrough :personSchemaId
|
|
13
|
+
|
|
14
|
+
passthrough :contractorOrganizationId
|
|
15
|
+
passthrough :userId
|
|
16
|
+
|
|
17
|
+
passboolean :tracingAdmin
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
module Ecoportal
|
|
2
|
+
module API
|
|
3
|
+
class GraphQL
|
|
4
|
+
module Base
|
|
5
|
+
# A single audit entry in a person member's changelog history, returned by
|
|
6
|
+
# `PersonMember.changelogs` / `Organization.personMemberChangelogs`. Read-only.
|
|
7
|
+
#
|
|
8
|
+
# Enum-valued fields are exposed as plain strings:
|
|
9
|
+
# - operation / accountOperation: 'CREATE' | 'UPDATE' | 'DESTROY'
|
|
10
|
+
class PersonMemberChangelog < Logic::BaseModel
|
|
11
|
+
read_only!
|
|
12
|
+
|
|
13
|
+
passkey :id
|
|
14
|
+
passthrough :operation, :accountOperation
|
|
15
|
+
passthrough :personMemberId, :apiKeyPrefix
|
|
16
|
+
passboolean :changedByApi
|
|
17
|
+
passarray :humanReadableDifferences
|
|
18
|
+
embeds_one :createdAt, klass: Base::DateTime
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
|
@@ -1,15 +1,150 @@
|
|
|
1
|
-
|
|
1
|
+
module Ecoportal
|
|
2
2
|
module API
|
|
3
3
|
class GraphQL
|
|
4
4
|
module Base
|
|
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
|
-
|
|
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
|