DNV.Veracity.Services.Api.Directory 1.5.0

There is a newer version of this package available.
See the version list below for details.
dotnet add package DNV.Veracity.Services.Api.Directory --version 1.5.0                
NuGet\Install-Package DNV.Veracity.Services.Api.Directory -Version 1.5.0                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="DNV.Veracity.Services.Api.Directory" Version="1.5.0" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add DNV.Veracity.Services.Api.Directory --version 1.5.0                
#r "nuget: DNV.Veracity.Services.Api.Directory, 1.5.0"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install DNV.Veracity.Services.Api.Directory as a Cake Addin
#addin nuget:?package=DNV.Veracity.Services.Api.Directory&version=1.5.0

// Install DNV.Veracity.Services.Api.Directory as a Cake Tool
#tool nuget:?package=DNV.Veracity.Services.Api.Directory&version=1.5.0                

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 Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  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 was computed.  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. 
.NET Core netcoreapp3.1 is compatible. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
1.5.2 1,455 9/27/2024
1.5.1 2,547 7/22/2024
1.5.0 2,688 5/13/2024
1.4.2 6,699 12/6/2023
1.4.1 157 11/9/2023
1.4.0 146 10/24/2023
1.3.3 623 6/20/2023
1.3.2 169 6/20/2023
1.3.1 162 6/20/2023
1.3.0 183 6/8/2023