Users
Gestión de Usuarios
Los endpoints de usuarios permiten gestionar las cuentas de usuario en el sistema Ambrosia POS.
-
GET /users: Obtiene todos los usuarios del sistema.- Authorization: Requiere access token válido
- cURL Example:
curl -X GET "http://127.0.0.1:9154/users" \
-H "Cookie: accessToken=$ACCESS_TOKEN" \
-H "Cookie: refreshToken=$REFRESH_TOKEN"- Response Body (Éxito - 200 OK):
[
{
"id": "e911705c-e1b4-4997-ab02-ef7460491ac0",
"name": "cooluser1",
"pin": "****",
"refreshToken": "****",
"role": "e7349203-1bdf-4d8a-8a83-0f5dccb23e1b",
"isAdmin": false
}
]- Response Body (Sin contenido - 204 No Content):
"No users found" -
GET /users/{id}: Obtiene un usuario específico por su ID.- Authorization: Requiere access token válido (admin)
- Path Parameters:
id(string): ID del usuario a obtener
- cURL Example:
curl -X GET "http://127.0.0.1:9154/users/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": "admin",
"pin": "****",
"refreshToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"role": "262006ea-8782-4b08-ac3b-b3f13270fec3"
} -
POST /users: Crea un nuevo usuario en el sistema.- Authorization: Requiere access token válido (admin)
- Request Body:
{
"name": "string",
"pin": "string",
"refreshToken": "string",
"role": "string"
}- cURL Example:
curl -X POST "http://127.0.0.1:9154/users" \
-H "Cookie: accessToken=$ACCESS_TOKEN" \
-H "Cookie: refreshToken=$REFRESH_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "newuser",
"pin": "1234",
"refreshToken": null,
"role": "262006ea-8782-4b08-ac3b-b3f13270fec3"
}'- Response Body (Éxito - 201 Created):
"User added successfully" -
PUT /users/{id}: Actualiza un usuario existente.- Authorization: Requiere access token válido (admin)
- Path Parameters:
id(string): ID del usuario a actualizar
- Request Body:
{
"name": "string",
"pin": "string",
"refreshToken": "string",
"role": "string"
}- cURL Example:
curl -X PUT "http://197.0.0.1:9154/users/76ee1086-b945-4170-b2e6-9fbeb95ae0be" \
-H "Cookie: accessToken=$ACCESS_TOKEN" \
-H "Cookie: refreshToken=$REFRESH_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "updateduser",
"pin": "5678",
"refreshToken": "new-refresh-token",
"role": "262006ea-8782-4b08-ac3b-b3f13270fec3"
}'- Response Body (Éxito - 200 OK):
"User updated successfully" -
DELETE /users/{id}: Elimina un usuario del sistema.- Authorization: Requiere access token válido (admin)
- Path Parameters:
id(string): ID del usuario a eliminar
- cURL Example:
curl -X DELETE "http://197.0.0.1:9154/users/76ee1086-b945-4170-b2e6-9fbeb95ae0be" \
-H "Cookie: accessToken=$ACCESS_TOKEN" \
-H "Cookie: refreshToken=$REFRESH_TOKEN" \- Response Body (Éxito - 204 No Content):
"User deleted successfully"
Notas importantes:
- Todos los endpoints de usuarios requieren autenticación
- Los IDs de usuarios son UUID generados automáticamente
- El campo
roledebe ser un UUID de un rol existente en el sistema - El PIN se almacena hasheado y se devuelve enmascarado como "****" por seguridad
- El campo
refreshTokenes opcional y puede sernull