mirror of
https://gitlink.org.cn/Gitlink/forgeplus.git
synced 2026-05-22 12:45:46 +08:00
FIX pull request bug
This commit is contained in:
22
app/services/gitea/pull_request/close_service.rb
Normal file
22
app/services/gitea/pull_request/close_service.rb
Normal file
@@ -0,0 +1,22 @@
|
||||
class Gitea::PullRequest::CloseService < Gitea::PullRequest::UpdateService
|
||||
attr_reader :owner, :repo, :base, :number, :token
|
||||
|
||||
# params:
|
||||
# owner: owner of the repo
|
||||
# repo: name of the repo
|
||||
# base: branch name of base
|
||||
# number: number of pull request
|
||||
# token: token of gitea user
|
||||
# eq:
|
||||
# Gitea::PullRequest::CloseService.call(owner.login, repo.identifier, pull.gpid, pull.base, current_user.gitea_token)
|
||||
def initialize(owner, repo, number, base,token=nil)
|
||||
colse_pull_params = Hash.new.merge(base: base, state: 'closed').compact
|
||||
|
||||
super(owner, repo, number, colse_pull_params, token)
|
||||
end
|
||||
|
||||
def call
|
||||
super
|
||||
end
|
||||
|
||||
end
|
||||
@@ -18,7 +18,9 @@ class Gitea::PullRequest::MergeService < Gitea::ClientService
|
||||
end
|
||||
|
||||
def call
|
||||
post(url, request_params)
|
||||
response = post(url, request_params)
|
||||
|
||||
render_200_no_body(response)
|
||||
end
|
||||
|
||||
private
|
||||
@@ -27,7 +29,6 @@ class Gitea::PullRequest::MergeService < Gitea::ClientService
|
||||
end
|
||||
|
||||
def request_params
|
||||
Hash.new.merge(token: token, data: params)
|
||||
Hash.new.merge(token: token, data: params.compact)
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
22
app/services/gitea/pull_request/open_service.rb
Normal file
22
app/services/gitea/pull_request/open_service.rb
Normal file
@@ -0,0 +1,22 @@
|
||||
class Gitea::PullRequest::OpenService < Gitea::PullRequest::UpdateService
|
||||
attr_reader :owner, :repo, :base, :number, :token
|
||||
|
||||
# params:
|
||||
# owner: owner of the repo
|
||||
# repo: name of the repo
|
||||
# base: branch name of base
|
||||
# number: number of pull request
|
||||
# token: token of gitea user
|
||||
# eq:
|
||||
# Gitea::PullRequest::OpenService.new(owner.login, repo.identifier, pr.gpid, pr.base, current_user.gitea_token)
|
||||
def initialize(owner, repo, number, base, token=nil)
|
||||
open_pull_params = Hash.new.merge(base: base, state: 'open').compact
|
||||
|
||||
super(owner, repo, number, open_pull_params, token)
|
||||
end
|
||||
|
||||
def call
|
||||
super
|
||||
end
|
||||
|
||||
end
|
||||
@@ -1,26 +1,54 @@
|
||||
class Gitea::PullRequest::UpdateService < Gitea::ClientService
|
||||
attr_reader :user, :repo, :params,:pull_request_id
|
||||
attr_reader :owner, :repo, :params, :number, :token
|
||||
|
||||
|
||||
def initialize(user, repo, params,pull_request_id)
|
||||
@user = user
|
||||
# params:
|
||||
# {
|
||||
# "assignee": "string",
|
||||
# "assignees": [
|
||||
# "string"
|
||||
# ],
|
||||
# "base": "string",
|
||||
# "body": "string",
|
||||
# "due_date": "2021-01-11T10:11:52.074Z",
|
||||
# "labels": [
|
||||
# 0
|
||||
# ],
|
||||
# "milestone": 0,
|
||||
# "state": "string",
|
||||
# "title": "string",
|
||||
# "unset_due_date": true
|
||||
# }
|
||||
def initialize(owner, repo, number, params, token=nil)
|
||||
@owner = owner
|
||||
@repo = repo
|
||||
@params = params
|
||||
@pull_request_id = pull_request_id
|
||||
@number = number
|
||||
@token = token
|
||||
end
|
||||
|
||||
def call
|
||||
put(url, request_params)
|
||||
response = patch(url, request_params)
|
||||
|
||||
status, message, body = render_response(response)
|
||||
json_format(status, message, body)
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def request_params
|
||||
Hash.new.merge(token: @user.gitea_token, data: @params)
|
||||
Hash.new.merge(token: token, data: @params)
|
||||
end
|
||||
|
||||
def url
|
||||
"/repos/#{@user.try(:login)}/#{@repo}/pulls/#{@pull_request_id}".freeze
|
||||
"/repos/#{owner}/#{repo}/pulls/#{number}".freeze
|
||||
end
|
||||
|
||||
def json_format(status, message, body)
|
||||
case status
|
||||
when 201 then success(body)
|
||||
else
|
||||
error(message, status)
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user