Bases de Datos
Explicación detallada de cuáles son las bases de datos existentes, qué función tiene cada una, sus relaciones y sus atributos.
En la sección Transacciones se explica detalladamente qué tablas se crean en cada tipo de transacción.
User
La base de datos User contiene información básica sobre los usuarios de la plataforma, incluyendo su información de contacto, balance y roles.
- id+
string
El ID del usuario. - email+
string
Correo electrónico del usuario. - phone+
string
Número de teléfono del usuario. - name+
string
Nombre del usuario. - password+
string
Hash de contraseña del usuario. - balance+
decimal
Sumatoria de invested y profit del usuario. - gold+
decimal
Cantidad de oro (g.) del usuario. - invested+
decimal
Monto invertido (USD) por el usuario. - available+
decimal
Monto disponible (USD) del usuario. Desuso. - profit+
decimal
Ganancias del usuario (USD). - cashed+
decimal
Monto total (USD) retirado del usuario. - transactions+
Transaction[]
Todas las transacciones asociadas al usuario. - admin+
boolean
Indica si el usuario es administrador o no. - role+
USER | PENDING | ADMIN
Rol del usuario en la plataforma. - createdAt+
Date
Fecha de creación del usuario. - updatedAt+
Date
Fecha de actualización del usuario. - requests+
userRequest[]
Solicitudes de creación de usuario asociadas al usuario. - salt+
string
Salt para la contraseña del usuario. - investments+
Investment[]
Inversiones asociadas al usuario. - debits+
Debit[]
Retiros asociados al usuario. - emails+
Email[]
Correos electrónicos enviados al usuario. - resetToken+
string | null
Token de restablecimiento de contraseña. - resetTokenExpiry+
Date | null
Fecha de expiración del token de restablecimiento.
Transaction
La base de datos Transaction registra las transacciones realizadas por los usuarios, incluyendo detalles sobre montos, fechas y estados.
Todas las transacciones crean una instancia de Transaction menos User Request.
- id+
string
El ID de la transacción. - amount+
decimal
Monto monetario (USD) de la transacción. - goldAmount+
decimal
Monto de oro (g.) en la transacción. - createdAt+
Date
Fecha de creación de la transacción - creator+
User
Usuario creador de la transacción. - userId+
string
ID del usuario creador. - reason+
string | null
El tipo de transacción. Ej: "new-investment" - from+
string | null
Email del usuario que envió la transacción. - to+
string | null
Email del usuario al que se dirige la transacción. - goldTypeDebit+
digital | physical | null
Formato en que se quiere retirar el oro. - status+
APPROVED | DECLINED | PENDING
Estado de la transacción. - investment+
Investment | null
Inversión a la que está relacionada la transacción. - investmentId+
string | null
ID de la inversión relacionada. - Debit+
Debit | null
Débito relacionado a la transacción. - debitId+
string | null
ID del débito relacionado. - updatedAt+
Date
Fecha de actualización de la transacción.
userRequest
La tabla userRequest maneja las solicitudes de creación de usuario.
- id+
string
El ID de la solicitud de creación de usuario. - created At+
Date
Fecha de creación de la solicitud de creación de usuario. - user+
User
Usuario relacionado con la solicitud de creación de usuario. - userId+
string
ID del usuario relacionado con la solicitud de creación de usuario. - status+
APPROVED | DECLINED | PENDING
Estado de la solicitud de creación de usuario. - updatedAt+
Date
Fecha de actualización de la solicitud de creación de usuario.
Investment
La base de datos Investment registra las inversiones monetarias realizadas por los usuarios, incluyendo detalles sobre los montos y sus categorías.
Las transacciones de tipo New Investment y User Request (sólo si son creadas por un cliente) crean instancias de Investment.
- id+
string
El ID de la inversión. - createdAt+
Date
Fecha de creación de la inversión. - user+
User
Usuario que realizó la inversión. - userId+
string
ID del usuario que realizó la inversión. - type+
CONSERVATIVE | MODERATED | AGGRESIVE
Categoría de la inversión. - amount+
decimal
Monto monetario (USD) invertido. - status+
APPROVED | DECLINED | PENDING
Estado de la inversión. - transactions+
Transaction[]
Transacciones relacionadas con la inversión.
Debit
La base de datos Debit registra los retiros de profit monetarios o de inversiones realizadas por los usuarios, incluyendo los montos y el estado de cada transacción.
Las transacciones de tipo Profit Retirement, Balance Retirement y Re-Investment crean instancias de Debit.
- id+
string
El ID del débito. - createdAt+
Date
Fecha de creación del débito. - user+
User
Usuario que realizó el débito. - userId+
string
ID del usuario que realizó el débito. - amount+
decimal
Monto monetario (USD) retirado. - status+
APPROVED | DECLINED | PENDING
Estado del débito. - transactions+
Transaction[]
Transacciones relacionadas con el débito.
La base de datos Email registra los correos electrónicos enviados a los usuarios, incluyendo el estado y el asunto de cada correo.
- id+
string
El ID del correo electrónico. - user+
User
Usuario que recibió el correo electrónico. - userId+
string
ID del usuario que recibió el correo electrónico. - subject+
string
Asunto del correo electrónico. - status+
SENT
Estado del correo electrónico.
goldValue
La base de datos goldValue registra el valor del oro, incluyendo la fecha de actualización y el valor actual.
- id+
gold
El ID del valor del oro. - value+
decimal
Precio monetario (USD) de 1 g. de oro. - updatedAt+
Date
Fecha de actualización del valor del oro.