ADD gitea add repository api

dev_forge
Jasder 5 years ago
parent 0d0d4abe7f
commit 1040f7261f

@ -27,6 +27,15 @@ class Gitea::ClientService < ApplicationService
render_status(response)
end
def get(url, params={})
auth_token = authen_params(params[:token])
response = conn(auth_token).get do |req|
req.url full_url(url)
req.body = params[:data].to_json
end
render_status(response)
end
private
def conn(auth={})
username = auth[:username] || access_key_id
@ -73,11 +82,15 @@ class Gitea::ClientService < ApplicationService
[domain, base_url].join('')
end
def full_url(api_rest)
[api_url, api_rest].join('').freeze
end
def render_status(response)
mark = "[gitea] "
case response.status
when 201
when 201, 200
JSON.parse(response&.body)
when 401
raise Error, mark + "401"

@ -0,0 +1,23 @@
class Gitea::Repository::GetService < Gitea::ClientService
attr_reader :user, :repo
def initialize(user, repo)
@user = user
@repo = repo
end
def call
get(url, params)
end
private
def params
Hash.new.merge(token: user.gitea_token)
end
def url
"/repos/#{user.login}/#{repo}".freeze
end
end
Loading…
Cancel
Save