evoleasing-account/actions/authActions.js
2021-11-23 06:47:27 +03:00

158 lines
3.1 KiB
JavaScript

import axios from 'axios';
import { Cookies } from 'react-cookie';
import Router from 'next/router';
import moment from 'moment';
import * as actionTypes from '../constants/actionTypes';
import * as currentState from '../reducers/initialState';
if(process.browser)
{
FormData.prototype.appendObject = function(obj, namespace)
{
let keyName;
for (var key in obj)
{
if (obj.hasOwnProperty(key))
{
keyName = [namespace, '[', key, ']'].join('');
this.append(keyName, obj[key]);
}
}
};
}
export const sendLoginFormEmail = ({ email, password, dispatch }) =>
{
return new Promise((resolve, reject) =>
{
axios.post(`${ process.env.NEXT_PUBLIC_API_HOST }/api/account/auth/email/`, { email, password })
.then((response) =>
{
console.log("sendLoginFormEmail RESPONSE");
console.log(response.data);
if(response.data.status === "success")
{
const cookies = new Cookies();
cookies.set('jwt', response.data.token, new Date(moment().add(7, 'day').toDate()));
console.log("try to actionTypes.COMPANY", actionTypes.COMPANY);
console.log("response.data.company", response.data.company);
dispatch({ type: actionTypes.AUTH, data: { logged: true } });
dispatch({ type: actionTypes.USER, data: response.data.user });
dispatch({ type: actionTypes.COMPANY, data: response.data.company });
resolve();
Router.push('/');
}
else
{
reject();
}
})
.catch((error) =>
{
console.log("error");
console.error(error);
reject();
});
/*
if(fields.username === "test@test.com" && fields.password === "test")
{
const cookies = new Cookies();
cookies.set('jwt', 1, new Date(moment().add(1, 'day').toDate()));
}
Router.push('/');
*/
/*
axios.post(`${ process.env.NEXT_PUBLIC_API_HOST }/api/forms/terms/`, fields)
.then((response) =>
{
console.log("sendTermsForm RESPONSE");
console.log(response.data);
if(response.data.status)
{
resolve();
}
else
{
reject();
}
})
.catch((error) =>
{
console.log("error");
console.error(error);
reject();
});
*/
});
}
export const sendLoginFormPhone = (fields) =>
{
return new Promise((resolve, reject) =>
{
axios.post(`${ process.env.NEXT_PUBLIC_API_HOST }/api/account/auth/`, fields)
.then((response) =>
{
console.log("sendTermsForm RESPONSE");
console.log(response.data);
if(response.data.status)
{
resolve();
}
else
{
reject();
}
})
.catch((error) =>
{
console.log("error");
console.error(error);
reject();
});
if(fields.username === "test@test.com" && fields.password === "test")
{
const cookies = new Cookies();
cookies.set('jwt', 1, new Date(moment().add(1, 'day').toDate()));
}
Router.push('/');
/*
axios.post(`${ process.env.NEXT_PUBLIC_API_HOST }/api/forms/terms/`, fields)
.then((response) =>
{
console.log("sendTermsForm RESPONSE");
console.log(response.data);
if(response.data.status)
{
resolve();
}
else
{
reject();
}
})
.catch((error) =>
{
console.log("error");
console.error(error);
reject();
});
*/
});
}