using Elsa.Caching; namespace Elsa.Http.Contracts; /// /// Represents a service that caches HTTP workflows and triggers. /// public interface IHttpWorkflowsCacheManager { /// /// Gets the cache manager. /// public ICacheManager Cache { get; } /// /// Evicts a cached entry by its definition ID. /// Task EvictWorkflowAsync(string workflowDefinitionId, CancellationToken cancellationToken = default); /// /// Evicts a cached entry by its bookmark hash. /// Task EvictTriggerAsync(string bookmarkHash, CancellationToken cancellationToken = default); /// /// Gets the key for a workflow change token. /// string GetWorkflowChangeTokenKey(string workflowDefinitionId); /// /// Gets the key for a trigger change token. /// string GetTriggerChangeTokenKey(string bookmarkHash); /// /// Compute the bookmark hash for a given path and method combination. /// string ComputeBookmarkHash(string path, string method); }