mirror of
https://github.com/LukeHagar/plexswift.git
synced 2025-12-09 12:47:44 +00:00
ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.404.5
This commit is contained in:
@@ -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:
|
||||
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
|
||||
@@ -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()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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
|
||||
}
|
||||
}}
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user