mirror of
https://github.com/muerwre/vault-frontend.git
synced 2025-04-26 05:16:41 +07:00
getting token / error
This commit is contained in:
parent
956802d5a5
commit
dc6f72baf1
26 changed files with 269 additions and 374 deletions
36
src/redux/auth/handlers.ts
Normal file
36
src/redux/auth/handlers.ts
Normal file
|
@ -0,0 +1,36 @@
|
|||
import {AUTH_USER_ACTIONS} from "~/redux/auth/constants";
|
||||
import * as ActionCreators from "~/redux/auth/actions";
|
||||
import {IAuthState} from "~/redux/auth/types";
|
||||
|
||||
interface ActionHandler<T> {
|
||||
(state: IAuthState, payload: T extends (...args: any[]) => infer R ? R : any): IAuthState;
|
||||
}
|
||||
|
||||
const setLoginError: ActionHandler<typeof ActionCreators.userSetLoginError> = (
|
||||
state,
|
||||
{ error }
|
||||
) => ({
|
||||
...state,
|
||||
login: {
|
||||
...state.login,
|
||||
error,
|
||||
}
|
||||
});
|
||||
|
||||
const setUser: ActionHandler<typeof ActionCreators.authSetUser> = (state, { profile }) => ({
|
||||
...state,
|
||||
user: {
|
||||
...state.user,
|
||||
...profile
|
||||
}
|
||||
});
|
||||
|
||||
const setToken: ActionHandler<typeof ActionCreators.authSetToken> = (state, { token }) => ({
|
||||
...state, token,
|
||||
});
|
||||
|
||||
export const AUTH_USER_HANDLERS = {
|
||||
[AUTH_USER_ACTIONS.SET_LOGIN_ERROR]: setLoginError,
|
||||
[AUTH_USER_ACTIONS.SET_USER]: setUser,
|
||||
[AUTH_USER_ACTIONS.SET_TOKEN]: setToken,
|
||||
};
|
Loading…
Add table
Add a link
Reference in a new issue