package com.pe.controller;





import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;

import org.springframework.security.crypto.password.PasswordEncoder;

import com.pe.entity.Rol;
import com.pe.entity.Usuario;
import com.pe.repository.UsuarioRepositorio;
import com.pe.service.RolServiceImpl;





@Controller
@RequestMapping("/user")
public class UsuarioController {
	
	@Autowired
	//private UsuarioService usuarios;
	private UsuarioRepositorio usuarios;
	
	@Autowired
	private RolServiceImpl rols;

	@Autowired
	private PasswordEncoder encoder;

	public UsuarioController() {
		// TODO Auto-generated constructor stub
	}
	
	@GetMapping
	 public String registrar(Model model){
		 model.addAttribute("usuario",new Usuario());
		 return "register";
	 }
	 
	 @PostMapping("/register")
	 public String registrar(Usuario usuario){
		 

		// calcular el HASH de la contraseña
	     String password = encoder.encode(usuario.getPassword());
	     usuario.setPassword(password);
	     usuario.setEnable(true);
	     usuarios.save(usuario);
	     
	     
	     Rol rol=new Rol();
	     rol.setUsuario(usuario);
	     rol.setRole("ROLE_USER");
	   
	     rols.save(rol);
		 return "redirect:/login";
		 
	 }

}
