blob: 6edf40c2b82f86027349c695d27c287f81f89be2 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
namespace LibMatrix.Homeservers.ImplementationDetails.Synapse;
public class SynapseAdminUserCleanupExecutor(AuthenticatedHomeserverSynapse homeserver) {
/*
Remove mappings of SSO IDs
Delete media uploaded by user (included avatar images)
Delete sent and received messages
Remove the user's creation (registration) timestamp
Remove rate limit overrides
Remove from monthly active users
Remove user's consent information (consent version and timestamp)
*/
public async Task CleanupUser(string mxid) {
// change the user's password to a random one
var newPassword = Guid.NewGuid().ToString();
await homeserver.Admin.ResetPasswordAsync(mxid, newPassword, true);
await homeserver.Admin.DeleteAllMessages(mxid);
}
private async Task RunUserTasks(string mxid) {
var auth = await homeserver.Admin.LoginUserAsync(mxid, TimeSpan.FromDays(1));
var userHs = new AuthenticatedHomeserverSynapse(homeserver.ServerName, homeserver.WellKnownUris, null, auth.AccessToken);
await userHs.Initialise();
}
}
|