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
This commit is contained in:
Tommy Parnell
2025-02-18 17:01:06 +00:00
parent 590bbf9506
commit fb7ea64443

View File

@@ -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;
}