diff options
Diffstat (limited to 'src/main/java/dev/submelon/rest')
| -rw-r--r-- | src/main/java/dev/submelon/rest/json/PantryItem.java | 29 | ||||
| -rw-r--r-- | src/main/java/dev/submelon/rest/json/PantryItemResource.java | 63 |
2 files changed, 0 insertions, 92 deletions
diff --git a/src/main/java/dev/submelon/rest/json/PantryItem.java b/src/main/java/dev/submelon/rest/json/PantryItem.java deleted file mode 100644 index 6a30031..0000000 --- a/src/main/java/dev/submelon/rest/json/PantryItem.java +++ /dev/null @@ -1,29 +0,0 @@ -package dev.submelon.rest.json; - -import java.util.UUID; - -import org.bson.codecs.pojo.annotations.BsonId; - -import io.quarkus.mongodb.panache.PanacheMongoEntityBase; -import io.quarkus.mongodb.panache.common.MongoEntity; -import lombok.Data; -import lombok.EqualsAndHashCode; - -@Data -@EqualsAndHashCode(callSuper = false, onlyExplicitlyIncluded = true) -@MongoEntity(collection = "item") -public class PantryItem extends PanacheMongoEntityBase { - - @BsonId - @EqualsAndHashCode.Include - private UUID id; - - private String name; - - private String description; - - private double quantity; - - private String quantityUnitType; - -} diff --git a/src/main/java/dev/submelon/rest/json/PantryItemResource.java b/src/main/java/dev/submelon/rest/json/PantryItemResource.java deleted file mode 100644 index 75a986d..0000000 --- a/src/main/java/dev/submelon/rest/json/PantryItemResource.java +++ /dev/null @@ -1,63 +0,0 @@ -package dev.submelon.rest.json; - -import java.util.List; -import java.util.UUID; - -import javax.transaction.Transactional; -import javax.ws.rs.DELETE; -import javax.ws.rs.GET; -import javax.ws.rs.POST; -import javax.ws.rs.PUT; -import javax.ws.rs.Path; -import javax.ws.rs.PathParam; -import javax.ws.rs.Produces; -import javax.ws.rs.WebApplicationException; -import javax.ws.rs.core.MediaType; -import javax.ws.rs.core.Response; - -@Path("/items") -public class PantryItemResource { - - @GET - @Produces(MediaType.APPLICATION_JSON) - public List<PantryItem> getItems() { - return PantryItem.findAll().list(); - } - - @Transactional - @POST - @Produces(MediaType.APPLICATION_JSON) - public PantryItem postItem(PantryItem item) { - PantryItem.persist(item); - - return item; - } - - @Transactional - @PUT - @Path("/{id}") - @Produces(MediaType.APPLICATION_JSON) - public PantryItem putItem(@PathParam("id") String id, PantryItem item) { - UUID _id = UUID.fromString(id); - if (item.getId().equals(_id)) { - PantryItem.persist(item); - } else { - throw new WebApplicationException(Response.status(400).entity("ID does not match body").build()); - } - - return item; - } - - @Transactional - @DELETE - @Path("/{id}") - public Response deleteItem(@PathParam("id") String id) { - UUID _id = UUID.fromString(id); - boolean result = PantryItem.deleteById(_id); - if (result) { - return Response.ok().build(); - } else { - return Response.status(404).entity("Could not find item").build(); - } - } -} |
