UNPKG

@spartacus/cdc

Version:

Customer Data Cloud Integration library for Spartacus

45 lines 5.66 kB
import { Injectable } from '@angular/core'; import { LogoutGuard } from '@spartacus/storefront'; import * as i0 from "@angular/core"; import * as i1 from "@spartacus/core"; import * as i2 from "@angular/router"; /** * @override * * CDC version of logout guard. In addition to token revocation we invoke logout method from CDC JS lib. */ export class CdcLogoutGuard extends LogoutGuard { constructor(auth, cms, semanticPathService, protectedRoutes, router, winRef, authRedirectService) { super(auth, cms, semanticPathService, protectedRoutes, router, authRedirectService); this.auth = auth; this.cms = cms; this.semanticPathService = semanticPathService; this.protectedRoutes = protectedRoutes; this.router = router; this.winRef = winRef; this.authRedirectService = authRedirectService; } /** * Logout user from CDC */ logoutFromCdc() { var _a, _b, _c; (_c = (_b = (_a = this.winRef.nativeWindow) === null || _a === void 0 ? void 0 : _a['gigya']) === null || _b === void 0 ? void 0 : _b.accounts) === null || _c === void 0 ? void 0 : _c.logout(); } /** * @override * @returns promise to resolve after complete logout */ logout() { return Promise.all([super.logout(), this.logoutFromCdc()]); } } CdcLogoutGuard.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: CdcLogoutGuard, deps: [{ token: i1.AuthService }, { token: i1.CmsService }, { token: i1.SemanticPathService }, { token: i1.ProtectedRoutesService }, { token: i2.Router }, { token: i1.WindowRef }, { token: i1.AuthRedirectService }], target: i0.ɵɵFactoryTarget.Injectable }); CdcLogoutGuard.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: CdcLogoutGuard, providedIn: 'root' }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: CdcLogoutGuard, decorators: [{ type: Injectable, args: [{ providedIn: 'root', }] }], ctorParameters: function () { return [{ type: i1.AuthService }, { type: i1.CmsService }, { type: i1.SemanticPathService }, { type: i1.ProtectedRoutesService }, { type: i2.Router }, { type: i1.WindowRef }, { type: i1.AuthRedirectService }]; } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RjLWxvZ291dC5ndWFyZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2ludGVncmF0aW9uLWxpYnMvY2RjL3Jvb3QvZ3VhcmRzL2NkYy1sb2dvdXQuZ3VhcmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQVUzQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7Ozs7QUFFcEQ7Ozs7R0FJRztBQUlILE1BQU0sT0FBTyxjQUFlLFNBQVEsV0FBVztJQUM3QyxZQUNZLElBQWlCLEVBQ2pCLEdBQWUsRUFDZixtQkFBd0MsRUFDeEMsZUFBdUMsRUFDdkMsTUFBYyxFQUNkLE1BQWlCLEVBQ2pCLG1CQUF3QztRQUVsRCxLQUFLLENBQ0gsSUFBSSxFQUNKLEdBQUcsRUFDSCxtQkFBbUIsRUFDbkIsZUFBZSxFQUNmLE1BQU0sRUFDTixtQkFBbUIsQ0FDcEIsQ0FBQztRQWZRLFNBQUksR0FBSixJQUFJLENBQWE7UUFDakIsUUFBRyxHQUFILEdBQUcsQ0FBWTtRQUNmLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFDeEMsb0JBQWUsR0FBZixlQUFlLENBQXdCO1FBQ3ZDLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxXQUFNLEdBQU4sTUFBTSxDQUFXO1FBQ2pCLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7SUFVcEQsQ0FBQztJQUVEOztPQUVHO0lBQ08sYUFBYTs7UUFDckIsTUFBQSxNQUFBLE1BQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUF1QywwQ0FDbEQsT0FBTyxDQUNSLDBDQUFFLFFBQVEsMENBQUUsTUFBTSxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVEOzs7T0FHRztJQUNPLE1BQU07UUFDZCxPQUFPLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLEVBQUUsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUM3RCxDQUFDOzsyR0FuQ1UsY0FBYzsrR0FBZCxjQUFjLGNBRmIsTUFBTTsyRkFFUCxjQUFjO2tCQUgxQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge1xuICBBdXRoUmVkaXJlY3RTZXJ2aWNlLFxuICBBdXRoU2VydmljZSxcbiAgQ21zU2VydmljZSxcbiAgUHJvdGVjdGVkUm91dGVzU2VydmljZSxcbiAgU2VtYW50aWNQYXRoU2VydmljZSxcbiAgV2luZG93UmVmLFxufSBmcm9tICdAc3BhcnRhY3VzL2NvcmUnO1xuaW1wb3J0IHsgTG9nb3V0R3VhcmQgfSBmcm9tICdAc3BhcnRhY3VzL3N0b3JlZnJvbnQnO1xuXG4vKipcbiAqIEBvdmVycmlkZVxuICpcbiAqIENEQyB2ZXJzaW9uIG9mIGxvZ291dCBndWFyZC4gSW4gYWRkaXRpb24gdG8gdG9rZW4gcmV2b2NhdGlvbiB3ZSBpbnZva2UgbG9nb3V0IG1ldGhvZCBmcm9tIENEQyBKUyBsaWIuXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBDZGNMb2dvdXRHdWFyZCBleHRlbmRzIExvZ291dEd1YXJkIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJvdGVjdGVkIGF1dGg6IEF1dGhTZXJ2aWNlLFxuICAgIHByb3RlY3RlZCBjbXM6IENtc1NlcnZpY2UsXG4gICAgcHJvdGVjdGVkIHNlbWFudGljUGF0aFNlcnZpY2U6IFNlbWFudGljUGF0aFNlcnZpY2UsXG4gICAgcHJvdGVjdGVkIHByb3RlY3RlZFJvdXRlczogUHJvdGVjdGVkUm91dGVzU2VydmljZSxcbiAgICBwcm90ZWN0ZWQgcm91dGVyOiBSb3V0ZXIsXG4gICAgcHJvdGVjdGVkIHdpblJlZjogV2luZG93UmVmLFxuICAgIHByb3RlY3RlZCBhdXRoUmVkaXJlY3RTZXJ2aWNlOiBBdXRoUmVkaXJlY3RTZXJ2aWNlXG4gICkge1xuICAgIHN1cGVyKFxuICAgICAgYXV0aCxcbiAgICAgIGNtcyxcbiAgICAgIHNlbWFudGljUGF0aFNlcnZpY2UsXG4gICAgICBwcm90ZWN0ZWRSb3V0ZXMsXG4gICAgICByb3V0ZXIsXG4gICAgICBhdXRoUmVkaXJlY3RTZXJ2aWNlXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBMb2dvdXQgdXNlciBmcm9tIENEQ1xuICAgKi9cbiAgcHJvdGVjdGVkIGxvZ291dEZyb21DZGMoKTogdm9pZCB7XG4gICAgKHRoaXMud2luUmVmLm5hdGl2ZVdpbmRvdyBhcyB7IFtrZXk6IHN0cmluZ106IGFueSB9KT8uW1xuICAgICAgJ2dpZ3lhJ1xuICAgIF0/LmFjY291bnRzPy5sb2dvdXQoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAb3ZlcnJpZGVcbiAgICogQHJldHVybnMgcHJvbWlzZSB0byByZXNvbHZlIGFmdGVyIGNvbXBsZXRlIGxvZ291dFxuICAgKi9cbiAgcHJvdGVjdGVkIGxvZ291dCgpOiBQcm9taXNlPGFueT4ge1xuICAgIHJldHVybiBQcm9taXNlLmFsbChbc3VwZXIubG9nb3V0KCksIHRoaXMubG9nb3V0RnJvbUNkYygpXSk7XG4gIH1cbn1cbiJdfQ==