From c4be47d6d1b415a01ddd87e51e218b0b3f08728c Mon Sep 17 00:00:00 2001
From: Muhammad Raihan Akbar <ianakbar711@gmail.com>
Date: Wed, 5 Mar 2025 11:14:59 +0700
Subject: [PATCH] [REFACTOR] Removed SocialId property from User model

---
 .../com/safetypin/authentication/model/User.java    |  5 -----
 .../authentication/seeder/DevDataSeeder.java        |  5 -----
 .../service/AuthenticationService.java              |  6 ++++--
 .../safetypin/authentication/model/UserTest.java    |  7 -------
 .../service/AuthenticationServiceTest.java          | 13 -------------
 5 files changed, 4 insertions(+), 32 deletions(-)

diff --git a/src/main/java/com/safetypin/authentication/model/User.java b/src/main/java/com/safetypin/authentication/model/User.java
index 2906e30..63f738b 100644
--- a/src/main/java/com/safetypin/authentication/model/User.java
+++ b/src/main/java/com/safetypin/authentication/model/User.java
@@ -24,7 +24,6 @@ public class User {
 
     // May be null for social login users
     @Setter @Getter
-    @Column(nullable = false)
     private String password;
 
     @Setter @Getter
@@ -44,10 +43,6 @@ public class User {
     @Setter  @Getter
     private String provider;  // "EMAIL", "GOOGLE", "APPLE"
 
-    @Setter @Getter
-    private String socialId;  // For social login users
-
-
     // Getters and setters
 
     public boolean isVerified() {
diff --git a/src/main/java/com/safetypin/authentication/seeder/DevDataSeeder.java b/src/main/java/com/safetypin/authentication/seeder/DevDataSeeder.java
index e864402..9a2f3f9 100644
--- a/src/main/java/com/safetypin/authentication/seeder/DevDataSeeder.java
+++ b/src/main/java/com/safetypin/authentication/seeder/DevDataSeeder.java
@@ -41,7 +41,6 @@ public class DevDataSeeder implements Runnable {
             user1.setRole("user");
             user1.setBirthdate(LocalDate.of(1990, 1, 1));
             user1.setProvider(EMAIL_PROVIDER);
-            user1.setSocialId("social1");
             userRepository.save(user1);
 
             User user2 = new User();
@@ -52,7 +51,6 @@ public class DevDataSeeder implements Runnable {
             user2.setRole("user");
             user2.setBirthdate(LocalDate.of(1991, 2, 2));
             user2.setProvider(EMAIL_PROVIDER);
-            user2.setSocialId("social2");
             userRepository.save(user2);
 
 
@@ -64,7 +62,6 @@ public class DevDataSeeder implements Runnable {
             user3.setRole("user");
             user3.setBirthdate(LocalDate.of(1992, 3, 3));
             user3.setProvider(EMAIL_PROVIDER);
-            user3.setSocialId("social3");
             userRepository.save(user3);
 
             User user4 = new User();
@@ -75,7 +72,6 @@ public class DevDataSeeder implements Runnable {
             user4.setRole("user");
             user4.setBirthdate(LocalDate.of(1993, 4, 4));
             user4.setProvider(EMAIL_PROVIDER);
-            user4.setSocialId("social4");
             userRepository.save(user4);
 
             User user5 = new User();
@@ -86,7 +82,6 @@ public class DevDataSeeder implements Runnable {
             user5.setRole("user");
             user5.setBirthdate(LocalDate.of(1994, 5, 5));
             user5.setProvider(EMAIL_PROVIDER);
-            user5.setSocialId("social5");
             userRepository.save(user5);
         }
     }
diff --git a/src/main/java/com/safetypin/authentication/service/AuthenticationService.java b/src/main/java/com/safetypin/authentication/service/AuthenticationService.java
index 4e066be..7fa04bb 100644
--- a/src/main/java/com/safetypin/authentication/service/AuthenticationService.java
+++ b/src/main/java/com/safetypin/authentication/service/AuthenticationService.java
@@ -41,6 +41,10 @@ public class AuthenticationService {
         this.otpService = otpService;
     }
 
+    protected UserRepository getUserRepository() {
+        return userRepository;
+    }
+
     // Registration using email – includes birthdate and OTP generation
     public String registerUser(RegistrationRequest request) {
         if (calculateAge(request.getBirthdate()) < 16) {
@@ -61,7 +65,6 @@ public class AuthenticationService {
         user.setRole("USER");
         user.setBirthdate(request.getBirthdate());
         user.setProvider(EMAIL_PROVIDER);
-        user.setSocialId(null);
         user = userRepository.save(user);
 
         otpService.generateOTP(request.getEmail());
@@ -95,7 +98,6 @@ public class AuthenticationService {
         user.setRole("USER");
         user.setBirthdate(request.getBirthdate());
         user.setProvider(request.getProvider().toUpperCase());
-        user.setSocialId(request.getSocialId());
 
         user = userRepository.save(user);
         logger.info("User registered via social login at {}", java.time.LocalDateTime.now());
diff --git a/src/test/java/com/safetypin/authentication/model/UserTest.java b/src/test/java/com/safetypin/authentication/model/UserTest.java
index bb2b662..16752ce 100644
--- a/src/test/java/com/safetypin/authentication/model/UserTest.java
+++ b/src/test/java/com/safetypin/authentication/model/UserTest.java
@@ -21,7 +21,6 @@ class UserTest {
         assertNull(user.getRole(), "Default role should be null");
         assertNull(user.getBirthdate(), "Default birthdate should be null");
         assertNull(user.getProvider(), "Default provider should be null");
-        assertNull(user.getSocialId(), "Default socialId should be null");
     }
 
     @Test
@@ -35,7 +34,6 @@ class UserTest {
         String role = "ADMIN";
         LocalDate birthdate = LocalDate.of(2000, 1, 1);
         String provider = "GOOGLE";
-        String socialId = "social123";
 
         user.setId(id);
         user.setEmail(email);
@@ -45,7 +43,6 @@ class UserTest {
         user.setRole(role);
         user.setBirthdate(birthdate);
         user.setProvider(provider);
-        user.setSocialId(socialId);
 
         assertEquals(id, user.getId());
         assertEquals(email, user.getEmail());
@@ -55,7 +52,6 @@ class UserTest {
         assertEquals(role, user.getRole());
         assertEquals(birthdate, user.getBirthdate());
         assertEquals(provider, user.getProvider());
-        assertEquals(socialId, user.getSocialId());
     }
 
     @Test
@@ -67,7 +63,6 @@ class UserTest {
         String role = "USER";
         LocalDate birthdate = LocalDate.of(1995, 5, 15);
         String provider = "EMAIL";
-        String socialId = null;
 
         User user = new User();
         user.setEmail(email);
@@ -77,7 +72,6 @@ class UserTest {
         user.setRole(role);
         user.setBirthdate(birthdate);
         user.setProvider(provider);
-        user.setSocialId(socialId);
 
 
         // id remains null until set (by the persistence layer)
@@ -89,6 +83,5 @@ class UserTest {
         assertEquals(role, user.getRole());
         assertEquals(birthdate, user.getBirthdate());
         assertEquals(provider, user.getProvider());
-        assertNull(user.getSocialId(), "SocialId should be null");
     }
 }
diff --git a/src/test/java/com/safetypin/authentication/service/AuthenticationServiceTest.java b/src/test/java/com/safetypin/authentication/service/AuthenticationServiceTest.java
index 470e5c7..66e3c5b 100644
--- a/src/test/java/com/safetypin/authentication/service/AuthenticationServiceTest.java
+++ b/src/test/java/com/safetypin/authentication/service/AuthenticationServiceTest.java
@@ -91,7 +91,6 @@ class AuthenticationServiceTest {
         savedUser.setRole("USER");
         savedUser.setBirthdate(request.getBirthdate());
         savedUser.setProvider("EMAIL");
-        savedUser.setSocialId(null);
 
         UUID id = UUID.randomUUID();
         savedUser.setId(id);
@@ -142,7 +141,6 @@ class AuthenticationServiceTest {
         existingUser.setRole("USER");
         existingUser.setBirthdate(LocalDate.now().minusYears(30));
         existingUser.setProvider("EMAIL");
-        existingUser.setSocialId(null);
 
         when(userRepository.findByEmail("social@example.com")).thenReturn(existingUser);
 
@@ -170,7 +168,6 @@ class AuthenticationServiceTest {
         existingUser.setRole("USER");
         existingUser.setBirthdate(LocalDate.now().minusYears(25));
         existingUser.setProvider("GOOGLE");
-        existingUser.setSocialId("social123");
         UUID id = UUID.randomUUID();
         existingUser.setId(id);
 
@@ -204,7 +201,6 @@ class AuthenticationServiceTest {
         savedUser.setRole("USER");
         savedUser.setBirthdate(request.getBirthdate());
         savedUser.setProvider("GOOGLE");
-        savedUser.setSocialId("social123");
 
         UUID id = UUID.randomUUID();
         savedUser.setId(id);
@@ -238,7 +234,6 @@ class AuthenticationServiceTest {
         user.setRole("USER");
         user.setBirthdate(LocalDate.now().minusYears(20));
         user.setProvider("EMAIL");
-        user.setSocialId(null);
 
         when(userRepository.findByEmail("test@example.com")).thenReturn(user);
 
@@ -258,7 +253,6 @@ class AuthenticationServiceTest {
         user.setRole("USER");
         user.setBirthdate(LocalDate.now().minusYears(20));
         user.setProvider("EMAIL");
-        user.setSocialId(null);
 
         when(userRepository.findByEmail("test@example.com")).thenReturn(user);
         when(passwordEncoder.matches("wrongPassword", "encodedPassword")).thenReturn(false);
@@ -279,7 +273,6 @@ class AuthenticationServiceTest {
         user.setRole("USER");
         user.setBirthdate(LocalDate.now().minusYears(20));
         user.setProvider("EMAIL");
-        user.setSocialId(null);
 
         UUID id = UUID.randomUUID();
         user.setId(id
@@ -315,7 +308,6 @@ class AuthenticationServiceTest {
         user.setRole("USER");
         user.setBirthdate(LocalDate.now().minusYears(25));
         user.setProvider("GOOGLE");
-        user.setSocialId("social123");
 
         UUID id = UUID.randomUUID();
         user.setId(id);
@@ -344,7 +336,6 @@ class AuthenticationServiceTest {
         user.setRole("USER");
         user.setBirthdate(LocalDate.now().minusYears(20));
         user.setProvider("EMAIL");
-        user.setSocialId(null);
 
         when(userRepository.findByEmail("test@example.com")).thenReturn(user);
         when(userRepository.save(any(User.class))).thenReturn(user);
@@ -386,7 +377,6 @@ class AuthenticationServiceTest {
         user.setRole("USER");
         user.setBirthdate(LocalDate.now().minusYears(20));
         user.setProvider("EMAIL");
-        user.setSocialId(null);
 
         when(userRepository.findByEmail("test@example.com")).thenReturn(user);
 
@@ -411,7 +401,6 @@ class AuthenticationServiceTest {
         user.setRole("USER");
         user.setBirthdate(LocalDate.now().minusYears(25));
         user.setProvider("GOOGLE");
-        user.setSocialId("social123");
 
         when(userRepository.findByEmail("social@example.com")).thenReturn(user);
         Exception exception2 = assertThrows(IllegalArgumentException.class, () ->
@@ -439,7 +428,6 @@ class AuthenticationServiceTest {
         user.setRole("USER");
         user.setBirthdate(LocalDate.now().minusYears(20));
         user.setProvider("EMAIL");
-        user.setSocialId(null);
 
         when(userRepository.findByEmail("test@example.com")).thenReturn(user);
         String response = authenticationService.postContent("test@example.com", "Content");
@@ -456,7 +444,6 @@ class AuthenticationServiceTest {
         user.setRole("USER");
         user.setBirthdate(LocalDate.now().minusYears(20));
         user.setProvider("EMAIL");
-        user.setSocialId(null);
 
         when(userRepository.findByEmail("test@example.com")).thenReturn(user);
         String response = authenticationService.postContent("test@example.com", "Content");
-- 
GitLab