Class SubscriptionOperationEndpoint

java.lang.Object
com.broadleafcommerce.subscriptionoperation.web.endpoint.SubscriptionOperationEndpoint

@FrameworkRestController @FrameworkMapping("/subscription-ops") public class SubscriptionOperationEndpoint extends Object
  • Field Details

  • Constructor Details

  • Method Details

    • readAllUserOwnedSubscriptions

      @FrameworkGetMapping(params={"userRefType","userRef"}) @Policy(permissionRoots="SYSTEM_SUBSCRIPTION") public org.springframework.data.domain.Page<SubscriptionWithItems> readAllUserOwnedSubscriptions(@RequestParam("userRefType") String userRefType, @RequestParam("userRef") String userRef, @RequestParam(value="getActions",required=false,defaultValue="false") boolean getActions, @PageableDefault(sort="tracking.basicAudit.creationTime",direction=DESC) org.springframework.data.domain.Pageable page, cz.jirutka.rsql.parser.ast.Node filters, @ContextOperation(READ) com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
    • readSubscriptionById

      @FrameworkGetMapping("/{subscriptionId}") @Policy(permissionRoots="SYSTEM_SUBSCRIPTION") public SubscriptionWithItems readSubscriptionById(@PathVariable("subscriptionId") String subscriptionId, @RequestHeader(value="X-SANDBOX-AWARE",required=false,defaultValue="false") boolean isSandboxAware, @RequestHeader(value="X-SANDBOX-IGNORE-DELETE-FILTERING",required=false,defaultValue="false") boolean ignoreDeleteFiltering, @ContextOperation(READ) com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
    • createSubscription

      @FrameworkPostMapping @Policy(permissionRoots="SYSTEM_SUBSCRIPTION", operationTypes=CREATE) public SubscriptionWithItems createSubscription(@RequestBody SubscriptionCreationRequest subscriptionCreationRequest, @ContextOperation(CREATE) com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
    • createSubscriptionFromOrder

      @FrameworkPostMapping(params="fromOrder=true") @Policy(permissionRoots="SYSTEM_SUBSCRIPTION", operationTypes=CREATE) public List<SubscriptionWithItems> createSubscriptionFromOrder(@RequestBody CreateSubscriptionFromOrderRequest createSubscriptionFromOrderRequest, @ContextOperation(CREATE) com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
    • updateSubscriptionStatus

      @FrameworkPatchMapping(value="/{subscriptionId}/updateStatus", consumes="application/json") @Policy(permissionRoots="SYSTEM_SUBSCRIPTION", operationTypes=UPDATE) public SubscriptionWithItems updateSubscriptionStatus(@PathVariable("subscriptionId") String subscriptionId, @RequestHeader(value="X-SANDBOX-AWARE",required=false,defaultValue="false") boolean isSandboxAware, @RequestBody UpdateSubscriptionStatusRequest request, @ContextOperation(UPDATE) com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
    • replaceSubscriptionWithItems

      @FrameworkPutMapping(value="/{subscriptionId}", consumes="application/json") @Policy(permissionRoots="SYSTEM_SUBSCRIPTION", operationTypes=UPDATE) public SubscriptionWithItems replaceSubscriptionWithItems(@PathVariable("subscriptionId") String subscriptionId, @RequestHeader(value="X-SANDBOX-AWARE",required=false,defaultValue="false") boolean isSandboxAware, @RequestBody SubscriptionWithItems subscriptionWithItems, @ContextOperation(UPDATE) com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
    • modifySubscription

      @FrameworkPostMapping(value="/{subscriptionId}/modifications", consumes="application/json") @Policy(permissionRoots="SYSTEM_SUBSCRIPTION", operationTypes=UPDATE) public ModifySubscriptionResponse modifySubscription(@PathVariable("subscriptionId") String subscriptionId, @RequestBody ModifySubscriptionRequest request, @ContextOperation(UPDATE) com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
    • readUserSubscriptionSummary

      @FrameworkGetMapping(value="/summary", params={"userRefType","userRef"}) @Policy(permissionRoots="SYSTEM_SUBSCRIPTION") public UserSubscriptionSummary readUserSubscriptionSummary(@RequestParam("userRefType") String userRefType, @RequestParam("userRef") String userRef, @ContextOperation(READ) com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
    • lockSubscription

      @FrameworkPostMapping("/locks/{subscriptionId}") @Policy(permissionRoots="SYSTEM_SUBSCRIPTION", operationTypes=CREATE) public LockStatus lockSubscription(@PathVariable("subscriptionId") String subscriptionId, @RequestParam(value="reservationList",required=false) List<String> reservations)
      Attempt to create a lock on a subscription. While a subscription is locked, no other changes can be made to the subscription.
      Parameters:
      subscriptionId - The subscription to lock
      reservations - The number of reservations (i.e. child locks) to make on the subscription
      Returns:
      The status of the lock request
    • clearLock

      @FrameworkDeleteMapping("/locks/{subscriptionId}") @Policy(permissionRoots="SYSTEM_SUBSCRIPTION", operationTypes=DELETE) public LockStatus clearLock(@PathVariable("subscriptionId") String subscriptionId, @RequestParam(value="isRevert",required=false,defaultValue="true") boolean isRevert)
      Forcefully clear a lock on a subscription. This will release all child locks as well.
      Parameters:
      subscriptionId - The subscription to unlock
      Returns:
      The status of the lock request
    • unlockToken

      @FrameworkDeleteMapping("/locks/{subscriptionId}/tokens/{token}") @Policy(permissionRoots="SYSTEM_SUBSCRIPTION", operationTypes=DELETE) public LockStatus unlockToken(@PathVariable("subscriptionId") String subscriptionId, @PathVariable("token") String token, @RequestParam(value="propagate",required=false,defaultValue="false") boolean propagate)
      Unlock a child lock on a subscription. If the child lock is the last lock on the subscription, the subscription will be unlocked as well.
      Parameters:
      subscriptionId - The subscription to unlock
      token - The token of the child lock to unlock
      Returns:
      The status of the lock request
    • createToken

      @FrameworkPostMapping("/locks/{subscriptionId}/tokens") @Policy(permissionRoots="SYSTEM_SUBSCRIPTION", operationTypes=CREATE) public LockStatus createToken(@RequestParam(value="childIdentifier",required=false) String childIdentifier, @PathVariable("subscriptionId") String subscriptionId)
      Create a child lock on a subscription.
      Parameters:
      subscriptionId - The subscription identifier
      Returns:
      The status of the lock request
    • addAdjustmentToSubscription

      @FrameworkPostMapping(value="/{subscriptionId}/adjustments", consumes="application/json") @Policy(permissionRoots="SYSTEM_SUBSCRIPTION", operationTypes=UPDATE) public org.springframework.http.ResponseEntity<Void> addAdjustmentToSubscription(@PathVariable("subscriptionId") String subscriptionId, @RequestBody AddAdjustmentRequest request, @ContextOperation(UPDATE) com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
    • updatePriceData

      @FrameworkPostMapping(value="/pricing", consumes="application/json") @Policy(permissionRoots="PRICE_LIST", operationTypes=UPDATE) public org.springframework.http.ResponseEntity<Void> updatePriceData(@RequestParam("priceDataId") String priceDataId, @RequestBody PriceChangeRequest priceChangeRequest, @ContextOperation(UPDATE) com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
    • getSubscriptionOperationService

      protected SubscriptionOperationService<SubscriptionWithItems> getSubscriptionOperationService()
    • getUserSubscriptionSummaryService

      protected UserSubscriptionSummaryService<UserSubscriptionSummary,SubscriptionWithItems> getUserSubscriptionSummaryService()