@optimiser/common 1.0.352 → 1.0.353
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/aws/awsservices.d.ts +39 -39
- package/dist/aws/awsservices.js +398 -398
- package/dist/constants.d.ts +35 -35
- package/dist/constants.js +36 -36
- package/dist/enums/databasetype.enum.d.ts +7 -7
- package/dist/enums/databasetype.enum.js +11 -11
- package/dist/enums/log.enum.d.ts +22 -22
- package/dist/enums/log.enum.js +26 -26
- package/dist/index.d.ts +25 -25
- package/dist/index.js +61 -61
- package/dist/lib/activity.d.ts +1 -1
- package/dist/lib/activity.js +44 -44
- package/dist/lib/calculatedbsize.d.ts +15 -15
- package/dist/lib/calculatedbsize.js +75 -75
- package/dist/lib/connection.d.ts +116 -116
- package/dist/lib/connection.js +595 -595
- package/dist/lib/convertfilesize.d.ts +2 -2
- package/dist/lib/convertfilesize.js +15 -15
- package/dist/lib/countrycode.d.ts +2 -2
- package/dist/lib/countrycode.js +255 -255
- package/dist/lib/event.d.ts +25 -25
- package/dist/lib/event.js +171 -171
- package/dist/lib/helper.d.ts +93 -93
- package/dist/lib/helper.js +1009 -1009
- package/dist/lib/memoryserverclient.d.ts +40 -40
- package/dist/lib/memoryserverclient.js +252 -252
- package/dist/lib/operautilitycommon.d.ts +65 -65
- package/dist/lib/operautilitycommon.js +620 -620
- package/dist/lib/redis.d.ts +21 -21
- package/dist/lib/redis.js +46 -46
- package/dist/lib/socketidfromredis.d.ts +3 -3
- package/dist/lib/socketidfromredis.js +5 -5
- package/dist/lib/taskutils.d.ts +40 -40
- package/dist/lib/taskutils.js +656 -656
- package/dist/lib/utility.d.ts +292 -292
- package/dist/lib/utility.js +5570 -5570
- package/dist/lib/validateRequest.d.ts +3 -3
- package/dist/lib/validateRequest.js +13 -13
- package/dist/logs/auditlog.d.ts +25 -25
- package/dist/logs/auditlog.js +1029 -1029
- package/dist/logs/checklogtable.d.ts +3 -3
- package/dist/logs/checklogtable.js +67 -67
- package/dist/logs/log.table.d.ts +7 -7
- package/dist/logs/log.table.js +127 -127
- package/dist/modals/connection.modal.d.ts +32 -32
- package/dist/modals/connection.modal.js +2 -2
- package/dist/modals/globalNotification.modal.d.ts +8 -8
- package/dist/modals/globalNotification.modal.js +2 -2
- package/dist/modals/log.modal.d.ts +64 -64
- package/dist/modals/log.modal.js +2 -2
- package/dist/modals/mail.modal.d.ts +6 -6
- package/dist/modals/mail.modal.js +2 -2
- package/dist/modals/notificationData.modal.d.ts +29 -29
- package/dist/modals/notificationData.modal.js +2 -2
- package/dist/modals/redisconfig.modal.d.ts +6 -6
- package/dist/modals/redisconfig.modal.js +2 -2
- package/dist/modals/sqsconfig.modal.d.ts +7 -7
- package/dist/modals/sqsconfig.modal.js +2 -2
- package/dist/modals/utility.modal.d.ts +17 -17
- package/dist/modals/utility.modal.js +2 -2
- package/dist/utility/crypto.d.ts +4 -4
- package/dist/utility/crypto.js +43 -43
- package/dist/utility/errorHandler.d.ts +30 -30
- package/dist/utility/errorHandler.js +24 -24
- package/dist/utility/errorHandlerForServices.d.ts +22 -22
- package/dist/utility/errorHandlerForServices.js +19 -19
- package/dist/utility/mail.d.ts +21 -21
- package/dist/utility/mail.js +87 -87
- package/package.json +56 -56
package/dist/logs/auditlog.js
CHANGED
|
@@ -1,1029 +1,1029 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __assign = (this && this.__assign) || function () {
|
|
3
|
-
__assign = Object.assign || function(t) {
|
|
4
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
-
s = arguments[i];
|
|
6
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
-
t[p] = s[p];
|
|
8
|
-
}
|
|
9
|
-
return t;
|
|
10
|
-
};
|
|
11
|
-
return __assign.apply(this, arguments);
|
|
12
|
-
};
|
|
13
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
14
|
-
if (k2 === undefined) k2 = k;
|
|
15
|
-
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
16
|
-
}) : (function(o, m, k, k2) {
|
|
17
|
-
if (k2 === undefined) k2 = k;
|
|
18
|
-
o[k2] = m[k];
|
|
19
|
-
}));
|
|
20
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
21
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
22
|
-
}) : function(o, v) {
|
|
23
|
-
o["default"] = v;
|
|
24
|
-
});
|
|
25
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
26
|
-
if (mod && mod.__esModule) return mod;
|
|
27
|
-
var result = {};
|
|
28
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
29
|
-
__setModuleDefault(result, mod);
|
|
30
|
-
return result;
|
|
31
|
-
};
|
|
32
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
33
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
34
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
35
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
36
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
37
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
38
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
39
|
-
});
|
|
40
|
-
};
|
|
41
|
-
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
42
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
43
|
-
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
44
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
45
|
-
function step(op) {
|
|
46
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
47
|
-
while (_) try {
|
|
48
|
-
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
49
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
50
|
-
switch (op[0]) {
|
|
51
|
-
case 0: case 1: t = op; break;
|
|
52
|
-
case 4: _.label++; return { value: op[1], done: false };
|
|
53
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
54
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
55
|
-
default:
|
|
56
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
57
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
58
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
59
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
60
|
-
if (t[2]) _.ops.pop();
|
|
61
|
-
_.trys.pop(); continue;
|
|
62
|
-
}
|
|
63
|
-
op = body.call(thisArg, _);
|
|
64
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
65
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
66
|
-
}
|
|
67
|
-
};
|
|
68
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
69
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
70
|
-
};
|
|
71
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
72
|
-
exports.createSessionLogs = exports.generateLog = void 0;
|
|
73
|
-
var checklogtable_1 = __importDefault(require("./checklogtable"));
|
|
74
|
-
var constants_1 = __importDefault(require("../constants"));
|
|
75
|
-
var _utility = __importStar(require("../lib/utility"));
|
|
76
|
-
var mongodb_1 = __importDefault(require("mongodb"));
|
|
77
|
-
var promise_allsettled_1 = __importDefault(require("promise.allsettled"));
|
|
78
|
-
var bson_1 = require("bson");
|
|
79
|
-
var utility_1 = require("../lib/utility");
|
|
80
|
-
var log_enum_1 = require("../enums/log.enum");
|
|
81
|
-
/**
|
|
82
|
-
*
|
|
83
|
-
*
|
|
84
|
-
*
|
|
85
|
-
* Created By : Ansh
|
|
86
|
-
* Parameter Required :
|
|
87
|
-
* logobj(log object)
|
|
88
|
-
{
|
|
89
|
-
"EventType":"<TypeOfChange>", Default value: Required value can't be empty type string "Create/Delete/Update"
|
|
90
|
-
"Module":"<ModuleChanged>", Default value: Required value can't be empty type string "Account/Contact/Pipeline"
|
|
91
|
-
"OldValue":"<OldValueObject>", Default value: Required value can't be empty type Object
|
|
92
|
-
"NewValue":"<NewValue>", Default value: Required value can't be empty type object
|
|
93
|
-
}
|
|
94
|
-
* keysToDisplay if you want to display only certain keys in logs object rather than the entire object in a collection
|
|
95
|
-
* req Request (For db refrerence)
|
|
96
|
-
* @param {Request (For Database Reference)} req
|
|
97
|
-
* @param { Log object } logObject
|
|
98
|
-
* @param {if you want to display only certain keys in logs object rather than the entire object in a collection } keysToDisplay
|
|
99
|
-
* @param { Connection to logs database }
|
|
100
|
-
*/
|
|
101
|
-
var generateLog = function (req, logObject, keysToDisplay, logsDbConnetion) {
|
|
102
|
-
if (keysToDisplay === void 0) { keysToDisplay = []; }
|
|
103
|
-
return __awaiter(void 0, void 0, void 0, function () {
|
|
104
|
-
var db, ip, _a, userName, userEmail, companyID, allLogsPromisses, templateStatus, _b, i, oldValue, newValue, comparedObj, i, i, comparedObj, oldObject_1, newObject_1, newObject, oldObject, i, oldObject_2, newObject_2, i, oldObject_3, newObject_3, comparedObj, i, oldObject_4, newObject_4, i, mapedNewObj, mapedOldObj, comparedObj, i, comparedObj, e_1;
|
|
105
|
-
return __generator(this, function (_c) {
|
|
106
|
-
switch (_c.label) {
|
|
107
|
-
case 0:
|
|
108
|
-
_c.trys.push([0, 21, , 22]);
|
|
109
|
-
db = global['dbConnections'][req.DBName];
|
|
110
|
-
return [4 /*yield*/, getIPLocationDetails(req)];
|
|
111
|
-
case 1:
|
|
112
|
-
ip = _c.sent();
|
|
113
|
-
_a = req.cookies.msp_d, userName = _a.username, userEmail = _a.useremail, companyID = _a.ci;
|
|
114
|
-
allLogsPromisses = [];
|
|
115
|
-
templateStatus = void 0;
|
|
116
|
-
return [4 /*yield*/, removeExtraKeys(logObject, keysToDisplay)];
|
|
117
|
-
case 2:
|
|
118
|
-
logObject = (_c.sent());
|
|
119
|
-
_b = logObject.EventType;
|
|
120
|
-
switch (_b) {
|
|
121
|
-
case log_enum_1.EventType.CalendarAdd: return [3 /*break*/, 3];
|
|
122
|
-
case log_enum_1.EventType.CalendarUpdate: return [3 /*break*/, 3];
|
|
123
|
-
case log_enum_1.EventType.CalendarDelete: return [3 /*break*/, 3];
|
|
124
|
-
case log_enum_1.EventType.DriveAdd: return [3 /*break*/, 9];
|
|
125
|
-
case log_enum_1.EventType.DriveUpdate: return [3 /*break*/, 9];
|
|
126
|
-
case log_enum_1.EventType.DriveDelete: return [3 /*break*/, 9];
|
|
127
|
-
case log_enum_1.EventType.ContentStudioAdd: return [3 /*break*/, 15];
|
|
128
|
-
case log_enum_1.EventType.ContentStudioUpdate: return [3 /*break*/, 15];
|
|
129
|
-
case log_enum_1.EventType.ContentStudioDelete: return [3 /*break*/, 15];
|
|
130
|
-
case log_enum_1.EventType.TemplateAdd: return [3 /*break*/, 16];
|
|
131
|
-
case log_enum_1.EventType.TemplateUpdate: return [3 /*break*/, 16];
|
|
132
|
-
case log_enum_1.EventType.TemplateDelete: return [3 /*break*/, 16];
|
|
133
|
-
case log_enum_1.EventType.RecipientListAdd: return [3 /*break*/, 17];
|
|
134
|
-
case log_enum_1.EventType.RecipientListDelete: return [3 /*break*/, 17];
|
|
135
|
-
case log_enum_1.EventType.RecipientListUpdate: return [3 /*break*/, 17];
|
|
136
|
-
case log_enum_1.EventType.SingleRecipientAdded: return [3 /*break*/, 17];
|
|
137
|
-
case log_enum_1.EventType.AddTag: return [3 /*break*/, 18];
|
|
138
|
-
}
|
|
139
|
-
return [3 /*break*/, 19];
|
|
140
|
-
case 3:
|
|
141
|
-
switch (logObject.EventType) {
|
|
142
|
-
case log_enum_1.EventType.CalendarAdd:
|
|
143
|
-
logObject.EventType = log_enum_1.EventType.Add;
|
|
144
|
-
break;
|
|
145
|
-
case log_enum_1.EventType.CalendarUpdate:
|
|
146
|
-
logObject.EventType = log_enum_1.EventType.Update;
|
|
147
|
-
break;
|
|
148
|
-
case log_enum_1.EventType.CalendarDelete:
|
|
149
|
-
logObject.EventType = log_enum_1.EventType.Delete;
|
|
150
|
-
break;
|
|
151
|
-
}
|
|
152
|
-
i = 0;
|
|
153
|
-
_c.label = 4;
|
|
154
|
-
case 4:
|
|
155
|
-
if (!(i < logObject.NewValue.length)) return [3 /*break*/, 8];
|
|
156
|
-
return [4 /*yield*/, mapAttendeesData(logObject.OldValue[i], req)];
|
|
157
|
-
case 5:
|
|
158
|
-
oldValue = _c.sent();
|
|
159
|
-
return [4 /*yield*/, mapAttendeesData(logObject.NewValue[i], req)];
|
|
160
|
-
case 6:
|
|
161
|
-
newValue = _c.sent();
|
|
162
|
-
comparedObj = comparePreviousAndNewObject(oldValue, newValue);
|
|
163
|
-
allLogsPromisses.push(createLogs(companyID, comparedObj.previousObj, comparedObj.updatedObj, logObject.Module, logObject.EventType, logObject.Schema.Fields, userName, userEmail, ip, req, logsDbConnetion));
|
|
164
|
-
_c.label = 7;
|
|
165
|
-
case 7:
|
|
166
|
-
++i;
|
|
167
|
-
return [3 /*break*/, 4];
|
|
168
|
-
case 8:
|
|
169
|
-
;
|
|
170
|
-
promise_allsettled_1.default(allLogsPromisses).then(function (status) { return console.log("Logs Inserted To DataBase", status); });
|
|
171
|
-
return [3 /*break*/, 20];
|
|
172
|
-
case 9:
|
|
173
|
-
switch (logObject.EventType) {
|
|
174
|
-
case log_enum_1.EventType.DriveAdd:
|
|
175
|
-
logObject.EventType = log_enum_1.EventType.Add;
|
|
176
|
-
break;
|
|
177
|
-
case log_enum_1.EventType.DriveUpdate:
|
|
178
|
-
logObject.EventType = log_enum_1.EventType.Update;
|
|
179
|
-
break;
|
|
180
|
-
case log_enum_1.EventType.DriveDelete:
|
|
181
|
-
logObject.EventType = log_enum_1.EventType.Delete;
|
|
182
|
-
break;
|
|
183
|
-
}
|
|
184
|
-
i = 0;
|
|
185
|
-
_c.label = 10;
|
|
186
|
-
case 10:
|
|
187
|
-
if (!(i < logObject.NewValue.length)) return [3 /*break*/, 14];
|
|
188
|
-
return [4 /*yield*/, mapDriveFolderIdToFolderName(logObject.NewValue[i], db)];
|
|
189
|
-
case 11:
|
|
190
|
-
_c.sent();
|
|
191
|
-
return [4 /*yield*/, mapDriveFolderIdToFolderName(logObject.OldValue[i], db)];
|
|
192
|
-
case 12:
|
|
193
|
-
_c.sent();
|
|
194
|
-
allLogsPromisses.push(createLogs(companyID, logObject.OldValue[i], logObject.NewValue[i], logObject.Module, logObject.EventType, logObject.Schema.Fields, userName, userEmail, ip, req, logsDbConnetion));
|
|
195
|
-
_c.label = 13;
|
|
196
|
-
case 13:
|
|
197
|
-
++i;
|
|
198
|
-
return [3 /*break*/, 10];
|
|
199
|
-
case 14:
|
|
200
|
-
;
|
|
201
|
-
promise_allsettled_1.default(allLogsPromisses).then(function (status) { return console.log("Logs Inserted To DataBase", status); });
|
|
202
|
-
return [3 /*break*/, 20];
|
|
203
|
-
case 15:
|
|
204
|
-
switch (logObject.EventType) {
|
|
205
|
-
case log_enum_1.EventType.ContentStudioAdd:
|
|
206
|
-
logObject.EventType = log_enum_1.EventType.Add;
|
|
207
|
-
break;
|
|
208
|
-
case log_enum_1.EventType.ContentStudioUpdate:
|
|
209
|
-
logObject.EventType = log_enum_1.EventType.Update;
|
|
210
|
-
break;
|
|
211
|
-
case log_enum_1.EventType.ContentStudioDelete:
|
|
212
|
-
logObject.EventType = log_enum_1.EventType.Delete;
|
|
213
|
-
break;
|
|
214
|
-
}
|
|
215
|
-
for (i = 0; i < logObject.NewValue.length; ++i) {
|
|
216
|
-
comparedObj = comparePreviousAndNewObject(logObject.OldValue[i], logObject.NewValue[i]);
|
|
217
|
-
oldObject_1 = mapContentStudioObject(comparedObj.previousObj);
|
|
218
|
-
newObject_1 = mapContentStudioObject(comparedObj.updatedObj);
|
|
219
|
-
allLogsPromisses.push(createLogs(companyID, oldObject_1, newObject_1, logObject.Module, logObject.EventType, logObject.Schema.Fields, userName, userEmail, ip, req, logsDbConnetion));
|
|
220
|
-
}
|
|
221
|
-
promise_allsettled_1.default(allLogsPromisses).then(function (status) { return console.log("Logs Inserted To DataBase", status); });
|
|
222
|
-
return [3 /*break*/, 20];
|
|
223
|
-
case 16:
|
|
224
|
-
newObject = void 0;
|
|
225
|
-
oldObject = void 0;
|
|
226
|
-
switch (logObject.EventType) {
|
|
227
|
-
case log_enum_1.EventType.TemplateAdd:
|
|
228
|
-
logObject.EventType = log_enum_1.EventType.Add;
|
|
229
|
-
templateStatus = 'Template Added';
|
|
230
|
-
oldObject = mapTemplateObject(logObject.OldValue[0], '');
|
|
231
|
-
newObject = mapTemplateObject(logObject.NewValue[0], templateStatus);
|
|
232
|
-
break;
|
|
233
|
-
case log_enum_1.EventType.TemplateUpdate:
|
|
234
|
-
logObject.EventType = log_enum_1.EventType.Update;
|
|
235
|
-
templateStatus = 'Template Updated';
|
|
236
|
-
oldObject = mapTemplateObject(logObject.OldValue[0], '');
|
|
237
|
-
newObject = mapTemplateObject(logObject.NewValue[0], templateStatus);
|
|
238
|
-
break;
|
|
239
|
-
case log_enum_1.EventType.TemplateDelete:
|
|
240
|
-
logObject.EventType = log_enum_1.EventType.Update;
|
|
241
|
-
templateStatus = 'Template Deleted';
|
|
242
|
-
oldObject = mapTemplateObject(logObject.OldValue[0], templateStatus);
|
|
243
|
-
newObject = mapTemplateObject(logObject.NewValue[0], '');
|
|
244
|
-
break;
|
|
245
|
-
}
|
|
246
|
-
allLogsPromisses.push(createLogs(companyID, oldObject, newObject, logObject.Module, logObject.EventType, logObject.Schema.Fields, userName, userEmail, ip, req, logsDbConnetion));
|
|
247
|
-
return [3 /*break*/, 20];
|
|
248
|
-
case 17:
|
|
249
|
-
switch (logObject.EventType) {
|
|
250
|
-
case log_enum_1.EventType.RecipientListAdd:
|
|
251
|
-
logObject.EventType = log_enum_1.EventType.Add;
|
|
252
|
-
status = 'Recipient List Added';
|
|
253
|
-
for (i = 0; i < logObject.NewValue.length; i++) {
|
|
254
|
-
oldObject_2 = {};
|
|
255
|
-
newObject_2 = mapRecipientList(logObject.NewValue[i], status);
|
|
256
|
-
allLogsPromisses.push(createLogs(companyID, oldObject_2, newObject_2, logObject.Module, logObject.EventType, logObject.Schema.Fields, userName, userEmail, ip, req, logsDbConnetion));
|
|
257
|
-
}
|
|
258
|
-
promise_allsettled_1.default(allLogsPromisses).then(function (status) { return console.log("Logs Inserted To DataBase", status); });
|
|
259
|
-
break;
|
|
260
|
-
case log_enum_1.EventType.SingleRecipientAdded:
|
|
261
|
-
logObject.EventType = log_enum_1.EventType.Add;
|
|
262
|
-
status = 'Recipient Added';
|
|
263
|
-
for (i = 0; i < logObject.NewValue.length; i++) {
|
|
264
|
-
oldObject_3 = logObject.OldValue[i];
|
|
265
|
-
oldObject_3 = mapRecipientList(logObject.OldValue[i], '');
|
|
266
|
-
newObject_3 = mapRecipientList(logObject.NewValue[i], status);
|
|
267
|
-
comparedObj = comparePreviousAndNewObject(oldObject_3, newObject_3);
|
|
268
|
-
allLogsPromisses.push(createLogs(companyID, comparedObj.previousObj, comparedObj.updatedObj, logObject.Module, logObject.EventType, logObject.Schema.Fields, userName, userEmail, ip, req, logsDbConnetion));
|
|
269
|
-
}
|
|
270
|
-
promise_allsettled_1.default(allLogsPromisses).then(function (status) { return console.log("Logs Inserted To DataBase", status); });
|
|
271
|
-
break;
|
|
272
|
-
case log_enum_1.EventType.RecipientListDelete:
|
|
273
|
-
logObject.EventType = log_enum_1.EventType.Delete;
|
|
274
|
-
status = 'Template Deleted';
|
|
275
|
-
for (i = 0; i < logObject.OldValue.length; i++) {
|
|
276
|
-
oldObject_4 = mapRecipientList(logObject.OldValue[i], status);
|
|
277
|
-
newObject_4 = {};
|
|
278
|
-
allLogsPromisses.push(createLogs(companyID, oldObject_4, newObject_4, logObject.Module, logObject.EventType, logObject.Schema.Fields, userName, userEmail, ip, req, logsDbConnetion));
|
|
279
|
-
}
|
|
280
|
-
break;
|
|
281
|
-
}
|
|
282
|
-
return [3 /*break*/, 20];
|
|
283
|
-
case 18:
|
|
284
|
-
logObject.EventType = log_enum_1.EventType.Add;
|
|
285
|
-
for (i = 0; i < logObject.NewValue.length; i++) {
|
|
286
|
-
mapedNewObj = mapTagObject(logObject.NewValue[i]);
|
|
287
|
-
mapedOldObj = mapTagObject(logObject.OldValue[i]);
|
|
288
|
-
addNameFieldToObject(logObject.NewValue[i], mapedNewObj);
|
|
289
|
-
addNameFieldToObject(logObject.OldValue[i], mapedOldObj);
|
|
290
|
-
comparedObj = comparePreviousAndNewObject(mapedOldObj, mapedNewObj);
|
|
291
|
-
allLogsPromisses.push(createLogs(companyID, comparedObj.previousObj, comparedObj.updatedObj, logObject.Module, logObject.EventType, logObject.Schema.Fields, userName, userEmail, ip, req, logsDbConnetion));
|
|
292
|
-
}
|
|
293
|
-
promise_allsettled_1.default(allLogsPromisses).then(function (status) { return console.log("Logs Inserted To DataBase", status); });
|
|
294
|
-
return [3 /*break*/, 20];
|
|
295
|
-
case 19:
|
|
296
|
-
for (i = 0; i < logObject.OldValue.length; ++i) {
|
|
297
|
-
comparedObj = { previousObj: {}, updatedObj: logObject.NewValue[i] };
|
|
298
|
-
if (logObject.EventType != log_enum_1.EventType.Delete)
|
|
299
|
-
comparedObj = comparePreviousAndNewObject(logObject.OldValue[i], logObject.NewValue[i]);
|
|
300
|
-
allLogsPromisses.push(createLogs(companyID, comparedObj.previousObj, comparedObj.updatedObj, logObject.Module, logObject.EventType, logObject.Schema.Fields, userName, userEmail, ip, req, logsDbConnetion));
|
|
301
|
-
}
|
|
302
|
-
;
|
|
303
|
-
promise_allsettled_1.default(allLogsPromisses).then(function (status) { return console.log("Logs Inserted To DataBase", status); });
|
|
304
|
-
_c.label = 20;
|
|
305
|
-
case 20: return [3 /*break*/, 22];
|
|
306
|
-
case 21:
|
|
307
|
-
e_1 = _c.sent();
|
|
308
|
-
console.log('Error Occured While Createing Log:', e_1);
|
|
309
|
-
return [3 /*break*/, 22];
|
|
310
|
-
case 22: return [2 /*return*/];
|
|
311
|
-
}
|
|
312
|
-
});
|
|
313
|
-
});
|
|
314
|
-
};
|
|
315
|
-
exports.generateLog = generateLog;
|
|
316
|
-
var mapTagObject = function (object) {
|
|
317
|
-
var obj = { Tags: [] };
|
|
318
|
-
if (object && object.Tag_LookupData) {
|
|
319
|
-
for (var i = 0; i < object.Tag_LookupData.length; ++i) {
|
|
320
|
-
var TagObj = {};
|
|
321
|
-
if (object.Tag_LookupData[i].Name) {
|
|
322
|
-
TagObj['TagName'] = object.Tag_LookupData[i].Name;
|
|
323
|
-
}
|
|
324
|
-
if (object.Tag_LookupData[i].UserDetail) {
|
|
325
|
-
TagObj['TagOwner'] = object.Tag_LookupData[i].UserDetail.FirstName + ' ' + object.Tag_LookupData[i].UserDetail.LastName;
|
|
326
|
-
}
|
|
327
|
-
obj.Tags.push(TagObj);
|
|
328
|
-
}
|
|
329
|
-
}
|
|
330
|
-
return obj;
|
|
331
|
-
};
|
|
332
|
-
/**
|
|
333
|
-
* CreatedBy Ansh
|
|
334
|
-
* @param {CompanyId in String Format } companyID
|
|
335
|
-
* @param {logObject (OldValue) } oldObjValue
|
|
336
|
-
* @param {logObject (NewValue) } newObjValue
|
|
337
|
-
* @param {logObject Module (ModuleName)} module
|
|
338
|
-
* @param {logObject EventType (add/update/delete/calanderAdd/..)} eventType
|
|
339
|
-
* @param {logObject ObjectSchema (Fields in Schema of Object to be loged)} schemaFields
|
|
340
|
-
* @param { User's Name } userName
|
|
341
|
-
* @param {User's Email} userEmail
|
|
342
|
-
* @param {User's Ip} ip
|
|
343
|
-
* @param {Request for database name } req
|
|
344
|
-
*
|
|
345
|
-
* Main Log Function that Map's Field as per object schema and insert log into the mysql database
|
|
346
|
-
*
|
|
347
|
-
*/
|
|
348
|
-
var createLogs = function (companyID, oldObjValue, newObjValue, module, eventType, schemaFields, userName, userEmail, ip, req, sequelize) {
|
|
349
|
-
return new Promise(function (resolve, reject) { return __awaiter(void 0, void 0, void 0, function () {
|
|
350
|
-
var TableName, convertedObj, cleanNewValue, cleanOldValue, changeField, strOldValue, strNewValue, quoteOldValue, quoteNewValue, oldValue, newValue, query, SaveToDB;
|
|
351
|
-
return __generator(this, function (_a) {
|
|
352
|
-
switch (_a.label) {
|
|
353
|
-
case 0:
|
|
354
|
-
TableName = "log-" + companyID.toString();
|
|
355
|
-
return [4 /*yield*/, restoreFieldsAsPerObjectSchema(oldObjValue, newObjValue, schemaFields, req)];
|
|
356
|
-
case 1:
|
|
357
|
-
convertedObj = _a.sent();
|
|
358
|
-
cleanNewValue = removeLookupFields(convertedObj.updatedObj);
|
|
359
|
-
cleanOldValue = removeLookupFields(convertedObj.previousObj);
|
|
360
|
-
return [4 /*yield*/, checklogtable_1.default(TableName, sequelize)];
|
|
361
|
-
case 2:
|
|
362
|
-
_a.sent();
|
|
363
|
-
if (cleanNewValue.Message)
|
|
364
|
-
cleanNewValue.Message = JSON.stringify(cleanNewValue.Message).replace(/\"/g, "");
|
|
365
|
-
if (cleanOldValue.Message)
|
|
366
|
-
cleanOldValue.Message = JSON.stringify(cleanOldValue.Message).replace(/\"/g, "");
|
|
367
|
-
changeField = Object.keys(cleanNewValue).length > 0 ? Object.keys(cleanNewValue).join(',') : Object.keys(cleanOldValue).join(',');
|
|
368
|
-
strOldValue = JSON.stringify(cleanOldValue);
|
|
369
|
-
strNewValue = JSON.stringify(cleanNewValue);
|
|
370
|
-
quoteOldValue = strOldValue.replace(/'/g, "\\'");
|
|
371
|
-
quoteNewValue = strNewValue.replace(/'/g, "\\'");
|
|
372
|
-
oldValue = "'" + quoteOldValue + "'";
|
|
373
|
-
newValue = "'" + quoteNewValue + "'";
|
|
374
|
-
TableName = "`" + TableName + "s`";
|
|
375
|
-
if (!(Object.keys(cleanNewValue).length > 0 || Object.keys(cleanOldValue).length > 0)) return [3 /*break*/, 4];
|
|
376
|
-
query = "INSERT INTO " + TableName + " (CompanyID,UserName,UserEmail,IPAddress,TypeOfChange,ChangeField,Module,OldValue,NewValue) VALUES (\"" + companyID + "\",\"" + userName + "\",\"" + userEmail + "\",\"" + ip + "\",\"" + eventType + "\",\"" + changeField + "\",\"" + module + "\"," + oldValue + "," + newValue + ")";
|
|
377
|
-
return [4 /*yield*/, sequelize.query(query)];
|
|
378
|
-
case 3:
|
|
379
|
-
SaveToDB = _a.sent();
|
|
380
|
-
resolve(SaveToDB);
|
|
381
|
-
_a.label = 4;
|
|
382
|
-
case 4:
|
|
383
|
-
resolve();
|
|
384
|
-
return [2 /*return*/];
|
|
385
|
-
}
|
|
386
|
-
});
|
|
387
|
-
}); });
|
|
388
|
-
};
|
|
389
|
-
var createSessionLogs = function (req, logDetails, sequelize) { return __awaiter(void 0, void 0, void 0, function () {
|
|
390
|
-
return __generator(this, function (_a) {
|
|
391
|
-
return [2 /*return*/, new Promise(function (resolve, reject) { return __awaiter(void 0, void 0, void 0, function () {
|
|
392
|
-
var CompanyId, TableName, _a, _b, LogType, UserName, UserEmail, IPAddress, Browser, Status, Platform, Application, query, SaveToDB;
|
|
393
|
-
return __generator(this, function (_c) {
|
|
394
|
-
switch (_c.label) {
|
|
395
|
-
case 0:
|
|
396
|
-
CompanyId = logDetails.CompanyId;
|
|
397
|
-
TableName = "log-" + CompanyId.toString();
|
|
398
|
-
return [4 /*yield*/, checklogtable_1.default(TableName, sequelize)];
|
|
399
|
-
case 1:
|
|
400
|
-
_c.sent();
|
|
401
|
-
TableName = "`" + TableName + "s`";
|
|
402
|
-
console.log('log detail', logDetails);
|
|
403
|
-
_a = logDetails;
|
|
404
|
-
_b = 'IPAddress';
|
|
405
|
-
return [4 /*yield*/, getIPLocationDetails(req)];
|
|
406
|
-
case 2:
|
|
407
|
-
_a[_b] = (_c.sent());
|
|
408
|
-
LogType = logDetails.LogType, UserName = logDetails.UserName, UserEmail = logDetails.UserEmail, IPAddress = logDetails.IPAddress, Browser = logDetails.Browser, Status = logDetails.Status, Platform = logDetails.Platform, Application = logDetails.Application;
|
|
409
|
-
LogType = LogType ? LogType : 'session';
|
|
410
|
-
query = "INSERT INTO " + TableName + " (CompanyID,UserName,UserEmail,IPAddress,Browser,Status,Platform,Application,LogType) VALUES (\"" + CompanyId + "\",\"" + UserName + "\",\"" + UserEmail + "\",\"" + IPAddress + "\",\"" + Browser + "\",\"" + Status + "\",\"" + Platform + "\",\"" + Application + "\",\"" + LogType + "\")";
|
|
411
|
-
return [4 /*yield*/, sequelize.query(query)];
|
|
412
|
-
case 3:
|
|
413
|
-
SaveToDB = _c.sent();
|
|
414
|
-
resolve(SaveToDB);
|
|
415
|
-
return [2 /*return*/];
|
|
416
|
-
}
|
|
417
|
-
});
|
|
418
|
-
}); })];
|
|
419
|
-
});
|
|
420
|
-
}); };
|
|
421
|
-
exports.createSessionLogs = createSessionLogs;
|
|
422
|
-
// Converts Object To String To View Data In Audit Log Grid
|
|
423
|
-
// const convertObjectToDisplayAbleString = ( object )=>{
|
|
424
|
-
// let Accumalator = [];
|
|
425
|
-
// Object.keys(object).forEach((key, index) => {
|
|
426
|
-
// Accumalator.push(`${key} has been changed to ${object[key]}`)
|
|
427
|
-
// });
|
|
428
|
-
// return Accumalator.join(',')
|
|
429
|
-
// }
|
|
430
|
-
/**
|
|
431
|
-
*
|
|
432
|
-
* @param { Log NewObject/OldObject } object
|
|
433
|
-
* @param { filterObject to be returned } objectToSet
|
|
434
|
-
* To Add a mendatory field Name to the object
|
|
435
|
-
*
|
|
436
|
-
*/
|
|
437
|
-
var addNameFieldToObject = function (object, objectToSet) {
|
|
438
|
-
var allKeys = Object.keys(object);
|
|
439
|
-
if (!allKeys.find(function (key) { return key == 'Name'; })) {
|
|
440
|
-
if (allKeys.find(function (key) { return key == 'FirstName'; }) && allKeys.find(function (key) { return key == 'LastName'; })) {
|
|
441
|
-
objectToSet['Name'] = object['FirstName'] + ' ' + object['LastName'];
|
|
442
|
-
}
|
|
443
|
-
else if (allKeys.find(function (key) { return key == 'Title'; })) {
|
|
444
|
-
objectToSet['Name'] = object['Title'];
|
|
445
|
-
}
|
|
446
|
-
else if (allKeys.find(function (key) { return key == 'Subject'; })) {
|
|
447
|
-
objectToSet['Name'] = object['Subject'];
|
|
448
|
-
}
|
|
449
|
-
else if (allKeys.find(function (key) { return key == 'FolderName'; })) {
|
|
450
|
-
objectToSet['Name'] = object['FolderName'];
|
|
451
|
-
}
|
|
452
|
-
else if (allKeys.find(function (key) { return key == 'BranchCode'; })) {
|
|
453
|
-
objectToSet['Name'] = object['BranchCode'];
|
|
454
|
-
}
|
|
455
|
-
else if (Object.keys(objectToSet).find(function (key) { return key == 'Contact'; })) {
|
|
456
|
-
objectToSet['Name'] = objectToSet['Contact'];
|
|
457
|
-
}
|
|
458
|
-
else if (allKeys.find(function (key) { return key == 'ContactID_LookupData'; })) {
|
|
459
|
-
objectToSet['Name'] = object['ContactID_LookupData']['FirstName'] + ' ' + object['ContactID_LookupData']['LastName'];
|
|
460
|
-
}
|
|
461
|
-
}
|
|
462
|
-
else {
|
|
463
|
-
objectToSet['Name'] = object['Name'];
|
|
464
|
-
}
|
|
465
|
-
};
|
|
466
|
-
/**
|
|
467
|
-
*
|
|
468
|
-
* @param {old state object ( previous object )} previousObject
|
|
469
|
-
* @param {new state object ( new object )} newObject
|
|
470
|
-
* Returns the Updated Object and Previous Object
|
|
471
|
-
*
|
|
472
|
-
*/
|
|
473
|
-
var comparePreviousAndNewObject = function (previousObject, newObject) {
|
|
474
|
-
var comparedObject = { 'updatedObj': {}, 'previousObj': {} };
|
|
475
|
-
(previousObject && previousObject.Name) ? comparedObject['previousObj']['Name'] = previousObject['Name'] : addNameFieldToObject(previousObject, comparedObject['previousObj']);
|
|
476
|
-
(newObject && newObject.Name) ? comparedObject['updatedObj']['Name'] = newObject['Name'] : addNameFieldToObject(newObject, comparedObject['updatedObj']);
|
|
477
|
-
if (!_utility.IsEqualValue(previousObject, newObject)) {
|
|
478
|
-
Object.keys(previousObject).forEach(function (key) {
|
|
479
|
-
if (key != 'IsActive' && !key.includes(constants_1.default.LookupAlias)) {
|
|
480
|
-
(newObject[key] == null && Array.isArray(previousObject[key])) ? newObject[key] = [] : '';
|
|
481
|
-
if (Array.isArray(previousObject[key]) && Array.isArray(newObject[key]) && previousObject[key].length !== newObject[key].length && previousObject[key].length != 0) {
|
|
482
|
-
comparedObject['previousObj'][key] = previousObject[key];
|
|
483
|
-
}
|
|
484
|
-
else if (Array.isArray(previousObject[key]) && Array.isArray(newObject[key]) && previousObject[key].length === newObject[key].length) {
|
|
485
|
-
for (var i = 0; i < previousObject[key].length; i++) {
|
|
486
|
-
if (objectsEqual(previousObject[key][i], newObject[key][i]) == false) {
|
|
487
|
-
comparedObject['previousObj'][key] = previousObject[key];
|
|
488
|
-
break;
|
|
489
|
-
}
|
|
490
|
-
}
|
|
491
|
-
}
|
|
492
|
-
if (!Array.isArray(previousObject[key]) && JSON.stringify(previousObject[key]) !== JSON.stringify(newObject[key])) {
|
|
493
|
-
comparedObject['previousObj'][key] = JSON.parse(JSON.stringify(previousObject[key]));
|
|
494
|
-
}
|
|
495
|
-
}
|
|
496
|
-
else if (key.includes(constants_1.default.LookupAlias)) {
|
|
497
|
-
comparedObject['previousObj'][key] = JSON.parse(JSON.stringify(previousObject[key]));
|
|
498
|
-
}
|
|
499
|
-
});
|
|
500
|
-
Object.keys(newObject).forEach(function (key) {
|
|
501
|
-
if (key != 'IsActive' && !key.includes(constants_1.default.LookupAlias)) {
|
|
502
|
-
(previousObject[key] == null && Array.isArray(newObject[key])) ? previousObject[key] = [] : '';
|
|
503
|
-
if (Array.isArray(previousObject[key]) && Array.isArray(newObject[key]) && previousObject[key].length !== newObject[key].length && newObject[key].length != 0) {
|
|
504
|
-
comparedObject['updatedObj'][key] = newObject[key];
|
|
505
|
-
}
|
|
506
|
-
else if (Array.isArray(previousObject[key]) && Array.isArray(newObject[key]) && previousObject[key].length === newObject[key].length) {
|
|
507
|
-
for (var i = 0; i < previousObject[key].length; i++) {
|
|
508
|
-
if (objectsEqual(previousObject[key][i], newObject[key][i]) == false) {
|
|
509
|
-
comparedObject['updatedObj'][key] = newObject[key];
|
|
510
|
-
break;
|
|
511
|
-
}
|
|
512
|
-
}
|
|
513
|
-
}
|
|
514
|
-
if (!Array.isArray(newObject[key]) && JSON.stringify(previousObject[key]) !== JSON.stringify(newObject[key])) {
|
|
515
|
-
comparedObject['updatedObj'][key] = JSON.parse(JSON.stringify(newObject[key]));
|
|
516
|
-
}
|
|
517
|
-
}
|
|
518
|
-
else if (key.includes(constants_1.default.LookupAlias)) {
|
|
519
|
-
comparedObject['updatedObj'][key] = JSON.parse(JSON.stringify(newObject[key]));
|
|
520
|
-
}
|
|
521
|
-
});
|
|
522
|
-
}
|
|
523
|
-
return comparedObject;
|
|
524
|
-
};
|
|
525
|
-
var objectsEqual = function (o1, o2) { return Object.keys(o1).length === Object.keys(o2).length && Object.keys(o1).every(function (p) { return o1[p] === o2[p]; }); };
|
|
526
|
-
/**
|
|
527
|
-
*
|
|
528
|
-
* @param { old state object ( previous object ) } previousObjects
|
|
529
|
-
* @param { new state object ( new object ) } newObject
|
|
530
|
-
* @param { object schema fields } schema
|
|
531
|
-
* @param { request } req
|
|
532
|
-
*/
|
|
533
|
-
var restoreFieldsAsPerObjectSchema = function (previousObjects, newObject, schema, req) {
|
|
534
|
-
return new Promise(function (resolve, reject) { return __awaiter(void 0, void 0, void 0, function () {
|
|
535
|
-
var restoredObject, _a, _b, _c, _d;
|
|
536
|
-
return __generator(this, function (_e) {
|
|
537
|
-
switch (_e.label) {
|
|
538
|
-
case 0:
|
|
539
|
-
restoredObject = { previousObj: {}, updatedObj: {} };
|
|
540
|
-
_a = restoredObject;
|
|
541
|
-
_b = 'previousObj';
|
|
542
|
-
return [4 /*yield*/, convertAndReturnValuesAsPerObjectSchema(previousObjects, schema, req)];
|
|
543
|
-
case 1:
|
|
544
|
-
_a[_b] = (_e.sent());
|
|
545
|
-
_c = restoredObject;
|
|
546
|
-
_d = 'updatedObj';
|
|
547
|
-
return [4 /*yield*/, convertAndReturnValuesAsPerObjectSchema(newObject, schema, req)];
|
|
548
|
-
case 2:
|
|
549
|
-
_c[_d] = (_e.sent());
|
|
550
|
-
resolve(restoredObject);
|
|
551
|
-
return [2 /*return*/];
|
|
552
|
-
}
|
|
553
|
-
});
|
|
554
|
-
}); });
|
|
555
|
-
};
|
|
556
|
-
/**
|
|
557
|
-
*
|
|
558
|
-
* @param { old/new object } object
|
|
559
|
-
* @param { current key to be checked } key
|
|
560
|
-
* @param { object schema } schema
|
|
561
|
-
* @param { restoredObject (clean object to be returned after mapping the lookup fields) } restoredObject
|
|
562
|
-
* @param { request } req
|
|
563
|
-
*
|
|
564
|
-
*
|
|
565
|
-
*/
|
|
566
|
-
var checkForLookupAndListSchema = function (object, key, schema, restoredObject, req) {
|
|
567
|
-
return new Promise(function (resolve, reject) { return __awaiter(void 0, void 0, void 0, function () {
|
|
568
|
-
var objectid, objSchema, schemalookupfieldsDisplayValue_1, DisplayableName, value_1, db, objSchema, DisplayableName, ListSchema_1, DisplayAbleValue_1, previousListSchemaData, valueToDisplay_1, db, UserInfo, valueToDisplay_2, objSchema, schemalookupfieldsDisplayValue_2, DisplayableName, value_2;
|
|
569
|
-
return __generator(this, function (_a) {
|
|
570
|
-
switch (_a.label) {
|
|
571
|
-
case 0:
|
|
572
|
-
objectid = mongodb_1.default.ObjectId;
|
|
573
|
-
if (!(schema.find(function (o) { return o.Name == key && o.LookupFields && o.LookupFields.length > 0; }) && key !== 'Tag')) return [3 /*break*/, 1];
|
|
574
|
-
objSchema = schema.find(function (o) { return o.Name == key; });
|
|
575
|
-
schemalookupfieldsDisplayValue_1 = objSchema.LookupFields;
|
|
576
|
-
DisplayableName = objSchema.DisplayName;
|
|
577
|
-
value_1 = '';
|
|
578
|
-
if (key == 'Product') {
|
|
579
|
-
restoredObject['Name'] = object[key + constants_1.default.LookupAlias]['Name'];
|
|
580
|
-
}
|
|
581
|
-
if (Array.isArray(object["" + (key.toString() + constants_1.default.LookupAlias)]) && object["" + (key.toString() + constants_1.default.LookupAlias)].length > 0) {
|
|
582
|
-
object["" + (key.toString() + constants_1.default.LookupAlias)].forEach(function (obj) {
|
|
583
|
-
Object.keys(obj).forEach(function (lookupfield) {
|
|
584
|
-
if (schemalookupfieldsDisplayValue_1.find(function (o) { return o.toString() == lookupfield.toString(); })) {
|
|
585
|
-
value_1 += obj[lookupfield] + " ";
|
|
586
|
-
}
|
|
587
|
-
});
|
|
588
|
-
});
|
|
589
|
-
restoredObject[DisplayableName] = value_1;
|
|
590
|
-
}
|
|
591
|
-
else {
|
|
592
|
-
if (object["" + (key.toString() + constants_1.default.LookupAlias)] != null && Object.keys(object["" + (key.toString() + constants_1.default.LookupAlias)]).length > 1) {
|
|
593
|
-
Object.keys(object["" + (key.toString() + constants_1.default.LookupAlias)]).forEach(function (lookupfield) {
|
|
594
|
-
if (schemalookupfieldsDisplayValue_1.find(function (o) { return o.toString() == lookupfield.toString(); })) {
|
|
595
|
-
value_1 += object["" + (key.toString() + constants_1.default.LookupAlias)][lookupfield] + " ";
|
|
596
|
-
}
|
|
597
|
-
});
|
|
598
|
-
}
|
|
599
|
-
restoredObject[DisplayableName] = value_1;
|
|
600
|
-
}
|
|
601
|
-
return [3 /*break*/, 12];
|
|
602
|
-
case 1:
|
|
603
|
-
if (!schema.find(function (o) { return o.Name == key && o.ListSchemaName; })) return [3 /*break*/, 6];
|
|
604
|
-
db = global['dbConnections'][req.DBName];
|
|
605
|
-
objSchema = schema.find(function (o) { return o.Name == key; });
|
|
606
|
-
DisplayableName = objSchema.DisplayName;
|
|
607
|
-
return [4 /*yield*/, db.collection('ListSchema').findOne({
|
|
608
|
-
Name: objSchema.ListSchemaName
|
|
609
|
-
})];
|
|
610
|
-
case 2:
|
|
611
|
-
ListSchema_1 = _a.sent();
|
|
612
|
-
if (!ListSchema_1) return [3 /*break*/, 5];
|
|
613
|
-
if (!Array.isArray(object[key])) return [3 /*break*/, 4];
|
|
614
|
-
DisplayAbleValue_1 = '';
|
|
615
|
-
return [4 /*yield*/, object[key].forEach(function (k) {
|
|
616
|
-
var previousListSchemaData = ListSchema_1.Data.find(function (o) { return o.Key == k; });
|
|
617
|
-
if (previousListSchemaData) {
|
|
618
|
-
DisplayAbleValue_1 += previousListSchemaData.Value + ' ';
|
|
619
|
-
}
|
|
620
|
-
})];
|
|
621
|
-
case 3:
|
|
622
|
-
_a.sent();
|
|
623
|
-
restoredObject[DisplayableName] = DisplayAbleValue_1;
|
|
624
|
-
return [3 /*break*/, 5];
|
|
625
|
-
case 4:
|
|
626
|
-
previousListSchemaData = ListSchema_1.Data.find(function (o) { return o.Key == object[key]; });
|
|
627
|
-
if (previousListSchemaData) {
|
|
628
|
-
restoredObject[DisplayableName] = previousListSchemaData.Value;
|
|
629
|
-
}
|
|
630
|
-
_a.label = 5;
|
|
631
|
-
case 5: return [3 /*break*/, 12];
|
|
632
|
-
case 6:
|
|
633
|
-
if (!(object[key.toString() + constants_1.default.LookupAlias] && !Object.keys(object).find(function (o) { return o == 'Name'; }) || (object[key.toString() + constants_1.default.LookupAlias] && key == 'Tag_LookupData'))) return [3 /*break*/, 7];
|
|
634
|
-
valueToDisplay_1 = "";
|
|
635
|
-
if (key == 'Tag_LookupData') {
|
|
636
|
-
restoredObject['TagName'] = object[key]['Name'];
|
|
637
|
-
}
|
|
638
|
-
if (object['ObjectSchemaName']) {
|
|
639
|
-
restoredObject['Module'] = object['ObjectSchemaName'];
|
|
640
|
-
delete object['ObjectSchemaName'];
|
|
641
|
-
}
|
|
642
|
-
delete object['ObjectSchemaID'];
|
|
643
|
-
Object.keys(object[key.toString() + constants_1.default.LookupAlias]).forEach(function (k) {
|
|
644
|
-
if (k != 'IsActive' && k != '_id') {
|
|
645
|
-
valueToDisplay_1 += " " + object[key.toString() + constants_1.default.LookupAlias][k];
|
|
646
|
-
}
|
|
647
|
-
});
|
|
648
|
-
restoredObject['Name'] = valueToDisplay_1;
|
|
649
|
-
return [3 /*break*/, 12];
|
|
650
|
-
case 7:
|
|
651
|
-
if (!(key == "ObjectSchemaName")) return [3 /*break*/, 8];
|
|
652
|
-
restoredObject['Module'] = object["ObjectSchemaName"];
|
|
653
|
-
delete object['ObjectSchemaName'];
|
|
654
|
-
return [3 /*break*/, 12];
|
|
655
|
-
case 8:
|
|
656
|
-
if (!(key == "ObjectSchemaID")) return [3 /*break*/, 9];
|
|
657
|
-
delete object["ObjectSchemaID"];
|
|
658
|
-
return [3 /*break*/, 12];
|
|
659
|
-
case 9:
|
|
660
|
-
if (!(key == 'CreatedBy' && objectid.isValid(object[key]) || key == 'ModifiedBy' && objectid.isValid(object[key]))) return [3 /*break*/, 11];
|
|
661
|
-
db = global['dbConnections'][req.DBName];
|
|
662
|
-
return [4 /*yield*/, db.collection('User').findOne({
|
|
663
|
-
_id: new mongodb_1.default.ObjectId(object[key])
|
|
664
|
-
})];
|
|
665
|
-
case 10:
|
|
666
|
-
UserInfo = _a.sent();
|
|
667
|
-
if (UserInfo && UserInfo.FirstName && UserInfo.LastName) {
|
|
668
|
-
restoredObject[key] = UserInfo.FirstName + ' ' + UserInfo.LastName;
|
|
669
|
-
}
|
|
670
|
-
return [3 /*break*/, 12];
|
|
671
|
-
case 11:
|
|
672
|
-
if (!Array.isArray(object[key]) && typeof object[key] == "object" && bson_1.EJSON.parse(JSON.stringify(object[key])) && !key.toLowerCase().includes('date') && !object[key.toString() + constants_1.default.LookupAlias] && key !== 'ColumnList' && key != 'SearchAddress' && key != "AddedReceiptent") {
|
|
673
|
-
(object[key]['$numberDecimal']) ? restoredObject[key] = object[key]['$numberDecimal'] : restoredObject[key] = object[key].toString();
|
|
674
|
-
}
|
|
675
|
-
else if (key == "IsHeadOffice") {
|
|
676
|
-
restoredObject['HeadOffice'] = object[key] == true ? 'yes' : 'no';
|
|
677
|
-
}
|
|
678
|
-
else if (key == 'Document') {
|
|
679
|
-
valueToDisplay_2 = '';
|
|
680
|
-
Object.keys(object[key.toString() + constants_1.default.LookupAlias]).forEach(function (k) {
|
|
681
|
-
if (k != 'IsActive' && k != '_id') {
|
|
682
|
-
valueToDisplay_2 += " " + object[key.toString() + constants_1.default.LookupAlias][k];
|
|
683
|
-
}
|
|
684
|
-
});
|
|
685
|
-
restoredObject[key] = valueToDisplay_2;
|
|
686
|
-
}
|
|
687
|
-
else if (key == 'Product') {
|
|
688
|
-
restoredObject['Name'] = object[key]["Name"];
|
|
689
|
-
}
|
|
690
|
-
else if (key == 'Tag' && Array.isArray(object['Tag' + constants_1.default.LookupAlias])) {
|
|
691
|
-
objSchema = schema.find(function (o) { return o.Name == key; });
|
|
692
|
-
schemalookupfieldsDisplayValue_2 = objSchema.LookupFields;
|
|
693
|
-
DisplayableName = objSchema.DisplayName;
|
|
694
|
-
value_2 = '';
|
|
695
|
-
object["" + (key.toString() + constants_1.default.LookupAlias)].forEach(function (obj) {
|
|
696
|
-
Object.keys(obj).forEach(function (lookupfield) {
|
|
697
|
-
if (schemalookupfieldsDisplayValue_2.find(function (o) { return o.toString() == lookupfield.toString(); })) {
|
|
698
|
-
value_2 += obj[lookupfield] + " ";
|
|
699
|
-
}
|
|
700
|
-
});
|
|
701
|
-
});
|
|
702
|
-
restoredObject[DisplayableName] = value_2;
|
|
703
|
-
}
|
|
704
|
-
else if (key != "SearchAddress" && key !== 'IsActive' && key !== "RelationID" && key !== "OperaProfileId" && key !== 'ColumnList' && key !== 'CompanyID' && key !== 'TemplateID' && key != 'TemplateBlockContent' && key != 'TemplateEmailContent') {
|
|
705
|
-
restoredObject[key] = object[key];
|
|
706
|
-
}
|
|
707
|
-
_a.label = 12;
|
|
708
|
-
case 12:
|
|
709
|
-
addNameFieldToObject(object, restoredObject);
|
|
710
|
-
resolve(restoredObject);
|
|
711
|
-
return [2 /*return*/];
|
|
712
|
-
}
|
|
713
|
-
});
|
|
714
|
-
}); });
|
|
715
|
-
};
|
|
716
|
-
/**
|
|
717
|
-
*
|
|
718
|
-
* @param { new/Old Value } object
|
|
719
|
-
* @param { object schema field } schema
|
|
720
|
-
* @param { request } req
|
|
721
|
-
*
|
|
722
|
-
*/
|
|
723
|
-
var convertAndReturnValuesAsPerObjectSchema = function (object, schema, req) {
|
|
724
|
-
return new Promise(function (resolve, reject) { return __awaiter(void 0, void 0, void 0, function () {
|
|
725
|
-
var restoredObject, allPromises, AllKeys, _i, AllKeys_1, key;
|
|
726
|
-
return __generator(this, function (_a) {
|
|
727
|
-
restoredObject = {};
|
|
728
|
-
allPromises = [];
|
|
729
|
-
(object.TemplateBlockContent) ? delete object.TemplateBlockContent : '';
|
|
730
|
-
(object.TemplateEmailContent) ? delete object.TemplateEmailContent : '';
|
|
731
|
-
(object.ColumnList) ? delete object.ColumnList : '';
|
|
732
|
-
(object.CompanyID) ? delete object.CompanyID : '';
|
|
733
|
-
(object.TemplateID) ? delete object.TemplateID : '';
|
|
734
|
-
AllKeys = Object.keys(object);
|
|
735
|
-
for (_i = 0, AllKeys_1 = AllKeys; _i < AllKeys_1.length; _i++) {
|
|
736
|
-
key = AllKeys_1[_i];
|
|
737
|
-
allPromises.push(checkForLookupAndListSchema(object, key, schema, restoredObject, req));
|
|
738
|
-
}
|
|
739
|
-
;
|
|
740
|
-
Promise.all(allPromises).then(function () { return resolve(restoredObject); });
|
|
741
|
-
return [2 /*return*/];
|
|
742
|
-
});
|
|
743
|
-
}); });
|
|
744
|
-
};
|
|
745
|
-
/**
|
|
746
|
-
*
|
|
747
|
-
* @param { oldValue/newValue Object } obj
|
|
748
|
-
*
|
|
749
|
-
*/
|
|
750
|
-
//to Remove Lookup Fields , _id and Modified Date from Logs
|
|
751
|
-
var removeLookupFields = function (obj) {
|
|
752
|
-
var cleanObj = {};
|
|
753
|
-
Object.keys(obj).forEach(function (key) {
|
|
754
|
-
if (key.includes(constants_1.default.LookupAlias) || key == '_id' || key == 'ModifiedDate') {
|
|
755
|
-
delete obj[key];
|
|
756
|
-
}
|
|
757
|
-
else {
|
|
758
|
-
cleanObj[key] = obj[key];
|
|
759
|
-
}
|
|
760
|
-
});
|
|
761
|
-
return cleanObj;
|
|
762
|
-
};
|
|
763
|
-
/**
|
|
764
|
-
*
|
|
765
|
-
* @param { old/newObject } obj
|
|
766
|
-
* @param { fieldsToShow in log table } toDisplay
|
|
767
|
-
*
|
|
768
|
-
*/
|
|
769
|
-
//To Remove Non DisplayAble Field in Logs
|
|
770
|
-
var removeExtraKeys = function (obj, toDisplay) {
|
|
771
|
-
var filteredObj = {};
|
|
772
|
-
if (toDisplay.length > 0) {
|
|
773
|
-
Object.keys(obj).forEach(function (key) {
|
|
774
|
-
if (Array.isArray(obj[key]) && obj[key].length > 0) {
|
|
775
|
-
var filteredArray_1 = [];
|
|
776
|
-
obj[key].forEach(function (o) {
|
|
777
|
-
var obj = {};
|
|
778
|
-
Object.keys(o).forEach(function (k) {
|
|
779
|
-
if (toDisplay.find(function (o) { return o == k; }) || k.includes(constants_1.default.LookupAlias)) {
|
|
780
|
-
obj[k] = o[k];
|
|
781
|
-
}
|
|
782
|
-
});
|
|
783
|
-
filteredArray_1.push(obj);
|
|
784
|
-
});
|
|
785
|
-
filteredObj[key] = filteredArray_1;
|
|
786
|
-
}
|
|
787
|
-
else {
|
|
788
|
-
filteredObj[key] = obj[key];
|
|
789
|
-
}
|
|
790
|
-
});
|
|
791
|
-
return __assign({}, filteredObj);
|
|
792
|
-
}
|
|
793
|
-
return __assign({}, obj);
|
|
794
|
-
};
|
|
795
|
-
/**
|
|
796
|
-
*
|
|
797
|
-
* @param { attendee object } attendee
|
|
798
|
-
* @param { current key of attendee object} key
|
|
799
|
-
* @param { object to be returned } filterdObj
|
|
800
|
-
* @param {database reference} db
|
|
801
|
-
*
|
|
802
|
-
*/
|
|
803
|
-
//fetch user/contact info from viewAttendee
|
|
804
|
-
var mapAttendeToContactAndUser = function (attendee, key, filterdObj, db) {
|
|
805
|
-
return new Promise(function (resolve, reject) { return __awaiter(void 0, void 0, void 0, function () {
|
|
806
|
-
var Users, alluserInfo, userInfo, inviteInfo, tranformedObj;
|
|
807
|
-
return __generator(this, function (_a) {
|
|
808
|
-
switch (_a.label) {
|
|
809
|
-
case 0:
|
|
810
|
-
Users = [];
|
|
811
|
-
(attendee.Id) ? Users.push(new mongodb_1.default.ObjectId(attendee.Id)) : '';
|
|
812
|
-
(attendee.InvitedBy) ? Users.push(new mongodb_1.default.ObjectId(attendee.InvitedBy)) : '';
|
|
813
|
-
return [4 /*yield*/, db.collection('ViewAttendee').find({ _id: { $in: Users } }, { projection: { Name: 1 } }).toArray()];
|
|
814
|
-
case 1:
|
|
815
|
-
alluserInfo = _a.sent();
|
|
816
|
-
userInfo = alluserInfo.find(function (o) { return o._id.toString() == attendee.Id.toString(); });
|
|
817
|
-
inviteInfo = alluserInfo.find(function (o) { return o._id.toString() == attendee.InvitedBy.toString(); });
|
|
818
|
-
tranformedObj = {};
|
|
819
|
-
(userInfo && userInfo.Name) ? tranformedObj['Name'] = userInfo.Name : '';
|
|
820
|
-
tranformedObj['InvitationStatus'] = attendee.Status;
|
|
821
|
-
attendee.StatusType ? tranformedObj['UserAvaliability'] = attendee.StatusType : '';
|
|
822
|
-
(userInfo && userInfo.Name) ? tranformedObj['InvitedBy'] = inviteInfo.Name : '';
|
|
823
|
-
tranformedObj['Locked'] = (attendee.Lock && attendee.Lock == true) ? 'Yes' : 'No';
|
|
824
|
-
filterdObj.Attendess.push(tranformedObj);
|
|
825
|
-
resolve();
|
|
826
|
-
return [2 /*return*/];
|
|
827
|
-
}
|
|
828
|
-
});
|
|
829
|
-
}); });
|
|
830
|
-
};
|
|
831
|
-
/**
|
|
832
|
-
*
|
|
833
|
-
* @param { old/newObject } obj
|
|
834
|
-
* @param { request } req
|
|
835
|
-
*
|
|
836
|
-
*/
|
|
837
|
-
// used to tranform calander attendedata into a displayable log format
|
|
838
|
-
var mapAttendeesData = function (obj, req) { return __awaiter(void 0, void 0, void 0, function () {
|
|
839
|
-
return __generator(this, function (_a) {
|
|
840
|
-
return [2 /*return*/, new Promise(function (resolve, reject) {
|
|
841
|
-
var db = global['dbConnections'][req.DBName];
|
|
842
|
-
var filterdObj = {};
|
|
843
|
-
var allPromises = [];
|
|
844
|
-
Object.keys(obj).forEach(function (key) { return __awaiter(void 0, void 0, void 0, function () {
|
|
845
|
-
var _i, _a, attendee;
|
|
846
|
-
return __generator(this, function (_b) {
|
|
847
|
-
if (key === 'AttendeesData' && Array.isArray(obj[key])) {
|
|
848
|
-
filterdObj.Attendess = [];
|
|
849
|
-
for (_i = 0, _a = obj[key]; _i < _a.length; _i++) {
|
|
850
|
-
attendee = _a[_i];
|
|
851
|
-
if (attendee.Type == 'user' || attendee.Type == 'contact') {
|
|
852
|
-
allPromises.push(mapAttendeToContactAndUser(attendee, key, filterdObj, db));
|
|
853
|
-
}
|
|
854
|
-
}
|
|
855
|
-
}
|
|
856
|
-
else if (key === 'IsAllDay') {
|
|
857
|
-
filterdObj['AllDay'] = obj[key] == true ? 'Yes' : 'No';
|
|
858
|
-
}
|
|
859
|
-
else if (key === 'Subject') {
|
|
860
|
-
filterdObj['Name'] = obj[key];
|
|
861
|
-
}
|
|
862
|
-
else {
|
|
863
|
-
filterdObj[key] = obj[key];
|
|
864
|
-
}
|
|
865
|
-
return [2 /*return*/];
|
|
866
|
-
});
|
|
867
|
-
}); });
|
|
868
|
-
promise_allsettled_1.default(allPromises).then(function () {
|
|
869
|
-
resolve(filterdObj);
|
|
870
|
-
});
|
|
871
|
-
})];
|
|
872
|
-
});
|
|
873
|
-
}); };
|
|
874
|
-
/**
|
|
875
|
-
*
|
|
876
|
-
* @param { driveObject new Value / old Value } driveObj
|
|
877
|
-
* @param { database reference } db
|
|
878
|
-
* map folder id to orignal folder name
|
|
879
|
-
*/
|
|
880
|
-
var mapDriveFolderIdToFolderName = function (driveObj, db) {
|
|
881
|
-
return new Promise(function (resolve, reject) { return __awaiter(void 0, void 0, void 0, function () {
|
|
882
|
-
var sharedUsers_1, parentFolderName, allExternalShares_1;
|
|
883
|
-
return __generator(this, function (_a) {
|
|
884
|
-
switch (_a.label) {
|
|
885
|
-
case 0:
|
|
886
|
-
(driveObj.ContentType && driveObj.ContentType.length == 0 || driveObj.ContentType == 'folder') ? delete driveObj.ContentType : '';
|
|
887
|
-
(driveObj.Size) ? driveObj['Size'] = utility_1.ConvertFileByteSize(driveObj.Size) : '';
|
|
888
|
-
if (driveObj['FileName']) {
|
|
889
|
-
driveObj['Name'] = driveObj['FileName'];
|
|
890
|
-
delete driveObj['FileName'];
|
|
891
|
-
}
|
|
892
|
-
if (driveObj.SharedUserIDs) {
|
|
893
|
-
sharedUsers_1 = [];
|
|
894
|
-
driveObj['SharedUserIDs' + constants_1.default.LookupAlias].forEach(function (sharedUser) {
|
|
895
|
-
if (sharedUser.FirstName && sharedUser.LastName && sharedUser.Email) {
|
|
896
|
-
sharedUsers_1.push({ 'Name': sharedUser.FirstName + ' ' + sharedUser.LastName, 'Email': sharedUser.Email });
|
|
897
|
-
}
|
|
898
|
-
});
|
|
899
|
-
driveObj['SharedWith'] = sharedUsers_1;
|
|
900
|
-
driveObj['ShareType'] = 'Internal Share';
|
|
901
|
-
delete driveObj.SharedUserIDs;
|
|
902
|
-
}
|
|
903
|
-
if (!(driveObj.FolderId == 'root')) return [3 /*break*/, 1];
|
|
904
|
-
driveObj['FolderName'] = driveObj.FolderId;
|
|
905
|
-
delete driveObj.FolderId;
|
|
906
|
-
return [3 /*break*/, 3];
|
|
907
|
-
case 1: return [4 /*yield*/, db.collection('Drive').findOne({ _id: new mongodb_1.default.ObjectId(driveObj.FolderId) }, { projection: { FileName: 1, _id: 0 } })];
|
|
908
|
-
case 2:
|
|
909
|
-
parentFolderName = _a.sent();
|
|
910
|
-
delete driveObj.FolderId;
|
|
911
|
-
(parentFolderName) ? driveObj['FolderName'] = parentFolderName.FileName : '';
|
|
912
|
-
_a.label = 3;
|
|
913
|
-
case 3:
|
|
914
|
-
if (driveObj.ExternalShare) {
|
|
915
|
-
driveObj['ShareType'] = 'external share';
|
|
916
|
-
if (driveObj.ExternalShare.ExternalUsers && driveObj.ExternalShare.ExternalUsers.length > 0) {
|
|
917
|
-
allExternalShares_1 = [];
|
|
918
|
-
driveObj.ExternalShare.ExternalUsers.forEach(function (user) {
|
|
919
|
-
if (user.Email) {
|
|
920
|
-
allExternalShares_1.push({ Email: user.Email, AddedDate: user.AddedDate });
|
|
921
|
-
}
|
|
922
|
-
});
|
|
923
|
-
driveObj['SharedWith'] = allExternalShares_1;
|
|
924
|
-
}
|
|
925
|
-
(driveObj.ExternalShare.ShareType && driveObj.ExternalShare.ShareType.length > 0) ? driveObj['Mode'] = driveObj.ExternalShare.ShareType : '';
|
|
926
|
-
driveObj['ShareType'] = 'external share';
|
|
927
|
-
(driveObj.ExternalShare.ExpireTime) ? driveObj['ExpireTime'] = driveObj.ExternalShare.ExpireTime : '';
|
|
928
|
-
delete driveObj.ExternalShare;
|
|
929
|
-
}
|
|
930
|
-
resolve();
|
|
931
|
-
return [2 /*return*/];
|
|
932
|
-
}
|
|
933
|
-
});
|
|
934
|
-
}); });
|
|
935
|
-
};
|
|
936
|
-
/**
|
|
937
|
-
* CreatedBy Rohit
|
|
938
|
-
* @param {Request for database name } req
|
|
939
|
-
*
|
|
940
|
-
* Get Location from IP using request object
|
|
941
|
-
*
|
|
942
|
-
*/
|
|
943
|
-
var getIPLocationDetails = function (req) { return __awaiter(void 0, void 0, void 0, function () {
|
|
944
|
-
var _a, _b, countryName, _c, region, _d, city, ip, location;
|
|
945
|
-
return __generator(this, function (_e) {
|
|
946
|
-
switch (_e.label) {
|
|
947
|
-
case 0: return [4 /*yield*/, _utility.GetIPDetailsFromReq(req)];
|
|
948
|
-
case 1:
|
|
949
|
-
_a = (_e.sent()) || {}, _b = _a.countryName, countryName = _b === void 0 ? '' : _b, _c = _a.region, region = _c === void 0 ? '' : _c, _d = _a.city, city = _d === void 0 ? '' : _d;
|
|
950
|
-
ip = req.headers['x-forwarded-for'] || req.connection.remoteAddress || req.socket.remoteAddress || (req.connection.socket ? req.connection.socket.remoteAddress : null);
|
|
951
|
-
location = '';
|
|
952
|
-
if (countryName != '' || region != '' || city != '') {
|
|
953
|
-
// return `${ip} /(${country}, ${region}, ${city})`;
|
|
954
|
-
location += countryName;
|
|
955
|
-
}
|
|
956
|
-
if (region != '') {
|
|
957
|
-
location += ", " + region;
|
|
958
|
-
}
|
|
959
|
-
if (city != '') {
|
|
960
|
-
location += ", " + city;
|
|
961
|
-
}
|
|
962
|
-
if (location && location != '')
|
|
963
|
-
return [2 /*return*/, ip + " /(" + location + ")"];
|
|
964
|
-
else
|
|
965
|
-
return [2 /*return*/, ip];
|
|
966
|
-
return [2 /*return*/];
|
|
967
|
-
}
|
|
968
|
-
});
|
|
969
|
-
}); };
|
|
970
|
-
var mapContentStudioObject = function (object) {
|
|
971
|
-
var filteredObj = {};
|
|
972
|
-
var allKeys = Object.keys(object);
|
|
973
|
-
if (allKeys.length > 0) {
|
|
974
|
-
filteredObj['Module'] = 'Marketing';
|
|
975
|
-
allKeys.forEach(function (key) {
|
|
976
|
-
if (key != "CreatedBy" && key != "IsActive" && key != "IsDefault" && key != "ModifiedDate" && key != "_id" && key != 'CreatedDate') {
|
|
977
|
-
if (Array.isArray(object[key])) {
|
|
978
|
-
var allImages_1 = [];
|
|
979
|
-
object[key].forEach(function (obj) {
|
|
980
|
-
var imageObj = { 'Name': obj.FileName, 'Size': utility_1.ConvertFileByteSize(parseInt(obj.FileSize)), 'CreatedDate': obj.CreatedDate };
|
|
981
|
-
obj.dimensions ? imageObj['Dimensions'] = obj.dimensions : '';
|
|
982
|
-
allImages_1.push(imageObj);
|
|
983
|
-
});
|
|
984
|
-
filteredObj['Images'] = allImages_1;
|
|
985
|
-
}
|
|
986
|
-
else if (key == 'FolderName') {
|
|
987
|
-
filteredObj['Name'] = object[key];
|
|
988
|
-
filteredObj['FolderName'] = object[key];
|
|
989
|
-
}
|
|
990
|
-
else {
|
|
991
|
-
filteredObj[key] = object[key];
|
|
992
|
-
}
|
|
993
|
-
}
|
|
994
|
-
});
|
|
995
|
-
}
|
|
996
|
-
return filteredObj;
|
|
997
|
-
};
|
|
998
|
-
var mapTemplateObject = function (object, status) {
|
|
999
|
-
var filteredObj = {};
|
|
1000
|
-
(object.TemplateBlockName) ? filteredObj['Name'] = object.TemplateBlockName : '';
|
|
1001
|
-
(object.CreatedDate) ? filteredObj['CreatedDate'] = object.CreatedDate : '';
|
|
1002
|
-
if (status && status.length > 0) {
|
|
1003
|
-
filteredObj['Module'] = 'Marketing Template Editor';
|
|
1004
|
-
filteredObj['Status'] = status;
|
|
1005
|
-
}
|
|
1006
|
-
return filteredObj;
|
|
1007
|
-
};
|
|
1008
|
-
var mapRecipientList = function (object, status) {
|
|
1009
|
-
var filteredObj = {};
|
|
1010
|
-
(object.Name) ? filteredObj['Name'] = object.Name : '';
|
|
1011
|
-
(object.CreatedDate) ? filteredObj['CreatedDate'] = object.CreatedDate : '';
|
|
1012
|
-
(object.Count) ? filteredObj['RecipientCount'] = object.Count : '';
|
|
1013
|
-
if (object.AddedReceiptent) {
|
|
1014
|
-
var newRecipient_1 = JSON.parse(JSON.stringify(object.AddedReceiptent));
|
|
1015
|
-
var metaDataKeys_1 = ["IsValidEmail", "RowNo", "PrimaryKey", "RecipientsListId", "IsActive", "_id"];
|
|
1016
|
-
filteredObj['AddedReceiptent'] = {};
|
|
1017
|
-
Object.keys(newRecipient_1).forEach(function (key) {
|
|
1018
|
-
if (!metaDataKeys_1.includes(key)) {
|
|
1019
|
-
console.log(filteredObj['AddedReceiptent'], "casdcsdcasdcasdcasdca------sdcsacdasdcasdc");
|
|
1020
|
-
filteredObj['AddedReceiptent'][key] = newRecipient_1[key];
|
|
1021
|
-
}
|
|
1022
|
-
});
|
|
1023
|
-
}
|
|
1024
|
-
if (status && status.length > 0) {
|
|
1025
|
-
filteredObj['Module'] = 'Marketing';
|
|
1026
|
-
filteredObj['Status'] = status;
|
|
1027
|
-
}
|
|
1028
|
-
return filteredObj;
|
|
1029
|
-
};
|
|
1
|
+
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
13
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
14
|
+
if (k2 === undefined) k2 = k;
|
|
15
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
16
|
+
}) : (function(o, m, k, k2) {
|
|
17
|
+
if (k2 === undefined) k2 = k;
|
|
18
|
+
o[k2] = m[k];
|
|
19
|
+
}));
|
|
20
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
21
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
22
|
+
}) : function(o, v) {
|
|
23
|
+
o["default"] = v;
|
|
24
|
+
});
|
|
25
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
26
|
+
if (mod && mod.__esModule) return mod;
|
|
27
|
+
var result = {};
|
|
28
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
29
|
+
__setModuleDefault(result, mod);
|
|
30
|
+
return result;
|
|
31
|
+
};
|
|
32
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
33
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
34
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
35
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
36
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
37
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
38
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
39
|
+
});
|
|
40
|
+
};
|
|
41
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
42
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
43
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
44
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
45
|
+
function step(op) {
|
|
46
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
47
|
+
while (_) try {
|
|
48
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
49
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
50
|
+
switch (op[0]) {
|
|
51
|
+
case 0: case 1: t = op; break;
|
|
52
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
53
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
54
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
55
|
+
default:
|
|
56
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
57
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
58
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
59
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
60
|
+
if (t[2]) _.ops.pop();
|
|
61
|
+
_.trys.pop(); continue;
|
|
62
|
+
}
|
|
63
|
+
op = body.call(thisArg, _);
|
|
64
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
65
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
66
|
+
}
|
|
67
|
+
};
|
|
68
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
69
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
70
|
+
};
|
|
71
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
72
|
+
exports.createSessionLogs = exports.generateLog = void 0;
|
|
73
|
+
var checklogtable_1 = __importDefault(require("./checklogtable"));
|
|
74
|
+
var constants_1 = __importDefault(require("../constants"));
|
|
75
|
+
var _utility = __importStar(require("../lib/utility"));
|
|
76
|
+
var mongodb_1 = __importDefault(require("mongodb"));
|
|
77
|
+
var promise_allsettled_1 = __importDefault(require("promise.allsettled"));
|
|
78
|
+
var bson_1 = require("bson");
|
|
79
|
+
var utility_1 = require("../lib/utility");
|
|
80
|
+
var log_enum_1 = require("../enums/log.enum");
|
|
81
|
+
/**
|
|
82
|
+
*
|
|
83
|
+
*
|
|
84
|
+
*
|
|
85
|
+
* Created By : Ansh
|
|
86
|
+
* Parameter Required :
|
|
87
|
+
* logobj(log object)
|
|
88
|
+
{
|
|
89
|
+
"EventType":"<TypeOfChange>", Default value: Required value can't be empty type string "Create/Delete/Update"
|
|
90
|
+
"Module":"<ModuleChanged>", Default value: Required value can't be empty type string "Account/Contact/Pipeline"
|
|
91
|
+
"OldValue":"<OldValueObject>", Default value: Required value can't be empty type Object
|
|
92
|
+
"NewValue":"<NewValue>", Default value: Required value can't be empty type object
|
|
93
|
+
}
|
|
94
|
+
* keysToDisplay if you want to display only certain keys in logs object rather than the entire object in a collection
|
|
95
|
+
* req Request (For db refrerence)
|
|
96
|
+
* @param {Request (For Database Reference)} req
|
|
97
|
+
* @param { Log object } logObject
|
|
98
|
+
* @param {if you want to display only certain keys in logs object rather than the entire object in a collection } keysToDisplay
|
|
99
|
+
* @param { Connection to logs database }
|
|
100
|
+
*/
|
|
101
|
+
var generateLog = function (req, logObject, keysToDisplay, logsDbConnetion) {
|
|
102
|
+
if (keysToDisplay === void 0) { keysToDisplay = []; }
|
|
103
|
+
return __awaiter(void 0, void 0, void 0, function () {
|
|
104
|
+
var db, ip, _a, userName, userEmail, companyID, allLogsPromisses, templateStatus, _b, i, oldValue, newValue, comparedObj, i, i, comparedObj, oldObject_1, newObject_1, newObject, oldObject, i, oldObject_2, newObject_2, i, oldObject_3, newObject_3, comparedObj, i, oldObject_4, newObject_4, i, mapedNewObj, mapedOldObj, comparedObj, i, comparedObj, e_1;
|
|
105
|
+
return __generator(this, function (_c) {
|
|
106
|
+
switch (_c.label) {
|
|
107
|
+
case 0:
|
|
108
|
+
_c.trys.push([0, 21, , 22]);
|
|
109
|
+
db = global['dbConnections'][req.DBName];
|
|
110
|
+
return [4 /*yield*/, getIPLocationDetails(req)];
|
|
111
|
+
case 1:
|
|
112
|
+
ip = _c.sent();
|
|
113
|
+
_a = req.cookies.msp_d, userName = _a.username, userEmail = _a.useremail, companyID = _a.ci;
|
|
114
|
+
allLogsPromisses = [];
|
|
115
|
+
templateStatus = void 0;
|
|
116
|
+
return [4 /*yield*/, removeExtraKeys(logObject, keysToDisplay)];
|
|
117
|
+
case 2:
|
|
118
|
+
logObject = (_c.sent());
|
|
119
|
+
_b = logObject.EventType;
|
|
120
|
+
switch (_b) {
|
|
121
|
+
case log_enum_1.EventType.CalendarAdd: return [3 /*break*/, 3];
|
|
122
|
+
case log_enum_1.EventType.CalendarUpdate: return [3 /*break*/, 3];
|
|
123
|
+
case log_enum_1.EventType.CalendarDelete: return [3 /*break*/, 3];
|
|
124
|
+
case log_enum_1.EventType.DriveAdd: return [3 /*break*/, 9];
|
|
125
|
+
case log_enum_1.EventType.DriveUpdate: return [3 /*break*/, 9];
|
|
126
|
+
case log_enum_1.EventType.DriveDelete: return [3 /*break*/, 9];
|
|
127
|
+
case log_enum_1.EventType.ContentStudioAdd: return [3 /*break*/, 15];
|
|
128
|
+
case log_enum_1.EventType.ContentStudioUpdate: return [3 /*break*/, 15];
|
|
129
|
+
case log_enum_1.EventType.ContentStudioDelete: return [3 /*break*/, 15];
|
|
130
|
+
case log_enum_1.EventType.TemplateAdd: return [3 /*break*/, 16];
|
|
131
|
+
case log_enum_1.EventType.TemplateUpdate: return [3 /*break*/, 16];
|
|
132
|
+
case log_enum_1.EventType.TemplateDelete: return [3 /*break*/, 16];
|
|
133
|
+
case log_enum_1.EventType.RecipientListAdd: return [3 /*break*/, 17];
|
|
134
|
+
case log_enum_1.EventType.RecipientListDelete: return [3 /*break*/, 17];
|
|
135
|
+
case log_enum_1.EventType.RecipientListUpdate: return [3 /*break*/, 17];
|
|
136
|
+
case log_enum_1.EventType.SingleRecipientAdded: return [3 /*break*/, 17];
|
|
137
|
+
case log_enum_1.EventType.AddTag: return [3 /*break*/, 18];
|
|
138
|
+
}
|
|
139
|
+
return [3 /*break*/, 19];
|
|
140
|
+
case 3:
|
|
141
|
+
switch (logObject.EventType) {
|
|
142
|
+
case log_enum_1.EventType.CalendarAdd:
|
|
143
|
+
logObject.EventType = log_enum_1.EventType.Add;
|
|
144
|
+
break;
|
|
145
|
+
case log_enum_1.EventType.CalendarUpdate:
|
|
146
|
+
logObject.EventType = log_enum_1.EventType.Update;
|
|
147
|
+
break;
|
|
148
|
+
case log_enum_1.EventType.CalendarDelete:
|
|
149
|
+
logObject.EventType = log_enum_1.EventType.Delete;
|
|
150
|
+
break;
|
|
151
|
+
}
|
|
152
|
+
i = 0;
|
|
153
|
+
_c.label = 4;
|
|
154
|
+
case 4:
|
|
155
|
+
if (!(i < logObject.NewValue.length)) return [3 /*break*/, 8];
|
|
156
|
+
return [4 /*yield*/, mapAttendeesData(logObject.OldValue[i], req)];
|
|
157
|
+
case 5:
|
|
158
|
+
oldValue = _c.sent();
|
|
159
|
+
return [4 /*yield*/, mapAttendeesData(logObject.NewValue[i], req)];
|
|
160
|
+
case 6:
|
|
161
|
+
newValue = _c.sent();
|
|
162
|
+
comparedObj = comparePreviousAndNewObject(oldValue, newValue);
|
|
163
|
+
allLogsPromisses.push(createLogs(companyID, comparedObj.previousObj, comparedObj.updatedObj, logObject.Module, logObject.EventType, logObject.Schema.Fields, userName, userEmail, ip, req, logsDbConnetion));
|
|
164
|
+
_c.label = 7;
|
|
165
|
+
case 7:
|
|
166
|
+
++i;
|
|
167
|
+
return [3 /*break*/, 4];
|
|
168
|
+
case 8:
|
|
169
|
+
;
|
|
170
|
+
promise_allsettled_1.default(allLogsPromisses).then(function (status) { return console.log("Logs Inserted To DataBase", status); });
|
|
171
|
+
return [3 /*break*/, 20];
|
|
172
|
+
case 9:
|
|
173
|
+
switch (logObject.EventType) {
|
|
174
|
+
case log_enum_1.EventType.DriveAdd:
|
|
175
|
+
logObject.EventType = log_enum_1.EventType.Add;
|
|
176
|
+
break;
|
|
177
|
+
case log_enum_1.EventType.DriveUpdate:
|
|
178
|
+
logObject.EventType = log_enum_1.EventType.Update;
|
|
179
|
+
break;
|
|
180
|
+
case log_enum_1.EventType.DriveDelete:
|
|
181
|
+
logObject.EventType = log_enum_1.EventType.Delete;
|
|
182
|
+
break;
|
|
183
|
+
}
|
|
184
|
+
i = 0;
|
|
185
|
+
_c.label = 10;
|
|
186
|
+
case 10:
|
|
187
|
+
if (!(i < logObject.NewValue.length)) return [3 /*break*/, 14];
|
|
188
|
+
return [4 /*yield*/, mapDriveFolderIdToFolderName(logObject.NewValue[i], db)];
|
|
189
|
+
case 11:
|
|
190
|
+
_c.sent();
|
|
191
|
+
return [4 /*yield*/, mapDriveFolderIdToFolderName(logObject.OldValue[i], db)];
|
|
192
|
+
case 12:
|
|
193
|
+
_c.sent();
|
|
194
|
+
allLogsPromisses.push(createLogs(companyID, logObject.OldValue[i], logObject.NewValue[i], logObject.Module, logObject.EventType, logObject.Schema.Fields, userName, userEmail, ip, req, logsDbConnetion));
|
|
195
|
+
_c.label = 13;
|
|
196
|
+
case 13:
|
|
197
|
+
++i;
|
|
198
|
+
return [3 /*break*/, 10];
|
|
199
|
+
case 14:
|
|
200
|
+
;
|
|
201
|
+
promise_allsettled_1.default(allLogsPromisses).then(function (status) { return console.log("Logs Inserted To DataBase", status); });
|
|
202
|
+
return [3 /*break*/, 20];
|
|
203
|
+
case 15:
|
|
204
|
+
switch (logObject.EventType) {
|
|
205
|
+
case log_enum_1.EventType.ContentStudioAdd:
|
|
206
|
+
logObject.EventType = log_enum_1.EventType.Add;
|
|
207
|
+
break;
|
|
208
|
+
case log_enum_1.EventType.ContentStudioUpdate:
|
|
209
|
+
logObject.EventType = log_enum_1.EventType.Update;
|
|
210
|
+
break;
|
|
211
|
+
case log_enum_1.EventType.ContentStudioDelete:
|
|
212
|
+
logObject.EventType = log_enum_1.EventType.Delete;
|
|
213
|
+
break;
|
|
214
|
+
}
|
|
215
|
+
for (i = 0; i < logObject.NewValue.length; ++i) {
|
|
216
|
+
comparedObj = comparePreviousAndNewObject(logObject.OldValue[i], logObject.NewValue[i]);
|
|
217
|
+
oldObject_1 = mapContentStudioObject(comparedObj.previousObj);
|
|
218
|
+
newObject_1 = mapContentStudioObject(comparedObj.updatedObj);
|
|
219
|
+
allLogsPromisses.push(createLogs(companyID, oldObject_1, newObject_1, logObject.Module, logObject.EventType, logObject.Schema.Fields, userName, userEmail, ip, req, logsDbConnetion));
|
|
220
|
+
}
|
|
221
|
+
promise_allsettled_1.default(allLogsPromisses).then(function (status) { return console.log("Logs Inserted To DataBase", status); });
|
|
222
|
+
return [3 /*break*/, 20];
|
|
223
|
+
case 16:
|
|
224
|
+
newObject = void 0;
|
|
225
|
+
oldObject = void 0;
|
|
226
|
+
switch (logObject.EventType) {
|
|
227
|
+
case log_enum_1.EventType.TemplateAdd:
|
|
228
|
+
logObject.EventType = log_enum_1.EventType.Add;
|
|
229
|
+
templateStatus = 'Template Added';
|
|
230
|
+
oldObject = mapTemplateObject(logObject.OldValue[0], '');
|
|
231
|
+
newObject = mapTemplateObject(logObject.NewValue[0], templateStatus);
|
|
232
|
+
break;
|
|
233
|
+
case log_enum_1.EventType.TemplateUpdate:
|
|
234
|
+
logObject.EventType = log_enum_1.EventType.Update;
|
|
235
|
+
templateStatus = 'Template Updated';
|
|
236
|
+
oldObject = mapTemplateObject(logObject.OldValue[0], '');
|
|
237
|
+
newObject = mapTemplateObject(logObject.NewValue[0], templateStatus);
|
|
238
|
+
break;
|
|
239
|
+
case log_enum_1.EventType.TemplateDelete:
|
|
240
|
+
logObject.EventType = log_enum_1.EventType.Update;
|
|
241
|
+
templateStatus = 'Template Deleted';
|
|
242
|
+
oldObject = mapTemplateObject(logObject.OldValue[0], templateStatus);
|
|
243
|
+
newObject = mapTemplateObject(logObject.NewValue[0], '');
|
|
244
|
+
break;
|
|
245
|
+
}
|
|
246
|
+
allLogsPromisses.push(createLogs(companyID, oldObject, newObject, logObject.Module, logObject.EventType, logObject.Schema.Fields, userName, userEmail, ip, req, logsDbConnetion));
|
|
247
|
+
return [3 /*break*/, 20];
|
|
248
|
+
case 17:
|
|
249
|
+
switch (logObject.EventType) {
|
|
250
|
+
case log_enum_1.EventType.RecipientListAdd:
|
|
251
|
+
logObject.EventType = log_enum_1.EventType.Add;
|
|
252
|
+
status = 'Recipient List Added';
|
|
253
|
+
for (i = 0; i < logObject.NewValue.length; i++) {
|
|
254
|
+
oldObject_2 = {};
|
|
255
|
+
newObject_2 = mapRecipientList(logObject.NewValue[i], status);
|
|
256
|
+
allLogsPromisses.push(createLogs(companyID, oldObject_2, newObject_2, logObject.Module, logObject.EventType, logObject.Schema.Fields, userName, userEmail, ip, req, logsDbConnetion));
|
|
257
|
+
}
|
|
258
|
+
promise_allsettled_1.default(allLogsPromisses).then(function (status) { return console.log("Logs Inserted To DataBase", status); });
|
|
259
|
+
break;
|
|
260
|
+
case log_enum_1.EventType.SingleRecipientAdded:
|
|
261
|
+
logObject.EventType = log_enum_1.EventType.Add;
|
|
262
|
+
status = 'Recipient Added';
|
|
263
|
+
for (i = 0; i < logObject.NewValue.length; i++) {
|
|
264
|
+
oldObject_3 = logObject.OldValue[i];
|
|
265
|
+
oldObject_3 = mapRecipientList(logObject.OldValue[i], '');
|
|
266
|
+
newObject_3 = mapRecipientList(logObject.NewValue[i], status);
|
|
267
|
+
comparedObj = comparePreviousAndNewObject(oldObject_3, newObject_3);
|
|
268
|
+
allLogsPromisses.push(createLogs(companyID, comparedObj.previousObj, comparedObj.updatedObj, logObject.Module, logObject.EventType, logObject.Schema.Fields, userName, userEmail, ip, req, logsDbConnetion));
|
|
269
|
+
}
|
|
270
|
+
promise_allsettled_1.default(allLogsPromisses).then(function (status) { return console.log("Logs Inserted To DataBase", status); });
|
|
271
|
+
break;
|
|
272
|
+
case log_enum_1.EventType.RecipientListDelete:
|
|
273
|
+
logObject.EventType = log_enum_1.EventType.Delete;
|
|
274
|
+
status = 'Template Deleted';
|
|
275
|
+
for (i = 0; i < logObject.OldValue.length; i++) {
|
|
276
|
+
oldObject_4 = mapRecipientList(logObject.OldValue[i], status);
|
|
277
|
+
newObject_4 = {};
|
|
278
|
+
allLogsPromisses.push(createLogs(companyID, oldObject_4, newObject_4, logObject.Module, logObject.EventType, logObject.Schema.Fields, userName, userEmail, ip, req, logsDbConnetion));
|
|
279
|
+
}
|
|
280
|
+
break;
|
|
281
|
+
}
|
|
282
|
+
return [3 /*break*/, 20];
|
|
283
|
+
case 18:
|
|
284
|
+
logObject.EventType = log_enum_1.EventType.Add;
|
|
285
|
+
for (i = 0; i < logObject.NewValue.length; i++) {
|
|
286
|
+
mapedNewObj = mapTagObject(logObject.NewValue[i]);
|
|
287
|
+
mapedOldObj = mapTagObject(logObject.OldValue[i]);
|
|
288
|
+
addNameFieldToObject(logObject.NewValue[i], mapedNewObj);
|
|
289
|
+
addNameFieldToObject(logObject.OldValue[i], mapedOldObj);
|
|
290
|
+
comparedObj = comparePreviousAndNewObject(mapedOldObj, mapedNewObj);
|
|
291
|
+
allLogsPromisses.push(createLogs(companyID, comparedObj.previousObj, comparedObj.updatedObj, logObject.Module, logObject.EventType, logObject.Schema.Fields, userName, userEmail, ip, req, logsDbConnetion));
|
|
292
|
+
}
|
|
293
|
+
promise_allsettled_1.default(allLogsPromisses).then(function (status) { return console.log("Logs Inserted To DataBase", status); });
|
|
294
|
+
return [3 /*break*/, 20];
|
|
295
|
+
case 19:
|
|
296
|
+
for (i = 0; i < logObject.OldValue.length; ++i) {
|
|
297
|
+
comparedObj = { previousObj: {}, updatedObj: logObject.NewValue[i] };
|
|
298
|
+
if (logObject.EventType != log_enum_1.EventType.Delete)
|
|
299
|
+
comparedObj = comparePreviousAndNewObject(logObject.OldValue[i], logObject.NewValue[i]);
|
|
300
|
+
allLogsPromisses.push(createLogs(companyID, comparedObj.previousObj, comparedObj.updatedObj, logObject.Module, logObject.EventType, logObject.Schema.Fields, userName, userEmail, ip, req, logsDbConnetion));
|
|
301
|
+
}
|
|
302
|
+
;
|
|
303
|
+
promise_allsettled_1.default(allLogsPromisses).then(function (status) { return console.log("Logs Inserted To DataBase", status); });
|
|
304
|
+
_c.label = 20;
|
|
305
|
+
case 20: return [3 /*break*/, 22];
|
|
306
|
+
case 21:
|
|
307
|
+
e_1 = _c.sent();
|
|
308
|
+
console.log('Error Occured While Createing Log:', e_1);
|
|
309
|
+
return [3 /*break*/, 22];
|
|
310
|
+
case 22: return [2 /*return*/];
|
|
311
|
+
}
|
|
312
|
+
});
|
|
313
|
+
});
|
|
314
|
+
};
|
|
315
|
+
exports.generateLog = generateLog;
|
|
316
|
+
var mapTagObject = function (object) {
|
|
317
|
+
var obj = { Tags: [] };
|
|
318
|
+
if (object && object.Tag_LookupData) {
|
|
319
|
+
for (var i = 0; i < object.Tag_LookupData.length; ++i) {
|
|
320
|
+
var TagObj = {};
|
|
321
|
+
if (object.Tag_LookupData[i].Name) {
|
|
322
|
+
TagObj['TagName'] = object.Tag_LookupData[i].Name;
|
|
323
|
+
}
|
|
324
|
+
if (object.Tag_LookupData[i].UserDetail) {
|
|
325
|
+
TagObj['TagOwner'] = object.Tag_LookupData[i].UserDetail.FirstName + ' ' + object.Tag_LookupData[i].UserDetail.LastName;
|
|
326
|
+
}
|
|
327
|
+
obj.Tags.push(TagObj);
|
|
328
|
+
}
|
|
329
|
+
}
|
|
330
|
+
return obj;
|
|
331
|
+
};
|
|
332
|
+
/**
|
|
333
|
+
* CreatedBy Ansh
|
|
334
|
+
* @param {CompanyId in String Format } companyID
|
|
335
|
+
* @param {logObject (OldValue) } oldObjValue
|
|
336
|
+
* @param {logObject (NewValue) } newObjValue
|
|
337
|
+
* @param {logObject Module (ModuleName)} module
|
|
338
|
+
* @param {logObject EventType (add/update/delete/calanderAdd/..)} eventType
|
|
339
|
+
* @param {logObject ObjectSchema (Fields in Schema of Object to be loged)} schemaFields
|
|
340
|
+
* @param { User's Name } userName
|
|
341
|
+
* @param {User's Email} userEmail
|
|
342
|
+
* @param {User's Ip} ip
|
|
343
|
+
* @param {Request for database name } req
|
|
344
|
+
*
|
|
345
|
+
* Main Log Function that Map's Field as per object schema and insert log into the mysql database
|
|
346
|
+
*
|
|
347
|
+
*/
|
|
348
|
+
var createLogs = function (companyID, oldObjValue, newObjValue, module, eventType, schemaFields, userName, userEmail, ip, req, sequelize) {
|
|
349
|
+
return new Promise(function (resolve, reject) { return __awaiter(void 0, void 0, void 0, function () {
|
|
350
|
+
var TableName, convertedObj, cleanNewValue, cleanOldValue, changeField, strOldValue, strNewValue, quoteOldValue, quoteNewValue, oldValue, newValue, query, SaveToDB;
|
|
351
|
+
return __generator(this, function (_a) {
|
|
352
|
+
switch (_a.label) {
|
|
353
|
+
case 0:
|
|
354
|
+
TableName = "log-" + companyID.toString();
|
|
355
|
+
return [4 /*yield*/, restoreFieldsAsPerObjectSchema(oldObjValue, newObjValue, schemaFields, req)];
|
|
356
|
+
case 1:
|
|
357
|
+
convertedObj = _a.sent();
|
|
358
|
+
cleanNewValue = removeLookupFields(convertedObj.updatedObj);
|
|
359
|
+
cleanOldValue = removeLookupFields(convertedObj.previousObj);
|
|
360
|
+
return [4 /*yield*/, checklogtable_1.default(TableName, sequelize)];
|
|
361
|
+
case 2:
|
|
362
|
+
_a.sent();
|
|
363
|
+
if (cleanNewValue.Message)
|
|
364
|
+
cleanNewValue.Message = JSON.stringify(cleanNewValue.Message).replace(/\"/g, "");
|
|
365
|
+
if (cleanOldValue.Message)
|
|
366
|
+
cleanOldValue.Message = JSON.stringify(cleanOldValue.Message).replace(/\"/g, "");
|
|
367
|
+
changeField = Object.keys(cleanNewValue).length > 0 ? Object.keys(cleanNewValue).join(',') : Object.keys(cleanOldValue).join(',');
|
|
368
|
+
strOldValue = JSON.stringify(cleanOldValue);
|
|
369
|
+
strNewValue = JSON.stringify(cleanNewValue);
|
|
370
|
+
quoteOldValue = strOldValue.replace(/'/g, "\\'");
|
|
371
|
+
quoteNewValue = strNewValue.replace(/'/g, "\\'");
|
|
372
|
+
oldValue = "'" + quoteOldValue + "'";
|
|
373
|
+
newValue = "'" + quoteNewValue + "'";
|
|
374
|
+
TableName = "`" + TableName + "s`";
|
|
375
|
+
if (!(Object.keys(cleanNewValue).length > 0 || Object.keys(cleanOldValue).length > 0)) return [3 /*break*/, 4];
|
|
376
|
+
query = "INSERT INTO " + TableName + " (CompanyID,UserName,UserEmail,IPAddress,TypeOfChange,ChangeField,Module,OldValue,NewValue) VALUES (\"" + companyID + "\",\"" + userName + "\",\"" + userEmail + "\",\"" + ip + "\",\"" + eventType + "\",\"" + changeField + "\",\"" + module + "\"," + oldValue + "," + newValue + ")";
|
|
377
|
+
return [4 /*yield*/, sequelize.query(query)];
|
|
378
|
+
case 3:
|
|
379
|
+
SaveToDB = _a.sent();
|
|
380
|
+
resolve(SaveToDB);
|
|
381
|
+
_a.label = 4;
|
|
382
|
+
case 4:
|
|
383
|
+
resolve();
|
|
384
|
+
return [2 /*return*/];
|
|
385
|
+
}
|
|
386
|
+
});
|
|
387
|
+
}); });
|
|
388
|
+
};
|
|
389
|
+
var createSessionLogs = function (req, logDetails, sequelize) { return __awaiter(void 0, void 0, void 0, function () {
|
|
390
|
+
return __generator(this, function (_a) {
|
|
391
|
+
return [2 /*return*/, new Promise(function (resolve, reject) { return __awaiter(void 0, void 0, void 0, function () {
|
|
392
|
+
var CompanyId, TableName, _a, _b, LogType, UserName, UserEmail, IPAddress, Browser, Status, Platform, Application, query, SaveToDB;
|
|
393
|
+
return __generator(this, function (_c) {
|
|
394
|
+
switch (_c.label) {
|
|
395
|
+
case 0:
|
|
396
|
+
CompanyId = logDetails.CompanyId;
|
|
397
|
+
TableName = "log-" + CompanyId.toString();
|
|
398
|
+
return [4 /*yield*/, checklogtable_1.default(TableName, sequelize)];
|
|
399
|
+
case 1:
|
|
400
|
+
_c.sent();
|
|
401
|
+
TableName = "`" + TableName + "s`";
|
|
402
|
+
console.log('log detail', logDetails);
|
|
403
|
+
_a = logDetails;
|
|
404
|
+
_b = 'IPAddress';
|
|
405
|
+
return [4 /*yield*/, getIPLocationDetails(req)];
|
|
406
|
+
case 2:
|
|
407
|
+
_a[_b] = (_c.sent());
|
|
408
|
+
LogType = logDetails.LogType, UserName = logDetails.UserName, UserEmail = logDetails.UserEmail, IPAddress = logDetails.IPAddress, Browser = logDetails.Browser, Status = logDetails.Status, Platform = logDetails.Platform, Application = logDetails.Application;
|
|
409
|
+
LogType = LogType ? LogType : 'session';
|
|
410
|
+
query = "INSERT INTO " + TableName + " (CompanyID,UserName,UserEmail,IPAddress,Browser,Status,Platform,Application,LogType) VALUES (\"" + CompanyId + "\",\"" + UserName + "\",\"" + UserEmail + "\",\"" + IPAddress + "\",\"" + Browser + "\",\"" + Status + "\",\"" + Platform + "\",\"" + Application + "\",\"" + LogType + "\")";
|
|
411
|
+
return [4 /*yield*/, sequelize.query(query)];
|
|
412
|
+
case 3:
|
|
413
|
+
SaveToDB = _c.sent();
|
|
414
|
+
resolve(SaveToDB);
|
|
415
|
+
return [2 /*return*/];
|
|
416
|
+
}
|
|
417
|
+
});
|
|
418
|
+
}); })];
|
|
419
|
+
});
|
|
420
|
+
}); };
|
|
421
|
+
exports.createSessionLogs = createSessionLogs;
|
|
422
|
+
// Converts Object To String To View Data In Audit Log Grid
|
|
423
|
+
// const convertObjectToDisplayAbleString = ( object )=>{
|
|
424
|
+
// let Accumalator = [];
|
|
425
|
+
// Object.keys(object).forEach((key, index) => {
|
|
426
|
+
// Accumalator.push(`${key} has been changed to ${object[key]}`)
|
|
427
|
+
// });
|
|
428
|
+
// return Accumalator.join(',')
|
|
429
|
+
// }
|
|
430
|
+
/**
|
|
431
|
+
*
|
|
432
|
+
* @param { Log NewObject/OldObject } object
|
|
433
|
+
* @param { filterObject to be returned } objectToSet
|
|
434
|
+
* To Add a mendatory field Name to the object
|
|
435
|
+
*
|
|
436
|
+
*/
|
|
437
|
+
var addNameFieldToObject = function (object, objectToSet) {
|
|
438
|
+
var allKeys = Object.keys(object);
|
|
439
|
+
if (!allKeys.find(function (key) { return key == 'Name'; })) {
|
|
440
|
+
if (allKeys.find(function (key) { return key == 'FirstName'; }) && allKeys.find(function (key) { return key == 'LastName'; })) {
|
|
441
|
+
objectToSet['Name'] = object['FirstName'] + ' ' + object['LastName'];
|
|
442
|
+
}
|
|
443
|
+
else if (allKeys.find(function (key) { return key == 'Title'; })) {
|
|
444
|
+
objectToSet['Name'] = object['Title'];
|
|
445
|
+
}
|
|
446
|
+
else if (allKeys.find(function (key) { return key == 'Subject'; })) {
|
|
447
|
+
objectToSet['Name'] = object['Subject'];
|
|
448
|
+
}
|
|
449
|
+
else if (allKeys.find(function (key) { return key == 'FolderName'; })) {
|
|
450
|
+
objectToSet['Name'] = object['FolderName'];
|
|
451
|
+
}
|
|
452
|
+
else if (allKeys.find(function (key) { return key == 'BranchCode'; })) {
|
|
453
|
+
objectToSet['Name'] = object['BranchCode'];
|
|
454
|
+
}
|
|
455
|
+
else if (Object.keys(objectToSet).find(function (key) { return key == 'Contact'; })) {
|
|
456
|
+
objectToSet['Name'] = objectToSet['Contact'];
|
|
457
|
+
}
|
|
458
|
+
else if (allKeys.find(function (key) { return key == 'ContactID_LookupData'; })) {
|
|
459
|
+
objectToSet['Name'] = object['ContactID_LookupData']['FirstName'] + ' ' + object['ContactID_LookupData']['LastName'];
|
|
460
|
+
}
|
|
461
|
+
}
|
|
462
|
+
else {
|
|
463
|
+
objectToSet['Name'] = object['Name'];
|
|
464
|
+
}
|
|
465
|
+
};
|
|
466
|
+
/**
|
|
467
|
+
*
|
|
468
|
+
* @param {old state object ( previous object )} previousObject
|
|
469
|
+
* @param {new state object ( new object )} newObject
|
|
470
|
+
* Returns the Updated Object and Previous Object
|
|
471
|
+
*
|
|
472
|
+
*/
|
|
473
|
+
var comparePreviousAndNewObject = function (previousObject, newObject) {
|
|
474
|
+
var comparedObject = { 'updatedObj': {}, 'previousObj': {} };
|
|
475
|
+
(previousObject && previousObject.Name) ? comparedObject['previousObj']['Name'] = previousObject['Name'] : addNameFieldToObject(previousObject, comparedObject['previousObj']);
|
|
476
|
+
(newObject && newObject.Name) ? comparedObject['updatedObj']['Name'] = newObject['Name'] : addNameFieldToObject(newObject, comparedObject['updatedObj']);
|
|
477
|
+
if (!_utility.IsEqualValue(previousObject, newObject)) {
|
|
478
|
+
Object.keys(previousObject).forEach(function (key) {
|
|
479
|
+
if (key != 'IsActive' && !key.includes(constants_1.default.LookupAlias)) {
|
|
480
|
+
(newObject[key] == null && Array.isArray(previousObject[key])) ? newObject[key] = [] : '';
|
|
481
|
+
if (Array.isArray(previousObject[key]) && Array.isArray(newObject[key]) && previousObject[key].length !== newObject[key].length && previousObject[key].length != 0) {
|
|
482
|
+
comparedObject['previousObj'][key] = previousObject[key];
|
|
483
|
+
}
|
|
484
|
+
else if (Array.isArray(previousObject[key]) && Array.isArray(newObject[key]) && previousObject[key].length === newObject[key].length) {
|
|
485
|
+
for (var i = 0; i < previousObject[key].length; i++) {
|
|
486
|
+
if (objectsEqual(previousObject[key][i], newObject[key][i]) == false) {
|
|
487
|
+
comparedObject['previousObj'][key] = previousObject[key];
|
|
488
|
+
break;
|
|
489
|
+
}
|
|
490
|
+
}
|
|
491
|
+
}
|
|
492
|
+
if (!Array.isArray(previousObject[key]) && JSON.stringify(previousObject[key]) !== JSON.stringify(newObject[key])) {
|
|
493
|
+
comparedObject['previousObj'][key] = JSON.parse(JSON.stringify(previousObject[key]));
|
|
494
|
+
}
|
|
495
|
+
}
|
|
496
|
+
else if (key.includes(constants_1.default.LookupAlias)) {
|
|
497
|
+
comparedObject['previousObj'][key] = JSON.parse(JSON.stringify(previousObject[key]));
|
|
498
|
+
}
|
|
499
|
+
});
|
|
500
|
+
Object.keys(newObject).forEach(function (key) {
|
|
501
|
+
if (key != 'IsActive' && !key.includes(constants_1.default.LookupAlias)) {
|
|
502
|
+
(previousObject[key] == null && Array.isArray(newObject[key])) ? previousObject[key] = [] : '';
|
|
503
|
+
if (Array.isArray(previousObject[key]) && Array.isArray(newObject[key]) && previousObject[key].length !== newObject[key].length && newObject[key].length != 0) {
|
|
504
|
+
comparedObject['updatedObj'][key] = newObject[key];
|
|
505
|
+
}
|
|
506
|
+
else if (Array.isArray(previousObject[key]) && Array.isArray(newObject[key]) && previousObject[key].length === newObject[key].length) {
|
|
507
|
+
for (var i = 0; i < previousObject[key].length; i++) {
|
|
508
|
+
if (objectsEqual(previousObject[key][i], newObject[key][i]) == false) {
|
|
509
|
+
comparedObject['updatedObj'][key] = newObject[key];
|
|
510
|
+
break;
|
|
511
|
+
}
|
|
512
|
+
}
|
|
513
|
+
}
|
|
514
|
+
if (!Array.isArray(newObject[key]) && JSON.stringify(previousObject[key]) !== JSON.stringify(newObject[key])) {
|
|
515
|
+
comparedObject['updatedObj'][key] = JSON.parse(JSON.stringify(newObject[key]));
|
|
516
|
+
}
|
|
517
|
+
}
|
|
518
|
+
else if (key.includes(constants_1.default.LookupAlias)) {
|
|
519
|
+
comparedObject['updatedObj'][key] = JSON.parse(JSON.stringify(newObject[key]));
|
|
520
|
+
}
|
|
521
|
+
});
|
|
522
|
+
}
|
|
523
|
+
return comparedObject;
|
|
524
|
+
};
|
|
525
|
+
var objectsEqual = function (o1, o2) { return Object.keys(o1).length === Object.keys(o2).length && Object.keys(o1).every(function (p) { return o1[p] === o2[p]; }); };
|
|
526
|
+
/**
|
|
527
|
+
*
|
|
528
|
+
* @param { old state object ( previous object ) } previousObjects
|
|
529
|
+
* @param { new state object ( new object ) } newObject
|
|
530
|
+
* @param { object schema fields } schema
|
|
531
|
+
* @param { request } req
|
|
532
|
+
*/
|
|
533
|
+
var restoreFieldsAsPerObjectSchema = function (previousObjects, newObject, schema, req) {
|
|
534
|
+
return new Promise(function (resolve, reject) { return __awaiter(void 0, void 0, void 0, function () {
|
|
535
|
+
var restoredObject, _a, _b, _c, _d;
|
|
536
|
+
return __generator(this, function (_e) {
|
|
537
|
+
switch (_e.label) {
|
|
538
|
+
case 0:
|
|
539
|
+
restoredObject = { previousObj: {}, updatedObj: {} };
|
|
540
|
+
_a = restoredObject;
|
|
541
|
+
_b = 'previousObj';
|
|
542
|
+
return [4 /*yield*/, convertAndReturnValuesAsPerObjectSchema(previousObjects, schema, req)];
|
|
543
|
+
case 1:
|
|
544
|
+
_a[_b] = (_e.sent());
|
|
545
|
+
_c = restoredObject;
|
|
546
|
+
_d = 'updatedObj';
|
|
547
|
+
return [4 /*yield*/, convertAndReturnValuesAsPerObjectSchema(newObject, schema, req)];
|
|
548
|
+
case 2:
|
|
549
|
+
_c[_d] = (_e.sent());
|
|
550
|
+
resolve(restoredObject);
|
|
551
|
+
return [2 /*return*/];
|
|
552
|
+
}
|
|
553
|
+
});
|
|
554
|
+
}); });
|
|
555
|
+
};
|
|
556
|
+
/**
|
|
557
|
+
*
|
|
558
|
+
* @param { old/new object } object
|
|
559
|
+
* @param { current key to be checked } key
|
|
560
|
+
* @param { object schema } schema
|
|
561
|
+
* @param { restoredObject (clean object to be returned after mapping the lookup fields) } restoredObject
|
|
562
|
+
* @param { request } req
|
|
563
|
+
*
|
|
564
|
+
*
|
|
565
|
+
*/
|
|
566
|
+
var checkForLookupAndListSchema = function (object, key, schema, restoredObject, req) {
|
|
567
|
+
return new Promise(function (resolve, reject) { return __awaiter(void 0, void 0, void 0, function () {
|
|
568
|
+
var objectid, objSchema, schemalookupfieldsDisplayValue_1, DisplayableName, value_1, db, objSchema, DisplayableName, ListSchema_1, DisplayAbleValue_1, previousListSchemaData, valueToDisplay_1, db, UserInfo, valueToDisplay_2, objSchema, schemalookupfieldsDisplayValue_2, DisplayableName, value_2;
|
|
569
|
+
return __generator(this, function (_a) {
|
|
570
|
+
switch (_a.label) {
|
|
571
|
+
case 0:
|
|
572
|
+
objectid = mongodb_1.default.ObjectId;
|
|
573
|
+
if (!(schema.find(function (o) { return o.Name == key && o.LookupFields && o.LookupFields.length > 0; }) && key !== 'Tag')) return [3 /*break*/, 1];
|
|
574
|
+
objSchema = schema.find(function (o) { return o.Name == key; });
|
|
575
|
+
schemalookupfieldsDisplayValue_1 = objSchema.LookupFields;
|
|
576
|
+
DisplayableName = objSchema.DisplayName;
|
|
577
|
+
value_1 = '';
|
|
578
|
+
if (key == 'Product') {
|
|
579
|
+
restoredObject['Name'] = object[key + constants_1.default.LookupAlias]['Name'];
|
|
580
|
+
}
|
|
581
|
+
if (Array.isArray(object["" + (key.toString() + constants_1.default.LookupAlias)]) && object["" + (key.toString() + constants_1.default.LookupAlias)].length > 0) {
|
|
582
|
+
object["" + (key.toString() + constants_1.default.LookupAlias)].forEach(function (obj) {
|
|
583
|
+
Object.keys(obj).forEach(function (lookupfield) {
|
|
584
|
+
if (schemalookupfieldsDisplayValue_1.find(function (o) { return o.toString() == lookupfield.toString(); })) {
|
|
585
|
+
value_1 += obj[lookupfield] + " ";
|
|
586
|
+
}
|
|
587
|
+
});
|
|
588
|
+
});
|
|
589
|
+
restoredObject[DisplayableName] = value_1;
|
|
590
|
+
}
|
|
591
|
+
else {
|
|
592
|
+
if (object["" + (key.toString() + constants_1.default.LookupAlias)] != null && Object.keys(object["" + (key.toString() + constants_1.default.LookupAlias)]).length > 1) {
|
|
593
|
+
Object.keys(object["" + (key.toString() + constants_1.default.LookupAlias)]).forEach(function (lookupfield) {
|
|
594
|
+
if (schemalookupfieldsDisplayValue_1.find(function (o) { return o.toString() == lookupfield.toString(); })) {
|
|
595
|
+
value_1 += object["" + (key.toString() + constants_1.default.LookupAlias)][lookupfield] + " ";
|
|
596
|
+
}
|
|
597
|
+
});
|
|
598
|
+
}
|
|
599
|
+
restoredObject[DisplayableName] = value_1;
|
|
600
|
+
}
|
|
601
|
+
return [3 /*break*/, 12];
|
|
602
|
+
case 1:
|
|
603
|
+
if (!schema.find(function (o) { return o.Name == key && o.ListSchemaName; })) return [3 /*break*/, 6];
|
|
604
|
+
db = global['dbConnections'][req.DBName];
|
|
605
|
+
objSchema = schema.find(function (o) { return o.Name == key; });
|
|
606
|
+
DisplayableName = objSchema.DisplayName;
|
|
607
|
+
return [4 /*yield*/, db.collection('ListSchema').findOne({
|
|
608
|
+
Name: objSchema.ListSchemaName
|
|
609
|
+
})];
|
|
610
|
+
case 2:
|
|
611
|
+
ListSchema_1 = _a.sent();
|
|
612
|
+
if (!ListSchema_1) return [3 /*break*/, 5];
|
|
613
|
+
if (!Array.isArray(object[key])) return [3 /*break*/, 4];
|
|
614
|
+
DisplayAbleValue_1 = '';
|
|
615
|
+
return [4 /*yield*/, object[key].forEach(function (k) {
|
|
616
|
+
var previousListSchemaData = ListSchema_1.Data.find(function (o) { return o.Key == k; });
|
|
617
|
+
if (previousListSchemaData) {
|
|
618
|
+
DisplayAbleValue_1 += previousListSchemaData.Value + ' ';
|
|
619
|
+
}
|
|
620
|
+
})];
|
|
621
|
+
case 3:
|
|
622
|
+
_a.sent();
|
|
623
|
+
restoredObject[DisplayableName] = DisplayAbleValue_1;
|
|
624
|
+
return [3 /*break*/, 5];
|
|
625
|
+
case 4:
|
|
626
|
+
previousListSchemaData = ListSchema_1.Data.find(function (o) { return o.Key == object[key]; });
|
|
627
|
+
if (previousListSchemaData) {
|
|
628
|
+
restoredObject[DisplayableName] = previousListSchemaData.Value;
|
|
629
|
+
}
|
|
630
|
+
_a.label = 5;
|
|
631
|
+
case 5: return [3 /*break*/, 12];
|
|
632
|
+
case 6:
|
|
633
|
+
if (!(object[key.toString() + constants_1.default.LookupAlias] && !Object.keys(object).find(function (o) { return o == 'Name'; }) || (object[key.toString() + constants_1.default.LookupAlias] && key == 'Tag_LookupData'))) return [3 /*break*/, 7];
|
|
634
|
+
valueToDisplay_1 = "";
|
|
635
|
+
if (key == 'Tag_LookupData') {
|
|
636
|
+
restoredObject['TagName'] = object[key]['Name'];
|
|
637
|
+
}
|
|
638
|
+
if (object['ObjectSchemaName']) {
|
|
639
|
+
restoredObject['Module'] = object['ObjectSchemaName'];
|
|
640
|
+
delete object['ObjectSchemaName'];
|
|
641
|
+
}
|
|
642
|
+
delete object['ObjectSchemaID'];
|
|
643
|
+
Object.keys(object[key.toString() + constants_1.default.LookupAlias]).forEach(function (k) {
|
|
644
|
+
if (k != 'IsActive' && k != '_id') {
|
|
645
|
+
valueToDisplay_1 += " " + object[key.toString() + constants_1.default.LookupAlias][k];
|
|
646
|
+
}
|
|
647
|
+
});
|
|
648
|
+
restoredObject['Name'] = valueToDisplay_1;
|
|
649
|
+
return [3 /*break*/, 12];
|
|
650
|
+
case 7:
|
|
651
|
+
if (!(key == "ObjectSchemaName")) return [3 /*break*/, 8];
|
|
652
|
+
restoredObject['Module'] = object["ObjectSchemaName"];
|
|
653
|
+
delete object['ObjectSchemaName'];
|
|
654
|
+
return [3 /*break*/, 12];
|
|
655
|
+
case 8:
|
|
656
|
+
if (!(key == "ObjectSchemaID")) return [3 /*break*/, 9];
|
|
657
|
+
delete object["ObjectSchemaID"];
|
|
658
|
+
return [3 /*break*/, 12];
|
|
659
|
+
case 9:
|
|
660
|
+
if (!(key == 'CreatedBy' && objectid.isValid(object[key]) || key == 'ModifiedBy' && objectid.isValid(object[key]))) return [3 /*break*/, 11];
|
|
661
|
+
db = global['dbConnections'][req.DBName];
|
|
662
|
+
return [4 /*yield*/, db.collection('User').findOne({
|
|
663
|
+
_id: new mongodb_1.default.ObjectId(object[key])
|
|
664
|
+
})];
|
|
665
|
+
case 10:
|
|
666
|
+
UserInfo = _a.sent();
|
|
667
|
+
if (UserInfo && UserInfo.FirstName && UserInfo.LastName) {
|
|
668
|
+
restoredObject[key] = UserInfo.FirstName + ' ' + UserInfo.LastName;
|
|
669
|
+
}
|
|
670
|
+
return [3 /*break*/, 12];
|
|
671
|
+
case 11:
|
|
672
|
+
if (!Array.isArray(object[key]) && typeof object[key] == "object" && bson_1.EJSON.parse(JSON.stringify(object[key])) && !key.toLowerCase().includes('date') && !object[key.toString() + constants_1.default.LookupAlias] && key !== 'ColumnList' && key != 'SearchAddress' && key != "AddedReceiptent") {
|
|
673
|
+
(object[key]['$numberDecimal']) ? restoredObject[key] = object[key]['$numberDecimal'] : restoredObject[key] = object[key].toString();
|
|
674
|
+
}
|
|
675
|
+
else if (key == "IsHeadOffice") {
|
|
676
|
+
restoredObject['HeadOffice'] = object[key] == true ? 'yes' : 'no';
|
|
677
|
+
}
|
|
678
|
+
else if (key == 'Document') {
|
|
679
|
+
valueToDisplay_2 = '';
|
|
680
|
+
Object.keys(object[key.toString() + constants_1.default.LookupAlias]).forEach(function (k) {
|
|
681
|
+
if (k != 'IsActive' && k != '_id') {
|
|
682
|
+
valueToDisplay_2 += " " + object[key.toString() + constants_1.default.LookupAlias][k];
|
|
683
|
+
}
|
|
684
|
+
});
|
|
685
|
+
restoredObject[key] = valueToDisplay_2;
|
|
686
|
+
}
|
|
687
|
+
else if (key == 'Product') {
|
|
688
|
+
restoredObject['Name'] = object[key]["Name"];
|
|
689
|
+
}
|
|
690
|
+
else if (key == 'Tag' && Array.isArray(object['Tag' + constants_1.default.LookupAlias])) {
|
|
691
|
+
objSchema = schema.find(function (o) { return o.Name == key; });
|
|
692
|
+
schemalookupfieldsDisplayValue_2 = objSchema.LookupFields;
|
|
693
|
+
DisplayableName = objSchema.DisplayName;
|
|
694
|
+
value_2 = '';
|
|
695
|
+
object["" + (key.toString() + constants_1.default.LookupAlias)].forEach(function (obj) {
|
|
696
|
+
Object.keys(obj).forEach(function (lookupfield) {
|
|
697
|
+
if (schemalookupfieldsDisplayValue_2.find(function (o) { return o.toString() == lookupfield.toString(); })) {
|
|
698
|
+
value_2 += obj[lookupfield] + " ";
|
|
699
|
+
}
|
|
700
|
+
});
|
|
701
|
+
});
|
|
702
|
+
restoredObject[DisplayableName] = value_2;
|
|
703
|
+
}
|
|
704
|
+
else if (key != "SearchAddress" && key !== 'IsActive' && key !== "RelationID" && key !== "OperaProfileId" && key !== 'ColumnList' && key !== 'CompanyID' && key !== 'TemplateID' && key != 'TemplateBlockContent' && key != 'TemplateEmailContent') {
|
|
705
|
+
restoredObject[key] = object[key];
|
|
706
|
+
}
|
|
707
|
+
_a.label = 12;
|
|
708
|
+
case 12:
|
|
709
|
+
addNameFieldToObject(object, restoredObject);
|
|
710
|
+
resolve(restoredObject);
|
|
711
|
+
return [2 /*return*/];
|
|
712
|
+
}
|
|
713
|
+
});
|
|
714
|
+
}); });
|
|
715
|
+
};
|
|
716
|
+
/**
|
|
717
|
+
*
|
|
718
|
+
* @param { new/Old Value } object
|
|
719
|
+
* @param { object schema field } schema
|
|
720
|
+
* @param { request } req
|
|
721
|
+
*
|
|
722
|
+
*/
|
|
723
|
+
var convertAndReturnValuesAsPerObjectSchema = function (object, schema, req) {
|
|
724
|
+
return new Promise(function (resolve, reject) { return __awaiter(void 0, void 0, void 0, function () {
|
|
725
|
+
var restoredObject, allPromises, AllKeys, _i, AllKeys_1, key;
|
|
726
|
+
return __generator(this, function (_a) {
|
|
727
|
+
restoredObject = {};
|
|
728
|
+
allPromises = [];
|
|
729
|
+
(object.TemplateBlockContent) ? delete object.TemplateBlockContent : '';
|
|
730
|
+
(object.TemplateEmailContent) ? delete object.TemplateEmailContent : '';
|
|
731
|
+
(object.ColumnList) ? delete object.ColumnList : '';
|
|
732
|
+
(object.CompanyID) ? delete object.CompanyID : '';
|
|
733
|
+
(object.TemplateID) ? delete object.TemplateID : '';
|
|
734
|
+
AllKeys = Object.keys(object);
|
|
735
|
+
for (_i = 0, AllKeys_1 = AllKeys; _i < AllKeys_1.length; _i++) {
|
|
736
|
+
key = AllKeys_1[_i];
|
|
737
|
+
allPromises.push(checkForLookupAndListSchema(object, key, schema, restoredObject, req));
|
|
738
|
+
}
|
|
739
|
+
;
|
|
740
|
+
Promise.all(allPromises).then(function () { return resolve(restoredObject); });
|
|
741
|
+
return [2 /*return*/];
|
|
742
|
+
});
|
|
743
|
+
}); });
|
|
744
|
+
};
|
|
745
|
+
/**
|
|
746
|
+
*
|
|
747
|
+
* @param { oldValue/newValue Object } obj
|
|
748
|
+
*
|
|
749
|
+
*/
|
|
750
|
+
//to Remove Lookup Fields , _id and Modified Date from Logs
|
|
751
|
+
var removeLookupFields = function (obj) {
|
|
752
|
+
var cleanObj = {};
|
|
753
|
+
Object.keys(obj).forEach(function (key) {
|
|
754
|
+
if (key.includes(constants_1.default.LookupAlias) || key == '_id' || key == 'ModifiedDate') {
|
|
755
|
+
delete obj[key];
|
|
756
|
+
}
|
|
757
|
+
else {
|
|
758
|
+
cleanObj[key] = obj[key];
|
|
759
|
+
}
|
|
760
|
+
});
|
|
761
|
+
return cleanObj;
|
|
762
|
+
};
|
|
763
|
+
/**
|
|
764
|
+
*
|
|
765
|
+
* @param { old/newObject } obj
|
|
766
|
+
* @param { fieldsToShow in log table } toDisplay
|
|
767
|
+
*
|
|
768
|
+
*/
|
|
769
|
+
//To Remove Non DisplayAble Field in Logs
|
|
770
|
+
var removeExtraKeys = function (obj, toDisplay) {
|
|
771
|
+
var filteredObj = {};
|
|
772
|
+
if (toDisplay.length > 0) {
|
|
773
|
+
Object.keys(obj).forEach(function (key) {
|
|
774
|
+
if (Array.isArray(obj[key]) && obj[key].length > 0) {
|
|
775
|
+
var filteredArray_1 = [];
|
|
776
|
+
obj[key].forEach(function (o) {
|
|
777
|
+
var obj = {};
|
|
778
|
+
Object.keys(o).forEach(function (k) {
|
|
779
|
+
if (toDisplay.find(function (o) { return o == k; }) || k.includes(constants_1.default.LookupAlias)) {
|
|
780
|
+
obj[k] = o[k];
|
|
781
|
+
}
|
|
782
|
+
});
|
|
783
|
+
filteredArray_1.push(obj);
|
|
784
|
+
});
|
|
785
|
+
filteredObj[key] = filteredArray_1;
|
|
786
|
+
}
|
|
787
|
+
else {
|
|
788
|
+
filteredObj[key] = obj[key];
|
|
789
|
+
}
|
|
790
|
+
});
|
|
791
|
+
return __assign({}, filteredObj);
|
|
792
|
+
}
|
|
793
|
+
return __assign({}, obj);
|
|
794
|
+
};
|
|
795
|
+
/**
|
|
796
|
+
*
|
|
797
|
+
* @param { attendee object } attendee
|
|
798
|
+
* @param { current key of attendee object} key
|
|
799
|
+
* @param { object to be returned } filterdObj
|
|
800
|
+
* @param {database reference} db
|
|
801
|
+
*
|
|
802
|
+
*/
|
|
803
|
+
//fetch user/contact info from viewAttendee
|
|
804
|
+
var mapAttendeToContactAndUser = function (attendee, key, filterdObj, db) {
|
|
805
|
+
return new Promise(function (resolve, reject) { return __awaiter(void 0, void 0, void 0, function () {
|
|
806
|
+
var Users, alluserInfo, userInfo, inviteInfo, tranformedObj;
|
|
807
|
+
return __generator(this, function (_a) {
|
|
808
|
+
switch (_a.label) {
|
|
809
|
+
case 0:
|
|
810
|
+
Users = [];
|
|
811
|
+
(attendee.Id) ? Users.push(new mongodb_1.default.ObjectId(attendee.Id)) : '';
|
|
812
|
+
(attendee.InvitedBy) ? Users.push(new mongodb_1.default.ObjectId(attendee.InvitedBy)) : '';
|
|
813
|
+
return [4 /*yield*/, db.collection('ViewAttendee').find({ _id: { $in: Users } }, { projection: { Name: 1 } }).toArray()];
|
|
814
|
+
case 1:
|
|
815
|
+
alluserInfo = _a.sent();
|
|
816
|
+
userInfo = alluserInfo.find(function (o) { return o._id.toString() == attendee.Id.toString(); });
|
|
817
|
+
inviteInfo = alluserInfo.find(function (o) { return o._id.toString() == attendee.InvitedBy.toString(); });
|
|
818
|
+
tranformedObj = {};
|
|
819
|
+
(userInfo && userInfo.Name) ? tranformedObj['Name'] = userInfo.Name : '';
|
|
820
|
+
tranformedObj['InvitationStatus'] = attendee.Status;
|
|
821
|
+
attendee.StatusType ? tranformedObj['UserAvaliability'] = attendee.StatusType : '';
|
|
822
|
+
(userInfo && userInfo.Name) ? tranformedObj['InvitedBy'] = inviteInfo.Name : '';
|
|
823
|
+
tranformedObj['Locked'] = (attendee.Lock && attendee.Lock == true) ? 'Yes' : 'No';
|
|
824
|
+
filterdObj.Attendess.push(tranformedObj);
|
|
825
|
+
resolve();
|
|
826
|
+
return [2 /*return*/];
|
|
827
|
+
}
|
|
828
|
+
});
|
|
829
|
+
}); });
|
|
830
|
+
};
|
|
831
|
+
/**
|
|
832
|
+
*
|
|
833
|
+
* @param { old/newObject } obj
|
|
834
|
+
* @param { request } req
|
|
835
|
+
*
|
|
836
|
+
*/
|
|
837
|
+
// used to tranform calander attendedata into a displayable log format
|
|
838
|
+
var mapAttendeesData = function (obj, req) { return __awaiter(void 0, void 0, void 0, function () {
|
|
839
|
+
return __generator(this, function (_a) {
|
|
840
|
+
return [2 /*return*/, new Promise(function (resolve, reject) {
|
|
841
|
+
var db = global['dbConnections'][req.DBName];
|
|
842
|
+
var filterdObj = {};
|
|
843
|
+
var allPromises = [];
|
|
844
|
+
Object.keys(obj).forEach(function (key) { return __awaiter(void 0, void 0, void 0, function () {
|
|
845
|
+
var _i, _a, attendee;
|
|
846
|
+
return __generator(this, function (_b) {
|
|
847
|
+
if (key === 'AttendeesData' && Array.isArray(obj[key])) {
|
|
848
|
+
filterdObj.Attendess = [];
|
|
849
|
+
for (_i = 0, _a = obj[key]; _i < _a.length; _i++) {
|
|
850
|
+
attendee = _a[_i];
|
|
851
|
+
if (attendee.Type == 'user' || attendee.Type == 'contact') {
|
|
852
|
+
allPromises.push(mapAttendeToContactAndUser(attendee, key, filterdObj, db));
|
|
853
|
+
}
|
|
854
|
+
}
|
|
855
|
+
}
|
|
856
|
+
else if (key === 'IsAllDay') {
|
|
857
|
+
filterdObj['AllDay'] = obj[key] == true ? 'Yes' : 'No';
|
|
858
|
+
}
|
|
859
|
+
else if (key === 'Subject') {
|
|
860
|
+
filterdObj['Name'] = obj[key];
|
|
861
|
+
}
|
|
862
|
+
else {
|
|
863
|
+
filterdObj[key] = obj[key];
|
|
864
|
+
}
|
|
865
|
+
return [2 /*return*/];
|
|
866
|
+
});
|
|
867
|
+
}); });
|
|
868
|
+
promise_allsettled_1.default(allPromises).then(function () {
|
|
869
|
+
resolve(filterdObj);
|
|
870
|
+
});
|
|
871
|
+
})];
|
|
872
|
+
});
|
|
873
|
+
}); };
|
|
874
|
+
/**
|
|
875
|
+
*
|
|
876
|
+
* @param { driveObject new Value / old Value } driveObj
|
|
877
|
+
* @param { database reference } db
|
|
878
|
+
* map folder id to orignal folder name
|
|
879
|
+
*/
|
|
880
|
+
var mapDriveFolderIdToFolderName = function (driveObj, db) {
|
|
881
|
+
return new Promise(function (resolve, reject) { return __awaiter(void 0, void 0, void 0, function () {
|
|
882
|
+
var sharedUsers_1, parentFolderName, allExternalShares_1;
|
|
883
|
+
return __generator(this, function (_a) {
|
|
884
|
+
switch (_a.label) {
|
|
885
|
+
case 0:
|
|
886
|
+
(driveObj.ContentType && driveObj.ContentType.length == 0 || driveObj.ContentType == 'folder') ? delete driveObj.ContentType : '';
|
|
887
|
+
(driveObj.Size) ? driveObj['Size'] = utility_1.ConvertFileByteSize(driveObj.Size) : '';
|
|
888
|
+
if (driveObj['FileName']) {
|
|
889
|
+
driveObj['Name'] = driveObj['FileName'];
|
|
890
|
+
delete driveObj['FileName'];
|
|
891
|
+
}
|
|
892
|
+
if (driveObj.SharedUserIDs) {
|
|
893
|
+
sharedUsers_1 = [];
|
|
894
|
+
driveObj['SharedUserIDs' + constants_1.default.LookupAlias].forEach(function (sharedUser) {
|
|
895
|
+
if (sharedUser.FirstName && sharedUser.LastName && sharedUser.Email) {
|
|
896
|
+
sharedUsers_1.push({ 'Name': sharedUser.FirstName + ' ' + sharedUser.LastName, 'Email': sharedUser.Email });
|
|
897
|
+
}
|
|
898
|
+
});
|
|
899
|
+
driveObj['SharedWith'] = sharedUsers_1;
|
|
900
|
+
driveObj['ShareType'] = 'Internal Share';
|
|
901
|
+
delete driveObj.SharedUserIDs;
|
|
902
|
+
}
|
|
903
|
+
if (!(driveObj.FolderId == 'root')) return [3 /*break*/, 1];
|
|
904
|
+
driveObj['FolderName'] = driveObj.FolderId;
|
|
905
|
+
delete driveObj.FolderId;
|
|
906
|
+
return [3 /*break*/, 3];
|
|
907
|
+
case 1: return [4 /*yield*/, db.collection('Drive').findOne({ _id: new mongodb_1.default.ObjectId(driveObj.FolderId) }, { projection: { FileName: 1, _id: 0 } })];
|
|
908
|
+
case 2:
|
|
909
|
+
parentFolderName = _a.sent();
|
|
910
|
+
delete driveObj.FolderId;
|
|
911
|
+
(parentFolderName) ? driveObj['FolderName'] = parentFolderName.FileName : '';
|
|
912
|
+
_a.label = 3;
|
|
913
|
+
case 3:
|
|
914
|
+
if (driveObj.ExternalShare) {
|
|
915
|
+
driveObj['ShareType'] = 'external share';
|
|
916
|
+
if (driveObj.ExternalShare.ExternalUsers && driveObj.ExternalShare.ExternalUsers.length > 0) {
|
|
917
|
+
allExternalShares_1 = [];
|
|
918
|
+
driveObj.ExternalShare.ExternalUsers.forEach(function (user) {
|
|
919
|
+
if (user.Email) {
|
|
920
|
+
allExternalShares_1.push({ Email: user.Email, AddedDate: user.AddedDate });
|
|
921
|
+
}
|
|
922
|
+
});
|
|
923
|
+
driveObj['SharedWith'] = allExternalShares_1;
|
|
924
|
+
}
|
|
925
|
+
(driveObj.ExternalShare.ShareType && driveObj.ExternalShare.ShareType.length > 0) ? driveObj['Mode'] = driveObj.ExternalShare.ShareType : '';
|
|
926
|
+
driveObj['ShareType'] = 'external share';
|
|
927
|
+
(driveObj.ExternalShare.ExpireTime) ? driveObj['ExpireTime'] = driveObj.ExternalShare.ExpireTime : '';
|
|
928
|
+
delete driveObj.ExternalShare;
|
|
929
|
+
}
|
|
930
|
+
resolve();
|
|
931
|
+
return [2 /*return*/];
|
|
932
|
+
}
|
|
933
|
+
});
|
|
934
|
+
}); });
|
|
935
|
+
};
|
|
936
|
+
/**
|
|
937
|
+
* CreatedBy Rohit
|
|
938
|
+
* @param {Request for database name } req
|
|
939
|
+
*
|
|
940
|
+
* Get Location from IP using request object
|
|
941
|
+
*
|
|
942
|
+
*/
|
|
943
|
+
var getIPLocationDetails = function (req) { return __awaiter(void 0, void 0, void 0, function () {
|
|
944
|
+
var _a, _b, countryName, _c, region, _d, city, ip, location;
|
|
945
|
+
return __generator(this, function (_e) {
|
|
946
|
+
switch (_e.label) {
|
|
947
|
+
case 0: return [4 /*yield*/, _utility.GetIPDetailsFromReq(req)];
|
|
948
|
+
case 1:
|
|
949
|
+
_a = (_e.sent()) || {}, _b = _a.countryName, countryName = _b === void 0 ? '' : _b, _c = _a.region, region = _c === void 0 ? '' : _c, _d = _a.city, city = _d === void 0 ? '' : _d;
|
|
950
|
+
ip = req.headers['x-forwarded-for'] || req.connection.remoteAddress || req.socket.remoteAddress || (req.connection.socket ? req.connection.socket.remoteAddress : null);
|
|
951
|
+
location = '';
|
|
952
|
+
if (countryName != '' || region != '' || city != '') {
|
|
953
|
+
// return `${ip} /(${country}, ${region}, ${city})`;
|
|
954
|
+
location += countryName;
|
|
955
|
+
}
|
|
956
|
+
if (region != '') {
|
|
957
|
+
location += ", " + region;
|
|
958
|
+
}
|
|
959
|
+
if (city != '') {
|
|
960
|
+
location += ", " + city;
|
|
961
|
+
}
|
|
962
|
+
if (location && location != '')
|
|
963
|
+
return [2 /*return*/, ip + " /(" + location + ")"];
|
|
964
|
+
else
|
|
965
|
+
return [2 /*return*/, ip];
|
|
966
|
+
return [2 /*return*/];
|
|
967
|
+
}
|
|
968
|
+
});
|
|
969
|
+
}); };
|
|
970
|
+
var mapContentStudioObject = function (object) {
|
|
971
|
+
var filteredObj = {};
|
|
972
|
+
var allKeys = Object.keys(object);
|
|
973
|
+
if (allKeys.length > 0) {
|
|
974
|
+
filteredObj['Module'] = 'Marketing';
|
|
975
|
+
allKeys.forEach(function (key) {
|
|
976
|
+
if (key != "CreatedBy" && key != "IsActive" && key != "IsDefault" && key != "ModifiedDate" && key != "_id" && key != 'CreatedDate') {
|
|
977
|
+
if (Array.isArray(object[key])) {
|
|
978
|
+
var allImages_1 = [];
|
|
979
|
+
object[key].forEach(function (obj) {
|
|
980
|
+
var imageObj = { 'Name': obj.FileName, 'Size': utility_1.ConvertFileByteSize(parseInt(obj.FileSize)), 'CreatedDate': obj.CreatedDate };
|
|
981
|
+
obj.dimensions ? imageObj['Dimensions'] = obj.dimensions : '';
|
|
982
|
+
allImages_1.push(imageObj);
|
|
983
|
+
});
|
|
984
|
+
filteredObj['Images'] = allImages_1;
|
|
985
|
+
}
|
|
986
|
+
else if (key == 'FolderName') {
|
|
987
|
+
filteredObj['Name'] = object[key];
|
|
988
|
+
filteredObj['FolderName'] = object[key];
|
|
989
|
+
}
|
|
990
|
+
else {
|
|
991
|
+
filteredObj[key] = object[key];
|
|
992
|
+
}
|
|
993
|
+
}
|
|
994
|
+
});
|
|
995
|
+
}
|
|
996
|
+
return filteredObj;
|
|
997
|
+
};
|
|
998
|
+
var mapTemplateObject = function (object, status) {
|
|
999
|
+
var filteredObj = {};
|
|
1000
|
+
(object.TemplateBlockName) ? filteredObj['Name'] = object.TemplateBlockName : '';
|
|
1001
|
+
(object.CreatedDate) ? filteredObj['CreatedDate'] = object.CreatedDate : '';
|
|
1002
|
+
if (status && status.length > 0) {
|
|
1003
|
+
filteredObj['Module'] = 'Marketing Template Editor';
|
|
1004
|
+
filteredObj['Status'] = status;
|
|
1005
|
+
}
|
|
1006
|
+
return filteredObj;
|
|
1007
|
+
};
|
|
1008
|
+
var mapRecipientList = function (object, status) {
|
|
1009
|
+
var filteredObj = {};
|
|
1010
|
+
(object.Name) ? filteredObj['Name'] = object.Name : '';
|
|
1011
|
+
(object.CreatedDate) ? filteredObj['CreatedDate'] = object.CreatedDate : '';
|
|
1012
|
+
(object.Count) ? filteredObj['RecipientCount'] = object.Count : '';
|
|
1013
|
+
if (object.AddedReceiptent) {
|
|
1014
|
+
var newRecipient_1 = JSON.parse(JSON.stringify(object.AddedReceiptent));
|
|
1015
|
+
var metaDataKeys_1 = ["IsValidEmail", "RowNo", "PrimaryKey", "RecipientsListId", "IsActive", "_id"];
|
|
1016
|
+
filteredObj['AddedReceiptent'] = {};
|
|
1017
|
+
Object.keys(newRecipient_1).forEach(function (key) {
|
|
1018
|
+
if (!metaDataKeys_1.includes(key)) {
|
|
1019
|
+
console.log(filteredObj['AddedReceiptent'], "casdcsdcasdcasdcasdca------sdcsacdasdcasdc");
|
|
1020
|
+
filteredObj['AddedReceiptent'][key] = newRecipient_1[key];
|
|
1021
|
+
}
|
|
1022
|
+
});
|
|
1023
|
+
}
|
|
1024
|
+
if (status && status.length > 0) {
|
|
1025
|
+
filteredObj['Module'] = 'Marketing';
|
|
1026
|
+
filteredObj['Status'] = status;
|
|
1027
|
+
}
|
|
1028
|
+
return filteredObj;
|
|
1029
|
+
};
|