Commit Graph

18 Commits

Author SHA1 Message Date
JSC
0fffce53b4 feat: Implement sound normalization service and API endpoints
- Added SoundNormalizerService for normalizing audio files with support for one-pass and two-pass normalization methods.
- Introduced API endpoints for normalizing all sounds and specific sounds by ID, including support for force normalization and handling of already normalized sounds.
- Created comprehensive test suite for the sound normalizer service and its API endpoints, covering various scenarios including success, errors, and edge cases.
- Refactored sound scanning service to utilize SHA-256 for file hashing instead of MD5 for improved security.
- Enhanced logging and error handling throughout the sound normalization process.
2025-07-28 09:18:18 +02:00
JSC
36949a1f1c feat: add SoundRepository and SoundScannerService for audio file management
- Implemented SoundRepository for database operations related to sounds, including methods for retrieving, creating, updating, and deleting sound records.
- Developed SoundScannerService to scan directories for audio files, calculate their metadata, and synchronize with the database.
- Added support for various audio file formats and integrated ffmpeg for audio duration extraction.
- Created comprehensive tests for sound API endpoints and sound scanner service to ensure functionality and error handling.
- Updated dependencies to include ffmpeg-python for audio processing.
2025-07-27 23:34:17 +02:00
JSC
58030914e6 feat: Update API token handling to use API-TOKEN header and improve related tests 2025-07-27 22:15:23 +02:00
JSC
3dc21337f9 Refactor tests for improved consistency and readability
- Updated test cases in `test_auth_endpoints.py` to ensure consistent formatting and style.
- Enhanced `test_socket_endpoints.py` with consistent parameter formatting and improved readability.
- Cleaned up `conftest.py` by ensuring consistent parameter formatting in fixtures.
- Added comprehensive tests for API token dependencies in `test_api_token_dependencies.py`.
- Refactored `test_auth_service.py` to maintain consistent parameter formatting.
- Cleaned up `test_oauth_service.py` by removing unnecessary imports.
- Improved `test_socket_service.py` with consistent formatting and readability.
- Enhanced `test_cookies.py` by ensuring consistent formatting and readability.
- Introduced new tests for token utilities in `test_token_utils.py` to validate token generation and expiration logic.
2025-07-27 15:11:47 +02:00
JSC
2e87ff9927 Refactor code structure for improved readability and maintainability 2025-07-27 14:24:11 +02:00
JSC
0f605d7ed1 feat: Enhance OAuth2 flow with temporary code exchange and update cookie handling 2025-07-26 18:31:40 +02:00
JSC
98e36b067d feat: Consolidate OAuth2 endpoints into auth module and remove redundant oauth file 2025-07-26 15:15:17 +02:00
JSC
51423779a8 feat: Implement OAuth2 authentication with Google and GitHub
- Added OAuth2 endpoints for Google and GitHub authentication.
- Created OAuth service to handle provider interactions and user info retrieval.
- Implemented user OAuth repository for managing user OAuth links in the database.
- Updated auth service to support linking existing users and creating new users via OAuth.
- Added CORS middleware to allow frontend access.
- Created tests for OAuth endpoints and service functionality.
- Introduced environment configuration for OAuth client IDs and secrets.
- Added logging for OAuth operations and error handling.
2025-07-26 14:38:13 +02:00
JSC
45ba28af52 Refactor auth service to improve refresh token revocation handling and logging 2025-07-25 18:23:19 +02:00
JSC
e456d34897 Add tests for authentication and utilities, and update dependencies
- Created a new test package for services and added tests for AuthService.
- Implemented tests for user registration, login, and token creation.
- Added a new test package for utilities and included tests for password and JWT utilities.
- Updated `uv.lock` to include new dependencies: bcrypt, email-validator, pyjwt, and pytest-asyncio.
2025-07-25 17:48:43 +02:00
JSC
af20bc8724 Add database seeding functionality and enhance model relationships
- Implement initial data seeding for plans in the database.
- Create a new `seed_all_data` function to manage seeding process.
- Update `Sound` and `User` models to include relationships for `SoundPlayed` and `Stream`.
2025-07-25 11:44:47 +02:00
JSC
4a77a23ee5 Fix formatting by adding a newline at the end of the API router initialization file 2025-07-25 11:25:15 +02:00
JSC
c219aaac1a Add API routing for v1 endpoints and health check functionality 2025-07-25 11:24:03 +02:00
JSC
c5c3e8442e Refactor error logging in database functions for consistency and clarity 2025-07-25 11:09:50 +02:00
JSC
d8aaedf851 Refactor LoggingMiddleware constructor to use ASGIApp type hint and remove unused parameters 2025-07-25 10:59:14 +02:00
JSC
b6d1ef2a27 Add logging configuration and middleware for improved request tracking 2025-07-25 10:54:30 +02:00
JSC
2860008a6d Remove unnecessary blank lines in model files for cleaner code structure 2025-07-22 16:18:41 +02:00
JSC
fefb7f7bf4 Refactor code structure for improved readability and maintainability 2025-07-22 13:21:44 +02:00