Saltar al contenido principal
Versión: v0.7.1-beta

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 categoryId debe referenciar una categoría de plato existente.
  • Los campos name, price y categoryId son requeridos.