Interface CommerceConsentService
-
- All Known Implementing Classes:
DefaultCommerceConsentService
public interface CommerceConsentService
Handles activities relating toConsentModel
andConsentTemplateModel
.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description ConsentModel
getActiveConsent(CustomerModel customer, ConsentTemplateModel consentTemplate)
Finds the latest consent for the specified customer and consent template.ConsentModel
getConsent(java.lang.String consentCode)
Finds the consent for the specifiedconsentCode
ConsentTemplateModel
getConsentTemplate(java.lang.String consentTemplateId, java.lang.Integer consentTemplateVersion, BaseSiteModel baseSite)
Finds the consent template for the suppliedconsentTemplateId
,consentTemplateVersion
andbaseSite
.java.util.List<ConsentTemplateModel>
getConsentTemplates(BaseSiteModel baseSite)
Finds all the latest versions of consent templates for the givenbaseSite
.ConsentTemplateModel
getLatestConsentTemplate(java.lang.String consentTemplateId, BaseSiteModel baseSite)
Finds the latest version of aConsentTemplate
for the givenconsentTemplateId
andbaseSite
.void
giveConsent(CustomerModel customer, ConsentTemplateModel consentTemplate)
Gives consent for the specified customer and consent template.boolean
hasEffectivelyActiveConsent(CustomerModel customer, ConsentTemplateModel consentTemplate)
Checks if a customer has a consent that has not been withdrawn for the specified consent template.void
withdrawConsent(ConsentModel consent)
Withdraws consent for the specified ConsentModel by updating the consentWithdrawnDate.
1.
-
-
-
Method Detail
-
getConsentTemplates
java.util.List<ConsentTemplateModel> getConsentTemplates(BaseSiteModel baseSite)
Finds all the latest versions of consent templates for the givenbaseSite
.- Parameters:
baseSite
- the baseSite to retrieve the consent template for- Returns:
- available consent templates
-
getConsentTemplate
ConsentTemplateModel getConsentTemplate(java.lang.String consentTemplateId, java.lang.Integer consentTemplateVersion, BaseSiteModel baseSite)
Finds the consent template for the suppliedconsentTemplateId
,consentTemplateVersion
andbaseSite
.- Parameters:
consentTemplateId
- the id of the consent templateconsentTemplateVersion
- the version of the consent templatebaseSite
- the baseSite to retrieve the consent template for- Returns:
- the consent template
-
getLatestConsentTemplate
ConsentTemplateModel getLatestConsentTemplate(java.lang.String consentTemplateId, BaseSiteModel baseSite)
Finds the latest version of aConsentTemplate
for the givenconsentTemplateId
andbaseSite
.- Parameters:
consentTemplateId
- the id of the consent templatebaseSite
- the baseSite to retrieve the consent template for.- Returns:
- the consent template
-
getConsent
ConsentModel getConsent(java.lang.String consentCode)
Finds the consent for the specifiedconsentCode
- Parameters:
consentCode
- the consent code to get the consent for- Returns:
- the consent
-
getActiveConsent
ConsentModel getActiveConsent(CustomerModel customer, ConsentTemplateModel consentTemplate)
Finds the latest consent for the specified customer and consent template.- Parameters:
customer
- the customer to get the consent forconsentTemplate
- the consent template to get the consent for- Returns:
- the consent if found, otherwise null
-
hasEffectivelyActiveConsent
boolean hasEffectivelyActiveConsent(CustomerModel customer, ConsentTemplateModel consentTemplate)
Checks if a customer has a consent that has not been withdrawn for the specified consent template.- Parameters:
customer
- the customer to check the consent forconsentTemplate
- the consent template to check the consent for- Returns:
- true, if the customer has a consent that has not been withdrawn
-
giveConsent
void giveConsent(CustomerModel customer, ConsentTemplateModel consentTemplate)
Gives consent for the specified customer and consent template. Creates a newConsent
and sets the consentGivenDate.
1. Doesn't create a new consent if the consent is already given and active and throwsCommerceConsentGivenException
- Parameters:
customer
- the customer to give the consent forconsentTemplate
- the consent template to give the consent for
-
withdrawConsent
void withdrawConsent(ConsentModel consent)
Withdraws consent for the specified ConsentModel by updating the consentWithdrawnDate.
1. Doesn't withdraw the consent if its already withdrawn, i.e, IfConsent.consentWithdrawnDate
is already set calling this method will not overwrite the existing value.- Parameters:
consent
- the consent to withdraw the consent for
-
-