ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.402.14

This commit is contained in:
speakeasybot
2024-09-26 00:08:34 +00:00
parent bc084b3372
commit 805777f2b4
129 changed files with 5612 additions and 1316 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -12,7 +12,7 @@ generation:
auth: auth:
oAuth2ClientCredentialsEnabled: true oAuth2ClientCredentialsEnabled: true
swift: swift:
version: 0.7.4 version: 0.8.0
author: LukeHagar author: LukeHagar
description: Swift Client SDK Generated by Speakeasy description: Swift Client SDK Generated by Speakeasy
imports: imports:

View File

@@ -11,7 +11,7 @@ targets:
plexswift: plexswift:
source: plexapi source: plexapi
codeSamplesNamespace: code-samples-swift-plexswift codeSamplesNamespace: code-samples-swift-plexswift
codeSamplesRevisionDigest: sha256:4794efee0a2f342bc47f1a2d5b2351d447da8c13c2699adb1675221e03ea027c codeSamplesRevisionDigest: sha256:6b78631ea49c5a9446f4bb8887c3ce13d9eb09fb3f1b74288c82f3ceafea483f
outLocation: /github/workspace/repo outLocation: /github/workspace/repo
workflow: workflow:
workflowVersion: 1.0.0 workflowVersion: 1.0.0

View File

@@ -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.4")) .package(url: "https://github.com/LukeHagar/plexswift.git", .upToNextMajor(from: "0.8.0"))
] ]
``` ```
<!-- End SDK Installation [installation] --> <!-- End SDK Installation [installation] -->
@@ -103,12 +103,13 @@ case .empty:
### [Hubs](docs/sdks/hubs/README.md) ### [Hubs](docs/sdks/hubs/README.md)
* [getGlobalHubs](docs/sdks/hubs/README.md#getglobalhubs) - Get Global Hubs * [getGlobalHubs](docs/sdks/hubs/README.md#getglobalhubs) - Get Global Hubs
* [getRecentlyAdded](docs/sdks/hubs/README.md#getrecentlyadded) - Get Recently Added
* [getLibraryHubs](docs/sdks/hubs/README.md#getlibraryhubs) - Get library specific hubs * [getLibraryHubs](docs/sdks/hubs/README.md#getlibraryhubs) - Get library specific hubs
### [Library](docs/sdks/library/README.md) ### [Library](docs/sdks/library/README.md)
* [getFileHash](docs/sdks/library/README.md#getfilehash) - Get Hash Value * [getFileHash](docs/sdks/library/README.md#getfilehash) - Get Hash Value
* [getRecentlyAdded](docs/sdks/library/README.md#getrecentlyadded) - Get Recently Added * [getRecentlyAddedLibrary](docs/sdks/library/README.md#getrecentlyaddedlibrary) - Get Recently Added
* [getAllLibraries](docs/sdks/library/README.md#getalllibraries) - Get All Libraries * [getAllLibraries](docs/sdks/library/README.md#getalllibraries) - Get All Libraries
* [getLibraryDetails](docs/sdks/library/README.md#getlibrarydetails) - Get Library Details * [getLibraryDetails](docs/sdks/library/README.md#getlibrarydetails) - Get Library Details
* [deleteLibrary](docs/sdks/library/README.md#deletelibrary) - Delete Library Section * [deleteLibrary](docs/sdks/library/README.md#deletelibrary) - Delete Library Section

View File

@@ -673,3 +673,13 @@ Based on:
- [swift v0.7.4] . - [swift v0.7.4] .
### Releases ### Releases
- [Swift Package Manager v0.7.4] https://github.com/LukeHagar/plexswift/releases/tag/v0.7.4 - . - [Swift Package Manager v0.7.4] https://github.com/LukeHagar/plexswift/releases/tag/v0.7.4 - .
## 2024-09-26 00:07:40
### Changes
Based on:
- OpenAPI Doc
- Speakeasy CLI 1.402.14 (2.422.22) https://github.com/speakeasy-api/speakeasy
### Generated
- [swift v0.8.0] .
### Releases
- [Swift Package Manager v0.8.0] https://github.com/LukeHagar/plexswift/releases/tag/v0.8.0 - .

View File

@@ -100,6 +100,7 @@ case .empty:
- ``Operations/GetLibraryItemsBadRequest`` - ``Operations/GetLibraryItemsBadRequest``
- ``Operations/GetMediaProvidersBadRequest`` - ``Operations/GetMediaProvidersBadRequest``
- ``Operations/GetMetaDataByRatingKeyBadRequest`` - ``Operations/GetMetaDataByRatingKeyBadRequest``
- ``Operations/GetRecentlyAddedLibraryBadRequest``
- ``Operations/GetRefreshLibraryMetadataBadRequest`` - ``Operations/GetRefreshLibraryMetadataBadRequest``
- ``Operations/GetSearchLibraryBadRequest`` - ``Operations/GetSearchLibraryBadRequest``
- ``Operations/GetServerResourcesBadRequest`` - ``Operations/GetServerResourcesBadRequest``
@@ -122,7 +123,6 @@ case .empty:
- ``Operations/GetPlaylistBadRequest`` - ``Operations/GetPlaylistBadRequest``
- ``Operations/GetPlaylistContentsBadRequest`` - ``Operations/GetPlaylistContentsBadRequest``
- ``Operations/GetPlaylistsBadRequest`` - ``Operations/GetPlaylistsBadRequest``
- ``Operations/GetRecentlyAddedBadRequest``
- ``Operations/GetResizedPhotoBadRequest`` - ``Operations/GetResizedPhotoBadRequest``
- ``Operations/GetResourcesStatisticsBadRequest`` - ``Operations/GetResourcesStatisticsBadRequest``
- ``Operations/GetSearchResultsBadRequest`` - ``Operations/GetSearchResultsBadRequest``
@@ -175,6 +175,8 @@ case .empty:
- ``Operations/GetLibraryItemsResponse`` - ``Operations/GetLibraryItemsResponse``
- ``Operations/GetMediaProvidersResponse`` - ``Operations/GetMediaProvidersResponse``
- ``Operations/GetMetaDataByRatingKeyResponse`` - ``Operations/GetMetaDataByRatingKeyResponse``
- ``Operations/GetRecentlyAddedResponse``
- ``Operations/GetRecentlyAddedLibraryResponse``
- ``Operations/GetRefreshLibraryMetadataResponse`` - ``Operations/GetRefreshLibraryMetadataResponse``
- ``Operations/GetSearchLibraryResponse`` - ``Operations/GetSearchLibraryResponse``
- ``Operations/GetServerIdentityResponse`` - ``Operations/GetServerIdentityResponse``
@@ -198,7 +200,6 @@ case .empty:
- ``Operations/GetPlaylistResponse`` - ``Operations/GetPlaylistResponse``
- ``Operations/GetPlaylistContentsResponse`` - ``Operations/GetPlaylistContentsResponse``
- ``Operations/GetPlaylistsResponse`` - ``Operations/GetPlaylistsResponse``
- ``Operations/GetRecentlyAddedResponse``
- ``Operations/GetResizedPhotoResponse`` - ``Operations/GetResizedPhotoResponse``
- ``Operations/GetResourcesStatisticsResponse`` - ``Operations/GetResourcesStatisticsResponse``
- ``Operations/GetSearchResultsResponse`` - ``Operations/GetSearchResultsResponse``
@@ -320,34 +321,60 @@ case .empty:
- ``Operations/GetBannerImageUnauthorized`` - ``Operations/GetBannerImageUnauthorized``
- ``Operations/GetLibraryDetailsDirectory`` - ``Operations/GetLibraryDetailsDirectory``
- ``Operations/GetLibraryDetailsErrors`` - ``Operations/GetLibraryDetailsErrors``
- ``Operations/GetLibraryDetailsField``
- ``Operations/GetLibraryDetailsFieldType``
- ``Operations/GetLibraryDetailsFilter`` - ``Operations/GetLibraryDetailsFilter``
- ``Operations/GetLibraryDetailsLibraryErrors`` - ``Operations/GetLibraryDetailsLibraryErrors``
- ``Operations/GetLibraryDetailsMediaContainer`` - ``Operations/GetLibraryDetailsMediaContainer``
- ``Operations/GetLibraryDetailsOperator``
- ``Operations/GetLibraryDetailsRequest`` - ``Operations/GetLibraryDetailsRequest``
- ``Operations/GetLibraryDetailsResponseBody`` - ``Operations/GetLibraryDetailsResponseBody``
- ``Operations/GetLibraryDetailsSort``
- ``Operations/GetLibraryDetailsType`` - ``Operations/GetLibraryDetailsType``
- ``Operations/GetLibraryDetailsUnauthorized`` - ``Operations/GetLibraryDetailsUnauthorized``
- ``Operations/GetLibraryItemsActiveDirection``
- ``Operations/GetLibraryItemsCollection``
- ``Operations/GetLibraryItemsCountry`` - ``Operations/GetLibraryItemsCountry``
- ``Operations/GetLibraryItemsDefaultDirection``
- ``Operations/GetLibraryItemsDirector`` - ``Operations/GetLibraryItemsDirector``
- ``Operations/GetLibraryItemsErrors`` - ``Operations/GetLibraryItemsErrors``
- ``Operations/GetLibraryItemsField`` - ``Operations/GetLibraryItemsField``
- ``Operations/GetLibraryItemsFieldType`` - ``Operations/GetLibraryItemsFieldType``
- ``Operations/GetLibraryItemsFilter`` - ``Operations/GetLibraryItemsFilter``
- ``Operations/GetLibraryItemsFlattenSeasons``
- ``Operations/GetLibraryItemsGenre`` - ``Operations/GetLibraryItemsGenre``
- ``Operations/GetLibraryItemsHasThumbnail``
- ``Operations/GetLibraryItemsImage`` - ``Operations/GetLibraryItemsImage``
- ``Operations/GetLibraryItemsLibraryActiveDirection``
- ``Operations/GetLibraryItemsLibraryDefaultDirection``
- ``Operations/GetLibraryItemsLibraryErrors`` - ``Operations/GetLibraryItemsLibraryErrors``
- ``Operations/GetLibraryItemsLibraryField``
- ``Operations/GetLibraryItemsLibraryFieldType``
- ``Operations/GetLibraryItemsLibraryFilter``
- ``Operations/GetLibraryItemsLibraryOperator``
- ``Operations/GetLibraryItemsLibraryResponse200Type``
- ``Operations/GetLibraryItemsLibraryResponseType`` - ``Operations/GetLibraryItemsLibraryResponseType``
- ``Operations/GetLibraryItemsLibrarySort``
- ``Operations/GetLibraryItemsLibraryType`` - ``Operations/GetLibraryItemsLibraryType``
- ``Operations/GetLibraryItemsMedia`` - ``Operations/GetLibraryItemsMedia``
- ``Operations/GetLibraryItemsMediaContainer`` - ``Operations/GetLibraryItemsMediaContainer``
- ``Operations/GetLibraryItemsMediaGuid``
- ``Operations/GetLibraryItemsMeta``
- ``Operations/GetLibraryItemsMetadata`` - ``Operations/GetLibraryItemsMetadata``
- ``Operations/GetLibraryItemsMetaDataRating``
- ``Operations/GetLibraryItemsOperator`` - ``Operations/GetLibraryItemsOperator``
- ``Operations/GetLibraryItemsOptimizedForStreaming``
- ``Operations/GetLibraryItemsPart`` - ``Operations/GetLibraryItemsPart``
- ``Operations/GetLibraryItemsQueryParamIncludeMeta``
- ``Operations/GetLibraryItemsQueryParamType``
- ``Operations/GetLibraryItemsRequest`` - ``Operations/GetLibraryItemsRequest``
- ``Operations/GetLibraryItemsResponseBody`` - ``Operations/GetLibraryItemsResponseBody``
- ``Operations/GetLibraryItemsRole`` - ``Operations/GetLibraryItemsRole``
- ``Operations/GetLibraryItemsShowOrdering``
- ``Operations/GetLibraryItemsSort`` - ``Operations/GetLibraryItemsSort``
- ``Operations/GetLibraryItemsStream``
- ``Operations/GetLibraryItemsType`` - ``Operations/GetLibraryItemsType``
- ``Operations/GetLibraryItemsUltraBlurColors``
- ``Operations/GetLibraryItemsUnauthorized`` - ``Operations/GetLibraryItemsUnauthorized``
- ``Operations/GetLibraryItemsWriter`` - ``Operations/GetLibraryItemsWriter``
- ``Operations/GetMediaProvidersDirectory`` - ``Operations/GetMediaProvidersDirectory``
@@ -369,8 +396,40 @@ case .empty:
- ``Operations/GetMetaDataByRatingKeyRequest`` - ``Operations/GetMetaDataByRatingKeyRequest``
- ``Operations/GetMetaDataByRatingKeyResponseBody`` - ``Operations/GetMetaDataByRatingKeyResponseBody``
- ``Operations/GetMetaDataByRatingKeyRole`` - ``Operations/GetMetaDataByRatingKeyRole``
- ``Operations/GetMetaDataByRatingKeyStream``
- ``Operations/GetMetaDataByRatingKeyUnauthorized`` - ``Operations/GetMetaDataByRatingKeyUnauthorized``
- ``Operations/GetMetaDataByRatingKeyWriter`` - ``Operations/GetMetaDataByRatingKeyWriter``
- ``Operations/GetRecentlyAddedActiveDirection``
- ``Operations/GetRecentlyAddedDefaultDirection``
- ``Operations/GetRecentlyAddedField``
- ``Operations/GetRecentlyAddedFieldType``
- ``Operations/GetRecentlyAddedFilter``
- ``Operations/GetRecentlyAddedHubsResponseType``
- ``Operations/GetRecentlyAddedHubsType``
- ``Operations/GetRecentlyAddedImage``
- ``Operations/GetRecentlyAddedMediaContainer``
- ``Operations/GetRecentlyAddedMetadata``
- ``Operations/GetRecentlyAddedOperator``
- ``Operations/GetRecentlyAddedRequest``
- ``Operations/GetRecentlyAddedResponseBody``
- ``Operations/GetRecentlyAddedSort``
- ``Operations/GetRecentlyAddedType``
- ``Operations/GetRecentlyAddedLibraryCountry``
- ``Operations/GetRecentlyAddedLibraryDirector``
- ``Operations/GetRecentlyAddedLibraryErrors``
- ``Operations/GetRecentlyAddedLibraryFilter``
- ``Operations/GetRecentlyAddedLibraryGenre``
- ``Operations/GetRecentlyAddedLibraryLibraryErrors``
- ``Operations/GetRecentlyAddedLibraryMedia``
- ``Operations/GetRecentlyAddedLibraryMediaContainer``
- ``Operations/GetRecentlyAddedLibraryMetadata``
- ``Operations/GetRecentlyAddedLibraryPart``
- ``Operations/GetRecentlyAddedLibraryRequest``
- ``Operations/GetRecentlyAddedLibraryResponseBody``
- ``Operations/GetRecentlyAddedLibraryRole``
- ``Operations/GetRecentlyAddedLibraryType``
- ``Operations/GetRecentlyAddedLibraryUnauthorized``
- ``Operations/GetRecentlyAddedLibraryWriter``
- ``Operations/GetRefreshLibraryMetadataErrors`` - ``Operations/GetRefreshLibraryMetadataErrors``
- ``Operations/GetRefreshLibraryMetadataLibraryErrors`` - ``Operations/GetRefreshLibraryMetadataLibraryErrors``
- ``Operations/GetRefreshLibraryMetadataRequest`` - ``Operations/GetRefreshLibraryMetadataRequest``
@@ -379,6 +438,7 @@ case .empty:
- ``Operations/GetSearchLibraryLibraryErrors`` - ``Operations/GetSearchLibraryLibraryErrors``
- ``Operations/GetSearchLibraryMediaContainer`` - ``Operations/GetSearchLibraryMediaContainer``
- ``Operations/GetSearchLibraryMetadata`` - ``Operations/GetSearchLibraryMetadata``
- ``Operations/GetSearchLibraryQueryParamType``
- ``Operations/GetSearchLibraryRequest`` - ``Operations/GetSearchLibraryRequest``
- ``Operations/GetSearchLibraryResponseBody`` - ``Operations/GetSearchLibraryResponseBody``
- ``Operations/GetSearchLibraryUnauthorized`` - ``Operations/GetSearchLibraryUnauthorized``
@@ -511,13 +571,6 @@ case .empty:
- ``Operations/GetPlaylistsRequest`` - ``Operations/GetPlaylistsRequest``
- ``Operations/GetPlaylistsResponseBody`` - ``Operations/GetPlaylistsResponseBody``
- ``Operations/GetPlaylistsUnauthorized`` - ``Operations/GetPlaylistsUnauthorized``
- ``Operations/GetRecentlyAddedErrors``
- ``Operations/GetRecentlyAddedLibraryErrors``
- ``Operations/GetRecentlyAddedMediaContainer``
- ``Operations/GetRecentlyAddedMetadata``
- ``Operations/GetRecentlyAddedRequest``
- ``Operations/GetRecentlyAddedResponseBody``
- ``Operations/GetRecentlyAddedUnauthorized``
- ``Operations/GetResizedPhotoErrors`` - ``Operations/GetResizedPhotoErrors``
- ``Operations/GetResizedPhotoRequest`` - ``Operations/GetResizedPhotoRequest``
- ``Operations/GetResizedPhotoServerErrors`` - ``Operations/GetResizedPhotoServerErrors``
@@ -652,7 +705,6 @@ case .empty:
- ``Operations/IncludeRelay`` - ``Operations/IncludeRelay``
- ``Operations/InternalPaymentMethod`` - ``Operations/InternalPaymentMethod``
- ``Operations/Level`` - ``Operations/Level``
- ``Operations/LibrarySectionID``
- ``Operations/Libtype`` - ``Operations/Libtype``
- ``Operations/Location`` - ``Operations/Location``
- ``Operations/LogLineErrors`` - ``Operations/LogLineErrors``
@@ -678,10 +730,12 @@ case .empty:
- ``Operations/MediaReviewsVisibility`` - ``Operations/MediaReviewsVisibility``
- ``Operations/Meta`` - ``Operations/Meta``
- ``Operations/Metadata`` - ``Operations/Metadata``
- ``Operations/MetaDataRating``
- ``Operations/MinSize`` - ``Operations/MinSize``
- ``Operations/MyPlex`` - ``Operations/MyPlex``
- ``Operations/OnlyTransient`` - ``Operations/OnlyTransient``
- ``Operations/Operator`` - ``Operations/Operator``
- ``Operations/OptimizedForStreaming``
- ``Operations/Part`` - ``Operations/Part``
- ``Operations/PastSubscription`` - ``Operations/PastSubscription``
- ``Operations/PathParamTaskName`` - ``Operations/PathParamTaskName``
@@ -709,6 +763,7 @@ case .empty:
- ``Operations/PostUsersSignInDataFeatures`` - ``Operations/PostUsersSignInDataFeatures``
- ``Operations/PostUsersSignInDataMailingListStatus`` - ``Operations/PostUsersSignInDataMailingListStatus``
- ``Operations/PostUsersSignInDataMediaReviewsVisibility`` - ``Operations/PostUsersSignInDataMediaReviewsVisibility``
- ``Operations/PostUsersSignInDataRequest``
- ``Operations/PostUsersSignInDataRequestBody`` - ``Operations/PostUsersSignInDataRequestBody``
- ``Operations/PostUsersSignInDataServices`` - ``Operations/PostUsersSignInDataServices``
- ``Operations/PostUsersSignInDataState`` - ``Operations/PostUsersSignInDataState``
@@ -723,6 +778,7 @@ case .empty:
- ``Operations/Provider`` - ``Operations/Provider``
- ``Operations/QueryParamFilter`` - ``Operations/QueryParamFilter``
- ``Operations/QueryParamForce`` - ``Operations/QueryParamForce``
- ``Operations/QueryParamIncludeMeta``
- ``Operations/QueryParamOnlyTransient`` - ``Operations/QueryParamOnlyTransient``
- ``Operations/QueryParamSmart`` - ``Operations/QueryParamSmart``
- ``Operations/QueryParamType`` - ``Operations/QueryParamType``

View File

@@ -38,7 +38,7 @@ class _AuthenticationAPI: AuthenticationAPI {
) )
} }
public func postUsersSignInData(request: Operations.PostUsersSignInDataRequestBody, server: AuthenticationServers.PostUsersSignInData?) async throws -> Response<Operations.PostUsersSignInDataResponse> { public func postUsersSignInData(request: Operations.PostUsersSignInDataRequest, server: AuthenticationServers.PostUsersSignInData?) async throws -> Response<Operations.PostUsersSignInDataResponse> {
return try await client.makeRequest( return try await client.makeRequest(
with: try server?.server() ?? AuthenticationServers.PostUsersSignInData.default(), with: try server?.server() ?? AuthenticationServers.PostUsersSignInData.default(),
configureRequest: { configuration in configureRequest: { configuration in
@@ -72,11 +72,12 @@ private func configureGetTokenDetailsRequest(with configuration: URLRequestConfi
configuration.telemetryHeader = .userAgent configuration.telemetryHeader = .userAgent
} }
private func configurePostUsersSignInDataRequest(with configuration: URLRequestConfiguration, request: Operations.PostUsersSignInDataRequestBody) throws { private func configurePostUsersSignInDataRequest(with configuration: URLRequestConfiguration, request: Operations.PostUsersSignInDataRequest) throws {
configuration.path = "/users/signin" configuration.path = "/users/signin"
configuration.method = .post configuration.method = .post
configuration.queryParameterSerializable = request
configuration.contentType = "application/x-www-form-urlencoded" configuration.contentType = "application/x-www-form-urlencoded"
configuration.body = try serializeFormData(with: request) configuration.body = try serializeFormData(with: request.requestBody)
configuration.telemetryHeader = .userAgent configuration.telemetryHeader = .userAgent
} }

View File

@@ -19,6 +19,15 @@ class _HubsAPI: HubsAPI {
) )
} }
public func getRecentlyAdded(request: Operations.GetRecentlyAddedRequest) async throws -> Response<Operations.GetRecentlyAddedResponse> {
return try await client.makeRequest(
configureRequest: { configuration in
try configureGetRecentlyAddedRequest(with: configuration, request: request)
},
handleResponse: handleGetRecentlyAddedResponse
)
}
public func getLibraryHubs(request: Operations.GetLibraryHubsRequest) async throws -> Response<Operations.GetLibraryHubsResponse> { public func getLibraryHubs(request: Operations.GetLibraryHubsRequest) async throws -> Response<Operations.GetLibraryHubsResponse> {
return try await client.makeRequest( return try await client.makeRequest(
configureRequest: { configuration in configureRequest: { configuration in
@@ -39,6 +48,13 @@ private func configureGetGlobalHubsRequest(with configuration: URLRequestConfigu
configuration.telemetryHeader = .userAgent configuration.telemetryHeader = .userAgent
} }
private func configureGetRecentlyAddedRequest(with configuration: URLRequestConfiguration, request: Operations.GetRecentlyAddedRequest) throws {
configuration.path = "/hubs/home/recentlyAdded"
configuration.method = .get
configuration.queryParameterSerializable = request
configuration.telemetryHeader = .userAgent
}
private func configureGetLibraryHubsRequest(with configuration: URLRequestConfiguration, request: Operations.GetLibraryHubsRequest) throws { private func configureGetLibraryHubsRequest(with configuration: URLRequestConfiguration, request: Operations.GetLibraryHubsRequest) throws {
configuration.path = "/hubs/sections/{sectionId}" configuration.path = "/hubs/sections/{sectionId}"
configuration.method = .get configuration.method = .get
@@ -81,6 +97,24 @@ private func handleGetGlobalHubsResponse(response: Client.APIResponse) throws ->
return .empty return .empty
} }
private func handleGetRecentlyAddedResponse(response: Client.APIResponse) throws -> Operations.GetRecentlyAddedResponse {
let httpResponse = response.httpResponse
if httpResponse.statusCode == 200 {
if httpResponse.contentType.matchContentType(pattern: "application/json"), let data = response.data {
do {
return .object(try JSONDecoder().decode(Operations.GetRecentlyAddedResponseBody.self, from: data))
} catch {
throw ResponseHandlerError.failedToDecodeJSON(error)
}
}
} else if [400, 401].contains(httpResponse.statusCode) {
return .empty
}
return .empty
}
private func handleGetLibraryHubsResponse(response: Client.APIResponse) throws -> Operations.GetLibraryHubsResponse { private func handleGetLibraryHubsResponse(response: Client.APIResponse) throws -> Operations.GetLibraryHubsResponse {
let httpResponse = response.httpResponse let httpResponse = response.httpResponse

View File

@@ -19,12 +19,12 @@ class _LibraryAPI: LibraryAPI {
) )
} }
public func getRecentlyAdded(request: Operations.GetRecentlyAddedRequest) async throws -> Response<Operations.GetRecentlyAddedResponse> { public func getRecentlyAddedLibrary(request: Operations.GetRecentlyAddedLibraryRequest) async throws -> Response<Operations.GetRecentlyAddedLibraryResponse> {
return try await client.makeRequest( return try await client.makeRequest(
configureRequest: { configuration in configureRequest: { configuration in
try configureGetRecentlyAddedRequest(with: configuration, request: request) try configureGetRecentlyAddedLibraryRequest(with: configuration, request: request)
}, },
handleResponse: handleGetRecentlyAddedResponse handleResponse: handleGetRecentlyAddedLibraryResponse
) )
} }
@@ -129,7 +129,7 @@ private func configureGetFileHashRequest(with configuration: URLRequestConfigura
configuration.telemetryHeader = .userAgent configuration.telemetryHeader = .userAgent
} }
private func configureGetRecentlyAddedRequest(with configuration: URLRequestConfiguration, request: Operations.GetRecentlyAddedRequest) throws { private func configureGetRecentlyAddedLibraryRequest(with configuration: URLRequestConfiguration, request: Operations.GetRecentlyAddedLibraryRequest) throws {
configuration.path = "/library/recentlyAdded" configuration.path = "/library/recentlyAdded"
configuration.method = .get configuration.method = .get
configuration.queryParameterSerializable = request configuration.queryParameterSerializable = request
@@ -237,13 +237,13 @@ private func handleGetFileHashResponse(response: Client.APIResponse) throws -> O
return .empty return .empty
} }
private func handleGetRecentlyAddedResponse(response: Client.APIResponse) throws -> Operations.GetRecentlyAddedResponse { private func handleGetRecentlyAddedLibraryResponse(response: Client.APIResponse) throws -> Operations.GetRecentlyAddedLibraryResponse {
let httpResponse = response.httpResponse let httpResponse = response.httpResponse
if httpResponse.statusCode == 200 { if httpResponse.statusCode == 200 {
if httpResponse.contentType.matchContentType(pattern: "application/json"), let data = response.data { if httpResponse.contentType.matchContentType(pattern: "application/json"), let data = response.data {
do { do {
return .object(try JSONDecoder().decode(Operations.GetRecentlyAddedResponseBody.self, from: data)) return .object(try JSONDecoder().decode(Operations.GetRecentlyAddedLibraryResponseBody.self, from: data))
} catch { } catch {
throw ResponseHandlerError.failedToDecodeJSON(error) throw ResponseHandlerError.failedToDecodeJSON(error)
} }
@@ -251,7 +251,7 @@ private func handleGetRecentlyAddedResponse(response: Client.APIResponse) throws
} else if httpResponse.statusCode == 400 { } else if httpResponse.statusCode == 400 {
if httpResponse.contentType.matchContentType(pattern: "application/json"), let data = response.data { if httpResponse.contentType.matchContentType(pattern: "application/json"), let data = response.data {
do { do {
return .badRequest(try JSONDecoder().decode(Operations.GetRecentlyAddedBadRequest.self, from: data)) return .badRequest(try JSONDecoder().decode(Operations.GetRecentlyAddedLibraryBadRequest.self, from: data))
} catch { } catch {
throw ResponseHandlerError.failedToDecodeJSON(error) throw ResponseHandlerError.failedToDecodeJSON(error)
} }
@@ -259,7 +259,7 @@ private func handleGetRecentlyAddedResponse(response: Client.APIResponse) throws
} else if httpResponse.statusCode == 401 { } else if httpResponse.statusCode == 401 {
if httpResponse.contentType.matchContentType(pattern: "application/json"), let data = response.data { if httpResponse.contentType.matchContentType(pattern: "application/json"), let data = response.data {
do { do {
return .unauthorized(try JSONDecoder().decode(Operations.GetRecentlyAddedUnauthorized.self, from: data)) return .unauthorized(try JSONDecoder().decode(Operations.GetRecentlyAddedLibraryUnauthorized.self, from: data))
} catch { } catch {
throw ResponseHandlerError.failedToDecodeJSON(error) throw ResponseHandlerError.failedToDecodeJSON(error)
} }

View File

@@ -3,7 +3,7 @@
import Foundation import Foundation
extension Operations.GetLibraryItemsLibraryResponseType: Serializable { extension Operations.GetLibraryItemsActiveDirection: Serializable {
func serialize(with format: SerializableFormat) throws -> String { func serialize(with format: SerializableFormat) throws -> String {
return try rawValue.serialize(with: format) return try rawValue.serialize(with: format)
} }

View File

@@ -0,0 +1,14 @@
// Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
import Foundation
extension Operations.GetLibraryItemsDefaultDirection: 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))]
}
}

View File

@@ -0,0 +1,14 @@
// Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
import Foundation
extension Operations.GetLibraryItemsFlattenSeasons: 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))]
}
}

View File

@@ -0,0 +1,14 @@
// Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
import Foundation
extension Operations.GetLibraryItemsHasThumbnail: 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))]
}
}

View File

@@ -0,0 +1,14 @@
// Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
import Foundation
extension Operations.GetLibraryItemsLibraryActiveDirection: 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))]
}
}

View File

@@ -0,0 +1,14 @@
// Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
import Foundation
extension Operations.GetLibraryItemsLibraryDefaultDirection: 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))]
}
}

View File

@@ -0,0 +1,14 @@
// Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
import Foundation
extension Operations.GetLibraryItemsLibraryResponse200Type: 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))]
}
}

View File

@@ -0,0 +1,14 @@
// Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
import Foundation
extension Operations.GetLibraryItemsLibraryType: 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))]
}
}

View File

@@ -0,0 +1,14 @@
// Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
import Foundation
extension Operations.GetLibraryItemsOptimizedForStreaming: 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))]
}
}

View File

@@ -0,0 +1,14 @@
// Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
import Foundation
extension Operations.GetLibraryItemsQueryParamIncludeMeta: 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))]
}
}

View File

@@ -0,0 +1,14 @@
// Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
import Foundation
extension Operations.GetLibraryItemsQueryParamType: 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))]
}
}

View File

@@ -0,0 +1,14 @@
// Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
import Foundation
extension Operations.GetLibraryItemsShowOrdering: 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))]
}
}

View File

@@ -21,6 +21,7 @@ extension Operations.GetPinRequest: Serializable {
extension Operations.GetPinRequest: QueryParameterSerializable { extension Operations.GetPinRequest: 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: clientID, named: "X-Plex-Client-Identifier", format: formatOverride ?? .query(style: .form, explode: true), parameterDefaults: parameterDefaults)
try builder.addQueryParameters(from: clientName, named: "X-Plex-Product", format: formatOverride ?? .query(style: .form, explode: true), parameterDefaults: parameterDefaults) try builder.addQueryParameters(from: clientName, named: "X-Plex-Product", format: formatOverride ?? .query(style: .form, explode: true), parameterDefaults: parameterDefaults)
try builder.addQueryParameters(from: clientPlatform, named: "X-Plex-Platform", format: formatOverride ?? .query(style: .form, explode: true), parameterDefaults: parameterDefaults) try builder.addQueryParameters(from: clientPlatform, named: "X-Plex-Platform", format: formatOverride ?? .query(style: .form, explode: true), parameterDefaults: parameterDefaults)
try builder.addQueryParameters(from: clientVersion, named: "X-Plex-Version", format: formatOverride ?? .query(style: .form, explode: true), parameterDefaults: parameterDefaults) try builder.addQueryParameters(from: clientVersion, named: "X-Plex-Version", format: formatOverride ?? .query(style: .form, explode: true), parameterDefaults: parameterDefaults)

View File

@@ -0,0 +1,14 @@
// Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
import Foundation
extension Operations.GetRecentlyAddedActiveDirection: 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))]
}
}

View File

@@ -0,0 +1,14 @@
// Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
import Foundation
extension Operations.GetRecentlyAddedDefaultDirection: 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))]
}
}

View File

@@ -0,0 +1,14 @@
// Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
import Foundation
extension Operations.GetRecentlyAddedHubsResponseType: 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))]
}
}

View File

@@ -0,0 +1,14 @@
// Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
import Foundation
extension Operations.GetRecentlyAddedHubsType: 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))]
}
}

View File

@@ -0,0 +1,33 @@
// Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
import Foundation
extension Operations.GetRecentlyAddedLibraryRequest: Serializable {
func serialize(with format: SerializableFormat) throws -> String {
switch format {
case .query:
return try serializeQueryParameterSerializable(self, with: format)
case .path, .header, .multipart, .form:
throw SerializationError.invalidSerializationParameter(type: "Operations.GetRecentlyAddedLibraryRequest", format: format.formatDescription)
}
}
func serializeQueryParameters(with format: SerializableFormat) throws -> [QueryParameter] {
return try serializedQueryParameters(with: nil, formatOverride: format)
}
}
extension Operations.GetRecentlyAddedLibraryRequest: QueryParameterSerializable {
func serializedQueryParameters(with parameterDefaults: ParameterDefaults?, formatOverride: SerializableFormat?) throws -> [QueryParameter] {
let builder = QueryParameterBuilder()
try builder.addQueryParameters(from: type, named: "type", format: formatOverride ?? .query(style: .form, explode: true), parameterDefaults: parameterDefaults)
try builder.addQueryParameters(from: contentDirectoryID, named: "contentDirectoryID", 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: pinnedContentDirectoryID, named: "pinnedContentDirectoryID", format: formatOverride ?? .query(style: .form, explode: true), parameterDefaults: parameterDefaults)
try builder.addQueryParameters(from: sectionID, named: "sectionID", 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)
return builder.build()
}
}

View File

@@ -21,6 +21,11 @@ extension Operations.GetRecentlyAddedRequest: Serializable {
extension Operations.GetRecentlyAddedRequest: QueryParameterSerializable { extension Operations.GetRecentlyAddedRequest: 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: contentDirectoryID, named: "contentDirectoryID", 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: includeMeta, named: "includeMeta", format: formatOverride ?? .query(style: .form, explode: true), parameterDefaults: parameterDefaults)
try builder.addQueryParameters(from: pinnedContentDirectoryID, named: "pinnedContentDirectoryID", format: formatOverride ?? .query(style: .form, explode: true), parameterDefaults: parameterDefaults)
try builder.addQueryParameters(from: sectionID, named: "sectionID", 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()

View File

@@ -0,0 +1,14 @@
// Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
import Foundation
extension Operations.GetSearchLibraryQueryParamType: 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))]
}
}

View File

@@ -1,10 +0,0 @@
// Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
import Foundation
extension Operations.LibrarySectionID: Serializable {
func serialize(with format: SerializableFormat) throws -> String {
return ""
}
}

View File

@@ -3,7 +3,7 @@
import Foundation import Foundation
extension Operations.GetLibraryItemsType: Serializable { extension Operations.OptimizedForStreaming: Serializable {
func serialize(with format: SerializableFormat) throws -> String { func serialize(with format: SerializableFormat) throws -> String {
return try rawValue.serialize(with: format) return try rawValue.serialize(with: format)
} }

View File

@@ -0,0 +1,31 @@
// Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
import Foundation
extension Operations.PostUsersSignInDataRequest: Serializable {
func serialize(with format: SerializableFormat) throws -> String {
switch format {
case .query:
return try serializeQueryParameterSerializable(self, with: format)
case .path, .header, .multipart, .form:
throw SerializationError.invalidSerializationParameter(type: "Operations.PostUsersSignInDataRequest", format: format.formatDescription)
}
}
func serializeQueryParameters(with format: SerializableFormat) throws -> [QueryParameter] {
return try serializedQueryParameters(with: nil, formatOverride: format)
}
}
extension Operations.PostUsersSignInDataRequest: QueryParameterSerializable {
func serializedQueryParameters(with parameterDefaults: ParameterDefaults?, formatOverride: SerializableFormat?) throws -> [QueryParameter] {
let builder = QueryParameterBuilder()
try builder.addQueryParameters(from: clientID, named: "X-Plex-Client-Identifier", format: formatOverride ?? .query(style: .form, explode: true), parameterDefaults: parameterDefaults)
try builder.addQueryParameters(from: clientName, named: "X-Plex-Product", format: formatOverride ?? .query(style: .form, explode: true), parameterDefaults: parameterDefaults)
try builder.addQueryParameters(from: clientPlatform, named: "X-Plex-Platform", format: formatOverride ?? .query(style: .form, explode: true), parameterDefaults: parameterDefaults)
try builder.addQueryParameters(from: clientVersion, named: "X-Plex-Version", format: formatOverride ?? .query(style: .form, explode: true), parameterDefaults: parameterDefaults)
try builder.addQueryParameters(from: deviceName, named: "X-Plex-Device", format: formatOverride ?? .query(style: .form, explode: true), parameterDefaults: parameterDefaults)
return builder.build()
}
}

View File

@@ -0,0 +1,14 @@
// Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
import Foundation
extension Operations.QueryParamIncludeMeta: 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))]
}
}

View File

@@ -5,28 +5,28 @@ import Foundation
extension Operations { extension Operations {
/// A model object /// A model object
public struct Field { public struct Field {
public let key: String? public let key: String
public let title: String
public let type: String
public let subType: String? public let subType: String?
public let title: String?
public let type: String?
/// Creates an object with the specified parameters /// Creates an object with the specified parameters
/// ///
/// ///
public init(key: String? = nil, subType: String? = nil, title: String? = nil, type: String? = nil) { public init(key: String, title: String, type: String, subType: String? = nil) {
self.key = key self.key = key
self.subType = subType
self.title = title self.title = title
self.type = type self.type = type
self.subType = subType
} }
}} }}
extension Operations.Field: Codable { extension Operations.Field: Codable {
enum CodingKeys: String, CodingKey { enum CodingKeys: String, CodingKey {
case key case key
case subType
case title case title
case type case type
case subType
} }
} }

View File

@@ -5,13 +5,13 @@ import Foundation
extension Operations { extension Operations {
/// A model object /// A model object
public struct FieldType { public struct FieldType {
public let `operator`: [Operations.Operator]? public let `operator`: [Operations.Operator]
public let type: String? public let type: String
/// Creates an object with the specified parameters /// Creates an object with the specified parameters
/// ///
/// ///
public init(`operator`: [Operations.Operator]? = nil, type: String? = nil) { public init(`operator`: [Operations.Operator], type: String) {
self.`operator` = `operator` self.`operator` = `operator`
self.type = type self.type = type
} }

View File

@@ -10,6 +10,7 @@ extension Operations {
public let art: String public let art: String
public let composite: String public let composite: String
public let content: Bool public let content: Bool
/// Unix epoch datetime in seconds
public let contentChangedAt: Int public let contentChangedAt: Int
/// Unix epoch datetime in seconds /// Unix epoch datetime in seconds
public let createdAt: Int public let createdAt: Int
@@ -32,6 +33,7 @@ extension Operations {
/// Creates an object with the specified parameters /// Creates an object with the specified parameters
/// ///
/// - Parameter contentChangedAt: Unix epoch datetime in seconds
/// - Parameter createdAt: Unix epoch datetime in seconds /// - Parameter createdAt: Unix epoch datetime in seconds
/// - Parameter scannedAt: Unix epoch datetime in seconds /// - Parameter scannedAt: Unix epoch datetime in seconds
/// - Parameter updatedAt: Unix epoch datetime in seconds /// - Parameter updatedAt: Unix epoch datetime in seconds

View File

@@ -0,0 +1,32 @@
// Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
import Foundation
extension Operations {
/// A model object
public struct GetLibraryDetailsField {
public let key: String?
public let subType: String?
public let title: String?
public let type: String?
/// Creates an object with the specified parameters
///
///
public init(key: String? = nil, subType: String? = nil, title: String? = nil, type: String? = nil) {
self.key = key
self.subType = subType
self.title = title
self.type = type
}
}}
extension Operations.GetLibraryDetailsField: Codable {
enum CodingKeys: String, CodingKey {
case key
case subType
case title
case type
}
}

View File

@@ -0,0 +1,26 @@
// Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
import Foundation
extension Operations {
/// A model object
public struct GetLibraryDetailsFieldType {
public let `operator`: [Operations.GetLibraryDetailsOperator]?
public let type: String?
/// Creates an object with the specified parameters
///
///
public init(`operator`: [Operations.GetLibraryDetailsOperator]? = nil, type: String? = nil) {
self.`operator` = `operator`
self.type = type
}
}}
extension Operations.GetLibraryDetailsFieldType: Codable {
enum CodingKeys: String, CodingKey {
case `operator` = "Operator"
case type
}
}

View File

@@ -9,7 +9,7 @@ extension Operations {
public let art: String? public let art: String?
public let content: String? public let content: String?
public let directory: [Operations.GetLibraryDetailsDirectory]? public let directory: [Operations.GetLibraryDetailsDirectory]?
public let fieldType: [Operations.FieldType]? public let fieldType: [Operations.GetLibraryDetailsFieldType]?
public let identifier: String? public let identifier: String?
public let librarySectionID: Int? public let librarySectionID: Int?
public let mediaTagPrefix: String? public let mediaTagPrefix: String?
@@ -24,7 +24,7 @@ extension Operations {
/// Creates an object with the specified parameters /// Creates an object with the specified parameters
/// ///
/// ///
public init(allowSync: Bool? = nil, art: String? = nil, content: String? = nil, directory: [Operations.GetLibraryDetailsDirectory]? = nil, fieldType: [Operations.FieldType]? = nil, identifier: String? = nil, librarySectionID: Int? = nil, mediaTagPrefix: String? = nil, mediaTagVersion: Int? = nil, size: Int? = nil, thumb: String? = nil, title1: String? = nil, type: [Operations.GetLibraryDetailsType]? = nil, viewGroup: String? = nil, viewMode: Int? = nil) { public init(allowSync: Bool? = nil, art: String? = nil, content: String? = nil, directory: [Operations.GetLibraryDetailsDirectory]? = nil, fieldType: [Operations.GetLibraryDetailsFieldType]? = nil, identifier: String? = nil, librarySectionID: Int? = nil, mediaTagPrefix: String? = nil, mediaTagVersion: Int? = nil, size: Int? = nil, thumb: String? = nil, title1: String? = nil, type: [Operations.GetLibraryDetailsType]? = nil, viewGroup: String? = nil, viewMode: Int? = nil) {
self.allowSync = allowSync self.allowSync = allowSync
self.art = art self.art = art
self.content = content self.content = content

View File

@@ -0,0 +1,26 @@
// Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
import Foundation
extension Operations {
/// A model object
public struct GetLibraryDetailsOperator {
public let key: String?
public let title: String?
/// Creates an object with the specified parameters
///
///
public init(key: String? = nil, title: String? = nil) {
self.key = key
self.title = title
}
}}
extension Operations.GetLibraryDetailsOperator: Codable {
enum CodingKeys: String, CodingKey {
case key
case title
}
}

View File

@@ -0,0 +1,38 @@
// Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
import Foundation
extension Operations {
/// A model object
public struct GetLibraryDetailsSort {
public let `default`: String?
public let defaultDirection: String?
public let descKey: String?
public let firstCharacterKey: String?
public let key: String?
public let title: String?
/// Creates an object with the specified parameters
///
///
public init(`default`: String? = nil, defaultDirection: String? = nil, descKey: String? = nil, firstCharacterKey: String? = nil, key: String? = nil, title: String? = nil) {
self.`default` = `default`
self.defaultDirection = defaultDirection
self.descKey = descKey
self.firstCharacterKey = firstCharacterKey
self.key = key
self.title = title
}
}}
extension Operations.GetLibraryDetailsSort: Codable {
enum CodingKeys: String, CodingKey {
case `default` = "default"
case defaultDirection
case descKey
case firstCharacterKey
case key
case title
}
}

View File

@@ -6,17 +6,17 @@ extension Operations {
/// A model object /// A model object
public struct GetLibraryDetailsType { public struct GetLibraryDetailsType {
public let active: Bool? public let active: Bool?
public let field: [Operations.Field]? public let field: [Operations.GetLibraryDetailsField]?
public let filter: [Operations.GetLibraryDetailsFilter]? public let filter: [Operations.GetLibraryDetailsFilter]?
public let key: String? public let key: String?
public let sort: [Operations.Sort]? public let sort: [Operations.GetLibraryDetailsSort]?
public let title: String? public let title: String?
public let type: String? public let type: String?
/// Creates an object with the specified parameters /// Creates an object with the specified parameters
/// ///
/// ///
public init(active: Bool? = nil, field: [Operations.Field]? = nil, filter: [Operations.GetLibraryDetailsFilter]? = nil, key: String? = nil, sort: [Operations.Sort]? = nil, title: String? = nil, type: String? = nil) { public init(active: Bool? = nil, field: [Operations.GetLibraryDetailsField]? = nil, filter: [Operations.GetLibraryDetailsFilter]? = nil, key: String? = nil, sort: [Operations.GetLibraryDetailsSort]? = nil, title: String? = nil, type: String? = nil) {
self.active = active self.active = active
self.field = field self.field = field
self.filter = filter self.filter = filter

View 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 GetLibraryItemsActiveDirection: String, Codable, APIValue {
case ascending = "asc"
case descending = "desc"
}}

View File

@@ -0,0 +1,23 @@
// Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
import Foundation
extension Operations {
/// A model object
public struct GetLibraryItemsCollection {
public let tag: String?
/// Creates an object with the specified parameters
///
///
public init(tag: String? = nil) {
self.tag = tag
}
}}
extension Operations.GetLibraryItemsCollection: Codable {
enum CodingKeys: String, CodingKey {
case tag
}
}

View 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 GetLibraryItemsDefaultDirection: String, Codable, APIValue {
case ascending = "asc"
case descending = "desc"
}}

View File

@@ -0,0 +1,9 @@
// Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
import Foundation
extension Operations {
public enum GetLibraryItemsFlattenSeasons: String, Codable, APIValue {
case `false` = "0"
case `true` = "1"
}}

View File

@@ -0,0 +1,9 @@
// Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
import Foundation
extension Operations {
public enum GetLibraryItemsHasThumbnail: String, Codable, APIValue {
case `false` = "0"
case `true` = "1"
}}

View File

@@ -6,13 +6,13 @@ extension Operations {
/// A model object /// A model object
public struct GetLibraryItemsImage { public struct GetLibraryItemsImage {
public let alt: String public let alt: String
public let type: Operations.GetLibraryItemsLibraryResponseType public let type: Operations.GetLibraryItemsLibraryResponse200Type
public let url: String public let url: String
/// Creates an object with the specified parameters /// Creates an object with the specified parameters
/// ///
/// ///
public init(alt: String, type: Operations.GetLibraryItemsLibraryResponseType, url: String) { public init(alt: String, type: Operations.GetLibraryItemsLibraryResponse200Type, url: String) {
self.alt = alt self.alt = alt
self.type = type self.type = type
self.url = url self.url = url

View 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 GetLibraryItemsLibraryActiveDirection: String, Codable, APIValue {
case ascending = "asc"
case descending = "desc"
}}

View 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 GetLibraryItemsLibraryDefaultDirection: String, Codable, APIValue {
case ascending = "asc"
case descending = "desc"
}}

View File

@@ -0,0 +1,32 @@
// Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
import Foundation
extension Operations {
/// A model object
public struct GetLibraryItemsLibraryField {
public let key: String
public let title: String
public let type: String
public let subType: String?
/// Creates an object with the specified parameters
///
///
public init(key: String, title: String, type: String, subType: String? = nil) {
self.key = key
self.title = title
self.type = type
self.subType = subType
}
}}
extension Operations.GetLibraryItemsLibraryField: Codable {
enum CodingKeys: String, CodingKey {
case key
case title
case type
case subType
}
}

View File

@@ -0,0 +1,26 @@
// Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
import Foundation
extension Operations {
/// A model object
public struct GetLibraryItemsLibraryFieldType {
public let `operator`: [Operations.GetLibraryItemsLibraryOperator]
public let type: String
/// Creates an object with the specified parameters
///
///
public init(`operator`: [Operations.GetLibraryItemsLibraryOperator], type: String) {
self.`operator` = `operator`
self.type = type
}
}}
extension Operations.GetLibraryItemsLibraryFieldType: Codable {
enum CodingKeys: String, CodingKey {
case `operator` = "Operator"
case type
}
}

View File

@@ -0,0 +1,35 @@
// Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
import Foundation
extension Operations {
/// A model object
public struct GetLibraryItemsLibraryFilter {
public let filter: String
public let filterType: String
public let key: String
public let title: String
public let type: String
/// Creates an object with the specified parameters
///
///
public init(filter: String, filterType: String, key: String, title: String, type: String) {
self.filter = filter
self.filterType = filterType
self.key = key
self.title = title
self.type = type
}
}}
extension Operations.GetLibraryItemsLibraryFilter: Codable {
enum CodingKeys: String, CodingKey {
case filter
case filterType
case key
case title
case type
}
}

View File

@@ -0,0 +1,26 @@
// Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
import Foundation
extension Operations {
/// A model object
public struct GetLibraryItemsLibraryOperator {
public let key: String
public let title: String
/// Creates an object with the specified parameters
///
///
public init(key: String, title: String) {
self.key = key
self.title = title
}
}}
extension Operations.GetLibraryItemsLibraryOperator: Codable {
enum CodingKeys: String, CodingKey {
case key
case title
}
}

View File

@@ -0,0 +1,11 @@
// Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
import Foundation
extension Operations {
public enum GetLibraryItemsLibraryResponse200Type: String, Codable, APIValue {
case coverPoster = "coverPoster"
case background = "background"
case snapshot = "snapshot"
case clearLogo = "clearLogo"
}}

View File

@@ -3,9 +3,39 @@
import Foundation import Foundation
extension Operations { extension Operations {
public enum GetLibraryItemsLibraryResponseType: String, Codable, APIValue { /// A model object
case coverPoster = "coverPoster" public struct GetLibraryItemsLibraryResponseType {
case background = "background" public let active: Bool
case snapshot = "snapshot" public let key: String
case clearLogo = "clearLogo" public let title: String
public let type: String
public let field: [Operations.GetLibraryItemsLibraryField]?
public let filter: [Operations.GetLibraryItemsLibraryFilter]?
public let sort: [Operations.GetLibraryItemsLibrarySort]?
/// Creates an object with the specified parameters
///
///
public init(active: Bool, key: String, title: String, type: String, field: [Operations.GetLibraryItemsLibraryField]? = nil, filter: [Operations.GetLibraryItemsLibraryFilter]? = nil, sort: [Operations.GetLibraryItemsLibrarySort]? = nil) {
self.active = active
self.key = key
self.title = title
self.type = type
self.field = field
self.filter = filter
self.sort = sort
}
}} }}
extension Operations.GetLibraryItemsLibraryResponseType: Codable {
enum CodingKeys: String, CodingKey {
case active
case key
case title
case type
case field = "Field"
case filter = "Filter"
case sort = "Sort"
}
}

View File

@@ -0,0 +1,52 @@
// Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
import Foundation
extension Operations {
/// A model object
public struct GetLibraryItemsLibrarySort {
/// The direction of the sort. Can be either `asc` or `desc`.
///
public let defaultDirection: Operations.GetLibraryItemsLibraryDefaultDirection
public let key: String
public let title: String
public let active: Bool?
/// The direction of the sort. Can be either `asc` or `desc`.
///
public let activeDirection: Operations.GetLibraryItemsLibraryActiveDirection?
public let `default`: String?
public let descKey: String?
public let firstCharacterKey: String?
/// Creates an object with the specified parameters
///
/// - Parameter defaultDirection: The direction of the sort. Can be either `asc` or `desc`.
///
/// - Parameter activeDirection: The direction of the sort. Can be either `asc` or `desc`.
///
///
public init(defaultDirection: Operations.GetLibraryItemsLibraryDefaultDirection, key: String, title: String, active: Bool? = nil, activeDirection: Operations.GetLibraryItemsLibraryActiveDirection? = nil, `default`: String? = nil, descKey: String? = nil, firstCharacterKey: String? = nil) {
self.defaultDirection = defaultDirection
self.key = key
self.title = title
self.active = active
self.activeDirection = activeDirection
self.`default` = `default`
self.descKey = descKey
self.firstCharacterKey = firstCharacterKey
}
}}
extension Operations.GetLibraryItemsLibrarySort: Codable {
enum CodingKeys: String, CodingKey {
case defaultDirection
case key
case title
case active
case activeDirection
case `default` = "default"
case descKey
case firstCharacterKey
}
}

View File

@@ -3,39 +3,11 @@
import Foundation import Foundation
extension Operations { extension Operations {
/// A model object /// The type of media content
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 enum GetLibraryItemsLibraryType: String, Codable, APIValue {
public init(active: Bool, key: String, title: String, type: String, field: [Operations.GetLibraryItemsField]? = nil, filter: [Operations.GetLibraryItemsFilter]? = nil, sort: [Operations.GetLibraryItemsSort]? = nil) { case movie = "movie"
self.active = active case tvShow = "show"
self.key = key case season = "season"
self.title = title case episode = "episode"
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"
}
}

View File

@@ -21,12 +21,14 @@ extension Operations {
public let videoResolution: String public let videoResolution: String
public let width: Int public let width: Int
public let audioProfile: String? public let audioProfile: String?
public let has64bitOffsets: Bool?
public let hasVoiceActivity: Bool? public let hasVoiceActivity: Bool?
public let optimizedForStreaming: Operations.GetLibraryItemsOptimizedForStreaming?
/// Creates an object with the specified parameters /// Creates an object with the specified parameters
/// ///
/// ///
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) { 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, has64bitOffsets: Bool? = nil, hasVoiceActivity: Bool? = nil, optimizedForStreaming: Operations.GetLibraryItemsOptimizedForStreaming? = 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
@@ -42,7 +44,9 @@ extension Operations {
self.videoResolution = videoResolution self.videoResolution = videoResolution
self.width = width self.width = width
self.audioProfile = audioProfile self.audioProfile = audioProfile
self.has64bitOffsets = has64bitOffsets
self.hasVoiceActivity = hasVoiceActivity self.hasVoiceActivity = hasVoiceActivity
self.optimizedForStreaming = optimizedForStreaming
} }
}} }}
@@ -63,7 +67,9 @@ extension Operations.GetLibraryItemsMedia: Codable {
case videoResolution case videoResolution
case width case width
case audioProfile case audioProfile
case has64bitOffsets
case hasVoiceActivity case hasVoiceActivity
case optimizedForStreaming
} }
public init(from decoder: Decoder) throws { public init(from decoder: Decoder) throws {
@@ -83,7 +89,9 @@ extension Operations.GetLibraryItemsMedia: Codable {
self.videoResolution = try container.decode(String.self, forKey: .videoResolution) self.videoResolution = try container.decode(String.self, forKey: .videoResolution)
self.width = try container.decode(Int.self, forKey: .width) self.width = try container.decode(Int.self, forKey: .width)
self.audioProfile = try container.decodeIfPresent(String.self, forKey: .audioProfile) self.audioProfile = try container.decodeIfPresent(String.self, forKey: .audioProfile)
self.has64bitOffsets = try container.decodeIfPresent(Bool.self, forKey: .has64bitOffsets)
self.hasVoiceActivity = try container.decodeIfPresent(Bool.self, forKey: .hasVoiceActivity) self.hasVoiceActivity = try container.decodeIfPresent(Bool.self, forKey: .hasVoiceActivity)
self.optimizedForStreaming = try container.decodeIfPresent(Operations.GetLibraryItemsOptimizedForStreaming.self, forKey: .optimizedForStreaming)
} }
public func encode(to encoder: Encoder) throws { public func encode(to encoder: Encoder) throws {
@@ -103,7 +111,9 @@ extension Operations.GetLibraryItemsMedia: Codable {
try container.encode(self.videoResolution, forKey: .videoResolution) try container.encode(self.videoResolution, forKey: .videoResolution)
try container.encode(self.width, forKey: .width) try container.encode(self.width, forKey: .width)
try container.encodeIfPresent(self.audioProfile, forKey: .audioProfile) try container.encodeIfPresent(self.audioProfile, forKey: .audioProfile)
try container.encodeIfPresent(self.has64bitOffsets, forKey: .has64bitOffsets)
try container.encodeIfPresent(self.hasVoiceActivity, forKey: .hasVoiceActivity) try container.encodeIfPresent(self.hasVoiceActivity, forKey: .hasVoiceActivity)
try container.encodeIfPresent(self.optimizedForStreaming, forKey: .optimizedForStreaming)
} }
} }

View File

@@ -3,13 +3,14 @@
import Foundation import Foundation
extension Operations { extension Operations {
/// A model object /// The Meta object is only included in the response if the `includeMeta` parameter is set to `1`.
///
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 content: String
public let identifier: String public let identifier: String
public let librarySectionID: Operations.LibrarySectionID public let librarySectionID: Int
public let librarySectionTitle: String public let librarySectionTitle: String
public let librarySectionUUID: String public let librarySectionUUID: String
public let mediaTagPrefix: String public let mediaTagPrefix: String
@@ -22,11 +23,13 @@ extension Operations {
public let title2: String public let title2: String
public let totalSize: Int public let totalSize: Int
public let viewGroup: String public let viewGroup: String
public let fieldType: [Operations.GetLibraryItemsFieldType]?
/// 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.GetLibraryItemsMeta?
public let mixedParents: Bool? public let mixedParents: Bool?
public let nocache: Bool? public let nocache: Bool?
public let type: [Operations.GetLibraryItemsType]?
public let viewMode: Int? public let viewMode: Int?
/// Creates an object with the specified parameters /// Creates an object with the specified parameters
@@ -34,7 +37,7 @@ 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, 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) { public init(allowSync: Bool, art: String, content: String, identifier: String, librarySectionID: Int, 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, fieldType: [Operations.GetLibraryItemsFieldType]? = nil, meta: Operations.GetLibraryItemsMeta? = nil, mixedParents: Bool? = nil, nocache: Bool? = nil, type: [Operations.GetLibraryItemsType]? = nil, viewMode: Int? = nil) {
self.allowSync = allowSync self.allowSync = allowSync
self.art = art self.art = art
self.content = content self.content = content
@@ -52,9 +55,11 @@ extension Operations {
self.title2 = title2 self.title2 = title2
self.totalSize = totalSize self.totalSize = totalSize
self.viewGroup = viewGroup self.viewGroup = viewGroup
self.fieldType = fieldType
self.meta = meta self.meta = meta
self.mixedParents = mixedParents self.mixedParents = mixedParents
self.nocache = nocache self.nocache = nocache
self.type = type
self.viewMode = viewMode self.viewMode = viewMode
} }
}} }}
@@ -78,9 +83,11 @@ extension Operations.GetLibraryItemsMediaContainer: Codable {
case title2 case title2
case totalSize case totalSize
case viewGroup case viewGroup
case fieldType = "FieldType"
case meta = "Meta" case meta = "Meta"
case mixedParents case mixedParents
case nocache case nocache
case type = "Type"
case viewMode case viewMode
} }
} }

View File

@@ -0,0 +1,29 @@
// Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
import Foundation
extension Operations {
/// A model object
public struct GetLibraryItemsMediaGuid {
/// Can be one of the following formats:
/// imdb://tt13015952, tmdb://2434012, tvdb://7945991
///
public let id: String
/// Creates an object with the specified parameters
///
/// - Parameter id: Can be one of the following formats:
/// imdb://tt13015952, tmdb://2434012, tvdb://7945991
///
///
public init(id: String) {
self.id = id
}
}}
extension Operations.GetLibraryItemsMediaGuid: Codable {
enum CodingKeys: String, CodingKey {
case id
}
}

View File

@@ -0,0 +1,27 @@
// Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
import Foundation
extension Operations {
/// The Meta object is only included in the response if the `includeMeta` parameter is set to `1`.
///
public struct GetLibraryItemsMeta {
public let fieldType: [Operations.GetLibraryItemsLibraryFieldType]?
public let type: [Operations.GetLibraryItemsLibraryResponseType]?
/// Creates an object with the specified parameters
///
///
public init(fieldType: [Operations.GetLibraryItemsLibraryFieldType]? = nil, type: [Operations.GetLibraryItemsLibraryResponseType]? = nil) {
self.fieldType = fieldType
self.type = type
}
}}
extension Operations.GetLibraryItemsMeta: Codable {
enum CodingKeys: String, CodingKey {
case fieldType = "FieldType"
case type = "Type"
}
}

View File

@@ -0,0 +1,55 @@
// Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
import Foundation
extension Operations {
/// A model object
public struct GetLibraryItemsMetaDataRating {
/// A URI or path to the rating image.
public let image: String
/// The type of rating (e.g., audience, critic).
public let type: String
/// The value of the rating.
@DecimalSerialized
public private(set) var value: Double
/// Creates an object with the specified parameters
///
/// - Parameter image: A URI or path to the rating image.
/// - Parameter type: The type of rating (e.g., audience, critic).
/// - Parameter value: The value of the rating.
///
public init(image: String, type: String, value: Double) {
self.image = image
self.type = type
self._value = DecimalSerialized<Double>(wrappedValue: value)
}
}}
extension Operations.GetLibraryItemsMetaDataRating: Codable {
enum CodingKeys: String, CodingKey {
case image
case type
case value
}
public init(from decoder: Decoder) throws {
let container = try decoder.container(keyedBy: CodingKeys.self)
self.image = try container.decode(String.self, forKey: .image)
self.type = try container.decode(String.self, forKey: .type)
self._value = try container.decode(DecimalSerialized<Double>.self, forKey: .value)
}
public func encode(to encoder: Encoder) throws {
var container = encoder.container(keyedBy: CodingKeys.self)
try container.encode(self.image, forKey: .image)
try container.encode(self.type, forKey: .type)
try container.encode(self._value, forKey: .value)
}
}
extension Operations.GetLibraryItemsMetaDataRating {
var valueWrapper: DecimalSerialized<Double> {
return _value
}
}

View File

@@ -17,7 +17,7 @@ extension Operations {
public let title: String public let title: String
/// The type of media content /// The type of media content
/// ///
public let type: Operations.GetLibraryItemsType public let type: Operations.GetLibraryItemsLibraryType
public let art: String? public let art: String?
@DecimalSerialized @DecimalSerialized
public private(set) var audienceRating: Double? public private(set) var audienceRating: Double?
@@ -25,12 +25,12 @@ extension Operations {
public let banner: 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 collection: [Operations.GetLibraryItemsCollection]?
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 duration: Int?
public let flattenSeasons: Operations.FlattenSeasons? public let flattenSeasons: Operations.GetLibraryItemsFlattenSeasons?
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?
@@ -46,12 +46,16 @@ extension Operations {
public let index: Int? public let index: Int?
public let lastViewedAt: Int? public let lastViewedAt: Int?
public let leafCount: Int? public let leafCount: Int?
public let librarySectionID: Int?
public let librarySectionKey: String?
public let librarySectionTitle: String?
/// The Media object is only included when type query is `4` or higher. /// The Media object is only included when type query is `4` or higher.
/// ///
public let media: [Operations.GetLibraryItemsMedia]? 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.GetLibraryItemsMediaGuid]?
public let metaDataRating: [Operations.GetLibraryItemsMetaDataRating]?
@DateOnly @DateOnly
public private(set) var originallyAvailableAt: Date? public private(set) var originallyAvailableAt: Date?
public let originalTitle: String? public let originalTitle: String?
@@ -61,6 +65,7 @@ extension Operations {
/// The rating key of the parent item. /// The rating key of the parent item.
/// ///
public let parentRatingKey: String? public let parentRatingKey: String?
public let parentSlug: String?
public let parentStudio: String? public let parentStudio: String?
public let parentTheme: String? public let parentTheme: String?
public let parentThumb: String? public let parentThumb: String?
@@ -79,7 +84,7 @@ extension Operations {
/// dvd = TheTVDB (DVD), /// dvd = TheTVDB (DVD),
/// absolute = TheTVDB (Absolute)). /// absolute = TheTVDB (Absolute)).
/// ///
public let showOrdering: Operations.ShowOrdering? public let showOrdering: Operations.GetLibraryItemsShowOrdering?
public let skipChildren: Bool? public let skipChildren: Bool?
public let skipCount: Int? public let skipCount: Int?
public let slug: String? public let slug: String?
@@ -88,7 +93,7 @@ extension Operations {
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? public let ultraBlurColors: Operations.GetLibraryItemsUltraBlurColors?
/// Unix epoch datetime in seconds /// Unix epoch datetime in seconds
public let updatedAt: Int? public let updatedAt: Int?
public let viewCount: Int? public let viewCount: Int?
@@ -120,7 +125,7 @@ extension Operations {
/// ///
/// - Parameter updatedAt: Unix epoch datetime in seconds /// - 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) { public init(addedAt: Int, guid: String, key: String, ratingKey: String, summary: String, title: String, type: Operations.GetLibraryItemsLibraryType, art: String? = nil, audienceRating: Double? = nil, audienceRatingImage: String? = nil, banner: String? = nil, chapterSource: String? = nil, childCount: Int? = nil, collection: [Operations.GetLibraryItemsCollection]? = nil, contentRating: String? = nil, country: [Operations.GetLibraryItemsCountry]? = nil, director: [Operations.GetLibraryItemsDirector]? = nil, duration: Int? = nil, flattenSeasons: Operations.GetLibraryItemsFlattenSeasons? = 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, librarySectionID: Int? = nil, librarySectionKey: String? = nil, librarySectionTitle: String? = nil, media: [Operations.GetLibraryItemsMedia]? = nil, mediaGuid: [Operations.GetLibraryItemsMediaGuid]? = nil, metaDataRating: [Operations.GetLibraryItemsMetaDataRating]? = nil, originallyAvailableAt: Date? = nil, originalTitle: String? = nil, parentGuid: String? = nil, parentIndex: Int? = nil, parentKey: String? = nil, parentRatingKey: String? = nil, parentSlug: 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.GetLibraryItemsShowOrdering? = 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.GetLibraryItemsUltraBlurColors? = nil, updatedAt: Int? = nil, viewCount: Int? = nil, viewedLeafCount: Int? = nil, viewOffset: Int? = nil, writer: [Operations.GetLibraryItemsWriter]? = nil, year: Int? = nil) {
self.addedAt = addedAt self.addedAt = addedAt
self.guid = guid self.guid = guid
self.key = key self.key = key
@@ -155,14 +160,19 @@ extension Operations {
self.index = index self.index = index
self.lastViewedAt = lastViewedAt self.lastViewedAt = lastViewedAt
self.leafCount = leafCount self.leafCount = leafCount
self.librarySectionID = librarySectionID
self.librarySectionKey = librarySectionKey
self.librarySectionTitle = librarySectionTitle
self.media = media self.media = media
self.mediaGuid = mediaGuid self.mediaGuid = mediaGuid
self.metaDataRating = metaDataRating
self._originallyAvailableAt = DateOnly<Date?>(wrappedValue: originallyAvailableAt) self._originallyAvailableAt = DateOnly<Date?>(wrappedValue: originallyAvailableAt)
self.originalTitle = originalTitle self.originalTitle = originalTitle
self.parentGuid = parentGuid self.parentGuid = parentGuid
self.parentIndex = parentIndex self.parentIndex = parentIndex
self.parentKey = parentKey self.parentKey = parentKey
self.parentRatingKey = parentRatingKey self.parentRatingKey = parentRatingKey
self.parentSlug = parentSlug
self.parentStudio = parentStudio self.parentStudio = parentStudio
self.parentTheme = parentTheme self.parentTheme = parentTheme
self.parentThumb = parentThumb self.parentThumb = parentThumb
@@ -228,14 +238,19 @@ extension Operations.GetLibraryItemsMetadata: Codable {
case index case index
case lastViewedAt case lastViewedAt
case leafCount case leafCount
case librarySectionID
case librarySectionKey
case librarySectionTitle
case media = "Media" case media = "Media"
case mediaGuid = "Guid" case mediaGuid = "Guid"
case metaDataRating = "Rating"
case originallyAvailableAt case originallyAvailableAt
case originalTitle case originalTitle
case parentGuid case parentGuid
case parentIndex case parentIndex
case parentKey case parentKey
case parentRatingKey case parentRatingKey
case parentSlug
case parentStudio case parentStudio
case parentTheme case parentTheme
case parentThumb case parentThumb
@@ -272,19 +287,19 @@ extension Operations.GetLibraryItemsMetadata: Codable {
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.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(Operations.GetLibraryItemsType.self, forKey: .type) self.type = try container.decode(Operations.GetLibraryItemsLibraryType.self, forKey: .type)
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.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.collection = try container.decodeIfPresent([Operations.GetLibraryItemsCollection].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.duration = try container.decodeIfPresent(Int.self, forKey: .duration)
self.flattenSeasons = try container.decodeIfPresent(Operations.FlattenSeasons.self, forKey: .flattenSeasons) self.flattenSeasons = try container.decodeIfPresent(Operations.GetLibraryItemsFlattenSeasons.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)
@@ -300,14 +315,19 @@ extension Operations.GetLibraryItemsMetadata: Codable {
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.librarySectionID = try container.decodeIfPresent(Int.self, forKey: .librarySectionID)
self.librarySectionKey = try container.decodeIfPresent(String.self, forKey: .librarySectionKey)
self.librarySectionTitle = try container.decodeIfPresent(String.self, forKey: .librarySectionTitle)
self.media = try container.decodeIfPresent([Operations.GetLibraryItemsMedia].self, forKey: .media) 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.GetLibraryItemsMediaGuid].self, forKey: .mediaGuid)
self.metaDataRating = try container.decodeIfPresent([Operations.GetLibraryItemsMetaDataRating].self, forKey: .metaDataRating)
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)
self.parentGuid = try container.decodeIfPresent(String.self, forKey: .parentGuid) self.parentGuid = try container.decodeIfPresent(String.self, forKey: .parentGuid)
self.parentIndex = try container.decodeIfPresent(Int.self, forKey: .parentIndex) self.parentIndex = try container.decodeIfPresent(Int.self, forKey: .parentIndex)
self.parentKey = try container.decodeIfPresent(String.self, forKey: .parentKey) self.parentKey = try container.decodeIfPresent(String.self, forKey: .parentKey)
self.parentRatingKey = try container.decodeIfPresent(String.self, forKey: .parentRatingKey) self.parentRatingKey = try container.decodeIfPresent(String.self, forKey: .parentRatingKey)
self.parentSlug = try container.decodeIfPresent(String.self, forKey: .parentSlug)
self.parentStudio = try container.decodeIfPresent(String.self, forKey: .parentStudio) self.parentStudio = try container.decodeIfPresent(String.self, forKey: .parentStudio)
self.parentTheme = try container.decodeIfPresent(String.self, forKey: .parentTheme) self.parentTheme = try container.decodeIfPresent(String.self, forKey: .parentTheme)
self.parentThumb = try container.decodeIfPresent(String.self, forKey: .parentThumb) self.parentThumb = try container.decodeIfPresent(String.self, forKey: .parentThumb)
@@ -318,7 +338,7 @@ extension Operations.GetLibraryItemsMetadata: Codable {
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.seasonCount = try container.decodeIfPresent(Int.self, forKey: .seasonCount)
self.showOrdering = try container.decodeIfPresent(Operations.ShowOrdering.self, forKey: .showOrdering) self.showOrdering = try container.decodeIfPresent(Operations.GetLibraryItemsShowOrdering.self, forKey: .showOrdering)
self.skipChildren = try container.decodeIfPresent(Bool.self, forKey: .skipChildren) 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.slug = try container.decodeIfPresent(String.self, forKey: .slug)
@@ -327,7 +347,7 @@ extension Operations.GetLibraryItemsMetadata: Codable {
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.ultraBlurColors = try container.decodeIfPresent(Operations.GetLibraryItemsUltraBlurColors.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)
@@ -374,8 +394,12 @@ extension Operations.GetLibraryItemsMetadata: Codable {
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.librarySectionID, forKey: .librarySectionID)
try container.encodeIfPresent(self.librarySectionKey, forKey: .librarySectionKey)
try container.encodeIfPresent(self.librarySectionTitle, forKey: .librarySectionTitle)
try container.encodeIfPresent(self.media, forKey: .media) try container.encodeIfPresent(self.media, forKey: .media)
try container.encodeIfPresent(self.mediaGuid, forKey: .mediaGuid) try container.encodeIfPresent(self.mediaGuid, forKey: .mediaGuid)
try container.encodeIfPresent(self.metaDataRating, forKey: .metaDataRating)
if self.originallyAvailableAt != nil { if self.originallyAvailableAt != nil {
try container.encode(self._originallyAvailableAt, forKey: .originallyAvailableAt) try container.encode(self._originallyAvailableAt, forKey: .originallyAvailableAt)
} }
@@ -384,6 +408,7 @@ extension Operations.GetLibraryItemsMetadata: Codable {
try container.encodeIfPresent(self.parentIndex, forKey: .parentIndex) try container.encodeIfPresent(self.parentIndex, forKey: .parentIndex)
try container.encodeIfPresent(self.parentKey, forKey: .parentKey) try container.encodeIfPresent(self.parentKey, forKey: .parentKey)
try container.encodeIfPresent(self.parentRatingKey, forKey: .parentRatingKey) try container.encodeIfPresent(self.parentRatingKey, forKey: .parentRatingKey)
try container.encodeIfPresent(self.parentSlug, forKey: .parentSlug)
try container.encodeIfPresent(self.parentStudio, forKey: .parentStudio) try container.encodeIfPresent(self.parentStudio, forKey: .parentStudio)
try container.encodeIfPresent(self.parentTheme, forKey: .parentTheme) try container.encodeIfPresent(self.parentTheme, forKey: .parentTheme)
try container.encodeIfPresent(self.parentThumb, forKey: .parentThumb) try container.encodeIfPresent(self.parentThumb, forKey: .parentThumb)

View File

@@ -0,0 +1,9 @@
// Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
import Foundation
extension Operations {
public enum GetLibraryItemsOptimizedForStreaming: Int, Codable, APIValue {
case disable = 0
case enable = 1
}}

View File

@@ -15,15 +15,18 @@ extension Operations {
public let size: Int public let size: Int
public let videoProfile: String public let videoProfile: String
public let audioProfile: String? public let audioProfile: String?
public let hasThumbnail: Operations.HasThumbnail? public let has64bitOffsets: Bool?
public let hasThumbnail: Operations.GetLibraryItemsHasThumbnail?
public let indexes: String? public let indexes: String?
public let optimizedForStreaming: Bool?
public let stream: [Operations.GetLibraryItemsStream]?
/// Creates an object with the specified parameters /// Creates an object with the specified parameters
/// ///
/// - Parameter container: The container format of the media file. /// - Parameter container: The container format of the media file.
/// ///
/// ///
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) { public init(container: String, duration: Int, file: String, id: Int, key: String, size: Int, videoProfile: String, audioProfile: String? = nil, has64bitOffsets: Bool? = nil, hasThumbnail: Operations.GetLibraryItemsHasThumbnail? = nil, indexes: String? = nil, optimizedForStreaming: Bool? = nil, stream: [Operations.GetLibraryItemsStream]? = nil) {
self.container = container self.container = container
self.duration = duration self.duration = duration
self.file = file self.file = file
@@ -32,8 +35,11 @@ extension Operations {
self.size = size self.size = size
self.videoProfile = videoProfile self.videoProfile = videoProfile
self.audioProfile = audioProfile self.audioProfile = audioProfile
self.has64bitOffsets = has64bitOffsets
self.hasThumbnail = hasThumbnail self.hasThumbnail = hasThumbnail
self.indexes = indexes self.indexes = indexes
self.optimizedForStreaming = optimizedForStreaming
self.stream = stream
} }
}} }}
@@ -47,8 +53,11 @@ extension Operations.GetLibraryItemsPart: Codable {
case size case size
case videoProfile case videoProfile
case audioProfile case audioProfile
case has64bitOffsets
case hasThumbnail case hasThumbnail
case indexes case indexes
case optimizedForStreaming
case stream = "Stream"
} }
} }

View File

@@ -0,0 +1,11 @@
// Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
import Foundation
extension Operations {
/// Adds the Meta object to the response
///
public enum GetLibraryItemsQueryParamIncludeMeta: Int, Codable, APIValue {
case disable = 0
case enable = 1
}}

View File

@@ -0,0 +1,18 @@
// Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
import Foundation
extension Operations {
/// The type of media to retrieve.
/// 1 = movie
/// 2 = show
/// 3 = season
/// 4 = episode
/// E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries
///
public enum GetLibraryItemsQueryParamType: Int, Codable, APIValue {
case movie = 1
case tvShow = 2
case season = 3
case episode = 4
}}

View File

@@ -16,7 +16,7 @@ extension Operations {
public let includeGuids: Operations.IncludeGuids? public let includeGuids: Operations.IncludeGuids?
/// Adds the Meta object to the response /// Adds the Meta object to the response
/// ///
public let includeMeta: Operations.IncludeMeta? public let includeMeta: Operations.GetLibraryItemsQueryParamIncludeMeta?
/// The type of media to retrieve. /// The type of media to retrieve.
/// 1 = movie /// 1 = movie
/// 2 = show /// 2 = show
@@ -24,7 +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.GetLibraryItemsQueryParamType?
/// 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
@@ -62,7 +62,7 @@ extension Operations {
/// By default this is 0 /// By default this is 0
/// ///
/// ///
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) { public init(sectionKey: Int, tag: Operations.Tag, includeGuids: Operations.IncludeGuids? = nil, includeMeta: Operations.GetLibraryItemsQueryParamIncludeMeta? = nil, type: Operations.GetLibraryItemsQueryParamType? = nil, xPlexContainerSize: Int? = nil, xPlexContainerStart: Int? = nil) {
self.sectionKey = sectionKey self.sectionKey = sectionKey
self.tag = tag self.tag = tag
self.includeGuids = includeGuids self.includeGuids = includeGuids

View File

@@ -5,19 +5,46 @@ import Foundation
extension Operations { extension Operations {
/// A model object /// A model object
public struct GetLibraryItemsRole { public struct GetLibraryItemsRole {
/// The filter used to find the actor or tag.
public let filter: String?
/// The ID of the tag or actor.
public let id: Int?
/// The role of the actor or tag in the media.
public let role: String?
/// The name of the tag or actor.
public let tag: String? public let tag: String?
/// Unique identifier for the tag.
public let tagKey: String?
/// The thumbnail of the actor
public let thumb: String?
/// Creates an object with the specified parameters /// Creates an object with the specified parameters
/// ///
/// - Parameter filter: The filter used to find the actor or tag.
/// - Parameter id: The ID of the tag or actor.
/// - Parameter role: The role of the actor or tag in the media.
/// - Parameter tag: The name of the tag or actor.
/// - Parameter tagKey: Unique identifier for the tag.
/// - Parameter thumb: The thumbnail of the actor
/// ///
public init(tag: String? = nil) { public init(filter: String? = nil, id: Int? = nil, role: String? = nil, tag: String? = nil, tagKey: String? = nil, thumb: String? = nil) {
self.filter = filter
self.id = id
self.role = role
self.tag = tag self.tag = tag
self.tagKey = tagKey
self.thumb = thumb
} }
}} }}
extension Operations.GetLibraryItemsRole: Codable { extension Operations.GetLibraryItemsRole: Codable {
enum CodingKeys: String, CodingKey { enum CodingKeys: String, CodingKey {
case filter
case id
case role
case tag case tag
case tagKey
case thumb
} }
} }

View 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 GetLibraryItemsShowOrdering: String, Codable, APIValue {
case `none` = "None"
case tmdbAiring = "tmdbAiring"
case aired = "aired"
case dvd = "dvd"
case absolute = "absolute"
}}

View File

@@ -7,13 +7,13 @@ extension Operations {
public struct GetLibraryItemsSort { public struct GetLibraryItemsSort {
/// The direction of the sort. Can be either `asc` or `desc`. /// The direction of the sort. Can be either `asc` or `desc`.
/// ///
public let defaultDirection: Operations.DefaultDirection public let defaultDirection: Operations.GetLibraryItemsDefaultDirection
public let key: String public let key: String
public let title: String public let title: String
public let active: Bool? public let active: Bool?
/// The direction of the sort. Can be either `asc` or `desc`. /// The direction of the sort. Can be either `asc` or `desc`.
/// ///
public let activeDirection: Operations.ActiveDirection? public let activeDirection: Operations.GetLibraryItemsActiveDirection?
public let `default`: String? public let `default`: String?
public let descKey: String? public let descKey: String?
public let firstCharacterKey: String? public let firstCharacterKey: String?
@@ -25,7 +25,7 @@ extension Operations {
/// - Parameter activeDirection: The direction of the sort. Can be either `asc` or `desc`. /// - 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) { public init(defaultDirection: Operations.GetLibraryItemsDefaultDirection, key: String, title: String, active: Bool? = nil, activeDirection: Operations.GetLibraryItemsActiveDirection? = 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

View File

@@ -0,0 +1,294 @@
// Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
import Foundation
extension Operations {
/// A model object
public struct GetLibraryItemsStream {
/// Codec used by the stream
public let codec: String
public let id: Int
/// The index of the stream
public let index: Int
/// Type of stream (1 = video, 2 = audio, 3 = subtitle)
public let streamType: Int
/// The audio channel layout
public let audioChannelLayout: String?
/// The bit depth of the video stream
public let bitDepth: Int?
/// The bitrate of the stream in kbps
public let bitrate: Int?
/// Indicates if the subtitle stream can auto-sync
public let canAutoSync: Bool?
/// Number of audio channels (for audio streams)
public let channels: Int?
/// The chroma location of the video stream
public let chromaLocation: String?
/// The chroma subsampling format
public let chromaSubsampling: String?
public let closedCaptions: Bool?
/// The coded height of the video stream
public let codedHeight: Int?
/// The coded width of the video stream
public let codedWidth: Int?
/// The color primaries of the video stream
public let colorPrimaries: String?
/// The color range of the video stream
public let colorRange: String?
/// The color space of the video stream
public let colorSpace: String?
/// The transfer characteristics (TRC) of the video stream
public let colorTrc: String?
/// Indicates if this is the default stream
public let `default`: Bool?
/// Display title of the stream
public let displayTitle: String?
public let embeddedInVideo: String?
/// Extended display title of the stream
public let extendedDisplayTitle: String?
/// The frame rate of the video stream
@DecimalSerialized
public private(set) var frameRate: Double?
/// Indicates if the stream has a scaling matrix
public let hasScalingMatrix: Bool?
public let hearingImpaired: Bool?
/// The height of the video stream
public let height: Int?
/// The language of the stream (for audio/subtitle streams)
public let language: String?
/// Language code of the stream
public let languageCode: String?
/// Language tag of the stream
public let languageTag: String?
/// The level of the video codec
public let level: Int?
/// The profile of the video codec
public let profile: String?
/// Number of reference frames
public let refFrames: Int?
/// Sampling rate of the audio stream in Hz
public let samplingRate: Int?
/// The scan type (progressive or interlaced)
public let scanType: String?
/// Indicates if the stream is selected
public let selected: Bool?
/// The identifier of the video stream
public let streamIdentifier: String?
/// Title of the subtitle track (for subtitle streams)
public let title: String?
/// The width of the video stream
public let width: Int?
/// Creates an object with the specified parameters
///
/// - Parameter codec: Codec used by the stream
/// - Parameter index: The index of the stream
/// - Parameter streamType: Type of stream (1 = video, 2 = audio, 3 = subtitle)
/// - Parameter audioChannelLayout: The audio channel layout
/// - Parameter bitDepth: The bit depth of the video stream
/// - Parameter bitrate: The bitrate of the stream in kbps
/// - Parameter canAutoSync: Indicates if the subtitle stream can auto-sync
/// - Parameter channels: Number of audio channels (for audio streams)
/// - Parameter chromaLocation: The chroma location of the video stream
/// - Parameter chromaSubsampling: The chroma subsampling format
/// - Parameter codedHeight: The coded height of the video stream
/// - Parameter codedWidth: The coded width of the video stream
/// - Parameter colorPrimaries: The color primaries of the video stream
/// - Parameter colorRange: The color range of the video stream
/// - Parameter colorSpace: The color space of the video stream
/// - Parameter colorTrc: The transfer characteristics (TRC) of the video stream
/// - Parameter `default`: Indicates if this is the default stream
/// - Parameter displayTitle: Display title of the stream
/// - Parameter extendedDisplayTitle: Extended display title of the stream
/// - Parameter frameRate: The frame rate of the video stream
/// - Parameter hasScalingMatrix: Indicates if the stream has a scaling matrix
/// - Parameter height: The height of the video stream
/// - Parameter language: The language of the stream (for audio/subtitle streams)
/// - Parameter languageCode: Language code of the stream
/// - Parameter languageTag: Language tag of the stream
/// - Parameter level: The level of the video codec
/// - Parameter profile: The profile of the video codec
/// - Parameter refFrames: Number of reference frames
/// - Parameter samplingRate: Sampling rate of the audio stream in Hz
/// - Parameter scanType: The scan type (progressive or interlaced)
/// - Parameter selected: Indicates if the stream is selected
/// - Parameter streamIdentifier: The identifier of the video stream
/// - Parameter title: Title of the subtitle track (for subtitle streams)
/// - Parameter width: The width of the video stream
///
public init(codec: String, id: Int, index: Int, streamType: Int, audioChannelLayout: String? = nil, bitDepth: Int? = nil, bitrate: Int? = nil, canAutoSync: Bool? = nil, channels: Int? = nil, chromaLocation: String? = nil, chromaSubsampling: String? = nil, closedCaptions: Bool? = nil, codedHeight: Int? = nil, codedWidth: Int? = nil, colorPrimaries: String? = nil, colorRange: String? = nil, colorSpace: String? = nil, colorTrc: String? = nil, `default`: Bool? = nil, displayTitle: String? = nil, embeddedInVideo: String? = nil, extendedDisplayTitle: String? = nil, frameRate: Double? = nil, hasScalingMatrix: Bool? = nil, hearingImpaired: Bool? = nil, height: Int? = nil, language: String? = nil, languageCode: String? = nil, languageTag: String? = nil, level: Int? = nil, profile: String? = nil, refFrames: Int? = nil, samplingRate: Int? = nil, scanType: String? = nil, selected: Bool? = nil, streamIdentifier: String? = nil, title: String? = nil, width: Int? = nil) {
self.codec = codec
self.id = id
self.index = index
self.streamType = streamType
self.audioChannelLayout = audioChannelLayout
self.bitDepth = bitDepth
self.bitrate = bitrate
self.canAutoSync = canAutoSync
self.channels = channels
self.chromaLocation = chromaLocation
self.chromaSubsampling = chromaSubsampling
self.closedCaptions = closedCaptions
self.codedHeight = codedHeight
self.codedWidth = codedWidth
self.colorPrimaries = colorPrimaries
self.colorRange = colorRange
self.colorSpace = colorSpace
self.colorTrc = colorTrc
self.`default` = `default`
self.displayTitle = displayTitle
self.embeddedInVideo = embeddedInVideo
self.extendedDisplayTitle = extendedDisplayTitle
self._frameRate = DecimalSerialized<Double?>(wrappedValue: frameRate)
self.hasScalingMatrix = hasScalingMatrix
self.hearingImpaired = hearingImpaired
self.height = height
self.language = language
self.languageCode = languageCode
self.languageTag = languageTag
self.level = level
self.profile = profile
self.refFrames = refFrames
self.samplingRate = samplingRate
self.scanType = scanType
self.selected = selected
self.streamIdentifier = streamIdentifier
self.title = title
self.width = width
}
}}
extension Operations.GetLibraryItemsStream: Codable {
enum CodingKeys: String, CodingKey {
case codec
case id
case index
case streamType
case audioChannelLayout
case bitDepth
case bitrate
case canAutoSync
case channels
case chromaLocation
case chromaSubsampling
case closedCaptions
case codedHeight
case codedWidth
case colorPrimaries
case colorRange
case colorSpace
case colorTrc
case `default` = "default"
case displayTitle
case embeddedInVideo
case extendedDisplayTitle
case frameRate
case hasScalingMatrix
case hearingImpaired
case height
case language
case languageCode
case languageTag
case level
case profile
case refFrames
case samplingRate
case scanType
case selected
case streamIdentifier
case title
case width
}
public init(from decoder: Decoder) throws {
let container = try decoder.container(keyedBy: CodingKeys.self)
self.codec = try container.decode(String.self, forKey: .codec)
self.id = try container.decode(Int.self, forKey: .id)
self.index = try container.decode(Int.self, forKey: .index)
self.streamType = try container.decode(Int.self, forKey: .streamType)
self.audioChannelLayout = try container.decodeIfPresent(String.self, forKey: .audioChannelLayout)
self.bitDepth = try container.decodeIfPresent(Int.self, forKey: .bitDepth)
self.bitrate = try container.decodeIfPresent(Int.self, forKey: .bitrate)
self.canAutoSync = try container.decodeIfPresent(Bool.self, forKey: .canAutoSync)
self.channels = try container.decodeIfPresent(Int.self, forKey: .channels)
self.chromaLocation = try container.decodeIfPresent(String.self, forKey: .chromaLocation)
self.chromaSubsampling = try container.decodeIfPresent(String.self, forKey: .chromaSubsampling)
self.closedCaptions = try container.decodeIfPresent(Bool.self, forKey: .closedCaptions)
self.codedHeight = try container.decodeIfPresent(Int.self, forKey: .codedHeight)
self.codedWidth = try container.decodeIfPresent(Int.self, forKey: .codedWidth)
self.colorPrimaries = try container.decodeIfPresent(String.self, forKey: .colorPrimaries)
self.colorRange = try container.decodeIfPresent(String.self, forKey: .colorRange)
self.colorSpace = try container.decodeIfPresent(String.self, forKey: .colorSpace)
self.colorTrc = try container.decodeIfPresent(String.self, forKey: .colorTrc)
self.`default` = try container.decodeIfPresent(Bool.self, forKey: .`default`)
self.displayTitle = try container.decodeIfPresent(String.self, forKey: .displayTitle)
self.embeddedInVideo = try container.decodeIfPresent(String.self, forKey: .embeddedInVideo)
self.extendedDisplayTitle = try container.decodeIfPresent(String.self, forKey: .extendedDisplayTitle)
self._frameRate = try container.decodeIfPresent(DecimalSerialized<Double?>.self, forKey: .frameRate) ?? DecimalSerialized<Double?>(wrappedValue: nil)
self.hasScalingMatrix = try container.decodeIfPresent(Bool.self, forKey: .hasScalingMatrix)
self.hearingImpaired = try container.decodeIfPresent(Bool.self, forKey: .hearingImpaired)
self.height = try container.decodeIfPresent(Int.self, forKey: .height)
self.language = try container.decodeIfPresent(String.self, forKey: .language)
self.languageCode = try container.decodeIfPresent(String.self, forKey: .languageCode)
self.languageTag = try container.decodeIfPresent(String.self, forKey: .languageTag)
self.level = try container.decodeIfPresent(Int.self, forKey: .level)
self.profile = try container.decodeIfPresent(String.self, forKey: .profile)
self.refFrames = try container.decodeIfPresent(Int.self, forKey: .refFrames)
self.samplingRate = try container.decodeIfPresent(Int.self, forKey: .samplingRate)
self.scanType = try container.decodeIfPresent(String.self, forKey: .scanType)
self.selected = try container.decodeIfPresent(Bool.self, forKey: .selected)
self.streamIdentifier = try container.decodeIfPresent(String.self, forKey: .streamIdentifier)
self.title = try container.decodeIfPresent(String.self, forKey: .title)
self.width = try container.decodeIfPresent(Int.self, forKey: .width)
}
public func encode(to encoder: Encoder) throws {
var container = encoder.container(keyedBy: CodingKeys.self)
try container.encode(self.codec, forKey: .codec)
try container.encode(self.id, forKey: .id)
try container.encode(self.index, forKey: .index)
try container.encode(self.streamType, forKey: .streamType)
try container.encodeIfPresent(self.audioChannelLayout, forKey: .audioChannelLayout)
try container.encodeIfPresent(self.bitDepth, forKey: .bitDepth)
try container.encodeIfPresent(self.bitrate, forKey: .bitrate)
try container.encodeIfPresent(self.canAutoSync, forKey: .canAutoSync)
try container.encodeIfPresent(self.channels, forKey: .channels)
try container.encodeIfPresent(self.chromaLocation, forKey: .chromaLocation)
try container.encodeIfPresent(self.chromaSubsampling, forKey: .chromaSubsampling)
try container.encodeIfPresent(self.closedCaptions, forKey: .closedCaptions)
try container.encodeIfPresent(self.codedHeight, forKey: .codedHeight)
try container.encodeIfPresent(self.codedWidth, forKey: .codedWidth)
try container.encodeIfPresent(self.colorPrimaries, forKey: .colorPrimaries)
try container.encodeIfPresent(self.colorRange, forKey: .colorRange)
try container.encodeIfPresent(self.colorSpace, forKey: .colorSpace)
try container.encodeIfPresent(self.colorTrc, forKey: .colorTrc)
try container.encodeIfPresent(self.`default`, forKey: .`default`)
try container.encodeIfPresent(self.displayTitle, forKey: .displayTitle)
try container.encodeIfPresent(self.embeddedInVideo, forKey: .embeddedInVideo)
try container.encodeIfPresent(self.extendedDisplayTitle, forKey: .extendedDisplayTitle)
if self.frameRate != nil {
try container.encode(self._frameRate, forKey: .frameRate)
}
try container.encodeIfPresent(self.hasScalingMatrix, forKey: .hasScalingMatrix)
try container.encodeIfPresent(self.hearingImpaired, forKey: .hearingImpaired)
try container.encodeIfPresent(self.height, forKey: .height)
try container.encodeIfPresent(self.language, forKey: .language)
try container.encodeIfPresent(self.languageCode, forKey: .languageCode)
try container.encodeIfPresent(self.languageTag, forKey: .languageTag)
try container.encodeIfPresent(self.level, forKey: .level)
try container.encodeIfPresent(self.profile, forKey: .profile)
try container.encodeIfPresent(self.refFrames, forKey: .refFrames)
try container.encodeIfPresent(self.samplingRate, forKey: .samplingRate)
try container.encodeIfPresent(self.scanType, forKey: .scanType)
try container.encodeIfPresent(self.selected, forKey: .selected)
try container.encodeIfPresent(self.streamIdentifier, forKey: .streamIdentifier)
try container.encodeIfPresent(self.title, forKey: .title)
try container.encodeIfPresent(self.width, forKey: .width)
}
}
extension Operations.GetLibraryItemsStream {
var frameRateWrapper: DecimalSerialized<Double?> {
return _frameRate
}
}

View File

@@ -3,11 +3,39 @@
import Foundation import Foundation
extension Operations { extension Operations {
/// The type of media content /// A model object
public struct GetLibraryItemsType {
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 enum GetLibraryItemsType: String, Codable, APIValue { ///
case movie = "movie" public init(active: Bool, key: String, title: String, type: String, field: [Operations.GetLibraryItemsField]? = nil, filter: [Operations.GetLibraryItemsFilter]? = nil, sort: [Operations.GetLibraryItemsSort]? = nil) {
case tvShow = "show" self.active = active
case season = "season" self.key = key
case episode = "episode" 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"
}
}

View File

@@ -0,0 +1,32 @@
// Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
import Foundation
extension Operations {
/// A model object
public struct GetLibraryItemsUltraBlurColors {
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.GetLibraryItemsUltraBlurColors: Codable {
enum CodingKeys: String, CodingKey {
case bottomLeft
case bottomRight
case topLeft
case topRight
}
}

View File

@@ -14,13 +14,13 @@ extension Operations {
public let key: String? public let key: String?
public let optimizedForStreaming: Bool? public let optimizedForStreaming: Bool?
public let size: Int? public let size: Int?
public let stream: [Operations.Stream]? public let stream: [Operations.GetMetaDataByRatingKeyStream]?
public let videoProfile: String? public let videoProfile: String?
/// Creates an object with the specified parameters /// Creates an object with the specified parameters
/// ///
/// ///
public init(audioProfile: String? = nil, container: String? = nil, duration: Int? = nil, file: String? = nil, has64bitOffsets: Bool? = nil, id: Int? = nil, key: String? = nil, optimizedForStreaming: Bool? = nil, size: Int? = nil, stream: [Operations.Stream]? = nil, videoProfile: String? = nil) { public init(audioProfile: String? = nil, container: String? = nil, duration: Int? = nil, file: String? = nil, has64bitOffsets: Bool? = nil, id: Int? = nil, key: String? = nil, optimizedForStreaming: Bool? = nil, size: Int? = nil, stream: [Operations.GetMetaDataByRatingKeyStream]? = nil, videoProfile: String? = nil) {
self.audioProfile = audioProfile self.audioProfile = audioProfile
self.container = container self.container = container
self.duration = duration self.duration = duration

View File

@@ -0,0 +1,116 @@
// Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
import Foundation
extension Operations {
/// A model object
public struct GetMetaDataByRatingKeyStream {
public let bitDepth: Int?
public let bitrate: Int?
public let channels: Int?
public let chromaLocation: String?
public let chromaSubsampling: String?
public let codec: String?
public let codedHeight: Int?
public let codedWidth: Int?
public let colorPrimaries: String?
public let colorRange: String?
public let colorSpace: String?
public let colorTrc: String?
public let `default`: Bool?
public let displayTitle: String?
public let extendedDisplayTitle: String?
public let frameRate: Int?
public let hasScalingMatrix: Bool?
public let height: Int?
public let id: Int?
public let index: Int?
public let language: String?
public let languageCode: String?
public let languageTag: String?
public let level: Int?
public let profile: String?
public let refFrames: Int?
public let samplingRate: Int?
public let scanType: String?
public let selected: Bool?
public let streamIdentifier: String?
public let streamType: Int?
public let width: Int?
/// Creates an object with the specified parameters
///
///
public init(bitDepth: Int? = nil, bitrate: Int? = nil, channels: Int? = nil, chromaLocation: String? = nil, chromaSubsampling: String? = nil, codec: String? = nil, codedHeight: Int? = nil, codedWidth: Int? = nil, colorPrimaries: String? = nil, colorRange: String? = nil, colorSpace: String? = nil, colorTrc: String? = nil, `default`: Bool? = nil, displayTitle: String? = nil, extendedDisplayTitle: String? = nil, frameRate: Int? = nil, hasScalingMatrix: Bool? = nil, height: Int? = nil, id: Int? = nil, index: Int? = nil, language: String? = nil, languageCode: String? = nil, languageTag: String? = nil, level: Int? = nil, profile: String? = nil, refFrames: Int? = nil, samplingRate: Int? = nil, scanType: String? = nil, selected: Bool? = nil, streamIdentifier: String? = nil, streamType: Int? = nil, width: Int? = nil) {
self.bitDepth = bitDepth
self.bitrate = bitrate
self.channels = channels
self.chromaLocation = chromaLocation
self.chromaSubsampling = chromaSubsampling
self.codec = codec
self.codedHeight = codedHeight
self.codedWidth = codedWidth
self.colorPrimaries = colorPrimaries
self.colorRange = colorRange
self.colorSpace = colorSpace
self.colorTrc = colorTrc
self.`default` = `default`
self.displayTitle = displayTitle
self.extendedDisplayTitle = extendedDisplayTitle
self.frameRate = frameRate
self.hasScalingMatrix = hasScalingMatrix
self.height = height
self.id = id
self.index = index
self.language = language
self.languageCode = languageCode
self.languageTag = languageTag
self.level = level
self.profile = profile
self.refFrames = refFrames
self.samplingRate = samplingRate
self.scanType = scanType
self.selected = selected
self.streamIdentifier = streamIdentifier
self.streamType = streamType
self.width = width
}
}}
extension Operations.GetMetaDataByRatingKeyStream: Codable {
enum CodingKeys: String, CodingKey {
case bitDepth
case bitrate
case channels
case chromaLocation
case chromaSubsampling
case codec
case codedHeight
case codedWidth
case colorPrimaries
case colorRange
case colorSpace
case colorTrc
case `default` = "default"
case displayTitle
case extendedDisplayTitle
case frameRate
case hasScalingMatrix
case height
case id
case index
case language
case languageCode
case languageTag
case level
case profile
case refFrames
case samplingRate
case scanType
case selected
case streamIdentifier
case streamType
case width
}
}

View File

@@ -5,6 +5,11 @@ import Foundation
extension Operations { extension Operations {
/// A model object /// A model object
public struct GetPinRequest: APIValue { public struct GetPinRequest: APIValue {
/// The unique identifier for the client application
/// This is used to track the client application and its usage
/// (UUID, serial number, or other number unique per device)
///
public let clientID: String?
public let clientName: String? public let clientName: String?
public let clientPlatform: String? public let clientPlatform: String?
public let clientVersion: String? public let clientVersion: String?
@@ -17,12 +22,17 @@ extension Operations {
/// Creates an object with the specified parameters /// Creates an object with the specified parameters
/// ///
/// - Parameter clientID: The unique identifier for the client application
/// This is used to track the client application and its usage
/// (UUID, serial number, or other number unique per device)
///
/// - Parameter strong: Determines the kind of code returned by the API call /// - Parameter strong: Determines the kind of code returned by the API call
/// Strong codes are used for Pin authentication flows /// Strong codes are used for Pin authentication flows
/// Non-Strong codes are used for `Plex.tv/link` /// Non-Strong codes are used for `Plex.tv/link`
/// ///
/// ///
public init(clientName: String? = nil, clientPlatform: String? = nil, clientVersion: String? = nil, deviceName: String? = nil, strong: Bool? = nil) { public init(clientID: String? = nil, clientName: String? = nil, clientPlatform: String? = nil, clientVersion: String? = nil, deviceName: String? = nil, strong: Bool? = nil) {
self.clientID = clientID
self.clientName = clientName self.clientName = clientName
self.clientPlatform = clientPlatform self.clientPlatform = clientPlatform
self.clientVersion = clientVersion self.clientVersion = clientVersion

View 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 GetRecentlyAddedActiveDirection: String, Codable, APIValue {
case ascending = "asc"
case descending = "desc"
}}

View File

@@ -1,23 +0,0 @@
// Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
import Foundation
extension Operations {
/// Bad Request - A parameter was not specified, or was specified incorrectly.
public struct GetRecentlyAddedBadRequest {
public let errors: [Operations.GetRecentlyAddedErrors]?
/// Creates a request model with the specified parameters
///
///
public init(errors: [Operations.GetRecentlyAddedErrors]? = nil) {
self.errors = errors
}
}}
extension Operations.GetRecentlyAddedBadRequest: Codable {
enum CodingKeys: String, CodingKey {
case errors
}
}

View 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 GetRecentlyAddedDefaultDirection: String, Codable, APIValue {
case ascending = "asc"
case descending = "desc"
}}

View File

@@ -0,0 +1,32 @@
// Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
import Foundation
extension Operations {
/// A model object
public struct GetRecentlyAddedField {
public let key: String
public let title: String
public let type: String
public let subType: String?
/// Creates an object with the specified parameters
///
///
public init(key: String, title: String, type: String, subType: String? = nil) {
self.key = key
self.title = title
self.type = type
self.subType = subType
}
}}
extension Operations.GetRecentlyAddedField: Codable {
enum CodingKeys: String, CodingKey {
case key
case title
case type
case subType
}
}

View File

@@ -0,0 +1,26 @@
// Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
import Foundation
extension Operations {
/// A model object
public struct GetRecentlyAddedFieldType {
public let `operator`: [Operations.GetRecentlyAddedOperator]
public let type: String
/// Creates an object with the specified parameters
///
///
public init(`operator`: [Operations.GetRecentlyAddedOperator], type: String) {
self.`operator` = `operator`
self.type = type
}
}}
extension Operations.GetRecentlyAddedFieldType: Codable {
enum CodingKeys: String, CodingKey {
case `operator` = "Operator"
case type
}
}

View File

@@ -0,0 +1,35 @@
// Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
import Foundation
extension Operations {
/// A model object
public struct GetRecentlyAddedFilter {
public let filter: String
public let filterType: String
public let key: String
public let title: String
public let type: String
/// Creates an object with the specified parameters
///
///
public init(filter: String, filterType: String, key: String, title: String, type: String) {
self.filter = filter
self.filterType = filterType
self.key = key
self.title = title
self.type = type
}
}}
extension Operations.GetRecentlyAddedFilter: Codable {
enum CodingKeys: String, CodingKey {
case filter
case filterType
case key
case title
case type
}
}

View File

@@ -0,0 +1,11 @@
// Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
import Foundation
extension Operations {
public enum GetRecentlyAddedHubsResponseType: String, Codable, APIValue {
case coverPoster = "coverPoster"
case background = "background"
case snapshot = "snapshot"
case clearLogo = "clearLogo"
}}

View File

@@ -0,0 +1,13 @@
// Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
import Foundation
extension Operations {
/// The type of media content
///
public enum GetRecentlyAddedHubsType: String, Codable, APIValue {
case movie = "movie"
case tvShow = "show"
case season = "season"
case episode = "episode"
}}

View File

@@ -0,0 +1,29 @@
// Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
import Foundation
extension Operations {
/// A model object
public struct GetRecentlyAddedImage {
public let alt: String
public let type: Operations.GetRecentlyAddedHubsResponseType
public let url: String
/// Creates an object with the specified parameters
///
///
public init(alt: String, type: Operations.GetRecentlyAddedHubsResponseType, url: String) {
self.alt = alt
self.type = type
self.url = url
}
}}
extension Operations.GetRecentlyAddedImage: Codable {
enum CodingKeys: String, CodingKey {
case alt
case type
case url
}
}

View File

@@ -3,11 +3,11 @@
import Foundation import Foundation
extension Operations { extension Operations {
/// Unauthorized - Returned if the X-Plex-Token is missing from the header or query. /// Bad Request - A parameter was not specified, or was specified incorrectly.
public struct GetRecentlyAddedUnauthorized { public struct GetRecentlyAddedLibraryBadRequest {
public let errors: [Operations.GetRecentlyAddedLibraryErrors]? public let errors: [Operations.GetRecentlyAddedLibraryErrors]?
/// Creates an object with the specified parameters /// Creates a request model with the specified parameters
/// ///
/// ///
public init(errors: [Operations.GetRecentlyAddedLibraryErrors]? = nil) { public init(errors: [Operations.GetRecentlyAddedLibraryErrors]? = nil) {
@@ -15,7 +15,7 @@ extension Operations {
} }
}} }}
extension Operations.GetRecentlyAddedUnauthorized: Codable { extension Operations.GetRecentlyAddedLibraryBadRequest: Codable {
enum CodingKeys: String, CodingKey { enum CodingKeys: String, CodingKey {
case errors case errors
} }

View File

@@ -0,0 +1,23 @@
// Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
import Foundation
extension Operations {
/// A model object
public struct GetRecentlyAddedLibraryCountry {
public let tag: String?
/// Creates an object with the specified parameters
///
///
public init(tag: String? = nil) {
self.tag = tag
}
}}
extension Operations.GetRecentlyAddedLibraryCountry: Codable {
enum CodingKeys: String, CodingKey {
case tag
}
}

View File

@@ -0,0 +1,23 @@
// Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
import Foundation
extension Operations {
/// A model object
public struct GetRecentlyAddedLibraryDirector {
public let tag: String?
/// Creates an object with the specified parameters
///
///
public init(tag: String? = nil) {
self.tag = tag
}
}}
extension Operations.GetRecentlyAddedLibraryDirector: Codable {
enum CodingKeys: String, CodingKey {
case tag
}
}

View File

@@ -0,0 +1,35 @@
// Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
import Foundation
extension Operations {
/// A model object
public struct GetRecentlyAddedLibraryFilter {
public let filter: String
public let filterType: String
public let key: String
public let title: String
public let type: String
/// Creates an object with the specified parameters
///
///
public init(filter: String, filterType: String, key: String, title: String, type: String) {
self.filter = filter
self.filterType = filterType
self.key = key
self.title = title
self.type = type
}
}}
extension Operations.GetRecentlyAddedLibraryFilter: Codable {
enum CodingKeys: String, CodingKey {
case filter
case filterType
case key
case title
case type
}
}

View File

@@ -0,0 +1,23 @@
// Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
import Foundation
extension Operations {
/// A model object
public struct GetRecentlyAddedLibraryGenre {
public let tag: String?
/// Creates an object with the specified parameters
///
///
public init(tag: String? = nil) {
self.tag = tag
}
}}
extension Operations.GetRecentlyAddedLibraryGenre: Codable {
enum CodingKeys: String, CodingKey {
case tag
}
}

View File

@@ -4,7 +4,7 @@ import Foundation
extension Operations { extension Operations {
/// A model object /// A model object
public struct GetRecentlyAddedErrors { public struct GetRecentlyAddedLibraryLibraryErrors {
public let code: Int? public let code: Int?
public let message: String? public let message: String?
public let status: Int? public let status: Int?
@@ -19,7 +19,7 @@ extension Operations {
} }
}} }}
extension Operations.GetRecentlyAddedErrors: Codable { extension Operations.GetRecentlyAddedLibraryLibraryErrors: Codable {
enum CodingKeys: String, CodingKey { enum CodingKeys: String, CodingKey {
case code case code
case message case message

View File

@@ -0,0 +1,164 @@
// Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
import Foundation
extension Operations {
/// A model object
public struct GetRecentlyAddedLibraryMedia {
@DecimalSerialized
public private(set) var aspectRatio: Double?
@DecimalSerialized
public private(set) var audioChannels: Double?
public let audioCodec: String?
@DecimalSerialized
public private(set) var bitrate: Double?
public let container: String?
@DecimalSerialized
public private(set) var duration: Double?
public let has64bitOffsets: Bool?
@DecimalSerialized
public private(set) var height: Double?
@DecimalSerialized
public private(set) var id: Double?
@DecimalSerialized
public private(set) var optimizedForStreaming: Double?
public let part: [Operations.GetRecentlyAddedLibraryPart]?
public let videoCodec: String?
public let videoFrameRate: String?
public let videoProfile: String?
@DecimalSerialized
public private(set) var videoResolution: Double?
@DecimalSerialized
public private(set) var width: Double?
/// Creates an object with the specified parameters
///
///
public init(aspectRatio: Double? = nil, audioChannels: Double? = nil, audioCodec: String? = nil, bitrate: Double? = nil, container: String? = nil, duration: Double? = nil, has64bitOffsets: Bool? = nil, height: Double? = nil, id: Double? = nil, optimizedForStreaming: Double? = nil, part: [Operations.GetRecentlyAddedLibraryPart]? = nil, videoCodec: String? = nil, videoFrameRate: String? = nil, videoProfile: String? = nil, videoResolution: Double? = nil, width: Double? = nil) {
self._aspectRatio = DecimalSerialized<Double?>(wrappedValue: aspectRatio)
self._audioChannels = DecimalSerialized<Double?>(wrappedValue: audioChannels)
self.audioCodec = audioCodec
self._bitrate = DecimalSerialized<Double?>(wrappedValue: bitrate)
self.container = container
self._duration = DecimalSerialized<Double?>(wrappedValue: duration)
self.has64bitOffsets = has64bitOffsets
self._height = DecimalSerialized<Double?>(wrappedValue: height)
self._id = DecimalSerialized<Double?>(wrappedValue: id)
self._optimizedForStreaming = DecimalSerialized<Double?>(wrappedValue: optimizedForStreaming)
self.part = part
self.videoCodec = videoCodec
self.videoFrameRate = videoFrameRate
self.videoProfile = videoProfile
self._videoResolution = DecimalSerialized<Double?>(wrappedValue: videoResolution)
self._width = DecimalSerialized<Double?>(wrappedValue: width)
}
}}
extension Operations.GetRecentlyAddedLibraryMedia: Codable {
enum CodingKeys: String, CodingKey {
case aspectRatio
case audioChannels
case audioCodec
case bitrate
case container
case duration
case has64bitOffsets
case height
case id
case optimizedForStreaming
case part = "Part"
case videoCodec
case videoFrameRate
case videoProfile
case videoResolution
case width
}
public init(from decoder: Decoder) throws {
let container = try decoder.container(keyedBy: CodingKeys.self)
self._aspectRatio = try container.decodeIfPresent(DecimalSerialized<Double?>.self, forKey: .aspectRatio) ?? DecimalSerialized<Double?>(wrappedValue: nil)
self._audioChannels = try container.decodeIfPresent(DecimalSerialized<Double?>.self, forKey: .audioChannels) ?? DecimalSerialized<Double?>(wrappedValue: nil)
self.audioCodec = try container.decodeIfPresent(String.self, forKey: .audioCodec)
self._bitrate = try container.decodeIfPresent(DecimalSerialized<Double?>.self, forKey: .bitrate) ?? DecimalSerialized<Double?>(wrappedValue: nil)
self.container = try container.decodeIfPresent(String.self, forKey: .container)
self._duration = try container.decodeIfPresent(DecimalSerialized<Double?>.self, forKey: .duration) ?? DecimalSerialized<Double?>(wrappedValue: nil)
self.has64bitOffsets = try container.decodeIfPresent(Bool.self, forKey: .has64bitOffsets)
self._height = try container.decodeIfPresent(DecimalSerialized<Double?>.self, forKey: .height) ?? DecimalSerialized<Double?>(wrappedValue: nil)
self._id = try container.decodeIfPresent(DecimalSerialized<Double?>.self, forKey: .id) ?? DecimalSerialized<Double?>(wrappedValue: nil)
self._optimizedForStreaming = try container.decodeIfPresent(DecimalSerialized<Double?>.self, forKey: .optimizedForStreaming) ?? DecimalSerialized<Double?>(wrappedValue: nil)
self.part = try container.decodeIfPresent([Operations.GetRecentlyAddedLibraryPart].self, forKey: .part)
self.videoCodec = try container.decodeIfPresent(String.self, forKey: .videoCodec)
self.videoFrameRate = try container.decodeIfPresent(String.self, forKey: .videoFrameRate)
self.videoProfile = try container.decodeIfPresent(String.self, forKey: .videoProfile)
self._videoResolution = try container.decodeIfPresent(DecimalSerialized<Double?>.self, forKey: .videoResolution) ?? DecimalSerialized<Double?>(wrappedValue: nil)
self._width = try container.decodeIfPresent(DecimalSerialized<Double?>.self, forKey: .width) ?? DecimalSerialized<Double?>(wrappedValue: nil)
}
public func encode(to encoder: Encoder) throws {
var container = encoder.container(keyedBy: CodingKeys.self)
if self.aspectRatio != nil {
try container.encode(self._aspectRatio, forKey: .aspectRatio)
}
if self.audioChannels != nil {
try container.encode(self._audioChannels, forKey: .audioChannels)
}
try container.encodeIfPresent(self.audioCodec, forKey: .audioCodec)
if self.bitrate != nil {
try container.encode(self._bitrate, forKey: .bitrate)
}
try container.encodeIfPresent(self.container, forKey: .container)
if self.duration != nil {
try container.encode(self._duration, forKey: .duration)
}
try container.encodeIfPresent(self.has64bitOffsets, forKey: .has64bitOffsets)
if self.height != nil {
try container.encode(self._height, forKey: .height)
}
if self.id != nil {
try container.encode(self._id, forKey: .id)
}
if self.optimizedForStreaming != nil {
try container.encode(self._optimizedForStreaming, forKey: .optimizedForStreaming)
}
try container.encodeIfPresent(self.part, forKey: .part)
try container.encodeIfPresent(self.videoCodec, forKey: .videoCodec)
try container.encodeIfPresent(self.videoFrameRate, forKey: .videoFrameRate)
try container.encodeIfPresent(self.videoProfile, forKey: .videoProfile)
if self.videoResolution != nil {
try container.encode(self._videoResolution, forKey: .videoResolution)
}
if self.width != nil {
try container.encode(self._width, forKey: .width)
}
}
}
extension Operations.GetRecentlyAddedLibraryMedia {
var idWrapper: DecimalSerialized<Double?> {
return _id
}
var durationWrapper: DecimalSerialized<Double?> {
return _duration
}
var bitrateWrapper: DecimalSerialized<Double?> {
return _bitrate
}
var widthWrapper: DecimalSerialized<Double?> {
return _width
}
var heightWrapper: DecimalSerialized<Double?> {
return _height
}
var aspectRatioWrapper: DecimalSerialized<Double?> {
return _aspectRatio
}
var audioChannelsWrapper: DecimalSerialized<Double?> {
return _audioChannels
}
var videoResolutionWrapper: DecimalSerialized<Double?> {
return _videoResolution
}
var optimizedForStreamingWrapper: DecimalSerialized<Double?> {
return _optimizedForStreaming
}
}

View File

@@ -0,0 +1,88 @@
// Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
import Foundation
extension Operations {
/// The Meta object is only included in the response if the `includeMeta` parameter is set to `1`.
///
public struct GetRecentlyAddedLibraryMediaContainer {
public let allowSync: Bool?
public let fieldType: [Operations.FieldType]?
public let identifier: String?
public let mediaTagPrefix: String?
@DecimalSerialized
public private(set) var mediaTagVersion: Double?
public let metadata: [Operations.GetRecentlyAddedLibraryMetadata]?
public let mixedParents: Bool?
@DecimalSerialized
public private(set) var size: Double?
public let type: [Operations.GetRecentlyAddedLibraryType]?
/// Creates an object with the specified parameters
///
///
public init(allowSync: Bool? = nil, fieldType: [Operations.FieldType]? = nil, identifier: String? = nil, mediaTagPrefix: String? = nil, mediaTagVersion: Double? = nil, metadata: [Operations.GetRecentlyAddedLibraryMetadata]? = nil, mixedParents: Bool? = nil, size: Double? = nil, type: [Operations.GetRecentlyAddedLibraryType]? = nil) {
self.allowSync = allowSync
self.fieldType = fieldType
self.identifier = identifier
self.mediaTagPrefix = mediaTagPrefix
self._mediaTagVersion = DecimalSerialized<Double?>(wrappedValue: mediaTagVersion)
self.metadata = metadata
self.mixedParents = mixedParents
self._size = DecimalSerialized<Double?>(wrappedValue: size)
self.type = type
}
}}
extension Operations.GetRecentlyAddedLibraryMediaContainer: Codable {
enum CodingKeys: String, CodingKey {
case allowSync
case fieldType = "FieldType"
case identifier
case mediaTagPrefix
case mediaTagVersion
case metadata = "Metadata"
case mixedParents
case size
case type = "Type"
}
public init(from decoder: Decoder) throws {
let container = try decoder.container(keyedBy: CodingKeys.self)
self.allowSync = try container.decodeIfPresent(Bool.self, forKey: .allowSync)
self.fieldType = try container.decodeIfPresent([Operations.FieldType].self, forKey: .fieldType)
self.identifier = try container.decodeIfPresent(String.self, forKey: .identifier)
self.mediaTagPrefix = try container.decodeIfPresent(String.self, forKey: .mediaTagPrefix)
self._mediaTagVersion = try container.decodeIfPresent(DecimalSerialized<Double?>.self, forKey: .mediaTagVersion) ?? DecimalSerialized<Double?>(wrappedValue: nil)
self.metadata = try container.decodeIfPresent([Operations.GetRecentlyAddedLibraryMetadata].self, forKey: .metadata)
self.mixedParents = try container.decodeIfPresent(Bool.self, forKey: .mixedParents)
self._size = try container.decodeIfPresent(DecimalSerialized<Double?>.self, forKey: .size) ?? DecimalSerialized<Double?>(wrappedValue: nil)
self.type = try container.decodeIfPresent([Operations.GetRecentlyAddedLibraryType].self, forKey: .type)
}
public func encode(to encoder: Encoder) throws {
var container = encoder.container(keyedBy: CodingKeys.self)
try container.encodeIfPresent(self.allowSync, forKey: .allowSync)
try container.encodeIfPresent(self.fieldType, forKey: .fieldType)
try container.encodeIfPresent(self.identifier, forKey: .identifier)
try container.encodeIfPresent(self.mediaTagPrefix, forKey: .mediaTagPrefix)
if self.mediaTagVersion != nil {
try container.encode(self._mediaTagVersion, forKey: .mediaTagVersion)
}
try container.encodeIfPresent(self.metadata, forKey: .metadata)
try container.encodeIfPresent(self.mixedParents, forKey: .mixedParents)
if self.size != nil {
try container.encode(self._size, forKey: .size)
}
try container.encodeIfPresent(self.type, forKey: .type)
}
}
extension Operations.GetRecentlyAddedLibraryMediaContainer {
var sizeWrapper: DecimalSerialized<Double?> {
return _size
}
var mediaTagVersionWrapper: DecimalSerialized<Double?> {
return _mediaTagVersion
}
}

View File

@@ -0,0 +1,244 @@
// Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
import Foundation
extension Operations {
/// A model object
public struct GetRecentlyAddedLibraryMetadata {
@DecimalSerialized
public private(set) var addedAt: Double?
public let allowSync: Bool?
public let art: String?
@DecimalSerialized
public private(set) var audienceRating: Double?
public let audienceRatingImage: String?
public let chapterSource: String?
public let contentRating: String?
public let country: [Operations.GetRecentlyAddedLibraryCountry]?
public let director: [Operations.GetRecentlyAddedLibraryDirector]?
@DecimalSerialized
public private(set) var duration: Double?
public let genre: [Operations.GetRecentlyAddedLibraryGenre]?
public let guid: String?
public let key: String?
@DecimalSerialized
public private(set) var librarySectionID: Double?
public let librarySectionTitle: String?
public let librarySectionUUID: String?
public let media: [Operations.GetRecentlyAddedLibraryMedia]?
@DateTime
public private(set) var originallyAvailableAt: Date?
public let primaryExtraKey: String?
@DecimalSerialized
public private(set) var rating: Double?
public let ratingImage: String?
@DecimalSerialized
public private(set) var ratingKey: Double?
public let role: [Operations.GetRecentlyAddedLibraryRole]?
public let studio: String?
public let summary: String?
public let tagline: String?
public let thumb: String?
public let title: String?
public let type: String?
@DecimalSerialized
public private(set) var updatedAt: Double?
public let writer: [Operations.GetRecentlyAddedLibraryWriter]?
@DecimalSerialized
public private(set) var year: Double?
/// Creates an object with the specified parameters
///
///
public init(addedAt: Double? = nil, allowSync: Bool? = nil, art: String? = nil, audienceRating: Double? = nil, audienceRatingImage: String? = nil, chapterSource: String? = nil, contentRating: String? = nil, country: [Operations.GetRecentlyAddedLibraryCountry]? = nil, director: [Operations.GetRecentlyAddedLibraryDirector]? = nil, duration: Double? = nil, genre: [Operations.GetRecentlyAddedLibraryGenre]? = nil, guid: String? = nil, key: String? = nil, librarySectionID: Double? = nil, librarySectionTitle: String? = nil, librarySectionUUID: String? = nil, media: [Operations.GetRecentlyAddedLibraryMedia]? = nil, originallyAvailableAt: Date? = nil, primaryExtraKey: String? = nil, rating: Double? = nil, ratingImage: String? = nil, ratingKey: Double? = nil, role: [Operations.GetRecentlyAddedLibraryRole]? = nil, studio: String? = nil, summary: String? = nil, tagline: String? = nil, thumb: String? = nil, title: String? = nil, type: String? = nil, updatedAt: Double? = nil, writer: [Operations.GetRecentlyAddedLibraryWriter]? = nil, year: Double? = nil) {
self._addedAt = DecimalSerialized<Double?>(wrappedValue: addedAt)
self.allowSync = allowSync
self.art = art
self._audienceRating = DecimalSerialized<Double?>(wrappedValue: audienceRating)
self.audienceRatingImage = audienceRatingImage
self.chapterSource = chapterSource
self.contentRating = contentRating
self.country = country
self.director = director
self._duration = DecimalSerialized<Double?>(wrappedValue: duration)
self.genre = genre
self.guid = guid
self.key = key
self._librarySectionID = DecimalSerialized<Double?>(wrappedValue: librarySectionID)
self.librarySectionTitle = librarySectionTitle
self.librarySectionUUID = librarySectionUUID
self.media = media
self._originallyAvailableAt = DateTime<Date?>(wrappedValue: originallyAvailableAt)
self.primaryExtraKey = primaryExtraKey
self._rating = DecimalSerialized<Double?>(wrappedValue: rating)
self.ratingImage = ratingImage
self._ratingKey = DecimalSerialized<Double?>(wrappedValue: ratingKey)
self.role = role
self.studio = studio
self.summary = summary
self.tagline = tagline
self.thumb = thumb
self.title = title
self.type = type
self._updatedAt = DecimalSerialized<Double?>(wrappedValue: updatedAt)
self.writer = writer
self._year = DecimalSerialized<Double?>(wrappedValue: year)
}
}}
extension Operations.GetRecentlyAddedLibraryMetadata: Codable {
enum CodingKeys: String, CodingKey {
case addedAt
case allowSync
case art
case audienceRating
case audienceRatingImage
case chapterSource
case contentRating
case country = "Country"
case director = "Director"
case duration
case genre = "Genre"
case guid
case key
case librarySectionID
case librarySectionTitle
case librarySectionUUID
case media = "Media"
case originallyAvailableAt
case primaryExtraKey
case rating
case ratingImage
case ratingKey
case role = "Role"
case studio
case summary
case tagline
case thumb
case title
case type
case updatedAt
case writer = "Writer"
case year
}
public init(from decoder: Decoder) throws {
let container = try decoder.container(keyedBy: CodingKeys.self)
self._addedAt = try container.decodeIfPresent(DecimalSerialized<Double?>.self, forKey: .addedAt) ?? DecimalSerialized<Double?>(wrappedValue: nil)
self.allowSync = try container.decodeIfPresent(Bool.self, forKey: .allowSync)
self.art = try container.decodeIfPresent(String.self, forKey: .art)
self._audienceRating = try container.decodeIfPresent(DecimalSerialized<Double?>.self, forKey: .audienceRating) ?? DecimalSerialized<Double?>(wrappedValue: nil)
self.audienceRatingImage = try container.decodeIfPresent(String.self, forKey: .audienceRatingImage)
self.chapterSource = try container.decodeIfPresent(String.self, forKey: .chapterSource)
self.contentRating = try container.decodeIfPresent(String.self, forKey: .contentRating)
self.country = try container.decodeIfPresent([Operations.GetRecentlyAddedLibraryCountry].self, forKey: .country)
self.director = try container.decodeIfPresent([Operations.GetRecentlyAddedLibraryDirector].self, forKey: .director)
self._duration = try container.decodeIfPresent(DecimalSerialized<Double?>.self, forKey: .duration) ?? DecimalSerialized<Double?>(wrappedValue: nil)
self.genre = try container.decodeIfPresent([Operations.GetRecentlyAddedLibraryGenre].self, forKey: .genre)
self.guid = try container.decodeIfPresent(String.self, forKey: .guid)
self.key = try container.decodeIfPresent(String.self, forKey: .key)
self._librarySectionID = try container.decodeIfPresent(DecimalSerialized<Double?>.self, forKey: .librarySectionID) ?? DecimalSerialized<Double?>(wrappedValue: nil)
self.librarySectionTitle = try container.decodeIfPresent(String.self, forKey: .librarySectionTitle)
self.librarySectionUUID = try container.decodeIfPresent(String.self, forKey: .librarySectionUUID)
self.media = try container.decodeIfPresent([Operations.GetRecentlyAddedLibraryMedia].self, forKey: .media)
self._originallyAvailableAt = try container.decodeIfPresent(DateTime<Date?>.self, forKey: .originallyAvailableAt) ?? DateTime<Date?>(wrappedValue: nil)
self.primaryExtraKey = try container.decodeIfPresent(String.self, forKey: .primaryExtraKey)
self._rating = try container.decodeIfPresent(DecimalSerialized<Double?>.self, forKey: .rating) ?? DecimalSerialized<Double?>(wrappedValue: nil)
self.ratingImage = try container.decodeIfPresent(String.self, forKey: .ratingImage)
self._ratingKey = try container.decodeIfPresent(DecimalSerialized<Double?>.self, forKey: .ratingKey) ?? DecimalSerialized<Double?>(wrappedValue: nil)
self.role = try container.decodeIfPresent([Operations.GetRecentlyAddedLibraryRole].self, forKey: .role)
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.thumb = try container.decodeIfPresent(String.self, forKey: .thumb)
self.title = try container.decodeIfPresent(String.self, forKey: .title)
self.type = try container.decodeIfPresent(String.self, forKey: .type)
self._updatedAt = try container.decodeIfPresent(DecimalSerialized<Double?>.self, forKey: .updatedAt) ?? DecimalSerialized<Double?>(wrappedValue: nil)
self.writer = try container.decodeIfPresent([Operations.GetRecentlyAddedLibraryWriter].self, forKey: .writer)
self._year = try container.decodeIfPresent(DecimalSerialized<Double?>.self, forKey: .year) ?? DecimalSerialized<Double?>(wrappedValue: nil)
}
public func encode(to encoder: Encoder) throws {
var container = encoder.container(keyedBy: CodingKeys.self)
if self.addedAt != nil {
try container.encode(self._addedAt, forKey: .addedAt)
}
try container.encodeIfPresent(self.allowSync, forKey: .allowSync)
try container.encodeIfPresent(self.art, forKey: .art)
if self.audienceRating != nil {
try container.encode(self._audienceRating, forKey: .audienceRating)
}
try container.encodeIfPresent(self.audienceRatingImage, forKey: .audienceRatingImage)
try container.encodeIfPresent(self.chapterSource, forKey: .chapterSource)
try container.encodeIfPresent(self.contentRating, forKey: .contentRating)
try container.encodeIfPresent(self.country, forKey: .country)
try container.encodeIfPresent(self.director, forKey: .director)
if self.duration != nil {
try container.encode(self._duration, forKey: .duration)
}
try container.encodeIfPresent(self.genre, forKey: .genre)
try container.encodeIfPresent(self.guid, forKey: .guid)
try container.encodeIfPresent(self.key, forKey: .key)
if self.librarySectionID != nil {
try container.encode(self._librarySectionID, forKey: .librarySectionID)
}
try container.encodeIfPresent(self.librarySectionTitle, forKey: .librarySectionTitle)
try container.encodeIfPresent(self.librarySectionUUID, forKey: .librarySectionUUID)
try container.encodeIfPresent(self.media, forKey: .media)
if self.originallyAvailableAt != nil {
try container.encode(self._originallyAvailableAt, forKey: .originallyAvailableAt)
}
try container.encodeIfPresent(self.primaryExtraKey, forKey: .primaryExtraKey)
if self.rating != nil {
try container.encode(self._rating, forKey: .rating)
}
try container.encodeIfPresent(self.ratingImage, forKey: .ratingImage)
if self.ratingKey != nil {
try container.encode(self._ratingKey, forKey: .ratingKey)
}
try container.encodeIfPresent(self.role, forKey: .role)
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.thumb, forKey: .thumb)
try container.encodeIfPresent(self.title, forKey: .title)
try container.encodeIfPresent(self.type, forKey: .type)
if self.updatedAt != nil {
try container.encode(self._updatedAt, forKey: .updatedAt)
}
try container.encodeIfPresent(self.writer, forKey: .writer)
if self.year != nil {
try container.encode(self._year, forKey: .year)
}
}
}
extension Operations.GetRecentlyAddedLibraryMetadata {
var librarySectionIDWrapper: DecimalSerialized<Double?> {
return _librarySectionID
}
var ratingKeyWrapper: DecimalSerialized<Double?> {
return _ratingKey
}
var ratingWrapper: DecimalSerialized<Double?> {
return _rating
}
var audienceRatingWrapper: DecimalSerialized<Double?> {
return _audienceRating
}
var yearWrapper: DecimalSerialized<Double?> {
return _year
}
var durationWrapper: DecimalSerialized<Double?> {
return _duration
}
var originallyAvailableAtWrapper: DateTime<Date?> {
return _originallyAvailableAt
}
var addedAtWrapper: DecimalSerialized<Double?> {
return _addedAt
}
var updatedAtWrapper: DecimalSerialized<Double?> {
return _updatedAt
}
}

View File

@@ -0,0 +1,104 @@
// Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
import Foundation
extension Operations {
/// A model object
public struct GetRecentlyAddedLibraryPart {
public let container: String?
@DecimalSerialized
public private(set) var duration: Double?
public let file: String?
public let has64bitOffsets: Bool?
@DecimalSerialized
public private(set) var hasThumbnail: Double?
@DecimalSerialized
public private(set) var id: Double?
public let key: String?
public let optimizedForStreaming: Bool?
@DecimalSerialized
public private(set) var size: Double?
public let videoProfile: String?
/// Creates an object with the specified parameters
///
///
public init(container: String? = nil, duration: Double? = nil, file: String? = nil, has64bitOffsets: Bool? = nil, hasThumbnail: Double? = nil, id: Double? = nil, key: String? = nil, optimizedForStreaming: Bool? = nil, size: Double? = nil, videoProfile: String? = nil) {
self.container = container
self._duration = DecimalSerialized<Double?>(wrappedValue: duration)
self.file = file
self.has64bitOffsets = has64bitOffsets
self._hasThumbnail = DecimalSerialized<Double?>(wrappedValue: hasThumbnail)
self._id = DecimalSerialized<Double?>(wrappedValue: id)
self.key = key
self.optimizedForStreaming = optimizedForStreaming
self._size = DecimalSerialized<Double?>(wrappedValue: size)
self.videoProfile = videoProfile
}
}}
extension Operations.GetRecentlyAddedLibraryPart: Codable {
enum CodingKeys: String, CodingKey {
case container
case duration
case file
case has64bitOffsets
case hasThumbnail
case id
case key
case optimizedForStreaming
case size
case videoProfile
}
public init(from decoder: Decoder) throws {
let container = try decoder.container(keyedBy: CodingKeys.self)
self.container = try container.decodeIfPresent(String.self, forKey: .container)
self._duration = try container.decodeIfPresent(DecimalSerialized<Double?>.self, forKey: .duration) ?? DecimalSerialized<Double?>(wrappedValue: nil)
self.file = try container.decodeIfPresent(String.self, forKey: .file)
self.has64bitOffsets = try container.decodeIfPresent(Bool.self, forKey: .has64bitOffsets)
self._hasThumbnail = try container.decodeIfPresent(DecimalSerialized<Double?>.self, forKey: .hasThumbnail) ?? DecimalSerialized<Double?>(wrappedValue: nil)
self._id = try container.decodeIfPresent(DecimalSerialized<Double?>.self, forKey: .id) ?? DecimalSerialized<Double?>(wrappedValue: nil)
self.key = try container.decodeIfPresent(String.self, forKey: .key)
self.optimizedForStreaming = try container.decodeIfPresent(Bool.self, forKey: .optimizedForStreaming)
self._size = try container.decodeIfPresent(DecimalSerialized<Double?>.self, forKey: .size) ?? DecimalSerialized<Double?>(wrappedValue: nil)
self.videoProfile = try container.decodeIfPresent(String.self, forKey: .videoProfile)
}
public func encode(to encoder: Encoder) throws {
var container = encoder.container(keyedBy: CodingKeys.self)
try container.encodeIfPresent(self.container, forKey: .container)
if self.duration != nil {
try container.encode(self._duration, forKey: .duration)
}
try container.encodeIfPresent(self.file, forKey: .file)
try container.encodeIfPresent(self.has64bitOffsets, forKey: .has64bitOffsets)
if self.hasThumbnail != nil {
try container.encode(self._hasThumbnail, forKey: .hasThumbnail)
}
if self.id != nil {
try container.encode(self._id, forKey: .id)
}
try container.encodeIfPresent(self.key, forKey: .key)
try container.encodeIfPresent(self.optimizedForStreaming, forKey: .optimizedForStreaming)
if self.size != nil {
try container.encode(self._size, forKey: .size)
}
try container.encodeIfPresent(self.videoProfile, forKey: .videoProfile)
}
}
extension Operations.GetRecentlyAddedLibraryPart {
var idWrapper: DecimalSerialized<Double?> {
return _id
}
var durationWrapper: DecimalSerialized<Double?> {
return _duration
}
var sizeWrapper: DecimalSerialized<Double?> {
return _size
}
var hasThumbnailWrapper: DecimalSerialized<Double?> {
return _hasThumbnail
}
}

View File

@@ -0,0 +1,64 @@
// Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
import Foundation
extension Operations {
/// A model object
public struct GetRecentlyAddedLibraryRequest: APIValue {
/// The type of media to retrieve.
/// 1 = movie
/// 2 = show
/// 3 = season
/// 4 = episode
/// E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries
///
public let type: Operations.QueryParamType
public let contentDirectoryID: Int?
/// Adds the Meta object to the response
///
public let includeMeta: Operations.QueryParamIncludeMeta?
public let pinnedContentDirectoryID: [Int]?
/// The library section ID for filtering content.
public let sectionID: Int?
/// The number of items to return. If not specified, all items will be returned.
/// If the number of items exceeds the limit, the response will be paginated.
/// By default this is 50
///
public let xPlexContainerSize: Int?
/// The index of the first item to return. If not specified, the first item will be returned.
/// If the number of items exceeds the limit, the response will be paginated.
/// By default this is 0
///
public let xPlexContainerStart: Int?
/// Creates an object with the specified parameters
///
/// - Parameter type: The type of media to retrieve.
/// 1 = movie
/// 2 = show
/// 3 = season
/// 4 = episode
/// E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries
///
/// - Parameter includeMeta: Adds the Meta object to the response
///
/// - Parameter sectionID: The library section ID for filtering content.
/// - 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.
/// By default this is 50
///
/// - Parameter xPlexContainerStart: The index of the first item to return. If not specified, the first item will be returned.
/// If the number of items exceeds the limit, the response will be paginated.
/// By default this is 0
///
///
public init(type: Operations.QueryParamType, contentDirectoryID: Int? = nil, includeMeta: Operations.QueryParamIncludeMeta? = nil, pinnedContentDirectoryID: [Int]? = nil, sectionID: Int? = nil, xPlexContainerSize: Int? = nil, xPlexContainerStart: Int? = nil) {
self.type = type
self.contentDirectoryID = contentDirectoryID
self.includeMeta = includeMeta
self.pinnedContentDirectoryID = pinnedContentDirectoryID
self.sectionID = sectionID
self.xPlexContainerSize = xPlexContainerSize
self.xPlexContainerStart = xPlexContainerStart
}
}}

View File

@@ -0,0 +1,41 @@
// Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
import Foundation
extension Operations {
/// A response model
public enum GetRecentlyAddedLibraryResponse {
case empty
case badRequest(Operations.GetRecentlyAddedLibraryBadRequest)
case object(Operations.GetRecentlyAddedLibraryResponseBody)
case unauthorized(Operations.GetRecentlyAddedLibraryUnauthorized)
var isEmpty: Bool {
if case .empty = self {
return true
} else {
return false
}
}
public func badRequest() throws -> Operations.GetRecentlyAddedLibraryBadRequest {
guard case .badRequest(let value) = self else {
throw PlexswiftError.missingResponseData
}
return value
}
public func object() throws -> Operations.GetRecentlyAddedLibraryResponseBody {
guard case .object(let value) = self else {
throw PlexswiftError.missingResponseData
}
return value
}
public func unauthorized() throws -> Operations.GetRecentlyAddedLibraryUnauthorized {
guard case .unauthorized(let value) = self else {
throw PlexswiftError.missingResponseData
}
return value
}
}}

View File

@@ -0,0 +1,23 @@
// Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
import Foundation
extension Operations {
/// The recently added content
public struct GetRecentlyAddedLibraryResponseBody {
public let mediaContainer: Operations.GetRecentlyAddedLibraryMediaContainer?
/// Creates an object with the specified parameters
///
///
public init(mediaContainer: Operations.GetRecentlyAddedLibraryMediaContainer? = nil) {
self.mediaContainer = mediaContainer
}
}}
extension Operations.GetRecentlyAddedLibraryResponseBody: Codable {
enum CodingKeys: String, CodingKey {
case mediaContainer = "MediaContainer"
}
}

Some files were not shown because too many files have changed in this diff Show More