@openhealth/oht-custom-parser-lib 0.3.10 → 0.3.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/index.d.ts +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/service/processingLogger.service.d.ts +30 -22
- package/dist/service/processingLogger.service.js +134 -60
- package/dist/service/processingLogger.service.js.map +1 -1
- package/package.json +4 -2
- package/readme.md +11 -0
package/dist/index.d.ts
CHANGED
|
@@ -10,7 +10,7 @@ export { AcfBiomarkerRangeAnnotationCheck, AcfBiomarkerGenericDisclaimerLogic, M
|
|
|
10
10
|
export { ErrorMessage, ErrorCode, ERROR_CATALOG, ERROR_MESSAGES, getErrorMessage, getRejectReason, } from './types/error.types';
|
|
11
11
|
export { handleError, ValidationError, shouldSendSlackNotification, extractFormattedRejectReason, mapErrorToRejectReason, } from './service/fileUploadErrorHandler.service';
|
|
12
12
|
export type { TransformationRule, TransformationContext, ApplyRulesResult as TransformationApplyRulesResult, ApplyRulesOptions as TransformationApplyRulesOptions, ValidationResult as TransformationValidationResult, } from './types/transformationRules.types';
|
|
13
|
-
export { processingLogger, ProcessingContext, StageDuration, runWithContext, runWithContextAsync, } from './service/processingLogger.service';
|
|
13
|
+
export { processingLogger, ProcessingContext, StageDuration, getRequestIdFromContext, runWithContext, runWithContextAsync, } from './service/processingLogger.service';
|
|
14
14
|
export { makeApiCallWithRetry, parseErrorObj } from './util-ts/apiUtils';
|
|
15
15
|
export { extractValue, isBiomarkerValueNumerical, isBiomarkerExternalNoVisualRange, processAppendedMappings, fetchSynonymUnits, resolveUnitFromSynonyms, extractFromPath, applyFormat } from './util-ts/dataUtils';
|
|
16
16
|
export { readFileFromBucket, uploadFileBufferToGCS } from './util-ts/googleStorageUtils';
|
package/dist/index.js
CHANGED
|
@@ -4,7 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.processingLogger = exports.mapErrorToRejectReason = exports.extractFormattedRejectReason = exports.shouldSendSlackNotification = exports.ValidationError = exports.handleError = exports.getRejectReason = exports.getErrorMessage = exports.ERROR_MESSAGES = exports.ERROR_CATALOG = exports.ErrorCode = exports.RejectReason = exports.UploadType = exports.Sex = exports.DataImportFileUploadStatus = exports.BiomarkerValueType = exports.MeasurementValueComparator = exports.DigitizationStatus = exports.PipelineStep = exports.ReferenceRangeType = exports.BiomarkerCompatibility = exports.ManualCheck = exports.AcfBiomarkerGenericDisclaimerLogic = exports.AcfBiomarkerRangeAnnotationCheck = exports.unitSynonyms = exports.validateTransformationRuleExpression = exports.applyTransformationRules = exports.generateBIMessages = exports.publishToTopic = exports.aggregateBiMessages = exports.aggregateMessages = exports.sendMessageToSlack = exports.getSlackFileIssueNotificationMessage = exports.extractValueFromGreaterLowerThan = exports.extractUnit = exports.getRangeFromPositionAndRegex = exports.parseExamValue = exports.extractReferenceAnnotation = exports.extractReferenceRanges = exports.checkValueForPlausibleValues = exports.ohtMeasurementsExtractor = exports.ohtReportMeasurementsExtractor = exports.postFileUploadSetStatus = exports.queryFileUploadsWithFilters = exports.handleRejection = exports.isPatientAgeValid = exports.parseGender = exports.parseExternalPatientId = exports.postReportPreviewToCore = exports.postDataImportFileUploadToCore = void 0;
|
|
7
|
-
exports.parseRange = exports.getMappedBiomarkersLatest = exports.getMappedBiomarkers = exports.getLowerThanPatterns = exports.getGreaterThanPatterns = exports.pinoLogger = exports.uploadFileBufferToGCS = exports.readFileFromBucket = exports.applyFormat = exports.extractFromPath = exports.resolveUnitFromSynonyms = exports.fetchSynonymUnits = exports.processAppendedMappings = exports.isBiomarkerExternalNoVisualRange = exports.isBiomarkerValueNumerical = exports.extractValue = exports.parseErrorObj = exports.makeApiCallWithRetry = exports.runWithContextAsync = exports.runWithContext = void 0;
|
|
7
|
+
exports.parseRange = exports.getMappedBiomarkersLatest = exports.getMappedBiomarkers = exports.getLowerThanPatterns = exports.getGreaterThanPatterns = exports.pinoLogger = exports.uploadFileBufferToGCS = exports.readFileFromBucket = exports.applyFormat = exports.extractFromPath = exports.resolveUnitFromSynonyms = exports.fetchSynonymUnits = exports.processAppendedMappings = exports.isBiomarkerExternalNoVisualRange = exports.isBiomarkerValueNumerical = exports.extractValue = exports.parseErrorObj = exports.makeApiCallWithRetry = exports.runWithContextAsync = exports.runWithContext = exports.getRequestIdFromContext = void 0;
|
|
8
8
|
// ### SERVICES ###
|
|
9
9
|
var reportCreator_service_1 = require("./service/reportCreator.service");
|
|
10
10
|
Object.defineProperty(exports, "postDataImportFileUploadToCore", { enumerable: true, get: function () { return reportCreator_service_1.postDataImportFileUploadToCore; } });
|
|
@@ -70,6 +70,7 @@ Object.defineProperty(exports, "mapErrorToRejectReason", { enumerable: true, get
|
|
|
70
70
|
// ### PROCESSING LOGGER ###
|
|
71
71
|
var processingLogger_service_1 = require("./service/processingLogger.service");
|
|
72
72
|
Object.defineProperty(exports, "processingLogger", { enumerable: true, get: function () { return processingLogger_service_1.processingLogger; } });
|
|
73
|
+
Object.defineProperty(exports, "getRequestIdFromContext", { enumerable: true, get: function () { return processingLogger_service_1.getRequestIdFromContext; } });
|
|
73
74
|
Object.defineProperty(exports, "runWithContext", { enumerable: true, get: function () { return processingLogger_service_1.runWithContext; } });
|
|
74
75
|
Object.defineProperty(exports, "runWithContextAsync", { enumerable: true, get: function () { return processingLogger_service_1.runWithContextAsync; } });
|
|
75
76
|
// ### UTIL-TS ###
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;;;;;AAAA,mBAAmB;AACnB,yEAGyC;AAFvC,uIAAA,8BAA8B,OAAA;AAC9B,gIAAA,uBAAuB,OAAA;AAEzB,mFAQ8C;AAP5C,oIAAA,sBAAsB,OAAA;AACtB,yHAAA,WAAW,OAAA;AACX,+HAAA,iBAAiB,OAAA;AACjB,6HAAA,eAAe,OAAA;AACf,yIAAA,2BAA2B,OAAA;AAC3B,qIAAA,uBAAuB,OAAA;AAIzB,2GAE0D;AADxD,wJAAA,8BAA8B,OAAA;AAGhC,+FASoD;AARlD,4IAAA,wBAAwB,OAAA;AACxB,gJAAA,4BAA4B,OAAA;AAC5B,0IAAA,sBAAsB,OAAA;AACtB,8IAAA,0BAA0B,OAAA;AAC1B,kIAAA,cAAc,OAAA;AACd,gJAAA,4BAA4B,OAAA;AAC5B,+HAAA,WAAW,OAAA;AACX,oJAAA,gCAAgC,OAAA;AAGlC,yEAEyC;AADvC,6IAAA,oCAAoC,OAAA;AAAE,2HAAA,kBAAkB,OAAA;AAE1D,yEAKyC;AAJvC,0HAAA,iBAAiB,OAAA;AACjB,4HAAA,mBAAmB,OAAA;AACnB,uHAAA,cAAc,OAAA;AACd,2HAAA,kBAAkB,OAAA;AAEpB,qFAG+C;AAF7C,uIAAA,UAAU,OAA4B;AACtC,mJAAA,yBAAyB,OAAwC;AAGnE,gBAAgB;AAChB,mEAaqC;AAJnC,mHAAA,YAAY,OAAA;AAKd,+CAsC2B;AArCzB,6HAAA,gCAAgC,OAAA;AAChC,+HAAA,kCAAkC,OAAA;AAClC,wGAAA,WAAW,OAAA;AACX,mHAAA,sBAAsB,OAAA;AACtB,+GAAA,kBAAkB,OAAA;AAOlB,yGAAA,YAAY,OAAA;AACZ,+GAAA,kBAAkB,OAAA;AAClB,uHAAA,0BAA0B,OAAA;AAC1B,+GAAA,kBAAkB,OAAA;AAClB,uHAAA,0BAA0B,OAAA;AAC1B,gGAAA,GAAG,OAAA;AAgBH,uGAAA,UAAU,OAAA;AACV,yGAAA,YAAY,OAAA;AAKd,mDAO6B;AAL3B,wGAAA,SAAS,OAAA;AACT,4GAAA,aAAa,OAAA;AACb,6GAAA,cAAc,OAAA;AACd,8GAAA,eAAe,OAAA;AACf,8GAAA,eAAe,OAAA;AAEjB,2FAMkD;AALhD,6HAAA,WAAW,OAAA;AACX,iIAAA,eAAe,OAAA;AACf,6IAAA,2BAA2B,OAAA;AAC3B,8IAAA,4BAA4B,OAAA;AAC5B,wIAAA,sBAAsB,OAAA;AAUxB,4BAA4B;AAC5B,+
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;;;;;AAAA,mBAAmB;AACnB,yEAGyC;AAFvC,uIAAA,8BAA8B,OAAA;AAC9B,gIAAA,uBAAuB,OAAA;AAEzB,mFAQ8C;AAP5C,oIAAA,sBAAsB,OAAA;AACtB,yHAAA,WAAW,OAAA;AACX,+HAAA,iBAAiB,OAAA;AACjB,6HAAA,eAAe,OAAA;AACf,yIAAA,2BAA2B,OAAA;AAC3B,qIAAA,uBAAuB,OAAA;AAIzB,2GAE0D;AADxD,wJAAA,8BAA8B,OAAA;AAGhC,+FASoD;AARlD,4IAAA,wBAAwB,OAAA;AACxB,gJAAA,4BAA4B,OAAA;AAC5B,0IAAA,sBAAsB,OAAA;AACtB,8IAAA,0BAA0B,OAAA;AAC1B,kIAAA,cAAc,OAAA;AACd,gJAAA,4BAA4B,OAAA;AAC5B,+HAAA,WAAW,OAAA;AACX,oJAAA,gCAAgC,OAAA;AAGlC,yEAEyC;AADvC,6IAAA,oCAAoC,OAAA;AAAE,2HAAA,kBAAkB,OAAA;AAE1D,yEAKyC;AAJvC,0HAAA,iBAAiB,OAAA;AACjB,4HAAA,mBAAmB,OAAA;AACnB,uHAAA,cAAc,OAAA;AACd,2HAAA,kBAAkB,OAAA;AAEpB,qFAG+C;AAF7C,uIAAA,UAAU,OAA4B;AACtC,mJAAA,yBAAyB,OAAwC;AAGnE,gBAAgB;AAChB,mEAaqC;AAJnC,mHAAA,YAAY,OAAA;AAKd,+CAsC2B;AArCzB,6HAAA,gCAAgC,OAAA;AAChC,+HAAA,kCAAkC,OAAA;AAClC,wGAAA,WAAW,OAAA;AACX,mHAAA,sBAAsB,OAAA;AACtB,+GAAA,kBAAkB,OAAA;AAOlB,yGAAA,YAAY,OAAA;AACZ,+GAAA,kBAAkB,OAAA;AAClB,uHAAA,0BAA0B,OAAA;AAC1B,+GAAA,kBAAkB,OAAA;AAClB,uHAAA,0BAA0B,OAAA;AAC1B,gGAAA,GAAG,OAAA;AAgBH,uGAAA,UAAU,OAAA;AACV,yGAAA,YAAY,OAAA;AAKd,mDAO6B;AAL3B,wGAAA,SAAS,OAAA;AACT,4GAAA,aAAa,OAAA;AACb,6GAAA,cAAc,OAAA;AACd,8GAAA,eAAe,OAAA;AACf,8GAAA,eAAe,OAAA;AAEjB,2FAMkD;AALhD,6HAAA,WAAW,OAAA;AACX,iIAAA,eAAe,OAAA;AACf,6IAAA,2BAA2B,OAAA;AAC3B,8IAAA,4BAA4B,OAAA;AAC5B,wIAAA,sBAAsB,OAAA;AAUxB,4BAA4B;AAC5B,+EAO4C;AAN1C,4HAAA,gBAAgB,OAAA;AAGhB,mIAAA,uBAAuB,OAAA;AACvB,0HAAA,cAAc,OAAA;AACd,+HAAA,mBAAmB,OAAA;AAGrB,kBAAkB;AAClB,+CAAuE;AAA/D,gHAAA,oBAAoB,OAAA;AAAE,yGAAA,aAAa,OAAA;AAC3C,iDAAiN;AAAzM,yGAAA,YAAY,OAAA;AAAE,sHAAA,yBAAyB,OAAA;AAAE,6HAAA,gCAAgC,OAAA;AAAE,oHAAA,uBAAuB,OAAA;AAAE,8GAAA,iBAAiB,OAAA;AAAE,oHAAA,uBAAuB,OAAA;AAAE,4GAAA,eAAe,OAAA;AAAE,wGAAA,WAAW,OAAA;AACpL,mEAAuF;AAA/E,wHAAA,kBAAkB,OAAA;AAAE,2HAAA,qBAAqB,OAAA;AACjD,mDAA2D;AAAnD,yHAAA,OAAO,OAAc;AAC7B,mDAAkF;AAA1E,oHAAA,sBAAsB,OAAA;AAAE,kHAAA,oBAAoB,OAAA;AACpD,iDAAmF;AAA3E,gHAAA,mBAAmB,OAAA;AAAE,sHAAA,yBAAyB,OAAA;AACtD,6DAAqD;AAA7C,6GAAA,UAAU,OAAA"}
|
|
@@ -1,4 +1,9 @@
|
|
|
1
1
|
import pino from 'pino';
|
|
2
|
+
/**
|
|
3
|
+
* Returns a stable request id for the given context. Same id must be used for the whole request.
|
|
4
|
+
* Used to key the registry so each request has isolated state.
|
|
5
|
+
*/
|
|
6
|
+
export declare function getRequestIdFromContext(context: ProcessingContext): string;
|
|
2
7
|
/**
|
|
3
8
|
* Processing context interface - contains all context information for a processing cycle
|
|
4
9
|
*/
|
|
@@ -69,39 +74,41 @@ interface ProcessingState {
|
|
|
69
74
|
metadata?: Record<string, any>;
|
|
70
75
|
}
|
|
71
76
|
/**
|
|
72
|
-
* ProcessingLoggerService - Singleton
|
|
77
|
+
* ProcessingLoggerService - Singleton facade for request-scoped processing state and logging.
|
|
78
|
+
*
|
|
79
|
+
* State is keyed by request id (fileUploadId ?? messageId ?? cloudEventId) in a registry.
|
|
80
|
+
* AsyncLocalStorage holds only the current request id; getMutableState() resolves state via
|
|
81
|
+
* registry.get(id). When registry.get(id) is undefined (no context or stale id), a transient
|
|
82
|
+
* empty state is used so one request never overwrites another's context.
|
|
73
83
|
*
|
|
74
|
-
*
|
|
75
|
-
*
|
|
76
|
-
*
|
|
77
|
-
* and are searchable by fileUploadId/filename.
|
|
84
|
+
* Entry point: runWithContextAsync(context, fn). Creates registry entry, runs fn with id in ALS,
|
|
85
|
+
* removes entry in finally. Use logInfo, logWarn, logError, logDebug for application logs so they
|
|
86
|
+
* include the same context and are searchable by fileUploadId/filename.
|
|
78
87
|
*
|
|
79
88
|
* Usage:
|
|
80
89
|
* ```typescript
|
|
81
|
-
*
|
|
82
|
-
*
|
|
83
|
-
*
|
|
84
|
-
*
|
|
85
|
-
*
|
|
86
|
-
* processingLogger.addMeasurement(15, 'measurements');
|
|
87
|
-
* processingLogger.logEnd(true);
|
|
90
|
+
* await runWithContextAsync(context, async () => {
|
|
91
|
+
* processingLogger.logStart();
|
|
92
|
+
* processingLogger.logProgress(20, 'get_transformation_rules');
|
|
93
|
+
* processingLogger.logEnd(true);
|
|
94
|
+
* });
|
|
88
95
|
* ```
|
|
96
|
+
* Initial state is set from context by runWithContextAsync; clear() and setContext() are optional if you need to reset/override.
|
|
89
97
|
*/
|
|
90
98
|
declare class ProcessingLoggerService {
|
|
91
99
|
private static instance;
|
|
92
|
-
private state;
|
|
93
100
|
private logger;
|
|
94
101
|
private constructor();
|
|
95
102
|
static getInstance(): ProcessingLoggerService;
|
|
96
|
-
private initializeState;
|
|
97
103
|
/**
|
|
98
|
-
*
|
|
99
|
-
*
|
|
104
|
+
* Resolves state from registry by current request id. When registry.get(id) is undefined
|
|
105
|
+
* (no context or stale id), returns a transient clear state so one request never overwrites another's context.
|
|
100
106
|
*/
|
|
101
107
|
private getMutableState;
|
|
102
108
|
/**
|
|
103
109
|
* Reset all state for a new processing cycle. Call at the start of each Cloud Event / request
|
|
104
110
|
* so that context and metrics from a previous request never leak.
|
|
111
|
+
* Clears both context fields and run state; call setContext(context) after clear() in handlers.
|
|
105
112
|
*/
|
|
106
113
|
clear(): void;
|
|
107
114
|
/**
|
|
@@ -109,7 +116,7 @@ declare class ProcessingLoggerService {
|
|
|
109
116
|
* Call after clear() for each new request.
|
|
110
117
|
*/
|
|
111
118
|
setContext(context: ProcessingContext): void;
|
|
112
|
-
/** Public getter for tests / inspection; returns a copy
|
|
119
|
+
/** Public getter for tests / inspection; returns a deep copy so callers cannot mutate internal state. */
|
|
113
120
|
getState(): ProcessingState;
|
|
114
121
|
/**
|
|
115
122
|
* Replace the underlying logger (for testing only).
|
|
@@ -137,14 +144,15 @@ declare class ProcessingLoggerService {
|
|
|
137
144
|
}
|
|
138
145
|
export declare const processingLogger: ProcessingLoggerService;
|
|
139
146
|
/**
|
|
140
|
-
* Run handler logic inside a request-scoped context
|
|
141
|
-
*
|
|
142
|
-
*
|
|
147
|
+
* Run handler logic inside a request-scoped context. State is keyed by request id in the registry;
|
|
148
|
+
* ALS holds only the id. Call at the start of each Cloud Event / request after building the context.
|
|
149
|
+
* @deprecated Prefer runWithContextAsync for async handlers.
|
|
143
150
|
*/
|
|
144
151
|
export declare function runWithContext<T>(context: ProcessingContext, fn: () => T): T;
|
|
145
152
|
/**
|
|
146
|
-
* Async variant: run handler logic inside a request-scoped context.
|
|
147
|
-
*
|
|
153
|
+
* Async variant: run handler logic inside a request-scoped context. Each request gets its own state
|
|
154
|
+
* in the registry keyed by request id; ALS holds only the id. Entry is removed in finally so one
|
|
155
|
+
* request never overwrites another's context.
|
|
148
156
|
*/
|
|
149
157
|
export declare function runWithContextAsync<T>(context: ProcessingContext, fn: () => Promise<T>): Promise<T>;
|
|
150
158
|
export {};
|
|
@@ -4,16 +4,40 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.processingLogger = void 0;
|
|
7
|
+
exports.getRequestIdFromContext = getRequestIdFromContext;
|
|
7
8
|
exports.runWithContext = runWithContext;
|
|
8
9
|
exports.runWithContextAsync = runWithContextAsync;
|
|
9
10
|
const async_hooks_1 = require("async_hooks");
|
|
11
|
+
const crypto_1 = __importDefault(require("crypto"));
|
|
10
12
|
const pinoLogger_1 = __importDefault(require("../util-ts/pinoLogger"));
|
|
11
13
|
/**
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
* keyed by runWithContext(context, fn). Use fileUploadId (or fileName) as the unique identifier.
|
|
14
|
+
* Registry: one ProcessingState per request, keyed by request id.
|
|
15
|
+
* When registry.get(id) is undefined we use a transient empty state so one request never overwrites another's context.
|
|
15
16
|
*/
|
|
16
|
-
const
|
|
17
|
+
const processingStateRegistry = new Map();
|
|
18
|
+
/**
|
|
19
|
+
* AsyncLocalStorage holds only the current request id (not the full state).
|
|
20
|
+
* State is resolved via processingStateRegistry.get(id).
|
|
21
|
+
*/
|
|
22
|
+
const requestIdStorage = new async_hooks_1.AsyncLocalStorage();
|
|
23
|
+
/** One-time dev warning when logging/state update happens with no registry entry (transient state). */
|
|
24
|
+
let hasWarnedNoContext = false;
|
|
25
|
+
function warnOnceNoContext() {
|
|
26
|
+
if (process.env.NODE_ENV === 'production' || hasWarnedNoContext)
|
|
27
|
+
return;
|
|
28
|
+
hasWarnedNoContext = true;
|
|
29
|
+
(0, pinoLogger_1.default)().warn({ msg: 'ProcessingLogger used outside runWithContextAsync; using transient state. Ensure handlers run inside runWithContextAsync(context, fn).' });
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Returns a stable request id for the given context. Same id must be used for the whole request.
|
|
33
|
+
* Used to key the registry so each request has isolated state.
|
|
34
|
+
*/
|
|
35
|
+
function getRequestIdFromContext(context) {
|
|
36
|
+
return (context.fileUploadId ??
|
|
37
|
+
context.messageId ??
|
|
38
|
+
context.cloudEventId ??
|
|
39
|
+
crypto_1.default.randomUUID());
|
|
40
|
+
}
|
|
17
41
|
function buildInitialStateFromContext(context) {
|
|
18
42
|
return {
|
|
19
43
|
fileName: context.fileName ?? undefined,
|
|
@@ -46,28 +70,65 @@ function buildInitialStateFromContext(context) {
|
|
|
46
70
|
};
|
|
47
71
|
}
|
|
48
72
|
/**
|
|
49
|
-
*
|
|
73
|
+
* Creates a fresh empty state. Used as transient state when registry.get(id) is undefined
|
|
74
|
+
* so one request never overwrites another's context. This state is never stored in the registry.
|
|
75
|
+
*/
|
|
76
|
+
function createEmptyState() {
|
|
77
|
+
return {
|
|
78
|
+
fileName: undefined,
|
|
79
|
+
fileUploadId: undefined,
|
|
80
|
+
partnerId: undefined,
|
|
81
|
+
partnerName: undefined,
|
|
82
|
+
signedUploadId: undefined,
|
|
83
|
+
cloudEventId: undefined,
|
|
84
|
+
messageId: undefined,
|
|
85
|
+
publishTime: undefined,
|
|
86
|
+
fileMimeType: undefined,
|
|
87
|
+
normalizerName: undefined,
|
|
88
|
+
isPreview: false,
|
|
89
|
+
reportPreviewId: undefined,
|
|
90
|
+
startTime: undefined,
|
|
91
|
+
endTime: undefined,
|
|
92
|
+
totalDurationMs: undefined,
|
|
93
|
+
stages: [],
|
|
94
|
+
currentStageStartTime: undefined,
|
|
95
|
+
currentStep: undefined,
|
|
96
|
+
progressPercentage: undefined,
|
|
97
|
+
measurementsCount: undefined,
|
|
98
|
+
unknownMeasurementsCount: undefined,
|
|
99
|
+
unknownUnitsCount: undefined,
|
|
100
|
+
unmappedLabKeysCount: undefined,
|
|
101
|
+
errors: [],
|
|
102
|
+
warnings: [],
|
|
103
|
+
success: undefined,
|
|
104
|
+
metadata: undefined,
|
|
105
|
+
};
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* ProcessingLoggerService - Singleton facade for request-scoped processing state and logging.
|
|
109
|
+
*
|
|
110
|
+
* State is keyed by request id (fileUploadId ?? messageId ?? cloudEventId) in a registry.
|
|
111
|
+
* AsyncLocalStorage holds only the current request id; getMutableState() resolves state via
|
|
112
|
+
* registry.get(id). When registry.get(id) is undefined (no context or stale id), a transient
|
|
113
|
+
* empty state is used so one request never overwrites another's context.
|
|
50
114
|
*
|
|
51
|
-
*
|
|
52
|
-
*
|
|
53
|
-
*
|
|
54
|
-
* and are searchable by fileUploadId/filename.
|
|
115
|
+
* Entry point: runWithContextAsync(context, fn). Creates registry entry, runs fn with id in ALS,
|
|
116
|
+
* removes entry in finally. Use logInfo, logWarn, logError, logDebug for application logs so they
|
|
117
|
+
* include the same context and are searchable by fileUploadId/filename.
|
|
55
118
|
*
|
|
56
119
|
* Usage:
|
|
57
120
|
* ```typescript
|
|
58
|
-
*
|
|
59
|
-
*
|
|
60
|
-
*
|
|
61
|
-
*
|
|
62
|
-
*
|
|
63
|
-
* processingLogger.addMeasurement(15, 'measurements');
|
|
64
|
-
* processingLogger.logEnd(true);
|
|
121
|
+
* await runWithContextAsync(context, async () => {
|
|
122
|
+
* processingLogger.logStart();
|
|
123
|
+
* processingLogger.logProgress(20, 'get_transformation_rules');
|
|
124
|
+
* processingLogger.logEnd(true);
|
|
125
|
+
* });
|
|
65
126
|
* ```
|
|
127
|
+
* Initial state is set from context by runWithContextAsync; clear() and setContext() are optional if you need to reset/override.
|
|
66
128
|
*/
|
|
67
129
|
class ProcessingLoggerService {
|
|
68
130
|
constructor() {
|
|
69
131
|
this.logger = (0, pinoLogger_1.default)();
|
|
70
|
-
this.state = this.initializeState();
|
|
71
132
|
}
|
|
72
133
|
static getInstance() {
|
|
73
134
|
if (!ProcessingLoggerService.instance) {
|
|
@@ -75,50 +136,42 @@ class ProcessingLoggerService {
|
|
|
75
136
|
}
|
|
76
137
|
return ProcessingLoggerService.instance;
|
|
77
138
|
}
|
|
78
|
-
initializeState() {
|
|
79
|
-
return {
|
|
80
|
-
fileName: undefined,
|
|
81
|
-
fileUploadId: undefined,
|
|
82
|
-
partnerId: undefined,
|
|
83
|
-
partnerName: undefined,
|
|
84
|
-
signedUploadId: undefined,
|
|
85
|
-
cloudEventId: undefined,
|
|
86
|
-
messageId: undefined,
|
|
87
|
-
publishTime: undefined,
|
|
88
|
-
fileMimeType: undefined,
|
|
89
|
-
normalizerName: undefined,
|
|
90
|
-
isPreview: undefined,
|
|
91
|
-
reportPreviewId: undefined,
|
|
92
|
-
startTime: undefined,
|
|
93
|
-
endTime: undefined,
|
|
94
|
-
totalDurationMs: undefined,
|
|
95
|
-
stages: [],
|
|
96
|
-
currentStageStartTime: undefined,
|
|
97
|
-
currentStep: undefined,
|
|
98
|
-
progressPercentage: undefined,
|
|
99
|
-
measurementsCount: undefined,
|
|
100
|
-
unknownMeasurementsCount: undefined,
|
|
101
|
-
unknownUnitsCount: undefined,
|
|
102
|
-
unmappedLabKeysCount: undefined,
|
|
103
|
-
errors: [],
|
|
104
|
-
warnings: [],
|
|
105
|
-
success: undefined,
|
|
106
|
-
metadata: undefined,
|
|
107
|
-
};
|
|
108
|
-
}
|
|
109
139
|
/**
|
|
110
|
-
*
|
|
111
|
-
*
|
|
140
|
+
* Resolves state from registry by current request id. When registry.get(id) is undefined
|
|
141
|
+
* (no context or stale id), returns a transient clear state so one request never overwrites another's context.
|
|
112
142
|
*/
|
|
113
143
|
getMutableState() {
|
|
114
|
-
|
|
144
|
+
const id = requestIdStorage.getStore();
|
|
145
|
+
if (id == null) {
|
|
146
|
+
warnOnceNoContext();
|
|
147
|
+
return createEmptyState();
|
|
148
|
+
}
|
|
149
|
+
const state = processingStateRegistry.get(id);
|
|
150
|
+
if (state === undefined) {
|
|
151
|
+
warnOnceNoContext();
|
|
152
|
+
return createEmptyState();
|
|
153
|
+
}
|
|
154
|
+
return state;
|
|
115
155
|
}
|
|
116
156
|
/**
|
|
117
157
|
* Reset all state for a new processing cycle. Call at the start of each Cloud Event / request
|
|
118
158
|
* so that context and metrics from a previous request never leak.
|
|
159
|
+
* Clears both context fields and run state; call setContext(context) after clear() in handlers.
|
|
119
160
|
*/
|
|
120
161
|
clear() {
|
|
121
162
|
const state = this.getMutableState();
|
|
163
|
+
state.fileName = undefined;
|
|
164
|
+
state.fileUploadId = undefined;
|
|
165
|
+
state.partnerId = undefined;
|
|
166
|
+
state.partnerName = undefined;
|
|
167
|
+
state.signedUploadId = undefined;
|
|
168
|
+
state.cloudEventId = undefined;
|
|
169
|
+
state.messageId = undefined;
|
|
170
|
+
state.publishTime = undefined;
|
|
171
|
+
state.fileMimeType = undefined;
|
|
172
|
+
state.normalizerName = undefined;
|
|
173
|
+
state.isPreview = false;
|
|
174
|
+
state.reportPreviewId = undefined;
|
|
122
175
|
state.stages = [];
|
|
123
176
|
state.errors = [];
|
|
124
177
|
state.warnings = [];
|
|
@@ -154,9 +207,15 @@ class ProcessingLoggerService {
|
|
|
154
207
|
state.isPreview = context.isPreview ?? false;
|
|
155
208
|
state.reportPreviewId = context.reportPreviewId ?? undefined;
|
|
156
209
|
}
|
|
157
|
-
/** Public getter for tests / inspection; returns a copy
|
|
210
|
+
/** Public getter for tests / inspection; returns a deep copy so callers cannot mutate internal state. */
|
|
158
211
|
getState() {
|
|
159
|
-
|
|
212
|
+
const src = this.getMutableState();
|
|
213
|
+
return {
|
|
214
|
+
...src,
|
|
215
|
+
stages: src.stages.map((s) => ({ ...s })),
|
|
216
|
+
errors: src.errors.map((e) => ({ ...e, timestamp: e.timestamp })),
|
|
217
|
+
warnings: src.warnings.map((w) => ({ ...w, timestamp: w.timestamp })),
|
|
218
|
+
};
|
|
160
219
|
}
|
|
161
220
|
/**
|
|
162
221
|
* Replace the underlying logger (for testing only).
|
|
@@ -452,20 +511,35 @@ class ProcessingLoggerService {
|
|
|
452
511
|
}
|
|
453
512
|
exports.processingLogger = ProcessingLoggerService.getInstance();
|
|
454
513
|
/**
|
|
455
|
-
* Run handler logic inside a request-scoped context
|
|
456
|
-
*
|
|
457
|
-
*
|
|
514
|
+
* Run handler logic inside a request-scoped context. State is keyed by request id in the registry;
|
|
515
|
+
* ALS holds only the id. Call at the start of each Cloud Event / request after building the context.
|
|
516
|
+
* @deprecated Prefer runWithContextAsync for async handlers.
|
|
458
517
|
*/
|
|
459
518
|
function runWithContext(context, fn) {
|
|
519
|
+
const requestId = getRequestIdFromContext(context);
|
|
460
520
|
const initialState = buildInitialStateFromContext(context);
|
|
461
|
-
|
|
521
|
+
processingStateRegistry.set(requestId, initialState);
|
|
522
|
+
try {
|
|
523
|
+
return requestIdStorage.run(requestId, fn);
|
|
524
|
+
}
|
|
525
|
+
finally {
|
|
526
|
+
processingStateRegistry.delete(requestId);
|
|
527
|
+
}
|
|
462
528
|
}
|
|
463
529
|
/**
|
|
464
|
-
* Async variant: run handler logic inside a request-scoped context.
|
|
465
|
-
*
|
|
530
|
+
* Async variant: run handler logic inside a request-scoped context. Each request gets its own state
|
|
531
|
+
* in the registry keyed by request id; ALS holds only the id. Entry is removed in finally so one
|
|
532
|
+
* request never overwrites another's context.
|
|
466
533
|
*/
|
|
467
534
|
async function runWithContextAsync(context, fn) {
|
|
535
|
+
const requestId = getRequestIdFromContext(context);
|
|
468
536
|
const initialState = buildInitialStateFromContext(context);
|
|
469
|
-
|
|
537
|
+
processingStateRegistry.set(requestId, initialState);
|
|
538
|
+
try {
|
|
539
|
+
return await requestIdStorage.run(requestId, () => fn());
|
|
540
|
+
}
|
|
541
|
+
finally {
|
|
542
|
+
processingStateRegistry.delete(requestId);
|
|
543
|
+
}
|
|
470
544
|
}
|
|
471
545
|
//# sourceMappingURL=processingLogger.service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"processingLogger.service.js","sourceRoot":"","sources":["../../service/processingLogger.service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"processingLogger.service.js","sourceRoot":"","sources":["../../service/processingLogger.service.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@openhealth/oht-custom-parser-lib",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.13",
|
|
4
4
|
"description": "Shared nodejs lib with with reusable functions",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
"/dist"
|
|
9
9
|
],
|
|
10
10
|
"scripts": {
|
|
11
|
+
"build": "tsc",
|
|
11
12
|
"test": "jest"
|
|
12
13
|
},
|
|
13
14
|
"keywords": [],
|
|
@@ -30,6 +31,7 @@
|
|
|
30
31
|
"@types/jest": "^29.5.14",
|
|
31
32
|
"axios-mock-adapter": "^2.1.0",
|
|
32
33
|
"jest": "^29.7.0",
|
|
33
|
-
"ts-jest": "^29.2.5"
|
|
34
|
+
"ts-jest": "^29.2.5",
|
|
35
|
+
"typescript": "^5.0.0"
|
|
34
36
|
}
|
|
35
37
|
}
|
package/readme.md
CHANGED
|
@@ -38,6 +38,17 @@ const { connectToMongoDB } = require('oht-custom-parser-lib');
|
|
|
38
38
|
- **Production / GCP**: Logs are emitted as JSON (one line per log) for Cloud Logging.
|
|
39
39
|
- **Local / development**: When `NODE_ENV !== 'production'`, logs are pretty-printed in the terminal (colors, timestamps, readable structure). You can override: `LOG_PRETTY=true` to force pretty output, or `LOG_PRETTY=false` to force JSON when not in production.
|
|
40
40
|
|
|
41
|
+
### Processing logger: request-scoped state
|
|
42
|
+
|
|
43
|
+
The processing logger (`processingLogger`, `runWithContextAsync`, `getRequestIdFromContext`) uses a **registry + facade** so each request has isolated state and logs never leak context between concurrent invocations (e.g. in Cloud Functions).
|
|
44
|
+
|
|
45
|
+
- **Registry**: One `ProcessingState` per request, keyed by request id (`fileUploadId ?? messageId ?? cloudEventId ?? generatedId`). The same id is used for the whole request.
|
|
46
|
+
- **AsyncLocalStorage**: Holds only the current request id; state is resolved via `registry.get(id)`.
|
|
47
|
+
- **Entry point**: Wrap your handler in `runWithContextAsync(context, async () => { ... })`. The lib creates a registry entry, runs your callback with the id in AsyncLocalStorage, and removes the entry in a `finally` block.
|
|
48
|
+
- **Clear-state rule**: If there is no request id or the id is not in the registry (e.g. logging outside `runWithContextAsync` or after teardown), the logger uses a **transient empty state** for that call only (never stored). That way one request never overwrites another’s context.
|
|
49
|
+
|
|
50
|
+
Use `processingLogger.logInfo`, `logWarn`, `logError`, `logProgress`, etc. inside the callback so logs include the same context and are searchable by `fileUploadId` / filename.
|
|
51
|
+
|
|
41
52
|
## Development
|
|
42
53
|
|
|
43
54
|
### Patch Versions
|