using System.Collections.Generic; using Umbraco.Core.Models.Entities; namespace Umbraco.Core.Models { /// /// Represents a consent state. /// /// /// A consent is fully identified by a source (whoever is consenting), a context (for /// example, an application), and an action (whatever is consented). /// A consent state registers the state of the consent (granted, revoked...). /// public interface IConsent : IEntity, IRememberBeingDirty { /// /// Determines whether the consent entity represents the current state. /// bool Current { get; } /// /// Gets the unique identifier of whoever is consenting. /// string Source { get; } /// /// Gets the unique identifier of the context of the consent. /// /// /// Represents the domain, application, scope... of the action. /// When the action is a Udi, this should be the Udi type. /// string Context { get; } /// /// Gets the unique identifier of the consented action. /// string Action { get; } /// /// Gets the state of the consent. /// ConsentState State { get; } /// /// Gets some additional free text. /// string Comment { get; } /// /// Gets the previous states of this consent. /// IEnumerable History { get; } } }