update
This commit is contained in:
@@ -1,48 +1,48 @@
|
||||
package com.walkguide.config;
|
||||
|
||||
import org.springframework.boot.CommandLineRunner;
|
||||
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
|
||||
import org.springframework.security.crypto.password.PasswordEncoder;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import com.walkguide.entity.User;
|
||||
import com.walkguide.repository.UserRepository;
|
||||
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.boot.CommandLineRunner;
|
||||
import org.springframework.security.crypto.password.PasswordEncoder;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
@Component
|
||||
@RequiredArgsConstructor
|
||||
public class DataSeeder implements CommandLineRunner {
|
||||
|
||||
private final UserRepository userRepository;
|
||||
private final PasswordEncoder passwordEncoder;
|
||||
|
||||
@Override
|
||||
public void run(String... args) throws Exception {
|
||||
// Mesin enkripsi password
|
||||
PasswordEncoder passwordEncoder = new BCryptPasswordEncoder();
|
||||
|
||||
// Ngecek kalau tabel users kosong, baru diisi
|
||||
if (userRepository.count() == 0) {
|
||||
|
||||
// 1. Bikin akun Guardian (Pendamping)
|
||||
|
||||
// 1. Buat Guardian (tanpa connected_to dulu)
|
||||
User guardian = User.builder()
|
||||
.email("guardian@walkguide.com")
|
||||
.password(passwordEncoder.encode("guardian123")) // Password barunya
|
||||
.role("ROLE_GUARDIAN") // Role udah diganti
|
||||
.password(passwordEncoder.encode("guardian123"))
|
||||
.role("ROLE_GUARDIAN")
|
||||
.build();
|
||||
guardian = userRepository.save(guardian);
|
||||
|
||||
// 2. Bikin akun User (Tunanetra)
|
||||
// 2. Buat User Tunanetra, langsung sambungkan ke Guardian
|
||||
User user = User.builder()
|
||||
.email("user@walkguide.com")
|
||||
.password(passwordEncoder.encode("user123"))
|
||||
.role("ROLE_USER")
|
||||
.connectedTo(guardian)
|
||||
.build();
|
||||
user = userRepository.save(user);
|
||||
|
||||
// Simpan ke database
|
||||
// 3. Update Guardian -> sambungkan balik ke User yang dijaganya
|
||||
guardian.setConnectedTo(user);
|
||||
userRepository.save(guardian);
|
||||
userRepository.save(user);
|
||||
|
||||
System.out.println("✅ Data Seeder berhasil: Akun Guardian dan User telah masuk ke Database!");
|
||||
|
||||
System.out.println("DataSeeder: Guardian (" + guardian.getId()
|
||||
+ ") <-> User (" + user.getId() + ") berhasil dihubungkan!");
|
||||
} else {
|
||||
System.out.println("DataSeeder: Database sudah ada data, skip seeding.");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user