rs-pixel 0.1.0

A complete, rate-limiting, asynchronous Rust implementation of the Hypixel Public API with extensive SkyBlock support
Documentation
use crate::util::skyblock_profile::SkyblockProfile;
use serde::{Deserialize, Serialize};

#[derive(Serialize, Deserialize, Debug)]
pub struct SkyblockProfilesResponse {
    pub success: bool,
    pub profiles: Vec<SkyblockProfile>,
}

impl SkyblockProfilesResponse {
    pub fn set_uuid(&mut self, uuid: &str) {
        for i in 0..self.profiles.len() {
            if let Some(profile) = self.profiles.get_mut(i) {
                profile.set_uuid(uuid);
            }
        }
    }

    pub fn get_last_played_profile(&self) -> Option<&SkyblockProfile> {
        let last_save = 0;
        let mut last_played_profile = None;
        for profile in &self.profiles {
            if profile.last_save > last_save {
                last_played_profile = Some(profile);
            }
        }

        last_played_profile
    }

    pub fn get_profile_by_name(&self, profile_name: &str) -> Option<&SkyblockProfile> {
        for profile in &self.profiles {
            if let Some(cur_profile_name) = &profile.cute_name {
                if cur_profile_name == profile_name {
                    return Some(profile);
                }
            }
        }

        None
    }
}