Files
medusa-store/docs/content/references/services/classes/CustomerService.md
Shahed Nasser 02d5c1da88 docs: update Typedoc and regenerate references (#1994)
* generated new services reference

* changed from automatic push to automated pull request

* updated typedoc, regenerated JS Client reference

* regenerated the reference after updating typedoc

* added action for js client
2022-08-04 17:29:52 +03:00

16 KiB

Class: CustomerService

Provides layer to manipulate customers.

Hierarchy

Constructors

constructor

new CustomerService(__namedParameters)

Parameters

Name Type
__namedParameters InjectedDependencies

Overrides

TransactionBaseService<CustomerService&gt;.constructor

Defined in

packages/medusa/src/services/customer.ts:39

Properties

addressRepository_

Protected Readonly addressRepository_: typeof AddressRepository

Defined in

packages/medusa/src/services/customer.ts:27


configModule

Protected Optional Readonly configModule: Record<string, unknown>

Inherited from

TransactionBaseService.configModule

Defined in

packages/medusa/src/interfaces/transaction-base-service.ts:13


container

Protected Readonly container: unknown

Inherited from

TransactionBaseService.container

Defined in

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


customerRepository_

Protected Readonly customerRepository_: typeof CustomerRepository

Defined in

packages/medusa/src/services/customer.ts:26


eventBusService_

Protected Readonly eventBusService_: EventBusService

Defined in

packages/medusa/src/services/customer.ts:28


manager_

Protected Readonly manager_: EntityManager

Overrides

TransactionBaseService.manager_

Defined in

packages/medusa/src/services/customer.ts:30


transactionManager_

Protected Readonly transactionManager_: undefined | EntityManager

Overrides

TransactionBaseService.transactionManager_

Defined in

packages/medusa/src/services/customer.ts:31


Events

Static Events: Object

Type declaration

Name Type
CREATED string
PASSWORD_RESET string
UPDATED string

Defined in

packages/medusa/src/services/customer.ts:33

Methods

addAddress

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

Parameters

Name Type
customerId string
address AddressCreatePayload

Returns

Promise<Address | Customer>

Defined in

packages/medusa/src/services/customer.ts:461


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/src/interfaces/transaction-base-service.ts:53


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/src/services/customer.ts:158


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/src/services/customer.ts:245


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/src/services/customer.ts:509


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/src/services/customer.ts:64


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/src/services/customer.ts:232


list

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

Parameters

Name Type Description
selector Selector<Customer> & { 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/src/services/customer.ts:107


listAndCount

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

Parameters

Name Type Description
selector Selector<Customer> & { 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/src/services/customer.ts:131


removeAddress

removeAddress(customerId, addressId): Promise<void>

Parameters

Name Type
customerId string
addressId string

Returns

Promise<void>

Defined in

packages/medusa/src/services/customer.ts:444


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/src/services/customer.ts:220


retrieveByEmail

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

Gets a 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.

Defined in

packages/medusa/src/services/customer.ts:194


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/src/services/customer.ts:207


retrieve_

Private retrieve_(selector, config?): Promise<Customer>

Parameters

Name Type
selector Selector<Customer>
config FindConfig<Customer>

Returns

Promise<Customer>

Defined in

packages/medusa/src/services/customer.ts:164


shouldRetryTransaction_

Protected shouldRetryTransaction_(err): boolean

Parameters

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

Returns

boolean

Inherited from

TransactionBaseService.shouldRetryTransaction_

Defined in

packages/medusa/src/interfaces/transaction-base-service.ts:34


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/src/services/customer.ts:300


updateAddress

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

Parameters

Name Type
customerId string
addressId string
address StorePostCustomersCustomerAddressesAddressReq

Returns

Promise<Address>

Defined in

packages/medusa/src/services/customer.ts:416


updateBillingAddress_

updateBillingAddress_(customer, addressOrId): Promise<void>

Updates the customers' billing address.

Parameters

Name Type Description
customer Customer the Customer to update
addressOrId undefined | string | { address_1?: null | string ; address_2?: null | string ; city?: null | string ; company?: null | string ; country?: null | { id?: number | undefined; iso_2?: string | undefined; iso_3?: string | undefined; num_code?: number | undefined; name?: string | undefined; display_name?: string | undefined; region_id?: string | ... 1 more ... | undefined; region?: { ...; } | undefined; } ; country_code?: null | string ; created_at?: { toString?: {} | undefined; toDateString?: {} | undefined; toTimeString?: {} | undefined; toLocaleString?: {} | undefined; toLocaleDateString?: {} | undefined; toLocaleTimeString?: {} | undefined; ... 37 more ...; [Symbol.toPrimitive]?: {} | undefined; } ; customer?: null | { email?: string | undefined; first_name?: string | undefined; last_name?: string | undefined; billing_address_id?: string | null | undefined; billing_address?: { customer_id?: string | null | undefined; ... 16 more ...; updated_at?: { ...; } | undefined; } | undefined; ... 10 more ...; updated_at?: { ...; } | undef... ; customer_id?: null | string ; deleted_at?: null | { toString?: {} | undefined; toDateString?: {} | undefined; toTimeString?: {} | undefined; toLocaleString?: {} | undefined; toLocaleDateString?: {} | undefined; toLocaleTimeString?: {} | undefined; ... 37 more ...; [Symbol.toPrimitive]?: {} | undefined; } ; first_name?: null | string ; id?: string ; last_name?: null | string ; metadata?: { [x: string]: unknown; } ; phone?: null | string ; postal_code?: null | string ; province?: null | string ; updated_at?: { toString?: {} | undefined; toDateString?: {} | undefined; toTimeString?: {} | undefined; toLocaleString?: {} | undefined; toLocaleDateString?: {} | undefined; toLocaleTimeString?: {} | undefined; ... 37 more ...; [Symbol.toPrimitive]?: {} | undefined; } } the value to set the billing address to

Returns

Promise<void>

the result of the update operation

Defined in

packages/medusa/src/services/customer.ts:364


withTransaction

withTransaction(transactionManager?): CustomerService

Parameters

Name Type
transactionManager? EntityManager

Returns

CustomerService

Inherited from

TransactionBaseService.withTransaction

Defined in

packages/medusa/src/interfaces/transaction-base-service.ts:16