Add support disabling sonarr or radarr
Partially due https://github.com/nylonee/watchlistarr/issues/108, i'm not interested of allowing fulfilling sonarr requests at this time. but doesn't seem to be possible to disable sonarr integration, it can result just app startup failure if I fill bogus URL there: https://github.com/nylonee/watchlistarr/issues/120
perhaps: enabled: true option to config?
Yes this hasn't been added yet, I've been thinking about this, implementing this config would be the first step in a few other features as well:
- Allowing multiple Sonarr/Radarr instances (no idea why somebody would want this though)
- Allowing other 'extensions' e.g. Syncing Plex watchlist status to Trakt and not needing the Sonarr/Radarr integration
It's not as simple as adding a config to disable the feature, because right now Configuration expects configuration for Sonarr/Radarr, and will fail if it's not provided.
The best way to implement this would be to set:
sonarrConfiguration: SonarrConfiguration,
radarrConfiguration: RadarrConfiguration,
to:
sonarrConfiguration: Option[SonarrConfiguration],
radarrConfiguration: Option[RadarrConfiguration],
This will fail the compiler (in Scala this is what we want). Going one by one through all the compiler errors will ensure that we've correctly implemented this due to the strong type safety.
I was going to open a separate issue (and still can if desired), but I think it makes sense to bring up here:
I'm one of the people that would love to be able to push requests to multiple instances of radarr/sonarr. I have separate HD/4K/DV instances for each *arr. Right now, I'm:
- Syncing Plex watchlists to overseerr with auto-request/auto-approve
- Overseerr pushes the request to the HD instance
- The 4K/DV instances use list syncs to grab the requests from the HD instance every 5/15 minutes (time not configurable).
If watchlistarr could push to multiple instances, it would basically eliminate all the unnecessary lead time in my set up.
I decided to post on this issue because I think refactoring the config to use a list of radar/sonarr instances would solve both problems since you could just leave either list empty to disable it.