diff --git a/src/main/java/ntnu/idatt2016/v233/SmartMat/entity/ShoppingList.java b/src/main/java/ntnu/idatt2016/v233/SmartMat/entity/ShoppingList.java index 5e5fcc597b8249c68d8d668800fd41cddfa341cd..74d21777fd9bb9c54c4456b8cfa15b4c1bc9be88 100644 --- a/src/main/java/ntnu/idatt2016/v233/SmartMat/entity/ShoppingList.java +++ b/src/main/java/ntnu/idatt2016/v233/SmartMat/entity/ShoppingList.java @@ -1,11 +1,15 @@ package ntnu.idatt2016.v233.SmartMat.entity; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import jakarta.persistence.*; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; +import ntnu.idatt2016.v233.SmartMat.entity.product.Product; + +import java.util.List; /** * This class represents a shopping list @@ -29,4 +33,13 @@ public class ShoppingList { @Column(name = "group_id") long groupID; + + @ManyToMany + @JoinTable( + name = "shopping_list_product", + joinColumns = @JoinColumn(name = "shopping_list_id"), + inverseJoinColumns = @JoinColumn(name = "ean")) + @JsonIgnoreProperties("shoppingList") + private List<Product> products; + } diff --git a/src/main/java/ntnu/idatt2016/v233/SmartMat/entity/product/Product.java b/src/main/java/ntnu/idatt2016/v233/SmartMat/entity/product/Product.java index a4b533288beb08a21229d66dfe93e00752e3b8f4..49aaad66bb2b5b6e56b2a20f5fe8e4086f26c0ab 100644 --- a/src/main/java/ntnu/idatt2016/v233/SmartMat/entity/product/Product.java +++ b/src/main/java/ntnu/idatt2016/v233/SmartMat/entity/product/Product.java @@ -7,6 +7,7 @@ import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; +import ntnu.idatt2016.v233.SmartMat.entity.ShoppingList; import ntnu.idatt2016.v233.SmartMat.entity.group.Fridge; import ntnu.idatt2016.v233.SmartMat.entity.Recipe; import ntnu.idatt2016.v233.SmartMat.entity.fridgeProduct.FridgeProductAsso; @@ -36,6 +37,10 @@ public class Product{ @Column(name = "description") String description; + @ManyToMany(mappedBy = "products") + @JsonIgnoreProperties({"products"}) + List<ShoppingList> shoppingLists; + @ManyToOne @JoinColumn(name = "category_name") diff --git a/src/main/java/ntnu/idatt2016/v233/SmartMat/service/ShoppingListService.java b/src/main/java/ntnu/idatt2016/v233/SmartMat/service/ShoppingListService.java index 568a5ee79d3f42a9294adde19ec38fa8e6804514..033a13c7aba5fdf122d8a57857fc6b6a55e0ceef 100644 --- a/src/main/java/ntnu/idatt2016/v233/SmartMat/service/ShoppingListService.java +++ b/src/main/java/ntnu/idatt2016/v233/SmartMat/service/ShoppingListService.java @@ -3,6 +3,7 @@ package ntnu.idatt2016.v233.SmartMat.service; import java.util.List; import java.util.Optional; +import ntnu.idatt2016.v233.SmartMat.entity.product.Product; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -74,4 +75,9 @@ public class ShoppingListService { shoppingListRepository.deleteById(id); } } + + public Product addProductToShoppingList(long ean, long shoppingListId){ + return null; + } + }