namespace ScadaLink.Commons.Interfaces.Services;

/// <summary>
/// Resolves an instance unique name to its site identifier.
/// Used by Inbound API's Route.To() to determine which site to route requests to.
/// </summary>
public interface IInstanceLocator
{
    /// <summary>
    /// Resolves the site identifier for a given instance unique name.
    /// Returns null if the instance is not found.
    /// </summary>
    Task<string?> GetSiteIdForInstanceAsync(
        string instanceUniqueName,
        CancellationToken cancellationToken = default);
}
