diff --git a/src/api.rs b/src/api.rs index bdd214a..3419be1 100644 --- a/src/api.rs +++ b/src/api.rs @@ -1 +1,32 @@ -//TODO: Api Structure +use axum::{ + Router, + routing::{get, post} +}; + +mod account; +mod model; + +pub fn api_router() -> Router { + Router::new() + .nest("/account/:user_id", account_router()) + .route("/predict", + get(model::get_predict) + ) +} + +fn account_router() -> Router { + Router::new() + .route("/sign-in", + get(account::get_sign_in) + .post(account::post_sign_in) + ) + .route("/sign-up", + post(account::post_sign_up) + ) + .route("/backup", + post(account::post_backup) + ) + .route("/restore", + get(account::get_restore) + ) +} diff --git a/src/api/account.rs b/src/api/account.rs new file mode 100644 index 0000000..f98f71d --- /dev/null +++ b/src/api/account.rs @@ -0,0 +1,8 @@ +pub async fn get_sign_in() {} +pub async fn post_sign_in() {} + +pub async fn post_sign_up() {} + +pub async fn post_backup() {} + +pub async fn get_restore() {} diff --git a/src/api/model.rs b/src/api/model.rs new file mode 100644 index 0000000..6b76f61 --- /dev/null +++ b/src/api/model.rs @@ -0,0 +1 @@ +pub async fn get_predict() {} diff --git a/src/lib.rs b/src/lib.rs index e010f28..a2e4dc5 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -1,4 +1,4 @@ -mod api; +pub mod api; mod auth; mod backup; mod db; diff --git a/src/main.rs b/src/main.rs index e7a11a9..9e88f72 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,3 +1,8 @@ -fn main() { - println!("Hello, world!"); +#[tokio::main] +async fn main() { + let app = dermy_server::api::api_router(); + let listener = tokio::net::TcpListener::bind("0.0.0.0:3000").await.unwrap(); + + axum::serve(listener, app).await.unwrap(); + }