minauthator/lib/kernel/src/repositories/users.rs

22 lines
573 B
Rust
Raw Normal View History

// user repositories
use crate::models::user::User;
use super::storage::Storage;
use anyhow::{Result, Context};
pub async fn get_user_by_id(storage: &Storage, user_id: &str) -> Result<User> {
sqlx::query_as::<_, User>("SELECT * FROM users WHERE id = $1")
.bind(user_id)
.fetch_one(&storage.0)
.await
.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.")
}