forgeplus/app/services/gitea/labels/delete_service.rb

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