@spartacus/user
Version:
User feature library for Spartacus
56 lines • 8.09 kB
JavaScript
import { Injectable } from '@angular/core';
import { UserActions, } from '@spartacus/core';
import { tap } from 'rxjs/operators';
import * as i0 from "@angular/core";
import * as i1 from "./user-profile.service";
import * as i2 from "../connectors/user-profile.connector";
import * as i3 from "@spartacus/core";
import * as i4 from "@ngrx/store";
export class UserRegisterService {
constructor(userProfile, userConnector, authService, command, store) {
this.userProfile = userProfile;
this.userConnector = userConnector;
this.authService = authService;
this.command = command;
this.store = store;
this.registerCommand = this.command.create(({ user }) => this.userConnector.register(user).pipe(tap(() => {
// this is a compatibility mechanism only, to make anonymous consents
// management work properly in transitional period (when we move logic
// to separate libraries)
this.store.dispatch(new UserActions.RegisterUserSuccess());
})));
this.registerGuestCommand = this.command.create((payload) => this.userConnector.registerGuest(payload.guid, payload.password).pipe(tap((user) => {
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
this.authService.loginWithCredentials(user.uid, payload.password);
})));
}
/**
* Register a new user.
*
* @param submitFormData as UserRegisterFormData
*/
register(user) {
return this.registerCommand.execute({ user });
}
/**
* Register a new user from guest.
*
* @param guid
* @param password
*/
registerGuest(guid, password) {
return this.registerGuestCommand.execute({ guid, password });
}
/**
* Returns titles that can be used for the user profiles.
*/
getTitles() {
return this.userProfile.getTitles();
}
}
UserRegisterService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: UserRegisterService, deps: [{ token: i1.UserProfileService }, { token: i2.UserProfileConnector }, { token: i3.AuthService }, { token: i3.CommandService }, { token: i4.Store }], target: i0.ɵɵFactoryTarget.Injectable });
UserRegisterService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: UserRegisterService });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: UserRegisterService, decorators: [{
type: Injectable
}], ctorParameters: function () { return [{ type: i1.UserProfileService }, { type: i2.UserProfileConnector }, { type: i3.AuthService }, { type: i3.CommandService }, { type: i4.Store }]; } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1yZWdpc3Rlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vZmVhdHVyZS1saWJzL3VzZXIvcHJvZmlsZS9jb3JlL2ZhY2FkZS91c2VyLXJlZ2lzdGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBSUwsV0FBVyxHQUNaLE1BQU0saUJBQWlCLENBQUM7QUFTekIsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7QUFLckMsTUFBTSxPQUFPLG1CQUFtQjtJQTRCOUIsWUFDWSxXQUErQixFQUMvQixhQUFtQyxFQUNuQyxXQUF3QixFQUN4QixPQUF1QixFQUN2QixLQUFZO1FBSlosZ0JBQVcsR0FBWCxXQUFXLENBQW9CO1FBQy9CLGtCQUFhLEdBQWIsYUFBYSxDQUFzQjtRQUNuQyxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QixZQUFPLEdBQVAsT0FBTyxDQUFnQjtRQUN2QixVQUFLLEdBQUwsS0FBSyxDQUFPO1FBaENkLG9CQUFlLEdBQ3ZCLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLENBQy9CLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FDcEMsR0FBRyxDQUFDLEdBQUcsRUFBRTtZQUNQLHFFQUFxRTtZQUNyRSxzRUFBc0U7WUFDdEUseUJBQXlCO1lBQ3pCLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksV0FBVyxDQUFDLG1CQUFtQixFQUFFLENBQUMsQ0FBQztRQUM3RCxDQUFDLENBQUMsQ0FDSCxDQUNGLENBQUM7UUFFTSx5QkFBb0IsR0FNMUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUNsQyxJQUFJLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxJQUFJLENBQ25FLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ1gsb0VBQW9FO1lBQ3BFLElBQUksQ0FBQyxXQUFXLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLEdBQUksRUFBRSxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDckUsQ0FBQyxDQUFDLENBQ0gsQ0FDRixDQUFDO0lBUUMsQ0FBQztJQUVKOzs7O09BSUc7SUFDSCxRQUFRLENBQUMsSUFBZ0I7UUFDdkIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsYUFBYSxDQUFDLElBQVksRUFBRSxRQUFnQjtRQUMxQyxPQUFPLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxTQUFTO1FBQ1AsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ3RDLENBQUM7O2dIQTVEVSxtQkFBbUI7b0hBQW5CLG1CQUFtQjsyRkFBbkIsbUJBQW1CO2tCQUQvQixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQXV0aFNlcnZpY2UsXG4gIENvbW1hbmQsXG4gIENvbW1hbmRTZXJ2aWNlLFxuICBVc2VyQWN0aW9ucyxcbn0gZnJvbSAnQHNwYXJ0YWN1cy9jb3JlJztcbmltcG9ydCB7IFVzZXIgfSBmcm9tICdAc3BhcnRhY3VzL3VzZXIvYWNjb3VudC9yb290JztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7XG4gIFRpdGxlLFxuICBVc2VyUmVnaXN0ZXJGYWNhZGUsXG4gIFVzZXJTaWduVXAsXG59IGZyb20gJ0BzcGFydGFjdXMvdXNlci9wcm9maWxlL3Jvb3QnO1xuaW1wb3J0IHsgVXNlclByb2ZpbGVDb25uZWN0b3IgfSBmcm9tICcuLi9jb25uZWN0b3JzL3VzZXItcHJvZmlsZS5jb25uZWN0b3InO1xuaW1wb3J0IHsgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgVXNlclByb2ZpbGVTZXJ2aWNlIH0gZnJvbSAnLi91c2VyLXByb2ZpbGUuc2VydmljZSc7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFVzZXJSZWdpc3RlclNlcnZpY2UgaW1wbGVtZW50cyBVc2VyUmVnaXN0ZXJGYWNhZGUge1xuICBwcm90ZWN0ZWQgcmVnaXN0ZXJDb21tYW5kOiBDb21tYW5kPHsgdXNlcjogVXNlclNpZ25VcCB9LCBVc2VyPiA9XG4gICAgdGhpcy5jb21tYW5kLmNyZWF0ZSgoeyB1c2VyIH0pID0+XG4gICAgICB0aGlzLnVzZXJDb25uZWN0b3IucmVnaXN0ZXIodXNlcikucGlwZShcbiAgICAgICAgdGFwKCgpID0+IHtcbiAgICAgICAgICAvLyB0aGlzIGlzIGEgY29tcGF0aWJpbGl0eSBtZWNoYW5pc20gb25seSwgdG8gbWFrZSBhbm9ueW1vdXMgY29uc2VudHNcbiAgICAgICAgICAvLyBtYW5hZ2VtZW50IHdvcmsgcHJvcGVybHkgaW4gdHJhbnNpdGlvbmFsIHBlcmlvZCAod2hlbiB3ZSBtb3ZlIGxvZ2ljXG4gICAgICAgICAgLy8gdG8gc2VwYXJhdGUgbGlicmFyaWVzKVxuICAgICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2gobmV3IFVzZXJBY3Rpb25zLlJlZ2lzdGVyVXNlclN1Y2Nlc3MoKSk7XG4gICAgICAgIH0pXG4gICAgICApXG4gICAgKTtcblxuICBwcm90ZWN0ZWQgcmVnaXN0ZXJHdWVzdENvbW1hbmQ6IENvbW1hbmQ8XG4gICAge1xuICAgICAgZ3VpZDogc3RyaW5nO1xuICAgICAgcGFzc3dvcmQ6IHN0cmluZztcbiAgICB9LFxuICAgIFVzZXJcbiAgPiA9IHRoaXMuY29tbWFuZC5jcmVhdGUoKHBheWxvYWQpID0+XG4gICAgdGhpcy51c2VyQ29ubmVjdG9yLnJlZ2lzdGVyR3Vlc3QocGF5bG9hZC5ndWlkLCBwYXlsb2FkLnBhc3N3b3JkKS5waXBlKFxuICAgICAgdGFwKCh1c2VyKSA9PiB7XG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tbm9uLW51bGwtYXNzZXJ0aW9uXG4gICAgICAgIHRoaXMuYXV0aFNlcnZpY2UubG9naW5XaXRoQ3JlZGVudGlhbHModXNlci51aWQhLCBwYXlsb2FkLnBhc3N3b3JkKTtcbiAgICAgIH0pXG4gICAgKVxuICApO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCB1c2VyUHJvZmlsZTogVXNlclByb2ZpbGVTZXJ2aWNlLFxuICAgIHByb3RlY3RlZCB1c2VyQ29ubmVjdG9yOiBVc2VyUHJvZmlsZUNvbm5lY3RvcixcbiAgICBwcm90ZWN0ZWQgYXV0aFNlcnZpY2U6IEF1dGhTZXJ2aWNlLFxuICAgIHByb3RlY3RlZCBjb21tYW5kOiBDb21tYW5kU2VydmljZSxcbiAgICBwcm90ZWN0ZWQgc3RvcmU6IFN0b3JlXG4gICkge31cblxuICAvKipcbiAgICogUmVnaXN0ZXIgYSBuZXcgdXNlci5cbiAgICpcbiAgICogQHBhcmFtIHN1Ym1pdEZvcm1EYXRhIGFzIFVzZXJSZWdpc3RlckZvcm1EYXRhXG4gICAqL1xuICByZWdpc3Rlcih1c2VyOiBVc2VyU2lnblVwKTogT2JzZXJ2YWJsZTxVc2VyPiB7XG4gICAgcmV0dXJuIHRoaXMucmVnaXN0ZXJDb21tYW5kLmV4ZWN1dGUoeyB1c2VyIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlZ2lzdGVyIGEgbmV3IHVzZXIgZnJvbSBndWVzdC5cbiAgICpcbiAgICogQHBhcmFtIGd1aWRcbiAgICogQHBhcmFtIHBhc3N3b3JkXG4gICAqL1xuICByZWdpc3Rlckd1ZXN0KGd1aWQ6IHN0cmluZywgcGFzc3dvcmQ6IHN0cmluZyk6IE9ic2VydmFibGU8VXNlcj4ge1xuICAgIHJldHVybiB0aGlzLnJlZ2lzdGVyR3Vlc3RDb21tYW5kLmV4ZWN1dGUoeyBndWlkLCBwYXNzd29yZCB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRpdGxlcyB0aGF0IGNhbiBiZSB1c2VkIGZvciB0aGUgdXNlciBwcm9maWxlcy5cbiAgICovXG4gIGdldFRpdGxlcygpOiBPYnNlcnZhYmxlPFRpdGxlW10+IHtcbiAgICByZXR1cm4gdGhpcy51c2VyUHJvZmlsZS5nZXRUaXRsZXMoKTtcbiAgfVxufVxuIl19