delete user file store when unregistering
This commit is contained in:
@@ -2,7 +2,9 @@ headers = `200 OK
|
||||
Content-Type: text/html`;
|
||||
|
||||
if (!ssid_sessions[socket.ssid].getSessionData("registered")) {
|
||||
var redirect = [10, "client:goback?"];
|
||||
headers += "\nwtv-noback-all: wtv-";
|
||||
headers += "\nwtv-expire-all: wtv-";
|
||||
var redirect = [5, "client:relogin?"];
|
||||
var message = "Error: Your box is not registered. You are accessing " + minisrv_config.config.service_name + " in Guest Mode. There is nothing to delete!";
|
||||
} else if (request_headers.query.confirm_unregister) {
|
||||
if (ssid_sessions[socket.ssid].unregisterBox()) {
|
||||
@@ -14,7 +16,7 @@ if (!ssid_sessions[socket.ssid].getSessionData("registered")) {
|
||||
} else {
|
||||
var redirect = [10, "client:goback?"];
|
||||
var message = "There was an error deleting your account data. Please try again later. If the problem persists, please contact " + minisrv_config.config.service_owner + " to request manual deletion.";
|
||||
message += "SSID verifcation may be required to perform a manual deletion.< br > <br>Returning from whence you came...<br><br>";
|
||||
message += "SSID verifcation may be required to perform a manual deletion.<br><br>Returning from whence you came...<br><br>";
|
||||
message += `<a href="${redirect[1]}">Click here if you are not automatically redirected.</a>`;
|
||||
}
|
||||
} else {
|
||||
|
||||
@@ -295,12 +295,16 @@ class WTVClientSessionData {
|
||||
}
|
||||
|
||||
unregisterBox() {
|
||||
var user_store_base = this.wtvshared.makeSafePath(this.wtvshared.getAbsolutePath(this.minisrv_config.config.SessionStore), this.path.sep + this.ssid);
|
||||
try {
|
||||
if (this.fs.lstatSync(this.minisrv_config.config.SessionStore + this.path.sep + this.ssid + ".json")) {
|
||||
this.fs.unlinkSync(this.minisrv_config.config.SessionStore + this.path.sep + this.ssid + ".json");
|
||||
if (this.fs.existsSync(user_store_base + ".json")) {
|
||||
this.fs.unlinkSync(user_store_base + ".json");
|
||||
this.session_store = {};
|
||||
return true;
|
||||
}
|
||||
if (this.fs.existsSync(user_store_base)) {
|
||||
this.fs.rmdirSync(user_store_base, { recursive: true });
|
||||
}
|
||||
return true;
|
||||
} catch (e) {
|
||||
// Don't log error 'file not found', it just means the client isn't registered yet
|
||||
console.error(" # Error deleting session data for", this.wtvshared.filterSSID(this.ssid), e);
|
||||
|
||||
Reference in New Issue
Block a user