feat(database/user): adding the database macros
This commit is contained in:
parent
89a79dd3cb
commit
746f4a2d1e
1 changed files with 9 additions and 15 deletions
|
|
@ -1,7 +1,7 @@
|
||||||
use sqlx::{
|
use sqlx::{
|
||||||
PgPool,
|
PgPool,
|
||||||
query,
|
query,
|
||||||
query_as
|
query_as,
|
||||||
};
|
};
|
||||||
use crate::models::DbUser;
|
use crate::models::DbUser;
|
||||||
|
|
||||||
|
|
@ -14,10 +14,7 @@ use crate::models::DbUser;
|
||||||
///
|
///
|
||||||
/// Returns `sqlx::Error` if the query fails.
|
/// Returns `sqlx::Error` if the query fails.
|
||||||
pub async fn create(db: &PgPool, user_id: &str) -> Result<(), sqlx::Error> {
|
pub async fn create(db: &PgPool, user_id: &str) -> Result<(), sqlx::Error> {
|
||||||
query(
|
query!("INSERT INTO users (user_id) VALUES ($1) ON CONFLICT DO NOTHING", user_id)
|
||||||
"INSERT INTO users (user_id) VALUES ($1) ON CONFLICT DO NOTHING"
|
|
||||||
)
|
|
||||||
.bind(user_id)
|
|
||||||
.execute(db)
|
.execute(db)
|
||||||
.await?;
|
.await?;
|
||||||
Ok(())
|
Ok(())
|
||||||
|
|
@ -37,10 +34,11 @@ pub async fn create(db: &PgPool, user_id: &str) -> Result<(), sqlx::Error> {
|
||||||
///
|
///
|
||||||
/// Returns `sqlx::Error` if the query fails.
|
/// Returns `sqlx::Error` if the query fails.
|
||||||
pub async fn get(db: &PgPool, user_id: &str) -> Result<Option<DbUser>, sqlx::Error> {
|
pub async fn get(db: &PgPool, user_id: &str) -> Result<Option<DbUser>, sqlx::Error> {
|
||||||
let user: Option<DbUser> = query_as::<_, DbUser>(
|
let user: Option<DbUser> = query_as!(
|
||||||
|
DbUser,
|
||||||
"SELECT * FROM users WHERE user_id = $1",
|
"SELECT * FROM users WHERE user_id = $1",
|
||||||
|
user_id,
|
||||||
)
|
)
|
||||||
.bind(user_id)
|
|
||||||
.fetch_optional(db)
|
.fetch_optional(db)
|
||||||
.await?;
|
.await?;
|
||||||
Ok(user)
|
Ok(user)
|
||||||
|
|
@ -56,11 +54,7 @@ pub async fn get(db: &PgPool, user_id: &str) -> Result<Option<DbUser>, sqlx::Err
|
||||||
///
|
///
|
||||||
/// Returns `sqlx::Error` if the query fails.
|
/// Returns `sqlx::Error` if the query fails.
|
||||||
pub async fn set_owner(db: &PgPool, user_id: &str, value: bool) -> Result<(), sqlx::Error> {
|
pub async fn set_owner(db: &PgPool, user_id: &str, value: bool) -> Result<(), sqlx::Error> {
|
||||||
query(
|
query!("UPDATE users set is_owner = $1 WHERE user_id = $2", value, user_id)
|
||||||
"UPDATE users set is_owner = $1 WHERE user_id = $2",
|
|
||||||
)
|
|
||||||
.bind(value)
|
|
||||||
.bind(user_id)
|
|
||||||
.execute(db)
|
.execute(db)
|
||||||
.await?;
|
.await?;
|
||||||
Ok(())
|
Ok(())
|
||||||
|
|
@ -76,11 +70,11 @@ pub async fn set_owner(db: &PgPool, user_id: &str, value: bool) -> Result<(), sq
|
||||||
///
|
///
|
||||||
/// Returns `sqlx::Error` if the query fails.
|
/// Returns `sqlx::Error` if the query fails.
|
||||||
pub async fn set_buyer(db: &PgPool, user_id: &str, value: bool) -> Result<(), sqlx::Error> {
|
pub async fn set_buyer(db: &PgPool, user_id: &str, value: bool) -> Result<(), sqlx::Error> {
|
||||||
query(
|
query!(
|
||||||
"UPDATE users set is_buyer = $1 WHERE user_id = $2",
|
"UPDATE users set is_buyer = $1 WHERE user_id = $2",
|
||||||
|
value,
|
||||||
|
user_id
|
||||||
)
|
)
|
||||||
.bind(value)
|
|
||||||
.bind(user_id)
|
|
||||||
.execute(db)
|
.execute(db)
|
||||||
.await?;
|
.await?;
|
||||||
Ok(())
|
Ok(())
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue