Skip to content
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
package dev.example.restaurantManager.controller;


import dev.example.restaurantManager.model.EatInOrderRestaurant;
import dev.example.restaurantManager.service.EatInService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;

import java.util.Date;
import java.util.List;

@RequestMapping("/api/v1/eatinorder")
@RestController
public class EatInOrderController {

@Autowired
private EatInService eatInService;

//manage request by ResponseEntity with all EatInOrder
@GetMapping("/alleatinorders")

public ResponseEntity<List<EatInOrderRestaurant>> getAllEatInOrders(){
List<EatInOrderRestaurant> eatinorders = eatInService.getAllEatInOrders();
HttpHeaders headers = getCommonHeaders("Get alls Eat In Restaurant Orders");
return eatinorders !=null && !eatinorders.isEmpty()
? new ResponseEntity<>(eatinorders,headers, HttpStatus.OK)
: new ResponseEntity<>(headers,HttpStatus.NOT_FOUND);
}

@PostMapping

public ResponseEntity<EatInOrderRestaurant> createEatInOrder(@RequestBody EatInOrderRestaurant eatinorder) {
EatInOrderRestaurant createdEatInOrder = eatInService.createEatInOrders(eatinorder);
HttpHeaders headers = getCommonHeaders("Create Eat In Order Restaurant");
return createdEatInOrder !=null
?new ResponseEntity<>(createdEatInOrder, headers, HttpStatus.CREATED)
: new ResponseEntity<>(headers,HttpStatus.BAD_REQUEST);
}

@PutMapping("/{id}")

public ResponseEntity<EatInOrderRestaurant> updateEatInOrder(@PathVariable String id, @RequestBody EatInOrderRestaurant eatInOrderDetails){
EatInOrderRestaurant updatedEatInOrder = eatInService.updateEatInOrders(id, eatInOrderDetails);
HttpHeaders headers = getCommonHeaders("Update Eat In Restaurant Order");
return updatedEatInOrder != null
? new ResponseEntity<>(updatedEatInOrder,headers,HttpStatus.OK)
: new ResponseEntity<>(headers,HttpStatus.NOT_FOUND);
}

@DeleteMapping("/{id}")
public ResponseEntity<Void> deleteEatInOrder(@PathVariable String id){
boolean deleted = eatInService.deleteEatInOrders(id);
HttpHeaders headers = getCommonHeaders("Delete Eat In Order Restaurant");
return deleted
?new ResponseEntity<>(headers,HttpStatus.NO_CONTENT)
: new ResponseEntity<>(headers, HttpStatus.NOT_FOUND);

}

@GetMapping("{id}")
public ResponseEntity<EatInOrderRestaurant> getEatInOrderById(@PathVariable String id){
EatInOrderRestaurant eatinorder = eatInService.getEatInOrdersById(id);
HttpHeaders headers = getCommonHeaders("Get a Eat In Order by ID");
return eatinorder !=null
? new ResponseEntity<>(eatinorder, headers, HttpStatus.OK)
: new ResponseEntity<>(headers,HttpStatus.NOT_FOUND);

}




private HttpHeaders getCommonHeaders(String description) {
HttpHeaders headers = new HttpHeaders();
headers.add("desc", description);
headers.add("content-type", "application/json");
headers.add("date", new Date().toString());
headers.add("server", "H2 Database");
headers.add("version", "1.0.0");
headers.add("eatInOrders-count",String.valueOf(eatInService.countEatInOrders()));
headers.add("object", "EatInOrders");
return headers;
}

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
package dev.example.restaurantManager.controller;


import dev.example.restaurantManager.model.MenuRestaurant;
import dev.example.restaurantManager.service.MenuRestaurantService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;

import java.util.Date;
import java.util.List;

@RequestMapping("/api/v1/menu")
@RestController
public class MenuController {


@Autowired
private MenuRestaurantService menuService;

@GetMapping("/allMenus")
public ResponseEntity<List<MenuRestaurant>> getAllMenus(){
List<MenuRestaurant> menus = menuService.getAllMenus();
HttpHeaders headers1 = getCommonHeaders("get all menus");
return menus !=null && !menus.isEmpty()
? new ResponseEntity<>(menus, headers1, HttpStatus.OK)
: new ResponseEntity<>(headers1, HttpStatus.NOT_FOUND);
}

@PostMapping
public ResponseEntity<MenuRestaurant> createMenu(@RequestBody MenuRestaurant menu) {
MenuRestaurant createdMenu = menuService.createMenu(menu);
HttpHeaders headers1 = getCommonHeaders("Create new menu");

return createdMenu !=null
? new ResponseEntity<>(createdMenu, headers1,HttpStatus.CREATED)
: new ResponseEntity<>(headers1,HttpStatus.BAD_REQUEST);
}

@PutMapping("{id}")
public ResponseEntity<MenuRestaurant> updateMenu(@PathVariable String id, @RequestBody MenuRestaurant menuDetails){
MenuRestaurant updatedMenu = menuService.updateMenu(id, menuDetails);
HttpHeaders headers = getCommonHeaders("Update menu");


return updatedMenu !=null
? new ResponseEntity<>(updatedMenu,headers,HttpStatus.OK)
: new ResponseEntity<>(headers,HttpStatus.NOT_FOUND);

}

@DeleteMapping("{id}")
public ResponseEntity<Void> deleteMenu(@PathVariable String id){
boolean deleted = menuService.deleteMenu(id);
HttpHeaders headers = getCommonHeaders("Delete a Menu");
headers.add("deleted", String.valueOf(deleted));
return deleted
? new ResponseEntity<>(headers, HttpStatus.NO_CONTENT)
: new ResponseEntity<>(headers, HttpStatus.NOT_FOUND);


}

@GetMapping("/{id}")
public ResponseEntity<MenuRestaurant> getMenuById(@PathVariable String id) {
MenuRestaurant menu = menuService.getMenuById(id);
HttpHeaders headers = getCommonHeaders("Get a Menu by Id");

return menu != null
? new ResponseEntity<>(menu, headers, HttpStatus.OK)
: new ResponseEntity<>(headers, HttpStatus.NOT_FOUND);
}


private HttpHeaders getCommonHeaders(String description) {
HttpHeaders headers1 = new HttpHeaders();
headers1.add("desc", description);
headers1.add("content-type", "application/json");
headers1.add("date", new Date().toString());
headers1.add("server", "H2 Database");
headers1.add("version", "1.0.0");
headers1.add("menus-count", String.valueOf(menuService.countMenus()));
headers1.add("object", "menus");
return headers1;
}

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
package dev.example.restaurantManager.controller;

import dev.example.restaurantManager.model.MainCourse;
import dev.example.restaurantManager.model.MenuItem;
import dev.example.restaurantManager.model.SideCourse;
import dev.example.restaurantManager.service.MenuItemService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import java.util.List;

@RestController
@RequestMapping("/api/menuitems")
public class MenuItemController {
@Autowired
private MenuItemService menuItemService;

// Get all MenuItems (including MainCourse and Dessert)

@GetMapping
public ResponseEntity<List<MenuItem>> getAllMenuItems() {
List<MenuItem> menuItems = menuItemService.getAllMenuItems();
return new ResponseEntity<>(menuItems, HttpStatus.OK);
}

// Create a MenuItem (can be a MainCourse, Dessert, or other MenuItem)

@PostMapping
public ResponseEntity<MenuItem> createMenuItem(@RequestBody MenuItem menuItem) {
MenuItem newMenuItem = menuItemService.createMenuItem(menuItem);
return new ResponseEntity<>(newMenuItem, HttpStatus.CREATED);
}
// Get a MenuItem by ID (including MainCourse and Dessert)

@GetMapping("/{id}")
public ResponseEntity<MenuItem> getMenuItemById(@PathVariable String id) {
MenuItem menuItem = menuItemService.getMenuItemById(id);
if (menuItem != null) {
return new ResponseEntity<>(menuItem, HttpStatus.OK);
}
return new ResponseEntity<>(HttpStatus.NOT_FOUND);
}
// Update an existing MenuItem

@PutMapping("/{id}")
public ResponseEntity<MenuItem> updateMenuItem(@PathVariable String id, @RequestBody MenuItem menuItemDetails) {
MenuItem updatedMenuItem = menuItemService.updateMenuItem(id, menuItemDetails);
if (updatedMenuItem != null) {
return new ResponseEntity<>(updatedMenuItem, HttpStatus.OK);
}
return new ResponseEntity<>(HttpStatus.NOT_FOUND);
}
// Delete a MenuItem by ID

@DeleteMapping("/{id}")
public ResponseEntity<Void> deleteMenuItem(@PathVariable String id) {
boolean deleted = menuItemService.deleteMenuItem(id);
if (deleted) {
return new ResponseEntity<>(HttpStatus.NO_CONTENT);
}
return new ResponseEntity<>(HttpStatus.NOT_FOUND);
}
// Get the count of all MenuItems

@GetMapping("/count")
public ResponseEntity<Long> countMenuItems() {
long count = menuItemService.countMenuItems();
return new ResponseEntity<>(count, HttpStatus.OK);
}

// Endpoint to create a MainCourse
@PostMapping("/maincourse")
public ResponseEntity<MainCourse> createMainCourse(@RequestBody MainCourse mainCourse){
MainCourse newMainCourse = menuItemService.createMainCourse(mainCourse);
return new ResponseEntity<>(newMainCourse, HttpStatus.CREATED);
}

@PostMapping("/sidecourse")
public ResponseEntity<SideCourse> createSideCourse (@RequestBody SideCourse sideCourse){
SideCourse newSideCourse = menuItemService.createSideCourse(sideCourse);
return new ResponseEntity<>(newSideCourse,HttpStatus.CREATED);
}

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
package dev.example.restaurantManager.controller;

import dev.example.restaurantManager.model.OrderMenuQty;
import dev.example.restaurantManager.service.OrderMenuQtyService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.http.HttpHeaders;
import org.springframework.web.bind.annotation.*;

import java.util.Date;
import java.util.List;

@RequestMapping("api/v1/OrderMenyQty")
@RestController
public class OrderMenuQtyController {

@Autowired
private OrderMenuQtyService orderMenuQtyService;

@GetMapping("/allOrderMenuQty")
public ResponseEntity<List<OrderMenuQty>> getAllOrderMenuQty(){
List<OrderMenuQty> orderMenuQty = orderMenuQtyService.getAllOrderMenuQty();
HttpHeaders headers = getCommonHeaders("Get all Order Menu Quantity");
return orderMenuQty != null && !orderMenuQty.isEmpty()
? new ResponseEntity<>(orderMenuQty,headers, HttpStatus.OK)
: new ResponseEntity<>(headers, HttpStatus.NOT_FOUND);
}

@PostMapping
public ResponseEntity<OrderMenuQty> createOrderMenuQty(@RequestBody OrderMenuQty orderMenuQty){
OrderMenuQty newOrderMenuQty = orderMenuQtyService.createOrderMenuQty(orderMenuQty);
HttpHeaders headers = getCommonHeaders("Create Order Menu Quantity");
return newOrderMenuQty != null
? new ResponseEntity<>(newOrderMenuQty,headers, HttpStatus.CREATED)
: new ResponseEntity<>(headers, HttpStatus.BAD_REQUEST);
}

@PutMapping("/{id}")
public ResponseEntity<OrderMenuQty> updateOrderMenuQty(@PathVariable String id, @RequestBody OrderMenuQty orderMenuQtyDetails){
OrderMenuQty updatedOrderMenuQty = orderMenuQtyService.updateOrderMenuQty(id, orderMenuQtyDetails);
HttpHeaders headers = getCommonHeaders("Update Order Menu Quantity");
return updatedOrderMenuQty != null
? new ResponseEntity<>(updatedOrderMenuQty,headers, HttpStatus.OK)
: new ResponseEntity<>(headers, HttpStatus.NOT_FOUND);
}

@DeleteMapping("/{id}")
public ResponseEntity<OrderMenuQty> deleteOrderMenuQty(@PathVariable String id){
boolean deleted = orderMenuQtyService.deleteOrderMenuQty(id);
HttpHeaders headers = getCommonHeaders("delete an OrderMenuQty");

return deleted
? new ResponseEntity<>(headers, HttpStatus.NO_CONTENT)
: new ResponseEntity<>(headers, HttpStatus.NOT_FOUND);

}

@GetMapping("/{id}")
public ResponseEntity<OrderMenuQty> getOrderMenuQtyByID(@PathVariable String id){
OrderMenuQty orderMenuQty = orderMenuQtyService.getOrderMenuQtyById(id);
HttpHeaders headers = getCommonHeaders("Get an OrderMenuQty by Id");
return orderMenuQty !=null
? new ResponseEntity<>(orderMenuQty, headers, HttpStatus.OK)
: new ResponseEntity<>(headers, HttpStatus.NOT_FOUND);

}

private HttpHeaders getCommonHeaders(String description) {
HttpHeaders headers = new HttpHeaders();
headers.add("desc", description);
headers.add("content-type", "application/json");
headers.add("date", new Date().toString());
headers.add("server", "H2 Database");
headers.add("version", "1.0.0");
headers.add("orderMenuQty-count", String.valueOf(orderMenuQtyService.countOrderMenuQty()));
headers.add("object", "orderMenuQty");
return headers;
}

}
Loading