This commit is contained in:
Simon Laux
2020-01-07 04:24:43 +01:00
parent 1538684c6c
commit e006d9b033

View File

@@ -1943,19 +1943,18 @@ impl MuteDuration {
} }
} }
pub fn set_muted ( pub fn set_muted(context: &Context, chat_id: ChatId, duration: MuteDuration) -> Result<(), Error> {
context: &Context,
chat_id: ChatId,
duration: MuteDuration
) -> Result<(), Error>{
let mut success = false; let mut success = false;
ensure!(!chat_id.is_special(), "Invalid chat ID"); ensure!(!chat_id.is_special(), "Invalid chat ID");
if real_group_exists(context, chat_id) && sql::execute( if real_group_exists(context, chat_id)
&& sql::execute(
context, context,
&context.sql, &context.sql,
"UPDATE chats SET muted_until=? WHERE id=?;", "UPDATE chats SET muted_until=? WHERE id=?;",
params![duration.serialize(), chat_id], params![duration.serialize(), chat_id],
).is_ok() { )
.is_ok()
{
context.call_cb(Event::ChatModified(chat_id)); context.call_cb(Event::ChatModified(chat_id));
success = true; success = true;
} }
@@ -2868,13 +2867,23 @@ mod tests {
false false
); );
// Timed in the future // Timed in the future
set_muted(&t.ctx, chat_id, MuteDuration::MutedUntilTimestamp(time() + 3600)).unwrap(); set_muted(
&t.ctx,
chat_id,
MuteDuration::MutedUntilTimestamp(time() + 3600),
)
.unwrap();
assert_eq!( assert_eq!(
Chat::load_from_db(&t.ctx, chat_id).unwrap().is_muted(), Chat::load_from_db(&t.ctx, chat_id).unwrap().is_muted(),
true true
); );
// Time in the past // Time in the past
set_muted(&t.ctx, chat_id, MuteDuration::MutedUntilTimestamp(time() - 3600)).unwrap(); set_muted(
&t.ctx,
chat_id,
MuteDuration::MutedUntilTimestamp(time() - 3600),
)
.unwrap();
assert_eq!( assert_eq!(
Chat::load_from_db(&t.ctx, chat_id).unwrap().is_muted(), Chat::load_from_db(&t.ctx, chat_id).unwrap().is_muted(),
false false