package com.project.whatsappchatbot;

import com.project.whatsappchatbot.model.Role;
import com.project.whatsappchatbot.repository.RoleRepository;
import org.springframework.boot.CommandLineRunner;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.security.servlet.SecurityAutoConfiguration;
import org.springframework.context.annotation.Bean;
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
import org.springframework.security.crypto.password.PasswordEncoder;

@SpringBootApplication(exclude = { SecurityAutoConfiguration.class })
public class Main {

	private final RoleRepository roleRepository;

	public Main(RoleRepository roleRepository) {
		this.roleRepository = roleRepository;
	}

	public static void main(String[] args) {
		SpringApplication.run(Main.class, args);
	}

	@Bean
	public CommandLineRunner createDefaultRoles() {
		return args -> {
			if (!roleRepository.existsByName("Admin")) {
				Role adminRole = new Role("Admin");
				roleRepository.save(adminRole);
			}

			if (!roleRepository.existsByName("Mechanic")) {
				Role mechanicRole = new Role("Mechanic");
				roleRepository.save(mechanicRole);
			}
		};
	}
	
}