mirror of
https://gitlink.org.cn/Gitlink/forgeplus.git
synced 2026-05-11 07:15:55 +08:00
init project
This commit is contained in:
34
app/services/gitea/versions/create_service.rb
Normal file
34
app/services/gitea/versions/create_service.rb
Normal file
@@ -0,0 +1,34 @@
|
||||
class Gitea::Versions::CreateService < Gitea::ClientService
|
||||
attr_reader :token, :user_name, :repo, :params
|
||||
|
||||
# params EX:
|
||||
# {
|
||||
# "body": "sylor", #user_name
|
||||
# "draft": false,
|
||||
# "name": "string",
|
||||
# "prerelease": true,
|
||||
# "tag_name": "string",
|
||||
# "target_commitish": "string"
|
||||
# }
|
||||
def initialize(token, user_name, repo, params)
|
||||
@token = token
|
||||
@params = params
|
||||
@user_name = user_name
|
||||
@repo = repo
|
||||
end
|
||||
|
||||
def call
|
||||
post(url, request_params)
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def request_params
|
||||
Hash.new.merge(token: token, data: params)
|
||||
end
|
||||
|
||||
def url
|
||||
"/repos/#{@user_name}/#{@repo}/releases".freeze
|
||||
end
|
||||
|
||||
end
|
||||
26
app/services/gitea/versions/delete_service.rb
Normal file
26
app/services/gitea/versions/delete_service.rb
Normal file
@@ -0,0 +1,26 @@
|
||||
class Gitea::Versions::DeleteService < Gitea::ClientService
|
||||
attr_reader :token, :user_name, :repo,:version_gid
|
||||
|
||||
def initialize(token, user_name, repo,version_gid)
|
||||
@token = token
|
||||
@user_name = user_name
|
||||
@repo = repo
|
||||
@version_gid = version_gid
|
||||
end
|
||||
|
||||
def call
|
||||
response = delete(url, params)
|
||||
return response
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def params
|
||||
Hash.new.merge(token: @token)
|
||||
end
|
||||
|
||||
def url
|
||||
"/repos/#{@user_name}/#{@repo}/releases/#{@version_gid}".freeze
|
||||
end
|
||||
|
||||
end
|
||||
35
app/services/gitea/versions/list_service.rb
Normal file
35
app/services/gitea/versions/list_service.rb
Normal file
@@ -0,0 +1,35 @@
|
||||
# Get a list of all commits from a repository
|
||||
class Gitea::Versions::ListService < Gitea::ClientService
|
||||
attr_reader :token, :user_name, :repo
|
||||
|
||||
# sha: SHA or branch to start listing commits from (usually 'master')
|
||||
def initialize(token, user_name, repo)
|
||||
@token = token
|
||||
@user_name = user_name
|
||||
@repo = repo
|
||||
end
|
||||
|
||||
def call
|
||||
response = get(url, params)
|
||||
render_result(response)
|
||||
end
|
||||
|
||||
private
|
||||
def params
|
||||
Hash.new.merge(token: token)
|
||||
end
|
||||
|
||||
def url
|
||||
"/repos/#{@user_name}/#{@repo}/releases".freeze
|
||||
end
|
||||
|
||||
def render_result(response)
|
||||
body = JSON.parse(response.body)
|
||||
case response.status
|
||||
when 200
|
||||
body
|
||||
else
|
||||
{status: -1, message: "#{body['message']}"}
|
||||
end
|
||||
end
|
||||
end
|
||||
35
app/services/gitea/versions/update_service.rb
Normal file
35
app/services/gitea/versions/update_service.rb
Normal file
@@ -0,0 +1,35 @@
|
||||
class Gitea::Versions::UpdateService < Gitea::ClientService
|
||||
attr_reader :token, :user_name, :repo, :params, :version_gid
|
||||
|
||||
# params EX:
|
||||
# {
|
||||
# "body": "sylor", #user_name
|
||||
# "draft": false,
|
||||
# "name": "string",
|
||||
# "prerelease": true,
|
||||
# "tag_name": "string",
|
||||
# "target_commitish": "string"
|
||||
# }
|
||||
def initialize(token, user_name, repo, params,version_gid)
|
||||
@token = token
|
||||
@params = params
|
||||
@user_name = user_name
|
||||
@repo = repo
|
||||
@version_gid = version_gid
|
||||
end
|
||||
|
||||
def call
|
||||
patch(url, request_params)
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def request_params
|
||||
Hash.new.merge(token: token, data: params)
|
||||
end
|
||||
|
||||
def url
|
||||
"/repos/#{@user_name}/#{@repo}/releases/#{@version_gid}".freeze
|
||||
end
|
||||
|
||||
end
|
||||
Reference in New Issue
Block a user