User Entities
These objects are used by the User adapter functions and describe Epicenter users.
Interfaces
Countdown
When a login attempt fails due to incorrect credentials, this object keeps the countdown to the last allowed failed login attempt.
Properties:
last(string, optional)count(number, optional)
MFADetailCreateInView
Represents the input required to configure multi-factor authentication (MFA) for a user.
Properties:
mfaMethodology(MFAMethodology): The MFA methodology to configure for the user.mfaKey(string, optional): The secret key used for MFA setup (e.g., for TOTP configuration).
SecretCreateInView
Represents the input required to create or set a secret (e.g., a password).
Properties:
password: string- The secret value to be set, typically used as the user’s password.
UserCreateInView
The UserCreateInView interface defines the structure for creating a user.
Properties
handle(string): Unique handle for the user.modality?(Modality): (Optional) Authentication modality associated with the user.displayName?(string): (Optional) Display name for the user.familyName?(string): (Optional) User's family name.givenName?(string): (Optional) User's given name.countdown?(Countdown): (Optional) Countdown-related configuration.active?(true): (Optional) Indicates if the user is active.email?(string): (Optional) User's email address.mfaDetail?(MFADetailCreateInView): (Optional) Multi-factor authentication configuration.
NativeUserCreateInView
The NativeUserCreateInView interface extends UserCreateInView to define the structure for creating a native user..
Properties
objectType('native'): Specifies that the user is a native user.secret(SecretCreateInView): The password for the user.
ExternalUserCreateInView
The ExternalUserCreateView interface extends UserCreateInView to define the structure for creating an external user.
Properties
objectType('external'): Specifies that the user is an external user.
UserReport
The UserReport interface represents the report on uploading user records to Epicenter. Returned by the uploadCSV() function.
Properties
duplicated?(PseudonymReadOutView[]): (Optional) List of pseudonyms that were identified as duplicates.created?(PseudonymReadOutView[]): (Optional) List of pseudonyms that were newly created.updated?(PseudonymReadOutView[]): (Optional) List of pseudonyms that were modified.discarded?(DiscardedUser[]): (Optional) List of users that were removed or ignored during processing.
GroupRelationshipReadOutView
Represents the user's role in a group.
Properties:
role(keyof typeof GROUP_ROLE): The role assigned to the user within the group. The value must correspond to one of the keys defined inGROUP_ROLEenum.
MFADetailReadOutView
Represents the multi-factor authentication (MFA) method associated with a user.
Properties:
mfaMethodology(MFAMethodology): The MFA methodology configured for the user, indicating how (or if) additional authentication is enforced.
UserReadOutView
Additional details containing the user's PII.
Properties:
lastLogin: string- The timestamp indicating the user’s most recent login.modality(Modality): The modality associated with the user.lastUpdated: string- The timestamp indicating when the user record was last updated.created: string- The timestamp indicating when the user record was created.displayName: string- The display name of the user.countdown(Countdown, optional): Optional countdown information associated with the user.givenName: string- The user’s given (first) name.familyName: string- The user’s family (last) name.handle: string- The user’s handle or username.loginCount: number- The total number of times the user has logged in.uploadOrder: number- The upload order associated with the user.email: string- The user’s email address.active: boolean- Indicates whether the user account is active.userId: number- The numeric identifier of the user.userKey: string- The unique GUID associated with the user.objectType('external' | 'native'): Identifies the type of user.mfaDetail(MFADetailReadOutView): Multi-factor authentication details associated with the user.
GraftReadOutView
Represents graft information associated with publicly available user data.
Generics:
R extends object = RealmData- The type representing the realm data associated with the graft. Defaults toRealmData.
Properties:
reference: string- A reference identifier for the graft.realm(R): The realm data associated with the graft.
ExternalUserReadOutView
Extends UserReadOutView. Represents an external user.
Properties:
graft(GraftReadOutView): Information describing the graft associated with the user.objectType: 'external'- Identifies the user as external.
NativeUserReadOutView
Extends UserReadOutView. Represents a native user.
Properties:
objectType: 'native'- Identifies the user as native.
PseudonymReadOutView
A PseudonymReadOutView object is used to return user details.
Properties:
lastUpdated: string- The timestamp indicating when the user record was last updated.created: string- The timestamp indicating when the user record was created.displayName: string- The name that the user chooses for themselves to be displayed in the Epicenter application UI.detail(ExternalUserReadOutView|NativeUserReadOutView): Additional details containing the user's PII. This field is null in when the requester is not authorized to view the PII.userId: number- The numeric identifier of the user.userKey: string- The unique GUID associated with the user.relationship(GroupRelationshipReadOutView): Information describing the user’s role within a group.
Types
Modality
The Modality type defines the allowed string values representing user modality.
Type values
'NONE': Indicates that no specific modality is being applied.'SSO': Indicates that the user logged in via SSO.'HBP': Deprecated'ICC': Deprecated
MFAMethodology
Represents the multi-factor authentication (MFA) methodology associated with a user.
Type values
'NONE': Indicates that no multi-factor authentication is configured.'NOOP': Used only internally.'TOTP': Represents Time-Based One-Time Password authentication, where users provide a time-sensitive code generated by an authenticator app (e.g., Google Authenticator, Authy).