Skip to content

Commit

Permalink
added multiple message types
Browse files Browse the repository at this point in the history
  • Loading branch information
marci1175 committed Dec 2, 2023
1 parent a0323e4 commit 23ac514
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 19 deletions.
22 changes: 17 additions & 5 deletions src/app/backend.rs
Original file line number Diff line number Diff line change
Expand Up @@ -187,30 +187,42 @@ impl TemplateApp {
}

//Message Types
#[derive(Default, serde::Serialize, serde::Deserialize, Debug)]
#[derive(Default, serde::Serialize, serde::Deserialize, Debug, Clone)]
pub struct FileUpload {
pub name: String,
pub bytes: Vec<u8>,
}

#[derive(Default, serde::Serialize, serde::Deserialize, Debug)]
#[derive(Default, serde::Serialize, serde::Deserialize, Debug, Clone)]
pub struct NormalMessage {
pub message: String,
}

#[derive(Default, serde::Serialize, serde::Deserialize, Debug)]
#[derive(Default, serde::Serialize, serde::Deserialize, Debug, Clone)]
pub struct Image {
pub bytes: Vec<u8>,
}

#[derive(serde::Serialize, serde::Deserialize, Debug)]
#[derive(Default, serde::Serialize, serde::Deserialize, Debug, Clone)]
pub struct SnycMessage {
/*Empty packet, only for syncing*/
}

#[derive(Default, serde::Serialize, serde::Deserialize, Debug, Clone)]
pub struct FileRequest {
pub index: i32,
}

#[derive(serde::Serialize, serde::Deserialize, Debug, Clone)]
pub enum MessageType {
SyncMessage(SnycMessage),
FileRequest(FileRequest),
FileUpload(FileUpload),
Image(Image),
NormalMessage(NormalMessage),
}

#[derive(serde::Serialize, serde::Deserialize, Debug)]
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone)]
pub struct Message {
pub MessageType: MessageType,
pub Password: String,
Expand Down
19 changes: 5 additions & 14 deletions src/app/server.rs
Original file line number Diff line number Diff line change
Expand Up @@ -48,29 +48,20 @@ impl ServerMessage for MessageService {

let req_result: Result<Message, serde_json::Error> = serde_json::from_str(&request.into_inner().message);
let req: Message = req_result.unwrap();

let req_message = match req.MessageType {
crate::app::backend::MessageType::FileUpload(_) => todo!(),
crate::app::backend::MessageType::Image(_) => todo!(),
crate::app::backend::MessageType::NormalMessage(ok) => ok.message,
};

let current_datetime = Local::now();
let format = StrftimeItems::new("%Y.%m.%d. %H:%M");
let formatted_datetime = current_datetime.format_with_items(format);

if req.Password == self.passw.trim() {
if &req.Password == self.passw.trim() {
match self.messages.lock() {
Ok(mut ok) => {
ok.push(
format!("{formatted_datetime} $ {} | {} ", req.Author, req_message) + "\n",
format!("{}", req.struct_into_string()) + "\n",
);
}
Err(err) => {
println!("{err}")
}
};
}

let shared_messages = self.messages.lock().unwrap().clone();

let handle = std::thread::spawn(move || {
Expand Down Expand Up @@ -224,11 +215,11 @@ impl ServerMessage for MessageService {

//check for index in uploaded files path vector
// EX ::
// Vec() => {"C:\Apad.exe", "C:\Kurva"}
// Vec() => {"C:\Apad.exe", "C:\XD"}
// INPUT ::
// 1
// OUTPUT ::
// "C:\Kurva"
// "C:\XD"

let apad = &file_path_vec[req.index as usize];

Expand Down

0 comments on commit 23ac514

Please sign in to comment.