Desarrollar las operaciones CRUD (Create, Read, Update, Delete) para gestionar las carteras de usuarios utilizando una base de datos SQL. Cada moneda en la billetera se identifica por su símbolo y tiene una cantidad asociada. Las operaciones deben garantizar la integridad de los datos y registrar las acciones realizadas en una tabla de registros para auditoría.
Objetivos:
Crear una billetera (Create):
Descripción: Crear una nueva cartera para un usuario identificado por su UID.
Requisitos:
Método: POST /wallets
Parámetros: uid (ID único del usuario)
Acciones:
Insertar un nuevo registro en la tabla Wallets con el uid proporcionado.
Registrar en la tabla Logs con detalles de la acción de creación.
Leer una billetera (Read):
Descripción: Leer los datos de la billetera de un usuario.
Requisitos:
Método: GET /wallets/:uid
Parámetros: uid (ID único del usuario)
Acciones:
Consultar y devolver los datos de la billetera desde la tabla Wallets.
Desencriptar los datos si es necesario antes de enviarlos al cliente.
Manejar errores correctamente si la billetera no existe.
Actualizar una billetera (Update):
Descripción: Actualizar los datos de la billetera de un usuario.
Requisitos:
Método: PUT /wallets/:uid
Parámetros: uid (ID único del usuario), coins (arreglo de objetos con símbolo de moneda y cantidad)
Acciones:
Actualizar los campos relevantes (cantidad de monedas) en el registro de la tabla Wallets para cada moneda proporcionada en el arreglo coins.
Registrar en la tabla Logs con detalles de la acción de actualización.
Eliminar una billetera (Delete):
Descripción: Eliminar permanentemente la billetera de un usuario.
Requisitos:
Método: DELETE /wallets/:uid
Parámetros: uid (ID único del usuario)
Acciones:
Eliminar el registro de la tabla Wallets correspondiente al usuario.
Registrar en la tabla Logs con detalles de la acción de eliminación.
Registros (Logs):
Descripción: Registrar todas las acciones realizadas sobre las carteras.
Requisitos:
Tabla: Logs
Campos: uid (ID único del usuario), action (acción realizada: create, read, update, delete), timestamp (marca de tiempo), details (detalles específicos de la acción).
Criterios de aceptación:
[x] Implementación funcional de los métodos POST, GET, PUT y DELETE para las operaciones CRUD.
[x] Correcto registro de acciones en la tabla Logs para todas las operaciones.
[ ] Validación de datos y manejo de errores robusto en cada operación.
[ ] Pruebas unitarias para cada método de API.
[ ] Documentación actualizada con ejemplos de uso de cada método.
Prioridad: P0
Notas adicionales:
Implementar middleware para la seguridad de rutas y datos según sea necesario.
Contactar con Moisés para discutir sobre la implementación de middleware de seguridad en el próximo sprint.
Recursos necesarios:
Base de datos SQL configurada y accesible para el desarrollo y pruebas.
Entorno de desarrollo con acceso a las herramientas y bibliotecas necesarias para implementar una API RESTful.
Este ticket es crítico (P0) y debe ser abordado con urgencia para garantizar la funcionalidad central del sistema de gestión de carteras utilizando una base de datos SQL.
Descripción:
Desarrollar las operaciones CRUD (Create, Read, Update, Delete) para gestionar las carteras de usuarios utilizando una base de datos SQL. Cada moneda en la billetera se identifica por su símbolo y tiene una cantidad asociada. Las operaciones deben garantizar la integridad de los datos y registrar las acciones realizadas en una tabla de registros para auditoría.
Objetivos:
Crear una billetera (Create):
POST /wallets
uid
(ID único del usuario)Wallets
con eluid
proporcionado.Logs
con detalles de la acción de creación.Leer una billetera (Read):
GET /wallets/:uid
uid
(ID único del usuario)Wallets
.Actualizar una billetera (Update):
PUT /wallets/:uid
uid
(ID único del usuario),coins
(arreglo de objetos con símbolo de moneda y cantidad)Wallets
para cada moneda proporcionada en el arreglocoins
.Logs
con detalles de la acción de actualización.Eliminar una billetera (Delete):
DELETE /wallets/:uid
uid
(ID único del usuario)Wallets
correspondiente al usuario.Logs
con detalles de la acción de eliminación.Registros (Logs):
Logs
uid
(ID único del usuario),action
(acción realizada: create, read, update, delete),timestamp
(marca de tiempo),details
(detalles específicos de la acción).Criterios de aceptación:
POST
,GET
,PUT
yDELETE
para las operaciones CRUD.Logs
para todas las operaciones.Prioridad: P0
Notas adicionales:
Recursos necesarios:
Este ticket es crítico (P0) y debe ser abordado con urgencia para garantizar la funcionalidad central del sistema de gestión de carteras utilizando una base de datos SQL.