mirror of
https://github.com/crawlab-team/crawlab.git
synced 2026-01-22 17:31:03 +01:00
81 lines
2.2 KiB
Go
81 lines
2.2 KiB
Go
import request from '../../api/request'
|
|
|
|
const state = {
|
|
currentPath: '',
|
|
fileList: [],
|
|
fileContent: ''
|
|
}
|
|
|
|
const getters = {}
|
|
|
|
const mutations = {
|
|
SET_CURRENT_PATH (state, value) {
|
|
state.currentPath = value
|
|
},
|
|
SET_FILE_LIST (state, value) {
|
|
state.fileList = value
|
|
},
|
|
SET_FILE_CONTENT (state, value) {
|
|
state.fileContent = value
|
|
}
|
|
}
|
|
|
|
const actions = {
|
|
getFileList ({ commit, rootState }, payload) {
|
|
const { path } = payload
|
|
const spiderId = rootState.spider.spiderForm._id
|
|
commit('SET_CURRENT_PATH', path)
|
|
return request.get(`/spiders/${spiderId}/dir`, { path })
|
|
.then(response => {
|
|
if (!response.data.data) response.data.data = []
|
|
commit(
|
|
'SET_FILE_LIST',
|
|
response.data.data
|
|
.sort((a, b) => a.name > b.name ? -1 : 1)
|
|
.sort((a, b) => a.is_dir > b.is_dir ? -1 : 1)
|
|
)
|
|
})
|
|
},
|
|
getFileContent ({ commit, rootState }, payload) {
|
|
const { path } = payload
|
|
const spiderId = rootState.spider.spiderForm._id
|
|
return request.get(`/spiders/${spiderId}/file`, { path })
|
|
.then(response => {
|
|
commit('SET_FILE_CONTENT', response.data.data)
|
|
})
|
|
},
|
|
saveFileContent ({ state, rootState }, payload) {
|
|
const { path } = payload
|
|
const spiderId = rootState.spider.spiderForm._id
|
|
return request.post(`/spiders/${spiderId}/file`, { path, content: state.fileContent })
|
|
},
|
|
addFile ({ rootState }, payload) {
|
|
const { path } = payload
|
|
const spiderId = rootState.spider.spiderForm._id
|
|
return request.put(`/spiders/${spiderId}/file`, { path })
|
|
},
|
|
addDir ({ rootState }, payload) {
|
|
const { path } = payload
|
|
const spiderId = rootState.spider.spiderForm._id
|
|
return request.put(`/spiders/${spiderId}/dir`, { path })
|
|
},
|
|
deleteFile ({ rootState }, payload) {
|
|
const { path } = payload
|
|
const spiderId = rootState.spider.spiderForm._id
|
|
return request.delete(`/spiders/${spiderId}/file`, { path })
|
|
},
|
|
renameFile ({ rootState }, payload) {
|
|
const { path, newPath } = payload
|
|
const spiderId = rootState.spider.spiderForm._id
|
|
return request.post(`/spiders/${spiderId}/file/rename`, { path, new_path: newPath })
|
|
}
|
|
}
|
|
|
|
export default {
|
|
namespaced: true,
|
|
state,
|
|
getters,
|
|
mutations,
|
|
actions
|
|
}
|