summaryrefslogtreecommitdiffstats
path: root/src/warning/models.rs
diff options
context:
space:
mode:
authorSanto Cariotti <santo@dcariotti.me>2022-10-17 20:33:26 +0000
committerSanto Cariotti <santo@dcariotti.me>2022-10-17 20:33:26 +0000
commitfc296356c4e1b269fd55196e72791ea3fbf03b08 (patch)
tree14555014d9297eb6716801bd40acf5c65aa72e79 /src/warning/models.rs
parent74976dab57887a4d7e29b426cdf7422722fa58ee (diff)
Undo warning resolve
Diffstat (limited to 'src/warning/models.rs')
-rw-r--r--src/warning/models.rs11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/warning/models.rs b/src/warning/models.rs
index c420dd0..9e79e6c 100644
--- a/src/warning/models.rs
+++ b/src/warning/models.rs
@@ -59,6 +59,7 @@ pub struct WarningCreate {
#[derive(Deserialize)]
pub struct WarningEdit {
pub admin_note: String,
+ pub resolved_by: Option<bool>,
}
/// Payload used for warning filtering
@@ -355,8 +356,12 @@ impl Warning {
Ok(count)
}
- /// Edit a warning
- pub async fn edit(&mut self, resolver: i32, payload: WarningEdit) -> Result<(), AppError> {
+ /// Edit a warning. When `resolver` is None, it means a warning is no more resolved
+ pub async fn edit(
+ &mut self,
+ resolver: Option<i32>,
+ payload: WarningEdit,
+ ) -> Result<(), AppError> {
let pool = unsafe { get_client() };
let now = Local::now().naive_utc();
@@ -374,7 +379,7 @@ impl Warning {
.await?;
self.admin_note = payload.admin_note;
- self.resolved_by = Some(resolver);
+ self.resolved_by = resolver;
self.updated = now;
Ok(())