Skip to main content

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.

info

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.
    Default:uuid()
  • email

    string

    +
    Correo electrónico del usuario.
    Único
  • phone

    string

    +
    Número de teléfono del usuario.
    Único
  • name

    string

    +
    Nombre del usuario.
  • password

    string

    +
    Hash de contraseña del usuario.
  • balance

    decimal

    +
    Sumatoria de invested y profit del usuario.
    Default:0
  • gold

    decimal

    +
    Cantidad de oro (g.) del usuario.
    Default:0
  • invested

    decimal

    +
    Monto invertido (USD) por el usuario.
    Default:0
  • available

    decimal

    +
    Monto disponible (USD) del usuario. Desuso.
    Default:0
  • profit

    decimal

    +
    Ganancias del usuario (USD).
    Default:0
  • cashed

    decimal

    +
    Monto total (USD) retirado del usuario.
    Default:0
  • transactions

    Transaction[]

    +
    Todas las transacciones asociadas al usuario.
  • admin

    boolean

    +
    Indica si el usuario es administrador o no.
    Default:false
  • role

    USER | PENDING | ADMIN

    +
    Rol del usuario en la plataforma.
    Default:PENDING
  • createdAt

    Date

    +
    Fecha de creación del usuario.
    Default:now()
  • 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.

info

Todas las transacciones crean una instancia de Transaction menos User Request.

  • id

    string

    +
    El ID de la transacción.
    Default:uuid()
  • amount

    decimal

    +
    Monto monetario (USD) de la transacción.
    Default:0
  • goldAmount

    decimal

    +
    Monto de oro (g.) en la transacción.
    Default:0
  • createdAt

    Date

    +
    Fecha de creación de la transacción
    Default:now()
  • creator

    User

    +
    Usuario creador de la transacción.

    Este campo está relacionado a User.userId

  • 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.
    Default:PENDING
  • investment

    Investment | null

    +
    Inversión a la que está relacionada la transacción.

    Este campo está relacionado a Investment.investmentId

  • investmentId

    string | null

    +
    ID de la inversión relacionada.
  • Debit

    Debit | null

    +
    Débito relacionado a la transacción.

    Este campo está relacionado a Debit.debitId

  • 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.
    Default:uuid()
  • created At

    Date

    +
    Fecha de creación de la solicitud de creación de usuario.
    Default:now()
  • user

    User

    +
    Usuario relacionado con la solicitud de creación de usuario.

    Este campo está relacionado a User.userId

  • 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.
    Default:PENDING
  • 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.

info

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.
    Default:uuid()
  • createdAt

    Date

    +
    Fecha de creación de la inversión.
    Default:now()
  • user

    User

    +
    Usuario que realizó la inversión.

    Este campo está relacionado a User.userId

  • userId

    string

    +
    ID del usuario que realizó la inversión.
  • type

    CONSERVATIVE | MODERATED | AGGRESIVE

    +
    Categoría de la inversión.
    Default:CONSERVATIVE
  • amount

    decimal

    +
    Monto monetario (USD) invertido.
    Default:0
  • status

    APPROVED | DECLINED | PENDING

    +
    Estado de la inversión.
    Default:PENDING
  • 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.

info

Las transacciones de tipo Profit Retirement, Balance Retirement y Re-Investment crean instancias de Debit.

  • id

    string

    +
    El ID del débito.
    Default:uuid()
  • createdAt

    Date

    +
    Fecha de creación del débito.
    Default:now()
  • user

    User

    +
    Usuario que realizó el débito.

    Este campo está relacionado a User.userId

  • userId

    string

    +
    ID del usuario que realizó el débito.
  • amount

    decimal

    +
    Monto monetario (USD) retirado.
    Default:0
  • status

    APPROVED | DECLINED | PENDING

    +
    Estado del débito.
    Default:PENDING
  • transactions

    Transaction[]

    +
    Transacciones relacionadas con el débito.
Email

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.
    Default:uuid()
  • user

    User

    +
    Usuario que recibió el correo electrónico.

    Este campo está relacionado a User.userId

  • 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.
    Default:SENT
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.
    Default:uuid()
  • value

    decimal

    +
    Precio monetario (USD) de 1 g. de oro.
  • updatedAt

    Date

    +
    Fecha de actualización del valor del oro.
    Default:now()