Class TransitionRequestEndpoint
java.lang.Object
com.broadleafcommerce.sandbox.web.endpoint.TransitionRequestEndpoint
@FrameworkRestController
@FrameworkMapping("/transitions")
@DataRouteByExample(ChangeSummary.class)
public class TransitionRequestEndpoint
extends Object
API for managing sandbox workflow operations.
- Author:
- Jeff Fischer
-
Constructor Summary
ConstructorsConstructorDescriptionTransitionRequestEndpoint
(TransitionRequestManager manager, ChangeSummaryService<ChangeSummary> changeSummaryService, ChangeSummaryGroupService<ChangeSummaryGroup> changeSummaryGroupService, ChangeDeployService<ChangeDeploy> changeDeployService, EndpointValidation endpointValidation) -
Method Summary
Modifier and TypeMethodDescriptionvoid
approve
(jakarta.servlet.http.HttpServletRequest request, com.broadleafcommerce.data.tracking.core.context.ContextInfo context, ChangeSummaryGroups req, String sandbox) void
approveDeploy
(com.broadleafcommerce.data.tracking.core.context.ContextInfo context, ChangeSummaryGroups req, String sandbox) void
deploy
(jakarta.servlet.http.HttpServletRequest request, com.broadleafcommerce.data.tracking.core.context.ContextInfo context, ChangeSummaryGroups req, String sandbox) org.springframework.http.ResponseEntity<ApiQualifiedStateError>
handleChangeSummariesNotFoundException
(ChangeSummariesNotFoundException ex, org.springframework.web.context.request.WebRequest request) org.springframework.http.ResponseEntity<com.broadleafcommerce.common.error.ApiError>
handleChangeSummaryRemovalException
(Exception ex, org.springframework.web.context.request.WebRequest request) org.springframework.http.ResponseEntity<ApiDivergentChangeError>
handleDivergedChangeException
(DivergedChangeException ex, org.springframework.web.context.request.WebRequest request) org.springframework.http.ResponseEntity<ApiQualifiedStateError>
handleQualifiedStateException
(QualifiedStateException ex, org.springframework.web.context.request.WebRequest request) protected boolean
Whether or not vendor processing is enabled.protected void
protected void
void
promote
(jakarta.servlet.http.HttpServletRequest request, com.broadleafcommerce.data.tracking.core.context.ContextInfo context, PromoteSummaries req, String sandbox) void
promoteAndDeploy
(jakarta.servlet.http.HttpServletRequest request, com.broadleafcommerce.data.tracking.core.context.ContextInfo context, PromoteSummaries req, String sandbox) org.springframework.data.domain.Page<ChangeDeploy>
readAllDeploys
(jakarta.servlet.http.HttpServletRequest request, com.broadleafcommerce.data.tracking.core.context.ContextInfo context, cz.jirutka.rsql.parser.ast.Node filters, org.springframework.data.domain.Pageable page, String state, String sandbox) org.springframework.data.domain.Page<ChangeSummaryGroup>
readAllGroups
(jakarta.servlet.http.HttpServletRequest request, com.broadleafcommerce.data.tracking.core.context.ContextInfo context, cz.jirutka.rsql.parser.ast.Node filters, org.springframework.data.domain.Pageable page, String state, String sandbox) org.springframework.data.domain.Page<ChangeSummaryGroup>
readAllGroupsForUser
(jakarta.servlet.http.HttpServletRequest request, com.broadleafcommerce.data.tracking.core.context.ContextInfo context, cz.jirutka.rsql.parser.ast.Node filters, org.springframework.data.domain.Pageable page, String state, String sandbox) readAllInfos
(jakarta.servlet.http.HttpServletRequest request, com.broadleafcommerce.data.tracking.core.context.ContextInfo context, ChangeInfoRequest changeInfoRequest) org.springframework.data.domain.Page<ChangeSummary>
readAllSummaries
(jakarta.servlet.http.HttpServletRequest request, com.broadleafcommerce.data.tracking.core.context.ContextInfo context, cz.jirutka.rsql.parser.ast.Node filters, org.springframework.data.domain.Pageable page, String sandbox, String[] statuses) readGroupById
(jakarta.servlet.http.HttpServletRequest request, com.broadleafcommerce.data.tracking.core.context.ContextInfo context, String id) readSummaryById
(jakarta.servlet.http.HttpServletRequest request, com.broadleafcommerce.data.tracking.core.context.ContextInfo context, String id) void
rebase
(jakarta.servlet.http.HttpServletRequest request, com.broadleafcommerce.data.tracking.core.context.ContextInfo context, ChangeSummaries req, String sandbox) void
reject
(jakarta.servlet.http.HttpServletRequest request, com.broadleafcommerce.data.tracking.core.context.ContextInfo context, ChangeSummaryGroups req, String sandbox) void
rejectApproved
(jakarta.servlet.http.HttpServletRequest request, com.broadleafcommerce.data.tracking.core.context.ContextInfo context, ChangeSummaryGroups req, String sandbox) void
rejectPromoted
(jakarta.servlet.http.HttpServletRequest request, com.broadleafcommerce.data.tracking.core.context.ContextInfo context, ChangeSummaryGroups req, String sandbox) removeSummariesFromGroup
(jakarta.servlet.http.HttpServletRequest request, com.broadleafcommerce.data.tracking.core.context.ContextInfo context, ChangeSummaryRemovalRequest changeSummaryRemovalRequest) void
revert
(jakarta.servlet.http.HttpServletRequest request, com.broadleafcommerce.data.tracking.core.context.ContextInfo context, ChangeSummaries req, String sandbox) void
scheduleDeploy
(jakarta.servlet.http.HttpServletRequest request, com.broadleafcommerce.data.tracking.core.context.ContextInfo context, ChangeSummaryGroups req, String sandbox, Instant deployTime) void
setVendorProcessingEnabled
(boolean vendorProcessingEnabled) Whether or not vendor processing is enabled.void
unscheduleDeploy
(String changeDeployId, com.broadleafcommerce.data.tracking.core.context.ContextInfo context)
-
Constructor Details
-
TransitionRequestEndpoint
public TransitionRequestEndpoint(TransitionRequestManager manager, ChangeSummaryService<ChangeSummary> changeSummaryService, ChangeSummaryGroupService<ChangeSummaryGroup> changeSummaryGroupService, ChangeDeployService<ChangeDeploy> changeDeployService, EndpointValidation endpointValidation)
-
-
Method Details
-
approve
@FrameworkPostMapping(value="/approve", consumes="application/json") @Policy(permissionRoots="APPROVAL_WORKFLOW") public void approve(jakarta.servlet.http.HttpServletRequest request, @ContextOperation(UPDATE) com.broadleafcommerce.data.tracking.core.context.ContextInfo context, @RequestBody ChangeSummaryGroups req, @RequestParam String sandbox) -
approveDeploy
@FrameworkPostMapping(value="/approve-deploy", consumes="application/json") @Policy(permissionRoots={"DEPLOYMENT_WORKFLOW","APPROVAL_WORKFLOW"}, permissionMatchingStrategy=ALL) public void approveDeploy(@ContextOperation(UPDATE) com.broadleafcommerce.data.tracking.core.context.ContextInfo context, @RequestBody ChangeSummaryGroups req, @RequestParam String sandbox) -
scheduleDeploy
@FrameworkPostMapping(value="/deploy", consumes="application/json", params="deployTime") @Policy(permissionRoots="DEPLOYMENT_WORKFLOW") public void scheduleDeploy(jakarta.servlet.http.HttpServletRequest request, @ContextOperation(UPDATE) com.broadleafcommerce.data.tracking.core.context.ContextInfo context, @RequestBody ChangeSummaryGroups req, @RequestParam String sandbox, @RequestParam @DateTimeFormat(iso=DATE_TIME) Instant deployTime) -
unscheduleDeploy
@FrameworkPostMapping("/deploy/{id}/unschedule") @Policy(permissionRoots="DEPLOYMENT_WORKFLOW") public void unscheduleDeploy(@PathVariable("id") String changeDeployId, @ContextOperation(UPDATE) com.broadleafcommerce.data.tracking.core.context.ContextInfo context) -
deploy
@FrameworkPostMapping(value="/deploy", consumes="application/json") @Policy(permissionRoots="DEPLOYMENT_WORKFLOW") public void deploy(jakarta.servlet.http.HttpServletRequest request, @ContextOperation(UPDATE) com.broadleafcommerce.data.tracking.core.context.ContextInfo context, @RequestBody ChangeSummaryGroups req, @RequestParam String sandbox) -
promote
@FrameworkPostMapping(value="/promote", consumes="application/json") @Policy(permissionRoots="USER_WORKFLOW") public void promote(jakarta.servlet.http.HttpServletRequest request, @ContextOperation(UPDATE) com.broadleafcommerce.data.tracking.core.context.ContextInfo context, @RequestBody PromoteSummaries req, @RequestParam String sandbox) -
promoteAndDeploy
@FrameworkPostMapping(value="/promote-deploy", consumes="application/json") @Policy(permissionRoots={"USER_WORKFLOW","APPROVAL_WORKFLOW","DEPLOYMENT_WORKFLOW"}, permissionMatchingStrategy=ALL) public void promoteAndDeploy(jakarta.servlet.http.HttpServletRequest request, @ContextOperation(UPDATE) com.broadleafcommerce.data.tracking.core.context.ContextInfo context, @RequestBody PromoteSummaries req, @RequestParam String sandbox) -
rebase
@FrameworkPostMapping(value="/rebase", consumes="application/json") @Policy(permissionRoots="USER_WORKFLOW") public void rebase(jakarta.servlet.http.HttpServletRequest request, @ContextOperation(UPDATE) com.broadleafcommerce.data.tracking.core.context.ContextInfo context, @RequestBody ChangeSummaries req, @RequestParam String sandbox) -
reject
@FrameworkPostMapping(value="/reject", consumes="application/json") @Policy(permissionRoots="APPROVAL_WORKFLOW") public void reject(jakarta.servlet.http.HttpServletRequest request, @ContextOperation(UPDATE) com.broadleafcommerce.data.tracking.core.context.ContextInfo context, @RequestBody ChangeSummaryGroups req, @RequestParam String sandbox) -
rejectPromoted
@FrameworkPostMapping(value="/reject-promoted", consumes="application/json") @Policy(permissionRoots="APPROVAL_WORKFLOW") public void rejectPromoted(jakarta.servlet.http.HttpServletRequest request, @ContextOperation(UPDATE) com.broadleafcommerce.data.tracking.core.context.ContextInfo context, @RequestBody ChangeSummaryGroups req, @RequestParam String sandbox) -
rejectApproved
@FrameworkPostMapping(value="/reject-approved", consumes="application/json") @Policy(permissionRoots="APPROVAL_WORKFLOW") public void rejectApproved(jakarta.servlet.http.HttpServletRequest request, @ContextOperation(UPDATE) com.broadleafcommerce.data.tracking.core.context.ContextInfo context, @RequestBody ChangeSummaryGroups req, @RequestParam String sandbox) -
revert
@FrameworkPostMapping(value="/revert", consumes="application/json") @Policy(permissionRoots="USER_WORKFLOW") public void revert(jakarta.servlet.http.HttpServletRequest request, @ContextOperation(UPDATE) com.broadleafcommerce.data.tracking.core.context.ContextInfo context, @RequestBody ChangeSummaries req, @RequestParam String sandbox) -
readAllSummaries
@FrameworkGetMapping("/change-summaries") @Policy(permissionRoots={"USER_WORKFLOW","APPROVAL_WORKFLOW","DEPLOYMENT_WORKFLOW"}) public org.springframework.data.domain.Page<ChangeSummary> readAllSummaries(jakarta.servlet.http.HttpServletRequest request, @ContextOperation com.broadleafcommerce.data.tracking.core.context.ContextInfo context, cz.jirutka.rsql.parser.ast.Node filters, @PageableDefault(size=50) org.springframework.data.domain.Pageable page, @RequestParam String sandbox, @RequestParam(name="status",required=false) String[] statuses) -
readSummaryById
@FrameworkGetMapping("/change-summaries/{id}") @Policy(permissionRoots={"USER_WORKFLOW","APPROVAL_WORKFLOW","DEPLOYMENT_WORKFLOW"}) public ChangeSummary readSummaryById(jakarta.servlet.http.HttpServletRequest request, @ContextOperation com.broadleafcommerce.data.tracking.core.context.ContextInfo context, @PathVariable("id") String id) -
readAllGroupsForUser
@FrameworkGetMapping("/user-summary-groups") @Policy(permissionRoots={"USER_WORKFLOW","APPROVAL_WORKFLOW","DEPLOYMENT_WORKFLOW"}) public org.springframework.data.domain.Page<ChangeSummaryGroup> readAllGroupsForUser(jakarta.servlet.http.HttpServletRequest request, @ContextOperation com.broadleafcommerce.data.tracking.core.context.ContextInfo context, cz.jirutka.rsql.parser.ast.Node filters, @PageableDefault(size=50) org.springframework.data.domain.Pageable page, @RequestParam String state, @RequestParam String sandbox) -
readGroupById
@FrameworkGetMapping("/summary-groups/{id}") @Policy(permissionRoots={"APPROVAL_WORKFLOW","DEPLOYMENT_WORKFLOW"}) public ChangeSummaryGroup readGroupById(jakarta.servlet.http.HttpServletRequest request, @ContextOperation com.broadleafcommerce.data.tracking.core.context.ContextInfo context, @PathVariable("id") String id) -
readAllGroups
@FrameworkGetMapping("/summary-groups") @Policy(permissionRoots={"APPROVAL_WORKFLOW","DEPLOYMENT_WORKFLOW"}) public org.springframework.data.domain.Page<ChangeSummaryGroup> readAllGroups(jakarta.servlet.http.HttpServletRequest request, @ContextOperation com.broadleafcommerce.data.tracking.core.context.ContextInfo context, cz.jirutka.rsql.parser.ast.Node filters, @PageableDefault(size=50) org.springframework.data.domain.Pageable page, @RequestParam String state, @RequestParam String sandbox) -
readAllDeploys
@FrameworkGetMapping("/change-deploys") @Policy(permissionRoots="DEPLOYMENT_WORKFLOW") public org.springframework.data.domain.Page<ChangeDeploy> readAllDeploys(jakarta.servlet.http.HttpServletRequest request, @ContextOperation com.broadleafcommerce.data.tracking.core.context.ContextInfo context, cz.jirutka.rsql.parser.ast.Node filters, @PageableDefault(size=50) org.springframework.data.domain.Pageable page, @RequestParam String state, @RequestParam String sandbox) -
readAllInfos
@FrameworkGetMapping("/change-infos") @Policy(permissionRoots={"USER_WORKFLOW","APPROVAL_WORKFLOW","DEPLOYMENT_WORKFLOW"}) public ChangeInfoResponse readAllInfos(jakarta.servlet.http.HttpServletRequest request, @ContextOperation com.broadleafcommerce.data.tracking.core.context.ContextInfo context, ChangeInfoRequest changeInfoRequest) -
removeSummariesFromGroup
@FrameworkPostMapping(value="/remove-summaries", consumes="application/json") @Policy(permissionRoots="APPROVAL_WORKFLOW") public ChangeSummaryRemovalResponse removeSummariesFromGroup(jakarta.servlet.http.HttpServletRequest request, @ContextOperation(UPDATE) com.broadleafcommerce.data.tracking.core.context.ContextInfo context, @RequestBody ChangeSummaryRemovalRequest changeSummaryRemovalRequest) -
handleDivergedChangeException
@ExceptionHandler(DivergedChangeException.class) public org.springframework.http.ResponseEntity<ApiDivergentChangeError> handleDivergedChangeException(DivergedChangeException ex, org.springframework.web.context.request.WebRequest request) -
handleChangeSummariesNotFoundException
@ExceptionHandler(ChangeSummariesNotFoundException.class) public org.springframework.http.ResponseEntity<ApiQualifiedStateError> handleChangeSummariesNotFoundException(ChangeSummariesNotFoundException ex, org.springframework.web.context.request.WebRequest request) -
handleQualifiedStateException
@ExceptionHandler(QualifiedStateException.class) public org.springframework.http.ResponseEntity<ApiQualifiedStateError> handleQualifiedStateException(QualifiedStateException ex, org.springframework.web.context.request.WebRequest request) -
handleChangeSummaryRemovalException
@ExceptionHandler(ChangeSummaryRemovalException.class) public org.springframework.http.ResponseEntity<com.broadleafcommerce.common.error.ApiError> handleChangeSummaryRemovalException(Exception ex, org.springframework.web.context.request.WebRequest request) -
logDebug
-
logError
-
isVendorProcessingEnabled
protected boolean isVendorProcessingEnabled()Whether or not vendor processing is enabled. This will determine whether vendor narrowing is used for operations. -
setVendorProcessingEnabled
@Autowired public void setVendorProcessingEnabled(@Value("${broadleaf.sandbox.propagation.enabled:false}") boolean vendorProcessingEnabled) Whether or not vendor processing is enabled. This will determine whether vendor narrowing is used for operations.
-