UNPKG

@spartacus/user

Version:

User feature library for Spartacus

48 lines 7.64 kB
import { Injectable } from '@angular/core'; import { switchMap, take } from 'rxjs/operators'; import * as i0 from "@angular/core"; import * as i1 from "../connectors/user-profile.connector"; import * as i2 from "@spartacus/core"; export class UserPasswordService { constructor(userProfileConnector, userIdService, command) { this.userProfileConnector = userProfileConnector; this.userIdService = userIdService; this.command = command; this.updateCommand = this.command.create((payload) => this.userIdService.takeUserId(true).pipe(take(1), switchMap((uid) => this.userProfileConnector.updatePassword(uid, payload.oldPassword, payload.newPassword)))); this.resetCommand = this.command.create((payload) => this.userProfileConnector.resetPassword(payload.token, payload.password)); this.requestForgotPasswordEmailCommand = this.command.create((payload) => this.userProfileConnector.requestForgotPasswordEmail(payload.email)); } /** * Updates the password for the user * * The method returns an observable with `LoaderState` information, including the * actual user data. * * @param oldPassword the current password that will be changed * @param newPassword the new password */ update(oldPassword, newPassword) { return this.updateCommand.execute({ oldPassword, newPassword }); } /** * Reset new password. Part of the forgot password flow. * * @param token * @param password */ reset(token, password) { return this.resetCommand.execute({ token, password }); } /* * Request an email to reset a forgotten password. */ requestForgotPasswordEmail(email) { return this.requestForgotPasswordEmailCommand.execute({ email }); } } UserPasswordService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: UserPasswordService, deps: [{ token: i1.UserProfileConnector }, { token: i2.UserIdService }, { token: i2.CommandService }], target: i0.ɵɵFactoryTarget.Injectable }); UserPasswordService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: UserPasswordService }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: UserPasswordService, decorators: [{ type: Injectable }], ctorParameters: function () { return [{ type: i1.UserProfileConnector }, { type: i2.UserIdService }, { type: i2.CommandService }]; } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1wYXNzd29yZC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vZmVhdHVyZS1saWJzL3VzZXIvcHJvZmlsZS9jb3JlL2ZhY2FkZS91c2VyLXBhc3N3b3JkLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUczQyxPQUFPLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7O0FBS2pELE1BQU0sT0FBTyxtQkFBbUI7SUE4QjlCLFlBQ1ksb0JBQTBDLEVBQzFDLGFBQTRCLEVBQzVCLE9BQXVCO1FBRnZCLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBc0I7UUFDMUMsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDNUIsWUFBTyxHQUFQLE9BQU8sQ0FBZ0I7UUFoQ3pCLGtCQUFhLEdBR2xCLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FDbkMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUN0QyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQ1AsU0FBUyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FDaEIsSUFBSSxDQUFDLG9CQUFvQixDQUFDLGNBQWMsQ0FDdEMsR0FBRyxFQUNILE9BQU8sQ0FBQyxXQUFXLEVBQ25CLE9BQU8sQ0FBQyxXQUFXLENBQ3BCLENBQ0YsQ0FDRixDQUNGLENBQUM7UUFFUSxpQkFBWSxHQUdqQixJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQ25DLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsUUFBUSxDQUFDLENBQ3pFLENBQUM7UUFFUSxzQ0FBaUMsR0FFdEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUNuQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsMEJBQTBCLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUNwRSxDQUFDO0lBTUMsQ0FBQztJQUVKOzs7Ozs7OztPQVFHO0lBQ0gsTUFBTSxDQUFDLFdBQW1CLEVBQUUsV0FBbUI7UUFDN0MsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQ2xFLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILEtBQUssQ0FBQyxLQUFhLEVBQUUsUUFBZ0I7UUFDbkMsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFRDs7T0FFRztJQUNILDBCQUEwQixDQUFDLEtBQWE7UUFDdEMsT0FBTyxJQUFJLENBQUMsaUNBQWlDLENBQUMsT0FBTyxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUNuRSxDQUFDOztnSEFoRVUsbUJBQW1CO29IQUFuQixtQkFBbUI7MkZBQW5CLG1CQUFtQjtrQkFEL0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1hbmQsIENvbW1hbmRTZXJ2aWNlLCBVc2VySWRTZXJ2aWNlIH0gZnJvbSAnQHNwYXJ0YWN1cy9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHN3aXRjaE1hcCwgdGFrZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFVzZXJQYXNzd29yZEZhY2FkZSB9IGZyb20gJ0BzcGFydGFjdXMvdXNlci9wcm9maWxlL3Jvb3QnO1xuaW1wb3J0IHsgVXNlclByb2ZpbGVDb25uZWN0b3IgfSBmcm9tICcuLi9jb25uZWN0b3JzL3VzZXItcHJvZmlsZS5jb25uZWN0b3InO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgVXNlclBhc3N3b3JkU2VydmljZSBpbXBsZW1lbnRzIFVzZXJQYXNzd29yZEZhY2FkZSB7XG4gIHByb3RlY3RlZCB1cGRhdGVDb21tYW5kOiBDb21tYW5kPHtcbiAgICBvbGRQYXNzd29yZDogc3RyaW5nO1xuICAgIG5ld1Bhc3N3b3JkOiBzdHJpbmc7XG4gIH0+ID0gdGhpcy5jb21tYW5kLmNyZWF0ZSgocGF5bG9hZCkgPT5cbiAgICB0aGlzLnVzZXJJZFNlcnZpY2UudGFrZVVzZXJJZCh0cnVlKS5waXBlKFxuICAgICAgdGFrZSgxKSxcbiAgICAgIHN3aXRjaE1hcCgodWlkKSA9PlxuICAgICAgICB0aGlzLnVzZXJQcm9maWxlQ29ubmVjdG9yLnVwZGF0ZVBhc3N3b3JkKFxuICAgICAgICAgIHVpZCxcbiAgICAgICAgICBwYXlsb2FkLm9sZFBhc3N3b3JkLFxuICAgICAgICAgIHBheWxvYWQubmV3UGFzc3dvcmRcbiAgICAgICAgKVxuICAgICAgKVxuICAgIClcbiAgKTtcblxuICBwcm90ZWN0ZWQgcmVzZXRDb21tYW5kOiBDb21tYW5kPHtcbiAgICB0b2tlbjogc3RyaW5nO1xuICAgIHBhc3N3b3JkOiBzdHJpbmc7XG4gIH0+ID0gdGhpcy5jb21tYW5kLmNyZWF0ZSgocGF5bG9hZCkgPT5cbiAgICB0aGlzLnVzZXJQcm9maWxlQ29ubmVjdG9yLnJlc2V0UGFzc3dvcmQocGF5bG9hZC50b2tlbiwgcGF5bG9hZC5wYXNzd29yZClcbiAgKTtcblxuICBwcm90ZWN0ZWQgcmVxdWVzdEZvcmdvdFBhc3N3b3JkRW1haWxDb21tYW5kOiBDb21tYW5kPHtcbiAgICBlbWFpbDogc3RyaW5nO1xuICB9PiA9IHRoaXMuY29tbWFuZC5jcmVhdGUoKHBheWxvYWQpID0+XG4gICAgdGhpcy51c2VyUHJvZmlsZUNvbm5lY3Rvci5yZXF1ZXN0Rm9yZ290UGFzc3dvcmRFbWFpbChwYXlsb2FkLmVtYWlsKVxuICApO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCB1c2VyUHJvZmlsZUNvbm5lY3RvcjogVXNlclByb2ZpbGVDb25uZWN0b3IsXG4gICAgcHJvdGVjdGVkIHVzZXJJZFNlcnZpY2U6IFVzZXJJZFNlcnZpY2UsXG4gICAgcHJvdGVjdGVkIGNvbW1hbmQ6IENvbW1hbmRTZXJ2aWNlXG4gICkge31cblxuICAvKipcbiAgICogVXBkYXRlcyB0aGUgcGFzc3dvcmQgZm9yIHRoZSB1c2VyXG4gICAqXG4gICAqIFRoZSBtZXRob2QgcmV0dXJucyBhbiBvYnNlcnZhYmxlIHdpdGggYExvYWRlclN0YXRlYCBpbmZvcm1hdGlvbiwgaW5jbHVkaW5nIHRoZVxuICAgKiBhY3R1YWwgdXNlciBkYXRhLlxuICAgKlxuICAgKiBAcGFyYW0gb2xkUGFzc3dvcmQgdGhlIGN1cnJlbnQgcGFzc3dvcmQgdGhhdCB3aWxsIGJlIGNoYW5nZWRcbiAgICogQHBhcmFtIG5ld1Bhc3N3b3JkIHRoZSBuZXcgcGFzc3dvcmRcbiAgICovXG4gIHVwZGF0ZShvbGRQYXNzd29yZDogc3RyaW5nLCBuZXdQYXNzd29yZDogc3RyaW5nKTogT2JzZXJ2YWJsZTx1bmtub3duPiB7XG4gICAgcmV0dXJuIHRoaXMudXBkYXRlQ29tbWFuZC5leGVjdXRlKHsgb2xkUGFzc3dvcmQsIG5ld1Bhc3N3b3JkIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlc2V0IG5ldyBwYXNzd29yZC4gUGFydCBvZiB0aGUgZm9yZ290IHBhc3N3b3JkIGZsb3cuXG4gICAqXG4gICAqIEBwYXJhbSB0b2tlblxuICAgKiBAcGFyYW0gcGFzc3dvcmRcbiAgICovXG4gIHJlc2V0KHRva2VuOiBzdHJpbmcsIHBhc3N3b3JkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPHVua25vd24+IHtcbiAgICByZXR1cm4gdGhpcy5yZXNldENvbW1hbmQuZXhlY3V0ZSh7IHRva2VuLCBwYXNzd29yZCB9KTtcbiAgfVxuXG4gIC8qXG4gICAqIFJlcXVlc3QgYW4gZW1haWwgdG8gcmVzZXQgYSBmb3Jnb3R0ZW4gcGFzc3dvcmQuXG4gICAqL1xuICByZXF1ZXN0Rm9yZ290UGFzc3dvcmRFbWFpbChlbWFpbDogc3RyaW5nKTogT2JzZXJ2YWJsZTx1bmtub3duPiB7XG4gICAgcmV0dXJuIHRoaXMucmVxdWVzdEZvcmdvdFBhc3N3b3JkRW1haWxDb21tYW5kLmV4ZWN1dGUoeyBlbWFpbCB9KTtcbiAgfVxufVxuIl19