summaryrefslogtreecommitdiffstats
path: root/atuin-server/src/lib.rs
diff options
context:
space:
mode:
authorEllie Huxtable <e@elm.sh>2021-04-20 21:53:07 +0100
committerGitHub <noreply@github.com>2021-04-20 20:53:07 +0000
commita21737e2b7f8d1e426726bdd7536033f299d476a (patch)
treee940afdff9c145d25d9a2895fd44a77d70719a2e /atuin-server/src/lib.rs
parent34888827f8a06de835cbe5833a06914f28cce514 (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.rs30
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(())
+}