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;
|
||||
|
||||
// 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
|
||||
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
|
||||
// append message to file
|
||||
|
||||
|
@ -25,15 +50,11 @@ fn create_message(message: Json<MessageInput>, file: &str, token: &str) {
|
|||
body: message.body.to_string(),
|
||||
created_at: Utc.ymd(2005, 7, 8).and_hms(9, 10, 11),
|
||||
};
|
||||
println!("{:?}", message_obj);
|
||||
println!("{:?}", message_obj);*/
|
||||
}
|
||||
|
||||
// Receive a basic message
|
||||
#[post("/api/message/send", format = "json", data = "<message>")]
|
||||
pub fn send_message(message: Json<MessageInput<'_>>) -> JsonValue {
|
||||
create_message(message, "messages.json", "token");
|
||||
json!({
|
||||
"status": "ok",
|
||||
"reason": ""
|
||||
})
|
||||
create_message(message, "messages.json")
|
||||
}
|
||||
|
|
|
@ -8,6 +8,7 @@ pub struct MessageInput<'r> {
|
|||
pub name: &'r str,
|
||||
pub body: &'r str,
|
||||
pub date: &'r str,
|
||||
pub token: &'r str,
|
||||
}
|
||||
|
||||
#[derive(Debug)]
|
||||
|
|
Loading…
Reference in New Issue