mirror of
https://github.com/crawlab-team/crawlab.git
synced 2026-01-22 17:31:03 +01:00
94 lines
2.1 KiB
JavaScript
94 lines
2.1 KiB
JavaScript
import request from '../../api/request'
|
|
|
|
const state = {
|
|
// NodeList
|
|
nodeList: [],
|
|
nodeForm: { _id: {} },
|
|
|
|
// spider to deploy/run
|
|
activeSpider: {}
|
|
}
|
|
|
|
const getters = {}
|
|
|
|
const mutations = {
|
|
SET_NODE_FORM (state, value) {
|
|
state.nodeForm = value
|
|
},
|
|
SET_NODE_LIST (state, value) {
|
|
state.nodeList = value
|
|
},
|
|
SET_ACTIVE_SPIDER (state, value) {
|
|
state.activeSpider = value
|
|
},
|
|
SET_NODE_SYSTEM_INFO (state, payload) {
|
|
const { id, systemInfo } = payload
|
|
for (let i = 0; i < state.nodeList.length; i++) {
|
|
if (state.nodeList[i]._id === id) {
|
|
state.nodeList[i].systemInfo = systemInfo
|
|
break
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
const actions = {
|
|
getNodeList ({ state, commit }) {
|
|
request.get('/nodes', {})
|
|
.then(response => {
|
|
commit('SET_NODE_LIST', response.data.data.map(d => {
|
|
d.systemInfo = {
|
|
os: '',
|
|
arch: '',
|
|
num_cpu: '',
|
|
executables: []
|
|
}
|
|
return d
|
|
}))
|
|
})
|
|
},
|
|
editNode ({ state, dispatch }) {
|
|
request.post(`/nodes/${state.nodeForm._id}`, state.nodeForm)
|
|
.then(() => {
|
|
dispatch('getNodeList')
|
|
})
|
|
},
|
|
deleteNode ({ state, dispatch }, id) {
|
|
request.delete(`/nodes/${id}`)
|
|
.then(() => {
|
|
dispatch('getNodeList')
|
|
})
|
|
},
|
|
getNodeData ({ state, commit }, id) {
|
|
request.get(`/nodes/${id}`)
|
|
.then(response => {
|
|
commit('SET_NODE_FORM', response.data.data)
|
|
})
|
|
},
|
|
getTaskList ({ state, commit }, id) {
|
|
return request.get(`/nodes/${id}/tasks`)
|
|
.then(response => {
|
|
if (response.data.data) {
|
|
commit('task/SET_TASK_LIST',
|
|
response.data.data.map(d => d)
|
|
.sort((a, b) => a.create_ts < b.create_ts ? 1 : -1),
|
|
{ root: true })
|
|
}
|
|
})
|
|
},
|
|
getNodeSystemInfo ({ state, commit }, id) {
|
|
return request.get(`/nodes/${id}/system`)
|
|
.then(response => {
|
|
commit('SET_NODE_SYSTEM_INFO', { id, systemInfo: response.data.data })
|
|
})
|
|
}
|
|
}
|
|
|
|
export default {
|
|
namespaced: true,
|
|
state,
|
|
getters,
|
|
mutations,
|
|
actions
|
|
}
|