diff --git a/src/main.rs b/src/main.rs index 90e4162..bf91897 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,9 +1,9 @@ -use chrono::NaiveDate; use sqlx::{Connection, PgConnection}; use toggl::TogglApi; use worker::Worker; mod sensitive; +mod server; mod toggl; mod worker; @@ -17,6 +17,9 @@ enum AppError { #[error("User modified since time delta is too large. Max allowed is 90 days.")] LookBackTooLarge, + + #[error("IO error: {0}")] + IO(#[from] std::io::Error), } struct TableSummary { @@ -46,14 +49,5 @@ async fn main() { let mut worker = Worker { db, toggl_api: api }; - worker.update_tags().await.unwrap(); - - let start = NaiveDate::from_ymd_opt(2024, 2, 1).expect("Invalid date"); - - let end = NaiveDate::from_ymd_opt(2024, 2, 2).expect("Invalid date"); - - worker - .fetch_within(start, end) - .await - .expect("Failed to fetch time entries"); + server::serve().await.expect("Failed to start server") } diff --git a/src/server.rs b/src/server.rs new file mode 100644 index 0000000..6d69c44 --- /dev/null +++ b/src/server.rs @@ -0,0 +1,19 @@ +use axum::{ + http::StatusCode, + routing::{get, post}, + Json, Router, +}; + +use crate::AppError; + +pub async fn serve() -> Result<(), AppError> { + // build our application with a route + let app = Router::new(); + + // run our app with hyper, listening globally on port 3000 + let listener = tokio::net::TcpListener::bind("0.0.0.0:3000").await?; + + axum::serve(listener, app).await?; + + Ok(()) +}