Service for Components. Provides functions to create, update and delete
Parameters
the associated repository used for CRUD functionality
service used to update templatedFields
used to get ComponentTemplate
used to create the initial permission for a created Component
used to create InterfaceSpecifications
used to create ComponentVersions
used to get IntraComponentDependencySpecificationTypes
Constructors
Properties
Injected ArtefactRepository
Injected, used for the checkPermission function
Injected, used to get a user based on a GropiusAuthorizationContext
Injected IMSProjectService
Injected IssueService
Injected LabelRepository
Injected NodeRepository
Functions
Must be called before node is deleted via the repository Deletes all Artefacts Deletes Labels and Issues, if only present on this Trackable
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
Checks if the IntraComponentDependencySpecificationTypes are compatible with the new template
Deletes a Component 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
Gets a GropiusUser based on the userId from the authorizationContext
Updates the template of a Component, if a new is defined Does not check the authorization status
Updates the IntraComponentDependencySpecificationTypes where the old type is incompatible with the new template based on typeMapping and removes types with no replacement Adds the updated nodes to updateContext
Updates node based on input Calls updateNamedAffectedByIssue Updates repositoryURL