From faa934bb31bf4242744c59bde7327d2543b24542 Mon Sep 17 00:00:00 2001 From: Nour Eldien Ayman Date: Sat, 17 May 2025 23:16:19 +0300 Subject: [PATCH] Refactor DatabaseSeeder to include repositories for user, address, and refresh tokens; clear user roles and delete all users during seeding --- .../podzilla/auth/seeder/DatabaseSeeder.java | 21 ++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/podzilla/auth/seeder/DatabaseSeeder.java b/src/main/java/com/podzilla/auth/seeder/DatabaseSeeder.java index 1566b98..f86a53e 100644 --- a/src/main/java/com/podzilla/auth/seeder/DatabaseSeeder.java +++ b/src/main/java/com/podzilla/auth/seeder/DatabaseSeeder.java @@ -2,7 +2,10 @@ import com.podzilla.auth.model.ERole; import com.podzilla.auth.model.Role; +import com.podzilla.auth.repository.AddressRepository; +import com.podzilla.auth.repository.RefreshTokenRepository; import com.podzilla.auth.repository.RoleRepository; +import com.podzilla.auth.repository.UserRepository; import org.springframework.boot.CommandLineRunner; import org.springframework.stereotype.Component; @@ -10,14 +13,30 @@ public class DatabaseSeeder implements CommandLineRunner { private final RoleRepository roleRepository; + private final RefreshTokenRepository refreshTokenRepository; + private final UserRepository userRepository; + private final AddressRepository addressRepository; - public DatabaseSeeder(final RoleRepository roleRepository) { + public DatabaseSeeder(final RoleRepository roleRepository, + final RefreshTokenRepository refreshTokenRepository, + final UserRepository userRepository, + final AddressRepository addressRepository) { this.roleRepository = roleRepository; + this.refreshTokenRepository = refreshTokenRepository; + this.userRepository = userRepository; + this.addressRepository = addressRepository; } @Override public void run(final String... args) throws Exception { + userRepository.findAll().forEach(user -> { + user.getRoles().clear(); + userRepository.save(user); + }); + userRepository.deleteAll(); roleRepository.deleteAll(); + refreshTokenRepository.deleteAll(); + addressRepository.deleteAll(); roleRepository.save(new Role(ERole.ROLE_USER)); roleRepository.save(new Role(ERole.ROLE_ADMIN)); roleRepository.save(new Role(ERole.ROLE_COURIER));