Skip to main content

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 scalar

Get 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 scalar

Get 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 scalar

Get 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 enum

The 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 scalar

Get 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 scalar

Name of the extension field

Relation.templatedFields ● [JSONField!]! non-null object

All templatedFields If names is provided, only those matching the name. If prefixMatching is true, matching is done by prefix, otherwise by full name.

Relation.templatedFields.names ● [String!] list scalar

Names 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

BulkCreateRelationPayload object ● CreateRelationPayload object ● RelationConnection object ● RelationEdge object ● UpdateRelationPayload object