From 32fe6958df3a64b01a933078964e4ccbb9a39b2e Mon Sep 17 00:00:00 2001 From: yystopf Date: Thu, 22 Jul 2021 14:53:57 +0800 Subject: [PATCH 1/2] fix: create public key return error --- app/controllers/public_keys_controller.rb | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/app/controllers/public_keys_controller.rb b/app/controllers/public_keys_controller.rb index a16266abd..51551bb90 100644 --- a/app/controllers/public_keys_controller.rb +++ b/app/controllers/public_keys_controller.rb @@ -11,17 +11,17 @@ class PublicKeysController < ApplicationController end def create - return render_error("请输入密钥") if public_key_params[:key].blank? - return render_error("请输入标题") if public_key_params[:title].blank? + return render_ok({status: 10002, message: "请输入密钥"}) if public_key_params[:key].blank? + return render_ok({status: 10001, message: "请输入标题"}) if public_key_params[:title].blank? @gitea_response = Gitea::User::Keys::CreateService.call(current_user.gitea_token, public_key_params) if @gitea_response[0] == 201 @public_key = @gitea_response[2] - puts @public_key else - return render_error if @gitea_response[2]["message"].nil? - return render_error("密钥格式不正确") if @gitea_response[2]["message"].starts_with?("Invalid key content") - return render_error("密钥已存在,请勿重复添加") if @gitea_response[2]["message"].starts_with?("Key content has been used as non-deploy key") - puts @gitea_response[2] + return render_ok({status: 10000, message: "创建ssh key失败"}) if @gitea_response[2]["message"].nil? + return render_ok({status: 10002, message: "密钥格式不正确"}) if @gitea_response[2]["message"].starts_with?("Invalid key content") + exist_public_key = Gitea::PublicKey.find_by(content: public_key_params[:key]) + return render_ok({status: 10002, message: "密钥已存在,请勿重复添加"}) if @gitea_response[2]["message"].starts_with?("Key content has been used as non-deploy key") && exist_public_key.owner_id == current_user.gitea_uid + return render_ok({status: 10002, message: "密钥已被占用"}) if @gitea_response[2]["message"].starts_with?("Key content has been used as non-deploy key") && exist_public_key.present? @public_key = nil end rescue Exception => e From 0db334217ee0d94d3bf557f5a9ae83a4784008b5 Mon Sep 17 00:00:00 2001 From: yystopf Date: Thu, 22 Jul 2021 15:19:53 +0800 Subject: [PATCH 2/2] fix --- app/controllers/public_keys_controller.rb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/app/controllers/public_keys_controller.rb b/app/controllers/public_keys_controller.rb index 51551bb90..07d60c490 100644 --- a/app/controllers/public_keys_controller.rb +++ b/app/controllers/public_keys_controller.rb @@ -11,13 +11,14 @@ class PublicKeysController < ApplicationController end def create + return render_error("参数错误") if public_key_params.blank? return render_ok({status: 10002, message: "请输入密钥"}) if public_key_params[:key].blank? return render_ok({status: 10001, message: "请输入标题"}) if public_key_params[:title].blank? @gitea_response = Gitea::User::Keys::CreateService.call(current_user.gitea_token, public_key_params) if @gitea_response[0] == 201 @public_key = @gitea_response[2] else - return render_ok({status: 10000, message: "创建ssh key失败"}) if @gitea_response[2]["message"].nil? + return render_error("创建ssh key失败") if @gitea_response[2]["message"].nil? return render_ok({status: 10002, message: "密钥格式不正确"}) if @gitea_response[2]["message"].starts_with?("Invalid key content") exist_public_key = Gitea::PublicKey.find_by(content: public_key_params[:key]) return render_ok({status: 10002, message: "密钥已存在,请勿重复添加"}) if @gitea_response[2]["message"].starts_with?("Key content has been used as non-deploy key") && exist_public_key.owner_id == current_user.gitea_uid