Closed justJavaProgrammer closed 2 months ago
https://github.com/Project-Sonata/Harmony/issues/21
Track duration in request body is not longer required
https://github.com/Project-Sonata/Harmony/pull/24
Track duration now set after event was received
https://github.com/Project-Sonata/Harmony/issues/25 Made the album uploading request easier
Current architecture is using ChainedAlbumReleaseUploader that is synchronous and does not provide ability to add new requirements dynamically.
Motivation: Increase architecture scalability and speed of application. Also, this enhancement make possible adding new features without replacing or updating existing ones.
Requirements:
Events must be pushed to kafka
A new AlbumReleaseUploader implementation should be written(maybe re-use existing one, it does what needed but also add some events)
Make some columns in database tables nullable(such cover image url, track urls, duration of track, duration of album) because it will be updated when a event will be occurred
Event when album is fully uploaded must not contain nullable elements
Add docs where missing
Replace the AlbumUploadingFullyFinishedEvent with BasicAlbumInfoUploadedEvent. It will run other tasks instead indicating that album was fully uploaded List of possible events(can be updated, order is not matter)
BasicAlbumInfoUploadedEvent - entry point event, always invoked first, indicate that the basic info about album has been saved, basic validation of album has been successfully passed, track(s) info has been saved and files(tracks and cover image) has been successfully uploaded to storage.
BasicAlbumInfoUploadedEvent schema