1# frozen_string_literal: true
2
3module Mutations
4  module Ci
5    module Job
6      class Retry < Base
7        graphql_name 'JobRetry'
8
9        field :job,
10              Types::Ci::JobType,
11              null: true,
12              description: 'Job after the mutation.'
13
14        authorize :update_build
15
16        def resolve(id:)
17          job = authorized_find!(id: id)
18          project = job.project
19
20          ::Ci::RetryBuildService.new(project, current_user).execute(job)
21          {
22            job: job,
23            errors: errors_on_object(job)
24          }
25        end
26      end
27    end
28  end
29end
30