stash
This commit is contained in:
parent
17bfb84a94
commit
2fe8d14c2c
35 changed files with 1976 additions and 2134 deletions
|
|
@ -3,6 +3,9 @@ import router from '@/router';
|
|||
import FallBackResolver from "@/dns";
|
||||
import NeighborsCache from "@/neigbors";
|
||||
import {createNullAuth, createSignAuth, createTokenAuth, ServerSet, ServerSetUnion} from "@/federation";
|
||||
import {parseIdentityRecord, serializeIdentityRecord} from "@/identity";
|
||||
//import sharedStatePlugin from "@/../extras/shared-state-plugin";
|
||||
//import persistentStatePlugin from "@/../extras/persistent-state-plugin";
|
||||
|
||||
|
||||
export default createStore({
|
||||
|
|
@ -29,30 +32,6 @@ export default createStore({
|
|||
storage_locations: [],
|
||||
},
|
||||
mutations: {
|
||||
setUser(state, user) {
|
||||
state.user = user;
|
||||
if (state.remember)
|
||||
localStorage.setItem('user', user);
|
||||
},
|
||||
setToken(state, token) {
|
||||
state.token = token;
|
||||
if (state.remember)
|
||||
localStorage.setItem('token', token);
|
||||
},
|
||||
setKey(state, keypair) {
|
||||
state.keypair = nacl.crypto_sign_keypair_from_seed(nacl.from_hex(keypair))
|
||||
if (state.remember)
|
||||
localStorage.setItem('keypair', nacl.to_hex(state.keypair.signSk).slice(0, 64))
|
||||
},
|
||||
setRemember(state, remember) {
|
||||
state.remember = remember;
|
||||
if (!remember) {
|
||||
localStorage.removeItem('user');
|
||||
localStorage.removeItem('token');
|
||||
localStorage.removeItem('keypair');
|
||||
}
|
||||
localStorage.setItem('remember', remember);
|
||||
},
|
||||
setInventoryItems(state, {url, items}) {
|
||||
state.item_map[url] = items;
|
||||
},
|
||||
|
|
@ -86,6 +65,45 @@ export default createStore({
|
|||
setFiles(state, files) {
|
||||
state.files = files;
|
||||
},
|
||||
setUser(state, user) {
|
||||
state.user = user;
|
||||
if (state.remember)
|
||||
localStorage.setItem('user', user);
|
||||
},
|
||||
setToken(state, token) {
|
||||
state.token = token;
|
||||
if (state.remember)
|
||||
localStorage.setItem('token', token);
|
||||
},
|
||||
setKey(state, keypair) {
|
||||
state.keypair = nacl.crypto_sign_keypair_from_seed(nacl.from_hex(keypair))
|
||||
if (state.remember)
|
||||
localStorage.setItem('keypair', nacl.to_hex(state.keypair.signSk).slice(0, 64))
|
||||
},
|
||||
setRemember(state, remember) {
|
||||
state.remember = remember;
|
||||
if (!remember) {
|
||||
localStorage.removeItem('user');
|
||||
localStorage.removeItem('token');
|
||||
localStorage.removeItem('keypair');
|
||||
}
|
||||
localStorage.setItem('remember', remember);
|
||||
},
|
||||
setUserFromIdentityRecord(state, {user, keypair}) {
|
||||
try {
|
||||
localStorage.removeItem('user');
|
||||
localStorage.removeItem('token');
|
||||
localStorage.removeItem('keypair');
|
||||
state.user = user;
|
||||
state.keypair = keypair;
|
||||
if (state.remember) {
|
||||
localStorage.setItem('user', user);
|
||||
localStorage.setItem('keypair', key)
|
||||
}
|
||||
} catch (e) {
|
||||
console.error('Invalid identity record')
|
||||
}
|
||||
},
|
||||
logout(state) {
|
||||
state.user = null;
|
||||
state.token = null;
|
||||
|
|
@ -357,6 +375,9 @@ export default createStore({
|
|||
state.last_load.categories = Date.now()
|
||||
state.last_load.availability_policies = Date.now()
|
||||
return data
|
||||
},
|
||||
async userIdentityRecord({state}, {password}) {
|
||||
return await serializeIdentityRecord(state.user, state.keypair, password);
|
||||
}
|
||||
},
|
||||
getters: {
|
||||
|
|
@ -371,7 +392,7 @@ export default createStore({
|
|||
state.local_loaded = true
|
||||
}
|
||||
|
||||
return state.user !== null && state.token !== null;
|
||||
return state.user !== null && (state.token !== null || state.keypair !== null)
|
||||
},
|
||||
signAuth(state) {
|
||||
return createSignAuth(state.user, state.keypair.signSk)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue