Agregar y eliminar de un restaurante

This commit is contained in:
2021-04-30 22:51:57 -04:00
parent 65810b83d4
commit 736a5d2441
3 changed files with 202 additions and 7 deletions

View File

@@ -248,8 +248,7 @@ la [documentación de Auth0](https://auth0.com/docs/api/management/v2#!/Users/pa
Para eliminar a un usuario hay que enviar un `DELETE` a la
ruta `/api/v1/user/{id}` donde `{id}` es el ID del usuario a buscar, este ID
puede ser el UUID del usuario o el ID entregado por Auth0, esto puede ser util
si el frontend tiene solamente acceso al ID entregado por Auth0.
puede ser el UUID del usuario o el ID entregado por Auth0.
Los usuarios eliminados podrán ser recuperados localmente, pero en auth0 serán
eliminados permanentemente y su asociación con restaurantes se perderá.
@@ -257,3 +256,92 @@ eliminados permanentemente y su asociación con restaurantes se perderá.
La respuesta de la API al eliminar será un código `204` sin cuerpo, pero ante
cualquier error, principalmente proviniendo desde Auth0, se utilizará el cuerpo
de error definido al inicio.
### Agregar a un restaurant
El usuario puede ser agregado a distintos restaurantes, para esto se envía
un `PUT` a la ruta `/api/v1/user/{id}/restaurantes/{restaurante_id}`
donde `{id}` es el ID del usuario a buscar, este ID puede ser el UUID del
usuario o el ID entregado por Auth0, y `{restaurante_id}` es el ID del
restaurante al que se va a agregar al usuario.
La API responderá con el modelo del usuario actualizado, como en el siguiente
ejemplo, donde se agregó al restaurante `4e47a419-9398-47ff-82e9-b78851e71226`
```json
{
"id": "340c8e54-9a15-4bd2-9b59-108f267d5872",
"auth0_id": "auth0|608ca16fcfc3df0068fea6a4",
"nombre": "Jhon 2",
"created_at": "2021-04-30T18:31:44.000000Z",
"updated_at": "2021-04-30T18:31:52.000000Z",
"deleted_at": null,
"roles": [
"admin",
"recaudador"
],
"restaurantes": [
{
"id": "63f62e17-e011-4f6f-8c15-5eb65a5014be",
"nombre": "Todo Rico Restaurant",
"created_at": "2021-04-26T16:37:59.181869Z",
"updated_at": "2021-04-26T16:37:59.181869Z",
"deleted_at": null,
"pivot": {
"usuario_id": "340c8e54-9a15-4bd2-9b59-108f267d5872",
"restaurante_id": "63f62e17-e011-4f6f-8c15-5eb65a5014be"
}
},
{
"id": "4e47a419-9398-47ff-82e9-b78851e71226",
"nombre": "Otro Restaurant",
"created_at": "2021-05-01T02:40:10.047257Z",
"updated_at": "2021-05-01T02:40:10.047257Z",
"deleted_at": null,
"pivot": {
"usuario_id": "340c8e54-9a15-4bd2-9b59-108f267d5872",
"restaurante_id": "4e47a419-9398-47ff-82e9-b78851e71226"
}
}
]
}
```
### Eliminar de un restaurant
Si es necesario eliminar a un usuario de un restaurant, se debe enviar
un `DELETE` a la ruta `/api/v1/user/{id}/restaurantes/{restaurante_id}`
donde `{id}` es el ID del usuario a buscar, este ID puede ser el UUID del
usuario o el ID entregado por Auth0, y `{restaurante_id}` es el ID del
restaurante al que se va a agregar al usuario.
La API responderá con el modelo del usuario actualizado, como en el siguiente
ejemplo, donde se eliminó del restaurante `4e47a419-9398-47ff-82e9-b78851e71226`
```json
{
"id": "340c8e54-9a15-4bd2-9b59-108f267d5872",
"auth0_id": "auth0|608ca16fcfc3df0068fea6a4",
"nombre": "Jhon 2",
"created_at": "2021-04-30T18:31:44.000000Z",
"updated_at": "2021-04-30T18:31:52.000000Z",
"deleted_at": null,
"roles": [
"admin",
"recaudador"
],
"restaurantes": [
{
"id": "63f62e17-e011-4f6f-8c15-5eb65a5014be",
"nombre": "Todo Rico Restaurant",
"created_at": "2021-04-26T16:37:59.181869Z",
"updated_at": "2021-04-26T16:37:59.181869Z",
"deleted_at": null,
"pivot": {
"usuario_id": "340c8e54-9a15-4bd2-9b59-108f267d5872",
"restaurante_id": "63f62e17-e011-4f6f-8c15-5eb65a5014be"
}
}
]
}
```