aeremmiddleware 1.0.5 → 1.0.7
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/dist/Finance/idfy.js +17 -9
- package/dist/Finance/idfy.js.map +1 -1
- package/dist/Finance/index.d.ts +6 -0
- package/dist/Finance/index.js +6 -0
- package/dist/Finance/index.js.map +1 -1
- package/dist/Finance/qbrik.d.ts +88 -0
- package/dist/Finance/qbrik.js +463 -0
- package/dist/Finance/qbrik.js.map +1 -0
- package/dist/Finance/qbrik.types.d.ts +76 -0
- package/dist/Finance/qbrik.types.js +3 -0
- package/dist/Finance/qbrik.types.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/package.json +1 -1
- package/src/Finance/idfy.ts +24 -16
- package/src/Finance/index.ts +6 -0
- package/src/Finance/qbrik.ts +760 -0
- package/src/Finance/qbrik.types.ts +81 -0
- package/dist/Socials/message.d.ts +0 -26
- package/dist/Socials/message.js +0 -212
- package/dist/Socials/message.js.map +0 -1
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
export interface LoginDetails {
|
|
2
|
+
username: string;
|
|
3
|
+
password: string;
|
|
4
|
+
version?: string;
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
export interface CustomerDetails {
|
|
8
|
+
enrollment_date: string;
|
|
9
|
+
legal_name: string;
|
|
10
|
+
date_of_incorporation: string;
|
|
11
|
+
branch_code: string;
|
|
12
|
+
branch_name: string;
|
|
13
|
+
client_type: string;
|
|
14
|
+
institutional_type: string;
|
|
15
|
+
identity_proof_type: string;
|
|
16
|
+
identity_proof_number: string;
|
|
17
|
+
identity_proof_is_primary: string;
|
|
18
|
+
identity_proof_is_address_proof: string;
|
|
19
|
+
identity_proof_is_id_proof: string;
|
|
20
|
+
identity_proof_is_address_proof_primary: string;
|
|
21
|
+
identity_proof_is_id_proof_primary: string;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
export interface MasterListInput {
|
|
25
|
+
name_0: string;
|
|
26
|
+
name_1?: string;
|
|
27
|
+
name_2?: string;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
export interface EntityPayload {
|
|
31
|
+
entity_no: string;
|
|
32
|
+
identity_proof_type: string;
|
|
33
|
+
identity_proof_number: string;
|
|
34
|
+
identity_proof_is_id_proof: string;
|
|
35
|
+
identity_proof_is_id_proof_primary: string;
|
|
36
|
+
identity_proof_is_address_proof: string;
|
|
37
|
+
transaction_id: string;
|
|
38
|
+
identity_proof_is_address_proof_primary: string;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
export interface ApproveData {
|
|
42
|
+
account_no: string;
|
|
43
|
+
approved_loan_amount: string;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
export interface AssociateDetails {
|
|
47
|
+
account_no: string;
|
|
48
|
+
associate_type: string;
|
|
49
|
+
associate_entity_no?: string;
|
|
50
|
+
associate_relation?: string;
|
|
51
|
+
associate_legal_name?: string;
|
|
52
|
+
associate_alias?: string;
|
|
53
|
+
associate_date_of_birth?: string;
|
|
54
|
+
associate_gender?: string;
|
|
55
|
+
associate_occupation?: string;
|
|
56
|
+
associate_father_name?: string;
|
|
57
|
+
associate_telephone?: string;
|
|
58
|
+
associate_education_level?: string;
|
|
59
|
+
associate_marital_status?: string;
|
|
60
|
+
auto_create_area?: string;
|
|
61
|
+
associate_address_residence_state_name?: string;
|
|
62
|
+
associate_address_residence_district_name?: string;
|
|
63
|
+
associate_address_residence_block_name?: string;
|
|
64
|
+
associate_address_residence_area_name?: string;
|
|
65
|
+
associate_address_residence_pincode?: string;
|
|
66
|
+
associate_address_residence_address?: string;
|
|
67
|
+
associate_address_office_address?: string;
|
|
68
|
+
associate_address_office_state_name?: string;
|
|
69
|
+
associate_address_office_district_name?: string;
|
|
70
|
+
associate_address_office_block_name?: string;
|
|
71
|
+
associate_address_office_area_name?: string;
|
|
72
|
+
associate_address_office_pincode?: string;
|
|
73
|
+
associate_bank_details_bank_name?: string;
|
|
74
|
+
associate_bank_details_branch_name?: string;
|
|
75
|
+
associate_bank_details_IFSCCode?: string;
|
|
76
|
+
associate_bank_details_account_no?: string;
|
|
77
|
+
associate_bank_details_account_type?: string;
|
|
78
|
+
associate_bank_details_beneficiary_name?: string;
|
|
79
|
+
associate_bank_details_is_primary?: string;
|
|
80
|
+
associate_comment?: string;
|
|
81
|
+
}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { DemoBody, EmiReminderAug2023, SmsDemoBody, WhatsAppTemplateDemoBody } from "./Whatsapp.types";
|
|
2
|
-
declare class MessageSender {
|
|
3
|
-
private exotelSid;
|
|
4
|
-
private exotelToken;
|
|
5
|
-
private exotelApiKey;
|
|
6
|
-
private whatsappApiUrl;
|
|
7
|
-
private smsUrl;
|
|
8
|
-
private provider;
|
|
9
|
-
constructor(payload: {
|
|
10
|
-
exotelSid: string;
|
|
11
|
-
exotelToken: string;
|
|
12
|
-
exotelApiKey: string;
|
|
13
|
-
provider: string;
|
|
14
|
-
});
|
|
15
|
-
getTemplates(): Promise<any>;
|
|
16
|
-
getUniquePlaceholderCount(str: string): number;
|
|
17
|
-
validateTemplatePayload(template: EmiReminderAug2023, payload: any): true | undefined;
|
|
18
|
-
testType(obj: DemoBody): boolean;
|
|
19
|
-
private sendMessage;
|
|
20
|
-
private sendTemplateMessage;
|
|
21
|
-
private sendOtpMessage;
|
|
22
|
-
sendOtpSms(obj: SmsDemoBody): Promise<boolean>;
|
|
23
|
-
sendWhatsAppMessage(obj: DemoBody): Promise<boolean>;
|
|
24
|
-
sendWhatsappTemplateMessage(obj: WhatsAppTemplateDemoBody): Promise<boolean>;
|
|
25
|
-
}
|
|
26
|
-
export default MessageSender;
|
package/dist/Socials/message.js
DELETED
|
@@ -1,212 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
-
};
|
|
14
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
const axios_1 = __importDefault(require("axios"));
|
|
16
|
-
const Whatsapp_types_1 = require("./Whatsapp.types");
|
|
17
|
-
class MessageSender {
|
|
18
|
-
constructor(payload) {
|
|
19
|
-
const { exotelSid, exotelToken, exotelApiKey, provider } = payload;
|
|
20
|
-
this.exotelSid = exotelSid;
|
|
21
|
-
this.exotelToken = exotelToken;
|
|
22
|
-
this.exotelApiKey = exotelApiKey;
|
|
23
|
-
this.provider = provider;
|
|
24
|
-
if (this.provider === Whatsapp_types_1.Provider.EXOTEL) {
|
|
25
|
-
this.whatsappApiUrl = `https://${exotelApiKey}:${exotelToken}@api.exotel.com/v2/accounts/${exotelSid}/messages`;
|
|
26
|
-
this.smsUrl = `https://${exotelApiKey}:${exotelToken}@api.exotel.com/v1/Accounts/${exotelSid}/Sms/send`;
|
|
27
|
-
}
|
|
28
|
-
else if (this.provider === Whatsapp_types_1.Provider.GUPSHUP) {
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
getTemplates() {
|
|
32
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
33
|
-
const request = yield axios_1.default.get(`https://${this.exotelApiKey}:${this.exotelToken}@api.exotel.com/v2/accounts/${this.exotelSid}/templates?waba_id=114033855070320`);
|
|
34
|
-
return request.data.response.whatsapp.templates;
|
|
35
|
-
});
|
|
36
|
-
}
|
|
37
|
-
getUniquePlaceholderCount(str) {
|
|
38
|
-
const arr = [];
|
|
39
|
-
str.split("{{").map((s) => arr.push(...s.split("}}")));
|
|
40
|
-
const placeholders = arr.filter((i) => i.match(/[0-9]+/) && !isNaN(Number(i)));
|
|
41
|
-
return [...new Set(placeholders)].length;
|
|
42
|
-
}
|
|
43
|
-
validateTemplatePayload(template, payload) {
|
|
44
|
-
const templateComponents = template.data.components;
|
|
45
|
-
if (templateComponents.length != 2) {
|
|
46
|
-
return;
|
|
47
|
-
}
|
|
48
|
-
const [headerTemplate, bodyTemplate] = templateComponents;
|
|
49
|
-
for (let index = 0; index < payload.whatsapp.messages.length; index++) {
|
|
50
|
-
const message = payload.whatsapp.messages[index];
|
|
51
|
-
const payloadComponents = message.content.template.components;
|
|
52
|
-
for (let index2 = 0; index2 < payloadComponents.length; index2++) {
|
|
53
|
-
const payloadComponent = payloadComponents[index2];
|
|
54
|
-
if (payloadComponent.type === headerTemplate.type.toLowerCase()) {
|
|
55
|
-
const headerPlaceholdersCount = this.getUniquePlaceholderCount(headerTemplate.text);
|
|
56
|
-
if (payloadComponent.parameters.length != headerPlaceholdersCount) {
|
|
57
|
-
console.log("invalid header");
|
|
58
|
-
throw new Error("header count mismatch");
|
|
59
|
-
}
|
|
60
|
-
else {
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
else if (payloadComponent.type === bodyTemplate.type.toLowerCase()) {
|
|
64
|
-
const bodyPlaceholdersCount = this.getUniquePlaceholderCount(bodyTemplate.text);
|
|
65
|
-
if (payloadComponent.parameters.length != bodyPlaceholdersCount) {
|
|
66
|
-
console.log("invalid body");
|
|
67
|
-
throw new Error("body count mismatch");
|
|
68
|
-
}
|
|
69
|
-
else {
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
else
|
|
73
|
-
throw new Error("type mismatch or incorrect");
|
|
74
|
-
}
|
|
75
|
-
return true;
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
testType(obj) {
|
|
79
|
-
let returnValue = true;
|
|
80
|
-
obj.whatsapp.messages.every((message) => {
|
|
81
|
-
var _a, _b, _c, _d, _e;
|
|
82
|
-
returnValue =
|
|
83
|
-
Boolean(((_a = message === null || message === void 0 ? void 0 : message.content) === null || _a === void 0 ? void 0 : _a.type) === "text" && message.content.text) ||
|
|
84
|
-
Boolean(((_b = message === null || message === void 0 ? void 0 : message.content) === null || _b === void 0 ? void 0 : _b.type) === "document" && message.content.document) ||
|
|
85
|
-
Boolean(((_c = message === null || message === void 0 ? void 0 : message.content) === null || _c === void 0 ? void 0 : _c.type) === "image" && message.content.image) ||
|
|
86
|
-
Boolean(((_d = message === null || message === void 0 ? void 0 : message.content) === null || _d === void 0 ? void 0 : _d.type) === "video" && message.content.video) ||
|
|
87
|
-
Boolean(((_e = message === null || message === void 0 ? void 0 : message.content) === null || _e === void 0 ? void 0 : _e.type) === "template" && message.content.template);
|
|
88
|
-
return returnValue;
|
|
89
|
-
});
|
|
90
|
-
return returnValue;
|
|
91
|
-
}
|
|
92
|
-
sendMessage(messageData) {
|
|
93
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
94
|
-
try {
|
|
95
|
-
let config = {
|
|
96
|
-
method: "post",
|
|
97
|
-
maxBodyLength: Infinity,
|
|
98
|
-
url: this.whatsappApiUrl,
|
|
99
|
-
headers: {
|
|
100
|
-
"Content-Type": "application/json",
|
|
101
|
-
},
|
|
102
|
-
data: JSON.stringify(messageData),
|
|
103
|
-
};
|
|
104
|
-
const response = yield axios_1.default.request(config);
|
|
105
|
-
if (response.data.metadata && response.data.metadata.success != 0) {
|
|
106
|
-
console.log("WhatsApp message sent successfully:", response.data);
|
|
107
|
-
return true;
|
|
108
|
-
}
|
|
109
|
-
else {
|
|
110
|
-
console.error("Error sending WhatsApp message:", response.data);
|
|
111
|
-
return false;
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
catch (error) {
|
|
115
|
-
console.error("Error sending WhatsApp message:", error);
|
|
116
|
-
return false;
|
|
117
|
-
}
|
|
118
|
-
});
|
|
119
|
-
}
|
|
120
|
-
sendTemplateMessage(messageData) {
|
|
121
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
122
|
-
try {
|
|
123
|
-
const config = {
|
|
124
|
-
method: "post",
|
|
125
|
-
maxBodyLength: Infinity,
|
|
126
|
-
url: this.whatsappApiUrl,
|
|
127
|
-
headers: {
|
|
128
|
-
"Content-Type": "application/json",
|
|
129
|
-
},
|
|
130
|
-
data: JSON.stringify(messageData),
|
|
131
|
-
};
|
|
132
|
-
const response = yield axios_1.default.request(config);
|
|
133
|
-
if (response.data.metadata && response.data.metadata.success !== 0) {
|
|
134
|
-
console.log("WhatsApp template message sent successfully:", response.data);
|
|
135
|
-
return true;
|
|
136
|
-
}
|
|
137
|
-
else {
|
|
138
|
-
console.error("Error sending WhatsApp template message:", response.data);
|
|
139
|
-
return false;
|
|
140
|
-
}
|
|
141
|
-
}
|
|
142
|
-
catch (error) {
|
|
143
|
-
console.error("Error sending WhatsApp template message:", error);
|
|
144
|
-
return false;
|
|
145
|
-
}
|
|
146
|
-
});
|
|
147
|
-
}
|
|
148
|
-
sendOtpMessage(messageData) {
|
|
149
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
150
|
-
if (messageData.To && messageData.Body) {
|
|
151
|
-
if (messageData.Body.length != 6) {
|
|
152
|
-
throw new Error("Please enter 6 digit number");
|
|
153
|
-
}
|
|
154
|
-
}
|
|
155
|
-
else
|
|
156
|
-
throw new Error("All input data not found");
|
|
157
|
-
const bodyFormData = new FormData();
|
|
158
|
-
const smsTemplateMsg = "Your OTP for AEREMS login is %d. This %d will expire in 10 minutes.";
|
|
159
|
-
bodyFormData.append("To", messageData.To);
|
|
160
|
-
bodyFormData.append("From", "AEREM");
|
|
161
|
-
bodyFormData.append("Body", smsTemplateMsg.replace(/%d/g, messageData.Body));
|
|
162
|
-
bodyFormData.append("EncodingType", "plain");
|
|
163
|
-
bodyFormData.append("DltEntityId", "1301164059765333889");
|
|
164
|
-
bodyFormData.append("DltTemplateId", "1307164663997173809");
|
|
165
|
-
bodyFormData.append("SmsType", "transactional");
|
|
166
|
-
try {
|
|
167
|
-
let config = {
|
|
168
|
-
method: "post",
|
|
169
|
-
maxBodyLength: Infinity,
|
|
170
|
-
url: this.smsUrl,
|
|
171
|
-
headers: {
|
|
172
|
-
"Content-Type": "multipart/form-data",
|
|
173
|
-
},
|
|
174
|
-
data: bodyFormData,
|
|
175
|
-
};
|
|
176
|
-
yield axios_1.default.request(config);
|
|
177
|
-
return true;
|
|
178
|
-
}
|
|
179
|
-
catch (error) {
|
|
180
|
-
console.error("Error sending sms:", error);
|
|
181
|
-
return false;
|
|
182
|
-
}
|
|
183
|
-
});
|
|
184
|
-
}
|
|
185
|
-
sendOtpSms(obj) {
|
|
186
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
187
|
-
return this.sendOtpMessage(obj);
|
|
188
|
-
});
|
|
189
|
-
}
|
|
190
|
-
sendWhatsAppMessage(obj) {
|
|
191
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
192
|
-
if (this.testType(obj))
|
|
193
|
-
return this.sendMessage(obj);
|
|
194
|
-
else
|
|
195
|
-
return false;
|
|
196
|
-
});
|
|
197
|
-
}
|
|
198
|
-
sendWhatsappTemplateMessage(obj) {
|
|
199
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
200
|
-
let templatevalue = yield this.getTemplates();
|
|
201
|
-
let tempVariable = obj.whatsapp.messages[0].content.template.name;
|
|
202
|
-
let template = templatevalue.find((e) => e.data.name == tempVariable);
|
|
203
|
-
if (this.validateTemplatePayload(template, obj)) {
|
|
204
|
-
return this.sendTemplateMessage(obj);
|
|
205
|
-
}
|
|
206
|
-
else
|
|
207
|
-
return false;
|
|
208
|
-
});
|
|
209
|
-
}
|
|
210
|
-
}
|
|
211
|
-
exports.default = MessageSender;
|
|
212
|
-
//# sourceMappingURL=message.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"message.js","sourceRoot":"","sources":["../../src/Socials/message.ts"],"names":[],"mappings":"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"}
|