Class OfferOptInEndpoint
java.lang.Object
com.broadleafcommerce.promotion.offer.web.endpoint.OfferOptInEndpoint
@FrameworkRestController
@FrameworkMapping("/offer-opt-ins")
@DataRouteByExample(OfferOptIn.class)
public class OfferOptInEndpoint
extends Object
Engage processing and handling of OfferOptIn domain
-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionOfferOptInEndpoint(OfferOptInService<OfferOptIn> service, OfferService<Offer> offerService, OfferOptInRepository<com.broadleafcommerce.data.tracking.core.Trackable> repository, com.broadleafcommerce.data.tracking.core.policy.trackable.TrackablePolicyUtils policyUtils) -
Method Summary
Modifier and TypeMethodDescriptionvoiddeleteOfferOptIn(jakarta.servlet.http.HttpServletRequest request, com.broadleafcommerce.data.tracking.core.context.ContextInfo context, String id) Soft delete a OfferOptIn instance.fetchOffers(List<String> offerIds, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) protected OfferService<Offer>protected com.broadleafcommerce.data.tracking.core.policy.trackable.TrackablePolicyUtilsprotected OfferOptInRepository<com.broadleafcommerce.data.tracking.core.Trackable>protected OfferOptInService<OfferOptIn>protected OfferOptInhydrate(OfferOptIn optIn, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) org.springframework.data.domain.Page<OfferOptIn>readAllMixes(jakarta.servlet.http.HttpServletRequest request, com.broadleafcommerce.data.tracking.core.context.ContextInfo context, String query, org.springframework.data.domain.Pageable page, cz.jirutka.rsql.parser.ast.Node filters) Read all Offers via a direct query against the Offer domain.org.springframework.data.domain.Page<OfferOptIn>readAllOfferOptIns(jakarta.servlet.http.HttpServletRequest request, com.broadleafcommerce.data.tracking.core.context.ContextInfo context, org.springframework.data.domain.Pageable page, cz.jirutka.rsql.parser.ast.Node filters) Retrieve All OfferOptIn domain via a direct query against that domain, yielding paged results.readOfferOptInById(jakarta.servlet.http.HttpServletRequest request, com.broadleafcommerce.data.tracking.core.context.ContextInfo context, String id) Read an OfferOptIn instance if available.replaceOfferOptIn(jakarta.servlet.http.HttpServletRequest request, com.broadleafcommerce.data.tracking.core.context.ContextInfo context, String id, OfferOptIn req) Either update an existing OfferOptIn instance, or create a new one.voidsetParser(com.broadleafcommerce.data.tracking.core.filtering.fetch.FilterParser<cz.jirutka.rsql.parser.ast.Node> parser) updateOfferOptIn(jakarta.servlet.http.HttpServletRequest request, com.broadleafcommerce.data.tracking.core.context.ContextInfo context, String id, OfferOptIn req) Either update an existing OfferOptIn instance, or create a new one.protected voidvalidate(com.broadleafcommerce.data.tracking.core.context.ContextInfo context, OfferOptIn req) Review whether or not a OfferOptIn update is allowed based on the context of the related offer.
-
Field Details
-
BASE_URI
- See Also:
-
-
Constructor Details
-
OfferOptInEndpoint
public OfferOptInEndpoint(OfferOptInService<OfferOptIn> service, OfferService<Offer> offerService, OfferOptInRepository<com.broadleafcommerce.data.tracking.core.Trackable> repository, com.broadleafcommerce.data.tracking.core.policy.trackable.TrackablePolicyUtils policyUtils)
-
-
Method Details
-
readAllOfferOptIns
@FrameworkGetMapping @Policy(permissionRoots="OFFER") public org.springframework.data.domain.Page<OfferOptIn> readAllOfferOptIns(jakarta.servlet.http.HttpServletRequest request, @ContextOperation(READ) com.broadleafcommerce.data.tracking.core.context.ContextInfo context, @PageableDefault(size=50) org.springframework.data.domain.Pageable page, cz.jirutka.rsql.parser.ast.Node filters) Retrieve All OfferOptIn domain via a direct query against that domain, yielding paged results. -
readAllMixes
@FrameworkGetMapping("/mix") @Policy(permissionRoots="OFFER") public org.springframework.data.domain.Page<OfferOptIn> readAllMixes(jakarta.servlet.http.HttpServletRequest request, @ContextOperation(READ) com.broadleafcommerce.data.tracking.core.context.ContextInfo context, @RequestParam(value="q",required=false) String query, @PageableDefault(size=50) org.springframework.data.domain.Pageable page, cz.jirutka.rsql.parser.ast.Node filters) Read all Offers via a direct query against the Offer domain. Then, match any related OfferOptIn instances in the database. For unmatched offers, return a synthetic instance of OfferOptIn whose state is "unaccepted". -
readOfferOptInById
@FrameworkGetMapping("/{id}") @Policy(permissionRoots="OFFER") public OfferOptIn readOfferOptInById(jakarta.servlet.http.HttpServletRequest request, @ContextOperation(READ) com.broadleafcommerce.data.tracking.core.context.ContextInfo context, @PathVariable("id") String id) Read an OfferOptIn instance if available. If not available, return a synthetic instance. -
updateOfferOptIn
@FrameworkPatchMapping(value="/{id}", consumes="application/json") @Policy(permissionRoots="OFFER") public OfferOptIn updateOfferOptIn(jakarta.servlet.http.HttpServletRequest request, @ContextOperation(UPDATE) com.broadleafcommerce.data.tracking.core.context.ContextInfo context, @PathVariable("id") String id, @RequestBody OfferOptIn req) Either update an existing OfferOptIn instance, or create a new one. -
replaceOfferOptIn
@FrameworkPutMapping(value="/{id}", consumes="application/json") @Policy(permissionRoots="OFFER") public OfferOptIn replaceOfferOptIn(jakarta.servlet.http.HttpServletRequest request, @ContextOperation(UPDATE) com.broadleafcommerce.data.tracking.core.context.ContextInfo context, @PathVariable("id") String id, @RequestBody OfferOptIn req) Either update an existing OfferOptIn instance, or create a new one. -
deleteOfferOptIn
@FrameworkDeleteMapping("/{id}") @Policy(permissionRoots="OFFER") public void deleteOfferOptIn(jakarta.servlet.http.HttpServletRequest request, @ContextOperation(DELETE) com.broadleafcommerce.data.tracking.core.context.ContextInfo context, @PathVariable("id") String id) Soft delete a OfferOptIn instance. -
validate
protected void validate(com.broadleafcommerce.data.tracking.core.context.ContextInfo context, OfferOptIn req) Review whether or not a OfferOptIn update is allowed based on the context of the related offer. SeeOffer.getOptInStatus(). -
hydrate
protected OfferOptIn hydrate(@NonNull OfferOptIn optIn, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) -
fetchOffers
-
getService
-
getOfferService
-
getRepository
-
getPolicyUtils
protected com.broadleafcommerce.data.tracking.core.policy.trackable.TrackablePolicyUtils getPolicyUtils() -
setParser
@Autowired public void setParser(@Nullable com.broadleafcommerce.data.tracking.core.filtering.fetch.FilterParser<cz.jirutka.rsql.parser.ast.Node> parser)
-