Skip to content

Commit

Permalink
Fix hashtag filter in get_posts_by_membership; Add BlackEduSky
Browse files Browse the repository at this point in the history
  • Loading branch information
rudyfraser committed Nov 26, 2024
1 parent 9042d00 commit abeb568
Show file tree
Hide file tree
Showing 2 changed files with 47 additions and 2 deletions.
16 changes: 14 additions & 2 deletions rsky-feedgen/src/apis/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -104,7 +104,7 @@ pub async fn get_posts_by_membership(
} else {
let hashtag_patterns: Vec<String> = hashtags
.iter()
.map(|hashtag| format!("%{}%", hashtag))
.map(|hashtag| format!("%#{}%", hashtag))
.collect();
query = query.filter(
MembershipSchema::did
Expand Down Expand Up @@ -701,7 +701,9 @@ pub async fn queue_creation(
hashtags.contains("#addtoblackskytravel") ||
hashtags.contains("#blackskytravel") ||
hashtags.contains("#addtoblackmedsky") ||
hashtags.contains("#blackmedsky")) &&
hashtags.contains("#blackmedsky") ||
hashtags.contains("#addtoblackedusky") ||
hashtags.contains("#blackedusky")) &&
!is_blocked &&
!hashtags.contains("#private") &&
!hashtags.contains("#nofeed") &&
Expand Down Expand Up @@ -764,6 +766,16 @@ pub async fn queue_creation(
);
new_members.push(new_member);
}
if hashtags.contains("#addtoblackedusky") && !is_member {
println!("New BlackEduSky member: {:?}", &req.author);
let new_member = (
MembershipSchema::did.eq(req.author.clone()),
MembershipSchema::included.eq(true),
MembershipSchema::excluded.eq(false),
MembershipSchema::list.eq("blacksky-scholastic")
);
new_members.push(new_member);
}
/* TEMP REMOVING THIS FEATURE AS IT'S CREATING SPAM
if hashtags.contains("#addtoblacksky") &&
is_member &&
Expand Down
33 changes: 33 additions & 0 deletions rsky-feedgen/src/routes.rs
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,8 @@ pub(crate) const BLACKSKY_TRAVEL: &str =
"at://did:plc:piuwt2p3v6mzsals7to7nedb/app.bsky.feed.generator/blacksky-travel";
pub(crate) const BLACKSKY_MED: &str =
"at://did:plc:bgkszqcx4pf27av2tfxeljlr/app.bsky.feed.generator/blacksky-med";
pub(crate) const BLACKSKY_SCHOLASTIC: &str =
"at://did:plc:kfaq2rodqsx4dycpg5xbnugb/app.bsky.feed.generator/blacksky-scholastic";

fn get_banned_response() -> crate::models::AlgoResponse {
let banned_notice_uri = env::var("BANNED_NOTICE_POST_URI").unwrap_or("".into());
Expand Down Expand Up @@ -278,6 +280,33 @@ pub async fn index(
}
}
}
_blacksky_scholastic if _blacksky_scholastic == BLACKSKY_SCHOLASTIC && !is_banned => {
match crate::apis::get_posts_by_membership(
None,
limit,
cursor,
true,
"blacksky-scholastic".into(),
vec!["blackedusky".into()],
connection,
config,
)
.await
{
Ok(response) => Ok(Json(response)),
Err(error) => {
eprintln!("Internal Error: {error}");
let internal_error = crate::models::InternalErrorMessageResponse {
code: Some(crate::models::InternalErrorCode::InternalError),
message: Some(error.to_string()),
};
Err(status::Custom(
Status::InternalServerError,
Json(internal_error),
))
}
}
}
_blacksky if _blacksky == BLACKSKY && is_banned => {
let banned_response = get_banned_response();
Ok(Json(banned_response))
Expand All @@ -302,6 +331,10 @@ pub async fn index(
let banned_response = get_banned_response();
Ok(Json(banned_response))
}
_blacksky_scholastic if _blacksky_scholastic == BLACKSKY_SCHOLASTIC && is_banned => {
let banned_response = get_banned_response();
Ok(Json(banned_response))
}
_ => {
let internal_error = crate::models::InternalErrorMessageResponse {
code: Some(crate::models::InternalErrorCode::InternalError),
Expand Down

0 comments on commit abeb568

Please sign in to comment.