CRUD de jogo
This commit is contained in:
parent
6e9cbac211
commit
00ff840ea5
2 changed files with 85 additions and 0 deletions
|
@ -0,0 +1,31 @@
|
|||
package casa.sotu.organizajogos.api.persistencia;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.UUID;
|
||||
|
||||
import casa.sotu.organizajogos.api.modelo.Jogo;
|
||||
import jakarta.enterprise.context.ApplicationScoped;
|
||||
|
||||
@ApplicationScoped
|
||||
public class ArmarioJogo {
|
||||
private Map<UUID, Jogo> jogos = new HashMap<>();
|
||||
|
||||
public void criar(Jogo jogo) {
|
||||
jogo.setId(UUID.randomUUID());
|
||||
jogos.put(jogo.getId(), jogo);
|
||||
}
|
||||
|
||||
public Jogo pegar(UUID id) {
|
||||
return jogos.get(id);
|
||||
}
|
||||
|
||||
public void remover(UUID id) {
|
||||
jogos.remove(id);
|
||||
}
|
||||
|
||||
public List<Jogo> listar() {
|
||||
return List.copyOf(jogos.values());
|
||||
}
|
||||
}
|
|
@ -0,0 +1,54 @@
|
|||
package casa.sotu.organizajogos.api.recursos;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.UUID;
|
||||
|
||||
import casa.sotu.organizajogos.api.modelo.Jogo;
|
||||
import casa.sotu.organizajogos.api.persistencia.ArmarioJogo;
|
||||
import jakarta.ws.rs.DELETE;
|
||||
import jakarta.ws.rs.GET;
|
||||
import jakarta.ws.rs.POST;
|
||||
import jakarta.ws.rs.PUT;
|
||||
import jakarta.ws.rs.Path;
|
||||
import jakarta.ws.rs.PathParam;
|
||||
|
||||
@Path("jogos")
|
||||
public class RecursoJogo {
|
||||
|
||||
private ArmarioJogo armarioJogo;
|
||||
|
||||
public RecursoJogo(ArmarioJogo armarioJogo) {
|
||||
this.armarioJogo = armarioJogo;
|
||||
|
||||
}
|
||||
|
||||
@GET
|
||||
public List<Jogo> listaJogos() {
|
||||
return armarioJogo.listar();
|
||||
}
|
||||
|
||||
@GET
|
||||
@Path("{id}")
|
||||
public Jogo pegaJogo(@PathParam("id") UUID id) {
|
||||
return this.armarioJogo.pegar(id);
|
||||
}
|
||||
|
||||
@POST
|
||||
public void criaJogo(Jogo jogo) {
|
||||
this.armarioJogo.criar(jogo);
|
||||
}
|
||||
|
||||
@PUT
|
||||
@Path("{id}")
|
||||
public void atualizaJogo(@PathParam("id") UUID id, Jogo jogo) {
|
||||
Jogo atual = this.armarioJogo.pegar(id);
|
||||
atual.setNome(jogo.getNome());
|
||||
atual.setEstado(jogo.getEstado());
|
||||
}
|
||||
|
||||
@DELETE
|
||||
@Path("{id}")
|
||||
public void remove(@PathParam("id") UUID id) {
|
||||
this.armarioJogo.remover(id);
|
||||
}
|
||||
}
|
Loading…
Reference in a new issue