twitter_tool/
user_config.rs

1use crate::twitter_client::api;
2use serde::{Deserialize, Serialize};
3use std::collections::HashMap;
4
5#[derive(Clone, Debug, Default, Serialize, Deserialize)]
6pub struct UserConfig {
7    pub starred_accounts: HashMap<String, api::User>,
8}
9
10impl UserConfig {
11    pub fn is_starred(&self, user_id: &str) -> bool {
12        self.starred_accounts.contains_key(user_id)
13    }
14
15    pub fn star_account(&mut self, user: &api::User) {
16        self.starred_accounts
17            .insert(user.id.to_string(), user.clone());
18    }
19
20    pub fn unstar_account(&mut self, user: &api::User) {
21        self.starred_accounts.remove(&user.id.to_string());
22    }
23}