using System;
using Jellyfin.Data.Entities;
namespace MediaBrowser.Controller.Net
{
    /// 
    /// The request authorization info.
    /// 
    public class AuthorizationInfo
    {
        /// 
        /// Gets the user identifier.
        /// 
        /// The user identifier.
        public Guid UserId => User?.Id ?? Guid.Empty;
        /// 
        /// Gets or sets the device identifier.
        /// 
        /// The device identifier.
        public string DeviceId { get; set; }
        /// 
        /// Gets or sets the device.
        /// 
        /// The device.
        public string Device { get; set; }
        /// 
        /// Gets or sets the client.
        /// 
        /// The client.
        public string Client { get; set; }
        /// 
        /// Gets or sets the version.
        /// 
        /// The version.
        public string Version { get; set; }
        /// 
        /// Gets or sets the token.
        /// 
        /// The token.
        public string Token { get; set; }
        /// 
        /// Gets or sets a value indicating whether the authorization is from an api key.
        /// 
        public bool IsApiKey { get; set; }
        /// 
        /// Gets or sets the user making the request.
        /// 
        public User User { get; set; }
        /// 
        /// Gets or sets a value indicating whether the token is authenticated.
        /// 
        public bool IsAuthenticated { get; set; }
    }
}