taskr/src/main.rs

45 lines
1.1 KiB
Rust
Raw Normal View History

2024-03-19 12:07:37 -05:00
mod client;
2024-03-18 22:46:41 -05:00
mod config;
mod gitlab;
mod jira;
2024-03-19 12:07:37 -05:00
mod result;
2024-03-18 22:46:41 -05:00
mod tasks;
2024-03-19 12:07:37 -05:00
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";
2024-03-18 22:46:41 -05:00
2024-03-19 12:07:37 -05:00
#[tokio::main]
async fn main() -> Result<()> {
color_eyre::install().expect("Failed to install color_eyre");
2024-03-18 22:46:41 -05:00
let filter = EnvFilter::builder()
.with_default_directive(LevelFilter::TRACE.into())
2024-03-19 12:07:37 -05:00
.parse_lossy("info,tasks=trace");
2024-03-18 22:46:41 -05:00
tracing_subscriber::fmt().with_env_filter(filter).init();
2024-03-19 12:07:37 -05:00
match run().await {
Ok(()) => Ok(()),
Err(err) => {
error!("{err}");
Err(err)
}
}
}
2024-03-18 22:46:41 -05:00
2024-03-19 12:07:37 -05:00
async fn run() -> Result<()> {
print!("{ANSI_CLEAR}");
2024-03-18 22:46:41 -05:00
let tasks = Tasks::try_new()?;
let gitlab_user = tasks.gitlab.me().await?;
info!("{gitlab_user:#?}");
2024-03-19 12:07:37 -05:00
let jira_user = tasks.jira.me().await?;
info!("{jira_user:#?}");
let issues = tasks.jira.assigned_open_issues().await?;
info!("{issues:#?}");
info!("{}", issues.len());
2024-03-18 22:46:41 -05:00
Ok(())
}