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