diff --git a/src/main/java/com/guilherme/agendador_tarefas/UsuarioService.java b/src/main/java/com/guilherme/agendador_tarefas/UsuarioService.java index 856f045..10fb63e 100644 --- a/src/main/java/com/guilherme/agendador_tarefas/UsuarioService.java +++ b/src/main/java/com/guilherme/agendador_tarefas/UsuarioService.java @@ -110,8 +110,24 @@ public TelefoneDTO atualizaTelefone(Long idTelefone, TelefoneDTO dto){ return usuarioConverter.paraTelefoneDTO(telefoneRepository.save(telefone)); } + public EnderecoDTO cadastraEndereco(String token, EnderecoDTO dto){ + String email = jwtUtil.extrairEmailToken(token.substring()); + Usuario usuario = usuarioRepository.findByEmail(email).orElseThrow(() + -> new ResourceNotFoundException("Email não localizado " + email)); + + Endereco endereco = usuarioConverter.updadeEndereco(dto, usuario.getId()); + Endereco enderecoEntity = enderecoRepository.save(endereco); + return usuarioConverter.paraEnderecoDTO(enderecoEntity); + } + public TelefoneDTO cadastraTelefone(String token, TelefoneDTO dto){ + String email = jwtUtil.extrairEmailToken(token.substring()); + Usuario usuario = usuarioRepository.findByEmail(email).orElseThrow(() + -> new ResourceNotFoundException("Email não localizado " + email)); + Telefone telefone = usuarioConverter.paraTelefoneEntity(dto, usuario.getId()); + return usuarioConverter.paraTelefoneDTO( + telefoneRepository.save(telefone)); } } diff --git a/src/main/java/com/guilherme/agendador_tarefas/business/converter/UsuarioConverter.java b/src/main/java/com/guilherme/agendador_tarefas/business/converter/UsuarioConverter.java index f85bd71..56497e7 100644 --- a/src/main/java/com/guilherme/agendador_tarefas/business/converter/UsuarioConverter.java +++ b/src/main/java/com/guilherme/agendador_tarefas/business/converter/UsuarioConverter.java @@ -131,5 +131,26 @@ public Telefone updateTelefone(TelefoneDTO dto, Telefone entity){ .build(); } + public Endereco paraEnderecoEntity(EnderecoDTO dto, Long idUsuario){ + return Endereco.builder() + .rua(dto.getRua()) + .cidade(dto.getCidade()) + .cep(dto.getCep()) + .complemento(dto.getComplemento()) + .estado(dto.getEstado()) + .complemento(dto.getComplemento()) + .numero(dto.getNumero()) + .usuario_id(idUsuario) + .build(); + } + + public Telefone paraTelefoneEntity(TelefoneDTO dto, Long idUsuario){ + return Telefone.builder() + .numero(dto.getNumero()) + .ddd(dto.getDdd()) + .usuario_id(idUsuario) + .build(); + } + } diff --git a/src/main/java/com/guilherme/agendador_tarefas/controller/UsuarioController.java b/src/main/java/com/guilherme/agendador_tarefas/controller/UsuarioController.java index 00a3902..73f5807 100644 --- a/src/main/java/com/guilherme/agendador_tarefas/controller/UsuarioController.java +++ b/src/main/java/com/guilherme/agendador_tarefas/controller/UsuarioController.java @@ -63,4 +63,16 @@ public ResponseEntity atualizaTelefone (@RequestBody TelefoneDTO dt @RequestParam("id") Long id){ return ResponseEntity.ok(usuarioService.atualizaTelefone(id,dto)); } -} + + @PostMapping("/endereco") + public ResponseEntity cadastraEndereco(@RequestBody EnderecoDTO dto, + @RequestHeader("Authorization")String token){ + return ResponseEntity.ok(usuarioService.cadastraEndereco(token, dto)); + } + + @PostMapping("/telefone") + public ResponseEntity cadastraTelefone (@RequestBody TelefoneDTO dto, + @RequestParam("Authorization") String token){ + return ResponseEntity.ok(usuarioService.cadastraTelefone(token, dto)); + } + }