에이전트 설정 Postman 로직 완료

main
icksishu@gmail.com 1 month ago
parent 9911a401fd
commit bf9d0341dd

@ -57,6 +57,9 @@ const agentConfigDeleted = {
dropBoxConfig: { dropBoxConfig: {
dropBoxList: [], dropBoxList: [],
}, },
postmanConfig: {
postmanList: [],
},
} }
window.debugData = agentConfig window.debugData = agentConfig
@ -227,6 +230,41 @@ function deleteDropBox() {
} }
} }
// postman
function addPostman() {
const postman = {
postmanId: '',
taskType: '',
action: {
type: 'SCHEDULED',
cron: '1 0/1 * * * *',
},
message: {
messageType: 'TRANSFER_DB_TO_DB',
dataSourceId: '',
sqlId: '',
postProcessingSqlId: '',
},
recipientHostId: '',
recipientDropBoxId: '',
description: '',
added: true,
}
agentConfig.postmanConfig.postmanList.push(postman)
}
// postman
function deletePostman() {
for (let i = agentConfig.postmanConfig.postmanList.length - 1; i >= 0; i--) {
if (agentConfig.postmanConfig.postmanList[i].selected) {
let splicedList = agentConfig.postmanConfig.postmanList.splice(i, 1)
if (Object.keys(splicedList[0]).indexOf('added') == -1) {
agentConfigDeleted.postmanConfig.postmanList.push(splicedList[0])
}
}
}
}
defineExpose({ defineExpose({
open, open,
close, close,
@ -507,7 +545,7 @@ defineExpose({
<div class="tab-pane fade tab-pane-scroll" id="dropbox-tab-pane" role="tabpanel" aria-labelledby="dropbox-tab" tabindex="0"> <div class="tab-pane fade tab-pane-scroll" id="dropbox-tab-pane" role="tabpanel" aria-labelledby="dropbox-tab" tabindex="0">
<div class="row mb-2"> <div class="row mb-2">
<div class="col-md-12"> <div class="col-md-12">
<h5>드롭박스 일반(DropBox General)</h5> <h5>수신 일반(DropBox General)</h5>
</div> </div>
</div> </div>
<div class="row mb-2"> <div class="row mb-2">
@ -556,7 +594,7 @@ defineExpose({
<div class="row m-1"> <div class="row m-1">
<div class="card p-0"> <div class="card p-0">
<div class="card-header d-flex"> <div class="card-header d-flex">
<h5 class="mb-0">드롭박스 목록 설정(dropBoxList)</h5> <h5 class="mb-0">수신 목록 설정(dropBoxList)</h5>
<div class="ms-auto"> <div class="ms-auto">
<button type="button" class="btn btn-sm btn-success" @click.prevent="addDropBox">추가</button> <button type="button" class="btn btn-sm btn-success" @click.prevent="addDropBox">추가</button>
<button type="button" class="btn btn-sm btn-danger ms-2" @click.prevent="deleteDropBox">삭제</button> <button type="button" class="btn btn-sm btn-danger ms-2" @click.prevent="deleteDropBox">삭제</button>
@ -568,7 +606,7 @@ defineExpose({
<tr> <tr>
<th scope="col" class="text-center">선택</th> <th scope="col" class="text-center">선택</th>
<th scope="col" class="text-center">드롭박스ID (dropBoxId)</th> <th scope="col" class="text-center">드롭박스ID (dropBoxId)</th>
<th scope="col" class="text-center">동작 방식 (taskType)</th> <th scope="col" class="text-center">수신 처리 방식 (taskType)</th>
<th scope="col" class="text-center">데이터소스ID (dataSourceId)</th> <th scope="col" class="text-center">데이터소스ID (dataSourceId)</th>
<th scope="col" class="text-center">SQL ID(sqlId)</th> <th scope="col" class="text-center">SQL ID(sqlId)</th>
<th scope="col" class="text-center">설명 (description)</th> <th scope="col" class="text-center">설명 (description)</th>
@ -596,13 +634,13 @@ defineExpose({
<div class="tab-pane fade" id="postman-tab-pane" role="tabpanel" aria-labelledby="postman-tab" tabindex="0"> <div class="tab-pane fade" id="postman-tab-pane" role="tabpanel" aria-labelledby="postman-tab" tabindex="0">
<div class="row mb-2"> <div class="row mb-2">
<div class="col-md-12"> <div class="col-md-12">
<h5>Postman General</h5> <h5>전송 일반 (Postman General)</h5>
</div> </div>
</div> </div>
<div class="row mb-2"> <div class="row mb-2">
<div class="col-md-5"> <div class="col-md-5">
<div class="input-group"> <div class="input-group">
<span class="input-group-text" id="agent-config-postman-thread-pool-size-label">threadPoolSize</span> <span class="input-group-text" id="agent-config-postman-thread-pool-size-label">전송 쓰레드풀 크기 (threadPoolSize)</span>
<input type="number" class="form-control" id="agent-config-postman-thread-pool-size-input" aria-describedby="agent-config-postman-thread-pool-size-label agent-config-postman-thread-pool-size-input" v-model="agentConfig.postmanConfig.threadPoolSize" /> <input type="number" class="form-control" id="agent-config-postman-thread-pool-size-input" aria-describedby="agent-config-postman-thread-pool-size-label agent-config-postman-thread-pool-size-input" v-model="agentConfig.postmanConfig.threadPoolSize" />
</div> </div>
</div> </div>
@ -610,44 +648,52 @@ defineExpose({
<hr /> <hr />
<div class="row m-1"> <div class="row m-1">
<div class="card p-0"> <div class="card p-0">
<div class="card-header"><h5>postmanList</h5></div> <div class="card-header d-flex">
<h5 class="mb-0">전송 목록 설정(postmanList)</h5>
<div class="ms-auto">
<button type="button" class="btn btn-sm btn-success" @click.prevent="addPostman">추가</button>
<button type="button" class="btn btn-sm btn-danger ms-2" @click.prevent="deletePostman">삭제</button>
</div>
</div>
<div class="card-body table-scroll"> <div class="card-body table-scroll">
<table class="table table-striped table-bordered align-middle table-sticky"> <table class="table table-striped table-bordered align-middle table-sticky">
<thead> <thead>
<tr> <tr>
<th scope="col" class="text-center" rowspan="2">postmanId</th> <th scope="col" class="text-center border-top border-bottom align-middle" rowspan="2">선택</th>
<th scope="col" class="text-center" rowspan="2">taskType</th> <th scope="col" class="text-center border-top border-bottom align-middle" rowspan="2">포스트맨ID (postmanId)</th>
<th scope="col" class="text-center" colspan="2">action</th> <th scope="col" class="text-center border-top border-bottom align-middle" rowspan="2">전송 처리 방식 (taskType)</th>
<th scope="col" class="text-center" colspan="4">message</th> <th scope="col" class="text-center border-top border-bottom align-middle" colspan="2">동작 방식 (action)</th>
<th scope="col" class="text-center" rowspan="2">recipientHostId</th> <th scope="col" class="text-center border-top border-bottom align-middle" colspan="4">전송 메시지 (message)</th>
<th scope="col" class="text-center" rowspan="2">recipientDropBoxId</th> <th scope="col" class="text-center border-top border-bottom align-middle" rowspan="2">수신 에이전트 호스트ID (recipientHostId)</th>
<th scope="col" class="text-center" rowspan="2">description</th> <th scope="col" class="text-center border-top border-bottom align-middle" rowspan="2">수신 에이전트 드롭박스ID (recipientDropBoxId)</th>
<th scope="col" class="text-center border-top border-bottom align-middle" rowspan="2">설명 (description)</th>
</tr> </tr>
<tr> <tr>
<th scope="col" class="text-center">type</th> <th scope="col" class="text-center">방식 (type)</th>
<th scope="col" class="text-center">cron</th> <th scope="col" class="text-center">cron</th>
<th scope="col" class="text-center">messageType</th> <th scope="col" class="text-center">메시지 타입 (messageType)</th>
<th scope="col" class="text-center">dataSourceId</th> <th scope="col" class="text-center">데이터소스ID (dataSourceId)</th>
<th scope="col" class="text-center">sqlId</th> <th scope="col" class="text-center">SQL ID (sqlId)</th>
<th scope="col" class="text-center">postProcessingSqlId</th> <th scope="col" class="text-center">전송 완료 동작 SQL ID (postProcessingSqlId)</th>
</tr> </tr>
</thead> </thead>
<tbody class="table-group-divider"> <tbody class="table-group-divider">
<tr v-if="agentConfig.postmanConfig.postmanList.length > 0" v-for="postman in agentConfig.postmanConfig.postmanList" :key="postman.postmanId"> <tr v-if="agentConfig.postmanConfig.postmanList.length > 0" v-for="postman in agentConfig.postmanConfig.postmanList" :key="postman.postmanId">
<td scope="row">{{ postman.postmanId }}</td> <td scope="row" class="text-center"><input type="checkbox" class="form-check-input" v-model="postman.selected" /></td>
<td>{{ postman.taskType }}</td> <td><input type="text" class="form-control" v-model="postman.postmanId" /></td>
<td>{{ postman.action.type }}</td> <td><input type="text" class="form-control" v-model="postman.taskType" /></td>
<td>{{ postman.action.cron }}</td> <td><input type="text" class="form-control" v-model="postman.action.type" /></td>
<td>{{ postman.message.messageType }}</td> <td><input type="text" class="form-control" v-model="postman.action.cron" /></td>
<td>{{ postman.message.dataSourceId }}</td> <td><input type="text" class="form-control" v-model="postman.message.messageType" /></td>
<td>{{ postman.message.sqlId }}</td> <td><input type="text" class="form-control" v-model="postman.message.dataSourceId" /></td>
<td>{{ postman.message.postProcessingSqlId }}</td> <td><input type="text" class="form-control" v-model="postman.message.sqlId" /></td>
<td>{{ postman.recipientHostId }}</td> <td><input type="text" class="form-control" v-model="postman.message.postProcessingSqlId" /></td>
<td>{{ postman.recipientDropBoxId }}</td> <td><input type="text" class="form-control" v-model="postman.recipientHostId" /></td>
<td>{{ postman.description }}</td> <td><input type="text" class="form-control" v-model="postman.recipientDropBoxId" /></td>
<td><input type="text" class="form-control" v-model="postman.description" /></td>
</tr> </tr>
<tr v-else> <tr v-else>
<td scope="row" class="text-center" colspan="11">no postman.</td> <td scope="row" class="text-center" colspan="12">no postman.</td>
</tr> </tr>
</tbody> </tbody>
</table> </table>

Loading…
Cancel
Save