diff --git a/.speakeasy/gen.lock b/.speakeasy/gen.lock index 8c84552..3374c42 100755 --- a/.speakeasy/gen.lock +++ b/.speakeasy/gen.lock @@ -1,12 +1,12 @@ lockVersion: 2.0.0 id: aa9449e7-c19d-411d-b8e2-f9c5fe982f6f management: - docChecksum: 1b63d7c28734a44b0339f405b186b290 + docChecksum: 82a4a9784fb0e66e1c64f130701cdd08 docVersion: 0.0.3 speakeasyVersion: 1.401.2 generationVersion: 2.421.3 - releaseVersion: 0.4.0 - configChecksum: 95b3d18e04234064b88c206da0ac2e15 + releaseVersion: 0.4.1 + configChecksum: 8e38ccf76a49f71542666ea7b0c843e1 repoURL: https://github.com/LukeHagar/plexruby.git repoSubDirectory: . installationURL: https://github.com/LukeHagar/plexruby @@ -31,6 +31,8 @@ generatedFiles: - Rakefile - USAGE.md - docs/models/operations/account.md + - docs/models/operations/action.md + - docs/models/operations/activedirection.md - docs/models/operations/activity.md - docs/models/operations/addplaylistcontentsbadrequest.md - docs/models/operations/addplaylistcontentserrors.md @@ -69,6 +71,7 @@ generatedFiles: - docs/models/operations/clearplaylistcontentsrequest.md - docs/models/operations/clearplaylistcontentsresponse.md - docs/models/operations/clearplaylistcontentsunauthorized.md + - docs/models/operations/collection.md - docs/models/operations/connections.md - docs/models/operations/context.md - docs/models/operations/country.md @@ -82,6 +85,7 @@ generatedFiles: - docs/models/operations/createplaylistresponse.md - docs/models/operations/createplaylistresponsebody.md - docs/models/operations/createplaylistunauthorized.md + - docs/models/operations/defaultdirection.md - docs/models/operations/defaultsubtitleaccessibility.md - docs/models/operations/defaultsubtitleforced.md - docs/models/operations/deletelibrarybadrequest.md @@ -111,6 +115,7 @@ generatedFiles: - docs/models/operations/field.md - docs/models/operations/fieldtype.md - docs/models/operations/filter.md + - docs/models/operations/flattenseasons.md - docs/models/operations/force.md - docs/models/operations/friend.md - docs/models/operations/genre.md @@ -227,7 +232,10 @@ generatedFiles: - docs/models/operations/getlibraryitemsfieldtype.md - docs/models/operations/getlibraryitemsfilter.md - docs/models/operations/getlibraryitemsgenre.md + - docs/models/operations/getlibraryitemsimage.md - docs/models/operations/getlibraryitemslibraryerrors.md + - docs/models/operations/getlibraryitemslibraryresponsetype.md + - docs/models/operations/getlibraryitemslibrarytype.md - docs/models/operations/getlibraryitemsmedia.md - docs/models/operations/getlibraryitemsmediacontainer.md - docs/models/operations/getlibraryitemsmetadata.md @@ -540,6 +548,7 @@ generatedFiles: - docs/models/operations/getwatchlistunauthorized.md - docs/models/operations/getwatchlistwatchlisterrors.md - docs/models/operations/guids.md + - docs/models/operations/hasthumbnail.md - docs/models/operations/hub.md - docs/models/operations/image.md - docs/models/operations/includecollections.md @@ -650,6 +659,7 @@ generatedFiles: - docs/models/operations/setting.md - docs/models/operations/sharedservers.md - docs/models/operations/sharedsources.md + - docs/models/operations/showordering.md - docs/models/operations/skip.md - docs/models/operations/smart.md - docs/models/operations/sort.md @@ -700,6 +710,7 @@ generatedFiles: - docs/models/operations/transcodesession.md - docs/models/operations/trials.md - docs/models/operations/type.md + - docs/models/operations/ultrablurcolors.md - docs/models/operations/updateplaylistbadrequest.md - docs/models/operations/updateplaylisterrors.md - docs/models/operations/updateplaylistplaylistserrors.md @@ -751,6 +762,8 @@ generatedFiles: - lib/plex_ruby_sdk/media.rb - lib/plex_ruby_sdk/models/operations.rb - lib/plex_ruby_sdk/models/operations/account.rb + - lib/plex_ruby_sdk/models/operations/action.rb + - lib/plex_ruby_sdk/models/operations/activedirection.rb - lib/plex_ruby_sdk/models/operations/activity.rb - lib/plex_ruby_sdk/models/operations/addplaylistcontents_badrequest.rb - lib/plex_ruby_sdk/models/operations/addplaylistcontents_errors.rb @@ -789,6 +802,7 @@ generatedFiles: - lib/plex_ruby_sdk/models/operations/clearplaylistcontents_request.rb - lib/plex_ruby_sdk/models/operations/clearplaylistcontents_response.rb - lib/plex_ruby_sdk/models/operations/clearplaylistcontents_unauthorized.rb + - lib/plex_ruby_sdk/models/operations/collection.rb - lib/plex_ruby_sdk/models/operations/connections.rb - lib/plex_ruby_sdk/models/operations/context.rb - lib/plex_ruby_sdk/models/operations/country.rb @@ -802,6 +816,7 @@ generatedFiles: - lib/plex_ruby_sdk/models/operations/createplaylist_response.rb - lib/plex_ruby_sdk/models/operations/createplaylist_responsebody.rb - lib/plex_ruby_sdk/models/operations/createplaylist_unauthorized.rb + - lib/plex_ruby_sdk/models/operations/defaultdirection.rb - lib/plex_ruby_sdk/models/operations/defaultsubtitleaccessibility.rb - lib/plex_ruby_sdk/models/operations/defaultsubtitleforced.rb - lib/plex_ruby_sdk/models/operations/deletelibrary_badrequest.rb @@ -831,6 +846,7 @@ generatedFiles: - lib/plex_ruby_sdk/models/operations/field.rb - lib/plex_ruby_sdk/models/operations/fieldtype.rb - lib/plex_ruby_sdk/models/operations/filter.rb + - lib/plex_ruby_sdk/models/operations/flattenseasons.rb - lib/plex_ruby_sdk/models/operations/force.rb - lib/plex_ruby_sdk/models/operations/friend.rb - lib/plex_ruby_sdk/models/operations/genre.rb @@ -868,7 +884,10 @@ generatedFiles: - lib/plex_ruby_sdk/models/operations/get_library_items_fieldtype.rb - lib/plex_ruby_sdk/models/operations/get_library_items_filter.rb - lib/plex_ruby_sdk/models/operations/get_library_items_genre.rb + - lib/plex_ruby_sdk/models/operations/get_library_items_image.rb - lib/plex_ruby_sdk/models/operations/get_library_items_library_errors.rb + - lib/plex_ruby_sdk/models/operations/get_library_items_library_response_type.rb + - lib/plex_ruby_sdk/models/operations/get_library_items_library_type.rb - lib/plex_ruby_sdk/models/operations/get_library_items_media.rb - lib/plex_ruby_sdk/models/operations/get_library_items_mediacontainer.rb - lib/plex_ruby_sdk/models/operations/get_library_items_metadata.rb @@ -1260,6 +1279,7 @@ generatedFiles: - lib/plex_ruby_sdk/models/operations/getuserfriends_response.rb - lib/plex_ruby_sdk/models/operations/getuserfriends_unauthorized.rb - lib/plex_ruby_sdk/models/operations/guids.rb + - lib/plex_ruby_sdk/models/operations/hasthumbnail.rb - lib/plex_ruby_sdk/models/operations/hub.rb - lib/plex_ruby_sdk/models/operations/image.rb - lib/plex_ruby_sdk/models/operations/includecollections.rb @@ -1370,6 +1390,7 @@ generatedFiles: - lib/plex_ruby_sdk/models/operations/setting.rb - lib/plex_ruby_sdk/models/operations/sharedservers.rb - lib/plex_ruby_sdk/models/operations/sharedsources.rb + - lib/plex_ruby_sdk/models/operations/showordering.rb - lib/plex_ruby_sdk/models/operations/skip.rb - lib/plex_ruby_sdk/models/operations/smart.rb - lib/plex_ruby_sdk/models/operations/sort.rb @@ -1420,6 +1441,7 @@ generatedFiles: - lib/plex_ruby_sdk/models/operations/transcodesession.rb - lib/plex_ruby_sdk/models/operations/trials.rb - lib/plex_ruby_sdk/models/operations/type.rb + - lib/plex_ruby_sdk/models/operations/ultrablurcolors.rb - lib/plex_ruby_sdk/models/operations/updateplaylist_badrequest.rb - lib/plex_ruby_sdk/models/operations/updateplaylist_errors.rb - lib/plex_ruby_sdk/models/operations/updateplaylist_playlists_errors.rb @@ -1580,7 +1602,8 @@ examples: application/json: {"errors": []} "401": application/json: {"errors": []} - "200": {} + "200": + application/json: {"MediaContainer": {"MediaProvider": [{"Feature": [{"type": "", "flavor": "global", "scrobbleKey": "/:/scrobble/new", "unscrobbleKey": "/:/unscrobble/new", "Action": []}, {"type": "", "flavor": "global", "scrobbleKey": "/:/scrobble/new", "unscrobbleKey": "/:/unscrobble/new", "Action": [{"id": "addToContinueWatching", "key": "/actions/addToContinueWatching"}, {"id": "addToContinueWatching", "key": "/actions/addToContinueWatching"}]}, {"type": "", "flavor": "global", "scrobbleKey": "/:/scrobble/new", "unscrobbleKey": "/:/unscrobble/new", "Action": [{"id": "addToContinueWatching", "key": "/actions/addToContinueWatching"}, {"id": "addToContinueWatching", "key": "/actions/addToContinueWatching"}]}]}]}} getServerList: speakeasy-default-get-server-list: responses: @@ -1980,7 +2003,7 @@ examples: X-Plex-Container-Size: 50 responses: "200": - application/json: {"MediaContainer": {"size": 70, "allowSync": true, "art": "/:/resources/movie-fanart.jpg", "identifier": "com.plexapp.plugins.library", "librarySectionID": "", "librarySectionTitle": "Movies", "librarySectionUUID": "322a231a-b7f7-49f5-920f-14c61199cd30", "mediaTagPrefix": "/system/bundle/media/flags/", "mediaTagVersion": 1701731894, "thumb": "/:/resources/movie.png", "title1": "Movies", "title2": "Recently Released", "viewGroup": "movie", "viewMode": 65592, "mixedParents": true, "Metadata": [{"ratingKey": "58683", "key": "/library/metadata/58683", "guid": "plex://movie/5d7768ba96b655001fdc0408", "studio": "20th Century Studios", "type": "movie", "title": "Avatar: The Way of Water", "contentRating": "PG-13", "summary": "Jake Sully lives with his newfound family formed on the extrasolar moon Pandora. Once a familiar threat returns to finish what was previously started, Jake must work with Neytiri and the army of the Na'vi race to protect their home.", "rating": 7.6, "audienceRating": 9.2, "year": 2022, "tagline": "Return to Pandora.", "thumb": "/library/metadata/58683/thumb/1703239236", "art": "/library/metadata/58683/art/1703239236", "duration": 11558112, "originallyAvailableAt": "2022-12-14T00:00:00Z", "addedAt": 1680457607, "updatedAt": 1703239236, "audienceRatingImage": "rottentomatoes://image.rating.upright", "chapterSource": "media", "primaryExtraKey": "/library/metadata/58684", "ratingImage": "rottentomatoes://image.rating.ripe", "grandparentRatingKey": "66", "grandparentGuid": "plex://show/5d9c081b170e24001f2a7be4", "grandparentKey": "/library/metadata/66", "grandparentTitle": "Caprica", "grandparentThumb": "/library/metadata/66/thumb/1705716261", "grandparentArt": "/library/metadata/66/art/1705716261", "grandparentTheme": "/library/metadata/66/theme/1705716261", "Media": [{"id": 119534, "duration": 11558112, "bitrate": 25025, "width": 3840, "height": 2072, "aspectRatio": 1.85, "audioChannels": 6, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "Part": [{"id": 119542, "key": "/library/parts/119542/1680457526/file.mkv", "duration": 11558112, "file": "/movies/Avatar The Way of Water (2022)/Avatar.The.Way.of.Water.2022.2160p.WEB-DL.DDP5.1.Atmos.DV.HDR10.HEVC-CMRG.mkv", "size": 36158371307, "container": "mkv", "videoProfile": "main 10"}]}, {"id": 119534, "duration": 11558112, "bitrate": 25025, "width": 3840, "height": 2072, "aspectRatio": 1.85, "audioChannels": 6, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "Part": [{"id": 119542, "key": "/library/parts/119542/1680457526/file.mkv", "duration": 11558112, "file": "/movies/Avatar The Way of Water (2022)/Avatar.The.Way.of.Water.2022.2160p.WEB-DL.DDP5.1.Atmos.DV.HDR10.HEVC-CMRG.mkv", "size": 36158371307, "container": "mkv", "videoProfile": "main 10"}, {"id": 119542, "key": "/library/parts/119542/1680457526/file.mkv", "duration": 11558112, "file": "/movies/Avatar The Way of Water (2022)/Avatar.The.Way.of.Water.2022.2160p.WEB-DL.DDP5.1.Atmos.DV.HDR10.HEVC-CMRG.mkv", "size": 36158371307, "container": "mkv", "videoProfile": "main 10"}, {"id": 119542, "key": "/library/parts/119542/1680457526/file.mkv", "duration": 11558112, "file": "/movies/Avatar The Way of Water (2022)/Avatar.The.Way.of.Water.2022.2160p.WEB-DL.DDP5.1.Atmos.DV.HDR10.HEVC-CMRG.mkv", "size": 36158371307, "container": "mkv", "videoProfile": "main 10"}]}], "Genre": [{"tag": "Adventure"}, {"tag": "Adventure"}, {"tag": "Adventure"}], "Country": [{"tag": "United States of America"}, {"tag": "United States of America"}], "Director": [{"tag": "James Cameron"}, {"tag": "James Cameron"}], "Writer": [{"tag": "James Cameron"}], "Role": [{"tag": "Sigourney Weaver"}, {"tag": "Sigourney Weaver"}, {"tag": "Sigourney Weaver"}], "Guid": [{"id": "imdb://tt13015952"}], "titleSort": "Whale", "viewCount": 1, "lastViewedAt": 1682752242, "originalTitle": "映画 ブラッククローバー 魔法帝の剣", "viewOffset": 5222500, "skipCount": 1, "index": 1, "theme": "/library/metadata/1/theme/1705636920", "leafCount": 14, "viewedLeafCount": 0, "childCount": 1, "hasPremiumExtras": "1", "hasPremiumPrimaryExtra": "1", "parentRatingKey": "66", "parentGuid": "plex://show/5d9c081b170e24001f2a7be4", "parentStudio": "UCP", "parentKey": "/library/metadata/66", "parentTitle": "Caprica", "parentIndex": 1, "parentYear": 2010, "parentThumb": "/library/metadata/66/thumb/1705716261", "parentTheme": "/library/metadata/66/theme/1705716261"}, {"ratingKey": "58683", "key": "/library/metadata/58683", "guid": "plex://movie/5d7768ba96b655001fdc0408", "studio": "20th Century Studios", "type": "movie", "title": "Avatar: The Way of Water", "contentRating": "PG-13", "summary": "Jake Sully lives with his newfound family formed on the extrasolar moon Pandora. Once a familiar threat returns to finish what was previously started, Jake must work with Neytiri and the army of the Na'vi race to protect their home.", "rating": 7.6, "audienceRating": 9.2, "year": 2022, "tagline": "Return to Pandora.", "thumb": "/library/metadata/58683/thumb/1703239236", "art": "/library/metadata/58683/art/1703239236", "duration": 11558112, "originallyAvailableAt": "2022-12-14T00:00:00Z", "addedAt": 1680457607, "updatedAt": 1703239236, "audienceRatingImage": "rottentomatoes://image.rating.upright", "chapterSource": "media", "primaryExtraKey": "/library/metadata/58684", "ratingImage": "rottentomatoes://image.rating.ripe", "grandparentRatingKey": "66", "grandparentGuid": "plex://show/5d9c081b170e24001f2a7be4", "grandparentKey": "/library/metadata/66", "grandparentTitle": "Caprica", "grandparentThumb": "/library/metadata/66/thumb/1705716261", "grandparentArt": "/library/metadata/66/art/1705716261", "grandparentTheme": "/library/metadata/66/theme/1705716261", "Media": [{"id": 119534, "duration": 11558112, "bitrate": 25025, "width": 3840, "height": 2072, "aspectRatio": 1.85, "audioChannels": 6, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "Part": [{"id": 119542, "key": "/library/parts/119542/1680457526/file.mkv", "duration": 11558112, "file": "/movies/Avatar The Way of Water (2022)/Avatar.The.Way.of.Water.2022.2160p.WEB-DL.DDP5.1.Atmos.DV.HDR10.HEVC-CMRG.mkv", "size": 36158371307, "container": "mkv", "videoProfile": "main 10"}]}], "Genre": [], "Country": [{"tag": "United States of America"}], "Director": [{"tag": "James Cameron"}, {"tag": "James Cameron"}, {"tag": "James Cameron"}], "Writer": [{"tag": "James Cameron"}], "Role": [{"tag": "Sigourney Weaver"}, {"tag": "Sigourney Weaver"}, {"tag": "Sigourney Weaver"}], "Guid": [{"id": "imdb://tt13015952"}], "titleSort": "Whale", "viewCount": 1, "lastViewedAt": 1682752242, "originalTitle": "映画 ブラッククローバー 魔法帝の剣", "viewOffset": 5222500, "skipCount": 1, "index": 1, "theme": "/library/metadata/1/theme/1705636920", "leafCount": 14, "viewedLeafCount": 0, "childCount": 1, "hasPremiumExtras": "1", "hasPremiumPrimaryExtra": "1", "parentRatingKey": "66", "parentGuid": "plex://show/5d9c081b170e24001f2a7be4", "parentStudio": "UCP", "parentKey": "/library/metadata/66", "parentTitle": "Caprica", "parentIndex": 1, "parentYear": 2010, "parentThumb": "/library/metadata/66/thumb/1705716261", "parentTheme": "/library/metadata/66/theme/1705716261"}], "Meta": {"Type": [{"key": "/library/sections/2/all?type=2", "type": "show", "title": "TV Shows", "active": false, "Filter": [], "Sort": [], "Field": [{"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}, {"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}]}, {"key": "/library/sections/2/all?type=2", "type": "show", "title": "TV Shows", "active": false, "Filter": [{"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter"}, {"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter"}, {"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter"}], "Sort": [], "Field": [{"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}, {"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}, {"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}]}], "FieldType": [{"type": "tag", "Operator": [{"key": "=", "title": "is"}]}, {"type": "tag", "Operator": [{"key": "=", "title": "is"}, {"key": "=", "title": "is"}]}, {"type": "tag", "Operator": [{"key": "=", "title": "is"}, {"key": "=", "title": "is"}]}]}}} + application/json: {"MediaContainer": {"size": 70, "totalSize": 170, "offset": 0, "content": "secondary", "allowSync": true, "nocache": true, "art": "/:/resources/movie-fanart.jpg", "identifier": "com.plexapp.plugins.library", "librarySectionID": "", "librarySectionTitle": "Movies", "librarySectionUUID": "322a231a-b7f7-49f5-920f-14c61199cd30", "mediaTagPrefix": "/system/bundle/media/flags/", "mediaTagVersion": 1701731894, "thumb": "/:/resources/movie.png", "title1": "Movies", "title2": "Recently Released", "viewGroup": "movie", "viewMode": 65592, "mixedParents": true, "Metadata": [{"ratingKey": "58683", "key": "/library/metadata/58683", "guid": "plex://movie/5d7768ba96b655001fdc0408", "studio": "20th Century Studios", "skipChildren": false, "type": "movie", "title": "Avatar: The Way of Water", "slug": "4-for-texas", "contentRating": "PG-13", "summary": "Jake Sully lives with his newfound family formed on the extrasolar moon Pandora. Once a familiar threat returns to finish what was previously started, Jake must work with Neytiri and the army of the Na'vi race to protect their home.", "rating": 7.6, "audienceRating": 9.2, "year": 2022, "seasonCount": 2022, "tagline": "Return to Pandora.", "flattenSeasons": "1", "showOrdering": "dvd", "thumb": "/library/metadata/58683/thumb/1703239236", "art": "/library/metadata/58683/art/1703239236", "banner": "/library/metadata/58683/banner/1703239236", "duration": 11558112, "originallyAvailableAt": "2022-12-14T00:00:00Z", "addedAt": 1556281940, "updatedAt": 1556281940, "audienceRatingImage": "rottentomatoes://image.rating.upright", "chapterSource": "media", "primaryExtraKey": "/library/metadata/58684", "ratingImage": "rottentomatoes://image.rating.ripe", "grandparentRatingKey": "66", "grandparentGuid": "plex://show/5d9c081b170e24001f2a7be4", "grandparentKey": "/library/metadata/66", "grandparentTitle": "Caprica", "grandparentThumb": "/library/metadata/66/thumb/1705716261", "grandparentSlug": "alice-in-borderland-2020", "grandparentArt": "/library/metadata/66/art/1705716261", "grandparentTheme": "/library/metadata/66/theme/1705716261", "Media": [{"id": 119534, "duration": 11558112, "bitrate": 25025, "width": 3840, "height": 2072, "aspectRatio": 1.85, "audioProfile": "dts", "audioChannels": 6, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "Part": [{"id": 119542, "key": "/library/parts/119542/1680457526/file.mkv", "duration": 11558112, "file": "/movies/Avatar The Way of Water (2022)/Avatar.The.Way.of.Water.2022.2160p.WEB-DL.DDP5.1.Atmos.DV.HDR10.HEVC-CMRG.mkv", "size": 36158371307, "container": "mkv", "audioProfile": "dts", "videoProfile": "main 10", "indexes": "sd", "hasThumbnail": "1"}]}, {"id": 119534, "duration": 11558112, "bitrate": 25025, "width": 3840, "height": 2072, "aspectRatio": 1.85, "audioProfile": "dts", "audioChannels": 6, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "Part": [{"id": 119542, "key": "/library/parts/119542/1680457526/file.mkv", "duration": 11558112, "file": "/movies/Avatar The Way of Water (2022)/Avatar.The.Way.of.Water.2022.2160p.WEB-DL.DDP5.1.Atmos.DV.HDR10.HEVC-CMRG.mkv", "size": 36158371307, "container": "mkv", "audioProfile": "dts", "videoProfile": "main 10", "indexes": "sd", "hasThumbnail": "1"}, {"id": 119542, "key": "/library/parts/119542/1680457526/file.mkv", "duration": 11558112, "file": "/movies/Avatar The Way of Water (2022)/Avatar.The.Way.of.Water.2022.2160p.WEB-DL.DDP5.1.Atmos.DV.HDR10.HEVC-CMRG.mkv", "size": 36158371307, "container": "mkv", "audioProfile": "dts", "videoProfile": "main 10", "indexes": "sd", "hasThumbnail": "1"}, {"id": 119542, "key": "/library/parts/119542/1680457526/file.mkv", "duration": 11558112, "file": "/movies/Avatar The Way of Water (2022)/Avatar.The.Way.of.Water.2022.2160p.WEB-DL.DDP5.1.Atmos.DV.HDR10.HEVC-CMRG.mkv", "size": 36158371307, "container": "mkv", "audioProfile": "dts", "videoProfile": "main 10", "indexes": "sd", "hasThumbnail": "1"}]}], "Genre": [{"tag": "Adventure"}, {"tag": "Adventure"}, {"tag": "Adventure"}], "Country": [{"tag": "United States of America"}, {"tag": "United States of America"}], "Director": [{"tag": "James Cameron"}, {"tag": "James Cameron"}], "Writer": [{"tag": "James Cameron"}], "Collection": [{"tag": "Working NL Subs"}], "Role": [{"tag": "Sigourney Weaver"}, {"tag": "Sigourney Weaver"}, {"tag": "Sigourney Weaver"}], "Guid": [{"id": "imdb://tt13015952"}], "UltraBlurColors": {"topLeft": "11333b", "topRight": "0a232d", "bottomRight": "73958", "bottomLeft": "1f5066"}, "Image": [{"alt": "Episode 1", "type": "background", "url": "/library/metadata/45521/thumb/1644710589"}, {"alt": "Episode 1", "type": "background", "url": "/library/metadata/45521/thumb/1644710589"}], "titleSort": "Whale", "viewCount": 1, "lastViewedAt": 1682752242, "originalTitle": "映画 ブラッククローバー 魔法帝の剣", "viewOffset": 5222500, "skipCount": 1, "index": 1, "theme": "/library/metadata/1/theme/1705636920", "leafCount": 14, "viewedLeafCount": 0, "childCount": 1, "hasPremiumExtras": "1", "hasPremiumPrimaryExtra": "1", "parentRatingKey": "66", "parentGuid": "plex://show/5d9c081b170e24001f2a7be4", "parentStudio": "UCP", "parentKey": "/library/metadata/66", "parentTitle": "Caprica", "parentIndex": 1, "parentYear": 2010, "parentThumb": "/library/metadata/66/thumb/1705716261", "parentTheme": "/library/metadata/66/theme/1705716261"}, {"ratingKey": "58683", "key": "/library/metadata/58683", "guid": "plex://movie/5d7768ba96b655001fdc0408", "studio": "20th Century Studios", "skipChildren": false, "type": "movie", "title": "Avatar: The Way of Water", "slug": "4-for-texas", "contentRating": "PG-13", "summary": "Jake Sully lives with his newfound family formed on the extrasolar moon Pandora. Once a familiar threat returns to finish what was previously started, Jake must work with Neytiri and the army of the Na'vi race to protect their home.", "rating": 7.6, "audienceRating": 9.2, "year": 2022, "seasonCount": 2022, "tagline": "Return to Pandora.", "flattenSeasons": "1", "showOrdering": "dvd", "thumb": "/library/metadata/58683/thumb/1703239236", "art": "/library/metadata/58683/art/1703239236", "banner": "/library/metadata/58683/banner/1703239236", "duration": 11558112, "originallyAvailableAt": "2022-12-14T00:00:00Z", "addedAt": 1556281940, "updatedAt": 1556281940, "audienceRatingImage": "rottentomatoes://image.rating.upright", "chapterSource": "media", "primaryExtraKey": "/library/metadata/58684", "ratingImage": "rottentomatoes://image.rating.ripe", "grandparentRatingKey": "66", "grandparentGuid": "plex://show/5d9c081b170e24001f2a7be4", "grandparentKey": "/library/metadata/66", "grandparentTitle": "Caprica", "grandparentThumb": "/library/metadata/66/thumb/1705716261", "grandparentSlug": "alice-in-borderland-2020", "grandparentArt": "/library/metadata/66/art/1705716261", "grandparentTheme": "/library/metadata/66/theme/1705716261", "Media": [{"id": 119534, "duration": 11558112, "bitrate": 25025, "width": 3840, "height": 2072, "aspectRatio": 1.85, "audioProfile": "dts", "audioChannels": 6, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "Part": [{"id": 119542, "key": "/library/parts/119542/1680457526/file.mkv", "duration": 11558112, "file": "/movies/Avatar The Way of Water (2022)/Avatar.The.Way.of.Water.2022.2160p.WEB-DL.DDP5.1.Atmos.DV.HDR10.HEVC-CMRG.mkv", "size": 36158371307, "container": "mkv", "audioProfile": "dts", "videoProfile": "main 10", "indexes": "sd", "hasThumbnail": "1"}]}], "Genre": [], "Country": [{"tag": "United States of America"}], "Director": [{"tag": "James Cameron"}, {"tag": "James Cameron"}, {"tag": "James Cameron"}], "Writer": [{"tag": "James Cameron"}], "Collection": [{"tag": "Working NL Subs"}, {"tag": "Working NL Subs"}], "Role": [{"tag": "Sigourney Weaver"}, {"tag": "Sigourney Weaver"}, {"tag": "Sigourney Weaver"}], "Guid": [{"id": "imdb://tt13015952"}], "UltraBlurColors": {"topLeft": "11333b", "topRight": "0a232d", "bottomRight": "73958", "bottomLeft": "1f5066"}, "Image": [{"alt": "Episode 1", "type": "background", "url": "/library/metadata/45521/thumb/1644710589"}], "titleSort": "Whale", "viewCount": 1, "lastViewedAt": 1682752242, "originalTitle": "映画 ブラッククローバー 魔法帝の剣", "viewOffset": 5222500, "skipCount": 1, "index": 1, "theme": "/library/metadata/1/theme/1705636920", "leafCount": 14, "viewedLeafCount": 0, "childCount": 1, "hasPremiumExtras": "1", "hasPremiumPrimaryExtra": "1", "parentRatingKey": "66", "parentGuid": "plex://show/5d9c081b170e24001f2a7be4", "parentStudio": "UCP", "parentKey": "/library/metadata/66", "parentTitle": "Caprica", "parentIndex": 1, "parentYear": 2010, "parentThumb": "/library/metadata/66/thumb/1705716261", "parentTheme": "/library/metadata/66/theme/1705716261"}], "Meta": {"Type": [{"key": "/library/sections/2/all?type=2", "type": "show", "title": "TV Shows", "active": false, "Filter": [], "Sort": [], "Field": [{"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}, {"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}]}, {"key": "/library/sections/2/all?type=2", "type": "show", "title": "TV Shows", "active": false, "Filter": [{"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter"}, {"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter"}, {"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter"}], "Sort": [], "Field": [{"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}, {"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}, {"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}]}], "FieldType": [{"type": "tag", "Operator": [{"key": "=", "title": "is"}]}, {"type": "tag", "Operator": [{"key": "=", "title": "is"}, {"key": "=", "title": "is"}]}, {"type": "tag", "Operator": [{"key": "=", "title": "is"}, {"key": "=", "title": "is"}]}]}}} "400": application/json: {"errors": [{"code": 1000, "message": "X-Plex-Client-Identifier is missing", "status": 400}]} "401": @@ -2261,7 +2284,7 @@ examples: speakeasy-default-get-token-details: responses: "200": - application/json: {"adsConsent": true, "adsConsentReminderAt": "2019-08-24T14:15:22Z", "adsConsentSetAt": "2019-08-24T14:15:22Z", "anonymous": false, "authToken": "CxoUzBTSV5hsxjTpFKaf", "backupCodesCreated": false, "confirmed": false, "country": "US", "email": "username@email.com", "emailOnlyAuth": false, "experimentalFeatures": false, "friendlyName": "friendlyUsername", "entitlements": ["[]"], "guest": false, "hasPassword": true, "home": false, "homeAdmin": false, "homeSize": 1, "id": 13692262, "joinedAt": 1556281940, "locale": null, "mailingListActive": false, "mailingListStatus": "unsubscribed", "maxHomeSize": 15, "pin": "string", "profile": {"autoSelectAudio": true, "defaultAudioLanguage": "ja", "defaultSubtitleLanguage": "en", "autoSelectSubtitle": 1, "defaultSubtitleAccessibility": 1, "defaultSubtitleForced": 1, "watchedIndicator": 1, "mediaReviewsVisibility": 1}, "protected": false, "rememberExpiresAt": 1556281940, "restricted": false, "roles": ["string"], "scrobbleTypes": "", "services": [{"identifier": "metadata-dev", "endpoint": "https://epg.provider.plex.tv", "token": "DjoMtqFAGRL1uVtCyF1dKIorTbShJeqv", "secret": "string", "status": "online"}], "subscription": {"features": ["Android - Dolby Vision"], "active": true, "subscribedAt": "2021-04-12T18:21:12Z", "status": "Inactive", "paymentService": "string", "plan": "string"}, "subscriptionDescription": "string", "subscriptions": [{"features": ["Android - Dolby Vision"], "active": true, "subscribedAt": "2021-04-12T18:21:12Z", "status": "Inactive", "paymentService": "string", "plan": "string"}], "thumb": "https://plex.tv/users/a4f43c1ebfde43a5/avatar?c=8372075101", "title": "UsernameTitle", "twoFactorEnabled": false, "username": "Username", "uuid": "dae343c1f45beb4f"} + application/json: {"adsConsent": true, "adsConsentReminderAt": "2019-08-24T14:15:22Z", "adsConsentSetAt": "2019-08-24T14:15:22Z", "anonymous": false, "authToken": "CxoUzBTSV5hsxjTpFKaf", "backupCodesCreated": false, "confirmed": false, "country": "US", "email": "username@email.com", "emailOnlyAuth": false, "experimentalFeatures": false, "friendlyName": "friendlyUsername", "entitlements": ["[]"], "guest": false, "hasPassword": true, "home": false, "homeAdmin": false, "homeSize": 1, "id": 13692262, "joinedAt": 1556281940, "locale": null, "mailingListActive": false, "mailingListStatus": "unsubscribed", "maxHomeSize": 15, "pin": "string", "profile": {"autoSelectAudio": true, "defaultAudioLanguage": "ja", "defaultSubtitleLanguage": "en", "autoSelectSubtitle": 1, "defaultSubtitleAccessibility": 1, "defaultSubtitleForced": 1, "watchedIndicator": 1, "mediaReviewsVisibility": 1}, "protected": false, "rememberExpiresAt": 1556281940, "restricted": false, "roles": ["string"], "scrobbleTypes": "", "services": [{"identifier": "metadata-dev", "endpoint": "https://epg.provider.plex.tv", "token": "DjoMtqFAGRL1uVtCyF1dKIorTbShJeqv", "secret": "string", "status": "online"}], "subscription": {"features": ["Android - Dolby Vision"], "active": true, "subscribedAt": "2021-04-12T18:21:12Z", "status": "Inactive", "paymentService": "string", "plan": "string"}, "subscriptionDescription": "string", "subscriptions": [{"features": ["Android - Dolby Vision"], "active": true, "subscribedAt": "2021-04-12T18:21:12Z", "status": "Inactive", "paymentService": "string", "plan": "string"}], "thumb": "https://plex.tv/users/a4f43c1ebfde43a5/avatar?c=8372075101", "title": "UsernameTitle", "twoFactorEnabled": false, "username": "Username", "uuid": "dae343c1f45beb4f", "attributionPartner": null} "400": application/json: {"errors": []} "401": @@ -2272,7 +2295,7 @@ examples: application/x-www-form-urlencoded: {"login": "username@email.com", "password": "password123", "verificationCode": "123456"} responses: "201": - application/json: {"adsConsent": true, "adsConsentReminderAt": "2019-08-24T14:15:22Z", "adsConsentSetAt": "2019-08-24T14:15:22Z", "anonymous": false, "authToken": "CxoUzBTSV5hsxjTpFKaf", "backupCodesCreated": false, "confirmed": false, "country": "US", "email": "username@email.com", "emailOnlyAuth": false, "experimentalFeatures": false, "friendlyName": "friendlyUsername", "entitlements": ["[]"], "guest": false, "hasPassword": true, "home": false, "homeAdmin": false, "homeSize": 1, "id": 13692262, "joinedAt": 1556281940, "locale": null, "mailingListActive": false, "mailingListStatus": "unsubscribed", "maxHomeSize": 15, "pin": "string", "profile": {"autoSelectAudio": true, "defaultAudioLanguage": "ja", "defaultSubtitleLanguage": "en", "autoSelectSubtitle": 1, "defaultSubtitleAccessibility": 1, "defaultSubtitleForced": 1, "watchedIndicator": 1, "mediaReviewsVisibility": 1}, "protected": false, "rememberExpiresAt": 1556281940, "restricted": false, "roles": ["string"], "scrobbleTypes": "", "services": [{"identifier": "metadata-dev", "endpoint": "https://epg.provider.plex.tv", "token": "DjoMtqFAGRL1uVtCyF1dKIorTbShJeqv", "secret": "string", "status": "online"}], "subscription": {"features": ["Android - Dolby Vision"], "active": true, "subscribedAt": "2021-04-12T18:21:12Z", "status": "Inactive", "paymentService": "string", "plan": "string"}, "subscriptionDescription": "string", "subscriptions": [{"features": ["Android - Dolby Vision"], "active": true, "subscribedAt": "2021-04-12T18:21:12Z", "status": "Inactive", "paymentService": "string", "plan": "string"}], "thumb": "https://plex.tv/users/a4f43c1ebfde43a5/avatar?c=8372075101", "title": "UsernameTitle", "twoFactorEnabled": false, "username": "Username", "uuid": "dae343c1f45beb4f", "pastSubscriptions": [{"id": "string", "mode": "string", "renewsAt": 1556281940, "endsAt": 1556281940, "canceled": false, "gracePeriod": false, "onHold": false, "canReactivate": false, "canUpgrade": false, "canDowngrade": false, "canConvert": false, "type": "plexpass", "transfer": "string", "state": "ended", "billing": {"paymentMethodId": 481656}}], "trials": [{}]} + application/json: {"adsConsent": true, "adsConsentReminderAt": "2019-08-24T14:15:22Z", "adsConsentSetAt": "2019-08-24T14:15:22Z", "anonymous": false, "authToken": "CxoUzBTSV5hsxjTpFKaf", "backupCodesCreated": false, "confirmed": false, "country": "US", "email": "username@email.com", "emailOnlyAuth": false, "experimentalFeatures": false, "friendlyName": "friendlyUsername", "entitlements": ["[]"], "guest": false, "hasPassword": true, "home": false, "homeAdmin": false, "homeSize": 1, "id": 13692262, "joinedAt": 1556281940, "locale": null, "mailingListActive": false, "mailingListStatus": "unsubscribed", "maxHomeSize": 15, "pin": "string", "profile": {"autoSelectAudio": true, "defaultAudioLanguage": "ja", "defaultSubtitleLanguage": "en", "autoSelectSubtitle": 1, "defaultSubtitleAccessibility": 1, "defaultSubtitleForced": 1, "watchedIndicator": 1, "mediaReviewsVisibility": 1}, "protected": false, "rememberExpiresAt": 1556281940, "restricted": false, "roles": ["string"], "scrobbleTypes": "", "services": [{"identifier": "metadata-dev", "endpoint": "https://epg.provider.plex.tv", "token": "DjoMtqFAGRL1uVtCyF1dKIorTbShJeqv", "secret": "string", "status": "online"}], "subscription": {"features": ["Android - Dolby Vision"], "active": true, "subscribedAt": "2021-04-12T18:21:12Z", "status": "Inactive", "paymentService": "string", "plan": "string"}, "subscriptionDescription": "string", "subscriptions": [{"features": ["Android - Dolby Vision"], "active": true, "subscribedAt": "2021-04-12T18:21:12Z", "status": "Inactive", "paymentService": "string", "plan": "string"}], "thumb": "https://plex.tv/users/a4f43c1ebfde43a5/avatar?c=8372075101", "title": "UsernameTitle", "twoFactorEnabled": false, "username": "Username", "uuid": "dae343c1f45beb4f", "attributionPartner": null, "pastSubscriptions": [{"id": "string", "mode": "string", "renewsAt": 1556281940, "endsAt": 1556281940, "canceled": false, "gracePeriod": false, "onHold": false, "canReactivate": false, "canUpgrade": false, "canDowngrade": false, "canConvert": false, "type": "plexpass", "transfer": "string", "state": "ended", "billing": {"paymentMethodId": 481656}}], "trials": [{}]} "400": application/json: {"errors": []} "401": diff --git a/.speakeasy/gen.yaml b/.speakeasy/gen.yaml index e722f67..6bf530f 100644 --- a/.speakeasy/gen.yaml +++ b/.speakeasy/gen.yaml @@ -12,7 +12,7 @@ generation: auth: oAuth2ClientCredentialsEnabled: false ruby: - version: 0.4.0 + version: 0.4.1 author: LukeHagar description: Ruby Client SDK Generated by Speakeasy imports: diff --git a/.speakeasy/workflow.lock b/.speakeasy/workflow.lock index 98e0388..6c8c329 100644 --- a/.speakeasy/workflow.lock +++ b/.speakeasy/workflow.lock @@ -9,8 +9,8 @@ sources: - main plexapi: sourceNamespace: plexapi - sourceRevisionDigest: sha256:5aa71ad96ca6de91143ee513c9880e08e555e7748fb4b5f8d069c6ab0c8f3069 - sourceBlobDigest: sha256:1cbef844e2856c2eabba4bd6d677d96c572fed13b27978d0d953aa06b224c02f + sourceRevisionDigest: sha256:fc6eebe661455e23b1aa352a91c14ef773fa72331330ec4caeddc2c460dc16bb + sourceBlobDigest: sha256:2e81e86c83d7f4e8842efca0d43a2db84a4932534c8439e3737e1f65c873f855 tags: - latest - main @@ -18,10 +18,10 @@ targets: plexruby: source: plexapi sourceNamespace: plexapi - sourceRevisionDigest: sha256:5aa71ad96ca6de91143ee513c9880e08e555e7748fb4b5f8d069c6ab0c8f3069 - sourceBlobDigest: sha256:1cbef844e2856c2eabba4bd6d677d96c572fed13b27978d0d953aa06b224c02f + sourceRevisionDigest: sha256:fc6eebe661455e23b1aa352a91c14ef773fa72331330ec4caeddc2c460dc16bb + sourceBlobDigest: sha256:2e81e86c83d7f4e8842efca0d43a2db84a4932534c8439e3737e1f65c873f855 codeSamplesNamespace: code-samples-ruby-plexruby - codeSamplesRevisionDigest: sha256:4a345ee31f4fca70a44d0ec04b5fdea3cd1da242e6469837c27b347972e13e7e + codeSamplesRevisionDigest: sha256:882f0cf5790d22f412dfa3648c1feb8affe2560b8fb94821ee041bcc37b40613 workflow: workflowVersion: 1.0.0 speakeasyVersion: latest diff --git a/Gemfile.lock b/Gemfile.lock index cf80400..2f52b90 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,7 +1,7 @@ PATH remote: . specs: - plex_ruby_sdk (0.4.0) + plex_ruby_sdk (0.4.1) faraday faraday-multipart rack diff --git a/RELEASES.md b/RELEASES.md index 63efaf1..bc5508d 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -546,4 +546,14 @@ Based on: ### Generated - [ruby v0.4.0] . ### Releases -- [Ruby Gems v0.4.0] https://rubygems.org/gems/plex_ruby_sdk/versions/0.4.0 - . \ No newline at end of file +- [Ruby Gems v0.4.0] https://rubygems.org/gems/plex_ruby_sdk/versions/0.4.0 - . + +## 2024-09-22 00:08:17 +### Changes +Based on: +- OpenAPI Doc +- Speakeasy CLI 1.401.2 (2.421.3) https://github.com/speakeasy-api/speakeasy +### Generated +- [ruby v0.4.1] . +### Releases +- [Ruby Gems v0.4.1] https://rubygems.org/gems/plex_ruby_sdk/versions/0.4.1 - . \ No newline at end of file diff --git a/codeSamples.yaml b/codeSamples.yaml index 6d90a15..255182d 100644 --- a/codeSamples.yaml +++ b/codeSamples.yaml @@ -152,7 +152,7 @@ actions: x-codeSamples: - lang: ruby label: getTopWatchedContent - source: "require 'plex_ruby_sdk'\n\n\ns = ::PlexRubySDK::PlexAPI.new(\n client_id: \"gcgzw5rz2xovp84b4vha3a40\",\n client_name: \"Plex Web\",\n client_version: \"4.133.0\",\n client_platform: \"Chrome\",\n device_name: \"Linux\",\n )\ns.config_security(\n ::PlexRubySDK::Shared::Security.new(\n access_token: \"\",\n )\n)\n\n \nres = s.library.get_top_watched_content(type=::PlexRubySDK::Operations::GetTopWatchedContentQueryParamType::SHOW, include_guids=1)\n\nif ! res.object.nil?\n # handle response\nend" + source: "require 'plex_ruby_sdk'\n\n\ns = ::PlexRubySDK::PlexAPI.new(\n client_id: \"gcgzw5rz2xovp84b4vha3a40\",\n client_name: \"Plex Web\",\n client_version: \"4.133.0\",\n client_platform: \"Chrome\",\n device_name: \"Linux\",\n )\ns.config_security(\n ::PlexRubySDK::Shared::Security.new(\n access_token: \"\",\n )\n)\n\n \nres = s.library.get_top_watched_content(type=::PlexRubySDK::Operations::GetTopWatchedContentQueryParamType::TV_SHOW, include_guids=1)\n\nif ! res.object.nil?\n # handle response\nend" - target: $["paths"]["/library/hashes"]["get"] update: x-codeSamples: @@ -230,13 +230,13 @@ actions: x-codeSamples: - lang: ruby label: library - source: "require 'plex_ruby_sdk'\n\n\ns = ::PlexRubySDK::PlexAPI.new(\n client_id: \"gcgzw5rz2xovp84b4vha3a40\",\n client_name: \"Plex Web\",\n client_version: \"4.133.0\",\n client_platform: \"Chrome\",\n device_name: \"Linux\",\n )\ns.config_security(\n ::PlexRubySDK::Shared::Security.new(\n access_token: \"\",\n )\n)\n\n \nres = s.library.get_search_library(section_key=9518, type=::PlexRubySDK::Operations::QueryParamType::SHOW)\n\nif ! res.object.nil?\n # handle response\nend" + source: "require 'plex_ruby_sdk'\n\n\ns = ::PlexRubySDK::PlexAPI.new(\n client_id: \"gcgzw5rz2xovp84b4vha3a40\",\n client_name: \"Plex Web\",\n client_version: \"4.133.0\",\n client_platform: \"Chrome\",\n device_name: \"Linux\",\n )\ns.config_security(\n ::PlexRubySDK::Shared::Security.new(\n access_token: \"\",\n )\n)\n\n \nres = s.library.get_search_library(section_key=9518, type=::PlexRubySDK::Operations::QueryParamType::TV_SHOW)\n\nif ! res.object.nil?\n # handle response\nend" - target: $["paths"]["/library/sections/{sectionKey}/{tag}"]["get"] update: x-codeSamples: - lang: ruby label: items - source: "require 'plex_ruby_sdk'\n\n\ns = ::PlexRubySDK::PlexAPI.new(\n client_id: \"gcgzw5rz2xovp84b4vha3a40\",\n client_name: \"Plex Web\",\n client_version: \"4.133.0\",\n client_platform: \"Chrome\",\n device_name: \"Linux\",\n )\ns.config_security(\n ::PlexRubySDK::Shared::Security.new(\n access_token: \"\",\n )\n)\n\n\nreq = ::PlexRubySDK::Operations::GetLibraryItemsRequest.new(\n section_key: 9518,\n tag: ::PlexRubySDK::Operations::Tag::EDITION,\n include_guids: ::PlexRubySDK::Operations::IncludeGuids::ENABLE,\n include_meta: ::PlexRubySDK::Operations::IncludeMeta::ENABLE,\n type: ::PlexRubySDK::Operations::Type::SHOW,\n x_plex_container_start: 0,\n x_plex_container_size: 50,\n)\n \nres = s.library.get_library_items(req)\n\nif ! res.object.nil?\n # handle response\nend" + source: "require 'plex_ruby_sdk'\n\n\ns = ::PlexRubySDK::PlexAPI.new(\n client_id: \"gcgzw5rz2xovp84b4vha3a40\",\n client_name: \"Plex Web\",\n client_version: \"4.133.0\",\n client_platform: \"Chrome\",\n device_name: \"Linux\",\n )\ns.config_security(\n ::PlexRubySDK::Shared::Security.new(\n access_token: \"\",\n )\n)\n\n\nreq = ::PlexRubySDK::Operations::GetLibraryItemsRequest.new(\n section_key: 9518,\n tag: ::PlexRubySDK::Operations::Tag::EDITION,\n include_guids: ::PlexRubySDK::Operations::IncludeGuids::ENABLE,\n include_meta: ::PlexRubySDK::Operations::IncludeMeta::ENABLE,\n type: ::PlexRubySDK::Operations::Type::TV_SHOW,\n x_plex_container_start: 0,\n x_plex_container_size: 50,\n)\n \nres = s.library.get_library_items(req)\n\nif ! res.object.nil?\n # handle response\nend" - target: $["paths"]["/log"]["get"] update: x-codeSamples: @@ -332,7 +332,7 @@ actions: x-codeSamples: - lang: ruby label: getPlaylistContents - source: "require 'plex_ruby_sdk'\n\n\ns = ::PlexRubySDK::PlexAPI.new(\n client_id: \"gcgzw5rz2xovp84b4vha3a40\",\n client_name: \"Plex Web\",\n client_version: \"4.133.0\",\n client_platform: \"Chrome\",\n device_name: \"Linux\",\n )\ns.config_security(\n ::PlexRubySDK::Shared::Security.new(\n access_token: \"\",\n )\n)\n\n \nres = s.playlists.get_playlist_contents(playlist_id=5004.46, type=::PlexRubySDK::Operations::GetPlaylistContentsQueryParamType::SHOW)\n\nif ! res.object.nil?\n # handle response\nend" + source: "require 'plex_ruby_sdk'\n\n\ns = ::PlexRubySDK::PlexAPI.new(\n client_id: \"gcgzw5rz2xovp84b4vha3a40\",\n client_name: \"Plex Web\",\n client_version: \"4.133.0\",\n client_platform: \"Chrome\",\n device_name: \"Linux\",\n )\ns.config_security(\n ::PlexRubySDK::Shared::Security.new(\n access_token: \"\",\n )\n)\n\n \nres = s.playlists.get_playlist_contents(playlist_id=5004.46, type=::PlexRubySDK::Operations::GetPlaylistContentsQueryParamType::TV_SHOW)\n\nif ! res.object.nil?\n # handle response\nend" - target: $["paths"]["/playlists/{playlistID}/items"]["put"] update: x-codeSamples: diff --git a/docs/models/operations/action.md b/docs/models/operations/action.md new file mode 100644 index 0000000..a2d0429 --- /dev/null +++ b/docs/models/operations/action.md @@ -0,0 +1,9 @@ +# Action + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------ | ------------------------------ | ------------------------------ | ------------------------------ | ------------------------------ | +| `id` | *::String* | :heavy_check_mark: | N/A | addToContinueWatching | +| `key` | *::String* | :heavy_check_mark: | N/A | /actions/addToContinueWatching | \ No newline at end of file diff --git a/docs/models/operations/activedirection.md b/docs/models/operations/activedirection.md new file mode 100644 index 0000000..0c1320a --- /dev/null +++ b/docs/models/operations/activedirection.md @@ -0,0 +1,12 @@ +# ActiveDirection + +The direction of the sort. Can be either `asc` or `desc`. + + + +## Values + +| Name | Value | +| ------------ | ------------ | +| `ASCENDING` | asc | +| `DESCENDING` | desc | \ No newline at end of file diff --git a/docs/models/operations/collection.md b/docs/models/operations/collection.md new file mode 100644 index 0000000..28cda9a --- /dev/null +++ b/docs/models/operations/collection.md @@ -0,0 +1,8 @@ +# Collection + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------- | --------------------- | --------------------- | --------------------- | --------------------- | +| `tag` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | Working NL Subs | \ No newline at end of file diff --git a/docs/models/operations/defaultdirection.md b/docs/models/operations/defaultdirection.md new file mode 100644 index 0000000..1907c21 --- /dev/null +++ b/docs/models/operations/defaultdirection.md @@ -0,0 +1,12 @@ +# DefaultDirection + +The direction of the sort. Can be either `asc` or `desc`. + + + +## Values + +| Name | Value | +| ------------ | ------------ | +| `ASCENDING` | asc | +| `DESCENDING` | desc | \ No newline at end of file diff --git a/docs/models/operations/feature.md b/docs/models/operations/feature.md index 8390a0d..eecd66a 100644 --- a/docs/models/operations/feature.md +++ b/docs/models/operations/feature.md @@ -3,8 +3,12 @@ ## Fields -| Field | Type | Required | Description | -| ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ | -| `key` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | -| `type` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | -| `directory` | T::Array<[::PlexRubySDK::Operations::GetMediaProvidersDirectory](../../models/operations/getmediaprovidersdirectory.md)> | :heavy_minus_sign: | N/A | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ | +| `key` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | | +| `type` | *::String* | :heavy_check_mark: | N/A | | +| `flavor` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | global | +| `scrobble_key` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | /:/scrobble/new | +| `unscrobble_key` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | /:/unscrobble/new | +| `directory` | T::Array<[::PlexRubySDK::Operations::GetMediaProvidersDirectory](../../models/operations/getmediaprovidersdirectory.md)> | :heavy_minus_sign: | N/A | | +| `action` | T::Array<[::PlexRubySDK::Operations::Action](../../models/operations/action.md)> | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/models/operations/flattenseasons.md b/docs/models/operations/flattenseasons.md new file mode 100644 index 0000000..ce0348f --- /dev/null +++ b/docs/models/operations/flattenseasons.md @@ -0,0 +1,9 @@ +# FlattenSeasons + + +## Values + +| Name | Value | +| ------- | ------- | +| `FALSE` | 0 | +| `TRUE` | 1 | \ No newline at end of file diff --git a/docs/models/operations/getlibraryitemsimage.md b/docs/models/operations/getlibraryitemsimage.md new file mode 100644 index 0000000..cf80581 --- /dev/null +++ b/docs/models/operations/getlibraryitemsimage.md @@ -0,0 +1,10 @@ +# GetLibraryItemsImage + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ | +| `alt` | *::String* | :heavy_check_mark: | N/A | Episode 1 | +| `type` | [::PlexRubySDK::Operations::GetLibraryItemsLibraryResponseType](../../models/operations/getlibraryitemslibraryresponsetype.md) | :heavy_check_mark: | N/A | background | +| `url` | *::String* | :heavy_check_mark: | N/A | /library/metadata/45521/thumb/1644710589 | \ No newline at end of file diff --git a/docs/models/operations/getlibraryitemslibraryresponsetype.md b/docs/models/operations/getlibraryitemslibraryresponsetype.md new file mode 100644 index 0000000..1573fa0 --- /dev/null +++ b/docs/models/operations/getlibraryitemslibraryresponsetype.md @@ -0,0 +1,11 @@ +# GetLibraryItemsLibraryResponseType + + +## Values + +| Name | Value | +| -------------- | -------------- | +| `COVER_POSTER` | coverPoster | +| `BACKGROUND` | background | +| `SNAPSHOT` | snapshot | +| `CLEAR_LOGO` | clearLogo | \ No newline at end of file diff --git a/docs/models/operations/getlibraryitemslibrarytype.md b/docs/models/operations/getlibraryitemslibrarytype.md new file mode 100644 index 0000000..49eee75 --- /dev/null +++ b/docs/models/operations/getlibraryitemslibrarytype.md @@ -0,0 +1,14 @@ +# GetLibraryItemsLibraryType + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | +| `key` | *::String* | :heavy_check_mark: | N/A | /library/sections/2/all?type=2 | +| `type` | *::String* | :heavy_check_mark: | N/A | show | +| `title` | *::String* | :heavy_check_mark: | N/A | TV Shows | +| `active` | *T::Boolean* | :heavy_check_mark: | N/A | false | +| `filter` | T::Array<[::PlexRubySDK::Operations::GetLibraryItemsFilter](../../models/operations/getlibraryitemsfilter.md)> | :heavy_minus_sign: | N/A | | +| `sort` | T::Array<[::PlexRubySDK::Operations::GetLibraryItemsSort](../../models/operations/getlibraryitemssort.md)> | :heavy_minus_sign: | N/A | | +| `field` | T::Array<[::PlexRubySDK::Operations::GetLibraryItemsField](../../models/operations/getlibraryitemsfield.md)> | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/models/operations/getlibraryitemsmedia.md b/docs/models/operations/getlibraryitemsmedia.md index 8d661c0..63f2ed5 100644 --- a/docs/models/operations/getlibraryitemsmedia.md +++ b/docs/models/operations/getlibraryitemsmedia.md @@ -5,17 +5,19 @@ | Field | Type | Required | Description | Example | | ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | -| `id` | *T.nilable(::Integer)* | :heavy_minus_sign: | N/A | 119534 | -| `duration` | *T.nilable(::Integer)* | :heavy_minus_sign: | N/A | 11558112 | -| `bitrate` | *T.nilable(::Integer)* | :heavy_minus_sign: | N/A | 25025 | -| `width` | *T.nilable(::Integer)* | :heavy_minus_sign: | N/A | 3840 | -| `height` | *T.nilable(::Integer)* | :heavy_minus_sign: | N/A | 2072 | -| `aspect_ratio` | *T.nilable(::Float)* | :heavy_minus_sign: | N/A | 1.85 | -| `audio_channels` | *T.nilable(::Integer)* | :heavy_minus_sign: | N/A | 6 | -| `audio_codec` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | eac3 | -| `video_codec` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | hevc | -| `video_resolution` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | 4k | -| `container` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | mkv | -| `video_frame_rate` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | 24p | -| `video_profile` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | main 10 | -| `part` | T::Array<[::PlexRubySDK::Operations::GetLibraryItemsPart](../../models/operations/getlibraryitemspart.md)> | :heavy_minus_sign: | N/A | | \ No newline at end of file +| `id` | *::Integer* | :heavy_check_mark: | N/A | 119534 | +| `duration` | *::Integer* | :heavy_check_mark: | N/A | 11558112 | +| `bitrate` | *::Integer* | :heavy_check_mark: | N/A | 25025 | +| `width` | *::Integer* | :heavy_check_mark: | N/A | 3840 | +| `height` | *::Integer* | :heavy_check_mark: | N/A | 2072 | +| `aspect_ratio` | *::Float* | :heavy_check_mark: | N/A | 1.85 | +| `audio_profile` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | dts | +| `audio_channels` | *::Integer* | :heavy_check_mark: | N/A | 6 | +| `audio_codec` | *::String* | :heavy_check_mark: | N/A | eac3 | +| `video_codec` | *::String* | :heavy_check_mark: | N/A | hevc | +| `video_resolution` | *::String* | :heavy_check_mark: | N/A | 4k | +| `container` | *::String* | :heavy_check_mark: | N/A | mkv | +| `video_frame_rate` | *::String* | :heavy_check_mark: | N/A | 24p | +| `video_profile` | *::String* | :heavy_check_mark: | N/A | main 10 | +| `has_voice_activity` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | N/A | false | +| `part` | T::Array<[::PlexRubySDK::Operations::GetLibraryItemsPart](../../models/operations/getlibraryitemspart.md)> | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/models/operations/getlibraryitemsmediacontainer.md b/docs/models/operations/getlibraryitemsmediacontainer.md index 68625ae..1bb074e 100644 --- a/docs/models/operations/getlibraryitemsmediacontainer.md +++ b/docs/models/operations/getlibraryitemsmediacontainer.md @@ -6,7 +6,11 @@ | Field | Type | Required | Description | Example | | ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | | `size` | *::Integer* | :heavy_check_mark: | N/A | 70 | +| `total_size` | *::Integer* | :heavy_check_mark: | N/A | 170 | +| `offset` | *::Integer* | :heavy_check_mark: | N/A | 0 | +| `content` | *::String* | :heavy_check_mark: | N/A | secondary | | `allow_sync` | *T::Boolean* | :heavy_check_mark: | N/A | true | +| `nocache` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | N/A | true | | `art` | *::String* | :heavy_check_mark: | N/A | /:/resources/movie-fanart.jpg | | `identifier` | *::String* | :heavy_check_mark: | N/A | com.plexapp.plugins.library | | `library_section_id` | *::Object* | :heavy_check_mark: | N/A | | @@ -20,5 +24,5 @@ | `view_group` | *::String* | :heavy_check_mark: | N/A | movie | | `view_mode` | *T.nilable(::Integer)* | :heavy_minus_sign: | N/A | 65592 | | `mixed_parents` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | N/A | true | -| `metadata` | T::Array<[::PlexRubySDK::Operations::GetLibraryItemsMetadata](../../models/operations/getlibraryitemsmetadata.md)> | :heavy_minus_sign: | N/A | | +| `metadata` | T::Array<[::PlexRubySDK::Operations::GetLibraryItemsMetadata](../../models/operations/getlibraryitemsmetadata.md)> | :heavy_check_mark: | N/A | | | `meta` | [T.nilable(::PlexRubySDK::Operations::Meta)](../../models/operations/meta.md) | :heavy_minus_sign: | The Meta object is only included in the response if the `includeMeta` parameter is set to `1`.
| | \ No newline at end of file diff --git a/docs/models/operations/getlibraryitemsmetadata.md b/docs/models/operations/getlibraryitemsmetadata.md index dffb9be..8978a5d 100644 --- a/docs/models/operations/getlibraryitemsmetadata.md +++ b/docs/models/operations/getlibraryitemsmetadata.md @@ -5,24 +5,30 @@ | Field | Type | Required | Description | Example | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `rating_key` | *::String* | :heavy_check_mark: | N/A | 58683 | +| `rating_key` | *::String* | :heavy_check_mark: | The rating key (Media ID) of this media item.
Note: This is always an integer, but is represented as a string in the API.
| 58683 | | `key` | *::String* | :heavy_check_mark: | N/A | /library/metadata/58683 | | `guid` | *::String* | :heavy_check_mark: | N/A | plex://movie/5d7768ba96b655001fdc0408 | | `studio` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | 20th Century Studios | -| `type` | *::String* | :heavy_check_mark: | N/A | movie | +| `skip_children` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | N/A | false | +| `type` | [::PlexRubySDK::Operations::GetLibraryItemsType](../../models/operations/getlibraryitemstype.md) | :heavy_check_mark: | The type of media content
| movie | | `title` | *::String* | :heavy_check_mark: | N/A | Avatar: The Way of Water | +| `slug` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | 4-for-texas | | `content_rating` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | PG-13 | -| `summary` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | Jake Sully lives with his newfound family formed on the extrasolar moon Pandora. Once a familiar threat returns to finish what was previously started, Jake must work with Neytiri and the army of the Na'vi race to protect their home. | +| `summary` | *::String* | :heavy_check_mark: | N/A | Jake Sully lives with his newfound family formed on the extrasolar moon Pandora. Once a familiar threat returns to finish what was previously started, Jake must work with Neytiri and the army of the Na'vi race to protect their home. | | `rating` | *T.nilable(::Float)* | :heavy_minus_sign: | N/A | 7.6 | | `audience_rating` | *T.nilable(::Float)* | :heavy_minus_sign: | N/A | 9.2 | -| `year` | *::Integer* | :heavy_check_mark: | N/A | 2022 | +| `year` | *T.nilable(::Integer)* | :heavy_minus_sign: | N/A | 2022 | +| `season_count` | *T.nilable(::Integer)* | :heavy_minus_sign: | N/A | 2022 | | `tagline` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | Return to Pandora. | +| `flatten_seasons` | [T.nilable(::PlexRubySDK::Operations::FlattenSeasons)](../../models/operations/flattenseasons.md) | :heavy_minus_sign: | N/A | 1 | +| `show_ordering` | [T.nilable(::PlexRubySDK::Operations::ShowOrdering)](../../models/operations/showordering.md) | :heavy_minus_sign: | Setting that indicates the episode ordering for the show
None = Library default,
tmdbAiring = The Movie Database (Aired),
aired = TheTVDB (Aired),
dvd = TheTVDB (DVD),
absolute = TheTVDB (Absolute)).
| dvd | | `thumb` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | /library/metadata/58683/thumb/1703239236 | | `art` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | /library/metadata/58683/art/1703239236 | -| `duration` | *::Integer* | :heavy_check_mark: | N/A | 11558112 | +| `banner` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | /library/metadata/58683/banner/1703239236 | +| `duration` | *T.nilable(::Integer)* | :heavy_minus_sign: | N/A | 11558112 | | `originally_available_at` | [DateTime](https://ruby-doc.org/stdlib-2.6.1/libdoc/date/rdoc/DateTime.html) | :heavy_minus_sign: | N/A | 2022-12-14 00:00:00 +0000 UTC | -| `added_at` | *T.nilable(::Integer)* | :heavy_minus_sign: | N/A | 1680457607 | -| `updated_at` | *T.nilable(::Integer)* | :heavy_minus_sign: | N/A | 1703239236 | +| `added_at` | *::Integer* | :heavy_check_mark: | Unix epoch datetime in seconds | 1556281940 | +| `updated_at` | *T.nilable(::Integer)* | :heavy_minus_sign: | Unix epoch datetime in seconds | 1556281940 | | `audience_rating_image` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | rottentomatoes://image.rating.upright | | `chapter_source` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | media | | `primary_extra_key` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | /library/metadata/58684 | @@ -32,15 +38,19 @@ | `grandparent_key` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | /library/metadata/66 | | `grandparent_title` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | Caprica | | `grandparent_thumb` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | /library/metadata/66/thumb/1705716261 | +| `grandparent_slug` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | alice-in-borderland-2020 | | `grandparent_art` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | /library/metadata/66/art/1705716261 | | `grandparent_theme` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | /library/metadata/66/theme/1705716261 | -| `media` | T::Array<[::PlexRubySDK::Operations::GetLibraryItemsMedia](../../models/operations/getlibraryitemsmedia.md)> | :heavy_check_mark: | N/A | | +| `media` | T::Array<[::PlexRubySDK::Operations::GetLibraryItemsMedia](../../models/operations/getlibraryitemsmedia.md)> | :heavy_minus_sign: | The Media object is only included when type query is `4` or higher.
| | | `genre` | T::Array<[::PlexRubySDK::Operations::GetLibraryItemsGenre](../../models/operations/getlibraryitemsgenre.md)> | :heavy_minus_sign: | N/A | | | `country` | T::Array<[::PlexRubySDK::Operations::GetLibraryItemsCountry](../../models/operations/getlibraryitemscountry.md)> | :heavy_minus_sign: | N/A | | | `director` | T::Array<[::PlexRubySDK::Operations::GetLibraryItemsDirector](../../models/operations/getlibraryitemsdirector.md)> | :heavy_minus_sign: | N/A | | | `writer` | T::Array<[::PlexRubySDK::Operations::GetLibraryItemsWriter](../../models/operations/getlibraryitemswriter.md)> | :heavy_minus_sign: | N/A | | +| `collection` | T::Array<[::PlexRubySDK::Operations::Collection](../../models/operations/collection.md)> | :heavy_minus_sign: | N/A | | | `role` | T::Array<[::PlexRubySDK::Operations::GetLibraryItemsRole](../../models/operations/getlibraryitemsrole.md)> | :heavy_minus_sign: | N/A | | | `media_guid` | T::Array<[::PlexRubySDK::Operations::MediaGuid](../../models/operations/mediaguid.md)> | :heavy_minus_sign: | The Guid object is only included in the response if the `includeGuids` parameter is set to `1`.
| | +| `ultra_blur_colors` | [T.nilable(::PlexRubySDK::Operations::UltraBlurColors)](../../models/operations/ultrablurcolors.md) | :heavy_minus_sign: | N/A | | +| `image` | T::Array<[::PlexRubySDK::Operations::GetLibraryItemsImage](../../models/operations/getlibraryitemsimage.md)> | :heavy_minus_sign: | N/A | | | `title_sort` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | Whale | | `view_count` | *T.nilable(::Integer)* | :heavy_minus_sign: | N/A | 1 | | `last_viewed_at` | *T.nilable(::Integer)* | :heavy_minus_sign: | N/A | 1682752242 | @@ -54,7 +64,7 @@ | `child_count` | *T.nilable(::Integer)* | :heavy_minus_sign: | N/A | 1 | | `has_premium_extras` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | 1 | | `has_premium_primary_extra` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | 1 | -| `parent_rating_key` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | 66 | +| `parent_rating_key` | *T.nilable(::String)* | :heavy_minus_sign: | The rating key of the parent item.
| 66 | | `parent_guid` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | plex://show/5d9c081b170e24001f2a7be4 | | `parent_studio` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | UCP | | `parent_key` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | /library/metadata/66 | diff --git a/docs/models/operations/getlibraryitemspart.md b/docs/models/operations/getlibraryitemspart.md index 90113c5..a9b2ef4 100644 --- a/docs/models/operations/getlibraryitemspart.md +++ b/docs/models/operations/getlibraryitemspart.md @@ -5,10 +5,13 @@ | Field | Type | Required | Description | Example | | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -| `id` | *T.nilable(::Integer)* | :heavy_minus_sign: | N/A | 119542 | -| `key` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | /library/parts/119542/1680457526/file.mkv | -| `duration` | *T.nilable(::Integer)* | :heavy_minus_sign: | N/A | 11558112 | -| `file` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | /movies/Avatar The Way of Water (2022)/Avatar.The.Way.of.Water.2022.2160p.WEB-DL.DDP5.1.Atmos.DV.HDR10.HEVC-CMRG.mkv | -| `size` | *T.nilable(::Integer)* | :heavy_minus_sign: | N/A | 36158371307 | -| `container` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | mkv | -| `video_profile` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | main 10 | \ No newline at end of file +| `id` | *::Integer* | :heavy_check_mark: | N/A | 119542 | +| `key` | *::String* | :heavy_check_mark: | N/A | /library/parts/119542/1680457526/file.mkv | +| `duration` | *::Integer* | :heavy_check_mark: | N/A | 11558112 | +| `file` | *::String* | :heavy_check_mark: | N/A | /movies/Avatar The Way of Water (2022)/Avatar.The.Way.of.Water.2022.2160p.WEB-DL.DDP5.1.Atmos.DV.HDR10.HEVC-CMRG.mkv | +| `size` | *::Integer* | :heavy_check_mark: | N/A | 36158371307 | +| `container` | *::String* | :heavy_check_mark: | The container format of the media file.
| mkv | +| `audio_profile` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | dts | +| `video_profile` | *::String* | :heavy_check_mark: | N/A | main 10 | +| `indexes` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | sd | +| `has_thumbnail` | [T.nilable(::PlexRubySDK::Operations::HasThumbnail)](../../models/operations/hasthumbnail.md) | :heavy_minus_sign: | N/A | 1 | \ No newline at end of file diff --git a/docs/models/operations/getlibraryitemsrequest.md b/docs/models/operations/getlibraryitemsrequest.md index 4f2ea3e..e5eabdd 100644 --- a/docs/models/operations/getlibraryitemsrequest.md +++ b/docs/models/operations/getlibraryitemsrequest.md @@ -9,6 +9,6 @@ | `tag` | [::PlexRubySDK::Operations::Tag](../../models/operations/tag.md) | :heavy_check_mark: | A key representing a specific tag within the section. | | | `include_guids` | [T.nilable(::PlexRubySDK::Operations::IncludeGuids)](../../models/operations/includeguids.md) | :heavy_minus_sign: | Adds the Guids object to the response
| 1 | | `include_meta` | [T.nilable(::PlexRubySDK::Operations::IncludeMeta)](../../models/operations/includemeta.md) | :heavy_minus_sign: | Adds the Meta object to the response
| 1 | -| `type` | [::PlexRubySDK::Operations::Type](../../models/operations/type.md) | :heavy_check_mark: | The type of media to retrieve.
1 = movie
2 = show
3 = season
4 = episode
E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries
| 2 | +| `type` | [T.nilable(::PlexRubySDK::Operations::Type)](../../models/operations/type.md) | :heavy_minus_sign: | The type of media to retrieve.
1 = movie
2 = show
3 = season
4 = episode
E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries
| 2 | | `x_plex_container_start` | *T.nilable(::Integer)* | :heavy_minus_sign: | The index of the first item to return. If not specified, the first item will be returned.
If the number of items exceeds the limit, the response will be paginated.
By default this is 0
| 0 | | `x_plex_container_size` | *T.nilable(::Integer)* | :heavy_minus_sign: | The number of items to return. If not specified, all items will be returned.
If the number of items exceeds the limit, the response will be paginated.
By default this is 50
| 50 | \ No newline at end of file diff --git a/docs/models/operations/getlibraryitemssort.md b/docs/models/operations/getlibraryitemssort.md index d8d10d6..71dc6aa 100644 --- a/docs/models/operations/getlibraryitemssort.md +++ b/docs/models/operations/getlibraryitemssort.md @@ -3,11 +3,13 @@ ## Fields -| Field | Type | Required | Description | Example | -| ---------------------------------- | ---------------------------------- | ---------------------------------- | ---------------------------------- | ---------------------------------- | -| `default` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | asc | -| `default_direction` | *::String* | :heavy_check_mark: | N/A | asc | -| `desc_key` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | titleSort:desc | -| `first_character_key` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | /library/sections/2/firstCharacter | -| `key` | *::String* | :heavy_check_mark: | N/A | titleSort | -| `title` | *::String* | :heavy_check_mark: | N/A | Title | \ No newline at end of file +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | +| `default` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | asc | +| `active` | *T.nilable(T::Boolean)* | :heavy_minus_sign: | N/A | false | +| `active_direction` | [T.nilable(::PlexRubySDK::Operations::ActiveDirection)](../../models/operations/activedirection.md) | :heavy_minus_sign: | The direction of the sort. Can be either `asc` or `desc`.
| asc | +| `default_direction` | [::PlexRubySDK::Operations::DefaultDirection](../../models/operations/defaultdirection.md) | :heavy_check_mark: | The direction of the sort. Can be either `asc` or `desc`.
| asc | +| `desc_key` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | titleSort:desc | +| `first_character_key` | *T.nilable(::String)* | :heavy_minus_sign: | N/A | /library/sections/2/firstCharacter | +| `key` | *::String* | :heavy_check_mark: | N/A | titleSort | +| `title` | *::String* | :heavy_check_mark: | N/A | Title | \ No newline at end of file diff --git a/docs/models/operations/getlibraryitemstype.md b/docs/models/operations/getlibraryitemstype.md index 96f429d..8409929 100644 --- a/docs/models/operations/getlibraryitemstype.md +++ b/docs/models/operations/getlibraryitemstype.md @@ -1,14 +1,14 @@ # GetLibraryItemsType +The type of media content -## Fields -| Field | Type | Required | Description | Example | -| -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -| `key` | *::String* | :heavy_check_mark: | N/A | /library/sections/2/all?type=2 | -| `type` | *::String* | :heavy_check_mark: | N/A | show | -| `title` | *::String* | :heavy_check_mark: | N/A | TV Shows | -| `active` | *T::Boolean* | :heavy_check_mark: | N/A | false | -| `filter` | T::Array<[::PlexRubySDK::Operations::GetLibraryItemsFilter](../../models/operations/getlibraryitemsfilter.md)> | :heavy_minus_sign: | N/A | | -| `sort` | T::Array<[::PlexRubySDK::Operations::GetLibraryItemsSort](../../models/operations/getlibraryitemssort.md)> | :heavy_minus_sign: | N/A | | -| `field` | T::Array<[::PlexRubySDK::Operations::GetLibraryItemsField](../../models/operations/getlibraryitemsfield.md)> | :heavy_minus_sign: | N/A | | \ No newline at end of file + +## Values + +| Name | Value | +| --------- | --------- | +| `MOVIE` | movie | +| `TV_SHOW` | show | +| `SEASON` | season | +| `EPISODE` | episode | \ No newline at end of file diff --git a/docs/models/operations/getplaylistcontentsqueryparamtype.md b/docs/models/operations/getplaylistcontentsqueryparamtype.md index 7e829a7..d1272ec 100644 --- a/docs/models/operations/getplaylistcontentsqueryparamtype.md +++ b/docs/models/operations/getplaylistcontentsqueryparamtype.md @@ -14,6 +14,6 @@ E.g. A movie library will not return anything with type 3 as there are no season | Name | Value | | --------- | --------- | | `MOVIE` | 1 | -| `SHOW` | 2 | +| `TV_SHOW` | 2 | | `SEASON` | 3 | | `EPISODE` | 4 | \ No newline at end of file diff --git a/docs/models/operations/gettokendetailsuserplexaccount.md b/docs/models/operations/gettokendetailsuserplexaccount.md index a9c31a1..d1f9ed4 100644 --- a/docs/models/operations/gettokendetailsuserplexaccount.md +++ b/docs/models/operations/gettokendetailsuserplexaccount.md @@ -46,4 +46,5 @@ Logged in user details | `title` | *::String* | :heavy_check_mark: | The title of the account (username or friendly name) | UsernameTitle | | `two_factor_enabled` | *T::Boolean* | :heavy_check_mark: | If two-factor authentication is enabled | | | `username` | *::String* | :heavy_check_mark: | The account username | Username | -| `uuid` | *::String* | :heavy_check_mark: | The account UUID | dae343c1f45beb4f | \ No newline at end of file +| `uuid` | *::String* | :heavy_check_mark: | The account UUID | dae343c1f45beb4f | +| `attribution_partner` | *::String* | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/models/operations/gettopwatchedcontentqueryparamtype.md b/docs/models/operations/gettopwatchedcontentqueryparamtype.md index 96e65f5..395f459 100644 --- a/docs/models/operations/gettopwatchedcontentqueryparamtype.md +++ b/docs/models/operations/gettopwatchedcontentqueryparamtype.md @@ -14,6 +14,6 @@ E.g. A movie library will not return anything with type 3 as there are no season | Name | Value | | --------- | --------- | | `MOVIE` | 1 | -| `SHOW` | 2 | +| `TV_SHOW` | 2 | | `SEASON` | 3 | | `EPISODE` | 4 | \ No newline at end of file diff --git a/docs/models/operations/hasthumbnail.md b/docs/models/operations/hasthumbnail.md new file mode 100644 index 0000000..f093b19 --- /dev/null +++ b/docs/models/operations/hasthumbnail.md @@ -0,0 +1,9 @@ +# HasThumbnail + + +## Values + +| Name | Value | +| ------- | ------- | +| `FALSE` | 0 | +| `TRUE` | 1 | \ No newline at end of file diff --git a/docs/models/operations/meta.md b/docs/models/operations/meta.md index 36353ca..66b6e80 100644 --- a/docs/models/operations/meta.md +++ b/docs/models/operations/meta.md @@ -6,7 +6,7 @@ The Meta object is only included in the response if the `includeMeta` parameter ## Fields -| Field | Type | Required | Description | -| -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -| `type` | T::Array<[::PlexRubySDK::Operations::GetLibraryItemsType](../../models/operations/getlibraryitemstype.md)> | :heavy_minus_sign: | N/A | -| `field_type` | T::Array<[::PlexRubySDK::Operations::GetLibraryItemsFieldType](../../models/operations/getlibraryitemsfieldtype.md)> | :heavy_minus_sign: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ | +| `type` | T::Array<[::PlexRubySDK::Operations::GetLibraryItemsLibraryType](../../models/operations/getlibraryitemslibrarytype.md)> | :heavy_minus_sign: | N/A | +| `field_type` | T::Array<[::PlexRubySDK::Operations::GetLibraryItemsFieldType](../../models/operations/getlibraryitemsfieldtype.md)> | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/operations/postuserssignindatauserplexaccount.md b/docs/models/operations/postuserssignindatauserplexaccount.md index aa389af..d9e2c12 100644 --- a/docs/models/operations/postuserssignindatauserplexaccount.md +++ b/docs/models/operations/postuserssignindatauserplexaccount.md @@ -47,5 +47,6 @@ Returns the user account data with a valid auth token | `two_factor_enabled` | *T::Boolean* | :heavy_check_mark: | If two-factor authentication is enabled | | | `username` | *::String* | :heavy_check_mark: | The account username | Username | | `uuid` | *::String* | :heavy_check_mark: | The account UUID | dae343c1f45beb4f | +| `attribution_partner` | *::String* | :heavy_check_mark: | N/A | | | `past_subscriptions` | T::Array<[::PlexRubySDK::Operations::PastSubscription](../../models/operations/pastsubscription.md)> | :heavy_check_mark: | N/A | | | `trials` | T::Array<[::PlexRubySDK::Operations::Trials](../../models/operations/trials.md)> | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/models/operations/queryparamtype.md b/docs/models/operations/queryparamtype.md index a331fa9..e6c8dc6 100644 --- a/docs/models/operations/queryparamtype.md +++ b/docs/models/operations/queryparamtype.md @@ -14,6 +14,6 @@ E.g. A movie library will not return anything with type 3 as there are no season | Name | Value | | --------- | --------- | | `MOVIE` | 1 | -| `SHOW` | 2 | +| `TV_SHOW` | 2 | | `SEASON` | 3 | | `EPISODE` | 4 | \ No newline at end of file diff --git a/docs/models/operations/showordering.md b/docs/models/operations/showordering.md new file mode 100644 index 0000000..091f806 --- /dev/null +++ b/docs/models/operations/showordering.md @@ -0,0 +1,20 @@ +# ShowOrdering + +Setting that indicates the episode ordering for the show +None = Library default, +tmdbAiring = The Movie Database (Aired), +aired = TheTVDB (Aired), +dvd = TheTVDB (DVD), +absolute = TheTVDB (Absolute)). + + + +## Values + +| Name | Value | +| ------------- | ------------- | +| `NONE` | None | +| `TMDB_AIRING` | tmdbAiring | +| `AIRED` | aired | +| `DVD` | dvd | +| `ABSOLUTE` | absolute | \ No newline at end of file diff --git a/docs/models/operations/type.md b/docs/models/operations/type.md index 89748e5..f2cd529 100644 --- a/docs/models/operations/type.md +++ b/docs/models/operations/type.md @@ -14,6 +14,6 @@ E.g. A movie library will not return anything with type 3 as there are no season | Name | Value | | --------- | --------- | | `MOVIE` | 1 | -| `SHOW` | 2 | +| `TV_SHOW` | 2 | | `SEASON` | 3 | | `EPISODE` | 4 | \ No newline at end of file diff --git a/docs/models/operations/ultrablurcolors.md b/docs/models/operations/ultrablurcolors.md new file mode 100644 index 0000000..caa4182 --- /dev/null +++ b/docs/models/operations/ultrablurcolors.md @@ -0,0 +1,11 @@ +# UltraBlurColors + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ | +| `top_left` | *::String* | :heavy_check_mark: | N/A | 11333b | +| `top_right` | *::String* | :heavy_check_mark: | N/A | 0a232d | +| `bottom_right` | *::String* | :heavy_check_mark: | N/A | 73958 | +| `bottom_left` | *::String* | :heavy_check_mark: | N/A | 1f5066 | \ No newline at end of file diff --git a/docs/sdks/library/README.md b/docs/sdks/library/README.md index 0f579f5..f3fbcf2 100644 --- a/docs/sdks/library/README.md +++ b/docs/sdks/library/README.md @@ -337,7 +337,7 @@ req = ::PlexRubySDK::Operations::GetLibraryItemsRequest.new( tag: ::PlexRubySDK::Operations::Tag::EDITION, include_guids: ::PlexRubySDK::Operations::IncludeGuids::ENABLE, include_meta: ::PlexRubySDK::Operations::IncludeMeta::ENABLE, - type: ::PlexRubySDK::Operations::Type::SHOW, + type: ::PlexRubySDK::Operations::Type::TV_SHOW, x_plex_container_start: 0, x_plex_container_size: 50, ) @@ -452,7 +452,7 @@ s.config_security( ) -res = s.library.get_search_library(section_key=9518, type=::PlexRubySDK::Operations::QueryParamType::SHOW) +res = s.library.get_search_library(section_key=9518, type=::PlexRubySDK::Operations::QueryParamType::TV_SHOW) if ! res.object.nil? # handle response @@ -592,7 +592,7 @@ s.config_security( ) -res = s.library.get_top_watched_content(type=::PlexRubySDK::Operations::GetTopWatchedContentQueryParamType::SHOW, include_guids=1) +res = s.library.get_top_watched_content(type=::PlexRubySDK::Operations::GetTopWatchedContentQueryParamType::TV_SHOW, include_guids=1) if ! res.object.nil? # handle response diff --git a/docs/sdks/playlists/README.md b/docs/sdks/playlists/README.md index cd370fc..156bdc7 100644 --- a/docs/sdks/playlists/README.md +++ b/docs/sdks/playlists/README.md @@ -290,7 +290,7 @@ s.config_security( ) -res = s.playlists.get_playlist_contents(playlist_id=5004.46, type=::PlexRubySDK::Operations::GetPlaylistContentsQueryParamType::SHOW) +res = s.playlists.get_playlist_contents(playlist_id=5004.46, type=::PlexRubySDK::Operations::GetPlaylistContentsQueryParamType::TV_SHOW) if ! res.object.nil? # handle response diff --git a/lib/plex_ruby_sdk/models/operations.rb b/lib/plex_ruby_sdk/models/operations.rb index f233379..08c6dbc 100644 --- a/lib/plex_ruby_sdk/models/operations.rb +++ b/lib/plex_ruby_sdk/models/operations.rb @@ -63,6 +63,7 @@ module PlexRubySDK autoload :GetMediaProvidersBadRequest, 'plex_ruby_sdk/models/operations/get_media_providers_badrequest.rb' autoload :Pivot, 'plex_ruby_sdk/models/operations/pivot.rb' autoload :GetMediaProvidersDirectory, 'plex_ruby_sdk/models/operations/get_media_providers_directory.rb' + autoload :Action, 'plex_ruby_sdk/models/operations/action.rb' autoload :Feature, 'plex_ruby_sdk/models/operations/feature.rb' autoload :MediaProvider, 'plex_ruby_sdk/models/operations/mediaprovider.rb' autoload :GetMediaProvidersMediaContainer, 'plex_ruby_sdk/models/operations/get_media_providers_mediacontainer.rb' @@ -339,19 +340,29 @@ module PlexRubySDK autoload :GetLibraryItemsUnauthorized, 'plex_ruby_sdk/models/operations/get_library_items_unauthorized.rb' autoload :GetLibraryItemsErrors, 'plex_ruby_sdk/models/operations/get_library_items_errors.rb' autoload :GetLibraryItemsBadRequest, 'plex_ruby_sdk/models/operations/get_library_items_badrequest.rb' + autoload :GetLibraryItemsType, 'plex_ruby_sdk/models/operations/get_library_items_type.rb' + autoload :FlattenSeasons, 'plex_ruby_sdk/models/operations/flattenseasons.rb' + autoload :ShowOrdering, 'plex_ruby_sdk/models/operations/showordering.rb' + autoload :HasThumbnail, 'plex_ruby_sdk/models/operations/hasthumbnail.rb' autoload :GetLibraryItemsPart, 'plex_ruby_sdk/models/operations/get_library_items_part.rb' autoload :GetLibraryItemsMedia, 'plex_ruby_sdk/models/operations/get_library_items_media.rb' autoload :GetLibraryItemsGenre, 'plex_ruby_sdk/models/operations/get_library_items_genre.rb' autoload :GetLibraryItemsCountry, 'plex_ruby_sdk/models/operations/get_library_items_country.rb' autoload :GetLibraryItemsDirector, 'plex_ruby_sdk/models/operations/get_library_items_director.rb' autoload :GetLibraryItemsWriter, 'plex_ruby_sdk/models/operations/get_library_items_writer.rb' + autoload :Collection, 'plex_ruby_sdk/models/operations/collection.rb' autoload :GetLibraryItemsRole, 'plex_ruby_sdk/models/operations/get_library_items_role.rb' autoload :MediaGuid, 'plex_ruby_sdk/models/operations/mediaguid.rb' + autoload :UltraBlurColors, 'plex_ruby_sdk/models/operations/ultrablurcolors.rb' + autoload :GetLibraryItemsLibraryResponseType, 'plex_ruby_sdk/models/operations/get_library_items_library_response_type.rb' + autoload :GetLibraryItemsImage, 'plex_ruby_sdk/models/operations/get_library_items_image.rb' autoload :GetLibraryItemsMetadata, 'plex_ruby_sdk/models/operations/get_library_items_metadata.rb' autoload :GetLibraryItemsFilter, 'plex_ruby_sdk/models/operations/get_library_items_filter.rb' + autoload :ActiveDirection, 'plex_ruby_sdk/models/operations/activedirection.rb' + autoload :DefaultDirection, 'plex_ruby_sdk/models/operations/defaultdirection.rb' autoload :GetLibraryItemsSort, 'plex_ruby_sdk/models/operations/get_library_items_sort.rb' autoload :GetLibraryItemsField, 'plex_ruby_sdk/models/operations/get_library_items_field.rb' - autoload :GetLibraryItemsType, 'plex_ruby_sdk/models/operations/get_library_items_type.rb' + autoload :GetLibraryItemsLibraryType, 'plex_ruby_sdk/models/operations/get_library_items_library_type.rb' autoload :GetLibraryItemsOperator, 'plex_ruby_sdk/models/operations/get_library_items_operator.rb' autoload :GetLibraryItemsFieldType, 'plex_ruby_sdk/models/operations/get_library_items_fieldtype.rb' autoload :Meta, 'plex_ruby_sdk/models/operations/meta.rb' diff --git a/lib/plex_ruby_sdk/models/operations/action.rb b/lib/plex_ruby_sdk/models/operations/action.rb new file mode 100644 index 0000000..5c83065 --- /dev/null +++ b/lib/plex_ruby_sdk/models/operations/action.rb @@ -0,0 +1,27 @@ +# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + +# typed: true +# frozen_string_literal: true + + +module PlexRubySDK + module Operations + + + class Action < ::PlexRubySDK::Utils::FieldAugmented + extend T::Sig + + + field :id, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } } + + field :key, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('key') } } + + + sig { params(id: ::String, key: ::String).void } + def initialize(id: nil, key: nil) + @id = id + @key = key + end + end + end +end diff --git a/lib/plex_ruby_sdk/models/operations/activedirection.rb b/lib/plex_ruby_sdk/models/operations/activedirection.rb new file mode 100644 index 0000000..d783ae1 --- /dev/null +++ b/lib/plex_ruby_sdk/models/operations/activedirection.rb @@ -0,0 +1,19 @@ +# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + +# typed: true +# frozen_string_literal: true + + +module PlexRubySDK + module Operations + + # ActiveDirection - The direction of the sort. Can be either `asc` or `desc`. + # + class ActiveDirection < T::Enum + enums do + ASCENDING = new('asc') + DESCENDING = new('desc') + end + end + end +end diff --git a/lib/plex_ruby_sdk/models/operations/collection.rb b/lib/plex_ruby_sdk/models/operations/collection.rb new file mode 100644 index 0000000..dbdac5e --- /dev/null +++ b/lib/plex_ruby_sdk/models/operations/collection.rb @@ -0,0 +1,24 @@ +# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + +# typed: true +# frozen_string_literal: true + + +module PlexRubySDK + module Operations + + + class Collection < ::PlexRubySDK::Utils::FieldAugmented + extend T::Sig + + + field :tag, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tag') } } + + + sig { params(tag: T.nilable(::String)).void } + def initialize(tag: nil) + @tag = tag + end + end + end +end diff --git a/lib/plex_ruby_sdk/models/operations/defaultdirection.rb b/lib/plex_ruby_sdk/models/operations/defaultdirection.rb new file mode 100644 index 0000000..2b1b2df --- /dev/null +++ b/lib/plex_ruby_sdk/models/operations/defaultdirection.rb @@ -0,0 +1,19 @@ +# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + +# typed: true +# frozen_string_literal: true + + +module PlexRubySDK + module Operations + + # DefaultDirection - The direction of the sort. Can be either `asc` or `desc`. + # + class DefaultDirection < T::Enum + enums do + ASCENDING = new('asc') + DESCENDING = new('desc') + end + end + end +end diff --git a/lib/plex_ruby_sdk/models/operations/feature.rb b/lib/plex_ruby_sdk/models/operations/feature.rb index dc2e7e2..1aec0f9 100644 --- a/lib/plex_ruby_sdk/models/operations/feature.rb +++ b/lib/plex_ruby_sdk/models/operations/feature.rb @@ -12,18 +12,30 @@ module PlexRubySDK extend T::Sig + field :type, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('type') } } + + field :action, T.nilable(T::Array[::PlexRubySDK::Operations::Action]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Action') } } + field :directory, T.nilable(T::Array[::PlexRubySDK::Operations::GetMediaProvidersDirectory]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Directory') } } + field :flavor, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('flavor') } } + field :key, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('key') } } - field :type, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('type') } } + field :scrobble_key, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('scrobbleKey') } } + + field :unscrobble_key, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('unscrobbleKey') } } - sig { params(directory: T.nilable(T::Array[::PlexRubySDK::Operations::GetMediaProvidersDirectory]), key: T.nilable(::String), type: T.nilable(::String)).void } - def initialize(directory: nil, key: nil, type: nil) - @directory = directory - @key = key + sig { params(type: ::String, action: T.nilable(T::Array[::PlexRubySDK::Operations::Action]), directory: T.nilable(T::Array[::PlexRubySDK::Operations::GetMediaProvidersDirectory]), flavor: T.nilable(::String), key: T.nilable(::String), scrobble_key: T.nilable(::String), unscrobble_key: T.nilable(::String)).void } + def initialize(type: nil, action: nil, directory: nil, flavor: nil, key: nil, scrobble_key: nil, unscrobble_key: nil) @type = type + @action = action + @directory = directory + @flavor = flavor + @key = key + @scrobble_key = scrobble_key + @unscrobble_key = unscrobble_key end end end diff --git a/lib/plex_ruby_sdk/models/operations/flattenseasons.rb b/lib/plex_ruby_sdk/models/operations/flattenseasons.rb new file mode 100644 index 0000000..e2dfbb1 --- /dev/null +++ b/lib/plex_ruby_sdk/models/operations/flattenseasons.rb @@ -0,0 +1,18 @@ +# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + +# typed: true +# frozen_string_literal: true + + +module PlexRubySDK + module Operations + + + class FlattenSeasons < T::Enum + enums do + FALSE = new('0') + TRUE = new('1') + end + end + end +end diff --git a/lib/plex_ruby_sdk/models/operations/get_library_items_image.rb b/lib/plex_ruby_sdk/models/operations/get_library_items_image.rb new file mode 100644 index 0000000..691e59a --- /dev/null +++ b/lib/plex_ruby_sdk/models/operations/get_library_items_image.rb @@ -0,0 +1,30 @@ +# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + +# typed: true +# frozen_string_literal: true + + +module PlexRubySDK + module Operations + + + class GetLibraryItemsImage < ::PlexRubySDK::Utils::FieldAugmented + extend T::Sig + + + field :alt, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('alt') } } + + field :type, ::PlexRubySDK::Operations::GetLibraryItemsLibraryResponseType, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('type'), 'decoder': Utils.enum_from_string(::PlexRubySDK::Operations::GetLibraryItemsLibraryResponseType, false) } } + + field :url, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('url') } } + + + sig { params(alt: ::String, type: ::PlexRubySDK::Operations::GetLibraryItemsLibraryResponseType, url: ::String).void } + def initialize(alt: nil, type: nil, url: nil) + @alt = alt + @type = type + @url = url + end + end + end +end diff --git a/lib/plex_ruby_sdk/models/operations/get_library_items_library_response_type.rb b/lib/plex_ruby_sdk/models/operations/get_library_items_library_response_type.rb new file mode 100644 index 0000000..0a0b035 --- /dev/null +++ b/lib/plex_ruby_sdk/models/operations/get_library_items_library_response_type.rb @@ -0,0 +1,20 @@ +# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + +# typed: true +# frozen_string_literal: true + + +module PlexRubySDK + module Operations + + + class GetLibraryItemsLibraryResponseType < T::Enum + enums do + COVER_POSTER = new('coverPoster') + BACKGROUND = new('background') + SNAPSHOT = new('snapshot') + CLEAR_LOGO = new('clearLogo') + end + end + end +end diff --git a/lib/plex_ruby_sdk/models/operations/get_library_items_library_type.rb b/lib/plex_ruby_sdk/models/operations/get_library_items_library_type.rb new file mode 100644 index 0000000..d79b926 --- /dev/null +++ b/lib/plex_ruby_sdk/models/operations/get_library_items_library_type.rb @@ -0,0 +1,42 @@ +# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + +# typed: true +# frozen_string_literal: true + + +module PlexRubySDK + module Operations + + + class GetLibraryItemsLibraryType < ::PlexRubySDK::Utils::FieldAugmented + extend T::Sig + + + field :active, T::Boolean, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('active') } } + + field :key, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('key') } } + + field :title, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('title') } } + + field :type, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('type') } } + + field :field, T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsField]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Field') } } + + field :filter, T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsFilter]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Filter') } } + + field :sort, T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsSort]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Sort') } } + + + sig { params(active: T::Boolean, key: ::String, title: ::String, type: ::String, field: T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsField]), filter: T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsFilter]), sort: T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsSort])).void } + def initialize(active: nil, key: nil, title: nil, type: nil, field: nil, filter: nil, sort: nil) + @active = active + @key = key + @title = title + @type = type + @field = field + @filter = filter + @sort = sort + end + end + end +end diff --git a/lib/plex_ruby_sdk/models/operations/get_library_items_media.rb b/lib/plex_ruby_sdk/models/operations/get_library_items_media.rb index d34eb93..fedcb78 100644 --- a/lib/plex_ruby_sdk/models/operations/get_library_items_media.rb +++ b/lib/plex_ruby_sdk/models/operations/get_library_items_media.rb @@ -12,37 +12,41 @@ module PlexRubySDK extend T::Sig - field :aspect_ratio, T.nilable(::Float), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('aspectRatio') } } + field :aspect_ratio, ::Float, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('aspectRatio') } } - field :audio_channels, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('audioChannels') } } + field :audio_channels, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('audioChannels') } } - field :audio_codec, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('audioCodec') } } + field :audio_codec, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('audioCodec') } } - field :bitrate, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('bitrate') } } + field :bitrate, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('bitrate') } } - field :container, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('container') } } + field :container, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('container') } } - field :duration, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('duration') } } + field :duration, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('duration') } } - field :height, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('height') } } + field :height, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('height') } } - field :id, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } } + field :id, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } } - field :part, T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsPart]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Part') } } + field :part, T::Array[::PlexRubySDK::Operations::GetLibraryItemsPart], { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Part') } } - field :video_codec, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('videoCodec') } } + field :video_codec, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('videoCodec') } } - field :video_frame_rate, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('videoFrameRate') } } + field :video_frame_rate, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('videoFrameRate') } } - field :video_profile, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('videoProfile') } } + field :video_profile, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('videoProfile') } } - field :video_resolution, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('videoResolution') } } + field :video_resolution, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('videoResolution') } } - field :width, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('width') } } + field :width, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('width') } } + + field :audio_profile, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('audioProfile') } } + + field :has_voice_activity, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('hasVoiceActivity') } } - sig { params(aspect_ratio: T.nilable(::Float), audio_channels: T.nilable(::Integer), audio_codec: T.nilable(::String), bitrate: T.nilable(::Integer), container: T.nilable(::String), duration: T.nilable(::Integer), height: T.nilable(::Integer), id: T.nilable(::Integer), part: T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsPart]), video_codec: T.nilable(::String), video_frame_rate: T.nilable(::String), video_profile: T.nilable(::String), video_resolution: T.nilable(::String), width: T.nilable(::Integer)).void } - def initialize(aspect_ratio: nil, audio_channels: nil, audio_codec: nil, bitrate: nil, container: nil, duration: nil, height: nil, id: nil, part: nil, video_codec: nil, video_frame_rate: nil, video_profile: nil, video_resolution: nil, width: nil) + sig { params(aspect_ratio: ::Float, audio_channels: ::Integer, audio_codec: ::String, bitrate: ::Integer, container: ::String, duration: ::Integer, height: ::Integer, id: ::Integer, part: T::Array[::PlexRubySDK::Operations::GetLibraryItemsPart], video_codec: ::String, video_frame_rate: ::String, video_profile: ::String, video_resolution: ::String, width: ::Integer, audio_profile: T.nilable(::String), has_voice_activity: T.nilable(T::Boolean)).void } + def initialize(aspect_ratio: nil, audio_channels: nil, audio_codec: nil, bitrate: nil, container: nil, duration: nil, height: nil, id: nil, part: nil, video_codec: nil, video_frame_rate: nil, video_profile: nil, video_resolution: nil, width: nil, audio_profile: nil, has_voice_activity: nil) @aspect_ratio = aspect_ratio @audio_channels = audio_channels @audio_codec = audio_codec @@ -57,6 +61,8 @@ module PlexRubySDK @video_profile = video_profile @video_resolution = video_resolution @width = width + @audio_profile = audio_profile + @has_voice_activity = has_voice_activity end end end diff --git a/lib/plex_ruby_sdk/models/operations/get_library_items_mediacontainer.rb b/lib/plex_ruby_sdk/models/operations/get_library_items_mediacontainer.rb index 770dc19..7b09576 100644 --- a/lib/plex_ruby_sdk/models/operations/get_library_items_mediacontainer.rb +++ b/lib/plex_ruby_sdk/models/operations/get_library_items_mediacontainer.rb @@ -16,6 +16,8 @@ module PlexRubySDK field :art, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('art') } } + field :content, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('content') } } + field :identifier, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('identifier') } } field :library_section_id, ::Object, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('librarySectionID') } } @@ -28,6 +30,10 @@ module PlexRubySDK field :media_tag_version, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('mediaTagVersion') } } + field :metadata, T::Array[::PlexRubySDK::Operations::GetLibraryItemsMetadata], { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Metadata') } } + + field :offset, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('offset') } } + field :size, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('size') } } field :thumb, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('thumb') } } @@ -36,36 +42,42 @@ module PlexRubySDK field :title2, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('title2') } } + field :total_size, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('totalSize') } } + field :view_group, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('viewGroup') } } # The Meta object is only included in the response if the `includeMeta` parameter is set to `1`. # field :meta, T.nilable(::PlexRubySDK::Operations::Meta), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Meta') } } - field :metadata, T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsMetadata]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Metadata') } } - field :mixed_parents, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('mixedParents') } } + field :nocache, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('nocache') } } + field :view_mode, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('viewMode') } } - sig { params(allow_sync: T::Boolean, art: ::String, identifier: ::String, library_section_id: ::Object, library_section_title: ::String, library_section_uuid: ::String, media_tag_prefix: ::String, media_tag_version: ::Integer, size: ::Integer, thumb: ::String, title1: ::String, title2: ::String, view_group: ::String, meta: T.nilable(::PlexRubySDK::Operations::Meta), metadata: T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsMetadata]), mixed_parents: T.nilable(T::Boolean), view_mode: T.nilable(::Integer)).void } - def initialize(allow_sync: nil, art: nil, identifier: nil, library_section_id: nil, library_section_title: nil, library_section_uuid: nil, media_tag_prefix: nil, media_tag_version: nil, size: nil, thumb: nil, title1: nil, title2: nil, view_group: nil, meta: nil, metadata: nil, mixed_parents: nil, view_mode: nil) + sig { params(allow_sync: T::Boolean, art: ::String, content: ::String, identifier: ::String, library_section_id: ::Object, library_section_title: ::String, library_section_uuid: ::String, media_tag_prefix: ::String, media_tag_version: ::Integer, metadata: T::Array[::PlexRubySDK::Operations::GetLibraryItemsMetadata], offset: ::Integer, size: ::Integer, thumb: ::String, title1: ::String, title2: ::String, total_size: ::Integer, view_group: ::String, meta: T.nilable(::PlexRubySDK::Operations::Meta), mixed_parents: T.nilable(T::Boolean), nocache: T.nilable(T::Boolean), view_mode: T.nilable(::Integer)).void } + def initialize(allow_sync: nil, art: nil, content: nil, identifier: nil, library_section_id: nil, library_section_title: nil, library_section_uuid: nil, media_tag_prefix: nil, media_tag_version: nil, metadata: nil, offset: nil, size: nil, thumb: nil, title1: nil, title2: nil, total_size: nil, view_group: nil, meta: nil, mixed_parents: nil, nocache: nil, view_mode: nil) @allow_sync = allow_sync @art = art + @content = content @identifier = identifier @library_section_id = library_section_id @library_section_title = library_section_title @library_section_uuid = library_section_uuid @media_tag_prefix = media_tag_prefix @media_tag_version = media_tag_version + @metadata = metadata + @offset = offset @size = size @thumb = thumb @title1 = title1 @title2 = title2 + @total_size = total_size @view_group = view_group @meta = meta - @metadata = metadata @mixed_parents = mixed_parents + @nocache = nocache @view_mode = view_mode end end diff --git a/lib/plex_ruby_sdk/models/operations/get_library_items_metadata.rb b/lib/plex_ruby_sdk/models/operations/get_library_items_metadata.rb index 175f536..ef4726d 100644 --- a/lib/plex_ruby_sdk/models/operations/get_library_items_metadata.rb +++ b/lib/plex_ruby_sdk/models/operations/get_library_items_metadata.rb @@ -11,24 +11,23 @@ module PlexRubySDK class GetLibraryItemsMetadata < ::PlexRubySDK::Utils::FieldAugmented extend T::Sig - - field :duration, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('duration') } } + # Unix epoch datetime in seconds + field :added_at, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('addedAt') } } field :guid, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('guid') } } field :key, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('key') } } - - field :media, T::Array[::PlexRubySDK::Operations::GetLibraryItemsMedia], { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Media') } } - + # The rating key (Media ID) of this media item. + # Note: This is always an integer, but is represented as a string in the API. + # field :rating_key, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('ratingKey') } } + field :summary, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('summary') } } + field :title, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('title') } } - - field :type, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('type') } } - - field :year, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('year') } } - - field :added_at, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('addedAt') } } + # The type of media content + # + field :type, ::PlexRubySDK::Operations::GetLibraryItemsType, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('type'), 'decoder': Utils.enum_from_string(::PlexRubySDK::Operations::GetLibraryItemsType, false) } } field :art, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('art') } } @@ -36,16 +35,24 @@ module PlexRubySDK field :audience_rating_image, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('audienceRatingImage') } } + field :banner, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('banner') } } + field :chapter_source, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('chapterSource') } } field :child_count, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('childCount') } } + field :collection, T.nilable(T::Array[::PlexRubySDK::Operations::Collection]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Collection') } } + field :content_rating, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('contentRating') } } field :country, T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsCountry]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Country') } } field :director, T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsDirector]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Director') } } + field :duration, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('duration') } } + + field :flatten_seasons, T.nilable(::PlexRubySDK::Operations::FlattenSeasons), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('flattenSeasons'), 'decoder': Utils.enum_from_string(::PlexRubySDK::Operations::FlattenSeasons, true) } } + field :genre, T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsGenre]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Genre') } } field :grandparent_art, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('grandparentArt') } } @@ -56,6 +63,8 @@ module PlexRubySDK field :grandparent_rating_key, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('grandparentRatingKey') } } + field :grandparent_slug, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('grandparentSlug') } } + field :grandparent_theme, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('grandparentTheme') } } field :grandparent_thumb, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('grandparentThumb') } } @@ -66,11 +75,16 @@ module PlexRubySDK field :has_premium_primary_extra, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('hasPremiumPrimaryExtra') } } + field :image, T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsImage]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Image') } } + field :index, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('index') } } field :last_viewed_at, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('lastViewedAt') } } field :leaf_count, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('leafCount') } } + # The Media object is only included when type query is `4` or higher. + # + field :media, T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsMedia]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Media') } } # The Guid object is only included in the response if the `includeGuids` parameter is set to `1`. # field :media_guid, T.nilable(T::Array[::PlexRubySDK::Operations::MediaGuid]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Guid') } } @@ -84,7 +98,8 @@ module PlexRubySDK field :parent_index, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('parentIndex') } } field :parent_key, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('parentKey') } } - + # The rating key of the parent item. + # field :parent_rating_key, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('parentRatingKey') } } field :parent_studio, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('parentStudio') } } @@ -105,11 +120,23 @@ module PlexRubySDK field :role, T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsRole]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Role') } } + field :season_count, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('seasonCount') } } + # Setting that indicates the episode ordering for the show + # None = Library default, + # tmdbAiring = The Movie Database (Aired), + # aired = TheTVDB (Aired), + # dvd = TheTVDB (DVD), + # absolute = TheTVDB (Absolute)). + # + field :show_ordering, T.nilable(::PlexRubySDK::Operations::ShowOrdering), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('showOrdering'), 'decoder': Utils.enum_from_string(::PlexRubySDK::Operations::ShowOrdering, true) } } + + field :skip_children, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('skipChildren') } } + field :skip_count, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('skipCount') } } - field :studio, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('studio') } } + field :slug, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('slug') } } - field :summary, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('summary') } } + field :studio, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('studio') } } field :tagline, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('tagline') } } @@ -119,6 +146,8 @@ module PlexRubySDK field :title_sort, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('titleSort') } } + field :ultra_blur_colors, T.nilable(::PlexRubySDK::Operations::UltraBlurColors), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('UltraBlurColors') } } + # Unix epoch datetime in seconds field :updated_at, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('updatedAt') } } field :view_count, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('viewCount') } } @@ -129,39 +158,46 @@ module PlexRubySDK field :writer, T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsWriter]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Writer') } } + field :year, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('year') } } - sig { params(duration: ::Integer, guid: ::String, key: ::String, media: T::Array[::PlexRubySDK::Operations::GetLibraryItemsMedia], rating_key: ::String, title: ::String, type: ::String, year: ::Integer, added_at: T.nilable(::Integer), art: T.nilable(::String), audience_rating: T.nilable(::Float), audience_rating_image: T.nilable(::String), chapter_source: T.nilable(::String), child_count: T.nilable(::Integer), content_rating: T.nilable(::String), country: T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsCountry]), director: T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsDirector]), genre: T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsGenre]), grandparent_art: T.nilable(::String), grandparent_guid: T.nilable(::String), grandparent_key: T.nilable(::String), grandparent_rating_key: T.nilable(::String), grandparent_theme: T.nilable(::String), grandparent_thumb: T.nilable(::String), grandparent_title: T.nilable(::String), has_premium_extras: T.nilable(::String), has_premium_primary_extra: T.nilable(::String), index: T.nilable(::Integer), last_viewed_at: T.nilable(::Integer), leaf_count: T.nilable(::Integer), media_guid: T.nilable(T::Array[::PlexRubySDK::Operations::MediaGuid]), originally_available_at: T.nilable(::Date), original_title: T.nilable(::String), parent_guid: T.nilable(::String), parent_index: T.nilable(::Integer), parent_key: T.nilable(::String), parent_rating_key: T.nilable(::String), parent_studio: T.nilable(::String), parent_theme: T.nilable(::String), parent_thumb: T.nilable(::String), parent_title: T.nilable(::String), parent_year: T.nilable(::Integer), primary_extra_key: T.nilable(::String), rating: T.nilable(::Float), rating_image: T.nilable(::String), role: T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsRole]), skip_count: T.nilable(::Integer), studio: T.nilable(::String), summary: T.nilable(::String), tagline: T.nilable(::String), theme: T.nilable(::String), thumb: T.nilable(::String), title_sort: T.nilable(::String), updated_at: T.nilable(::Integer), view_count: T.nilable(::Integer), viewed_leaf_count: T.nilable(::Integer), view_offset: T.nilable(::Integer), writer: T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsWriter])).void } - def initialize(duration: nil, guid: nil, key: nil, media: nil, rating_key: nil, title: nil, type: nil, year: nil, added_at: nil, art: nil, audience_rating: nil, audience_rating_image: nil, chapter_source: nil, child_count: nil, content_rating: nil, country: nil, director: nil, genre: nil, grandparent_art: nil, grandparent_guid: nil, grandparent_key: nil, grandparent_rating_key: nil, grandparent_theme: nil, grandparent_thumb: nil, grandparent_title: nil, has_premium_extras: nil, has_premium_primary_extra: nil, index: nil, last_viewed_at: nil, leaf_count: nil, media_guid: nil, originally_available_at: nil, original_title: nil, parent_guid: nil, parent_index: nil, parent_key: nil, parent_rating_key: nil, parent_studio: nil, parent_theme: nil, parent_thumb: nil, parent_title: nil, parent_year: nil, primary_extra_key: nil, rating: nil, rating_image: nil, role: nil, skip_count: nil, studio: nil, summary: nil, tagline: nil, theme: nil, thumb: nil, title_sort: nil, updated_at: nil, view_count: nil, viewed_leaf_count: nil, view_offset: nil, writer: nil) - @duration = duration + + sig { params(added_at: ::Integer, guid: ::String, key: ::String, rating_key: ::String, summary: ::String, title: ::String, type: ::PlexRubySDK::Operations::GetLibraryItemsType, art: T.nilable(::String), audience_rating: T.nilable(::Float), audience_rating_image: T.nilable(::String), banner: T.nilable(::String), chapter_source: T.nilable(::String), child_count: T.nilable(::Integer), collection: T.nilable(T::Array[::PlexRubySDK::Operations::Collection]), content_rating: T.nilable(::String), country: T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsCountry]), director: T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsDirector]), duration: T.nilable(::Integer), flatten_seasons: T.nilable(::PlexRubySDK::Operations::FlattenSeasons), genre: T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsGenre]), grandparent_art: T.nilable(::String), grandparent_guid: T.nilable(::String), grandparent_key: T.nilable(::String), grandparent_rating_key: T.nilable(::String), grandparent_slug: T.nilable(::String), grandparent_theme: T.nilable(::String), grandparent_thumb: T.nilable(::String), grandparent_title: T.nilable(::String), has_premium_extras: T.nilable(::String), has_premium_primary_extra: T.nilable(::String), image: T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsImage]), index: T.nilable(::Integer), last_viewed_at: T.nilable(::Integer), leaf_count: T.nilable(::Integer), media: T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsMedia]), media_guid: T.nilable(T::Array[::PlexRubySDK::Operations::MediaGuid]), originally_available_at: T.nilable(::Date), original_title: T.nilable(::String), parent_guid: T.nilable(::String), parent_index: T.nilable(::Integer), parent_key: T.nilable(::String), parent_rating_key: T.nilable(::String), parent_studio: T.nilable(::String), parent_theme: T.nilable(::String), parent_thumb: T.nilable(::String), parent_title: T.nilable(::String), parent_year: T.nilable(::Integer), primary_extra_key: T.nilable(::String), rating: T.nilable(::Float), rating_image: T.nilable(::String), role: T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsRole]), season_count: T.nilable(::Integer), show_ordering: T.nilable(::PlexRubySDK::Operations::ShowOrdering), skip_children: T.nilable(T::Boolean), skip_count: T.nilable(::Integer), slug: T.nilable(::String), studio: T.nilable(::String), tagline: T.nilable(::String), theme: T.nilable(::String), thumb: T.nilable(::String), title_sort: T.nilable(::String), ultra_blur_colors: T.nilable(::PlexRubySDK::Operations::UltraBlurColors), updated_at: T.nilable(::Integer), view_count: T.nilable(::Integer), viewed_leaf_count: T.nilable(::Integer), view_offset: T.nilable(::Integer), writer: T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsWriter]), year: T.nilable(::Integer)).void } + def initialize(added_at: nil, guid: nil, key: nil, rating_key: nil, summary: nil, title: nil, type: nil, art: nil, audience_rating: nil, audience_rating_image: nil, banner: nil, chapter_source: nil, child_count: nil, collection: nil, content_rating: nil, country: nil, director: nil, duration: nil, flatten_seasons: nil, genre: nil, grandparent_art: nil, grandparent_guid: nil, grandparent_key: nil, grandparent_rating_key: nil, grandparent_slug: nil, grandparent_theme: nil, grandparent_thumb: nil, grandparent_title: nil, has_premium_extras: nil, has_premium_primary_extra: nil, image: nil, index: nil, last_viewed_at: nil, leaf_count: nil, media: nil, media_guid: nil, originally_available_at: nil, original_title: nil, parent_guid: nil, parent_index: nil, parent_key: nil, parent_rating_key: nil, parent_studio: nil, parent_theme: nil, parent_thumb: nil, parent_title: nil, parent_year: nil, primary_extra_key: nil, rating: nil, rating_image: nil, role: nil, season_count: nil, show_ordering: nil, skip_children: nil, skip_count: nil, slug: nil, studio: nil, tagline: nil, theme: nil, thumb: nil, title_sort: nil, ultra_blur_colors: nil, updated_at: nil, view_count: nil, viewed_leaf_count: nil, view_offset: nil, writer: nil, year: nil) + @added_at = added_at @guid = guid @key = key - @media = media @rating_key = rating_key + @summary = summary @title = title @type = type - @year = year - @added_at = added_at @art = art @audience_rating = audience_rating @audience_rating_image = audience_rating_image + @banner = banner @chapter_source = chapter_source @child_count = child_count + @collection = collection @content_rating = content_rating @country = country @director = director + @duration = duration + @flatten_seasons = flatten_seasons @genre = genre @grandparent_art = grandparent_art @grandparent_guid = grandparent_guid @grandparent_key = grandparent_key @grandparent_rating_key = grandparent_rating_key + @grandparent_slug = grandparent_slug @grandparent_theme = grandparent_theme @grandparent_thumb = grandparent_thumb @grandparent_title = grandparent_title @has_premium_extras = has_premium_extras @has_premium_primary_extra = has_premium_primary_extra + @image = image @index = index @last_viewed_at = last_viewed_at @leaf_count = leaf_count + @media = media @media_guid = media_guid @originally_available_at = originally_available_at @original_title = original_title @@ -178,18 +214,23 @@ module PlexRubySDK @rating = rating @rating_image = rating_image @role = role + @season_count = season_count + @show_ordering = show_ordering + @skip_children = skip_children @skip_count = skip_count + @slug = slug @studio = studio - @summary = summary @tagline = tagline @theme = theme @thumb = thumb @title_sort = title_sort + @ultra_blur_colors = ultra_blur_colors @updated_at = updated_at @view_count = view_count @viewed_leaf_count = viewed_leaf_count @view_offset = view_offset @writer = writer + @year = year end end end diff --git a/lib/plex_ruby_sdk/models/operations/get_library_items_part.rb b/lib/plex_ruby_sdk/models/operations/get_library_items_part.rb index f01d2e4..8769b0c 100644 --- a/lib/plex_ruby_sdk/models/operations/get_library_items_part.rb +++ b/lib/plex_ruby_sdk/models/operations/get_library_items_part.rb @@ -11,24 +11,31 @@ module PlexRubySDK class GetLibraryItemsPart < ::PlexRubySDK::Utils::FieldAugmented extend T::Sig + # The container format of the media file. + # + field :container, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('container') } } - field :container, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('container') } } + field :duration, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('duration') } } - field :duration, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('duration') } } + field :file, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('file') } } - field :file, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('file') } } + field :id, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } } - field :id, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('id') } } + field :key, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('key') } } - field :key, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('key') } } + field :size, ::Integer, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('size') } } - field :size, T.nilable(::Integer), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('size') } } + field :video_profile, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('videoProfile') } } - field :video_profile, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('videoProfile') } } + field :audio_profile, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('audioProfile') } } + + field :has_thumbnail, T.nilable(::PlexRubySDK::Operations::HasThumbnail), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('hasThumbnail'), 'decoder': Utils.enum_from_string(::PlexRubySDK::Operations::HasThumbnail, true) } } + + field :indexes, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('indexes') } } - sig { params(container: T.nilable(::String), duration: T.nilable(::Integer), file: T.nilable(::String), id: T.nilable(::Integer), key: T.nilable(::String), size: T.nilable(::Integer), video_profile: T.nilable(::String)).void } - def initialize(container: nil, duration: nil, file: nil, id: nil, key: nil, size: nil, video_profile: nil) + sig { params(container: ::String, duration: ::Integer, file: ::String, id: ::Integer, key: ::String, size: ::Integer, video_profile: ::String, audio_profile: T.nilable(::String), has_thumbnail: T.nilable(::PlexRubySDK::Operations::HasThumbnail), indexes: T.nilable(::String)).void } + def initialize(container: nil, duration: nil, file: nil, id: nil, key: nil, size: nil, video_profile: nil, audio_profile: nil, has_thumbnail: nil, indexes: nil) @container = container @duration = duration @file = file @@ -36,6 +43,9 @@ module PlexRubySDK @key = key @size = size @video_profile = video_profile + @audio_profile = audio_profile + @has_thumbnail = has_thumbnail + @indexes = indexes end end end diff --git a/lib/plex_ruby_sdk/models/operations/get_library_items_request.rb b/lib/plex_ruby_sdk/models/operations/get_library_items_request.rb index e3433e8..b116591 100644 --- a/lib/plex_ruby_sdk/models/operations/get_library_items_request.rb +++ b/lib/plex_ruby_sdk/models/operations/get_library_items_request.rb @@ -17,6 +17,12 @@ module PlexRubySDK field :section_key, ::Integer, { 'path_param': { 'field_name': 'sectionKey', 'style': 'simple', 'explode': false } } # A key representing a specific tag within the section. field :tag, ::PlexRubySDK::Operations::Tag, { 'path_param': { 'field_name': 'tag', 'style': 'simple', 'explode': false } } + # Adds the Guids object to the response + # + field :include_guids, T.nilable(::PlexRubySDK::Operations::IncludeGuids), { 'query_param': { 'field_name': 'includeGuids', 'style': 'form', 'explode': true } } + # Adds the Meta object to the response + # + field :include_meta, T.nilable(::PlexRubySDK::Operations::IncludeMeta), { 'query_param': { 'field_name': 'includeMeta', 'style': 'form', 'explode': true } } # The type of media to retrieve. # 1 = movie # 2 = show @@ -24,13 +30,7 @@ module PlexRubySDK # 4 = episode # E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries # - field :type, ::PlexRubySDK::Operations::Type, { 'query_param': { 'field_name': 'type', 'style': 'form', 'explode': true } } - # Adds the Guids object to the response - # - field :include_guids, T.nilable(::PlexRubySDK::Operations::IncludeGuids), { 'query_param': { 'field_name': 'includeGuids', 'style': 'form', 'explode': true } } - # Adds the Meta object to the response - # - field :include_meta, T.nilable(::PlexRubySDK::Operations::IncludeMeta), { 'query_param': { 'field_name': 'includeMeta', 'style': 'form', 'explode': true } } + field :type, T.nilable(::PlexRubySDK::Operations::Type), { 'query_param': { 'field_name': 'type', 'style': 'form', 'explode': true } } # The number of items to return. If not specified, all items will be returned. # If the number of items exceeds the limit, the response will be paginated. # By default this is 50 @@ -43,13 +43,13 @@ module PlexRubySDK field :x_plex_container_start, T.nilable(::Integer), { 'query_param': { 'field_name': 'X-Plex-Container-Start', 'style': 'form', 'explode': true } } - sig { params(section_key: ::Integer, tag: ::PlexRubySDK::Operations::Tag, type: ::PlexRubySDK::Operations::Type, include_guids: T.nilable(::PlexRubySDK::Operations::IncludeGuids), include_meta: T.nilable(::PlexRubySDK::Operations::IncludeMeta), x_plex_container_size: T.nilable(::Integer), x_plex_container_start: T.nilable(::Integer)).void } - def initialize(section_key: nil, tag: nil, type: nil, include_guids: nil, include_meta: nil, x_plex_container_size: nil, x_plex_container_start: nil) + sig { params(section_key: ::Integer, tag: ::PlexRubySDK::Operations::Tag, include_guids: T.nilable(::PlexRubySDK::Operations::IncludeGuids), include_meta: T.nilable(::PlexRubySDK::Operations::IncludeMeta), type: T.nilable(::PlexRubySDK::Operations::Type), x_plex_container_size: T.nilable(::Integer), x_plex_container_start: T.nilable(::Integer)).void } + def initialize(section_key: nil, tag: nil, include_guids: nil, include_meta: nil, type: nil, x_plex_container_size: nil, x_plex_container_start: nil) @section_key = section_key @tag = tag - @type = type @include_guids = include_guids @include_meta = include_meta + @type = type @x_plex_container_size = x_plex_container_size @x_plex_container_start = x_plex_container_start end diff --git a/lib/plex_ruby_sdk/models/operations/get_library_items_sort.rb b/lib/plex_ruby_sdk/models/operations/get_library_items_sort.rb index ab9205f..94c6506 100644 --- a/lib/plex_ruby_sdk/models/operations/get_library_items_sort.rb +++ b/lib/plex_ruby_sdk/models/operations/get_library_items_sort.rb @@ -11,13 +11,19 @@ module PlexRubySDK class GetLibraryItemsSort < ::PlexRubySDK::Utils::FieldAugmented extend T::Sig - - field :default_direction, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('defaultDirection') } } + # The direction of the sort. Can be either `asc` or `desc`. + # + field :default_direction, ::PlexRubySDK::Operations::DefaultDirection, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('defaultDirection'), 'decoder': Utils.enum_from_string(::PlexRubySDK::Operations::DefaultDirection, false) } } field :key, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('key') } } field :title, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('title') } } + field :active, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('active') } } + # The direction of the sort. Can be either `asc` or `desc`. + # + field :active_direction, T.nilable(::PlexRubySDK::Operations::ActiveDirection), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('activeDirection'), 'decoder': Utils.enum_from_string(::PlexRubySDK::Operations::ActiveDirection, true) } } + field :default, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('default') } } field :desc_key, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('descKey') } } @@ -25,11 +31,13 @@ module PlexRubySDK field :first_character_key, T.nilable(::String), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('firstCharacterKey') } } - sig { params(default_direction: ::String, key: ::String, title: ::String, default: T.nilable(::String), desc_key: T.nilable(::String), first_character_key: T.nilable(::String)).void } - def initialize(default_direction: nil, key: nil, title: nil, default: nil, desc_key: nil, first_character_key: nil) + sig { params(default_direction: ::PlexRubySDK::Operations::DefaultDirection, key: ::String, title: ::String, active: T.nilable(T::Boolean), active_direction: T.nilable(::PlexRubySDK::Operations::ActiveDirection), default: T.nilable(::String), desc_key: T.nilable(::String), first_character_key: T.nilable(::String)).void } + def initialize(default_direction: nil, key: nil, title: nil, active: nil, active_direction: nil, default: nil, desc_key: nil, first_character_key: nil) @default_direction = default_direction @key = key @title = title + @active = active + @active_direction = active_direction @default = default @desc_key = desc_key @first_character_key = first_character_key diff --git a/lib/plex_ruby_sdk/models/operations/get_library_items_type.rb b/lib/plex_ruby_sdk/models/operations/get_library_items_type.rb index 6766f07..b93d3d6 100644 --- a/lib/plex_ruby_sdk/models/operations/get_library_items_type.rb +++ b/lib/plex_ruby_sdk/models/operations/get_library_items_type.rb @@ -7,35 +7,14 @@ module PlexRubySDK module Operations - - class GetLibraryItemsType < ::PlexRubySDK::Utils::FieldAugmented - extend T::Sig - - - field :active, T::Boolean, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('active') } } - - field :key, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('key') } } - - field :title, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('title') } } - - field :type, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('type') } } - - field :field, T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsField]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Field') } } - - field :filter, T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsFilter]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Filter') } } - - field :sort, T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsSort]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Sort') } } - - - sig { params(active: T::Boolean, key: ::String, title: ::String, type: ::String, field: T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsField]), filter: T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsFilter]), sort: T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsSort])).void } - def initialize(active: nil, key: nil, title: nil, type: nil, field: nil, filter: nil, sort: nil) - @active = active - @key = key - @title = title - @type = type - @field = field - @filter = filter - @sort = sort + # GetLibraryItemsType - The type of media content + # + class GetLibraryItemsType < T::Enum + enums do + MOVIE = new('movie') + TV_SHOW = new('show') + SEASON = new('season') + EPISODE = new('episode') end end end diff --git a/lib/plex_ruby_sdk/models/operations/getplaylistcontents_queryparam_type.rb b/lib/plex_ruby_sdk/models/operations/getplaylistcontents_queryparam_type.rb index c750dab..4444229 100644 --- a/lib/plex_ruby_sdk/models/operations/getplaylistcontents_queryparam_type.rb +++ b/lib/plex_ruby_sdk/models/operations/getplaylistcontents_queryparam_type.rb @@ -17,7 +17,7 @@ module PlexRubySDK class GetPlaylistContentsQueryParamType < T::Enum enums do MOVIE = new(1) - SHOW = new(2) + TV_SHOW = new(2) SEASON = new(3) EPISODE = new(4) end diff --git a/lib/plex_ruby_sdk/models/operations/gettokendetails_userplexaccount.rb b/lib/plex_ruby_sdk/models/operations/gettokendetails_userplexaccount.rb index d529183..5be4752 100644 --- a/lib/plex_ruby_sdk/models/operations/gettokendetails_userplexaccount.rb +++ b/lib/plex_ruby_sdk/models/operations/gettokendetails_userplexaccount.rb @@ -22,6 +22,8 @@ module PlexRubySDK field :ads_consent_set_at, ::DateTime, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('adsConsentSetAt'), 'decoder': Utils.datetime_from_iso_format(false) } } # Unknown field :anonymous, T::Boolean, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('anonymous') } } + + field :attribution_partner, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('attributionPartner') } } # The account token field :auth_token, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('authToken') } } # If the two-factor authentication backup codes have been created @@ -98,12 +100,13 @@ module PlexRubySDK field :roles, T.nilable(T::Array[::String]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('roles') } } - sig { params(ads_consent: T::Boolean, ads_consent_reminder_at: ::DateTime, ads_consent_set_at: ::DateTime, anonymous: T::Boolean, auth_token: ::String, backup_codes_created: T::Boolean, confirmed: T::Boolean, country: ::String, email: ::String, email_only_auth: T::Boolean, entitlements: T::Array[::String], experimental_features: T::Boolean, friendly_name: ::String, guest: T::Boolean, has_password: T::Boolean, home: T::Boolean, home_admin: T::Boolean, home_size: ::Integer, id: ::Integer, joined_at: ::Integer, locale: ::String, mailing_list_active: T::Boolean, mailing_list_status: ::PlexRubySDK::Operations::MailingListStatus, max_home_size: ::Integer, profile: ::PlexRubySDK::Operations::UserProfile, protected: T::Boolean, remember_expires_at: ::Integer, restricted: T::Boolean, scrobble_types: ::String, services: T::Array[::PlexRubySDK::Operations::Services], subscription: ::PlexRubySDK::Operations::Subscription, subscription_description: ::String, subscriptions: T::Array[::PlexRubySDK::Operations::GetTokenDetailsSubscription], thumb: ::String, title: ::String, two_factor_enabled: T::Boolean, username: ::String, uuid: ::String, pin: T.nilable(::String), roles: T.nilable(T::Array[::String])).void } - def initialize(ads_consent: nil, ads_consent_reminder_at: nil, ads_consent_set_at: nil, anonymous: nil, auth_token: nil, backup_codes_created: nil, confirmed: nil, country: nil, email: nil, email_only_auth: nil, entitlements: nil, experimental_features: nil, friendly_name: nil, guest: nil, has_password: nil, home: nil, home_admin: nil, home_size: nil, id: nil, joined_at: nil, locale: nil, mailing_list_active: nil, mailing_list_status: nil, max_home_size: nil, profile: nil, protected: nil, remember_expires_at: nil, restricted: nil, scrobble_types: nil, services: nil, subscription: nil, subscription_description: nil, subscriptions: nil, thumb: nil, title: nil, two_factor_enabled: nil, username: nil, uuid: nil, pin: nil, roles: nil) + sig { params(ads_consent: T::Boolean, ads_consent_reminder_at: ::DateTime, ads_consent_set_at: ::DateTime, anonymous: T::Boolean, attribution_partner: ::String, auth_token: ::String, backup_codes_created: T::Boolean, confirmed: T::Boolean, country: ::String, email: ::String, email_only_auth: T::Boolean, entitlements: T::Array[::String], experimental_features: T::Boolean, friendly_name: ::String, guest: T::Boolean, has_password: T::Boolean, home: T::Boolean, home_admin: T::Boolean, home_size: ::Integer, id: ::Integer, joined_at: ::Integer, locale: ::String, mailing_list_active: T::Boolean, mailing_list_status: ::PlexRubySDK::Operations::MailingListStatus, max_home_size: ::Integer, profile: ::PlexRubySDK::Operations::UserProfile, protected: T::Boolean, remember_expires_at: ::Integer, restricted: T::Boolean, scrobble_types: ::String, services: T::Array[::PlexRubySDK::Operations::Services], subscription: ::PlexRubySDK::Operations::Subscription, subscription_description: ::String, subscriptions: T::Array[::PlexRubySDK::Operations::GetTokenDetailsSubscription], thumb: ::String, title: ::String, two_factor_enabled: T::Boolean, username: ::String, uuid: ::String, pin: T.nilable(::String), roles: T.nilable(T::Array[::String])).void } + def initialize(ads_consent: nil, ads_consent_reminder_at: nil, ads_consent_set_at: nil, anonymous: nil, attribution_partner: nil, auth_token: nil, backup_codes_created: nil, confirmed: nil, country: nil, email: nil, email_only_auth: nil, entitlements: nil, experimental_features: nil, friendly_name: nil, guest: nil, has_password: nil, home: nil, home_admin: nil, home_size: nil, id: nil, joined_at: nil, locale: nil, mailing_list_active: nil, mailing_list_status: nil, max_home_size: nil, profile: nil, protected: nil, remember_expires_at: nil, restricted: nil, scrobble_types: nil, services: nil, subscription: nil, subscription_description: nil, subscriptions: nil, thumb: nil, title: nil, two_factor_enabled: nil, username: nil, uuid: nil, pin: nil, roles: nil) @ads_consent = ads_consent @ads_consent_reminder_at = ads_consent_reminder_at @ads_consent_set_at = ads_consent_set_at @anonymous = anonymous + @attribution_partner = attribution_partner @auth_token = auth_token @backup_codes_created = backup_codes_created @confirmed = confirmed diff --git a/lib/plex_ruby_sdk/models/operations/gettopwatchedcontent_queryparam_type.rb b/lib/plex_ruby_sdk/models/operations/gettopwatchedcontent_queryparam_type.rb index 94a827f..8467a11 100644 --- a/lib/plex_ruby_sdk/models/operations/gettopwatchedcontent_queryparam_type.rb +++ b/lib/plex_ruby_sdk/models/operations/gettopwatchedcontent_queryparam_type.rb @@ -17,7 +17,7 @@ module PlexRubySDK class GetTopWatchedContentQueryParamType < T::Enum enums do MOVIE = new(1) - SHOW = new(2) + TV_SHOW = new(2) SEASON = new(3) EPISODE = new(4) end diff --git a/lib/plex_ruby_sdk/models/operations/hasthumbnail.rb b/lib/plex_ruby_sdk/models/operations/hasthumbnail.rb new file mode 100644 index 0000000..15c50b0 --- /dev/null +++ b/lib/plex_ruby_sdk/models/operations/hasthumbnail.rb @@ -0,0 +1,18 @@ +# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + +# typed: true +# frozen_string_literal: true + + +module PlexRubySDK + module Operations + + + class HasThumbnail < T::Enum + enums do + FALSE = new('0') + TRUE = new('1') + end + end + end +end diff --git a/lib/plex_ruby_sdk/models/operations/meta.rb b/lib/plex_ruby_sdk/models/operations/meta.rb index 7ce211f..f46886d 100644 --- a/lib/plex_ruby_sdk/models/operations/meta.rb +++ b/lib/plex_ruby_sdk/models/operations/meta.rb @@ -15,10 +15,10 @@ module PlexRubySDK field :field_type, T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsFieldType]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('FieldType') } } - field :type, T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsType]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Type') } } + field :type, T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsLibraryType]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('Type') } } - sig { params(field_type: T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsFieldType]), type: T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsType])).void } + sig { params(field_type: T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsFieldType]), type: T.nilable(T::Array[::PlexRubySDK::Operations::GetLibraryItemsLibraryType])).void } def initialize(field_type: nil, type: nil) @field_type = field_type @type = type diff --git a/lib/plex_ruby_sdk/models/operations/post_users_sign_in_data_userplexaccount.rb b/lib/plex_ruby_sdk/models/operations/post_users_sign_in_data_userplexaccount.rb index 24d5501..0c6c001 100644 --- a/lib/plex_ruby_sdk/models/operations/post_users_sign_in_data_userplexaccount.rb +++ b/lib/plex_ruby_sdk/models/operations/post_users_sign_in_data_userplexaccount.rb @@ -22,6 +22,8 @@ module PlexRubySDK field :ads_consent_set_at, ::DateTime, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('adsConsentSetAt'), 'decoder': Utils.datetime_from_iso_format(false) } } # Unknown field :anonymous, T::Boolean, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('anonymous') } } + + field :attribution_partner, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('attributionPartner') } } # The account token field :auth_token, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('authToken') } } # If the two-factor authentication backup codes have been created @@ -102,12 +104,13 @@ module PlexRubySDK field :roles, T.nilable(T::Array[::String]), { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('roles') } } - sig { params(ads_consent: T::Boolean, ads_consent_reminder_at: ::DateTime, ads_consent_set_at: ::DateTime, anonymous: T::Boolean, auth_token: ::String, backup_codes_created: T::Boolean, confirmed: T::Boolean, country: ::String, email: ::String, email_only_auth: T::Boolean, entitlements: T::Array[::String], experimental_features: T::Boolean, friendly_name: ::String, guest: T::Boolean, has_password: T::Boolean, home: T::Boolean, home_admin: T::Boolean, home_size: ::Integer, id: ::Integer, joined_at: ::Integer, locale: ::String, mailing_list_active: T::Boolean, mailing_list_status: ::PlexRubySDK::Operations::PostUsersSignInDataMailingListStatus, max_home_size: ::Integer, past_subscriptions: T::Array[::PlexRubySDK::Operations::PastSubscription], profile: ::PlexRubySDK::Operations::PostUsersSignInDataUserProfile, protected: T::Boolean, remember_expires_at: ::Integer, restricted: T::Boolean, scrobble_types: ::String, services: T::Array[::PlexRubySDK::Operations::PostUsersSignInDataServices], subscription: ::PlexRubySDK::Operations::PostUsersSignInDataSubscription, subscription_description: ::String, subscriptions: T::Array[::PlexRubySDK::Operations::PostUsersSignInDataAuthenticationSubscription], thumb: ::String, title: ::String, trials: T::Array[::PlexRubySDK::Operations::Trials], two_factor_enabled: T::Boolean, username: ::String, uuid: ::String, pin: T.nilable(::String), roles: T.nilable(T::Array[::String])).void } - def initialize(ads_consent: nil, ads_consent_reminder_at: nil, ads_consent_set_at: nil, anonymous: nil, auth_token: nil, backup_codes_created: nil, confirmed: nil, country: nil, email: nil, email_only_auth: nil, entitlements: nil, experimental_features: nil, friendly_name: nil, guest: nil, has_password: nil, home: nil, home_admin: nil, home_size: nil, id: nil, joined_at: nil, locale: nil, mailing_list_active: nil, mailing_list_status: nil, max_home_size: nil, past_subscriptions: nil, profile: nil, protected: nil, remember_expires_at: nil, restricted: nil, scrobble_types: nil, services: nil, subscription: nil, subscription_description: nil, subscriptions: nil, thumb: nil, title: nil, trials: nil, two_factor_enabled: nil, username: nil, uuid: nil, pin: nil, roles: nil) + sig { params(ads_consent: T::Boolean, ads_consent_reminder_at: ::DateTime, ads_consent_set_at: ::DateTime, anonymous: T::Boolean, attribution_partner: ::String, auth_token: ::String, backup_codes_created: T::Boolean, confirmed: T::Boolean, country: ::String, email: ::String, email_only_auth: T::Boolean, entitlements: T::Array[::String], experimental_features: T::Boolean, friendly_name: ::String, guest: T::Boolean, has_password: T::Boolean, home: T::Boolean, home_admin: T::Boolean, home_size: ::Integer, id: ::Integer, joined_at: ::Integer, locale: ::String, mailing_list_active: T::Boolean, mailing_list_status: ::PlexRubySDK::Operations::PostUsersSignInDataMailingListStatus, max_home_size: ::Integer, past_subscriptions: T::Array[::PlexRubySDK::Operations::PastSubscription], profile: ::PlexRubySDK::Operations::PostUsersSignInDataUserProfile, protected: T::Boolean, remember_expires_at: ::Integer, restricted: T::Boolean, scrobble_types: ::String, services: T::Array[::PlexRubySDK::Operations::PostUsersSignInDataServices], subscription: ::PlexRubySDK::Operations::PostUsersSignInDataSubscription, subscription_description: ::String, subscriptions: T::Array[::PlexRubySDK::Operations::PostUsersSignInDataAuthenticationSubscription], thumb: ::String, title: ::String, trials: T::Array[::PlexRubySDK::Operations::Trials], two_factor_enabled: T::Boolean, username: ::String, uuid: ::String, pin: T.nilable(::String), roles: T.nilable(T::Array[::String])).void } + def initialize(ads_consent: nil, ads_consent_reminder_at: nil, ads_consent_set_at: nil, anonymous: nil, attribution_partner: nil, auth_token: nil, backup_codes_created: nil, confirmed: nil, country: nil, email: nil, email_only_auth: nil, entitlements: nil, experimental_features: nil, friendly_name: nil, guest: nil, has_password: nil, home: nil, home_admin: nil, home_size: nil, id: nil, joined_at: nil, locale: nil, mailing_list_active: nil, mailing_list_status: nil, max_home_size: nil, past_subscriptions: nil, profile: nil, protected: nil, remember_expires_at: nil, restricted: nil, scrobble_types: nil, services: nil, subscription: nil, subscription_description: nil, subscriptions: nil, thumb: nil, title: nil, trials: nil, two_factor_enabled: nil, username: nil, uuid: nil, pin: nil, roles: nil) @ads_consent = ads_consent @ads_consent_reminder_at = ads_consent_reminder_at @ads_consent_set_at = ads_consent_set_at @anonymous = anonymous + @attribution_partner = attribution_partner @auth_token = auth_token @backup_codes_created = backup_codes_created @confirmed = confirmed diff --git a/lib/plex_ruby_sdk/models/operations/queryparam_type.rb b/lib/plex_ruby_sdk/models/operations/queryparam_type.rb index 09dd670..ea8c691 100644 --- a/lib/plex_ruby_sdk/models/operations/queryparam_type.rb +++ b/lib/plex_ruby_sdk/models/operations/queryparam_type.rb @@ -17,7 +17,7 @@ module PlexRubySDK class QueryParamType < T::Enum enums do MOVIE = new(1) - SHOW = new(2) + TV_SHOW = new(2) SEASON = new(3) EPISODE = new(4) end diff --git a/lib/plex_ruby_sdk/models/operations/showordering.rb b/lib/plex_ruby_sdk/models/operations/showordering.rb new file mode 100644 index 0000000..2ade06a --- /dev/null +++ b/lib/plex_ruby_sdk/models/operations/showordering.rb @@ -0,0 +1,27 @@ +# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + +# typed: true +# frozen_string_literal: true + + +module PlexRubySDK + module Operations + + # ShowOrdering - Setting that indicates the episode ordering for the show + # None = Library default, + # tmdbAiring = The Movie Database (Aired), + # aired = TheTVDB (Aired), + # dvd = TheTVDB (DVD), + # absolute = TheTVDB (Absolute)). + # + class ShowOrdering < T::Enum + enums do + NONE = new('None') + TMDB_AIRING = new('tmdbAiring') + AIRED = new('aired') + DVD = new('dvd') + ABSOLUTE = new('absolute') + end + end + end +end diff --git a/lib/plex_ruby_sdk/models/operations/type.rb b/lib/plex_ruby_sdk/models/operations/type.rb index 027bbb8..9e8ca61 100644 --- a/lib/plex_ruby_sdk/models/operations/type.rb +++ b/lib/plex_ruby_sdk/models/operations/type.rb @@ -17,7 +17,7 @@ module PlexRubySDK class Type < T::Enum enums do MOVIE = new(1) - SHOW = new(2) + TV_SHOW = new(2) SEASON = new(3) EPISODE = new(4) end diff --git a/lib/plex_ruby_sdk/models/operations/ultrablurcolors.rb b/lib/plex_ruby_sdk/models/operations/ultrablurcolors.rb new file mode 100644 index 0000000..f92e9cd --- /dev/null +++ b/lib/plex_ruby_sdk/models/operations/ultrablurcolors.rb @@ -0,0 +1,33 @@ +# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + +# typed: true +# frozen_string_literal: true + + +module PlexRubySDK + module Operations + + + class UltraBlurColors < ::PlexRubySDK::Utils::FieldAugmented + extend T::Sig + + + field :bottom_left, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('bottomLeft') } } + + field :bottom_right, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('bottomRight') } } + + field :top_left, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('topLeft') } } + + field :top_right, ::String, { 'format_json': { 'letter_case': ::PlexRubySDK::Utils.field_name('topRight') } } + + + sig { params(bottom_left: ::String, bottom_right: ::String, top_left: ::String, top_right: ::String).void } + def initialize(bottom_left: nil, bottom_right: nil, top_left: nil, top_right: nil) + @bottom_left = bottom_left + @bottom_right = bottom_right + @top_left = top_left + @top_right = top_right + end + end + end +end diff --git a/lib/plex_ruby_sdk/sdkconfiguration.rb b/lib/plex_ruby_sdk/sdkconfiguration.rb index 57498b5..9159907 100644 --- a/lib/plex_ruby_sdk/sdkconfiguration.rb +++ b/lib/plex_ruby_sdk/sdkconfiguration.rb @@ -42,9 +42,9 @@ module PlexRubySDK @globals = globals.nil? ? {} : globals @language = 'ruby' @openapi_doc_version = '0.0.3' - @sdk_version = '0.4.0' + @sdk_version = '0.4.1' @gen_version = '2.421.3' - @user_agent = 'speakeasy-sdk/ruby 0.4.0 2.421.3 0.0.3 plex_ruby_sdk' + @user_agent = 'speakeasy-sdk/ruby 0.4.1 2.421.3 0.0.3 plex_ruby_sdk' end sig { returns([String, T::Hash[Symbol, String]]) } diff --git a/plex_ruby_sdk.gemspec b/plex_ruby_sdk.gemspec index 11ebf8c..4e11e5f 100644 --- a/plex_ruby_sdk.gemspec +++ b/plex_ruby_sdk.gemspec @@ -4,7 +4,7 @@ $LOAD_PATH.push File.expand_path('lib', __dir__) Gem::Specification.new do |s| s.name = 'plex_ruby_sdk' - s.version = '0.4.0' + s.version = '0.4.1' s.platform = Gem::Platform::RUBY s.licenses = ['Apache-2.0'] s.summary = ''