Module: Ecoportal::API::GraphQL::Input::WorkflowCommand::ManageCopyPageConfiguration
- Defined in:
- lib/ecoportal/api/graphql/input/workflow_command/manage_copy_page_configuration.rb
Overview
WorkflowManageCopyPageConfigurationInput — first observed in the live schema on
20260819, which is when validate-queries went red on it being unwired. main's last
green pipeline was 2026-08-16, so the drift landed in that window.
★ The field NAMES and TYPES below are verified against the schema dump. Their MEANING
is NOT: the schema carries no descriptions for them, and no verified platform note
covers page-copy configuration. Best reading, offered as a HYPOTHESIS only — this
appears to configure the platform's copy-a-page behaviour: whether a copy OVERRIDES
the creator permissions rather than inheriting them (note the field is named
override…, so do not assume the inverse), whether template content added later is
automatically included in future copies, and per-data-field whether that field is
included in a copy (include) and whether the choice is locked against per-copy
override (enforce). enforce is the least certain of these.
Confirm against platform behaviour before relying on any of it; see
the repo's internal docs.
Constant Summary collapse
- SCHEMA_VERSION =
'20260819'.freeze
- VALID_KEYS =
i[overridePageCreatorPermissions autoIncludeNewContent inclusionSettingsChanges].freeze
- INCLUSION_SETTINGS_CHANGE_KEYS =
WorkflowInclusionSettingsChangeInput — dataFieldId is REQUIRED on the schema side; this builder only filters keys, it does not validate presence (see siblings).
i[dataFieldId include enforce].freeze
Class Method Summary collapse
Class Method Details
.build(**kwargs) ⇒ Object
28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
# File 'lib/ecoportal/api/graphql/input/workflow_command/manage_copy_page_configuration.rb', line 28 def self.build(**kwargs) built = kwargs.slice(*VALID_KEYS).compact return built unless built.key?(:inclusionSettingsChanges) # NOTE: `Array(a_hash)` calls `Hash#to_a` and yields key/value PAIRS, not a # one-element array containing the hash -- do not "simplify" this to `Array(...)`. changes = built[:inclusionSettingsChanges] changes = [changes] unless changes.is_a?(::Array) built[:inclusionSettingsChanges] = changes.map do |change| change.transform_keys(&:to_sym).slice(*INCLUSION_SETTINGS_CHANGE_KEYS).compact end built end |