//------------------------------------------------------------------------------ // // This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. // // Changes to this file may cause incorrect behavior and will be lost when // the code is regenerated. // //------------------------------------------------------------------------------ #nullable enable namespace LukeHagar.PlexAPI.SDK.Models.Requests { using LukeHagar.PlexAPI.SDK.Models.Components; using LukeHagar.PlexAPI.SDK.Utils; public class GetCommonRequest { /// /// Indicates the client accepts the indicated media types /// [SpeakeasyMetadata("header:style=simple,explode=false,name=accepts")] public Accepts? Accepts { get; set; } = LukeHagar.PlexAPI.SDK.Models.Components.Accepts.ApplicationXml; /// /// An opaque identifier unique to the client /// [SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Client-Identifier")] public string? ClientIdentifier { get; set; } /// /// The name of the client product /// [SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Product")] public string? Product { get; set; } /// /// The version of the client application /// [SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Version")] public string? Version { get; set; } /// /// The platform of the client /// [SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Platform")] public string? Platform { get; set; } /// /// The version of the platform /// [SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Platform-Version")] public string? PlatformVersion { get; set; } /// /// A relatively friendly name for the client device /// [SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Device")] public string? Device { get; set; } /// /// A potentially less friendly identifier for the device model /// [SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Model")] public string? Model { get; set; } /// /// The device vendor /// [SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Device-Vendor")] public string? DeviceVendor { get; set; } /// /// A friendly name for the client /// [SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Device-Name")] public string? DeviceName { get; set; } /// /// The marketplace on which the client application is distributed /// [SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Marketplace")] public string? Marketplace { get; set; } /// /// Section identifier /// [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=sectionId")] public long SectionId { get; set; } = default!; /// /// Item type /// [SpeakeasyMetadata("queryParam:style=form,explode=true,name=type")] public long? Type { get; set; } /// /// A querystring-based filtering language used to select subsets of media. Can be provided as an object with typed properties for type safety, or as a string for complex queries with operators and boolean logic.
/// /// ///
/// The query supports:
/// - Fields: integer, boolean, tag, string, date, language
/// - Operators: =, !=, ==, !==, <=, >=, >>=, <<= (varies by field type)
/// - Boolean operators: & (AND), , (OR), push/pop (parentheses), or=1 (explicit OR)
/// - Sorting: sort parameter with :desc, :nullsLast modifiers
/// - Grouping: group parameter
/// - Limits: limit parameter
///
/// Examples:
/// - Object format: `{type: 4, sourceType: 2, title: "24"}` → `type=4&sourceType=2&title=24`
/// - String format: `type=4&sourceType=2&title==24` - type = 4 AND sourceType = 2 AND title = "24"
/// - Complex: `push=1&index=1&or=1&rating=2&pop=1&duration=10` - (index = 1 OR rating = 2) AND duration = 10
///
/// See API Info section for detailed information on building media queries.
/// ///
///
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=mediaQuery")] public MediaQuery? MediaQuery { get; set; } } }