diff --git a/.speakeasy/gen.lock b/.speakeasy/gen.lock index 4ad2883..d56ae60 100755 --- a/.speakeasy/gen.lock +++ b/.speakeasy/gen.lock @@ -1,12 +1,12 @@ lockVersion: 2.0.0 id: dfa99515-01c0-42eb-9be5-ee212fd03eb3 management: - docChecksum: b2624bb972abebc11eff6d460c59de68 + docChecksum: 77bdddd188d0778dc73b7f7906e1677c docVersion: 0.0.3 - speakeasyVersion: 1.555.3 - generationVersion: 2.620.2 - releaseVersion: 0.22.0 - configChecksum: 77f7694922b75adf20a7eee48a2c199e + speakeasyVersion: 1.558.1 + generationVersion: 2.623.4 + releaseVersion: 0.23.0 + configChecksum: d22250392b9bf523127b982981e4f99a repoURL: https://github.com/LukeHagar/plexgo.git repoSubDirectory: . installationURL: https://github.com/LukeHagar/plexgo @@ -15,7 +15,7 @@ features: go: additionalDependencies: 0.1.0 constsAndDefaults: 0.1.12 - core: 3.7.5 + core: 3.8.0 defaultEnabledRetries: 0.2.0 deprecations: 2.81.3 downloadStreams: 0.1.2 @@ -258,9 +258,7 @@ generatedFiles: - docs/models/operations/director.md - docs/models/operations/directory.md - docs/models/operations/download.md - - docs/models/operations/enablecreditsmarkergeneration.md - docs/models/operations/enablepapertrailresponse.md - - docs/models/operations/episodesort.md - docs/models/operations/extras.md - docs/models/operations/feature.md - docs/models/operations/field.md @@ -356,17 +354,11 @@ generatedFiles: - docs/models/operations/getlibraryitemsfieldtype.md - docs/models/operations/getlibraryitemsfilter.md - docs/models/operations/getlibraryitemsgenre.md + - docs/models/operations/getlibraryitemsguids.md - docs/models/operations/getlibraryitemshasthumbnail.md - docs/models/operations/getlibraryitemsimage.md - - docs/models/operations/getlibraryitemslibraryactivedirection.md - - docs/models/operations/getlibraryitemslibrarydefaultdirection.md - - docs/models/operations/getlibraryitemslibraryfield.md - - docs/models/operations/getlibraryitemslibraryfieldtype.md - - docs/models/operations/getlibraryitemslibraryfilter.md - - docs/models/operations/getlibraryitemslibraryoperator.md - - docs/models/operations/getlibraryitemslibraryresponse200type.md + - docs/models/operations/getlibraryitemslibraryoptimizedforstreaming.md - docs/models/operations/getlibraryitemslibraryresponsetype.md - - docs/models/operations/getlibraryitemslibrarysort.md - docs/models/operations/getlibraryitemslibrarytype.md - docs/models/operations/getlibraryitemslocation.md - docs/models/operations/getlibraryitemsmedia.md @@ -375,15 +367,17 @@ generatedFiles: - docs/models/operations/getlibraryitemsmetadata.md - docs/models/operations/getlibraryitemsoperator.md - docs/models/operations/getlibraryitemsoptimizedforstreaming.md + - docs/models/operations/getlibraryitemsoptimizedforstreaming1.md - docs/models/operations/getlibraryitemspart.md + - docs/models/operations/getlibraryitemsproducer.md - docs/models/operations/getlibraryitemsqueryparamincludemeta.md - docs/models/operations/getlibraryitemsqueryparamtype.md - docs/models/operations/getlibraryitemsrequest.md - docs/models/operations/getlibraryitemsresponse.md - docs/models/operations/getlibraryitemsresponsebody.md - docs/models/operations/getlibraryitemsrole.md + - docs/models/operations/getlibraryitemssimilar.md - docs/models/operations/getlibraryitemssort.md - - docs/models/operations/getlibraryitemsstream.md - docs/models/operations/getlibraryitemstype.md - docs/models/operations/getlibraryitemsultrablurcolors.md - docs/models/operations/getlibraryitemswriter.md @@ -409,6 +403,7 @@ generatedFiles: - docs/models/operations/getlibrarysectionsalloperator.md - docs/models/operations/getlibrarysectionsalloptimizedforstreaming.md - docs/models/operations/getlibrarysectionsalloptimizedforstreaming1.md + - docs/models/operations/getlibrarysectionsalloptimizedforstreaminglibrary1.md - docs/models/operations/getlibrarysectionsallpart.md - docs/models/operations/getlibrarysectionsallqueryparamincludemeta.md - docs/models/operations/getlibrarysectionsallqueryparamtype.md @@ -418,7 +413,6 @@ generatedFiles: - docs/models/operations/getlibrarysectionsallrole.md - docs/models/operations/getlibrarysectionsallsort.md - docs/models/operations/getlibrarysectionsallstream.md - - docs/models/operations/getlibrarysectionsallstreamtype.md - docs/models/operations/getlibrarysectionsalltype.md - docs/models/operations/getlibrarysectionsallultrablurcolors.md - docs/models/operations/getlibrarysectionsallwriter.md @@ -427,8 +421,11 @@ generatedFiles: - docs/models/operations/getmediaartsrequest.md - docs/models/operations/getmediaartsresponse.md - docs/models/operations/getmediaartsresponsebody.md + - docs/models/operations/getmediametadataattributes.md + - docs/models/operations/getmediametadatachapter.md - docs/models/operations/getmediametadatacountry.md - docs/models/operations/getmediametadatadirector.md + - docs/models/operations/getmediametadataextras.md - docs/models/operations/getmediametadatagenre.md - docs/models/operations/getmediametadataguids.md - docs/models/operations/getmediametadatahasthumbnail.md @@ -436,6 +433,7 @@ generatedFiles: - docs/models/operations/getmediametadatalibraryoptimizedforstreaming.md - docs/models/operations/getmediametadatalibrarytype.md - docs/models/operations/getmediametadatalocation.md + - docs/models/operations/getmediametadatamarker.md - docs/models/operations/getmediametadatamedia.md - docs/models/operations/getmediametadatamediacontainer.md - docs/models/operations/getmediametadatametadata.md @@ -444,13 +442,13 @@ generatedFiles: - docs/models/operations/getmediametadataoptimizedforstreaminglibrary1.md - docs/models/operations/getmediametadatapart.md - docs/models/operations/getmediametadataproducer.md + - docs/models/operations/getmediametadataratings.md - docs/models/operations/getmediametadatarequest.md - docs/models/operations/getmediametadataresponse.md - docs/models/operations/getmediametadataresponsebody.md - docs/models/operations/getmediametadatarole.md - docs/models/operations/getmediametadatasimilar.md - docs/models/operations/getmediametadatastream.md - - docs/models/operations/getmediametadatastreamtype.md - docs/models/operations/getmediametadatatype.md - docs/models/operations/getmediametadataultrablurcolors.md - docs/models/operations/getmediametadatawriter.md @@ -538,23 +536,23 @@ generatedFiles: - docs/models/operations/getresourcesstatisticsrequest.md - docs/models/operations/getresourcesstatisticsresponse.md - docs/models/operations/getresourcesstatisticsresponsebody.md - - docs/models/operations/getsearchalllibrariescollection.md - docs/models/operations/getsearchalllibrariescountry.md - docs/models/operations/getsearchalllibrariesdirector.md - - docs/models/operations/getsearchalllibrariesenablecreditsmarkergeneration.md - - docs/models/operations/getsearchalllibrariesepisodesort.md + - docs/models/operations/getsearchalllibrariesdirectory.md - docs/models/operations/getsearchalllibrariesflattenseasons.md - docs/models/operations/getsearchalllibrariesgenre.md + - docs/models/operations/getsearchalllibrariesguids.md - docs/models/operations/getsearchalllibrarieshasthumbnail.md - docs/models/operations/getsearchalllibrariesimage.md + - docs/models/operations/getsearchalllibrarieslibraryoptimizedforstreaming.md - docs/models/operations/getsearchalllibrarieslibrarytype.md - docs/models/operations/getsearchalllibrarieslocation.md - docs/models/operations/getsearchalllibrariesmedia.md - docs/models/operations/getsearchalllibrariesmediacontainer.md - - docs/models/operations/getsearchalllibrariesmediaguid.md - docs/models/operations/getsearchalllibrariesmetadata.md - - docs/models/operations/getsearchalllibrariesmetadatarating.md - docs/models/operations/getsearchalllibrariesoptimizedforstreaming.md + - docs/models/operations/getsearchalllibrariesoptimizedforstreaming1.md + - docs/models/operations/getsearchalllibrariesoptimizedforstreaminglibrary1.md - docs/models/operations/getsearchalllibrariespart.md - docs/models/operations/getsearchalllibrariesqueryparamincludecollections.md - docs/models/operations/getsearchalllibrariesqueryparamincludeexternalmedia.md @@ -563,7 +561,6 @@ generatedFiles: - docs/models/operations/getsearchalllibrariesresponsebody.md - docs/models/operations/getsearchalllibrariesrole.md - docs/models/operations/getsearchalllibrariesshowordering.md - - docs/models/operations/getsearchalllibrariesstream.md - docs/models/operations/getsearchalllibrariestype.md - docs/models/operations/getsearchalllibrariesultrablurcolors.md - docs/models/operations/getsearchalllibrarieswriter.md @@ -696,12 +693,10 @@ generatedFiles: - docs/models/operations/markunplayedresponse.md - docs/models/operations/media.md - docs/models/operations/mediacontainer.md - - docs/models/operations/mediaguid.md - docs/models/operations/mediaprovider.md - docs/models/operations/mediareviewsvisibility.md - docs/models/operations/meta.md - docs/models/operations/metadata.md - - docs/models/operations/metadatarating.md - docs/models/operations/minsize.md - docs/models/operations/myplex.md - docs/models/operations/one.md @@ -794,7 +789,6 @@ generatedFiles: - docs/models/operations/stoptranscodesessionrequest.md - docs/models/operations/stoptranscodesessionresponse.md - docs/models/operations/stream.md - - docs/models/operations/streamtype.md - docs/models/operations/subscription.md - docs/models/operations/tag.md - docs/models/operations/taskname.md @@ -1672,7 +1666,7 @@ examples: X-Plex-Container-Size: 50 responses: "200": - application/json: {"MediaContainer": {"Type": [{"key": "/library/sections/2/all?type=2", "type": "filter", "subtype": "clip", "title": "TV Shows", "active": false, "Filter": [{"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter", "advanced": true}], "Sort": [{"default": "asc", "active": false, "activeDirection": "asc", "defaultDirection": "asc", "descKey": "titleSort:desc", "firstCharacterKey": "/library/sections/2/firstCharacter", "key": "titleSort", "title": "Title"}], "Field": [{"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}]}], "FieldType": [{"type": "tag", "Operator": [{"key": "=", "title": "is"}]}], "size": 70, "totalSize": 170, "offset": 0, "content": "secondary", "allowSync": true, "nocache": true, "art": "/:/resources/movie-fanart.jpg", "identifier": "com.plexapp.plugins.library", "librarySectionID": 1, "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, "librarySectionID": 1, "librarySectionTitle": "Movies", "librarySectionKey": "/library/sections/1", "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", "episodeSort": "0", "enableCreditsMarkerGeneration": "-1", "showOrdering": "absolute", "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", "parentSlug": "alice-in-borderland-2020", "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, "optimizedForStreaming": 1, "has64bitOffsets": 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", "has64bitOffsets": false, "optimizedForStreaming": false, "videoProfile": "main 10", "indexes": "sd", "hasThumbnail": "1", "Stream": [{"id": 272796, "streamType": 1, "default": true, "selected": true, "codec": "h264", "index": 0, "bitrate": 6273, "colorPrimaries": "bt709", "colorRange": "tv", "colorSpace": "bt709", "colorTrc": "bt709", "bitDepth": 8, "chromaLocation": "left", "streamIdentifier": "2", "chromaSubsampling": "4:2:0", "codedHeight": 1088, "codedWidth": 1920, "frameRate": 29.97, "hasScalingMatrix": false, "hearingImpaired": false, "closedCaptions": false, "embeddedInVideo": "1", "height": 1080, "level": 40, "profile": "main", "refFrames": 4, "scanType": "progressive", "width": 1920, "displayTitle": "1080p (H.264)", "extendedDisplayTitle": "1080p (H.264)", "channels": 2, "language": "English", "languageTag": "en", "languageCode": "eng", "audioChannelLayout": "stereo", "samplingRate": 48000, "title": "English", "canAutoSync": false}]}]}], "Genre": [{"tag": "Adventure"}], "Country": [{"tag": "United States of America"}], "Director": [{"tag": "James Cameron"}], "Writer": [{"tag": "James Cameron"}], "Collection": [{"tag": "Working NL Subs"}], "Role": [{"id": 294129, "filter": "actor=294129", "thumb": "https://metadata-static.plex.tv/2/people/27b85844536c39f3f9ac943aaad46608.jpg", "tag": "Mike Smith", "tagKey": "668e7e7b22bcad9064350c91", "role": "Self"}], "Location": [{"path": "/TV Shows/House"}], "Guid": [{"id": "imdb://tt13015952"}], "UltraBlurColors": {"topLeft": "11333b", "topRight": "0a232d", "bottomRight": "73958", "bottomLeft": "1f5066"}, "Rating": [{"image": "themoviedb://image.rating", "value": 3, "type": "audience"}], "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": [{"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter"}], "Sort": [{"default": "asc", "active": false, "activeDirection": "asc", "defaultDirection": "asc", "descKey": "titleSort:desc", "firstCharacterKey": "/library/sections/2/firstCharacter", "key": "titleSort", "title": "Title"}], "Field": [{"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}]}], "FieldType": [{"type": "tag", "Operator": []}]}}} + application/json: {"MediaContainer": {"size": 50, "totalSize": 50, "offset": 0, "content": "secondary", "allowSync": false, "nocache": true, "art": "/:/resources/show-fanart.jpg", "identifier": "com.plexapp.plugins.library", "librarySectionID": 2, "librarySectionTitle": "TV Series", "librarySectionUUID": "e69655a2-ef48-4aba-bb19-0cc34d1e7d36", "mediaTagPrefix": "/system/bundle/media/flags/", "mediaTagVersion": 1734362201, "thumb": "/:/resources/show.png", "title1": "TV Series", "title2": "By Starring Actor", "viewGroup": "secondary", "viewMode": "131131", "mixedParents": true, "Metadata": [{"ratingKey": "58683", "key": "/library/metadata/58683", "guid": "plex://movie/5d7768ba96b655001fdc0408", "slug": "4-for-texas", "studio": "20th Century Studios", "type": "movie", "title": "Avatar: The Way of Water", "banner": "/library/metadata/58683/banner/1703239236", "titleSort": "Whale", "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", "theme": "/library/metadata/1/theme/1705636920", "index": 1, "leafCount": 14, "viewedLeafCount": 0, "childCount": 1, "seasonCount": 2022, "duration": 11558112, "originallyAvailableAt": "2022-12-14T00:00:00Z", "addedAt": 1556281940, "updatedAt": 1556281940, "audienceRatingImage": "rottentomatoes://image.rating.upright", "chapterSource": "media", "primaryExtraKey": "/library/metadata/58684", "originalTitle": "映画 ブラッククローバー 魔法帝の剣", "parentRatingKey": "66", "grandparentRatingKey": "66", "parentGuid": "plex://show/5d9c081b170e24001f2a7be4", "grandparentGuid": "plex://show/5d9c081b170e24001f2a7be4", "grandparentSlug": "alice-in-borderland-2020", "grandparentKey": "/library/metadata/66", "parentKey": "/library/metadata/66", "grandparentTitle": "Caprica", "grandparentThumb": "/library/metadata/66/thumb/1705716261", "grandparentTheme": "/library/metadata/66/theme/1705716261", "grandparentArt": "/library/metadata/66/art/1705716261", "parentTitle": "Caprica", "parentIndex": 1, "parentThumb": "/library/metadata/66/thumb/1705716261", "ratingImage": "rottentomatoes://image.rating.ripe", "viewCount": 1, "viewOffset": 5222500, "skipCount": 1, "lastViewedAt": 1682752242, "Image": [{"alt": "Episode 1", "type": "background", "url": "/library/metadata/45521/thumb/1644710589"}], "UltraBlurColors": {"topLeft": "11333b", "topRight": "0a232d", "bottomRight": "73958", "bottomLeft": "1f5066"}, "Guid": [{"id": "imdb://tt13015952"}], "librarySectionID": 1, "librarySectionTitle": "Movies", "librarySectionKey": "/library/sections/1", "showOrdering": "absolute", "flattenSeasons": "1", "skipChildren": false, "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", "hasVoiceActivity": false, "audioProfile": "dts", "optimizedForStreaming": 1, "has64bitOffsets": false, "Part": [{"id": 119542, "key": "/library/parts/119542/1680457526/file.mkv", "indexes": "sd", "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", "audioProfile": "dts", "has64bitOffsets": false, "optimizedForStreaming": false, "hasThumbnail": "1"}]}], "Genre": [{"id": 259, "tag": "Adventure"}], "Country": [{"id": 259, "tag": "United States of America"}], "Director": [{"id": 126522, "tag": "James Cameron"}], "Writer": [{"id": 126522, "tag": "James Cameron"}], "Collection": [{"tag": "Working NL Subs"}], "Role": [{"id": 294129, "tag": "Mike Smith", "role": "Self", "thumb": "https://metadata-static.plex.tv/2/people/27b85844536c39f3f9ac943aaad46608.jpg"}], "Rating": [{"image": "themoviedb://image.rating", "value": 3, "type": "audience"}], "Location": [{"path": "/TV Shows/House"}]}], "Meta": {"Type": [{"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"}], "Sort": [{"default": "asc", "active": false, "activeDirection": "asc", "defaultDirection": "asc", "descKey": "titleSort:desc", "firstCharacterKey": "/library/sections/2/firstCharacter", "key": "titleSort", "title": "Title"}], "Field": [{"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}]}], "FieldType": [{"type": "tag", "Operator": []}]}}} "400": application/json: {"errors": [{"code": 1000, "message": "X-Plex-Client-Identifier is missing", "status": 400}]} "401": @@ -1778,7 +1772,7 @@ examples: X-Plex-Client-Identifier: "3381b62b-9ab7-4e37-827b-203e9809eb58" responses: "200": - application/json: {"MediaContainer": {"size": 5709.89, "SearchResult": []}} + application/json: {"MediaContainer": {"size": 50, "allowSync": false, "identifier": "com.plexapp.plugins.library", "librarySectionID": 2, "librarySectionTitle": "TV Series", "librarySectionUUID": "e69655a2-ef48-4aba-bb19-0cc34d1e7d36", "mediaTagPrefix": "/system/bundle/media/flags/", "mediaTagVersion": 1734362201, "SearchResult": []}} "400": application/json: {"errors": [{"code": 1000, "message": "X-Plex-Client-Identifier is missing", "status": 400}]} "401": diff --git a/.speakeasy/gen.yaml b/.speakeasy/gen.yaml index a7ce12e..2170eab 100644 --- a/.speakeasy/gen.yaml +++ b/.speakeasy/gen.yaml @@ -17,9 +17,10 @@ generation: oAuth2ClientCredentialsEnabled: true oAuth2PasswordEnabled: false go: - version: 0.22.0 + version: 0.23.0 additionalDependencies: {} allowUnknownFieldsInWeakUnions: false + baseErrorName: PlexAPIError clientServerStatusCodesAsErrors: true defaultErrorName: SDKError flattenGlobalSecurity: true diff --git a/.speakeasy/workflow.lock b/.speakeasy/workflow.lock index 509302f..a8ecd99 100644 --- a/.speakeasy/workflow.lock +++ b/.speakeasy/workflow.lock @@ -1,4 +1,4 @@ -speakeasyVersion: 1.555.3 +speakeasyVersion: 1.558.1 sources: my-source: sourceNamespace: my-source @@ -9,19 +9,19 @@ sources: - main plexapi: sourceNamespace: plexapi - sourceRevisionDigest: sha256:78d07ad78ff60d0e9918696208d8c68a562e170d4e9c431797c02995fb8816d0 - sourceBlobDigest: sha256:d38dd2a36c1b2fd73409267f7b30c2d5d45d709616141803ea01db424ec68ae4 + sourceRevisionDigest: sha256:dafcc1192236829b85bc924e0462432c0eb7318a17c542f46e3dd05a9a6265df + sourceBlobDigest: sha256:bc072115d585e1695cb8393db901a3d36be1dcd57a69bad2b91a1ba7ac3c9c4b tags: - latest - - speakeasy-sdk-regen-1749082259 + - speakeasy-sdk-regen-1749514263 targets: plexgo: source: plexapi sourceNamespace: plexapi - sourceRevisionDigest: sha256:78d07ad78ff60d0e9918696208d8c68a562e170d4e9c431797c02995fb8816d0 - sourceBlobDigest: sha256:d38dd2a36c1b2fd73409267f7b30c2d5d45d709616141803ea01db424ec68ae4 + sourceRevisionDigest: sha256:dafcc1192236829b85bc924e0462432c0eb7318a17c542f46e3dd05a9a6265df + sourceBlobDigest: sha256:bc072115d585e1695cb8393db901a3d36be1dcd57a69bad2b91a1ba7ac3c9c4b codeSamplesNamespace: code-samples-go-plexgo - codeSamplesRevisionDigest: sha256:92b1cc82ef36c033e0829db07006a9d1fd240244dd846ed236c51115a902001a + codeSamplesRevisionDigest: sha256:3b03148d4d6862182c93ca6cb369128309b007a961711d86509a555a2c5d813d workflow: workflowVersion: 1.0.0 speakeasyVersion: latest diff --git a/RELEASES.md b/RELEASES.md index cdacc6d..824d939 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -1162,4 +1162,14 @@ Based on: ### Generated - [go v0.22.0] . ### Releases -- [Go v0.22.0] https://github.com/LukeHagar/plexgo/releases/tag/v0.22.0 - . \ No newline at end of file +- [Go v0.22.0] https://github.com/LukeHagar/plexgo/releases/tag/v0.22.0 - . + +## 2025-06-10 00:10:47 +### Changes +Based on: +- OpenAPI Doc +- Speakeasy CLI 1.558.1 (2.623.4) https://github.com/speakeasy-api/speakeasy +### Generated +- [go v0.23.0] . +### Releases +- [Go v0.23.0] https://github.com/LukeHagar/plexgo/releases/tag/v0.23.0 - . \ No newline at end of file diff --git a/docs/models/operations/enablecreditsmarkergeneration.md b/docs/models/operations/enablecreditsmarkergeneration.md deleted file mode 100644 index dcc6282..0000000 --- a/docs/models/operations/enablecreditsmarkergeneration.md +++ /dev/null @@ -1,11 +0,0 @@ -# EnableCreditsMarkerGeneration - -Setting that indicates if credits markers detection is enabled. (-1 = Library default, 0 = Disabled). - - -## Values - -| Name | Value | -| --------------------------------------------- | --------------------------------------------- | -| `EnableCreditsMarkerGenerationLibraryDefault` | -1 | -| `EnableCreditsMarkerGenerationDisabled` | 0 | \ No newline at end of file diff --git a/docs/models/operations/episodesort.md b/docs/models/operations/episodesort.md deleted file mode 100644 index 885dcea..0000000 --- a/docs/models/operations/episodesort.md +++ /dev/null @@ -1,12 +0,0 @@ -# EpisodeSort - -Setting that indicates how episodes are sorted for the show. (-1 = Library default, 0 = Oldest first, 1 = Newest first). - - -## Values - -| Name | Value | -| --------------------------- | --------------------------- | -| `EpisodeSortLibraryDefault` | -1 | -| `EpisodeSortOldestFirst` | 0 | -| `EpisodeSortNewestFirst` | 1 | \ No newline at end of file diff --git a/docs/models/operations/flattenseasons.md b/docs/models/operations/flattenseasons.md index c1e9240..8d58d34 100644 --- a/docs/models/operations/flattenseasons.md +++ b/docs/models/operations/flattenseasons.md @@ -3,6 +3,7 @@ Setting that indicates if seasons are set to hidden for the show. (-1 = Library default, 0 = Hide, 1 = Show). + ## Values | Name | Value | diff --git a/docs/models/operations/getactorslibrarymediacontainer.md b/docs/models/operations/getactorslibrarymediacontainer.md index d9a6fad..b632b4a 100644 --- a/docs/models/operations/getactorslibrarymediacontainer.md +++ b/docs/models/operations/getactorslibrarymediacontainer.md @@ -16,5 +16,5 @@ | `Title1` | *string* | :heavy_check_mark: | The primary title of the media container. | TV Series | | `Title2` | *string* | :heavy_check_mark: | The secondary title of the media container. | By Starring Actor | | `ViewGroup` | *string* | :heavy_check_mark: | Identifier for the view group layout. | secondary | -| `ViewMode` | *string* | :heavy_check_mark: | Identifier for the view mode. | 131131 | +| `ViewMode` | **string* | :heavy_minus_sign: | Identifier for the view mode. | 131131 | | `Directory` | [][operations.GetActorsLibraryDirectory](../../models/operations/getactorslibrarydirectory.md) | :heavy_minus_sign: | An array of actor entries for media items. | | \ No newline at end of file diff --git a/docs/models/operations/getlibraryitemscollection.md b/docs/models/operations/getlibraryitemscollection.md index 32d8f35..b844f00 100644 --- a/docs/models/operations/getlibraryitemscollection.md +++ b/docs/models/operations/getlibraryitemscollection.md @@ -3,6 +3,6 @@ ## Fields -| Field | Type | Required | Description | Example | -| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ | -| `Tag` | **string* | :heavy_minus_sign: | N/A | Working NL Subs | \ No newline at end of file +| Field | Type | Required | Description | Example | +| --------------------------------------------------- | --------------------------------------------------- | --------------------------------------------------- | --------------------------------------------------- | --------------------------------------------------- | +| `Tag` | *string* | :heavy_check_mark: | The user-made collection this media item belongs to | My Awesome Collection | \ No newline at end of file diff --git a/docs/models/operations/getlibraryitemscountry.md b/docs/models/operations/getlibraryitemscountry.md index cc203e0..3fad612 100644 --- a/docs/models/operations/getlibraryitemscountry.md +++ b/docs/models/operations/getlibraryitemscountry.md @@ -3,6 +3,7 @@ ## Fields -| Field | Type | Required | Description | Example | -| ------------------------ | ------------------------ | ------------------------ | ------------------------ | ------------------------ | -| `Tag` | **string* | :heavy_minus_sign: | N/A | United States of America | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | +| `ID` | *int* | :heavy_check_mark: | The unique identifier for the country.
NOTE: This is different for each Plex server and is not globally unique.
| 259 | +| `Tag` | *string* | :heavy_check_mark: | The country of origin of this media item | United States of America | \ No newline at end of file diff --git a/docs/models/operations/getlibraryitemsdirector.md b/docs/models/operations/getlibraryitemsdirector.md index 9758317..bd706b1 100644 --- a/docs/models/operations/getlibraryitemsdirector.md +++ b/docs/models/operations/getlibraryitemsdirector.md @@ -3,6 +3,8 @@ ## Fields -| Field | Type | Required | Description | Example | -| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ | -| `Tag` | **string* | :heavy_minus_sign: | N/A | James Cameron | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `ID` | *int* | :heavy_check_mark: | Unique identifier for the director. | 126522 | +| `Tag` | *string* | :heavy_check_mark: | The role of Director | Danny Boyle | +| `Thumb` | **string* | :heavy_minus_sign: | The absolute URL of the thumbnail image for the director. | https://metadata-static.plex.tv/8/people/8d65fa96804802e08f2de09fe014408e.jpg | \ No newline at end of file diff --git a/docs/models/operations/getlibraryitemsfilter.md b/docs/models/operations/getlibraryitemsfilter.md index eab87bb..9585aa3 100644 --- a/docs/models/operations/getlibraryitemsfilter.md +++ b/docs/models/operations/getlibraryitemsfilter.md @@ -9,5 +9,4 @@ | `FilterType` | *string* | :heavy_check_mark: | N/A | string | | `Key` | *string* | :heavy_check_mark: | N/A | /library/sections/2/genre?type=2 | | `Title` | *string* | :heavy_check_mark: | N/A | Genre | -| `Type` | *string* | :heavy_check_mark: | N/A | filter | -| `Advanced` | **bool* | :heavy_minus_sign: | N/A | true | \ No newline at end of file +| `Type` | *string* | :heavy_check_mark: | N/A | filter | \ No newline at end of file diff --git a/docs/models/operations/getlibraryitemsgenre.md b/docs/models/operations/getlibraryitemsgenre.md index 73d24ce..8bfef84 100644 --- a/docs/models/operations/getlibraryitemsgenre.md +++ b/docs/models/operations/getlibraryitemsgenre.md @@ -3,6 +3,7 @@ ## Fields -| Field | Type | Required | Description | Example | -| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ | -| `Tag` | **string* | :heavy_minus_sign: | N/A | Adventure | \ No newline at end of file +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | +| `ID` | *int* | :heavy_check_mark: | The unique identifier for the genre.
NOTE: This is different for each Plex server and is not globally unique.
| 259 | +| `Tag` | *string* | :heavy_check_mark: | The genre name of this media-item
| Crime | \ No newline at end of file diff --git a/docs/models/operations/getlibraryitemsguids.md b/docs/models/operations/getlibraryitemsguids.md new file mode 100644 index 0000000..fba6ca7 --- /dev/null +++ b/docs/models/operations/getlibraryitemsguids.md @@ -0,0 +1,8 @@ +# GetLibraryItemsGuids + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `ID` | *string* | :heavy_check_mark: | The unique identifier for the Guid. Can be prefixed with imdb://, tmdb://, tvdb://
| {
"imdbExample": {
"summary": "IMDB example",
"value": "imdb://tt13015952"
},
"tmdbExample": {
"summary": "TMDB example",
"value": "tmdb://2434012"
},
"tvdbExample": {
"summary": "TVDB example",
"value": "tvdb://7945991"
}
} | \ No newline at end of file diff --git a/docs/models/operations/getlibraryitemshasthumbnail.md b/docs/models/operations/getlibraryitemshasthumbnail.md index ebd8f7c..4011c09 100644 --- a/docs/models/operations/getlibraryitemshasthumbnail.md +++ b/docs/models/operations/getlibraryitemshasthumbnail.md @@ -1,5 +1,8 @@ # GetLibraryItemsHasThumbnail +Indicates if the part has a thumbnail. + + ## Values diff --git a/docs/models/operations/getlibraryitemsimage.md b/docs/models/operations/getlibraryitemsimage.md index 26179d7..5e5aa11 100644 --- a/docs/models/operations/getlibraryitemsimage.md +++ b/docs/models/operations/getlibraryitemsimage.md @@ -3,8 +3,8 @@ ## Fields -| Field | Type | Required | Description | Example | -| -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -| `Alt` | *string* | :heavy_check_mark: | N/A | Episode 1 | -| `Type` | [operations.GetLibraryItemsLibraryResponse200Type](../../models/operations/getlibraryitemslibraryresponse200type.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 +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | +| `Alt` | *string* | :heavy_check_mark: | N/A | Episode 1 | +| `Type` | [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/getlibraryitemslibrarydefaultdirection.md b/docs/models/operations/getlibraryitemslibrarydefaultdirection.md deleted file mode 100644 index e981832..0000000 --- a/docs/models/operations/getlibraryitemslibrarydefaultdirection.md +++ /dev/null @@ -1,12 +0,0 @@ -# GetLibraryItemsLibraryDefaultDirection - -The direction of the sort. Can be either `asc` or `desc`. - - - -## Values - -| Name | Value | -| -------------------------------------------------- | -------------------------------------------------- | -| `GetLibraryItemsLibraryDefaultDirectionAscending` | asc | -| `GetLibraryItemsLibraryDefaultDirectionDescending` | desc | \ No newline at end of file diff --git a/docs/models/operations/getlibraryitemslibraryfield.md b/docs/models/operations/getlibraryitemslibraryfield.md deleted file mode 100644 index 4271fcf..0000000 --- a/docs/models/operations/getlibraryitemslibraryfield.md +++ /dev/null @@ -1,11 +0,0 @@ -# GetLibraryItemsLibraryField - - -## Fields - -| Field | Type | Required | Description | Example | -| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ | -| `Key` | *string* | :heavy_check_mark: | N/A | show.title | -| `Title` | *string* | :heavy_check_mark: | N/A | Show Title | -| `Type` | *string* | :heavy_check_mark: | N/A | string | -| `SubType` | **string* | :heavy_minus_sign: | N/A | rating | \ No newline at end of file diff --git a/docs/models/operations/getlibraryitemslibraryfieldtype.md b/docs/models/operations/getlibraryitemslibraryfieldtype.md deleted file mode 100644 index 17eaa7f..0000000 --- a/docs/models/operations/getlibraryitemslibraryfieldtype.md +++ /dev/null @@ -1,9 +0,0 @@ -# GetLibraryItemsLibraryFieldType - - -## Fields - -| Field | Type | Required | Description | Example | -| -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | -| `Type` | *string* | :heavy_check_mark: | N/A | tag | -| `Operator` | [][operations.GetLibraryItemsLibraryOperator](../../models/operations/getlibraryitemslibraryoperator.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/models/operations/getlibraryitemslibraryfilter.md b/docs/models/operations/getlibraryitemslibraryfilter.md deleted file mode 100644 index 1bef622..0000000 --- a/docs/models/operations/getlibraryitemslibraryfilter.md +++ /dev/null @@ -1,12 +0,0 @@ -# GetLibraryItemsLibraryFilter - - -## Fields - -| Field | Type | Required | Description | Example | -| -------------------------------- | -------------------------------- | -------------------------------- | -------------------------------- | -------------------------------- | -| `Filter` | *string* | :heavy_check_mark: | N/A | genre | -| `FilterType` | *string* | :heavy_check_mark: | N/A | string | -| `Key` | *string* | :heavy_check_mark: | N/A | /library/sections/2/genre?type=2 | -| `Title` | *string* | :heavy_check_mark: | N/A | Genre | -| `Type` | *string* | :heavy_check_mark: | N/A | filter | \ No newline at end of file diff --git a/docs/models/operations/getlibraryitemslibraryoperator.md b/docs/models/operations/getlibraryitemslibraryoperator.md deleted file mode 100644 index 78e18fd..0000000 --- a/docs/models/operations/getlibraryitemslibraryoperator.md +++ /dev/null @@ -1,9 +0,0 @@ -# GetLibraryItemsLibraryOperator - - -## Fields - -| Field | Type | Required | Description | Example | -| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ | -| `Key` | *string* | :heavy_check_mark: | N/A | = | -| `Title` | *string* | :heavy_check_mark: | N/A | is | \ No newline at end of file diff --git a/docs/models/operations/getlibraryitemslibraryoptimizedforstreaming.md b/docs/models/operations/getlibraryitemslibraryoptimizedforstreaming.md new file mode 100644 index 0000000..3b6e80d --- /dev/null +++ b/docs/models/operations/getlibraryitemslibraryoptimizedforstreaming.md @@ -0,0 +1,20 @@ +# GetLibraryItemsLibraryOptimizedForStreaming + +Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true + + + +## Supported Types + +### GetLibraryItemsOptimizedForStreaming1 + +```go +getLibraryItemsLibraryOptimizedForStreaming := operations.CreateGetLibraryItemsLibraryOptimizedForStreamingGetLibraryItemsOptimizedForStreaming1(operations.GetLibraryItemsOptimizedForStreaming1{/* values here */}) +``` + +### + +```go +getLibraryItemsLibraryOptimizedForStreaming := operations.CreateGetLibraryItemsLibraryOptimizedForStreamingBoolean(bool{/* values here */}) +``` + diff --git a/docs/models/operations/getlibraryitemslibraryresponse200type.md b/docs/models/operations/getlibraryitemslibraryresponse200type.md deleted file mode 100644 index 97b85b2..0000000 --- a/docs/models/operations/getlibraryitemslibraryresponse200type.md +++ /dev/null @@ -1,11 +0,0 @@ -# GetLibraryItemsLibraryResponse200Type - - -## Values - -| Name | Value | -| -------------------------------------------------- | -------------------------------------------------- | -| `GetLibraryItemsLibraryResponse200TypeCoverPoster` | coverPoster | -| `GetLibraryItemsLibraryResponse200TypeBackground` | background | -| `GetLibraryItemsLibraryResponse200TypeSnapshot` | snapshot | -| `GetLibraryItemsLibraryResponse200TypeClearLogo` | clearLogo | \ No newline at end of file diff --git a/docs/models/operations/getlibraryitemslibraryresponsetype.md b/docs/models/operations/getlibraryitemslibraryresponsetype.md index 994718c..86d74be 100644 --- a/docs/models/operations/getlibraryitemslibraryresponsetype.md +++ b/docs/models/operations/getlibraryitemslibraryresponsetype.md @@ -1,14 +1,11 @@ # GetLibraryItemsLibraryResponseType -## Fields +## Values -| 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` | *bool* | :heavy_check_mark: | N/A | false | -| `Filter` | [][operations.GetLibraryItemsLibraryFilter](../../models/operations/getlibraryitemslibraryfilter.md) | :heavy_minus_sign: | N/A | | -| `Sort` | [][operations.GetLibraryItemsLibrarySort](../../models/operations/getlibraryitemslibrarysort.md) | :heavy_minus_sign: | N/A | | -| `Field` | [][operations.GetLibraryItemsLibraryField](../../models/operations/getlibraryitemslibraryfield.md) | :heavy_minus_sign: | N/A | | \ No newline at end of file +| Name | Value | +| ----------------------------------------------- | ----------------------------------------------- | +| `GetLibraryItemsLibraryResponseTypeCoverPoster` | coverPoster | +| `GetLibraryItemsLibraryResponseTypeBackground` | background | +| `GetLibraryItemsLibraryResponseTypeSnapshot` | snapshot | +| `GetLibraryItemsLibraryResponseTypeClearLogo` | clearLogo | \ No newline at end of file diff --git a/docs/models/operations/getlibraryitemslibrarysort.md b/docs/models/operations/getlibraryitemslibrarysort.md deleted file mode 100644 index 2c1cef7..0000000 --- a/docs/models/operations/getlibraryitemslibrarysort.md +++ /dev/null @@ -1,15 +0,0 @@ -# GetLibraryItemsLibrarySort - - -## Fields - -| Field | Type | Required | Description | Example | -| ----------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- | -| `Default` | **string* | :heavy_minus_sign: | N/A | asc | -| `Active` | **bool* | :heavy_minus_sign: | N/A | false | -| `ActiveDirection` | [*operations.GetLibraryItemsLibraryActiveDirection](../../models/operations/getlibraryitemslibraryactivedirection.md) | :heavy_minus_sign: | The direction of the sort. Can be either `asc` or `desc`.
| asc | -| `DefaultDirection` | [*operations.GetLibraryItemsLibraryDefaultDirection](../../models/operations/getlibraryitemslibrarydefaultdirection.md) | :heavy_minus_sign: | The direction of the sort. Can be either `asc` or `desc`.
| asc | -| `DescKey` | **string* | :heavy_minus_sign: | N/A | titleSort:desc | -| `FirstCharacterKey` | **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/getlibraryitemslibrarytype.md b/docs/models/operations/getlibraryitemslibrarytype.md index da9b757..3f121aa 100644 --- a/docs/models/operations/getlibraryitemslibrarytype.md +++ b/docs/models/operations/getlibraryitemslibrarytype.md @@ -1,20 +1,14 @@ # GetLibraryItemsLibraryType -The type of media content in the Plex library. This can represent videos, music, or photos. +## Fields - -## Values - -| Name | Value | -| -------------------------------------- | -------------------------------------- | -| `GetLibraryItemsLibraryTypeMovie` | movie | -| `GetLibraryItemsLibraryTypeTvShow` | show | -| `GetLibraryItemsLibraryTypeSeason` | season | -| `GetLibraryItemsLibraryTypeEpisode` | episode | -| `GetLibraryItemsLibraryTypeArtist` | artist | -| `GetLibraryItemsLibraryTypeAlbum` | album | -| `GetLibraryItemsLibraryTypeTrack` | track | -| `GetLibraryItemsLibraryTypePhotoAlbum` | photoalbum | -| `GetLibraryItemsLibraryTypePhoto` | photo | -| `GetLibraryItemsLibraryTypeCollection` | collection | \ No newline at end of file +| 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` | *bool* | :heavy_check_mark: | N/A | false | +| `Filter` | [][operations.GetLibraryItemsFilter](../../models/operations/getlibraryitemsfilter.md) | :heavy_minus_sign: | N/A | | +| `Sort` | [][operations.GetLibraryItemsSort](../../models/operations/getlibraryitemssort.md) | :heavy_minus_sign: | N/A | | +| `Field` | [][operations.GetLibraryItemsField](../../models/operations/getlibraryitemsfield.md) | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/models/operations/getlibraryitemslocation.md b/docs/models/operations/getlibraryitemslocation.md index 3166ab1..9c290c9 100644 --- a/docs/models/operations/getlibraryitemslocation.md +++ b/docs/models/operations/getlibraryitemslocation.md @@ -1,8 +1,10 @@ # GetLibraryItemsLocation +The folder path for the media item. + ## Fields -| Field | Type | Required | Description | Example | -| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ | -| `Path` | **string* | :heavy_minus_sign: | N/A | /TV Shows/House | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ------------------------- | ------------------------- | ------------------------- | ------------------------- | ------------------------- | +| `Path` | *string* | :heavy_check_mark: | N/A | /TV Shows/Clarkson's Farm | \ No newline at end of file diff --git a/docs/models/operations/getlibraryitemsmedia.md b/docs/models/operations/getlibraryitemsmedia.md index 739d7f4..587665d 100644 --- a/docs/models/operations/getlibraryitemsmedia.md +++ b/docs/models/operations/getlibraryitemsmedia.md @@ -3,23 +3,24 @@ ## Fields -| Field | Type | Required | Description | Example | -| ------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- | -| `ID` | *int* | :heavy_check_mark: | N/A | 119534 | -| `Duration` | **int* | :heavy_minus_sign: | N/A | 11558112 | -| `Bitrate` | **int* | :heavy_minus_sign: | N/A | 25025 | -| `Width` | **int* | :heavy_minus_sign: | N/A | 3840 | -| `Height` | **int* | :heavy_minus_sign: | N/A | 2072 | -| `AspectRatio` | **float64* | :heavy_minus_sign: | N/A | 1.85 | -| `AudioProfile` | **string* | :heavy_minus_sign: | N/A | dts | -| `AudioChannels` | **int* | :heavy_minus_sign: | N/A | 6 | -| `AudioCodec` | **string* | :heavy_minus_sign: | N/A | eac3 | -| `VideoCodec` | **string* | :heavy_minus_sign: | N/A | hevc | -| `VideoResolution` | **string* | :heavy_minus_sign: | N/A | 4k | -| `Container` | *string* | :heavy_check_mark: | N/A | mkv | -| `VideoFrameRate` | **string* | :heavy_minus_sign: | N/A | 24p | -| `VideoProfile` | **string* | :heavy_minus_sign: | N/A | main 10 | -| `HasVoiceActivity` | **bool* | :heavy_minus_sign: | N/A | false | -| `OptimizedForStreaming` | [*operations.GetLibraryItemsOptimizedForStreaming](../../models/operations/getlibraryitemsoptimizedforstreaming.md) | :heavy_minus_sign: | N/A | 1 | -| `Has64bitOffsets` | **bool* | :heavy_minus_sign: | N/A | false | -| `Part` | [][operations.GetLibraryItemsPart](../../models/operations/getlibraryitemspart.md) | :heavy_check_mark: | N/A | | \ No newline at end of file +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `ID` | *int64* | :heavy_check_mark: | Unique media identifier. | 387322 | +| `Duration` | **int* | :heavy_minus_sign: | Duration of the media in milliseconds. | 9610350 | +| `Bitrate` | **int* | :heavy_minus_sign: | Bitrate in bits per second. | 25512 | +| `Width` | **int* | :heavy_minus_sign: | Video width in pixels. | 3840 | +| `Height` | **int* | :heavy_minus_sign: | Video height in pixels. | 1602 | +| `AspectRatio` | **float32* | :heavy_minus_sign: | Aspect ratio of the video. | 2.35 | +| `AudioChannels` | **int* | :heavy_minus_sign: | Number of audio channels. | 6 | +| `DisplayOffset` | **int* | :heavy_minus_sign: | N/A | 50 | +| `AudioCodec` | **string* | :heavy_minus_sign: | Audio codec used. | aac | +| `VideoCodec` | **string* | :heavy_minus_sign: | Video codec used. | hevc | +| `VideoResolution` | **string* | :heavy_minus_sign: | Video resolution (e.g., 4k). | 4k | +| `Container` | **string* | :heavy_minus_sign: | Container format of the media. | mp4 | +| `VideoFrameRate` | **string* | :heavy_minus_sign: | Frame rate of the video. Values found include NTSC, PAL, 24p
| 24p | +| `VideoProfile` | **string* | :heavy_minus_sign: | Video profile (e.g., main 10). | main 10 | +| `HasVoiceActivity` | **bool* | :heavy_minus_sign: | Indicates whether voice activity is detected. | false | +| `AudioProfile` | **string* | :heavy_minus_sign: | The audio profile used for the media (e.g., DTS, Dolby Digital, etc.). | dts | +| `OptimizedForStreaming` | [*operations.GetLibraryItemsOptimizedForStreaming](../../models/operations/getlibraryitemsoptimizedforstreaming.md) | :heavy_minus_sign: | Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true | | +| `Has64bitOffsets` | **bool* | :heavy_minus_sign: | Indicates whether the media has 64-bit offsets.
This is relevant for media files that may require larger offsets than what 32-bit integers can provide.
| false | +| `Part` | [][operations.GetLibraryItemsPart](../../models/operations/getlibraryitemspart.md) | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/models/operations/getlibraryitemsmediacontainer.md b/docs/models/operations/getlibraryitemsmediacontainer.md index b4da90a..a712543 100644 --- a/docs/models/operations/getlibraryitemsmediacontainer.md +++ b/docs/models/operations/getlibraryitemsmediacontainer.md @@ -1,33 +1,28 @@ # GetLibraryItemsMediaContainer -The Meta object is only included in the response if the `includeMeta` parameter is set to `1`. - - ## Fields | Field | Type | Required | Description | Example | | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | -| `Type` | [][operations.GetLibraryItemsType](../../models/operations/getlibraryitemstype.md) | :heavy_minus_sign: | N/A | | -| `FieldType` | [][operations.GetLibraryItemsFieldType](../../models/operations/getlibraryitemsfieldtype.md) | :heavy_minus_sign: | N/A | | -| `Size` | *int* | :heavy_check_mark: | N/A | 70 | -| `TotalSize` | *int* | :heavy_check_mark: | N/A | 170 | -| `Offset` | *int* | :heavy_check_mark: | N/A | 0 | -| `Content` | *string* | :heavy_check_mark: | N/A | secondary | -| `AllowSync` | *bool* | :heavy_check_mark: | N/A | true | -| `Nocache` | **bool* | :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 | -| `LibrarySectionID` | *int64* | :heavy_check_mark: | N/A | 1 | -| `LibrarySectionTitle` | *string* | :heavy_check_mark: | N/A | Movies | -| `LibrarySectionUUID` | *string* | :heavy_check_mark: | N/A | 322a231a-b7f7-49f5-920f-14c61199cd30 | -| `MediaTagPrefix` | *string* | :heavy_check_mark: | N/A | /system/bundle/media/flags/ | -| `MediaTagVersion` | *int* | :heavy_check_mark: | N/A | 1701731894 | -| `Thumb` | *string* | :heavy_check_mark: | N/A | /:/resources/movie.png | -| `Title1` | *string* | :heavy_check_mark: | N/A | Movies | -| `Title2` | *string* | :heavy_check_mark: | N/A | Recently Released | -| `ViewGroup` | *string* | :heavy_check_mark: | N/A | movie | -| `ViewMode` | **int* | :heavy_minus_sign: | N/A | 65592 | -| `MixedParents` | **bool* | :heavy_minus_sign: | N/A | true | -| `Metadata` | [][operations.GetLibraryItemsMetadata](../../models/operations/getlibraryitemsmetadata.md) | :heavy_minus_sign: | N/A | | +| `Size` | *int* | :heavy_check_mark: | Number of media items returned in this response. | 50 | +| `TotalSize` | *int* | :heavy_check_mark: | Total number of media items in the library. | 50 | +| `Offset` | *int64* | :heavy_check_mark: | Offset value for pagination. | 0 | +| `Content` | *string* | :heavy_check_mark: | The content type or mode. | secondary | +| `AllowSync` | *bool* | :heavy_check_mark: | Indicates whether syncing is allowed. | false | +| `Nocache` | *bool* | :heavy_check_mark: | Specifies whether caching is disabled. | true | +| `Art` | *string* | :heavy_check_mark: | URL for the background artwork of the media container. | /:/resources/show-fanart.jpg | +| `Identifier` | *string* | :heavy_check_mark: | An plugin identifier for the media container. | com.plexapp.plugins.library | +| `LibrarySectionID` | **int64* | :heavy_minus_sign: | The unique identifier for the library section. | 2 | +| `LibrarySectionTitle` | **string* | :heavy_minus_sign: | The title of the library section. | TV Series | +| `LibrarySectionUUID` | **string* | :heavy_minus_sign: | The universally unique identifier for the library section. | e69655a2-ef48-4aba-bb19-0cc34d1e7d36 | +| `MediaTagPrefix` | *string* | :heavy_check_mark: | The prefix used for media tag resource paths. | /system/bundle/media/flags/ | +| `MediaTagVersion` | *int64* | :heavy_check_mark: | The version number for media tags. | 1734362201 | +| `Thumb` | *string* | :heavy_check_mark: | URL for the thumbnail image of the media container. | /:/resources/show.png | +| `Title1` | *string* | :heavy_check_mark: | The primary title of the media container. | TV Series | +| `Title2` | *string* | :heavy_check_mark: | The secondary title of the media container. | By Starring Actor | +| `ViewGroup` | *string* | :heavy_check_mark: | Identifier for the view group layout. | secondary | +| `ViewMode` | **string* | :heavy_minus_sign: | Identifier for the view mode. | 131131 | +| `MixedParents` | **bool* | :heavy_minus_sign: | Indicates if the media container has mixed parents. | true | +| `Metadata` | [][operations.GetLibraryItemsMetadata](../../models/operations/getlibraryitemsmetadata.md) | :heavy_check_mark: | An array of metadata items. | | | `Meta` | [*operations.GetLibraryItemsMeta](../../models/operations/getlibraryitemsmeta.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/getlibraryitemsmeta.md b/docs/models/operations/getlibraryitemsmeta.md index dcdbd6d..890f158 100644 --- a/docs/models/operations/getlibraryitemsmeta.md +++ b/docs/models/operations/getlibraryitemsmeta.md @@ -6,7 +6,7 @@ The Meta object is only included in the response if the `includeMeta` parameter ## Fields -| Field | Type | Required | Description | -| ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | -| `Type` | [][operations.GetLibraryItemsLibraryResponseType](../../models/operations/getlibraryitemslibraryresponsetype.md) | :heavy_minus_sign: | N/A | -| `FieldType` | [][operations.GetLibraryItemsLibraryFieldType](../../models/operations/getlibraryitemslibraryfieldtype.md) | :heavy_minus_sign: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | +| `Type` | [][operations.GetLibraryItemsLibraryType](../../models/operations/getlibraryitemslibrarytype.md) | :heavy_minus_sign: | N/A | +| `FieldType` | [][operations.GetLibraryItemsFieldType](../../models/operations/getlibraryitemsfieldtype.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/operations/getlibraryitemsmetadata.md b/docs/models/operations/getlibraryitemsmetadata.md index 208525f..48485bb 100644 --- a/docs/models/operations/getlibraryitemsmetadata.md +++ b/docs/models/operations/getlibraryitemsmetadata.md @@ -1,83 +1,88 @@ # GetLibraryItemsMetadata +Unknown + + ## Fields -| Field | Type | Required | Description | Example | -| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `RatingKey` | *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` | **string* | :heavy_minus_sign: | N/A | 20th Century Studios | -| `SkipChildren` | **bool* | :heavy_minus_sign: | N/A | false | -| `LibrarySectionID` | **int64* | :heavy_minus_sign: | N/A | 1 | -| `LibrarySectionTitle` | **string* | :heavy_minus_sign: | N/A | Movies | -| `LibrarySectionKey` | **string* | :heavy_minus_sign: | N/A | /library/sections/1 | -| `Type` | [operations.GetLibraryItemsLibraryType](../../models/operations/getlibraryitemslibrarytype.md) | :heavy_check_mark: | The type of media content in the Plex library. This can represent videos, music, or photos.
| movie | -| `Title` | *string* | :heavy_check_mark: | N/A | Avatar: The Way of Water | -| `Slug` | **string* | :heavy_minus_sign: | N/A | 4-for-texas | -| `ContentRating` | **string* | :heavy_minus_sign: | N/A | PG-13 | -| `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` | **float64* | :heavy_minus_sign: | N/A | 7.6 | -| `AudienceRating` | **float64* | :heavy_minus_sign: | N/A | 9.2 | -| `Year` | **int* | :heavy_minus_sign: | N/A | 2022 | -| `SeasonCount` | **int* | :heavy_minus_sign: | N/A | 2022 | -| `Tagline` | **string* | :heavy_minus_sign: | N/A | Return to Pandora. | -| `FlattenSeasons` | [*operations.FlattenSeasons](../../models/operations/flattenseasons.md) | :heavy_minus_sign: | Setting that indicates if seasons are set to hidden for the show. (-1 = Library default, 0 = Hide, 1 = Show). | 1 | -| `EpisodeSort` | [*operations.EpisodeSort](../../models/operations/episodesort.md) | :heavy_minus_sign: | Setting that indicates how episodes are sorted for the show. (-1 = Library default, 0 = Oldest first, 1 = Newest first). | 0 | -| `EnableCreditsMarkerGeneration` | [*operations.EnableCreditsMarkerGeneration](../../models/operations/enablecreditsmarkergeneration.md) | :heavy_minus_sign: | Setting that indicates if credits markers detection is enabled. (-1 = Library default, 0 = Disabled). | -1 | -| `ShowOrdering` | [*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)).
| absolute | -| `Thumb` | **string* | :heavy_minus_sign: | N/A | /library/metadata/58683/thumb/1703239236 | -| `Art` | **string* | :heavy_minus_sign: | N/A | /library/metadata/58683/art/1703239236 | -| `Banner` | **string* | :heavy_minus_sign: | N/A | /library/metadata/58683/banner/1703239236 | -| `Duration` | **int* | :heavy_minus_sign: | N/A | 11558112 | -| `OriginallyAvailableAt` | [*types.Date](../../types/date.md) | :heavy_minus_sign: | N/A | 2022-12-14 00:00:00 +0000 UTC | -| `AddedAt` | *int64* | :heavy_check_mark: | Unix epoch datetime in seconds | 1556281940 | -| `UpdatedAt` | **int64* | :heavy_minus_sign: | Unix epoch datetime in seconds | 1556281940 | -| `AudienceRatingImage` | **string* | :heavy_minus_sign: | N/A | rottentomatoes://image.rating.upright | -| `ChapterSource` | **string* | :heavy_minus_sign: | N/A | media | -| `PrimaryExtraKey` | **string* | :heavy_minus_sign: | N/A | /library/metadata/58684 | -| `RatingImage` | **string* | :heavy_minus_sign: | N/A | rottentomatoes://image.rating.ripe | -| `GrandparentRatingKey` | **string* | :heavy_minus_sign: | N/A | 66 | -| `GrandparentGUID` | **string* | :heavy_minus_sign: | N/A | plex://show/5d9c081b170e24001f2a7be4 | -| `GrandparentKey` | **string* | :heavy_minus_sign: | N/A | /library/metadata/66 | -| `GrandparentTitle` | **string* | :heavy_minus_sign: | N/A | Caprica | -| `GrandparentThumb` | **string* | :heavy_minus_sign: | N/A | /library/metadata/66/thumb/1705716261 | -| `ParentSlug` | **string* | :heavy_minus_sign: | N/A | alice-in-borderland-2020 | -| `GrandparentSlug` | **string* | :heavy_minus_sign: | N/A | alice-in-borderland-2020 | -| `GrandparentArt` | **string* | :heavy_minus_sign: | N/A | /library/metadata/66/art/1705716261 | -| `GrandparentTheme` | **string* | :heavy_minus_sign: | N/A | /library/metadata/66/theme/1705716261 | -| `Media` | [][operations.GetLibraryItemsMedia](../../models/operations/getlibraryitemsmedia.md) | :heavy_minus_sign: | The Media object is only included when type query is `4` or higher.
| | -| `Genre` | [][operations.GetLibraryItemsGenre](../../models/operations/getlibraryitemsgenre.md) | :heavy_minus_sign: | N/A | | -| `Country` | [][operations.GetLibraryItemsCountry](../../models/operations/getlibraryitemscountry.md) | :heavy_minus_sign: | N/A | | -| `Director` | [][operations.GetLibraryItemsDirector](../../models/operations/getlibraryitemsdirector.md) | :heavy_minus_sign: | N/A | | -| `Writer` | [][operations.GetLibraryItemsWriter](../../models/operations/getlibraryitemswriter.md) | :heavy_minus_sign: | N/A | | -| `Collection` | [][operations.GetLibraryItemsCollection](../../models/operations/getlibraryitemscollection.md) | :heavy_minus_sign: | N/A | | -| `Role` | [][operations.GetLibraryItemsRole](../../models/operations/getlibraryitemsrole.md) | :heavy_minus_sign: | N/A | | -| `Location` | [][operations.GetLibraryItemsLocation](../../models/operations/getlibraryitemslocation.md) | :heavy_minus_sign: | N/A | | -| `MediaGUID` | [][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`.
| | -| `UltraBlurColors` | [*operations.GetLibraryItemsUltraBlurColors](../../models/operations/getlibraryitemsultrablurcolors.md) | :heavy_minus_sign: | N/A | | -| `MetaDataRating` | [][operations.MetaDataRating](../../models/operations/metadatarating.md) | :heavy_minus_sign: | N/A | | -| `Image` | [][operations.GetLibraryItemsImage](../../models/operations/getlibraryitemsimage.md) | :heavy_minus_sign: | N/A | | -| `TitleSort` | **string* | :heavy_minus_sign: | N/A | Whale | -| `ViewCount` | **int* | :heavy_minus_sign: | N/A | 1 | -| `LastViewedAt` | **int* | :heavy_minus_sign: | N/A | 1682752242 | -| `OriginalTitle` | **string* | :heavy_minus_sign: | N/A | 映画 ブラッククローバー 魔法帝の剣 | -| `ViewOffset` | **int* | :heavy_minus_sign: | N/A | 5222500 | -| `SkipCount` | **int* | :heavy_minus_sign: | N/A | 1 | -| `Index` | **int* | :heavy_minus_sign: | N/A | 1 | -| `Theme` | **string* | :heavy_minus_sign: | N/A | /library/metadata/1/theme/1705636920 | -| `LeafCount` | **int* | :heavy_minus_sign: | N/A | 14 | -| `ViewedLeafCount` | **int* | :heavy_minus_sign: | N/A | 0 | -| `ChildCount` | **int* | :heavy_minus_sign: | N/A | 1 | -| `HasPremiumExtras` | **string* | :heavy_minus_sign: | N/A | 1 | -| `HasPremiumPrimaryExtra` | **string* | :heavy_minus_sign: | N/A | 1 | -| `ParentRatingKey` | **string* | :heavy_minus_sign: | The rating key of the parent item.
| 66 | -| `ParentGUID` | **string* | :heavy_minus_sign: | N/A | plex://show/5d9c081b170e24001f2a7be4 | -| `ParentStudio` | **string* | :heavy_minus_sign: | N/A | UCP | -| `ParentKey` | **string* | :heavy_minus_sign: | N/A | /library/metadata/66 | -| `ParentTitle` | **string* | :heavy_minus_sign: | N/A | Caprica | -| `ParentIndex` | **int* | :heavy_minus_sign: | N/A | 1 | -| `ParentYear` | **int* | :heavy_minus_sign: | N/A | 2010 | -| `ParentThumb` | **string* | :heavy_minus_sign: | N/A | /library/metadata/66/thumb/1705716261 | -| `ParentTheme` | **string* | :heavy_minus_sign: | N/A | /library/metadata/66/theme/1705716261 | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `RatingKey` | *string* | :heavy_check_mark: | The rating key (Media ID) of this media item. Note: Although this is always an integer, it is represented as a string in the API. | 58683 | +| `Key` | *string* | :heavy_check_mark: | The unique key for the media item. | /library/metadata/58683 | +| `GUID` | *string* | :heavy_check_mark: | The globally unique identifier for the media item. | plex://movie/5d7768ba96b655001fdc0408 | +| `Slug` | *string* | :heavy_check_mark: | A URL‐friendly version of the media title. | 4-for-texas | +| `Studio` | **string* | :heavy_minus_sign: | The studio that produced the media item. | 20th Century Studios | +| `Type` | [operations.GetLibraryItemsType](../../models/operations/getlibraryitemstype.md) | :heavy_check_mark: | N/A | movie | +| `Title` | *string* | :heavy_check_mark: | The title of the media item. | Avatar: The Way of Water | +| `Banner` | *string* | :heavy_check_mark: | The banner image URL for the media item. | /library/metadata/58683/banner/1703239236 | +| `TitleSort` | *string* | :heavy_check_mark: | The sort title used for ordering media items. | Whale | +| `ContentRating` | **string* | :heavy_minus_sign: | The content rating for the media item. | PG-13 | +| `Summary` | *string* | :heavy_check_mark: | A synopsis of the media item. | 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` | *float32* | :heavy_check_mark: | The critic rating for the media item. | 7.6 | +| `AudienceRating` | *float64* | :heavy_check_mark: | The audience rating for the media item. | 9.2 | +| `Year` | **int* | :heavy_minus_sign: | The release year of the media item. | 2022 | +| `Tagline` | *string* | :heavy_check_mark: | A brief tagline for the media item. | Return to Pandora. | +| `Thumb` | *string* | :heavy_check_mark: | The thumbnail image URL for the media item. | /library/metadata/58683/thumb/1703239236 | +| `Art` | *string* | :heavy_check_mark: | The art image URL for the media item. | /library/metadata/58683/art/1703239236 | +| `Theme` | *string* | :heavy_check_mark: | The theme URL for the media item. | /library/metadata/1/theme/1705636920 | +| `Index` | *int* | :heavy_check_mark: | The index position of the media item. | 1 | +| `LeafCount` | **int* | :heavy_minus_sign: | The number of leaf items (end nodes) under this media item. | 14 | +| `ViewedLeafCount` | **int* | :heavy_minus_sign: | The number of leaf items that have been viewed. | 0 | +| `ChildCount` | *int* | :heavy_check_mark: | The number of child items associated with this media item. | 1 | +| `SeasonCount` | *int* | :heavy_check_mark: | The total number of seasons (for TV shows). | 2022 | +| `Duration` | *int* | :heavy_check_mark: | The duration of the media item in milliseconds. | 11558112 | +| `OriginallyAvailableAt` | [*types.Date](../../types/date.md) | :heavy_minus_sign: | The original release date of the media item. | 2022-12-14 | +| `AddedAt` | *int64* | :heavy_check_mark: | N/A | 1556281940 | +| `UpdatedAt` | **int64* | :heavy_minus_sign: | Unix epoch datetime in seconds | 1556281940 | +| `AudienceRatingImage` | **string* | :heavy_minus_sign: | The URL for the audience rating image. | rottentomatoes://image.rating.upright | +| `ChapterSource` | **string* | :heavy_minus_sign: | The source from which chapter data is derived. | media | +| `PrimaryExtraKey` | **string* | :heavy_minus_sign: | The primary extra key associated with this media item. | /library/metadata/58684 | +| `OriginalTitle` | **string* | :heavy_minus_sign: | The original title of the media item (if different). | 映画 ブラッククローバー 魔法帝の剣 | +| `ParentRatingKey` | **string* | :heavy_minus_sign: | The rating key of the parent media item. | 66 | +| `GrandparentRatingKey` | **string* | :heavy_minus_sign: | The rating key of the grandparent media item. | 66 | +| `ParentGUID` | **string* | :heavy_minus_sign: | The GUID of the parent media item. | plex://show/5d9c081b170e24001f2a7be4 | +| `GrandparentGUID` | **string* | :heavy_minus_sign: | The GUID of the grandparent media item. | plex://show/5d9c081b170e24001f2a7be4 | +| `GrandparentSlug` | **string* | :heavy_minus_sign: | The slug for the grandparent media item. | alice-in-borderland-2020 | +| `GrandparentKey` | **string* | :heavy_minus_sign: | The key of the grandparent media item. | /library/metadata/66 | +| `ParentKey` | **string* | :heavy_minus_sign: | The key of the parent media item. | /library/metadata/66 | +| `GrandparentTitle` | **string* | :heavy_minus_sign: | The title of the grandparent media item. | Caprica | +| `GrandparentThumb` | **string* | :heavy_minus_sign: | The thumbnail URL for the grandparent media item. | /library/metadata/66/thumb/1705716261 | +| `GrandparentTheme` | **string* | :heavy_minus_sign: | The theme URL for the grandparent media item. | /library/metadata/66/theme/1705716261 | +| `GrandparentArt` | **string* | :heavy_minus_sign: | The art URL for the grandparent media item. | /library/metadata/66/art/1705716261 | +| `ParentTitle` | **string* | :heavy_minus_sign: | The title of the parent media item. | Caprica | +| `ParentIndex` | **int* | :heavy_minus_sign: | The index position of the parent media item. | 1 | +| `ParentThumb` | **string* | :heavy_minus_sign: | The thumbnail URL for the parent media item. | /library/metadata/66/thumb/1705716261 | +| `RatingImage` | **string* | :heavy_minus_sign: | The URL for the rating image. | rottentomatoes://image.rating.ripe | +| `ViewCount` | **int* | :heavy_minus_sign: | The number of times this media item has been viewed. | 1 | +| `ViewOffset` | **int* | :heavy_minus_sign: | The current playback offset (in milliseconds). | 5222500 | +| `SkipCount` | **int* | :heavy_minus_sign: | The number of times this media item has been skipped. | 1 | +| `Subtype` | **string* | :heavy_minus_sign: | A classification that further describes the type of media item. For example, 'clip' indicates that the item is a short video clip. | clip | +| `LastRatedAt` | **int64* | :heavy_minus_sign: | The Unix timestamp representing the last time the item was rated. | 1721813113 | +| `CreatedAtAccuracy` | **string* | :heavy_minus_sign: | The accuracy of the creation timestamp. This value indicates the format(s) provided (for example, 'epoch,local' means both epoch and local time formats are available). | epoch,local | +| `CreatedAtTZOffset` | **string* | :heavy_minus_sign: | The time zone offset for the creation timestamp, represented as a string. This offset indicates the difference from UTC. | 0 | +| `LastViewedAt` | **int* | :heavy_minus_sign: | Unix timestamp for when the media item was last viewed. | 1682752242 | +| `UserRating` | **float32* | :heavy_minus_sign: | The rating provided by a user for the item. This value is expressed as a decimal number. | 10 | +| `Image` | [][operations.GetLibraryItemsImage](../../models/operations/getlibraryitemsimage.md) | :heavy_minus_sign: | N/A | | +| `UltraBlurColors` | [*operations.GetLibraryItemsUltraBlurColors](../../models/operations/getlibraryitemsultrablurcolors.md) | :heavy_minus_sign: | N/A | | +| `Guids` | [][operations.GetLibraryItemsGuids](../../models/operations/getlibraryitemsguids.md) | :heavy_minus_sign: | N/A | | +| `LibrarySectionID` | **int64* | :heavy_minus_sign: | The identifier for the library section. | 1 | +| `LibrarySectionTitle` | **string* | :heavy_minus_sign: | The title of the library section. | Movies | +| `LibrarySectionKey` | **string* | :heavy_minus_sign: | The key corresponding to the library section. | /library/sections/1 | +| `ShowOrdering` | [*operations.ShowOrdering](../../models/operations/showordering.md) | :heavy_minus_sign: | Setting that indicates the episode ordering for the show.
Options:
- None = Library default
- tmdbAiring = The Movie Database (Aired)
- aired = TheTVDB (Aired)
- dvd = TheTVDB (DVD)
- absolute = TheTVDB (Absolute)
| absolute | +| `FlattenSeasons` | [*operations.FlattenSeasons](../../models/operations/flattenseasons.md) | :heavy_minus_sign: | Setting that indicates if seasons are set to hidden for the show. (-1 = Library default, 0 = Hide, 1 = Show).
| 1 | +| `SkipChildren` | **bool* | :heavy_minus_sign: | Indicates whether child items should be skipped. | false | +| `Media` | [][operations.GetLibraryItemsMedia](../../models/operations/getlibraryitemsmedia.md) | :heavy_minus_sign: | N/A | | +| `Genre` | [][operations.GetLibraryItemsGenre](../../models/operations/getlibraryitemsgenre.md) | :heavy_minus_sign: | N/A | | +| `Country` | [][operations.GetLibraryItemsCountry](../../models/operations/getlibraryitemscountry.md) | :heavy_minus_sign: | N/A | | +| `Director` | [][operations.GetLibraryItemsDirector](../../models/operations/getlibraryitemsdirector.md) | :heavy_minus_sign: | N/A | | +| `Writer` | [][operations.GetLibraryItemsWriter](../../models/operations/getlibraryitemswriter.md) | :heavy_minus_sign: | N/A | | +| `Producer` | [][operations.GetLibraryItemsProducer](../../models/operations/getlibraryitemsproducer.md) | :heavy_minus_sign: | N/A | | +| `Collection` | [][operations.GetLibraryItemsCollection](../../models/operations/getlibraryitemscollection.md) | :heavy_minus_sign: | N/A | | +| `Role` | [][operations.GetLibraryItemsRole](../../models/operations/getlibraryitemsrole.md) | :heavy_minus_sign: | N/A | | +| `Ratings` | [][operations.Ratings](../../models/operations/ratings.md) | :heavy_minus_sign: | N/A | | +| `Similar` | [][operations.GetLibraryItemsSimilar](../../models/operations/getlibraryitemssimilar.md) | :heavy_minus_sign: | N/A | | +| `Location` | [][operations.GetLibraryItemsLocation](../../models/operations/getlibraryitemslocation.md) | :heavy_minus_sign: | N/A | | +| `Chapter` | [][operations.Chapter](../../models/operations/chapter.md) | :heavy_minus_sign: | N/A | | +| `Marker` | [][operations.Marker](../../models/operations/marker.md) | :heavy_minus_sign: | N/A | | +| `Extras` | [*operations.Extras](../../models/operations/extras.md) | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/models/operations/getlibraryitemsoptimizedforstreaming.md b/docs/models/operations/getlibraryitemsoptimizedforstreaming.md index 6dd7291..4e3400f 100644 --- a/docs/models/operations/getlibraryitemsoptimizedforstreaming.md +++ b/docs/models/operations/getlibraryitemsoptimizedforstreaming.md @@ -1,9 +1,19 @@ # GetLibraryItemsOptimizedForStreaming +Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true -## Values -| Name | Value | -| --------------------------------------------- | --------------------------------------------- | -| `GetLibraryItemsOptimizedForStreamingDisable` | 0 | -| `GetLibraryItemsOptimizedForStreamingEnable` | 1 | \ No newline at end of file +## Supported Types + +### OptimizedForStreaming1 + +```go +getLibraryItemsOptimizedForStreaming := operations.CreateGetLibraryItemsOptimizedForStreamingOptimizedForStreaming1(operations.OptimizedForStreaming1{/* values here */}) +``` + +### + +```go +getLibraryItemsOptimizedForStreaming := operations.CreateGetLibraryItemsOptimizedForStreamingBoolean(bool{/* values here */}) +``` + diff --git a/docs/models/operations/getlibraryitemsoptimizedforstreaming1.md b/docs/models/operations/getlibraryitemsoptimizedforstreaming1.md new file mode 100644 index 0000000..1effe8b --- /dev/null +++ b/docs/models/operations/getlibraryitemsoptimizedforstreaming1.md @@ -0,0 +1,9 @@ +# GetLibraryItemsOptimizedForStreaming1 + + +## Values + +| Name | Value | +| ------------------------------------------- | ------------------------------------------- | +| `GetLibraryItemsOptimizedForStreaming1Zero` | 0 | +| `GetLibraryItemsOptimizedForStreaming1One` | 1 | \ No newline at end of file diff --git a/docs/models/operations/getlibraryitemspart.md b/docs/models/operations/getlibraryitemspart.md index fabaa7a..b1d6ac6 100644 --- a/docs/models/operations/getlibraryitemspart.md +++ b/docs/models/operations/getlibraryitemspart.md @@ -3,18 +3,20 @@ ## Fields -| Field | Type | Required | Description | Example | -| -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -| `ID` | *int* | :heavy_check_mark: | N/A | 119542 | -| `Key` | *string* | :heavy_check_mark: | N/A | /library/parts/119542/1680457526/file.mkv | -| `Duration` | **int* | :heavy_minus_sign: | 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` | *int64* | :heavy_check_mark: | N/A | 36158371307 | -| `Container` | *string* | :heavy_check_mark: | The container format of the media file.
| mkv | -| `AudioProfile` | **string* | :heavy_minus_sign: | N/A | dts | -| `Has64bitOffsets` | **bool* | :heavy_minus_sign: | N/A | false | -| `OptimizedForStreaming` | **bool* | :heavy_minus_sign: | N/A | false | -| `VideoProfile` | **string* | :heavy_minus_sign: | N/A | main 10 | -| `Indexes` | **string* | :heavy_minus_sign: | N/A | sd | -| `HasThumbnail` | [*operations.GetLibraryItemsHasThumbnail](../../models/operations/getlibraryitemshasthumbnail.md) | :heavy_minus_sign: | N/A | 1 | -| `Stream` | [][operations.GetLibraryItemsStream](../../models/operations/getlibraryitemsstream.md) | :heavy_minus_sign: | N/A | | \ No newline at end of file +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | +| `Accessible` | **bool* | :heavy_minus_sign: | Indicates if the part is accessible. | true | +| `Exists` | **bool* | :heavy_minus_sign: | Indicates if the part exists. | true | +| `ID` | *int64* | :heavy_check_mark: | Unique part identifier. | 418385 | +| `Key` | **string* | :heavy_minus_sign: | Key to access this part. | /library/parts/418385/1735864239/file.mkv | +| `Indexes` | **string* | :heavy_minus_sign: | N/A | sd | +| `Duration` | **int* | :heavy_minus_sign: | Duration of the part in milliseconds. | 9610350 | +| `File` | **string* | :heavy_minus_sign: | File path for the part. | /mnt/Movies_1/W/Wicked (2024).mkv | +| `Size` | **int64* | :heavy_minus_sign: | File size in bytes. | 30649952104 | +| `PacketLength` | **int* | :heavy_minus_sign: | N/A | 188 | +| `Container` | **string* | :heavy_minus_sign: | Container format of the part. | mkv | +| `VideoProfile` | **string* | :heavy_minus_sign: | Video profile for the part. | main 10 | +| `AudioProfile` | **string* | :heavy_minus_sign: | The audio profile used for the media (e.g., DTS, Dolby Digital, etc.). | dts | +| `Has64bitOffsets` | **bool* | :heavy_minus_sign: | N/A | false | +| `OptimizedForStreaming` | [*operations.GetLibraryItemsLibraryOptimizedForStreaming](../../models/operations/getlibraryitemslibraryoptimizedforstreaming.md) | :heavy_minus_sign: | Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true
| | +| `HasThumbnail` | [*operations.GetLibraryItemsHasThumbnail](../../models/operations/getlibraryitemshasthumbnail.md) | :heavy_minus_sign: | N/A | 1 | \ No newline at end of file diff --git a/docs/models/operations/getlibraryitemsproducer.md b/docs/models/operations/getlibraryitemsproducer.md new file mode 100644 index 0000000..a772c85 --- /dev/null +++ b/docs/models/operations/getlibraryitemsproducer.md @@ -0,0 +1,13 @@ +# GetLibraryItemsProducer + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `ID` | *int64* | :heavy_check_mark: | The unique role identifier. | 109501 | +| `Filter` | *string* | :heavy_check_mark: | The filter string for the role. | actor=109501 | +| `Tag` | *string* | :heavy_check_mark: | The actor's name. | Bob Odenkirk | +| `TagKey` | *string* | :heavy_check_mark: | A key associated with the actor tag. | 5d77683254f42c001f8c3f69 | +| `Role` | **string* | :heavy_minus_sign: | The character name or role. | Jimmy McGill | +| `Thumb` | **string* | :heavy_minus_sign: | URL for the role thumbnail image. | https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg | \ No newline at end of file diff --git a/docs/models/operations/getlibraryitemsrole.md b/docs/models/operations/getlibraryitemsrole.md index 8194042..a5a33d6 100644 --- a/docs/models/operations/getlibraryitemsrole.md +++ b/docs/models/operations/getlibraryitemsrole.md @@ -3,11 +3,9 @@ ## Fields -| Field | Type | Required | Description | Example | -| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | -| `ID` | **int64* | :heavy_minus_sign: | The ID of the tag or actor. | 294129 | -| `Filter` | **string* | :heavy_minus_sign: | The filter used to find the actor or tag. | actor=294129 | -| `Thumb` | **string* | :heavy_minus_sign: | The thumbnail of the actor | https://metadata-static.plex.tv/2/people/27b85844536c39f3f9ac943aaad46608.jpg | -| `Tag` | **string* | :heavy_minus_sign: | The name of the tag or actor. | Mike Smith | -| `TagKey` | **string* | :heavy_minus_sign: | Unique identifier for the tag. | 668e7e7b22bcad9064350c91 | -| `Role` | **string* | :heavy_minus_sign: | The role of the actor or tag in the media. | Self | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | +| `ID` | *int* | :heavy_check_mark: | The unique identifier for the role.
NOTE: This is different for each Plex server and is not globally unique.
| 126522 | +| `Tag` | *string* | :heavy_check_mark: | The display tag for the actor (typically the actor's name). | Teller | +| `Role` | **string* | :heavy_minus_sign: | The role played by the actor in the media item. | Self - Judge | +| `Thumb` | **string* | :heavy_minus_sign: | The absolute URL of the thumbnail image for the actor. | https://metadata-static.plex.tv/7/people/708568fd018d7aa8b1032dcf867747e8.jpg | \ No newline at end of file diff --git a/docs/models/operations/getlibraryitemssimilar.md b/docs/models/operations/getlibraryitemssimilar.md new file mode 100644 index 0000000..80f4f22 --- /dev/null +++ b/docs/models/operations/getlibraryitemssimilar.md @@ -0,0 +1,10 @@ +# GetLibraryItemsSimilar + + +## Fields + +| Field | Type | Required | Description | Example | +| ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | +| `ID` | *int64* | :heavy_check_mark: | The unique similar item identifier. | 26 | +| `Filter` | *string* | :heavy_check_mark: | The filter string for similar items. | similar=26 | +| `Tag` | *string* | :heavy_check_mark: | The tag or title of the similar content. | Breaking Bad | \ No newline at end of file diff --git a/docs/models/operations/getlibraryitemsstream.md b/docs/models/operations/getlibraryitemsstream.md deleted file mode 100644 index 1e4ff30..0000000 --- a/docs/models/operations/getlibraryitemsstream.md +++ /dev/null @@ -1,45 +0,0 @@ -# GetLibraryItemsStream - - -## Fields - -| Field | Type | Required | Description | Example | -| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | -| `ID` | *int64* | :heavy_check_mark: | N/A | 272796 | -| `StreamType` | *int64* | :heavy_check_mark: | Type of stream (1 = video, 2 = audio, 3 = subtitle) | 1 | -| `Default` | **bool* | :heavy_minus_sign: | Indicates if this is the default stream | true | -| `Selected` | **bool* | :heavy_minus_sign: | Indicates if the stream is selected | true | -| `Codec` | *string* | :heavy_check_mark: | Codec used by the stream | h264 | -| `Index` | *int64* | :heavy_check_mark: | The index of the stream | 0 | -| `Bitrate` | **int64* | :heavy_minus_sign: | The bitrate of the stream in kbps | 6273 | -| `ColorPrimaries` | **string* | :heavy_minus_sign: | The color primaries of the video stream | bt709 | -| `ColorRange` | **string* | :heavy_minus_sign: | The color range of the video stream | tv | -| `ColorSpace` | **string* | :heavy_minus_sign: | The color space of the video stream | bt709 | -| `ColorTrc` | **string* | :heavy_minus_sign: | The transfer characteristics (TRC) of the video stream | bt709 | -| `BitDepth` | **int64* | :heavy_minus_sign: | The bit depth of the video stream | 8 | -| `ChromaLocation` | **string* | :heavy_minus_sign: | The chroma location of the video stream | left | -| `StreamIdentifier` | **string* | :heavy_minus_sign: | The identifier of the video stream | 2 | -| `ChromaSubsampling` | **string* | :heavy_minus_sign: | The chroma subsampling format | 4:2:0 | -| `CodedHeight` | **int64* | :heavy_minus_sign: | The coded height of the video stream | 1088 | -| `CodedWidth` | **int64* | :heavy_minus_sign: | The coded width of the video stream | 1920 | -| `FrameRate` | **float64* | :heavy_minus_sign: | The frame rate of the video stream | 29.97 | -| `HasScalingMatrix` | **bool* | :heavy_minus_sign: | Indicates if the stream has a scaling matrix | false | -| `HearingImpaired` | **bool* | :heavy_minus_sign: | N/A | false | -| `ClosedCaptions` | **bool* | :heavy_minus_sign: | N/A | false | -| `EmbeddedInVideo` | **string* | :heavy_minus_sign: | N/A | 1 | -| `Height` | **int64* | :heavy_minus_sign: | The height of the video stream | 1080 | -| `Level` | **int64* | :heavy_minus_sign: | The level of the video codec | 40 | -| `Profile` | **string* | :heavy_minus_sign: | The profile of the video codec | main | -| `RefFrames` | **int64* | :heavy_minus_sign: | Number of reference frames | 4 | -| `ScanType` | **string* | :heavy_minus_sign: | The scan type (progressive or interlaced) | progressive | -| `Width` | **int64* | :heavy_minus_sign: | The width of the video stream | 1920 | -| `DisplayTitle` | **string* | :heavy_minus_sign: | Display title of the stream | 1080p (H.264) | -| `ExtendedDisplayTitle` | **string* | :heavy_minus_sign: | Extended display title of the stream | 1080p (H.264) | -| `Channels` | **int64* | :heavy_minus_sign: | Number of audio channels (for audio streams) | 2 | -| `Language` | **string* | :heavy_minus_sign: | The language of the stream (for audio/subtitle streams) | English | -| `LanguageTag` | **string* | :heavy_minus_sign: | Language tag of the stream | en | -| `LanguageCode` | **string* | :heavy_minus_sign: | Language code of the stream | eng | -| `AudioChannelLayout` | **string* | :heavy_minus_sign: | The audio channel layout | stereo | -| `SamplingRate` | **int64* | :heavy_minus_sign: | Sampling rate of the audio stream in Hz | 48000 | -| `Title` | **string* | :heavy_minus_sign: | Title of the subtitle track (for subtitle streams) | English | -| `CanAutoSync` | **bool* | :heavy_minus_sign: | Indicates if the subtitle stream can auto-sync | false | \ No newline at end of file diff --git a/docs/models/operations/getlibraryitemstype.md b/docs/models/operations/getlibraryitemstype.md index 0f9b7b6..bf0fed4 100644 --- a/docs/models/operations/getlibraryitemstype.md +++ b/docs/models/operations/getlibraryitemstype.md @@ -1,15 +1,20 @@ # GetLibraryItemsType +The type of media content in the Plex library. This can represent videos, music, or photos. -## 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 | filter | -| `Subtype` | **string* | :heavy_minus_sign: | N/A | clip | -| `Title` | *string* | :heavy_check_mark: | N/A | TV Shows | -| `Active` | *bool* | :heavy_check_mark: | N/A | false | -| `Filter` | [][operations.GetLibraryItemsFilter](../../models/operations/getlibraryitemsfilter.md) | :heavy_minus_sign: | N/A | | -| `Sort` | [][operations.GetLibraryItemsSort](../../models/operations/getlibraryitemssort.md) | :heavy_minus_sign: | N/A | | -| `Field` | [][operations.GetLibraryItemsField](../../models/operations/getlibraryitemsfield.md) | :heavy_minus_sign: | N/A | | \ No newline at end of file + +## Values + +| Name | Value | +| ------------------------------- | ------------------------------- | +| `GetLibraryItemsTypeMovie` | movie | +| `GetLibraryItemsTypeTvShow` | show | +| `GetLibraryItemsTypeSeason` | season | +| `GetLibraryItemsTypeEpisode` | episode | +| `GetLibraryItemsTypeArtist` | artist | +| `GetLibraryItemsTypeAlbum` | album | +| `GetLibraryItemsTypeTrack` | track | +| `GetLibraryItemsTypePhotoAlbum` | photoalbum | +| `GetLibraryItemsTypePhoto` | photo | +| `GetLibraryItemsTypeCollection` | collection | \ No newline at end of file diff --git a/docs/models/operations/getlibraryitemswriter.md b/docs/models/operations/getlibraryitemswriter.md index ec0873b..4d8912d 100644 --- a/docs/models/operations/getlibraryitemswriter.md +++ b/docs/models/operations/getlibraryitemswriter.md @@ -3,6 +3,8 @@ ## Fields -| Field | Type | Required | Description | Example | -| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ | -| `Tag` | **string* | :heavy_minus_sign: | N/A | James Cameron | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `ID` | *int* | :heavy_check_mark: | Unique identifier for the writer. | 126522 | +| `Tag` | *string* | :heavy_check_mark: | The role of Writer | Jamie P. Hanson | +| `Thumb` | **string* | :heavy_minus_sign: | The absolute URL of the thumbnail image for the writer. | https://metadata-static.plex.tv/8/people/8d65fa96804802e08f2de09fe014408e.jpg | \ No newline at end of file diff --git a/docs/models/operations/getlibrarysectionsalllibraryoptimizedforstreaming.md b/docs/models/operations/getlibrarysectionsalllibraryoptimizedforstreaming.md index 1971cac..524b0a2 100644 --- a/docs/models/operations/getlibrarysectionsalllibraryoptimizedforstreaming.md +++ b/docs/models/operations/getlibrarysectionsalllibraryoptimizedforstreaming.md @@ -5,10 +5,10 @@ Has this media been optimized for streaming. NOTE: This can be 0, 1, false or tr ## Supported Types -### GetLibrarySectionsAllOptimizedForStreaming1 +### GetLibrarySectionsAllOptimizedForStreamingLibrary1 ```go -getLibrarySectionsAllLibraryOptimizedForStreaming := operations.CreateGetLibrarySectionsAllLibraryOptimizedForStreamingGetLibrarySectionsAllOptimizedForStreaming1(operations.GetLibrarySectionsAllOptimizedForStreaming1{/* values here */}) +getLibrarySectionsAllLibraryOptimizedForStreaming := operations.CreateGetLibrarySectionsAllLibraryOptimizedForStreamingGetLibrarySectionsAllOptimizedForStreamingLibrary1(operations.GetLibrarySectionsAllOptimizedForStreamingLibrary1{/* values here */}) ``` ### diff --git a/docs/models/operations/getlibrarysectionsallmediacontainer.md b/docs/models/operations/getlibrarysectionsallmediacontainer.md index 4b871d3..0faed16 100644 --- a/docs/models/operations/getlibrarysectionsallmediacontainer.md +++ b/docs/models/operations/getlibrarysectionsallmediacontainer.md @@ -12,8 +12,8 @@ | `Art` | *string* | :heavy_check_mark: | URL for the background artwork of the media container. | /:/resources/show-fanart.jpg | | `Content` | *string* | :heavy_check_mark: | The content type or mode. | secondary | | `Identifier` | *string* | :heavy_check_mark: | An plugin identifier for the media container. | com.plexapp.plugins.library | -| `LibrarySectionID` | *int64* | :heavy_check_mark: | The unique identifier for the library section. | 2 | -| `LibrarySectionTitle` | *string* | :heavy_check_mark: | The title of the library section. | TV Series | +| `LibrarySectionID` | **int64* | :heavy_minus_sign: | The unique identifier for the library section. | 2 | +| `LibrarySectionTitle` | **string* | :heavy_minus_sign: | The title of the library section. | TV Series | | `LibrarySectionUUID` | **string* | :heavy_minus_sign: | The universally unique identifier for the library section. | e69655a2-ef48-4aba-bb19-0cc34d1e7d36 | | `MediaTagPrefix` | *string* | :heavy_check_mark: | The prefix used for media tag resource paths. | /system/bundle/media/flags/ | | `MediaTagVersion` | *int64* | :heavy_check_mark: | The version number for media tags. | 1734362201 | diff --git a/docs/models/operations/getlibrarysectionsallmetadata.md b/docs/models/operations/getlibrarysectionsallmetadata.md index 8002869..ba102f7 100644 --- a/docs/models/operations/getlibrarysectionsallmetadata.md +++ b/docs/models/operations/getlibrarysectionsallmetadata.md @@ -31,7 +31,7 @@ Unknown | `ChildCount` | *int* | :heavy_check_mark: | The number of child items associated with this media item. | 1 | | `SeasonCount` | *int* | :heavy_check_mark: | The total number of seasons (for TV shows). | 2022 | | `Duration` | *int* | :heavy_check_mark: | The duration of the media item in milliseconds. | 11558112 | -| `OriginallyAvailableAt` | [types.Date](../../types/date.md) | :heavy_check_mark: | The original release date of the media item. | 2022-12-14 | +| `OriginallyAvailableAt` | [*types.Date](../../types/date.md) | :heavy_minus_sign: | The original release date of the media item. | 2022-12-14 | | `AddedAt` | *int64* | :heavy_check_mark: | N/A | 1556281940 | | `UpdatedAt` | **int64* | :heavy_minus_sign: | Unix epoch datetime in seconds | 1556281940 | | `AudienceRatingImage` | **string* | :heavy_minus_sign: | The URL for the audience rating image. | rottentomatoes://image.rating.upright | diff --git a/docs/models/operations/getlibrarysectionsalloptimizedforstreaming.md b/docs/models/operations/getlibrarysectionsalloptimizedforstreaming.md index 43e8296..63c8042 100644 --- a/docs/models/operations/getlibrarysectionsalloptimizedforstreaming.md +++ b/docs/models/operations/getlibrarysectionsalloptimizedforstreaming.md @@ -5,10 +5,10 @@ Has this media been optimized for streaming. NOTE: This can be 0, 1, false or tr ## Supported Types -### OptimizedForStreaming1 +### GetLibrarySectionsAllOptimizedForStreaming1 ```go -getLibrarySectionsAllOptimizedForStreaming := operations.CreateGetLibrarySectionsAllOptimizedForStreamingOptimizedForStreaming1(operations.OptimizedForStreaming1{/* values here */}) +getLibrarySectionsAllOptimizedForStreaming := operations.CreateGetLibrarySectionsAllOptimizedForStreamingGetLibrarySectionsAllOptimizedForStreaming1(operations.GetLibrarySectionsAllOptimizedForStreaming1{/* values here */}) ``` ### diff --git a/docs/models/operations/getlibrarysectionsalloptimizedforstreaminglibrary1.md b/docs/models/operations/getlibrarysectionsalloptimizedforstreaminglibrary1.md new file mode 100644 index 0000000..de5d4a0 --- /dev/null +++ b/docs/models/operations/getlibrarysectionsalloptimizedforstreaminglibrary1.md @@ -0,0 +1,9 @@ +# GetLibrarySectionsAllOptimizedForStreamingLibrary1 + + +## Values + +| Name | Value | +| -------------------------------------------------------- | -------------------------------------------------------- | +| `GetLibrarySectionsAllOptimizedForStreamingLibrary1Zero` | 0 | +| `GetLibrarySectionsAllOptimizedForStreamingLibrary1One` | 1 | \ No newline at end of file diff --git a/docs/models/operations/getlibrarysectionsallstream.md b/docs/models/operations/getlibrarysectionsallstream.md index 29b2908..016bde0 100644 --- a/docs/models/operations/getlibrarysectionsallstream.md +++ b/docs/models/operations/getlibrarysectionsallstream.md @@ -3,56 +3,56 @@ ## Fields -| Field | Type | Required | Description | Example | -| -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | -| `ID` | *int64* | :heavy_check_mark: | Unique stream identifier. | 1002625 | -| `StreamType` | [operations.GetLibrarySectionsAllStreamType](../../models/operations/getlibrarysectionsallstreamtype.md) | :heavy_check_mark: | Stream type:
- 1 = video
- 2 = audio
- 3 = subtitle
| 1 | -| `Format` | **string* | :heavy_minus_sign: | Format of the stream (e.g., srt). | srt | -| `Default` | **bool* | :heavy_minus_sign: | Indicates if this stream is default. | true | -| `Codec` | *string* | :heavy_check_mark: | Codec used by the stream. | hevc | -| `Index` | **int* | :heavy_minus_sign: | Index of the stream. | 0 | -| `Bitrate` | **int* | :heavy_minus_sign: | Bitrate of the stream. | 24743 | -| `Language` | **string* | :heavy_minus_sign: | Language of the stream. | English | -| `LanguageTag` | **string* | :heavy_minus_sign: | Language tag (e.g., en). | en | -| `LanguageCode` | **string* | :heavy_minus_sign: | ISO language code. | eng | -| `HeaderCompression` | **bool* | :heavy_minus_sign: | Indicates whether header compression is enabled. | true | -| `DOVIBLCompatID` | **int* | :heavy_minus_sign: | Dolby Vision BL compatibility ID. | 1 | -| `DOVIBLPresent` | **bool* | :heavy_minus_sign: | Indicates if Dolby Vision BL is present. | true | -| `DOVIELPresent` | **bool* | :heavy_minus_sign: | Indicates if Dolby Vision EL is present. | false | -| `DOVILevel` | **int* | :heavy_minus_sign: | Dolby Vision level. | 6 | -| `DOVIPresent` | **bool* | :heavy_minus_sign: | Indicates if Dolby Vision is present. | true | -| `DOVIProfile` | **int* | :heavy_minus_sign: | Dolby Vision profile. | 8 | -| `DOVIRPUPresent` | **bool* | :heavy_minus_sign: | Indicates if Dolby Vision RPU is present. | true | -| `DOVIVersion` | **string* | :heavy_minus_sign: | Dolby Vision version. | 1.0 | -| `BitDepth` | **int* | :heavy_minus_sign: | Bit depth of the video stream. | 10 | -| `ChromaLocation` | **string* | :heavy_minus_sign: | Chroma sample location. | topleft | -| `ChromaSubsampling` | **string* | :heavy_minus_sign: | Chroma subsampling format. | 4:2:0 | -| `CodedHeight` | **int* | :heavy_minus_sign: | Coded video height. | 1608 | -| `CodedWidth` | **int* | :heavy_minus_sign: | Coded video width. | 3840 | -| `ClosedCaptions` | **bool* | :heavy_minus_sign: | N/A | true | -| `ColorPrimaries` | **string* | :heavy_minus_sign: | Color primaries used. | bt2020 | -| `ColorRange` | **string* | :heavy_minus_sign: | Color range (e.g., tv). | tv | -| `ColorSpace` | **string* | :heavy_minus_sign: | Color space. | bt2020nc | -| `ColorTrc` | **string* | :heavy_minus_sign: | Color transfer characteristics. | smpte2084 | -| `FrameRate` | **float32* | :heavy_minus_sign: | Frame rate of the stream. | 23.976 | -| `Key` | **string* | :heavy_minus_sign: | Key to access this stream part. | /library/streams/216389 | -| `Height` | **int* | :heavy_minus_sign: | Height of the video stream. | 1602 | -| `Level` | **int* | :heavy_minus_sign: | Video level. | 150 | -| `Original` | **bool* | :heavy_minus_sign: | Indicates if this is the original stream. | true | -| `HasScalingMatrix` | **bool* | :heavy_minus_sign: | N/A | false | -| `Profile` | **string* | :heavy_minus_sign: | Video profile. | main 10 | -| `ScanType` | **string* | :heavy_minus_sign: | N/A | progressive | -| `EmbeddedInVideo` | **string* | :heavy_minus_sign: | N/A | progressive | -| `RefFrames` | **int* | :heavy_minus_sign: | Number of reference frames. | 1 | -| `Width` | **int* | :heavy_minus_sign: | Width of the video stream. | 3840 | -| `DisplayTitle` | *string* | :heavy_check_mark: | Display title for the stream. | 4K DoVi/HDR10 (HEVC Main 10) | -| `ExtendedDisplayTitle` | *string* | :heavy_check_mark: | Extended display title for the stream. | 4K DoVi/HDR10 (HEVC Main 10) | -| `Selected` | **bool* | :heavy_minus_sign: | Indicates if this stream is selected (applicable for audio streams). | true | -| `Forced` | **bool* | :heavy_minus_sign: | N/A | true | -| `Channels` | **int* | :heavy_minus_sign: | Number of audio channels (for audio streams). | 6 | -| `AudioChannelLayout` | **string* | :heavy_minus_sign: | Audio channel layout. | 5.1(side) | -| `SamplingRate` | **int* | :heavy_minus_sign: | Sampling rate for the audio stream. | 48000 | -| `CanAutoSync` | **bool* | :heavy_minus_sign: | Indicates if the stream can auto-sync. | false | -| `HearingImpaired` | **bool* | :heavy_minus_sign: | Indicates if the stream is for the hearing impaired. | true | -| `Dub` | **bool* | :heavy_minus_sign: | Indicates if the stream is a dub. | true | -| `Title` | **string* | :heavy_minus_sign: | Optional title for the stream (e.g., language variant). | SDH | \ No newline at end of file +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | +| `ID` | *int64* | :heavy_check_mark: | Unique stream identifier. | 1002625 | +| `StreamType` | *int64* | :heavy_check_mark: | Stream type:
- VIDEO = 1
- AUDIO = 2
- SUBTITLE = 3
| | +| `Format` | **string* | :heavy_minus_sign: | Format of the stream (e.g., srt). | srt | +| `Default` | **bool* | :heavy_minus_sign: | Indicates if this stream is default. | true | +| `Codec` | *string* | :heavy_check_mark: | Codec used by the stream. | hevc | +| `Index` | **int* | :heavy_minus_sign: | Index of the stream. | 0 | +| `Bitrate` | **int* | :heavy_minus_sign: | Bitrate of the stream. | 24743 | +| `Language` | **string* | :heavy_minus_sign: | Language of the stream. | English | +| `LanguageTag` | **string* | :heavy_minus_sign: | Language tag (e.g., en). | en | +| `LanguageCode` | **string* | :heavy_minus_sign: | ISO language code. | eng | +| `HeaderCompression` | **bool* | :heavy_minus_sign: | Indicates whether header compression is enabled. | true | +| `DOVIBLCompatID` | **int* | :heavy_minus_sign: | Dolby Vision BL compatibility ID. | 1 | +| `DOVIBLPresent` | **bool* | :heavy_minus_sign: | Indicates if Dolby Vision BL is present. | true | +| `DOVIELPresent` | **bool* | :heavy_minus_sign: | Indicates if Dolby Vision EL is present. | false | +| `DOVILevel` | **int* | :heavy_minus_sign: | Dolby Vision level. | 6 | +| `DOVIPresent` | **bool* | :heavy_minus_sign: | Indicates if Dolby Vision is present. | true | +| `DOVIProfile` | **int* | :heavy_minus_sign: | Dolby Vision profile. | 8 | +| `DOVIRPUPresent` | **bool* | :heavy_minus_sign: | Indicates if Dolby Vision RPU is present. | true | +| `DOVIVersion` | **string* | :heavy_minus_sign: | Dolby Vision version. | 1.0 | +| `BitDepth` | **int* | :heavy_minus_sign: | Bit depth of the video stream. | 10 | +| `ChromaLocation` | **string* | :heavy_minus_sign: | Chroma sample location. | topleft | +| `ChromaSubsampling` | **string* | :heavy_minus_sign: | Chroma subsampling format. | 4:2:0 | +| `CodedHeight` | **int* | :heavy_minus_sign: | Coded video height. | 1608 | +| `CodedWidth` | **int* | :heavy_minus_sign: | Coded video width. | 3840 | +| `ClosedCaptions` | **bool* | :heavy_minus_sign: | N/A | true | +| `ColorPrimaries` | **string* | :heavy_minus_sign: | Color primaries used. | bt2020 | +| `ColorRange` | **string* | :heavy_minus_sign: | Color range (e.g., tv). | tv | +| `ColorSpace` | **string* | :heavy_minus_sign: | Color space. | bt2020nc | +| `ColorTrc` | **string* | :heavy_minus_sign: | Color transfer characteristics. | smpte2084 | +| `FrameRate` | **float32* | :heavy_minus_sign: | Frame rate of the stream. | 23.976 | +| `Key` | **string* | :heavy_minus_sign: | Key to access this stream part. | /library/streams/216389 | +| `Height` | **int* | :heavy_minus_sign: | Height of the video stream. | 1602 | +| `Level` | **int* | :heavy_minus_sign: | Video level. | 150 | +| `Original` | **bool* | :heavy_minus_sign: | Indicates if this is the original stream. | true | +| `HasScalingMatrix` | **bool* | :heavy_minus_sign: | N/A | false | +| `Profile` | **string* | :heavy_minus_sign: | Video profile. | main 10 | +| `ScanType` | **string* | :heavy_minus_sign: | N/A | progressive | +| `EmbeddedInVideo` | **string* | :heavy_minus_sign: | N/A | progressive | +| `RefFrames` | **int* | :heavy_minus_sign: | Number of reference frames. | 1 | +| `Width` | **int* | :heavy_minus_sign: | Width of the video stream. | 3840 | +| `DisplayTitle` | *string* | :heavy_check_mark: | Display title for the stream. | 4K DoVi/HDR10 (HEVC Main 10) | +| `ExtendedDisplayTitle` | *string* | :heavy_check_mark: | Extended display title for the stream. | 4K DoVi/HDR10 (HEVC Main 10) | +| `Selected` | **bool* | :heavy_minus_sign: | Indicates if this stream is selected (applicable for audio streams). | true | +| `Forced` | **bool* | :heavy_minus_sign: | N/A | true | +| `Channels` | **int* | :heavy_minus_sign: | Number of audio channels (for audio streams). | 6 | +| `AudioChannelLayout` | **string* | :heavy_minus_sign: | Audio channel layout. | 5.1(side) | +| `SamplingRate` | **int* | :heavy_minus_sign: | Sampling rate for the audio stream. | 48000 | +| `CanAutoSync` | **bool* | :heavy_minus_sign: | Indicates if the stream can auto-sync. | false | +| `HearingImpaired` | **bool* | :heavy_minus_sign: | Indicates if the stream is for the hearing impaired. | true | +| `Dub` | **bool* | :heavy_minus_sign: | Indicates if the stream is a dub. | true | +| `Title` | **string* | :heavy_minus_sign: | Optional title for the stream (e.g., language variant). | SDH | \ No newline at end of file diff --git a/docs/models/operations/getlibrarysectionsallstreamtype.md b/docs/models/operations/getlibrarysectionsallstreamtype.md deleted file mode 100644 index 8b9fdaa..0000000 --- a/docs/models/operations/getlibrarysectionsallstreamtype.md +++ /dev/null @@ -1,16 +0,0 @@ -# GetLibrarySectionsAllStreamType - -Stream type: - - 1 = video - - 2 = audio - - 3 = subtitle - - - -## Values - -| Name | Value | -| ----------------------------------------- | ----------------------------------------- | -| `GetLibrarySectionsAllStreamTypeVideo` | 1 | -| `GetLibrarySectionsAllStreamTypeAudio` | 2 | -| `GetLibrarySectionsAllStreamTypeSubtitle` | 3 | \ No newline at end of file diff --git a/docs/models/operations/getmediametadataattributes.md b/docs/models/operations/getmediametadataattributes.md new file mode 100644 index 0000000..e66f9c7 --- /dev/null +++ b/docs/models/operations/getmediametadataattributes.md @@ -0,0 +1,11 @@ +# GetMediaMetaDataAttributes + +Attributes associated with the marker. + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------------------- | -------------------------------------------- | -------------------------------------------- | -------------------------------------------- | -------------------------------------------- | +| `ID` | *int64* | :heavy_check_mark: | The identifier for the attributes. | 306970 | +| `Version` | **int64* | :heavy_minus_sign: | The version number of the marker attributes. | 4 | \ No newline at end of file diff --git a/docs/models/operations/getmediametadatachapter.md b/docs/models/operations/getmediametadatachapter.md new file mode 100644 index 0000000..4445704 --- /dev/null +++ b/docs/models/operations/getmediametadatachapter.md @@ -0,0 +1,15 @@ +# GetMediaMetaDataChapter + +The thumbnail for the chapter + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------ | ------------------------------------ | ------------------------------------ | ------------------------------------ | ------------------------------------ | +| `ID` | *int64* | :heavy_check_mark: | N/A | 4 | +| `Filter` | *string* | :heavy_check_mark: | N/A | thumb=4 | +| `Index` | *int64* | :heavy_check_mark: | N/A | 1 | +| `StartTimeOffset` | *int64* | :heavy_check_mark: | N/A | 0 | +| `EndTimeOffset` | *int64* | :heavy_check_mark: | N/A | 100100 | +| `Thumb` | *string* | :heavy_check_mark: | N/A | /library/media/46883/chapterImages/1 | \ No newline at end of file diff --git a/docs/models/operations/getmediametadataextras.md b/docs/models/operations/getmediametadataextras.md new file mode 100644 index 0000000..3b87bf1 --- /dev/null +++ b/docs/models/operations/getmediametadataextras.md @@ -0,0 +1,8 @@ +# GetMediaMetaDataExtras + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------- | ----------------------- | ----------------------- | ----------------------- | ----------------------- | +| `Size` | **int64* | :heavy_minus_sign: | The size of the extras. | 1 | \ No newline at end of file diff --git a/docs/models/operations/getmediametadatahasthumbnail.md b/docs/models/operations/getmediametadatahasthumbnail.md index 58a3def..55b1ae2 100644 --- a/docs/models/operations/getmediametadatahasthumbnail.md +++ b/docs/models/operations/getmediametadatahasthumbnail.md @@ -3,6 +3,7 @@ Indicates if the part has a thumbnail. + ## Values | Name | Value | diff --git a/docs/models/operations/getmediametadatalibraryoptimizedforstreaming.md b/docs/models/operations/getmediametadatalibraryoptimizedforstreaming.md index badf5a6..6bc474f 100644 --- a/docs/models/operations/getmediametadatalibraryoptimizedforstreaming.md +++ b/docs/models/operations/getmediametadatalibraryoptimizedforstreaming.md @@ -3,6 +3,7 @@ Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true + ## Supported Types ### GetMediaMetaDataOptimizedForStreamingLibrary1 diff --git a/docs/models/operations/getmediametadatamarker.md b/docs/models/operations/getmediametadatamarker.md new file mode 100644 index 0000000..c72de44 --- /dev/null +++ b/docs/models/operations/getmediametadatamarker.md @@ -0,0 +1,15 @@ +# GetMediaMetaDataMarker + +The final status of the marker + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | +| `ID` | *int64* | :heavy_check_mark: | N/A | 306970 | +| `Type` | *string* | :heavy_check_mark: | N/A | credits | +| `StartTimeOffset` | *int64* | :heavy_check_mark: | N/A | 4176050 | +| `EndTimeOffset` | *int64* | :heavy_check_mark: | N/A | 4393389 | +| `Final` | **bool* | :heavy_minus_sign: | N/A | true | +| `Attributes` | [*operations.GetMediaMetaDataAttributes](../../models/operations/getmediametadataattributes.md) | :heavy_minus_sign: | Attributes associated with the marker. | | \ No newline at end of file diff --git a/docs/models/operations/getmediametadatamedia.md b/docs/models/operations/getmediametadatamedia.md index 8b5e15b..c6cf018 100644 --- a/docs/models/operations/getmediametadatamedia.md +++ b/docs/models/operations/getmediametadatamedia.md @@ -3,24 +3,24 @@ ## Fields -| Field | Type | Required | Description | Example | -| --------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | -| `ID` | *int64* | :heavy_check_mark: | Unique media identifier. | 387322 | -| `Duration` | **int* | :heavy_minus_sign: | Duration of the media in milliseconds. | 9610350 | -| `Bitrate` | **int* | :heavy_minus_sign: | Bitrate in bits per second. | 25512 | -| `Width` | **int* | :heavy_minus_sign: | Video width in pixels. | 3840 | -| `Height` | **int* | :heavy_minus_sign: | Video height in pixels. | 1602 | -| `AspectRatio` | **float32* | :heavy_minus_sign: | Aspect ratio of the video. | 2.35 | -| `AudioChannels` | **int* | :heavy_minus_sign: | Number of audio channels. | 6 | -| `DisplayOffset` | **int* | :heavy_minus_sign: | N/A | 50 | -| `AudioCodec` | **string* | :heavy_minus_sign: | Audio codec used. | eac3 | -| `VideoCodec` | **string* | :heavy_minus_sign: | Video codec used. | hevc | -| `VideoResolution` | **string* | :heavy_minus_sign: | Video resolution (e.g., 4k). | 4k | -| `Container` | **string* | :heavy_minus_sign: | File container type. | mkv | -| `VideoFrameRate` | **string* | :heavy_minus_sign: | Frame rate of the video. Values found include NTSC, PAL, 24p
| 24p | -| `VideoProfile` | **string* | :heavy_minus_sign: | Video profile (e.g., main 10). | main 10 | -| `HasVoiceActivity` | **bool* | :heavy_minus_sign: | Indicates whether voice activity is detected. | false | -| `AudioProfile` | **string* | :heavy_minus_sign: | The audio profile used for the media (e.g., DTS, Dolby Digital, etc.). | dts | -| `OptimizedForStreaming` | [*operations.GetMediaMetaDataOptimizedForStreaming](../../models/operations/getmediametadataoptimizedforstreaming.md) | :heavy_minus_sign: | Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true | | -| `Has64bitOffsets` | **bool* | :heavy_minus_sign: | N/A | false | -| `Part` | [][operations.GetMediaMetaDataPart](../../models/operations/getmediametadatapart.md) | :heavy_minus_sign: | An array of parts for this media item. | | \ No newline at end of file +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `ID` | *int64* | :heavy_check_mark: | Unique media identifier. | 387322 | +| `Duration` | **int* | :heavy_minus_sign: | Duration of the media in milliseconds. | 9610350 | +| `Bitrate` | **int* | :heavy_minus_sign: | Bitrate in bits per second. | 25512 | +| `Width` | **int* | :heavy_minus_sign: | Video width in pixels. | 3840 | +| `Height` | **int* | :heavy_minus_sign: | Video height in pixels. | 1602 | +| `AspectRatio` | **float32* | :heavy_minus_sign: | Aspect ratio of the video. | 2.35 | +| `AudioChannels` | **int* | :heavy_minus_sign: | Number of audio channels. | 6 | +| `DisplayOffset` | **int* | :heavy_minus_sign: | N/A | 50 | +| `AudioCodec` | **string* | :heavy_minus_sign: | Audio codec used. | aac | +| `VideoCodec` | **string* | :heavy_minus_sign: | Video codec used. | hevc | +| `VideoResolution` | **string* | :heavy_minus_sign: | Video resolution (e.g., 4k). | 4k | +| `Container` | **string* | :heavy_minus_sign: | Container format of the media. | mp4 | +| `VideoFrameRate` | **string* | :heavy_minus_sign: | Frame rate of the video. Values found include NTSC, PAL, 24p
| 24p | +| `VideoProfile` | **string* | :heavy_minus_sign: | Video profile (e.g., main 10). | main 10 | +| `HasVoiceActivity` | **bool* | :heavy_minus_sign: | Indicates whether voice activity is detected. | false | +| `AudioProfile` | **string* | :heavy_minus_sign: | The audio profile used for the media (e.g., DTS, Dolby Digital, etc.). | dts | +| `OptimizedForStreaming` | [*operations.GetMediaMetaDataOptimizedForStreaming](../../models/operations/getmediametadataoptimizedforstreaming.md) | :heavy_minus_sign: | Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true | | +| `Has64bitOffsets` | **bool* | :heavy_minus_sign: | Indicates whether the media has 64-bit offsets.
This is relevant for media files that may require larger offsets than what 32-bit integers can provide.
| false | +| `Part` | [][operations.GetMediaMetaDataPart](../../models/operations/getmediametadatapart.md) | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/models/operations/getmediametadatamediacontainer.md b/docs/models/operations/getmediametadatamediacontainer.md index a4e5bcc..4ce19ee 100644 --- a/docs/models/operations/getmediametadatamediacontainer.md +++ b/docs/models/operations/getmediametadatamediacontainer.md @@ -8,8 +8,8 @@ | `Size` | *int* | :heavy_check_mark: | Number of media items returned in this response. | 50 | | `AllowSync` | *bool* | :heavy_check_mark: | Indicates whether syncing is allowed. | false | | `Identifier` | *string* | :heavy_check_mark: | An plugin identifier for the media container. | com.plexapp.plugins.library | -| `LibrarySectionID` | *int64* | :heavy_check_mark: | The unique identifier for the library section. | 2 | -| `LibrarySectionTitle` | *string* | :heavy_check_mark: | The title of the library section. | TV Series | +| `LibrarySectionID` | **int64* | :heavy_minus_sign: | The unique identifier for the library section. | 2 | +| `LibrarySectionTitle` | **string* | :heavy_minus_sign: | The title of the library section. | TV Series | | `LibrarySectionUUID` | **string* | :heavy_minus_sign: | The universally unique identifier for the library section. | e69655a2-ef48-4aba-bb19-0cc34d1e7d36 | | `MediaTagPrefix` | *string* | :heavy_check_mark: | The prefix used for media tag resource paths. | /system/bundle/media/flags/ | | `MediaTagVersion` | *int64* | :heavy_check_mark: | The version number for media tags. | 1734362201 | diff --git a/docs/models/operations/getmediametadatametadata.md b/docs/models/operations/getmediametadatametadata.md index 83cd505..d74a383 100644 --- a/docs/models/operations/getmediametadatametadata.md +++ b/docs/models/operations/getmediametadatametadata.md @@ -31,7 +31,7 @@ Unknown | `ChildCount` | *int* | :heavy_check_mark: | The number of child items associated with this media item. | 1 | | `SeasonCount` | *int* | :heavy_check_mark: | The total number of seasons (for TV shows). | 2022 | | `Duration` | *int* | :heavy_check_mark: | The duration of the media item in milliseconds. | 11558112 | -| `OriginallyAvailableAt` | [types.Date](../../types/date.md) | :heavy_check_mark: | The original release date of the media item. | 2022-12-14 | +| `OriginallyAvailableAt` | [*types.Date](../../types/date.md) | :heavy_minus_sign: | The original release date of the media item. | 2022-12-14 | | `AddedAt` | *int64* | :heavy_check_mark: | N/A | 1556281940 | | `UpdatedAt` | **int64* | :heavy_minus_sign: | Unix epoch datetime in seconds | 1556281940 | | `AudienceRatingImage` | **string* | :heavy_minus_sign: | The URL for the audience rating image. | rottentomatoes://image.rating.upright | @@ -64,9 +64,9 @@ Unknown | `UserRating` | **float32* | :heavy_minus_sign: | The rating provided by a user for the item. This value is expressed as a decimal number. | 10 | | `Image` | [][operations.GetMediaMetaDataImage](../../models/operations/getmediametadataimage.md) | :heavy_minus_sign: | N/A | | | `UltraBlurColors` | [*operations.GetMediaMetaDataUltraBlurColors](../../models/operations/getmediametadataultrablurcolors.md) | :heavy_minus_sign: | N/A | | -| `LibrarySectionID` | *int64* | :heavy_check_mark: | The identifier for the library section. | 1 | -| `LibrarySectionTitle` | *string* | :heavy_check_mark: | The title of the library section. | Movies | -| `LibrarySectionKey` | *string* | :heavy_check_mark: | The key corresponding to the library section. | /library/sections/1 | +| `LibrarySectionID` | **int64* | :heavy_minus_sign: | The identifier for the library section. | 1 | +| `LibrarySectionTitle` | **string* | :heavy_minus_sign: | The title of the library section. | Movies | +| `LibrarySectionKey` | **string* | :heavy_minus_sign: | The key corresponding to the library section. | /library/sections/1 | | `Guids` | [][operations.GetMediaMetaDataGuids](../../models/operations/getmediametadataguids.md) | :heavy_minus_sign: | N/A | | | `Media` | [][operations.GetMediaMetaDataMedia](../../models/operations/getmediametadatamedia.md) | :heavy_minus_sign: | N/A | | | `Genre` | [][operations.GetMediaMetaDataGenre](../../models/operations/getmediametadatagenre.md) | :heavy_minus_sign: | N/A | | @@ -75,9 +75,9 @@ Unknown | `Writer` | [][operations.GetMediaMetaDataWriter](../../models/operations/getmediametadatawriter.md) | :heavy_minus_sign: | N/A | | | `Producer` | [][operations.GetMediaMetaDataProducer](../../models/operations/getmediametadataproducer.md) | :heavy_minus_sign: | N/A | | | `Role` | [][operations.GetMediaMetaDataRole](../../models/operations/getmediametadatarole.md) | :heavy_minus_sign: | N/A | | -| `Ratings` | [][operations.Ratings](../../models/operations/ratings.md) | :heavy_minus_sign: | N/A | | +| `Ratings` | [][operations.GetMediaMetaDataRatings](../../models/operations/getmediametadataratings.md) | :heavy_minus_sign: | N/A | | | `Similar` | [][operations.GetMediaMetaDataSimilar](../../models/operations/getmediametadatasimilar.md) | :heavy_minus_sign: | N/A | | | `Location` | [][operations.GetMediaMetaDataLocation](../../models/operations/getmediametadatalocation.md) | :heavy_minus_sign: | N/A | | -| `Chapter` | [][operations.Chapter](../../models/operations/chapter.md) | :heavy_minus_sign: | N/A | | -| `Marker` | [][operations.Marker](../../models/operations/marker.md) | :heavy_minus_sign: | N/A | | -| `Extras` | [*operations.Extras](../../models/operations/extras.md) | :heavy_minus_sign: | N/A | | \ No newline at end of file +| `Chapter` | [][operations.GetMediaMetaDataChapter](../../models/operations/getmediametadatachapter.md) | :heavy_minus_sign: | N/A | | +| `Marker` | [][operations.GetMediaMetaDataMarker](../../models/operations/getmediametadatamarker.md) | :heavy_minus_sign: | N/A | | +| `Extras` | [*operations.GetMediaMetaDataExtras](../../models/operations/getmediametadataextras.md) | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/models/operations/getmediametadatapart.md b/docs/models/operations/getmediametadatapart.md index 0b40608..37074d1 100644 --- a/docs/models/operations/getmediametadatapart.md +++ b/docs/models/operations/getmediametadatapart.md @@ -8,16 +8,16 @@ | `Accessible` | **bool* | :heavy_minus_sign: | Indicates if the part is accessible. | true | | `Exists` | **bool* | :heavy_minus_sign: | Indicates if the part exists. | true | | `ID` | *int64* | :heavy_check_mark: | Unique part identifier. | 418385 | -| `Key` | *string* | :heavy_check_mark: | Key to access this part. | /library/parts/418385/1735864239/file.mkv | +| `Key` | **string* | :heavy_minus_sign: | Key to access this part. | /library/parts/418385/1735864239/file.mkv | | `Indexes` | **string* | :heavy_minus_sign: | N/A | sd | | `Duration` | **int* | :heavy_minus_sign: | Duration of the part in milliseconds. | 9610350 | -| `File` | *string* | :heavy_check_mark: | File path for the part. | /mnt/Movies_1/W/Wicked (2024).mkv | -| `Size` | *int64* | :heavy_check_mark: | File size in bytes. | 30649952104 | +| `File` | **string* | :heavy_minus_sign: | File path for the part. | /mnt/Movies_1/W/Wicked (2024).mkv | +| `Size` | **int64* | :heavy_minus_sign: | File size in bytes. | 30649952104 | | `PacketLength` | **int* | :heavy_minus_sign: | N/A | 188 | | `Container` | **string* | :heavy_minus_sign: | Container format of the part. | mkv | | `VideoProfile` | **string* | :heavy_minus_sign: | Video profile for the part. | main 10 | | `AudioProfile` | **string* | :heavy_minus_sign: | The audio profile used for the media (e.g., DTS, Dolby Digital, etc.). | dts | | `Has64bitOffsets` | **bool* | :heavy_minus_sign: | N/A | false | -| `OptimizedForStreaming` | [*operations.GetMediaMetaDataLibraryOptimizedForStreaming](../../models/operations/getmediametadatalibraryoptimizedforstreaming.md) | :heavy_minus_sign: | Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true | | +| `OptimizedForStreaming` | [*operations.GetMediaMetaDataLibraryOptimizedForStreaming](../../models/operations/getmediametadatalibraryoptimizedforstreaming.md) | :heavy_minus_sign: | Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true
| | | `HasThumbnail` | [*operations.GetMediaMetaDataHasThumbnail](../../models/operations/getmediametadatahasthumbnail.md) | :heavy_minus_sign: | N/A | 1 | -| `Stream` | [][operations.GetMediaMetaDataStream](../../models/operations/getmediametadatastream.md) | :heavy_minus_sign: | An array of streams for this part. | | \ No newline at end of file +| `Stream` | [][operations.GetMediaMetaDataStream](../../models/operations/getmediametadatastream.md) | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/models/operations/metadatarating.md b/docs/models/operations/getmediametadataratings.md similarity index 83% rename from docs/models/operations/metadatarating.md rename to docs/models/operations/getmediametadataratings.md index 5a941c5..a377e39 100644 --- a/docs/models/operations/metadatarating.md +++ b/docs/models/operations/getmediametadataratings.md @@ -1,10 +1,10 @@ -# MetaDataRating +# GetMediaMetaDataRatings ## Fields | Field | Type | Required | Description | Example | | -------------------------------------------- | -------------------------------------------- | -------------------------------------------- | -------------------------------------------- | -------------------------------------------- | -| `Image` | *string* | :heavy_check_mark: | A URI or path to the rating image. | themoviedb://image.rating | -| `Value` | *float32* | :heavy_check_mark: | The value of the rating. | 3 | +| `Image` | *string* | :heavy_check_mark: | The image or reference for the rating. | imdb://image.rating | +| `Value` | *float32* | :heavy_check_mark: | The rating value. | 9 | | `Type` | *string* | :heavy_check_mark: | The type of rating (e.g., audience, critic). | audience | \ No newline at end of file diff --git a/docs/models/operations/getmediametadatastream.md b/docs/models/operations/getmediametadatastream.md index ebe7e08..7b64621 100644 --- a/docs/models/operations/getmediametadatastream.md +++ b/docs/models/operations/getmediametadatastream.md @@ -3,56 +3,56 @@ ## Fields -| Field | Type | Required | Description | Example | -| ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | -| `ID` | *int64* | :heavy_check_mark: | Unique stream identifier. | 1002625 | -| `StreamType` | [operations.GetMediaMetaDataStreamType](../../models/operations/getmediametadatastreamtype.md) | :heavy_check_mark: | Stream type:
- 1 = video
- 2 = audio
- 3 = subtitle
| 1 | -| `Format` | **string* | :heavy_minus_sign: | Format of the stream (e.g., srt). | srt | -| `Default` | **bool* | :heavy_minus_sign: | Indicates if this stream is default. | true | -| `Codec` | *string* | :heavy_check_mark: | Codec used by the stream. | hevc | -| `Index` | **int* | :heavy_minus_sign: | Index of the stream. | 0 | -| `Bitrate` | **int* | :heavy_minus_sign: | Bitrate of the stream. | 24743 | -| `Language` | **string* | :heavy_minus_sign: | Language of the stream. | English | -| `LanguageTag` | **string* | :heavy_minus_sign: | Language tag (e.g., en). | en | -| `LanguageCode` | **string* | :heavy_minus_sign: | ISO language code. | eng | -| `HeaderCompression` | **bool* | :heavy_minus_sign: | Indicates whether header compression is enabled. | true | -| `DOVIBLCompatID` | **int* | :heavy_minus_sign: | Dolby Vision BL compatibility ID. | 1 | -| `DOVIBLPresent` | **bool* | :heavy_minus_sign: | Indicates if Dolby Vision BL is present. | true | -| `DOVIELPresent` | **bool* | :heavy_minus_sign: | Indicates if Dolby Vision EL is present. | false | -| `DOVILevel` | **int* | :heavy_minus_sign: | Dolby Vision level. | 6 | -| `DOVIPresent` | **bool* | :heavy_minus_sign: | Indicates if Dolby Vision is present. | true | -| `DOVIProfile` | **int* | :heavy_minus_sign: | Dolby Vision profile. | 8 | -| `DOVIRPUPresent` | **bool* | :heavy_minus_sign: | Indicates if Dolby Vision RPU is present. | true | -| `DOVIVersion` | **string* | :heavy_minus_sign: | Dolby Vision version. | 1.0 | -| `BitDepth` | **int* | :heavy_minus_sign: | Bit depth of the video stream. | 10 | -| `ChromaLocation` | **string* | :heavy_minus_sign: | Chroma sample location. | topleft | -| `ChromaSubsampling` | **string* | :heavy_minus_sign: | Chroma subsampling format. | 4:2:0 | -| `CodedHeight` | **int* | :heavy_minus_sign: | Coded video height. | 1608 | -| `CodedWidth` | **int* | :heavy_minus_sign: | Coded video width. | 3840 | -| `ClosedCaptions` | **bool* | :heavy_minus_sign: | N/A | true | -| `ColorPrimaries` | **string* | :heavy_minus_sign: | Color primaries used. | bt2020 | -| `ColorRange` | **string* | :heavy_minus_sign: | Color range (e.g., tv). | tv | -| `ColorSpace` | **string* | :heavy_minus_sign: | Color space. | bt2020nc | -| `ColorTrc` | **string* | :heavy_minus_sign: | Color transfer characteristics. | smpte2084 | -| `FrameRate` | **float32* | :heavy_minus_sign: | Frame rate of the stream. | 23.976 | -| `Key` | **string* | :heavy_minus_sign: | Key to access this stream part. | /library/streams/216389 | -| `Height` | **int* | :heavy_minus_sign: | Height of the video stream. | 1602 | -| `Level` | **int* | :heavy_minus_sign: | Video level. | 150 | -| `Original` | **bool* | :heavy_minus_sign: | Indicates if this is the original stream. | true | -| `HasScalingMatrix` | **bool* | :heavy_minus_sign: | N/A | false | -| `Profile` | **string* | :heavy_minus_sign: | Video profile. | main 10 | -| `ScanType` | **string* | :heavy_minus_sign: | N/A | progressive | -| `EmbeddedInVideo` | **string* | :heavy_minus_sign: | N/A | progressive | -| `RefFrames` | **int* | :heavy_minus_sign: | Number of reference frames. | 1 | -| `Width` | **int* | :heavy_minus_sign: | Width of the video stream. | 3840 | -| `DisplayTitle` | *string* | :heavy_check_mark: | Display title for the stream. | 4K DoVi/HDR10 (HEVC Main 10) | -| `ExtendedDisplayTitle` | *string* | :heavy_check_mark: | Extended display title for the stream. | 4K DoVi/HDR10 (HEVC Main 10) | -| `Selected` | **bool* | :heavy_minus_sign: | Indicates if this stream is selected (applicable for audio streams). | true | -| `Forced` | **bool* | :heavy_minus_sign: | N/A | true | -| `Channels` | **int* | :heavy_minus_sign: | Number of audio channels (for audio streams). | 6 | -| `AudioChannelLayout` | **string* | :heavy_minus_sign: | Audio channel layout. | 5.1(side) | -| `SamplingRate` | **int* | :heavy_minus_sign: | Sampling rate for the audio stream. | 48000 | -| `CanAutoSync` | **bool* | :heavy_minus_sign: | Indicates if the stream can auto-sync. | false | -| `HearingImpaired` | **bool* | :heavy_minus_sign: | Indicates if the stream is for the hearing impaired. | true | -| `Dub` | **bool* | :heavy_minus_sign: | Indicates if the stream is a dub. | true | -| `Title` | **string* | :heavy_minus_sign: | Optional title for the stream (e.g., language variant). | SDH | \ No newline at end of file +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | +| `ID` | *int64* | :heavy_check_mark: | Unique stream identifier. | 1002625 | +| `StreamType` | *int64* | :heavy_check_mark: | Stream type:
- VIDEO = 1
- AUDIO = 2
- SUBTITLE = 3
| | +| `Format` | **string* | :heavy_minus_sign: | Format of the stream (e.g., srt). | srt | +| `Default` | **bool* | :heavy_minus_sign: | Indicates if this stream is default. | true | +| `Codec` | **string* | :heavy_minus_sign: | Codec used by the stream. | hevc | +| `Index` | **int* | :heavy_minus_sign: | Index of the stream. | 0 | +| `Bitrate` | **int* | :heavy_minus_sign: | Bitrate of the stream. | 24743 | +| `Language` | **string* | :heavy_minus_sign: | Language of the stream. | English | +| `LanguageTag` | **string* | :heavy_minus_sign: | Language tag (e.g., en). | en | +| `LanguageCode` | **string* | :heavy_minus_sign: | ISO language code. | eng | +| `HeaderCompression` | **bool* | :heavy_minus_sign: | Indicates whether header compression is enabled. | true | +| `DOVIBLCompatID` | **int* | :heavy_minus_sign: | Dolby Vision BL compatibility ID. | 1 | +| `DOVIBLPresent` | **bool* | :heavy_minus_sign: | Indicates if Dolby Vision BL is present. | true | +| `DOVIELPresent` | **bool* | :heavy_minus_sign: | Indicates if Dolby Vision EL is present. | false | +| `DOVILevel` | **int* | :heavy_minus_sign: | Dolby Vision level. | 6 | +| `DOVIPresent` | **bool* | :heavy_minus_sign: | Indicates if Dolby Vision is present. | true | +| `DOVIProfile` | **int* | :heavy_minus_sign: | Dolby Vision profile. | 8 | +| `DOVIRPUPresent` | **bool* | :heavy_minus_sign: | Indicates if Dolby Vision RPU is present. | true | +| `DOVIVersion` | **string* | :heavy_minus_sign: | Dolby Vision version. | 1.0 | +| `BitDepth` | **int* | :heavy_minus_sign: | Bit depth of the video stream. | 10 | +| `ChromaLocation` | **string* | :heavy_minus_sign: | Chroma sample location. | topleft | +| `ChromaSubsampling` | **string* | :heavy_minus_sign: | Chroma subsampling format. | 4:2:0 | +| `CodedHeight` | **int* | :heavy_minus_sign: | Coded video height. | 1608 | +| `CodedWidth` | **int* | :heavy_minus_sign: | Coded video width. | 3840 | +| `ClosedCaptions` | **bool* | :heavy_minus_sign: | N/A | true | +| `ColorPrimaries` | **string* | :heavy_minus_sign: | Color primaries used. | bt2020 | +| `ColorRange` | **string* | :heavy_minus_sign: | Color range (e.g., tv). | tv | +| `ColorSpace` | **string* | :heavy_minus_sign: | Color space. | bt2020nc | +| `ColorTrc` | **string* | :heavy_minus_sign: | Color transfer characteristics. | smpte2084 | +| `FrameRate` | **float32* | :heavy_minus_sign: | Frame rate of the stream. | 23.976 | +| `Key` | **string* | :heavy_minus_sign: | Key to access this stream part. | /library/streams/216389 | +| `Height` | **int* | :heavy_minus_sign: | Height of the video stream. | 1602 | +| `Level` | **int* | :heavy_minus_sign: | Video level. | 150 | +| `Original` | **bool* | :heavy_minus_sign: | Indicates if this is the original stream. | true | +| `HasScalingMatrix` | **bool* | :heavy_minus_sign: | N/A | false | +| `Profile` | **string* | :heavy_minus_sign: | Video profile. | main 10 | +| `ScanType` | **string* | :heavy_minus_sign: | N/A | progressive | +| `EmbeddedInVideo` | **string* | :heavy_minus_sign: | N/A | progressive | +| `RefFrames` | **int* | :heavy_minus_sign: | Number of reference frames. | 1 | +| `Width` | **int* | :heavy_minus_sign: | Width of the video stream. | 3840 | +| `DisplayTitle` | **string* | :heavy_minus_sign: | Display title for the stream. | 4K DoVi/HDR10 (HEVC Main 10) | +| `ExtendedDisplayTitle` | **string* | :heavy_minus_sign: | Extended display title for the stream. | 4K DoVi/HDR10 (HEVC Main 10) | +| `Selected` | **bool* | :heavy_minus_sign: | Indicates if this stream is selected (applicable for audio streams). | true | +| `Forced` | **bool* | :heavy_minus_sign: | N/A | true | +| `Channels` | **int* | :heavy_minus_sign: | Number of audio channels (for audio streams). | 6 | +| `AudioChannelLayout` | **string* | :heavy_minus_sign: | Audio channel layout. | 5.1(side) | +| `SamplingRate` | **int* | :heavy_minus_sign: | Sampling rate for the audio stream. | 48000 | +| `CanAutoSync` | **bool* | :heavy_minus_sign: | Indicates if the stream can auto-sync. | false | +| `HearingImpaired` | **bool* | :heavy_minus_sign: | Indicates if the stream is for the hearing impaired. | true | +| `Dub` | **bool* | :heavy_minus_sign: | Indicates if the stream is a dub. | true | +| `Title` | **string* | :heavy_minus_sign: | Optional title for the stream (e.g., language variant). | SDH | \ No newline at end of file diff --git a/docs/models/operations/getmediametadatastreamtype.md b/docs/models/operations/getmediametadatastreamtype.md deleted file mode 100644 index 304cf05..0000000 --- a/docs/models/operations/getmediametadatastreamtype.md +++ /dev/null @@ -1,16 +0,0 @@ -# GetMediaMetaDataStreamType - -Stream type: - - 1 = video - - 2 = audio - - 3 = subtitle - - - -## Values - -| Name | Value | -| ------------------------------------ | ------------------------------------ | -| `GetMediaMetaDataStreamTypeVideo` | 1 | -| `GetMediaMetaDataStreamTypeAudio` | 2 | -| `GetMediaMetaDataStreamTypeSubtitle` | 3 | \ No newline at end of file diff --git a/docs/models/operations/getrecentlyaddedmetadata.md b/docs/models/operations/getrecentlyaddedmetadata.md index 068537b..fa34213 100644 --- a/docs/models/operations/getrecentlyaddedmetadata.md +++ b/docs/models/operations/getrecentlyaddedmetadata.md @@ -32,11 +32,11 @@ Unknown | `LastRatedAt` | **int64* | :heavy_minus_sign: | The Unix timestamp representing the last time the item was rated. | 1721813113 | | `LastViewedAt` | **int* | :heavy_minus_sign: | Unix timestamp for when the media item was last viewed. | 1682752242 | | `LeafCount` | **int* | :heavy_minus_sign: | The number of leaf items (end nodes) under this media item. | 14 | -| `LibrarySectionID` | *int64* | :heavy_check_mark: | The identifier for the library section. | 1 | -| `LibrarySectionKey` | *string* | :heavy_check_mark: | The key corresponding to the library section. | /library/sections/1 | -| `LibrarySectionTitle` | *string* | :heavy_check_mark: | The title of the library section. | Movies | +| `LibrarySectionID` | **int64* | :heavy_minus_sign: | The identifier for the library section. | 1 | +| `LibrarySectionKey` | **string* | :heavy_minus_sign: | The key corresponding to the library section. | /library/sections/1 | +| `LibrarySectionTitle` | **string* | :heavy_minus_sign: | The title of the library section. | Movies | | `OriginalTitle` | **string* | :heavy_minus_sign: | The original title of the media item (if different). | 映画 ブラッククローバー 魔法帝の剣 | -| `OriginallyAvailableAt` | [types.Date](../../types/date.md) | :heavy_check_mark: | The original release date of the media item. | 2022-12-14 | +| `OriginallyAvailableAt` | [*types.Date](../../types/date.md) | :heavy_minus_sign: | The original release date of the media item. | 2022-12-14 | | `ParentGUID` | **string* | :heavy_minus_sign: | The GUID of the parent media item. | plex://show/5d9c081b170e24001f2a7be4 | | `ParentIndex` | **int* | :heavy_minus_sign: | The index position of the parent media item. | 1 | | `ParentKey` | **string* | :heavy_minus_sign: | The key of the parent media item. | /library/metadata/66 | diff --git a/docs/models/operations/getsearchalllibrariescollection.md b/docs/models/operations/getsearchalllibrariescollection.md deleted file mode 100644 index 85aa09d..0000000 --- a/docs/models/operations/getsearchalllibrariescollection.md +++ /dev/null @@ -1,8 +0,0 @@ -# GetSearchAllLibrariesCollection - - -## Fields - -| Field | Type | Required | Description | Example | -| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ | -| `Tag` | **string* | :heavy_minus_sign: | N/A | Working NL Subs | \ No newline at end of file diff --git a/docs/models/operations/getsearchalllibrariescountry.md b/docs/models/operations/getsearchalllibrariescountry.md index 47ea282..31bb5c7 100644 --- a/docs/models/operations/getsearchalllibrariescountry.md +++ b/docs/models/operations/getsearchalllibrariescountry.md @@ -3,6 +3,7 @@ ## Fields -| Field | Type | Required | Description | Example | -| ------------------------ | ------------------------ | ------------------------ | ------------------------ | ------------------------ | -| `Tag` | **string* | :heavy_minus_sign: | N/A | United States of America | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | +| `ID` | *int* | :heavy_check_mark: | The unique identifier for the country.
NOTE: This is different for each Plex server and is not globally unique.
| 259 | +| `Tag` | *string* | :heavy_check_mark: | The country of origin of this media item | United States of America | \ No newline at end of file diff --git a/docs/models/operations/getsearchalllibrariesdirector.md b/docs/models/operations/getsearchalllibrariesdirector.md index 53b5fed..c8b19a0 100644 --- a/docs/models/operations/getsearchalllibrariesdirector.md +++ b/docs/models/operations/getsearchalllibrariesdirector.md @@ -3,6 +3,8 @@ ## Fields -| Field | Type | Required | Description | Example | -| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ | -| `Tag` | **string* | :heavy_minus_sign: | N/A | James Cameron | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `ID` | *int* | :heavy_check_mark: | Unique identifier for the director. | 126522 | +| `Tag` | *string* | :heavy_check_mark: | The role of Director | Danny Boyle | +| `Thumb` | **string* | :heavy_minus_sign: | The absolute URL of the thumbnail image for the director. | https://metadata-static.plex.tv/8/people/8d65fa96804802e08f2de09fe014408e.jpg | \ No newline at end of file diff --git a/docs/models/operations/getsearchalllibrariesdirectory.md b/docs/models/operations/getsearchalllibrariesdirectory.md new file mode 100644 index 0000000..22c78db --- /dev/null +++ b/docs/models/operations/getsearchalllibrariesdirectory.md @@ -0,0 +1,20 @@ +# GetSearchAllLibrariesDirectory + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `Key` | *string* | :heavy_check_mark: | The unique identifier path for the search result item. | /library/sections/3/all?actor=197429 | +| `LibrarySectionID` | *int64* | :heavy_check_mark: | The identifier for the library section. | 1 | +| `LibrarySectionKey` | *string* | :heavy_check_mark: | The key corresponding to the library section. | /library/sections/1 | +| `LibrarySectionTitle` | *string* | :heavy_check_mark: | The title of the library section. | Movies | +| `LibrarySectionType` | **int64* | :heavy_minus_sign: | N/A | | +| `Type` | *string* | :heavy_check_mark: | The type of the directory. | tag | +| `ID` | *int64* | :heavy_check_mark: | N/A | 197429 | +| `Filter` | **string* | :heavy_minus_sign: | The filter string used to query this specific item in the library. | actor=197429 | +| `Tag` | *string* | :heavy_check_mark: | N/A | Ben Stiller | +| `TagType` | **int64* | :heavy_minus_sign: | The type of tag associated with this search result (e.g., Director, Actor). | | +| `TagKey` | **string* | :heavy_minus_sign: | The unique identifier for the tag associated with this search result. | 5d776826999c64001ec2c606 | +| `Thumb` | **string* | :heavy_minus_sign: | The URL to the thumbnail image associated with this search result. | https://metadata-static.plex.tv/5/people/57bd7c7d6c5c9e2881251b30e5603d3d.jpg | +| `Count` | **int64* | :heavy_minus_sign: | The number of items associated with this search result. | 10 | \ No newline at end of file diff --git a/docs/models/operations/getsearchalllibrariesenablecreditsmarkergeneration.md b/docs/models/operations/getsearchalllibrariesenablecreditsmarkergeneration.md deleted file mode 100644 index 7d40b3b..0000000 --- a/docs/models/operations/getsearchalllibrariesenablecreditsmarkergeneration.md +++ /dev/null @@ -1,11 +0,0 @@ -# GetSearchAllLibrariesEnableCreditsMarkerGeneration - -Setting that indicates if credits markers detection is enabled. (-1 = Library default, 0 = Disabled). - - -## Values - -| Name | Value | -| ------------------------------------------------------------------ | ------------------------------------------------------------------ | -| `GetSearchAllLibrariesEnableCreditsMarkerGenerationLibraryDefault` | -1 | -| `GetSearchAllLibrariesEnableCreditsMarkerGenerationDisabled` | 0 | \ No newline at end of file diff --git a/docs/models/operations/getsearchalllibrariesepisodesort.md b/docs/models/operations/getsearchalllibrariesepisodesort.md deleted file mode 100644 index e022d77..0000000 --- a/docs/models/operations/getsearchalllibrariesepisodesort.md +++ /dev/null @@ -1,12 +0,0 @@ -# GetSearchAllLibrariesEpisodeSort - -Setting that indicates how episodes are sorted for the show. (-1 = Library default, 0 = Oldest first, 1 = Newest first). - - -## Values - -| Name | Value | -| ------------------------------------------------ | ------------------------------------------------ | -| `GetSearchAllLibrariesEpisodeSortLibraryDefault` | -1 | -| `GetSearchAllLibrariesEpisodeSortOldestFirst` | 0 | -| `GetSearchAllLibrariesEpisodeSortNewestFirst` | 1 | \ No newline at end of file diff --git a/docs/models/operations/getsearchalllibrariesflattenseasons.md b/docs/models/operations/getsearchalllibrariesflattenseasons.md index a351bc8..042a04c 100644 --- a/docs/models/operations/getsearchalllibrariesflattenseasons.md +++ b/docs/models/operations/getsearchalllibrariesflattenseasons.md @@ -3,6 +3,7 @@ Setting that indicates if seasons are set to hidden for the show. (-1 = Library default, 0 = Hide, 1 = Show). + ## Values | Name | Value | diff --git a/docs/models/operations/getsearchalllibrariesgenre.md b/docs/models/operations/getsearchalllibrariesgenre.md index e7d2af2..f7019a9 100644 --- a/docs/models/operations/getsearchalllibrariesgenre.md +++ b/docs/models/operations/getsearchalllibrariesgenre.md @@ -3,6 +3,7 @@ ## Fields -| Field | Type | Required | Description | Example | -| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ | -| `Tag` | **string* | :heavy_minus_sign: | N/A | Adventure | \ No newline at end of file +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | +| `ID` | *int* | :heavy_check_mark: | The unique identifier for the genre.
NOTE: This is different for each Plex server and is not globally unique.
| 259 | +| `Tag` | *string* | :heavy_check_mark: | The genre name of this media-item
| Crime | \ No newline at end of file diff --git a/docs/models/operations/getsearchalllibrariesguids.md b/docs/models/operations/getsearchalllibrariesguids.md new file mode 100644 index 0000000..e836c27 --- /dev/null +++ b/docs/models/operations/getsearchalllibrariesguids.md @@ -0,0 +1,8 @@ +# GetSearchAllLibrariesGuids + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `ID` | *string* | :heavy_check_mark: | The unique identifier for the Guid. Can be prefixed with imdb://, tmdb://, tvdb://
| {
"imdbExample": {
"summary": "IMDB example",
"value": "imdb://tt13015952"
},
"tmdbExample": {
"summary": "TMDB example",
"value": "tmdb://2434012"
},
"tvdbExample": {
"summary": "TVDB example",
"value": "tvdb://7945991"
}
} | \ No newline at end of file diff --git a/docs/models/operations/getsearchalllibrarieshasthumbnail.md b/docs/models/operations/getsearchalllibrarieshasthumbnail.md index 8543936..b3da44f 100644 --- a/docs/models/operations/getsearchalllibrarieshasthumbnail.md +++ b/docs/models/operations/getsearchalllibrarieshasthumbnail.md @@ -1,5 +1,8 @@ # GetSearchAllLibrariesHasThumbnail +Indicates if the part has a thumbnail. + + ## Values diff --git a/docs/models/operations/getsearchalllibrarieslibraryoptimizedforstreaming.md b/docs/models/operations/getsearchalllibrarieslibraryoptimizedforstreaming.md new file mode 100644 index 0000000..9942ebc --- /dev/null +++ b/docs/models/operations/getsearchalllibrarieslibraryoptimizedforstreaming.md @@ -0,0 +1,20 @@ +# GetSearchAllLibrariesLibraryOptimizedForStreaming + +Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true + + + +## Supported Types + +### GetSearchAllLibrariesOptimizedForStreamingLibrary1 + +```go +getSearchAllLibrariesLibraryOptimizedForStreaming := operations.CreateGetSearchAllLibrariesLibraryOptimizedForStreamingGetSearchAllLibrariesOptimizedForStreamingLibrary1(operations.GetSearchAllLibrariesOptimizedForStreamingLibrary1{/* values here */}) +``` + +### + +```go +getSearchAllLibrariesLibraryOptimizedForStreaming := operations.CreateGetSearchAllLibrariesLibraryOptimizedForStreamingBoolean(bool{/* values here */}) +``` + diff --git a/docs/models/operations/getsearchalllibrarieslocation.md b/docs/models/operations/getsearchalllibrarieslocation.md index c2e989d..520d682 100644 --- a/docs/models/operations/getsearchalllibrarieslocation.md +++ b/docs/models/operations/getsearchalllibrarieslocation.md @@ -1,8 +1,10 @@ # GetSearchAllLibrariesLocation +The folder path for the media item. + ## Fields -| Field | Type | Required | Description | Example | -| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ | -| `Path` | **string* | :heavy_minus_sign: | N/A | /TV Shows/House | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ------------------------- | ------------------------- | ------------------------- | ------------------------- | ------------------------- | +| `Path` | *string* | :heavy_check_mark: | N/A | /TV Shows/Clarkson's Farm | \ No newline at end of file diff --git a/docs/models/operations/getsearchalllibrariesmedia.md b/docs/models/operations/getsearchalllibrariesmedia.md index 6f32fd4..51bd1ff 100644 --- a/docs/models/operations/getsearchalllibrariesmedia.md +++ b/docs/models/operations/getsearchalllibrariesmedia.md @@ -3,23 +3,24 @@ ## Fields -| Field | Type | Required | Description | Example | -| ------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- | -| `ID` | *int* | :heavy_check_mark: | N/A | 119534 | -| `Duration` | **int* | :heavy_minus_sign: | N/A | 11558112 | -| `Bitrate` | **int* | :heavy_minus_sign: | N/A | 25025 | -| `Width` | **int* | :heavy_minus_sign: | N/A | 3840 | -| `Height` | **int* | :heavy_minus_sign: | N/A | 2072 | -| `AspectRatio` | **float64* | :heavy_minus_sign: | N/A | 1.85 | -| `AudioProfile` | **string* | :heavy_minus_sign: | N/A | dts | -| `AudioChannels` | **int* | :heavy_minus_sign: | N/A | 6 | -| `AudioCodec` | **string* | :heavy_minus_sign: | N/A | eac3 | -| `VideoCodec` | **string* | :heavy_minus_sign: | N/A | hevc | -| `VideoResolution` | **string* | :heavy_minus_sign: | N/A | 4k | -| `Container` | *string* | :heavy_check_mark: | N/A | mkv | -| `VideoFrameRate` | **string* | :heavy_minus_sign: | N/A | 24p | -| `VideoProfile` | **string* | :heavy_minus_sign: | N/A | main 10 | -| `HasVoiceActivity` | **bool* | :heavy_minus_sign: | N/A | false | -| `OptimizedForStreaming` | [*operations.GetSearchAllLibrariesOptimizedForStreaming](../../models/operations/getsearchalllibrariesoptimizedforstreaming.md) | :heavy_minus_sign: | N/A | 1 | -| `Has64bitOffsets` | **bool* | :heavy_minus_sign: | N/A | false | -| `Part` | [][operations.GetSearchAllLibrariesPart](../../models/operations/getsearchalllibrariespart.md) | :heavy_check_mark: | N/A | | \ No newline at end of file +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `ID` | *int64* | :heavy_check_mark: | Unique media identifier. | 387322 | +| `Duration` | **int* | :heavy_minus_sign: | Duration of the media in milliseconds. | 9610350 | +| `Bitrate` | **int* | :heavy_minus_sign: | Bitrate in bits per second. | 25512 | +| `Width` | **int* | :heavy_minus_sign: | Video width in pixels. | 3840 | +| `Height` | **int* | :heavy_minus_sign: | Video height in pixels. | 1602 | +| `AspectRatio` | **float32* | :heavy_minus_sign: | Aspect ratio of the video. | 2.35 | +| `AudioChannels` | **int* | :heavy_minus_sign: | Number of audio channels. | 6 | +| `DisplayOffset` | **int* | :heavy_minus_sign: | N/A | 50 | +| `AudioCodec` | **string* | :heavy_minus_sign: | Audio codec used. | aac | +| `VideoCodec` | **string* | :heavy_minus_sign: | Video codec used. | hevc | +| `VideoResolution` | **string* | :heavy_minus_sign: | Video resolution (e.g., 4k). | 4k | +| `Container` | **string* | :heavy_minus_sign: | Container format of the media. | mp4 | +| `VideoFrameRate` | **string* | :heavy_minus_sign: | Frame rate of the video. Values found include NTSC, PAL, 24p
| 24p | +| `VideoProfile` | **string* | :heavy_minus_sign: | Video profile (e.g., main 10). | main 10 | +| `HasVoiceActivity` | **bool* | :heavy_minus_sign: | Indicates whether voice activity is detected. | false | +| `AudioProfile` | **string* | :heavy_minus_sign: | The audio profile used for the media (e.g., DTS, Dolby Digital, etc.). | dts | +| `OptimizedForStreaming` | [*operations.GetSearchAllLibrariesOptimizedForStreaming](../../models/operations/getsearchalllibrariesoptimizedforstreaming.md) | :heavy_minus_sign: | Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true | | +| `Has64bitOffsets` | **bool* | :heavy_minus_sign: | Indicates whether the media has 64-bit offsets.
This is relevant for media files that may require larger offsets than what 32-bit integers can provide.
| false | +| `Part` | [][operations.GetSearchAllLibrariesPart](../../models/operations/getsearchalllibrariespart.md) | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/models/operations/getsearchalllibrariesmediacontainer.md b/docs/models/operations/getsearchalllibrariesmediacontainer.md index dc540cc..7df7f99 100644 --- a/docs/models/operations/getsearchalllibrariesmediacontainer.md +++ b/docs/models/operations/getsearchalllibrariesmediacontainer.md @@ -3,7 +3,14 @@ ## Fields -| Field | Type | Required | Description | -| -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -| `Size` | *float64* | :heavy_check_mark: | N/A | -| `SearchResult` | [][operations.SearchResult](../../models/operations/searchresult.md) | :heavy_check_mark: | N/A | \ No newline at end of file +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | +| `Size` | *int* | :heavy_check_mark: | Number of media items returned in this response. | 50 | +| `AllowSync` | *bool* | :heavy_check_mark: | Indicates whether syncing is allowed. | false | +| `Identifier` | *string* | :heavy_check_mark: | An plugin identifier for the media container. | com.plexapp.plugins.library | +| `LibrarySectionID` | **int64* | :heavy_minus_sign: | The unique identifier for the library section. | 2 | +| `LibrarySectionTitle` | **string* | :heavy_minus_sign: | The title of the library section. | TV Series | +| `LibrarySectionUUID` | **string* | :heavy_minus_sign: | The universally unique identifier for the library section. | e69655a2-ef48-4aba-bb19-0cc34d1e7d36 | +| `MediaTagPrefix` | *string* | :heavy_check_mark: | The prefix used for media tag resource paths. | /system/bundle/media/flags/ | +| `MediaTagVersion` | *int64* | :heavy_check_mark: | The version number for media tags. | 1734362201 | +| `SearchResult` | [][operations.SearchResult](../../models/operations/searchresult.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/models/operations/getsearchalllibrariesmediaguid.md b/docs/models/operations/getsearchalllibrariesmediaguid.md deleted file mode 100644 index 73d9d92..0000000 --- a/docs/models/operations/getsearchalllibrariesmediaguid.md +++ /dev/null @@ -1,8 +0,0 @@ -# GetSearchAllLibrariesMediaGUID - - -## Fields - -| Field | Type | Required | Description | Example | -| --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | -| `ID` | *string* | :heavy_check_mark: | Can be one of the following formats:
imdb://tt13015952, tmdb://2434012, tvdb://7945991
| imdb://tt13015952 | \ No newline at end of file diff --git a/docs/models/operations/getsearchalllibrariesmetadata.md b/docs/models/operations/getsearchalllibrariesmetadata.md index e0f78f2..3aa2522 100644 --- a/docs/models/operations/getsearchalllibrariesmetadata.md +++ b/docs/models/operations/getsearchalllibrariesmetadata.md @@ -1,83 +1,82 @@ # GetSearchAllLibrariesMetadata +Unknown + + ## Fields -| Field | Type | Required | Description | Example | -| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `RatingKey` | *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` | **string* | :heavy_minus_sign: | N/A | 20th Century Studios | -| `SkipChildren` | **bool* | :heavy_minus_sign: | N/A | false | -| `LibrarySectionID` | **int64* | :heavy_minus_sign: | N/A | 1 | -| `LibrarySectionTitle` | **string* | :heavy_minus_sign: | N/A | Movies | -| `LibrarySectionKey` | **string* | :heavy_minus_sign: | N/A | /library/sections/1 | -| `Type` | [operations.GetSearchAllLibrariesType](../../models/operations/getsearchalllibrariestype.md) | :heavy_check_mark: | The type of media content in the Plex library. This can represent videos, music, or photos.
| movie | -| `Title` | *string* | :heavy_check_mark: | N/A | Avatar: The Way of Water | -| `Slug` | **string* | :heavy_minus_sign: | N/A | 4-for-texas | -| `ContentRating` | **string* | :heavy_minus_sign: | N/A | PG-13 | -| `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` | **float64* | :heavy_minus_sign: | N/A | 7.6 | -| `AudienceRating` | **float64* | :heavy_minus_sign: | N/A | 9.2 | -| `Year` | **int* | :heavy_minus_sign: | N/A | 2022 | -| `SeasonCount` | **int* | :heavy_minus_sign: | N/A | 2022 | -| `Tagline` | **string* | :heavy_minus_sign: | N/A | Return to Pandora. | -| `FlattenSeasons` | [*operations.GetSearchAllLibrariesFlattenSeasons](../../models/operations/getsearchalllibrariesflattenseasons.md) | :heavy_minus_sign: | Setting that indicates if seasons are set to hidden for the show. (-1 = Library default, 0 = Hide, 1 = Show). | 1 | -| `EpisodeSort` | [*operations.GetSearchAllLibrariesEpisodeSort](../../models/operations/getsearchalllibrariesepisodesort.md) | :heavy_minus_sign: | Setting that indicates how episodes are sorted for the show. (-1 = Library default, 0 = Oldest first, 1 = Newest first). | 0 | -| `EnableCreditsMarkerGeneration` | [*operations.GetSearchAllLibrariesEnableCreditsMarkerGeneration](../../models/operations/getsearchalllibrariesenablecreditsmarkergeneration.md) | :heavy_minus_sign: | Setting that indicates if credits markers detection is enabled. (-1 = Library default, 0 = Disabled). | -1 | -| `ShowOrdering` | [*operations.GetSearchAllLibrariesShowOrdering](../../models/operations/getsearchalllibrariesshowordering.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)).
| absolute | -| `Thumb` | **string* | :heavy_minus_sign: | N/A | /library/metadata/58683/thumb/1703239236 | -| `Art` | **string* | :heavy_minus_sign: | N/A | /library/metadata/58683/art/1703239236 | -| `Banner` | **string* | :heavy_minus_sign: | N/A | /library/metadata/58683/banner/1703239236 | -| `Duration` | **int* | :heavy_minus_sign: | N/A | 11558112 | -| `OriginallyAvailableAt` | [*types.Date](../../types/date.md) | :heavy_minus_sign: | N/A | 2022-12-14 00:00:00 +0000 UTC | -| `AddedAt` | *int64* | :heavy_check_mark: | Unix epoch datetime in seconds | 1556281940 | -| `UpdatedAt` | **int64* | :heavy_minus_sign: | Unix epoch datetime in seconds | 1556281940 | -| `AudienceRatingImage` | **string* | :heavy_minus_sign: | N/A | rottentomatoes://image.rating.upright | -| `ChapterSource` | **string* | :heavy_minus_sign: | N/A | media | -| `PrimaryExtraKey` | **string* | :heavy_minus_sign: | N/A | /library/metadata/58684 | -| `RatingImage` | **string* | :heavy_minus_sign: | N/A | rottentomatoes://image.rating.ripe | -| `GrandparentRatingKey` | **string* | :heavy_minus_sign: | N/A | 66 | -| `GrandparentGUID` | **string* | :heavy_minus_sign: | N/A | plex://show/5d9c081b170e24001f2a7be4 | -| `GrandparentKey` | **string* | :heavy_minus_sign: | N/A | /library/metadata/66 | -| `GrandparentTitle` | **string* | :heavy_minus_sign: | N/A | Caprica | -| `GrandparentThumb` | **string* | :heavy_minus_sign: | N/A | /library/metadata/66/thumb/1705716261 | -| `ParentSlug` | **string* | :heavy_minus_sign: | N/A | alice-in-borderland-2020 | -| `GrandparentSlug` | **string* | :heavy_minus_sign: | N/A | alice-in-borderland-2020 | -| `GrandparentArt` | **string* | :heavy_minus_sign: | N/A | /library/metadata/66/art/1705716261 | -| `GrandparentTheme` | **string* | :heavy_minus_sign: | N/A | /library/metadata/66/theme/1705716261 | -| `Media` | [][operations.GetSearchAllLibrariesMedia](../../models/operations/getsearchalllibrariesmedia.md) | :heavy_minus_sign: | The Media object is only included when type query is `4` or higher.
| | -| `Genre` | [][operations.GetSearchAllLibrariesGenre](../../models/operations/getsearchalllibrariesgenre.md) | :heavy_minus_sign: | N/A | | -| `Country` | [][operations.GetSearchAllLibrariesCountry](../../models/operations/getsearchalllibrariescountry.md) | :heavy_minus_sign: | N/A | | -| `Director` | [][operations.GetSearchAllLibrariesDirector](../../models/operations/getsearchalllibrariesdirector.md) | :heavy_minus_sign: | N/A | | -| `Writer` | [][operations.GetSearchAllLibrariesWriter](../../models/operations/getsearchalllibrarieswriter.md) | :heavy_minus_sign: | N/A | | -| `Collection` | [][operations.GetSearchAllLibrariesCollection](../../models/operations/getsearchalllibrariescollection.md) | :heavy_minus_sign: | N/A | | -| `Role` | [][operations.GetSearchAllLibrariesRole](../../models/operations/getsearchalllibrariesrole.md) | :heavy_minus_sign: | N/A | | -| `Location` | [][operations.GetSearchAllLibrariesLocation](../../models/operations/getsearchalllibrarieslocation.md) | :heavy_minus_sign: | N/A | | -| `MediaGUID` | [][operations.GetSearchAllLibrariesMediaGUID](../../models/operations/getsearchalllibrariesmediaguid.md) | :heavy_minus_sign: | The Guid object is only included in the response if the `includeGuids` parameter is set to `1`.
| | -| `UltraBlurColors` | [*operations.GetSearchAllLibrariesUltraBlurColors](../../models/operations/getsearchalllibrariesultrablurcolors.md) | :heavy_minus_sign: | N/A | | -| `MetaDataRating` | [][operations.GetSearchAllLibrariesMetaDataRating](../../models/operations/getsearchalllibrariesmetadatarating.md) | :heavy_minus_sign: | N/A | | -| `Image` | [][operations.GetSearchAllLibrariesImage](../../models/operations/getsearchalllibrariesimage.md) | :heavy_minus_sign: | N/A | | -| `TitleSort` | **string* | :heavy_minus_sign: | N/A | Whale | -| `ViewCount` | **int* | :heavy_minus_sign: | N/A | 1 | -| `LastViewedAt` | **int* | :heavy_minus_sign: | N/A | 1682752242 | -| `OriginalTitle` | **string* | :heavy_minus_sign: | N/A | 映画 ブラッククローバー 魔法帝の剣 | -| `ViewOffset` | **int* | :heavy_minus_sign: | N/A | 5222500 | -| `SkipCount` | **int* | :heavy_minus_sign: | N/A | 1 | -| `Index` | **int* | :heavy_minus_sign: | N/A | 1 | -| `Theme` | **string* | :heavy_minus_sign: | N/A | /library/metadata/1/theme/1705636920 | -| `LeafCount` | **int* | :heavy_minus_sign: | N/A | 14 | -| `ViewedLeafCount` | **int* | :heavy_minus_sign: | N/A | 0 | -| `ChildCount` | **int* | :heavy_minus_sign: | N/A | 1 | -| `HasPremiumExtras` | **string* | :heavy_minus_sign: | N/A | 1 | -| `HasPremiumPrimaryExtra` | **string* | :heavy_minus_sign: | N/A | 1 | -| `ParentRatingKey` | **string* | :heavy_minus_sign: | The rating key of the parent item.
| 66 | -| `ParentGUID` | **string* | :heavy_minus_sign: | N/A | plex://show/5d9c081b170e24001f2a7be4 | -| `ParentStudio` | **string* | :heavy_minus_sign: | N/A | UCP | -| `ParentKey` | **string* | :heavy_minus_sign: | N/A | /library/metadata/66 | -| `ParentTitle` | **string* | :heavy_minus_sign: | N/A | Caprica | -| `ParentIndex` | **int* | :heavy_minus_sign: | N/A | 1 | -| `ParentYear` | **int* | :heavy_minus_sign: | N/A | 2010 | -| `ParentThumb` | **string* | :heavy_minus_sign: | N/A | /library/metadata/66/thumb/1705716261 | -| `ParentTheme` | **string* | :heavy_minus_sign: | N/A | /library/metadata/66/theme/1705716261 | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `RatingKey` | *string* | :heavy_check_mark: | The rating key (Media ID) of this media item. Note: Although this is always an integer, it is represented as a string in the API. | 58683 | +| `Key` | *string* | :heavy_check_mark: | The unique key for the media item. | /library/metadata/58683 | +| `GUID` | *string* | :heavy_check_mark: | The globally unique identifier for the media item. | plex://movie/5d7768ba96b655001fdc0408 | +| `Slug` | *string* | :heavy_check_mark: | A URL‐friendly version of the media title. | 4-for-texas | +| `Studio` | **string* | :heavy_minus_sign: | The studio that produced the media item. | 20th Century Studios | +| `Type` | [operations.GetSearchAllLibrariesType](../../models/operations/getsearchalllibrariestype.md) | :heavy_check_mark: | N/A | movie | +| `Title` | *string* | :heavy_check_mark: | The title of the media item. | Avatar: The Way of Water | +| `Banner` | *string* | :heavy_check_mark: | The banner image URL for the media item. | /library/metadata/58683/banner/1703239236 | +| `TitleSort` | *string* | :heavy_check_mark: | The sort title used for ordering media items. | Whale | +| `ContentRating` | **string* | :heavy_minus_sign: | The content rating for the media item. | PG-13 | +| `Summary` | *string* | :heavy_check_mark: | A synopsis of the media item. | 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` | *float32* | :heavy_check_mark: | The critic rating for the media item. | 7.6 | +| `AudienceRating` | *float64* | :heavy_check_mark: | The audience rating for the media item. | 9.2 | +| `Year` | **int* | :heavy_minus_sign: | The release year of the media item. | 2022 | +| `Tagline` | *string* | :heavy_check_mark: | A brief tagline for the media item. | Return to Pandora. | +| `Thumb` | *string* | :heavy_check_mark: | The thumbnail image URL for the media item. | /library/metadata/58683/thumb/1703239236 | +| `Art` | *string* | :heavy_check_mark: | The art image URL for the media item. | /library/metadata/58683/art/1703239236 | +| `Theme` | *string* | :heavy_check_mark: | The theme URL for the media item. | /library/metadata/1/theme/1705636920 | +| `Index` | *int* | :heavy_check_mark: | The index position of the media item. | 1 | +| `LeafCount` | **int* | :heavy_minus_sign: | The number of leaf items (end nodes) under this media item. | 14 | +| `ViewedLeafCount` | **int* | :heavy_minus_sign: | The number of leaf items that have been viewed. | 0 | +| `ChildCount` | *int* | :heavy_check_mark: | The number of child items associated with this media item. | 1 | +| `SeasonCount` | *int* | :heavy_check_mark: | The total number of seasons (for TV shows). | 2022 | +| `Duration` | *int* | :heavy_check_mark: | The duration of the media item in milliseconds. | 11558112 | +| `OriginallyAvailableAt` | [*types.Date](../../types/date.md) | :heavy_minus_sign: | The original release date of the media item. | 2022-12-14 | +| `AddedAt` | *int64* | :heavy_check_mark: | N/A | 1556281940 | +| `UpdatedAt` | **int64* | :heavy_minus_sign: | Unix epoch datetime in seconds | 1556281940 | +| `ParentYear` | **int* | :heavy_minus_sign: | The release year of the parent media item. | 2010 | +| `AudienceRatingImage` | **string* | :heavy_minus_sign: | The URL for the audience rating image. | rottentomatoes://image.rating.upright | +| `ChapterSource` | **string* | :heavy_minus_sign: | The source from which chapter data is derived. | media | +| `PrimaryExtraKey` | **string* | :heavy_minus_sign: | The primary extra key associated with this media item. | /library/metadata/58684 | +| `OriginalTitle` | **string* | :heavy_minus_sign: | The original title of the media item (if different). | 映画 ブラッククローバー 魔法帝の剣 | +| `ParentRatingKey` | **string* | :heavy_minus_sign: | The rating key of the parent media item. | 66 | +| `GrandparentRatingKey` | **string* | :heavy_minus_sign: | The rating key of the grandparent media item. | 66 | +| `ParentGUID` | **string* | :heavy_minus_sign: | The GUID of the parent media item. | plex://show/5d9c081b170e24001f2a7be4 | +| `GrandparentGUID` | **string* | :heavy_minus_sign: | The GUID of the grandparent media item. | plex://show/5d9c081b170e24001f2a7be4 | +| `GrandparentSlug` | **string* | :heavy_minus_sign: | The slug for the grandparent media item. | alice-in-borderland-2020 | +| `GrandparentKey` | **string* | :heavy_minus_sign: | The key of the grandparent media item. | /library/metadata/66 | +| `ParentKey` | **string* | :heavy_minus_sign: | The key of the parent media item. | /library/metadata/66 | +| `GrandparentTitle` | **string* | :heavy_minus_sign: | The title of the grandparent media item. | Caprica | +| `GrandparentThumb` | **string* | :heavy_minus_sign: | The thumbnail URL for the grandparent media item. | /library/metadata/66/thumb/1705716261 | +| `GrandparentTheme` | **string* | :heavy_minus_sign: | The theme URL for the grandparent media item. | /library/metadata/66/theme/1705716261 | +| `GrandparentArt` | **string* | :heavy_minus_sign: | The art URL for the grandparent media item. | /library/metadata/66/art/1705716261 | +| `ParentTitle` | **string* | :heavy_minus_sign: | The title of the parent media item. | Caprica | +| `ParentIndex` | **int* | :heavy_minus_sign: | The index position of the parent media item. | 1 | +| `ParentThumb` | **string* | :heavy_minus_sign: | The thumbnail URL for the parent media item. | /library/metadata/66/thumb/1705716261 | +| `RatingImage` | **string* | :heavy_minus_sign: | The URL for the rating image. | rottentomatoes://image.rating.ripe | +| `ViewCount` | **int* | :heavy_minus_sign: | The number of times this media item has been viewed. | 1 | +| `ViewOffset` | **int* | :heavy_minus_sign: | The current playback offset (in milliseconds). | 5222500 | +| `SkipCount` | **int* | :heavy_minus_sign: | The number of times this media item has been skipped. | 1 | +| `Subtype` | **string* | :heavy_minus_sign: | A classification that further describes the type of media item. For example, 'clip' indicates that the item is a short video clip. | clip | +| `LastRatedAt` | **int64* | :heavy_minus_sign: | The Unix timestamp representing the last time the item was rated. | 1721813113 | +| `CreatedAtAccuracy` | **string* | :heavy_minus_sign: | The accuracy of the creation timestamp. This value indicates the format(s) provided (for example, 'epoch,local' means both epoch and local time formats are available). | epoch,local | +| `CreatedAtTZOffset` | **string* | :heavy_minus_sign: | The time zone offset for the creation timestamp, represented as a string. This offset indicates the difference from UTC. | 0 | +| `LastViewedAt` | **int* | :heavy_minus_sign: | Unix timestamp for when the media item was last viewed. | 1682752242 | +| `UserRating` | **float32* | :heavy_minus_sign: | The rating provided by a user for the item. This value is expressed as a decimal number. | 10 | +| `Image` | [][operations.GetSearchAllLibrariesImage](../../models/operations/getsearchalllibrariesimage.md) | :heavy_minus_sign: | N/A | | +| `UltraBlurColors` | [*operations.GetSearchAllLibrariesUltraBlurColors](../../models/operations/getsearchalllibrariesultrablurcolors.md) | :heavy_minus_sign: | N/A | | +| `Guids` | [][operations.GetSearchAllLibrariesGuids](../../models/operations/getsearchalllibrariesguids.md) | :heavy_minus_sign: | N/A | | +| `LibrarySectionID` | **int64* | :heavy_minus_sign: | The identifier for the library section. | 1 | +| `LibrarySectionTitle` | **string* | :heavy_minus_sign: | The title of the library section. | Movies | +| `LibrarySectionKey` | **string* | :heavy_minus_sign: | The key corresponding to the library section. | /library/sections/1 | +| `ShowOrdering` | [*operations.GetSearchAllLibrariesShowOrdering](../../models/operations/getsearchalllibrariesshowordering.md) | :heavy_minus_sign: | Setting that indicates the episode ordering for the show.
Options:
- None = Library default
- tmdbAiring = The Movie Database (Aired)
- aired = TheTVDB (Aired)
- dvd = TheTVDB (DVD)
- absolute = TheTVDB (Absolute)
| absolute | +| `FlattenSeasons` | [*operations.GetSearchAllLibrariesFlattenSeasons](../../models/operations/getsearchalllibrariesflattenseasons.md) | :heavy_minus_sign: | Setting that indicates if seasons are set to hidden for the show. (-1 = Library default, 0 = Hide, 1 = Show).
| 1 | +| `SkipChildren` | **bool* | :heavy_minus_sign: | Indicates whether child items should be skipped. | false | +| `Media` | [][operations.GetSearchAllLibrariesMedia](../../models/operations/getsearchalllibrariesmedia.md) | :heavy_minus_sign: | N/A | | +| `Genre` | [][operations.GetSearchAllLibrariesGenre](../../models/operations/getsearchalllibrariesgenre.md) | :heavy_minus_sign: | N/A | | +| `Country` | [][operations.GetSearchAllLibrariesCountry](../../models/operations/getsearchalllibrariescountry.md) | :heavy_minus_sign: | N/A | | +| `Director` | [][operations.GetSearchAllLibrariesDirector](../../models/operations/getsearchalllibrariesdirector.md) | :heavy_minus_sign: | N/A | | +| `Writer` | [][operations.GetSearchAllLibrariesWriter](../../models/operations/getsearchalllibrarieswriter.md) | :heavy_minus_sign: | N/A | | +| `Role` | [][operations.GetSearchAllLibrariesRole](../../models/operations/getsearchalllibrariesrole.md) | :heavy_minus_sign: | N/A | | +| `Location` | [][operations.GetSearchAllLibrariesLocation](../../models/operations/getsearchalllibrarieslocation.md) | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/models/operations/getsearchalllibrariesmetadatarating.md b/docs/models/operations/getsearchalllibrariesmetadatarating.md deleted file mode 100644 index a347baf..0000000 --- a/docs/models/operations/getsearchalllibrariesmetadatarating.md +++ /dev/null @@ -1,10 +0,0 @@ -# GetSearchAllLibrariesMetaDataRating - - -## Fields - -| Field | Type | Required | Description | Example | -| -------------------------------------------- | -------------------------------------------- | -------------------------------------------- | -------------------------------------------- | -------------------------------------------- | -| `Image` | *string* | :heavy_check_mark: | A URI or path to the rating image. | themoviedb://image.rating | -| `Value` | *float32* | :heavy_check_mark: | The value of the rating. | 3 | -| `Type` | *string* | :heavy_check_mark: | The type of rating (e.g., audience, critic). | audience | \ No newline at end of file diff --git a/docs/models/operations/getsearchalllibrariesoptimizedforstreaming.md b/docs/models/operations/getsearchalllibrariesoptimizedforstreaming.md index 0de48b6..75cbc5f 100644 --- a/docs/models/operations/getsearchalllibrariesoptimizedforstreaming.md +++ b/docs/models/operations/getsearchalllibrariesoptimizedforstreaming.md @@ -1,9 +1,19 @@ # GetSearchAllLibrariesOptimizedForStreaming +Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true -## Values -| Name | Value | -| --------------------------------------------------- | --------------------------------------------------- | -| `GetSearchAllLibrariesOptimizedForStreamingDisable` | 0 | -| `GetSearchAllLibrariesOptimizedForStreamingEnable` | 1 | \ No newline at end of file +## Supported Types + +### GetSearchAllLibrariesOptimizedForStreaming1 + +```go +getSearchAllLibrariesOptimizedForStreaming := operations.CreateGetSearchAllLibrariesOptimizedForStreamingGetSearchAllLibrariesOptimizedForStreaming1(operations.GetSearchAllLibrariesOptimizedForStreaming1{/* values here */}) +``` + +### + +```go +getSearchAllLibrariesOptimizedForStreaming := operations.CreateGetSearchAllLibrariesOptimizedForStreamingBoolean(bool{/* values here */}) +``` + diff --git a/docs/models/operations/getlibraryitemslibraryactivedirection.md b/docs/models/operations/getsearchalllibrariesoptimizedforstreaming1.md similarity index 57% rename from docs/models/operations/getlibraryitemslibraryactivedirection.md rename to docs/models/operations/getsearchalllibrariesoptimizedforstreaming1.md index 56b2082..8a629bd 100644 --- a/docs/models/operations/getlibraryitemslibraryactivedirection.md +++ b/docs/models/operations/getsearchalllibrariesoptimizedforstreaming1.md @@ -1,12 +1,9 @@ -# GetLibraryItemsLibraryActiveDirection - -The direction of the sort. Can be either `asc` or `desc`. - +# GetSearchAllLibrariesOptimizedForStreaming1 ## Values | Name | Value | | ------------------------------------------------- | ------------------------------------------------- | -| `GetLibraryItemsLibraryActiveDirectionAscending` | asc | -| `GetLibraryItemsLibraryActiveDirectionDescending` | desc | \ No newline at end of file +| `GetSearchAllLibrariesOptimizedForStreaming1Zero` | 0 | +| `GetSearchAllLibrariesOptimizedForStreaming1One` | 1 | \ No newline at end of file diff --git a/docs/models/operations/getsearchalllibrariesoptimizedforstreaminglibrary1.md b/docs/models/operations/getsearchalllibrariesoptimizedforstreaminglibrary1.md new file mode 100644 index 0000000..d81ed15 --- /dev/null +++ b/docs/models/operations/getsearchalllibrariesoptimizedforstreaminglibrary1.md @@ -0,0 +1,9 @@ +# GetSearchAllLibrariesOptimizedForStreamingLibrary1 + + +## Values + +| Name | Value | +| -------------------------------------------------------- | -------------------------------------------------------- | +| `GetSearchAllLibrariesOptimizedForStreamingLibrary1Zero` | 0 | +| `GetSearchAllLibrariesOptimizedForStreamingLibrary1One` | 1 | \ No newline at end of file diff --git a/docs/models/operations/getsearchalllibrariespart.md b/docs/models/operations/getsearchalllibrariespart.md index e61374e..7b8a0d6 100644 --- a/docs/models/operations/getsearchalllibrariespart.md +++ b/docs/models/operations/getsearchalllibrariespart.md @@ -3,18 +3,20 @@ ## Fields -| Field | Type | Required | Description | Example | -| -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -| `ID` | *int* | :heavy_check_mark: | N/A | 119542 | -| `Key` | *string* | :heavy_check_mark: | N/A | /library/parts/119542/1680457526/file.mkv | -| `Duration` | **int* | :heavy_minus_sign: | 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` | *int64* | :heavy_check_mark: | N/A | 36158371307 | -| `Container` | *string* | :heavy_check_mark: | The container format of the media file.
| mkv | -| `AudioProfile` | **string* | :heavy_minus_sign: | N/A | dts | -| `Has64bitOffsets` | **bool* | :heavy_minus_sign: | N/A | false | -| `OptimizedForStreaming` | **bool* | :heavy_minus_sign: | N/A | false | -| `VideoProfile` | **string* | :heavy_minus_sign: | N/A | main 10 | -| `Indexes` | **string* | :heavy_minus_sign: | N/A | sd | -| `HasThumbnail` | [*operations.GetSearchAllLibrariesHasThumbnail](../../models/operations/getsearchalllibrarieshasthumbnail.md) | :heavy_minus_sign: | N/A | 1 | -| `Stream` | [][operations.GetSearchAllLibrariesStream](../../models/operations/getsearchalllibrariesstream.md) | :heavy_minus_sign: | N/A | | \ No newline at end of file +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | +| `Accessible` | **bool* | :heavy_minus_sign: | Indicates if the part is accessible. | true | +| `Exists` | **bool* | :heavy_minus_sign: | Indicates if the part exists. | true | +| `ID` | *int64* | :heavy_check_mark: | Unique part identifier. | 418385 | +| `Key` | **string* | :heavy_minus_sign: | Key to access this part. | /library/parts/418385/1735864239/file.mkv | +| `Indexes` | **string* | :heavy_minus_sign: | N/A | sd | +| `Duration` | **int* | :heavy_minus_sign: | Duration of the part in milliseconds. | 9610350 | +| `File` | **string* | :heavy_minus_sign: | File path for the part. | /mnt/Movies_1/W/Wicked (2024).mkv | +| `Size` | **int64* | :heavy_minus_sign: | File size in bytes. | 30649952104 | +| `PacketLength` | **int* | :heavy_minus_sign: | N/A | 188 | +| `Container` | **string* | :heavy_minus_sign: | Container format of the part. | mkv | +| `VideoProfile` | **string* | :heavy_minus_sign: | Video profile for the part. | main 10 | +| `AudioProfile` | **string* | :heavy_minus_sign: | The audio profile used for the media (e.g., DTS, Dolby Digital, etc.). | dts | +| `Has64bitOffsets` | **bool* | :heavy_minus_sign: | N/A | false | +| `OptimizedForStreaming` | [*operations.GetSearchAllLibrariesLibraryOptimizedForStreaming](../../models/operations/getsearchalllibrarieslibraryoptimizedforstreaming.md) | :heavy_minus_sign: | Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true
| | +| `HasThumbnail` | [*operations.GetSearchAllLibrariesHasThumbnail](../../models/operations/getsearchalllibrarieshasthumbnail.md) | :heavy_minus_sign: | N/A | 1 | \ No newline at end of file diff --git a/docs/models/operations/getsearchalllibrariesrole.md b/docs/models/operations/getsearchalllibrariesrole.md index 40f61ae..90db51e 100644 --- a/docs/models/operations/getsearchalllibrariesrole.md +++ b/docs/models/operations/getsearchalllibrariesrole.md @@ -3,11 +3,9 @@ ## Fields -| Field | Type | Required | Description | Example | -| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | -| `ID` | **int64* | :heavy_minus_sign: | The ID of the tag or actor. | 294129 | -| `Filter` | **string* | :heavy_minus_sign: | The filter used to find the actor or tag. | actor=294129 | -| `Thumb` | **string* | :heavy_minus_sign: | The thumbnail of the actor | https://metadata-static.plex.tv/2/people/27b85844536c39f3f9ac943aaad46608.jpg | -| `Tag` | **string* | :heavy_minus_sign: | The name of the tag or actor. | Mike Smith | -| `TagKey` | **string* | :heavy_minus_sign: | Unique identifier for the tag. | 668e7e7b22bcad9064350c91 | -| `Role` | **string* | :heavy_minus_sign: | The role of the actor or tag in the media. | Self | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | +| `ID` | *int* | :heavy_check_mark: | The unique identifier for the role.
NOTE: This is different for each Plex server and is not globally unique.
| 126522 | +| `Tag` | *string* | :heavy_check_mark: | The display tag for the actor (typically the actor's name). | Teller | +| `Role` | **string* | :heavy_minus_sign: | The role played by the actor in the media item. | Self - Judge | +| `Thumb` | **string* | :heavy_minus_sign: | The absolute URL of the thumbnail image for the actor. | https://metadata-static.plex.tv/7/people/708568fd018d7aa8b1032dcf867747e8.jpg | \ No newline at end of file diff --git a/docs/models/operations/getsearchalllibrariesshowordering.md b/docs/models/operations/getsearchalllibrariesshowordering.md index ec3613e..79f6f07 100644 --- a/docs/models/operations/getsearchalllibrariesshowordering.md +++ b/docs/models/operations/getsearchalllibrariesshowordering.md @@ -1,11 +1,12 @@ # GetSearchAllLibrariesShowOrdering 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)). +Options: + - None = Library default + - tmdbAiring = The Movie Database (Aired) + - aired = TheTVDB (Aired) + - dvd = TheTVDB (DVD) + - absolute = TheTVDB (Absolute) diff --git a/docs/models/operations/getsearchalllibrariesstream.md b/docs/models/operations/getsearchalllibrariesstream.md deleted file mode 100644 index dc407cb..0000000 --- a/docs/models/operations/getsearchalllibrariesstream.md +++ /dev/null @@ -1,45 +0,0 @@ -# GetSearchAllLibrariesStream - - -## Fields - -| Field | Type | Required | Description | Example | -| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | -| `ID` | *int64* | :heavy_check_mark: | N/A | 272796 | -| `StreamType` | *int64* | :heavy_check_mark: | Type of stream (1 = video, 2 = audio, 3 = subtitle) | 1 | -| `Default` | **bool* | :heavy_minus_sign: | Indicates if this is the default stream | true | -| `Selected` | **bool* | :heavy_minus_sign: | Indicates if the stream is selected | true | -| `Codec` | *string* | :heavy_check_mark: | Codec used by the stream | h264 | -| `Index` | *int64* | :heavy_check_mark: | The index of the stream | 0 | -| `Bitrate` | **int64* | :heavy_minus_sign: | The bitrate of the stream in kbps | 6273 | -| `ColorPrimaries` | **string* | :heavy_minus_sign: | The color primaries of the video stream | bt709 | -| `ColorRange` | **string* | :heavy_minus_sign: | The color range of the video stream | tv | -| `ColorSpace` | **string* | :heavy_minus_sign: | The color space of the video stream | bt709 | -| `ColorTrc` | **string* | :heavy_minus_sign: | The transfer characteristics (TRC) of the video stream | bt709 | -| `BitDepth` | **int64* | :heavy_minus_sign: | The bit depth of the video stream | 8 | -| `ChromaLocation` | **string* | :heavy_minus_sign: | The chroma location of the video stream | left | -| `StreamIdentifier` | **string* | :heavy_minus_sign: | The identifier of the video stream | 2 | -| `ChromaSubsampling` | **string* | :heavy_minus_sign: | The chroma subsampling format | 4:2:0 | -| `CodedHeight` | **int64* | :heavy_minus_sign: | The coded height of the video stream | 1088 | -| `CodedWidth` | **int64* | :heavy_minus_sign: | The coded width of the video stream | 1920 | -| `FrameRate` | **float64* | :heavy_minus_sign: | The frame rate of the video stream | 29.97 | -| `HasScalingMatrix` | **bool* | :heavy_minus_sign: | Indicates if the stream has a scaling matrix | false | -| `HearingImpaired` | **bool* | :heavy_minus_sign: | N/A | false | -| `ClosedCaptions` | **bool* | :heavy_minus_sign: | N/A | false | -| `EmbeddedInVideo` | **string* | :heavy_minus_sign: | N/A | 1 | -| `Height` | **int64* | :heavy_minus_sign: | The height of the video stream | 1080 | -| `Level` | **int64* | :heavy_minus_sign: | The level of the video codec | 40 | -| `Profile` | **string* | :heavy_minus_sign: | The profile of the video codec | main | -| `RefFrames` | **int64* | :heavy_minus_sign: | Number of reference frames | 4 | -| `ScanType` | **string* | :heavy_minus_sign: | The scan type (progressive or interlaced) | progressive | -| `Width` | **int64* | :heavy_minus_sign: | The width of the video stream | 1920 | -| `DisplayTitle` | **string* | :heavy_minus_sign: | Display title of the stream | 1080p (H.264) | -| `ExtendedDisplayTitle` | **string* | :heavy_minus_sign: | Extended display title of the stream | 1080p (H.264) | -| `Channels` | **int64* | :heavy_minus_sign: | Number of audio channels (for audio streams) | 2 | -| `Language` | **string* | :heavy_minus_sign: | The language of the stream (for audio/subtitle streams) | English | -| `LanguageTag` | **string* | :heavy_minus_sign: | Language tag of the stream | en | -| `LanguageCode` | **string* | :heavy_minus_sign: | Language code of the stream | eng | -| `AudioChannelLayout` | **string* | :heavy_minus_sign: | The audio channel layout | stereo | -| `SamplingRate` | **int64* | :heavy_minus_sign: | Sampling rate of the audio stream in Hz | 48000 | -| `Title` | **string* | :heavy_minus_sign: | Title of the subtitle track (for subtitle streams) | English | -| `CanAutoSync` | **bool* | :heavy_minus_sign: | Indicates if the subtitle stream can auto-sync | false | \ No newline at end of file diff --git a/docs/models/operations/getsearchalllibrarieswriter.md b/docs/models/operations/getsearchalllibrarieswriter.md index 93b629f..2069cdd 100644 --- a/docs/models/operations/getsearchalllibrarieswriter.md +++ b/docs/models/operations/getsearchalllibrarieswriter.md @@ -3,6 +3,8 @@ ## Fields -| Field | Type | Required | Description | Example | -| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ | -| `Tag` | **string* | :heavy_minus_sign: | N/A | James Cameron | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `ID` | *int* | :heavy_check_mark: | Unique identifier for the writer. | 126522 | +| `Tag` | *string* | :heavy_check_mark: | The role of Writer | Jamie P. Hanson | +| `Thumb` | **string* | :heavy_minus_sign: | The absolute URL of the thumbnail image for the writer. | https://metadata-static.plex.tv/8/people/8d65fa96804802e08f2de09fe014408e.jpg | \ No newline at end of file diff --git a/docs/models/operations/mediaguid.md b/docs/models/operations/mediaguid.md deleted file mode 100644 index 42805f6..0000000 --- a/docs/models/operations/mediaguid.md +++ /dev/null @@ -1,8 +0,0 @@ -# MediaGUID - - -## Fields - -| Field | Type | Required | Description | Example | -| --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | -| `ID` | *string* | :heavy_check_mark: | Can be one of the following formats:
imdb://tt13015952, tmdb://2434012, tvdb://7945991
| imdb://tt13015952 | \ No newline at end of file diff --git a/docs/models/operations/searchresult.md b/docs/models/operations/searchresult.md index 50a1d83..5153270 100644 --- a/docs/models/operations/searchresult.md +++ b/docs/models/operations/searchresult.md @@ -3,7 +3,8 @@ ## Fields -| Field | Type | Required | Description | -| ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | -| `Score` | *float32* | :heavy_check_mark: | N/A | -| `Metadata` | [operations.GetSearchAllLibrariesMetadata](../../models/operations/getsearchalllibrariesmetadata.md) | :heavy_check_mark: | N/A | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | +| `Score` | *float32* | :heavy_check_mark: | The score of the search result, typically a float value between 0 and 1. | 0.92 | +| `Directory` | [*operations.GetSearchAllLibrariesDirectory](../../models/operations/getsearchalllibrariesdirectory.md) | :heavy_minus_sign: | N/A | | +| `Metadata` | [*operations.GetSearchAllLibrariesMetadata](../../models/operations/getsearchalllibrariesmetadata.md) | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/models/operations/showordering.md b/docs/models/operations/showordering.md index 5299cf1..4d4a6b6 100644 --- a/docs/models/operations/showordering.md +++ b/docs/models/operations/showordering.md @@ -1,11 +1,12 @@ # 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)). +Options: + - None = Library default + - tmdbAiring = The Movie Database (Aired) + - aired = TheTVDB (Aired) + - dvd = TheTVDB (DVD) + - absolute = TheTVDB (Absolute) diff --git a/docs/models/operations/stream.md b/docs/models/operations/stream.md index 12cad60..3159f89 100644 --- a/docs/models/operations/stream.md +++ b/docs/models/operations/stream.md @@ -6,7 +6,7 @@ | Field | Type | Required | Description | Example | | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | | `ID` | *int64* | :heavy_check_mark: | Unique stream identifier. | 1002625 | -| `StreamType` | [operations.StreamType](../../models/operations/streamtype.md) | :heavy_check_mark: | Stream type:
- 1 = video
- 2 = audio
- 3 = subtitle
| 1 | +| `StreamType` | *int64* | :heavy_check_mark: | Stream type:
- VIDEO = 1
- AUDIO = 2
- SUBTITLE = 3
| | | `Format` | **string* | :heavy_minus_sign: | Format of the stream (e.g., srt). | srt | | `Default` | **bool* | :heavy_minus_sign: | Indicates if this stream is default. | true | | `Codec` | *string* | :heavy_check_mark: | Codec used by the stream. | hevc | diff --git a/docs/models/operations/streamtype.md b/docs/models/operations/streamtype.md deleted file mode 100644 index 43a7131..0000000 --- a/docs/models/operations/streamtype.md +++ /dev/null @@ -1,16 +0,0 @@ -# StreamType - -Stream type: - - 1 = video - - 2 = audio - - 3 = subtitle - - - -## Values - -| Name | Value | -| -------------------- | -------------------- | -| `StreamTypeVideo` | 1 | -| `StreamTypeAudio` | 2 | -| `StreamTypeSubtitle` | 3 | \ No newline at end of file diff --git a/go.mod b/go.mod index 476d95a..803b2e5 100644 --- a/go.mod +++ b/go.mod @@ -1,5 +1,5 @@ module github.com/LukeHagar/plexgo -go 1.20 +go 1.22 require github.com/ericlagergren/decimal v0.0.0-20221120152707-495c53812d05 diff --git a/models/operations/getactorslibrary.go b/models/operations/getactorslibrary.go index 923c644..d00a92c 100644 --- a/models/operations/getactorslibrary.go +++ b/models/operations/getactorslibrary.go @@ -122,7 +122,7 @@ type GetActorsLibraryMediaContainer struct { // Identifier for the view group layout. ViewGroup string `json:"viewGroup"` // Identifier for the view mode. - ViewMode string `json:"viewMode"` + ViewMode *string `json:"viewMode,omitempty"` // An array of actor entries for media items. Directory []GetActorsLibraryDirectory `json:"Directory,omitempty"` } @@ -204,9 +204,9 @@ func (o *GetActorsLibraryMediaContainer) GetViewGroup() string { return o.ViewGroup } -func (o *GetActorsLibraryMediaContainer) GetViewMode() string { +func (o *GetActorsLibraryMediaContainer) GetViewMode() *string { if o == nil { - return "" + return nil } return o.ViewMode } diff --git a/models/operations/getlibraryitems.go b/models/operations/getlibraryitems.go index 50a3412..1055477 100644 --- a/models/operations/getlibraryitems.go +++ b/models/operations/getlibraryitems.go @@ -4,6 +4,7 @@ package operations import ( "encoding/json" + "errors" "fmt" "github.com/LukeHagar/plexgo/internal/utils" "github.com/LukeHagar/plexgo/types" @@ -207,13 +208,1816 @@ func (o *GetLibraryItemsRequest) GetXPlexContainerSize() *int { return o.XPlexContainerSize } +// GetLibraryItemsType - The type of media content in the Plex library. This can represent videos, music, or photos. +type GetLibraryItemsType string + +const ( + GetLibraryItemsTypeMovie GetLibraryItemsType = "movie" + GetLibraryItemsTypeTvShow GetLibraryItemsType = "show" + GetLibraryItemsTypeSeason GetLibraryItemsType = "season" + GetLibraryItemsTypeEpisode GetLibraryItemsType = "episode" + GetLibraryItemsTypeArtist GetLibraryItemsType = "artist" + GetLibraryItemsTypeAlbum GetLibraryItemsType = "album" + GetLibraryItemsTypeTrack GetLibraryItemsType = "track" + GetLibraryItemsTypePhotoAlbum GetLibraryItemsType = "photoalbum" + GetLibraryItemsTypePhoto GetLibraryItemsType = "photo" + GetLibraryItemsTypeCollection GetLibraryItemsType = "collection" +) + +func (e GetLibraryItemsType) ToPointer() *GetLibraryItemsType { + return &e +} + +type GetLibraryItemsLibraryResponseType string + +const ( + GetLibraryItemsLibraryResponseTypeCoverPoster GetLibraryItemsLibraryResponseType = "coverPoster" + GetLibraryItemsLibraryResponseTypeBackground GetLibraryItemsLibraryResponseType = "background" + GetLibraryItemsLibraryResponseTypeSnapshot GetLibraryItemsLibraryResponseType = "snapshot" + GetLibraryItemsLibraryResponseTypeClearLogo GetLibraryItemsLibraryResponseType = "clearLogo" +) + +func (e GetLibraryItemsLibraryResponseType) ToPointer() *GetLibraryItemsLibraryResponseType { + return &e +} + +type GetLibraryItemsImage struct { + Alt string `json:"alt"` + Type GetLibraryItemsLibraryResponseType `json:"type"` + URL string `json:"url"` +} + +func (o *GetLibraryItemsImage) GetAlt() string { + if o == nil { + return "" + } + return o.Alt +} + +func (o *GetLibraryItemsImage) GetType() GetLibraryItemsLibraryResponseType { + if o == nil { + return GetLibraryItemsLibraryResponseType("") + } + return o.Type +} + +func (o *GetLibraryItemsImage) GetURL() string { + if o == nil { + return "" + } + return o.URL +} + +type GetLibraryItemsUltraBlurColors struct { + TopLeft string `json:"topLeft"` + TopRight string `json:"topRight"` + BottomRight string `json:"bottomRight"` + BottomLeft string `json:"bottomLeft"` +} + +func (o *GetLibraryItemsUltraBlurColors) GetTopLeft() string { + if o == nil { + return "" + } + return o.TopLeft +} + +func (o *GetLibraryItemsUltraBlurColors) GetTopRight() string { + if o == nil { + return "" + } + return o.TopRight +} + +func (o *GetLibraryItemsUltraBlurColors) GetBottomRight() string { + if o == nil { + return "" + } + return o.BottomRight +} + +func (o *GetLibraryItemsUltraBlurColors) GetBottomLeft() string { + if o == nil { + return "" + } + return o.BottomLeft +} + +type GetLibraryItemsGuids struct { + // The unique identifier for the Guid. Can be prefixed with imdb://, tmdb://, tvdb:// + // + ID string `json:"id"` +} + +func (o *GetLibraryItemsGuids) GetID() string { + if o == nil { + return "" + } + return o.ID +} + +// ShowOrdering - Setting that indicates the episode ordering for the show. +// Options: +// - None = Library default +// - tmdbAiring = The Movie Database (Aired) +// - aired = TheTVDB (Aired) +// - dvd = TheTVDB (DVD) +// - absolute = TheTVDB (Absolute) +type ShowOrdering string + +const ( + ShowOrderingNone ShowOrdering = "None" + ShowOrderingTmdbAiring ShowOrdering = "tmdbAiring" + ShowOrderingTvdbAired ShowOrdering = "aired" + ShowOrderingTvdbDvd ShowOrdering = "dvd" + ShowOrderingTvdbAbsolute ShowOrdering = "absolute" +) + +func (e ShowOrdering) ToPointer() *ShowOrdering { + return &e +} + +// FlattenSeasons - Setting that indicates if seasons are set to hidden for the show. (-1 = Library default, 0 = Hide, 1 = Show). +type FlattenSeasons string + +const ( + FlattenSeasonsLibraryDefault FlattenSeasons = "-1" + FlattenSeasonsHide FlattenSeasons = "0" + FlattenSeasonsShow FlattenSeasons = "1" +) + +func (e FlattenSeasons) ToPointer() *FlattenSeasons { + return &e +} + +type OptimizedForStreaming1 int + +const ( + OptimizedForStreaming1Zero OptimizedForStreaming1 = 0 + OptimizedForStreaming1One OptimizedForStreaming1 = 1 +) + +func (e OptimizedForStreaming1) ToPointer() *OptimizedForStreaming1 { + return &e +} +func (e *OptimizedForStreaming1) UnmarshalJSON(data []byte) error { + var v int + if err := json.Unmarshal(data, &v); err != nil { + return err + } + switch v { + case 0: + fallthrough + case 1: + *e = OptimizedForStreaming1(v) + return nil + default: + return fmt.Errorf("invalid value for OptimizedForStreaming1: %v", v) + } +} + +type GetLibraryItemsOptimizedForStreamingType string + +const ( + GetLibraryItemsOptimizedForStreamingTypeOptimizedForStreaming1 GetLibraryItemsOptimizedForStreamingType = "optimizedForStreaming_1" + GetLibraryItemsOptimizedForStreamingTypeBoolean GetLibraryItemsOptimizedForStreamingType = "boolean" +) + +// GetLibraryItemsOptimizedForStreaming - Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true +type GetLibraryItemsOptimizedForStreaming struct { + OptimizedForStreaming1 *OptimizedForStreaming1 `queryParam:"inline"` + Boolean *bool `queryParam:"inline"` + + Type GetLibraryItemsOptimizedForStreamingType +} + +func CreateGetLibraryItemsOptimizedForStreamingOptimizedForStreaming1(optimizedForStreaming1 OptimizedForStreaming1) GetLibraryItemsOptimizedForStreaming { + typ := GetLibraryItemsOptimizedForStreamingTypeOptimizedForStreaming1 + + return GetLibraryItemsOptimizedForStreaming{ + OptimizedForStreaming1: &optimizedForStreaming1, + Type: typ, + } +} + +func CreateGetLibraryItemsOptimizedForStreamingBoolean(boolean bool) GetLibraryItemsOptimizedForStreaming { + typ := GetLibraryItemsOptimizedForStreamingTypeBoolean + + return GetLibraryItemsOptimizedForStreaming{ + Boolean: &boolean, + Type: typ, + } +} + +func (u *GetLibraryItemsOptimizedForStreaming) UnmarshalJSON(data []byte) error { + + var optimizedForStreaming1 OptimizedForStreaming1 = OptimizedForStreaming1(0) + if err := utils.UnmarshalJSON(data, &optimizedForStreaming1, "", true, true); err == nil { + u.OptimizedForStreaming1 = &optimizedForStreaming1 + u.Type = GetLibraryItemsOptimizedForStreamingTypeOptimizedForStreaming1 + return nil + } + + var boolean bool = false + if err := utils.UnmarshalJSON(data, &boolean, "", true, true); err == nil { + u.Boolean = &boolean + u.Type = GetLibraryItemsOptimizedForStreamingTypeBoolean + return nil + } + + return fmt.Errorf("could not unmarshal `%s` into any supported union types for GetLibraryItemsOptimizedForStreaming", string(data)) +} + +func (u GetLibraryItemsOptimizedForStreaming) MarshalJSON() ([]byte, error) { + if u.OptimizedForStreaming1 != nil { + return utils.MarshalJSON(u.OptimizedForStreaming1, "", true) + } + + if u.Boolean != nil { + return utils.MarshalJSON(u.Boolean, "", true) + } + + return nil, errors.New("could not marshal union type GetLibraryItemsOptimizedForStreaming: all fields are null") +} + +type GetLibraryItemsOptimizedForStreaming1 int + +const ( + GetLibraryItemsOptimizedForStreaming1Zero GetLibraryItemsOptimizedForStreaming1 = 0 + GetLibraryItemsOptimizedForStreaming1One GetLibraryItemsOptimizedForStreaming1 = 1 +) + +func (e GetLibraryItemsOptimizedForStreaming1) ToPointer() *GetLibraryItemsOptimizedForStreaming1 { + return &e +} +func (e *GetLibraryItemsOptimizedForStreaming1) UnmarshalJSON(data []byte) error { + var v int + if err := json.Unmarshal(data, &v); err != nil { + return err + } + switch v { + case 0: + fallthrough + case 1: + *e = GetLibraryItemsOptimizedForStreaming1(v) + return nil + default: + return fmt.Errorf("invalid value for GetLibraryItemsOptimizedForStreaming1: %v", v) + } +} + +type GetLibraryItemsLibraryOptimizedForStreamingType string + +const ( + GetLibraryItemsLibraryOptimizedForStreamingTypeGetLibraryItemsOptimizedForStreaming1 GetLibraryItemsLibraryOptimizedForStreamingType = "get-library-items_optimizedForStreaming_1" + GetLibraryItemsLibraryOptimizedForStreamingTypeBoolean GetLibraryItemsLibraryOptimizedForStreamingType = "boolean" +) + +// GetLibraryItemsLibraryOptimizedForStreaming - Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true +type GetLibraryItemsLibraryOptimizedForStreaming struct { + GetLibraryItemsOptimizedForStreaming1 *GetLibraryItemsOptimizedForStreaming1 `queryParam:"inline"` + Boolean *bool `queryParam:"inline"` + + Type GetLibraryItemsLibraryOptimizedForStreamingType +} + +func CreateGetLibraryItemsLibraryOptimizedForStreamingGetLibraryItemsOptimizedForStreaming1(getLibraryItemsOptimizedForStreaming1 GetLibraryItemsOptimizedForStreaming1) GetLibraryItemsLibraryOptimizedForStreaming { + typ := GetLibraryItemsLibraryOptimizedForStreamingTypeGetLibraryItemsOptimizedForStreaming1 + + return GetLibraryItemsLibraryOptimizedForStreaming{ + GetLibraryItemsOptimizedForStreaming1: &getLibraryItemsOptimizedForStreaming1, + Type: typ, + } +} + +func CreateGetLibraryItemsLibraryOptimizedForStreamingBoolean(boolean bool) GetLibraryItemsLibraryOptimizedForStreaming { + typ := GetLibraryItemsLibraryOptimizedForStreamingTypeBoolean + + return GetLibraryItemsLibraryOptimizedForStreaming{ + Boolean: &boolean, + Type: typ, + } +} + +func (u *GetLibraryItemsLibraryOptimizedForStreaming) UnmarshalJSON(data []byte) error { + + var getLibraryItemsOptimizedForStreaming1 GetLibraryItemsOptimizedForStreaming1 = GetLibraryItemsOptimizedForStreaming1(0) + if err := utils.UnmarshalJSON(data, &getLibraryItemsOptimizedForStreaming1, "", true, true); err == nil { + u.GetLibraryItemsOptimizedForStreaming1 = &getLibraryItemsOptimizedForStreaming1 + u.Type = GetLibraryItemsLibraryOptimizedForStreamingTypeGetLibraryItemsOptimizedForStreaming1 + return nil + } + + var boolean bool = false + if err := utils.UnmarshalJSON(data, &boolean, "", true, true); err == nil { + u.Boolean = &boolean + u.Type = GetLibraryItemsLibraryOptimizedForStreamingTypeBoolean + return nil + } + + return fmt.Errorf("could not unmarshal `%s` into any supported union types for GetLibraryItemsLibraryOptimizedForStreaming", string(data)) +} + +func (u GetLibraryItemsLibraryOptimizedForStreaming) MarshalJSON() ([]byte, error) { + if u.GetLibraryItemsOptimizedForStreaming1 != nil { + return utils.MarshalJSON(u.GetLibraryItemsOptimizedForStreaming1, "", true) + } + + if u.Boolean != nil { + return utils.MarshalJSON(u.Boolean, "", true) + } + + return nil, errors.New("could not marshal union type GetLibraryItemsLibraryOptimizedForStreaming: all fields are null") +} + +// GetLibraryItemsHasThumbnail - Indicates if the part has a thumbnail. +type GetLibraryItemsHasThumbnail string + +const ( + GetLibraryItemsHasThumbnailFalse GetLibraryItemsHasThumbnail = "0" + GetLibraryItemsHasThumbnailTrue GetLibraryItemsHasThumbnail = "1" +) + +func (e GetLibraryItemsHasThumbnail) ToPointer() *GetLibraryItemsHasThumbnail { + return &e +} +func (e *GetLibraryItemsHasThumbnail) UnmarshalJSON(data []byte) error { + var v string + if err := json.Unmarshal(data, &v); err != nil { + return err + } + switch v { + case "0": + fallthrough + case "1": + *e = GetLibraryItemsHasThumbnail(v) + return nil + default: + return fmt.Errorf("invalid value for GetLibraryItemsHasThumbnail: %v", v) + } +} + +type GetLibraryItemsPart struct { + // Indicates if the part is accessible. + Accessible *bool `json:"accessible,omitempty"` + // Indicates if the part exists. + Exists *bool `json:"exists,omitempty"` + // Unique part identifier. + ID int64 `json:"id"` + // Key to access this part. + Key *string `json:"key,omitempty"` + Indexes *string `json:"indexes,omitempty"` + // Duration of the part in milliseconds. + Duration *int `json:"duration,omitempty"` + // File path for the part. + File *string `json:"file,omitempty"` + // File size in bytes. + Size *int64 `json:"size,omitempty"` + PacketLength *int `json:"packetLength,omitempty"` + // Container format of the part. + Container *string `json:"container,omitempty"` + // Video profile for the part. + VideoProfile *string `json:"videoProfile,omitempty"` + // The audio profile used for the media (e.g., DTS, Dolby Digital, etc.). + AudioProfile *string `json:"audioProfile,omitempty"` + Has64bitOffsets *bool `json:"has64bitOffsets,omitempty"` + // Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true + // + OptimizedForStreaming *GetLibraryItemsLibraryOptimizedForStreaming `json:"optimizedForStreaming,omitempty"` + HasThumbnail *GetLibraryItemsHasThumbnail `default:"0" json:"hasThumbnail"` +} + +func (g GetLibraryItemsPart) MarshalJSON() ([]byte, error) { + return utils.MarshalJSON(g, "", false) +} + +func (g *GetLibraryItemsPart) UnmarshalJSON(data []byte) error { + if err := utils.UnmarshalJSON(data, &g, "", false, false); err != nil { + return err + } + return nil +} + +func (o *GetLibraryItemsPart) GetAccessible() *bool { + if o == nil { + return nil + } + return o.Accessible +} + +func (o *GetLibraryItemsPart) GetExists() *bool { + if o == nil { + return nil + } + return o.Exists +} + +func (o *GetLibraryItemsPart) GetID() int64 { + if o == nil { + return 0 + } + return o.ID +} + +func (o *GetLibraryItemsPart) GetKey() *string { + if o == nil { + return nil + } + return o.Key +} + +func (o *GetLibraryItemsPart) GetIndexes() *string { + if o == nil { + return nil + } + return o.Indexes +} + +func (o *GetLibraryItemsPart) GetDuration() *int { + if o == nil { + return nil + } + return o.Duration +} + +func (o *GetLibraryItemsPart) GetFile() *string { + if o == nil { + return nil + } + return o.File +} + +func (o *GetLibraryItemsPart) GetSize() *int64 { + if o == nil { + return nil + } + return o.Size +} + +func (o *GetLibraryItemsPart) GetPacketLength() *int { + if o == nil { + return nil + } + return o.PacketLength +} + +func (o *GetLibraryItemsPart) GetContainer() *string { + if o == nil { + return nil + } + return o.Container +} + +func (o *GetLibraryItemsPart) GetVideoProfile() *string { + if o == nil { + return nil + } + return o.VideoProfile +} + +func (o *GetLibraryItemsPart) GetAudioProfile() *string { + if o == nil { + return nil + } + return o.AudioProfile +} + +func (o *GetLibraryItemsPart) GetHas64bitOffsets() *bool { + if o == nil { + return nil + } + return o.Has64bitOffsets +} + +func (o *GetLibraryItemsPart) GetOptimizedForStreaming() *GetLibraryItemsLibraryOptimizedForStreaming { + if o == nil { + return nil + } + return o.OptimizedForStreaming +} + +func (o *GetLibraryItemsPart) GetHasThumbnail() *GetLibraryItemsHasThumbnail { + if o == nil { + return nil + } + return o.HasThumbnail +} + +type GetLibraryItemsMedia struct { + // Unique media identifier. + ID int64 `json:"id"` + // Duration of the media in milliseconds. + Duration *int `json:"duration,omitempty"` + // Bitrate in bits per second. + Bitrate *int `json:"bitrate,omitempty"` + // Video width in pixels. + Width *int `json:"width,omitempty"` + // Video height in pixels. + Height *int `json:"height,omitempty"` + // Aspect ratio of the video. + AspectRatio *float32 `json:"aspectRatio,omitempty"` + // Number of audio channels. + AudioChannels *int `json:"audioChannels,omitempty"` + DisplayOffset *int `json:"displayOffset,omitempty"` + // Audio codec used. + AudioCodec *string `json:"audioCodec,omitempty"` + // Video codec used. + VideoCodec *string `json:"videoCodec,omitempty"` + // Video resolution (e.g., 4k). + VideoResolution *string `json:"videoResolution,omitempty"` + // Container format of the media. + Container *string `json:"container,omitempty"` + // Frame rate of the video. Values found include NTSC, PAL, 24p + // + VideoFrameRate *string `json:"videoFrameRate,omitempty"` + // Video profile (e.g., main 10). + VideoProfile *string `json:"videoProfile,omitempty"` + // Indicates whether voice activity is detected. + HasVoiceActivity *bool `json:"hasVoiceActivity,omitempty"` + // The audio profile used for the media (e.g., DTS, Dolby Digital, etc.). + AudioProfile *string `json:"audioProfile,omitempty"` + // Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true + OptimizedForStreaming *GetLibraryItemsOptimizedForStreaming `json:"optimizedForStreaming,omitempty"` + // Indicates whether the media has 64-bit offsets. + // This is relevant for media files that may require larger offsets than what 32-bit integers can provide. + // + Has64bitOffsets *bool `json:"has64bitOffsets,omitempty"` + Part []GetLibraryItemsPart `json:"Part,omitempty"` +} + +func (o *GetLibraryItemsMedia) GetID() int64 { + if o == nil { + return 0 + } + return o.ID +} + +func (o *GetLibraryItemsMedia) GetDuration() *int { + if o == nil { + return nil + } + return o.Duration +} + +func (o *GetLibraryItemsMedia) GetBitrate() *int { + if o == nil { + return nil + } + return o.Bitrate +} + +func (o *GetLibraryItemsMedia) GetWidth() *int { + if o == nil { + return nil + } + return o.Width +} + +func (o *GetLibraryItemsMedia) GetHeight() *int { + if o == nil { + return nil + } + return o.Height +} + +func (o *GetLibraryItemsMedia) GetAspectRatio() *float32 { + if o == nil { + return nil + } + return o.AspectRatio +} + +func (o *GetLibraryItemsMedia) GetAudioChannels() *int { + if o == nil { + return nil + } + return o.AudioChannels +} + +func (o *GetLibraryItemsMedia) GetDisplayOffset() *int { + if o == nil { + return nil + } + return o.DisplayOffset +} + +func (o *GetLibraryItemsMedia) GetAudioCodec() *string { + if o == nil { + return nil + } + return o.AudioCodec +} + +func (o *GetLibraryItemsMedia) GetVideoCodec() *string { + if o == nil { + return nil + } + return o.VideoCodec +} + +func (o *GetLibraryItemsMedia) GetVideoResolution() *string { + if o == nil { + return nil + } + return o.VideoResolution +} + +func (o *GetLibraryItemsMedia) GetContainer() *string { + if o == nil { + return nil + } + return o.Container +} + +func (o *GetLibraryItemsMedia) GetVideoFrameRate() *string { + if o == nil { + return nil + } + return o.VideoFrameRate +} + +func (o *GetLibraryItemsMedia) GetVideoProfile() *string { + if o == nil { + return nil + } + return o.VideoProfile +} + +func (o *GetLibraryItemsMedia) GetHasVoiceActivity() *bool { + if o == nil { + return nil + } + return o.HasVoiceActivity +} + +func (o *GetLibraryItemsMedia) GetAudioProfile() *string { + if o == nil { + return nil + } + return o.AudioProfile +} + +func (o *GetLibraryItemsMedia) GetOptimizedForStreaming() *GetLibraryItemsOptimizedForStreaming { + if o == nil { + return nil + } + return o.OptimizedForStreaming +} + +func (o *GetLibraryItemsMedia) GetHas64bitOffsets() *bool { + if o == nil { + return nil + } + return o.Has64bitOffsets +} + +func (o *GetLibraryItemsMedia) GetPart() []GetLibraryItemsPart { + if o == nil { + return nil + } + return o.Part +} + +type GetLibraryItemsGenre struct { + // The unique identifier for the genre. + // NOTE: This is different for each Plex server and is not globally unique. + // + ID int `json:"id"` + // The genre name of this media-item + // + Tag string `json:"tag"` +} + +func (o *GetLibraryItemsGenre) GetID() int { + if o == nil { + return 0 + } + return o.ID +} + +func (o *GetLibraryItemsGenre) GetTag() string { + if o == nil { + return "" + } + return o.Tag +} + +type GetLibraryItemsCountry struct { + // The unique identifier for the country. + // NOTE: This is different for each Plex server and is not globally unique. + // + ID int `json:"id"` + // The country of origin of this media item + Tag string `json:"tag"` +} + +func (o *GetLibraryItemsCountry) GetID() int { + if o == nil { + return 0 + } + return o.ID +} + +func (o *GetLibraryItemsCountry) GetTag() string { + if o == nil { + return "" + } + return o.Tag +} + +type GetLibraryItemsDirector struct { + // Unique identifier for the director. + ID int `json:"id"` + // The role of Director + Tag string `json:"tag"` + // The absolute URL of the thumbnail image for the director. + Thumb *string `json:"thumb,omitempty"` +} + +func (o *GetLibraryItemsDirector) GetID() int { + if o == nil { + return 0 + } + return o.ID +} + +func (o *GetLibraryItemsDirector) GetTag() string { + if o == nil { + return "" + } + return o.Tag +} + +func (o *GetLibraryItemsDirector) GetThumb() *string { + if o == nil { + return nil + } + return o.Thumb +} + +type GetLibraryItemsWriter struct { + // Unique identifier for the writer. + ID int `json:"id"` + // The role of Writer + Tag string `json:"tag"` + // The absolute URL of the thumbnail image for the writer. + Thumb *string `json:"thumb,omitempty"` +} + +func (o *GetLibraryItemsWriter) GetID() int { + if o == nil { + return 0 + } + return o.ID +} + +func (o *GetLibraryItemsWriter) GetTag() string { + if o == nil { + return "" + } + return o.Tag +} + +func (o *GetLibraryItemsWriter) GetThumb() *string { + if o == nil { + return nil + } + return o.Thumb +} + +type GetLibraryItemsProducer struct { + // The unique role identifier. + ID int64 `json:"id"` + // The filter string for the role. + Filter string `json:"filter"` + // The actor's name. + Tag string `json:"tag"` + // A key associated with the actor tag. + TagKey string `json:"tagKey"` + // The character name or role. + Role *string `json:"role,omitempty"` + // URL for the role thumbnail image. + Thumb *string `json:"thumb,omitempty"` +} + +func (o *GetLibraryItemsProducer) GetID() int64 { + if o == nil { + return 0 + } + return o.ID +} + +func (o *GetLibraryItemsProducer) GetFilter() string { + if o == nil { + return "" + } + return o.Filter +} + +func (o *GetLibraryItemsProducer) GetTag() string { + if o == nil { + return "" + } + return o.Tag +} + +func (o *GetLibraryItemsProducer) GetTagKey() string { + if o == nil { + return "" + } + return o.TagKey +} + +func (o *GetLibraryItemsProducer) GetRole() *string { + if o == nil { + return nil + } + return o.Role +} + +func (o *GetLibraryItemsProducer) GetThumb() *string { + if o == nil { + return nil + } + return o.Thumb +} + +type GetLibraryItemsCollection struct { + // The user-made collection this media item belongs to + Tag string `json:"tag"` +} + +func (o *GetLibraryItemsCollection) GetTag() string { + if o == nil { + return "" + } + return o.Tag +} + +type GetLibraryItemsRole struct { + // The unique identifier for the role. + // NOTE: This is different for each Plex server and is not globally unique. + // + ID int `json:"id"` + // The display tag for the actor (typically the actor's name). + Tag string `json:"tag"` + // The role played by the actor in the media item. + Role *string `json:"role,omitempty"` + // The absolute URL of the thumbnail image for the actor. + Thumb *string `json:"thumb,omitempty"` +} + +func (o *GetLibraryItemsRole) GetID() int { + if o == nil { + return 0 + } + return o.ID +} + +func (o *GetLibraryItemsRole) GetTag() string { + if o == nil { + return "" + } + return o.Tag +} + +func (o *GetLibraryItemsRole) GetRole() *string { + if o == nil { + return nil + } + return o.Role +} + +func (o *GetLibraryItemsRole) GetThumb() *string { + if o == nil { + return nil + } + return o.Thumb +} + +type Ratings struct { + // The image or reference for the rating. + Image string `json:"image"` + // The rating value. + Value float32 `json:"value"` + // The type of rating (e.g., audience, critic). + Type string `json:"type"` +} + +func (o *Ratings) GetImage() string { + if o == nil { + return "" + } + return o.Image +} + +func (o *Ratings) GetValue() float32 { + if o == nil { + return 0.0 + } + return o.Value +} + +func (o *Ratings) GetType() string { + if o == nil { + return "" + } + return o.Type +} + +type GetLibraryItemsSimilar struct { + // The unique similar item identifier. + ID int64 `json:"id"` + // The filter string for similar items. + Filter string `json:"filter"` + // The tag or title of the similar content. + Tag string `json:"tag"` +} + +func (o *GetLibraryItemsSimilar) GetID() int64 { + if o == nil { + return 0 + } + return o.ID +} + +func (o *GetLibraryItemsSimilar) GetFilter() string { + if o == nil { + return "" + } + return o.Filter +} + +func (o *GetLibraryItemsSimilar) GetTag() string { + if o == nil { + return "" + } + return o.Tag +} + +// GetLibraryItemsLocation - The folder path for the media item. +type GetLibraryItemsLocation struct { + Path string `json:"path"` +} + +func (o *GetLibraryItemsLocation) GetPath() string { + if o == nil { + return "" + } + return o.Path +} + +// Chapter - The thumbnail for the chapter +type Chapter struct { + ID int64 `json:"id"` + Filter string `json:"filter"` + Index int64 `json:"index"` + StartTimeOffset int64 `json:"startTimeOffset"` + EndTimeOffset int64 `json:"endTimeOffset"` + Thumb string `json:"thumb"` +} + +func (o *Chapter) GetID() int64 { + if o == nil { + return 0 + } + return o.ID +} + +func (o *Chapter) GetFilter() string { + if o == nil { + return "" + } + return o.Filter +} + +func (o *Chapter) GetIndex() int64 { + if o == nil { + return 0 + } + return o.Index +} + +func (o *Chapter) GetStartTimeOffset() int64 { + if o == nil { + return 0 + } + return o.StartTimeOffset +} + +func (o *Chapter) GetEndTimeOffset() int64 { + if o == nil { + return 0 + } + return o.EndTimeOffset +} + +func (o *Chapter) GetThumb() string { + if o == nil { + return "" + } + return o.Thumb +} + +// Attributes associated with the marker. +type Attributes struct { + // The identifier for the attributes. + ID int64 `json:"id"` + // The version number of the marker attributes. + Version *int64 `json:"version,omitempty"` +} + +func (o *Attributes) GetID() int64 { + if o == nil { + return 0 + } + return o.ID +} + +func (o *Attributes) GetVersion() *int64 { + if o == nil { + return nil + } + return o.Version +} + +// Marker - The final status of the marker +type Marker struct { + ID int64 `json:"id"` + Type string `json:"type"` + StartTimeOffset int64 `json:"startTimeOffset"` + EndTimeOffset int64 `json:"endTimeOffset"` + Final *bool `json:"final,omitempty"` + // Attributes associated with the marker. + Attributes *Attributes `json:"Attributes,omitempty"` +} + +func (o *Marker) GetID() int64 { + if o == nil { + return 0 + } + return o.ID +} + +func (o *Marker) GetType() string { + if o == nil { + return "" + } + return o.Type +} + +func (o *Marker) GetStartTimeOffset() int64 { + if o == nil { + return 0 + } + return o.StartTimeOffset +} + +func (o *Marker) GetEndTimeOffset() int64 { + if o == nil { + return 0 + } + return o.EndTimeOffset +} + +func (o *Marker) GetFinal() *bool { + if o == nil { + return nil + } + return o.Final +} + +func (o *Marker) GetAttributes() *Attributes { + if o == nil { + return nil + } + return o.Attributes +} + +type Extras struct { + // The size of the extras. + Size *int64 `json:"size,omitempty"` +} + +func (o *Extras) GetSize() *int64 { + if o == nil { + return nil + } + return o.Size +} + +// GetLibraryItemsMetadata - Unknown +type GetLibraryItemsMetadata struct { + // The rating key (Media ID) of this media item. Note: Although this is always an integer, it is represented as a string in the API. + RatingKey string `json:"ratingKey"` + // The unique key for the media item. + Key string `json:"key"` + // The globally unique identifier for the media item. + GUID string `json:"guid"` + // A URL‐friendly version of the media title. + Slug string `json:"slug"` + // The studio that produced the media item. + Studio *string `json:"studio,omitempty"` + Type GetLibraryItemsType `json:"type"` + // The title of the media item. + Title string `json:"title"` + // The banner image URL for the media item. + Banner string `json:"banner"` + // The sort title used for ordering media items. + TitleSort string `json:"titleSort"` + // The content rating for the media item. + ContentRating *string `json:"contentRating,omitempty"` + // A synopsis of the media item. + Summary string `json:"summary"` + // The critic rating for the media item. + Rating float32 `json:"rating"` + // The audience rating for the media item. + AudienceRating float64 `json:"audienceRating"` + // The release year of the media item. + Year *int `json:"year,omitempty"` + // A brief tagline for the media item. + Tagline string `json:"tagline"` + // The thumbnail image URL for the media item. + Thumb string `json:"thumb"` + // The art image URL for the media item. + Art string `json:"art"` + // The theme URL for the media item. + Theme string `json:"theme"` + // The index position of the media item. + Index int `json:"index"` + // The number of leaf items (end nodes) under this media item. + LeafCount *int `json:"leafCount,omitempty"` + // The number of leaf items that have been viewed. + ViewedLeafCount *int `json:"viewedLeafCount,omitempty"` + // The number of child items associated with this media item. + ChildCount int `json:"childCount"` + // The total number of seasons (for TV shows). + SeasonCount int `json:"seasonCount"` + // The duration of the media item in milliseconds. + Duration int `json:"duration"` + // The original release date of the media item. + OriginallyAvailableAt *types.Date `json:"originallyAvailableAt,omitempty"` + AddedAt int64 `json:"addedAt"` + // Unix epoch datetime in seconds + UpdatedAt *int64 `json:"updatedAt,omitempty"` + // The URL for the audience rating image. + AudienceRatingImage *string `json:"audienceRatingImage,omitempty"` + // The source from which chapter data is derived. + ChapterSource *string `json:"chapterSource,omitempty"` + // The primary extra key associated with this media item. + PrimaryExtraKey *string `json:"primaryExtraKey,omitempty"` + // The original title of the media item (if different). + OriginalTitle *string `json:"originalTitle,omitempty"` + // The rating key of the parent media item. + ParentRatingKey *string `json:"parentRatingKey,omitempty"` + // The rating key of the grandparent media item. + GrandparentRatingKey *string `json:"grandparentRatingKey,omitempty"` + // The GUID of the parent media item. + ParentGUID *string `json:"parentGuid,omitempty"` + // The GUID of the grandparent media item. + GrandparentGUID *string `json:"grandparentGuid,omitempty"` + // The slug for the grandparent media item. + GrandparentSlug *string `json:"grandparentSlug,omitempty"` + // The key of the grandparent media item. + GrandparentKey *string `json:"grandparentKey,omitempty"` + // The key of the parent media item. + ParentKey *string `json:"parentKey,omitempty"` + // The title of the grandparent media item. + GrandparentTitle *string `json:"grandparentTitle,omitempty"` + // The thumbnail URL for the grandparent media item. + GrandparentThumb *string `json:"grandparentThumb,omitempty"` + // The theme URL for the grandparent media item. + GrandparentTheme *string `json:"grandparentTheme,omitempty"` + // The art URL for the grandparent media item. + GrandparentArt *string `json:"grandparentArt,omitempty"` + // The title of the parent media item. + ParentTitle *string `json:"parentTitle,omitempty"` + // The index position of the parent media item. + ParentIndex *int `json:"parentIndex,omitempty"` + // The thumbnail URL for the parent media item. + ParentThumb *string `json:"parentThumb,omitempty"` + // The URL for the rating image. + RatingImage *string `json:"ratingImage,omitempty"` + // The number of times this media item has been viewed. + ViewCount *int `json:"viewCount,omitempty"` + // The current playback offset (in milliseconds). + ViewOffset *int `json:"viewOffset,omitempty"` + // The number of times this media item has been skipped. + SkipCount *int `json:"skipCount,omitempty"` + // A classification that further describes the type of media item. For example, 'clip' indicates that the item is a short video clip. + Subtype *string `json:"subtype,omitempty"` + // The Unix timestamp representing the last time the item was rated. + LastRatedAt *int64 `json:"lastRatedAt,omitempty"` + // The accuracy of the creation timestamp. This value indicates the format(s) provided (for example, 'epoch,local' means both epoch and local time formats are available). + CreatedAtAccuracy *string `json:"createdAtAccuracy,omitempty"` + // The time zone offset for the creation timestamp, represented as a string. This offset indicates the difference from UTC. + CreatedAtTZOffset *string `json:"createdAtTZOffset,omitempty"` + // Unix timestamp for when the media item was last viewed. + LastViewedAt *int `json:"lastViewedAt,omitempty"` + // The rating provided by a user for the item. This value is expressed as a decimal number. + UserRating *float32 `json:"userRating,omitempty"` + Image []GetLibraryItemsImage `json:"Image,omitempty"` + UltraBlurColors *GetLibraryItemsUltraBlurColors `json:"UltraBlurColors,omitempty"` + Guids []GetLibraryItemsGuids `json:"Guid,omitempty"` + // The identifier for the library section. + LibrarySectionID *int64 `json:"librarySectionID,omitempty"` + // The title of the library section. + LibrarySectionTitle *string `json:"librarySectionTitle,omitempty"` + // The key corresponding to the library section. + LibrarySectionKey *string `json:"librarySectionKey,omitempty"` + // Setting that indicates the episode ordering for the show. + // Options: + // - None = Library default + // - tmdbAiring = The Movie Database (Aired) + // - aired = TheTVDB (Aired) + // - dvd = TheTVDB (DVD) + // - absolute = TheTVDB (Absolute) + // + ShowOrdering *ShowOrdering `json:"showOrdering,omitempty"` + // Setting that indicates if seasons are set to hidden for the show. (-1 = Library default, 0 = Hide, 1 = Show). + // + FlattenSeasons *FlattenSeasons `json:"flattenSeasons,omitempty"` + // Indicates whether child items should be skipped. + SkipChildren *bool `json:"skipChildren,omitempty"` + Media []GetLibraryItemsMedia `json:"Media,omitempty"` + Genre []GetLibraryItemsGenre `json:"Genre,omitempty"` + Country []GetLibraryItemsCountry `json:"Country,omitempty"` + Director []GetLibraryItemsDirector `json:"Director,omitempty"` + Writer []GetLibraryItemsWriter `json:"Writer,omitempty"` + Producer []GetLibraryItemsProducer `json:"Producer,omitempty"` + Collection []GetLibraryItemsCollection `json:"Collection,omitempty"` + Role []GetLibraryItemsRole `json:"Role,omitempty"` + Ratings []Ratings `json:"Rating,omitempty"` + Similar []GetLibraryItemsSimilar `json:"Similar,omitempty"` + Location []GetLibraryItemsLocation `json:"Location,omitempty"` + Chapter []Chapter `json:"Chapter,omitempty"` + Marker []Marker `json:"Marker,omitempty"` + Extras *Extras `json:"Extras,omitempty"` +} + +func (g GetLibraryItemsMetadata) MarshalJSON() ([]byte, error) { + return utils.MarshalJSON(g, "", false) +} + +func (g *GetLibraryItemsMetadata) UnmarshalJSON(data []byte) error { + if err := utils.UnmarshalJSON(data, &g, "", false, false); err != nil { + return err + } + return nil +} + +func (o *GetLibraryItemsMetadata) GetRatingKey() string { + if o == nil { + return "" + } + return o.RatingKey +} + +func (o *GetLibraryItemsMetadata) GetKey() string { + if o == nil { + return "" + } + return o.Key +} + +func (o *GetLibraryItemsMetadata) GetGUID() string { + if o == nil { + return "" + } + return o.GUID +} + +func (o *GetLibraryItemsMetadata) GetSlug() string { + if o == nil { + return "" + } + return o.Slug +} + +func (o *GetLibraryItemsMetadata) GetStudio() *string { + if o == nil { + return nil + } + return o.Studio +} + +func (o *GetLibraryItemsMetadata) GetType() GetLibraryItemsType { + if o == nil { + return GetLibraryItemsType("") + } + return o.Type +} + +func (o *GetLibraryItemsMetadata) GetTitle() string { + if o == nil { + return "" + } + return o.Title +} + +func (o *GetLibraryItemsMetadata) GetBanner() string { + if o == nil { + return "" + } + return o.Banner +} + +func (o *GetLibraryItemsMetadata) GetTitleSort() string { + if o == nil { + return "" + } + return o.TitleSort +} + +func (o *GetLibraryItemsMetadata) GetContentRating() *string { + if o == nil { + return nil + } + return o.ContentRating +} + +func (o *GetLibraryItemsMetadata) GetSummary() string { + if o == nil { + return "" + } + return o.Summary +} + +func (o *GetLibraryItemsMetadata) GetRating() float32 { + if o == nil { + return 0.0 + } + return o.Rating +} + +func (o *GetLibraryItemsMetadata) GetAudienceRating() float64 { + if o == nil { + return 0.0 + } + return o.AudienceRating +} + +func (o *GetLibraryItemsMetadata) GetYear() *int { + if o == nil { + return nil + } + return o.Year +} + +func (o *GetLibraryItemsMetadata) GetTagline() string { + if o == nil { + return "" + } + return o.Tagline +} + +func (o *GetLibraryItemsMetadata) GetThumb() string { + if o == nil { + return "" + } + return o.Thumb +} + +func (o *GetLibraryItemsMetadata) GetArt() string { + if o == nil { + return "" + } + return o.Art +} + +func (o *GetLibraryItemsMetadata) GetTheme() string { + if o == nil { + return "" + } + return o.Theme +} + +func (o *GetLibraryItemsMetadata) GetIndex() int { + if o == nil { + return 0 + } + return o.Index +} + +func (o *GetLibraryItemsMetadata) GetLeafCount() *int { + if o == nil { + return nil + } + return o.LeafCount +} + +func (o *GetLibraryItemsMetadata) GetViewedLeafCount() *int { + if o == nil { + return nil + } + return o.ViewedLeafCount +} + +func (o *GetLibraryItemsMetadata) GetChildCount() int { + if o == nil { + return 0 + } + return o.ChildCount +} + +func (o *GetLibraryItemsMetadata) GetSeasonCount() int { + if o == nil { + return 0 + } + return o.SeasonCount +} + +func (o *GetLibraryItemsMetadata) GetDuration() int { + if o == nil { + return 0 + } + return o.Duration +} + +func (o *GetLibraryItemsMetadata) GetOriginallyAvailableAt() *types.Date { + if o == nil { + return nil + } + return o.OriginallyAvailableAt +} + +func (o *GetLibraryItemsMetadata) GetAddedAt() int64 { + if o == nil { + return 0 + } + return o.AddedAt +} + +func (o *GetLibraryItemsMetadata) GetUpdatedAt() *int64 { + if o == nil { + return nil + } + return o.UpdatedAt +} + +func (o *GetLibraryItemsMetadata) GetAudienceRatingImage() *string { + if o == nil { + return nil + } + return o.AudienceRatingImage +} + +func (o *GetLibraryItemsMetadata) GetChapterSource() *string { + if o == nil { + return nil + } + return o.ChapterSource +} + +func (o *GetLibraryItemsMetadata) GetPrimaryExtraKey() *string { + if o == nil { + return nil + } + return o.PrimaryExtraKey +} + +func (o *GetLibraryItemsMetadata) GetOriginalTitle() *string { + if o == nil { + return nil + } + return o.OriginalTitle +} + +func (o *GetLibraryItemsMetadata) GetParentRatingKey() *string { + if o == nil { + return nil + } + return o.ParentRatingKey +} + +func (o *GetLibraryItemsMetadata) GetGrandparentRatingKey() *string { + if o == nil { + return nil + } + return o.GrandparentRatingKey +} + +func (o *GetLibraryItemsMetadata) GetParentGUID() *string { + if o == nil { + return nil + } + return o.ParentGUID +} + +func (o *GetLibraryItemsMetadata) GetGrandparentGUID() *string { + if o == nil { + return nil + } + return o.GrandparentGUID +} + +func (o *GetLibraryItemsMetadata) GetGrandparentSlug() *string { + if o == nil { + return nil + } + return o.GrandparentSlug +} + +func (o *GetLibraryItemsMetadata) GetGrandparentKey() *string { + if o == nil { + return nil + } + return o.GrandparentKey +} + +func (o *GetLibraryItemsMetadata) GetParentKey() *string { + if o == nil { + return nil + } + return o.ParentKey +} + +func (o *GetLibraryItemsMetadata) GetGrandparentTitle() *string { + if o == nil { + return nil + } + return o.GrandparentTitle +} + +func (o *GetLibraryItemsMetadata) GetGrandparentThumb() *string { + if o == nil { + return nil + } + return o.GrandparentThumb +} + +func (o *GetLibraryItemsMetadata) GetGrandparentTheme() *string { + if o == nil { + return nil + } + return o.GrandparentTheme +} + +func (o *GetLibraryItemsMetadata) GetGrandparentArt() *string { + if o == nil { + return nil + } + return o.GrandparentArt +} + +func (o *GetLibraryItemsMetadata) GetParentTitle() *string { + if o == nil { + return nil + } + return o.ParentTitle +} + +func (o *GetLibraryItemsMetadata) GetParentIndex() *int { + if o == nil { + return nil + } + return o.ParentIndex +} + +func (o *GetLibraryItemsMetadata) GetParentThumb() *string { + if o == nil { + return nil + } + return o.ParentThumb +} + +func (o *GetLibraryItemsMetadata) GetRatingImage() *string { + if o == nil { + return nil + } + return o.RatingImage +} + +func (o *GetLibraryItemsMetadata) GetViewCount() *int { + if o == nil { + return nil + } + return o.ViewCount +} + +func (o *GetLibraryItemsMetadata) GetViewOffset() *int { + if o == nil { + return nil + } + return o.ViewOffset +} + +func (o *GetLibraryItemsMetadata) GetSkipCount() *int { + if o == nil { + return nil + } + return o.SkipCount +} + +func (o *GetLibraryItemsMetadata) GetSubtype() *string { + if o == nil { + return nil + } + return o.Subtype +} + +func (o *GetLibraryItemsMetadata) GetLastRatedAt() *int64 { + if o == nil { + return nil + } + return o.LastRatedAt +} + +func (o *GetLibraryItemsMetadata) GetCreatedAtAccuracy() *string { + if o == nil { + return nil + } + return o.CreatedAtAccuracy +} + +func (o *GetLibraryItemsMetadata) GetCreatedAtTZOffset() *string { + if o == nil { + return nil + } + return o.CreatedAtTZOffset +} + +func (o *GetLibraryItemsMetadata) GetLastViewedAt() *int { + if o == nil { + return nil + } + return o.LastViewedAt +} + +func (o *GetLibraryItemsMetadata) GetUserRating() *float32 { + if o == nil { + return nil + } + return o.UserRating +} + +func (o *GetLibraryItemsMetadata) GetImage() []GetLibraryItemsImage { + if o == nil { + return nil + } + return o.Image +} + +func (o *GetLibraryItemsMetadata) GetUltraBlurColors() *GetLibraryItemsUltraBlurColors { + if o == nil { + return nil + } + return o.UltraBlurColors +} + +func (o *GetLibraryItemsMetadata) GetGuids() []GetLibraryItemsGuids { + if o == nil { + return nil + } + return o.Guids +} + +func (o *GetLibraryItemsMetadata) GetLibrarySectionID() *int64 { + if o == nil { + return nil + } + return o.LibrarySectionID +} + +func (o *GetLibraryItemsMetadata) GetLibrarySectionTitle() *string { + if o == nil { + return nil + } + return o.LibrarySectionTitle +} + +func (o *GetLibraryItemsMetadata) GetLibrarySectionKey() *string { + if o == nil { + return nil + } + return o.LibrarySectionKey +} + +func (o *GetLibraryItemsMetadata) GetShowOrdering() *ShowOrdering { + if o == nil { + return nil + } + return o.ShowOrdering +} + +func (o *GetLibraryItemsMetadata) GetFlattenSeasons() *FlattenSeasons { + if o == nil { + return nil + } + return o.FlattenSeasons +} + +func (o *GetLibraryItemsMetadata) GetSkipChildren() *bool { + if o == nil { + return nil + } + return o.SkipChildren +} + +func (o *GetLibraryItemsMetadata) GetMedia() []GetLibraryItemsMedia { + if o == nil { + return nil + } + return o.Media +} + +func (o *GetLibraryItemsMetadata) GetGenre() []GetLibraryItemsGenre { + if o == nil { + return nil + } + return o.Genre +} + +func (o *GetLibraryItemsMetadata) GetCountry() []GetLibraryItemsCountry { + if o == nil { + return nil + } + return o.Country +} + +func (o *GetLibraryItemsMetadata) GetDirector() []GetLibraryItemsDirector { + if o == nil { + return nil + } + return o.Director +} + +func (o *GetLibraryItemsMetadata) GetWriter() []GetLibraryItemsWriter { + if o == nil { + return nil + } + return o.Writer +} + +func (o *GetLibraryItemsMetadata) GetProducer() []GetLibraryItemsProducer { + if o == nil { + return nil + } + return o.Producer +} + +func (o *GetLibraryItemsMetadata) GetCollection() []GetLibraryItemsCollection { + if o == nil { + return nil + } + return o.Collection +} + +func (o *GetLibraryItemsMetadata) GetRole() []GetLibraryItemsRole { + if o == nil { + return nil + } + return o.Role +} + +func (o *GetLibraryItemsMetadata) GetRatings() []Ratings { + if o == nil { + return nil + } + return o.Ratings +} + +func (o *GetLibraryItemsMetadata) GetSimilar() []GetLibraryItemsSimilar { + if o == nil { + return nil + } + return o.Similar +} + +func (o *GetLibraryItemsMetadata) GetLocation() []GetLibraryItemsLocation { + if o == nil { + return nil + } + return o.Location +} + +func (o *GetLibraryItemsMetadata) GetChapter() []Chapter { + if o == nil { + return nil + } + return o.Chapter +} + +func (o *GetLibraryItemsMetadata) GetMarker() []Marker { + if o == nil { + return nil + } + return o.Marker +} + +func (o *GetLibraryItemsMetadata) GetExtras() *Extras { + if o == nil { + return nil + } + return o.Extras +} + type GetLibraryItemsFilter struct { Filter string `json:"filter"` FilterType string `json:"filterType"` Key string `json:"key"` Title string `json:"title"` Type string `json:"type"` - Advanced *bool `json:"advanced,omitempty"` } func (o *GetLibraryItemsFilter) GetFilter() string { @@ -251,13 +2055,6 @@ func (o *GetLibraryItemsFilter) GetType() string { return o.Type } -func (o *GetLibraryItemsFilter) GetAdvanced() *bool { - if o == nil { - return nil - } - return o.Advanced -} - // GetLibraryItemsActiveDirection - The direction of the sort. Can be either `asc` or `desc`. type GetLibraryItemsActiveDirection string @@ -429,67 +2226,59 @@ func (o *GetLibraryItemsField) GetSubType() *string { return o.SubType } -type GetLibraryItemsType struct { - Key string `json:"key"` - Type string `json:"type"` - Subtype *string `json:"subtype,omitempty"` - Title string `json:"title"` - Active bool `json:"active"` - Filter []GetLibraryItemsFilter `json:"Filter,omitempty"` - Sort []GetLibraryItemsSort `json:"Sort,omitempty"` - Field []GetLibraryItemsField `json:"Field,omitempty"` +type GetLibraryItemsLibraryType struct { + Key string `json:"key"` + Type string `json:"type"` + Title string `json:"title"` + Active bool `json:"active"` + Filter []GetLibraryItemsFilter `json:"Filter,omitempty"` + Sort []GetLibraryItemsSort `json:"Sort,omitempty"` + Field []GetLibraryItemsField `json:"Field,omitempty"` } -func (o *GetLibraryItemsType) GetKey() string { +func (o *GetLibraryItemsLibraryType) GetKey() string { if o == nil { return "" } return o.Key } -func (o *GetLibraryItemsType) GetType() string { +func (o *GetLibraryItemsLibraryType) GetType() string { if o == nil { return "" } return o.Type } -func (o *GetLibraryItemsType) GetSubtype() *string { - if o == nil { - return nil - } - return o.Subtype -} - -func (o *GetLibraryItemsType) GetTitle() string { +func (o *GetLibraryItemsLibraryType) GetTitle() string { if o == nil { return "" } return o.Title } -func (o *GetLibraryItemsType) GetActive() bool { +func (o *GetLibraryItemsLibraryType) GetActive() bool { if o == nil { return false } return o.Active } -func (o *GetLibraryItemsType) GetFilter() []GetLibraryItemsFilter { +func (o *GetLibraryItemsLibraryType) GetFilter() []GetLibraryItemsFilter { if o == nil { return nil } return o.Filter } -func (o *GetLibraryItemsType) GetSort() []GetLibraryItemsSort { +func (o *GetLibraryItemsLibraryType) GetSort() []GetLibraryItemsSort { if o == nil { return nil } return o.Sort } -func (o *GetLibraryItemsType) GetField() []GetLibraryItemsField { +func (o *GetLibraryItemsLibraryType) GetField() []GetLibraryItemsField { if o == nil { return nil } @@ -534,2016 +2323,72 @@ func (o *GetLibraryItemsFieldType) GetOperator() []GetLibraryItemsOperator { return o.Operator } -// GetLibraryItemsLibraryType - The type of media content in the Plex library. This can represent videos, music, or photos. -type GetLibraryItemsLibraryType string - -const ( - GetLibraryItemsLibraryTypeMovie GetLibraryItemsLibraryType = "movie" - GetLibraryItemsLibraryTypeTvShow GetLibraryItemsLibraryType = "show" - GetLibraryItemsLibraryTypeSeason GetLibraryItemsLibraryType = "season" - GetLibraryItemsLibraryTypeEpisode GetLibraryItemsLibraryType = "episode" - GetLibraryItemsLibraryTypeArtist GetLibraryItemsLibraryType = "artist" - GetLibraryItemsLibraryTypeAlbum GetLibraryItemsLibraryType = "album" - GetLibraryItemsLibraryTypeTrack GetLibraryItemsLibraryType = "track" - GetLibraryItemsLibraryTypePhotoAlbum GetLibraryItemsLibraryType = "photoalbum" - GetLibraryItemsLibraryTypePhoto GetLibraryItemsLibraryType = "photo" - GetLibraryItemsLibraryTypeCollection GetLibraryItemsLibraryType = "collection" -) - -func (e GetLibraryItemsLibraryType) ToPointer() *GetLibraryItemsLibraryType { - return &e -} - -// FlattenSeasons - Setting that indicates if seasons are set to hidden for the show. (-1 = Library default, 0 = Hide, 1 = Show). -type FlattenSeasons string - -const ( - FlattenSeasonsLibraryDefault FlattenSeasons = "-1" - FlattenSeasonsHide FlattenSeasons = "0" - FlattenSeasonsShow FlattenSeasons = "1" -) - -func (e FlattenSeasons) ToPointer() *FlattenSeasons { - return &e -} - -// EpisodeSort - Setting that indicates how episodes are sorted for the show. (-1 = Library default, 0 = Oldest first, 1 = Newest first). -type EpisodeSort string - -const ( - EpisodeSortLibraryDefault EpisodeSort = "-1" - EpisodeSortOldestFirst EpisodeSort = "0" - EpisodeSortNewestFirst EpisodeSort = "1" -) - -func (e EpisodeSort) ToPointer() *EpisodeSort { - return &e -} - -// EnableCreditsMarkerGeneration - Setting that indicates if credits markers detection is enabled. (-1 = Library default, 0 = Disabled). -type EnableCreditsMarkerGeneration string - -const ( - EnableCreditsMarkerGenerationLibraryDefault EnableCreditsMarkerGeneration = "-1" - EnableCreditsMarkerGenerationDisabled EnableCreditsMarkerGeneration = "0" -) - -func (e EnableCreditsMarkerGeneration) ToPointer() *EnableCreditsMarkerGeneration { - return &e -} - -// 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)). -type ShowOrdering string - -const ( - ShowOrderingNone ShowOrdering = "None" - ShowOrderingTmdbAiring ShowOrdering = "tmdbAiring" - ShowOrderingTvdbAired ShowOrdering = "aired" - ShowOrderingTvdbDvd ShowOrdering = "dvd" - ShowOrderingTvdbAbsolute ShowOrdering = "absolute" -) - -func (e ShowOrdering) ToPointer() *ShowOrdering { - return &e -} - -type GetLibraryItemsOptimizedForStreaming int - -const ( - GetLibraryItemsOptimizedForStreamingDisable GetLibraryItemsOptimizedForStreaming = 0 - GetLibraryItemsOptimizedForStreamingEnable GetLibraryItemsOptimizedForStreaming = 1 -) - -func (e GetLibraryItemsOptimizedForStreaming) ToPointer() *GetLibraryItemsOptimizedForStreaming { - return &e -} -func (e *GetLibraryItemsOptimizedForStreaming) UnmarshalJSON(data []byte) error { - var v int - if err := json.Unmarshal(data, &v); err != nil { - return err - } - switch v { - case 0: - fallthrough - case 1: - *e = GetLibraryItemsOptimizedForStreaming(v) - return nil - default: - return fmt.Errorf("invalid value for GetLibraryItemsOptimizedForStreaming: %v", v) - } -} - -type GetLibraryItemsHasThumbnail string - -const ( - GetLibraryItemsHasThumbnailFalse GetLibraryItemsHasThumbnail = "0" - GetLibraryItemsHasThumbnailTrue GetLibraryItemsHasThumbnail = "1" -) - -func (e GetLibraryItemsHasThumbnail) ToPointer() *GetLibraryItemsHasThumbnail { - return &e -} -func (e *GetLibraryItemsHasThumbnail) UnmarshalJSON(data []byte) error { - var v string - if err := json.Unmarshal(data, &v); err != nil { - return err - } - switch v { - case "0": - fallthrough - case "1": - *e = GetLibraryItemsHasThumbnail(v) - return nil - default: - return fmt.Errorf("invalid value for GetLibraryItemsHasThumbnail: %v", v) - } -} - -type GetLibraryItemsStream struct { - ID int64 `json:"id"` - // Type of stream (1 = video, 2 = audio, 3 = subtitle) - StreamType int64 `json:"streamType"` - // Indicates if this is the default stream - Default *bool `json:"default,omitempty"` - // Indicates if the stream is selected - Selected *bool `json:"selected,omitempty"` - // Codec used by the stream - Codec string `json:"codec"` - // The index of the stream - Index int64 `json:"index"` - // The bitrate of the stream in kbps - Bitrate *int64 `json:"bitrate,omitempty"` - // The color primaries of the video stream - ColorPrimaries *string `json:"colorPrimaries,omitempty"` - // The color range of the video stream - ColorRange *string `json:"colorRange,omitempty"` - // The color space of the video stream - ColorSpace *string `json:"colorSpace,omitempty"` - // The transfer characteristics (TRC) of the video stream - ColorTrc *string `json:"colorTrc,omitempty"` - // The bit depth of the video stream - BitDepth *int64 `json:"bitDepth,omitempty"` - // The chroma location of the video stream - ChromaLocation *string `json:"chromaLocation,omitempty"` - // The identifier of the video stream - StreamIdentifier *string `json:"streamIdentifier,omitempty"` - // The chroma subsampling format - ChromaSubsampling *string `json:"chromaSubsampling,omitempty"` - // The coded height of the video stream - CodedHeight *int64 `json:"codedHeight,omitempty"` - // The coded width of the video stream - CodedWidth *int64 `json:"codedWidth,omitempty"` - // The frame rate of the video stream - FrameRate *float64 `json:"frameRate,omitempty"` - // Indicates if the stream has a scaling matrix - HasScalingMatrix *bool `json:"hasScalingMatrix,omitempty"` - HearingImpaired *bool `json:"hearingImpaired,omitempty"` - ClosedCaptions *bool `json:"closedCaptions,omitempty"` - EmbeddedInVideo *string `json:"embeddedInVideo,omitempty"` - // The height of the video stream - Height *int64 `json:"height,omitempty"` - // The level of the video codec - Level *int64 `json:"level,omitempty"` - // The profile of the video codec - Profile *string `json:"profile,omitempty"` - // Number of reference frames - RefFrames *int64 `json:"refFrames,omitempty"` - // The scan type (progressive or interlaced) - ScanType *string `json:"scanType,omitempty"` - // The width of the video stream - Width *int64 `json:"width,omitempty"` - // Display title of the stream - DisplayTitle *string `json:"displayTitle,omitempty"` - // Extended display title of the stream - ExtendedDisplayTitle *string `json:"extendedDisplayTitle,omitempty"` - // Number of audio channels (for audio streams) - Channels *int64 `json:"channels,omitempty"` - // The language of the stream (for audio/subtitle streams) - Language *string `json:"language,omitempty"` - // Language tag of the stream - LanguageTag *string `json:"languageTag,omitempty"` - // Language code of the stream - LanguageCode *string `json:"languageCode,omitempty"` - // The audio channel layout - AudioChannelLayout *string `json:"audioChannelLayout,omitempty"` - // Sampling rate of the audio stream in Hz - SamplingRate *int64 `json:"samplingRate,omitempty"` - // Title of the subtitle track (for subtitle streams) - Title *string `json:"title,omitempty"` - // Indicates if the subtitle stream can auto-sync - CanAutoSync *bool `json:"canAutoSync,omitempty"` -} - -func (o *GetLibraryItemsStream) GetID() int64 { - if o == nil { - return 0 - } - return o.ID -} - -func (o *GetLibraryItemsStream) GetStreamType() int64 { - if o == nil { - return 0 - } - return o.StreamType -} - -func (o *GetLibraryItemsStream) GetDefault() *bool { - if o == nil { - return nil - } - return o.Default -} - -func (o *GetLibraryItemsStream) GetSelected() *bool { - if o == nil { - return nil - } - return o.Selected -} - -func (o *GetLibraryItemsStream) GetCodec() string { - if o == nil { - return "" - } - return o.Codec -} - -func (o *GetLibraryItemsStream) GetIndex() int64 { - if o == nil { - return 0 - } - return o.Index -} - -func (o *GetLibraryItemsStream) GetBitrate() *int64 { - if o == nil { - return nil - } - return o.Bitrate -} - -func (o *GetLibraryItemsStream) GetColorPrimaries() *string { - if o == nil { - return nil - } - return o.ColorPrimaries -} - -func (o *GetLibraryItemsStream) GetColorRange() *string { - if o == nil { - return nil - } - return o.ColorRange -} - -func (o *GetLibraryItemsStream) GetColorSpace() *string { - if o == nil { - return nil - } - return o.ColorSpace -} - -func (o *GetLibraryItemsStream) GetColorTrc() *string { - if o == nil { - return nil - } - return o.ColorTrc -} - -func (o *GetLibraryItemsStream) GetBitDepth() *int64 { - if o == nil { - return nil - } - return o.BitDepth -} - -func (o *GetLibraryItemsStream) GetChromaLocation() *string { - if o == nil { - return nil - } - return o.ChromaLocation -} - -func (o *GetLibraryItemsStream) GetStreamIdentifier() *string { - if o == nil { - return nil - } - return o.StreamIdentifier -} - -func (o *GetLibraryItemsStream) GetChromaSubsampling() *string { - if o == nil { - return nil - } - return o.ChromaSubsampling -} - -func (o *GetLibraryItemsStream) GetCodedHeight() *int64 { - if o == nil { - return nil - } - return o.CodedHeight -} - -func (o *GetLibraryItemsStream) GetCodedWidth() *int64 { - if o == nil { - return nil - } - return o.CodedWidth -} - -func (o *GetLibraryItemsStream) GetFrameRate() *float64 { - if o == nil { - return nil - } - return o.FrameRate -} - -func (o *GetLibraryItemsStream) GetHasScalingMatrix() *bool { - if o == nil { - return nil - } - return o.HasScalingMatrix -} - -func (o *GetLibraryItemsStream) GetHearingImpaired() *bool { - if o == nil { - return nil - } - return o.HearingImpaired -} - -func (o *GetLibraryItemsStream) GetClosedCaptions() *bool { - if o == nil { - return nil - } - return o.ClosedCaptions -} - -func (o *GetLibraryItemsStream) GetEmbeddedInVideo() *string { - if o == nil { - return nil - } - return o.EmbeddedInVideo -} - -func (o *GetLibraryItemsStream) GetHeight() *int64 { - if o == nil { - return nil - } - return o.Height -} - -func (o *GetLibraryItemsStream) GetLevel() *int64 { - if o == nil { - return nil - } - return o.Level -} - -func (o *GetLibraryItemsStream) GetProfile() *string { - if o == nil { - return nil - } - return o.Profile -} - -func (o *GetLibraryItemsStream) GetRefFrames() *int64 { - if o == nil { - return nil - } - return o.RefFrames -} - -func (o *GetLibraryItemsStream) GetScanType() *string { - if o == nil { - return nil - } - return o.ScanType -} - -func (o *GetLibraryItemsStream) GetWidth() *int64 { - if o == nil { - return nil - } - return o.Width -} - -func (o *GetLibraryItemsStream) GetDisplayTitle() *string { - if o == nil { - return nil - } - return o.DisplayTitle -} - -func (o *GetLibraryItemsStream) GetExtendedDisplayTitle() *string { - if o == nil { - return nil - } - return o.ExtendedDisplayTitle -} - -func (o *GetLibraryItemsStream) GetChannels() *int64 { - if o == nil { - return nil - } - return o.Channels -} - -func (o *GetLibraryItemsStream) GetLanguage() *string { - if o == nil { - return nil - } - return o.Language -} - -func (o *GetLibraryItemsStream) GetLanguageTag() *string { - if o == nil { - return nil - } - return o.LanguageTag -} - -func (o *GetLibraryItemsStream) GetLanguageCode() *string { - if o == nil { - return nil - } - return o.LanguageCode -} - -func (o *GetLibraryItemsStream) GetAudioChannelLayout() *string { - if o == nil { - return nil - } - return o.AudioChannelLayout -} - -func (o *GetLibraryItemsStream) GetSamplingRate() *int64 { - if o == nil { - return nil - } - return o.SamplingRate -} - -func (o *GetLibraryItemsStream) GetTitle() *string { - if o == nil { - return nil - } - return o.Title -} - -func (o *GetLibraryItemsStream) GetCanAutoSync() *bool { - if o == nil { - return nil - } - return o.CanAutoSync -} - -type GetLibraryItemsPart struct { - ID int `json:"id"` - Key string `json:"key"` - Duration *int `json:"duration,omitempty"` - File string `json:"file"` - Size int64 `json:"size"` - // The container format of the media file. - // - Container string `json:"container"` - AudioProfile *string `json:"audioProfile,omitempty"` - Has64bitOffsets *bool `json:"has64bitOffsets,omitempty"` - OptimizedForStreaming *bool `json:"optimizedForStreaming,omitempty"` - VideoProfile *string `json:"videoProfile,omitempty"` - Indexes *string `json:"indexes,omitempty"` - HasThumbnail *GetLibraryItemsHasThumbnail `default:"0" json:"hasThumbnail"` - Stream []GetLibraryItemsStream `json:"Stream,omitempty"` -} - -func (g GetLibraryItemsPart) MarshalJSON() ([]byte, error) { - return utils.MarshalJSON(g, "", false) -} - -func (g *GetLibraryItemsPart) UnmarshalJSON(data []byte) error { - if err := utils.UnmarshalJSON(data, &g, "", false, false); err != nil { - return err - } - return nil -} - -func (o *GetLibraryItemsPart) GetID() int { - if o == nil { - return 0 - } - return o.ID -} - -func (o *GetLibraryItemsPart) GetKey() string { - if o == nil { - return "" - } - return o.Key -} - -func (o *GetLibraryItemsPart) GetDuration() *int { - if o == nil { - return nil - } - return o.Duration -} - -func (o *GetLibraryItemsPart) GetFile() string { - if o == nil { - return "" - } - return o.File -} - -func (o *GetLibraryItemsPart) GetSize() int64 { - if o == nil { - return 0 - } - return o.Size -} - -func (o *GetLibraryItemsPart) GetContainer() string { - if o == nil { - return "" - } - return o.Container -} - -func (o *GetLibraryItemsPart) GetAudioProfile() *string { - if o == nil { - return nil - } - return o.AudioProfile -} - -func (o *GetLibraryItemsPart) GetHas64bitOffsets() *bool { - if o == nil { - return nil - } - return o.Has64bitOffsets -} - -func (o *GetLibraryItemsPart) GetOptimizedForStreaming() *bool { - if o == nil { - return nil - } - return o.OptimizedForStreaming -} - -func (o *GetLibraryItemsPart) GetVideoProfile() *string { - if o == nil { - return nil - } - return o.VideoProfile -} - -func (o *GetLibraryItemsPart) GetIndexes() *string { - if o == nil { - return nil - } - return o.Indexes -} - -func (o *GetLibraryItemsPart) GetHasThumbnail() *GetLibraryItemsHasThumbnail { - if o == nil { - return nil - } - return o.HasThumbnail -} - -func (o *GetLibraryItemsPart) GetStream() []GetLibraryItemsStream { - if o == nil { - return nil - } - return o.Stream -} - -type GetLibraryItemsMedia struct { - ID int `json:"id"` - Duration *int `json:"duration,omitempty"` - Bitrate *int `json:"bitrate,omitempty"` - Width *int `json:"width,omitempty"` - Height *int `json:"height,omitempty"` - AspectRatio *float64 `json:"aspectRatio,omitempty"` - AudioProfile *string `json:"audioProfile,omitempty"` - AudioChannels *int `json:"audioChannels,omitempty"` - AudioCodec *string `json:"audioCodec,omitempty"` - VideoCodec *string `json:"videoCodec,omitempty"` - VideoResolution *string `json:"videoResolution,omitempty"` - Container string `json:"container"` - VideoFrameRate *string `json:"videoFrameRate,omitempty"` - VideoProfile *string `json:"videoProfile,omitempty"` - HasVoiceActivity *bool `json:"hasVoiceActivity,omitempty"` - OptimizedForStreaming *GetLibraryItemsOptimizedForStreaming `default:"0" json:"optimizedForStreaming"` - Has64bitOffsets *bool `json:"has64bitOffsets,omitempty"` - Part []GetLibraryItemsPart `json:"Part"` -} - -func (g GetLibraryItemsMedia) MarshalJSON() ([]byte, error) { - return utils.MarshalJSON(g, "", false) -} - -func (g *GetLibraryItemsMedia) UnmarshalJSON(data []byte) error { - if err := utils.UnmarshalJSON(data, &g, "", false, false); err != nil { - return err - } - return nil -} - -func (o *GetLibraryItemsMedia) GetID() int { - if o == nil { - return 0 - } - return o.ID -} - -func (o *GetLibraryItemsMedia) GetDuration() *int { - if o == nil { - return nil - } - return o.Duration -} - -func (o *GetLibraryItemsMedia) GetBitrate() *int { - if o == nil { - return nil - } - return o.Bitrate -} - -func (o *GetLibraryItemsMedia) GetWidth() *int { - if o == nil { - return nil - } - return o.Width -} - -func (o *GetLibraryItemsMedia) GetHeight() *int { - if o == nil { - return nil - } - return o.Height -} - -func (o *GetLibraryItemsMedia) GetAspectRatio() *float64 { - if o == nil { - return nil - } - return o.AspectRatio -} - -func (o *GetLibraryItemsMedia) GetAudioProfile() *string { - if o == nil { - return nil - } - return o.AudioProfile -} - -func (o *GetLibraryItemsMedia) GetAudioChannels() *int { - if o == nil { - return nil - } - return o.AudioChannels -} - -func (o *GetLibraryItemsMedia) GetAudioCodec() *string { - if o == nil { - return nil - } - return o.AudioCodec -} - -func (o *GetLibraryItemsMedia) GetVideoCodec() *string { - if o == nil { - return nil - } - return o.VideoCodec -} - -func (o *GetLibraryItemsMedia) GetVideoResolution() *string { - if o == nil { - return nil - } - return o.VideoResolution -} - -func (o *GetLibraryItemsMedia) GetContainer() string { - if o == nil { - return "" - } - return o.Container -} - -func (o *GetLibraryItemsMedia) GetVideoFrameRate() *string { - if o == nil { - return nil - } - return o.VideoFrameRate -} - -func (o *GetLibraryItemsMedia) GetVideoProfile() *string { - if o == nil { - return nil - } - return o.VideoProfile -} - -func (o *GetLibraryItemsMedia) GetHasVoiceActivity() *bool { - if o == nil { - return nil - } - return o.HasVoiceActivity -} - -func (o *GetLibraryItemsMedia) GetOptimizedForStreaming() *GetLibraryItemsOptimizedForStreaming { - if o == nil { - return nil - } - return o.OptimizedForStreaming -} - -func (o *GetLibraryItemsMedia) GetHas64bitOffsets() *bool { - if o == nil { - return nil - } - return o.Has64bitOffsets -} - -func (o *GetLibraryItemsMedia) GetPart() []GetLibraryItemsPart { - if o == nil { - return []GetLibraryItemsPart{} - } - return o.Part -} - -type GetLibraryItemsGenre struct { - Tag *string `json:"tag,omitempty"` -} - -func (o *GetLibraryItemsGenre) GetTag() *string { - if o == nil { - return nil - } - return o.Tag -} - -type GetLibraryItemsCountry struct { - Tag *string `json:"tag,omitempty"` -} - -func (o *GetLibraryItemsCountry) GetTag() *string { - if o == nil { - return nil - } - return o.Tag -} - -type GetLibraryItemsDirector struct { - Tag *string `json:"tag,omitempty"` -} - -func (o *GetLibraryItemsDirector) GetTag() *string { - if o == nil { - return nil - } - return o.Tag -} - -type GetLibraryItemsWriter struct { - Tag *string `json:"tag,omitempty"` -} - -func (o *GetLibraryItemsWriter) GetTag() *string { - if o == nil { - return nil - } - return o.Tag -} - -type GetLibraryItemsCollection struct { - Tag *string `json:"tag,omitempty"` -} - -func (o *GetLibraryItemsCollection) GetTag() *string { - if o == nil { - return nil - } - return o.Tag -} - -type GetLibraryItemsRole struct { - // The ID of the tag or actor. - ID *int64 `json:"id,omitempty"` - // The filter used to find the actor or tag. - Filter *string `json:"filter,omitempty"` - // The thumbnail of the actor - Thumb *string `json:"thumb,omitempty"` - // The name of the tag or actor. - Tag *string `json:"tag,omitempty"` - // Unique identifier for the tag. - TagKey *string `json:"tagKey,omitempty"` - // The role of the actor or tag in the media. - Role *string `json:"role,omitempty"` -} - -func (o *GetLibraryItemsRole) GetID() *int64 { - if o == nil { - return nil - } - return o.ID -} - -func (o *GetLibraryItemsRole) GetFilter() *string { - if o == nil { - return nil - } - return o.Filter -} - -func (o *GetLibraryItemsRole) GetThumb() *string { - if o == nil { - return nil - } - return o.Thumb -} - -func (o *GetLibraryItemsRole) GetTag() *string { - if o == nil { - return nil - } - return o.Tag -} - -func (o *GetLibraryItemsRole) GetTagKey() *string { - if o == nil { - return nil - } - return o.TagKey -} - -func (o *GetLibraryItemsRole) GetRole() *string { - if o == nil { - return nil - } - return o.Role -} - -type GetLibraryItemsLocation struct { - Path *string `json:"path,omitempty"` -} - -func (o *GetLibraryItemsLocation) GetPath() *string { - if o == nil { - return nil - } - return o.Path -} - -type MediaGUID struct { - // Can be one of the following formats: - // imdb://tt13015952, tmdb://2434012, tvdb://7945991 - // - ID string `json:"id"` -} - -func (o *MediaGUID) GetID() string { - if o == nil { - return "" - } - return o.ID -} - -type GetLibraryItemsUltraBlurColors struct { - TopLeft string `json:"topLeft"` - TopRight string `json:"topRight"` - BottomRight string `json:"bottomRight"` - BottomLeft string `json:"bottomLeft"` -} - -func (o *GetLibraryItemsUltraBlurColors) GetTopLeft() string { - if o == nil { - return "" - } - return o.TopLeft -} - -func (o *GetLibraryItemsUltraBlurColors) GetTopRight() string { - if o == nil { - return "" - } - return o.TopRight -} - -func (o *GetLibraryItemsUltraBlurColors) GetBottomRight() string { - if o == nil { - return "" - } - return o.BottomRight -} - -func (o *GetLibraryItemsUltraBlurColors) GetBottomLeft() string { - if o == nil { - return "" - } - return o.BottomLeft -} - -type MetaDataRating struct { - // A URI or path to the rating image. - Image string `json:"image"` - // The value of the rating. - Value float32 `json:"value"` - // The type of rating (e.g., audience, critic). - Type string `json:"type"` -} - -func (o *MetaDataRating) GetImage() string { - if o == nil { - return "" - } - return o.Image -} - -func (o *MetaDataRating) GetValue() float32 { - if o == nil { - return 0.0 - } - return o.Value -} - -func (o *MetaDataRating) GetType() string { - if o == nil { - return "" - } - return o.Type -} - -type GetLibraryItemsLibraryResponse200Type string - -const ( - GetLibraryItemsLibraryResponse200TypeCoverPoster GetLibraryItemsLibraryResponse200Type = "coverPoster" - GetLibraryItemsLibraryResponse200TypeBackground GetLibraryItemsLibraryResponse200Type = "background" - GetLibraryItemsLibraryResponse200TypeSnapshot GetLibraryItemsLibraryResponse200Type = "snapshot" - GetLibraryItemsLibraryResponse200TypeClearLogo GetLibraryItemsLibraryResponse200Type = "clearLogo" -) - -func (e GetLibraryItemsLibraryResponse200Type) ToPointer() *GetLibraryItemsLibraryResponse200Type { - return &e -} - -type GetLibraryItemsImage struct { - Alt string `json:"alt"` - Type GetLibraryItemsLibraryResponse200Type `json:"type"` - URL string `json:"url"` -} - -func (o *GetLibraryItemsImage) GetAlt() string { - if o == nil { - return "" - } - return o.Alt -} - -func (o *GetLibraryItemsImage) GetType() GetLibraryItemsLibraryResponse200Type { - if o == nil { - return GetLibraryItemsLibraryResponse200Type("") - } - return o.Type -} - -func (o *GetLibraryItemsImage) GetURL() string { - if o == nil { - return "" - } - return o.URL -} - -type GetLibraryItemsMetadata struct { - // The rating key (Media ID) of this media item. - // Note: This is always an integer, but is represented as a string in the API. - // - RatingKey string `json:"ratingKey"` - Key string `json:"key"` - GUID string `json:"guid"` - Studio *string `json:"studio,omitempty"` - SkipChildren *bool `json:"skipChildren,omitempty"` - LibrarySectionID *int64 `json:"librarySectionID,omitempty"` - LibrarySectionTitle *string `json:"librarySectionTitle,omitempty"` - LibrarySectionKey *string `json:"librarySectionKey,omitempty"` - // The type of media content in the Plex library. This can represent videos, music, or photos. - // - Type GetLibraryItemsLibraryType `json:"type"` - Title string `json:"title"` - Slug *string `json:"slug,omitempty"` - ContentRating *string `json:"contentRating,omitempty"` - Summary string `json:"summary"` - Rating *float64 `json:"rating,omitempty"` - AudienceRating *float64 `json:"audienceRating,omitempty"` - Year *int `json:"year,omitempty"` - SeasonCount *int `json:"seasonCount,omitempty"` - Tagline *string `json:"tagline,omitempty"` - // Setting that indicates if seasons are set to hidden for the show. (-1 = Library default, 0 = Hide, 1 = Show). - FlattenSeasons *FlattenSeasons `json:"flattenSeasons,omitempty"` - // Setting that indicates how episodes are sorted for the show. (-1 = Library default, 0 = Oldest first, 1 = Newest first). - EpisodeSort *EpisodeSort `json:"episodeSort,omitempty"` - // Setting that indicates if credits markers detection is enabled. (-1 = Library default, 0 = Disabled). - EnableCreditsMarkerGeneration *EnableCreditsMarkerGeneration `json:"enableCreditsMarkerGeneration,omitempty"` - // 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)). - // - ShowOrdering *ShowOrdering `json:"showOrdering,omitempty"` - Thumb *string `json:"thumb,omitempty"` - Art *string `json:"art,omitempty"` - Banner *string `json:"banner,omitempty"` - Duration *int `json:"duration,omitempty"` - OriginallyAvailableAt *types.Date `json:"originallyAvailableAt,omitempty"` - // Unix epoch datetime in seconds - AddedAt int64 `json:"addedAt"` - // Unix epoch datetime in seconds - UpdatedAt *int64 `json:"updatedAt,omitempty"` - AudienceRatingImage *string `json:"audienceRatingImage,omitempty"` - ChapterSource *string `json:"chapterSource,omitempty"` - PrimaryExtraKey *string `json:"primaryExtraKey,omitempty"` - RatingImage *string `json:"ratingImage,omitempty"` - GrandparentRatingKey *string `json:"grandparentRatingKey,omitempty"` - GrandparentGUID *string `json:"grandparentGuid,omitempty"` - GrandparentKey *string `json:"grandparentKey,omitempty"` - GrandparentTitle *string `json:"grandparentTitle,omitempty"` - GrandparentThumb *string `json:"grandparentThumb,omitempty"` - ParentSlug *string `json:"parentSlug,omitempty"` - GrandparentSlug *string `json:"grandparentSlug,omitempty"` - GrandparentArt *string `json:"grandparentArt,omitempty"` - GrandparentTheme *string `json:"grandparentTheme,omitempty"` - // The Media object is only included when type query is `4` or higher. - // - Media []GetLibraryItemsMedia `json:"Media,omitempty"` - Genre []GetLibraryItemsGenre `json:"Genre,omitempty"` - Country []GetLibraryItemsCountry `json:"Country,omitempty"` - Director []GetLibraryItemsDirector `json:"Director,omitempty"` - Writer []GetLibraryItemsWriter `json:"Writer,omitempty"` - Collection []GetLibraryItemsCollection `json:"Collection,omitempty"` - Role []GetLibraryItemsRole `json:"Role,omitempty"` - Location []GetLibraryItemsLocation `json:"Location,omitempty"` - // The Guid object is only included in the response if the `includeGuids` parameter is set to `1`. - // - MediaGUID []MediaGUID `json:"Guid,omitempty"` - UltraBlurColors *GetLibraryItemsUltraBlurColors `json:"UltraBlurColors,omitempty"` - MetaDataRating []MetaDataRating `json:"Rating,omitempty"` - Image []GetLibraryItemsImage `json:"Image,omitempty"` - TitleSort *string `json:"titleSort,omitempty"` - ViewCount *int `json:"viewCount,omitempty"` - LastViewedAt *int `json:"lastViewedAt,omitempty"` - OriginalTitle *string `json:"originalTitle,omitempty"` - ViewOffset *int `json:"viewOffset,omitempty"` - SkipCount *int `json:"skipCount,omitempty"` - Index *int `json:"index,omitempty"` - Theme *string `json:"theme,omitempty"` - LeafCount *int `json:"leafCount,omitempty"` - ViewedLeafCount *int `json:"viewedLeafCount,omitempty"` - ChildCount *int `json:"childCount,omitempty"` - HasPremiumExtras *string `json:"hasPremiumExtras,omitempty"` - HasPremiumPrimaryExtra *string `json:"hasPremiumPrimaryExtra,omitempty"` - // The rating key of the parent item. - // - ParentRatingKey *string `json:"parentRatingKey,omitempty"` - ParentGUID *string `json:"parentGuid,omitempty"` - ParentStudio *string `json:"parentStudio,omitempty"` - ParentKey *string `json:"parentKey,omitempty"` - ParentTitle *string `json:"parentTitle,omitempty"` - ParentIndex *int `json:"parentIndex,omitempty"` - ParentYear *int `json:"parentYear,omitempty"` - ParentThumb *string `json:"parentThumb,omitempty"` - ParentTheme *string `json:"parentTheme,omitempty"` -} - -func (g GetLibraryItemsMetadata) MarshalJSON() ([]byte, error) { - return utils.MarshalJSON(g, "", false) -} - -func (g *GetLibraryItemsMetadata) UnmarshalJSON(data []byte) error { - if err := utils.UnmarshalJSON(data, &g, "", false, false); err != nil { - return err - } - return nil -} - -func (o *GetLibraryItemsMetadata) GetRatingKey() string { - if o == nil { - return "" - } - return o.RatingKey -} - -func (o *GetLibraryItemsMetadata) GetKey() string { - if o == nil { - return "" - } - return o.Key -} - -func (o *GetLibraryItemsMetadata) GetGUID() string { - if o == nil { - return "" - } - return o.GUID -} - -func (o *GetLibraryItemsMetadata) GetStudio() *string { - if o == nil { - return nil - } - return o.Studio -} - -func (o *GetLibraryItemsMetadata) GetSkipChildren() *bool { - if o == nil { - return nil - } - return o.SkipChildren -} - -func (o *GetLibraryItemsMetadata) GetLibrarySectionID() *int64 { - if o == nil { - return nil - } - return o.LibrarySectionID -} - -func (o *GetLibraryItemsMetadata) GetLibrarySectionTitle() *string { - if o == nil { - return nil - } - return o.LibrarySectionTitle -} - -func (o *GetLibraryItemsMetadata) GetLibrarySectionKey() *string { - if o == nil { - return nil - } - return o.LibrarySectionKey -} - -func (o *GetLibraryItemsMetadata) GetType() GetLibraryItemsLibraryType { - if o == nil { - return GetLibraryItemsLibraryType("") - } - return o.Type -} - -func (o *GetLibraryItemsMetadata) GetTitle() string { - if o == nil { - return "" - } - return o.Title -} - -func (o *GetLibraryItemsMetadata) GetSlug() *string { - if o == nil { - return nil - } - return o.Slug -} - -func (o *GetLibraryItemsMetadata) GetContentRating() *string { - if o == nil { - return nil - } - return o.ContentRating -} - -func (o *GetLibraryItemsMetadata) GetSummary() string { - if o == nil { - return "" - } - return o.Summary -} - -func (o *GetLibraryItemsMetadata) GetRating() *float64 { - if o == nil { - return nil - } - return o.Rating -} - -func (o *GetLibraryItemsMetadata) GetAudienceRating() *float64 { - if o == nil { - return nil - } - return o.AudienceRating -} - -func (o *GetLibraryItemsMetadata) GetYear() *int { - if o == nil { - return nil - } - return o.Year -} - -func (o *GetLibraryItemsMetadata) GetSeasonCount() *int { - if o == nil { - return nil - } - return o.SeasonCount -} - -func (o *GetLibraryItemsMetadata) GetTagline() *string { - if o == nil { - return nil - } - return o.Tagline -} - -func (o *GetLibraryItemsMetadata) GetFlattenSeasons() *FlattenSeasons { - if o == nil { - return nil - } - return o.FlattenSeasons -} - -func (o *GetLibraryItemsMetadata) GetEpisodeSort() *EpisodeSort { - if o == nil { - return nil - } - return o.EpisodeSort -} - -func (o *GetLibraryItemsMetadata) GetEnableCreditsMarkerGeneration() *EnableCreditsMarkerGeneration { - if o == nil { - return nil - } - return o.EnableCreditsMarkerGeneration -} - -func (o *GetLibraryItemsMetadata) GetShowOrdering() *ShowOrdering { - if o == nil { - return nil - } - return o.ShowOrdering -} - -func (o *GetLibraryItemsMetadata) GetThumb() *string { - if o == nil { - return nil - } - return o.Thumb -} - -func (o *GetLibraryItemsMetadata) GetArt() *string { - if o == nil { - return nil - } - return o.Art -} - -func (o *GetLibraryItemsMetadata) GetBanner() *string { - if o == nil { - return nil - } - return o.Banner -} - -func (o *GetLibraryItemsMetadata) GetDuration() *int { - if o == nil { - return nil - } - return o.Duration -} - -func (o *GetLibraryItemsMetadata) GetOriginallyAvailableAt() *types.Date { - if o == nil { - return nil - } - return o.OriginallyAvailableAt -} - -func (o *GetLibraryItemsMetadata) GetAddedAt() int64 { - if o == nil { - return 0 - } - return o.AddedAt -} - -func (o *GetLibraryItemsMetadata) GetUpdatedAt() *int64 { - if o == nil { - return nil - } - return o.UpdatedAt -} - -func (o *GetLibraryItemsMetadata) GetAudienceRatingImage() *string { - if o == nil { - return nil - } - return o.AudienceRatingImage -} - -func (o *GetLibraryItemsMetadata) GetChapterSource() *string { - if o == nil { - return nil - } - return o.ChapterSource -} - -func (o *GetLibraryItemsMetadata) GetPrimaryExtraKey() *string { - if o == nil { - return nil - } - return o.PrimaryExtraKey -} - -func (o *GetLibraryItemsMetadata) GetRatingImage() *string { - if o == nil { - return nil - } - return o.RatingImage -} - -func (o *GetLibraryItemsMetadata) GetGrandparentRatingKey() *string { - if o == nil { - return nil - } - return o.GrandparentRatingKey -} - -func (o *GetLibraryItemsMetadata) GetGrandparentGUID() *string { - if o == nil { - return nil - } - return o.GrandparentGUID -} - -func (o *GetLibraryItemsMetadata) GetGrandparentKey() *string { - if o == nil { - return nil - } - return o.GrandparentKey -} - -func (o *GetLibraryItemsMetadata) GetGrandparentTitle() *string { - if o == nil { - return nil - } - return o.GrandparentTitle -} - -func (o *GetLibraryItemsMetadata) GetGrandparentThumb() *string { - if o == nil { - return nil - } - return o.GrandparentThumb -} - -func (o *GetLibraryItemsMetadata) GetParentSlug() *string { - if o == nil { - return nil - } - return o.ParentSlug -} - -func (o *GetLibraryItemsMetadata) GetGrandparentSlug() *string { - if o == nil { - return nil - } - return o.GrandparentSlug -} - -func (o *GetLibraryItemsMetadata) GetGrandparentArt() *string { - if o == nil { - return nil - } - return o.GrandparentArt -} - -func (o *GetLibraryItemsMetadata) GetGrandparentTheme() *string { - if o == nil { - return nil - } - return o.GrandparentTheme -} - -func (o *GetLibraryItemsMetadata) GetMedia() []GetLibraryItemsMedia { - if o == nil { - return nil - } - return o.Media -} - -func (o *GetLibraryItemsMetadata) GetGenre() []GetLibraryItemsGenre { - if o == nil { - return nil - } - return o.Genre -} - -func (o *GetLibraryItemsMetadata) GetCountry() []GetLibraryItemsCountry { - if o == nil { - return nil - } - return o.Country -} - -func (o *GetLibraryItemsMetadata) GetDirector() []GetLibraryItemsDirector { - if o == nil { - return nil - } - return o.Director -} - -func (o *GetLibraryItemsMetadata) GetWriter() []GetLibraryItemsWriter { - if o == nil { - return nil - } - return o.Writer -} - -func (o *GetLibraryItemsMetadata) GetCollection() []GetLibraryItemsCollection { - if o == nil { - return nil - } - return o.Collection -} - -func (o *GetLibraryItemsMetadata) GetRole() []GetLibraryItemsRole { - if o == nil { - return nil - } - return o.Role -} - -func (o *GetLibraryItemsMetadata) GetLocation() []GetLibraryItemsLocation { - if o == nil { - return nil - } - return o.Location -} - -func (o *GetLibraryItemsMetadata) GetMediaGUID() []MediaGUID { - if o == nil { - return nil - } - return o.MediaGUID -} - -func (o *GetLibraryItemsMetadata) GetUltraBlurColors() *GetLibraryItemsUltraBlurColors { - if o == nil { - return nil - } - return o.UltraBlurColors -} - -func (o *GetLibraryItemsMetadata) GetMetaDataRating() []MetaDataRating { - if o == nil { - return nil - } - return o.MetaDataRating -} - -func (o *GetLibraryItemsMetadata) GetImage() []GetLibraryItemsImage { - if o == nil { - return nil - } - return o.Image -} - -func (o *GetLibraryItemsMetadata) GetTitleSort() *string { - if o == nil { - return nil - } - return o.TitleSort -} - -func (o *GetLibraryItemsMetadata) GetViewCount() *int { - if o == nil { - return nil - } - return o.ViewCount -} - -func (o *GetLibraryItemsMetadata) GetLastViewedAt() *int { - if o == nil { - return nil - } - return o.LastViewedAt -} - -func (o *GetLibraryItemsMetadata) GetOriginalTitle() *string { - if o == nil { - return nil - } - return o.OriginalTitle -} - -func (o *GetLibraryItemsMetadata) GetViewOffset() *int { - if o == nil { - return nil - } - return o.ViewOffset -} - -func (o *GetLibraryItemsMetadata) GetSkipCount() *int { - if o == nil { - return nil - } - return o.SkipCount -} - -func (o *GetLibraryItemsMetadata) GetIndex() *int { - if o == nil { - return nil - } - return o.Index -} - -func (o *GetLibraryItemsMetadata) GetTheme() *string { - if o == nil { - return nil - } - return o.Theme -} - -func (o *GetLibraryItemsMetadata) GetLeafCount() *int { - if o == nil { - return nil - } - return o.LeafCount -} - -func (o *GetLibraryItemsMetadata) GetViewedLeafCount() *int { - if o == nil { - return nil - } - return o.ViewedLeafCount -} - -func (o *GetLibraryItemsMetadata) GetChildCount() *int { - if o == nil { - return nil - } - return o.ChildCount -} - -func (o *GetLibraryItemsMetadata) GetHasPremiumExtras() *string { - if o == nil { - return nil - } - return o.HasPremiumExtras -} - -func (o *GetLibraryItemsMetadata) GetHasPremiumPrimaryExtra() *string { - if o == nil { - return nil - } - return o.HasPremiumPrimaryExtra -} - -func (o *GetLibraryItemsMetadata) GetParentRatingKey() *string { - if o == nil { - return nil - } - return o.ParentRatingKey -} - -func (o *GetLibraryItemsMetadata) GetParentGUID() *string { - if o == nil { - return nil - } - return o.ParentGUID -} - -func (o *GetLibraryItemsMetadata) GetParentStudio() *string { - if o == nil { - return nil - } - return o.ParentStudio -} - -func (o *GetLibraryItemsMetadata) GetParentKey() *string { - if o == nil { - return nil - } - return o.ParentKey -} - -func (o *GetLibraryItemsMetadata) GetParentTitle() *string { - if o == nil { - return nil - } - return o.ParentTitle -} - -func (o *GetLibraryItemsMetadata) GetParentIndex() *int { - if o == nil { - return nil - } - return o.ParentIndex -} - -func (o *GetLibraryItemsMetadata) GetParentYear() *int { - if o == nil { - return nil - } - return o.ParentYear -} - -func (o *GetLibraryItemsMetadata) GetParentThumb() *string { - if o == nil { - return nil - } - return o.ParentThumb -} - -func (o *GetLibraryItemsMetadata) GetParentTheme() *string { - if o == nil { - return nil - } - return o.ParentTheme -} - -type GetLibraryItemsLibraryFilter struct { - Filter string `json:"filter"` - FilterType string `json:"filterType"` - Key string `json:"key"` - Title string `json:"title"` - Type string `json:"type"` -} - -func (o *GetLibraryItemsLibraryFilter) GetFilter() string { - if o == nil { - return "" - } - return o.Filter -} - -func (o *GetLibraryItemsLibraryFilter) GetFilterType() string { - if o == nil { - return "" - } - return o.FilterType -} - -func (o *GetLibraryItemsLibraryFilter) GetKey() string { - if o == nil { - return "" - } - return o.Key -} - -func (o *GetLibraryItemsLibraryFilter) GetTitle() string { - if o == nil { - return "" - } - return o.Title -} - -func (o *GetLibraryItemsLibraryFilter) GetType() string { - if o == nil { - return "" - } - return o.Type -} - -// GetLibraryItemsLibraryActiveDirection - The direction of the sort. Can be either `asc` or `desc`. -type GetLibraryItemsLibraryActiveDirection string - -const ( - GetLibraryItemsLibraryActiveDirectionAscending GetLibraryItemsLibraryActiveDirection = "asc" - GetLibraryItemsLibraryActiveDirectionDescending GetLibraryItemsLibraryActiveDirection = "desc" -) - -func (e GetLibraryItemsLibraryActiveDirection) ToPointer() *GetLibraryItemsLibraryActiveDirection { - return &e -} -func (e *GetLibraryItemsLibraryActiveDirection) UnmarshalJSON(data []byte) error { - var v string - if err := json.Unmarshal(data, &v); err != nil { - return err - } - switch v { - case "asc": - fallthrough - case "desc": - *e = GetLibraryItemsLibraryActiveDirection(v) - return nil - default: - return fmt.Errorf("invalid value for GetLibraryItemsLibraryActiveDirection: %v", v) - } -} - -// GetLibraryItemsLibraryDefaultDirection - The direction of the sort. Can be either `asc` or `desc`. -type GetLibraryItemsLibraryDefaultDirection string - -const ( - GetLibraryItemsLibraryDefaultDirectionAscending GetLibraryItemsLibraryDefaultDirection = "asc" - GetLibraryItemsLibraryDefaultDirectionDescending GetLibraryItemsLibraryDefaultDirection = "desc" -) - -func (e GetLibraryItemsLibraryDefaultDirection) ToPointer() *GetLibraryItemsLibraryDefaultDirection { - return &e -} -func (e *GetLibraryItemsLibraryDefaultDirection) UnmarshalJSON(data []byte) error { - var v string - if err := json.Unmarshal(data, &v); err != nil { - return err - } - switch v { - case "asc": - fallthrough - case "desc": - *e = GetLibraryItemsLibraryDefaultDirection(v) - return nil - default: - return fmt.Errorf("invalid value for GetLibraryItemsLibraryDefaultDirection: %v", v) - } -} - -type GetLibraryItemsLibrarySort struct { - Default *string `json:"default,omitempty"` - Active *bool `json:"active,omitempty"` - // The direction of the sort. Can be either `asc` or `desc`. - // - ActiveDirection *GetLibraryItemsLibraryActiveDirection `default:"asc" json:"activeDirection"` - // The direction of the sort. Can be either `asc` or `desc`. - // - DefaultDirection *GetLibraryItemsLibraryDefaultDirection `default:"asc" json:"defaultDirection"` - DescKey *string `json:"descKey,omitempty"` - FirstCharacterKey *string `json:"firstCharacterKey,omitempty"` - Key string `json:"key"` - Title string `json:"title"` -} - -func (g GetLibraryItemsLibrarySort) MarshalJSON() ([]byte, error) { - return utils.MarshalJSON(g, "", false) -} - -func (g *GetLibraryItemsLibrarySort) UnmarshalJSON(data []byte) error { - if err := utils.UnmarshalJSON(data, &g, "", false, false); err != nil { - return err - } - return nil -} - -func (o *GetLibraryItemsLibrarySort) GetDefault() *string { - if o == nil { - return nil - } - return o.Default -} - -func (o *GetLibraryItemsLibrarySort) GetActive() *bool { - if o == nil { - return nil - } - return o.Active -} - -func (o *GetLibraryItemsLibrarySort) GetActiveDirection() *GetLibraryItemsLibraryActiveDirection { - if o == nil { - return nil - } - return o.ActiveDirection -} - -func (o *GetLibraryItemsLibrarySort) GetDefaultDirection() *GetLibraryItemsLibraryDefaultDirection { - if o == nil { - return nil - } - return o.DefaultDirection -} - -func (o *GetLibraryItemsLibrarySort) GetDescKey() *string { - if o == nil { - return nil - } - return o.DescKey -} - -func (o *GetLibraryItemsLibrarySort) GetFirstCharacterKey() *string { - if o == nil { - return nil - } - return o.FirstCharacterKey -} - -func (o *GetLibraryItemsLibrarySort) GetKey() string { - if o == nil { - return "" - } - return o.Key -} - -func (o *GetLibraryItemsLibrarySort) GetTitle() string { - if o == nil { - return "" - } - return o.Title -} - -type GetLibraryItemsLibraryField struct { - Key string `json:"key"` - Title string `json:"title"` - Type string `json:"type"` - SubType *string `json:"subType,omitempty"` -} - -func (o *GetLibraryItemsLibraryField) GetKey() string { - if o == nil { - return "" - } - return o.Key -} - -func (o *GetLibraryItemsLibraryField) GetTitle() string { - if o == nil { - return "" - } - return o.Title -} - -func (o *GetLibraryItemsLibraryField) GetType() string { - if o == nil { - return "" - } - return o.Type -} - -func (o *GetLibraryItemsLibraryField) GetSubType() *string { - if o == nil { - return nil - } - return o.SubType -} - -type GetLibraryItemsLibraryResponseType struct { - Key string `json:"key"` - Type string `json:"type"` - Title string `json:"title"` - Active bool `json:"active"` - Filter []GetLibraryItemsLibraryFilter `json:"Filter,omitempty"` - Sort []GetLibraryItemsLibrarySort `json:"Sort,omitempty"` - Field []GetLibraryItemsLibraryField `json:"Field,omitempty"` -} - -func (o *GetLibraryItemsLibraryResponseType) GetKey() string { - if o == nil { - return "" - } - return o.Key -} - -func (o *GetLibraryItemsLibraryResponseType) GetType() string { - if o == nil { - return "" - } - return o.Type -} - -func (o *GetLibraryItemsLibraryResponseType) GetTitle() string { - if o == nil { - return "" - } - return o.Title -} - -func (o *GetLibraryItemsLibraryResponseType) GetActive() bool { - if o == nil { - return false - } - return o.Active -} - -func (o *GetLibraryItemsLibraryResponseType) GetFilter() []GetLibraryItemsLibraryFilter { - if o == nil { - return nil - } - return o.Filter -} - -func (o *GetLibraryItemsLibraryResponseType) GetSort() []GetLibraryItemsLibrarySort { - if o == nil { - return nil - } - return o.Sort -} - -func (o *GetLibraryItemsLibraryResponseType) GetField() []GetLibraryItemsLibraryField { - if o == nil { - return nil - } - return o.Field -} - -type GetLibraryItemsLibraryOperator struct { - Key string `json:"key"` - Title string `json:"title"` -} - -func (o *GetLibraryItemsLibraryOperator) GetKey() string { - if o == nil { - return "" - } - return o.Key -} - -func (o *GetLibraryItemsLibraryOperator) GetTitle() string { - if o == nil { - return "" - } - return o.Title -} - -type GetLibraryItemsLibraryFieldType struct { - Type string `json:"type"` - Operator []GetLibraryItemsLibraryOperator `json:"Operator"` -} - -func (o *GetLibraryItemsLibraryFieldType) GetType() string { - if o == nil { - return "" - } - return o.Type -} - -func (o *GetLibraryItemsLibraryFieldType) GetOperator() []GetLibraryItemsLibraryOperator { - if o == nil { - return []GetLibraryItemsLibraryOperator{} - } - return o.Operator -} - // GetLibraryItemsMeta - The Meta object is only included in the response if the `includeMeta` parameter is set to `1`. type GetLibraryItemsMeta struct { - Type []GetLibraryItemsLibraryResponseType `json:"Type,omitempty"` - FieldType []GetLibraryItemsLibraryFieldType `json:"FieldType,omitempty"` + Type []GetLibraryItemsLibraryType `json:"Type,omitempty"` + FieldType []GetLibraryItemsFieldType `json:"FieldType,omitempty"` } -func (o *GetLibraryItemsMeta) GetType() []GetLibraryItemsLibraryResponseType { +func (o *GetLibraryItemsMeta) GetType() []GetLibraryItemsLibraryType { if o == nil { return nil } return o.Type } -func (o *GetLibraryItemsMeta) GetFieldType() []GetLibraryItemsLibraryFieldType { +func (o *GetLibraryItemsMeta) GetFieldType() []GetLibraryItemsFieldType { if o == nil { return nil } return o.FieldType } -// GetLibraryItemsMediaContainer - The Meta object is only included in the response if the `includeMeta` parameter is set to `1`. type GetLibraryItemsMediaContainer struct { - Type []GetLibraryItemsType `json:"Type,omitempty"` - FieldType []GetLibraryItemsFieldType `json:"FieldType,omitempty"` - Size int `json:"size"` - TotalSize int `json:"totalSize"` - Offset int `json:"offset"` - Content string `json:"content"` - AllowSync bool `json:"allowSync"` - Nocache *bool `json:"nocache,omitempty"` - Art string `json:"art"` - Identifier string `json:"identifier"` - LibrarySectionID int64 `json:"librarySectionID"` - LibrarySectionTitle string `json:"librarySectionTitle"` - LibrarySectionUUID string `json:"librarySectionUUID"` - MediaTagPrefix string `json:"mediaTagPrefix"` - MediaTagVersion int `json:"mediaTagVersion"` - Thumb string `json:"thumb"` - Title1 string `json:"title1"` - Title2 string `json:"title2"` - ViewGroup string `json:"viewGroup"` - ViewMode *int `json:"viewMode,omitempty"` - MixedParents *bool `json:"mixedParents,omitempty"` - Metadata []GetLibraryItemsMetadata `json:"Metadata,omitempty"` + // Number of media items returned in this response. + Size int `json:"size"` + // Total number of media items in the library. + TotalSize int `json:"totalSize"` + // Offset value for pagination. + Offset int64 `json:"offset"` + // The content type or mode. + Content string `json:"content"` + // Indicates whether syncing is allowed. + AllowSync bool `json:"allowSync"` + // Specifies whether caching is disabled. + Nocache bool `json:"nocache"` + // URL for the background artwork of the media container. + Art string `json:"art"` + // An plugin identifier for the media container. + Identifier string `json:"identifier"` + // The unique identifier for the library section. + LibrarySectionID *int64 `json:"librarySectionID,omitempty"` + // The title of the library section. + LibrarySectionTitle *string `json:"librarySectionTitle,omitempty"` + // The universally unique identifier for the library section. + LibrarySectionUUID *string `json:"librarySectionUUID,omitempty"` + // The prefix used for media tag resource paths. + MediaTagPrefix string `json:"mediaTagPrefix"` + // The version number for media tags. + MediaTagVersion int64 `json:"mediaTagVersion"` + // URL for the thumbnail image of the media container. + Thumb string `json:"thumb"` + // The primary title of the media container. + Title1 string `json:"title1"` + // The secondary title of the media container. + Title2 string `json:"title2"` + // Identifier for the view group layout. + ViewGroup string `json:"viewGroup"` + // Identifier for the view mode. + ViewMode *string `json:"viewMode,omitempty"` + // Indicates if the media container has mixed parents. + MixedParents *bool `json:"mixedParents,omitempty"` + // An array of metadata items. + Metadata []GetLibraryItemsMetadata `json:"Metadata"` // The Meta object is only included in the response if the `includeMeta` parameter is set to `1`. // Meta *GetLibraryItemsMeta `json:"Meta,omitempty"` } -func (o *GetLibraryItemsMediaContainer) GetType() []GetLibraryItemsType { - if o == nil { - return nil - } - return o.Type -} - -func (o *GetLibraryItemsMediaContainer) GetFieldType() []GetLibraryItemsFieldType { - if o == nil { - return nil - } - return o.FieldType -} - func (o *GetLibraryItemsMediaContainer) GetSize() int { if o == nil { return 0 @@ -2558,7 +2403,7 @@ func (o *GetLibraryItemsMediaContainer) GetTotalSize() int { return o.TotalSize } -func (o *GetLibraryItemsMediaContainer) GetOffset() int { +func (o *GetLibraryItemsMediaContainer) GetOffset() int64 { if o == nil { return 0 } @@ -2579,9 +2424,9 @@ func (o *GetLibraryItemsMediaContainer) GetAllowSync() bool { return o.AllowSync } -func (o *GetLibraryItemsMediaContainer) GetNocache() *bool { +func (o *GetLibraryItemsMediaContainer) GetNocache() bool { if o == nil { - return nil + return false } return o.Nocache } @@ -2600,23 +2445,23 @@ func (o *GetLibraryItemsMediaContainer) GetIdentifier() string { return o.Identifier } -func (o *GetLibraryItemsMediaContainer) GetLibrarySectionID() int64 { +func (o *GetLibraryItemsMediaContainer) GetLibrarySectionID() *int64 { if o == nil { - return 0 + return nil } return o.LibrarySectionID } -func (o *GetLibraryItemsMediaContainer) GetLibrarySectionTitle() string { +func (o *GetLibraryItemsMediaContainer) GetLibrarySectionTitle() *string { if o == nil { - return "" + return nil } return o.LibrarySectionTitle } -func (o *GetLibraryItemsMediaContainer) GetLibrarySectionUUID() string { +func (o *GetLibraryItemsMediaContainer) GetLibrarySectionUUID() *string { if o == nil { - return "" + return nil } return o.LibrarySectionUUID } @@ -2628,7 +2473,7 @@ func (o *GetLibraryItemsMediaContainer) GetMediaTagPrefix() string { return o.MediaTagPrefix } -func (o *GetLibraryItemsMediaContainer) GetMediaTagVersion() int { +func (o *GetLibraryItemsMediaContainer) GetMediaTagVersion() int64 { if o == nil { return 0 } @@ -2663,7 +2508,7 @@ func (o *GetLibraryItemsMediaContainer) GetViewGroup() string { return o.ViewGroup } -func (o *GetLibraryItemsMediaContainer) GetViewMode() *int { +func (o *GetLibraryItemsMediaContainer) GetViewMode() *string { if o == nil { return nil } @@ -2679,7 +2524,7 @@ func (o *GetLibraryItemsMediaContainer) GetMixedParents() *bool { func (o *GetLibraryItemsMediaContainer) GetMetadata() []GetLibraryItemsMetadata { if o == nil { - return nil + return []GetLibraryItemsMetadata{} } return o.Metadata } diff --git a/models/operations/getlibrarysectionsall.go b/models/operations/getlibrarysectionsall.go index 0b52403..cd97089 100644 --- a/models/operations/getlibrarysectionsall.go +++ b/models/operations/getlibrarysectionsall.go @@ -730,96 +730,6 @@ func (o *GetLibrarySectionsAllGuids) GetID() string { return o.ID } -type OptimizedForStreaming1 int - -const ( - OptimizedForStreaming1Zero OptimizedForStreaming1 = 0 - OptimizedForStreaming1One OptimizedForStreaming1 = 1 -) - -func (e OptimizedForStreaming1) ToPointer() *OptimizedForStreaming1 { - return &e -} -func (e *OptimizedForStreaming1) UnmarshalJSON(data []byte) error { - var v int - if err := json.Unmarshal(data, &v); err != nil { - return err - } - switch v { - case 0: - fallthrough - case 1: - *e = OptimizedForStreaming1(v) - return nil - default: - return fmt.Errorf("invalid value for OptimizedForStreaming1: %v", v) - } -} - -type GetLibrarySectionsAllOptimizedForStreamingType string - -const ( - GetLibrarySectionsAllOptimizedForStreamingTypeOptimizedForStreaming1 GetLibrarySectionsAllOptimizedForStreamingType = "optimizedForStreaming_1" - GetLibrarySectionsAllOptimizedForStreamingTypeBoolean GetLibrarySectionsAllOptimizedForStreamingType = "boolean" -) - -// GetLibrarySectionsAllOptimizedForStreaming - Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true -type GetLibrarySectionsAllOptimizedForStreaming struct { - OptimizedForStreaming1 *OptimizedForStreaming1 `queryParam:"inline"` - Boolean *bool `queryParam:"inline"` - - Type GetLibrarySectionsAllOptimizedForStreamingType -} - -func CreateGetLibrarySectionsAllOptimizedForStreamingOptimizedForStreaming1(optimizedForStreaming1 OptimizedForStreaming1) GetLibrarySectionsAllOptimizedForStreaming { - typ := GetLibrarySectionsAllOptimizedForStreamingTypeOptimizedForStreaming1 - - return GetLibrarySectionsAllOptimizedForStreaming{ - OptimizedForStreaming1: &optimizedForStreaming1, - Type: typ, - } -} - -func CreateGetLibrarySectionsAllOptimizedForStreamingBoolean(boolean bool) GetLibrarySectionsAllOptimizedForStreaming { - typ := GetLibrarySectionsAllOptimizedForStreamingTypeBoolean - - return GetLibrarySectionsAllOptimizedForStreaming{ - Boolean: &boolean, - Type: typ, - } -} - -func (u *GetLibrarySectionsAllOptimizedForStreaming) UnmarshalJSON(data []byte) error { - - var optimizedForStreaming1 OptimizedForStreaming1 = OptimizedForStreaming1(0) - if err := utils.UnmarshalJSON(data, &optimizedForStreaming1, "", true, true); err == nil { - u.OptimizedForStreaming1 = &optimizedForStreaming1 - u.Type = GetLibrarySectionsAllOptimizedForStreamingTypeOptimizedForStreaming1 - return nil - } - - var boolean bool = false - if err := utils.UnmarshalJSON(data, &boolean, "", true, true); err == nil { - u.Boolean = &boolean - u.Type = GetLibrarySectionsAllOptimizedForStreamingTypeBoolean - return nil - } - - return fmt.Errorf("could not unmarshal `%s` into any supported union types for GetLibrarySectionsAllOptimizedForStreaming", string(data)) -} - -func (u GetLibrarySectionsAllOptimizedForStreaming) MarshalJSON() ([]byte, error) { - if u.OptimizedForStreaming1 != nil { - return utils.MarshalJSON(u.OptimizedForStreaming1, "", true) - } - - if u.Boolean != nil { - return utils.MarshalJSON(u.Boolean, "", true) - } - - return nil, errors.New("could not marshal union type GetLibrarySectionsAllOptimizedForStreaming: all fields are null") -} - type GetLibrarySectionsAllOptimizedForStreaming1 int const ( @@ -846,26 +756,116 @@ func (e *GetLibrarySectionsAllOptimizedForStreaming1) UnmarshalJSON(data []byte) } } +type GetLibrarySectionsAllOptimizedForStreamingType string + +const ( + GetLibrarySectionsAllOptimizedForStreamingTypeGetLibrarySectionsAllOptimizedForStreaming1 GetLibrarySectionsAllOptimizedForStreamingType = "get-library-sections-all_optimizedForStreaming_1" + GetLibrarySectionsAllOptimizedForStreamingTypeBoolean GetLibrarySectionsAllOptimizedForStreamingType = "boolean" +) + +// GetLibrarySectionsAllOptimizedForStreaming - Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true +type GetLibrarySectionsAllOptimizedForStreaming struct { + GetLibrarySectionsAllOptimizedForStreaming1 *GetLibrarySectionsAllOptimizedForStreaming1 `queryParam:"inline"` + Boolean *bool `queryParam:"inline"` + + Type GetLibrarySectionsAllOptimizedForStreamingType +} + +func CreateGetLibrarySectionsAllOptimizedForStreamingGetLibrarySectionsAllOptimizedForStreaming1(getLibrarySectionsAllOptimizedForStreaming1 GetLibrarySectionsAllOptimizedForStreaming1) GetLibrarySectionsAllOptimizedForStreaming { + typ := GetLibrarySectionsAllOptimizedForStreamingTypeGetLibrarySectionsAllOptimizedForStreaming1 + + return GetLibrarySectionsAllOptimizedForStreaming{ + GetLibrarySectionsAllOptimizedForStreaming1: &getLibrarySectionsAllOptimizedForStreaming1, + Type: typ, + } +} + +func CreateGetLibrarySectionsAllOptimizedForStreamingBoolean(boolean bool) GetLibrarySectionsAllOptimizedForStreaming { + typ := GetLibrarySectionsAllOptimizedForStreamingTypeBoolean + + return GetLibrarySectionsAllOptimizedForStreaming{ + Boolean: &boolean, + Type: typ, + } +} + +func (u *GetLibrarySectionsAllOptimizedForStreaming) UnmarshalJSON(data []byte) error { + + var getLibrarySectionsAllOptimizedForStreaming1 GetLibrarySectionsAllOptimizedForStreaming1 = GetLibrarySectionsAllOptimizedForStreaming1(0) + if err := utils.UnmarshalJSON(data, &getLibrarySectionsAllOptimizedForStreaming1, "", true, true); err == nil { + u.GetLibrarySectionsAllOptimizedForStreaming1 = &getLibrarySectionsAllOptimizedForStreaming1 + u.Type = GetLibrarySectionsAllOptimizedForStreamingTypeGetLibrarySectionsAllOptimizedForStreaming1 + return nil + } + + var boolean bool = false + if err := utils.UnmarshalJSON(data, &boolean, "", true, true); err == nil { + u.Boolean = &boolean + u.Type = GetLibrarySectionsAllOptimizedForStreamingTypeBoolean + return nil + } + + return fmt.Errorf("could not unmarshal `%s` into any supported union types for GetLibrarySectionsAllOptimizedForStreaming", string(data)) +} + +func (u GetLibrarySectionsAllOptimizedForStreaming) MarshalJSON() ([]byte, error) { + if u.GetLibrarySectionsAllOptimizedForStreaming1 != nil { + return utils.MarshalJSON(u.GetLibrarySectionsAllOptimizedForStreaming1, "", true) + } + + if u.Boolean != nil { + return utils.MarshalJSON(u.Boolean, "", true) + } + + return nil, errors.New("could not marshal union type GetLibrarySectionsAllOptimizedForStreaming: all fields are null") +} + +type GetLibrarySectionsAllOptimizedForStreamingLibrary1 int + +const ( + GetLibrarySectionsAllOptimizedForStreamingLibrary1Zero GetLibrarySectionsAllOptimizedForStreamingLibrary1 = 0 + GetLibrarySectionsAllOptimizedForStreamingLibrary1One GetLibrarySectionsAllOptimizedForStreamingLibrary1 = 1 +) + +func (e GetLibrarySectionsAllOptimizedForStreamingLibrary1) ToPointer() *GetLibrarySectionsAllOptimizedForStreamingLibrary1 { + return &e +} +func (e *GetLibrarySectionsAllOptimizedForStreamingLibrary1) UnmarshalJSON(data []byte) error { + var v int + if err := json.Unmarshal(data, &v); err != nil { + return err + } + switch v { + case 0: + fallthrough + case 1: + *e = GetLibrarySectionsAllOptimizedForStreamingLibrary1(v) + return nil + default: + return fmt.Errorf("invalid value for GetLibrarySectionsAllOptimizedForStreamingLibrary1: %v", v) + } +} + type GetLibrarySectionsAllLibraryOptimizedForStreamingType string const ( - GetLibrarySectionsAllLibraryOptimizedForStreamingTypeGetLibrarySectionsAllOptimizedForStreaming1 GetLibrarySectionsAllLibraryOptimizedForStreamingType = "get-library-sections-all_optimizedForStreaming_1" - GetLibrarySectionsAllLibraryOptimizedForStreamingTypeBoolean GetLibrarySectionsAllLibraryOptimizedForStreamingType = "boolean" + GetLibrarySectionsAllLibraryOptimizedForStreamingTypeGetLibrarySectionsAllOptimizedForStreamingLibrary1 GetLibrarySectionsAllLibraryOptimizedForStreamingType = "get-library-sections-all_optimizedForStreaming_Library_1" + GetLibrarySectionsAllLibraryOptimizedForStreamingTypeBoolean GetLibrarySectionsAllLibraryOptimizedForStreamingType = "boolean" ) // GetLibrarySectionsAllLibraryOptimizedForStreaming - Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true type GetLibrarySectionsAllLibraryOptimizedForStreaming struct { - GetLibrarySectionsAllOptimizedForStreaming1 *GetLibrarySectionsAllOptimizedForStreaming1 `queryParam:"inline"` - Boolean *bool `queryParam:"inline"` + GetLibrarySectionsAllOptimizedForStreamingLibrary1 *GetLibrarySectionsAllOptimizedForStreamingLibrary1 `queryParam:"inline"` + Boolean *bool `queryParam:"inline"` Type GetLibrarySectionsAllLibraryOptimizedForStreamingType } -func CreateGetLibrarySectionsAllLibraryOptimizedForStreamingGetLibrarySectionsAllOptimizedForStreaming1(getLibrarySectionsAllOptimizedForStreaming1 GetLibrarySectionsAllOptimizedForStreaming1) GetLibrarySectionsAllLibraryOptimizedForStreaming { - typ := GetLibrarySectionsAllLibraryOptimizedForStreamingTypeGetLibrarySectionsAllOptimizedForStreaming1 +func CreateGetLibrarySectionsAllLibraryOptimizedForStreamingGetLibrarySectionsAllOptimizedForStreamingLibrary1(getLibrarySectionsAllOptimizedForStreamingLibrary1 GetLibrarySectionsAllOptimizedForStreamingLibrary1) GetLibrarySectionsAllLibraryOptimizedForStreaming { + typ := GetLibrarySectionsAllLibraryOptimizedForStreamingTypeGetLibrarySectionsAllOptimizedForStreamingLibrary1 return GetLibrarySectionsAllLibraryOptimizedForStreaming{ - GetLibrarySectionsAllOptimizedForStreaming1: &getLibrarySectionsAllOptimizedForStreaming1, + GetLibrarySectionsAllOptimizedForStreamingLibrary1: &getLibrarySectionsAllOptimizedForStreamingLibrary1, Type: typ, } } @@ -881,10 +881,10 @@ func CreateGetLibrarySectionsAllLibraryOptimizedForStreamingBoolean(boolean bool func (u *GetLibrarySectionsAllLibraryOptimizedForStreaming) UnmarshalJSON(data []byte) error { - var getLibrarySectionsAllOptimizedForStreaming1 GetLibrarySectionsAllOptimizedForStreaming1 = GetLibrarySectionsAllOptimizedForStreaming1(0) - if err := utils.UnmarshalJSON(data, &getLibrarySectionsAllOptimizedForStreaming1, "", true, true); err == nil { - u.GetLibrarySectionsAllOptimizedForStreaming1 = &getLibrarySectionsAllOptimizedForStreaming1 - u.Type = GetLibrarySectionsAllLibraryOptimizedForStreamingTypeGetLibrarySectionsAllOptimizedForStreaming1 + var getLibrarySectionsAllOptimizedForStreamingLibrary1 GetLibrarySectionsAllOptimizedForStreamingLibrary1 = GetLibrarySectionsAllOptimizedForStreamingLibrary1(0) + if err := utils.UnmarshalJSON(data, &getLibrarySectionsAllOptimizedForStreamingLibrary1, "", true, true); err == nil { + u.GetLibrarySectionsAllOptimizedForStreamingLibrary1 = &getLibrarySectionsAllOptimizedForStreamingLibrary1 + u.Type = GetLibrarySectionsAllLibraryOptimizedForStreamingTypeGetLibrarySectionsAllOptimizedForStreamingLibrary1 return nil } @@ -899,8 +899,8 @@ func (u *GetLibrarySectionsAllLibraryOptimizedForStreaming) UnmarshalJSON(data [ } func (u GetLibrarySectionsAllLibraryOptimizedForStreaming) MarshalJSON() ([]byte, error) { - if u.GetLibrarySectionsAllOptimizedForStreaming1 != nil { - return utils.MarshalJSON(u.GetLibrarySectionsAllOptimizedForStreaming1, "", true) + if u.GetLibrarySectionsAllOptimizedForStreamingLibrary1 != nil { + return utils.MarshalJSON(u.GetLibrarySectionsAllOptimizedForStreamingLibrary1, "", true) } if u.Boolean != nil { @@ -937,31 +937,15 @@ func (e *GetLibrarySectionsAllHasThumbnail) UnmarshalJSON(data []byte) error { } } -// GetLibrarySectionsAllStreamType - Stream type: -// - 1 = video -// - 2 = audio -// - 3 = subtitle -type GetLibrarySectionsAllStreamType int - -const ( - GetLibrarySectionsAllStreamTypeVideo GetLibrarySectionsAllStreamType = 1 - GetLibrarySectionsAllStreamTypeAudio GetLibrarySectionsAllStreamType = 2 - GetLibrarySectionsAllStreamTypeSubtitle GetLibrarySectionsAllStreamType = 3 -) - -func (e GetLibrarySectionsAllStreamType) ToPointer() *GetLibrarySectionsAllStreamType { - return &e -} - type GetLibrarySectionsAllStream struct { // Unique stream identifier. ID int64 `json:"id"` // Stream type: - // - 1 = video - // - 2 = audio - // - 3 = subtitle + // - VIDEO = 1 + // - AUDIO = 2 + // - SUBTITLE = 3 // - StreamType GetLibrarySectionsAllStreamType `json:"streamType"` + streamType int64 `const:"1" json:"streamType"` // Format of the stream (e.g., srt). Format *string `json:"format,omitempty"` // Indicates if this stream is default. @@ -1057,6 +1041,17 @@ type GetLibrarySectionsAllStream struct { Title *string `json:"title,omitempty"` } +func (g GetLibrarySectionsAllStream) MarshalJSON() ([]byte, error) { + return utils.MarshalJSON(g, "", false) +} + +func (g *GetLibrarySectionsAllStream) UnmarshalJSON(data []byte) error { + if err := utils.UnmarshalJSON(data, &g, "", false, false); err != nil { + return err + } + return nil +} + func (o *GetLibrarySectionsAllStream) GetID() int64 { if o == nil { return 0 @@ -1064,11 +1059,8 @@ func (o *GetLibrarySectionsAllStream) GetID() int64 { return o.ID } -func (o *GetLibrarySectionsAllStream) GetStreamType() GetLibrarySectionsAllStreamType { - if o == nil { - return GetLibrarySectionsAllStreamType(0) - } - return o.StreamType +func (o *GetLibrarySectionsAllStream) GetStreamType() int64 { + return 1 } func (o *GetLibrarySectionsAllStream) GetFormat() *string { @@ -1862,8 +1854,8 @@ type GetLibrarySectionsAllMetadata struct { // The duration of the media item in milliseconds. Duration int `json:"duration"` // The original release date of the media item. - OriginallyAvailableAt types.Date `json:"originallyAvailableAt"` - AddedAt int64 `json:"addedAt"` + OriginallyAvailableAt *types.Date `json:"originallyAvailableAt,omitempty"` + AddedAt int64 `json:"addedAt"` // Unix epoch datetime in seconds UpdatedAt *int64 `json:"updatedAt,omitempty"` // The URL for the audience rating image. @@ -2106,9 +2098,9 @@ func (o *GetLibrarySectionsAllMetadata) GetDuration() int { return o.Duration } -func (o *GetLibrarySectionsAllMetadata) GetOriginallyAvailableAt() types.Date { +func (o *GetLibrarySectionsAllMetadata) GetOriginallyAvailableAt() *types.Date { if o == nil { - return types.Date{} + return nil } return o.OriginallyAvailableAt } @@ -2409,9 +2401,9 @@ type GetLibrarySectionsAllMediaContainer struct { // An plugin identifier for the media container. Identifier string `json:"identifier"` // The unique identifier for the library section. - LibrarySectionID int64 `json:"librarySectionID"` + LibrarySectionID *int64 `json:"librarySectionID,omitempty"` // The title of the library section. - LibrarySectionTitle string `json:"librarySectionTitle"` + LibrarySectionTitle *string `json:"librarySectionTitle,omitempty"` // The universally unique identifier for the library section. LibrarySectionUUID *string `json:"librarySectionUUID,omitempty"` // The prefix used for media tag resource paths. @@ -2484,16 +2476,16 @@ func (o *GetLibrarySectionsAllMediaContainer) GetIdentifier() string { return o.Identifier } -func (o *GetLibrarySectionsAllMediaContainer) GetLibrarySectionID() int64 { +func (o *GetLibrarySectionsAllMediaContainer) GetLibrarySectionID() *int64 { if o == nil { - return 0 + return nil } return o.LibrarySectionID } -func (o *GetLibrarySectionsAllMediaContainer) GetLibrarySectionTitle() string { +func (o *GetLibrarySectionsAllMediaContainer) GetLibrarySectionTitle() *string { if o == nil { - return "" + return nil } return o.LibrarySectionTitle } diff --git a/models/operations/getmediametadata.go b/models/operations/getmediametadata.go index 08c6718..472901b 100644 --- a/models/operations/getmediametadata.go +++ b/models/operations/getmediametadata.go @@ -455,37 +455,21 @@ func (e *GetMediaMetaDataHasThumbnail) UnmarshalJSON(data []byte) error { } } -// GetMediaMetaDataStreamType - Stream type: -// - 1 = video -// - 2 = audio -// - 3 = subtitle -type GetMediaMetaDataStreamType int - -const ( - GetMediaMetaDataStreamTypeVideo GetMediaMetaDataStreamType = 1 - GetMediaMetaDataStreamTypeAudio GetMediaMetaDataStreamType = 2 - GetMediaMetaDataStreamTypeSubtitle GetMediaMetaDataStreamType = 3 -) - -func (e GetMediaMetaDataStreamType) ToPointer() *GetMediaMetaDataStreamType { - return &e -} - type GetMediaMetaDataStream struct { // Unique stream identifier. ID int64 `json:"id"` // Stream type: - // - 1 = video - // - 2 = audio - // - 3 = subtitle + // - VIDEO = 1 + // - AUDIO = 2 + // - SUBTITLE = 3 // - StreamType GetMediaMetaDataStreamType `json:"streamType"` + streamType int64 `const:"1" json:"streamType"` // Format of the stream (e.g., srt). Format *string `json:"format,omitempty"` // Indicates if this stream is default. Default *bool `json:"default,omitempty"` // Codec used by the stream. - Codec string `json:"codec"` + Codec *string `json:"codec,omitempty"` // Index of the stream. Index *int `json:"index,omitempty"` // Bitrate of the stream. @@ -553,9 +537,9 @@ type GetMediaMetaDataStream struct { // Width of the video stream. Width *int `json:"width,omitempty"` // Display title for the stream. - DisplayTitle string `json:"displayTitle"` + DisplayTitle *string `json:"displayTitle,omitempty"` // Extended display title for the stream. - ExtendedDisplayTitle string `json:"extendedDisplayTitle"` + ExtendedDisplayTitle *string `json:"extendedDisplayTitle,omitempty"` // Indicates if this stream is selected (applicable for audio streams). Selected *bool `json:"selected,omitempty"` Forced *bool `json:"forced,omitempty"` @@ -575,6 +559,17 @@ type GetMediaMetaDataStream struct { Title *string `json:"title,omitempty"` } +func (g GetMediaMetaDataStream) MarshalJSON() ([]byte, error) { + return utils.MarshalJSON(g, "", false) +} + +func (g *GetMediaMetaDataStream) UnmarshalJSON(data []byte) error { + if err := utils.UnmarshalJSON(data, &g, "", false, false); err != nil { + return err + } + return nil +} + func (o *GetMediaMetaDataStream) GetID() int64 { if o == nil { return 0 @@ -582,11 +577,8 @@ func (o *GetMediaMetaDataStream) GetID() int64 { return o.ID } -func (o *GetMediaMetaDataStream) GetStreamType() GetMediaMetaDataStreamType { - if o == nil { - return GetMediaMetaDataStreamType(0) - } - return o.StreamType +func (o *GetMediaMetaDataStream) GetStreamType() int64 { + return 1 } func (o *GetMediaMetaDataStream) GetFormat() *string { @@ -603,9 +595,9 @@ func (o *GetMediaMetaDataStream) GetDefault() *bool { return o.Default } -func (o *GetMediaMetaDataStream) GetCodec() string { +func (o *GetMediaMetaDataStream) GetCodec() *string { if o == nil { - return "" + return nil } return o.Codec } @@ -855,16 +847,16 @@ func (o *GetMediaMetaDataStream) GetWidth() *int { return o.Width } -func (o *GetMediaMetaDataStream) GetDisplayTitle() string { +func (o *GetMediaMetaDataStream) GetDisplayTitle() *string { if o == nil { - return "" + return nil } return o.DisplayTitle } -func (o *GetMediaMetaDataStream) GetExtendedDisplayTitle() string { +func (o *GetMediaMetaDataStream) GetExtendedDisplayTitle() *string { if o == nil { - return "" + return nil } return o.ExtendedDisplayTitle } @@ -940,15 +932,15 @@ type GetMediaMetaDataPart struct { // Unique part identifier. ID int64 `json:"id"` // Key to access this part. - Key string `json:"key"` + Key *string `json:"key,omitempty"` Indexes *string `json:"indexes,omitempty"` // Duration of the part in milliseconds. Duration *int `json:"duration,omitempty"` // File path for the part. - File string `json:"file"` + File *string `json:"file,omitempty"` // File size in bytes. - Size int64 `json:"size"` - PacketLength *int `json:"packetLength,omitempty"` + Size *int64 `json:"size,omitempty"` + PacketLength *int `json:"packetLength,omitempty"` // Container format of the part. Container *string `json:"container,omitempty"` // Video profile for the part. @@ -957,10 +949,10 @@ type GetMediaMetaDataPart struct { AudioProfile *string `json:"audioProfile,omitempty"` Has64bitOffsets *bool `json:"has64bitOffsets,omitempty"` // Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true + // OptimizedForStreaming *GetMediaMetaDataLibraryOptimizedForStreaming `json:"optimizedForStreaming,omitempty"` HasThumbnail *GetMediaMetaDataHasThumbnail `default:"0" json:"hasThumbnail"` - // An array of streams for this part. - Stream []GetMediaMetaDataStream `json:"Stream,omitempty"` + Stream []GetMediaMetaDataStream `json:"Stream,omitempty"` } func (g GetMediaMetaDataPart) MarshalJSON() ([]byte, error) { @@ -995,9 +987,9 @@ func (o *GetMediaMetaDataPart) GetID() int64 { return o.ID } -func (o *GetMediaMetaDataPart) GetKey() string { +func (o *GetMediaMetaDataPart) GetKey() *string { if o == nil { - return "" + return nil } return o.Key } @@ -1016,16 +1008,16 @@ func (o *GetMediaMetaDataPart) GetDuration() *int { return o.Duration } -func (o *GetMediaMetaDataPart) GetFile() string { +func (o *GetMediaMetaDataPart) GetFile() *string { if o == nil { - return "" + return nil } return o.File } -func (o *GetMediaMetaDataPart) GetSize() int64 { +func (o *GetMediaMetaDataPart) GetSize() *int64 { if o == nil { - return 0 + return nil } return o.Size } @@ -1108,7 +1100,7 @@ type GetMediaMetaDataMedia struct { VideoCodec *string `json:"videoCodec,omitempty"` // Video resolution (e.g., 4k). VideoResolution *string `json:"videoResolution,omitempty"` - // File container type. + // Container format of the media. Container *string `json:"container,omitempty"` // Frame rate of the video. Values found include NTSC, PAL, 24p // @@ -1121,9 +1113,11 @@ type GetMediaMetaDataMedia struct { AudioProfile *string `json:"audioProfile,omitempty"` // Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true OptimizedForStreaming *GetMediaMetaDataOptimizedForStreaming `json:"optimizedForStreaming,omitempty"` - Has64bitOffsets *bool `json:"has64bitOffsets,omitempty"` - // An array of parts for this media item. - Part []GetMediaMetaDataPart `json:"Part,omitempty"` + // Indicates whether the media has 64-bit offsets. + // This is relevant for media files that may require larger offsets than what 32-bit integers can provide. + // + Has64bitOffsets *bool `json:"has64bitOffsets,omitempty"` + Part []GetMediaMetaDataPart `json:"Part,omitempty"` } func (o *GetMediaMetaDataMedia) GetID() int64 { @@ -1538,7 +1532,7 @@ func (o *GetMediaMetaDataRole) GetThumb() *string { return o.Thumb } -type Ratings struct { +type GetMediaMetaDataRatings struct { // The image or reference for the rating. Image string `json:"image"` // The rating value. @@ -1547,21 +1541,21 @@ type Ratings struct { Type string `json:"type"` } -func (o *Ratings) GetImage() string { +func (o *GetMediaMetaDataRatings) GetImage() string { if o == nil { return "" } return o.Image } -func (o *Ratings) GetValue() float32 { +func (o *GetMediaMetaDataRatings) GetValue() float32 { if o == nil { return 0.0 } return o.Value } -func (o *Ratings) GetType() string { +func (o *GetMediaMetaDataRatings) GetType() string { if o == nil { return "" } @@ -1610,8 +1604,8 @@ func (o *GetMediaMetaDataLocation) GetPath() string { return o.Path } -// Chapter - The thumbnail for the chapter -type Chapter struct { +// GetMediaMetaDataChapter - The thumbnail for the chapter +type GetMediaMetaDataChapter struct { ID int64 `json:"id"` Filter string `json:"filter"` Index int64 `json:"index"` @@ -1620,129 +1614,129 @@ type Chapter struct { Thumb string `json:"thumb"` } -func (o *Chapter) GetID() int64 { +func (o *GetMediaMetaDataChapter) GetID() int64 { if o == nil { return 0 } return o.ID } -func (o *Chapter) GetFilter() string { +func (o *GetMediaMetaDataChapter) GetFilter() string { if o == nil { return "" } return o.Filter } -func (o *Chapter) GetIndex() int64 { +func (o *GetMediaMetaDataChapter) GetIndex() int64 { if o == nil { return 0 } return o.Index } -func (o *Chapter) GetStartTimeOffset() int64 { +func (o *GetMediaMetaDataChapter) GetStartTimeOffset() int64 { if o == nil { return 0 } return o.StartTimeOffset } -func (o *Chapter) GetEndTimeOffset() int64 { +func (o *GetMediaMetaDataChapter) GetEndTimeOffset() int64 { if o == nil { return 0 } return o.EndTimeOffset } -func (o *Chapter) GetThumb() string { +func (o *GetMediaMetaDataChapter) GetThumb() string { if o == nil { return "" } return o.Thumb } -// Attributes associated with the marker. -type Attributes struct { +// GetMediaMetaDataAttributes - Attributes associated with the marker. +type GetMediaMetaDataAttributes struct { // The identifier for the attributes. ID int64 `json:"id"` // The version number of the marker attributes. Version *int64 `json:"version,omitempty"` } -func (o *Attributes) GetID() int64 { +func (o *GetMediaMetaDataAttributes) GetID() int64 { if o == nil { return 0 } return o.ID } -func (o *Attributes) GetVersion() *int64 { +func (o *GetMediaMetaDataAttributes) GetVersion() *int64 { if o == nil { return nil } return o.Version } -// Marker - The final status of the marker -type Marker struct { +// GetMediaMetaDataMarker - The final status of the marker +type GetMediaMetaDataMarker struct { ID int64 `json:"id"` Type string `json:"type"` StartTimeOffset int64 `json:"startTimeOffset"` EndTimeOffset int64 `json:"endTimeOffset"` Final *bool `json:"final,omitempty"` // Attributes associated with the marker. - Attributes *Attributes `json:"Attributes,omitempty"` + Attributes *GetMediaMetaDataAttributes `json:"Attributes,omitempty"` } -func (o *Marker) GetID() int64 { +func (o *GetMediaMetaDataMarker) GetID() int64 { if o == nil { return 0 } return o.ID } -func (o *Marker) GetType() string { +func (o *GetMediaMetaDataMarker) GetType() string { if o == nil { return "" } return o.Type } -func (o *Marker) GetStartTimeOffset() int64 { +func (o *GetMediaMetaDataMarker) GetStartTimeOffset() int64 { if o == nil { return 0 } return o.StartTimeOffset } -func (o *Marker) GetEndTimeOffset() int64 { +func (o *GetMediaMetaDataMarker) GetEndTimeOffset() int64 { if o == nil { return 0 } return o.EndTimeOffset } -func (o *Marker) GetFinal() *bool { +func (o *GetMediaMetaDataMarker) GetFinal() *bool { if o == nil { return nil } return o.Final } -func (o *Marker) GetAttributes() *Attributes { +func (o *GetMediaMetaDataMarker) GetAttributes() *GetMediaMetaDataAttributes { if o == nil { return nil } return o.Attributes } -type Extras struct { +type GetMediaMetaDataExtras struct { // The size of the extras. Size *int64 `json:"size,omitempty"` } -func (o *Extras) GetSize() *int64 { +func (o *GetMediaMetaDataExtras) GetSize() *int64 { if o == nil { return nil } @@ -1797,8 +1791,8 @@ type GetMediaMetaDataMetadata struct { // The duration of the media item in milliseconds. Duration int `json:"duration"` // The original release date of the media item. - OriginallyAvailableAt types.Date `json:"originallyAvailableAt"` - AddedAt int64 `json:"addedAt"` + OriginallyAvailableAt *types.Date `json:"originallyAvailableAt,omitempty"` + AddedAt int64 `json:"addedAt"` // Unix epoch datetime in seconds UpdatedAt *int64 `json:"updatedAt,omitempty"` // The URL for the audience rating image. @@ -1860,11 +1854,11 @@ type GetMediaMetaDataMetadata struct { Image []GetMediaMetaDataImage `json:"Image,omitempty"` UltraBlurColors *GetMediaMetaDataUltraBlurColors `json:"UltraBlurColors,omitempty"` // The identifier for the library section. - LibrarySectionID int64 `json:"librarySectionID"` + LibrarySectionID *int64 `json:"librarySectionID,omitempty"` // The title of the library section. - LibrarySectionTitle string `json:"librarySectionTitle"` + LibrarySectionTitle *string `json:"librarySectionTitle,omitempty"` // The key corresponding to the library section. - LibrarySectionKey string `json:"librarySectionKey"` + LibrarySectionKey *string `json:"librarySectionKey,omitempty"` Guids []GetMediaMetaDataGuids `json:"Guid,omitempty"` Media []GetMediaMetaDataMedia `json:"Media,omitempty"` Genre []GetMediaMetaDataGenre `json:"Genre,omitempty"` @@ -1873,12 +1867,12 @@ type GetMediaMetaDataMetadata struct { Writer []GetMediaMetaDataWriter `json:"Writer,omitempty"` Producer []GetMediaMetaDataProducer `json:"Producer,omitempty"` Role []GetMediaMetaDataRole `json:"Role,omitempty"` - Ratings []Ratings `json:"Rating,omitempty"` + Ratings []GetMediaMetaDataRatings `json:"Rating,omitempty"` Similar []GetMediaMetaDataSimilar `json:"Similar,omitempty"` Location []GetMediaMetaDataLocation `json:"Location,omitempty"` - Chapter []Chapter `json:"Chapter,omitempty"` - Marker []Marker `json:"Marker,omitempty"` - Extras *Extras `json:"Extras,omitempty"` + Chapter []GetMediaMetaDataChapter `json:"Chapter,omitempty"` + Marker []GetMediaMetaDataMarker `json:"Marker,omitempty"` + Extras *GetMediaMetaDataExtras `json:"Extras,omitempty"` } func (g GetMediaMetaDataMetadata) MarshalJSON() ([]byte, error) { @@ -2053,9 +2047,9 @@ func (o *GetMediaMetaDataMetadata) GetDuration() int { return o.Duration } -func (o *GetMediaMetaDataMetadata) GetOriginallyAvailableAt() types.Date { +func (o *GetMediaMetaDataMetadata) GetOriginallyAvailableAt() *types.Date { if o == nil { - return types.Date{} + return nil } return o.OriginallyAvailableAt } @@ -2284,23 +2278,23 @@ func (o *GetMediaMetaDataMetadata) GetUltraBlurColors() *GetMediaMetaDataUltraBl return o.UltraBlurColors } -func (o *GetMediaMetaDataMetadata) GetLibrarySectionID() int64 { +func (o *GetMediaMetaDataMetadata) GetLibrarySectionID() *int64 { if o == nil { - return 0 + return nil } return o.LibrarySectionID } -func (o *GetMediaMetaDataMetadata) GetLibrarySectionTitle() string { +func (o *GetMediaMetaDataMetadata) GetLibrarySectionTitle() *string { if o == nil { - return "" + return nil } return o.LibrarySectionTitle } -func (o *GetMediaMetaDataMetadata) GetLibrarySectionKey() string { +func (o *GetMediaMetaDataMetadata) GetLibrarySectionKey() *string { if o == nil { - return "" + return nil } return o.LibrarySectionKey } @@ -2361,7 +2355,7 @@ func (o *GetMediaMetaDataMetadata) GetRole() []GetMediaMetaDataRole { return o.Role } -func (o *GetMediaMetaDataMetadata) GetRatings() []Ratings { +func (o *GetMediaMetaDataMetadata) GetRatings() []GetMediaMetaDataRatings { if o == nil { return nil } @@ -2382,21 +2376,21 @@ func (o *GetMediaMetaDataMetadata) GetLocation() []GetMediaMetaDataLocation { return o.Location } -func (o *GetMediaMetaDataMetadata) GetChapter() []Chapter { +func (o *GetMediaMetaDataMetadata) GetChapter() []GetMediaMetaDataChapter { if o == nil { return nil } return o.Chapter } -func (o *GetMediaMetaDataMetadata) GetMarker() []Marker { +func (o *GetMediaMetaDataMetadata) GetMarker() []GetMediaMetaDataMarker { if o == nil { return nil } return o.Marker } -func (o *GetMediaMetaDataMetadata) GetExtras() *Extras { +func (o *GetMediaMetaDataMetadata) GetExtras() *GetMediaMetaDataExtras { if o == nil { return nil } @@ -2411,9 +2405,9 @@ type GetMediaMetaDataMediaContainer struct { // An plugin identifier for the media container. Identifier string `json:"identifier"` // The unique identifier for the library section. - LibrarySectionID int64 `json:"librarySectionID"` + LibrarySectionID *int64 `json:"librarySectionID,omitempty"` // The title of the library section. - LibrarySectionTitle string `json:"librarySectionTitle"` + LibrarySectionTitle *string `json:"librarySectionTitle,omitempty"` // The universally unique identifier for the library section. LibrarySectionUUID *string `json:"librarySectionUUID,omitempty"` // The prefix used for media tag resource paths. @@ -2445,16 +2439,16 @@ func (o *GetMediaMetaDataMediaContainer) GetIdentifier() string { return o.Identifier } -func (o *GetMediaMetaDataMediaContainer) GetLibrarySectionID() int64 { +func (o *GetMediaMetaDataMediaContainer) GetLibrarySectionID() *int64 { if o == nil { - return 0 + return nil } return o.LibrarySectionID } -func (o *GetMediaMetaDataMediaContainer) GetLibrarySectionTitle() string { +func (o *GetMediaMetaDataMediaContainer) GetLibrarySectionTitle() *string { if o == nil { - return "" + return nil } return o.LibrarySectionTitle } diff --git a/models/operations/getrecentlyadded.go b/models/operations/getrecentlyadded.go index d264f17..8173ddf 100644 --- a/models/operations/getrecentlyadded.go +++ b/models/operations/getrecentlyadded.go @@ -814,31 +814,15 @@ func (e *HasThumbnail) UnmarshalJSON(data []byte) error { } } -// StreamType - Stream type: -// - 1 = video -// - 2 = audio -// - 3 = subtitle -type StreamType int - -const ( - StreamTypeVideo StreamType = 1 - StreamTypeAudio StreamType = 2 - StreamTypeSubtitle StreamType = 3 -) - -func (e StreamType) ToPointer() *StreamType { - return &e -} - type Stream struct { // Unique stream identifier. ID int64 `json:"id"` // Stream type: - // - 1 = video - // - 2 = audio - // - 3 = subtitle + // - VIDEO = 1 + // - AUDIO = 2 + // - SUBTITLE = 3 // - StreamType StreamType `json:"streamType"` + streamType int64 `const:"1" json:"streamType"` // Format of the stream (e.g., srt). Format *string `json:"format,omitempty"` // Indicates if this stream is default. @@ -934,6 +918,17 @@ type Stream struct { Title *string `json:"title,omitempty"` } +func (s Stream) MarshalJSON() ([]byte, error) { + return utils.MarshalJSON(s, "", false) +} + +func (s *Stream) UnmarshalJSON(data []byte) error { + if err := utils.UnmarshalJSON(data, &s, "", false, false); err != nil { + return err + } + return nil +} + func (o *Stream) GetID() int64 { if o == nil { return 0 @@ -941,11 +936,8 @@ func (o *Stream) GetID() int64 { return o.ID } -func (o *Stream) GetStreamType() StreamType { - if o == nil { - return StreamType(0) - } - return o.StreamType +func (o *Stream) GetStreamType() int64 { + return 1 } func (o *Stream) GetFormat() *string { @@ -2020,15 +2012,15 @@ type GetRecentlyAddedMetadata struct { // The number of leaf items (end nodes) under this media item. LeafCount *int `json:"leafCount,omitempty"` // The identifier for the library section. - LibrarySectionID int64 `json:"librarySectionID"` + LibrarySectionID *int64 `json:"librarySectionID,omitempty"` // The key corresponding to the library section. - LibrarySectionKey string `json:"librarySectionKey"` + LibrarySectionKey *string `json:"librarySectionKey,omitempty"` // The title of the library section. - LibrarySectionTitle string `json:"librarySectionTitle"` + LibrarySectionTitle *string `json:"librarySectionTitle,omitempty"` // The original title of the media item (if different). OriginalTitle *string `json:"originalTitle,omitempty"` // The original release date of the media item. - OriginallyAvailableAt types.Date `json:"originallyAvailableAt"` + OriginallyAvailableAt *types.Date `json:"originallyAvailableAt,omitempty"` // The GUID of the parent media item. ParentGUID *string `json:"parentGuid,omitempty"` // The index position of the parent media item. @@ -2287,23 +2279,23 @@ func (o *GetRecentlyAddedMetadata) GetLeafCount() *int { return o.LeafCount } -func (o *GetRecentlyAddedMetadata) GetLibrarySectionID() int64 { +func (o *GetRecentlyAddedMetadata) GetLibrarySectionID() *int64 { if o == nil { - return 0 + return nil } return o.LibrarySectionID } -func (o *GetRecentlyAddedMetadata) GetLibrarySectionKey() string { +func (o *GetRecentlyAddedMetadata) GetLibrarySectionKey() *string { if o == nil { - return "" + return nil } return o.LibrarySectionKey } -func (o *GetRecentlyAddedMetadata) GetLibrarySectionTitle() string { +func (o *GetRecentlyAddedMetadata) GetLibrarySectionTitle() *string { if o == nil { - return "" + return nil } return o.LibrarySectionTitle } @@ -2315,9 +2307,9 @@ func (o *GetRecentlyAddedMetadata) GetOriginalTitle() *string { return o.OriginalTitle } -func (o *GetRecentlyAddedMetadata) GetOriginallyAvailableAt() types.Date { +func (o *GetRecentlyAddedMetadata) GetOriginallyAvailableAt() *types.Date { if o == nil { - return types.Date{} + return nil } return o.OriginallyAvailableAt } diff --git a/models/operations/getsearchalllibraries.go b/models/operations/getsearchalllibraries.go index 9d316cd..a58410a 100644 --- a/models/operations/getsearchalllibraries.go +++ b/models/operations/getsearchalllibraries.go @@ -4,6 +4,7 @@ package operations import ( "encoding/json" + "errors" "fmt" "github.com/LukeHagar/plexgo/internal/utils" "github.com/LukeHagar/plexgo/types" @@ -147,6 +148,128 @@ func (o *GetSearchAllLibrariesRequest) GetIncludeExternalMedia() *GetSearchAllLi return o.IncludeExternalMedia } +type GetSearchAllLibrariesDirectory struct { + // The unique identifier path for the search result item. + Key string `json:"key"` + // The identifier for the library section. + LibrarySectionID int64 `json:"librarySectionID"` + // The key corresponding to the library section. + LibrarySectionKey string `json:"librarySectionKey"` + // The title of the library section. + LibrarySectionTitle string `json:"librarySectionTitle"` + librarySectionType *int64 `const:"1" json:"librarySectionType,omitempty"` + // The type of the directory. + Type string `json:"type"` + ID int64 `json:"id"` + // The filter string used to query this specific item in the library. + Filter *string `json:"filter,omitempty"` + Tag string `json:"tag"` + // The type of tag associated with this search result (e.g., Director, Actor). + tagType *int64 `const:"4" json:"tagType,omitempty"` + // The unique identifier for the tag associated with this search result. + TagKey *string `json:"tagKey,omitempty"` + // The URL to the thumbnail image associated with this search result. + Thumb *string `json:"thumb,omitempty"` + // The number of items associated with this search result. + Count *int64 `json:"count,omitempty"` +} + +func (g GetSearchAllLibrariesDirectory) MarshalJSON() ([]byte, error) { + return utils.MarshalJSON(g, "", false) +} + +func (g *GetSearchAllLibrariesDirectory) UnmarshalJSON(data []byte) error { + if err := utils.UnmarshalJSON(data, &g, "", false, false); err != nil { + return err + } + return nil +} + +func (o *GetSearchAllLibrariesDirectory) GetKey() string { + if o == nil { + return "" + } + return o.Key +} + +func (o *GetSearchAllLibrariesDirectory) GetLibrarySectionID() int64 { + if o == nil { + return 0 + } + return o.LibrarySectionID +} + +func (o *GetSearchAllLibrariesDirectory) GetLibrarySectionKey() string { + if o == nil { + return "" + } + return o.LibrarySectionKey +} + +func (o *GetSearchAllLibrariesDirectory) GetLibrarySectionTitle() string { + if o == nil { + return "" + } + return o.LibrarySectionTitle +} + +func (o *GetSearchAllLibrariesDirectory) GetLibrarySectionType() *int64 { + return types.Int64(1) +} + +func (o *GetSearchAllLibrariesDirectory) GetType() string { + if o == nil { + return "" + } + return o.Type +} + +func (o *GetSearchAllLibrariesDirectory) GetID() int64 { + if o == nil { + return 0 + } + return o.ID +} + +func (o *GetSearchAllLibrariesDirectory) GetFilter() *string { + if o == nil { + return nil + } + return o.Filter +} + +func (o *GetSearchAllLibrariesDirectory) GetTag() string { + if o == nil { + return "" + } + return o.Tag +} + +func (o *GetSearchAllLibrariesDirectory) GetTagType() *int64 { + return types.Int64(4) +} + +func (o *GetSearchAllLibrariesDirectory) GetTagKey() *string { + if o == nil { + return nil + } + return o.TagKey +} + +func (o *GetSearchAllLibrariesDirectory) GetThumb() *string { + if o == nil { + return nil + } + return o.Thumb +} + +func (o *GetSearchAllLibrariesDirectory) GetCount() *int64 { + if o == nil { + return nil + } + return o.Count +} + // GetSearchAllLibrariesType - The type of media content in the Plex library. This can represent videos, music, or photos. type GetSearchAllLibrariesType string @@ -167,937 +290,6 @@ func (e GetSearchAllLibrariesType) ToPointer() *GetSearchAllLibrariesType { return &e } -// GetSearchAllLibrariesFlattenSeasons - Setting that indicates if seasons are set to hidden for the show. (-1 = Library default, 0 = Hide, 1 = Show). -type GetSearchAllLibrariesFlattenSeasons string - -const ( - GetSearchAllLibrariesFlattenSeasonsLibraryDefault GetSearchAllLibrariesFlattenSeasons = "-1" - GetSearchAllLibrariesFlattenSeasonsHide GetSearchAllLibrariesFlattenSeasons = "0" - GetSearchAllLibrariesFlattenSeasonsShow GetSearchAllLibrariesFlattenSeasons = "1" -) - -func (e GetSearchAllLibrariesFlattenSeasons) ToPointer() *GetSearchAllLibrariesFlattenSeasons { - return &e -} - -// GetSearchAllLibrariesEpisodeSort - Setting that indicates how episodes are sorted for the show. (-1 = Library default, 0 = Oldest first, 1 = Newest first). -type GetSearchAllLibrariesEpisodeSort string - -const ( - GetSearchAllLibrariesEpisodeSortLibraryDefault GetSearchAllLibrariesEpisodeSort = "-1" - GetSearchAllLibrariesEpisodeSortOldestFirst GetSearchAllLibrariesEpisodeSort = "0" - GetSearchAllLibrariesEpisodeSortNewestFirst GetSearchAllLibrariesEpisodeSort = "1" -) - -func (e GetSearchAllLibrariesEpisodeSort) ToPointer() *GetSearchAllLibrariesEpisodeSort { - return &e -} - -// GetSearchAllLibrariesEnableCreditsMarkerGeneration - Setting that indicates if credits markers detection is enabled. (-1 = Library default, 0 = Disabled). -type GetSearchAllLibrariesEnableCreditsMarkerGeneration string - -const ( - GetSearchAllLibrariesEnableCreditsMarkerGenerationLibraryDefault GetSearchAllLibrariesEnableCreditsMarkerGeneration = "-1" - GetSearchAllLibrariesEnableCreditsMarkerGenerationDisabled GetSearchAllLibrariesEnableCreditsMarkerGeneration = "0" -) - -func (e GetSearchAllLibrariesEnableCreditsMarkerGeneration) ToPointer() *GetSearchAllLibrariesEnableCreditsMarkerGeneration { - return &e -} - -// GetSearchAllLibrariesShowOrdering - 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)). -type GetSearchAllLibrariesShowOrdering string - -const ( - GetSearchAllLibrariesShowOrderingNone GetSearchAllLibrariesShowOrdering = "None" - GetSearchAllLibrariesShowOrderingTmdbAiring GetSearchAllLibrariesShowOrdering = "tmdbAiring" - GetSearchAllLibrariesShowOrderingTvdbAired GetSearchAllLibrariesShowOrdering = "aired" - GetSearchAllLibrariesShowOrderingTvdbDvd GetSearchAllLibrariesShowOrdering = "dvd" - GetSearchAllLibrariesShowOrderingTvdbAbsolute GetSearchAllLibrariesShowOrdering = "absolute" -) - -func (e GetSearchAllLibrariesShowOrdering) ToPointer() *GetSearchAllLibrariesShowOrdering { - return &e -} - -type GetSearchAllLibrariesOptimizedForStreaming int - -const ( - GetSearchAllLibrariesOptimizedForStreamingDisable GetSearchAllLibrariesOptimizedForStreaming = 0 - GetSearchAllLibrariesOptimizedForStreamingEnable GetSearchAllLibrariesOptimizedForStreaming = 1 -) - -func (e GetSearchAllLibrariesOptimizedForStreaming) ToPointer() *GetSearchAllLibrariesOptimizedForStreaming { - return &e -} -func (e *GetSearchAllLibrariesOptimizedForStreaming) UnmarshalJSON(data []byte) error { - var v int - if err := json.Unmarshal(data, &v); err != nil { - return err - } - switch v { - case 0: - fallthrough - case 1: - *e = GetSearchAllLibrariesOptimizedForStreaming(v) - return nil - default: - return fmt.Errorf("invalid value for GetSearchAllLibrariesOptimizedForStreaming: %v", v) - } -} - -type GetSearchAllLibrariesHasThumbnail string - -const ( - GetSearchAllLibrariesHasThumbnailFalse GetSearchAllLibrariesHasThumbnail = "0" - GetSearchAllLibrariesHasThumbnailTrue GetSearchAllLibrariesHasThumbnail = "1" -) - -func (e GetSearchAllLibrariesHasThumbnail) ToPointer() *GetSearchAllLibrariesHasThumbnail { - return &e -} -func (e *GetSearchAllLibrariesHasThumbnail) UnmarshalJSON(data []byte) error { - var v string - if err := json.Unmarshal(data, &v); err != nil { - return err - } - switch v { - case "0": - fallthrough - case "1": - *e = GetSearchAllLibrariesHasThumbnail(v) - return nil - default: - return fmt.Errorf("invalid value for GetSearchAllLibrariesHasThumbnail: %v", v) - } -} - -type GetSearchAllLibrariesStream struct { - ID int64 `json:"id"` - // Type of stream (1 = video, 2 = audio, 3 = subtitle) - StreamType int64 `json:"streamType"` - // Indicates if this is the default stream - Default *bool `json:"default,omitempty"` - // Indicates if the stream is selected - Selected *bool `json:"selected,omitempty"` - // Codec used by the stream - Codec string `json:"codec"` - // The index of the stream - Index int64 `json:"index"` - // The bitrate of the stream in kbps - Bitrate *int64 `json:"bitrate,omitempty"` - // The color primaries of the video stream - ColorPrimaries *string `json:"colorPrimaries,omitempty"` - // The color range of the video stream - ColorRange *string `json:"colorRange,omitempty"` - // The color space of the video stream - ColorSpace *string `json:"colorSpace,omitempty"` - // The transfer characteristics (TRC) of the video stream - ColorTrc *string `json:"colorTrc,omitempty"` - // The bit depth of the video stream - BitDepth *int64 `json:"bitDepth,omitempty"` - // The chroma location of the video stream - ChromaLocation *string `json:"chromaLocation,omitempty"` - // The identifier of the video stream - StreamIdentifier *string `json:"streamIdentifier,omitempty"` - // The chroma subsampling format - ChromaSubsampling *string `json:"chromaSubsampling,omitempty"` - // The coded height of the video stream - CodedHeight *int64 `json:"codedHeight,omitempty"` - // The coded width of the video stream - CodedWidth *int64 `json:"codedWidth,omitempty"` - // The frame rate of the video stream - FrameRate *float64 `json:"frameRate,omitempty"` - // Indicates if the stream has a scaling matrix - HasScalingMatrix *bool `json:"hasScalingMatrix,omitempty"` - HearingImpaired *bool `json:"hearingImpaired,omitempty"` - ClosedCaptions *bool `json:"closedCaptions,omitempty"` - EmbeddedInVideo *string `json:"embeddedInVideo,omitempty"` - // The height of the video stream - Height *int64 `json:"height,omitempty"` - // The level of the video codec - Level *int64 `json:"level,omitempty"` - // The profile of the video codec - Profile *string `json:"profile,omitempty"` - // Number of reference frames - RefFrames *int64 `json:"refFrames,omitempty"` - // The scan type (progressive or interlaced) - ScanType *string `json:"scanType,omitempty"` - // The width of the video stream - Width *int64 `json:"width,omitempty"` - // Display title of the stream - DisplayTitle *string `json:"displayTitle,omitempty"` - // Extended display title of the stream - ExtendedDisplayTitle *string `json:"extendedDisplayTitle,omitempty"` - // Number of audio channels (for audio streams) - Channels *int64 `json:"channels,omitempty"` - // The language of the stream (for audio/subtitle streams) - Language *string `json:"language,omitempty"` - // Language tag of the stream - LanguageTag *string `json:"languageTag,omitempty"` - // Language code of the stream - LanguageCode *string `json:"languageCode,omitempty"` - // The audio channel layout - AudioChannelLayout *string `json:"audioChannelLayout,omitempty"` - // Sampling rate of the audio stream in Hz - SamplingRate *int64 `json:"samplingRate,omitempty"` - // Title of the subtitle track (for subtitle streams) - Title *string `json:"title,omitempty"` - // Indicates if the subtitle stream can auto-sync - CanAutoSync *bool `json:"canAutoSync,omitempty"` -} - -func (o *GetSearchAllLibrariesStream) GetID() int64 { - if o == nil { - return 0 - } - return o.ID -} - -func (o *GetSearchAllLibrariesStream) GetStreamType() int64 { - if o == nil { - return 0 - } - return o.StreamType -} - -func (o *GetSearchAllLibrariesStream) GetDefault() *bool { - if o == nil { - return nil - } - return o.Default -} - -func (o *GetSearchAllLibrariesStream) GetSelected() *bool { - if o == nil { - return nil - } - return o.Selected -} - -func (o *GetSearchAllLibrariesStream) GetCodec() string { - if o == nil { - return "" - } - return o.Codec -} - -func (o *GetSearchAllLibrariesStream) GetIndex() int64 { - if o == nil { - return 0 - } - return o.Index -} - -func (o *GetSearchAllLibrariesStream) GetBitrate() *int64 { - if o == nil { - return nil - } - return o.Bitrate -} - -func (o *GetSearchAllLibrariesStream) GetColorPrimaries() *string { - if o == nil { - return nil - } - return o.ColorPrimaries -} - -func (o *GetSearchAllLibrariesStream) GetColorRange() *string { - if o == nil { - return nil - } - return o.ColorRange -} - -func (o *GetSearchAllLibrariesStream) GetColorSpace() *string { - if o == nil { - return nil - } - return o.ColorSpace -} - -func (o *GetSearchAllLibrariesStream) GetColorTrc() *string { - if o == nil { - return nil - } - return o.ColorTrc -} - -func (o *GetSearchAllLibrariesStream) GetBitDepth() *int64 { - if o == nil { - return nil - } - return o.BitDepth -} - -func (o *GetSearchAllLibrariesStream) GetChromaLocation() *string { - if o == nil { - return nil - } - return o.ChromaLocation -} - -func (o *GetSearchAllLibrariesStream) GetStreamIdentifier() *string { - if o == nil { - return nil - } - return o.StreamIdentifier -} - -func (o *GetSearchAllLibrariesStream) GetChromaSubsampling() *string { - if o == nil { - return nil - } - return o.ChromaSubsampling -} - -func (o *GetSearchAllLibrariesStream) GetCodedHeight() *int64 { - if o == nil { - return nil - } - return o.CodedHeight -} - -func (o *GetSearchAllLibrariesStream) GetCodedWidth() *int64 { - if o == nil { - return nil - } - return o.CodedWidth -} - -func (o *GetSearchAllLibrariesStream) GetFrameRate() *float64 { - if o == nil { - return nil - } - return o.FrameRate -} - -func (o *GetSearchAllLibrariesStream) GetHasScalingMatrix() *bool { - if o == nil { - return nil - } - return o.HasScalingMatrix -} - -func (o *GetSearchAllLibrariesStream) GetHearingImpaired() *bool { - if o == nil { - return nil - } - return o.HearingImpaired -} - -func (o *GetSearchAllLibrariesStream) GetClosedCaptions() *bool { - if o == nil { - return nil - } - return o.ClosedCaptions -} - -func (o *GetSearchAllLibrariesStream) GetEmbeddedInVideo() *string { - if o == nil { - return nil - } - return o.EmbeddedInVideo -} - -func (o *GetSearchAllLibrariesStream) GetHeight() *int64 { - if o == nil { - return nil - } - return o.Height -} - -func (o *GetSearchAllLibrariesStream) GetLevel() *int64 { - if o == nil { - return nil - } - return o.Level -} - -func (o *GetSearchAllLibrariesStream) GetProfile() *string { - if o == nil { - return nil - } - return o.Profile -} - -func (o *GetSearchAllLibrariesStream) GetRefFrames() *int64 { - if o == nil { - return nil - } - return o.RefFrames -} - -func (o *GetSearchAllLibrariesStream) GetScanType() *string { - if o == nil { - return nil - } - return o.ScanType -} - -func (o *GetSearchAllLibrariesStream) GetWidth() *int64 { - if o == nil { - return nil - } - return o.Width -} - -func (o *GetSearchAllLibrariesStream) GetDisplayTitle() *string { - if o == nil { - return nil - } - return o.DisplayTitle -} - -func (o *GetSearchAllLibrariesStream) GetExtendedDisplayTitle() *string { - if o == nil { - return nil - } - return o.ExtendedDisplayTitle -} - -func (o *GetSearchAllLibrariesStream) GetChannels() *int64 { - if o == nil { - return nil - } - return o.Channels -} - -func (o *GetSearchAllLibrariesStream) GetLanguage() *string { - if o == nil { - return nil - } - return o.Language -} - -func (o *GetSearchAllLibrariesStream) GetLanguageTag() *string { - if o == nil { - return nil - } - return o.LanguageTag -} - -func (o *GetSearchAllLibrariesStream) GetLanguageCode() *string { - if o == nil { - return nil - } - return o.LanguageCode -} - -func (o *GetSearchAllLibrariesStream) GetAudioChannelLayout() *string { - if o == nil { - return nil - } - return o.AudioChannelLayout -} - -func (o *GetSearchAllLibrariesStream) GetSamplingRate() *int64 { - if o == nil { - return nil - } - return o.SamplingRate -} - -func (o *GetSearchAllLibrariesStream) GetTitle() *string { - if o == nil { - return nil - } - return o.Title -} - -func (o *GetSearchAllLibrariesStream) GetCanAutoSync() *bool { - if o == nil { - return nil - } - return o.CanAutoSync -} - -type GetSearchAllLibrariesPart struct { - ID int `json:"id"` - Key string `json:"key"` - Duration *int `json:"duration,omitempty"` - File string `json:"file"` - Size int64 `json:"size"` - // The container format of the media file. - // - Container string `json:"container"` - AudioProfile *string `json:"audioProfile,omitempty"` - Has64bitOffsets *bool `json:"has64bitOffsets,omitempty"` - OptimizedForStreaming *bool `json:"optimizedForStreaming,omitempty"` - VideoProfile *string `json:"videoProfile,omitempty"` - Indexes *string `json:"indexes,omitempty"` - HasThumbnail *GetSearchAllLibrariesHasThumbnail `default:"0" json:"hasThumbnail"` - Stream []GetSearchAllLibrariesStream `json:"Stream,omitempty"` -} - -func (g GetSearchAllLibrariesPart) MarshalJSON() ([]byte, error) { - return utils.MarshalJSON(g, "", false) -} - -func (g *GetSearchAllLibrariesPart) UnmarshalJSON(data []byte) error { - if err := utils.UnmarshalJSON(data, &g, "", false, false); err != nil { - return err - } - return nil -} - -func (o *GetSearchAllLibrariesPart) GetID() int { - if o == nil { - return 0 - } - return o.ID -} - -func (o *GetSearchAllLibrariesPart) GetKey() string { - if o == nil { - return "" - } - return o.Key -} - -func (o *GetSearchAllLibrariesPart) GetDuration() *int { - if o == nil { - return nil - } - return o.Duration -} - -func (o *GetSearchAllLibrariesPart) GetFile() string { - if o == nil { - return "" - } - return o.File -} - -func (o *GetSearchAllLibrariesPart) GetSize() int64 { - if o == nil { - return 0 - } - return o.Size -} - -func (o *GetSearchAllLibrariesPart) GetContainer() string { - if o == nil { - return "" - } - return o.Container -} - -func (o *GetSearchAllLibrariesPart) GetAudioProfile() *string { - if o == nil { - return nil - } - return o.AudioProfile -} - -func (o *GetSearchAllLibrariesPart) GetHas64bitOffsets() *bool { - if o == nil { - return nil - } - return o.Has64bitOffsets -} - -func (o *GetSearchAllLibrariesPart) GetOptimizedForStreaming() *bool { - if o == nil { - return nil - } - return o.OptimizedForStreaming -} - -func (o *GetSearchAllLibrariesPart) GetVideoProfile() *string { - if o == nil { - return nil - } - return o.VideoProfile -} - -func (o *GetSearchAllLibrariesPart) GetIndexes() *string { - if o == nil { - return nil - } - return o.Indexes -} - -func (o *GetSearchAllLibrariesPart) GetHasThumbnail() *GetSearchAllLibrariesHasThumbnail { - if o == nil { - return nil - } - return o.HasThumbnail -} - -func (o *GetSearchAllLibrariesPart) GetStream() []GetSearchAllLibrariesStream { - if o == nil { - return nil - } - return o.Stream -} - -type GetSearchAllLibrariesMedia struct { - ID int `json:"id"` - Duration *int `json:"duration,omitempty"` - Bitrate *int `json:"bitrate,omitempty"` - Width *int `json:"width,omitempty"` - Height *int `json:"height,omitempty"` - AspectRatio *float64 `json:"aspectRatio,omitempty"` - AudioProfile *string `json:"audioProfile,omitempty"` - AudioChannels *int `json:"audioChannels,omitempty"` - AudioCodec *string `json:"audioCodec,omitempty"` - VideoCodec *string `json:"videoCodec,omitempty"` - VideoResolution *string `json:"videoResolution,omitempty"` - Container string `json:"container"` - VideoFrameRate *string `json:"videoFrameRate,omitempty"` - VideoProfile *string `json:"videoProfile,omitempty"` - HasVoiceActivity *bool `json:"hasVoiceActivity,omitempty"` - OptimizedForStreaming *GetSearchAllLibrariesOptimizedForStreaming `default:"0" json:"optimizedForStreaming"` - Has64bitOffsets *bool `json:"has64bitOffsets,omitempty"` - Part []GetSearchAllLibrariesPart `json:"Part"` -} - -func (g GetSearchAllLibrariesMedia) MarshalJSON() ([]byte, error) { - return utils.MarshalJSON(g, "", false) -} - -func (g *GetSearchAllLibrariesMedia) UnmarshalJSON(data []byte) error { - if err := utils.UnmarshalJSON(data, &g, "", false, false); err != nil { - return err - } - return nil -} - -func (o *GetSearchAllLibrariesMedia) GetID() int { - if o == nil { - return 0 - } - return o.ID -} - -func (o *GetSearchAllLibrariesMedia) GetDuration() *int { - if o == nil { - return nil - } - return o.Duration -} - -func (o *GetSearchAllLibrariesMedia) GetBitrate() *int { - if o == nil { - return nil - } - return o.Bitrate -} - -func (o *GetSearchAllLibrariesMedia) GetWidth() *int { - if o == nil { - return nil - } - return o.Width -} - -func (o *GetSearchAllLibrariesMedia) GetHeight() *int { - if o == nil { - return nil - } - return o.Height -} - -func (o *GetSearchAllLibrariesMedia) GetAspectRatio() *float64 { - if o == nil { - return nil - } - return o.AspectRatio -} - -func (o *GetSearchAllLibrariesMedia) GetAudioProfile() *string { - if o == nil { - return nil - } - return o.AudioProfile -} - -func (o *GetSearchAllLibrariesMedia) GetAudioChannels() *int { - if o == nil { - return nil - } - return o.AudioChannels -} - -func (o *GetSearchAllLibrariesMedia) GetAudioCodec() *string { - if o == nil { - return nil - } - return o.AudioCodec -} - -func (o *GetSearchAllLibrariesMedia) GetVideoCodec() *string { - if o == nil { - return nil - } - return o.VideoCodec -} - -func (o *GetSearchAllLibrariesMedia) GetVideoResolution() *string { - if o == nil { - return nil - } - return o.VideoResolution -} - -func (o *GetSearchAllLibrariesMedia) GetContainer() string { - if o == nil { - return "" - } - return o.Container -} - -func (o *GetSearchAllLibrariesMedia) GetVideoFrameRate() *string { - if o == nil { - return nil - } - return o.VideoFrameRate -} - -func (o *GetSearchAllLibrariesMedia) GetVideoProfile() *string { - if o == nil { - return nil - } - return o.VideoProfile -} - -func (o *GetSearchAllLibrariesMedia) GetHasVoiceActivity() *bool { - if o == nil { - return nil - } - return o.HasVoiceActivity -} - -func (o *GetSearchAllLibrariesMedia) GetOptimizedForStreaming() *GetSearchAllLibrariesOptimizedForStreaming { - if o == nil { - return nil - } - return o.OptimizedForStreaming -} - -func (o *GetSearchAllLibrariesMedia) GetHas64bitOffsets() *bool { - if o == nil { - return nil - } - return o.Has64bitOffsets -} - -func (o *GetSearchAllLibrariesMedia) GetPart() []GetSearchAllLibrariesPart { - if o == nil { - return []GetSearchAllLibrariesPart{} - } - return o.Part -} - -type GetSearchAllLibrariesGenre struct { - Tag *string `json:"tag,omitempty"` -} - -func (o *GetSearchAllLibrariesGenre) GetTag() *string { - if o == nil { - return nil - } - return o.Tag -} - -type GetSearchAllLibrariesCountry struct { - Tag *string `json:"tag,omitempty"` -} - -func (o *GetSearchAllLibrariesCountry) GetTag() *string { - if o == nil { - return nil - } - return o.Tag -} - -type GetSearchAllLibrariesDirector struct { - Tag *string `json:"tag,omitempty"` -} - -func (o *GetSearchAllLibrariesDirector) GetTag() *string { - if o == nil { - return nil - } - return o.Tag -} - -type GetSearchAllLibrariesWriter struct { - Tag *string `json:"tag,omitempty"` -} - -func (o *GetSearchAllLibrariesWriter) GetTag() *string { - if o == nil { - return nil - } - return o.Tag -} - -type GetSearchAllLibrariesCollection struct { - Tag *string `json:"tag,omitempty"` -} - -func (o *GetSearchAllLibrariesCollection) GetTag() *string { - if o == nil { - return nil - } - return o.Tag -} - -type GetSearchAllLibrariesRole struct { - // The ID of the tag or actor. - ID *int64 `json:"id,omitempty"` - // The filter used to find the actor or tag. - Filter *string `json:"filter,omitempty"` - // The thumbnail of the actor - Thumb *string `json:"thumb,omitempty"` - // The name of the tag or actor. - Tag *string `json:"tag,omitempty"` - // Unique identifier for the tag. - TagKey *string `json:"tagKey,omitempty"` - // The role of the actor or tag in the media. - Role *string `json:"role,omitempty"` -} - -func (o *GetSearchAllLibrariesRole) GetID() *int64 { - if o == nil { - return nil - } - return o.ID -} - -func (o *GetSearchAllLibrariesRole) GetFilter() *string { - if o == nil { - return nil - } - return o.Filter -} - -func (o *GetSearchAllLibrariesRole) GetThumb() *string { - if o == nil { - return nil - } - return o.Thumb -} - -func (o *GetSearchAllLibrariesRole) GetTag() *string { - if o == nil { - return nil - } - return o.Tag -} - -func (o *GetSearchAllLibrariesRole) GetTagKey() *string { - if o == nil { - return nil - } - return o.TagKey -} - -func (o *GetSearchAllLibrariesRole) GetRole() *string { - if o == nil { - return nil - } - return o.Role -} - -type GetSearchAllLibrariesLocation struct { - Path *string `json:"path,omitempty"` -} - -func (o *GetSearchAllLibrariesLocation) GetPath() *string { - if o == nil { - return nil - } - return o.Path -} - -type GetSearchAllLibrariesMediaGUID struct { - // Can be one of the following formats: - // imdb://tt13015952, tmdb://2434012, tvdb://7945991 - // - ID string `json:"id"` -} - -func (o *GetSearchAllLibrariesMediaGUID) GetID() string { - if o == nil { - return "" - } - return o.ID -} - -type GetSearchAllLibrariesUltraBlurColors struct { - TopLeft string `json:"topLeft"` - TopRight string `json:"topRight"` - BottomRight string `json:"bottomRight"` - BottomLeft string `json:"bottomLeft"` -} - -func (o *GetSearchAllLibrariesUltraBlurColors) GetTopLeft() string { - if o == nil { - return "" - } - return o.TopLeft -} - -func (o *GetSearchAllLibrariesUltraBlurColors) GetTopRight() string { - if o == nil { - return "" - } - return o.TopRight -} - -func (o *GetSearchAllLibrariesUltraBlurColors) GetBottomRight() string { - if o == nil { - return "" - } - return o.BottomRight -} - -func (o *GetSearchAllLibrariesUltraBlurColors) GetBottomLeft() string { - if o == nil { - return "" - } - return o.BottomLeft -} - -type GetSearchAllLibrariesMetaDataRating struct { - // A URI or path to the rating image. - Image string `json:"image"` - // The value of the rating. - Value float32 `json:"value"` - // The type of rating (e.g., audience, critic). - Type string `json:"type"` -} - -func (o *GetSearchAllLibrariesMetaDataRating) GetImage() string { - if o == nil { - return "" - } - return o.Image -} - -func (o *GetSearchAllLibrariesMetaDataRating) GetValue() float32 { - if o == nil { - return 0.0 - } - return o.Value -} - -func (o *GetSearchAllLibrariesMetaDataRating) GetType() string { - if o == nil { - return "" - } - return o.Type -} - type GetSearchAllLibrariesLibraryType string const ( @@ -1138,106 +330,918 @@ func (o *GetSearchAllLibrariesImage) GetURL() string { return o.URL } +type GetSearchAllLibrariesUltraBlurColors struct { + TopLeft string `json:"topLeft"` + TopRight string `json:"topRight"` + BottomRight string `json:"bottomRight"` + BottomLeft string `json:"bottomLeft"` +} + +func (o *GetSearchAllLibrariesUltraBlurColors) GetTopLeft() string { + if o == nil { + return "" + } + return o.TopLeft +} + +func (o *GetSearchAllLibrariesUltraBlurColors) GetTopRight() string { + if o == nil { + return "" + } + return o.TopRight +} + +func (o *GetSearchAllLibrariesUltraBlurColors) GetBottomRight() string { + if o == nil { + return "" + } + return o.BottomRight +} + +func (o *GetSearchAllLibrariesUltraBlurColors) GetBottomLeft() string { + if o == nil { + return "" + } + return o.BottomLeft +} + +type GetSearchAllLibrariesGuids struct { + // The unique identifier for the Guid. Can be prefixed with imdb://, tmdb://, tvdb:// + // + ID string `json:"id"` +} + +func (o *GetSearchAllLibrariesGuids) GetID() string { + if o == nil { + return "" + } + return o.ID +} + +// GetSearchAllLibrariesShowOrdering - Setting that indicates the episode ordering for the show. +// Options: +// - None = Library default +// - tmdbAiring = The Movie Database (Aired) +// - aired = TheTVDB (Aired) +// - dvd = TheTVDB (DVD) +// - absolute = TheTVDB (Absolute) +type GetSearchAllLibrariesShowOrdering string + +const ( + GetSearchAllLibrariesShowOrderingNone GetSearchAllLibrariesShowOrdering = "None" + GetSearchAllLibrariesShowOrderingTmdbAiring GetSearchAllLibrariesShowOrdering = "tmdbAiring" + GetSearchAllLibrariesShowOrderingTvdbAired GetSearchAllLibrariesShowOrdering = "aired" + GetSearchAllLibrariesShowOrderingTvdbDvd GetSearchAllLibrariesShowOrdering = "dvd" + GetSearchAllLibrariesShowOrderingTvdbAbsolute GetSearchAllLibrariesShowOrdering = "absolute" +) + +func (e GetSearchAllLibrariesShowOrdering) ToPointer() *GetSearchAllLibrariesShowOrdering { + return &e +} + +// GetSearchAllLibrariesFlattenSeasons - Setting that indicates if seasons are set to hidden for the show. (-1 = Library default, 0 = Hide, 1 = Show). +type GetSearchAllLibrariesFlattenSeasons string + +const ( + GetSearchAllLibrariesFlattenSeasonsLibraryDefault GetSearchAllLibrariesFlattenSeasons = "-1" + GetSearchAllLibrariesFlattenSeasonsHide GetSearchAllLibrariesFlattenSeasons = "0" + GetSearchAllLibrariesFlattenSeasonsShow GetSearchAllLibrariesFlattenSeasons = "1" +) + +func (e GetSearchAllLibrariesFlattenSeasons) ToPointer() *GetSearchAllLibrariesFlattenSeasons { + return &e +} + +type GetSearchAllLibrariesOptimizedForStreaming1 int + +const ( + GetSearchAllLibrariesOptimizedForStreaming1Zero GetSearchAllLibrariesOptimizedForStreaming1 = 0 + GetSearchAllLibrariesOptimizedForStreaming1One GetSearchAllLibrariesOptimizedForStreaming1 = 1 +) + +func (e GetSearchAllLibrariesOptimizedForStreaming1) ToPointer() *GetSearchAllLibrariesOptimizedForStreaming1 { + return &e +} +func (e *GetSearchAllLibrariesOptimizedForStreaming1) UnmarshalJSON(data []byte) error { + var v int + if err := json.Unmarshal(data, &v); err != nil { + return err + } + switch v { + case 0: + fallthrough + case 1: + *e = GetSearchAllLibrariesOptimizedForStreaming1(v) + return nil + default: + return fmt.Errorf("invalid value for GetSearchAllLibrariesOptimizedForStreaming1: %v", v) + } +} + +type GetSearchAllLibrariesOptimizedForStreamingType string + +const ( + GetSearchAllLibrariesOptimizedForStreamingTypeGetSearchAllLibrariesOptimizedForStreaming1 GetSearchAllLibrariesOptimizedForStreamingType = "get-search-all-libraries_optimizedForStreaming_1" + GetSearchAllLibrariesOptimizedForStreamingTypeBoolean GetSearchAllLibrariesOptimizedForStreamingType = "boolean" +) + +// GetSearchAllLibrariesOptimizedForStreaming - Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true +type GetSearchAllLibrariesOptimizedForStreaming struct { + GetSearchAllLibrariesOptimizedForStreaming1 *GetSearchAllLibrariesOptimizedForStreaming1 `queryParam:"inline"` + Boolean *bool `queryParam:"inline"` + + Type GetSearchAllLibrariesOptimizedForStreamingType +} + +func CreateGetSearchAllLibrariesOptimizedForStreamingGetSearchAllLibrariesOptimizedForStreaming1(getSearchAllLibrariesOptimizedForStreaming1 GetSearchAllLibrariesOptimizedForStreaming1) GetSearchAllLibrariesOptimizedForStreaming { + typ := GetSearchAllLibrariesOptimizedForStreamingTypeGetSearchAllLibrariesOptimizedForStreaming1 + + return GetSearchAllLibrariesOptimizedForStreaming{ + GetSearchAllLibrariesOptimizedForStreaming1: &getSearchAllLibrariesOptimizedForStreaming1, + Type: typ, + } +} + +func CreateGetSearchAllLibrariesOptimizedForStreamingBoolean(boolean bool) GetSearchAllLibrariesOptimizedForStreaming { + typ := GetSearchAllLibrariesOptimizedForStreamingTypeBoolean + + return GetSearchAllLibrariesOptimizedForStreaming{ + Boolean: &boolean, + Type: typ, + } +} + +func (u *GetSearchAllLibrariesOptimizedForStreaming) UnmarshalJSON(data []byte) error { + + var getSearchAllLibrariesOptimizedForStreaming1 GetSearchAllLibrariesOptimizedForStreaming1 = GetSearchAllLibrariesOptimizedForStreaming1(0) + if err := utils.UnmarshalJSON(data, &getSearchAllLibrariesOptimizedForStreaming1, "", true, true); err == nil { + u.GetSearchAllLibrariesOptimizedForStreaming1 = &getSearchAllLibrariesOptimizedForStreaming1 + u.Type = GetSearchAllLibrariesOptimizedForStreamingTypeGetSearchAllLibrariesOptimizedForStreaming1 + return nil + } + + var boolean bool = false + if err := utils.UnmarshalJSON(data, &boolean, "", true, true); err == nil { + u.Boolean = &boolean + u.Type = GetSearchAllLibrariesOptimizedForStreamingTypeBoolean + return nil + } + + return fmt.Errorf("could not unmarshal `%s` into any supported union types for GetSearchAllLibrariesOptimizedForStreaming", string(data)) +} + +func (u GetSearchAllLibrariesOptimizedForStreaming) MarshalJSON() ([]byte, error) { + if u.GetSearchAllLibrariesOptimizedForStreaming1 != nil { + return utils.MarshalJSON(u.GetSearchAllLibrariesOptimizedForStreaming1, "", true) + } + + if u.Boolean != nil { + return utils.MarshalJSON(u.Boolean, "", true) + } + + return nil, errors.New("could not marshal union type GetSearchAllLibrariesOptimizedForStreaming: all fields are null") +} + +type GetSearchAllLibrariesOptimizedForStreamingLibrary1 int + +const ( + GetSearchAllLibrariesOptimizedForStreamingLibrary1Zero GetSearchAllLibrariesOptimizedForStreamingLibrary1 = 0 + GetSearchAllLibrariesOptimizedForStreamingLibrary1One GetSearchAllLibrariesOptimizedForStreamingLibrary1 = 1 +) + +func (e GetSearchAllLibrariesOptimizedForStreamingLibrary1) ToPointer() *GetSearchAllLibrariesOptimizedForStreamingLibrary1 { + return &e +} +func (e *GetSearchAllLibrariesOptimizedForStreamingLibrary1) UnmarshalJSON(data []byte) error { + var v int + if err := json.Unmarshal(data, &v); err != nil { + return err + } + switch v { + case 0: + fallthrough + case 1: + *e = GetSearchAllLibrariesOptimizedForStreamingLibrary1(v) + return nil + default: + return fmt.Errorf("invalid value for GetSearchAllLibrariesOptimizedForStreamingLibrary1: %v", v) + } +} + +type GetSearchAllLibrariesLibraryOptimizedForStreamingType string + +const ( + GetSearchAllLibrariesLibraryOptimizedForStreamingTypeGetSearchAllLibrariesOptimizedForStreamingLibrary1 GetSearchAllLibrariesLibraryOptimizedForStreamingType = "get-search-all-libraries_optimizedForStreaming_Library_1" + GetSearchAllLibrariesLibraryOptimizedForStreamingTypeBoolean GetSearchAllLibrariesLibraryOptimizedForStreamingType = "boolean" +) + +// GetSearchAllLibrariesLibraryOptimizedForStreaming - Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true +type GetSearchAllLibrariesLibraryOptimizedForStreaming struct { + GetSearchAllLibrariesOptimizedForStreamingLibrary1 *GetSearchAllLibrariesOptimizedForStreamingLibrary1 `queryParam:"inline"` + Boolean *bool `queryParam:"inline"` + + Type GetSearchAllLibrariesLibraryOptimizedForStreamingType +} + +func CreateGetSearchAllLibrariesLibraryOptimizedForStreamingGetSearchAllLibrariesOptimizedForStreamingLibrary1(getSearchAllLibrariesOptimizedForStreamingLibrary1 GetSearchAllLibrariesOptimizedForStreamingLibrary1) GetSearchAllLibrariesLibraryOptimizedForStreaming { + typ := GetSearchAllLibrariesLibraryOptimizedForStreamingTypeGetSearchAllLibrariesOptimizedForStreamingLibrary1 + + return GetSearchAllLibrariesLibraryOptimizedForStreaming{ + GetSearchAllLibrariesOptimizedForStreamingLibrary1: &getSearchAllLibrariesOptimizedForStreamingLibrary1, + Type: typ, + } +} + +func CreateGetSearchAllLibrariesLibraryOptimizedForStreamingBoolean(boolean bool) GetSearchAllLibrariesLibraryOptimizedForStreaming { + typ := GetSearchAllLibrariesLibraryOptimizedForStreamingTypeBoolean + + return GetSearchAllLibrariesLibraryOptimizedForStreaming{ + Boolean: &boolean, + Type: typ, + } +} + +func (u *GetSearchAllLibrariesLibraryOptimizedForStreaming) UnmarshalJSON(data []byte) error { + + var getSearchAllLibrariesOptimizedForStreamingLibrary1 GetSearchAllLibrariesOptimizedForStreamingLibrary1 = GetSearchAllLibrariesOptimizedForStreamingLibrary1(0) + if err := utils.UnmarshalJSON(data, &getSearchAllLibrariesOptimizedForStreamingLibrary1, "", true, true); err == nil { + u.GetSearchAllLibrariesOptimizedForStreamingLibrary1 = &getSearchAllLibrariesOptimizedForStreamingLibrary1 + u.Type = GetSearchAllLibrariesLibraryOptimizedForStreamingTypeGetSearchAllLibrariesOptimizedForStreamingLibrary1 + return nil + } + + var boolean bool = false + if err := utils.UnmarshalJSON(data, &boolean, "", true, true); err == nil { + u.Boolean = &boolean + u.Type = GetSearchAllLibrariesLibraryOptimizedForStreamingTypeBoolean + return nil + } + + return fmt.Errorf("could not unmarshal `%s` into any supported union types for GetSearchAllLibrariesLibraryOptimizedForStreaming", string(data)) +} + +func (u GetSearchAllLibrariesLibraryOptimizedForStreaming) MarshalJSON() ([]byte, error) { + if u.GetSearchAllLibrariesOptimizedForStreamingLibrary1 != nil { + return utils.MarshalJSON(u.GetSearchAllLibrariesOptimizedForStreamingLibrary1, "", true) + } + + if u.Boolean != nil { + return utils.MarshalJSON(u.Boolean, "", true) + } + + return nil, errors.New("could not marshal union type GetSearchAllLibrariesLibraryOptimizedForStreaming: all fields are null") +} + +// GetSearchAllLibrariesHasThumbnail - Indicates if the part has a thumbnail. +type GetSearchAllLibrariesHasThumbnail string + +const ( + GetSearchAllLibrariesHasThumbnailFalse GetSearchAllLibrariesHasThumbnail = "0" + GetSearchAllLibrariesHasThumbnailTrue GetSearchAllLibrariesHasThumbnail = "1" +) + +func (e GetSearchAllLibrariesHasThumbnail) ToPointer() *GetSearchAllLibrariesHasThumbnail { + return &e +} +func (e *GetSearchAllLibrariesHasThumbnail) UnmarshalJSON(data []byte) error { + var v string + if err := json.Unmarshal(data, &v); err != nil { + return err + } + switch v { + case "0": + fallthrough + case "1": + *e = GetSearchAllLibrariesHasThumbnail(v) + return nil + default: + return fmt.Errorf("invalid value for GetSearchAllLibrariesHasThumbnail: %v", v) + } +} + +type GetSearchAllLibrariesPart struct { + // Indicates if the part is accessible. + Accessible *bool `json:"accessible,omitempty"` + // Indicates if the part exists. + Exists *bool `json:"exists,omitempty"` + // Unique part identifier. + ID int64 `json:"id"` + // Key to access this part. + Key *string `json:"key,omitempty"` + Indexes *string `json:"indexes,omitempty"` + // Duration of the part in milliseconds. + Duration *int `json:"duration,omitempty"` + // File path for the part. + File *string `json:"file,omitempty"` + // File size in bytes. + Size *int64 `json:"size,omitempty"` + PacketLength *int `json:"packetLength,omitempty"` + // Container format of the part. + Container *string `json:"container,omitempty"` + // Video profile for the part. + VideoProfile *string `json:"videoProfile,omitempty"` + // The audio profile used for the media (e.g., DTS, Dolby Digital, etc.). + AudioProfile *string `json:"audioProfile,omitempty"` + Has64bitOffsets *bool `json:"has64bitOffsets,omitempty"` + // Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true + // + OptimizedForStreaming *GetSearchAllLibrariesLibraryOptimizedForStreaming `json:"optimizedForStreaming,omitempty"` + HasThumbnail *GetSearchAllLibrariesHasThumbnail `default:"0" json:"hasThumbnail"` +} + +func (g GetSearchAllLibrariesPart) MarshalJSON() ([]byte, error) { + return utils.MarshalJSON(g, "", false) +} + +func (g *GetSearchAllLibrariesPart) UnmarshalJSON(data []byte) error { + if err := utils.UnmarshalJSON(data, &g, "", false, false); err != nil { + return err + } + return nil +} + +func (o *GetSearchAllLibrariesPart) GetAccessible() *bool { + if o == nil { + return nil + } + return o.Accessible +} + +func (o *GetSearchAllLibrariesPart) GetExists() *bool { + if o == nil { + return nil + } + return o.Exists +} + +func (o *GetSearchAllLibrariesPart) GetID() int64 { + if o == nil { + return 0 + } + return o.ID +} + +func (o *GetSearchAllLibrariesPart) GetKey() *string { + if o == nil { + return nil + } + return o.Key +} + +func (o *GetSearchAllLibrariesPart) GetIndexes() *string { + if o == nil { + return nil + } + return o.Indexes +} + +func (o *GetSearchAllLibrariesPart) GetDuration() *int { + if o == nil { + return nil + } + return o.Duration +} + +func (o *GetSearchAllLibrariesPart) GetFile() *string { + if o == nil { + return nil + } + return o.File +} + +func (o *GetSearchAllLibrariesPart) GetSize() *int64 { + if o == nil { + return nil + } + return o.Size +} + +func (o *GetSearchAllLibrariesPart) GetPacketLength() *int { + if o == nil { + return nil + } + return o.PacketLength +} + +func (o *GetSearchAllLibrariesPart) GetContainer() *string { + if o == nil { + return nil + } + return o.Container +} + +func (o *GetSearchAllLibrariesPart) GetVideoProfile() *string { + if o == nil { + return nil + } + return o.VideoProfile +} + +func (o *GetSearchAllLibrariesPart) GetAudioProfile() *string { + if o == nil { + return nil + } + return o.AudioProfile +} + +func (o *GetSearchAllLibrariesPart) GetHas64bitOffsets() *bool { + if o == nil { + return nil + } + return o.Has64bitOffsets +} + +func (o *GetSearchAllLibrariesPart) GetOptimizedForStreaming() *GetSearchAllLibrariesLibraryOptimizedForStreaming { + if o == nil { + return nil + } + return o.OptimizedForStreaming +} + +func (o *GetSearchAllLibrariesPart) GetHasThumbnail() *GetSearchAllLibrariesHasThumbnail { + if o == nil { + return nil + } + return o.HasThumbnail +} + +type GetSearchAllLibrariesMedia struct { + // Unique media identifier. + ID int64 `json:"id"` + // Duration of the media in milliseconds. + Duration *int `json:"duration,omitempty"` + // Bitrate in bits per second. + Bitrate *int `json:"bitrate,omitempty"` + // Video width in pixels. + Width *int `json:"width,omitempty"` + // Video height in pixels. + Height *int `json:"height,omitempty"` + // Aspect ratio of the video. + AspectRatio *float32 `json:"aspectRatio,omitempty"` + // Number of audio channels. + AudioChannels *int `json:"audioChannels,omitempty"` + DisplayOffset *int `json:"displayOffset,omitempty"` + // Audio codec used. + AudioCodec *string `json:"audioCodec,omitempty"` + // Video codec used. + VideoCodec *string `json:"videoCodec,omitempty"` + // Video resolution (e.g., 4k). + VideoResolution *string `json:"videoResolution,omitempty"` + // Container format of the media. + Container *string `json:"container,omitempty"` + // Frame rate of the video. Values found include NTSC, PAL, 24p + // + VideoFrameRate *string `json:"videoFrameRate,omitempty"` + // Video profile (e.g., main 10). + VideoProfile *string `json:"videoProfile,omitempty"` + // Indicates whether voice activity is detected. + HasVoiceActivity *bool `json:"hasVoiceActivity,omitempty"` + // The audio profile used for the media (e.g., DTS, Dolby Digital, etc.). + AudioProfile *string `json:"audioProfile,omitempty"` + // Has this media been optimized for streaming. NOTE: This can be 0, 1, false or true + OptimizedForStreaming *GetSearchAllLibrariesOptimizedForStreaming `json:"optimizedForStreaming,omitempty"` + // Indicates whether the media has 64-bit offsets. + // This is relevant for media files that may require larger offsets than what 32-bit integers can provide. + // + Has64bitOffsets *bool `json:"has64bitOffsets,omitempty"` + Part []GetSearchAllLibrariesPart `json:"Part,omitempty"` +} + +func (o *GetSearchAllLibrariesMedia) GetID() int64 { + if o == nil { + return 0 + } + return o.ID +} + +func (o *GetSearchAllLibrariesMedia) GetDuration() *int { + if o == nil { + return nil + } + return o.Duration +} + +func (o *GetSearchAllLibrariesMedia) GetBitrate() *int { + if o == nil { + return nil + } + return o.Bitrate +} + +func (o *GetSearchAllLibrariesMedia) GetWidth() *int { + if o == nil { + return nil + } + return o.Width +} + +func (o *GetSearchAllLibrariesMedia) GetHeight() *int { + if o == nil { + return nil + } + return o.Height +} + +func (o *GetSearchAllLibrariesMedia) GetAspectRatio() *float32 { + if o == nil { + return nil + } + return o.AspectRatio +} + +func (o *GetSearchAllLibrariesMedia) GetAudioChannels() *int { + if o == nil { + return nil + } + return o.AudioChannels +} + +func (o *GetSearchAllLibrariesMedia) GetDisplayOffset() *int { + if o == nil { + return nil + } + return o.DisplayOffset +} + +func (o *GetSearchAllLibrariesMedia) GetAudioCodec() *string { + if o == nil { + return nil + } + return o.AudioCodec +} + +func (o *GetSearchAllLibrariesMedia) GetVideoCodec() *string { + if o == nil { + return nil + } + return o.VideoCodec +} + +func (o *GetSearchAllLibrariesMedia) GetVideoResolution() *string { + if o == nil { + return nil + } + return o.VideoResolution +} + +func (o *GetSearchAllLibrariesMedia) GetContainer() *string { + if o == nil { + return nil + } + return o.Container +} + +func (o *GetSearchAllLibrariesMedia) GetVideoFrameRate() *string { + if o == nil { + return nil + } + return o.VideoFrameRate +} + +func (o *GetSearchAllLibrariesMedia) GetVideoProfile() *string { + if o == nil { + return nil + } + return o.VideoProfile +} + +func (o *GetSearchAllLibrariesMedia) GetHasVoiceActivity() *bool { + if o == nil { + return nil + } + return o.HasVoiceActivity +} + +func (o *GetSearchAllLibrariesMedia) GetAudioProfile() *string { + if o == nil { + return nil + } + return o.AudioProfile +} + +func (o *GetSearchAllLibrariesMedia) GetOptimizedForStreaming() *GetSearchAllLibrariesOptimizedForStreaming { + if o == nil { + return nil + } + return o.OptimizedForStreaming +} + +func (o *GetSearchAllLibrariesMedia) GetHas64bitOffsets() *bool { + if o == nil { + return nil + } + return o.Has64bitOffsets +} + +func (o *GetSearchAllLibrariesMedia) GetPart() []GetSearchAllLibrariesPart { + if o == nil { + return nil + } + return o.Part +} + +type GetSearchAllLibrariesGenre struct { + // The unique identifier for the genre. + // NOTE: This is different for each Plex server and is not globally unique. + // + ID int `json:"id"` + // The genre name of this media-item + // + Tag string `json:"tag"` +} + +func (o *GetSearchAllLibrariesGenre) GetID() int { + if o == nil { + return 0 + } + return o.ID +} + +func (o *GetSearchAllLibrariesGenre) GetTag() string { + if o == nil { + return "" + } + return o.Tag +} + +type GetSearchAllLibrariesCountry struct { + // The unique identifier for the country. + // NOTE: This is different for each Plex server and is not globally unique. + // + ID int `json:"id"` + // The country of origin of this media item + Tag string `json:"tag"` +} + +func (o *GetSearchAllLibrariesCountry) GetID() int { + if o == nil { + return 0 + } + return o.ID +} + +func (o *GetSearchAllLibrariesCountry) GetTag() string { + if o == nil { + return "" + } + return o.Tag +} + +type GetSearchAllLibrariesDirector struct { + // Unique identifier for the director. + ID int `json:"id"` + // The role of Director + Tag string `json:"tag"` + // The absolute URL of the thumbnail image for the director. + Thumb *string `json:"thumb,omitempty"` +} + +func (o *GetSearchAllLibrariesDirector) GetID() int { + if o == nil { + return 0 + } + return o.ID +} + +func (o *GetSearchAllLibrariesDirector) GetTag() string { + if o == nil { + return "" + } + return o.Tag +} + +func (o *GetSearchAllLibrariesDirector) GetThumb() *string { + if o == nil { + return nil + } + return o.Thumb +} + +type GetSearchAllLibrariesWriter struct { + // Unique identifier for the writer. + ID int `json:"id"` + // The role of Writer + Tag string `json:"tag"` + // The absolute URL of the thumbnail image for the writer. + Thumb *string `json:"thumb,omitempty"` +} + +func (o *GetSearchAllLibrariesWriter) GetID() int { + if o == nil { + return 0 + } + return o.ID +} + +func (o *GetSearchAllLibrariesWriter) GetTag() string { + if o == nil { + return "" + } + return o.Tag +} + +func (o *GetSearchAllLibrariesWriter) GetThumb() *string { + if o == nil { + return nil + } + return o.Thumb +} + +type GetSearchAllLibrariesRole struct { + // The unique identifier for the role. + // NOTE: This is different for each Plex server and is not globally unique. + // + ID int `json:"id"` + // The display tag for the actor (typically the actor's name). + Tag string `json:"tag"` + // The role played by the actor in the media item. + Role *string `json:"role,omitempty"` + // The absolute URL of the thumbnail image for the actor. + Thumb *string `json:"thumb,omitempty"` +} + +func (o *GetSearchAllLibrariesRole) GetID() int { + if o == nil { + return 0 + } + return o.ID +} + +func (o *GetSearchAllLibrariesRole) GetTag() string { + if o == nil { + return "" + } + return o.Tag +} + +func (o *GetSearchAllLibrariesRole) GetRole() *string { + if o == nil { + return nil + } + return o.Role +} + +func (o *GetSearchAllLibrariesRole) GetThumb() *string { + if o == nil { + return nil + } + return o.Thumb +} + +// GetSearchAllLibrariesLocation - The folder path for the media item. +type GetSearchAllLibrariesLocation struct { + Path string `json:"path"` +} + +func (o *GetSearchAllLibrariesLocation) GetPath() string { + if o == nil { + return "" + } + return o.Path +} + +// GetSearchAllLibrariesMetadata - Unknown type GetSearchAllLibrariesMetadata struct { - // The rating key (Media ID) of this media item. - // Note: This is always an integer, but is represented as a string in the API. - // - RatingKey string `json:"ratingKey"` - Key string `json:"key"` - GUID string `json:"guid"` - Studio *string `json:"studio,omitempty"` - SkipChildren *bool `json:"skipChildren,omitempty"` - LibrarySectionID *int64 `json:"librarySectionID,omitempty"` - LibrarySectionTitle *string `json:"librarySectionTitle,omitempty"` - LibrarySectionKey *string `json:"librarySectionKey,omitempty"` - // The type of media content in the Plex library. This can represent videos, music, or photos. - // - Type GetSearchAllLibrariesType `json:"type"` - Title string `json:"title"` - Slug *string `json:"slug,omitempty"` - ContentRating *string `json:"contentRating,omitempty"` - Summary string `json:"summary"` - Rating *float64 `json:"rating,omitempty"` - AudienceRating *float64 `json:"audienceRating,omitempty"` - Year *int `json:"year,omitempty"` - SeasonCount *int `json:"seasonCount,omitempty"` - Tagline *string `json:"tagline,omitempty"` - // Setting that indicates if seasons are set to hidden for the show. (-1 = Library default, 0 = Hide, 1 = Show). - FlattenSeasons *GetSearchAllLibrariesFlattenSeasons `json:"flattenSeasons,omitempty"` - // Setting that indicates how episodes are sorted for the show. (-1 = Library default, 0 = Oldest first, 1 = Newest first). - EpisodeSort *GetSearchAllLibrariesEpisodeSort `json:"episodeSort,omitempty"` - // Setting that indicates if credits markers detection is enabled. (-1 = Library default, 0 = Disabled). - EnableCreditsMarkerGeneration *GetSearchAllLibrariesEnableCreditsMarkerGeneration `json:"enableCreditsMarkerGeneration,omitempty"` - // 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)). - // - ShowOrdering *GetSearchAllLibrariesShowOrdering `json:"showOrdering,omitempty"` - Thumb *string `json:"thumb,omitempty"` - Art *string `json:"art,omitempty"` - Banner *string `json:"banner,omitempty"` - Duration *int `json:"duration,omitempty"` - OriginallyAvailableAt *types.Date `json:"originallyAvailableAt,omitempty"` + // The rating key (Media ID) of this media item. Note: Although this is always an integer, it is represented as a string in the API. + RatingKey string `json:"ratingKey"` + // The unique key for the media item. + Key string `json:"key"` + // The globally unique identifier for the media item. + GUID string `json:"guid"` + // A URL‐friendly version of the media title. + Slug string `json:"slug"` + // The studio that produced the media item. + Studio *string `json:"studio,omitempty"` + Type GetSearchAllLibrariesType `json:"type"` + // The title of the media item. + Title string `json:"title"` + // The banner image URL for the media item. + Banner string `json:"banner"` + // The sort title used for ordering media items. + TitleSort string `json:"titleSort"` + // The content rating for the media item. + ContentRating *string `json:"contentRating,omitempty"` + // A synopsis of the media item. + Summary string `json:"summary"` + // The critic rating for the media item. + Rating float32 `json:"rating"` + // The audience rating for the media item. + AudienceRating float64 `json:"audienceRating"` + // The release year of the media item. + Year *int `json:"year,omitempty"` + // A brief tagline for the media item. + Tagline string `json:"tagline"` + // The thumbnail image URL for the media item. + Thumb string `json:"thumb"` + // The art image URL for the media item. + Art string `json:"art"` + // The theme URL for the media item. + Theme string `json:"theme"` + // The index position of the media item. + Index int `json:"index"` + // The number of leaf items (end nodes) under this media item. + LeafCount *int `json:"leafCount,omitempty"` + // The number of leaf items that have been viewed. + ViewedLeafCount *int `json:"viewedLeafCount,omitempty"` + // The number of child items associated with this media item. + ChildCount int `json:"childCount"` + // The total number of seasons (for TV shows). + SeasonCount int `json:"seasonCount"` + // The duration of the media item in milliseconds. + Duration int `json:"duration"` + // The original release date of the media item. + OriginallyAvailableAt *types.Date `json:"originallyAvailableAt,omitempty"` + AddedAt int64 `json:"addedAt"` // Unix epoch datetime in seconds - AddedAt int64 `json:"addedAt"` - // Unix epoch datetime in seconds - UpdatedAt *int64 `json:"updatedAt,omitempty"` - AudienceRatingImage *string `json:"audienceRatingImage,omitempty"` - ChapterSource *string `json:"chapterSource,omitempty"` - PrimaryExtraKey *string `json:"primaryExtraKey,omitempty"` - RatingImage *string `json:"ratingImage,omitempty"` - GrandparentRatingKey *string `json:"grandparentRatingKey,omitempty"` - GrandparentGUID *string `json:"grandparentGuid,omitempty"` - GrandparentKey *string `json:"grandparentKey,omitempty"` - GrandparentTitle *string `json:"grandparentTitle,omitempty"` - GrandparentThumb *string `json:"grandparentThumb,omitempty"` - ParentSlug *string `json:"parentSlug,omitempty"` - GrandparentSlug *string `json:"grandparentSlug,omitempty"` - GrandparentArt *string `json:"grandparentArt,omitempty"` - GrandparentTheme *string `json:"grandparentTheme,omitempty"` - // The Media object is only included when type query is `4` or higher. - // - Media []GetSearchAllLibrariesMedia `json:"Media,omitempty"` - Genre []GetSearchAllLibrariesGenre `json:"Genre,omitempty"` - Country []GetSearchAllLibrariesCountry `json:"Country,omitempty"` - Director []GetSearchAllLibrariesDirector `json:"Director,omitempty"` - Writer []GetSearchAllLibrariesWriter `json:"Writer,omitempty"` - Collection []GetSearchAllLibrariesCollection `json:"Collection,omitempty"` - Role []GetSearchAllLibrariesRole `json:"Role,omitempty"` - Location []GetSearchAllLibrariesLocation `json:"Location,omitempty"` - // The Guid object is only included in the response if the `includeGuids` parameter is set to `1`. - // - MediaGUID []GetSearchAllLibrariesMediaGUID `json:"Guid,omitempty"` - UltraBlurColors *GetSearchAllLibrariesUltraBlurColors `json:"UltraBlurColors,omitempty"` - MetaDataRating []GetSearchAllLibrariesMetaDataRating `json:"Rating,omitempty"` - Image []GetSearchAllLibrariesImage `json:"Image,omitempty"` - TitleSort *string `json:"titleSort,omitempty"` - ViewCount *int `json:"viewCount,omitempty"` - LastViewedAt *int `json:"lastViewedAt,omitempty"` - OriginalTitle *string `json:"originalTitle,omitempty"` - ViewOffset *int `json:"viewOffset,omitempty"` - SkipCount *int `json:"skipCount,omitempty"` - Index *int `json:"index,omitempty"` - Theme *string `json:"theme,omitempty"` - LeafCount *int `json:"leafCount,omitempty"` - ViewedLeafCount *int `json:"viewedLeafCount,omitempty"` - ChildCount *int `json:"childCount,omitempty"` - HasPremiumExtras *string `json:"hasPremiumExtras,omitempty"` - HasPremiumPrimaryExtra *string `json:"hasPremiumPrimaryExtra,omitempty"` - // The rating key of the parent item. - // + UpdatedAt *int64 `json:"updatedAt,omitempty"` + // The release year of the parent media item. + ParentYear *int `json:"parentYear,omitempty"` + // The URL for the audience rating image. + AudienceRatingImage *string `json:"audienceRatingImage,omitempty"` + // The source from which chapter data is derived. + ChapterSource *string `json:"chapterSource,omitempty"` + // The primary extra key associated with this media item. + PrimaryExtraKey *string `json:"primaryExtraKey,omitempty"` + // The original title of the media item (if different). + OriginalTitle *string `json:"originalTitle,omitempty"` + // The rating key of the parent media item. ParentRatingKey *string `json:"parentRatingKey,omitempty"` - ParentGUID *string `json:"parentGuid,omitempty"` - ParentStudio *string `json:"parentStudio,omitempty"` - ParentKey *string `json:"parentKey,omitempty"` - ParentTitle *string `json:"parentTitle,omitempty"` - ParentIndex *int `json:"parentIndex,omitempty"` - ParentYear *int `json:"parentYear,omitempty"` - ParentThumb *string `json:"parentThumb,omitempty"` - ParentTheme *string `json:"parentTheme,omitempty"` + // The rating key of the grandparent media item. + GrandparentRatingKey *string `json:"grandparentRatingKey,omitempty"` + // The GUID of the parent media item. + ParentGUID *string `json:"parentGuid,omitempty"` + // The GUID of the grandparent media item. + GrandparentGUID *string `json:"grandparentGuid,omitempty"` + // The slug for the grandparent media item. + GrandparentSlug *string `json:"grandparentSlug,omitempty"` + // The key of the grandparent media item. + GrandparentKey *string `json:"grandparentKey,omitempty"` + // The key of the parent media item. + ParentKey *string `json:"parentKey,omitempty"` + // The title of the grandparent media item. + GrandparentTitle *string `json:"grandparentTitle,omitempty"` + // The thumbnail URL for the grandparent media item. + GrandparentThumb *string `json:"grandparentThumb,omitempty"` + // The theme URL for the grandparent media item. + GrandparentTheme *string `json:"grandparentTheme,omitempty"` + // The art URL for the grandparent media item. + GrandparentArt *string `json:"grandparentArt,omitempty"` + // The title of the parent media item. + ParentTitle *string `json:"parentTitle,omitempty"` + // The index position of the parent media item. + ParentIndex *int `json:"parentIndex,omitempty"` + // The thumbnail URL for the parent media item. + ParentThumb *string `json:"parentThumb,omitempty"` + // The URL for the rating image. + RatingImage *string `json:"ratingImage,omitempty"` + // The number of times this media item has been viewed. + ViewCount *int `json:"viewCount,omitempty"` + // The current playback offset (in milliseconds). + ViewOffset *int `json:"viewOffset,omitempty"` + // The number of times this media item has been skipped. + SkipCount *int `json:"skipCount,omitempty"` + // A classification that further describes the type of media item. For example, 'clip' indicates that the item is a short video clip. + Subtype *string `json:"subtype,omitempty"` + // The Unix timestamp representing the last time the item was rated. + LastRatedAt *int64 `json:"lastRatedAt,omitempty"` + // The accuracy of the creation timestamp. This value indicates the format(s) provided (for example, 'epoch,local' means both epoch and local time formats are available). + CreatedAtAccuracy *string `json:"createdAtAccuracy,omitempty"` + // The time zone offset for the creation timestamp, represented as a string. This offset indicates the difference from UTC. + CreatedAtTZOffset *string `json:"createdAtTZOffset,omitempty"` + // Unix timestamp for when the media item was last viewed. + LastViewedAt *int `json:"lastViewedAt,omitempty"` + // The rating provided by a user for the item. This value is expressed as a decimal number. + UserRating *float32 `json:"userRating,omitempty"` + Image []GetSearchAllLibrariesImage `json:"Image,omitempty"` + UltraBlurColors *GetSearchAllLibrariesUltraBlurColors `json:"UltraBlurColors,omitempty"` + Guids []GetSearchAllLibrariesGuids `json:"Guid,omitempty"` + // The identifier for the library section. + LibrarySectionID *int64 `json:"librarySectionID,omitempty"` + // The title of the library section. + LibrarySectionTitle *string `json:"librarySectionTitle,omitempty"` + // The key corresponding to the library section. + LibrarySectionKey *string `json:"librarySectionKey,omitempty"` + // Setting that indicates the episode ordering for the show. + // Options: + // - None = Library default + // - tmdbAiring = The Movie Database (Aired) + // - aired = TheTVDB (Aired) + // - dvd = TheTVDB (DVD) + // - absolute = TheTVDB (Absolute) + // + ShowOrdering *GetSearchAllLibrariesShowOrdering `json:"showOrdering,omitempty"` + // Setting that indicates if seasons are set to hidden for the show. (-1 = Library default, 0 = Hide, 1 = Show). + // + FlattenSeasons *GetSearchAllLibrariesFlattenSeasons `json:"flattenSeasons,omitempty"` + // Indicates whether child items should be skipped. + SkipChildren *bool `json:"skipChildren,omitempty"` + Media []GetSearchAllLibrariesMedia `json:"Media,omitempty"` + Genre []GetSearchAllLibrariesGenre `json:"Genre,omitempty"` + Country []GetSearchAllLibrariesCountry `json:"Country,omitempty"` + Director []GetSearchAllLibrariesDirector `json:"Director,omitempty"` + Writer []GetSearchAllLibrariesWriter `json:"Writer,omitempty"` + Role []GetSearchAllLibrariesRole `json:"Role,omitempty"` + Location []GetSearchAllLibrariesLocation `json:"Location,omitempty"` } func (g GetSearchAllLibrariesMetadata) MarshalJSON() ([]byte, error) { @@ -1272,6 +1276,13 @@ func (o *GetSearchAllLibrariesMetadata) GetGUID() string { return o.GUID } +func (o *GetSearchAllLibrariesMetadata) GetSlug() string { + if o == nil { + return "" + } + return o.Slug +} + func (o *GetSearchAllLibrariesMetadata) GetStudio() *string { if o == nil { return nil @@ -1279,34 +1290,6 @@ func (o *GetSearchAllLibrariesMetadata) GetStudio() *string { return o.Studio } -func (o *GetSearchAllLibrariesMetadata) GetSkipChildren() *bool { - if o == nil { - return nil - } - return o.SkipChildren -} - -func (o *GetSearchAllLibrariesMetadata) GetLibrarySectionID() *int64 { - if o == nil { - return nil - } - return o.LibrarySectionID -} - -func (o *GetSearchAllLibrariesMetadata) GetLibrarySectionTitle() *string { - if o == nil { - return nil - } - return o.LibrarySectionTitle -} - -func (o *GetSearchAllLibrariesMetadata) GetLibrarySectionKey() *string { - if o == nil { - return nil - } - return o.LibrarySectionKey -} - func (o *GetSearchAllLibrariesMetadata) GetType() GetSearchAllLibrariesType { if o == nil { return GetSearchAllLibrariesType("") @@ -1321,11 +1304,18 @@ func (o *GetSearchAllLibrariesMetadata) GetTitle() string { return o.Title } -func (o *GetSearchAllLibrariesMetadata) GetSlug() *string { +func (o *GetSearchAllLibrariesMetadata) GetBanner() string { if o == nil { - return nil + return "" } - return o.Slug + return o.Banner +} + +func (o *GetSearchAllLibrariesMetadata) GetTitleSort() string { + if o == nil { + return "" + } + return o.TitleSort } func (o *GetSearchAllLibrariesMetadata) GetContentRating() *string { @@ -1342,16 +1332,16 @@ func (o *GetSearchAllLibrariesMetadata) GetSummary() string { return o.Summary } -func (o *GetSearchAllLibrariesMetadata) GetRating() *float64 { +func (o *GetSearchAllLibrariesMetadata) GetRating() float32 { if o == nil { - return nil + return 0.0 } return o.Rating } -func (o *GetSearchAllLibrariesMetadata) GetAudienceRating() *float64 { +func (o *GetSearchAllLibrariesMetadata) GetAudienceRating() float64 { if o == nil { - return nil + return 0.0 } return o.AudienceRating } @@ -1363,73 +1353,73 @@ func (o *GetSearchAllLibrariesMetadata) GetYear() *int { return o.Year } -func (o *GetSearchAllLibrariesMetadata) GetSeasonCount() *int { +func (o *GetSearchAllLibrariesMetadata) GetTagline() string { if o == nil { - return nil - } - return o.SeasonCount -} - -func (o *GetSearchAllLibrariesMetadata) GetTagline() *string { - if o == nil { - return nil + return "" } return o.Tagline } -func (o *GetSearchAllLibrariesMetadata) GetFlattenSeasons() *GetSearchAllLibrariesFlattenSeasons { +func (o *GetSearchAllLibrariesMetadata) GetThumb() string { if o == nil { - return nil - } - return o.FlattenSeasons -} - -func (o *GetSearchAllLibrariesMetadata) GetEpisodeSort() *GetSearchAllLibrariesEpisodeSort { - if o == nil { - return nil - } - return o.EpisodeSort -} - -func (o *GetSearchAllLibrariesMetadata) GetEnableCreditsMarkerGeneration() *GetSearchAllLibrariesEnableCreditsMarkerGeneration { - if o == nil { - return nil - } - return o.EnableCreditsMarkerGeneration -} - -func (o *GetSearchAllLibrariesMetadata) GetShowOrdering() *GetSearchAllLibrariesShowOrdering { - if o == nil { - return nil - } - return o.ShowOrdering -} - -func (o *GetSearchAllLibrariesMetadata) GetThumb() *string { - if o == nil { - return nil + return "" } return o.Thumb } -func (o *GetSearchAllLibrariesMetadata) GetArt() *string { +func (o *GetSearchAllLibrariesMetadata) GetArt() string { if o == nil { - return nil + return "" } return o.Art } -func (o *GetSearchAllLibrariesMetadata) GetBanner() *string { +func (o *GetSearchAllLibrariesMetadata) GetTheme() string { + if o == nil { + return "" + } + return o.Theme +} + +func (o *GetSearchAllLibrariesMetadata) GetIndex() int { + if o == nil { + return 0 + } + return o.Index +} + +func (o *GetSearchAllLibrariesMetadata) GetLeafCount() *int { if o == nil { return nil } - return o.Banner + return o.LeafCount } -func (o *GetSearchAllLibrariesMetadata) GetDuration() *int { +func (o *GetSearchAllLibrariesMetadata) GetViewedLeafCount() *int { if o == nil { return nil } + return o.ViewedLeafCount +} + +func (o *GetSearchAllLibrariesMetadata) GetChildCount() int { + if o == nil { + return 0 + } + return o.ChildCount +} + +func (o *GetSearchAllLibrariesMetadata) GetSeasonCount() int { + if o == nil { + return 0 + } + return o.SeasonCount +} + +func (o *GetSearchAllLibrariesMetadata) GetDuration() int { + if o == nil { + return 0 + } return o.Duration } @@ -1454,6 +1444,13 @@ func (o *GetSearchAllLibrariesMetadata) GetUpdatedAt() *int64 { return o.UpdatedAt } +func (o *GetSearchAllLibrariesMetadata) GetParentYear() *int { + if o == nil { + return nil + } + return o.ParentYear +} + func (o *GetSearchAllLibrariesMetadata) GetAudienceRatingImage() *string { if o == nil { return nil @@ -1475,11 +1472,18 @@ func (o *GetSearchAllLibrariesMetadata) GetPrimaryExtraKey() *string { return o.PrimaryExtraKey } -func (o *GetSearchAllLibrariesMetadata) GetRatingImage() *string { +func (o *GetSearchAllLibrariesMetadata) GetOriginalTitle() *string { if o == nil { return nil } - return o.RatingImage + return o.OriginalTitle +} + +func (o *GetSearchAllLibrariesMetadata) GetParentRatingKey() *string { + if o == nil { + return nil + } + return o.ParentRatingKey } func (o *GetSearchAllLibrariesMetadata) GetGrandparentRatingKey() *string { @@ -1489,6 +1493,13 @@ func (o *GetSearchAllLibrariesMetadata) GetGrandparentRatingKey() *string { return o.GrandparentRatingKey } +func (o *GetSearchAllLibrariesMetadata) GetParentGUID() *string { + if o == nil { + return nil + } + return o.ParentGUID +} + func (o *GetSearchAllLibrariesMetadata) GetGrandparentGUID() *string { if o == nil { return nil @@ -1496,6 +1507,13 @@ func (o *GetSearchAllLibrariesMetadata) GetGrandparentGUID() *string { return o.GrandparentGUID } +func (o *GetSearchAllLibrariesMetadata) GetGrandparentSlug() *string { + if o == nil { + return nil + } + return o.GrandparentSlug +} + func (o *GetSearchAllLibrariesMetadata) GetGrandparentKey() *string { if o == nil { return nil @@ -1503,6 +1521,13 @@ func (o *GetSearchAllLibrariesMetadata) GetGrandparentKey() *string { return o.GrandparentKey } +func (o *GetSearchAllLibrariesMetadata) GetParentKey() *string { + if o == nil { + return nil + } + return o.ParentKey +} + func (o *GetSearchAllLibrariesMetadata) GetGrandparentTitle() *string { if o == nil { return nil @@ -1517,18 +1542,11 @@ func (o *GetSearchAllLibrariesMetadata) GetGrandparentThumb() *string { return o.GrandparentThumb } -func (o *GetSearchAllLibrariesMetadata) GetParentSlug() *string { +func (o *GetSearchAllLibrariesMetadata) GetGrandparentTheme() *string { if o == nil { return nil } - return o.ParentSlug -} - -func (o *GetSearchAllLibrariesMetadata) GetGrandparentSlug() *string { - if o == nil { - return nil - } - return o.GrandparentSlug + return o.GrandparentTheme } func (o *GetSearchAllLibrariesMetadata) GetGrandparentArt() *string { @@ -1538,11 +1556,158 @@ func (o *GetSearchAllLibrariesMetadata) GetGrandparentArt() *string { return o.GrandparentArt } -func (o *GetSearchAllLibrariesMetadata) GetGrandparentTheme() *string { +func (o *GetSearchAllLibrariesMetadata) GetParentTitle() *string { if o == nil { return nil } - return o.GrandparentTheme + return o.ParentTitle +} + +func (o *GetSearchAllLibrariesMetadata) GetParentIndex() *int { + if o == nil { + return nil + } + return o.ParentIndex +} + +func (o *GetSearchAllLibrariesMetadata) GetParentThumb() *string { + if o == nil { + return nil + } + return o.ParentThumb +} + +func (o *GetSearchAllLibrariesMetadata) GetRatingImage() *string { + if o == nil { + return nil + } + return o.RatingImage +} + +func (o *GetSearchAllLibrariesMetadata) GetViewCount() *int { + if o == nil { + return nil + } + return o.ViewCount +} + +func (o *GetSearchAllLibrariesMetadata) GetViewOffset() *int { + if o == nil { + return nil + } + return o.ViewOffset +} + +func (o *GetSearchAllLibrariesMetadata) GetSkipCount() *int { + if o == nil { + return nil + } + return o.SkipCount +} + +func (o *GetSearchAllLibrariesMetadata) GetSubtype() *string { + if o == nil { + return nil + } + return o.Subtype +} + +func (o *GetSearchAllLibrariesMetadata) GetLastRatedAt() *int64 { + if o == nil { + return nil + } + return o.LastRatedAt +} + +func (o *GetSearchAllLibrariesMetadata) GetCreatedAtAccuracy() *string { + if o == nil { + return nil + } + return o.CreatedAtAccuracy +} + +func (o *GetSearchAllLibrariesMetadata) GetCreatedAtTZOffset() *string { + if o == nil { + return nil + } + return o.CreatedAtTZOffset +} + +func (o *GetSearchAllLibrariesMetadata) GetLastViewedAt() *int { + if o == nil { + return nil + } + return o.LastViewedAt +} + +func (o *GetSearchAllLibrariesMetadata) GetUserRating() *float32 { + if o == nil { + return nil + } + return o.UserRating +} + +func (o *GetSearchAllLibrariesMetadata) GetImage() []GetSearchAllLibrariesImage { + if o == nil { + return nil + } + return o.Image +} + +func (o *GetSearchAllLibrariesMetadata) GetUltraBlurColors() *GetSearchAllLibrariesUltraBlurColors { + if o == nil { + return nil + } + return o.UltraBlurColors +} + +func (o *GetSearchAllLibrariesMetadata) GetGuids() []GetSearchAllLibrariesGuids { + if o == nil { + return nil + } + return o.Guids +} + +func (o *GetSearchAllLibrariesMetadata) GetLibrarySectionID() *int64 { + if o == nil { + return nil + } + return o.LibrarySectionID +} + +func (o *GetSearchAllLibrariesMetadata) GetLibrarySectionTitle() *string { + if o == nil { + return nil + } + return o.LibrarySectionTitle +} + +func (o *GetSearchAllLibrariesMetadata) GetLibrarySectionKey() *string { + if o == nil { + return nil + } + return o.LibrarySectionKey +} + +func (o *GetSearchAllLibrariesMetadata) GetShowOrdering() *GetSearchAllLibrariesShowOrdering { + if o == nil { + return nil + } + return o.ShowOrdering +} + +func (o *GetSearchAllLibrariesMetadata) GetFlattenSeasons() *GetSearchAllLibrariesFlattenSeasons { + if o == nil { + return nil + } + return o.FlattenSeasons +} + +func (o *GetSearchAllLibrariesMetadata) GetSkipChildren() *bool { + if o == nil { + return nil + } + return o.SkipChildren } func (o *GetSearchAllLibrariesMetadata) GetMedia() []GetSearchAllLibrariesMedia { @@ -1580,13 +1745,6 @@ func (o *GetSearchAllLibrariesMetadata) GetWriter() []GetSearchAllLibrariesWrite return o.Writer } -func (o *GetSearchAllLibrariesMetadata) GetCollection() []GetSearchAllLibrariesCollection { - if o == nil { - return nil - } - return o.Collection -} - func (o *GetSearchAllLibrariesMetadata) GetRole() []GetSearchAllLibrariesRole { if o == nil { return nil @@ -1601,191 +1759,11 @@ func (o *GetSearchAllLibrariesMetadata) GetLocation() []GetSearchAllLibrariesLoc return o.Location } -func (o *GetSearchAllLibrariesMetadata) GetMediaGUID() []GetSearchAllLibrariesMediaGUID { - if o == nil { - return nil - } - return o.MediaGUID -} - -func (o *GetSearchAllLibrariesMetadata) GetUltraBlurColors() *GetSearchAllLibrariesUltraBlurColors { - if o == nil { - return nil - } - return o.UltraBlurColors -} - -func (o *GetSearchAllLibrariesMetadata) GetMetaDataRating() []GetSearchAllLibrariesMetaDataRating { - if o == nil { - return nil - } - return o.MetaDataRating -} - -func (o *GetSearchAllLibrariesMetadata) GetImage() []GetSearchAllLibrariesImage { - if o == nil { - return nil - } - return o.Image -} - -func (o *GetSearchAllLibrariesMetadata) GetTitleSort() *string { - if o == nil { - return nil - } - return o.TitleSort -} - -func (o *GetSearchAllLibrariesMetadata) GetViewCount() *int { - if o == nil { - return nil - } - return o.ViewCount -} - -func (o *GetSearchAllLibrariesMetadata) GetLastViewedAt() *int { - if o == nil { - return nil - } - return o.LastViewedAt -} - -func (o *GetSearchAllLibrariesMetadata) GetOriginalTitle() *string { - if o == nil { - return nil - } - return o.OriginalTitle -} - -func (o *GetSearchAllLibrariesMetadata) GetViewOffset() *int { - if o == nil { - return nil - } - return o.ViewOffset -} - -func (o *GetSearchAllLibrariesMetadata) GetSkipCount() *int { - if o == nil { - return nil - } - return o.SkipCount -} - -func (o *GetSearchAllLibrariesMetadata) GetIndex() *int { - if o == nil { - return nil - } - return o.Index -} - -func (o *GetSearchAllLibrariesMetadata) GetTheme() *string { - if o == nil { - return nil - } - return o.Theme -} - -func (o *GetSearchAllLibrariesMetadata) GetLeafCount() *int { - if o == nil { - return nil - } - return o.LeafCount -} - -func (o *GetSearchAllLibrariesMetadata) GetViewedLeafCount() *int { - if o == nil { - return nil - } - return o.ViewedLeafCount -} - -func (o *GetSearchAllLibrariesMetadata) GetChildCount() *int { - if o == nil { - return nil - } - return o.ChildCount -} - -func (o *GetSearchAllLibrariesMetadata) GetHasPremiumExtras() *string { - if o == nil { - return nil - } - return o.HasPremiumExtras -} - -func (o *GetSearchAllLibrariesMetadata) GetHasPremiumPrimaryExtra() *string { - if o == nil { - return nil - } - return o.HasPremiumPrimaryExtra -} - -func (o *GetSearchAllLibrariesMetadata) GetParentRatingKey() *string { - if o == nil { - return nil - } - return o.ParentRatingKey -} - -func (o *GetSearchAllLibrariesMetadata) GetParentGUID() *string { - if o == nil { - return nil - } - return o.ParentGUID -} - -func (o *GetSearchAllLibrariesMetadata) GetParentStudio() *string { - if o == nil { - return nil - } - return o.ParentStudio -} - -func (o *GetSearchAllLibrariesMetadata) GetParentKey() *string { - if o == nil { - return nil - } - return o.ParentKey -} - -func (o *GetSearchAllLibrariesMetadata) GetParentTitle() *string { - if o == nil { - return nil - } - return o.ParentTitle -} - -func (o *GetSearchAllLibrariesMetadata) GetParentIndex() *int { - if o == nil { - return nil - } - return o.ParentIndex -} - -func (o *GetSearchAllLibrariesMetadata) GetParentYear() *int { - if o == nil { - return nil - } - return o.ParentYear -} - -func (o *GetSearchAllLibrariesMetadata) GetParentThumb() *string { - if o == nil { - return nil - } - return o.ParentThumb -} - -func (o *GetSearchAllLibrariesMetadata) GetParentTheme() *string { - if o == nil { - return nil - } - return o.ParentTheme -} - type SearchResult struct { - Score float32 `json:"score"` - Metadata GetSearchAllLibrariesMetadata `json:"Metadata"` + // The score of the search result, typically a float value between 0 and 1. + Score float32 `json:"score"` + Directory *GetSearchAllLibrariesDirectory `json:"Directory,omitempty"` + Metadata *GetSearchAllLibrariesMetadata `json:"Metadata,omitempty"` } func (o *SearchResult) GetScore() float32 { @@ -1795,25 +1773,96 @@ func (o *SearchResult) GetScore() float32 { return o.Score } -func (o *SearchResult) GetMetadata() GetSearchAllLibrariesMetadata { +func (o *SearchResult) GetDirectory() *GetSearchAllLibrariesDirectory { if o == nil { - return GetSearchAllLibrariesMetadata{} + return nil + } + return o.Directory +} + +func (o *SearchResult) GetMetadata() *GetSearchAllLibrariesMetadata { + if o == nil { + return nil } return o.Metadata } type GetSearchAllLibrariesMediaContainer struct { - Size float64 `json:"size"` - SearchResult []SearchResult `json:"SearchResult"` + // Number of media items returned in this response. + Size int `json:"size"` + // Indicates whether syncing is allowed. + AllowSync bool `json:"allowSync"` + // An plugin identifier for the media container. + Identifier string `json:"identifier"` + // The unique identifier for the library section. + LibrarySectionID *int64 `json:"librarySectionID,omitempty"` + // The title of the library section. + LibrarySectionTitle *string `json:"librarySectionTitle,omitempty"` + // The universally unique identifier for the library section. + LibrarySectionUUID *string `json:"librarySectionUUID,omitempty"` + // The prefix used for media tag resource paths. + MediaTagPrefix string `json:"mediaTagPrefix"` + // The version number for media tags. + MediaTagVersion int64 `json:"mediaTagVersion"` + SearchResult []SearchResult `json:"SearchResult"` } -func (o *GetSearchAllLibrariesMediaContainer) GetSize() float64 { +func (o *GetSearchAllLibrariesMediaContainer) GetSize() int { if o == nil { - return 0.0 + return 0 } return o.Size } +func (o *GetSearchAllLibrariesMediaContainer) GetAllowSync() bool { + if o == nil { + return false + } + return o.AllowSync +} + +func (o *GetSearchAllLibrariesMediaContainer) GetIdentifier() string { + if o == nil { + return "" + } + return o.Identifier +} + +func (o *GetSearchAllLibrariesMediaContainer) GetLibrarySectionID() *int64 { + if o == nil { + return nil + } + return o.LibrarySectionID +} + +func (o *GetSearchAllLibrariesMediaContainer) GetLibrarySectionTitle() *string { + if o == nil { + return nil + } + return o.LibrarySectionTitle +} + +func (o *GetSearchAllLibrariesMediaContainer) GetLibrarySectionUUID() *string { + if o == nil { + return nil + } + return o.LibrarySectionUUID +} + +func (o *GetSearchAllLibrariesMediaContainer) GetMediaTagPrefix() string { + if o == nil { + return "" + } + return o.MediaTagPrefix +} + +func (o *GetSearchAllLibrariesMediaContainer) GetMediaTagVersion() int64 { + if o == nil { + return 0 + } + return o.MediaTagVersion +} + func (o *GetSearchAllLibrariesMediaContainer) GetSearchResult() []SearchResult { if o == nil { return []SearchResult{} diff --git a/plexapi.go b/plexapi.go index 63d567e..188a251 100644 --- a/plexapi.go +++ b/plexapi.go @@ -2,7 +2,7 @@ package plexgo -// Generated from OpenAPI doc version 0.0.3 and generator version 2.620.2 +// Generated from OpenAPI doc version 0.0.3 and generator version 2.623.4 import ( "context" @@ -277,9 +277,9 @@ func WithTimeout(timeout time.Duration) SDKOption { // New creates a new instance of the SDK with the provided options func New(opts ...SDKOption) *PlexAPI { sdk := &PlexAPI{ - SDKVersion: "0.22.0", + SDKVersion: "0.23.0", sdkConfiguration: config.SDKConfiguration{ - UserAgent: "speakeasy-sdk/go 0.22.0 2.620.2 0.0.3 github.com/LukeHagar/plexgo", + UserAgent: "speakeasy-sdk/go 0.23.0 2.623.4 0.0.3 github.com/LukeHagar/plexgo", ServerList: ServerList, ServerVariables: []map[string]string{ {