@genesislcap/foundation-auth 14.136.0 → 14.137.0

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 (120) hide show
  1. package/README.md +6 -33
  2. package/dist/dts/config/config.d.ts.map +1 -1
  3. package/dist/dts/entity/loginAck.d.ts +20 -25
  4. package/dist/dts/entity/loginAck.d.ts.map +1 -1
  5. package/dist/dts/machine/machine.d.ts +2 -2
  6. package/dist/dts/machine/machine.d.ts.map +1 -1
  7. package/dist/dts/machine/types.d.ts +1 -1
  8. package/dist/dts/machine/types.d.ts.map +1 -1
  9. package/dist/dts/routes/base.d.ts +13 -7
  10. package/dist/dts/routes/base.d.ts.map +1 -1
  11. package/dist/dts/routes/config.d.ts +1 -1
  12. package/dist/dts/routes/config.d.ts.map +1 -1
  13. package/dist/dts/routes/protected/protected.d.ts +2 -0
  14. package/dist/dts/routes/protected/protected.d.ts.map +1 -1
  15. package/dist/dts/routes/protected/protected.template.d.ts.map +1 -1
  16. package/dist/dts/user/index.d.ts +5 -2
  17. package/dist/dts/user/index.d.ts.map +1 -1
  18. package/dist/esm/config/config.js +1 -1
  19. package/dist/esm/machine/machine.js +2 -2
  20. package/dist/esm/routes/base.js +1 -1
  21. package/dist/esm/routes/config.js +1 -1
  22. package/dist/esm/routes/protected/protected.js +11 -1
  23. package/dist/esm/routes/protected/protected.template.js +8 -0
  24. package/dist/esm/user/index.js +5 -2
  25. package/dist/foundation-auth.api.json +2704 -5197
  26. package/dist/foundation-auth.d.ts +42 -287
  27. package/docs/api/foundation-auth.authmachinecontext.md +1 -1
  28. package/docs/api/foundation-auth.defaultauthmachine._constructor_.md +1 -1
  29. package/docs/api/foundation-auth.details.md +6 -13
  30. package/docs/api/foundation-auth.getauthmachine.md +1 -1
  31. package/docs/api/foundation-auth.loginack.md +2 -16
  32. package/docs/api/foundation-auth.md +0 -9
  33. package/docs/api/foundation-auth.product.md +6 -8
  34. package/docs/api/foundation-auth.system.md +6 -7
  35. package/docs/api-report.md +29 -218
  36. package/package.json +13 -12
  37. package/dist/dts/user/config.d.ts +0 -29
  38. package/dist/dts/user/config.d.ts.map +0 -1
  39. package/dist/dts/user/user.d.ts +0 -233
  40. package/dist/dts/user/user.d.ts.map +0 -1
  41. package/dist/esm/user/config.js +0 -17
  42. package/dist/esm/user/user.js +0 -200
  43. package/docs/api/foundation-auth.defaultuser.actionhistory.md +0 -13
  44. package/docs/api/foundation-auth.defaultuser.addauthenticationchangelistener.md +0 -22
  45. package/docs/api/foundation-auth.defaultuser.clearactions.md +0 -17
  46. package/docs/api/foundation-auth.defaultuser.clearpaths.md +0 -17
  47. package/docs/api/foundation-auth.defaultuser.cleartrackinghistory.md +0 -16
  48. package/docs/api/foundation-auth.defaultuser.details.md +0 -12
  49. package/docs/api/foundation-auth.defaultuser.haspermission.md +0 -22
  50. package/docs/api/foundation-auth.defaultuser.hasprofile.md +0 -22
  51. package/docs/api/foundation-auth.defaultuser.isadmin.md +0 -16
  52. package/docs/api/foundation-auth.defaultuser.isanonymous.md +0 -12
  53. package/docs/api/foundation-auth.defaultuser.isauthenticated.md +0 -12
  54. package/docs/api/foundation-auth.defaultuser.isbanned.md +0 -16
  55. package/docs/api/foundation-auth.defaultuser.lastaction.md +0 -17
  56. package/docs/api/foundation-auth.defaultuser.lastpath.md +0 -19
  57. package/docs/api/foundation-auth.defaultuser.md +0 -50
  58. package/docs/api/foundation-auth.defaultuser.pathhistory.md +0 -13
  59. package/docs/api/foundation-auth.defaultuser.permission.md +0 -12
  60. package/docs/api/foundation-auth.defaultuser.profile.md +0 -12
  61. package/docs/api/foundation-auth.defaultuser.set.md +0 -22
  62. package/docs/api/foundation-auth.defaultuser.sourceref.md +0 -12
  63. package/docs/api/foundation-auth.defaultuser.trackaction.md +0 -24
  64. package/docs/api/foundation-auth.defaultuser.trackpath.md +0 -17
  65. package/docs/api/foundation-auth.defaultuser.unset.md +0 -16
  66. package/docs/api/foundation-auth.defaultuser.userkvs.md +0 -14
  67. package/docs/api/foundation-auth.defaultuser.username.md +0 -12
  68. package/docs/api/foundation-auth.defaultuserconfig.md +0 -13
  69. package/docs/api/foundation-auth.details.daystopasswordexpiry.md +0 -11
  70. package/docs/api/foundation-auth.details.failedloginattempts.md +0 -11
  71. package/docs/api/foundation-auth.details.heartbeatintervalsecs.md +0 -11
  72. package/docs/api/foundation-auth.details.lastlogindatetime.md +0 -11
  73. package/docs/api/foundation-auth.details.product.md +0 -11
  74. package/docs/api/foundation-auth.details.rejectedloginattempts.md +0 -11
  75. package/docs/api/foundation-auth.details.system.md +0 -11
  76. package/docs/api/foundation-auth.getuser.md +0 -30
  77. package/docs/api/foundation-auth.loginack.details.md +0 -11
  78. package/docs/api/foundation-auth.loginack.permission.md +0 -11
  79. package/docs/api/foundation-auth.loginack.profile.md +0 -11
  80. package/docs/api/foundation-auth.loginack.updatequeue.md +0 -11
  81. package/docs/api/foundation-auth.loginack.userkvs.md +0 -13
  82. package/docs/api/foundation-auth.loginack.username.md +0 -11
  83. package/docs/api/foundation-auth.loginack.zeromqproxyinboundport.md +0 -11
  84. package/docs/api/foundation-auth.loginack.zeromqproxymodeenabled.md +0 -11
  85. package/docs/api/foundation-auth.loginack.zeromqproxyoutboundport.md +0 -11
  86. package/docs/api/foundation-auth.product.name.md +0 -11
  87. package/docs/api/foundation-auth.product.version.md +0 -11
  88. package/docs/api/foundation-auth.system.date.md +0 -11
  89. package/docs/api/foundation-auth.user.addauthenticationchangelistener.md +0 -33
  90. package/docs/api/foundation-auth.user.cleartrackinghistory.md +0 -15
  91. package/docs/api/foundation-auth.user.details.md +0 -11
  92. package/docs/api/foundation-auth.user.haspermission.md +0 -22
  93. package/docs/api/foundation-auth.user.hasprofile.md +0 -22
  94. package/docs/api/foundation-auth.user.isadmin.md +0 -15
  95. package/docs/api/foundation-auth.user.isanonymous.md +0 -11
  96. package/docs/api/foundation-auth.user.isauthenticated.md +0 -11
  97. package/docs/api/foundation-auth.user.isbanned.md +0 -15
  98. package/docs/api/foundation-auth.user.md +0 -55
  99. package/docs/api/foundation-auth.user.permission.md +0 -11
  100. package/docs/api/foundation-auth.user.profile.md +0 -11
  101. package/docs/api/foundation-auth.user.set.md +0 -22
  102. package/docs/api/foundation-auth.user.sourceref.md +0 -11
  103. package/docs/api/foundation-auth.user.unset.md +0 -15
  104. package/docs/api/foundation-auth.user.userkvs.md +0 -13
  105. package/docs/api/foundation-auth.user.username.md +0 -11
  106. package/docs/api/foundation-auth.useractionhistory.actionhistory.md +0 -13
  107. package/docs/api/foundation-auth.useractionhistory.clearactions.md +0 -17
  108. package/docs/api/foundation-auth.useractionhistory.lastaction.md +0 -17
  109. package/docs/api/foundation-auth.useractionhistory.md +0 -32
  110. package/docs/api/foundation-auth.useractionhistory.trackaction.md +0 -24
  111. package/docs/api/foundation-auth.userauthenticationchangeevent.md +0 -18
  112. package/docs/api/foundation-auth.userauthenticationchangetype.md +0 -13
  113. package/docs/api/foundation-auth.userconfig.md +0 -21
  114. package/docs/api/foundation-auth.userconfig.trackactionexclusions.md +0 -13
  115. package/docs/api/foundation-auth.userconfig.trackpathexclusions.md +0 -13
  116. package/docs/api/foundation-auth.userpathhistory.clearpaths.md +0 -17
  117. package/docs/api/foundation-auth.userpathhistory.lastpath.md +0 -19
  118. package/docs/api/foundation-auth.userpathhistory.md +0 -32
  119. package/docs/api/foundation-auth.userpathhistory.pathhistory.md +0 -13
  120. package/docs/api/foundation-auth.userpathhistory.trackpath.md +0 -17
@@ -18,6 +18,8 @@ import { ComposableStyles } from '@microsoft/fast-element';
18
18
  import { Constructable } from '@microsoft/fast-element';
19
19
  import { Container } from '@microsoft/fast-foundation';
20
20
  import { Controller } from '@microsoft/fast-element';
21
+ import { DefaultUser } from '@genesislcap/foundation-user';
22
+ import { defaultUserConfig } from '@genesislcap/foundation-user';
21
23
  import { DoneInvokeEvent } from 'xstate';
22
24
  import { ElementStyles } from '@microsoft/fast-element';
23
25
  import { EmitOptions } from '@genesislcap/foundation-events';
@@ -26,23 +28,32 @@ import type { ErrorEvent as ErrorEvent_2 } from 'xstate';
26
28
  import { EventObject } from 'xstate';
27
29
  import { FetchMachine } from '@genesislcap/foundation-state-machine';
28
30
  import { FetchMachineEvent } from '@genesislcap/foundation-state-machine';
31
+ import { getUser } from '@genesislcap/foundation-user';
29
32
  import { InterfaceSymbol } from '@microsoft/fast-foundation';
30
33
  import type { InterpreterOptions } from 'xstate';
31
- import { Listener } from '@genesislcap/foundation-utils';
32
34
  import { Logger } from '@genesislcap/foundation-logger';
33
35
  import { Machine } from '@genesislcap/foundation-state-machine';
34
36
  import type { MachineContext } from '@genesislcap/foundation-state-machine';
35
37
  import { MachineContext as MachineContext_2 } from 'xstate';
36
- import { Observer } from '@genesislcap/foundation-utils';
37
38
  import { ParameterizedObject } from 'xstate';
38
39
  import { PartialFASTElementDefinition } from '@microsoft/fast-element';
39
40
  import { PropertyAssigner } from 'xstate';
40
41
  import { RouterConfiguration } from '@microsoft/fast-router';
42
+ import type { SetUserProperties } from '@genesislcap/foundation-user';
41
43
  import { Store } from '@genesislcap/foundation-store';
42
44
  import { StoreRoot } from '@genesislcap/foundation-store';
43
45
  import { StoreRootEventDetailMap } from '@genesislcap/foundation-store';
44
46
  import { SyntheticViewTemplate } from '@microsoft/fast-element';
45
47
  import { TemplateElementDependency } from '@genesislcap/foundation-ui';
48
+ import { User } from '@genesislcap/foundation-user';
49
+ import { UserActionHistory } from '@genesislcap/foundation-user';
50
+ import { UserAuthenticationChangeEvent } from '@genesislcap/foundation-user';
51
+ import { UserAuthenticationChangeType } from '@genesislcap/foundation-user';
52
+ import { UserConfig } from '@genesislcap/foundation-user';
53
+ import type { UserDetailsProductProperty } from '@genesislcap/foundation-user';
54
+ import type { UserDetailsProperty } from '@genesislcap/foundation-user';
55
+ import type { UserDetailsSystemProperty } from '@genesislcap/foundation-user';
56
+ import { UserPathHistory } from '@genesislcap/foundation-user';
46
57
  import { UUID } from '@genesislcap/foundation-utils';
47
58
  import { ViewTemplate } from '@microsoft/fast-element';
48
59
 
@@ -701,118 +712,12 @@ export class DefaultPasswordManagementMapper implements PasswordManagementMapper
701
712
  protected uuid: UUID;
702
713
  }
703
714
 
704
- // @public
705
- export class DefaultUser implements User {
706
- actionHistory: unknown[];
707
- // Warning: (ae-unresolved-inheritdoc-reference) The @inheritDoc reference could not be resolved: The reference is ambiguous because "User" has more than one declaration; you need to add a TSDoc member reference selector
708
- //
709
- // (undocumented)
710
- addAuthenticationChangeListener(listener: Listener<UserAuthenticationChangeEvent>): () => void;
711
- // @internal (undocumented)
712
- protected authenticationChangeListeners: Observer<UserAuthenticationChangeEvent>;
713
- clearActions(): void;
714
- clearPaths(): void;
715
- // Warning: (ae-unresolved-inheritdoc-reference) The @inheritDoc reference could not be resolved: The reference is ambiguous because "User" has more than one declaration; you need to add a TSDoc member reference selector
716
- //
717
- // (undocumented)
718
- clearTrackingHistory(): void;
719
- // @internal (undocumented)
720
- protected config: UserConfig;
721
- // Warning: (ae-unresolved-inheritdoc-reference) The @inheritDoc reference could not be resolved: The reference is ambiguous because "User" has more than one declaration; you need to add a TSDoc member reference selector
722
- //
723
- // (undocumented)
724
- details: Details;
725
- // @internal (undocumented)
726
- protected hasKey(keys: string[], key: string | string[]): boolean;
727
- // Warning: (ae-unresolved-inheritdoc-reference) The @inheritDoc reference could not be resolved: The reference is ambiguous because "User" has more than one declaration; you need to add a TSDoc member reference selector
728
- //
729
- // (undocumented)
730
- hasPermission(permission: string | string[]): boolean;
731
- // Warning: (ae-unresolved-inheritdoc-reference) The @inheritDoc reference could not be resolved: The reference is ambiguous because "User" has more than one declaration; you need to add a TSDoc member reference selector
732
- //
733
- // (undocumented)
734
- hasProfile(profile: string | string[]): boolean;
735
- // Warning: (ae-unresolved-inheritdoc-reference) The @inheritDoc reference could not be resolved: The reference is ambiguous because "User" has more than one declaration; you need to add a TSDoc member reference selector
736
- //
737
- // (undocumented)
738
- isAdmin(): boolean;
739
- // Warning: (ae-unresolved-inheritdoc-reference) The @inheritDoc reference could not be resolved: The reference is ambiguous because "User" has more than one declaration; you need to add a TSDoc member reference selector
740
- //
741
- // (undocumented)
742
- get isAnonymous(): boolean;
743
- // Warning: (ae-unresolved-inheritdoc-reference) The @inheritDoc reference could not be resolved: The reference is ambiguous because "User" has more than one declaration; you need to add a TSDoc member reference selector
744
- //
745
- // (undocumented)
746
- isAuthenticated: boolean;
747
- // @internal (undocumented)
748
- protected isAuthenticatedChanged(): void;
749
- // Warning: (ae-unresolved-inheritdoc-reference) The @inheritDoc reference could not be resolved: The reference is ambiguous because "User" has more than one declaration; you need to add a TSDoc member reference selector
750
- //
751
- // (undocumented)
752
- isBanned(): boolean;
753
- // (undocumented)
754
- lastAction(): unknown;
755
- lastPath(): string;
756
- pathHistory: string[];
757
- // Warning: (ae-unresolved-inheritdoc-reference) The @inheritDoc reference could not be resolved: The reference is ambiguous because "User" has more than one declaration; you need to add a TSDoc member reference selector
758
- //
759
- // (undocumented)
760
- permission: string[];
761
- // Warning: (ae-unresolved-inheritdoc-reference) The @inheritDoc reference could not be resolved: The reference is ambiguous because "User" has more than one declaration; you need to add a TSDoc member reference selector
762
- //
763
- // (undocumented)
764
- profile: string[];
765
- // Warning: (ae-unresolved-inheritdoc-reference) The @inheritDoc reference could not be resolved: The reference is ambiguous because "User" has more than one declaration; you need to add a TSDoc member reference selector
766
- //
767
- // (undocumented)
768
- set(entity: Partial<LoginAck>): this;
769
- // Warning: (ae-unresolved-inheritdoc-reference) The @inheritDoc reference could not be resolved: The reference is ambiguous because "User" has more than one declaration; you need to add a TSDoc member reference selector
770
- //
771
- // (undocumented)
772
- sourceRef: string;
773
- trackAction<TDetails = unknown>(details: TDetails): void;
774
- trackPath(): string;
775
- // Warning: (ae-unresolved-inheritdoc-reference) The @inheritDoc reference could not be resolved: The reference is ambiguous because "User" has more than one declaration; you need to add a TSDoc member reference selector
776
- //
777
- // (undocumented)
778
- unset(): this;
779
- // Warning: (ae-unresolved-inheritdoc-reference) The @inheritDoc reference could not be resolved: The reference is ambiguous because "User" has more than one declaration; you need to add a TSDoc member reference selector
780
- //
781
- // (undocumented)
782
- userKVs: {
783
- [key: string]: any;
784
- };
785
- // Warning: (ae-unresolved-inheritdoc-reference) The @inheritDoc reference could not be resolved: The reference is ambiguous because "User" has more than one declaration; you need to add a TSDoc member reference selector
786
- //
787
- // (undocumented)
788
- userName: string;
789
- // Warning: (ae-unresolved-inheritdoc-reference) The @inheritDoc reference could not be resolved: The reference is ambiguous because "User" has more than one declaration; you need to add a TSDoc member reference selector
790
- //
791
- // (undocumented)
792
- get username(): string;
793
- // @internal (undocumented)
794
- protected userNameChanged(): void;
795
- }
715
+ export { DefaultUser }
796
716
 
797
- // @public
798
- export const defaultUserConfig: UserConfig;
717
+ export { defaultUserConfig }
799
718
 
800
- // @public (undocumented)
801
- export interface Details {
802
- // (undocumented)
803
- readonly daysToPasswordExpiry: number;
804
- // (undocumented)
805
- readonly failedLoginAttempts: number;
806
- // (undocumented)
807
- readonly heartbeatIntervalSecs: number;
808
- // (undocumented)
809
- readonly lastLoginDatetime: number;
810
- // (undocumented)
811
- readonly product: Product[];
812
- // (undocumented)
813
- readonly rejectedLoginAttempts: number;
814
- // (undocumented)
815
- readonly system: System | null;
719
+ // @public @deprecated (undocumented)
720
+ export interface Details extends UserDetailsProperty {
816
721
  }
817
722
 
818
723
  // Warning: (ae-incompatible-release-tags) The symbol "EVENT_CHANGE_USER_PASSWORD" is marked as @public, but its signature references "MESSAGE" which is marked as @internal
@@ -1028,8 +933,7 @@ export const getNormalisedText: (arr: NackErrorWarning[]) => string;
1028
933
  // @public
1029
934
  export function getRoutePath(route: AuthRoutes | string, hostPath?: string): string;
1030
935
 
1031
- // @public
1032
- export function getUser(): User;
936
+ export { getUser }
1033
937
 
1034
938
  // Warning: (ae-incompatible-release-tags) The symbol "hasDTOErrorWarningCode" is marked as @public, but its signature references "NACK" which is marked as @internal
1035
939
  //
@@ -1142,27 +1046,7 @@ export let LOGIN_URL: string;
1142
1046
  // Warning: (ae-incompatible-release-tags) The symbol "LoginAck" is marked as @public, but its signature references "Ack" which is marked as @internal
1143
1047
  //
1144
1048
  // @public (undocumented)
1145
- export interface LoginAck extends Ack {
1146
- // (undocumented)
1147
- readonly details: Details;
1148
- // (undocumented)
1149
- readonly permission: string[];
1150
- // (undocumented)
1151
- readonly profile: string[];
1152
- // (undocumented)
1153
- readonly updateQueue: string;
1154
- // (undocumented)
1155
- readonly userKVs: {
1156
- [key: string]: any;
1157
- };
1158
- // (undocumented)
1159
- readonly userName: string;
1160
- // (undocumented)
1161
- readonly zeroMqProxyInboundPort: number;
1162
- // (undocumented)
1163
- readonly zeroMqProxyModeEnabled: boolean;
1164
- // (undocumented)
1165
- readonly zeroMqProxyOutboundPort: number;
1049
+ export interface LoginAck extends SetUserProperties, Ack {
1166
1050
  }
1167
1051
 
1168
1052
  // @public (undocumented)
@@ -1392,12 +1276,8 @@ export interface PasswordManagementMapper extends Mapper<PasswordManagementDTO,
1392
1276
  // @internal
1393
1277
  export const PasswordManagementMapper: InterfaceSymbol<PasswordManagementMapper>;
1394
1278
 
1395
- // @public (undocumented)
1396
- export interface Product {
1397
- // (undocumented)
1398
- readonly name: string;
1399
- // (undocumented)
1400
- readonly version: string;
1279
+ // @public @deprecated (undocumented)
1280
+ export interface Product extends UserDetailsProductProperty {
1401
1281
  }
1402
1282
 
1403
1283
  // @public (undocumented)
@@ -1459,93 +1339,24 @@ export type SSOCredentials = {
1459
1339
  // @public (undocumented)
1460
1340
  export const styles: ElementStyles;
1461
1341
 
1462
- // @public (undocumented)
1463
- export interface System {
1464
- // (undocumented)
1465
- readonly date: string;
1342
+ // @public @deprecated (undocumented)
1343
+ export interface System extends UserDetailsSystemProperty {
1466
1344
  }
1467
1345
 
1468
1346
  // @public (undocumented)
1469
1347
  export const template: ViewTemplate<FoundationAuth, any>;
1470
1348
 
1471
- // Warning: (ae-internal-mixed-release-tag) Mixed release tags are not allowed for "User" because one of its declarations is marked as @internal
1472
- //
1473
- // @public
1474
- export interface User extends UserPathHistory, UserActionHistory {
1475
- // (undocumented)
1476
- addAuthenticationChangeListener(listener: Listener<UserAuthenticationChangeEvent>): () => void;
1477
- // (undocumented)
1478
- clearTrackingHistory(): void;
1479
- // (undocumented)
1480
- readonly details: Details;
1481
- // (undocumented)
1482
- hasPermission(permission: string | string[]): boolean;
1483
- // (undocumented)
1484
- hasProfile(profile: string | string[]): boolean;
1485
- // (undocumented)
1486
- isAdmin(): boolean;
1487
- // (undocumented)
1488
- readonly isAnonymous: boolean;
1489
- // (undocumented)
1490
- readonly isAuthenticated: boolean;
1491
- // (undocumented)
1492
- isBanned(): boolean;
1493
- // (undocumented)
1494
- readonly permission: string[];
1495
- // (undocumented)
1496
- readonly profile: string[];
1497
- // (undocumented)
1498
- set(entity: Partial<LoginAck>): this;
1499
- // (undocumented)
1500
- readonly sourceRef: string;
1501
- // (undocumented)
1502
- unset(): this;
1503
- // (undocumented)
1504
- readonly userKVs: {
1505
- [key: string]: any;
1506
- };
1507
- // (undocumented)
1508
- readonly userName: string;
1509
- // (undocumented)
1510
- readonly username: string;
1511
- }
1512
-
1513
- // @internal
1514
- export const User: InterfaceSymbol<User>;
1349
+ export { User }
1515
1350
 
1516
- // @public
1517
- export interface UserActionHistory {
1518
- readonly actionHistory: unknown[];
1519
- clearActions(): void;
1520
- // (undocumented)
1521
- lastAction(): unknown;
1522
- trackAction<TDetails = unknown>(details: TDetails): void;
1523
- }
1351
+ export { UserActionHistory }
1524
1352
 
1525
- // @public
1526
- export type UserAuthenticationChangeEvent = CustomEvent<boolean>;
1353
+ export { UserAuthenticationChangeEvent }
1527
1354
 
1528
- // @public
1529
- export const UserAuthenticationChangeType = "user-authentication-change";
1355
+ export { UserAuthenticationChangeType }
1530
1356
 
1531
- // Warning: (ae-internal-mixed-release-tag) Mixed release tags are not allowed for "UserConfig" because one of its declarations is marked as @internal
1532
- //
1533
- // @public
1534
- export interface UserConfig {
1535
- trackActionExclusions: unknown[];
1536
- trackPathExclusions: string[];
1537
- }
1538
-
1539
- // @internal
1540
- export const UserConfig: InterfaceSymbol<UserConfig>;
1357
+ export { UserConfig }
1541
1358
 
1542
- // @public
1543
- export interface UserPathHistory {
1544
- clearPaths(): void;
1545
- lastPath(): string | undefined;
1546
- readonly pathHistory: string[];
1547
- trackPath(): string;
1548
- }
1359
+ export { UserPathHistory }
1549
1360
 
1550
1361
  // @public
1551
1362
  export class ZeroAuth extends FoundationAuth {
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@genesislcap/foundation-auth",
3
3
  "description": "Genesis Foundation Auth",
4
- "version": "14.136.0",
4
+ "version": "14.137.0",
5
5
  "license": "SEE LICENSE IN license.txt",
6
6
  "main": "dist/esm/index.js",
7
7
  "types": "dist/foundation-auth.d.ts",
@@ -106,19 +106,20 @@
106
106
  }
107
107
  },
108
108
  "devDependencies": {
109
- "@genesislcap/foundation-testing": "14.136.0",
110
- "@genesislcap/genx": "14.136.0",
109
+ "@genesislcap/foundation-testing": "14.137.0",
110
+ "@genesislcap/genx": "14.137.0",
111
111
  "rimraf": "^3.0.2"
112
112
  },
113
113
  "dependencies": {
114
- "@genesislcap/foundation-comms": "14.136.0",
115
- "@genesislcap/foundation-events": "14.136.0",
116
- "@genesislcap/foundation-logger": "14.136.0",
117
- "@genesislcap/foundation-state-machine": "14.136.0",
118
- "@genesislcap/foundation-store": "14.136.0",
119
- "@genesislcap/foundation-ui": "14.136.0",
120
- "@genesislcap/foundation-utils": "14.136.0",
121
- "@genesislcap/foundation-zero": "14.136.0",
114
+ "@genesislcap/foundation-comms": "14.137.0",
115
+ "@genesislcap/foundation-events": "14.137.0",
116
+ "@genesislcap/foundation-logger": "14.137.0",
117
+ "@genesislcap/foundation-state-machine": "14.137.0",
118
+ "@genesislcap/foundation-store": "14.137.0",
119
+ "@genesislcap/foundation-ui": "14.137.0",
120
+ "@genesislcap/foundation-user": "14.137.0",
121
+ "@genesislcap/foundation-utils": "14.137.0",
122
+ "@genesislcap/foundation-zero": "14.137.0",
122
123
  "@microsoft/fast-components": "^2.30.6",
123
124
  "@microsoft/fast-element": "^1.12.0",
124
125
  "@microsoft/fast-foundation": "^2.49.4",
@@ -138,5 +139,5 @@
138
139
  "publishConfig": {
139
140
  "access": "public"
140
141
  },
141
- "gitHead": "0056e1c9602a30db4d30802cdfe48e7489d0abcd"
142
+ "gitHead": "e858204084c3ab29fa83c92dd9532c539e113f16"
142
143
  }
@@ -1,29 +0,0 @@
1
- /**
2
- * UserConfig DI interface.
3
- *
4
- * @public
5
- */
6
- export interface UserConfig {
7
- /**
8
- * Exclude certain actions from tracking.
9
- */
10
- trackActionExclusions: unknown[];
11
- /**
12
- * Exclude certain paths from tracking.
13
- */
14
- trackPathExclusions: string[];
15
- }
16
- /**
17
- * Default UserConfig DI implementation.
18
- * @public
19
- */
20
- export declare const defaultUserConfig: UserConfig;
21
- /**
22
- * UserConfig DI key.
23
- *
24
- * @internal
25
- * @privateRemarks
26
- * Marked as internal to stop api-extractor becoming confused cross-linking tokens with the same name.
27
- */
28
- export declare const UserConfig: import("@microsoft/fast-foundation").InterfaceSymbol<UserConfig>;
29
- //# sourceMappingURL=config.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/user/config.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,MAAM,WAAW,UAAU;IACzB;;OAEG;IACH,qBAAqB,EAAE,OAAO,EAAE,CAAC;IAEjC;;OAEG;IACH,mBAAmB,EAAE,MAAM,EAAE,CAAC;CAC/B;AAED;;;GAGG;AACH,eAAO,MAAM,iBAAiB,EAAE,UAG/B,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,UAAU,kEAAuE,CAAC"}
@@ -1,233 +0,0 @@
1
- import { Listener } from '@genesislcap/foundation-utils';
2
- import type { Details, LoginAck } from '../entity/loginAck';
3
- import { UserConfig } from './config';
4
- /**
5
- * UserAuthenticationChangeType.
6
- * @public
7
- */
8
- export declare const UserAuthenticationChangeType = "user-authentication-change";
9
- /**
10
- * UserAuthenticationChangeEvent.
11
- *
12
- * @remarks
13
- * Detail will either be `true` or `false` to indicate authentication status.
14
- *
15
- * @public
16
- */
17
- export type UserAuthenticationChangeEvent = CustomEvent<boolean>;
18
- /**
19
- * UserPathHistory.
20
- *
21
- * @remarks
22
- * APIs to track a user's path history. Includes the pathname, search and hash only.
23
- * This is not intended proxy or replace the History API.
24
- *
25
- * @privateRemarks
26
- * Integrate with foundation analytics? Users could then simply call `user.trackPath` and we could engage analytics.
27
- * We should move analytics out of comms first.
28
- *
29
- * @public
30
- */
31
- export interface UserPathHistory {
32
- /**
33
- * Array of paths that have been tracked.
34
- */
35
- readonly pathHistory: string[];
36
- /**
37
- * Track current path.
38
- */
39
- trackPath(): string;
40
- /**
41
- * Clears path history.
42
- */
43
- clearPaths(): void;
44
- /**
45
- * May be used to return to a target path after authentication.
46
- * @returns The last stored path.
47
- */
48
- lastPath(): string | undefined;
49
- }
50
- /**
51
- * UserActionHistory.
52
- *
53
- * @remarks
54
- * APIs to track a user's action history.
55
- *
56
- * @privateRemarks
57
- * Integrate with foundation analytics? Users could then simply call `user.trackAction` and we could engage analytics.
58
- * We should move analytics out of comms first.
59
- *
60
- * @public
61
- */
62
- export interface UserActionHistory {
63
- /**
64
- * Array of actions that have been tracked.
65
- */
66
- readonly actionHistory: unknown[];
67
- /**
68
- * Track an action.
69
- */
70
- trackAction<TDetails = unknown>(details: TDetails): void;
71
- /**
72
- * Clears action history.
73
- */
74
- clearActions(): void;
75
- /**
76
- * @returns The last stored action.
77
- */
78
- lastAction(): unknown;
79
- }
80
- /**
81
- * User interface.
82
- *
83
- * @remarks
84
- * The user singleton, which always exists in either an anonymous or authenticated mode.
85
- *
86
- * @privateRemarks
87
- * Providing `username` and `userName` for backwards compatability.
88
- *
89
- * @example
90
- * ```ts
91
- * import { User } from '@genesislcap/foundation-auth/user';
92
- * ...
93
- * @User private user: User
94
- * ```
95
- *
96
- * @public
97
- */
98
- export interface User extends UserPathHistory, UserActionHistory {
99
- readonly isAuthenticated: boolean;
100
- readonly isAnonymous: boolean;
101
- readonly userKVs: {
102
- [key: string]: any;
103
- };
104
- readonly details: Details;
105
- readonly permission: string[];
106
- readonly profile: string[];
107
- readonly sourceRef: string;
108
- readonly userName: string;
109
- readonly username: string;
110
- /**
111
- * @param entity - The LoginAck used to populate the User.
112
- */
113
- set(entity: Partial<LoginAck>): this;
114
- unset(): this;
115
- isAdmin(): boolean;
116
- isBanned(): boolean;
117
- /**
118
- * @param permission - A permission string or an array of permission strings to check.
119
- */
120
- hasPermission(permission: string | string[]): boolean;
121
- /**
122
- * @param profile - A profile string or an array of profile strings to check.
123
- */
124
- hasProfile(profile: string | string[]): boolean;
125
- /**
126
- * @example
127
- * ```ts
128
- * import type { UserAuthenticationChangeEvent } from '@genesislcap/foundation-auth/user';
129
- * ...
130
- * const unsubscribe = this.user.addAuthenticationChangeListener((event: UserAuthenticationChangeEvent) => {
131
- * console.log('User authenticated?', event.detail);
132
- * });
133
- * ```
134
- *
135
- * @param listener - A listener function.
136
- */
137
- addAuthenticationChangeListener(listener: Listener<UserAuthenticationChangeEvent>): () => void;
138
- clearTrackingHistory(): void;
139
- }
140
- /**
141
- * Default User implementation.
142
- * @public
143
- */
144
- export declare class DefaultUser implements User {
145
- /** @internal */
146
- protected config: UserConfig;
147
- /** {@inheritDoc UserPathHistory.pathHistory} */
148
- pathHistory: string[];
149
- /** {@inheritDoc UserActionHistory.actionHistory} */
150
- actionHistory: unknown[];
151
- /** {@inheritDoc User.isAuthenticated} */
152
- isAuthenticated: boolean;
153
- /** {@inheritDoc User.userKVs} */
154
- userKVs: {
155
- [key: string]: any;
156
- };
157
- /** {@inheritDoc User.details} */
158
- details: Details;
159
- /** {@inheritDoc User.permission} */
160
- permission: string[];
161
- /** {@inheritDoc User.profile} */
162
- profile: string[];
163
- /** {@inheritDoc User.sourceRef} */
164
- sourceRef: string;
165
- /** {@inheritDoc User.userName} */
166
- userName: string;
167
- /** {@inheritDoc User.set} */
168
- set(entity: Partial<LoginAck>): this;
169
- /** {@inheritDoc User.unset} */
170
- unset(): this;
171
- /** @internal */
172
- protected userNameChanged(): void;
173
- /** {@inheritDoc User.username} */
174
- get username(): string;
175
- /** {@inheritDoc User.isAnonymous} */
176
- get isAnonymous(): boolean;
177
- /** {@inheritDoc User.isAdmin} */
178
- isAdmin(): boolean;
179
- /** {@inheritDoc User.isBanned} */
180
- isBanned(): boolean;
181
- /** {@inheritDoc User.hasPermission} */
182
- hasPermission(permission: string | string[]): boolean;
183
- /** {@inheritDoc User.hasProfile} */
184
- hasProfile(profile: string | string[]): boolean;
185
- /** {@inheritDoc UserPathHistory.trackPath} */
186
- trackPath(): string;
187
- /** {@inheritDoc UserPathHistory.clearPaths} */
188
- clearPaths(): void;
189
- /** {@inheritDoc UserPathHistory.lastPath} */
190
- lastPath(): string;
191
- /** {@inheritDoc UserActionHistory.trackAction} */
192
- trackAction<TDetails = unknown>(details: TDetails): void;
193
- /** {@inheritDoc UserActionHistory.clearActions} */
194
- clearActions(): void;
195
- /** {@inheritDoc UserActionHistory.lastAction} */
196
- lastAction(): unknown;
197
- /** {@inheritDoc User.clearTrackingHistory} */
198
- clearTrackingHistory(): void;
199
- /** @internal */
200
- protected hasKey(keys: string[], key: string | string[]): boolean;
201
- /** @internal */
202
- protected authenticationChangeListeners: import("@genesislcap/foundation-utils").Observer<UserAuthenticationChangeEvent>;
203
- /** {@inheritDoc User.addAuthenticationChangeListener} */
204
- addAuthenticationChangeListener(listener: Listener<UserAuthenticationChangeEvent>): () => void;
205
- /** @internal */
206
- protected isAuthenticatedChanged(): void;
207
- }
208
- /**
209
- * User DI key.
210
- *
211
- * @privateRemarks
212
- * Marked as internal to stop api-extractor becoming confused cross-linking tokens with the same name.
213
- *
214
- * @internal
215
- */
216
- export declare const User: import("@microsoft/fast-foundation").InterfaceSymbol<User>;
217
- /**
218
- * Gets User from the DI container.
219
- *
220
- * @remarks
221
- * A utility method for host applications that are not using decorators or the DI container.
222
- *
223
- * @example
224
- * ```ts
225
- * import { getUser, User } from '@genesislcap/foundation-auth/user';
226
- * ...
227
- * private user: User = getUser();
228
- * ```
229
- *
230
- * @public
231
- */
232
- export declare function getUser(): User;
233
- //# sourceMappingURL=user.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"user.d.ts","sourceRoot":"","sources":["../../../src/user/user.ts"],"names":[],"mappings":"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"}
@@ -1,17 +0,0 @@
1
- import { DI } from '@microsoft/fast-foundation';
2
- /**
3
- * Default UserConfig DI implementation.
4
- * @public
5
- */
6
- export const defaultUserConfig = {
7
- trackActionExclusions: [],
8
- trackPathExclusions: [''],
9
- };
10
- /**
11
- * UserConfig DI key.
12
- *
13
- * @internal
14
- * @privateRemarks
15
- * Marked as internal to stop api-extractor becoming confused cross-linking tokens with the same name.
16
- */
17
- export const UserConfig = DI.createInterface((x) => x.instance(defaultUserConfig));