|
@ -2,9 +2,11 @@ import { GetterTree } from "vuex"; |
|
|
import { IState } from "./state"; |
|
|
import { IState } from "./state"; |
|
|
|
|
|
|
|
|
export type GettersTypes = { |
|
|
export type GettersTypes = { |
|
|
|
|
|
isAdmin (state: IState): boolean, |
|
|
isAuthenticated(state: IState): boolean, |
|
|
isAuthenticated(state: IState): boolean, |
|
|
storedToken(): string | null, |
|
|
|
|
|
token(state: IState): string | null |
|
|
|
|
|
|
|
|
storedToken () : string | null, |
|
|
|
|
|
token (state: IState): string | null, |
|
|
|
|
|
userName (state: IState): string | null |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
export const getters: GettersTypes & GetterTree<IState, IState> = { |
|
|
export const getters: GettersTypes & GetterTree<IState, IState> = { |
|
@ -15,6 +17,13 @@ export const getters: GettersTypes & GetterTree<IState, IState> = { |
|
|
return state.user != null; |
|
|
return state.user != null; |
|
|
}, |
|
|
}, |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
|
* Determine if the user is an admin |
|
|
|
|
|
*/ |
|
|
|
|
|
isAdmin(state: IState) { |
|
|
|
|
|
return state.user?.isAdmin ?? false; |
|
|
|
|
|
}, |
|
|
|
|
|
|
|
|
/** |
|
|
/** |
|
|
* Retrieve the stored token |
|
|
* Retrieve the stored token |
|
|
*/ |
|
|
*/ |
|
@ -27,5 +36,12 @@ export const getters: GettersTypes & GetterTree<IState, IState> = { |
|
|
*/ |
|
|
*/ |
|
|
token(state: IState) { |
|
|
token(state: IState) { |
|
|
return state.user?.token ?? null; |
|
|
return state.user?.token ?? null; |
|
|
|
|
|
}, |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
|
* Get the user's name (assumes authenticated) |
|
|
|
|
|
*/ |
|
|
|
|
|
userName(state: IState) { |
|
|
|
|
|
return state.user?.name.split(" ")[0] ?? null; |
|
|
} |
|
|
} |
|
|
}; |
|
|
}; |