Interface IUser
The system entity for a user.
See https://help.lemonedge.com/help/open-architecture/admin/users/intro.html for more information
Inherited Members
Namespace: LemonEdge.API.Entities.Administration
Assembly: LemonEdge.API.dll
Syntax
[EntityDefinition(EntityID.Users, "dbo.LT_Users", "User", LabelColumn = "EmailLogin", CustomToString = true, SelectWithNoLock = true, HelpURL = "help/open-architecture/admin/users/intro.html")]
[EntityIndex(Name = "EmailLogin", ColumnNames = new string[] { "EmailLogin" }, IndexOrder = new IndexOrder[] { IndexOrder.Ascending }, IsClustered = false, IsUnique = true)]
[EntityIndex(Name = "DomainLogin", ColumnNames = new string[] { "WindowsLoginDomain" }, IndexOrder = new IndexOrder[] { IndexOrder.Ascending }, IsClustered = false, IsUnique = false)]
[DefaultEntityIcon(ImageType.User)]
public interface IUser : IBaseEntityWithPermissions, IBaseEntity, IEquatable<IBaseEntity>, INotifyPropertyChanged, INotifyPropertyChanging, ICloneableAsync, ICanTrackProperties, ISetCopier
Properties
AllowMultiLoginAsService
Indicates whether the user can be logged in from multiple devices at the same time (as when scaling a service account in a web service).
Declaration
[EntityDescription("Indicates whether the user can be logged in from multiple devices at the same time (as when scaling a service account in a web service).")]
[EntityProperty(SQLType.Bit, false, "0")]
[HardCodedDefaultValueOnNew("0")]
bool AllowMultiLoginAsService { get; set; }
Property Value
Type | Description |
---|---|
bool |
DefaultNotificationTypeID
The default method the system uses to notify the user. You can have other custom notification methods if you've implemented the INotificationType interface in our API.
Declaration
[EntityDescription("The default method the system uses to notify the user. You can have other custom notification methods if you've implemented the IWatcherNotificationType interface in our API.")]
[EntityProperty(SQLType.UniqueIdentifier, false, "'A756452F-2E7C-4D9F-A92A-AF97AC07B004'")]
[HardCodedDefaultValueOnNew("A756452F-2E7C-4D9F-A92A-AF97AC07B004")]
Guid DefaultNotificationTypeID { get; set; }
Property Value
Type | Description |
---|---|
Guid |
DefaultTeamID
Links to ITeam. The current teams set of permissions that the user is running the system under.
A user must be a member of at least one team otherwise they will be unable to login.
Declaration
[EntityDescription("The current teams set of permissions that the user is running the system under. A user must be a member of at least one team otherwise they will be unable to login.")]
[EntityProperty(SQLType.UniqueIdentifier, false)]
[EntityRelationship(EntityID.Teams, "ID", SingleJoinType.One, "Default Team", "Users Default Teams", LinkToItemInSet = false, PreventAutoConstraint = true)]
[UserTeamValid]
Guid DefaultTeamID { get; set; }
Property Value
Type | Description |
---|---|
Guid |
EmailLogin
[Key] The unique login for this user - normally an email address.
The system will use this as the default email for notifications if required.
Declaration
[EntityDescription("The globally unique login for this user - normally an email address.")]
[EntityProperty(SQLType.NVarChar, 500, false)]
[EntityKeyProperty]
[Required]
[GlobalUniqueEmail]
[Unique]
[DBTrackChanges]
string EmailLogin { get; set; }
Property Value
Type | Description |
---|---|
string |
HashedAccessToken
The hashed access token for this user
Declaration
[EntityProperty(SQLType.NVarChar, 500, true)]
[IgnoreOnClone]
string HashedAccessToken { get; set; }
Property Value
Type | Description |
---|---|
string |
HashedPassword
The hashed password for this user
Declaration
[EntityProperty(SQLType.VarBinary, false)]
[IgnoreOnClone]
byte[] HashedPassword { get; set; }
Property Value
Type | Description |
---|---|
byte[] |
LastIPAddress
The IP Address this user last logged in from
Declaration
[EntityDescription("The IP Address this user last logged in from")]
[EntityProperty(SQLType.NVarChar, 32, true)]
[IgnoreOnClone]
string LastIPAddress { get; set; }
Property Value
Type | Description |
---|---|
string |
LastLoggedInRoleID
Links to IRole. Indicates the role the user is currently running the system in.
Declaration
[EntityDescription("Indicates the role the user is currently running the system in.")]
[EntityProperty(SQLType.UniqueIdentifier, true)]
[EntityRelationship(EntityID.Roles, "ID", SingleJoinType.ZeroToOne, "Last Logged In Role", "Users Last Logged In", LinkToItemInSet = false)]
[IgnoreOnClone]
Guid? LastLoggedInRoleID { get; set; }
Property Value
Type | Description |
---|---|
Guid? |
LastLogin
The date/time of the last successful login of this user
Declaration
[EntityDescription("The date/time of the last successful login of this user")]
[EntityProperty(SQLType.DateTimeOffset, true)]
[IgnoreOnClone]
DateTimeOffset? LastLogin { get; set; }
Property Value
Type | Description |
---|---|
DateTimeOffset? |
LockInCanvas
Indicates the user is locked into running in this canvas only, they can not log into the main system or any other canvas.
Declaration
[EntityDescription("Indicates the user is locked into running in this canvas only, they can not log into the main system or any other canvas.")]
[EntityProperty(SQLType.Bit, false, "0")]
bool LockInCanvas { get; set; }
Property Value
Type | Description |
---|---|
bool |
LockInSafe
Indicates the user is locked into running in this safe only, they can not create items in the main system
Declaration
[EntityDescription("Indicates the user is locked into running in this safe only, they can not create items in the main system.")]
[EntityProperty(SQLType.Bit, false, "0")]
bool LockInSafe { get; set; }
Property Value
Type | Description |
---|---|
bool |
LogQueryStats
Indicates query stats should be logged (Default) by this user. Can be turned off for migration users, or large import users for performance of complex calculations.
Declaration
[EntityDescription("Indicates query stats should be logged (Default) by this user. Can be turned off for migration users, or large import users for performance of complex calculations.")]
[EntityProperty(SQLType.Bit, false, "1")]
[HardCodedDefaultValueOnNew("1")]
bool LogQueryStats { get; set; }
Property Value
Type | Description |
---|---|
bool |
Name
The unique user friendly name of this user
Declaration
[EntityProperty(SQLType.NVarChar, 500, false)]
[EntityDescription("The unique user friendly name of this user")]
[Required]
string Name { get; set; }
Property Value
Type | Description |
---|---|
string |
NotificationEmailOverride
By default email notifications will use the users EmailLogin. This can override that with another email address instead.
Declaration
[EntityDescription("By default email notifications will use the users EmailLogin. This can override that with another email address instead.")]
[EntityProperty(SQLType.NVarChar, 500, true)]
string NotificationEmailOverride { get; set; }
Property Value
Type | Description |
---|---|
string |
PromoteOnlyWithTeamID
Links to ITeam. Indicates the team permissions to use only when promoting items from a canvas - not necessarily a team the user has access to otherwise
Declaration
[EntityDescription("Indicates the team permissions to use *only* when promoting items from a canvas - not necessarily a team the user has access to otherwise.")]
[EntityProperty(SQLType.UniqueIdentifier, true)]
[EntityRelationship(EntityID.Teams, "ID", SingleJoinType.ZeroToOne, "Promote Only With Team", "Users Promotion Teams", LinkToItemInSet = false, PreventAutoConstraint = true)]
Guid? PromoteOnlyWithTeamID { get; set; }
Property Value
Type | Description |
---|---|
Guid? |
RunInCanvasID
Links to ICanvas. Indicates the user is currently running exclusively within the specified canvas
Declaration
[EntityDescription("Indicates the user is currently running exclusively within the specified canvas")]
[EntityProperty(SQLType.UniqueIdentifier, true)]
[EntityRelationship(EntityID.Canvas, "ID", SingleJoinType.ZeroToOne, "Running In Canvas", "Canvases In Use By User", LinkToItemInSet = false)]
Guid? RunInCanvasID { get; set; }
Property Value
Type | Description |
---|---|
Guid? |
RunInSafeID
Links to ISafe. Indicates the user is currently running within the specified safe, meaning any created items by the user automatically belong in that safe
Declaration
[EntityDescription("Indicates the user is currently running within the specified safe, meaning any created items by the user automatically belong in that safe")]
[EntityProperty(SQLType.UniqueIdentifier, true)]
[EntityRelationship(EntityID.Safe, "ID", SingleJoinType.ZeroToOne, "Running In Safe", "Safes In Use By User", LinkToItemInSet = false)]
[UserSafeValid]
Guid? RunInSafeID { get; set; }
Property Value
Type | Description |
---|---|
Guid? |
SessionID
The unique session id this user is currently running under from their login
Declaration
[EntityProperty(SQLType.UniqueIdentifier, true)]
[IgnoreOnClone]
Guid? SessionID { get; set; }
Property Value
Type | Description |
---|---|
Guid? |
SessionStart
The date/time the session started, so it can automatically be invalidated after a period of time
Declaration
[EntityProperty(SQLType.DateTimeOffset, true)]
[IgnoreOnClone]
DateTimeOffset? SessionStart { get; set; }
Property Value
Type | Description |
---|---|
DateTimeOffset? |
Suspended
Indicates this user is suspended.
If they are suspended the user will not be able to login, but any attempts are still audited.
Declaration
[EntityDescription("Indicates this user is suspended. If they are suspended the user will not be able to login, but any attempts are still audited.")]
[EntityProperty(SQLType.Bit, false, "0")]
bool Suspended { get; set; }
Property Value
Type | Description |
---|---|
bool |
UITheme
The default theme for the user client application
Declaration
[EntityDescription("The default theme for the user client application")]
[EntityProperty(SQLType.SmallInt, false, "24")]
[HardCodedDefaultValueOnNew("24")]
Theme UITheme { get; set; }
Property Value
Type | Description |
---|---|
Theme |
ValidFrom
The date/time this users login is valid from. If set they will not be able to login until this date/time has passed.
Declaration
[EntityDescription("The date/time this users login is valid from. If set they will not be able to login until this date/time has passed. ")]
[EntityProperty(SQLType.DateTimeOffset, true)]
[IgnoreOnClone]
DateTimeOffset? ValidFrom { get; set; }
Property Value
Type | Description |
---|---|
DateTimeOffset? |
ValidTo
The date/time this users login is valid to. If set they will not be able to login after this date/time.
Declaration
[EntityDescription("The date/time this users login is valid to. If set they will not be able to login after this date/time. ")]
[EntityProperty(SQLType.DateTimeOffset, true)]
[IgnoreOnClone]
DateTimeOffset? ValidTo { get; set; }
Property Value
Type | Description |
---|---|
DateTimeOffset? |
WindowsLoginDomain
The users windows login domain and user for logging in using windows credentials
Declaration
[EntityDescription("The users windows login domain and user for logging in using windows credentials.")]
[EntityProperty(SQLType.NVarChar, 500, true)]
string WindowsLoginDomain { get; set; }
Property Value
Type | Description |
---|---|
string |
WindowsLoginOnly
Indicates if users can only login using their windows crednetials or not.
Declaration
[EntityDescription("Indicates if users can only login using their windows crednetials or not.")]
[EntityProperty(SQLType.Bit, false, "0")]
bool WindowsLoginOnly { get; set; }
Property Value
Type | Description |
---|---|
bool |