mirror of
https://github.com/NicolasConstant/BirdsiteLive
synced 2025-06-05 21:49:16 +02:00
added delete event when deleting user
This commit is contained in:
@@ -121,7 +121,7 @@ namespace BirdsiteLive.Domain
|
|||||||
|
|
||||||
// Notify Followers
|
// Notify Followers
|
||||||
var message = $@"<p>[BSL MIRROR SERVICE NOTIFICATION]<br/>
|
var message = $@"<p>[BSL MIRROR SERVICE NOTIFICATION]<br/>
|
||||||
This bot has been disabled by it's original owner.<br/>
|
This bot has been disabled by its original owner.<br/>
|
||||||
It has been redirected to {validatedUser.FediverseAcct}.
|
It has been redirected to {validatedUser.FediverseAcct}.
|
||||||
</p>";
|
</p>";
|
||||||
NotifyFollowers(acct, twitterAccount, message);
|
NotifyFollowers(acct, twitterAccount, message);
|
||||||
@@ -171,7 +171,7 @@ namespace BirdsiteLive.Domain
|
|||||||
|
|
||||||
public async Task DeleteAccountAsync(string acct)
|
public async Task DeleteAccountAsync(string acct)
|
||||||
{
|
{
|
||||||
// Apply moved to
|
// Apply deleted state
|
||||||
var twitterAccount = await _twitterUserDal.GetTwitterUserAsync(acct);
|
var twitterAccount = await _twitterUserDal.GetTwitterUserAsync(acct);
|
||||||
if (twitterAccount == null)
|
if (twitterAccount == null)
|
||||||
{
|
{
|
||||||
@@ -181,12 +181,52 @@ namespace BirdsiteLive.Domain
|
|||||||
|
|
||||||
twitterAccount.Deleted = true;
|
twitterAccount.Deleted = true;
|
||||||
await _twitterUserDal.UpdateTwitterUserAsync(twitterAccount);
|
await _twitterUserDal.UpdateTwitterUserAsync(twitterAccount);
|
||||||
|
|
||||||
// Notify Followers
|
// Notify Followers
|
||||||
var message = $@"<p>[BSL MIRROR SERVICE NOTIFICATION]<br/>
|
var message = $@"<p>[BSL MIRROR SERVICE NOTIFICATION]<br/>
|
||||||
This bot has been deleted by it's original owner.<br/>
|
This bot has been deleted by its original owner.<br/>
|
||||||
</p>";
|
</p>";
|
||||||
NotifyFollowers(acct, twitterAccount, message);
|
NotifyFollowers(acct, twitterAccount, message);
|
||||||
|
|
||||||
|
// Delete remote accounts
|
||||||
|
DeleteRemoteAccounts(acct);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void DeleteRemoteAccounts(string acct)
|
||||||
|
{
|
||||||
|
var t = Task.Run(async () =>
|
||||||
|
{
|
||||||
|
var allUsers = await _followersDal.GetAllFollowersAsync();
|
||||||
|
|
||||||
|
var followersWtSharedInbox = allUsers
|
||||||
|
.Where(x => !string.IsNullOrWhiteSpace(x.SharedInboxRoute))
|
||||||
|
.GroupBy(x => x.Host)
|
||||||
|
.ToList();
|
||||||
|
foreach (var followerGroup in followersWtSharedInbox)
|
||||||
|
{
|
||||||
|
var host = followerGroup.First().Host;
|
||||||
|
var sharedInbox = followerGroup.First().SharedInboxRoute;
|
||||||
|
|
||||||
|
var t1 = Task.Run(async () =>
|
||||||
|
{
|
||||||
|
await _activityPubService.DeleteUserAsync(acct, host, sharedInbox);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
var followerWtInbox = allUsers
|
||||||
|
.Where(x => !string.IsNullOrWhiteSpace(x.SharedInboxRoute))
|
||||||
|
.ToList();
|
||||||
|
foreach (var followerGroup in followerWtInbox)
|
||||||
|
{
|
||||||
|
var host = followerGroup.Host;
|
||||||
|
var sharedInbox = followerGroup.InboxRoute;
|
||||||
|
|
||||||
|
var t1 = Task.Run(async () =>
|
||||||
|
{
|
||||||
|
await _activityPubService.DeleteUserAsync(acct, host, sharedInbox);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task TriggerRemoteMigrationAsync(string id, string tweetid, string handle)
|
public async Task TriggerRemoteMigrationAsync(string id, string tweetid, string handle)
|
||||||
|
Reference in New Issue
Block a user