]> Untitled Git - lemmy.git/commitdiff
Correctly read local SiteView (#2122)
authorNutomic <me@nutomic.com>
Tue, 8 Mar 2022 12:52:33 +0000 (12:52 +0000)
committerGitHub <noreply@github.com>
Tue, 8 Mar 2022 12:52:33 +0000 (12:52 +0000)
crates/api/src/site.rs
crates/api_crud/src/site/create.rs
crates/api_crud/src/site/read.rs
crates/api_crud/src/site/update.rs
crates/db_views/src/site_view.rs
crates/routes/src/feeds.rs
crates/routes/src/nodeinfo.rs

index 7baeae78d2536ddffab3ed82d4e983742fd536be..eab15a77b254a80debe7ae9d6ef5f751e8c9e206 100644 (file)
@@ -502,7 +502,7 @@ impl Perform for LeaveAdmin {
     blocking(context.pool(), move |conn| ModAdd::create(conn, &form)).await??;
 
     // Reread site and admins
-    let site_view = blocking(context.pool(), SiteView::read).await??;
+    let site_view = blocking(context.pool(), SiteView::read_local).await??;
     let admins = blocking(context.pool(), PersonViewSafe::admins).await??;
 
     let federated_instances = build_federated_instances(
index 4d51504f70568eb985077dc7fbaf5d4617536057..b1c69010bbad110bc3bdd8b7ce06b235430a38b6 100644 (file)
@@ -89,7 +89,7 @@ impl PerformCrud for CreateSite {
       return Err(LemmyError::from_message("site_already_exists"));
     }
 
-    let site_view = blocking(context.pool(), SiteView::read).await??;
+    let site_view = blocking(context.pool(), SiteView::read_local).await??;
 
     Ok(SiteResponse { site_view })
   }
index d214f7b6e041390102d2f34d175a2402a765a2bc..b726de034240ae1e7b755025b61c341cf2bb8f83 100644 (file)
@@ -31,7 +31,7 @@ impl PerformCrud for GetSite {
   ) -> Result<GetSiteResponse, LemmyError> {
     let data: &GetSite = self;
 
-    let site_view = match blocking(context.pool(), SiteView::read).await? {
+    let site_view = match blocking(context.pool(), SiteView::read_local).await? {
       Ok(site_view) => Some(site_view),
       // If the site isn't created yet, check the setup
       Err(_) => {
@@ -73,7 +73,7 @@ impl PerformCrud for GetSite {
           };
           create_site.perform(context, websocket_id).await?;
           info!("Site {} created", setup.site_name);
-          Some(blocking(context.pool(), SiteView::read).await??)
+          Some(blocking(context.pool(), SiteView::read_local).await??)
         } else {
           None
         }
index d2e74eb87b508362c6e93ee000a50fcbc2995b9b..2fc980e3c04c4ebdcf9943cac912e0caadb06704 100644 (file)
@@ -103,7 +103,7 @@ impl PerformCrud for EditSite {
       .map_err(|e| e.with_message("couldnt_set_all_email_verified"))?;
     }
 
-    let site_view = blocking(context.pool(), SiteView::read).await??;
+    let site_view = blocking(context.pool(), SiteView::read_local).await??;
 
     let res = SiteResponse { site_view };
 
index 1e8b8b52a0d39a2ce3fac7db04dc7b9be8c78658..e3a55c6b5c4d7528feb6193096abe9d58d9be759 100644 (file)
@@ -13,10 +13,11 @@ pub struct SiteView {
 }
 
 impl SiteView {
-  pub fn read(conn: &PgConnection) -> Result<Self, Error> {
+  pub fn read_local(conn: &PgConnection) -> Result<Self, Error> {
     let (mut site, counts) = site::table
       .inner_join(site_aggregates::table)
       .select((site::all_columns, site_aggregates::all_columns))
+      .order_by(site::id)
       .first::<(Site, SiteAggregates)>(conn)?;
 
     site.private_key = None;
index 49218c1b0faa52dd2a63fbed241fbb2d4c12d757..8fee239597851944204f74ed51eaea3c825a0eb2 100644 (file)
@@ -82,7 +82,7 @@ async fn get_feed_data(
   listing_type: ListingType,
   sort_type: SortType,
 ) -> Result<HttpResponse, LemmyError> {
-  let site_view = blocking(context.pool(), SiteView::read).await??;
+  let site_view = blocking(context.pool(), SiteView::read_local).await??;
 
   let posts = blocking(context.pool(), move |conn| {
     PostQueryBuilder::create(conn)
@@ -174,7 +174,7 @@ fn get_feed_user(
   user_name: &str,
   protocol_and_hostname: &str,
 ) -> Result<ChannelBuilder, LemmyError> {
-  let site_view = SiteView::read(conn)?;
+  let site_view = SiteView::read_local(conn)?;
   let person = Person::read_from_name(conn, user_name)?;
 
   let posts = PostQueryBuilder::create(conn)
@@ -202,7 +202,7 @@ fn get_feed_community(
   community_name: &str,
   protocol_and_hostname: &str,
 ) -> Result<ChannelBuilder, LemmyError> {
-  let site_view = SiteView::read(conn)?;
+  let site_view = SiteView::read_local(conn)?;
   let community = Community::read_from_name(conn, community_name)?;
 
   let posts = PostQueryBuilder::create(conn)
@@ -235,7 +235,7 @@ fn get_feed_front(
   jwt: &str,
   protocol_and_hostname: &str,
 ) -> Result<ChannelBuilder, LemmyError> {
-  let site_view = SiteView::read(conn)?;
+  let site_view = SiteView::read_local(conn)?;
   let local_user_id = LocalUserId(Claims::decode(jwt, jwt_secret)?.claims.sub);
   let local_user = LocalUser::read(conn, local_user_id)?;
 
@@ -270,7 +270,7 @@ fn get_feed_inbox(
   jwt: &str,
   protocol_and_hostname: &str,
 ) -> Result<ChannelBuilder, LemmyError> {
-  let site_view = SiteView::read(conn)?;
+  let site_view = SiteView::read_local(conn)?;
   let local_user_id = LocalUserId(Claims::decode(jwt, jwt_secret)?.claims.sub);
   let local_user = LocalUser::read(conn, local_user_id)?;
   let person_id = local_user.person_id;
index b46f02003b37cbe3fbedafe2c3d639b0e12afd3d..6e216f4415682f698a9b6ccbfc6c47fbc32b380d 100644 (file)
@@ -29,7 +29,7 @@ async fn node_info_well_known(
 }
 
 async fn node_info(context: web::Data<LemmyContext>) -> Result<HttpResponse, Error> {
-  let site_view = blocking(context.pool(), SiteView::read)
+  let site_view = blocking(context.pool(), SiteView::read_local)
     .await?
     .map_err(|_| ErrorBadRequest(LemmyError::from(anyhow!("not_found"))))?;