-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathlogin.js
More file actions
21 lines (19 loc) · 760 Bytes
/
login.js
File metadata and controls
21 lines (19 loc) · 760 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
const login = (loginData) => {
return new Promise((resolve, reject) => {
if (!loginData || !(loginData.token && loginData.expiresIn)) {
const errorMessage = 'Missing the token or expiresIn';
reject(errorMessage);
}
const expirationTime = loginData.expiresIn;
if (isNaN(expirationTime)) {
const errorMessage = 'Expiration date must be an integer';
reject(errorMessage);
}
const expirationDate = new Date().getTime() + expirationTime * 3600000;
loginData.expiresIn = expirationDate;
localStorage.setItem('expiresIn', expirationDate);
localStorage.setItem('token', loginData.token);
resolve();
});
};
module.exports = login;