jwsh 0.1.5

CLI untuk menampilkan jadwal sholat dari API MyQuran
Documentation
#![allow(unused)]
use crate::{
    helper::{self, kota_json_path, time_now_string},
    models::{Jadwal, Response},
};

pub fn init() -> Result<(), Box<dyn std::error::Error>> {
    let url = "https://api.myquran.com/v2/sholat/kota/semua";
    let response: Response = reqwest::blocking::get(url)?.json()?;
    let json = serde_json::to_string_pretty(&response)?;
    std::fs::write(helper::kota_json_path(), json)?;
    Ok(())
}

pub fn find_city(input: &str) -> Result<(Vec<String>, Vec<String>), Box<dyn std::error::Error>> {
    let file = std::fs::read_to_string(kota_json_path())?;
    let response: Response = serde_json::from_str(&file)?;

    Ok(response.get_id(input))
}

pub fn get_jadwal(jadwal: Vec<String>) -> Result<Vec<Jadwal>, Box<dyn std::error::Error>> {
    let mut data = Vec::new();
    for jw in jadwal {
        let url = format!(
            "https://api.myquran.com/v2/sholat/jadwal/{}/{}",
            jw,
            time_now_string()
        );

        let response: Jadwal = reqwest::blocking::get(url)?.json()?;
        data.push(response);
    }
    Ok(data)
}