Skip to content

Commit e965adb

Browse files
committed
CCM-12896: Add a type guard to handle-expiry's event validation
1 parent 537b0d4 commit e965adb

File tree

1 file changed

+8
-4
lines changed

1 file changed

+8
-4
lines changed

lambdas/ttl-handle-expiry-lambda/src/apis/dynamodb-stream-handler.ts

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,10 @@ export type CreateHandlerDependencies = {
2020
logger: Logger;
2121
};
2222

23+
const eventValidator = messageDownloadedValidator as (
24+
d: unknown,
25+
) => d is MESHInboxMessageDownloaded;
26+
2327
export const createHandler = ({
2428
dlq,
2529
eventPublisher,
@@ -64,8 +68,10 @@ export const createHandler = ({
6468
return;
6569
}
6670

67-
const isEventValid = messageDownloadedValidator(item.event);
68-
if (!isEventValid) {
71+
let itemEvent: MESHInboxMessageDownloaded;
72+
if (eventValidator(item.event)) {
73+
itemEvent = item.event;
74+
} else {
6975
logger.warn({
7076
err: messageDownloadedValidator.errors,
7177
description: 'Error parsing ttl item event',
@@ -76,8 +82,6 @@ export const createHandler = ({
7682
return;
7783
}
7884

79-
const itemEvent: MESHInboxMessageDownloaded = item.event as any;
80-
8185
if (item.withdrawn) {
8286
logger.info({
8387
description: 'ItemDequeued event not sent as item withdrawn',

0 commit comments

Comments
 (0)