- Refactor MoneyAmount to store as INTEGER cents instead of TEXT decimals - Move CurrencyType to separate currency_type.rs module - Rename money.rs to money_amount.rs for clarity - Update database schema to use INTEGER for all monetary columns - Remove complex CAST AS REAL workarounds from database queries - Add comprehensive test coverage for cent-based arithmetic and storage - Enable STRICT mode and foreign key constraints in SQLite - Add rstest dependency for parameterized testing Benefits: - Faster INTEGER-based comparisons vs TEXT casting - Exact financial precision without floating-point errors - Simpler, cleaner SQL queries - Better performance for auction bid operations
25 lines
596 B
TOML
25 lines
596 B
TOML
[package]
|
|
name = "pawctioneer-bot"
|
|
version = "0.1.0"
|
|
edition = "2021"
|
|
|
|
[dependencies]
|
|
teloxide = { version = "0.17.0", features = ["macros"] }
|
|
tokio = { version = "1.0", features = ["macros", "rt-multi-thread"] }
|
|
sqlx = { version = "0.8.6", features = [
|
|
"runtime-tokio-rustls",
|
|
"sqlite",
|
|
"chrono",
|
|
"rust_decimal",
|
|
] }
|
|
rust_decimal = { version = "1.33", features = ["serde"] }
|
|
chrono = { version = "0.4", features = ["serde"] }
|
|
serde = { version = "1.0", features = ["derive"] }
|
|
log = "0.4"
|
|
env_logger = "0.11.8"
|
|
anyhow = "1.0"
|
|
dotenvy = "0.15"
|
|
|
|
[dev-dependencies]
|
|
rstest = "0.21"
|