]> Untitled Git - lemmy.git/blobdiff - crates/db_schema/src/impls/person.rs
Be more explicit about returning deleted actors or not (#2335)
[lemmy.git] / crates / db_schema / src / impls / person.rs
index 1389544e180e72748ae7c3c08e820052b04029af..2608ef5be1eb4986d51877655c1aecc6566711cc 100644 (file)
@@ -305,12 +305,19 @@ impl ApubActor for Person {
     )
   }
 
-  fn read_from_name(conn: &PgConnection, from_name: &str) -> Result<Person, Error> {
-    person
-      .filter(deleted.eq(false))
+  fn read_from_name(
+    conn: &PgConnection,
+    from_name: &str,
+    include_deleted: bool,
+  ) -> Result<Person, Error> {
+    let mut q = person
+      .into_boxed()
       .filter(local.eq(true))
-      .filter(lower(name).eq(lower(from_name)))
-      .first::<Person>(conn)
+      .filter(lower(name).eq(lower(from_name)));
+    if !include_deleted {
+      q = q.filter(deleted.eq(false))
+    }
+    q.first::<Self>(conn)
   }
 
   fn read_from_name_and_domain(