namespace Finch.Raven; public class InterceptorParameters { /// /// The current finch context /// public IFinchContext Context { get; set; } /// /// Raven document store /// public IFinchStore Store { get; set; } /// /// Access to other interceptor methods /// public IInterceptors Interceptors { get; internal set; } /// /// Access to operations /// public IRavenOperations Operations { get; internal set; } /// /// Parameters from the interceptor which ran on before the operation (only available for completed operations) /// public Dictionary Properties { get; set; } = new(); /// /// Get a typed property /// public TProp Property(string key) => Properties.GetValueOrDefault(key); /// /// Get a typed property /// public bool TryGetProperty(string key, out TProp property) => Properties.TryGetValue(key, out property); /// /// Holds a reference to the previously existing model when an update happens (can be null) /// public object PreviousModel { get; set; } }