fix(scaffold): 기존 UseCase에 단일 Tool 추가 시 새 파일(UseCase)이 생성되는 버그 수정
All checks were successful
Deploy to OCIWP / deploy (push) Successful in 6m10s
All checks were successful
Deploy to OCIWP / deploy (push) Successful in 6m10s
This commit is contained in:
@@ -1660,26 +1660,43 @@
|
||||
}
|
||||
|
||||
document.getElementById('toolForm').addEventListener('submit', function(e) {
|
||||
if (!groupedTools.length) return;
|
||||
const useCaseName = document.getElementById('toolGroupUseCaseName').value.trim();
|
||||
if (useCaseName) {
|
||||
e.preventDefault();
|
||||
e.stopImmediatePropagation();
|
||||
if (!/^[A-Z][A-Za-z0-9]*$/.test(useCaseName)) {
|
||||
alert('UseCase 이름은 PascalCase로 입력해주세요. 예: Customer');
|
||||
return;
|
||||
}
|
||||
try {
|
||||
const useCaseName = document.getElementById('toolGroupUseCaseName').value.trim();
|
||||
if (!/^[A-Z][A-Za-z0-9]*$/.test(useCaseName)) throw new Error('UseCase 이름은 PascalCase로 입력해주세요. 예: Customer');
|
||||
const current = currentToolDefinition();
|
||||
const tools = groupedTools.some(item => item.methodName === current.methodName) ? groupedTools : [...groupedTools, current];
|
||||
const data = Object.fromEntries(new FormData(this).entries());
|
||||
|
||||
const btn = this.querySelector('button[type="submit"]');
|
||||
const originalText = btn.innerHTML;
|
||||
btn.innerHTML = '<span class="spinner-border spinner-border-sm" role="status" aria-hidden="true"></span> 처리중...';
|
||||
btn.disabled = true;
|
||||
|
||||
fetch('/api/v1/scaffold/tool-group', {
|
||||
method: 'POST', headers: {'Content-Type': 'application/json'},
|
||||
body: JSON.stringify({useCaseName, moduleName: data.moduleName, author: data.author, date: data.date, tools})
|
||||
}).then(response => response.text()).then(result => {
|
||||
const resultBox = document.getElementById('resultBox');
|
||||
resultBox.style.display = 'block'; resultBox.className = result.startsWith('Error:') ? 'error' : 'success';
|
||||
resultBox.textContent = result;
|
||||
resultBox.textContent = result + (result.startsWith('Error:') ? '' : "\n\n> Note: Please sync Gradle in your IDE to reflect source code generation.");
|
||||
}).catch(error => {
|
||||
const resultBox = document.getElementById('resultBox');
|
||||
resultBox.style.display = 'block'; resultBox.className = 'error';
|
||||
resultBox.textContent = "Network error: " + error;
|
||||
}).finally(() => {
|
||||
btn.innerHTML = originalText;
|
||||
btn.disabled = false;
|
||||
});
|
||||
} catch (error) {
|
||||
alert(error.message);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
handleFormSubmit('toolForm', '/api/v1/scaffold/tool');
|
||||
|
||||
Reference in New Issue
Block a user