@bitblit/ngx-acute-warden 5.0.545-alpha → 5.0.547-alpha

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.
@@ -14,7 +14,6 @@ export declare class CreateUserComponent implements OnInit {
14
14
  userContactTypes: string[];
15
15
  constructor(route: ActivatedRoute, router: Router, wardenClient: WardenClient, fb: FormBuilder, dlgService: DialogService);
16
16
  f(name: string): AbstractControl;
17
- go(): void;
18
17
  ngOnInit(): void;
19
18
  createUser(): Promise<void>;
20
19
  static ɵfac: i0.ɵɵFactoryDeclaration<CreateUserComponent, never>;
@@ -88,7 +88,7 @@ export class CreateUserComponent {
88
88
  fb;
89
89
  dlgService;
90
90
  form;
91
- userContactTypes = [StringRatchet.safeString(WardenContactType.EmailAddress)];
91
+ userContactTypes = EnumRatchet.listEnumKeys(WardenContactType);
92
92
  constructor(route, router, wardenClient, fb, dlgService) {
93
93
  this.route = route;
94
94
  this.router = router;
@@ -104,9 +104,6 @@ export class CreateUserComponent {
104
104
  f(name) {
105
105
  return this.form.controls[name];
106
106
  }
107
- go() {
108
- Logger.info('Errors: %j : %j : %j', this.form.errors, this.f('userContactValue').errors, this.f('userContactValue').dirty);
109
- }
110
107
  ngOnInit() {
111
108
  Logger.info('ngi: %j', this.route.queryParamMap);
112
109
  }
@@ -1 +1 @@
1
- {"version":3,"file":"create-user.component.js","sourceRoot":"","sources":["../../../src/components/create-user/create-user.component.ts","../../../src/components/create-user/create-user.component.html"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create-user.component.js","sourceRoot":"","sources":["../../../src/components/create-user/create-user.component.ts","../../../src/components/create-user/create-user.component.html"],"names":[],"mappings":"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"}
@@ -1,10 +1,9 @@
1
- import { OnInit } from '@angular/core';
1
+ import { OnInit } from "@angular/core";
2
2
  import { ActivatedRoute, Router } from '@angular/router';
3
3
  import { WardenClient } from "@bitblit/ratchet-warden-common/client/warden-client";
4
4
  import { WardenUserService } from "@bitblit/ratchet-warden-common/client/warden-user-service";
5
5
  import { WardenContact } from "@bitblit/ratchet-warden-common/common/model/warden-contact";
6
6
  import { WardenRecentLoginDescriptor } from "@bitblit/ratchet-warden-common/client/provider/warden-recent-login-descriptor";
7
- import { WindowRefService } from "@bitblit/ngx-acute-common";
8
7
  import { DialogService } from "primeng/dynamicdialog";
9
8
  import * as i0 from "@angular/core";
10
9
  export declare class LoginComponent implements OnInit {
@@ -12,28 +11,26 @@ export declare class LoginComponent implements OnInit {
12
11
  private router;
13
12
  userService: WardenUserService<any>;
14
13
  wardenClient: WardenClient;
15
- private win;
16
14
  private dlgService;
15
+ postLoginUrl: string;
17
16
  showCodeCard: boolean;
18
17
  verificationCode: string;
19
18
  waitingContact: WardenContact;
20
19
  newContactValue: string;
21
- constructor(route: ActivatedRoute, router: Router, userService: WardenUserService<any>, wardenClient: WardenClient, win: WindowRefService, dlgService: DialogService);
20
+ constructor(route: ActivatedRoute, router: Router, userService: WardenUserService<any>, wardenClient: WardenClient, dlgService: DialogService);
22
21
  userById(index: number, ld: WardenRecentLoginDescriptor): string;
23
22
  contactByName(index: number, contact: WardenContact): string;
24
23
  get hasRecentLogins(): boolean;
25
24
  get recentLogins(): WardenRecentLoginDescriptor[];
26
25
  clearSavedLogins(): void;
27
26
  ngOnInit(): void;
28
- goToDashboard(): void;
29
27
  sendCodeToNewContact(value: string): Promise<void>;
30
28
  sendCodeToContact(contact: WardenContact): Promise<void>;
31
29
  submitVerificationCode(input: string, verificationCode: string): Promise<void>;
32
30
  processWebAuthnLogin(userId: string): Promise<void>;
33
- sendMagicLink(contact: WardenContact): Promise<void>;
34
31
  removeSingleLogin(userId: string): void;
35
32
  toggleCard(clearCode: boolean): void;
36
33
  contactValueInvalidAndDirty(): boolean;
37
34
  static ɵfac: i0.ɵɵFactoryDeclaration<LoginComponent, never>;
38
- static ɵcmp: i0.ɵɵComponentDeclaration<LoginComponent, "ngx-acute-warden-login", never, {}, {}, never, never, true, never>;
35
+ static ɵcmp: i0.ɵɵComponentDeclaration<LoginComponent, "ngx-acute-warden-login", never, { "postLoginUrl": { "alias": "postLoginUrl"; "required": false; }; }, {}, never, never, true, never>;
39
36
  }
@@ -1,9 +1,8 @@
1
- import { Component } from '@angular/core';
1
+ import { Component, Input } from "@angular/core";
2
2
  import { ActivatedRoute, Router, RouterModule } from '@angular/router';
3
3
  import { Logger } from '@bitblit/ratchet-common/logger/logger';
4
4
  import { WardenClient } from "@bitblit/ratchet-warden-common/client/warden-client";
5
5
  import { WardenUserService } from "@bitblit/ratchet-warden-common/client/warden-user-service";
6
- import { No } from "@bitblit/ratchet-common/lang/no";
7
6
  import { StringRatchet } from "@bitblit/ratchet-common/lang/string-ratchet";
8
7
  import { WardenUtils } from "@bitblit/ratchet-warden-common/common/util/warden-utils";
9
8
  import { WardenContactType } from "@bitblit/ratchet-warden-common/common/model/warden-contact-type";
@@ -13,22 +12,22 @@ import { CommonModule } from "@angular/common";
13
12
  import { CardModule } from "primeng/card";
14
13
  import { TooltipModule } from "primeng/tooltip";
15
14
  import { FieldsetModule } from "primeng/fieldset";
16
- import { AlertComponent, WindowRefService } from "@bitblit/ngx-acute-common";
15
+ import { AlertComponent } from "@bitblit/ngx-acute-common";
17
16
  import { DialogService } from "primeng/dynamicdialog";
18
17
  import { InputTextModule } from "primeng/inputtext";
18
+ import { RequireRatchet } from "@bitblit/ratchet-common/lang/require-ratchet";
19
19
  import * as i0 from "@angular/core";
20
20
  import * as i1 from "@angular/router";
21
21
  import * as i2 from "@bitblit/ratchet-warden-common/client/warden-user-service";
22
22
  import * as i3 from "@bitblit/ratchet-warden-common/client/warden-client";
23
- import * as i4 from "@bitblit/ngx-acute-common";
24
- import * as i5 from "primeng/dynamicdialog";
25
- import * as i6 from "primeng/button";
26
- import * as i7 from "@angular/forms";
27
- import * as i8 from "@angular/common";
28
- import * as i9 from "primeng/card";
29
- import * as i10 from "primeng/tooltip";
30
- import * as i11 from "primeng/fieldset";
31
- import * as i12 from "primeng/inputtext";
23
+ import * as i4 from "primeng/dynamicdialog";
24
+ import * as i5 from "primeng/button";
25
+ import * as i6 from "@angular/forms";
26
+ import * as i7 from "@angular/common";
27
+ import * as i8 from "primeng/card";
28
+ import * as i9 from "primeng/tooltip";
29
+ import * as i10 from "primeng/fieldset";
30
+ import * as i11 from "primeng/inputtext";
32
31
  function LoginComponent_p_card_2_span_6_Template(rf, ctx) { if (rf & 1) {
33
32
  i0.ɵɵelementStart(0, "span", 12);
34
33
  i0.ɵɵtext(1, "Valid email or phone number required");
@@ -160,18 +159,17 @@ export class LoginComponent {
160
159
  router;
161
160
  userService;
162
161
  wardenClient;
163
- win;
164
162
  dlgService;
163
+ postLoginUrl;
165
164
  showCodeCard = false;
166
165
  verificationCode;
167
166
  waitingContact;
168
167
  newContactValue;
169
- constructor(route, router, userService, wardenClient, win, dlgService) {
168
+ constructor(route, router, userService, wardenClient, dlgService) {
170
169
  this.route = route;
171
170
  this.router = router;
172
171
  this.userService = userService;
173
172
  this.wardenClient = wardenClient;
174
- this.win = win;
175
173
  this.dlgService = dlgService;
176
174
  Logger.info('Found %s recent logins', this.recentLogins.length);
177
175
  }
@@ -193,10 +191,7 @@ export class LoginComponent {
193
191
  }
194
192
  }
195
193
  ngOnInit() {
196
- Logger.info('ngi: %j', this.route.queryParamMap);
197
- }
198
- goToDashboard() {
199
- this.router.navigate(['/secure/dashboard']).then(No.op);
194
+ RequireRatchet.notNullUndefinedOrOnlyWhitespaceString(this.postLoginUrl, 'postLoginUrl may not be empty');
200
195
  }
201
196
  async sendCodeToNewContact(value) {
202
197
  Logger.info('Trying to send code to %s %s %s', value, WardenUtils.stringIsEmailAddress(value), WardenUtils.stringIsPhoneNumber(value));
@@ -242,28 +237,16 @@ export class LoginComponent {
242
237
  Logger.info('Submit: %s, %s', input, verificationCode);
243
238
  const val = await this.userService.executeValidationTokenBasedLogin({ type: WardenUtils.stringToContactType(input), value: input }, verificationCode);
244
239
  if (val) {
245
- await this.router.navigate(['/secure/dashboard']);
240
+ await this.router.navigate([this.postLoginUrl]);
246
241
  }
247
242
  }
248
243
  async processWebAuthnLogin(userId) {
249
244
  Logger.info('processWebAuthnLogin: %s', userId);
250
245
  const val = await this.userService.executeWebAuthnBasedLogin(userId);
251
246
  if (val) {
252
- await this.router.navigate(['/secure/dashboard']);
247
+ await this.router.navigate([this.postLoginUrl]);
253
248
  }
254
249
  }
255
- async sendMagicLink(contact) {
256
- const loc = this.win.nativeWindow().location;
257
- let curUrl = loc.toString();
258
- curUrl = curUrl.indexOf('?') > -1 ? curUrl.substring(0, curUrl.indexOf('?')) : curUrl;
259
- let landingUrl = curUrl.split('public/login').join('public/magic-lander');
260
- landingUrl += '?code={CODE}&meta={META}';
261
- const meta = {
262
- redirect: '/secure/dashboard',
263
- };
264
- const sent = await this.wardenClient.sendMagicLink(contact, landingUrl, meta);
265
- Logger.info('Sent was %s : %s', sent, landingUrl);
266
- }
267
250
  removeSingleLogin(userId) {
268
251
  this.userService.serviceOptions.recentLoginProvider.removeUser(userId);
269
252
  }
@@ -276,8 +259,8 @@ export class LoginComponent {
276
259
  contactValueInvalidAndDirty() {
277
260
  return StringRatchet.trimToNull(this.newContactValue) && !WardenUtils.stringIsPhoneNumber(this.newContactValue);
278
261
  }
279
- static ɵfac = function LoginComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || LoginComponent)(i0.ɵɵdirectiveInject(i1.ActivatedRoute), i0.ɵɵdirectiveInject(i1.Router), i0.ɵɵdirectiveInject(i2.WardenUserService), i0.ɵɵdirectiveInject(i3.WardenClient), i0.ɵɵdirectiveInject(i4.WindowRefService), i0.ɵɵdirectiveInject(i5.DialogService)); };
280
- static ɵcmp = i0.ɵɵdefineComponent({ type: LoginComponent, selectors: [["ngx-acute-warden-login"]], standalone: true, features: [i0.ɵɵStandaloneFeature], decls: 4, vars: 2, consts: [[2, "display", "flex", "flex-direction", "column", "justify-content", "center"], [2, "display", "flex", "flex-direction", "row", "justify-content", "center"], ["header", "ParaTrade", 4, "ngIf"], ["header", "ParaTrade Authorization Code", 4, "ngIf"], ["header", "ParaTrade"], ["legend", "New Login"], [2, "display", "flex", "flex-direction", "row", "justify-content", "space-between", "gap", "5px"], ["id", "newContactValue", "pInputText", "", "placeholder", "Your Email or Phone", "type", "text", 1, "p-inputtext", "rounded-input", 2, "width", "100%", 3, "ngModelChange", "ngModel"], ["icon", "pi pi-envelope", "pTooltip", "Send code", 3, "click"], ["style", "color:red", 4, "ngIf"], [4, "ngIf"], ["legend", "Previous Logins", 4, "ngIf"], [2, "color", "red"], ["legend", "Previous Logins"], [4, "ngFor", "ngForOf", "ngForTrackBy"], ["pButton", "", "icon", "pi pi-ban", "label", "Clear Saved Logins", 2, "margin-top", "10px", 3, "click"], [3, "legend"], ["icon", "pi pi-lock-open", "pTooltip", "Send WebAuthn", "label", "Authenticate by device (WebAuthn)", 3, "click", 4, "ngIf"], ["style", "display: flex; flex-direction: row; gap: 5px", 4, "ngFor", "ngForOf", "ngForTrackBy"], ["icon", "pi pi-lock-open", "pTooltip", "Send WebAuthn", "label", "Authenticate by device (WebAuthn)", 3, "click"], [2, "display", "flex", "flex-direction", "row", "gap", "5px"], ["icon", "pi pi-sign-in", 3, "label", "click", 4, "ngIf"], ["icon", "pi pi-delete-left", 3, "click", "label"], ["icon", "pi pi-sign-in", 3, "click", "label"], ["header", "ParaTrade Authorization Code"], ["legend", "Email"], [2, "display", "flex", "flex-direction", "column", "min-width", "100%", "justify-content", "center", "align-items", "center", "gap", "10px"], [2, "font-weight", "bolder"], ["type", "hidden", "id", "waitingContactValue", "readonly", "true", 1, "p-inputtext", "rounded-input", 3, "ngModelChange", "ngModel"], ["type", "text", "id", "verificationCode", "placeholder", "Enter the code from your email", 1, "p-inputtext", "rounded-input", 2, "width", "100%", 3, "ngModelChange", "ngModel"], ["label", "Submit code", 3, "click"], ["label", "Cancel", 3, "click"]], template: function LoginComponent_Template(rf, ctx) { if (rf & 1) {
262
+ static ɵfac = function LoginComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || LoginComponent)(i0.ɵɵdirectiveInject(i1.ActivatedRoute), i0.ɵɵdirectiveInject(i1.Router), i0.ɵɵdirectiveInject(i2.WardenUserService), i0.ɵɵdirectiveInject(i3.WardenClient), i0.ɵɵdirectiveInject(i4.DialogService)); };
263
+ static ɵcmp = i0.ɵɵdefineComponent({ type: LoginComponent, selectors: [["ngx-acute-warden-login"]], inputs: { postLoginUrl: "postLoginUrl" }, standalone: true, features: [i0.ɵɵStandaloneFeature], decls: 4, vars: 2, consts: [[2, "display", "flex", "flex-direction", "column", "justify-content", "center"], [2, "display", "flex", "flex-direction", "row", "justify-content", "center"], ["header", "ParaTrade", 4, "ngIf"], ["header", "ParaTrade Authorization Code", 4, "ngIf"], ["header", "ParaTrade"], ["legend", "New Login"], [2, "display", "flex", "flex-direction", "row", "justify-content", "space-between", "gap", "5px"], ["id", "newContactValue", "pInputText", "", "placeholder", "Your Email or Phone", "type", "text", 1, "p-inputtext", "rounded-input", 2, "width", "100%", 3, "ngModelChange", "ngModel"], ["icon", "pi pi-envelope", "pTooltip", "Send code", 3, "click"], ["style", "color:red", 4, "ngIf"], [4, "ngIf"], ["legend", "Previous Logins", 4, "ngIf"], [2, "color", "red"], ["legend", "Previous Logins"], [4, "ngFor", "ngForOf", "ngForTrackBy"], ["pButton", "", "icon", "pi pi-ban", "label", "Clear Saved Logins", 2, "margin-top", "10px", 3, "click"], [3, "legend"], ["icon", "pi pi-lock-open", "pTooltip", "Send WebAuthn", "label", "Authenticate by device (WebAuthn)", 3, "click", 4, "ngIf"], ["style", "display: flex; flex-direction: row; gap: 5px", 4, "ngFor", "ngForOf", "ngForTrackBy"], ["icon", "pi pi-lock-open", "pTooltip", "Send WebAuthn", "label", "Authenticate by device (WebAuthn)", 3, "click"], [2, "display", "flex", "flex-direction", "row", "gap", "5px"], ["icon", "pi pi-sign-in", 3, "label", "click", 4, "ngIf"], ["icon", "pi pi-delete-left", 3, "click", "label"], ["icon", "pi pi-sign-in", 3, "click", "label"], ["header", "ParaTrade Authorization Code"], ["legend", "Email"], [2, "display", "flex", "flex-direction", "column", "min-width", "100%", "justify-content", "center", "align-items", "center", "gap", "10px"], [2, "font-weight", "bolder"], ["type", "hidden", "id", "waitingContactValue", "readonly", "true", 1, "p-inputtext", "rounded-input", 3, "ngModelChange", "ngModel"], ["type", "text", "id", "verificationCode", "placeholder", "Enter the code from your email", 1, "p-inputtext", "rounded-input", 2, "width", "100%", 3, "ngModelChange", "ngModel"], ["label", "Submit code", 3, "click"], ["label", "Cancel", 3, "click"]], template: function LoginComponent_Template(rf, ctx) { if (rf & 1) {
281
264
  i0.ɵɵelementStart(0, "div", 0)(1, "div", 1);
282
265
  i0.ɵɵtemplate(2, LoginComponent_p_card_2_Template, 9, 4, "p-card", 2)(3, LoginComponent_p_card_3_Template, 12, 3, "p-card", 3);
283
266
  i0.ɵɵelementEnd()();
@@ -286,11 +269,13 @@ export class LoginComponent {
286
269
  i0.ɵɵproperty("ngIf", !ctx.showCodeCard);
287
270
  i0.ɵɵadvance();
288
271
  i0.ɵɵproperty("ngIf", ctx.showCodeCard);
289
- } }, dependencies: [ButtonModule, i6.ButtonDirective, i6.Button, RouterModule, FormsModule, i7.DefaultValueAccessor, i7.NgControlStatus, i7.NgModel, CommonModule, i8.NgForOf, i8.NgIf, CardModule, i9.Card, TooltipModule, i10.Tooltip, FieldsetModule, i11.Fieldset, InputTextModule, i12.InputText], encapsulation: 2 });
272
+ } }, dependencies: [ButtonModule, i5.ButtonDirective, i5.Button, RouterModule, FormsModule, i6.DefaultValueAccessor, i6.NgControlStatus, i6.NgModel, CommonModule, i7.NgForOf, i7.NgIf, CardModule, i8.Card, TooltipModule, i9.Tooltip, FieldsetModule, i10.Fieldset, InputTextModule, i11.InputText], encapsulation: 2 });
290
273
  }
291
274
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(LoginComponent, [{
292
275
  type: Component,
293
276
  args: [{ selector: 'ngx-acute-warden-login', standalone: true, imports: [ButtonModule, RouterModule, FormsModule, CommonModule, CardModule, TooltipModule, ButtonModule, FieldsetModule, InputTextModule], template: "<div style=\"display: flex; flex-direction: column; justify-content: center\">\n <div style=\"display: flex; flex-direction: row; justify-content: center\">\n\n <p-card *ngIf=\"!showCodeCard\" header=\"ParaTrade\">\n <div>\n <p-fieldset legend=\"New Login\">\n <div style=\"display: flex; flex-direction: row; justify-content: space-between; gap: 5px\">\n <input class=\"p-inputtext rounded-input\" [(ngModel)]=\"newContactValue\" id=\"newContactValue\"\n pInputText style=\"width: 100%\"\n placeholder=\"Your Email or Phone\" type=\"text\">\n <p-button icon=\"pi pi-envelope\" (click)=\"sendCodeToNewContact(newContactValue)\"\n pTooltip=\"Send code\">\n </p-button>\n </div>\n <span *ngIf=\"contactValueInvalidAndDirty()\" style=\"color:red\">Valid email or phone number required</span>\n </p-fieldset>\n\n <hr *ngIf=\"hasRecentLogins\" />\n\n <p-fieldset *ngIf=\"hasRecentLogins\" legend=\"Previous Logins\">\n <div *ngFor=\"let lg of recentLogins; trackBy:userById\">\n\n <p-fieldset [legend]=\"lg.user.userLabel\">\n\n\n <p-button *ngIf=\"lg?.user?.webAuthnAuthenticatorSummaries?.length\" icon=\"pi pi-lock-open\"\n (click)=\"processWebAuthnLogin(lg.user.userId)\" pTooltip=\"Send WebAuthn\" label=\"Authenticate by device (WebAuthn)\">\n </p-button>\n\n <div *ngFor=\"let e of lg.user.contactMethods; trackBy:contactByName\" style=\"display: flex; flex-direction: row; gap: 5px\">\n\n <p-button *ngIf=\"e.type==='EmailAddress'\" icon=\"pi pi-sign-in\"\n (click)=\"sendCodeToContact(e)\" label=\"Send magic link via email to {{e.value}}\"></p-button>\n <p-button *ngIf=\"e.type==='TextCapablePhoneNumber'\" icon=\"pi pi-sign-in\"\n (click)=\"sendCodeToContact(e)\" label=\"Send magic link via text message to {{e.value}}\"></p-button>\n <p-button icon=\"pi pi-delete-left\"\n (click)=\"removeSingleLogin(lg.user.userId)\" label=\"Forget {{e.value}}\"></p-button>\n </div>\n </p-fieldset>\n </div>\n\n <hr/>\n <button pButton icon=\"pi pi-ban\" label=\"Clear Saved Logins\" (click)=\"clearSavedLogins()\" style=\"margin-top: 10px\"></button>\n\n </p-fieldset>\n\n\n </div>\n </p-card>\n\n <p-card *ngIf=\"showCodeCard\" header=\"ParaTrade Authorization Code\">\n\n <p-fieldset legend=\"Email\">\n <div style=\"display: flex; flex-direction: column; min-width: 100%; justify-content: center; align-items: center; gap: 10px\">\n <div>Code sent to <span style=\"font-weight: bolder\">{{waitingContact.value}}</span></div>\n <input type=\"hidden\" class=\"p-inputtext rounded-input\" [(ngModel)]=\"waitingContact.value\" id=\"waitingContactValue\" readonly=\"true\">\n <input class=\"p-inputtext rounded-input\" [(ngModel)]=\"verificationCode\" type=\"text\" id=\"verificationCode\"\n placeholder=\"Enter the code from your email\" style=\"width: 100%\">\n\n <div style=\"display: flex; flex-direction: row; justify-content: space-between; gap: 5px\">\n <p-button (click)=\"submitVerificationCode(waitingContact.value, verificationCode)\"\n label=\"Submit code\">\n </p-button>\n\n <p-button (click)=\"toggleCard(true)\" label=\"Cancel\"></p-button>\n\n </div>\n </div>\n </p-fieldset>\n\n </p-card>\n\n\n </div>\n</div>\n\n" }]
294
- }], () => [{ type: i1.ActivatedRoute }, { type: i1.Router }, { type: i2.WardenUserService }, { type: i3.WardenClient }, { type: i4.WindowRefService }, { type: i5.DialogService }], null); })();
277
+ }], () => [{ type: i1.ActivatedRoute }, { type: i1.Router }, { type: i2.WardenUserService }, { type: i3.WardenClient }, { type: i4.DialogService }], { postLoginUrl: [{
278
+ type: Input
279
+ }] }); })();
295
280
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(LoginComponent, { className: "LoginComponent", filePath: "components/login/login.component.ts", lineNumber: 33 }); })();
296
281
  //# sourceMappingURL=login.component.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"login.component.js","sourceRoot":"","sources":["../../../src/components/login/login.component.ts","../../../src/components/login/login.component.html"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"login.component.js","sourceRoot":"","sources":["../../../src/components/login/login.component.ts","../../../src/components/login/login.component.html"],"names":[],"mappings":"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"}
@@ -1,11 +1,24 @@
1
1
  import { Router } from '@angular/router';
2
- import { WardenUserService } from "@bitblit/ratchet-warden-common/client/warden-user-service";
2
+ import { WardenContact } from '@bitblit/ratchet-warden-common/common/model/warden-contact';
3
+ import { WardenDelegatingCurrentUserProvidingUserServiceEventProcessingProvider } from '@bitblit/ratchet-warden-common/client/warden-delegating-current-user-providing-user-service-event-processing-provider';
4
+ import { WardenUserService } from '@bitblit/ratchet-warden-common/client/warden-user-service';
5
+ import { WardenLoggedInUserWrapper } from "@bitblit/ratchet-warden-common/client/provider/warden-logged-in-user-wrapper";
6
+ import { WardenWebAuthnEntrySummary } from "@bitblit/ratchet-warden-common/common/model/warden-web-authn-entry-summary";
3
7
  import * as i0 from "@angular/core";
4
8
  export declare class UserProfileComponent {
5
9
  private router;
6
- userService: WardenUserService<any>;
7
- user: any;
8
- constructor(router: Router, userService: WardenUserService<any>);
10
+ private userService;
11
+ private userProvider;
12
+ user: WardenLoggedInUserWrapper<any>;
13
+ timeLeftMS: string;
14
+ constructor(router: Router, userService: WardenUserService<any>, userProvider: WardenDelegatingCurrentUserProvidingUserServiceEventProcessingProvider<any>);
15
+ private updateData;
16
+ refreshToken(): Promise<void>;
17
+ addContact(): Promise<void>;
18
+ addWebAuthnDevice(): Promise<void>;
19
+ removeContact(ct: WardenContact): Promise<void>;
20
+ removeWebAuthn(webId: WardenWebAuthnEntrySummary): Promise<void>;
21
+ webAuthLabel(webId: WardenWebAuthnEntrySummary): string;
9
22
  performLogout(): void;
10
23
  static ɵfac: i0.ɵɵFactoryDeclaration<UserProfileComponent, never>;
11
24
  static ɵcmp: i0.ɵɵComponentDeclaration<UserProfileComponent, "ngx-acute-warden-user-profile", never, {}, {}, never, never, true, never>;
@@ -1,70 +1,184 @@
1
1
  import { Component } from '@angular/core';
2
2
  import { Router } from '@angular/router';
3
+ import { StringRatchet } from '@bitblit/ratchet-common/lang/string-ratchet';
3
4
  import { Logger } from '@bitblit/ratchet-common/logger/logger';
4
- import { WardenUserService } from "@bitblit/ratchet-warden-common/client/warden-user-service";
5
- import { No } from "@bitblit/ratchet-common/lang/no";
5
+ import { WardenUtils } from '@bitblit/ratchet-warden-common/common/util/warden-utils';
6
+ import { WardenDelegatingCurrentUserProvidingUserServiceEventProcessingProvider } from '@bitblit/ratchet-warden-common/client/warden-delegating-current-user-providing-user-service-event-processing-provider';
7
+ import { WardenUserService } from '@bitblit/ratchet-warden-common/client/warden-user-service';
8
+ import { No } from '@bitblit/ratchet-common/lang/no';
9
+ import { DurationRatchet } from '@bitblit/ratchet-common/lang/duration-ratchet';
10
+ import { ButtonModule } from "primeng/button";
6
11
  import { CardModule } from "primeng/card";
7
- import { Button } from "primeng/button";
8
- import { JsonPipe, NgIf } from "@angular/common";
12
+ import { CommonModule } from "@angular/common";
13
+ import { TooltipModule } from "primeng/tooltip";
9
14
  import * as i0 from "@angular/core";
10
15
  import * as i1 from "@angular/router";
11
16
  import * as i2 from "@bitblit/ratchet-warden-common/client/warden-user-service";
12
- import * as i3 from "primeng/card";
13
- function UserProfileComponent_ul_3_Template(rf, ctx) { if (rf & 1) {
14
- i0.ɵɵelementStart(0, "ul")(1, "li");
17
+ import * as i3 from "@bitblit/ratchet-warden-common/client/warden-delegating-current-user-providing-user-service-event-processing-provider";
18
+ import * as i4 from "primeng/button";
19
+ import * as i5 from "primeng/card";
20
+ import * as i6 from "@angular/common";
21
+ import * as i7 from "primeng/tooltip";
22
+ function UserProfileComponent_li_9_Template(rf, ctx) { if (rf & 1) {
23
+ const _r1 = i0.ɵɵgetCurrentView();
24
+ i0.ɵɵelementStart(0, "li")(1, "p-button", 7);
25
+ i0.ɵɵlistener("click", function UserProfileComponent_li_9_Template_p_button_click_1_listener() { const cm_r2 = i0.ɵɵrestoreView(_r1).$implicit; const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.removeContact(cm_r2)); });
26
+ i0.ɵɵelementEnd();
27
+ i0.ɵɵtext(2);
28
+ i0.ɵɵelementEnd();
29
+ } if (rf & 2) {
30
+ const cm_r2 = ctx.$implicit;
31
+ i0.ɵɵadvance();
32
+ i0.ɵɵpropertyInterpolate1("pTooltip", "Remove contact method ", cm_r2.value, "");
33
+ i0.ɵɵadvance();
34
+ i0.ɵɵtextInterpolate2(" ", cm_r2.type, " : ", cm_r2.value, "");
35
+ } }
36
+ function UserProfileComponent_ng_container_10_li_4_Template(rf, ctx) { if (rf & 1) {
37
+ const _r4 = i0.ɵɵgetCurrentView();
38
+ i0.ɵɵelementStart(0, "li")(1, "p-button", 7);
39
+ i0.ɵɵlistener("click", function UserProfileComponent_ng_container_10_li_4_Template_p_button_click_1_listener() { const waa_r5 = i0.ɵɵrestoreView(_r4).$implicit; const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.removeWebAuthn(waa_r5)); });
40
+ i0.ɵɵelementEnd();
15
41
  i0.ɵɵtext(2);
16
42
  i0.ɵɵelementEnd();
17
- i0.ɵɵelementStart(3, "li");
18
- i0.ɵɵtext(4);
43
+ } if (rf & 2) {
44
+ const waa_r5 = ctx.$implicit;
45
+ const ctx_r2 = i0.ɵɵnextContext(2);
46
+ i0.ɵɵadvance();
47
+ i0.ɵɵpropertyInterpolate1("pTooltip", "Remove web auth ", ctx_r2.webAuthLabel(waa_r5), "");
48
+ i0.ɵɵadvance();
49
+ i0.ɵɵtextInterpolate1(" ", ctx_r2.webAuthLabel(waa_r5), " ");
50
+ } }
51
+ function UserProfileComponent_ng_container_10_Template(rf, ctx) { if (rf & 1) {
52
+ i0.ɵɵelementContainerStart(0);
53
+ i0.ɵɵelementStart(1, "h3");
54
+ i0.ɵɵtext(2, "Web Authenticators");
55
+ i0.ɵɵelementEnd();
56
+ i0.ɵɵelementStart(3, "ul");
57
+ i0.ɵɵtemplate(4, UserProfileComponent_ng_container_10_li_4_Template, 3, 3, "li", 1);
19
58
  i0.ɵɵelementEnd();
20
- i0.ɵɵelementStart(5, "li");
21
- i0.ɵɵtext(6);
22
- i0.ɵɵpipe(7, "json");
23
- i0.ɵɵelementEnd()();
59
+ i0.ɵɵelementContainerEnd();
24
60
  } if (rf & 2) {
25
- const ctx_r0 = i0.ɵɵnextContext();
26
- i0.ɵɵadvance(2);
27
- i0.ɵɵtextInterpolate(ctx_r0.userService.fetchLoggedInUserObject().name);
28
- i0.ɵɵadvance(2);
29
- i0.ɵɵtextInterpolate(ctx_r0.userService.fetchLoggedInUserObject().email);
30
- i0.ɵɵadvance(2);
31
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(7, 3, ctx_r0.userService.fetchLoggedInUserObject()));
61
+ const ctx_r2 = i0.ɵɵnextContext();
62
+ i0.ɵɵadvance(4);
63
+ i0.ɵɵproperty("ngForOf", ctx_r2.user.userObject.loginData.webAuthnAuthenticatorSummaries);
32
64
  } }
33
65
  export class UserProfileComponent {
34
66
  router;
35
67
  userService;
36
- user = { name: 'x', email: 'y' };
37
- constructor(router, userService) {
68
+ userProvider;
69
+ user;
70
+ timeLeftMS;
71
+ constructor(router, userService, userProvider) {
38
72
  this.router = router;
39
73
  this.userService = userService;
40
- Logger.info('Construct userprofile');
74
+ this.userProvider = userProvider;
75
+ Logger.info('Construct UserProfileComponent');
76
+ this.updateData();
77
+ this.userProvider.currentUserSubject.subscribe((_val) => {
78
+ this.updateData();
79
+ });
80
+ }
81
+ updateData() {
82
+ Logger.info('Called updateData');
83
+ const tok = this.userService.fetchLoggedInUserWrapper();
84
+ this.user = tok;
85
+ this.timeLeftMS = this?.user?.userObject?.exp ? DurationRatchet.formatMsDuration(this.user.userObject.exp * 1000 - Date.now()) : '0';
86
+ }
87
+ async refreshToken() {
88
+ await this.userService.refreshToken();
89
+ this.updateData();
90
+ }
91
+ async addContact() {
92
+ const value = prompt('Please enter a phone number or email address to add');
93
+ const newContact = WardenUtils.stringToWardenContact(value);
94
+ if (newContact) {
95
+ const rval = await this.userService.addContactToLoggedInUser(newContact);
96
+ if (rval) {
97
+ await this.userService.refreshToken();
98
+ }
99
+ else {
100
+ Logger.info('Add contact failed : %s', value);
101
+ }
102
+ }
103
+ else {
104
+ Logger.info('No contact found for %s', value);
105
+ }
106
+ }
107
+ async addWebAuthnDevice() {
108
+ await this.userService.saveCurrentDeviceAsWebAuthnForCurrentUser();
109
+ await this.userService.refreshToken();
110
+ }
111
+ async removeContact(ct) {
112
+ Logger.info('Remove %j', ct);
113
+ await this.userService.removeContactFromLoggedInUser(ct);
114
+ await this.userService.refreshToken();
115
+ }
116
+ async removeWebAuthn(webId) {
117
+ Logger.info('Remove webauthn: %s', webId);
118
+ await this.userService.removeWebAuthnRegistrationFromLoggedInUser(webId.credentialIdBase64);
119
+ await this.userService.refreshToken();
120
+ }
121
+ webAuthLabel(webId) {
122
+ let rval = 'Error - missing';
123
+ if (webId) {
124
+ rval = webId.credentialIdBase64.substring(0, 4).toUpperCase() + ' : ';
125
+ rval += StringRatchet.trimToNull(webId.applicationName) ? webId.applicationName + ' ' : '';
126
+ rval += StringRatchet.trimToNull(webId.deviceLabel) ? webId.deviceLabel + ' ' : '';
127
+ rval += StringRatchet.trimToNull(webId.origin) ? webId.origin + ' ' : '';
128
+ }
129
+ return rval;
41
130
  }
42
131
  performLogout() {
43
132
  this.userService.logout();
44
133
  this.router.navigate(['/public/login']).then(No.op);
45
134
  }
46
- static ɵfac = function UserProfileComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || UserProfileComponent)(i0.ɵɵdirectiveInject(i1.Router), i0.ɵɵdirectiveInject(i2.WardenUserService)); };
47
- static ɵcmp = i0.ɵɵdefineComponent({ type: UserProfileComponent, selectors: [["ngx-acute-warden-user-profile"]], standalone: true, features: [i0.ɵɵStandaloneFeature], decls: 5, vars: 1, consts: [[1, "simpleEvenlySpacedRow"], ["header", "User Profile"], [4, "ngIf"], ["label", "Logout", 3, "click"]], template: function UserProfileComponent_Template(rf, ctx) { if (rf & 1) {
48
- i0.ɵɵelementStart(0, "div", 0)(1, "p-card", 1)(2, "div");
49
- i0.ɵɵtemplate(3, UserProfileComponent_ul_3_Template, 8, 5, "ul", 2);
50
- i0.ɵɵelementStart(4, "p-button", 3);
51
- i0.ɵɵlistener("click", function UserProfileComponent_Template_p_button_click_4_listener() { return ctx.performLogout(); });
52
- i0.ɵɵelementEnd()()()();
135
+ static ɵfac = function UserProfileComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || UserProfileComponent)(i0.ɵɵdirectiveInject(i1.Router), i0.ɵɵdirectiveInject(i2.WardenUserService), i0.ɵɵdirectiveInject(i3.WardenDelegatingCurrentUserProvidingUserServiceEventProcessingProvider)); };
136
+ static ɵcmp = i0.ɵɵdefineComponent({ type: UserProfileComponent, selectors: [["ngx-acute-warden-user-profile"]], standalone: true, features: [i0.ɵɵStandaloneFeature], decls: 21, vars: 8, consts: [[3, "header"], [4, "ngFor", "ngForOf"], [4, "ngIf"], [2, "display", "flex", "flex-direction", "row"], ["icon", "pi pi-user", "pTooltip", "Add a new contact method", "icon", "pi pi-user-plus", 3, "click"], ["icon", "pi pi-lock", "pTooltip", "Add this device as an authenticator", 3, "click"], [3, "click"], ["icon", "pi pi-trash", 3, "click", "pTooltip"]], template: function UserProfileComponent_Template(rf, ctx) { if (rf & 1) {
137
+ i0.ɵɵelementStart(0, "p-card", 0)(1, "div");
138
+ i0.ɵɵtext(2);
139
+ i0.ɵɵelement(3, "br");
140
+ i0.ɵɵtext(4);
141
+ i0.ɵɵelement(5, "br");
142
+ i0.ɵɵelementStart(6, "h3");
143
+ i0.ɵɵtext(7, "Contacts");
144
+ i0.ɵɵelementEnd();
145
+ i0.ɵɵelementStart(8, "ul");
146
+ i0.ɵɵtemplate(9, UserProfileComponent_li_9_Template, 3, 4, "li", 1);
147
+ i0.ɵɵelementEnd();
148
+ i0.ɵɵtemplate(10, UserProfileComponent_ng_container_10_Template, 5, 1, "ng-container", 2);
149
+ i0.ɵɵelementStart(11, "div", 3)(12, "p-button", 4);
150
+ i0.ɵɵlistener("click", function UserProfileComponent_Template_p_button_click_12_listener() { return ctx.addContact(); });
151
+ i0.ɵɵelementEnd();
152
+ i0.ɵɵelementStart(13, "p-button", 5);
153
+ i0.ɵɵlistener("click", function UserProfileComponent_Template_p_button_click_13_listener() { return ctx.addWebAuthnDevice(); });
154
+ i0.ɵɵelementEnd()();
155
+ i0.ɵɵelement(14, "br");
156
+ i0.ɵɵtext(15);
157
+ i0.ɵɵelement(16, "br")(17, "hr");
158
+ i0.ɵɵtext(18);
159
+ i0.ɵɵelementStart(19, "button", 6);
160
+ i0.ɵɵlistener("click", function UserProfileComponent_Template_button_click_19_listener() { return ctx.refreshToken(); });
161
+ i0.ɵɵtext(20, "Refresh");
162
+ i0.ɵɵelementEnd()()();
53
163
  } if (rf & 2) {
164
+ i0.ɵɵpropertyInterpolate1("header", "User profile : ", ctx.user.userObject.loginData.userLabel, "");
165
+ i0.ɵɵadvance(2);
166
+ i0.ɵɵtextInterpolate1(" ID: ", ctx.user.userObject.loginData.userId, " ");
167
+ i0.ɵɵadvance(2);
168
+ i0.ɵɵtextInterpolate1(" Full Name: ", ctx.user.userObject.loginData.userLabel, " ");
169
+ i0.ɵɵadvance(5);
170
+ i0.ɵɵproperty("ngForOf", ctx.user.userObject.loginData.contactMethods);
171
+ i0.ɵɵadvance();
172
+ i0.ɵɵproperty("ngIf", ctx.user == null ? null : ctx.user.userObject == null ? null : ctx.user.userObject.loginData == null ? null : ctx.user.userObject.loginData.webAuthnAuthenticatorSummaries == null ? null : ctx.user.userObject.loginData.webAuthnAuthenticatorSummaries.length);
173
+ i0.ɵɵadvance(5);
174
+ i0.ɵɵtextInterpolate1(" Roles: ", ctx.user.userObject.roles, " ");
54
175
  i0.ɵɵadvance(3);
55
- i0.ɵɵproperty("ngIf", ctx.userService.isLoggedIn());
56
- } }, dependencies: [CardModule, i3.Card, Button,
57
- JsonPipe,
58
- NgIf], encapsulation: 2 });
176
+ i0.ɵɵtextInterpolate1(" Time (MS) left in token : ", ctx.timeLeftMS, " ");
177
+ } }, dependencies: [ButtonModule, i4.Button, CardModule, i5.Card, CommonModule, i6.NgForOf, i6.NgIf, TooltipModule, i7.Tooltip], encapsulation: 2 });
59
178
  }
60
179
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(UserProfileComponent, [{
61
180
  type: Component,
62
- args: [{ selector: "ngx-acute-warden-user-profile", imports: [
63
- CardModule,
64
- Button,
65
- JsonPipe,
66
- NgIf
67
- ], standalone: true, template: "<div class=\"simpleEvenlySpacedRow\">\n <p-card header=\"User Profile\">\n <div>\n <ul *ngIf=\"userService.isLoggedIn()\">\n <li>{{ userService.fetchLoggedInUserObject().name }}</li>\n <li>{{ userService.fetchLoggedInUserObject().email }}</li>\n <li>{{userService.fetchLoggedInUserObject() | json}}</li>\n </ul>\n <p-button (click)=\"performLogout()\" label=\"Logout\"></p-button>\n </div>\n </p-card>\n</div>\n" }]
68
- }], () => [{ type: i1.Router }, { type: i2.WardenUserService }], null); })();
69
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(UserProfileComponent, { className: "UserProfileComponent", filePath: "components/user-profile/user-profile.component.ts", lineNumber: 22 }); })();
181
+ args: [{ selector: 'ngx-acute-warden-user-profile', standalone: true, imports: [ButtonModule, CardModule, CommonModule, TooltipModule], template: "\n<p-card header=\"User profile : {{user.userObject.loginData.userLabel}}\">\n <div>\n ID: {{user.userObject.loginData.userId}} <br />\n Full Name: {{user.userObject.loginData.userLabel}} <br />\n <h3>Contacts</h3>\n <ul>\n <li *ngFor=\"let cm of user.userObject.loginData.contactMethods\">\n <p-button icon=\"pi pi-trash\" pTooltip=\"Remove contact method {{cm.value}}\" (click)=\"removeContact(cm)\"></p-button>\n {{cm.type}} : {{cm.value}}</li>\n </ul>\n <ng-container *ngIf=\"user?.userObject?.loginData?.webAuthnAuthenticatorSummaries?.length\">\n <h3>Web Authenticators</h3>\n <ul>\n <li *ngFor=\"let waa of user.userObject.loginData.webAuthnAuthenticatorSummaries\">\n <p-button icon=\"pi pi-trash\" pTooltip=\"Remove web auth {{webAuthLabel(waa)}}\" (click)=\"removeWebAuthn(waa)\"></p-button>\n {{webAuthLabel(waa)}}\n </li>\n </ul>\n </ng-container>\n\n <div style=\"display:flex; flex-direction: row\">\n <p-button icon=\"pi pi-user\" pTooltip=\"Add a new contact method\" (click)=\"addContact()\" icon=\"pi pi-user-plus\"></p-button>\n <p-button icon=\"pi pi-lock\" pTooltip=\"Add this device as an authenticator\" (click)=\"addWebAuthnDevice()\"></p-button>\n </div>\n\n <br />\n Roles: {{user.userObject.roles}} <br />\n <hr />\n\n Time (MS) left in token : {{timeLeftMS}} <button (click)=\"refreshToken()\">Refresh</button>\n </div>\n</p-card>\n" }]
182
+ }], () => [{ type: i1.Router }, { type: i2.WardenUserService }, { type: i3.WardenDelegatingCurrentUserProvidingUserServiceEventProcessingProvider }], null); })();
183
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(UserProfileComponent, { className: "UserProfileComponent", filePath: "components/user-profile/user-profile.component.ts", lineNumber: 25 }); })();
70
184
  //# sourceMappingURL=user-profile.component.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"user-profile.component.js","sourceRoot":"","sources":["../../../src/components/user-profile/user-profile.component.ts","../../../src/components/user-profile/user-profile.component.html"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAC,MAAM,eAAe,CAAC;AACxC,OAAO,EAAC,MAAM,EAAC,MAAM,iBAAiB,CAAC;AAEvC,OAAO,EAAC,MAAM,EAAC,MAAM,uCAAuC,CAAC;AAC7D,OAAO,EAAC,iBAAiB,EAAC,MAAM,2DAA2D,CAAC;AAC5F,OAAO,EAAC,EAAE,EAAC,MAAM,iCAAiC,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;;;;;;ICJzC,AADF,0BAAqC,SAC/B;IAAA,YAAgD;IAAA,iBAAK;IACzD,0BAAI;IAAA,YAAiD;IAAA,iBAAK;IAC1D,0BAAI;IAAA,YAAgD;;IACtD,AADsD,iBAAK,EACtD;;;IAHC,eAAgD;IAAhD,uEAAgD;IAChD,eAAiD;IAAjD,wEAAiD;IACjD,eAAgD;IAAhD,wFAAgD;;ADe5D,MAAM,OAAO,oBAAoB;IAGrB;IACD;IAHF,IAAI,GAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;IAC7C,YACU,MAAc,EACf,WAAmC;QADlC,WAAM,GAAN,MAAM,CAAQ;QACf,gBAAW,GAAX,WAAW,CAAwB;QAE1C,MAAM,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;IACvC,CAAC;IAED,aAAa;QACX,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;QAC1B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACtD,CAAC;8GAZU,oBAAoB;+CAApB,oBAAoB;YCnB7B,AADF,AADF,8BAAmC,gBACH,UACvB;YACH,mEAAqC;YAKrC,mCAAmD;YAAzC,mGAAS,mBAAe,IAAC;YAGzC,AADE,AADE,AADqD,iBAAW,EAC1D,EACC,EACL;;YARK,eAA8B;YAA9B,mDAA8B;4BDWrC,UAAU,WACV,MAAM;YACN,QAAQ;YACR,IAAI;;iFAIK,oBAAoB;cAXhC,SAAS;2BACE,+BAA+B,WAEhC;oBACP,UAAU;oBACV,MAAM;oBACN,QAAQ;oBACR,IAAI;iBACL,cACW,IAAI;;kFAEL,oBAAoB"}
1
+ {"version":3,"file":"user-profile.component.js","sourceRoot":"","sources":["../../../src/components/user-profile/user-profile.component.ts","../../../src/components/user-profile/user-profile.component.html"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import { ActivatedRouteSnapshot, CanActivate, Router, RouterStateSnapshot } from '@angular/router';
2
+ import { Observable } from 'rxjs';
3
+ import { WardenUserService } from "@bitblit/ratchet-warden-common/client/warden-user-service";
4
+ import * as i0 from "@angular/core";
5
+ export declare class LoggedInGuard implements CanActivate {
6
+ private userService;
7
+ private router;
8
+ constructor(userService: WardenUserService<any>, router: Router);
9
+ canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<boolean> | Promise<boolean> | boolean;
10
+ static ɵfac: i0.ɵɵFactoryDeclaration<LoggedInGuard, never>;
11
+ static ɵprov: i0.ɵɵInjectableDeclaration<LoggedInGuard>;
12
+ }
@@ -0,0 +1,28 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { Router } from '@angular/router';
3
+ import { WardenUserService } from "@bitblit/ratchet-warden-common/client/warden-user-service";
4
+ import { No } from "@bitblit/ratchet-common/lang/no";
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@bitblit/ratchet-warden-common/client/warden-user-service";
7
+ import * as i2 from "@angular/router";
8
+ export class LoggedInGuard {
9
+ userService;
10
+ router;
11
+ constructor(userService, router) {
12
+ this.userService = userService;
13
+ this.router = router;
14
+ }
15
+ canActivate(route, state) {
16
+ if (!this.userService.isLoggedIn()) {
17
+ this.router.navigate(['/public/login'], { queryParams: { returnUrl: state.url } }).then(No.op);
18
+ return false;
19
+ }
20
+ return true;
21
+ }
22
+ static ɵfac = function LoggedInGuard_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || LoggedInGuard)(i0.ɵɵinject(i1.WardenUserService), i0.ɵɵinject(i2.Router)); };
23
+ static ɵprov = i0.ɵɵdefineInjectable({ token: LoggedInGuard, factory: LoggedInGuard.ɵfac });
24
+ }
25
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(LoggedInGuard, [{
26
+ type: Injectable
27
+ }], () => [{ type: i1.WardenUserService }, { type: i2.Router }], null); })();
28
+ //# sourceMappingURL=logged-in-guard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logged-in-guard.js","sourceRoot":"","sources":["../../src/guards/logged-in-guard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,eAAe,CAAC;AACzC,OAAO,EAAsC,MAAM,EAAsB,MAAM,iBAAiB,CAAC;AAEjG,OAAO,EAAC,iBAAiB,EAAC,MAAM,2DAA2D,CAAC;AAC5F,OAAO,EAAC,EAAE,EAAC,MAAM,iCAAiC,CAAC;;;;AAGnD,MAAM,OAAO,aAAa;IAEd;IACA;IAFV,YACU,WAAmC,EACnC,MAAc;QADd,gBAAW,GAAX,WAAW,CAAwB;QACnC,WAAM,GAAN,MAAM,CAAQ;IACrB,CAAC;IAEJ,WAAW,CAAC,KAA6B,EAAE,KAA0B;QACnE,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,EAAE,CAAC;YAOnC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,eAAe,CAAC,EAAE,EAAE,WAAW,EAAE,EAAE,SAAS,EAAE,KAAK,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YAC/F,OAAO,KAAK,CAAC;QACf,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;uGAlBU,aAAa;kDAAb,aAAa,WAAb,aAAa;;iFAAb,aAAa;cADzB,UAAU"}
@@ -0,0 +1,12 @@
1
+ import { ActivatedRouteSnapshot, CanActivate, Router, RouterStateSnapshot } from '@angular/router';
2
+ import { Observable } from 'rxjs';
3
+ import { WardenUserService } from "@bitblit/ratchet-warden-common/client/warden-user-service";
4
+ import * as i0 from "@angular/core";
5
+ export declare class NotLoggedInGuard implements CanActivate {
6
+ private userService;
7
+ private router;
8
+ constructor(userService: WardenUserService<any>, router: Router);
9
+ canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<boolean> | Promise<boolean> | boolean;
10
+ static ɵfac: i0.ɵɵFactoryDeclaration<NotLoggedInGuard, never>;
11
+ static ɵprov: i0.ɵɵInjectableDeclaration<NotLoggedInGuard>;
12
+ }
@@ -0,0 +1,37 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { Router } from '@angular/router';
3
+ import { Logger } from '@bitblit/ratchet-common/logger/logger';
4
+ import { WardenUserService } from "@bitblit/ratchet-warden-common/client/warden-user-service";
5
+ import { No } from "@bitblit/ratchet-common/lang/no";
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@bitblit/ratchet-warden-common/client/warden-user-service";
8
+ import * as i2 from "@angular/router";
9
+ export class NotLoggedInGuard {
10
+ userService;
11
+ router;
12
+ constructor(userService, router) {
13
+ this.userService = userService;
14
+ this.router = router;
15
+ }
16
+ canActivate(route, state) {
17
+ Logger.info('--- %j', route.queryParamMap);
18
+ if (route.queryParamMap.get('logout') === 'true') {
19
+ Logger.info('Logging out...');
20
+ this.userService.logout();
21
+ this.router.navigate(['/public/login']).then(No.op);
22
+ }
23
+ if (this.userService.isLoggedIn()) {
24
+ const target = '/secure/dashboard';
25
+ Logger.info('NotLoggedInGuard fail(logged in) : Redirecting to logged in %s', target);
26
+ this.router.navigate([target]).then(No.op);
27
+ return false;
28
+ }
29
+ return true;
30
+ }
31
+ static ɵfac = function NotLoggedInGuard_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || NotLoggedInGuard)(i0.ɵɵinject(i1.WardenUserService), i0.ɵɵinject(i2.Router)); };
32
+ static ɵprov = i0.ɵɵdefineInjectable({ token: NotLoggedInGuard, factory: NotLoggedInGuard.ɵfac });
33
+ }
34
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(NotLoggedInGuard, [{
35
+ type: Injectable
36
+ }], () => [{ type: i1.WardenUserService }, { type: i2.Router }], null); })();
37
+ //# sourceMappingURL=not-logged-in-guard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"not-logged-in-guard.js","sourceRoot":"","sources":["../../src/guards/not-logged-in-guard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,eAAe,CAAC;AACzC,OAAO,EAAsC,MAAM,EAAsB,MAAM,iBAAiB,CAAC;AAGjG,OAAO,EAAC,MAAM,EAAC,MAAM,uCAAuC,CAAC;AAC7D,OAAO,EAAC,iBAAiB,EAAC,MAAM,2DAA2D,CAAC;AAC5F,OAAO,EAAC,EAAE,EAAC,MAAM,iCAAiC,CAAC;;;;AAGnD,MAAM,OAAO,gBAAgB;IAEjB;IACA;IAFV,YACU,WAAmC,EACnC,MAAc;QADd,gBAAW,GAAX,WAAW,CAAwB;QACnC,WAAM,GAAN,MAAM,CAAQ;IACrB,CAAC;IAEJ,WAAW,CAAC,KAA6B,EAAE,KAA0B;QACnE,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;QAC3C,IAAI,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,MAAM,EAAE,CAAC;YACjD,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YAC9B,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;YAC1B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACtD,CAAC;QAED,IAAI,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,EAAE,CAAC;YAElC,MAAM,MAAM,GAAW,mBAAmB,CAAC;YAE3C,MAAM,CAAC,IAAI,CAAC,gEAAgE,EAAE,MAAM,CAAC,CAAC;YACtF,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YAC3C,OAAO,KAAK,CAAC;QACf,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;0GAvBU,gBAAgB;kDAAhB,gBAAgB,WAAhB,gBAAgB;;iFAAhB,gBAAgB;cAD5B,UAAU"}
@@ -0,0 +1,3 @@
1
+ export interface WardenAdapterServiceConfig {
2
+ postLogoutUrl: string;
3
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=warden-adapter-service-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"warden-adapter-service-config.js","sourceRoot":"","sources":["../../src/services/warden-adapter-service-config.ts"],"names":[],"mappings":""}
@@ -1,15 +1,19 @@
1
1
  import { Router } from '@angular/router';
2
2
  import { WardenUserServiceEventProcessingProvider } from '@bitblit/ratchet-warden-common/client/provider/warden-user-service-event-processing-provider';
3
3
  import { WardenLoggedInUserWrapper } from '@bitblit/ratchet-warden-common/client/provider/warden-logged-in-user-wrapper';
4
+ import { WardenContact } from "@bitblit/ratchet-warden-common/common/model/warden-contact";
5
+ import { WardenClient } from "@bitblit/ratchet-warden-common/client/warden-client";
4
6
  import * as i0 from "@angular/core";
5
7
  export declare class WardenAdapterService implements WardenUserServiceEventProcessingProvider<any> {
6
8
  router: Router;
7
- constructor(router: Router);
9
+ wardenClient: WardenClient;
10
+ constructor(router: Router, wardenClient: WardenClient);
8
11
  onAutomaticLogout(): void;
9
12
  onAutomaticTokenRefresh(_refreshUser: WardenLoggedInUserWrapper<any>): void;
10
13
  onLoginFailure(reason: string): void;
11
14
  onLogout(): void;
12
15
  onSuccessfulLogin(newUser: WardenLoggedInUserWrapper<any>): void;
16
+ sendMagicLink(contact: WardenContact, magicLanderUrl: string, postLoginUrl?: string): Promise<void>;
13
17
  static ɵfac: i0.ɵɵFactoryDeclaration<WardenAdapterService, never>;
14
18
  static ɵprov: i0.ɵɵInjectableDeclaration<WardenAdapterService>;
15
19
  }
@@ -2,12 +2,17 @@ import { Injectable } from '@angular/core';
2
2
  import { Logger } from '@bitblit/ratchet-common/logger/logger';
3
3
  import { No } from "@bitblit/ratchet-common/lang/no";
4
4
  import { Router } from '@angular/router';
5
+ import { RequireRatchet } from "@bitblit/ratchet-common/lang/require-ratchet";
6
+ import { WardenClient } from "@bitblit/ratchet-warden-common/client/warden-client";
5
7
  import * as i0 from "@angular/core";
6
8
  import * as i1 from "@angular/router";
9
+ import * as i2 from "@bitblit/ratchet-warden-common/client/warden-client";
7
10
  export class WardenAdapterService {
8
11
  router;
9
- constructor(router) {
12
+ wardenClient;
13
+ constructor(router, wardenClient) {
10
14
  this.router = router;
15
+ this.wardenClient = wardenClient;
11
16
  }
12
17
  onAutomaticLogout() {
13
18
  this.router.navigate(['/public/login']).then(No.op);
@@ -24,11 +29,28 @@ export class WardenAdapterService {
24
29
  onSuccessfulLogin(newUser) {
25
30
  Logger.info('Logged in as %s', newUser?.userObject?.loginData?.userLabel);
26
31
  }
27
- static ɵfac = function WardenAdapterService_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || WardenAdapterService)(i0.ɵɵinject(i1.Router)); };
32
+ async sendMagicLink(contact, magicLanderUrl, postLoginUrl) {
33
+ RequireRatchet.notNullUndefinedOrOnlyWhitespaceString(magicLanderUrl, 'magicLanderUrl may not be empty');
34
+ const mUrl = new URL(magicLanderUrl);
35
+ const param = new URLSearchParams(mUrl.search);
36
+ if (!param.has('code')) {
37
+ param.set('code', '{CODE}');
38
+ }
39
+ if (!param.has('meta')) {
40
+ param.set('meta', '{META}');
41
+ }
42
+ mUrl.search = param.toString();
43
+ const meta = {
44
+ redirect: postLoginUrl,
45
+ };
46
+ const sent = await this.wardenClient.sendMagicLink(contact, mUrl.toString(), meta);
47
+ Logger.info('Sent was %s : %s', sent, mUrl.toString());
48
+ }
49
+ static ɵfac = function WardenAdapterService_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || WardenAdapterService)(i0.ɵɵinject(i1.Router), i0.ɵɵinject(i2.WardenClient)); };
28
50
  static ɵprov = i0.ɵɵdefineInjectable({ token: WardenAdapterService, factory: WardenAdapterService.ɵfac, providedIn: 'root' });
29
51
  }
30
52
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(WardenAdapterService, [{
31
53
  type: Injectable,
32
54
  args: [{ providedIn: 'root' }]
33
- }], () => [{ type: i1.Router }], null); })();
55
+ }], () => [{ type: i1.Router }, { type: i2.WardenClient }], null); })();
34
56
  //# sourceMappingURL=warden-adapter.service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"warden-adapter.service.js","sourceRoot":"","sources":["../../src/services/warden-adapter.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,eAAe,CAAC;AACzC,OAAO,EAAC,MAAM,EAAC,MAAM,uCAAuC,CAAC;AAC7D,OAAO,EAAC,EAAE,EAAC,MAAM,iCAAiC,CAAC;AACnD,OAAO,EAAC,MAAM,EAAC,MAAM,iBAAiB,CAAC;;;AAKvC,MAAM,OAAO,oBAAoB;IACZ;IAAnB,YAAmB,MAAc;QAAd,WAAM,GAAN,MAAM,CAAQ;IAAG,CAAC;IAC9B,iBAAiB;QAEtB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACtD,CAAC;IAEM,uBAAuB,CAAC,YAA4C;QACzE,MAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;IACtC,CAAC;IAEM,cAAc,CAAC,MAAc;QAClC,MAAM,CAAC,IAAI,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;IAC7C,CAAC;IAEM,QAAQ;QAEb,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACtD,CAAC;IAEM,iBAAiB,CAAC,OAAuC;QAC9D,MAAM,CAAC,IAAI,CAAC,iBAAiB,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;IAC5E,CAAC;8GAtBU,oBAAoB;kDAApB,oBAAoB,WAApB,oBAAoB,mBADR,MAAM;;iFAClB,oBAAoB;cADhC,UAAU;eAAC,EAAC,UAAU,EAAE,MAAM,EAAC"}
1
+ {"version":3,"file":"warden-adapter.service.js","sourceRoot":"","sources":["../../src/services/warden-adapter.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,eAAe,CAAC;AACzC,OAAO,EAAC,MAAM,EAAC,MAAM,uCAAuC,CAAC;AAC7D,OAAO,EAAC,EAAE,EAAC,MAAM,iCAAiC,CAAC;AACnD,OAAO,EAAC,MAAM,EAAC,MAAM,iBAAiB,CAAC;AAIvC,OAAO,EAAE,cAAc,EAAE,MAAM,8CAA8C,CAAC;AAC9E,OAAO,EAAE,YAAY,EAAE,MAAM,qDAAqD,CAAC;;;;AAGnF,MAAM,OAAO,oBAAoB;IACZ;IAAuB;IAA1C,YAAmB,MAAc,EAAS,YAA0B;QAAjD,WAAM,GAAN,MAAM,CAAQ;QAAS,iBAAY,GAAZ,YAAY,CAAc;IAAG,CAAC;IAEjE,iBAAiB;QAEtB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACtD,CAAC;IAEM,uBAAuB,CAAC,YAA4C;QACzE,MAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;IACtC,CAAC;IAEM,cAAc,CAAC,MAAc;QAClC,MAAM,CAAC,IAAI,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;IAC7C,CAAC;IAEM,QAAQ;QAEb,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACtD,CAAC;IAEM,iBAAiB,CAAC,OAAuC;QAC9D,MAAM,CAAC,IAAI,CAAC,iBAAiB,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;IAC5E,CAAC;IAEM,KAAK,CAAC,aAAa,CAAC,OAAsB,EAAE,cAAsB,EAAE,YAAqB;QAC9F,cAAc,CAAC,sCAAsC,CAAC,cAAc,EAAE,iCAAiC,CAAC,CAAC;QAEzG,MAAM,IAAI,GAAQ,IAAI,GAAG,CAAC,cAAc,CAAC,CAAC;QAC1C,MAAM,KAAK,GAAoB,IAAI,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAChE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YACvB,KAAK,CAAC,GAAG,CAAC,MAAM,EAAC,QAAQ,CAAC,CAAC;QAC7B,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YACvB,KAAK,CAAC,GAAG,CAAC,MAAM,EAAC,QAAQ,CAAC,CAAC;QAC7B,CAAC;QAED,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;QAQ/B,MAAM,IAAI,GAA2B;YACnC,QAAQ,EAAE,YAAY;SACvB,CAAC;QACF,MAAM,IAAI,GAAY,MAAM,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,CAAC;QAE5F,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;IACzD,CAAC;8GAnDU,oBAAoB;kDAApB,oBAAoB,WAApB,oBAAoB,mBADR,MAAM;;iFAClB,oBAAoB;cADhC,UAAU;eAAC,EAAC,UAAU,EAAE,MAAM,EAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bitblit/ngx-acute-warden",
3
- "version": "5.0.545-alpha",
3
+ "version": "5.0.547-alpha",
4
4
  "description": "Library for using angular with ratchet-warden",
5
5
  "module": "lib/index.js",
6
6
  "types": "lib/index.d.ts",
@@ -43,9 +43,9 @@
43
43
  "@angular/platform-browser": "18.2.9",
44
44
  "@angular/platform-browser-dynamic": "18.2.9",
45
45
  "@angular/router": "18.2.9",
46
- "@bitblit/ngx-acute-common": "5.0.545-alpha",
47
- "@bitblit/ratchet-common": "5.0.545-alpha",
48
- "@bitblit/ratchet-warden-common": "5.0.545-alpha",
46
+ "@bitblit/ngx-acute-common": "5.0.547-alpha",
47
+ "@bitblit/ratchet-common": "5.0.547-alpha",
48
+ "@bitblit/ratchet-warden-common": "5.0.547-alpha",
49
49
  "primeflex": "3.3.1",
50
50
  "primeicons": "7.0.0",
51
51
  "primeng": "17.18.11",
@@ -61,9 +61,9 @@
61
61
  "@angular/platform-browser": "^18.2.9",
62
62
  "@angular/platform-browser-dynamic": "^18.2.9",
63
63
  "@angular/router": "^18.2.9",
64
- "@bitblit/ngx-acute-common": "5.0.545-alpha",
65
- "@bitblit/ratchet-common": "5.0.545-alpha",
66
- "@bitblit/ratchet-warden-common": "5.0.545-alpha",
64
+ "@bitblit/ngx-acute-common": "5.0.547-alpha",
65
+ "@bitblit/ratchet-common": "5.0.547-alpha",
66
+ "@bitblit/ratchet-warden-common": "5.0.547-alpha",
67
67
  "primeflex": "3.3.1",
68
68
  "primeicons": "7.0.0",
69
69
  "primeng": "17.18.11",
@@ -72,6 +72,6 @@
72
72
  },
73
73
  "devDependencies": {
74
74
  "@angular/compiler-cli": "18.2.9",
75
- "@bitblit/ratchet-node-only": "5.0.545-alpha"
75
+ "@bitblit/ratchet-node-only": "5.0.547-alpha"
76
76
  }
77
77
  }