using System; using xModels.Base; namespace xIdentityModels.Dtos { /// /// an Specified Api Key ... /// public class XApiKeyDto : XBaseGuidIDEntityDto { /// /// Related Application Id ... /// public int ApplicationId { get; set; } /// /// Hash ... /// SHA256 of ApiKey ... /// public string KeyHash { get; set; } /// /// a Prefix ... /// public string KeyPrefix { get; set; } /// /// Expiration Type ... /// public DateTime ExpiresAt { get; set; } /// /// Cration Time ... /// public DateTime CreatedOn { get; set; } /// /// Last Usage Date ... /// public DateTime? LastUsedAt { get; set; } /// /// Revoked Time ... /// public DateTime? RevokedAt { get; set; } /// /// Revoker User Id ... /// public string RevokedBy { get; set; } /// /// a Json Array String ... /// XApiKeyScope ... /// public string AllowedScopes { get; set; } /// /// a Comma-separated List which Specified White List IP ... /// public string AllowedIPs { get; set; } /// /// Rate Limit Per Minute ... /// public int RateLimitPerMinute { get; set; } = 60; // /// /// Related Application ... /// public virtual XApplicationDto Application { get; set; } } }