1
0
mirror of https://gitlab.com/comunic/comunicapiv3 synced 2025-06-21 00:45:18 +00:00

Can update conversation message content

This commit is contained in:
2020-06-23 14:02:16 +02:00
parent 21e68d2c9e
commit a5c83cc1b4
4 changed files with 39 additions and 0 deletions

View File

@ -293,6 +293,14 @@ pub fn send_message(msg: &NewConversationMessage) -> ResultBoxError<()> {
Ok(())
}
/// Update message content
pub fn update_message_content(msg_id: u64, new_content: &str) -> ResultBoxError<()> {
database::UpdateInfo::new(CONV_MESSAGES_TABLE)
.cond_u64("id", msg_id)
.set_str("message", new_content)
.exec()
}
/// Remove a message from a conversation
pub fn delete_message(msg: &ConversationMessage) -> ResultBoxError<()> {
@ -394,6 +402,15 @@ pub fn delete_member(user_id: UserID, conv_id: u64) -> ResultBoxError<()> {
Ok(())
}
/// Check out whether a user is the owner of a message or not
pub fn is_message_owner(user_id: UserID, message_id: u64) -> ResultBoxError<bool> {
database::QueryInfo::new(CONV_MESSAGES_TABLE)
.cond_u64("id", message_id)
.cond_user_id("user_id", user_id)
.exec_count()
.map(|r| r > 0)
}
/// Turn a database entry into a ConversationInfo object
fn db_to_conversation_info(row: &database::RowResult) -> ResultBoxError<Conversation> {
let conv_id = row.get_u64("id")?;

View File

@ -651,6 +651,12 @@ impl UpdateInfo {
self
}
/// Set a new string
pub fn set_str(mut self, name: &str, val: &str) -> Self {
self.set.insert(name.to_string(), Value::from(val));
self
}
/// Set an new optional string
///
/// None => Empty string