Service for Relations. Provides functions to create, update and delete
Parameters
the associated repository used for CRUD functionality
used to get start and end of a Relation by id
used to get the RelationTemplate by id
service used to update templatedFields
used to get InterfaceParts by id
used to save/delete any node
Constructors
Properties
Injected, used for the checkPermission function
Injected, used to get a user based on a GropiusAuthorizationContext
Functions
Checks if the user defined by authorizationContext is a global admin
Checks if the permission is granted on node If checkPermission on the permission.context is false, no permission is evaluated Does not handle the case that the user is an admin
Deletes a Relation by id Checks the authorization status
Evaluates if the permission is granted on node If checkPermission on the permission.context is false, no permission is evaluated Does not handle the case that the user is an admin
Helper used to get InterfaceParts based on a list of ids for a RelationPartner The relationPartner must be a Interface, if a non-empty list of ids is provided Each InterfacePart must be active on the InterfaceSpecificationVersion related to the Interface
Gets a GropiusUser based on the userId from the authorizationContext
Validates that a start, end and relationPartner combination is valid This includes checking that a relation is not created in the context of the same ComponentVersion