UNPKG

@spartacus/core

Version:

Spartacus - the core framework

52 lines 12.1 kB
import { __decorate } from "tslib"; import { Injectable } from '@angular/core'; import { Effect, ofType } from '@ngrx/effects'; import { of } from 'rxjs'; import { catchError, concatMap, map } from 'rxjs/operators'; import { GlobalMessageType } from '../../../global-message/models/global-message.model'; import { GlobalMessageActions } from '../../../global-message/store/actions'; import { SiteContextActions } from '../../../site-context/store/actions/index'; import { normalizeHttpError } from '../../../util/normalize-http-error'; import { UserActions } from '../actions/index'; import * as i0 from "@angular/core"; import * as i1 from "@ngrx/effects"; import * as i2 from "../../connectors/consent/user-consent.connector"; export class UserConsentsEffect { constructor(actions$, userConsentConnector) { this.actions$ = actions$; this.userConsentConnector = userConsentConnector; this.resetConsents$ = this.actions$.pipe(ofType(SiteContextActions.LANGUAGE_CHANGE), map(() => new UserActions.ResetLoadUserConsents())); this.getConsents$ = this.actions$.pipe(ofType(UserActions.LOAD_USER_CONSENTS), map((action) => action.payload), concatMap((userId) => this.userConsentConnector.loadConsents(userId).pipe(map((consents) => new UserActions.LoadUserConsentsSuccess(consents)), catchError((error) => of(new UserActions.LoadUserConsentsFail(normalizeHttpError(error))))))); this.giveConsent$ = this.actions$.pipe(ofType(UserActions.GIVE_USER_CONSENT, UserActions.TRANSFER_ANONYMOUS_CONSENT), concatMap((action) => this.userConsentConnector .giveConsent(action.payload.userId, action.payload.consentTemplateId, action.payload.consentTemplateVersion) .pipe(map((consent) => new UserActions.GiveUserConsentSuccess(consent)), catchError((error) => { const errors = [ new UserActions.GiveUserConsentFail(normalizeHttpError(error)), ]; if (action.type === UserActions.TRANSFER_ANONYMOUS_CONSENT && error.status === 409) { errors.push(new GlobalMessageActions.RemoveMessagesByType(GlobalMessageType.MSG_TYPE_ERROR)); } return of(...errors); })))); this.withdrawConsent$ = this.actions$.pipe(ofType(UserActions.WITHDRAW_USER_CONSENT), map((action) => action.payload), concatMap(({ userId, consentCode }) => this.userConsentConnector.withdrawConsent(userId, consentCode).pipe(map(() => new UserActions.WithdrawUserConsentSuccess()), catchError((error) => of(new UserActions.WithdrawUserConsentFail(normalizeHttpError(error))))))); } } UserConsentsEffect.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: UserConsentsEffect, deps: [{ token: i1.Actions }, { token: i2.UserConsentConnector }], target: i0.ɵɵFactoryTarget.Injectable }); UserConsentsEffect.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: UserConsentsEffect }); __decorate([ Effect() ], UserConsentsEffect.prototype, "resetConsents$", void 0); __decorate([ Effect() ], UserConsentsEffect.prototype, "getConsents$", void 0); __decorate([ Effect() ], UserConsentsEffect.prototype, "giveConsent$", void 0); __decorate([ Effect() ], UserConsentsEffect.prototype, "withdrawConsent$", void 0); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: UserConsentsEffect, decorators: [{ type: Injectable }], ctorParameters: function () { return [{ type: i1.Actions }, { type: i2.UserConsentConnector }]; }, propDecorators: { resetConsents$: [], getConsents$: [], giveConsent$: [], withdrawConsent$: [] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1jb25zZW50cy5lZmZlY3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy91c2VyL3N0b3JlL2VmZmVjdHMvdXNlci1jb25zZW50cy5lZmZlY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFXLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEQsT0FBTyxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0QyxPQUFPLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUN4RixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUV4RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7Ozs7QUFHL0MsTUFBTSxPQUFPLGtCQUFrQjtJQTJFN0IsWUFDVSxRQUFpQixFQUNqQixvQkFBMEM7UUFEMUMsYUFBUSxHQUFSLFFBQVEsQ0FBUztRQUNqQix5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXNCO1FBM0VwRCxtQkFBYyxHQUFrRCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FDaEYsTUFBTSxDQUFDLGtCQUFrQixDQUFDLGVBQWUsQ0FBQyxFQUMxQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxXQUFXLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxDQUNuRCxDQUFDO1FBR0YsaUJBQVksR0FBK0MsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQzNFLE1BQU0sQ0FBQyxXQUFXLENBQUMsa0JBQWtCLENBQUMsRUFDdEMsR0FBRyxDQUFDLENBQUMsTUFBb0MsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUM3RCxTQUFTLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUNuQixJQUFJLENBQUMsb0JBQW9CLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FDakQsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxJQUFJLFdBQVcsQ0FBQyx1QkFBdUIsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUNwRSxVQUFVLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUNuQixFQUFFLENBQUMsSUFBSSxXQUFXLENBQUMsb0JBQW9CLENBQUMsa0JBQWtCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUNwRSxDQUNGLENBQ0YsQ0FDRixDQUFDO1FBR0YsaUJBQVksR0FFUixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FDcEIsTUFBTSxDQUNKLFdBQVcsQ0FBQyxpQkFBaUIsRUFDN0IsV0FBVyxDQUFDLDBCQUEwQixDQUN2QyxFQUNELFNBQVMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQ25CLElBQUksQ0FBQyxvQkFBb0I7YUFDdEIsV0FBVyxDQUNWLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUNyQixNQUFNLENBQUMsT0FBTyxDQUFDLGlCQUFpQixFQUNoQyxNQUFNLENBQUMsT0FBTyxDQUFDLHNCQUFzQixDQUN0QzthQUNBLElBQUksQ0FDSCxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLElBQUksV0FBVyxDQUFDLHNCQUFzQixDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQ2pFLFVBQVUsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ25CLE1BQU0sTUFBTSxHQUdSO2dCQUNGLElBQUksV0FBVyxDQUFDLG1CQUFtQixDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxDQUFDO2FBQy9ELENBQUM7WUFDRixJQUNFLE1BQU0sQ0FBQyxJQUFJLEtBQUssV0FBVyxDQUFDLDBCQUEwQjtnQkFDdEQsS0FBSyxDQUFDLE1BQU0sS0FBSyxHQUFHLEVBQ3BCO2dCQUNBLE1BQU0sQ0FBQyxJQUFJLENBQ1QsSUFBSSxvQkFBb0IsQ0FBQyxvQkFBb0IsQ0FDM0MsaUJBQWlCLENBQUMsY0FBYyxDQUNqQyxDQUNGLENBQUM7YUFDSDtZQUNELE9BQU8sRUFBRSxDQUFDLEdBQUcsTUFBTSxDQUFDLENBQUM7UUFDdkIsQ0FBQyxDQUFDLENBQ0gsQ0FDSixDQUNGLENBQUM7UUFHRixxQkFBZ0IsR0FBK0MsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQy9FLE1BQU0sQ0FBQyxXQUFXLENBQUMscUJBQXFCLENBQUMsRUFDekMsR0FBRyxDQUFDLENBQUMsTUFBdUMsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUNoRSxTQUFTLENBQUMsQ0FBQyxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsRUFBRSxFQUFFLENBQ3BDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxlQUFlLENBQUMsTUFBTSxFQUFFLFdBQVcsQ0FBQyxDQUFDLElBQUksQ0FDakUsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksV0FBVyxDQUFDLDBCQUEwQixFQUFFLENBQUMsRUFDdkQsVUFBVSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FDbkIsRUFBRSxDQUFDLElBQUksV0FBVyxDQUFDLHVCQUF1QixDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FDdkUsQ0FDRixDQUNGLENBQ0YsQ0FBQztJQUtDLENBQUM7OytHQTlFTyxrQkFBa0I7bUhBQWxCLGtCQUFrQjtBQUU3QjtJQURDLE1BQU0sRUFBRTswREFJUDtBQUdGO0lBREMsTUFBTSxFQUFFO3dEQVlQO0FBR0Y7SUFEQyxNQUFNLEVBQUU7d0RBc0NQO0FBR0Y7SUFEQyxNQUFNLEVBQUU7NERBWVA7MkZBekVTLGtCQUFrQjtrQkFEOUIsVUFBVTtpSUFHVCxjQUFjLE1BTWQsWUFBWSxNQWNaLFlBQVksTUF3Q1osZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aW9ucywgRWZmZWN0LCBvZlR5cGUgfSBmcm9tICdAbmdyeC9lZmZlY3RzJztcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBjb25jYXRNYXAsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEdsb2JhbE1lc3NhZ2VUeXBlIH0gZnJvbSAnLi4vLi4vLi4vZ2xvYmFsLW1lc3NhZ2UvbW9kZWxzL2dsb2JhbC1tZXNzYWdlLm1vZGVsJztcbmltcG9ydCB7IEdsb2JhbE1lc3NhZ2VBY3Rpb25zIH0gZnJvbSAnLi4vLi4vLi4vZ2xvYmFsLW1lc3NhZ2Uvc3RvcmUvYWN0aW9ucyc7XG5pbXBvcnQgeyBTaXRlQ29udGV4dEFjdGlvbnMgfSBmcm9tICcuLi8uLi8uLi9zaXRlLWNvbnRleHQvc3RvcmUvYWN0aW9ucy9pbmRleCc7XG5pbXBvcnQgeyBub3JtYWxpemVIdHRwRXJyb3IgfSBmcm9tICcuLi8uLi8uLi91dGlsL25vcm1hbGl6ZS1odHRwLWVycm9yJztcbmltcG9ydCB7IFVzZXJDb25zZW50Q29ubmVjdG9yIH0gZnJvbSAnLi4vLi4vY29ubmVjdG9ycy9jb25zZW50L3VzZXItY29uc2VudC5jb25uZWN0b3InO1xuaW1wb3J0IHsgVXNlckFjdGlvbnMgfSBmcm9tICcuLi9hY3Rpb25zL2luZGV4JztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFVzZXJDb25zZW50c0VmZmVjdCB7XG4gIEBFZmZlY3QoKVxuICByZXNldENvbnNlbnRzJDogT2JzZXJ2YWJsZTxVc2VyQWN0aW9ucy5SZXNldExvYWRVc2VyQ29uc2VudHM+ID0gdGhpcy5hY3Rpb25zJC5waXBlKFxuICAgIG9mVHlwZShTaXRlQ29udGV4dEFjdGlvbnMuTEFOR1VBR0VfQ0hBTkdFKSxcbiAgICBtYXAoKCkgPT4gbmV3IFVzZXJBY3Rpb25zLlJlc2V0TG9hZFVzZXJDb25zZW50cygpKVxuICApO1xuXG4gIEBFZmZlY3QoKVxuICBnZXRDb25zZW50cyQ6IE9ic2VydmFibGU8VXNlckFjdGlvbnMuVXNlckNvbnNlbnRzQWN0aW9uPiA9IHRoaXMuYWN0aW9ucyQucGlwZShcbiAgICBvZlR5cGUoVXNlckFjdGlvbnMuTE9BRF9VU0VSX0NPTlNFTlRTKSxcbiAgICBtYXAoKGFjdGlvbjogVXNlckFjdGlvbnMuTG9hZFVzZXJDb25zZW50cykgPT4gYWN0aW9uLnBheWxvYWQpLFxuICAgIGNvbmNhdE1hcCgodXNlcklkKSA9PlxuICAgICAgdGhpcy51c2VyQ29uc2VudENvbm5lY3Rvci5sb2FkQ29uc2VudHModXNlcklkKS5waXBlKFxuICAgICAgICBtYXAoKGNvbnNlbnRzKSA9PiBuZXcgVXNlckFjdGlvbnMuTG9hZFVzZXJDb25zZW50c1N1Y2Nlc3MoY29uc2VudHMpKSxcbiAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3IpID0+XG4gICAgICAgICAgb2YobmV3IFVzZXJBY3Rpb25zLkxvYWRVc2VyQ29uc2VudHNGYWlsKG5vcm1hbGl6ZUh0dHBFcnJvcihlcnJvcikpKVxuICAgICAgICApXG4gICAgICApXG4gICAgKVxuICApO1xuXG4gIEBFZmZlY3QoKVxuICBnaXZlQ29uc2VudCQ6IE9ic2VydmFibGU8XG4gICAgVXNlckFjdGlvbnMuVXNlckNvbnNlbnRzQWN0aW9uIHwgR2xvYmFsTWVzc2FnZUFjdGlvbnMuUmVtb3ZlTWVzc2FnZXNCeVR5cGVcbiAgPiA9IHRoaXMuYWN0aW9ucyQucGlwZShcbiAgICBvZlR5cGU8VXNlckFjdGlvbnMuR2l2ZVVzZXJDb25zZW50IHwgVXNlckFjdGlvbnMuVHJhbnNmZXJBbm9ueW1vdXNDb25zZW50PihcbiAgICAgIFVzZXJBY3Rpb25zLkdJVkVfVVNFUl9DT05TRU5ULFxuICAgICAgVXNlckFjdGlvbnMuVFJBTlNGRVJfQU5PTllNT1VTX0NPTlNFTlRcbiAgICApLFxuICAgIGNvbmNhdE1hcCgoYWN0aW9uKSA9PlxuICAgICAgdGhpcy51c2VyQ29uc2VudENvbm5lY3RvclxuICAgICAgICAuZ2l2ZUNvbnNlbnQoXG4gICAgICAgICAgYWN0aW9uLnBheWxvYWQudXNlcklkLFxuICAgICAgICAgIGFjdGlvbi5wYXlsb2FkLmNvbnNlbnRUZW1wbGF0ZUlkLFxuICAgICAgICAgIGFjdGlvbi5wYXlsb2FkLmNvbnNlbnRUZW1wbGF0ZVZlcnNpb25cbiAgICAgICAgKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBtYXAoKGNvbnNlbnQpID0+IG5ldyBVc2VyQWN0aW9ucy5HaXZlVXNlckNvbnNlbnRTdWNjZXNzKGNvbnNlbnQpKSxcbiAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcikgPT4ge1xuICAgICAgICAgICAgY29uc3QgZXJyb3JzOiBBcnJheTxcbiAgICAgICAgICAgICAgfCBVc2VyQWN0aW9ucy5Vc2VyQ29uc2VudHNBY3Rpb25cbiAgICAgICAgICAgICAgfCBHbG9iYWxNZXNzYWdlQWN0aW9ucy5SZW1vdmVNZXNzYWdlc0J5VHlwZVxuICAgICAgICAgICAgPiA9IFtcbiAgICAgICAgICAgICAgbmV3IFVzZXJBY3Rpb25zLkdpdmVVc2VyQ29uc2VudEZhaWwobm9ybWFsaXplSHR0cEVycm9yKGVycm9yKSksXG4gICAgICAgICAgICBdO1xuICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICBhY3Rpb24udHlwZSA9PT0gVXNlckFjdGlvbnMuVFJBTlNGRVJfQU5PTllNT1VTX0NPTlNFTlQgJiZcbiAgICAgICAgICAgICAgZXJyb3Iuc3RhdHVzID09PSA0MDlcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICBlcnJvcnMucHVzaChcbiAgICAgICAgICAgICAgICBuZXcgR2xvYmFsTWVzc2FnZUFjdGlvbnMuUmVtb3ZlTWVzc2FnZXNCeVR5cGUoXG4gICAgICAgICAgICAgICAgICBHbG9iYWxNZXNzYWdlVHlwZS5NU0dfVFlQRV9FUlJPUlxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBvZiguLi5lcnJvcnMpO1xuICAgICAgICAgIH0pXG4gICAgICAgIClcbiAgICApXG4gICk7XG5cbiAgQEVmZmVjdCgpXG4gIHdpdGhkcmF3Q29uc2VudCQ6IE9ic2VydmFibGU8VXNlckFjdGlvbnMuVXNlckNvbnNlbnRzQWN0aW9uPiA9IHRoaXMuYWN0aW9ucyQucGlwZShcbiAgICBvZlR5cGUoVXNlckFjdGlvbnMuV0lUSERSQVdfVVNFUl9DT05TRU5UKSxcbiAgICBtYXAoKGFjdGlvbjogVXNlckFjdGlvbnMuV2l0aGRyYXdVc2VyQ29uc2VudCkgPT4gYWN0aW9uLnBheWxvYWQpLFxuICAgIGNvbmNhdE1hcCgoeyB1c2VySWQsIGNvbnNlbnRDb2RlIH0pID0+XG4gICAgICB0aGlzLnVzZXJDb25zZW50Q29ubmVjdG9yLndpdGhkcmF3Q29uc2VudCh1c2VySWQsIGNvbnNlbnRDb2RlKS5waXBlKFxuICAgICAgICBtYXAoKCkgPT4gbmV3IFVzZXJBY3Rpb25zLldpdGhkcmF3VXNlckNvbnNlbnRTdWNjZXNzKCkpLFxuICAgICAgICBjYXRjaEVycm9yKChlcnJvcikgPT5cbiAgICAgICAgICBvZihuZXcgVXNlckFjdGlvbnMuV2l0aGRyYXdVc2VyQ29uc2VudEZhaWwobm9ybWFsaXplSHR0cEVycm9yKGVycm9yKSkpXG4gICAgICAgIClcbiAgICAgIClcbiAgICApXG4gICk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBhY3Rpb25zJDogQWN0aW9ucyxcbiAgICBwcml2YXRlIHVzZXJDb25zZW50Q29ubmVjdG9yOiBVc2VyQ29uc2VudENvbm5lY3RvclxuICApIHt9XG59XG4iXX0=