summaryrefslogtreecommitdiffstats
path: root/src/db/users.rs
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/db/users.rs21
1 files changed, 7 insertions, 14 deletions
diff --git a/src/db/users.rs b/src/db/users.rs
index 0fc7c64..a5759fd 100644
--- a/src/db/users.rs
+++ b/src/db/users.rs
@@ -1,11 +1,12 @@
use sqlx::{Pool, Postgres};
+use uuid::Uuid;
use crate::users::User;
use crate::Result;
#[derive(Clone)]
pub struct Users(Pool<Postgres>);
-// code code code code code code code code code code code code code code
+
impl Users {
pub fn new(pool: Pool<Postgres>) -> Self {
Self(pool)
@@ -13,7 +14,8 @@ impl Users {
pub async fn create(&self, user: User) -> Result<()> {
sqlx::query!(
- r#"insert into users (username, password, email, bio, site, privacy, admin) values ($1, $2, $3, $4, $5, $6, $7)"#,
+ r#"insert into users (id, username, password, email, bio, site, privacy, admin) values ($1, $2, $3, $4, $5, $6, $7, $8)"#,
+ user.id,
user.username,
user.password,
user.email,
@@ -27,11 +29,11 @@ impl Users {
Ok(())
}
- pub async fn read(&self, user_id: i32) -> Result<User> {
+ pub async fn read(&self, user_id: Uuid) -> Result<User> {
Ok(
sqlx::query_as!(
User,
- "select username, password, email, bio, site, privacy as \"privacy: _\", admin from users where id = $1",
+ "select id, username, password, email, bio, site, privacy as \"privacy: _\", admin from users where id = $1",
user_id
)
.fetch_one(&self.0)
@@ -43,7 +45,7 @@ impl Users {
Ok(
sqlx::query_as!(
User,
- "select username, password, email, bio, site, privacy as \"privacy: _\", admin from users where username = $1",
+ "select id, username, password, email, bio, site, privacy as \"privacy: _\", admin from users where username = $1",
username
)
.fetch_one(&self.0)
@@ -51,15 +53,6 @@ impl Users {
)
}
- pub async fn get_id(&self, username: &str) -> Result<i32> {
- Ok(
- sqlx::query!("select id from users where username = $1", username)
- .fetch_one(&self.0)
- .await?
- .id,
- )
- }
-
pub async fn read_all(&self) -> Result<Vec<User>> {
Ok(sqlx::query_as("select * from users")
.fetch_all(&self.0)