Page MenuHomePhabricator

D13691.diff
No OneTemporary

D13691.diff

diff --git a/keyserver/src/scripts/delete-account.js b/keyserver/src/scripts/delete-account.js
new file mode 100644
--- /dev/null
+++ b/keyserver/src/scripts/delete-account.js
@@ -0,0 +1,15 @@
+// @flow
+
+import { main } from './utils.js';
+import { deleteAccount } from '../deleters/account-deleters.js';
+import { createScriptViewer } from '../session/scripts.js';
+import { privilegedDeleteUsers } from '../utils/identity-utils.js';
+
+async function deleteTargetAccount() {
+ const targetUserID = '';
+ await privilegedDeleteUsers([targetUserID]);
+ const viewer = createScriptViewer(targetUserID);
+ await deleteAccount(viewer);
+}
+
+main([deleteTargetAccount]);
diff --git a/keyserver/src/utils/identity-utils.js b/keyserver/src/utils/identity-utils.js
--- a/keyserver/src/utils/identity-utils.js
+++ b/keyserver/src/utils/identity-utils.js
@@ -23,4 +23,20 @@
);
}
-export { findUserIdentities };
+async function privilegedDeleteUsers(
+ userIDs: $ReadOnlyArray<string>,
+): Promise<void> {
+ const [rustAPI, identityInfo, deviceID] = await Promise.all([
+ getRustAPI(),
+ verifyUserLoggedIn(),
+ getContentSigningKey(),
+ ]);
+ await rustAPI.privilegedDeleteUsers(
+ identityInfo.userId,
+ deviceID,
+ identityInfo.accessToken,
+ userIDs,
+ );
+}
+
+export { findUserIdentities, privilegedDeleteUsers };

File Metadata

Mime Type
text/plain
Expires
Thu, Oct 17, 9:25 PM (22 h, 7 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
2298782
Default Alt Text
D13691.diff (1 KB)

Event Timeline