2024-11-28 12:47:00 +01:00
|
|
|
// user repositories
|
|
|
|
|
|
|
|
|
|
use crate::models::user::User;
|
|
|
|
|
|
|
|
|
|
use super::storage::Storage;
|
|
|
|
|
use anyhow::{Result, Context};
|
|
|
|
|
|
2024-12-03 13:20:33 +01:00
|
|
|
pub async fn get_user_by_id(storage: &Storage, user_id: &str) -> Result<User> {
|
2024-11-28 12:47:00 +01:00
|
|
|
sqlx::query_as::<_, User>("SELECT * FROM users WHERE id = $1")
|
|
|
|
|
.bind(user_id)
|
|
|
|
|
.fetch_one(&storage.0)
|
|
|
|
|
.await
|
2024-12-03 13:20:33 +01:00
|
|
|
.context("To get user by id.")
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
pub async fn get_users(storage: &Storage) -> Result<Vec<User>> {
|
|
|
|
|
sqlx::query_as::<_, User>("SELECT * FROM users")
|
|
|
|
|
.fetch_all(&storage.0)
|
|
|
|
|
.await
|
|
|
|
|
.context("To get users.")
|
2024-11-28 12:47:00 +01:00
|
|
|
}
|