Skip to main content

Class: UserService

Provides layer to manipulate users.

Hierarchy​

  • TransactionBaseService

    ↳ UserService

Constructors​

constructor​

• new UserService(__namedParameters)

Parameters​

NameType
__namedParametersUserServiceProps

Overrides​

TransactionBaseService.constructor

Defined in​

medusa/src/services/user.ts:45

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


analyticsConfigService_​

• Protected Readonly analyticsConfigService_: AnalyticsConfigService

Defined in​

medusa/src/services/user.ts:40


eventBus_​

• Protected Readonly eventBus_: EventBusService

Defined in​

medusa/src/services/user.ts:42


featureFlagRouter_​

• Protected Readonly featureFlagRouter_: FlagRouter

Defined in​

medusa/src/services/user.ts:43


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


userRepository_​

• Protected Readonly userRepository_: Repository<User>

Defined in​

medusa/src/services/user.ts:41


Events​

▪ Static Events: Object

Type declaration​

NameType
CREATEDstring
DELETEDstring
PASSWORD_RESETstring
UPDATEDstring

Defined in​

medusa/src/services/user.ts:33

Accessors​

activeManager_​

• Protected get activeManager_(): EntityManager

Returns​

EntityManager

Inherited from​

TransactionBaseService.activeManager_

Defined in​

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

Methods​

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​

NameTypeDescription
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


create​

▸ create(user, password): Promise<User>

Creates a user with username being validated. Fails if email is not a valid format.

Parameters​

NameTypeDescription
userCreateUserInputthe user to create
passwordstringuser's password to hash

Returns​

Promise<User>

the result of create

Defined in​

medusa/src/services/user.ts:171


delete​

▸ delete(userId): Promise<void>

Deletes a user from a given user id.

Parameters​

NameTypeDescription
userIdstringthe id of the user to delete. Must be castable as an ObjectId

Returns​

Promise<void>

the result of the delete operation.

Defined in​

medusa/src/services/user.ts:263


generateResetPasswordToken​

▸ generateResetPasswordToken(userId): Promise<string>

Generate a JSON Web token, that will be sent to a user, that wishes to reset password. The token will be signed with the users 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​

NameTypeDescription
userIdstringthe id of the user to reset password for

Returns​

Promise<string>

the generated JSON web token

Defined in​

medusa/src/services/user.ts:327


hashPassword_​

▸ hashPassword_(password): Promise<string>

Hashes a password

Parameters​

NameTypeDescription
passwordstringthe value to hash

Returns​

Promise<string>

hashed password

Defined in​

medusa/src/services/user.ts:159


list​

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

Parameters​

NameTypeDescription
selectorFilterableUserPropsthe query object for find
configObjectthe configuration object for the query

Returns​

Promise<User[]>

the result of the find operation

Defined in​

medusa/src/services/user.ts:65


retrieve​

▸ retrieve(userId, config?): Promise<User>

Gets a user by id. Throws in case of DB Error and if user was not found.

Parameters​

NameTypeDescription
userIdstringthe id of the user to get.
configFindConfig<User>query configs

Returns​

Promise<User>

the user document.

Defined in​

medusa/src/services/user.ts:77


retrieveByApiToken​

▸ retrieveByApiToken(apiToken, relations?): Promise<User>

Gets a user by api token. Throws in case of DB Error and if user was not found.

Parameters​

NameTypeDefault valueDescription
apiTokenstringundefinedthe token of the user to get.
relationsstring[][]relations to include with the user.

Returns​

Promise<User>

the user document.

Defined in​

medusa/src/services/user.ts:107


retrieveByEmail​

▸ retrieveByEmail(email, config?): Promise<User>

Gets a user by email. Throws in case of DB Error and if user was not found.

Parameters​

NameTypeDescription
emailstringthe email of the user to get.
configFindConfig<User>query config

Returns​

Promise<User>

the user document.

Defined in​

medusa/src/services/user.ts:135


setPassword_​

▸ setPassword_(userId, password): Promise<User>

Sets a password for a user Fails if no user exists with userId and if the hashing of the new password does not work.

Parameters​

NameTypeDescription
userIdstringthe userId to set password for
passwordstringthe old password to set

Returns​

Promise<User>

the result of the update operation

Defined in​

medusa/src/services/user.ts:298


shouldRetryTransaction_​

▸ Protected shouldRetryTransaction_(err): boolean

Parameters​

NameType
errRecord<string, unknown> | { code: string }

Returns​

boolean

Inherited from​

TransactionBaseService.shouldRetryTransaction_

Defined in​

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


update​

▸ update(userId, update): Promise<User>

Updates a user.

Parameters​

NameTypeDescription
userIdstringid of the user to update
updateUpdateUserInputthe values to be updated on the user

Returns​

Promise<User>

the result of create

Defined in​

medusa/src/services/user.ts:217


withTransaction​

▸ withTransaction(transactionManager?): UserService

Parameters​

NameType
transactionManager?EntityManager

Returns​

UserService

Inherited from​

TransactionBaseService.withTransaction

Defined in​

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

Was this section helpful?