Files
medusa-store/www/apps/docs/content/references/services/classes/CustomerService.md
Shahed Nasser fa7c94b4cc docs: create docs workspace (#5174)
* docs: migrate ui docs to docs universe

* created yarn workspace

* added eslint and tsconfig configurations

* fix eslint configurations

* fixed eslint configurations

* shared tailwind configurations

* added shared ui package

* added more shared components

* migrating more components

* made details components shared

* move InlineCode component

* moved InputText

* moved Loading component

* Moved Modal component

* moved Select components

* Moved Tooltip component

* moved Search components

* moved ColorMode provider

* Moved Notification components and providers

* used icons package

* use UI colors in api-reference

* moved Navbar component

* used Navbar and Search in UI docs

* added Feedback to UI docs

* general enhancements

* fix color mode

* added copy colors file from ui-preset

* added features and enhancements to UI docs

* move Sidebar component and provider

* general fixes and preparations for deployment

* update docusaurus version

* adjusted versions

* fix output directory

* remove rootDirectory property

* fix yarn.lock

* moved code component

* added vale for all docs MD and MDX

* fix tests

* fix vale error

* fix deployment errors

* change ignore commands

* add output directory

* fix docs test

* general fixes

* content fixes

* fix announcement script

* added changeset

* fix vale checks

* added nofilter option

* fix vale error
2023-09-21 20:57:15 +03:00

16 KiB

Class: CustomerService

Provides layer to manipulate customers.

Hierarchy

  • TransactionBaseService

    CustomerService

Constructors

constructor

new CustomerService(__namedParameters)

Parameters

Name Type
__namedParameters InjectedDependencies

Overrides

TransactionBaseService.constructor

Defined in

medusa/src/services/customer.ts:46

Properties

__configModule__

Protected Optional Readonly __configModule__: Record<string, unknown>

Inherited from

TransactionBaseService.__configModule__

Defined in

medusa/src/interfaces/transaction-base-service.ts:14


__container__

Protected Readonly __container__: any

Inherited from

TransactionBaseService.__container__

Defined in

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


__moduleDeclaration__

Protected Optional Readonly __moduleDeclaration__: Record<string, unknown>

Inherited from

TransactionBaseService.__moduleDeclaration__

Defined in

medusa/src/interfaces/transaction-base-service.ts:15


addressRepository_

Protected Readonly addressRepository_: Repository<Address>

Defined in

medusa/src/services/customer.ts:37


customerRepository_

Protected Readonly customerRepository_: Repository<Customer> & { listAndCount: (query: Omit<FindOneOptions<Customer>, "where" | "select" | "relations"> & { order?: FindOptionsOrder<Customer> ; relations?: FindOptionsRelations<Customer> ; select?: FindOptionsSelect<Customer> ; skip?: number ; take?: number ; where: FindOptionsWhere<Customer> | FindOptionsWhere<Customer>[] } & { where: FindOptionsWhere<Customer & { groups?: FindOperator<string[]> }> } & Omit<FindManyOptions<Customer>, "where" | "select" | "relations"> & { order?: FindOptionsOrder<Customer> ; relations?: FindOptionsRelations<Customer> ; select?: FindOptionsSelect<Customer> ; skip?: number ; take?: number ; where: FindOptionsWhere<Customer> | FindOptionsWhere<Customer>[] } & { where: FindOptionsWhere<Customer & { groups?: FindOperator<string[]> }> }, q: undefined | string) => Promise<[Customer[], number]> }

Defined in

medusa/src/services/customer.ts:36


eventBusService_

Protected Readonly eventBusService_: EventBusService

Defined in

medusa/src/services/customer.ts:38


manager_

Protected manager_: EntityManager

Inherited from

TransactionBaseService.manager_

Defined in

medusa/src/interfaces/transaction-base-service.ts:5


transactionManager_

Protected transactionManager_: undefined | EntityManager

Inherited from

TransactionBaseService.transactionManager_

Defined in

medusa/src/interfaces/transaction-base-service.ts:6


Events

Static Events: Object

Type declaration

Name Type
CREATED string
PASSWORD_RESET string
UPDATED string

Defined in

medusa/src/services/customer.ts:40

Accessors

activeManager_

Protected get activeManager_(): EntityManager

Returns

EntityManager

Inherited from

TransactionBaseService.activeManager_

Defined in

medusa/src/interfaces/transaction-base-service.ts:8

Methods

addAddress

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

Parameters

Name Type
customerId string
address AddressCreatePayload

Returns

Promise<Customer | Address>

Defined in

medusa/src/services/customer.ts:519


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

medusa/src/interfaces/transaction-base-service.ts:56


count

count(): Promise<number>

Return the total number of documents in database

Returns

Promise<number>

the result of the count operation

Defined in

medusa/src/services/customer.ts:178


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

medusa/src/services/customer.ts:306


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

medusa/src/services/customer.ts:565


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

medusa/src/services/customer.ts:68


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

medusa/src/services/customer.ts:293


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

medusa/src/services/customer.ts:111


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

medusa/src/services/customer.ts:143


listByEmail

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

Parameters

Name Type
email string
config FindConfig<Customer>

Returns

Promise<Customer[]>

Defined in

medusa/src/services/customer.ts:249


removeAddress

removeAddress(customerId, addressId): Promise<void>

Parameters

Name Type
customerId string
addressId string

Returns

Promise<void>

Defined in

medusa/src/services/customer.ts:502


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

medusa/src/services/customer.ts:274


retrieveByEmail

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

Gets a registered customer by email.

Deprecated

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

medusa/src/services/customer.ts:216


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

medusa/src/services/customer.ts:261


retrieveRegisteredByEmail

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

Parameters

Name Type
email string
config FindConfig<Customer>

Returns

Promise<Customer>

Defined in

medusa/src/services/customer.ts:239


retrieveUnregisteredByEmail

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

Parameters

Name Type
email string
config FindConfig<Customer>

Returns

Promise<Customer>

Defined in

medusa/src/services/customer.ts:230


retrieve_

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

Parameters

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

Returns

Promise<Customer>

Defined in

medusa/src/services/customer.ts:185


shouldRetryTransaction_

Protected shouldRetryTransaction_(err): boolean

Parameters

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

Returns

boolean

Inherited from

TransactionBaseService.shouldRetryTransaction_

Defined in

medusa/src/interfaces/transaction-base-service.ts:37


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

medusa/src/services/customer.ts:362


updateAddress

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

Parameters

Name Type
customerId string
addressId string
address StorePostCustomersCustomerAddressesAddressReq

Returns

Promise<Address>

Defined in

medusa/src/services/customer.ts:474


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

medusa/src/services/customer.ts:422


withTransaction

withTransaction(transactionManager?): CustomerService

Parameters

Name Type
transactionManager? EntityManager

Returns

CustomerService

Inherited from

TransactionBaseService.withTransaction

Defined in

medusa/src/interfaces/transaction-base-service.ts:20