|
@@ -1,6 +1,6 @@
|
|
|
use uuid::Uuid;
|
|
use uuid::Uuid;
|
|
|
use chrono::{DateTime, Utc};
|
|
use chrono::{DateTime, Utc};
|
|
|
-use sqlx::{PgPool, FromRow};
|
|
|
|
|
|
|
+use sqlx::{PgPool, FromRow, QueryBuilder};
|
|
|
use serde::Serialize;
|
|
use serde::Serialize;
|
|
|
use crate::http_error::HttpError;
|
|
use crate::http_error::HttpError;
|
|
|
|
|
|
|
@@ -78,7 +78,7 @@ impl User {
|
|
|
|
|
|
|
|
match user {
|
|
match user {
|
|
|
Some(u) => Ok(u),
|
|
Some(u) => Ok(u),
|
|
|
- _ => Err(HttpError::Auth)
|
|
|
|
|
|
|
+ None => Err(HttpError::Auth)
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -100,6 +100,20 @@ impl User {
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ pub async fn add_tokens(db: &PgPool, user: Uuid, new_tokens: i32) -> Result<(), HttpError> {
|
|
|
|
|
+ sqlx::query(
|
|
|
|
|
+ "UPDATE users
|
|
|
|
|
+ SET tokens = tokens + $1
|
|
|
|
|
+ WHERE id = $2"
|
|
|
|
|
+ )
|
|
|
|
|
+ .bind(new_tokens)
|
|
|
|
|
+ .bind(user)
|
|
|
|
|
+ .execute(db)
|
|
|
|
|
+ .await?;
|
|
|
|
|
+
|
|
|
|
|
+ Ok(())
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
pub fn response(self) -> ResponseUser {
|
|
pub fn response(self) -> ResponseUser {
|
|
|
ResponseUser {
|
|
ResponseUser {
|
|
|
id: self.id.to_string(),
|
|
id: self.id.to_string(),
|