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(())
|
|
|
|
}
|