using System.Collections.Generic;
using System.Text.Json;

namespace Ablera.Serdica.Authentication.Models.Oidc;

public abstract record ConnectionSettingsBase
{
    public required string[] GrantTypes { get; set; }

    public required string ClientId { get; init; }

    public string? ClientSecret { get; init; }
    public required string ClientType { get; init; } = "public";

    public required string DisplayName { get; init; }

    public string[]? RedirectUris { get; init; }

    public string[]? PostLogoutRedirectUris { get; init; }

    public Dictionary<string, JsonElement>? Properties { get; init; }
}
