aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/database.rs6
-rw-r--r--src/database/types.rs4
-rw-r--r--src/main.rs4
3 files changed, 11 insertions, 3 deletions
diff --git a/src/database.rs b/src/database.rs
index b231675..7905552 100644
--- a/src/database.rs
+++ b/src/database.rs
@@ -103,7 +103,7 @@ impl Database {
return message_id_vec;
}
- pub fn send_message(&mut self, msg: &Message) -> Result<UID, &'static str> {
+ pub fn send_message(&mut self, msg: &mut Message) -> Result<UID, &'static str> {
// Check if user exists
match self.get_user(msg.sender()) {
Some(n) => match n.deleted() {
@@ -113,6 +113,10 @@ impl Database {
None => return Err("User not found"),
}
+ // Truncate whitespace on the ends of the message
+ let trunc_message = msg.message().trim().to_string();
+ msg.set_message(trunc_message);
+
let query = "INSERT INTO messages (date, sender, message, id, reply_to, deleted) VALUES (:date, :sender, :message, :id, :reply_to, :deleted)";
let statement = self.db.prepare(query).unwrap().into_iter()
.bind::<&[(_, sqlite::Value)]>(&[
diff --git a/src/database/types.rs b/src/database/types.rs
index a0bfd12..429efb8 100644
--- a/src/database/types.rs
+++ b/src/database/types.rs
@@ -124,6 +124,10 @@ impl Message {
pub fn date(&self) -> Date {
self.date
}
+
+ pub fn set_message(&mut self, s: String) {
+ self.message = s;
+ }
}
#[derive(Serialize)]
diff --git a/src/main.rs b/src/main.rs
index a387678..3d5398b 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -68,9 +68,9 @@ fn send_message(message: Json<ReceiveMessage>, db: &State<SharedDB>) -> Json<Res
let mut lock = db.sdb.lock().unwrap();
let id = lock.get_next_message_id();
- let message = message.fill(id);
+ let mut message = message.fill(id);
- let send = lock.send_message(&message);
+ let send = lock.send_message(&mut message);
Json(Response(send))
}