diff options
Diffstat (limited to 'app/graphql/types/work_items/widget_interface.rb')
-rw-r--r-- | app/graphql/types/work_items/widget_interface.rb | 30 |
1 files changed, 22 insertions, 8 deletions
diff --git a/app/graphql/types/work_items/widget_interface.rb b/app/graphql/types/work_items/widget_interface.rb index 1b752393296..eca8c8d845a 100644 --- a/app/graphql/types/work_items/widget_interface.rb +++ b/app/graphql/types/work_items/widget_interface.rb @@ -7,8 +7,21 @@ module Types graphql_name 'WorkItemWidget' - field :type, ::Types::WorkItems::WidgetTypeEnum, null: true, - description: 'Widget type.' + field :type, ::Types::WorkItems::WidgetTypeEnum, + null: true, + description: 'Widget type.' + + ORPHAN_TYPES = [ + ::Types::WorkItems::Widgets::DescriptionType, + ::Types::WorkItems::Widgets::HierarchyType, + ::Types::WorkItems::Widgets::LabelsType, + ::Types::WorkItems::Widgets::AssigneesType, + ::Types::WorkItems::Widgets::StartAndDueDateType + ].freeze + + def self.ce_orphan_types + ORPHAN_TYPES + end def self.resolve_type(object, context) case object @@ -18,17 +31,18 @@ module Types ::Types::WorkItems::Widgets::HierarchyType when ::WorkItems::Widgets::Assignees ::Types::WorkItems::Widgets::AssigneesType - when ::WorkItems::Widgets::Weight - ::Types::WorkItems::Widgets::WeightType + when ::WorkItems::Widgets::Labels + ::Types::WorkItems::Widgets::LabelsType + when ::WorkItems::Widgets::StartAndDueDate + ::Types::WorkItems::Widgets::StartAndDueDateType else raise "Unknown GraphQL type for widget #{object}" end end - orphan_types ::Types::WorkItems::Widgets::DescriptionType, - ::Types::WorkItems::Widgets::HierarchyType, - ::Types::WorkItems::Widgets::AssigneesType, - ::Types::WorkItems::Widgets::WeightType + orphan_types(*ORPHAN_TYPES) end end end + +Types::WorkItems::WidgetInterface.prepend_mod |