forked from Gitlink/forgeplus
40 lines
765 B
Ruby
40 lines
765 B
Ruby
class Gitea::Labels::DeleteService < Gitea::ClientService
|
|
attr_reader :user, :repo_name,:label_id
|
|
|
|
def initialize(user, repo_name, label_id)
|
|
@user = user
|
|
@repo_name = repo_name
|
|
@label_id = label_id
|
|
end
|
|
|
|
def call
|
|
response = delete(url, params)
|
|
render_result(response)
|
|
end
|
|
|
|
private
|
|
|
|
def params
|
|
Hash.new.merge(token: user.gitea_token)
|
|
end
|
|
|
|
def url
|
|
"/repos/#{user.login}/#{repo_name}/labels/#{label_id}".freeze
|
|
end
|
|
|
|
def render_result(response)
|
|
return_body = response.body
|
|
if return_body.present?
|
|
body = JSON.parse(response.body)
|
|
else
|
|
body = []
|
|
end
|
|
case response.status
|
|
when 204
|
|
body
|
|
else
|
|
{status: -1, message: "#{body['message'] if body.present?}"}
|
|
end
|
|
end
|
|
end
|