From a21737e2b7f8d1e426726bdd7536033f299d476a Mon Sep 17 00:00:00 2001 From: Ellie Huxtable Date: Tue, 20 Apr 2021 21:53:07 +0100 Subject: 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 --- src/local/history.rs | 66 ---------------------------------------------------- 1 file changed, 66 deletions(-) delete mode 100644 src/local/history.rs (limited to 'src/local/history.rs') diff --git a/src/local/history.rs b/src/local/history.rs deleted file mode 100644 index 1712f8b9..00000000 --- a/src/local/history.rs +++ /dev/null @@ -1,66 +0,0 @@ -use std::env; -use std::hash::{Hash, Hasher}; - -use chrono::Utc; - -use crate::command::uuid_v4; - -// Any new fields MUST be Optional<>! -#[derive(Debug, Clone, Serialize, Deserialize)] -pub struct History { - pub id: String, - pub timestamp: chrono::DateTime, - pub duration: i64, - pub exit: i64, - pub command: String, - pub cwd: String, - pub session: String, - pub hostname: String, -} - -impl History { - pub fn new( - timestamp: chrono::DateTime, - command: String, - cwd: String, - exit: i64, - duration: i64, - session: Option, - hostname: Option, - ) -> Self { - let session = session - .or_else(|| env::var("ATUIN_SESSION").ok()) - .unwrap_or_else(uuid_v4); - let hostname = - hostname.unwrap_or_else(|| format!("{}:{}", whoami::hostname(), whoami::username())); - - Self { - id: uuid_v4(), - timestamp, - command, - cwd, - exit, - duration, - session, - hostname, - } - } -} - -impl PartialEq for History { - // for the sakes of listing unique history only, we do not care about - // anything else - // obviously this does not refer to the *same* item of history, but when - // we only render the command, it looks the same - fn eq(&self, other: &Self) -> bool { - self.command == other.command - } -} - -impl Eq for History {} - -impl Hash for History { - fn hash(&self, state: &mut H) { - self.command.hash(state); - } -} -- cgit v1.3.1