feat: implement exchange creation

Add Exchange model, API endpoint, and form validation
for creating new gift exchanges.

- Create ExchangeForm with timezone validation
- Add admin routes for creating and viewing exchanges
- Generate unique 12-char slug for each exchange
- Validate registration/exchange dates
- Display exchanges in dashboard
- All tests passing with 92% coverage

Story: 2.1
This commit is contained in:
2025-12-22 12:41:28 -07:00
parent 7580c39a84
commit 8554f27d86
12 changed files with 837 additions and 7 deletions
+2
View File
@@ -57,10 +57,12 @@ def create_app(config_name: str | None = None) -> Flask:
# Register blueprints
from src.routes.admin import admin_bp
from src.routes.participant import participant_bp
from src.routes.setup import setup_bp
app.register_blueprint(setup_bp)
app.register_blueprint(admin_bp)
app.register_blueprint(participant_bp)
# Register error handlers
register_error_handlers(app)