mirror of
https://gitlink.org.cn/Gitlink/forgeplus.git
synced 2026-05-02 03:10:48 +08:00
add: sync mulan repo
This commit is contained in:
46
lib/tasks/sync_mulan_repo.rake
Normal file
46
lib/tasks/sync_mulan_repo.rake
Normal file
@@ -0,0 +1,46 @@
|
||||
namespace :create_mulan_repository do
|
||||
desc "sync mulan repository from gitee.com"
|
||||
task sync_from_gitee: :environment do
|
||||
doc = SimpleXlsxReader.open("#{Rails.root}/public/mulan_repo.xlsx")
|
||||
data = doc.sheets.first.rows
|
||||
data.each_with_index do |row, index|
|
||||
next if index == 0
|
||||
begin
|
||||
user = User.find_by(login: row[1])
|
||||
unless user.present?
|
||||
username = row[1]
|
||||
email = "#{row[1]}@forge.com"
|
||||
password = "Mr123456."
|
||||
user = User.new(nickname: row[0], login: username, mail: email, password: password, type: 'User')
|
||||
interactor = Gitea::RegisterInteractor.call({username: username, email: email, password: password})
|
||||
gitea_user = interactor.result
|
||||
result = Gitea::User::GenerateTokenService.call(username, password)
|
||||
user.gitea_token = result['sha1']
|
||||
user.gitea_uid = gitea_user[:body]['id']
|
||||
user.save!
|
||||
UserExtension.create!(user_id: user.id)
|
||||
end
|
||||
project = user.projects.find_by(identifier: row[4])
|
||||
unless project.present?
|
||||
p_category = ProjectCategory.find_or_create_by(name: row[6])
|
||||
p_language = ProjectLanguage.find_or_create_by(name: row[7].split("/")[0])
|
||||
p_license = License.find_by(name: row[8])
|
||||
|
||||
mirror_params = {
|
||||
user_id: user.id,
|
||||
name: row[5],
|
||||
description: row[9],
|
||||
repository_name: row[4],
|
||||
project_category_id: p_category.id,
|
||||
project_language_id: p_language.id,
|
||||
clone_addr: row[10]
|
||||
}
|
||||
Projects::MigrateService.call(user, mirror_params)
|
||||
end
|
||||
puts "sync mulan repository from gitee.com Success repo: #{row[5]} username: #{row[0]}"
|
||||
rescue Exception => e
|
||||
puts "sync mulan repository from gitee.com Error repo: #{row[5]} username: #{row[0]}"
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
BIN
public/mulan_repo.xlsx
Normal file
BIN
public/mulan_repo.xlsx
Normal file
Binary file not shown.
Reference in New Issue
Block a user