Table of Contents

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

IReadOnlyList<string>

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

IReadOnlyList<string>

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

SqlServerConnectionProfile

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

string

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; }

Property Value

SqlServerE2eResolutionStatus