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:
oAuth2ClientCredentialsEnabled: true
swift:
version: 0.7.4
version: 0.8.0
author: LukeHagar
description: Swift Client SDK Generated by Speakeasy
imports:

View File

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

View File

@@ -38,7 +38,7 @@ You can add `plexswift` to your project directly in Xcode `(File > Add Packages.
```bash
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] -->
@@ -103,12 +103,13 @@ case .empty:
### [Hubs](docs/sdks/hubs/README.md)
* [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
### [Library](docs/sdks/library/README.md)
* [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
* [getLibraryDetails](docs/sdks/library/README.md#getlibrarydetails) - Get Library Details
* [deleteLibrary](docs/sdks/library/README.md#deletelibrary) - Delete Library Section

View File

@@ -672,4 +672,14 @@ Based on:
### Generated
- [swift v0.7.4] .
### 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/GetMediaProvidersBadRequest``
- ``Operations/GetMetaDataByRatingKeyBadRequest``
- ``Operations/GetRecentlyAddedLibraryBadRequest``
- ``Operations/GetRefreshLibraryMetadataBadRequest``
- ``Operations/GetSearchLibraryBadRequest``
- ``Operations/GetServerResourcesBadRequest``
@@ -122,7 +123,6 @@ case .empty:
- ``Operations/GetPlaylistBadRequest``
- ``Operations/GetPlaylistContentsBadRequest``
- ``Operations/GetPlaylistsBadRequest``
- ``Operations/GetRecentlyAddedBadRequest``
- ``Operations/GetResizedPhotoBadRequest``
- ``Operations/GetResourcesStatisticsBadRequest``
- ``Operations/GetSearchResultsBadRequest``
@@ -175,6 +175,8 @@ case .empty:
- ``Operations/GetLibraryItemsResponse``
- ``Operations/GetMediaProvidersResponse``
- ``Operations/GetMetaDataByRatingKeyResponse``
- ``Operations/GetRecentlyAddedResponse``
- ``Operations/GetRecentlyAddedLibraryResponse``
- ``Operations/GetRefreshLibraryMetadataResponse``
- ``Operations/GetSearchLibraryResponse``
- ``Operations/GetServerIdentityResponse``
@@ -198,7 +200,6 @@ case .empty:
- ``Operations/GetPlaylistResponse``
- ``Operations/GetPlaylistContentsResponse``
- ``Operations/GetPlaylistsResponse``
- ``Operations/GetRecentlyAddedResponse``
- ``Operations/GetResizedPhotoResponse``
- ``Operations/GetResourcesStatisticsResponse``
- ``Operations/GetSearchResultsResponse``
@@ -320,34 +321,60 @@ case .empty:
- ``Operations/GetBannerImageUnauthorized``
- ``Operations/GetLibraryDetailsDirectory``
- ``Operations/GetLibraryDetailsErrors``
- ``Operations/GetLibraryDetailsField``
- ``Operations/GetLibraryDetailsFieldType``
- ``Operations/GetLibraryDetailsFilter``
- ``Operations/GetLibraryDetailsLibraryErrors``
- ``Operations/GetLibraryDetailsMediaContainer``
- ``Operations/GetLibraryDetailsOperator``
- ``Operations/GetLibraryDetailsRequest``
- ``Operations/GetLibraryDetailsResponseBody``
- ``Operations/GetLibraryDetailsSort``
- ``Operations/GetLibraryDetailsType``
- ``Operations/GetLibraryDetailsUnauthorized``
- ``Operations/GetLibraryItemsActiveDirection``
- ``Operations/GetLibraryItemsCollection``
- ``Operations/GetLibraryItemsCountry``
- ``Operations/GetLibraryItemsDefaultDirection``
- ``Operations/GetLibraryItemsDirector``
- ``Operations/GetLibraryItemsErrors``
- ``Operations/GetLibraryItemsField``
- ``Operations/GetLibraryItemsFieldType``
- ``Operations/GetLibraryItemsFilter``
- ``Operations/GetLibraryItemsFlattenSeasons``
- ``Operations/GetLibraryItemsGenre``
- ``Operations/GetLibraryItemsHasThumbnail``
- ``Operations/GetLibraryItemsImage``
- ``Operations/GetLibraryItemsLibraryActiveDirection``
- ``Operations/GetLibraryItemsLibraryDefaultDirection``
- ``Operations/GetLibraryItemsLibraryErrors``
- ``Operations/GetLibraryItemsLibraryField``
- ``Operations/GetLibraryItemsLibraryFieldType``
- ``Operations/GetLibraryItemsLibraryFilter``
- ``Operations/GetLibraryItemsLibraryOperator``
- ``Operations/GetLibraryItemsLibraryResponse200Type``
- ``Operations/GetLibraryItemsLibraryResponseType``
- ``Operations/GetLibraryItemsLibrarySort``
- ``Operations/GetLibraryItemsLibraryType``
- ``Operations/GetLibraryItemsMedia``
- ``Operations/GetLibraryItemsMediaContainer``
- ``Operations/GetLibraryItemsMediaGuid``
- ``Operations/GetLibraryItemsMeta``
- ``Operations/GetLibraryItemsMetadata``
- ``Operations/GetLibraryItemsMetaDataRating``
- ``Operations/GetLibraryItemsOperator``
- ``Operations/GetLibraryItemsOptimizedForStreaming``
- ``Operations/GetLibraryItemsPart``
- ``Operations/GetLibraryItemsQueryParamIncludeMeta``
- ``Operations/GetLibraryItemsQueryParamType``
- ``Operations/GetLibraryItemsRequest``
- ``Operations/GetLibraryItemsResponseBody``
- ``Operations/GetLibraryItemsRole``
- ``Operations/GetLibraryItemsShowOrdering``
- ``Operations/GetLibraryItemsSort``
- ``Operations/GetLibraryItemsStream``
- ``Operations/GetLibraryItemsType``
- ``Operations/GetLibraryItemsUltraBlurColors``
- ``Operations/GetLibraryItemsUnauthorized``
- ``Operations/GetLibraryItemsWriter``
- ``Operations/GetMediaProvidersDirectory``
@@ -369,8 +396,40 @@ case .empty:
- ``Operations/GetMetaDataByRatingKeyRequest``
- ``Operations/GetMetaDataByRatingKeyResponseBody``
- ``Operations/GetMetaDataByRatingKeyRole``
- ``Operations/GetMetaDataByRatingKeyStream``
- ``Operations/GetMetaDataByRatingKeyUnauthorized``
- ``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/GetRefreshLibraryMetadataLibraryErrors``
- ``Operations/GetRefreshLibraryMetadataRequest``
@@ -379,6 +438,7 @@ case .empty:
- ``Operations/GetSearchLibraryLibraryErrors``
- ``Operations/GetSearchLibraryMediaContainer``
- ``Operations/GetSearchLibraryMetadata``
- ``Operations/GetSearchLibraryQueryParamType``
- ``Operations/GetSearchLibraryRequest``
- ``Operations/GetSearchLibraryResponseBody``
- ``Operations/GetSearchLibraryUnauthorized``
@@ -511,13 +571,6 @@ case .empty:
- ``Operations/GetPlaylistsRequest``
- ``Operations/GetPlaylistsResponseBody``
- ``Operations/GetPlaylistsUnauthorized``
- ``Operations/GetRecentlyAddedErrors``
- ``Operations/GetRecentlyAddedLibraryErrors``
- ``Operations/GetRecentlyAddedMediaContainer``
- ``Operations/GetRecentlyAddedMetadata``
- ``Operations/GetRecentlyAddedRequest``
- ``Operations/GetRecentlyAddedResponseBody``
- ``Operations/GetRecentlyAddedUnauthorized``
- ``Operations/GetResizedPhotoErrors``
- ``Operations/GetResizedPhotoRequest``
- ``Operations/GetResizedPhotoServerErrors``
@@ -652,7 +705,6 @@ case .empty:
- ``Operations/IncludeRelay``
- ``Operations/InternalPaymentMethod``
- ``Operations/Level``
- ``Operations/LibrarySectionID``
- ``Operations/Libtype``
- ``Operations/Location``
- ``Operations/LogLineErrors``
@@ -678,10 +730,12 @@ case .empty:
- ``Operations/MediaReviewsVisibility``
- ``Operations/Meta``
- ``Operations/Metadata``
- ``Operations/MetaDataRating``
- ``Operations/MinSize``
- ``Operations/MyPlex``
- ``Operations/OnlyTransient``
- ``Operations/Operator``
- ``Operations/OptimizedForStreaming``
- ``Operations/Part``
- ``Operations/PastSubscription``
- ``Operations/PathParamTaskName``
@@ -709,6 +763,7 @@ case .empty:
- ``Operations/PostUsersSignInDataFeatures``
- ``Operations/PostUsersSignInDataMailingListStatus``
- ``Operations/PostUsersSignInDataMediaReviewsVisibility``
- ``Operations/PostUsersSignInDataRequest``
- ``Operations/PostUsersSignInDataRequestBody``
- ``Operations/PostUsersSignInDataServices``
- ``Operations/PostUsersSignInDataState``
@@ -723,6 +778,7 @@ case .empty:
- ``Operations/Provider``
- ``Operations/QueryParamFilter``
- ``Operations/QueryParamForce``
- ``Operations/QueryParamIncludeMeta``
- ``Operations/QueryParamOnlyTransient``
- ``Operations/QueryParamSmart``
- ``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(
with: try server?.server() ?? AuthenticationServers.PostUsersSignInData.default(),
configureRequest: { configuration in
@@ -72,11 +72,12 @@ private func configureGetTokenDetailsRequest(with configuration: URLRequestConfi
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.method = .post
configuration.queryParameterSerializable = request
configuration.contentType = "application/x-www-form-urlencoded"
configuration.body = try serializeFormData(with: request)
configuration.body = try serializeFormData(with: request.requestBody)
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> {
return try await client.makeRequest(
configureRequest: { configuration in
@@ -39,6 +48,13 @@ private func configureGetGlobalHubsRequest(with configuration: URLRequestConfigu
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 {
configuration.path = "/hubs/sections/{sectionId}"
configuration.method = .get
@@ -81,6 +97,24 @@ private func handleGetGlobalHubsResponse(response: Client.APIResponse) throws ->
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 {
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(
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
}
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.method = .get
configuration.queryParameterSerializable = request
@@ -237,13 +237,13 @@ private func handleGetFileHashResponse(response: Client.APIResponse) throws -> O
return .empty
}
private func handleGetRecentlyAddedResponse(response: Client.APIResponse) throws -> Operations.GetRecentlyAddedResponse {
private func handleGetRecentlyAddedLibraryResponse(response: Client.APIResponse) throws -> Operations.GetRecentlyAddedLibraryResponse {
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))
return .object(try JSONDecoder().decode(Operations.GetRecentlyAddedLibraryResponseBody.self, from: data))
} catch {
throw ResponseHandlerError.failedToDecodeJSON(error)
}
@@ -251,7 +251,7 @@ private func handleGetRecentlyAddedResponse(response: Client.APIResponse) throws
} else if httpResponse.statusCode == 400 {
if httpResponse.contentType.matchContentType(pattern: "application/json"), let data = response.data {
do {
return .badRequest(try JSONDecoder().decode(Operations.GetRecentlyAddedBadRequest.self, from: data))
return .badRequest(try JSONDecoder().decode(Operations.GetRecentlyAddedLibraryBadRequest.self, from: data))
} catch {
throw ResponseHandlerError.failedToDecodeJSON(error)
}
@@ -259,7 +259,7 @@ private func handleGetRecentlyAddedResponse(response: Client.APIResponse) throws
} else if httpResponse.statusCode == 401 {
if httpResponse.contentType.matchContentType(pattern: "application/json"), let data = response.data {
do {
return .unauthorized(try JSONDecoder().decode(Operations.GetRecentlyAddedUnauthorized.self, from: data))
return .unauthorized(try JSONDecoder().decode(Operations.GetRecentlyAddedLibraryUnauthorized.self, from: data))
} catch {
throw ResponseHandlerError.failedToDecodeJSON(error)
}

View File

@@ -3,7 +3,7 @@
import Foundation
extension Operations.GetLibraryItemsLibraryResponseType: Serializable {
extension Operations.GetLibraryItemsActiveDirection: Serializable {
func serialize(with format: SerializableFormat) throws -> String {
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 {
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)

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 {
func serializedQueryParameters(with parameterDefaults: ParameterDefaults?, formatOverride: SerializableFormat?) throws -> [QueryParameter] {
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: xPlexContainerStart, named: "X-Plex-Container-Start", 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.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
extension Operations.GetLibraryItemsType: Serializable {
extension Operations.OptimizedForStreaming: Serializable {
func serialize(with format: SerializableFormat) throws -> String {
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 {
/// A model object
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 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) {
public init(key: String, title: String, type: String, subType: String? = nil) {
self.key = key
self.subType = subType
self.title = title
self.type = type
self.subType = subType
}
}}
extension Operations.Field: Codable {
enum CodingKeys: String, CodingKey {
case key
case subType
case title
case type
case subType
}
}

View File

@@ -5,13 +5,13 @@ import Foundation
extension Operations {
/// A model object
public struct FieldType {
public let `operator`: [Operations.Operator]?
public let type: String?
public let `operator`: [Operations.Operator]
public let type: String
/// 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.type = type
}

View File

@@ -10,6 +10,7 @@ extension Operations {
public let art: String
public let composite: String
public let content: Bool
/// Unix epoch datetime in seconds
public let contentChangedAt: Int
/// Unix epoch datetime in seconds
public let createdAt: Int
@@ -32,6 +33,7 @@ extension Operations {
/// Creates an object with the specified parameters
///
/// - Parameter contentChangedAt: Unix epoch datetime in seconds
/// - Parameter createdAt: Unix epoch datetime in seconds
/// - Parameter scannedAt: 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 content: String?
public let directory: [Operations.GetLibraryDetailsDirectory]?
public let fieldType: [Operations.FieldType]?
public let fieldType: [Operations.GetLibraryDetailsFieldType]?
public let identifier: String?
public let librarySectionID: Int?
public let mediaTagPrefix: String?
@@ -24,7 +24,7 @@ extension Operations {
/// 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.art = art
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
public struct GetLibraryDetailsType {
public let active: Bool?
public let field: [Operations.Field]?
public let field: [Operations.GetLibraryDetailsField]?
public let filter: [Operations.GetLibraryDetailsFilter]?
public let key: String?
public let sort: [Operations.Sort]?
public let sort: [Operations.GetLibraryDetailsSort]?
public let title: String?
public let type: String?
/// 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.field = field
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
public struct GetLibraryItemsImage {
public let alt: String
public let type: Operations.GetLibraryItemsLibraryResponseType
public let type: Operations.GetLibraryItemsLibraryResponse200Type
public let url: String
/// 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.type = type
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
extension Operations {
public enum GetLibraryItemsLibraryResponseType: String, Codable, APIValue {
case coverPoster = "coverPoster"
case background = "background"
case snapshot = "snapshot"
case clearLogo = "clearLogo"
/// A model object
public struct GetLibraryItemsLibraryResponseType {
public let active: Bool
public let key: String
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
extension Operations {
/// A model object
public struct GetLibraryItemsLibraryType {
public let active: Bool
public let key: String
public let title: String
public let type: String
public let field: [Operations.GetLibraryItemsField]?
public let filter: [Operations.GetLibraryItemsFilter]?
public let sort: [Operations.GetLibraryItemsSort]?
/// Creates an object with the specified parameters
///
///
public init(active: Bool, key: String, title: String, type: String, field: [Operations.GetLibraryItemsField]? = nil, filter: [Operations.GetLibraryItemsFilter]? = nil, sort: [Operations.GetLibraryItemsSort]? = nil) {
self.active = active
self.key = key
self.title = title
self.type = type
self.field = field
self.filter = filter
self.sort = sort
}
/// The type of media content
///
public enum GetLibraryItemsLibraryType: String, Codable, APIValue {
case movie = "movie"
case tvShow = "show"
case season = "season"
case episode = "episode"
}}
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 width: Int
public let audioProfile: String?
public let has64bitOffsets: Bool?
public let hasVoiceActivity: Bool?
public let optimizedForStreaming: Operations.GetLibraryItemsOptimizedForStreaming?
/// 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.audioChannels = audioChannels
self.audioCodec = audioCodec
@@ -42,7 +44,9 @@ extension Operations {
self.videoResolution = videoResolution
self.width = width
self.audioProfile = audioProfile
self.has64bitOffsets = has64bitOffsets
self.hasVoiceActivity = hasVoiceActivity
self.optimizedForStreaming = optimizedForStreaming
}
}}
@@ -63,7 +67,9 @@ extension Operations.GetLibraryItemsMedia: Codable {
case videoResolution
case width
case audioProfile
case has64bitOffsets
case hasVoiceActivity
case optimizedForStreaming
}
public init(from decoder: Decoder) throws {
@@ -83,7 +89,9 @@ extension Operations.GetLibraryItemsMedia: Codable {
self.videoResolution = try container.decode(String.self, forKey: .videoResolution)
self.width = try container.decode(Int.self, forKey: .width)
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.optimizedForStreaming = try container.decodeIfPresent(Operations.GetLibraryItemsOptimizedForStreaming.self, forKey: .optimizedForStreaming)
}
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.width, forKey: .width)
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.optimizedForStreaming, forKey: .optimizedForStreaming)
}
}

View File

@@ -3,13 +3,14 @@
import Foundation
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 let allowSync: Bool
public let art: String
public let content: String
public let identifier: String
public let librarySectionID: Operations.LibrarySectionID
public let librarySectionID: Int
public let librarySectionTitle: String
public let librarySectionUUID: String
public let mediaTagPrefix: String
@@ -22,11 +23,13 @@ extension Operations {
public let title2: String
public let totalSize: Int
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`.
///
public let meta: Operations.Meta?
public let meta: Operations.GetLibraryItemsMeta?
public let mixedParents: Bool?
public let nocache: Bool?
public let type: [Operations.GetLibraryItemsType]?
public let viewMode: Int?
/// 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`.
///
///
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.art = art
self.content = content
@@ -52,9 +55,11 @@ extension Operations {
self.title2 = title2
self.totalSize = totalSize
self.viewGroup = viewGroup
self.fieldType = fieldType
self.meta = meta
self.mixedParents = mixedParents
self.nocache = nocache
self.type = type
self.viewMode = viewMode
}
}}
@@ -78,9 +83,11 @@ extension Operations.GetLibraryItemsMediaContainer: Codable {
case title2
case totalSize
case viewGroup
case fieldType = "FieldType"
case meta = "Meta"
case mixedParents
case nocache
case type = "Type"
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
/// The type of media content
///
public let type: Operations.GetLibraryItemsType
public let type: Operations.GetLibraryItemsLibraryType
public let art: String?
@DecimalSerialized
public private(set) var audienceRating: Double?
@@ -25,12 +25,12 @@ extension Operations {
public let banner: String?
public let chapterSource: String?
public let childCount: Int?
public let collection: [Operations.Collection]?
public let collection: [Operations.GetLibraryItemsCollection]?
public let contentRating: String?
public let country: [Operations.GetLibraryItemsCountry]?
public let director: [Operations.GetLibraryItemsDirector]?
public let duration: Int?
public let flattenSeasons: Operations.FlattenSeasons?
public let flattenSeasons: Operations.GetLibraryItemsFlattenSeasons?
public let genre: [Operations.GetLibraryItemsGenre]?
public let grandparentArt: String?
public let grandparentGuid: String?
@@ -46,12 +46,16 @@ extension Operations {
public let index: Int?
public let lastViewedAt: 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.
///
public let media: [Operations.GetLibraryItemsMedia]?
/// 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
public private(set) var originallyAvailableAt: Date?
public let originalTitle: String?
@@ -61,6 +65,7 @@ extension Operations {
/// The rating key of the parent item.
///
public let parentRatingKey: String?
public let parentSlug: String?
public let parentStudio: String?
public let parentTheme: String?
public let parentThumb: String?
@@ -79,7 +84,7 @@ extension Operations {
/// dvd = TheTVDB (DVD),
/// absolute = TheTVDB (Absolute)).
///
public let showOrdering: Operations.ShowOrdering?
public let showOrdering: Operations.GetLibraryItemsShowOrdering?
public let skipChildren: Bool?
public let skipCount: Int?
public let slug: String?
@@ -88,7 +93,7 @@ extension Operations {
public let theme: String?
public let thumb: String?
public let titleSort: String?
public let ultraBlurColors: Operations.UltraBlurColors?
public let ultraBlurColors: Operations.GetLibraryItemsUltraBlurColors?
/// Unix epoch datetime in seconds
public let updatedAt: Int?
public let viewCount: Int?
@@ -120,7 +125,7 @@ extension Operations {
///
/// - 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.guid = guid
self.key = key
@@ -155,14 +160,19 @@ extension Operations {
self.index = index
self.lastViewedAt = lastViewedAt
self.leafCount = leafCount
self.librarySectionID = librarySectionID
self.librarySectionKey = librarySectionKey
self.librarySectionTitle = librarySectionTitle
self.media = media
self.mediaGuid = mediaGuid
self.metaDataRating = metaDataRating
self._originallyAvailableAt = DateOnly<Date?>(wrappedValue: originallyAvailableAt)
self.originalTitle = originalTitle
self.parentGuid = parentGuid
self.parentIndex = parentIndex
self.parentKey = parentKey
self.parentRatingKey = parentRatingKey
self.parentSlug = parentSlug
self.parentStudio = parentStudio
self.parentTheme = parentTheme
self.parentThumb = parentThumb
@@ -228,14 +238,19 @@ extension Operations.GetLibraryItemsMetadata: Codable {
case index
case lastViewedAt
case leafCount
case librarySectionID
case librarySectionKey
case librarySectionTitle
case media = "Media"
case mediaGuid = "Guid"
case metaDataRating = "Rating"
case originallyAvailableAt
case originalTitle
case parentGuid
case parentIndex
case parentKey
case parentRatingKey
case parentSlug
case parentStudio
case parentTheme
case parentThumb
@@ -272,19 +287,19 @@ extension Operations.GetLibraryItemsMetadata: Codable {
self.ratingKey = try container.decode(String.self, forKey: .ratingKey)
self.summary = try container.decode(String.self, forKey: .summary)
self.title = try container.decode(String.self, forKey: .title)
self.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._audienceRating = try container.decodeIfPresent(DecimalSerialized<Double?>.self, forKey: .audienceRating) ?? DecimalSerialized<Double?>(wrappedValue: nil)
self.audienceRatingImage = try container.decodeIfPresent(String.self, forKey: .audienceRatingImage)
self.banner = try container.decodeIfPresent(String.self, forKey: .banner)
self.chapterSource = try container.decodeIfPresent(String.self, forKey: .chapterSource)
self.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.country = try container.decodeIfPresent([Operations.GetLibraryItemsCountry].self, forKey: .country)
self.director = try container.decodeIfPresent([Operations.GetLibraryItemsDirector].self, forKey: .director)
self.duration = try container.decodeIfPresent(Int.self, forKey: .duration)
self.flattenSeasons = try container.decodeIfPresent(Operations.FlattenSeasons.self, forKey: .flattenSeasons)
self.flattenSeasons = try container.decodeIfPresent(Operations.GetLibraryItemsFlattenSeasons.self, forKey: .flattenSeasons)
self.genre = try container.decodeIfPresent([Operations.GetLibraryItemsGenre].self, forKey: .genre)
self.grandparentArt = try container.decodeIfPresent(String.self, forKey: .grandparentArt)
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.lastViewedAt = try container.decodeIfPresent(Int.self, forKey: .lastViewedAt)
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.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.originalTitle = try container.decodeIfPresent(String.self, forKey: .originalTitle)
self.parentGuid = try container.decodeIfPresent(String.self, forKey: .parentGuid)
self.parentIndex = try container.decodeIfPresent(Int.self, forKey: .parentIndex)
self.parentKey = try container.decodeIfPresent(String.self, forKey: .parentKey)
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.parentTheme = try container.decodeIfPresent(String.self, forKey: .parentTheme)
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.role = try container.decodeIfPresent([Operations.GetLibraryItemsRole].self, forKey: .role)
self.seasonCount = try container.decodeIfPresent(Int.self, forKey: .seasonCount)
self.showOrdering = try container.decodeIfPresent(Operations.ShowOrdering.self, forKey: .showOrdering)
self.showOrdering = try container.decodeIfPresent(Operations.GetLibraryItemsShowOrdering.self, forKey: .showOrdering)
self.skipChildren = try container.decodeIfPresent(Bool.self, forKey: .skipChildren)
self.skipCount = try container.decodeIfPresent(Int.self, forKey: .skipCount)
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.thumb = try container.decodeIfPresent(String.self, forKey: .thumb)
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.viewCount = try container.decodeIfPresent(Int.self, forKey: .viewCount)
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.lastViewedAt, forKey: .lastViewedAt)
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.mediaGuid, forKey: .mediaGuid)
try container.encodeIfPresent(self.metaDataRating, forKey: .metaDataRating)
if self.originallyAvailableAt != nil {
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.parentKey, forKey: .parentKey)
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.parentTheme, forKey: .parentTheme)
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 videoProfile: 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 optimizedForStreaming: Bool?
public let stream: [Operations.GetLibraryItemsStream]?
/// Creates an object with the specified parameters
///
/// - 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.duration = duration
self.file = file
@@ -32,8 +35,11 @@ extension Operations {
self.size = size
self.videoProfile = videoProfile
self.audioProfile = audioProfile
self.has64bitOffsets = has64bitOffsets
self.hasThumbnail = hasThumbnail
self.indexes = indexes
self.optimizedForStreaming = optimizedForStreaming
self.stream = stream
}
}}
@@ -47,8 +53,11 @@ extension Operations.GetLibraryItemsPart: Codable {
case size
case videoProfile
case audioProfile
case has64bitOffsets
case hasThumbnail
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?
/// Adds the Meta object to the response
///
public let includeMeta: Operations.IncludeMeta?
public let includeMeta: Operations.GetLibraryItemsQueryParamIncludeMeta?
/// The type of media to retrieve.
/// 1 = movie
/// 2 = show
@@ -24,7 +24,7 @@ extension Operations {
/// 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.TypeModel?
public let type: Operations.GetLibraryItemsQueryParamType?
/// 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
@@ -62,7 +62,7 @@ extension Operations {
/// 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.tag = tag
self.includeGuids = includeGuids

View File

@@ -5,19 +5,46 @@ import Foundation
extension Operations {
/// A model object
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?
/// 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
///
/// - 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.tagKey = tagKey
self.thumb = thumb
}
}}
extension Operations.GetLibraryItemsRole: Codable {
enum CodingKeys: String, CodingKey {
case filter
case id
case role
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 {
/// 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 title: String
public let active: Bool?
/// 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 descKey: String?
public let firstCharacterKey: String?
@@ -25,7 +25,7 @@ extension Operations {
/// - 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.key = key
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
extension Operations {
/// The type of media content
///
public enum GetLibraryItemsType: String, Codable, APIValue {
case movie = "movie"
case tvShow = "show"
case season = "season"
case episode = "episode"
/// 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 init(active: Bool, key: String, title: String, type: String, field: [Operations.GetLibraryItemsField]? = nil, filter: [Operations.GetLibraryItemsFilter]? = nil, sort: [Operations.GetLibraryItemsSort]? = nil) {
self.active = active
self.key = key
self.title = title
self.type = type
self.field = field
self.filter = filter
self.sort = sort
}
}}
extension Operations.GetLibraryItemsType: Codable {
enum CodingKeys: String, CodingKey {
case active
case key
case title
case type
case field = "Field"
case filter = "Filter"
case sort = "Sort"
}
}

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 optimizedForStreaming: Bool?
public let size: Int?
public let stream: [Operations.Stream]?
public let stream: [Operations.GetMetaDataByRatingKeyStream]?
public let videoProfile: String?
/// 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.container = container
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 {
/// A model object
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 clientPlatform: String?
public let clientVersion: String?
@@ -17,12 +22,17 @@ extension Operations {
/// 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
/// Strong codes are used for Pin authentication flows
/// 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.clientPlatform = clientPlatform
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
extension Operations {
/// Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
public struct GetRecentlyAddedUnauthorized {
/// Bad Request - A parameter was not specified, or was specified incorrectly.
public struct GetRecentlyAddedLibraryBadRequest {
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) {
@@ -15,7 +15,7 @@ extension Operations {
}
}}
extension Operations.GetRecentlyAddedUnauthorized: Codable {
extension Operations.GetRecentlyAddedLibraryBadRequest: Codable {
enum CodingKeys: String, CodingKey {
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 {
/// A model object
public struct GetRecentlyAddedErrors {
public struct GetRecentlyAddedLibraryLibraryErrors {
public let code: Int?
public let message: String?
public let status: Int?
@@ -19,7 +19,7 @@ extension Operations {
}
}}
extension Operations.GetRecentlyAddedErrors: Codable {
extension Operations.GetRecentlyAddedLibraryLibraryErrors: Codable {
enum CodingKeys: String, CodingKey {
case code
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