Relation
A relation between RelationPartners (ComponentVersions and Interfaces).
Relations are always directional.
Relations can derive Interfaces from end
to start
if both start
and end
are ComponentVersions
and the template of this Relation allows it.
The template defines which RelationPartners are possible as start
/ end
.
For both start and end, if it is an Interface, it is possible to define the InterfaceParts this includes.
Caution: This is not a supertype of IssueRelation.
READ is granted if READ is granted on start
.
type Relation implements BaseNode, MutableTemplatedNode, Node, TemplatedNode {
derivesInvisible(
after: String
before: String
filter: InterfaceDefinitionFilterInput
first: Int
last: Int
orderBy: [InterfaceDefinitionOrder!]
skip: Int
): InterfaceDefinitionConnection!
derivesVisible(
after: String
before: String
filter: InterfaceDefinitionFilterInput
first: Int
last: Int
orderBy: [InterfaceDefinitionOrder!]
skip: Int
): InterfaceDefinitionConnection!
end: RelationPartner
endParts(
after: String
before: String
filter: InterfacePartFilterInput
first: Int
last: Int
orderBy: [InterfacePartOrder!]
skip: Int
): InterfacePartConnection!
hasPermission(
permission: AllPermissionEntry
): Boolean!
id: ID!
start: RelationPartner
startParts(
after: String
before: String
filter: InterfacePartFilterInput
first: Int
last: Int
orderBy: [InterfacePartOrder!]
skip: Int
): InterfacePartConnection!
template: RelationTemplate!
templatedField(
name: String!
): JSON
templatedFields(
names: [String!]
prefixMatching: Boolean
): [JSONField!]!
}
Fields
Relation.derivesInvisible
● InterfaceDefinitionConnection!
non-null object
InterfaceDefinition this Relation derives invisible
Relation.derivesInvisible.after
●String
scalarGet only items after the cursor
Relation.derivesInvisible.before
● String
scalar
Get only items before the cursor
Relation.derivesInvisible.filter
● InterfaceDefinitionFilterInput
input
Filter for specific items in the connection
Relation.derivesInvisible.first
● Int
scalar
Get the first n items. Must not be used if before is specified
Relation.derivesInvisible.last
● Int
scalar
Get the last n items. Must not be used if after is specified
Relation.derivesInvisible.orderBy
● [InterfaceDefinitionOrder!]
list input
Order in which the items are sorted
Relation.derivesInvisible.skip
● Int
scalar
Skips n items. First or last MUST be specified, is otherwise ignored
Relation.derivesVisible
● InterfaceDefinitionConnection!
non-null object
InterfaceDefinition this Relation derives visible
Relation.derivesVisible.after
●String
scalarGet only items after the cursor
Relation.derivesVisible.before
● String
scalar
Get only items before the cursor
Relation.derivesVisible.filter
● InterfaceDefinitionFilterInput
input
Filter for specific items in the connection
Relation.derivesVisible.first
● Int
scalar
Get the first n items. Must not be used if before is specified
Relation.derivesVisible.last
● Int
scalar
Get the last n items. Must not be used if after is specified
Relation.derivesVisible.orderBy
● [InterfaceDefinitionOrder!]
list input
Order in which the items are sorted
Relation.derivesVisible.skip
● Int
scalar
Skips n items. First or last MUST be specified, is otherwise ignored
Relation.end
● RelationPartner
interface
The end of this Relation.
Relation.endParts
● InterfacePartConnection!
non-null object
If the end is an Interface, the parts of that Interface this Relation includes.
Relation.endParts.after
●String
scalarGet only items after the cursor
Relation.endParts.before
● String
scalar
Get only items before the cursor
Relation.endParts.filter
● InterfacePartFilterInput
input
Filter for specific items in the connection
Relation.endParts.first
● Int
scalar
Get the first n items. Must not be used if before is specified
Relation.endParts.last
● Int
scalar
Get the last n items. Must not be used if after is specified
Relation.endParts.orderBy
● [InterfacePartOrder!]
list input
Order in which the items are sorted
Relation.endParts.skip
● Int
scalar
Skips n items. First or last MUST be specified, is otherwise ignored
Relation.hasPermission
● Boolean!
non-null scalar
Checks if the current user has a specific permission on this Node
Relation.hasPermission.permission
●AllPermissionEntry
enumThe permission to check for
Relation.id
● ID!
non-null scalar
The unique id of this node
Relation.start
● RelationPartner
interface
The start of this Relation.
Relation.startParts
● InterfacePartConnection!
non-null object
If the start is an Interface, the parts of that Interface this Relation includes.
Relation.startParts.after
●String
scalarGet only items after the cursor
Relation.startParts.before
● String
scalar
Get only items before the cursor
Relation.startParts.filter
● InterfacePartFilterInput
input
Filter for specific items in the connection
Relation.startParts.first
● Int
scalar
Get the first n items. Must not be used if before is specified
Relation.startParts.last
● Int
scalar
Get the last n items. Must not be used if after is specified
Relation.startParts.orderBy
● [InterfacePartOrder!]
list input
Order in which the items are sorted
Relation.startParts.skip
● Int
scalar
Skips n items. First or last MUST be specified, is otherwise ignored
Relation.template
● RelationTemplate!
non-null object
The Template of this Relation.
Relation.templatedField
● JSON
scalar
Value of a field defined by the template. Error if such a field is not defined.
Relation.templatedField.name
●String!
non-null scalarName of the extension field
Relation.templatedFields
● [JSONField!]!
non-null object
All templatedFields If
names
is provided, only those matching the name. IfprefixMatching
is true, matching is done by prefix, otherwise by full name.
Relation.templatedFields.names
●[String!]
list scalarNames of the templated fields. If not provided, all templatedFields.
Relation.templatedFields.prefixMatching
● Boolean
scalar
If true, name matching is performed as prefix matching, otherwise as absolute match. Defaults to absolute matching
Interfaces
BaseNode
interface
Shared extensions to the node type.
MutableTemplatedNode
interface
Interface for all types which support templates describing user writeable fields.
Node
interface
Base class of all nodes
TemplatedNode
interface
Interface for all types which support templates.
Member of
RelationConnection
object ● RelationEdge
object