summaryrefslogtreecommitdiffstats
path: root/src/models
diff options
context:
space:
mode:
Diffstat (limited to 'src/models')
-rw-r--r--src/models/user.rs22
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(())
+ }
+}