forked from jasder/forgeplus
修改迁移的问题
This commit is contained in:
parent
98c5372d61
commit
b9bd07541e
|
@ -5,7 +5,7 @@ class ApplicationController < ActionController::Base
|
||||||
include RenderExpand
|
include RenderExpand
|
||||||
include RenderHelper
|
include RenderHelper
|
||||||
include ControllerRescueHandler
|
include ControllerRescueHandler
|
||||||
include LaboratoryHelper
|
# include LaboratoryHelper
|
||||||
include GitHelper
|
include GitHelper
|
||||||
include LoggerHelper
|
include LoggerHelper
|
||||||
include LoginHelper
|
include LoginHelper
|
||||||
|
|
|
@ -1,12 +1,13 @@
|
||||||
class Gitea::UserForm
|
class Gitea::UserForm
|
||||||
include ActiveModel::Model
|
include ActiveModel::Model
|
||||||
EMAIL_REGEX = /^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$/
|
EMAIL_REGEX = /^[a-zA-Z0-9_-]+@[a-zA-Z0-9_\-.]+(\.[a-zA-Z0-9_-]+)+$/
|
||||||
|
|
||||||
include ActiveModel::Model
|
include ActiveModel::Model
|
||||||
attr_accessor :username, :email, :password
|
attr_accessor :username, :email, :password
|
||||||
|
|
||||||
validates :username, presence: true
|
validates :username, presence: true
|
||||||
validates :email, presence: true, format: { with: EMAIL_REGEX, multiline: true }
|
validates :email, presence: true, format: { with: EMAIL_REGEX, multiline: true }
|
||||||
|
|
||||||
validates :password, presence: true
|
validates :password, presence: true
|
||||||
|
|
||||||
validate :check_username, :check_email
|
validate :check_username, :check_email
|
||||||
|
|
|
@ -6,68 +6,36 @@ class SyncForgeJob < ApplicationJob
|
||||||
Rails.logger.info("#######______sync__start__########")
|
Rails.logger.info("#######______sync__start__########")
|
||||||
sync_params = ActiveSupport::JSON.decode(sync_params)
|
sync_params = ActiveSupport::JSON.decode(sync_params)
|
||||||
|
|
||||||
keys_to_delete = %w(id created_on updated_on platform)
|
|
||||||
keys_other_delete = %w(id created_at updated_at user_id)
|
|
||||||
all_target_params = sync_params["target_params"]
|
all_target_params = sync_params["target_params"]
|
||||||
roles_params = sync_params["roles"]
|
roles_params = sync_params["roles"]
|
||||||
user_params = sync_params["user_params"]["user_params"]
|
user_params = sync_params["user_params"]["user_params"]
|
||||||
owner_extension_params = sync_params["user_params"]["user_extension_params"]
|
owner_extension_params = sync_params["user_params"]["user_extension_params"]
|
||||||
platform = sync_params["platform"]
|
platform = sync_params["platform"]
|
||||||
user_params = user_params["user"] if old_version_source.include?(platform) #trustie上需要
|
|
||||||
|
|
||||||
if user_params.present?
|
if user_params.present?
|
||||||
owner_params = user_params&.except!(*keys_to_delete)
|
new_user = sync_user(user_params, owner_extension_params,platform)
|
||||||
user_password = random_password
|
|
||||||
if User.exists?(login: owner_params["login"])
|
|
||||||
new_user = User.find_by(login: owner_params["login"])
|
|
||||||
else
|
|
||||||
new_user = User.new(owner_params.merge(platform: platform))
|
|
||||||
interactor = Gitea::RegisterInteractor.call({username: owner_params["login"], email: owner_params["mail"], password: user_password})
|
|
||||||
if interactor.success?
|
|
||||||
gitea_user = interactor.result
|
|
||||||
new_user.gitea_uid = gitea_user['id']
|
|
||||||
else
|
|
||||||
response = Gitea::User::GetTokenService.new("#{owner_params["login"]}").call
|
|
||||||
if response.status == 200
|
|
||||||
user_id = JSON.parse(response.body)["id"]
|
|
||||||
new_user.gitea_uid = user_id
|
|
||||||
else
|
|
||||||
new_user.gitea_uid = ""
|
|
||||||
end
|
|
||||||
end
|
|
||||||
if new_user.gitea_uid.present?
|
|
||||||
result = Gitea::User::GenerateTokenService.new(owner_params["login"], user_password).call
|
|
||||||
new_user.gitea_token = result['sha1']
|
|
||||||
end
|
|
||||||
|
|
||||||
if new_user.save!
|
|
||||||
owner_extension_params = owner_extension_params["user_extensions"] if old_version_source.include?(platform) #trustie上需要
|
|
||||||
if owner_extension_params.present?
|
|
||||||
owner_extension_params = owner_extension_params&.except!(*keys_other_delete).merge(user_id: new_user.id)
|
|
||||||
UserExtension.create!(owner_extension_params)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
if new_user.present?
|
if new_user.present?
|
||||||
ActiveRecord::Base.transaction do
|
ActiveRecord::Base.transaction do
|
||||||
begin
|
begin
|
||||||
Watcher&.where(user_id: user_params["id"]).update_all(user_id: new_user.id)
|
Watcher&.where(user_id: user_params["id"]).update_all(user_id: new_user.id)
|
||||||
ProjectTrend&.where(user_id: user_params["id"]).update_all(user_id: new_user.id)
|
ProjectTrend&.where(user_id: user_params["id"]).update_all(user_id: new_user.id)
|
||||||
sync_roles(roles_params, platform)
|
sync_roles(roles_params, platform)
|
||||||
all_target_params.each do |project|
|
if all_target_params.present?
|
||||||
target_params = {
|
all_target_params.each do |project|
|
||||||
project_params: project["project_params"],
|
target_params = {
|
||||||
member_params: project["member_params"],
|
project_params: project["project_params"],
|
||||||
issue_params: project["issue_params"],
|
member_params: project["member_params"],
|
||||||
versions_params: project["versions_params"],
|
issue_params: project["issue_params"],
|
||||||
project_score_params: project["project_score_params"],
|
versions_params: project["versions_params"],
|
||||||
pull_request_params: project["pull_request_params"],
|
project_score_params: project["project_score_params"],
|
||||||
repo_params: project["repo_params"],
|
pull_request_params: project["pull_request_params"],
|
||||||
commit_params: project["commit_params"],
|
repo_params: project["repo_params"],
|
||||||
watchers_params: project["watchers_params"],
|
commit_params: project["commit_params"],
|
||||||
praise_trends_params: project["praise_trends_params"]
|
watchers_params: project["watchers_params"],
|
||||||
}
|
praise_trends_params: project["praise_trends_params"]
|
||||||
sync_projects(new_user, user_params["id"],target_params, platform)
|
}
|
||||||
|
sync_projects(new_user, user_params["id"],target_params, platform)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
rescue Exception => e
|
rescue Exception => e
|
||||||
Rails.logger.info("#######_________user__sync__failed__#########{e}")
|
Rails.logger.info("#######_________user__sync__failed__#########{e}")
|
||||||
|
@ -86,6 +54,49 @@ class SyncForgeJob < ApplicationJob
|
||||||
|
|
||||||
private
|
private
|
||||||
|
|
||||||
|
def sync_user(owner_params,owner_extension_params,platform)
|
||||||
|
Rails.logger.info("#######______sync_user_start__########")
|
||||||
|
keys_other_delete = %w(id created_at updated_at user_id)
|
||||||
|
keys_to_delete = %w(id created_on updated_on platform)
|
||||||
|
owner_params = owner_params["user"] if old_version_source.include?(platform) #trustie上需要
|
||||||
|
|
||||||
|
owner_params = owner_params&.except!(*keys_to_delete)
|
||||||
|
user_password = random_password
|
||||||
|
if User.exists?(login: owner_params["login"])
|
||||||
|
new_user = User.find_by(login: owner_params["login"])
|
||||||
|
else
|
||||||
|
new_user = User.new(owner_params.merge(platform: platform))
|
||||||
|
interactor = Gitea::RegisterInteractor.call({username: owner_params["login"], email: owner_params["mail"], password: user_password})
|
||||||
|
if interactor.success?
|
||||||
|
gitea_user = interactor.result
|
||||||
|
new_user.gitea_uid = gitea_user['id']
|
||||||
|
else
|
||||||
|
response = Gitea::User::GetTokenService.new("#{owner_params["login"]}").call
|
||||||
|
if response.status == 200
|
||||||
|
user_id = JSON.parse(response.body)["id"]
|
||||||
|
new_user.gitea_uid = user_id
|
||||||
|
else
|
||||||
|
new_user.gitea_uid = ""
|
||||||
|
end
|
||||||
|
end
|
||||||
|
if new_user.gitea_uid.present?
|
||||||
|
result = Gitea::User::GenerateTokenService.new(owner_params["login"], user_password).call
|
||||||
|
new_user.gitea_token = result['sha1']
|
||||||
|
end
|
||||||
|
|
||||||
|
if new_user.save!
|
||||||
|
if owner_extension_params.present?
|
||||||
|
owner_extension_params = owner_extension_params["user_extensions"] if old_version_source.include?(platform) #trustie上需要
|
||||||
|
|
||||||
|
owner_extension_params = owner_extension_params&.except!(*keys_other_delete).merge(user_id: new_user.id)
|
||||||
|
UserExtension.create!(owner_extension_params)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
Rails.logger.info("#######______sync_user_end__########")
|
||||||
|
new_user
|
||||||
|
end
|
||||||
|
|
||||||
def random_password
|
def random_password
|
||||||
[*('a'..'z'),*(0..9),*('A'..'Z')].shuffle[0..8].join
|
[*('a'..'z'),*(0..9),*('A'..'Z')].shuffle[0..8].join
|
||||||
end
|
end
|
||||||
|
@ -108,16 +119,12 @@ class SyncForgeJob < ApplicationJob
|
||||||
praise_trends_params = targets[:praise_trends_params]
|
praise_trends_params = targets[:praise_trends_params]
|
||||||
watchers_params = targets[:watchers_params]
|
watchers_params = targets[:watchers_params]
|
||||||
|
|
||||||
if old_version_source.include?(platform) #trustie上需要
|
|
||||||
project = project["project"]
|
|
||||||
repo_params = repo_params["gitlab"]
|
|
||||||
end
|
|
||||||
|
|
||||||
if project.present?
|
if project.present?
|
||||||
unless Project.exists?(identifier: project["identifier"])
|
project = project["project"] if old_version_source.include?(platform)
|
||||||
|
unless Project.exists?(user_id: new_user.id, identifier: project["identifier"])
|
||||||
new_project = Project.new(project&.except!(*keys_to_delete).merge(user_id: new_user.id))
|
new_project = Project.new(project&.except!(*keys_to_delete).merge(user_id: new_user.id))
|
||||||
if new_project.save!
|
if new_project.save!
|
||||||
if repo_params.present?
|
unless Repository.exists?(user_id: new_user.id,identifier: project["identifier"]) || repo_params.blank?
|
||||||
repository_params = {
|
repository_params = {
|
||||||
hidden: project["is_public"],
|
hidden: project["is_public"],
|
||||||
user_id: new_user.id,
|
user_id: new_user.id,
|
||||||
|
@ -127,10 +134,11 @@ class SyncForgeJob < ApplicationJob
|
||||||
# SyncRepositoryJob.perform_later(new_user.login, project["identifier"]) #暂时不迁移版本库
|
# SyncRepositoryJob.perform_later(new_user.login, project["identifier"]) #暂时不迁移版本库
|
||||||
end
|
end
|
||||||
|
|
||||||
project_score = project_score["project_score"] if old_version_source.include?(platform) #trustie上需要
|
|
||||||
if project_score.present?
|
if project_score.present?
|
||||||
|
project_score = project_score["project_score"] if old_version_source.include?(platform) #trustie上需要
|
||||||
ProjectScore.create!(project_score&.except!(*score_to_delete).merge(project_id: new_project.id))
|
ProjectScore.create!(project_score&.except!(*score_to_delete).merge(project_id: new_project.id))
|
||||||
end
|
end
|
||||||
|
|
||||||
sync_user_issues(new_project.id, new_user.id,old_user_id,issue_params, platform)
|
sync_user_issues(new_project.id, new_user.id,old_user_id,issue_params, platform)
|
||||||
sync_members(new_project.id, member_params,platform)
|
sync_members(new_project.id, member_params,platform)
|
||||||
sync_commits(new_project.id,new_project.gpid, commit_params,platform)
|
sync_commits(new_project.id,new_project.gpid, commit_params,platform)
|
||||||
|
@ -157,8 +165,11 @@ class SyncForgeJob < ApplicationJob
|
||||||
if watchers_params.present?
|
if watchers_params.present?
|
||||||
Watcher.transaction do
|
Watcher.transaction do
|
||||||
watchers_params.each do |r|
|
watchers_params.each do |r|
|
||||||
r = r["watcher"] if old_version_source.include?(platform) #trustie上需要
|
if r.present?
|
||||||
Watcher.create!(r&.except!(*roles_other_delete).merge(watchable_id: project_id)) if r.present?
|
r = r["watcher"] if old_version_source.include?(platform)
|
||||||
|
new_wathcer = Watcher.new(r&.except!(*roles_other_delete).merge(watchable_id: project_id))
|
||||||
|
new_wathcer.save(:validate => false)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -180,8 +191,11 @@ class SyncForgeJob < ApplicationJob
|
||||||
if praises_params.present?
|
if praises_params.present?
|
||||||
PraiseTread.transaction do
|
PraiseTread.transaction do
|
||||||
praises_params.each do |r|
|
praises_params.each do |r|
|
||||||
r = r["praise_tread"] if old_version_source.include?(platform) #trustie上需要
|
if r.present?
|
||||||
PraiseTread.create!(r&.except!(*roles_other_delete).merge(praise_tread_object_id: project_id)) if r.present?
|
r = r["praise_tread"] if old_version_source.include?(platform) #trustie上需要
|
||||||
|
new_tread = PraiseTread.new(r&.except!(*roles_other_delete).merge(praise_tread_object_id: project_id))
|
||||||
|
new_tread.save(:validate => false)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -203,9 +217,11 @@ class SyncForgeJob < ApplicationJob
|
||||||
if roles.present?
|
if roles.present?
|
||||||
Role.transaction do
|
Role.transaction do
|
||||||
roles.each do |r|
|
roles.each do |r|
|
||||||
r = r["role"] if old_version_source.include?(platform) #trustie上需要
|
if r.present?
|
||||||
unless Role.exists?(name: r["name"])
|
r = r["role"] if old_version_source.include?(platform) #trustie上需要
|
||||||
Role.create!(r&.except!(*roles_other_delete)) if r.present?
|
unless Role.exists?(name: r["name"])
|
||||||
|
Role.create!(r&.except!(*roles_other_delete))
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -223,8 +239,6 @@ class SyncForgeJob < ApplicationJob
|
||||||
def sync_members(project_id,members_params,platform)
|
def sync_members(project_id,members_params,platform)
|
||||||
Rails.logger.info("#######______sync_members_start__#######")
|
Rails.logger.info("#######______sync_members_start__#######")
|
||||||
member_to_delete = %w(id created_on user_id project_id)
|
member_to_delete = %w(id created_on user_id project_id)
|
||||||
member_user_delete = %w(id created_on updated_on platform)
|
|
||||||
keys_other_delete = %w(id created_at updated_at user_id)
|
|
||||||
ActiveRecord::Base.transaction do
|
ActiveRecord::Base.transaction do
|
||||||
begin
|
begin
|
||||||
if members_params.present?
|
if members_params.present?
|
||||||
|
@ -234,34 +248,16 @@ class SyncForgeJob < ApplicationJob
|
||||||
member_user_exten = m["member_extension"]
|
member_user_exten = m["member_extension"]
|
||||||
member_roles = m["member_roles"]
|
member_roles = m["member_roles"]
|
||||||
member_issues = m["member_issues"]
|
member_issues = m["member_issues"]
|
||||||
member_user = member_user["user"] if old_version_source.include?(platform) #trustie上需要
|
|
||||||
if member_user.present?
|
if member_user.present?
|
||||||
|
u = sync_user(member_user,member_user_exten, platform)
|
||||||
unless User.exists?(login: member_user["login"])
|
if u.present? && member.present?
|
||||||
u = User.new(member_user&.except!(*member_user_delete).merge(platform: platform))
|
member = member["member"] if old_version_source.include?(platform) #trustie上需要
|
||||||
user_password = random_password
|
unless Member.exists?(user_id: u.id, project_id: project_id)
|
||||||
interactor = Gitea::RegisterInteractor.call({username: member_user["login"], email: member_user["mail"], password: user_password})
|
new_member = Member.new(member&.except!(*member_to_delete).merge(project_id: project_id, user_id: u.id))
|
||||||
if interactor.success?
|
if new_member.save!
|
||||||
gitea_user = interactor.result
|
sync_user_issues(project_id, u.id, member["user_id"],member_issues, platform)
|
||||||
result = Gitea::User::GenerateTokenService.new(member_user["login"], user_password).call
|
sync_member_roles(new_member.id, member_roles,platform)
|
||||||
u.gitea_token = result['sha1']
|
|
||||||
u.gitea_uid = gitea_user['id']
|
|
||||||
if u.save!
|
|
||||||
member_user_exten = member_user_exten["user_extensions"] if old_version_source.include?(platform) #trustie上需要
|
|
||||||
if member_user_exten.present?
|
|
||||||
UserExtension.create!(member_user_exten&.except!(*keys_other_delete).merge(user_id: u.id))
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
member = member["member"] if old_version_source.include?(platform) #trustie上需要
|
|
||||||
if member.present?
|
|
||||||
new_member = Member.new(member&.except!(*member_to_delete).merge(project_id: project_id, user_id: u.id))
|
|
||||||
if new_member.save!
|
|
||||||
sync_user_issues(project_id, u.id, member["user_id"],member_issues, platform)
|
|
||||||
sync_member_roles(new_member.id, member_roles,platform)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
else
|
|
||||||
raise Error, "gitea的项目创建失败"
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -283,8 +279,8 @@ class SyncForgeJob < ApplicationJob
|
||||||
if members.present?
|
if members.present?
|
||||||
MemberRole.transaction do
|
MemberRole.transaction do
|
||||||
members.each do |m|
|
members.each do |m|
|
||||||
m = m["member_role"] if old_version_source.include?(platform) #trustie上需要
|
|
||||||
if m.present?
|
if m.present?
|
||||||
|
m = m["member_role"] if old_version_source.include?(platform) #trustie上需要
|
||||||
role_id = Role.select(:id,:position)&.where(position: m["role_id"])&.first&.id
|
role_id = Role.select(:id,:position)&.where(position: m["role_id"])&.first&.id
|
||||||
MemberRole.create!(m&.except!(*member_role_delete).merge(member_id: member_id, role_id: role_id)) if m.present?
|
MemberRole.create!(m&.except!(*member_role_delete).merge(member_id: member_id, role_id: role_id)) if m.present?
|
||||||
end
|
end
|
||||||
|
@ -310,8 +306,9 @@ class SyncForgeJob < ApplicationJob
|
||||||
jours_params = is_params["jours_params"]
|
jours_params = is_params["jours_params"]
|
||||||
commit_params = is_params["commit_params"]
|
commit_params = is_params["commit_params"]
|
||||||
Issue.select(:id, :assigned_to_id).where(assigned_to_id: old_user_id)&.update_all(assigned_to_id: new_user_id)
|
Issue.select(:id, :assigned_to_id).where(assigned_to_id: old_user_id)&.update_all(assigned_to_id: new_user_id)
|
||||||
issue_params = issue_params["issue"] if old_version_source.include?(platform) #trustie上需要
|
|
||||||
if issue_params.present?
|
if issue_params.present?
|
||||||
|
issue_params = issue_params["issue"] if old_version_source.include?(platform) #trustie上需要
|
||||||
assgin_user = issue_params["assigned_to_id"]
|
assgin_user = issue_params["assigned_to_id"]
|
||||||
if issue_params["assigned_to_id"].to_i == old_user_id
|
if issue_params["assigned_to_id"].to_i == old_user_id
|
||||||
assgin_user = new_user_id
|
assgin_user = new_user_id
|
||||||
|
@ -344,8 +341,11 @@ class SyncForgeJob < ApplicationJob
|
||||||
if jours_params.present?
|
if jours_params.present?
|
||||||
Journal.transaction do
|
Journal.transaction do
|
||||||
jours_params.each do |i|
|
jours_params.each do |i|
|
||||||
i = i["journal"] if old_version_source.include?(platform) #trustie上需要
|
if i.present?
|
||||||
Journal.create!(i&.except!(*jour_to_delete).merge(journalized_id: issue_id, user_id: user_id)) if i.present?
|
i = i["journal"] if old_version_source.include?(platform) #trustie上需要
|
||||||
|
Journal.create!(i&.except!(*jour_to_delete).merge(journalized_id: issue_id, user_id: user_id))
|
||||||
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -367,8 +367,11 @@ class SyncForgeJob < ApplicationJob
|
||||||
if commit_params.present?
|
if commit_params.present?
|
||||||
CommitIssue.transaction do
|
CommitIssue.transaction do
|
||||||
commit_params.each do |i|
|
commit_params.each do |i|
|
||||||
i = i["commit_issues"] if old_version_source.include?(platform) #trustie上需要
|
if i.present?
|
||||||
CommitIssue.create!(i&.except!(*commit_to_delete).merge(issue_id: issue_id, project_id: project_id)) if i.present?
|
i = i["commit_issues"] if old_version_source.include?(platform) #trustie上需要
|
||||||
|
CommitIssue.create!(i&.except!(*commit_to_delete).merge(issue_id: issue_id, project_id: project_id))
|
||||||
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -390,8 +393,11 @@ class SyncForgeJob < ApplicationJob
|
||||||
if pull_params.present?
|
if pull_params.present?
|
||||||
PullRequest.transaction do
|
PullRequest.transaction do
|
||||||
pull_params.each do |i|
|
pull_params.each do |i|
|
||||||
i = i["pull_request"] if old_version_source.include?(platform) #trustie上需要
|
if i.present?
|
||||||
PullRequest.create!(i&.except!(*commit_to_delete).merge(user_id: user_id, project_id: project_id)) if i.present?
|
i = i["pull_request"] if old_version_source.include?(platform) #trustie上需要
|
||||||
|
PullRequest.create!(i&.except!(*commit_to_delete).merge(user_id: user_id, project_id: project_id))
|
||||||
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -412,8 +418,11 @@ class SyncForgeJob < ApplicationJob
|
||||||
if commit_params.present?
|
if commit_params.present?
|
||||||
Commit.transaction do
|
Commit.transaction do
|
||||||
commit_params.each do |i|
|
commit_params.each do |i|
|
||||||
i = i["commit"] if old_version_source.include?(platform) #trustie上需要
|
if i.present?
|
||||||
Commit.create!(i&.except!(*commit_to_delete).merge(repository_id: repository_id, project_id: project_id)) if i.present?
|
i = i["commit"] if old_version_source.include?(platform) #trustie上需要
|
||||||
|
Commit.create!(i&.except!(*commit_to_delete).merge(repository_id: repository_id, project_id: project_id))
|
||||||
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -434,8 +443,10 @@ class SyncForgeJob < ApplicationJob
|
||||||
if version_params.present?
|
if version_params.present?
|
||||||
Version.transaction do
|
Version.transaction do
|
||||||
version_params.each do |i|
|
version_params.each do |i|
|
||||||
i = i["version"] if old_version_source.include?(platform) #trustie上需要
|
if i.present?
|
||||||
Version.create!(i&.except!(*version_to_delete).merge(user_id: new_user_id, project_id: project_id)) if i.present?
|
i = i["version"] if old_version_source.include?(platform) #trustie上需要
|
||||||
|
Version.create!(i&.except!(*version_to_delete).merge(user_id: new_user_id, project_id: project_id))
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -8,16 +8,16 @@ module Searchable::Dependents::User
|
||||||
private
|
private
|
||||||
|
|
||||||
def check_searchable_dependents
|
def check_searchable_dependents
|
||||||
if firstname_previously_changed? || lastname_previously_changed? || user_extension&.school_id_previously_changed?
|
# if firstname_previously_changed? || lastname_previously_changed? || user_extension&.school_id_previously_changed?
|
||||||
# reindex shixun
|
# # reindex shixun
|
||||||
created_shixuns.each(&:reindex)
|
# created_shixuns.each(&:reindex)
|
||||||
|
#
|
||||||
# reindex course
|
# # reindex course
|
||||||
manage_courses.each(&:reindex)
|
# manage_courses.each(&:reindex)
|
||||||
|
#
|
||||||
# reindex subject
|
# # reindex subject
|
||||||
created_subjects.each(&:reindex)
|
# created_subjects.each(&:reindex)
|
||||||
subjects.each(&:reindex)
|
# subjects.each(&:reindex)
|
||||||
end
|
# end
|
||||||
end
|
end
|
||||||
end
|
end
|
|
@ -3,7 +3,7 @@ class User < ApplicationRecord
|
||||||
include Likeable
|
include Likeable
|
||||||
include BaseModel
|
include BaseModel
|
||||||
include ProjectOperable
|
include ProjectOperable
|
||||||
include Searchable::Dependents::User
|
# include Searchable::Dependents::User
|
||||||
|
|
||||||
# Account statuses
|
# Account statuses
|
||||||
STATUS_ANONYMOUS = 0
|
STATUS_ANONYMOUS = 0
|
||||||
|
|
|
@ -49,8 +49,8 @@ class Repositories::CreateService < ApplicationService
|
||||||
hash = {
|
hash = {
|
||||||
name: params[:identifier],
|
name: params[:identifier],
|
||||||
private: !params[:hidden],
|
private: !params[:hidden],
|
||||||
readme: "ReadMe"
|
# readme: "ReadMe",
|
||||||
# "auto_init": true,
|
"auto_init": true,
|
||||||
# "description": "string",
|
# "description": "string",
|
||||||
# "gitignores": "string",
|
# "gitignores": "string",
|
||||||
# "issue_labels": "string",
|
# "issue_labels": "string",
|
||||||
|
|
Loading…
Reference in New Issue