UNPKG

@msg91comm/otp

Version:

Package for sending OTP with msg91.

117 lines (116 loc) 4.58 kB
"use strict"; 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;