Skip to content

Commit 3e690b4

Browse files
ensure that clientId and campaignId is never undefined when emiting metric
1 parent 0699b82 commit 3e690b4

1 file changed

Lines changed: 17 additions & 3 deletions

File tree

lambdas/supplier-allocator/src/handler/allocate-handler.ts

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -151,12 +151,12 @@ function emitSupCampaignClientMetric(
151151
deps: Deps,
152152
) {
153153
const namespace = "supplier-allocator";
154-
const clientId = letterEvent ? letterEvent.data.clientId : "unknown";
155-
const campaignId = letterEvent ? letterEvent.data.campaignId : "unknown";
154+
const clientId = getClientId(letterEvent);
155+
const campaignId = getCampaignId(letterEvent);
156156
const dimensions: Record<string, string> = {
157157
Supplier: supplier,
158158
ClientId: clientId,
159-
CampaignId: campaignId || "unknown",
159+
CampaignId: campaignId,
160160
};
161161
const metric: MetricEntry = {
162162
key: status,
@@ -166,6 +166,20 @@ function emitSupCampaignClientMetric(
166166
deps.logger.info(buildEMFObject(namespace, dimensions, metric));
167167
}
168168

169+
function getClientId(letterEvent: PreparedEvents): string {
170+
if (letterEvent && letterEvent.data && letterEvent.data.clientId) {
171+
return letterEvent.data.clientId;
172+
}
173+
return "unknown";
174+
}
175+
176+
function getCampaignId(letterEvent: PreparedEvents): string {
177+
if (letterEvent && letterEvent.data && letterEvent.data.campaignId) {
178+
return letterEvent.data.campaignId;
179+
}
180+
return "unknown";
181+
}
182+
169183
export default function createSupplierAllocatorHandler(deps: Deps): SQSHandler {
170184
return async (event: SQSEvent) => {
171185
const batchItemFailures: SQSBatchItemFailure[] = [];

0 commit comments

Comments
 (0)