| @@ -2,29 +2,30 @@ class SyncForgeController < ApplicationController | |||||
| before_action :check_token | before_action :check_token | ||||
| def create | def create | ||||
| sync_params = params[:sync_params] | |||||
| Rails.logger.info("========sync_params=2==#{params[:sync_params]}====") | |||||
| # sync_params = eval(sync_params) | |||||
| #以前已同步的项目,那么肯定存在仓库 | |||||
| if Project.exists?(id: sync_params[:id], identifier: sync_params[:identifier]) | |||||
| project = Project.find_by(id: sync_params[:id]) | |||||
| check_sync_project(project, sync_params) | |||||
| else #新建项目 | |||||
| ActiveRecord::Base.transaction do | |||||
| sync_params = params[:sync_params] | |||||
| project_user = User.where(login: sync_params[:owner_login]).first.id | |||||
| project_params = { | |||||
| identifier: sync_params[:identifier], | |||||
| user_id: user_id, | |||||
| is_public: sync_params[:is_public] | |||||
| } | |||||
| project = Projects::CreateService.new(project_user, project_params).call | |||||
| if project.present? | |||||
| project.project_score.create!( sync_params[:project_score]) if sync_params[:project_score] | |||||
| SyncRepositoryJob.perform_later(project.repository, sync_params[:repository_params]) if sync_params[:repository_params] | |||||
| check_new_project(project, sync_params) | |||||
| end | |||||
| #以前已同步的项目,那么肯定存在仓库 | |||||
| if Project.exists?(id: sync_params[:id], identifier: sync_params[:identifier]) | |||||
| project = Project.find_by(id: sync_params[:id]) | |||||
| check_sync_project(project, sync_params) | |||||
| else #新建项目 | |||||
| project_user = User.where(login: sync_params[:owner_login]).first | |||||
| project_params = { | |||||
| identifier: sync_params[:identifier], | |||||
| user_id: project_user.id, | |||||
| is_public: sync_params[:is_public] | |||||
| } | |||||
| project = Projects::CreateService.new(project_user, project_params).call | |||||
| if project.present? | |||||
| project.project_score.create!( sync_params[:project_score]) if sync_params[:project_score] | |||||
| SyncRepositoryJob.perform_later(project.repository, sync_params[:repository_params]) if sync_params[:repository_params] | |||||
| check_new_project(project, sync_params) | |||||
| end | |||||
| rescue Exception => e | |||||
| Rails.logger.info("========has_errors:==#{e}====") | |||||
| end | end | ||||
| end | end | ||||