-
Notifications
You must be signed in to change notification settings - Fork 0
API Definition
POST /orders
{
"items": [
"brown rice",
"falafel",
"drink",
"tomato",
"tahini"
]
}
201 Created
Returns: created object Example:
{
"id": "74e359a6-d187-11ed-bf45-00155d04d6fd",
"date_time": "2022-03-07 08:44:06.172087",
"items": [
"brown rice",
"falafel",
"drink",
"tomato",
"tahini"
],
"price" : 8.34
}
Will return error code + message.
Example:
400 Bad Request
{
"error" : "Menu Item with name 'turkey' is not a valid Menu Item"
}
GET /orders/{id}
200 Ok
Returns: requested object Example:
{
"id": "74e359a6-d187-11ed-bf45-00155d04d6fd",
"date_time": "2022-03-07 08:44:06.172087",
"items": [
"brown rice",
"falafel",
"drink",
"tomato",
"tahini"
],
"price" : 8.34
}
Will return error code + message.
Example:
404 Not Found
{
"error" : "Order with id '69420' not found"
}
GET /orders
Parameters: pageNumber=1, pageSize=100
200 Ok
Returns: all orders as list of order objects
Will return error code.
Example:
500 Internal Server Error
PUT /orders/{id}
{
"id": "74e359a6-d187-11ed-bf45-00155d04d6fd",
"date_time": "2022-03-07 08:44:06.172087",
"items": [
"brown rice",
"falafel",
"drink",
"tomato",
]
}
200 Ok
Returns: updated object Example:
{
"id": "74e359a6-d187-11ed-bf45-00155d04d6fd",
"date_time": "2022-03-07 08:44:06.172087",
"items": [
"brown rice",
"falafel",
"drink",
"tomato",
],
"price" : 8.34
}
Will return error code + message.
Example:
404 Not Found
{
"error" : "Order with id '69420' not found"
}
DELETE /orders/{id}
204 No Content
Will return error code + message.
Example:
404 Not Found
{
"error" : "Order with id '69420' not found"
}
POST /menu-item
{
"name": "tortilla",
"category": "base",
"price": 1.00,
"quantity": 2000,
"Cutlery": [
"plate"
]
}
201 Created
Returns: created object Example:
{
"name": "tortilla",
"category": "base",
"price": 1.00,
"quantity": 2000,
"Cutlery": [
"plate"
]
}
Will return error code + message.
Example:
400 Bad Request
{
"error" : "Menu Item with name 'brown rice' already exists"
}
GET /menu-item/{name}
200 Ok
Returns: requested object Example:
{
"name": "tortilla",
"category": "base",
"price": 1.00,
"quantity": 2000,
"Cutlery": [
"plate"
]
}
Will return error code + message.
Example:
404 Not Found
{
"error" : "Menu Item 'Monster Energy' not found"
}
GET /menu-item
200 Ok
Returns: all menu items by category Example:
{
"base": [
{
"name": "tortilla",
"category": "base",
"price": 1.00,
"quantity": 2000,
"Cutlery": [
"plate"
]
},
{
"name": "brown rice",
"category": "base",
"price": 0.00,
"quantity": 1000,
"Cutlery": [
"plate",
"fork"
]
}
],
"topping": [
{
"name": "tomato",
"category": "topping",
"price": 0.00,
"quantity": 1000,
"Cutlery": []
}
]
}
Will return error code.
Example:
500 Internal Server Error
PUT /menu-item
{
"name": "brown rice",
"category": "base",
"price": 0.00,
"quantity": 1001,
"Cutlery": [
"plate",
"fork"
]
}
200 Ok
Returns: updated object Example:
{
"name": "brown rice",
"category": "base",
"price": 0.00,
"quantity": 1001,
"Cutlery": [
"plate",
"fork"
]
}
Will return error code + message.
Example:
404 Not Found
{
"error" : "Menu Item 'burrito' not found"
}
DELETE /menu-item/{name}
204 No Content
Will return error code + message.
Example:
404 Not Found
{
"error" : "Menu Item 'cow' not found"
}
POST /cutlery
{
"name": "plate",
"quantity": 1000
}
201 Created
Returns: created object Example:
{
"name": "plate",
"quantity": 1000
}
Will return error code + message.
Example:
400 Bad Request
{
"error": "Cutlery Item with name 'plate' already exists"
}
GET /cutlery/{name}
200 Ok
Returns: requested object Example:
{
"name": "plate",
"quantity": 1000
}
Will return error code + message.
Example:
404 Not Found
{
"error": "Cutlery Item 'Cow' not found"
}
GET /cutlery
200 Ok
Returns: list of cutlery Example:
{
[
{
"name": "plate",
"quantity": 1000
},
{
"name": "bowl",
"quantity": 1000
}
]
}
Will return error code.
Example:
500 Internal Server Error
PUT /cutlery
{
"name": "plate",
"quantity": 2000
}
200 Ok
Returns: updated object Example:
{
"name": "plate",
"quantity": 2000
}
Will return error code + message.
Example:
404 Not Found
{
"error": "Cutlery Item 'burrito' not found"
}
DELETE /cutlery/{name}
204 No Content
Will return error code + message.
Example:
404 Not Found
{
"error": "Cutlery Item 'cow' not found"
}
GET /inventory
200 Ok
Returns: all inventory Example:
{
[
{
"name": "tortilla",
"type": "menu item",
"quantity": 2000,
},
{
"name": "brown rice",
"type": "menu item",
"quantity": 1000,
},
{
"name": "bowl",
"type": "cutlery",
"quantity": 2000,
}
]
}
Will return error code.
Example:
500 Internal Server Error
DELETE /inventory
{
"name": "plate",
"type": "cutlery"
}
204 No Content
Will return error code + message.
Example:
404 Not Found
{
"error": "Inventory Cutlery 'hand' not found"
}
GET /reports/xreport
200 Ok
{
"sales": 1240.21
}
Will return error code and error.
Example:
500 Internal Server Error
{
"error": "internal error occurred when getting x report"
}
GET /reports/zreport
parameters: pageNumber = 100, pageSize = 50
Returns 200 response and sales history.
200 Ok
{
[
"02-28-2022": 1391.03,
"03-01-2022": 1121.02,
"04-02-2022": 1191.04,
"05-03-2022": 1691.08,
"06-04-2022": 2391.43
]
}
Will return error code and error.
Example:
500 Internal Server Error
{
"error": "internal error occurred when getting z report"
}
POST /reports/excess-report
{
"fromDate": "2023-03-21"
}
200 Ok
{
[
{
"menuItemName": "extra meat",
"quantity": 2000,
"amountSold": 0
},
{
"menuItemName": "extra dressing",
"quantity": 2000,
"amountSold": 0
}
]
}
Will return error code and error.
Example:
500 Internal Server Error
{
"error": "internal error occurred when getting excess report"
}
POST /reports/sales-report
{
"startDate": "2023-03-21",
"endDate": "2023-02-21",
"menuItem": "pita"
}
200 Ok
{
[
{
"sold": 139,
"date": "2023-01-21T00:00:00"
},
{
"sold": 131,
"date": "2023-01-22T00:00:00"
},
{
"sold": 77,
"date": "2023-01-23T00:00:00"
},
{
"sold": 155,
"date": "2023-01-24T00:00:00"
},
{
"sold": 0,
"date": "2023-01-25T00:00:00"
}
]
}
Will return error code and error.
Example:
500 Internal Server Error
{
"error": "internal error occurred when getting sales report"
}