Skip to content

SAIF.NetCore.DBConnectionClient dependencies

SAIF.NetCore.DBConnectionClient depends only on the foundation SAIF.NetCore.ServiceContracts package for its interfaces and exception base type, carries no third-party packages in the shipped assembly, and makes its own outbound HTTP calls to a remote DBConnectionAPI service through the injected IHttpJsonClient contract at caller request time.

Internal dependencies

Dependency Reference Type Usage
SAIF.NetCore.ServiceContracts NuGet Package (same-repo) Implements IDBConnectionClient; consumes IHttpJsonClient, IHttpRequestResult, and IEnvironmentClient interfaces, and extends SAIFException for DBClientException.

External dependencies

None in the shipped library. The test project references coverlet.collector, Microsoft.NET.Test.Sdk, NSubstitute, xunit, and xunit.runner.visualstudio, none of which ship with the package.

API dependencies

Endpoint Method Called from Source library Reached via Usage
/{SqlConnectionEndpoint}/{server}/{instance}/{userName} (relative to DBConnectionClient:ServiceUrl) GET ConnectionClient.GetSqlServerConnection → RetrieveConnectionString This library — Retrieves a formatted SQL Server connection string from the DBConnectionAPI.
/{PostgreSqlConnectionEndpoint}/{instance}/{userName} (relative to DBConnectionClient:ServiceUrl) GET ConnectionClient.GetPostgreSqlServerConnection → RetrieveConnectionString This library — Retrieves a formatted PostgreSQL connection string from the DBConnectionAPI; the server segment is not sent to the API.
/{OracleConnectionEndpoint}/{instance}/{userName} (relative to DBConnectionClient:ServiceUrl) GET ConnectionClient.GetOracleConnection → RetrieveConnectionString This library — Retrieves a formatted Oracle connection string from the DBConnectionAPI.

All three calls are issued directly by ConnectionClient through the injected IHttpJsonClient.GetAsync(string) (ServiceContracts contract); the target DBConnectionAPI is an NTLM-authenticated external HTTP service and is not part of this repository.

Dependency risks and notes

  • IHttpJsonClient and IEnvironmentClient are consumed only as ServiceContracts interfaces; the library does not reference SAIF.NetCore.HttpClients or SAIF.NetCore.EnvironmentClient directly, so the concrete implementations and their behavior are determined entirely by what the consuming application registers*.
  • IHttpJsonClient is documented as intended for transient use, but a singleton ConnectionClient captures a single injected instance for the process lifetime, combined with stored NTLM credential state set via SetupClientCredentials; confirm the registered SAIF.NetCore.HttpClients implementation is safe for this usage pattern*.
  • The DBConnectionAPI service URL and the three endpoint path segments are resolved from environment configuration at runtime and are not present in this repository, so the exact external endpoints cannot be verified from source alone**.

Note: Statements marked with * were inferred from code structure, naming conventions, or contextual evidence where direct confirmation was not available in source artifacts. Statements marked with ** could not be confirmed; treat as unknown until verified.

Sources

  • src/SAIF.NetCore.DbConnectionClient/SAIF.NetCore.DBConnectionClient/SAIF.NetCore.DBConnectionClient/SAIF.NetCore.DBConnectionClient.csproj
  • src/SAIF.NetCore.DbConnectionClient/SAIF.NetCore.DBConnectionClient/SAIF.NetCore.DBConnectionClient/ConnectionClient.cs
  • src/SAIF.NetCore.ServiceContracts/SAIF.NetCore.ServiceContracts/SAIF.NetCore.ServiceContracts/IDBConnectionClient.cs, IHttpJsonClient.cs, IHttpRequestResult.cs, IEnvironmentClient.cs