Class SubscriptionOperationEndpoint
java.lang.Object
com.broadleafcommerce.subscriptionoperation.web.endpoint.SubscriptionOperationEndpoint
@FrameworkRestController
@FrameworkMapping("/subscription-ops")
public class SubscriptionOperationEndpoint
extends Object
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final Stringprotected final SubscriptionOperationService<SubscriptionWithItems>protected final UserSubscriptionSummaryService<UserSubscriptionSummary,SubscriptionWithItems> -
Constructor Summary
ConstructorsConstructorDescriptionSubscriptionOperationEndpoint(SubscriptionOperationService<SubscriptionWithItems> subscriptionOperationService, UserSubscriptionSummaryService<UserSubscriptionSummary, SubscriptionWithItems> userSubscriptionSummaryService) -
Method Summary
Modifier and TypeMethodDescriptionorg.springframework.http.ResponseEntity<Void>addAdjustmentToSubscription(String subscriptionId, AddAdjustmentRequest request, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Forcefully clear a lock on a subscription.createSubscription(SubscriptionCreationRequest subscriptionCreationRequest, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) createSubscriptionFromOrder(CreateSubscriptionFromOrderRequest createSubscriptionFromOrderRequest, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) createToken(String childIdentifier, String subscriptionId) Create a child lock on a subscription.lockSubscription(String subscriptionId, List<String> reservations) Attempt to create a lock on a subscription.modifySubscription(String subscriptionId, ModifySubscriptionRequest request, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) org.springframework.data.domain.Page<SubscriptionWithItems>readAllUserOwnedSubscriptions(String userRefType, String userRef, boolean getActions, org.springframework.data.domain.Pageable page, cz.jirutka.rsql.parser.ast.Node filters, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) readSubscriptionById(String subscriptionId, boolean isSandboxAware, boolean ignoreDeleteFiltering, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) readUserSubscriptionSummary(String userRefType, String userRef, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) replaceSubscriptionWithItems(String subscriptionId, boolean isSandboxAware, SubscriptionWithItems subscriptionWithItems, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) unlockToken(String subscriptionId, String token, boolean propagate) Unlock a child lock on a subscription.org.springframework.http.ResponseEntity<Void>updatePriceData(String priceDataId, PriceChangeRequest priceChangeRequest, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) updateSubscriptionStatus(String subscriptionId, boolean isSandboxAware, UpdateSubscriptionStatusRequest request, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
-
Field Details
-
BASE_URI
- See Also:
-
subscriptionOperationService
-
userSubscriptionSummaryService
protected final UserSubscriptionSummaryService<UserSubscriptionSummary,SubscriptionWithItems> userSubscriptionSummaryService
-
-
Constructor Details
-
SubscriptionOperationEndpoint
public SubscriptionOperationEndpoint(SubscriptionOperationService<SubscriptionWithItems> subscriptionOperationService, UserSubscriptionSummaryService<UserSubscriptionSummary, SubscriptionWithItems> userSubscriptionSummaryService)
-
-
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 lockreservations- 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 unlocktoken- 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
-
getUserSubscriptionSummaryService
protected UserSubscriptionSummaryService<UserSubscriptionSummary,SubscriptionWithItems> getUserSubscriptionSummaryService()
-