stash
This commit is contained in:
parent
2fe8d14c2c
commit
4627f0aca2
14 changed files with 1064 additions and 11 deletions
|
|
@ -30,6 +30,7 @@ export default createStore({
|
|||
availability_policies: [],
|
||||
domains: [],
|
||||
storage_locations: [],
|
||||
active_workflows: [],
|
||||
},
|
||||
mutations: {
|
||||
setInventoryItems(state, {url, items}) {
|
||||
|
|
@ -65,6 +66,9 @@ export default createStore({
|
|||
setFiles(state, files) {
|
||||
state.files = files;
|
||||
},
|
||||
setActiveWorkflows(state, workflows) {
|
||||
state.active_workflows = workflows;
|
||||
},
|
||||
setUser(state, user) {
|
||||
state.user = user;
|
||||
if (state.remember)
|
||||
|
|
@ -351,6 +355,28 @@ export default createStore({
|
|||
state.last_load.storage_locations = Date.now()
|
||||
return data
|
||||
},
|
||||
async deleteStorageLocation({state, dispatch, getters}, location) {
|
||||
const servers = await dispatch('getHomeServers')
|
||||
const ret = await servers.delete(getters.signAuth, '/api/storage_locations/' + location.id + '/')
|
||||
dispatch('fetchStorageLocations')
|
||||
return ret
|
||||
},
|
||||
async createStorageLocation({state, dispatch, getters}, location) {
|
||||
const servers = await dispatch('getHomeServers')
|
||||
const data = {...location}
|
||||
if (data.parent === '') data.parent = null
|
||||
const reply = await servers.post(getters.signAuth, '/api/storage_locations/', data)
|
||||
state.last_load.storage_locations = 0
|
||||
return reply
|
||||
},
|
||||
async updateStorageLocation({state, dispatch, getters}, location) {
|
||||
const servers = await dispatch('getHomeServers')
|
||||
const data = {...location}
|
||||
if (data.parent === '') data.parent = null
|
||||
const reply = await servers.patch(getters.signAuth, '/api/storage_locations/' + location.id + '/', data)
|
||||
dispatch('fetchStorageLocations')
|
||||
return reply
|
||||
},
|
||||
async fetchInfo({state, commit, dispatch, getters}) {
|
||||
const last_load_info = Math.min(
|
||||
state.last_load.tags,
|
||||
|
|
@ -378,6 +404,72 @@ export default createStore({
|
|||
},
|
||||
async userIdentityRecord({state}, {password}) {
|
||||
return await serializeIdentityRecord(state.user, state.keypair, password);
|
||||
},
|
||||
// Workflow actions
|
||||
async fetchWorkflows({state, commit, dispatch, getters}) {
|
||||
if (state.last_load.workflows > Date.now() - 1000 * 60 * 5) { // Cache for 5 minutes
|
||||
return state.workflows
|
||||
}
|
||||
const servers = await dispatch('getHomeServers')
|
||||
const data = await servers.get(getters.signAuth, '/api/workflows/')
|
||||
commit('setWorkflows', data)
|
||||
state.last_load.workflows = Date.now()
|
||||
return data
|
||||
},
|
||||
async fetchActiveWorkflows({state, commit, dispatch, getters}) {
|
||||
if (state.last_load.active_workflows > Date.now() - 1000 * 60 * 5) { // Cache for 5 minutes
|
||||
return state.active_workflows
|
||||
}
|
||||
const servers = await dispatch('getHomeServers')
|
||||
const data = await servers.get(getters.signAuth, '/api/workflows/active/')
|
||||
commit('setActiveWorkflows', data)
|
||||
state.last_load.active_workflows = Date.now()
|
||||
return data
|
||||
},
|
||||
async createWorkflow({state, commit, dispatch, getters}, workflowData) {
|
||||
const servers = await dispatch('getHomeServers')
|
||||
const data = await servers.post(getters.signAuth, '/api/workflows/', workflowData)
|
||||
state.last_load.active_workflows = 0 // Invalidate cache
|
||||
return data
|
||||
},
|
||||
async updateWorkflow({state, commit, dispatch, getters}, workflow) {
|
||||
const servers = await dispatch('getHomeServers')
|
||||
const data = await servers.patch(getters.signAuth, '/api/workflows/' + workflow.id + '/', workflow)
|
||||
state.last_load.active_workflows = 0 // Invalidate cache
|
||||
return data
|
||||
},
|
||||
async updateWorkflowStep({state, commit, dispatch, getters}, {workflowId, currentStep, payload}) {
|
||||
const servers = await dispatch('getHomeServers')
|
||||
const data = await servers.post(getters.signAuth, '/api/workflows/' + workflowId + '/update_step/', {
|
||||
current_step: currentStep,
|
||||
payload: payload
|
||||
})
|
||||
state.last_load.active_workflows = 0 // Invalidate cache
|
||||
return data
|
||||
},
|
||||
async pauseWorkflow({state, commit, dispatch, getters}, workflowId) {
|
||||
const servers = await dispatch('getHomeServers')
|
||||
const data = await servers.post(getters.signAuth, '/api/workflows/' + workflowId + '/pause/')
|
||||
state.last_load.active_workflows = 0 // Invalidate cache
|
||||
return data
|
||||
},
|
||||
async resumeWorkflow({state, commit, dispatch, getters}, workflowId) {
|
||||
const servers = await dispatch('getHomeServers')
|
||||
const data = await servers.post(getters.signAuth, '/api/workflows/' + workflowId + '/resume/')
|
||||
state.last_load.active_workflows = 0 // Invalidate cache
|
||||
return data
|
||||
},
|
||||
async cancelWorkflow({state, commit, dispatch, getters}, workflowId) {
|
||||
const servers = await dispatch('getHomeServers')
|
||||
const data = await servers.post(getters.signAuth, '/api/workflows/' + workflowId + '/cancel/')
|
||||
state.last_load.active_workflows = 0 // Invalidate cache
|
||||
return data
|
||||
},
|
||||
async deleteWorkflow({state, commit, dispatch, getters}, workflowId) {
|
||||
const servers = await dispatch('getHomeServers')
|
||||
await servers.delete(getters.signAuth, '/api/workflows/' + workflowId + '/')
|
||||
state.last_load.active_workflows = 0 // Invalidate cache
|
||||
return true
|
||||
}
|
||||
},
|
||||
getters: {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue