aloux-iam 0.0.51 → 0.0.52
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.
- package/lib/controllers/auth.js +1 -1
- package/lib/models/UserProvisional.js +11 -0
- package/lib/services/auth.js +35 -21
- package/package.json +1 -1
package/lib/controllers/auth.js
CHANGED
|
@@ -6,7 +6,7 @@ const self = module.exports
|
|
|
6
6
|
self.email = async (req, res) => {
|
|
7
7
|
try {
|
|
8
8
|
const response = await Auth.searchEmail(req.body.email, req.body.code)
|
|
9
|
-
res.status(
|
|
9
|
+
res.status(response.statusCode).send({email: response.email, _id: response._id})
|
|
10
10
|
} catch (error) {
|
|
11
11
|
await utils.responseError(res,error)
|
|
12
12
|
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
const mongoose = require("mongoose")
|
|
2
|
+
|
|
3
|
+
const userProvisional = mongoose.Schema({
|
|
4
|
+
email: { type: String, required: true, trim: true, unique: true, lowercase: true },
|
|
5
|
+
code: { type: Number, required: true },
|
|
6
|
+
createdAt: { type: Number },
|
|
7
|
+
lastUpdate: { type: Number }
|
|
8
|
+
})
|
|
9
|
+
|
|
10
|
+
const UserProvisional = mongoose.model("UserProvisional", userProvisional)
|
|
11
|
+
module.exports = UserProvisional
|
package/lib/services/auth.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
const Function = require('../models/Functions')
|
|
2
2
|
const User = require('../models/User')
|
|
3
|
+
const UserProvisional = require('../models/UserProvisional')
|
|
3
4
|
const s3 = require('../services/s3')
|
|
4
5
|
const ses = require('../services/ses')
|
|
5
6
|
const sns = require('../services/sns')
|
|
@@ -13,27 +14,40 @@ const mongoose = require("mongoose")
|
|
|
13
14
|
const self = module.exports
|
|
14
15
|
|
|
15
16
|
self.searchEmail = async (email, banCode) => {
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
17
|
+
let response = {}
|
|
18
|
+
let code
|
|
19
|
+
const userLogin = await User.findOne({ email: email })
|
|
20
|
+
if (userLogin) {
|
|
21
|
+
response.name = userLogin.name
|
|
22
|
+
response.email = true
|
|
23
|
+
code = await self.generatecode()
|
|
24
|
+
await self.sendcodemailLogin(userLogin.email, code, false)
|
|
25
|
+
userLogin.validateKey.resetPassword.resetCode = code
|
|
26
|
+
let time = new Date()
|
|
27
|
+
const sumarMinutos = new Date(time.getTime() + 5 * 60000)
|
|
28
|
+
userLogin.validateKey.limitCodeTime = (new Date(sumarMinutos)).getTime()
|
|
29
|
+
|
|
30
|
+
await userLogin.save()
|
|
31
|
+
response.statusCode = 200
|
|
32
|
+
return response
|
|
33
|
+
} else if(banCode.toString() === 'true'){
|
|
34
|
+
code = await self.generatecode()
|
|
35
|
+
await self.sendcodemailLogin(email, code, true)
|
|
36
|
+
const userFind = await UserProvisional.findOne({email: email},{code: 0}).lean()
|
|
37
|
+
if(userFind){
|
|
38
|
+
await UserProvisional.updateOne({email: email},{code: code})
|
|
39
|
+
response = userFind
|
|
40
|
+
response.statusCode = 201
|
|
41
|
+
return response
|
|
42
|
+
}else{
|
|
43
|
+
const userProvisional = new UserProvisional({email: email, code: code, createdAt: (new Date()).getTime()})
|
|
44
|
+
response = await userProvisional.save()
|
|
45
|
+
response.statusCode = 201
|
|
46
|
+
return response
|
|
47
|
+
}
|
|
48
|
+
} else {
|
|
49
|
+
throw { code: 404, title: 'Correo no encontrado', detail: '', suggestion: 'Verifica que el correo sea correcto', error: new Error() }
|
|
50
|
+
}
|
|
37
51
|
}
|
|
38
52
|
|
|
39
53
|
self.login = async (body, res) => {
|