Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | 1x 1x 1x 1x 1x 3x 3x 1x 1x | import { makeDefaultOptions } from '.'; import ensureHasAllKeys from '../helpers/ensure-has-all-keys'; import passwordChange from '../methods/password-change'; import { AuthenticationManagementBase } from './AuthenticationManagementBase'; import type { SetRequired } from 'type-fest'; import type { SanitizedUser, DataPasswordChange, PasswordChangeOptions } from '../types'; export class PasswordChangeService extends AuthenticationManagementBase<DataPasswordChange, SanitizedUser> { options: PasswordChangeOptions; constructor (options: SetRequired<Partial<PasswordChangeOptions>, 'app'>) { super(); ensureHasAllKeys(options, ['app'], this.constructor.name); const defaultOptions: Omit<PasswordChangeOptions, 'app'> = makeDefaultOptions([ 'service', 'notifier', 'identifyUserProps', 'sanitizeUserForClient', 'passwordField' ]); this.options = Object.assign(defaultOptions, options); } async _create (data: DataPasswordChange): Promise<SanitizedUser> { return await passwordChange( this.options, data.value.user, data.value.oldPassword, data.value.password, data.notifierOptions ); } } |