This commit is contained in:
@@ -191,6 +191,7 @@
|
||||
<svg class="w-3 h-3 text-zinc-500" fill="currentColor" viewBox="0 0 20 20"><path d="M10 18a8 8 0 100-16 8 8 0 000 16zM9 9a1 1 0 012 0v4a1 1 0 11-2 0V9zm1-5a1 1 0 110 2 1 1 0 010-2z"></path></svg>
|
||||
Auto-saved to LocalStorage
|
||||
</div>
|
||||
<button onclick="resetPayload()" class="btn-sm py-2 px-4 text-red-400 hover:text-red-300 border border-red-500/30 hover:border-red-400 mr-2" style="font-size:12px;" title="저장된 페이로드를 삭제하고 스키마 기본값으로 초기화합니다">Reset to Schema</button>
|
||||
<button onclick="closePayloadModal()" class="btn-sm py-2 px-4">Cancel</button>
|
||||
<button onclick="savePayload()" class="btn-execute py-2 px-4" style="font-size:12px;">Save & Apply</button>
|
||||
</div>
|
||||
@@ -771,6 +772,26 @@
|
||||
document.getElementById('payloadModal').style.display = 'none';
|
||||
}
|
||||
|
||||
function resetPayload() {
|
||||
if (currentEditIndex === -1) return;
|
||||
const tool = allTools[currentEditIndex];
|
||||
|
||||
// 로컬 스토리지에서 삭제
|
||||
const savedPayloads = JSON.parse(localStorage.getItem('mcp_tester_payloads') || '{}');
|
||||
delete savedPayloads[tool.name];
|
||||
localStorage.setItem('mcp_tester_payloads', JSON.stringify(savedPayloads));
|
||||
|
||||
// 런타임 상태 초기화
|
||||
tool._customPayload = null;
|
||||
|
||||
// 새 스키마 기반 기본 페이로드 생성
|
||||
const freshPayload = generateDummyPayload(tool);
|
||||
|
||||
// UI 업데이트
|
||||
document.getElementById('payloadEditor').value = JSON.stringify(freshPayload, null, 2);
|
||||
renderSmartForm(tool, freshPayload);
|
||||
}
|
||||
|
||||
function savePayload() {
|
||||
let finalPayload = {};
|
||||
if (currentPayloadMode === 'form') {
|
||||
|
||||
@@ -22,6 +22,6 @@ import lombok.Data;
|
||||
@Data
|
||||
public class BalanceRequest {
|
||||
@McpParameter(description = "고객의 계좌번호 (- 제외) ", required = true)
|
||||
@McpValidation(pattern = "\\S")
|
||||
@McpValidation(pattern = "\\S", examples = {"1234567890"})
|
||||
private String accountNumber;
|
||||
}
|
||||
@@ -31,10 +31,10 @@ import lombok.Setter;
|
||||
public class BillingProcessRequest {
|
||||
|
||||
@McpParameter(description = "처리할 청구 접수 번호", required = true)
|
||||
@McpValidation(pattern = "\\S")
|
||||
@McpValidation(pattern = "\\S", examples = {"BILL20260805"})
|
||||
private String billingId;
|
||||
|
||||
@McpParameter(description = "심사 승인 여부 (예: APPROVE, REJECT)")
|
||||
@McpValidation(required = true, allowedValues = {"APPROVE", "REJECT"})
|
||||
@McpValidation(required = true, allowedValues = {"APPROVE", "REJECT"}, examples = {"APPROVED"})
|
||||
private String approvalStatus;
|
||||
}
|
||||
@@ -1,5 +1,6 @@
|
||||
package io.shinhanlife.dap.mcc.biz.cmm.dto;
|
||||
|
||||
import io.shinhanlife.dap.lib.annotation.McpValidation;
|
||||
import lombok.Builder;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.AllArgsConstructor;
|
||||
@@ -30,5 +31,6 @@ import lombok.Setter;
|
||||
public class BillingStatusRequest {
|
||||
|
||||
@McpParameter(description = "조회할 청구 접수 번호", required = true)
|
||||
@McpValidation(examples = {"BILL20260805"})
|
||||
private String billingId;
|
||||
}
|
||||
@@ -1,5 +1,6 @@
|
||||
package io.shinhanlife.dap.mcc.biz.cmm.dto;
|
||||
|
||||
import io.shinhanlife.dap.lib.annotation.McpValidation;
|
||||
import lombok.Builder;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.AllArgsConstructor;
|
||||
@@ -30,5 +31,6 @@ import lombok.Setter;
|
||||
public class BondCheckRequest {
|
||||
|
||||
@McpParameter(description = "확인하고자 하는 디지털 증권 발행 금액", required = true)
|
||||
@McpValidation(examples = {"1000000"})
|
||||
private Long amount;
|
||||
}
|
||||
@@ -31,10 +31,10 @@ import lombok.Setter;
|
||||
public class BondIssueRequest {
|
||||
|
||||
@McpParameter(description = "발행할 디지털 증권 금액", required = true)
|
||||
@McpValidation(minimum = 1)
|
||||
@McpValidation(minimum = 1, examples = {"1000000"})
|
||||
private Long amount;
|
||||
|
||||
@McpParameter(description = "발행 대상 계좌 번호", required = true)
|
||||
@McpValidation(pattern = "\\S")
|
||||
@McpValidation(pattern = "\\S", examples = {"1234567890"})
|
||||
private String targetAccount;
|
||||
}
|
||||
@@ -30,14 +30,14 @@ public class ClaimSearchRequest {
|
||||
private String contractNo;
|
||||
|
||||
@McpParameter(description = "청구 상태 필터")
|
||||
@McpValidation(allowedValues = {
|
||||
@McpValidation(examples = {"RECEIVED"}, allowedValues = {
|
||||
"RECEIVED", "REVIEWING", "ADDITIONAL_DOC_REQUIRED",
|
||||
"APPROVED", "PAID", "REJECTED", "WITHDRAWN"
|
||||
})
|
||||
private String status;
|
||||
|
||||
@McpParameter(description = "청구 유형 필터")
|
||||
@McpValidation(allowedValues = {
|
||||
@McpValidation(examples = {"MEDICAL"}, allowedValues = {
|
||||
"MEDICAL", "SURGERY", "HOSPITALIZATION",
|
||||
"DIAGNOSIS", "DEATH", "DISABILITY"
|
||||
})
|
||||
@@ -52,6 +52,6 @@ public class ClaimSearchRequest {
|
||||
private String toDate;
|
||||
|
||||
@McpParameter(description = "반환할 최대 건수")
|
||||
@McpValidation(minimum = 1, maximum = 50, defaultValue = "20")
|
||||
@McpValidation(minimum = 1, maximum = 50, defaultValue = "20", examples = {"20"})
|
||||
private Integer size;
|
||||
}
|
||||
@@ -1,5 +1,6 @@
|
||||
package io.shinhanlife.dap.mcc.biz.cmm.dto;
|
||||
|
||||
import io.shinhanlife.dap.lib.annotation.McpValidation;
|
||||
import lombok.Builder;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.AllArgsConstructor;
|
||||
@@ -30,8 +31,10 @@ import lombok.Setter;
|
||||
public class ContractDetailRequest {
|
||||
|
||||
@McpParameter(description = "고객명", required = true)
|
||||
@McpValidation(examples = {"홍길동"})
|
||||
private String customerName;
|
||||
|
||||
@McpParameter(description = "조회할 계약 번호", required = true)
|
||||
@McpValidation(examples = {"1234567890"})
|
||||
private String contractId;
|
||||
}
|
||||
@@ -1,5 +1,6 @@
|
||||
package io.shinhanlife.dap.mcc.biz.cmm.dto;
|
||||
|
||||
import io.shinhanlife.dap.lib.annotation.McpValidation;
|
||||
import lombok.Builder;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.AllArgsConstructor;
|
||||
@@ -30,6 +31,7 @@ import lombok.Setter;
|
||||
public class ContractStatusRequest {
|
||||
|
||||
@McpParameter(description = "고객명", required = true)
|
||||
@McpValidation(examples = {"홍길동"})
|
||||
private String customerName;
|
||||
|
||||
@McpParameter(description = "조회할 계약 번호")
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package io.shinhanlife.dap.mcc.biz.cmm.dto;
|
||||
|
||||
import io.shinhanlife.dap.lib.annotation.McpValidation;
|
||||
import lombok.Builder;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.AllArgsConstructor;
|
||||
@@ -30,6 +31,7 @@ import lombok.Setter;
|
||||
public class CustomerDetailRequest {
|
||||
|
||||
@McpParameter(description = "고객명", required = true)
|
||||
@McpValidation(examples = {"홍길동"})
|
||||
private String customerName;
|
||||
|
||||
@McpParameter(description = "고객 식별 번호 (CID)")
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package io.shinhanlife.dap.mcc.biz.cmm.dto;
|
||||
|
||||
import io.shinhanlife.dap.lib.annotation.McpValidation;
|
||||
import lombok.Builder;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.AllArgsConstructor;
|
||||
@@ -30,6 +31,7 @@ import lombok.Setter;
|
||||
public class CustomerGradeRequest {
|
||||
|
||||
@McpParameter(description = "고객 이름 (예: 김신한)", required = true)
|
||||
@McpValidation(examples = {"홍길동"})
|
||||
private String customerName;
|
||||
|
||||
@McpParameter(description = "고객 식별 번호 (CID)")
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package io.shinhanlife.dap.mcc.biz.cmm.dto;
|
||||
|
||||
import io.shinhanlife.dap.lib.annotation.McpValidation;
|
||||
import lombok.Builder;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.AllArgsConstructor;
|
||||
@@ -30,5 +31,6 @@ import lombok.Setter;
|
||||
public class LeaveCountRequest {
|
||||
|
||||
@McpParameter(description = "연차 내역을 조회할 사원 번호", required = true)
|
||||
@McpValidation(examples = {"EMP12345"})
|
||||
private String employeeId;
|
||||
}
|
||||
@@ -2,6 +2,7 @@ package io.shinhanlife.dap.mcc.biz.cmm.dto;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonInclude;
|
||||
import io.shinhanlife.dap.lib.annotation.McpParameter;
|
||||
import io.shinhanlife.dap.lib.annotation.McpValidation;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
@@ -22,11 +23,13 @@ import lombok.Data;
|
||||
@JsonInclude(JsonInclude.Include.NON_NULL)
|
||||
public class MetaCommonCodeRequest {
|
||||
@McpParameter(description = "통합코드 그룹 ID (예: GRP_SYS_01, GRP_COMM_CD)", required = false)
|
||||
@McpValidation(examples = {"GRP_001"})
|
||||
private String groupCode;
|
||||
|
||||
@McpParameter(description = "코드명 검색 키워드 (예: 사용, 상태)", required = false)
|
||||
private String codeName;
|
||||
|
||||
@McpParameter(description = "사용여부 (예: Y, N)", required = false)
|
||||
@McpValidation(examples = {"Y"})
|
||||
private String useYn;
|
||||
}
|
||||
@@ -2,6 +2,7 @@ package io.shinhanlife.dap.mcc.biz.cmm.dto;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonInclude;
|
||||
import io.shinhanlife.dap.lib.annotation.McpParameter;
|
||||
import io.shinhanlife.dap.lib.annotation.McpValidation;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
@@ -22,11 +23,14 @@ import lombok.Data;
|
||||
@JsonInclude(JsonInclude.Include.NON_NULL)
|
||||
public class MetaTableRequest {
|
||||
@McpParameter(description = "테이블 물리명 키워드 (예: TB_CUST_BAS, TB_CONT)", required = false)
|
||||
@McpValidation(examples = {"TB_USER"})
|
||||
private String tableName;
|
||||
|
||||
@McpParameter(description = "테이블 논리명(한글) 키워드 (예: 고객기본, 계약)", required = false)
|
||||
@McpValidation(examples = {"고객기본"})
|
||||
private String tableLogicalName;
|
||||
|
||||
@McpParameter(description = "스키마/소유자명 (예: DAPADM, SHLOWN)", required = false)
|
||||
@McpValidation(examples = {"DAPADM"})
|
||||
private String owner;
|
||||
}
|
||||
@@ -1,6 +1,7 @@
|
||||
package io.shinhanlife.dap.mcc.biz.cmm.dto;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonInclude;
|
||||
import io.shinhanlife.dap.lib.annotation.McpValidation;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
@@ -20,5 +21,6 @@ import lombok.Data;
|
||||
@Data
|
||||
@JsonInclude(JsonInclude.Include.NON_NULL)
|
||||
public class SampleStringRequest {
|
||||
@McpValidation(examples = {"test query"})
|
||||
private String query;
|
||||
}
|
||||
@@ -1,5 +1,6 @@
|
||||
package io.shinhanlife.dap.mcc.biz.cmm.dto;
|
||||
|
||||
import io.shinhanlife.dap.lib.annotation.McpValidation;
|
||||
import lombok.AccessLevel;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
@@ -31,5 +32,6 @@ public class TemplateDownloadRequest {
|
||||
/**
|
||||
* 다운로드할 템플릿의 종류 ID (예: CUSTOMER_EXCEL, PRODUCT_PDF 등)
|
||||
*/
|
||||
@McpValidation(examples = {"TPL_001"})
|
||||
private String templateId;
|
||||
}
|
||||
@@ -31,10 +31,10 @@ import lombok.Setter;
|
||||
public class VacationRegisterRequest {
|
||||
|
||||
@McpParameter(description = "연차를 등록할 사원 번호", required = true)
|
||||
@McpValidation(pattern = "\\S")
|
||||
@McpValidation(pattern = "\\S", examples = {"EMP12345"})
|
||||
private String employeeId;
|
||||
|
||||
@McpParameter(description = "휴가 일자 (YYYY-MM-DD 형식)", required = true)
|
||||
@McpValidation(pattern = "^\\d{4}-\\d{2}-\\d{2}$")
|
||||
@McpValidation(pattern = "^\\d{4}-\\d{2}-\\d{2}$", examples = {"2026-08-05"})
|
||||
private String date;
|
||||
}
|
||||
@@ -2,6 +2,7 @@ package io.shinhanlife.dap.mcc.biz.smp.dto;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonInclude;
|
||||
import io.shinhanlife.dap.lib.annotation.McpParameter;
|
||||
import io.shinhanlife.dap.lib.annotation.McpValidation;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
@@ -22,5 +23,6 @@ import lombok.Data;
|
||||
@JsonInclude(JsonInclude.Include.NON_NULL)
|
||||
public class TeamMemberRequest {
|
||||
@McpParameter(description = "조회할 팀 이름 (예: AX, MCP, TOOL, 전체 등)", required = false)
|
||||
@McpValidation(examples = {"개발1팀"})
|
||||
private String teamName;
|
||||
}
|
||||
@@ -2,6 +2,7 @@ package io.shinhanlife.dap.mcc.biz.sol.dto;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonInclude;
|
||||
import io.shinhanlife.dap.lib.annotation.McpParameter;
|
||||
import io.shinhanlife.dap.lib.annotation.McpValidation;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
@@ -23,5 +24,6 @@ import lombok.Data;
|
||||
public class SolReqDetailRequest {
|
||||
|
||||
@McpParameter(description = "상세 조회할 SOL 의뢰서 ID", required = true)
|
||||
@McpValidation(examples = {"SR20260805"})
|
||||
private String srId;
|
||||
}
|
||||
@@ -2,6 +2,7 @@ package io.shinhanlife.dap.mcc.biz.sol.dto;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonInclude;
|
||||
import io.shinhanlife.dap.lib.annotation.McpParameter;
|
||||
import io.shinhanlife.dap.lib.annotation.McpValidation;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
@@ -22,11 +23,13 @@ import lombok.Data;
|
||||
@JsonInclude(JsonInclude.Include.NON_NULL)
|
||||
public class SolReqListRequest {
|
||||
@McpParameter(description = "진행상태 (예: 진행중, 완료 등)", required = false)
|
||||
@McpValidation(examples = {"RECEIVED"})
|
||||
private String status;
|
||||
|
||||
@McpParameter(description = "조회기간 (예: 1개월, 3개월 등)", required = false)
|
||||
private String period;
|
||||
|
||||
@McpParameter(description = "조회대상 (예: 나의 업무, 전체 등)", required = false)
|
||||
@McpValidation(examples = {"USER"})
|
||||
private String target;
|
||||
}
|
||||
@@ -31,11 +31,11 @@ import lombok.Setter;
|
||||
public class SmsSendRequest {
|
||||
|
||||
@McpParameter(description = "수신자 전화번호", required = true)
|
||||
@McpValidation(pattern = "^01[0-9]-?\\d{3,4}-?\\d{4}$")
|
||||
@McpValidation(pattern = "^01[0-9]-?\\d{3,4}-?\\d{4}$", examples = {"01012345678"})
|
||||
private String phoneNumber;
|
||||
|
||||
@McpParameter(description = "전송할 메시지 내용", required = true)
|
||||
@McpValidation(pattern = "\\S")
|
||||
@McpValidation(pattern = "\\S", examples = {"테스트 메시지입니다."})
|
||||
private String message;
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user