Browse Source

add operation for pull request create/merge/refuse

pull/319/head
nigel007 5 years ago
parent
commit
c5b24a3447
1 changed files with 34 additions and 4 deletions
  1. +34
    -4
      app/controllers/pull_requests_controller.rb

+ 34
- 4
app/controllers/pull_requests_controller.rb View File

@@ -54,7 +54,17 @@ class PullRequestsController < ApplicationController
@pull_request, @gitea_pull_request = PullRequests::CreateService.call(current_user, @owner, @project, params)
if @gitea_pull_request[:status] == :success
@pull_request.bind_gitea_pull_request!(@gitea_pull_request[:body]["number"])
render_ok

# author: zxh
# 调用上链API
success_blockchain = push_activity_2_blockchain("pull_request_create", @pull_request)
if success_blockchain == false
render_error("create pull request error: cannot save to blockchain")
raise ActiveRecord::Rollback
else
render_ok
end

else
render_error("create pull request error: #{@gitea_pull_request[:status]}")
raise ActiveRecord::Rollback
@@ -119,7 +129,17 @@ class PullRequestsController < ApplicationController
begin
@pull_request.update(status: 2)
@pull_request.issue.update(status_id: 5)
normal_status(1, "已拒绝")

# author: zxh
# 调用上链API
success_blockchain = push_activity_2_blockchain("pull_request_refuse", @pull_request)
if success_blockchain == false
normal_status(-1, "拒绝失败")
raise ActiveRecord::Rollback
else
normal_status(1, "已拒绝")
end

rescue => e
normal_status(-1, e.message)
raise ActiveRecord::Rollback
@@ -152,10 +172,20 @@ class PullRequestsController < ApplicationController
}
merge_pr = Gitea::PullRequest::MergeService.call(current_user.gitea_token, @project.owner.login,
@repository.try(:identifier), @pull_request.try(:gpid), requests_params)
if @pull_request.update_attribute(:status, 1) && merge_pr[:status].to_i == 200
if merge_pr.status.to_i == 200 && @pull_request.update_attribute(:status, 1)
@pull_request&.project_trends&.update_all(action_type: "close")
@issue&.custom_journal_detail("merge", "", "该合并请求已被合并", current_user&.id)
normal_status(1, "合并成功")

# author: zxh
# 调用上链API
success_blockchain = push_activity_2_blockchain("pull_request_merge", @pull_request)
if success_blockchain == false
normal_status(-1, "合并失败")
raise ActiveRecord::Rollback
else
normal_status(1, "合并成功")
end

else
normal_status(-1, "合并失败")
end


Loading…
Cancel
Save