@Component
@Transactional(propagation = Propagation.REQUIRES_NEW)
class ArchitectureMutations(val componentService: ComponentService, val projectService: ProjectService, val interfaceSpecificationService: InterfaceSpecificationService, val interfaceSpecificationVersionService: InterfaceSpecificationVersionService, val interfacePartService: InterfacePartService, val componentVersionService: ComponentVersionService, val relationService: RelationService, val imsService: IMSService, val imsProjectService: IMSProjectService, val intraComponentDependencySpecificationService: IntraComponentDependencySpecificationService, val syncPermissionTargetService: SyncPermissionTargetService, val viewService: ViewService) : Mutation

Contains all architecture-related mutations

Parameters

componentService

used for Component-related mutations

projectService

used for Project-related mutations

interfaceSpecificationService

used for InterfaceSpecification-related mutations

interfaceSpecificationVersionService

used for InterfaceSpecificationVersion-related mutations

interfacePartService

used for InterfacePart-related mutations

componentVersionService

used for ComponentVersion-related mutations

imsService

used for IMS-related mutations

imsProjectService

used for IMSProject-related mutations

intraComponentDependencySpecificationService

used for IntraComponentDependencySpecificationService-related mutations

syncPermissionTargetService

used for SyncPermissionTarget-related mutations

viewService

used for View-related mutations

Constructors

Link copied to clipboard
constructor(componentService: ComponentService, projectService: ProjectService, interfaceSpecificationService: InterfaceSpecificationService, interfaceSpecificationVersionService: InterfaceSpecificationVersionService, interfacePartService: InterfacePartService, componentVersionService: ComponentVersionService, relationService: RelationService, imsService: IMSService, imsProjectService: IMSProjectService, intraComponentDependencySpecificationService: IntraComponentDependencySpecificationService, syncPermissionTargetService: SyncPermissionTargetService, viewService: ViewService)

Properties

Functions

Link copied to clipboard

Adds a ComponentVersion to a Project, requires MANAGE_COMPONENTS on the Project and ADD_TO_PROJECTS on the Component associated with the ComponentVersion

@AutoPayloadType(description = "The updated ComponentVersion")
suspend fun addInterfaceSpecificationVersionToComponentVersion(input: AddInterfaceSpecificationVersionToComponentVersionInput, dfe: DataFetchingEnvironment): ComponentVersion

Adds an InterfaceSpecificationVersion (in)visible to ComponentVersions, requires ADMIN on the Component of the ComponentVersion to update

Link copied to clipboard
@AutoPayloadType(description = "The created Components", fieldName = "components")
suspend fun bulkCreateComponent(input: BulkCreateComponentInput, dfe: DataFetchingEnvironment): List<Component>

Creates multiple Components, requires CAN_CREATE_COMPONENTS. Automatically generates a default ComponentPermission which grants the authenticated user READ and ADMIN

Link copied to clipboard
@AutoPayloadType(description = "The created Relations", fieldName = "relations")
suspend fun bulkCreateRelation(input: BulkCreateRelationInput, dfe: DataFetchingEnvironment): List<Relation>

Creates multiple Relations, requires RELATE_FROM_COMPONENT on the Component associated with start.

Link copied to clipboard
@AutoPayloadType(description = "The created Component")
suspend fun createComponent(input: CreateComponentInput, dfe: DataFetchingEnvironment): Component

Creates a new Component, requires CAN_CREATE_COMPONENTS. Automatically generates a default ComponentPermission which grants the authenticated user READ and ADMIN

Link copied to clipboard
@AutoPayloadType(description = "The created ComponentVersion")
suspend fun createComponentVersion(input: CreateComponentVersionInput, dfe: DataFetchingEnvironment): ComponentVersion

Creates a new ComponentVersion, requires ADMIN on the Component.

Link copied to clipboard
@AutoPayloadType(description = "The created IMS")
suspend fun createIMS(input: CreateIMSInput, dfe: DataFetchingEnvironment): IMS

Creates a new IMS, requires CAN_CREATE_IMSS. Automatically generates a default IMSPermission which grants the authorized user READ and ADMIN

Link copied to clipboard
@AutoPayloadType(description = "The created IMSProject")
suspend fun createIMSProject(input: CreateIMSProjectInput, dfe: DataFetchingEnvironment): IMSProject

Creates a new IMSProject, requirse SYNC_TRACKABLES on the specified IMS AND MANAGE_IMS on the specified Trackable

Link copied to clipboard
@AutoPayloadType(description = "The created InterfacePart")
suspend fun createInterfacePart(input: CreateInterfacePartInput, dfe: DataFetchingEnvironment): InterfacePart

Creates a new InterfacePart, requires ADMIN on the Component of the InterfaceSpecification.

Link copied to clipboard
@AutoPayloadType(description = "The created InterfaceSpecification")
suspend fun createInterfaceSpecification(input: CreateInterfaceSpecificationInput, dfe: DataFetchingEnvironment): InterfaceSpecification

Creates a new InterfaceSpecification, requires ADMIN on the Component.

Link copied to clipboard
@AutoPayloadType(description = "The created InterfaceSpecificationVersion")
suspend fun createInterfaceSpecificationVersion(input: CreateInterfaceSpecificationVersionInput, dfe: DataFetchingEnvironment): InterfaceSpecificationVersion

Creates a new InterfaceSpecificationVersion, requires ADMIN on the Component of the InterfaceSpecification.

@AutoPayloadType(description = "The created IntraComponentDependencySpecification")
suspend fun createIntraComponentDependencySpecification(input: CreateIntraComponentDependencySpecificationInput, dfe: DataFetchingEnvironment): IntraComponentDependencySpecification

Creates a new IntraComponentDependencySpecification, requires ADMIN on the Component associated with the specified ComponentVersion.

Link copied to clipboard
@AutoPayloadType(description = "The created Project")
suspend fun createProject(input: CreateProjectInput, dfe: DataFetchingEnvironment): Project

Creates a new Project, requires CAN_CREATE_PROJECTS. Automatically generates a default ProjectPermission which grants the authorized user READ and ADMIN

Link copied to clipboard
@AutoPayloadType(description = "The created Relation")
suspend fun createRelation(input: CreateRelationInput, dfe: DataFetchingEnvironment): Relation

Creates a new Relation, requires RELATE_FROM_COMPONENT on the Component associated with start.

Link copied to clipboard
@AutoPayloadType(description = "The created View")
suspend fun createView(input: CreateViewInput, dfe: DataFetchingEnvironment): View

Creates a new View, requires MANAGE_VIEWS on the project owning the view.

Link copied to clipboard
suspend fun deleteComponent(input: DeleteNodeInput, dfe: DataFetchingEnvironment): DeleteNodePayload

Deletes the specified Component, requires ADMIN on the component to delete

Link copied to clipboard
suspend fun deleteComponentVersion(input: DeleteNodeInput, dfe: DataFetchingEnvironment): DeleteNodePayload

Deletes the specified ComponentVersion, requires ADMIN on the Component of the ComponentVersion to delete

Link copied to clipboard
suspend fun deleteIMS(input: DeleteNodeInput, dfe: DataFetchingEnvironment): DeleteNodePayload

Deletes the specified IMS, requires ADMIN on the IMS to delete. Also deletes all associated IMSProjects

Link copied to clipboard
suspend fun deleteIMSProject(input: DeleteNodeInput, dfe: DataFetchingEnvironment): DeleteNodePayload

Deletes the specified IMSProject, requirse ADMIN on the IMS associted with the specified IMSProject OR MANAGE_IMS on the Trackable associated with the specified IMSProject.

Link copied to clipboard
suspend fun deleteInterfacePart(input: DeleteNodeInput, dfe: DataFetchingEnvironment): DeleteNodePayload

Deletes the specified InterfacePart, requires ADMIN on the Component of the InterfaceSpecification of the InterfacePart to delete

Link copied to clipboard
suspend fun deleteInterfaceSpecification(input: DeleteNodeInput, dfe: DataFetchingEnvironment): DeleteNodePayload

Deletes the specified InterfaceSpecification, requires ADMIN on the Component of the InterfaceSpecification to delete

Link copied to clipboard
suspend fun deleteInterfaceSpecificationVersion(input: DeleteNodeInput, dfe: DataFetchingEnvironment): DeleteNodePayload

Deletes the specified InterfaceSpecificationVersion, requires ADMIN on the Component of the InterfaceSpecification of the InterfaceSpecificationVersion to delete

suspend fun deleteIntraComponentDependencySpecification(input: DeleteNodeInput, dfe: DataFetchingEnvironment): DeleteNodePayload

Deletes the specified IntraComponentDependencySpecification, requires ADMIN on the Component associated with the IntraComponentDependencySpecification to delete.

Link copied to clipboard
suspend fun deleteProject(input: DeleteNodeInput, dfe: DataFetchingEnvironment): DeleteNodePayload

Deletes the specified Project, requires ADMIN on the project to delete

Link copied to clipboard
suspend fun deleteRelation(input: DeleteNodeInput, dfe: DataFetchingEnvironment): DeleteNodePayload

Deletes the specified Relation, requires RELATE_FROM_COMPONENT on the Component associated with start.

Link copied to clipboard
suspend fun deleteView(input: DeleteNodeInput, dfe: DataFetchingEnvironment): DeleteNodePayload

Deletes the specified View, requires MANAGE_VIEWS on the project owning the view.

Link copied to clipboard
@AutoPayloadType(description = "The updated Project")
suspend fun removeComponentVersionFromProject(input: RemoveComponentVersionFromProjectInput, dfe: DataFetchingEnvironment): Project

Removes a ComponentVersion from a Project, requires MANAGE_COMPONENTS on the Project

@AutoPayloadType(description = "The updated ComponentVersion")
suspend fun removeInterfaceSpecificationVersionFromComponentVersion(input: RemoveInterfaceSpecificationVersionFromComponentVersionInput, dfe: DataFetchingEnvironment): ComponentVersion

Removes an InterfaceSpecificationVersion (in)visible from ComponentVersions, requires ADMIN on the Component of the ComponentVersion to update

Link copied to clipboard
@AutoPayloadType(description = "The updated Component")
suspend fun updateComponent(input: UpdateComponentInput, dfe: DataFetchingEnvironment): Component

Updates the specified Component, requires ADMIN on the component to update

Link copied to clipboard
@AutoPayloadType(description = "The updated ComponentVersion")
suspend fun updateComponentVersion(input: UpdateComponentVersionInput, dfe: DataFetchingEnvironment): ComponentVersion

Updates the specified ComponentVersion, requires ADMIN on the Component of the ComponentVersion to update

Link copied to clipboard
@AutoPayloadType(description = "The updated IMS")
suspend fun updateIMS(input: UpdateIMSInput, dfe: DataFetchingEnvironment): IMS

Updates the specified IMS, requires ADMIN on the IMS.

Link copied to clipboard
@AutoPayloadType(description = "The updated IMSProject")
suspend fun updateIMSProject(input: UpdateIMSProjectInput, dfe: DataFetchingEnvironment): IMSProject

Updates the specified IMSProject, requirse SYNC_TRACKABLES on the IMS associted with the specified IMSProject AND MANAGE_IMS on the Trackable associated with the specified IMSProject.

Link copied to clipboard
@AutoPayloadType(description = "The updated InterfacePart")
suspend fun updateInterfacePart(input: UpdateInterfacePartInput, dfe: DataFetchingEnvironment): InterfacePart

Updates the specified InterfacePart, requires ADMIN on the Component of the InterfaceSpecification of the InterfacePart to update

Link copied to clipboard
@AutoPayloadType(description = "The updated InterfaceSpecification")
suspend fun updateInterfaceSpecification(input: UpdateInterfaceSpecificationInput, dfe: DataFetchingEnvironment): InterfaceSpecification

Updates the specified InterfaceSpecification, requires ADMIN on the Component of the InterfaceSpecification to update

Link copied to clipboard
@AutoPayloadType(description = "The updated InterfaceSpecificationVersion")
suspend fun updateInterfaceSpecificationVersion(input: UpdateInterfaceSpecificationVersionInput, dfe: DataFetchingEnvironment): InterfaceSpecificationVersion

Updates the specified InterfaceSpecificationVersion, requires ADMIN on the Component of the InterfaceSpecification of the InterfaceSpecificationVersion to update

@AutoPayloadType(description = "The updated IntraComponentDependencySpecification")
suspend fun updateIntraComponentDependencySpecification(input: UpdateIntraComponentDependencySpecificationInput, dfe: DataFetchingEnvironment): IntraComponentDependencySpecification

Updates the specified IntraComponentDependencySpecification, requires ADMIN on the Component associated with the IntraComponentDependencySpecification to update.

Link copied to clipboard
@AutoPayloadType(description = "The updated Project")
suspend fun updateProject(input: UpdateProjectInput, dfe: DataFetchingEnvironment): Project

Updates the specified Project, requires ADMIN on the project to update

Link copied to clipboard
@AutoPayloadType(description = "The updated Relation")
suspend fun updateRelation(input: UpdateRelationInput, dfe: DataFetchingEnvironment): Relation

Updates the specified Relation, requires RELATE_FROM_COMPONENT on the Component associated with start.

Link copied to clipboard
@AutoPayloadType(description = "The updated SyncPermissionTarget")
suspend fun updateSyncPermissions(input: UpdateSyncPermissionsInput, dfe: DataFetchingEnvironment): SyncPermissionTarget

Updates whether the current user allows sync self/others on the specified target

Link copied to clipboard
@AutoPayloadType(description = "The updated View")
suspend fun updateView(input: UpdateViewInput, dfe: DataFetchingEnvironment): View

Updates the specified View, requires MANAGE_VIEWS on the project owning the view.