| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107 | 
							- using System;
 
- using System.ComponentModel.DataAnnotations;
 
- using System.ComponentModel.DataAnnotations.Schema;
 
- using System.Globalization;
 
- namespace Jellyfin.Data.Entities.Security
 
- {
 
-     /// <summary>
 
-     /// An entity representing a device.
 
-     /// </summary>
 
-     public class Device
 
-     {
 
-         /// <summary>
 
-         /// Initializes a new instance of the <see cref="Device"/> class.
 
-         /// </summary>
 
-         /// <param name="userId">The user id.</param>
 
-         /// <param name="appName">The app name.</param>
 
-         /// <param name="appVersion">The app version.</param>
 
-         /// <param name="deviceName">The device name.</param>
 
-         /// <param name="deviceId">The device id.</param>
 
-         public Device(Guid userId, string appName, string appVersion, string deviceName, string deviceId)
 
-         {
 
-             UserId = userId;
 
-             AppName = appName;
 
-             AppVersion = appVersion;
 
-             DeviceName = deviceName;
 
-             DeviceId = deviceId;
 
-             AccessToken = Guid.NewGuid().ToString("N", CultureInfo.InvariantCulture);
 
-             DateCreated = DateTime.UtcNow;
 
-             DateModified = DateCreated;
 
-             DateLastActivity = DateCreated;
 
-             // Non-nullable for EF Core, as this is a required relationship.
 
-             User = null!;
 
-         }
 
-         /// <summary>
 
-         /// Gets the id.
 
-         /// </summary>
 
-         [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
 
-         public int Id { get; private set; }
 
-         /// <summary>
 
-         /// Gets the user id.
 
-         /// </summary>
 
-         public Guid UserId { get; private set; }
 
-         /// <summary>
 
-         /// Gets or sets the access token.
 
-         /// </summary>
 
-         public string AccessToken { get; set; }
 
-         /// <summary>
 
-         /// Gets or sets the app name.
 
-         /// </summary>
 
-         [MaxLength(64)]
 
-         [StringLength(64)]
 
-         public string AppName { get; set; }
 
-         /// <summary>
 
-         /// Gets or sets the app version.
 
-         /// </summary>
 
-         [MaxLength(32)]
 
-         [StringLength(32)]
 
-         public string AppVersion { get; set; }
 
-         /// <summary>
 
-         /// Gets or sets the device name.
 
-         /// </summary>
 
-         [MaxLength(64)]
 
-         [StringLength(64)]
 
-         public string DeviceName { get; set; }
 
-         /// <summary>
 
-         /// Gets or sets the device id.
 
-         /// </summary>
 
-         [MaxLength(256)]
 
-         [StringLength(256)]
 
-         public string DeviceId { get; set; }
 
-         /// <summary>
 
-         /// Gets or sets a value indicating whether this device is active.
 
-         /// </summary>
 
-         public bool IsActive { get; set; }
 
-         /// <summary>
 
-         /// Gets or sets the date created.
 
-         /// </summary>
 
-         public DateTime DateCreated { get; set; }
 
-         /// <summary>
 
-         /// Gets or sets the date modified.
 
-         /// </summary>
 
-         public DateTime DateModified { get; set; }
 
-         /// <summary>
 
-         /// Gets or sets the date of last activity.
 
-         /// </summary>
 
-         public DateTime DateLastActivity { get; set; }
 
-         /// <summary>
 
-         /// Gets the user.
 
-         /// </summary>
 
-         public User User { get; private set; }
 
-     }
 
- }
 
 
  |