aloux-iam 0.0.82 → 0.0.84

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -78,10 +78,14 @@ self.login = async (body, res) => {
78
78
  } else {
79
79
  const { email, pwd } = body
80
80
  const userLogin = await User.findOne({ email: email })
81
-
81
+
82
82
  if (!userLogin) {
83
83
  throw { code: 401, title: 'Credenciales incorrectas', detail: '', suggestion: 'Verifica que el Usuario y Contraseña sean correctos', error: new Error() }
84
84
  }
85
+
86
+ if (userLogin.tokens.length + 1 > process.env.MAX_TOKENS) {
87
+ throw { code: 401, title: 'Límite de sesiones alcanzado', detail: 'Has alcanzado el número máximo de sesiones permitidas para esta cuenta.', suggestion: 'Por favor, cierra una de las sesiones activas en dispositivos que no estés usando para iniciar una nueva sesión.', error: new Error() }
88
+ }
85
89
 
86
90
  if (userLogin.status !== 'Activo') {
87
91
  throw { code: 401, title: 'Usuario inactivo', detail: 'Usuario desactivado por el administrador.', suggestion: 'Pongase en contacto con el área administrativa.', error: new Error(), status: userLogin.status }
@@ -351,7 +355,7 @@ self.sendcodemailLogin = async (email, code, ban) => {
351
355
 
352
356
  self.recoverpassword = async (req, res) => {
353
357
 
354
- const user = await User.findOne({ email: req.body.email })
358
+ const user = await User.findOne({ email: req.body.email , status: {$ne : "Inactivo" } })
355
359
  if (!user) {
356
360
  throw { code: 409, title: 'Usuario no encontrado.', detail: '', suggestion: 'Verifica que el Usuario exista', error: new Error() }
357
361
  }
@@ -363,7 +367,7 @@ self.recoverpassword = async (req, res) => {
363
367
  let time = new Date()
364
368
  const sumarMinutos = new Date(time.getTime() + 5 * 60000)
365
369
  user.validateKey.limitCodeTime = (new Date(sumarMinutos)).getTime()
366
-
370
+
367
371
  await user.save()
368
372
 
369
373
  return true
@@ -435,7 +439,7 @@ self.resetPassword = async (req, res) => {
435
439
  usuario.validateKey.limitCodeTime = null
436
440
  usuario.lastUpdate = new Date().getTime()
437
441
  usuario.tokens = []
438
-
442
+ usuario.status = "Activo"
439
443
  await usuario.save()
440
444
 
441
445
  const token = await usuario.generateAuthToken()
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "aloux-iam",
3
- "version": "0.0.82",
3
+ "version": "0.0.84",
4
4
  "description": "Aloux IAM for APIs ",
5
5
  "main": "index.js",
6
6
  "scripts": {