Webiant Logo Webiant Logo
  1. No results found.

    Try your search with a different keyword or use * as a wildcard.

IGdprService.cs

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
}