Skip to content

Commit

Permalink
Implementa consulta de todos os Usuarios e todas as Ordens somente pa…
Browse files Browse the repository at this point in the history
…ra a permissão de ADMIN
  • Loading branch information
gustavoreche committed Oct 16, 2020
1 parent 755eb1a commit 3c794c0
Show file tree
Hide file tree
Showing 6 changed files with 39 additions and 8 deletions.
12 changes: 6 additions & 6 deletions src/main/java/br/com/aplicacao/ordem/OrdemDTO.java
Original file line number Diff line number Diff line change
@@ -1,14 +1,15 @@
package br.com.aplicacao.ordem;

import java.time.LocalDate;
import java.util.List;
import java.util.stream.Collectors;

import javax.json.bind.annotation.JsonbProperty;

import br.com.dominio.ordem.Ordem;

public class OrdemDTO {

private Long id;
private Double preco;
private String tipo;
private LocalDate data;
Expand All @@ -21,7 +22,6 @@ public OrdemDTO() {
}

public OrdemDTO(Ordem ordem) {
this.id = ordem.getId();
this.preco = ordem.getPreco();
this.tipo = ordem.getTipo();
this.data = ordem.getData();
Expand All @@ -33,10 +33,6 @@ public Ordem converteParaAEntidade() {
return new Ordem(this);
}

public Long getId() {
return id;
}

public Double getPreco() {
return preco;
}
Expand Down Expand Up @@ -68,5 +64,9 @@ public void setTipo(String tipo) {
public void setUserId(Long userId) {
this.userId = userId;
}

public static List<OrdemDTO> converte(List<Ordem> ordens) {
return ordens.stream().map(OrdemDTO::new).collect(Collectors.toList());
}

}
10 changes: 10 additions & 0 deletions src/main/java/br/com/aplicacao/usuario/UsuarioDTO.java
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
package br.com.aplicacao.usuario;

import java.util.List;
import java.util.stream.Collectors;

import javax.json.bind.annotation.JsonbTransient;

import br.com.dominio.usuario.Usuario;

public class UsuarioDTO {
Expand Down Expand Up @@ -36,6 +41,7 @@ public String getUsername() {
return username;
}

@JsonbTransient
public String getPassword() {
return password;
}
Expand All @@ -56,4 +62,8 @@ public void setPassword(String password) {
this.password = password;
}

public static List<UsuarioDTO> converte(List<Usuario> usuarios) {
return usuarios.stream().map(UsuarioDTO::new).collect(Collectors.toList());
}

}
1 change: 0 additions & 1 deletion src/main/java/br/com/dominio/ordem/Ordem.java
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,6 @@ public Ordem() {
}

public Ordem(OrdemDTO ordemDTO) {
this.id = ordemDTO.getId();
this.preco = ordemDTO.getPreco();
this.tipo = ordemDTO.getTipo();
this.data = insereData(ordemDTO.getData());
Expand Down
2 changes: 1 addition & 1 deletion src/main/java/br/com/dominio/usuario/Usuario.java
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
public class Usuario extends PanacheEntityBase {

private static final String ALURA = "alura";
private static final String ADMIN = "admin";
public static final String ADMIN = "admin";
public static final String USER = "user";

@Id
Expand Down
10 changes: 10 additions & 0 deletions src/main/java/br/com/infraestrutura/ordem/OrdemResource.java
Original file line number Diff line number Diff line change
@@ -1,13 +1,16 @@
package br.com.infraestrutura.ordem;

import java.util.List;
import java.util.Optional;

import javax.annotation.security.RolesAllowed;
import javax.inject.Inject;
import javax.transaction.Transactional;
import javax.ws.rs.Consumes;
import javax.ws.rs.GET;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.Context;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.SecurityContext;
Expand Down Expand Up @@ -40,5 +43,12 @@ private void validaUsuario(SecurityContext security, OrdemDTO ordemDTO) {
throw new RuntimeException(ERRO_DE_USUARIO);

}

@GET
@RolesAllowed(Usuario.ADMIN)
@Produces(MediaType.APPLICATION_JSON)
public List<OrdemDTO> lista() {
return OrdemDTO.converte(this.ordemRepository.listAll());
}

}
12 changes: 12 additions & 0 deletions src/main/java/br/com/infraestrutura/usuario/UsuarioResource.java
Original file line number Diff line number Diff line change
@@ -1,10 +1,15 @@
package br.com.infraestrutura.usuario;

import java.util.List;

import javax.annotation.security.PermitAll;
import javax.annotation.security.RolesAllowed;
import javax.transaction.Transactional;
import javax.ws.rs.Consumes;
import javax.ws.rs.GET;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;

import br.com.aplicacao.usuario.UsuarioDTO;
Expand All @@ -20,4 +25,11 @@ public class UsuarioResource {
public void insere(UsuarioDTO usuarioDTO) {
Usuario.persist(usuarioDTO.converteParaAEntidade());
}

@GET
@RolesAllowed(Usuario.ADMIN)
@Produces(MediaType.APPLICATION_JSON)
public List<UsuarioDTO> lista(){
return UsuarioDTO.converte(Usuario.listAll());
}
}

0 comments on commit 3c794c0

Please sign in to comment.