diff options
| author | Santo Cariotti <santo@dcariotti.me> | 2022-10-17 20:33:26 +0000 |
|---|---|---|
| committer | Santo Cariotti <santo@dcariotti.me> | 2022-10-17 20:33:26 +0000 |
| commit | fc296356c4e1b269fd55196e72791ea3fbf03b08 (patch) | |
| tree | 14555014d9297eb6716801bd40acf5c65aa72e79 /src/warning/models.rs | |
| parent | 74976dab57887a4d7e29b426cdf7422722fa58ee (diff) | |
Undo warning resolve
Diffstat (limited to 'src/warning/models.rs')
| -rw-r--r-- | src/warning/models.rs | 11 |
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(()) |
