Skip to content

Commit f520cbb

Browse files
committed
Merge branch 'main' into attributes-backfill
2 parents 1d9a6fe + 4199150 commit f520cbb

3 files changed

Lines changed: 27 additions & 0 deletions

File tree

Refresh.Interfaces.Workers/Migrations/BackfillRevisionMigrator.cs renamed to Refresh.Interfaces.Workers/Migrations/BackfillRevisionMigration.cs

File renamed without changes.
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
using Refresh.Core;
2+
using Refresh.Database.Models.Users;
3+
using Refresh.Workers;
4+
5+
namespace Refresh.Interfaces.Workers.Migrations;
6+
7+
public class EnsureDeletedUsersDeletedMigration : MigrationJob<GameUser>
8+
{
9+
protected override int BatchCount => 5; // lower batch size as deletion takes a while
10+
11+
protected override IQueryable<GameUser> SortAndFilter(IQueryable<GameUser> query)
12+
{
13+
return query
14+
.Where(u => u.BanReason == "This user's account has been deleted." || u.PasswordBcrypt == "deleted")
15+
.OrderBy(u => u.UserId); // can't use join date here as we're changing the join date when we delete data
16+
}
17+
18+
protected override void Migrate(WorkContext context, GameUser[] batch)
19+
{
20+
foreach (GameUser user in batch)
21+
{
22+
context.Logger.LogWarning(RefreshContext.Worker, $"Deleting {user.Username}'s account again to ensure data has been wiped...");
23+
context.Database.DeleteUser(user);
24+
}
25+
}
26+
}

Refresh.Interfaces.Workers/RefreshWorkerManager.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ public static WorkerManager Create(Logger logger, IDataStore dataStore, GameData
2020
manager.AddJob<ObjectStatisticsJob>();
2121

2222
manager.AddJob<BackfillRevisionMigration>();
23+
manager.AddJob<EnsureDeletedUsersDeletedMigration>();
2324

2425
return manager;
2526
}

0 commit comments

Comments
 (0)