ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.404.5

This commit is contained in:
speakeasybot
2024-09-28 00:08:47 +00:00
parent 3cf973b8f6
commit 3c69645d41
16 changed files with 1180 additions and 1106 deletions

View File

@@ -1,6 +1,29 @@
# ``plexswift``
Plex-API: An Open API Spec for interacting with Plex.tv and Plex Media Server
# Plex Media Server OpenAPI Specification
An Open Source OpenAPI Specification for Plex Media Server
Automation and SDKs provided by [Speakeasy](https://speakeasyapi.dev/)
## Documentation
[API Documentation](https://plexapi.dev)
## SDKs
The following SDKs are generated from the OpenAPI Specification. They are automatically generated and may not be fully tested. If you find any issues, please open an issue on the respective repository.
| Language | Repository | Releases | Other |
| --------------------- | ------------------------------------------------- | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------- |
| Python | [GitHub](https://github.com/LukeHagar/plexpy) | [PyPI](https://pypi.org/project/plex-api-client/) | - |
| JavaScript/TypeScript | [GitHub](https://github.com/LukeHagar/plexjs) | [NPM](https://www.npmjs.com/package/@lukehagar/plexjs) \ [JSR](https://jsr.io/@lukehagar/plexjs) | - |
| Go | [GitHub](https://github.com/LukeHagar/plexgo) | [Releases](https://github.com/LukeHagar/plexgo/releases) | [GoDoc](https://pkg.go.dev/github.com/LukeHagar/plexgo) |
| Ruby | [GitHub](https://github.com/LukeHagar/plexruby) | [Releases](https://github.com/LukeHagar/plexruby/releases) | - |
| Swift | [GitHub](https://github.com/LukeHagar/plexswift) | [Releases](https://github.com/LukeHagar/plexswift/releases) | - |
| PHP | [GitHub](https://github.com/LukeHagar/plexphp) | [Releases](https://github.com/LukeHagar/plexphp/releases) | - |
| Java | [GitHub](https://github.com/LukeHagar/plexjava) | [Releases](https://github.com/LukeHagar/plexjava/releases) | - |
| C# | [GitHub](https://github.com/LukeHagar/plexcsharp) | [Releases](https://github.com/LukeHagar/plexcsharp/releases) | -
`plexswift` is a Swift library which provides functionality for making requests to the API using a modern, easy-to-use Swift API:

View File

@@ -125,6 +125,7 @@ private func configureGetTokenByPinIdRequest(with configuration: URLRequestConfi
configuration.path = "/pins/{pinID}"
configuration.method = .get
configuration.pathParameterSerializable = request
configuration.queryParameterSerializable = request
configuration.telemetryHeader = .userAgent
}

View File

@@ -8,10 +8,16 @@ extension Operations.GetTokenByPinIdRequest: Serializable {
switch format {
case .path:
return try serializePathParameterSerializable(self, with: format)
case .query, .header, .multipart, .form:
case .query:
return try serializeQueryParameterSerializable(self, with: format)
case .header, .multipart, .form:
throw SerializationError.invalidSerializationParameter(type: "Operations.GetTokenByPinIdRequest", format: format.formatDescription)
}
}
func serializeQueryParameters(with format: SerializableFormat) throws -> [QueryParameter] {
return try serializedQueryParameters(with: nil, formatOverride: format)
}
}
extension Operations.GetTokenByPinIdRequest: PathParameterSerializable {
@@ -21,3 +27,15 @@ extension Operations.GetTokenByPinIdRequest: PathParameterSerializable {
].compactMapValues { $0 }
}
}
extension Operations.GetTokenByPinIdRequest: 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

@@ -7,12 +7,30 @@ extension Operations {
public struct GetTokenByPinIdRequest: APIValue {
/// The PinID to retrieve an access token for
public let pinID: Int
/// 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?
public let deviceName: String?
/// Creates an object with the specified parameters
///
/// - Parameter pinID: The PinID to retrieve an access token for
/// - 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)
///
///
public init(pinID: Int) {
public init(pinID: Int, clientID: String? = nil, clientName: String? = nil, clientPlatform: String? = nil, clientVersion: String? = nil, deviceName: String? = nil) {
self.pinID = pinID
self.clientID = clientID
self.clientName = clientName
self.clientPlatform = clientPlatform
self.clientVersion = clientVersion
self.deviceName = deviceName
}
}}

View File

@@ -52,7 +52,7 @@ extension Operations {
public let locale: String
/// If you are subscribed to the Plex newsletter
public let mailingListActive: Bool
/// Your current mailing list status
/// Your current mailing list status (active or unsubscribed)
public let mailingListStatus: Operations.MailingListStatus
/// The maximum number of accounts allowed in the Plex Home
public let maxHomeSize: Int
@@ -111,7 +111,7 @@ extension Operations {
/// - Parameter joinedAt: Unix epoch datetime in seconds
/// - Parameter locale: The account locale
/// - Parameter mailingListActive: If you are subscribed to the Plex newsletter
/// - Parameter mailingListStatus: Your current mailing list status
/// - Parameter mailingListStatus: Your current mailing list status (active or unsubscribed)
/// - Parameter maxHomeSize: The maximum number of accounts allowed in the Plex Home
/// - Parameter protected: If the account has a Plex Home PIN enabled
/// - Parameter rememberExpiresAt: Unix epoch datetime in seconds

View File

@@ -3,7 +3,7 @@
import Foundation
extension Operations {
/// Your current mailing list status
/// Your current mailing list status (active or unsubscribed)
public enum MailingListStatus: String, Codable, APIValue {
case active = "active"
case unsubscribed = "unsubscribed"

View File

@@ -3,7 +3,7 @@
import Foundation
extension Operations {
/// Your current mailing list status
/// Your current mailing list status (active or unsubscribed)
public enum PostUsersSignInDataMailingListStatus: String, Codable, APIValue {
case active = "active"
case unsubscribed = "unsubscribed"

View File

@@ -52,7 +52,7 @@ extension Operations {
public let locale: String
/// If you are subscribed to the Plex newsletter
public let mailingListActive: Bool
/// Your current mailing list status
/// Your current mailing list status (active or unsubscribed)
public let mailingListStatus: Operations.PostUsersSignInDataMailingListStatus
/// The maximum number of accounts allowed in the Plex Home
public let maxHomeSize: Int
@@ -113,7 +113,7 @@ extension Operations {
/// - Parameter joinedAt: Unix epoch datetime in seconds
/// - Parameter locale: The account locale
/// - Parameter mailingListActive: If you are subscribed to the Plex newsletter
/// - Parameter mailingListStatus: Your current mailing list status
/// - Parameter mailingListStatus: Your current mailing list status (active or unsubscribed)
/// - Parameter maxHomeSize: The maximum number of accounts allowed in the Plex Home
/// - Parameter protected: If the account has a Plex Home PIN enabled
/// - Parameter rememberExpiresAt: Unix epoch datetime in seconds