How hinteadan/h.necessaire works
H.Necessaire is a .NET library of reusable data and operation extensions, with runtime packages for storage, security, and application integration. A representative workflow is an HTTP request routed through an ASP.NET Core controller to a storage use case and service; storage providers implement persistence, while security aggregation uses storage resources. The README also describes models, extensions, and operations, but the supplied tree and excerpts expose only part of those implementations. Relationships below are limited to indexed references and excerpted interfaces; unsampled capabilities are shown without speculative call paths.
Main entry points: ImAUserAuthInfoStorageResource.cs Auth storage contract · HsCosmosStorageService.cs Cosmos storage · RavenDbStorageResourceBase.cs Raven storage base · StorageServiceController.cs HTTP API
Components 22
Core data
- Storage contract
Src/H.Necessaire/H.Necessaire/Operations/Storage/ImAStorageService.cs - Operation results
Src/H.Necessaire/H.Necessaire/Models/OperationResult.cs - Notes and metadata
Src/H.Necessaire/H.Necessaire/Models/Note.cs - Paging and streams
Src/H.Necessaire/H.Necessaire/Models/Collections/Page.cs - Storage browsing
Src/H.Necessaire/H.Necessaire/Operations/Storage/ImAStorageBrowserService.cs - Disposable streams
Src/H.Necessaire/H.Necessaire/Operations/Concrete/DataStream.cs - Dependency provider
Src/H.Necessaire/H.Necessaire/IoC/ImADependencyProvider.cs - Logging contract
Src/H.Necessaire/H.Necessaire/Operations/Logging/ImALogger.cs
Storage providers
- Cosmos storage
Src/H.Necessaire/H.Necessaire.Runtime.Azure.CosmosDB/Core/HsCosmosStorageService.cs - Raven storage base
Src/H.Necessaire/H.Necessaire.RavenDB/Abstract/RavenDbStorageResourceBase.cs - Raven resource contract
Src/H.Necessaire/H.Necessaire.RavenDB/ImARavenDbStorageResource.cs
Identity and security
- Auth aggregator
Src/H.Necessaire/H.Necessaire.Runtime/Security/Engines/Concrete/UserAuthAggregatorEngine.cs - Auth storage contract
Src/H.Necessaire/H.Necessaire.Runtime/Security/Resources/ImAUserAuthInfoStorageResource.cs - File auth storage
Src/H.Necessaire/H.Necessaire.Runtime/Security/Resources/Concrete/UserAuthInfoFileSystemStorageResource.cs - Cosmos auth storage
Src/H.Necessaire/H.Necessaire.Runtime.Azure.CosmosDB/Security/Resources/AzureCosmosDbCachedUserAuthInfoStorageResource.cs - Firestore auth storage
Src/H.Necessaire/H.Necessaire.Runtime.Google.FirestoreDB/Security/Resources/GoogleFirestoreDbCachedUserAuthInfoStorageResource.cs - RavenDB auth storage
Src/H.Necessaire/H.Necessaire.Runtime.RavenDB/Security/Resources/RavenDbCachedUserAuthInfoStorageResource.cs - SQL auth storage
Src/H.Necessaire/H.Necessaire.Runtime.SqlServer/Security/Resources/SqlServerCachedUserAuthInfoStorageResource.cs
Application integration
- HTTP API
Src/H.Necessaire/H.Necessaire.Runtime.Integration.AspNetCore/Controllers/StorageServiceController.cs - Storage use case
Src/H.Necessaire/H.Necessaire.Runtime.Integration.AspNetCore/UseCases/StorageServiceHttpApiUseCase.cs - HTTP storage adapter
Src/H.Necessaire/H.Necessaire.Runtime.Integration.AspNetCore/XtnxForHttpApiStorageService.cs
Other components
- API consumer
Connections 15
- API consumer → HTTP API: sends request
Src/H.Necessaire/H.Necessaire.Runtime.Integration.AspNetCore/Controllers/StorageServiceController.cs - HTTP API → Storage use case: routes to
Src/H.Necessaire/H.Necessaire.Runtime.Integration.AspNetCore/Controllers/StorageServiceController.cs - HTTP API → Storage contract: resolves
Src/H.Necessaire/H.Necessaire.Runtime.Integration.AspNetCore/Controllers/StorageServiceController.cs - HTTP storage adapter → Storage contract: implements
Src/H.Necessaire/H.Necessaire.Runtime.Integration.AspNetCore/XtnxForHttpApiStorageService.cs - Auth aggregator → Auth storage contract: uses
Src/H.Necessaire/H.Necessaire.Runtime/Security/Engines/Concrete/UserAuthAggregatorEngine.cs - File auth storage → Auth storage contract: implements
Src/H.Necessaire/H.Necessaire.Runtime/Security/Resources/Concrete/UserAuthInfoFileSystemStorageResource.cs - Cosmos auth storage → Auth storage contract: implements
Src/H.Necessaire/H.Necessaire.Runtime.Azure.CosmosDB/Security/Resources/AzureCosmosDbCachedUserAuthInfoStorageResource.cs - Firestore auth storage → Auth storage contract: implements
Src/H.Necessaire/H.Necessaire.Runtime.Google.FirestoreDB/Security/Resources/GoogleFirestoreDbCachedUserAuthInfoStorageResource.cs - RavenDB auth storage → Raven storage base: extends
Src/H.Necessaire/H.Necessaire.Runtime.RavenDB/Security/Resources/RavenDbCachedUserAuthInfoStorageResource.cs - Raven storage base → Raven resource contract: implements
Src/H.Necessaire/H.Necessaire.RavenDB/Abstract/RavenDbStorageResourceBase.cs - SQL auth storage → Auth storage contract: implements
Src/H.Necessaire/H.Necessaire.Runtime.SqlServer/Security/Resources/SqlServerCachedUserAuthInfoStorageResource.cs - Cosmos storage → Operation results: returns
Src/H.Necessaire/H.Necessaire.Runtime.Azure.CosmosDB/Core/HsCosmosStorageService.cs - Cosmos storage → Paging and streams: uses
Src/H.Necessaire/H.Necessaire.Runtime.Azure.CosmosDB/Core/HsCosmosStorageService.cs - Cosmos storage → Disposable streams: uses
Src/H.Necessaire/H.Necessaire.Runtime.Azure.CosmosDB/Core/HsCosmosStorageService.cs - Raven storage base → Dependency provider: uses
Src/H.Necessaire/H.Necessaire.RavenDB/Abstract/RavenDbStorageResourceBase.cs