Added Authentication with user-auth and apikey-auth
This commit is contained in:
35
watcher-monitoring/Models/ApiKey.cs
Normal file
35
watcher-monitoring/Models/ApiKey.cs
Normal file
@@ -0,0 +1,35 @@
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
|
||||
namespace watcher_monitoring.Models;
|
||||
|
||||
public class ApiKey
|
||||
{
|
||||
[Key]
|
||||
public int Id { get; set; }
|
||||
|
||||
[Required]
|
||||
[MaxLength(64)]
|
||||
public string Key { get; set; } = string.Empty;
|
||||
|
||||
[Required]
|
||||
[MaxLength(100)]
|
||||
public string Name { get; set; } = string.Empty;
|
||||
|
||||
public string? Description { get; set; }
|
||||
|
||||
public DateTime CreatedAt { get; set; } = DateTime.UtcNow;
|
||||
|
||||
public DateTime? ExpiresAt { get; set; }
|
||||
|
||||
public DateTime? LastUsedAt { get; set; }
|
||||
|
||||
public bool IsActive { get; set; } = true;
|
||||
|
||||
public bool IsExpired => ExpiresAt.HasValue && ExpiresAt.Value < DateTime.UtcNow;
|
||||
|
||||
// Foreign Key: Jeder API-Key gehört zu einem User
|
||||
public int UserId { get; set; }
|
||||
|
||||
// Navigation Property
|
||||
public User User { get; set; } = null!;
|
||||
}
|
||||
Reference in New Issue
Block a user