Files
idoklad/Client/IdokladApiAccessor.cs
T
2026-06-12 13:18:35 +02:00

24 lines
751 B
C#

using IdokladSdk;
using Idoklad.Credentials;
namespace Idoklad.Client;
/// <summary>
/// Scoped accessor that resolves the credentials for the current request and lazily builds a
/// single <see cref="DokladApi"/> shared by all services handling that request.
/// </summary>
public sealed class IdokladApiAccessor
{
private readonly RequestCredentialsProvider _credentialsProvider;
private readonly DokladApiFactory _factory;
private DokladApi? _api;
public IdokladApiAccessor(RequestCredentialsProvider credentialsProvider, DokladApiFactory factory)
{
_credentialsProvider = credentialsProvider;
_factory = factory;
}
public DokladApi Api => _api ??= _factory.Create(_credentialsProvider.Resolve());
}