fengling-console/Models/Dtos/OAuthClientDto.cs

48 lines
1.9 KiB
C#

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<string>();
public string[] PostLogoutRedirectUris { get; init; } = Array.Empty<string>();
public string[] Scopes { get; init; } = Array.Empty<string>();
public string[] GrantTypes { get; init; } = Array.Empty<string>();
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; }
}