diff options
| author | Cody Robibero <cody@robibe.ro> | 2025-03-25 21:34:26 -0600 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-03-25 21:34:26 -0600 |
| commit | d848faeb75f0109b5616f1f8405fa85cf734f860 (patch) | |
| tree | 59671ffe495d438cbb9ce095f1c3f26247095291 /src/Jellyfin.Database/Jellyfin.Database.Implementations/Entities/Security/ApiKey.cs | |
| parent | 035ecbdde33ce5b71cd580ebb0c3e1df320f80c7 (diff) | |
| parent | 1b388d729682435b92cb10eba67a1170ecbfcc6c (diff) | |
Merge pull request #13589 from JPVenson/feature/DatabaseRefactor
[Feature] Database code refactor
Diffstat (limited to 'src/Jellyfin.Database/Jellyfin.Database.Implementations/Entities/Security/ApiKey.cs')
| -rw-r--r-- | src/Jellyfin.Database/Jellyfin.Database.Implementations/Entities/Security/ApiKey.cs | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/src/Jellyfin.Database/Jellyfin.Database.Implementations/Entities/Security/ApiKey.cs b/src/Jellyfin.Database/Jellyfin.Database.Implementations/Entities/Security/ApiKey.cs new file mode 100644 index 000000000..25a1d5ce9 --- /dev/null +++ b/src/Jellyfin.Database/Jellyfin.Database.Implementations/Entities/Security/ApiKey.cs @@ -0,0 +1,56 @@ +using System; +using System.ComponentModel.DataAnnotations; +using System.ComponentModel.DataAnnotations.Schema; +using System.Globalization; + +namespace Jellyfin.Database.Implementations.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().ToString("N", CultureInfo.InvariantCulture); + DateCreated = DateTime.UtcNow; + } + + /// <summary> + /// Gets the id. + /// </summary> + /// <remarks> + /// Identity, Indexed, Required. + /// </remarks> + [DatabaseGenerated(DatabaseGeneratedOption.Identity)] + public int Id { get; private set; } + + /// <summary> + /// Gets or sets the date created. + /// </summary> + public DateTime DateCreated { get; set; } + + /// <summary> + /// Gets or sets the date of last activity. + /// </summary> + public DateTime DateLastActivity { get; 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 string AccessToken { get; set; } + } +} |
