using GB5Shared.DTO.Framework.Login;
namespace FrameworkBLL.VersionSync;
/// Result of SqlWorkbench's GET /Provisioning/GetCurrentVersion.
public class SwClientVersionRollupDTO
{
public int ClientDbId { get; set; }
public string? CurrentReleaseVersion { get; set; }
public int? ResolvedFromPackageId { get; set; }
public int? MostRecentlyAppliedPackageId { get; set; }
public bool IsVersioned { get; set; }
}
/// Subset of SqlWorkbench's ClientDatabaseDTO needed here.
public class SwClientDatabaseDTO
{
public int ClientDbId { get; set; }
public int? ServerConfigId { get; set; }
}
/// Calls SqlWorkbench's real HTTP endpoints to resolve a ClientDatabaseId's currently
/// applied version and its MSERVERCONFIG registration — never a shared assembly reference, same
/// convention as EntitlementBLL.Onboarding.ISqlWorkbenchClient (no precedent anywhere in this
/// repo for one module's BLL reaching into another module's project directly).
public interface ISqlWorkbenchVersionClient
{
Task GetCurrentVersionAsync(int clientDbId, LoginDTO swLogin, CancellationToken ct);
Task GetClientDatabaseAsync(int clientDbId, LoginDTO swLogin, CancellationToken ct);
}