Class: UserService
Provides layer to manipulate users.
Hierarchy
"medusa-interfaces"
↳
UserService
Constructors
constructor
• new UserService(__namedParameters
)
Parameters
Name | Type |
---|---|
__namedParameters | UserServiceProps |
Overrides
BaseService.constructor
Defined in
Properties
eventBus_
• Private
eventBus_: EventBusService
Defined in
manager_
• Private
manager_: EntityManager
Defined in
transactionManager_
• Private
transactionManager_: EntityManager
Defined in
userRepository_
• Private
userRepository_: typeof UserRepository
Defined in
Events
▪ Static
Events: Object
Type declaration
Name | Type |
---|---|
PASSWORD_RESET | string |
Defined in
Methods
create
▸ create(user
, password
): Promise
<User
>
Creates a user with username being validated. Fails if email is not a valid format.
Parameters
Name | Type | Description |
---|---|---|
user | CreateUserInput | the user to create |
password | string | user's password to hash |
Returns
Promise
<User
>
the result of create
Defined in
delete
▸ delete(userId
): Promise
<null
>
Deletes a user from a given user id.
Parameters
Name | Type | Description |
---|---|---|
userId | string | the id of the user to delete. Must be castable as an ObjectId |
Returns
Promise
<null
>
the result of the delete operation.
Defined in
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
Name | Type | Description |
---|---|---|
userId | string | the id of the user to reset password for |
Returns
Promise
<string
>
the generated JSON web token
Defined in
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
list
▸ list(selector
, config?
): Promise
<User
[]>
Parameters
Name | Type | Description |
---|---|---|
selector | FilterableUserProps | the query object for find |
config | Object | the configuration object for the query |
Returns
Promise
<User
[]>
the result of the find operation
Defined in
retrieve
▸ retrieve(userId
, config?
): Promise
<User
>
Gets a user by id. Throws in case of DB Error and if user was not found.
Parameters
Name | Type | Description |
---|---|---|
userId | string | the id of the user to get. |
config | FindConfig <User > | query configs |
Returns
Promise
<User
>
the user document.
Defined in
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
Name | Type | Default value | Description |
---|---|---|---|
apiToken | string | undefined | the token of the user to get. |
relations | string [] | [] | relations to include with the user |
Returns
Promise
<User
>
the user document.
Defined in
retrieveByEmail
▸ retrieveByEmail(email
, config?
): Promise
<User
>
Gets a user by email. Throws in case of DB Error and if user was not found.
Parameters
Name | Type | Description |
---|---|---|
email | string | the email of the user to get. |
config | FindConfig <User > | query config |
Returns
Promise
<User
>
the user document.
Defined in
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
Name | Type | Description |
---|---|---|
userId | string | the userId to set password for |
password | string | the old password to set |
Returns
Promise
<User
>
the result of the update operation
Defined in
update
▸ update(userId
, update
): Promise
<User
>
Updates a user.
Parameters
Name | Type | Description |
---|---|---|
userId | string | id of the user to update |
update | UpdateUserInput | the values to be updated on the user |
Returns
Promise
<User
>
the result of create
Defined in
validateEmail_
▸ validateEmail_(email
): string
Used to validate user email.
Parameters
Name | Type | Description |
---|---|---|
email | string | email to validate |
Returns
string
the validated email
Defined in
withTransaction
▸ withTransaction(transactionManager
): UserService
Parameters
Name | Type |
---|---|
transactionManager | EntityManager |