diff options
| author | salmonik <salmonik@tuta.io> | 2026-11-01 16:17:19 +0100 |
|---|---|---|
| committer | salmonik <salmonik@tuta.io> | 2026-11-01 16:17:19 +0100 |
| commit | f07221b4e1d8aa464a44fe566884ccc0565406e9 (patch) | |
| tree | 48020a68cee1c95521d594dc6803c1f7ec01c801 /src/server/database.rs | |
| parent | add nginx + php-fpm deployment example (diff) | |
| download | zagan-bet-f07221b4e1d8aa464a44fe566884ccc0565406e9.tar.gz zagan-bet-f07221b4e1d8aa464a44fe566884ccc0565406e9.zip | |
v3.2.0: straight and split bets anywhere on the felt; add history command
Diffstat (limited to 'src/server/database.rs')
| -rw-r--r-- | src/server/database.rs | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/src/server/database.rs b/src/server/database.rs index 6dd71a3..cfc48c1 100644 --- a/src/server/database.rs +++ b/src/server/database.rs | |||
| @@ -399,3 +399,30 @@ fn abandoned_details(raw: &str) -> String { | |||
| 399 | } | 399 | } |
| 400 | value.to_string() | 400 | value.to_string() |
| 401 | } | 401 | } |
| 402 | |||
| 403 | /// Most recent settled plays for a user, newest first. | ||
| 404 | pub fn recent_plays( | ||
| 405 | conn: &Connection, | ||
| 406 | username: &str, | ||
| 407 | limit: u32, | ||
| 408 | ) -> rusqlite::Result<Vec<crate::history::PlayRecord>> { | ||
| 409 | let mut statement = conn.prepare( | ||
| 410 | "SELECT game_type, bet_amount, winnings, balance_after, details, created_at | ||
| 411 | FROM plays | ||
| 412 | WHERE username = ?1 | ||
| 413 | ORDER BY created_at DESC, rowid DESC | ||
| 414 | LIMIT ?2", | ||
| 415 | )?; | ||
| 416 | let rows = statement.query_map(params![username, limit], |row| { | ||
| 417 | let details: String = row.get(4)?; | ||
| 418 | Ok(crate::history::PlayRecord { | ||
| 419 | game: row.get(0)?, | ||
| 420 | bet: row.get(1)?, | ||
| 421 | winnings: row.get(2)?, | ||
| 422 | balance_after: row.get(3)?, | ||
| 423 | at: row.get(5)?, | ||
| 424 | details: serde_json::from_str(&details).unwrap_or(serde_json::Value::Null), | ||
| 425 | }) | ||
| 426 | })?; | ||
| 427 | rows.collect() | ||
| 428 | } | ||
