From 37cc95c912ea1c579b59a94b56516d4949865fd9 Mon Sep 17 00:00:00 2001 From: speakeasybot Date: Tue, 24 Sep 2024 00:08:51 +0000 Subject: [PATCH] ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.402.0 --- .speakeasy/gen.lock | 8 +- .speakeasy/gen.yaml | 2 +- .speakeasy/workflow.lock | 2 +- README.md | 2 +- RELEASES.md | 12 +- .../internal/client/URLRequestBuilder.swift | 2 +- codeSamples.yaml | 1930 ++++++++--------- 7 files changed, 984 insertions(+), 974 deletions(-) diff --git a/.speakeasy/gen.lock b/.speakeasy/gen.lock index d17a001..1689408 100755 --- a/.speakeasy/gen.lock +++ b/.speakeasy/gen.lock @@ -3,10 +3,10 @@ id: 5d77204e-e413-4fd0-a14a-bad3aee2247a management: docChecksum: 82a4a9784fb0e66e1c64f130701cdd08 docVersion: 0.0.3 - speakeasyVersion: 1.401.2 - generationVersion: 2.421.3 - releaseVersion: 0.7.2 - configChecksum: 33c995f1fab7f7fe21f3ada142e66d93 + speakeasyVersion: 1.402.0 + generationVersion: 2.422.6 + releaseVersion: 0.7.3 + configChecksum: d90c6eac570e5b48878c6fb4d767f261 repoURL: https://github.com/LukeHagar/plexswift.git features: swift: diff --git a/.speakeasy/gen.yaml b/.speakeasy/gen.yaml index 4f4ebba..52773c4 100644 --- a/.speakeasy/gen.yaml +++ b/.speakeasy/gen.yaml @@ -12,7 +12,7 @@ generation: auth: oAuth2ClientCredentialsEnabled: true swift: - version: 0.7.2 + version: 0.7.3 author: LukeHagar description: Swift Client SDK Generated by Speakeasy imports: diff --git a/.speakeasy/workflow.lock b/.speakeasy/workflow.lock index f14ce71..cc4b3f0 100644 --- a/.speakeasy/workflow.lock +++ b/.speakeasy/workflow.lock @@ -11,7 +11,7 @@ targets: plexswift: source: plexapi codeSamplesNamespace: code-samples-swift-plexswift - codeSamplesRevisionDigest: sha256:8e1578330d19b085ef5b145a1994d49274d009cfd65ca7f000e1c1df14a9edd0 + codeSamplesRevisionDigest: sha256:90e4713966c081d91d5e9e60d64c1a0fc5d62b446e072614ef615131c822a398 outLocation: /github/workspace/repo workflow: workflowVersion: 1.0.0 diff --git a/README.md b/README.md index 19d750c..e032b22 100644 --- a/README.md +++ b/README.md @@ -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.2")) + .package(url: "https://github.com/LukeHagar/plexswift.git", .upToNextMajor(from: "0.7.3")) ] ``` diff --git a/RELEASES.md b/RELEASES.md index df1424d..7494c85 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -652,4 +652,14 @@ Based on: ### Generated - [swift v0.7.2] . ### Releases -- [Swift Package Manager v0.7.2] https://github.com/LukeHagar/plexswift/releases/tag/v0.7.2 - . \ No newline at end of file +- [Swift Package Manager v0.7.2] https://github.com/LukeHagar/plexswift/releases/tag/v0.7.2 - . + +## 2024-09-24 00:08:00 +### Changes +Based on: +- OpenAPI Doc +- Speakeasy CLI 1.402.0 (2.422.6) https://github.com/speakeasy-api/speakeasy +### Generated +- [swift v0.7.3] . +### Releases +- [Swift Package Manager v0.7.3] https://github.com/LukeHagar/plexswift/releases/tag/v0.7.3 - . \ No newline at end of file diff --git a/Sources/plexswift/internal/client/URLRequestBuilder.swift b/Sources/plexswift/internal/client/URLRequestBuilder.swift index 2d8a1c4..99f736c 100644 --- a/Sources/plexswift/internal/client/URLRequestBuilder.swift +++ b/Sources/plexswift/internal/client/URLRequestBuilder.swift @@ -62,7 +62,7 @@ final class URLRequestBuilder: URLRequestConfiguration { urlRequest.setValue(contentType, forHTTPHeaderField: "Content-Type") } - urlRequest.setValue("speakeasy-sdk/swift 0.7.2 2.421.3 0.0.3 plexswift", forHTTPHeaderField: telemetryHeader.headerName) + urlRequest.setValue("speakeasy-sdk/swift 0.7.3 2.422.6 0.0.3 plexswift", forHTTPHeaderField: telemetryHeader.headerName) addSecurityParameters(to: &urlRequest) diff --git a/codeSamples.yaml b/codeSamples.yaml index 05f4939..e57ae78 100644 --- a/codeSamples.yaml +++ b/codeSamples.yaml @@ -3,12 +3,190 @@ info: title: CodeSamples overlay for swift target version: 0.0.0 actions: - - target: $["paths"]["/playlists"]["post"] + - target: $["paths"]["/user"]["get"] update: x-codeSamples: - lang: swift - label: createPlaylist - source: "import Foundation\nimport Plexswift\n\nlet client = Client(security: .accessToken(\"\"))\n\nlet response = try await client.playlists.createPlaylist(\n request: Operations.CreatePlaylistRequest(\n smart: .one, \n title: \"\", \n type: .photo, \n uri: \"https://inborn-brochure.biz\", \n playQueueID: 3686.33\n )\n)\n\nswitch response.data {\ncase .object(let object):\n // Handle response\n break\ncase .badRequest(let badRequest):\n // Handle response\n break\ncase .unauthorized(let unauthorized):\n // Handle response\n break\ncase .empty:\n // Handle empty response\n break\n}" + label: getTokenDetails + source: |- + import Foundation + import Plexswift + + let client = Client(security: .accessToken("")) + + let response = try await client.authentication.getTokenDetails() + + switch response.data { + case .userPlexAccount(let userPlexAccount): + // Handle response + break + case .badRequest(let badRequest): + // Handle response + break + case .unauthorized(let unauthorized): + // Handle response + break + case .empty: + // Handle empty response + break + } + - target: $["paths"]["/butler"]["post"] + update: + x-codeSamples: + - lang: swift + label: startAllTasks + source: |- + import Foundation + import Plexswift + + let client = Client(security: .accessToken("")) + + let response = try await client.butler.startAllTasks() + + switch response.data { + case .badRequest(let badRequest): + // Handle response + break + case .unauthorized(let unauthorized): + // Handle response + break + case .empty: + // Handle empty response + break + } + - target: $["paths"]["/pins/{pinID}"]["get"] + update: + x-codeSamples: + - lang: swift + label: getTokenByPinId + source: |- + import Foundation + import Plexswift + + let client = Client() + + let response = try await client.plex.getTokenByPinId( + request: Operations.GetTokenByPinIdRequest( + pinID: 408895 + ) + ) + + switch response.data { + case .authPinContainer(let authPinContainer): + // Handle response + break + case .badRequest(let badRequest): + // Handle response + break + case .object(let object): + // Handle response + break + case .empty: + // Handle empty response + break + } + - target: $["paths"]["/hubs"]["get"] + update: + x-codeSamples: + - lang: swift + label: getGlobalHubs + source: "import Foundation\nimport Plexswift\n\nlet client = Client(security: .accessToken(\"\"))\n\nlet response = try await client.hubs.getGlobalHubs(\n request: Operations.GetGlobalHubsRequest(\n count: 1262.49, \n onlyTransient: .one\n )\n)\n\nswitch response.data {\ncase .object(let object):\n // Handle response\n break\ncase .badRequest(let badRequest):\n // Handle response\n break\ncase .unauthorized(let unauthorized):\n // Handle response\n break\ncase .empty:\n // Handle empty response\n break\n}" + - target: $["paths"]["/library/metadata/{ratingKey}/children"]["get"] + update: + x-codeSamples: + - lang: swift + label: getMetadataChildren + source: "import Foundation\nimport Plexswift\n\nlet client = Client(security: .accessToken(\"\"))\n\nlet response = try await client.library.getMetadataChildren(\n request: Operations.GetMetadataChildrenRequest(\n ratingKey: 1539.14, \n includeElements: \"\"\n )\n)\n\nswitch response.data {\ncase .object(let object):\n // Handle response\n break\ncase .badRequest(let badRequest):\n // Handle response\n break\ncase .unauthorized(let unauthorized):\n // Handle response\n break\ncase .empty:\n // Handle empty response\n break\n}" + - target: $["paths"]["/library/all/top"]["get"] + update: + x-codeSamples: + - lang: swift + label: getTopWatchedContent + source: "import Foundation\nimport Plexswift\n\nlet client = Client(security: .accessToken(\"\"))\n\nlet response = try await client.library.getTopWatchedContent(\n request: Operations.GetTopWatchedContentRequest(\n type: .season, \n includeGuids: 1\n )\n)\n\nswitch response.data {\ncase .object(let object):\n // Handle response\n break\ncase .badRequest(let badRequest):\n // Handle response\n break\ncase .unauthorized(let unauthorized):\n // Handle response\n break\ncase .empty:\n // Handle empty response\n break\n}" + - target: $["paths"]["/log"]["get"] + update: + x-codeSamples: + - lang: swift + label: logLine + source: "import Foundation\nimport Plexswift\n\nlet client = Client(security: .accessToken(\"\"))\n\nlet response = try await client.log.logLine(\n request: Operations.LogLineRequest(\n level: .three, \n message: \"Test log message\", \n source: \"Postman\"\n )\n)\n\nswitch response.data {\ncase .badRequest(let badRequest):\n // Handle response\n break\ncase .unauthorized(let unauthorized):\n // Handle response\n break\ncase .empty:\n // Handle empty response\n break\n}" + - target: $["paths"]["/:/prefs"]["get"] + update: + x-codeSamples: + - lang: swift + label: getServerPreferences + source: |- + import Foundation + import Plexswift + + let client = Client(security: .accessToken("")) + + let response = try await client.server.getServerPreferences() + + switch response.data { + case .object(let object): + // Handle response + break + case .badRequest(let badRequest): + // Handle response + break + case .unauthorized(let unauthorized): + // Handle response + break + case .empty: + // Handle empty response + break + } + - target: $["paths"]["/identity"]["get"] + update: + x-codeSamples: + - lang: swift + label: identity + source: |- + import Foundation + import Plexswift + + let client = Client() + + let response = try await client.server.getServerIdentity() + + switch response.data { + case .object(let object): + // Handle response + break + case .requestTimeout(let requestTimeout): + // Handle response + break + case .empty: + // Handle empty response + break + } + - target: $["paths"]["/library/onDeck"]["get"] + update: + x-codeSamples: + - lang: swift + label: getOnDeck + source: |- + import Foundation + import Plexswift + + let client = Client(security: .accessToken("")) + + let response = try await client.library.getOnDeck() + + switch response.data { + case .object(let object): + // Handle response + break + case .badRequest(let badRequest): + // Handle response + break + case .unauthorized(let unauthorized): + // Handle response + break + case .empty: + // Handle empty response + break + } - target: $["paths"]["/playlists/{playlistID}"]["get"] update: x-codeSamples: @@ -40,29 +218,36 @@ actions: // Handle empty response break } - - target: $["paths"]["/security/token"]["get"] + - target: $["paths"]["/playlists/upload"]["post"] update: x-codeSamples: - lang: swift - label: getTransientToken - source: "import Foundation\nimport Plexswift\n\nlet client = Client(security: .accessToken(\"\"))\n\nlet response = try await client.authentication.getTransientToken(\n request: Operations.GetTransientTokenRequest(\n scope: .all, \n type: .delegation\n )\n)\n\nswitch response.data {\ncase .badRequest(let badRequest):\n // Handle response\n break\ncase .unauthorized(let unauthorized):\n // Handle response\n break\ncase .empty:\n // Handle empty response\n break\n}" - - target: $["paths"]["/status/sessions"]["get"] + label: uploadPlaylist + source: "import Foundation\nimport Plexswift\n\nlet client = Client(security: .accessToken(\"\"))\n\nlet response = try await client.playlists.uploadPlaylist(\n request: Operations.UploadPlaylistRequest(\n force: .zero, \n path: \"/home/barkley/playlist.m3u\", \n sectionID: 1\n )\n)\n\nswitch response.data {\ncase .badRequest(let badRequest):\n // Handle response\n break\ncase .unauthorized(let unauthorized):\n // Handle response\n break\ncase .empty:\n // Handle empty response\n break\n}" + - target: $["paths"]["/library/sections/{sectionKey}/{tag}"]["get"] update: x-codeSamples: - lang: swift - label: getSessions + label: items + source: "import Foundation\nimport Plexswift\n\nlet client = Client(security: .accessToken(\"\"))\n\nlet response = try await client.library.getLibraryItems(\n request: Operations.GetLibraryItemsRequest(\n sectionKey: 9518, \n tag: .edition, \n includeGuids: .enable, \n includeMeta: .enable, \n type: .tvShow, \n xPlexContainerSize: 50, \n xPlexContainerStart: 0\n )\n)\n\nswitch response.data {\ncase .object(let object):\n // Handle response\n break\ncase .badRequest(let badRequest):\n // Handle response\n break\ncase .unauthorized(let unauthorized):\n // Handle response\n break\ncase .empty:\n // Handle empty response\n break\n}" + - target: $["paths"]["/updater/check"]["put"] + update: + x-codeSamples: + - lang: swift + label: checkForUpdates source: |- import Foundation import Plexswift let client = Client(security: .accessToken("")) - let response = try await client.sessions.getSessions() + let response = try await client.updater.checkForUpdates( + request: Operations.CheckForUpdatesRequest( + download: .one + ) + ) switch response.data { - case .object(let object): - // Handle response - break case .badRequest(let badRequest): // Handle response break @@ -73,27 +258,27 @@ actions: // Handle empty response break } - - target: $["paths"]["/updater/apply"]["put"] + - target: $["paths"]["/:/progress"]["post"] update: x-codeSamples: - lang: swift - label: applyUpdates - source: "import Foundation\nimport Plexswift\n\nlet client = Client(security: .accessToken(\"\"))\n\nlet response = try await client.updater.applyUpdates(\n request: Operations.ApplyUpdatesRequest(\n skip: .one, \n tonight: .zero\n )\n)\n\nswitch response.data {\ncase .badRequest(let badRequest):\n // Handle response\n break\ncase .unauthorized(let unauthorized):\n // Handle response\n break\ncase .empty:\n // Handle empty response\n break\n}" - - target: $["paths"]["/activities"]["get"] + label: updatePlayProgress + source: "import Foundation\nimport Plexswift\n\nlet client = Client(security: .accessToken(\"\"))\n\nlet response = try await client.media.updatePlayProgress(\n request: Operations.UpdatePlayProgressRequest(\n key: \"\", \n state: \"played\", \n time: 90000\n )\n)\n\nswitch response.data {\ncase .badRequest(let badRequest):\n // Handle response\n break\ncase .unauthorized(let unauthorized):\n // Handle response\n break\ncase .empty:\n // Handle empty response\n break\n}" + - target: $["paths"]["/friends"]["get"] update: x-codeSamples: - lang: swift - label: getServerActivities + label: getUserFriends source: |- import Foundation import Plexswift let client = Client(security: .accessToken("")) - let response = try await client.activities.getServerActivities() + let response = try await client.plex.getUserFriends() switch response.data { - case .object(let object): + case .friends(let friends): // Handle response break case .badRequest(let badRequest): @@ -106,33 +291,24 @@ actions: // Handle empty response break } - - target: $["paths"]["/geoip"]["get"] + - target: $["paths"]["/hubs/search"]["get"] update: x-codeSamples: - lang: swift - label: getGeoData - source: |- - import Foundation - import Plexswift - - let client = Client() - - let response = try await client.plex.getGeoData() - - switch response.data { - case .geoData(let geoData): - // Handle response - break - case .badRequest(let badRequest): - // Handle response - break - case .unauthorized(let unauthorized): - // Handle response - break - case .empty: - // Handle empty response - break - } + label: performSearch + source: "import Foundation\nimport Plexswift\n\nlet client = Client(security: .accessToken(\"\"))\n\nlet response = try await client.search.performSearch(\n request: Operations.PerformSearchRequest(\n query: \"dylan\", \n limit: 5, \n sectionId: 1516.53\n )\n)\n\nswitch response.data {\ncase .badRequest(let badRequest):\n // Handle response\n break\ncase .unauthorized(let unauthorized):\n // Handle response\n break\ncase .empty:\n // Handle empty response\n break\n}" + - target: $["paths"]["/library/hashes"]["get"] + update: + x-codeSamples: + - lang: swift + label: getFileHash + source: "import Foundation\nimport Plexswift\n\nlet client = Client(security: .accessToken(\"\"))\n\nlet response = try await client.library.getFileHash(\n request: Operations.GetFileHashRequest(\n url: \"file://C:\\Image.png&type=13\", \n type: 4462.17\n )\n)\n\nswitch response.data {\ncase .badRequest(let badRequest):\n // Handle response\n break\ncase .unauthorized(let unauthorized):\n // Handle response\n break\ncase .empty:\n // Handle empty response\n break\n}" + - target: $["paths"]["/library/recentlyAdded"]["get"] + update: + x-codeSamples: + - lang: swift + label: getRecentlyAdded + source: "import Foundation\nimport Plexswift\n\nlet client = Client(security: .accessToken(\"\"))\n\nlet response = try await client.library.getRecentlyAdded(\n request: Operations.GetRecentlyAddedRequest(\n xPlexContainerSize: 50, \n xPlexContainerStart: 0\n )\n)\n\nswitch response.data {\ncase .object(let object):\n // Handle response\n break\ncase .badRequest(let badRequest):\n // Handle response\n break\ncase .unauthorized(let unauthorized):\n // Handle response\n break\ncase .empty:\n // Handle empty response\n break\n}" - target: $["paths"]["/library/sections/{sectionKey}"]["delete"] update: x-codeSamples: @@ -161,22 +337,18 @@ actions: // Handle empty response break } - - target: $["paths"]["/statistics/resources"]["get"] + - target: $["paths"]["/servers"]["get"] update: x-codeSamples: - lang: swift - label: getResourcesStatistics + label: getServerList source: |- import Foundation import Plexswift let client = Client(security: .accessToken("")) - let response = try await client.statistics.getResourcesStatistics( - request: Operations.GetResourcesStatisticsRequest( - timespan: 4 - ) - ) + let response = try await client.server.getServerList() switch response.data { case .object(let object): @@ -192,23 +364,286 @@ actions: // Handle empty response break } - - target: $["paths"]["/statistics/bandwidth"]["get"] + - target: $["paths"]["/library/metadata/{ratingKey}/thumb"]["get"] update: x-codeSamples: - lang: swift - label: getBandwidthStatistics + label: image + source: "import Foundation\nimport Plexswift\n\nlet client = Client(security: .accessToken(\"\"))\n\nlet response = try await client.media.getThumbImage(\n request: Operations.GetThumbImageRequest(\n height: 396, \n minSize: 1, \n ratingKey: 9518, \n upscale: 1, \n width: 396, \n xPlexToken: \"CV5xoxjTpFKUzBTShsaf\"\n )\n)\n\nswitch response.data {\ncase .bytes(let bytes):\n // Handle response\n break\ncase .badRequest(let badRequest):\n // Handle response\n break\ncase .unauthorized(let unauthorized):\n // Handle response\n break\ncase .empty:\n // Handle empty response\n break\n}" + - target: $["paths"]["/library/sections/{sectionKey}"]["get"] + update: + x-codeSamples: + - lang: swift + label: details + source: "import Foundation\nimport Plexswift\n\nlet client = Client(security: .accessToken(\"\"))\n\nlet response = try await client.library.getLibraryDetails(\n request: Operations.GetLibraryDetailsRequest(\n sectionKey: 9518, \n includeDetails: .zero\n )\n)\n\nswitch response.data {\ncase .object(let object):\n // Handle response\n break\ncase .badRequest(let badRequest):\n // Handle response\n break\ncase .unauthorized(let unauthorized):\n // Handle response\n break\ncase .empty:\n // Handle empty response\n break\n}" + - target: $["paths"]["/playlists"]["post"] + update: + x-codeSamples: + - lang: swift + label: createPlaylist + source: "import Foundation\nimport Plexswift\n\nlet client = Client(security: .accessToken(\"\"))\n\nlet response = try await client.playlists.createPlaylist(\n request: Operations.CreatePlaylistRequest(\n smart: .one, \n title: \"\", \n type: .photo, \n uri: \"https://inborn-brochure.biz\", \n playQueueID: 3686.33\n )\n)\n\nswitch response.data {\ncase .object(let object):\n // Handle response\n break\ncase .badRequest(let badRequest):\n // Handle response\n break\ncase .unauthorized(let unauthorized):\n // Handle response\n break\ncase .empty:\n // Handle empty response\n break\n}" + - target: $["paths"]["/playlists/{playlistID}"]["delete"] + update: + x-codeSamples: + - lang: swift + label: deletePlaylist source: |- import Foundation import Plexswift let client = Client(security: .accessToken("")) - let response = try await client.statistics.getBandwidthStatistics( - request: Operations.GetBandwidthStatisticsRequest( - timespan: 4 + let response = try await client.playlists.deletePlaylist( + request: Operations.DeletePlaylistRequest( + playlistID: 216.22 ) ) + switch response.data { + case .badRequest(let badRequest): + // Handle response + break + case .unauthorized(let unauthorized): + // Handle response + break + case .empty: + // Handle empty response + break + } + - target: $["paths"]["/playlists/{playlistID}"]["put"] + update: + x-codeSamples: + - lang: swift + label: updatePlaylist + source: "import Foundation\nimport Plexswift\n\nlet client = Client(security: .accessToken(\"\"))\n\nlet response = try await client.playlists.updatePlaylist(\n request: Operations.UpdatePlaylistRequest(\n playlistID: 3915, \n summary: \"\", \n title: \"\"\n )\n)\n\nswitch response.data {\ncase .badRequest(let badRequest):\n // Handle response\n break\ncase .unauthorized(let unauthorized):\n // Handle response\n break\ncase .empty:\n // Handle empty response\n break\n}" + - target: $["paths"]["/"]["get"] + update: + x-codeSamples: + - lang: swift + label: getServerCapabilities + source: |- + import Foundation + import Plexswift + + let client = Client(security: .accessToken("")) + + let response = try await client.server.getServerCapabilities() + + switch response.data { + case .object(let object): + // Handle response + break + case .badRequest(let badRequest): + // Handle response + break + case .unauthorized(let unauthorized): + // Handle response + break + case .empty: + // Handle empty response + break + } + - target: $["paths"]["/photo/:/transcode"]["get"] + update: + x-codeSamples: + - lang: swift + label: getResizedPhoto + source: "import Foundation\nimport Plexswift\n\nlet client = Client(security: .accessToken(\"\"))\n\nlet response = try await client.server.getResizedPhoto(\n request: Operations.GetResizedPhotoRequest(\n blur: 20, \n height: 165, \n minSize: .one, \n opacity: 96541, \n upscale: .zero, \n url: \"/library/metadata/49564/thumb/1654258204\", \n width: 110\n )\n)\n\nswitch response.data {\ncase .badRequest(let badRequest):\n // Handle response\n break\ncase .unauthorized(let unauthorized):\n // Handle response\n break\ncase .empty:\n // Handle empty response\n break\n}" + - target: $["paths"]["/security/resources"]["get"] + update: + x-codeSamples: + - lang: swift + label: getSourceConnectionInformation + source: |- + import Foundation + import Plexswift + + let client = Client(security: .accessToken("")) + + let response = try await client.authentication.getSourceConnectionInformation( + request: Operations.GetSourceConnectionInformationRequest( + source: "server://client-identifier" + ) + ) + + switch response.data { + case .badRequest(let badRequest): + // Handle response + break + case .unauthorized(let unauthorized): + // Handle response + break + case .empty: + // Handle empty response + break + } + - target: $["paths"]["/users/signin"]["post"] + update: + x-codeSamples: + - lang: swift + label: data + source: "import Foundation\nimport Plexswift\n\nlet client = Client()\n\nlet response = try await client.authentication.postUsersSignInData(\n request: Operations.PostUsersSignInDataRequestBody(\n login: \"username@email.com\", \n password: \"password123\", \n rememberMe: false, \n verificationCode: \"123456\"\n )\n)\n\nswitch response.data {\ncase .userPlexAccount(let userPlexAccount):\n // Handle response\n break\ncase .badRequest(let badRequest):\n // Handle response\n break\ncase .unauthorized(let unauthorized):\n // Handle response\n break\ncase .empty:\n // Handle empty response\n break\n}" + - target: $["paths"]["/log/networked"]["get"] + update: + x-codeSamples: + - lang: swift + label: enablePaperTrail + source: |- + import Foundation + import Plexswift + + let client = Client(security: .accessToken("")) + + let response = try await client.log.enablePaperTrail() + + switch response.data { + case .badRequest(let badRequest): + // Handle response + break + case .unauthorized(let unauthorized): + // Handle response + break + case .empty: + // Handle empty response + break + } + - target: $["paths"]["/updater/status"]["get"] + update: + x-codeSamples: + - lang: swift + label: getUpdateStatus + source: |- + import Foundation + import Plexswift + + let client = Client(security: .accessToken("")) + + let response = try await client.updater.getUpdateStatus() + + switch response.data { + case .object(let object): + // Handle response + break + case .badRequest(let badRequest): + // Handle response + break + case .unauthorized(let unauthorized): + // Handle response + break + case .empty: + // Handle empty response + break + } + - target: $["paths"]["/:/timeline"]["get"] + update: + x-codeSamples: + - lang: swift + label: getTimeline + source: "import Foundation\nimport Plexswift\n\nlet client = Client(security: .accessToken(\"\"))\n\nlet response = try await client.video.getTimeline(\n request: Operations.GetTimelineRequest(\n context: \"home:hub.continueWatching\", \n duration: 10000, \n hasMDE: 1, \n key: \"/library/metadata/23409\", \n playBackTime: 2000, \n playQueueItemID: 1, \n ratingKey: 23409, \n row: 1, \n state: .playing, \n time: 2000\n )\n)\n\nswitch response.data {\ncase .badRequest(let badRequest):\n // Handle response\n break\ncase .unauthorized(let unauthorized):\n // Handle response\n break\ncase .empty:\n // Handle empty response\n break\n}" + - target: $["paths"]["/activities/{activityUUID}"]["delete"] + update: + x-codeSamples: + - lang: swift + label: cancelServerActivities + source: |- + import Foundation + import Plexswift + + let client = Client(security: .accessToken("")) + + let response = try await client.activities.cancelServerActivities( + request: Operations.CancelServerActivitiesRequest( + activityUUID: "25b71ed5-0f9d-461c-baa7-d404e9e10d3e" + ) + ) + + switch response.data { + case .badRequest(let badRequest): + // Handle response + break + case .unauthorized(let unauthorized): + // Handle response + break + case .empty: + // Handle empty response + break + } + - target: $["paths"]["/library/sections"]["get"] + update: + x-codeSamples: + - lang: swift + label: libraries + source: |- + import Foundation + import Plexswift + + let client = Client(security: .accessToken("")) + + let response = try await client.library.getAllLibraries() + + switch response.data { + case .object(let object): + // Handle response + break + case .badRequest(let badRequest): + // Handle response + break + case .unauthorized(let unauthorized): + // Handle response + break + case .empty: + // Handle empty response + break + } + - target: $["paths"]["/updater/apply"]["put"] + update: + x-codeSamples: + - lang: swift + label: applyUpdates + source: "import Foundation\nimport Plexswift\n\nlet client = Client(security: .accessToken(\"\"))\n\nlet response = try await client.updater.applyUpdates(\n request: Operations.ApplyUpdatesRequest(\n skip: .one, \n tonight: .zero\n )\n)\n\nswitch response.data {\ncase .badRequest(let badRequest):\n // Handle response\n break\ncase .unauthorized(let unauthorized):\n // Handle response\n break\ncase .empty:\n // Handle empty response\n break\n}" + - target: $["paths"]["/log"]["post"] + update: + x-codeSamples: + - lang: swift + label: logMultiLine + source: |- + import Foundation + import Plexswift + + let client = Client(security: .accessToken("")) + + let response = try await client.log.logMultiLine() + + switch response.data { + case .badRequest(let badRequest): + // Handle response + break + case .unauthorized(let unauthorized): + // Handle response + break + case .empty: + // Handle empty response + break + } + - target: $["paths"]["/playlists/{playlistID}/items"]["get"] + update: + x-codeSamples: + - lang: swift + label: getPlaylistContents + source: "import Foundation\nimport Plexswift\n\nlet client = Client(security: .accessToken(\"\"))\n\nlet response = try await client.playlists.getPlaylistContents(\n request: Operations.GetPlaylistContentsRequest(\n playlistID: 5004.46, \n type: .episode\n )\n)\n\nswitch response.data {\ncase .object(let object):\n // Handle response\n break\ncase .badRequest(let badRequest):\n // Handle response\n break\ncase .unauthorized(let unauthorized):\n // Handle response\n break\ncase .empty:\n // Handle empty response\n break\n}" + - target: $["paths"]["/myplex/account"]["get"] + update: + x-codeSamples: + - lang: swift + label: getMyPlexAccount + source: |- + import Foundation + import Plexswift + + let client = Client(security: .accessToken("")) + + let response = try await client.server.getMyPlexAccount() + switch response.data { case .object(let object): // Handle response @@ -251,20 +686,126 @@ actions: // Handle empty response break } - - target: $["paths"]["/butler/{taskName}"]["post"] + - target: $["paths"]["/library/metadata/{ratingKey}/banner"]["get"] update: x-codeSamples: - lang: swift - label: startTask + label: image + source: "import Foundation\nimport Plexswift\n\nlet client = Client(security: .accessToken(\"\"))\n\nlet response = try await client.media.getBannerImage(\n request: Operations.GetBannerImageRequest(\n height: 396, \n minSize: 1, \n ratingKey: 9518, \n upscale: 1, \n width: 396, \n xPlexToken: \"CV5xoxjTpFKUzBTShsaf\"\n )\n)\n\nswitch response.data {\ncase .bytes(let bytes):\n // Handle response\n break\ncase .badRequest(let badRequest):\n // Handle response\n break\ncase .unauthorized(let unauthorized):\n // Handle response\n break\ncase .empty:\n // Handle empty response\n break\n}" + - target: $["paths"]["/butler"]["delete"] + update: + x-codeSamples: + - lang: swift + label: stopAllTasks source: |- import Foundation import Plexswift let client = Client(security: .accessToken("")) - let response = try await client.butler.startTask( - request: Operations.StartTaskRequest( - taskName: .cleanOldBundles + let response = try await client.butler.stopAllTasks() + + switch response.data { + case .badRequest(let badRequest): + // Handle response + break + case .unauthorized(let unauthorized): + // Handle response + break + case .empty: + // Handle empty response + break + } + - target: $["paths"]["/hubs/search/voice"]["get"] + update: + x-codeSamples: + - lang: swift + label: performVoiceSearch + source: "import Foundation\nimport Plexswift\n\nlet client = Client(security: .accessToken(\"\"))\n\nlet response = try await client.search.performVoiceSearch(\n request: Operations.PerformVoiceSearchRequest(\n query: \"dead+poop\", \n limit: 5, \n sectionId: 4094.8\n )\n)\n\nswitch response.data {\ncase .badRequest(let badRequest):\n // Handle response\n break\ncase .unauthorized(let unauthorized):\n // Handle response\n break\ncase .empty:\n // Handle empty response\n break\n}" + - target: $["paths"]["/library/sections/watchlist/{filter}"]["get"] + update: + x-codeSamples: + - lang: swift + label: list + source: "import Foundation\nimport Plexswift\n\nlet client = Client(security: .accessToken(\"\"))\n\nlet response = try await client.watchlist.getWatchList(\n request: Operations.GetWatchListRequest(\n filter: .available, \n xPlexToken: \"CV5xoxjTpFKUzBTShsaf\", \n includeCollections: .zero, \n includeExternalMedia: .zero, \n libtype: .show, \n maxresults: 49173, \n sort: \"\", \n xPlexContainerSize: 50, \n xPlexContainerStart: 0\n )\n)\n\nswitch response.data {\ncase .object(let object):\n // Handle response\n break\ncase .badRequest(let badRequest):\n // Handle response\n break\ncase .unauthorized(let unauthorized):\n // Handle response\n break\ncase .empty:\n // Handle empty response\n break\n}" + - target: $["paths"]["/security/token"]["get"] + update: + x-codeSamples: + - lang: swift + label: getTransientToken + source: "import Foundation\nimport Plexswift\n\nlet client = Client(security: .accessToken(\"\"))\n\nlet response = try await client.authentication.getTransientToken(\n request: Operations.GetTransientTokenRequest(\n scope: .all, \n type: .delegation\n )\n)\n\nswitch response.data {\ncase .badRequest(let badRequest):\n // Handle response\n break\ncase .unauthorized(let unauthorized):\n // Handle response\n break\ncase .empty:\n // Handle empty response\n break\n}" + - target: $["paths"]["/statistics/bandwidth"]["get"] + update: + x-codeSamples: + - lang: swift + label: getBandwidthStatistics + source: |- + import Foundation + import Plexswift + + let client = Client(security: .accessToken("")) + + let response = try await client.statistics.getBandwidthStatistics( + request: Operations.GetBandwidthStatisticsRequest( + timespan: 4 + ) + ) + + switch response.data { + case .object(let object): + // Handle response + break + case .badRequest(let badRequest): + // Handle response + break + case .unauthorized(let unauthorized): + // Handle response + break + case .empty: + // Handle empty response + break + } + - target: $["paths"]["/status/sessions"]["get"] + update: + x-codeSamples: + - lang: swift + label: getSessions + source: |- + import Foundation + import Plexswift + + let client = Client(security: .accessToken("")) + + let response = try await client.sessions.getSessions() + + switch response.data { + case .object(let object): + // Handle response + break + case .badRequest(let badRequest): + // Handle response + break + case .unauthorized(let unauthorized): + // Handle response + break + case .empty: + // Handle empty response + break + } + - target: $["paths"]["/:/unscrobble"]["get"] + update: + x-codeSamples: + - lang: swift + label: markUnplayed + source: |- + import Foundation + import Plexswift + + let client = Client(security: .accessToken("")) + + let response = try await client.media.markUnplayed( + request: Operations.MarkUnplayedRequest( + key: 59398 ) ) @@ -279,6 +820,61 @@ actions: // Handle empty response break } + - target: $["paths"]["/home"]["get"] + update: + x-codeSamples: + - lang: swift + label: getHomeData + source: |- + import Foundation + import Plexswift + + let client = Client(security: .accessToken("")) + + let response = try await client.plex.getHomeData() + + switch response.data { + case .object(let object): + // Handle response + break + case .badRequest(let badRequest): + // Handle response + break + case .unauthorized(let unauthorized): + // Handle response + break + case .empty: + // Handle empty response + break + } + - target: $["paths"]["/pins"]["post"] + update: + x-codeSamples: + - lang: swift + label: getPin + source: |- + import Foundation + import Plexswift + + let client = Client() + + let response = try await client.plex.getPin( + request: Operations.GetPinRequest( + strong: false + ) + ) + + switch response.data { + case .authPinContainer(let authPinContainer): + // Handle response + break + case .badRequest(let badRequest): + // Handle response + break + case .empty: + // Handle empty response + break + } - target: $["paths"]["/library/metadata/{ratingKey}"]["get"] update: x-codeSamples: @@ -310,251 +906,6 @@ actions: // Handle empty response break } - - target: $["paths"]["/updater/check"]["put"] - update: - x-codeSamples: - - lang: swift - label: checkForUpdates - source: |- - import Foundation - import Plexswift - - let client = Client(security: .accessToken("")) - - let response = try await client.updater.checkForUpdates( - request: Operations.CheckForUpdatesRequest( - download: .one - ) - ) - - switch response.data { - case .badRequest(let badRequest): - // Handle response - break - case .unauthorized(let unauthorized): - // Handle response - break - case .empty: - // Handle empty response - break - } - - target: $["paths"]["/library/metadata/{ratingKey}/thumb"]["get"] - update: - x-codeSamples: - - lang: swift - label: image - source: "import Foundation\nimport Plexswift\n\nlet client = Client(security: .accessToken(\"\"))\n\nlet response = try await client.media.getThumbImage(\n request: Operations.GetThumbImageRequest(\n height: 396, \n minSize: 1, \n ratingKey: 9518, \n upscale: 1, \n width: 396, \n xPlexToken: \"CV5xoxjTpFKUzBTShsaf\"\n )\n)\n\nswitch response.data {\ncase .bytes(let bytes):\n // Handle response\n break\ncase .badRequest(let badRequest):\n // Handle response\n break\ncase .unauthorized(let unauthorized):\n // Handle response\n break\ncase .empty:\n // Handle empty response\n break\n}" - - target: $["paths"]["/library/all/top"]["get"] - update: - x-codeSamples: - - lang: swift - label: getTopWatchedContent - source: "import Foundation\nimport Plexswift\n\nlet client = Client(security: .accessToken(\"\"))\n\nlet response = try await client.library.getTopWatchedContent(\n request: Operations.GetTopWatchedContentRequest(\n type: .season, \n includeGuids: 1\n )\n)\n\nswitch response.data {\ncase .object(let object):\n // Handle response\n break\ncase .badRequest(let badRequest):\n // Handle response\n break\ncase .unauthorized(let unauthorized):\n // Handle response\n break\ncase .empty:\n // Handle empty response\n break\n}" - - target: $["paths"]["/playlists/{playlistID}"]["delete"] - update: - x-codeSamples: - - lang: swift - label: deletePlaylist - source: |- - import Foundation - import Plexswift - - let client = Client(security: .accessToken("")) - - let response = try await client.playlists.deletePlaylist( - request: Operations.DeletePlaylistRequest( - playlistID: 216.22 - ) - ) - - switch response.data { - case .badRequest(let badRequest): - // Handle response - break - case .unauthorized(let unauthorized): - // Handle response - break - case .empty: - // Handle empty response - break - } - - target: $["paths"]["/library/metadata/{ratingKey}/children"]["get"] - update: - x-codeSamples: - - lang: swift - label: getMetadataChildren - source: "import Foundation\nimport Plexswift\n\nlet client = Client(security: .accessToken(\"\"))\n\nlet response = try await client.library.getMetadataChildren(\n request: Operations.GetMetadataChildrenRequest(\n ratingKey: 1539.14, \n includeElements: \"\"\n )\n)\n\nswitch response.data {\ncase .object(let object):\n // Handle response\n break\ncase .badRequest(let badRequest):\n // Handle response\n break\ncase .unauthorized(let unauthorized):\n // Handle response\n break\ncase .empty:\n // Handle empty response\n break\n}" - - target: $["paths"]["/playlists/{playlistID}"]["put"] - update: - x-codeSamples: - - lang: swift - label: updatePlaylist - source: "import Foundation\nimport Plexswift\n\nlet client = Client(security: .accessToken(\"\"))\n\nlet response = try await client.playlists.updatePlaylist(\n request: Operations.UpdatePlaylistRequest(\n playlistID: 3915, \n summary: \"\", \n title: \"\"\n )\n)\n\nswitch response.data {\ncase .badRequest(let badRequest):\n // Handle response\n break\ncase .unauthorized(let unauthorized):\n // Handle response\n break\ncase .empty:\n // Handle empty response\n break\n}" - - target: $["paths"]["/activities/{activityUUID}"]["delete"] - update: - x-codeSamples: - - lang: swift - label: cancelServerActivities - source: |- - import Foundation - import Plexswift - - let client = Client(security: .accessToken("")) - - let response = try await client.activities.cancelServerActivities( - request: Operations.CancelServerActivitiesRequest( - activityUUID: "25b71ed5-0f9d-461c-baa7-d404e9e10d3e" - ) - ) - - switch response.data { - case .badRequest(let badRequest): - // Handle response - break - case .unauthorized(let unauthorized): - // Handle response - break - case .empty: - // Handle empty response - break - } - - target: $["paths"]["/companions"]["get"] - update: - x-codeSamples: - - lang: swift - label: getCompanionsData - source: |- - import Foundation - import Plexswift - - let client = Client(security: .accessToken("")) - - let response = try await client.plex.getCompanionsData() - - switch response.data { - case .responseBodies(let responseBodies): - // Handle response - break - case .badRequest(let badRequest): - // Handle response - break - case .unauthorized(let unauthorized): - // Handle response - break - case .empty: - // Handle empty response - break - } - - target: $["paths"]["/hubs/sections/{sectionId}"]["get"] - update: - x-codeSamples: - - lang: swift - label: getLibraryHubs - source: "import Foundation\nimport Plexswift\n\nlet client = Client(security: .accessToken(\"\"))\n\nlet response = try await client.hubs.getLibraryHubs(\n request: Operations.GetLibraryHubsRequest(\n sectionId: 6728.76, \n count: 9010.22, \n onlyTransient: .zero\n )\n)\n\nswitch response.data {\ncase .object(let object):\n // Handle response\n break\ncase .badRequest(let badRequest):\n // Handle response\n break\ncase .unauthorized(let unauthorized):\n // Handle response\n break\ncase .empty:\n // Handle empty response\n break\n}" - - target: $["paths"]["/butler/{taskName}"]["delete"] - update: - x-codeSamples: - - lang: swift - label: stopTask - source: |- - import Foundation - import Plexswift - - let client = Client(security: .accessToken("")) - - let response = try await client.butler.stopTask( - request: Operations.StopTaskRequest( - taskName: .backupDatabase - ) - ) - - switch response.data { - case .badRequest(let badRequest): - // Handle response - break - case .unauthorized(let unauthorized): - // Handle response - break - case .empty: - // Handle empty response - break - } - - target: $["paths"]["/library/sections/{sectionKey}/search"]["get"] - update: - x-codeSamples: - - lang: swift - label: library - source: "import Foundation\nimport Plexswift\n\nlet client = Client(security: .accessToken(\"\"))\n\nlet response = try await client.library.getSearchLibrary(\n request: Operations.GetSearchLibraryRequest(\n sectionKey: 9518, \n type: .tvShow\n )\n)\n\nswitch response.data {\ncase .object(let object):\n // Handle response\n break\ncase .badRequest(let badRequest):\n // Handle response\n break\ncase .unauthorized(let unauthorized):\n // Handle response\n break\ncase .empty:\n // Handle empty response\n break\n}" - - target: $["paths"]["/playlists/{playlistID}/items"]["put"] - update: - x-codeSamples: - - lang: swift - label: addPlaylistContents - source: "import Foundation\nimport Plexswift\n\nlet client = Client(security: .accessToken(\"\"))\n\nlet response = try await client.playlists.addPlaylistContents(\n request: Operations.AddPlaylistContentsRequest(\n playlistID: 8502.01, \n uri: \"server://12345/com.plexapp.plugins.library/library/metadata/1\", \n playQueueID: 123\n )\n)\n\nswitch response.data {\ncase .object(let object):\n // Handle response\n break\ncase .badRequest(let badRequest):\n // Handle response\n break\ncase .unauthorized(let unauthorized):\n // Handle response\n break\ncase .empty:\n // Handle empty response\n break\n}" - - target: $["paths"]["/:/unscrobble"]["get"] - update: - x-codeSamples: - - lang: swift - label: markUnplayed - source: |- - import Foundation - import Plexswift - - let client = Client(security: .accessToken("")) - - let response = try await client.media.markUnplayed( - request: Operations.MarkUnplayedRequest( - key: 59398 - ) - ) - - switch response.data { - case .badRequest(let badRequest): - // Handle response - break - case .unauthorized(let unauthorized): - // Handle response - break - case .empty: - // Handle empty response - break - } - - target: $["paths"]["/video/:/transcode/universal/start.mpd"]["get"] - update: - x-codeSamples: - - lang: swift - label: startUniversalTranscode - source: "import Foundation\nimport Plexswift\n\nlet client = Client(security: .accessToken(\"\"))\n\nlet response = try await client.video.startUniversalTranscode(\n request: Operations.StartUniversalTranscodeRequest(\n hasMDE: 1, \n mediaIndex: 0, \n partIndex: 0, \n path: \"/library/metadata/23409\", \n `protocol`: \"hls\", \n addDebugOverlay: 0, \n audioBoost: 100, \n autoAdjustQuality: 0, \n directPlay: 0, \n directStream: 0, \n fastSeek: 0, \n location: \"lan\", \n mediaBufferSize: 102400, \n session: \"zvcage8b7rkioqcm8f4uns4c\", \n subtites: \"burn\", \n subtitleSize: 100\n )\n)\n\nswitch response.data {\ncase .badRequest(let badRequest):\n // Handle response\n break\ncase .unauthorized(let unauthorized):\n // Handle response\n break\ncase .empty:\n // Handle empty response\n break\n}" - - target: $["paths"]["/butler"]["delete"] - update: - x-codeSamples: - - lang: swift - label: stopAllTasks - source: |- - import Foundation - import Plexswift - - let client = Client(security: .accessToken("")) - - let response = try await client.butler.stopAllTasks() - - switch response.data { - case .badRequest(let badRequest): - // Handle response - break - case .unauthorized(let unauthorized): - // Handle response - break - case .empty: - // Handle empty response - break - } - - target: $["paths"]["/library/recentlyAdded"]["get"] - update: - x-codeSamples: - - lang: swift - label: getRecentlyAdded - source: "import Foundation\nimport Plexswift\n\nlet client = Client(security: .accessToken(\"\"))\n\nlet response = try await client.library.getRecentlyAdded(\n request: Operations.GetRecentlyAddedRequest(\n xPlexContainerSize: 50, \n xPlexContainerStart: 0\n )\n)\n\nswitch response.data {\ncase .object(let object):\n // Handle response\n break\ncase .badRequest(let badRequest):\n // Handle response\n break\ncase .unauthorized(let unauthorized):\n // Handle response\n break\ncase .empty:\n // Handle empty response\n break\n}" - target: $["paths"]["/playlists/{playlistID}/items"]["delete"] update: x-codeSamples: @@ -583,60 +934,24 @@ actions: // Handle empty response break } - - target: $["paths"]["/butler"]["post"] + - target: $["paths"]["/video/:/transcode/universal/start.mpd"]["get"] update: x-codeSamples: - lang: swift - label: startAllTasks + label: startUniversalTranscode + source: "import Foundation\nimport Plexswift\n\nlet client = Client(security: .accessToken(\"\"))\n\nlet response = try await client.video.startUniversalTranscode(\n request: Operations.StartUniversalTranscodeRequest(\n hasMDE: 1, \n mediaIndex: 0, \n partIndex: 0, \n path: \"/library/metadata/23409\", \n `protocol`: \"hls\", \n addDebugOverlay: 0, \n audioBoost: 100, \n autoAdjustQuality: 0, \n directPlay: 0, \n directStream: 0, \n fastSeek: 0, \n location: \"lan\", \n mediaBufferSize: 102400, \n session: \"zvcage8b7rkioqcm8f4uns4c\", \n subtites: \"burn\", \n subtitleSize: 100\n )\n)\n\nswitch response.data {\ncase .badRequest(let badRequest):\n // Handle response\n break\ncase .unauthorized(let unauthorized):\n // Handle response\n break\ncase .empty:\n // Handle empty response\n break\n}" + - target: $["paths"]["/activities"]["get"] + update: + x-codeSamples: + - lang: swift + label: getServerActivities source: |- import Foundation import Plexswift let client = Client(security: .accessToken("")) - let response = try await client.butler.startAllTasks() - - switch response.data { - case .badRequest(let badRequest): - // Handle response - break - case .unauthorized(let unauthorized): - // Handle response - break - case .empty: - // Handle empty response - break - } - - target: $["paths"]["/hubs"]["get"] - update: - x-codeSamples: - - lang: swift - label: getGlobalHubs - source: "import Foundation\nimport Plexswift\n\nlet client = Client(security: .accessToken(\"\"))\n\nlet response = try await client.hubs.getGlobalHubs(\n request: Operations.GetGlobalHubsRequest(\n count: 1262.49, \n onlyTransient: .one\n )\n)\n\nswitch response.data {\ncase .object(let object):\n // Handle response\n break\ncase .badRequest(let badRequest):\n // Handle response\n break\ncase .unauthorized(let unauthorized):\n // Handle response\n break\ncase .empty:\n // Handle empty response\n break\n}" - - target: $["paths"]["/library/hashes"]["get"] - update: - x-codeSamples: - - lang: swift - label: getFileHash - source: "import Foundation\nimport Plexswift\n\nlet client = Client(security: .accessToken(\"\"))\n\nlet response = try await client.library.getFileHash(\n request: Operations.GetFileHashRequest(\n url: \"file://C:\\Image.png&type=13\", \n type: 4462.17\n )\n)\n\nswitch response.data {\ncase .badRequest(let badRequest):\n // Handle response\n break\ncase .unauthorized(let unauthorized):\n // Handle response\n break\ncase .empty:\n // Handle empty response\n break\n}" - - target: $["paths"]["/library/metadata/{ratingKey}/banner"]["get"] - update: - x-codeSamples: - - lang: swift - label: image - source: "import Foundation\nimport Plexswift\n\nlet client = Client(security: .accessToken(\"\"))\n\nlet response = try await client.media.getBannerImage(\n request: Operations.GetBannerImageRequest(\n height: 396, \n minSize: 1, \n ratingKey: 9518, \n upscale: 1, \n width: 396, \n xPlexToken: \"CV5xoxjTpFKUzBTShsaf\"\n )\n)\n\nswitch response.data {\ncase .bytes(let bytes):\n // Handle response\n break\ncase .badRequest(let badRequest):\n // Handle response\n break\ncase .unauthorized(let unauthorized):\n // Handle response\n break\ncase .empty:\n // Handle empty response\n break\n}" - - target: $["paths"]["/home"]["get"] - update: - x-codeSamples: - - lang: swift - label: getHomeData - source: |- - import Foundation - import Plexswift - - let client = Client(security: .accessToken("")) - - let response = try await client.plex.getHomeData() + let response = try await client.activities.getServerActivities() switch response.data { case .object(let object): @@ -652,443 +967,6 @@ actions: // Handle empty response break } - - target: $["paths"]["/:/prefs"]["get"] - update: - x-codeSamples: - - lang: swift - label: getServerPreferences - source: |- - import Foundation - import Plexswift - - let client = Client(security: .accessToken("")) - - let response = try await client.server.getServerPreferences() - - switch response.data { - case .object(let object): - // Handle response - break - case .badRequest(let badRequest): - // Handle response - break - case .unauthorized(let unauthorized): - // Handle response - break - case .empty: - // Handle empty response - break - } - - target: $["paths"]["/devices"]["get"] - update: - x-codeSamples: - - lang: swift - label: getDevices - source: |- - import Foundation - import Plexswift - - let client = Client(security: .accessToken("")) - - let response = try await client.server.getDevices() - - switch response.data { - case .object(let object): - // Handle response - break - case .badRequest(let badRequest): - // Handle response - break - case .unauthorized(let unauthorized): - // Handle response - break - case .empty: - // Handle empty response - break - } - - target: $["paths"]["/:/progress"]["post"] - update: - x-codeSamples: - - lang: swift - label: updatePlayProgress - source: "import Foundation\nimport Plexswift\n\nlet client = Client(security: .accessToken(\"\"))\n\nlet response = try await client.media.updatePlayProgress(\n request: Operations.UpdatePlayProgressRequest(\n key: \"\", \n state: \"played\", \n time: 90000\n )\n)\n\nswitch response.data {\ncase .badRequest(let badRequest):\n // Handle response\n break\ncase .unauthorized(let unauthorized):\n // Handle response\n break\ncase .empty:\n // Handle empty response\n break\n}" - - target: $["paths"]["/:/timeline"]["get"] - update: - x-codeSamples: - - lang: swift - label: getTimeline - source: "import Foundation\nimport Plexswift\n\nlet client = Client(security: .accessToken(\"\"))\n\nlet response = try await client.video.getTimeline(\n request: Operations.GetTimelineRequest(\n context: \"home:hub.continueWatching\", \n duration: 10000, \n hasMDE: 1, \n key: \"/library/metadata/23409\", \n playBackTime: 2000, \n playQueueItemID: 1, \n ratingKey: 23409, \n row: 1, \n state: .playing, \n time: 2000\n )\n)\n\nswitch response.data {\ncase .badRequest(let badRequest):\n // Handle response\n break\ncase .unauthorized(let unauthorized):\n // Handle response\n break\ncase .empty:\n // Handle empty response\n break\n}" - - target: $["paths"]["/hubs/search"]["get"] - update: - x-codeSamples: - - lang: swift - label: performSearch - source: "import Foundation\nimport Plexswift\n\nlet client = Client(security: .accessToken(\"\"))\n\nlet response = try await client.search.performSearch(\n request: Operations.PerformSearchRequest(\n query: \"dylan\", \n limit: 5, \n sectionId: 1516.53\n )\n)\n\nswitch response.data {\ncase .badRequest(let badRequest):\n // Handle response\n break\ncase .unauthorized(let unauthorized):\n // Handle response\n break\ncase .empty:\n // Handle empty response\n break\n}" - - target: $["paths"]["/updater/status"]["get"] - update: - x-codeSamples: - - lang: swift - label: getUpdateStatus - source: |- - import Foundation - import Plexswift - - let client = Client(security: .accessToken("")) - - let response = try await client.updater.getUpdateStatus() - - switch response.data { - case .object(let object): - // Handle response - break - case .badRequest(let badRequest): - // Handle response - break - case .unauthorized(let unauthorized): - // Handle response - break - case .empty: - // Handle empty response - break - } - - target: $["paths"]["/myplex/account"]["get"] - update: - x-codeSamples: - - lang: swift - label: getMyPlexAccount - source: |- - import Foundation - import Plexswift - - let client = Client(security: .accessToken("")) - - let response = try await client.server.getMyPlexAccount() - - switch response.data { - case .object(let object): - // Handle response - break - case .badRequest(let badRequest): - // Handle response - break - case .unauthorized(let unauthorized): - // Handle response - break - case .empty: - // Handle empty response - break - } - - target: $["paths"]["/library/sections"]["get"] - update: - x-codeSamples: - - lang: swift - label: libraries - source: |- - import Foundation - import Plexswift - - let client = Client(security: .accessToken("")) - - let response = try await client.library.getAllLibraries() - - switch response.data { - case .object(let object): - // Handle response - break - case .badRequest(let badRequest): - // Handle response - break - case .unauthorized(let unauthorized): - // Handle response - break - case .empty: - // Handle empty response - break - } - - target: $["paths"]["/playlists"]["get"] - update: - x-codeSamples: - - lang: swift - label: getPlaylists - source: "import Foundation\nimport Plexswift\n\nlet client = Client(security: .accessToken(\"\"))\n\nlet response = try await client.playlists.getPlaylists(\n request: Operations.GetPlaylistsRequest(\n playlistType: .audio, \n smart: .zero\n )\n)\n\nswitch response.data {\ncase .object(let object):\n // Handle response\n break\ncase .badRequest(let badRequest):\n // Handle response\n break\ncase .unauthorized(let unauthorized):\n // Handle response\n break\ncase .empty:\n // Handle empty response\n break\n}" - - target: $["paths"]["/users/signin"]["post"] - update: - x-codeSamples: - - lang: swift - label: data - source: "import Foundation\nimport Plexswift\n\nlet client = Client()\n\nlet response = try await client.authentication.postUsersSignInData(\n request: Operations.PostUsersSignInDataRequestBody(\n login: \"username@email.com\", \n password: \"password123\", \n rememberMe: false, \n verificationCode: \"123456\"\n )\n)\n\nswitch response.data {\ncase .userPlexAccount(let userPlexAccount):\n // Handle response\n break\ncase .badRequest(let badRequest):\n // Handle response\n break\ncase .unauthorized(let unauthorized):\n // Handle response\n break\ncase .empty:\n // Handle empty response\n break\n}" - - target: $["paths"]["/hubs/search/voice"]["get"] - update: - x-codeSamples: - - lang: swift - label: performVoiceSearch - source: "import Foundation\nimport Plexswift\n\nlet client = Client(security: .accessToken(\"\"))\n\nlet response = try await client.search.performVoiceSearch(\n request: Operations.PerformVoiceSearchRequest(\n query: \"dead+poop\", \n limit: 5, \n sectionId: 4094.8\n )\n)\n\nswitch response.data {\ncase .badRequest(let badRequest):\n // Handle response\n break\ncase .unauthorized(let unauthorized):\n // Handle response\n break\ncase .empty:\n // Handle empty response\n break\n}" - - target: $["paths"]["/library/sections/{sectionKey}/{tag}"]["get"] - update: - x-codeSamples: - - lang: swift - label: items - source: "import Foundation\nimport Plexswift\n\nlet client = Client(security: .accessToken(\"\"))\n\nlet response = try await client.library.getLibraryItems(\n request: Operations.GetLibraryItemsRequest(\n sectionKey: 9518, \n tag: .edition, \n includeGuids: .enable, \n includeMeta: .enable, \n type: .tvShow, \n xPlexContainerSize: 50, \n xPlexContainerStart: 0\n )\n)\n\nswitch response.data {\ncase .object(let object):\n // Handle response\n break\ncase .badRequest(let badRequest):\n // Handle response\n break\ncase .unauthorized(let unauthorized):\n // Handle response\n break\ncase .empty:\n // Handle empty response\n break\n}" - - target: $["paths"]["/library/onDeck"]["get"] - update: - x-codeSamples: - - lang: swift - label: getOnDeck - source: |- - import Foundation - import Plexswift - - let client = Client(security: .accessToken("")) - - let response = try await client.library.getOnDeck() - - switch response.data { - case .object(let object): - // Handle response - break - case .badRequest(let badRequest): - // Handle response - break - case .unauthorized(let unauthorized): - // Handle response - break - case .empty: - // Handle empty response - break - } - - target: $["paths"]["/log"]["post"] - update: - x-codeSamples: - - lang: swift - label: logMultiLine - source: |- - import Foundation - import Plexswift - - let client = Client(security: .accessToken("")) - - let response = try await client.log.logMultiLine() - - switch response.data { - case .badRequest(let badRequest): - // Handle response - break - case .unauthorized(let unauthorized): - // Handle response - break - case .empty: - // Handle empty response - break - } - - target: $["paths"]["/playlists/upload"]["post"] - update: - x-codeSamples: - - lang: swift - label: uploadPlaylist - source: "import Foundation\nimport Plexswift\n\nlet client = Client(security: .accessToken(\"\"))\n\nlet response = try await client.playlists.uploadPlaylist(\n request: Operations.UploadPlaylistRequest(\n force: .zero, \n path: \"/home/barkley/playlist.m3u\", \n sectionID: 1\n )\n)\n\nswitch response.data {\ncase .badRequest(let badRequest):\n // Handle response\n break\ncase .unauthorized(let unauthorized):\n // Handle response\n break\ncase .empty:\n // Handle empty response\n break\n}" - - target: $["paths"]["/servers"]["get"] - update: - x-codeSamples: - - lang: swift - label: getServerList - source: |- - import Foundation - import Plexswift - - let client = Client(security: .accessToken("")) - - let response = try await client.server.getServerList() - - switch response.data { - case .object(let object): - // Handle response - break - case .badRequest(let badRequest): - // Handle response - break - case .unauthorized(let unauthorized): - // Handle response - break - case .empty: - // Handle empty response - break - } - - target: $["paths"]["/resources"]["get"] - update: - x-codeSamples: - - lang: swift - label: resources - source: "import Foundation\nimport Plexswift\n\nlet client = Client(security: .accessToken(\"\"))\n\nlet response = try await client.plex.getServerResources(\n request: Operations.GetServerResourcesRequest(\n includeHttps: .disable, \n includeIPv6: .disable, \n includeRelay: .enable\n )\n)\n\nswitch response.data {\ncase .plexDevices(let plexDevices):\n // Handle response\n break\ncase .badRequest(let badRequest):\n // Handle response\n break\ncase .unauthorized(let unauthorized):\n // Handle response\n break\ncase .empty:\n // Handle empty response\n break\n}" - - target: $["paths"]["/log"]["get"] - update: - x-codeSamples: - - lang: swift - label: logLine - source: "import Foundation\nimport Plexswift\n\nlet client = Client(security: .accessToken(\"\"))\n\nlet response = try await client.log.logLine(\n request: Operations.LogLineRequest(\n level: .three, \n message: \"Test log message\", \n source: \"Postman\"\n )\n)\n\nswitch response.data {\ncase .badRequest(let badRequest):\n // Handle response\n break\ncase .unauthorized(let unauthorized):\n // Handle response\n break\ncase .empty:\n // Handle empty response\n break\n}" - - target: $["paths"]["/pins"]["post"] - update: - x-codeSamples: - - lang: swift - label: getPin - source: |- - import Foundation - import Plexswift - - let client = Client() - - let response = try await client.plex.getPin( - request: Operations.GetPinRequest( - strong: false - ) - ) - - switch response.data { - case .authPinContainer(let authPinContainer): - // Handle response - break - case .badRequest(let badRequest): - // Handle response - break - case .empty: - // Handle empty response - break - } - - target: $["paths"]["/library/sections/watchlist/{filter}"]["get"] - update: - x-codeSamples: - - lang: swift - label: list - source: "import Foundation\nimport Plexswift\n\nlet client = Client(security: .accessToken(\"\"))\n\nlet response = try await client.watchlist.getWatchList(\n request: Operations.GetWatchListRequest(\n filter: .available, \n xPlexToken: \"CV5xoxjTpFKUzBTShsaf\", \n includeCollections: .zero, \n includeExternalMedia: .zero, \n libtype: .show, \n maxresults: 49173, \n sort: \"\", \n xPlexContainerSize: 50, \n xPlexContainerStart: 0\n )\n)\n\nswitch response.data {\ncase .object(let object):\n // Handle response\n break\ncase .badRequest(let badRequest):\n // Handle response\n break\ncase .unauthorized(let unauthorized):\n // Handle response\n break\ncase .empty:\n // Handle empty response\n break\n}" - - target: $["paths"]["/log/networked"]["get"] - update: - x-codeSamples: - - lang: swift - label: enablePaperTrail - source: |- - import Foundation - import Plexswift - - let client = Client(security: .accessToken("")) - - let response = try await client.log.enablePaperTrail() - - switch response.data { - case .badRequest(let badRequest): - // Handle response - break - case .unauthorized(let unauthorized): - // Handle response - break - case .empty: - // Handle empty response - break - } - - target: $["paths"]["/transcode/sessions"]["get"] - update: - x-codeSamples: - - lang: swift - label: getTranscodeSessions - source: |- - import Foundation - import Plexswift - - let client = Client(security: .accessToken("")) - - let response = try await client.sessions.getTranscodeSessions() - - switch response.data { - case .object(let object): - // Handle response - break - case .badRequest(let badRequest): - // Handle response - break - case .unauthorized(let unauthorized): - // Handle response - break - case .empty: - // Handle empty response - break - } - - target: $["paths"]["/transcode/sessions/{sessionKey}"]["delete"] - update: - x-codeSamples: - - lang: swift - label: stopTranscodeSession - source: |- - import Foundation - import Plexswift - - let client = Client(security: .accessToken("")) - - let response = try await client.sessions.stopTranscodeSession( - request: Operations.StopTranscodeSessionRequest( - sessionKey: "zz7llzqlx8w9vnrsbnwhbmep" - ) - ) - - switch response.data { - case .badRequest(let badRequest): - // Handle response - break - case .unauthorized(let unauthorized): - // Handle response - break - case .empty: - // Handle empty response - break - } - - target: $["paths"]["/clients"]["get"] - update: - x-codeSamples: - - lang: swift - label: getAvailableClients - source: |- - import Foundation - import Plexswift - - let client = Client(security: .accessToken("")) - - let response = try await client.server.getAvailableClients() - - switch response.data { - case .object(let object): - // Handle response - break - case .badRequest(let badRequest): - // Handle response - break - case .unauthorized(let unauthorized): - // Handle response - break - case .empty: - // Handle empty response - break - } - - target: $["paths"]["/identity"]["get"] - update: - x-codeSamples: - - lang: swift - label: identity - source: |- - import Foundation - import Plexswift - - let client = Client() - - let response = try await client.server.getServerIdentity() - - switch response.data { - case .object(let object): - // Handle response - break - case .requestTimeout(let requestTimeout): - // Handle response - break - case .empty: - // Handle empty response - break - } - target: $["paths"]["/butler"]["get"] update: x-codeSamples: @@ -1116,196 +994,30 @@ actions: // Handle empty response break } - - target: $["paths"]["/library/sections/{sectionKey}/refresh"]["get"] + - target: $["paths"]["/playlists/{playlistID}/items"]["put"] update: x-codeSamples: - lang: swift - label: metadata - source: "import Foundation\nimport Plexswift\n\nlet client = Client(security: .accessToken(\"\"))\n\nlet response = try await client.library.getRefreshLibraryMetadata(\n request: Operations.GetRefreshLibraryMetadataRequest(\n sectionKey: 9518, \n force: .one\n )\n)\n\nswitch response.data {\ncase .badRequest(let badRequest):\n // Handle response\n break\ncase .unauthorized(let unauthorized):\n // Handle response\n break\ncase .empty:\n // Handle empty response\n break\n}" - - target: $["paths"]["/user"]["get"] - update: - x-codeSamples: - - lang: swift - label: getTokenDetails - source: |- - import Foundation - import Plexswift - - let client = Client(security: .accessToken("")) - - let response = try await client.authentication.getTokenDetails() - - switch response.data { - case .userPlexAccount(let userPlexAccount): - // Handle response - break - case .badRequest(let badRequest): - // Handle response - break - case .unauthorized(let unauthorized): - // Handle response - break - case .empty: - // Handle empty response - break - } - - target: $["paths"]["/statistics/media"]["get"] - update: - x-codeSamples: - - lang: swift - label: getStatistics - source: |- - import Foundation - import Plexswift - - let client = Client(security: .accessToken("")) - - let response = try await client.statistics.getStatistics( - request: Operations.GetStatisticsRequest( - timespan: 4 - ) - ) - - switch response.data { - case .object(let object): - // Handle response - break - case .badRequest(let badRequest): - // Handle response - break - case .unauthorized(let unauthorized): - // Handle response - break - case .empty: - // Handle empty response - break - } - - target: $["paths"]["/photo/:/transcode"]["get"] - update: - x-codeSamples: - - lang: swift - label: getResizedPhoto - source: "import Foundation\nimport Plexswift\n\nlet client = Client(security: .accessToken(\"\"))\n\nlet response = try await client.server.getResizedPhoto(\n request: Operations.GetResizedPhotoRequest(\n blur: 20, \n height: 165, \n minSize: .one, \n opacity: 96541, \n upscale: .zero, \n url: \"/library/metadata/49564/thumb/1654258204\", \n width: 110\n )\n)\n\nswitch response.data {\ncase .badRequest(let badRequest):\n // Handle response\n break\ncase .unauthorized(let unauthorized):\n // Handle response\n break\ncase .empty:\n // Handle empty response\n break\n}" - - target: $["paths"]["/media/providers"]["get"] - update: - x-codeSamples: - - lang: swift - label: providers - source: |- - import Foundation - import Plexswift - - let client = Client(security: .accessToken("")) - - let response = try await client.server.getMediaProviders( - request: Operations.GetMediaProvidersRequest( - xPlexToken: "CV5xoxjTpFKUzBTShsaf" - ) - ) - - switch response.data { - case .object(let object): - // Handle response - break - case .badRequest(let badRequest): - // Handle response - break - case .unauthorized(let unauthorized): - // Handle response - break - case .empty: - // Handle empty response - break - } - - target: $["paths"]["/pins/{pinID}"]["get"] - update: - x-codeSamples: - - lang: swift - label: getTokenByPinId - source: |- - import Foundation - import Plexswift - - let client = Client() - - let response = try await client.plex.getTokenByPinId( - request: Operations.GetTokenByPinIdRequest( - pinID: 408895 - ) - ) - - switch response.data { - case .authPinContainer(let authPinContainer): - // Handle response - break - case .badRequest(let badRequest): - // Handle response - break - case .object(let object): - // Handle response - break - case .empty: - // Handle empty response - break - } - - target: $["paths"]["/library/sections/{sectionKey}"]["get"] - update: - x-codeSamples: - - lang: swift - label: details - source: "import Foundation\nimport Plexswift\n\nlet client = Client(security: .accessToken(\"\"))\n\nlet response = try await client.library.getLibraryDetails(\n request: Operations.GetLibraryDetailsRequest(\n sectionKey: 9518, \n includeDetails: .zero\n )\n)\n\nswitch response.data {\ncase .object(let object):\n // Handle response\n break\ncase .badRequest(let badRequest):\n // Handle response\n break\ncase .unauthorized(let unauthorized):\n // Handle response\n break\ncase .empty:\n // Handle empty response\n break\n}" + label: addPlaylistContents + source: "import Foundation\nimport Plexswift\n\nlet client = Client(security: .accessToken(\"\"))\n\nlet response = try await client.playlists.addPlaylistContents(\n request: Operations.AddPlaylistContentsRequest(\n playlistID: 8502.01, \n uri: \"server://12345/com.plexapp.plugins.library/library/metadata/1\", \n playQueueID: 123\n )\n)\n\nswitch response.data {\ncase .object(let object):\n // Handle response\n break\ncase .badRequest(let badRequest):\n // Handle response\n break\ncase .unauthorized(let unauthorized):\n // Handle response\n break\ncase .empty:\n // Handle empty response\n break\n}" - target: $["paths"]["/status/sessions/history/all"]["get"] update: x-codeSamples: - lang: swift label: getSessionHistory source: "import Foundation\nimport Plexswift\n\nlet client = Client(security: .accessToken(\"\"))\n\nlet response = try await client.sessions.getSessionHistory(\n request: Operations.GetSessionHistoryRequest(\n accountId: 1, \n filter: Operations.QueryParamFilter(), \n librarySectionID: 12, \n sort: \"\"\n )\n)\n\nswitch response.data {\ncase .object(let object):\n // Handle response\n break\ncase .badRequest(let badRequest):\n // Handle response\n break\ncase .unauthorized(let unauthorized):\n // Handle response\n break\ncase .empty:\n // Handle empty response\n break\n}" - - target: $["paths"]["/playlists/{playlistID}/items"]["get"] + - target: $["paths"]["/devices"]["get"] update: x-codeSamples: - lang: swift - label: getPlaylistContents - source: "import Foundation\nimport Plexswift\n\nlet client = Client(security: .accessToken(\"\"))\n\nlet response = try await client.playlists.getPlaylistContents(\n request: Operations.GetPlaylistContentsRequest(\n playlistID: 5004.46, \n type: .episode\n )\n)\n\nswitch response.data {\ncase .object(let object):\n // Handle response\n break\ncase .badRequest(let badRequest):\n // Handle response\n break\ncase .unauthorized(let unauthorized):\n // Handle response\n break\ncase .empty:\n // Handle empty response\n break\n}" - - target: $["paths"]["/security/resources"]["get"] - update: - x-codeSamples: - - lang: swift - label: getSourceConnectionInformation + label: getDevices source: |- import Foundation import Plexswift let client = Client(security: .accessToken("")) - let response = try await client.authentication.getSourceConnectionInformation( - request: Operations.GetSourceConnectionInformationRequest( - source: "server://client-identifier" - ) - ) - - switch response.data { - case .badRequest(let badRequest): - // Handle response - break - case .unauthorized(let unauthorized): - // Handle response - break - case .empty: - // Handle empty response - break - } - - target: $["paths"]["/"]["get"] - update: - x-codeSamples: - - lang: swift - label: getServerCapabilities - source: |- - import Foundation - import Plexswift - - let client = Client(security: .accessToken("")) - - let response = try await client.server.getServerCapabilities() + let response = try await client.server.getDevices() switch response.data { case .object(let object): @@ -1321,23 +1033,24 @@ actions: // Handle empty response break } - - target: $["paths"]["/friends"]["get"] + - target: $["paths"]["/butler/{taskName}"]["delete"] update: x-codeSamples: - lang: swift - label: getUserFriends + label: stopTask source: |- import Foundation import Plexswift let client = Client(security: .accessToken("")) - let response = try await client.plex.getUserFriends() + let response = try await client.butler.stopTask( + request: Operations.StopTaskRequest( + taskName: .backupDatabase + ) + ) switch response.data { - case .friends(let friends): - // Handle response - break case .badRequest(let badRequest): // Handle response break @@ -1365,6 +1078,293 @@ actions: ) ) + switch response.data { + case .object(let object): + // Handle response + break + case .badRequest(let badRequest): + // Handle response + break + case .unauthorized(let unauthorized): + // Handle response + break + case .empty: + // Handle empty response + break + } + - target: $["paths"]["/playlists"]["get"] + update: + x-codeSamples: + - lang: swift + label: getPlaylists + source: "import Foundation\nimport Plexswift\n\nlet client = Client(security: .accessToken(\"\"))\n\nlet response = try await client.playlists.getPlaylists(\n request: Operations.GetPlaylistsRequest(\n playlistType: .audio, \n smart: .zero\n )\n)\n\nswitch response.data {\ncase .object(let object):\n // Handle response\n break\ncase .badRequest(let badRequest):\n // Handle response\n break\ncase .unauthorized(let unauthorized):\n // Handle response\n break\ncase .empty:\n // Handle empty response\n break\n}" + - target: $["paths"]["/transcode/sessions/{sessionKey}"]["delete"] + update: + x-codeSamples: + - lang: swift + label: stopTranscodeSession + source: |- + import Foundation + import Plexswift + + let client = Client(security: .accessToken("")) + + let response = try await client.sessions.stopTranscodeSession( + request: Operations.StopTranscodeSessionRequest( + sessionKey: "zz7llzqlx8w9vnrsbnwhbmep" + ) + ) + + switch response.data { + case .badRequest(let badRequest): + // Handle response + break + case .unauthorized(let unauthorized): + // Handle response + break + case .empty: + // Handle empty response + break + } + - target: $["paths"]["/geoip"]["get"] + update: + x-codeSamples: + - lang: swift + label: getGeoData + source: |- + import Foundation + import Plexswift + + let client = Client() + + let response = try await client.plex.getGeoData() + + switch response.data { + case .geoData(let geoData): + // Handle response + break + case .badRequest(let badRequest): + // Handle response + break + case .unauthorized(let unauthorized): + // Handle response + break + case .empty: + // Handle empty response + break + } + - target: $["paths"]["/statistics/resources"]["get"] + update: + x-codeSamples: + - lang: swift + label: getResourcesStatistics + source: |- + import Foundation + import Plexswift + + let client = Client(security: .accessToken("")) + + let response = try await client.statistics.getResourcesStatistics( + request: Operations.GetResourcesStatisticsRequest( + timespan: 4 + ) + ) + + switch response.data { + case .object(let object): + // Handle response + break + case .badRequest(let badRequest): + // Handle response + break + case .unauthorized(let unauthorized): + // Handle response + break + case .empty: + // Handle empty response + break + } + - target: $["paths"]["/transcode/sessions"]["get"] + update: + x-codeSamples: + - lang: swift + label: getTranscodeSessions + source: |- + import Foundation + import Plexswift + + let client = Client(security: .accessToken("")) + + let response = try await client.sessions.getTranscodeSessions() + + switch response.data { + case .object(let object): + // Handle response + break + case .badRequest(let badRequest): + // Handle response + break + case .unauthorized(let unauthorized): + // Handle response + break + case .empty: + // Handle empty response + break + } + - target: $["paths"]["/clients"]["get"] + update: + x-codeSamples: + - lang: swift + label: getAvailableClients + source: |- + import Foundation + import Plexswift + + let client = Client(security: .accessToken("")) + + let response = try await client.server.getAvailableClients() + + switch response.data { + case .object(let object): + // Handle response + break + case .badRequest(let badRequest): + // Handle response + break + case .unauthorized(let unauthorized): + // Handle response + break + case .empty: + // Handle empty response + break + } + - target: $["paths"]["/media/providers"]["get"] + update: + x-codeSamples: + - lang: swift + label: providers + source: |- + import Foundation + import Plexswift + + let client = Client(security: .accessToken("")) + + let response = try await client.server.getMediaProviders( + request: Operations.GetMediaProvidersRequest( + xPlexToken: "CV5xoxjTpFKUzBTShsaf" + ) + ) + + switch response.data { + case .object(let object): + // Handle response + break + case .badRequest(let badRequest): + // Handle response + break + case .unauthorized(let unauthorized): + // Handle response + break + case .empty: + // Handle empty response + break + } + - target: $["paths"]["/resources"]["get"] + update: + x-codeSamples: + - lang: swift + label: resources + source: "import Foundation\nimport Plexswift\n\nlet client = Client(security: .accessToken(\"\"))\n\nlet response = try await client.plex.getServerResources(\n request: Operations.GetServerResourcesRequest(\n includeHttps: .disable, \n includeIPv6: .disable, \n includeRelay: .enable\n )\n)\n\nswitch response.data {\ncase .plexDevices(let plexDevices):\n // Handle response\n break\ncase .badRequest(let badRequest):\n // Handle response\n break\ncase .unauthorized(let unauthorized):\n // Handle response\n break\ncase .empty:\n // Handle empty response\n break\n}" + - target: $["paths"]["/hubs/sections/{sectionId}"]["get"] + update: + x-codeSamples: + - lang: swift + label: getLibraryHubs + source: "import Foundation\nimport Plexswift\n\nlet client = Client(security: .accessToken(\"\"))\n\nlet response = try await client.hubs.getLibraryHubs(\n request: Operations.GetLibraryHubsRequest(\n sectionId: 6728.76, \n count: 9010.22, \n onlyTransient: .zero\n )\n)\n\nswitch response.data {\ncase .object(let object):\n // Handle response\n break\ncase .badRequest(let badRequest):\n // Handle response\n break\ncase .unauthorized(let unauthorized):\n // Handle response\n break\ncase .empty:\n // Handle empty response\n break\n}" + - target: $["paths"]["/library/sections/{sectionKey}/refresh"]["get"] + update: + x-codeSamples: + - lang: swift + label: metadata + source: "import Foundation\nimport Plexswift\n\nlet client = Client(security: .accessToken(\"\"))\n\nlet response = try await client.library.getRefreshLibraryMetadata(\n request: Operations.GetRefreshLibraryMetadataRequest(\n sectionKey: 9518, \n force: .one\n )\n)\n\nswitch response.data {\ncase .badRequest(let badRequest):\n // Handle response\n break\ncase .unauthorized(let unauthorized):\n // Handle response\n break\ncase .empty:\n // Handle empty response\n break\n}" + - target: $["paths"]["/butler/{taskName}"]["post"] + update: + x-codeSamples: + - lang: swift + label: startTask + source: |- + import Foundation + import Plexswift + + let client = Client(security: .accessToken("")) + + let response = try await client.butler.startTask( + request: Operations.StartTaskRequest( + taskName: .cleanOldBundles + ) + ) + + switch response.data { + case .badRequest(let badRequest): + // Handle response + break + case .unauthorized(let unauthorized): + // Handle response + break + case .empty: + // Handle empty response + break + } + - target: $["paths"]["/companions"]["get"] + update: + x-codeSamples: + - lang: swift + label: getCompanionsData + source: |- + import Foundation + import Plexswift + + let client = Client(security: .accessToken("")) + + let response = try await client.plex.getCompanionsData() + + switch response.data { + case .responseBodies(let responseBodies): + // Handle response + break + case .badRequest(let badRequest): + // Handle response + break + case .unauthorized(let unauthorized): + // Handle response + break + case .empty: + // Handle empty response + break + } + - target: $["paths"]["/library/sections/{sectionKey}/search"]["get"] + update: + x-codeSamples: + - lang: swift + label: library + source: "import Foundation\nimport Plexswift\n\nlet client = Client(security: .accessToken(\"\"))\n\nlet response = try await client.library.getSearchLibrary(\n request: Operations.GetSearchLibraryRequest(\n sectionKey: 9518, \n type: .tvShow\n )\n)\n\nswitch response.data {\ncase .object(let object):\n // Handle response\n break\ncase .badRequest(let badRequest):\n // Handle response\n break\ncase .unauthorized(let unauthorized):\n // Handle response\n break\ncase .empty:\n // Handle empty response\n break\n}" + - target: $["paths"]["/statistics/media"]["get"] + update: + x-codeSamples: + - lang: swift + label: getStatistics + source: |- + import Foundation + import Plexswift + + let client = Client(security: .accessToken("")) + + let response = try await client.statistics.getStatistics( + request: Operations.GetStatisticsRequest( + timespan: 4 + ) + ) + switch response.data { case .object(let object): // Handle response