From 7a142c876ecc4de23028aef419953c1c11c1f351 Mon Sep 17 00:00:00 2001 From: Michael Jerger Date: Tue, 2 Apr 2024 18:36:22 +0200 Subject: [PATCH] remove federated user in case of user deletion --- models/user/user_repository.go | 5 +++++ services/user/user.go | 7 +++++++ 2 files changed, 12 insertions(+) diff --git a/models/user/user_repository.go b/models/user/user_repository.go index c823aa1c84..24c2482e9d 100644 --- a/models/user/user_repository.go +++ b/models/user/user_repository.go @@ -76,3 +76,8 @@ func FindFederatedUser(ctx context.Context, externalID string, } return user, federatedUser, nil } + +func DeleteFederatedUser(ctx context.Context, userID int64) error { + _, err := db.GetEngine(ctx).Delete(&FederatedUser{UserID: userID}) + return err +} diff --git a/services/user/user.go b/services/user/user.go index f2648db409..9f2728ccb1 100644 --- a/services/user/user.go +++ b/services/user/user.go @@ -208,6 +208,13 @@ func DeleteUser(ctx context.Context, u *user_model.User, purge bool) error { return err } } + + // Delete Federated Users + if setting.Federation.Enabled { + if err := user_model.DeleteFederatedUser(ctx, u.ID); err != nil { + return err + } + } } ctx, committer, err := db.TxContext(ctx)