From 35965f542ab1b7bbf7bbbd73ca9a35129a5e29aa Mon Sep 17 00:00:00 2001 From: yystopf Date: Tue, 18 Oct 2022 13:31:12 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=EF=BC=9A=E6=A0=87=E7=AD=BE?= =?UTF-8?q?=E5=90=8D=E5=AD=97=E5=88=97=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../repository/tags/list_name_service.rb | 23 +++++++++++++++++++ app/views/repositories/tags.json.jbuilder | 4 +++- 2 files changed, 26 insertions(+), 1 deletion(-) create mode 100644 app/services/gitea/repository/tags/list_name_service.rb diff --git a/app/services/gitea/repository/tags/list_name_service.rb b/app/services/gitea/repository/tags/list_name_service.rb new file mode 100644 index 000000000..0857ca11c --- /dev/null +++ b/app/services/gitea/repository/tags/list_name_service.rb @@ -0,0 +1,23 @@ +class Gitea::Repository::Tags::ListNameService < Gitea::ClientService + attr_reader :user, :repo, :name + + def initialize(user, repo, name=nil) + @user = user + @repo = repo + @name = name + end + + def call + response = get(url, params) + render_200_response(response) + end + + private + def params + Hash.new.merge(token: user.gitea_token, name: name) + end + + def url + "/repos/#{user.login}/#{repo}/tag_name_set".freeze + end +end diff --git a/app/views/repositories/tags.json.jbuilder b/app/views/repositories/tags.json.jbuilder index eaf11058e..b6fa1c491 100644 --- a/app/views/repositories/tags.json.jbuilder +++ b/app/views/repositories/tags.json.jbuilder @@ -1,5 +1,5 @@ json.array! @tags do |tag| - if tag.present? + if tag.present? && tag.is_a?(Hash) json.name tag['name'] json.id tag['id'] json.zipball_url render_zip_url(@owner, @repository, tag['name']) @@ -22,6 +22,8 @@ json.array! @tags do |tag| json.partial! 'commit_author', user: render_cache_commit_author(tag['commit']['author']), name: tag['commit']['author']['name'] end end + else + json.name tag end end