diff options
| author | Santo Cariotti <santo@dcariotti.me> | 2022-09-13 13:51:48 +0000 |
|---|---|---|
| committer | Santo Cariotti <santo@dcariotti.me> | 2022-09-13 13:51:48 +0000 |
| commit | 2b2b2e103028a3c3e2a0f129e5c903aa18087ebd (patch) | |
| tree | 32cc9de202d4f69473b7a8e469f137ea5d762cbe /src/models/user.rs | |
| parent | e62c4fe11e2e9bede790b5b0df50b2e6582e5424 (diff) | |
Edit an user avatar
Diffstat (limited to 'src/models/user.rs')
| -rw-r--r-- | src/models/user.rs | 22 |
1 files changed, 21 insertions, 1 deletions
diff --git a/src/models/user.rs b/src/models/user.rs index b1427f6..7d336f9 100644 --- a/src/models/user.rs +++ b/src/models/user.rs @@ -30,7 +30,7 @@ pub struct UserList { username: String, is_staff: Option<bool>, #[serde_as(as = "NoneAsEmptyString")] - avatar: Option<String>, + pub avatar: Option<String>, } impl User { @@ -168,3 +168,23 @@ impl User { Ok(row.count.unwrap() > 0) } } + +impl UserList { + // Edit an user + pub async fn edit_avatar(&mut self, avatar: String) -> Result<(), AppError> { + let pool = unsafe { get_client() }; + sqlx::query!( + r#" + UPDATE users SET avatar = $1 WHERE id = $2 + "#, + avatar, + self.id, + ) + .execute(pool) + .await?; + + self.avatar = Some(avatar); + + Ok(()) + } +} |
