Class ReturnAuthorizationEndpoint


  • @FrameworkRestController
    @DataRouteByExample(com.broadleafcommerce.order.client.domain.ReturnAuthorization.class)
    public class ReturnAuthorizationEndpoint
    extends Object
    Endpoint for management of ReturnAuthorizations.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static String BASE_URI  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      List<com.broadleafcommerce.order.client.domain.ReturnAuthorization> bulkReplaceOrCreateReturnAuthorizations​(String orderId, List<com.broadleafcommerce.order.client.domain.ReturnAuthorization> returnAuthorization, com.broadleafcommerce.data.tracking.core.context.ContextInfo context)  
      com.broadleafcommerce.order.client.domain.ReturnAuthorization createReturnAuthorization​(com.broadleafcommerce.data.tracking.core.context.ContextInfo context, String orderId, com.broadleafcommerce.order.client.domain.ReturnAuthorization returnAuthorization)  
      void deleteReturnAuthorization​(com.broadleafcommerce.data.tracking.core.context.ContextInfo context, String orderId, String returnAuthorizationId)  
      protected void ensureOrderExists​(@NonNull String orderId, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
      Ensures that the Order exists before we manage ReturnAuthorizations in that order.
      protected void ensureOrdersExists​(@NonNull Collection<String> orderIds, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
      Ensures that the Orders exists before we manage ReturnAuthorizations in those orders.
      protected com.broadleafcommerce.order.client.domain.ReturnAuthorization ensureReturnBelongsToOrderAndReturn​(@NonNull String orderId, @NonNull String returnAuthorizationId, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
      Ensures that the ReturnAuthorization is associated with the specified order ID.
      protected OrderService<com.broadleafcommerce.order.client.domain.Order> getOrderService()  
      protected ReturnAuthorizationService<com.broadleafcommerce.order.client.domain.ReturnAuthorization> getReturnAuthorizationService()  
      org.springframework.data.domain.Page<com.broadleafcommerce.order.client.domain.ReturnAuthorization> readAllReturnAuthorizations​(com.broadleafcommerce.data.tracking.core.context.ContextInfo context, String orderId, cz.jirutka.rsql.parser.ast.Node filters, org.springframework.data.domain.Pageable page)  
      org.springframework.data.domain.Page<com.broadleafcommerce.order.client.domain.ReturnAuthorization> readAllReturnAuthorizationsForOrders​(com.broadleafcommerce.data.tracking.core.context.ContextInfo context, Set<String> orderIds, cz.jirutka.rsql.parser.ast.Node filters, org.springframework.data.domain.Pageable page)  
      com.broadleafcommerce.order.client.domain.ReturnAuthorization readReturnAuthorizationById​(com.broadleafcommerce.data.tracking.core.context.ContextInfo context, String orderId, String returnAuthorizationId)  
      com.broadleafcommerce.order.client.domain.ReturnAuthorization replaceReturnAuthorization​(String orderId, String returnAuthorizationId, com.broadleafcommerce.order.client.domain.ReturnAuthorization returnAuthorization, com.broadleafcommerce.data.tracking.core.context.ContextInfo context)  
    • Constructor Detail

      • ReturnAuthorizationEndpoint

        public ReturnAuthorizationEndpoint​(ReturnAuthorizationService<com.broadleafcommerce.order.client.domain.ReturnAuthorization> returnAuthorizationService,
                                           OrderService<com.broadleafcommerce.order.client.domain.Order> orderService)
    • Method Detail

      • readAllReturnAuthorizations

        @Policy(permissionRoots="RETURN_AUTHORIZATION")
        @FrameworkGetMapping("/orders/{orderId}/returns")
        public org.springframework.data.domain.Page<com.broadleafcommerce.order.client.domain.ReturnAuthorization> readAllReturnAuthorizations​(@ContextOperation
                                                                                                                                               com.broadleafcommerce.data.tracking.core.context.ContextInfo context,
                                                                                                                                               @PathVariable("orderId")
                                                                                                                                               String orderId,
                                                                                                                                               cz.jirutka.rsql.parser.ast.Node filters,
                                                                                                                                               @PageableDefault(size=50)
                                                                                                                                               org.springframework.data.domain.Pageable page)
      • readAllReturnAuthorizationsForOrders

        @Policy(permissionRoots="RETURN_AUTHORIZATION")
        @FrameworkGetMapping("/return-authorizations")
        public org.springframework.data.domain.Page<com.broadleafcommerce.order.client.domain.ReturnAuthorization> readAllReturnAuthorizationsForOrders​(@ContextOperation
                                                                                                                                                        com.broadleafcommerce.data.tracking.core.context.ContextInfo context,
                                                                                                                                                        @RequestParam("orderIds")
                                                                                                                                                        Set<String> orderIds,
                                                                                                                                                        cz.jirutka.rsql.parser.ast.Node filters,
                                                                                                                                                        @PageableDefault(size=50)
                                                                                                                                                        org.springframework.data.domain.Pageable page)
      • readReturnAuthorizationById

        @Policy(permissionRoots="RETURN_AUTHORIZATION")
        @FrameworkGetMapping("/orders/{orderId}/returns/{id}")
        public com.broadleafcommerce.order.client.domain.ReturnAuthorization readReturnAuthorizationById​(@ContextOperation
                                                                                                         com.broadleafcommerce.data.tracking.core.context.ContextInfo context,
                                                                                                         @PathVariable("orderId")
                                                                                                         String orderId,
                                                                                                         @PathVariable("id")
                                                                                                         String returnAuthorizationId)
      • createReturnAuthorization

        @Policy(permissionRoots="RETURN_AUTHORIZATION")
        @FrameworkPostMapping(path="/orders/{orderId}/returns",
                              consumes="application/json")
        public com.broadleafcommerce.order.client.domain.ReturnAuthorization createReturnAuthorization​(@ContextOperation(CREATE)
                                                                                                       com.broadleafcommerce.data.tracking.core.context.ContextInfo context,
                                                                                                       @PathVariable("orderId")
                                                                                                       String orderId,
                                                                                                       @RequestBody
                                                                                                       com.broadleafcommerce.order.client.domain.ReturnAuthorization returnAuthorization)
      • replaceReturnAuthorization

        @Policy(permissionRoots="RETURN_AUTHORIZATION")
        @FrameworkPutMapping("/orders/{orderId}/returns/{id}")
        public com.broadleafcommerce.order.client.domain.ReturnAuthorization replaceReturnAuthorization​(@PathVariable("orderId")
                                                                                                        String orderId,
                                                                                                        @PathVariable("id")
                                                                                                        String returnAuthorizationId,
                                                                                                        @RequestBody
                                                                                                        com.broadleafcommerce.order.client.domain.ReturnAuthorization returnAuthorization,
                                                                                                        @ContextOperation(UPDATE)
                                                                                                        com.broadleafcommerce.data.tracking.core.context.ContextInfo context)
      • deleteReturnAuthorization

        @Policy(permissionRoots="RETURN_AUTHORIZATION")
        @FrameworkDeleteMapping("/orders/{orderId}/returns/{id}")
        public void deleteReturnAuthorization​(@ContextOperation(DELETE)
                                              com.broadleafcommerce.data.tracking.core.context.ContextInfo context,
                                              @PathVariable("orderId")
                                              String orderId,
                                              @PathVariable("id")
                                              String returnAuthorizationId)
      • bulkReplaceOrCreateReturnAuthorizations

        @Policy(permissionRoots="RETURN_AUTHORIZATION")
        @FrameworkPostMapping("/orders/{orderId}/returns/bulk-replace-create")
        public List<com.broadleafcommerce.order.client.domain.ReturnAuthorization> bulkReplaceOrCreateReturnAuthorizations​(@PathVariable("orderId")
                                                                                                                           String orderId,
                                                                                                                           @RequestBody
                                                                                                                           List<com.broadleafcommerce.order.client.domain.ReturnAuthorization> returnAuthorization,
                                                                                                                           @ContextOperation(UPDATE)
                                                                                                                           com.broadleafcommerce.data.tracking.core.context.ContextInfo context)
      • ensureOrderExists

        protected void ensureOrderExists​(@NonNull
                                         @NonNull String orderId,
                                         com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
        Ensures that the Order exists before we manage ReturnAuthorizations in that order. Specifically, this is for situations where the order id is in the path.
        Parameters:
        orderId - ID of the order to check for existence
        contextInfo - context information around sandbox and multitenant state
      • ensureOrdersExists

        protected void ensureOrdersExists​(@NonNull
                                          @NonNull Collection<String> orderIds,
                                          com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
        Ensures that the Orders exists before we manage ReturnAuthorizations in those orders. This is for situations where 1 or more order ids are provided as request parameters.
        Parameters:
        orderIds - IDs of the order to check for existence
        contextInfo - context information around sandbox and multitenant state
      • ensureReturnBelongsToOrderAndReturn

        protected com.broadleafcommerce.order.client.domain.ReturnAuthorization ensureReturnBelongsToOrderAndReturn​(@NonNull
                                                                                                                    @NonNull String orderId,
                                                                                                                    @NonNull
                                                                                                                    @NonNull String returnAuthorizationId,
                                                                                                                    com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
        Ensures that the ReturnAuthorization is associated with the specified order ID. Also retrieves the return authorization.
        Parameters:
        orderId - ID of the order to check for association
        returnAuthorizationId - ID of the return authorization to check for association
        contextInfo - context information around sandbox and multitenant state
        Returns:
        the found return authorization
        Throws:
        com.broadleafcommerce.data.tracking.core.exception.EntityMissingException - if the return authorization is not associated to the order
      • getReturnAuthorizationService

        protected ReturnAuthorizationService<com.broadleafcommerce.order.client.domain.ReturnAuthorization> getReturnAuthorizationService()
      • getOrderService

        protected OrderService<com.broadleafcommerce.order.client.domain.Order> getOrderService()