diff options
author | Ellie Huxtable <e@elm.sh> | 2021-04-20 21:53:07 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-04-20 20:53:07 +0000 |
commit | a21737e2b7f8d1e426726bdd7536033f299d476a (patch) | |
tree | e940afdff9c145d25d9a2895fd44a77d70719a2e /atuin-server/src/lib.rs | |
parent | 34888827f8a06de835cbe5833a06914f28cce514 (diff) |
Use cargo workspaces (#37)
* Switch to Cargo workspaces
Breaking things into "client", "server" and "common" makes managing the
codebase much easier!
client - anything running on a user's machine for adding history
server - handles storing/syncing history and running a HTTP server
common - request/response API definitions, common utils, etc
* Update dockerfile
Diffstat (limited to 'atuin-server/src/lib.rs')
-rw-r--r-- | atuin-server/src/lib.rs | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/atuin-server/src/lib.rs b/atuin-server/src/lib.rs new file mode 100644 index 00000000..36b6ffa7 --- /dev/null +++ b/atuin-server/src/lib.rs @@ -0,0 +1,30 @@ +use std::net::IpAddr; + +use eyre::Result; + +use crate::settings::Settings; + +#[macro_use] +extern crate log; + +#[macro_use] +extern crate serde_derive; + +pub mod auth; +pub mod database; +pub mod handlers; +pub mod models; +pub mod router; +pub mod settings; + +pub async fn launch(settings: &Settings, host: String, port: u16) -> Result<()> { + // routes to run: + // index, register, add_history, login, get_user, sync_count, sync_list + let host = host.parse::<IpAddr>()?; + + let r = router::router(settings).await?; + + warp::serve(r).run((host, port)).await; + + Ok(()) +} |