ecoportal-api-graphql 1.3.16 → 1.3.17
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +13 -4
- 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/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.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_category.rb +15 -15
- data/lib/ecoportal/api/graphql/base/ai_summary_version.rb +1 -1
- 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/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/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 +1 -1
- 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 +1 -1
- 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 +1 -1
- 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/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/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/person_member.rb +22 -22
- data/lib/ecoportal/api/graphql/base/preset_view.rb +1 -1
- data/lib/ecoportal/api/graphql/base/preview_page.rb +23 -23
- data/lib/ecoportal/api/graphql/base/register.rb +1 -1
- data/lib/ecoportal/api/graphql/base/resource.rb +13 -13
- data/lib/ecoportal/api/graphql/builder/action.rb +41 -41
- 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/register/preset_view.rb +84 -84
- data/lib/ecoportal/api/graphql/builder/register.rb +49 -49
- 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/registers.rb +84 -84
- 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/connection/preset_view.rb +11 -11
- 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 +1 -1
- 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/contractor_entity.rb +20 -20
- data/lib/ecoportal/api/graphql/fragment/locations_error.rb +19 -19
- 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/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.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/delta_input.rb +16 -16
- data/lib/ecoportal/api/graphql/input/id_diff.rb +11 -11
- 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/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.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 +1 -1
- 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_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_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_workflow_callback.rb +18 -18
- data/lib/ecoportal/api/graphql/input/workflow_command/collapse_section.rb +18 -18
- data/lib/ecoportal/api/graphql/input/workflow_command/edit_binding.rb +18 -18
- 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_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_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_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_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/contractor_entities.rb +24 -24
- data/lib/ecoportal/api/graphql/input/workflow_command/field_config/gauge.rb +20 -20
- 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/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_stage.rb +18 -18
- 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_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_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/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/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/ai_summary_version.rb +10 -10
- 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/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/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/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 +1 -1
- data/lib/ecoportal/api/graphql/mutation/ai_summary/submit_feedback.rb +1 -1
- 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/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/smart_fill/generate.rb +1 -1
- data/lib/ecoportal/api/graphql/mutation/smart_fill/submit_feedback.rb +1 -1
- data/lib/ecoportal/api/graphql/mutation/smart_fill.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/update.rb +12 -12
- 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/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/contractor_entities.rb +53 -53
- 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/page_delta.rb +47 -47
- data/lib/ecoportal/api/graphql/query/pages.rb +59 -59
- 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_version.rb +1 -1
- data/lib/ecoportal/api-graphql.rb +10 -10
- metadata +1 -6
- 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
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
|
|
2
|
-
class DataField
|
|
3
|
-
# AI-generated summary field.
|
|
4
|
-
# Content is generated server-side via generateAiSummary mutation (Bedrock Claude).
|
|
5
|
-
# Not settable via DataFieldInput — use the dedicated mutation instead.
|
|
6
|
-
#
|
|
7
|
-
# instructions: the AI prompt configured on this field in the template.
|
|
8
|
-
# trigger: "submitted" | "approved" — when generation fires.
|
|
9
|
-
# trigger_stage_ids: stages that trigger generation (empty = all stages).
|
|
10
|
-
# text_format: "simple_text" | "bullet_points" | "numbered_list" | "headings"
|
|
11
|
-
class AiSummary < DataField
|
|
12
|
-
passthrough :aiSummary, :generatedAt, :instructions
|
|
13
|
-
passthrough :trigger, :textFormat
|
|
14
|
-
passarray :triggerStageIds, :fieldConfigurations
|
|
15
|
-
passboolean :alreadyRated
|
|
16
|
-
end
|
|
17
|
-
end
|
|
18
|
-
end
|
|
1
|
+
module Ecoportal::API::GraphQL::Base::Page
|
|
2
|
+
class DataField
|
|
3
|
+
# AI-generated summary field.
|
|
4
|
+
# Content is generated server-side via generateAiSummary mutation (Bedrock Claude).
|
|
5
|
+
# Not settable via DataFieldInput — use the dedicated mutation instead.
|
|
6
|
+
#
|
|
7
|
+
# instructions: the AI prompt configured on this field in the template.
|
|
8
|
+
# trigger: "submitted" | "approved" — when generation fires.
|
|
9
|
+
# trigger_stage_ids: stages that trigger generation (empty = all stages).
|
|
10
|
+
# text_format: "simple_text" | "bullet_points" | "numbered_list" | "headings"
|
|
11
|
+
class AiSummary < DataField
|
|
12
|
+
passthrough :aiSummary, :generatedAt, :instructions
|
|
13
|
+
passthrough :trigger, :textFormat
|
|
14
|
+
passarray :triggerStageIds, :fieldConfigurations
|
|
15
|
+
passboolean :alreadyRated
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
end
|
|
@@ -1,29 +1,29 @@
|
|
|
1
|
-
module Ecoportal::API::GraphQL::Base::Page
|
|
2
|
-
class DataField
|
|
3
|
-
class Checklist < DataField
|
|
4
|
-
passarray :items # each: { id:, label:, checked: }
|
|
5
|
-
passthrough :complete
|
|
6
|
-
|
|
7
|
-
# Check/uncheck an item by label or id.
|
|
8
|
-
def check(label_or_id, checked: true)
|
|
9
|
-
item = (doc['items'] || []).find { |i| i['label'] == label_or_id.to_s || i['id'] == label_or_id.to_s }
|
|
10
|
-
return unless item
|
|
11
|
-
|
|
12
|
-
item['checked'] = checked
|
|
13
|
-
end
|
|
14
|
-
|
|
15
|
-
def as_input
|
|
16
|
-
return nil unless dirty?
|
|
17
|
-
|
|
18
|
-
{
|
|
19
|
-
checklist: {
|
|
20
|
-
id: id,
|
|
21
|
-
# rubocop:disable Style/DoubleNegation
|
|
22
|
-
items: (doc['items'] || []).map { |i| { id: i['id'], checked: !!i['checked'] } }
|
|
23
|
-
# rubocop:enable Style/DoubleNegation
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
end
|
|
27
|
-
end
|
|
28
|
-
end
|
|
29
|
-
end
|
|
1
|
+
module Ecoportal::API::GraphQL::Base::Page
|
|
2
|
+
class DataField
|
|
3
|
+
class Checklist < DataField
|
|
4
|
+
passarray :items # each: { id:, label:, checked: }
|
|
5
|
+
passthrough :complete
|
|
6
|
+
|
|
7
|
+
# Check/uncheck an item by label or id.
|
|
8
|
+
def check(label_or_id, checked: true)
|
|
9
|
+
item = (doc['items'] || []).find { |i| i['label'] == label_or_id.to_s || i['id'] == label_or_id.to_s }
|
|
10
|
+
return unless item
|
|
11
|
+
|
|
12
|
+
item['checked'] = checked
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
def as_input
|
|
16
|
+
return nil unless dirty?
|
|
17
|
+
|
|
18
|
+
{
|
|
19
|
+
checklist: {
|
|
20
|
+
id: id,
|
|
21
|
+
# rubocop:disable Style/DoubleNegation
|
|
22
|
+
items: (doc['items'] || []).map { |i| { id: i['id'], checked: !!i['checked'] } }
|
|
23
|
+
# rubocop:enable Style/DoubleNegation
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
end
|
|
@@ -31,7 +31,7 @@ module Ecoportal::API::GraphQL::Base::Page
|
|
|
31
31
|
|
|
32
32
|
# Find first field matching label (case-insensitive). Optional type: restricts to
|
|
33
33
|
# that field type first (v2 compat: components.get_by_name(name, type:) — used by
|
|
34
|
-
#
|
|
34
|
+
# a customer cutover use case which calls it directly, not via OozeRedirect).
|
|
35
35
|
def get_by_name(label, type: nil)
|
|
36
36
|
pool = type ? get_by_type(type) : @fields
|
|
37
37
|
pool.find { |f| f.label.to_s.downcase == label.to_s.downcase }
|
|
@@ -1,23 +1,23 @@
|
|
|
1
|
-
module Ecoportal::API::GraphQL::Base::Page
|
|
2
|
-
class DataField
|
|
3
|
-
# Wraps Date data field. Mapped from __typename 'Date'.
|
|
4
|
-
# value is an ISO8601DateTime string (e.g. "2024-11-25T08:30:00+13:00").
|
|
5
|
-
class DateField < DataField
|
|
6
|
-
# value is nested: { dateTime: "...", timeZone: "..." } or raw string
|
|
7
|
-
def value
|
|
8
|
-
v = doc['value']
|
|
9
|
-
v.is_a?(Hash) ? v['dateTime'] : v
|
|
10
|
-
end
|
|
11
|
-
|
|
12
|
-
def value=(iso8601_string)
|
|
13
|
-
doc['value'] = iso8601_string
|
|
14
|
-
end
|
|
15
|
-
|
|
16
|
-
def as_input
|
|
17
|
-
return nil unless dirty?
|
|
18
|
-
|
|
19
|
-
{ date: { id: id, value: value } }
|
|
20
|
-
end
|
|
21
|
-
end
|
|
22
|
-
end
|
|
23
|
-
end
|
|
1
|
+
module Ecoportal::API::GraphQL::Base::Page
|
|
2
|
+
class DataField
|
|
3
|
+
# Wraps Date data field. Mapped from __typename 'Date'.
|
|
4
|
+
# value is an ISO8601DateTime string (e.g. "2024-11-25T08:30:00+13:00").
|
|
5
|
+
class DateField < DataField
|
|
6
|
+
# value is nested: { dateTime: "...", timeZone: "..." } or raw string
|
|
7
|
+
def value
|
|
8
|
+
v = doc['value']
|
|
9
|
+
v.is_a?(Hash) ? v['dateTime'] : v
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
def value=(iso8601_string)
|
|
13
|
+
doc['value'] = iso8601_string
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
def as_input
|
|
17
|
+
return nil unless dirty?
|
|
18
|
+
|
|
19
|
+
{ date: { id: id, value: value } }
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
|
@@ -1,24 +1,24 @@
|
|
|
1
|
-
module Ecoportal::API::GraphQL::Base::Page
|
|
2
|
-
class DataField
|
|
3
|
-
class Geo < DataField
|
|
4
|
-
passthrough :address, :coordinates # coordinates: { lat:, lon: }
|
|
5
|
-
|
|
6
|
-
def address=(new_address)
|
|
7
|
-
doc['address'] = new_address
|
|
8
|
-
end
|
|
9
|
-
|
|
10
|
-
def coordinates=(lat_lon_hash)
|
|
11
|
-
doc['coordinates'] = lat_lon_hash
|
|
12
|
-
end
|
|
13
|
-
|
|
14
|
-
def as_input
|
|
15
|
-
return nil unless dirty?
|
|
16
|
-
|
|
17
|
-
payload = { id: id }
|
|
18
|
-
payload[:address] = address if address
|
|
19
|
-
payload[:coordinates] = coordinates if coordinates
|
|
20
|
-
{ geo: payload }
|
|
21
|
-
end
|
|
22
|
-
end
|
|
23
|
-
end
|
|
24
|
-
end
|
|
1
|
+
module Ecoportal::API::GraphQL::Base::Page
|
|
2
|
+
class DataField
|
|
3
|
+
class Geo < DataField
|
|
4
|
+
passthrough :address, :coordinates # coordinates: { lat:, lon: }
|
|
5
|
+
|
|
6
|
+
def address=(new_address)
|
|
7
|
+
doc['address'] = new_address
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
def coordinates=(lat_lon_hash)
|
|
11
|
+
doc['coordinates'] = lat_lon_hash
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
def as_input
|
|
15
|
+
return nil unless dirty?
|
|
16
|
+
|
|
17
|
+
payload = { id: id }
|
|
18
|
+
payload[:address] = address if address
|
|
19
|
+
payload[:coordinates] = coordinates if coordinates
|
|
20
|
+
{ geo: payload }
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
end
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
class DataField
|
|
3
|
-
# Legal obligation / law snippets field — read access only.
|
|
4
|
-
class Law < DataField
|
|
5
|
-
passarray :laws # each: { id:, content: }
|
|
6
|
-
end
|
|
7
|
-
end
|
|
8
|
-
end
|
|
1
|
+
module Ecoportal::API::GraphQL::Base::Page
|
|
2
|
+
class DataField
|
|
3
|
+
# Legal obligation / law snippets field — read access only.
|
|
4
|
+
class Law < DataField
|
|
5
|
+
passarray :laws # each: { id:, content: }
|
|
6
|
+
end
|
|
7
|
+
end
|
|
8
|
+
end
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
class DataField
|
|
3
|
-
# Mailbox field — email inbox linked to this field.
|
|
4
|
-
# Managed by the system; not settable via script.
|
|
5
|
-
class Mailbox < DataField
|
|
6
|
-
passthrough :email, :enabled
|
|
7
|
-
end
|
|
8
|
-
end
|
|
9
|
-
end
|
|
1
|
+
module Ecoportal::API::GraphQL::Base::Page
|
|
2
|
+
class DataField
|
|
3
|
+
# Mailbox field — email inbox linked to this field.
|
|
4
|
+
# Managed by the system; not settable via script.
|
|
5
|
+
class Mailbox < DataField
|
|
6
|
+
passthrough :email, :enabled
|
|
7
|
+
end
|
|
8
|
+
end
|
|
9
|
+
end
|
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
module Ecoportal::API::GraphQL::Base::Page
|
|
2
|
-
class DataField
|
|
3
|
-
class PlainText < DataField
|
|
4
|
-
passthrough :value
|
|
5
|
-
|
|
6
|
-
def value=(new_value)
|
|
7
|
-
doc['value'] = new_value
|
|
8
|
-
end
|
|
9
|
-
|
|
10
|
-
def as_input
|
|
11
|
-
return nil unless dirty?
|
|
12
|
-
|
|
13
|
-
{ plainText: { id: id, value: value } }
|
|
14
|
-
end
|
|
15
|
-
end
|
|
16
|
-
end
|
|
17
|
-
end
|
|
1
|
+
module Ecoportal::API::GraphQL::Base::Page
|
|
2
|
+
class DataField
|
|
3
|
+
class PlainText < DataField
|
|
4
|
+
passthrough :value
|
|
5
|
+
|
|
6
|
+
def value=(new_value)
|
|
7
|
+
doc['value'] = new_value
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
def as_input
|
|
11
|
+
return nil unless dirty?
|
|
12
|
+
|
|
13
|
+
{ plainText: { id: id, value: value } }
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
end
|
|
@@ -1,26 +1,26 @@
|
|
|
1
|
-
module Ecoportal::API::GraphQL::Base::Page
|
|
2
|
-
class DataField
|
|
3
|
-
class RichText < DataField
|
|
4
|
-
passthrough :content
|
|
5
|
-
|
|
6
|
-
def content=(new_content)
|
|
7
|
-
doc['content'] = new_content
|
|
8
|
-
end
|
|
9
|
-
|
|
10
|
-
# v2 compat alias — RichText value is stored as content
|
|
11
|
-
def value
|
|
12
|
-
content
|
|
13
|
-
end
|
|
14
|
-
|
|
15
|
-
def value=(new_value)
|
|
16
|
-
self.content = new_value
|
|
17
|
-
end
|
|
18
|
-
|
|
19
|
-
def as_input
|
|
20
|
-
return nil unless dirty?
|
|
21
|
-
|
|
22
|
-
{ richText: { id: id, content: content } }
|
|
23
|
-
end
|
|
24
|
-
end
|
|
25
|
-
end
|
|
26
|
-
end
|
|
1
|
+
module Ecoportal::API::GraphQL::Base::Page
|
|
2
|
+
class DataField
|
|
3
|
+
class RichText < DataField
|
|
4
|
+
passthrough :content
|
|
5
|
+
|
|
6
|
+
def content=(new_content)
|
|
7
|
+
doc['content'] = new_content
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
# v2 compat alias — RichText value is stored as content
|
|
11
|
+
def value
|
|
12
|
+
content
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
def value=(new_value)
|
|
16
|
+
self.content = new_value
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
def as_input
|
|
20
|
+
return nil unless dirty?
|
|
21
|
+
|
|
22
|
+
{ richText: { id: id, content: content } }
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
end
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
class DataField
|
|
3
|
-
# Digital signature capture field — read access only.
|
|
4
|
-
# Signatures are captured through the UI; not settable via script.
|
|
5
|
-
class Signature < DataField
|
|
6
|
-
passthrough :signedAt, :signerName
|
|
7
|
-
end
|
|
8
|
-
end
|
|
9
|
-
end
|
|
1
|
+
module Ecoportal::API::GraphQL::Base::Page
|
|
2
|
+
class DataField
|
|
3
|
+
# Digital signature capture field — read access only.
|
|
4
|
+
# Signatures are captured through the UI; not settable via script.
|
|
5
|
+
class Signature < DataField
|
|
6
|
+
passthrough :signedAt, :signerName
|
|
7
|
+
end
|
|
8
|
+
end
|
|
9
|
+
end
|
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
|
|
2
|
-
class DataField
|
|
3
|
-
# SmartFill field — AI-auto-populated field using a template-defined prompt.
|
|
4
|
-
# Value is generated server-side via Bedrock; trigger_type controls when.
|
|
5
|
-
#
|
|
6
|
-
# Read-only for DataFieldInput — use the generateSmartFill GraphQL mutation
|
|
7
|
-
# (or its trigger) to populate. The instructions field is template-configured
|
|
8
|
-
# and can be reviewed/updated via template management.
|
|
9
|
-
class SmartFill < DataField
|
|
10
|
-
passthrough :status # pending | generating | success | failed
|
|
11
|
-
passthrough :trigger_type # manual | snapshot | live
|
|
12
|
-
passthrough :instructions # the AI prompt configured on the template field
|
|
13
|
-
passboolean :edit_enabled
|
|
14
|
-
passthrough :generated_at
|
|
15
|
-
end
|
|
16
|
-
end
|
|
17
|
-
end
|
|
1
|
+
module Ecoportal::API::GraphQL::Base::Page
|
|
2
|
+
class DataField
|
|
3
|
+
# SmartFill field — AI-auto-populated field using a template-defined prompt.
|
|
4
|
+
# Value is generated server-side via Bedrock; trigger_type controls when.
|
|
5
|
+
#
|
|
6
|
+
# Read-only for DataFieldInput — use the generateSmartFill GraphQL mutation
|
|
7
|
+
# (or its trigger) to populate. The instructions field is template-configured
|
|
8
|
+
# and can be reviewed/updated via template management.
|
|
9
|
+
class SmartFill < DataField
|
|
10
|
+
passthrough :status # pending | generating | success | failed
|
|
11
|
+
passthrough :trigger_type # manual | snapshot | live
|
|
12
|
+
passthrough :instructions # the AI prompt configured on the template field
|
|
13
|
+
passboolean :edit_enabled
|
|
14
|
+
passthrough :generated_at
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
end
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
class DataField
|
|
3
|
-
# Table / embedded structure field — read access only.
|
|
4
|
-
# Complex structured data managed via its own mutation path.
|
|
5
|
-
class Table < DataField
|
|
6
|
-
passarray :rows
|
|
7
|
-
end
|
|
8
|
-
end
|
|
9
|
-
end
|
|
1
|
+
module Ecoportal::API::GraphQL::Base::Page
|
|
2
|
+
class DataField
|
|
3
|
+
# Table / embedded structure field — read access only.
|
|
4
|
+
# Complex structured data managed via its own mutation path.
|
|
5
|
+
class Table < DataField
|
|
6
|
+
passarray :rows
|
|
7
|
+
end
|
|
8
|
+
end
|
|
9
|
+
end
|
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
module Ecoportal::API::GraphQL::Base::Page
|
|
2
|
-
class DataField
|
|
3
|
-
# Location/tag field — mapped from __typename 'TagField'.
|
|
4
|
-
class TagField < DataField
|
|
5
|
-
passarray :locations # each: { id:, name: }
|
|
6
|
-
|
|
7
|
-
def location_ids
|
|
8
|
-
Array(locations).map { |l| l['id'] }.compact
|
|
9
|
-
end
|
|
10
|
-
|
|
11
|
-
def location_ids=(ids)
|
|
12
|
-
doc['locations'] = Array(ids).map { |id_val| { 'id' => id_val } }
|
|
13
|
-
end
|
|
14
|
-
|
|
15
|
-
# NOTE: LocationFieldInput has NO location-value field — page locations are set at the
|
|
16
|
-
# PAGE level (UpdatePageInput.page.locations, via Interface::BasePage#location_ids=),
|
|
17
|
-
# not via the data field. So this field contributes no value to dataFields.updates;
|
|
18
|
-
# it inherits DataField#as_input (nil). location_ids/= stay as field-level read/staging.
|
|
19
|
-
end
|
|
20
|
-
end
|
|
21
|
-
end
|
|
1
|
+
module Ecoportal::API::GraphQL::Base::Page
|
|
2
|
+
class DataField
|
|
3
|
+
# Location/tag field — mapped from __typename 'TagField'.
|
|
4
|
+
class TagField < DataField
|
|
5
|
+
passarray :locations # each: { id:, name: }
|
|
6
|
+
|
|
7
|
+
def location_ids
|
|
8
|
+
Array(locations).map { |l| l['id'] }.compact
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
def location_ids=(ids)
|
|
12
|
+
doc['locations'] = Array(ids).map { |id_val| { 'id' => id_val } }
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
# NOTE: LocationFieldInput has NO location-value field — page locations are set at the
|
|
16
|
+
# PAGE level (UpdatePageInput.page.locations, via Interface::BasePage#location_ids=),
|
|
17
|
+
# not via the data field. So this field contributes no value to dataFields.updates;
|
|
18
|
+
# it inherits DataField#as_input (nil). location_ids/= stay as field-level read/staging.
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
module Ecoportal
|
|
2
|
-
module API
|
|
3
|
-
class GraphQL
|
|
4
|
-
module Base
|
|
5
|
-
module Page
|
|
6
|
-
class Phased < Interface::BasePage
|
|
7
|
-
require_relative 'phased/stage'
|
|
8
|
-
|
|
9
|
-
embeds_many :stages, klass: Stage, read_only: true
|
|
10
|
-
end
|
|
11
|
-
end
|
|
12
|
-
end
|
|
13
|
-
end
|
|
14
|
-
end
|
|
15
|
-
end
|
|
1
|
+
module Ecoportal
|
|
2
|
+
module API
|
|
3
|
+
class GraphQL
|
|
4
|
+
module Base
|
|
5
|
+
module Page
|
|
6
|
+
class Phased < Interface::BasePage
|
|
7
|
+
require_relative 'phased/stage'
|
|
8
|
+
|
|
9
|
+
embeds_many :stages, klass: Stage, read_only: true
|
|
10
|
+
end
|
|
11
|
+
end
|
|
12
|
+
end
|
|
13
|
+
end
|
|
14
|
+
end
|
|
15
|
+
end
|
|
@@ -1,48 +1,48 @@
|
|
|
1
|
-
module Ecoportal
|
|
2
|
-
module API
|
|
3
|
-
class GraphQL
|
|
4
|
-
module Base
|
|
5
|
-
module Page
|
|
6
|
-
# Wraps a SectionUnion doc (ContentSection or SplitSection).
|
|
7
|
-
# Provides access to heading, type, and data fields within the section.
|
|
8
|
-
class Section < Logic::BaseModel
|
|
9
|
-
read_only!
|
|
10
|
-
|
|
11
|
-
passkey :id
|
|
12
|
-
passthrough :heading
|
|
13
|
-
|
|
14
|
-
# __typename normalised to 'type' during initialisation
|
|
15
|
-
passthrough :type
|
|
16
|
-
|
|
17
|
-
def initialize(raw_doc = {})
|
|
18
|
-
raw_doc = raw_doc.dup if raw_doc.is_a?(Hash)
|
|
19
|
-
raw_doc['type'] ||= raw_doc['__typename'] if raw_doc.is_a?(Hash)
|
|
20
|
-
super
|
|
21
|
-
end
|
|
22
|
-
|
|
23
|
-
# All data fields in this section.
|
|
24
|
-
# ContentSection → dataFields
|
|
25
|
-
# SplitSection → leftDataFields + rightDataFields (merged)
|
|
26
|
-
def components
|
|
27
|
-
all = (doc['dataFields'] || []) +
|
|
28
|
-
(doc['leftDataFields'] || []) +
|
|
29
|
-
(doc['rightDataFields'] || [])
|
|
30
|
-
DataField::Collection.from_doc(all)
|
|
31
|
-
end
|
|
32
|
-
|
|
33
|
-
# v2 compat alias
|
|
34
|
-
alias_method :data_fields, :components
|
|
35
|
-
|
|
36
|
-
def content_section?
|
|
37
|
-
type.to_s == 'ContentSection'
|
|
38
|
-
end
|
|
39
|
-
|
|
40
|
-
def split_section?
|
|
41
|
-
type.to_s == 'SplitSection'
|
|
42
|
-
end
|
|
43
|
-
end
|
|
44
|
-
end
|
|
45
|
-
end
|
|
46
|
-
end
|
|
47
|
-
end
|
|
48
|
-
end
|
|
1
|
+
module Ecoportal
|
|
2
|
+
module API
|
|
3
|
+
class GraphQL
|
|
4
|
+
module Base
|
|
5
|
+
module Page
|
|
6
|
+
# Wraps a SectionUnion doc (ContentSection or SplitSection).
|
|
7
|
+
# Provides access to heading, type, and data fields within the section.
|
|
8
|
+
class Section < Logic::BaseModel
|
|
9
|
+
read_only!
|
|
10
|
+
|
|
11
|
+
passkey :id
|
|
12
|
+
passthrough :heading
|
|
13
|
+
|
|
14
|
+
# __typename normalised to 'type' during initialisation
|
|
15
|
+
passthrough :type
|
|
16
|
+
|
|
17
|
+
def initialize(raw_doc = {})
|
|
18
|
+
raw_doc = raw_doc.dup if raw_doc.is_a?(Hash)
|
|
19
|
+
raw_doc['type'] ||= raw_doc['__typename'] if raw_doc.is_a?(Hash)
|
|
20
|
+
super
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
# All data fields in this section.
|
|
24
|
+
# ContentSection → dataFields
|
|
25
|
+
# SplitSection → leftDataFields + rightDataFields (merged)
|
|
26
|
+
def components
|
|
27
|
+
all = (doc['dataFields'] || []) +
|
|
28
|
+
(doc['leftDataFields'] || []) +
|
|
29
|
+
(doc['rightDataFields'] || [])
|
|
30
|
+
DataField::Collection.from_doc(all)
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
# v2 compat alias
|
|
34
|
+
alias_method :data_fields, :components
|
|
35
|
+
|
|
36
|
+
def content_section?
|
|
37
|
+
type.to_s == 'ContentSection'
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
def split_section?
|
|
41
|
+
type.to_s == 'SplitSection'
|
|
42
|
+
end
|
|
43
|
+
end
|
|
44
|
+
end
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
end
|
|
48
|
+
end
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
module Ecoportal
|
|
2
|
-
module API
|
|
3
|
-
class GraphQL
|
|
4
|
-
module Base
|
|
5
|
-
class PageInfo < Logic::BaseModel
|
|
6
|
-
passthrough :startCursor, :endCursor
|
|
7
|
-
passboolean :hasNextPage, :hasPreviousPage
|
|
8
|
-
end
|
|
9
|
-
end
|
|
10
|
-
end
|
|
11
|
-
end
|
|
12
|
-
end
|
|
1
|
+
module Ecoportal
|
|
2
|
+
module API
|
|
3
|
+
class GraphQL
|
|
4
|
+
module Base
|
|
5
|
+
class PageInfo < Logic::BaseModel
|
|
6
|
+
passthrough :startCursor, :endCursor
|
|
7
|
+
passboolean :hasNextPage, :hasPreviousPage
|
|
8
|
+
end
|
|
9
|
+
end
|
|
10
|
+
end
|
|
11
|
+
end
|
|
12
|
+
end
|