//------------------------------------------------------------------------------
//
// 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.Models.Requests;
using LukeHagar.PlexAPI.SDK.Utils;
public class CreatePlayQueueRequest
{
///
/// 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; }
///
/// The content URI for what we're playing.
///
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=uri")]
public string? Uri { get; set; }
///
/// the ID of the playlist we're playing.
///
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=playlistID")]
public long? PlaylistID { get; set; }
///
/// The type of play queue to create
///
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=type")]
public Models.Requests.Type Type { get; set; } = default!;
///
/// The key of the first item to play, defaults to the first in the play queue.
///
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=key")]
public string? Key { get; set; }
///
/// Whether to shuffle the playlist, defaults to 0.
///
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=shuffle")]
public BoolInt? Shuffle { get; set; } = LukeHagar.PlexAPI.SDK.Models.Components.BoolInt.False;
///
/// If the PQ is bigger than the window, fill any empty space with wraparound items, defaults to 0.
///
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=repeat")]
public BoolInt? Repeat { get; set; } = LukeHagar.PlexAPI.SDK.Models.Components.BoolInt.False;
///
/// Whether to create a continuous play queue (e.g. from an episode), defaults to 0.
///
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=continuous")]
public BoolInt? Continuous { get; set; } = LukeHagar.PlexAPI.SDK.Models.Components.BoolInt.False;
///
/// Number of trailers to prepend a movie with not including the pre-roll. If omitted the pre-roll will not be returned in the play queue. When resuming a movie `extrasPrefixCount` should be omitted as a parameter instead of passing 0.
///
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=extrasPrefixCount")]
public long? ExtrasPrefixCount { get; set; }
///
/// Only applies to queues of type photo, whether to retrieve all descendent photos from an album or section, defaults to 1.
///
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=recursive")]
public BoolInt? Recursive { get; set; } = LukeHagar.PlexAPI.SDK.Models.Components.BoolInt.False;
///
/// Only applies to queues of type show or seasons, whether to return a queue that is started on the On Deck episode if one exists. Otherwise begins the play queue on the beginning of the show or season.
///
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=onDeck")]
public BoolInt? OnDeck { get; set; } = LukeHagar.PlexAPI.SDK.Models.Components.BoolInt.False;
}
}