//------------------------------------------------------------------------------
// <auto-generated>
// 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.
// </auto-generated>
//------------------------------------------------------------------------------
#nullable enable
namespace LukeHagar.PlexAPI.SDK.Models.Requests
{
    using LukeHagar.PlexAPI.SDK.Models.Requests;
    using LukeHagar.PlexAPI.SDK.Utils;
    
    public class GetSessionHistoryRequest
    {

        /// <summary>
        /// Sorts the results by the specified field followed by the direction (asc, desc)<br/>
        /// 
        /// <remarks>
        /// 
        /// </remarks>
        /// </summary>
        [SpeakeasyMetadata("queryParam:style=form,explode=true,name=sort")]
        public string? Sort { get; set; }

        /// <summary>
        /// Filter results by those that are related to a specific users id<br/>
        /// 
        /// <remarks>
        /// 
        /// </remarks>
        /// </summary>
        [SpeakeasyMetadata("queryParam:style=form,explode=true,name=accountId")]
        public long? AccountId { get; set; }

        /// <summary>
        /// Filters content by field and direction/equality<br/>
        /// 
        /// <remarks>
        /// (Unknown if viewedAt is the only supported column)<br/>
        /// 
        /// </remarks>
        /// </summary>
        [SpeakeasyMetadata("queryParam:style=form,explode=true,name=filter")]
        public QueryParamFilter? Filter { get; set; }

        /// <summary>
        /// Filters the results based on the id of a valid library section<br/>
        /// 
        /// <remarks>
        /// 
        /// </remarks>
        /// </summary>
        [SpeakeasyMetadata("queryParam:style=form,explode=true,name=librarySectionID")]
        public long? LibrarySectionID { get; set; }
    }
}