인증정보 -> 개발자포탈 정보 반영

This commit is contained in:
Rinjae
2026-01-17 19:33:57 +09:00
parent 07801fe149
commit 11789e861b
5 changed files with 335 additions and 1 deletions
@@ -285,6 +285,56 @@
}
});
$("#btn_sync_portal").click(function() {
var clientId = $('input[name=clientId]').val();
var clientName = $('input[name=clientName]').val();
if (!clientId) {
alert("Client ID가 없습니다.");
return;
}
if (!confirm("'" + clientName + "'의 개발자포탈 정보를 반영하시겠습니까?\n\n" +
"APIGW 인증 정보를 포탈 DB에 반영합니다. (없으면 생성, 있으면 업데이트)")) {
return;
}
$.ajax({
type: "POST",
url: url,
dataType: "json",
data: {
cmd: 'SYNC_PORTAL',
clientId: clientId
},
success: function(response) {
if (response.success) {
var msg = "포탈 정보 반영 완료";
if (response.action === 'INSERTED') {
msg = "포탈 정보를 새로 생성했습니다.";
} else if (response.action === 'UPDATED') {
msg = "포탈 정보를 업데이트했습니다.";
} else if (response.action === 'SKIPPED_NO_ORG') {
msg = "반영을 건너뜁니다.\n법인(orgId)이 설정되지 않은 클라이언트입니다.";
} else if (response.action === 'SKIPPED_INVALID_API') {
msg = "반영을 건너뜁니다.\n존재하지 않는 API가 포함되어 있습니다.\n\n";
if (response.invalidApis && response.invalidApis.length > 0) {
msg += "누락된 API: " + response.invalidApis.join(", ");
}
}
alert(msg);
} else {
alert("반영 실패\n\n" + response.message);
}
},
error: function(xhr) {
alert("반영 중 오류가 발생했습니다.");
}
});
});
$("#btn_popup_api").click(function () {
const args = {};
const url2 = api_url_view += "?cmd=POPUP";
@@ -417,6 +467,8 @@
</div><!-- end content_top -->
<div class="content_middle">
<div class="search_wrap">
<button type="button" class="cssbtn" id="btn_sync_portal" level="W" status="DETAIL"><i class="material-icons">sync</i> 개발자포탈 정보 반영
</button>
<button type="button" class="cssbtn" id="btn_delete" level="W" status="DETAIL"><i class="material-icons">delete</i> <%= localeMessage.getString("button.delete") %>
</button>
<button type="button" class="cssbtn" id="btn_modify" level="W" status="DETAIL,NEW"><i