diff options
Diffstat (limited to 'app/graphql/resolvers/milestones_resolver.rb')
-rw-r--r-- | app/graphql/resolvers/milestones_resolver.rb | 27 |
1 files changed, 24 insertions, 3 deletions
diff --git a/app/graphql/resolvers/milestones_resolver.rb b/app/graphql/resolvers/milestones_resolver.rb index 5f80506c01b..84712b674db 100644 --- a/app/graphql/resolvers/milestones_resolver.rb +++ b/app/graphql/resolvers/milestones_resolver.rb @@ -13,6 +13,18 @@ module Resolvers required: false, description: 'Filter milestones by state' + argument :title, GraphQL::STRING_TYPE, + required: false, + description: 'The title of the milestone' + + argument :search_title, GraphQL::STRING_TYPE, + required: false, + description: 'A search string for the title' + + argument :containing_date, Types::TimeType, + required: false, + description: 'A date that the milestone contains' + type Types::MilestoneType, null: true def resolve(**args) @@ -29,9 +41,18 @@ module Resolvers { ids: parse_gids(args[:ids]), state: args[:state] || 'all', - start_date: args[:start_date], - end_date: args[:end_date] - }.merge(parent_id_parameters(args)) + title: args[:title], + search_title: args[:search_title], + containing_date: args[:containing_date] + }.merge!(timeframe_parameters(args)).merge!(parent_id_parameters(args)) + end + + def timeframe_parameters(args) + if args[:timeframe] + args[:timeframe].transform_keys { |k| :"#{k}_date" } + else + args.slice(:start_date, :end_date) + end end def parent |