using Tiku.Domain.Tenancy;

namespace Tiku.Application.Tenancy;

public sealed record TenantDirectoryEntry(
    Guid TenantId,
    string TenantCode,
    string Name,
    TenantStatus Status,
    TenantMode Mode,
    string? Host);

public interface ITenantDirectory
{
    Task<TenantDirectoryEntry?> FindByHostAsync(
        string host,
        CancellationToken cancellationToken = default);

    Task<TenantDirectoryEntry?> FindByCodeAsync(
        string tenantCode,
        CancellationToken cancellationToken = default);
}