@Component
@Transactional(propagation = Propagation.REQUIRES_NEW)
class UserMutations(val componentPermissionService: ComponentPermissionService, val projectPermissionService: ProjectPermissionService, val imsPermissionService: IMSPermissionService, val globalPermissionService: GlobalPermissionService) : Mutation

Contains all User-related mutations

Parameters

componentPermissionService

used for ComponentPermission-related mutations

projectPermissionService

used for ProjectPermission-related mutations

imsPermissionService

used for all IMSPermission-related mutations

globalPermissionService

used for all GlobalPermission-related mutations

Constructors

Link copied to clipboard
constructor(componentPermissionService: ComponentPermissionService, projectPermissionService: ProjectPermissionService, imsPermissionService: IMSPermissionService, globalPermissionService: GlobalPermissionService)

Functions

Link copied to clipboard
@AutoPayloadType(description = "The created ComponentPermission")
suspend fun createComponentPermission(input: CreateComponentPermissionInput, dfe: DataFetchingEnvironment): ComponentPermission

Creates a new ComponentPermission, requires ADMIN on all Components which should be added to the created permission.

Link copied to clipboard
@AutoPayloadType(description = "The created GlobalPermission")
suspend fun createGlobalPermission(input: CreateGlobalPermissionInput, dfe: DataFetchingEnvironment): GlobalPermission

Creates a new GlobalPermission, requires that the user is an admin

Link copied to clipboard
@AutoPayloadType(description = "The created IMSPermission")
suspend fun createIMSPermission(input: CreateIMSPermissionInput, dfe: DataFetchingEnvironment): IMSPermission

Creates a new IMSPermission, requires ADMIN on all IMSs which should be added to the created permission.

Link copied to clipboard
@AutoPayloadType(description = "The created ProjectPermission")
suspend fun createProjectPermission(input: CreateProjectPermissionInput, dfe: DataFetchingEnvironment): ProjectPermission

Creates a new ProjectPermission, requires ADMIN on all Projects which should be added to the created permission.

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

Deletes a ComponentPermission, requires ADMIN on all Components the permission currently affects. Ensures that after the permission is deleted, all previously affected Components still have a permission which grants ADMIN to at least one user.

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

Deletes a GlobalPermission, requires that the user is an admin

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

Deletes a IMSPermission, requires ADMIN on all IMSs the permission currently affects. Ensures that after the permission is deleted, all previously affected IMSs still have a permission which grants ADMIN to at least one user.

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

Deletes a ProjectPermission, requires ADMIN on all Projects the permission currently affects. Ensures that after the permission is deleted, all previously affected Projects still have a permission which grants ADMIN to at least one user.

Link copied to clipboard
@AutoPayloadType(description = "The updated ComponentPermission")
suspend fun updateComponentPermission(input: UpdateComponentPermissionInput, dfe: DataFetchingEnvironment): ComponentPermission

Updates a ComponentPermission, requires ADMIN on all Components the permission currently affects. Ensures that after the update, all affected Components still have a permission which grants ADMIN to at least one user.

Link copied to clipboard
@AutoPayloadType(description = "The updated GlobalPermission")
suspend fun updateGlobalPermission(input: UpdateGlobalPermissionInput, dfe: DataFetchingEnvironment): GlobalPermission

Updates a GlobalPermission, requires that the user is an admin

Link copied to clipboard
@AutoPayloadType(description = "The updated GropiusUser")
suspend fun updateGropiusUser(input: UpdateGropiusUserInput, dfe: DataFetchingEnvironment, @Autowired gropiusUserService: GropiusUserService): GropiusUser

Updates a GropiusUser. Only the same user and admin users can update a GropiusUser. Only admin users can update isAdmin

Link copied to clipboard
@AutoPayloadType(description = "The updated IMSPermission")
suspend fun updateIMSPermission(input: UpdateIMSPermissionInput, dfe: DataFetchingEnvironment): IMSPermission

Updates a IMSPermission, requires ADMIN on all IMSs the permission currently affects. Ensures that after the update, all affected IMSs still have a permission which grants ADMIN to at least one user.

Link copied to clipboard
@AutoPayloadType(description = "The updated ProjectPermission")
suspend fun updateProjectPermission(input: UpdateProjectPermissionInput, dfe: DataFetchingEnvironment): ProjectPermission

Updates a ProjectPermission, requires ADMIN on all Projects the permission currently affects. Ensures that after the update, all affected Projects still have a permission which grants ADMIN to at least one user.