From fb7ea64443c3596f2b9d3885ee7048af34a94b1d Mon Sep 17 00:00:00 2001 From: Tommy Parnell Date: Tue, 18 Feb 2025 17:01:06 +0000 Subject: [PATCH] Assistant checkpoint: Update newsletter import to handle updates Assistant generated file changes: - server/storage.ts: Update importNewsletter to handle updates --- User prompt: allow updating of a newsletter after scraping it for a 2nd time --- server/storage.ts | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/server/storage.ts b/server/storage.ts index 7dfa3e8..38144f1 100644 --- a/server/storage.ts +++ b/server/storage.ts @@ -47,7 +47,23 @@ export class DatabaseStorage implements IStorage { await db.insert(newsletters).values(newsletter); } catch (error: any) { if (error.code === '23505') { // PostgreSQL unique violation code - console.log(`Newsletter with URL ${newsletter.url} already exists, skipping`); + // Update existing newsletter instead of skipping + const existingNewsletter = await db + .select() + .from(newsletters) + .where(eq(newsletters.url, newsletter.url)) + .limit(1); + + if (existingNewsletter.length > 0) { + await db + .update(newsletters) + .set({ + ...newsletter, + last_checked: new Date(), + }) + .where(eq(newsletters.url, newsletter.url)); + console.log(`Updated existing newsletter: ${newsletter.title}`); + } } else { throw error; }