ee4469b385
* Blank slate * Added gitignore * Updated gitignore * Added rust code * Added modules * Fixed build issues * rustfmt * Updated models * Added parsers module * Updated utilities module * Updated main.rs * Updated api_parser and song model * Updated icarus_action model * Updated structs in managers module * Updated main.rs * More changes * Saving changes * Added new struct and methods * More changes. Not functional yet * Changed name of the project * Removed cmake workflow * Adding rust workflow * Adding code to the syncers module * Cargo formatting * Continuing work * Adding code to the syncers module * Added dependencies * Adding more code to the syncers module * Added more code to the syncers module It's not 100 percent done yet, I'll work on other modules * Added more code to the managers module * Added code to request a token * Cargo formatting * Adding more code to multi target upload * Adding more multi-target upload code and formatted code * Added more multi-upload code * cargo fmt * Got uploading functional and cargo fmt-ing * Uploading multi target works, but is buggy Not all of the songs are being uploaded * Added single target upload * Single target upload is functional but need to revisit multi-target upload Multi-target upload is broken now. Needs to be revisited * Fixed multi target upload * Can now retrieve songs * Downloading functionality is working * Delete functionality is operational * Updated README * More cleanup * Added test
45 lines
977 B
Rust
45 lines
977 B
Rust
use std::default::Default;
|
|
|
|
use serde::{Deserialize, Serialize};
|
|
|
|
use crate::models;
|
|
|
|
#[derive(Clone, Debug, Deserialize, Serialize)]
|
|
pub struct IcarusAction {
|
|
pub action: String,
|
|
pub flags: Vec<models::flags::Flags>,
|
|
}
|
|
|
|
impl Default for IcarusAction {
|
|
fn default() -> Self {
|
|
IcarusAction {
|
|
action: String::new(),
|
|
flags: Vec::new(),
|
|
}
|
|
}
|
|
}
|
|
|
|
impl IcarusAction {
|
|
pub fn retrieve_flag_value(&self, flag: &String) -> String {
|
|
let mut val: String = String::new();
|
|
|
|
for f in self.flags.iter() {
|
|
if f.flag == *flag {
|
|
val = f.value.clone();
|
|
break;
|
|
}
|
|
}
|
|
|
|
return val;
|
|
}
|
|
|
|
pub fn print_action_and_flags(&self) {
|
|
println!("Action: {}", self.action);
|
|
println!("Flag count: {}", self.flags.len());
|
|
|
|
for flag in self.flags.iter() {
|
|
println!("flag {} value {}", flag.flag, flag.value);
|
|
}
|
|
}
|
|
}
|