|
|
|
'use strict';
|
|
|
|
|
|
|
|
define('accounts/delete', ['api', 'bootbox', 'alerts'], function (api, bootbox, alerts) {
|
|
|
|
const Delete = {};
|
|
|
|
|
|
|
|
Delete.account = function (uid, callback) {
|
|
|
|
executeAction(
|
|
|
|
uid,
|
|
|
|
'[[user:delete_this_account_confirm]]',
|
|
|
|
'/account',
|
|
|
|
'[[user:account-deleted]]',
|
|
|
|
callback
|
|
|
|
);
|
|
|
|
};
|
|
|
|
|
|
|
|
Delete.content = function (uid, callback) {
|
|
|
|
executeAction(
|
|
|
|
uid,
|
|
|
|
'[[user:delete_account_content_confirm]]',
|
|
|
|
'/content',
|
|
|
|
'[[user:account-content-deleted]]',
|
|
|
|
callback
|
|
|
|
);
|
|
|
|
};
|
|
|
|
|
|
|
|
Delete.purge = function (uid, callback) {
|
|
|
|
executeAction(
|
|
|
|
uid,
|
|
|
|
'[[user:delete_all_confirm]]',
|
|
|
|
'',
|
|
|
|
'[[user:account-deleted]]',
|
|
|
|
callback
|
|
|
|
);
|
|
|
|
};
|
|
|
|
|
|
|
|
function executeAction(uid, confirmText, path, successText, callback) {
|
|
|
|
bootbox.confirm(confirmText, function (confirm) {
|
|
|
|
if (!confirm) {
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
api.del(`/users/${uid}${path}`, {}).then(() => {
|
|
|
|
alerts.success(successText);
|
|
|
|
|
|
|
|
if (typeof callback === 'function') {
|
|
|
|
return callback();
|
|
|
|
}
|
|
|
|
}).catch(alerts.error);
|
|
|
|
});
|
|
|
|
}
|
|
|
|
|
|
|
|
return Delete;
|
|
|
|
});
|