forgeplus/app/services/pull_requests/merge_service.rb

37 lines
919 B
Ruby
Raw Normal View History

2021-01-12 15:45:18 +08:00
class PullRequests::MergeService < ApplicationService
attr_reader :owner, :repo, :pull, :current_user, :params
2021-04-30 15:36:14 +08:00
attr_accessor :status, :message
2021-01-12 15:45:18 +08:00
# eq:
# PullRequests::MergeService.call(owner, repo, pull, current_user, params)
def initialize(owner, repo, pull, current_user, params)
@owner = owner
@repo = repo
@pull = pull
@current_user = current_user
@params = params
end
def call
ActiveRecord::Base.transaction do
gitea_pull_merge!
end
2021-04-30 15:36:14 +08:00
self
2021-01-12 15:45:18 +08:00
end
private
def gitea_pull_merge!
result = Gitea::PullRequest::MergeService.call(@current_user.gitea_token, @owner.login,
@repo.identifier, @pull.gitea_number, gitea_merge_pull_params)
2021-04-30 15:36:14 +08:00
@status, @message = result
2021-01-12 15:45:18 +08:00
end
def gitea_merge_pull_params
{
Do: params[:do],
MergeMessageField: params[:body],
MergeTitleField: params[:title]
}
end
end