--- displayed_sidebar: servicesSidebar --- import ParameterTypes from "@site/src/components/ParameterTypes" # UserService Provides layer to manipulate users. ## constructor ### Parameters ___ ## Properties `","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"__moduleDeclaration__","type":"`Record`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]} sectionTitle="UserService"/> ___ ## Accessors ### activeManager\_ #### Returns ___ ## Methods ### withTransaction #### Parameters #### Returns ### shouldRetryTransaction\_ #### Parameters ` \\| `object`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]}]} sectionTitle="shouldRetryTransaction_"/> #### Returns ### atomicPhase\_ 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 #### Parameters Promise<TResult>","description":"the transactional work to be done","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"isolationOrErrorHandler","type":"`IsolationLevel` \\| (`error`: TError) => Promise<void \\| TResult>","description":"the isolation level to be used for the work.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"maybeErrorHandlerOrDontFail","type":"(`error`: TError) => Promise<void \\| TResult>","description":"Potential error handler","optional":true,"defaultValue":"","expandable":false,"children":[]}]} sectionTitle="atomicPhase_"/> #### Returns ### list #### Parameters #### Returns ### listAndCount #### Parameters #### Returns ### retrieve Gets a user by id. Throws in case of DB Error and if user was not found. #### Parameters #### Returns ### retrieveByApiToken Gets a user by api token. Throws in case of DB Error and if user was not found. #### Parameters #### Returns ### retrieveByEmail Gets a user by email. Throws in case of DB Error and if user was not found. #### Parameters #### Returns ### hashPassword\_ Hashes a password #### Parameters #### Returns ### create Creates a user with username being validated. Fails if email is not a valid format. #### Parameters #### Returns ### update Updates a user. #### Parameters #### Returns ### delete Deletes a user from a given user id. #### Parameters #### Returns ### setPassword\_ 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 #### Returns ### generateResetPasswordToken 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 #### Returns