36 lines
909 B
JavaScript
36 lines
909 B
JavaScript
import axios from 'axios'
|
|
|
|
const api = axios.create({
|
|
baseURL: '/api',
|
|
timeout: 60000,
|
|
headers: {
|
|
'Content-Type': 'application/json'
|
|
}
|
|
})
|
|
|
|
// 주제 API
|
|
export const topicApi = {
|
|
getList: () => api.get('/topics'),
|
|
get: (id) => api.get(`/topics/${id}`),
|
|
create: (data) => api.post('/topics', data),
|
|
update: (id, data) => api.put(`/topics/${id}`, data),
|
|
delete: (id) => api.delete(`/topics/${id}`)
|
|
}
|
|
|
|
// 문서 API
|
|
export const docApi = {
|
|
getList: (topicId) => api.get(`/topics/${topicId}/documents`),
|
|
upload: (topicId, formData) => api.post(`/topics/${topicId}/documents/upload`, formData, {
|
|
headers: { 'Content-Type': 'multipart/form-data' }
|
|
}),
|
|
delete: (docId) => api.delete(`/documents/${docId}`),
|
|
deleteAll: (topicId) => api.delete(`/topics/${topicId}/documents`)
|
|
}
|
|
|
|
// 채팅 API
|
|
export const chatApi = {
|
|
send: (data) => api.post('/chat', data)
|
|
}
|
|
|
|
export default api
|