Introduced a new `CacheController` to manage cached data for receiver signatures using distributed caching. Added endpoints to save, retrieve, and delete cached signatures. Created a `SignatureCacheRequest` model for caching payloads and a `CacheOptions` class to configure cache settings, including optional expiration. Updated `Program.cs` to bind `CacheOptions` to the `Cache` section in `appsettings.json`. Added a new `Cache` section in `appsettings.json` with a `SignatureCacheExpiration` property, defaulting to `null` (no expiration).
19 lines
497 B
C#
19 lines
497 B
C#
namespace EnvelopeGenerator.API.Options;
|
|
|
|
/// <summary>
|
|
/// Configuration options for distributed caching.
|
|
/// </summary>
|
|
public sealed class CacheOptions
|
|
{
|
|
/// <summary>
|
|
/// Configuration section name in appsettings.json.
|
|
/// </summary>
|
|
public const string SectionName = "Cache";
|
|
|
|
/// <summary>
|
|
/// Signature cache expiration time.
|
|
/// If null, signatures will not expire automatically.
|
|
/// </summary>
|
|
public TimeSpan? SignatureCacheExpiration { get; set; }
|
|
}
|