This commit is contained in:
Brandon Thomas committed 2026-03-11 00:08:20 -04:00
1 parent 13ac5eb12b
commit 4348d1da42
2 files changed
+7 -40

No files matched your search

@@ -1,7 +1,7 @@
use anyhow::anyhow;
use log::warn;
use sqlx::MySqlPool;
use crate::errors::select_optional_record_error::SelectOptionalRecordError;
use tokens::tokens::users::UserToken;
pub struct UsernameDetails {
@@ -14,7 +14,7 @@ pub struct UsernameDetails {
pub async fn get_username_by_user_token(
user_token: &UserToken,
pool: &MySqlPool,
) -> Result<Option<UsernameDetails>, anyhow::Error> {
) -> Result<Option<UsernameDetails>, SelectOptionalRecordError> {
let result = sqlx::query_as!(
UsernameDetails,
r#"
@@ -32,15 +32,14 @@ LIMIT 1
"#,
user_token.as_str(),
)
.fetch_one(pool)
.fetch_optional(pool)
.await;
match result {
Ok(record) => Ok(Some(record)),
Err(sqlx::Error::RowNotFound) => Ok(None),
Ok(maybe_record) => Ok(maybe_record),
Err(err) => {
warn!("get_username_by_user_token query error: {:?}", err);
Err(anyhow!("query error"))
Err(err.into())
}
}
}
@@ -1,44 +1,12 @@
use crate::queries::wallet_ledger_entries::internal_insert_wallet_created_ledger_entry::internal_insert_wallet_created_ledger_entry;
use crate::queries::wallets::create_new_wallet_for_owner_user::create_new_wallet_for_owner_user;
use enums::common::payments_namespace::PaymentsNamespace;
use errors::AnyhowResult;
use log::error;
use sqlx::MySql;
use tokens::tokens::users::UserToken;
use tokens::tokens::wallets::WalletToken;
const ARTCRAFT_NAMESPACE: &str = PaymentsNamespace::Artcraft.to_str();
pub async fn create_new_artcraft_wallet_for_owner_user(
user_token: &UserToken,
transaction: &mut sqlx::Transaction<'_, MySql>,
) -> Result<WalletToken, sqlx::Error> {
let token = WalletToken::generate();
let result = sqlx::query!(
r#"
INSERT INTO wallets
SET
token = ?,
wallet_namespace = ?,
owner_user_token = ?,
banked_credits = 0,
monthly_credits = 0
"#,
token.as_str(),
ARTCRAFT_NAMESPACE,
user_token.as_str()
)
.execute(&mut **transaction)
.await;
if let Err(err) = result {
error!("Error while inserting wallet: {}", err);
return Err(err);
}
internal_insert_wallet_created_ledger_entry(&token, transaction).await?;
Ok(token)
create_new_wallet_for_owner_user(user_token, PaymentsNamespace::Artcraft, transaction).await
}