Files
bflows-bandi-fe/src/service/authentication-service.js
Vitalii Kiiko 5095ed7365 - added login page;
- added file upload;
- added faq item edit modal;
2024-08-23 16:55:19 +02:00

80 lines
2.1 KiB
JavaScript

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);
}
}