using System.Text.Json;

namespace Tiku.Application.Tenancy;

public sealed record PublicTenantConfiguration(
    string? BrandName,
    string? ShortName,
    string? Slogan,
    string? LogoUrl,
    string? FaviconUrl,
    string? ServiceWechat,
    string? ServiceAccountName,
    JsonElement Theme,
    JsonElement PublicAssets,
    JsonElement FeatureFlags,
    JsonElement AdminFeatureFlags,
    JsonElement PublicConfig);

public interface IPublicTenantConfigurationQuery
{
    Task<PublicTenantConfiguration> GetAsync(
        Guid tenantId,
        CancellationToken cancellationToken = default);
}