]> Untitled Git - lemmy.git/blobdiff - crates/api_crud/src/community/read.rs
Adding shortname fetching for users and communities. Fixes #1662 (#1663)
[lemmy.git] / crates / api_crud / src / community / read.rs
index eb11cb39759b6b6b1f333afff14df3185393ca61..0cca08df85a24e716e1ba04c37f8468a7a35f96d 100644 (file)
@@ -1,12 +1,8 @@
 use crate::PerformCrud;
 use actix_web::web::Data;
 use lemmy_api_common::{blocking, community::*, get_local_user_view_from_jwt_opt};
-use lemmy_db_queries::{
-  from_opt_str_to_opt_enum,
-  source::community::Community_,
-  ListingType,
-  SortType,
-};
+use lemmy_apub::{build_actor_id_from_shortname, EndpointType};
+use lemmy_db_queries::{from_opt_str_to_opt_enum, ApubObject, ListingType, SortType};
 use lemmy_db_schema::source::community::*;
 use lemmy_db_views_actor::{
   community_moderator_view::CommunityModeratorView,
@@ -32,8 +28,10 @@ impl PerformCrud for GetCommunity {
       Some(id) => id,
       None => {
         let name = data.name.to_owned().unwrap_or_else(|| "main".to_string());
+        let community_actor_id = build_actor_id_from_shortname(EndpointType::Community, &name)?;
+
         blocking(context.pool(), move |conn| {
-          Community::read_from_name(conn, &name)
+          Community::read_from_apub_id(conn, &community_actor_id)
         })
         .await?
         .map_err(|_| ApiError::err("couldnt_find_community"))?