TSSW2024 / Sprint-5-Frontend

MIT License
1 stars 0 forks source link

(Feature - Backend) Implementar CRUD para la Cartera en Base de Datos SQL #14

Open zkodah opened 3 months ago

zkodah commented 3 months ago

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:

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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:

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.