Skip to content

Commit e89510e

Browse files
committed
Delete more UGC when fake-deleting user, dont reset email
1 parent caf2d55 commit e89510e

3 files changed

Lines changed: 43 additions & 19 deletions

File tree

Refresh.Database/GameDatabaseContext.Users.cs

Lines changed: 33 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -395,14 +395,21 @@ public void DeleteUser(GameUser user)
395395
user.LocationX = 0;
396396
user.LocationY = 0;
397397
user.Description = deletedReason;
398-
user.EmailAddress = null;
398+
//user.EmailAddress = null; // should not be reset for now, to prevent them from just registering with it again
399399
user.PasswordBcrypt = "deleted";
400400
user.JoinDate = DateTimeOffset.MinValue;
401401
user.LastLoginDate = DateTimeOffset.MinValue;
402402
user.Lbp2PlanetsHash = "0";
403403
user.Lbp3PlanetsHash = "0";
404404
user.VitaPlanetsHash = "0";
405+
user.BetaPlanetsHash = "0";
405406
user.IconHash = "0";
407+
user.VitaIconHash = "0";
408+
user.BetaIconHash = "0";
409+
user.PspIconHash = "0";
410+
user.YayFaceHash = "0";
411+
user.BooFaceHash = "0";
412+
user.MehFaceHash = "0";
406413
user.AllowIpAuthentication = false;
407414
user.EmailAddressVerified = false;
408415
user.PsnAuthenticationAllowed = false;
@@ -413,27 +420,36 @@ public void DeleteUser(GameUser user)
413420
subject.UserId = null;
414421
}
415422

416-
this.FavouriteLevelRelations.RemoveRange(r => r.User == user);
417-
this.FavouriteUserRelations.RemoveRange(r => r.UserToFavourite == user);
418-
this.FavouriteUserRelations.RemoveRange(r => r.UserFavouriting == user);
419-
this.QueueLevelRelations.RemoveRange(r => r.User == user);
420-
this.GamePhotos.RemoveRange(p => p.Publisher == user);
421-
this.GameUserVerifiedIpRelations.RemoveRange(p => p.User == user);
423+
this.FavouriteLevelRelations.RemoveRange(r => r.UserId == user.UserId);
424+
this.FavouriteUserRelations.RemoveRange(r => r.UserToFavouriteId == user.UserId);
425+
this.FavouriteUserRelations.RemoveRange(r => r.UserFavouritingId == user.UserId);
426+
this.QueueLevelRelations.RemoveRange(r => r.UserId == user.UserId);
427+
this.TagLevelRelations.RemoveRange(r => r.UserId == user.UserId);
428+
this.GameUserVerifiedIpRelations.RemoveRange(p => p.UserId == user.UserId);
429+
430+
this.GameNotifications.RemoveRange(s => s.UserId == user.UserId);
431+
this.GamePhotos.RemoveRange(p => p.PublisherId == user.UserId);
432+
this.Events.RemoveRange(e => e.UserId == user.UserId);
433+
this.GameScores.RemoveRange(s => s.PublisherId == user.UserId);
434+
this.GameChallengeScores.RemoveRange(s => s.PublisherUserId == user.UserId);
435+
436+
this.GameLevelComments.RemoveRange(s => s.AuthorUserId == user.UserId);
437+
this.LevelCommentRelations.RemoveRange(s => s.UserId == user.UserId);
438+
this.GameProfileComments.RemoveRange(s => s.AuthorUserId == user.UserId);
439+
this.ProfileCommentRelations.RemoveRange(s => s.UserId == user.UserId);
440+
this.GameReviews.RemoveRange(s => s.PublisherUserId == user.UserId);
441+
this.RateReviewRelations.RemoveRange(s => s.UserId == user.UserId);
422442

423-
foreach (GameScore score in this.GameScores.ToList())
424-
{
425-
if (!score.PlayerIds.Contains(user.UserId)) continue;
426-
this.GameScores.Remove(score);
427-
}
428-
429-
foreach (GameLevel level in this.GameLevels.Where(l => l.Publisher == user))
443+
this.PinProgressRelations.RemoveRange(s => s.PublisherId == user.UserId);
444+
this.ProfilePinRelations.RemoveRange(s => s.PublisherId == user.UserId);
445+
this.GamePlaylists.RemoveRange(s => s.PublisherId == user.UserId);
446+
447+
foreach (GameLevel level in this.GameLevels.Where(l => l.PublisherUserId == user.UserId))
430448
{
431449
level.Publisher = null;
432450
}
433451

434-
this.GameChallengeScores.RemoveRange(s => s.Publisher == user);
435-
436-
foreach (GameChallenge challenge in this.GameChallenges.Where(c => c.Publisher == user))
452+
foreach (GameChallenge challenge in this.GameChallenges.Where(c => c.PublisherUserId == user.UserId))
437453
{
438454
challenge.Publisher = null;
439455
}

Refresh.Database/Models/Relations/LevelCommentRelation.cs

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,11 @@ namespace Refresh.Database.Models.Relations;
99
public partial class LevelCommentRelation : ICommentRelation<GameLevelComment>
1010
{
1111
[Key] public ObjectId CommentRelationId { get; set; } = ObjectId.GenerateNewId();
12-
[Required] public GameUser User { get; set; }
12+
13+
[ForeignKey(nameof(UserId)), Required]
14+
public GameUser User { get; set; }
15+
[Required] public ObjectId UserId { get; set; }
16+
1317
[Required] public GameLevelComment Comment { get; set; }
1418
public RatingType RatingType { get; set; }
1519
public DateTimeOffset Timestamp { get; set; }

Refresh.Database/Models/Relations/ProfileCommentRelation.cs

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,11 @@ namespace Refresh.Database.Models.Relations;
99
public partial class ProfileCommentRelation : ICommentRelation<GameProfileComment>
1010
{
1111
[Key] public ObjectId CommentRelationId { get; set; } = ObjectId.GenerateNewId();
12-
[Required] public GameUser User { get; set; }
12+
13+
[ForeignKey(nameof(UserId)), Required]
14+
public GameUser User { get; set; }
15+
[Required] public ObjectId UserId { get; set; }
16+
1317
[Required] public GameProfileComment Comment { get; set; }
1418
public RatingType RatingType { get; set; }
1519
public DateTimeOffset Timestamp { get; set; }

0 commit comments

Comments
 (0)