Dishes
Gestión de Platos
Los endpoints de platos permiten gestionar el menú del restaurante con todos los platos disponibles.
GET /dishes
Obtiene todos los platos del sistema.
Authorization: dish_read
cURL Example:
curl -X GET "http://127.0.0.1:9154/dishes" \
-H "Cookie: accessToken=$ACCESS_TOKEN" \
-H "Cookie: refreshToken=$REFRESH_TOKEN" \
-H "Content-Type: application/json"
Response Body (Éxito - 200 OK):
[
{
"id": "76ee1086-b945-4170-b2e6-9fbeb95ae0be",
"name": "Pizza Margherita",
"price": 15.99,
"categoryId": "262006ea-8782-4b08-ac3b-b3f13270fec3"
}
]
Response Body (Lista vacía - 200 OK):
"No dishes found"
GET /dishes/{id}
Obtiene un plato específico por su ID.
Authorization: dish_read
Path Parameters:
id(string): ID del plato a obtener.
cURL Example:
curl -X GET "http://127.0.0.1:9154/dishes/76ee1086-b945-4170-b2e6-9fbeb95ae0be" \
-H "Cookie: accessToken=$ACCESS_TOKEN" \
-H "Cookie: refreshToken=$REFRESH_TOKEN"
Response Body (Éxito - 200 OK):
{
"id": "76ee1086-b945-4170-b2e6-9fbeb95ae0be",
"name": "Pizza Margherita",
"price": 15.99,
"categoryId": "262006ea-8782-4b08-ac3b-b3f13270fec3"
}
POST /dishes
Crea un nuevo plato en el sistema.
Authorization: dish_create
Request Body:
{
"name": "string",
"price": 0.0,
"categoryId": "string"
}
cURL Example:
curl -X POST "http://127.0.0.1:9154/dishes" \
-H "Cookie: accessToken=$ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "Pasta Carbonara",
"price": 18.75,
"categoryId": "262006ea-8782-4b08-ac3b-b3f13270fec3"
}'
Response Body (Éxito - 201 Created):
{
"id": "new-dish-uuid",
"message": "Dish added successfully"
}
PUT /dishes/{id}
Actualiza un plato existente.
Authorization: dish_update
Path Parameters:
id(string): ID del plato a actualizar.
Request Body:
{
"name": "string",
"price": 0.0,
"categoryId": "string"
}
cURL Example:
curl -X PUT "http://127.0.0.1:9154/dishes/76ee1086-b945-4170-b2e6-9fbeb95ae0be" \
-H "Cookie: accessToken=$ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "Pizza Margherita Premium",
"price": 17.99,
"categoryId": "262006ea-8782-4b08-ac3b-b3f13270fec3"
}'
Response Body (Éxito - 200 OK):
{
"id": "76ee1086-b945-4170-b2e6-9fbeb95ae0be",
"message": "Dish updated successfully"
}
DELETE /dishes/{id}
Elimina un plato del sistema.
Authorization: dish_delete
Path Parameters:
id(string): ID del plato a eliminar.
cURL Example:
curl -X DELETE "http://127.0.0.1:9154/dishes/76ee1086-b945-4170-b2e6-9fbeb95ae0be" \
-H "Cookie: accessToken=$ACCESS_TOKEN"
Response: 204 No Content (sin cuerpo).
Notas
información
- Los permisos usan el prefijo
dish_en singular (dish_read,dish_create,dish_update,dish_delete). - Los IDs de platos son UUID generados automáticamente.
- El campo
categoryIddebe referenciar una categoría de plato existente. - Los campos
name,priceycategoryIdson requeridos.