namespace Fengling.Console.Models.Dtos; public record CreateOAuthClientDto { public string ClientId { get; init; } = string.Empty; public string? ClientSecret { get; init; } public string DisplayName { get; init; } = string.Empty; public string[]? RedirectUris { get; init; } public string[]? PostLogoutRedirectUris { get; init; } public string[]? Scopes { get; init; } public string[]? GrantTypes { get; init; } public string? ClientType { get; init; } public string? ConsentType { get; init; } public string? Status { get; init; } public string? Description { get; init; } } public record UpdateOAuthClientDto { public string? DisplayName { get; init; } public string[]? RedirectUris { get; init; } public string[]? PostLogoutRedirectUris { get; init; } public string[]? Scopes { get; init; } public string[]? GrantTypes { get; init; } public string? ClientType { get; init; } public string? ConsentType { get; init; } public string? Status { get; init; } public string? Description { get; init; } } public record OAuthClientDto { public long Id { get; init; } public string ClientId { get; init; } = string.Empty; public string? ClientSecret { get; init; } public string DisplayName { get; init; } = string.Empty; public string[] RedirectUris { get; init; } = Array.Empty(); public string[] PostLogoutRedirectUris { get; init; } = Array.Empty(); public string[] Scopes { get; init; } = Array.Empty(); public string[] GrantTypes { get; init; } = Array.Empty(); public string ClientType { get; init; } = "public"; public string ConsentType { get; init; } = "implicit"; public string Status { get; init; } = "active"; public string? Description { get; init; } public DateTime CreatedAt { get; init; } public DateTime? UpdatedAt { get; init; } }