mirror of
https://github.com/LukeHagar/plexswift.git
synced 2025-12-06 12:47:44 +00:00
ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.401.2
This commit is contained in:
@@ -1,12 +1,12 @@
|
|||||||
lockVersion: 2.0.0
|
lockVersion: 2.0.0
|
||||||
id: 5d77204e-e413-4fd0-a14a-bad3aee2247a
|
id: 5d77204e-e413-4fd0-a14a-bad3aee2247a
|
||||||
management:
|
management:
|
||||||
docChecksum: 1b63d7c28734a44b0339f405b186b290
|
docChecksum: 82a4a9784fb0e66e1c64f130701cdd08
|
||||||
docVersion: 0.0.3
|
docVersion: 0.0.3
|
||||||
speakeasyVersion: 1.401.2
|
speakeasyVersion: 1.401.2
|
||||||
generationVersion: 2.421.3
|
generationVersion: 2.421.3
|
||||||
releaseVersion: 0.7.0
|
releaseVersion: 0.7.1
|
||||||
configChecksum: 328d2e540df29d38d8fd33e39ea9a7bc
|
configChecksum: a70babc1988451efc03d40b9ae2d9385
|
||||||
repoURL: https://github.com/LukeHagar/plexswift.git
|
repoURL: https://github.com/LukeHagar/plexswift.git
|
||||||
features:
|
features:
|
||||||
swift:
|
swift:
|
||||||
@@ -43,6 +43,7 @@ generatedFiles:
|
|||||||
- Sources/Plexswift/internal/api/_UpdaterAPI.swift
|
- Sources/Plexswift/internal/api/_UpdaterAPI.swift
|
||||||
- Sources/Plexswift/internal/api/_VideoAPI.swift
|
- Sources/Plexswift/internal/api/_VideoAPI.swift
|
||||||
- Sources/Plexswift/internal/api/_WatchlistAPI.swift
|
- Sources/Plexswift/internal/api/_WatchlistAPI.swift
|
||||||
|
- Sources/Plexswift/internal/models/ActiveDirection+Serialization.swift
|
||||||
- Sources/Plexswift/internal/models/AddPlaylistContentsRequest+Serialization.swift
|
- Sources/Plexswift/internal/models/AddPlaylistContentsRequest+Serialization.swift
|
||||||
- Sources/Plexswift/internal/models/ApplyUpdatesRequest+Serialization.swift
|
- Sources/Plexswift/internal/models/ApplyUpdatesRequest+Serialization.swift
|
||||||
- Sources/Plexswift/internal/models/AutoSelectSubtitle+Serialization.swift
|
- Sources/Plexswift/internal/models/AutoSelectSubtitle+Serialization.swift
|
||||||
@@ -51,6 +52,7 @@ generatedFiles:
|
|||||||
- Sources/Plexswift/internal/models/ClearPlaylistContentsRequest+Serialization.swift
|
- Sources/Plexswift/internal/models/ClearPlaylistContentsRequest+Serialization.swift
|
||||||
- Sources/Plexswift/internal/models/CreatePlaylistQueryParamType+Serialization.swift
|
- Sources/Plexswift/internal/models/CreatePlaylistQueryParamType+Serialization.swift
|
||||||
- Sources/Plexswift/internal/models/CreatePlaylistRequest+Serialization.swift
|
- Sources/Plexswift/internal/models/CreatePlaylistRequest+Serialization.swift
|
||||||
|
- Sources/Plexswift/internal/models/DefaultDirection+Serialization.swift
|
||||||
- Sources/Plexswift/internal/models/DefaultSubtitleAccessibility+Serialization.swift
|
- Sources/Plexswift/internal/models/DefaultSubtitleAccessibility+Serialization.swift
|
||||||
- Sources/Plexswift/internal/models/DefaultSubtitleForced+Serialization.swift
|
- Sources/Plexswift/internal/models/DefaultSubtitleForced+Serialization.swift
|
||||||
- Sources/Plexswift/internal/models/DeleteLibraryRequest+Serialization.swift
|
- Sources/Plexswift/internal/models/DeleteLibraryRequest+Serialization.swift
|
||||||
@@ -58,6 +60,7 @@ generatedFiles:
|
|||||||
- Sources/Plexswift/internal/models/Download+Serialization.swift
|
- Sources/Plexswift/internal/models/Download+Serialization.swift
|
||||||
- Sources/Plexswift/internal/models/Features+Serialization.swift
|
- Sources/Plexswift/internal/models/Features+Serialization.swift
|
||||||
- Sources/Plexswift/internal/models/Filter+Serialization.swift
|
- Sources/Plexswift/internal/models/Filter+Serialization.swift
|
||||||
|
- Sources/Plexswift/internal/models/FlattenSeasons+Serialization.swift
|
||||||
- Sources/Plexswift/internal/models/Force+Serialization.swift
|
- Sources/Plexswift/internal/models/Force+Serialization.swift
|
||||||
- Sources/Plexswift/internal/models/GetBandwidthStatisticsRequest+Serialization.swift
|
- Sources/Plexswift/internal/models/GetBandwidthStatisticsRequest+Serialization.swift
|
||||||
- Sources/Plexswift/internal/models/GetBannerImageRequest+Serialization.swift
|
- Sources/Plexswift/internal/models/GetBannerImageRequest+Serialization.swift
|
||||||
@@ -65,7 +68,9 @@ generatedFiles:
|
|||||||
- Sources/Plexswift/internal/models/GetGlobalHubsRequest+Serialization.swift
|
- Sources/Plexswift/internal/models/GetGlobalHubsRequest+Serialization.swift
|
||||||
- Sources/Plexswift/internal/models/GetLibraryDetailsRequest+Serialization.swift
|
- Sources/Plexswift/internal/models/GetLibraryDetailsRequest+Serialization.swift
|
||||||
- Sources/Plexswift/internal/models/GetLibraryHubsRequest+Serialization.swift
|
- Sources/Plexswift/internal/models/GetLibraryHubsRequest+Serialization.swift
|
||||||
|
- Sources/Plexswift/internal/models/GetLibraryItemsLibraryResponseType+Serialization.swift
|
||||||
- Sources/Plexswift/internal/models/GetLibraryItemsRequest+Serialization.swift
|
- Sources/Plexswift/internal/models/GetLibraryItemsRequest+Serialization.swift
|
||||||
|
- Sources/Plexswift/internal/models/GetLibraryItemsType+Serialization.swift
|
||||||
- Sources/Plexswift/internal/models/GetMediaProvidersRequest+Serialization.swift
|
- Sources/Plexswift/internal/models/GetMediaProvidersRequest+Serialization.swift
|
||||||
- Sources/Plexswift/internal/models/GetMetaDataByRatingKeyRequest+Serialization.swift
|
- Sources/Plexswift/internal/models/GetMetaDataByRatingKeyRequest+Serialization.swift
|
||||||
- Sources/Plexswift/internal/models/GetMetadataChildrenRequest+Serialization.swift
|
- Sources/Plexswift/internal/models/GetMetadataChildrenRequest+Serialization.swift
|
||||||
@@ -96,6 +101,7 @@ generatedFiles:
|
|||||||
- Sources/Plexswift/internal/models/GetTransientTokenQueryParamType+Serialization.swift
|
- Sources/Plexswift/internal/models/GetTransientTokenQueryParamType+Serialization.swift
|
||||||
- Sources/Plexswift/internal/models/GetTransientTokenRequest+Serialization.swift
|
- Sources/Plexswift/internal/models/GetTransientTokenRequest+Serialization.swift
|
||||||
- Sources/Plexswift/internal/models/GetWatchListRequest+Serialization.swift
|
- Sources/Plexswift/internal/models/GetWatchListRequest+Serialization.swift
|
||||||
|
- Sources/Plexswift/internal/models/HasThumbnail+Serialization.swift
|
||||||
- Sources/Plexswift/internal/models/IncludeCollections+Serialization.swift
|
- Sources/Plexswift/internal/models/IncludeCollections+Serialization.swift
|
||||||
- Sources/Plexswift/internal/models/IncludeDetails+Serialization.swift
|
- Sources/Plexswift/internal/models/IncludeDetails+Serialization.swift
|
||||||
- Sources/Plexswift/internal/models/IncludeExternalMedia+Serialization.swift
|
- Sources/Plexswift/internal/models/IncludeExternalMedia+Serialization.swift
|
||||||
@@ -142,6 +148,7 @@ generatedFiles:
|
|||||||
- Sources/Plexswift/internal/models/Security+Serialization.swift
|
- Sources/Plexswift/internal/models/Security+Serialization.swift
|
||||||
- Sources/Plexswift/internal/models/SharedServers+Serialization.swift
|
- Sources/Plexswift/internal/models/SharedServers+Serialization.swift
|
||||||
- Sources/Plexswift/internal/models/SharedSources+Serialization.swift
|
- Sources/Plexswift/internal/models/SharedSources+Serialization.swift
|
||||||
|
- Sources/Plexswift/internal/models/ShowOrdering+Serialization.swift
|
||||||
- Sources/Plexswift/internal/models/Skip+Serialization.swift
|
- Sources/Plexswift/internal/models/Skip+Serialization.swift
|
||||||
- Sources/Plexswift/internal/models/Smart+Serialization.swift
|
- Sources/Plexswift/internal/models/Smart+Serialization.swift
|
||||||
- Sources/Plexswift/internal/models/StartTaskRequest+Serialization.swift
|
- Sources/Plexswift/internal/models/StartTaskRequest+Serialization.swift
|
||||||
@@ -162,6 +169,8 @@ generatedFiles:
|
|||||||
- Sources/Plexswift/internal/models/WatchedIndicator+Serialization.swift
|
- Sources/Plexswift/internal/models/WatchedIndicator+Serialization.swift
|
||||||
- Sources/Plexswift/models/ModelScopes.swift
|
- Sources/Plexswift/models/ModelScopes.swift
|
||||||
- Sources/Plexswift/models/operations/Account.swift
|
- Sources/Plexswift/models/operations/Account.swift
|
||||||
|
- Sources/Plexswift/models/operations/Action.swift
|
||||||
|
- Sources/Plexswift/models/operations/ActiveDirection.swift
|
||||||
- Sources/Plexswift/models/operations/Activity.swift
|
- Sources/Plexswift/models/operations/Activity.swift
|
||||||
- Sources/Plexswift/models/operations/AddPlaylistContentsBadRequest.swift
|
- Sources/Plexswift/models/operations/AddPlaylistContentsBadRequest.swift
|
||||||
- Sources/Plexswift/models/operations/AddPlaylistContentsErrors.swift
|
- Sources/Plexswift/models/operations/AddPlaylistContentsErrors.swift
|
||||||
@@ -200,6 +209,7 @@ generatedFiles:
|
|||||||
- Sources/Plexswift/models/operations/ClearPlaylistContentsRequest.swift
|
- Sources/Plexswift/models/operations/ClearPlaylistContentsRequest.swift
|
||||||
- Sources/Plexswift/models/operations/ClearPlaylistContentsResponse.swift
|
- Sources/Plexswift/models/operations/ClearPlaylistContentsResponse.swift
|
||||||
- Sources/Plexswift/models/operations/ClearPlaylistContentsUnauthorized.swift
|
- Sources/Plexswift/models/operations/ClearPlaylistContentsUnauthorized.swift
|
||||||
|
- Sources/Plexswift/models/operations/Collection.swift
|
||||||
- Sources/Plexswift/models/operations/Connections.swift
|
- Sources/Plexswift/models/operations/Connections.swift
|
||||||
- Sources/Plexswift/models/operations/Context.swift
|
- Sources/Plexswift/models/operations/Context.swift
|
||||||
- Sources/Plexswift/models/operations/Country.swift
|
- Sources/Plexswift/models/operations/Country.swift
|
||||||
@@ -213,6 +223,7 @@ generatedFiles:
|
|||||||
- Sources/Plexswift/models/operations/CreatePlaylistResponse.swift
|
- Sources/Plexswift/models/operations/CreatePlaylistResponse.swift
|
||||||
- Sources/Plexswift/models/operations/CreatePlaylistResponseBody.swift
|
- Sources/Plexswift/models/operations/CreatePlaylistResponseBody.swift
|
||||||
- Sources/Plexswift/models/operations/CreatePlaylistUnauthorized.swift
|
- Sources/Plexswift/models/operations/CreatePlaylistUnauthorized.swift
|
||||||
|
- Sources/Plexswift/models/operations/DefaultDirection.swift
|
||||||
- Sources/Plexswift/models/operations/DefaultSubtitleAccessibility.swift
|
- Sources/Plexswift/models/operations/DefaultSubtitleAccessibility.swift
|
||||||
- Sources/Plexswift/models/operations/DefaultSubtitleForced.swift
|
- Sources/Plexswift/models/operations/DefaultSubtitleForced.swift
|
||||||
- Sources/Plexswift/models/operations/DeleteLibraryBadRequest.swift
|
- Sources/Plexswift/models/operations/DeleteLibraryBadRequest.swift
|
||||||
@@ -242,6 +253,7 @@ generatedFiles:
|
|||||||
- Sources/Plexswift/models/operations/Field.swift
|
- Sources/Plexswift/models/operations/Field.swift
|
||||||
- Sources/Plexswift/models/operations/FieldType.swift
|
- Sources/Plexswift/models/operations/FieldType.swift
|
||||||
- Sources/Plexswift/models/operations/Filter.swift
|
- Sources/Plexswift/models/operations/Filter.swift
|
||||||
|
- Sources/Plexswift/models/operations/FlattenSeasons.swift
|
||||||
- Sources/Plexswift/models/operations/Force.swift
|
- Sources/Plexswift/models/operations/Force.swift
|
||||||
- Sources/Plexswift/models/operations/Friend.swift
|
- Sources/Plexswift/models/operations/Friend.swift
|
||||||
- Sources/Plexswift/models/operations/Genre.swift
|
- Sources/Plexswift/models/operations/Genre.swift
|
||||||
@@ -358,7 +370,10 @@ generatedFiles:
|
|||||||
- Sources/Plexswift/models/operations/GetLibraryItemsFieldType.swift
|
- Sources/Plexswift/models/operations/GetLibraryItemsFieldType.swift
|
||||||
- Sources/Plexswift/models/operations/GetLibraryItemsFilter.swift
|
- Sources/Plexswift/models/operations/GetLibraryItemsFilter.swift
|
||||||
- Sources/Plexswift/models/operations/GetLibraryItemsGenre.swift
|
- Sources/Plexswift/models/operations/GetLibraryItemsGenre.swift
|
||||||
|
- Sources/Plexswift/models/operations/GetLibraryItemsImage.swift
|
||||||
- Sources/Plexswift/models/operations/GetLibraryItemsLibraryErrors.swift
|
- Sources/Plexswift/models/operations/GetLibraryItemsLibraryErrors.swift
|
||||||
|
- Sources/Plexswift/models/operations/GetLibraryItemsLibraryResponseType.swift
|
||||||
|
- Sources/Plexswift/models/operations/GetLibraryItemsLibraryType.swift
|
||||||
- Sources/Plexswift/models/operations/GetLibraryItemsMedia.swift
|
- Sources/Plexswift/models/operations/GetLibraryItemsMedia.swift
|
||||||
- Sources/Plexswift/models/operations/GetLibraryItemsMediaContainer.swift
|
- Sources/Plexswift/models/operations/GetLibraryItemsMediaContainer.swift
|
||||||
- Sources/Plexswift/models/operations/GetLibraryItemsMetadata.swift
|
- Sources/Plexswift/models/operations/GetLibraryItemsMetadata.swift
|
||||||
@@ -671,6 +686,7 @@ generatedFiles:
|
|||||||
- Sources/Plexswift/models/operations/GetWatchListUnauthorized.swift
|
- Sources/Plexswift/models/operations/GetWatchListUnauthorized.swift
|
||||||
- Sources/Plexswift/models/operations/GetWatchListWatchlistErrors.swift
|
- Sources/Plexswift/models/operations/GetWatchListWatchlistErrors.swift
|
||||||
- Sources/Plexswift/models/operations/Guids.swift
|
- Sources/Plexswift/models/operations/Guids.swift
|
||||||
|
- Sources/Plexswift/models/operations/HasThumbnail.swift
|
||||||
- Sources/Plexswift/models/operations/Hub.swift
|
- Sources/Plexswift/models/operations/Hub.swift
|
||||||
- Sources/Plexswift/models/operations/Image.swift
|
- Sources/Plexswift/models/operations/Image.swift
|
||||||
- Sources/Plexswift/models/operations/IncludeCollections.swift
|
- Sources/Plexswift/models/operations/IncludeCollections.swift
|
||||||
@@ -782,6 +798,7 @@ generatedFiles:
|
|||||||
- Sources/Plexswift/models/operations/Setting.swift
|
- Sources/Plexswift/models/operations/Setting.swift
|
||||||
- Sources/Plexswift/models/operations/SharedServers.swift
|
- Sources/Plexswift/models/operations/SharedServers.swift
|
||||||
- Sources/Plexswift/models/operations/SharedSources.swift
|
- Sources/Plexswift/models/operations/SharedSources.swift
|
||||||
|
- Sources/Plexswift/models/operations/ShowOrdering.swift
|
||||||
- Sources/Plexswift/models/operations/Skip.swift
|
- Sources/Plexswift/models/operations/Skip.swift
|
||||||
- Sources/Plexswift/models/operations/Smart.swift
|
- Sources/Plexswift/models/operations/Smart.swift
|
||||||
- Sources/Plexswift/models/operations/Sort.swift
|
- Sources/Plexswift/models/operations/Sort.swift
|
||||||
@@ -832,6 +849,7 @@ generatedFiles:
|
|||||||
- Sources/Plexswift/models/operations/TranscodeSession.swift
|
- Sources/Plexswift/models/operations/TranscodeSession.swift
|
||||||
- Sources/Plexswift/models/operations/Trials.swift
|
- Sources/Plexswift/models/operations/Trials.swift
|
||||||
- Sources/Plexswift/models/operations/TypeModel.swift
|
- Sources/Plexswift/models/operations/TypeModel.swift
|
||||||
|
- Sources/Plexswift/models/operations/UltraBlurColors.swift
|
||||||
- Sources/Plexswift/models/operations/UpdatePlayProgressBadRequest.swift
|
- Sources/Plexswift/models/operations/UpdatePlayProgressBadRequest.swift
|
||||||
- Sources/Plexswift/models/operations/UpdatePlayProgressErrors.swift
|
- Sources/Plexswift/models/operations/UpdatePlayProgressErrors.swift
|
||||||
- Sources/Plexswift/models/operations/UpdatePlayProgressMediaErrors.swift
|
- Sources/Plexswift/models/operations/UpdatePlayProgressMediaErrors.swift
|
||||||
@@ -1189,7 +1207,9 @@ examples:
|
|||||||
title: TV Shows
|
title: TV Shows
|
||||||
type: show
|
type: show
|
||||||
Metadata:
|
Metadata:
|
||||||
- Country:
|
- Collection:
|
||||||
|
- tag: Working NL Subs
|
||||||
|
Country:
|
||||||
- tag: United States of America
|
- tag: United States of America
|
||||||
- tag: United States of America
|
- tag: United States of America
|
||||||
Director:
|
Director:
|
||||||
@@ -1201,35 +1221,53 @@ examples:
|
|||||||
- tag: Adventure
|
- tag: Adventure
|
||||||
Guid:
|
Guid:
|
||||||
- id: imdb://tt13015952
|
- id: imdb://tt13015952
|
||||||
|
Image:
|
||||||
|
- alt: Episode 1
|
||||||
|
type: background
|
||||||
|
url: /library/metadata/45521/thumb/1644710589
|
||||||
|
- alt: Episode 1
|
||||||
|
type: background
|
||||||
|
url: /library/metadata/45521/thumb/1644710589
|
||||||
Media:
|
Media:
|
||||||
- Part:
|
- Part:
|
||||||
- container: mkv
|
- audioProfile: dts
|
||||||
|
container: mkv
|
||||||
duration: 11558112
|
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
|
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
|
||||||
|
hasThumbnail: "1"
|
||||||
id: 119542
|
id: 119542
|
||||||
|
indexes: sd
|
||||||
key: /library/parts/119542/1680457526/file.mkv
|
key: /library/parts/119542/1680457526/file.mkv
|
||||||
size: 36158371307
|
size: 36158371307
|
||||||
videoProfile: main 10
|
videoProfile: main 10
|
||||||
- container: mkv
|
- audioProfile: dts
|
||||||
|
container: mkv
|
||||||
duration: 11558112
|
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
|
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
|
||||||
|
hasThumbnail: "1"
|
||||||
id: 119542
|
id: 119542
|
||||||
|
indexes: sd
|
||||||
key: /library/parts/119542/1680457526/file.mkv
|
key: /library/parts/119542/1680457526/file.mkv
|
||||||
size: 36158371307
|
size: 36158371307
|
||||||
videoProfile: main 10
|
videoProfile: main 10
|
||||||
- container: mkv
|
- audioProfile: dts
|
||||||
|
container: mkv
|
||||||
duration: 11558112
|
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
|
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
|
||||||
|
hasThumbnail: "1"
|
||||||
id: 119542
|
id: 119542
|
||||||
|
indexes: sd
|
||||||
key: /library/parts/119542/1680457526/file.mkv
|
key: /library/parts/119542/1680457526/file.mkv
|
||||||
size: 36158371307
|
size: 36158371307
|
||||||
videoProfile: main 10
|
videoProfile: main 10
|
||||||
aspectRatio: 1.85
|
aspectRatio: 1.85
|
||||||
audioChannels: 6
|
audioChannels: 6
|
||||||
audioCodec: eac3
|
audioCodec: eac3
|
||||||
|
audioProfile: dts
|
||||||
bitrate: 25025
|
bitrate: 25025
|
||||||
container: mkv
|
container: mkv
|
||||||
duration: 11558112
|
duration: 11558112
|
||||||
|
hasVoiceActivity: false
|
||||||
height: 2072
|
height: 2072
|
||||||
id: 119534
|
id: 119534
|
||||||
videoCodec: hevc
|
videoCodec: hevc
|
||||||
@@ -1241,20 +1279,28 @@ examples:
|
|||||||
- tag: Sigourney Weaver
|
- tag: Sigourney Weaver
|
||||||
- tag: Sigourney Weaver
|
- tag: Sigourney Weaver
|
||||||
- tag: Sigourney Weaver
|
- tag: Sigourney Weaver
|
||||||
|
UltraBlurColors:
|
||||||
|
bottomLeft: 1f5066
|
||||||
|
bottomRight: "73958"
|
||||||
|
topLeft: 11333b
|
||||||
|
topRight: 0a232d
|
||||||
Writer:
|
Writer:
|
||||||
- tag: James Cameron
|
- tag: James Cameron
|
||||||
addedAt: 1680457607
|
addedAt: 1556281940
|
||||||
art: /library/metadata/58683/art/1703239236
|
art: /library/metadata/58683/art/1703239236
|
||||||
audienceRating: 9.2
|
audienceRating: 9.2
|
||||||
audienceRatingImage: rottentomatoes://image.rating.upright
|
audienceRatingImage: rottentomatoes://image.rating.upright
|
||||||
|
banner: /library/metadata/58683/banner/1703239236
|
||||||
chapterSource: media
|
chapterSource: media
|
||||||
childCount: 1
|
childCount: 1
|
||||||
contentRating: PG-13
|
contentRating: PG-13
|
||||||
duration: 11558112
|
duration: 11558112
|
||||||
|
flattenSeasons: "1"
|
||||||
grandparentArt: /library/metadata/66/art/1705716261
|
grandparentArt: /library/metadata/66/art/1705716261
|
||||||
grandparentGuid: plex://show/5d9c081b170e24001f2a7be4
|
grandparentGuid: plex://show/5d9c081b170e24001f2a7be4
|
||||||
grandparentKey: /library/metadata/66
|
grandparentKey: /library/metadata/66
|
||||||
grandparentRatingKey: "66"
|
grandparentRatingKey: "66"
|
||||||
|
grandparentSlug: alice-in-borderland-2020
|
||||||
grandparentTheme: /library/metadata/66/theme/1705716261
|
grandparentTheme: /library/metadata/66/theme/1705716261
|
||||||
grandparentThumb: /library/metadata/66/thumb/1705716261
|
grandparentThumb: /library/metadata/66/thumb/1705716261
|
||||||
grandparentTitle: Caprica
|
grandparentTitle: Caprica
|
||||||
@@ -1280,7 +1326,11 @@ examples:
|
|||||||
rating: 7.6
|
rating: 7.6
|
||||||
ratingImage: rottentomatoes://image.rating.ripe
|
ratingImage: rottentomatoes://image.rating.ripe
|
||||||
ratingKey: "58683"
|
ratingKey: "58683"
|
||||||
|
seasonCount: 2022
|
||||||
|
showOrdering: dvd
|
||||||
|
skipChildren: false
|
||||||
skipCount: 1
|
skipCount: 1
|
||||||
|
slug: 4-for-texas
|
||||||
studio: 20th Century Studios
|
studio: 20th Century Studios
|
||||||
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.
|
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.
|
||||||
tagline: Return to Pandora.
|
tagline: Return to Pandora.
|
||||||
@@ -1289,12 +1339,15 @@ examples:
|
|||||||
title: 'Avatar: The Way of Water'
|
title: 'Avatar: The Way of Water'
|
||||||
titleSort: Whale
|
titleSort: Whale
|
||||||
type: movie
|
type: movie
|
||||||
updatedAt: 1703239236
|
updatedAt: 1556281940
|
||||||
viewCount: 1
|
viewCount: 1
|
||||||
viewOffset: 5222500
|
viewOffset: 5222500
|
||||||
viewedLeafCount: 0
|
viewedLeafCount: 0
|
||||||
year: 2022
|
year: 2022
|
||||||
- Country:
|
- Collection:
|
||||||
|
- tag: Working NL Subs
|
||||||
|
- tag: Working NL Subs
|
||||||
|
Country:
|
||||||
- tag: United States of America
|
- tag: United States of America
|
||||||
Director:
|
Director:
|
||||||
- tag: James Cameron
|
- tag: James Cameron
|
||||||
@@ -1303,21 +1356,30 @@ examples:
|
|||||||
Genre: []
|
Genre: []
|
||||||
Guid:
|
Guid:
|
||||||
- id: imdb://tt13015952
|
- id: imdb://tt13015952
|
||||||
|
Image:
|
||||||
|
- alt: Episode 1
|
||||||
|
type: background
|
||||||
|
url: /library/metadata/45521/thumb/1644710589
|
||||||
Media:
|
Media:
|
||||||
- Part:
|
- Part:
|
||||||
- container: mkv
|
- audioProfile: dts
|
||||||
|
container: mkv
|
||||||
duration: 11558112
|
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
|
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
|
||||||
|
hasThumbnail: "1"
|
||||||
id: 119542
|
id: 119542
|
||||||
|
indexes: sd
|
||||||
key: /library/parts/119542/1680457526/file.mkv
|
key: /library/parts/119542/1680457526/file.mkv
|
||||||
size: 36158371307
|
size: 36158371307
|
||||||
videoProfile: main 10
|
videoProfile: main 10
|
||||||
aspectRatio: 1.85
|
aspectRatio: 1.85
|
||||||
audioChannels: 6
|
audioChannels: 6
|
||||||
audioCodec: eac3
|
audioCodec: eac3
|
||||||
|
audioProfile: dts
|
||||||
bitrate: 25025
|
bitrate: 25025
|
||||||
container: mkv
|
container: mkv
|
||||||
duration: 11558112
|
duration: 11558112
|
||||||
|
hasVoiceActivity: false
|
||||||
height: 2072
|
height: 2072
|
||||||
id: 119534
|
id: 119534
|
||||||
videoCodec: hevc
|
videoCodec: hevc
|
||||||
@@ -1329,20 +1391,28 @@ examples:
|
|||||||
- tag: Sigourney Weaver
|
- tag: Sigourney Weaver
|
||||||
- tag: Sigourney Weaver
|
- tag: Sigourney Weaver
|
||||||
- tag: Sigourney Weaver
|
- tag: Sigourney Weaver
|
||||||
|
UltraBlurColors:
|
||||||
|
bottomLeft: 1f5066
|
||||||
|
bottomRight: "73958"
|
||||||
|
topLeft: 11333b
|
||||||
|
topRight: 0a232d
|
||||||
Writer:
|
Writer:
|
||||||
- tag: James Cameron
|
- tag: James Cameron
|
||||||
addedAt: 1680457607
|
addedAt: 1556281940
|
||||||
art: /library/metadata/58683/art/1703239236
|
art: /library/metadata/58683/art/1703239236
|
||||||
audienceRating: 9.2
|
audienceRating: 9.2
|
||||||
audienceRatingImage: rottentomatoes://image.rating.upright
|
audienceRatingImage: rottentomatoes://image.rating.upright
|
||||||
|
banner: /library/metadata/58683/banner/1703239236
|
||||||
chapterSource: media
|
chapterSource: media
|
||||||
childCount: 1
|
childCount: 1
|
||||||
contentRating: PG-13
|
contentRating: PG-13
|
||||||
duration: 11558112
|
duration: 11558112
|
||||||
|
flattenSeasons: "1"
|
||||||
grandparentArt: /library/metadata/66/art/1705716261
|
grandparentArt: /library/metadata/66/art/1705716261
|
||||||
grandparentGuid: plex://show/5d9c081b170e24001f2a7be4
|
grandparentGuid: plex://show/5d9c081b170e24001f2a7be4
|
||||||
grandparentKey: /library/metadata/66
|
grandparentKey: /library/metadata/66
|
||||||
grandparentRatingKey: "66"
|
grandparentRatingKey: "66"
|
||||||
|
grandparentSlug: alice-in-borderland-2020
|
||||||
grandparentTheme: /library/metadata/66/theme/1705716261
|
grandparentTheme: /library/metadata/66/theme/1705716261
|
||||||
grandparentThumb: /library/metadata/66/thumb/1705716261
|
grandparentThumb: /library/metadata/66/thumb/1705716261
|
||||||
grandparentTitle: Caprica
|
grandparentTitle: Caprica
|
||||||
@@ -1368,7 +1438,11 @@ examples:
|
|||||||
rating: 7.6
|
rating: 7.6
|
||||||
ratingImage: rottentomatoes://image.rating.ripe
|
ratingImage: rottentomatoes://image.rating.ripe
|
||||||
ratingKey: "58683"
|
ratingKey: "58683"
|
||||||
|
seasonCount: 2022
|
||||||
|
showOrdering: dvd
|
||||||
|
skipChildren: false
|
||||||
skipCount: 1
|
skipCount: 1
|
||||||
|
slug: 4-for-texas
|
||||||
studio: 20th Century Studios
|
studio: 20th Century Studios
|
||||||
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.
|
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.
|
||||||
tagline: Return to Pandora.
|
tagline: Return to Pandora.
|
||||||
@@ -1377,13 +1451,14 @@ examples:
|
|||||||
title: 'Avatar: The Way of Water'
|
title: 'Avatar: The Way of Water'
|
||||||
titleSort: Whale
|
titleSort: Whale
|
||||||
type: movie
|
type: movie
|
||||||
updatedAt: 1703239236
|
updatedAt: 1556281940
|
||||||
viewCount: 1
|
viewCount: 1
|
||||||
viewOffset: 5222500
|
viewOffset: 5222500
|
||||||
viewedLeafCount: 0
|
viewedLeafCount: 0
|
||||||
year: 2022
|
year: 2022
|
||||||
allowSync: true
|
allowSync: true
|
||||||
art: /:/resources/movie-fanart.jpg
|
art: /:/resources/movie-fanart.jpg
|
||||||
|
content: secondary
|
||||||
identifier: com.plexapp.plugins.library
|
identifier: com.plexapp.plugins.library
|
||||||
librarySectionID: <value>
|
librarySectionID: <value>
|
||||||
librarySectionTitle: Movies
|
librarySectionTitle: Movies
|
||||||
@@ -1391,10 +1466,13 @@ examples:
|
|||||||
mediaTagPrefix: /system/bundle/media/flags/
|
mediaTagPrefix: /system/bundle/media/flags/
|
||||||
mediaTagVersion: 1701731894
|
mediaTagVersion: 1701731894
|
||||||
mixedParents: true
|
mixedParents: true
|
||||||
|
nocache: true
|
||||||
|
offset: 0
|
||||||
size: 70
|
size: 70
|
||||||
thumb: /:/resources/movie.png
|
thumb: /:/resources/movie.png
|
||||||
title1: Movies
|
title1: Movies
|
||||||
title2: Recently Released
|
title2: Recently Released
|
||||||
|
totalSize: 170
|
||||||
viewGroup: movie
|
viewGroup: movie
|
||||||
viewMode: 65592
|
viewMode: 65592
|
||||||
"400":
|
"400":
|
||||||
@@ -1415,7 +1493,34 @@ examples:
|
|||||||
query:
|
query:
|
||||||
X-Plex-Token: CV5xoxjTpFKUzBTShsaf
|
X-Plex-Token: CV5xoxjTpFKUzBTShsaf
|
||||||
responses:
|
responses:
|
||||||
"200": {}
|
"200":
|
||||||
|
application/json:
|
||||||
|
MediaContainer:
|
||||||
|
MediaProvider:
|
||||||
|
- Feature:
|
||||||
|
- Action: []
|
||||||
|
flavor: global
|
||||||
|
scrobbleKey: /:/scrobble/new
|
||||||
|
type: <value>
|
||||||
|
unscrobbleKey: /:/unscrobble/new
|
||||||
|
- Action:
|
||||||
|
- id: addToContinueWatching
|
||||||
|
key: /actions/addToContinueWatching
|
||||||
|
- id: addToContinueWatching
|
||||||
|
key: /actions/addToContinueWatching
|
||||||
|
flavor: global
|
||||||
|
scrobbleKey: /:/scrobble/new
|
||||||
|
type: <value>
|
||||||
|
unscrobbleKey: /:/unscrobble/new
|
||||||
|
- Action:
|
||||||
|
- id: addToContinueWatching
|
||||||
|
key: /actions/addToContinueWatching
|
||||||
|
- id: addToContinueWatching
|
||||||
|
key: /actions/addToContinueWatching
|
||||||
|
flavor: global
|
||||||
|
scrobbleKey: /:/scrobble/new
|
||||||
|
type: <value>
|
||||||
|
unscrobbleKey: /:/unscrobble/new
|
||||||
"400":
|
"400":
|
||||||
application/json:
|
application/json:
|
||||||
errors: []
|
errors: []
|
||||||
@@ -2330,6 +2435,7 @@ examples:
|
|||||||
adsConsentReminderAt: "2019-08-24T14:15:22Z"
|
adsConsentReminderAt: "2019-08-24T14:15:22Z"
|
||||||
adsConsentSetAt: "2019-08-24T14:15:22Z"
|
adsConsentSetAt: "2019-08-24T14:15:22Z"
|
||||||
anonymous: false
|
anonymous: false
|
||||||
|
attributionPartner: null
|
||||||
authToken: CxoUzBTSV5hsxjTpFKaf
|
authToken: CxoUzBTSV5hsxjTpFKaf
|
||||||
backupCodesCreated: false
|
backupCodesCreated: false
|
||||||
confirmed: false
|
confirmed: false
|
||||||
@@ -2633,6 +2739,7 @@ examples:
|
|||||||
adsConsentReminderAt: "2019-08-24T14:15:22Z"
|
adsConsentReminderAt: "2019-08-24T14:15:22Z"
|
||||||
adsConsentSetAt: "2019-08-24T14:15:22Z"
|
adsConsentSetAt: "2019-08-24T14:15:22Z"
|
||||||
anonymous: false
|
anonymous: false
|
||||||
|
attributionPartner: null
|
||||||
authToken: CxoUzBTSV5hsxjTpFKaf
|
authToken: CxoUzBTSV5hsxjTpFKaf
|
||||||
backupCodesCreated: false
|
backupCodesCreated: false
|
||||||
confirmed: false
|
confirmed: false
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ generation:
|
|||||||
auth:
|
auth:
|
||||||
oAuth2ClientCredentialsEnabled: true
|
oAuth2ClientCredentialsEnabled: true
|
||||||
swift:
|
swift:
|
||||||
version: 0.7.0
|
version: 0.7.1
|
||||||
author: LukeHagar
|
author: LukeHagar
|
||||||
description: Swift Client SDK Generated by Speakeasy
|
description: Swift Client SDK Generated by Speakeasy
|
||||||
imports:
|
imports:
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ targets:
|
|||||||
plexswift:
|
plexswift:
|
||||||
source: plexapi
|
source: plexapi
|
||||||
codeSamplesNamespace: code-samples-swift-plexswift
|
codeSamplesNamespace: code-samples-swift-plexswift
|
||||||
codeSamplesRevisionDigest: sha256:ae889ea6513310dba019f6f3b58474bf9316e90eeeb12b21d36a878aee527f44
|
codeSamplesRevisionDigest: sha256:081dbbfcbb03dd8d8e2b445350d208744d66cdc36fdb53150bd80caee4ae12ad
|
||||||
outLocation: /github/workspace/repo
|
outLocation: /github/workspace/repo
|
||||||
workflow:
|
workflow:
|
||||||
workflowVersion: 1.0.0
|
workflowVersion: 1.0.0
|
||||||
|
|||||||
@@ -38,7 +38,7 @@ You can add `plexswift` to your project directly in Xcode `(File > Add Packages.
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
dependencies: [
|
dependencies: [
|
||||||
.package(url: "https://github.com/LukeHagar/plexswift.git", .upToNextMajor(from: "0.7.0"))
|
.package(url: "https://github.com/LukeHagar/plexswift.git", .upToNextMajor(from: "0.7.1"))
|
||||||
]
|
]
|
||||||
```
|
```
|
||||||
<!-- End SDK Installation [installation] -->
|
<!-- End SDK Installation [installation] -->
|
||||||
|
|||||||
10
RELEASES.md
10
RELEASES.md
@@ -633,3 +633,13 @@ Based on:
|
|||||||
- [swift v0.7.0] .
|
- [swift v0.7.0] .
|
||||||
### Releases
|
### Releases
|
||||||
- [Swift Package Manager v0.7.0] https://github.com/LukeHagar/plexswift/releases/tag/v0.7.0 - .
|
- [Swift Package Manager v0.7.0] https://github.com/LukeHagar/plexswift/releases/tag/v0.7.0 - .
|
||||||
|
|
||||||
|
## 2024-09-22 00:08:38
|
||||||
|
### Changes
|
||||||
|
Based on:
|
||||||
|
- OpenAPI Doc
|
||||||
|
- Speakeasy CLI 1.401.2 (2.421.3) https://github.com/speakeasy-api/speakeasy
|
||||||
|
### Generated
|
||||||
|
- [swift v0.7.1] .
|
||||||
|
### Releases
|
||||||
|
- [Swift Package Manager v0.7.1] https://github.com/LukeHagar/plexswift/releases/tag/v0.7.1 - .
|
||||||
@@ -237,6 +237,8 @@ case .empty:
|
|||||||
|
|
||||||
### Other models
|
### Other models
|
||||||
- ``Operations/Account``
|
- ``Operations/Account``
|
||||||
|
- ``Operations/Action``
|
||||||
|
- ``Operations/ActiveDirection``
|
||||||
- ``Operations/Activity``
|
- ``Operations/Activity``
|
||||||
- ``Operations/AddPlaylistContentsErrors``
|
- ``Operations/AddPlaylistContentsErrors``
|
||||||
- ``Operations/AddPlaylistContentsMediaContainer``
|
- ``Operations/AddPlaylistContentsMediaContainer``
|
||||||
@@ -265,6 +267,7 @@ case .empty:
|
|||||||
- ``Operations/ClearPlaylistContentsPlaylistsErrors``
|
- ``Operations/ClearPlaylistContentsPlaylistsErrors``
|
||||||
- ``Operations/ClearPlaylistContentsRequest``
|
- ``Operations/ClearPlaylistContentsRequest``
|
||||||
- ``Operations/ClearPlaylistContentsUnauthorized``
|
- ``Operations/ClearPlaylistContentsUnauthorized``
|
||||||
|
- ``Operations/Collection``
|
||||||
- ``Operations/Connections``
|
- ``Operations/Connections``
|
||||||
- ``Operations/Context``
|
- ``Operations/Context``
|
||||||
- ``Operations/Country``
|
- ``Operations/Country``
|
||||||
@@ -276,6 +279,7 @@ case .empty:
|
|||||||
- ``Operations/CreatePlaylistRequest``
|
- ``Operations/CreatePlaylistRequest``
|
||||||
- ``Operations/CreatePlaylistResponseBody``
|
- ``Operations/CreatePlaylistResponseBody``
|
||||||
- ``Operations/CreatePlaylistUnauthorized``
|
- ``Operations/CreatePlaylistUnauthorized``
|
||||||
|
- ``Operations/DefaultDirection``
|
||||||
- ``Operations/DefaultSubtitleAccessibility``
|
- ``Operations/DefaultSubtitleAccessibility``
|
||||||
- ``Operations/DefaultSubtitleForced``
|
- ``Operations/DefaultSubtitleForced``
|
||||||
- ``Operations/DeleteLibraryErrors``
|
- ``Operations/DeleteLibraryErrors``
|
||||||
@@ -299,6 +303,7 @@ case .empty:
|
|||||||
- ``Operations/Field``
|
- ``Operations/Field``
|
||||||
- ``Operations/FieldType``
|
- ``Operations/FieldType``
|
||||||
- ``Operations/Filter``
|
- ``Operations/Filter``
|
||||||
|
- ``Operations/FlattenSeasons``
|
||||||
- ``Operations/Force``
|
- ``Operations/Force``
|
||||||
- ``Operations/Friend``
|
- ``Operations/Friend``
|
||||||
- ``Operations/Genre``
|
- ``Operations/Genre``
|
||||||
@@ -329,7 +334,10 @@ case .empty:
|
|||||||
- ``Operations/GetLibraryItemsFieldType``
|
- ``Operations/GetLibraryItemsFieldType``
|
||||||
- ``Operations/GetLibraryItemsFilter``
|
- ``Operations/GetLibraryItemsFilter``
|
||||||
- ``Operations/GetLibraryItemsGenre``
|
- ``Operations/GetLibraryItemsGenre``
|
||||||
|
- ``Operations/GetLibraryItemsImage``
|
||||||
- ``Operations/GetLibraryItemsLibraryErrors``
|
- ``Operations/GetLibraryItemsLibraryErrors``
|
||||||
|
- ``Operations/GetLibraryItemsLibraryResponseType``
|
||||||
|
- ``Operations/GetLibraryItemsLibraryType``
|
||||||
- ``Operations/GetLibraryItemsMedia``
|
- ``Operations/GetLibraryItemsMedia``
|
||||||
- ``Operations/GetLibraryItemsMediaContainer``
|
- ``Operations/GetLibraryItemsMediaContainer``
|
||||||
- ``Operations/GetLibraryItemsMetadata``
|
- ``Operations/GetLibraryItemsMetadata``
|
||||||
@@ -631,6 +639,7 @@ case .empty:
|
|||||||
- ``Operations/GetUserFriendsPlexErrors``
|
- ``Operations/GetUserFriendsPlexErrors``
|
||||||
- ``Operations/GetUserFriendsUnauthorized``
|
- ``Operations/GetUserFriendsUnauthorized``
|
||||||
- ``Operations/Guids``
|
- ``Operations/Guids``
|
||||||
|
- ``Operations/HasThumbnail``
|
||||||
- ``Operations/Hub``
|
- ``Operations/Hub``
|
||||||
- ``Operations/Image``
|
- ``Operations/Image``
|
||||||
- ``Operations/IncludeCollections``
|
- ``Operations/IncludeCollections``
|
||||||
@@ -728,6 +737,7 @@ case .empty:
|
|||||||
- ``Operations/Setting``
|
- ``Operations/Setting``
|
||||||
- ``Operations/SharedServers``
|
- ``Operations/SharedServers``
|
||||||
- ``Operations/SharedSources``
|
- ``Operations/SharedSources``
|
||||||
|
- ``Operations/ShowOrdering``
|
||||||
- ``Operations/Skip``
|
- ``Operations/Skip``
|
||||||
- ``Operations/Smart``
|
- ``Operations/Smart``
|
||||||
- ``Operations/Sort``
|
- ``Operations/Sort``
|
||||||
@@ -766,6 +776,7 @@ case .empty:
|
|||||||
- ``Operations/TranscodeSession``
|
- ``Operations/TranscodeSession``
|
||||||
- ``Operations/Trials``
|
- ``Operations/Trials``
|
||||||
- ``Operations/TypeModel``
|
- ``Operations/TypeModel``
|
||||||
|
- ``Operations/UltraBlurColors``
|
||||||
- ``Operations/UpdatePlaylistErrors``
|
- ``Operations/UpdatePlaylistErrors``
|
||||||
- ``Operations/UpdatePlaylistPlaylistsErrors``
|
- ``Operations/UpdatePlaylistPlaylistsErrors``
|
||||||
- ``Operations/UpdatePlaylistRequest``
|
- ``Operations/UpdatePlaylistRequest``
|
||||||
|
|||||||
@@ -0,0 +1,14 @@
|
|||||||
|
// Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
||||||
|
|
||||||
|
|
||||||
|
import Foundation
|
||||||
|
|
||||||
|
extension Operations.ActiveDirection: Serializable {
|
||||||
|
func serialize(with format: SerializableFormat) throws -> String {
|
||||||
|
return try rawValue.serialize(with: format)
|
||||||
|
}
|
||||||
|
|
||||||
|
func serializeQueryParameters(with format: SerializableFormat) throws -> [QueryParameter] {
|
||||||
|
return [QueryParameter(key: [], serialized: try serialize(with: format))]
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
// Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
||||||
|
|
||||||
|
|
||||||
|
import Foundation
|
||||||
|
|
||||||
|
extension Operations.DefaultDirection: Serializable {
|
||||||
|
func serialize(with format: SerializableFormat) throws -> String {
|
||||||
|
return try rawValue.serialize(with: format)
|
||||||
|
}
|
||||||
|
|
||||||
|
func serializeQueryParameters(with format: SerializableFormat) throws -> [QueryParameter] {
|
||||||
|
return [QueryParameter(key: [], serialized: try serialize(with: format))]
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
// Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
||||||
|
|
||||||
|
|
||||||
|
import Foundation
|
||||||
|
|
||||||
|
extension Operations.FlattenSeasons: Serializable {
|
||||||
|
func serialize(with format: SerializableFormat) throws -> String {
|
||||||
|
return try rawValue.serialize(with: format)
|
||||||
|
}
|
||||||
|
|
||||||
|
func serializeQueryParameters(with format: SerializableFormat) throws -> [QueryParameter] {
|
||||||
|
return [QueryParameter(key: [], serialized: try serialize(with: format))]
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
// Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
||||||
|
|
||||||
|
|
||||||
|
import Foundation
|
||||||
|
|
||||||
|
extension Operations.GetLibraryItemsLibraryResponseType: Serializable {
|
||||||
|
func serialize(with format: SerializableFormat) throws -> String {
|
||||||
|
return try rawValue.serialize(with: format)
|
||||||
|
}
|
||||||
|
|
||||||
|
func serializeQueryParameters(with format: SerializableFormat) throws -> [QueryParameter] {
|
||||||
|
return [QueryParameter(key: [], serialized: try serialize(with: format))]
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -32,9 +32,9 @@ extension Operations.GetLibraryItemsRequest: PathParameterSerializable {
|
|||||||
extension Operations.GetLibraryItemsRequest: QueryParameterSerializable {
|
extension Operations.GetLibraryItemsRequest: QueryParameterSerializable {
|
||||||
func serializedQueryParameters(with parameterDefaults: ParameterDefaults?, formatOverride: SerializableFormat?) throws -> [QueryParameter] {
|
func serializedQueryParameters(with parameterDefaults: ParameterDefaults?, formatOverride: SerializableFormat?) throws -> [QueryParameter] {
|
||||||
let builder = QueryParameterBuilder()
|
let builder = QueryParameterBuilder()
|
||||||
try builder.addQueryParameters(from: type, named: "type", format: formatOverride ?? .query(style: .form, explode: true), parameterDefaults: parameterDefaults)
|
|
||||||
try builder.addQueryParameters(from: includeGuids, named: "includeGuids", format: formatOverride ?? .query(style: .form, explode: true), parameterDefaults: parameterDefaults)
|
try builder.addQueryParameters(from: includeGuids, named: "includeGuids", format: formatOverride ?? .query(style: .form, explode: true), parameterDefaults: parameterDefaults)
|
||||||
try builder.addQueryParameters(from: includeMeta, named: "includeMeta", format: formatOverride ?? .query(style: .form, explode: true), parameterDefaults: parameterDefaults)
|
try builder.addQueryParameters(from: includeMeta, named: "includeMeta", format: formatOverride ?? .query(style: .form, explode: true), parameterDefaults: parameterDefaults)
|
||||||
|
try builder.addQueryParameters(from: type, named: "type", format: formatOverride ?? .query(style: .form, explode: true), parameterDefaults: parameterDefaults)
|
||||||
try builder.addQueryParameters(from: xPlexContainerSize, named: "X-Plex-Container-Size", format: formatOverride ?? .query(style: .form, explode: true), parameterDefaults: parameterDefaults)
|
try builder.addQueryParameters(from: xPlexContainerSize, named: "X-Plex-Container-Size", format: formatOverride ?? .query(style: .form, explode: true), parameterDefaults: parameterDefaults)
|
||||||
try builder.addQueryParameters(from: xPlexContainerStart, named: "X-Plex-Container-Start", format: formatOverride ?? .query(style: .form, explode: true), parameterDefaults: parameterDefaults)
|
try builder.addQueryParameters(from: xPlexContainerStart, named: "X-Plex-Container-Start", format: formatOverride ?? .query(style: .form, explode: true), parameterDefaults: parameterDefaults)
|
||||||
return builder.build()
|
return builder.build()
|
||||||
|
|||||||
@@ -0,0 +1,14 @@
|
|||||||
|
// Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
||||||
|
|
||||||
|
|
||||||
|
import Foundation
|
||||||
|
|
||||||
|
extension Operations.GetLibraryItemsType: Serializable {
|
||||||
|
func serialize(with format: SerializableFormat) throws -> String {
|
||||||
|
return try rawValue.serialize(with: format)
|
||||||
|
}
|
||||||
|
|
||||||
|
func serializeQueryParameters(with format: SerializableFormat) throws -> [QueryParameter] {
|
||||||
|
return [QueryParameter(key: [], serialized: try serialize(with: format))]
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
// Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
||||||
|
|
||||||
|
|
||||||
|
import Foundation
|
||||||
|
|
||||||
|
extension Operations.HasThumbnail: Serializable {
|
||||||
|
func serialize(with format: SerializableFormat) throws -> String {
|
||||||
|
return try rawValue.serialize(with: format)
|
||||||
|
}
|
||||||
|
|
||||||
|
func serializeQueryParameters(with format: SerializableFormat) throws -> [QueryParameter] {
|
||||||
|
return [QueryParameter(key: [], serialized: try serialize(with: format))]
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
// Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
||||||
|
|
||||||
|
|
||||||
|
import Foundation
|
||||||
|
|
||||||
|
extension Operations.ShowOrdering: Serializable {
|
||||||
|
func serialize(with format: SerializableFormat) throws -> String {
|
||||||
|
return try rawValue.serialize(with: format)
|
||||||
|
}
|
||||||
|
|
||||||
|
func serializeQueryParameters(with format: SerializableFormat) throws -> [QueryParameter] {
|
||||||
|
return [QueryParameter(key: [], serialized: try serialize(with: format))]
|
||||||
|
}
|
||||||
|
}
|
||||||
26
Sources/Plexswift/models/operations/Action.swift
Normal file
26
Sources/Plexswift/models/operations/Action.swift
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
// Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
||||||
|
|
||||||
|
import Foundation
|
||||||
|
|
||||||
|
extension Operations {
|
||||||
|
/// A model object
|
||||||
|
public struct Action {
|
||||||
|
public let id: String
|
||||||
|
public let key: String
|
||||||
|
|
||||||
|
/// Creates an object with the specified parameters
|
||||||
|
///
|
||||||
|
///
|
||||||
|
public init(id: String, key: String) {
|
||||||
|
self.id = id
|
||||||
|
self.key = key
|
||||||
|
}
|
||||||
|
}}
|
||||||
|
|
||||||
|
extension Operations.Action: Codable {
|
||||||
|
enum CodingKeys: String, CodingKey {
|
||||||
|
case id
|
||||||
|
case key
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
11
Sources/Plexswift/models/operations/ActiveDirection.swift
Normal file
11
Sources/Plexswift/models/operations/ActiveDirection.swift
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
// Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
||||||
|
|
||||||
|
import Foundation
|
||||||
|
|
||||||
|
extension Operations {
|
||||||
|
/// The direction of the sort. Can be either `asc` or `desc`.
|
||||||
|
///
|
||||||
|
public enum ActiveDirection: String, Codable, APIValue {
|
||||||
|
case ascending = "asc"
|
||||||
|
case descending = "desc"
|
||||||
|
}}
|
||||||
23
Sources/Plexswift/models/operations/Collection.swift
Normal file
23
Sources/Plexswift/models/operations/Collection.swift
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
// Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
||||||
|
|
||||||
|
import Foundation
|
||||||
|
|
||||||
|
extension Operations {
|
||||||
|
/// A model object
|
||||||
|
public struct Collection {
|
||||||
|
public let tag: String?
|
||||||
|
|
||||||
|
/// Creates an object with the specified parameters
|
||||||
|
///
|
||||||
|
///
|
||||||
|
public init(tag: String? = nil) {
|
||||||
|
self.tag = tag
|
||||||
|
}
|
||||||
|
}}
|
||||||
|
|
||||||
|
extension Operations.Collection: Codable {
|
||||||
|
enum CodingKeys: String, CodingKey {
|
||||||
|
case tag
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
11
Sources/Plexswift/models/operations/DefaultDirection.swift
Normal file
11
Sources/Plexswift/models/operations/DefaultDirection.swift
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
// Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
||||||
|
|
||||||
|
import Foundation
|
||||||
|
|
||||||
|
extension Operations {
|
||||||
|
/// The direction of the sort. Can be either `asc` or `desc`.
|
||||||
|
///
|
||||||
|
public enum DefaultDirection: String, Codable, APIValue {
|
||||||
|
case ascending = "asc"
|
||||||
|
case descending = "desc"
|
||||||
|
}}
|
||||||
@@ -5,25 +5,37 @@ import Foundation
|
|||||||
extension Operations {
|
extension Operations {
|
||||||
/// A model object
|
/// A model object
|
||||||
public struct Feature {
|
public struct Feature {
|
||||||
|
public let type: String
|
||||||
|
public let action: [Operations.Action]?
|
||||||
public let directory: [Operations.GetMediaProvidersDirectory]?
|
public let directory: [Operations.GetMediaProvidersDirectory]?
|
||||||
|
public let flavor: String?
|
||||||
public let key: String?
|
public let key: String?
|
||||||
public let type: String?
|
public let scrobbleKey: String?
|
||||||
|
public let unscrobbleKey: String?
|
||||||
|
|
||||||
/// Creates an object with the specified parameters
|
/// Creates an object with the specified parameters
|
||||||
///
|
///
|
||||||
///
|
///
|
||||||
public init(directory: [Operations.GetMediaProvidersDirectory]? = nil, key: String? = nil, type: String? = nil) {
|
public init(type: String, action: [Operations.Action]? = nil, directory: [Operations.GetMediaProvidersDirectory]? = nil, flavor: String? = nil, key: String? = nil, scrobbleKey: String? = nil, unscrobbleKey: String? = nil) {
|
||||||
self.directory = directory
|
|
||||||
self.key = key
|
|
||||||
self.type = type
|
self.type = type
|
||||||
|
self.action = action
|
||||||
|
self.directory = directory
|
||||||
|
self.flavor = flavor
|
||||||
|
self.key = key
|
||||||
|
self.scrobbleKey = scrobbleKey
|
||||||
|
self.unscrobbleKey = unscrobbleKey
|
||||||
}
|
}
|
||||||
}}
|
}}
|
||||||
|
|
||||||
extension Operations.Feature: Codable {
|
extension Operations.Feature: Codable {
|
||||||
enum CodingKeys: String, CodingKey {
|
enum CodingKeys: String, CodingKey {
|
||||||
case directory = "Directory"
|
|
||||||
case key
|
|
||||||
case type
|
case type
|
||||||
|
case action = "Action"
|
||||||
|
case directory = "Directory"
|
||||||
|
case flavor
|
||||||
|
case key
|
||||||
|
case scrobbleKey
|
||||||
|
case unscrobbleKey
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
9
Sources/Plexswift/models/operations/FlattenSeasons.swift
Normal file
9
Sources/Plexswift/models/operations/FlattenSeasons.swift
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
// Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
||||||
|
|
||||||
|
import Foundation
|
||||||
|
|
||||||
|
extension Operations {
|
||||||
|
public enum FlattenSeasons: String, Codable, APIValue {
|
||||||
|
case `false` = "0"
|
||||||
|
case `true` = "1"
|
||||||
|
}}
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
// Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
||||||
|
|
||||||
|
import Foundation
|
||||||
|
|
||||||
|
extension Operations {
|
||||||
|
/// A model object
|
||||||
|
public struct GetLibraryItemsImage {
|
||||||
|
public let alt: String
|
||||||
|
public let type: Operations.GetLibraryItemsLibraryResponseType
|
||||||
|
public let url: String
|
||||||
|
|
||||||
|
/// Creates an object with the specified parameters
|
||||||
|
///
|
||||||
|
///
|
||||||
|
public init(alt: String, type: Operations.GetLibraryItemsLibraryResponseType, url: String) {
|
||||||
|
self.alt = alt
|
||||||
|
self.type = type
|
||||||
|
self.url = url
|
||||||
|
}
|
||||||
|
}}
|
||||||
|
|
||||||
|
extension Operations.GetLibraryItemsImage: Codable {
|
||||||
|
enum CodingKeys: String, CodingKey {
|
||||||
|
case alt
|
||||||
|
case type
|
||||||
|
case url
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
// Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
||||||
|
|
||||||
|
import Foundation
|
||||||
|
|
||||||
|
extension Operations {
|
||||||
|
public enum GetLibraryItemsLibraryResponseType: String, Codable, APIValue {
|
||||||
|
case coverPoster = "coverPoster"
|
||||||
|
case background = "background"
|
||||||
|
case snapshot = "snapshot"
|
||||||
|
case clearLogo = "clearLogo"
|
||||||
|
}}
|
||||||
@@ -0,0 +1,41 @@
|
|||||||
|
// Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
||||||
|
|
||||||
|
import Foundation
|
||||||
|
|
||||||
|
extension Operations {
|
||||||
|
/// A model object
|
||||||
|
public struct GetLibraryItemsLibraryType {
|
||||||
|
public let active: Bool
|
||||||
|
public let key: String
|
||||||
|
public let title: String
|
||||||
|
public let type: String
|
||||||
|
public let field: [Operations.GetLibraryItemsField]?
|
||||||
|
public let filter: [Operations.GetLibraryItemsFilter]?
|
||||||
|
public let sort: [Operations.GetLibraryItemsSort]?
|
||||||
|
|
||||||
|
/// Creates an object with the specified parameters
|
||||||
|
///
|
||||||
|
///
|
||||||
|
public init(active: Bool, key: String, title: String, type: String, field: [Operations.GetLibraryItemsField]? = nil, filter: [Operations.GetLibraryItemsFilter]? = nil, sort: [Operations.GetLibraryItemsSort]? = nil) {
|
||||||
|
self.active = active
|
||||||
|
self.key = key
|
||||||
|
self.title = title
|
||||||
|
self.type = type
|
||||||
|
self.field = field
|
||||||
|
self.filter = filter
|
||||||
|
self.sort = sort
|
||||||
|
}
|
||||||
|
}}
|
||||||
|
|
||||||
|
extension Operations.GetLibraryItemsLibraryType: Codable {
|
||||||
|
enum CodingKeys: String, CodingKey {
|
||||||
|
case active
|
||||||
|
case key
|
||||||
|
case title
|
||||||
|
case type
|
||||||
|
case field = "Field"
|
||||||
|
case filter = "Filter"
|
||||||
|
case sort = "Sort"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@@ -6,26 +6,28 @@ extension Operations {
|
|||||||
/// A model object
|
/// A model object
|
||||||
public struct GetLibraryItemsMedia {
|
public struct GetLibraryItemsMedia {
|
||||||
@DecimalSerialized
|
@DecimalSerialized
|
||||||
public private(set) var aspectRatio: Double?
|
public private(set) var aspectRatio: Double
|
||||||
public let audioChannels: Int?
|
public let audioChannels: Int
|
||||||
public let audioCodec: String?
|
public let audioCodec: String
|
||||||
public let bitrate: Int?
|
public let bitrate: Int
|
||||||
public let container: String?
|
public let container: String
|
||||||
public let duration: Int?
|
public let duration: Int
|
||||||
public let height: Int?
|
public let height: Int
|
||||||
public let id: Int?
|
public let id: Int
|
||||||
public let part: [Operations.GetLibraryItemsPart]?
|
public let part: [Operations.GetLibraryItemsPart]
|
||||||
public let videoCodec: String?
|
public let videoCodec: String
|
||||||
public let videoFrameRate: String?
|
public let videoFrameRate: String
|
||||||
public let videoProfile: String?
|
public let videoProfile: String
|
||||||
public let videoResolution: String?
|
public let videoResolution: String
|
||||||
public let width: Int?
|
public let width: Int
|
||||||
|
public let audioProfile: String?
|
||||||
|
public let hasVoiceActivity: Bool?
|
||||||
|
|
||||||
/// Creates an object with the specified parameters
|
/// Creates an object with the specified parameters
|
||||||
///
|
///
|
||||||
///
|
///
|
||||||
public init(aspectRatio: Double? = nil, audioChannels: Int? = nil, audioCodec: String? = nil, bitrate: Int? = nil, container: String? = nil, duration: Int? = nil, height: Int? = nil, id: Int? = nil, part: [Operations.GetLibraryItemsPart]? = nil, videoCodec: String? = nil, videoFrameRate: String? = nil, videoProfile: String? = nil, videoResolution: String? = nil, width: Int? = nil) {
|
public init(aspectRatio: Double, audioChannels: Int, audioCodec: String, bitrate: Int, container: String, duration: Int, height: Int, id: Int, part: [Operations.GetLibraryItemsPart], videoCodec: String, videoFrameRate: String, videoProfile: String, videoResolution: String, width: Int, audioProfile: String? = nil, hasVoiceActivity: Bool? = nil) {
|
||||||
self._aspectRatio = DecimalSerialized<Double?>(wrappedValue: aspectRatio)
|
self._aspectRatio = DecimalSerialized<Double>(wrappedValue: aspectRatio)
|
||||||
self.audioChannels = audioChannels
|
self.audioChannels = audioChannels
|
||||||
self.audioCodec = audioCodec
|
self.audioCodec = audioCodec
|
||||||
self.bitrate = bitrate
|
self.bitrate = bitrate
|
||||||
@@ -39,6 +41,8 @@ extension Operations {
|
|||||||
self.videoProfile = videoProfile
|
self.videoProfile = videoProfile
|
||||||
self.videoResolution = videoResolution
|
self.videoResolution = videoResolution
|
||||||
self.width = width
|
self.width = width
|
||||||
|
self.audioProfile = audioProfile
|
||||||
|
self.hasVoiceActivity = hasVoiceActivity
|
||||||
}
|
}
|
||||||
}}
|
}}
|
||||||
|
|
||||||
@@ -58,49 +62,53 @@ extension Operations.GetLibraryItemsMedia: Codable {
|
|||||||
case videoProfile
|
case videoProfile
|
||||||
case videoResolution
|
case videoResolution
|
||||||
case width
|
case width
|
||||||
|
case audioProfile
|
||||||
|
case hasVoiceActivity
|
||||||
}
|
}
|
||||||
|
|
||||||
public init(from decoder: Decoder) throws {
|
public init(from decoder: Decoder) throws {
|
||||||
let container = try decoder.container(keyedBy: CodingKeys.self)
|
let container = try decoder.container(keyedBy: CodingKeys.self)
|
||||||
self._aspectRatio = try container.decodeIfPresent(DecimalSerialized<Double?>.self, forKey: .aspectRatio) ?? DecimalSerialized<Double?>(wrappedValue: nil)
|
self._aspectRatio = try container.decode(DecimalSerialized<Double>.self, forKey: .aspectRatio)
|
||||||
self.audioChannels = try container.decodeIfPresent(Int.self, forKey: .audioChannels)
|
self.audioChannels = try container.decode(Int.self, forKey: .audioChannels)
|
||||||
self.audioCodec = try container.decodeIfPresent(String.self, forKey: .audioCodec)
|
self.audioCodec = try container.decode(String.self, forKey: .audioCodec)
|
||||||
self.bitrate = try container.decodeIfPresent(Int.self, forKey: .bitrate)
|
self.bitrate = try container.decode(Int.self, forKey: .bitrate)
|
||||||
self.container = try container.decodeIfPresent(String.self, forKey: .container)
|
self.container = try container.decode(String.self, forKey: .container)
|
||||||
self.duration = try container.decodeIfPresent(Int.self, forKey: .duration)
|
self.duration = try container.decode(Int.self, forKey: .duration)
|
||||||
self.height = try container.decodeIfPresent(Int.self, forKey: .height)
|
self.height = try container.decode(Int.self, forKey: .height)
|
||||||
self.id = try container.decodeIfPresent(Int.self, forKey: .id)
|
self.id = try container.decode(Int.self, forKey: .id)
|
||||||
self.part = try container.decodeIfPresent([Operations.GetLibraryItemsPart].self, forKey: .part)
|
self.part = try container.decode([Operations.GetLibraryItemsPart].self, forKey: .part)
|
||||||
self.videoCodec = try container.decodeIfPresent(String.self, forKey: .videoCodec)
|
self.videoCodec = try container.decode(String.self, forKey: .videoCodec)
|
||||||
self.videoFrameRate = try container.decodeIfPresent(String.self, forKey: .videoFrameRate)
|
self.videoFrameRate = try container.decode(String.self, forKey: .videoFrameRate)
|
||||||
self.videoProfile = try container.decodeIfPresent(String.self, forKey: .videoProfile)
|
self.videoProfile = try container.decode(String.self, forKey: .videoProfile)
|
||||||
self.videoResolution = try container.decodeIfPresent(String.self, forKey: .videoResolution)
|
self.videoResolution = try container.decode(String.self, forKey: .videoResolution)
|
||||||
self.width = try container.decodeIfPresent(Int.self, forKey: .width)
|
self.width = try container.decode(Int.self, forKey: .width)
|
||||||
|
self.audioProfile = try container.decodeIfPresent(String.self, forKey: .audioProfile)
|
||||||
|
self.hasVoiceActivity = try container.decodeIfPresent(Bool.self, forKey: .hasVoiceActivity)
|
||||||
}
|
}
|
||||||
|
|
||||||
public func encode(to encoder: Encoder) throws {
|
public func encode(to encoder: Encoder) throws {
|
||||||
var container = encoder.container(keyedBy: CodingKeys.self)
|
var container = encoder.container(keyedBy: CodingKeys.self)
|
||||||
if self.aspectRatio != nil {
|
try container.encode(self._aspectRatio, forKey: .aspectRatio)
|
||||||
try container.encode(self._aspectRatio, forKey: .aspectRatio)
|
try container.encode(self.audioChannels, forKey: .audioChannels)
|
||||||
}
|
try container.encode(self.audioCodec, forKey: .audioCodec)
|
||||||
try container.encodeIfPresent(self.audioChannels, forKey: .audioChannels)
|
try container.encode(self.bitrate, forKey: .bitrate)
|
||||||
try container.encodeIfPresent(self.audioCodec, forKey: .audioCodec)
|
try container.encode(self.container, forKey: .container)
|
||||||
try container.encodeIfPresent(self.bitrate, forKey: .bitrate)
|
try container.encode(self.duration, forKey: .duration)
|
||||||
try container.encodeIfPresent(self.container, forKey: .container)
|
try container.encode(self.height, forKey: .height)
|
||||||
try container.encodeIfPresent(self.duration, forKey: .duration)
|
try container.encode(self.id, forKey: .id)
|
||||||
try container.encodeIfPresent(self.height, forKey: .height)
|
try container.encode(self.part, forKey: .part)
|
||||||
try container.encodeIfPresent(self.id, forKey: .id)
|
try container.encode(self.videoCodec, forKey: .videoCodec)
|
||||||
try container.encodeIfPresent(self.part, forKey: .part)
|
try container.encode(self.videoFrameRate, forKey: .videoFrameRate)
|
||||||
try container.encodeIfPresent(self.videoCodec, forKey: .videoCodec)
|
try container.encode(self.videoProfile, forKey: .videoProfile)
|
||||||
try container.encodeIfPresent(self.videoFrameRate, forKey: .videoFrameRate)
|
try container.encode(self.videoResolution, forKey: .videoResolution)
|
||||||
try container.encodeIfPresent(self.videoProfile, forKey: .videoProfile)
|
try container.encode(self.width, forKey: .width)
|
||||||
try container.encodeIfPresent(self.videoResolution, forKey: .videoResolution)
|
try container.encodeIfPresent(self.audioProfile, forKey: .audioProfile)
|
||||||
try container.encodeIfPresent(self.width, forKey: .width)
|
try container.encodeIfPresent(self.hasVoiceActivity, forKey: .hasVoiceActivity)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
extension Operations.GetLibraryItemsMedia {
|
extension Operations.GetLibraryItemsMedia {
|
||||||
var aspectRatioWrapper: DecimalSerialized<Double?> {
|
var aspectRatioWrapper: DecimalSerialized<Double> {
|
||||||
return _aspectRatio
|
return _aspectRatio
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,22 +7,26 @@ extension Operations {
|
|||||||
public struct GetLibraryItemsMediaContainer {
|
public struct GetLibraryItemsMediaContainer {
|
||||||
public let allowSync: Bool
|
public let allowSync: Bool
|
||||||
public let art: String
|
public let art: String
|
||||||
|
public let content: String
|
||||||
public let identifier: String
|
public let identifier: String
|
||||||
public let librarySectionID: Operations.LibrarySectionID
|
public let librarySectionID: Operations.LibrarySectionID
|
||||||
public let librarySectionTitle: String
|
public let librarySectionTitle: String
|
||||||
public let librarySectionUUID: String
|
public let librarySectionUUID: String
|
||||||
public let mediaTagPrefix: String
|
public let mediaTagPrefix: String
|
||||||
public let mediaTagVersion: Int
|
public let mediaTagVersion: Int
|
||||||
|
public let metadata: [Operations.GetLibraryItemsMetadata]
|
||||||
|
public let offset: Int
|
||||||
public let size: Int
|
public let size: Int
|
||||||
public let thumb: String
|
public let thumb: String
|
||||||
public let title1: String
|
public let title1: String
|
||||||
public let title2: String
|
public let title2: String
|
||||||
|
public let totalSize: Int
|
||||||
public let viewGroup: String
|
public let viewGroup: String
|
||||||
/// The Meta object is only included in the response if the `includeMeta` parameter is set to `1`.
|
/// The Meta object is only included in the response if the `includeMeta` parameter is set to `1`.
|
||||||
///
|
///
|
||||||
public let meta: Operations.Meta?
|
public let meta: Operations.Meta?
|
||||||
public let metadata: [Operations.GetLibraryItemsMetadata]?
|
|
||||||
public let mixedParents: Bool?
|
public let mixedParents: Bool?
|
||||||
|
public let nocache: Bool?
|
||||||
public let viewMode: Int?
|
public let viewMode: Int?
|
||||||
|
|
||||||
/// Creates an object with the specified parameters
|
/// Creates an object with the specified parameters
|
||||||
@@ -30,23 +34,27 @@ extension Operations {
|
|||||||
/// - Parameter meta: The Meta object is only included in the response if the `includeMeta` parameter is set to `1`.
|
/// - Parameter meta: The Meta object is only included in the response if the `includeMeta` parameter is set to `1`.
|
||||||
///
|
///
|
||||||
///
|
///
|
||||||
public init(allowSync: Bool, art: String, identifier: String, librarySectionID: Operations.LibrarySectionID, librarySectionTitle: String, librarySectionUUID: String, mediaTagPrefix: String, mediaTagVersion: Int, size: Int, thumb: String, title1: String, title2: String, viewGroup: String, meta: Operations.Meta? = nil, metadata: [Operations.GetLibraryItemsMetadata]? = nil, mixedParents: Bool? = nil, viewMode: Int? = nil) {
|
public init(allowSync: Bool, art: String, content: String, identifier: String, librarySectionID: Operations.LibrarySectionID, librarySectionTitle: String, librarySectionUUID: String, mediaTagPrefix: String, mediaTagVersion: Int, metadata: [Operations.GetLibraryItemsMetadata], offset: Int, size: Int, thumb: String, title1: String, title2: String, totalSize: Int, viewGroup: String, meta: Operations.Meta? = nil, mixedParents: Bool? = nil, nocache: Bool? = nil, viewMode: Int? = nil) {
|
||||||
self.allowSync = allowSync
|
self.allowSync = allowSync
|
||||||
self.art = art
|
self.art = art
|
||||||
|
self.content = content
|
||||||
self.identifier = identifier
|
self.identifier = identifier
|
||||||
self.librarySectionID = librarySectionID
|
self.librarySectionID = librarySectionID
|
||||||
self.librarySectionTitle = librarySectionTitle
|
self.librarySectionTitle = librarySectionTitle
|
||||||
self.librarySectionUUID = librarySectionUUID
|
self.librarySectionUUID = librarySectionUUID
|
||||||
self.mediaTagPrefix = mediaTagPrefix
|
self.mediaTagPrefix = mediaTagPrefix
|
||||||
self.mediaTagVersion = mediaTagVersion
|
self.mediaTagVersion = mediaTagVersion
|
||||||
|
self.metadata = metadata
|
||||||
|
self.offset = offset
|
||||||
self.size = size
|
self.size = size
|
||||||
self.thumb = thumb
|
self.thumb = thumb
|
||||||
self.title1 = title1
|
self.title1 = title1
|
||||||
self.title2 = title2
|
self.title2 = title2
|
||||||
|
self.totalSize = totalSize
|
||||||
self.viewGroup = viewGroup
|
self.viewGroup = viewGroup
|
||||||
self.meta = meta
|
self.meta = meta
|
||||||
self.metadata = metadata
|
|
||||||
self.mixedParents = mixedParents
|
self.mixedParents = mixedParents
|
||||||
|
self.nocache = nocache
|
||||||
self.viewMode = viewMode
|
self.viewMode = viewMode
|
||||||
}
|
}
|
||||||
}}
|
}}
|
||||||
@@ -55,20 +63,24 @@ extension Operations.GetLibraryItemsMediaContainer: Codable {
|
|||||||
enum CodingKeys: String, CodingKey {
|
enum CodingKeys: String, CodingKey {
|
||||||
case allowSync
|
case allowSync
|
||||||
case art
|
case art
|
||||||
|
case content
|
||||||
case identifier
|
case identifier
|
||||||
case librarySectionID
|
case librarySectionID
|
||||||
case librarySectionTitle
|
case librarySectionTitle
|
||||||
case librarySectionUUID
|
case librarySectionUUID
|
||||||
case mediaTagPrefix
|
case mediaTagPrefix
|
||||||
case mediaTagVersion
|
case mediaTagVersion
|
||||||
|
case metadata = "Metadata"
|
||||||
|
case offset
|
||||||
case size
|
case size
|
||||||
case thumb
|
case thumb
|
||||||
case title1
|
case title1
|
||||||
case title2
|
case title2
|
||||||
|
case totalSize
|
||||||
case viewGroup
|
case viewGroup
|
||||||
case meta = "Meta"
|
case meta = "Meta"
|
||||||
case metadata = "Metadata"
|
|
||||||
case mixedParents
|
case mixedParents
|
||||||
|
case nocache
|
||||||
case viewMode
|
case viewMode
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,37 +5,50 @@ import Foundation
|
|||||||
extension Operations {
|
extension Operations {
|
||||||
/// A model object
|
/// A model object
|
||||||
public struct GetLibraryItemsMetadata {
|
public struct GetLibraryItemsMetadata {
|
||||||
public let duration: Int
|
/// Unix epoch datetime in seconds
|
||||||
|
public let addedAt: Int
|
||||||
public let guid: String
|
public let guid: String
|
||||||
public let key: String
|
public let key: String
|
||||||
public let media: [Operations.GetLibraryItemsMedia]
|
/// The rating key (Media ID) of this media item.
|
||||||
|
/// Note: This is always an integer, but is represented as a string in the API.
|
||||||
|
///
|
||||||
public let ratingKey: String
|
public let ratingKey: String
|
||||||
|
public let summary: String
|
||||||
public let title: String
|
public let title: String
|
||||||
public let type: String
|
/// The type of media content
|
||||||
public let year: Int
|
///
|
||||||
public let addedAt: Int?
|
public let type: Operations.GetLibraryItemsType
|
||||||
public let art: String?
|
public let art: String?
|
||||||
@DecimalSerialized
|
@DecimalSerialized
|
||||||
public private(set) var audienceRating: Double?
|
public private(set) var audienceRating: Double?
|
||||||
public let audienceRatingImage: String?
|
public let audienceRatingImage: String?
|
||||||
|
public let banner: String?
|
||||||
public let chapterSource: String?
|
public let chapterSource: String?
|
||||||
public let childCount: Int?
|
public let childCount: Int?
|
||||||
|
public let collection: [Operations.Collection]?
|
||||||
public let contentRating: String?
|
public let contentRating: String?
|
||||||
public let country: [Operations.GetLibraryItemsCountry]?
|
public let country: [Operations.GetLibraryItemsCountry]?
|
||||||
public let director: [Operations.GetLibraryItemsDirector]?
|
public let director: [Operations.GetLibraryItemsDirector]?
|
||||||
|
public let duration: Int?
|
||||||
|
public let flattenSeasons: Operations.FlattenSeasons?
|
||||||
public let genre: [Operations.GetLibraryItemsGenre]?
|
public let genre: [Operations.GetLibraryItemsGenre]?
|
||||||
public let grandparentArt: String?
|
public let grandparentArt: String?
|
||||||
public let grandparentGuid: String?
|
public let grandparentGuid: String?
|
||||||
public let grandparentKey: String?
|
public let grandparentKey: String?
|
||||||
public let grandparentRatingKey: String?
|
public let grandparentRatingKey: String?
|
||||||
|
public let grandparentSlug: String?
|
||||||
public let grandparentTheme: String?
|
public let grandparentTheme: String?
|
||||||
public let grandparentThumb: String?
|
public let grandparentThumb: String?
|
||||||
public let grandparentTitle: String?
|
public let grandparentTitle: String?
|
||||||
public let hasPremiumExtras: String?
|
public let hasPremiumExtras: String?
|
||||||
public let hasPremiumPrimaryExtra: String?
|
public let hasPremiumPrimaryExtra: String?
|
||||||
|
public let image: [Operations.GetLibraryItemsImage]?
|
||||||
public let index: Int?
|
public let index: Int?
|
||||||
public let lastViewedAt: Int?
|
public let lastViewedAt: Int?
|
||||||
public let leafCount: Int?
|
public let leafCount: Int?
|
||||||
|
/// The Media object is only included when type query is `4` or higher.
|
||||||
|
///
|
||||||
|
public let media: [Operations.GetLibraryItemsMedia]?
|
||||||
/// The Guid object is only included in the response if the `includeGuids` parameter is set to `1`.
|
/// The Guid object is only included in the response if the `includeGuids` parameter is set to `1`.
|
||||||
///
|
///
|
||||||
public let mediaGuid: [Operations.MediaGuid]?
|
public let mediaGuid: [Operations.MediaGuid]?
|
||||||
@@ -45,6 +58,8 @@ extension Operations {
|
|||||||
public let parentGuid: String?
|
public let parentGuid: String?
|
||||||
public let parentIndex: Int?
|
public let parentIndex: Int?
|
||||||
public let parentKey: String?
|
public let parentKey: String?
|
||||||
|
/// The rating key of the parent item.
|
||||||
|
///
|
||||||
public let parentRatingKey: String?
|
public let parentRatingKey: String?
|
||||||
public let parentStudio: String?
|
public let parentStudio: String?
|
||||||
public let parentTheme: String?
|
public let parentTheme: String?
|
||||||
@@ -56,55 +71,91 @@ extension Operations {
|
|||||||
public private(set) var rating: Double?
|
public private(set) var rating: Double?
|
||||||
public let ratingImage: String?
|
public let ratingImage: String?
|
||||||
public let role: [Operations.GetLibraryItemsRole]?
|
public let role: [Operations.GetLibraryItemsRole]?
|
||||||
|
public let seasonCount: Int?
|
||||||
|
/// 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)).
|
||||||
|
///
|
||||||
|
public let showOrdering: Operations.ShowOrdering?
|
||||||
|
public let skipChildren: Bool?
|
||||||
public let skipCount: Int?
|
public let skipCount: Int?
|
||||||
|
public let slug: String?
|
||||||
public let studio: String?
|
public let studio: String?
|
||||||
public let summary: String?
|
|
||||||
public let tagline: String?
|
public let tagline: String?
|
||||||
public let theme: String?
|
public let theme: String?
|
||||||
public let thumb: String?
|
public let thumb: String?
|
||||||
public let titleSort: String?
|
public let titleSort: String?
|
||||||
|
public let ultraBlurColors: Operations.UltraBlurColors?
|
||||||
|
/// Unix epoch datetime in seconds
|
||||||
public let updatedAt: Int?
|
public let updatedAt: Int?
|
||||||
public let viewCount: Int?
|
public let viewCount: Int?
|
||||||
public let viewedLeafCount: Int?
|
public let viewedLeafCount: Int?
|
||||||
public let viewOffset: Int?
|
public let viewOffset: Int?
|
||||||
public let writer: [Operations.GetLibraryItemsWriter]?
|
public let writer: [Operations.GetLibraryItemsWriter]?
|
||||||
|
public let year: Int?
|
||||||
|
|
||||||
/// Creates an object with the specified parameters
|
/// Creates an object with the specified parameters
|
||||||
///
|
///
|
||||||
|
/// - Parameter addedAt: Unix epoch datetime in seconds
|
||||||
|
/// - Parameter ratingKey: The rating key (Media ID) of this media item.
|
||||||
|
/// Note: This is always an integer, but is represented as a string in the API.
|
||||||
|
///
|
||||||
|
/// - Parameter type: The type of media content
|
||||||
|
///
|
||||||
|
/// - Parameter media: The Media object is only included when type query is `4` or higher.
|
||||||
|
///
|
||||||
/// - Parameter mediaGuid: The Guid object is only included in the response if the `includeGuids` parameter is set to `1`.
|
/// - Parameter mediaGuid: The Guid object is only included in the response if the `includeGuids` parameter is set to `1`.
|
||||||
///
|
///
|
||||||
|
/// - Parameter parentRatingKey: The rating key of the parent item.
|
||||||
///
|
///
|
||||||
public init(duration: Int, guid: String, key: String, media: [Operations.GetLibraryItemsMedia], ratingKey: String, title: String, type: String, year: Int, addedAt: Int? = nil, art: String? = nil, audienceRating: Double? = nil, audienceRatingImage: String? = nil, chapterSource: String? = nil, childCount: Int? = nil, contentRating: String? = nil, country: [Operations.GetLibraryItemsCountry]? = nil, director: [Operations.GetLibraryItemsDirector]? = nil, genre: [Operations.GetLibraryItemsGenre]? = nil, grandparentArt: String? = nil, grandparentGuid: String? = nil, grandparentKey: String? = nil, grandparentRatingKey: String? = nil, grandparentTheme: String? = nil, grandparentThumb: String? = nil, grandparentTitle: String? = nil, hasPremiumExtras: String? = nil, hasPremiumPrimaryExtra: String? = nil, index: Int? = nil, lastViewedAt: Int? = nil, leafCount: Int? = nil, mediaGuid: [Operations.MediaGuid]? = nil, originallyAvailableAt: Date? = nil, originalTitle: String? = nil, parentGuid: String? = nil, parentIndex: Int? = nil, parentKey: String? = nil, parentRatingKey: String? = nil, parentStudio: String? = nil, parentTheme: String? = nil, parentThumb: String? = nil, parentTitle: String? = nil, parentYear: Int? = nil, primaryExtraKey: String? = nil, rating: Double? = nil, ratingImage: String? = nil, role: [Operations.GetLibraryItemsRole]? = nil, skipCount: Int? = nil, studio: String? = nil, summary: String? = nil, tagline: String? = nil, theme: String? = nil, thumb: String? = nil, titleSort: String? = nil, updatedAt: Int? = nil, viewCount: Int? = nil, viewedLeafCount: Int? = nil, viewOffset: Int? = nil, writer: [Operations.GetLibraryItemsWriter]? = nil) {
|
/// - Parameter showOrdering: Setting that indicates the episode ordering for the show
|
||||||
self.duration = duration
|
/// None = Library default,
|
||||||
|
/// tmdbAiring = The Movie Database (Aired),
|
||||||
|
/// aired = TheTVDB (Aired),
|
||||||
|
/// dvd = TheTVDB (DVD),
|
||||||
|
/// absolute = TheTVDB (Absolute)).
|
||||||
|
///
|
||||||
|
/// - Parameter updatedAt: Unix epoch datetime in seconds
|
||||||
|
///
|
||||||
|
public init(addedAt: Int, guid: String, key: String, ratingKey: String, summary: String, title: String, type: Operations.GetLibraryItemsType, art: String? = nil, audienceRating: Double? = nil, audienceRatingImage: String? = nil, banner: String? = nil, chapterSource: String? = nil, childCount: Int? = nil, collection: [Operations.Collection]? = nil, contentRating: String? = nil, country: [Operations.GetLibraryItemsCountry]? = nil, director: [Operations.GetLibraryItemsDirector]? = nil, duration: Int? = nil, flattenSeasons: Operations.FlattenSeasons? = nil, genre: [Operations.GetLibraryItemsGenre]? = nil, grandparentArt: String? = nil, grandparentGuid: String? = nil, grandparentKey: String? = nil, grandparentRatingKey: String? = nil, grandparentSlug: String? = nil, grandparentTheme: String? = nil, grandparentThumb: String? = nil, grandparentTitle: String? = nil, hasPremiumExtras: String? = nil, hasPremiumPrimaryExtra: String? = nil, image: [Operations.GetLibraryItemsImage]? = nil, index: Int? = nil, lastViewedAt: Int? = nil, leafCount: Int? = nil, media: [Operations.GetLibraryItemsMedia]? = nil, mediaGuid: [Operations.MediaGuid]? = nil, originallyAvailableAt: Date? = nil, originalTitle: String? = nil, parentGuid: String? = nil, parentIndex: Int? = nil, parentKey: String? = nil, parentRatingKey: String? = nil, parentStudio: String? = nil, parentTheme: String? = nil, parentThumb: String? = nil, parentTitle: String? = nil, parentYear: Int? = nil, primaryExtraKey: String? = nil, rating: Double? = nil, ratingImage: String? = nil, role: [Operations.GetLibraryItemsRole]? = nil, seasonCount: Int? = nil, showOrdering: Operations.ShowOrdering? = nil, skipChildren: Bool? = nil, skipCount: Int? = nil, slug: String? = nil, studio: String? = nil, tagline: String? = nil, theme: String? = nil, thumb: String? = nil, titleSort: String? = nil, ultraBlurColors: Operations.UltraBlurColors? = nil, updatedAt: Int? = nil, viewCount: Int? = nil, viewedLeafCount: Int? = nil, viewOffset: Int? = nil, writer: [Operations.GetLibraryItemsWriter]? = nil, year: Int? = nil) {
|
||||||
|
self.addedAt = addedAt
|
||||||
self.guid = guid
|
self.guid = guid
|
||||||
self.key = key
|
self.key = key
|
||||||
self.media = media
|
|
||||||
self.ratingKey = ratingKey
|
self.ratingKey = ratingKey
|
||||||
|
self.summary = summary
|
||||||
self.title = title
|
self.title = title
|
||||||
self.type = type
|
self.type = type
|
||||||
self.year = year
|
|
||||||
self.addedAt = addedAt
|
|
||||||
self.art = art
|
self.art = art
|
||||||
self._audienceRating = DecimalSerialized<Double?>(wrappedValue: audienceRating)
|
self._audienceRating = DecimalSerialized<Double?>(wrappedValue: audienceRating)
|
||||||
self.audienceRatingImage = audienceRatingImage
|
self.audienceRatingImage = audienceRatingImage
|
||||||
|
self.banner = banner
|
||||||
self.chapterSource = chapterSource
|
self.chapterSource = chapterSource
|
||||||
self.childCount = childCount
|
self.childCount = childCount
|
||||||
|
self.collection = collection
|
||||||
self.contentRating = contentRating
|
self.contentRating = contentRating
|
||||||
self.country = country
|
self.country = country
|
||||||
self.director = director
|
self.director = director
|
||||||
|
self.duration = duration
|
||||||
|
self.flattenSeasons = flattenSeasons
|
||||||
self.genre = genre
|
self.genre = genre
|
||||||
self.grandparentArt = grandparentArt
|
self.grandparentArt = grandparentArt
|
||||||
self.grandparentGuid = grandparentGuid
|
self.grandparentGuid = grandparentGuid
|
||||||
self.grandparentKey = grandparentKey
|
self.grandparentKey = grandparentKey
|
||||||
self.grandparentRatingKey = grandparentRatingKey
|
self.grandparentRatingKey = grandparentRatingKey
|
||||||
|
self.grandparentSlug = grandparentSlug
|
||||||
self.grandparentTheme = grandparentTheme
|
self.grandparentTheme = grandparentTheme
|
||||||
self.grandparentThumb = grandparentThumb
|
self.grandparentThumb = grandparentThumb
|
||||||
self.grandparentTitle = grandparentTitle
|
self.grandparentTitle = grandparentTitle
|
||||||
self.hasPremiumExtras = hasPremiumExtras
|
self.hasPremiumExtras = hasPremiumExtras
|
||||||
self.hasPremiumPrimaryExtra = hasPremiumPrimaryExtra
|
self.hasPremiumPrimaryExtra = hasPremiumPrimaryExtra
|
||||||
|
self.image = image
|
||||||
self.index = index
|
self.index = index
|
||||||
self.lastViewedAt = lastViewedAt
|
self.lastViewedAt = lastViewedAt
|
||||||
self.leafCount = leafCount
|
self.leafCount = leafCount
|
||||||
|
self.media = media
|
||||||
self.mediaGuid = mediaGuid
|
self.mediaGuid = mediaGuid
|
||||||
self._originallyAvailableAt = DateOnly<Date?>(wrappedValue: originallyAvailableAt)
|
self._originallyAvailableAt = DateOnly<Date?>(wrappedValue: originallyAvailableAt)
|
||||||
self.originalTitle = originalTitle
|
self.originalTitle = originalTitle
|
||||||
@@ -121,53 +172,63 @@ extension Operations {
|
|||||||
self._rating = DecimalSerialized<Double?>(wrappedValue: rating)
|
self._rating = DecimalSerialized<Double?>(wrappedValue: rating)
|
||||||
self.ratingImage = ratingImage
|
self.ratingImage = ratingImage
|
||||||
self.role = role
|
self.role = role
|
||||||
|
self.seasonCount = seasonCount
|
||||||
|
self.showOrdering = showOrdering
|
||||||
|
self.skipChildren = skipChildren
|
||||||
self.skipCount = skipCount
|
self.skipCount = skipCount
|
||||||
|
self.slug = slug
|
||||||
self.studio = studio
|
self.studio = studio
|
||||||
self.summary = summary
|
|
||||||
self.tagline = tagline
|
self.tagline = tagline
|
||||||
self.theme = theme
|
self.theme = theme
|
||||||
self.thumb = thumb
|
self.thumb = thumb
|
||||||
self.titleSort = titleSort
|
self.titleSort = titleSort
|
||||||
|
self.ultraBlurColors = ultraBlurColors
|
||||||
self.updatedAt = updatedAt
|
self.updatedAt = updatedAt
|
||||||
self.viewCount = viewCount
|
self.viewCount = viewCount
|
||||||
self.viewedLeafCount = viewedLeafCount
|
self.viewedLeafCount = viewedLeafCount
|
||||||
self.viewOffset = viewOffset
|
self.viewOffset = viewOffset
|
||||||
self.writer = writer
|
self.writer = writer
|
||||||
|
self.year = year
|
||||||
}
|
}
|
||||||
}}
|
}}
|
||||||
|
|
||||||
extension Operations.GetLibraryItemsMetadata: Codable {
|
extension Operations.GetLibraryItemsMetadata: Codable {
|
||||||
enum CodingKeys: String, CodingKey {
|
enum CodingKeys: String, CodingKey {
|
||||||
case duration
|
case addedAt
|
||||||
case guid
|
case guid
|
||||||
case key
|
case key
|
||||||
case media = "Media"
|
|
||||||
case ratingKey
|
case ratingKey
|
||||||
|
case summary
|
||||||
case title
|
case title
|
||||||
case type
|
case type
|
||||||
case year
|
|
||||||
case addedAt
|
|
||||||
case art
|
case art
|
||||||
case audienceRating
|
case audienceRating
|
||||||
case audienceRatingImage
|
case audienceRatingImage
|
||||||
|
case banner
|
||||||
case chapterSource
|
case chapterSource
|
||||||
case childCount
|
case childCount
|
||||||
|
case collection = "Collection"
|
||||||
case contentRating
|
case contentRating
|
||||||
case country = "Country"
|
case country = "Country"
|
||||||
case director = "Director"
|
case director = "Director"
|
||||||
|
case duration
|
||||||
|
case flattenSeasons
|
||||||
case genre = "Genre"
|
case genre = "Genre"
|
||||||
case grandparentArt
|
case grandparentArt
|
||||||
case grandparentGuid
|
case grandparentGuid
|
||||||
case grandparentKey
|
case grandparentKey
|
||||||
case grandparentRatingKey
|
case grandparentRatingKey
|
||||||
|
case grandparentSlug
|
||||||
case grandparentTheme
|
case grandparentTheme
|
||||||
case grandparentThumb
|
case grandparentThumb
|
||||||
case grandparentTitle
|
case grandparentTitle
|
||||||
case hasPremiumExtras
|
case hasPremiumExtras
|
||||||
case hasPremiumPrimaryExtra
|
case hasPremiumPrimaryExtra
|
||||||
|
case image = "Image"
|
||||||
case index
|
case index
|
||||||
case lastViewedAt
|
case lastViewedAt
|
||||||
case leafCount
|
case leafCount
|
||||||
|
case media = "Media"
|
||||||
case mediaGuid = "Guid"
|
case mediaGuid = "Guid"
|
||||||
case originallyAvailableAt
|
case originallyAvailableAt
|
||||||
case originalTitle
|
case originalTitle
|
||||||
@@ -184,52 +245,62 @@ extension Operations.GetLibraryItemsMetadata: Codable {
|
|||||||
case rating
|
case rating
|
||||||
case ratingImage
|
case ratingImage
|
||||||
case role = "Role"
|
case role = "Role"
|
||||||
|
case seasonCount
|
||||||
|
case showOrdering
|
||||||
|
case skipChildren
|
||||||
case skipCount
|
case skipCount
|
||||||
|
case slug
|
||||||
case studio
|
case studio
|
||||||
case summary
|
|
||||||
case tagline
|
case tagline
|
||||||
case theme
|
case theme
|
||||||
case thumb
|
case thumb
|
||||||
case titleSort
|
case titleSort
|
||||||
|
case ultraBlurColors = "UltraBlurColors"
|
||||||
case updatedAt
|
case updatedAt
|
||||||
case viewCount
|
case viewCount
|
||||||
case viewedLeafCount
|
case viewedLeafCount
|
||||||
case viewOffset
|
case viewOffset
|
||||||
case writer = "Writer"
|
case writer = "Writer"
|
||||||
|
case year
|
||||||
}
|
}
|
||||||
|
|
||||||
public init(from decoder: Decoder) throws {
|
public init(from decoder: Decoder) throws {
|
||||||
let container = try decoder.container(keyedBy: CodingKeys.self)
|
let container = try decoder.container(keyedBy: CodingKeys.self)
|
||||||
self.duration = try container.decode(Int.self, forKey: .duration)
|
self.addedAt = try container.decode(Int.self, forKey: .addedAt)
|
||||||
self.guid = try container.decode(String.self, forKey: .guid)
|
self.guid = try container.decode(String.self, forKey: .guid)
|
||||||
self.key = try container.decode(String.self, forKey: .key)
|
self.key = try container.decode(String.self, forKey: .key)
|
||||||
self.media = try container.decode([Operations.GetLibraryItemsMedia].self, forKey: .media)
|
|
||||||
self.ratingKey = try container.decode(String.self, forKey: .ratingKey)
|
self.ratingKey = try container.decode(String.self, forKey: .ratingKey)
|
||||||
|
self.summary = try container.decode(String.self, forKey: .summary)
|
||||||
self.title = try container.decode(String.self, forKey: .title)
|
self.title = try container.decode(String.self, forKey: .title)
|
||||||
self.type = try container.decode(String.self, forKey: .type)
|
self.type = try container.decode(Operations.GetLibraryItemsType.self, forKey: .type)
|
||||||
self.year = try container.decode(Int.self, forKey: .year)
|
|
||||||
self.addedAt = try container.decodeIfPresent(Int.self, forKey: .addedAt)
|
|
||||||
self.art = try container.decodeIfPresent(String.self, forKey: .art)
|
self.art = try container.decodeIfPresent(String.self, forKey: .art)
|
||||||
self._audienceRating = try container.decodeIfPresent(DecimalSerialized<Double?>.self, forKey: .audienceRating) ?? DecimalSerialized<Double?>(wrappedValue: nil)
|
self._audienceRating = try container.decodeIfPresent(DecimalSerialized<Double?>.self, forKey: .audienceRating) ?? DecimalSerialized<Double?>(wrappedValue: nil)
|
||||||
self.audienceRatingImage = try container.decodeIfPresent(String.self, forKey: .audienceRatingImage)
|
self.audienceRatingImage = try container.decodeIfPresent(String.self, forKey: .audienceRatingImage)
|
||||||
|
self.banner = try container.decodeIfPresent(String.self, forKey: .banner)
|
||||||
self.chapterSource = try container.decodeIfPresent(String.self, forKey: .chapterSource)
|
self.chapterSource = try container.decodeIfPresent(String.self, forKey: .chapterSource)
|
||||||
self.childCount = try container.decodeIfPresent(Int.self, forKey: .childCount)
|
self.childCount = try container.decodeIfPresent(Int.self, forKey: .childCount)
|
||||||
|
self.collection = try container.decodeIfPresent([Operations.Collection].self, forKey: .collection)
|
||||||
self.contentRating = try container.decodeIfPresent(String.self, forKey: .contentRating)
|
self.contentRating = try container.decodeIfPresent(String.self, forKey: .contentRating)
|
||||||
self.country = try container.decodeIfPresent([Operations.GetLibraryItemsCountry].self, forKey: .country)
|
self.country = try container.decodeIfPresent([Operations.GetLibraryItemsCountry].self, forKey: .country)
|
||||||
self.director = try container.decodeIfPresent([Operations.GetLibraryItemsDirector].self, forKey: .director)
|
self.director = try container.decodeIfPresent([Operations.GetLibraryItemsDirector].self, forKey: .director)
|
||||||
|
self.duration = try container.decodeIfPresent(Int.self, forKey: .duration)
|
||||||
|
self.flattenSeasons = try container.decodeIfPresent(Operations.FlattenSeasons.self, forKey: .flattenSeasons)
|
||||||
self.genre = try container.decodeIfPresent([Operations.GetLibraryItemsGenre].self, forKey: .genre)
|
self.genre = try container.decodeIfPresent([Operations.GetLibraryItemsGenre].self, forKey: .genre)
|
||||||
self.grandparentArt = try container.decodeIfPresent(String.self, forKey: .grandparentArt)
|
self.grandparentArt = try container.decodeIfPresent(String.self, forKey: .grandparentArt)
|
||||||
self.grandparentGuid = try container.decodeIfPresent(String.self, forKey: .grandparentGuid)
|
self.grandparentGuid = try container.decodeIfPresent(String.self, forKey: .grandparentGuid)
|
||||||
self.grandparentKey = try container.decodeIfPresent(String.self, forKey: .grandparentKey)
|
self.grandparentKey = try container.decodeIfPresent(String.self, forKey: .grandparentKey)
|
||||||
self.grandparentRatingKey = try container.decodeIfPresent(String.self, forKey: .grandparentRatingKey)
|
self.grandparentRatingKey = try container.decodeIfPresent(String.self, forKey: .grandparentRatingKey)
|
||||||
|
self.grandparentSlug = try container.decodeIfPresent(String.self, forKey: .grandparentSlug)
|
||||||
self.grandparentTheme = try container.decodeIfPresent(String.self, forKey: .grandparentTheme)
|
self.grandparentTheme = try container.decodeIfPresent(String.self, forKey: .grandparentTheme)
|
||||||
self.grandparentThumb = try container.decodeIfPresent(String.self, forKey: .grandparentThumb)
|
self.grandparentThumb = try container.decodeIfPresent(String.self, forKey: .grandparentThumb)
|
||||||
self.grandparentTitle = try container.decodeIfPresent(String.self, forKey: .grandparentTitle)
|
self.grandparentTitle = try container.decodeIfPresent(String.self, forKey: .grandparentTitle)
|
||||||
self.hasPremiumExtras = try container.decodeIfPresent(String.self, forKey: .hasPremiumExtras)
|
self.hasPremiumExtras = try container.decodeIfPresent(String.self, forKey: .hasPremiumExtras)
|
||||||
self.hasPremiumPrimaryExtra = try container.decodeIfPresent(String.self, forKey: .hasPremiumPrimaryExtra)
|
self.hasPremiumPrimaryExtra = try container.decodeIfPresent(String.self, forKey: .hasPremiumPrimaryExtra)
|
||||||
|
self.image = try container.decodeIfPresent([Operations.GetLibraryItemsImage].self, forKey: .image)
|
||||||
self.index = try container.decodeIfPresent(Int.self, forKey: .index)
|
self.index = try container.decodeIfPresent(Int.self, forKey: .index)
|
||||||
self.lastViewedAt = try container.decodeIfPresent(Int.self, forKey: .lastViewedAt)
|
self.lastViewedAt = try container.decodeIfPresent(Int.self, forKey: .lastViewedAt)
|
||||||
self.leafCount = try container.decodeIfPresent(Int.self, forKey: .leafCount)
|
self.leafCount = try container.decodeIfPresent(Int.self, forKey: .leafCount)
|
||||||
|
self.media = try container.decodeIfPresent([Operations.GetLibraryItemsMedia].self, forKey: .media)
|
||||||
self.mediaGuid = try container.decodeIfPresent([Operations.MediaGuid].self, forKey: .mediaGuid)
|
self.mediaGuid = try container.decodeIfPresent([Operations.MediaGuid].self, forKey: .mediaGuid)
|
||||||
self._originallyAvailableAt = try container.decodeIfPresent(DateOnly<Date?>.self, forKey: .originallyAvailableAt) ?? DateOnly<Date?>(wrappedValue: nil)
|
self._originallyAvailableAt = try container.decodeIfPresent(DateOnly<Date?>.self, forKey: .originallyAvailableAt) ?? DateOnly<Date?>(wrappedValue: nil)
|
||||||
self.originalTitle = try container.decodeIfPresent(String.self, forKey: .originalTitle)
|
self.originalTitle = try container.decodeIfPresent(String.self, forKey: .originalTitle)
|
||||||
@@ -246,54 +317,64 @@ extension Operations.GetLibraryItemsMetadata: Codable {
|
|||||||
self._rating = try container.decodeIfPresent(DecimalSerialized<Double?>.self, forKey: .rating) ?? DecimalSerialized<Double?>(wrappedValue: nil)
|
self._rating = try container.decodeIfPresent(DecimalSerialized<Double?>.self, forKey: .rating) ?? DecimalSerialized<Double?>(wrappedValue: nil)
|
||||||
self.ratingImage = try container.decodeIfPresent(String.self, forKey: .ratingImage)
|
self.ratingImage = try container.decodeIfPresent(String.self, forKey: .ratingImage)
|
||||||
self.role = try container.decodeIfPresent([Operations.GetLibraryItemsRole].self, forKey: .role)
|
self.role = try container.decodeIfPresent([Operations.GetLibraryItemsRole].self, forKey: .role)
|
||||||
|
self.seasonCount = try container.decodeIfPresent(Int.self, forKey: .seasonCount)
|
||||||
|
self.showOrdering = try container.decodeIfPresent(Operations.ShowOrdering.self, forKey: .showOrdering)
|
||||||
|
self.skipChildren = try container.decodeIfPresent(Bool.self, forKey: .skipChildren)
|
||||||
self.skipCount = try container.decodeIfPresent(Int.self, forKey: .skipCount)
|
self.skipCount = try container.decodeIfPresent(Int.self, forKey: .skipCount)
|
||||||
|
self.slug = try container.decodeIfPresent(String.self, forKey: .slug)
|
||||||
self.studio = try container.decodeIfPresent(String.self, forKey: .studio)
|
self.studio = try container.decodeIfPresent(String.self, forKey: .studio)
|
||||||
self.summary = try container.decodeIfPresent(String.self, forKey: .summary)
|
|
||||||
self.tagline = try container.decodeIfPresent(String.self, forKey: .tagline)
|
self.tagline = try container.decodeIfPresent(String.self, forKey: .tagline)
|
||||||
self.theme = try container.decodeIfPresent(String.self, forKey: .theme)
|
self.theme = try container.decodeIfPresent(String.self, forKey: .theme)
|
||||||
self.thumb = try container.decodeIfPresent(String.self, forKey: .thumb)
|
self.thumb = try container.decodeIfPresent(String.self, forKey: .thumb)
|
||||||
self.titleSort = try container.decodeIfPresent(String.self, forKey: .titleSort)
|
self.titleSort = try container.decodeIfPresent(String.self, forKey: .titleSort)
|
||||||
|
self.ultraBlurColors = try container.decodeIfPresent(Operations.UltraBlurColors.self, forKey: .ultraBlurColors)
|
||||||
self.updatedAt = try container.decodeIfPresent(Int.self, forKey: .updatedAt)
|
self.updatedAt = try container.decodeIfPresent(Int.self, forKey: .updatedAt)
|
||||||
self.viewCount = try container.decodeIfPresent(Int.self, forKey: .viewCount)
|
self.viewCount = try container.decodeIfPresent(Int.self, forKey: .viewCount)
|
||||||
self.viewedLeafCount = try container.decodeIfPresent(Int.self, forKey: .viewedLeafCount)
|
self.viewedLeafCount = try container.decodeIfPresent(Int.self, forKey: .viewedLeafCount)
|
||||||
self.viewOffset = try container.decodeIfPresent(Int.self, forKey: .viewOffset)
|
self.viewOffset = try container.decodeIfPresent(Int.self, forKey: .viewOffset)
|
||||||
self.writer = try container.decodeIfPresent([Operations.GetLibraryItemsWriter].self, forKey: .writer)
|
self.writer = try container.decodeIfPresent([Operations.GetLibraryItemsWriter].self, forKey: .writer)
|
||||||
|
self.year = try container.decodeIfPresent(Int.self, forKey: .year)
|
||||||
}
|
}
|
||||||
|
|
||||||
public func encode(to encoder: Encoder) throws {
|
public func encode(to encoder: Encoder) throws {
|
||||||
var container = encoder.container(keyedBy: CodingKeys.self)
|
var container = encoder.container(keyedBy: CodingKeys.self)
|
||||||
try container.encode(self.duration, forKey: .duration)
|
try container.encode(self.addedAt, forKey: .addedAt)
|
||||||
try container.encode(self.guid, forKey: .guid)
|
try container.encode(self.guid, forKey: .guid)
|
||||||
try container.encode(self.key, forKey: .key)
|
try container.encode(self.key, forKey: .key)
|
||||||
try container.encode(self.media, forKey: .media)
|
|
||||||
try container.encode(self.ratingKey, forKey: .ratingKey)
|
try container.encode(self.ratingKey, forKey: .ratingKey)
|
||||||
|
try container.encode(self.summary, forKey: .summary)
|
||||||
try container.encode(self.title, forKey: .title)
|
try container.encode(self.title, forKey: .title)
|
||||||
try container.encode(self.type, forKey: .type)
|
try container.encode(self.type, forKey: .type)
|
||||||
try container.encode(self.year, forKey: .year)
|
|
||||||
try container.encodeIfPresent(self.addedAt, forKey: .addedAt)
|
|
||||||
try container.encodeIfPresent(self.art, forKey: .art)
|
try container.encodeIfPresent(self.art, forKey: .art)
|
||||||
if self.audienceRating != nil {
|
if self.audienceRating != nil {
|
||||||
try container.encode(self._audienceRating, forKey: .audienceRating)
|
try container.encode(self._audienceRating, forKey: .audienceRating)
|
||||||
}
|
}
|
||||||
try container.encodeIfPresent(self.audienceRatingImage, forKey: .audienceRatingImage)
|
try container.encodeIfPresent(self.audienceRatingImage, forKey: .audienceRatingImage)
|
||||||
|
try container.encodeIfPresent(self.banner, forKey: .banner)
|
||||||
try container.encodeIfPresent(self.chapterSource, forKey: .chapterSource)
|
try container.encodeIfPresent(self.chapterSource, forKey: .chapterSource)
|
||||||
try container.encodeIfPresent(self.childCount, forKey: .childCount)
|
try container.encodeIfPresent(self.childCount, forKey: .childCount)
|
||||||
|
try container.encodeIfPresent(self.collection, forKey: .collection)
|
||||||
try container.encodeIfPresent(self.contentRating, forKey: .contentRating)
|
try container.encodeIfPresent(self.contentRating, forKey: .contentRating)
|
||||||
try container.encodeIfPresent(self.country, forKey: .country)
|
try container.encodeIfPresent(self.country, forKey: .country)
|
||||||
try container.encodeIfPresent(self.director, forKey: .director)
|
try container.encodeIfPresent(self.director, forKey: .director)
|
||||||
|
try container.encodeIfPresent(self.duration, forKey: .duration)
|
||||||
|
try container.encodeIfPresent(self.flattenSeasons, forKey: .flattenSeasons)
|
||||||
try container.encodeIfPresent(self.genre, forKey: .genre)
|
try container.encodeIfPresent(self.genre, forKey: .genre)
|
||||||
try container.encodeIfPresent(self.grandparentArt, forKey: .grandparentArt)
|
try container.encodeIfPresent(self.grandparentArt, forKey: .grandparentArt)
|
||||||
try container.encodeIfPresent(self.grandparentGuid, forKey: .grandparentGuid)
|
try container.encodeIfPresent(self.grandparentGuid, forKey: .grandparentGuid)
|
||||||
try container.encodeIfPresent(self.grandparentKey, forKey: .grandparentKey)
|
try container.encodeIfPresent(self.grandparentKey, forKey: .grandparentKey)
|
||||||
try container.encodeIfPresent(self.grandparentRatingKey, forKey: .grandparentRatingKey)
|
try container.encodeIfPresent(self.grandparentRatingKey, forKey: .grandparentRatingKey)
|
||||||
|
try container.encodeIfPresent(self.grandparentSlug, forKey: .grandparentSlug)
|
||||||
try container.encodeIfPresent(self.grandparentTheme, forKey: .grandparentTheme)
|
try container.encodeIfPresent(self.grandparentTheme, forKey: .grandparentTheme)
|
||||||
try container.encodeIfPresent(self.grandparentThumb, forKey: .grandparentThumb)
|
try container.encodeIfPresent(self.grandparentThumb, forKey: .grandparentThumb)
|
||||||
try container.encodeIfPresent(self.grandparentTitle, forKey: .grandparentTitle)
|
try container.encodeIfPresent(self.grandparentTitle, forKey: .grandparentTitle)
|
||||||
try container.encodeIfPresent(self.hasPremiumExtras, forKey: .hasPremiumExtras)
|
try container.encodeIfPresent(self.hasPremiumExtras, forKey: .hasPremiumExtras)
|
||||||
try container.encodeIfPresent(self.hasPremiumPrimaryExtra, forKey: .hasPremiumPrimaryExtra)
|
try container.encodeIfPresent(self.hasPremiumPrimaryExtra, forKey: .hasPremiumPrimaryExtra)
|
||||||
|
try container.encodeIfPresent(self.image, forKey: .image)
|
||||||
try container.encodeIfPresent(self.index, forKey: .index)
|
try container.encodeIfPresent(self.index, forKey: .index)
|
||||||
try container.encodeIfPresent(self.lastViewedAt, forKey: .lastViewedAt)
|
try container.encodeIfPresent(self.lastViewedAt, forKey: .lastViewedAt)
|
||||||
try container.encodeIfPresent(self.leafCount, forKey: .leafCount)
|
try container.encodeIfPresent(self.leafCount, forKey: .leafCount)
|
||||||
|
try container.encodeIfPresent(self.media, forKey: .media)
|
||||||
try container.encodeIfPresent(self.mediaGuid, forKey: .mediaGuid)
|
try container.encodeIfPresent(self.mediaGuid, forKey: .mediaGuid)
|
||||||
if self.originallyAvailableAt != nil {
|
if self.originallyAvailableAt != nil {
|
||||||
try container.encode(self._originallyAvailableAt, forKey: .originallyAvailableAt)
|
try container.encode(self._originallyAvailableAt, forKey: .originallyAvailableAt)
|
||||||
@@ -314,18 +395,23 @@ extension Operations.GetLibraryItemsMetadata: Codable {
|
|||||||
}
|
}
|
||||||
try container.encodeIfPresent(self.ratingImage, forKey: .ratingImage)
|
try container.encodeIfPresent(self.ratingImage, forKey: .ratingImage)
|
||||||
try container.encodeIfPresent(self.role, forKey: .role)
|
try container.encodeIfPresent(self.role, forKey: .role)
|
||||||
|
try container.encodeIfPresent(self.seasonCount, forKey: .seasonCount)
|
||||||
|
try container.encodeIfPresent(self.showOrdering, forKey: .showOrdering)
|
||||||
|
try container.encodeIfPresent(self.skipChildren, forKey: .skipChildren)
|
||||||
try container.encodeIfPresent(self.skipCount, forKey: .skipCount)
|
try container.encodeIfPresent(self.skipCount, forKey: .skipCount)
|
||||||
|
try container.encodeIfPresent(self.slug, forKey: .slug)
|
||||||
try container.encodeIfPresent(self.studio, forKey: .studio)
|
try container.encodeIfPresent(self.studio, forKey: .studio)
|
||||||
try container.encodeIfPresent(self.summary, forKey: .summary)
|
|
||||||
try container.encodeIfPresent(self.tagline, forKey: .tagline)
|
try container.encodeIfPresent(self.tagline, forKey: .tagline)
|
||||||
try container.encodeIfPresent(self.theme, forKey: .theme)
|
try container.encodeIfPresent(self.theme, forKey: .theme)
|
||||||
try container.encodeIfPresent(self.thumb, forKey: .thumb)
|
try container.encodeIfPresent(self.thumb, forKey: .thumb)
|
||||||
try container.encodeIfPresent(self.titleSort, forKey: .titleSort)
|
try container.encodeIfPresent(self.titleSort, forKey: .titleSort)
|
||||||
|
try container.encodeIfPresent(self.ultraBlurColors, forKey: .ultraBlurColors)
|
||||||
try container.encodeIfPresent(self.updatedAt, forKey: .updatedAt)
|
try container.encodeIfPresent(self.updatedAt, forKey: .updatedAt)
|
||||||
try container.encodeIfPresent(self.viewCount, forKey: .viewCount)
|
try container.encodeIfPresent(self.viewCount, forKey: .viewCount)
|
||||||
try container.encodeIfPresent(self.viewedLeafCount, forKey: .viewedLeafCount)
|
try container.encodeIfPresent(self.viewedLeafCount, forKey: .viewedLeafCount)
|
||||||
try container.encodeIfPresent(self.viewOffset, forKey: .viewOffset)
|
try container.encodeIfPresent(self.viewOffset, forKey: .viewOffset)
|
||||||
try container.encodeIfPresent(self.writer, forKey: .writer)
|
try container.encodeIfPresent(self.writer, forKey: .writer)
|
||||||
|
try container.encodeIfPresent(self.year, forKey: .year)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -5,18 +5,25 @@ import Foundation
|
|||||||
extension Operations {
|
extension Operations {
|
||||||
/// A model object
|
/// A model object
|
||||||
public struct GetLibraryItemsPart {
|
public struct GetLibraryItemsPart {
|
||||||
public let container: String?
|
/// The container format of the media file.
|
||||||
public let duration: Int?
|
///
|
||||||
public let file: String?
|
public let container: String
|
||||||
public let id: Int?
|
public let duration: Int
|
||||||
public let key: String?
|
public let file: String
|
||||||
public let size: Int?
|
public let id: Int
|
||||||
public let videoProfile: String?
|
public let key: String
|
||||||
|
public let size: Int
|
||||||
|
public let videoProfile: String
|
||||||
|
public let audioProfile: String?
|
||||||
|
public let hasThumbnail: Operations.HasThumbnail?
|
||||||
|
public let indexes: String?
|
||||||
|
|
||||||
/// Creates an object with the specified parameters
|
/// Creates an object with the specified parameters
|
||||||
///
|
///
|
||||||
|
/// - Parameter container: The container format of the media file.
|
||||||
///
|
///
|
||||||
public init(container: String? = nil, duration: Int? = nil, file: String? = nil, id: Int? = nil, key: String? = nil, size: Int? = nil, videoProfile: String? = nil) {
|
///
|
||||||
|
public init(container: String, duration: Int, file: String, id: Int, key: String, size: Int, videoProfile: String, audioProfile: String? = nil, hasThumbnail: Operations.HasThumbnail? = nil, indexes: String? = nil) {
|
||||||
self.container = container
|
self.container = container
|
||||||
self.duration = duration
|
self.duration = duration
|
||||||
self.file = file
|
self.file = file
|
||||||
@@ -24,6 +31,9 @@ extension Operations {
|
|||||||
self.key = key
|
self.key = key
|
||||||
self.size = size
|
self.size = size
|
||||||
self.videoProfile = videoProfile
|
self.videoProfile = videoProfile
|
||||||
|
self.audioProfile = audioProfile
|
||||||
|
self.hasThumbnail = hasThumbnail
|
||||||
|
self.indexes = indexes
|
||||||
}
|
}
|
||||||
}}
|
}}
|
||||||
|
|
||||||
@@ -36,6 +46,9 @@ extension Operations.GetLibraryItemsPart: Codable {
|
|||||||
case key
|
case key
|
||||||
case size
|
case size
|
||||||
case videoProfile
|
case videoProfile
|
||||||
|
case audioProfile
|
||||||
|
case hasThumbnail
|
||||||
|
case indexes
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -11,6 +11,12 @@ extension Operations {
|
|||||||
public let sectionKey: Int
|
public let sectionKey: Int
|
||||||
/// A key representing a specific tag within the section.
|
/// A key representing a specific tag within the section.
|
||||||
public let tag: Operations.Tag
|
public let tag: Operations.Tag
|
||||||
|
/// Adds the Guids object to the response
|
||||||
|
///
|
||||||
|
public let includeGuids: Operations.IncludeGuids?
|
||||||
|
/// Adds the Meta object to the response
|
||||||
|
///
|
||||||
|
public let includeMeta: Operations.IncludeMeta?
|
||||||
/// The type of media to retrieve.
|
/// The type of media to retrieve.
|
||||||
/// 1 = movie
|
/// 1 = movie
|
||||||
/// 2 = show
|
/// 2 = show
|
||||||
@@ -18,13 +24,7 @@ extension Operations {
|
|||||||
/// 4 = episode
|
/// 4 = episode
|
||||||
/// E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries
|
/// E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries
|
||||||
///
|
///
|
||||||
public let type: Operations.TypeModel
|
public let type: Operations.TypeModel?
|
||||||
/// Adds the Guids object to the response
|
|
||||||
///
|
|
||||||
public let includeGuids: Operations.IncludeGuids?
|
|
||||||
/// Adds the Meta object to the response
|
|
||||||
///
|
|
||||||
public let includeMeta: Operations.IncludeMeta?
|
|
||||||
/// The number of items to return. If not specified, all items will be returned.
|
/// The number of items to return. If not specified, all items will be returned.
|
||||||
/// If the number of items exceeds the limit, the response will be paginated.
|
/// If the number of items exceeds the limit, the response will be paginated.
|
||||||
/// By default this is 50
|
/// By default this is 50
|
||||||
@@ -42,6 +42,10 @@ extension Operations {
|
|||||||
/// Note: This is unique in the context of the Plex server.
|
/// Note: This is unique in the context of the Plex server.
|
||||||
///
|
///
|
||||||
/// - Parameter tag: A key representing a specific tag within the section.
|
/// - Parameter tag: A key representing a specific tag within the section.
|
||||||
|
/// - Parameter includeGuids: Adds the Guids object to the response
|
||||||
|
///
|
||||||
|
/// - Parameter includeMeta: Adds the Meta object to the response
|
||||||
|
///
|
||||||
/// - Parameter type: The type of media to retrieve.
|
/// - Parameter type: The type of media to retrieve.
|
||||||
/// 1 = movie
|
/// 1 = movie
|
||||||
/// 2 = show
|
/// 2 = show
|
||||||
@@ -49,10 +53,6 @@ extension Operations {
|
|||||||
/// 4 = episode
|
/// 4 = episode
|
||||||
/// E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries
|
/// E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries
|
||||||
///
|
///
|
||||||
/// - Parameter includeGuids: Adds the Guids object to the response
|
|
||||||
///
|
|
||||||
/// - Parameter includeMeta: Adds the Meta object to the response
|
|
||||||
///
|
|
||||||
/// - Parameter xPlexContainerSize: The number of items to return. If not specified, all items will be returned.
|
/// - Parameter xPlexContainerSize: The number of items to return. If not specified, all items will be returned.
|
||||||
/// If the number of items exceeds the limit, the response will be paginated.
|
/// If the number of items exceeds the limit, the response will be paginated.
|
||||||
/// By default this is 50
|
/// By default this is 50
|
||||||
@@ -62,12 +62,12 @@ extension Operations {
|
|||||||
/// By default this is 0
|
/// By default this is 0
|
||||||
///
|
///
|
||||||
///
|
///
|
||||||
public init(sectionKey: Int, tag: Operations.Tag, type: Operations.TypeModel, includeGuids: Operations.IncludeGuids? = nil, includeMeta: Operations.IncludeMeta? = nil, xPlexContainerSize: Int? = nil, xPlexContainerStart: Int? = nil) {
|
public init(sectionKey: Int, tag: Operations.Tag, includeGuids: Operations.IncludeGuids? = nil, includeMeta: Operations.IncludeMeta? = nil, type: Operations.TypeModel? = nil, xPlexContainerSize: Int? = nil, xPlexContainerStart: Int? = nil) {
|
||||||
self.sectionKey = sectionKey
|
self.sectionKey = sectionKey
|
||||||
self.tag = tag
|
self.tag = tag
|
||||||
self.type = type
|
|
||||||
self.includeGuids = includeGuids
|
self.includeGuids = includeGuids
|
||||||
self.includeMeta = includeMeta
|
self.includeMeta = includeMeta
|
||||||
|
self.type = type
|
||||||
self.xPlexContainerSize = xPlexContainerSize
|
self.xPlexContainerSize = xPlexContainerSize
|
||||||
self.xPlexContainerStart = xPlexContainerStart
|
self.xPlexContainerStart = xPlexContainerStart
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,20 +5,32 @@ import Foundation
|
|||||||
extension Operations {
|
extension Operations {
|
||||||
/// A model object
|
/// A model object
|
||||||
public struct GetLibraryItemsSort {
|
public struct GetLibraryItemsSort {
|
||||||
public let defaultDirection: String
|
/// The direction of the sort. Can be either `asc` or `desc`.
|
||||||
|
///
|
||||||
|
public let defaultDirection: Operations.DefaultDirection
|
||||||
public let key: String
|
public let key: String
|
||||||
public let title: String
|
public let title: String
|
||||||
|
public let active: Bool?
|
||||||
|
/// The direction of the sort. Can be either `asc` or `desc`.
|
||||||
|
///
|
||||||
|
public let activeDirection: Operations.ActiveDirection?
|
||||||
public let `default`: String?
|
public let `default`: String?
|
||||||
public let descKey: String?
|
public let descKey: String?
|
||||||
public let firstCharacterKey: String?
|
public let firstCharacterKey: String?
|
||||||
|
|
||||||
/// Creates an object with the specified parameters
|
/// Creates an object with the specified parameters
|
||||||
///
|
///
|
||||||
|
/// - Parameter defaultDirection: The direction of the sort. Can be either `asc` or `desc`.
|
||||||
///
|
///
|
||||||
public init(defaultDirection: String, key: String, title: String, `default`: String? = nil, descKey: String? = nil, firstCharacterKey: String? = nil) {
|
/// - Parameter activeDirection: The direction of the sort. Can be either `asc` or `desc`.
|
||||||
|
///
|
||||||
|
///
|
||||||
|
public init(defaultDirection: Operations.DefaultDirection, key: String, title: String, active: Bool? = nil, activeDirection: Operations.ActiveDirection? = nil, `default`: String? = nil, descKey: String? = nil, firstCharacterKey: String? = nil) {
|
||||||
self.defaultDirection = defaultDirection
|
self.defaultDirection = defaultDirection
|
||||||
self.key = key
|
self.key = key
|
||||||
self.title = title
|
self.title = title
|
||||||
|
self.active = active
|
||||||
|
self.activeDirection = activeDirection
|
||||||
self.`default` = `default`
|
self.`default` = `default`
|
||||||
self.descKey = descKey
|
self.descKey = descKey
|
||||||
self.firstCharacterKey = firstCharacterKey
|
self.firstCharacterKey = firstCharacterKey
|
||||||
@@ -30,6 +42,8 @@ extension Operations.GetLibraryItemsSort: Codable {
|
|||||||
case defaultDirection
|
case defaultDirection
|
||||||
case key
|
case key
|
||||||
case title
|
case title
|
||||||
|
case active
|
||||||
|
case activeDirection
|
||||||
case `default` = "default"
|
case `default` = "default"
|
||||||
case descKey
|
case descKey
|
||||||
case firstCharacterKey
|
case firstCharacterKey
|
||||||
|
|||||||
@@ -3,39 +3,11 @@
|
|||||||
import Foundation
|
import Foundation
|
||||||
|
|
||||||
extension Operations {
|
extension Operations {
|
||||||
/// A model object
|
/// The type of media content
|
||||||
public struct GetLibraryItemsType {
|
///
|
||||||
public let active: Bool
|
public enum GetLibraryItemsType: String, Codable, APIValue {
|
||||||
public let key: String
|
case movie = "movie"
|
||||||
public let title: String
|
case tvShow = "show"
|
||||||
public let type: String
|
case season = "season"
|
||||||
public let field: [Operations.GetLibraryItemsField]?
|
case episode = "episode"
|
||||||
public let filter: [Operations.GetLibraryItemsFilter]?
|
|
||||||
public let sort: [Operations.GetLibraryItemsSort]?
|
|
||||||
|
|
||||||
/// Creates an object with the specified parameters
|
|
||||||
///
|
|
||||||
///
|
|
||||||
public init(active: Bool, key: String, title: String, type: String, field: [Operations.GetLibraryItemsField]? = nil, filter: [Operations.GetLibraryItemsFilter]? = nil, sort: [Operations.GetLibraryItemsSort]? = nil) {
|
|
||||||
self.active = active
|
|
||||||
self.key = key
|
|
||||||
self.title = title
|
|
||||||
self.type = type
|
|
||||||
self.field = field
|
|
||||||
self.filter = filter
|
|
||||||
self.sort = sort
|
|
||||||
}
|
|
||||||
}}
|
}}
|
||||||
|
|
||||||
extension Operations.GetLibraryItemsType: Codable {
|
|
||||||
enum CodingKeys: String, CodingKey {
|
|
||||||
case active
|
|
||||||
case key
|
|
||||||
case title
|
|
||||||
case type
|
|
||||||
case field = "Field"
|
|
||||||
case filter = "Filter"
|
|
||||||
case sort = "Sort"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ extension Operations {
|
|||||||
///
|
///
|
||||||
public enum GetPlaylistContentsQueryParamType: Int, Codable, APIValue {
|
public enum GetPlaylistContentsQueryParamType: Int, Codable, APIValue {
|
||||||
case movie = 1
|
case movie = 1
|
||||||
case show = 2
|
case tvShow = 2
|
||||||
case season = 3
|
case season = 3
|
||||||
case episode = 4
|
case episode = 4
|
||||||
}}
|
}}
|
||||||
|
|||||||
@@ -15,6 +15,7 @@ extension Operations {
|
|||||||
public private(set) var adsConsentSetAt: Date
|
public private(set) var adsConsentSetAt: Date
|
||||||
/// Unknown
|
/// Unknown
|
||||||
public let anonymous: Bool
|
public let anonymous: Bool
|
||||||
|
public let attributionPartner: String
|
||||||
/// The account token
|
/// The account token
|
||||||
public let authToken: String
|
public let authToken: String
|
||||||
/// If the two-factor authentication backup codes have been created
|
/// If the two-factor authentication backup codes have been created
|
||||||
@@ -127,11 +128,12 @@ extension Operations {
|
|||||||
/// - Parameter roles: [Might be removed] List of account roles. Plexpass membership listed here
|
/// - Parameter roles: [Might be removed] List of account roles. Plexpass membership listed here
|
||||||
///
|
///
|
||||||
@available(*, deprecated, message: "This initializer uses deprecated fields and will be removed in a future version.")
|
@available(*, deprecated, message: "This initializer uses deprecated fields and will be removed in a future version.")
|
||||||
public init(adsConsent: Bool, adsConsentReminderAt: Date, adsConsentSetAt: Date, anonymous: Bool, authToken: String, backupCodesCreated: Bool, confirmed: Bool, country: String, email: String, emailOnlyAuth: Bool, entitlements: [String], experimentalFeatures: Bool, friendlyName: String, guest: Bool, hasPassword: Bool, home: Bool, homeAdmin: Bool, homeSize: Int, id: Int, joinedAt: Int, locale: String, mailingListActive: Bool, mailingListStatus: Operations.MailingListStatus, maxHomeSize: Int, profile: Operations.UserProfile, protected: Bool, rememberExpiresAt: Int, restricted: Bool, scrobbleTypes: String, services: [Operations.Services], subscription: Operations.Subscription, subscriptionDescription: String, subscriptions: [Operations.GetTokenDetailsSubscription], thumb: String, title: String, twoFactorEnabled: Bool, username: String, uuid: String, pin: String? = nil, roles: [String]? = nil) {
|
public init(adsConsent: Bool, adsConsentReminderAt: Date, adsConsentSetAt: Date, anonymous: Bool, attributionPartner: String, authToken: String, backupCodesCreated: Bool, confirmed: Bool, country: String, email: String, emailOnlyAuth: Bool, entitlements: [String], experimentalFeatures: Bool, friendlyName: String, guest: Bool, hasPassword: Bool, home: Bool, homeAdmin: Bool, homeSize: Int, id: Int, joinedAt: Int, locale: String, mailingListActive: Bool, mailingListStatus: Operations.MailingListStatus, maxHomeSize: Int, profile: Operations.UserProfile, protected: Bool, rememberExpiresAt: Int, restricted: Bool, scrobbleTypes: String, services: [Operations.Services], subscription: Operations.Subscription, subscriptionDescription: String, subscriptions: [Operations.GetTokenDetailsSubscription], thumb: String, title: String, twoFactorEnabled: Bool, username: String, uuid: String, pin: String? = nil, roles: [String]? = nil) {
|
||||||
self.adsConsent = adsConsent
|
self.adsConsent = adsConsent
|
||||||
self._adsConsentReminderAt = DateTime<Date>(wrappedValue: adsConsentReminderAt)
|
self._adsConsentReminderAt = DateTime<Date>(wrappedValue: adsConsentReminderAt)
|
||||||
self._adsConsentSetAt = DateTime<Date>(wrappedValue: adsConsentSetAt)
|
self._adsConsentSetAt = DateTime<Date>(wrappedValue: adsConsentSetAt)
|
||||||
self.anonymous = anonymous
|
self.anonymous = anonymous
|
||||||
|
self.attributionPartner = attributionPartner
|
||||||
self.authToken = authToken
|
self.authToken = authToken
|
||||||
self.backupCodesCreated = backupCodesCreated
|
self.backupCodesCreated = backupCodesCreated
|
||||||
self.confirmed = confirmed
|
self.confirmed = confirmed
|
||||||
@@ -177,6 +179,7 @@ extension Operations.GetTokenDetailsUserPlexAccount: Codable {
|
|||||||
case adsConsentReminderAt
|
case adsConsentReminderAt
|
||||||
case adsConsentSetAt
|
case adsConsentSetAt
|
||||||
case anonymous
|
case anonymous
|
||||||
|
case attributionPartner
|
||||||
case authToken
|
case authToken
|
||||||
case backupCodesCreated
|
case backupCodesCreated
|
||||||
case confirmed
|
case confirmed
|
||||||
@@ -221,6 +224,7 @@ extension Operations.GetTokenDetailsUserPlexAccount: Codable {
|
|||||||
self._adsConsentReminderAt = try container.decode(DateTime<Date>.self, forKey: .adsConsentReminderAt)
|
self._adsConsentReminderAt = try container.decode(DateTime<Date>.self, forKey: .adsConsentReminderAt)
|
||||||
self._adsConsentSetAt = try container.decode(DateTime<Date>.self, forKey: .adsConsentSetAt)
|
self._adsConsentSetAt = try container.decode(DateTime<Date>.self, forKey: .adsConsentSetAt)
|
||||||
self.anonymous = try container.decode(Bool.self, forKey: .anonymous)
|
self.anonymous = try container.decode(Bool.self, forKey: .anonymous)
|
||||||
|
self.attributionPartner = try container.decode(String.self, forKey: .attributionPartner)
|
||||||
self.authToken = try container.decode(String.self, forKey: .authToken)
|
self.authToken = try container.decode(String.self, forKey: .authToken)
|
||||||
self.backupCodesCreated = try container.decode(Bool.self, forKey: .backupCodesCreated)
|
self.backupCodesCreated = try container.decode(Bool.self, forKey: .backupCodesCreated)
|
||||||
self.confirmed = try container.decode(Bool.self, forKey: .confirmed)
|
self.confirmed = try container.decode(Bool.self, forKey: .confirmed)
|
||||||
@@ -265,6 +269,7 @@ extension Operations.GetTokenDetailsUserPlexAccount: Codable {
|
|||||||
try container.encode(self._adsConsentReminderAt, forKey: .adsConsentReminderAt)
|
try container.encode(self._adsConsentReminderAt, forKey: .adsConsentReminderAt)
|
||||||
try container.encode(self._adsConsentSetAt, forKey: .adsConsentSetAt)
|
try container.encode(self._adsConsentSetAt, forKey: .adsConsentSetAt)
|
||||||
try container.encode(self.anonymous, forKey: .anonymous)
|
try container.encode(self.anonymous, forKey: .anonymous)
|
||||||
|
try container.encode(self.attributionPartner, forKey: .attributionPartner)
|
||||||
try container.encode(self.authToken, forKey: .authToken)
|
try container.encode(self.authToken, forKey: .authToken)
|
||||||
try container.encode(self.backupCodesCreated, forKey: .backupCodesCreated)
|
try container.encode(self.backupCodesCreated, forKey: .backupCodesCreated)
|
||||||
try container.encode(self.confirmed, forKey: .confirmed)
|
try container.encode(self.confirmed, forKey: .confirmed)
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ extension Operations {
|
|||||||
///
|
///
|
||||||
public enum GetTopWatchedContentQueryParamType: Int, Codable, APIValue {
|
public enum GetTopWatchedContentQueryParamType: Int, Codable, APIValue {
|
||||||
case movie = 1
|
case movie = 1
|
||||||
case show = 2
|
case tvShow = 2
|
||||||
case season = 3
|
case season = 3
|
||||||
case episode = 4
|
case episode = 4
|
||||||
}}
|
}}
|
||||||
|
|||||||
9
Sources/Plexswift/models/operations/HasThumbnail.swift
Normal file
9
Sources/Plexswift/models/operations/HasThumbnail.swift
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
// Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
||||||
|
|
||||||
|
import Foundation
|
||||||
|
|
||||||
|
extension Operations {
|
||||||
|
public enum HasThumbnail: String, Codable, APIValue {
|
||||||
|
case `false` = "0"
|
||||||
|
case `true` = "1"
|
||||||
|
}}
|
||||||
@@ -7,12 +7,12 @@ extension Operations {
|
|||||||
///
|
///
|
||||||
public struct Meta {
|
public struct Meta {
|
||||||
public let fieldType: [Operations.GetLibraryItemsFieldType]?
|
public let fieldType: [Operations.GetLibraryItemsFieldType]?
|
||||||
public let type: [Operations.GetLibraryItemsType]?
|
public let type: [Operations.GetLibraryItemsLibraryType]?
|
||||||
|
|
||||||
/// Creates an object with the specified parameters
|
/// Creates an object with the specified parameters
|
||||||
///
|
///
|
||||||
///
|
///
|
||||||
public init(fieldType: [Operations.GetLibraryItemsFieldType]? = nil, type: [Operations.GetLibraryItemsType]? = nil) {
|
public init(fieldType: [Operations.GetLibraryItemsFieldType]? = nil, type: [Operations.GetLibraryItemsLibraryType]? = nil) {
|
||||||
self.fieldType = fieldType
|
self.fieldType = fieldType
|
||||||
self.type = type
|
self.type = type
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -15,6 +15,7 @@ extension Operations {
|
|||||||
public private(set) var adsConsentSetAt: Date
|
public private(set) var adsConsentSetAt: Date
|
||||||
/// Unknown
|
/// Unknown
|
||||||
public let anonymous: Bool
|
public let anonymous: Bool
|
||||||
|
public let attributionPartner: String
|
||||||
/// The account token
|
/// The account token
|
||||||
public let authToken: String
|
public let authToken: String
|
||||||
/// If the two-factor authentication backup codes have been created
|
/// If the two-factor authentication backup codes have been created
|
||||||
@@ -129,11 +130,12 @@ extension Operations {
|
|||||||
/// - Parameter roles: [Might be removed] List of account roles. Plexpass membership listed here
|
/// - Parameter roles: [Might be removed] List of account roles. Plexpass membership listed here
|
||||||
///
|
///
|
||||||
@available(*, deprecated, message: "This initializer uses deprecated fields and will be removed in a future version.")
|
@available(*, deprecated, message: "This initializer uses deprecated fields and will be removed in a future version.")
|
||||||
public init(adsConsent: Bool, adsConsentReminderAt: Date, adsConsentSetAt: Date, anonymous: Bool, authToken: String, backupCodesCreated: Bool, confirmed: Bool, country: String, email: String, emailOnlyAuth: Bool, entitlements: [String], experimentalFeatures: Bool, friendlyName: String, guest: Bool, hasPassword: Bool, home: Bool, homeAdmin: Bool, homeSize: Int, id: Int, joinedAt: Int, locale: String, mailingListActive: Bool, mailingListStatus: Operations.PostUsersSignInDataMailingListStatus, maxHomeSize: Int, pastSubscriptions: [Operations.PastSubscription], profile: Operations.PostUsersSignInDataUserProfile, protected: Bool, rememberExpiresAt: Int, restricted: Bool, scrobbleTypes: String, services: [Operations.PostUsersSignInDataServices], subscription: Operations.PostUsersSignInDataSubscription, subscriptionDescription: String, subscriptions: [Operations.PostUsersSignInDataAuthenticationSubscription], thumb: String, title: String, trials: [Operations.Trials], twoFactorEnabled: Bool, username: String, uuid: String, pin: String? = nil, roles: [String]? = nil) {
|
public init(adsConsent: Bool, adsConsentReminderAt: Date, adsConsentSetAt: Date, anonymous: Bool, attributionPartner: String, authToken: String, backupCodesCreated: Bool, confirmed: Bool, country: String, email: String, emailOnlyAuth: Bool, entitlements: [String], experimentalFeatures: Bool, friendlyName: String, guest: Bool, hasPassword: Bool, home: Bool, homeAdmin: Bool, homeSize: Int, id: Int, joinedAt: Int, locale: String, mailingListActive: Bool, mailingListStatus: Operations.PostUsersSignInDataMailingListStatus, maxHomeSize: Int, pastSubscriptions: [Operations.PastSubscription], profile: Operations.PostUsersSignInDataUserProfile, protected: Bool, rememberExpiresAt: Int, restricted: Bool, scrobbleTypes: String, services: [Operations.PostUsersSignInDataServices], subscription: Operations.PostUsersSignInDataSubscription, subscriptionDescription: String, subscriptions: [Operations.PostUsersSignInDataAuthenticationSubscription], thumb: String, title: String, trials: [Operations.Trials], twoFactorEnabled: Bool, username: String, uuid: String, pin: String? = nil, roles: [String]? = nil) {
|
||||||
self.adsConsent = adsConsent
|
self.adsConsent = adsConsent
|
||||||
self._adsConsentReminderAt = DateTime<Date>(wrappedValue: adsConsentReminderAt)
|
self._adsConsentReminderAt = DateTime<Date>(wrappedValue: adsConsentReminderAt)
|
||||||
self._adsConsentSetAt = DateTime<Date>(wrappedValue: adsConsentSetAt)
|
self._adsConsentSetAt = DateTime<Date>(wrappedValue: adsConsentSetAt)
|
||||||
self.anonymous = anonymous
|
self.anonymous = anonymous
|
||||||
|
self.attributionPartner = attributionPartner
|
||||||
self.authToken = authToken
|
self.authToken = authToken
|
||||||
self.backupCodesCreated = backupCodesCreated
|
self.backupCodesCreated = backupCodesCreated
|
||||||
self.confirmed = confirmed
|
self.confirmed = confirmed
|
||||||
@@ -181,6 +183,7 @@ extension Operations.PostUsersSignInDataUserPlexAccount: Codable {
|
|||||||
case adsConsentReminderAt
|
case adsConsentReminderAt
|
||||||
case adsConsentSetAt
|
case adsConsentSetAt
|
||||||
case anonymous
|
case anonymous
|
||||||
|
case attributionPartner
|
||||||
case authToken
|
case authToken
|
||||||
case backupCodesCreated
|
case backupCodesCreated
|
||||||
case confirmed
|
case confirmed
|
||||||
@@ -227,6 +230,7 @@ extension Operations.PostUsersSignInDataUserPlexAccount: Codable {
|
|||||||
self._adsConsentReminderAt = try container.decode(DateTime<Date>.self, forKey: .adsConsentReminderAt)
|
self._adsConsentReminderAt = try container.decode(DateTime<Date>.self, forKey: .adsConsentReminderAt)
|
||||||
self._adsConsentSetAt = try container.decode(DateTime<Date>.self, forKey: .adsConsentSetAt)
|
self._adsConsentSetAt = try container.decode(DateTime<Date>.self, forKey: .adsConsentSetAt)
|
||||||
self.anonymous = try container.decode(Bool.self, forKey: .anonymous)
|
self.anonymous = try container.decode(Bool.self, forKey: .anonymous)
|
||||||
|
self.attributionPartner = try container.decode(String.self, forKey: .attributionPartner)
|
||||||
self.authToken = try container.decode(String.self, forKey: .authToken)
|
self.authToken = try container.decode(String.self, forKey: .authToken)
|
||||||
self.backupCodesCreated = try container.decode(Bool.self, forKey: .backupCodesCreated)
|
self.backupCodesCreated = try container.decode(Bool.self, forKey: .backupCodesCreated)
|
||||||
self.confirmed = try container.decode(Bool.self, forKey: .confirmed)
|
self.confirmed = try container.decode(Bool.self, forKey: .confirmed)
|
||||||
@@ -273,6 +277,7 @@ extension Operations.PostUsersSignInDataUserPlexAccount: Codable {
|
|||||||
try container.encode(self._adsConsentReminderAt, forKey: .adsConsentReminderAt)
|
try container.encode(self._adsConsentReminderAt, forKey: .adsConsentReminderAt)
|
||||||
try container.encode(self._adsConsentSetAt, forKey: .adsConsentSetAt)
|
try container.encode(self._adsConsentSetAt, forKey: .adsConsentSetAt)
|
||||||
try container.encode(self.anonymous, forKey: .anonymous)
|
try container.encode(self.anonymous, forKey: .anonymous)
|
||||||
|
try container.encode(self.attributionPartner, forKey: .attributionPartner)
|
||||||
try container.encode(self.authToken, forKey: .authToken)
|
try container.encode(self.authToken, forKey: .authToken)
|
||||||
try container.encode(self.backupCodesCreated, forKey: .backupCodesCreated)
|
try container.encode(self.backupCodesCreated, forKey: .backupCodesCreated)
|
||||||
try container.encode(self.confirmed, forKey: .confirmed)
|
try container.encode(self.confirmed, forKey: .confirmed)
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ extension Operations {
|
|||||||
///
|
///
|
||||||
public enum QueryParamType: Int, Codable, APIValue {
|
public enum QueryParamType: Int, Codable, APIValue {
|
||||||
case movie = 1
|
case movie = 1
|
||||||
case show = 2
|
case tvShow = 2
|
||||||
case season = 3
|
case season = 3
|
||||||
case episode = 4
|
case episode = 4
|
||||||
}}
|
}}
|
||||||
|
|||||||
19
Sources/Plexswift/models/operations/ShowOrdering.swift
Normal file
19
Sources/Plexswift/models/operations/ShowOrdering.swift
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
// Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
||||||
|
|
||||||
|
import Foundation
|
||||||
|
|
||||||
|
extension Operations {
|
||||||
|
/// 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)).
|
||||||
|
///
|
||||||
|
public enum ShowOrdering: String, Codable, APIValue {
|
||||||
|
case `none` = "None"
|
||||||
|
case tmdbAiring = "tmdbAiring"
|
||||||
|
case aired = "aired"
|
||||||
|
case dvd = "dvd"
|
||||||
|
case absolute = "absolute"
|
||||||
|
}}
|
||||||
@@ -12,7 +12,7 @@ extension Operations {
|
|||||||
///
|
///
|
||||||
public enum TypeModel: Int, Codable, APIValue {
|
public enum TypeModel: Int, Codable, APIValue {
|
||||||
case movie = 1
|
case movie = 1
|
||||||
case show = 2
|
case tvShow = 2
|
||||||
case season = 3
|
case season = 3
|
||||||
case episode = 4
|
case episode = 4
|
||||||
}}
|
}}
|
||||||
|
|||||||
32
Sources/Plexswift/models/operations/UltraBlurColors.swift
Normal file
32
Sources/Plexswift/models/operations/UltraBlurColors.swift
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
// Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
||||||
|
|
||||||
|
import Foundation
|
||||||
|
|
||||||
|
extension Operations {
|
||||||
|
/// A model object
|
||||||
|
public struct UltraBlurColors {
|
||||||
|
public let bottomLeft: String
|
||||||
|
public let bottomRight: String
|
||||||
|
public let topLeft: String
|
||||||
|
public let topRight: String
|
||||||
|
|
||||||
|
/// Creates an object with the specified parameters
|
||||||
|
///
|
||||||
|
///
|
||||||
|
public init(bottomLeft: String, bottomRight: String, topLeft: String, topRight: String) {
|
||||||
|
self.bottomLeft = bottomLeft
|
||||||
|
self.bottomRight = bottomRight
|
||||||
|
self.topLeft = topLeft
|
||||||
|
self.topRight = topRight
|
||||||
|
}
|
||||||
|
}}
|
||||||
|
|
||||||
|
extension Operations.UltraBlurColors: Codable {
|
||||||
|
enum CodingKeys: String, CodingKey {
|
||||||
|
case bottomLeft
|
||||||
|
case bottomRight
|
||||||
|
case topLeft
|
||||||
|
case topRight
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@@ -62,7 +62,7 @@ final class URLRequestBuilder: URLRequestConfiguration {
|
|||||||
urlRequest.setValue(contentType, forHTTPHeaderField: "Content-Type")
|
urlRequest.setValue(contentType, forHTTPHeaderField: "Content-Type")
|
||||||
}
|
}
|
||||||
|
|
||||||
urlRequest.setValue("speakeasy-sdk/swift 0.7.0 2.421.3 0.0.3 plexswift", forHTTPHeaderField: telemetryHeader.headerName)
|
urlRequest.setValue("speakeasy-sdk/swift 0.7.1 2.421.3 0.0.3 plexswift", forHTTPHeaderField: telemetryHeader.headerName)
|
||||||
|
|
||||||
addSecurityParameters(to: &urlRequest)
|
addSecurityParameters(to: &urlRequest)
|
||||||
|
|
||||||
|
|||||||
2126
codeSamples.yaml
2126
codeSamples.yaml
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user