Class SqlServerE2eConnectionResolution
- Namespace
- ItTiger.TigerQuery.Core
- Assembly
- ItTiger.TigerQuery.Core.dll
The result of resolving a TigerQuery E2E bootstrap connection profile: a
Status, the Profile when — and only when — one was
authorized, and diagnostics for a developer fixing their setup.
public sealed class SqlServerE2eConnectionResolution
- Inheritance
-
SqlServerE2eConnectionResolution
- Inherited Members
Remarks
Only Resolved carries a Profile. Every other status carries none, so code that reaches for the profile without checking the status gets a null reference rather than an unauthorized connection.
Errors and CandidateNames exist to be printed. They contain profile names, metadata keys, and validation messages, and never a password, a connection string, or any other credential material.
Properties
CandidateNames
Gets the names of the store's E2E- and bootstrap-authorized profiles, in store
order, as a hint about what could have been meant. Empty on
Resolved.
public IReadOnlyList<string> CandidateNames { get; init; }
Property Value
Remarks
A diagnostic, never a menu the resolver picks from: listing candidates is exactly
what makes it visible that TigerQuery declined to choose among them.
Errors
Gets the user-facing reasons the resolution did not produce a profile, in English.
Empty on Resolved.
public IReadOnlyList<string> Errors { get; init; }
Property Value
Remarks
Core carries no resources. A localizing host composes its own text from
Status and the names it already knows, and uses these as the neutral
fallback.
Profile
Gets the authorized bootstrap profile, or null for every status other than
Resolved.
public SqlServerConnectionProfile? Profile { get; init; }
Property Value
Remarks
A detached copy loaded from the store, exactly as
Find(string) would return it. Nothing has been
connected to; turning it into a connection is a separate, explicit step.
RequestedName
Gets the profile name that selection was attempted with, or null when neither the
caller nor the host supplied one.
public string? RequestedName { get; init; }
Property Value
Remarks
Reported so a diagnostic can say which name was looked up, which is the
difference between "you have no bootstrap connection" and "your host default names
a profile you never created".
Status
Gets the resolution outcome. Required.
public required SqlServerE2eResolutionStatus Status { get; init; }