Release v0.3.0 - Real Book Search, Purchase History & Env-Based Admin Panel
Pre-release馃攳 Feature Enhancements
-
**Real Book Search: Updated db/books.py:search_books() with SQL LIKE filtering against titles and authors. Integrated
-
**services/bookstore.py:search_books() to return matching book records while preserving search query logging to MongoDB.
-
**Purchase History: Introduced db/purchases.py:get_user_purchases() joining purchases and books tables to show purchase date, book
-
**details, quantity, and total cost. Added Option 5. Purchase history to the CLI menu.
馃敀 Security & Access Control
-
**Environment-Based Admin Panel: Managed admin privileges strictly via an ADMIN_USERNAMES list in .env to prevent security risks
-
**associated with database flags or registration-time role selection.
-
**Dynamic Menu & CRUD Operations: Automatically grants Option 6. Admin panel (supporting book Add/Edit/Delete actions) only if the * **logged-in user matches an entry in ADMIN_USERNAMES.
鈿狅笍 Breaking Changes
- **Authentication Signature Update: Updated auth.login() to return a (user_id, username) tuple instead of only user_id to enable
- **username-based permission evaluation across the application.
Full Changelog: v0.2.0...v0.3.0