@campxdev/server-shared 2.1.12 → 2.1.14
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/activity-logs/activity-logs.module.d.ts +7 -0
- package/dist/activity-logs/activity-logs.module.d.ts.map +1 -0
- package/dist/activity-logs/activity-logs.module.js +27 -0
- package/dist/activity-logs/activity-logs.module.js.map +1 -0
- package/dist/activity-logs/activity-logs.service.d.ts +115 -0
- package/dist/activity-logs/activity-logs.service.d.ts.map +1 -0
- package/dist/activity-logs/activity-logs.service.js +301 -0
- package/dist/activity-logs/activity-logs.service.js.map +1 -0
- package/dist/activity-logs/dtos/common-log-filter.dto.d.ts +12 -0
- package/dist/activity-logs/dtos/common-log-filter.dto.d.ts.map +1 -0
- package/dist/activity-logs/dtos/common-log-filter.dto.js +51 -0
- package/dist/activity-logs/dtos/common-log-filter.dto.js.map +1 -0
- package/dist/activity-logs/index.d.ts +4 -0
- package/dist/activity-logs/index.d.ts.map +1 -0
- package/dist/activity-logs/index.js +10 -0
- package/dist/activity-logs/index.js.map +1 -0
- package/dist/cloud-watch-logger/cloud-watch-logger.module.js +3 -3
- package/dist/cloud-watch-logger/{cloud-water-logger.service.d.ts → cloud-watch-logger.service.d.ts} +21 -12
- package/dist/cloud-watch-logger/cloud-watch-logger.service.d.ts.map +1 -0
- package/dist/cloud-watch-logger/{cloud-water-logger.service.js → cloud-watch-logger.service.js} +110 -56
- package/dist/cloud-watch-logger/cloud-watch-logger.service.js.map +1 -0
- package/dist/cloud-watch-logger/index.d.ts +1 -1
- package/dist/cloud-watch-logger/index.js +1 -1
- package/dist/domain/schemas/tenant.schema.d.ts +2 -2
- package/dist/domain/schemas/tenant.schema.d.ts.map +1 -1
- package/dist/domain/schemas/tenant.schema.js +1 -1
- package/dist/domain/schemas/tenant.schema.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/dist/cloud-watch-logger/cloud-water-logger.service.d.ts.map +0 -1
- package/dist/cloud-watch-logger/cloud-water-logger.service.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"activity-logs.module.d.ts","sourceRoot":"","sources":["../../src/activity-logs/activity-logs.module.ts"],"names":[],"mappings":"AAIA;;;GAGG;AACH,qBAKa,kBAAkB;CAAG"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.ActivityLogsModule = void 0;
|
|
10
|
+
const common_1 = require("@nestjs/common");
|
|
11
|
+
const cloud_watch_logger_module_1 = require("../cloud-watch-logger/cloud-watch-logger.module");
|
|
12
|
+
const activity_logs_service_1 = require("./activity-logs.service");
|
|
13
|
+
/**
|
|
14
|
+
* Activity Logs Module
|
|
15
|
+
* Provides generic activity logging service for all microservice
|
|
16
|
+
*/
|
|
17
|
+
let ActivityLogsModule = class ActivityLogsModule {
|
|
18
|
+
};
|
|
19
|
+
exports.ActivityLogsModule = ActivityLogsModule;
|
|
20
|
+
exports.ActivityLogsModule = ActivityLogsModule = __decorate([
|
|
21
|
+
(0, common_1.Module)({
|
|
22
|
+
imports: [cloud_watch_logger_module_1.CloudWatchLoggerModule],
|
|
23
|
+
providers: [activity_logs_service_1.ActivityLogsService],
|
|
24
|
+
exports: [activity_logs_service_1.ActivityLogsService],
|
|
25
|
+
})
|
|
26
|
+
], ActivityLogsModule);
|
|
27
|
+
//# sourceMappingURL=activity-logs.module.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"activity-logs.module.js","sourceRoot":"","sources":["../../src/activity-logs/activity-logs.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,+FAAyF;AACzF,mEAA8D;AAE9D;;;GAGG;AAMI,IAAM,kBAAkB,GAAxB,MAAM,kBAAkB;CAAG,CAAA;AAArB,gDAAkB;6BAAlB,kBAAkB;IAL9B,IAAA,eAAM,EAAC;QACN,OAAO,EAAE,CAAC,kDAAsB,CAAC;QACjC,SAAS,EAAE,CAAC,2CAAmB,CAAC;QAChC,OAAO,EAAE,CAAC,2CAAmB,CAAC;KAC/B,CAAC;GACW,kBAAkB,CAAG"}
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
import { CloudWatchLoggerService } from '../cloud-watch-logger/cloud-watch-logger.service';
|
|
2
|
+
import { CommonLogFilterDto } from './dtos/common-log-filter.dto';
|
|
3
|
+
/**
|
|
4
|
+
* Transformed Log Entry (what frontend receives)
|
|
5
|
+
* Contains parsed message data plus metadata
|
|
6
|
+
*/
|
|
7
|
+
export interface TransformedLogEntry {
|
|
8
|
+
timestamp: string | number;
|
|
9
|
+
message: string;
|
|
10
|
+
userName?: string;
|
|
11
|
+
action?: string;
|
|
12
|
+
[key: string]: any;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Generic Activity Logs Service
|
|
16
|
+
* Works for ALL microservices without any hardcoded mappings or custom logic
|
|
17
|
+
*
|
|
18
|
+
* Key Features:
|
|
19
|
+
* - Generic fetchLogs<T>() accepting any DTO extending CommonLogFilterDto
|
|
20
|
+
* - Dynamic query building - no hardcoded mappings
|
|
21
|
+
* - Timestamp-based pagination (CloudWatch native, verified against AWS docs)
|
|
22
|
+
* - Input sanitization - prevents CloudWatch query injection
|
|
23
|
+
* - Retry logic - exponential backoff for CloudWatch throttling
|
|
24
|
+
* - Hierarchical log groups - {subDomain}/{institutionCode}/{serviceName}
|
|
25
|
+
*
|
|
26
|
+
* @example
|
|
27
|
+
* // Logging:
|
|
28
|
+
* await activityLogsService.logEvent({
|
|
29
|
+
* streamType: 'd-forms',
|
|
30
|
+
* examId: 123,
|
|
31
|
+
* type: 'external',
|
|
32
|
+
* action: 'mark',
|
|
33
|
+
* message: 'D-Form marked',
|
|
34
|
+
* });
|
|
35
|
+
*
|
|
36
|
+
* // Querying:
|
|
37
|
+
* const result = await activityLogsService.fetchLogs({
|
|
38
|
+
* streamType: 'd-forms',
|
|
39
|
+
* examId: 123,
|
|
40
|
+
* type: 'external',
|
|
41
|
+
* limit: 10,
|
|
42
|
+
* });
|
|
43
|
+
*/
|
|
44
|
+
export declare class ActivityLogsService {
|
|
45
|
+
private readonly cloudWatchLogger;
|
|
46
|
+
private readonly logger;
|
|
47
|
+
constructor(cloudWatchLogger: CloudWatchLoggerService);
|
|
48
|
+
/**
|
|
49
|
+
* Fetch activity logs with dynamic filtering and timestamp-based pagination
|
|
50
|
+
* Works with any DTO extending CommonLogFilterDto
|
|
51
|
+
*
|
|
52
|
+
* CloudWatch Logs Insights Query Structure:
|
|
53
|
+
* - Filters by @logStream = streamType
|
|
54
|
+
* - Dynamically adds all other DTO fields as filters
|
|
55
|
+
* - Uses @timestamp < lastTimestamp for pagination (CloudWatch native)
|
|
56
|
+
* - Fetches limit+1 to detect if more results exist
|
|
57
|
+
*
|
|
58
|
+
* @throws Error if CloudWatch query fails after 3 retry attempts
|
|
59
|
+
*/
|
|
60
|
+
fetchLogs<T extends CommonLogFilterDto>(query: T | Record<string, any>): Promise<TransformedLogEntry[]>;
|
|
61
|
+
/**
|
|
62
|
+
* Log an event to CloudWatch with automatic context enrichment
|
|
63
|
+
* Works for ANY microservice and log type
|
|
64
|
+
*
|
|
65
|
+
* Features:
|
|
66
|
+
* - Retry logic with exponential backoff (2s, 4s, 8s)
|
|
67
|
+
* - Input sanitization for query injection prevention
|
|
68
|
+
* - Automatic context enrichment (tenantId, institutionId, userId, userName)
|
|
69
|
+
* - Timestamp included in all logs
|
|
70
|
+
*
|
|
71
|
+
* @throws Error if logging fails after all retry attempts
|
|
72
|
+
*/
|
|
73
|
+
logEvent(data: Record<string, any>, retries?: number): Promise<void>;
|
|
74
|
+
/**
|
|
75
|
+
* Internal method that performs actual logging with retries
|
|
76
|
+
* This runs in the background and doesn't block the caller
|
|
77
|
+
*
|
|
78
|
+
* @private
|
|
79
|
+
* @param data - Event data to log
|
|
80
|
+
* @param retries - Number of retry attempts
|
|
81
|
+
*/
|
|
82
|
+
private logEventInBackground;
|
|
83
|
+
/**
|
|
84
|
+
* Get hierarchical log group name based on tenant and institution
|
|
85
|
+
* Hierarchical structure: {subDomain}/{institutionCode}/{serviceName}
|
|
86
|
+
* Examples: exams.com/mit/exams, stanford.edu/cse/exams
|
|
87
|
+
*
|
|
88
|
+
* Benefits:
|
|
89
|
+
* - Automatic tenant/institution isolation (no filter needed!)
|
|
90
|
+
* - 90-95% CloudWatch scan volume reduction
|
|
91
|
+
* - Log group selection = fast path filtering
|
|
92
|
+
*/
|
|
93
|
+
private getLogGroupName;
|
|
94
|
+
/**
|
|
95
|
+
* Transform raw CloudWatch log events into user-friendly format
|
|
96
|
+
* Parses JSON message and extracts key fields
|
|
97
|
+
*/
|
|
98
|
+
private transformLogs;
|
|
99
|
+
/**
|
|
100
|
+
* Sanitize filter values to prevent CloudWatch query injection
|
|
101
|
+
* Escapes special characters that could break CloudWatch query syntax
|
|
102
|
+
*
|
|
103
|
+
* Characters escaped:
|
|
104
|
+
* - Backslashes (\)
|
|
105
|
+
* - Double quotes (")
|
|
106
|
+
* - Newlines (\n)
|
|
107
|
+
* - Carriage returns (\r)
|
|
108
|
+
*
|
|
109
|
+
* @private
|
|
110
|
+
* @param value - Raw value to sanitize
|
|
111
|
+
* @returns Sanitized value safe for CloudWatch query
|
|
112
|
+
*/
|
|
113
|
+
private sanitizeValue;
|
|
114
|
+
}
|
|
115
|
+
//# sourceMappingURL=activity-logs.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"activity-logs.service.d.ts","sourceRoot":"","sources":["../../src/activity-logs/activity-logs.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,MAAM,kDAAkD,CAAC;AAE3F,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAElE;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,qBACa,mBAAmB;IAGlB,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IAF7C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAwC;gBAElC,gBAAgB,EAAE,uBAAuB;IAEtE;;;;;;;;;;;OAWG;IACG,SAAS,CAAC,CAAC,SAAS,kBAAkB,EAC1C,KAAK,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC7B,OAAO,CAAC,mBAAmB,EAAE,CAAC;IA+EjC;;;;;;;;;;;OAWG;IACG,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,SAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAoBrE;;;;;;;OAOG;YACW,oBAAoB;IAoDlC;;;;;;;;;OASG;IACH,OAAO,CAAC,eAAe;IAMvB;;;OAGG;IACH,OAAO,CAAC,aAAa;IA+CrB;;;;;;;;;;;;;OAaG;IACH,OAAO,CAAC,aAAa;CAUtB"}
|
|
@@ -0,0 +1,301 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
var ActivityLogsService_1;
|
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
exports.ActivityLogsService = void 0;
|
|
14
|
+
const common_1 = require("@nestjs/common");
|
|
15
|
+
const cloud_watch_logger_service_1 = require("../cloud-watch-logger/cloud-watch-logger.service");
|
|
16
|
+
const request_store_1 = require("../request-store");
|
|
17
|
+
/**
|
|
18
|
+
* Generic Activity Logs Service
|
|
19
|
+
* Works for ALL microservices without any hardcoded mappings or custom logic
|
|
20
|
+
*
|
|
21
|
+
* Key Features:
|
|
22
|
+
* - Generic fetchLogs<T>() accepting any DTO extending CommonLogFilterDto
|
|
23
|
+
* - Dynamic query building - no hardcoded mappings
|
|
24
|
+
* - Timestamp-based pagination (CloudWatch native, verified against AWS docs)
|
|
25
|
+
* - Input sanitization - prevents CloudWatch query injection
|
|
26
|
+
* - Retry logic - exponential backoff for CloudWatch throttling
|
|
27
|
+
* - Hierarchical log groups - {subDomain}/{institutionCode}/{serviceName}
|
|
28
|
+
*
|
|
29
|
+
* @example
|
|
30
|
+
* // Logging:
|
|
31
|
+
* await activityLogsService.logEvent({
|
|
32
|
+
* streamType: 'd-forms',
|
|
33
|
+
* examId: 123,
|
|
34
|
+
* type: 'external',
|
|
35
|
+
* action: 'mark',
|
|
36
|
+
* message: 'D-Form marked',
|
|
37
|
+
* });
|
|
38
|
+
*
|
|
39
|
+
* // Querying:
|
|
40
|
+
* const result = await activityLogsService.fetchLogs({
|
|
41
|
+
* streamType: 'd-forms',
|
|
42
|
+
* examId: 123,
|
|
43
|
+
* type: 'external',
|
|
44
|
+
* limit: 10,
|
|
45
|
+
* });
|
|
46
|
+
*/
|
|
47
|
+
let ActivityLogsService = ActivityLogsService_1 = class ActivityLogsService {
|
|
48
|
+
cloudWatchLogger;
|
|
49
|
+
logger = new common_1.Logger(ActivityLogsService_1.name);
|
|
50
|
+
constructor(cloudWatchLogger) {
|
|
51
|
+
this.cloudWatchLogger = cloudWatchLogger;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Fetch activity logs with dynamic filtering and timestamp-based pagination
|
|
55
|
+
* Works with any DTO extending CommonLogFilterDto
|
|
56
|
+
*
|
|
57
|
+
* CloudWatch Logs Insights Query Structure:
|
|
58
|
+
* - Filters by @logStream = streamType
|
|
59
|
+
* - Dynamically adds all other DTO fields as filters
|
|
60
|
+
* - Uses @timestamp < lastTimestamp for pagination (CloudWatch native)
|
|
61
|
+
* - Fetches limit+1 to detect if more results exist
|
|
62
|
+
*
|
|
63
|
+
* @throws Error if CloudWatch query fails after 3 retry attempts
|
|
64
|
+
*/
|
|
65
|
+
async fetchLogs(query) {
|
|
66
|
+
const { streamType, limit = 10, cursor, ...otherFilters } = query;
|
|
67
|
+
// Validate required streamType
|
|
68
|
+
if (!streamType || typeof streamType !== 'string') {
|
|
69
|
+
throw new Error('streamType is required and must be a string');
|
|
70
|
+
}
|
|
71
|
+
const filterClauses = [`@logStream = "${this.sanitizeValue(streamType)}"`];
|
|
72
|
+
// Pagination: Use cursor (ISO 8601 timestamp) for pagination
|
|
73
|
+
// Fetch logs BEFORE this timestamp for infinite scroll
|
|
74
|
+
let paginationTimestamp;
|
|
75
|
+
if (cursor && typeof cursor === 'string') {
|
|
76
|
+
try {
|
|
77
|
+
const parsedTime = new Date(cursor).getTime();
|
|
78
|
+
if (!isNaN(parsedTime)) {
|
|
79
|
+
paginationTimestamp = parsedTime;
|
|
80
|
+
filterClauses.push(`@timestamp < ${paginationTimestamp}`);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
catch (error) {
|
|
84
|
+
this.logger.warn('Invalid cursor format, ignoring pagination', { cursor });
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
// DYNAMIC: Add ALL other filters from DTO (examId, type, classroomId, etc.)
|
|
88
|
+
for (const [key, value] of Object.entries(otherFilters)) {
|
|
89
|
+
if (value !== null && value !== undefined && key !== 'cursor') {
|
|
90
|
+
if (Array.isArray(value)) {
|
|
91
|
+
// Handle array filters (e.g., action: ['create', 'update'])
|
|
92
|
+
const arrayFilters = value
|
|
93
|
+
.filter((v) => v !== null && v !== undefined)
|
|
94
|
+
.map((v) => `${key} = "${this.sanitizeValue(v)}"`)
|
|
95
|
+
.join(' or ');
|
|
96
|
+
if (arrayFilters) {
|
|
97
|
+
filterClauses.push(`(${arrayFilters})`);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
else {
|
|
101
|
+
filterClauses.push(`${key} = "${this.sanitizeValue(value)}"`);
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
// PAGINATION: Fetch limit+1 to detect if more results exist
|
|
106
|
+
// If we get more than limit records, we know hasMore=true
|
|
107
|
+
const queryString = `
|
|
108
|
+
fields @timestamp, @message
|
|
109
|
+
| filter ${filterClauses.join(' and ')}
|
|
110
|
+
| sort @timestamp desc
|
|
111
|
+
| limit ${limit + 1}
|
|
112
|
+
`;
|
|
113
|
+
const logGroupName = this.getLogGroupName();
|
|
114
|
+
// Get log events from CloudWatch
|
|
115
|
+
const logEvents = await this.cloudWatchLogger.getLogEvents(logGroupName, queryString);
|
|
116
|
+
// Validate CloudWatch returned data
|
|
117
|
+
if (!logEvents || !Array.isArray(logEvents)) {
|
|
118
|
+
return [];
|
|
119
|
+
}
|
|
120
|
+
const logs = this.transformLogs(logEvents);
|
|
121
|
+
// Pagination: Check if limit+1 was returned
|
|
122
|
+
const hasMore = logs.length > limit;
|
|
123
|
+
const resultLogs = hasMore ? logs.slice(0, limit) : logs;
|
|
124
|
+
// Add cursor field for pagination
|
|
125
|
+
// Frontend will use the timestamp of the last log as cursor for next page
|
|
126
|
+
const logsWithCursor = resultLogs.map((log) => ({
|
|
127
|
+
...log,
|
|
128
|
+
cursor: log.timestamp, // ISO 8601 timestamp for next page pagination
|
|
129
|
+
}));
|
|
130
|
+
// Return just the array (component expects array, not object with logs property)
|
|
131
|
+
return logsWithCursor;
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* Log an event to CloudWatch with automatic context enrichment
|
|
135
|
+
* Works for ANY microservice and log type
|
|
136
|
+
*
|
|
137
|
+
* Features:
|
|
138
|
+
* - Retry logic with exponential backoff (2s, 4s, 8s)
|
|
139
|
+
* - Input sanitization for query injection prevention
|
|
140
|
+
* - Automatic context enrichment (tenantId, institutionId, userId, userName)
|
|
141
|
+
* - Timestamp included in all logs
|
|
142
|
+
*
|
|
143
|
+
* @throws Error if logging fails after all retry attempts
|
|
144
|
+
*/
|
|
145
|
+
async logEvent(data, retries = 3) {
|
|
146
|
+
const { streamType, ...logData } = data;
|
|
147
|
+
if (!streamType || typeof streamType !== 'string') {
|
|
148
|
+
throw new Error('streamType is required for logging and must be a string');
|
|
149
|
+
}
|
|
150
|
+
// FIRE-AND-FORGET PATTERN:
|
|
151
|
+
// Start logging in background WITHOUT blocking the caller
|
|
152
|
+
this.logEventInBackground(data, retries).catch((err) => {
|
|
153
|
+
// Silent catch - log errors only to logger, never throw to caller
|
|
154
|
+
this.logger.error('Background logging failed (non-blocking)', {
|
|
155
|
+
streamType,
|
|
156
|
+
error: err instanceof Error ? err.message : String(err),
|
|
157
|
+
});
|
|
158
|
+
});
|
|
159
|
+
// Return immediately - caller doesn't wait for logging
|
|
160
|
+
return;
|
|
161
|
+
}
|
|
162
|
+
/**
|
|
163
|
+
* Internal method that performs actual logging with retries
|
|
164
|
+
* This runs in the background and doesn't block the caller
|
|
165
|
+
*
|
|
166
|
+
* @private
|
|
167
|
+
* @param data - Event data to log
|
|
168
|
+
* @param retries - Number of retry attempts
|
|
169
|
+
*/
|
|
170
|
+
async logEventInBackground(data, retries) {
|
|
171
|
+
const { streamType, ...logData } = data;
|
|
172
|
+
// RETRY LOGIC: Exponential backoff for CloudWatch rate limits
|
|
173
|
+
for (let attempt = 1; attempt <= retries; attempt++) {
|
|
174
|
+
try {
|
|
175
|
+
const logGroupName = this.getLogGroupName();
|
|
176
|
+
const params = {
|
|
177
|
+
logGroupName,
|
|
178
|
+
logStreamName: streamType, // Stream name = streamType (no entityId in stream name!)
|
|
179
|
+
message: JSON.stringify({
|
|
180
|
+
...logData,
|
|
181
|
+
tenantId: (0, request_store_1.getTenantDetails)().id,
|
|
182
|
+
institutionId: (0, request_store_1.getInstitution)().id,
|
|
183
|
+
userId: (0, request_store_1.getUserData)()?.userId,
|
|
184
|
+
userName: (0, request_store_1.getUserData)()?.username,
|
|
185
|
+
timestamp: Date.now(),
|
|
186
|
+
}),
|
|
187
|
+
};
|
|
188
|
+
await this.cloudWatchLogger.putLogEvents(params);
|
|
189
|
+
return; // Success - exit retry loop
|
|
190
|
+
}
|
|
191
|
+
catch (err) {
|
|
192
|
+
const errorMessage = err instanceof Error ? err.message : String(err);
|
|
193
|
+
if (attempt === retries) {
|
|
194
|
+
// Final attempt failed - log error but don't throw (fire-and-forget)
|
|
195
|
+
this.logger.error(`Failed to log event to CloudWatch after ${retries} attempts`, {
|
|
196
|
+
streamType,
|
|
197
|
+
logData,
|
|
198
|
+
error: errorMessage,
|
|
199
|
+
});
|
|
200
|
+
return; // Exit without throwing
|
|
201
|
+
}
|
|
202
|
+
// Log retry attempt
|
|
203
|
+
const backoffTime = Math.pow(2, attempt) * 1000;
|
|
204
|
+
this.logger.debug(`CloudWatch logging attempt ${attempt} failed, retrying in ${backoffTime}ms`, {
|
|
205
|
+
streamType,
|
|
206
|
+
error: errorMessage,
|
|
207
|
+
});
|
|
208
|
+
// Exponential backoff: 2s, 4s, 8s
|
|
209
|
+
await new Promise((r) => setTimeout(r, backoffTime));
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
/**
|
|
214
|
+
* Get hierarchical log group name based on tenant and institution
|
|
215
|
+
* Hierarchical structure: {subDomain}/{institutionCode}/{serviceName}
|
|
216
|
+
* Examples: exams.com/mit/exams, stanford.edu/cse/exams
|
|
217
|
+
*
|
|
218
|
+
* Benefits:
|
|
219
|
+
* - Automatic tenant/institution isolation (no filter needed!)
|
|
220
|
+
* - 90-95% CloudWatch scan volume reduction
|
|
221
|
+
* - Log group selection = fast path filtering
|
|
222
|
+
*/
|
|
223
|
+
getLogGroupName() {
|
|
224
|
+
return `${(0, request_store_1.getTenantDetails)().subDomain}/${(0, request_store_1.getInstitution)().code}/${process.env.CLOUDWATCH_SERVICE_NAME}`;
|
|
225
|
+
}
|
|
226
|
+
/**
|
|
227
|
+
* Transform raw CloudWatch log events into user-friendly format
|
|
228
|
+
* Parses JSON message and extracts key fields
|
|
229
|
+
*/
|
|
230
|
+
transformLogs(logEvents) {
|
|
231
|
+
return logEvents.flatMap((logEvent) => {
|
|
232
|
+
const messageEntry = logEvent.find((e) => e.field === '@message');
|
|
233
|
+
if (!messageEntry) {
|
|
234
|
+
return [];
|
|
235
|
+
}
|
|
236
|
+
try {
|
|
237
|
+
const msgObj = JSON.parse(messageEntry.value);
|
|
238
|
+
// Validate timestamp exists and is a valid number
|
|
239
|
+
if (!msgObj?.timestamp || typeof msgObj.timestamp !== 'number') {
|
|
240
|
+
this.logger.warn('Missing or invalid timestamp in log message', {
|
|
241
|
+
value: messageEntry.value,
|
|
242
|
+
});
|
|
243
|
+
return [];
|
|
244
|
+
}
|
|
245
|
+
// Use the timestamp from the logged message (Date.now() when log was created)
|
|
246
|
+
// NOT @timestamp which is when CloudWatch received the log
|
|
247
|
+
const timestampMs = msgObj.timestamp;
|
|
248
|
+
const isoTimestamp = new Date(timestampMs).toISOString();
|
|
249
|
+
// IMPORTANT: Remove timestamp from msgObj to avoid duplicates
|
|
250
|
+
const { timestamp: _, ...msgObjWithoutTimestamp } = msgObj;
|
|
251
|
+
return [
|
|
252
|
+
{
|
|
253
|
+
timestamp: isoTimestamp, // ISO 8601 UTC format for frontend
|
|
254
|
+
message: msgObj?.message || '',
|
|
255
|
+
userName: msgObj?.userName || '',
|
|
256
|
+
action: msgObj?.action || '',
|
|
257
|
+
...msgObjWithoutTimestamp, // Include all fields from log message EXCEPT the raw timestamp
|
|
258
|
+
},
|
|
259
|
+
];
|
|
260
|
+
}
|
|
261
|
+
catch (error) {
|
|
262
|
+
const errorMsg = error instanceof Error ? error.message : String(error);
|
|
263
|
+
this.logger.error('Failed to parse CloudWatch message', {
|
|
264
|
+
value: messageEntry.value,
|
|
265
|
+
error: errorMsg,
|
|
266
|
+
});
|
|
267
|
+
return [];
|
|
268
|
+
}
|
|
269
|
+
});
|
|
270
|
+
}
|
|
271
|
+
/**
|
|
272
|
+
* Sanitize filter values to prevent CloudWatch query injection
|
|
273
|
+
* Escapes special characters that could break CloudWatch query syntax
|
|
274
|
+
*
|
|
275
|
+
* Characters escaped:
|
|
276
|
+
* - Backslashes (\)
|
|
277
|
+
* - Double quotes (")
|
|
278
|
+
* - Newlines (\n)
|
|
279
|
+
* - Carriage returns (\r)
|
|
280
|
+
*
|
|
281
|
+
* @private
|
|
282
|
+
* @param value - Raw value to sanitize
|
|
283
|
+
* @returns Sanitized value safe for CloudWatch query
|
|
284
|
+
*/
|
|
285
|
+
sanitizeValue(value) {
|
|
286
|
+
if (value === null || value === undefined) {
|
|
287
|
+
return '';
|
|
288
|
+
}
|
|
289
|
+
return String(value)
|
|
290
|
+
.replace(/\\/g, '\\\\') // Escape backslashes first!
|
|
291
|
+
.replace(/"/g, '\\"') // Escape quotes
|
|
292
|
+
.replace(/\n/g, '\\n') // Escape newlines
|
|
293
|
+
.replace(/\r/g, '\\r'); // Escape carriage returns
|
|
294
|
+
}
|
|
295
|
+
};
|
|
296
|
+
exports.ActivityLogsService = ActivityLogsService;
|
|
297
|
+
exports.ActivityLogsService = ActivityLogsService = ActivityLogsService_1 = __decorate([
|
|
298
|
+
(0, common_1.Injectable)(),
|
|
299
|
+
__metadata("design:paramtypes", [cloud_watch_logger_service_1.CloudWatchLoggerService])
|
|
300
|
+
], ActivityLogsService);
|
|
301
|
+
//# sourceMappingURL=activity-logs.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"activity-logs.service.js","sourceRoot":"","sources":["../../src/activity-logs/activity-logs.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Common Log Filter DTO - Base class for all activity log queries
|
|
3
|
+
* Microservices extend this DTO with their specific entity filters
|
|
4
|
+
*/
|
|
5
|
+
export declare class CommonLogFilterDto {
|
|
6
|
+
streamType: string;
|
|
7
|
+
limit?: number;
|
|
8
|
+
fromDate?: string;
|
|
9
|
+
toDate?: string;
|
|
10
|
+
cursor?: string;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=common-log-filter.dto.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"common-log-filter.dto.d.ts","sourceRoot":"","sources":["../../../src/activity-logs/dtos/common-log-filter.dto.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,qBAAa,kBAAkB;IAG7B,UAAU,EAAE,MAAM,CAAC;IAInB,KAAK,CAAC,EAAE,MAAM,CAAC;IAIf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAIlB,MAAM,CAAC,EAAE,MAAM,CAAC;IAIhB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.CommonLogFilterDto = void 0;
|
|
13
|
+
const class_validator_1 = require("class-validator");
|
|
14
|
+
/**
|
|
15
|
+
* Common Log Filter DTO - Base class for all activity log queries
|
|
16
|
+
* Microservices extend this DTO with their specific entity filters
|
|
17
|
+
*/
|
|
18
|
+
class CommonLogFilterDto {
|
|
19
|
+
streamType;
|
|
20
|
+
limit;
|
|
21
|
+
fromDate;
|
|
22
|
+
toDate;
|
|
23
|
+
cursor;
|
|
24
|
+
}
|
|
25
|
+
exports.CommonLogFilterDto = CommonLogFilterDto;
|
|
26
|
+
__decorate([
|
|
27
|
+
(0, class_validator_1.IsNotEmpty)(),
|
|
28
|
+
(0, class_validator_1.IsString)(),
|
|
29
|
+
__metadata("design:type", String)
|
|
30
|
+
], CommonLogFilterDto.prototype, "streamType", void 0);
|
|
31
|
+
__decorate([
|
|
32
|
+
(0, class_validator_1.IsOptional)(),
|
|
33
|
+
(0, class_validator_1.IsNumber)(),
|
|
34
|
+
__metadata("design:type", Number)
|
|
35
|
+
], CommonLogFilterDto.prototype, "limit", void 0);
|
|
36
|
+
__decorate([
|
|
37
|
+
(0, class_validator_1.IsOptional)(),
|
|
38
|
+
(0, class_validator_1.IsString)(),
|
|
39
|
+
__metadata("design:type", String)
|
|
40
|
+
], CommonLogFilterDto.prototype, "fromDate", void 0);
|
|
41
|
+
__decorate([
|
|
42
|
+
(0, class_validator_1.IsOptional)(),
|
|
43
|
+
(0, class_validator_1.IsString)(),
|
|
44
|
+
__metadata("design:type", String)
|
|
45
|
+
], CommonLogFilterDto.prototype, "toDate", void 0);
|
|
46
|
+
__decorate([
|
|
47
|
+
(0, class_validator_1.IsOptional)(),
|
|
48
|
+
(0, class_validator_1.IsString)(),
|
|
49
|
+
__metadata("design:type", String)
|
|
50
|
+
], CommonLogFilterDto.prototype, "cursor", void 0);
|
|
51
|
+
//# sourceMappingURL=common-log-filter.dto.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"common-log-filter.dto.js","sourceRoot":"","sources":["../../../src/activity-logs/dtos/common-log-filter.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAA6E;AAE7E;;;GAGG;AACH,MAAa,kBAAkB;IAG7B,UAAU,CAAS;IAInB,KAAK,CAAU;IAIf,QAAQ,CAAU;IAIlB,MAAM,CAAU;IAIhB,MAAM,CAAU;CACjB;AApBD,gDAoBC;AAjBC;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;sDACQ;AAInB;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;iDACI;AAIf;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;oDACO;AAIlB;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;kDACK;AAIhB;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;kDACK"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/activity-logs/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CommonLogFilterDto = exports.ActivityLogsService = exports.ActivityLogsModule = void 0;
|
|
4
|
+
var activity_logs_module_1 = require("./activity-logs.module");
|
|
5
|
+
Object.defineProperty(exports, "ActivityLogsModule", { enumerable: true, get: function () { return activity_logs_module_1.ActivityLogsModule; } });
|
|
6
|
+
var activity_logs_service_1 = require("./activity-logs.service");
|
|
7
|
+
Object.defineProperty(exports, "ActivityLogsService", { enumerable: true, get: function () { return activity_logs_service_1.ActivityLogsService; } });
|
|
8
|
+
var common_log_filter_dto_1 = require("./dtos/common-log-filter.dto");
|
|
9
|
+
Object.defineProperty(exports, "CommonLogFilterDto", { enumerable: true, get: function () { return common_log_filter_dto_1.CommonLogFilterDto; } });
|
|
10
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/activity-logs/index.ts"],"names":[],"mappings":";;;AAAA,+DAA4D;AAAnD,0HAAA,kBAAkB,OAAA;AAC3B,iEAA8D;AAArD,4HAAA,mBAAmB,OAAA;AAC5B,sEAAkE;AAAzD,2HAAA,kBAAkB,OAAA"}
|
|
@@ -8,7 +8,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
8
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
9
|
exports.CloudWatchLoggerModule = void 0;
|
|
10
10
|
const common_1 = require("@nestjs/common");
|
|
11
|
-
const
|
|
11
|
+
const cloud_watch_logger_service_1 = require("./cloud-watch-logger.service");
|
|
12
12
|
/**
|
|
13
13
|
* Description
|
|
14
14
|
* This module is responsible for logging using AWS CloudWatch.
|
|
@@ -19,8 +19,8 @@ let CloudWatchLoggerModule = class CloudWatchLoggerModule {
|
|
|
19
19
|
exports.CloudWatchLoggerModule = CloudWatchLoggerModule;
|
|
20
20
|
exports.CloudWatchLoggerModule = CloudWatchLoggerModule = __decorate([
|
|
21
21
|
(0, common_1.Module)({
|
|
22
|
-
providers: [
|
|
23
|
-
exports: [
|
|
22
|
+
providers: [cloud_watch_logger_service_1.CloudWatchLoggerService],
|
|
23
|
+
exports: [cloud_watch_logger_service_1.CloudWatchLoggerService],
|
|
24
24
|
})
|
|
25
25
|
], CloudWatchLoggerModule);
|
|
26
26
|
//# sourceMappingURL=cloud-watch-logger.module.js.map
|
package/dist/cloud-watch-logger/{cloud-water-logger.service.d.ts → cloud-watch-logger.service.d.ts}
RENAMED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { ResultField } from '@aws-sdk/client-cloudwatch-logs';
|
|
1
2
|
import { PutLogEventDto } from './dtos/put-log-event.dto';
|
|
2
3
|
/**
|
|
3
4
|
* @class CloudWatchLoggerService
|
|
@@ -6,6 +7,7 @@ import { PutLogEventDto } from './dtos/put-log-event.dto';
|
|
|
6
7
|
* @exports CloudWatchLoggerService
|
|
7
8
|
*/
|
|
8
9
|
export declare class CloudWatchLoggerService {
|
|
10
|
+
private readonly logger;
|
|
9
11
|
/**
|
|
10
12
|
* AWS CloudWatch Logs client instance used to interact with CloudWatch services.
|
|
11
13
|
* @private
|
|
@@ -17,29 +19,36 @@ export declare class CloudWatchLoggerService {
|
|
|
17
19
|
* Initializes the CloudWatchLogsClient with the AWS credentials.
|
|
18
20
|
*/
|
|
19
21
|
constructor();
|
|
22
|
+
/**
|
|
23
|
+
* Creates a log group in CloudWatch.
|
|
24
|
+
* @param logGroupName - The name of the log group to create.
|
|
25
|
+
* @returns A promise that resolves to the response from creating the log group.
|
|
26
|
+
*/
|
|
27
|
+
private createLogGroup;
|
|
28
|
+
/**
|
|
29
|
+
* Checks if a log stream exists in the specified log group.
|
|
30
|
+
* @param logGroupName - The name of the log group.
|
|
31
|
+
* @param logStreamName - The name of the log stream to check.
|
|
32
|
+
* @returns True if the stream exists, false otherwise.
|
|
33
|
+
*/
|
|
34
|
+
private logStreamExists;
|
|
20
35
|
/**
|
|
21
36
|
* Creates a log stream in the specified log group.
|
|
37
|
+
* Ensures the log group exists first before creating the stream.
|
|
38
|
+
* Checks if stream already exists to avoid duplicates.
|
|
22
39
|
* @param logGroupName - The name of the log group to which the stream belongs.
|
|
23
40
|
* @param logStreamName - The unique name of the log stream to be created.
|
|
24
41
|
* @returns A promise that resolves to the response from creating the log stream.
|
|
25
42
|
* @throws UnprocessableEntityException if there is an error creating the log stream.
|
|
26
43
|
*/
|
|
27
|
-
createLogStream
|
|
44
|
+
private createLogStream;
|
|
28
45
|
/**
|
|
29
46
|
* Writes log events to a CloudWatch log stream.
|
|
30
47
|
* @param data - The log event data.
|
|
31
48
|
* @returns A promise that resolves with the response from CloudWatch.
|
|
32
49
|
* @throws UnprocessableEntityException if there is an error writing the log event.
|
|
33
50
|
*/
|
|
34
|
-
putLogEvents(data: PutLogEventDto): Promise<
|
|
35
|
-
/**
|
|
36
|
-
* Retrieves the sequence token for a given log stream in a log group.
|
|
37
|
-
* @param logGroupName - The name of the log group.
|
|
38
|
-
* @param logStreamName - The name of the log stream.
|
|
39
|
-
* @returns A promise that resolves to the sequence token of the log stream.
|
|
40
|
-
* @throws UnprocessableEntityException if there is an error retrieving the sequence token.
|
|
41
|
-
*/
|
|
42
|
-
getSequenceTokenForLogStream(logGroupName: string, logStreamName: string): Promise<string>;
|
|
51
|
+
putLogEvents(data: PutLogEventDto): Promise<void>;
|
|
43
52
|
/**
|
|
44
53
|
* Polls CloudWatch Logs to retrieve results for the specified query.
|
|
45
54
|
* Waits until the query is completed or times out.
|
|
@@ -48,6 +57,6 @@ export declare class CloudWatchLoggerService {
|
|
|
48
57
|
* @returns A promise that resolves to an array of log event results.
|
|
49
58
|
* @throws UnprocessableEntityException if there is an error retrieving the logs.
|
|
50
59
|
*/
|
|
51
|
-
getLogEvents(logGroupName: string, query: string): Promise<
|
|
60
|
+
getLogEvents(logGroupName: string, query: string): Promise<ResultField[][]>;
|
|
52
61
|
}
|
|
53
|
-
//# sourceMappingURL=cloud-
|
|
62
|
+
//# sourceMappingURL=cloud-watch-logger.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cloud-watch-logger.service.d.ts","sourceRoot":"","sources":["../../src/cloud-watch-logger/cloud-watch-logger.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAWL,WAAW,EAIZ,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE1D;;;;;GAKG;AACH,qBACa,uBAAuB;IAClC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA4C;IAEnE;;;OAGG;IACH,OAAO,CAAC,gBAAgB,CAAuB;IAE/C;;;;OAIG;;IAWH;;;;OAIG;YACW,cAAc;IAgB5B;;;;;OAKG;YACW,eAAe;IAe7B;;;;;;;;OAQG;YACW,eAAe;IAoB7B;;;;;OAKG;IACG,YAAY,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAwCvD;;;;;;;OAOG;IACG,YAAY,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;CA2DlF"}
|
package/dist/cloud-watch-logger/{cloud-water-logger.service.js → cloud-watch-logger.service.js}
RENAMED
|
@@ -8,6 +8,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
8
8
|
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
9
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
10
|
};
|
|
11
|
+
var CloudWatchLoggerService_1;
|
|
11
12
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
13
|
exports.CloudWatchLoggerService = void 0;
|
|
13
14
|
const client_cloudwatch_logs_1 = require("@aws-sdk/client-cloudwatch-logs");
|
|
@@ -18,7 +19,8 @@ const common_1 = require("@nestjs/common");
|
|
|
18
19
|
* This service provides methods to create log streams, write log events, and retrieve log events from CloudWatch Logs.
|
|
19
20
|
* @exports CloudWatchLoggerService
|
|
20
21
|
*/
|
|
21
|
-
let CloudWatchLoggerService = class CloudWatchLoggerService {
|
|
22
|
+
let CloudWatchLoggerService = CloudWatchLoggerService_1 = class CloudWatchLoggerService {
|
|
23
|
+
logger = new common_1.Logger(CloudWatchLoggerService_1.name);
|
|
22
24
|
/**
|
|
23
25
|
* AWS CloudWatch Logs client instance used to interact with CloudWatch services.
|
|
24
26
|
* @private
|
|
@@ -39,81 +41,111 @@ let CloudWatchLoggerService = class CloudWatchLoggerService {
|
|
|
39
41
|
});
|
|
40
42
|
}
|
|
41
43
|
/**
|
|
42
|
-
* Creates a log
|
|
43
|
-
* @param logGroupName - The name of the log group to
|
|
44
|
-
* @
|
|
45
|
-
* @returns A promise that resolves to the response from creating the log stream.
|
|
46
|
-
* @throws UnprocessableEntityException if there is an error creating the log stream.
|
|
44
|
+
* Creates a log group in CloudWatch.
|
|
45
|
+
* @param logGroupName - The name of the log group to create.
|
|
46
|
+
* @returns A promise that resolves to the response from creating the log group.
|
|
47
47
|
*/
|
|
48
|
-
async
|
|
48
|
+
async createLogGroup(logGroupName) {
|
|
49
49
|
const params = {
|
|
50
50
|
logGroupName,
|
|
51
|
-
logStreamName,
|
|
52
51
|
};
|
|
53
52
|
try {
|
|
54
|
-
const command = new client_cloudwatch_logs_1.
|
|
53
|
+
const command = new client_cloudwatch_logs_1.CreateLogGroupCommand(params);
|
|
55
54
|
const response = await this.cloudWatchClient.send(command);
|
|
56
55
|
return response;
|
|
57
56
|
}
|
|
58
57
|
catch (error) {
|
|
59
|
-
|
|
58
|
+
if (error.name === 'ResourceAlreadyExistsException') {
|
|
59
|
+
return;
|
|
60
|
+
}
|
|
61
|
+
throw error;
|
|
60
62
|
}
|
|
61
63
|
}
|
|
62
64
|
/**
|
|
63
|
-
*
|
|
64
|
-
* @param
|
|
65
|
-
* @
|
|
66
|
-
* @
|
|
65
|
+
* Checks if a log stream exists in the specified log group.
|
|
66
|
+
* @param logGroupName - The name of the log group.
|
|
67
|
+
* @param logStreamName - The name of the log stream to check.
|
|
68
|
+
* @returns True if the stream exists, false otherwise.
|
|
67
69
|
*/
|
|
68
|
-
async
|
|
69
|
-
const sequenceToken = await this.getSequenceTokenForLogStream(data.logGroupName, data.logStreamName);
|
|
70
|
-
const params = {
|
|
71
|
-
logGroupName: data.logGroupName,
|
|
72
|
-
logStreamName: data.logStreamName,
|
|
73
|
-
logEvents: [
|
|
74
|
-
{
|
|
75
|
-
message: data.message,
|
|
76
|
-
timestamp: Date.now(),
|
|
77
|
-
},
|
|
78
|
-
],
|
|
79
|
-
sequenceToken,
|
|
80
|
-
};
|
|
70
|
+
async logStreamExists(logGroupName, logStreamName) {
|
|
81
71
|
try {
|
|
82
|
-
const
|
|
72
|
+
const params = {
|
|
73
|
+
logGroupName,
|
|
74
|
+
logStreamNamePrefix: logStreamName,
|
|
75
|
+
};
|
|
76
|
+
const command = new client_cloudwatch_logs_1.DescribeLogStreamsCommand(params);
|
|
83
77
|
const response = await this.cloudWatchClient.send(command);
|
|
84
|
-
|
|
78
|
+
const exists = response.logStreams?.some((stream) => stream.logStreamName === logStreamName);
|
|
79
|
+
return exists || false;
|
|
85
80
|
}
|
|
86
81
|
catch (error) {
|
|
87
|
-
|
|
88
|
-
console.log('Log stream not found. Creating log stream...');
|
|
89
|
-
await this.createLogStream(data.logGroupName, data.logStreamName);
|
|
90
|
-
return this.putLogEvents(data);
|
|
91
|
-
}
|
|
92
|
-
else {
|
|
93
|
-
throw new common_1.UnprocessableEntityException(`Error logging message to ${params.logGroupName} in ${params.logStreamName} stream`, error);
|
|
94
|
-
}
|
|
82
|
+
return false;
|
|
95
83
|
}
|
|
96
84
|
}
|
|
97
85
|
/**
|
|
98
|
-
*
|
|
99
|
-
*
|
|
100
|
-
*
|
|
101
|
-
* @
|
|
102
|
-
* @
|
|
86
|
+
* Creates a log stream in the specified log group.
|
|
87
|
+
* Ensures the log group exists first before creating the stream.
|
|
88
|
+
* Checks if stream already exists to avoid duplicates.
|
|
89
|
+
* @param logGroupName - The name of the log group to which the stream belongs.
|
|
90
|
+
* @param logStreamName - The unique name of the log stream to be created.
|
|
91
|
+
* @returns A promise that resolves to the response from creating the log stream.
|
|
92
|
+
* @throws UnprocessableEntityException if there is an error creating the log stream.
|
|
103
93
|
*/
|
|
104
|
-
async
|
|
94
|
+
async createLogStream(logGroupName, logStreamName) {
|
|
95
|
+
// First ensure log group exists
|
|
96
|
+
await this.createLogGroup(logGroupName);
|
|
97
|
+
// Check if stream already exists
|
|
98
|
+
const exists = await this.logStreamExists(logGroupName, logStreamName);
|
|
99
|
+
if (exists) {
|
|
100
|
+
return;
|
|
101
|
+
}
|
|
102
|
+
// Create the stream
|
|
105
103
|
const params = {
|
|
106
104
|
logGroupName,
|
|
107
|
-
|
|
105
|
+
logStreamName,
|
|
108
106
|
};
|
|
107
|
+
const command = new client_cloudwatch_logs_1.CreateLogStreamCommand(params);
|
|
108
|
+
const response = await this.cloudWatchClient.send(command);
|
|
109
|
+
return response;
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Writes log events to a CloudWatch log stream.
|
|
113
|
+
* @param data - The log event data.
|
|
114
|
+
* @returns A promise that resolves with the response from CloudWatch.
|
|
115
|
+
* @throws UnprocessableEntityException if there is an error writing the log event.
|
|
116
|
+
*/
|
|
117
|
+
async putLogEvents(data) {
|
|
118
|
+
// Validate inputs
|
|
119
|
+
if (!data.logGroupName?.trim() || !data.logStreamName?.trim() || !data.message?.trim()) {
|
|
120
|
+
throw new Error('logGroupName, logStreamName, and message are required');
|
|
121
|
+
}
|
|
109
122
|
try {
|
|
110
|
-
|
|
111
|
-
const
|
|
112
|
-
|
|
113
|
-
|
|
123
|
+
// Check if stream exists, create if needed
|
|
124
|
+
const exists = await this.logStreamExists(data.logGroupName, data.logStreamName);
|
|
125
|
+
if (!exists) {
|
|
126
|
+
await this.createLogStream(data.logGroupName, data.logStreamName);
|
|
127
|
+
}
|
|
128
|
+
// Send log without sequenceToken (timestamp ensures ordering)
|
|
129
|
+
const params = {
|
|
130
|
+
logGroupName: data.logGroupName,
|
|
131
|
+
logStreamName: data.logStreamName,
|
|
132
|
+
logEvents: [
|
|
133
|
+
{
|
|
134
|
+
message: data.message,
|
|
135
|
+
timestamp: Date.now(), // ← Timestamp ensures proper ordering
|
|
136
|
+
},
|
|
137
|
+
],
|
|
138
|
+
};
|
|
139
|
+
const command = new client_cloudwatch_logs_1.PutLogEventsCommand(params);
|
|
140
|
+
await this.cloudWatchClient.send(command);
|
|
114
141
|
}
|
|
115
142
|
catch (error) {
|
|
116
|
-
|
|
143
|
+
if (error.name === 'ResourceNotFoundException') {
|
|
144
|
+
// Retry if stream was deleted between check and write
|
|
145
|
+
await this.createLogStream(data.logGroupName, data.logStreamName);
|
|
146
|
+
return this.putLogEvents(data);
|
|
147
|
+
}
|
|
148
|
+
throw new common_1.UnprocessableEntityException(`Error logging to ${data.logGroupName}/${data.logStreamName}`, error);
|
|
117
149
|
}
|
|
118
150
|
}
|
|
119
151
|
/**
|
|
@@ -125,20 +157,31 @@ let CloudWatchLoggerService = class CloudWatchLoggerService {
|
|
|
125
157
|
* @throws UnprocessableEntityException if there is an error retrieving the logs.
|
|
126
158
|
*/
|
|
127
159
|
async getLogEvents(logGroupName, query) {
|
|
160
|
+
// Validate inputs
|
|
161
|
+
if (!logGroupName || typeof logGroupName !== 'string') {
|
|
162
|
+
throw new Error('logGroupName is required and must be a string');
|
|
163
|
+
}
|
|
164
|
+
if (!query || typeof query !== 'string') {
|
|
165
|
+
throw new Error('query is required and must be a string');
|
|
166
|
+
}
|
|
128
167
|
const params = {
|
|
129
168
|
logGroupName,
|
|
130
|
-
startTime:
|
|
169
|
+
startTime: Date.now() - 24 * 60 * 60 * 1000, // Last 24 hours only
|
|
131
170
|
endTime: Date.now(),
|
|
132
171
|
queryString: query,
|
|
133
172
|
};
|
|
134
173
|
try {
|
|
135
174
|
const command = new client_cloudwatch_logs_1.StartQueryCommand(params);
|
|
136
175
|
const startQueryResponse = await this.cloudWatchClient.send(command);
|
|
137
|
-
// Polling for query results
|
|
176
|
+
// Polling for query results with exponential backoff
|
|
138
177
|
let queryStatus;
|
|
139
178
|
let results;
|
|
179
|
+
let pollCount = 0;
|
|
180
|
+
const maxPolls = 30; // Max ~1.8 seconds with exponential backoff
|
|
140
181
|
do {
|
|
141
|
-
|
|
182
|
+
// Exponential backoff: 50ms, 100ms, 150ms, 200ms, 250ms (capped)
|
|
183
|
+
const delay = Math.min(50 + pollCount * 50, 250);
|
|
184
|
+
await new Promise((resolve) => setTimeout(resolve, delay));
|
|
142
185
|
const getQueryResultsCommand = new client_cloudwatch_logs_1.GetQueryResultsCommand({
|
|
143
186
|
queryId: startQueryResponse.queryId,
|
|
144
187
|
});
|
|
@@ -148,17 +191,28 @@ let CloudWatchLoggerService = class CloudWatchLoggerService {
|
|
|
148
191
|
results = queryResults.results;
|
|
149
192
|
break;
|
|
150
193
|
}
|
|
151
|
-
|
|
194
|
+
pollCount++;
|
|
195
|
+
} while ((queryStatus === 'Running' || queryStatus === 'Scheduled') && pollCount < maxPolls);
|
|
196
|
+
// Handle query timeout explicitly
|
|
197
|
+
if (!results) {
|
|
198
|
+
this.logger.warn('CloudWatch query timeout or incomplete', {
|
|
199
|
+
logGroupName,
|
|
200
|
+
queryStatus,
|
|
201
|
+
pollCount,
|
|
202
|
+
maxPolls,
|
|
203
|
+
});
|
|
204
|
+
return []; // Return empty array instead of undefined
|
|
205
|
+
}
|
|
152
206
|
return results;
|
|
153
207
|
}
|
|
154
208
|
catch (error) {
|
|
155
|
-
throw new common_1.UnprocessableEntityException(`Error getting logs for
|
|
209
|
+
throw new common_1.UnprocessableEntityException(`Error getting logs for group: ${logGroupName}`, error);
|
|
156
210
|
}
|
|
157
211
|
}
|
|
158
212
|
};
|
|
159
213
|
exports.CloudWatchLoggerService = CloudWatchLoggerService;
|
|
160
|
-
exports.CloudWatchLoggerService = CloudWatchLoggerService = __decorate([
|
|
214
|
+
exports.CloudWatchLoggerService = CloudWatchLoggerService = CloudWatchLoggerService_1 = __decorate([
|
|
161
215
|
(0, common_1.Injectable)(),
|
|
162
216
|
__metadata("design:paramtypes", [])
|
|
163
217
|
], CloudWatchLoggerService);
|
|
164
|
-
//# sourceMappingURL=cloud-
|
|
218
|
+
//# sourceMappingURL=cloud-watch-logger.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cloud-watch-logger.service.js","sourceRoot":"","sources":["../../src/cloud-watch-logger/cloud-watch-logger.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,5 +15,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
__exportStar(require("./cloud-watch-logger.module"), exports);
|
|
18
|
-
__exportStar(require("./cloud-
|
|
18
|
+
__exportStar(require("./cloud-watch-logger.service"), exports);
|
|
19
19
|
//# sourceMappingURL=index.js.map
|
|
@@ -126,8 +126,8 @@ export declare class FrappeConfig {
|
|
|
126
126
|
docTypes?: FrappeDocType[];
|
|
127
127
|
}
|
|
128
128
|
export declare class HostelAttendanceConfig {
|
|
129
|
-
enabled
|
|
130
|
-
hostelerBatch
|
|
129
|
+
enabled?: boolean;
|
|
130
|
+
hostelerBatch?: string;
|
|
131
131
|
}
|
|
132
132
|
export declare class Tenant {
|
|
133
133
|
_id: MongooseSchema.Types.ObjectId;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tenant.schema.d.ts","sourceRoot":"","sources":["../../../src/domain/schemas/tenant.schema.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,IAAI,cAAc,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAG3D,oBAAY,WAAW;IACrB,IAAI,SAAS;IACb,QAAQ,aAAa;IACrB,YAAY,iBAAiB;IAC7B,iBAAiB,sBAAsB;CACxC;AAED,qBACa,cAAc;IAEzB,IAAI,EAAE,MAAM,CAAC;IAGb,IAAI,EAAE,MAAM,CAAC;IAGb,QAAQ,EAAE,MAAM,CAAC;IAGjB,QAAQ,EAAE,MAAM,CAAC;IAGjB,QAAQ,EAAE,MAAM,CAAC;IAGjB,UAAU,EAAE,MAAM,CAAC;CACpB;AAGD,qBACa,UAAU;IAErB,IAAI,EAAE,MAAM,CAAC;IAGb,IAAI,EAAE,MAAM,CAAC;IAGb,QAAQ,EAAE,MAAM,CAAC;IAGjB,QAAQ,EAAE,MAAM,CAAC;IAGjB,IAAI,EAAE,MAAM,CAAC;IAGb,MAAM,EAAE,OAAO,CAAC;CACjB;AAGD,qBACa,eAAe;IAE1B,SAAS,EAAE,OAAO,CAAC;IAGnB,MAAM,EAAE,MAAM,CAAC;IAGf,MAAM,EAAE,MAAM,CAAC;CAChB;AAGD,qBACa,aAAa;IAExB,SAAS,EAAE,MAAM,CAAC;IAGlB,WAAW,EAAE,MAAM,CAAC;IAGpB,UAAU,EAAE,MAAM,CAAC;IAGnB,UAAU,EAAE,MAAM,CAAC;IAGnB,QAAQ,EAAE,MAAM,CAAC;IAGjB,OAAO,EAAE,OAAO,CAAC;CAClB;AAGD,qBACa,cAAc;IAEzB,GAAG,EAAE,MAAM,CAAC;IAGZ,MAAM,EAAE,MAAM,CAAC;CAChB;AAGD,qBACa,WAAW;IAEtB,UAAU,EAAE,MAAM,CAAC;IAGnB,WAAW,EAAE,MAAM,CAAC;IAGpB,YAAY,EAAE,MAAM,CAAC;IAGrB,OAAO,EAAE,MAAM,CAAC;IAGhB,MAAM,EAAE,OAAO,CAAC;IAGhB,SAAS,EAAE,MAAM,CAAC;IAGlB,WAAW,EAAE,MAAM,CAAC;IAGpB,cAAc,EAAE,MAAM,CAAC;IAGvB,aAAa,EAAE,MAAM,CAAC;IAGtB,WAAW,EAAE,MAAM,CAAC;CACrB;AAGD,qBACa,YAAY;IAEvB,UAAU,EAAE,MAAM,CAAC;IAGnB,QAAQ,EAAE,MAAM,CAAC;IAGjB,QAAQ,EAAE,MAAM,CAAC;IAGjB,SAAS,EAAE,MAAM,CAAC;CACnB;AAGD,qBACa,cAAc;IAEzB,UAAU,EAAE,MAAM,CAAC;IAGnB,UAAU,EAAE,MAAM,CAAC;IAGnB,WAAW,EAAE,MAAM,CAAC;CACrB;AAGD,qBACa,gBAAgB;IAE3B,UAAU,EAAE,MAAM,CAAC;IAGnB,UAAU,EAAE,MAAM,CAAC;IAGnB,WAAW,EAAE,MAAM,CAAC;CACrB;AAGD,qBACa,eAAe;IAE1B,QAAQ,EAAE,MAAM,CAAC;IAGjB,YAAY,EAAE,MAAM,CAAC;IAGrB,MAAM,EAAE,MAAM,CAAC;IAGf,UAAU,EAAE,MAAM,CAAC;CACpB;AAGD,qBACa,cAAc;IAEzB,aAAa,EAAE,MAAM,CAAC;CACvB;AAGD,eAAO,MAAM,uBAAuB;;;;;;;;CAQnC,CAAC;AAEF,qBACa,kBAAkB;IAC7B,GAAG,EAAE,cAAc,CAAC,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;IAEpD,EAAE,EAAE,MAAM,CAAC;IAGX,IAAI,EAAE,MAAM,CAAC;IAGb,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAG7B,cAAc,CAAC,EAAE,cAAc,CAAC;IAGhC,WAAW,CAAC,EAAE,WAAW,CAAC;IAG1B,YAAY,CAAC,EAAE,YAAY,CAAC;IAG5B,cAAc,CAAC,EAAE,cAAc,CAAC;IAGhC,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IAGpC,eAAe,CAAC,EAAE,eAAe,CAAC;IAGlC,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC;AAGD,qBACa,iBAAiB;IAE5B,YAAY,EAAE,MAAM,CAAC;IAGrB,SAAS,CAAC,EAAE,MAAM,CAAC;IAGnB,UAAU,CAAC,EAAE,MAAM,CAAC;IAGpB,iBAAiB,EAAE,MAAM,CAAC;IAG1B,aAAa,EAAE,MAAM,CAAC;IAGtB,iBAAiB,EAAE,MAAM,CAAC;IAG1B,aAAa,EAAE,MAAM,CAAC;IAGtB,WAAW,CAAC,EAAE,MAAM,CAAC;IAGrB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAGD,eAAO,MAAM,WAAW,YAAY,CAAC;AAErC,qBACa,aAAa;IAExB,IAAI,EAAE,WAAW,CAAC;IAGlB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,eAAO,MAAM,mBAAmB;;;;EAA8C,CAAC;AAC/E,qBACa,YAAY;IAEvB,OAAO,EAAE,OAAO,CAAC;IAGjB,OAAO,EAAE,MAAM,CAAC;IAGhB,SAAS,EAAE,MAAM,CAAC;IAGlB,UAAU,EAAE,MAAM,CAAC;IAGnB,QAAQ,CAAC,EAAE,aAAa,EAAE,CAAC;CAC5B;AAID,qBACa,sBAAsB;IAEjC,OAAO,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"tenant.schema.d.ts","sourceRoot":"","sources":["../../../src/domain/schemas/tenant.schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -512,7 +512,7 @@ __decorate([
|
|
|
512
512
|
__metadata("design:type", Boolean)
|
|
513
513
|
], HostelAttendanceConfig.prototype, "enabled", void 0);
|
|
514
514
|
__decorate([
|
|
515
|
-
(0, mongoose_1.Prop)({ required:
|
|
515
|
+
(0, mongoose_1.Prop)({ required: false }),
|
|
516
516
|
__metadata("design:type", String)
|
|
517
517
|
], HostelAttendanceConfig.prototype, "hostelerBatch", void 0);
|
|
518
518
|
exports.HostelAttendanceConfig = HostelAttendanceConfig = __decorate([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tenant.schema.js","sourceRoot":"","sources":["../../../src/domain/schemas/tenant.schema.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tenant.schema.js","sourceRoot":"","sources":["../../../src/domain/schemas/tenant.schema.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,UAAU,CAAC;AACzB,cAAc,8BAA8B,CAAC;AAC7C,cAAc,wBAAwB,CAAC;AACvC,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,SAAS,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,UAAU,CAAC;AACzB,cAAc,8BAA8B,CAAC;AAC7C,cAAc,wBAAwB,CAAC;AACvC,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,SAAS,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -14,6 +14,7 @@ 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
|
+
__exportStar(require("./activity-logs"), exports);
|
|
17
18
|
__exportStar(require("./cloud-watch-logger"), exports);
|
|
18
19
|
__exportStar(require("./common"), exports);
|
|
19
20
|
__exportStar(require("./data-export-fields-manager"), exports);
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,uDAAqC;AACrC,2CAAyB;AACzB,+DAA6C;AAC7C,yDAAuC;AACvC,2CAAyB;AACzB,2CAAyB;AACzB,0CAAwB;AACxB,4CAA0B;AAC1B,8CAA4B;AAC5B,oDAAkC;AAClC,kDAAgC;AAChC,gDAA8B;AAC9B,sDAAoC;AACpC,kDAAgC;AAChC,kDAAgC;AAChC,+CAA6B;AAC7B,gDAA8B;AAC9B,0CAAwB"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kDAAgC;AAChC,uDAAqC;AACrC,2CAAyB;AACzB,+DAA6C;AAC7C,yDAAuC;AACvC,2CAAyB;AACzB,2CAAyB;AACzB,0CAAwB;AACxB,4CAA0B;AAC1B,8CAA4B;AAC5B,oDAAkC;AAClC,kDAAgC;AAChC,gDAA8B;AAC9B,sDAAoC;AACpC,kDAAgC;AAChC,kDAAgC;AAChC,+CAA6B;AAC7B,gDAA8B;AAC9B,0CAAwB"}
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cloud-water-logger.service.d.ts","sourceRoot":"","sources":["../../src/cloud-watch-logger/cloud-water-logger.service.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE1D;;;;;GAKG;AACH,qBACa,uBAAuB;IAClC;;;OAGG;IACH,OAAO,CAAC,gBAAgB,CAAuB;IAE/C;;;;OAIG;;IAWH;;;;;;OAMG;IACG,eAAe,CAAC,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAiBhF;;;;;OAKG;IACG,YAAY,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC;IAmCtD;;;;;;OAMG;IACG,4BAA4B,CAAC,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAoBhG;;;;;;;OAOG;IACG,YAAY,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;CAkCtE"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cloud-water-logger.service.js","sourceRoot":"","sources":["../../src/cloud-watch-logger/cloud-water-logger.service.ts"],"names":[],"mappings":"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"}
|