about summary refs log tree commit diff
path: root/kittybox-rs/src/frontend
diff options
context:
space:
mode:
authorVika <vika@fireburn.ru>2023-06-22 21:35:22 +0300
committerVika <vika@fireburn.ru>2023-06-22 21:35:22 +0300
commit858c0ddd9cc36af0acc72efb1ff1bdc1d8e28b0a (patch)
tree5b46bcc88e37fa0e23fea4f49c0242ad21662bca /kittybox-rs/src/frontend
parentd61e1f6a8e5ad5b7c14b1f9ab3101496f3f9ea00 (diff)
downloadkittybox-858c0ddd9cc36af0acc72efb1ff1bdc1d8e28b0a.tar.zst
database: use domains instead of authorities as owner key
This allows disregarding http/https comparisons and simplifies some
database designs.
Diffstat (limited to 'kittybox-rs/src/frontend')
-rw-r--r--kittybox-rs/src/frontend/mod.rs10
-rw-r--r--kittybox-rs/src/frontend/onboarding.rs11
2 files changed, 14 insertions, 7 deletions
diff --git a/kittybox-rs/src/frontend/mod.rs b/kittybox-rs/src/frontend/mod.rs
index d677005..ed3932b 100644
--- a/kittybox-rs/src/frontend/mod.rs
+++ b/kittybox-rs/src/frontend/mod.rs
@@ -132,13 +132,13 @@ pub async fn homepage<D: Storage>(
             //
             // btw is it more efficient to fetch these in parallel?
             let (blogname, webring, channels) = tokio::join!(
-                db.get_setting::<crate::database::settings::SiteName>(&path)
+                db.get_setting::<crate::database::settings::SiteName>(&host)
                 .map(Result::unwrap_or_default),
 
-                db.get_setting::<crate::database::settings::Webring>(&path)
+                db.get_setting::<crate::database::settings::Webring>(&host)
                 .map(Result::unwrap_or_default),
 
-                db.get_channels(&path).map(|i| i.unwrap_or_default())
+                db.get_channels(&host).map(|i| i.unwrap_or_default())
             );
             // Render the homepage
             (
@@ -176,10 +176,10 @@ pub async fn homepage<D: Storage>(
                 error!("Error while fetching h-card and/or h-feed: {}", err);
                 // Return the error
                 let (blogname, channels) = tokio::join!(
-                    db.get_setting::<crate::database::settings::SiteName>(&path)
+                    db.get_setting::<crate::database::settings::SiteName>(&host)
                     .map(Result::unwrap_or_default),
 
-                    db.get_channels(&path).map(|i| i.unwrap_or_default())
+                    db.get_channels(&host).map(|i| i.unwrap_or_default())
                 );
 
                 (
diff --git a/kittybox-rs/src/frontend/onboarding.rs b/kittybox-rs/src/frontend/onboarding.rs
index f797abd..3f73e62 100644
--- a/kittybox-rs/src/frontend/onboarding.rs
+++ b/kittybox-rs/src/frontend/onboarding.rs
@@ -68,11 +68,18 @@ async fn onboard<D: Storage + 'static>(
         ));
     }
 
-    db.set_setting::<settings::SiteName>(user.me.as_str(), data.blog_name.to_owned())
+    let user_domain = format!(
+        "{}{}",
+        user.me.host_str().unwrap(),
+        user.me.port()
+            .map(|port| format!(":{}", port))
+            .unwrap_or_default()
+    );
+    db.set_setting::<settings::SiteName>(&user_domain, data.blog_name.to_owned())
         .await
         .map_err(FrontendError::from)?;
 
-    db.set_setting::<settings::Webring>(user.me.as_str(), false)
+    db.set_setting::<settings::Webring>(&user_domain, false)
         .await
         .map_err(FrontendError::from)?;