|  |  |  | @ -12,7 +12,8 @@ class Repositories::CreateService < ApplicationService | 
			
		
	
		
			
				
					|  |  |  |  |     ActiveRecord::Base.transaction do | 
			
		
	
		
			
				
					|  |  |  |  |       if @repository.save! | 
			
		
	
		
			
				
					|  |  |  |  |         gitea_repository = Gitea::Repository::CreateService.new(user.gitea_token, gitea_repository_params).call | 
			
		
	
		
			
				
					|  |  |  |  |         project.update_attributes(gpid: gitea_repository["id"]) if gitea_repository | 
			
		
	
		
			
				
					|  |  |  |  |         sync_project(gitea_repository) | 
			
		
	
		
			
				
					|  |  |  |  |         sync_repository(@repository, gitea_repository) | 
			
		
	
		
			
				
					|  |  |  |  |       end | 
			
		
	
		
			
				
					|  |  |  |  |       @repository | 
			
		
	
		
			
				
					|  |  |  |  |     end | 
			
		
	
	
		
			
				
					|  |  |  | @ -23,6 +24,18 @@ class Repositories::CreateService < ApplicationService | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |   private | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |   def sync_project(gitea_repository) | 
			
		
	
		
			
				
					|  |  |  |  |     project.update_columns(gpid: gitea_repository["id"]) if gitea_repository | 
			
		
	
		
			
				
					|  |  |  |  |   end | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |   def sync_repository(repository, gitea_repository) | 
			
		
	
		
			
				
					|  |  |  |  |     repository.update_columns(url: remote_repository_url) if gitea_repository | 
			
		
	
		
			
				
					|  |  |  |  |   end | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |   def remote_repository_url | 
			
		
	
		
			
				
					|  |  |  |  |     [Gitea.gitea_config[:domain], '/', user.login, '/', params[:identifier], ".git"].join("") | 
			
		
	
		
			
				
					|  |  |  |  |   end | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |   def repository_params | 
			
		
	
		
			
				
					|  |  |  |  |     params.merge(project_id: project.id) | 
			
		
	
		
			
				
					|  |  |  |  |   end | 
			
		
	
	
		
			
				
					|  |  |  | @ -43,9 +56,9 @@ class Repositories::CreateService < ApplicationService | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |     ignore  = project.ignore | 
			
		
	
		
			
				
					|  |  |  |  |     license = project.license | 
			
		
	
		
			
				
					|  |  |  |  |     hash.merge(license: license.content) if license | 
			
		
	
		
			
				
					|  |  |  |  |     hash.merge(gitignores: ignore.content) if ignore | 
			
		
	
		
			
				
					|  |  |  |  |     puts "[gitea] create repository params: #{hash}" | 
			
		
	
		
			
				
					|  |  |  |  |     hash = hash.merge(license: license.name) if license | 
			
		
	
		
			
				
					|  |  |  |  |     hash = hash.merge(gitignores: ignore.name) if ignore | 
			
		
	
		
			
				
					|  |  |  |  |     hash = hash.merge(auto_init: true) if ignore || license | 
			
		
	
		
			
				
					|  |  |  |  |     hash | 
			
		
	
		
			
				
					|  |  |  |  |   end | 
			
		
	
		
			
				
					|  |  |  |  | end | 
			
		
	
	
		
			
				
					|  |  |  | 
 |