update
This commit is contained in:
@@ -23,4 +23,129 @@ api.interceptors.response.use(
|
||||
}
|
||||
)
|
||||
|
||||
// Server API
|
||||
export const serverApi = {
|
||||
getAll: () => api.get('/servers'),
|
||||
getAllActive: () => api.get('/servers/active'),
|
||||
getById: (id) => api.get(`/servers/${id}`),
|
||||
create: (data) => api.post('/servers', data),
|
||||
update: (id, data) => api.put(`/servers/${id}`, data),
|
||||
delete: (id) => api.delete(`/servers/${id}`),
|
||||
testConnection: (id) => api.post(`/servers/${id}/test-connection`)
|
||||
}
|
||||
|
||||
// LogPath API
|
||||
export const logPathApi = {
|
||||
getByServerId: (serverId) => api.get(`/log-paths/server/${serverId}`),
|
||||
getActiveByServerId: (serverId) => api.get(`/log-paths/server/${serverId}/active`),
|
||||
getById: (id) => api.get(`/log-paths/${id}`),
|
||||
create: (data) => api.post('/log-paths', data),
|
||||
update: (id, data) => api.put(`/log-paths/${id}`, data),
|
||||
delete: (id) => api.delete(`/log-paths/${id}`)
|
||||
}
|
||||
|
||||
// Pattern API
|
||||
export const patternApi = {
|
||||
getAll: () => api.get('/patterns'),
|
||||
getAllActive: () => api.get('/patterns/active'),
|
||||
getById: (id) => api.get(`/patterns/${id}`),
|
||||
create: (data) => api.post('/patterns', data),
|
||||
update: (id, data) => api.put(`/patterns/${id}`, data),
|
||||
delete: (id) => api.delete(`/patterns/${id}`),
|
||||
test: (regex, sampleText) => api.post('/patterns/test', null, { params: { regex, sampleText } })
|
||||
}
|
||||
|
||||
// Setting API
|
||||
export const settingApi = {
|
||||
getAll: () => api.get('/settings'),
|
||||
getAllAsMap: () => api.get('/settings/map'),
|
||||
getValue: (key) => api.get(`/settings/${key}`),
|
||||
save: (data) => api.post('/settings', data),
|
||||
saveAll: (settings) => api.put('/settings', settings),
|
||||
delete: (key) => api.delete(`/settings/${key}`)
|
||||
}
|
||||
|
||||
// Scan API
|
||||
export const scanApi = {
|
||||
// SSE 기반 스캔 시작 (진행상황 실시간 수신)
|
||||
startWithProgress: (serverId, onProgress, onComplete, onError) => {
|
||||
const eventSource = new EventSource(`/api/scan/start/${serverId}`)
|
||||
|
||||
eventSource.addEventListener('progress', (event) => {
|
||||
const progress = JSON.parse(event.data)
|
||||
onProgress && onProgress(progress)
|
||||
})
|
||||
|
||||
eventSource.addEventListener('complete', (event) => {
|
||||
const result = JSON.parse(event.data)
|
||||
onComplete && onComplete(result)
|
||||
eventSource.close()
|
||||
})
|
||||
|
||||
eventSource.addEventListener('error', (event) => {
|
||||
if (event.data) {
|
||||
onError && onError(event.data)
|
||||
}
|
||||
eventSource.close()
|
||||
})
|
||||
|
||||
eventSource.onerror = () => {
|
||||
eventSource.close()
|
||||
}
|
||||
|
||||
return eventSource
|
||||
},
|
||||
|
||||
// SSE 기반 전체 서버 스캔
|
||||
startAllWithProgress: (onProgress, onComplete, onError) => {
|
||||
const eventSource = new EventSource('/api/scan/start-all')
|
||||
|
||||
eventSource.addEventListener('progress', (event) => {
|
||||
const progress = JSON.parse(event.data)
|
||||
onProgress && onProgress(progress)
|
||||
})
|
||||
|
||||
eventSource.addEventListener('complete', (event) => {
|
||||
const results = JSON.parse(event.data)
|
||||
onComplete && onComplete(results)
|
||||
eventSource.close()
|
||||
})
|
||||
|
||||
eventSource.addEventListener('error', (event) => {
|
||||
if (event.data) {
|
||||
onError && onError(event.data)
|
||||
}
|
||||
eventSource.close()
|
||||
})
|
||||
|
||||
eventSource.onerror = () => {
|
||||
eventSource.close()
|
||||
}
|
||||
|
||||
return eventSource
|
||||
},
|
||||
|
||||
// 동기 방식 스캔 (간단 실행)
|
||||
execute: (serverId) => api.post(`/scan/execute/${serverId}`),
|
||||
|
||||
// 진행 상황 조회
|
||||
getProgress: (serverId) => api.get(`/scan/progress/${serverId}`),
|
||||
|
||||
// 스캔 이력 조회
|
||||
getHistory: (serverId) => api.get(`/scan/history/${serverId}`)
|
||||
}
|
||||
|
||||
// ErrorLog API
|
||||
export const errorLogApi = {
|
||||
search: (params) => api.get('/error-logs', { params }),
|
||||
getById: (id) => api.get(`/error-logs/${id}`),
|
||||
getByServer: (serverId, params) => api.get(`/error-logs/server/${serverId}`, { params })
|
||||
}
|
||||
|
||||
// Export API (Step 5에서 구현 예정)
|
||||
export const exportApi = {
|
||||
exportHtml: (params) => api.post('/export/html', params, { responseType: 'blob' }),
|
||||
exportTxt: (params) => api.post('/export/txt', params, { responseType: 'blob' })
|
||||
}
|
||||
|
||||
export default api
|
||||
|
||||
Reference in New Issue
Block a user