Add basic token validation
parent
915ae722d5
commit
bedb5ea974
35
src/chat.rs
35
src/chat.rs
|
@ -8,8 +8,33 @@ use uuid::Uuid;
|
||||||
use crate::user::User;
|
use crate::user::User;
|
||||||
|
|
||||||
// Check if user can create the message, and then create more info about the message
|
// Check if user can create the message, and then create more info about the message
|
||||||
fn create_message(message: Json<MessageInput>, file: &str, token: &str) {
|
fn create_message(message: Json<MessageInput>, file: &str) -> JsonValue {
|
||||||
// check if token is correct for name given
|
// check if token is correct for name given
|
||||||
|
let users: Vec<User> = read_json(); // create vector out of users in json file
|
||||||
|
|
||||||
|
for i in &users {
|
||||||
|
// loop through elements
|
||||||
|
if i.name == message.name.to_lowercase() { // if it finds the user in the file
|
||||||
|
if i.session_token == message.token { // if token matches
|
||||||
|
info!("user exists and given token matches");
|
||||||
|
return json!({
|
||||||
|
"status": "ok",
|
||||||
|
"reason": "token matches"
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
warn!("token does not match!");
|
||||||
|
return json!({
|
||||||
|
"status": "fail",
|
||||||
|
"reason": "token does not match"
|
||||||
|
})
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
json!({
|
||||||
|
"status": "fail",
|
||||||
|
"reason": "user not found"
|
||||||
|
})
|
||||||
|
/*
|
||||||
// create full message object
|
// create full message object
|
||||||
// append message to file
|
// append message to file
|
||||||
|
|
||||||
|
@ -25,15 +50,11 @@ fn create_message(message: Json<MessageInput>, file: &str, token: &str) {
|
||||||
body: message.body.to_string(),
|
body: message.body.to_string(),
|
||||||
created_at: Utc.ymd(2005, 7, 8).and_hms(9, 10, 11),
|
created_at: Utc.ymd(2005, 7, 8).and_hms(9, 10, 11),
|
||||||
};
|
};
|
||||||
println!("{:?}", message_obj);
|
println!("{:?}", message_obj);*/
|
||||||
}
|
}
|
||||||
|
|
||||||
// Receive a basic message
|
// Receive a basic message
|
||||||
#[post("/api/message/send", format = "json", data = "<message>")]
|
#[post("/api/message/send", format = "json", data = "<message>")]
|
||||||
pub fn send_message(message: Json<MessageInput<'_>>) -> JsonValue {
|
pub fn send_message(message: Json<MessageInput<'_>>) -> JsonValue {
|
||||||
create_message(message, "messages.json", "token");
|
create_message(message, "messages.json")
|
||||||
json!({
|
|
||||||
"status": "ok",
|
|
||||||
"reason": ""
|
|
||||||
})
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,6 +8,7 @@ pub struct MessageInput<'r> {
|
||||||
pub name: &'r str,
|
pub name: &'r str,
|
||||||
pub body: &'r str,
|
pub body: &'r str,
|
||||||
pub date: &'r str,
|
pub date: &'r str,
|
||||||
|
pub token: &'r str,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Debug)]
|
#[derive(Debug)]
|
||||||
|
|
Loading…
Reference in New Issue