Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 | 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x | import { parse } from "cookie";
export const deleteImpersonatedUser = (cookies) => {
Iif ("qpp_impersonated_user" in cookies) {
document.cookie =
"qpp_impersonated_user=; Path=/; Expires=Thu, 01 Jan 1970 00:00:01 GMT;";
}
Iif ("qpp_impersonated_type" in cookies) {
document.cookie =
"qpp_impersonated_type=; Path=/; Expires=Thu, 01 Jan 1970 00:00:01 GMT;";
}
};
export const revertApmPaymentCookie = () => {
const userHasApmPayments = localStorage.getItem("user_has_apm_payments");
if (userHasApmPayments) {
document.cookie = `user_has_apm_payments=${userHasApmPayments}; Path=/;`;
}
};
export const revertQppHasAuthsCookie = () => {
const { qppHasAuthorizations, behindSSL } = JSON.parse(
localStorage.getItem("impersonatorAuthValues"),
);
if (qppHasAuthorizations) {
document.cookie = `qpp_has_authorizations=${qppHasAuthorizations};path=/${
behindSSL ? ";secure" : ""
}`;
}
};
/**
* Makes an API request to end the user session.
* @param {Object} [_window] The DOM Window
* @return {Function} Returns a promise
*/
const LogoutSession = async (_window) => {
// Remove the Side Nav expanded state from localStorage
localStorage.removeItem("qpp_side_nav_expanded");
let cookies = parse(_window.document.cookie);
let logoutDestination = "/logout-confirmation";
if ("qpp_auth_token" in cookies) {
let onSuccess = () => {
// redirect to login/logged out screen
deleteImpersonatedUser(cookies);
_window.location.pathname = logoutDestination;
};
let onError = () => {
// delete cookie and redirect login/logged out screen
deleteImpersonatedUser(cookies);
_window.location.pathname = logoutDestination;
};
try {
const url = "/user/session-logout";
const options = {
method: "POST",
headers: {
"Content-Type": "application/json",
Authorization: `Bearer ${cookies.qpp_auth_token}`,
},
};
await fetch(url, options);
onSuccess();
} catch (error) {
onError();
console.log(error);
}
} else E{
_window.location.pathname = logoutDestination;
}
};
export default LogoutSession;
|