mirror of
https://github.com/LukeHagar/plexswift.git
synced 2025-12-09 20:57:45 +00:00
125 lines
4.1 KiB
Markdown
125 lines
4.1 KiB
Markdown
# plexswift
|
|
|
|
<a href="https://speakeasyapi.dev/"><img src="https://custom-icon-badges.demolab.com/badge/-Built%20By%20Speakeasy-212015?style=for-the-badge&logoColor=FBE331&logo=speakeasy&labelColor=545454" /></a>
|
|
<a href="https://opensource.org/licenses/MIT">
|
|
<img src="https://img.shields.io/badge/License-MIT-blue.svg" style="width: 100px; height: 28px;" />
|
|
</a>
|
|

|
|

|
|
|
|
An Open API Spec for interacting with Plex.tv and Plex Servers
|
|
|
|
## Requirements
|
|
|
|
The SDK supports iOS 13 and later.
|
|
|
|
|
|
## 🏗 **Welcome to your new SDK!** 🏗
|
|
|
|
It has been generated successfully based on your OpenAPI spec. However, it is not yet ready for production use. Here are some next steps:
|
|
- [ ] 🛠 Make your SDK feel handcrafted by [customizing it](https://www.speakeasyapi.dev/docs/customize-sdks)
|
|
- [ ] ♻️ Refine your SDK quickly by iterating locally with the [Speakeasy CLI](https://github.com/speakeasy-api/speakeasy)
|
|
- [ ] 🎁 Publish your SDK to package managers by [configuring automatic publishing](https://www.speakeasyapi.dev/docs/productionize-sdks/publish-sdks)
|
|
- [ ] ✨ When ready to productionize, delete this section from the README
|
|
|
|
<!-- Start SDK Installation [installation] -->
|
|
## SDK Installation
|
|
|
|
### Swift Package Manager
|
|
|
|
You can add `plexswift` to your project directly in Xcode `(File > Add Packages...)` or by adding it to your project's Package.swift file:
|
|
|
|
```bash
|
|
dependencies: [
|
|
.package(url: "https://github.com/LukeHagar/plexswift.git", .upToNextMajor(from: "0.0.1"))
|
|
]
|
|
```
|
|
<!-- End SDK Installation [installation] -->
|
|
|
|
<!-- Start SDK Example Usage [usage] -->
|
|
## SDK Example Usage
|
|
|
|
### Example
|
|
|
|
```swift
|
|
import Foundation
|
|
import Plexswift
|
|
|
|
let client = Client(security: .accessToken("<YOUR_API_KEY_HERE>"))
|
|
|
|
let response = try await client.server.getServerCapabilities()
|
|
|
|
switch response.data {
|
|
case .twoHundredApplicationJsonObject(let twoHundredApplicationJsonObject):
|
|
// Handle response
|
|
break
|
|
case .fourHundredAndOneApplicationJsonObject(let fourHundredAndOneApplicationJsonObject):
|
|
// Handle response
|
|
break
|
|
case .empty:
|
|
// Handle empty response
|
|
break
|
|
}
|
|
|
|
```
|
|
<!-- End SDK Example Usage [usage] -->
|
|
|
|
<!-- Start Available Resources and Operations [operations] -->
|
|
## Available Resources and Operations
|
|
|
|
|
|
<!-- End Available Resources and Operations [operations] -->
|
|
|
|
<!-- Start Authentication [security] -->
|
|
## Authentication
|
|
|
|
### Global Security Schemes
|
|
|
|
The SDK supports the following security scheme globally through the `Shared.Security` type:
|
|
|
|
| Name | Type | Scheme |
|
|
| -------------- | -------------- | -------------- |
|
|
| `.accessToken` | apiKey | API key |
|
|
|
|
You can set the appropriate security parameters by passing a `Shared.Security` value for the `security` parameter when initializing the `Client` instance. For example:
|
|
|
|
```swift
|
|
import Foundation
|
|
import Plexswift
|
|
|
|
let client = Client(security: .accessToken("<YOUR_API_KEY_HERE>"))
|
|
|
|
let response = try await client.server.getServerCapabilities()
|
|
|
|
switch response.data {
|
|
case .twoHundredApplicationJsonObject(let twoHundredApplicationJsonObject):
|
|
// Handle response
|
|
break
|
|
case .fourHundredAndOneApplicationJsonObject(let fourHundredAndOneApplicationJsonObject):
|
|
// Handle response
|
|
break
|
|
case .empty:
|
|
// Handle empty response
|
|
break
|
|
}
|
|
|
|
```
|
|
<!-- End Authentication [security] -->
|
|
|
|
<!-- Placeholder for Future Speakeasy SDK Sections -->
|
|
|
|
# Development
|
|
|
|
## Maturity
|
|
|
|
This SDK is in beta, and there may be breaking changes between versions without a major version update. Therefore, we recommend pinning usage
|
|
to a specific package version. This way, you can install the same version each time without breaking changes unless you are intentionally
|
|
looking for the latest version.
|
|
|
|
## Contributions
|
|
|
|
While we value open-source contributions to this SDK, this library is generated programmatically.
|
|
Feel free to open a PR or a Github issue as a proof of concept and we'll do our best to include it in a future release!
|
|
|
|
### SDK Created by [Speakeasy](https://docs.speakeasyapi.dev/docs/using-speakeasy/client-sdks)
|