From 71799e4ae8c85058ffd2537fdece66af6dc4533b Mon Sep 17 00:00:00 2001 From: Rushil Perera Date: Fri, 13 Sep 2024 11:59:14 -0400 Subject: [PATCH] fix: handle case where message id may not exist --- src/controllers/watch-status/index.ts | 6 ++++-- src/models/titleMessages.ts | 7 +++++-- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/src/controllers/watch-status/index.ts b/src/controllers/watch-status/index.ts index 6230ea1..f3aa73b 100644 --- a/src/controllers/watch-status/index.ts +++ b/src/controllers/watch-status/index.ts @@ -99,8 +99,10 @@ app.openapi(route, async (c) => { env(c, "workerd"), titleId, ); - await client.messages.delete(messageId); - await deleteTitleMessage(env(c, "workerd"), titleId); + if (messageId) { + await client.messages.delete(messageId); + await deleteTitleMessage(env(c, "workerd"), titleId); + } } } catch (error) { console.error(new Error("Error setting watch status", { cause: error })); diff --git a/src/models/titleMessages.ts b/src/models/titleMessages.ts index 120ba3a..9d6604f 100644 --- a/src/models/titleMessages.ts +++ b/src/models/titleMessages.ts @@ -15,12 +15,15 @@ export function setTitleMessage(env: Env, titleId: number, messageId: string) { }); } -export function getTitleMessage(env: Env, titleId: number) { +export function getTitleMessage( + env: Env, + titleId: number, +): Promise { return getDb(env) .select() .from(titleMessagesTable) .where(eq(titleMessagesTable.titleId, titleId)) - .then((results) => results[0].messageId); + .then((results) => results[0]?.messageId); } export function deleteTitleMessage(env: Env, titleId: number) {