diff --git a/src/api/mod.rs b/src/api/mod.rs index 59ed851..273f24f 100644 --- a/src/api/mod.rs +++ b/src/api/mod.rs @@ -29,6 +29,8 @@ mod socket; mod transactions; mod user; +pub use transactions::TransactionBuilder; + pub use interop::router as interop_router; use transactions::TARGET_NOT_FOUND; diff --git a/src/model/account.rs b/src/model/account.rs index 209cd28..4c9a9ba 100644 --- a/src/model/account.rs +++ b/src/model/account.rs @@ -7,6 +7,8 @@ use tokio_postgres::Row; use tracing::instrument; use uuid::{NoContext, Timestamp, Uuid}; +use crate::api::TransactionBuilder; + use super::count; fn account_info_from_row(row: Row) -> AccountInfo { @@ -40,9 +42,10 @@ impl Accounts { ) .await?; let id = id.unwrap_or_else(|| Uuid::new_v7(Timestamp::now(NoContext))); - let balance: i64 = if id == user { 1000 * 100 } else { 0 }; - client - .execute(&stmt, &[&id, &user, &name, &balance]) + client.execute(&stmt, &[&id, &user, &name, &0i64]).await?; + TransactionBuilder::new(client, 1000 * 100) + .await? + .system(id, Some("Initial capital".into())) .await?; Ok(id) }