|
@@ -11,44 +11,82 @@ import org.springframework.web.bind.annotation.PathVariable;
|
|
|
import org.springframework.web.bind.annotation.RequestBody;
|
|
import org.springframework.web.bind.annotation.RequestBody;
|
|
|
|
|
|
|
|
import name.tflucke.ieat2.models.BasicFood;
|
|
import name.tflucke.ieat2.models.BasicFood;
|
|
|
|
|
+import name.tflucke.ieat2.models.Food;
|
|
|
|
|
+import name.tflucke.ieat2.models.Recipe;
|
|
|
|
|
|
|
|
@RestController("/food/")
|
|
@RestController("/food/")
|
|
|
-public class BasicFoodController extends AbstractController<BasicFood> {
|
|
|
|
|
|
|
+public class BasicFoodController extends AbstractController<Food> {
|
|
|
|
|
|
|
|
public BasicFoodController()
|
|
public BasicFoodController()
|
|
|
{
|
|
{
|
|
|
- super(BasicFood.class);
|
|
|
|
|
|
|
+ super(Food.class);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ /* Generic Food APIs */
|
|
|
|
|
|
|
|
@GetMapping("/food/{id}")
|
|
@GetMapping("/food/{id}")
|
|
|
- public BasicFood get(@PathVariable("id") String id) {
|
|
|
|
|
|
|
+ public Food get(@PathVariable("id") final String id) {
|
|
|
return super.get(id);
|
|
return super.get(id);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
@GetMapping("/food/query")
|
|
@GetMapping("/food/query")
|
|
|
- public List<BasicFood> query() {
|
|
|
|
|
- return db.find(BasicFood.class).asList();
|
|
|
|
|
|
|
+ public List<Food> query() {
|
|
|
|
|
+ return db.find(Food.class).asList();
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
@GetMapping("/food/query/{query}")
|
|
@GetMapping("/food/query/{query}")
|
|
|
- public List<BasicFood> query(@PathVariable("query") String query) {
|
|
|
|
|
|
|
+ public List<Food> query(@PathVariable("query") final String query) {
|
|
|
|
|
+ return db.find(Food.class).field("name").containsIgnoreCase(query).asList();
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ @DeleteMapping("/food/{id}")
|
|
|
|
|
+ public Food delete(@PathVariable("id") final String id) {
|
|
|
|
|
+ return super.delete(id);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ /* BasicFood APIs */
|
|
|
|
|
+
|
|
|
|
|
+ @GetMapping("/food/basic/query")
|
|
|
|
|
+ public List<BasicFood> queryBasicFoods() {
|
|
|
|
|
+ return db.find(BasicFood.class).asList();
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ @GetMapping("/food/basic/query/{query}")
|
|
|
|
|
+ public List<BasicFood> queryBasicFoods(@PathVariable("query") final String query) {
|
|
|
return db.find(BasicFood.class).field("name").containsIgnoreCase(query).asList();
|
|
return db.find(BasicFood.class).field("name").containsIgnoreCase(query).asList();
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- @PutMapping("/food")
|
|
|
|
|
|
|
+ @PutMapping("/food/basic")
|
|
|
public BasicFood insert(@RequestBody BasicFood newElement) {
|
|
public BasicFood insert(@RequestBody BasicFood newElement) {
|
|
|
- return super.insert(newElement);
|
|
|
|
|
|
|
+ return (BasicFood) super.insert(newElement);
|
|
|
}
|
|
}
|
|
|
-
|
|
|
|
|
- @PostMapping("/food/{id}")
|
|
|
|
|
|
|
+
|
|
|
|
|
+ @PostMapping("/food/basic/{id}")
|
|
|
public BasicFood update(@PathVariable("id") final String id,
|
|
public BasicFood update(@PathVariable("id") final String id,
|
|
|
- @RequestBody final BasicFood element) {
|
|
|
|
|
- return super.update(id, element);
|
|
|
|
|
|
|
+ @RequestBody final BasicFood element) {
|
|
|
|
|
+ return (BasicFood) super.update(id, element);
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+ /* Recipe APIs */
|
|
|
|
|
|
|
|
- @DeleteMapping("/food/{id}")
|
|
|
|
|
- public BasicFood delete(@PathVariable("id") String id) {
|
|
|
|
|
- return super.delete(id);
|
|
|
|
|
|
|
+ @GetMapping("/food/recipe/query")
|
|
|
|
|
+ public List<Recipe> queryRecipes() {
|
|
|
|
|
+ return db.find(Recipe.class).asList();
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ @GetMapping("/food/recipe/query/{query}")
|
|
|
|
|
+ public List<Recipe> queryRecipes(@PathVariable("query") final String query) {
|
|
|
|
|
+ return db.find(Recipe.class).field("name").containsIgnoreCase(query).asList();
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ @PutMapping("/food/recipe")
|
|
|
|
|
+ public Recipe insert(@RequestBody Recipe newElement) {
|
|
|
|
|
+ return (Recipe) super.insert(newElement);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ @PostMapping("/food/recipe/{id}")
|
|
|
|
|
+ public Recipe update(@PathVariable("id") final String id,
|
|
|
|
|
+ @RequestBody final Recipe element) {
|
|
|
|
|
+ return (Recipe) super.update(id, element);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|