🔒 Acceso Protegido

Esta documentación requiere autenticación

Skip to content

Usuarios

📁 Estructura del Módulo

Controlador/Rutas

Controlador HTTP que maneja las rutas y endpoints para la gestión de usuarios.

Servicio/Lógica

Servicio que contiene la lógica de negocio para las operaciones de usuarios, incluyendo CRUD, autenticación y gestión de roles.

Entidades/Base de Datos

Entidad TypeORM que define la estructura de la tabla de usuarios en la base de datos.

DTO (Entradas/Salidas)

Objetos de transferencia de datos para validar y estructurar las entradas y salidas de las operaciones de usuarios.

Descripción General

El módulo de usuarios es responsable de gestionar toda la información y operaciones relacionadas con los usuarios del sistema OnSpot.

Funcionalidades Principales

Gestión de Usuarios

  • Crear usuarios: Registro de nuevos usuarios en el sistema
  • Consultar usuarios: Obtener información de usuarios individuales o listas
  • Actualizar usuarios: Modificar información de usuarios existentes
  • Eliminar usuarios: Desactivar o eliminar usuarios del sistema

Tipos de Usuario

  • Backoffice: Administradores del sistema
  • Platform: Usuarios de la plataforma
  • Customer: Clientes finales

Gestión de Perfiles

  • Información personal (nombre, email, teléfono)
  • Configuraciones de cuenta
  • Preferencias del usuario
  • Historial de actividades

Estructura de Datos

Entidad Usuario

typescript
@Entity('users')
export class User {
  @PrimaryGeneratedColumn('uuid')
  id: string;

  @Column()
  email: string;

  @Column()
  password: string;

  @Column()
  firstName: string;

  @Column()
  lastName: string;

  @Column({ type: 'enum', enum: UserType })
  userType: UserType;

  @Column({ default: true })
  isActive: boolean;

  @CreateDateColumn()
  createdAt: Date;

  @UpdateDateColumn()
  updatedAt: Date;
}

Endpoints Principales

  • GET /users - Listar usuarios
  • GET /users/:id - Obtener usuario por ID
  • POST /users - Crear nuevo usuario
  • PUT /users/:id - Actualizar usuario
  • DELETE /users/:id - Eliminar usuario
  • GET /users/profile - Obtener perfil del usuario actual

Validaciones

DTOs de Entrada

  • Validación de formato de email
  • Validación de fortaleza de contraseña
  • Validación de campos requeridos
  • Sanitización de datos de entrada

DTOs de Salida

  • Exclusión de información sensible (contraseñas)
  • Formateo de fechas
  • Transformación de datos según el contexto

Seguridad

  • Encriptación de contraseñas con bcrypt
  • Validación de permisos por tipo de usuario
  • Protección de datos sensibles
  • Auditoría de cambios

Relaciones

El módulo de usuarios se relaciona con:

  • Auth: Para autenticación y autorización
  • Accounts: Para gestión de cuentas
  • Sub-accounts: Para subcuentas asociadas
  • Accreditations: Para acreditaciones del usuario
  • Withdrawals: Para operaciones de retiro

Versión: 1.0 | Actualizado: hace 2 meses

Documentación OnspotIntl