@msg91comm/otp
Version:
Package for sending OTP with msg91.
117 lines (116 loc) • 4.58 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.OTP = void 0;
var axios_1 = require("axios");
var OTP = /** @class */ (function () {
function OTP(mobileNumber, templateId, authToken) {
this.mobileNumber = mobileNumber;
this.templateId = templateId;
this.authToken = authToken;
}
OTP.prototype.send = function () {
var _this = this;
return new Promise(function (resolve, reject) {
var _a;
var url = new URL("https://api.msg91.com/api/v5/otp");
url.searchParams.append("template_id", _this.templateId);
url.searchParams.append("mobile", (_a = _this.mobileNumber) === null || _a === void 0 ? void 0 : _a.toString());
url.searchParams.append("tokenAuth", _this.authToken);
var config = {
method: 'post',
url: url.toString()
};
(0, axios_1.default)(config)
.then(function (_a) {
var data = _a.data;
var message = data.message, type = data.type;
switch (type) {
case "success":
return resolve({ message: message });
break;
case "error":
return reject({ message: message });
break;
default:
return resolve(data);
break;
}
})
.catch(function (error) {
return reject(error);
});
});
};
OTP.prototype.retry = function (type) {
var _this = this;
if (type === void 0) { type = "text"; }
return new Promise(function (resolve, reject) {
var _a;
var url = new URL("https://api.msg91.com/api/v5/otp/retry");
url.searchParams.append("retrytype", type);
url.searchParams.append("mobile", (_a = _this.mobileNumber) === null || _a === void 0 ? void 0 : _a.toString());
url.searchParams.append("tokenAuth", _this.authToken);
var config = {
method: 'post',
url: url.toString()
};
(0, axios_1.default)(config)
.then(function (_a) {
var data = _a.data, status = _a.status;
var message = data.message, type = data.type;
switch (type) {
case "success":
return resolve({ message: message });
break;
case "error":
return reject({ message: message });
break;
default:
return resolve(data);
break;
}
})
.catch(function (error) {
return reject(error);
});
});
};
OTP.prototype.verify = function (otp) {
var _this = this;
return new Promise(function (resolve, reject) {
var _a;
if (!otp) {
return reject(new Error("Provide OTP to verify"));
}
var url = new URL("https://api.msg91.com/api/v5/otp/verify");
url.searchParams.append("otp", otp);
url.searchParams.append("mobile", (_a = _this.mobileNumber) === null || _a === void 0 ? void 0 : _a.toString());
url.searchParams.append("tokenAuth", _this.authToken);
var config = {
method: 'post',
url: url.toString(),
};
(0, axios_1.default)(config)
.then(function (_a) {
var data = _a.data, status = _a.status;
var message = data.message, type = data.type;
switch (type) {
case "success":
return resolve({ message: message });
break;
case "error":
return reject({ message: message });
break;
default:
return resolve(data);
break;
}
})
.catch(function (error) {
return reject(error);
});
});
};
return OTP;
}());
exports.OTP = OTP;