Fix database
This commit is contained in:
		@@ -272,24 +272,42 @@ export interface EpisodeWithFeedInfo {
 | 
			
		||||
export async function saveFeed(
 | 
			
		||||
  feed: Omit<Feed, "id" | "createdAt">,
 | 
			
		||||
): Promise<string> {
 | 
			
		||||
  const id = crypto.randomUUID();
 | 
			
		||||
  const createdAt = new Date().toISOString();
 | 
			
		||||
 | 
			
		||||
  try {
 | 
			
		||||
    const stmt = db.prepare(
 | 
			
		||||
      "INSERT OR REPLACE INTO feeds (id, url, title, description, last_updated, created_at, active) VALUES (?, ?, ?, ?, ?, ?, ?)",
 | 
			
		||||
    );
 | 
			
		||||
    stmt.run(
 | 
			
		||||
      id,
 | 
			
		||||
      feed.url,
 | 
			
		||||
      feed.title || null,
 | 
			
		||||
      feed.description || null,
 | 
			
		||||
      feed.lastUpdated || null,
 | 
			
		||||
      createdAt,
 | 
			
		||||
      feed.active !== undefined ? (feed.active ? 1 : 0) : 1, // Default to active=1 if not specified
 | 
			
		||||
    );
 | 
			
		||||
    // Check if feed already exists
 | 
			
		||||
    const existingFeed = await getFeedByUrl(feed.url);
 | 
			
		||||
    
 | 
			
		||||
    return id;
 | 
			
		||||
    if (existingFeed) {
 | 
			
		||||
      // Update existing feed
 | 
			
		||||
      const updateStmt = db.prepare(
 | 
			
		||||
        "UPDATE feeds SET title = ?, description = ?, last_updated = ?, active = ? WHERE url = ?",
 | 
			
		||||
      );
 | 
			
		||||
      updateStmt.run(
 | 
			
		||||
        feed.title || null,
 | 
			
		||||
        feed.description || null,
 | 
			
		||||
        feed.lastUpdated || null,
 | 
			
		||||
        feed.active !== undefined ? (feed.active ? 1 : 0) : 1,
 | 
			
		||||
        feed.url,
 | 
			
		||||
      );
 | 
			
		||||
      return existingFeed.id;
 | 
			
		||||
    } else {
 | 
			
		||||
      // Create new feed
 | 
			
		||||
      const id = crypto.randomUUID();
 | 
			
		||||
      const createdAt = new Date().toISOString();
 | 
			
		||||
      
 | 
			
		||||
      const insertStmt = db.prepare(
 | 
			
		||||
        "INSERT INTO feeds (id, url, title, description, last_updated, created_at, active) VALUES (?, ?, ?, ?, ?, ?, ?)",
 | 
			
		||||
      );
 | 
			
		||||
      insertStmt.run(
 | 
			
		||||
        id,
 | 
			
		||||
        feed.url,
 | 
			
		||||
        feed.title || null,
 | 
			
		||||
        feed.description || null,
 | 
			
		||||
        feed.lastUpdated || null,
 | 
			
		||||
        createdAt,
 | 
			
		||||
        feed.active !== undefined ? (feed.active ? 1 : 0) : 1,
 | 
			
		||||
      );
 | 
			
		||||
      return id;
 | 
			
		||||
    }
 | 
			
		||||
  } catch (error) {
 | 
			
		||||
    console.error("Error saving feed:", error);
 | 
			
		||||
    throw error;
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user