ggez-banking-sdk
Version:
A Node.js package to handle GGEZ Banking API endpoints, Simplify the process of managing CRUD operations with this efficient and easy-to-use package.
303 lines (302 loc) • 11.7 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.useVerifyAndConfirm = void 0;
const token_1 = require("./token");
const dataStructure_1 = __importDefault(require("../helper/dataStructure"));
const restApi_1 = __importDefault(require("../restApi"));
const helper_1 = __importDefault(require("../helper"));
const useVerifyAndConfirm = (userInfo, tokenData, baseUrl, nodeUrl, programId, geoCoordinates, token, userId, lang) => {
const { dataValidate, dataSecurity } = (0, dataStructure_1.default)();
const { dataConfirmEmail, dataConfirmPhone, dataISEmailUsed, dataIsPhoneUsed, dataValidatePhone, dataVerifyEmail, dataVerifyPhone, dataSendOTPEmail, dataSendOTPPhone, dataValidateForgetPassword, dataConfirmForgetPassword, } = dataValidate();
const { CreateLimitedToken } = (0, token_1.useToken)(userInfo, nodeUrl, programId, "", geoCoordinates);
const { checkResponse, headerConfig } = (0, helper_1.default)(userInfo);
const { checkGlobalResponse, errorHandler } = checkResponse();
const headerConfigVerify = async () => {
let token;
let { message, response, status } = await CreateLimitedToken(tokenData);
if (status == "success") {
token = response?.data?.access_token;
}
else {
errorHandler(message, "SignUpApi", response);
}
let headersData = {
header: true,
isUrlEncoded: false,
token: token,
lang: lang,
};
let headers = headerConfig(headersData);
return headers;
};
const headerConfigUser = async () => {
let headersData = {
header: true,
isUrlEncoded: false,
token: token,
lang: lang,
};
let headers = headerConfig(headersData);
return headers;
};
const ValidateLimitedPhone = async (values) => {
let data = dataValidatePhone({ ...values, geoCoordinates: geoCoordinates });
try {
const response = await restApi_1.default.restApi(baseUrl, "POST", `v1/limited/security/validate`, await headerConfigVerify(), data);
checkGlobalResponse("verify", response, "ValidateLimitedPhone", "verify");
return {
response: response,
newUser: {},
message: "",
status: "success",
};
}
catch (error) {
return {
response: error.response,
newUser: null,
message: error.message,
status: "failed",
};
}
};
const VerifyLimitedEmail = async (values) => {
let data = dataVerifyEmail({ ...values, geoCoordinates: geoCoordinates });
try {
const response = await restApi_1.default.restApi(baseUrl, "POST", `v1/limited/security/verify`, await headerConfigVerify(), data);
checkGlobalResponse("verify", response, "VerifyLimitedEmail", "verify");
return {
response: response,
newUser: {},
message: "Verification Code Message Sent Successfully",
status: "success",
};
}
catch (error) {
return {
response: error.response,
newUser: null,
message: error.message,
status: "failed",
};
}
};
const VerifyLimitedPhone = async (values) => {
let data = dataVerifyPhone({ ...values, geoCoordinates: geoCoordinates });
try {
const response = await restApi_1.default.restApi(baseUrl, "POST", `v1/limited/security/verify`, await headerConfigVerify(), data);
checkGlobalResponse("verify", response, "VerifyLimitedPhone", "verify");
return {
response: response,
newUser: {},
message: "Verification Code Message Sent Successfully",
status: "success",
};
}
catch (error) {
return {
response: error.response,
newUser: null,
message: error.message,
status: "failed",
};
}
};
const SendOTPEmail = async (values) => {
let data = dataSendOTPEmail({ ...values, geoCoordinates: geoCoordinates });
try {
const response = await restApi_1.default.restApi(baseUrl, "POST", `v1/user/security/verify/${userId}`, await headerConfigUser(), data);
checkGlobalResponse("verify", response, "SendOTPEmail", "verify");
return {
response: response,
newUser: null,
message: response?.data?.result?.message,
status: "success",
};
}
catch (error) {
return {
response: error.response,
newUser: null,
message: error.message,
status: "failed",
};
}
};
const SendOTPPhone = async (values) => {
let data = dataSendOTPPhone({ ...values, geoCoordinates: geoCoordinates });
try {
const response = await restApi_1.default.restApi(baseUrl, "POST", `v1/user/security/verify/${userId}`, await headerConfigUser(), data);
checkGlobalResponse("verify", response, "SendOTPPhone", "verify");
return {
response: response,
newUser: null,
message: response?.data?.result?.message,
status: "success",
};
}
catch (error) {
return {
response: error.response,
newUser: null,
message: error.message,
status: "failed",
};
}
};
const ConfirmLimitedEmail = async (values) => {
let data = dataConfirmEmail({ ...values, geoCoordinates: geoCoordinates });
try {
const response = await restApi_1.default.restApi(baseUrl, "POST", `v1/limited/security/confirm`, await headerConfigVerify(), data);
checkGlobalResponse("confirm", response, "ConfirmLimitedEmail", undefined);
return {
response: response,
newUser: {},
message: response?.data?.result?.message ?? "Email Confirmed Successfully",
status: "success",
};
}
catch (error) {
return {
response: error.response,
newUser: null,
message: error.message,
status: "failed",
};
}
};
const ConfirmLimitedPhone = async (values) => {
let data = dataConfirmPhone({ ...values, geoCoordinates: geoCoordinates });
try {
const response = await restApi_1.default.restApi(baseUrl, "POST", `v1/limited/security/confirm`, await headerConfigVerify(), data);
checkGlobalResponse("confirm", response, "ConfirmLimitedPhone", undefined);
return {
response: response,
newUser: {},
message: response?.data?.result?.message ?? "Phone Confirmed Successfully",
status: "success",
};
}
catch (error) {
return {
response: error.response,
newUser: null,
message: error.message,
status: "failed",
};
}
};
const IsEmailUsed = async (values) => {
let data = dataISEmailUsed({ ...values, geoCoordinates: geoCoordinates });
try {
let headers = await headerConfigVerify();
const response = await restApi_1.default.restApi(baseUrl, "POST", `v1/limited/security/validate`, headers, data);
checkGlobalResponse("verify", response, "IsEmailUsed", "verify");
return {
response: response,
newUser: {},
message: "",
status: "success",
};
}
catch (error) {
return {
response: error.response,
newUser: null,
message: error.message,
status: "failed",
};
}
};
const IsPhoneUsed = async (values) => {
let data = dataIsPhoneUsed({ ...values, geoCoordinates: geoCoordinates });
try {
let headers = await headerConfigVerify();
const response = await restApi_1.default.restApi(baseUrl, "POST", `v1/limited/security/validate`, headers, data);
checkGlobalResponse("verify", response, "IsPhoneUsed", "verify");
return {
response: response,
newUser: {},
message: "",
status: "success",
};
}
catch (error) {
return {
response: error.response,
newUser: null,
message: error.message,
status: "failed",
};
}
};
const forgetPasswordValidate = async (values) => {
let data = dataValidateForgetPassword({
...values,
geoCoordinates: geoCoordinates,
});
try {
let headers = await headerConfigVerify();
const response = await restApi_1.default.restApi(baseUrl, "POST", `v1/limited/security/forget/validate`, headers, data);
let { newUserInfo } = checkGlobalResponse("forget", response, "forgetPasswordValidate", "forgetValidate");
return {
response: response,
newUser: newUserInfo,
message: response?.data?.result?.message ??
"Forget password validate successfully",
status: "success",
};
}
catch (error) {
return {
response: error.response,
newUser: null,
message: error.message,
status: "failed",
};
}
};
const forgetPasswordConfirm = async (values) => {
let data = dataConfirmForgetPassword({
...values,
geoCoordinates: geoCoordinates,
});
try {
let headers = await headerConfigVerify();
const response = await restApi_1.default.restApi(baseUrl, "POST", `v1/limited/security/forget/confirm`, headers, data);
let { newUserInfo } = checkGlobalResponse("forget", response, "forgetPasswordConfirm", "forgetConfirm");
return {
response: response,
newUser: newUserInfo,
message: response?.data?.result?.message ??
"Forget password confirm successfully",
status: "success",
};
}
catch (error) {
return {
response: error.response,
newUser: null,
message: error.message,
status: "failed",
};
}
};
return {
ValidateLimitedPhone,
VerifyLimitedEmail,
VerifyLimitedPhone,
ConfirmLimitedEmail,
ConfirmLimitedPhone,
IsEmailUsed,
IsPhoneUsed,
SendOTPEmail,
SendOTPPhone,
forgetPasswordValidate,
forgetPasswordConfirm,
};
};
exports.useVerifyAndConfirm = useVerifyAndConfirm;