Commit Graph

57 Commits

Author SHA1 Message Date
JSC
16eb789539 feat: Add method to get extractions by status and implement user info retrieval in extraction service
Some checks failed
Backend CI / lint (push) Failing after 4m53s
Backend CI / test (push) Failing after 4m31s
2025-08-24 13:24:48 +02:00
JSC
9653062003 refactor: Move imports to avoid circular dependencies in socket and VLCPlayerService
Some checks failed
Backend CI / lint (push) Successful in 9m24s
Backend CI / test (push) Failing after 3m55s
2025-08-19 22:32:19 +02:00
JSC
b808cfaddf feat: Enhance WebSocket sound playback with credit validation and refactor related methods
Some checks failed
Backend CI / lint (push) Has been cancelled
Backend CI / test (push) Has been cancelled
2025-08-19 22:28:54 +02:00
JSC
a82acfae50 feat: Implement sound playback with credit validation in VLCPlayerService and update WebSocket handling
Some checks failed
Backend CI / lint (push) Failing after 5m0s
Backend CI / test (push) Failing after 2m0s
2025-08-19 22:16:48 +02:00
JSC
560ccd3f7e refactor: Improve code readability by formatting query parameters in user endpoints and enhancing error handling in sound playback 2025-08-19 22:09:50 +02:00
JSC
6b55ff0e81 Refactor user endpoint tests to include pagination and response structure validation
- Updated tests for listing users to validate pagination and response format.
- Changed mock return values to include total count and pagination details.
- Refactored user creation mocks for clarity and consistency.
- Enhanced assertions to check for presence of pagination fields in responses.
- Adjusted test cases for user retrieval and updates to ensure proper handling of user data.
- Improved readability by restructuring mock definitions and assertions across various test files.
2025-08-17 12:36:52 +02:00
JSC
99c757a073 feat: Implement pagination for extractions and playlists with total count in responses 2025-08-17 11:21:55 +02:00
JSC
f598ec2c12 fix: Extract user name in session context for improved performance 2025-08-17 01:49:47 +02:00
JSC
66d22df7dd feat: Add filtering, searching, and sorting to extraction retrieval endpoints 2025-08-17 01:44:43 +02:00
JSC
3326e406f8 feat: Add filtering, searching, and sorting to user extractions retrieval 2025-08-17 01:27:41 +02:00
JSC
fe15e7a6af fix: Correct log message for sound favorited event broadcasting 2025-08-17 01:08:33 +02:00
JSC
f56cc8b4cc feat: Enhance sound favorite management; add WebSocket event broadcasting for favoriting and unfavoriting sounds 2025-08-16 22:19:24 +02:00
JSC
f906b6d643 feat: Enhance favorites functionality; add favorites filtering to playlists and sounds, and improve favorite indicators in responses 2025-08-16 21:41:50 +02:00
JSC
a947fd830b feat: Implement favorites management API; add endpoints for adding, removing, and retrieving favorites for sounds and playlists
feat: Create Favorite model and repository for managing user favorites in the database
feat: Add FavoriteService to handle business logic for favorites management
feat: Enhance Playlist and Sound response schemas to include favorite indicators and counts
refactor: Update API routes to include favorites functionality in playlists and sounds
2025-08-16 21:16:02 +02:00
JSC
5e6cc04ad2 fix: Increase broadcast interval to 1 second while playing
All checks were successful
Backend CI / lint (push) Successful in 9m23s
Backend CI / test (push) Successful in 3m47s
2025-08-16 12:24:41 +02:00
JSC
a109a88eed feat: Implement main playlist restrictions; add internal method for sound addition and update tests
Some checks failed
Backend CI / test (push) Has been cancelled
Backend CI / lint (push) Has been cancelled
2025-08-16 00:51:38 +02:00
JSC
bee1076239 refactor: Improve exception handling and logging in authentication and playlist services; enhance code readability and structure
All checks were successful
Backend CI / lint (push) Successful in 9m21s
Backend CI / test (push) Successful in 4m18s
2025-08-13 00:04:55 +02:00
JSC
f094fbf140 fix: Add missing commas in function calls and improve code formatting
Some checks failed
Backend CI / lint (push) Failing after 4m51s
Backend CI / test (push) Successful in 4m19s
2025-08-12 23:37:38 +02:00
JSC
c69a45c9b4 feat: Add endpoint and service method to retrieve top sounds by play count with filtering options
Some checks failed
Backend CI / lint (push) Failing after 4m54s
Backend CI / test (push) Failing after 4m24s
2025-08-11 22:04:42 +02:00
JSC
53b6c4bca5 feat: Enhance sound addition and removal in playlists with position handling and reordering
Some checks failed
Backend CI / lint (push) Failing after 4m55s
Backend CI / test (push) Failing after 3m44s
2025-08-11 20:55:31 +02:00
JSC
49ad6c8581 feat: Add dashboard API endpoints and service for sound statistics
Some checks failed
Backend CI / lint (push) Failing after 4m52s
Backend CI / test (push) Failing after 3m42s
2025-08-11 11:16:45 +02:00
JSC
d1bf2fe0a4 feat: Add scheduler for daily user credits recharge 2025-08-11 00:30:29 +02:00
JSC
bdeb00d562 feat: Increase default volume level to 80 and adjust volume handling in player service 2025-08-10 21:55:12 +02:00
JSC
357fbcecac feat: Implement search and sorting functionality for playlists in API and repository
Some checks failed
Backend CI / lint (push) Failing after 4m54s
Backend CI / test (push) Failing after 4m25s
2025-08-10 19:30:14 +02:00
JSC
8544a3ce22 feat: Add mute and unmute functionality to player service and API
Some checks failed
Backend CI / lint (push) Failing after 4m52s
Backend CI / test (push) Failing after 3m44s
2025-08-10 15:11:28 +02:00
JSC
0a8b50a0be feat: Add user profile management and password change endpoints
Some checks failed
Backend CI / lint (push) Failing after 4m51s
Backend CI / test (push) Successful in 3m38s
2025-08-09 23:43:20 +02:00
JSC
734521c5c3 feat: Add environment configuration files and update settings for production and development
Some checks failed
Backend CI / lint (push) Failing after 5m0s
Backend CI / test (push) Successful in 3m39s
2025-08-09 14:43:20 +02:00
JSC
b4f0f54516 Refactor sound and extraction services to include user and timestamp fields
All checks were successful
Backend CI / lint (push) Successful in 18m8s
Backend CI / test (push) Successful in 53m35s
- Updated ExtractionInfo to include user_id, created_at, and updated_at fields.
- Modified ExtractionService to return user and timestamp information in extraction responses.
- Enhanced sound serialization in PlayerState to include extraction URL if available.
- Adjusted PlaylistRepository to load sound extractions when retrieving playlist sounds.
- Added tests for new fields in extraction and sound endpoints, ensuring proper response structure.
- Created new test file endpoints for sound downloads and thumbnail retrievals, including success and error cases.
- Refactored various test cases for consistency and clarity, ensuring proper mocking and assertions.
2025-08-03 20:54:14 +02:00
JSC
77446cb5a8 feat: Include admin user name in SoundPlayed records for enhanced tracking
Some checks failed
Backend CI / lint (push) Successful in 16m41s
Backend CI / test (push) Failing after 47m14s
2025-08-02 18:22:38 +02:00
JSC
6068599a47 Refactor test cases for improved readability and consistency
All checks were successful
Backend CI / lint (push) Successful in 9m49s
Backend CI / test (push) Successful in 6m15s
- Adjusted function signatures in various test files to enhance clarity by aligning parameters.
- Updated patching syntax for better readability across test cases.
- Improved formatting and spacing in test assertions and mock setups.
- Ensured consistent use of async/await patterns in async test functions.
- Enhanced comments for better understanding of test intentions.
2025-08-01 20:53:30 +02:00
JSC
d926779fe4 feat: Implement playlist reordering with position swapping and reload player on current playlist changes
Some checks failed
Backend CI / lint (push) Failing after 5m7s
Backend CI / test (push) Successful in 5m14s
2025-08-01 17:49:29 +02:00
JSC
0575d12b0e refactor: Rename global current playlist methods for clarity and consistency 2025-08-01 17:12:56 +02:00
JSC
c0f51b2e23 refactor: Update playlist service and endpoints for global current playlist management 2025-08-01 16:58:25 +02:00
JSC
5fdc7aae85 fix: Lint fixes of last errors in app 2025-08-01 02:08:36 +02:00
JSC
69cdc7567d Refactor player service to diminish play complexity
All checks were successful
Backend CI / test (push) Successful in 4m53s
2025-08-01 01:34:22 +02:00
JSC
a10111793c fix: Lint fixes of services
All checks were successful
Backend CI / test (push) Successful in 3m59s
2025-08-01 01:27:47 +02:00
JSC
8847131f24 Refactor test files for improved readability and consistency
- Removed unnecessary blank lines and adjusted formatting in test files.
- Ensured consistent use of commas in function calls and assertions across various test cases.
- Updated import statements for better organization and clarity.
- Enhanced mock setups in tests for better isolation and reliability.
- Improved assertions to follow a consistent style for better readability.
2025-07-31 21:37:04 +02:00
JSC
e69098d633 refactor: Update player seek functionality to use consistent position field across schemas and services
All checks were successful
Backend CI / test (push) Successful in 4m5s
2025-07-31 21:33:00 +02:00
JSC
c63997f591 refactor: Update PlayerState to improve serialization structure for current sound and playlist
Some checks failed
Backend CI / test (push) Failing after 4m2s
2025-07-31 21:01:40 +02:00
JSC
4e3c489f31 feat: Refactor playlist handling in PlayerService and add comprehensive tests 2025-07-30 22:10:23 +02:00
JSC
e43650c26c Add tests for sound repository, user OAuth repository, credit service, and credit decorators
- Implement comprehensive tests for SoundRepository covering CRUD operations and search functionalities.
- Create tests for UserOauthRepository to validate OAuth record management.
- Develop tests for CreditService to ensure proper credit management, including validation, deduction, and addition of credits.
- Add tests for credit-related decorators to verify correct behavior in credit management scenarios.
2025-07-30 21:33:55 +02:00
JSC
dd10ef5d41 feat: Add VLC player API endpoints and associated tests
- Implemented VLC player API endpoints for playing and stopping sounds.
- Added tests for successful playback, error handling, and authentication scenarios.
- Created utility function to get sound file paths based on sound properties.
- Refactored player service to utilize shared sound path utility.
- Enhanced test coverage for sound file path utility with various sound types.
- Introduced tests for VLC player service, including subprocess handling and play count tracking.
2025-07-30 20:46:49 +02:00
JSC
1b0d291ad3 Add comprehensive tests for player API endpoints and player service functionality
- Implemented tests for player API endpoints including play, pause, stop, next, previous, seek, set volume, set mode, reload playlist, and get state.
- Added mock player service for testing API interactions.
- Created tests for player service methods including play, pause, stop playback, next, previous, seek, set volume, set mode, and reload playlist.
- Ensured proper handling of success, error, and edge cases in both API and service tests.
- Verified state management and serialization in player state tests.
2025-07-30 01:22:24 +02:00
JSC
5ed19c8f0f Add comprehensive tests for playlist service and refactor socket service tests
- Introduced a new test suite for the PlaylistService covering various functionalities including creation, retrieval, updating, and deletion of playlists.
- Added tests for handling sounds within playlists, ensuring correct behavior when adding/removing sounds and managing current playlists.
- Refactored socket service tests for improved readability by adjusting function signatures.
- Cleaned up unnecessary whitespace in sound normalizer and sound scanner tests for consistency.
- Enhanced audio utility tests to ensure accurate hash and size calculations, including edge cases for nonexistent files.
- Removed redundant blank lines in cookie utility tests for cleaner code.
2025-07-29 19:25:46 +02:00
JSC
e3fcab99ae feat: Update Extraction model and service to support deferred service detection 2025-07-29 10:50:50 +02:00
JSC
9b5f83eef0 feat: Implement background extraction processor with concurrency control
- Added `ExtractionProcessor` class to handle extraction queue processing in the background.
- Implemented methods for starting, stopping, and queuing extractions with concurrency limits.
- Integrated logging for monitoring the processor's status and actions.
- Created tests for the extraction processor to ensure functionality and error handling.

test: Add unit tests for extraction API endpoints

- Created tests for successful extraction creation, authentication checks, and processor status retrieval.
- Ensured proper responses for authenticated and unauthenticated requests.

test: Implement unit tests for extraction repository

- Added tests for creating, retrieving, and updating extractions in the repository.
- Mocked database interactions to validate repository behavior without actual database access.

test: Add comprehensive tests for extraction service

- Developed tests for extraction creation, service detection, and sound record creation.
- Included tests for handling duplicate extractions and invalid URLs.

test: Add unit tests for extraction background processor

- Created tests for the `ExtractionProcessor` class to validate its behavior under various conditions.
- Ensured proper handling of extraction queuing, processing, and completion callbacks.

fix: Update OAuth service tests to use AsyncMock

- Modified OAuth provider tests to use `AsyncMock` for mocking asynchronous HTTP requests.
2025-07-29 01:06:29 +02:00
JSC
a17cb7c5bc feat: Refactor audio utility functions and update sound services to use shared methods 2025-07-28 16:55:13 +02:00
JSC
71da295827 feat: Enhance audio normalization service to handle invalid analysis values and improve fallback logic 2025-07-28 09:48:35 +02:00
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