57 lines
2.2 KiB
Java
57 lines
2.2 KiB
Java
package com.cubetiqs.fusion.data.generator;
|
|
|
|
import com.vaadin.flow.spring.annotation.SpringComponent;
|
|
|
|
import com.cubetiqs.fusion.data.service.UserRepository;
|
|
import com.cubetiqs.fusion.data.entity.User;
|
|
import java.util.Collections;
|
|
import org.springframework.security.crypto.password.PasswordEncoder;
|
|
import com.cubetiqs.fusion.data.Role;
|
|
|
|
import java.time.LocalDateTime;
|
|
|
|
import org.slf4j.Logger;
|
|
import org.slf4j.LoggerFactory;
|
|
import org.springframework.boot.CommandLineRunner;
|
|
import org.springframework.context.annotation.Bean;
|
|
import org.vaadin.artur.exampledata.DataType;
|
|
import org.vaadin.artur.exampledata.ExampleDataGenerator;
|
|
|
|
@SpringComponent
|
|
public class DataGenerator {
|
|
|
|
@Bean
|
|
public CommandLineRunner loadData(PasswordEncoder passwordEncoder, UserRepository userRepository) {
|
|
return args -> {
|
|
Logger logger = LoggerFactory.getLogger(getClass());
|
|
if (userRepository.count() != 0L) {
|
|
logger.info("Using existing database");
|
|
return;
|
|
}
|
|
int seed = 123;
|
|
|
|
logger.info("Generating demo data");
|
|
|
|
logger.info("... generating 2 User entities...");
|
|
User user = new User();
|
|
user.setName("John Normal");
|
|
user.setUsername("user");
|
|
user.setHashedPassword(passwordEncoder.encode("user"));
|
|
user.setProfilePictureUrl(
|
|
"https://images.unsplash.com/photo-1535713875002-d1d0cf377fde?ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&ixlib=rb-1.2.1&auto=format&fit=crop&w=128&h=128&q=80");
|
|
user.setRoles(Collections.singleton(Role.USER));
|
|
userRepository.save(user);
|
|
User admin = new User();
|
|
admin.setName("John Normal");
|
|
admin.setUsername("admin");
|
|
admin.setHashedPassword(passwordEncoder.encode("admin"));
|
|
admin.setProfilePictureUrl(
|
|
"https://images.unsplash.com/photo-1607746882042-944635dfe10e?ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&ixlib=rb-1.2.1&auto=format&fit=crop&w=128&h=128&q=80");
|
|
admin.setRoles(Collections.singleton(Role.ADMIN));
|
|
userRepository.save(admin);
|
|
|
|
logger.info("Generated demo data");
|
|
};
|
|
}
|
|
|
|
} |