|
@@ -0,0 +1,50 @@
|
|
|
+using System;
|
|
|
+using System.ComponentModel.DataAnnotations;
|
|
|
+using System.ComponentModel.DataAnnotations.Schema;
|
|
|
+
|
|
|
+namespace Jellyfin.Data.Entities.Security
|
|
|
+{
|
|
|
+ /// <summary>
|
|
|
+ /// An entity representing an API key.
|
|
|
+ /// </summary>
|
|
|
+ public class ApiKey
|
|
|
+ {
|
|
|
+ /// <summary>
|
|
|
+ /// Initializes a new instance of the <see cref="ApiKey"/> class.
|
|
|
+ /// </summary>
|
|
|
+ /// <param name="name">The name.</param>
|
|
|
+ public ApiKey(string name)
|
|
|
+ {
|
|
|
+ Name = name;
|
|
|
+
|
|
|
+ AccessToken = Guid.NewGuid();
|
|
|
+ DateCreated = DateTime.UtcNow;
|
|
|
+ }
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ /// Gets the id.
|
|
|
+ /// </summary>
|
|
|
+ /// <remarks>
|
|
|
+ /// Identity, Indexed, Required.
|
|
|
+ /// </remarks>
|
|
|
+ [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
|
|
|
+ public int Id { get; private set; }
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ /// Gets the date created.
|
|
|
+ /// </summary>
|
|
|
+ public DateTime DateCreated { get; private set; }
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ /// Gets or sets the name.
|
|
|
+ /// </summary>
|
|
|
+ [MaxLength(64)]
|
|
|
+ [StringLength(64)]
|
|
|
+ public string Name { get; set; }
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ /// Gets or sets the access token.
|
|
|
+ /// </summary>
|
|
|
+ public Guid AccessToken { get; set; }
|
|
|
+ }
|
|
|
+}
|