Skip to content

Commit 88bdcc0

Browse files
committed
Handle null values for track
1 parent e2c2549 commit 88bdcc0

File tree

2 files changed

+8
-4
lines changed

2 files changed

+8
-4
lines changed

src/graphql/models.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ pub struct Member {
4646
pub group_id: i32,
4747
#[serde(default)]
4848
pub streak: Vec<Streak>, // Note that Root will NOT have multiple Streak elements but it may be an empty list which is why we use a vector here
49-
pub track: String
49+
pub track: Option<String>
5050
}
5151

5252
#[derive(Debug, Deserialize, Clone)]

src/tasks/status_update.rs

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ impl Task for StatusUpdateCheck {
4949
}
5050
}
5151

52-
type GroupedMember = HashMap<String, Vec<Member>>;
52+
type GroupedMember = HashMap<Option<String>, Vec<Member>>;
5353

5454
struct ReportConfig {
5555
time_valid_from: DateTime<chrono_tz::Tz>,
@@ -146,7 +146,7 @@ fn categorize_members(
146146
updates: Vec<Message>,
147147
) -> (GroupedMember, Vec<Member>) {
148148
let mut nice_list = vec![];
149-
let mut naughty_list: HashMap<String, Vec<Member>> = HashMap::new();
149+
let mut naughty_list: HashMap<Option<String>, Vec<Member>> = HashMap::new();
150150

151151
let mut sent_updates: HashSet<String> = HashSet::new();
152152

@@ -238,7 +238,11 @@ fn format_members(members: &[Member]) -> String {
238238
fn format_defaulters(naughty_list: &GroupedMember) -> String {
239239
let mut description = String::new();
240240
for (track, missed_members) in naughty_list {
241-
description.push_str(&format!("## Track - {}\n", track));
241+
match track{
242+
Some(t) => description.push_str(&format!("## Track - {}\n", t)),
243+
None => description.push_str(&format!("## Unassigned"))
244+
}
245+
242246
for member in missed_members {
243247
let status = match member.streak[0].current_streak {
244248
0 => ":x:",

0 commit comments

Comments
 (0)