From 565b6c6f6737d59d1e8e689051bb05cec5ad613b Mon Sep 17 00:00:00 2001
From: Philippe Larose <philippe.larose@savoirfairelinux.com>
Date: Sun, 5 May 2024 17:15:34 -0400
Subject: [PATCH] ad-connector: fix user revocation

fixing a bug where users that should not be revoked are getting revoked
automatically with Active Directory
Ticket: https://redmine.savoirfairelinux.com/issues/7520

Change-Id: Icb7a0292eb195cdab6dec1af642211ca1ee69f09
---
 .../ad/connector/service/UserProfileService.java   | 14 --------------
 1 file changed, 14 deletions(-)

diff --git a/ad-connector/src/main/java/net/jami/jams/ad/connector/service/UserProfileService.java b/ad-connector/src/main/java/net/jami/jams/ad/connector/service/UserProfileService.java
index c2d3ffa2..c38cd92a 100644
--- a/ad-connector/src/main/java/net/jami/jams/ad/connector/service/UserProfileService.java
+++ b/ad-connector/src/main/java/net/jami/jams/ad/connector/service/UserProfileService.java
@@ -133,20 +133,6 @@ public class UserProfileService {
                     results.stream()
                             .map(UserProfileService::profileFromResponse)
                             .collect(Collectors.toList());
-            // There is a use case where a user is not in the LDAP directory but is in the database.
-            // When this happens, we need to revoke the user from the database.
-            List<UserProfile> profilesFromDatabase =
-                    dataStore.getUserProfileDao().getAllUserProfile();
-            for (UserProfile p : profilesFromDatabase) {
-                if (profilesFromResponse.stream()
-                        .noneMatch(r -> r.getUsername().equals(p.getUsername()))) {
-                    RevokeUserFlow.revokeUser(p.getUsername());
-                    // We also remove the user from the local_directory table to avoid duplicate
-                    // revocations
-                    dataStore.getUserProfileDao().deleteUserProfile(p.getUsername());
-                }
-            }
-            // Inserts the newly added profiles into the database.
             for (UserProfile p : profilesFromResponse) {
                 dataStore.getUserProfileDao().insertIfNotExists(p);
             }
-- 
GitLab