Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
T
TokenVaultManagement
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Packages
Packages
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
jasonwai
TokenVaultManagement
Commits
bc9e4006
Commit
bc9e4006
authored
Oct 20, 2023
by
nickchen
🎨
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Revert "up: 拿掉金鑰刪除功能"
This reverts commit
3b215dca
.
parent
3b215dca
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
135 additions
and
169 deletions
+135
-169
KeyController.cs
...n Vault Management/backstage/Controllers/KeyController.cs
+65
-66
TokenVaultController .cs
...Management/backstage/Controllers/TokenVaultController .cs
+13
-14
launchSettings.json
...Vault Management/backstage/Properties/launchSettings.json
+8
-8
ListKeys.cshtml
...oken Vault Management/backstage/Views/Key/ListKeys.cshtml
+38
-32
_Layout.cshtml
...en Vault Management/backstage/Views/Shared/_Layout.cshtml
+1
-1
ListMasks.cshtml
...lt Management/backstage/Views/TokenVault/ListMasks.cshtml
+7
-37
tokenizationPlatform.css
...Management/backstage/wwwroot/css/tokenizationPlatform.css
+0
-3
tokenizationPlatform.js
...t Management/backstage/wwwroot/js/tokenizationPlatform.js
+3
-8
No files found.
Merchant Token Vault Management/backstage/Controllers/KeyController.cs
View file @
bc9e4006
...
...
@@ -317,72 +317,71 @@ namespace backstage.Controllers
/// ajax
/// </summary>
/// <returns></returns>
//v2.5版拿掉金鑰刪除功能
//[Authorize(Policy = "AdminOnly")]
//[HttpPost]
//public async Task<ResultModel> DeleteKey(int keyId)
//{
// var result = new ResultModel();
// string msg;
// #region key/list
// var url = _config["IP"] + "/security/key";
// var httpMethod = HttpMethod.Delete;
// var parameters = new Dictionary<string, string>
// {
// { "id",keyId.ToString()},
// };
// var apiResult = await _callApi.CallAPI(url, parameters, httpMethod);
// if (apiResult.IsSuccess)
// {
// try
// {
// var Response = JsonConvert.DeserializeObject<Response>(apiResult.Data.ToString());
// if (Response.r == 0)
// {
// switch (_currentLanguage)
// {
// case "en":
// msg = "Delete key success.";
// break;
// case "zh":
// msg = "鑰匙刪除成功";
// break;
// default:
// msg = "鑰匙刪除成功";
// break;
// }
// result.IsSuccess = true;
// result.Message = msg;
// return result;
// }
// else
// {
// result.IsSuccess = false;
// result.Message = Response.m.ToString();
// return result;
// }
// }
// catch (Exception e)
// {
// result.IsSuccess = false;
// result.Message = e.Message + e.InnerException?.Message;
// return result;
// }
// }
// result.IsSuccess = false;
// result.Message = apiResult.Message;
// return result;
// #endregion
//}
[
Authorize
(
Policy
=
"AdminOnly"
)]
[
HttpPost
]
public
async
Task
<
ResultModel
>
DeleteKey
(
int
keyId
)
{
var
result
=
new
ResultModel
();
string
msg
;
#
region
key
/
list
var
url
=
_config
[
"IP"
]
+
"/security/key"
;
var
httpMethod
=
HttpMethod
.
Delete
;
var
parameters
=
new
Dictionary
<
string
,
string
>
{
{
"id"
,
keyId
.
ToString
()},
};
var
apiResult
=
await
_callApi
.
CallAPI
(
url
,
parameters
,
httpMethod
);
if
(
apiResult
.
IsSuccess
)
{
try
{
var
Response
=
JsonConvert
.
DeserializeObject
<
Response
>(
apiResult
.
Data
.
ToString
());
if
(
Response
.
r
==
0
)
{
switch
(
_currentLanguage
)
{
case
"en"
:
msg
=
"Delete key success."
;
break
;
case
"zh"
:
msg
=
"鑰匙刪除成功"
;
break
;
default
:
msg
=
"鑰匙刪除成功"
;
break
;
}
result
.
IsSuccess
=
true
;
result
.
Message
=
msg
;
return
result
;
}
else
{
result
.
IsSuccess
=
false
;
result
.
Message
=
Response
.
m
.
ToString
();
return
result
;
}
}
catch
(
Exception
e
)
{
result
.
IsSuccess
=
false
;
result
.
Message
=
e
.
Message
+
e
.
InnerException
?.
Message
;
return
result
;
}
}
result
.
IsSuccess
=
false
;
result
.
Message
=
apiResult
.
Message
;
return
result
;
#
endregion
}
...
...
Merchant Token Vault Management/backstage/Controllers/TokenVaultController .cs
View file @
bc9e4006
...
...
@@ -1453,22 +1453,21 @@ namespace backstage.Controllers
{
action
=
"MOD"
;
}
var
fieldData
=
new
[]
{
new
{
action
=
action
,
field_id
=
Convert
.
ToInt32
(
form
[
"field_id"
]),
name
=
form
[
"name"
].
ToString
(),
type
=
Convert
.
ToInt32
(
form
[
"type"
]),
setting
=
System
.
Text
.
Json
.
JsonSerializer
.
Serialize
(
setting
),
//編輯功能 mask_id要帶上
is_unique
=
Convert
.
ToInt32
(
form
[
"isunique"
]),
id
=
mask_id
var
fieldData
=
new
[]
{
new
{
action
=
action
,
field_id
=
Convert
.
ToInt32
(
form
[
"field_id"
]),
name
=
form
[
"name"
].
ToString
(),
type
=
Convert
.
ToInt32
(
form
[
"type"
]),
setting
=
System
.
Text
.
Json
.
JsonSerializer
.
Serialize
(
setting
),
//編輯功能 mask_id要帶上
id
=
mask_id
}
};
};
string
namstext
=
form
[
"name"
];
...
...
Merchant Token Vault Management/backstage/Properties/launchSettings.json
View file @
bc9e4006
{
"iisSettings"
:
{
"windowsAuthentication"
:
false
,
"anonymousAuthentication"
:
true
,
"iisExpress"
:
{
"applicationUrl"
:
"http://localhost:5425"
,
"sslPort"
:
44399
}
},
"profiles"
:
{
"IIS Express"
:
{
"commandName"
:
"IISExpress"
,
...
...
@@ -15,13 +23,5 @@
},
"applicationUrl"
:
"http://localhost:5000"
}
},
"iisSettings"
:
{
"windowsAuthentication"
:
false
,
"anonymousAuthentication"
:
true
,
"iisExpress"
:
{
"applicationUrl"
:
"http://localhost:5425"
,
"sslPort"
:
44399
}
}
}
\ No newline at end of file
Merchant Token Vault Management/backstage/Views/Key/ListKeys.cshtml
View file @
bc9e4006
...
...
@@ -70,7 +70,7 @@
<th>@Localizer["Enable"]</th>
<th>@Localizer["Expiration"]</th>
<th>@Localizer["Revise"]</th>
@* <th style=" border-right: solid 0.1px #d9d9d9;">@Localizer["Delete"]</th> *@
<th style=" border-right: solid 0.1px #d9d9d9;">@Localizer["Delete"]</th>
</tr>
</thead>
...
...
@@ -97,11 +97,17 @@
<i class="fa-solid fa-pen-to-square"></i>
</a>
</td>
@* <td>
<td>
@*<a @(k.deleteable == 1 && k.active != 1 ? "" : "hidden") class="deleteKeyBtn @(k.deleteable == 1 ? "deletable" : "")" data-keyid="@k.id" data-toggle="modal" data-target="#deleteProject" title="Delete" disable>
<i class="fa-solid fa-trash-can"></i>
</a>*@
<a class="deleteKeyBtn" data-keyid="@k.id" data-toggle="modal" data-target="#deleteProject" title="Delete" @(k.deleteable == 1 ? "" : "hidden")>
<i class="fa-solid fa-trash-can"></i>
</a>
</td> *@
</td>
</tr>
}
...
...
@@ -421,35 +427,35 @@
//刪除鑰匙
//
$("#confirmBtn").on("click", function (e) {
//
e.preventDefault(); // 防止點擊後刷新頁面(如果該鏈接是 <a> 標籤)
//
var data = {
//
keyId: selectKeyId
//
};
//
console.log('data.keyId=' + data.keyId);
//
$.ajax({
//
url: "/Key/DeleteKey",
//
type: 'POST', // 或 'GET',根據實際需求
//
data: data,
//
success: function (response) {
//
// API 呼叫成功的處理程式碼
//
showAlert(response.isSuccess, response.message)
//
console.log(response);
//
if (response.isSuccess) {
//
$('#deleteProject').modal('hide');
//
setTimeout(function () {
//
location.reload();
//
}, 2000);
//
}
//
},
//
error: function (xhr, status, error) {
//
// API 呼叫失敗的處理程式碼
//
showAlert(false, error.responseText)
//
}
//
});
//
});
$("#confirmBtn").on("click", function (e) {
e.preventDefault(); // 防止點擊後刷新頁面(如果該鏈接是 <a> 標籤)
var data = {
keyId: selectKeyId
};
console.log('data.keyId=' + data.keyId);
$.ajax({
url: "/Key/DeleteKey",
type: 'POST', // 或 'GET',根據實際需求
data: data,
success: function (response) {
// API 呼叫成功的處理程式碼
showAlert(response.isSuccess, response.message)
console.log(response);
if (response.isSuccess) {
$('#deleteProject').modal('hide');
setTimeout(function () {
location.reload();
}, 2000);
}
},
error: function (xhr, status, error) {
// API 呼叫失敗的處理程式碼
showAlert(false, error.responseText)
}
});
});
//新增鑰匙
$("#CreateKey").on("click", function (e) {
...
...
Merchant Token Vault Management/backstage/Views/Shared/_Layout.cshtml
View file @
bc9e4006
...
...
@@ -99,7 +99,7 @@
</a>
<div
class=
"dropdown-divider"
></div>
<div
class=
"versionNo"
>
@Localizer["version"]: v2.
5
0
@Localizer["version"]: v2.
4
0
</div>
</div>
...
...
Merchant Token Vault Management/backstage/Views/TokenVault/ListMasks.cshtml
View file @
bc9e4006
...
...
@@ -104,8 +104,8 @@
<td class="mask_name">@m.name</td>
<td class="content">@m.type</td>
<td class="content">@m.mask</td>
<td class="item
unique" data-val="@m.is_unique
">@Localizer[(m.is_unique == 1 ? "Yes" : "No")]</td>
<td class="item">@Localizer[(m.is_unique == 1 ? "Yes" : "No")]</td>
<td class="content">@m.setting</td>
<td>
<a class="editMaskBtn" data-toggle="modal" data-target="#edit-field-mask" title="修改">
...
...
@@ -156,7 +156,6 @@
<div class="modal-body" style="padding-top:35px">
<form id="createMaskForm" class="form-horizontal0" method="post" autocomplete="off">
<div id="errorMsg" asp-validation-summary="All" class="text-danger"></div>
<div class="form-group">
<input hidden name="mask_id">
<input hidden name="merchant_id" value="@ViewBag.merchant_id">
...
...
@@ -182,29 +181,6 @@
</div>
</div>
<div class="maskSettings hidden" id="maskTypeSet1">
<hr>
<div class="maskSettingsTitle"> @Localizer["Set uppp"]</div>
<div class="maskSettingForm">
<div class="form-group">
<label class="control-labe" for="">@Localizer["Is it a unique value"]? :</label>
<div class="form-check form-check-inline">
<input class="form-check-input" type="radio" name="isunique" id="uniqueValueY" value="1" checked>
<label class="form-check-label" for="uniqueValueY">
@Localizer["Yes"]
</label>
</div>
<div class="form-check form-check-inline">
<input class="form-check-input" type="radio" name="isunique" id="uniqueValueN" value="0">
<label class="form-check-label" for="uniqueValueN">
@Localizer["No"]
</label>
</div>
</div>
</div>
</div>
<div class="maskSettings hidden" id="maskSettingsAdvID">
<hr>
<div class="maskSettingsTitle"> @Localizer["Set up"]</div>
...
...
@@ -316,22 +292,22 @@
// 页面加载完成后,隐藏 maskSettingsAdvID
document.getElementById("maskSettingsAdvID").classList.remove("show");
document.getElementById("maskTypeSet1").classList.remove("show");
//新增mask
$("#NewMaskBtn").click(function (event) {
console.log('NewMaskBtn')
$('#new-field-mask .modal-title').text('新增遮罩');
$('#new-field-mask input:not([name="mask_id"], [name="merchant_id"], [name="field_id"], [name="vault_id"]
, [name="isunique"]
)').val('');
$('#new-field-mask input:not([name="mask_id"], [name="merchant_id"], [name="field_id"], [name="vault_id"])').val('');
$("#maskType").selectpicker("val", "");
$("#mask").selectpicker("val", "");
document.getElementById("maskSettingsAdvID").classList.remove("show");
document.getElementById("maskTypeSet1").classList.remove("show");
})
//送出新mask
$("#createMaskBtn").click(function (event) {
console.log($('#createMaskForm').serialize())
$.ajax({
url: '/TokenVault/CreateMask',
type: 'POST',
...
...
@@ -360,14 +336,8 @@
$(".editMaskBtn").click(function (event) {
var selectMaskId = 0;
selectMaskId = $(this).closest("tr").find("td:first").text();
var uniqueval = $(this).closest("tr").find(".unique").data('val');
selectMaskId = $(this).closest("tr").find("td:first").text();
console.log('selectMaskId=' + selectMaskId);
if (uniqueval == 1) {
$('input[name="isunique"][value="1"]').prop('checked', true);
} else {
$('input[name="isunique"][value="0"]').prop('checked', true);
}
$('input[name="mask_id"]').val(selectMaskId);
$('#new-field-mask .modal-title').text('編輯遮罩');
var name = $("#memberGoTbl_masksList tr").filter(function () {
...
...
Merchant Token Vault Management/backstage/wwwroot/css/tokenizationPlatform.css
View file @
bc9e4006
...
...
@@ -4042,9 +4042,6 @@ TBL_keysList tbody td {
#maskSettingsAdvID
.show
{
display
:
block
!important
;
}
#maskTypeSet1
.show
{
display
:
block
!important
;
}
#recoverKeyForm
.show
{
display
:
block
!important
;
...
...
Merchant Token Vault Management/backstage/wwwroot/js/tokenizationPlatform.js
View file @
bc9e4006
...
...
@@ -143,17 +143,12 @@ function showMaskSettingsAdv() {
var
oSel
=
document
.
getElementById
(
"maskType"
);
var
oValue
=
oSel
.
options
[
oSel
.
selectedIndex
].
value
;
var
maskSettingsAdvID
=
document
.
getElementById
(
"maskSettingsAdvID"
);
var
maskTypeSet1
=
document
.
getElementById
(
"maskTypeSet1"
);
if
(
oValue
==
"0"
&&
!
maskSettingsAdvID
.
classList
.
contains
(
"show"
))
{
if
(
oValue
==
0
&&
!
maskSettingsAdvID
.
classList
.
contains
(
"show"
))
{
maskSettingsAdvID
.
classList
.
add
(
"show"
);
}
else
if
(
oValue
!=
"0"
&&
maskSettingsAdvID
.
classList
.
contains
(
"show"
))
{
}
else
if
(
oValue
!=
0
&&
maskSettingsAdvID
.
classList
.
contains
(
"show"
))
{
maskSettingsAdvID
.
classList
.
remove
(
"show"
);
}
if
(
oValue
==
"1"
&&
!
maskTypeSet1
.
classList
.
contains
(
"show"
))
{
maskTypeSet1
.
classList
.
add
(
"show"
);
}
else
if
(
oValue
!=
"1"
&&
maskTypeSet1
.
classList
.
contains
(
"show"
))
{
maskTypeSet1
.
classList
.
remove
(
"show"
);
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment