Skip to content
Go to Lynx

Introducción

This content is not available in your language yet.

El paquete @lynx/models encapsula toda la capa de persistencia transaccional del monorepo. Se encarga de definir los esquemas, administrar las conexiones y exportar los modelos de datos que consumirán otras aplicaciones (como apps/nest o apps/next).

La base principal de este paquete radica en aislar la infraestructura de base de datos del resto de la lógica de negocio, creando una única fuente de verdad (Single Source of Truth) para el ecosistema Lynx.

[!TIP] Agnosticismo del Entorno El paquete es capaz de funcionar eficientemente tanto en entornos basados en Node.js como en arquitecturas en el Borde (Edge runtimes), gracias a la flexibilidad subyacente de nuestra capa ORM.

Nuestra estrategia para la capa de persistencia se asienta sobre las siguientes tecnologías estelares:

  • PostgreSQL: Nuestro motor de base de datos relacional principal conectado mediante el driver ligero pg.
  • Drizzle ORM: Herramienta ORM tipada que proporciona un puente directo entre el mundo de TypeScript y el esquema SQL sin sacrificar rendimiento.
  • Zod: Utilizado para inferir Data Transfer Objects (DTOs) directamente de los modelos transaccionales de la base de datos.
  • Gestión de Conexiones: Proveer clientes pre-configurados para interactuar con la base de datos.
  • Modelado de Datos: Mapear tablas lógicas de SQL en constructos utilizables de TypeScript.
  • DTOs Universales: Exportar esquemas estrictos que aseguren que los datos que entran y salen del servidor son estructuralmente válidos.
  • Autenticación (Better Auth): Proveer al motor Better Auth las tablas base que necesita para gestionar sesiones, cuentas y perfiles.