Skip to main content

Módulo User

src/app/modules/user/

Gestión de usuarios internos del CRM (agentes, administradores).

Modelo — User

CampoTipoDescripción
_idObjectIdID de MongoDB
identifierstring (UUID)ID externo único
tenantIdObjectId → TenantTenant al que pertenece
usernamestringNombre de usuario único
emailstringEmail único
passwordstringHash bcrypt
roleIdObjectId → RoleRol asignado
isActivebooleanSi puede iniciar sesión
firstnamestringPrimer nombre
secondFirstnamestringSegundo nombre
lastNamestringApellido paterno
secondLastNamestringApellido materno
userTypestringTipo de usuario
createdAtDate
updatedAtDate

Endpoints

MétodoRutaAuthDescripción
GET/api/v1/users@Auth()Lista usuarios paginada
GET/api/v1/users/:id@Auth()Obtiene un usuario
POST/api/v1/users@Auth()Crea usuario
PATCH/api/v1/users/:id@Auth()Actualiza usuario
DELETE/api/v1/users/:id@Auth()Elimina usuario

DTOs

CreateUserDto

{
tenantId: string // UUID del tenant
username: string
email: string
password: string
roleId: string // UUID del rol
firstname: string
secondFirstname?: string
lastName: string
secondLastName?: string
userType?: string
}

UpdateUserDto

Todos los campos de CreateUserDto son opcionales.

Exports

UserService y UserRepository son exportados para su uso en AuthGuard y ChatGateway.