enterprise-logging-system 1.0.11 → 1.0.13
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/backend/controllers/LogController.d.ts +5 -0
- package/dist/backend/controllers/LogController.d.ts.map +1 -1
- package/dist/backend/controllers/LogController.js +135 -3
- package/dist/backend/controllers/LogController.js.map +1 -1
- package/dist/backend/repositories/AccessLogRepository.d.ts +5 -1
- package/dist/backend/repositories/AccessLogRepository.d.ts.map +1 -1
- package/dist/backend/repositories/AccessLogRepository.js +51 -0
- package/dist/backend/repositories/AccessLogRepository.js.map +1 -1
- package/dist/backend/repositories/ChangeLogRepository.d.ts +5 -0
- package/dist/backend/repositories/ChangeLogRepository.d.ts.map +1 -1
- package/dist/backend/repositories/ChangeLogRepository.js +51 -0
- package/dist/backend/repositories/ChangeLogRepository.js.map +1 -1
- package/dist/backend/repositories/ExportLogRepository.d.ts +5 -0
- package/dist/backend/repositories/ExportLogRepository.d.ts.map +1 -1
- package/dist/backend/repositories/ExportLogRepository.js +41 -0
- package/dist/backend/repositories/ExportLogRepository.js.map +1 -1
- package/dist/backend/repositories/SessionLogRepository.d.ts +5 -1
- package/dist/backend/repositories/SessionLogRepository.d.ts.map +1 -1
- package/dist/backend/repositories/SessionLogRepository.js +39 -0
- package/dist/backend/repositories/SessionLogRepository.js.map +1 -1
- package/dist/backend/routes.d.ts +20 -0
- package/dist/backend/routes.d.ts.map +1 -0
- package/dist/backend/routes.js +42 -0
- package/dist/backend/routes.js.map +1 -0
- package/dist/backend/services/LoggingService.d.ts +5 -1
- package/dist/backend/services/LoggingService.d.ts.map +1 -1
- package/dist/backend/services/LoggingService.js +13 -0
- package/dist/backend/services/LoggingService.js.map +1 -1
- package/dist/frontend/activity-monitor/ActivityMonitor.d.ts +69 -5
- package/dist/frontend/activity-monitor/ActivityMonitor.d.ts.map +1 -1
- package/dist/frontend/activity-monitor/ActivityMonitor.js +322 -26
- package/dist/frontend/activity-monitor/ActivityMonitor.js.map +1 -1
- package/dist/frontend/index.d.ts +1 -1
- package/dist/frontend/index.d.ts.map +1 -1
- package/dist/frontend/index.js +4 -1
- package/dist/frontend/index.js.map +1 -1
- package/dist/index.d.ts +31 -7
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +41 -8
- package/dist/index.js.map +1 -1
- package/dist/shared/types/index.d.ts +64 -0
- package/dist/shared/types/index.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -4,51 +4,226 @@ exports.ActivityMonitor = void 0;
|
|
|
4
4
|
class ActivityMonitor {
|
|
5
5
|
sessionId;
|
|
6
6
|
userId;
|
|
7
|
-
|
|
7
|
+
tenantId;
|
|
8
|
+
userRole;
|
|
9
|
+
baseEndpoint;
|
|
8
10
|
batchSize = 10;
|
|
9
11
|
batchInterval = 5000; // 5 seconds
|
|
10
12
|
eventQueue = [];
|
|
11
13
|
batchTimer;
|
|
12
|
-
|
|
14
|
+
heartbeatTimer;
|
|
15
|
+
heartbeatInterval = 30000; // 30 seconds
|
|
16
|
+
constructor(sessionId, userId, tenantId, userRole, baseEndpoint = '/api/logs') {
|
|
13
17
|
this.sessionId = sessionId;
|
|
14
18
|
this.userId = userId;
|
|
15
|
-
this.
|
|
19
|
+
this.tenantId = tenantId;
|
|
20
|
+
this.userRole = userRole;
|
|
21
|
+
this.baseEndpoint = baseEndpoint;
|
|
16
22
|
this.initialize();
|
|
17
23
|
}
|
|
18
|
-
initialize() {
|
|
24
|
+
async initialize() {
|
|
25
|
+
// Start session on backend
|
|
26
|
+
await this.startSession();
|
|
19
27
|
// Start batch processing
|
|
20
28
|
this.startBatchProcessor();
|
|
21
|
-
//
|
|
29
|
+
// Start heartbeat
|
|
30
|
+
this.startHeartbeat();
|
|
31
|
+
// Track initial page view
|
|
22
32
|
this.trackPageView();
|
|
23
33
|
// Track SPA navigation
|
|
24
34
|
this.trackSPANavigation();
|
|
25
35
|
}
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
36
|
+
// Start session with backend
|
|
37
|
+
async startSession() {
|
|
38
|
+
try {
|
|
39
|
+
const response = await fetch(`${this.baseEndpoint}/session/start`, {
|
|
40
|
+
method: 'POST',
|
|
41
|
+
headers: {
|
|
42
|
+
'Content-Type': 'application/json',
|
|
43
|
+
'x-tenant-id': this.tenantId,
|
|
44
|
+
'x-user-id': this.userId,
|
|
45
|
+
'x-user-role': this.userRole,
|
|
46
|
+
'x-session-id': this.sessionId
|
|
47
|
+
},
|
|
48
|
+
body: JSON.stringify({
|
|
49
|
+
tenantId: this.tenantId,
|
|
50
|
+
userId: this.userId,
|
|
51
|
+
userRole: this.userRole,
|
|
52
|
+
sessionId: this.sessionId,
|
|
53
|
+
ipAddress: await this.getIPAddress(),
|
|
54
|
+
userAgent: navigator.userAgent,
|
|
55
|
+
idleThreshold: 300000 // 5 minutes
|
|
56
|
+
})
|
|
57
|
+
});
|
|
58
|
+
if (!response.ok) {
|
|
59
|
+
console.warn('Failed to start session:', await response.text());
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
catch (error) {
|
|
63
|
+
console.warn('Failed to start session:', error);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
// Send heartbeat to keep session alive
|
|
67
|
+
startHeartbeat() {
|
|
68
|
+
this.heartbeatTimer = setInterval(async () => {
|
|
69
|
+
try {
|
|
70
|
+
await fetch(`${this.baseEndpoint}/heartbeat`, {
|
|
71
|
+
method: 'POST',
|
|
72
|
+
headers: {
|
|
73
|
+
'Content-Type': 'application/json',
|
|
74
|
+
'x-tenant-id': this.tenantId,
|
|
75
|
+
'x-user-id': this.userId,
|
|
76
|
+
'x-user-role': this.userRole,
|
|
77
|
+
'x-session-id': this.sessionId
|
|
78
|
+
},
|
|
79
|
+
body: JSON.stringify({
|
|
80
|
+
sessionId: this.sessionId
|
|
81
|
+
})
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
catch (error) {
|
|
85
|
+
console.warn('Heartbeat failed:', error);
|
|
86
|
+
}
|
|
87
|
+
}, this.heartbeatInterval);
|
|
88
|
+
}
|
|
89
|
+
// Track page view - sends directly (not batched)
|
|
90
|
+
async trackPageView(pageInfo) {
|
|
91
|
+
try {
|
|
92
|
+
const response = await fetch(`${this.baseEndpoint}/pageview`, {
|
|
93
|
+
method: 'POST',
|
|
94
|
+
headers: {
|
|
95
|
+
'Content-Type': 'application/json',
|
|
96
|
+
'x-tenant-id': this.tenantId,
|
|
97
|
+
'x-user-id': this.userId,
|
|
98
|
+
'x-user-role': this.userRole,
|
|
99
|
+
'x-session-id': this.sessionId
|
|
100
|
+
},
|
|
101
|
+
body: JSON.stringify({
|
|
102
|
+
tenantId: this.tenantId,
|
|
103
|
+
userId: this.userId,
|
|
104
|
+
userRole: this.userRole,
|
|
105
|
+
sessionId: this.sessionId,
|
|
106
|
+
ipAddress: await this.getIPAddress(),
|
|
107
|
+
userAgent: navigator.userAgent,
|
|
108
|
+
pageId: pageInfo?.pageId || this.getCurrentPageId(),
|
|
109
|
+
pageTitle: pageInfo?.pageTitle || document.title,
|
|
110
|
+
pageUrl: pageInfo?.pageUrl || window.location.href,
|
|
111
|
+
pageRoute: pageInfo?.pageRoute || window.location.pathname,
|
|
112
|
+
previousPage: pageInfo?.previousPage || document.referrer,
|
|
113
|
+
browser: this.getBrowserInfo(),
|
|
114
|
+
geoLocation: await this.getGeoLocation(),
|
|
115
|
+
network: this.getNetworkInfo(),
|
|
116
|
+
loadTime: pageInfo?.loadTime || this.getPageLoadTime(),
|
|
117
|
+
domReadyTime: pageInfo?.domReadyTime || this.getDOMReadyTime()
|
|
118
|
+
})
|
|
119
|
+
});
|
|
120
|
+
if (!response.ok) {
|
|
121
|
+
console.warn('Failed to log page view:', await response.text());
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
catch (error) {
|
|
125
|
+
console.warn('Failed to log page view:', error);
|
|
126
|
+
}
|
|
42
127
|
}
|
|
128
|
+
// Track user action - batched
|
|
43
129
|
trackAction(action) {
|
|
44
130
|
const event = {
|
|
45
131
|
type: 'ACTION',
|
|
46
132
|
name: 'user_action',
|
|
47
|
-
data:
|
|
133
|
+
data: {
|
|
134
|
+
tenantId: this.tenantId,
|
|
135
|
+
userId: this.userId,
|
|
136
|
+
userRole: this.userRole,
|
|
137
|
+
sessionId: this.sessionId,
|
|
138
|
+
ipAddress: '', // Will be filled by backend
|
|
139
|
+
userAgent: navigator.userAgent,
|
|
140
|
+
activityType: action.actionType || 'USER_ACTION',
|
|
141
|
+
activityName: action.actionTarget || 'Unknown Action',
|
|
142
|
+
actionType: action.actionType || 'CLICK',
|
|
143
|
+
actionTarget: action.actionTarget,
|
|
144
|
+
actionData: action.actionData,
|
|
145
|
+
pageId: action.pageId || this.getCurrentPageId(),
|
|
146
|
+
browser: this.getBrowserInfo()
|
|
147
|
+
},
|
|
48
148
|
timestamp: new Date()
|
|
49
149
|
};
|
|
50
150
|
this.queueEvent(event);
|
|
51
151
|
}
|
|
152
|
+
// Track data change - sends directly (important for audit trail)
|
|
153
|
+
async logChange(changeData) {
|
|
154
|
+
try {
|
|
155
|
+
const response = await fetch(`${this.baseEndpoint}/change`, {
|
|
156
|
+
method: 'POST',
|
|
157
|
+
headers: {
|
|
158
|
+
'Content-Type': 'application/json',
|
|
159
|
+
'x-tenant-id': this.tenantId,
|
|
160
|
+
'x-user-id': this.userId,
|
|
161
|
+
'x-user-role': this.userRole,
|
|
162
|
+
'x-session-id': this.sessionId
|
|
163
|
+
},
|
|
164
|
+
body: JSON.stringify({
|
|
165
|
+
tenantId: this.tenantId,
|
|
166
|
+
userId: this.userId,
|
|
167
|
+
userRole: this.userRole,
|
|
168
|
+
sessionId: this.sessionId,
|
|
169
|
+
ipAddress: await this.getIPAddress(),
|
|
170
|
+
userAgent: navigator.userAgent,
|
|
171
|
+
entityType: changeData.entityType,
|
|
172
|
+
entityId: changeData.entityId,
|
|
173
|
+
type: changeData.type,
|
|
174
|
+
changes: changeData.changes,
|
|
175
|
+
reason: changeData.reason,
|
|
176
|
+
comment: changeData.comment,
|
|
177
|
+
status: changeData.status,
|
|
178
|
+
errorMessage: changeData.errorMessage,
|
|
179
|
+
parentEntityType: changeData.parentEntityType,
|
|
180
|
+
parentEntityId: changeData.parentEntityId
|
|
181
|
+
})
|
|
182
|
+
});
|
|
183
|
+
if (!response.ok) {
|
|
184
|
+
console.warn('Failed to log change:', await response.text());
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
catch (error) {
|
|
188
|
+
console.warn('Failed to log change:', error);
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
// Track data export - sends directly (important for compliance)
|
|
192
|
+
async logExport(exportData) {
|
|
193
|
+
try {
|
|
194
|
+
const response = await fetch(`${this.baseEndpoint}/export`, {
|
|
195
|
+
method: 'POST',
|
|
196
|
+
headers: {
|
|
197
|
+
'Content-Type': 'application/json',
|
|
198
|
+
'x-tenant-id': this.tenantId,
|
|
199
|
+
'x-user-id': this.userId,
|
|
200
|
+
'x-user-role': this.userRole,
|
|
201
|
+
'x-session-id': this.sessionId
|
|
202
|
+
},
|
|
203
|
+
body: JSON.stringify({
|
|
204
|
+
tenantId: this.tenantId,
|
|
205
|
+
userId: this.userId,
|
|
206
|
+
userRole: this.userRole,
|
|
207
|
+
sessionId: this.sessionId,
|
|
208
|
+
ipAddress: await this.getIPAddress(),
|
|
209
|
+
userAgent: navigator.userAgent,
|
|
210
|
+
exportType: exportData.exportType,
|
|
211
|
+
fileName: exportData.fileName,
|
|
212
|
+
recordCount: exportData.recordCount,
|
|
213
|
+
entityType: exportData.entityType,
|
|
214
|
+
entityIds: exportData.entityIds,
|
|
215
|
+
filters: exportData.filters,
|
|
216
|
+
columns: exportData.columns
|
|
217
|
+
})
|
|
218
|
+
});
|
|
219
|
+
if (!response.ok) {
|
|
220
|
+
console.warn('Failed to log export:', await response.text());
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
catch (error) {
|
|
224
|
+
console.warn('Failed to log export:', error);
|
|
225
|
+
}
|
|
226
|
+
}
|
|
52
227
|
trackNavigation(from, to) {
|
|
53
228
|
const event = {
|
|
54
229
|
type: 'NAVIGATION',
|
|
@@ -87,17 +262,27 @@ class ActivityMonitor {
|
|
|
87
262
|
const batch = [...this.eventQueue];
|
|
88
263
|
this.eventQueue = [];
|
|
89
264
|
try {
|
|
90
|
-
await fetch(this.
|
|
265
|
+
const response = await fetch(`${this.baseEndpoint}/batch`, {
|
|
91
266
|
method: 'POST',
|
|
92
267
|
headers: {
|
|
93
268
|
'Content-Type': 'application/json',
|
|
269
|
+
'x-tenant-id': this.tenantId,
|
|
270
|
+
'x-user-id': this.userId,
|
|
271
|
+
'x-user-role': this.userRole,
|
|
272
|
+
'x-session-id': this.sessionId
|
|
94
273
|
},
|
|
95
274
|
body: JSON.stringify({
|
|
96
275
|
sessionId: this.sessionId,
|
|
97
276
|
userId: this.userId,
|
|
98
|
-
events: batch
|
|
277
|
+
events: batch.map(event => ({
|
|
278
|
+
type: event.type,
|
|
279
|
+
data: event.data
|
|
280
|
+
}))
|
|
99
281
|
})
|
|
100
282
|
});
|
|
283
|
+
if (!response.ok) {
|
|
284
|
+
throw new Error(`Batch request failed: ${response.status}`);
|
|
285
|
+
}
|
|
101
286
|
}
|
|
102
287
|
catch (error) {
|
|
103
288
|
console.warn('Failed to send activity batch:', error);
|
|
@@ -145,13 +330,124 @@ class ActivityMonitor {
|
|
|
145
330
|
}
|
|
146
331
|
return 0;
|
|
147
332
|
}
|
|
148
|
-
|
|
333
|
+
getBrowserInfo() {
|
|
334
|
+
const ua = navigator.userAgent;
|
|
335
|
+
return {
|
|
336
|
+
name: navigator.appName,
|
|
337
|
+
version: navigator.appVersion,
|
|
338
|
+
os: this.getOS(),
|
|
339
|
+
device: this.getDeviceType()
|
|
340
|
+
};
|
|
341
|
+
}
|
|
342
|
+
getOS() {
|
|
343
|
+
const userAgent = window.navigator.userAgent;
|
|
344
|
+
const platform = window.navigator.platform;
|
|
345
|
+
const macosPlatforms = ['Macintosh', 'MacIntel', 'MacPPC', 'Mac68K'];
|
|
346
|
+
const windowsPlatforms = ['Win32', 'Win64', 'Windows', 'WinCE'];
|
|
347
|
+
const iosPlatforms = ['iPhone', 'iPad', 'iPod'];
|
|
348
|
+
if (macosPlatforms.indexOf(platform) !== -1) {
|
|
349
|
+
return 'macOS';
|
|
350
|
+
}
|
|
351
|
+
else if (iosPlatforms.indexOf(platform) !== -1) {
|
|
352
|
+
return 'iOS';
|
|
353
|
+
}
|
|
354
|
+
else if (windowsPlatforms.indexOf(platform) !== -1) {
|
|
355
|
+
return 'Windows';
|
|
356
|
+
}
|
|
357
|
+
else if (/Android/.test(userAgent)) {
|
|
358
|
+
return 'Android';
|
|
359
|
+
}
|
|
360
|
+
else if (/Linux/.test(platform)) {
|
|
361
|
+
return 'Linux';
|
|
362
|
+
}
|
|
363
|
+
return 'Unknown';
|
|
364
|
+
}
|
|
365
|
+
getDeviceType() {
|
|
366
|
+
const userAgent = navigator.userAgent;
|
|
367
|
+
if (/tablet|ipad|playbook|silk/i.test(userAgent)) {
|
|
368
|
+
return 'tablet';
|
|
369
|
+
}
|
|
370
|
+
if (/mobile|iphone|ipod|android|blackberry|opera mini|opera mobi|skyfire|maemo|windows phone|palm|iemobile|symbian|symbianos|fennec/i.test(userAgent)) {
|
|
371
|
+
return 'mobile';
|
|
372
|
+
}
|
|
373
|
+
return 'desktop';
|
|
374
|
+
}
|
|
375
|
+
async getGeoLocation() {
|
|
376
|
+
// Note: This requires user permission
|
|
377
|
+
if ('geolocation' in navigator) {
|
|
378
|
+
try {
|
|
379
|
+
const position = await new Promise((resolve, reject) => {
|
|
380
|
+
navigator.geolocation.getCurrentPosition(resolve, reject);
|
|
381
|
+
});
|
|
382
|
+
return {
|
|
383
|
+
latitude: position.coords.latitude,
|
|
384
|
+
longitude: position.coords.longitude
|
|
385
|
+
};
|
|
386
|
+
}
|
|
387
|
+
catch (error) {
|
|
388
|
+
// User denied permission or geolocation failed
|
|
389
|
+
return {};
|
|
390
|
+
}
|
|
391
|
+
}
|
|
392
|
+
return {};
|
|
393
|
+
}
|
|
394
|
+
async getIPAddress() {
|
|
395
|
+
try {
|
|
396
|
+
// This is a simple approach - you might want to use a different service
|
|
397
|
+
const response = await fetch('https://api.ipify.org?format=json');
|
|
398
|
+
const data = await response.json();
|
|
399
|
+
return data.ip || '';
|
|
400
|
+
}
|
|
401
|
+
catch (error) {
|
|
402
|
+
return '';
|
|
403
|
+
}
|
|
404
|
+
}
|
|
405
|
+
getNetworkInfo() {
|
|
406
|
+
if ('connection' in navigator) {
|
|
407
|
+
const conn = navigator.connection;
|
|
408
|
+
return {
|
|
409
|
+
connectionType: conn.type,
|
|
410
|
+
effectiveType: conn.effectiveType,
|
|
411
|
+
downlink: conn.downlink,
|
|
412
|
+
rtt: conn.rtt
|
|
413
|
+
};
|
|
414
|
+
}
|
|
415
|
+
return {};
|
|
416
|
+
}
|
|
417
|
+
async destroy() {
|
|
418
|
+
// Clear timers
|
|
149
419
|
if (this.batchTimer) {
|
|
150
420
|
clearInterval(this.batchTimer);
|
|
151
421
|
}
|
|
422
|
+
if (this.heartbeatTimer) {
|
|
423
|
+
clearInterval(this.heartbeatTimer);
|
|
424
|
+
}
|
|
152
425
|
// Send any remaining events
|
|
153
426
|
if (this.eventQueue.length > 0) {
|
|
154
|
-
this.sendBatch();
|
|
427
|
+
await this.sendBatch();
|
|
428
|
+
}
|
|
429
|
+
// End session on backend
|
|
430
|
+
await this.endSession();
|
|
431
|
+
}
|
|
432
|
+
async endSession() {
|
|
433
|
+
try {
|
|
434
|
+
await fetch(`${this.baseEndpoint}/session/end`, {
|
|
435
|
+
method: 'POST',
|
|
436
|
+
headers: {
|
|
437
|
+
'Content-Type': 'application/json',
|
|
438
|
+
'x-tenant-id': this.tenantId,
|
|
439
|
+
'x-user-id': this.userId,
|
|
440
|
+
'x-user-role': this.userRole,
|
|
441
|
+
'x-session-id': this.sessionId
|
|
442
|
+
},
|
|
443
|
+
body: JSON.stringify({
|
|
444
|
+
sessionId: this.sessionId,
|
|
445
|
+
reason: 'USER'
|
|
446
|
+
})
|
|
447
|
+
});
|
|
448
|
+
}
|
|
449
|
+
catch (error) {
|
|
450
|
+
console.warn('Failed to end session:', error);
|
|
155
451
|
}
|
|
156
452
|
}
|
|
157
453
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActivityMonitor.js","sourceRoot":"","sources":["../../../src/frontend/activity-monitor/ActivityMonitor.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ActivityMonitor.js","sourceRoot":"","sources":["../../../src/frontend/activity-monitor/ActivityMonitor.ts"],"names":[],"mappings":"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"}
|
package/dist/frontend/index.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export
|
|
1
|
+
export { ActivityMonitor, ActivityEvent, PageViewEvent, ActionEvent, ChangeEvent, ExportEvent } from './activity-monitor/ActivityMonitor';
|
|
2
2
|
export * from './idle-tracker/IdleTracker';
|
|
3
3
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/frontend/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/frontend/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,eAAe,EACf,aAAa,EACb,aAAa,EACb,WAAW,EACX,WAAW,EACX,WAAW,EACZ,MAAM,oCAAoC,CAAC;AAC5C,cAAc,4BAA4B,CAAC"}
|
package/dist/frontend/index.js
CHANGED
|
@@ -14,6 +14,9 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
|
|
17
|
+
exports.ActivityMonitor = void 0;
|
|
18
|
+
// Export only non-conflicting symbols (BrowserInfo, GeoLocation, NetworkInfo come from shared/types)
|
|
19
|
+
var ActivityMonitor_1 = require("./activity-monitor/ActivityMonitor");
|
|
20
|
+
Object.defineProperty(exports, "ActivityMonitor", { enumerable: true, get: function () { return ActivityMonitor_1.ActivityMonitor; } });
|
|
18
21
|
__exportStar(require("./idle-tracker/IdleTracker"), exports);
|
|
19
22
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/frontend/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/frontend/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,qGAAqG;AACrG,sEAO4C;AAN1C,kHAAA,eAAe,OAAA;AAOjB,6DAA2C"}
|
package/dist/index.d.ts
CHANGED
|
@@ -3,22 +3,46 @@ export * from './backend/repositories';
|
|
|
3
3
|
export * from './backend/models';
|
|
4
4
|
export * from './shared/types';
|
|
5
5
|
export * from './backend/controllers/LogController';
|
|
6
|
+
export * from './backend/routes';
|
|
6
7
|
export * from './backend/middleware/loggingMiddleware';
|
|
7
8
|
export * from './backend/config/database';
|
|
8
9
|
export * from './backend/utils/Logger';
|
|
9
10
|
export * from './backend/config/logging.config';
|
|
10
11
|
export * from './frontend';
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
}
|
|
12
|
+
/** Result of setupLoggingSystem – use with CommonLogging or mountLoggingRoutes */
|
|
13
|
+
export interface SetupLoggingResult {
|
|
14
|
+
loggingService: import('./backend/services/LoggingService').LoggingService & {
|
|
15
|
+
middleware: import('express').RequestHandler[];
|
|
16
|
+
};
|
|
17
|
+
logController: import('./backend/controllers/LogController').LogController;
|
|
18
|
+
loggingMiddleware: import('express').RequestHandler[];
|
|
19
|
+
}
|
|
20
|
+
export declare function setupLoggingSystem(db: any): Promise<SetupLoggingResult>;
|
|
21
|
+
export interface CreateLoggingSystemOptions {
|
|
22
|
+
/** Express app – if provided, routes are mounted at basePath */
|
|
23
|
+
app?: import('express').Application;
|
|
24
|
+
/** Base path for API (default from loggingConfig.api.basePath) */
|
|
25
|
+
basePath?: string;
|
|
26
|
+
/** MongoDB Db instance. If not provided, DatabaseClient is used to connect. */
|
|
27
|
+
db?: any;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* One-step init: connect DB (if needed), setup logging, optionally mount routes.
|
|
31
|
+
* Use when integrating with CommonLogging or any Node app.
|
|
32
|
+
*
|
|
33
|
+
* @example
|
|
34
|
+
* const { loggingService, logController } = await createLoggingSystem({ app, basePath: '/api/logs' });
|
|
35
|
+
* // Routes are already mounted; use loggingService.logPageView(data) or logController for HTTP.
|
|
36
|
+
*/
|
|
37
|
+
export declare function createLoggingSystem(options?: CreateLoggingSystemOptions): Promise<SetupLoggingResult>;
|
|
16
38
|
import { DatabaseClient } from './backend/config/database';
|
|
17
|
-
import
|
|
39
|
+
import { mountLoggingRoutes } from './backend/routes';
|
|
18
40
|
declare const _default: {
|
|
19
41
|
DatabaseClient: typeof DatabaseClient;
|
|
20
42
|
setupLoggingSystem: typeof setupLoggingSystem;
|
|
21
|
-
|
|
43
|
+
createLoggingSystem: typeof createLoggingSystem;
|
|
44
|
+
mountLoggingRoutes: typeof mountLoggingRoutes;
|
|
45
|
+
loggingConfig: any;
|
|
22
46
|
};
|
|
23
47
|
export default _default;
|
|
24
48
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,cAAc,mCAAmC,CAAC;AAClD,cAAc,wBAAwB,CAAC;AACvC,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qCAAqC,CAAC;AACpD,cAAc,wCAAwC,CAAC;AACvD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,iCAAiC,CAAC;AAKhD,cAAc,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,cAAc,mCAAmC,CAAC;AAClD,cAAc,wBAAwB,CAAC;AACvC,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qCAAqC,CAAC;AACpD,cAAc,kBAAkB,CAAC;AACjC,cAAc,wCAAwC,CAAC;AACvD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,iCAAiC,CAAC;AAKhD,cAAc,YAAY,CAAC;AAM3B,kFAAkF;AAClF,MAAM,WAAW,kBAAkB;IACjC,cAAc,EAAE,OAAO,mCAAmC,EAAE,cAAc,GAAG;QAAE,UAAU,EAAE,OAAO,SAAS,EAAE,cAAc,EAAE,CAAA;KAAE,CAAC;IAChI,aAAa,EAAE,OAAO,qCAAqC,EAAE,aAAa,CAAC;IAC3E,iBAAiB,EAAE,OAAO,SAAS,EAAE,cAAc,EAAE,CAAC;CACvD;AAED,wBAAsB,kBAAkB,CAAC,EAAE,EAAE,GAAG,GAAG,OAAO,CAAC,kBAAkB,CAAC,CA0C7E;AAMD,MAAM,WAAW,0BAA0B;IACzC,gEAAgE;IAChE,GAAG,CAAC,EAAE,OAAO,SAAS,EAAE,WAAW,CAAC;IACpC,kEAAkE;IAClE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,+EAA+E;IAC/E,EAAE,CAAC,EAAE,GAAG,CAAC;CACV;AAED;;;;;;;GAOG;AACH,wBAAsB,mBAAmB,CACvC,OAAO,GAAE,0BAA+B,GACvC,OAAO,CAAC,kBAAkB,CAAC,CAuB7B;AAKD,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;;;;;;;;AAKtD,wBAME"}
|
package/dist/index.js
CHANGED
|
@@ -37,6 +37,7 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
37
37
|
})();
|
|
38
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
39
|
exports.setupLoggingSystem = setupLoggingSystem;
|
|
40
|
+
exports.createLoggingSystem = createLoggingSystem;
|
|
40
41
|
// ==============================
|
|
41
42
|
// Backend exports (named exports)
|
|
42
43
|
// ==============================
|
|
@@ -45,6 +46,7 @@ __exportStar(require("./backend/repositories"), exports);
|
|
|
45
46
|
__exportStar(require("./backend/models"), exports);
|
|
46
47
|
__exportStar(require("./shared/types"), exports);
|
|
47
48
|
__exportStar(require("./backend/controllers/LogController"), exports);
|
|
49
|
+
__exportStar(require("./backend/routes"), exports);
|
|
48
50
|
__exportStar(require("./backend/middleware/loggingMiddleware"), exports);
|
|
49
51
|
__exportStar(require("./backend/config/database"), exports); // DatabaseClient
|
|
50
52
|
__exportStar(require("./backend/utils/Logger"), exports);
|
|
@@ -53,9 +55,6 @@ __exportStar(require("./backend/config/logging.config"), exports);
|
|
|
53
55
|
// Frontend exports
|
|
54
56
|
// ==============================
|
|
55
57
|
__exportStar(require("./frontend"), exports);
|
|
56
|
-
// ==============================
|
|
57
|
-
// Setup function (named export)
|
|
58
|
-
// ==============================
|
|
59
58
|
async function setupLoggingSystem(db) {
|
|
60
59
|
const { AccessLogRepository, SessionLogRepository, ChangeLogRepository, ExportLogRepository } = await Promise.resolve().then(() => __importStar(require('./backend/repositories')));
|
|
61
60
|
const repos = {
|
|
@@ -64,7 +63,6 @@ async function setupLoggingSystem(db) {
|
|
|
64
63
|
changeLogRepo: new ChangeLogRepository(db),
|
|
65
64
|
exportLogRepo: new ExportLogRepository(db)
|
|
66
65
|
};
|
|
67
|
-
// Initialize collections & indexes
|
|
68
66
|
await Promise.all([
|
|
69
67
|
repos.accessLogRepo.initialize(),
|
|
70
68
|
repos.sessionLogRepo.initialize(),
|
|
@@ -75,20 +73,55 @@ async function setupLoggingSystem(db) {
|
|
|
75
73
|
const { LogController } = await Promise.resolve().then(() => __importStar(require('./backend/controllers/LogController')));
|
|
76
74
|
const { createLoggingMiddleware } = await Promise.resolve().then(() => __importStar(require('./backend/middleware/loggingMiddleware')));
|
|
77
75
|
const loggingService = new LoggingService(repos.accessLogRepo, repos.sessionLogRepo, repos.changeLogRepo, repos.exportLogRepo);
|
|
76
|
+
const loggingMiddleware = createLoggingMiddleware(loggingService);
|
|
77
|
+
// Attach middleware to service so CommonLogging getMiddleware() and getService() work with one object
|
|
78
|
+
loggingService.middleware = loggingMiddleware;
|
|
78
79
|
return {
|
|
79
|
-
loggingService,
|
|
80
|
+
loggingService: loggingService,
|
|
80
81
|
logController: new LogController(loggingService),
|
|
81
|
-
loggingMiddleware
|
|
82
|
+
loggingMiddleware
|
|
82
83
|
};
|
|
83
84
|
}
|
|
85
|
+
/**
|
|
86
|
+
* One-step init: connect DB (if needed), setup logging, optionally mount routes.
|
|
87
|
+
* Use when integrating with CommonLogging or any Node app.
|
|
88
|
+
*
|
|
89
|
+
* @example
|
|
90
|
+
* const { loggingService, logController } = await createLoggingSystem({ app, basePath: '/api/logs' });
|
|
91
|
+
* // Routes are already mounted; use loggingService.logPageView(data) or logController for HTTP.
|
|
92
|
+
*/
|
|
93
|
+
async function createLoggingSystem(options = {}) {
|
|
94
|
+
const { mountLoggingRoutes } = await Promise.resolve().then(() => __importStar(require('./backend/routes')));
|
|
95
|
+
const config = (await Promise.resolve().then(() => __importStar(require('./backend/config/logging.config')))).loggingConfig;
|
|
96
|
+
const basePath = options.basePath ?? config?.api?.basePath ?? '/api/logs';
|
|
97
|
+
let db = options.db;
|
|
98
|
+
if (!db) {
|
|
99
|
+
const { DatabaseClient } = await Promise.resolve().then(() => __importStar(require('./backend/config/database')));
|
|
100
|
+
const client = new DatabaseClient();
|
|
101
|
+
db = await client.connect();
|
|
102
|
+
}
|
|
103
|
+
const result = await setupLoggingSystem(db);
|
|
104
|
+
if (options.app && result.logController) {
|
|
105
|
+
mountLoggingRoutes({
|
|
106
|
+
app: options.app,
|
|
107
|
+
basePath,
|
|
108
|
+
logController: result.logController
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
return result;
|
|
112
|
+
}
|
|
84
113
|
// ==============================
|
|
85
|
-
//
|
|
114
|
+
// Default export (for require('enterprise-logging-system'))
|
|
86
115
|
// ==============================
|
|
87
116
|
const database_1 = require("./backend/config/database");
|
|
88
|
-
const
|
|
117
|
+
const routes_1 = require("./backend/routes");
|
|
118
|
+
const LC = __importStar(require("./backend/config/logging.config"));
|
|
119
|
+
const loggingConfig = LC.loggingConfig ?? LC.default ?? LC;
|
|
89
120
|
exports.default = {
|
|
90
121
|
DatabaseClient: database_1.DatabaseClient,
|
|
91
122
|
setupLoggingSystem,
|
|
123
|
+
createLoggingSystem,
|
|
124
|
+
mountLoggingRoutes: routes_1.mountLoggingRoutes,
|
|
92
125
|
loggingConfig
|
|
93
126
|
};
|
|
94
127
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|