Add basic token validation

pull/5/head
~erin 2021-07-18 10:17:29 -04:00
parent 915ae722d5
commit bedb5ea974
Signed by: erin
GPG Key ID: DA70E064A8C70F44
2 changed files with 29 additions and 7 deletions

View File

@ -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")
}

View File

@ -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)]