diff --git a/.speakeasy/gen.lock b/.speakeasy/gen.lock index a7ce784f..32492a89 100755 --- a/.speakeasy/gen.lock +++ b/.speakeasy/gen.lock @@ -1,12 +1,12 @@ lockVersion: 2.0.0 id: 1732900d-e173-47c1-a90d-d45182eb35d9 management: - docChecksum: 9f62ea35c6168986c8e3557d5df50b99 + docChecksum: f387ae03f10decba230886eaab322b20 docVersion: 0.0.3 speakeasyVersion: 1.404.5 generationVersion: 2.426.2 - releaseVersion: 0.6.1 - configChecksum: e9f20ce216bd3a2498c0708299b08208 + releaseVersion: 0.6.2 + configChecksum: 046f14829c0f092a936a69c12a4534a8 repoURL: https://github.com/LukeHagar/plexjava.git published: true features: @@ -2034,6 +2034,7 @@ examples: includeHttps: 1 includeRelay: 1 includeIPv6: 1 + X-Plex-Client-Identifier: "gcgzw5rz2xovp84b4vha3a40" responses: "401": application/json: {"errors": []} diff --git a/.speakeasy/gen.yaml b/.speakeasy/gen.yaml index 6ccfec5b..ecbb56c3 100644 --- a/.speakeasy/gen.yaml +++ b/.speakeasy/gen.yaml @@ -12,7 +12,7 @@ generation: auth: oAuth2ClientCredentialsEnabled: true java: - version: 0.6.1 + version: 0.6.2 additionalDependencies: [] additionalPlugins: [] artifactID: plexapi diff --git a/.speakeasy/workflow.lock b/.speakeasy/workflow.lock index cc661251..16487616 100644 --- a/.speakeasy/workflow.lock +++ b/.speakeasy/workflow.lock @@ -8,8 +8,8 @@ sources: - latest plexapi: sourceNamespace: plexapi - sourceRevisionDigest: sha256:ed1af8e79d553cc0bf2f8f7975f445d80cb8bd58390bca18d1352577da5ec5ed - sourceBlobDigest: sha256:157db2a169209c18fdca786b671c5da8d2b14dc3005574d08c9d667320869093 + sourceRevisionDigest: sha256:a9bd67eaa35b8311162ae769209f725cc5da16e57976b4928c54594c02cd451c + sourceBlobDigest: sha256:43ddffba137c37d2f64f8db185179a273bcc5ca7242594c932da99d1eb7f3e98 tags: - latest - main @@ -17,10 +17,10 @@ targets: plexjava: source: plexapi sourceNamespace: plexapi - sourceRevisionDigest: sha256:ed1af8e79d553cc0bf2f8f7975f445d80cb8bd58390bca18d1352577da5ec5ed - sourceBlobDigest: sha256:157db2a169209c18fdca786b671c5da8d2b14dc3005574d08c9d667320869093 + sourceRevisionDigest: sha256:a9bd67eaa35b8311162ae769209f725cc5da16e57976b4928c54594c02cd451c + sourceBlobDigest: sha256:43ddffba137c37d2f64f8db185179a273bcc5ca7242594c932da99d1eb7f3e98 codeSamplesNamespace: code-samples-java-plexjava - codeSamplesRevisionDigest: sha256:e01f78cd36aeb5eb46235c59f38fe7c81fa8b7b0b56fb76cf9c56af914f8e3a5 + codeSamplesRevisionDigest: sha256:40bad00663958b34b9255a105a42474263029fd25e58660da79a50057fc50f7a workflow: workflowVersion: 1.0.0 speakeasyVersion: latest diff --git a/README.md b/README.md index c09e86ff..dc3fb7a4 100644 --- a/README.md +++ b/README.md @@ -62,7 +62,7 @@ The samples below show how a published SDK artifact is used: Gradle: ```groovy -implementation 'dev.plexapi:plexapi:0.6.1' +implementation 'dev.plexapi:plexapi:0.6.2' ``` Maven: @@ -70,7 +70,7 @@ Maven: dev.plexapi plexapi - 0.6.1 + 0.6.2 ``` @@ -265,7 +265,7 @@ public class Application { Certain parameters are configured globally. These parameters may be set on the SDK client instance itself during initialization. When configured as an option during SDK initialization, These global values will be used as defaults on the operations that use them. When such operations are called, there is a place in each to override the global value, if needed. -For example, you can set `ClientID` to `"gcgzw5rz2xovp84b4vha3a40"` at SDK initialization and then you do not have to pass the same value on calls to operations like `getPin`. But if you want to do so you may, which will locally override the global setting. See the example code below for a demonstration. +For example, you can set `ClientID` to `"gcgzw5rz2xovp84b4vha3a40"` at SDK initialization and then you do not have to pass the same value on calls to operations like `getServerResources`. But if you want to do so you may, which will locally override the global setting. See the example code below for a demonstration. ### Available Globals @@ -290,16 +290,20 @@ This is used to track the client application and its usage package hello.world; import dev.plexapi.sdk.PlexAPI; -import dev.plexapi.sdk.models.errors.GetPinBadRequest; -import dev.plexapi.sdk.models.operations.GetPinRequest; -import dev.plexapi.sdk.models.operations.GetPinResponse; +import dev.plexapi.sdk.models.errors.GetServerResourcesBadRequest; +import dev.plexapi.sdk.models.errors.GetServerResourcesUnauthorized; +import dev.plexapi.sdk.models.operations.GetServerResourcesResponse; +import dev.plexapi.sdk.models.operations.IncludeHttps; +import dev.plexapi.sdk.models.operations.IncludeIPv6; +import dev.plexapi.sdk.models.operations.IncludeRelay; import java.lang.Exception; public class Application { - public static void main(String[] args) throws GetPinBadRequest, Exception { + public static void main(String[] args) throws GetServerResourcesBadRequest, GetServerResourcesUnauthorized, Exception { PlexAPI sdk = PlexAPI.builder() + .accessToken("") .clientID("gcgzw5rz2xovp84b4vha3a40") .clientName("Plex Web") .clientVersion("4.133.0") @@ -307,14 +311,14 @@ public class Application { .deviceName("Linux") .build(); - GetPinRequest req = GetPinRequest.builder() - .build(); - - GetPinResponse res = sdk.plex().getPin() - .request(req) + GetServerResourcesResponse res = sdk.plex().getServerResources() + .includeHttps(IncludeHttps.Enable) + .includeRelay(IncludeRelay.Enable) + .includeIPv6(IncludeIPv6.Enable) + .clientID("gcgzw5rz2xovp84b4vha3a40") .call(); - if (res.authPinContainer().isPresent()) { + if (res.plexDevices().isPresent()) { // handle response } } diff --git a/RELEASES.md b/RELEASES.md index cddca496..3ad534a8 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -118,4 +118,14 @@ Based on: ### Generated - [java v0.6.1] . ### Releases -- [Maven Central v0.6.1] https://central.sonatype.com/artifact/dev.plexapi/plexapi/0.6.1 - . \ No newline at end of file +- [Maven Central v0.6.1] https://central.sonatype.com/artifact/dev.plexapi/plexapi/0.6.1 - . + +## 2024-09-30 00:26:54 +### Changes +Based on: +- OpenAPI Doc +- Speakeasy CLI 1.404.5 (2.426.2) https://github.com/speakeasy-api/speakeasy +### Generated +- [java v0.6.2] . +### Releases +- [Maven Central v0.6.2] https://central.sonatype.com/artifact/dev.plexapi/plexapi/0.6.2 - . \ No newline at end of file diff --git a/build.gradle b/build.gradle index eeebaf48..3913a8ca 100644 --- a/build.gradle +++ b/build.gradle @@ -63,7 +63,7 @@ tasks.withType(Javadoc) { } group = "dev.plexapi" -version = "0.6.1" +version = "0.6.2" sourcesJar { archiveBaseName = "plexapi" @@ -101,7 +101,7 @@ publishing { maven(MavenPublication) { groupId = 'dev.plexapi' artifactId = 'plexapi' - version = '0.6.1' + version = '0.6.2' from components.java diff --git a/codeSamples.yaml b/codeSamples.yaml index 5b1b2bb0..19bedf23 100644 --- a/codeSamples.yaml +++ b/codeSamples.yaml @@ -2191,6 +2191,7 @@ actions: .includeHttps(IncludeHttps.Enable) .includeRelay(IncludeRelay.Enable) .includeIPv6(IncludeIPv6.Enable) + .clientID("gcgzw5rz2xovp84b4vha3a40") .call(); if (res.plexDevices().isPresent()) { diff --git a/docs/models/operations/Features.md b/docs/models/operations/Features.md index 58f02625..afac6c0d 100644 --- a/docs/models/operations/Features.md +++ b/docs/models/operations/Features.md @@ -12,28 +12,43 @@ | `TREBLE_SHOW_FEATURES` | TREBLE-show-features | | `AD_COUNTDOWN_TIMER` | ad-countdown-timer | | `ADAPTIVE_BITRATE` | adaptive_bitrate | +| `ALBUM_TYPES` | album-types | +| `ALLOW_DVR` | allow_dvr | | `AMAZON_LOOP_DEBUG` | amazon-loop-debug | | `AVOD_AD_ANALYSIS` | avod-ad-analysis | | `AVOD_NEW_MEDIA` | avod-new-media | | `BLACKLIST_GET_SIGNIN` | blacklist_get_signin | +| `BOOST_VOICES` | boost-voices | +| `CAMERA_UPLOAD` | camera_upload | | `CLIENT_RADIO_STATIONS` | client-radio-stations | | `CLOUDFLARE_TURNSTILE_REQUIRED` | cloudflare-turnstile-required | +| `CLOUDSYNC` | cloudsync | | `COLLECTIONS` | collections | | `COMMENTS_AND_REPLIES_PUSH_NOTIFICATIONS` | comments_and_replies_push_notifications | | `COMMUNITY_ACCESS_PLEX_TV` | community_access_plex_tv | | `COMPANIONS_SONOS` | companions_sonos | +| `CONTENT_FILTER` | content_filter | | `CUSTOM_HOME_REMOVAL` | custom-home-removal | | `DISABLE_HOME_USER_FRIENDSHIPS` | disable_home_user_friendships | | `DISABLE_SHARING_FRIENDSHIPS` | disable_sharing_friendships | +| `DOWNLOADS_GATING` | downloads-gating | | `DRM_SUPPORT` | drm_support | +| `DVR` | dvr | +| `DVR_BLOCK_UNSUPPORTED_COUNTRIES` | dvr-block-unsupported-countries | +| `EPG_RECENT_CHANNELS` | epg-recent-channels | | `EXCLUDE_RESTRICTIONS` | exclude restrictions | | `FEDERATED_AUTH` | federated-auth | | `FRIEND_REQUEST_PUSH_NOTIFICATIONS` | friend_request_push_notifications | +| `GRANDFATHER_SYNC` | grandfather-sync | | `GUIDED_UPGRADE` | guided-upgrade | +| `HARDWARE_TRANSCODING` | hardware_transcoding | | `HOME` | home | +| `HWTRANSCODE` | hwtranscode | +| `IMAGGA_V2` | imagga-v2 | | `INCREASE_PASSWORD_COMPLEXITY` | increase-password-complexity | | `IOS14_PRIVACY_BANNER` | ios14-privacy-banner | | `ITERABLE_NOTIFICATION_TOKENS` | iterable-notification-tokens | +| `ITEM_CLUSTERS` | item_clusters | | `KEEP_PAYMENT_METHOD` | keep-payment-method | | `KEVIN_BACON` | kevin-bacon | | `KOREA_CONSENT` | korea-consent | @@ -42,25 +57,46 @@ | `LIGHTNING_DVR_PIVOT` | lightning-dvr-pivot | | `LIVE_TV_SUPPORT_INCOMPLETE_SEGMENTS` | live-tv-support-incomplete-segments | | `LIVETV` | livetv | +| `LYRICS` | lyrics | | `METADATA_SEARCH` | metadata_search | +| `MUSIC_ANALYSIS` | music-analysis | +| `MUSIC_VIDEOS` | music_videos | | `NEW_PLEX_PASS_PRICES` | new_plex_pass_prices | | `NEWS_PROVIDER_SUNSET_MODAL` | news-provider-sunset-modal | +| `NOMINATIM` | nominatim | +| `PASS` | pass | | `PHOTOS_FAVORITES` | photos-favorites | | `PHOTOS_METADATA_EDITION` | photos-metadata-edition | +| `PHOTOS_V6_EDIT` | photosV6-edit | +| `PHOTOS_V6_TV_ALBUMS` | photosV6-tv-albums | | `PMS_HEALTH` | pms_health | +| `PREMIUM_DASHBOARD` | premium-dashboard | +| `PREMIUM_MUSIC_METADATA` | premium_music_metadata | | `RADIO` | radio | | `RATE_LIMIT_CLIENT_TOKEN` | rate-limit-client-token | | `SCROBBLING_SERVICE_PLEX_TV` | scrobbling-service-plex-tv | +| `SESSION_BANDWIDTH_RESTRICTIONS` | session_bandwidth_restrictions | +| `SESSION_KICK` | session_kick | | `SHARED_SERVER_NOTIFICATION` | shared_server_notification | | `SHARED_SOURCE_NOTIFICATION` | shared_source_notification | +| `SIGNIN_NOTIFICATION` | signin_notification | | `SIGNIN_WITH_APPLE` | signin_with_apple | +| `SILENCE_REMOVAL` | silence-removal | +| `SLEEP_TIMER` | sleep-timer | | `SPRING_SERVE_AD_PROVIDER` | spring_serve_ad_provider | +| `SYNC` | sync | +| `SWEET_FADES` | sweet-fades | | `TRANSCODER_CACHE` | transcoder_cache | +| `TRAILERS` | trailers | | `TUNER_SHARING` | tuner-sharing | | `TWO_FACTOR_AUTHENTICATION` | two-factor-authentication | | `UNSUPPORTEDTUNERS` | unsupportedtuners | | `UPGRADE3DS2` | upgrade-3ds2 | +| `VISUALIZERS` | visualizers | | `VOD_SCHEMA` | vod-schema | | `VOD_CLOUDFLARE` | vod_cloudflare | +| `VOLUME_LEVELING` | volume-leveling | | `WATCH_TOGETHER_INVITE` | watch-together-invite | -| `WEB_SERVER_DASHBOARD` | web_server_dashboard | \ No newline at end of file +| `WATCHLIST_RSS` | watchlist-rss | +| `WEB_SERVER_DASHBOARD` | web_server_dashboard | +| `WEBHOOKS` | webhooks | \ No newline at end of file diff --git a/docs/models/operations/GetServerResourcesRequest.md b/docs/models/operations/GetServerResourcesRequest.md index a42b1421..2b4cacd6 100644 --- a/docs/models/operations/GetServerResourcesRequest.md +++ b/docs/models/operations/GetServerResourcesRequest.md @@ -3,8 +3,9 @@ ## Fields -| Field | Type | Required | Description | Example | -| ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | -| `includeHttps` | [Optional](../../models/operations/IncludeHttps.md) | :heavy_minus_sign: | Include Https entries in the results | 1 | -| `includeRelay` | [Optional](../../models/operations/IncludeRelay.md) | :heavy_minus_sign: | Include Relay addresses in the results
E.g: https://10-0-0-25.bbf8e10c7fa20447cacee74cd9914cde.plex.direct:32400
| 1 | -| `includeIPv6` | [Optional](../../models/operations/IncludeIPv6.md) | :heavy_minus_sign: | Include IPv6 entries in the results | 1 | \ No newline at end of file +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `includeHttps` | [Optional](../../models/operations/IncludeHttps.md) | :heavy_minus_sign: | Include Https entries in the results | 1 | +| `includeRelay` | [Optional](../../models/operations/IncludeRelay.md) | :heavy_minus_sign: | Include Relay addresses in the results
E.g: https://10-0-0-25.bbf8e10c7fa20447cacee74cd9914cde.plex.direct:32400
| 1 | +| `includeIPv6` | [Optional](../../models/operations/IncludeIPv6.md) | :heavy_minus_sign: | Include IPv6 entries in the results | 1 | +| `clientID` | *Optional* | :heavy_minus_sign: | The unique identifier for the client application
This is used to track the client application and its usage
(UUID, serial number, or other number unique per device)
| gcgzw5rz2xovp84b4vha3a40 | \ No newline at end of file diff --git a/docs/models/operations/GetTokenDetailsFeatures.md b/docs/models/operations/GetTokenDetailsFeatures.md index 2cfca590..2cea75c0 100644 --- a/docs/models/operations/GetTokenDetailsFeatures.md +++ b/docs/models/operations/GetTokenDetailsFeatures.md @@ -12,28 +12,43 @@ | `TREBLE_SHOW_FEATURES` | TREBLE-show-features | | `AD_COUNTDOWN_TIMER` | ad-countdown-timer | | `ADAPTIVE_BITRATE` | adaptive_bitrate | +| `ALBUM_TYPES` | album-types | +| `ALLOW_DVR` | allow_dvr | | `AMAZON_LOOP_DEBUG` | amazon-loop-debug | | `AVOD_AD_ANALYSIS` | avod-ad-analysis | | `AVOD_NEW_MEDIA` | avod-new-media | | `BLACKLIST_GET_SIGNIN` | blacklist_get_signin | +| `BOOST_VOICES` | boost-voices | +| `CAMERA_UPLOAD` | camera_upload | | `CLIENT_RADIO_STATIONS` | client-radio-stations | | `CLOUDFLARE_TURNSTILE_REQUIRED` | cloudflare-turnstile-required | +| `CLOUDSYNC` | cloudsync | | `COLLECTIONS` | collections | | `COMMENTS_AND_REPLIES_PUSH_NOTIFICATIONS` | comments_and_replies_push_notifications | | `COMMUNITY_ACCESS_PLEX_TV` | community_access_plex_tv | | `COMPANIONS_SONOS` | companions_sonos | +| `CONTENT_FILTER` | content_filter | | `CUSTOM_HOME_REMOVAL` | custom-home-removal | | `DISABLE_HOME_USER_FRIENDSHIPS` | disable_home_user_friendships | | `DISABLE_SHARING_FRIENDSHIPS` | disable_sharing_friendships | +| `DOWNLOADS_GATING` | downloads-gating | | `DRM_SUPPORT` | drm_support | +| `DVR` | dvr | +| `DVR_BLOCK_UNSUPPORTED_COUNTRIES` | dvr-block-unsupported-countries | +| `EPG_RECENT_CHANNELS` | epg-recent-channels | | `EXCLUDE_RESTRICTIONS` | exclude restrictions | | `FEDERATED_AUTH` | federated-auth | | `FRIEND_REQUEST_PUSH_NOTIFICATIONS` | friend_request_push_notifications | +| `GRANDFATHER_SYNC` | grandfather-sync | | `GUIDED_UPGRADE` | guided-upgrade | +| `HARDWARE_TRANSCODING` | hardware_transcoding | | `HOME` | home | +| `HWTRANSCODE` | hwtranscode | +| `IMAGGA_V2` | imagga-v2 | | `INCREASE_PASSWORD_COMPLEXITY` | increase-password-complexity | | `IOS14_PRIVACY_BANNER` | ios14-privacy-banner | | `ITERABLE_NOTIFICATION_TOKENS` | iterable-notification-tokens | +| `ITEM_CLUSTERS` | item_clusters | | `KEEP_PAYMENT_METHOD` | keep-payment-method | | `KEVIN_BACON` | kevin-bacon | | `KOREA_CONSENT` | korea-consent | @@ -42,25 +57,46 @@ | `LIGHTNING_DVR_PIVOT` | lightning-dvr-pivot | | `LIVE_TV_SUPPORT_INCOMPLETE_SEGMENTS` | live-tv-support-incomplete-segments | | `LIVETV` | livetv | +| `LYRICS` | lyrics | | `METADATA_SEARCH` | metadata_search | +| `MUSIC_ANALYSIS` | music-analysis | +| `MUSIC_VIDEOS` | music_videos | | `NEW_PLEX_PASS_PRICES` | new_plex_pass_prices | | `NEWS_PROVIDER_SUNSET_MODAL` | news-provider-sunset-modal | +| `NOMINATIM` | nominatim | +| `PASS` | pass | | `PHOTOS_FAVORITES` | photos-favorites | | `PHOTOS_METADATA_EDITION` | photos-metadata-edition | +| `PHOTOS_V6_EDIT` | photosV6-edit | +| `PHOTOS_V6_TV_ALBUMS` | photosV6-tv-albums | | `PMS_HEALTH` | pms_health | +| `PREMIUM_DASHBOARD` | premium-dashboard | +| `PREMIUM_MUSIC_METADATA` | premium_music_metadata | | `RADIO` | radio | | `RATE_LIMIT_CLIENT_TOKEN` | rate-limit-client-token | | `SCROBBLING_SERVICE_PLEX_TV` | scrobbling-service-plex-tv | +| `SESSION_BANDWIDTH_RESTRICTIONS` | session_bandwidth_restrictions | +| `SESSION_KICK` | session_kick | | `SHARED_SERVER_NOTIFICATION` | shared_server_notification | | `SHARED_SOURCE_NOTIFICATION` | shared_source_notification | +| `SIGNIN_NOTIFICATION` | signin_notification | | `SIGNIN_WITH_APPLE` | signin_with_apple | +| `SILENCE_REMOVAL` | silence-removal | +| `SLEEP_TIMER` | sleep-timer | | `SPRING_SERVE_AD_PROVIDER` | spring_serve_ad_provider | +| `SYNC` | sync | +| `SWEET_FADES` | sweet-fades | | `TRANSCODER_CACHE` | transcoder_cache | +| `TRAILERS` | trailers | | `TUNER_SHARING` | tuner-sharing | | `TWO_FACTOR_AUTHENTICATION` | two-factor-authentication | | `UNSUPPORTEDTUNERS` | unsupportedtuners | | `UPGRADE3DS2` | upgrade-3ds2 | +| `VISUALIZERS` | visualizers | | `VOD_SCHEMA` | vod-schema | | `VOD_CLOUDFLARE` | vod_cloudflare | +| `VOLUME_LEVELING` | volume-leveling | | `WATCH_TOGETHER_INVITE` | watch-together-invite | -| `WEB_SERVER_DASHBOARD` | web_server_dashboard | \ No newline at end of file +| `WATCHLIST_RSS` | watchlist-rss | +| `WEB_SERVER_DASHBOARD` | web_server_dashboard | +| `WEBHOOKS` | webhooks | \ No newline at end of file diff --git a/docs/models/operations/PostUsersSignInDataAuthenticationFeatures.md b/docs/models/operations/PostUsersSignInDataAuthenticationFeatures.md index 21be537a..1c31654e 100644 --- a/docs/models/operations/PostUsersSignInDataAuthenticationFeatures.md +++ b/docs/models/operations/PostUsersSignInDataAuthenticationFeatures.md @@ -12,28 +12,43 @@ | `TREBLE_SHOW_FEATURES` | TREBLE-show-features | | `AD_COUNTDOWN_TIMER` | ad-countdown-timer | | `ADAPTIVE_BITRATE` | adaptive_bitrate | +| `ALBUM_TYPES` | album-types | +| `ALLOW_DVR` | allow_dvr | | `AMAZON_LOOP_DEBUG` | amazon-loop-debug | | `AVOD_AD_ANALYSIS` | avod-ad-analysis | | `AVOD_NEW_MEDIA` | avod-new-media | | `BLACKLIST_GET_SIGNIN` | blacklist_get_signin | +| `BOOST_VOICES` | boost-voices | +| `CAMERA_UPLOAD` | camera_upload | | `CLIENT_RADIO_STATIONS` | client-radio-stations | | `CLOUDFLARE_TURNSTILE_REQUIRED` | cloudflare-turnstile-required | +| `CLOUDSYNC` | cloudsync | | `COLLECTIONS` | collections | | `COMMENTS_AND_REPLIES_PUSH_NOTIFICATIONS` | comments_and_replies_push_notifications | | `COMMUNITY_ACCESS_PLEX_TV` | community_access_plex_tv | | `COMPANIONS_SONOS` | companions_sonos | +| `CONTENT_FILTER` | content_filter | | `CUSTOM_HOME_REMOVAL` | custom-home-removal | | `DISABLE_HOME_USER_FRIENDSHIPS` | disable_home_user_friendships | | `DISABLE_SHARING_FRIENDSHIPS` | disable_sharing_friendships | +| `DOWNLOADS_GATING` | downloads-gating | | `DRM_SUPPORT` | drm_support | +| `DVR` | dvr | +| `DVR_BLOCK_UNSUPPORTED_COUNTRIES` | dvr-block-unsupported-countries | +| `EPG_RECENT_CHANNELS` | epg-recent-channels | | `EXCLUDE_RESTRICTIONS` | exclude restrictions | | `FEDERATED_AUTH` | federated-auth | | `FRIEND_REQUEST_PUSH_NOTIFICATIONS` | friend_request_push_notifications | +| `GRANDFATHER_SYNC` | grandfather-sync | | `GUIDED_UPGRADE` | guided-upgrade | +| `HARDWARE_TRANSCODING` | hardware_transcoding | | `HOME` | home | +| `HWTRANSCODE` | hwtranscode | +| `IMAGGA_V2` | imagga-v2 | | `INCREASE_PASSWORD_COMPLEXITY` | increase-password-complexity | | `IOS14_PRIVACY_BANNER` | ios14-privacy-banner | | `ITERABLE_NOTIFICATION_TOKENS` | iterable-notification-tokens | +| `ITEM_CLUSTERS` | item_clusters | | `KEEP_PAYMENT_METHOD` | keep-payment-method | | `KEVIN_BACON` | kevin-bacon | | `KOREA_CONSENT` | korea-consent | @@ -42,25 +57,46 @@ | `LIGHTNING_DVR_PIVOT` | lightning-dvr-pivot | | `LIVE_TV_SUPPORT_INCOMPLETE_SEGMENTS` | live-tv-support-incomplete-segments | | `LIVETV` | livetv | +| `LYRICS` | lyrics | | `METADATA_SEARCH` | metadata_search | +| `MUSIC_ANALYSIS` | music-analysis | +| `MUSIC_VIDEOS` | music_videos | | `NEW_PLEX_PASS_PRICES` | new_plex_pass_prices | | `NEWS_PROVIDER_SUNSET_MODAL` | news-provider-sunset-modal | +| `NOMINATIM` | nominatim | +| `PASS` | pass | | `PHOTOS_FAVORITES` | photos-favorites | | `PHOTOS_METADATA_EDITION` | photos-metadata-edition | +| `PHOTOS_V6_EDIT` | photosV6-edit | +| `PHOTOS_V6_TV_ALBUMS` | photosV6-tv-albums | | `PMS_HEALTH` | pms_health | +| `PREMIUM_DASHBOARD` | premium-dashboard | +| `PREMIUM_MUSIC_METADATA` | premium_music_metadata | | `RADIO` | radio | | `RATE_LIMIT_CLIENT_TOKEN` | rate-limit-client-token | | `SCROBBLING_SERVICE_PLEX_TV` | scrobbling-service-plex-tv | +| `SESSION_BANDWIDTH_RESTRICTIONS` | session_bandwidth_restrictions | +| `SESSION_KICK` | session_kick | | `SHARED_SERVER_NOTIFICATION` | shared_server_notification | | `SHARED_SOURCE_NOTIFICATION` | shared_source_notification | +| `SIGNIN_NOTIFICATION` | signin_notification | | `SIGNIN_WITH_APPLE` | signin_with_apple | +| `SILENCE_REMOVAL` | silence-removal | +| `SLEEP_TIMER` | sleep-timer | | `SPRING_SERVE_AD_PROVIDER` | spring_serve_ad_provider | +| `SYNC` | sync | +| `SWEET_FADES` | sweet-fades | | `TRANSCODER_CACHE` | transcoder_cache | +| `TRAILERS` | trailers | | `TUNER_SHARING` | tuner-sharing | | `TWO_FACTOR_AUTHENTICATION` | two-factor-authentication | | `UNSUPPORTEDTUNERS` | unsupportedtuners | | `UPGRADE3DS2` | upgrade-3ds2 | +| `VISUALIZERS` | visualizers | | `VOD_SCHEMA` | vod-schema | | `VOD_CLOUDFLARE` | vod_cloudflare | +| `VOLUME_LEVELING` | volume-leveling | | `WATCH_TOGETHER_INVITE` | watch-together-invite | -| `WEB_SERVER_DASHBOARD` | web_server_dashboard | \ No newline at end of file +| `WATCHLIST_RSS` | watchlist-rss | +| `WEB_SERVER_DASHBOARD` | web_server_dashboard | +| `WEBHOOKS` | webhooks | \ No newline at end of file diff --git a/docs/models/operations/PostUsersSignInDataFeatures.md b/docs/models/operations/PostUsersSignInDataFeatures.md index 36dd6134..cd436774 100644 --- a/docs/models/operations/PostUsersSignInDataFeatures.md +++ b/docs/models/operations/PostUsersSignInDataFeatures.md @@ -12,28 +12,43 @@ | `TREBLE_SHOW_FEATURES` | TREBLE-show-features | | `AD_COUNTDOWN_TIMER` | ad-countdown-timer | | `ADAPTIVE_BITRATE` | adaptive_bitrate | +| `ALBUM_TYPES` | album-types | +| `ALLOW_DVR` | allow_dvr | | `AMAZON_LOOP_DEBUG` | amazon-loop-debug | | `AVOD_AD_ANALYSIS` | avod-ad-analysis | | `AVOD_NEW_MEDIA` | avod-new-media | | `BLACKLIST_GET_SIGNIN` | blacklist_get_signin | +| `BOOST_VOICES` | boost-voices | +| `CAMERA_UPLOAD` | camera_upload | | `CLIENT_RADIO_STATIONS` | client-radio-stations | | `CLOUDFLARE_TURNSTILE_REQUIRED` | cloudflare-turnstile-required | +| `CLOUDSYNC` | cloudsync | | `COLLECTIONS` | collections | | `COMMENTS_AND_REPLIES_PUSH_NOTIFICATIONS` | comments_and_replies_push_notifications | | `COMMUNITY_ACCESS_PLEX_TV` | community_access_plex_tv | | `COMPANIONS_SONOS` | companions_sonos | +| `CONTENT_FILTER` | content_filter | | `CUSTOM_HOME_REMOVAL` | custom-home-removal | | `DISABLE_HOME_USER_FRIENDSHIPS` | disable_home_user_friendships | | `DISABLE_SHARING_FRIENDSHIPS` | disable_sharing_friendships | +| `DOWNLOADS_GATING` | downloads-gating | | `DRM_SUPPORT` | drm_support | +| `DVR` | dvr | +| `DVR_BLOCK_UNSUPPORTED_COUNTRIES` | dvr-block-unsupported-countries | +| `EPG_RECENT_CHANNELS` | epg-recent-channels | | `EXCLUDE_RESTRICTIONS` | exclude restrictions | | `FEDERATED_AUTH` | federated-auth | | `FRIEND_REQUEST_PUSH_NOTIFICATIONS` | friend_request_push_notifications | +| `GRANDFATHER_SYNC` | grandfather-sync | | `GUIDED_UPGRADE` | guided-upgrade | +| `HARDWARE_TRANSCODING` | hardware_transcoding | | `HOME` | home | +| `HWTRANSCODE` | hwtranscode | +| `IMAGGA_V2` | imagga-v2 | | `INCREASE_PASSWORD_COMPLEXITY` | increase-password-complexity | | `IOS14_PRIVACY_BANNER` | ios14-privacy-banner | | `ITERABLE_NOTIFICATION_TOKENS` | iterable-notification-tokens | +| `ITEM_CLUSTERS` | item_clusters | | `KEEP_PAYMENT_METHOD` | keep-payment-method | | `KEVIN_BACON` | kevin-bacon | | `KOREA_CONSENT` | korea-consent | @@ -42,25 +57,46 @@ | `LIGHTNING_DVR_PIVOT` | lightning-dvr-pivot | | `LIVE_TV_SUPPORT_INCOMPLETE_SEGMENTS` | live-tv-support-incomplete-segments | | `LIVETV` | livetv | +| `LYRICS` | lyrics | | `METADATA_SEARCH` | metadata_search | +| `MUSIC_ANALYSIS` | music-analysis | +| `MUSIC_VIDEOS` | music_videos | | `NEW_PLEX_PASS_PRICES` | new_plex_pass_prices | | `NEWS_PROVIDER_SUNSET_MODAL` | news-provider-sunset-modal | +| `NOMINATIM` | nominatim | +| `PASS` | pass | | `PHOTOS_FAVORITES` | photos-favorites | | `PHOTOS_METADATA_EDITION` | photos-metadata-edition | +| `PHOTOS_V6_EDIT` | photosV6-edit | +| `PHOTOS_V6_TV_ALBUMS` | photosV6-tv-albums | | `PMS_HEALTH` | pms_health | +| `PREMIUM_DASHBOARD` | premium-dashboard | +| `PREMIUM_MUSIC_METADATA` | premium_music_metadata | | `RADIO` | radio | | `RATE_LIMIT_CLIENT_TOKEN` | rate-limit-client-token | | `SCROBBLING_SERVICE_PLEX_TV` | scrobbling-service-plex-tv | +| `SESSION_BANDWIDTH_RESTRICTIONS` | session_bandwidth_restrictions | +| `SESSION_KICK` | session_kick | | `SHARED_SERVER_NOTIFICATION` | shared_server_notification | | `SHARED_SOURCE_NOTIFICATION` | shared_source_notification | +| `SIGNIN_NOTIFICATION` | signin_notification | | `SIGNIN_WITH_APPLE` | signin_with_apple | +| `SILENCE_REMOVAL` | silence-removal | +| `SLEEP_TIMER` | sleep-timer | | `SPRING_SERVE_AD_PROVIDER` | spring_serve_ad_provider | +| `SYNC` | sync | +| `SWEET_FADES` | sweet-fades | | `TRANSCODER_CACHE` | transcoder_cache | +| `TRAILERS` | trailers | | `TUNER_SHARING` | tuner-sharing | | `TWO_FACTOR_AUTHENTICATION` | two-factor-authentication | | `UNSUPPORTEDTUNERS` | unsupportedtuners | | `UPGRADE3DS2` | upgrade-3ds2 | +| `VISUALIZERS` | visualizers | | `VOD_SCHEMA` | vod-schema | | `VOD_CLOUDFLARE` | vod_cloudflare | +| `VOLUME_LEVELING` | volume-leveling | | `WATCH_TOGETHER_INVITE` | watch-together-invite | -| `WEB_SERVER_DASHBOARD` | web_server_dashboard | \ No newline at end of file +| `WATCHLIST_RSS` | watchlist-rss | +| `WEB_SERVER_DASHBOARD` | web_server_dashboard | +| `WEBHOOKS` | webhooks | \ No newline at end of file diff --git a/docs/sdks/plex/README.md b/docs/sdks/plex/README.md index 465d30fc..4fc6cff8 100644 --- a/docs/sdks/plex/README.md +++ b/docs/sdks/plex/README.md @@ -272,6 +272,7 @@ public class Application { .includeHttps(IncludeHttps.Enable) .includeRelay(IncludeRelay.Enable) .includeIPv6(IncludeIPv6.Enable) + .clientID("gcgzw5rz2xovp84b4vha3a40") .call(); if (res.plexDevices().isPresent()) { @@ -283,12 +284,13 @@ public class Application { ### Parameters -| Parameter | Type | Required | Description | Example | -| ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | -| `includeHttps` | [Optional](../../models/operations/IncludeHttps.md) | :heavy_minus_sign: | Include Https entries in the results | 1 | -| `includeRelay` | [Optional](../../models/operations/IncludeRelay.md) | :heavy_minus_sign: | Include Relay addresses in the results
E.g: https://10-0-0-25.bbf8e10c7fa20447cacee74cd9914cde.plex.direct:32400
| 1 | -| `includeIPv6` | [Optional](../../models/operations/IncludeIPv6.md) | :heavy_minus_sign: | Include IPv6 entries in the results | 1 | -| `serverURL` | *String* | :heavy_minus_sign: | An optional server URL to use. | http://localhost:8080 | +| Parameter | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `includeHttps` | [Optional](../../models/operations/IncludeHttps.md) | :heavy_minus_sign: | Include Https entries in the results | 1 | +| `includeRelay` | [Optional](../../models/operations/IncludeRelay.md) | :heavy_minus_sign: | Include Relay addresses in the results
E.g: https://10-0-0-25.bbf8e10c7fa20447cacee74cd9914cde.plex.direct:32400
| 1 | +| `includeIPv6` | [Optional](../../models/operations/IncludeIPv6.md) | :heavy_minus_sign: | Include IPv6 entries in the results | 1 | +| `clientID` | *Optional* | :heavy_minus_sign: | The unique identifier for the client application
This is used to track the client application and its usage
(UUID, serial number, or other number unique per device)
| gcgzw5rz2xovp84b4vha3a40 | +| `serverURL` | *String* | :heavy_minus_sign: | An optional server URL to use. | http://localhost:8080 | ### Response diff --git a/src/main/java/dev/plexapi/sdk/Plex.java b/src/main/java/dev/plexapi/sdk/Plex.java index d673de05..a89f6b30 100644 --- a/src/main/java/dev/plexapi/sdk/Plex.java +++ b/src/main/java/dev/plexapi/sdk/Plex.java @@ -767,7 +767,7 @@ public class Plex implements * @throws Exception if the API call fails */ public GetServerResourcesResponse getServerResourcesDirect() throws Exception { - return getServerResources(Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty()); + return getServerResources(Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty()); } /** @@ -778,6 +778,10 @@ public class Plex implements E.g: https://10-0-0-25.bbf8e10c7fa20447cacee74cd9914cde.plex.direct:32400 * @param includeIPv6 Include IPv6 entries in the results + * @param clientID The unique identifier for the client application + This is used to track the client application and its usage + (UUID, serial number, or other number unique per device) + * @param serverURL Overrides the server URL. * @return The response from the API call * @throws Exception if the API call fails @@ -786,6 +790,7 @@ public class Plex implements Optional includeHttps, Optional includeRelay, Optional includeIPv6, + Optional clientID, Optional serverURL) throws Exception { GetServerResourcesRequest request = GetServerResourcesRequest @@ -793,6 +798,7 @@ public class Plex implements .includeHttps(includeHttps) .includeRelay(includeRelay) .includeIPv6(includeIPv6) + .clientID(clientID) .build(); String _baseUrl = Utils.templateUrl(GET_SERVER_RESOURCES_SERVERS[0], new HashMap()); diff --git a/src/main/java/dev/plexapi/sdk/SDKConfiguration.java b/src/main/java/dev/plexapi/sdk/SDKConfiguration.java index 401ab604..17ea857b 100644 --- a/src/main/java/dev/plexapi/sdk/SDKConfiguration.java +++ b/src/main/java/dev/plexapi/sdk/SDKConfiguration.java @@ -36,7 +36,7 @@ class SDKConfiguration { } }; private static final String LANGUAGE = "java"; public static final String OPENAPI_DOC_VERSION = "0.0.3"; - public static final String SDK_VERSION = "0.6.1"; + public static final String SDK_VERSION = "0.6.2"; public static final String GEN_VERSION = "2.426.2"; private static final String BASE_PACKAGE = "dev.plexapi.sdk"; public static final String USER_AGENT = diff --git a/src/main/java/dev/plexapi/sdk/models/operations/Features.java b/src/main/java/dev/plexapi/sdk/models/operations/Features.java index 65dd6bd4..51914148 100644 --- a/src/main/java/dev/plexapi/sdk/models/operations/Features.java +++ b/src/main/java/dev/plexapi/sdk/models/operations/Features.java @@ -15,28 +15,43 @@ public enum Features { TREBLE_SHOW_FEATURES("TREBLE-show-features"), AD_COUNTDOWN_TIMER("ad-countdown-timer"), ADAPTIVE_BITRATE("adaptive_bitrate"), + ALBUM_TYPES("album-types"), + ALLOW_DVR("allow_dvr"), AMAZON_LOOP_DEBUG("amazon-loop-debug"), AVOD_AD_ANALYSIS("avod-ad-analysis"), AVOD_NEW_MEDIA("avod-new-media"), BLACKLIST_GET_SIGNIN("blacklist_get_signin"), + BOOST_VOICES("boost-voices"), + CAMERA_UPLOAD("camera_upload"), CLIENT_RADIO_STATIONS("client-radio-stations"), CLOUDFLARE_TURNSTILE_REQUIRED("cloudflare-turnstile-required"), + CLOUDSYNC("cloudsync"), COLLECTIONS("collections"), COMMENTS_AND_REPLIES_PUSH_NOTIFICATIONS("comments_and_replies_push_notifications"), COMMUNITY_ACCESS_PLEX_TV("community_access_plex_tv"), COMPANIONS_SONOS("companions_sonos"), + CONTENT_FILTER("content_filter"), CUSTOM_HOME_REMOVAL("custom-home-removal"), DISABLE_HOME_USER_FRIENDSHIPS("disable_home_user_friendships"), DISABLE_SHARING_FRIENDSHIPS("disable_sharing_friendships"), + DOWNLOADS_GATING("downloads-gating"), DRM_SUPPORT("drm_support"), + DVR("dvr"), + DVR_BLOCK_UNSUPPORTED_COUNTRIES("dvr-block-unsupported-countries"), + EPG_RECENT_CHANNELS("epg-recent-channels"), EXCLUDE_RESTRICTIONS("exclude restrictions"), FEDERATED_AUTH("federated-auth"), FRIEND_REQUEST_PUSH_NOTIFICATIONS("friend_request_push_notifications"), + GRANDFATHER_SYNC("grandfather-sync"), GUIDED_UPGRADE("guided-upgrade"), + HARDWARE_TRANSCODING("hardware_transcoding"), HOME("home"), + HWTRANSCODE("hwtranscode"), + IMAGGA_V2("imagga-v2"), INCREASE_PASSWORD_COMPLEXITY("increase-password-complexity"), IOS14_PRIVACY_BANNER("ios14-privacy-banner"), ITERABLE_NOTIFICATION_TOKENS("iterable-notification-tokens"), + ITEM_CLUSTERS("item_clusters"), KEEP_PAYMENT_METHOD("keep-payment-method"), KEVIN_BACON("kevin-bacon"), KOREA_CONSENT("korea-consent"), @@ -45,28 +60,49 @@ public enum Features { LIGHTNING_DVR_PIVOT("lightning-dvr-pivot"), LIVE_TV_SUPPORT_INCOMPLETE_SEGMENTS("live-tv-support-incomplete-segments"), LIVETV("livetv"), + LYRICS("lyrics"), METADATA_SEARCH("metadata_search"), + MUSIC_ANALYSIS("music-analysis"), + MUSIC_VIDEOS("music_videos"), NEW_PLEX_PASS_PRICES("new_plex_pass_prices"), NEWS_PROVIDER_SUNSET_MODAL("news-provider-sunset-modal"), + NOMINATIM("nominatim"), + PASS("pass"), PHOTOS_FAVORITES("photos-favorites"), PHOTOS_METADATA_EDITION("photos-metadata-edition"), + PHOTOS_V6_EDIT("photosV6-edit"), + PHOTOS_V6_TV_ALBUMS("photosV6-tv-albums"), PMS_HEALTH("pms_health"), + PREMIUM_DASHBOARD("premium-dashboard"), + PREMIUM_MUSIC_METADATA("premium_music_metadata"), RADIO("radio"), RATE_LIMIT_CLIENT_TOKEN("rate-limit-client-token"), SCROBBLING_SERVICE_PLEX_TV("scrobbling-service-plex-tv"), + SESSION_BANDWIDTH_RESTRICTIONS("session_bandwidth_restrictions"), + SESSION_KICK("session_kick"), SHARED_SERVER_NOTIFICATION("shared_server_notification"), SHARED_SOURCE_NOTIFICATION("shared_source_notification"), + SIGNIN_NOTIFICATION("signin_notification"), SIGNIN_WITH_APPLE("signin_with_apple"), + SILENCE_REMOVAL("silence-removal"), + SLEEP_TIMER("sleep-timer"), SPRING_SERVE_AD_PROVIDER("spring_serve_ad_provider"), + SYNC("sync"), + SWEET_FADES("sweet-fades"), TRANSCODER_CACHE("transcoder_cache"), + TRAILERS("trailers"), TUNER_SHARING("tuner-sharing"), TWO_FACTOR_AUTHENTICATION("two-factor-authentication"), UNSUPPORTEDTUNERS("unsupportedtuners"), UPGRADE3DS2("upgrade-3ds2"), + VISUALIZERS("visualizers"), VOD_SCHEMA("vod-schema"), VOD_CLOUDFLARE("vod_cloudflare"), + VOLUME_LEVELING("volume-leveling"), WATCH_TOGETHER_INVITE("watch-together-invite"), - WEB_SERVER_DASHBOARD("web_server_dashboard"); + WATCHLIST_RSS("watchlist-rss"), + WEB_SERVER_DASHBOARD("web_server_dashboard"), + WEBHOOKS("webhooks"); @JsonValue private final String value; diff --git a/src/main/java/dev/plexapi/sdk/models/operations/GetServerResourcesRequest.java b/src/main/java/dev/plexapi/sdk/models/operations/GetServerResourcesRequest.java index 9fc4a9ab..c3b44a09 100644 --- a/src/main/java/dev/plexapi/sdk/models/operations/GetServerResourcesRequest.java +++ b/src/main/java/dev/plexapi/sdk/models/operations/GetServerResourcesRequest.java @@ -40,21 +40,33 @@ public class GetServerResourcesRequest { @SpeakeasyMetadata("queryParam:style=form,explode=true,name=includeIPv6") private Optional includeIPv6; + /** + * The unique identifier for the client application + * This is used to track the client application and its usage + * (UUID, serial number, or other number unique per device) + * + */ + @SpeakeasyMetadata("queryParam:style=form,explode=true,name=X-Plex-Client-Identifier") + private Optional clientID; + @JsonCreator public GetServerResourcesRequest( Optional includeHttps, Optional includeRelay, - Optional includeIPv6) { + Optional includeIPv6, + Optional clientID) { Utils.checkNotNull(includeHttps, "includeHttps"); Utils.checkNotNull(includeRelay, "includeRelay"); Utils.checkNotNull(includeIPv6, "includeIPv6"); + Utils.checkNotNull(clientID, "clientID"); this.includeHttps = includeHttps; this.includeRelay = includeRelay; this.includeIPv6 = includeIPv6; + this.clientID = clientID; } public GetServerResourcesRequest() { - this(Optional.empty(), Optional.empty(), Optional.empty()); + this(Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty()); } /** @@ -86,6 +98,17 @@ public class GetServerResourcesRequest { return (Optional) includeIPv6; } + /** + * The unique identifier for the client application + * This is used to track the client application and its usage + * (UUID, serial number, or other number unique per device) + * + */ + @JsonIgnore + public Optional clientID() { + return clientID; + } + public final static Builder builder() { return new Builder(); } @@ -147,6 +170,30 @@ public class GetServerResourcesRequest { this.includeIPv6 = includeIPv6; return this; } + + /** + * The unique identifier for the client application + * This is used to track the client application and its usage + * (UUID, serial number, or other number unique per device) + * + */ + public GetServerResourcesRequest withClientID(String clientID) { + Utils.checkNotNull(clientID, "clientID"); + this.clientID = Optional.ofNullable(clientID); + return this; + } + + /** + * The unique identifier for the client application + * This is used to track the client application and its usage + * (UUID, serial number, or other number unique per device) + * + */ + public GetServerResourcesRequest withClientID(Optional clientID) { + Utils.checkNotNull(clientID, "clientID"); + this.clientID = clientID; + return this; + } @Override public boolean equals(java.lang.Object o) { @@ -160,7 +207,8 @@ public class GetServerResourcesRequest { return Objects.deepEquals(this.includeHttps, other.includeHttps) && Objects.deepEquals(this.includeRelay, other.includeRelay) && - Objects.deepEquals(this.includeIPv6, other.includeIPv6); + Objects.deepEquals(this.includeIPv6, other.includeIPv6) && + Objects.deepEquals(this.clientID, other.clientID); } @Override @@ -168,7 +216,8 @@ public class GetServerResourcesRequest { return Objects.hash( includeHttps, includeRelay, - includeIPv6); + includeIPv6, + clientID); } @Override @@ -176,7 +225,8 @@ public class GetServerResourcesRequest { return Utils.toString(GetServerResourcesRequest.class, "includeHttps", includeHttps, "includeRelay", includeRelay, - "includeIPv6", includeIPv6); + "includeIPv6", includeIPv6, + "clientID", clientID); } public final static class Builder { @@ -185,7 +235,9 @@ public class GetServerResourcesRequest { private Optional includeRelay; - private Optional includeIPv6; + private Optional includeIPv6; + + private Optional clientID = Optional.empty(); private Builder() { // force use of static builder() method @@ -248,6 +300,30 @@ public class GetServerResourcesRequest { this.includeIPv6 = includeIPv6; return this; } + + /** + * The unique identifier for the client application + * This is used to track the client application and its usage + * (UUID, serial number, or other number unique per device) + * + */ + public Builder clientID(String clientID) { + Utils.checkNotNull(clientID, "clientID"); + this.clientID = Optional.ofNullable(clientID); + return this; + } + + /** + * The unique identifier for the client application + * This is used to track the client application and its usage + * (UUID, serial number, or other number unique per device) + * + */ + public Builder clientID(Optional clientID) { + Utils.checkNotNull(clientID, "clientID"); + this.clientID = clientID; + return this; + } public GetServerResourcesRequest build() { if (includeHttps == null) { @@ -261,7 +337,8 @@ public class GetServerResourcesRequest { } return new GetServerResourcesRequest( includeHttps, includeRelay, - includeIPv6); + includeIPv6, + clientID); } private static final LazySingletonValue> _SINGLETON_VALUE_IncludeHttps = diff --git a/src/main/java/dev/plexapi/sdk/models/operations/GetServerResourcesRequestBuilder.java b/src/main/java/dev/plexapi/sdk/models/operations/GetServerResourcesRequestBuilder.java index 20677164..ed46ea32 100644 --- a/src/main/java/dev/plexapi/sdk/models/operations/GetServerResourcesRequestBuilder.java +++ b/src/main/java/dev/plexapi/sdk/models/operations/GetServerResourcesRequestBuilder.java @@ -24,6 +24,7 @@ public class GetServerResourcesRequestBuilder { "includeIPv6", "0", new TypeReference>() {}); + private Optional clientID = Optional.empty(); private Optional serverURL = Optional.empty(); private final SDKMethodInterfaces.MethodCallGetServerResources sdk; @@ -67,6 +68,18 @@ public class GetServerResourcesRequestBuilder { return this; } + public GetServerResourcesRequestBuilder clientID(String clientID) { + Utils.checkNotNull(clientID, "clientID"); + this.clientID = Optional.of(clientID); + return this; + } + + public GetServerResourcesRequestBuilder clientID(Optional clientID) { + Utils.checkNotNull(clientID, "clientID"); + this.clientID = clientID; + return this; + } + public GetServerResourcesRequestBuilder serverURL(String serverURL) { Utils.checkNotNull(serverURL, "serverURL"); this.serverURL = Optional.of(serverURL); @@ -93,6 +106,7 @@ public class GetServerResourcesRequestBuilder { includeHttps, includeRelay, includeIPv6, + clientID, serverURL); } diff --git a/src/main/java/dev/plexapi/sdk/models/operations/GetTokenDetailsFeatures.java b/src/main/java/dev/plexapi/sdk/models/operations/GetTokenDetailsFeatures.java index 8ff4bf7d..35e7e250 100644 --- a/src/main/java/dev/plexapi/sdk/models/operations/GetTokenDetailsFeatures.java +++ b/src/main/java/dev/plexapi/sdk/models/operations/GetTokenDetailsFeatures.java @@ -15,28 +15,43 @@ public enum GetTokenDetailsFeatures { TREBLE_SHOW_FEATURES("TREBLE-show-features"), AD_COUNTDOWN_TIMER("ad-countdown-timer"), ADAPTIVE_BITRATE("adaptive_bitrate"), + ALBUM_TYPES("album-types"), + ALLOW_DVR("allow_dvr"), AMAZON_LOOP_DEBUG("amazon-loop-debug"), AVOD_AD_ANALYSIS("avod-ad-analysis"), AVOD_NEW_MEDIA("avod-new-media"), BLACKLIST_GET_SIGNIN("blacklist_get_signin"), + BOOST_VOICES("boost-voices"), + CAMERA_UPLOAD("camera_upload"), CLIENT_RADIO_STATIONS("client-radio-stations"), CLOUDFLARE_TURNSTILE_REQUIRED("cloudflare-turnstile-required"), + CLOUDSYNC("cloudsync"), COLLECTIONS("collections"), COMMENTS_AND_REPLIES_PUSH_NOTIFICATIONS("comments_and_replies_push_notifications"), COMMUNITY_ACCESS_PLEX_TV("community_access_plex_tv"), COMPANIONS_SONOS("companions_sonos"), + CONTENT_FILTER("content_filter"), CUSTOM_HOME_REMOVAL("custom-home-removal"), DISABLE_HOME_USER_FRIENDSHIPS("disable_home_user_friendships"), DISABLE_SHARING_FRIENDSHIPS("disable_sharing_friendships"), + DOWNLOADS_GATING("downloads-gating"), DRM_SUPPORT("drm_support"), + DVR("dvr"), + DVR_BLOCK_UNSUPPORTED_COUNTRIES("dvr-block-unsupported-countries"), + EPG_RECENT_CHANNELS("epg-recent-channels"), EXCLUDE_RESTRICTIONS("exclude restrictions"), FEDERATED_AUTH("federated-auth"), FRIEND_REQUEST_PUSH_NOTIFICATIONS("friend_request_push_notifications"), + GRANDFATHER_SYNC("grandfather-sync"), GUIDED_UPGRADE("guided-upgrade"), + HARDWARE_TRANSCODING("hardware_transcoding"), HOME("home"), + HWTRANSCODE("hwtranscode"), + IMAGGA_V2("imagga-v2"), INCREASE_PASSWORD_COMPLEXITY("increase-password-complexity"), IOS14_PRIVACY_BANNER("ios14-privacy-banner"), ITERABLE_NOTIFICATION_TOKENS("iterable-notification-tokens"), + ITEM_CLUSTERS("item_clusters"), KEEP_PAYMENT_METHOD("keep-payment-method"), KEVIN_BACON("kevin-bacon"), KOREA_CONSENT("korea-consent"), @@ -45,28 +60,49 @@ public enum GetTokenDetailsFeatures { LIGHTNING_DVR_PIVOT("lightning-dvr-pivot"), LIVE_TV_SUPPORT_INCOMPLETE_SEGMENTS("live-tv-support-incomplete-segments"), LIVETV("livetv"), + LYRICS("lyrics"), METADATA_SEARCH("metadata_search"), + MUSIC_ANALYSIS("music-analysis"), + MUSIC_VIDEOS("music_videos"), NEW_PLEX_PASS_PRICES("new_plex_pass_prices"), NEWS_PROVIDER_SUNSET_MODAL("news-provider-sunset-modal"), + NOMINATIM("nominatim"), + PASS("pass"), PHOTOS_FAVORITES("photos-favorites"), PHOTOS_METADATA_EDITION("photos-metadata-edition"), + PHOTOS_V6_EDIT("photosV6-edit"), + PHOTOS_V6_TV_ALBUMS("photosV6-tv-albums"), PMS_HEALTH("pms_health"), + PREMIUM_DASHBOARD("premium-dashboard"), + PREMIUM_MUSIC_METADATA("premium_music_metadata"), RADIO("radio"), RATE_LIMIT_CLIENT_TOKEN("rate-limit-client-token"), SCROBBLING_SERVICE_PLEX_TV("scrobbling-service-plex-tv"), + SESSION_BANDWIDTH_RESTRICTIONS("session_bandwidth_restrictions"), + SESSION_KICK("session_kick"), SHARED_SERVER_NOTIFICATION("shared_server_notification"), SHARED_SOURCE_NOTIFICATION("shared_source_notification"), + SIGNIN_NOTIFICATION("signin_notification"), SIGNIN_WITH_APPLE("signin_with_apple"), + SILENCE_REMOVAL("silence-removal"), + SLEEP_TIMER("sleep-timer"), SPRING_SERVE_AD_PROVIDER("spring_serve_ad_provider"), + SYNC("sync"), + SWEET_FADES("sweet-fades"), TRANSCODER_CACHE("transcoder_cache"), + TRAILERS("trailers"), TUNER_SHARING("tuner-sharing"), TWO_FACTOR_AUTHENTICATION("two-factor-authentication"), UNSUPPORTEDTUNERS("unsupportedtuners"), UPGRADE3DS2("upgrade-3ds2"), + VISUALIZERS("visualizers"), VOD_SCHEMA("vod-schema"), VOD_CLOUDFLARE("vod_cloudflare"), + VOLUME_LEVELING("volume-leveling"), WATCH_TOGETHER_INVITE("watch-together-invite"), - WEB_SERVER_DASHBOARD("web_server_dashboard"); + WATCHLIST_RSS("watchlist-rss"), + WEB_SERVER_DASHBOARD("web_server_dashboard"), + WEBHOOKS("webhooks"); @JsonValue private final String value; diff --git a/src/main/java/dev/plexapi/sdk/models/operations/PostUsersSignInDataAuthenticationFeatures.java b/src/main/java/dev/plexapi/sdk/models/operations/PostUsersSignInDataAuthenticationFeatures.java index 96a2f7ee..df0f04d7 100644 --- a/src/main/java/dev/plexapi/sdk/models/operations/PostUsersSignInDataAuthenticationFeatures.java +++ b/src/main/java/dev/plexapi/sdk/models/operations/PostUsersSignInDataAuthenticationFeatures.java @@ -15,28 +15,43 @@ public enum PostUsersSignInDataAuthenticationFeatures { TREBLE_SHOW_FEATURES("TREBLE-show-features"), AD_COUNTDOWN_TIMER("ad-countdown-timer"), ADAPTIVE_BITRATE("adaptive_bitrate"), + ALBUM_TYPES("album-types"), + ALLOW_DVR("allow_dvr"), AMAZON_LOOP_DEBUG("amazon-loop-debug"), AVOD_AD_ANALYSIS("avod-ad-analysis"), AVOD_NEW_MEDIA("avod-new-media"), BLACKLIST_GET_SIGNIN("blacklist_get_signin"), + BOOST_VOICES("boost-voices"), + CAMERA_UPLOAD("camera_upload"), CLIENT_RADIO_STATIONS("client-radio-stations"), CLOUDFLARE_TURNSTILE_REQUIRED("cloudflare-turnstile-required"), + CLOUDSYNC("cloudsync"), COLLECTIONS("collections"), COMMENTS_AND_REPLIES_PUSH_NOTIFICATIONS("comments_and_replies_push_notifications"), COMMUNITY_ACCESS_PLEX_TV("community_access_plex_tv"), COMPANIONS_SONOS("companions_sonos"), + CONTENT_FILTER("content_filter"), CUSTOM_HOME_REMOVAL("custom-home-removal"), DISABLE_HOME_USER_FRIENDSHIPS("disable_home_user_friendships"), DISABLE_SHARING_FRIENDSHIPS("disable_sharing_friendships"), + DOWNLOADS_GATING("downloads-gating"), DRM_SUPPORT("drm_support"), + DVR("dvr"), + DVR_BLOCK_UNSUPPORTED_COUNTRIES("dvr-block-unsupported-countries"), + EPG_RECENT_CHANNELS("epg-recent-channels"), EXCLUDE_RESTRICTIONS("exclude restrictions"), FEDERATED_AUTH("federated-auth"), FRIEND_REQUEST_PUSH_NOTIFICATIONS("friend_request_push_notifications"), + GRANDFATHER_SYNC("grandfather-sync"), GUIDED_UPGRADE("guided-upgrade"), + HARDWARE_TRANSCODING("hardware_transcoding"), HOME("home"), + HWTRANSCODE("hwtranscode"), + IMAGGA_V2("imagga-v2"), INCREASE_PASSWORD_COMPLEXITY("increase-password-complexity"), IOS14_PRIVACY_BANNER("ios14-privacy-banner"), ITERABLE_NOTIFICATION_TOKENS("iterable-notification-tokens"), + ITEM_CLUSTERS("item_clusters"), KEEP_PAYMENT_METHOD("keep-payment-method"), KEVIN_BACON("kevin-bacon"), KOREA_CONSENT("korea-consent"), @@ -45,28 +60,49 @@ public enum PostUsersSignInDataAuthenticationFeatures { LIGHTNING_DVR_PIVOT("lightning-dvr-pivot"), LIVE_TV_SUPPORT_INCOMPLETE_SEGMENTS("live-tv-support-incomplete-segments"), LIVETV("livetv"), + LYRICS("lyrics"), METADATA_SEARCH("metadata_search"), + MUSIC_ANALYSIS("music-analysis"), + MUSIC_VIDEOS("music_videos"), NEW_PLEX_PASS_PRICES("new_plex_pass_prices"), NEWS_PROVIDER_SUNSET_MODAL("news-provider-sunset-modal"), + NOMINATIM("nominatim"), + PASS("pass"), PHOTOS_FAVORITES("photos-favorites"), PHOTOS_METADATA_EDITION("photos-metadata-edition"), + PHOTOS_V6_EDIT("photosV6-edit"), + PHOTOS_V6_TV_ALBUMS("photosV6-tv-albums"), PMS_HEALTH("pms_health"), + PREMIUM_DASHBOARD("premium-dashboard"), + PREMIUM_MUSIC_METADATA("premium_music_metadata"), RADIO("radio"), RATE_LIMIT_CLIENT_TOKEN("rate-limit-client-token"), SCROBBLING_SERVICE_PLEX_TV("scrobbling-service-plex-tv"), + SESSION_BANDWIDTH_RESTRICTIONS("session_bandwidth_restrictions"), + SESSION_KICK("session_kick"), SHARED_SERVER_NOTIFICATION("shared_server_notification"), SHARED_SOURCE_NOTIFICATION("shared_source_notification"), + SIGNIN_NOTIFICATION("signin_notification"), SIGNIN_WITH_APPLE("signin_with_apple"), + SILENCE_REMOVAL("silence-removal"), + SLEEP_TIMER("sleep-timer"), SPRING_SERVE_AD_PROVIDER("spring_serve_ad_provider"), + SYNC("sync"), + SWEET_FADES("sweet-fades"), TRANSCODER_CACHE("transcoder_cache"), + TRAILERS("trailers"), TUNER_SHARING("tuner-sharing"), TWO_FACTOR_AUTHENTICATION("two-factor-authentication"), UNSUPPORTEDTUNERS("unsupportedtuners"), UPGRADE3DS2("upgrade-3ds2"), + VISUALIZERS("visualizers"), VOD_SCHEMA("vod-schema"), VOD_CLOUDFLARE("vod_cloudflare"), + VOLUME_LEVELING("volume-leveling"), WATCH_TOGETHER_INVITE("watch-together-invite"), - WEB_SERVER_DASHBOARD("web_server_dashboard"); + WATCHLIST_RSS("watchlist-rss"), + WEB_SERVER_DASHBOARD("web_server_dashboard"), + WEBHOOKS("webhooks"); @JsonValue private final String value; diff --git a/src/main/java/dev/plexapi/sdk/models/operations/PostUsersSignInDataFeatures.java b/src/main/java/dev/plexapi/sdk/models/operations/PostUsersSignInDataFeatures.java index ed103226..33c19c01 100644 --- a/src/main/java/dev/plexapi/sdk/models/operations/PostUsersSignInDataFeatures.java +++ b/src/main/java/dev/plexapi/sdk/models/operations/PostUsersSignInDataFeatures.java @@ -15,28 +15,43 @@ public enum PostUsersSignInDataFeatures { TREBLE_SHOW_FEATURES("TREBLE-show-features"), AD_COUNTDOWN_TIMER("ad-countdown-timer"), ADAPTIVE_BITRATE("adaptive_bitrate"), + ALBUM_TYPES("album-types"), + ALLOW_DVR("allow_dvr"), AMAZON_LOOP_DEBUG("amazon-loop-debug"), AVOD_AD_ANALYSIS("avod-ad-analysis"), AVOD_NEW_MEDIA("avod-new-media"), BLACKLIST_GET_SIGNIN("blacklist_get_signin"), + BOOST_VOICES("boost-voices"), + CAMERA_UPLOAD("camera_upload"), CLIENT_RADIO_STATIONS("client-radio-stations"), CLOUDFLARE_TURNSTILE_REQUIRED("cloudflare-turnstile-required"), + CLOUDSYNC("cloudsync"), COLLECTIONS("collections"), COMMENTS_AND_REPLIES_PUSH_NOTIFICATIONS("comments_and_replies_push_notifications"), COMMUNITY_ACCESS_PLEX_TV("community_access_plex_tv"), COMPANIONS_SONOS("companions_sonos"), + CONTENT_FILTER("content_filter"), CUSTOM_HOME_REMOVAL("custom-home-removal"), DISABLE_HOME_USER_FRIENDSHIPS("disable_home_user_friendships"), DISABLE_SHARING_FRIENDSHIPS("disable_sharing_friendships"), + DOWNLOADS_GATING("downloads-gating"), DRM_SUPPORT("drm_support"), + DVR("dvr"), + DVR_BLOCK_UNSUPPORTED_COUNTRIES("dvr-block-unsupported-countries"), + EPG_RECENT_CHANNELS("epg-recent-channels"), EXCLUDE_RESTRICTIONS("exclude restrictions"), FEDERATED_AUTH("federated-auth"), FRIEND_REQUEST_PUSH_NOTIFICATIONS("friend_request_push_notifications"), + GRANDFATHER_SYNC("grandfather-sync"), GUIDED_UPGRADE("guided-upgrade"), + HARDWARE_TRANSCODING("hardware_transcoding"), HOME("home"), + HWTRANSCODE("hwtranscode"), + IMAGGA_V2("imagga-v2"), INCREASE_PASSWORD_COMPLEXITY("increase-password-complexity"), IOS14_PRIVACY_BANNER("ios14-privacy-banner"), ITERABLE_NOTIFICATION_TOKENS("iterable-notification-tokens"), + ITEM_CLUSTERS("item_clusters"), KEEP_PAYMENT_METHOD("keep-payment-method"), KEVIN_BACON("kevin-bacon"), KOREA_CONSENT("korea-consent"), @@ -45,28 +60,49 @@ public enum PostUsersSignInDataFeatures { LIGHTNING_DVR_PIVOT("lightning-dvr-pivot"), LIVE_TV_SUPPORT_INCOMPLETE_SEGMENTS("live-tv-support-incomplete-segments"), LIVETV("livetv"), + LYRICS("lyrics"), METADATA_SEARCH("metadata_search"), + MUSIC_ANALYSIS("music-analysis"), + MUSIC_VIDEOS("music_videos"), NEW_PLEX_PASS_PRICES("new_plex_pass_prices"), NEWS_PROVIDER_SUNSET_MODAL("news-provider-sunset-modal"), + NOMINATIM("nominatim"), + PASS("pass"), PHOTOS_FAVORITES("photos-favorites"), PHOTOS_METADATA_EDITION("photos-metadata-edition"), + PHOTOS_V6_EDIT("photosV6-edit"), + PHOTOS_V6_TV_ALBUMS("photosV6-tv-albums"), PMS_HEALTH("pms_health"), + PREMIUM_DASHBOARD("premium-dashboard"), + PREMIUM_MUSIC_METADATA("premium_music_metadata"), RADIO("radio"), RATE_LIMIT_CLIENT_TOKEN("rate-limit-client-token"), SCROBBLING_SERVICE_PLEX_TV("scrobbling-service-plex-tv"), + SESSION_BANDWIDTH_RESTRICTIONS("session_bandwidth_restrictions"), + SESSION_KICK("session_kick"), SHARED_SERVER_NOTIFICATION("shared_server_notification"), SHARED_SOURCE_NOTIFICATION("shared_source_notification"), + SIGNIN_NOTIFICATION("signin_notification"), SIGNIN_WITH_APPLE("signin_with_apple"), + SILENCE_REMOVAL("silence-removal"), + SLEEP_TIMER("sleep-timer"), SPRING_SERVE_AD_PROVIDER("spring_serve_ad_provider"), + SYNC("sync"), + SWEET_FADES("sweet-fades"), TRANSCODER_CACHE("transcoder_cache"), + TRAILERS("trailers"), TUNER_SHARING("tuner-sharing"), TWO_FACTOR_AUTHENTICATION("two-factor-authentication"), UNSUPPORTEDTUNERS("unsupportedtuners"), UPGRADE3DS2("upgrade-3ds2"), + VISUALIZERS("visualizers"), VOD_SCHEMA("vod-schema"), VOD_CLOUDFLARE("vod_cloudflare"), + VOLUME_LEVELING("volume-leveling"), WATCH_TOGETHER_INVITE("watch-together-invite"), - WEB_SERVER_DASHBOARD("web_server_dashboard"); + WATCHLIST_RSS("watchlist-rss"), + WEB_SERVER_DASHBOARD("web_server_dashboard"), + WEBHOOKS("webhooks"); @JsonValue private final String value; diff --git a/src/main/java/dev/plexapi/sdk/models/operations/SDKMethodInterfaces.java b/src/main/java/dev/plexapi/sdk/models/operations/SDKMethodInterfaces.java index 820666aa..24d968e6 100644 --- a/src/main/java/dev/plexapi/sdk/models/operations/SDKMethodInterfaces.java +++ b/src/main/java/dev/plexapi/sdk/models/operations/SDKMethodInterfaces.java @@ -170,6 +170,7 @@ public class SDKMethodInterfaces { Optional includeHttps, Optional includeRelay, Optional includeIPv6, + Optional clientID, Optional serverURL) throws Exception; } diff --git a/src/test/java/dev/plexapi/sdk/PlexTests.java b/src/test/java/dev/plexapi/sdk/PlexTests.java index 7fe1c3f5..2ccca64a 100644 --- a/src/test/java/dev/plexapi/sdk/PlexTests.java +++ b/src/test/java/dev/plexapi/sdk/PlexTests.java @@ -190,6 +190,7 @@ public class PlexTests { .includeHttps(IncludeHttps.Enable) .includeRelay(IncludeRelay.Enable) .includeIPv6(IncludeIPv6.Enable) + .clientID("gcgzw5rz2xovp84b4vha3a40") .call(); assertEquals(