@resolveio/server-lib 20.14.10 → 20.14.11
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.
|
@@ -103,7 +103,7 @@ function recordCommunicationMetric(input) {
|
|
|
103
103
|
_a.label = 1;
|
|
104
104
|
case 1:
|
|
105
105
|
_a.trys.push([1, 3, , 4]);
|
|
106
|
-
return [4 /*yield*/, communication_metric_collection_1.CommunicationMetrics.insertOne(payload)];
|
|
106
|
+
return [4 /*yield*/, resolveio_server_app_1.ResolveIOServer.getMongoManager().runWithoutSession(function () { return communication_metric_collection_1.CommunicationMetrics.insertOne(payload); })];
|
|
107
107
|
case 2:
|
|
108
108
|
_a.sent();
|
|
109
109
|
return [3 /*break*/, 4];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/managers/communication-metric.manager.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiDA,8DAwBC;AAED,8CAEC;AAED,0DAEC;AAjFD,kGAAsF;AAEtF,gEAA0D;AAe1D,IAAM,eAAe,GAAG,UAAC,KAAU;IAClC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC/B,OAAO,SAAS,CAAC;IAClB,CAAC;IACD,IAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;AAC7C,CAAC,CAAC;AAEF,IAAM,aAAa,GAAG,UAAC,KAA+B;;IACrD,IAAM,MAAM,GAAG,CAAA,MAAA,sCAAe,CAAC,eAAe,sFAAI,KAAI,EAAE,CAAC;IACzD,IAAM,QAAQ,GAAwB;QACrC,UAAU,EAAE,eAAe,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,eAAe,CAAC,MAAA,sCAAe,CAAC,aAAa,sFAAI,CAAC;QACnG,UAAU,EAAE,eAAe,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,eAAe,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QACvF,SAAS,EAAE,eAAe,CAAC,KAAK,CAAC,SAAS,CAAC;QAC3C,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,QAAQ,EAAE,eAAe,CAAC,KAAK,CAAC,QAAQ,CAAC;KACzC,CAAC;IAEF,IAAI,KAAK,CAAC,QAAQ,IAAI,OAAO,KAAK,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC1D,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;IACzC,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,UAAA,GAAG;QAChC,IAAI,QAAQ,CAAC,GAAG,CAAC,KAAK,SAAS,IAAI,QAAQ,CAAC,GAAG,CAAC,KAAK,IAAI,IAAI,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC;YACnF,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC;QACtB,CAAC;IACF,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;AAC5D,CAAC,CAAC;AAEF,SAAsB,yBAAyB,CAAC,KAA+B;;;;;;oBAC9E,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;wBAC/C,sBAAO;oBACR,CAAC;oBAEK,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC7D,IAAI,CAAC,KAAK,EAAE,CAAC;wBACZ,sBAAO;oBACR,CAAC;oBAEK,OAAO,GAAG;wBACf,IAAI,EAAE,KAAK,CAAC,SAAS,YAAY,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE;wBACpE,IAAI,EAAE,UAAG,KAAK,CAAC,OAAO,cAAI,KAAK,CAAC,MAAM,CAAE;wBACxC,KAAK,OAAA;wBACL,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,OAAO;wBAC3B,QAAQ,EAAE,aAAa,CAAC,KAAK,CAAC;qBAC9B,CAAC;;;;oBAGD,qBAAM,sDAAoB,CAAC,SAAS,CAAC,OAAO,CAAC,EAAA;;
|
|
1
|
+
{"version":3,"sources":["../../src/managers/communication-metric.manager.ts"],"names":[],"mappings":"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","file":"communication-metric.manager.js","sourcesContent":["import { CommunicationMetrics } from '../collections/communication-metric.collection';\nimport { CommunicationMetricChannel, CommunicationMetricStatus } from '../models/communication-metric.model';\nimport { ResolveIOServer } from '../resolveio-server-app';\n\nexport interface CommunicationMetricInput {\n\tchannel: CommunicationMetricChannel;\n\tstatus: CommunicationMetricStatus;\n\tvalue?: number;\n\tunit?: string;\n\ttimestamp?: Date;\n\tprovider?: string;\n\tclientSlug?: string;\n\tclientName?: string;\n\tid_client?: string;\n\tmetadata?: Record<string, any>;\n}\n\nconst normalizeString = (value: any): string | undefined => {\n\tif (typeof value !== 'string') {\n\t\treturn undefined;\n\t}\n\tconst trimmed = value.trim();\n\treturn trimmed.length ? trimmed : undefined;\n};\n\nconst buildMetadata = (input: CommunicationMetricInput): Record<string, any> | undefined => {\n\tconst config = ResolveIOServer.getServerConfig?.() || {};\n\tconst metadata: Record<string, any> = {\n\t\tclientSlug: normalizeString(input.clientSlug) || normalizeString(ResolveIOServer.getClientName?.()),\n\t\tclientName: normalizeString(input.clientName) || normalizeString(config['CLIENT_NAME']),\n\t\tid_client: normalizeString(input.id_client),\n\t\tchannel: input.channel,\n\t\tstatus: input.status,\n\t\tprovider: normalizeString(input.provider)\n\t};\n\n\tif (input.metadata && typeof input.metadata === 'object') {\n\t\tObject.assign(metadata, input.metadata);\n\t}\n\n\tObject.keys(metadata).forEach(key => {\n\t\tif (metadata[key] === undefined || metadata[key] === null || metadata[key] === '') {\n\t\t\tdelete metadata[key];\n\t\t}\n\t});\n\n\treturn Object.keys(metadata).length ? metadata : undefined;\n};\n\nexport async function recordCommunicationMetric(input: CommunicationMetricInput): Promise<void> {\n\tif (!input || !input.channel || !input.status) {\n\t\treturn;\n\t}\n\n\tconst value = Number.isFinite(input.value) ? input.value : 1;\n\tif (!value) {\n\t\treturn;\n\t}\n\n\tconst payload = {\n\t\tdate: input.timestamp instanceof Date ? input.timestamp : new Date(),\n\t\ttype: `${input.channel}.${input.status}`,\n\t\tvalue,\n\t\tunit: input.unit || 'count',\n\t\tmetadata: buildMetadata(input)\n\t};\n\n\ttry {\n\t\tawait ResolveIOServer.getMongoManager().runWithoutSession(() => CommunicationMetrics.insertOne(payload));\n\t}\n\tcatch (err) {\n\t\tconsole.error('Failed to record communication metric', err);\n\t}\n}\n\nexport async function recordEmailMetric(input: Omit<CommunicationMetricInput, 'channel'>): Promise<void> {\n\treturn recordCommunicationMetric({ ...input, channel: 'email' });\n}\n\nexport async function recordTextMessageMetric(input: Omit<CommunicationMetricInput, 'channel'>): Promise<void> {\n\treturn recordCommunicationMetric({ ...input, channel: 'sms' });\n}\n"]}
|