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!; }