7 Commits

Author SHA1 Message Date
Dylan Knutson
4396d367a8 active listing constraint for bidding 2025-09-10 23:51:01 +00:00
Dylan Knutson
a955acbdce add listing expiry checker task 2025-09-10 03:15:58 +00:00
Dylan Knutson
f74c3502d6 basic listing stuff 2025-09-02 01:47:45 +00:00
Dylan Knutson
374abf8c42 major db refactors 2025-08-29 23:25:12 +00:00
Dylan Knutson
3a7d0a6905 refactor: organize DAOs into dedicated db/dao/ directory
- Move listing_dao.rs and user_dao.rs to src/db/dao/
- Create dao/mod.rs with proper re-exports for ListingDAO and UserDAO
- Update import paths in DAO files to work from new location
- Update db/mod.rs to import from new dao module
- All tests still pass - no functionality changes
2025-08-28 01:15:40 +00:00
Dylan Knutson
32dca5f4de refactor: Convert MoneyAmount to INTEGER cents storage and modularize currency types
- 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
2025-08-27 23:19:13 +00:00
Dylan Knutson
348fa416e8 feat: implement database layer and rename auction -> listing
Major Changes:
- Set up SQLx database connection and migration system
- Create complete initial database schema with all tables
- Rename 'auction' to 'listing' throughout codebase for better terminology
- Update bot commands: /newauction -> /newlisting, /myauctions -> /mylistings
- Update all database tables: auctions -> listings, auction_medias -> listing_medias
- Update foreign key relationships and indexes
- Add automatic database migration on startup
- Update documentation and README
- Complete backlog tasks: task-001, task-002, task-010

The bot now has a solid database foundation ready for implementing core business logic.
All tests pass and code compiles successfully.
2025-08-27 19:24:15 +00:00