* Abstract media servers content into interfaces
* Media server entities into abstract classes
* Abstract media server content repository
* First pass at newsletter refactoring
* Minor code clean up
* Attempt at abstracting repositories (WIP)
* Fixed cast issue
* Corrected the other properties
* A step towards newsletter refactoring
* Clean up leftovers
* Fix broken episodes db interaction
* Save absolute URL for Plex content
Let's be consistent with Emby and Jellyfin
* Fix broken integration with Plex libraries
* Fix error when multiple media servers configured
* Fix newsletter being sent if no movies or episodes
* Fix broken tests
* Remove unneccesary logs
* Expose stored media server URL
No need to recalculate it
+ Plex URL was broken due to an earlier change
* Remove unused variable
* Remove obsolete tests
URLs are now fetched from database directly
* Retro-compatibility for Plex content URL
Solves URL for media synced before absolute URL was saved in PlexServerContent
* chore: added some obsoletes
* fix: removed the unsub link when not present
Co-authored-by: tidusjar <tidusjar@gmail.com>