Commit graph

11 commits

Author SHA1 Message Date
Benjamin Slingo b55b9f0abe Step 3-4: Rewrite db/bulletins.rs with pure SQL + fix BulletinService
- Complete rewrite of db/bulletins.rs using direct SQL queries only
- Remove all dependencies on dead *Operations patterns
- Enhanced error handling with specific error types (bulletin_not_found, duplicate_entry)
- Fix BulletinService to call db::bulletins:: directly instead of dead BulletinOperations
- Clean SQL with proper logging and error context
- Part of nuclear consolidation to Handler → Service → DB pattern
2025-08-28 21:41:01 -04:00
Benjamin Slingo da06dae89d NUCLEAR: Delete db_operations.rs entirely
- Remove entire utils/db_operations.rs file and all *Operations patterns
- Comment out imports to dead operations
- This breaks compilation temporarily but eliminates the maintenance nightmare
- Next: rewrite db:: modules to use direct SQL instead of operations
- Goal: Clean Handler → Service → Database pattern only
2025-08-28 21:36:14 -04:00
Benjamin Slingo e2ab29505a Phase 1.5: Migrate main events handler to service layer only
- Remove all direct db:: calls from events.rs handler
- Add missing get_pending_by_id method to EventService
- Use specific error types (ApiError::event_not_found)
- Clean handler → service → database pattern
- First step in eliminating maintenance nightmare of multiple DB patterns
2025-08-28 21:34:03 -04:00
Benjamin Slingo e0fffbc4b9 Phase 1.4: Enhanced input validation system
- Add comprehensive validation methods for dates, UUIDs, ranges, files
- Domain-specific validation functions for bulletins, events, hymnal search
- Enhanced recurring pattern validation with specific error types
- Better date range validation with improved error messages
- Foundation for consistent input validation across all endpoints
- All using new specific error types for better debugging
2025-08-28 21:25:36 -04:00
Benjamin Slingo ad43a19f7c Phase 1: Enhance error handling and database operations
- Add specific error variants for better internal handling
- Enhance error messages with context and logging
- Improve database operations with better error handling
- Use specific errors for media processing, config issues, duplicates
- All HTTP responses remain identical - zero breaking changes
- Foundation for better maintainability and debugging
2025-08-28 21:20:29 -04:00
Benjamin Slingo 5793e12df9 Add comprehensive hymnal support and enhance bulletin processing
- Add complete hymnal API with search, themes, and responsive readings
- Implement hymn title lookup for bulletins (#319#319 - Hymn Title)
- Add Bible book abbreviation support (Matt → Matthew, etc.)
- Enhance scripture processing to handle verse ranges (Matt 1:21-23)
- Add hymnal database schema with SDA 1985 and 1941 hymnals support
- Implement advanced hymnal search with fuzzy matching and themes
- Update bulletin processing to auto-populate hymn titles from database
2025-08-28 20:34:04 -04:00
Benjamin Slingo 916a54caa2 Add missing event thumbnail upload endpoint
- Fixed 502 error when uploading thumbnails via admin panel
- Added /api/upload/events/:id/thumbnail route and handler
- Thumbnails saved with thumb_ prefix for organization
- Includes proper file cleanup when replacing existing thumbnails
- Resolves CORS issues by ensuring endpoint exists for proper middleware handling
2025-08-23 11:29:44 -04:00
Benjamin Slingo 17aeb7d55e Add proper README and remove development documentation files
- Created comprehensive README.md with setup instructions and API overview
- Removed 10 internal development .md files
- Updated .gitignore to prevent future development docs from being tracked
- Repository now has clean, professional documentation structure
2025-08-19 21:01:55 -04:00
Benjamin Slingo 7ab47d6017 Clean up repository: remove shell scripts, test files, and temporary utilities
- Removed all .fish and .sh utility scripts
- Removed test SQL files and debug scripts
- Removed temp files and symlinks
- Removed HTML test files and Python migration helpers
- Updated .gitignore to prevent these files from being tracked again

Repository now contains only essential project code and migrations.
2025-08-19 21:00:09 -04:00
Benjamin Slingo b150e08163 Remove .serena folder from tracking and add to .gitignore 2025-08-19 20:57:56 -04:00
Benjamin Slingo 0c06e159bb Initial commit: Church API Rust implementation
Complete church management system with bulletin management, media processing, live streaming integration, and web interface. Includes authentication, email notifications, database migrations, and comprehensive test suite.
2025-08-19 20:56:41 -04:00