From db6e3b0f383500882d71d3c2e03b2650a0c34bf8 Mon Sep 17 00:00:00 2001 From: Jasder <2053003901@@qq.com> Date: Fri, 25 Sep 2020 10:41:32 +0800 Subject: [PATCH 1/4] FIX fork users list api bug --- app/controllers/projects_controller.rb | 2 +- app/models/fork_user.rb | 2 +- app/views/projects/fork_users.json.jbuilder | 7 +++---- 3 files changed, 5 insertions(+), 6 deletions(-) diff --git a/app/controllers/projects_controller.rb b/app/controllers/projects_controller.rb index f46945f80..b4fd3e3b4 100644 --- a/app/controllers/projects_controller.rb +++ b/app/controllers/projects_controller.rb @@ -94,7 +94,7 @@ class ProjectsController < ApplicationController end def fork_users - fork_users = @project.fork_users.includes(:user, :project).order("fork_users.created_at desc").distinct + fork_users = @project.fork_users.includes(:user, :project, :fork_project).order("fork_users.created_at desc").distinct @forks_count = fork_users.size @fork_users = paginate(fork_users) end diff --git a/app/models/fork_user.rb b/app/models/fork_user.rb index 4a4d5f77e..749f74980 100644 --- a/app/models/fork_user.rb +++ b/app/models/fork_user.rb @@ -1,6 +1,6 @@ class ForkUser < ApplicationRecord belongs_to :project belongs_to :user - belongs_to :fork_project, class_name: 'ForkUser', foreign_key: :fork_project_id + belongs_to :fork_project, class_name: 'Project', foreign_key: :fork_project_id end diff --git a/app/views/projects/fork_users.json.jbuilder b/app/views/projects/fork_users.json.jbuilder index 3feb31edb..a539797e7 100644 --- a/app/views/projects/fork_users.json.jbuilder +++ b/app/views/projects/fork_users.json.jbuilder @@ -2,10 +2,9 @@ json.count @forks_count json.users do json.array! @fork_users.each do |f| user = f.user - fork_project = Project.select(:id,:name, :identifier).find_by(id: f.fork_project_id) - json.id f.fork_project_id - json.identifier fork_project.identifier - json.name "#{user.try(:show_real_name)}/#{fork_project.try(:name)}" + json.id f.fork_project.id + json.identifier f.fork_project.identifier + json.name "#{user.try(:show_real_name)}/#{f.fork_project.try(:name)}" json.login user.try(:login) json.image_url url_to_avatar(user) json.format_time f.created_at.strftime("%Y-%m-%d") From d24e7b6a1035f18dbbdba1f2ceaf83610dfb29cd Mon Sep 17 00:00:00 2001 From: Jasder <2053003901@@qq.com> Date: Tue, 29 Sep 2020 11:45:29 +0800 Subject: [PATCH 2/4] FIX repository create file with token bug --- app/interactors/gitea/create_file_interactor.rb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/app/interactors/gitea/create_file_interactor.rb b/app/interactors/gitea/create_file_interactor.rb index 278d5d857..acceeaa97 100644 --- a/app/interactors/gitea/create_file_interactor.rb +++ b/app/interactors/gitea/create_file_interactor.rb @@ -9,7 +9,8 @@ module Gitea attr_reader :error, :result def initialize(token, owner, params) - @owner = owner + @token = token + @owner = owner @params = params end From 3777059e487ebf86bb0626f0698885149b58dd27 Mon Sep 17 00:00:00 2001 From: Jasder <2053003901@@qq.com> Date: Tue, 29 Sep 2020 11:46:18 +0800 Subject: [PATCH 3/4] ADD gitea api request url for escape --- app/services/gitea/client_service.rb | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/app/services/gitea/client_service.rb b/app/services/gitea/client_service.rb index 584276378..06cad0e45 100644 --- a/app/services/gitea/client_service.rb +++ b/app/services/gitea/client_service.rb @@ -20,10 +20,6 @@ class Gitea::ClientService < ApplicationService # } def post(url, params={}) puts "[gitea] request params: #{params}" - request_url = [api_url, url].join('').freeze - Rails.logger.info("######_____api____request_url_______###############{request_url}") - Rails.logger.info("######_____api____request_params_______###############{params}") - auth_token = authen_params(params[:token]) response = conn(auth_token).post do |req| req.url "#{request_url}" @@ -35,7 +31,7 @@ class Gitea::ClientService < ApplicationService def get(url, params={}) auth_token = authen_params(params[:token]) conn(auth_token).get do |req| - req.url full_url(url) + req.url full_url(url, 'get') params.except(:token).each_pair do |key, value| req.params["#{key}"] = value end @@ -117,14 +113,15 @@ class Gitea::ClientService < ApplicationService [domain, base_url].join('') end - def full_url(api_rest) - [api_url, api_rest].join('').freeze + def full_url(api_rest, action='post') + url = [api_url, api_rest].join('').freeze + url = action === 'get' ? url : URI.escape(url) + puts "[gitea] request url: #{url}" + return url end def render_status(response) - Rails.logger.info("###############____response__#{response}") - Rails.logger.info("###############____response_status_#{response.status}") - Rails.logger.info("###############____response_body_#{response.body}") + puts "[gitea] response status: #{response.status}" mark = "[gitea] " case response.status when 201, 200, 202 From c934933c7cdacf73b2ab0eaf530c99fa0b0a51b2 Mon Sep 17 00:00:00 2001 From: Jasder <2053003901@@qq.com> Date: Tue, 29 Sep 2020 13:50:24 +0800 Subject: [PATCH 4/4] FIX code bug --- app/services/gitea/client_service.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/services/gitea/client_service.rb b/app/services/gitea/client_service.rb index 06cad0e45..f2581b724 100644 --- a/app/services/gitea/client_service.rb +++ b/app/services/gitea/client_service.rb @@ -22,7 +22,7 @@ class Gitea::ClientService < ApplicationService puts "[gitea] request params: #{params}" auth_token = authen_params(params[:token]) response = conn(auth_token).post do |req| - req.url "#{request_url}" + req.url full_url(url) req.body = params[:data].to_json end render_status(response)