Refactor users::queries module
This commit is contained in:
parent
dc281f821f
commit
c628885c9e
2 changed files with 54 additions and 66 deletions
|
@ -42,12 +42,6 @@ pub async fn get_user_by_oauth_token(
|
||||||
let row = maybe_row.ok_or(DatabaseError::NotFound("user"))?;
|
let row = maybe_row.ok_or(DatabaseError::NotFound("user"))?;
|
||||||
let db_user: DbUser = row.try_get("user_account")?;
|
let db_user: DbUser = row.try_get("user_account")?;
|
||||||
let db_profile: DbActorProfile = row.try_get("actor_profile")?;
|
let db_profile: DbActorProfile = row.try_get("actor_profile")?;
|
||||||
let user = User {
|
let user = User::new(db_user, db_profile);
|
||||||
id: db_user.id,
|
|
||||||
wallet_address: db_user.wallet_address,
|
|
||||||
password_hash: db_user.password_hash,
|
|
||||||
private_key: db_user.private_key,
|
|
||||||
profile: db_profile,
|
|
||||||
};
|
|
||||||
Ok(user)
|
Ok(user)
|
||||||
}
|
}
|
||||||
|
|
|
@ -53,58 +53,6 @@ pub async fn is_valid_invite_code(
|
||||||
Ok(maybe_row.is_some())
|
Ok(maybe_row.is_some())
|
||||||
}
|
}
|
||||||
|
|
||||||
pub async fn get_user_by_id(
|
|
||||||
db_client: &impl GenericClient,
|
|
||||||
user_id: &Uuid,
|
|
||||||
) -> Result<User, DatabaseError> {
|
|
||||||
let maybe_row = db_client.query_opt(
|
|
||||||
"
|
|
||||||
SELECT user_account, actor_profile
|
|
||||||
FROM user_account JOIN actor_profile USING (id)
|
|
||||||
WHERE id = $1
|
|
||||||
",
|
|
||||||
&[&user_id],
|
|
||||||
).await?;
|
|
||||||
let row = maybe_row.ok_or(DatabaseError::NotFound("user"))?;
|
|
||||||
let db_user: DbUser = row.try_get("user_account")?;
|
|
||||||
let db_profile: DbActorProfile = row.try_get("actor_profile")?;
|
|
||||||
let user = User::new(db_user, db_profile);
|
|
||||||
Ok(user)
|
|
||||||
}
|
|
||||||
|
|
||||||
pub async fn get_user_by_name(
|
|
||||||
db_client: &impl GenericClient,
|
|
||||||
username: &str,
|
|
||||||
) -> Result<User, DatabaseError> {
|
|
||||||
let maybe_row = db_client.query_opt(
|
|
||||||
"
|
|
||||||
SELECT user_account, actor_profile
|
|
||||||
FROM user_account JOIN actor_profile USING (id)
|
|
||||||
WHERE actor_profile.username = $1
|
|
||||||
",
|
|
||||||
&[&username],
|
|
||||||
).await?;
|
|
||||||
let row = maybe_row.ok_or(DatabaseError::NotFound("user"))?;
|
|
||||||
let db_user: DbUser = row.try_get("user_account")?;
|
|
||||||
let db_profile: DbActorProfile = row.try_get("actor_profile")?;
|
|
||||||
let user = User::new(db_user, db_profile);
|
|
||||||
Ok(user)
|
|
||||||
}
|
|
||||||
|
|
||||||
pub async fn is_registered_user(
|
|
||||||
db_client: &impl GenericClient,
|
|
||||||
username: &str,
|
|
||||||
) -> Result<bool, DatabaseError> {
|
|
||||||
let maybe_row = db_client.query_opt(
|
|
||||||
"
|
|
||||||
SELECT 1 FROM user_account JOIN actor_profile USING (id)
|
|
||||||
WHERE actor_profile.username = $1
|
|
||||||
",
|
|
||||||
&[&username],
|
|
||||||
).await?;
|
|
||||||
Ok(maybe_row.is_some())
|
|
||||||
}
|
|
||||||
|
|
||||||
pub async fn create_user(
|
pub async fn create_user(
|
||||||
db_client: &mut impl GenericClient,
|
db_client: &mut impl GenericClient,
|
||||||
user_data: UserCreateData,
|
user_data: UserCreateData,
|
||||||
|
@ -161,6 +109,58 @@ pub async fn create_user(
|
||||||
Ok(user)
|
Ok(user)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub async fn get_user_by_id(
|
||||||
|
db_client: &impl GenericClient,
|
||||||
|
user_id: &Uuid,
|
||||||
|
) -> Result<User, DatabaseError> {
|
||||||
|
let maybe_row = db_client.query_opt(
|
||||||
|
"
|
||||||
|
SELECT user_account, actor_profile
|
||||||
|
FROM user_account JOIN actor_profile USING (id)
|
||||||
|
WHERE id = $1
|
||||||
|
",
|
||||||
|
&[&user_id],
|
||||||
|
).await?;
|
||||||
|
let row = maybe_row.ok_or(DatabaseError::NotFound("user"))?;
|
||||||
|
let db_user: DbUser = row.try_get("user_account")?;
|
||||||
|
let db_profile: DbActorProfile = row.try_get("actor_profile")?;
|
||||||
|
let user = User::new(db_user, db_profile);
|
||||||
|
Ok(user)
|
||||||
|
}
|
||||||
|
|
||||||
|
pub async fn get_user_by_name(
|
||||||
|
db_client: &impl GenericClient,
|
||||||
|
username: &str,
|
||||||
|
) -> Result<User, DatabaseError> {
|
||||||
|
let maybe_row = db_client.query_opt(
|
||||||
|
"
|
||||||
|
SELECT user_account, actor_profile
|
||||||
|
FROM user_account JOIN actor_profile USING (id)
|
||||||
|
WHERE actor_profile.username = $1
|
||||||
|
",
|
||||||
|
&[&username],
|
||||||
|
).await?;
|
||||||
|
let row = maybe_row.ok_or(DatabaseError::NotFound("user"))?;
|
||||||
|
let db_user: DbUser = row.try_get("user_account")?;
|
||||||
|
let db_profile: DbActorProfile = row.try_get("actor_profile")?;
|
||||||
|
let user = User::new(db_user, db_profile);
|
||||||
|
Ok(user)
|
||||||
|
}
|
||||||
|
|
||||||
|
pub async fn is_registered_user(
|
||||||
|
db_client: &impl GenericClient,
|
||||||
|
username: &str,
|
||||||
|
) -> Result<bool, DatabaseError> {
|
||||||
|
let maybe_row = db_client.query_opt(
|
||||||
|
"
|
||||||
|
SELECT 1 FROM user_account JOIN actor_profile USING (id)
|
||||||
|
WHERE actor_profile.username = $1
|
||||||
|
",
|
||||||
|
&[&username],
|
||||||
|
).await?;
|
||||||
|
Ok(maybe_row.is_some())
|
||||||
|
}
|
||||||
|
|
||||||
pub async fn get_user_by_wallet_address(
|
pub async fn get_user_by_wallet_address(
|
||||||
db_client: &impl GenericClient,
|
db_client: &impl GenericClient,
|
||||||
wallet_address: &str,
|
wallet_address: &str,
|
||||||
|
@ -176,12 +176,6 @@ pub async fn get_user_by_wallet_address(
|
||||||
let row = maybe_row.ok_or(DatabaseError::NotFound("user"))?;
|
let row = maybe_row.ok_or(DatabaseError::NotFound("user"))?;
|
||||||
let db_user: DbUser = row.try_get("user_account")?;
|
let db_user: DbUser = row.try_get("user_account")?;
|
||||||
let db_profile: DbActorProfile = row.try_get("actor_profile")?;
|
let db_profile: DbActorProfile = row.try_get("actor_profile")?;
|
||||||
let user = User {
|
let user = User::new(db_user, db_profile);
|
||||||
id: db_user.id,
|
|
||||||
wallet_address: db_user.wallet_address,
|
|
||||||
password_hash: db_user.password_hash,
|
|
||||||
private_key: db_user.private_key,
|
|
||||||
profile: db_profile,
|
|
||||||
};
|
|
||||||
Ok(user)
|
Ok(user)
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue