Interface CustomerAccountService<A extends Account,M extends AccountMember>

All Known Implementing Classes:
DefaultCustomerAccountService

public interface CustomerAccountService<A extends Account,M extends AccountMember>
Service for customer facing interactions involving reading account members and accounts. Additional validation is performed in this service to ensure account related data may only be read if the user is a member of that account.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    deleteAccountMember(String accountId, String memberId, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
     
    readAccountMember(String accountId, String memberId, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
     
    org.springframework.data.domain.Page<M>
    readAccountMembers(String accountId, cz.jirutka.rsql.parser.ast.Node filters, org.springframework.data.domain.Pageable page, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
    Read the AccountMembers for a specific Account by id.
    readMyAccounts(int childAccountDepth, boolean filterParents, cz.jirutka.rsql.parser.ast.Node filters, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
    Reads the currently logged in user's Accounts.
    updateAccountMember(String accountId, String memberId, UpdateAccountMemberRequest accountMember, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
     
  • Method Details

    • readAccountMembers

      org.springframework.data.domain.Page<M> readAccountMembers(String accountId, @Nullable cz.jirutka.rsql.parser.ast.Node filters, @Nullable org.springframework.data.domain.Pageable page, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
      Read the AccountMembers for a specific Account by id.
      Parameters:
      accountId - Id of the parent account
      filters - RSQL filters
      page - Pagination info
      contextInfo - Additional multitenant and sandbox info
      Returns:
      The AccountMembers for a specific Account by id.
    • readAccountMember

      M readAccountMember(String accountId, String memberId, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
    • updateAccountMember

      M updateAccountMember(String accountId, String memberId, UpdateAccountMemberRequest accountMember, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
    • deleteAccountMember

      void deleteAccountMember(String accountId, String memberId, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
    • readMyAccounts

      List<A> readMyAccounts(int childAccountDepth, boolean filterParents, @Nullable cz.jirutka.rsql.parser.ast.Node filters, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
      Reads the currently logged in user's Accounts. Set excludeAccountsWithInactiveParent to true to filter out accounts that have a disabled parent account.
      Parameters:
      childAccountDepth - How many levels deep of the account hierarchy of the accounts matching ids to include in the results, e.g., how many levels of child accounts to include. -1 indicates no limit. 0 indicates no child accounts.

      Default is 0.

      filterParents - If true, the returned list will include only accounts with active parent accounts.
      filters - An RSQL filter used to narrow query results. May be EmptyNode if no filters should be applied.
      contextInfo - Additional multitenant and sandbox info
      Returns:
      The currently logged in user's Accounts.