-
Notifications
You must be signed in to change notification settings - Fork 0
/
app.js
69 lines (67 loc) · 1.77 KB
/
app.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
var unirest = require('unirest');
var hookUrl = "https://webaroo-mobile-verification.p.mashape.com/mobileVerification";
module.exports = function(apikey) {
if (!isValidAPIKey(apikey)) {
throw new Error("No valid API Key!");
}
return {
sendOTP: function(phone, cb){
var url = hookUrl +"?"+
"phone="+phone
unirest.get(url)
.header("X-Mashape-Key", apikey)
.header("Accept", "application/json")
.end(function (response) {
if (response.status == 200){
cb({
getAPIKey: function() {
return apikey;
},
getNumber: function() {
return phone;
},
success: function() {
return JSON.parse(response.body).status;
},
showResponse: function() {
return JSON.parse(response.body).data;
}
});
} else {
cb(false);
}
});
},
verifyOTP: function(phone, OTP, cb) {
unirest.get(hookUrl+"?"+
"code="+ OTP +
"&phone="+ phone)
.header("X-Mashape-Key", apikey)
.header("Accept", "application/json")
.end(function (response) {
if (response.status == 200){
cb({
getAPIKey: function() {
return apikey;
},
getNumber: function() {
return phone;
},
success: function() {
return JSON.parse(response.body).status;
},
showResponse: function() {
return JSON.parse(response.body).data;
}
});
} else {
cb(false);
}
});
}
}
}
function isValidAPIKey(apikey) {
var regex = /^[a-zA-Z0-9]{50}$/g;
return regex.test(apikey);
}