use std::collections::HashMap; use rocket_contrib::templates::Template; use crate::parsers::ini::IniFile; use crate::parsers::csv::CsvFile; use chrono::Utc; #[derive(Serialize)] pub struct AssetContext { accounts : Vec } #[derive(Serialize)] pub struct Account { name : String, category : String, risk : String, balance : f32 } #[get("/asset")] pub fn asset_handler() -> rocket_contrib::templates::Template { let asset_file = "data/asset.ini"; let asset = crate::banking::asset::Asset::from_ini_file(asset_file); let mut acc = Vec::new(); let today = Utc::today().naive_utc(); for account in asset.iter() { let tmp = Account { name : account.name.to_string(), category : account.category.to_string(), risk : account.riskCategory.to_string(), balance : account.get_balance(today) }; acc.push(tmp); } let context = AssetContext { accounts : acc }; Template::render("asset", context) }