Files
medusa-store/www/apps/docs/content/references/js-client/classes/internal-8.internal.CustomerService.md
github-actions[bot] daea35fe73 chore(docs): Generated JS Client Reference (#5334)
Automated changes by [create-pull-request](https://github.com/peter-evans/create-pull-request) GitHub action

Co-authored-by: Shahed Nasser <27354907+shahednasser@users.noreply.github.com>
2023-10-10 17:47:07 +00:00

15 KiB

displayed_sidebar
displayed_sidebar
jsClientSidebar

Class: CustomerService

internal.internal.CustomerService

Provides layer to manipulate customers.

Hierarchy

Properties

__configModule__

Protected Optional Readonly __configModule__: Record<string, unknown>

Inherited from

TransactionBaseService.configModule

Defined in

packages/medusa/dist/interfaces/transaction-base-service.d.ts:5


__container__

Protected Readonly __container__: any

Inherited from

TransactionBaseService.container

Defined in

packages/medusa/dist/interfaces/transaction-base-service.d.ts:4


__moduleDeclaration__

Protected Optional Readonly __moduleDeclaration__: Record<string, unknown>

Inherited from

TransactionBaseService.moduleDeclaration

Defined in

packages/medusa/dist/interfaces/transaction-base-service.d.ts:6


addressRepository_

Protected Readonly addressRepository_: Repository<Address>

Defined in

packages/medusa/dist/services/customer.d.ts:21


customerRepository_

Protected Readonly customerRepository_: Repository<Customer> & { listAndCount: (query: Object, q?: string) => Promise<[Customer[], number]> }

Defined in

packages/medusa/dist/services/customer.d.ts:20


eventBusService_

Protected Readonly eventBusService_: EventBusService

Defined in

packages/medusa/dist/services/customer.d.ts:22


manager_

Protected manager_: EntityManager

Inherited from

TransactionBaseService.manager_

Defined in

packages/medusa/dist/interfaces/transaction-base-service.d.ts:7


retrieve_

Private retrieve_: any

Defined in

packages/medusa/dist/services/customer.d.ts:62


transactionManager_

Protected transactionManager_: undefined | EntityManager

Inherited from

TransactionBaseService.transactionManager_

Defined in

packages/medusa/dist/interfaces/transaction-base-service.d.ts:8


Events

Static Events: Object

Type declaration

Name Type
CREATED string
PASSWORD_RESET string
UPDATED string

Defined in

packages/medusa/dist/services/customer.d.ts:23

Accessors

activeManager_

Protected get activeManager_(): EntityManager

Returns

EntityManager

Inherited from

TransactionBaseService.activeManager_

Defined in

packages/medusa/dist/interfaces/transaction-base-service.d.ts:9

Methods

addAddress

addAddress(customerId, address): Promise<Customer | Address>

Parameters

Name Type
customerId string
address AddressCreatePayload

Returns

Promise<Customer | Address>

Defined in

packages/medusa/dist/services/customer.d.ts:121


atomicPhase_

Protected atomicPhase_<TResult, TError>(work, isolationOrErrorHandler?, maybeErrorHandlerOrDontFail?): Promise<TResult>

Wraps some work within a transactional block. If the service already has a transaction manager attached this will be reused, otherwise a new transaction manager is created.

Type parameters

Name
TResult
TError

Parameters

Name Type Description
work (transactionManager: EntityManager) => Promise<TResult> the transactional work to be done
isolationOrErrorHandler? IsolationLevel | (error: TError) => Promise<void | TResult> the isolation level to be used for the work.
maybeErrorHandlerOrDontFail? (error: TError) => Promise<void | TResult> Potential error handler

Returns

Promise<TResult>

the result of the transactional work

Inherited from

TransactionBaseService.atomicPhase_

Defined in

packages/medusa/dist/interfaces/transaction-base-service.d.ts:24


count

count(): Promise<number>

Return the total number of documents in database

Returns

Promise<number>

the result of the count operation

Defined in

packages/medusa/dist/services/customer.d.ts:61


create

create(customer): Promise<Customer>

Creates a customer from an email - customers can have accounts associated, e.g. to login and view order history, etc. If a password is provided the customer will automatically get an account, otherwise the customer is just used to hold details of customers.

Parameters

Name Type Description
customer CreateCustomerInput the customer to create

Returns

Promise<Customer>

the result of create

Defined in

packages/medusa/dist/services/customer.d.ts:102


delete

delete(customerId): Promise<void | Customer>

Deletes a customer from a given customer id.

Parameters

Name Type Description
customerId string the id of the customer to delete. Must be castable as an ObjectId

Returns

Promise<void | Customer>

the result of the delete operation.

Defined in

packages/medusa/dist/services/customer.d.ts:128


generateResetPasswordToken

generateResetPasswordToken(customerId): Promise<string>

Generate a JSON Web token, that will be sent to a customer, that wishes to reset password. The token will be signed with the customer's current password hash as a secret a long side a payload with userId and the expiry time for the token, which is always 15 minutes.

Parameters

Name Type Description
customerId string the customer to reset the password for

Returns

Promise<string>

the generated JSON web token

Defined in

packages/medusa/dist/services/customer.d.ts:38


hashPassword_

hashPassword_(password): Promise<string>

Hashes a password

Parameters

Name Type Description
password string the value to hash

Returns

Promise<string>

hashed password

Defined in

packages/medusa/dist/services/customer.d.ts:93


list

list(selector?, config?): Promise<Customer[]>

Parameters

Name Type Description
selector? Selector<Customer> & { groups?: string[] ; q?: string } the query object for find
config? FindConfig<Customer> the config object containing query settings

Returns

Promise<Customer[]>

the result of the find operation

Defined in

packages/medusa/dist/services/customer.d.ts:44


listAndCount

listAndCount(selector, config?): Promise<[Customer[], number]>

Parameters

Name Type Description
selector Selector<Customer> & { groups?: string[] ; q?: string } the query object for find
config? FindConfig<Customer> the config object containing query settings

Returns

Promise<[Customer[], number]>

the result of the find operation

Defined in

packages/medusa/dist/services/customer.d.ts:53


listByEmail

listByEmail(email, config?): Promise<Customer[]>

Parameters

Name Type
email string
config? FindConfig<Customer>

Returns

Promise<Customer[]>

Defined in

packages/medusa/dist/services/customer.d.ts:73


removeAddress

removeAddress(customerId, addressId): Promise<void>

Parameters

Name Type
customerId string
addressId string

Returns

Promise<void>

Defined in

packages/medusa/dist/services/customer.d.ts:120


retrieve

retrieve(customerId, config?): Promise<Customer>

Gets a customer by id.

Parameters

Name Type Description
customerId string the id of the customer to get.
config? FindConfig<Customer> the config object containing query settings

Returns

Promise<Customer>

the customer document.

Defined in

packages/medusa/dist/services/customer.d.ts:87


retrieveByEmail

retrieveByEmail(email, config?): Promise<Customer>

Gets a registered customer by email.

Parameters

Name Type Description
email string the email of the customer to get.
config? FindConfig<Customer> the config object containing query settings

Returns

Promise<Customer>

the customer document.

Deprecated

Defined in

packages/medusa/dist/services/customer.d.ts:70


retrieveByPhone

retrieveByPhone(phone, config?): Promise<Customer>

Gets a customer by phone.

Parameters

Name Type Description
phone string the phone of the customer to get.
config? FindConfig<Customer> the config object containing query settings

Returns

Promise<Customer>

the customer document.

Defined in

packages/medusa/dist/services/customer.d.ts:80


retrieveRegisteredByEmail

retrieveRegisteredByEmail(email, config?): Promise<Customer>

Parameters

Name Type
email string
config? FindConfig<Customer>

Returns

Promise<Customer>

Defined in

packages/medusa/dist/services/customer.d.ts:72


retrieveUnregisteredByEmail

retrieveUnregisteredByEmail(email, config?): Promise<Customer>

Parameters

Name Type
email string
config? FindConfig<Customer>

Returns

Promise<Customer>

Defined in

packages/medusa/dist/services/customer.d.ts:71


shouldRetryTransaction_

Protected shouldRetryTransaction_(err): boolean

Parameters

Name Type
err Record<string, unknown> | { code: string }

Returns

boolean

Inherited from

TransactionBaseService.shouldRetryTransaction_

Defined in

packages/medusa/dist/interfaces/transaction-base-service.d.ts:12


update

update(customerId, update): Promise<Customer>

Updates a customer.

Parameters

Name Type Description
customerId string the id of the variant. Must be a string that can be casted to an ObjectId
update UpdateCustomerInput an object with the update values.

Returns

Promise<Customer>

resolves to the update result.

Defined in

packages/medusa/dist/services/customer.d.ts:110


updateAddress

updateAddress(customerId, addressId, address): Promise<Address>

Parameters

Name Type
customerId string
addressId string
address StorePostCustomersCustomerAddressesAddressReq

Returns

Promise<Address>

Defined in

packages/medusa/dist/services/customer.d.ts:119


updateBillingAddress_

updateBillingAddress_(customer, addressOrId): Promise<void>

Updates the customers' billing address.

Parameters

Name Type Description
customer Customer the Customer to update
addressOrId undefined | string | DeepPartial<Address> the value to set the billing address to

Returns

Promise<void>

the result of the update operation

Defined in

packages/medusa/dist/services/customer.d.ts:118


withTransaction

withTransaction(transactionManager?): CustomerService

Parameters

Name Type
transactionManager? EntityManager

Returns

CustomerService

Inherited from

TransactionBaseService.withTransaction

Defined in

packages/medusa/dist/interfaces/transaction-base-service.d.ts:11