123456789101112131415161718192021222324252627282930313233343536373839404142 |
- import { actionIsLoading } from '../../loading/action';
- import {
- actionLogInSuccess,
- actionLogInReject,
- actionLogOutSuccess,
- actionLogOutReject,
- } from '../action';
- import { setToken, loginUser } from '../../../api-data';
- const asyncLogin = (number:string, code: string,cb:() => void ) => async (dispatch:any) => {
- try {
- dispatch(actionIsLoading(true));
- const data = await loginUser<{token:string}>(number, code);
- if(!data?.token) throw new Error('bad request')
- dispatch(actionLogInSuccess(data.token))
- setToken.set(data.token)
- } catch (e) {
- dispatch(actionLogInReject());
- cb()
- } finally {
- dispatch(actionIsLoading(false));
- }
- };
- const asyncLogout = () => async (dispatch:any) => {
- try {
- dispatch(actionIsLoading(true));
- dispatch(actionLogOutSuccess());
- setToken.unset()
- } catch (e) {
- dispatch(actionLogOutReject());
- } finally {
- dispatch(actionIsLoading(false));
- }
- };
- export { asyncLogin, asyncLogout };
|