fix: handle case where message id may not exist
This commit is contained in:
@@ -99,8 +99,10 @@ app.openapi(route, async (c) => {
|
|||||||
env<Env, typeof c>(c, "workerd"),
|
env<Env, typeof c>(c, "workerd"),
|
||||||
titleId,
|
titleId,
|
||||||
);
|
);
|
||||||
await client.messages.delete(messageId);
|
if (messageId) {
|
||||||
await deleteTitleMessage(env<Env, typeof c>(c, "workerd"), titleId);
|
await client.messages.delete(messageId);
|
||||||
|
await deleteTitleMessage(env<Env, typeof c>(c, "workerd"), titleId);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error(new Error("Error setting watch status", { cause: error }));
|
console.error(new Error("Error setting watch status", { cause: error }));
|
||||||
|
|||||||
@@ -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<string | null> {
|
||||||
return getDb(env)
|
return getDb(env)
|
||||||
.select()
|
.select()
|
||||||
.from(titleMessagesTable)
|
.from(titleMessagesTable)
|
||||||
.where(eq(titleMessagesTable.titleId, titleId))
|
.where(eq(titleMessagesTable.titleId, titleId))
|
||||||
.then((results) => results[0].messageId);
|
.then((results) => results[0]?.messageId);
|
||||||
}
|
}
|
||||||
|
|
||||||
export function deleteTitleMessage(env: Env, titleId: number) {
|
export function deleteTitleMessage(env: Env, titleId: number) {
|
||||||
|
|||||||
Reference in New Issue
Block a user