diff --git a/ms/Cargo.toml b/ms/Cargo.toml index 988d313..a1033e7 100644 --- a/ms/Cargo.toml +++ b/ms/Cargo.toml @@ -1,5 +1,6 @@ [workspace] members = [ + "shared", "server", "txtclient", ] diff --git a/ms/shared/Cargo.toml b/ms/shared/Cargo.toml new file mode 100644 index 0000000..6f33cce --- /dev/null +++ b/ms/shared/Cargo.toml @@ -0,0 +1,10 @@ +[package] +name = "shared" +version = "0.1.0" +edition = "2021" + +# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html + +[dependencies] +chrono = { version = "0.4.19", features = ["serde"] } +serde = { version = "1.0.130", features = ["derive"] } diff --git a/ms/shared/src/lib.rs b/ms/shared/src/lib.rs new file mode 100644 index 0000000..7a61eb8 --- /dev/null +++ b/ms/shared/src/lib.rs @@ -0,0 +1,19 @@ +use chrono::offset::Utc; +use chrono::DateTime; +use serde::Deserialize; +use serde::Serialize; + +#[derive(Debug, Clone, Serialize, Deserialize)] +pub struct Message { + received: DateTime, + message: String, +} + +impl Message { + pub fn new(message: &str) -> Self { + Self { + received: Utc::now(), + message: message.into(), + } + } +}