@trudb/tru-common-lib 0.0.681 → 0.0.682

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -8,12 +8,14 @@ import * as i0 from "@angular/core";
8
8
  import * as i1 from "@angular/router";
9
9
  import * as i2 from "@angular/common/http";
10
10
  import * as i3 from "./tru-auth-cache";
11
- import * as i4 from "../../../services/tru-app-environment";
11
+ import * as i4 from "../../../services/tru-user";
12
+ import * as i5 from "../../../services/tru-app-environment";
12
13
  export class TruAuth {
13
- constructor(router, http, cache, appEnvironment, auth) {
14
+ constructor(router, http, cache, user, appEnvironment, auth) {
14
15
  this.router = router;
15
16
  this.http = http;
16
17
  this.cache = cache;
18
+ this.user = user;
17
19
  this.appEnvironment = appEnvironment;
18
20
  this.auth = auth;
19
21
  this.loggedIn = new BehaviorSubject(false);
@@ -49,19 +51,20 @@ export class TruAuth {
49
51
  this.router.navigate([""]);
50
52
  }
51
53
  doLogoutUser() {
54
+ this.user.destroy();
52
55
  this.cache.pruneAll();
53
56
  this.auth.doLogoutUser();
54
57
  }
55
58
  }
56
- TruAuth.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: TruAuth, deps: [{ token: i1.Router }, { token: i2.HttpClient }, { token: i3.TruAuthCache }, { token: i4.TruAppEnvironment }, { token: TRU_AUTH_STRATEGY }], target: i0.ɵɵFactoryTarget.Injectable });
59
+ TruAuth.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: TruAuth, deps: [{ token: i1.Router }, { token: i2.HttpClient }, { token: i3.TruAuthCache }, { token: i4.TruUser }, { token: i5.TruAppEnvironment }, { token: TRU_AUTH_STRATEGY }], target: i0.ɵɵFactoryTarget.Injectable });
57
60
  TruAuth.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: TruAuth, providedIn: "root" });
58
61
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: TruAuth, decorators: [{
59
62
  type: Injectable,
60
63
  args: [{
61
64
  providedIn: "root",
62
65
  }]
63
- }], ctorParameters: function () { return [{ type: i1.Router }, { type: i2.HttpClient }, { type: i3.TruAuthCache }, { type: i4.TruAppEnvironment }, { type: undefined, decorators: [{
66
+ }], ctorParameters: function () { return [{ type: i1.Router }, { type: i2.HttpClient }, { type: i3.TruAuthCache }, { type: i4.TruUser }, { type: i5.TruAppEnvironment }, { type: undefined, decorators: [{
64
67
  type: Inject,
65
68
  args: [TRU_AUTH_STRATEGY]
66
69
  }] }]; } });
67
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1LWF1dGguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cnUtY29tbW9uLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvbG9naW4vc2VydmljZXMvdHJ1LWF1dGgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHbkQsT0FBTyxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0QyxPQUFPLEVBQUUsZUFBZSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBR25ELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRS9ELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7O0FBT3RELE1BQU0sT0FBTyxPQUFPO0lBSWxCLFlBQ1UsTUFBYyxFQUNkLElBQWdCLEVBQ2hCLEtBQW1CLEVBQ25CLGNBQWlDLEVBQ04sSUFBMEI7UUFKckQsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLFNBQUksR0FBSixJQUFJLENBQVk7UUFDaEIsVUFBSyxHQUFMLEtBQUssQ0FBYztRQUNuQixtQkFBYyxHQUFkLGNBQWMsQ0FBbUI7UUFDTixTQUFJLEdBQUosSUFBSSxDQUFzQjtRQVJ2RCxhQUFRLEdBQUcsSUFBSSxlQUFlLENBQVUsS0FBSyxDQUFDLENBQUM7UUFDL0MsWUFBTyxHQUFXLEVBQUUsQ0FBQztRQVMzQixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDO0lBQzVDLENBQUM7SUFFRCxLQUFLLENBQUMsWUFBaUM7UUFDckMsT0FBTyxJQUFJLENBQUMsSUFBSTthQUNiLElBQUksQ0FBTSxHQUFHLElBQUksQ0FBQyxPQUFPLEdBQUcsZUFBZSxDQUFDLE9BQU8sUUFBUSxFQUFFLFlBQVksQ0FBQzthQUMxRSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDakIsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDNUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDM0IsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNSLENBQUM7SUFFRCxNQUFNO1FBQ0osSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxXQUFXO1FBQ1QsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLElBQUksQ0FDcEMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUNmLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FDNUIsQ0FBQztJQUNKLENBQUM7SUFFRCxJQUFJLFVBQVU7UUFDWixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUU7WUFDeEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDO1NBQzVDO1FBQ0QsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3RDLENBQUM7SUFFRCxlQUFlO1FBQ2IsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ3BDLENBQUM7SUFFRCwwQkFBMEI7UUFDeEIsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzFCLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRU8sWUFBWTtRQUNsQixJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDM0IsQ0FBQzs7b0dBdERVLE9BQU8sK0hBU1IsaUJBQWlCO3dHQVRoQixPQUFPLGNBRk4sTUFBTTsyRkFFUCxPQUFPO2tCQUhuQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBVUksTUFBTTsyQkFBQyxpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3QgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vbi9odHRwXCI7XHJcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIHRocm93RXJyb3IgfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQgeyBUcnVBdXRoTG9naW5SZXF1ZXN0IH0gZnJvbSBcIi4uL2NsYXNzZXMvdHJ1LWF1dGgtbG9naW4tcmVxdWVzdFwiO1xyXG5pbXBvcnQgeyBUcnVBdXRoQ2FjaGUgfSBmcm9tIFwiLi90cnUtYXV0aC1jYWNoZVwiO1xyXG5pbXBvcnQgeyBUUlVfQVVUSF9TVFJBVEVHWSB9IGZyb20gXCIuLi9jbGFzc2VzL3RydS1hdXRoLWNvbmZpZ1wiO1xyXG5pbXBvcnQgeyBUcnVBdXRoU3RyYXRlZ3kgfSBmcm9tIFwiLi4vY2xhc3Nlcy90cnUtYXV0aC1jb25maWdcIjtcclxuaW1wb3J0IHsgVFJVX0FVVEhfQ09ORklHIH0gZnJvbSBcIi4uL2NsYXNzZXMvdHJ1LWF1dGgtY29uZmlnXCI7XHJcbmltcG9ydCB7IHRhcCwgbWFwLCBjYXRjaEVycm9yIH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XHJcbmltcG9ydCB7IFRydVVzZXIgfSBmcm9tIFwiLi4vLi4vLi4vc2VydmljZXMvdHJ1LXVzZXJcIjtcclxuaW1wb3J0IHsgVHJ1QXBwRW52aXJvbm1lbnQgfSBmcm9tIFwiLi4vLi4vLi4vc2VydmljZXMvdHJ1LWFwcC1lbnZpcm9ubWVudFwiO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46IFwicm9vdFwiLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVHJ1QXV0aCB7XHJcbiAgcHJpdmF0ZSBsb2dnZWRJbiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xyXG4gIHByaXZhdGUgYmFzZVVybDogc3RyaW5nID0gJyc7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcclxuICAgIHByaXZhdGUgaHR0cDogSHR0cENsaWVudCxcclxuICAgIHByaXZhdGUgY2FjaGU6IFRydUF1dGhDYWNoZSxcclxuICAgIHByaXZhdGUgYXBwRW52aXJvbm1lbnQ6IFRydUFwcEVudmlyb25tZW50LFxyXG4gICAgQEluamVjdChUUlVfQVVUSF9TVFJBVEVHWSkgcHJpdmF0ZSBhdXRoOiBUcnVBdXRoU3RyYXRlZ3k8YW55PlxyXG4gICkge1xyXG4gICAgdGhpcy5iYXNlVXJsID0gdGhpcy5hcHBFbnZpcm9ubWVudC5hcHBVcmk7XHJcbiAgfVxyXG5cclxuICBsb2dpbihsb2dpblJlcXVlc3Q6IFRydUF1dGhMb2dpblJlcXVlc3QpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cFxyXG4gICAgICAucG9zdDxhbnk+KGAke3RoaXMuYmFzZVVybH0ke1RSVV9BVVRIX0NPTkZJRy5hdXRoVXJsfS9sb2dpbmAsIGxvZ2luUmVxdWVzdClcclxuICAgICAgLnBpcGUodGFwKChkYXRhKSA9PiB7XHJcbiAgICAgICAgdGhpcy5hdXRoLmRvTG9naW5Vc2VyKGRhdGEpO1xyXG4gICAgICAgIHRoaXMubG9nZ2VkSW4ubmV4dCh0cnVlKTtcclxuICAgICAgfSkpO1xyXG4gIH1cclxuXHJcbiAgbG9nb3V0KCkge1xyXG4gICAgdGhpcy5kb0xvZ291dFVzZXIoKTtcclxuICB9XHJcblxyXG4gIGlzTG9nZ2VkSW4kKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xyXG4gICAgcmV0dXJuIHRoaXMuYXV0aC5nZXRDdXJyZW50VXNlcigpLnBpcGUoXHJcbiAgICAgIG1hcCgoKSA9PiB0cnVlKSxcclxuICAgICAgY2F0Y2hFcnJvcigoKSA9PiBvZihmYWxzZSkpXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGlzTG9nZ2VkSW4oKSB7XHJcbiAgICBpZiAoIXRoaXMubG9nZ2VkSW4udmFsdWUpIHtcclxuICAgICAgdGhpcy5sb2dnZWRJbi5uZXh0KHRoaXMuYXV0aC5pc0xvZ2dlZEluKCkpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXMubG9nZ2VkSW4uYXNPYnNlcnZhYmxlKCk7XHJcbiAgfVxyXG5cclxuICBnZXRDdXJyZW50VXNlciQoKTogT2JzZXJ2YWJsZTxUcnVVc2VyIHwgdW5kZWZpbmVkPiB7XHJcbiAgICByZXR1cm4gdGhpcy5hdXRoLmdldEN1cnJlbnRVc2VyKCk7XHJcbiAgfVxyXG5cclxuICBkb0xvZ291dEFuZFJlZGlyZWN0VG9Mb2dpbigpIHtcclxuICAgIHRoaXMuZG9Mb2dvdXRVc2VyKCk7XHJcbiAgICB0aGlzLmxvZ2dlZEluLm5leHQoZmFsc2UpO1xyXG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW1wiXCJdKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZG9Mb2dvdXRVc2VyKCkge1xyXG4gICAgdGhpcy5jYWNoZS5wcnVuZUFsbCgpO1xyXG4gICAgdGhpcy5hdXRoLmRvTG9nb3V0VXNlcigpO1xyXG4gIH1cclxufVxyXG4iXX0=
70
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1LWF1dGguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cnUtY29tbW9uLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvbG9naW4vc2VydmljZXMvdHJ1LWF1dGgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHbkQsT0FBTyxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0QyxPQUFPLEVBQUUsZUFBZSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBR25ELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRS9ELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7OztBQU90RCxNQUFNLE9BQU8sT0FBTztJQUlsQixZQUNVLE1BQWMsRUFDZCxJQUFnQixFQUNoQixLQUFtQixFQUNuQixJQUFhLEVBQ2IsY0FBaUMsRUFDTixJQUEwQjtRQUxyRCxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNoQixVQUFLLEdBQUwsS0FBSyxDQUFjO1FBQ25CLFNBQUksR0FBSixJQUFJLENBQVM7UUFDYixtQkFBYyxHQUFkLGNBQWMsQ0FBbUI7UUFDTixTQUFJLEdBQUosSUFBSSxDQUFzQjtRQVR2RCxhQUFRLEdBQUcsSUFBSSxlQUFlLENBQVUsS0FBSyxDQUFDLENBQUM7UUFDL0MsWUFBTyxHQUFXLEVBQUUsQ0FBQztRQVUzQixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDO0lBQzVDLENBQUM7SUFFRCxLQUFLLENBQUMsWUFBaUM7UUFDckMsT0FBTyxJQUFJLENBQUMsSUFBSTthQUNiLElBQUksQ0FBTSxHQUFHLElBQUksQ0FBQyxPQUFPLEdBQUcsZUFBZSxDQUFDLE9BQU8sUUFBUSxFQUFFLFlBQVksQ0FBQzthQUMxRSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDakIsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDNUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDM0IsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNSLENBQUM7SUFFRCxNQUFNO1FBQ0osSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxXQUFXO1FBQ1QsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLElBQUksQ0FDcEMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUNmLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FDNUIsQ0FBQztJQUNKLENBQUM7SUFFRCxJQUFJLFVBQVU7UUFDWixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUU7WUFDeEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDO1NBQzVDO1FBQ0QsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3RDLENBQUM7SUFFRCxlQUFlO1FBQ2IsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ3BDLENBQUM7SUFFRCwwQkFBMEI7UUFDeEIsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzFCLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRU8sWUFBWTtRQUNsQixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDdEIsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUMzQixDQUFDOztvR0F4RFUsT0FBTyxzSkFVUixpQkFBaUI7d0dBVmhCLE9BQU8sY0FGTixNQUFNOzJGQUVQLE9BQU87a0JBSG5CLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFXSSxNQUFNOzJCQUFDLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIEluamVjdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uL2h0dHBcIjtcclxuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSBcIkBhbmd1bGFyL3JvdXRlclwiO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiB9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgdGhyb3dFcnJvciB9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7IFRydUF1dGhMb2dpblJlcXVlc3QgfSBmcm9tIFwiLi4vY2xhc3Nlcy90cnUtYXV0aC1sb2dpbi1yZXF1ZXN0XCI7XHJcbmltcG9ydCB7IFRydUF1dGhDYWNoZSB9IGZyb20gXCIuL3RydS1hdXRoLWNhY2hlXCI7XHJcbmltcG9ydCB7IFRSVV9BVVRIX1NUUkFURUdZIH0gZnJvbSBcIi4uL2NsYXNzZXMvdHJ1LWF1dGgtY29uZmlnXCI7XHJcbmltcG9ydCB7IFRydUF1dGhTdHJhdGVneSB9IGZyb20gXCIuLi9jbGFzc2VzL3RydS1hdXRoLWNvbmZpZ1wiO1xyXG5pbXBvcnQgeyBUUlVfQVVUSF9DT05GSUcgfSBmcm9tIFwiLi4vY2xhc3Nlcy90cnUtYXV0aC1jb25maWdcIjtcclxuaW1wb3J0IHsgdGFwLCBtYXAsIGNhdGNoRXJyb3IgfSBmcm9tIFwicnhqcy9vcGVyYXRvcnNcIjtcclxuaW1wb3J0IHsgVHJ1VXNlciB9IGZyb20gXCIuLi8uLi8uLi9zZXJ2aWNlcy90cnUtdXNlclwiO1xyXG5pbXBvcnQgeyBUcnVBcHBFbnZpcm9ubWVudCB9IGZyb20gXCIuLi8uLi8uLi9zZXJ2aWNlcy90cnUtYXBwLWVudmlyb25tZW50XCI7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogXCJyb290XCIsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUcnVBdXRoIHtcclxuICBwcml2YXRlIGxvZ2dlZEluID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XHJcbiAgcHJpdmF0ZSBiYXNlVXJsOiBzdHJpbmcgPSAnJztcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxyXG4gICAgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LFxyXG4gICAgcHJpdmF0ZSBjYWNoZTogVHJ1QXV0aENhY2hlLFxyXG4gICAgcHJpdmF0ZSB1c2VyOiBUcnVVc2VyLFxyXG4gICAgcHJpdmF0ZSBhcHBFbnZpcm9ubWVudDogVHJ1QXBwRW52aXJvbm1lbnQsXHJcbiAgICBASW5qZWN0KFRSVV9BVVRIX1NUUkFURUdZKSBwcml2YXRlIGF1dGg6IFRydUF1dGhTdHJhdGVneTxhbnk+XHJcbiAgKSB7XHJcbiAgICB0aGlzLmJhc2VVcmwgPSB0aGlzLmFwcEVudmlyb25tZW50LmFwcFVyaTtcclxuICB9XHJcblxyXG4gIGxvZ2luKGxvZ2luUmVxdWVzdDogVHJ1QXV0aExvZ2luUmVxdWVzdCk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwXHJcbiAgICAgIC5wb3N0PGFueT4oYCR7dGhpcy5iYXNlVXJsfSR7VFJVX0FVVEhfQ09ORklHLmF1dGhVcmx9L2xvZ2luYCwgbG9naW5SZXF1ZXN0KVxyXG4gICAgICAucGlwZSh0YXAoKGRhdGEpID0+IHtcclxuICAgICAgICB0aGlzLmF1dGguZG9Mb2dpblVzZXIoZGF0YSk7XHJcbiAgICAgICAgdGhpcy5sb2dnZWRJbi5uZXh0KHRydWUpO1xyXG4gICAgICB9KSk7XHJcbiAgfVxyXG5cclxuICBsb2dvdXQoKSB7XHJcbiAgICB0aGlzLmRvTG9nb3V0VXNlcigpO1xyXG4gIH1cclxuXHJcbiAgaXNMb2dnZWRJbiQoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XHJcbiAgICByZXR1cm4gdGhpcy5hdXRoLmdldEN1cnJlbnRVc2VyKCkucGlwZShcclxuICAgICAgbWFwKCgpID0+IHRydWUpLFxyXG4gICAgICBjYXRjaEVycm9yKCgpID0+IG9mKGZhbHNlKSlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBnZXQgaXNMb2dnZWRJbigpIHtcclxuICAgIGlmICghdGhpcy5sb2dnZWRJbi52YWx1ZSkge1xyXG4gICAgICB0aGlzLmxvZ2dlZEluLm5leHQodGhpcy5hdXRoLmlzTG9nZ2VkSW4oKSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcy5sb2dnZWRJbi5hc09ic2VydmFibGUoKTtcclxuICB9XHJcblxyXG4gIGdldEN1cnJlbnRVc2VyJCgpOiBPYnNlcnZhYmxlPFRydVVzZXIgfCB1bmRlZmluZWQ+IHtcclxuICAgIHJldHVybiB0aGlzLmF1dGguZ2V0Q3VycmVudFVzZXIoKTtcclxuICB9XHJcblxyXG4gIGRvTG9nb3V0QW5kUmVkaXJlY3RUb0xvZ2luKCkge1xyXG4gICAgdGhpcy5kb0xvZ291dFVzZXIoKTtcclxuICAgIHRoaXMubG9nZ2VkSW4ubmV4dChmYWxzZSk7XHJcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbXCJcIl0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBkb0xvZ291dFVzZXIoKSB7XHJcbiAgICB0aGlzLnVzZXIuZGVzdHJveSgpO1xyXG4gICAgdGhpcy5jYWNoZS5wcnVuZUFsbCgpO1xyXG4gICAgdGhpcy5hdXRoLmRvTG9nb3V0VXNlcigpO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -9,25 +9,26 @@ export class TruUser {
9
9
  this._lastName = null;
10
10
  this._email = null;
11
11
  this._roles = null;
12
- this._userSet = false;
13
12
  this.hasRoles = (roles) => {
14
13
  if (this._roles === null)
15
14
  return true;
16
15
  return _.intersection(roles, this._roles).length > 0;
17
16
  };
18
17
  this.create = (user) => {
19
- if (!this._userSet) {
20
- this._ref = user.activeUserRef;
21
- this._username = user.username;
22
- this._firstName = user.firstName;
23
- this._lastName = user.lastName;
24
- this._email = user.email;
25
- this._roles = user.roles;
26
- this._userSet = true;
27
- }
28
- else {
29
- throw new Error('User has already been set for this session.');
30
- }
18
+ this._ref = user.activeUserRef;
19
+ this._username = user.username;
20
+ this._firstName = user.firstName;
21
+ this._lastName = user.lastName;
22
+ this._email = user.email;
23
+ this._roles = user.roles;
24
+ };
25
+ this.destroy = () => {
26
+ this._ref = -1;
27
+ this._username = null;
28
+ this._firstName = null;
29
+ this._lastName = null;
30
+ this._email = null;
31
+ this._roles = null;
31
32
  };
32
33
  }
33
34
  get activeUserRef() {
@@ -59,4 +60,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImpor
59
60
  providedIn: 'root',
60
61
  }]
61
62
  }], ctorParameters: function () { return []; } });
62
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1LXVzZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cnUtY29tbW9uLWxpYi9zcmMvbGliL3NlcnZpY2VzL3RydS11c2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxLQUFLLENBQUMsTUFBTSxZQUFZLENBQUM7O0FBS2hDLE1BQU0sT0FBTyxPQUFPO0lBU2xCO1FBUlEsU0FBSSxHQUFXLENBQUMsQ0FBQyxDQUFDO1FBQ2xCLGNBQVMsR0FBa0IsSUFBSSxDQUFDO1FBQ2hDLGVBQVUsR0FBa0IsSUFBSSxDQUFDO1FBQ2pDLGNBQVMsR0FBa0IsSUFBSSxDQUFDO1FBQ2hDLFdBQU0sR0FBa0IsSUFBSSxDQUFDO1FBQzdCLFdBQU0sR0FBb0IsSUFBSSxDQUFDO1FBQy9CLGFBQVEsR0FBWSxLQUFLLENBQUM7UUE4QmxDLGFBQVEsR0FBRyxDQUFDLEtBQWUsRUFBRSxFQUFFO1lBQzdCLElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxJQUFJO2dCQUN0QixPQUFPLElBQUksQ0FBQztZQUNkLE9BQU8sQ0FBQyxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7UUFDdkQsQ0FBQyxDQUFDO1FBRUYsV0FBTSxHQUFHLENBQUMsSUFBYyxFQUFRLEVBQUU7WUFDaEMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUU7Z0JBQ2xCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQztnQkFDL0IsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO2dCQUMvQixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7Z0JBQ2pDLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQztnQkFDL0IsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO2dCQUN6QixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7Z0JBQ3pCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO2FBQ3RCO2lCQUFNO2dCQUNMLE1BQU0sSUFBSSxLQUFLLENBQUMsNkNBQTZDLENBQUMsQ0FBQzthQUNoRTtRQUNILENBQUMsQ0FBQTtJQTlDYyxDQUFDO0lBRWhCLElBQUksYUFBYTtRQUNmLElBQUksSUFBSSxDQUFDLElBQUksR0FBRyxDQUFDO1lBQ2YsTUFBTSxJQUFJLEtBQUssQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUNuQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDbkIsQ0FBQztJQUVELElBQUksUUFBUTtRQUNWLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDO0lBRUQsSUFBSSxTQUFTO1FBQ1gsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxJQUFJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztJQUVELElBQUksS0FBSztRQUNQLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0lBRUQsSUFBSSxLQUFLO1FBQ1AsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3JCLENBQUM7O29HQW5DVSxPQUFPO3dHQUFQLE9BQU8sY0FGTixNQUFNOzJGQUVQLE9BQU87a0JBSG5CLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgKiBhcyBfIGZyb20gJ3VuZGVyc2NvcmUnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIFRydVVzZXIgaW1wbGVtZW50cyBJVHJ1VXNlciB7XHJcbiAgcHJpdmF0ZSBfcmVmOiBudW1iZXIgPSAtMTtcclxuICBwcml2YXRlIF91c2VybmFtZTogc3RyaW5nIHwgbnVsbCA9IG51bGw7XHJcbiAgcHJpdmF0ZSBfZmlyc3ROYW1lOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcclxuICBwcml2YXRlIF9sYXN0TmFtZTogc3RyaW5nIHwgbnVsbCA9IG51bGw7XHJcbiAgcHJpdmF0ZSBfZW1haWw6IHN0cmluZyB8IG51bGwgPSBudWxsO1xyXG4gIHByaXZhdGUgX3JvbGVzOiBzdHJpbmdbXSB8IG51bGwgPSBudWxsO1xyXG4gIHByaXZhdGUgX3VzZXJTZXQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7fVxyXG5cclxuICBnZXQgYWN0aXZlVXNlclJlZigpOiBudW1iZXIge1xyXG4gICAgaWYgKHRoaXMuX3JlZiA8IDApXHJcbiAgICAgIHRocm93IG5ldyBFcnJvcignSW5hdmxpZCBVc2VyLicpO1xyXG4gICAgcmV0dXJuIHRoaXMuX3JlZjtcclxuICB9XHJcblxyXG4gIGdldCB1c2VybmFtZSgpOiBzdHJpbmcgfCBudWxsIHtcclxuICAgIHJldHVybiB0aGlzLl91c2VybmFtZTtcclxuICB9XHJcblxyXG4gIGdldCBmaXJzdE5hbWUoKTogc3RyaW5nIHwgbnVsbCB7XHJcbiAgICByZXR1cm4gdGhpcy5fZmlyc3ROYW1lO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGxhc3ROYW1lKCk6IHN0cmluZyB8IG51bGwge1xyXG4gICAgcmV0dXJuIHRoaXMuX2xhc3ROYW1lO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGVtYWlsKCk6IHN0cmluZyB8IG51bGwge1xyXG4gICAgcmV0dXJuIHRoaXMuX2VtYWlsO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHJvbGVzKCk6IHN0cmluZ1tdIHwgbnVsbCB7XHJcbiAgICByZXR1cm4gdGhpcy5fcm9sZXM7XHJcbiAgfVxyXG5cclxuICBoYXNSb2xlcyA9IChyb2xlczogc3RyaW5nW10pID0+IHtcclxuICAgIGlmICh0aGlzLl9yb2xlcyA9PT0gbnVsbClcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICByZXR1cm4gXy5pbnRlcnNlY3Rpb24ocm9sZXMsIHRoaXMuX3JvbGVzKS5sZW5ndGggPiAwOyBcclxuICB9O1xyXG5cclxuICBjcmVhdGUgPSAodXNlcjogSVRydVVzZXIpOiB2b2lkID0+IHtcclxuICAgIGlmICghdGhpcy5fdXNlclNldCkge1xyXG4gICAgICB0aGlzLl9yZWYgPSB1c2VyLmFjdGl2ZVVzZXJSZWY7XHJcbiAgICAgIHRoaXMuX3VzZXJuYW1lID0gdXNlci51c2VybmFtZTtcclxuICAgICAgdGhpcy5fZmlyc3ROYW1lID0gdXNlci5maXJzdE5hbWU7XHJcbiAgICAgIHRoaXMuX2xhc3ROYW1lID0gdXNlci5sYXN0TmFtZTtcclxuICAgICAgdGhpcy5fZW1haWwgPSB1c2VyLmVtYWlsO1xyXG4gICAgICB0aGlzLl9yb2xlcyA9IHVzZXIucm9sZXM7XHJcbiAgICAgIHRoaXMuX3VzZXJTZXQgPSB0cnVlO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKCdVc2VyIGhhcyBhbHJlYWR5IGJlZW4gc2V0IGZvciB0aGlzIHNlc3Npb24uJyk7XHJcbiAgICB9XHJcbiAgfSBcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJVHJ1VXNlciB7XHJcbiAgYWN0aXZlVXNlclJlZjogbnVtYmVyO1xyXG4gIHVzZXJuYW1lOiBzdHJpbmcgfCBudWxsO1xyXG4gIGZpcnN0TmFtZTogc3RyaW5nIHwgbnVsbDtcclxuICBsYXN0TmFtZTogc3RyaW5nIHwgbnVsbDtcclxuICBlbWFpbDogc3RyaW5nIHwgbnVsbDtcclxuICByb2xlczogc3RyaW5nW10gfCBudWxsO1xyXG59XHJcbiJdfQ==
63
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1LXVzZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cnUtY29tbW9uLWxpYi9zcmMvbGliL3NlcnZpY2VzL3RydS11c2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxLQUFLLENBQUMsTUFBTSxZQUFZLENBQUM7O0FBS2hDLE1BQU0sT0FBTyxPQUFPO0lBUWxCO1FBUFEsU0FBSSxHQUFXLENBQUMsQ0FBQyxDQUFDO1FBQ2xCLGNBQVMsR0FBa0IsSUFBSSxDQUFDO1FBQ2hDLGVBQVUsR0FBa0IsSUFBSSxDQUFDO1FBQ2pDLGNBQVMsR0FBa0IsSUFBSSxDQUFDO1FBQ2hDLFdBQU0sR0FBa0IsSUFBSSxDQUFDO1FBQzdCLFdBQU0sR0FBb0IsSUFBSSxDQUFDO1FBOEJ2QyxhQUFRLEdBQUcsQ0FBQyxLQUFlLEVBQUUsRUFBRTtZQUM3QixJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssSUFBSTtnQkFDdEIsT0FBTyxJQUFJLENBQUM7WUFDZCxPQUFPLENBQUMsQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1FBQ3ZELENBQUMsQ0FBQztRQUVGLFdBQU0sR0FBRyxDQUFDLElBQWMsRUFBUSxFQUFFO1lBQ2hDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQztZQUMvQixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7WUFDL0IsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO1lBQ2pDLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQztZQUMvQixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7WUFDekIsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQzNCLENBQUMsQ0FBQTtRQUVELFlBQU8sR0FBRyxHQUFTLEVBQUU7WUFDbkIsSUFBSSxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQztZQUNmLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1lBQ3RCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1lBQ3RCLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1lBQ25CLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1FBQ3JCLENBQUMsQ0FBQTtJQWxEYyxDQUFDO0lBRWhCLElBQUksYUFBYTtRQUNmLElBQUksSUFBSSxDQUFDLElBQUksR0FBRyxDQUFDO1lBQ2YsTUFBTSxJQUFJLEtBQUssQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUNuQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDbkIsQ0FBQztJQUVELElBQUksUUFBUTtRQUNWLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDO0lBRUQsSUFBSSxTQUFTO1FBQ1gsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxJQUFJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztJQUVELElBQUksS0FBSztRQUNQLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0lBRUQsSUFBSSxLQUFLO1FBQ1AsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3JCLENBQUM7O29HQWxDVSxPQUFPO3dHQUFQLE9BQU8sY0FGTixNQUFNOzJGQUVQLE9BQU87a0JBSG5CLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgKiBhcyBfIGZyb20gJ3VuZGVyc2NvcmUnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIFRydVVzZXIgaW1wbGVtZW50cyBJVHJ1VXNlciB7XHJcbiAgcHJpdmF0ZSBfcmVmOiBudW1iZXIgPSAtMTtcclxuICBwcml2YXRlIF91c2VybmFtZTogc3RyaW5nIHwgbnVsbCA9IG51bGw7XHJcbiAgcHJpdmF0ZSBfZmlyc3ROYW1lOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcclxuICBwcml2YXRlIF9sYXN0TmFtZTogc3RyaW5nIHwgbnVsbCA9IG51bGw7XHJcbiAgcHJpdmF0ZSBfZW1haWw6IHN0cmluZyB8IG51bGwgPSBudWxsO1xyXG4gIHByaXZhdGUgX3JvbGVzOiBzdHJpbmdbXSB8IG51bGwgPSBudWxsO1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHt9XHJcblxyXG4gIGdldCBhY3RpdmVVc2VyUmVmKCk6IG51bWJlciB7XHJcbiAgICBpZiAodGhpcy5fcmVmIDwgMClcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbmF2bGlkIFVzZXIuJyk7XHJcbiAgICByZXR1cm4gdGhpcy5fcmVmO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHVzZXJuYW1lKCk6IHN0cmluZyB8IG51bGwge1xyXG4gICAgcmV0dXJuIHRoaXMuX3VzZXJuYW1lO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGZpcnN0TmFtZSgpOiBzdHJpbmcgfCBudWxsIHtcclxuICAgIHJldHVybiB0aGlzLl9maXJzdE5hbWU7XHJcbiAgfVxyXG5cclxuICBnZXQgbGFzdE5hbWUoKTogc3RyaW5nIHwgbnVsbCB7XHJcbiAgICByZXR1cm4gdGhpcy5fbGFzdE5hbWU7XHJcbiAgfVxyXG5cclxuICBnZXQgZW1haWwoKTogc3RyaW5nIHwgbnVsbCB7XHJcbiAgICByZXR1cm4gdGhpcy5fZW1haWw7XHJcbiAgfVxyXG5cclxuICBnZXQgcm9sZXMoKTogc3RyaW5nW10gfCBudWxsIHtcclxuICAgIHJldHVybiB0aGlzLl9yb2xlcztcclxuICB9XHJcblxyXG4gIGhhc1JvbGVzID0gKHJvbGVzOiBzdHJpbmdbXSkgPT4ge1xyXG4gICAgaWYgKHRoaXMuX3JvbGVzID09PSBudWxsKVxyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIHJldHVybiBfLmludGVyc2VjdGlvbihyb2xlcywgdGhpcy5fcm9sZXMpLmxlbmd0aCA+IDA7IFxyXG4gIH07XHJcblxyXG4gIGNyZWF0ZSA9ICh1c2VyOiBJVHJ1VXNlcik6IHZvaWQgPT4ge1xyXG4gICAgdGhpcy5fcmVmID0gdXNlci5hY3RpdmVVc2VyUmVmO1xyXG4gICAgdGhpcy5fdXNlcm5hbWUgPSB1c2VyLnVzZXJuYW1lO1xyXG4gICAgdGhpcy5fZmlyc3ROYW1lID0gdXNlci5maXJzdE5hbWU7XHJcbiAgICB0aGlzLl9sYXN0TmFtZSA9IHVzZXIubGFzdE5hbWU7XHJcbiAgICB0aGlzLl9lbWFpbCA9IHVzZXIuZW1haWw7XHJcbiAgICB0aGlzLl9yb2xlcyA9IHVzZXIucm9sZXM7XHJcbiAgfVxyXG5cclxuICBkZXN0cm95ID0gKCk6IHZvaWQgPT4ge1xyXG4gICAgdGhpcy5fcmVmID0gLTE7XHJcbiAgICB0aGlzLl91c2VybmFtZSA9IG51bGw7XHJcbiAgICB0aGlzLl9maXJzdE5hbWUgPSBudWxsO1xyXG4gICAgdGhpcy5fbGFzdE5hbWUgPSBudWxsO1xyXG4gICAgdGhpcy5fZW1haWwgPSBudWxsO1xyXG4gICAgdGhpcy5fcm9sZXMgPSBudWxsO1xyXG4gIH0gXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSVRydVVzZXIge1xyXG4gIGFjdGl2ZVVzZXJSZWY6IG51bWJlcjtcclxuICB1c2VybmFtZTogc3RyaW5nIHwgbnVsbDtcclxuICBmaXJzdE5hbWU6IHN0cmluZyB8IG51bGw7XHJcbiAgbGFzdE5hbWU6IHN0cmluZyB8IG51bGw7XHJcbiAgZW1haWw6IHN0cmluZyB8IG51bGw7XHJcbiAgcm9sZXM6IHN0cmluZ1tdIHwgbnVsbDtcclxufVxyXG4iXX0=
@@ -283,25 +283,26 @@ class TruUser {
283
283
  this._lastName = null;
284
284
  this._email = null;
285
285
  this._roles = null;
286
- this._userSet = false;
287
286
  this.hasRoles = (roles) => {
288
287
  if (this._roles === null)
289
288
  return true;
290
289
  return _.intersection(roles, this._roles).length > 0;
291
290
  };
292
291
  this.create = (user) => {
293
- if (!this._userSet) {
294
- this._ref = user.activeUserRef;
295
- this._username = user.username;
296
- this._firstName = user.firstName;
297
- this._lastName = user.lastName;
298
- this._email = user.email;
299
- this._roles = user.roles;
300
- this._userSet = true;
301
- }
302
- else {
303
- throw new Error('User has already been set for this session.');
304
- }
292
+ this._ref = user.activeUserRef;
293
+ this._username = user.username;
294
+ this._firstName = user.firstName;
295
+ this._lastName = user.lastName;
296
+ this._email = user.email;
297
+ this._roles = user.roles;
298
+ };
299
+ this.destroy = () => {
300
+ this._ref = -1;
301
+ this._username = null;
302
+ this._firstName = null;
303
+ this._lastName = null;
304
+ this._email = null;
305
+ this._roles = null;
305
306
  };
306
307
  }
307
308
  get activeUserRef() {
@@ -3665,10 +3666,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImpor
3665
3666
  }] });
3666
3667
 
3667
3668
  class TruAuth {
3668
- constructor(router, http, cache, appEnvironment, auth) {
3669
+ constructor(router, http, cache, user, appEnvironment, auth) {
3669
3670
  this.router = router;
3670
3671
  this.http = http;
3671
3672
  this.cache = cache;
3673
+ this.user = user;
3672
3674
  this.appEnvironment = appEnvironment;
3673
3675
  this.auth = auth;
3674
3676
  this.loggedIn = new BehaviorSubject(false);
@@ -3704,11 +3706,12 @@ class TruAuth {
3704
3706
  this.router.navigate([""]);
3705
3707
  }
3706
3708
  doLogoutUser() {
3709
+ this.user.destroy();
3707
3710
  this.cache.pruneAll();
3708
3711
  this.auth.doLogoutUser();
3709
3712
  }
3710
3713
  }
3711
- TruAuth.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: TruAuth, deps: [{ token: i1$6.Router }, { token: i1$3.HttpClient }, { token: TruAuthCache }, { token: TruAppEnvironment }, { token: TRU_AUTH_STRATEGY }], target: i0.ɵɵFactoryTarget.Injectable });
3714
+ TruAuth.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: TruAuth, deps: [{ token: i1$6.Router }, { token: i1$3.HttpClient }, { token: TruAuthCache }, { token: TruUser }, { token: TruAppEnvironment }, { token: TRU_AUTH_STRATEGY }], target: i0.ɵɵFactoryTarget.Injectable });
3712
3715
  TruAuth.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: TruAuth, providedIn: "root" });
3713
3716
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: TruAuth, decorators: [{
3714
3717
  type: Injectable,
@@ -3716,7 +3719,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImpor
3716
3719
  providedIn: "root",
3717
3720
  }]
3718
3721
  }], ctorParameters: function () {
3719
- return [{ type: i1$6.Router }, { type: i1$3.HttpClient }, { type: TruAuthCache }, { type: TruAppEnvironment }, { type: undefined, decorators: [{
3722
+ return [{ type: i1$6.Router }, { type: i1$3.HttpClient }, { type: TruAuthCache }, { type: TruUser }, { type: TruAppEnvironment }, { type: undefined, decorators: [{
3720
3723
  type: Inject,
3721
3724
  args: [TRU_AUTH_STRATEGY]
3722
3725
  }] }];