Class CustomerEndpoint

java.lang.Object
com.broadleafcommerce.customer.web.endpoint.CustomerEndpoint

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

  • Constructor Details

  • Method Details

    • 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)
    • readAllCustomers

      @Policy(permissionRoots="CUSTOMER", identityTypes=ADMIN) @FrameworkGetMapping("/search") public org.springframework.data.domain.Page<Customer> readAllCustomers(@ContextOperation com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo, @RequestParam(value="query",required=false) String nameQuery, @RequestParam(required=false) boolean hydrateRelatedEntities, 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)
    • readCustomerAccounts

      @Policy(permissionRoots={"CUSTOMER","ACCOUNT_MEMBER"}, identityTypes=ADMIN) @FrameworkGetMapping("/{id}/accounts") public org.springframework.data.domain.Page<AccountMember> readCustomerAccounts(@ContextOperation com.broadleafcommerce.data.tracking.core.context.ContextInfo context, @PathVariable("id") String customerId, @PageableDefault(size=50) org.springframework.data.domain.Pageable page)
    • registerCustomerToAccount

      @Policy(permissionRoots={"CUSTOMER","ACCOUNT_MEMBER"}, identityTypes=ADMIN) @FrameworkPostMapping(value="/{id}/accounts/members", consumes="application/json") public AccountMember registerCustomerToAccount(@PathVariable("id") String customerId, @RequestBody RegisterAccountMemberRequest registerRequest, @ContextOperation(CREATE) com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
    • updateAccountMember

      @Policy(permissionRoots={"CUSTOMER","ACCOUNT_MEMBER"}, identityTypes=ADMIN) @FrameworkMapping(value="/{id}/accounts/members/{accountMemberId}", consumes="application/json", method={PATCH,PUT}) public AccountMember updateAccountMember(@PathVariable("id") String customerId, @PathVariable("accountMemberId") String accountMemberId, @RequestBody UpdateAccountMemberRequest updateRequest, @ContextOperation(UPDATE) com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
    • removeAccountMember

      @Policy(permissionRoots={"CUSTOMER","ACCOUNT_MEMBER"}, identityTypes=ADMIN) @FrameworkDeleteMapping("/{id}/accounts/members/{accountMemberId}") public void removeAccountMember(@PathVariable("id") String customerId, @PathVariable("accountMemberId") String accountMemberId, @ContextOperation(DELETE) com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
    • getCustomerService

      protected CustomerService<Customer> getCustomerService()
    • getCustomerHydrationService

      protected CustomerHydrationService getCustomerHydrationService()
    • setCustomerHydrationService

      @Autowired public void setCustomerHydrationService(CustomerHydrationService customerHydrationService)
    • getAccountMemberService

      protected AccountMemberService<AccountMember> getAccountMemberService()
    • setAccountMemberService

      @Autowired public void setAccountMemberService(AccountMemberService<AccountMember> accountMemberService)