Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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,93 @@
package dev.example.restaurantManager.controller;

import dev.example.restaurantManager.model.MenuItem;
import dev.example.restaurantManager.service.MenuItemService;
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;

@RestController
@RequestMapping("/api/v1/menu-items")
public class MenuItemController {

@Autowired
private MenuItemService menuItemService;

// Obtener todos los MenuItems
@GetMapping("/all-menu-items")
public ResponseEntity<List<MenuItem>> getAllMenuItems() {
List<MenuItem> menuItems = menuItemService.getAllMenuItems();
HttpHeaders headers = getCommonHeaders("Get alls menus");
return menuItems != null && !menuItems.isEmpty()
? new ResponseEntity<>(menuItems,headers, HttpStatus.OK)
: new ResponseEntity<>(headers, HttpStatus.NOT_FOUND);
}

// Crear un nuevo MenuItem
@PostMapping
public ResponseEntity<MenuItem> createMenuItem(@RequestBody MenuItem menuItem) {
MenuItem createdMenuItem = menuItemService.createMenuItem(menuItem);
HttpHeaders headers = getCommonHeaders("Create a new menu-item");
return createdMenuItem != null
? new ResponseEntity<>(createdMenuItem, headers, HttpStatus.CREATED)
: new ResponseEntity<>(headers, HttpStatus.BAD_REQUEST);

}

// Actualizar un MenuItem existente
@PutMapping("/{id}")
public ResponseEntity<MenuItem> updateMenuItem(@PathVariable String id, @RequestBody MenuItem menuItemDetails) {
MenuItem updatedMenuItem = menuItemService.updateMenuItem(id, menuItemDetails);
HttpHeaders headers = getCommonHeaders("Update menu-item");
return updatedMenuItem != null
? new ResponseEntity<>(updatedMenuItem,headers,HttpStatus.OK)
: new ResponseEntity<>(headers,HttpStatus.NOT_FOUND);
}

// Eliminar un MenuItem
@DeleteMapping("/{id}")
public ResponseEntity<Void> deleteMenuItem(@PathVariable String id) {
boolean deleted = menuItemService.deleteMenuItem(id);
HttpHeaders headers = getCommonHeaders("Delete a menu-item");
return deleted
? new ResponseEntity<>(headers,HttpStatus.NO_CONTENT)
: new ResponseEntity<>(headers, HttpStatus.NOT_FOUND);
}

// encuentra un menu-item por la id
@GetMapping("/{id}")
public ResponseEntity<MenuItem> GetMenuItemById(@PathVariable String id){
MenuItem menuItem = menuItemService.getMenuItemByID(id);
HttpHeaders headers = getCommonHeaders("Get a menu-item by Id");
return menuItem !=null
?new ResponseEntity<>(menuItem, headers, HttpStatus.OK)
:new ResponseEntity<>(headers, HttpStatus.NOT_FOUND);
}

// Obtener todos los MenuItems de un Menu específico
@GetMapping("/menu/{menuId}/items")
public ResponseEntity<List<MenuItem>> getMenuItemsByMenuId(@PathVariable String menuId) {
List<MenuItem> menuItems = menuItemService.getMenuItemsByMenuId(menuId);
HttpHeaders headers = getCommonHeaders("Get all menu-items for a specific menu");
return menuItems != null && !menuItems.isEmpty()
? new ResponseEntity<>(menuItems, 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("menu_items-count", String.valueOf(menuItemService.countMenuItems()));
headers.add("object", "menu-items");
return headers;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
package dev.example.restaurantManager.controller;


import dev.example.restaurantManager.model.TableRestaurant;
import dev.example.restaurantManager.service.TableRestaurantService;
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/table")
@RestController
public class TableRestaurantController {

@Autowired
private TableRestaurantService tableService;

@GetMapping("/allTables")
public ResponseEntity<List<TableRestaurant>>getAllTables(){
List<TableRestaurant> tables = tableService.getAllTables();
HttpHeaders headers = getCommonHeaders("Get all tables");
return tables != null && !tables.isEmpty()
? new ResponseEntity<>(tables, headers, HttpStatus.OK)
: new ResponseEntity<>(headers, HttpStatus.NOT_FOUND);
}

@PostMapping
public ResponseEntity<TableRestaurant> createTable(@RequestBody TableRestaurant table){
TableRestaurant createdTable = tableService.createTable(table);
HttpHeaders headers = getCommonHeaders("Create a new table");

return createdTable !=null
? new ResponseEntity<>(createdTable, headers,HttpStatus.CREATED)
: new ResponseEntity<>(headers, HttpStatus.BAD_REQUEST);

}

@PutMapping("/{name}")
public ResponseEntity<TableRestaurant> updateTable(@PathVariable String name, @RequestBody TableRestaurant tableDetails) {
TableRestaurant updatedTable = tableService.updateTable(name, tableDetails);
HttpHeaders headers = getCommonHeaders("Update a table");
return updatedTable != null
? new ResponseEntity<>(updatedTable, headers, HttpStatus.OK)
: new ResponseEntity<>(headers,HttpStatus.NOT_FOUND);
}

// Eliminar una mesa
@DeleteMapping("/{name}")
public ResponseEntity<Void> deleteTable(@PathVariable String name) {
boolean deleted = tableService.deleteTable(name);
HttpHeaders headers = getCommonHeaders("Delete a table");
return deleted
? new ResponseEntity<>(headers,HttpStatus.NO_CONTENT)
: new ResponseEntity<>(headers, HttpStatus.NOT_FOUND);
}

@GetMapping("/{name}")
public ResponseEntity<TableRestaurant> getTableByName(@PathVariable String name){
TableRestaurant table = tableService.getTableByName(name);
HttpHeaders headers = getCommonHeaders("Get a table by name");

return table != null
? new ResponseEntity<>(table,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("tables-count", String.valueOf(tableService.countTables()));
headers.add("object", "tables");
return headers;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
package dev.example.restaurantManager.model;

public enum CourseEnum {

STARTER,
MAIN,
DESSERT

}
Loading