jorenn92 / Maintainerr

Looks and smells like Overseerr, does the opposite. Maintenance tool for the Plex ecosystem
https://maintainerr.info
MIT License
759 stars 13 forks source link

Support for Plex Watchlists #1061

Closed eyeruleall closed 4 months ago

eyeruleall commented 4 months ago

Is your feature request related to a problem? Please describe.

For my ideal use case, I need a way to determine if a piece of media is present in a user's plex watchlist.

Describe the solution you'd like

Add "In a Plex Watchlist" boolean and "Plex [list] in Watchlist" values listing usernames.

Additional context

My use case heavily utilizes the Plex Watchlist feature.

If an item is on a "leaving soon" collection created by maintainerr, I would like for users to be able to remove items from that collection on maintainerr's next scan by adding it to their watchlist.

Overseer can create requests when a user adds media to a watchlist, but it does not create requests if the media exists in the library, so a "Requested in Overseer" boolean check does not work.

A boolean checking if something is on a user's watchlist would help overcome this problem. A list of usernames who has this in this watchlist could also be helpful.

eyeruleall commented 4 months ago

To be more specific, the boolean should answer "Has the server owner or any of their friends added this to their watchlist?"

The [list] value should list the users who have added this to their watchlist.

jorenn92 commented 4 months ago

Hey, so in the past, there was a limitation with the watchlist API. It only allowed access to the watchlist of the currently logged-in user, typically your admin user. Watchlists aren't directly tied to your server; you can only access them by querying the public Plex API with a key specific to your user.

However, there's been an improvement recently. Now, there's an option to make watchlists public. I haven't explored this yet, but there's a feature request to investigate whether we can utilize public watchlists now. Please bump that task if you're interested.

I'll close this now, since i don't want feature request clutter the issue page.

https://github.com/jorenn92/Maintainerr/discussions/873

Zipties commented 2 months ago

Hey, so in the past, there was a limitation with the watchlist API. It only allowed access to the watchlist of the currently logged-in user, typically your admin user. Watchlists aren't directly tied to your server; you can only access them by querying the public Plex API with a key specific to your user.

However, there's been an improvement recently. Now, there's an option to make watchlists public. I haven't explored this yet, but there's a feature request to investigate whether we can utilize public watchlists now. Please bump that task if you're interested.

I'll close this now, since i don't want feature request clutter the issue page.

873

Interesting, so is the reason I can view my users watchlists in overseerarr because the users directly authenticate with it? And if so, can they be synced from there instead of from plex?

jorenn92 commented 2 months ago

Hey, so in the past, there was a limitation with the watchlist API. It only allowed access to the watchlist of the currently logged-in user, typically your admin user. Watchlists aren't directly tied to your server; you can only access them by querying the public Plex API with a key specific to your user. However, there's been an improvement recently. Now, there's an option to make watchlists public. I haven't explored this yet, but there's a feature request to investigate whether we can utilize public watchlists now. Please bump that task if you're interested. I'll close this now, since i don't want feature request clutter the issue page.

873

Interesting, so is the reason I can view my users watchlists in overseerarr because the users directly authenticate with it? And if so, can they be synced from there instead of from plex?

Yes, that's the reason. Users log in with their individual accounts and thus have access to those resources. Hmm, good suggestion! Overseerr does appear to have an endpoint for this: https://api-docs.overseerr.dev/#/users/get_user__userId__watchlist.

eyeruleall commented 2 months ago

FYI, there is a way to do this without touching overseerr.

https://github.com/nylonee/watchlistarr/blob/main/src/main/scala/plex/PlexUtils.scala

It is possible to get the server owner, all of their friends, and all of their watchlist items, with just the server owner's token.

jorenn92 commented 2 months ago

FYI, there is a way to do this without touching overseerr.

https://github.com/nylonee/watchlistarr/blob/main/src/main/scala/plex/PlexUtils.scala

It is possible to get the server owner, all of their friends, and all of their watchlist items, with just the server owner's token.

Thanks for this! That sounds like the best approach available. Do you know if users have to set their watchlists as public before the server owner is eligible to see it? Or is it always public. I seem to remember this option wasn't there when i first looked into it.

Btw, let's move this discussion to https://github.com/jorenn92/Maintainerr/discussions/873. That task is still open.