@DomainNode(searchQueryName = "searchUsers")
@Authorization(name = "READ", allowAll = true)
abstract class User(var displayName: String, var email: String?, var avatar: URI?, var username: String?) : BaseNode

A user known to the Gropius System. This might be a user that registered directly, or a user the systems know via a sync adapter. A user can create AuditedNodes, participate in Issues and be assigned to Issues. READ is always granted.

Inheritors

Constructors

Link copied to clipboard
constructor(displayName: String, email: String?, avatar: URI?, username: String?)

Properties

Link copied to clipboard
@NodeRelationship(type = "USER", direction = Direction.INCOMING)
@FilterProperty
val assignments: LazyLoadingDelegate<Assignment, NodeSetPropertyDelegate.NodeSetProperty>

Assignments the user is part of, this includes assignments which aren't active.

Link copied to clipboard
var avatar: URI?
Link copied to clipboard
@NodeRelationship(type = "CREATED_BY", direction = Direction.INCOMING)
@FilterProperty
val createdNodes: LazyLoadingDelegate<AuditedNode, NodeSetPropertyDelegate.NodeSetProperty>

AuditedNodes the user created.

Link copied to clipboard
@FilterProperty
@OrderProperty
@SearchProperty
var displayName: String

The name which should be displayed for the user.

Link copied to clipboard
@FilterProperty
@OrderProperty
var email: String?

The email address of the user.

Link copied to clipboard
internal var fieldCache: MutableMap<String, Any?>
Link copied to clipboard
val graphQLId: ID

The unique id of this node

Link copied to clipboard
@Id
@GeneratedValue(generatorRef = "nodeIdGenerator")
internal var id: String?
Link copied to clipboard
Link copied to clipboard
internal var isSaved: Boolean
Link copied to clipboard
@ConvertWith(converter = LazyLoadingContextConverter::class)
internal var lazyLoadingContext: LazyLoadingContext?
Link copied to clipboard
@Version
private var nodeVersion: Long

Version used for optimistic locking

Link copied to clipboard
internal var orderFields: MutableMap<String, Any?>?
Link copied to clipboard
@NodeRelationship(type = "PARTICIPANT", direction = Direction.INCOMING)
@FilterProperty
val participatedIssues: LazyLoadingDelegate<Issue, NodeSetPropertyDelegate.NodeSetProperty>

Issues the user participated in.

Link copied to clipboard
internal val propertyLookup: MutableMap<String, PropertyDelegate<*>>
Link copied to clipboard
Link copied to clipboard
@FilterProperty
@OrderProperty
@SearchProperty
var username: String?

Functions

Link copied to clipboard
fun avatar(@Autowired avatarGenerationService: AvatarGenerationService): URI

The avatar of the user.

Link copied to clipboard
operator override fun equals(other: Any?): Boolean
Link copied to clipboard
internal suspend fun getFromGraphQL(@Autowired nodeQueryParser: NodeQueryParser, dataFetchingEnvironment: DataFetchingEnvironment): Any?
Link copied to clipboard
internal fun <T : PropertyDelegate<*>> getProperty(property: KProperty1<*, *>): T
Link copied to clipboard
override fun hashCode(): Int
Link copied to clipboard
internal suspend fun <T : Node?> loadNodesOfRelationship(property: KProperty1<*, *>, loader: LazyLoadingSubqueryGenerator<T>.() -> Unit?)
Link copied to clipboard
protected fun <T : Node?> NodeProperty(): PropertyDelegateProvider<Node, NodePropertyDelegate<T>>
Link copied to clipboard
protected fun <T : Node> NodeSetProperty(): PropertyDelegateProvider<Node, NodeSetPropertyDelegate<T>>
Link copied to clipboard
internal fun registerQueryResult(entry: NodeQueryEntry<*>, queryResult: Any?)
Link copied to clipboard
open override fun toString(): String
Link copied to clipboard
abstract fun username(): String?

The identifier of the user. This is only unique for GropiusUsers, for IMSUsers, no constrains v are guaranteed.