DNV.Veracity.Services.Api.Directory
1.5.2
dotnet add package DNV.Veracity.Services.Api.Directory --version 1.5.2
NuGet\Install-Package DNV.Veracity.Services.Api.Directory -Version 1.5.2
<PackageReference Include="DNV.Veracity.Services.Api.Directory" Version="1.5.2" />
paket add DNV.Veracity.Services.Api.Directory --version 1.5.2
#r "nuget: DNV.Veracity.Services.Api.Directory, 1.5.2"
// Install DNV.Veracity.Services.Api.Directory as a Cake Addin #addin nuget:?package=DNV.Veracity.Services.Api.Directory&version=1.5.2 // Install DNV.Veracity.Services.Api.Directory as a Cake Tool #tool nuget:?package=DNV.Veracity.Services.Api.Directory&version=1.5.2
Veracity - My Services API v3 - Directory Client
Provides an async .NET client for the Directory
view point in Veracity My Services API v3.
Allows fetching and updating resources without a focus on a specifc user or service resource.
Resources
- Companies
- Services
- Users
Example
With the nuget package installed, services for each resource may be individually configured, injected and requested inside your solution.
1. Configuration
To configure a resource service, introduce configuration in the form of OAuthHttpClientOptions
:
appsettings.json
The
Directory
view point only supports Client Credential Flow.
{
"OAuthHttpClients": [
...
{
"Name": "company-directory",
"Flow": "ClientCredentials",
"BaseUri": <BaseUri>,
"SubscriptionKey": <SubscriptionKey>,
"OAuthClientOptions": {
"Authority": <Authority>,
"ClientId": <ClientId>,
"ClientSecret": <ClientSecret>,
"Scopes": [ <Scope> ],
}
}
...
]
}
2. Registration
Register the service or services using extensions methods available from the DNV.Veracity.Services.Api.Directory.Extensions
namespace.
startup.cs
Packages from
DNV.Veracity.Service.Api
are dependent on the DNV.OAuth.Api.HttpClient package, therefore the HttpClientFactory should also be injected.
public void ConfigureServices(IServiceCollection services)
{
...
services.AddOAuthHttpClientFactory(Congiuration.GetSection("OAuthHttpClients").Get<IEnumerable<OAuthHttpClientOptions>>());
...
services.AddCompanyDirectory("company-directory")
...
}
3. Request service
Request the service from the constructor by its interface:
ExampleController.cs
public class ExampleController : Controller
{
...
private readonly ICompanyDirectory _companyDirectory;
...
public ExampleController(ICompanyDirectory companyDirectory)
{
...
_companyDirectory = companyDirectory ?? throw new ArgumentNullException(nameof(companyDirectory));
...
}
...
public async Task<IActionResult> FetchCompany(string companyId)
{
return Json(await _companyDirectory.Get(companyId));
}
...
}
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
-
net6.0
- DNV.Veracity.Services.Api (>= 1.5.2)
- DNV.Veracity.Services.Api.Directory.Abstractions (>= 1.5.2)
-
net8.0
- DNV.Veracity.Services.Api (>= 1.5.2)
- DNV.Veracity.Services.Api.Directory.Abstractions (>= 1.5.2)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.