using Nop.Core; using Nop.Core.Domain.Customers; using Nop.Core.Domain.Gdpr; namespace Nop.Services.Gdpr; /// /// Represents the GDPR service interface /// public partial interface IGdprService { #region GDPR consent /// /// Get a GDPR consent /// /// The GDPR consent identifier /// /// A task that represents the asynchronous operation /// The task result contains the gDPR consent /// Task GetConsentByIdAsync(int gdprConsentId); /// /// Get all GDPR consents /// /// /// A task that represents the asynchronous operation /// The task result contains the gDPR consent /// Task> GetAllConsentsAsync(); /// /// Insert a GDPR consent /// /// GDPR consent /// A task that represents the asynchronous operation Task InsertConsentAsync(GdprConsent gdprConsent); /// /// Update the GDPR consent /// /// GDPR consent /// A task that represents the asynchronous operation Task UpdateConsentAsync(GdprConsent gdprConsent); /// /// Delete a GDPR consent /// /// GDPR consent /// A task that represents the asynchronous operation Task DeleteConsentAsync(GdprConsent gdprConsent); /// /// Gets the latest selected value (a consent is accepted or not by a customer) /// /// Consent identifier /// Customer identifier /// /// A task that represents the asynchronous operation /// The task result contains the result; null if previous a customer hasn't been asked /// Task IsConsentAcceptedAsync(int consentId, int customerId); #endregion #region GDPR log /// /// Get all GDPR log records /// /// Customer identifier /// Consent identifier /// Customer info (Exact match) /// GDPR request type /// Page index /// Page size /// /// A task that represents the asynchronous operation /// The task result contains the gDPR log records /// Task> GetAllLogAsync(int customerId = 0, int consentId = 0, string customerInfo = "", GdprRequestType? requestType = null, int pageIndex = 0, int pageSize = int.MaxValue); /// /// Insert a GDPR log /// /// Customer /// Consent identifier /// Request type /// Request details /// A task that represents the asynchronous operation Task InsertLogAsync(Customer customer, int consentId, GdprRequestType requestType, string requestDetails); #endregion #region Customer /// /// Permanent delete of customer /// /// Customer /// A task that represents the asynchronous operation Task PermanentDeleteCustomerAsync(Customer customer); #endregion }