diff options
Diffstat (limited to 'app/graphql/mutations/issues/set_due_date.rb')
-rw-r--r-- | app/graphql/mutations/issues/set_due_date.rb | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/app/graphql/mutations/issues/set_due_date.rb b/app/graphql/mutations/issues/set_due_date.rb index da7892f4ed4..9cefac96b25 100644 --- a/app/graphql/mutations/issues/set_due_date.rb +++ b/app/graphql/mutations/issues/set_due_date.rb @@ -7,14 +7,23 @@ module Mutations argument :due_date, Types::TimeType, - required: true, - description: 'The desired due date for the issue.' + required: false, + description: 'The desired due date for the issue, ' \ + 'due date will be removed if absent or set to null' + + def ready?(**args) + unless args.key?(:due_date) + raise Gitlab::Graphql::Errors::ArgumentError, 'Argument dueDate must be provided (`null` accepted)' + end + + super + end def resolve(project_path:, iid:, due_date:) issue = authorized_find!(project_path: project_path, iid: iid) project = issue.project - ::Issues::UpdateService.new(project, current_user, due_date: due_date) + ::Issues::UpdateService.new(project: project, current_user: current_user, params: { due_date: due_date }) .execute(issue) { |