Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import axios from 'axios';
- import * as api from './api';
- function authRequest(email, pass, state) {
- /**
- * авторизация
- * @method authRequest
- * @param {string} email - почта / логин пользователя
- * @param {string} pass - пароль пользователя
- */
- axios.post(api.login, {
- username: email,
- password: pass,
- })
- .then((response) => {
- if (response.status === 200) {
- state({
- authenticated: true,
- token: response.data.token,
- });
- }
- })
- .catch(() => {
- state({ authenticated: false });
- });
- }
- module.exports = {
- login(email, pass, state) {
- /**
- * @param {string} email - почта / логин пользователя
- * @param {string} pass - пароль пользователя
- */
- state = arguments[arguments.length - 1];
- if (localStorage.token) {
- if (state) state(true);
- return;
- }
- pretendRequest(email, pass, (res) => {
- if (res.authenticated) {
- localStorage.token = res.token;
- if (state) state(true);
- } else {
- if (state) state(false);
- }
- });
- },
- getToken() {
- /**
- * @return {string} - получаем токен пользователя
- */
- return localStorage.token;
- },
- logout(state) {
- /**
- * @function logout - удаляем токин и выходим из личного кабинета
- */
- delete localStorage.token;
- if (state) state();
- },
- checkLogin() {
- /**
- * @return {boolean} - получаем информацию о наличие токена
- */
- return !!localStorage.token;
- },
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement