A lexicon-driven AppView for ATProto. happyview.dev
backfill firehose jetstream atproto appview oauth lexicon
8
fork

Configure Feed

Select the types of activity you want to include in your feed.

fix: update primary domain if PUBLIC_URL changes

Trezy d3627da4 c0b2740b

+32
+32
src/main.rs
··· 329 329 .await 330 330 .expect("Failed to insert primary domain"); 331 331 info!("Seeded primary domain: {}", config.public_url); 332 + } else { 333 + // Sync the primary domain URL with PUBLIC_URL if it changed 334 + let primary_sql = happyview::db::adapt_sql( 335 + "SELECT id, url FROM domains WHERE is_primary = 1", 336 + db_backend, 337 + ); 338 + if let Some(row) = sqlx::query(&primary_sql) 339 + .fetch_optional(&db_pool) 340 + .await 341 + .expect("Failed to check primary domain") 342 + { 343 + let primary_url: String = row.try_get("url").unwrap_or_default(); 344 + if primary_url != config.public_url { 345 + let primary_id: String = row.try_get("id").unwrap_or_default(); 346 + let now = happyview::db::now_rfc3339(); 347 + let update_sql = happyview::db::adapt_sql( 348 + "UPDATE domains SET url = ?, updated_at = ? WHERE id = ?", 349 + db_backend, 350 + ); 351 + sqlx::query(&update_sql) 352 + .bind(&config.public_url) 353 + .bind(&now) 354 + .bind(&primary_id) 355 + .execute(&db_pool) 356 + .await 357 + .expect("Failed to update primary domain URL"); 358 + info!( 359 + "Updated primary domain URL from {} to {}", 360 + primary_url, config.public_url 361 + ); 362 + } 363 + } 332 364 } 333 365 334 366 let select_sql = happyview::db::adapt_sql(