diff --git a/.github/workflows/speakeasy_sdk_generation.yml b/.github/workflows/speakeasy_sdk_generation.yml index 1d0c388..56a6c4b 100644 --- a/.github/workflows/speakeasy_sdk_generation.yml +++ b/.github/workflows/speakeasy_sdk_generation.yml @@ -1,29 +1,25 @@ name: Generate permissions: - checks: write - contents: write - pull-requests: write - statuses: write + checks: write + contents: write + pull-requests: write + statuses: write "on": - workflow_dispatch: - inputs: - force: - description: Force generation of SDKs - type: boolean - default: false - schedule: - - cron: 0 0 * * * + workflow_dispatch: + inputs: + force: + description: Force generation of SDKs + type: boolean + default: false + schedule: + - cron: 0 0 * * * jobs: - generate: - uses: speakeasy-api/sdk-generation-action/.github/workflows/sdk-generation.yaml@v14 - with: - force: ${{ github.event.inputs.force }} - languages: | - - csharp - mode: direct - openapi_docs: | - - https://raw.githubusercontent.com/LukeHagar/plex-api-spec/main/plex-media-server-spec-dereferenced.yaml - speakeasy_version: latest - secrets: - github_access_token: ${{ secrets.GITHUB_TOKEN }} - speakeasy_api_key: ${{ secrets.SPEAKEASY_API_KEY }} + generate: + uses: speakeasy-api/sdk-generation-action/.github/workflows/workflow-executor.yaml@v15 + with: + force: ${{ github.event.inputs.force }} + mode: direct + speakeasy_version: latest + secrets: + github_access_token: ${{ secrets.GITHUB_TOKEN }} + speakeasy_api_key: ${{ secrets.SPEAKEASY_API_KEY }} diff --git a/.speakeasy/gen.lock b/.speakeasy/gen.lock index eabaf30..049157b 100755 --- a/.speakeasy/gen.lock +++ b/.speakeasy/gen.lock @@ -1,37 +1,41 @@ lockVersion: 2.0.0 id: 5a8dbcbc-e0ee-41f0-9d84-b8b50567d1e9 management: - docChecksum: 7aba498c024534142941d65a7c2e649c + docChecksum: e34dac84738ebf2d447ea2b9055a6eeb docVersion: 0.0.3 - speakeasyVersion: internal - generationVersion: 2.237.3 - releaseVersion: 0.1.5 - configChecksum: 112f7d72fae8408e2dd1ef59ee88fb3a + speakeasyVersion: 1.210.0 + generationVersion: 2.281.2 + releaseVersion: 0.2.1 + configChecksum: 55ac4a8e586c0300b9efde0511ee46ab repoURL: https://github.com/LukeHagar/plexcsharp.git repoSubDirectory: . published: true features: csharp: - core: 3.3.1 + core: 3.4.3 flattening: 2.81.1 - globalSecurity: 2.81.3 - globalServerURLs: 2.82.2 + globalSecurity: 2.83.3 + globalServerURLs: 2.82.3 + methodServerURLs: 2.82.1 nameOverrides: 2.81.1 generatedFiles: - PlexAPI/Server.cs - PlexAPI/Media.cs + - PlexAPI/Video.cs - PlexAPI/Activities.cs - PlexAPI/Butler.cs - PlexAPI/Hubs.cs - PlexAPI/Search.cs - PlexAPI/Library.cs - PlexAPI/Log.cs + - PlexAPI/Plex.cs - PlexAPI/Playlists.cs - - PlexAPI/Security.cs + - PlexAPI/Authentication.cs + - PlexAPI/Statistics.cs - PlexAPI/Sessions.cs - PlexAPI/Updater.cs - - PlexAPI/Video.cs - PlexAPI/PlexAPISDK.cs + - global.json - PlexAPI/Utils/BigIntSerializer.cs - PlexAPI/Utils/DecimalSerializer.cs - PlexAPI/Utils/EnumSerializer.cs @@ -54,6 +58,7 @@ generatedFiles: - PlexAPI/Models/Requests/GetServerCapabilitiesResponse.cs - PlexAPI/Models/Requests/GetServerPreferencesErrors.cs - PlexAPI/Models/Requests/GetServerPreferencesServerResponseBody.cs + - PlexAPI/Models/Requests/Setting.cs - PlexAPI/Models/Requests/GetServerPreferencesMediaContainer.cs - PlexAPI/Models/Requests/GetServerPreferencesResponseBody.cs - PlexAPI/Models/Requests/GetServerPreferencesResponse.cs @@ -103,6 +108,15 @@ generatedFiles: - PlexAPI/Models/Requests/UpdatePlayProgressErrors.cs - PlexAPI/Models/Requests/UpdatePlayProgressResponseBody.cs - PlexAPI/Models/Requests/UpdatePlayProgressResponse.cs + - PlexAPI/Models/Requests/State.cs + - PlexAPI/Models/Requests/GetTimelineRequest.cs + - PlexAPI/Models/Requests/GetTimelineErrors.cs + - PlexAPI/Models/Requests/GetTimelineResponseBody.cs + - PlexAPI/Models/Requests/GetTimelineResponse.cs + - PlexAPI/Models/Requests/StartUniversalTranscodeRequest.cs + - PlexAPI/Models/Requests/StartUniversalTranscodeErrors.cs + - PlexAPI/Models/Requests/StartUniversalTranscodeResponseBody.cs + - PlexAPI/Models/Requests/StartUniversalTranscodeResponse.cs - PlexAPI/Models/Requests/GetServerActivitiesErrors.cs - PlexAPI/Models/Requests/GetServerActivitiesActivitiesResponseBody.cs - PlexAPI/Models/Requests/Context.cs @@ -203,7 +217,7 @@ generatedFiles: - PlexAPI/Models/Requests/GetRecentlyAddedResponse.cs - PlexAPI/Models/Requests/GetLibrariesErrors.cs - PlexAPI/Models/Requests/GetLibrariesLibraryResponseBody.cs - - PlexAPI/Models/Requests/Location.cs + - PlexAPI/Models/Requests/GetLibrariesLocation.cs - PlexAPI/Models/Requests/GetLibrariesDirectory.cs - PlexAPI/Models/Requests/GetLibrariesMediaContainer.cs - PlexAPI/Models/Requests/GetLibrariesResponseBody.cs @@ -243,6 +257,12 @@ generatedFiles: - PlexAPI/Models/Requests/RefreshLibraryErrors.cs - PlexAPI/Models/Requests/RefreshLibraryResponseBody.cs - PlexAPI/Models/Requests/RefreshLibraryResponse.cs + - PlexAPI/Models/Requests/Type.cs + - PlexAPI/Models/Requests/SearchLibraryRequest.cs + - PlexAPI/Models/Requests/SearchLibraryMetadata.cs + - PlexAPI/Models/Requests/SearchLibraryMediaContainer.cs + - PlexAPI/Models/Requests/SearchLibraryResponseBody.cs + - PlexAPI/Models/Requests/SearchLibraryResponse.cs - PlexAPI/Models/Requests/GetMetadataRequest.cs - PlexAPI/Models/Requests/GetMetadataErrors.cs - PlexAPI/Models/Requests/GetMetadataLibraryResponseBody.cs @@ -290,7 +310,17 @@ generatedFiles: - PlexAPI/Models/Requests/EnablePaperTrailErrors.cs - PlexAPI/Models/Requests/EnablePaperTrailResponseBody.cs - PlexAPI/Models/Requests/EnablePaperTrailResponse.cs - - PlexAPI/Models/Requests/Type.cs + - PlexAPI/Models/Requests/GetPinRequest.cs + - PlexAPI/Models/Requests/GetPinErrors.cs + - PlexAPI/Models/Requests/GetPinPlexResponseBody.cs + - PlexAPI/Models/Requests/Location.cs + - PlexAPI/Models/Requests/GetPinResponseBody.cs + - PlexAPI/Models/Requests/GetPinResponse.cs + - PlexAPI/Models/Requests/GetTokenRequest.cs + - PlexAPI/Models/Requests/GetTokenErrors.cs + - PlexAPI/Models/Requests/GetTokenResponseBody.cs + - PlexAPI/Models/Requests/GetTokenResponse.cs + - PlexAPI/Models/Requests/QueryParamType.cs - PlexAPI/Models/Requests/Smart.cs - PlexAPI/Models/Requests/CreatePlaylistRequest.cs - PlexAPI/Models/Requests/CreatePlaylistErrors.cs @@ -353,7 +383,7 @@ generatedFiles: - PlexAPI/Models/Requests/UploadPlaylistErrors.cs - PlexAPI/Models/Requests/UploadPlaylistResponseBody.cs - PlexAPI/Models/Requests/UploadPlaylistResponse.cs - - PlexAPI/Models/Requests/QueryParamType.cs + - PlexAPI/Models/Requests/GetTransientTokenQueryParamType.cs - PlexAPI/Models/Requests/Scope.cs - PlexAPI/Models/Requests/GetTransientTokenRequest.cs - PlexAPI/Models/Requests/GetTransientTokenErrors.cs @@ -363,6 +393,15 @@ generatedFiles: - PlexAPI/Models/Requests/GetSourceConnectionInformationErrors.cs - PlexAPI/Models/Requests/GetSourceConnectionInformationResponseBody.cs - PlexAPI/Models/Requests/GetSourceConnectionInformationResponse.cs + - PlexAPI/Models/Requests/GetStatisticsRequest.cs + - PlexAPI/Models/Requests/GetStatisticsErrors.cs + - PlexAPI/Models/Requests/GetStatisticsStatisticsResponseBody.cs + - PlexAPI/Models/Requests/GetStatisticsDevice.cs + - PlexAPI/Models/Requests/Account.cs + - PlexAPI/Models/Requests/StatisticsMedia.cs + - PlexAPI/Models/Requests/GetStatisticsMediaContainer.cs + - PlexAPI/Models/Requests/GetStatisticsResponseBody.cs + - PlexAPI/Models/Requests/GetStatisticsResponse.cs - PlexAPI/Models/Requests/GetSessionsErrors.cs - PlexAPI/Models/Requests/GetSessionsSessionsResponseBody.cs - PlexAPI/Models/Requests/GetSessionsStream.cs @@ -408,15 +447,6 @@ generatedFiles: - PlexAPI/Models/Requests/ApplyUpdatesErrors.cs - PlexAPI/Models/Requests/ApplyUpdatesResponseBody.cs - PlexAPI/Models/Requests/ApplyUpdatesResponse.cs - - PlexAPI/Models/Requests/StartUniversalTranscodeRequest.cs - - PlexAPI/Models/Requests/StartUniversalTranscodeErrors.cs - - PlexAPI/Models/Requests/StartUniversalTranscodeResponseBody.cs - - PlexAPI/Models/Requests/StartUniversalTranscodeResponse.cs - - PlexAPI/Models/Requests/State.cs - - PlexAPI/Models/Requests/GetTimelineRequest.cs - - PlexAPI/Models/Requests/GetTimelineErrors.cs - - PlexAPI/Models/Requests/GetTimelineResponseBody.cs - - PlexAPI/Models/Requests/GetTimelineResponse.cs - PlexAPI/Models/Components/Security.cs - docs/Models/Requests/Errors.md - docs/Models/Requests/GetServerCapabilitiesServerResponseBody.md @@ -426,6 +456,7 @@ generatedFiles: - docs/Models/Requests/GetServerCapabilitiesResponse.md - docs/Models/Requests/GetServerPreferencesErrors.md - docs/Models/Requests/GetServerPreferencesServerResponseBody.md + - docs/Models/Requests/Setting.md - docs/Models/Requests/GetServerPreferencesMediaContainer.md - docs/Models/Requests/GetServerPreferencesResponseBody.md - docs/Models/Requests/GetServerPreferencesResponse.md @@ -475,6 +506,15 @@ generatedFiles: - docs/Models/Requests/UpdatePlayProgressErrors.md - docs/Models/Requests/UpdatePlayProgressResponseBody.md - docs/Models/Requests/UpdatePlayProgressResponse.md + - docs/Models/Requests/State.md + - docs/Models/Requests/GetTimelineRequest.md + - docs/Models/Requests/GetTimelineErrors.md + - docs/Models/Requests/GetTimelineResponseBody.md + - docs/Models/Requests/GetTimelineResponse.md + - docs/Models/Requests/StartUniversalTranscodeRequest.md + - docs/Models/Requests/StartUniversalTranscodeErrors.md + - docs/Models/Requests/StartUniversalTranscodeResponseBody.md + - docs/Models/Requests/StartUniversalTranscodeResponse.md - docs/Models/Requests/GetServerActivitiesErrors.md - docs/Models/Requests/GetServerActivitiesActivitiesResponseBody.md - docs/Models/Requests/Context.md @@ -575,7 +615,7 @@ generatedFiles: - docs/Models/Requests/GetRecentlyAddedResponse.md - docs/Models/Requests/GetLibrariesErrors.md - docs/Models/Requests/GetLibrariesLibraryResponseBody.md - - docs/Models/Requests/Location.md + - docs/Models/Requests/GetLibrariesLocation.md - docs/Models/Requests/GetLibrariesDirectory.md - docs/Models/Requests/GetLibrariesMediaContainer.md - docs/Models/Requests/GetLibrariesResponseBody.md @@ -615,6 +655,12 @@ generatedFiles: - docs/Models/Requests/RefreshLibraryErrors.md - docs/Models/Requests/RefreshLibraryResponseBody.md - docs/Models/Requests/RefreshLibraryResponse.md + - docs/Models/Requests/Type.md + - docs/Models/Requests/SearchLibraryRequest.md + - docs/Models/Requests/SearchLibraryMetadata.md + - docs/Models/Requests/SearchLibraryMediaContainer.md + - docs/Models/Requests/SearchLibraryResponseBody.md + - docs/Models/Requests/SearchLibraryResponse.md - docs/Models/Requests/GetMetadataRequest.md - docs/Models/Requests/GetMetadataErrors.md - docs/Models/Requests/GetMetadataLibraryResponseBody.md @@ -662,7 +708,17 @@ generatedFiles: - docs/Models/Requests/EnablePaperTrailErrors.md - docs/Models/Requests/EnablePaperTrailResponseBody.md - docs/Models/Requests/EnablePaperTrailResponse.md - - docs/Models/Requests/Type.md + - docs/Models/Requests/GetPinRequest.md + - docs/Models/Requests/GetPinErrors.md + - docs/Models/Requests/GetPinPlexResponseBody.md + - docs/Models/Requests/Location.md + - docs/Models/Requests/GetPinResponseBody.md + - docs/Models/Requests/GetPinResponse.md + - docs/Models/Requests/GetTokenRequest.md + - docs/Models/Requests/GetTokenErrors.md + - docs/Models/Requests/GetTokenResponseBody.md + - docs/Models/Requests/GetTokenResponse.md + - docs/Models/Requests/QueryParamType.md - docs/Models/Requests/Smart.md - docs/Models/Requests/CreatePlaylistRequest.md - docs/Models/Requests/CreatePlaylistErrors.md @@ -725,7 +781,7 @@ generatedFiles: - docs/Models/Requests/UploadPlaylistErrors.md - docs/Models/Requests/UploadPlaylistResponseBody.md - docs/Models/Requests/UploadPlaylistResponse.md - - docs/Models/Requests/QueryParamType.md + - docs/Models/Requests/GetTransientTokenQueryParamType.md - docs/Models/Requests/Scope.md - docs/Models/Requests/GetTransientTokenRequest.md - docs/Models/Requests/GetTransientTokenErrors.md @@ -735,6 +791,15 @@ generatedFiles: - docs/Models/Requests/GetSourceConnectionInformationErrors.md - docs/Models/Requests/GetSourceConnectionInformationResponseBody.md - docs/Models/Requests/GetSourceConnectionInformationResponse.md + - docs/Models/Requests/GetStatisticsRequest.md + - docs/Models/Requests/GetStatisticsErrors.md + - docs/Models/Requests/GetStatisticsStatisticsResponseBody.md + - docs/Models/Requests/GetStatisticsDevice.md + - docs/Models/Requests/Account.md + - docs/Models/Requests/StatisticsMedia.md + - docs/Models/Requests/GetStatisticsMediaContainer.md + - docs/Models/Requests/GetStatisticsResponseBody.md + - docs/Models/Requests/GetStatisticsResponse.md - docs/Models/Requests/GetSessionsErrors.md - docs/Models/Requests/GetSessionsSessionsResponseBody.md - docs/Models/Requests/GetSessionsStream.md @@ -780,29 +845,22 @@ generatedFiles: - docs/Models/Requests/ApplyUpdatesErrors.md - docs/Models/Requests/ApplyUpdatesResponseBody.md - docs/Models/Requests/ApplyUpdatesResponse.md - - docs/Models/Requests/StartUniversalTranscodeRequest.md - - docs/Models/Requests/StartUniversalTranscodeErrors.md - - docs/Models/Requests/StartUniversalTranscodeResponseBody.md - - docs/Models/Requests/StartUniversalTranscodeResponse.md - - docs/Models/Requests/State.md - - docs/Models/Requests/GetTimelineRequest.md - - docs/Models/Requests/GetTimelineErrors.md - - docs/Models/Requests/GetTimelineResponseBody.md - - docs/Models/Requests/GetTimelineResponse.md - docs/Models/Components/Security.md - docs/sdks/plexapi/README.md - docs/sdks/server/README.md - docs/sdks/media/README.md + - docs/sdks/video/README.md - docs/sdks/activities/README.md - docs/sdks/butler/README.md - docs/sdks/hubs/README.md - docs/sdks/search/README.md - docs/sdks/library/README.md - docs/sdks/log/README.md + - docs/sdks/plex/README.md - docs/sdks/playlists/README.md - - docs/sdks/security/README.md + - docs/sdks/authentication/README.md + - docs/sdks/statistics/README.md - docs/sdks/sessions/README.md - docs/sdks/updater/README.md - - docs/sdks/video/README.md - USAGE.md - .gitattributes diff --git a/gen.yaml b/.speakeasy/gen.yaml similarity index 76% rename from gen.yaml rename to .speakeasy/gen.yaml index c5ee8a7..929e54e 100644 --- a/gen.yaml +++ b/.speakeasy/gen.yaml @@ -6,11 +6,13 @@ generation: optionalPropertyRendering: withExample useClassNamesForArrayFields: true fixes: - nameResolutionDec2023: false - parameterOrderingFeb2024: false - requestResponseComponentNamesFeb2024: false + nameResolutionDec2023: true + parameterOrderingFeb2024: true + requestResponseComponentNamesFeb2024: true + auth: + oAuth2ClientCredentialsEnabled: false csharp: - version: 0.1.5 + version: 0.2.1 author: LukeHagar dotnetVersion: net5.0 flattenGlobalSecurity: true diff --git a/.speakeasy/workflow.yaml b/.speakeasy/workflow.yaml new file mode 100644 index 0000000..ae3a29d --- /dev/null +++ b/.speakeasy/workflow.yaml @@ -0,0 +1,9 @@ +workflowVersion: 1.0.0 +sources: + my-source: + inputs: + - location: https://raw.githubusercontent.com/LukeHagar/plex-api-spec/main/plex-media-server-spec-dereferenced.yaml +targets: + plexcsharp: + target: csharp + source: my-source diff --git a/PlexAPI/Activities.cs b/PlexAPI/Activities.cs index d86f3a2..5fa0394 100644 --- a/PlexAPI/Activities.cs +++ b/PlexAPI/Activities.cs @@ -11,6 +11,7 @@ namespace PlexAPI { using Newtonsoft.Json; + using PlexAPI.Models.Components; using PlexAPI.Models.Requests; using PlexAPI.Utils; using System.Net.Http.Headers; @@ -70,71 +71,76 @@ namespace PlexAPI { public SDKConfig SDKConfiguration { get; private set; } private const string _language = "csharp"; - private const string _sdkVersion = "0.1.5"; - private const string _sdkGenVersion = "2.237.3"; + private const string _sdkVersion = "0.2.1"; + private const string _sdkGenVersion = "2.281.2"; private const string _openapiDocVersion = "0.0.3"; - private const string _userAgent = "speakeasy-sdk/csharp 0.1.5 2.237.3 0.0.3 Plex-API"; + private const string _userAgent = "speakeasy-sdk/csharp 0.2.1 2.281.2 0.0.3 Plex-API"; private string _serverUrl = ""; private ISpeakeasyHttpClient _defaultClient; - private ISpeakeasyHttpClient _securityClient; + private Func? _securitySource; - public Activities(ISpeakeasyHttpClient defaultClient, ISpeakeasyHttpClient securityClient, string serverUrl, SDKConfig config) + public Activities(ISpeakeasyHttpClient defaultClient, Func? securitySource, string serverUrl, SDKConfig config) { _defaultClient = defaultClient; - _securityClient = securityClient; + _securitySource = securitySource; _serverUrl = serverUrl; SDKConfiguration = config; } - public async Task GetServerActivitiesAsync() { string baseUrl = this.SDKConfiguration.GetTemplatedServerDetails(); + var urlString = baseUrl + "/activities"; - + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); httpRequest.Headers.Add("user-agent", _userAgent); - - - var client = _securityClient; - + + var client = _defaultClient; + if (_securitySource != null) + { + client = SecuritySerializer.Apply(_defaultClient, _securitySource); + } + var httpResponse = await client.SendAsync(httpRequest); var contentType = httpResponse.Content.Headers.ContentType?.MediaType; - + var response = new GetServerActivitiesResponse { StatusCode = (int)httpResponse.StatusCode, ContentType = contentType, RawResponse = httpResponse }; - + if((response.StatusCode == 200)) { if(Utilities.IsContentTypeMatch("application/json",response.ContentType)) { response.TwoHundredApplicationJsonObject = JsonConvert.DeserializeObject(await httpResponse.Content.ReadAsStringAsync(), new JsonSerializerSettings(){ NullValueHandling = NullValueHandling.Ignore, Converters = new JsonConverter[] { new FlexibleObjectDeserializer(), new EnumSerializer() }}); } - + return response; } + if((response.StatusCode == 400)) { - + return response; } + if((response.StatusCode == 401)) { if(Utilities.IsContentTypeMatch("application/json",response.ContentType)) { response.FourHundredAndOneApplicationJsonObject = JsonConvert.DeserializeObject(await httpResponse.Content.ReadAsStringAsync(), new JsonSerializerSettings(){ NullValueHandling = NullValueHandling.Ignore, Converters = new JsonConverter[] { new FlexibleObjectDeserializer(), new EnumSerializer() }}); } - + return response; } return response; } - + public async Task CancelServerActivitiesAsync(string activityUUID) { @@ -144,40 +150,44 @@ namespace PlexAPI }; string baseUrl = this.SDKConfiguration.GetTemplatedServerDetails(); var urlString = URLBuilder.Build(baseUrl, "/activities/{activityUUID}", request); - + var httpRequest = new HttpRequestMessage(HttpMethod.Delete, urlString); httpRequest.Headers.Add("user-agent", _userAgent); - - - var client = _securityClient; - + + var client = _defaultClient; + if (_securitySource != null) + { + client = SecuritySerializer.Apply(_defaultClient, _securitySource); + } + var httpResponse = await client.SendAsync(httpRequest); var contentType = httpResponse.Content.Headers.ContentType?.MediaType; - + var response = new CancelServerActivitiesResponse { StatusCode = (int)httpResponse.StatusCode, ContentType = contentType, RawResponse = httpResponse }; - + if((response.StatusCode == 200) || (response.StatusCode == 400)) { - + return response; } + if((response.StatusCode == 401)) { if(Utilities.IsContentTypeMatch("application/json",response.ContentType)) { response.Object = JsonConvert.DeserializeObject(await httpResponse.Content.ReadAsStringAsync(), new JsonSerializerSettings(){ NullValueHandling = NullValueHandling.Ignore, Converters = new JsonConverter[] { new FlexibleObjectDeserializer(), new EnumSerializer() }}); } - + return response; } return response; } - + } } \ No newline at end of file diff --git a/PlexAPI/Security.cs b/PlexAPI/Authentication.cs similarity index 82% rename from PlexAPI/Security.cs rename to PlexAPI/Authentication.cs index 659da76..34bb597 100644 --- a/PlexAPI/Security.cs +++ b/PlexAPI/Authentication.cs @@ -11,6 +11,7 @@ namespace PlexAPI { using Newtonsoft.Json; + using PlexAPI.Models.Components; using PlexAPI.Models.Requests; using PlexAPI.Utils; using System.Net.Http.Headers; @@ -19,13 +20,13 @@ namespace PlexAPI using System; /// - /// API Calls against Security for Plex Media Server
+ /// API Calls regarding authentication for Plex Media Server
/// /// /// /// ///
- public interface ISecurity + public interface IAuthentication { /// @@ -36,7 +37,7 @@ namespace PlexAPI /// /// /// - Task GetTransientTokenAsync(QueryParamType type, Scope scope); + Task GetTransientTokenAsync(GetTransientTokenQueryParamType type, Scope scope); /// /// Get Source Connection Information @@ -51,34 +52,33 @@ namespace PlexAPI } /// - /// API Calls against Security for Plex Media Server
+ /// API Calls regarding authentication for Plex Media Server
/// /// /// /// ///
- public class Security: ISecurity + public class Authentication: IAuthentication { public SDKConfig SDKConfiguration { get; private set; } private const string _language = "csharp"; - private const string _sdkVersion = "0.1.5"; - private const string _sdkGenVersion = "2.237.3"; + private const string _sdkVersion = "0.2.1"; + private const string _sdkGenVersion = "2.281.2"; private const string _openapiDocVersion = "0.0.3"; - private const string _userAgent = "speakeasy-sdk/csharp 0.1.5 2.237.3 0.0.3 Plex-API"; + private const string _userAgent = "speakeasy-sdk/csharp 0.2.1 2.281.2 0.0.3 Plex-API"; private string _serverUrl = ""; private ISpeakeasyHttpClient _defaultClient; - private ISpeakeasyHttpClient _securityClient; + private Func? _securitySource; - public Security(ISpeakeasyHttpClient defaultClient, ISpeakeasyHttpClient securityClient, string serverUrl, SDKConfig config) + public Authentication(ISpeakeasyHttpClient defaultClient, Func? securitySource, string serverUrl, SDKConfig config) { _defaultClient = defaultClient; - _securityClient = securityClient; + _securitySource = securitySource; _serverUrl = serverUrl; SDKConfiguration = config; } - - public async Task GetTransientTokenAsync(QueryParamType type, Scope scope) + public async Task GetTransientTokenAsync(GetTransientTokenQueryParamType type, Scope scope) { var request = new GetTransientTokenRequest() { @@ -87,41 +87,45 @@ namespace PlexAPI }; string baseUrl = this.SDKConfiguration.GetTemplatedServerDetails(); var urlString = URLBuilder.Build(baseUrl, "/security/token", request); - + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); httpRequest.Headers.Add("user-agent", _userAgent); - - - var client = _securityClient; - + + var client = _defaultClient; + if (_securitySource != null) + { + client = SecuritySerializer.Apply(_defaultClient, _securitySource); + } + var httpResponse = await client.SendAsync(httpRequest); var contentType = httpResponse.Content.Headers.ContentType?.MediaType; - + var response = new GetTransientTokenResponse { StatusCode = (int)httpResponse.StatusCode, ContentType = contentType, RawResponse = httpResponse }; - + if((response.StatusCode == 200) || (response.StatusCode == 400)) { - + return response; } + if((response.StatusCode == 401)) { if(Utilities.IsContentTypeMatch("application/json",response.ContentType)) { response.Object = JsonConvert.DeserializeObject(await httpResponse.Content.ReadAsStringAsync(), new JsonSerializerSettings(){ NullValueHandling = NullValueHandling.Ignore, Converters = new JsonConverter[] { new FlexibleObjectDeserializer(), new EnumSerializer() }}); } - + return response; } return response; } - + public async Task GetSourceConnectionInformationAsync(string source) { @@ -131,40 +135,44 @@ namespace PlexAPI }; string baseUrl = this.SDKConfiguration.GetTemplatedServerDetails(); var urlString = URLBuilder.Build(baseUrl, "/security/resources", request); - + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); httpRequest.Headers.Add("user-agent", _userAgent); - - - var client = _securityClient; - + + var client = _defaultClient; + if (_securitySource != null) + { + client = SecuritySerializer.Apply(_defaultClient, _securitySource); + } + var httpResponse = await client.SendAsync(httpRequest); var contentType = httpResponse.Content.Headers.ContentType?.MediaType; - + var response = new GetSourceConnectionInformationResponse { StatusCode = (int)httpResponse.StatusCode, ContentType = contentType, RawResponse = httpResponse }; - + if((response.StatusCode == 200) || (response.StatusCode == 400)) { - + return response; } + if((response.StatusCode == 401)) { if(Utilities.IsContentTypeMatch("application/json",response.ContentType)) { response.Object = JsonConvert.DeserializeObject(await httpResponse.Content.ReadAsStringAsync(), new JsonSerializerSettings(){ NullValueHandling = NullValueHandling.Ignore, Converters = new JsonConverter[] { new FlexibleObjectDeserializer(), new EnumSerializer() }}); } - + return response; } return response; } - + } } \ No newline at end of file diff --git a/PlexAPI/Butler.cs b/PlexAPI/Butler.cs index 693dc68..9868682 100644 --- a/PlexAPI/Butler.cs +++ b/PlexAPI/Butler.cs @@ -11,6 +11,7 @@ namespace PlexAPI { using Newtonsoft.Json; + using PlexAPI.Models.Components; using PlexAPI.Models.Requests; using PlexAPI.Utils; using System.Net.Http.Headers; @@ -97,151 +98,166 @@ namespace PlexAPI { public SDKConfig SDKConfiguration { get; private set; } private const string _language = "csharp"; - private const string _sdkVersion = "0.1.5"; - private const string _sdkGenVersion = "2.237.3"; + private const string _sdkVersion = "0.2.1"; + private const string _sdkGenVersion = "2.281.2"; private const string _openapiDocVersion = "0.0.3"; - private const string _userAgent = "speakeasy-sdk/csharp 0.1.5 2.237.3 0.0.3 Plex-API"; + private const string _userAgent = "speakeasy-sdk/csharp 0.2.1 2.281.2 0.0.3 Plex-API"; private string _serverUrl = ""; private ISpeakeasyHttpClient _defaultClient; - private ISpeakeasyHttpClient _securityClient; + private Func? _securitySource; - public Butler(ISpeakeasyHttpClient defaultClient, ISpeakeasyHttpClient securityClient, string serverUrl, SDKConfig config) + public Butler(ISpeakeasyHttpClient defaultClient, Func? securitySource, string serverUrl, SDKConfig config) { _defaultClient = defaultClient; - _securityClient = securityClient; + _securitySource = securitySource; _serverUrl = serverUrl; SDKConfiguration = config; } - public async Task GetButlerTasksAsync() { string baseUrl = this.SDKConfiguration.GetTemplatedServerDetails(); + var urlString = baseUrl + "/butler"; - + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); httpRequest.Headers.Add("user-agent", _userAgent); - - - var client = _securityClient; - + + var client = _defaultClient; + if (_securitySource != null) + { + client = SecuritySerializer.Apply(_defaultClient, _securitySource); + } + var httpResponse = await client.SendAsync(httpRequest); var contentType = httpResponse.Content.Headers.ContentType?.MediaType; - + var response = new GetButlerTasksResponse { StatusCode = (int)httpResponse.StatusCode, ContentType = contentType, RawResponse = httpResponse }; - + if((response.StatusCode == 200)) { if(Utilities.IsContentTypeMatch("application/json",response.ContentType)) { response.TwoHundredApplicationJsonObject = JsonConvert.DeserializeObject(await httpResponse.Content.ReadAsStringAsync(), new JsonSerializerSettings(){ NullValueHandling = NullValueHandling.Ignore, Converters = new JsonConverter[] { new FlexibleObjectDeserializer(), new EnumSerializer() }}); } - + return response; } + if((response.StatusCode == 400)) { - + return response; } + if((response.StatusCode == 401)) { if(Utilities.IsContentTypeMatch("application/json",response.ContentType)) { response.FourHundredAndOneApplicationJsonObject = JsonConvert.DeserializeObject(await httpResponse.Content.ReadAsStringAsync(), new JsonSerializerSettings(){ NullValueHandling = NullValueHandling.Ignore, Converters = new JsonConverter[] { new FlexibleObjectDeserializer(), new EnumSerializer() }}); } - + return response; } return response; } - + public async Task StartAllTasksAsync() { string baseUrl = this.SDKConfiguration.GetTemplatedServerDetails(); + var urlString = baseUrl + "/butler"; - + var httpRequest = new HttpRequestMessage(HttpMethod.Post, urlString); httpRequest.Headers.Add("user-agent", _userAgent); - - - var client = _securityClient; - + + var client = _defaultClient; + if (_securitySource != null) + { + client = SecuritySerializer.Apply(_defaultClient, _securitySource); + } + var httpResponse = await client.SendAsync(httpRequest); var contentType = httpResponse.Content.Headers.ContentType?.MediaType; - + var response = new StartAllTasksResponse { StatusCode = (int)httpResponse.StatusCode, ContentType = contentType, RawResponse = httpResponse }; - + if((response.StatusCode == 200) || (response.StatusCode == 400)) { - + return response; } + if((response.StatusCode == 401)) { if(Utilities.IsContentTypeMatch("application/json",response.ContentType)) { response.Object = JsonConvert.DeserializeObject(await httpResponse.Content.ReadAsStringAsync(), new JsonSerializerSettings(){ NullValueHandling = NullValueHandling.Ignore, Converters = new JsonConverter[] { new FlexibleObjectDeserializer(), new EnumSerializer() }}); } - + return response; } return response; } - + public async Task StopAllTasksAsync() { string baseUrl = this.SDKConfiguration.GetTemplatedServerDetails(); + var urlString = baseUrl + "/butler"; - + var httpRequest = new HttpRequestMessage(HttpMethod.Delete, urlString); httpRequest.Headers.Add("user-agent", _userAgent); - - - var client = _securityClient; - + + var client = _defaultClient; + if (_securitySource != null) + { + client = SecuritySerializer.Apply(_defaultClient, _securitySource); + } + var httpResponse = await client.SendAsync(httpRequest); var contentType = httpResponse.Content.Headers.ContentType?.MediaType; - + var response = new StopAllTasksResponse { StatusCode = (int)httpResponse.StatusCode, ContentType = contentType, RawResponse = httpResponse }; - + if((response.StatusCode == 200) || (response.StatusCode == 400)) { - + return response; } + if((response.StatusCode == 401)) { if(Utilities.IsContentTypeMatch("application/json",response.ContentType)) { response.Object = JsonConvert.DeserializeObject(await httpResponse.Content.ReadAsStringAsync(), new JsonSerializerSettings(){ NullValueHandling = NullValueHandling.Ignore, Converters = new JsonConverter[] { new FlexibleObjectDeserializer(), new EnumSerializer() }}); } - + return response; } return response; } - + public async Task StartTaskAsync(TaskName taskName) { @@ -251,41 +267,45 @@ namespace PlexAPI }; string baseUrl = this.SDKConfiguration.GetTemplatedServerDetails(); var urlString = URLBuilder.Build(baseUrl, "/butler/{taskName}", request); - + var httpRequest = new HttpRequestMessage(HttpMethod.Post, urlString); httpRequest.Headers.Add("user-agent", _userAgent); - - - var client = _securityClient; - + + var client = _defaultClient; + if (_securitySource != null) + { + client = SecuritySerializer.Apply(_defaultClient, _securitySource); + } + var httpResponse = await client.SendAsync(httpRequest); var contentType = httpResponse.Content.Headers.ContentType?.MediaType; - + var response = new StartTaskResponse { StatusCode = (int)httpResponse.StatusCode, ContentType = contentType, RawResponse = httpResponse }; - + if((response.StatusCode == 200) || (response.StatusCode == 202) || (response.StatusCode == 400)) { - + return response; } + if((response.StatusCode == 401)) { if(Utilities.IsContentTypeMatch("application/json",response.ContentType)) { response.Object = JsonConvert.DeserializeObject(await httpResponse.Content.ReadAsStringAsync(), new JsonSerializerSettings(){ NullValueHandling = NullValueHandling.Ignore, Converters = new JsonConverter[] { new FlexibleObjectDeserializer(), new EnumSerializer() }}); } - + return response; } return response; } - + public async Task StopTaskAsync(PathParamTaskName taskName) { @@ -295,40 +315,44 @@ namespace PlexAPI }; string baseUrl = this.SDKConfiguration.GetTemplatedServerDetails(); var urlString = URLBuilder.Build(baseUrl, "/butler/{taskName}", request); - + var httpRequest = new HttpRequestMessage(HttpMethod.Delete, urlString); httpRequest.Headers.Add("user-agent", _userAgent); - - - var client = _securityClient; - + + var client = _defaultClient; + if (_securitySource != null) + { + client = SecuritySerializer.Apply(_defaultClient, _securitySource); + } + var httpResponse = await client.SendAsync(httpRequest); var contentType = httpResponse.Content.Headers.ContentType?.MediaType; - + var response = new StopTaskResponse { StatusCode = (int)httpResponse.StatusCode, ContentType = contentType, RawResponse = httpResponse }; - + if((response.StatusCode == 200) || (response.StatusCode == 400) || (response.StatusCode == 404)) { - + return response; } + if((response.StatusCode == 401)) { if(Utilities.IsContentTypeMatch("application/json",response.ContentType)) { response.Object = JsonConvert.DeserializeObject(await httpResponse.Content.ReadAsStringAsync(), new JsonSerializerSettings(){ NullValueHandling = NullValueHandling.Ignore, Converters = new JsonConverter[] { new FlexibleObjectDeserializer(), new EnumSerializer() }}); } - + return response; } return response; } - + } } \ No newline at end of file diff --git a/PlexAPI/Hubs.cs b/PlexAPI/Hubs.cs index 446ee78..f75633a 100644 --- a/PlexAPI/Hubs.cs +++ b/PlexAPI/Hubs.cs @@ -11,6 +11,7 @@ namespace PlexAPI { using Newtonsoft.Json; + using PlexAPI.Models.Components; using PlexAPI.Models.Requests; using PlexAPI.Utils; using System.Net.Http.Headers; @@ -59,22 +60,21 @@ namespace PlexAPI { public SDKConfig SDKConfiguration { get; private set; } private const string _language = "csharp"; - private const string _sdkVersion = "0.1.5"; - private const string _sdkGenVersion = "2.237.3"; + private const string _sdkVersion = "0.2.1"; + private const string _sdkGenVersion = "2.281.2"; private const string _openapiDocVersion = "0.0.3"; - private const string _userAgent = "speakeasy-sdk/csharp 0.1.5 2.237.3 0.0.3 Plex-API"; + private const string _userAgent = "speakeasy-sdk/csharp 0.2.1 2.281.2 0.0.3 Plex-API"; private string _serverUrl = ""; private ISpeakeasyHttpClient _defaultClient; - private ISpeakeasyHttpClient _securityClient; + private Func? _securitySource; - public Hubs(ISpeakeasyHttpClient defaultClient, ISpeakeasyHttpClient securityClient, string serverUrl, SDKConfig config) + public Hubs(ISpeakeasyHttpClient defaultClient, Func? securitySource, string serverUrl, SDKConfig config) { _defaultClient = defaultClient; - _securityClient = securityClient; + _securitySource = securitySource; _serverUrl = serverUrl; SDKConfiguration = config; } - public async Task GetGlobalHubsAsync(double? count = null, OnlyTransient? onlyTransient = null) { @@ -85,50 +85,55 @@ namespace PlexAPI }; string baseUrl = this.SDKConfiguration.GetTemplatedServerDetails(); var urlString = URLBuilder.Build(baseUrl, "/hubs", request); - + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); httpRequest.Headers.Add("user-agent", _userAgent); - - - var client = _securityClient; - + + var client = _defaultClient; + if (_securitySource != null) + { + client = SecuritySerializer.Apply(_defaultClient, _securitySource); + } + var httpResponse = await client.SendAsync(httpRequest); var contentType = httpResponse.Content.Headers.ContentType?.MediaType; - + var response = new GetGlobalHubsResponse { StatusCode = (int)httpResponse.StatusCode, ContentType = contentType, RawResponse = httpResponse }; - + if((response.StatusCode == 200)) { if(Utilities.IsContentTypeMatch("application/json",response.ContentType)) { response.TwoHundredApplicationJsonObject = JsonConvert.DeserializeObject(await httpResponse.Content.ReadAsStringAsync(), new JsonSerializerSettings(){ NullValueHandling = NullValueHandling.Ignore, Converters = new JsonConverter[] { new FlexibleObjectDeserializer(), new EnumSerializer() }}); } - + return response; } + if((response.StatusCode == 400)) { - + return response; } + if((response.StatusCode == 401)) { if(Utilities.IsContentTypeMatch("application/json",response.ContentType)) { response.FourHundredAndOneApplicationJsonObject = JsonConvert.DeserializeObject(await httpResponse.Content.ReadAsStringAsync(), new JsonSerializerSettings(){ NullValueHandling = NullValueHandling.Ignore, Converters = new JsonConverter[] { new FlexibleObjectDeserializer(), new EnumSerializer() }}); } - + return response; } return response; } - + public async Task GetLibraryHubsAsync(double sectionId, double? count = null, QueryParamOnlyTransient? onlyTransient = null) { @@ -140,49 +145,54 @@ namespace PlexAPI }; string baseUrl = this.SDKConfiguration.GetTemplatedServerDetails(); var urlString = URLBuilder.Build(baseUrl, "/hubs/sections/{sectionId}", request); - + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); httpRequest.Headers.Add("user-agent", _userAgent); - - - var client = _securityClient; - + + var client = _defaultClient; + if (_securitySource != null) + { + client = SecuritySerializer.Apply(_defaultClient, _securitySource); + } + var httpResponse = await client.SendAsync(httpRequest); var contentType = httpResponse.Content.Headers.ContentType?.MediaType; - + var response = new GetLibraryHubsResponse { StatusCode = (int)httpResponse.StatusCode, ContentType = contentType, RawResponse = httpResponse }; - + if((response.StatusCode == 200)) { if(Utilities.IsContentTypeMatch("application/json",response.ContentType)) { response.TwoHundredApplicationJsonObject = JsonConvert.DeserializeObject(await httpResponse.Content.ReadAsStringAsync(), new JsonSerializerSettings(){ NullValueHandling = NullValueHandling.Ignore, Converters = new JsonConverter[] { new FlexibleObjectDeserializer(), new EnumSerializer() }}); } - + return response; } + if((response.StatusCode == 400)) { - + return response; } + if((response.StatusCode == 401)) { if(Utilities.IsContentTypeMatch("application/json",response.ContentType)) { response.FourHundredAndOneApplicationJsonObject = JsonConvert.DeserializeObject(await httpResponse.Content.ReadAsStringAsync(), new JsonSerializerSettings(){ NullValueHandling = NullValueHandling.Ignore, Converters = new JsonConverter[] { new FlexibleObjectDeserializer(), new EnumSerializer() }}); } - + return response; } return response; } - + } } \ No newline at end of file diff --git a/PlexAPI/Library.cs b/PlexAPI/Library.cs index bdde534..838a872 100644 --- a/PlexAPI/Library.cs +++ b/PlexAPI/Library.cs @@ -11,6 +11,7 @@ namespace PlexAPI { using Newtonsoft.Json; + using PlexAPI.Models.Components; using PlexAPI.Models.Requests; using PlexAPI.Utils; using System.Net.Http.Headers; @@ -143,7 +144,6 @@ namespace PlexAPI /// - `resolution`: Items categorized by resolution.
/// - `firstCharacter`: Items categorized by the first letter.
/// - `folder`: Items categorized by folder.
- /// - `search?type=1`: Search functionality within the section.
/// /// ///
@@ -159,6 +159,33 @@ namespace PlexAPI /// Task RefreshLibraryAsync(double sectionId); + /// + /// Search Library + /// + /// + /// Search for content within a specific section of the library.
+ ///
+ /// ### Types
+ /// Each type in the library comes with a set of filters and sorts, aiding in building dynamic media controls:
+ ///
+ /// - **Type Object Attributes**:
+ /// - `type`: Metadata type (if standard Plex type).
+ /// - `title`: Title for this content type (e.g., "Movies").
+ ///
+ /// - **Filter Objects**:
+ /// - Subset of the media query language.
+ /// - Attributes include `filter` (name), `filterType` (data type), `key` (endpoint for value range), and `title`.
+ ///
+ /// - **Sort Objects**:
+ /// - Description of sort fields.
+ /// - Attributes include `defaultDirection` (asc/desc), `descKey` and `key` (sort parameters), and `title`.
+ ///
+ /// > **Note**: Filters and sorts are optional; without them, no filtering controls are rendered.
+ /// + ///
+ ///
+ Task SearchLibraryAsync(long sectionId, Type type); + /// /// Get Items Metadata /// @@ -201,22 +228,21 @@ namespace PlexAPI { public SDKConfig SDKConfiguration { get; private set; } private const string _language = "csharp"; - private const string _sdkVersion = "0.1.5"; - private const string _sdkGenVersion = "2.237.3"; + private const string _sdkVersion = "0.2.1"; + private const string _sdkGenVersion = "2.281.2"; private const string _openapiDocVersion = "0.0.3"; - private const string _userAgent = "speakeasy-sdk/csharp 0.1.5 2.237.3 0.0.3 Plex-API"; + private const string _userAgent = "speakeasy-sdk/csharp 0.2.1 2.281.2 0.0.3 Plex-API"; private string _serverUrl = ""; private ISpeakeasyHttpClient _defaultClient; - private ISpeakeasyHttpClient _securityClient; + private Func? _securitySource; - public Library(ISpeakeasyHttpClient defaultClient, ISpeakeasyHttpClient securityClient, string serverUrl, SDKConfig config) + public Library(ISpeakeasyHttpClient defaultClient, Func? securitySource, string serverUrl, SDKConfig config) { _defaultClient = defaultClient; - _securityClient = securityClient; + _securitySource = securitySource; _serverUrl = serverUrl; SDKConfiguration = config; } - public async Task GetFileHashAsync(string url, double? type = null) { @@ -227,139 +253,155 @@ namespace PlexAPI }; string baseUrl = this.SDKConfiguration.GetTemplatedServerDetails(); var urlString = URLBuilder.Build(baseUrl, "/library/hashes", request); - + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); httpRequest.Headers.Add("user-agent", _userAgent); - - - var client = _securityClient; - + + var client = _defaultClient; + if (_securitySource != null) + { + client = SecuritySerializer.Apply(_defaultClient, _securitySource); + } + var httpResponse = await client.SendAsync(httpRequest); var contentType = httpResponse.Content.Headers.ContentType?.MediaType; - + var response = new GetFileHashResponse { StatusCode = (int)httpResponse.StatusCode, ContentType = contentType, RawResponse = httpResponse }; - + if((response.StatusCode == 200) || (response.StatusCode == 400)) { - + return response; } + if((response.StatusCode == 401)) { if(Utilities.IsContentTypeMatch("application/json",response.ContentType)) { response.Object = JsonConvert.DeserializeObject(await httpResponse.Content.ReadAsStringAsync(), new JsonSerializerSettings(){ NullValueHandling = NullValueHandling.Ignore, Converters = new JsonConverter[] { new FlexibleObjectDeserializer(), new EnumSerializer() }}); } - + return response; } return response; } - + public async Task GetRecentlyAddedAsync() { string baseUrl = this.SDKConfiguration.GetTemplatedServerDetails(); + var urlString = baseUrl + "/library/recentlyAdded"; - + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); httpRequest.Headers.Add("user-agent", _userAgent); - - - var client = _securityClient; - + + var client = _defaultClient; + if (_securitySource != null) + { + client = SecuritySerializer.Apply(_defaultClient, _securitySource); + } + var httpResponse = await client.SendAsync(httpRequest); var contentType = httpResponse.Content.Headers.ContentType?.MediaType; - + var response = new GetRecentlyAddedResponse { StatusCode = (int)httpResponse.StatusCode, ContentType = contentType, RawResponse = httpResponse }; - + if((response.StatusCode == 200)) { if(Utilities.IsContentTypeMatch("application/json",response.ContentType)) { response.TwoHundredApplicationJsonObject = JsonConvert.DeserializeObject(await httpResponse.Content.ReadAsStringAsync(), new JsonSerializerSettings(){ NullValueHandling = NullValueHandling.Ignore, Converters = new JsonConverter[] { new FlexibleObjectDeserializer(), new EnumSerializer() }}); } - + return response; } + if((response.StatusCode == 400)) { - + return response; } + if((response.StatusCode == 401)) { if(Utilities.IsContentTypeMatch("application/json",response.ContentType)) { response.FourHundredAndOneApplicationJsonObject = JsonConvert.DeserializeObject(await httpResponse.Content.ReadAsStringAsync(), new JsonSerializerSettings(){ NullValueHandling = NullValueHandling.Ignore, Converters = new JsonConverter[] { new FlexibleObjectDeserializer(), new EnumSerializer() }}); } - + return response; } return response; } - + public async Task GetLibrariesAsync() { string baseUrl = this.SDKConfiguration.GetTemplatedServerDetails(); + var urlString = baseUrl + "/library/sections"; - + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); httpRequest.Headers.Add("user-agent", _userAgent); - - - var client = _securityClient; - + + var client = _defaultClient; + if (_securitySource != null) + { + client = SecuritySerializer.Apply(_defaultClient, _securitySource); + } + var httpResponse = await client.SendAsync(httpRequest); var contentType = httpResponse.Content.Headers.ContentType?.MediaType; - + var response = new GetLibrariesResponse { StatusCode = (int)httpResponse.StatusCode, ContentType = contentType, RawResponse = httpResponse }; - + if((response.StatusCode == 200)) { if(Utilities.IsContentTypeMatch("application/json",response.ContentType)) { response.TwoHundredApplicationJsonObject = JsonConvert.DeserializeObject(await httpResponse.Content.ReadAsStringAsync(), new JsonSerializerSettings(){ NullValueHandling = NullValueHandling.Ignore, Converters = new JsonConverter[] { new FlexibleObjectDeserializer(), new EnumSerializer() }}); } - + return response; } + if((response.StatusCode == 400)) { - + return response; } + if((response.StatusCode == 401)) { if(Utilities.IsContentTypeMatch("application/json",response.ContentType)) { response.FourHundredAndOneApplicationJsonObject = JsonConvert.DeserializeObject(await httpResponse.Content.ReadAsStringAsync(), new JsonSerializerSettings(){ NullValueHandling = NullValueHandling.Ignore, Converters = new JsonConverter[] { new FlexibleObjectDeserializer(), new EnumSerializer() }}); } - + return response; } return response; } - + public async Task GetLibraryAsync(double sectionId, IncludeDetails? includeDetails = null) { @@ -370,50 +412,55 @@ namespace PlexAPI }; string baseUrl = this.SDKConfiguration.GetTemplatedServerDetails(); var urlString = URLBuilder.Build(baseUrl, "/library/sections/{sectionId}", request); - + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); httpRequest.Headers.Add("user-agent", _userAgent); - - - var client = _securityClient; - + + var client = _defaultClient; + if (_securitySource != null) + { + client = SecuritySerializer.Apply(_defaultClient, _securitySource); + } + var httpResponse = await client.SendAsync(httpRequest); var contentType = httpResponse.Content.Headers.ContentType?.MediaType; - + var response = new GetLibraryResponse { StatusCode = (int)httpResponse.StatusCode, ContentType = contentType, RawResponse = httpResponse }; - + if((response.StatusCode == 200)) { if(Utilities.IsContentTypeMatch("application/json",response.ContentType)) { response.TwoHundredApplicationJsonObject = JsonConvert.DeserializeObject(await httpResponse.Content.ReadAsStringAsync(), new JsonSerializerSettings(){ NullValueHandling = NullValueHandling.Ignore, Converters = new JsonConverter[] { new FlexibleObjectDeserializer(), new EnumSerializer() }}); } - + return response; } + if((response.StatusCode == 400)) { - + return response; } + if((response.StatusCode == 401)) { if(Utilities.IsContentTypeMatch("application/json",response.ContentType)) { response.FourHundredAndOneApplicationJsonObject = JsonConvert.DeserializeObject(await httpResponse.Content.ReadAsStringAsync(), new JsonSerializerSettings(){ NullValueHandling = NullValueHandling.Ignore, Converters = new JsonConverter[] { new FlexibleObjectDeserializer(), new EnumSerializer() }}); } - + return response; } return response; } - + public async Task DeleteLibraryAsync(double sectionId) { @@ -423,41 +470,45 @@ namespace PlexAPI }; string baseUrl = this.SDKConfiguration.GetTemplatedServerDetails(); var urlString = URLBuilder.Build(baseUrl, "/library/sections/{sectionId}", request); - + var httpRequest = new HttpRequestMessage(HttpMethod.Delete, urlString); httpRequest.Headers.Add("user-agent", _userAgent); - - - var client = _securityClient; - + + var client = _defaultClient; + if (_securitySource != null) + { + client = SecuritySerializer.Apply(_defaultClient, _securitySource); + } + var httpResponse = await client.SendAsync(httpRequest); var contentType = httpResponse.Content.Headers.ContentType?.MediaType; - + var response = new DeleteLibraryResponse { StatusCode = (int)httpResponse.StatusCode, ContentType = contentType, RawResponse = httpResponse }; - + if((response.StatusCode == 200) || (response.StatusCode == 400)) { - + return response; } + if((response.StatusCode == 401)) { if(Utilities.IsContentTypeMatch("application/json",response.ContentType)) { response.Object = JsonConvert.DeserializeObject(await httpResponse.Content.ReadAsStringAsync(), new JsonSerializerSettings(){ NullValueHandling = NullValueHandling.Ignore, Converters = new JsonConverter[] { new FlexibleObjectDeserializer(), new EnumSerializer() }}); } - + return response; } return response; } - + public async Task GetLibraryItemsAsync(long sectionId, Tag tag) { @@ -468,36 +519,39 @@ namespace PlexAPI }; string baseUrl = this.SDKConfiguration.GetTemplatedServerDetails(); var urlString = URLBuilder.Build(baseUrl, "/library/sections/{sectionId}/{tag}", request); - + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); httpRequest.Headers.Add("user-agent", _userAgent); - - - var client = _securityClient; - + + var client = _defaultClient; + if (_securitySource != null) + { + client = SecuritySerializer.Apply(_defaultClient, _securitySource); + } + var httpResponse = await client.SendAsync(httpRequest); var contentType = httpResponse.Content.Headers.ContentType?.MediaType; - + var response = new GetLibraryItemsResponse { StatusCode = (int)httpResponse.StatusCode, ContentType = contentType, RawResponse = httpResponse }; - + if((response.StatusCode == 200)) { if(Utilities.IsContentTypeMatch("application/json",response.ContentType)) { response.Object = JsonConvert.DeserializeObject(await httpResponse.Content.ReadAsStringAsync(), new JsonSerializerSettings(){ NullValueHandling = NullValueHandling.Ignore, Converters = new JsonConverter[] { new FlexibleObjectDeserializer(), new EnumSerializer() }}); } - + return response; } return response; } - + public async Task RefreshLibraryAsync(double sectionId) { @@ -507,41 +561,88 @@ namespace PlexAPI }; string baseUrl = this.SDKConfiguration.GetTemplatedServerDetails(); var urlString = URLBuilder.Build(baseUrl, "/library/sections/{sectionId}/refresh", request); - + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); httpRequest.Headers.Add("user-agent", _userAgent); - - - var client = _securityClient; - + + var client = _defaultClient; + if (_securitySource != null) + { + client = SecuritySerializer.Apply(_defaultClient, _securitySource); + } + var httpResponse = await client.SendAsync(httpRequest); var contentType = httpResponse.Content.Headers.ContentType?.MediaType; - + var response = new RefreshLibraryResponse { StatusCode = (int)httpResponse.StatusCode, ContentType = contentType, RawResponse = httpResponse }; - + if((response.StatusCode == 200) || (response.StatusCode == 400)) { - + return response; } + if((response.StatusCode == 401)) { if(Utilities.IsContentTypeMatch("application/json",response.ContentType)) { response.Object = JsonConvert.DeserializeObject(await httpResponse.Content.ReadAsStringAsync(), new JsonSerializerSettings(){ NullValueHandling = NullValueHandling.Ignore, Converters = new JsonConverter[] { new FlexibleObjectDeserializer(), new EnumSerializer() }}); } - + return response; } return response; } - + + + public async Task SearchLibraryAsync(long sectionId, Type type) + { + var request = new SearchLibraryRequest() + { + SectionId = sectionId, + Type = type, + }; + string baseUrl = this.SDKConfiguration.GetTemplatedServerDetails(); + var urlString = URLBuilder.Build(baseUrl, "/library/sections/{sectionId}/search", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + + var client = _defaultClient; + if (_securitySource != null) + { + client = SecuritySerializer.Apply(_defaultClient, _securitySource); + } + + var httpResponse = await client.SendAsync(httpRequest); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + + var response = new SearchLibraryResponse + { + StatusCode = (int)httpResponse.StatusCode, + ContentType = contentType, + RawResponse = httpResponse + }; + + if((response.StatusCode == 200)) + { + if(Utilities.IsContentTypeMatch("application/json",response.ContentType)) + { + response.Object = JsonConvert.DeserializeObject(await httpResponse.Content.ReadAsStringAsync(), new JsonSerializerSettings(){ NullValueHandling = NullValueHandling.Ignore, Converters = new JsonConverter[] { new FlexibleObjectDeserializer(), new EnumSerializer() }}); + } + + return response; + } + return response; + } + public async Task GetMetadataAsync(double ratingKey) { @@ -551,50 +652,55 @@ namespace PlexAPI }; string baseUrl = this.SDKConfiguration.GetTemplatedServerDetails(); var urlString = URLBuilder.Build(baseUrl, "/library/metadata/{ratingKey}", request); - + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); httpRequest.Headers.Add("user-agent", _userAgent); - - - var client = _securityClient; - + + var client = _defaultClient; + if (_securitySource != null) + { + client = SecuritySerializer.Apply(_defaultClient, _securitySource); + } + var httpResponse = await client.SendAsync(httpRequest); var contentType = httpResponse.Content.Headers.ContentType?.MediaType; - + var response = new GetMetadataResponse { StatusCode = (int)httpResponse.StatusCode, ContentType = contentType, RawResponse = httpResponse }; - + if((response.StatusCode == 200)) { if(Utilities.IsContentTypeMatch("application/json",response.ContentType)) { response.TwoHundredApplicationJsonObject = JsonConvert.DeserializeObject(await httpResponse.Content.ReadAsStringAsync(), new JsonSerializerSettings(){ NullValueHandling = NullValueHandling.Ignore, Converters = new JsonConverter[] { new FlexibleObjectDeserializer(), new EnumSerializer() }}); } - + return response; } + if((response.StatusCode == 400)) { - + return response; } + if((response.StatusCode == 401)) { if(Utilities.IsContentTypeMatch("application/json",response.ContentType)) { response.FourHundredAndOneApplicationJsonObject = JsonConvert.DeserializeObject(await httpResponse.Content.ReadAsStringAsync(), new JsonSerializerSettings(){ NullValueHandling = NullValueHandling.Ignore, Converters = new JsonConverter[] { new FlexibleObjectDeserializer(), new EnumSerializer() }}); } - + return response; } return response; } - + public async Task GetMetadataChildrenAsync(double ratingKey) { @@ -604,98 +710,109 @@ namespace PlexAPI }; string baseUrl = this.SDKConfiguration.GetTemplatedServerDetails(); var urlString = URLBuilder.Build(baseUrl, "/library/metadata/{ratingKey}/children", request); - + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); httpRequest.Headers.Add("user-agent", _userAgent); - - - var client = _securityClient; - + + var client = _defaultClient; + if (_securitySource != null) + { + client = SecuritySerializer.Apply(_defaultClient, _securitySource); + } + var httpResponse = await client.SendAsync(httpRequest); var contentType = httpResponse.Content.Headers.ContentType?.MediaType; - + var response = new GetMetadataChildrenResponse { StatusCode = (int)httpResponse.StatusCode, ContentType = contentType, RawResponse = httpResponse }; - + if((response.StatusCode == 200)) { if(Utilities.IsContentTypeMatch("application/json",response.ContentType)) { response.TwoHundredApplicationJsonObject = JsonConvert.DeserializeObject(await httpResponse.Content.ReadAsStringAsync(), new JsonSerializerSettings(){ NullValueHandling = NullValueHandling.Ignore, Converters = new JsonConverter[] { new FlexibleObjectDeserializer(), new EnumSerializer() }}); } - + return response; } + if((response.StatusCode == 400)) { - + return response; } + if((response.StatusCode == 401)) { if(Utilities.IsContentTypeMatch("application/json",response.ContentType)) { response.FourHundredAndOneApplicationJsonObject = JsonConvert.DeserializeObject(await httpResponse.Content.ReadAsStringAsync(), new JsonSerializerSettings(){ NullValueHandling = NullValueHandling.Ignore, Converters = new JsonConverter[] { new FlexibleObjectDeserializer(), new EnumSerializer() }}); } - + return response; } return response; } - + public async Task GetOnDeckAsync() { string baseUrl = this.SDKConfiguration.GetTemplatedServerDetails(); + var urlString = baseUrl + "/library/onDeck"; - + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); httpRequest.Headers.Add("user-agent", _userAgent); - - - var client = _securityClient; - + + var client = _defaultClient; + if (_securitySource != null) + { + client = SecuritySerializer.Apply(_defaultClient, _securitySource); + } + var httpResponse = await client.SendAsync(httpRequest); var contentType = httpResponse.Content.Headers.ContentType?.MediaType; - + var response = new GetOnDeckResponse { StatusCode = (int)httpResponse.StatusCode, ContentType = contentType, RawResponse = httpResponse }; - + if((response.StatusCode == 200)) { if(Utilities.IsContentTypeMatch("application/json",response.ContentType)) { response.TwoHundredApplicationJsonObject = JsonConvert.DeserializeObject(await httpResponse.Content.ReadAsStringAsync(), new JsonSerializerSettings(){ NullValueHandling = NullValueHandling.Ignore, Converters = new JsonConverter[] { new FlexibleObjectDeserializer(), new EnumSerializer() }}); } - + return response; } + if((response.StatusCode == 400)) { - + return response; } + if((response.StatusCode == 401)) { if(Utilities.IsContentTypeMatch("application/json",response.ContentType)) { response.FourHundredAndOneApplicationJsonObject = JsonConvert.DeserializeObject(await httpResponse.Content.ReadAsStringAsync(), new JsonSerializerSettings(){ NullValueHandling = NullValueHandling.Ignore, Converters = new JsonConverter[] { new FlexibleObjectDeserializer(), new EnumSerializer() }}); } - + return response; } return response; } - + } } \ No newline at end of file diff --git a/PlexAPI/Log.cs b/PlexAPI/Log.cs index f3a0e84..1dcd7c0 100644 --- a/PlexAPI/Log.cs +++ b/PlexAPI/Log.cs @@ -11,6 +11,7 @@ namespace PlexAPI { using Newtonsoft.Json; + using PlexAPI.Models.Components; using PlexAPI.Models.Requests; using PlexAPI.Utils; using System.Net.Http.Headers; @@ -90,22 +91,21 @@ namespace PlexAPI { public SDKConfig SDKConfiguration { get; private set; } private const string _language = "csharp"; - private const string _sdkVersion = "0.1.5"; - private const string _sdkGenVersion = "2.237.3"; + private const string _sdkVersion = "0.2.1"; + private const string _sdkGenVersion = "2.281.2"; private const string _openapiDocVersion = "0.0.3"; - private const string _userAgent = "speakeasy-sdk/csharp 0.1.5 2.237.3 0.0.3 Plex-API"; + private const string _userAgent = "speakeasy-sdk/csharp 0.2.1 2.281.2 0.0.3 Plex-API"; private string _serverUrl = ""; private ISpeakeasyHttpClient _defaultClient; - private ISpeakeasyHttpClient _securityClient; + private Func? _securitySource; - public Log(ISpeakeasyHttpClient defaultClient, ISpeakeasyHttpClient securityClient, string serverUrl, SDKConfig config) + public Log(ISpeakeasyHttpClient defaultClient, Func? securitySource, string serverUrl, SDKConfig config) { _defaultClient = defaultClient; - _securityClient = securityClient; + _securitySource = securitySource; _serverUrl = serverUrl; SDKConfiguration = config; } - public async Task LogLineAsync(Level level, string message, string source) { @@ -117,129 +117,140 @@ namespace PlexAPI }; string baseUrl = this.SDKConfiguration.GetTemplatedServerDetails(); var urlString = URLBuilder.Build(baseUrl, "/log", request); - + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); httpRequest.Headers.Add("user-agent", _userAgent); - - - var client = _securityClient; - + + var client = _defaultClient; + if (_securitySource != null) + { + client = SecuritySerializer.Apply(_defaultClient, _securitySource); + } + var httpResponse = await client.SendAsync(httpRequest); var contentType = httpResponse.Content.Headers.ContentType?.MediaType; - + var response = new LogLineResponse { StatusCode = (int)httpResponse.StatusCode, ContentType = contentType, RawResponse = httpResponse }; - + if((response.StatusCode == 200) || (response.StatusCode == 400)) { - + return response; } + if((response.StatusCode == 401)) { if(Utilities.IsContentTypeMatch("application/json",response.ContentType)) { response.Object = JsonConvert.DeserializeObject(await httpResponse.Content.ReadAsStringAsync(), new JsonSerializerSettings(){ NullValueHandling = NullValueHandling.Ignore, Converters = new JsonConverter[] { new FlexibleObjectDeserializer(), new EnumSerializer() }}); } - + return response; } return response; } - + public async Task LogMultiLineAsync(string request) { string baseUrl = this.SDKConfiguration.GetTemplatedServerDetails(); + var urlString = baseUrl + "/log"; - + var httpRequest = new HttpRequestMessage(HttpMethod.Post, urlString); httpRequest.Headers.Add("user-agent", _userAgent); - - var serializedBody = RequestBodySerializer.Serialize(request, "Request", "string"); - if (serializedBody == null) - { - throw new ArgumentNullException("request body is required"); - } - else + + var serializedBody = RequestBodySerializer.Serialize(request, "Request", "string", false, false); + if (serializedBody != null) { httpRequest.Content = serializedBody; } - - var client = _securityClient; - + + var client = _defaultClient; + if (_securitySource != null) + { + client = SecuritySerializer.Apply(_defaultClient, _securitySource); + } + var httpResponse = await client.SendAsync(httpRequest); var contentType = httpResponse.Content.Headers.ContentType?.MediaType; - + var response = new LogMultiLineResponse { StatusCode = (int)httpResponse.StatusCode, ContentType = contentType, RawResponse = httpResponse }; - + if((response.StatusCode == 200) || (response.StatusCode == 400)) { - + return response; } + if((response.StatusCode == 401)) { if(Utilities.IsContentTypeMatch("application/json",response.ContentType)) { response.Object = JsonConvert.DeserializeObject(await httpResponse.Content.ReadAsStringAsync(), new JsonSerializerSettings(){ NullValueHandling = NullValueHandling.Ignore, Converters = new JsonConverter[] { new FlexibleObjectDeserializer(), new EnumSerializer() }}); } - + return response; } return response; } - + public async Task EnablePaperTrailAsync() { string baseUrl = this.SDKConfiguration.GetTemplatedServerDetails(); + var urlString = baseUrl + "/log/networked"; - + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); httpRequest.Headers.Add("user-agent", _userAgent); - - - var client = _securityClient; - + + var client = _defaultClient; + if (_securitySource != null) + { + client = SecuritySerializer.Apply(_defaultClient, _securitySource); + } + var httpResponse = await client.SendAsync(httpRequest); var contentType = httpResponse.Content.Headers.ContentType?.MediaType; - + var response = new EnablePaperTrailResponse { StatusCode = (int)httpResponse.StatusCode, ContentType = contentType, RawResponse = httpResponse }; - + if((response.StatusCode == 200) || (response.StatusCode == 400) || (response.StatusCode == 403)) { - + return response; } + if((response.StatusCode == 401)) { if(Utilities.IsContentTypeMatch("application/json",response.ContentType)) { response.Object = JsonConvert.DeserializeObject(await httpResponse.Content.ReadAsStringAsync(), new JsonSerializerSettings(){ NullValueHandling = NullValueHandling.Ignore, Converters = new JsonConverter[] { new FlexibleObjectDeserializer(), new EnumSerializer() }}); } - + return response; } return response; } - + } } \ No newline at end of file diff --git a/PlexAPI/Media.cs b/PlexAPI/Media.cs index d84427c..941c4c2 100644 --- a/PlexAPI/Media.cs +++ b/PlexAPI/Media.cs @@ -11,6 +11,7 @@ namespace PlexAPI { using Newtonsoft.Json; + using PlexAPI.Models.Components; using PlexAPI.Models.Requests; using PlexAPI.Utils; using System.Net.Http.Headers; @@ -68,22 +69,21 @@ namespace PlexAPI { public SDKConfig SDKConfiguration { get; private set; } private const string _language = "csharp"; - private const string _sdkVersion = "0.1.5"; - private const string _sdkGenVersion = "2.237.3"; + private const string _sdkVersion = "0.2.1"; + private const string _sdkGenVersion = "2.281.2"; private const string _openapiDocVersion = "0.0.3"; - private const string _userAgent = "speakeasy-sdk/csharp 0.1.5 2.237.3 0.0.3 Plex-API"; + private const string _userAgent = "speakeasy-sdk/csharp 0.2.1 2.281.2 0.0.3 Plex-API"; private string _serverUrl = ""; private ISpeakeasyHttpClient _defaultClient; - private ISpeakeasyHttpClient _securityClient; + private Func? _securitySource; - public Media(ISpeakeasyHttpClient defaultClient, ISpeakeasyHttpClient securityClient, string serverUrl, SDKConfig config) + public Media(ISpeakeasyHttpClient defaultClient, Func? securitySource, string serverUrl, SDKConfig config) { _defaultClient = defaultClient; - _securityClient = securityClient; + _securitySource = securitySource; _serverUrl = serverUrl; SDKConfiguration = config; } - public async Task MarkPlayedAsync(double key) { @@ -93,41 +93,45 @@ namespace PlexAPI }; string baseUrl = this.SDKConfiguration.GetTemplatedServerDetails(); var urlString = URLBuilder.Build(baseUrl, "/:/scrobble", request); - + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); httpRequest.Headers.Add("user-agent", _userAgent); - - - var client = _securityClient; - + + var client = _defaultClient; + if (_securitySource != null) + { + client = SecuritySerializer.Apply(_defaultClient, _securitySource); + } + var httpResponse = await client.SendAsync(httpRequest); var contentType = httpResponse.Content.Headers.ContentType?.MediaType; - + var response = new MarkPlayedResponse { StatusCode = (int)httpResponse.StatusCode, ContentType = contentType, RawResponse = httpResponse }; - + if((response.StatusCode == 200) || (response.StatusCode == 400)) { - + return response; } + if((response.StatusCode == 401)) { if(Utilities.IsContentTypeMatch("application/json",response.ContentType)) { response.Object = JsonConvert.DeserializeObject(await httpResponse.Content.ReadAsStringAsync(), new JsonSerializerSettings(){ NullValueHandling = NullValueHandling.Ignore, Converters = new JsonConverter[] { new FlexibleObjectDeserializer(), new EnumSerializer() }}); } - + return response; } return response; } - + public async Task MarkUnplayedAsync(double key) { @@ -137,41 +141,45 @@ namespace PlexAPI }; string baseUrl = this.SDKConfiguration.GetTemplatedServerDetails(); var urlString = URLBuilder.Build(baseUrl, "/:/unscrobble", request); - + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); httpRequest.Headers.Add("user-agent", _userAgent); - - - var client = _securityClient; - + + var client = _defaultClient; + if (_securitySource != null) + { + client = SecuritySerializer.Apply(_defaultClient, _securitySource); + } + var httpResponse = await client.SendAsync(httpRequest); var contentType = httpResponse.Content.Headers.ContentType?.MediaType; - + var response = new MarkUnplayedResponse { StatusCode = (int)httpResponse.StatusCode, ContentType = contentType, RawResponse = httpResponse }; - + if((response.StatusCode == 200) || (response.StatusCode == 400)) { - + return response; } + if((response.StatusCode == 401)) { if(Utilities.IsContentTypeMatch("application/json",response.ContentType)) { response.Object = JsonConvert.DeserializeObject(await httpResponse.Content.ReadAsStringAsync(), new JsonSerializerSettings(){ NullValueHandling = NullValueHandling.Ignore, Converters = new JsonConverter[] { new FlexibleObjectDeserializer(), new EnumSerializer() }}); } - + return response; } return response; } - + public async Task UpdatePlayProgressAsync(string key, double time, string state) { @@ -183,40 +191,44 @@ namespace PlexAPI }; string baseUrl = this.SDKConfiguration.GetTemplatedServerDetails(); var urlString = URLBuilder.Build(baseUrl, "/:/progress", request); - + var httpRequest = new HttpRequestMessage(HttpMethod.Post, urlString); httpRequest.Headers.Add("user-agent", _userAgent); - - - var client = _securityClient; - + + var client = _defaultClient; + if (_securitySource != null) + { + client = SecuritySerializer.Apply(_defaultClient, _securitySource); + } + var httpResponse = await client.SendAsync(httpRequest); var contentType = httpResponse.Content.Headers.ContentType?.MediaType; - + var response = new UpdatePlayProgressResponse { StatusCode = (int)httpResponse.StatusCode, ContentType = contentType, RawResponse = httpResponse }; - + if((response.StatusCode == 200) || (response.StatusCode == 400)) { - + return response; } + if((response.StatusCode == 401)) { if(Utilities.IsContentTypeMatch("application/json",response.ContentType)) { response.Object = JsonConvert.DeserializeObject(await httpResponse.Content.ReadAsStringAsync(), new JsonSerializerSettings(){ NullValueHandling = NullValueHandling.Ignore, Converters = new JsonConverter[] { new FlexibleObjectDeserializer(), new EnumSerializer() }}); } - + return response; } return response; } - + } } \ No newline at end of file diff --git a/PlexAPI/Models/Requests/Account.cs b/PlexAPI/Models/Requests/Account.cs new file mode 100644 index 0000000..49fbab7 --- /dev/null +++ b/PlexAPI/Models/Requests/Account.cs @@ -0,0 +1,42 @@ + +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace PlexAPI.Models.Requests +{ + using Newtonsoft.Json; + + public class Account + { + + [JsonProperty("id")] + public int? Id { get; set; } + + [JsonProperty("key")] + public string? Key { get; set; } + + [JsonProperty("name")] + public string? Name { get; set; } + + [JsonProperty("defaultAudioLanguage")] + public string? DefaultAudioLanguage { get; set; } + + [JsonProperty("autoSelectAudio")] + public bool? AutoSelectAudio { get; set; } + + [JsonProperty("defaultSubtitleLanguage")] + public string? DefaultSubtitleLanguage { get; set; } + + [JsonProperty("subtitleMode")] + public int? SubtitleMode { get; set; } + + [JsonProperty("thumb")] + public string? Thumb { get; set; } + } +} \ No newline at end of file diff --git a/PlexAPI/Models/Requests/CreatePlaylistRequest.cs b/PlexAPI/Models/Requests/CreatePlaylistRequest.cs index 081be8c..ae8a426 100644 --- a/PlexAPI/Models/Requests/CreatePlaylistRequest.cs +++ b/PlexAPI/Models/Requests/CreatePlaylistRequest.cs @@ -25,7 +25,7 @@ namespace PlexAPI.Models.Requests /// type of playlist to create /// [SpeakeasyMetadata("queryParam:style=form,explode=true,name=type")] - public Type Type { get; set; } = default!; + public QueryParamType Type { get; set; } = default!; /// /// whether the playlist is smart or not diff --git a/PlexAPI/Models/Requests/GetLibrariesDirectory.cs b/PlexAPI/Models/Requests/GetLibrariesDirectory.cs index 0a82139..68f8954 100644 --- a/PlexAPI/Models/Requests/GetLibrariesDirectory.cs +++ b/PlexAPI/Models/Requests/GetLibrariesDirectory.cs @@ -77,6 +77,6 @@ namespace PlexAPI.Models.Requests public int? Hidden { get; set; } [JsonProperty("Location")] - public List? Location { get; set; } + public List? Location { get; set; } } } \ No newline at end of file diff --git a/PlexAPI/Models/Requests/GetLibrariesLocation.cs b/PlexAPI/Models/Requests/GetLibrariesLocation.cs new file mode 100644 index 0000000..8ae5a9d --- /dev/null +++ b/PlexAPI/Models/Requests/GetLibrariesLocation.cs @@ -0,0 +1,24 @@ + +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace PlexAPI.Models.Requests +{ + using Newtonsoft.Json; + + public class GetLibrariesLocation + { + + [JsonProperty("id")] + public int? Id { get; set; } + + [JsonProperty("path")] + public string? Path { get; set; } + } +} \ No newline at end of file diff --git a/PlexAPI/Models/Requests/GetLibraryItemsMediaContainer.cs b/PlexAPI/Models/Requests/GetLibraryItemsMediaContainer.cs index 774d5a0..c86c8fa 100644 --- a/PlexAPI/Models/Requests/GetLibraryItemsMediaContainer.cs +++ b/PlexAPI/Models/Requests/GetLibraryItemsMediaContainer.cs @@ -58,6 +58,9 @@ namespace PlexAPI.Models.Requests [JsonProperty("viewMode")] public int? ViewMode { get; set; } + [JsonProperty("mixedParents")] + public bool? MixedParents { get; set; } + [JsonProperty("Metadata")] public List? Metadata { get; set; } } diff --git a/PlexAPI/Models/Requests/GetLibraryItemsMetadata.cs b/PlexAPI/Models/Requests/GetLibraryItemsMetadata.cs index 9a7ecb5..71c1ce2 100644 --- a/PlexAPI/Models/Requests/GetLibraryItemsMetadata.cs +++ b/PlexAPI/Models/Requests/GetLibraryItemsMetadata.cs @@ -83,6 +83,27 @@ namespace PlexAPI.Models.Requests [JsonProperty("ratingImage")] public string? RatingImage { get; set; } + [JsonProperty("grandparentRatingKey")] + public string? GrandparentRatingKey { get; set; } + + [JsonProperty("grandparentGuid")] + public string? GrandparentGuid { get; set; } + + [JsonProperty("grandparentKey")] + public string? GrandparentKey { get; set; } + + [JsonProperty("grandparentTitle")] + public string? GrandparentTitle { get; set; } + + [JsonProperty("grandparentThumb")] + public string? GrandparentThumb { get; set; } + + [JsonProperty("grandparentArt")] + public string? GrandparentArt { get; set; } + + [JsonProperty("grandparentTheme")] + public string? GrandparentTheme { get; set; } + [JsonProperty("Media")] public List? Media { get; set; } @@ -118,5 +139,53 @@ namespace PlexAPI.Models.Requests [JsonProperty("skipCount")] public int? SkipCount { get; set; } + + [JsonProperty("index")] + public int? Index { get; set; } + + [JsonProperty("theme")] + public string? Theme { get; set; } + + [JsonProperty("leafCount")] + public int? LeafCount { get; set; } + + [JsonProperty("viewedLeafCount")] + public int? ViewedLeafCount { get; set; } + + [JsonProperty("childCount")] + public int? ChildCount { get; set; } + + [JsonProperty("hasPremiumExtras")] + public string? HasPremiumExtras { get; set; } + + [JsonProperty("hasPremiumPrimaryExtra")] + public string? HasPremiumPrimaryExtra { get; set; } + + [JsonProperty("parentRatingKey")] + public string? ParentRatingKey { get; set; } + + [JsonProperty("parentGuid")] + public string? ParentGuid { get; set; } + + [JsonProperty("parentStudio")] + public string? ParentStudio { get; set; } + + [JsonProperty("parentKey")] + public string? ParentKey { get; set; } + + [JsonProperty("parentTitle")] + public string? ParentTitle { get; set; } + + [JsonProperty("parentIndex")] + public int? ParentIndex { get; set; } + + [JsonProperty("parentYear")] + public int? ParentYear { get; set; } + + [JsonProperty("parentThumb")] + public string? ParentThumb { get; set; } + + [JsonProperty("parentTheme")] + public string? ParentTheme { get; set; } } } \ No newline at end of file diff --git a/PlexAPI/Models/Requests/GetPinErrors.cs b/PlexAPI/Models/Requests/GetPinErrors.cs new file mode 100644 index 0000000..bb23c48 --- /dev/null +++ b/PlexAPI/Models/Requests/GetPinErrors.cs @@ -0,0 +1,27 @@ + +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace PlexAPI.Models.Requests +{ + using Newtonsoft.Json; + + public class GetPinErrors + { + + [JsonProperty("code")] + public double? Code { get; set; } + + [JsonProperty("message")] + public string? Message { get; set; } + + [JsonProperty("status")] + public double? Status { get; set; } + } +} \ No newline at end of file diff --git a/PlexAPI/Models/Requests/GetPinPlexResponseBody.cs b/PlexAPI/Models/Requests/GetPinPlexResponseBody.cs new file mode 100644 index 0000000..97640a7 --- /dev/null +++ b/PlexAPI/Models/Requests/GetPinPlexResponseBody.cs @@ -0,0 +1,25 @@ + +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace PlexAPI.Models.Requests +{ + using Newtonsoft.Json; + using System.Collections.Generic; + + /// + /// X-Plex-Client-Identifier is missing + /// + public class GetPinPlexResponseBody + { + + [JsonProperty("errors")] + public List? Errors { get; set; } + } +} \ No newline at end of file diff --git a/PlexAPI/Models/Requests/GetPinRequest.cs b/PlexAPI/Models/Requests/GetPinRequest.cs new file mode 100644 index 0000000..4555b3c --- /dev/null +++ b/PlexAPI/Models/Requests/GetPinRequest.cs @@ -0,0 +1,42 @@ + +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace PlexAPI.Models.Requests +{ + using PlexAPI.Utils; + + public class GetPinRequest + { + + /// + /// 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)
+ /// + ///
+ ///
+ [SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Client-Identifier")] + public string XPlexClientIdentifier { get; set; } = default!; + + /// + /// Determines the kind of code returned by the API call
+ /// + /// + /// Strong codes are used for Pin authentication flows
+ /// Non-Strong codes are used for `Plex.tv/link`
+ /// + ///
+ ///
+ [SpeakeasyMetadata("queryParam:style=form,explode=true,name=strong")] + public bool? Strong { get; set; } + } +} \ No newline at end of file diff --git a/PlexAPI/Models/Requests/GetPinResponse.cs b/PlexAPI/Models/Requests/GetPinResponse.cs new file mode 100644 index 0000000..693d3b3 --- /dev/null +++ b/PlexAPI/Models/Requests/GetPinResponse.cs @@ -0,0 +1,44 @@ + +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace PlexAPI.Models.Requests +{ + using System.Net.Http; + using System; + + public class GetPinResponse + { + + /// + /// HTTP response content type for this operation + /// + public string? ContentType { get; set; } = default!; + + /// + /// HTTP response status code for this operation + /// + public int StatusCode { get; set; } = default!; + + /// + /// Raw HTTP response; suitable for custom response parsing + /// + public HttpResponseMessage RawResponse { get; set; } = default!; + + /// + /// The Pin + /// + public GetPinResponseBody? TwoHundredApplicationJsonObject { get; set; } + + /// + /// X-Plex-Client-Identifier is missing + /// + public GetPinPlexResponseBody? FourHundredApplicationJsonObject { get; set; } + } +} \ No newline at end of file diff --git a/PlexAPI/Models/Requests/GetPinResponseBody.cs b/PlexAPI/Models/Requests/GetPinResponseBody.cs new file mode 100644 index 0000000..925a6fa --- /dev/null +++ b/PlexAPI/Models/Requests/GetPinResponseBody.cs @@ -0,0 +1,70 @@ + +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace PlexAPI.Models.Requests +{ + using Newtonsoft.Json; + using System; + + /// + /// The Pin + /// + public class GetPinResponseBody + { + + /// + /// PinID for use with authentication + /// + [JsonProperty("id")] + public double? Id { get; set; } + + [JsonProperty("code")] + public string? Code { get; set; } + + [JsonProperty("product")] + public string? Product { get; set; } + + [JsonProperty("trusted")] + public bool? Trusted { get; set; } + + /// + /// a link to a QR code hosted on plex.tv
+ /// + /// + /// The QR code redirects to the relevant `plex.tv/link` authentication page
+ /// Which then prompts the user for the 4 Digit Link Pin
+ /// + ///
+ ///
+ [JsonProperty("qr")] + public string? Qr { get; set; } + + [JsonProperty("clientIdentifier")] + public string? ClientIdentifier { get; set; } + + [JsonProperty("location")] + public Location? Location { get; set; } + + [JsonProperty("expiresIn")] + public double? ExpiresIn { get; set; } + + [JsonProperty("createdAt")] + public DateTime? CreatedAt { get; set; } + + [JsonProperty("expiresAt")] + public DateTime? ExpiresAt { get; set; } + + [JsonProperty("authToken")] + public string? AuthToken { get; set; } + + [JsonProperty("newRegistration")] + public string? NewRegistration { get; set; } + } +} \ No newline at end of file diff --git a/PlexAPI/Models/Requests/GetServerPreferencesMediaContainer.cs b/PlexAPI/Models/Requests/GetServerPreferencesMediaContainer.cs index 1f4296d..96077a3 100644 --- a/PlexAPI/Models/Requests/GetServerPreferencesMediaContainer.cs +++ b/PlexAPI/Models/Requests/GetServerPreferencesMediaContainer.cs @@ -20,6 +20,6 @@ namespace PlexAPI.Models.Requests public int? Size { get; set; } [JsonProperty("Setting")] - public List? Setting { get; set; } + public List? Setting { get; set; } } } \ No newline at end of file diff --git a/PlexAPI/Models/Requests/GetStatisticsDevice.cs b/PlexAPI/Models/Requests/GetStatisticsDevice.cs new file mode 100644 index 0000000..ed5a64c --- /dev/null +++ b/PlexAPI/Models/Requests/GetStatisticsDevice.cs @@ -0,0 +1,33 @@ + +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace PlexAPI.Models.Requests +{ + using Newtonsoft.Json; + + public class GetStatisticsDevice + { + + [JsonProperty("id")] + public int? Id { get; set; } + + [JsonProperty("name")] + public string? Name { get; set; } + + [JsonProperty("platform")] + public string? Platform { get; set; } + + [JsonProperty("clientIdentifier")] + public string? ClientIdentifier { get; set; } + + [JsonProperty("createdAt")] + public int? CreatedAt { get; set; } + } +} \ No newline at end of file diff --git a/PlexAPI/Models/Requests/GetStatisticsErrors.cs b/PlexAPI/Models/Requests/GetStatisticsErrors.cs new file mode 100644 index 0000000..63e6926 --- /dev/null +++ b/PlexAPI/Models/Requests/GetStatisticsErrors.cs @@ -0,0 +1,27 @@ + +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace PlexAPI.Models.Requests +{ + using Newtonsoft.Json; + + public class GetStatisticsErrors + { + + [JsonProperty("code")] + public double? Code { get; set; } + + [JsonProperty("message")] + public string? Message { get; set; } + + [JsonProperty("status")] + public double? Status { get; set; } + } +} \ No newline at end of file diff --git a/PlexAPI/Models/Requests/GetStatisticsMediaContainer.cs b/PlexAPI/Models/Requests/GetStatisticsMediaContainer.cs new file mode 100644 index 0000000..63b30ab --- /dev/null +++ b/PlexAPI/Models/Requests/GetStatisticsMediaContainer.cs @@ -0,0 +1,31 @@ + +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace PlexAPI.Models.Requests +{ + using Newtonsoft.Json; + using System.Collections.Generic; + + public class GetStatisticsMediaContainer + { + + [JsonProperty("size")] + public int? Size { get; set; } + + [JsonProperty("Device")] + public List? Device { get; set; } + + [JsonProperty("Account")] + public List? Account { get; set; } + + [JsonProperty("StatisticsMedia")] + public List? StatisticsMedia { get; set; } + } +} \ No newline at end of file diff --git a/PlexAPI/Models/Requests/GetStatisticsRequest.cs b/PlexAPI/Models/Requests/GetStatisticsRequest.cs new file mode 100644 index 0000000..3cc1b57 --- /dev/null +++ b/PlexAPI/Models/Requests/GetStatisticsRequest.cs @@ -0,0 +1,29 @@ + +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace PlexAPI.Models.Requests +{ + using PlexAPI.Utils; + + public class GetStatisticsRequest + { + + /// + /// The timespan to retrieve statistics for
+ /// + /// + /// the exact meaning of this parameter is not known
+ /// + ///
+ ///
+ [SpeakeasyMetadata("queryParam:style=form,explode=true,name=Timespan")] + public long? Timespan { get; set; } + } +} \ No newline at end of file diff --git a/PlexAPI/Models/Requests/GetStatisticsResponse.cs b/PlexAPI/Models/Requests/GetStatisticsResponse.cs new file mode 100644 index 0000000..e5d02cf --- /dev/null +++ b/PlexAPI/Models/Requests/GetStatisticsResponse.cs @@ -0,0 +1,44 @@ + +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace PlexAPI.Models.Requests +{ + using System.Net.Http; + using System; + + public class GetStatisticsResponse + { + + /// + /// HTTP response content type for this operation + /// + public string? ContentType { get; set; } = default!; + + /// + /// HTTP response status code for this operation + /// + public int StatusCode { get; set; } = default!; + + /// + /// Raw HTTP response; suitable for custom response parsing + /// + public HttpResponseMessage RawResponse { get; set; } = default!; + + /// + /// Media Statistics + /// + public GetStatisticsResponseBody? TwoHundredApplicationJsonObject { get; set; } + + /// + /// Unauthorized - Returned if the X-Plex-Token is missing from the header or query. + /// + public GetStatisticsStatisticsResponseBody? FourHundredAndOneApplicationJsonObject { get; set; } + } +} \ No newline at end of file diff --git a/PlexAPI/Models/Requests/GetStatisticsResponseBody.cs b/PlexAPI/Models/Requests/GetStatisticsResponseBody.cs new file mode 100644 index 0000000..c3e4b7a --- /dev/null +++ b/PlexAPI/Models/Requests/GetStatisticsResponseBody.cs @@ -0,0 +1,24 @@ + +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace PlexAPI.Models.Requests +{ + using Newtonsoft.Json; + + /// + /// Media Statistics + /// + public class GetStatisticsResponseBody + { + + [JsonProperty("MediaContainer")] + public GetStatisticsMediaContainer? MediaContainer { get; set; } + } +} \ No newline at end of file diff --git a/PlexAPI/Models/Requests/GetStatisticsStatisticsResponseBody.cs b/PlexAPI/Models/Requests/GetStatisticsStatisticsResponseBody.cs new file mode 100644 index 0000000..71b73c8 --- /dev/null +++ b/PlexAPI/Models/Requests/GetStatisticsStatisticsResponseBody.cs @@ -0,0 +1,25 @@ + +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace PlexAPI.Models.Requests +{ + using Newtonsoft.Json; + using System.Collections.Generic; + + /// + /// Unauthorized - Returned if the X-Plex-Token is missing from the header or query. + /// + public class GetStatisticsStatisticsResponseBody + { + + [JsonProperty("errors")] + public List? Errors { get; set; } + } +} \ No newline at end of file diff --git a/PlexAPI/Models/Requests/GetTokenErrors.cs b/PlexAPI/Models/Requests/GetTokenErrors.cs new file mode 100644 index 0000000..a6d52b0 --- /dev/null +++ b/PlexAPI/Models/Requests/GetTokenErrors.cs @@ -0,0 +1,27 @@ + +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace PlexAPI.Models.Requests +{ + using Newtonsoft.Json; + + public class GetTokenErrors + { + + [JsonProperty("code")] + public double? Code { get; set; } + + [JsonProperty("message")] + public string? Message { get; set; } + + [JsonProperty("status")] + public double? Status { get; set; } + } +} \ No newline at end of file diff --git a/PlexAPI/Models/Requests/GetTokenRequest.cs b/PlexAPI/Models/Requests/GetTokenRequest.cs new file mode 100644 index 0000000..120eecf --- /dev/null +++ b/PlexAPI/Models/Requests/GetTokenRequest.cs @@ -0,0 +1,36 @@ + +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace PlexAPI.Models.Requests +{ + using PlexAPI.Utils; + + public class GetTokenRequest + { + + /// + /// The PinID to retrieve an access token for + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=pinID")] + public string PinID { get; set; } = default!; + + /// + /// 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)
+ /// + ///
+ ///
+ [SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Client-Identifier")] + public string XPlexClientIdentifier { get; set; } = default!; + } +} \ No newline at end of file diff --git a/PlexAPI/Models/Requests/GetTokenResponse.cs b/PlexAPI/Models/Requests/GetTokenResponse.cs new file mode 100644 index 0000000..097e8ba --- /dev/null +++ b/PlexAPI/Models/Requests/GetTokenResponse.cs @@ -0,0 +1,39 @@ + +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace PlexAPI.Models.Requests +{ + using System.Net.Http; + using System; + + public class GetTokenResponse + { + + /// + /// HTTP response content type for this operation + /// + public string? ContentType { get; set; } = default!; + + /// + /// HTTP response status code for this operation + /// + public int StatusCode { get; set; } = default!; + + /// + /// Raw HTTP response; suitable for custom response parsing + /// + public HttpResponseMessage RawResponse { get; set; } = default!; + + /// + /// X-Plex-Client-Identifier is missing + /// + public GetTokenResponseBody? Object { get; set; } + } +} \ No newline at end of file diff --git a/PlexAPI/Models/Requests/GetTokenResponseBody.cs b/PlexAPI/Models/Requests/GetTokenResponseBody.cs new file mode 100644 index 0000000..df2738d --- /dev/null +++ b/PlexAPI/Models/Requests/GetTokenResponseBody.cs @@ -0,0 +1,25 @@ + +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace PlexAPI.Models.Requests +{ + using Newtonsoft.Json; + using System.Collections.Generic; + + /// + /// X-Plex-Client-Identifier is missing + /// + public class GetTokenResponseBody + { + + [JsonProperty("errors")] + public List? Errors { get; set; } + } +} \ No newline at end of file diff --git a/PlexAPI/Models/Requests/GetTransientTokenQueryParamType.cs b/PlexAPI/Models/Requests/GetTransientTokenQueryParamType.cs new file mode 100644 index 0000000..ee591e3 --- /dev/null +++ b/PlexAPI/Models/Requests/GetTransientTokenQueryParamType.cs @@ -0,0 +1,58 @@ + +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace PlexAPI.Models.Requests +{ + using Newtonsoft.Json; + using System; + + /// + /// `delegation` - This is the only supported `type` parameter. + /// + public enum GetTransientTokenQueryParamType + { + [JsonProperty("delegation")] + Delegation, + } + + public static class GetTransientTokenQueryParamTypeExtension + { + public static string Value(this GetTransientTokenQueryParamType value) + { + return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); + } + + public static GetTransientTokenQueryParamType ToEnum(this string value) + { + foreach(var field in typeof(GetTransientTokenQueryParamType).GetFields()) + { + var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); + if (attributes.Length == 0) + { + continue; + } + + var attribute = attributes[0] as JsonPropertyAttribute; + if (attribute != null && attribute.PropertyName == value) + { + var enumVal = field.GetValue(null); + + if (enumVal is GetTransientTokenQueryParamType) + { + return (GetTransientTokenQueryParamType)enumVal; + } + } + } + + throw new Exception($"Unknown value {value} for enum GetTransientTokenQueryParamType"); + } + } + +} \ No newline at end of file diff --git a/PlexAPI/Models/Requests/GetTransientTokenRequest.cs b/PlexAPI/Models/Requests/GetTransientTokenRequest.cs index fb55da1..1ec55d6 100644 --- a/PlexAPI/Models/Requests/GetTransientTokenRequest.cs +++ b/PlexAPI/Models/Requests/GetTransientTokenRequest.cs @@ -19,7 +19,7 @@ namespace PlexAPI.Models.Requests /// `delegation` - This is the only supported `type` parameter. /// [SpeakeasyMetadata("queryParam:style=form,explode=true,name=type")] - public QueryParamType Type { get; set; } = default!; + public GetTransientTokenQueryParamType Type { get; set; } = default!; /// /// `all` - This is the only supported `scope` parameter. diff --git a/PlexAPI/Models/Requests/Location.cs b/PlexAPI/Models/Requests/Location.cs index 0315091..113c977 100644 --- a/PlexAPI/Models/Requests/Location.cs +++ b/PlexAPI/Models/Requests/Location.cs @@ -15,10 +15,34 @@ namespace PlexAPI.Models.Requests public class Location { - [JsonProperty("id")] - public int? Id { get; set; } + [JsonProperty("code")] + public string? Code { get; set; } - [JsonProperty("path")] - public string? Path { get; set; } + [JsonProperty("european_union_member")] + public bool? EuropeanUnionMember { get; set; } + + [JsonProperty("continent_code")] + public string? ContinentCode { get; set; } + + [JsonProperty("country")] + public string? Country { get; set; } + + [JsonProperty("city")] + public string? City { get; set; } + + [JsonProperty("time_zone")] + public string? TimeZone { get; set; } + + [JsonProperty("postal_code")] + public double? PostalCode { get; set; } + + [JsonProperty("in_privacy_restricted_country")] + public bool? InPrivacyRestrictedCountry { get; set; } + + [JsonProperty("subdivisions")] + public string? Subdivisions { get; set; } + + [JsonProperty("coordinates")] + public string? Coordinates { get; set; } } } \ No newline at end of file diff --git a/PlexAPI/Models/Requests/QueryParamType.cs b/PlexAPI/Models/Requests/QueryParamType.cs index 9fde256..a907686 100644 --- a/PlexAPI/Models/Requests/QueryParamType.cs +++ b/PlexAPI/Models/Requests/QueryParamType.cs @@ -14,12 +14,16 @@ namespace PlexAPI.Models.Requests using System; /// - /// `delegation` - This is the only supported `type` parameter. + /// type of playlist to create /// public enum QueryParamType { - [JsonProperty("delegation")] - Delegation, + [JsonProperty("audio")] + Audio, + [JsonProperty("video")] + Video, + [JsonProperty("photo")] + Photo, } public static class QueryParamTypeExtension diff --git a/PlexAPI/Models/Requests/SearchLibraryMediaContainer.cs b/PlexAPI/Models/Requests/SearchLibraryMediaContainer.cs new file mode 100644 index 0000000..3e68728 --- /dev/null +++ b/PlexAPI/Models/Requests/SearchLibraryMediaContainer.cs @@ -0,0 +1,58 @@ + +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace PlexAPI.Models.Requests +{ + using Newtonsoft.Json; + using System.Collections.Generic; + + public class SearchLibraryMediaContainer + { + + [JsonProperty("size")] + public int? Size { get; set; } + + [JsonProperty("allowSync")] + public bool? AllowSync { get; set; } + + [JsonProperty("art")] + public string? Art { get; set; } + + [JsonProperty("identifier")] + public string? Identifier { get; set; } + + [JsonProperty("mediaTagPrefix")] + public string? MediaTagPrefix { get; set; } + + [JsonProperty("mediaTagVersion")] + public int? MediaTagVersion { get; set; } + + [JsonProperty("nocache")] + public bool? Nocache { get; set; } + + [JsonProperty("thumb")] + public string? Thumb { get; set; } + + [JsonProperty("title1")] + public string? Title1 { get; set; } + + [JsonProperty("title2")] + public string? Title2 { get; set; } + + [JsonProperty("viewGroup")] + public string? ViewGroup { get; set; } + + [JsonProperty("viewMode")] + public int? ViewMode { get; set; } + + [JsonProperty("Metadata")] + public List? Metadata { get; set; } + } +} \ No newline at end of file diff --git a/PlexAPI/Models/Requests/SearchLibraryMetadata.cs b/PlexAPI/Models/Requests/SearchLibraryMetadata.cs new file mode 100644 index 0000000..86fdaa4 --- /dev/null +++ b/PlexAPI/Models/Requests/SearchLibraryMetadata.cs @@ -0,0 +1,78 @@ + +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace PlexAPI.Models.Requests +{ + using Newtonsoft.Json; + + public class SearchLibraryMetadata + { + + [JsonProperty("ratingKey")] + public string? RatingKey { get; set; } + + [JsonProperty("key")] + public string? Key { get; set; } + + [JsonProperty("parentRatingKey")] + public string? ParentRatingKey { get; set; } + + [JsonProperty("guid")] + public string? Guid { get; set; } + + [JsonProperty("parentGuid")] + public string? ParentGuid { get; set; } + + [JsonProperty("parentStudio")] + public string? ParentStudio { get; set; } + + [JsonProperty("type")] + public string? Type { get; set; } + + [JsonProperty("title")] + public string? Title { get; set; } + + [JsonProperty("parentKey")] + public string? ParentKey { get; set; } + + [JsonProperty("parentTitle")] + public string? ParentTitle { get; set; } + + [JsonProperty("summary")] + public string? Summary { get; set; } + + [JsonProperty("index")] + public int? Index { get; set; } + + [JsonProperty("parentIndex")] + public int? ParentIndex { get; set; } + + [JsonProperty("parentYear")] + public int? ParentYear { get; set; } + + [JsonProperty("thumb")] + public string? Thumb { get; set; } + + [JsonProperty("art")] + public string? Art { get; set; } + + [JsonProperty("parentThumb")] + public string? ParentThumb { get; set; } + + [JsonProperty("parentTheme")] + public string? ParentTheme { get; set; } + + [JsonProperty("addedAt")] + public int? AddedAt { get; set; } + + [JsonProperty("updatedAt")] + public int? UpdatedAt { get; set; } + } +} \ No newline at end of file diff --git a/PlexAPI/Models/Requests/SearchLibraryRequest.cs b/PlexAPI/Models/Requests/SearchLibraryRequest.cs new file mode 100644 index 0000000..23f5d14 --- /dev/null +++ b/PlexAPI/Models/Requests/SearchLibraryRequest.cs @@ -0,0 +1,30 @@ + +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace PlexAPI.Models.Requests +{ + using PlexAPI.Utils; + + public class SearchLibraryRequest + { + + /// + /// the Id of the library to query + /// + [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=sectionId")] + public long SectionId { get; set; } = default!; + + /// + /// Plex content type to search for + /// + [SpeakeasyMetadata("queryParam:style=form,explode=true,name=type")] + public Type Type { get; set; } = default!; + } +} \ No newline at end of file diff --git a/PlexAPI/Models/Requests/SearchLibraryResponse.cs b/PlexAPI/Models/Requests/SearchLibraryResponse.cs new file mode 100644 index 0000000..2e45679 --- /dev/null +++ b/PlexAPI/Models/Requests/SearchLibraryResponse.cs @@ -0,0 +1,39 @@ + +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace PlexAPI.Models.Requests +{ + using System.Net.Http; + using System; + + public class SearchLibraryResponse + { + + /// + /// HTTP response content type for this operation + /// + public string? ContentType { get; set; } = default!; + + /// + /// HTTP response status code for this operation + /// + public int StatusCode { get; set; } = default!; + + /// + /// Raw HTTP response; suitable for custom response parsing + /// + public HttpResponseMessage RawResponse { get; set; } = default!; + + /// + /// The contents of the library by section and type + /// + public SearchLibraryResponseBody? Object { get; set; } + } +} \ No newline at end of file diff --git a/PlexAPI/Models/Requests/SearchLibraryResponseBody.cs b/PlexAPI/Models/Requests/SearchLibraryResponseBody.cs new file mode 100644 index 0000000..d283fbb --- /dev/null +++ b/PlexAPI/Models/Requests/SearchLibraryResponseBody.cs @@ -0,0 +1,24 @@ + +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace PlexAPI.Models.Requests +{ + using Newtonsoft.Json; + + /// + /// The contents of the library by section and type + /// + public class SearchLibraryResponseBody + { + + [JsonProperty("MediaContainer")] + public SearchLibraryMediaContainer? MediaContainer { get; set; } + } +} \ No newline at end of file diff --git a/PlexAPI/Models/Requests/Setting.cs b/PlexAPI/Models/Requests/Setting.cs new file mode 100644 index 0000000..01ec23d --- /dev/null +++ b/PlexAPI/Models/Requests/Setting.cs @@ -0,0 +1,48 @@ + +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace PlexAPI.Models.Requests +{ + using Newtonsoft.Json; + + public class Setting + { + + [JsonProperty("id")] + public string? Id { get; set; } + + [JsonProperty("label")] + public string? Label { get; set; } + + [JsonProperty("summary")] + public string? Summary { get; set; } + + [JsonProperty("type")] + public string? Type { get; set; } + + [JsonProperty("default")] + public bool? Default { get; set; } + + [JsonProperty("value")] + public bool? Value { get; set; } + + [JsonProperty("hidden")] + public bool? Hidden { get; set; } + + [JsonProperty("advanced")] + public bool? Advanced { get; set; } + + [JsonProperty("group")] + public string? Group { get; set; } + + [JsonProperty("enumValues")] + public string? EnumValues { get; set; } + } +} \ No newline at end of file diff --git a/PlexAPI/Models/Requests/StatisticsMedia.cs b/PlexAPI/Models/Requests/StatisticsMedia.cs new file mode 100644 index 0000000..e8f7e5b --- /dev/null +++ b/PlexAPI/Models/Requests/StatisticsMedia.cs @@ -0,0 +1,39 @@ + +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace PlexAPI.Models.Requests +{ + using Newtonsoft.Json; + + public class StatisticsMedia + { + + [JsonProperty("accountID")] + public int? AccountID { get; set; } + + [JsonProperty("deviceID")] + public int? DeviceID { get; set; } + + [JsonProperty("timespan")] + public int? Timespan { get; set; } + + [JsonProperty("at")] + public int? At { get; set; } + + [JsonProperty("metadataType")] + public int? MetadataType { get; set; } + + [JsonProperty("count")] + public int? Count { get; set; } + + [JsonProperty("duration")] + public int? Duration { get; set; } + } +} \ No newline at end of file diff --git a/PlexAPI/Models/Requests/Tag.cs b/PlexAPI/Models/Requests/Tag.cs index e35f011..1ac384a 100644 --- a/PlexAPI/Models/Requests/Tag.cs +++ b/PlexAPI/Models/Requests/Tag.cs @@ -56,8 +56,6 @@ namespace PlexAPI.Models.Requests FirstCharacter, [JsonProperty("folder")] Folder, - [JsonProperty("search?type=1")] - SearchTypeEqual1, } public static class TagExtension diff --git a/PlexAPI/Models/Requests/Type.cs b/PlexAPI/Models/Requests/Type.cs index 168719e..c6584d6 100644 --- a/PlexAPI/Models/Requests/Type.cs +++ b/PlexAPI/Models/Requests/Type.cs @@ -10,53 +10,16 @@ #nullable enable namespace PlexAPI.Models.Requests { - using Newtonsoft.Json; - using System; /// - /// type of playlist to create + /// Plex content type to search for /// public enum Type { - [JsonProperty("audio")] - Audio, - [JsonProperty("video")] - Video, - [JsonProperty("photo")] - Photo, - } - - public static class TypeExtension - { - public static string Value(this Type value) - { - return ((JsonPropertyAttribute)value.GetType().GetMember(value.ToString())[0].GetCustomAttributes(typeof(JsonPropertyAttribute), false)[0]).PropertyName ?? value.ToString(); - } - - public static Type ToEnum(this string value) - { - foreach(var field in typeof(Type).GetFields()) - { - var attributes = field.GetCustomAttributes(typeof(JsonPropertyAttribute), false); - if (attributes.Length == 0) - { - continue; - } - - var attribute = attributes[0] as JsonPropertyAttribute; - if (attribute != null && attribute.PropertyName == value) - { - var enumVal = field.GetValue(null); - - if (enumVal is Type) - { - return (Type)enumVal; - } - } - } - - throw new Exception($"Unknown value {value} for enum Type"); - } + One = 1, + Two = 2, + Three = 3, + Four = 4, } } \ No newline at end of file diff --git a/PlexAPI/Playlists.cs b/PlexAPI/Playlists.cs index 48ed235..e694dc8 100644 --- a/PlexAPI/Playlists.cs +++ b/PlexAPI/Playlists.cs @@ -11,6 +11,7 @@ namespace PlexAPI { using Newtonsoft.Json; + using PlexAPI.Models.Components; using PlexAPI.Models.Requests; using PlexAPI.Utils; using System.Net.Http.Headers; @@ -41,7 +42,7 @@ namespace PlexAPI /// /// /// - Task CreatePlaylistAsync(CreatePlaylistRequest? request = null); + Task CreatePlaylistAsync(CreatePlaylistRequest request); /// /// Get All Playlists @@ -142,71 +143,75 @@ namespace PlexAPI { public SDKConfig SDKConfiguration { get; private set; } private const string _language = "csharp"; - private const string _sdkVersion = "0.1.5"; - private const string _sdkGenVersion = "2.237.3"; + private const string _sdkVersion = "0.2.1"; + private const string _sdkGenVersion = "2.281.2"; private const string _openapiDocVersion = "0.0.3"; - private const string _userAgent = "speakeasy-sdk/csharp 0.1.5 2.237.3 0.0.3 Plex-API"; + private const string _userAgent = "speakeasy-sdk/csharp 0.2.1 2.281.2 0.0.3 Plex-API"; private string _serverUrl = ""; private ISpeakeasyHttpClient _defaultClient; - private ISpeakeasyHttpClient _securityClient; + private Func? _securitySource; - public Playlists(ISpeakeasyHttpClient defaultClient, ISpeakeasyHttpClient securityClient, string serverUrl, SDKConfig config) + public Playlists(ISpeakeasyHttpClient defaultClient, Func? securitySource, string serverUrl, SDKConfig config) { _defaultClient = defaultClient; - _securityClient = securityClient; + _securitySource = securitySource; _serverUrl = serverUrl; SDKConfiguration = config; } - - public async Task CreatePlaylistAsync(CreatePlaylistRequest? request = null) + public async Task CreatePlaylistAsync(CreatePlaylistRequest request) { string baseUrl = this.SDKConfiguration.GetTemplatedServerDetails(); var urlString = URLBuilder.Build(baseUrl, "/playlists", request); - + var httpRequest = new HttpRequestMessage(HttpMethod.Post, urlString); httpRequest.Headers.Add("user-agent", _userAgent); - - - var client = _securityClient; - + + var client = _defaultClient; + if (_securitySource != null) + { + client = SecuritySerializer.Apply(_defaultClient, _securitySource); + } + var httpResponse = await client.SendAsync(httpRequest); var contentType = httpResponse.Content.Headers.ContentType?.MediaType; - + var response = new CreatePlaylistResponse { StatusCode = (int)httpResponse.StatusCode, ContentType = contentType, RawResponse = httpResponse }; - + if((response.StatusCode == 200)) { if(Utilities.IsContentTypeMatch("application/json",response.ContentType)) { response.TwoHundredApplicationJsonObject = JsonConvert.DeserializeObject(await httpResponse.Content.ReadAsStringAsync(), new JsonSerializerSettings(){ NullValueHandling = NullValueHandling.Ignore, Converters = new JsonConverter[] { new FlexibleObjectDeserializer(), new EnumSerializer() }}); } - + return response; } + if((response.StatusCode == 400)) { - + return response; } + if((response.StatusCode == 401)) { if(Utilities.IsContentTypeMatch("application/json",response.ContentType)) { response.FourHundredAndOneApplicationJsonObject = JsonConvert.DeserializeObject(await httpResponse.Content.ReadAsStringAsync(), new JsonSerializerSettings(){ NullValueHandling = NullValueHandling.Ignore, Converters = new JsonConverter[] { new FlexibleObjectDeserializer(), new EnumSerializer() }}); } - + return response; } return response; } - + public async Task GetPlaylistsAsync(PlaylistType? playlistType = null, QueryParamSmart? smart = null) { @@ -217,50 +222,55 @@ namespace PlexAPI }; string baseUrl = this.SDKConfiguration.GetTemplatedServerDetails(); var urlString = URLBuilder.Build(baseUrl, "/playlists", request); - + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); httpRequest.Headers.Add("user-agent", _userAgent); - - - var client = _securityClient; - + + var client = _defaultClient; + if (_securitySource != null) + { + client = SecuritySerializer.Apply(_defaultClient, _securitySource); + } + var httpResponse = await client.SendAsync(httpRequest); var contentType = httpResponse.Content.Headers.ContentType?.MediaType; - + var response = new GetPlaylistsResponse { StatusCode = (int)httpResponse.StatusCode, ContentType = contentType, RawResponse = httpResponse }; - + if((response.StatusCode == 200)) { if(Utilities.IsContentTypeMatch("application/json",response.ContentType)) { response.TwoHundredApplicationJsonObject = JsonConvert.DeserializeObject(await httpResponse.Content.ReadAsStringAsync(), new JsonSerializerSettings(){ NullValueHandling = NullValueHandling.Ignore, Converters = new JsonConverter[] { new FlexibleObjectDeserializer(), new EnumSerializer() }}); } - + return response; } + if((response.StatusCode == 400)) { - + return response; } + if((response.StatusCode == 401)) { if(Utilities.IsContentTypeMatch("application/json",response.ContentType)) { response.FourHundredAndOneApplicationJsonObject = JsonConvert.DeserializeObject(await httpResponse.Content.ReadAsStringAsync(), new JsonSerializerSettings(){ NullValueHandling = NullValueHandling.Ignore, Converters = new JsonConverter[] { new FlexibleObjectDeserializer(), new EnumSerializer() }}); } - + return response; } return response; } - + public async Task GetPlaylistAsync(double playlistID) { @@ -270,50 +280,55 @@ namespace PlexAPI }; string baseUrl = this.SDKConfiguration.GetTemplatedServerDetails(); var urlString = URLBuilder.Build(baseUrl, "/playlists/{playlistID}", request); - + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); httpRequest.Headers.Add("user-agent", _userAgent); - - - var client = _securityClient; - + + var client = _defaultClient; + if (_securitySource != null) + { + client = SecuritySerializer.Apply(_defaultClient, _securitySource); + } + var httpResponse = await client.SendAsync(httpRequest); var contentType = httpResponse.Content.Headers.ContentType?.MediaType; - + var response = new GetPlaylistResponse { StatusCode = (int)httpResponse.StatusCode, ContentType = contentType, RawResponse = httpResponse }; - + if((response.StatusCode == 200)) { if(Utilities.IsContentTypeMatch("application/json",response.ContentType)) { response.TwoHundredApplicationJsonObject = JsonConvert.DeserializeObject(await httpResponse.Content.ReadAsStringAsync(), new JsonSerializerSettings(){ NullValueHandling = NullValueHandling.Ignore, Converters = new JsonConverter[] { new FlexibleObjectDeserializer(), new EnumSerializer() }}); } - + return response; } + if((response.StatusCode == 400)) { - + return response; } + if((response.StatusCode == 401)) { if(Utilities.IsContentTypeMatch("application/json",response.ContentType)) { response.FourHundredAndOneApplicationJsonObject = JsonConvert.DeserializeObject(await httpResponse.Content.ReadAsStringAsync(), new JsonSerializerSettings(){ NullValueHandling = NullValueHandling.Ignore, Converters = new JsonConverter[] { new FlexibleObjectDeserializer(), new EnumSerializer() }}); } - + return response; } return response; } - + public async Task DeletePlaylistAsync(double playlistID) { @@ -323,41 +338,45 @@ namespace PlexAPI }; string baseUrl = this.SDKConfiguration.GetTemplatedServerDetails(); var urlString = URLBuilder.Build(baseUrl, "/playlists/{playlistID}", request); - + var httpRequest = new HttpRequestMessage(HttpMethod.Delete, urlString); httpRequest.Headers.Add("user-agent", _userAgent); - - - var client = _securityClient; - + + var client = _defaultClient; + if (_securitySource != null) + { + client = SecuritySerializer.Apply(_defaultClient, _securitySource); + } + var httpResponse = await client.SendAsync(httpRequest); var contentType = httpResponse.Content.Headers.ContentType?.MediaType; - + var response = new DeletePlaylistResponse { StatusCode = (int)httpResponse.StatusCode, ContentType = contentType, RawResponse = httpResponse }; - + if((response.StatusCode == 200) || (response.StatusCode == 400)) { - + return response; } + if((response.StatusCode == 401)) { if(Utilities.IsContentTypeMatch("application/json",response.ContentType)) { response.Object = JsonConvert.DeserializeObject(await httpResponse.Content.ReadAsStringAsync(), new JsonSerializerSettings(){ NullValueHandling = NullValueHandling.Ignore, Converters = new JsonConverter[] { new FlexibleObjectDeserializer(), new EnumSerializer() }}); } - + return response; } return response; } - + public async Task UpdatePlaylistAsync(double playlistID, string? title = null, string? summary = null) { @@ -369,41 +388,45 @@ namespace PlexAPI }; string baseUrl = this.SDKConfiguration.GetTemplatedServerDetails(); var urlString = URLBuilder.Build(baseUrl, "/playlists/{playlistID}", request); - + var httpRequest = new HttpRequestMessage(HttpMethod.Put, urlString); httpRequest.Headers.Add("user-agent", _userAgent); - - - var client = _securityClient; - + + var client = _defaultClient; + if (_securitySource != null) + { + client = SecuritySerializer.Apply(_defaultClient, _securitySource); + } + var httpResponse = await client.SendAsync(httpRequest); var contentType = httpResponse.Content.Headers.ContentType?.MediaType; - + var response = new UpdatePlaylistResponse { StatusCode = (int)httpResponse.StatusCode, ContentType = contentType, RawResponse = httpResponse }; - + if((response.StatusCode == 200) || (response.StatusCode == 400)) { - + return response; } + if((response.StatusCode == 401)) { if(Utilities.IsContentTypeMatch("application/json",response.ContentType)) { response.Object = JsonConvert.DeserializeObject(await httpResponse.Content.ReadAsStringAsync(), new JsonSerializerSettings(){ NullValueHandling = NullValueHandling.Ignore, Converters = new JsonConverter[] { new FlexibleObjectDeserializer(), new EnumSerializer() }}); } - + return response; } return response; } - + public async Task GetPlaylistContentsAsync(double playlistID, double type) { @@ -414,50 +437,55 @@ namespace PlexAPI }; string baseUrl = this.SDKConfiguration.GetTemplatedServerDetails(); var urlString = URLBuilder.Build(baseUrl, "/playlists/{playlistID}/items", request); - + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); httpRequest.Headers.Add("user-agent", _userAgent); - - - var client = _securityClient; - + + var client = _defaultClient; + if (_securitySource != null) + { + client = SecuritySerializer.Apply(_defaultClient, _securitySource); + } + var httpResponse = await client.SendAsync(httpRequest); var contentType = httpResponse.Content.Headers.ContentType?.MediaType; - + var response = new GetPlaylistContentsResponse { StatusCode = (int)httpResponse.StatusCode, ContentType = contentType, RawResponse = httpResponse }; - + if((response.StatusCode == 200)) { if(Utilities.IsContentTypeMatch("application/json",response.ContentType)) { response.TwoHundredApplicationJsonObject = JsonConvert.DeserializeObject(await httpResponse.Content.ReadAsStringAsync(), new JsonSerializerSettings(){ NullValueHandling = NullValueHandling.Ignore, Converters = new JsonConverter[] { new FlexibleObjectDeserializer(), new EnumSerializer() }}); } - + return response; } + if((response.StatusCode == 400)) { - + return response; } + if((response.StatusCode == 401)) { if(Utilities.IsContentTypeMatch("application/json",response.ContentType)) { response.FourHundredAndOneApplicationJsonObject = JsonConvert.DeserializeObject(await httpResponse.Content.ReadAsStringAsync(), new JsonSerializerSettings(){ NullValueHandling = NullValueHandling.Ignore, Converters = new JsonConverter[] { new FlexibleObjectDeserializer(), new EnumSerializer() }}); } - + return response; } return response; } - + public async Task ClearPlaylistContentsAsync(double playlistID) { @@ -467,41 +495,45 @@ namespace PlexAPI }; string baseUrl = this.SDKConfiguration.GetTemplatedServerDetails(); var urlString = URLBuilder.Build(baseUrl, "/playlists/{playlistID}/items", request); - + var httpRequest = new HttpRequestMessage(HttpMethod.Delete, urlString); httpRequest.Headers.Add("user-agent", _userAgent); - - - var client = _securityClient; - + + var client = _defaultClient; + if (_securitySource != null) + { + client = SecuritySerializer.Apply(_defaultClient, _securitySource); + } + var httpResponse = await client.SendAsync(httpRequest); var contentType = httpResponse.Content.Headers.ContentType?.MediaType; - + var response = new ClearPlaylistContentsResponse { StatusCode = (int)httpResponse.StatusCode, ContentType = contentType, RawResponse = httpResponse }; - + if((response.StatusCode == 200) || (response.StatusCode == 400)) { - + return response; } + if((response.StatusCode == 401)) { if(Utilities.IsContentTypeMatch("application/json",response.ContentType)) { response.Object = JsonConvert.DeserializeObject(await httpResponse.Content.ReadAsStringAsync(), new JsonSerializerSettings(){ NullValueHandling = NullValueHandling.Ignore, Converters = new JsonConverter[] { new FlexibleObjectDeserializer(), new EnumSerializer() }}); } - + return response; } return response; } - + public async Task AddPlaylistContentsAsync(double playlistID, string uri, double? playQueueID = null) { @@ -513,50 +545,55 @@ namespace PlexAPI }; string baseUrl = this.SDKConfiguration.GetTemplatedServerDetails(); var urlString = URLBuilder.Build(baseUrl, "/playlists/{playlistID}/items", request); - + var httpRequest = new HttpRequestMessage(HttpMethod.Put, urlString); httpRequest.Headers.Add("user-agent", _userAgent); - - - var client = _securityClient; - + + var client = _defaultClient; + if (_securitySource != null) + { + client = SecuritySerializer.Apply(_defaultClient, _securitySource); + } + var httpResponse = await client.SendAsync(httpRequest); var contentType = httpResponse.Content.Headers.ContentType?.MediaType; - + var response = new AddPlaylistContentsResponse { StatusCode = (int)httpResponse.StatusCode, ContentType = contentType, RawResponse = httpResponse }; - + if((response.StatusCode == 200)) { if(Utilities.IsContentTypeMatch("application/json",response.ContentType)) { response.TwoHundredApplicationJsonObject = JsonConvert.DeserializeObject(await httpResponse.Content.ReadAsStringAsync(), new JsonSerializerSettings(){ NullValueHandling = NullValueHandling.Ignore, Converters = new JsonConverter[] { new FlexibleObjectDeserializer(), new EnumSerializer() }}); } - + return response; } + if((response.StatusCode == 400)) { - + return response; } + if((response.StatusCode == 401)) { if(Utilities.IsContentTypeMatch("application/json",response.ContentType)) { response.FourHundredAndOneApplicationJsonObject = JsonConvert.DeserializeObject(await httpResponse.Content.ReadAsStringAsync(), new JsonSerializerSettings(){ NullValueHandling = NullValueHandling.Ignore, Converters = new JsonConverter[] { new FlexibleObjectDeserializer(), new EnumSerializer() }}); } - + return response; } return response; } - + public async Task UploadPlaylistAsync(string path, Force force) { @@ -567,40 +604,44 @@ namespace PlexAPI }; string baseUrl = this.SDKConfiguration.GetTemplatedServerDetails(); var urlString = URLBuilder.Build(baseUrl, "/playlists/upload", request); - + var httpRequest = new HttpRequestMessage(HttpMethod.Post, urlString); httpRequest.Headers.Add("user-agent", _userAgent); - - - var client = _securityClient; - + + var client = _defaultClient; + if (_securitySource != null) + { + client = SecuritySerializer.Apply(_defaultClient, _securitySource); + } + var httpResponse = await client.SendAsync(httpRequest); var contentType = httpResponse.Content.Headers.ContentType?.MediaType; - + var response = new UploadPlaylistResponse { StatusCode = (int)httpResponse.StatusCode, ContentType = contentType, RawResponse = httpResponse }; - + if((response.StatusCode == 200) || (response.StatusCode == 400)) { - + return response; } + if((response.StatusCode == 401)) { if(Utilities.IsContentTypeMatch("application/json",response.ContentType)) { response.Object = JsonConvert.DeserializeObject(await httpResponse.Content.ReadAsStringAsync(), new JsonSerializerSettings(){ NullValueHandling = NullValueHandling.Ignore, Converters = new JsonConverter[] { new FlexibleObjectDeserializer(), new EnumSerializer() }}); } - + return response; } return response; } - + } } \ No newline at end of file diff --git a/PlexAPI/Plex.cs b/PlexAPI/Plex.cs new file mode 100644 index 0000000..e3bb41c --- /dev/null +++ b/PlexAPI/Plex.cs @@ -0,0 +1,197 @@ + +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace PlexAPI +{ + using Newtonsoft.Json; + using PlexAPI.Models.Components; + using PlexAPI.Models.Requests; + using PlexAPI.Utils; + using System.Collections.Generic; + using System.Net.Http.Headers; + using System.Net.Http; + using System.Threading.Tasks; + using System; + + /// + /// API Calls that perform operations directly against https://Plex.tv
+ /// + /// + /// + /// + ///
+ public interface IPlex + { + + /// + /// Get a Pin + /// + /// + /// Retrieve a Pin from Plex.tv for authentication flows + /// + /// + Task GetPinAsync(string xPlexClientIdentifier, bool? strong = null, string? serverUrl = null); + + /// + /// Get Access Token + /// + /// + /// Retrieve an Access Token from Plex.tv after the Pin has already been authenticated + /// + /// + Task GetTokenAsync(string pinID, string xPlexClientIdentifier, string? serverUrl = null); + } + + /// + /// API Calls that perform operations directly against https://Plex.tv
+ /// + /// + /// + /// + ///
+ public class Plex: IPlex + { + /// + /// List of server URLs available for the getPin operation. + /// + public static readonly string[] GetPinServerList = { + "https://plex.tv/api/v2", + }; + /// + /// List of server URLs available for the getToken operation. + /// + public static readonly string[] GetTokenServerList = { + "https://plex.tv/api/v2", + }; + public SDKConfig SDKConfiguration { get; private set; } + private const string _language = "csharp"; + private const string _sdkVersion = "0.2.1"; + private const string _sdkGenVersion = "2.281.2"; + private const string _openapiDocVersion = "0.0.3"; + private const string _userAgent = "speakeasy-sdk/csharp 0.2.1 2.281.2 0.0.3 Plex-API"; + private string _serverUrl = ""; + private ISpeakeasyHttpClient _defaultClient; + private Func? _securitySource; + + public Plex(ISpeakeasyHttpClient defaultClient, Func? securitySource, string serverUrl, SDKConfig config) + { + _defaultClient = defaultClient; + _securitySource = securitySource; + _serverUrl = serverUrl; + SDKConfiguration = config; + } + + public async Task GetPinAsync(string xPlexClientIdentifier, bool? strong = null, string? serverUrl = null) + { + var request = new GetPinRequest() + { + XPlexClientIdentifier = xPlexClientIdentifier, + Strong = strong, + }; + string baseUrl = Utilities.TemplateUrl(GetPinServerList[0], new Dictionary(){ + }); + if (serverUrl != null) + { + baseUrl = serverUrl; + } + var urlString = URLBuilder.Build(baseUrl, "/pins", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Post, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + var client = _defaultClient; + + var httpResponse = await client.SendAsync(httpRequest); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + + var response = new GetPinResponse + { + StatusCode = (int)httpResponse.StatusCode, + ContentType = contentType, + RawResponse = httpResponse + }; + + if((response.StatusCode == 200)) + { + if(Utilities.IsContentTypeMatch("application/json",response.ContentType)) + { + response.TwoHundredApplicationJsonObject = JsonConvert.DeserializeObject(await httpResponse.Content.ReadAsStringAsync(), new JsonSerializerSettings(){ NullValueHandling = NullValueHandling.Ignore, Converters = new JsonConverter[] { new FlexibleObjectDeserializer(), new EnumSerializer() }}); + } + + return response; + } + + if((response.StatusCode == 400)) + { + if(Utilities.IsContentTypeMatch("application/json",response.ContentType)) + { + response.FourHundredApplicationJsonObject = JsonConvert.DeserializeObject(await httpResponse.Content.ReadAsStringAsync(), new JsonSerializerSettings(){ NullValueHandling = NullValueHandling.Ignore, Converters = new JsonConverter[] { new FlexibleObjectDeserializer(), new EnumSerializer() }}); + } + + return response; + } + return response; + } + + + public async Task GetTokenAsync(string pinID, string xPlexClientIdentifier, string? serverUrl = null) + { + var request = new GetTokenRequest() + { + PinID = pinID, + XPlexClientIdentifier = xPlexClientIdentifier, + }; + string baseUrl = Utilities.TemplateUrl(GetTokenServerList[0], new Dictionary(){ + }); + if (serverUrl != null) + { + baseUrl = serverUrl; + } + var urlString = URLBuilder.Build(baseUrl, "/pins/{pinID}", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + HeaderSerializer.PopulateHeaders(ref httpRequest, request); + + var client = _defaultClient; + + var httpResponse = await client.SendAsync(httpRequest); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + + var response = new GetTokenResponse + { + StatusCode = (int)httpResponse.StatusCode, + ContentType = contentType, + RawResponse = httpResponse + }; + + if((response.StatusCode == 200)) + { + + return response; + } + + if((response.StatusCode == 400)) + { + if(Utilities.IsContentTypeMatch("application/json",response.ContentType)) + { + response.Object = JsonConvert.DeserializeObject(await httpResponse.Content.ReadAsStringAsync(), new JsonSerializerSettings(){ NullValueHandling = NullValueHandling.Ignore, Converters = new JsonConverter[] { new FlexibleObjectDeserializer(), new EnumSerializer() }}); + } + + return response; + } + return response; + } + + } +} \ No newline at end of file diff --git a/PlexAPI/PlexAPI.csproj b/PlexAPI/PlexAPI.csproj index ca7a0e9..15d7bc3 100644 --- a/PlexAPI/PlexAPI.csproj +++ b/PlexAPI/PlexAPI.csproj @@ -2,7 +2,7 @@ true Plex-API - 0.1.5 + 0.2.1 LukeHagar net5.0 enable diff --git a/PlexAPI/PlexAPISDK.cs b/PlexAPI/PlexAPISDK.cs index 33ebb48..501d4b0 100644 --- a/PlexAPI/PlexAPISDK.cs +++ b/PlexAPI/PlexAPISDK.cs @@ -19,7 +19,6 @@ namespace PlexAPI using System; - /// /// The protocol to use when connecting to your plex server. /// @@ -92,6 +91,15 @@ namespace PlexAPI ///
public IMedia Media { get; } + /// + /// API Calls that perform operations with Plex Media Server Videos
+ /// + /// + /// + /// + ///
+ public IVideo Video { get; } + /// /// Activities are awesome. They provide a way to monitor and control asynchronous operations on the server. In order to receive real-time updates for activities, a client would normally subscribe via either EventSource or Websocket endpoints.
/// @@ -152,6 +160,15 @@ namespace PlexAPI ///
public ILog Log { get; } + /// + /// API Calls that perform operations directly against https://Plex.tv
+ /// + /// + /// + /// + ///
+ public IPlex Plex { get; } + /// /// Playlists are ordered collections of media. They can be dumb (just a list of media) or smart (based on a media query, such as "all albums from 2017").
/// @@ -165,13 +182,22 @@ namespace PlexAPI public IPlaylists Playlists { get; } /// - /// API Calls against Security for Plex Media Server
+ /// API Calls regarding authentication for Plex Media Server
/// /// /// /// ///
- public ISecurity Security { get; } + public IAuthentication Authentication { get; } + + /// + /// API Calls that perform operations with Plex Media Server Statistics
+ /// + /// + /// + /// + ///
+ public IStatistics Statistics { get; } /// /// API Calls that perform search operations with Plex Media Server Sessions
@@ -191,24 +217,17 @@ namespace PlexAPI /// ///
public IUpdater Updater { get; } - - /// - /// API Calls that perform operations with Plex Media Server Videos
- /// - /// - /// - /// - ///
- public IVideo Video { get; } } - + public class SDKConfig { - public static string[] ServerList = new string[] - { + /// + /// List of server URLs available to the SDK. + /// + public static readonly string[] ServerList = { "{protocol}://{ip}:{port}", }; - /// Contains the list of servers available to the SDK + public string serverUrl = ""; public int serverIndex = 0; public List> ServerDefaults = new List>(); @@ -235,31 +254,45 @@ namespace PlexAPI public SDKConfig SDKConfiguration { get; private set; } private const string _language = "csharp"; - private const string _sdkVersion = "0.1.5"; - private const string _sdkGenVersion = "2.237.3"; + private const string _sdkVersion = "0.2.1"; + private const string _sdkGenVersion = "2.281.2"; private const string _openapiDocVersion = "0.0.3"; - private const string _userAgent = "speakeasy-sdk/csharp 0.1.5 2.237.3 0.0.3 Plex-API"; + private const string _userAgent = "speakeasy-sdk/csharp 0.2.1 2.281.2 0.0.3 Plex-API"; private string _serverUrl = ""; + private int _serverIndex = 0; private ISpeakeasyHttpClient _defaultClient; - private ISpeakeasyHttpClient _securityClient; + private Func? _securitySource; public IServer Server { get; private set; } public IMedia Media { get; private set; } + public IVideo Video { get; private set; } public IActivities Activities { get; private set; } public IButler Butler { get; private set; } public IHubs Hubs { get; private set; } public ISearch Search { get; private set; } public ILibrary Library { get; private set; } public ILog Log { get; private set; } + public IPlex Plex { get; private set; } public IPlaylists Playlists { get; private set; } - public ISecurity Security { get; private set; } + public IAuthentication Authentication { get; private set; } + public IStatistics Statistics { get; private set; } public ISessions Sessions { get; private set; } public IUpdater Updater { get; private set; } - public IVideo Video { get; private set; } - public PlexAPISDK(Security? security = null, int? serverIndex = null, ServerProtocol? protocol = null, string? ip = null, string? port = null, string? serverUrl = null, Dictionary? urlParams = null, ISpeakeasyHttpClient? client = null) + public PlexAPISDK(string? accessToken = null, Func? accessTokenSource = null, int? serverIndex = null, ServerProtocol? protocol = null, string? ip = null, string? port = null, string? serverUrl = null, Dictionary? urlParams = null, ISpeakeasyHttpClient? client = null) { - if (serverUrl != null) { - if (urlParams != null) { + if (serverIndex != null) + { + if (serverIndex.Value < 0 || serverIndex.Value >= SDKConfig.ServerList.Length) + { + throw new Exception($"Invalid server index {serverIndex.Value}"); + } + _serverIndex = serverIndex.Value; + } + + if (serverUrl != null) + { + if (urlParams != null) + { serverUrl = Utilities.TemplateUrl(serverUrl, urlParams); } _serverUrl = serverUrl; @@ -275,32 +308,42 @@ namespace PlexAPI }; _defaultClient = new SpeakeasyHttpClient(client); - _securityClient = _defaultClient; - - if(security != null) + + if(accessTokenSource != null) { - _securityClient = SecuritySerializer.Apply(_defaultClient, security); + _securitySource = () => new Security() { AccessToken = accessTokenSource() }; } - + else if(accessToken != null) + { + _securitySource = () => new Security() { AccessToken = accessToken }; + } + else + { + throw new Exception("accessToken and accessTokenSource cannot both be null"); + } + SDKConfiguration = new SDKConfig() { ServerDefaults = serverDefaults, + serverIndex = _serverIndex, serverUrl = _serverUrl }; - Server = new Server(_defaultClient, _securityClient, _serverUrl, SDKConfiguration); - Media = new Media(_defaultClient, _securityClient, _serverUrl, SDKConfiguration); - Activities = new Activities(_defaultClient, _securityClient, _serverUrl, SDKConfiguration); - Butler = new Butler(_defaultClient, _securityClient, _serverUrl, SDKConfiguration); - Hubs = new Hubs(_defaultClient, _securityClient, _serverUrl, SDKConfiguration); - Search = new Search(_defaultClient, _securityClient, _serverUrl, SDKConfiguration); - Library = new Library(_defaultClient, _securityClient, _serverUrl, SDKConfiguration); - Log = new Log(_defaultClient, _securityClient, _serverUrl, SDKConfiguration); - Playlists = new Playlists(_defaultClient, _securityClient, _serverUrl, SDKConfiguration); - Security = new Security(_defaultClient, _securityClient, _serverUrl, SDKConfiguration); - Sessions = new Sessions(_defaultClient, _securityClient, _serverUrl, SDKConfiguration); - Updater = new Updater(_defaultClient, _securityClient, _serverUrl, SDKConfiguration); - Video = new Video(_defaultClient, _securityClient, _serverUrl, SDKConfiguration); + Server = new Server(_defaultClient, _securitySource, _serverUrl, SDKConfiguration); + Media = new Media(_defaultClient, _securitySource, _serverUrl, SDKConfiguration); + Video = new Video(_defaultClient, _securitySource, _serverUrl, SDKConfiguration); + Activities = new Activities(_defaultClient, _securitySource, _serverUrl, SDKConfiguration); + Butler = new Butler(_defaultClient, _securitySource, _serverUrl, SDKConfiguration); + Hubs = new Hubs(_defaultClient, _securitySource, _serverUrl, SDKConfiguration); + Search = new Search(_defaultClient, _securitySource, _serverUrl, SDKConfiguration); + Library = new Library(_defaultClient, _securitySource, _serverUrl, SDKConfiguration); + Log = new Log(_defaultClient, _securitySource, _serverUrl, SDKConfiguration); + Plex = new Plex(_defaultClient, _securitySource, _serverUrl, SDKConfiguration); + Playlists = new Playlists(_defaultClient, _securitySource, _serverUrl, SDKConfiguration); + Authentication = new Authentication(_defaultClient, _securitySource, _serverUrl, SDKConfiguration); + Statistics = new Statistics(_defaultClient, _securitySource, _serverUrl, SDKConfiguration); + Sessions = new Sessions(_defaultClient, _securitySource, _serverUrl, SDKConfiguration); + Updater = new Updater(_defaultClient, _securitySource, _serverUrl, SDKConfiguration); } } -} \ No newline at end of file +} diff --git a/PlexAPI/Search.cs b/PlexAPI/Search.cs index 9bfd7a9..526e3b2 100644 --- a/PlexAPI/Search.cs +++ b/PlexAPI/Search.cs @@ -11,6 +11,7 @@ namespace PlexAPI { using Newtonsoft.Json; + using PlexAPI.Models.Components; using PlexAPI.Models.Requests; using PlexAPI.Utils; using System.Net.Http.Headers; @@ -83,22 +84,21 @@ namespace PlexAPI { public SDKConfig SDKConfiguration { get; private set; } private const string _language = "csharp"; - private const string _sdkVersion = "0.1.5"; - private const string _sdkGenVersion = "2.237.3"; + private const string _sdkVersion = "0.2.1"; + private const string _sdkGenVersion = "2.281.2"; private const string _openapiDocVersion = "0.0.3"; - private const string _userAgent = "speakeasy-sdk/csharp 0.1.5 2.237.3 0.0.3 Plex-API"; + private const string _userAgent = "speakeasy-sdk/csharp 0.2.1 2.281.2 0.0.3 Plex-API"; private string _serverUrl = ""; private ISpeakeasyHttpClient _defaultClient; - private ISpeakeasyHttpClient _securityClient; + private Func? _securitySource; - public Search(ISpeakeasyHttpClient defaultClient, ISpeakeasyHttpClient securityClient, string serverUrl, SDKConfig config) + public Search(ISpeakeasyHttpClient defaultClient, Func? securitySource, string serverUrl, SDKConfig config) { _defaultClient = defaultClient; - _securityClient = securityClient; + _securitySource = securitySource; _serverUrl = serverUrl; SDKConfiguration = config; } - public async Task PerformSearchAsync(string query, double? sectionId = null, double? limit = null) { @@ -110,41 +110,45 @@ namespace PlexAPI }; string baseUrl = this.SDKConfiguration.GetTemplatedServerDetails(); var urlString = URLBuilder.Build(baseUrl, "/hubs/search", request); - + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); httpRequest.Headers.Add("user-agent", _userAgent); - - - var client = _securityClient; - + + var client = _defaultClient; + if (_securitySource != null) + { + client = SecuritySerializer.Apply(_defaultClient, _securitySource); + } + var httpResponse = await client.SendAsync(httpRequest); var contentType = httpResponse.Content.Headers.ContentType?.MediaType; - + var response = new PerformSearchResponse { StatusCode = (int)httpResponse.StatusCode, ContentType = contentType, RawResponse = httpResponse }; - + if((response.StatusCode == 200) || (response.StatusCode == 400)) { - + return response; } + if((response.StatusCode == 401)) { if(Utilities.IsContentTypeMatch("application/json",response.ContentType)) { response.Object = JsonConvert.DeserializeObject(await httpResponse.Content.ReadAsStringAsync(), new JsonSerializerSettings(){ NullValueHandling = NullValueHandling.Ignore, Converters = new JsonConverter[] { new FlexibleObjectDeserializer(), new EnumSerializer() }}); } - + return response; } return response; } - + public async Task PerformVoiceSearchAsync(string query, double? sectionId = null, double? limit = null) { @@ -156,41 +160,45 @@ namespace PlexAPI }; string baseUrl = this.SDKConfiguration.GetTemplatedServerDetails(); var urlString = URLBuilder.Build(baseUrl, "/hubs/search/voice", request); - + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); httpRequest.Headers.Add("user-agent", _userAgent); - - - var client = _securityClient; - + + var client = _defaultClient; + if (_securitySource != null) + { + client = SecuritySerializer.Apply(_defaultClient, _securitySource); + } + var httpResponse = await client.SendAsync(httpRequest); var contentType = httpResponse.Content.Headers.ContentType?.MediaType; - + var response = new PerformVoiceSearchResponse { StatusCode = (int)httpResponse.StatusCode, ContentType = contentType, RawResponse = httpResponse }; - + if((response.StatusCode == 200) || (response.StatusCode == 400)) { - + return response; } + if((response.StatusCode == 401)) { if(Utilities.IsContentTypeMatch("application/json",response.ContentType)) { response.Object = JsonConvert.DeserializeObject(await httpResponse.Content.ReadAsStringAsync(), new JsonSerializerSettings(){ NullValueHandling = NullValueHandling.Ignore, Converters = new JsonConverter[] { new FlexibleObjectDeserializer(), new EnumSerializer() }}); } - + return response; } return response; } - + public async Task GetSearchResultsAsync(string query) { @@ -200,49 +208,54 @@ namespace PlexAPI }; string baseUrl = this.SDKConfiguration.GetTemplatedServerDetails(); var urlString = URLBuilder.Build(baseUrl, "/search", request); - + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); httpRequest.Headers.Add("user-agent", _userAgent); - - - var client = _securityClient; - + + var client = _defaultClient; + if (_securitySource != null) + { + client = SecuritySerializer.Apply(_defaultClient, _securitySource); + } + var httpResponse = await client.SendAsync(httpRequest); var contentType = httpResponse.Content.Headers.ContentType?.MediaType; - + var response = new GetSearchResultsResponse { StatusCode = (int)httpResponse.StatusCode, ContentType = contentType, RawResponse = httpResponse }; - + if((response.StatusCode == 200)) { if(Utilities.IsContentTypeMatch("application/json",response.ContentType)) { response.TwoHundredApplicationJsonObject = JsonConvert.DeserializeObject(await httpResponse.Content.ReadAsStringAsync(), new JsonSerializerSettings(){ NullValueHandling = NullValueHandling.Ignore, Converters = new JsonConverter[] { new FlexibleObjectDeserializer(), new EnumSerializer() }}); } - + return response; } + if((response.StatusCode == 400)) { - + return response; } + if((response.StatusCode == 401)) { if(Utilities.IsContentTypeMatch("application/json",response.ContentType)) { response.FourHundredAndOneApplicationJsonObject = JsonConvert.DeserializeObject(await httpResponse.Content.ReadAsStringAsync(), new JsonSerializerSettings(){ NullValueHandling = NullValueHandling.Ignore, Converters = new JsonConverter[] { new FlexibleObjectDeserializer(), new EnumSerializer() }}); } - + return response; } return response; } - + } } \ No newline at end of file diff --git a/PlexAPI/Server.cs b/PlexAPI/Server.cs index 052854a..9fb0453 100644 --- a/PlexAPI/Server.cs +++ b/PlexAPI/Server.cs @@ -11,6 +11,7 @@ namespace PlexAPI { using Newtonsoft.Json; + using PlexAPI.Models.Components; using PlexAPI.Models.Requests; using PlexAPI.Utils; using System.Net.Http.Headers; @@ -90,7 +91,7 @@ namespace PlexAPI /// /// ///
- Task GetResizedPhotoAsync(GetResizedPhotoRequest? request = null); + Task GetResizedPhotoAsync(GetResizedPhotoRequest request); /// /// Get Server List @@ -113,404 +114,449 @@ namespace PlexAPI { public SDKConfig SDKConfiguration { get; private set; } private const string _language = "csharp"; - private const string _sdkVersion = "0.1.5"; - private const string _sdkGenVersion = "2.237.3"; + private const string _sdkVersion = "0.2.1"; + private const string _sdkGenVersion = "2.281.2"; private const string _openapiDocVersion = "0.0.3"; - private const string _userAgent = "speakeasy-sdk/csharp 0.1.5 2.237.3 0.0.3 Plex-API"; + private const string _userAgent = "speakeasy-sdk/csharp 0.2.1 2.281.2 0.0.3 Plex-API"; private string _serverUrl = ""; private ISpeakeasyHttpClient _defaultClient; - private ISpeakeasyHttpClient _securityClient; + private Func? _securitySource; - public Server(ISpeakeasyHttpClient defaultClient, ISpeakeasyHttpClient securityClient, string serverUrl, SDKConfig config) + public Server(ISpeakeasyHttpClient defaultClient, Func? securitySource, string serverUrl, SDKConfig config) { _defaultClient = defaultClient; - _securityClient = securityClient; + _securitySource = securitySource; _serverUrl = serverUrl; SDKConfiguration = config; } - public async Task GetServerCapabilitiesAsync() { string baseUrl = this.SDKConfiguration.GetTemplatedServerDetails(); + var urlString = baseUrl + "/"; - + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); httpRequest.Headers.Add("user-agent", _userAgent); - - - var client = _securityClient; - + + var client = _defaultClient; + if (_securitySource != null) + { + client = SecuritySerializer.Apply(_defaultClient, _securitySource); + } + var httpResponse = await client.SendAsync(httpRequest); var contentType = httpResponse.Content.Headers.ContentType?.MediaType; - + var response = new GetServerCapabilitiesResponse { StatusCode = (int)httpResponse.StatusCode, ContentType = contentType, RawResponse = httpResponse }; - + if((response.StatusCode == 200)) { if(Utilities.IsContentTypeMatch("application/json",response.ContentType)) { response.TwoHundredApplicationJsonObject = JsonConvert.DeserializeObject(await httpResponse.Content.ReadAsStringAsync(), new JsonSerializerSettings(){ NullValueHandling = NullValueHandling.Ignore, Converters = new JsonConverter[] { new FlexibleObjectDeserializer(), new EnumSerializer() }}); } - + return response; } + if((response.StatusCode == 400)) { - + return response; } + if((response.StatusCode == 401)) { if(Utilities.IsContentTypeMatch("application/json",response.ContentType)) { response.FourHundredAndOneApplicationJsonObject = JsonConvert.DeserializeObject(await httpResponse.Content.ReadAsStringAsync(), new JsonSerializerSettings(){ NullValueHandling = NullValueHandling.Ignore, Converters = new JsonConverter[] { new FlexibleObjectDeserializer(), new EnumSerializer() }}); } - + return response; } return response; } - + public async Task GetServerPreferencesAsync() { string baseUrl = this.SDKConfiguration.GetTemplatedServerDetails(); + var urlString = baseUrl + "/:/prefs"; - + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); httpRequest.Headers.Add("user-agent", _userAgent); - - - var client = _securityClient; - + + var client = _defaultClient; + if (_securitySource != null) + { + client = SecuritySerializer.Apply(_defaultClient, _securitySource); + } + var httpResponse = await client.SendAsync(httpRequest); var contentType = httpResponse.Content.Headers.ContentType?.MediaType; - + var response = new GetServerPreferencesResponse { StatusCode = (int)httpResponse.StatusCode, ContentType = contentType, RawResponse = httpResponse }; - + if((response.StatusCode == 200)) { if(Utilities.IsContentTypeMatch("application/json",response.ContentType)) { response.TwoHundredApplicationJsonObject = JsonConvert.DeserializeObject(await httpResponse.Content.ReadAsStringAsync(), new JsonSerializerSettings(){ NullValueHandling = NullValueHandling.Ignore, Converters = new JsonConverter[] { new FlexibleObjectDeserializer(), new EnumSerializer() }}); } - + return response; } + if((response.StatusCode == 400)) { - + return response; } + if((response.StatusCode == 401)) { if(Utilities.IsContentTypeMatch("application/json",response.ContentType)) { response.FourHundredAndOneApplicationJsonObject = JsonConvert.DeserializeObject(await httpResponse.Content.ReadAsStringAsync(), new JsonSerializerSettings(){ NullValueHandling = NullValueHandling.Ignore, Converters = new JsonConverter[] { new FlexibleObjectDeserializer(), new EnumSerializer() }}); } - + return response; } return response; } - + public async Task GetAvailableClientsAsync() { string baseUrl = this.SDKConfiguration.GetTemplatedServerDetails(); + var urlString = baseUrl + "/clients"; - + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); httpRequest.Headers.Add("user-agent", _userAgent); - - - var client = _securityClient; - + + var client = _defaultClient; + if (_securitySource != null) + { + client = SecuritySerializer.Apply(_defaultClient, _securitySource); + } + var httpResponse = await client.SendAsync(httpRequest); var contentType = httpResponse.Content.Headers.ContentType?.MediaType; - + var response = new GetAvailableClientsResponse { StatusCode = (int)httpResponse.StatusCode, ContentType = contentType, RawResponse = httpResponse }; - + if((response.StatusCode == 200)) { if(Utilities.IsContentTypeMatch("application/json",response.ContentType)) { response.TwoHundredApplicationJsonObject = JsonConvert.DeserializeObject(await httpResponse.Content.ReadAsStringAsync(), new JsonSerializerSettings(){ NullValueHandling = NullValueHandling.Ignore, Converters = new JsonConverter[] { new FlexibleObjectDeserializer(), new EnumSerializer() }}); } - + return response; } + if((response.StatusCode == 400)) { - + return response; } + if((response.StatusCode == 401)) { if(Utilities.IsContentTypeMatch("application/json",response.ContentType)) { response.FourHundredAndOneApplicationJsonObject = JsonConvert.DeserializeObject(await httpResponse.Content.ReadAsStringAsync(), new JsonSerializerSettings(){ NullValueHandling = NullValueHandling.Ignore, Converters = new JsonConverter[] { new FlexibleObjectDeserializer(), new EnumSerializer() }}); } - + return response; } return response; } - + public async Task GetDevicesAsync() { string baseUrl = this.SDKConfiguration.GetTemplatedServerDetails(); + var urlString = baseUrl + "/devices"; - + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); httpRequest.Headers.Add("user-agent", _userAgent); - - - var client = _securityClient; - + + var client = _defaultClient; + if (_securitySource != null) + { + client = SecuritySerializer.Apply(_defaultClient, _securitySource); + } + var httpResponse = await client.SendAsync(httpRequest); var contentType = httpResponse.Content.Headers.ContentType?.MediaType; - + var response = new GetDevicesResponse { StatusCode = (int)httpResponse.StatusCode, ContentType = contentType, RawResponse = httpResponse }; - + if((response.StatusCode == 200)) { if(Utilities.IsContentTypeMatch("application/json",response.ContentType)) { response.TwoHundredApplicationJsonObject = JsonConvert.DeserializeObject(await httpResponse.Content.ReadAsStringAsync(), new JsonSerializerSettings(){ NullValueHandling = NullValueHandling.Ignore, Converters = new JsonConverter[] { new FlexibleObjectDeserializer(), new EnumSerializer() }}); } - + return response; } + if((response.StatusCode == 400)) { - + return response; } + if((response.StatusCode == 401)) { if(Utilities.IsContentTypeMatch("application/json",response.ContentType)) { response.FourHundredAndOneApplicationJsonObject = JsonConvert.DeserializeObject(await httpResponse.Content.ReadAsStringAsync(), new JsonSerializerSettings(){ NullValueHandling = NullValueHandling.Ignore, Converters = new JsonConverter[] { new FlexibleObjectDeserializer(), new EnumSerializer() }}); } - + return response; } return response; } - + public async Task GetServerIdentityAsync() { string baseUrl = this.SDKConfiguration.GetTemplatedServerDetails(); + var urlString = baseUrl + "/identity"; - + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); httpRequest.Headers.Add("user-agent", _userAgent); - - - var client = _securityClient; - + + var client = _defaultClient; + if (_securitySource != null) + { + client = SecuritySerializer.Apply(_defaultClient, _securitySource); + } + var httpResponse = await client.SendAsync(httpRequest); var contentType = httpResponse.Content.Headers.ContentType?.MediaType; - + var response = new GetServerIdentityResponse { StatusCode = (int)httpResponse.StatusCode, ContentType = contentType, RawResponse = httpResponse }; - + if((response.StatusCode == 200)) { if(Utilities.IsContentTypeMatch("application/json",response.ContentType)) { response.TwoHundredApplicationJsonObject = JsonConvert.DeserializeObject(await httpResponse.Content.ReadAsStringAsync(), new JsonSerializerSettings(){ NullValueHandling = NullValueHandling.Ignore, Converters = new JsonConverter[] { new FlexibleObjectDeserializer(), new EnumSerializer() }}); } - + return response; } + if((response.StatusCode == 400)) { - + return response; } + if((response.StatusCode == 401)) { if(Utilities.IsContentTypeMatch("application/json",response.ContentType)) { response.FourHundredAndOneApplicationJsonObject = JsonConvert.DeserializeObject(await httpResponse.Content.ReadAsStringAsync(), new JsonSerializerSettings(){ NullValueHandling = NullValueHandling.Ignore, Converters = new JsonConverter[] { new FlexibleObjectDeserializer(), new EnumSerializer() }}); } - + return response; } return response; } - + public async Task GetMyPlexAccountAsync() { string baseUrl = this.SDKConfiguration.GetTemplatedServerDetails(); + var urlString = baseUrl + "/myplex/account"; - + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); httpRequest.Headers.Add("user-agent", _userAgent); - - - var client = _securityClient; - + + var client = _defaultClient; + if (_securitySource != null) + { + client = SecuritySerializer.Apply(_defaultClient, _securitySource); + } + var httpResponse = await client.SendAsync(httpRequest); var contentType = httpResponse.Content.Headers.ContentType?.MediaType; - + var response = new GetMyPlexAccountResponse { StatusCode = (int)httpResponse.StatusCode, ContentType = contentType, RawResponse = httpResponse }; - + if((response.StatusCode == 200)) { if(Utilities.IsContentTypeMatch("application/json",response.ContentType)) { response.TwoHundredApplicationJsonObject = JsonConvert.DeserializeObject(await httpResponse.Content.ReadAsStringAsync(), new JsonSerializerSettings(){ NullValueHandling = NullValueHandling.Ignore, Converters = new JsonConverter[] { new FlexibleObjectDeserializer(), new EnumSerializer() }}); } - + return response; } + if((response.StatusCode == 400)) { - + return response; } + if((response.StatusCode == 401)) { if(Utilities.IsContentTypeMatch("application/json",response.ContentType)) { response.FourHundredAndOneApplicationJsonObject = JsonConvert.DeserializeObject(await httpResponse.Content.ReadAsStringAsync(), new JsonSerializerSettings(){ NullValueHandling = NullValueHandling.Ignore, Converters = new JsonConverter[] { new FlexibleObjectDeserializer(), new EnumSerializer() }}); } - + return response; } return response; } - - public async Task GetResizedPhotoAsync(GetResizedPhotoRequest? request = null) + + public async Task GetResizedPhotoAsync(GetResizedPhotoRequest request) { string baseUrl = this.SDKConfiguration.GetTemplatedServerDetails(); var urlString = URLBuilder.Build(baseUrl, "/photo/:/transcode", request); - + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); httpRequest.Headers.Add("user-agent", _userAgent); - - - var client = _securityClient; - + + var client = _defaultClient; + if (_securitySource != null) + { + client = SecuritySerializer.Apply(_defaultClient, _securitySource); + } + var httpResponse = await client.SendAsync(httpRequest); var contentType = httpResponse.Content.Headers.ContentType?.MediaType; - + var response = new GetResizedPhotoResponse { StatusCode = (int)httpResponse.StatusCode, ContentType = contentType, RawResponse = httpResponse }; - + if((response.StatusCode == 200) || (response.StatusCode == 400)) { - + return response; } + if((response.StatusCode == 401)) { if(Utilities.IsContentTypeMatch("application/json",response.ContentType)) { response.Object = JsonConvert.DeserializeObject(await httpResponse.Content.ReadAsStringAsync(), new JsonSerializerSettings(){ NullValueHandling = NullValueHandling.Ignore, Converters = new JsonConverter[] { new FlexibleObjectDeserializer(), new EnumSerializer() }}); } - + return response; } return response; } - + public async Task GetServerListAsync() { string baseUrl = this.SDKConfiguration.GetTemplatedServerDetails(); + var urlString = baseUrl + "/servers"; - + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); httpRequest.Headers.Add("user-agent", _userAgent); - - - var client = _securityClient; - + + var client = _defaultClient; + if (_securitySource != null) + { + client = SecuritySerializer.Apply(_defaultClient, _securitySource); + } + var httpResponse = await client.SendAsync(httpRequest); var contentType = httpResponse.Content.Headers.ContentType?.MediaType; - + var response = new GetServerListResponse { StatusCode = (int)httpResponse.StatusCode, ContentType = contentType, RawResponse = httpResponse }; - + if((response.StatusCode == 200)) { if(Utilities.IsContentTypeMatch("application/json",response.ContentType)) { response.TwoHundredApplicationJsonObject = JsonConvert.DeserializeObject(await httpResponse.Content.ReadAsStringAsync(), new JsonSerializerSettings(){ NullValueHandling = NullValueHandling.Ignore, Converters = new JsonConverter[] { new FlexibleObjectDeserializer(), new EnumSerializer() }}); } - + return response; } + if((response.StatusCode == 400)) { - + return response; } + if((response.StatusCode == 401)) { if(Utilities.IsContentTypeMatch("application/json",response.ContentType)) { response.FourHundredAndOneApplicationJsonObject = JsonConvert.DeserializeObject(await httpResponse.Content.ReadAsStringAsync(), new JsonSerializerSettings(){ NullValueHandling = NullValueHandling.Ignore, Converters = new JsonConverter[] { new FlexibleObjectDeserializer(), new EnumSerializer() }}); } - + return response; } return response; } - + } } \ No newline at end of file diff --git a/PlexAPI/Sessions.cs b/PlexAPI/Sessions.cs index 8cd0760..a97e131 100644 --- a/PlexAPI/Sessions.cs +++ b/PlexAPI/Sessions.cs @@ -11,6 +11,7 @@ namespace PlexAPI { using Newtonsoft.Json; + using PlexAPI.Models.Components; using PlexAPI.Models.Requests; using PlexAPI.Utils; using System.Net.Http.Headers; @@ -76,169 +77,186 @@ namespace PlexAPI { public SDKConfig SDKConfiguration { get; private set; } private const string _language = "csharp"; - private const string _sdkVersion = "0.1.5"; - private const string _sdkGenVersion = "2.237.3"; + private const string _sdkVersion = "0.2.1"; + private const string _sdkGenVersion = "2.281.2"; private const string _openapiDocVersion = "0.0.3"; - private const string _userAgent = "speakeasy-sdk/csharp 0.1.5 2.237.3 0.0.3 Plex-API"; + private const string _userAgent = "speakeasy-sdk/csharp 0.2.1 2.281.2 0.0.3 Plex-API"; private string _serverUrl = ""; private ISpeakeasyHttpClient _defaultClient; - private ISpeakeasyHttpClient _securityClient; + private Func? _securitySource; - public Sessions(ISpeakeasyHttpClient defaultClient, ISpeakeasyHttpClient securityClient, string serverUrl, SDKConfig config) + public Sessions(ISpeakeasyHttpClient defaultClient, Func? securitySource, string serverUrl, SDKConfig config) { _defaultClient = defaultClient; - _securityClient = securityClient; + _securitySource = securitySource; _serverUrl = serverUrl; SDKConfiguration = config; } - public async Task GetSessionsAsync() { string baseUrl = this.SDKConfiguration.GetTemplatedServerDetails(); + var urlString = baseUrl + "/status/sessions"; - + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); httpRequest.Headers.Add("user-agent", _userAgent); - - - var client = _securityClient; - + + var client = _defaultClient; + if (_securitySource != null) + { + client = SecuritySerializer.Apply(_defaultClient, _securitySource); + } + var httpResponse = await client.SendAsync(httpRequest); var contentType = httpResponse.Content.Headers.ContentType?.MediaType; - + var response = new GetSessionsResponse { StatusCode = (int)httpResponse.StatusCode, ContentType = contentType, RawResponse = httpResponse }; - + if((response.StatusCode == 200)) { if(Utilities.IsContentTypeMatch("application/json",response.ContentType)) { response.TwoHundredApplicationJsonObject = JsonConvert.DeserializeObject(await httpResponse.Content.ReadAsStringAsync(), new JsonSerializerSettings(){ NullValueHandling = NullValueHandling.Ignore, Converters = new JsonConverter[] { new FlexibleObjectDeserializer(), new EnumSerializer() }}); } - + return response; } + if((response.StatusCode == 400)) { - + return response; } + if((response.StatusCode == 401)) { if(Utilities.IsContentTypeMatch("application/json",response.ContentType)) { response.FourHundredAndOneApplicationJsonObject = JsonConvert.DeserializeObject(await httpResponse.Content.ReadAsStringAsync(), new JsonSerializerSettings(){ NullValueHandling = NullValueHandling.Ignore, Converters = new JsonConverter[] { new FlexibleObjectDeserializer(), new EnumSerializer() }}); } - + return response; } return response; } - + public async Task GetSessionHistoryAsync() { string baseUrl = this.SDKConfiguration.GetTemplatedServerDetails(); + var urlString = baseUrl + "/status/sessions/history/all"; - + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); httpRequest.Headers.Add("user-agent", _userAgent); - - - var client = _securityClient; - + + var client = _defaultClient; + if (_securitySource != null) + { + client = SecuritySerializer.Apply(_defaultClient, _securitySource); + } + var httpResponse = await client.SendAsync(httpRequest); var contentType = httpResponse.Content.Headers.ContentType?.MediaType; - + var response = new GetSessionHistoryResponse { StatusCode = (int)httpResponse.StatusCode, ContentType = contentType, RawResponse = httpResponse }; - + if((response.StatusCode == 200)) { if(Utilities.IsContentTypeMatch("application/json",response.ContentType)) { response.TwoHundredApplicationJsonObject = JsonConvert.DeserializeObject(await httpResponse.Content.ReadAsStringAsync(), new JsonSerializerSettings(){ NullValueHandling = NullValueHandling.Ignore, Converters = new JsonConverter[] { new FlexibleObjectDeserializer(), new EnumSerializer() }}); } - + return response; } + if((response.StatusCode == 400)) { - + return response; } + if((response.StatusCode == 401)) { if(Utilities.IsContentTypeMatch("application/json",response.ContentType)) { response.FourHundredAndOneApplicationJsonObject = JsonConvert.DeserializeObject(await httpResponse.Content.ReadAsStringAsync(), new JsonSerializerSettings(){ NullValueHandling = NullValueHandling.Ignore, Converters = new JsonConverter[] { new FlexibleObjectDeserializer(), new EnumSerializer() }}); } - + return response; } return response; } - + public async Task GetTranscodeSessionsAsync() { string baseUrl = this.SDKConfiguration.GetTemplatedServerDetails(); + var urlString = baseUrl + "/transcode/sessions"; - + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); httpRequest.Headers.Add("user-agent", _userAgent); - - - var client = _securityClient; - + + var client = _defaultClient; + if (_securitySource != null) + { + client = SecuritySerializer.Apply(_defaultClient, _securitySource); + } + var httpResponse = await client.SendAsync(httpRequest); var contentType = httpResponse.Content.Headers.ContentType?.MediaType; - + var response = new GetTranscodeSessionsResponse { StatusCode = (int)httpResponse.StatusCode, ContentType = contentType, RawResponse = httpResponse }; - + if((response.StatusCode == 200)) { if(Utilities.IsContentTypeMatch("application/json",response.ContentType)) { response.TwoHundredApplicationJsonObject = JsonConvert.DeserializeObject(await httpResponse.Content.ReadAsStringAsync(), new JsonSerializerSettings(){ NullValueHandling = NullValueHandling.Ignore, Converters = new JsonConverter[] { new FlexibleObjectDeserializer(), new EnumSerializer() }}); } - + return response; } + if((response.StatusCode == 400)) { - + return response; } + if((response.StatusCode == 401)) { if(Utilities.IsContentTypeMatch("application/json",response.ContentType)) { response.FourHundredAndOneApplicationJsonObject = JsonConvert.DeserializeObject(await httpResponse.Content.ReadAsStringAsync(), new JsonSerializerSettings(){ NullValueHandling = NullValueHandling.Ignore, Converters = new JsonConverter[] { new FlexibleObjectDeserializer(), new EnumSerializer() }}); } - + return response; } return response; } - + public async Task StopTranscodeSessionAsync(string sessionKey) { @@ -248,40 +266,44 @@ namespace PlexAPI }; string baseUrl = this.SDKConfiguration.GetTemplatedServerDetails(); var urlString = URLBuilder.Build(baseUrl, "/transcode/sessions/{sessionKey}", request); - + var httpRequest = new HttpRequestMessage(HttpMethod.Delete, urlString); httpRequest.Headers.Add("user-agent", _userAgent); - - - var client = _securityClient; - + + var client = _defaultClient; + if (_securitySource != null) + { + client = SecuritySerializer.Apply(_defaultClient, _securitySource); + } + var httpResponse = await client.SendAsync(httpRequest); var contentType = httpResponse.Content.Headers.ContentType?.MediaType; - + var response = new StopTranscodeSessionResponse { StatusCode = (int)httpResponse.StatusCode, ContentType = contentType, RawResponse = httpResponse }; - + if((response.StatusCode == 204) || (response.StatusCode == 400)) { - + return response; } + if((response.StatusCode == 401)) { if(Utilities.IsContentTypeMatch("application/json",response.ContentType)) { response.Object = JsonConvert.DeserializeObject(await httpResponse.Content.ReadAsStringAsync(), new JsonSerializerSettings(){ NullValueHandling = NullValueHandling.Ignore, Converters = new JsonConverter[] { new FlexibleObjectDeserializer(), new EnumSerializer() }}); } - + return response; } return response; } - + } } \ No newline at end of file diff --git a/PlexAPI/Statistics.cs b/PlexAPI/Statistics.cs new file mode 100644 index 0000000..8af365a --- /dev/null +++ b/PlexAPI/Statistics.cs @@ -0,0 +1,127 @@ + +//------------------------------------------------------------------------------ +// +// This code was generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace PlexAPI +{ + using Newtonsoft.Json; + using PlexAPI.Models.Components; + using PlexAPI.Models.Requests; + using PlexAPI.Utils; + using System.Net.Http.Headers; + using System.Net.Http; + using System.Threading.Tasks; + using System; + + /// + /// API Calls that perform operations with Plex Media Server Statistics
+ /// + /// + /// + /// + ///
+ public interface IStatistics + { + + /// + /// Get Media Statistics + /// + /// + /// This will return the media statistics for the server + /// + /// + Task GetStatisticsAsync(long? timespan = null); + } + + /// + /// API Calls that perform operations with Plex Media Server Statistics
+ /// + /// + /// + /// + ///
+ public class Statistics: IStatistics + { + public SDKConfig SDKConfiguration { get; private set; } + private const string _language = "csharp"; + private const string _sdkVersion = "0.2.1"; + private const string _sdkGenVersion = "2.281.2"; + private const string _openapiDocVersion = "0.0.3"; + private const string _userAgent = "speakeasy-sdk/csharp 0.2.1 2.281.2 0.0.3 Plex-API"; + private string _serverUrl = ""; + private ISpeakeasyHttpClient _defaultClient; + private Func? _securitySource; + + public Statistics(ISpeakeasyHttpClient defaultClient, Func? securitySource, string serverUrl, SDKConfig config) + { + _defaultClient = defaultClient; + _securitySource = securitySource; + _serverUrl = serverUrl; + SDKConfiguration = config; + } + + public async Task GetStatisticsAsync(long? timespan = null) + { + var request = new GetStatisticsRequest() + { + Timespan = timespan, + }; + string baseUrl = this.SDKConfiguration.GetTemplatedServerDetails(); + var urlString = URLBuilder.Build(baseUrl, "/statistics/media", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + + var client = _defaultClient; + if (_securitySource != null) + { + client = SecuritySerializer.Apply(_defaultClient, _securitySource); + } + + var httpResponse = await client.SendAsync(httpRequest); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + + var response = new GetStatisticsResponse + { + StatusCode = (int)httpResponse.StatusCode, + ContentType = contentType, + RawResponse = httpResponse + }; + + if((response.StatusCode == 200)) + { + if(Utilities.IsContentTypeMatch("application/json",response.ContentType)) + { + response.TwoHundredApplicationJsonObject = JsonConvert.DeserializeObject(await httpResponse.Content.ReadAsStringAsync(), new JsonSerializerSettings(){ NullValueHandling = NullValueHandling.Ignore, Converters = new JsonConverter[] { new FlexibleObjectDeserializer(), new EnumSerializer() }}); + } + + return response; + } + + if((response.StatusCode == 400)) + { + + return response; + } + + if((response.StatusCode == 401)) + { + if(Utilities.IsContentTypeMatch("application/json",response.ContentType)) + { + response.FourHundredAndOneApplicationJsonObject = JsonConvert.DeserializeObject(await httpResponse.Content.ReadAsStringAsync(), new JsonSerializerSettings(){ NullValueHandling = NullValueHandling.Ignore, Converters = new JsonConverter[] { new FlexibleObjectDeserializer(), new EnumSerializer() }}); + } + + return response; + } + return response; + } + + } +} \ No newline at end of file diff --git a/PlexAPI/Updater.cs b/PlexAPI/Updater.cs index 9265140..d8c6b62 100644 --- a/PlexAPI/Updater.cs +++ b/PlexAPI/Updater.cs @@ -11,6 +11,7 @@ namespace PlexAPI { using Newtonsoft.Json; + using PlexAPI.Models.Components; using PlexAPI.Models.Requests; using PlexAPI.Utils; using System.Net.Http.Headers; @@ -70,71 +71,76 @@ namespace PlexAPI { public SDKConfig SDKConfiguration { get; private set; } private const string _language = "csharp"; - private const string _sdkVersion = "0.1.5"; - private const string _sdkGenVersion = "2.237.3"; + private const string _sdkVersion = "0.2.1"; + private const string _sdkGenVersion = "2.281.2"; private const string _openapiDocVersion = "0.0.3"; - private const string _userAgent = "speakeasy-sdk/csharp 0.1.5 2.237.3 0.0.3 Plex-API"; + private const string _userAgent = "speakeasy-sdk/csharp 0.2.1 2.281.2 0.0.3 Plex-API"; private string _serverUrl = ""; private ISpeakeasyHttpClient _defaultClient; - private ISpeakeasyHttpClient _securityClient; + private Func? _securitySource; - public Updater(ISpeakeasyHttpClient defaultClient, ISpeakeasyHttpClient securityClient, string serverUrl, SDKConfig config) + public Updater(ISpeakeasyHttpClient defaultClient, Func? securitySource, string serverUrl, SDKConfig config) { _defaultClient = defaultClient; - _securityClient = securityClient; + _securitySource = securitySource; _serverUrl = serverUrl; SDKConfiguration = config; } - public async Task GetUpdateStatusAsync() { string baseUrl = this.SDKConfiguration.GetTemplatedServerDetails(); + var urlString = baseUrl + "/updater/status"; - + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); httpRequest.Headers.Add("user-agent", _userAgent); - - - var client = _securityClient; - + + var client = _defaultClient; + if (_securitySource != null) + { + client = SecuritySerializer.Apply(_defaultClient, _securitySource); + } + var httpResponse = await client.SendAsync(httpRequest); var contentType = httpResponse.Content.Headers.ContentType?.MediaType; - + var response = new GetUpdateStatusResponse { StatusCode = (int)httpResponse.StatusCode, ContentType = contentType, RawResponse = httpResponse }; - + if((response.StatusCode == 200)) { if(Utilities.IsContentTypeMatch("application/json",response.ContentType)) { response.TwoHundredApplicationJsonObject = JsonConvert.DeserializeObject(await httpResponse.Content.ReadAsStringAsync(), new JsonSerializerSettings(){ NullValueHandling = NullValueHandling.Ignore, Converters = new JsonConverter[] { new FlexibleObjectDeserializer(), new EnumSerializer() }}); } - + return response; } + if((response.StatusCode == 400)) { - + return response; } + if((response.StatusCode == 401)) { if(Utilities.IsContentTypeMatch("application/json",response.ContentType)) { response.FourHundredAndOneApplicationJsonObject = JsonConvert.DeserializeObject(await httpResponse.Content.ReadAsStringAsync(), new JsonSerializerSettings(){ NullValueHandling = NullValueHandling.Ignore, Converters = new JsonConverter[] { new FlexibleObjectDeserializer(), new EnumSerializer() }}); } - + return response; } return response; } - + public async Task CheckForUpdatesAsync(Download? download = null) { @@ -144,41 +150,45 @@ namespace PlexAPI }; string baseUrl = this.SDKConfiguration.GetTemplatedServerDetails(); var urlString = URLBuilder.Build(baseUrl, "/updater/check", request); - + var httpRequest = new HttpRequestMessage(HttpMethod.Put, urlString); httpRequest.Headers.Add("user-agent", _userAgent); - - - var client = _securityClient; - + + var client = _defaultClient; + if (_securitySource != null) + { + client = SecuritySerializer.Apply(_defaultClient, _securitySource); + } + var httpResponse = await client.SendAsync(httpRequest); var contentType = httpResponse.Content.Headers.ContentType?.MediaType; - + var response = new CheckForUpdatesResponse { StatusCode = (int)httpResponse.StatusCode, ContentType = contentType, RawResponse = httpResponse }; - + if((response.StatusCode == 200) || (response.StatusCode == 400)) { - + return response; } + if((response.StatusCode == 401)) { if(Utilities.IsContentTypeMatch("application/json",response.ContentType)) { response.Object = JsonConvert.DeserializeObject(await httpResponse.Content.ReadAsStringAsync(), new JsonSerializerSettings(){ NullValueHandling = NullValueHandling.Ignore, Converters = new JsonConverter[] { new FlexibleObjectDeserializer(), new EnumSerializer() }}); } - + return response; } return response; } - + public async Task ApplyUpdatesAsync(Tonight? tonight = null, Skip? skip = null) { @@ -189,40 +199,44 @@ namespace PlexAPI }; string baseUrl = this.SDKConfiguration.GetTemplatedServerDetails(); var urlString = URLBuilder.Build(baseUrl, "/updater/apply", request); - + var httpRequest = new HttpRequestMessage(HttpMethod.Put, urlString); httpRequest.Headers.Add("user-agent", _userAgent); - - - var client = _securityClient; - + + var client = _defaultClient; + if (_securitySource != null) + { + client = SecuritySerializer.Apply(_defaultClient, _securitySource); + } + var httpResponse = await client.SendAsync(httpRequest); var contentType = httpResponse.Content.Headers.ContentType?.MediaType; - + var response = new ApplyUpdatesResponse { StatusCode = (int)httpResponse.StatusCode, ContentType = contentType, RawResponse = httpResponse }; - + if((response.StatusCode == 200) || (response.StatusCode == 400) || (response.StatusCode == 500)) { - + return response; } + if((response.StatusCode == 401)) { if(Utilities.IsContentTypeMatch("application/json",response.ContentType)) { response.Object = JsonConvert.DeserializeObject(await httpResponse.Content.ReadAsStringAsync(), new JsonSerializerSettings(){ NullValueHandling = NullValueHandling.Ignore, Converters = new JsonConverter[] { new FlexibleObjectDeserializer(), new EnumSerializer() }}); } - + return response; } return response; } - + } } \ No newline at end of file diff --git a/PlexAPI/Utils/BigIntSerializer.cs b/PlexAPI/Utils/BigIntSerializer.cs index 3bf157e..9be84e0 100644 --- a/PlexAPI/Utils/BigIntSerializer.cs +++ b/PlexAPI/Utils/BigIntSerializer.cs @@ -17,7 +17,16 @@ namespace PlexAPI.Utils internal class BigIntSerializer : JsonConverter { - public override bool CanConvert(Type objectType) => objectType == typeof(BigInteger); + public override bool CanConvert(Type objectType) + { + var nullableType = Nullable.GetUnderlyingType(objectType); + if (nullableType != null) + { + return nullableType == typeof(BigInteger); + } + + return objectType == typeof(BigInteger); + } public override bool CanRead => true; diff --git a/PlexAPI/Utils/DecimalSerializer.cs b/PlexAPI/Utils/DecimalSerializer.cs index b8e69f8..8519229 100644 --- a/PlexAPI/Utils/DecimalSerializer.cs +++ b/PlexAPI/Utils/DecimalSerializer.cs @@ -16,7 +16,16 @@ namespace PlexAPI.Utils internal class DecimalSerializer : JsonConverter { - public override bool CanConvert(Type objectType) => objectType == typeof(Decimal); + public override bool CanConvert(Type objectType) + { + var nullableType = Nullable.GetUnderlyingType(objectType); + if (nullableType != null) + { + return nullableType == typeof(Decimal); + } + + return objectType == typeof(Decimal); + } public override bool CanRead => true; diff --git a/PlexAPI/Utils/EnumSerializer.cs b/PlexAPI/Utils/EnumSerializer.cs index b09a1ee..6e9dd48 100644 --- a/PlexAPI/Utils/EnumSerializer.cs +++ b/PlexAPI/Utils/EnumSerializer.cs @@ -15,7 +15,16 @@ namespace PlexAPI.Utils { internal class EnumSerializer : JsonConverter { - public override bool CanConvert(System.Type objectType) => objectType.IsEnum; + public override bool CanConvert(System.Type objectType) + { + var nullableType = Nullable.GetUnderlyingType(objectType); + if (nullableType != null) + { + return nullableType.IsEnum; + } + + return objectType.IsEnum; + } public override bool CanRead => true; diff --git a/PlexAPI/Utils/IsoDateTimeSerializer.cs b/PlexAPI/Utils/IsoDateTimeSerializer.cs index d9675e9..8a4db17 100644 --- a/PlexAPI/Utils/IsoDateTimeSerializer.cs +++ b/PlexAPI/Utils/IsoDateTimeSerializer.cs @@ -16,8 +16,16 @@ namespace PlexAPI.Utils internal class IsoDateTimeSerializer: JsonConverter { - public override bool CanConvert(Type objectType) => - objectType == typeof(DateTime); + public override bool CanConvert(Type objectType) + { + var nullableType = Nullable.GetUnderlyingType(objectType); + if (nullableType != null) + { + return nullableType == typeof(DateTime); + } + + return objectType == typeof(DateTime); + } public override bool CanRead => false; diff --git a/PlexAPI/Utils/RequestBodySerializer.cs b/PlexAPI/Utils/RequestBodySerializer.cs index c63ee64..501946f 100644 --- a/PlexAPI/Utils/RequestBodySerializer.cs +++ b/PlexAPI/Utils/RequestBodySerializer.cs @@ -22,11 +22,23 @@ namespace PlexAPI.Utils public static HttpContent? Serialize( object? request, string requestFieldName, - string serializationMethod + string serializationMethod, + bool nullable = false, + bool optional = false, + string format = "" ) { if (request == null) { + if (!nullable && !optional) + { + throw new ArgumentNullException("request body is required"); + } + else if (nullable && serializationMethod == "json") + { + return new StringContent("null", Encoding.UTF8, "application/json"); + } + return null; } @@ -56,14 +68,15 @@ namespace PlexAPI.Utils } // Not an object or flattened request - return TrySerialize(request, requestFieldName, serializationMethod); + return TrySerialize(request, requestFieldName, serializationMethod, "", format); } private static HttpContent? TrySerialize( object request, string requestFieldName, string serializationMethod, - string mediaType = "" + string mediaType = "", + string format = "" ) { if (mediaType == "") @@ -81,7 +94,7 @@ namespace PlexAPI.Utils switch (serializationMethod) { case "json": - return SerializeJson(request, mediaType); + return SerializeJson(request, mediaType, format); case "form": return SerializeForm(request, requestFieldName, mediaType); case "multipart": @@ -109,9 +122,9 @@ namespace PlexAPI.Utils } } - private static HttpContent SerializeJson(object request, string mediaType) + private static HttpContent SerializeJson(object request, string mediaType, string format = "") { - return new StringContent(Utilities.SerializeJSON(request), Encoding.UTF8, mediaType); + return new StringContent(Utilities.SerializeJSON(request, format), Encoding.UTF8, mediaType); } private static HttpContent SerializeForm( @@ -482,7 +495,7 @@ namespace PlexAPI.Utils { form[fieldName] = new List(); } - + form[fieldName].Add(Utilities.ValueToString(value)); } } @@ -499,4 +512,4 @@ namespace PlexAPI.Utils } } } -} \ No newline at end of file +} diff --git a/PlexAPI/Utils/SecuritySerializer.cs b/PlexAPI/Utils/SecuritySerializer.cs index 51e3105..984a9bb 100644 --- a/PlexAPI/Utils/SecuritySerializer.cs +++ b/PlexAPI/Utils/SecuritySerializer.cs @@ -16,8 +16,14 @@ namespace PlexAPI.Utils internal static class SecuritySerializer { - public static ISpeakeasyHttpClient Apply(ISpeakeasyHttpClient client, object security) + public static ISpeakeasyHttpClient Apply(ISpeakeasyHttpClient client, Func securitySource) { + if (securitySource == null) + { + return client; + } + + var security = securitySource(); if (security == null) { return client; diff --git a/PlexAPI/Utils/Utilities.cs b/PlexAPI/Utils/Utilities.cs index 1157f98..46c6f32 100644 --- a/PlexAPI/Utils/Utilities.cs +++ b/PlexAPI/Utils/Utilities.cs @@ -15,24 +15,52 @@ namespace PlexAPI.Utils using System.Net.Http.Headers; using System.Collections.Generic; using System.Text.RegularExpressions; + using System.Numerics; using Newtonsoft.Json; using NodaTime; using System.Collections; public class Utilities { - public static string SerializeJSON(object obj) + public static JsonConverter[] GetJsonConverters(Type type, string format = "") { + if (format == "string") + { + if (type == typeof(BigInteger)) + { + return new JsonConverter[] { new BigIntSerializer() }; + } + if (type == typeof(Decimal)) + { + return new JsonConverter[] { new DecimalSerializer() }; + } + } + + return new JsonConverter[] + { + new IsoDateTimeSerializer(), + new EnumSerializer(), + }; + } + + public static string SerializeJSON(object obj, string format = "") + { + var type = obj.GetType(); + if (IsList(obj)) + { + type = type.GetGenericArguments().Single(); + } + else if (IsDictionary(obj)) + { + type = type.GetGenericArguments().Last(); + } + return JsonConvert.SerializeObject( obj, new JsonSerializerSettings() { NullValueHandling = NullValueHandling.Ignore, - Converters = new JsonConverter[] - { - new IsoDateTimeSerializer(), - new EnumSerializer() - } + Converters = GetJsonConverters(type, format) } ); } @@ -82,11 +110,11 @@ namespace PlexAPI.Utils } } - public static bool IsPrimitive(object obj) => obj != null && obj.GetType().IsPrimitive; + public static bool IsPrimitive(object? obj) => obj != null && obj.GetType().IsPrimitive; - public static bool IsEnum(object obj) => obj != null && obj.GetType().IsEnum; + public static bool IsEnum(object? obj) => obj != null && obj.GetType().IsEnum; - public static bool IsDate(object obj) => + public static bool IsDate(object? obj) => obj != null && (obj.GetType() == typeof(DateTime) || obj.GetType() == typeof(LocalDate)); private static string StripSurroundingQuotes(string input) @@ -238,4 +266,4 @@ namespace PlexAPI.Utils return template; } } -} \ No newline at end of file +} diff --git a/PlexAPI/Video.cs b/PlexAPI/Video.cs index 88e8173..bfe46fd 100644 --- a/PlexAPI/Video.cs +++ b/PlexAPI/Video.cs @@ -11,6 +11,7 @@ namespace PlexAPI { using Newtonsoft.Json; + using PlexAPI.Models.Components; using PlexAPI.Models.Requests; using PlexAPI.Utils; using System.Net.Http.Headers; @@ -28,6 +29,15 @@ namespace PlexAPI public interface IVideo { + /// + /// Get the timeline for a media item + /// + /// + /// Get the timeline for a media item + /// + /// + Task GetTimelineAsync(GetTimelineRequest request); + /// /// Start Universal Transcode /// @@ -35,16 +45,7 @@ namespace PlexAPI /// Begin a Universal Transcode Session /// /// - Task StartUniversalTranscodeAsync(StartUniversalTranscodeRequest? request = null); - - /// - /// Get the timeline for a media item - /// - /// - /// Get the timeline for a media item - /// - /// - Task GetTimelineAsync(GetTimelineRequest? request = null); + Task StartUniversalTranscodeAsync(StartUniversalTranscodeRequest request); } /// @@ -58,101 +59,108 @@ namespace PlexAPI { public SDKConfig SDKConfiguration { get; private set; } private const string _language = "csharp"; - private const string _sdkVersion = "0.1.5"; - private const string _sdkGenVersion = "2.237.3"; + private const string _sdkVersion = "0.2.1"; + private const string _sdkGenVersion = "2.281.2"; private const string _openapiDocVersion = "0.0.3"; - private const string _userAgent = "speakeasy-sdk/csharp 0.1.5 2.237.3 0.0.3 Plex-API"; + private const string _userAgent = "speakeasy-sdk/csharp 0.2.1 2.281.2 0.0.3 Plex-API"; private string _serverUrl = ""; private ISpeakeasyHttpClient _defaultClient; - private ISpeakeasyHttpClient _securityClient; + private Func? _securitySource; - public Video(ISpeakeasyHttpClient defaultClient, ISpeakeasyHttpClient securityClient, string serverUrl, SDKConfig config) + public Video(ISpeakeasyHttpClient defaultClient, Func? securitySource, string serverUrl, SDKConfig config) { _defaultClient = defaultClient; - _securityClient = securityClient; + _securitySource = securitySource; _serverUrl = serverUrl; SDKConfiguration = config; } - - public async Task StartUniversalTranscodeAsync(StartUniversalTranscodeRequest? request = null) - { - string baseUrl = this.SDKConfiguration.GetTemplatedServerDetails(); - var urlString = URLBuilder.Build(baseUrl, "/video/:/transcode/universal/start.mpd", request); - - var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); - httpRequest.Headers.Add("user-agent", _userAgent); - - - var client = _securityClient; - - var httpResponse = await client.SendAsync(httpRequest); - - var contentType = httpResponse.Content.Headers.ContentType?.MediaType; - - var response = new StartUniversalTranscodeResponse - { - StatusCode = (int)httpResponse.StatusCode, - ContentType = contentType, - RawResponse = httpResponse - }; - - if((response.StatusCode == 200) || (response.StatusCode == 400)) - { - - return response; - } - if((response.StatusCode == 401)) - { - if(Utilities.IsContentTypeMatch("application/json",response.ContentType)) - { - response.Object = JsonConvert.DeserializeObject(await httpResponse.Content.ReadAsStringAsync(), new JsonSerializerSettings(){ NullValueHandling = NullValueHandling.Ignore, Converters = new JsonConverter[] { new FlexibleObjectDeserializer(), new EnumSerializer() }}); - } - - return response; - } - return response; - } - - - public async Task GetTimelineAsync(GetTimelineRequest? request = null) + public async Task GetTimelineAsync(GetTimelineRequest request) { string baseUrl = this.SDKConfiguration.GetTemplatedServerDetails(); var urlString = URLBuilder.Build(baseUrl, "/:/timeline", request); - + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); httpRequest.Headers.Add("user-agent", _userAgent); - - - var client = _securityClient; - + + var client = _defaultClient; + if (_securitySource != null) + { + client = SecuritySerializer.Apply(_defaultClient, _securitySource); + } + var httpResponse = await client.SendAsync(httpRequest); var contentType = httpResponse.Content.Headers.ContentType?.MediaType; - + var response = new GetTimelineResponse { StatusCode = (int)httpResponse.StatusCode, ContentType = contentType, RawResponse = httpResponse }; - + if((response.StatusCode == 200) || (response.StatusCode == 400)) { - + return response; } + if((response.StatusCode == 401)) { if(Utilities.IsContentTypeMatch("application/json",response.ContentType)) { response.Object = JsonConvert.DeserializeObject(await httpResponse.Content.ReadAsStringAsync(), new JsonSerializerSettings(){ NullValueHandling = NullValueHandling.Ignore, Converters = new JsonConverter[] { new FlexibleObjectDeserializer(), new EnumSerializer() }}); } - + return response; } return response; } - + + + public async Task StartUniversalTranscodeAsync(StartUniversalTranscodeRequest request) + { + string baseUrl = this.SDKConfiguration.GetTemplatedServerDetails(); + var urlString = URLBuilder.Build(baseUrl, "/video/:/transcode/universal/start.mpd", request); + + var httpRequest = new HttpRequestMessage(HttpMethod.Get, urlString); + httpRequest.Headers.Add("user-agent", _userAgent); + + var client = _defaultClient; + if (_securitySource != null) + { + client = SecuritySerializer.Apply(_defaultClient, _securitySource); + } + + var httpResponse = await client.SendAsync(httpRequest); + + var contentType = httpResponse.Content.Headers.ContentType?.MediaType; + + var response = new StartUniversalTranscodeResponse + { + StatusCode = (int)httpResponse.StatusCode, + ContentType = contentType, + RawResponse = httpResponse + }; + + if((response.StatusCode == 200) || (response.StatusCode == 400)) + { + + return response; + } + + if((response.StatusCode == 401)) + { + if(Utilities.IsContentTypeMatch("application/json",response.ContentType)) + { + response.Object = JsonConvert.DeserializeObject(await httpResponse.Content.ReadAsStringAsync(), new JsonSerializerSettings(){ NullValueHandling = NullValueHandling.Ignore, Converters = new JsonConverter[] { new FlexibleObjectDeserializer(), new EnumSerializer() }}); + } + + return response; + } + return response; + } + } } \ No newline at end of file diff --git a/README.md b/README.md index 32329e7..ef9d3ef 100644 --- a/README.md +++ b/README.md @@ -26,10 +26,7 @@ dotnet add package Plex-API using PlexAPI; using PlexAPI.Models.Components; -var sdk = new PlexAPISDK( - security: new Models.Components.Security() { - AccessToken = "", - }); +var sdk = new PlexAPISDK(AccessToken: ""); var res = await sdk.Server.GetServerCapabilitiesAsync(); @@ -57,6 +54,11 @@ var res = await sdk.Server.GetServerCapabilitiesAsync(); * [MarkUnplayed](docs/sdks/media/README.md#markunplayed) - Mark Media Unplayed * [UpdatePlayProgress](docs/sdks/media/README.md#updateplayprogress) - Update Media Play Progress +### [Video](docs/sdks/video/README.md) + +* [GetTimeline](docs/sdks/video/README.md#gettimeline) - Get the timeline for a media item +* [StartUniversalTranscode](docs/sdks/video/README.md#startuniversaltranscode) - Start Universal Transcode + ### [Activities](docs/sdks/activities/README.md) * [GetServerActivities](docs/sdks/activities/README.md#getserveractivities) - Get Server Activities @@ -90,6 +92,7 @@ var res = await sdk.Server.GetServerCapabilitiesAsync(); * [DeleteLibrary](docs/sdks/library/README.md#deletelibrary) - Delete Library Section * [GetLibraryItems](docs/sdks/library/README.md#getlibraryitems) - Get Library Items * [RefreshLibrary](docs/sdks/library/README.md#refreshlibrary) - Refresh Library +* [SearchLibrary](docs/sdks/library/README.md#searchlibrary) - Search Library * [GetMetadata](docs/sdks/library/README.md#getmetadata) - Get Items Metadata * [GetMetadataChildren](docs/sdks/library/README.md#getmetadatachildren) - Get Items Children * [GetOnDeck](docs/sdks/library/README.md#getondeck) - Get On Deck @@ -100,6 +103,11 @@ var res = await sdk.Server.GetServerCapabilitiesAsync(); * [LogMultiLine](docs/sdks/log/README.md#logmultiline) - Logging a multi-line message * [EnablePaperTrail](docs/sdks/log/README.md#enablepapertrail) - Enabling Papertrail +### [Plex](docs/sdks/plex/README.md) + +* [GetPin](docs/sdks/plex/README.md#getpin) - Get a Pin +* [GetToken](docs/sdks/plex/README.md#gettoken) - Get Access Token + ### [Playlists](docs/sdks/playlists/README.md) * [CreatePlaylist](docs/sdks/playlists/README.md#createplaylist) - Create a Playlist @@ -112,10 +120,14 @@ var res = await sdk.Server.GetServerCapabilitiesAsync(); * [AddPlaylistContents](docs/sdks/playlists/README.md#addplaylistcontents) - Adding to a Playlist * [UploadPlaylist](docs/sdks/playlists/README.md#uploadplaylist) - Upload Playlist -### [Security](docs/sdks/security/README.md) +### [Authentication](docs/sdks/authentication/README.md) -* [GetTransientToken](docs/sdks/security/README.md#gettransienttoken) - Get a Transient Token. -* [GetSourceConnectionInformation](docs/sdks/security/README.md#getsourceconnectioninformation) - Get Source Connection Information +* [GetTransientToken](docs/sdks/authentication/README.md#gettransienttoken) - Get a Transient Token. +* [GetSourceConnectionInformation](docs/sdks/authentication/README.md#getsourceconnectioninformation) - Get Source Connection Information + +### [Statistics](docs/sdks/statistics/README.md) + +* [GetStatistics](docs/sdks/statistics/README.md#getstatistics) - Get Media Statistics ### [Sessions](docs/sdks/sessions/README.md) @@ -129,11 +141,6 @@ var res = await sdk.Server.GetServerCapabilitiesAsync(); * [GetUpdateStatus](docs/sdks/updater/README.md#getupdatestatus) - Querying status of updates * [CheckForUpdates](docs/sdks/updater/README.md#checkforupdates) - Checking for updates * [ApplyUpdates](docs/sdks/updater/README.md#applyupdates) - Apply Updates - -### [Video](docs/sdks/video/README.md) - -* [StartUniversalTranscode](docs/sdks/video/README.md#startuniversaltranscode) - Start Universal Transcode -* [GetTimeline](docs/sdks/video/README.md#gettimeline) - Get the timeline for a media item @@ -161,8 +168,51 @@ Some of the server options above contain variables. If you want to set the value ### Override Server URL Per-Client The default server can also be overridden globally by passing a URL to the `serverUrl: str` optional parameter when initializing the SDK client instance. For example: + + +### Override Server URL Per-Operation + +The server URL can also be overridden on a per-operation basis, provided a server list was specified for the operation. For example: +```csharp +using PlexAPI; +using PlexAPI.Models.Components; +using PlexAPI.Models.Requests; + +var sdk = new PlexAPISDK(); + +var res = await sdk.Plex.GetPinAsync( + serverUrl: "https://plex.tv/api/v2", + xPlexClientIdentifier: "", + strong: false); + +// handle response +``` + +## Authentication + +### Per-Client Security Schemes + +This SDK supports the following security scheme globally: + +| Name | Type | Scheme | +| ------------- | ------------- | ------------- | +| `AccessToken` | apiKey | API key | + +To authenticate with the API the `AccessToken` parameter must be set when initializing the SDK client instance. For example: +```csharp +using PlexAPI; +using PlexAPI.Models.Components; + +var sdk = new PlexAPISDK(AccessToken: ""); + +var res = await sdk.Server.GetServerCapabilitiesAsync(); + +// handle response +``` + + # Development diff --git a/USAGE.md b/USAGE.md index fa05bbe..9083de4 100644 --- a/USAGE.md +++ b/USAGE.md @@ -3,10 +3,7 @@ using PlexAPI; using PlexAPI.Models.Components; -var sdk = new PlexAPISDK( - security: new Models.Components.Security() { - AccessToken = "", - }); +var sdk = new PlexAPISDK(AccessToken: ""); var res = await sdk.Server.GetServerCapabilitiesAsync(); diff --git a/docs/Models/Requests/Account.md b/docs/Models/Requests/Account.md new file mode 100644 index 0000000..7ccd6bc --- /dev/null +++ b/docs/Models/Requests/Account.md @@ -0,0 +1,15 @@ +# Account + + +## Fields + +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------- | ---------------------------------------------------------- | ---------------------------------------------------------- | ---------------------------------------------------------- | ---------------------------------------------------------- | +| `Id` | *int* | :heavy_minus_sign: | N/A | 238960586 | +| `Key` | *string* | :heavy_minus_sign: | N/A | /accounts/238960586 | +| `Name` | *string* | :heavy_minus_sign: | N/A | Diane | +| `DefaultAudioLanguage` | *string* | :heavy_minus_sign: | N/A | en | +| `AutoSelectAudio` | *bool* | :heavy_minus_sign: | N/A | true | +| `DefaultSubtitleLanguage` | *string* | :heavy_minus_sign: | N/A | en | +| `SubtitleMode` | *int* | :heavy_minus_sign: | N/A | 1 | +| `Thumb` | *string* | :heavy_minus_sign: | N/A | https://plex.tv/users/50d83634246da1de/avatar?c=1707110967 | \ No newline at end of file diff --git a/docs/Models/Requests/AddPlaylistContentsMediaContainer.md b/docs/Models/Requests/AddPlaylistContentsMediaContainer.md index 1f0cc4e..11e43e2 100644 --- a/docs/Models/Requests/AddPlaylistContentsMediaContainer.md +++ b/docs/Models/Requests/AddPlaylistContentsMediaContainer.md @@ -3,9 +3,9 @@ ## Fields -| Field | Type | Required | Description | Example | -| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `Size` | *int* | :heavy_minus_sign: | N/A | 1 | -| `LeafCountAdded` | *int* | :heavy_minus_sign: | N/A | 1 | -| `LeafCountRequested` | *int* | :heavy_minus_sign: | N/A | 1 | -| `Metadata` | List<[AddPlaylistContentsMetadata](../../Models/Requests/AddPlaylistContentsMetadata.md)> | :heavy_minus_sign: | N/A | [{"addedAt":1705716458,"composite":"/playlists/94/composite/1705800070","duration":423000,"guid":"com.plexapp.agents.none://972e3047-83d6-4848-a000-261f0af26ba2","key":"/playlists/94/items","leafCount":3,"playlistType":"video","ratingKey":"94","smart":false,"summary":"One of my great playlists","title":"A great playlist","type":"playlist","updatedAt":1705800070}] | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Size` | *int* | :heavy_minus_sign: | N/A | 1 | +| `LeafCountAdded` | *int* | :heavy_minus_sign: | N/A | 1 | +| `LeafCountRequested` | *int* | :heavy_minus_sign: | N/A | 1 | +| `Metadata` | List<[AddPlaylistContentsMetadata](../../Models/Requests/AddPlaylistContentsMetadata.md)> | :heavy_minus_sign: | N/A | [
{
"ratingKey": "94",
"key": "/playlists/94/items",
"guid": "com.plexapp.agents.none://972e3047-83d6-4848-a000-261f0af26ba2",
"type": "playlist",
"title": "A great playlist",
"summary": "One of my great playlists",
"smart": false,
"playlistType": "video",
"composite": "/playlists/94/composite/1705800070",
"duration": 423000,
"leafCount": 3,
"addedAt": 1705716458,
"updatedAt": 1705800070
}
] | \ No newline at end of file diff --git a/docs/Models/Requests/CreatePlaylistMediaContainer.md b/docs/Models/Requests/CreatePlaylistMediaContainer.md index dff74e7..9663f89 100644 --- a/docs/Models/Requests/CreatePlaylistMediaContainer.md +++ b/docs/Models/Requests/CreatePlaylistMediaContainer.md @@ -3,7 +3,7 @@ ## Fields -| Field | Type | Required | Description | Example | -| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `Size` | *int* | :heavy_minus_sign: | N/A | 7 | -| `Metadata` | List<[CreatePlaylistMetadata](../../Models/Requests/CreatePlaylistMetadata.md)> | :heavy_minus_sign: | N/A | [{"addedAt":1705719589,"composite":"/playlists/96/composite/1705724593","duration":141000,"guid":"com.plexapp.agents.none://a2f92937-1408-40e2-b022-63a8a9377e55","icon":"playlist://image.smart","key":"/playlists/96/items","lastViewedAt":1705719589,"leafCount":1,"playlistType":"video","ratingKey":"96","smart":false,"summary":"What a great playlist","title":"A Great Playlist","type":"playlist","updatedAt":1705724593,"viewCount":1}] | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `Size` | *int* | :heavy_minus_sign: | N/A | 7 | +| `Metadata` | List<[CreatePlaylistMetadata](../../Models/Requests/CreatePlaylistMetadata.md)> | :heavy_minus_sign: | N/A | [
{
"ratingKey": "96",
"key": "/playlists/96/items",
"guid": "com.plexapp.agents.none://a2f92937-1408-40e2-b022-63a8a9377e55",
"type": "playlist",
"title": "A Great Playlist",
"summary": "What a great playlist",
"smart": false,
"playlistType": "video",
"icon": "playlist://image.smart",
"viewCount": 1,
"lastViewedAt": 1705719589,
"leafCount": 1,
"addedAt": 1705719589,
"updatedAt": 1705724593,
"composite": "/playlists/96/composite/1705724593",
"duration": 141000
}
] | \ No newline at end of file diff --git a/docs/Models/Requests/CreatePlaylistRequest.md b/docs/Models/Requests/CreatePlaylistRequest.md index 549ea1b..105958a 100644 --- a/docs/Models/Requests/CreatePlaylistRequest.md +++ b/docs/Models/Requests/CreatePlaylistRequest.md @@ -3,10 +3,10 @@ ## Fields -| Field | Type | Required | Description | -| --------------------------------------- | --------------------------------------- | --------------------------------------- | --------------------------------------- | -| `Title` | *string* | :heavy_check_mark: | name of the playlist | -| `Type` | [Type](../../Models/Requests/Type.md) | :heavy_check_mark: | type of playlist to create | -| `Smart` | [Smart](../../Models/Requests/Smart.md) | :heavy_check_mark: | whether the playlist is smart or not | -| `Uri` | *string* | :heavy_check_mark: | the content URI for the playlist | -| `PlayQueueID` | *double* | :heavy_minus_sign: | the play queue to copy to a playlist | \ No newline at end of file +| Field | Type | Required | Description | +| --------------------------------------------------------- | --------------------------------------------------------- | --------------------------------------------------------- | --------------------------------------------------------- | +| `Title` | *string* | :heavy_check_mark: | name of the playlist | +| `Type` | [QueryParamType](../../Models/Requests/QueryParamType.md) | :heavy_check_mark: | type of playlist to create | +| `Smart` | [Smart](../../Models/Requests/Smart.md) | :heavy_check_mark: | whether the playlist is smart or not | +| `Uri` | *string* | :heavy_check_mark: | the content URI for the playlist | +| `PlayQueueID` | *double* | :heavy_minus_sign: | the play queue to copy to a playlist | \ No newline at end of file diff --git a/docs/Models/Requests/FieldType.md b/docs/Models/Requests/FieldType.md index f53da0f..8b4026c 100644 --- a/docs/Models/Requests/FieldType.md +++ b/docs/Models/Requests/FieldType.md @@ -6,4 +6,4 @@ | Field | Type | Required | Description | Example | | --------------------------------------------------- | --------------------------------------------------- | --------------------------------------------------- | --------------------------------------------------- | --------------------------------------------------- | | `Type` | *string* | :heavy_minus_sign: | N/A | resolution | -| `Operator` | List<[Operator](../../Models/Requests/Operator.md)> | :heavy_minus_sign: | N/A | [{"key":"=","title":"is"}] | \ No newline at end of file +| `Operator` | List<[Operator](../../Models/Requests/Operator.md)> | :heavy_minus_sign: | N/A | [
{
"key": "=",
"title": "is"
}
] | \ No newline at end of file diff --git a/docs/Models/Requests/GetGlobalHubsMediaContainer.md b/docs/Models/Requests/GetGlobalHubsMediaContainer.md index 9fd0b8b..64b2174 100644 --- a/docs/Models/Requests/GetGlobalHubsMediaContainer.md +++ b/docs/Models/Requests/GetGlobalHubsMediaContainer.md @@ -3,9 +3,9 @@ ## Fields -| Field | Type | Required | Description | Example | -| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `Size` | *int* | :heavy_minus_sign: | N/A | 8 | -| `AllowSync` | *bool* | :heavy_minus_sign: | N/A | true | -| `Identifier` | *string* | :heavy_minus_sign: | N/A | com.plexapp.plugins.library | -| `Hub` | List<[Hub](../../Models/Requests/Hub.md)> | :heavy_minus_sign: | N/A | [{"Metadata":[{"addedAt":1655309388,"composite":"/playlists/50768/composite/1704333758","duration":42864000,"guid":"com.plexapp.agents.none://81658e0d-cd4e-4c73-abb9-832b2ae2037b","icon":"playlist://image.smart","key":"/playlists/50768/items","lastViewedAt":1705329935,"leafCount":178,"playlistType":"audio","ratingKey":"50768","smart":true,"summary":"All your highly rated tracks, in one convenient place.","title":"❤️ Tracks","titleSort":"Tracks","type":"playlist","updatedAt":1704333758,"viewCount":47},{"addedAt":1697993545,"composite":"/playlists/65523/composite/1698597932","duration":4864000,"guid":"com.plexapp.agents.none://1bcdd596-892b-4856-9f28-b4338c439300","key":"/playlists/65523/items","lastViewedAt":1698597949,"leafCount":19,"playlistType":"audio","ratingKey":"65523","smart":false,"summary":"","title":"Car Rides","type":"playlist","updatedAt":1698597932,"viewCount":2},{"addedAt":1679616785,"composite":"/playlists/58188/composite/1680825595","duration":12522000,"guid":"com.plexapp.agents.none://8f0441d3-2a28-4644-a2f1-b7deeb290dff","key":"/playlists/58188/items","lastViewedAt":1680825596,"leafCount":56,"playlistType":"audio","ratingKey":"58188","smart":false,"summary":"","title":"Workout","type":"playlist","updatedAt":1680825595,"viewCount":4},{"addedAt":1673372306,"composite":"/playlists/57341/composite/1673372385","duration":19119000,"guid":"com.plexapp.agents.none://bf8778c3-20a3-4619-8eb0-3c172c18ffd6","key":"/playlists/57341/items","lastViewedAt":1673372306,"leafCount":3,"playlistType":"video","ratingKey":"57341","smart":false,"summary":"","title":"January Movie Day","type":"playlist","updatedAt":1673372385,"viewCount":1},{"addedAt":1671197078,"composite":"/playlists/57302/composite/1671205874","duration":23040000,"guid":"com.plexapp.agents.none://f25064ed-05bb-4bcf-b70c-ed7514b70929","key":"/playlists/57302/items","lastViewedAt":1671206853,"leafCount":3,"playlistType":"video","ratingKey":"57302","smart":false,"summary":"","title":"December Movie Day","type":"playlist","updatedAt":1671205874,"viewCount":2},{"addedAt":1668779618,"composite":"/playlists/57070/composite/1668787730","duration":16873000,"guid":"com.plexapp.agents.none://9fee6c5b-3143-4923-813e-57bd0190056c","key":"/playlists/57070/items","lastViewedAt":1668787732,"leafCount":3,"playlistType":"video","ratingKey":"57070","smart":false,"summary":"","title":"November Movie Day","type":"playlist","updatedAt":1668787730,"viewCount":2}],"context":"hub.home.playlists","hubIdentifier":"home.playlists","hubKey":"/library/metadata/50768,65523,58188,57341,57302,57070","key":"/playlists/all?type=15\u0026sort=lastViewedAt:desc\u0026playlistType=video,audio","more":true,"promoted":true,"size":6,"style":"shelf","title":"Recent Playlists","type":"playlist"}] | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Size` | *int* | :heavy_minus_sign: | N/A | 8 | +| `AllowSync` | *bool* | :heavy_minus_sign: | N/A | true | +| `Identifier` | *string* | :heavy_minus_sign: | N/A | com.plexapp.plugins.library | +| `Hub` | List<[Hub](../../Models/Requests/Hub.md)> | :heavy_minus_sign: | N/A | [
{
"hubKey": "/library/metadata/50768,65523,58188,57341,57302,57070",
"key": "/playlists/all?type=15\u0026sort=lastViewedAt:desc\u0026playlistType=video,audio",
"title": "Recent Playlists",
"type": "playlist",
"hubIdentifier": "home.playlists",
"context": "hub.home.playlists",
"size": 6,
"more": true,
"style": "shelf",
"promoted": true,
"Metadata": [
{
"ratingKey": "50768",
"key": "/playlists/50768/items",
"guid": "com.plexapp.agents.none://81658e0d-cd4e-4c73-abb9-832b2ae2037b",
"type": "playlist",
"title": "❤️ Tracks",
"titleSort": "Tracks",
"summary": "All your highly rated tracks, in one convenient place.",
"smart": true,
"playlistType": "audio",
"composite": "/playlists/50768/composite/1704333758",
"icon": "playlist://image.smart",
"viewCount": 47,
"lastViewedAt": 1705329935,
"duration": 42864000,
"leafCount": 178,
"addedAt": 1655309388,
"updatedAt": 1704333758
},
{
"ratingKey": "65523",
"key": "/playlists/65523/items",
"guid": "com.plexapp.agents.none://1bcdd596-892b-4856-9f28-b4338c439300",
"type": "playlist",
"title": "Car Rides",
"summary": "",
"smart": false,
"playlistType": "audio",
"composite": "/playlists/65523/composite/1698597932",
"viewCount": 2,
"lastViewedAt": 1698597949,
"duration": 4864000,
"leafCount": 19,
"addedAt": 1697993545,
"updatedAt": 1698597932
},
{
"ratingKey": "58188",
"key": "/playlists/58188/items",
"guid": "com.plexapp.agents.none://8f0441d3-2a28-4644-a2f1-b7deeb290dff",
"type": "playlist",
"title": "Workout",
"summary": "",
"smart": false,
"playlistType": "audio",
"composite": "/playlists/58188/composite/1680825595",
"viewCount": 4,
"lastViewedAt": 1680825596,
"duration": 12522000,
"leafCount": 56,
"addedAt": 1679616785,
"updatedAt": 1680825595
},
{
"ratingKey": "57341",
"key": "/playlists/57341/items",
"guid": "com.plexapp.agents.none://bf8778c3-20a3-4619-8eb0-3c172c18ffd6",
"type": "playlist",
"title": "January Movie Day",
"summary": "",
"smart": false,
"playlistType": "video",
"composite": "/playlists/57341/composite/1673372385",
"viewCount": 1,
"lastViewedAt": 1673372306,
"duration": 19119000,
"leafCount": 3,
"addedAt": 1673372306,
"updatedAt": 1673372385
},
{
"ratingKey": "57302",
"key": "/playlists/57302/items",
"guid": "com.plexapp.agents.none://f25064ed-05bb-4bcf-b70c-ed7514b70929",
"type": "playlist",
"title": "December Movie Day",
"summary": "",
"smart": false,
"playlistType": "video",
"composite": "/playlists/57302/composite/1671205874",
"viewCount": 2,
"lastViewedAt": 1671206853,
"duration": 23040000,
"leafCount": 3,
"addedAt": 1671197078,
"updatedAt": 1671205874
},
{
"ratingKey": "57070",
"key": "/playlists/57070/items",
"guid": "com.plexapp.agents.none://9fee6c5b-3143-4923-813e-57bd0190056c",
"type": "playlist",
"title": "November Movie Day",
"summary": "",
"smart": false,
"playlistType": "video",
"composite": "/playlists/57070/composite/1668787730",
"viewCount": 2,
"lastViewedAt": 1668787732,
"duration": 16873000,
"leafCount": 3,
"addedAt": 1668779618,
"updatedAt": 1668787730
}
]
}
] | \ No newline at end of file diff --git a/docs/Models/Requests/GetLibrariesDirectory.md b/docs/Models/Requests/GetLibrariesDirectory.md index f156180..76fe8ea 100644 --- a/docs/Models/Requests/GetLibrariesDirectory.md +++ b/docs/Models/Requests/GetLibrariesDirectory.md @@ -3,26 +3,26 @@ ## Fields -| Field | Type | Required | Description | Example | -| --------------------------------------------------- | --------------------------------------------------- | --------------------------------------------------- | --------------------------------------------------- | --------------------------------------------------- | -| `AllowSync` | *bool* | :heavy_minus_sign: | N/A | true | -| `Art` | *string* | :heavy_minus_sign: | N/A | /:/resources/movie-fanart.jpg | -| `Composite` | *string* | :heavy_minus_sign: | N/A | /library/sections/1/composite/1705615584 | -| `Filters` | *bool* | :heavy_minus_sign: | N/A | true | -| `Refreshing` | *bool* | :heavy_minus_sign: | N/A | false | -| `Thumb` | *string* | :heavy_minus_sign: | N/A | /:/resources/movie.png | -| `Key` | *string* | :heavy_minus_sign: | N/A | 1 | -| `Type` | *string* | :heavy_minus_sign: | N/A | movie | -| `Title` | *string* | :heavy_minus_sign: | N/A | Movies | -| `Agent` | *string* | :heavy_minus_sign: | N/A | tv.plex.agents.movie | -| `Scanner` | *string* | :heavy_minus_sign: | N/A | Plex Movie | -| `Language` | *string* | :heavy_minus_sign: | N/A | en-US | -| `Uuid` | *string* | :heavy_minus_sign: | N/A | 322a231a-b7f7-49f5-920f-14c61199cd30 | -| `UpdatedAt` | *int* | :heavy_minus_sign: | N/A | 1705615634 | -| `CreatedAt` | *int* | :heavy_minus_sign: | N/A | 1654131312 | -| `ScannedAt` | *int* | :heavy_minus_sign: | N/A | 1705615584 | -| `Content` | *bool* | :heavy_minus_sign: | N/A | true | -| `Directory` | *bool* | :heavy_minus_sign: | N/A | true | -| `ContentChangedAt` | *int* | :heavy_minus_sign: | N/A | 3192854 | -| `Hidden` | *int* | :heavy_minus_sign: | N/A | 0 | -| `Location` | List<[Location](../../Models/Requests/Location.md)> | :heavy_minus_sign: | N/A | [{"id":1,"path":"/movies"}] | \ No newline at end of file +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | +| `AllowSync` | *bool* | :heavy_minus_sign: | N/A | true | +| `Art` | *string* | :heavy_minus_sign: | N/A | /:/resources/movie-fanart.jpg | +| `Composite` | *string* | :heavy_minus_sign: | N/A | /library/sections/1/composite/1705615584 | +| `Filters` | *bool* | :heavy_minus_sign: | N/A | true | +| `Refreshing` | *bool* | :heavy_minus_sign: | N/A | false | +| `Thumb` | *string* | :heavy_minus_sign: | N/A | /:/resources/movie.png | +| `Key` | *string* | :heavy_minus_sign: | N/A | 1 | +| `Type` | *string* | :heavy_minus_sign: | N/A | movie | +| `Title` | *string* | :heavy_minus_sign: | N/A | Movies | +| `Agent` | *string* | :heavy_minus_sign: | N/A | tv.plex.agents.movie | +| `Scanner` | *string* | :heavy_minus_sign: | N/A | Plex Movie | +| `Language` | *string* | :heavy_minus_sign: | N/A | en-US | +| `Uuid` | *string* | :heavy_minus_sign: | N/A | 322a231a-b7f7-49f5-920f-14c61199cd30 | +| `UpdatedAt` | *int* | :heavy_minus_sign: | N/A | 1705615634 | +| `CreatedAt` | *int* | :heavy_minus_sign: | N/A | 1654131312 | +| `ScannedAt` | *int* | :heavy_minus_sign: | N/A | 1705615584 | +| `Content` | *bool* | :heavy_minus_sign: | N/A | true | +| `Directory` | *bool* | :heavy_minus_sign: | N/A | true | +| `ContentChangedAt` | *int* | :heavy_minus_sign: | N/A | 3192854 | +| `Hidden` | *int* | :heavy_minus_sign: | N/A | 0 | +| `Location` | List<[GetLibrariesLocation](../../Models/Requests/GetLibrariesLocation.md)> | :heavy_minus_sign: | N/A | [
{
"id": 1,
"path": "/movies"
}
] | \ No newline at end of file diff --git a/docs/Models/Requests/GetLibrariesLocation.md b/docs/Models/Requests/GetLibrariesLocation.md new file mode 100644 index 0000000..d3ed793 --- /dev/null +++ b/docs/Models/Requests/GetLibrariesLocation.md @@ -0,0 +1,9 @@ +# GetLibrariesLocation + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ | +| `Id` | *int* | :heavy_minus_sign: | N/A | 1 | +| `Path` | *string* | :heavy_minus_sign: | N/A | /movies | \ No newline at end of file diff --git a/docs/Models/Requests/GetLibrariesMediaContainer.md b/docs/Models/Requests/GetLibrariesMediaContainer.md index 02a1cf6..f8ef75e 100644 --- a/docs/Models/Requests/GetLibrariesMediaContainer.md +++ b/docs/Models/Requests/GetLibrariesMediaContainer.md @@ -3,9 +3,9 @@ ## Fields -| Field | Type | Required | Description | Example | -| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `Size` | *int* | :heavy_minus_sign: | N/A | 5 | -| `AllowSync` | *bool* | :heavy_minus_sign: | N/A | false | -| `Title1` | *string* | :heavy_minus_sign: | N/A | Plex Library | -| `Directory` | List<[GetLibrariesDirectory](../../Models/Requests/GetLibrariesDirectory.md)> | :heavy_minus_sign: | N/A | [{"Location":[{"id":1,"path":"/movies"}],"agent":"tv.plex.agents.movie","allowSync":true,"art":"/:/resources/movie-fanart.jpg","composite":"/library/sections/1/composite/1705615584","content":true,"contentChangedAt":3192854,"createdAt":1654131312,"directory":true,"filters":true,"hidden":0,"key":"1","language":"en-US","refreshing":false,"scannedAt":1705615584,"scanner":"Plex Movie","thumb":"/:/resources/movie.png","title":"Movies","type":"movie","updatedAt":1705615634,"uuid":"322a231a-b7f7-49f5-920f-14c61199cd30"}] | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Size` | *int* | :heavy_minus_sign: | N/A | 5 | +| `AllowSync` | *bool* | :heavy_minus_sign: | N/A | false | +| `Title1` | *string* | :heavy_minus_sign: | N/A | Plex Library | +| `Directory` | List<[GetLibrariesDirectory](../../Models/Requests/GetLibrariesDirectory.md)> | :heavy_minus_sign: | N/A | [
{
"allowSync": true,
"art": "/:/resources/movie-fanart.jpg",
"composite": "/library/sections/1/composite/1705615584",
"filters": true,
"refreshing": false,
"thumb": "/:/resources/movie.png",
"key": "1",
"type": "movie",
"title": "Movies",
"agent": "tv.plex.agents.movie",
"scanner": "Plex Movie",
"language": "en-US",
"uuid": "322a231a-b7f7-49f5-920f-14c61199cd30",
"updatedAt": 1705615634,
"createdAt": 1654131312,
"scannedAt": 1705615584,
"content": true,
"directory": true,
"contentChangedAt": 3192854,
"hidden": 0,
"Location": [
{
"id": 1,
"path": "/movies"
}
]
}
] | \ No newline at end of file diff --git a/docs/Models/Requests/GetLibraryHubsHub.md b/docs/Models/Requests/GetLibraryHubsHub.md index b68f3d5..4d86474 100644 --- a/docs/Models/Requests/GetLibraryHubsHub.md +++ b/docs/Models/Requests/GetLibraryHubsHub.md @@ -3,17 +3,17 @@ ## Fields -| Field | Type | Required | Description | Example | -| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -| `Key` | *string* | :heavy_minus_sign: | N/A | /library/sections/1/all?sort=lastViewedAt:desc&unwatched=0&viewOffset=0 | -| `Title` | *string* | :heavy_minus_sign: | N/A | Recently Played Movies | -| `Type` | *string* | :heavy_minus_sign: | N/A | movie | -| `HubIdentifier` | *string* | :heavy_minus_sign: | N/A | movie.recentlyviewed.1 | -| `Context` | *string* | :heavy_minus_sign: | N/A | hub.movie.recentlyviewed | -| `Size` | *int* | :heavy_minus_sign: | N/A | 6 | -| `More` | *bool* | :heavy_minus_sign: | N/A | true | -| `Style` | *string* | :heavy_minus_sign: | N/A | shelf | -| `HubKey` | *string* | :heavy_minus_sign: | N/A | /library/metadata/66485,66098,57249,11449,5858,14944 | -| `Metadata` | List<[GetLibraryHubsMetadata](../../Models/Requests/GetLibraryHubsMetadata.md)> | :heavy_minus_sign: | N/A | [{"Country":[{"tag":"United States of America"}],"Director":[{"tag":"Byron Howard"},{"tag":"Nathan Greno"}],"Genre":[{"tag":"Comedy"},{"tag":"Animation"}],"Media":[{"Part":[{"audioProfile":"lc","container":"mp4","duration":6017237,"file":"/movies/Tangled (2010)/Tangled (2010) Bluray-1080p.mp4","has64bitOffsets":false,"id":38247,"key":"/library/parts/38247/1589412494/file.mp4","optimizedForStreaming":true,"size":1545647447,"videoProfile":"high"}],"aspectRatio":1.78,"audioChannels":2,"audioCodec":"aac","audioProfile":"lc","bitrate":2051,"container":"mp4","duration":6017237,"has64bitOffsets":false,"height":1080,"id":38247,"optimizedForStreaming":1,"videoCodec":"h264","videoFrameRate":"24p","videoProfile":"high","videoResolution":"1080","width":1920}],"Role":[{"tag":"Mandy Moore"},{"tag":"Zachary Levi"},{"tag":"Donna Murphy"}],"Writer":[{"tag":"Jacob Grimm"},{"tag":"Wilhelm Grimm"}],"addedAt":1589412494,"art":"/library/metadata/14944/art/1705739847","audienceRating":8.7,"audienceRatingImage":"rottentomatoes://image.rating.upright","chapterSource":"media","contentRating":"PG","duration":6017237,"guid":"plex://movie/5d77686eeb5d26001f1eb339","key":"/library/metadata/14944","lastViewedAt":1704936047,"librarySectionID":1,"librarySectionKey":"/library/sections/1","librarySectionTitle":"Movies","originallyAvailableAt":"2010-11-24T00:00:00Z","primaryExtraKey":"/library/metadata/14952","rating":8.9,"ratingImage":"rottentomatoes://image.rating.ripe","ratingKey":"14944","skipCount":1,"studio":"Walt Disney Animation Studios","summary":"The magically long-haired Rapunzel has spent her entire life in a tower, but now that a runaway thief has stumbled upon her, she is about to discover the world for the first time, and who she really is.","tagline":"They're taking adventure to new lengths.","thumb":"/library/metadata/14944/thumb/1705739847","title":"Tangled","type":"movie","updatedAt":1705739847,"viewCount":1,"year":2010}] | -| `Promoted` | *bool* | :heavy_minus_sign: | N/A | true | -| `Random` | *bool* | :heavy_minus_sign: | N/A | true | \ No newline at end of file +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Key` | *string* | :heavy_minus_sign: | N/A | /library/sections/1/all?sort=lastViewedAt:desc&unwatched=0&viewOffset=0 | +| `Title` | *string* | :heavy_minus_sign: | N/A | Recently Played Movies | +| `Type` | *string* | :heavy_minus_sign: | N/A | movie | +| `HubIdentifier` | *string* | :heavy_minus_sign: | N/A | movie.recentlyviewed.1 | +| `Context` | *string* | :heavy_minus_sign: | N/A | hub.movie.recentlyviewed | +| `Size` | *int* | :heavy_minus_sign: | N/A | 6 | +| `More` | *bool* | :heavy_minus_sign: | N/A | true | +| `Style` | *string* | :heavy_minus_sign: | N/A | shelf | +| `HubKey` | *string* | :heavy_minus_sign: | N/A | /library/metadata/66485,66098,57249,11449,5858,14944 | +| `Metadata` | List<[GetLibraryHubsMetadata](../../Models/Requests/GetLibraryHubsMetadata.md)> | :heavy_minus_sign: | N/A | [
{
"ratingKey": "14944",
"key": "/library/metadata/14944",
"guid": "plex://movie/5d77686eeb5d26001f1eb339",
"studio": "Walt Disney Animation Studios",
"type": "movie",
"title": "Tangled",
"librarySectionTitle": "Movies",
"librarySectionID": 1,
"librarySectionKey": "/library/sections/1",
"contentRating": "PG",
"summary": "The magically long-haired Rapunzel has spent her entire life in a tower, but now that a runaway thief has stumbled upon her, she is about to discover the world for the first time, and who she really is.",
"rating": 8.9,
"audienceRating": 8.7,
"viewCount": 1,
"lastViewedAt": 1704936047,
"year": 2010,
"tagline": "They're taking adventure to new lengths.",
"thumb": "/library/metadata/14944/thumb/1705739847",
"art": "/library/metadata/14944/art/1705739847",
"duration": 6017237,
"originallyAvailableAt": "2010-11-24T00:00:00Z",
"addedAt": 1589412494,
"updatedAt": 1705739847,
"audienceRatingImage": "rottentomatoes://image.rating.upright",
"primaryExtraKey": "/library/metadata/14952",
"ratingImage": "rottentomatoes://image.rating.ripe",
"Media": [
{
"id": 38247,
"duration": 6017237,
"bitrate": 2051,
"width": 1920,
"height": 1080,
"aspectRatio": 1.78,
"audioChannels": 2,
"audioCodec": "aac",
"videoCodec": "h264",
"videoResolution": "1080",
"container": "mp4",
"videoFrameRate": "24p",
"optimizedForStreaming": 1,
"audioProfile": "lc",
"has64bitOffsets": false,
"videoProfile": "high",
"Part": [
{
"id": 38247,
"key": "/library/parts/38247/1589412494/file.mp4",
"duration": 6017237,
"file": "/movies/Tangled (2010)/Tangled (2010) Bluray-1080p.mp4",
"size": 1545647447,
"audioProfile": "lc",
"container": "mp4",
"has64bitOffsets": false,
"optimizedForStreaming": true,
"videoProfile": "high"
}
]
}
],
"Genre": [
{
"tag": "Comedy"
},
{
"tag": "Animation"
}
],
"Country": [
{
"tag": "United States of America"
}
],
"Director": [
{
"tag": "Byron Howard"
},
{
"tag": "Nathan Greno"
}
],
"Role": [
{
"tag": "Mandy Moore"
},
{
"tag": "Zachary Levi"
},
{
"tag": "Donna Murphy"
}
],
"Writer": [
{
"tag": "Jacob Grimm"
},
{
"tag": "Wilhelm Grimm"
}
],
"skipCount": 1,
"chapterSource": "media"
}
] | +| `Promoted` | *bool* | :heavy_minus_sign: | N/A | true | +| `Random` | *bool* | :heavy_minus_sign: | N/A | true | \ No newline at end of file diff --git a/docs/Models/Requests/GetLibraryHubsMedia.md b/docs/Models/Requests/GetLibraryHubsMedia.md index 9d571f8..667dde0 100644 --- a/docs/Models/Requests/GetLibraryHubsMedia.md +++ b/docs/Models/Requests/GetLibraryHubsMedia.md @@ -3,22 +3,22 @@ ## Fields -| Field | Type | Required | Description | Example | -| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `Id` | *int* | :heavy_minus_sign: | N/A | 38247 | -| `Duration` | *int* | :heavy_minus_sign: | N/A | 6017237 | -| `Bitrate` | *int* | :heavy_minus_sign: | N/A | 2051 | -| `Width` | *int* | :heavy_minus_sign: | N/A | 1920 | -| `Height` | *int* | :heavy_minus_sign: | N/A | 1080 | -| `AspectRatio` | *double* | :heavy_minus_sign: | N/A | 1.78 | -| `AudioChannels` | *int* | :heavy_minus_sign: | N/A | 2 | -| `AudioCodec` | *string* | :heavy_minus_sign: | N/A | aac | -| `VideoCodec` | *string* | :heavy_minus_sign: | N/A | h264 | -| `VideoResolution` | *string* | :heavy_minus_sign: | N/A | 1080 | -| `Container` | *string* | :heavy_minus_sign: | N/A | mp4 | -| `VideoFrameRate` | *string* | :heavy_minus_sign: | N/A | 24p | -| `OptimizedForStreaming` | *int* | :heavy_minus_sign: | N/A | 1 | -| `AudioProfile` | *string* | :heavy_minus_sign: | N/A | lc | -| `Has64bitOffsets` | *bool* | :heavy_minus_sign: | N/A | false | -| `VideoProfile` | *string* | :heavy_minus_sign: | N/A | high | -| `Part` | List<[GetLibraryHubsPart](../../Models/Requests/GetLibraryHubsPart.md)> | :heavy_minus_sign: | N/A | [{"audioProfile":"lc","container":"mp4","duration":6017237,"file":"/movies/Tangled (2010)/Tangled (2010) Bluray-1080p.mp4","has64bitOffsets":false,"id":38247,"key":"/library/parts/38247/1589412494/file.mp4","optimizedForStreaming":true,"size":1545647447,"videoProfile":"high"}] | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `Id` | *int* | :heavy_minus_sign: | N/A | 38247 | +| `Duration` | *int* | :heavy_minus_sign: | N/A | 6017237 | +| `Bitrate` | *int* | :heavy_minus_sign: | N/A | 2051 | +| `Width` | *int* | :heavy_minus_sign: | N/A | 1920 | +| `Height` | *int* | :heavy_minus_sign: | N/A | 1080 | +| `AspectRatio` | *double* | :heavy_minus_sign: | N/A | 1.78 | +| `AudioChannels` | *int* | :heavy_minus_sign: | N/A | 2 | +| `AudioCodec` | *string* | :heavy_minus_sign: | N/A | aac | +| `VideoCodec` | *string* | :heavy_minus_sign: | N/A | h264 | +| `VideoResolution` | *string* | :heavy_minus_sign: | N/A | 1080 | +| `Container` | *string* | :heavy_minus_sign: | N/A | mp4 | +| `VideoFrameRate` | *string* | :heavy_minus_sign: | N/A | 24p | +| `OptimizedForStreaming` | *int* | :heavy_minus_sign: | N/A | 1 | +| `AudioProfile` | *string* | :heavy_minus_sign: | N/A | lc | +| `Has64bitOffsets` | *bool* | :heavy_minus_sign: | N/A | false | +| `VideoProfile` | *string* | :heavy_minus_sign: | N/A | high | +| `Part` | List<[GetLibraryHubsPart](../../Models/Requests/GetLibraryHubsPart.md)> | :heavy_minus_sign: | N/A | [
{
"id": 38247,
"key": "/library/parts/38247/1589412494/file.mp4",
"duration": 6017237,
"file": "/movies/Tangled (2010)/Tangled (2010) Bluray-1080p.mp4",
"size": 1545647447,
"audioProfile": "lc",
"container": "mp4",
"has64bitOffsets": false,
"optimizedForStreaming": true,
"videoProfile": "high"
}
] | \ No newline at end of file diff --git a/docs/Models/Requests/GetLibraryHubsMediaContainer.md b/docs/Models/Requests/GetLibraryHubsMediaContainer.md index 5a4f637..dc5eea7 100644 --- a/docs/Models/Requests/GetLibraryHubsMediaContainer.md +++ b/docs/Models/Requests/GetLibraryHubsMediaContainer.md @@ -3,12 +3,12 @@ ## Fields -| Field | Type | Required | Description | Example | -| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `Size` | *int* | :heavy_minus_sign: | N/A | 7 | -| `AllowSync` | *bool* | :heavy_minus_sign: | N/A | true | -| `Identifier` | *string* | :heavy_minus_sign: | N/A | com.plexapp.plugins.library | -| `LibrarySectionID` | *int* | :heavy_minus_sign: | N/A | 1 | -| `LibrarySectionTitle` | *string* | :heavy_minus_sign: | N/A | Movies | -| `LibrarySectionUUID` | *string* | :heavy_minus_sign: | N/A | 322a231a-b7f7-49f5-920f-14c61199cd30 | -| `Hub` | List<[GetLibraryHubsHub](../../Models/Requests/GetLibraryHubsHub.md)> | :heavy_minus_sign: | N/A | [{"Metadata":[{"Country":[{"tag":"United States of America"}],"Director":[{"tag":"Ceyda Torun"}],"Genre":[{"tag":"Documentary"}],"Media":[{"Part":[{"audioProfile":"lc","container":"mp4","duration":4736174,"file":"/movies/Kedi (2017)/Kedi (2017) 1080p x264.mp4","has64bitOffsets":false,"id":129778,"key":"/library/parts/129778/1702586883/file.mp4","optimizedForStreaming":false,"size":1410810905,"videoProfile":"high"}],"aspectRatio":1.78,"audioChannels":2,"audioCodec":"aac","audioProfile":"lc","bitrate":2377,"container":"mp4","duration":4736174,"has64bitOffsets":false,"height":1080,"id":129531,"optimizedForStreaming":0,"videoCodec":"h264","videoFrameRate":"24p","videoProfile":"high","videoResolution":"1080","width":1920}],"Role":[{"tag":"Bülent Üstün"}],"addedAt":1702586905,"art":"/library/metadata/66485/art/1702586907","audienceRating":8.5,"audienceRatingImage":"rottentomatoes://image.rating.upright","contentRating":"Not Rated","duration":4736174,"guid":"plex://movie/5d776c3251dd69001fe38bb4","key":"/library/metadata/66485","lastViewedAt":1705786111,"librarySectionID":1,"librarySectionKey":"/library/sections/1","librarySectionTitle":"Movies","originallyAvailableAt":"2017-02-10T00:00:00Z","primaryExtraKey":"/library/metadata/66486","rating":9.8,"ratingImage":"rottentomatoes://image.rating.ripe","ratingKey":"66485","studio":"Termite Films","summary":"A profile of an ancient city and its unique people, seen through the eyes of the most mysterious and beloved animal humans have ever known, the Cat.","tagline":"A cat meowing at your feet, looking up at you, is life smiling at you...","thumb":"/library/metadata/66485/thumb/1702586907","title":"Kedi","type":"movie","updatedAt":1702586907,"viewCount":2,"year":2017},{"Country":[{"tag":"United States of America"}],"Director":[{"tag":"Duwayne Dunham"}],"Genre":[{"tag":"Adventure"},{"tag":"Comedy"}],"Media":[{"Part":[{"audioProfile":"lc","container":"mp4","duration":5065775,"file":"/movies/Homeward Bound The Incredible Journey (1993)/Homeward Bound The Incredible Journey (1993) [BluRay] [1080p] [YTS.LT].mp4","has64bitOffsets":false,"id":129250,"key":"/library/parts/129250/1700434864/file.mp4","optimizedForStreaming":true,"size":1550855333,"videoProfile":"high"}],"aspectRatio":1.85,"audioChannels":2,"audioCodec":"aac","audioProfile":"lc","bitrate":2444,"container":"mp4","duration":5065775,"has64bitOffsets":false,"height":1024,"id":129003,"optimizedForStreaming":1,"videoCodec":"h264","videoFrameRate":"24p","videoProfile":"high","videoResolution":"1080","width":1904}],"Role":[{"tag":"Michael J. Fox"},{"tag":"Sally Field"},{"tag":"Don Ameche"}],"Writer":[{"tag":"Caroline Thompson"},{"tag":"Linda Woolverton"}],"addedAt":1700434925,"art":"/library/metadata/66098/art/1703148781","audienceRating":7.1,"audienceRatingImage":"rottentomatoes://image.rating.upright","contentRating":"G","duration":5065775,"guid":"plex://movie/5d9f34f4adeb7a0021ce020f","key":"/library/metadata/66098","lastViewedAt":1705709811,"librarySectionID":1,"librarySectionKey":"/library/sections/1","librarySectionTitle":"Movies","originallyAvailableAt":"1993-02-12T00:00:00Z","primaryExtraKey":"/library/metadata/66099","rating":8.7,"ratingImage":"rottentomatoes://image.rating.ripe","ratingKey":"66098","studio":"Touchwood Pacific Partners 1","summary":"A fun-loving American bulldog pup, a hilarious Himalayan cat, and a wise old golden retriever embark on a long trek through the rugged wilderness of the Sierra Nevada mountains in a quest to reach home and their beloved owners.","tagline":"In the classic tradition of Walt Disney Pictures comes a story about courage, adventure and friendship.","thumb":"/library/metadata/66098/thumb/1703148781","title":"Homeward Bound: The Incredible Journey","type":"movie","updatedAt":1703148781,"viewCount":2,"year":1993},{"Country":[{"tag":"Canada"},{"tag":"Ireland"}],"Director":[{"tag":"Matt Stawski"}],"Genre":[{"tag":"Comedy"},{"tag":"Family"}],"Media":[{"Part":[{"audioProfile":"lc","container":"mkv","duration":4459050,"file":"/movies/Blue's Big City Adventure (2022)/Blues.Big.City.Adventure.2022.2160p.4K.WEB.x265.10bit.AAC5.1-[YTS.MX].mkv","id":115478,"key":"/library/parts/115478/1669671340/file.mkv","size":3560750664,"videoProfile":"main 10"}],"aspectRatio":1.78,"audioChannels":6,"audioCodec":"aac","audioProfile":"lc","bitrate":6384,"container":"mkv","duration":4459050,"height":2160,"id":115470,"videoCodec":"hevc","videoFrameRate":"24p","videoProfile":"main 10","videoResolution":"4k","width":3840}],"Role":[{"tag":"Joshua Dela Cruz"},{"tag":"Steve Burns"},{"tag":"Donovan Patton"}],"Writer":[{"tag":"Traci Paige Johnson"},{"tag":"Todd Kessler"}],"addedAt":1669671356,"art":"/library/metadata/57249/art/1704274800","audienceRating":8.6,"audienceRatingImage":"rottentomatoes://image.rating.upright","contentRating":"TV-Y","duration":4459050,"guid":"plex://movie/60eff7d3e22797002c55c1cc","key":"/library/metadata/57249","lastViewedAt":1705681955,"librarySectionID":1,"librarySectionKey":"/library/sections/1","librarySectionTitle":"Movies","originallyAvailableAt":"2022-11-18T00:00:00Z","primaryExtraKey":"/library/metadata/57250","rating":8.3,"ratingImage":"rottentomatoes://image.rating.ripe","ratingKey":"57249","skipCount":1,"studio":"Nickelodeon Movies","summary":"Josh and Blue skidoo to New York City to audition for Rainbow Puppy's Broadway musical, but they get lost when Josh accidentally left his Handy Dandy Notebook at home. This leads to a game of Blue's Clues to figure out where the audition is. Meanwhile, Tickety Tock and her friends go to New York City to find Josh and Blue and get to the audition with help from Joe and Steve.","tagline":"All They Need is You.","thumb":"/library/metadata/57249/thumb/1704274800","title":"Blue's Big City Adventure","type":"movie","updatedAt":1704274800,"viewCount":8,"year":2022},{"Country":[{"tag":"United States of America"}],"Director":[{"tag":"Dan Scanlon"}],"Genre":[{"tag":"Animation"},{"tag":"Comedy"}],"Media":[{"Part":[{"audioProfile":"ma","container":"mkv","duration":6141428,"file":"/movies/Onward (2020)/Onward (2020) Bluray-1080p.mkv","id":29291,"key":"/library/parts/29291/1589237130/file.mkv","size":8426669232,"videoProfile":"high"}],"aspectRatio":2.35,"audioChannels":8,"audioCodec":"dca-ma","audioProfile":"ma","bitrate":10977,"container":"mkv","duration":6141428,"height":804,"id":29291,"videoCodec":"h264","videoFrameRate":"24p","videoProfile":"high","videoResolution":"1080","width":1920},{"Part":[{"audioProfile":"lc","container":"mp4","duration":6142006,"file":"/movies/Onward (2020)/Onward (2020) WEBRip-1080p.mp4","has64bitOffsets":false,"id":29315,"key":"/library/parts/29315/1629002847/file.mp4","optimizedForStreaming":true,"size":2026154995,"videoProfile":"high"}],"aspectRatio":2.35,"audioChannels":6,"audioCodec":"aac","audioProfile":"lc","bitrate":2639,"container":"mp4","duration":6142006,"has64bitOffsets":false,"height":800,"id":29315,"optimizedForStreaming":1,"videoCodec":"h264","videoFrameRate":"24p","videoProfile":"high","videoResolution":"1080","width":1920}],"Role":[{"tag":"Tom Holland"},{"tag":"Chris Pratt"},{"tag":"Julia Louis-Dreyfus"}],"Writer":[{"tag":"Kelsey Mann"},{"tag":"Dan Scanlon"}],"addedAt":1589237130,"art":"/library/metadata/11449/art/1705224000","audienceRating":9.5,"audienceRatingImage":"rottentomatoes://image.rating.upright","chapterSource":"media","contentRating":"PG","duration":6141428,"guid":"plex://movie/5d776edfad5437001f803cf9","key":"/library/metadata/11449","lastViewedAt":1705543126,"librarySectionID":1,"librarySectionKey":"/library/sections/1","librarySectionTitle":"Movies","originallyAvailableAt":"2020-03-04T00:00:00Z","primaryExtraKey":"/library/metadata/11470","rating":8.8,"ratingImage":"rottentomatoes://image.rating.ripe","ratingKey":"11449","studio":"Walt Disney Pictures","summary":"In a magical world full of technological advances, elven brothers Ian and Barley Lightfoot set out on an adventure to resurrect their late father for a day.","tagline":"Their quest begineth.","thumb":"/library/metadata/11449/thumb/1705224000","title":"Onward","type":"movie","updatedAt":1705224000,"viewCount":3,"year":2020},{"Country":[{"tag":"United States of America"}],"Director":[{"tag":"Chris Buck"},{"tag":"Jennifer Lee"}],"Genre":[{"tag":"Adventure"},{"tag":"Animation"}],"Media":[{"Part":[{"audioProfile":"lc","container":"mp4","duration":6194042,"file":"/movies/Frozen II (2019)/Frozen II (2019) Bluray-1080p.mp4","has64bitOffsets":false,"id":14954,"key":"/library/parts/14954/1588207762/file.mp4","optimizedForStreaming":true,"size":1969230037,"videoProfile":"high"}],"aspectRatio":2.35,"audioChannels":6,"audioCodec":"aac","audioProfile":"lc","bitrate":2538,"container":"mp4","duration":6194042,"has64bitOffsets":false,"height":800,"id":14954,"optimizedForStreaming":1,"videoCodec":"h264","videoFrameRate":"24p","videoProfile":"high","videoResolution":"1080","width":1920},{"Part":[{"audioProfile":"lc","container":"mp4","duration":6244271,"file":"/movies/Frozen II (2019)/Frozen II (2019) WEBRip-1080p.mp4","has64bitOffsets":false,"id":14999,"key":"/library/parts/14999/1629001526/file.mp4","optimizedForStreaming":true,"size":1983357282,"videoProfile":"high"}],"aspectRatio":2.35,"audioChannels":6,"audioCodec":"aac","audioProfile":"lc","bitrate":2536,"container":"mp4","duration":6244271,"has64bitOffsets":false,"height":800,"id":14999,"optimizedForStreaming":1,"videoCodec":"h264","videoFrameRate":"24p","videoProfile":"high","videoResolution":"1080","width":1920}],"Role":[{"tag":"Idina Menzel"},{"tag":"Kristen Bell"},{"tag":"Josh Gad"}],"Writer":[{"tag":"Chris Buck"},{"tag":"Hans Christian Andersen"}],"addedAt":1588207762,"art":"/library/metadata/5858/art/1704621922","audienceRating":9.2,"audienceRatingImage":"rottentomatoes://image.rating.upright","contentRating":"PG","duration":6194042,"guid":"plex://movie/5d776b85594b2b001e6dc641","key":"/library/metadata/5858","lastViewedAt":1705337663,"librarySectionID":1,"librarySectionKey":"/library/sections/1","librarySectionTitle":"Movies","originallyAvailableAt":"2019-11-20T00:00:00Z","primaryExtraKey":"/library/metadata/5892","rating":7.7,"ratingImage":"rottentomatoes://image.rating.ripe","ratingKey":"5858","skipCount":1,"studio":"Walt Disney Pictures","summary":"Anna, Elsa, Kristoff, Olaf and Sven leave Arendelle to travel to an ancient, autumn-bound forest of an enchanted land. They set out to find the origin of Elsa's powers in order to save their kingdom.","tagline":"The past is not what it seems.","thumb":"/library/metadata/5858/thumb/1704621922","title":"Frozen II","type":"movie","updatedAt":1704621922,"viewCount":1,"year":2019},{"Country":[{"tag":"United States of America"}],"Director":[{"tag":"Byron Howard"},{"tag":"Nathan Greno"}],"Genre":[{"tag":"Comedy"},{"tag":"Animation"}],"Media":[{"Part":[{"audioProfile":"lc","container":"mp4","duration":6017237,"file":"/movies/Tangled (2010)/Tangled (2010) Bluray-1080p.mp4","has64bitOffsets":false,"id":38247,"key":"/library/parts/38247/1589412494/file.mp4","optimizedForStreaming":true,"size":1545647447,"videoProfile":"high"}],"aspectRatio":1.78,"audioChannels":2,"audioCodec":"aac","audioProfile":"lc","bitrate":2051,"container":"mp4","duration":6017237,"has64bitOffsets":false,"height":1080,"id":38247,"optimizedForStreaming":1,"videoCodec":"h264","videoFrameRate":"24p","videoProfile":"high","videoResolution":"1080","width":1920}],"Role":[{"tag":"Mandy Moore"},{"tag":"Zachary Levi"},{"tag":"Donna Murphy"}],"Writer":[{"tag":"Jacob Grimm"},{"tag":"Wilhelm Grimm"}],"addedAt":1589412494,"art":"/library/metadata/14944/art/1705739847","audienceRating":8.7,"audienceRatingImage":"rottentomatoes://image.rating.upright","contentRating":"PG","duration":6017237,"guid":"plex://movie/5d77686eeb5d26001f1eb339","key":"/library/metadata/14944","lastViewedAt":1704936047,"librarySectionID":1,"librarySectionKey":"/library/sections/1","librarySectionTitle":"Movies","originallyAvailableAt":"2010-11-24T00:00:00Z","primaryExtraKey":"/library/metadata/14952","rating":8.9,"ratingImage":"rottentomatoes://image.rating.ripe","ratingKey":"14944","studio":"Walt Disney Animation Studios","summary":"The magically long-haired Rapunzel has spent her entire life in a tower, but now that a runaway thief has stumbled upon her, she is about to discover the world for the first time, and who she really is.","tagline":"They're taking adventure to new lengths.","thumb":"/library/metadata/14944/thumb/1705739847","title":"Tangled","type":"movie","updatedAt":1705739847,"viewCount":1,"year":2010}],"context":"hub.movie.recentlyviewed","hubIdentifier":"movie.recentlyviewed.1","hubKey":"/library/metadata/66485,66098,57249,11449,5858,14944","key":"/library/sections/1/all?sort=lastViewedAt:desc\u0026unwatched=0\u0026viewOffset=0","more":true,"promoted":true,"random":true,"size":6,"style":"shelf","title":"Recently Played Movies","type":"movie"}] | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `Size` | *int* | :heavy_minus_sign: | N/A | 7 | +| `AllowSync` | *bool* | :heavy_minus_sign: | N/A | true | +| `Identifier` | *string* | :heavy_minus_sign: | N/A | com.plexapp.plugins.library | +| `LibrarySectionID` | *int* | :heavy_minus_sign: | N/A | 1 | +| `LibrarySectionTitle` | *string* | :heavy_minus_sign: | N/A | Movies | +| `LibrarySectionUUID` | *string* | :heavy_minus_sign: | N/A | 322a231a-b7f7-49f5-920f-14c61199cd30 | +| `Hub` | List<[GetLibraryHubsHub](../../Models/Requests/GetLibraryHubsHub.md)> | :heavy_minus_sign: | N/A | [
{
"key": "/library/sections/1/all?sort=lastViewedAt:desc\u0026unwatched=0\u0026viewOffset=0",
"title": "Recently Played Movies",
"type": "movie",
"hubIdentifier": "movie.recentlyviewed.1",
"context": "hub.movie.recentlyviewed",
"size": 6,
"more": true,
"style": "shelf",
"hubKey": "/library/metadata/66485,66098,57249,11449,5858,14944",
"Metadata": [
{
"ratingKey": "66485",
"key": "/library/metadata/66485",
"guid": "plex://movie/5d776c3251dd69001fe38bb4",
"studio": "Termite Films",
"type": "movie",
"title": "Kedi",
"librarySectionTitle": "Movies",
"librarySectionID": 1,
"librarySectionKey": "/library/sections/1",
"contentRating": "Not Rated",
"summary": "A profile of an ancient city and its unique people, seen through the eyes of the most mysterious and beloved animal humans have ever known, the Cat.",
"rating": 9.8,
"audienceRating": 8.5,
"viewCount": 2,
"lastViewedAt": 1705786111,
"year": 2017,
"tagline": "A cat meowing at your feet, looking up at you, is life smiling at you...",
"thumb": "/library/metadata/66485/thumb/1702586907",
"art": "/library/metadata/66485/art/1702586907",
"duration": 4736174,
"originallyAvailableAt": "2017-02-10T00:00:00Z",
"addedAt": 1702586905,
"updatedAt": 1702586907,
"audienceRatingImage": "rottentomatoes://image.rating.upright",
"primaryExtraKey": "/library/metadata/66486",
"ratingImage": "rottentomatoes://image.rating.ripe",
"Media": [
{
"id": 129531,
"duration": 4736174,
"bitrate": 2377,
"width": 1920,
"height": 1080,
"aspectRatio": 1.78,
"audioChannels": 2,
"audioCodec": "aac",
"videoCodec": "h264",
"videoResolution": "1080",
"container": "mp4",
"videoFrameRate": "24p",
"optimizedForStreaming": 0,
"audioProfile": "lc",
"has64bitOffsets": false,
"videoProfile": "high",
"Part": [
{
"id": 129778,
"key": "/library/parts/129778/1702586883/file.mp4",
"duration": 4736174,
"file": "/movies/Kedi (2017)/Kedi (2017) 1080p x264.mp4",
"size": 1410810905,
"audioProfile": "lc",
"container": "mp4",
"has64bitOffsets": false,
"optimizedForStreaming": false,
"videoProfile": "high"
}
]
}
],
"Genre": [
{
"tag": "Documentary"
}
],
"Country": [
{
"tag": "United States of America"
}
],
"Director": [
{
"tag": "Ceyda Torun"
}
],
"Role": [
{
"tag": "Bülent Üstün"
}
]
},
{
"ratingKey": "66098",
"key": "/library/metadata/66098",
"guid": "plex://movie/5d9f34f4adeb7a0021ce020f",
"studio": "Touchwood Pacific Partners 1",
"type": "movie",
"title": "Homeward Bound: The Incredible Journey",
"librarySectionTitle": "Movies",
"librarySectionID": 1,
"librarySectionKey": "/library/sections/1",
"contentRating": "G",
"summary": "A fun-loving American bulldog pup, a hilarious Himalayan cat, and a wise old golden retriever embark on a long trek through the rugged wilderness of the Sierra Nevada mountains in a quest to reach home and their beloved owners.",
"rating": 8.7,
"audienceRating": 7.1,
"viewCount": 2,
"lastViewedAt": 1705709811,
"year": 1993,
"tagline": "In the classic tradition of Walt Disney Pictures comes a story about courage, adventure and friendship.",
"thumb": "/library/metadata/66098/thumb/1703148781",
"art": "/library/metadata/66098/art/1703148781",
"duration": 5065775,
"originallyAvailableAt": "1993-02-12T00:00:00Z",
"addedAt": 1700434925,
"updatedAt": 1703148781,
"audienceRatingImage": "rottentomatoes://image.rating.upright",
"primaryExtraKey": "/library/metadata/66099",
"ratingImage": "rottentomatoes://image.rating.ripe",
"Media": [
{
"id": 129003,
"duration": 5065775,
"bitrate": 2444,
"width": 1904,
"height": 1024,
"aspectRatio": 1.85,
"audioChannels": 2,
"audioCodec": "aac",
"videoCodec": "h264",
"videoResolution": "1080",
"container": "mp4",
"videoFrameRate": "24p",
"optimizedForStreaming": 1,
"audioProfile": "lc",
"has64bitOffsets": false,
"videoProfile": "high",
"Part": [
{
"id": 129250,
"key": "/library/parts/129250/1700434864/file.mp4",
"duration": 5065775,
"file": "/movies/Homeward Bound The Incredible Journey (1993)/Homeward Bound The Incredible Journey (1993) [BluRay] [1080p] [YTS.LT].mp4",
"size": 1550855333,
"audioProfile": "lc",
"container": "mp4",
"has64bitOffsets": false,
"optimizedForStreaming": true,
"videoProfile": "high"
}
]
}
],
"Genre": [
{
"tag": "Adventure"
},
{
"tag": "Comedy"
}
],
"Country": [
{
"tag": "United States of America"
}
],
"Director": [
{
"tag": "Duwayne Dunham"
}
],
"Writer": [
{
"tag": "Caroline Thompson"
},
{
"tag": "Linda Woolverton"
}
],
"Role": [
{
"tag": "Michael J. Fox"
},
{
"tag": "Sally Field"
},
{
"tag": "Don Ameche"
}
]
},
{
"ratingKey": "57249",
"key": "/library/metadata/57249",
"guid": "plex://movie/60eff7d3e22797002c55c1cc",
"studio": "Nickelodeon Movies",
"type": "movie",
"title": "Blue's Big City Adventure",
"librarySectionTitle": "Movies",
"librarySectionID": 1,
"librarySectionKey": "/library/sections/1",
"contentRating": "TV-Y",
"summary": "Josh and Blue skidoo to New York City to audition for Rainbow Puppy's Broadway musical, but they get lost when Josh accidentally left his Handy Dandy Notebook at home. This leads to a game of Blue's Clues to figure out where the audition is. Meanwhile, Tickety Tock and her friends go to New York City to find Josh and Blue and get to the audition with help from Joe and Steve.",
"rating": 8.3,
"audienceRating": 8.6,
"viewCount": 8,
"skipCount": 1,
"lastViewedAt": 1705681955,
"year": 2022,
"tagline": "All They Need is You.",
"thumb": "/library/metadata/57249/thumb/1704274800",
"art": "/library/metadata/57249/art/1704274800",
"duration": 4459050,
"originallyAvailableAt": "2022-11-18T00:00:00Z",
"addedAt": 1669671356,
"updatedAt": 1704274800,
"audienceRatingImage": "rottentomatoes://image.rating.upright",
"primaryExtraKey": "/library/metadata/57250",
"ratingImage": "rottentomatoes://image.rating.ripe",
"Media": [
{
"id": 115470,
"duration": 4459050,
"bitrate": 6384,
"width": 3840,
"height": 2160,
"aspectRatio": 1.78,
"audioChannels": 6,
"audioCodec": "aac",
"videoCodec": "hevc",
"videoResolution": "4k",
"container": "mkv",
"videoFrameRate": "24p",
"audioProfile": "lc",
"videoProfile": "main 10",
"Part": [
{
"id": 115478,
"key": "/library/parts/115478/1669671340/file.mkv",
"duration": 4459050,
"file": "/movies/Blue's Big City Adventure (2022)/Blues.Big.City.Adventure.2022.2160p.4K.WEB.x265.10bit.AAC5.1-[YTS.MX].mkv",
"size": 3560750664,
"audioProfile": "lc",
"container": "mkv",
"videoProfile": "main 10"
}
]
}
],
"Genre": [
{
"tag": "Comedy"
},
{
"tag": "Family"
}
],
"Country": [
{
"tag": "Canada"
},
{
"tag": "Ireland"
}
],
"Director": [
{
"tag": "Matt Stawski"
}
],
"Writer": [
{
"tag": "Traci Paige Johnson"
},
{
"tag": "Todd Kessler"
}
],
"Role": [
{
"tag": "Joshua Dela Cruz"
},
{
"tag": "Steve Burns"
},
{
"tag": "Donovan Patton"
}
]
},
{
"ratingKey": "11449",
"key": "/library/metadata/11449",
"guid": "plex://movie/5d776edfad5437001f803cf9",
"studio": "Walt Disney Pictures",
"type": "movie",
"title": "Onward",
"librarySectionTitle": "Movies",
"librarySectionID": 1,
"librarySectionKey": "/library/sections/1",
"contentRating": "PG",
"summary": "In a magical world full of technological advances, elven brothers Ian and Barley Lightfoot set out on an adventure to resurrect their late father for a day.",
"rating": 8.8,
"audienceRating": 9.5,
"viewCount": 3,
"lastViewedAt": 1705543126,
"year": 2020,
"tagline": "Their quest begineth.",
"thumb": "/library/metadata/11449/thumb/1705224000",
"art": "/library/metadata/11449/art/1705224000",
"duration": 6141428,
"originallyAvailableAt": "2020-03-04T00:00:00Z",
"addedAt": 1589237130,
"updatedAt": 1705224000,
"audienceRatingImage": "rottentomatoes://image.rating.upright",
"chapterSource": "media",
"primaryExtraKey": "/library/metadata/11470",
"ratingImage": "rottentomatoes://image.rating.ripe",
"Media": [
{
"id": 29291,
"duration": 6141428,
"bitrate": 10977,
"width": 1920,
"height": 804,
"aspectRatio": 2.35,
"audioChannels": 8,
"audioCodec": "dca-ma",
"videoCodec": "h264",
"videoResolution": "1080",
"container": "mkv",
"videoFrameRate": "24p",
"audioProfile": "ma",
"videoProfile": "high",
"Part": [
{
"id": 29291,
"key": "/library/parts/29291/1589237130/file.mkv",
"duration": 6141428,
"file": "/movies/Onward (2020)/Onward (2020) Bluray-1080p.mkv",
"size": 8426669232,
"audioProfile": "ma",
"container": "mkv",
"videoProfile": "high"
}
]
},
{
"id": 29315,
"duration": 6142006,
"bitrate": 2639,
"width": 1920,
"height": 800,
"aspectRatio": 2.35,
"audioChannels": 6,
"audioCodec": "aac",
"videoCodec": "h264",
"videoResolution": "1080",
"container": "mp4",
"videoFrameRate": "24p",
"optimizedForStreaming": 1,
"audioProfile": "lc",
"has64bitOffsets": false,
"videoProfile": "high",
"Part": [
{
"id": 29315,
"key": "/library/parts/29315/1629002847/file.mp4",
"duration": 6142006,
"file": "/movies/Onward (2020)/Onward (2020) WEBRip-1080p.mp4",
"size": 2026154995,
"audioProfile": "lc",
"container": "mp4",
"has64bitOffsets": false,
"optimizedForStreaming": true,
"videoProfile": "high"
}
]
}
],
"Genre": [
{
"tag": "Animation"
},
{
"tag": "Comedy"
}
],
"Country": [
{
"tag": "United States of America"
}
],
"Director": [
{
"tag": "Dan Scanlon"
}
],
"Writer": [
{
"tag": "Kelsey Mann"
},
{
"tag": "Dan Scanlon"
}
],
"Role": [
{
"tag": "Tom Holland"
},
{
"tag": "Chris Pratt"
},
{
"tag": "Julia Louis-Dreyfus"
}
]
},
{
"ratingKey": "5858",
"key": "/library/metadata/5858",
"guid": "plex://movie/5d776b85594b2b001e6dc641",
"studio": "Walt Disney Pictures",
"type": "movie",
"title": "Frozen II",
"librarySectionTitle": "Movies",
"librarySectionID": 1,
"librarySectionKey": "/library/sections/1",
"contentRating": "PG",
"summary": "Anna, Elsa, Kristoff, Olaf and Sven leave Arendelle to travel to an ancient, autumn-bound forest of an enchanted land. They set out to find the origin of Elsa's powers in order to save their kingdom.",
"rating": 7.7,
"audienceRating": 9.2,
"viewCount": 1,
"skipCount": 1,
"lastViewedAt": 1705337663,
"year": 2019,
"tagline": "The past is not what it seems.",
"thumb": "/library/metadata/5858/thumb/1704621922",
"art": "/library/metadata/5858/art/1704621922",
"duration": 6194042,
"originallyAvailableAt": "2019-11-20T00:00:00Z",
"addedAt": 1588207762,
"updatedAt": 1704621922,
"audienceRatingImage": "rottentomatoes://image.rating.upright",
"primaryExtraKey": "/library/metadata/5892",
"ratingImage": "rottentomatoes://image.rating.ripe",
"Media": [
{
"id": 14954,
"duration": 6194042,
"bitrate": 2538,
"width": 1920,
"height": 800,
"aspectRatio": 2.35,
"audioChannels": 6,
"audioCodec": "aac",
"videoCodec": "h264",
"videoResolution": "1080",
"container": "mp4",
"videoFrameRate": "24p",
"optimizedForStreaming": 1,
"audioProfile": "lc",
"has64bitOffsets": false,
"videoProfile": "high",
"Part": [
{
"id": 14954,
"key": "/library/parts/14954/1588207762/file.mp4",
"duration": 6194042,
"file": "/movies/Frozen II (2019)/Frozen II (2019) Bluray-1080p.mp4",
"size": 1969230037,
"audioProfile": "lc",
"container": "mp4",
"has64bitOffsets": false,
"optimizedForStreaming": true,
"videoProfile": "high"
}
]
},
{
"id": 14999,
"duration": 6244271,
"bitrate": 2536,
"width": 1920,
"height": 800,
"aspectRatio": 2.35,
"audioChannels": 6,
"audioCodec": "aac",
"videoCodec": "h264",
"videoResolution": "1080",
"container": "mp4",
"videoFrameRate": "24p",
"optimizedForStreaming": 1,
"audioProfile": "lc",
"has64bitOffsets": false,
"videoProfile": "high",
"Part": [
{
"id": 14999,
"key": "/library/parts/14999/1629001526/file.mp4",
"duration": 6244271,
"file": "/movies/Frozen II (2019)/Frozen II (2019) WEBRip-1080p.mp4",
"size": 1983357282,
"audioProfile": "lc",
"container": "mp4",
"has64bitOffsets": false,
"optimizedForStreaming": true,
"videoProfile": "high"
}
]
}
],
"Genre": [
{
"tag": "Adventure"
},
{
"tag": "Animation"
}
],
"Country": [
{
"tag": "United States of America"
}
],
"Director": [
{
"tag": "Chris Buck"
},
{
"tag": "Jennifer Lee"
}
],
"Writer": [
{
"tag": "Chris Buck"
},
{
"tag": "Hans Christian Andersen"
}
],
"Role": [
{
"tag": "Idina Menzel"
},
{
"tag": "Kristen Bell"
},
{
"tag": "Josh Gad"
}
]
},
{
"ratingKey": "14944",
"key": "/library/metadata/14944",
"guid": "plex://movie/5d77686eeb5d26001f1eb339",
"studio": "Walt Disney Animation Studios",
"type": "movie",
"title": "Tangled",
"librarySectionTitle": "Movies",
"librarySectionID": 1,
"librarySectionKey": "/library/sections/1",
"contentRating": "PG",
"summary": "The magically long-haired Rapunzel has spent her entire life in a tower, but now that a runaway thief has stumbled upon her, she is about to discover the world for the first time, and who she really is.",
"rating": 8.9,
"audienceRating": 8.7,
"viewCount": 1,
"lastViewedAt": 1704936047,
"year": 2010,
"tagline": "They're taking adventure to new lengths.",
"thumb": "/library/metadata/14944/thumb/1705739847",
"art": "/library/metadata/14944/art/1705739847",
"duration": 6017237,
"originallyAvailableAt": "2010-11-24T00:00:00Z",
"addedAt": 1589412494,
"updatedAt": 1705739847,
"audienceRatingImage": "rottentomatoes://image.rating.upright",
"primaryExtraKey": "/library/metadata/14952",
"ratingImage": "rottentomatoes://image.rating.ripe",
"Media": [
{
"id": 38247,
"duration": 6017237,
"bitrate": 2051,
"width": 1920,
"height": 1080,
"aspectRatio": 1.78,
"audioChannels": 2,
"audioCodec": "aac",
"videoCodec": "h264",
"videoResolution": "1080",
"container": "mp4",
"videoFrameRate": "24p",
"optimizedForStreaming": 1,
"audioProfile": "lc",
"has64bitOffsets": false,
"videoProfile": "high",
"Part": [
{
"id": 38247,
"key": "/library/parts/38247/1589412494/file.mp4",
"duration": 6017237,
"file": "/movies/Tangled (2010)/Tangled (2010) Bluray-1080p.mp4",
"size": 1545647447,
"audioProfile": "lc",
"container": "mp4",
"has64bitOffsets": false,
"optimizedForStreaming": true,
"videoProfile": "high"
}
]
}
],
"Genre": [
{
"tag": "Comedy"
},
{
"tag": "Animation"
}
],
"Country": [
{
"tag": "United States of America"
}
],
"Director": [
{
"tag": "Byron Howard"
},
{
"tag": "Nathan Greno"
}
],
"Writer": [
{
"tag": "Jacob Grimm"
},
{
"tag": "Wilhelm Grimm"
}
],
"Role": [
{
"tag": "Mandy Moore"
},
{
"tag": "Zachary Levi"
},
{
"tag": "Donna Murphy"
}
]
}
],
"promoted": true,
"random": true
}
] | \ No newline at end of file diff --git a/docs/Models/Requests/GetLibraryHubsMetadata.md b/docs/Models/Requests/GetLibraryHubsMetadata.md index e8053fe..7dd3914 100644 --- a/docs/Models/Requests/GetLibraryHubsMetadata.md +++ b/docs/Models/Requests/GetLibraryHubsMetadata.md @@ -3,39 +3,39 @@ ## Fields -| Field | Type | Required | Description | Example | -| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -| `RatingKey` | *string* | :heavy_minus_sign: | N/A | 14944 | -| `Key` | *string* | :heavy_minus_sign: | N/A | /library/metadata/14944 | -| `Guid` | *string* | :heavy_minus_sign: | N/A | plex://movie/5d77686eeb5d26001f1eb339 | -| `Studio` | *string* | :heavy_minus_sign: | N/A | Walt Disney Animation Studios | -| `Type` | *string* | :heavy_minus_sign: | N/A | movie | -| `Title` | *string* | :heavy_minus_sign: | N/A | Tangled | -| `LibrarySectionTitle` | *string* | :heavy_minus_sign: | N/A | Movies | -| `LibrarySectionID` | *int* | :heavy_minus_sign: | N/A | 1 | -| `LibrarySectionKey` | *string* | :heavy_minus_sign: | N/A | /library/sections/1 | -| `ContentRating` | *string* | :heavy_minus_sign: | N/A | PG | -| `Summary` | *string* | :heavy_minus_sign: | N/A | The magically long-haired Rapunzel has spent her entire life in a tower, but now that a runaway thief has stumbled upon her, she is about to discover the world for the first time, and who she really is. | -| `Rating` | *double* | :heavy_minus_sign: | N/A | 8.9 | -| `AudienceRating` | *double* | :heavy_minus_sign: | N/A | 8.7 | -| `ViewCount` | *int* | :heavy_minus_sign: | N/A | 1 | -| `LastViewedAt` | *int* | :heavy_minus_sign: | N/A | 1704936047 | -| `Year` | *int* | :heavy_minus_sign: | N/A | 2010 | -| `Tagline` | *string* | :heavy_minus_sign: | N/A | They're taking adventure to new lengths. | -| `Thumb` | *string* | :heavy_minus_sign: | N/A | /library/metadata/14944/thumb/1705739847 | -| `Art` | *string* | :heavy_minus_sign: | N/A | /library/metadata/14944/art/1705739847 | -| `Duration` | *int* | :heavy_minus_sign: | N/A | 6017237 | -| `OriginallyAvailableAt` | [LocalDate](https://nodatime.org/3.1.x/api/NodaTime.LocalDate.html) | :heavy_minus_sign: | N/A | 2010-11-24 00:00:00 +0000 UTC | -| `AddedAt` | *int* | :heavy_minus_sign: | N/A | 1589412494 | -| `UpdatedAt` | *int* | :heavy_minus_sign: | N/A | 1705739847 | -| `AudienceRatingImage` | *string* | :heavy_minus_sign: | N/A | rottentomatoes://image.rating.upright | -| `PrimaryExtraKey` | *string* | :heavy_minus_sign: | N/A | /library/metadata/14952 | -| `RatingImage` | *string* | :heavy_minus_sign: | N/A | rottentomatoes://image.rating.ripe | -| `Media` | List<[GetLibraryHubsMedia](../../Models/Requests/GetLibraryHubsMedia.md)> | :heavy_minus_sign: | N/A | [{"Part":[{"audioProfile":"lc","container":"mp4","duration":6017237,"file":"/movies/Tangled (2010)/Tangled (2010) Bluray-1080p.mp4","has64bitOffsets":false,"id":38247,"key":"/library/parts/38247/1589412494/file.mp4","optimizedForStreaming":true,"size":1545647447,"videoProfile":"high"}],"aspectRatio":1.78,"audioChannels":2,"audioCodec":"aac","audioProfile":"lc","bitrate":2051,"container":"mp4","duration":6017237,"has64bitOffsets":false,"height":1080,"id":38247,"optimizedForStreaming":1,"videoCodec":"h264","videoFrameRate":"24p","videoProfile":"high","videoResolution":"1080","width":1920}] | -| `Genre` | List<[GetLibraryHubsGenre](../../Models/Requests/GetLibraryHubsGenre.md)> | :heavy_minus_sign: | N/A | [{"tag":"Animation"}] | -| `Country` | List<[GetLibraryHubsCountry](../../Models/Requests/GetLibraryHubsCountry.md)> | :heavy_minus_sign: | N/A | [{"tag":"United States of America"}] | -| `Director` | List<[GetLibraryHubsDirector](../../Models/Requests/GetLibraryHubsDirector.md)> | :heavy_minus_sign: | N/A | [{"tag":"Nathan Greno"}] | -| `Role` | List<[GetLibraryHubsRole](../../Models/Requests/GetLibraryHubsRole.md)> | :heavy_minus_sign: | N/A | [{"tag":"Donna Murphy"}] | -| `Writer` | List<[GetLibraryHubsWriter](../../Models/Requests/GetLibraryHubsWriter.md)> | :heavy_minus_sign: | N/A | [{"tag":"Wilhelm Grimm"}] | -| `SkipCount` | *int* | :heavy_minus_sign: | N/A | 1 | -| `ChapterSource` | *string* | :heavy_minus_sign: | N/A | media | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `RatingKey` | *string* | :heavy_minus_sign: | N/A | 14944 | +| `Key` | *string* | :heavy_minus_sign: | N/A | /library/metadata/14944 | +| `Guid` | *string* | :heavy_minus_sign: | N/A | plex://movie/5d77686eeb5d26001f1eb339 | +| `Studio` | *string* | :heavy_minus_sign: | N/A | Walt Disney Animation Studios | +| `Type` | *string* | :heavy_minus_sign: | N/A | movie | +| `Title` | *string* | :heavy_minus_sign: | N/A | Tangled | +| `LibrarySectionTitle` | *string* | :heavy_minus_sign: | N/A | Movies | +| `LibrarySectionID` | *int* | :heavy_minus_sign: | N/A | 1 | +| `LibrarySectionKey` | *string* | :heavy_minus_sign: | N/A | /library/sections/1 | +| `ContentRating` | *string* | :heavy_minus_sign: | N/A | PG | +| `Summary` | *string* | :heavy_minus_sign: | N/A | The magically long-haired Rapunzel has spent her entire life in a tower, but now that a runaway thief has stumbled upon her, she is about to discover the world for the first time, and who she really is. | +| `Rating` | *double* | :heavy_minus_sign: | N/A | 8.9 | +| `AudienceRating` | *double* | :heavy_minus_sign: | N/A | 8.7 | +| `ViewCount` | *int* | :heavy_minus_sign: | N/A | 1 | +| `LastViewedAt` | *int* | :heavy_minus_sign: | N/A | 1704936047 | +| `Year` | *int* | :heavy_minus_sign: | N/A | 2010 | +| `Tagline` | *string* | :heavy_minus_sign: | N/A | They're taking adventure to new lengths. | +| `Thumb` | *string* | :heavy_minus_sign: | N/A | /library/metadata/14944/thumb/1705739847 | +| `Art` | *string* | :heavy_minus_sign: | N/A | /library/metadata/14944/art/1705739847 | +| `Duration` | *int* | :heavy_minus_sign: | N/A | 6017237 | +| `OriginallyAvailableAt` | [LocalDate](https://nodatime.org/3.1.x/api/NodaTime.LocalDate.html) | :heavy_minus_sign: | N/A | 2010-11-24 00:00:00 +0000 UTC | +| `AddedAt` | *int* | :heavy_minus_sign: | N/A | 1589412494 | +| `UpdatedAt` | *int* | :heavy_minus_sign: | N/A | 1705739847 | +| `AudienceRatingImage` | *string* | :heavy_minus_sign: | N/A | rottentomatoes://image.rating.upright | +| `PrimaryExtraKey` | *string* | :heavy_minus_sign: | N/A | /library/metadata/14952 | +| `RatingImage` | *string* | :heavy_minus_sign: | N/A | rottentomatoes://image.rating.ripe | +| `Media` | List<[GetLibraryHubsMedia](../../Models/Requests/GetLibraryHubsMedia.md)> | :heavy_minus_sign: | N/A | [
{
"id": 38247,
"duration": 6017237,
"bitrate": 2051,
"width": 1920,
"height": 1080,
"aspectRatio": 1.78,
"audioChannels": 2,
"audioCodec": "aac",
"videoCodec": "h264",
"videoResolution": "1080",
"container": "mp4",
"videoFrameRate": "24p",
"optimizedForStreaming": 1,
"audioProfile": "lc",
"has64bitOffsets": false,
"videoProfile": "high",
"Part": [
{
"id": 38247,
"key": "/library/parts/38247/1589412494/file.mp4",
"duration": 6017237,
"file": "/movies/Tangled (2010)/Tangled (2010) Bluray-1080p.mp4",
"size": 1545647447,
"audioProfile": "lc",
"container": "mp4",
"has64bitOffsets": false,
"optimizedForStreaming": true,
"videoProfile": "high"
}
]
}
] | +| `Genre` | List<[GetLibraryHubsGenre](../../Models/Requests/GetLibraryHubsGenre.md)> | :heavy_minus_sign: | N/A | [
{
"tag": "Animation"
}
] | +| `Country` | List<[GetLibraryHubsCountry](../../Models/Requests/GetLibraryHubsCountry.md)> | :heavy_minus_sign: | N/A | [
{
"tag": "United States of America"
}
] | +| `Director` | List<[GetLibraryHubsDirector](../../Models/Requests/GetLibraryHubsDirector.md)> | :heavy_minus_sign: | N/A | [
{
"tag": "Nathan Greno"
}
] | +| `Role` | List<[GetLibraryHubsRole](../../Models/Requests/GetLibraryHubsRole.md)> | :heavy_minus_sign: | N/A | [
{
"tag": "Donna Murphy"
}
] | +| `Writer` | List<[GetLibraryHubsWriter](../../Models/Requests/GetLibraryHubsWriter.md)> | :heavy_minus_sign: | N/A | [
{
"tag": "Wilhelm Grimm"
}
] | +| `SkipCount` | *int* | :heavy_minus_sign: | N/A | 1 | +| `ChapterSource` | *string* | :heavy_minus_sign: | N/A | media | \ No newline at end of file diff --git a/docs/Models/Requests/GetLibraryItemsMedia.md b/docs/Models/Requests/GetLibraryItemsMedia.md index 8c26428..65e1085 100644 --- a/docs/Models/Requests/GetLibraryItemsMedia.md +++ b/docs/Models/Requests/GetLibraryItemsMedia.md @@ -3,19 +3,19 @@ ## Fields -| Field | Type | Required | Description | Example | -| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `Id` | *int* | :heavy_minus_sign: | N/A | 119534 | -| `Duration` | *int* | :heavy_minus_sign: | N/A | 11558112 | -| `Bitrate` | *int* | :heavy_minus_sign: | N/A | 25025 | -| `Width` | *int* | :heavy_minus_sign: | N/A | 3840 | -| `Height` | *int* | :heavy_minus_sign: | N/A | 2072 | -| `AspectRatio` | *double* | :heavy_minus_sign: | N/A | 1.85 | -| `AudioChannels` | *int* | :heavy_minus_sign: | N/A | 6 | -| `AudioCodec` | *string* | :heavy_minus_sign: | N/A | eac3 | -| `VideoCodec` | *string* | :heavy_minus_sign: | N/A | hevc | -| `VideoResolution` | *string* | :heavy_minus_sign: | N/A | 4k | -| `Container` | *string* | :heavy_minus_sign: | N/A | mkv | -| `VideoFrameRate` | *string* | :heavy_minus_sign: | N/A | 24p | -| `VideoProfile` | *string* | :heavy_minus_sign: | N/A | main 10 | -| `Part` | List<[GetLibraryItemsPart](../../Models/Requests/GetLibraryItemsPart.md)> | :heavy_minus_sign: | N/A | [{"container":"mkv","duration":11558112,"file":"/movies/Avatar The Way of Water (2022)/Avatar.The.Way.of.Water.2022.2160p.WEB-DL.DDP5.1.Atmos.DV.HDR10.HEVC-CMRG.mkv","id":119542,"key":"/library/parts/119542/1680457526/file.mkv","size":36158371307,"videoProfile":"main 10"}] | \ No newline at end of file +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *int* | :heavy_minus_sign: | N/A | 119534 | +| `Duration` | *int* | :heavy_minus_sign: | N/A | 11558112 | +| `Bitrate` | *int* | :heavy_minus_sign: | N/A | 25025 | +| `Width` | *int* | :heavy_minus_sign: | N/A | 3840 | +| `Height` | *int* | :heavy_minus_sign: | N/A | 2072 | +| `AspectRatio` | *double* | :heavy_minus_sign: | N/A | 1.85 | +| `AudioChannels` | *int* | :heavy_minus_sign: | N/A | 6 | +| `AudioCodec` | *string* | :heavy_minus_sign: | N/A | eac3 | +| `VideoCodec` | *string* | :heavy_minus_sign: | N/A | hevc | +| `VideoResolution` | *string* | :heavy_minus_sign: | N/A | 4k | +| `Container` | *string* | :heavy_minus_sign: | N/A | mkv | +| `VideoFrameRate` | *string* | :heavy_minus_sign: | N/A | 24p | +| `VideoProfile` | *string* | :heavy_minus_sign: | N/A | main 10 | +| `Part` | List<[GetLibraryItemsPart](../../Models/Requests/GetLibraryItemsPart.md)> | :heavy_minus_sign: | N/A | [
{
"id": 119542,
"key": "/library/parts/119542/1680457526/file.mkv",
"duration": 11558112,
"file": "/movies/Avatar The Way of Water (2022)/Avatar.The.Way.of.Water.2022.2160p.WEB-DL.DDP5.1.Atmos.DV.HDR10.HEVC-CMRG.mkv",
"size": 36158371307,
"container": "mkv",
"videoProfile": "main 10"
}
] | \ No newline at end of file diff --git a/docs/Models/Requests/GetLibraryItemsMediaContainer.md b/docs/Models/Requests/GetLibraryItemsMediaContainer.md index ae8cf8a..be69166 100644 --- a/docs/Models/Requests/GetLibraryItemsMediaContainer.md +++ b/docs/Models/Requests/GetLibraryItemsMediaContainer.md @@ -3,20 +3,21 @@ ## Fields -| Field | Type | Required | Description | Example | -| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -| `Size` | *int* | :heavy_minus_sign: | N/A | 70 | -| `AllowSync` | *bool* | :heavy_minus_sign: | N/A | true | -| `Art` | *string* | :heavy_minus_sign: | N/A | /:/resources/movie-fanart.jpg | -| `Identifier` | *string* | :heavy_minus_sign: | N/A | com.plexapp.plugins.library | -| `LibrarySectionID` | *int* | :heavy_minus_sign: | N/A | 1 | -| `LibrarySectionTitle` | *string* | :heavy_minus_sign: | N/A | Movies | -| `LibrarySectionUUID` | *string* | :heavy_minus_sign: | N/A | 322a231a-b7f7-49f5-920f-14c61199cd30 | -| `MediaTagPrefix` | *string* | :heavy_minus_sign: | N/A | /system/bundle/media/flags/ | -| `MediaTagVersion` | *int* | :heavy_minus_sign: | N/A | 1701731894 | -| `Thumb` | *string* | :heavy_minus_sign: | N/A | /:/resources/movie.png | -| `Title1` | *string* | :heavy_minus_sign: | N/A | Movies | -| `Title2` | *string* | :heavy_minus_sign: | N/A | Recently Released | -| `ViewGroup` | *string* | :heavy_minus_sign: | N/A | movie | -| `ViewMode` | *int* | :heavy_minus_sign: | N/A | 65592 | -| `Metadata` | List<[GetLibraryItemsMetadata](../../Models/Requests/GetLibraryItemsMetadata.md)> | :heavy_minus_sign: | N/A | [{"Country":[{"tag":"United States of America"}],"Director":[{"tag":"James Cameron"}],"Genre":[{"tag":"Action"},{"tag":"Adventure"}],"Media":[{"Part":[{"container":"mkv","duration":11558112,"file":"/movies/Avatar The Way of Water (2022)/Avatar.The.Way.of.Water.2022.2160p.WEB-DL.DDP5.1.Atmos.DV.HDR10.HEVC-CMRG.mkv","id":119542,"key":"/library/parts/119542/1680457526/file.mkv","size":36158371307,"videoProfile":"main 10"}],"aspectRatio":1.85,"audioChannels":6,"audioCodec":"eac3","bitrate":25025,"container":"mkv","duration":11558112,"height":2072,"id":119534,"videoCodec":"hevc","videoFrameRate":"24p","videoProfile":"main 10","videoResolution":"4k","width":3840}],"Role":[{"tag":"Sam Worthington"},{"tag":"Zoe Saldaña"},{"tag":"Sigourney Weaver"}],"Writer":[{"tag":"Josh Friedman"},{"tag":"James Cameron"}],"addedAt":1680457607,"art":"/library/metadata/58683/art/1703239236","audienceRating":9.2,"audienceRatingImage":"rottentomatoes://image.rating.upright","chapterSource":"media","contentRating":"PG-13","duration":11558112,"guid":"plex://movie/5d7768ba96b655001fdc0408","key":"/library/metadata/58683","lastViewedAt":1682752242,"originalTitle":"映画 ブラッククローバー 魔法帝の剣","originallyAvailableAt":"2022-12-14T00:00:00Z","primaryExtraKey":"/library/metadata/58684","rating":7.6,"ratingImage":"rottentomatoes://image.rating.ripe","ratingKey":"58683","skipCount":1,"studio":"20th Century Studios","summary":"Jake Sully lives with his newfound family formed on the extrasolar moon Pandora. Once a familiar threat returns to finish what was previously started, Jake must work with Neytiri and the army of the Na'vi race to protect their home.","tagline":"Return to Pandora.","thumb":"/library/metadata/58683/thumb/1703239236","title":"Avatar: The Way of Water","titleSort":"Whale","type":"movie","updatedAt":1703239236,"viewCount":1,"viewOffset":5222500,"year":2022}] | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Size` | *int* | :heavy_minus_sign: | N/A | 70 | +| `AllowSync` | *bool* | :heavy_minus_sign: | N/A | true | +| `Art` | *string* | :heavy_minus_sign: | N/A | /:/resources/movie-fanart.jpg | +| `Identifier` | *string* | :heavy_minus_sign: | N/A | com.plexapp.plugins.library | +| `LibrarySectionID` | *int* | :heavy_minus_sign: | N/A | 1 | +| `LibrarySectionTitle` | *string* | :heavy_minus_sign: | N/A | Movies | +| `LibrarySectionUUID` | *string* | :heavy_minus_sign: | N/A | 322a231a-b7f7-49f5-920f-14c61199cd30 | +| `MediaTagPrefix` | *string* | :heavy_minus_sign: | N/A | /system/bundle/media/flags/ | +| `MediaTagVersion` | *int* | :heavy_minus_sign: | N/A | 1701731894 | +| `Thumb` | *string* | :heavy_minus_sign: | N/A | /:/resources/movie.png | +| `Title1` | *string* | :heavy_minus_sign: | N/A | Movies | +| `Title2` | *string* | :heavy_minus_sign: | N/A | Recently Released | +| `ViewGroup` | *string* | :heavy_minus_sign: | N/A | movie | +| `ViewMode` | *int* | :heavy_minus_sign: | N/A | 65592 | +| `MixedParents` | *bool* | :heavy_minus_sign: | N/A | true | +| `Metadata` | List<[GetLibraryItemsMetadata](../../Models/Requests/GetLibraryItemsMetadata.md)> | :heavy_minus_sign: | N/A | [
{
"ratingKey": "58683",
"key": "/library/metadata/58683",
"guid": "plex://movie/5d7768ba96b655001fdc0408",
"studio": "20th Century Studios",
"type": "movie",
"title": "Avatar: The Way of Water",
"contentRating": "PG-13",
"summary": "Jake Sully lives with his newfound family formed on the extrasolar moon Pandora. Once a familiar threat returns to finish what was previously started, Jake must work with Neytiri and the army of the Na'vi race to protect their home.",
"rating": 7.6,
"audienceRating": 9.2,
"year": 2022,
"tagline": "Return to Pandora.",
"thumb": "/library/metadata/58683/thumb/1703239236",
"art": "/library/metadata/58683/art/1703239236",
"duration": 11558112,
"originallyAvailableAt": "2022-12-14T00:00:00Z",
"addedAt": 1680457607,
"updatedAt": 1703239236,
"audienceRatingImage": "rottentomatoes://image.rating.upright",
"chapterSource": "media",
"primaryExtraKey": "/library/metadata/58684",
"ratingImage": "rottentomatoes://image.rating.ripe",
"Media": [
{
"id": 119534,
"duration": 11558112,
"bitrate": 25025,
"width": 3840,
"height": 2072,
"aspectRatio": 1.85,
"audioChannels": 6,
"audioCodec": "eac3",
"videoCodec": "hevc",
"videoResolution": "4k",
"container": "mkv",
"videoFrameRate": "24p",
"videoProfile": "main 10",
"Part": [
{
"id": 119542,
"key": "/library/parts/119542/1680457526/file.mkv",
"duration": 11558112,
"file": "/movies/Avatar The Way of Water (2022)/Avatar.The.Way.of.Water.2022.2160p.WEB-DL.DDP5.1.Atmos.DV.HDR10.HEVC-CMRG.mkv",
"size": 36158371307,
"container": "mkv",
"videoProfile": "main 10"
}
]
}
],
"Genre": [
{
"tag": "Action"
},
{
"tag": "Adventure"
}
],
"Country": [
{
"tag": "United States of America"
}
],
"Director": [
{
"tag": "James Cameron"
}
],
"Writer": [
{
"tag": "Josh Friedman"
},
{
"tag": "James Cameron"
}
],
"Role": [
{
"tag": "Sam Worthington"
},
{
"tag": "Zoe Saldaña"
},
{
"tag": "Sigourney Weaver"
}
],
"titleSort": "Whale",
"viewCount": 1,
"lastViewedAt": 1682752242,
"originalTitle": "映画 ブラッククローバー 魔法帝の剣",
"viewOffset": 5222500,
"skipCount": 1,
"index": 1,
"theme": "/library/metadata/1/theme/1705636920",
"leafCount": 14,
"viewedLeafCount": 0,
"childCount": 1,
"hasPremiumExtras": "1",
"hasPremiumPrimaryExtra": "1",
"parentRatingKey": "66",
"parentGuid": "plex://show/5d9c081b170e24001f2a7be4",
"parentStudio": "UCP",
"parentKey": "/library/metadata/66",
"parentTitle": "Caprica",
"parentIndex": 1,
"parentYear": 2010,
"parentThumb": "/library/metadata/66/thumb/1705716261",
"parentTheme": "/library/metadata/66/theme/1705716261",
"grandparentRatingKey": "66",
"grandparentGuid": "plex://show/5d9c081b170e24001f2a7be4",
"grandparentKey": "/library/metadata/66",
"grandparentTitle": "Caprica",
"grandparentThumb": "/library/metadata/66/thumb/1705716261",
"grandparentArt": "/library/metadata/66/art/1705716261",
"grandparentTheme": "/library/metadata/66/theme/1705716261"
}
] | \ No newline at end of file diff --git a/docs/Models/Requests/GetLibraryItemsMetadata.md b/docs/Models/Requests/GetLibraryItemsMetadata.md index 415be2e..8dfe44e 100644 --- a/docs/Models/Requests/GetLibraryItemsMetadata.md +++ b/docs/Models/Requests/GetLibraryItemsMetadata.md @@ -3,39 +3,62 @@ ## Fields -| Field | Type | Required | Description | Example | -| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `RatingKey` | *string* | :heavy_minus_sign: | N/A | 58683 | -| `Key` | *string* | :heavy_minus_sign: | N/A | /library/metadata/58683 | -| `Guid` | *string* | :heavy_minus_sign: | N/A | plex://movie/5d7768ba96b655001fdc0408 | -| `Studio` | *string* | :heavy_minus_sign: | N/A | 20th Century Studios | -| `Type` | *string* | :heavy_minus_sign: | N/A | movie | -| `Title` | *string* | :heavy_minus_sign: | N/A | Avatar: The Way of Water | -| `ContentRating` | *string* | :heavy_minus_sign: | N/A | PG-13 | -| `Summary` | *string* | :heavy_minus_sign: | N/A | Jake Sully lives with his newfound family formed on the extrasolar moon Pandora. Once a familiar threat returns to finish what was previously started, Jake must work with Neytiri and the army of the Na'vi race to protect their home. | -| `Rating` | *double* | :heavy_minus_sign: | N/A | 7.6 | -| `AudienceRating` | *double* | :heavy_minus_sign: | N/A | 9.2 | -| `Year` | *int* | :heavy_minus_sign: | N/A | 2022 | -| `Tagline` | *string* | :heavy_minus_sign: | N/A | Return to Pandora. | -| `Thumb` | *string* | :heavy_minus_sign: | N/A | /library/metadata/58683/thumb/1703239236 | -| `Art` | *string* | :heavy_minus_sign: | N/A | /library/metadata/58683/art/1703239236 | -| `Duration` | *int* | :heavy_minus_sign: | N/A | 11558112 | -| `OriginallyAvailableAt` | [LocalDate](https://nodatime.org/3.1.x/api/NodaTime.LocalDate.html) | :heavy_minus_sign: | N/A | 2022-12-14 00:00:00 +0000 UTC | -| `AddedAt` | *int* | :heavy_minus_sign: | N/A | 1680457607 | -| `UpdatedAt` | *int* | :heavy_minus_sign: | N/A | 1703239236 | -| `AudienceRatingImage` | *string* | :heavy_minus_sign: | N/A | rottentomatoes://image.rating.upright | -| `ChapterSource` | *string* | :heavy_minus_sign: | N/A | media | -| `PrimaryExtraKey` | *string* | :heavy_minus_sign: | N/A | /library/metadata/58684 | -| `RatingImage` | *string* | :heavy_minus_sign: | N/A | rottentomatoes://image.rating.ripe | -| `Media` | List<[GetLibraryItemsMedia](../../Models/Requests/GetLibraryItemsMedia.md)> | :heavy_minus_sign: | N/A | [{"Part":[{"container":"mkv","duration":11558112,"file":"/movies/Avatar The Way of Water (2022)/Avatar.The.Way.of.Water.2022.2160p.WEB-DL.DDP5.1.Atmos.DV.HDR10.HEVC-CMRG.mkv","id":119542,"key":"/library/parts/119542/1680457526/file.mkv","size":36158371307,"videoProfile":"main 10"}],"aspectRatio":1.85,"audioChannels":6,"audioCodec":"eac3","bitrate":25025,"container":"mkv","duration":11558112,"height":2072,"id":119534,"videoCodec":"hevc","videoFrameRate":"24p","videoProfile":"main 10","videoResolution":"4k","width":3840}] | -| `Genre` | List<[GetLibraryItemsGenre](../../Models/Requests/GetLibraryItemsGenre.md)> | :heavy_minus_sign: | N/A | [{"tag":"Adventure"}] | -| `Country` | List<[GetLibraryItemsCountry](../../Models/Requests/GetLibraryItemsCountry.md)> | :heavy_minus_sign: | N/A | [{"tag":"United States of America"}] | -| `Director` | List<[GetLibraryItemsDirector](../../Models/Requests/GetLibraryItemsDirector.md)> | :heavy_minus_sign: | N/A | [{"tag":"James Cameron"}] | -| `Writer` | List<[GetLibraryItemsWriter](../../Models/Requests/GetLibraryItemsWriter.md)> | :heavy_minus_sign: | N/A | [{"tag":"James Cameron"}] | -| `Role` | List<[GetLibraryItemsRole](../../Models/Requests/GetLibraryItemsRole.md)> | :heavy_minus_sign: | N/A | [{"tag":"Sigourney Weaver"}] | -| `TitleSort` | *string* | :heavy_minus_sign: | N/A | Whale | -| `ViewCount` | *int* | :heavy_minus_sign: | N/A | 1 | -| `LastViewedAt` | *int* | :heavy_minus_sign: | N/A | 1682752242 | -| `OriginalTitle` | *string* | :heavy_minus_sign: | N/A | 映画 ブラッククローバー 魔法帝の剣 | -| `ViewOffset` | *int* | :heavy_minus_sign: | N/A | 5222500 | -| `SkipCount` | *int* | :heavy_minus_sign: | N/A | 1 | \ No newline at end of file +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `RatingKey` | *string* | :heavy_minus_sign: | N/A | 58683 | +| `Key` | *string* | :heavy_minus_sign: | N/A | /library/metadata/58683 | +| `Guid` | *string* | :heavy_minus_sign: | N/A | plex://movie/5d7768ba96b655001fdc0408 | +| `Studio` | *string* | :heavy_minus_sign: | N/A | 20th Century Studios | +| `Type` | *string* | :heavy_minus_sign: | N/A | movie | +| `Title` | *string* | :heavy_minus_sign: | N/A | Avatar: The Way of Water | +| `ContentRating` | *string* | :heavy_minus_sign: | N/A | PG-13 | +| `Summary` | *string* | :heavy_minus_sign: | N/A | Jake Sully lives with his newfound family formed on the extrasolar moon Pandora. Once a familiar threat returns to finish what was previously started, Jake must work with Neytiri and the army of the Na'vi race to protect their home. | +| `Rating` | *double* | :heavy_minus_sign: | N/A | 7.6 | +| `AudienceRating` | *double* | :heavy_minus_sign: | N/A | 9.2 | +| `Year` | *int* | :heavy_minus_sign: | N/A | 2022 | +| `Tagline` | *string* | :heavy_minus_sign: | N/A | Return to Pandora. | +| `Thumb` | *string* | :heavy_minus_sign: | N/A | /library/metadata/58683/thumb/1703239236 | +| `Art` | *string* | :heavy_minus_sign: | N/A | /library/metadata/58683/art/1703239236 | +| `Duration` | *int* | :heavy_minus_sign: | N/A | 11558112 | +| `OriginallyAvailableAt` | [LocalDate](https://nodatime.org/3.1.x/api/NodaTime.LocalDate.html) | :heavy_minus_sign: | N/A | 2022-12-14 00:00:00 +0000 UTC | +| `AddedAt` | *int* | :heavy_minus_sign: | N/A | 1680457607 | +| `UpdatedAt` | *int* | :heavy_minus_sign: | N/A | 1703239236 | +| `AudienceRatingImage` | *string* | :heavy_minus_sign: | N/A | rottentomatoes://image.rating.upright | +| `ChapterSource` | *string* | :heavy_minus_sign: | N/A | media | +| `PrimaryExtraKey` | *string* | :heavy_minus_sign: | N/A | /library/metadata/58684 | +| `RatingImage` | *string* | :heavy_minus_sign: | N/A | rottentomatoes://image.rating.ripe | +| `GrandparentRatingKey` | *string* | :heavy_minus_sign: | N/A | 66 | +| `GrandparentGuid` | *string* | :heavy_minus_sign: | N/A | plex://show/5d9c081b170e24001f2a7be4 | +| `GrandparentKey` | *string* | :heavy_minus_sign: | N/A | /library/metadata/66 | +| `GrandparentTitle` | *string* | :heavy_minus_sign: | N/A | Caprica | +| `GrandparentThumb` | *string* | :heavy_minus_sign: | N/A | /library/metadata/66/thumb/1705716261 | +| `GrandparentArt` | *string* | :heavy_minus_sign: | N/A | /library/metadata/66/art/1705716261 | +| `GrandparentTheme` | *string* | :heavy_minus_sign: | N/A | /library/metadata/66/theme/1705716261 | +| `Media` | List<[GetLibraryItemsMedia](../../Models/Requests/GetLibraryItemsMedia.md)> | :heavy_minus_sign: | N/A | [
{
"id": 119534,
"duration": 11558112,
"bitrate": 25025,
"width": 3840,
"height": 2072,
"aspectRatio": 1.85,
"audioChannels": 6,
"audioCodec": "eac3",
"videoCodec": "hevc",
"videoResolution": "4k",
"container": "mkv",
"videoFrameRate": "24p",
"videoProfile": "main 10",
"Part": [
{
"id": 119542,
"key": "/library/parts/119542/1680457526/file.mkv",
"duration": 11558112,
"file": "/movies/Avatar The Way of Water (2022)/Avatar.The.Way.of.Water.2022.2160p.WEB-DL.DDP5.1.Atmos.DV.HDR10.HEVC-CMRG.mkv",
"size": 36158371307,
"container": "mkv",
"videoProfile": "main 10"
}
]
}
] | +| `Genre` | List<[GetLibraryItemsGenre](../../Models/Requests/GetLibraryItemsGenre.md)> | :heavy_minus_sign: | N/A | [
{
"tag": "Adventure"
}
] | +| `Country` | List<[GetLibraryItemsCountry](../../Models/Requests/GetLibraryItemsCountry.md)> | :heavy_minus_sign: | N/A | [
{
"tag": "United States of America"
}
] | +| `Director` | List<[GetLibraryItemsDirector](../../Models/Requests/GetLibraryItemsDirector.md)> | :heavy_minus_sign: | N/A | [
{
"tag": "James Cameron"
}
] | +| `Writer` | List<[GetLibraryItemsWriter](../../Models/Requests/GetLibraryItemsWriter.md)> | :heavy_minus_sign: | N/A | [
{
"tag": "James Cameron"
}
] | +| `Role` | List<[GetLibraryItemsRole](../../Models/Requests/GetLibraryItemsRole.md)> | :heavy_minus_sign: | N/A | [
{
"tag": "Sigourney Weaver"
}
] | +| `TitleSort` | *string* | :heavy_minus_sign: | N/A | Whale | +| `ViewCount` | *int* | :heavy_minus_sign: | N/A | 1 | +| `LastViewedAt` | *int* | :heavy_minus_sign: | N/A | 1682752242 | +| `OriginalTitle` | *string* | :heavy_minus_sign: | N/A | 映画 ブラッククローバー 魔法帝の剣 | +| `ViewOffset` | *int* | :heavy_minus_sign: | N/A | 5222500 | +| `SkipCount` | *int* | :heavy_minus_sign: | N/A | 1 | +| `Index` | *int* | :heavy_minus_sign: | N/A | 1 | +| `Theme` | *string* | :heavy_minus_sign: | N/A | /library/metadata/1/theme/1705636920 | +| `LeafCount` | *int* | :heavy_minus_sign: | N/A | 14 | +| `ViewedLeafCount` | *int* | :heavy_minus_sign: | N/A | 0 | +| `ChildCount` | *int* | :heavy_minus_sign: | N/A | 1 | +| `HasPremiumExtras` | *string* | :heavy_minus_sign: | N/A | 1 | +| `HasPremiumPrimaryExtra` | *string* | :heavy_minus_sign: | N/A | 1 | +| `ParentRatingKey` | *string* | :heavy_minus_sign: | N/A | 66 | +| `ParentGuid` | *string* | :heavy_minus_sign: | N/A | plex://show/5d9c081b170e24001f2a7be4 | +| `ParentStudio` | *string* | :heavy_minus_sign: | N/A | UCP | +| `ParentKey` | *string* | :heavy_minus_sign: | N/A | /library/metadata/66 | +| `ParentTitle` | *string* | :heavy_minus_sign: | N/A | Caprica | +| `ParentIndex` | *int* | :heavy_minus_sign: | N/A | 1 | +| `ParentYear` | *int* | :heavy_minus_sign: | N/A | 2010 | +| `ParentThumb` | *string* | :heavy_minus_sign: | N/A | /library/metadata/66/thumb/1705716261 | +| `ParentTheme` | *string* | :heavy_minus_sign: | N/A | /library/metadata/66/theme/1705716261 | \ No newline at end of file diff --git a/docs/Models/Requests/GetLibraryMediaContainer.md b/docs/Models/Requests/GetLibraryMediaContainer.md index e795942..e1ba367 100644 --- a/docs/Models/Requests/GetLibraryMediaContainer.md +++ b/docs/Models/Requests/GetLibraryMediaContainer.md @@ -3,20 +3,20 @@ ## Fields -| Field | Type | Required | Description | Example | -| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -| `Size` | *int* | :heavy_minus_sign: | N/A | 29 | -| `AllowSync` | *bool* | :heavy_minus_sign: | N/A | false | -| `Art` | *string* | :heavy_minus_sign: | N/A | /:/resources/movie-fanart.jpg | -| `Content` | *string* | :heavy_minus_sign: | N/A | secondary | -| `Identifier` | *string* | :heavy_minus_sign: | N/A | com.plexapp.plugins.library | -| `LibrarySectionID` | *int* | :heavy_minus_sign: | N/A | 1 | -| `MediaTagPrefix` | *string* | :heavy_minus_sign: | N/A | /system/bundle/media/flags/ | -| `MediaTagVersion` | *int* | :heavy_minus_sign: | N/A | 1701731894 | -| `Thumb` | *string* | :heavy_minus_sign: | N/A | /:/resources/movie.png | -| `Title1` | *string* | :heavy_minus_sign: | N/A | Movies | -| `ViewGroup` | *string* | :heavy_minus_sign: | N/A | secondary | -| `ViewMode` | *int* | :heavy_minus_sign: | N/A | 65592 | -| `Directory` | List<[GetLibraryDirectory](../../Models/Requests/GetLibraryDirectory.md)> | :heavy_minus_sign: | N/A | [{"key":"search?type=1","prompt":"Search Movies","search":true,"secondary":true,"title":"Search..."}] | -| `Type` | List<[GetLibraryType](../../Models/Requests/GetLibraryType.md)> | :heavy_minus_sign: | N/A | [{"Field":[{"key":"title","title":"Title","type":"string"},{"key":"studio","title":"Studio","type":"string"},{"key":"userRating","subType":"rating","title":"Rating","type":"integer"},{"key":"contentRating","title":"Content Rating","type":"tag"},{"key":"year","subType":"year","title":"Year","type":"integer"},{"key":"decade","subType":"decade","title":"Decade","type":"integer"},{"key":"originallyAvailableAt","title":"Release Date","type":"date"},{"key":"duration","subType":"duration","title":"Duration","type":"integer"},{"key":"unmatched","title":"Unmatched","type":"boolean"},{"key":"duplicate","title":"Duplicate","type":"boolean"},{"key":"genre","title":"Genre","type":"tag"},{"key":"collection","title":"Collection","type":"tag"},{"key":"director","title":"Director","type":"tag"},{"key":"writer","title":"Writer","type":"tag"},{"key":"producer","title":"Producer","type":"tag"},{"key":"actor","title":"Actor","type":"tag"},{"key":"country","title":"Country","type":"tag"},{"key":"addedAt","title":"Date Added","type":"date"},{"key":"viewCount","title":"Plays","type":"integer"},{"key":"lastViewedAt","title":"Last Played","type":"date"},{"key":"unwatched","title":"Unplayed","type":"boolean"},{"key":"resolution","title":"Resolution","type":"resolution"},{"key":"hdr","subType":"hdr","title":"HDR","type":"boolean"},{"key":"mediaSize","subType":"fileSize","title":"File Size","type":"integer"},{"key":"mediaBitrate","subType":"bitrate","title":"Bitrate","type":"integer"},{"key":"subtitleLanguage","title":"Subtitle Language","type":"subtitleLanguage"},{"key":"audioLanguage","title":"Audio Language","type":"audioLanguage"},{"key":"inProgress","title":"In Progress","type":"boolean"},{"key":"trash","title":"Trash","type":"boolean"},{"key":"editionTitle","title":"Edition","type":"string"},{"key":"label","title":"Label","type":"tag"}],"Filter":[{"filter":"genre","filterType":"string","key":"/library/sections/1/genre","title":"Genre","type":"filter"},{"filter":"year","filterType":"integer","key":"/library/sections/1/year","title":"Year","type":"filter"},{"filter":"decade","filterType":"integer","key":"/library/sections/1/decade","title":"Decade","type":"filter"},{"filter":"contentRating","filterType":"string","key":"/library/sections/1/contentRating","title":"Content Rating","type":"filter"},{"filter":"collection","filterType":"string","key":"/library/sections/1/collection","title":"Collection","type":"filter"},{"filter":"director","filterType":"string","key":"/library/sections/1/director","title":"Director","type":"filter"},{"filter":"actor","filterType":"string","key":"/library/sections/1/actor","title":"Actor","type":"filter"},{"filter":"writer","filterType":"string","key":"/library/sections/1/writer","title":"Writer","type":"filter"},{"filter":"producer","filterType":"string","key":"/library/sections/1/producer","title":"Producer","type":"filter"},{"filter":"country","filterType":"string","key":"/library/sections/1/country","title":"Country","type":"filter"},{"filter":"studio","filterType":"string","key":"/library/sections/1/studio","title":"Studio","type":"filter"},{"filter":"resolution","filterType":"string","key":"/library/sections/1/resolution","title":"Resolution","type":"filter"},{"filter":"hdr","filterType":"boolean","key":"/library/sections/1/hdr","title":"HDR","type":"filter"},{"filter":"unwatched","filterType":"boolean","key":"/library/sections/1/unwatched","title":"Unplayed","type":"filter"},{"filter":"inProgress","filterType":"boolean","key":"/library/sections/1/inProgress","title":"In Progress","type":"filter"},{"filter":"unmatched","filterType":"boolean","key":"/library/sections/1/unmatched","title":"Unmatched","type":"filter"},{"filter":"audioLanguage","filterType":"string","key":"/library/sections/1/audioLanguage","title":"Audio Language","type":"filter"},{"filter":"subtitleLanguage","filterType":"string","key":"/library/sections/1/subtitleLanguage","title":"Subtitle Language","type":"filter"},{"filter":"editionTitle","filterType":"string","key":"/library/sections/1/editionTitle","title":"Edition","type":"filter"},{"filter":"label","filterType":"string","key":"/library/sections/1/label","title":"Labels","type":"filter"}],"Sort":[{"default":"asc","defaultDirection":"asc","descKey":"titleSort:desc","firstCharacterKey":"/library/sections/1/firstCharacter","key":"titleSort","title":"Title"},{"defaultDirection":"desc","descKey":"originallyAvailableAt:desc","key":"originallyAvailableAt","title":"Release Date"},{"defaultDirection":"desc","descKey":"rating:desc","key":"rating","title":"Critic Rating"},{"defaultDirection":"desc","descKey":"audienceRating:desc","key":"audienceRating","title":"Audience Rating"},{"defaultDirection":"desc","descKey":"duration:desc","key":"duration","title":"Duration"},{"defaultDirection":"desc","descKey":"addedAt:desc","key":"addedAt","title":"Date Added"},{"defaultDirection":"desc","descKey":"lastViewedAt:desc","key":"lastViewedAt","title":"Date Viewed"},{"defaultDirection":"asc","descKey":"mediaHeight:desc","key":"mediaHeight","title":"Resolution"},{"defaultDirection":"desc","descKey":"random:desc","key":"random","title":"Randomly"}],"active":false,"key":"/library/sections/1/all?type=1","title":"Movies","type":"movie"}] | -| `FieldType` | List<[FieldType](../../Models/Requests/FieldType.md)> | :heavy_minus_sign: | N/A | [{"Operator":[{"key":"=","title":"is"}],"type":"resolution"}] | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Size` | *int* | :heavy_minus_sign: | N/A | 29 | +| `AllowSync` | *bool* | :heavy_minus_sign: | N/A | false | +| `Art` | *string* | :heavy_minus_sign: | N/A | /:/resources/movie-fanart.jpg | +| `Content` | *string* | :heavy_minus_sign: | N/A | secondary | +| `Identifier` | *string* | :heavy_minus_sign: | N/A | com.plexapp.plugins.library | +| `LibrarySectionID` | *int* | :heavy_minus_sign: | N/A | 1 | +| `MediaTagPrefix` | *string* | :heavy_minus_sign: | N/A | /system/bundle/media/flags/ | +| `MediaTagVersion` | *int* | :heavy_minus_sign: | N/A | 1701731894 | +| `Thumb` | *string* | :heavy_minus_sign: | N/A | /:/resources/movie.png | +| `Title1` | *string* | :heavy_minus_sign: | N/A | Movies | +| `ViewGroup` | *string* | :heavy_minus_sign: | N/A | secondary | +| `ViewMode` | *int* | :heavy_minus_sign: | N/A | 65592 | +| `Directory` | List<[GetLibraryDirectory](../../Models/Requests/GetLibraryDirectory.md)> | :heavy_minus_sign: | N/A | [
{
"key": "search?type=1",
"title": "Search...",
"secondary": true,
"prompt": "Search Movies",
"search": true
}
] | +| `Type` | List<[GetLibraryType](../../Models/Requests/GetLibraryType.md)> | :heavy_minus_sign: | N/A | [
{
"key": "/library/sections/1/all?type=1",
"type": "movie",
"title": "Movies",
"active": false,
"Filter": [
{
"filter": "genre",
"filterType": "string",
"key": "/library/sections/1/genre",
"title": "Genre",
"type": "filter"
},
{
"filter": "year",
"filterType": "integer",
"key": "/library/sections/1/year",
"title": "Year",
"type": "filter"
},
{
"filter": "decade",
"filterType": "integer",
"key": "/library/sections/1/decade",
"title": "Decade",
"type": "filter"
},
{
"filter": "contentRating",
"filterType": "string",
"key": "/library/sections/1/contentRating",
"title": "Content Rating",
"type": "filter"
},
{
"filter": "collection",
"filterType": "string",
"key": "/library/sections/1/collection",
"title": "Collection",
"type": "filter"
},
{
"filter": "director",
"filterType": "string",
"key": "/library/sections/1/director",
"title": "Director",
"type": "filter"
},
{
"filter": "actor",
"filterType": "string",
"key": "/library/sections/1/actor",
"title": "Actor",
"type": "filter"
},
{
"filter": "writer",
"filterType": "string",
"key": "/library/sections/1/writer",
"title": "Writer",
"type": "filter"
},
{
"filter": "producer",
"filterType": "string",
"key": "/library/sections/1/producer",
"title": "Producer",
"type": "filter"
},
{
"filter": "country",
"filterType": "string",
"key": "/library/sections/1/country",
"title": "Country",
"type": "filter"
},
{
"filter": "studio",
"filterType": "string",
"key": "/library/sections/1/studio",
"title": "Studio",
"type": "filter"
},
{
"filter": "resolution",
"filterType": "string",
"key": "/library/sections/1/resolution",
"title": "Resolution",
"type": "filter"
},
{
"filter": "hdr",
"filterType": "boolean",
"key": "/library/sections/1/hdr",
"title": "HDR",
"type": "filter"
},
{
"filter": "unwatched",
"filterType": "boolean",
"key": "/library/sections/1/unwatched",
"title": "Unplayed",
"type": "filter"
},
{
"filter": "inProgress",
"filterType": "boolean",
"key": "/library/sections/1/inProgress",
"title": "In Progress",
"type": "filter"
},
{
"filter": "unmatched",
"filterType": "boolean",
"key": "/library/sections/1/unmatched",
"title": "Unmatched",
"type": "filter"
},
{
"filter": "audioLanguage",
"filterType": "string",
"key": "/library/sections/1/audioLanguage",
"title": "Audio Language",
"type": "filter"
},
{
"filter": "subtitleLanguage",
"filterType": "string",
"key": "/library/sections/1/subtitleLanguage",
"title": "Subtitle Language",
"type": "filter"
},
{
"filter": "editionTitle",
"filterType": "string",
"key": "/library/sections/1/editionTitle",
"title": "Edition",
"type": "filter"
},
{
"filter": "label",
"filterType": "string",
"key": "/library/sections/1/label",
"title": "Labels",
"type": "filter"
}
],
"Sort": [
{
"default": "asc",
"defaultDirection": "asc",
"descKey": "titleSort:desc",
"firstCharacterKey": "/library/sections/1/firstCharacter",
"key": "titleSort",
"title": "Title"
},
{
"defaultDirection": "desc",
"descKey": "originallyAvailableAt:desc",
"key": "originallyAvailableAt",
"title": "Release Date"
},
{
"defaultDirection": "desc",
"descKey": "rating:desc",
"key": "rating",
"title": "Critic Rating"
},
{
"defaultDirection": "desc",
"descKey": "audienceRating:desc",
"key": "audienceRating",
"title": "Audience Rating"
},
{
"defaultDirection": "desc",
"descKey": "duration:desc",
"key": "duration",
"title": "Duration"
},
{
"defaultDirection": "desc",
"descKey": "addedAt:desc",
"key": "addedAt",
"title": "Date Added"
},
{
"defaultDirection": "desc",
"descKey": "lastViewedAt:desc",
"key": "lastViewedAt",
"title": "Date Viewed"
},
{
"defaultDirection": "asc",
"descKey": "mediaHeight:desc",
"key": "mediaHeight",
"title": "Resolution"
},
{
"defaultDirection": "desc",
"descKey": "random:desc",
"key": "random",
"title": "Randomly"
}
],
"Field": [
{
"key": "title",
"title": "Title",
"type": "string"
},
{
"key": "studio",
"title": "Studio",
"type": "string"
},
{
"key": "userRating",
"subType": "rating",
"title": "Rating",
"type": "integer"
},
{
"key": "contentRating",
"title": "Content Rating",
"type": "tag"
},
{
"key": "year",
"subType": "year",
"title": "Year",
"type": "integer"
},
{
"key": "decade",
"subType": "decade",
"title": "Decade",
"type": "integer"
},
{
"key": "originallyAvailableAt",
"title": "Release Date",
"type": "date"
},
{
"key": "duration",
"subType": "duration",
"title": "Duration",
"type": "integer"
},
{
"key": "unmatched",
"title": "Unmatched",
"type": "boolean"
},
{
"key": "duplicate",
"title": "Duplicate",
"type": "boolean"
},
{
"key": "genre",
"title": "Genre",
"type": "tag"
},
{
"key": "collection",
"title": "Collection",
"type": "tag"
},
{
"key": "director",
"title": "Director",
"type": "tag"
},
{
"key": "writer",
"title": "Writer",
"type": "tag"
},
{
"key": "producer",
"title": "Producer",
"type": "tag"
},
{
"key": "actor",
"title": "Actor",
"type": "tag"
},
{
"key": "country",
"title": "Country",
"type": "tag"
},
{
"key": "addedAt",
"title": "Date Added",
"type": "date"
},
{
"key": "viewCount",
"title": "Plays",
"type": "integer"
},
{
"key": "lastViewedAt",
"title": "Last Played",
"type": "date"
},
{
"key": "unwatched",
"title": "Unplayed",
"type": "boolean"
},
{
"key": "resolution",
"title": "Resolution",
"type": "resolution"
},
{
"key": "hdr",
"subType": "hdr",
"title": "HDR",
"type": "boolean"
},
{
"key": "mediaSize",
"subType": "fileSize",
"title": "File Size",
"type": "integer"
},
{
"key": "mediaBitrate",
"subType": "bitrate",
"title": "Bitrate",
"type": "integer"
},
{
"key": "subtitleLanguage",
"title": "Subtitle Language",
"type": "subtitleLanguage"
},
{
"key": "audioLanguage",
"title": "Audio Language",
"type": "audioLanguage"
},
{
"key": "inProgress",
"title": "In Progress",
"type": "boolean"
},
{
"key": "trash",
"title": "Trash",
"type": "boolean"
},
{
"key": "editionTitle",
"title": "Edition",
"type": "string"
},
{
"key": "label",
"title": "Label",
"type": "tag"
}
]
}
] | +| `FieldType` | List<[FieldType](../../Models/Requests/FieldType.md)> | :heavy_minus_sign: | N/A | [
{
"type": "resolution",
"Operator": [
{
"key": "=",
"title": "is"
}
]
}
] | \ No newline at end of file diff --git a/docs/Models/Requests/GetLibraryType.md b/docs/Models/Requests/GetLibraryType.md index 81e83b0..563a91a 100644 --- a/docs/Models/Requests/GetLibraryType.md +++ b/docs/Models/Requests/GetLibraryType.md @@ -3,12 +3,12 @@ ## Fields -| Field | Type | Required | Description | Example | -| ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `Key` | *string* | :heavy_minus_sign: | N/A | /library/sections/1/all?type=1 | -| `Type` | *string* | :heavy_minus_sign: | N/A | movie | -| `Title` | *string* | :heavy_minus_sign: | N/A | Movies | -| `Active` | *bool* | :heavy_minus_sign: | N/A | false | -| `Filter` | List<[Filter](../../Models/Requests/Filter.md)> | :heavy_minus_sign: | N/A | [{"filter":"label","filterType":"string","key":"/library/sections/1/label","title":"Labels","type":"filter"}] | -| `Sort` | List<[Sort](../../Models/Requests/Sort.md)> | :heavy_minus_sign: | N/A | [{"default":"asc","defaultDirection":"desc","descKey":"random:desc","firstCharacterKey":"/library/sections/1/firstCharacter","key":"random","title":"Randomly"}] | -| `Field` | List<[Field](../../Models/Requests/Field.md)> | :heavy_minus_sign: | N/A | [{"key":"label","subType":"bitrate","title":"Label","type":"tag"}] | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Key` | *string* | :heavy_minus_sign: | N/A | /library/sections/1/all?type=1 | +| `Type` | *string* | :heavy_minus_sign: | N/A | movie | +| `Title` | *string* | :heavy_minus_sign: | N/A | Movies | +| `Active` | *bool* | :heavy_minus_sign: | N/A | false | +| `Filter` | List<[Filter](../../Models/Requests/Filter.md)> | :heavy_minus_sign: | N/A | [
{
"filter": "label",
"filterType": "string",
"key": "/library/sections/1/label",
"title": "Labels",
"type": "filter"
}
] | +| `Sort` | List<[Sort](../../Models/Requests/Sort.md)> | :heavy_minus_sign: | N/A | [
{
"default": "asc",
"defaultDirection": "desc",
"descKey": "random:desc",
"firstCharacterKey": "/library/sections/1/firstCharacter",
"key": "random",
"title": "Randomly"
}
] | +| `Field` | List<[Field](../../Models/Requests/Field.md)> | :heavy_minus_sign: | N/A | [
{
"key": "label",
"title": "Label",
"type": "tag",
"subType": "bitrate"
}
] | \ No newline at end of file diff --git a/docs/Models/Requests/GetMetadataChildrenMediaContainer.md b/docs/Models/Requests/GetMetadataChildrenMediaContainer.md index 7474622..a935ed5 100644 --- a/docs/Models/Requests/GetMetadataChildrenMediaContainer.md +++ b/docs/Models/Requests/GetMetadataChildrenMediaContainer.md @@ -3,28 +3,28 @@ ## Fields -| Field | Type | Required | Description | Example | -| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `Size` | *int* | :heavy_minus_sign: | N/A | 3 | -| `AllowSync` | *bool* | :heavy_minus_sign: | N/A | true | -| `Art` | *string* | :heavy_minus_sign: | N/A | /library/metadata/30072/art/1705739923 | -| `Identifier` | *string* | :heavy_minus_sign: | N/A | com.plexapp.plugins.library | -| `Key` | *string* | :heavy_minus_sign: | N/A | 30072 | -| `LibrarySectionID` | *int* | :heavy_minus_sign: | N/A | 2 | -| `LibrarySectionTitle` | *string* | :heavy_minus_sign: | N/A | TV Shows | -| `LibrarySectionUUID` | *string* | :heavy_minus_sign: | N/A | 4bb2521c-8ba9-459b-aaee-8ab8bc35eabd | -| `MediaTagPrefix` | *string* | :heavy_minus_sign: | N/A | /system/bundle/media/flags/ | -| `MediaTagVersion` | *int* | :heavy_minus_sign: | N/A | 1701731894 | -| `Nocache` | *bool* | :heavy_minus_sign: | N/A | true | -| `ParentIndex` | *int* | :heavy_minus_sign: | N/A | 1 | -| `ParentTitle` | *string* | :heavy_minus_sign: | N/A | Reacher | -| `ParentYear` | *int* | :heavy_minus_sign: | N/A | 2022 | -| `Summary` | *string* | :heavy_minus_sign: | N/A | When retired Military Police Officer Jack Reacher is arrested for a murder he did not commit, he finds himself in the middle of a deadly conspiracy full of dirty cops, shady businessmen, and scheming politicians. With nothing but his wits, he must figure out what is happening in Margrave, Georgia. | -| `Theme` | *string* | :heavy_minus_sign: | N/A | /library/metadata/30072/theme/1705739923 | -| `Thumb` | *string* | :heavy_minus_sign: | N/A | /library/metadata/30072/thumb/1705739923 | -| `Title1` | *string* | :heavy_minus_sign: | N/A | TV Shows | -| `Title2` | *string* | :heavy_minus_sign: | N/A | Reacher | -| `ViewGroup` | *string* | :heavy_minus_sign: | N/A | season | -| `ViewMode` | *int* | :heavy_minus_sign: | N/A | 65593 | -| `Directory` | List<[GetMetadataChildrenDirectory](../../Models/Requests/GetMetadataChildrenDirectory.md)> | :heavy_minus_sign: | N/A | [{"key":"/library/metadata/30072/allLeaves","leafCount":16,"thumb":"/library/metadata/30072/thumb/1705739923","title":"All episodes","viewedLeafCount":16}] | -| `Metadata` | List<[GetMetadataChildrenMetadata](../../Models/Requests/GetMetadataChildrenMetadata.md)> | :heavy_minus_sign: | N/A | [{"addedAt":1702602021,"art":"/library/metadata/30072/art/1705739923","guid":"plex://season/652aea6549508477c34c6000","index":2,"key":"/library/metadata/66488/children","lastRatedAt":1703881224,"lastViewedAt":1705646565,"leafCount":8,"parentGuid":"plex://show/5d9c09190aaccd001f8f42f0","parentIndex":1,"parentKey":"/library/metadata/30072","parentRatingKey":"30072","parentStudio":"Amazon Studios","parentTheme":"/library/metadata/30072/theme/1705739923","parentThumb":"/library/metadata/30072/thumb/1705739923","parentTitle":"Reacher","parentYear":2022,"ratingKey":"66488","skipCount":1,"summary":"Based on\"Bad Luck and Trouble,\" when members of Reacher's old military unit start turning up dead, Reacher has just one thing on his mind—revenge.","thumb":"/library/metadata/66488/thumb/1703065033","title":"Season 2","type":"season","updatedAt":1703065033,"userRating":9,"viewCount":11,"viewedLeafCount":8}] | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `Size` | *int* | :heavy_minus_sign: | N/A | 3 | +| `AllowSync` | *bool* | :heavy_minus_sign: | N/A | true | +| `Art` | *string* | :heavy_minus_sign: | N/A | /library/metadata/30072/art/1705739923 | +| `Identifier` | *string* | :heavy_minus_sign: | N/A | com.plexapp.plugins.library | +| `Key` | *string* | :heavy_minus_sign: | N/A | 30072 | +| `LibrarySectionID` | *int* | :heavy_minus_sign: | N/A | 2 | +| `LibrarySectionTitle` | *string* | :heavy_minus_sign: | N/A | TV Shows | +| `LibrarySectionUUID` | *string* | :heavy_minus_sign: | N/A | 4bb2521c-8ba9-459b-aaee-8ab8bc35eabd | +| `MediaTagPrefix` | *string* | :heavy_minus_sign: | N/A | /system/bundle/media/flags/ | +| `MediaTagVersion` | *int* | :heavy_minus_sign: | N/A | 1701731894 | +| `Nocache` | *bool* | :heavy_minus_sign: | N/A | true | +| `ParentIndex` | *int* | :heavy_minus_sign: | N/A | 1 | +| `ParentTitle` | *string* | :heavy_minus_sign: | N/A | Reacher | +| `ParentYear` | *int* | :heavy_minus_sign: | N/A | 2022 | +| `Summary` | *string* | :heavy_minus_sign: | N/A | When retired Military Police Officer Jack Reacher is arrested for a murder he did not commit, he finds himself in the middle of a deadly conspiracy full of dirty cops, shady businessmen, and scheming politicians. With nothing but his wits, he must figure out what is happening in Margrave, Georgia. | +| `Theme` | *string* | :heavy_minus_sign: | N/A | /library/metadata/30072/theme/1705739923 | +| `Thumb` | *string* | :heavy_minus_sign: | N/A | /library/metadata/30072/thumb/1705739923 | +| `Title1` | *string* | :heavy_minus_sign: | N/A | TV Shows | +| `Title2` | *string* | :heavy_minus_sign: | N/A | Reacher | +| `ViewGroup` | *string* | :heavy_minus_sign: | N/A | season | +| `ViewMode` | *int* | :heavy_minus_sign: | N/A | 65593 | +| `Directory` | List<[GetMetadataChildrenDirectory](../../Models/Requests/GetMetadataChildrenDirectory.md)> | :heavy_minus_sign: | N/A | [
{
"leafCount": 16,
"thumb": "/library/metadata/30072/thumb/1705739923",
"viewedLeafCount": 16,
"key": "/library/metadata/30072/allLeaves",
"title": "All episodes"
}
] | +| `Metadata` | List<[GetMetadataChildrenMetadata](../../Models/Requests/GetMetadataChildrenMetadata.md)> | :heavy_minus_sign: | N/A | [
{
"ratingKey": "66488",
"key": "/library/metadata/66488/children",
"parentRatingKey": "30072",
"guid": "plex://season/652aea6549508477c34c6000",
"parentGuid": "plex://show/5d9c09190aaccd001f8f42f0",
"parentStudio": "Amazon Studios",
"type": "season",
"title": "Season 2",
"parentKey": "/library/metadata/30072",
"parentTitle": "Reacher",
"summary": "Based on\"Bad Luck and Trouble,\" when members of Reacher's old military unit start turning up dead, Reacher has just one thing on his mind—revenge.",
"index": 2,
"parentIndex": 1,
"viewCount": 11,
"lastViewedAt": 1705646565,
"parentYear": 2022,
"thumb": "/library/metadata/66488/thumb/1703065033",
"art": "/library/metadata/30072/art/1705739923",
"parentThumb": "/library/metadata/30072/thumb/1705739923",
"parentTheme": "/library/metadata/30072/theme/1705739923",
"leafCount": 8,
"viewedLeafCount": 8,
"addedAt": 1702602021,
"updatedAt": 1703065033,
"userRating": 9,
"skipCount": 1,
"lastRatedAt": 1703881224
}
] | \ No newline at end of file diff --git a/docs/Models/Requests/GetMetadataMedia.md b/docs/Models/Requests/GetMetadataMedia.md index 151dae9..cc8d0ca 100644 --- a/docs/Models/Requests/GetMetadataMedia.md +++ b/docs/Models/Requests/GetMetadataMedia.md @@ -3,22 +3,22 @@ ## Fields -| Field | Type | Required | Description | Example | -| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -| `Id` | *int* | :heavy_minus_sign: | N/A | 15 | -| `Duration` | *int* | :heavy_minus_sign: | N/A | 141417 | -| `Bitrate` | *int* | :heavy_minus_sign: | N/A | 2278 | -| `Width` | *int* | :heavy_minus_sign: | N/A | 1920 | -| `Height` | *int* | :heavy_minus_sign: | N/A | 814 | -| `AspectRatio` | *double* | :heavy_minus_sign: | N/A | 2.35 | -| `AudioChannels` | *int* | :heavy_minus_sign: | N/A | 2 | -| `AudioCodec` | *string* | :heavy_minus_sign: | N/A | aac | -| `VideoCodec` | *string* | :heavy_minus_sign: | N/A | h264 | -| `VideoResolution` | *string* | :heavy_minus_sign: | N/A | 1080 | -| `Container` | *string* | :heavy_minus_sign: | N/A | mp4 | -| `VideoFrameRate` | *string* | :heavy_minus_sign: | N/A | 24p | -| `OptimizedForStreaming` | *int* | :heavy_minus_sign: | N/A | 0 | -| `AudioProfile` | *string* | :heavy_minus_sign: | N/A | lc | -| `Has64bitOffsets` | *bool* | :heavy_minus_sign: | N/A | false | -| `VideoProfile` | *string* | :heavy_minus_sign: | N/A | high | -| `Part` | List<[GetMetadataPart](../../Models/Requests/GetMetadataPart.md)> | :heavy_minus_sign: | N/A | [{"Stream":[{"bitDepth":8,"bitrate":2160,"chromaLocation":"left","chromaSubsampling":14520,"codec":"h264","codedHeight":816,"codedWidth":1920,"colorPrimaries":"bt709","colorRange":"tv","colorSpace":"bt709","colorTrc":"bt709","default":true,"displayTitle":"1080p (H.264)","extendedDisplayTitle":"1080p (H.264)","frameRate":24,"hasScalingMatrix":false,"height":814,"id":30,"index":1,"level":40,"profile":"high","refFrames":4,"scanType":"progressive","streamIdentifier":"2","streamType":1,"width":1920},{"bitrate":128,"channels":2,"codec":"aac","default":true,"displayTitle":"English (AAC Stereo)","extendedDisplayTitle":"English (AAC Stereo)","id":29,"index":0,"language":"English","languageCode":"eng","languageTag":"en","profile":"lc","samplingRate":44100,"selected":true,"streamIdentifier":"1","streamType":2}],"audioProfile":"lc","container":"mp4","duration":141417,"file":"/movies/Serenity (2005)/Serenity (2005).mp4","has64bitOffsets":false,"id":15,"key":"/library/parts/15/1705637151/file.mp4","optimizedForStreaming":false,"size":40271948,"videoProfile":"high"}] | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `Id` | *int* | :heavy_minus_sign: | N/A | 15 | +| `Duration` | *int* | :heavy_minus_sign: | N/A | 141417 | +| `Bitrate` | *int* | :heavy_minus_sign: | N/A | 2278 | +| `Width` | *int* | :heavy_minus_sign: | N/A | 1920 | +| `Height` | *int* | :heavy_minus_sign: | N/A | 814 | +| `AspectRatio` | *double* | :heavy_minus_sign: | N/A | 2.35 | +| `AudioChannels` | *int* | :heavy_minus_sign: | N/A | 2 | +| `AudioCodec` | *string* | :heavy_minus_sign: | N/A | aac | +| `VideoCodec` | *string* | :heavy_minus_sign: | N/A | h264 | +| `VideoResolution` | *string* | :heavy_minus_sign: | N/A | 1080 | +| `Container` | *string* | :heavy_minus_sign: | N/A | mp4 | +| `VideoFrameRate` | *string* | :heavy_minus_sign: | N/A | 24p | +| `OptimizedForStreaming` | *int* | :heavy_minus_sign: | N/A | 0 | +| `AudioProfile` | *string* | :heavy_minus_sign: | N/A | lc | +| `Has64bitOffsets` | *bool* | :heavy_minus_sign: | N/A | false | +| `VideoProfile` | *string* | :heavy_minus_sign: | N/A | high | +| `Part` | List<[GetMetadataPart](../../Models/Requests/GetMetadataPart.md)> | :heavy_minus_sign: | N/A | [
{
"id": 15,
"key": "/library/parts/15/1705637151/file.mp4",
"duration": 141417,
"file": "/movies/Serenity (2005)/Serenity (2005).mp4",
"size": 40271948,
"audioProfile": "lc",
"container": "mp4",
"has64bitOffsets": false,
"optimizedForStreaming": false,
"videoProfile": "high",
"Stream": [
{
"id": 30,
"streamType": 1,
"default": true,
"codec": "h264",
"index": 1,
"bitrate": 2160,
"bitDepth": 8,
"chromaLocation": "left",
"chromaSubsampling": 14520,
"codedHeight": 816,
"codedWidth": 1920,
"colorPrimaries": "bt709",
"colorRange": "tv",
"colorSpace": "bt709",
"colorTrc": "bt709",
"frameRate": 24,
"hasScalingMatrix": false,
"height": 814,
"level": 40,
"profile": "high",
"refFrames": 4,
"scanType": "progressive",
"streamIdentifier": "2",
"width": 1920,
"displayTitle": "1080p (H.264)",
"extendedDisplayTitle": "1080p (H.264)"
},
{
"id": 29,
"streamType": 2,
"selected": true,
"default": true,
"codec": "aac",
"index": 0,
"channels": 2,
"bitrate": 128,
"language": "English",
"languageTag": "en",
"languageCode": "eng",
"profile": "lc",
"samplingRate": 44100,
"streamIdentifier": "1",
"displayTitle": "English (AAC Stereo)",
"extendedDisplayTitle": "English (AAC Stereo)"
}
]
}
] | \ No newline at end of file diff --git a/docs/Models/Requests/GetMetadataMediaContainer.md b/docs/Models/Requests/GetMetadataMediaContainer.md index 99b38aa..6de8ab8 100644 --- a/docs/Models/Requests/GetMetadataMediaContainer.md +++ b/docs/Models/Requests/GetMetadataMediaContainer.md @@ -3,14 +3,14 @@ ## Fields -| Field | Type | Required | Description | Example | -| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `Size` | *int* | :heavy_minus_sign: | N/A | 1 | -| `AllowSync` | *bool* | :heavy_minus_sign: | N/A | true | -| `Identifier` | *string* | :heavy_minus_sign: | N/A | com.plexapp.plugins.library | -| `LibrarySectionID` | *int* | :heavy_minus_sign: | N/A | 1 | -| `LibrarySectionTitle` | *string* | :heavy_minus_sign: | N/A | Movies | -| `LibrarySectionUUID` | *string* | :heavy_minus_sign: | N/A | cfc899d7-3000-46f6-8489-b9592714ada5 | -| `MediaTagPrefix` | *string* | :heavy_minus_sign: | N/A | /system/bundle/media/flags/ | -| `MediaTagVersion` | *int* | :heavy_minus_sign: | N/A | 1698860922 | -| `Metadata` | List<[GetMetadataMetadata](../../Models/Requests/GetMetadataMetadata.md)> | :heavy_minus_sign: | N/A | [{"Country":[{"filter":"country=116","id":116,"tag":"United States of America"}],"Director":[{"filter":"director=130","id":130,"tag":"Joss Whedon","tagKey":"5d776828880197001ec90e8f","thumb":"https://metadata-static.plex.tv/people/5d776828880197001ec90e8f.jpg"}],"Genre":[{"filter":"genre=5","id":5,"tag":"Science Fiction"}],"Guid":[{"id":"imdb://tt0379786"}],"Media":[{"Part":[{"Stream":[{"bitDepth":8,"bitrate":2160,"chromaLocation":"left","chromaSubsampling":14520,"codec":"h264","codedHeight":816,"codedWidth":1920,"colorPrimaries":"bt709","colorRange":"tv","colorSpace":"bt709","colorTrc":"bt709","default":true,"displayTitle":"1080p (H.264)","extendedDisplayTitle":"1080p (H.264)","frameRate":24,"hasScalingMatrix":false,"height":814,"id":30,"index":1,"level":40,"profile":"high","refFrames":4,"scanType":"progressive","streamIdentifier":"2","streamType":1,"width":1920},{"bitrate":128,"channels":2,"codec":"aac","default":true,"displayTitle":"English (AAC Stereo)","extendedDisplayTitle":"English (AAC Stereo)","id":29,"index":0,"language":"English","languageCode":"eng","languageTag":"en","profile":"lc","samplingRate":44100,"selected":true,"streamIdentifier":"1","streamType":2}],"audioProfile":"lc","container":"mp4","duration":141417,"file":"/movies/Serenity (2005)/Serenity (2005).mp4","has64bitOffsets":false,"id":15,"key":"/library/parts/15/1705637151/file.mp4","optimizedForStreaming":false,"size":40271948,"videoProfile":"high"}],"aspectRatio":2.35,"audioChannels":2,"audioCodec":"aac","audioProfile":"lc","bitrate":2278,"container":"mp4","duration":141417,"has64bitOffsets":false,"height":814,"id":15,"optimizedForStreaming":0,"videoCodec":"h264","videoFrameRate":"24p","videoProfile":"high","videoResolution":"1080","width":1920}],"Producer":[{"filter":"producer=221","id":221,"tag":"Barry Mendel","tagKey":"5d776826961905001eb90e2b","thumb":"https://metadata-static.plex.tv/8/people/87877371326a964634d18556d94547e1.jpg"}],"Rating":[{"image":"imdb://image.rating","type":"audience","value":7.8}],"Role":[{"filter":"actor=8","id":8,"role":"Malcolm \"Mal\" Reynolds","tag":"Nathan Fillion","tagKey":"5d7768286f4521001ea9945c","thumb":"https://metadata-static.plex.tv/4/people/4a2890ca346eb832500b1ed0add89d5e.jpg"}],"Writer":[{"filter":"writer=132","id":132,"tag":"Joss Whedon","tagKey":"5d776828880197001ec90e8f","thumb":"https://metadata-static.plex.tv/people/5d776828880197001ec90e8f.jpg"}],"addedAt":1705637164,"art":"/library/metadata/17/art/1705637165","audienceRating":9.1,"audienceRatingImage":"rottentomatoes://image.rating.upright","contentRating":"PG-13","duration":141417,"guid":"plex://movie/5d77683f6f4521001ea9dc53","hasPremiumPrimaryExtra":"1","key":"/library/metadata/17","librarySectionID":1,"librarySectionKey":"/library/sections/1","librarySectionTitle":"Movies","originallyAvailableAt":"2005-09-29T00:00:00Z","rating":8.2,"ratingImage":"rottentomatoes://image.rating.ripe","ratingKey":"17","studio":"Universal Pictures","summary":"Serenity continues the story of the TV series it was based upon (\"Firefly\"). River Tam had a secret - one in which she's not even aware - so dangerous, no one's safe, as an Alliance operative's sent to capture her, and all others are considered irrelevant to his job.","tagline":"They aim to misbehave.","thumb":"/library/metadata/17/thumb/1705637165","title":"Serenity","type":"movie","updatedAt":1705637165,"year":2005}] | \ No newline at end of file +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Size` | *int* | :heavy_minus_sign: | N/A | 1 | +| `AllowSync` | *bool* | :heavy_minus_sign: | N/A | true | +| `Identifier` | *string* | :heavy_minus_sign: | N/A | com.plexapp.plugins.library | +| `LibrarySectionID` | *int* | :heavy_minus_sign: | N/A | 1 | +| `LibrarySectionTitle` | *string* | :heavy_minus_sign: | N/A | Movies | +| `LibrarySectionUUID` | *string* | :heavy_minus_sign: | N/A | cfc899d7-3000-46f6-8489-b9592714ada5 | +| `MediaTagPrefix` | *string* | :heavy_minus_sign: | N/A | /system/bundle/media/flags/ | +| `MediaTagVersion` | *int* | :heavy_minus_sign: | N/A | 1698860922 | +| `Metadata` | List<[GetMetadataMetadata](../../Models/Requests/GetMetadataMetadata.md)> | :heavy_minus_sign: | N/A | [
{
"ratingKey": "17",
"key": "/library/metadata/17",
"guid": "plex://movie/5d77683f6f4521001ea9dc53",
"studio": "Universal Pictures",
"type": "movie",
"title": "Serenity",
"librarySectionTitle": "Movies",
"librarySectionID": 1,
"librarySectionKey": "/library/sections/1",
"contentRating": "PG-13",
"summary": "Serenity continues the story of the TV series it was based upon (\"Firefly\"). River Tam had a secret - one in which she's not even aware - so dangerous, no one's safe, as an Alliance operative's sent to capture her, and all others are considered irrelevant to his job.",
"rating": 8.2,
"audienceRating": 9.1,
"year": 2005,
"tagline": "They aim to misbehave.",
"thumb": "/library/metadata/17/thumb/1705637165",
"art": "/library/metadata/17/art/1705637165",
"duration": 141417,
"originallyAvailableAt": "2005-09-29T00:00:00Z",
"addedAt": 1705637164,
"updatedAt": 1705637165,
"audienceRatingImage": "rottentomatoes://image.rating.upright",
"hasPremiumPrimaryExtra": "1",
"ratingImage": "rottentomatoes://image.rating.ripe",
"Media": [
{
"id": 15,
"duration": 141417,
"bitrate": 2278,
"width": 1920,
"height": 814,
"aspectRatio": 2.35,
"audioChannels": 2,
"audioCodec": "aac",
"videoCodec": "h264",
"videoResolution": "1080",
"container": "mp4",
"videoFrameRate": "24p",
"optimizedForStreaming": 0,
"audioProfile": "lc",
"has64bitOffsets": false,
"videoProfile": "high",
"Part": [
{
"id": 15,
"key": "/library/parts/15/1705637151/file.mp4",
"duration": 141417,
"file": "/movies/Serenity (2005)/Serenity (2005).mp4",
"size": 40271948,
"audioProfile": "lc",
"container": "mp4",
"has64bitOffsets": false,
"optimizedForStreaming": false,
"videoProfile": "high",
"Stream": [
{
"id": 30,
"streamType": 1,
"default": true,
"codec": "h264",
"index": 1,
"bitrate": 2160,
"bitDepth": 8,
"chromaLocation": "left",
"chromaSubsampling": 14520,
"codedHeight": 816,
"codedWidth": 1920,
"colorPrimaries": "bt709",
"colorRange": "tv",
"colorSpace": "bt709",
"colorTrc": "bt709",
"frameRate": 24,
"hasScalingMatrix": false,
"height": 814,
"level": 40,
"profile": "high",
"refFrames": 4,
"scanType": "progressive",
"streamIdentifier": "2",
"width": 1920,
"displayTitle": "1080p (H.264)",
"extendedDisplayTitle": "1080p (H.264)"
},
{
"id": 29,
"streamType": 2,
"selected": true,
"default": true,
"codec": "aac",
"index": 0,
"channels": 2,
"bitrate": 128,
"language": "English",
"languageTag": "en",
"languageCode": "eng",
"profile": "lc",
"samplingRate": 44100,
"streamIdentifier": "1",
"displayTitle": "English (AAC Stereo)",
"extendedDisplayTitle": "English (AAC Stereo)"
}
]
}
]
}
],
"Genre": [
{
"id": 5,
"filter": "genre=5",
"tag": "Science Fiction"
}
],
"Country": [
{
"id": 116,
"filter": "country=116",
"tag": "United States of America"
}
],
"Guid": [
{
"id": "imdb://tt0379786"
}
],
"Rating": [
{
"image": "imdb://image.rating",
"value": 7.8,
"type": "audience"
}
],
"Director": [
{
"id": 130,
"filter": "director=130",
"tag": "Joss Whedon",
"tagKey": "5d776828880197001ec90e8f",
"thumb": "https://metadata-static.plex.tv/people/5d776828880197001ec90e8f.jpg"
}
],
"Writer": [
{
"id": 132,
"filter": "writer=132",
"tag": "Joss Whedon",
"tagKey": "5d776828880197001ec90e8f",
"thumb": "https://metadata-static.plex.tv/people/5d776828880197001ec90e8f.jpg"
}
],
"Role": [
{
"id": 8,
"filter": "actor=8",
"tag": "Nathan Fillion",
"tagKey": "5d7768286f4521001ea9945c",
"role": "Malcolm \"Mal\" Reynolds",
"thumb": "https://metadata-static.plex.tv/4/people/4a2890ca346eb832500b1ed0add89d5e.jpg"
}
],
"Producer": [
{
"id": 221,
"filter": "producer=221",
"tag": "Barry Mendel",
"tagKey": "5d776826961905001eb90e2b",
"thumb": "https://metadata-static.plex.tv/8/people/87877371326a964634d18556d94547e1.jpg"
}
]
}
] | \ No newline at end of file diff --git a/docs/Models/Requests/GetMetadataMetadata.md b/docs/Models/Requests/GetMetadataMetadata.md index 5bbcc02..68a41e8 100644 --- a/docs/Models/Requests/GetMetadataMetadata.md +++ b/docs/Models/Requests/GetMetadataMetadata.md @@ -3,38 +3,38 @@ ## Fields -| Field | Type | Required | Description | Example | -| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -| `RatingKey` | *string* | :heavy_minus_sign: | N/A | 17 | -| `Key` | *string* | :heavy_minus_sign: | N/A | /library/metadata/17 | -| `Guid` | *string* | :heavy_minus_sign: | N/A | plex://movie/5d77683f6f4521001ea9dc53 | -| `Studio` | *string* | :heavy_minus_sign: | N/A | Universal Pictures | -| `Type` | *string* | :heavy_minus_sign: | N/A | movie | -| `Title` | *string* | :heavy_minus_sign: | N/A | Serenity | -| `LibrarySectionTitle` | *string* | :heavy_minus_sign: | N/A | Movies | -| `LibrarySectionID` | *int* | :heavy_minus_sign: | N/A | 1 | -| `LibrarySectionKey` | *string* | :heavy_minus_sign: | N/A | /library/sections/1 | -| `ContentRating` | *string* | :heavy_minus_sign: | N/A | PG-13 | -| `Summary` | *string* | :heavy_minus_sign: | N/A | Serenity continues the story of the TV series it was based upon ("Firefly"). River Tam had a secret - one in which she's not even aware - so dangerous, no one's safe, as an Alliance operative's sent to capture her, and all others are considered irrelevant to his job. | -| `Rating` | *double* | :heavy_minus_sign: | N/A | 8.2 | -| `AudienceRating` | *double* | :heavy_minus_sign: | N/A | 9.1 | -| `Year` | *int* | :heavy_minus_sign: | N/A | 2005 | -| `Tagline` | *string* | :heavy_minus_sign: | N/A | They aim to misbehave. | -| `Thumb` | *string* | :heavy_minus_sign: | N/A | /library/metadata/17/thumb/1705637165 | -| `Art` | *string* | :heavy_minus_sign: | N/A | /library/metadata/17/art/1705637165 | -| `Duration` | *int* | :heavy_minus_sign: | N/A | 141417 | -| `OriginallyAvailableAt` | [LocalDate](https://nodatime.org/3.1.x/api/NodaTime.LocalDate.html) | :heavy_minus_sign: | N/A | 2005-09-29 00:00:00 +0000 UTC | -| `AddedAt` | *int* | :heavy_minus_sign: | N/A | 1705637164 | -| `UpdatedAt` | *int* | :heavy_minus_sign: | N/A | 1705637165 | -| `AudienceRatingImage` | *string* | :heavy_minus_sign: | N/A | rottentomatoes://image.rating.upright | -| `HasPremiumPrimaryExtra` | *string* | :heavy_minus_sign: | N/A | 1 | -| `RatingImage` | *string* | :heavy_minus_sign: | N/A | rottentomatoes://image.rating.ripe | -| `Media` | List<[GetMetadataMedia](../../Models/Requests/GetMetadataMedia.md)> | :heavy_minus_sign: | N/A | [{"Part":[{"Stream":[{"bitDepth":8,"bitrate":2160,"chromaLocation":"left","chromaSubsampling":14520,"codec":"h264","codedHeight":816,"codedWidth":1920,"colorPrimaries":"bt709","colorRange":"tv","colorSpace":"bt709","colorTrc":"bt709","default":true,"displayTitle":"1080p (H.264)","extendedDisplayTitle":"1080p (H.264)","frameRate":24,"hasScalingMatrix":false,"height":814,"id":30,"index":1,"level":40,"profile":"high","refFrames":4,"scanType":"progressive","streamIdentifier":"2","streamType":1,"width":1920},{"bitrate":128,"channels":2,"codec":"aac","default":true,"displayTitle":"English (AAC Stereo)","extendedDisplayTitle":"English (AAC Stereo)","id":29,"index":0,"language":"English","languageCode":"eng","languageTag":"en","profile":"lc","samplingRate":44100,"selected":true,"streamIdentifier":"1","streamType":2}],"audioProfile":"lc","container":"mp4","duration":141417,"file":"/movies/Serenity (2005)/Serenity (2005).mp4","has64bitOffsets":false,"id":15,"key":"/library/parts/15/1705637151/file.mp4","optimizedForStreaming":false,"size":40271948,"videoProfile":"high"}],"aspectRatio":2.35,"audioChannels":2,"audioCodec":"aac","audioProfile":"lc","bitrate":2278,"container":"mp4","duration":141417,"has64bitOffsets":false,"height":814,"id":15,"optimizedForStreaming":0,"videoCodec":"h264","videoFrameRate":"24p","videoProfile":"high","videoResolution":"1080","width":1920}] | -| `Genre` | List<[GetMetadataGenre](../../Models/Requests/GetMetadataGenre.md)> | :heavy_minus_sign: | N/A | [{"filter":"genre=184","id":184,"tag":"Thriller"}] | -| `Country` | List<[GetMetadataCountry](../../Models/Requests/GetMetadataCountry.md)> | :heavy_minus_sign: | N/A | [{"filter":"country=116","id":116,"tag":"United States of America"}] | -| `Guids` | List<[Guids](../../Models/Requests/Guids.md)> | :heavy_minus_sign: | N/A | [{"id":"tvdb://2337"}] | -| `Ratings` | List<[Ratings](../../Models/Requests/Ratings.md)> | :heavy_minus_sign: | N/A | [{"image":"themoviedb://image.rating","type":"audience","value":7.4}] | -| `Director` | List<[GetMetadataDirector](../../Models/Requests/GetMetadataDirector.md)> | :heavy_minus_sign: | N/A | [{"filter":"director=130","id":130,"tag":"Joss Whedon","tagKey":"5d776828880197001ec90e8f","thumb":"https://metadata-static.plex.tv/people/5d776828880197001ec90e8f.jpg"}] | -| `Writer` | List<[GetMetadataWriter](../../Models/Requests/GetMetadataWriter.md)> | :heavy_minus_sign: | N/A | [{"filter":"writer=132","id":132,"tag":"Joss Whedon","tagKey":"5d776828880197001ec90e8f","thumb":"https://metadata-static.plex.tv/people/5d776828880197001ec90e8f.jpg"}] | -| `Role` | List<[GetMetadataRole](../../Models/Requests/GetMetadataRole.md)> | :heavy_minus_sign: | N/A | [{"filter":"actor=220","id":220,"role":"Bar Guy (uncredited)","tag":"Dennis Keiffer","tagKey":"5d77683554f42c001f8c4708","thumb":"https://metadata-static.plex.tv/6/people/648e9a7ea1d537bccfcd7615134b78ce.jpg"}] | -| `Producer` | List<[Producer](../../Models/Requests/Producer.md)> | :heavy_minus_sign: | N/A | [{"filter":"producer=221","id":221,"tag":"Barry Mendel","tagKey":"5d776826961905001eb90e2b","thumb":"https://metadata-static.plex.tv/8/people/87877371326a964634d18556d94547e1.jpg"}] | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `RatingKey` | *string* | :heavy_minus_sign: | N/A | 17 | +| `Key` | *string* | :heavy_minus_sign: | N/A | /library/metadata/17 | +| `Guid` | *string* | :heavy_minus_sign: | N/A | plex://movie/5d77683f6f4521001ea9dc53 | +| `Studio` | *string* | :heavy_minus_sign: | N/A | Universal Pictures | +| `Type` | *string* | :heavy_minus_sign: | N/A | movie | +| `Title` | *string* | :heavy_minus_sign: | N/A | Serenity | +| `LibrarySectionTitle` | *string* | :heavy_minus_sign: | N/A | Movies | +| `LibrarySectionID` | *int* | :heavy_minus_sign: | N/A | 1 | +| `LibrarySectionKey` | *string* | :heavy_minus_sign: | N/A | /library/sections/1 | +| `ContentRating` | *string* | :heavy_minus_sign: | N/A | PG-13 | +| `Summary` | *string* | :heavy_minus_sign: | N/A | Serenity continues the story of the TV series it was based upon ("Firefly"). River Tam had a secret - one in which she's not even aware - so dangerous, no one's safe, as an Alliance operative's sent to capture her, and all others are considered irrelevant to his job. | +| `Rating` | *double* | :heavy_minus_sign: | N/A | 8.2 | +| `AudienceRating` | *double* | :heavy_minus_sign: | N/A | 9.1 | +| `Year` | *int* | :heavy_minus_sign: | N/A | 2005 | +| `Tagline` | *string* | :heavy_minus_sign: | N/A | They aim to misbehave. | +| `Thumb` | *string* | :heavy_minus_sign: | N/A | /library/metadata/17/thumb/1705637165 | +| `Art` | *string* | :heavy_minus_sign: | N/A | /library/metadata/17/art/1705637165 | +| `Duration` | *int* | :heavy_minus_sign: | N/A | 141417 | +| `OriginallyAvailableAt` | [LocalDate](https://nodatime.org/3.1.x/api/NodaTime.LocalDate.html) | :heavy_minus_sign: | N/A | 2005-09-29 00:00:00 +0000 UTC | +| `AddedAt` | *int* | :heavy_minus_sign: | N/A | 1705637164 | +| `UpdatedAt` | *int* | :heavy_minus_sign: | N/A | 1705637165 | +| `AudienceRatingImage` | *string* | :heavy_minus_sign: | N/A | rottentomatoes://image.rating.upright | +| `HasPremiumPrimaryExtra` | *string* | :heavy_minus_sign: | N/A | 1 | +| `RatingImage` | *string* | :heavy_minus_sign: | N/A | rottentomatoes://image.rating.ripe | +| `Media` | List<[GetMetadataMedia](../../Models/Requests/GetMetadataMedia.md)> | :heavy_minus_sign: | N/A | [
{
"id": 15,
"duration": 141417,
"bitrate": 2278,
"width": 1920,
"height": 814,
"aspectRatio": 2.35,
"audioChannels": 2,
"audioCodec": "aac",
"videoCodec": "h264",
"videoResolution": "1080",
"container": "mp4",
"videoFrameRate": "24p",
"optimizedForStreaming": 0,
"audioProfile": "lc",
"has64bitOffsets": false,
"videoProfile": "high",
"Part": [
{
"id": 15,
"key": "/library/parts/15/1705637151/file.mp4",
"duration": 141417,
"file": "/movies/Serenity (2005)/Serenity (2005).mp4",
"size": 40271948,
"audioProfile": "lc",
"container": "mp4",
"has64bitOffsets": false,
"optimizedForStreaming": false,
"videoProfile": "high",
"Stream": [
{
"id": 30,
"streamType": 1,
"default": true,
"codec": "h264",
"index": 1,
"bitrate": 2160,
"bitDepth": 8,
"chromaLocation": "left",
"chromaSubsampling": 14520,
"codedHeight": 816,
"codedWidth": 1920,
"colorPrimaries": "bt709",
"colorRange": "tv",
"colorSpace": "bt709",
"colorTrc": "bt709",
"frameRate": 24,
"hasScalingMatrix": false,
"height": 814,
"level": 40,
"profile": "high",
"refFrames": 4,
"scanType": "progressive",
"streamIdentifier": "2",
"width": 1920,
"displayTitle": "1080p (H.264)",
"extendedDisplayTitle": "1080p (H.264)"
},
{
"id": 29,
"streamType": 2,
"selected": true,
"default": true,
"codec": "aac",
"index": 0,
"channels": 2,
"bitrate": 128,
"language": "English",
"languageTag": "en",
"languageCode": "eng",
"profile": "lc",
"samplingRate": 44100,
"streamIdentifier": "1",
"displayTitle": "English (AAC Stereo)",
"extendedDisplayTitle": "English (AAC Stereo)"
}
]
}
]
}
] | +| `Genre` | List<[GetMetadataGenre](../../Models/Requests/GetMetadataGenre.md)> | :heavy_minus_sign: | N/A | [
{
"id": 184,
"filter": "genre=184",
"tag": "Thriller"
}
] | +| `Country` | List<[GetMetadataCountry](../../Models/Requests/GetMetadataCountry.md)> | :heavy_minus_sign: | N/A | [
{
"id": 116,
"filter": "country=116",
"tag": "United States of America"
}
] | +| `Guids` | List<[Guids](../../Models/Requests/Guids.md)> | :heavy_minus_sign: | N/A | [
{
"id": "tvdb://2337"
}
] | +| `Ratings` | List<[Ratings](../../Models/Requests/Ratings.md)> | :heavy_minus_sign: | N/A | [
{
"image": "themoviedb://image.rating",
"value": 7.4,
"type": "audience"
}
] | +| `Director` | List<[GetMetadataDirector](../../Models/Requests/GetMetadataDirector.md)> | :heavy_minus_sign: | N/A | [
{
"id": 130,
"filter": "director=130",
"tag": "Joss Whedon",
"tagKey": "5d776828880197001ec90e8f",
"thumb": "https://metadata-static.plex.tv/people/5d776828880197001ec90e8f.jpg"
}
] | +| `Writer` | List<[GetMetadataWriter](../../Models/Requests/GetMetadataWriter.md)> | :heavy_minus_sign: | N/A | [
{
"id": 132,
"filter": "writer=132",
"tag": "Joss Whedon",
"tagKey": "5d776828880197001ec90e8f",
"thumb": "https://metadata-static.plex.tv/people/5d776828880197001ec90e8f.jpg"
}
] | +| `Role` | List<[GetMetadataRole](../../Models/Requests/GetMetadataRole.md)> | :heavy_minus_sign: | N/A | [
{
"id": 220,
"filter": "actor=220",
"tag": "Dennis Keiffer",
"tagKey": "5d77683554f42c001f8c4708",
"role": "Bar Guy (uncredited)",
"thumb": "https://metadata-static.plex.tv/6/people/648e9a7ea1d537bccfcd7615134b78ce.jpg"
}
] | +| `Producer` | List<[Producer](../../Models/Requests/Producer.md)> | :heavy_minus_sign: | N/A | [
{
"id": 221,
"filter": "producer=221",
"tag": "Barry Mendel",
"tagKey": "5d776826961905001eb90e2b",
"thumb": "https://metadata-static.plex.tv/8/people/87877371326a964634d18556d94547e1.jpg"
}
] | \ No newline at end of file diff --git a/docs/Models/Requests/GetMetadataPart.md b/docs/Models/Requests/GetMetadataPart.md index 5d168b2..d130329 100644 --- a/docs/Models/Requests/GetMetadataPart.md +++ b/docs/Models/Requests/GetMetadataPart.md @@ -3,16 +3,16 @@ ## Fields -| Field | Type | Required | Description | Example | -| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `Id` | *int* | :heavy_minus_sign: | N/A | 15 | -| `Key` | *string* | :heavy_minus_sign: | N/A | /library/parts/15/1705637151/file.mp4 | -| `Duration` | *int* | :heavy_minus_sign: | N/A | 141417 | -| `File` | *string* | :heavy_minus_sign: | N/A | /movies/Serenity (2005)/Serenity (2005).mp4 | -| `Size` | *int* | :heavy_minus_sign: | N/A | 40271948 | -| `AudioProfile` | *string* | :heavy_minus_sign: | N/A | lc | -| `Container` | *string* | :heavy_minus_sign: | N/A | mp4 | -| `Has64bitOffsets` | *bool* | :heavy_minus_sign: | N/A | false | -| `OptimizedForStreaming` | *bool* | :heavy_minus_sign: | N/A | false | -| `VideoProfile` | *string* | :heavy_minus_sign: | N/A | high | -| `Stream` | List<[Stream](../../Models/Requests/Stream.md)> | :heavy_minus_sign: | N/A | [{"bitDepth":8,"bitrate":128,"channels":2,"chromaLocation":"left","chromaSubsampling":14520,"codec":"aac","codedHeight":816,"codedWidth":1920,"colorPrimaries":"bt709","colorRange":"tv","colorSpace":"bt709","colorTrc":"bt709","default":true,"displayTitle":"English (AAC Stereo)","extendedDisplayTitle":"English (AAC Stereo)","frameRate":24,"hasScalingMatrix":false,"height":814,"id":29,"index":0,"language":"English","languageCode":"eng","languageTag":"en","level":40,"profile":"lc","refFrames":4,"samplingRate":44100,"scanType":"progressive","selected":true,"streamIdentifier":"1","streamType":2,"width":1920}] | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *int* | :heavy_minus_sign: | N/A | 15 | +| `Key` | *string* | :heavy_minus_sign: | N/A | /library/parts/15/1705637151/file.mp4 | +| `Duration` | *int* | :heavy_minus_sign: | N/A | 141417 | +| `File` | *string* | :heavy_minus_sign: | N/A | /movies/Serenity (2005)/Serenity (2005).mp4 | +| `Size` | *int* | :heavy_minus_sign: | N/A | 40271948 | +| `AudioProfile` | *string* | :heavy_minus_sign: | N/A | lc | +| `Container` | *string* | :heavy_minus_sign: | N/A | mp4 | +| `Has64bitOffsets` | *bool* | :heavy_minus_sign: | N/A | false | +| `OptimizedForStreaming` | *bool* | :heavy_minus_sign: | N/A | false | +| `VideoProfile` | *string* | :heavy_minus_sign: | N/A | high | +| `Stream` | List<[Stream](../../Models/Requests/Stream.md)> | :heavy_minus_sign: | N/A | [
{
"id": 29,
"streamType": 2,
"default": true,
"codec": "aac",
"index": 0,
"bitrate": 128,
"bitDepth": 8,
"chromaLocation": "left",
"chromaSubsampling": 14520,
"codedHeight": 816,
"codedWidth": 1920,
"colorPrimaries": "bt709",
"colorRange": "tv",
"colorSpace": "bt709",
"colorTrc": "bt709",
"frameRate": 24,
"hasScalingMatrix": false,
"height": 814,
"level": 40,
"profile": "lc",
"refFrames": 4,
"scanType": "progressive",
"streamIdentifier": "1",
"width": 1920,
"displayTitle": "English (AAC Stereo)",
"extendedDisplayTitle": "English (AAC Stereo)",
"selected": true,
"channels": 2,
"language": "English",
"languageTag": "en",
"languageCode": "eng",
"samplingRate": 44100
}
] | \ No newline at end of file diff --git a/docs/Models/Requests/GetPinErrors.md b/docs/Models/Requests/GetPinErrors.md new file mode 100644 index 0000000..29b493d --- /dev/null +++ b/docs/Models/Requests/GetPinErrors.md @@ -0,0 +1,10 @@ +# GetPinErrors + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------- | ----------------------------------- | ----------------------------------- | ----------------------------------- | ----------------------------------- | +| `Code` | *double* | :heavy_minus_sign: | N/A | 1000 | +| `Message` | *string* | :heavy_minus_sign: | N/A | X-Plex-Client-Identifier is missing | +| `Status` | *double* | :heavy_minus_sign: | N/A | 400 | \ No newline at end of file diff --git a/docs/Models/Requests/GetPinPlexResponseBody.md b/docs/Models/Requests/GetPinPlexResponseBody.md new file mode 100644 index 0000000..d784f08 --- /dev/null +++ b/docs/Models/Requests/GetPinPlexResponseBody.md @@ -0,0 +1,10 @@ +# GetPinPlexResponseBody + +X-Plex-Client-Identifier is missing + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | +| `Errors` | List<[GetPinErrors](../../Models/Requests/GetPinErrors.md)> | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/Models/Requests/GetPinRequest.md b/docs/Models/Requests/GetPinRequest.md new file mode 100644 index 0000000..498d48a --- /dev/null +++ b/docs/Models/Requests/GetPinRequest.md @@ -0,0 +1,9 @@ +# GetPinRequest + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `XPlexClientIdentifier` | *string* | :heavy_check_mark: | 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)
| +| `Strong` | *bool* | :heavy_minus_sign: | Determines the kind of code returned by the API call
Strong codes are used for Pin authentication flows
Non-Strong codes are used for `Plex.tv/link`
| \ No newline at end of file diff --git a/docs/Models/Requests/GetPinResponse.md b/docs/Models/Requests/GetPinResponse.md new file mode 100644 index 0000000..d1d2a11 --- /dev/null +++ b/docs/Models/Requests/GetPinResponse.md @@ -0,0 +1,12 @@ +# GetPinResponse + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | +| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation | +| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | +| `RawResponse` | [HttpResponseMessage](https://learn.microsoft.com/en-us/dotnet/api/system.net.http.httpresponsemessage?view=net-5.0) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | +| `TwoHundredApplicationJsonObject` | [GetPinResponseBody](../../Models/Requests/GetPinResponseBody.md) | :heavy_minus_sign: | The Pin | +| `FourHundredApplicationJsonObject` | [GetPinPlexResponseBody](../../Models/Requests/GetPinPlexResponseBody.md) | :heavy_minus_sign: | X-Plex-Client-Identifier is missing | \ No newline at end of file diff --git a/docs/Models/Requests/GetPinResponseBody.md b/docs/Models/Requests/GetPinResponseBody.md new file mode 100644 index 0000000..87eb8a3 --- /dev/null +++ b/docs/Models/Requests/GetPinResponseBody.md @@ -0,0 +1,21 @@ +# GetPinResponseBody + +The Pin + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *double* | :heavy_minus_sign: | PinID for use with authentication | 1272322473 | +| `Code` | *string* | :heavy_minus_sign: | N/A | 3patfx1a78ukcbr7x0n9bl26t | +| `Product` | *string* | :heavy_minus_sign: | N/A | Plex Web | +| `Trusted` | *bool* | :heavy_minus_sign: | N/A | | +| `Qr` | *string* | :heavy_minus_sign: | a link to a QR code hosted on plex.tv
The QR code redirects to the relevant `plex.tv/link` authentication page
Which then prompts the user for the 4 Digit Link Pin
| https://plex.tv/api/v2/pins/qr/3patfx1a78ukcbr7x0n9bl26t | +| `ClientIdentifier` | *string* | :heavy_minus_sign: | N/A | Postman | +| `Location` | [Location](../../Models/Requests/Location.md) | :heavy_minus_sign: | N/A | | +| `ExpiresIn` | *double* | :heavy_minus_sign: | N/A | 1800 | +| `CreatedAt` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_minus_sign: | N/A | 2023-04-12 17:00:03 +0000 UTC | +| `ExpiresAt` | [DateTime](https://learn.microsoft.com/en-us/dotnet/api/system.datetime?view=net-5.0) | :heavy_minus_sign: | N/A | 2023-04-12 17:30:03 +0000 UTC | +| `AuthToken` | *string* | :heavy_minus_sign: | N/A | | +| `NewRegistration` | *string* | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/Models/Requests/GetPlaylistContentsMedia.md b/docs/Models/Requests/GetPlaylistContentsMedia.md index 618af9c..8f39bfc 100644 --- a/docs/Models/Requests/GetPlaylistContentsMedia.md +++ b/docs/Models/Requests/GetPlaylistContentsMedia.md @@ -3,22 +3,22 @@ ## Fields -| Field | Type | Required | Description | Example | -| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -| `Id` | *int* | :heavy_minus_sign: | N/A | 15 | -| `Duration` | *int* | :heavy_minus_sign: | N/A | 141416 | -| `Bitrate` | *int* | :heavy_minus_sign: | N/A | 2273 | -| `Width` | *int* | :heavy_minus_sign: | N/A | 1920 | -| `Height` | *int* | :heavy_minus_sign: | N/A | 814 | -| `AspectRatio` | *double* | :heavy_minus_sign: | N/A | 2.35 | -| `AudioChannels` | *int* | :heavy_minus_sign: | N/A | 2 | -| `AudioCodec` | *string* | :heavy_minus_sign: | N/A | aac | -| `VideoCodec` | *string* | :heavy_minus_sign: | N/A | h264 | -| `VideoResolution` | *string* | :heavy_minus_sign: | N/A | 1080 | -| `Container` | *string* | :heavy_minus_sign: | N/A | mp4 | -| `VideoFrameRate` | *string* | :heavy_minus_sign: | N/A | 24p | -| `OptimizedForStreaming` | *int* | :heavy_minus_sign: | N/A | 0 | -| `AudioProfile` | *string* | :heavy_minus_sign: | N/A | lc | -| `Has64bitOffsets` | *bool* | :heavy_minus_sign: | N/A | false | -| `VideoProfile` | *string* | :heavy_minus_sign: | N/A | high | -| `Part` | List<[GetPlaylistContentsPart](../../Models/Requests/GetPlaylistContentsPart.md)> | :heavy_minus_sign: | N/A | [{"audioProfile":"lc","container":"mp4","duration":141416,"file":"/movies/Serenity (2005)/Serenity (2005).mp4","has64bitOffsets":false,"id":15,"key":"/library/parts/15/1705637151/file.mp4","optimizedForStreaming":false,"size":40271948,"videoProfile":"high"}] | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Id` | *int* | :heavy_minus_sign: | N/A | 15 | +| `Duration` | *int* | :heavy_minus_sign: | N/A | 141416 | +| `Bitrate` | *int* | :heavy_minus_sign: | N/A | 2273 | +| `Width` | *int* | :heavy_minus_sign: | N/A | 1920 | +| `Height` | *int* | :heavy_minus_sign: | N/A | 814 | +| `AspectRatio` | *double* | :heavy_minus_sign: | N/A | 2.35 | +| `AudioChannels` | *int* | :heavy_minus_sign: | N/A | 2 | +| `AudioCodec` | *string* | :heavy_minus_sign: | N/A | aac | +| `VideoCodec` | *string* | :heavy_minus_sign: | N/A | h264 | +| `VideoResolution` | *string* | :heavy_minus_sign: | N/A | 1080 | +| `Container` | *string* | :heavy_minus_sign: | N/A | mp4 | +| `VideoFrameRate` | *string* | :heavy_minus_sign: | N/A | 24p | +| `OptimizedForStreaming` | *int* | :heavy_minus_sign: | N/A | 0 | +| `AudioProfile` | *string* | :heavy_minus_sign: | N/A | lc | +| `Has64bitOffsets` | *bool* | :heavy_minus_sign: | N/A | false | +| `VideoProfile` | *string* | :heavy_minus_sign: | N/A | high | +| `Part` | List<[GetPlaylistContentsPart](../../Models/Requests/GetPlaylistContentsPart.md)> | :heavy_minus_sign: | N/A | [
{
"id": 15,
"key": "/library/parts/15/1705637151/file.mp4",
"duration": 141416,
"file": "/movies/Serenity (2005)/Serenity (2005).mp4",
"size": 40271948,
"audioProfile": "lc",
"container": "mp4",
"has64bitOffsets": false,
"optimizedForStreaming": false,
"videoProfile": "high"
}
] | \ No newline at end of file diff --git a/docs/Models/Requests/GetPlaylistContentsMediaContainer.md b/docs/Models/Requests/GetPlaylistContentsMediaContainer.md index 95ae4af..c5bbdf2 100644 --- a/docs/Models/Requests/GetPlaylistContentsMediaContainer.md +++ b/docs/Models/Requests/GetPlaylistContentsMediaContainer.md @@ -3,14 +3,14 @@ ## Fields -| Field | Type | Required | Description | Example | -| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -| `Size` | *int* | :heavy_minus_sign: | N/A | 2 | -| `Composite` | *string* | :heavy_minus_sign: | N/A | /playlists/95/composite/1705717521 | -| `Duration` | *int* | :heavy_minus_sign: | N/A | 282 | -| `LeafCount` | *int* | :heavy_minus_sign: | N/A | 2 | -| `PlaylistType` | *string* | :heavy_minus_sign: | N/A | video | -| `RatingKey` | *string* | :heavy_minus_sign: | N/A | 95 | -| `Smart` | *bool* | :heavy_minus_sign: | N/A | true | -| `Title` | *string* | :heavy_minus_sign: | N/A | Smart Movie Playlist | -| `Metadata` | List<[GetPlaylistContentsMetadata](../../Models/Requests/GetPlaylistContentsMetadata.md)> | :heavy_minus_sign: | N/A | [{"Country":[{"tag":"United States of America"}],"Director":[{"tag":"Joss Whedon"}],"Genre":[{"tag":"Science Fiction"}],"Media":[{"Part":[{"audioProfile":"lc","container":"mp4","duration":141416,"file":"/movies/Serenity (2005)/Serenity (2005).mp4","has64bitOffsets":false,"id":15,"key":"/library/parts/15/1705637151/file.mp4","optimizedForStreaming":false,"size":40271948,"videoProfile":"high"}],"aspectRatio":2.35,"audioChannels":2,"audioCodec":"aac","audioProfile":"lc","bitrate":2273,"container":"mp4","duration":141416,"has64bitOffsets":false,"height":814,"id":15,"optimizedForStreaming":0,"videoCodec":"h264","videoFrameRate":"24p","videoProfile":"high","videoResolution":"1080","width":1920}],"Role":[{"tag":"Nathan Fillion"}],"Writer":[{"tag":"Joss Whedon"}],"addedAt":1705637164,"art":"/library/metadata/17/art/1705637165","audienceRating":9.1,"audienceRatingImage":"rottentomatoes://image.rating.upright","contentRating":"PG-13","duration":141416,"guid":"plex://movie/5d77683f6f4521001ea9dc53","hasPremiumExtras":"1","hasPremiumPrimaryExtra":"1","key":"/library/metadata/17","librarySectionID":1,"librarySectionKey":"/library/sections/1","librarySectionTitle":"Movies","originallyAvailableAt":"2005-09-29T00:00:00Z","rating":8.2,"ratingImage":"rottentomatoes://image.rating.ripe","ratingKey":"17","studio":"Universal Pictures","summary":"Serenity continues the story of the TV series it was based upon (\"Firefly\"). River Tam had a secret - one in which she's not even aware - so dangerous, no one's safe, as an Alliance operative's sent to capture her, and all others are considered irrelevant to his job.","tagline":"They aim to misbehave.","thumb":"/library/metadata/17/thumb/1705637165","title":"Serenity","titleSort":"Amazing Spider-Man 2","type":"movie","updatedAt":1705637165,"year":2005}] | \ No newline at end of file +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Size` | *int* | :heavy_minus_sign: | N/A | 2 | +| `Composite` | *string* | :heavy_minus_sign: | N/A | /playlists/95/composite/1705717521 | +| `Duration` | *int* | :heavy_minus_sign: | N/A | 282 | +| `LeafCount` | *int* | :heavy_minus_sign: | N/A | 2 | +| `PlaylistType` | *string* | :heavy_minus_sign: | N/A | video | +| `RatingKey` | *string* | :heavy_minus_sign: | N/A | 95 | +| `Smart` | *bool* | :heavy_minus_sign: | N/A | true | +| `Title` | *string* | :heavy_minus_sign: | N/A | Smart Movie Playlist | +| `Metadata` | List<[GetPlaylistContentsMetadata](../../Models/Requests/GetPlaylistContentsMetadata.md)> | :heavy_minus_sign: | N/A | [
{
"ratingKey": "17",
"key": "/library/metadata/17",
"guid": "plex://movie/5d77683f6f4521001ea9dc53",
"studio": "Universal Pictures",
"type": "movie",
"title": "Serenity",
"titleSort": "Amazing Spider-Man 2",
"librarySectionTitle": "Movies",
"librarySectionID": 1,
"librarySectionKey": "/library/sections/1",
"contentRating": "PG-13",
"summary": "Serenity continues the story of the TV series it was based upon (\"Firefly\"). River Tam had a secret - one in which she's not even aware - so dangerous, no one's safe, as an Alliance operative's sent to capture her, and all others are considered irrelevant to his job.",
"rating": 8.2,
"audienceRating": 9.1,
"year": 2005,
"tagline": "They aim to misbehave.",
"thumb": "/library/metadata/17/thumb/1705637165",
"art": "/library/metadata/17/art/1705637165",
"duration": 141416,
"originallyAvailableAt": "2005-09-29T00:00:00Z",
"addedAt": 1705637164,
"updatedAt": 1705637165,
"audienceRatingImage": "rottentomatoes://image.rating.upright",
"hasPremiumExtras": "1",
"hasPremiumPrimaryExtra": "1",
"ratingImage": "rottentomatoes://image.rating.ripe",
"Media": [
{
"id": 15,
"duration": 141416,
"bitrate": 2273,
"width": 1920,
"height": 814,
"aspectRatio": 2.35,
"audioChannels": 2,
"audioCodec": "aac",
"videoCodec": "h264",
"videoResolution": "1080",
"container": "mp4",
"videoFrameRate": "24p",
"optimizedForStreaming": 0,
"audioProfile": "lc",
"has64bitOffsets": false,
"videoProfile": "high",
"Part": [
{
"id": 15,
"key": "/library/parts/15/1705637151/file.mp4",
"duration": 141416,
"file": "/movies/Serenity (2005)/Serenity (2005).mp4",
"size": 40271948,
"audioProfile": "lc",
"container": "mp4",
"has64bitOffsets": false,
"optimizedForStreaming": false,
"videoProfile": "high"
}
]
}
],
"Genre": [
{
"tag": "Science Fiction"
}
],
"Country": [
{
"tag": "United States of America"
}
],
"Director": [
{
"tag": "Joss Whedon"
}
],
"Writer": [
{
"tag": "Joss Whedon"
}
],
"Role": [
{
"tag": "Nathan Fillion"
}
]
}
] | \ No newline at end of file diff --git a/docs/Models/Requests/GetPlaylistContentsMetadata.md b/docs/Models/Requests/GetPlaylistContentsMetadata.md index 9a5c870..753b61f 100644 --- a/docs/Models/Requests/GetPlaylistContentsMetadata.md +++ b/docs/Models/Requests/GetPlaylistContentsMetadata.md @@ -3,37 +3,37 @@ ## Fields -| Field | Type | Required | Description | Example | -| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -| `RatingKey` | *string* | :heavy_minus_sign: | N/A | 17 | -| `Key` | *string* | :heavy_minus_sign: | N/A | /library/metadata/17 | -| `Guid` | *string* | :heavy_minus_sign: | N/A | plex://movie/5d77683f6f4521001ea9dc53 | -| `Studio` | *string* | :heavy_minus_sign: | N/A | Universal Pictures | -| `Type` | *string* | :heavy_minus_sign: | N/A | movie | -| `Title` | *string* | :heavy_minus_sign: | N/A | Serenity | -| `TitleSort` | *string* | :heavy_minus_sign: | N/A | Amazing Spider-Man 2 | -| `LibrarySectionTitle` | *string* | :heavy_minus_sign: | N/A | Movies | -| `LibrarySectionID` | *int* | :heavy_minus_sign: | N/A | 1 | -| `LibrarySectionKey` | *string* | :heavy_minus_sign: | N/A | /library/sections/1 | -| `ContentRating` | *string* | :heavy_minus_sign: | N/A | PG-13 | -| `Summary` | *string* | :heavy_minus_sign: | N/A | Serenity continues the story of the TV series it was based upon ("Firefly"). River Tam had a secret - one in which she's not even aware - so dangerous, no one's safe, as an Alliance operative's sent to capture her, and all others are considered irrelevant to his job. | -| `Rating` | *double* | :heavy_minus_sign: | N/A | 8.2 | -| `AudienceRating` | *double* | :heavy_minus_sign: | N/A | 9.1 | -| `Year` | *int* | :heavy_minus_sign: | N/A | 2005 | -| `Tagline` | *string* | :heavy_minus_sign: | N/A | They aim to misbehave. | -| `Thumb` | *string* | :heavy_minus_sign: | N/A | /library/metadata/17/thumb/1705637165 | -| `Art` | *string* | :heavy_minus_sign: | N/A | /library/metadata/17/art/1705637165 | -| `Duration` | *int* | :heavy_minus_sign: | N/A | 141416 | -| `OriginallyAvailableAt` | [LocalDate](https://nodatime.org/3.1.x/api/NodaTime.LocalDate.html) | :heavy_minus_sign: | N/A | 2005-09-29 00:00:00 +0000 UTC | -| `AddedAt` | *int* | :heavy_minus_sign: | N/A | 1705637164 | -| `UpdatedAt` | *int* | :heavy_minus_sign: | N/A | 1705637165 | -| `AudienceRatingImage` | *string* | :heavy_minus_sign: | N/A | rottentomatoes://image.rating.upright | -| `HasPremiumExtras` | *string* | :heavy_minus_sign: | N/A | 1 | -| `HasPremiumPrimaryExtra` | *string* | :heavy_minus_sign: | N/A | 1 | -| `RatingImage` | *string* | :heavy_minus_sign: | N/A | rottentomatoes://image.rating.ripe | -| `Media` | List<[GetPlaylistContentsMedia](../../Models/Requests/GetPlaylistContentsMedia.md)> | :heavy_minus_sign: | N/A | [{"Part":[{"audioProfile":"lc","container":"mp4","duration":141416,"file":"/movies/Serenity (2005)/Serenity (2005).mp4","has64bitOffsets":false,"id":15,"key":"/library/parts/15/1705637151/file.mp4","optimizedForStreaming":false,"size":40271948,"videoProfile":"high"}],"aspectRatio":2.35,"audioChannels":2,"audioCodec":"aac","audioProfile":"lc","bitrate":2273,"container":"mp4","duration":141416,"has64bitOffsets":false,"height":814,"id":15,"optimizedForStreaming":0,"videoCodec":"h264","videoFrameRate":"24p","videoProfile":"high","videoResolution":"1080","width":1920}] | -| `Genre` | List<[GetPlaylistContentsGenre](../../Models/Requests/GetPlaylistContentsGenre.md)> | :heavy_minus_sign: | N/A | [{"tag":"Action"}] | -| `Country` | List<[GetPlaylistContentsCountry](../../Models/Requests/GetPlaylistContentsCountry.md)> | :heavy_minus_sign: | N/A | [{"tag":"United States of America"}] | -| `Director` | List<[GetPlaylistContentsDirector](../../Models/Requests/GetPlaylistContentsDirector.md)> | :heavy_minus_sign: | N/A | [{"tag":"Joss Whedon"}] | -| `Writer` | List<[GetPlaylistContentsWriter](../../Models/Requests/GetPlaylistContentsWriter.md)> | :heavy_minus_sign: | N/A | [{"tag":"Joss Whedon"}] | -| `Role` | List<[GetPlaylistContentsRole](../../Models/Requests/GetPlaylistContentsRole.md)> | :heavy_minus_sign: | N/A | [{"tag":"Gina Torres"}] | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `RatingKey` | *string* | :heavy_minus_sign: | N/A | 17 | +| `Key` | *string* | :heavy_minus_sign: | N/A | /library/metadata/17 | +| `Guid` | *string* | :heavy_minus_sign: | N/A | plex://movie/5d77683f6f4521001ea9dc53 | +| `Studio` | *string* | :heavy_minus_sign: | N/A | Universal Pictures | +| `Type` | *string* | :heavy_minus_sign: | N/A | movie | +| `Title` | *string* | :heavy_minus_sign: | N/A | Serenity | +| `TitleSort` | *string* | :heavy_minus_sign: | N/A | Amazing Spider-Man 2 | +| `LibrarySectionTitle` | *string* | :heavy_minus_sign: | N/A | Movies | +| `LibrarySectionID` | *int* | :heavy_minus_sign: | N/A | 1 | +| `LibrarySectionKey` | *string* | :heavy_minus_sign: | N/A | /library/sections/1 | +| `ContentRating` | *string* | :heavy_minus_sign: | N/A | PG-13 | +| `Summary` | *string* | :heavy_minus_sign: | N/A | Serenity continues the story of the TV series it was based upon ("Firefly"). River Tam had a secret - one in which she's not even aware - so dangerous, no one's safe, as an Alliance operative's sent to capture her, and all others are considered irrelevant to his job. | +| `Rating` | *double* | :heavy_minus_sign: | N/A | 8.2 | +| `AudienceRating` | *double* | :heavy_minus_sign: | N/A | 9.1 | +| `Year` | *int* | :heavy_minus_sign: | N/A | 2005 | +| `Tagline` | *string* | :heavy_minus_sign: | N/A | They aim to misbehave. | +| `Thumb` | *string* | :heavy_minus_sign: | N/A | /library/metadata/17/thumb/1705637165 | +| `Art` | *string* | :heavy_minus_sign: | N/A | /library/metadata/17/art/1705637165 | +| `Duration` | *int* | :heavy_minus_sign: | N/A | 141416 | +| `OriginallyAvailableAt` | [LocalDate](https://nodatime.org/3.1.x/api/NodaTime.LocalDate.html) | :heavy_minus_sign: | N/A | 2005-09-29 00:00:00 +0000 UTC | +| `AddedAt` | *int* | :heavy_minus_sign: | N/A | 1705637164 | +| `UpdatedAt` | *int* | :heavy_minus_sign: | N/A | 1705637165 | +| `AudienceRatingImage` | *string* | :heavy_minus_sign: | N/A | rottentomatoes://image.rating.upright | +| `HasPremiumExtras` | *string* | :heavy_minus_sign: | N/A | 1 | +| `HasPremiumPrimaryExtra` | *string* | :heavy_minus_sign: | N/A | 1 | +| `RatingImage` | *string* | :heavy_minus_sign: | N/A | rottentomatoes://image.rating.ripe | +| `Media` | List<[GetPlaylistContentsMedia](../../Models/Requests/GetPlaylistContentsMedia.md)> | :heavy_minus_sign: | N/A | [
{
"id": 15,
"duration": 141416,
"bitrate": 2273,
"width": 1920,
"height": 814,
"aspectRatio": 2.35,
"audioChannels": 2,
"audioCodec": "aac",
"videoCodec": "h264",
"videoResolution": "1080",
"container": "mp4",
"videoFrameRate": "24p",
"optimizedForStreaming": 0,
"audioProfile": "lc",
"has64bitOffsets": false,
"videoProfile": "high",
"Part": [
{
"id": 15,
"key": "/library/parts/15/1705637151/file.mp4",
"duration": 141416,
"file": "/movies/Serenity (2005)/Serenity (2005).mp4",
"size": 40271948,
"audioProfile": "lc",
"container": "mp4",
"has64bitOffsets": false,
"optimizedForStreaming": false,
"videoProfile": "high"
}
]
}
] | +| `Genre` | List<[GetPlaylistContentsGenre](../../Models/Requests/GetPlaylistContentsGenre.md)> | :heavy_minus_sign: | N/A | [
{
"tag": "Action"
}
] | +| `Country` | List<[GetPlaylistContentsCountry](../../Models/Requests/GetPlaylistContentsCountry.md)> | :heavy_minus_sign: | N/A | [
{
"tag": "United States of America"
}
] | +| `Director` | List<[GetPlaylistContentsDirector](../../Models/Requests/GetPlaylistContentsDirector.md)> | :heavy_minus_sign: | N/A | [
{
"tag": "Joss Whedon"
}
] | +| `Writer` | List<[GetPlaylistContentsWriter](../../Models/Requests/GetPlaylistContentsWriter.md)> | :heavy_minus_sign: | N/A | [
{
"tag": "Joss Whedon"
}
] | +| `Role` | List<[GetPlaylistContentsRole](../../Models/Requests/GetPlaylistContentsRole.md)> | :heavy_minus_sign: | N/A | [
{
"tag": "Gina Torres"
}
] | \ No newline at end of file diff --git a/docs/Models/Requests/GetPlaylistMediaContainer.md b/docs/Models/Requests/GetPlaylistMediaContainer.md index b2c9513..b6837da 100644 --- a/docs/Models/Requests/GetPlaylistMediaContainer.md +++ b/docs/Models/Requests/GetPlaylistMediaContainer.md @@ -3,7 +3,7 @@ ## Fields -| Field | Type | Required | Description | Example | -| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `Size` | *int* | :heavy_minus_sign: | N/A | 1 | -| `Metadata` | List<[GetPlaylistMetadata](../../Models/Requests/GetPlaylistMetadata.md)> | :heavy_minus_sign: | N/A | [{"addedAt":1705716493,"composite":"/playlists/95/composite/1705717387","content":"library://x/directory/%2Flibrary%2Fsections%2F1%2Fall%3Ftype%3D1%26push%3D1%26title%3D2%26or%3D1%26title%3DSerenity%26pop%3D1","duration":282000,"guid":"com.plexapp.agents.none://87425529-380f-44b8-a689-9a0537e7ec91","icon":"playlist://image.smart","key":"/playlists/95/items","leafCount":2,"playlistType":"video","ratingKey":"95","smart":true,"summary":"","title":"Smart Movie Playlist","type":"playlist","updatedAt":1705717387}] | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `Size` | *int* | :heavy_minus_sign: | N/A | 1 | +| `Metadata` | List<[GetPlaylistMetadata](../../Models/Requests/GetPlaylistMetadata.md)> | :heavy_minus_sign: | N/A | [
{
"content": "library://x/directory/%2Flibrary%2Fsections%2F1%2Fall%3Ftype%3D1%26push%3D1%26title%3D2%26or%3D1%26title%3DSerenity%26pop%3D1",
"ratingKey": "95",
"key": "/playlists/95/items",
"guid": "com.plexapp.agents.none://87425529-380f-44b8-a689-9a0537e7ec91",
"type": "playlist",
"title": "Smart Movie Playlist",
"summary": "",
"smart": true,
"playlistType": "video",
"composite": "/playlists/95/composite/1705717387",
"icon": "playlist://image.smart",
"duration": 282000,
"leafCount": 2,
"addedAt": 1705716493,
"updatedAt": 1705717387
}
] | \ No newline at end of file diff --git a/docs/Models/Requests/GetPlaylistsMediaContainer.md b/docs/Models/Requests/GetPlaylistsMediaContainer.md index 9d327ad..3f4f66a 100644 --- a/docs/Models/Requests/GetPlaylistsMediaContainer.md +++ b/docs/Models/Requests/GetPlaylistsMediaContainer.md @@ -3,7 +3,7 @@ ## Fields -| Field | Type | Required | Description | Example | -| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `Size` | *int* | :heavy_minus_sign: | N/A | 4 | -| `Metadata` | List<[GetPlaylistsMetadata](../../Models/Requests/GetPlaylistsMetadata.md)> | :heavy_minus_sign: | N/A | [{"addedAt":1705716298,"composite":"/playlists/92/composite/1705716440","duration":7328000,"guid":"com.plexapp.agents.none://7ca5aaef-58e8-4828-9e21-c009c97f2903","icon":"playlist://image.smart","key":"/playlists/92/items","lastViewedAt":1705716298,"leafCount":32,"playlistType":"video","ratingKey":"92","smart":false,"summary":"A Great Playlist","title":"Static Playlist","type":"playlist","updatedAt":1705716440,"viewCount":1}] | \ No newline at end of file +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Size` | *int* | :heavy_minus_sign: | N/A | 4 | +| `Metadata` | List<[GetPlaylistsMetadata](../../Models/Requests/GetPlaylistsMetadata.md)> | :heavy_minus_sign: | N/A | [
{
"ratingKey": "92",
"key": "/playlists/92/items",
"guid": "com.plexapp.agents.none://7ca5aaef-58e8-4828-9e21-c009c97f2903",
"type": "playlist",
"title": "Static Playlist",
"summary": "A Great Playlist",
"smart": false,
"playlistType": "video",
"composite": "/playlists/92/composite/1705716440",
"icon": "playlist://image.smart",
"viewCount": 1,
"lastViewedAt": 1705716298,
"duration": 7328000,
"leafCount": 32,
"addedAt": 1705716298,
"updatedAt": 1705716440
}
] | \ No newline at end of file diff --git a/docs/Models/Requests/GetServerPreferencesMediaContainer.md b/docs/Models/Requests/GetServerPreferencesMediaContainer.md index 17aabfa..e693347 100644 --- a/docs/Models/Requests/GetServerPreferencesMediaContainer.md +++ b/docs/Models/Requests/GetServerPreferencesMediaContainer.md @@ -3,7 +3,7 @@ ## Fields -| Field | Type | Required | Description | Example | -| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -| `Size` | *int* | :heavy_minus_sign: | N/A | 161 | -| `Setting` | List<*object*> | :heavy_minus_sign: | N/A | [{"advanced":false,"default":"","group":"general","hidden":false,"id":"FriendlyName","label":"Friendly name","summary":"This name will be used to identify this media server to other computers on your network. If you leave it blank, your computer's name will be used instead.","type":"text","value":"Hera"},{"advanced":false,"default":3600,"enumValues":"900:every 15 minutes\|1800:every 30 minutes\|3600:hourly\|7200:every 2 hours\|21600:every 6 hours\|43200:every 12 hours\|86400:daily","group":"library","hidden":false,"id":"ScheduledLibraryUpdateInterval","label":"Library scan interval","summary":"","type":"int","value":3600}] | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Size` | *int* | :heavy_minus_sign: | N/A | 161 | +| `Setting` | List<[Setting](../../Models/Requests/Setting.md)> | :heavy_minus_sign: | N/A | [
{
"id": "EnableDatabaseTrace",
"label": "",
"summary": "",
"type": "bool",
"default": false,
"value": false,
"hidden": true,
"advanced": false,
"group": "",
"enumValues": "1:admin only\|2:everyone"
}
] | \ No newline at end of file diff --git a/docs/Models/Requests/GetSessionHistoryMediaContainer.md b/docs/Models/Requests/GetSessionHistoryMediaContainer.md index 91f8a6a..006871a 100644 --- a/docs/Models/Requests/GetSessionHistoryMediaContainer.md +++ b/docs/Models/Requests/GetSessionHistoryMediaContainer.md @@ -3,7 +3,7 @@ ## Fields -| Field | Type | Required | Description | Example | -| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `Size` | *int* | :heavy_minus_sign: | N/A | 10855 | -| `Metadata` | List<[GetSessionHistoryMetadata](../../Models/Requests/GetSessionHistoryMetadata.md)> | :heavy_minus_sign: | N/A | [{"accountID":1,"deviceID":5,"grandparentArt":"/library/metadata/32132/art/1703933346","grandparentKey":"/library/metadata/32132","grandparentThumb":"/library/metadata/32132/thumb/1703933346","grandparentTitle":"Taskmaster","historyKey":"/status/sessions/history/1","index":1,"key":"/library/metadata/32171","librarySectionID":"2","originallyAvailableAt":"2022-04-14T00:00:00Z","parentIndex":13,"parentKey":"/library/metadata/32170","parentThumb":"/library/metadata/32170/thumb/1654134301","ratingKey":"32171","thumb":"/library/metadata/32171/thumb/-1","title":"The Noise That Blue Makes","type":"episode","viewedAt":1654139223}] | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Size` | *int* | :heavy_minus_sign: | N/A | 10855 | +| `Metadata` | List<[GetSessionHistoryMetadata](../../Models/Requests/GetSessionHistoryMetadata.md)> | :heavy_minus_sign: | N/A | [
{
"historyKey": "/status/sessions/history/1",
"key": "/library/metadata/32171",
"ratingKey": "32171",
"librarySectionID": "2",
"parentKey": "/library/metadata/32170",
"grandparentKey": "/library/metadata/32132",
"title": "The Noise That Blue Makes",
"grandparentTitle": "Taskmaster",
"type": "episode",
"thumb": "/library/metadata/32171/thumb/-1",
"parentThumb": "/library/metadata/32170/thumb/1654134301",
"grandparentThumb": "/library/metadata/32132/thumb/1703933346",
"grandparentArt": "/library/metadata/32132/art/1703933346",
"index": 1,
"parentIndex": 13,
"originallyAvailableAt": "2022-04-14T00:00:00Z",
"viewedAt": 1654139223,
"accountID": 1,
"deviceID": 5
}
] | \ No newline at end of file diff --git a/docs/Models/Requests/GetSessionsMedia.md b/docs/Models/Requests/GetSessionsMedia.md index 085510e..eb60f09 100644 --- a/docs/Models/Requests/GetSessionsMedia.md +++ b/docs/Models/Requests/GetSessionsMedia.md @@ -3,13 +3,13 @@ ## Fields -| Field | Type | Required | Description | Example | -| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `AudioChannels` | *int* | :heavy_minus_sign: | N/A | 2 | -| `AudioCodec` | *string* | :heavy_minus_sign: | N/A | flac | -| `Bitrate` | *int* | :heavy_minus_sign: | N/A | 1014 | -| `Container` | *string* | :heavy_minus_sign: | N/A | flac | -| `Duration` | *int* | :heavy_minus_sign: | N/A | 186240 | -| `Id` | *string* | :heavy_minus_sign: | N/A | 130355 | -| `Selected` | *bool* | :heavy_minus_sign: | N/A | true | -| `Part` | List<[GetSessionsPart](../../Models/Requests/GetSessionsPart.md)> | :heavy_minus_sign: | N/A | [{"Stream":[{"albumGain":"-12.94","albumPeak":"1.000000","albumRange":"4.751014","audioChannelLayout":"stereo","bitDepth":16,"bitrate":1014,"channels":2,"codec":"flac","displayTitle":"FLAC (Stereo)","extendedDisplayTitle":"FLAC (Stereo)","gain":"-12.94","id":"352487","index":0,"location":"direct","loudness":"-5.94","lra":"1.74","peak":"1.000000","samplingRate":44100,"selected":true,"streamType":2}],"container":"flac","decision":"directplay","duration":186240,"file":"/music/Green Day/Saviors (2024)/Green Day - Saviors - 01 - The American Dream Is Killing Me.flac","hasThumbnail":"1","id":"130625","key":"/library/parts/130625/1705543268/file.flac","selected":true,"size":23644000}] | \ No newline at end of file +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `AudioChannels` | *int* | :heavy_minus_sign: | N/A | 2 | +| `AudioCodec` | *string* | :heavy_minus_sign: | N/A | flac | +| `Bitrate` | *int* | :heavy_minus_sign: | N/A | 1014 | +| `Container` | *string* | :heavy_minus_sign: | N/A | flac | +| `Duration` | *int* | :heavy_minus_sign: | N/A | 186240 | +| `Id` | *string* | :heavy_minus_sign: | N/A | 130355 | +| `Selected` | *bool* | :heavy_minus_sign: | N/A | true | +| `Part` | List<[GetSessionsPart](../../Models/Requests/GetSessionsPart.md)> | :heavy_minus_sign: | N/A | [
{
"container": "flac",
"duration": 186240,
"file": "/music/Green Day/Saviors (2024)/Green Day - Saviors - 01 - The American Dream Is Killing Me.flac",
"hasThumbnail": "1",
"id": "130625",
"key": "/library/parts/130625/1705543268/file.flac",
"size": 23644000,
"decision": "directplay",
"selected": true,
"Stream": [
{
"albumGain": "-12.94",
"albumPeak": "1.000000",
"albumRange": "4.751014",
"audioChannelLayout": "stereo",
"bitDepth": 16,
"bitrate": 1014,
"channels": 2,
"codec": "flac",
"displayTitle": "FLAC (Stereo)",
"extendedDisplayTitle": "FLAC (Stereo)",
"gain": "-12.94",
"id": "352487",
"index": 0,
"loudness": "-5.94",
"lra": "1.74",
"peak": "1.000000",
"samplingRate": 44100,
"selected": true,
"streamType": 2,
"location": "direct"
}
]
}
] | \ No newline at end of file diff --git a/docs/Models/Requests/GetSessionsMediaContainer.md b/docs/Models/Requests/GetSessionsMediaContainer.md index c84e5ee..4ac5dce 100644 --- a/docs/Models/Requests/GetSessionsMediaContainer.md +++ b/docs/Models/Requests/GetSessionsMediaContainer.md @@ -3,7 +3,7 @@ ## Fields -| Field | Type | Required | Description | Example | -| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `Size` | *int* | :heavy_minus_sign: | N/A | 1 | -| `Metadata` | List<[GetSessionsMetadata](../../Models/Requests/GetSessionsMetadata.md)> | :heavy_minus_sign: | N/A | [{"Media":[{"Part":[{"Stream":[{"albumGain":"-12.94","albumPeak":"1.000000","albumRange":"4.751014","audioChannelLayout":"stereo","bitDepth":16,"bitrate":1014,"channels":2,"codec":"flac","displayTitle":"FLAC (Stereo)","extendedDisplayTitle":"FLAC (Stereo)","gain":"-12.94","id":"352487","index":0,"location":"direct","loudness":"-5.94","lra":"1.74","peak":"1.000000","samplingRate":44100,"selected":true,"streamType":2}],"container":"flac","decision":"directplay","duration":186240,"file":"/music/Green Day/Saviors (2024)/Green Day - Saviors - 01 - The American Dream Is Killing Me.flac","hasThumbnail":"1","id":"130625","key":"/library/parts/130625/1705543268/file.flac","selected":true,"size":23644000}],"audioChannels":2,"audioCodec":"flac","bitrate":1014,"container":"flac","duration":186240,"id":"130355","selected":true}],"Player":{"address":"10.10.10.171","local":true,"machineIdentifier":"3tsdzir85m2onc3qyr255aq1","model":"standalone","platform":"windows","platformVersion":"10.0.22621","product":"Plex for Windows","profile":"Plex Desktop","relayed":false,"remotePublicAddress":"68.248.140.20","secure":true,"state":"playing","title":"DESKTOP-BL80MTD","userID":1,"version":"1.85.0.4071-21128b56"},"Session":{"bandwidth":1050,"id":"93h7e00ncblxncqw9lkfaoxi","location":"lan"},"User":{"id":"1","thumb":"https://plex.tv/users/844780fc6f8a26b5/avatar?c=1705853661","title":"Blindkitty38"},"addedAt":1705543312,"art":"/library/metadata/39904/art/1705310687","duration":186240,"grandparentArt":"/library/metadata/39904/art/1705310687","grandparentGuid":"plex://artist/5d07bbfd403c6402904a6480","grandparentKey":"/library/metadata/39904","grandparentRatingKey":"39904","grandparentThumb":"/library/metadata/39904/thumb/1705310687","grandparentTitle":"Green Day","guid":"plex://track/6535834f71f22f36f71a8e8f","index":1,"key":"/library/metadata/67085","librarySectionID":"3","librarySectionKey":"/library/sections/3","librarySectionTitle":"Music","musicAnalysisVersion":"1","parentGuid":"plex://album/65394d6d472b8ab03ef47f12","parentIndex":1,"parentKey":"/library/metadata/67084","parentRatingKey":"67084","parentStudio":"Reprise Records","parentThumb":"/library/metadata/67084/thumb/1705543314","parentTitle":"Saviors","parentYear":2024,"ratingCount":45885,"ratingKey":"67085","sessionKey":"203","thumb":"/library/metadata/67084/thumb/1705543314","title":"The American Dream Is Killing Me","titleSort":"American Dream Is Killing Me","type":"track","updatedAt":1705543314,"viewOffset":1000}] | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Size` | *int* | :heavy_minus_sign: | N/A | 1 | +| `Metadata` | List<[GetSessionsMetadata](../../Models/Requests/GetSessionsMetadata.md)> | :heavy_minus_sign: | N/A | [
{
"addedAt": 1705543312,
"art": "/library/metadata/39904/art/1705310687",
"duration": 186240,
"grandparentArt": "/library/metadata/39904/art/1705310687",
"grandparentGuid": "plex://artist/5d07bbfd403c6402904a6480",
"grandparentKey": "/library/metadata/39904",
"grandparentRatingKey": "39904",
"grandparentThumb": "/library/metadata/39904/thumb/1705310687",
"grandparentTitle": "Green Day",
"guid": "plex://track/6535834f71f22f36f71a8e8f",
"index": 1,
"key": "/library/metadata/67085",
"librarySectionID": "3",
"librarySectionKey": "/library/sections/3",
"librarySectionTitle": "Music",
"musicAnalysisVersion": "1",
"parentGuid": "plex://album/65394d6d472b8ab03ef47f12",
"parentIndex": 1,
"parentKey": "/library/metadata/67084",
"parentRatingKey": "67084",
"parentStudio": "Reprise Records",
"parentThumb": "/library/metadata/67084/thumb/1705543314",
"parentTitle": "Saviors",
"parentYear": 2024,
"ratingCount": 45885,
"ratingKey": "67085",
"sessionKey": "203",
"thumb": "/library/metadata/67084/thumb/1705543314",
"title": "The American Dream Is Killing Me",
"titleSort": "American Dream Is Killing Me",
"type": "track",
"updatedAt": 1705543314,
"viewOffset": 1000,
"Media": [
{
"audioChannels": 2,
"audioCodec": "flac",
"bitrate": 1014,
"container": "flac",
"duration": 186240,
"id": "130355",
"selected": true,
"Part": [
{
"container": "flac",
"duration": 186240,
"file": "/music/Green Day/Saviors (2024)/Green Day - Saviors - 01 - The American Dream Is Killing Me.flac",
"hasThumbnail": "1",
"id": "130625",
"key": "/library/parts/130625/1705543268/file.flac",
"size": 23644000,
"decision": "directplay",
"selected": true,
"Stream": [
{
"albumGain": "-12.94",
"albumPeak": "1.000000",
"albumRange": "4.751014",
"audioChannelLayout": "stereo",
"bitDepth": 16,
"bitrate": 1014,
"channels": 2,
"codec": "flac",
"displayTitle": "FLAC (Stereo)",
"extendedDisplayTitle": "FLAC (Stereo)",
"gain": "-12.94",
"id": "352487",
"index": 0,
"loudness": "-5.94",
"lra": "1.74",
"peak": "1.000000",
"samplingRate": 44100,
"selected": true,
"streamType": 2,
"location": "direct"
}
]
}
]
}
],
"User": {
"id": "1",
"thumb": "https://plex.tv/users/844780fc6f8a26b5/avatar?c=1705853661",
"title": "Blindkitty38"
},
"Player": {
"address": "10.10.10.171",
"machineIdentifier": "3tsdzir85m2onc3qyr255aq1",
"model": "standalone",
"platform": "windows",
"platformVersion": "10.0.22621",
"product": "Plex for Windows",
"profile": "Plex Desktop",
"remotePublicAddress": "68.248.140.20",
"state": "playing",
"title": "DESKTOP-BL80MTD",
"version": "1.85.0.4071-21128b56",
"local": true,
"relayed": false,
"secure": true,
"userID": 1
},
"Session": {
"id": "93h7e00ncblxncqw9lkfaoxi",
"bandwidth": 1050,
"location": "lan"
}
}
] | \ No newline at end of file diff --git a/docs/Models/Requests/GetSessionsMetadata.md b/docs/Models/Requests/GetSessionsMetadata.md index bf129ce..3575b31 100644 --- a/docs/Models/Requests/GetSessionsMetadata.md +++ b/docs/Models/Requests/GetSessionsMetadata.md @@ -3,42 +3,42 @@ ## Fields -| Field | Type | Required | Description | Example | -| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `AddedAt` | *int* | :heavy_minus_sign: | N/A | 1705543312 | -| `Art` | *string* | :heavy_minus_sign: | N/A | /library/metadata/39904/art/1705310687 | -| `Duration` | *int* | :heavy_minus_sign: | N/A | 186240 | -| `GrandparentArt` | *string* | :heavy_minus_sign: | N/A | /library/metadata/39904/art/1705310687 | -| `GrandparentGuid` | *string* | :heavy_minus_sign: | N/A | plex://artist/5d07bbfd403c6402904a6480 | -| `GrandparentKey` | *string* | :heavy_minus_sign: | N/A | /library/metadata/39904 | -| `GrandparentRatingKey` | *string* | :heavy_minus_sign: | N/A | 39904 | -| `GrandparentThumb` | *string* | :heavy_minus_sign: | N/A | /library/metadata/39904/thumb/1705310687 | -| `GrandparentTitle` | *string* | :heavy_minus_sign: | N/A | Green Day | -| `Guid` | *string* | :heavy_minus_sign: | N/A | plex://track/6535834f71f22f36f71a8e8f | -| `Index` | *int* | :heavy_minus_sign: | N/A | 1 | -| `Key` | *string* | :heavy_minus_sign: | N/A | /library/metadata/67085 | -| `LibrarySectionID` | *string* | :heavy_minus_sign: | N/A | 3 | -| `LibrarySectionKey` | *string* | :heavy_minus_sign: | N/A | /library/sections/3 | -| `LibrarySectionTitle` | *string* | :heavy_minus_sign: | N/A | Music | -| `MusicAnalysisVersion` | *string* | :heavy_minus_sign: | N/A | 1 | -| `ParentGuid` | *string* | :heavy_minus_sign: | N/A | plex://album/65394d6d472b8ab03ef47f12 | -| `ParentIndex` | *int* | :heavy_minus_sign: | N/A | 1 | -| `ParentKey` | *string* | :heavy_minus_sign: | N/A | /library/metadata/67084 | -| `ParentRatingKey` | *string* | :heavy_minus_sign: | N/A | 67084 | -| `ParentStudio` | *string* | :heavy_minus_sign: | N/A | Reprise Records | -| `ParentThumb` | *string* | :heavy_minus_sign: | N/A | /library/metadata/67084/thumb/1705543314 | -| `ParentTitle` | *string* | :heavy_minus_sign: | N/A | Saviors | -| `ParentYear` | *int* | :heavy_minus_sign: | N/A | 2024 | -| `RatingCount` | *int* | :heavy_minus_sign: | N/A | 45885 | -| `RatingKey` | *string* | :heavy_minus_sign: | N/A | 67085 | -| `SessionKey` | *string* | :heavy_minus_sign: | N/A | 203 | -| `Thumb` | *string* | :heavy_minus_sign: | N/A | /library/metadata/67084/thumb/1705543314 | -| `Title` | *string* | :heavy_minus_sign: | N/A | The American Dream Is Killing Me | -| `TitleSort` | *string* | :heavy_minus_sign: | N/A | American Dream Is Killing Me | -| `Type` | *string* | :heavy_minus_sign: | N/A | track | -| `UpdatedAt` | *int* | :heavy_minus_sign: | N/A | 1705543314 | -| `ViewOffset` | *int* | :heavy_minus_sign: | N/A | 1000 | -| `Media` | List<[GetSessionsMedia](../../Models/Requests/GetSessionsMedia.md)> | :heavy_minus_sign: | N/A | [{"Part":[{"Stream":[{"albumGain":"-12.94","albumPeak":"1.000000","albumRange":"4.751014","audioChannelLayout":"stereo","bitDepth":16,"bitrate":1014,"channels":2,"codec":"flac","displayTitle":"FLAC (Stereo)","extendedDisplayTitle":"FLAC (Stereo)","gain":"-12.94","id":"352487","index":0,"location":"direct","loudness":"-5.94","lra":"1.74","peak":"1.000000","samplingRate":44100,"selected":true,"streamType":2}],"container":"flac","decision":"directplay","duration":186240,"file":"/music/Green Day/Saviors (2024)/Green Day - Saviors - 01 - The American Dream Is Killing Me.flac","hasThumbnail":"1","id":"130625","key":"/library/parts/130625/1705543268/file.flac","selected":true,"size":23644000}],"audioChannels":2,"audioCodec":"flac","bitrate":1014,"container":"flac","duration":186240,"id":"130355","selected":true}] | -| `User` | [User](../../Models/Requests/User.md) | :heavy_minus_sign: | N/A | | -| `Player` | [Player](../../Models/Requests/Player.md) | :heavy_minus_sign: | N/A | | -| `Session` | [Session](../../Models/Requests/Session.md) | :heavy_minus_sign: | N/A | | \ No newline at end of file +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `AddedAt` | *int* | :heavy_minus_sign: | N/A | 1705543312 | +| `Art` | *string* | :heavy_minus_sign: | N/A | /library/metadata/39904/art/1705310687 | +| `Duration` | *int* | :heavy_minus_sign: | N/A | 186240 | +| `GrandparentArt` | *string* | :heavy_minus_sign: | N/A | /library/metadata/39904/art/1705310687 | +| `GrandparentGuid` | *string* | :heavy_minus_sign: | N/A | plex://artist/5d07bbfd403c6402904a6480 | +| `GrandparentKey` | *string* | :heavy_minus_sign: | N/A | /library/metadata/39904 | +| `GrandparentRatingKey` | *string* | :heavy_minus_sign: | N/A | 39904 | +| `GrandparentThumb` | *string* | :heavy_minus_sign: | N/A | /library/metadata/39904/thumb/1705310687 | +| `GrandparentTitle` | *string* | :heavy_minus_sign: | N/A | Green Day | +| `Guid` | *string* | :heavy_minus_sign: | N/A | plex://track/6535834f71f22f36f71a8e8f | +| `Index` | *int* | :heavy_minus_sign: | N/A | 1 | +| `Key` | *string* | :heavy_minus_sign: | N/A | /library/metadata/67085 | +| `LibrarySectionID` | *string* | :heavy_minus_sign: | N/A | 3 | +| `LibrarySectionKey` | *string* | :heavy_minus_sign: | N/A | /library/sections/3 | +| `LibrarySectionTitle` | *string* | :heavy_minus_sign: | N/A | Music | +| `MusicAnalysisVersion` | *string* | :heavy_minus_sign: | N/A | 1 | +| `ParentGuid` | *string* | :heavy_minus_sign: | N/A | plex://album/65394d6d472b8ab03ef47f12 | +| `ParentIndex` | *int* | :heavy_minus_sign: | N/A | 1 | +| `ParentKey` | *string* | :heavy_minus_sign: | N/A | /library/metadata/67084 | +| `ParentRatingKey` | *string* | :heavy_minus_sign: | N/A | 67084 | +| `ParentStudio` | *string* | :heavy_minus_sign: | N/A | Reprise Records | +| `ParentThumb` | *string* | :heavy_minus_sign: | N/A | /library/metadata/67084/thumb/1705543314 | +| `ParentTitle` | *string* | :heavy_minus_sign: | N/A | Saviors | +| `ParentYear` | *int* | :heavy_minus_sign: | N/A | 2024 | +| `RatingCount` | *int* | :heavy_minus_sign: | N/A | 45885 | +| `RatingKey` | *string* | :heavy_minus_sign: | N/A | 67085 | +| `SessionKey` | *string* | :heavy_minus_sign: | N/A | 203 | +| `Thumb` | *string* | :heavy_minus_sign: | N/A | /library/metadata/67084/thumb/1705543314 | +| `Title` | *string* | :heavy_minus_sign: | N/A | The American Dream Is Killing Me | +| `TitleSort` | *string* | :heavy_minus_sign: | N/A | American Dream Is Killing Me | +| `Type` | *string* | :heavy_minus_sign: | N/A | track | +| `UpdatedAt` | *int* | :heavy_minus_sign: | N/A | 1705543314 | +| `ViewOffset` | *int* | :heavy_minus_sign: | N/A | 1000 | +| `Media` | List<[GetSessionsMedia](../../Models/Requests/GetSessionsMedia.md)> | :heavy_minus_sign: | N/A | [
{
"audioChannels": 2,
"audioCodec": "flac",
"bitrate": 1014,
"container": "flac",
"duration": 186240,
"id": "130355",
"selected": true,
"Part": [
{
"container": "flac",
"duration": 186240,
"file": "/music/Green Day/Saviors (2024)/Green Day - Saviors - 01 - The American Dream Is Killing Me.flac",
"hasThumbnail": "1",
"id": "130625",
"key": "/library/parts/130625/1705543268/file.flac",
"size": 23644000,
"decision": "directplay",
"selected": true,
"Stream": [
{
"albumGain": "-12.94",
"albumPeak": "1.000000",
"albumRange": "4.751014",
"audioChannelLayout": "stereo",
"bitDepth": 16,
"bitrate": 1014,
"channels": 2,
"codec": "flac",
"displayTitle": "FLAC (Stereo)",
"extendedDisplayTitle": "FLAC (Stereo)",
"gain": "-12.94",
"id": "352487",
"index": 0,
"loudness": "-5.94",
"lra": "1.74",
"peak": "1.000000",
"samplingRate": 44100,
"selected": true,
"streamType": 2,
"location": "direct"
}
]
}
]
}
] | +| `User` | [User](../../Models/Requests/User.md) | :heavy_minus_sign: | N/A | | +| `Player` | [Player](../../Models/Requests/Player.md) | :heavy_minus_sign: | N/A | | +| `Session` | [Session](../../Models/Requests/Session.md) | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/Models/Requests/GetSessionsPart.md b/docs/Models/Requests/GetSessionsPart.md index 7f6490e..f57ab81 100644 --- a/docs/Models/Requests/GetSessionsPart.md +++ b/docs/Models/Requests/GetSessionsPart.md @@ -3,15 +3,15 @@ ## Fields -| Field | Type | Required | Description | Example | -| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -| `Container` | *string* | :heavy_minus_sign: | N/A | flac | -| `Duration` | *int* | :heavy_minus_sign: | N/A | 186240 | -| `File` | *string* | :heavy_minus_sign: | N/A | /music/Green Day/Saviors (2024)/Green Day - Saviors - 01 - The American Dream Is Killing Me.flac | -| `HasThumbnail` | *string* | :heavy_minus_sign: | N/A | 1 | -| `Id` | *string* | :heavy_minus_sign: | N/A | 130625 | -| `Key` | *string* | :heavy_minus_sign: | N/A | /library/parts/130625/1705543268/file.flac | -| `Size` | *int* | :heavy_minus_sign: | N/A | 23644000 | -| `Decision` | *string* | :heavy_minus_sign: | N/A | directplay | -| `Selected` | *bool* | :heavy_minus_sign: | N/A | true | -| `Stream` | List<[GetSessionsStream](../../Models/Requests/GetSessionsStream.md)> | :heavy_minus_sign: | N/A | [{"albumGain":"-12.94","albumPeak":"1.000000","albumRange":"4.751014","audioChannelLayout":"stereo","bitDepth":16,"bitrate":1014,"channels":2,"codec":"flac","displayTitle":"FLAC (Stereo)","extendedDisplayTitle":"FLAC (Stereo)","gain":"-12.94","id":"352487","index":0,"location":"direct","loudness":"-5.94","lra":"1.74","peak":"1.000000","samplingRate":44100,"selected":true,"streamType":2}] | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Container` | *string* | :heavy_minus_sign: | N/A | flac | +| `Duration` | *int* | :heavy_minus_sign: | N/A | 186240 | +| `File` | *string* | :heavy_minus_sign: | N/A | /music/Green Day/Saviors (2024)/Green Day - Saviors - 01 - The American Dream Is Killing Me.flac | +| `HasThumbnail` | *string* | :heavy_minus_sign: | N/A | 1 | +| `Id` | *string* | :heavy_minus_sign: | N/A | 130625 | +| `Key` | *string* | :heavy_minus_sign: | N/A | /library/parts/130625/1705543268/file.flac | +| `Size` | *int* | :heavy_minus_sign: | N/A | 23644000 | +| `Decision` | *string* | :heavy_minus_sign: | N/A | directplay | +| `Selected` | *bool* | :heavy_minus_sign: | N/A | true | +| `Stream` | List<[GetSessionsStream](../../Models/Requests/GetSessionsStream.md)> | :heavy_minus_sign: | N/A | [
{
"albumGain": "-12.94",
"albumPeak": "1.000000",
"albumRange": "4.751014",
"audioChannelLayout": "stereo",
"bitDepth": 16,
"bitrate": 1014,
"channels": 2,
"codec": "flac",
"displayTitle": "FLAC (Stereo)",
"extendedDisplayTitle": "FLAC (Stereo)",
"gain": "-12.94",
"id": "352487",
"index": 0,
"loudness": "-5.94",
"lra": "1.74",
"peak": "1.000000",
"samplingRate": 44100,
"selected": true,
"streamType": 2,
"location": "direct"
}
] | \ No newline at end of file diff --git a/docs/Models/Requests/GetStatisticsDevice.md b/docs/Models/Requests/GetStatisticsDevice.md new file mode 100644 index 0000000..f63a0c5 --- /dev/null +++ b/docs/Models/Requests/GetStatisticsDevice.md @@ -0,0 +1,12 @@ +# GetStatisticsDevice + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------- | -------------------------------- | -------------------------------- | -------------------------------- | -------------------------------- | +| `Id` | *int* | :heavy_minus_sign: | N/A | 208 | +| `Name` | *string* | :heavy_minus_sign: | N/A | Roku Express | +| `Platform` | *string* | :heavy_minus_sign: | N/A | Roku | +| `ClientIdentifier` | *string* | :heavy_minus_sign: | N/A | 793095d235660625108ef785cc7646e9 | +| `CreatedAt` | *int* | :heavy_minus_sign: | N/A | 1706470556 | \ No newline at end of file diff --git a/docs/Models/Requests/GetStatisticsErrors.md b/docs/Models/Requests/GetStatisticsErrors.md new file mode 100644 index 0000000..63be032 --- /dev/null +++ b/docs/Models/Requests/GetStatisticsErrors.md @@ -0,0 +1,10 @@ +# GetStatisticsErrors + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- | +| `Code` | *double* | :heavy_minus_sign: | N/A | 1001 | +| `Message` | *string* | :heavy_minus_sign: | N/A | User could not be authenticated | +| `Status` | *double* | :heavy_minus_sign: | N/A | 401 | \ No newline at end of file diff --git a/docs/Models/Requests/GetStatisticsMediaContainer.md b/docs/Models/Requests/GetStatisticsMediaContainer.md new file mode 100644 index 0000000..35abdd0 --- /dev/null +++ b/docs/Models/Requests/GetStatisticsMediaContainer.md @@ -0,0 +1,11 @@ +# GetStatisticsMediaContainer + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Size` | *int* | :heavy_minus_sign: | N/A | 5497 | +| `Device` | List<[GetStatisticsDevice](../../Models/Requests/GetStatisticsDevice.md)> | :heavy_minus_sign: | N/A | [
{
"id": 208,
"name": "Roku Express",
"platform": "Roku",
"clientIdentifier": "793095d235660625108ef785cc7646e9",
"createdAt": 1706470556
}
] | +| `Account` | List<[Account](../../Models/Requests/Account.md)> | :heavy_minus_sign: | N/A | [
{
"id": 238960586,
"key": "/accounts/238960586",
"name": "Diane",
"defaultAudioLanguage": "en",
"autoSelectAudio": true,
"defaultSubtitleLanguage": "en",
"subtitleMode": 1,
"thumb": "https://plex.tv/users/50d83634246da1de/avatar?c=1707110967"
}
] | +| `StatisticsMedia` | List<[StatisticsMedia](../../Models/Requests/StatisticsMedia.md)> | :heavy_minus_sign: | N/A | [
{
"accountID": 1,
"deviceID": 13,
"timespan": 4,
"at": 1707141600,
"metadataType": 4,
"count": 1,
"duration": 1555
}
] | \ No newline at end of file diff --git a/docs/Models/Requests/GetStatisticsRequest.md b/docs/Models/Requests/GetStatisticsRequest.md new file mode 100644 index 0000000..d88aab6 --- /dev/null +++ b/docs/Models/Requests/GetStatisticsRequest.md @@ -0,0 +1,8 @@ +# GetStatisticsRequest + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | +| `Timespan` | *long* | :heavy_minus_sign: | The timespan to retrieve statistics for
the exact meaning of this parameter is not known
| \ No newline at end of file diff --git a/docs/Models/Requests/GetStatisticsResponse.md b/docs/Models/Requests/GetStatisticsResponse.md new file mode 100644 index 0000000..164d510 --- /dev/null +++ b/docs/Models/Requests/GetStatisticsResponse.md @@ -0,0 +1,12 @@ +# GetStatisticsResponse + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | +| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation | +| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | +| `RawResponse` | [HttpResponseMessage](https://learn.microsoft.com/en-us/dotnet/api/system.net.http.httpresponsemessage?view=net-5.0) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | +| `TwoHundredApplicationJsonObject` | [GetStatisticsResponseBody](../../Models/Requests/GetStatisticsResponseBody.md) | :heavy_minus_sign: | Media Statistics | +| `FourHundredAndOneApplicationJsonObject` | [GetStatisticsStatisticsResponseBody](../../Models/Requests/GetStatisticsStatisticsResponseBody.md) | :heavy_minus_sign: | Unauthorized - Returned if the X-Plex-Token is missing from the header or query. | \ No newline at end of file diff --git a/docs/Models/Requests/GetStatisticsResponseBody.md b/docs/Models/Requests/GetStatisticsResponseBody.md new file mode 100644 index 0000000..b1944a8 --- /dev/null +++ b/docs/Models/Requests/GetStatisticsResponseBody.md @@ -0,0 +1,10 @@ +# GetStatisticsResponseBody + +Media Statistics + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | +| `MediaContainer` | [GetStatisticsMediaContainer](../../Models/Requests/GetStatisticsMediaContainer.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/Models/Requests/GetStatisticsStatisticsResponseBody.md b/docs/Models/Requests/GetStatisticsStatisticsResponseBody.md new file mode 100644 index 0000000..03d8eba --- /dev/null +++ b/docs/Models/Requests/GetStatisticsStatisticsResponseBody.md @@ -0,0 +1,10 @@ +# GetStatisticsStatisticsResponseBody + +Unauthorized - Returned if the X-Plex-Token is missing from the header or query. + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | +| `Errors` | List<[GetStatisticsErrors](../../Models/Requests/GetStatisticsErrors.md)> | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/Models/Requests/GetTokenErrors.md b/docs/Models/Requests/GetTokenErrors.md new file mode 100644 index 0000000..cfb3fba --- /dev/null +++ b/docs/Models/Requests/GetTokenErrors.md @@ -0,0 +1,10 @@ +# GetTokenErrors + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------- | ----------------------------------- | ----------------------------------- | ----------------------------------- | ----------------------------------- | +| `Code` | *double* | :heavy_minus_sign: | N/A | 1000 | +| `Message` | *string* | :heavy_minus_sign: | N/A | X-Plex-Client-Identifier is missing | +| `Status` | *double* | :heavy_minus_sign: | N/A | 400 | \ No newline at end of file diff --git a/docs/Models/Requests/GetTokenRequest.md b/docs/Models/Requests/GetTokenRequest.md new file mode 100644 index 0000000..d4d7a73 --- /dev/null +++ b/docs/Models/Requests/GetTokenRequest.md @@ -0,0 +1,9 @@ +# GetTokenRequest + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `PinID` | *string* | :heavy_check_mark: | The PinID to retrieve an access token for | +| `XPlexClientIdentifier` | *string* | :heavy_check_mark: | 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)
| \ No newline at end of file diff --git a/docs/Models/Requests/GetTokenResponse.md b/docs/Models/Requests/GetTokenResponse.md new file mode 100644 index 0000000..40dc125 --- /dev/null +++ b/docs/Models/Requests/GetTokenResponse.md @@ -0,0 +1,11 @@ +# GetTokenResponse + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | +| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation | +| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | +| `RawResponse` | [HttpResponseMessage](https://learn.microsoft.com/en-us/dotnet/api/system.net.http.httpresponsemessage?view=net-5.0) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | +| `Object` | [GetTokenResponseBody](../../Models/Requests/GetTokenResponseBody.md) | :heavy_minus_sign: | X-Plex-Client-Identifier is missing | \ No newline at end of file diff --git a/docs/Models/Requests/GetTokenResponseBody.md b/docs/Models/Requests/GetTokenResponseBody.md new file mode 100644 index 0000000..498f2e3 --- /dev/null +++ b/docs/Models/Requests/GetTokenResponseBody.md @@ -0,0 +1,10 @@ +# GetTokenResponseBody + +X-Plex-Client-Identifier is missing + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------- | --------------------------------------------------------------- | --------------------------------------------------------------- | --------------------------------------------------------------- | +| `Errors` | List<[GetTokenErrors](../../Models/Requests/GetTokenErrors.md)> | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/Models/Requests/GetTranscodeSessionsMediaContainer.md b/docs/Models/Requests/GetTranscodeSessionsMediaContainer.md index c2b58bc..8589f5b 100644 --- a/docs/Models/Requests/GetTranscodeSessionsMediaContainer.md +++ b/docs/Models/Requests/GetTranscodeSessionsMediaContainer.md @@ -3,7 +3,7 @@ ## Fields -| Field | Type | Required | Description | Example | -| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `Size` | *int* | :heavy_minus_sign: | N/A | 1 | -| `TranscodeSession` | List<[TranscodeSession](../../Models/Requests/TranscodeSession.md)> | :heavy_minus_sign: | N/A | [{"audioChannels":1,"audioCodec":"opus","audioDecision":"transcode","complete":false,"container":"mkv","context":"streaming","duration":1445695,"error":false,"key":"vv3i2q2lax92qlzul1hbd4bx","maxOffsetAvailable":29.53,"minOffsetAvailable":3.003000020980835,"progress":1.7999999523162842,"protocol":"http","remaining":53,"size":-22,"sourceAudioCodec":"aac","sourceVideoCodec":"h264","speed":25.100000381469727,"subtitleDecision":"burn","throttled":false,"timeStamp":1705895805.4919229,"transcodeHwRequested":true,"videoCodec":"h264","videoDecision":"transcode"}] | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `Size` | *int* | :heavy_minus_sign: | N/A | 1 | +| `TranscodeSession` | List<[TranscodeSession](../../Models/Requests/TranscodeSession.md)> | :heavy_minus_sign: | N/A | [
{
"key": "vv3i2q2lax92qlzul1hbd4bx",
"throttled": false,
"complete": false,
"progress": 1.7999999523162842,
"size": -22,
"speed": 25.100000381469727,
"error": false,
"duration": 1445695,
"remaining": 53,
"context": "streaming",
"sourceVideoCodec": "h264",
"sourceAudioCodec": "aac",
"videoDecision": "transcode",
"audioDecision": "transcode",
"subtitleDecision": "burn",
"protocol": "http",
"container": "mkv",
"videoCodec": "h264",
"audioCodec": "opus",
"audioChannels": 1,
"transcodeHwRequested": true,
"timeStamp": 1705895805.4919229,
"maxOffsetAvailable": 29.53,
"minOffsetAvailable": 3.003000020980835
}
] | \ No newline at end of file diff --git a/docs/Models/Requests/GetTransientTokenQueryParamType.md b/docs/Models/Requests/GetTransientTokenQueryParamType.md new file mode 100644 index 0000000..ed8d4a4 --- /dev/null +++ b/docs/Models/Requests/GetTransientTokenQueryParamType.md @@ -0,0 +1,10 @@ +# GetTransientTokenQueryParamType + +`delegation` - This is the only supported `type` parameter. + + +## Values + +| Name | Value | +| ------------ | ------------ | +| `Delegation` | delegation | \ No newline at end of file diff --git a/docs/Models/Requests/GetTransientTokenRequest.md b/docs/Models/Requests/GetTransientTokenRequest.md index 44f2370..8974dbc 100644 --- a/docs/Models/Requests/GetTransientTokenRequest.md +++ b/docs/Models/Requests/GetTransientTokenRequest.md @@ -3,7 +3,7 @@ ## Fields -| Field | Type | Required | Description | -| ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | -| `Type` | [QueryParamType](../../Models/Requests/QueryParamType.md) | :heavy_check_mark: | `delegation` - This is the only supported `type` parameter. | -| `Scope` | [Scope](../../Models/Requests/Scope.md) | :heavy_check_mark: | `all` - This is the only supported `scope` parameter. | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | +| `Type` | [GetTransientTokenQueryParamType](../../Models/Requests/GetTransientTokenQueryParamType.md) | :heavy_check_mark: | `delegation` - This is the only supported `type` parameter. | +| `Scope` | [Scope](../../Models/Requests/Scope.md) | :heavy_check_mark: | `all` - This is the only supported `scope` parameter. | \ No newline at end of file diff --git a/docs/Models/Requests/GetUpdateStatusMediaContainer.md b/docs/Models/Requests/GetUpdateStatusMediaContainer.md index 4bea076..ad83342 100644 --- a/docs/Models/Requests/GetUpdateStatusMediaContainer.md +++ b/docs/Models/Requests/GetUpdateStatusMediaContainer.md @@ -3,11 +3,11 @@ ## Fields -| Field | Type | Required | Description | Example | -| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `Size` | *int* | :heavy_minus_sign: | N/A | 1 | -| `CanInstall` | *bool* | :heavy_minus_sign: | N/A | false | -| `CheckedAt` | *int* | :heavy_minus_sign: | N/A | 1705801232 | -| `DownloadURL` | *string* | :heavy_minus_sign: | N/A | https://plex.tv/downloads/latest/5?channel=8&build=linux-x86_64&distro=redhat&X-Plex-Token=xxxxxxxxxxxxxxxxxxxx | -| `Status` | *int* | :heavy_minus_sign: | N/A | 0 | -| `Release` | List<[Release](../../Models/Requests/Release.md)> | :heavy_minus_sign: | N/A | [{"added":"(PLEASE NOTE) This version makes changes to the database which will make it compatible only with server versions 1.31.2 or higher (released March 14). You will not be able to use your database on Plex Media Server versions lower than this after this update. Please also be patient when updating to this version if you have a very large database and allow the upgrade process to finish.\n(Collections) Items added to a collection from the item context menu will now lock the collection field on the items (#12793)\n(Music) Store track genres and add filtering options (#14653)\n(Music) Support ID3v2.4 null-separated tags for genres and release type (#14653)\n(View History) No longer create a view history entry for items marked as played (#10888)\n(Web) Updated to 4.118.0","downloadURL":"https://plex.tv/downloads/latest/5?channel=8\u0026build=linux-x86_64\u0026distro=redhat\u0026X-Plex-Token=xxxxxxxxxxxxxxxxxxxx","fixed":"(Agents) Changing a 'Other Videos' type library to the modern movie agent would fail (#14483)\n(Agents) It is possible that agents are not initialised during startup on rare occasions (#14654)\n(Agents) Remove the legacy OpenSubtitles agent which is no longer supported upstream (#14667)\n(Collection) Server could become unresponsive when collection membership changes (#14612)\n(DVR) Previously watched recordings could be deleted without being watched again (#13779)\n(Libraries) When performing fix match on items from certain music libraries the language would default to Arabic (#14501)\n(Library) The Content Rating not equal to None filter does not work (#14620)\n(Search) Album search results could contain all the album's tracks too (#14486)\n(Subtitles) In some circumstances, sidecar subtitles can show up for media when they're no longer available (#14674)\n(Transcoder) HW encoding would fail on devices with no rate control (#14222)\n(Transcoder) Software transcoding on Ubuntu could cause unexpected behavior (#14605)","key":"https://plex.tv/updater/releases/5136","state":"notify","version":"1.40.0.7775-456fbaf97"}] | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Size` | *int* | :heavy_minus_sign: | N/A | 1 | +| `CanInstall` | *bool* | :heavy_minus_sign: | N/A | false | +| `CheckedAt` | *int* | :heavy_minus_sign: | N/A | 1705801232 | +| `DownloadURL` | *string* | :heavy_minus_sign: | N/A | https://plex.tv/downloads/latest/5?channel=8&build=linux-x86_64&distro=redhat&X-Plex-Token=xxxxxxxxxxxxxxxxxxxx | +| `Status` | *int* | :heavy_minus_sign: | N/A | 0 | +| `Release` | List<[Release](../../Models/Requests/Release.md)> | :heavy_minus_sign: | N/A | [
{
"key": "https://plex.tv/updater/releases/5136",
"version": "1.40.0.7775-456fbaf97",
"added": "(PLEASE NOTE) This version makes changes to the database which will make it compatible only with server versions 1.31.2 or higher (released March 14). You will not be able to use your database on Plex Media Server versions lower than this after this update. Please also be patient when updating to this version if you have a very large database and allow the upgrade process to finish.\n(Collections) Items added to a collection from the item context menu will now lock the collection field on the items (#12793)\n(Music) Store track genres and add filtering options (#14653)\n(Music) Support ID3v2.4 null-separated tags for genres and release type (#14653)\n(View History) No longer create a view history entry for items marked as played (#10888)\n(Web) Updated to 4.118.0",
"fixed": "(Agents) Changing a 'Other Videos' type library to the modern movie agent would fail (#14483)\n(Agents) It is possible that agents are not initialised during startup on rare occasions (#14654)\n(Agents) Remove the legacy OpenSubtitles agent which is no longer supported upstream (#14667)\n(Collection) Server could become unresponsive when collection membership changes (#14612)\n(DVR) Previously watched recordings could be deleted without being watched again (#13779)\n(Libraries) When performing fix match on items from certain music libraries the language would default to Arabic (#14501)\n(Library) The Content Rating not equal to None filter does not work (#14620)\n(Search) Album search results could contain all the album's tracks too (#14486)\n(Subtitles) In some circumstances, sidecar subtitles can show up for media when they're no longer available (#14674)\n(Transcoder) HW encoding would fail on devices with no rate control (#14222)\n(Transcoder) Software transcoding on Ubuntu could cause unexpected behavior (#14605)",
"downloadURL": "https://plex.tv/downloads/latest/5?channel=8\u0026build=linux-x86_64\u0026distro=redhat\u0026X-Plex-Token=xxxxxxxxxxxxxxxxxxxx",
"state": "notify"
}
] | \ No newline at end of file diff --git a/docs/Models/Requests/Hub.md b/docs/Models/Requests/Hub.md index f6470ab..fded631 100644 --- a/docs/Models/Requests/Hub.md +++ b/docs/Models/Requests/Hub.md @@ -3,16 +3,16 @@ ## Fields -| Field | Type | Required | Description | Example | -| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `HubKey` | *string* | :heavy_minus_sign: | N/A | /library/metadata/50768,65523,58188,57341,57302,57070 | -| `Key` | *string* | :heavy_minus_sign: | N/A | /playlists/all?type=15&sort=lastViewedAt:desc&playlistType=video,audio | -| `Title` | *string* | :heavy_minus_sign: | N/A | Recent Playlists | -| `Type` | *string* | :heavy_minus_sign: | N/A | playlist | -| `HubIdentifier` | *string* | :heavy_minus_sign: | N/A | home.playlists | -| `Context` | *string* | :heavy_minus_sign: | N/A | hub.home.playlists | -| `Size` | *int* | :heavy_minus_sign: | N/A | 6 | -| `More` | *bool* | :heavy_minus_sign: | N/A | true | -| `Style` | *string* | :heavy_minus_sign: | N/A | shelf | -| `Promoted` | *bool* | :heavy_minus_sign: | N/A | true | -| `Metadata` | List<[GetGlobalHubsMetadata](../../Models/Requests/GetGlobalHubsMetadata.md)> | :heavy_minus_sign: | N/A | [{"addedAt":1668779618,"composite":"/playlists/57070/composite/1668787730","duration":16873000,"guid":"com.plexapp.agents.none://9fee6c5b-3143-4923-813e-57bd0190056c","icon":"playlist://image.smart","key":"/playlists/57070/items","lastViewedAt":1668787732,"leafCount":3,"playlistType":"video","ratingKey":"57070","smart":false,"summary":"","title":"November Movie Day","titleSort":"Tracks","type":"playlist","updatedAt":1668787730,"viewCount":2}] | \ No newline at end of file +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `HubKey` | *string* | :heavy_minus_sign: | N/A | /library/metadata/50768,65523,58188,57341,57302,57070 | +| `Key` | *string* | :heavy_minus_sign: | N/A | /playlists/all?type=15&sort=lastViewedAt:desc&playlistType=video,audio | +| `Title` | *string* | :heavy_minus_sign: | N/A | Recent Playlists | +| `Type` | *string* | :heavy_minus_sign: | N/A | playlist | +| `HubIdentifier` | *string* | :heavy_minus_sign: | N/A | home.playlists | +| `Context` | *string* | :heavy_minus_sign: | N/A | hub.home.playlists | +| `Size` | *int* | :heavy_minus_sign: | N/A | 6 | +| `More` | *bool* | :heavy_minus_sign: | N/A | true | +| `Style` | *string* | :heavy_minus_sign: | N/A | shelf | +| `Promoted` | *bool* | :heavy_minus_sign: | N/A | true | +| `Metadata` | List<[GetGlobalHubsMetadata](../../Models/Requests/GetGlobalHubsMetadata.md)> | :heavy_minus_sign: | N/A | [
{
"ratingKey": "57070",
"key": "/playlists/57070/items",
"guid": "com.plexapp.agents.none://9fee6c5b-3143-4923-813e-57bd0190056c",
"type": "playlist",
"title": "November Movie Day",
"titleSort": "Tracks",
"summary": "",
"smart": false,
"playlistType": "video",
"composite": "/playlists/57070/composite/1668787730",
"icon": "playlist://image.smart",
"viewCount": 2,
"lastViewedAt": 1668787732,
"duration": 16873000,
"leafCount": 3,
"addedAt": 1668779618,
"updatedAt": 1668787730
}
] | \ No newline at end of file diff --git a/docs/Models/Requests/Location.md b/docs/Models/Requests/Location.md index 905e369..5831148 100644 --- a/docs/Models/Requests/Location.md +++ b/docs/Models/Requests/Location.md @@ -3,7 +3,15 @@ ## Fields -| Field | Type | Required | Description | Example | -| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ | -| `Id` | *int* | :heavy_minus_sign: | N/A | 1 | -| `Path` | *string* | :heavy_minus_sign: | N/A | /movies | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ---------------------------- | ---------------------------- | ---------------------------- | ---------------------------- | ---------------------------- | +| `Code` | *string* | :heavy_minus_sign: | N/A | US | +| `EuropeanUnionMember` | *bool* | :heavy_minus_sign: | N/A | | +| `ContinentCode` | *string* | :heavy_minus_sign: | N/A | NA | +| `Country` | *string* | :heavy_minus_sign: | N/A | United States | +| `City` | *string* | :heavy_minus_sign: | N/A | Austin | +| `TimeZone` | *string* | :heavy_minus_sign: | N/A | America/Chicago | +| `PostalCode` | *double* | :heavy_minus_sign: | N/A | 78732 | +| `InPrivacyRestrictedCountry` | *bool* | :heavy_minus_sign: | N/A | | +| `Subdivisions` | *string* | :heavy_minus_sign: | N/A | Texas | +| `Coordinates` | *string* | :heavy_minus_sign: | N/A | 30.3768 -97.8935 | \ No newline at end of file diff --git a/docs/Models/Requests/QueryParamType.md b/docs/Models/Requests/QueryParamType.md index 86cdced..549a0c1 100644 --- a/docs/Models/Requests/QueryParamType.md +++ b/docs/Models/Requests/QueryParamType.md @@ -1,10 +1,12 @@ # QueryParamType -`delegation` - This is the only supported `type` parameter. +type of playlist to create ## Values -| Name | Value | -| ------------ | ------------ | -| `Delegation` | delegation | \ No newline at end of file +| Name | Value | +| ------- | ------- | +| `Audio` | audio | +| `Video` | video | +| `Photo` | photo | \ No newline at end of file diff --git a/docs/Models/Requests/SearchLibraryMediaContainer.md b/docs/Models/Requests/SearchLibraryMediaContainer.md new file mode 100644 index 0000000..5344694 --- /dev/null +++ b/docs/Models/Requests/SearchLibraryMediaContainer.md @@ -0,0 +1,20 @@ +# SearchLibraryMediaContainer + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Size` | *int* | :heavy_minus_sign: | N/A | 2 | +| `AllowSync` | *bool* | :heavy_minus_sign: | N/A | false | +| `Art` | *string* | :heavy_minus_sign: | N/A | /:/resources/show-fanart.jpg | +| `Identifier` | *string* | :heavy_minus_sign: | N/A | com.plexapp.plugins.library | +| `MediaTagPrefix` | *string* | :heavy_minus_sign: | N/A | /system/bundle/media/flags/ | +| `MediaTagVersion` | *int* | :heavy_minus_sign: | N/A | 1698860922 | +| `Nocache` | *bool* | :heavy_minus_sign: | N/A | true | +| `Thumb` | *string* | :heavy_minus_sign: | N/A | /:/resources/show.png | +| `Title1` | *string* | :heavy_minus_sign: | N/A | TV Shows | +| `Title2` | *string* | :heavy_minus_sign: | N/A | Search for '' | +| `ViewGroup` | *string* | :heavy_minus_sign: | N/A | season | +| `ViewMode` | *int* | :heavy_minus_sign: | N/A | 65593 | +| `Metadata` | List<[SearchLibraryMetadata](../../Models/Requests/SearchLibraryMetadata.md)> | :heavy_minus_sign: | N/A | [
{
"ratingKey": "2",
"key": "/library/metadata/2/children",
"parentRatingKey": "1",
"guid": "plex://season/602e67e766dfdb002c0a1b5b",
"parentGuid": "plex://show/5d9c086c7d06d9001ffd27aa",
"parentStudio": "Mutant Enemy Productions",
"type": "season",
"title": "Season 1",
"parentKey": "/library/metadata/1",
"parentTitle": "Firefly",
"summary": "Captain Malcolm 'Mal' Reynolds is a former galactic war veteran who is the captain of the transport ship \"Serenity\". Mal and his crew, ensign Zoe Alleyne Washburne; Zoe's husband, pilot Hoban 'Wash' Washburne; muscular mercenary Jayne Cobb; young mechanic Kaylee Frye; former Alliance medical officer Simon Tam; his disturbed teenage sister River (both on the run from the interplanetary government \"The Alliance\"); the beautiful courtesan Inara Serra; and preacher Shepherd Book do any jobs, legal or illegal, they can find as the Serenity crew travels across the outskirts of outer space.",
"index": 1,
"parentIndex": 1,
"parentYear": 2002,
"thumb": "/library/metadata/2/thumb/1705636920",
"art": "/library/metadata/1/art/1705636920",
"parentThumb": "/library/metadata/1/thumb/1705636920",
"parentTheme": "/library/metadata/1/theme/1705636920",
"addedAt": 1705636916,
"updatedAt": 1705636920
}
] | \ No newline at end of file diff --git a/docs/Models/Requests/SearchLibraryMetadata.md b/docs/Models/Requests/SearchLibraryMetadata.md new file mode 100644 index 0000000..1641823 --- /dev/null +++ b/docs/Models/Requests/SearchLibraryMetadata.md @@ -0,0 +1,27 @@ +# SearchLibraryMetadata + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `RatingKey` | *string* | :heavy_minus_sign: | N/A | 2 | +| `Key` | *string* | :heavy_minus_sign: | N/A | /library/metadata/2/children | +| `ParentRatingKey` | *string* | :heavy_minus_sign: | N/A | 1 | +| `Guid` | *string* | :heavy_minus_sign: | N/A | plex://season/602e67e766dfdb002c0a1b5b | +| `ParentGuid` | *string* | :heavy_minus_sign: | N/A | plex://show/5d9c086c7d06d9001ffd27aa | +| `ParentStudio` | *string* | :heavy_minus_sign: | N/A | Mutant Enemy Productions | +| `Type` | *string* | :heavy_minus_sign: | N/A | season | +| `Title` | *string* | :heavy_minus_sign: | N/A | Season 1 | +| `ParentKey` | *string* | :heavy_minus_sign: | N/A | /library/metadata/1 | +| `ParentTitle` | *string* | :heavy_minus_sign: | N/A | Firefly | +| `Summary` | *string* | :heavy_minus_sign: | N/A | Captain Malcolm 'Mal' Reynolds is a former galactic war veteran who is the captain of the transport ship "Serenity". Mal and his crew, ensign Zoe Alleyne Washburne; Zoe's husband, pilot Hoban 'Wash' Washburne; muscular mercenary Jayne Cobb; young mechanic Kaylee Frye; former Alliance medical officer Simon Tam; his disturbed teenage sister River (both on the run from the interplanetary government "The Alliance"); the beautiful courtesan Inara Serra; and preacher Shepherd Book do any jobs, legal or illegal, they can find as the Serenity crew travels across the outskirts of outer space. | +| `Index` | *int* | :heavy_minus_sign: | N/A | 1 | +| `ParentIndex` | *int* | :heavy_minus_sign: | N/A | 1 | +| `ParentYear` | *int* | :heavy_minus_sign: | N/A | 2002 | +| `Thumb` | *string* | :heavy_minus_sign: | N/A | /library/metadata/2/thumb/1705636920 | +| `Art` | *string* | :heavy_minus_sign: | N/A | /library/metadata/1/art/1705636920 | +| `ParentThumb` | *string* | :heavy_minus_sign: | N/A | /library/metadata/1/thumb/1705636920 | +| `ParentTheme` | *string* | :heavy_minus_sign: | N/A | /library/metadata/1/theme/1705636920 | +| `AddedAt` | *int* | :heavy_minus_sign: | N/A | 1705636916 | +| `UpdatedAt` | *int* | :heavy_minus_sign: | N/A | 1705636920 | \ No newline at end of file diff --git a/docs/Models/Requests/SearchLibraryRequest.md b/docs/Models/Requests/SearchLibraryRequest.md new file mode 100644 index 0000000..83a6748 --- /dev/null +++ b/docs/Models/Requests/SearchLibraryRequest.md @@ -0,0 +1,9 @@ +# SearchLibraryRequest + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------- | ------------------------------------- | ------------------------------------- | ------------------------------------- | +| `SectionId` | *long* | :heavy_check_mark: | the Id of the library to query | +| `Type` | [Type](../../Models/Requests/Type.md) | :heavy_check_mark: | Plex content type to search for | \ No newline at end of file diff --git a/docs/Models/Requests/SearchLibraryResponse.md b/docs/Models/Requests/SearchLibraryResponse.md new file mode 100644 index 0000000..c33b660 --- /dev/null +++ b/docs/Models/Requests/SearchLibraryResponse.md @@ -0,0 +1,11 @@ +# SearchLibraryResponse + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | +| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation | +| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | +| `RawResponse` | [HttpResponseMessage](https://learn.microsoft.com/en-us/dotnet/api/system.net.http.httpresponsemessage?view=net-5.0) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | +| `Object` | [SearchLibraryResponseBody](../../Models/Requests/SearchLibraryResponseBody.md) | :heavy_minus_sign: | The contents of the library by section and type | \ No newline at end of file diff --git a/docs/Models/Requests/SearchLibraryResponseBody.md b/docs/Models/Requests/SearchLibraryResponseBody.md new file mode 100644 index 0000000..557d503 --- /dev/null +++ b/docs/Models/Requests/SearchLibraryResponseBody.md @@ -0,0 +1,10 @@ +# SearchLibraryResponseBody + +The contents of the library by section and type + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | +| `MediaContainer` | [SearchLibraryMediaContainer](../../Models/Requests/SearchLibraryMediaContainer.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/Models/Requests/Setting.md b/docs/Models/Requests/Setting.md new file mode 100644 index 0000000..b9cad0d --- /dev/null +++ b/docs/Models/Requests/Setting.md @@ -0,0 +1,17 @@ +# Setting + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------- | ----------------------- | ----------------------- | ----------------------- | ----------------------- | +| `Id` | *string* | :heavy_minus_sign: | N/A | EnableDatabaseTrace | +| `Label` | *string* | :heavy_minus_sign: | N/A | | +| `Summary` | *string* | :heavy_minus_sign: | N/A | | +| `Type` | *string* | :heavy_minus_sign: | N/A | bool | +| `Default` | *bool* | :heavy_minus_sign: | N/A | false | +| `Value` | *bool* | :heavy_minus_sign: | N/A | false | +| `Hidden` | *bool* | :heavy_minus_sign: | N/A | true | +| `Advanced` | *bool* | :heavy_minus_sign: | N/A | false | +| `Group` | *string* | :heavy_minus_sign: | N/A | | +| `EnumValues` | *string* | :heavy_minus_sign: | N/A | 1:admin only\|2:everyone | \ No newline at end of file diff --git a/docs/Models/Requests/StatisticsMedia.md b/docs/Models/Requests/StatisticsMedia.md new file mode 100644 index 0000000..8b41309 --- /dev/null +++ b/docs/Models/Requests/StatisticsMedia.md @@ -0,0 +1,14 @@ +# StatisticsMedia + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ | +| `AccountID` | *int* | :heavy_minus_sign: | N/A | 1 | +| `DeviceID` | *int* | :heavy_minus_sign: | N/A | 13 | +| `Timespan` | *int* | :heavy_minus_sign: | N/A | 4 | +| `At` | *int* | :heavy_minus_sign: | N/A | 1707141600 | +| `MetadataType` | *int* | :heavy_minus_sign: | N/A | 4 | +| `Count` | *int* | :heavy_minus_sign: | N/A | 1 | +| `Duration` | *int* | :heavy_minus_sign: | N/A | 1555 | \ No newline at end of file diff --git a/docs/Models/Requests/Tag.md b/docs/Models/Requests/Tag.md index e5f42b9..99c8927 100644 --- a/docs/Models/Requests/Tag.md +++ b/docs/Models/Requests/Tag.md @@ -5,25 +5,24 @@ A key representing a specific tag within the section. ## Values -| Name | Value | -| ------------------ | ------------------ | -| `All` | all | -| `Unwatched` | unwatched | -| `Newest` | newest | -| `RecentlyAdded` | recentlyAdded | -| `RecentlyViewed` | recentlyViewed | -| `OnDeck` | onDeck | -| `Collection` | collection | -| `Edition` | edition | -| `Genre` | genre | -| `Year` | year | -| `Decade` | decade | -| `Director` | director | -| `Actor` | actor | -| `Country` | country | -| `ContentRating` | contentRating | -| `Rating` | rating | -| `Resolution` | resolution | -| `FirstCharacter` | firstCharacter | -| `Folder` | folder | -| `SearchTypeEqual1` | search?type=1 | \ No newline at end of file +| Name | Value | +| ---------------- | ---------------- | +| `All` | all | +| `Unwatched` | unwatched | +| `Newest` | newest | +| `RecentlyAdded` | recentlyAdded | +| `RecentlyViewed` | recentlyViewed | +| `OnDeck` | onDeck | +| `Collection` | collection | +| `Edition` | edition | +| `Genre` | genre | +| `Year` | year | +| `Decade` | decade | +| `Director` | director | +| `Actor` | actor | +| `Country` | country | +| `ContentRating` | contentRating | +| `Rating` | rating | +| `Resolution` | resolution | +| `FirstCharacter` | firstCharacter | +| `Folder` | folder | \ No newline at end of file diff --git a/docs/Models/Requests/Type.md b/docs/Models/Requests/Type.md index 0276e44..19bb07c 100644 --- a/docs/Models/Requests/Type.md +++ b/docs/Models/Requests/Type.md @@ -1,12 +1,13 @@ # Type -type of playlist to create +Plex content type to search for ## Values | Name | Value | | ------- | ------- | -| `Audio` | audio | -| `Video` | video | -| `Photo` | photo | \ No newline at end of file +| `One` | 1 | +| `Two` | 2 | +| `Three` | 3 | +| `Four` | 4 | \ No newline at end of file diff --git a/docs/sdks/activities/README.md b/docs/sdks/activities/README.md index 60c791e..79b9662 100644 --- a/docs/sdks/activities/README.md +++ b/docs/sdks/activities/README.md @@ -27,10 +27,7 @@ Get Server Activities using PlexAPI; using PlexAPI.Models.Components; -var sdk = new PlexAPISDK( - security: new Models.Components.Security() { - AccessToken = "", - }); +var sdk = new PlexAPISDK(AccessToken: ""); var res = await sdk.Activities.GetServerActivitiesAsync(); @@ -54,12 +51,9 @@ using PlexAPI; using PlexAPI.Models.Components; using PlexAPI.Models.Requests; -var sdk = new PlexAPISDK( - security: new Models.Components.Security() { - AccessToken = "", - }); +var sdk = new PlexAPISDK(AccessToken: ""); -var res = await sdk.Activities.CancelServerActivitiesAsync(ActivityUUID: "string"); +var res = await sdk.Activities.CancelServerActivitiesAsync(activityUUID: ""); // handle response ``` diff --git a/docs/sdks/security/README.md b/docs/sdks/authentication/README.md similarity index 54% rename from docs/sdks/security/README.md rename to docs/sdks/authentication/README.md index 5047c3f..fc7cc7e 100644 --- a/docs/sdks/security/README.md +++ b/docs/sdks/authentication/README.md @@ -1,9 +1,9 @@ -# Security -(*Security*) +# Authentication +(*Authentication*) ## Overview -API Calls against Security for Plex Media Server +API Calls regarding authentication for Plex Media Server ### Available Operations @@ -23,22 +23,21 @@ using PlexAPI; using PlexAPI.Models.Components; using PlexAPI.Models.Requests; -var sdk = new PlexAPISDK( - security: new Models.Components.Security() { - AccessToken = "", - }); +var sdk = new PlexAPISDK(AccessToken: ""); -var res = await sdk.Security.GetTransientTokenAsync(Type: QueryParamType.Delegation, Scope: Scope.All); +var res = await sdk.Authentication.GetTransientTokenAsync( + type: GetTransientTokenQueryParamType.Delegation, + scope: Scope.All); // handle response ``` ### Parameters -| Parameter | Type | Required | Description | -| ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | -| `Type` | [QueryParamType](../../Models/Requests/QueryParamType.md) | :heavy_check_mark: | `delegation` - This is the only supported `type` parameter. | -| `Scope` | [Scope](../../Models/Requests/Scope.md) | :heavy_check_mark: | `all` - This is the only supported `scope` parameter. | +| Parameter | Type | Required | Description | +| ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | +| `Type` | [GetTransientTokenQueryParamType](../../Models/Requests/GetTransientTokenQueryParamType.md) | :heavy_check_mark: | `delegation` - This is the only supported `type` parameter. | +| `Scope` | [Scope](../../Models/Requests/Scope.md) | :heavy_check_mark: | `all` - This is the only supported `scope` parameter. | ### Response @@ -59,12 +58,9 @@ using PlexAPI; using PlexAPI.Models.Components; using PlexAPI.Models.Requests; -var sdk = new PlexAPISDK( - security: new Models.Components.Security() { - AccessToken = "", - }); +var sdk = new PlexAPISDK(AccessToken: ""); -var res = await sdk.Security.GetSourceConnectionInformationAsync(Source: "server://client-identifier"); +var res = await sdk.Authentication.GetSourceConnectionInformationAsync(source: "server://client-identifier"); // handle response ``` diff --git a/docs/sdks/butler/README.md b/docs/sdks/butler/README.md index 6002ff7..f826b1a 100644 --- a/docs/sdks/butler/README.md +++ b/docs/sdks/butler/README.md @@ -24,10 +24,7 @@ Returns a list of butler tasks using PlexAPI; using PlexAPI.Models.Components; -var sdk = new PlexAPISDK( - security: new Models.Components.Security() { - AccessToken = "", - }); +var sdk = new PlexAPISDK(AccessToken: ""); var res = await sdk.Butler.GetButlerTasksAsync(); @@ -55,10 +52,7 @@ This endpoint will attempt to start all Butler tasks that are enabled in the set using PlexAPI; using PlexAPI.Models.Components; -var sdk = new PlexAPISDK( - security: new Models.Components.Security() { - AccessToken = "", - }); +var sdk = new PlexAPISDK(AccessToken: ""); var res = await sdk.Butler.StartAllTasksAsync(); @@ -82,10 +76,7 @@ This endpoint will stop all currently running tasks and remove any scheduled tas using PlexAPI; using PlexAPI.Models.Components; -var sdk = new PlexAPISDK( - security: new Models.Components.Security() { - AccessToken = "", - }); +var sdk = new PlexAPISDK(AccessToken: ""); var res = await sdk.Butler.StopAllTasksAsync(); @@ -114,12 +105,9 @@ using PlexAPI; using PlexAPI.Models.Components; using PlexAPI.Models.Requests; -var sdk = new PlexAPISDK( - security: new Models.Components.Security() { - AccessToken = "", - }); +var sdk = new PlexAPISDK(AccessToken: ""); -var res = await sdk.Butler.StartTaskAsync(TaskName: TaskName.CleanOldBundles); +var res = await sdk.Butler.StartTaskAsync(taskName: TaskName.CleanOldBundles); // handle response ``` @@ -148,12 +136,9 @@ using PlexAPI; using PlexAPI.Models.Components; using PlexAPI.Models.Requests; -var sdk = new PlexAPISDK( - security: new Models.Components.Security() { - AccessToken = "", - }); +var sdk = new PlexAPISDK(AccessToken: ""); -var res = await sdk.Butler.StopTaskAsync(TaskName: PathParamTaskName.BackupDatabase); +var res = await sdk.Butler.StopTaskAsync(taskName: PathParamTaskName.BackupDatabase); // handle response ``` diff --git a/docs/sdks/hubs/README.md b/docs/sdks/hubs/README.md index 4d5e572..b61148f 100644 --- a/docs/sdks/hubs/README.md +++ b/docs/sdks/hubs/README.md @@ -22,12 +22,11 @@ using PlexAPI; using PlexAPI.Models.Components; using PlexAPI.Models.Requests; -var sdk = new PlexAPISDK( - security: new Models.Components.Security() { - AccessToken = "", - }); +var sdk = new PlexAPISDK(AccessToken: ""); -var res = await sdk.Hubs.GetGlobalHubsAsync(Count: 1262.49D, OnlyTransient: OnlyTransient.One); +var res = await sdk.Hubs.GetGlobalHubsAsync( + count: 1262.49D, + onlyTransient: OnlyTransient.One); // handle response ``` @@ -57,12 +56,12 @@ using PlexAPI; using PlexAPI.Models.Components; using PlexAPI.Models.Requests; -var sdk = new PlexAPISDK( - security: new Models.Components.Security() { - AccessToken = "", - }); +var sdk = new PlexAPISDK(AccessToken: ""); -var res = await sdk.Hubs.GetLibraryHubsAsync(SectionId: 6728.76D, Count: 9010.22D, OnlyTransient: QueryParamOnlyTransient.Zero); +var res = await sdk.Hubs.GetLibraryHubsAsync( + sectionId: 6728.76D, + count: 9010.22D, + onlyTransient: QueryParamOnlyTransient.Zero); // handle response ``` diff --git a/docs/sdks/library/README.md b/docs/sdks/library/README.md index 03a5ced..1ebd336 100644 --- a/docs/sdks/library/README.md +++ b/docs/sdks/library/README.md @@ -15,6 +15,7 @@ API Calls interacting with Plex Media Server Libraries * [DeleteLibrary](#deletelibrary) - Delete Library Section * [GetLibraryItems](#getlibraryitems) - Get Library Items * [RefreshLibrary](#refreshlibrary) - Refresh Library +* [SearchLibrary](#searchlibrary) - Search Library * [GetMetadata](#getmetadata) - Get Items Metadata * [GetMetadataChildren](#getmetadatachildren) - Get Items Children * [GetOnDeck](#getondeck) - Get On Deck @@ -30,12 +31,11 @@ using PlexAPI; using PlexAPI.Models.Components; using PlexAPI.Models.Requests; -var sdk = new PlexAPISDK( - security: new Models.Components.Security() { - AccessToken = "", - }); +var sdk = new PlexAPISDK(AccessToken: ""); -var res = await sdk.Library.GetFileHashAsync(Url: "file://C:\Image.png&type=13", Type: 4462.17D); +var res = await sdk.Library.GetFileHashAsync( + url: "file://C:\Image.png&type=13", + type: 4462.17D); // handle response ``` @@ -64,10 +64,7 @@ This endpoint will return the recently added content. using PlexAPI; using PlexAPI.Models.Components; -var sdk = new PlexAPISDK( - security: new Models.Components.Security() { - AccessToken = "", - }); +var sdk = new PlexAPISDK(AccessToken: ""); var res = await sdk.Library.GetRecentlyAddedAsync(); @@ -96,10 +93,7 @@ This allows a client to provide a rich interface around the media (e.g. allow so using PlexAPI; using PlexAPI.Models.Components; -var sdk = new PlexAPISDK( - security: new Models.Components.Security() { - AccessToken = "", - }); +var sdk = new PlexAPISDK(AccessToken: ""); var res = await sdk.Library.GetLibrariesAsync(); @@ -162,12 +156,11 @@ using PlexAPI; using PlexAPI.Models.Components; using PlexAPI.Models.Requests; -var sdk = new PlexAPISDK( - security: new Models.Components.Security() { - AccessToken = "", - }); +var sdk = new PlexAPISDK(AccessToken: ""); -var res = await sdk.Library.GetLibraryAsync(SectionId: 1000D, IncludeDetails: IncludeDetails.Zero); +var res = await sdk.Library.GetLibraryAsync( + sectionId: 1000D, + includeDetails: IncludeDetails.Zero); // handle response ``` @@ -196,12 +189,9 @@ using PlexAPI; using PlexAPI.Models.Components; using PlexAPI.Models.Requests; -var sdk = new PlexAPISDK( - security: new Models.Components.Security() { - AccessToken = "", - }); +var sdk = new PlexAPISDK(AccessToken: ""); -var res = await sdk.Library.DeleteLibraryAsync(SectionId: 1000D); +var res = await sdk.Library.DeleteLibraryAsync(sectionId: 1000D); // handle response ``` @@ -240,7 +230,6 @@ Fetches details from a specific section of the library identified by a section k - `resolution`: Items categorized by resolution. - `firstCharacter`: Items categorized by the first letter. - `folder`: Items categorized by folder. -- `search?type=1`: Search functionality within the section. ### Example Usage @@ -250,12 +239,11 @@ using PlexAPI; using PlexAPI.Models.Components; using PlexAPI.Models.Requests; -var sdk = new PlexAPISDK( - security: new Models.Components.Security() { - AccessToken = "", - }); +var sdk = new PlexAPISDK(AccessToken: ""); -var res = await sdk.Library.GetLibraryItemsAsync(SectionId: 451092, Tag: Tag.Unwatched); +var res = await sdk.Library.GetLibraryItemsAsync( + sectionId: 451092, + tag: Tag.Unwatched); // handle response ``` @@ -285,12 +273,9 @@ using PlexAPI; using PlexAPI.Models.Components; using PlexAPI.Models.Requests; -var sdk = new PlexAPISDK( - security: new Models.Components.Security() { - AccessToken = "", - }); +var sdk = new PlexAPISDK(AccessToken: ""); -var res = await sdk.Library.RefreshLibraryAsync(SectionId: 934.16D); +var res = await sdk.Library.RefreshLibraryAsync(sectionId: 934.16D); // handle response ``` @@ -307,6 +292,57 @@ var res = await sdk.Library.RefreshLibraryAsync(SectionId: 934.16D); **[RefreshLibraryResponse](../../Models/Requests/RefreshLibraryResponse.md)** +## SearchLibrary + +Search for content within a specific section of the library. + +### Types +Each type in the library comes with a set of filters and sorts, aiding in building dynamic media controls: + +- **Type Object Attributes**: + - `type`: Metadata type (if standard Plex type). + - `title`: Title for this content type (e.g., "Movies"). + +- **Filter Objects**: + - Subset of the media query language. + - Attributes include `filter` (name), `filterType` (data type), `key` (endpoint for value range), and `title`. + +- **Sort Objects**: + - Description of sort fields. + - Attributes include `defaultDirection` (asc/desc), `descKey` and `key` (sort parameters), and `title`. + +> **Note**: Filters and sorts are optional; without them, no filtering controls are rendered. + + +### Example Usage + +```csharp +using PlexAPI; +using PlexAPI.Models.Components; +using PlexAPI.Models.Requests; + +var sdk = new PlexAPISDK(AccessToken: ""); + +var res = await sdk.Library.SearchLibraryAsync( + sectionId: 933505, + type: Type.Four); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ------------------------------------- | ------------------------------------- | ------------------------------------- | ------------------------------------- | +| `SectionId` | *long* | :heavy_check_mark: | the Id of the library to query | +| `Type` | [Type](../../Models/Requests/Type.md) | :heavy_check_mark: | Plex content type to search for | + + +### Response + +**[SearchLibraryResponse](../../Models/Requests/SearchLibraryResponse.md)** + + ## GetMetadata This endpoint will return the metadata of a library item specified with the ratingKey. @@ -319,12 +355,9 @@ using PlexAPI; using PlexAPI.Models.Components; using PlexAPI.Models.Requests; -var sdk = new PlexAPISDK( - security: new Models.Components.Security() { - AccessToken = "", - }); +var sdk = new PlexAPISDK(AccessToken: ""); -var res = await sdk.Library.GetMetadataAsync(RatingKey: 8382.31D); +var res = await sdk.Library.GetMetadataAsync(ratingKey: 8382.31D); // handle response ``` @@ -353,12 +386,9 @@ using PlexAPI; using PlexAPI.Models.Components; using PlexAPI.Models.Requests; -var sdk = new PlexAPISDK( - security: new Models.Components.Security() { - AccessToken = "", - }); +var sdk = new PlexAPISDK(AccessToken: ""); -var res = await sdk.Library.GetMetadataChildrenAsync(RatingKey: 1539.14D); +var res = await sdk.Library.GetMetadataChildrenAsync(ratingKey: 1539.14D); // handle response ``` @@ -386,10 +416,7 @@ This endpoint will return the on deck content. using PlexAPI; using PlexAPI.Models.Components; -var sdk = new PlexAPISDK( - security: new Models.Components.Security() { - AccessToken = "", - }); +var sdk = new PlexAPISDK(AccessToken: ""); var res = await sdk.Library.GetOnDeckAsync(); diff --git a/docs/sdks/log/README.md b/docs/sdks/log/README.md index 122ac71..3bd290c 100644 --- a/docs/sdks/log/README.md +++ b/docs/sdks/log/README.md @@ -24,12 +24,12 @@ using PlexAPI; using PlexAPI.Models.Components; using PlexAPI.Models.Requests; -var sdk = new PlexAPISDK( - security: new Models.Components.Security() { - AccessToken = "", - }); +var sdk = new PlexAPISDK(AccessToken: ""); -var res = await sdk.Log.LogLineAsync(Level: Level.Three, Message: "Test log message", Source: "Postman"); +var res = await sdk.Log.LogLineAsync( + level: Level.Three, + message: "Test log message", + source: "Postman"); // handle response ``` @@ -79,10 +79,7 @@ Ensure each parameter is properly URL-encoded to avoid interpretation issues. using PlexAPI; using PlexAPI.Models.Components; -var sdk = new PlexAPISDK( - security: new Models.Components.Security() { - AccessToken = "", - }); +var sdk = new PlexAPISDK(AccessToken: ""); string req = "level=4&message=Test%20message%201&source=postman level=3&message=Test%20message%202&source=postman @@ -116,10 +113,7 @@ This endpoint will enable all Plex Media Serverlogs to be sent to the Papertrail using PlexAPI; using PlexAPI.Models.Components; -var sdk = new PlexAPISDK( - security: new Models.Components.Security() { - AccessToken = "", - }); +var sdk = new PlexAPISDK(AccessToken: ""); var res = await sdk.Log.EnablePaperTrailAsync(); diff --git a/docs/sdks/media/README.md b/docs/sdks/media/README.md index 74602a2..6723fbf 100644 --- a/docs/sdks/media/README.md +++ b/docs/sdks/media/README.md @@ -23,12 +23,9 @@ using PlexAPI; using PlexAPI.Models.Components; using PlexAPI.Models.Requests; -var sdk = new PlexAPISDK( - security: new Models.Components.Security() { - AccessToken = "", - }); +var sdk = new PlexAPISDK(AccessToken: ""); -var res = await sdk.Media.MarkPlayedAsync(Key: 59398D); +var res = await sdk.Media.MarkPlayedAsync(key: 59398D); // handle response ``` @@ -56,12 +53,9 @@ using PlexAPI; using PlexAPI.Models.Components; using PlexAPI.Models.Requests; -var sdk = new PlexAPISDK( - security: new Models.Components.Security() { - AccessToken = "", - }); +var sdk = new PlexAPISDK(AccessToken: ""); -var res = await sdk.Media.MarkUnplayedAsync(Key: 59398D); +var res = await sdk.Media.MarkUnplayedAsync(key: 59398D); // handle response ``` @@ -90,12 +84,12 @@ using PlexAPI; using PlexAPI.Models.Components; using PlexAPI.Models.Requests; -var sdk = new PlexAPISDK( - security: new Models.Components.Security() { - AccessToken = "", - }); +var sdk = new PlexAPISDK(AccessToken: ""); -var res = await sdk.Media.UpdatePlayProgressAsync(Key: "string", Time: 6900.91D, State: "string"); +var res = await sdk.Media.UpdatePlayProgressAsync( + key: "", + time: 6900.91D, + state: ""); // handle response ``` diff --git a/docs/sdks/playlists/README.md b/docs/sdks/playlists/README.md index 44745ae..0a1ca0a 100644 --- a/docs/sdks/playlists/README.md +++ b/docs/sdks/playlists/README.md @@ -35,14 +35,11 @@ using PlexAPI; using PlexAPI.Models.Components; using PlexAPI.Models.Requests; -var sdk = new PlexAPISDK( - security: new Models.Components.Security() { - AccessToken = "", - }); +var sdk = new PlexAPISDK(AccessToken: ""); CreatePlaylistRequest req = new CreatePlaylistRequest() { - Title = "string", - Type = Type.Photo, + Title = "", + Type = QueryParamType.Photo, Smart = Smart.One, Uri = "https://inborn-brochure.biz", }; @@ -75,12 +72,11 @@ using PlexAPI; using PlexAPI.Models.Components; using PlexAPI.Models.Requests; -var sdk = new PlexAPISDK( - security: new Models.Components.Security() { - AccessToken = "", - }); +var sdk = new PlexAPISDK(AccessToken: ""); -var res = await sdk.Playlists.GetPlaylistsAsync(PlaylistType: PlaylistType.Audio, Smart: QueryParamSmart.Zero); +var res = await sdk.Playlists.GetPlaylistsAsync( + playlistType: PlaylistType.Audio, + smart: QueryParamSmart.Zero); // handle response ``` @@ -111,12 +107,9 @@ using PlexAPI; using PlexAPI.Models.Components; using PlexAPI.Models.Requests; -var sdk = new PlexAPISDK( - security: new Models.Components.Security() { - AccessToken = "", - }); +var sdk = new PlexAPISDK(AccessToken: ""); -var res = await sdk.Playlists.GetPlaylistAsync(PlaylistID: 4109.48D); +var res = await sdk.Playlists.GetPlaylistAsync(playlistID: 4109.48D); // handle response ``` @@ -145,12 +138,9 @@ using PlexAPI; using PlexAPI.Models.Components; using PlexAPI.Models.Requests; -var sdk = new PlexAPISDK( - security: new Models.Components.Security() { - AccessToken = "", - }); +var sdk = new PlexAPISDK(AccessToken: ""); -var res = await sdk.Playlists.DeletePlaylistAsync(PlaylistID: 216.22D); +var res = await sdk.Playlists.DeletePlaylistAsync(playlistID: 216.22D); // handle response ``` @@ -179,12 +169,12 @@ using PlexAPI; using PlexAPI.Models.Components; using PlexAPI.Models.Requests; -var sdk = new PlexAPISDK( - security: new Models.Components.Security() { - AccessToken = "", - }); +var sdk = new PlexAPISDK(AccessToken: ""); -var res = await sdk.Playlists.UpdatePlaylistAsync(PlaylistID: 3915D, Title: "string", Summary: "string"); +var res = await sdk.Playlists.UpdatePlaylistAsync( + playlistID: 3915D, + title: "", + summary: ""); // handle response ``` @@ -218,12 +208,11 @@ using PlexAPI; using PlexAPI.Models.Components; using PlexAPI.Models.Requests; -var sdk = new PlexAPISDK( - security: new Models.Components.Security() { - AccessToken = "", - }); +var sdk = new PlexAPISDK(AccessToken: ""); -var res = await sdk.Playlists.GetPlaylistContentsAsync(PlaylistID: 5004.46D, Type: 9403.59D); +var res = await sdk.Playlists.GetPlaylistContentsAsync( + playlistID: 5004.46D, + type: 9403.59D); // handle response ``` @@ -253,12 +242,9 @@ using PlexAPI; using PlexAPI.Models.Components; using PlexAPI.Models.Requests; -var sdk = new PlexAPISDK( - security: new Models.Components.Security() { - AccessToken = "", - }); +var sdk = new PlexAPISDK(AccessToken: ""); -var res = await sdk.Playlists.ClearPlaylistContentsAsync(PlaylistID: 1893.18D); +var res = await sdk.Playlists.ClearPlaylistContentsAsync(playlistID: 1893.18D); // handle response ``` @@ -288,12 +274,12 @@ using PlexAPI; using PlexAPI.Models.Components; using PlexAPI.Models.Requests; -var sdk = new PlexAPISDK( - security: new Models.Components.Security() { - AccessToken = "", - }); +var sdk = new PlexAPISDK(AccessToken: ""); -var res = await sdk.Playlists.AddPlaylistContentsAsync(PlaylistID: 8502.01D, Uri: "server://12345/com.plexapp.plugins.library/library/metadata/1", PlayQueueID: 123D); +var res = await sdk.Playlists.AddPlaylistContentsAsync( + playlistID: 8502.01D, + uri: "server://12345/com.plexapp.plugins.library/library/metadata/1", + playQueueID: 123D); // handle response ``` @@ -324,12 +310,11 @@ using PlexAPI; using PlexAPI.Models.Components; using PlexAPI.Models.Requests; -var sdk = new PlexAPISDK( - security: new Models.Components.Security() { - AccessToken = "", - }); +var sdk = new PlexAPISDK(AccessToken: ""); -var res = await sdk.Playlists.UploadPlaylistAsync(Path: "/home/barkley/playlist.m3u", Force: Force.Zero); +var res = await sdk.Playlists.UploadPlaylistAsync( + path: "/home/barkley/playlist.m3u", + force: Force.Zero); // handle response ``` diff --git a/docs/sdks/plex/README.md b/docs/sdks/plex/README.md new file mode 100644 index 0000000..c672b85 --- /dev/null +++ b/docs/sdks/plex/README.md @@ -0,0 +1,80 @@ +# Plex +(*Plex*) + +## Overview + +API Calls that perform operations directly against https://Plex.tv + + +### Available Operations + +* [GetPin](#getpin) - Get a Pin +* [GetToken](#gettoken) - Get Access Token + +## GetPin + +Retrieve a Pin from Plex.tv for authentication flows + +### Example Usage + +```csharp +using PlexAPI; +using PlexAPI.Models.Components; +using PlexAPI.Models.Requests; + +var sdk = new PlexAPISDK(); + +var res = await sdk.Plex.GetPinAsync( + xPlexClientIdentifier: "", + strong: false); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `XPlexClientIdentifier` | *string* | :heavy_check_mark: | 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)
| +| `Strong` | *bool* | :heavy_minus_sign: | Determines the kind of code returned by the API call
Strong codes are used for Pin authentication flows
Non-Strong codes are used for `Plex.tv/link`
| +| `serverURL` | *string* | :heavy_minus_sign: | An optional server URL to use. | + + +### Response + +**[GetPinResponse](../../Models/Requests/GetPinResponse.md)** + + +## GetToken + +Retrieve an Access Token from Plex.tv after the Pin has already been authenticated + +### Example Usage + +```csharp +using PlexAPI; +using PlexAPI.Models.Components; +using PlexAPI.Models.Requests; + +var sdk = new PlexAPISDK(); + +var res = await sdk.Plex.GetTokenAsync( + pinID: "", + xPlexClientIdentifier: ""); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `PinID` | *string* | :heavy_check_mark: | The PinID to retrieve an access token for | +| `XPlexClientIdentifier` | *string* | :heavy_check_mark: | 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)
| +| `serverURL` | *string* | :heavy_minus_sign: | An optional server URL to use. | + + +### Response + +**[GetTokenResponse](../../Models/Requests/GetTokenResponse.md)** + diff --git a/docs/sdks/search/README.md b/docs/sdks/search/README.md index 02a1eb6..56d73e5 100644 --- a/docs/sdks/search/README.md +++ b/docs/sdks/search/README.md @@ -35,12 +35,12 @@ using PlexAPI; using PlexAPI.Models.Components; using PlexAPI.Models.Requests; -var sdk = new PlexAPISDK( - security: new Models.Components.Security() { - AccessToken = "", - }); +var sdk = new PlexAPISDK(AccessToken: ""); -var res = await sdk.Search.PerformSearchAsync(Query: "dylan", SectionId: 1516.53D, Limit: 5D); +var res = await sdk.Search.PerformSearchAsync( + query: "dylan", + sectionId: 1516.53D, + limit: 5D); // handle response ``` @@ -74,12 +74,12 @@ using PlexAPI; using PlexAPI.Models.Components; using PlexAPI.Models.Requests; -var sdk = new PlexAPISDK( - security: new Models.Components.Security() { - AccessToken = "", - }); +var sdk = new PlexAPISDK(AccessToken: ""); -var res = await sdk.Search.PerformVoiceSearchAsync(Query: "dead+poop", SectionId: 4094.8D, Limit: 5D); +var res = await sdk.Search.PerformVoiceSearchAsync( + query: "dead+poop", + sectionId: 4094.8D, + limit: 5D); // handle response ``` @@ -109,12 +109,9 @@ using PlexAPI; using PlexAPI.Models.Components; using PlexAPI.Models.Requests; -var sdk = new PlexAPISDK( - security: new Models.Components.Security() { - AccessToken = "", - }); +var sdk = new PlexAPISDK(AccessToken: ""); -var res = await sdk.Search.GetSearchResultsAsync(Query: "110"); +var res = await sdk.Search.GetSearchResultsAsync(query: "110"); // handle response ``` diff --git a/docs/sdks/server/README.md b/docs/sdks/server/README.md index c1908ee..42faa90 100644 --- a/docs/sdks/server/README.md +++ b/docs/sdks/server/README.md @@ -27,10 +27,7 @@ Server Capabilities using PlexAPI; using PlexAPI.Models.Components; -var sdk = new PlexAPISDK( - security: new Models.Components.Security() { - AccessToken = "", - }); +var sdk = new PlexAPISDK(AccessToken: ""); var res = await sdk.Server.GetServerCapabilitiesAsync(); @@ -53,10 +50,7 @@ Get Server Preferences using PlexAPI; using PlexAPI.Models.Components; -var sdk = new PlexAPISDK( - security: new Models.Components.Security() { - AccessToken = "", - }); +var sdk = new PlexAPISDK(AccessToken: ""); var res = await sdk.Server.GetServerPreferencesAsync(); @@ -79,10 +73,7 @@ Get Available Clients using PlexAPI; using PlexAPI.Models.Components; -var sdk = new PlexAPISDK( - security: new Models.Components.Security() { - AccessToken = "", - }); +var sdk = new PlexAPISDK(AccessToken: ""); var res = await sdk.Server.GetAvailableClientsAsync(); @@ -105,10 +96,7 @@ Get Devices using PlexAPI; using PlexAPI.Models.Components; -var sdk = new PlexAPISDK( - security: new Models.Components.Security() { - AccessToken = "", - }); +var sdk = new PlexAPISDK(AccessToken: ""); var res = await sdk.Server.GetDevicesAsync(); @@ -131,10 +119,7 @@ Get Server Identity using PlexAPI; using PlexAPI.Models.Components; -var sdk = new PlexAPISDK( - security: new Models.Components.Security() { - AccessToken = "", - }); +var sdk = new PlexAPISDK(AccessToken: ""); var res = await sdk.Server.GetServerIdentityAsync(); @@ -157,10 +142,7 @@ Returns MyPlex Account Information using PlexAPI; using PlexAPI.Models.Components; -var sdk = new PlexAPISDK( - security: new Models.Components.Security() { - AccessToken = "", - }); +var sdk = new PlexAPISDK(AccessToken: ""); var res = await sdk.Server.GetMyPlexAccountAsync(); @@ -185,10 +167,7 @@ using PlexAPI; using PlexAPI.Models.Components; using PlexAPI.Models.Requests; -var sdk = new PlexAPISDK( - security: new Models.Components.Security() { - AccessToken = "", - }); +var sdk = new PlexAPISDK(AccessToken: ""); GetResizedPhotoRequest req = new GetResizedPhotoRequest() { Width = 110D, @@ -227,10 +206,7 @@ Get Server List using PlexAPI; using PlexAPI.Models.Components; -var sdk = new PlexAPISDK( - security: new Models.Components.Security() { - AccessToken = "", - }); +var sdk = new PlexAPISDK(AccessToken: ""); var res = await sdk.Server.GetServerListAsync(); diff --git a/docs/sdks/sessions/README.md b/docs/sdks/sessions/README.md index 7852505..c4a397a 100644 --- a/docs/sdks/sessions/README.md +++ b/docs/sdks/sessions/README.md @@ -23,10 +23,7 @@ This will retrieve the "Now Playing" Information of the PMS. using PlexAPI; using PlexAPI.Models.Components; -var sdk = new PlexAPISDK( - security: new Models.Components.Security() { - AccessToken = "", - }); +var sdk = new PlexAPISDK(AccessToken: ""); var res = await sdk.Sessions.GetSessionsAsync(); @@ -49,10 +46,7 @@ This will Retrieve a listing of all history views. using PlexAPI; using PlexAPI.Models.Components; -var sdk = new PlexAPISDK( - security: new Models.Components.Security() { - AccessToken = "", - }); +var sdk = new PlexAPISDK(AccessToken: ""); var res = await sdk.Sessions.GetSessionHistoryAsync(); @@ -75,10 +69,7 @@ Get Transcode Sessions using PlexAPI; using PlexAPI.Models.Components; -var sdk = new PlexAPISDK( - security: new Models.Components.Security() { - AccessToken = "", - }); +var sdk = new PlexAPISDK(AccessToken: ""); var res = await sdk.Sessions.GetTranscodeSessionsAsync(); @@ -102,12 +93,9 @@ using PlexAPI; using PlexAPI.Models.Components; using PlexAPI.Models.Requests; -var sdk = new PlexAPISDK( - security: new Models.Components.Security() { - AccessToken = "", - }); +var sdk = new PlexAPISDK(AccessToken: ""); -var res = await sdk.Sessions.StopTranscodeSessionAsync(SessionKey: "zz7llzqlx8w9vnrsbnwhbmep"); +var res = await sdk.Sessions.StopTranscodeSessionAsync(sessionKey: "zz7llzqlx8w9vnrsbnwhbmep"); // handle response ``` diff --git a/docs/sdks/statistics/README.md b/docs/sdks/statistics/README.md new file mode 100644 index 0000000..9477c4f --- /dev/null +++ b/docs/sdks/statistics/README.md @@ -0,0 +1,41 @@ +# Statistics +(*Statistics*) + +## Overview + +API Calls that perform operations with Plex Media Server Statistics + + +### Available Operations + +* [GetStatistics](#getstatistics) - Get Media Statistics + +## GetStatistics + +This will return the media statistics for the server + +### Example Usage + +```csharp +using PlexAPI; +using PlexAPI.Models.Components; +using PlexAPI.Models.Requests; + +var sdk = new PlexAPISDK(AccessToken: ""); + +var res = await sdk.Statistics.GetStatisticsAsync(timespan: 411769); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | +| `Timespan` | *long* | :heavy_minus_sign: | The timespan to retrieve statistics for
the exact meaning of this parameter is not known
| + + +### Response + +**[GetStatisticsResponse](../../Models/Requests/GetStatisticsResponse.md)** + diff --git a/docs/sdks/updater/README.md b/docs/sdks/updater/README.md index c07d360..8f3c2f7 100644 --- a/docs/sdks/updater/README.md +++ b/docs/sdks/updater/README.md @@ -23,10 +23,7 @@ Querying status of updates using PlexAPI; using PlexAPI.Models.Components; -var sdk = new PlexAPISDK( - security: new Models.Components.Security() { - AccessToken = "", - }); +var sdk = new PlexAPISDK(AccessToken: ""); var res = await sdk.Updater.GetUpdateStatusAsync(); @@ -50,12 +47,9 @@ using PlexAPI; using PlexAPI.Models.Components; using PlexAPI.Models.Requests; -var sdk = new PlexAPISDK( - security: new Models.Components.Security() { - AccessToken = "", - }); +var sdk = new PlexAPISDK(AccessToken: ""); -var res = await sdk.Updater.CheckForUpdatesAsync(Download: Download.One); +var res = await sdk.Updater.CheckForUpdatesAsync(download: Download.One); // handle response ``` @@ -84,12 +78,11 @@ using PlexAPI; using PlexAPI.Models.Components; using PlexAPI.Models.Requests; -var sdk = new PlexAPISDK( - security: new Models.Components.Security() { - AccessToken = "", - }); +var sdk = new PlexAPISDK(AccessToken: ""); -var res = await sdk.Updater.ApplyUpdatesAsync(Tonight: Tonight.One, Skip: Skip.Zero); +var res = await sdk.Updater.ApplyUpdatesAsync( + tonight: Tonight.One, + skip: Skip.Zero); // handle response ``` diff --git a/docs/sdks/video/README.md b/docs/sdks/video/README.md index ee982be..b1b56e6 100644 --- a/docs/sdks/video/README.md +++ b/docs/sdks/video/README.md @@ -8,49 +8,8 @@ API Calls that perform operations with Plex Media Server Videos ### Available Operations -* [StartUniversalTranscode](#startuniversaltranscode) - Start Universal Transcode * [GetTimeline](#gettimeline) - Get the timeline for a media item - -## StartUniversalTranscode - -Begin a Universal Transcode Session - -### Example Usage - -```csharp -using PlexAPI; -using PlexAPI.Models.Components; -using PlexAPI.Models.Requests; - -var sdk = new PlexAPISDK( - security: new Models.Components.Security() { - AccessToken = "", - }); - -StartUniversalTranscodeRequest req = new StartUniversalTranscodeRequest() { - HasMDE = 8924.99D, - Path = "/etc/mail", - MediaIndex = 9962.95D, - PartIndex = 1232.82D, - Protocol = "string", -}; - -var res = await sdk.Video.StartUniversalTranscodeAsync(req); - -// handle response -``` - -### Parameters - -| Parameter | Type | Required | Description | -| ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | -| `request` | [StartUniversalTranscodeRequest](../../Models/Requests/StartUniversalTranscodeRequest.md) | :heavy_check_mark: | The request object to use for the request. | - - -### Response - -**[StartUniversalTranscodeResponse](../../Models/Requests/StartUniversalTranscodeResponse.md)** - +* [StartUniversalTranscode](#startuniversaltranscode) - Start Universal Transcode ## GetTimeline @@ -63,10 +22,7 @@ using PlexAPI; using PlexAPI.Models.Components; using PlexAPI.Models.Requests; -var sdk = new PlexAPISDK( - security: new Models.Components.Security() { - AccessToken = "", - }); +var sdk = new PlexAPISDK(AccessToken: ""); GetTimelineRequest req = new GetTimelineRequest() { RatingKey = 716.56D, @@ -75,7 +31,7 @@ GetTimelineRequest req = new GetTimelineRequest() { HasMDE = 7574.33D, Time = 3327.51D, Duration = 7585.39D, - Context = "string", + Context = "", PlayQueueItemID = 1406.21D, PlayBackTime = 2699.34D, Row = 3536.42D, @@ -97,3 +53,41 @@ var res = await sdk.Video.GetTimelineAsync(req); **[GetTimelineResponse](../../Models/Requests/GetTimelineResponse.md)** + +## StartUniversalTranscode + +Begin a Universal Transcode Session + +### Example Usage + +```csharp +using PlexAPI; +using PlexAPI.Models.Components; +using PlexAPI.Models.Requests; + +var sdk = new PlexAPISDK(AccessToken: ""); + +StartUniversalTranscodeRequest req = new StartUniversalTranscodeRequest() { + HasMDE = 8924.99D, + Path = "/etc/mail", + MediaIndex = 9962.95D, + PartIndex = 1232.82D, + Protocol = "", +}; + +var res = await sdk.Video.StartUniversalTranscodeAsync(req); + +// handle response +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | +| `request` | [StartUniversalTranscodeRequest](../../Models/Requests/StartUniversalTranscodeRequest.md) | :heavy_check_mark: | The request object to use for the request. | + + +### Response + +**[StartUniversalTranscodeResponse](../../Models/Requests/StartUniversalTranscodeResponse.md)** + diff --git a/global.json b/global.json new file mode 100644 index 0000000..93a30d0 --- /dev/null +++ b/global.json @@ -0,0 +1,6 @@ +{ + "sdk": { + "version": "5.0.0", + "rollForward": "latestMinor" + } +}