From 391b77b23c1bf2ba212900fece55fd2b4803daf3 Mon Sep 17 00:00:00 2001 From: Jasder <2053003901@@qq.com> Date: Fri, 29 May 2020 19:07:33 +0800 Subject: [PATCH 1/8] FIX bug --- app/views/projects/branches.json.jbuilder | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/views/projects/branches.json.jbuilder b/app/views/projects/branches.json.jbuilder index 7e299d5e3..58f7af98f 100644 --- a/app/views/projects/branches.json.jbuilder +++ b/app/views/projects/branches.json.jbuilder @@ -13,7 +13,7 @@ json.array! @branches do |branch| json.time_from_now time_from_now(branch['commit']['timestamp']) end - user = find_user_by_login_or_mail(branch['commit']['author']['username']) + user = find_user_by_login_or_mail(branch['commit']['author']['name']) json.author do if user json.login user.login From c018e79b884686b6e0a0e2de2ca978fb727d456c Mon Sep 17 00:00:00 2001 From: Jasder <2053003901@@qq.com> Date: Fri, 29 May 2020 19:24:55 +0800 Subject: [PATCH 2/8] FIX update git commit api for gitea platform --- app/controllers/repositories_controller.rb | 1 - app/views/repositories/commit.json.jbuilder | 6 +++--- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/app/controllers/repositories_controller.rb b/app/controllers/repositories_controller.rb index f19eb7bf1..0a88fb22c 100644 --- a/app/controllers/repositories_controller.rb +++ b/app/controllers/repositories_controller.rb @@ -49,7 +49,6 @@ class RepositoriesController < ApplicationController def commit @commit = Gitea::Repository::Commits::GetService.new(@repo.user.login, @repo.identifier, params[:sha], current_user.gitea_token).call - @custom_commit = Gitea::Repository::Commits::GetService.new(@repo.user.login, @repo.identifier, params[:sha], current_user.gitea_token, true).call end def tags diff --git a/app/views/repositories/commit.json.jbuilder b/app/views/repositories/commit.json.jbuilder index 7a547316f..2624421e3 100644 --- a/app/views/repositories/commit.json.jbuilder +++ b/app/views/repositories/commit.json.jbuilder @@ -1,6 +1,6 @@ json.key_format! camelize: :lower -json.additions @custom_commit['TotalAddition'] -json.deletions @custom_commit['TotalDeletion'] +json.additions @commit['commit_diff']['TotalAddition'] +json.deletions @commit['commit_diff']['TotalDeletion'] json.sha @commit['sha'] json.url request.url json.commit do @@ -23,4 +23,4 @@ json.parents @commit['parents'] do |parent| json.url EduSetting.get('host_name') + commit_repository_path(@repo, parent['sha']) end -json.files @custom_commit['Files'] +json.files @commit['commit_diff']['Files'] From fe2599df7e6e29b48d0dab320a52c13b9d764974 Mon Sep 17 00:00:00 2001 From: Jasder <2053003901@@qq.com> Date: Mon, 1 Jun 2020 09:24:29 +0800 Subject: [PATCH 3/8] Update README.md file --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 1a2074aeb..8fb72fbab 100644 --- a/README.md +++ b/README.md @@ -1632,6 +1632,8 @@ http://localhost:3000/api/repositories/5845/commits/b0c4a4a1487d53acebf2addc544b |-- IsCreated |boolean|是否为新添加的文件,true:是; false:否| |-- IsDeleted |boolean|是否为删除的文件,true:是;false:否| |-- IsRenamed |boolean|是否为重命名的文件,true:是,false:否| +|-- IsBin |boolean|是否为二进制文件,true:是,false:否| +|-- IsLFSFile |boolean|是否git lfs操作的大文件,true:是,false:否| |-- IsSubmodule |boolean|收否为子模块,true:是;false:否| |-- Sections |array| | |---- Name |string|文件名称| From 5a887fdd6664880fd9e90ee9afd5924473bf454e Mon Sep 17 00:00:00 2001 From: Jasder <2053003901@@qq.com> Date: Mon, 1 Jun 2020 10:12:10 +0800 Subject: [PATCH 4/8] ADD repo_id column for projects api --- app/views/projects/index.json.jbuilder | 1 + 1 file changed, 1 insertion(+) diff --git a/app/views/projects/index.json.jbuilder b/app/views/projects/index.json.jbuilder index 858cb5ac2..446b622d4 100644 --- a/app/views/projects/index.json.jbuilder +++ b/app/views/projects/index.json.jbuilder @@ -4,6 +4,7 @@ json.projects @projects do |project| next if user.blank? json.id project.id + json.repo_id project&.repository.id json.identifier project.identifier json.name project.name json.description Nokogiri::HTML(project.description).text From 37fa25d57d3e7406072100c5d1678e8b2b8c2b04 Mon Sep 17 00:00:00 2001 From: Jasder <2053003901@@qq.com> Date: Mon, 1 Jun 2020 14:40:51 +0800 Subject: [PATCH 5/8] FIX git single commit api bug --- app/views/repositories/commit.json.jbuilder | 1 + 1 file changed, 1 insertion(+) diff --git a/app/views/repositories/commit.json.jbuilder b/app/views/repositories/commit.json.jbuilder index 2624421e3..8901cad3c 100644 --- a/app/views/repositories/commit.json.jbuilder +++ b/app/views/repositories/commit.json.jbuilder @@ -7,6 +7,7 @@ json.commit do @commit['commit'].delete('url') json.author @commit['commit']['author'] json.committer @commit['commit']['committer'] + json.message @commit['commit']['message'] json.tree do @commit['commit']['tree']['sha'] end From f64243d18891d697a62ea3fb106cddeeb83e4b95 Mon Sep 17 00:00:00 2001 From: Jasder <2053003901@@qq.com> Date: Mon, 1 Jun 2020 15:28:46 +0800 Subject: [PATCH 6/8] FIX commits api bug --- app/controllers/repositories_controller.rb | 3 ++- app/services/gitea/client_service.rb | 3 +++ .../gitea/repository/commits/list_service.rb | 16 +++++++++------- 3 files changed, 14 insertions(+), 8 deletions(-) diff --git a/app/controllers/repositories_controller.rb b/app/controllers/repositories_controller.rb index 0a88fb22c..f65853be9 100644 --- a/app/controllers/repositories_controller.rb +++ b/app/controllers/repositories_controller.rb @@ -44,7 +44,8 @@ class RepositoriesController < ApplicationController end def commits - @hash_commit = Gitea::Repository::Commits::ListService.new(@project.owner, @project.identifier, sha: params[:sha], page: params[:page]).call + @hash_commit = Gitea::Repository::Commits::ListService.new(@project.owner.login, @project.identifier, + sha: params[:sha], page: params[:page], limit: params[:limit], token: current_user&.gitea_token).call end def commit diff --git a/app/services/gitea/client_service.rb b/app/services/gitea/client_service.rb index 9f9084ffb..7fd990c6f 100644 --- a/app/services/gitea/client_service.rb +++ b/app/services/gitea/client_service.rb @@ -1,6 +1,9 @@ class Gitea::ClientService < ApplicationService attr_reader :username, :secret, :token, :url, :params + PAGINATE_DEFAULT_PAGE = 1 + PAGINATE_DEFAULT_LIMIT = 20 + def initialize(options={}) @username = options[:username] @secret = options[:password] diff --git a/app/services/gitea/repository/commits/list_service.rb b/app/services/gitea/repository/commits/list_service.rb index 4bba67457..124cf544d 100644 --- a/app/services/gitea/repository/commits/list_service.rb +++ b/app/services/gitea/repository/commits/list_service.rb @@ -1,12 +1,15 @@ # Get a list of all commits from a repository class Gitea::Repository::Commits::ListService < Gitea::ClientService - attr_reader :user, :repo_name, :args + attr_reader :owner, :repo_name, :args # sha: SHA or branch to start listing commits from (usually 'master') - def initialize(user, repo_name, **args) - @user = user + # ex: + # Gitea::Repository::Commits::ListService.new(@project.owner.login, @project.identifier, + # sha: params[:sha], page: params[:page], limit: params[:limit], token: current_user&.gitea_token).call + def initialize(owner, repo_name, **args) + @owner = owner @repo_name = repo_name - @args = { sha: 'master', page: 1 }.merge(args.compact) + @args = args end def call @@ -16,15 +19,14 @@ class Gitea::Repository::Commits::ListService < Gitea::ClientService private def params - @args.merge(token: user.gitea_token) + { sha: args[:sha] || 'master', page: args[:page] || PAGINATE_DEFAULT_PAGE, limit: args[:limit] || PAGINATE_DEFAULT_LIMIT, token: args[:token] || "" } end def url - "/repos/#{user.login}/#{repo_name}/commits".freeze + "/repos/#{owner}/#{repo_name}/commits".freeze end def render_result(response) - case response.status when 200 result = {} From 03448c76f3dc5a71e288ffd3347c55e783df364e Mon Sep 17 00:00:00 2001 From: Jasder <2053003901@@qq.com> Date: Mon, 1 Jun 2020 15:29:00 +0800 Subject: [PATCH 7/8] FIX code review --- app/services/gitea/repository/tags/list_service.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/services/gitea/repository/tags/list_service.rb b/app/services/gitea/repository/tags/list_service.rb index e1f139820..0f8158b3e 100644 --- a/app/services/gitea/repository/tags/list_service.rb +++ b/app/services/gitea/repository/tags/list_service.rb @@ -21,11 +21,11 @@ class Gitea::Repository::Tags::ListService < Gitea::ClientService end def set_page - (params[:page] || 1).to_i + (params[:page] || PAGINATE_DEFAULT_PAGE).to_i end def set_limit - (params[:limit] || 50).to_i + (params[:limit] || PAGINATE_DEFAULT_LIMIT).to_i end def url From ffa4a948ee109a3acbc7cfdb3ecc397e8e6fc158 Mon Sep 17 00:00:00 2001 From: Jasder <2053003901@@qq.com> Date: Mon, 1 Jun 2020 15:33:40 +0800 Subject: [PATCH 8/8] FIX get repository api bug --- app/controllers/repositories_controller.rb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/app/controllers/repositories_controller.rb b/app/controllers/repositories_controller.rb index f65853be9..7f7173ee1 100644 --- a/app/controllers/repositories_controller.rb +++ b/app/controllers/repositories_controller.rb @@ -10,7 +10,8 @@ class RepositoriesController < ApplicationController def show @branches_count = Gitea::Repository::BranchesService.new(@project.owner, @project.identifier).call&.size - @commits_count = Gitea::Repository::Commits::ListService.new(@project.owner, @project.identifier).call[:total_count] + @commits_count = Gitea::Repository::Commits::ListService.new(@project.owner.login, @project.identifier, + sha: params[:sha], page: params[:page], limit: params[:limit], token: current_user&.gitea_token).call[:total_count] @tags_count = Gitea::Repository::Tags::ListService.new(current_user&.gitea_token, @project.owner.login, @project.identifier).call&.size @result = Gitea::Repository::GetService.new(@project.owner, @project.identifier).call @project_fork_id = @project.try(:forked_from_project_id)