Types

Link copied to clipboard
@DomainNode
abstract class BasePermission(name: String, description: String, val entries: MutableList<String>, var allUsers: Boolean) : NamedNode

Base class for all permissions

Link copied to clipboard
@DomainNode(searchQueryName = "searchComponentPermissions")
class ComponentPermission(name: String, description: String, entries: MutableList<String>, allUsers: Boolean) : TrackablePermission<Component>

NodePermission to grant specific permissions to a set of Components.

Link copied to clipboard
@DomainNode(topLevelQueryName = "globalPermissions", searchQueryName = "searchGlobalPermissions")
class GlobalPermission(name: String, description: String, entries: MutableList<String>, allUsers: Boolean) : BasePermission

Permission associated with a set of users. Can have NodePermissions to grant permissions on specific Nodes. READ is granted if the global admin is granted.

Link copied to clipboard
@DomainNode(searchQueryName = "searchIMSPermissions")
class IMSPermission(name: String, description: String, entries: MutableList<String>, allUsers: Boolean) : NodePermission<IMS>

NodePermission to grant specific permissions to a set of IMSs.

Link copied to clipboard
@DomainNode
@Authorization(name = "READ", allow = [Rule(beanRef = "relatedToAdminNodePermission", options = ["2"])])
@Authorization(name = "RELATED_TO_NODE_PERMISSION", allowFromRelated = ["nodesWithPermission"])
abstract class NodePermission<T : Node>(name: String, description: String, entries: MutableList<String>, allUsers: Boolean) : BasePermission
Link copied to clipboard

Node with permissions

Link copied to clipboard
@Configuration
class PermissionConfiguration

Configuration used to provide Permission entry enums

Link copied to clipboard
class PermissionEntry(val name: String, val description: String)

Entry for a BasePermission. Used to build the GraphQL enum dynamically based on the PermissionEntry provided via PermissionEntryCollection beans.

Link copied to clipboard

Wrapper for a set of PermissionEntrys for a specific BasePermission Used to determine the set of PermissionEntrys via dependency injection. To provide additional PermissionEntry for a specific BasePermission, just provide a bean with this class. All beans are automatically detected and then merged.

Link copied to clipboard
@DomainNode(searchQueryName = "searchProjectPermissions")
class ProjectPermission(name: String, description: String, entries: MutableList<String>, allUsers: Boolean) : TrackablePermission<Project>

NodePermission to grant specific permissions to a set of Projects.

Link copied to clipboard
@DomainNode
abstract class TrackablePermission<T : Trackable>(name: String, description: String, entries: MutableList<String>, allUsers: Boolean) : NodePermission<T>

Common base class for ComponentPermission and ProjectPermission

Properties

Link copied to clipboard

Name of the GraphQL enum providing all non-global permission entries

Link copied to clipboard

The name of the IMSPermissionEntry GraphQL enum

Link copied to clipboard

GraphQL description for permission entries

Link copied to clipboard

The name of the IMSPermissionEntry GraphQL enum

Link copied to clipboard

The name of the IMSPermissionEntry GraphQL enum

Link copied to clipboard

The name of the IMSPermissionEntry GraphQL enum