taskr/src/main.rs
2024-03-19 12:07:37 -05:00

45 lines
1.1 KiB
Rust

mod client;
mod config;
mod gitlab;
mod jira;
mod result;
mod tasks;
use crate::result::Result;
use tasks::Tasks;
use tracing::{error, info};
use tracing_subscriber::{filter::LevelFilter, EnvFilter};
const ANSI_CLEAR: &'static str = "\x1b[2J\x1b[1;1H";
#[tokio::main]
async fn main() -> Result<()> {
color_eyre::install().expect("Failed to install color_eyre");
let filter = EnvFilter::builder()
.with_default_directive(LevelFilter::TRACE.into())
.parse_lossy("info,tasks=trace");
tracing_subscriber::fmt().with_env_filter(filter).init();
match run().await {
Ok(()) => Ok(()),
Err(err) => {
error!("{err}");
Err(err)
}
}
}
async fn run() -> Result<()> {
print!("{ANSI_CLEAR}");
let tasks = Tasks::try_new()?;
let gitlab_user = tasks.gitlab.me().await?;
info!("{gitlab_user:#?}");
let jira_user = tasks.jira.me().await?;
info!("{jira_user:#?}");
let issues = tasks.jira.assigned_open_issues().await?;
info!("{issues:#?}");
info!("{}", issues.len());
Ok(())
}