ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.295.1

This commit is contained in:
speakeasybot
2024-05-23 15:57:47 +00:00
parent 2ada605e1d
commit 6b8d369625
30 changed files with 1756 additions and 634 deletions

View File

@@ -1,12 +1,12 @@
lockVersion: 2.0.0
id: 5d77204e-e413-4fd0-a14a-bad3aee2247a
management:
docChecksum: 543cb95355401d2e3c2ba11a50d9dd94
docChecksum: 911d74baa0d06121d2ce2c71d94e977a
docVersion: 0.0.3
speakeasyVersion: 1.285.0
generationVersion: 2.326.3
releaseVersion: 0.2.0
configChecksum: 8e59cbc89b7aa4f53dedf1cd0d7d10a9
speakeasyVersion: 1.295.1
generationVersion: 2.335.5
releaseVersion: 0.3.0
configChecksum: ff83ff18de944ae2a94ad7cd0e953eeb
repoURL: https://github.com/LukeHagar/plexswift.git
features:
swift:
@@ -16,7 +16,6 @@ features:
globals: 2.81.3
methodServerURLs: 3.0.1
nameOverrides: 2.81.2
unions: 2.81.4
generatedFiles:
- Sources/Plexswift/internal/api/_ServerAPI.swift
- Sources/Plexswift/internal/api/_MediaAPI.swift
@@ -176,6 +175,21 @@ generatedFiles:
- Sources/Plexswift/models/operations/GetLibraryHubsResponseBody.swift
- Sources/Plexswift/models/operations/GetLibraryHubsRole.swift
- Sources/Plexswift/models/operations/GetLibraryHubsWriter.swift
- Sources/Plexswift/models/operations/GetLibraryItemsCountry.swift
- Sources/Plexswift/models/operations/GetLibraryItemsDirector.swift
- Sources/Plexswift/models/operations/GetLibraryItemsErrors.swift
- Sources/Plexswift/models/operations/GetLibraryItemsGenre.swift
- Sources/Plexswift/models/operations/GetLibraryItemsLibraryResponseBody.swift
- Sources/Plexswift/models/operations/GetLibraryItemsMedia.swift
- Sources/Plexswift/models/operations/GetLibraryItemsMediaContainer.swift
- Sources/Plexswift/models/operations/GetLibraryItemsMetadata.swift
- Sources/Plexswift/models/operations/GetLibraryItemsPart.swift
- Sources/Plexswift/models/operations/GetLibraryItemsRequest.swift
- Sources/Plexswift/internal/models/GetLibraryItemsRequest+Serialization.swift
- Sources/Plexswift/models/operations/GetLibraryItemsResponse.swift
- Sources/Plexswift/models/operations/GetLibraryItemsResponseBody.swift
- Sources/Plexswift/models/operations/GetLibraryItemsRole.swift
- Sources/Plexswift/models/operations/GetLibraryItemsWriter.swift
- Sources/Plexswift/models/operations/GetLibraryLibraryResponseBody.swift
- Sources/Plexswift/models/operations/GetLibraryMediaContainer.swift
- Sources/Plexswift/models/operations/GetLibraryRequest.swift
@@ -430,6 +444,8 @@ generatedFiles:
- Sources/Plexswift/models/operations/Role.swift
- Sources/Plexswift/models/operations/Scope.swift
- Sources/Plexswift/internal/models/Scope+Serialization.swift
- Sources/Plexswift/models/operations/SearchLibraryErrors.swift
- Sources/Plexswift/models/operations/SearchLibraryLibraryResponseBody.swift
- Sources/Plexswift/models/operations/SearchLibraryMediaContainer.swift
- Sources/Plexswift/models/operations/SearchLibraryMetadata.swift
- Sources/Plexswift/models/operations/SearchLibraryRequest.swift
@@ -474,6 +490,8 @@ generatedFiles:
- Sources/Plexswift/models/operations/StopTranscodeSessionResponse.swift
- Sources/Plexswift/models/operations/StopTranscodeSessionResponseBody.swift
- Sources/Plexswift/models/operations/Stream.swift
- Sources/Plexswift/models/operations/Tag.swift
- Sources/Plexswift/internal/models/Tag+Serialization.swift
- Sources/Plexswift/models/operations/TaskName.swift
- Sources/Plexswift/internal/models/TaskName+Serialization.swift
- Sources/Plexswift/models/operations/Tonight.swift

View File

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

View File

@@ -2,8 +2,8 @@ speakeasyVersion: 1.285.1
sources:
my-source:
sourceNamespace: my-source
sourceRevisionDigest: sha256:e57617d6790e0c330a0f2ef55e81649186eadee60f384fed42d595467de07223
sourceBlobDigest: sha256:f777b439dbc2105056327d987ec43579164f73d7c9b5be957b87b728df3e0cc6
sourceRevisionDigest: sha256:a0cdc9c76197fd535824e7065b0f253e299c9ca5a722edced811eb3cdc5f0b95
sourceBlobDigest: sha256:55331272dbf4a3cc2212f7db12f93574f3d6633a5fb8bd07f5c3dc05630426fc
tags:
- latest
- main
@@ -11,8 +11,8 @@ targets:
plexswift:
source: my-source
sourceNamespace: my-source
sourceRevisionDigest: sha256:e57617d6790e0c330a0f2ef55e81649186eadee60f384fed42d595467de07223
sourceBlobDigest: sha256:f777b439dbc2105056327d987ec43579164f73d7c9b5be957b87b728df3e0cc6
sourceRevisionDigest: sha256:a0cdc9c76197fd535824e7065b0f253e299c9ca5a722edced811eb3cdc5f0b95
sourceBlobDigest: sha256:55331272dbf4a3cc2212f7db12f93574f3d6633a5fb8bd07f5c3dc05630426fc
outLocation: /github/workspace/repo
workflow:
workflowVersion: 1.0.0

View File

@@ -22,7 +22,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.2.0"))
.package(url: "https://github.com/LukeHagar/plexswift.git", .upToNextMajor(from: "0.3.0"))
]
```
<!-- End SDK Installation [installation] -->

View File

@@ -233,3 +233,13 @@ Based on:
- [swift v0.2.0] .
### Releases
- [Swift Package Manager v0.2.0] https://github.com/LukeHagar/plexswift/releases/tag/v0.2.0 - .
## 2024-05-23 15:57:01
### Changes
Based on:
- OpenAPI Doc
- Speakeasy CLI 1.295.1 (2.335.5) https://github.com/speakeasy-api/speakeasy
### Generated
- [swift v0.3.0] .
### Releases
- [Swift Package Manager v0.3.0] https://github.com/LukeHagar/plexswift/releases/tag/v0.3.0 - .

View File

@@ -93,6 +93,7 @@ case .empty:
- ``Operations/GetLibrariesResponse``
- ``Operations/GetLibraryResponse``
- ``Operations/GetLibraryHubsResponse``
- ``Operations/GetLibraryItemsResponse``
- ``Operations/GetMetadataResponse``
- ``Operations/GetMetadataChildrenResponse``
- ``Operations/GetMyPlexAccountResponse``
@@ -232,6 +233,19 @@ case .empty:
- ``Operations/GetLibraryHubsResponseBody``
- ``Operations/GetLibraryHubsRole``
- ``Operations/GetLibraryHubsWriter``
- ``Operations/GetLibraryItemsCountry``
- ``Operations/GetLibraryItemsDirector``
- ``Operations/GetLibraryItemsErrors``
- ``Operations/GetLibraryItemsGenre``
- ``Operations/GetLibraryItemsLibraryResponseBody``
- ``Operations/GetLibraryItemsMedia``
- ``Operations/GetLibraryItemsMediaContainer``
- ``Operations/GetLibraryItemsMetadata``
- ``Operations/GetLibraryItemsPart``
- ``Operations/GetLibraryItemsRequest``
- ``Operations/GetLibraryItemsResponseBody``
- ``Operations/GetLibraryItemsRole``
- ``Operations/GetLibraryItemsWriter``
- ``Operations/GetMetadataCountry``
- ``Operations/GetMetadataDirector``
- ``Operations/GetMetadataErrors``
@@ -417,6 +431,8 @@ case .empty:
- ``Operations/Release``
- ``Operations/Role``
- ``Operations/Scope``
- ``Operations/SearchLibraryErrors``
- ``Operations/SearchLibraryLibraryResponseBody``
- ``Operations/SearchLibraryMediaContainer``
- ``Operations/SearchLibraryMetadata``
- ``Operations/SearchLibraryRequest``
@@ -446,6 +462,7 @@ case .empty:
- ``Operations/StopTranscodeSessionRequest``
- ``Operations/StopTranscodeSessionResponseBody``
- ``Operations/Stream``
- ``Operations/Tag``
- ``Operations/TaskName``
- ``Operations/Tonight``
- ``Operations/TranscodeSession``

View File

@@ -55,6 +55,15 @@ class _LibraryAPI: LibraryAPI {
)
}
public func getLibraryItems(request: Operations.GetLibraryItemsRequest) async throws -> Response<Operations.GetLibraryItemsResponse> {
return try await client.makeRequest(
configureRequest: { configuration in
try configureGetLibraryItemsRequest(with: configuration, request: request)
},
handleResponse: handleGetLibraryItemsResponse
)
}
public func refreshLibrary(request: Operations.RefreshLibraryRequest) async throws -> Response<Operations.RefreshLibraryResponse> {
return try await client.makeRequest(
configureRequest: { configuration in
@@ -138,6 +147,13 @@ private func configureDeleteLibraryRequest(with configuration: URLRequestConfigu
configuration.telemetryHeader = .userAgent
}
private func configureGetLibraryItemsRequest(with configuration: URLRequestConfiguration, request: Operations.GetLibraryItemsRequest) throws {
configuration.path = "/library/sections/{sectionId}/{tag}"
configuration.method = .get
configuration.pathParameterSerializable = request
configuration.telemetryHeader = .userAgent
}
private func configureRefreshLibraryRequest(with configuration: URLRequestConfiguration, request: Operations.RefreshLibraryRequest) throws {
configuration.path = "/library/sections/{sectionId}/refresh"
configuration.method = .get
@@ -289,6 +305,32 @@ private func handleDeleteLibraryResponse(response: Client.APIResponse) throws ->
return .empty
}
private func handleGetLibraryItemsResponse(response: Client.APIResponse) throws -> Operations.GetLibraryItemsResponse {
let httpResponse = response.httpResponse
if httpResponse.statusCode == 200 {
if httpResponse.contentType.matchContentType(pattern: "application/json"), let data = response.data {
do {
return .twoHundredApplicationJsonObject(try JSONDecoder().decode(Operations.GetLibraryItemsResponseBody.self, from: data))
} catch {
throw ResponseHandlerError.failedToDecodeJSON(error)
}
}
} else if httpResponse.statusCode == 400 {
return .empty
} else if httpResponse.statusCode == 401 {
if httpResponse.contentType.matchContentType(pattern: "application/json"), let data = response.data {
do {
return .fourHundredAndOneApplicationJsonObject(try JSONDecoder().decode(Operations.GetLibraryItemsLibraryResponseBody.self, from: data))
} catch {
throw ResponseHandlerError.failedToDecodeJSON(error)
}
}
}
return .empty
}
private func handleRefreshLibraryResponse(response: Client.APIResponse) throws -> Operations.RefreshLibraryResponse {
let httpResponse = response.httpResponse
@@ -313,7 +355,17 @@ private func handleSearchLibraryResponse(response: Client.APIResponse) throws ->
if httpResponse.statusCode == 200 {
if httpResponse.contentType.matchContentType(pattern: "application/json"), let data = response.data {
do {
return .object(try JSONDecoder().decode(Operations.SearchLibraryResponseBody.self, from: data))
return .twoHundredApplicationJsonObject(try JSONDecoder().decode(Operations.SearchLibraryResponseBody.self, from: data))
} catch {
throw ResponseHandlerError.failedToDecodeJSON(error)
}
}
} else if httpResponse.statusCode == 400 {
return .empty
} else if httpResponse.statusCode == 401 {
if httpResponse.contentType.matchContentType(pattern: "application/json"), let data = response.data {
do {
return .fourHundredAndOneApplicationJsonObject(try JSONDecoder().decode(Operations.SearchLibraryLibraryResponseBody.self, from: data))
} catch {
throw ResponseHandlerError.failedToDecodeJSON(error)
}

View File

@@ -0,0 +1,24 @@
// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
import Foundation
extension Operations.GetLibraryItemsRequest: Serializable {
func serialize(with format: SerializableFormat) throws -> String {
switch format {
case .path:
return try serializePathParameterSerializable(self, with: format)
case .query, .header, .multipart, .form:
throw SerializationError.invalidSerializationParameter(type: "Operations.GetLibraryItemsRequest", format: format.formatDescription)
}
}
}
extension Operations.GetLibraryItemsRequest: PathParameterSerializable {
func serializedPathParameters(formatOverride: SerializableFormat?) throws -> [String: String] {
return [
"sectionId": try sectionId.serialize(with: formatOverride ?? .path(explode: false)),
"tag": try tag.serialize(with: formatOverride ?? .path(explode: false)),
].compactMapValues { $0 }
}
}

View File

@@ -0,0 +1,14 @@
// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
import Foundation
extension Operations.Tag: 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,24 @@
// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
import Foundation
extension Operations {
/// A model object
public struct GetLibraryItemsCountry {
public let tag: String?
/// Creates an object with the specified parameters
///
///
public init(tag: String? = nil) {
self.tag = tag
}
}
}
extension Operations.GetLibraryItemsCountry: Codable {
enum CodingKeys: String, CodingKey {
case tag
}
}

View File

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

View File

@@ -0,0 +1,58 @@
// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
import Foundation
extension Operations {
/// A model object
public struct GetLibraryItemsErrors {
@DecimalSerialized
public private(set) var code: Double?
public let message: String?
@DecimalSerialized
public private(set) var status: Double?
/// Creates an object with the specified parameters
///
///
public init(code: Double? = nil, message: String? = nil, status: Double? = nil) {
self._code = DecimalSerialized<Double?>(wrappedValue: code)
self.message = message
self._status = DecimalSerialized<Double?>(wrappedValue: status)
}
}
}
extension Operations.GetLibraryItemsErrors: Codable {
enum CodingKeys: String, CodingKey {
case code
case message
case status
}
public init(from decoder: Decoder) throws {
let container = try decoder.container(keyedBy: CodingKeys.self)
self._code = try container.decodeIfPresent(DecimalSerialized<Double?>.self, forKey: .code) ?? DecimalSerialized<Double?>(wrappedValue: nil)
self.message = try container.decodeIfPresent(String.self, forKey: .message)
self._status = try container.decodeIfPresent(DecimalSerialized<Double?>.self, forKey: .status) ?? DecimalSerialized<Double?>(wrappedValue: nil)
}
public func encode(to encoder: Encoder) throws {
var container = encoder.container(keyedBy: CodingKeys.self)
if self.code != nil {
try container.encode(self._code, forKey: .code)
}
try container.encodeIfPresent(self.message, forKey: .message)
if self.status != nil {
try container.encode(self._status, forKey: .status)
}
}
}
extension Operations.GetLibraryItemsErrors {
var codeWrapper: DecimalSerialized<Double?> {
return _code
}
var statusWrapper: DecimalSerialized<Double?> {
return _status
}
}

View File

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

View File

@@ -0,0 +1,24 @@
// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
import Foundation
extension Operations {
/// Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
public struct GetLibraryItemsLibraryResponseBody {
public let errors: [Operations.GetLibraryItemsErrors]?
/// Creates an object with the specified parameters
///
///
public init(errors: [Operations.GetLibraryItemsErrors]? = nil) {
self.errors = errors
}
}
}
extension Operations.GetLibraryItemsLibraryResponseBody: Codable {
enum CodingKeys: String, CodingKey {
case errors
}
}

View File

@@ -0,0 +1,107 @@
// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
import Foundation
extension Operations {
/// A model object
public struct GetLibraryItemsMedia {
@DecimalSerialized
public private(set) var aspectRatio: Double?
public let audioChannels: Int?
public let audioCodec: String?
public let bitrate: Int?
public let container: String?
public let duration: Int?
public let height: Int?
public let id: Int?
public let part: [Operations.GetLibraryItemsPart]?
public let videoCodec: String?
public let videoFrameRate: String?
public let videoProfile: String?
public let videoResolution: String?
public let width: Int?
/// Creates an object with the specified parameters
///
///
public init(aspectRatio: Double? = nil, audioChannels: Int? = nil, audioCodec: String? = nil, bitrate: Int? = nil, container: String? = nil, duration: Int? = nil, height: Int? = nil, id: Int? = nil, part: [Operations.GetLibraryItemsPart]? = nil, videoCodec: String? = nil, videoFrameRate: String? = nil, videoProfile: String? = nil, videoResolution: String? = nil, width: Int? = nil) {
self._aspectRatio = DecimalSerialized<Double?>(wrappedValue: aspectRatio)
self.audioChannels = audioChannels
self.audioCodec = audioCodec
self.bitrate = bitrate
self.container = container
self.duration = duration
self.height = height
self.id = id
self.part = part
self.videoCodec = videoCodec
self.videoFrameRate = videoFrameRate
self.videoProfile = videoProfile
self.videoResolution = videoResolution
self.width = width
}
}
}
extension Operations.GetLibraryItemsMedia: Codable {
enum CodingKeys: String, CodingKey {
case aspectRatio
case audioChannels
case audioCodec
case bitrate
case container
case duration
case height
case id
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(Int.self, forKey: .audioChannels)
self.audioCodec = try container.decodeIfPresent(String.self, forKey: .audioCodec)
self.bitrate = try container.decodeIfPresent(Int.self, forKey: .bitrate)
self.container = try container.decodeIfPresent(String.self, forKey: .container)
self.duration = try container.decodeIfPresent(Int.self, forKey: .duration)
self.height = try container.decodeIfPresent(Int.self, forKey: .height)
self.id = try container.decodeIfPresent(Int.self, forKey: .id)
self.part = try container.decodeIfPresent([Operations.GetLibraryItemsPart].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(String.self, forKey: .videoResolution)
self.width = try container.decodeIfPresent(Int.self, forKey: .width)
}
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)
}
try container.encodeIfPresent(self.audioChannels, forKey: .audioChannels)
try container.encodeIfPresent(self.audioCodec, forKey: .audioCodec)
try container.encodeIfPresent(self.bitrate, forKey: .bitrate)
try container.encodeIfPresent(self.container, forKey: .container)
try container.encodeIfPresent(self.duration, forKey: .duration)
try container.encodeIfPresent(self.height, forKey: .height)
try container.encodeIfPresent(self.id, forKey: .id)
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)
try container.encodeIfPresent(self.videoResolution, forKey: .videoResolution)
try container.encodeIfPresent(self.width, forKey: .width)
}
}
extension Operations.GetLibraryItemsMedia {
var aspectRatioWrapper: DecimalSerialized<Double?> {
return _aspectRatio
}
}

View File

@@ -0,0 +1,69 @@
// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
import Foundation
extension Operations {
/// A model object
public struct GetLibraryItemsMediaContainer {
public let allowSync: Bool?
public let art: String?
public let identifier: String?
public let librarySectionID: Int?
public let librarySectionTitle: String?
public let librarySectionUUID: String?
public let mediaTagPrefix: String?
public let mediaTagVersion: Int?
public let metadata: [Operations.GetLibraryItemsMetadata]?
public let mixedParents: Bool?
public let size: Int?
public let thumb: String?
public let title1: String?
public let title2: String?
public let viewGroup: String?
public let viewMode: Int?
/// Creates an object with the specified parameters
///
///
public init(allowSync: Bool? = nil, art: String? = nil, identifier: String? = nil, librarySectionID: Int? = nil, librarySectionTitle: String? = nil, librarySectionUUID: String? = nil, mediaTagPrefix: String? = nil, mediaTagVersion: Int? = nil, metadata: [Operations.GetLibraryItemsMetadata]? = nil, mixedParents: Bool? = nil, size: Int? = nil, thumb: String? = nil, title1: String? = nil, title2: String? = nil, viewGroup: String? = nil, viewMode: Int? = nil) {
self.allowSync = allowSync
self.art = art
self.identifier = identifier
self.librarySectionID = librarySectionID
self.librarySectionTitle = librarySectionTitle
self.librarySectionUUID = librarySectionUUID
self.mediaTagPrefix = mediaTagPrefix
self.mediaTagVersion = mediaTagVersion
self.metadata = metadata
self.mixedParents = mixedParents
self.size = size
self.thumb = thumb
self.title1 = title1
self.title2 = title2
self.viewGroup = viewGroup
self.viewMode = viewMode
}
}
}
extension Operations.GetLibraryItemsMediaContainer: Codable {
enum CodingKeys: String, CodingKey {
case allowSync
case art
case identifier
case librarySectionID
case librarySectionTitle
case librarySectionUUID
case mediaTagPrefix
case mediaTagVersion
case metadata = "Metadata"
case mixedParents
case size
case thumb
case title1
case title2
case viewGroup
case viewMode
}
}

View File

@@ -0,0 +1,334 @@
// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
import Foundation
extension Operations {
/// A model object
public struct GetLibraryItemsMetadata {
public let addedAt: Int?
public let art: String?
@DecimalSerialized
public private(set) var audienceRating: Double?
public let audienceRatingImage: String?
public let chapterSource: String?
public let childCount: Int?
public let contentRating: String?
public let country: [Operations.GetLibraryItemsCountry]?
public let director: [Operations.GetLibraryItemsDirector]?
public let duration: Int?
public let genre: [Operations.GetLibraryItemsGenre]?
public let grandparentArt: String?
public let grandparentGuid: String?
public let grandparentKey: String?
public let grandparentRatingKey: String?
public let grandparentTheme: String?
public let grandparentThumb: String?
public let grandparentTitle: String?
public let guid: String?
public let hasPremiumExtras: String?
public let hasPremiumPrimaryExtra: String?
public let index: Int?
public let key: String?
public let lastViewedAt: Int?
public let leafCount: Int?
public let media: [Operations.GetLibraryItemsMedia]?
@DateOnly
public private(set) var originallyAvailableAt: Date?
public let originalTitle: String?
public let parentGuid: String?
public let parentIndex: Int?
public let parentKey: String?
public let parentRatingKey: String?
public let parentStudio: String?
public let parentTheme: String?
public let parentThumb: String?
public let parentTitle: String?
public let parentYear: Int?
public let primaryExtraKey: String?
@DecimalSerialized
public private(set) var rating: Double?
public let ratingImage: String?
public let ratingKey: String?
public let role: [Operations.GetLibraryItemsRole]?
public let skipCount: Int?
public let studio: String?
public let summary: String?
public let tagline: String?
public let theme: String?
public let thumb: String?
public let title: String?
public let titleSort: String?
public let type: String?
public let updatedAt: Int?
public let viewCount: Int?
public let viewedLeafCount: Int?
public let viewOffset: Int?
public let writer: [Operations.GetLibraryItemsWriter]?
public let year: Int?
/// Creates an object with the specified parameters
///
///
public init(addedAt: Int? = nil, art: String? = nil, audienceRating: Double? = nil, audienceRatingImage: String? = nil, chapterSource: String? = nil, childCount: Int? = nil, contentRating: String? = nil, country: [Operations.GetLibraryItemsCountry]? = nil, director: [Operations.GetLibraryItemsDirector]? = nil, duration: Int? = nil, genre: [Operations.GetLibraryItemsGenre]? = nil, grandparentArt: String? = nil, grandparentGuid: String? = nil, grandparentKey: String? = nil, grandparentRatingKey: String? = nil, grandparentTheme: String? = nil, grandparentThumb: String? = nil, grandparentTitle: String? = nil, guid: String? = nil, hasPremiumExtras: String? = nil, hasPremiumPrimaryExtra: String? = nil, index: Int? = nil, key: String? = nil, lastViewedAt: Int? = nil, leafCount: Int? = nil, media: [Operations.GetLibraryItemsMedia]? = 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, ratingKey: String? = nil, role: [Operations.GetLibraryItemsRole]? = nil, skipCount: Int? = nil, studio: String? = nil, summary: String? = nil, tagline: String? = nil, theme: String? = nil, thumb: String? = nil, title: String? = nil, titleSort: String? = nil, type: String? = nil, updatedAt: Int? = nil, viewCount: Int? = nil, viewedLeafCount: Int? = nil, viewOffset: Int? = nil, writer: [Operations.GetLibraryItemsWriter]? = nil, year: Int? = nil) {
self.addedAt = addedAt
self.art = art
self._audienceRating = DecimalSerialized<Double?>(wrappedValue: audienceRating)
self.audienceRatingImage = audienceRatingImage
self.chapterSource = chapterSource
self.childCount = childCount
self.contentRating = contentRating
self.country = country
self.director = director
self.duration = duration
self.genre = genre
self.grandparentArt = grandparentArt
self.grandparentGuid = grandparentGuid
self.grandparentKey = grandparentKey
self.grandparentRatingKey = grandparentRatingKey
self.grandparentTheme = grandparentTheme
self.grandparentThumb = grandparentThumb
self.grandparentTitle = grandparentTitle
self.guid = guid
self.hasPremiumExtras = hasPremiumExtras
self.hasPremiumPrimaryExtra = hasPremiumPrimaryExtra
self.index = index
self.key = key
self.lastViewedAt = lastViewedAt
self.leafCount = leafCount
self.media = media
self._originallyAvailableAt = DateOnly<Date?>(wrappedValue: originallyAvailableAt)
self.originalTitle = originalTitle
self.parentGuid = parentGuid
self.parentIndex = parentIndex
self.parentKey = parentKey
self.parentRatingKey = parentRatingKey
self.parentStudio = parentStudio
self.parentTheme = parentTheme
self.parentThumb = parentThumb
self.parentTitle = parentTitle
self.parentYear = parentYear
self.primaryExtraKey = primaryExtraKey
self._rating = DecimalSerialized<Double?>(wrappedValue: rating)
self.ratingImage = ratingImage
self.ratingKey = ratingKey
self.role = role
self.skipCount = skipCount
self.studio = studio
self.summary = summary
self.tagline = tagline
self.theme = theme
self.thumb = thumb
self.title = title
self.titleSort = titleSort
self.type = type
self.updatedAt = updatedAt
self.viewCount = viewCount
self.viewedLeafCount = viewedLeafCount
self.viewOffset = viewOffset
self.writer = writer
self.year = year
}
}
}
extension Operations.GetLibraryItemsMetadata: Codable {
enum CodingKeys: String, CodingKey {
case addedAt
case art
case audienceRating
case audienceRatingImage
case chapterSource
case childCount
case contentRating
case country = "Country"
case director = "Director"
case duration
case genre = "Genre"
case grandparentArt
case grandparentGuid
case grandparentKey
case grandparentRatingKey
case grandparentTheme
case grandparentThumb
case grandparentTitle
case guid
case hasPremiumExtras
case hasPremiumPrimaryExtra
case index
case key
case lastViewedAt
case leafCount
case media = "Media"
case originallyAvailableAt
case originalTitle
case parentGuid
case parentIndex
case parentKey
case parentRatingKey
case parentStudio
case parentTheme
case parentThumb
case parentTitle
case parentYear
case primaryExtraKey
case rating
case ratingImage
case ratingKey
case role = "Role"
case skipCount
case studio
case summary
case tagline
case theme
case thumb
case title
case titleSort
case type
case updatedAt
case viewCount
case viewedLeafCount
case viewOffset
case writer = "Writer"
case year
}
public init(from decoder: Decoder) throws {
let container = try decoder.container(keyedBy: CodingKeys.self)
self.addedAt = try container.decodeIfPresent(Int.self, forKey: .addedAt)
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.childCount = try container.decodeIfPresent(Int.self, forKey: .childCount)
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.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)
self.grandparentKey = try container.decodeIfPresent(String.self, forKey: .grandparentKey)
self.grandparentRatingKey = try container.decodeIfPresent(String.self, forKey: .grandparentRatingKey)
self.grandparentTheme = try container.decodeIfPresent(String.self, forKey: .grandparentTheme)
self.grandparentThumb = try container.decodeIfPresent(String.self, forKey: .grandparentThumb)
self.grandparentTitle = try container.decodeIfPresent(String.self, forKey: .grandparentTitle)
self.guid = try container.decodeIfPresent(String.self, forKey: .guid)
self.hasPremiumExtras = try container.decodeIfPresent(String.self, forKey: .hasPremiumExtras)
self.hasPremiumPrimaryExtra = try container.decodeIfPresent(String.self, forKey: .hasPremiumPrimaryExtra)
self.index = try container.decodeIfPresent(Int.self, forKey: .index)
self.key = try container.decodeIfPresent(String.self, forKey: .key)
self.lastViewedAt = try container.decodeIfPresent(Int.self, forKey: .lastViewedAt)
self.leafCount = try container.decodeIfPresent(Int.self, forKey: .leafCount)
self.media = try container.decodeIfPresent([Operations.GetLibraryItemsMedia].self, forKey: .media)
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.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)
self.parentTitle = try container.decodeIfPresent(String.self, forKey: .parentTitle)
self.parentYear = try container.decodeIfPresent(Int.self, forKey: .parentYear)
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(String.self, forKey: .ratingKey)
self.role = try container.decodeIfPresent([Operations.GetLibraryItemsRole].self, forKey: .role)
self.skipCount = try container.decodeIfPresent(Int.self, forKey: .skipCount)
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.theme = try container.decodeIfPresent(String.self, forKey: .theme)
self.thumb = try container.decodeIfPresent(String.self, forKey: .thumb)
self.title = try container.decodeIfPresent(String.self, forKey: .title)
self.titleSort = try container.decodeIfPresent(String.self, forKey: .titleSort)
self.type = try container.decodeIfPresent(String.self, forKey: .type)
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)
self.viewOffset = try container.decodeIfPresent(Int.self, forKey: .viewOffset)
self.writer = try container.decodeIfPresent([Operations.GetLibraryItemsWriter].self, forKey: .writer)
self.year = try container.decodeIfPresent(Int.self, forKey: .year)
}
public func encode(to encoder: Encoder) throws {
var container = encoder.container(keyedBy: CodingKeys.self)
try container.encodeIfPresent(self.addedAt, forKey: .addedAt)
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.childCount, forKey: .childCount)
try container.encodeIfPresent(self.contentRating, forKey: .contentRating)
try container.encodeIfPresent(self.country, forKey: .country)
try container.encodeIfPresent(self.director, forKey: .director)
try container.encodeIfPresent(self.duration, forKey: .duration)
try container.encodeIfPresent(self.genre, forKey: .genre)
try container.encodeIfPresent(self.grandparentArt, forKey: .grandparentArt)
try container.encodeIfPresent(self.grandparentGuid, forKey: .grandparentGuid)
try container.encodeIfPresent(self.grandparentKey, forKey: .grandparentKey)
try container.encodeIfPresent(self.grandparentRatingKey, forKey: .grandparentRatingKey)
try container.encodeIfPresent(self.grandparentTheme, forKey: .grandparentTheme)
try container.encodeIfPresent(self.grandparentThumb, forKey: .grandparentThumb)
try container.encodeIfPresent(self.grandparentTitle, forKey: .grandparentTitle)
try container.encodeIfPresent(self.guid, forKey: .guid)
try container.encodeIfPresent(self.hasPremiumExtras, forKey: .hasPremiumExtras)
try container.encodeIfPresent(self.hasPremiumPrimaryExtra, forKey: .hasPremiumPrimaryExtra)
try container.encodeIfPresent(self.index, forKey: .index)
try container.encodeIfPresent(self.key, forKey: .key)
try container.encodeIfPresent(self.lastViewedAt, forKey: .lastViewedAt)
try container.encodeIfPresent(self.leafCount, forKey: .leafCount)
try container.encodeIfPresent(self.media, forKey: .media)
if self.originallyAvailableAt != nil {
try container.encode(self._originallyAvailableAt, forKey: .originallyAvailableAt)
}
try container.encodeIfPresent(self.originalTitle, forKey: .originalTitle)
try container.encodeIfPresent(self.parentGuid, forKey: .parentGuid)
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.parentStudio, forKey: .parentStudio)
try container.encodeIfPresent(self.parentTheme, forKey: .parentTheme)
try container.encodeIfPresent(self.parentThumb, forKey: .parentThumb)
try container.encodeIfPresent(self.parentTitle, forKey: .parentTitle)
try container.encodeIfPresent(self.parentYear, forKey: .parentYear)
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)
try container.encodeIfPresent(self.ratingKey, forKey: .ratingKey)
try container.encodeIfPresent(self.role, forKey: .role)
try container.encodeIfPresent(self.skipCount, forKey: .skipCount)
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.theme, forKey: .theme)
try container.encodeIfPresent(self.thumb, forKey: .thumb)
try container.encodeIfPresent(self.title, forKey: .title)
try container.encodeIfPresent(self.titleSort, forKey: .titleSort)
try container.encodeIfPresent(self.type, forKey: .type)
try container.encodeIfPresent(self.updatedAt, forKey: .updatedAt)
try container.encodeIfPresent(self.viewCount, forKey: .viewCount)
try container.encodeIfPresent(self.viewedLeafCount, forKey: .viewedLeafCount)
try container.encodeIfPresent(self.viewOffset, forKey: .viewOffset)
try container.encodeIfPresent(self.writer, forKey: .writer)
try container.encodeIfPresent(self.year, forKey: .year)
}
}
extension Operations.GetLibraryItemsMetadata {
var ratingWrapper: DecimalSerialized<Double?> {
return _rating
}
var audienceRatingWrapper: DecimalSerialized<Double?> {
return _audienceRating
}
var originallyAvailableAtWrapper: DateOnly<Date?> {
return _originallyAvailableAt
}
}

View File

@@ -0,0 +1,42 @@
// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
import Foundation
extension Operations {
/// A model object
public struct GetLibraryItemsPart {
public let container: String?
public let duration: Int?
public let file: String?
public let id: Int?
public let key: String?
public let size: Int?
public let videoProfile: String?
/// Creates an object with the specified parameters
///
///
public init(container: String? = nil, duration: Int? = nil, file: String? = nil, id: Int? = nil, key: String? = nil, size: Int? = nil, videoProfile: String? = nil) {
self.container = container
self.duration = duration
self.file = file
self.id = id
self.key = key
self.size = size
self.videoProfile = videoProfile
}
}
}
extension Operations.GetLibraryItemsPart: Codable {
enum CodingKeys: String, CodingKey {
case container
case duration
case file
case id
case key
case size
case videoProfile
}
}

View File

@@ -0,0 +1,23 @@
// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
import Foundation
extension Operations {
/// A model object
public struct GetLibraryItemsRequest: APIValue {
/// the Id of the library to query
public let sectionId: Int
/// A key representing a specific tag within the section.
public let tag: Operations.Tag
/// Creates an object with the specified parameters
///
/// - Parameter sectionId: the Id of the library to query
/// - Parameter tag: A key representing a specific tag within the section.
///
public init(sectionId: Int, tag: Operations.Tag) {
self.sectionId = sectionId
self.tag = tag
}
}
}

View File

@@ -0,0 +1,34 @@
// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
import Foundation
extension Operations {
/// A response model
public enum GetLibraryItemsResponse {
case empty
case twoHundredApplicationJsonObject(Operations.GetLibraryItemsResponseBody)
case fourHundredAndOneApplicationJsonObject(Operations.GetLibraryItemsLibraryResponseBody)
var isEmpty: Bool {
if case .empty = self {
return true
} else {
return false
}
}
public func twoHundredApplicationJsonObject() throws -> Operations.GetLibraryItemsResponseBody {
guard case .twoHundredApplicationJsonObject(let value) = self else {
throw PlexswiftError.missingResponseData
}
return value
}
public func fourHundredAndOneApplicationJsonObject() throws -> Operations.GetLibraryItemsLibraryResponseBody {
guard case .fourHundredAndOneApplicationJsonObject(let value) = self else {
throw PlexswiftError.missingResponseData
}
return value
}
}
}

View File

@@ -0,0 +1,24 @@
// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
import Foundation
extension Operations {
/// The contents of the library by section and tag
public struct GetLibraryItemsResponseBody {
public let mediaContainer: Operations.GetLibraryItemsMediaContainer?
/// Creates an object with the specified parameters
///
///
public init(mediaContainer: Operations.GetLibraryItemsMediaContainer? = nil) {
self.mediaContainer = mediaContainer
}
}
}
extension Operations.GetLibraryItemsResponseBody: Codable {
enum CodingKeys: String, CodingKey {
case mediaContainer = "MediaContainer"
}
}

View File

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

View File

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

View File

@@ -0,0 +1,58 @@
// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
import Foundation
extension Operations {
/// A model object
public struct SearchLibraryErrors {
@DecimalSerialized
public private(set) var code: Double?
public let message: String?
@DecimalSerialized
public private(set) var status: Double?
/// Creates an object with the specified parameters
///
///
public init(code: Double? = nil, message: String? = nil, status: Double? = nil) {
self._code = DecimalSerialized<Double?>(wrappedValue: code)
self.message = message
self._status = DecimalSerialized<Double?>(wrappedValue: status)
}
}
}
extension Operations.SearchLibraryErrors: Codable {
enum CodingKeys: String, CodingKey {
case code
case message
case status
}
public init(from decoder: Decoder) throws {
let container = try decoder.container(keyedBy: CodingKeys.self)
self._code = try container.decodeIfPresent(DecimalSerialized<Double?>.self, forKey: .code) ?? DecimalSerialized<Double?>(wrappedValue: nil)
self.message = try container.decodeIfPresent(String.self, forKey: .message)
self._status = try container.decodeIfPresent(DecimalSerialized<Double?>.self, forKey: .status) ?? DecimalSerialized<Double?>(wrappedValue: nil)
}
public func encode(to encoder: Encoder) throws {
var container = encoder.container(keyedBy: CodingKeys.self)
if self.code != nil {
try container.encode(self._code, forKey: .code)
}
try container.encodeIfPresent(self.message, forKey: .message)
if self.status != nil {
try container.encode(self._status, forKey: .status)
}
}
}
extension Operations.SearchLibraryErrors {
var codeWrapper: DecimalSerialized<Double?> {
return _code
}
var statusWrapper: DecimalSerialized<Double?> {
return _status
}
}

View File

@@ -0,0 +1,24 @@
// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
import Foundation
extension Operations {
/// Unauthorized - Returned if the X-Plex-Token is missing from the header or query.
public struct SearchLibraryLibraryResponseBody {
public let errors: [Operations.SearchLibraryErrors]?
/// Creates an object with the specified parameters
///
///
public init(errors: [Operations.SearchLibraryErrors]? = nil) {
self.errors = errors
}
}
}
extension Operations.SearchLibraryLibraryResponseBody: Codable {
enum CodingKeys: String, CodingKey {
case errors
}
}

View File

@@ -6,7 +6,8 @@ extension Operations {
/// A response model
public enum SearchLibraryResponse {
case empty
case object(Operations.SearchLibraryResponseBody)
case twoHundredApplicationJsonObject(Operations.SearchLibraryResponseBody)
case fourHundredAndOneApplicationJsonObject(Operations.SearchLibraryLibraryResponseBody)
var isEmpty: Bool {
if case .empty = self {
@@ -16,8 +17,15 @@ extension Operations {
}
}
public func object() throws -> Operations.SearchLibraryResponseBody {
guard case .object(let value) = self else {
public func twoHundredApplicationJsonObject() throws -> Operations.SearchLibraryResponseBody {
guard case .twoHundredApplicationJsonObject(let value) = self else {
throw PlexswiftError.missingResponseData
}
return value
}
public func fourHundredAndOneApplicationJsonObject() throws -> Operations.SearchLibraryLibraryResponseBody {
guard case .fourHundredAndOneApplicationJsonObject(let value) = self else {
throw PlexswiftError.missingResponseData
}
return value

View File

@@ -0,0 +1,28 @@
// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
import Foundation
extension Operations {
/// A key representing a specific tag within the section.
public enum Tag: String, Codable, APIValue {
case all = "all"
case unwatched = "unwatched"
case newest = "newest"
case recentlyAdded = "recentlyAdded"
case recentlyViewed = "recentlyViewed"
case onDeck = "onDeck"
case collection = "collection"
case edition = "edition"
case genre = "genre"
case year = "year"
case decade = "decade"
case director = "director"
case actor = "actor"
case country = "country"
case contentRating = "contentRating"
case rating = "rating"
case resolution = "resolution"
case firstCharacter = "firstCharacter"
case folder = "folder"
}
}

View File

@@ -417,6 +417,7 @@ public protocol SearchAPI {
/// - ``getLibraries()``
/// - ``getLibrary(request:)``
/// - ``deleteLibrary(request:)``
/// - ``getLibraryItems(request:)``
/// - ``refreshLibrary(request:)``
/// - ``searchLibrary(request:)``
/// - ``getMetadata(request:)``
@@ -503,6 +504,33 @@ public protocol LibraryAPI {
/// - Throws: An error of type ``PlexswiftError``
func deleteLibrary(request: Operations.DeleteLibraryRequest) async throws -> Response<Operations.DeleteLibraryResponse>
/// Fetches details from a specific section of the library identified by a section key and a tag. The tag parameter accepts the following values:
/// - `all`: All items in the section.
/// - `unwatched`: Items that have not been played.
/// - `newest`: Items that are recently released.
/// - `recentlyAdded`: Items that are recently added to the library.
/// - `recentlyViewed`: Items that were recently viewed.
/// - `onDeck`: Items to continue watching.
/// - `collection`: Items categorized by collection.
/// - `edition`: Items categorized by edition.
/// - `genre`: Items categorized by genre.
/// - `year`: Items categorized by year of release.
/// - `decade`: Items categorized by decade.
/// - `director`: Items categorized by director.
/// - `actor`: Items categorized by starring actor.
/// - `country`: Items categorized by country of origin.
/// - `contentRating`: Items categorized by content rating.
/// - `rating`: Items categorized by rating.
/// - `resolution`: Items categorized by resolution.
/// - `firstCharacter`: Items categorized by the first letter.
/// - `folder`: Items categorized by folder.
///
///
/// - Parameter request: A ``Operations/GetLibraryItemsRequest`` object describing the input to the API operation
/// - Returns: A ``Operations/GetLibraryItemsResponse`` object describing the result of the API operation
/// - Throws: An error of type ``PlexswiftError``
func getLibraryItems(request: Operations.GetLibraryItemsRequest) async throws -> Response<Operations.GetLibraryItemsResponse>
/// This endpoint Refreshes the library.
///
///

View File

@@ -62,7 +62,7 @@ final class URLRequestBuilder: URLRequestConfiguration {
urlRequest.setValue(contentType, forHTTPHeaderField: "Content-Type")
}
urlRequest.setValue("speakeasy-sdk/swift 0.2.0 2.326.3 0.0.3 plexswift", forHTTPHeaderField: telemetryHeader.headerName)
urlRequest.setValue("speakeasy-sdk/swift 0.3.0 2.335.5 0.0.3 plexswift", forHTTPHeaderField: telemetryHeader.headerName)
addSecurityParameters(to: &urlRequest)

File diff suppressed because it is too large Load Diff