api, frontend: add account deletion

Closes https://gitlab.com/commento/commento/issues/120
This commit is contained in:
Adhityaa Chandrasekar
2020-01-02 13:41:07 -08:00
parent 80dc91ca05
commit dc24a40a37
11 changed files with 249 additions and 5 deletions

View File

@@ -33,12 +33,22 @@
}
}
// Shows messages produced from account deletion.
function displayDeletedOwner() {
var deleted = global.paramGet("deleted");
if (deleted === "true") {
$("#msg").html("Your account has been deleted.")
}
}
// Shows email confirmation and password reset messages, if any.
global.displayMessages = function() {
displayConfirmedEmail();
displayChangedPassword();
displaySignedUp();
displayDeletedOwner();
};

54
frontend/js/settings.js Normal file
View File

@@ -0,0 +1,54 @@
(function (global, document) {
"use strict";
(document);
global.vueConstruct = function(callback) {
var reactiveData = {
hasSource: global.owner.hasSource,
lastFour: global.owner.lastFour,
};
global.settings = new Vue({
el: "#settings",
data: reactiveData,
});
if (callback !== undefined) {
callback();
}
};
global.settingShow = function(setting) {
$(".pane-setting").removeClass("selected");
$(".view").hide();
$("#" + setting).addClass("selected");
$("#" + setting + "-view").show();
};
global.deleteOwnerHandler = function() {
if (!confirm("Are you absolutely sure you want to delete your account?")) {
return;
}
var json = {
"ownerToken": global.cookieGet("commentoOwnerToken"),
}
$("#delete-owner-button").prop("disabled", true);
$("#delete-owner-button").text("Deleting...");
global.post(global.origin + "/api/owner/delete", json, function(resp) {
if (!resp.success) {
$("#delete-owner-button").prop("disabled", false);
$("#delete-owner-button").text("Delete Account");
global.globalErrorShow(resp.message);
$("#error-message").text(resp.message);
return;
}
global.cookieDelete("commentoOwnerToken");
document.location = global.origin + "/login?deleted=true";
});
};
} (window.commento, document));