Class CustomerEndpoint


  • @FrameworkRestController
    @FrameworkMapping("/customers")
    @DataRouteByExample(Customer.class)
    public class CustomerEndpoint
    extends Object
    Endpoint for management of Customers.
    Author:
    Samarth Dhruva (samarthd)
    • Method Detail

      • readAllCustomers

        @Policy(permissionRoots="CUSTOMER",
                identityTypes=ADMIN)
        @FrameworkGetMapping
        public org.springframework.data.domain.Page<Customer> readAllCustomers​(@ContextOperation
                                                                               com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo,
                                                                               @RequestParam(value="q",required=false)
                                                                               String nameQuery,
                                                                               cz.jirutka.rsql.parser.ast.Node filters,
                                                                               @PageableDefault(size=50)
                                                                               org.springframework.data.domain.Pageable page)
      • readCustomerById

        @Policy(permissionRoots={"CUSTOMER","CUSTOMER_PROFILE"},
                identityTypes={ADMIN,OWNER})
        @FrameworkGetMapping("/{id}")
        public Customer readCustomerById​(@ContextOperation
                                         com.broadleafcommerce.data.tracking.core.context.ContextInfo context,
                                         @PathVariable("id")
                                         String customerId)
      • createCustomer

        @Policy(permissionRoots="CUSTOMER",
                identityTypes=ADMIN)
        @FrameworkPostMapping(consumes="application/json")
        public Customer createCustomer​(@ContextOperation(CREATE)
                                       com.broadleafcommerce.data.tracking.core.context.ContextInfo context,
                                       @RequestBody
                                       Customer customer)
      • replaceCustomer

        @Policy(permissionRoots={"CUSTOMER","CUSTOMER_PROFILE"},
                identityTypes={ADMIN,OWNER},
                ownerIdentifierParam=1)
        @FrameworkPutMapping(value="/{id}",
                             consumes="application/json")
        public Customer replaceCustomer​(@ContextOperation(UPDATE)
                                        com.broadleafcommerce.data.tracking.core.context.ContextInfo context,
                                        @PathVariable("id")
                                        String customerId,
                                        @RequestBody
                                        Customer customer)
      • deleteCustomer

        @Policy(permissionRoots="CUSTOMER")
        @FrameworkDeleteMapping("/{id}")
        public void deleteCustomer​(@ContextOperation(DELETE)
                                   com.broadleafcommerce.data.tracking.core.context.ContextInfo context,
                                   @PathVariable("id")
                                   String customerId)
      • readAllCustomerIdsIgnoreNarrowing

        @Policy(permissionRoots="CUSTOMER_IGNORE_NARROWING")
        @FrameworkGetMapping("/ignore-narrowing/ids")
        public List<String> readAllCustomerIdsIgnoreNarrowing​(@ContextOperation
                                                              com.broadleafcommerce.data.tracking.core.context.ContextInfo context,
                                                              cz.jirutka.rsql.parser.ast.Node filters,
                                                              @RequestParam("size")
                                                              int page)
      • readAllCustomersIgnoreNarrowingHydrated

        @FrameworkGetMapping("/ignore-narrowing")
        @Policy(permissionRoots="CUSTOMER_IGNORE_NARROWING")
        public List<Customer> readAllCustomersIgnoreNarrowingHydrated​(@ContextOperation
                                                                      com.broadleafcommerce.data.tracking.core.context.ContextInfo context,
                                                                      cz.jirutka.rsql.parser.ast.Node filters)