1
0
Fork 0

web - cancel request

This commit is contained in:
Ruben Meyer 2020-03-07 00:41:48 +01:00
parent fbdc3e1e28
commit 5c89e3a766
3 changed files with 37 additions and 3 deletions

View File

@ -105,6 +105,30 @@ route.post('/authenticate', (req, res) => {
// TODO: authenticate // TODO: authenticate
}); });
/**
* cancel app request and clear it
* @url /api/cancel
* @method GET
*/
route.get('/cancel', (req, res) => {
// if user is logged in
if(req.session && req.session.user) {
req.session.appRequest = {};
return res.type('json').end(JSON.stringify({
status: 200,
message: 'msg.request.operation.cancel.successful'
}));
// user isnt logged in
} else {
return res.type('json').end(JSON.stringify({
status: 401,
message: 'msg.auth.login.required'
}));
}
});
/** /**
* redirect user to app * redirect user to app
* @url /api/redirect * @url /api/redirect

View File

@ -21,7 +21,7 @@ append content
br br
i= app.access i= app.access
.uk-card-footer.uk-flex.uk-flex-around .uk-card-footer.uk-flex.uk-flex-around
a.uk-button.uk-button-default.uk-button-default Cancel button(onclick="cancelRequest()").uk-button.uk-button-default.uk-button-default Cancel
a.uk-button.uk-button-default.uk-button-primary(href="/api/redirect?id="+appRequest.appId) Authorize request a.uk-button.uk-button-default.uk-button-primary(href="/api/redirect?id="+appRequest.appId) Authorize request
else else
include blocks/login.pug include blocks/login.pug

View File

@ -20,7 +20,7 @@ function login() {
box.classList.remove("uk-hidden"); box.classList.remove("uk-hidden");
box.classList.add("uk-alert-success"); box.classList.add("uk-alert-success");
box.classList.getElementsByTagName("p")[0].innerHTML = "Logged in. You will be redirected"; box.getElementsByTagName("p")[0].innerHTML = "Logged in. You will be redirected";
} else if(json.message && json.message == "msg.auth.login.failed") { } else if(json.message && json.message == "msg.auth.login.failed") {
box.classList.remove("uk-hidden"); box.classList.remove("uk-hidden");
box.classList.add("uk-alert-danger"); box.classList.add("uk-alert-danger");
@ -41,11 +41,21 @@ function logout() {
} }
setTimeout(function () { setTimeout(function () {
if(document.getElementById("listener_logout")) { if(document.getElementById("listener_logout")) {
console.log("logout");
logout(); logout();
} }
}, 100); }, 100);
function cancelRequest() {
let ajax = new XMLHttpRequest();
ajax.open("GET", "/api/cancel", true);
ajax.setRequestHeader('Content-Type', 'charset=UTF-8');
ajax.send("");
ajax.onload = () => {
let json = JSON.parse(ajax.responseText);
if(json.message && json.message == "msg.request.operation.cancel.successful") window.location.href= "/";
};
}
// @url: https://stackoverflow.com/a/901144 // @url: https://stackoverflow.com/a/901144
function getParameterByName(name) { function getParameterByName(name) {
let url = window.location.href; let url = window.location.href;