- Modified delete_user_endpoint to return None for HTTP 204 status code
- Updated delete_todo endpoint to also return None for HTTP 204 status code
- Added proper return type annotations to both endpoints
- This fixes the AssertionError: Status code 204 must not have a response body
- Remove return None from delete endpoints with 204 status code
- HTTP status code 204 must not have a response body per HTTP spec
- Fixed in both users.py and todos.py API endpoints
- Addresses AssertionError: Status code 204 must not have a response body
- Add email-validator package to requirements.txt
- Update User and Todo schemas to use new Pydantic v2 model_config syntax
- Replace deprecated 'orm_mode' with Pydantic v2 'from_attributes' config
- Update SQLite foreign key constraint implementation to use batch operations
- Add helper function to detect existing constraints
- Use batch_alter_table context manager for SQLite compatibility
- Improve error handling in downgrade operations for SQLite compatibility
- Add better error messages for debugging
- Added helper functions to check if tables, columns, and indexes already exist
- Modified upgrade function to skip operations if objects already exist
- Added try-except blocks to handle potential errors during creation operations
- Updated downgrade function to check existence before dropping objects
- Fixed compatibility with databases where tables are already created
Update user_auth_migration.py with correct revision IDs:
- Change revision from 2 to 54ab38f52c12
- Update down_revision from 1 to 1a39b3495612 to properly reference initial migration
- Create User model and schema
- Implement password hashing with bcrypt
- Add JWT token-based authentication
- Create user and auth endpoints
- Update todo endpoints with user authentication
- Add alembic migration for user model
- Update README with new features