Commit eca43a0b authored by nickchen's avatar nickchen 🎨

v2.32

parent d1fbe9d1
...@@ -133,80 +133,34 @@ namespace backstage.Controllers ...@@ -133,80 +133,34 @@ namespace backstage.Controllers
result.Message = msg; result.Message = msg;
return result; return result;
} }
#endregion #endregion
#region name重複檢查
var url = _config["IP"] + "/security/key/list";
var httpMethod = HttpMethod.Post;
var parameters = new Dictionary<string, string>
{
}; #region name重複檢查
var apiResult = await _callApi.CallAPI(url, parameters, httpMethod); result = await CheckNameRepeat(key_name);
if (apiResult.IsSuccess) if (!result.IsSuccess)
{ {
try return result;
{
var response = JsonConvert.DeserializeObject<Response>(apiResult.Data.ToString());
if (response.r == 0)
{
var keylist = JsonConvert.DeserializeObject<List<Key>>(response.d.ToString());
var keyNameRepeat = keylist.Where(x => x.name == key_name).FirstOrDefault();
if (keyNameRepeat != null)
{
result.IsSuccess = false;
switch (_currentLanguage)
{
case "en":
msg = "key name already exists.";
break;
case "zh":
msg = "鑰匙名稱已存在";
break;
default:
msg = "鑰匙名稱已存在";
break;
}
result.Message = msg;
return result;
}
}
else
{
result.IsSuccess = false;
result.Message = "error.";
return result;
}
}
catch (Exception e)
{
result.IsSuccess = false;
result.Message = "error.";
return result;
}
}
else
{
result.IsSuccess = false;
result.Message = "error.";
return result;
} }
#endregion
#endregion
// step1 create key // step1 create key
url = _config["IP"] + "/security/key/generate"; var url = _config["IP"] + "/security/key/generate";
httpMethod = HttpMethod.Post; var httpMethod = HttpMethod.Post;
var parameters = new Dictionary<string, string>
{
};
if (!string.IsNullOrEmpty(key1) && !string.IsNullOrEmpty(key1)) if (!string.IsNullOrEmpty(key1) && !string.IsNullOrEmpty(key1))
{ {
parameters = new Dictionary<string, string> parameters = new Dictionary<string, string>
{ {
{ "QRData","["+key1+","+key2+"]"} { "QRData","["+key1+","+key2+"]"}
}; };
} }
apiResult = await _callApi.CallAPI(url, parameters, httpMethod); var apiResult = await _callApi.CallAPI(url, parameters, httpMethod);
if (apiResult.IsSuccess) if (apiResult.IsSuccess)
{ {
try try
...@@ -430,75 +384,24 @@ namespace backstage.Controllers ...@@ -430,75 +384,24 @@ namespace backstage.Controllers
string msg; string msg;
#region name重複檢查 #region name重複檢查
var url = _config["IP"] + "/security/key/list"; result = await CheckNameRepeat(name, keyId);
var httpMethod = HttpMethod.Post; if (!result.IsSuccess)
var parameters = new Dictionary<string, string>
{
};
var apiResult = await _callApi.CallAPI(url, parameters, httpMethod);
if (apiResult.IsSuccess)
{
try
{
var response = JsonConvert.DeserializeObject<Response>(apiResult.Data.ToString());
if (response.r == 0)
{
var keylist = JsonConvert.DeserializeObject<List<Key>>(response.d.ToString());
var keyNameRepeat = keylist.Where(x => x.name == name).FirstOrDefault();
if (keyNameRepeat != null)
{
result.IsSuccess = false;
switch (_currentLanguage)
{
case "en":
msg = "key name already exists.";
break;
case "zh":
msg = "鑰匙名稱已存在";
break;
default:
msg = "鑰匙名稱已存在";
break;
}
result.Message = msg;
return result;
}
}
else
{
result.IsSuccess = false;
result.Message = "error.";
return result;
}
}
catch (Exception e)
{
result.IsSuccess = false;
result.Message = "error.";
return result;
}
}
else
{ {
result.IsSuccess = false;
result.Message = "error.";
return result; return result;
} }
#endregion #endregion
#region key/list #region key/list
url = _config["IP"] + "/security/key"; var url = _config["IP"] + "/security/key";
httpMethod = HttpMethod.Put; var httpMethod = HttpMethod.Put;
parameters = new Dictionary<string, string> var parameters = new Dictionary<string, string>
{ {
{ "id",keyId.ToString()}, { "id",keyId.ToString()},
{ "name",name}, { "name",name},
{ "active",active.ToString()}, { "active",active.ToString()},
}; };
apiResult = await _callApi.CallAPI(url, parameters, httpMethod); var apiResult = await _callApi.CallAPI(url, parameters, httpMethod);
if (apiResult.IsSuccess) if (apiResult.IsSuccess)
{ {
try try
...@@ -551,6 +454,77 @@ namespace backstage.Controllers ...@@ -551,6 +454,77 @@ namespace backstage.Controllers
} }
/// <summary>
/// 檢查name重複
/// </summary>
/// <param name="name"></param>
/// <param name="id">預設值:0,檢查時跳過自己</param>
/// <returns></returns>
public async Task<ResultModel> CheckNameRepeat(string name, int id = 0)
{
var result = new ResultModel();
result.IsSuccess = true;
var msg = "";
var url = _config["IP"] + "/security/key/list";
var httpMethod = HttpMethod.Post;
var parameters = new Dictionary<string, string>
{
};
var apiResult = await _callApi.CallAPI(url, parameters, httpMethod);
if (apiResult.IsSuccess)
{
try
{
var response = JsonConvert.DeserializeObject<Response>(apiResult.Data.ToString());
if (response.r == 0)
{
var keylist = JsonConvert.DeserializeObject<List<Key>>(response.d.ToString());
var keyNameRepeat = keylist.Where(x => x.name == name).FirstOrDefault();
if (keyNameRepeat != null && keyNameRepeat.id != id)
{
result.IsSuccess = false;
switch (_currentLanguage)
{
case "en":
msg = "key name already exists.";
break;
case "zh":
msg = "鑰匙名稱已存在";
break;
default:
msg = "鑰匙名稱已存在";
break;
}
result.Message = msg;
return result;
}
}
else
{
result.IsSuccess = false;
result.Message = "error.";
return result;
}
}
catch (Exception e)
{
result.IsSuccess = false;
result.Message = "error.";
return result;
}
}
else
{
result.IsSuccess = false;
result.Message = "error.";
return result;
}
return result;
}
} }
} }
\ No newline at end of file
...@@ -25,7 +25,6 @@ using System.Dynamic; ...@@ -25,7 +25,6 @@ using System.Dynamic;
using TokenVault_management.Models; using TokenVault_management.Models;
using Microsoft.Extensions.Localization; using Microsoft.Extensions.Localization;
using Microsoft.AspNetCore.Localization; using Microsoft.AspNetCore.Localization;
using DocumentFormat.OpenXml.Wordprocessing;
namespace backstage.Controllers namespace backstage.Controllers
{ {
......
...@@ -186,7 +186,7 @@ ...@@ -186,7 +186,7 @@
<!-- partial:./partials/_sidebar.html --> <!-- partial:./partials/_sidebar.html -->
<nav class="sidebar sidebar-offcanvas" id="sidebar"> <nav class="sidebar sidebar-offcanvas" id="sidebar">
<div class="versionNo"> <div class="versionNo">
@Localizer["version"]: v2.31 @Localizer["version"]: v2.32
</div> </div>
<ul class="nav "> <ul class="nav ">
<li class="nav-item"> <li class="nav-item">
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment