@bitblit/ratchet-warden-common 4.0.420-alpha → 4.0.421-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.
Files changed (138) hide show
  1. package/lib/build/index.d.ts +1 -0
  2. package/lib/build/index.js +2 -0
  3. package/lib/build/index.js.map +1 -0
  4. package/lib/build/ratchet-warden-common-info.d.ts +5 -0
  5. package/lib/build/ratchet-warden-common-info.js +15 -0
  6. package/lib/build/ratchet-warden-common-info.js.map +1 -0
  7. package/lib/client/index.d.ts +16 -0
  8. package/lib/client/index.js +17 -0
  9. package/lib/client/index.js.map +1 -0
  10. package/lib/client/provider/warden-client-abstract-recent-login-provider.d.ts +13 -0
  11. package/lib/client/provider/warden-client-abstract-recent-login-provider.js +45 -0
  12. package/lib/client/provider/warden-client-abstract-recent-login-provider.js.map +1 -0
  13. package/lib/client/provider/warden-client-current-logged-in-jwt-token-provider.d.ts +3 -0
  14. package/lib/client/provider/warden-client-current-logged-in-jwt-token-provider.js +2 -0
  15. package/lib/client/provider/warden-client-current-logged-in-jwt-token-provider.js.map +1 -0
  16. package/lib/client/provider/warden-client-local-storage-logged-in-user-provider.d.ts +9 -0
  17. package/lib/client/provider/warden-client-local-storage-logged-in-user-provider.js +30 -0
  18. package/lib/client/provider/warden-client-local-storage-logged-in-user-provider.js.map +1 -0
  19. package/lib/client/provider/warden-client-local-storage-recent-login-provider.d.ts +8 -0
  20. package/lib/client/provider/warden-client-local-storage-recent-login-provider.js +24 -0
  21. package/lib/client/provider/warden-client-local-storage-recent-login-provider.js.map +1 -0
  22. package/lib/client/provider/warden-client-recent-login-provider.d.ts +10 -0
  23. package/lib/client/provider/warden-client-recent-login-provider.js +2 -0
  24. package/lib/client/provider/warden-client-recent-login-provider.js.map +1 -0
  25. package/lib/client/provider/warden-client-transient-memory-logged-in-user-provider.d.ts +8 -0
  26. package/lib/client/provider/warden-client-transient-memory-logged-in-user-provider.js +13 -0
  27. package/lib/client/provider/warden-client-transient-memory-logged-in-user-provider.js.map +1 -0
  28. package/lib/client/provider/warden-client-transient-memory-recent-login-provider.d.ts +7 -0
  29. package/lib/client/provider/warden-client-transient-memory-recent-login-provider.js +11 -0
  30. package/lib/client/provider/warden-client-transient-memory-recent-login-provider.js.map +1 -0
  31. package/lib/client/provider/warden-command-exchange-provider.d.ts +3 -0
  32. package/lib/client/provider/warden-command-exchange-provider.js +2 -0
  33. package/lib/client/provider/warden-command-exchange-provider.js.map +1 -0
  34. package/lib/client/provider/warden-logged-in-user-provider.d.ts +6 -0
  35. package/lib/client/provider/warden-logged-in-user-provider.js +2 -0
  36. package/lib/client/provider/warden-logged-in-user-provider.js.map +1 -0
  37. package/lib/client/provider/warden-logged-in-user-wrapper.d.ts +6 -0
  38. package/lib/client/provider/warden-logged-in-user-wrapper.js +2 -0
  39. package/lib/client/provider/warden-logged-in-user-wrapper.js.map +1 -0
  40. package/lib/client/provider/warden-recent-login-descriptor.d.ts +5 -0
  41. package/lib/client/provider/warden-recent-login-descriptor.js +2 -0
  42. package/lib/client/provider/warden-recent-login-descriptor.js.map +1 -0
  43. package/lib/client/provider/warden-user-service-event-processing-provider.d.ts +8 -0
  44. package/lib/client/provider/warden-user-service-event-processing-provider.js +2 -0
  45. package/lib/client/provider/warden-user-service-event-processing-provider.js.map +1 -0
  46. package/lib/client/provider/warden-user-service-options.d.ts +15 -0
  47. package/lib/client/provider/warden-user-service-options.js +2 -0
  48. package/lib/client/provider/warden-user-service-options.js.map +1 -0
  49. package/lib/client/warden-client.d.ts +32 -0
  50. package/lib/client/warden-client.js +172 -0
  51. package/lib/client/warden-client.js.map +1 -0
  52. package/lib/client/warden-delegating-current-user-providing-user-service-event-processing-provider.d.ts +17 -0
  53. package/lib/client/warden-delegating-current-user-providing-user-service-event-processing-provider.js +52 -0
  54. package/lib/client/warden-delegating-current-user-providing-user-service-event-processing-provider.js.map +1 -0
  55. package/lib/client/warden-user-service.d.ts +41 -0
  56. package/lib/client/warden-user-service.js +276 -0
  57. package/lib/client/warden-user-service.js.map +1 -0
  58. package/lib/common/command/add-web-authn-registration-to-logged-in-user.d.ts +6 -0
  59. package/lib/common/command/add-web-authn-registration-to-logged-in-user.js +2 -0
  60. package/lib/common/command/add-web-authn-registration-to-logged-in-user.js.map +1 -0
  61. package/lib/common/command/create-account.d.ts +7 -0
  62. package/lib/common/command/create-account.js +2 -0
  63. package/lib/common/command/create-account.js.map +1 -0
  64. package/lib/common/command/remove-web-authn-registration.d.ts +4 -0
  65. package/lib/common/command/remove-web-authn-registration.js +2 -0
  66. package/lib/common/command/remove-web-authn-registration.js.map +1 -0
  67. package/lib/common/command/send-magic-link.d.ts +12 -0
  68. package/lib/common/command/send-magic-link.js +2 -0
  69. package/lib/common/command/send-magic-link.js.map +1 -0
  70. package/lib/common/command/warden-command-response.d.ts +18 -0
  71. package/lib/common/command/warden-command-response.js +2 -0
  72. package/lib/common/command/warden-command-response.js.map +1 -0
  73. package/lib/common/command/warden-command.d.ts +20 -0
  74. package/lib/common/command/warden-command.js +2 -0
  75. package/lib/common/command/warden-command.js.map +1 -0
  76. package/lib/common/command/warden-contact-lookup.d.ts +5 -0
  77. package/lib/common/command/warden-contact-lookup.js +2 -0
  78. package/lib/common/command/warden-contact-lookup.js.map +1 -0
  79. package/lib/common/command/warden-custom-template-descriptor.d.ts +7 -0
  80. package/lib/common/command/warden-custom-template-descriptor.js +2 -0
  81. package/lib/common/command/warden-custom-template-descriptor.js.map +1 -0
  82. package/lib/common/command/web-authn-object-wrapper.d.ts +3 -0
  83. package/lib/common/command/web-authn-object-wrapper.js +2 -0
  84. package/lib/common/command/web-authn-object-wrapper.js.map +1 -0
  85. package/lib/common/index.d.ts +25 -0
  86. package/lib/common/index.js +26 -0
  87. package/lib/common/index.js.map +1 -0
  88. package/lib/common/model/warden-contact-type.d.ts +4 -0
  89. package/lib/common/model/warden-contact-type.js +6 -0
  90. package/lib/common/model/warden-contact-type.js.map +1 -0
  91. package/lib/common/model/warden-contact.d.ts +5 -0
  92. package/lib/common/model/warden-contact.js +2 -0
  93. package/lib/common/model/warden-contact.js.map +1 -0
  94. package/lib/common/model/warden-customer-message-type.d.ts +5 -0
  95. package/lib/common/model/warden-customer-message-type.js +7 -0
  96. package/lib/common/model/warden-customer-message-type.js.map +1 -0
  97. package/lib/common/model/warden-entry-summary.d.ts +8 -0
  98. package/lib/common/model/warden-entry-summary.js +2 -0
  99. package/lib/common/model/warden-entry-summary.js.map +1 -0
  100. package/lib/common/model/warden-entry.d.ts +11 -0
  101. package/lib/common/model/warden-entry.js +2 -0
  102. package/lib/common/model/warden-entry.js.map +1 -0
  103. package/lib/common/model/warden-jwt-token.d.ts +5 -0
  104. package/lib/common/model/warden-jwt-token.js +2 -0
  105. package/lib/common/model/warden-jwt-token.js.map +1 -0
  106. package/lib/common/model/warden-login-request.d.ts +10 -0
  107. package/lib/common/model/warden-login-request.js +2 -0
  108. package/lib/common/model/warden-login-request.js.map +1 -0
  109. package/lib/common/model/warden-login-results.d.ts +7 -0
  110. package/lib/common/model/warden-login-results.js +2 -0
  111. package/lib/common/model/warden-login-results.js.map +1 -0
  112. package/lib/common/model/warden-store-registration-response-type.d.ts +5 -0
  113. package/lib/common/model/warden-store-registration-response-type.js +7 -0
  114. package/lib/common/model/warden-store-registration-response-type.js.map +1 -0
  115. package/lib/common/model/warden-store-registration-response.d.ts +8 -0
  116. package/lib/common/model/warden-store-registration-response.js +2 -0
  117. package/lib/common/model/warden-store-registration-response.js.map +1 -0
  118. package/lib/common/model/warden-team-role.d.ts +4 -0
  119. package/lib/common/model/warden-team-role.js +2 -0
  120. package/lib/common/model/warden-team-role.js.map +1 -0
  121. package/lib/common/model/warden-user-decoration.d.ts +6 -0
  122. package/lib/common/model/warden-user-decoration.js +2 -0
  123. package/lib/common/model/warden-user-decoration.js.map +1 -0
  124. package/lib/common/model/warden-web-authn-entry-summary.d.ts +6 -0
  125. package/lib/common/model/warden-web-authn-entry-summary.js +2 -0
  126. package/lib/common/model/warden-web-authn-entry-summary.js.map +1 -0
  127. package/lib/common/model/warden-web-authn-entry.d.ts +12 -0
  128. package/lib/common/model/warden-web-authn-entry.js +2 -0
  129. package/lib/common/model/warden-web-authn-entry.js.map +1 -0
  130. package/lib/common/model/warden-web-authn-transport-future-type.d.ts +8 -0
  131. package/lib/common/model/warden-web-authn-transport-future-type.js +10 -0
  132. package/lib/common/model/warden-web-authn-transport-future-type.js.map +1 -0
  133. package/lib/common/util/warden-utils.d.ts +26 -0
  134. package/lib/common/util/warden-utils.js +121 -0
  135. package/lib/common/util/warden-utils.js.map +1 -0
  136. package/package.json +7 -8
  137. package/lib/index.mjs +0 -2
  138. package/lib/types.d.ts +0 -372
@@ -0,0 +1 @@
1
+ export * from './ratchet-warden-common-info.js';
@@ -0,0 +1,2 @@
1
+ export * from './ratchet-warden-common-info.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/build/index.ts"],"names":[],"mappings":"AAIA,cAAc,iCAAiC,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { BuildInformation } from '@bitblit/ratchet-common/build/build-information';
2
+ export declare class RatchetWardenCommonInfo {
3
+ private constructor();
4
+ static buildInformation(): BuildInformation;
5
+ }
@@ -0,0 +1,15 @@
1
+ export class RatchetWardenCommonInfo {
2
+ constructor() { }
3
+ static buildInformation() {
4
+ const val = {
5
+ version: 'LOCAL-SNAPSHOT',
6
+ hash: 'LOCAL-HASH',
7
+ branch: 'LOCAL-BRANCH',
8
+ tag: 'LOCAL-TAG',
9
+ timeBuiltISO: 'LOCAL-TIME-ISO',
10
+ notes: 'LOCAL-NOTES',
11
+ };
12
+ return val;
13
+ }
14
+ }
15
+ //# sourceMappingURL=ratchet-warden-common-info.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ratchet-warden-common-info.js","sourceRoot":"","sources":["../../src/build/ratchet-warden-common-info.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,uBAAuB;IAGlC,gBAAuB,CAAC;IAEjB,MAAM,CAAC,gBAAgB;QAC5B,MAAM,GAAG,GAAqB;YAC5B,OAAO,EAAE,gBAAgB;YACzB,IAAI,EAAE,YAAY;YAClB,MAAM,EAAE,cAAc;YACtB,GAAG,EAAE,WAAW;YAChB,YAAY,EAAE,gBAAgB;YAC9B,KAAK,EAAE,aAAa;SACrB,CAAC;QACF,OAAO,GAAG,CAAC;IACb,CAAC;CACF"}
@@ -0,0 +1,16 @@
1
+ export * from './warden-client.js';
2
+ export * from './warden-delegating-current-user-providing-user-service-event-processing-provider.js';
3
+ export * from './warden-user-service.js';
4
+ export * from './provider/warden-client-abstract-recent-login-provider.js';
5
+ export * from './provider/warden-client-current-logged-in-jwt-token-provider.js';
6
+ export * from './provider/warden-client-local-storage-logged-in-user-provider.js';
7
+ export * from './provider/warden-client-local-storage-recent-login-provider.js';
8
+ export * from './provider/warden-client-recent-login-provider.js';
9
+ export * from './provider/warden-client-transient-memory-logged-in-user-provider.js';
10
+ export * from './provider/warden-client-transient-memory-recent-login-provider.js';
11
+ export * from './provider/warden-command-exchange-provider.js';
12
+ export * from './provider/warden-logged-in-user-provider.js';
13
+ export * from './provider/warden-logged-in-user-wrapper.js';
14
+ export * from './provider/warden-recent-login-descriptor.js';
15
+ export * from './provider/warden-user-service-event-processing-provider.js';
16
+ export * from './provider/warden-user-service-options.js';
@@ -0,0 +1,17 @@
1
+ export * from './warden-client.js';
2
+ export * from './warden-delegating-current-user-providing-user-service-event-processing-provider.js';
3
+ export * from './warden-user-service.js';
4
+ export * from './provider/warden-client-abstract-recent-login-provider.js';
5
+ export * from './provider/warden-client-current-logged-in-jwt-token-provider.js';
6
+ export * from './provider/warden-client-local-storage-logged-in-user-provider.js';
7
+ export * from './provider/warden-client-local-storage-recent-login-provider.js';
8
+ export * from './provider/warden-client-recent-login-provider.js';
9
+ export * from './provider/warden-client-transient-memory-logged-in-user-provider.js';
10
+ export * from './provider/warden-client-transient-memory-recent-login-provider.js';
11
+ export * from './provider/warden-command-exchange-provider.js';
12
+ export * from './provider/warden-logged-in-user-provider.js';
13
+ export * from './provider/warden-logged-in-user-wrapper.js';
14
+ export * from './provider/warden-recent-login-descriptor.js';
15
+ export * from './provider/warden-user-service-event-processing-provider.js';
16
+ export * from './provider/warden-user-service-options.js';
17
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAIA,cAAc,oBAAoB,CAAC;AACnC,cAAc,sFAAsF,CAAC;AACrG,cAAc,0BAA0B,CAAC;AACzC,cAAc,4DAA4D,CAAC;AAC3E,cAAc,kEAAkE,CAAC;AACjF,cAAc,mEAAmE,CAAC;AAClF,cAAc,iEAAiE,CAAC;AAChF,cAAc,mDAAmD,CAAC;AAClE,cAAc,sEAAsE,CAAC;AACrF,cAAc,oEAAoE,CAAC;AACnF,cAAc,gDAAgD,CAAC;AAC/D,cAAc,8CAA8C,CAAC;AAC7D,cAAc,6CAA6C,CAAC;AAC5D,cAAc,8CAA8C,CAAC;AAC7D,cAAc,6DAA6D,CAAC;AAC5E,cAAc,2CAA2C,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { WardenClientRecentLoginProvider } from './warden-client-recent-login-provider.js';
2
+ import { WardenRecentLoginDescriptor } from './warden-recent-login-descriptor.js';
3
+ import { WardenEntrySummary } from '../../common/model/warden-entry-summary.js';
4
+ import { WardenContact } from '../../common/model/warden-contact.js';
5
+ export declare abstract class WardenClientAbstractRecentLoginProvider implements WardenClientRecentLoginProvider {
6
+ abstract fetchCache(): WardenRecentLoginDescriptor[];
7
+ abstract updateCache(newValue: WardenRecentLoginDescriptor[]): any;
8
+ saveRecentLogin(entry: WardenEntrySummary): void;
9
+ saveNewUser(userId: string, label: string, contact: WardenContact): void;
10
+ removeUser(userId: string): void;
11
+ fetchAllLogins(): WardenRecentLoginDescriptor[];
12
+ clearAllLogins(): void;
13
+ }
@@ -0,0 +1,45 @@
1
+ import { Logger } from '@bitblit/ratchet-common/logger/logger';
2
+ import { StringRatchet } from '@bitblit/ratchet-common/lang/string-ratchet';
3
+ import { WardenUtils } from '../../common/util/warden-utils.js';
4
+ export class WardenClientAbstractRecentLoginProvider {
5
+ saveRecentLogin(entry) {
6
+ if (entry?.userId) {
7
+ Logger.info('Saving recent login : %j', entry);
8
+ let list = this.fetchCache();
9
+ list = list.filter((s) => s.user.userId !== entry.userId);
10
+ list.push({
11
+ user: entry,
12
+ lastLoginEpochMS: Date.now(),
13
+ });
14
+ this.updateCache(list);
15
+ }
16
+ else {
17
+ Logger.warn('Cannot save recent login - no login provided : %s', entry);
18
+ }
19
+ }
20
+ saveNewUser(userId, label, contact) {
21
+ if (StringRatchet.trimToNull(userId) && WardenUtils.validContact(contact)) {
22
+ this.saveRecentLogin({
23
+ userId: userId,
24
+ contactMethods: [contact],
25
+ webAuthnAuthenticatorSummaries: [],
26
+ userLabel: label,
27
+ });
28
+ }
29
+ else {
30
+ Logger.warn('Cannot save new user - invalid data : %s : %j', userId, contact);
31
+ }
32
+ }
33
+ removeUser(userId) {
34
+ let list = this.fetchCache();
35
+ list = list.filter((c) => c.user.userId !== userId);
36
+ this.updateCache(list);
37
+ }
38
+ fetchAllLogins() {
39
+ return Object.assign([], this.fetchCache());
40
+ }
41
+ clearAllLogins() {
42
+ this.updateCache([]);
43
+ }
44
+ }
45
+ //# sourceMappingURL=warden-client-abstract-recent-login-provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"warden-client-abstract-recent-login-provider.js","sourceRoot":"","sources":["../../../src/client/provider/warden-client-abstract-recent-login-provider.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAE,MAAM,uCAAuC,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,6CAA6C,CAAC;AAG5E,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAEhE,MAAM,OAAgB,uCAAuC;IAIpD,eAAe,CAAC,KAAyB;QAC9C,IAAI,KAAK,EAAE,MAAM,EAAE,CAAC;YAClB,MAAM,CAAC,IAAI,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAC;YAC/C,IAAI,IAAI,GAAkC,IAAI,CAAC,UAAU,EAAE,CAAC;YAC5D,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,CAAC,CAAC;YAC1D,IAAI,CAAC,IAAI,CAAC;gBACR,IAAI,EAAE,KAAK;gBACX,gBAAgB,EAAE,IAAI,CAAC,GAAG,EAAE;aAC7B,CAAC,CAAC;YACH,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACzB,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,oDAAoD,EAAE,KAAK,CAAC,CAAC;QAC3E,CAAC;IACH,CAAC;IAEM,WAAW,CAAC,MAAc,EAAE,KAAa,EAAE,OAAsB;QACtE,IAAI,aAAa,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,WAAW,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC;YAC1E,IAAI,CAAC,eAAe,CAAC;gBACnB,MAAM,EAAE,MAAM;gBACd,cAAc,EAAE,CAAC,OAAO,CAAC;gBACzB,8BAA8B,EAAE,EAAE;gBAClC,SAAS,EAAE,KAAK;aACjB,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,+CAA+C,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QAChF,CAAC;IACH,CAAC;IAEM,UAAU,CAAC,MAAc;QAC9B,IAAI,IAAI,GAAkC,IAAI,CAAC,UAAU,EAAE,CAAC;QAC5D,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;QACpD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IACM,cAAc;QACnB,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;IAC9C,CAAC;IACM,cAAc;QACnB,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;IACvB,CAAC;CACF"}
@@ -0,0 +1,3 @@
1
+ export interface WardenClientCurrentLoggedInJwtTokenProvider {
2
+ fetchCurrentLoggedInJwtToken(): string;
3
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=warden-client-current-logged-in-jwt-token-provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"warden-client-current-logged-in-jwt-token-provider.js","sourceRoot":"","sources":["../../../src/client/provider/warden-client-current-logged-in-jwt-token-provider.ts"],"names":[],"mappings":""}
@@ -0,0 +1,9 @@
1
+ import { WardenLoggedInUserProvider } from './warden-logged-in-user-provider.js';
2
+ import { WardenLoggedInUserWrapper } from './warden-logged-in-user-wrapper.js';
3
+ export declare class WardenClientLocalStorageLoggedInUserProvider<T> implements WardenLoggedInUserProvider<T> {
4
+ private localStorageKey;
5
+ constructor(localStorageKey: string);
6
+ fetchLoggedInUserWrapper(): WardenLoggedInUserWrapper<T>;
7
+ logOutUser(): void;
8
+ setLoggedInUserWrapper(wrapper: WardenLoggedInUserWrapper<T>): void;
9
+ }
@@ -0,0 +1,30 @@
1
+ import { RequireRatchet } from '@bitblit/ratchet-common/lang/require-ratchet';
2
+ import { ErrorRatchet } from '@bitblit/ratchet-common/lang/error-ratchet';
3
+ import { StringRatchet } from '@bitblit/ratchet-common/lang/string-ratchet';
4
+ export class WardenClientLocalStorageLoggedInUserProvider {
5
+ localStorageKey;
6
+ constructor(localStorageKey) {
7
+ this.localStorageKey = localStorageKey;
8
+ RequireRatchet.notNullUndefinedOrOnlyWhitespaceString(this.localStorageKey, 'localStorageKey');
9
+ if (!localStorage) {
10
+ ErrorRatchet.throwFormattedErr('Local storage not available on this platform');
11
+ }
12
+ }
13
+ fetchLoggedInUserWrapper() {
14
+ const asString = localStorage.getItem(this.localStorageKey);
15
+ const rval = StringRatchet.trimToNull(asString) ? JSON.parse(asString) : null;
16
+ return rval;
17
+ }
18
+ logOutUser() {
19
+ this.setLoggedInUserWrapper(null);
20
+ }
21
+ setLoggedInUserWrapper(wrapper) {
22
+ if (wrapper) {
23
+ localStorage.setItem(this.localStorageKey, JSON.stringify(wrapper));
24
+ }
25
+ else {
26
+ localStorage.removeItem(this.localStorageKey);
27
+ }
28
+ }
29
+ }
30
+ //# sourceMappingURL=warden-client-local-storage-logged-in-user-provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"warden-client-local-storage-logged-in-user-provider.js","sourceRoot":"","sources":["../../../src/client/provider/warden-client-local-storage-logged-in-user-provider.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,MAAM,8CAA8C,CAAC;AAC9E,OAAO,EAAE,YAAY,EAAE,MAAM,4CAA4C,CAAC;AAC1E,OAAO,EAAE,aAAa,EAAE,MAAM,6CAA6C,CAAC;AAE5E,MAAM,OAAO,4CAA4C;IACnC;IAApB,YAAoB,eAAuB;QAAvB,oBAAe,GAAf,eAAe,CAAQ;QACzC,cAAc,CAAC,sCAAsC,CAAC,IAAI,CAAC,eAAe,EAAE,iBAAiB,CAAC,CAAC;QAC/F,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,YAAY,CAAC,iBAAiB,CAAC,8CAA8C,CAAC,CAAC;QACjF,CAAC;IACH,CAAC;IAEM,wBAAwB;QAC7B,MAAM,QAAQ,GAAW,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACpE,MAAM,IAAI,GAAiC,aAAa,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC5G,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,UAAU;QACf,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC;IAEM,sBAAsB,CAAC,OAAqC;QACjE,IAAI,OAAO,EAAE,CAAC;YACZ,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;QACtE,CAAC;aAAM,CAAC;YACN,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAChD,CAAC;IACH,CAAC;CACF"}
@@ -0,0 +1,8 @@
1
+ import { WardenRecentLoginDescriptor } from './warden-recent-login-descriptor.js';
2
+ import { WardenClientAbstractRecentLoginProvider } from './warden-client-abstract-recent-login-provider.js';
3
+ export declare class WardenClientLocalStorageRecentLoginProvider extends WardenClientAbstractRecentLoginProvider {
4
+ private localStorageKey;
5
+ constructor(localStorageKey: string);
6
+ fetchCache(): WardenRecentLoginDescriptor[];
7
+ updateCache(newValue: WardenRecentLoginDescriptor[]): void;
8
+ }
@@ -0,0 +1,24 @@
1
+ import { RequireRatchet } from '@bitblit/ratchet-common/lang/require-ratchet';
2
+ import { ErrorRatchet } from '@bitblit/ratchet-common/lang/error-ratchet';
3
+ import { StringRatchet } from '@bitblit/ratchet-common/lang/string-ratchet';
4
+ import { WardenClientAbstractRecentLoginProvider } from './warden-client-abstract-recent-login-provider.js';
5
+ export class WardenClientLocalStorageRecentLoginProvider extends WardenClientAbstractRecentLoginProvider {
6
+ localStorageKey;
7
+ constructor(localStorageKey) {
8
+ super();
9
+ this.localStorageKey = localStorageKey;
10
+ RequireRatchet.notNullUndefinedOrOnlyWhitespaceString(this.localStorageKey, 'localStorageKey');
11
+ if (!localStorage) {
12
+ ErrorRatchet.throwFormattedErr('Local storage not available on this platform');
13
+ }
14
+ }
15
+ fetchCache() {
16
+ const asString = StringRatchet.trimToNull(localStorage.getItem(StringRatchet.trimToNull(this.localStorageKey)));
17
+ return asString ? JSON.parse(asString) : [];
18
+ }
19
+ updateCache(newValue) {
20
+ const asString = newValue ? JSON.stringify(newValue) : '[]';
21
+ localStorage.setItem(StringRatchet.trimToNull(this.localStorageKey), asString);
22
+ }
23
+ }
24
+ //# sourceMappingURL=warden-client-local-storage-recent-login-provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"warden-client-local-storage-recent-login-provider.js","sourceRoot":"","sources":["../../../src/client/provider/warden-client-local-storage-recent-login-provider.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,8CAA8C,CAAC;AAC9E,OAAO,EAAE,YAAY,EAAE,MAAM,4CAA4C,CAAC;AAC1E,OAAO,EAAE,aAAa,EAAE,MAAM,6CAA6C,CAAC;AAC5E,OAAO,EAAE,uCAAuC,EAAE,MAAM,mDAAmD,CAAC;AAE5G,MAAM,OAAO,2CAA4C,SAAQ,uCAAuC;IAClF;IAApB,YAAoB,eAAuB;QACzC,KAAK,EAAE,CAAC;QADU,oBAAe,GAAf,eAAe,CAAQ;QAEzC,cAAc,CAAC,sCAAsC,CAAC,IAAI,CAAC,eAAe,EAAE,iBAAiB,CAAC,CAAC;QAC/F,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,YAAY,CAAC,iBAAiB,CAAC,8CAA8C,CAAC,CAAC;QACjF,CAAC;IACH,CAAC;IAED,UAAU;QACR,MAAM,QAAQ,GAAW,aAAa,CAAC,UAAU,CAAC,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;QACxH,OAAO,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9C,CAAC;IAED,WAAW,CAAC,QAAuC;QACjD,MAAM,QAAQ,GAAW,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACpE,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,QAAQ,CAAC,CAAC;IACjF,CAAC;CACF"}
@@ -0,0 +1,10 @@
1
+ import { WardenRecentLoginDescriptor } from './warden-recent-login-descriptor.js';
2
+ import { WardenEntrySummary } from '../../common/model/warden-entry-summary.js';
3
+ import { WardenContact } from '../../common/model/warden-contact.js';
4
+ export interface WardenClientRecentLoginProvider {
5
+ saveRecentLogin(entry: WardenEntrySummary): void;
6
+ saveNewUser(userId: string, label: string, contact: WardenContact): void;
7
+ removeUser(userId: string): void;
8
+ fetchAllLogins(): WardenRecentLoginDescriptor[];
9
+ clearAllLogins(): void;
10
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=warden-client-recent-login-provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"warden-client-recent-login-provider.js","sourceRoot":"","sources":["../../../src/client/provider/warden-client-recent-login-provider.ts"],"names":[],"mappings":""}
@@ -0,0 +1,8 @@
1
+ import { WardenLoggedInUserProvider } from './warden-logged-in-user-provider.js';
2
+ import { WardenLoggedInUserWrapper } from './warden-logged-in-user-wrapper.js';
3
+ export declare class WardenClientTransientMemoryLoggedInUserProvider<T> implements WardenLoggedInUserProvider<T> {
4
+ private wrapper;
5
+ fetchLoggedInUserWrapper(): WardenLoggedInUserWrapper<T>;
6
+ logOutUser(): void;
7
+ setLoggedInUserWrapper(wrapper: WardenLoggedInUserWrapper<T>): void;
8
+ }
@@ -0,0 +1,13 @@
1
+ export class WardenClientTransientMemoryLoggedInUserProvider {
2
+ wrapper;
3
+ fetchLoggedInUserWrapper() {
4
+ return this.wrapper;
5
+ }
6
+ logOutUser() {
7
+ this.wrapper = null;
8
+ }
9
+ setLoggedInUserWrapper(wrapper) {
10
+ this.wrapper = wrapper;
11
+ }
12
+ }
13
+ //# sourceMappingURL=warden-client-transient-memory-logged-in-user-provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"warden-client-transient-memory-logged-in-user-provider.js","sourceRoot":"","sources":["../../../src/client/provider/warden-client-transient-memory-logged-in-user-provider.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,+CAA+C;IAClD,OAAO,CAA+B;IAEvC,wBAAwB;QAC7B,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAEM,UAAU;QACf,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;IACtB,CAAC;IAEM,sBAAsB,CAAC,OAAqC;QACjE,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;CACF"}
@@ -0,0 +1,7 @@
1
+ import { WardenRecentLoginDescriptor } from './warden-recent-login-descriptor.js';
2
+ import { WardenClientAbstractRecentLoginProvider } from './warden-client-abstract-recent-login-provider.js';
3
+ export declare class WardenClientTransientMemoryRecentLoginProvider extends WardenClientAbstractRecentLoginProvider {
4
+ private _cache;
5
+ fetchCache(): WardenRecentLoginDescriptor[];
6
+ updateCache(newValue: WardenRecentLoginDescriptor[]): void;
7
+ }
@@ -0,0 +1,11 @@
1
+ import { WardenClientAbstractRecentLoginProvider } from './warden-client-abstract-recent-login-provider.js';
2
+ export class WardenClientTransientMemoryRecentLoginProvider extends WardenClientAbstractRecentLoginProvider {
3
+ _cache = [];
4
+ fetchCache() {
5
+ return this._cache;
6
+ }
7
+ updateCache(newValue) {
8
+ this._cache = newValue;
9
+ }
10
+ }
11
+ //# sourceMappingURL=warden-client-transient-memory-recent-login-provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"warden-client-transient-memory-recent-login-provider.js","sourceRoot":"","sources":["../../../src/client/provider/warden-client-transient-memory-recent-login-provider.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uCAAuC,EAAE,MAAM,mDAAmD,CAAC;AAG5G,MAAM,OAAO,8CAA+C,SAAQ,uCAAuC;IACjG,MAAM,GAAkC,EAAE,CAAC;IAEnD,UAAU;QACR,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,WAAW,CAAC,QAAuC;QACjD,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC;IACzB,CAAC;CACF"}
@@ -0,0 +1,3 @@
1
+ export interface WardenCommandExchangeProvider {
2
+ sendCommand(cmdString: string, jwtToken: string): Promise<string>;
3
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=warden-command-exchange-provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"warden-command-exchange-provider.js","sourceRoot":"","sources":["../../../src/client/provider/warden-command-exchange-provider.ts"],"names":[],"mappings":""}
@@ -0,0 +1,6 @@
1
+ import { WardenLoggedInUserWrapper } from './warden-logged-in-user-wrapper.js';
2
+ export interface WardenLoggedInUserProvider<T> {
3
+ fetchLoggedInUserWrapper(): WardenLoggedInUserWrapper<T>;
4
+ setLoggedInUserWrapper(wrapper: WardenLoggedInUserWrapper<T>): any;
5
+ logOutUser(): void;
6
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=warden-logged-in-user-provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"warden-logged-in-user-provider.js","sourceRoot":"","sources":["../../../src/client/provider/warden-logged-in-user-provider.ts"],"names":[],"mappings":""}
@@ -0,0 +1,6 @@
1
+ import { WardenJwtToken } from '../../common/model/warden-jwt-token.js';
2
+ export interface WardenLoggedInUserWrapper<T> {
3
+ userObject: WardenJwtToken<T>;
4
+ jwtToken: string;
5
+ expirationEpochSeconds: number;
6
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=warden-logged-in-user-wrapper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"warden-logged-in-user-wrapper.js","sourceRoot":"","sources":["../../../src/client/provider/warden-logged-in-user-wrapper.ts"],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ import { WardenEntrySummary } from '../../common/model/warden-entry-summary.js';
2
+ export interface WardenRecentLoginDescriptor {
3
+ user: WardenEntrySummary;
4
+ lastLoginEpochMS: number;
5
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=warden-recent-login-descriptor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"warden-recent-login-descriptor.js","sourceRoot":"","sources":["../../../src/client/provider/warden-recent-login-descriptor.ts"],"names":[],"mappings":""}
@@ -0,0 +1,8 @@
1
+ import { WardenLoggedInUserWrapper } from './warden-logged-in-user-wrapper.js';
2
+ export interface WardenUserServiceEventProcessingProvider<T> {
3
+ onLogout(): void;
4
+ onSuccessfulLogin(newUser: WardenLoggedInUserWrapper<T>): void;
5
+ onLoginFailure(reason: string): void;
6
+ onAutomaticTokenRefresh(refreshUser: WardenLoggedInUserWrapper<T>): void;
7
+ onAutomaticLogout(): void;
8
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=warden-user-service-event-processing-provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"warden-user-service-event-processing-provider.js","sourceRoot":"","sources":["../../../src/client/provider/warden-user-service-event-processing-provider.ts"],"names":[],"mappings":""}
@@ -0,0 +1,15 @@
1
+ import { WardenLoggedInUserProvider } from './warden-logged-in-user-provider.js';
2
+ import { WardenClient } from '../warden-client.js';
3
+ import { WardenUserServiceEventProcessingProvider } from './warden-user-service-event-processing-provider.js';
4
+ import { WardenClientRecentLoginProvider } from './warden-client-recent-login-provider.js';
5
+ export interface WardenUserServiceOptions<T> {
6
+ recentLoginProvider?: WardenClientRecentLoginProvider;
7
+ loggedInUserProvider: WardenLoggedInUserProvider<T>;
8
+ wardenClient: WardenClient;
9
+ eventProcessor: WardenUserServiceEventProcessingProvider<T>;
10
+ loginCheckTimerPingSeconds?: number;
11
+ autoLoginHandlingThresholdSeconds?: number;
12
+ allowAutoRefresh?: boolean;
13
+ applicationName: string;
14
+ deviceLabelGenerator?: () => string;
15
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=warden-user-service-options.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"warden-user-service-options.js","sourceRoot":"","sources":["../../../src/client/provider/warden-user-service-options.ts"],"names":[],"mappings":""}
@@ -0,0 +1,32 @@
1
+ import { WardenCommand } from '../common/command/warden-command.js';
2
+ import { WardenContact } from '../common/model/warden-contact.js';
3
+ import { WardenCommandExchangeProvider } from './provider/warden-command-exchange-provider.js';
4
+ import { WardenCommandResponse } from '../common/command/warden-command-response.js';
5
+ import { PublicKeyCredentialCreationOptionsJSON, PublicKeyCredentialRequestOptionsJSON, RegistrationResponseJSON } from '@simplewebauthn/types';
6
+ import { WardenLoginResults } from '../common/model/warden-login-results.js';
7
+ import { WardenLoginRequest } from '../common/model/warden-login-request.js';
8
+ import { WardenClientCurrentLoggedInJwtTokenProvider } from './provider/warden-client-current-logged-in-jwt-token-provider.js';
9
+ import { WardenEntrySummary } from '../common/model/warden-entry-summary.js';
10
+ import { WardenContactType } from '../common/model/warden-contact-type.js';
11
+ import { SendMagicLink } from '../common/command/send-magic-link.js';
12
+ export declare class WardenClient {
13
+ private commandSender;
14
+ private jwtProvider;
15
+ constructor(commandSender: WardenCommandExchangeProvider, jwtProvider: WardenClientCurrentLoggedInJwtTokenProvider);
16
+ exchangeCommand(cmd: WardenCommand, returnErrors?: boolean): Promise<WardenCommandResponse>;
17
+ createAccount(contact: WardenContact, sendCode?: boolean, label?: string, tags?: string[]): Promise<string>;
18
+ sendMagicLinkRaw(smlCmd: SendMagicLink): Promise<boolean>;
19
+ sendMagicLinkByUserId(userId: string, landingUrl: string, contactType?: WardenContactType, meta?: Record<string, string>): Promise<boolean>;
20
+ sendMagicLink(contact: WardenContact, landingUrl: string, meta?: Record<string, string>): Promise<boolean>;
21
+ generateWebAuthnAuthenticationChallengeForUserId(userId: string): Promise<PublicKeyCredentialRequestOptionsJSON>;
22
+ generateWebAuthnRegistrationChallengeForLoggedInUser(): Promise<PublicKeyCredentialCreationOptionsJSON>;
23
+ removeWebAuthnRegistration(userId: string, credId: string): Promise<WardenEntrySummary>;
24
+ removeWebAuthnRegistrationFromLoggedInUser(input: string): Promise<WardenEntrySummary>;
25
+ removeContactFromLoggedInUser(input: WardenContact): Promise<WardenEntrySummary>;
26
+ sendExpiringValidationToken(contact: WardenContact): Promise<boolean>;
27
+ addContactToLoggedInUser(contact: WardenContact): Promise<boolean>;
28
+ addWebAuthnRegistrationToLoggedInUser(applicationName: string, deviceLabel: string, data: RegistrationResponseJSON): Promise<WardenEntrySummary>;
29
+ performLoginCmd(login: WardenLoginRequest): Promise<WardenLoginResults>;
30
+ refreshJwtToken(oldJwtToken: string): Promise<string>;
31
+ executeExpiringTokenBasedLogin(contact: WardenContact, expiringToken: string): Promise<WardenLoginResults>;
32
+ }
@@ -0,0 +1,172 @@
1
+ import { RequireRatchet } from '@bitblit/ratchet-common/lang/require-ratchet';
2
+ import { Logger } from '@bitblit/ratchet-common/logger/logger';
3
+ import { ErrorRatchet } from '@bitblit/ratchet-common/lang/error-ratchet';
4
+ import { StringRatchet } from '@bitblit/ratchet-common/lang/string-ratchet';
5
+ export class WardenClient {
6
+ commandSender;
7
+ jwtProvider;
8
+ constructor(commandSender, jwtProvider) {
9
+ this.commandSender = commandSender;
10
+ this.jwtProvider = jwtProvider;
11
+ RequireRatchet.notNullOrUndefined(commandSender, 'commandSender');
12
+ RequireRatchet.notNullOrUndefined(jwtProvider, 'jwtProvider');
13
+ }
14
+ async exchangeCommand(cmd, returnErrors) {
15
+ const asString = JSON.stringify(cmd);
16
+ const resp = await this.commandSender.sendCommand(asString, this.jwtProvider.fetchCurrentLoggedInJwtToken());
17
+ const parsed = JSON.parse(resp);
18
+ if (parsed?.error && !returnErrors) {
19
+ ErrorRatchet.throwFormattedErr('%s', parsed.error);
20
+ }
21
+ return parsed;
22
+ }
23
+ async createAccount(contact, sendCode, label, tags) {
24
+ const cmd = {
25
+ createAccount: {
26
+ contact: contact,
27
+ sendCode: sendCode,
28
+ label: label,
29
+ tags: tags,
30
+ },
31
+ };
32
+ const rval = await this.exchangeCommand(cmd);
33
+ return rval.createAccount;
34
+ }
35
+ async sendMagicLinkRaw(smlCmd) {
36
+ if (smlCmd) {
37
+ const cmd = {
38
+ sendMagicLink: smlCmd,
39
+ };
40
+ const rval = await this.exchangeCommand(cmd);
41
+ return rval.sendMagicLink;
42
+ }
43
+ else {
44
+ Logger.warn('Skipping magic link command - none supplied');
45
+ return false;
46
+ }
47
+ }
48
+ async sendMagicLinkByUserId(userId, landingUrl, contactType, meta) {
49
+ const cmd = {
50
+ contactLookup: {
51
+ userId: userId,
52
+ contactType: contactType,
53
+ },
54
+ landingUrl: landingUrl,
55
+ meta: meta,
56
+ };
57
+ return this.sendMagicLinkRaw(cmd);
58
+ }
59
+ async sendMagicLink(contact, landingUrl, meta) {
60
+ const cmd = {
61
+ contact: contact,
62
+ landingUrl: landingUrl,
63
+ meta: meta,
64
+ };
65
+ return this.sendMagicLinkRaw(cmd);
66
+ }
67
+ async generateWebAuthnAuthenticationChallengeForUserId(userId) {
68
+ const cmd = {
69
+ generateWebAuthnAuthenticationChallengeForUserId: userId,
70
+ };
71
+ const rval = await this.exchangeCommand(cmd);
72
+ const parsed = JSON.parse(rval.generateWebAuthnAuthenticationChallengeForUserId.dataAsJson);
73
+ return parsed;
74
+ }
75
+ async generateWebAuthnRegistrationChallengeForLoggedInUser() {
76
+ const cmd = {
77
+ generateWebAuthnRegistrationChallengeForLoggedInUser: true,
78
+ };
79
+ const rval = await this.exchangeCommand(cmd);
80
+ const parsed = JSON.parse(rval.generateWebAuthnRegistrationChallengeForLoggedInUser.dataAsJson);
81
+ return parsed;
82
+ }
83
+ async removeWebAuthnRegistration(userId, credId) {
84
+ const cmd = {
85
+ removeWebAuthnRegistration: {
86
+ userId: userId,
87
+ credentialId: credId,
88
+ },
89
+ };
90
+ const rval = await this.exchangeCommand(cmd);
91
+ return rval.removeWebAuthnRegistration;
92
+ }
93
+ async removeWebAuthnRegistrationFromLoggedInUser(input) {
94
+ const cmd = {
95
+ removeWebAuthnRegistrationFromLoggedInUser: input,
96
+ };
97
+ const rval = await this.exchangeCommand(cmd);
98
+ return rval.removeWebAuthnRegistrationFromLoggedInUser;
99
+ }
100
+ async removeContactFromLoggedInUser(input) {
101
+ const cmd = {
102
+ removeContactFromLoggedInUser: input,
103
+ };
104
+ const rval = await this.exchangeCommand(cmd);
105
+ return rval.removeContactFromLoggedInUser;
106
+ }
107
+ async sendExpiringValidationToken(contact) {
108
+ const cmd = {
109
+ sendExpiringValidationToken: contact,
110
+ };
111
+ const rval = await this.exchangeCommand(cmd);
112
+ return rval.sendExpiringValidationToken;
113
+ }
114
+ async addContactToLoggedInUser(contact) {
115
+ const cmd = {
116
+ addContactToLoggedInUser: contact,
117
+ };
118
+ const rval = await this.exchangeCommand(cmd);
119
+ return rval.addContactToLoggedInUser;
120
+ }
121
+ async addWebAuthnRegistrationToLoggedInUser(applicationName, deviceLabel, data) {
122
+ const inCmd = {
123
+ webAuthn: {
124
+ dataAsJson: JSON.stringify(data),
125
+ },
126
+ applicationName: applicationName,
127
+ deviceLabel: deviceLabel,
128
+ };
129
+ const cmd = {
130
+ addWebAuthnRegistrationToLoggedInUser: inCmd,
131
+ };
132
+ const rval = await this.exchangeCommand(cmd);
133
+ return rval.addWebAuthnRegistrationToLoggedInUser;
134
+ }
135
+ async performLoginCmd(login) {
136
+ const loginCmd = {
137
+ performLogin: login,
138
+ };
139
+ const cmdResponse = await this.exchangeCommand(loginCmd);
140
+ return cmdResponse.performLogin;
141
+ }
142
+ async refreshJwtToken(oldJwtToken) {
143
+ let rval = null;
144
+ if (StringRatchet.trimToNull(oldJwtToken)) {
145
+ try {
146
+ const resp = await this.exchangeCommand({ refreshJwtToken: oldJwtToken });
147
+ rval = resp.refreshJwtToken;
148
+ }
149
+ catch (err) {
150
+ Logger.error('JwtRefresh Failed : %s', err);
151
+ }
152
+ }
153
+ return rval;
154
+ }
155
+ async executeExpiringTokenBasedLogin(contact, expiringToken) {
156
+ let rval = null;
157
+ try {
158
+ const loginCmd = {
159
+ contact: contact,
160
+ expiringToken: expiringToken,
161
+ };
162
+ rval = await this.performLoginCmd(loginCmd);
163
+ if (rval?.jwtToken) {
164
+ }
165
+ }
166
+ catch (err) {
167
+ Logger.error('ExpiringToken login Failed : %s', err);
168
+ }
169
+ return rval;
170
+ }
171
+ }
172
+ //# sourceMappingURL=warden-client.js.map