|
- class PullRequests::MergeService < ApplicationService
- attr_reader :owner, :repo, :pull, :current_user, :params
-
- # 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
- end
-
- private
-
- def gitea_pull_merge!
- result = Gitea::PullRequest::MergeService.call(@current_user.gitea_token, @owner.login,
- @repo.identifier, @pull.gpid, gitea_merge_pull_params)
-
- result[:status] === 200 ? true : false
- end
-
- def gitea_merge_pull_params
- {
- Do: params[:do],
- MergeMessageField: params[:body],
- MergeTitleField: params[:title]
- }
- end
- end
|