为项目新增sonar_url 且增加回调接口
This commit is contained in:
parent
38e55cea40
commit
91fa87ada5
1
Gemfile
1
Gemfile
|
@ -63,6 +63,7 @@ end
|
||||||
|
|
||||||
group :development do
|
group :development do
|
||||||
gem 'prettier'
|
gem 'prettier'
|
||||||
|
gem 'pry-rails', '~> 0.3.9'
|
||||||
gem 'rubocop', '~> 0.52.0'
|
gem 'rubocop', '~> 0.52.0'
|
||||||
gem 'solargraph', '~> 0.38.0'
|
gem 'solargraph', '~> 0.38.0'
|
||||||
gem 'awesome_print'
|
gem 'awesome_print'
|
||||||
|
|
|
@ -99,6 +99,7 @@ GEM
|
||||||
archive-zip (~> 0.10)
|
archive-zip (~> 0.10)
|
||||||
nokogiri (~> 1.8)
|
nokogiri (~> 1.8)
|
||||||
chunky_png (1.3.11)
|
chunky_png (1.3.11)
|
||||||
|
coderay (1.1.3)
|
||||||
concurrent-ruby (1.1.6)
|
concurrent-ruby (1.1.6)
|
||||||
connection_pool (2.2.2)
|
connection_pool (2.2.2)
|
||||||
crass (1.0.6)
|
crass (1.0.6)
|
||||||
|
@ -217,6 +218,11 @@ GEM
|
||||||
popper_js (1.16.0)
|
popper_js (1.16.0)
|
||||||
powerpack (0.1.2)
|
powerpack (0.1.2)
|
||||||
prettier (0.18.2)
|
prettier (0.18.2)
|
||||||
|
pry (0.12.2)
|
||||||
|
coderay (~> 1.1.0)
|
||||||
|
method_source (~> 0.9.0)
|
||||||
|
pry-rails (0.3.9)
|
||||||
|
pry (>= 0.10.4)
|
||||||
public_suffix (4.0.3)
|
public_suffix (4.0.3)
|
||||||
puma (3.12.2)
|
puma (3.12.2)
|
||||||
raabro (1.4.0)
|
raabro (1.4.0)
|
||||||
|
@ -469,6 +475,7 @@ DEPENDENCIES
|
||||||
parallel (~> 1.19, >= 1.19.1)
|
parallel (~> 1.19, >= 1.19.1)
|
||||||
pdfkit
|
pdfkit
|
||||||
prettier
|
prettier
|
||||||
|
pry-rails (~> 0.3.9)
|
||||||
puma (~> 3.11)
|
puma (~> 3.11)
|
||||||
rack-cors
|
rack-cors
|
||||||
rack-mini-profiler
|
rack-mini-profiler
|
||||||
|
|
|
@ -4,7 +4,7 @@ class ProjectsController < ApplicationController
|
||||||
include ProjectsHelper
|
include ProjectsHelper
|
||||||
include Acceleratorable
|
include Acceleratorable
|
||||||
|
|
||||||
before_action :require_login, except: %i[index branches branches_slice group_type_list simple show fork_users praise_users watch_users recommend about menu_list]
|
before_action :require_login, except: %i[index branches branches_slice group_type_list simple show fork_users praise_users watch_users recommend about menu_list sonar_url]
|
||||||
before_action :require_profile_completed, only: [:create, :migrate]
|
before_action :require_profile_completed, only: [:create, :migrate]
|
||||||
before_action :load_repository, except: %i[index group_type_list migrate create recommend]
|
before_action :load_repository, except: %i[index group_type_list migrate create recommend]
|
||||||
before_action :authorizate_user_can_edit_project!, only: %i[update]
|
before_action :authorizate_user_can_edit_project!, only: %i[update]
|
||||||
|
@ -58,14 +58,14 @@ class ProjectsController < ApplicationController
|
||||||
def migrate
|
def migrate
|
||||||
Projects::MigrateForm.new(mirror_params).validate!
|
Projects::MigrateForm.new(mirror_params).validate!
|
||||||
|
|
||||||
@project =
|
@project =
|
||||||
if enable_accelerator?(mirror_params[:clone_addr])
|
if enable_accelerator?(mirror_params[:clone_addr])
|
||||||
source_clone_url = mirror_params[:clone_addr]
|
source_clone_url = mirror_params[:clone_addr]
|
||||||
uid_logger("########## 已动加速器 ##########")
|
uid_logger("########## 已动加速器 ##########")
|
||||||
result = Gitea::Accelerator::MigrateService.call(mirror_params)
|
result = Gitea::Accelerator::MigrateService.call(mirror_params)
|
||||||
if result[:status] == :success
|
if result[:status] == :success
|
||||||
Rails.logger.info "########## 加速镜像成功 ########## "
|
Rails.logger.info "########## 加速镜像成功 ########## "
|
||||||
Projects::MigrateService.call(current_user,
|
Projects::MigrateService.call(current_user,
|
||||||
mirror_params.merge(source_clone_url: source_clone_url,
|
mirror_params.merge(source_clone_url: source_clone_url,
|
||||||
clone_addr: accelerator_url(mirror_params[:repository_name])))
|
clone_addr: accelerator_url(mirror_params[:repository_name])))
|
||||||
else
|
else
|
||||||
|
@ -117,7 +117,7 @@ class ProjectsController < ApplicationController
|
||||||
ActiveRecord::Base.transaction do
|
ActiveRecord::Base.transaction do
|
||||||
# TODO:
|
# TODO:
|
||||||
# 临时特殊处理修改website、lesson_url操作方法
|
# 临时特殊处理修改website、lesson_url操作方法
|
||||||
if project_params.has_key?("website")
|
if project_params.has_key?("website")
|
||||||
@project.update(project_params)
|
@project.update(project_params)
|
||||||
elsif project_params.has_key?("default_branch")
|
elsif project_params.has_key?("default_branch")
|
||||||
@project.update(project_params)
|
@project.update(project_params)
|
||||||
|
@ -126,11 +126,11 @@ class ProjectsController < ApplicationController
|
||||||
}
|
}
|
||||||
Gitea::Repository::UpdateService.call(@owner, @project.identifier, gitea_params)
|
Gitea::Repository::UpdateService.call(@owner, @project.identifier, gitea_params)
|
||||||
else
|
else
|
||||||
validate_params = project_params.slice(:name, :description,
|
validate_params = project_params.slice(:name, :description,
|
||||||
:project_category_id, :project_language_id, :private, :identifier)
|
:project_category_id, :project_language_id, :private, :identifier)
|
||||||
|
|
||||||
Projects::UpdateForm.new(validate_params.merge(user_id: @project.user_id, project_identifier: @project.identifier)).validate!
|
Projects::UpdateForm.new(validate_params.merge(user_id: @project.user_id, project_identifier: @project.identifier)).validate!
|
||||||
|
|
||||||
private = @project.forked_from_project.present? ? !@project.forked_from_project.is_public : params[:private] || false
|
private = @project.forked_from_project.present? ? !@project.forked_from_project.is_public : params[:private] || false
|
||||||
|
|
||||||
new_project_params = project_params.except(:private).merge(is_public: !private)
|
new_project_params = project_params.except(:private).merge(is_public: !private)
|
||||||
|
@ -225,6 +225,14 @@ class ProjectsController < ApplicationController
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def sonar_url
|
||||||
|
token = request.headers["HTTP_SONAR_TOKEN"]
|
||||||
|
playod = JWT.decode(token,EducoderOauth.client_id)[0]
|
||||||
|
data = HashWithIndifferentAccess.new playod
|
||||||
|
return normal_status(-1, "sonar_url不能为空") if data["sonar_url"].blank?
|
||||||
|
@project.update(sonar_url:data["sonar_url"])
|
||||||
|
render :json => { status: 0, message: "更新成功"}
|
||||||
|
end
|
||||||
|
|
||||||
private
|
private
|
||||||
def project_params
|
def project_params
|
||||||
|
|
|
@ -54,6 +54,7 @@ module ProjectsHelper
|
||||||
tmp_json = tmp_json.merge({
|
tmp_json = tmp_json.merge({
|
||||||
identifier: render_identifier(project),
|
identifier: render_identifier(project),
|
||||||
name: project.name,
|
name: project.name,
|
||||||
|
sonar_url: project.sonar_url,
|
||||||
platform: project.platform,
|
platform: project.platform,
|
||||||
id: project.id,
|
id: project.id,
|
||||||
repo_id: repo.id,
|
repo_id: repo.id,
|
||||||
|
|
|
@ -305,7 +305,7 @@ Rails.application.routes.draw do
|
||||||
# resource :unread_message_info, only: [:show]
|
# resource :unread_message_info, only: [:show]
|
||||||
|
|
||||||
# 通知中心
|
# 通知中心
|
||||||
resources :messages, only: [:index, :create] do
|
resources :messages, only: [:index, :create] do
|
||||||
collection do
|
collection do
|
||||||
post :read
|
post :read
|
||||||
|
|
||||||
|
@ -422,6 +422,7 @@ Rails.application.routes.draw do
|
||||||
get :branches
|
get :branches
|
||||||
get :branches_slice
|
get :branches_slice
|
||||||
get :simple
|
get :simple
|
||||||
|
post :sonar_url
|
||||||
get :watchers, to: 'projects#watch_users'
|
get :watchers, to: 'projects#watch_users'
|
||||||
get :stargazers, to: 'projects#praise_users'
|
get :stargazers, to: 'projects#praise_users'
|
||||||
get :members, to: 'projects#fork_users'
|
get :members, to: 'projects#fork_users'
|
||||||
|
@ -674,9 +675,9 @@ Rails.application.routes.draw do
|
||||||
resources :project_licenses
|
resources :project_licenses
|
||||||
resources :project_ignores
|
resources :project_ignores
|
||||||
resources :reversed_keywords
|
resources :reversed_keywords
|
||||||
resources :system_notifications
|
resources :system_notifications
|
||||||
resources :message_templates, only: [:index, :edit, :update] do
|
resources :message_templates, only: [:index, :edit, :update] do
|
||||||
collection do
|
collection do
|
||||||
get :init_data
|
get :init_data
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -0,0 +1,5 @@
|
||||||
|
class AddSonarUrlToProjects < ActiveRecord::Migration[5.2]
|
||||||
|
def change
|
||||||
|
add_column :projects, :sonar_url, :string
|
||||||
|
end
|
||||||
|
end
|
Loading…
Reference in New Issue