@ -0,0 +1,25 @@ | |||
package com.ims.rallyModels.controlador; | |||
import com.ims.rallyModels.servicio.img.StorageService; | |||
import jakarta.annotation.Resource; | |||
import org.springframework.beans.factory.annotation.Autowired; | |||
import org.springframework.http.ResponseEntity; | |||
import org.springframework.stereotype.Controller; | |||
import org.springframework.web.bind.annotation.GetMapping; | |||
import org.springframework.web.bind.annotation.PathVariable; | |||
import org.springframework.web.bind.annotation.ResponseBody; | |||
@Controller | |||
public class FilesController { | |||
@Autowired | |||
StorageService storageService; | |||
@GetMapping("/files/{filename:.+}") | |||
@ResponseBody | |||
public ResponseEntity<Resource> serveFile(@PathVariable String filename) { | |||
Resource file = (Resource) storageService.loadAsResource(filename); | |||
return ResponseEntity.ok().body(file); | |||
} | |||
} |
@ -0,0 +1,52 @@ | |||
package com.ims.rallyModels.controlador; | |||
import com.ims.rallyModels.modelo.UsuarioEntity; | |||
import com.ims.rallyModels.repositorio.IUserRepository; | |||
import org.springframework.beans.factory.annotation.Autowired; | |||
import org.springframework.stereotype.Controller; | |||
import org.springframework.ui.Model; | |||
import org.springframework.web.bind.annotation.GetMapping; | |||
@Controller | |||
public class LoginControlador { | |||
@Autowired | |||
private IUserRepository iUserRepository; | |||
@GetMapping({"/login"}) | |||
public String goToLogin(Model model){ | |||
return "login"; | |||
} | |||
/* | |||
@Autowired | |||
private IUsuarioRepositorio iUserRepository; | |||
@GetMapping({"/login"}) | |||
public String goToLogin(Model model){ | |||
return "login"; | |||
} | |||
*/ | |||
/* | |||
@Autowired | |||
private IUsuarioRepositorio iUsuarioRepositorio; | |||
@GetMapping({"/login"}) | |||
public String goToLogin(Model model) { | |||
return "login"; | |||
} | |||
@GetMapping({"/"}) | |||
public String verPaginaInicio(Model model) { | |||
return "index"; | |||
} | |||
@GetMapping("/login/valid") | |||
public String loginValidation(String username) { | |||
UsuarioEntity user = iUsuarioRepositorio.findByName(username); | |||
return "login"; | |||
} | |||
*/ | |||
} |
@ -0,0 +1,72 @@ | |||
package com.ims.rallyModels.controlador; | |||
import com.ims.rallyModels.modelo.UserModel; | |||
import com.ims.rallyModels.repositorio.IUserRepository; | |||
import org.springframework.beans.factory.annotation.Autowired; | |||
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; | |||
import org.springframework.stereotype.Controller; | |||
import org.springframework.ui.Model; | |||
import org.springframework.web.bind.annotation.GetMapping; | |||
import org.springframework.web.bind.annotation.PostMapping; | |||
@Controller | |||
public class RegistroControlador { | |||
@Autowired | |||
private IUserRepository iUserRepository; | |||
@GetMapping({"/register"}) | |||
public String goToregister(Model model){ | |||
model.addAttribute("user", new UserModel()); | |||
return "register"; | |||
} | |||
@PostMapping("/process_register") | |||
public String processRegister(UserModel user) { | |||
BCryptPasswordEncoder passwordEncoder = new BCryptPasswordEncoder(); | |||
String encodedPassword = passwordEncoder.encode(user.getPassword()); | |||
user.setPassword(encodedPassword); | |||
iUserRepository.save(user); | |||
return "login"; | |||
} | |||
/*@Autowired | |||
private IUsuarioRepositorio iUsuarioRepositorio; | |||
//@GetMapping | |||
//public String mostrarFormularioRegistro() { | |||
//return "login"; | |||
//} | |||
/* | |||
@PostMapping | |||
public String registrarCuentaDeUsuario(@ModelAttribute("usuario") UsuarioRegistroDTU usuario) { | |||
usuarioServicio.guardar(usuario); | |||
//si logramos registrar correctamente se mandará el | |||
//mensaje de éxito al html del registro (l.35) | |||
return "redirect:/register?exito"; | |||
} | |||
@GetMapping("security/user") | |||
public String getUser( Model model) { | |||
CustomUserDetails currentUser = (CustomUserDetails) SecurityContextHolder.getContext().getAuthentication().getPrincipal(); | |||
UsuarioEntity user = iUsuarioRepositorio.findByNombre(currentUser.getUsername()); | |||
model.addAttribute("user", user); | |||
return "security/user"; | |||
} | |||
@GetMapping({"/register"}) | |||
public String goToregister(Model model){ | |||
model.addAttribute("user", new UsuarioEntity()); | |||
return "register"; | |||
} | |||
@PostMapping("/process_register") | |||
public String processRegister(UsuarioEntity user) { | |||
BCryptPasswordEncoder passwordEncoder = new BCryptPasswordEncoder(); | |||
String encodedPassword = passwordEncoder.encode(user.getContrasena()); | |||
user.setContrasena(encodedPassword); | |||
iUsuarioRepositorio.save(user); | |||
return "index"; | |||
}*/ | |||
} |
@ -0,0 +1,32 @@ | |||
package com.ims.rallyModels.controlador; | |||
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.RequestParam; | |||
import org.springframework.web.multipart.MultipartFile; | |||
import java.io.IOException; | |||
import java.nio.file.Files; | |||
import java.nio.file.Path; | |||
import java.nio.file.Paths; | |||
@Controller | |||
public class UploadController { | |||
public static String UPLOAD_DIRECTORY = System.getProperty("user.dir") + "/uploads"; | |||
@GetMapping("/uploadimage") public String displayUploadForm() { | |||
return "redirect:/public/maquetas"; | |||
} | |||
@PostMapping("/upload") public String uploadImage(Model model, @RequestParam("image") MultipartFile file) throws IOException { | |||
StringBuilder fileNames = new StringBuilder(); | |||
Path fileNameAndPath = Paths.get(UPLOAD_DIRECTORY, file.getOriginalFilename()); | |||
fileNames.append(file.getName()); | |||
Files.write(fileNameAndPath, file.getBytes()); | |||
model.addAttribute("msg", "Uploaded images: " + fileNames.toString()); | |||
return "redirect:/public/maquetas"; | |||
} | |||
} |
@ -1,20 +0,0 @@ | |||
package com.ims.rallyModels.controlador; | |||
import com.ims.rallyModels.servicio.IMaquetasServicio; | |||
import com.ims.rallyModels.servicio.IUsuarioServicio; | |||
import org.springframework.beans.factory.annotation.Autowired; | |||
import org.springframework.ui.Model; | |||
import org.springframework.web.bind.annotation.GetMapping; | |||
public class UsuarioControlador { | |||
@Autowired | |||
private IUsuarioServicio servicio; | |||
@GetMapping({"/usuarios",""}) | |||
public String listarMaquetas(Model model) { | |||
model.addAttribute("usuarios",servicio.listAll()); | |||
return "usuarios"; | |||
} | |||
} |
@ -0,0 +1,61 @@ | |||
package com.ims.rallyModels.dtu; | |||
public class UsuarioRegistroDTU { | |||
private int idUsuario; | |||
private String nombre; | |||
private String password; | |||
private String sudo; | |||
public UsuarioRegistroDTU(int idUsuario, String nombre, String password, String sudo) { | |||
this.idUsuario = idUsuario; | |||
this.nombre = nombre; | |||
this.password = password; | |||
this.sudo = sudo; | |||
} | |||
public UsuarioRegistroDTU(String nombre, String password, String sudo) { | |||
this.nombre = nombre; | |||
this.password = password; | |||
this.sudo = sudo; | |||
} | |||
public UsuarioRegistroDTU(String nombre) { | |||
this.nombre = nombre; | |||
} | |||
public UsuarioRegistroDTU() { | |||
} | |||
public int getIdUsuario() { | |||
return idUsuario; | |||
} | |||
public void setIdUsuario(int idUsuario) { | |||
this.idUsuario = idUsuario; | |||
} | |||
public String getNombre() { | |||
return nombre; | |||
} | |||
public void setNombre(String nombre) { | |||
this.nombre = nombre; | |||
} | |||
public String getContrasena() { | |||
return password; | |||
} | |||
public void setContrasena(String contrasena) { | |||
this.password = contrasena; | |||
} | |||
public String getSudo() { | |||
return sudo; | |||
} | |||
public void setSudo(String sudo) { | |||
this.sudo = sudo; | |||
} | |||
} |
@ -0,0 +1,97 @@ | |||
package com.ims.rallyModels.modelo; | |||
import jakarta.persistence.*; | |||
import org.springframework.data.annotation.CreatedDate; | |||
import org.springframework.data.jpa.domain.support.AuditingEntityListener; | |||
import java.util.Date; | |||
import java.util.Objects; | |||
@Entity | |||
@EntityListeners(AuditingEntityListener.class) | |||
public class UserModel { | |||
@Id | |||
@GeneratedValue | |||
private long id; | |||
private String email; | |||
private String password; | |||
private String name; | |||
private String surname; | |||
@CreatedDate | |||
@Temporal(TemporalType.TIMESTAMP) | |||
private Date createdDate; | |||
public UserModel() { } | |||
public UserModel(String name, String surname, String email, String password) { | |||
this.name = name; | |||
this.surname = surname; | |||
this.email = email; | |||
this.password = password; | |||
} | |||
public long getId() { | |||
return id; | |||
} | |||
public String getName() { | |||
return name; | |||
} | |||
public String getSurname() { | |||
return surname; | |||
} | |||
public Date getCreatedDate() { | |||
return createdDate; | |||
} | |||
public String getEmail() { | |||
return email; | |||
} | |||
public String getPassword() { | |||
return password; | |||
} | |||
@Override | |||
public boolean equals(Object o) { | |||
if (this == o) return true; | |||
if (o == null || getClass() != o.getClass()) return false; | |||
UserModel user = (UserModel) o; | |||
return id == user.id && email.equals(user.email); | |||
} | |||
@Override | |||
public int hashCode() { | |||
return Objects.hash(id, email); | |||
} | |||
public void setPassword(String password) { | |||
this.password = password; | |||
} | |||
public void setId(long id) { | |||
this.id = id; | |||
} | |||
public void setEmail(String email) { | |||
this.email = email; | |||
} | |||
public void setName(String name) { | |||
this.name = name; | |||
} | |||
public void setSurname(String surname) { | |||
this.surname = surname; | |||
} | |||
public void setCreatedDate(Date createdDate) { | |||
this.createdDate = createdDate; | |||
} | |||
} |
@ -0,0 +1,104 @@ | |||
package com.ims.rallyModels.reportes; | |||
import com.ims.rallyModels.modelo.MaquetaEntity; | |||
import jakarta.servlet.ServletOutputStream; | |||
import jakarta.servlet.http.HttpServletResponse; | |||
import org.apache.poi.ss.usermodel.Cell; | |||
import org.apache.poi.ss.usermodel.CellStyle; | |||
import org.apache.poi.ss.usermodel.Row; | |||
import org.apache.poi.xssf.usermodel.XSSFFont; | |||
import org.apache.poi.xssf.usermodel.XSSFSheet; | |||
import org.apache.poi.xssf.usermodel.XSSFWorkbook; | |||
import java.io.IOException; | |||
import java.util.List; | |||
import java.util.Map; | |||
public class FacturaExporterExcel { | |||
private XSSFWorkbook libro; | |||
private XSSFSheet hoja; | |||
private List<MaquetaEntity> maquetas; | |||
public FacturaExporterExcel(List<MaquetaEntity> maquetas) { | |||
this.maquetas = maquetas; | |||
libro = new XSSFWorkbook(); | |||
hoja = libro.createSheet("Maquetas"); | |||
} | |||
private void escribirCabeceraTabla() { | |||
Row fila = hoja.createRow(0); | |||
CellStyle estilo = libro.createCellStyle(); | |||
XSSFFont fuente = libro.createFont(); | |||
fuente.setBold(true); | |||
fuente.setFontHeight(16); | |||
estilo.setFont(fuente); | |||
Cell celda = fila.createCell(0); | |||
celda.setCellValue("Id"); | |||
celda.setCellStyle(estilo); | |||
celda = fila.createCell(1); | |||
celda.setCellValue("Coche"); | |||
celda.setCellStyle(estilo); | |||
celda = fila.createCell(2); | |||
celda.setCellValue("Piloto"); | |||
celda.setCellStyle(estilo); | |||
celda = fila.createCell(3); | |||
celda.setCellValue("Precio"); | |||
celda.setCellStyle(estilo); | |||
} | |||
public void escribirDatosDeTabla() { | |||
int numeroFilas = 1; | |||
CellStyle estilo = libro.createCellStyle(); | |||
XSSFFont fuente = libro.createFont(); | |||
fuente.setFontHeight(14); | |||
estilo.setFont(fuente); | |||
for (MaquetaEntity m : maquetas) { | |||
Row fila = hoja.createRow(numeroFilas++); | |||
Cell celda = fila.createCell(0); | |||
celda.setCellValue(m.getIdMaqueta()); | |||
hoja.autoSizeColumn(0); | |||
celda.setCellStyle(estilo); | |||
celda = fila.createCell(1); | |||
celda.setCellValue(m.getMarca()+" "+m.getModelo()); | |||
hoja.autoSizeColumn(1); | |||
celda.setCellStyle(estilo); | |||
celda = fila.createCell(2); | |||
celda.setCellValue(m.getPiloto()); | |||
hoja.autoSizeColumn(2); | |||
celda.setCellStyle(estilo); | |||
celda = fila.createCell(3); | |||
celda.setCellValue(m.getPrecio()); | |||
hoja.autoSizeColumn(3); | |||
celda.setCellStyle(estilo); | |||
} | |||
} | |||
public void exportar(HttpServletResponse response) throws IOException { | |||
escribirCabeceraTabla(); | |||
escribirDatosDeTabla(); | |||
ServletOutputStream outputStream = response.getOutputStream(); | |||
libro.write(outputStream); | |||
libro.close(); | |||
outputStream.close(); | |||
} | |||
} |
@ -0,0 +1,87 @@ | |||
package com.ims.rallyModels.reportes; | |||
import com.ims.rallyModels.modelo.CompraEntity; | |||
import com.ims.rallyModels.modelo.MaquetaEntity; | |||
import com.lowagie.text.*; | |||
import com.lowagie.text.Font; | |||
import com.lowagie.text.pdf.PdfPCell; | |||
import com.lowagie.text.pdf.PdfPTable; | |||
import com.lowagie.text.pdf.PdfWriter; | |||
import jakarta.servlet.http.HttpServletResponse; | |||
import java.awt.*; | |||
import java.io.IOException; | |||
import java.util.List; | |||
public class FacturaExporterPDF { | |||
private List<MaquetaEntity> compra; | |||
public FacturaExporterPDF(List<MaquetaEntity> compra) { | |||
super(); | |||
this.compra = compra; | |||
} | |||
private void escribirCabeceraDeLaTabla(PdfPTable tabla) { | |||
PdfPCell cell = new PdfPCell(); | |||
cell.setBackgroundColor(Color.LIGHT_GRAY); | |||
cell.setPadding(5); | |||
Font fuente = FontFactory.getFont(FontFactory.HELVETICA); | |||
fuente.setColor(Color.WHITE); | |||
cell.setPhrase(new Phrase("Id",fuente)); | |||
tabla.addCell(cell); | |||
cell.setPhrase(new Phrase("Coche",fuente)); | |||
tabla.addCell(cell); | |||
cell.setPhrase(new Phrase("Piloto",fuente)); | |||
tabla.addCell(cell); | |||
cell.setPhrase(new Phrase("Precio",fuente)); | |||
tabla.addCell(cell); | |||
} | |||
private void escribirDatosDeLaTable(PdfPTable table) { | |||
for (MaquetaEntity m : compra) { | |||
table.addCell(String.valueOf(m.getIdMaqueta())); | |||
table.addCell(m.getMarca()+" "+m.getModelo()); | |||
table.addCell(m.getPiloto()); | |||
table.addCell(m.getPrecio().toString()); | |||
} | |||
} | |||
public void exportar(HttpServletResponse response) throws IOException { | |||
Document documento = new Document(PageSize.A4); | |||
PdfWriter.getInstance(documento,response.getOutputStream()); | |||
documento.open(); | |||
Font fuente = FontFactory.getFont(FontFactory.HELVETICA); | |||
fuente.setColor(Color.RED); | |||
fuente.setSize(18); | |||
Paragraph titulo = new Paragraph("Factura de maquetas", fuente); | |||
titulo.setAlignment(Paragraph.ALIGN_CENTER); | |||
documento.add(titulo); | |||
PdfPTable tabla = new PdfPTable(4); | |||
tabla.setWidthPercentage(100); | |||
tabla.setSpacingBefore(15); | |||
tabla.setWidths(new float[] {1f,2.3f,2.3f,2.3f}); | |||
tabla.setWidthPercentage(110); | |||
escribirCabeceraDeLaTabla(tabla); | |||
escribirDatosDeLaTable(tabla); | |||
documento.add(tabla); | |||
documento.close(); | |||
} | |||
} |
@ -0,0 +1,9 @@ | |||
package com.ims.rallyModels.repositorio; | |||
import com.ims.rallyModels.modelo.CocheEntity; | |||
import jdk.jfr.Registered; | |||
import org.springframework.data.jpa.repository.JpaRepository; | |||
import org.springframework.stereotype.Repository; | |||
@Repository | |||
public interface ICocheRepositorio extends JpaRepository<CocheEntity,Integer> {} |
@ -0,0 +1,9 @@ | |||
package com.ims.rallyModels.repositorio; | |||
import com.ims.rallyModels.modelo.CompeticionEntity; | |||
import org.springframework.data.jpa.repository.JpaRepository; | |||
import org.springframework.stereotype.Repository; | |||
@Repository | |||
public interface ICompeticionRepositorio extends JpaRepository<CompeticionEntity, Integer> { | |||
} |
@ -1,10 +1,11 @@ | |||
package com.ims.rallyModels.repositorio; | |||
import com.ims.rallyModels.modelo.CompraEntity; | |||
import com.ims.rallyModels.modelo.MaquetaEntity; | |||
import com.ims.rallyModels.modelo.UsuarioEntity; | |||
import org.springframework.data.jpa.repository.JpaRepository; | |||
import org.springframework.stereotype.Repository; | |||
@Repository | |||
public interface IUsuarioRepositorio extends JpaRepository<UsuarioEntity, Integer> { | |||
import java.util.List; | |||
public interface ICompraRepositorio extends JpaRepository<CompraEntity,Integer> { | |||
} |
@ -1,8 +1,16 @@ | |||
package com.ims.rallyModels.repositorio; | |||
import com.ims.rallyModels.modelo.CompraEntity; | |||
import com.ims.rallyModels.modelo.MaquetaEntity; | |||
import com.ims.rallyModels.modelo.UserModel; | |||
import org.springframework.data.jpa.repository.JpaRepository; | |||
import org.springframework.stereotype.Repository; | |||
import java.util.List; | |||
@Repository | |||
public interface IMaquetasRepositorio extends JpaRepository<MaquetaEntity, Integer> { } | |||
public interface IMaquetasRepositorio extends JpaRepository<MaquetaEntity, Integer> { | |||
List<MaquetaEntity> findByCompra(CompraEntity c); | |||
} |
@ -0,0 +1,12 @@ | |||
package com.ims.rallyModels.repositorio; | |||
import com.ims.rallyModels.modelo.MaquetaEntity; | |||
import com.ims.rallyModels.modelo.UserModel; | |||
import com.ims.rallyModels.modelo.UsuarioEntity; | |||
import org.springframework.data.jpa.repository.JpaRepository; | |||
import org.springframework.data.jpa.repository.Query; | |||
import org.springframework.stereotype.Repository; | |||
public interface IUserRepository extends JpaRepository<UserModel, Integer> { | |||
UserModel findByEmail(String email); | |||
} |
@ -0,0 +1,55 @@ | |||
package com.ims.rallyModels.security; | |||
import com.ims.rallyModels.servicio.UsuarioServicioImpl; | |||
import org.springframework.context.annotation.Bean; | |||
import org.springframework.context.annotation.Configuration; | |||
import org.springframework.security.authentication.dao.DaoAuthenticationProvider; | |||
import org.springframework.security.config.annotation.web.builders.HttpSecurity; | |||
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity; | |||
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; | |||
import org.springframework.security.crypto.password.PasswordEncoder; | |||
import org.springframework.security.web.SecurityFilterChain; | |||
@Configuration | |||
@EnableWebSecurity | |||
public class SecurityConfig { | |||
@Bean | |||
public UsuarioServicioImpl userDetailsService(){ | |||
return new UsuarioServicioImpl(); | |||
} | |||
@Bean | |||
public PasswordEncoder passwordEncoder() { | |||
return new BCryptPasswordEncoder(); | |||
} | |||
@Bean | |||
public DaoAuthenticationProvider authenticationProvider() { | |||
DaoAuthenticationProvider authProvider = new DaoAuthenticationProvider(); | |||
authProvider.setUserDetailsService(userDetailsService()); | |||
authProvider.setPasswordEncoder(passwordEncoder()); | |||
return authProvider; | |||
} | |||
@Bean | |||
public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception { | |||
http | |||
.authorizeHttpRequests() | |||
.requestMatchers("/user").authenticated() | |||
.anyRequest().permitAll() | |||
.and() | |||
.formLogin() | |||
.usernameParameter("email") | |||
.loginPage("/login") | |||
.defaultSuccessUrl("/public/maquetas") | |||
.permitAll() | |||
.and() | |||
.logout().logoutSuccessUrl("/login").permitAll(); | |||
return http.build(); | |||
} | |||
} |
@ -1,11 +0,0 @@ | |||
package com.ims.rallyModels.servicio; | |||
import com.ims.rallyModels.modelo.UsuarioEntity; | |||
import java.util.List; | |||
public interface IUsuarioServicio { | |||
public List<UsuarioEntity> listAll(); | |||
} |
@ -0,0 +1,58 @@ | |||
package com.ims.rallyModels.servicio; | |||
import com.ims.rallyModels.modelo.CompraEntity; | |||
import com.ims.rallyModels.modelo.UserModel; | |||
import com.ims.rallyModels.modelo.UsuarioEntity; | |||
import org.springframework.security.core.GrantedAuthority; | |||
import org.springframework.security.core.userdetails.UserDetails; | |||
import java.util.Collection; | |||
import java.util.List; | |||
public class UserDetailsImpl implements UserDetails { | |||
private UserModel user; | |||
public UserDetailsImpl(UserModel user) { | |||
this.user = user; | |||
} | |||
@Override | |||
public Collection<? extends GrantedAuthority> getAuthorities() { | |||
return null; | |||
} | |||
@Override | |||
public String getPassword() { | |||
return user.getPassword(); | |||
} | |||
public UserModel getUser() { | |||
return user; | |||
} | |||
@Override | |||
public String getUsername() { | |||
return user.getEmail(); | |||
} | |||
@Override | |||
public boolean isAccountNonExpired() { | |||
return true; | |||
} | |||
@Override | |||
public boolean isAccountNonLocked() { | |||
return true; | |||
} | |||
@Override | |||
public boolean isCredentialsNonExpired() { | |||
return true; | |||
} | |||
@Override | |||
public boolean isEnabled() { | |||
return true; | |||
} | |||
} |
@ -1,20 +1,51 @@ | |||
package com.ims.rallyModels.servicio; | |||
import com.ims.rallyModels.modelo.UsuarioEntity; | |||
import com.ims.rallyModels.repositorio.IMaquetasRepositorio; | |||
import com.ims.rallyModels.repositorio.IUsuarioRepositorio; | |||
import com.ims.rallyModels.modelo.UserModel; | |||
import com.ims.rallyModels.repositorio.IUserRepository; | |||
import org.springframework.beans.factory.annotation.Autowired; | |||
import org.springframework.security.core.userdetails.UserDetails; | |||
import org.springframework.security.core.userdetails.UserDetailsService; | |||
import org.springframework.security.core.userdetails.UsernameNotFoundException; | |||
import org.springframework.stereotype.Service; | |||
import java.util.List; | |||
public class UsuarioServicioImpl implements IUsuarioServicio{ | |||
import java.util.Collection; | |||
import java.util.stream.Collectors; | |||
@Service | |||
public class UsuarioServicioImpl implements UserDetailsService { | |||
//may cons | |||
@Autowired | |||
private IUsuarioRepositorio repositorio; | |||
private IUserRepository userRepo; | |||
@Override | |||
public List<UsuarioEntity> listAll() { | |||
return repositorio.findAll(); | |||
public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException { | |||
UserModel user = userRepo.findByEmail(username); | |||
if (user == null) { | |||
throw new UsernameNotFoundException("User not found"); | |||
} | |||
return new UserDetailsImpl(user); | |||
} | |||
/*@Override | |||
public UsuarioEntity buscarPorNombre(String nombre) { | |||
return repositorio.findByName(nombre); | |||
}*/ | |||
/* | |||
@Override | |||
public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException { | |||
UsuarioEntity usuario = repositorio.findByNombre(username); | |||
if (usuario == null) { | |||
throw new UsernameNotFoundException("Usuario o password inválidos");; | |||
} | |||
return new UsuarioEntity(usuario.getNombre(), usuario.getContrasena(), mapearAutoridadesRoles(usuario.getSudo())); | |||
}*/ | |||
/*@Override | |||
public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException { | |||
UsuarioEntity user = repositorio.findByNombre(username); | |||
if (user == null) { | |||
throw new UsernameNotFoundException("User not found"); | |||
} | |||
return new UserDetailsImpl(user); | |||
}*/ | |||
} |
@ -0,0 +1,42 @@ | |||
package com.ims.rallyModels.servicio.coche; | |||
import com.ims.rallyModels.modelo.CocheEntity; | |||
import com.ims.rallyModels.repositorio.ICocheRepositorio; | |||
import org.springframework.beans.factory.annotation.Autowired; | |||
import org.springframework.stereotype.Service; | |||
import java.util.List; | |||
@Service | |||
public class CocheServicioImpl implements ICocheServicio { | |||
@Autowired | |||
private ICocheRepositorio repositorio; | |||
@Override | |||
public List<CocheEntity> listAll() { | |||
return repositorio.findAll(); | |||
} | |||
@Override | |||
public CocheEntity guardarCoche(CocheEntity maqueta) { | |||
return repositorio.save(maqueta); | |||
} | |||
@Override | |||
public CocheEntity obtenerCochePorId(Integer id) { | |||
return repositorio.findById(id).get(); | |||
} | |||
@Override | |||
public CocheEntity actualizarCoche(CocheEntity maqueta) { | |||
//primero se busca y luego se edita y guarda | |||
return repositorio.save(maqueta); | |||
} | |||
@Override | |||
|