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