fix: better handling of returning teh committees
Some checks failed
On_Push / lint_fmt (push) Successful in 21s
On_Push / lint_clippy (push) Successful in 52s
On_Push / build (push) Successful in 1m57s
On_Push / deploy (push) Successful in 15s
/ check_lfs (push) Failing after 10m2s

This commit is contained in:
silver 2025-07-21 02:51:33 +01:00
parent 18fd45d39b
commit 095ff6f2ce
Signed by: silver
GPG key ID: 36F93D61BAD3FD7D
2 changed files with 23 additions and 9 deletions

View file

@ -102,8 +102,10 @@ pub mod servers {
let db = db_lock.read().await;
let mut committees = HashMap::new();
for committee in get_committees(&db).await {
committees.insert(committee.id, committee.to_owned());
if let Some(x) = get_committees(&db).await {
for committee in x {
committees.insert(committee.id, committee.to_owned());
}
}
let mut cs = vec![];

View file

@ -201,7 +201,12 @@ pub mod committee {
pub async fn update_committees(db: &Pool<Sqlite>, ctx: &Context, config: &Config, members: &mut Vec<Member>) {
let server = config.committee_server;
let committee_member = config.committee_role;
let committees = get_committees(db).await;
let committees = match get_committees(db).await {
None => {
return;
}
Some(x) => x,
};
let categories = config.committee_category.clone();
// information about the server
@ -328,6 +333,10 @@ pub mod committee {
// now we have a map of all users that should get roles time to go through all the folks on teh server
for member in members {
// if member.user.id != 136522490632601600 {
// continue;
// }
//
let roles_current = member.roles(ctx).unwrap_or_default();
let roles_required = match users_roles.get(&member.user.id) {
@ -494,8 +503,8 @@ pub mod committee {
})
}
pub async fn get_committees(db: &Pool<Sqlite>) -> Vec<Committees> {
sqlx::query_as::<_, Committees>(
pub async fn get_committees(db: &Pool<Sqlite>) -> Option<Vec<Committees>> {
match sqlx::query_as::<_, Committees>(
r#"
SELECT *
FROM committees
@ -503,10 +512,13 @@ pub mod committee {
)
.fetch_all(db)
.await
.unwrap_or_else(|e| {
dbg!(e);
vec![]
})
{
Ok(x) => Some(x),
Err(e) => {
dbg!(e);
None
}
}
}
async fn get_server_member_discord(db: &Pool<Sqlite>, user: &i64) -> Option<Wolves> {