Skip to content

SAIF.Data dependencies

SAIF.Data has a single internal project reference to SAIF.Data.Guidewire for its HTTP client infrastructure, a wide surface of external NuGet packages spanning the SAIF.Framework family, NHibernate, Autofac, Polly, and JSON handling, and several referenced-but-unused packages surfaced by Stage 1 analysis (saif-data-analysis.md).

Internal dependencies

Dependency Reference Type Usage
SAIF.Data.Guidewire Project Reference Supplies the Guidewire HttpClientBase, IDataClientConfiguration/DataClientConfiguration, and the Guidewire clients registered by AddDataClients (saif-data-analysis.md Dependencies)
SAIF.Framework.Core NuGet Package IEnvironmentService, SystemType, Enforce, repository abstractions
SAIF.Framework.Common NuGet Package EntityBase<T>, CodeTableEntity<T>
SAIF.HashUtil NuGet Package SystemHashUtil.ComputeHash / Get for secure-setting lookups
SAIF.Web.API.Clients NuGet Package Referenced; no direct JsonHttpClient/ClientInfo usage was found in this library (includes the bundled SAIF.Web.API.Core assembly)*

External dependencies

Dependency Version Usage
Autofac 3.5.2 ContainerBuilderExtensions
AutoMapper 2.2.1 Referenced; no substantive usage confirmed during the scan*
FluentValidation 5.5 Referenced; no substantive usage confirmed during the scan*
log4net 2.0.5 Logging
Microsoft.Extensions.Caching.Memory / Options / DependencyInjection.Abstractions 8.0.x Memory cache and options registration
Newtonsoft.Json 8.0.3 JSON deserialization
NHibernate 4.0.3 LINQ Query() extensions over repositories
Polly / Polly.Core 8.3.1 Cache policy
Polly.Caching.Memory 3.0.2 MemoryCacheProvider
RestSharp 106.12 Referenced; no substantive usage confirmed during the scan*
System.Data.OracleClient BCL Referenced; no direct usage was found*

Dependency risks and notes

  • AutoMapper, FluentValidation, RestSharp, System.Data.OracleClient, and SAIF.Web.API.Clients are referenced but no substantive usage was confirmed during the Stage 1 scan (saif-data-analysis.md Open questions item 7)*.
  • TestRepository/** seeding helpers ship in the production NuGet package; whether that is intentional is unknown (saif-data-analysis.md Open questions item 5)**.
  • Query provider registration and lifetimes are decided outside this library, for example in DependencyMaps/*, so the effective DI graph cannot be fully verified from this repository alone (saif-data-analysis.md Architecture findings)*.
  • Credentials for HttpClientBase are decrypted using SystemHashUtil and split on | without a length check; a malformed secure setting throws IndexOutOfRangeException rather than a descriptive error (saif-data-config-analysis.md Secure settings catalog)*.
  • HttpClientBase.GetAsyncCached caches responses process-wide for a default 30 seconds with no per-user key component, so per-user data-level filtering applied downstream is not reflected in the cache (saif-data-security-analysis.md Security concerns, Medium severity)*.
  • The obsolete CCClaimApiService constructor's baseUrlOverride argument is silently ignored by the Guidewire base class; the URL always comes from cc.ccclaimdataapiurl (saif-data-config-analysis.md notes).

Sources

  • Data/SAIF.Data/SAIF.Data.csproj
  • Data/SAIF.Data/packages.config
  • Data/SAIF.Data/Configuration/ContainerBuilderExtensions.cs
  • Data/SAIF.Data/Clients/HttpClientBase.cs