Account deletion button
This commit is contained in:
@@ -88,6 +88,10 @@ define([
|
||||
};
|
||||
postMessage("MIGRATE_ANON_DRIVE", data, cb);
|
||||
};
|
||||
// Settings
|
||||
common.deleteAccount = function (cb) {
|
||||
postMessage("DELETE_ACCOUNT", null, cb);
|
||||
};
|
||||
// Drive
|
||||
common.userObjectCommand = function (data, cb) {
|
||||
postMessage("DRIVE_USEROBJECT", data, cb);
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
define([
|
||||
'json.sortify',
|
||||
'/common/userObject.js',
|
||||
'/common/migrate-user-object.js',
|
||||
'/common/common-hash.js',
|
||||
@@ -15,7 +16,7 @@ define([
|
||||
'/bower_components/chainpad-crypto/crypto.js?v=0.1.5',
|
||||
'/bower_components/chainpad/chainpad.dist.js',
|
||||
'/bower_components/chainpad-listmap/chainpad-listmap.js',
|
||||
], function (UserObject, Migrate, Hash, Util, Constants, Feedback, Realtime, Messaging, Messenger,
|
||||
], function (Sortify, UserObject, Migrate, Hash, Util, Constants, Feedback, Realtime, Messaging, Messenger,
|
||||
CpNfWorker, NetConfig, AppConfig,
|
||||
Crypto, ChainPad, Listmap) {
|
||||
var Store = {};
|
||||
@@ -420,6 +421,23 @@ define([
|
||||
});
|
||||
};
|
||||
|
||||
Store.deleteAccount = function (data, cb) {
|
||||
var toSign = {
|
||||
intent: 'Please delete my account.'
|
||||
};
|
||||
var secret = Hash.getSecrets('drive', storeHash);
|
||||
toSign.drive = secret.channel;
|
||||
toSign.edPublic = store.proxy.edPublic;
|
||||
var signKey = Crypto.Nacl.util.decodeBase64(secret.keys.signKey);
|
||||
console.log(Sortify(toSign));
|
||||
var proof = Crypto.Nacl.sign.detached(Crypto.Nacl.util.decodeUTF8(Sortify(toSign)), signKey);
|
||||
var proofTxt = Crypto.Nacl.util.encodeBase64(proof);
|
||||
cb({
|
||||
proof: proofTxt,
|
||||
toSign: JSON.parse(Sortify(toSign))
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* add a "What is CryptPad?" pad in the drive
|
||||
* data
|
||||
|
||||
@@ -172,7 +172,10 @@ define([
|
||||
case 'DRIVE_USEROBJECT': {
|
||||
Store.userObjectCommand(data, cb); break;
|
||||
}
|
||||
|
||||
// Settings
|
||||
case 'DELETE_ACCOUNT': {
|
||||
Store.deleteAccount(data, cb); break;
|
||||
}
|
||||
case 'IS_NEW_CHANNEL': {
|
||||
Store.isNewChannel(data, cb); break;
|
||||
}
|
||||
|
||||
@@ -193,6 +193,7 @@ define({
|
||||
'Q_SETTINGS_LOGOUT': true,
|
||||
// Import pads from this computer's anon session into the current user account
|
||||
'Q_SETTINGS_IMPORT_LOCAL': true,
|
||||
'Q_SETTINGS_DELETE_ACCOUNT': true,
|
||||
|
||||
// Store the language selected in the iframe into localStorage outside
|
||||
'Q_LANGUAGE_SET': true,
|
||||
|
||||
Reference in New Issue
Block a user