@spartacus/user
Version:
User feature library for Spartacus
33 lines • 5.01 kB
JavaScript
import { Injectable } from '@angular/core';
import { CommandStrategy, } from '@spartacus/core';
import { switchMap } from 'rxjs/operators';
import * as i0 from "@angular/core";
import * as i1 from "@spartacus/core";
import * as i2 from "../connectors/user-profile.connector";
export class UserEmailService {
constructor(userIdService, userProfileConnector, command) {
this.userIdService = userIdService;
this.userProfileConnector = userProfileConnector;
this.command = command;
this.updateCommand = this.command.create((payload) => this.userIdService
.takeUserId(true)
.pipe(switchMap((uid) => this.userProfileConnector.updateEmail(uid, payload.password, payload.newUid))), {
strategy: CommandStrategy.Queue,
});
}
/**
* Updates the user's email.
*
* @param password to users password to confirm the users
* @param newUid the new proposed email address.
*/
update(password, newUid) {
return this.updateCommand.execute({ password, newUid });
}
}
UserEmailService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: UserEmailService, deps: [{ token: i1.UserIdService }, { token: i2.UserProfileConnector }, { token: i1.CommandService }], target: i0.ɵɵFactoryTarget.Injectable });
UserEmailService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: UserEmailService });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: UserEmailService, decorators: [{
type: Injectable
}], ctorParameters: function () { return [{ type: i1.UserIdService }, { type: i2.UserProfileConnector }, { type: i1.CommandService }]; } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1lbWFpbC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vZmVhdHVyZS1saWJzL3VzZXIvcHJvZmlsZS9jb3JlL2ZhY2FkZS91c2VyLWVtYWlsLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBR0wsZUFBZSxHQUVoQixNQUFNLGlCQUFpQixDQUFDO0FBRXpCLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQUszQyxNQUFNLE9BQU8sZ0JBQWdCO0lBQzNCLFlBQ1ksYUFBNEIsRUFDNUIsb0JBQTBDLEVBQzFDLE9BQXVCO1FBRnZCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQzVCLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBc0I7UUFDMUMsWUFBTyxHQUFQLE9BQU8sQ0FBZ0I7UUFHekIsa0JBQWEsR0FHbEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQ3RCLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FDVixJQUFJLENBQUMsYUFBYTthQUNmLFVBQVUsQ0FBQyxJQUFJLENBQUM7YUFDaEIsSUFBSSxDQUNILFNBQVMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQ2hCLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxXQUFXLENBQ25DLEdBQUcsRUFDSCxPQUFPLENBQUMsUUFBUSxFQUNoQixPQUFPLENBQUMsTUFBTSxDQUNmLENBQ0YsQ0FDRixFQUNMO1lBQ0UsUUFBUSxFQUFFLGVBQWUsQ0FBQyxLQUFLO1NBQ2hDLENBQ0YsQ0FBQztJQXJCQyxDQUFDO0lBdUJKOzs7OztPQUtHO0lBQ0gsTUFBTSxDQUFDLFFBQWdCLEVBQUUsTUFBYztRQUNyQyxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDMUQsQ0FBQzs7NkdBcENVLGdCQUFnQjtpSEFBaEIsZ0JBQWdCOzJGQUFoQixnQkFBZ0I7a0JBRDVCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBDb21tYW5kLFxuICBDb21tYW5kU2VydmljZSxcbiAgQ29tbWFuZFN0cmF0ZWd5LFxuICBVc2VySWRTZXJ2aWNlLFxufSBmcm9tICdAc3BhcnRhY3VzL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgc3dpdGNoTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgVXNlckVtYWlsRmFjYWRlIH0gZnJvbSAnQHNwYXJ0YWN1cy91c2VyL3Byb2ZpbGUvcm9vdCc7XG5pbXBvcnQgeyBVc2VyUHJvZmlsZUNvbm5lY3RvciB9IGZyb20gJy4uL2Nvbm5lY3RvcnMvdXNlci1wcm9maWxlLmNvbm5lY3Rvcic7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBVc2VyRW1haWxTZXJ2aWNlIGltcGxlbWVudHMgVXNlckVtYWlsRmFjYWRlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJvdGVjdGVkIHVzZXJJZFNlcnZpY2U6IFVzZXJJZFNlcnZpY2UsXG4gICAgcHJvdGVjdGVkIHVzZXJQcm9maWxlQ29ubmVjdG9yOiBVc2VyUHJvZmlsZUNvbm5lY3RvcixcbiAgICBwcm90ZWN0ZWQgY29tbWFuZDogQ29tbWFuZFNlcnZpY2VcbiAgKSB7fVxuXG4gIHByb3RlY3RlZCB1cGRhdGVDb21tYW5kOiBDb21tYW5kPHtcbiAgICBwYXNzd29yZDogc3RyaW5nO1xuICAgIG5ld1VpZDogc3RyaW5nO1xuICB9PiA9IHRoaXMuY29tbWFuZC5jcmVhdGUoXG4gICAgKHBheWxvYWQpID0+XG4gICAgICB0aGlzLnVzZXJJZFNlcnZpY2VcbiAgICAgICAgLnRha2VVc2VySWQodHJ1ZSlcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgc3dpdGNoTWFwKCh1aWQpID0+XG4gICAgICAgICAgICB0aGlzLnVzZXJQcm9maWxlQ29ubmVjdG9yLnVwZGF0ZUVtYWlsKFxuICAgICAgICAgICAgICB1aWQsXG4gICAgICAgICAgICAgIHBheWxvYWQucGFzc3dvcmQsXG4gICAgICAgICAgICAgIHBheWxvYWQubmV3VWlkXG4gICAgICAgICAgICApXG4gICAgICAgICAgKVxuICAgICAgICApLFxuICAgIHtcbiAgICAgIHN0cmF0ZWd5OiBDb21tYW5kU3RyYXRlZ3kuUXVldWUsXG4gICAgfVxuICApO1xuXG4gIC8qKlxuICAgKiBVcGRhdGVzIHRoZSB1c2VyJ3MgZW1haWwuXG4gICAqXG4gICAqIEBwYXJhbSBwYXNzd29yZCB0byB1c2VycyBwYXNzd29yZCB0byBjb25maXJtIHRoZSB1c2Vyc1xuICAgKiBAcGFyYW0gbmV3VWlkIHRoZSBuZXcgcHJvcG9zZWQgZW1haWwgYWRkcmVzcy5cbiAgICovXG4gIHVwZGF0ZShwYXNzd29yZDogc3RyaW5nLCBuZXdVaWQ6IHN0cmluZyk6IE9ic2VydmFibGU8dW5rbm93bj4ge1xuICAgIHJldHVybiB0aGlzLnVwZGF0ZUNvbW1hbmQuZXhlY3V0ZSh7IHBhc3N3b3JkLCBuZXdVaWQgfSk7XG4gIH1cbn1cbiJdfQ==