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
    Modifier and Type
    Field
    Description
    static final String
     
  • Constructor Summary

    Constructors
    Constructor
    Description
    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 Summary

    Modifier and Type
    Method
    Description
    void
    deleteOfferOptIn(jakarta.servlet.http.HttpServletRequest request, com.broadleafcommerce.data.tracking.core.context.ContextInfo context, String id)
    Soft delete a OfferOptIn instance.
    protected Map<String,Offer>
    fetchOffers(List<String> offerIds, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
     
    protected OfferService<Offer>
     
    protected com.broadleafcommerce.data.tracking.core.policy.trackable.TrackablePolicyUtils
     
    protected OfferOptInRepository<com.broadleafcommerce.data.tracking.core.Trackable>
     
     
    protected OfferOptIn
    hydrate(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.
    void
    setParser(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 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.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

  • Constructor Details

  • 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. See Offer.getOptInStatus().
    • hydrate

      protected OfferOptIn hydrate(@NonNull OfferOptIn optIn, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
    • fetchOffers

      protected Map<String,Offer> fetchOffers(List<String> offerIds, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
    • getService

      protected OfferOptInService<OfferOptIn> getService()
    • getOfferService

      protected OfferService<Offer> getOfferService()
    • getRepository

      protected OfferOptInRepository<com.broadleafcommerce.data.tracking.core.Trackable> 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)