* feat: updated radarr settings API to support 4k
* feat: refactored the radarr setting page to support the new model
* feat: Added 4k radarr to the settings page
* feat: Added the new Movie 4k Request
* feat: Got some of the backend rules done
* feat: Made a load of progress
* Removed the csproj ref
* feat: fixed the radarr ui
* feat: fixed up all the movie requests page
* feat: Hide the 4K buttons when the user does not have the 4k permission
* fix: fixed the templateref issue
* test: fixed up all the tests
* feat: Added migrations for media sever quality. Emby and Radarr Sync jobs now pull the quality
* feat: Done the media sync jobs
* feat: plex availability checker
* feat: Updated the jellyfin availability checker to check for 4k
* feat: updated emby availbility checker to check for 4k
* feat: almost got it all working now
* feat: Added 4k approve to the request list options
* feat: Added 4k to the requests list and bulk approve
* feat: Added the features service
* feat: added feature update to the frontend
* feat: got the features page working
* feat: Applied the feature service on the backend
* feat: added the feature flag on the UI
* feat: added 4k to the card
* 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>