use chrono::Weekday;
use cal_calc::Holiday;
use finql::datatypes::ObjectHandler;
use finql::postgres::PostgresDB;
#[tokio::main]
async fn main() {
let args: Vec<String> = std::env::args().collect();
if args.len() != 2 {
eprintln!("usage: {} <database connection string>]", args[0]);
return;
}
let db = PostgresDB::new(args[1].as_str()).await.unwrap();
db.clean().await.unwrap();
let holidays = vec![
Holiday::WeekDay(Weekday::Sat),
Holiday::WeekDay(Weekday::Sun),
Holiday::MovableYearlyDay {
month: 1,
day: 1,
first: None,
last: None,
},
Holiday::EasterOffset {
offset: -2,
first: None,
last: None,
},
];
db.store_object("test", "calendar", &holidays)
.await
.unwrap();
let new_holiday: Vec<Holiday> = db.get_object("test").await.unwrap();
println!("New holiday struct: {:?}", new_holiday);
}