UNPKG

@aciiverse/fetcii

Version:

Simple fetch module primary designed for the aciifx backend

92 lines 3.12 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.users = void 0; var users; (function (users) { /** * @method saves the login data and the token in the local storage * @param {SaveData} data includes `accessToken`: auth token; `userData`; `token_expire`: date when the token expires * @author Flowtastisch * @memberof Aciiverse * @date 31.08.24 */ function saveData(data) { if (typeof window === "undefined") return; window.localStorage.setItem("access_token", data.accessToken); window.localStorage.setItem("userData", JSON.stringify(data.userData)); window.localStorage.setItem("token_expire", data.tokenExp.toISOString()); } users.saveData = saveData; /** * @method gets the user data * @returns {users.UserData | undefined} the userdata object * @author Flowtastisch * @memberof Aciiverse * @date 31.08.24 */ function getData() { if (typeof window === "undefined") return; const userData = window.localStorage.getItem("userData"); if (!userData) return undefined; return JSON.parse(userData); } users.getData = getData; /** * @method gets the auth token * @returns {string} auth token * @author Flowtastisch * @memberof Aciiverse * @date 31.08.24 */ function getToken() { if (typeof window === "undefined") return; const userData = window.localStorage.getItem("access_token"); if (!userData) return undefined; return userData; } users.getToken = getToken; /** * @method logouts the user * @author Flowtastisch * @memberof Aciiverse * @date 31.08.24 */ function deleteData() { if (typeof window === "undefined") return; const localStorage = window.localStorage; localStorage.removeItem("access_token"); localStorage.removeItem("userData"); localStorage.removeItem("token_expire"); } users.deleteData = deleteData; /** * @method check if the token is valid -> standard: logout if token is expired * @param [deleteDataIfUnvalid=true] optional param: if `not set`: `true` * @returns {boolean} `true`: token expired & `false`: token valid * @author Flowtastisch * @memberof Aciiverse * @date 31.08.24 */ function checkTokenExpired(deleteDataIfUnvalid = true) { if (typeof window === "undefined") return true; const localStorage = window.localStorage, localTokenExp = localStorage.getItem("token_expire"); if (!localTokenExp) return true; const tokenExp = new Date(localTokenExp), today = new Date(); if (tokenExp > today) return false; // -> token valid if (deleteDataIfUnvalid) { deleteData(); } return true; } users.checkTokenExpired = checkTokenExpired; })(users || (exports.users = users = {})); //# sourceMappingURL=users.js.map