stash
This commit is contained in:
parent
448c166507
commit
17bfb84a94
62 changed files with 62258 additions and 107 deletions
|
|
@ -17,6 +17,7 @@ export default createStore({
|
|||
item_map: {},
|
||||
home_servers: null,
|
||||
all_friends_servers: null,
|
||||
messages: [],
|
||||
resolver: new FallBackResolver(),
|
||||
unreachable_neighbors: new NeighborsCache(),
|
||||
tags: [],
|
||||
|
|
@ -24,6 +25,8 @@ export default createStore({
|
|||
files: [],
|
||||
categories: [],
|
||||
availability_policies: [],
|
||||
domains: [],
|
||||
storage_locations: [],
|
||||
},
|
||||
mutations: {
|
||||
setUser(state, user) {
|
||||
|
|
@ -77,6 +80,9 @@ export default createStore({
|
|||
setDomains(state, domains) {
|
||||
state.domains = domains;
|
||||
},
|
||||
setStorageLocations(state, storage_locations) {
|
||||
state.storage_locations = storage_locations;
|
||||
},
|
||||
setFiles(state, files) {
|
||||
state.files = files;
|
||||
},
|
||||
|
|
@ -102,6 +108,7 @@ export default createStore({
|
|||
if (keypair) {
|
||||
this.commit('setKey', keypair)
|
||||
}
|
||||
router.push('/');
|
||||
}
|
||||
state.cache_loaded = true;
|
||||
}
|
||||
|
|
@ -182,6 +189,13 @@ export default createStore({
|
|||
dispatch('fetchInventoryItems')
|
||||
return ret
|
||||
},
|
||||
async fetchSearchResults({state, commit, dispatch, getters}, {query}) {
|
||||
const servers = await dispatch('getAllKnownServers')
|
||||
const items = await servers.get(getters.signAuth, '/api/search/?query=' + query)
|
||||
items.map(item => item.files.map(file => file.owner = item.owner))
|
||||
commit('setInventoryItems', {url: '/search/' + query, items})
|
||||
return items
|
||||
},
|
||||
async fetchFriends({commit, dispatch, getters, state}) {
|
||||
const servers = await dispatch('getHomeServers')
|
||||
const data = await servers.get(getters.signAuth, '/api/friends/')
|
||||
|
|
@ -309,6 +323,16 @@ export default createStore({
|
|||
state.last_load.availability_policies = Date.now()
|
||||
return data
|
||||
},
|
||||
async fetchStorageLocations({state, commit, dispatch, getters}) {
|
||||
if (state.last_load.storage_locations > Date.now() - 1000 * 60 * 60 * 24) {
|
||||
return state.storage_locations
|
||||
}
|
||||
const servers = await dispatch('getHomeServers')
|
||||
const data = await servers.get(getters.signAuth, '/api/storage_locations/')
|
||||
commit('setStorageLocations', data)
|
||||
state.last_load.storage_locations = Date.now()
|
||||
return data
|
||||
},
|
||||
async fetchInfo({state, commit, dispatch, getters}) {
|
||||
const last_load_info = Math.min(
|
||||
state.last_load.tags,
|
||||
|
|
@ -366,5 +390,41 @@ export default createStore({
|
|||
return acc.concat(items)
|
||||
}, [])
|
||||
},
|
||||
notifications(state) {
|
||||
// supported types: error, warning, info, login, success, friend
|
||||
const u = state.unreachable_neighbors.list().map(elem => {
|
||||
return {
|
||||
type: 'error',
|
||||
title: elem.domain + ' unreachable',
|
||||
msg: 'The neighbor ' + elem.domain + ' is currently unreachable. Please try again later.',
|
||||
time: elem.time
|
||||
}
|
||||
})
|
||||
return [...u, {
|
||||
type: 'info',
|
||||
title: 'Welcome to the Toolshed',
|
||||
msg: 'This is a federated social network. You can add friends from other servers and share items with them.',
|
||||
time: Date.now()
|
||||
}, {
|
||||
type: 'warning',
|
||||
title: 'Lorem ipsum',
|
||||
msg: 'Aliquam ex eros, imperdiet vulputate hendrerit et.',
|
||||
time: Date.now() - 1000 * 60 * 60 * 2
|
||||
}, {
|
||||
type: 'login',
|
||||
title: 'Login from 192.186.1.8',
|
||||
time: Date.now() - 1000 * 60 * 60 * 5
|
||||
}, {
|
||||
type: 'friend',
|
||||
title: 'New connection',
|
||||
msg: 'Christina accepted your request.',
|
||||
time: Date.now() - 1000 * 60 * 60 * 14
|
||||
}, {
|
||||
type: 'success',
|
||||
title: 'Lorem ipsum',
|
||||
msg: 'Aliquam ex eros, imperdiet vulputate hendrerit et.',
|
||||
time: Date.now() - 1000 * 60 * 60 * 24
|
||||
}]
|
||||
},
|
||||
}
|
||||
})
|
||||
Loading…
Add table
Add a link
Reference in a new issue