import { NetworkService } from './network-service'; import { jwtDecode } from 'jwt-decode'; // store import { storeGet } from '../store'; const API_BASE_URL = process.env.REACT_APP_API_EXECUTION_ADDRESS; export default class AuthenticationService { static wasLoggedIn = () => { const token = storeGet.main.getToken(); return token ?? false; }; static isExpired = () => { const token = storeGet.main.getToken(); if (!token) { return false; } let decoded = jwtDecode(token); if (!decoded) { return false; } let currentTs = new Date().getTime(); if (currentTs >= (decoded.exp * 1000)) { return true; //FIXME: try refresh } return false; }; static isLoggedIn = () => { const token = storeGet.main.getToken(); if (!token) { return false; } let decoded = jwtDecode(token); if (!decoded) { return false; } let currentTs = new Date().getTime(); if (currentTs >= decoded.exp * 1000) { return false; //FIXME: try refresh } return true; }; static login = (loginRequest, callback, errCallback) => { NetworkService.unauthorizedPost(`${API_BASE_URL}/user/login`, loginRequest, callback, errCallback); }; static registerUser = (registerRequest, callback, errCallback) => { NetworkService.post(`${API_BASE_URL}/user/register`, registerRequest, callback, errCallback); }; static forgotPassword = (request, callback, errCallback) => { NetworkService.unauthorizedPost(`${API_BASE_URL}/user/reset_password_request/?email=` + request, {}, callback, errCallback); } static checkTokenForgotPassword = (request, callback, errCallback) => { NetworkService.unauthorizedGet(`${API_BASE_URL}/user/reset_token_check/?token=` + request, {}, callback, errCallback); } static changePassword = (request, callback, errCallback) => { NetworkService.unauthorizedPatch(`${API_BASE_URL}/user/reset_password`, request, callback, errCallback); } }