Actually implement blocks

This commit is contained in:
Bat
2018-09-08 22:05:48 +01:00
parent 0a70ff2594
commit f66ddf6ef2
3 changed files with 28 additions and 1 deletions
+13
View File
@@ -75,6 +75,19 @@ impl Instance {
.expect("Couldn't block/unblock instance");
}
/// id: AP object id
pub fn is_blocked(conn: &PgConnection, id: String) -> bool {
for block in instances::table.filter(instances::blocked.eq(true))
.get_results::<Instance>(conn)
.expect("Error listing blocked instances") {
if id.starts_with(format!("https://{}", block.public_domain).as_str()) {
return true;
}
}
false
}
pub fn has_admin(&self, conn: &PgConnection) -> bool {
users::table.filter(users::instance_id.eq(self.id))
.filter(users::is_admin.eq(true))