use rocket::serde::Deserialize;
#[derive(Deserialize)]
#[serde(crate = "rocket::serde")]
pub struct ProductVariant {
pub name: String,
pub price: String,
pub sku: String,
}
#[derive(Deserialize)]
#[serde(crate = "rocket::serde")]
pub struct ProductsConfig {
pub products: Vec<ProductVariant>,
}
impl ProductsConfig {
pub fn get_price(&self, name: &str, sku: &str) -> Option<&str> {
self.products
.iter()
.find(|variant| {
variant.name.to_lowercase() == name.to_lowercase()
&& variant.sku.to_lowercase() == sku.to_lowercase()
})
.map(|variant| variant.price.as_str())
}
}