新增:创建项目建立与gitea的关联关系
This commit is contained in:
parent
a30a5b09a0
commit
551f9cbbad
|
@ -26,6 +26,16 @@ class BaseForm
|
||||||
raise "项目标识已被使用." if Repository.where(user_id: user_id, identifier: repository_name.strip).exists?
|
raise "项目标识已被使用." if Repository.where(user_id: user_id, identifier: repository_name.strip).exists?
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def check_gitea_repository_name(user_id, repository_name)
|
||||||
|
user_login = User.find_by_id(user_id)&.login
|
||||||
|
begin
|
||||||
|
gitea_result = $gitea_client.get_repos_by_owner_repo(user_login, repository_name)
|
||||||
|
raise "项目标识已被使用." if gitea_result["id"].present?
|
||||||
|
rescue Gitea::Api::ServerError => e
|
||||||
|
raise "服务器错误,请联系系统管理员!" unless e.http_code.to_i == 404
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
def check_project_name(user_id, project_name)
|
def check_project_name(user_id, project_name)
|
||||||
raise "项目名称已被使用." if Project.where(user_id: user_id, name: project_name.strip).exists?
|
raise "项目名称已被使用." if Project.where(user_id: user_id, name: project_name.strip).exists?
|
||||||
end
|
end
|
||||||
|
|
|
@ -16,6 +16,7 @@ class Projects::CreateForm < BaseForm
|
||||||
check_project_language(project_language_id)
|
check_project_language(project_language_id)
|
||||||
check_project_name(user_id, name) unless name.blank?
|
check_project_name(user_id, name) unless name.blank?
|
||||||
check_repository_name(user_id, repository_name) unless repository_name.blank?
|
check_repository_name(user_id, repository_name) unless repository_name.blank?
|
||||||
|
check_gitea_repository_name(user_id, repository_name) unless repository_name.blank?
|
||||||
check_blockchain_token_all(blockchain_token_all) unless blockchain_token_all.blank?
|
check_blockchain_token_all(blockchain_token_all) unless blockchain_token_all.blank?
|
||||||
check_blockchain_init_token(blockchain_init_token) unless blockchain_init_token.blank?
|
check_blockchain_init_token(blockchain_init_token) unless blockchain_init_token.blank?
|
||||||
end
|
end
|
||||||
|
|
|
@ -11,6 +11,7 @@ class Projects::MigrateForm < BaseForm
|
||||||
validate do
|
validate do
|
||||||
check_project_name(user_id, name) unless name.blank?
|
check_project_name(user_id, name) unless name.blank?
|
||||||
check_repository_name(user_id, repository_name) unless repository_name.blank?
|
check_repository_name(user_id, repository_name) unless repository_name.blank?
|
||||||
|
check_gitea_repository_name(user_id, repository_name) unless repository_name.blank?
|
||||||
check_project_category(project_category_id)
|
check_project_category(project_category_id)
|
||||||
check_project_language(project_language_id)
|
check_project_language(project_language_id)
|
||||||
check_owner
|
check_owner
|
||||||
|
|
|
@ -10,6 +10,7 @@ class Projects::UpdateForm < BaseForm
|
||||||
check_project_language(project_language_id)
|
check_project_language(project_language_id)
|
||||||
|
|
||||||
check_repository_name(user_id, identifier) unless identifier.blank? || identifier == project_identifier
|
check_repository_name(user_id, identifier) unless identifier.blank? || identifier == project_identifier
|
||||||
|
check_gitea_repository_name(user_id, identifier) unless identifier.blank? || identifier == project_identifier
|
||||||
check_project_name(user_id, name) unless name.blank? || name == project_name
|
check_project_name(user_id, name) unless name.blank? || name == project_name
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue