Class RelationResource
- java.lang.Object
- 
- com.atlassian.confluence.plugins.restapi.experimental.resources.RelationResource
 
- 
 @ExperimentalApi public class RelationResource extends Object A REST resource for manipulating relationships between users, spaces and content.
 Favourite relationships between users and space, page or blog post are supported. More relationship types will become available as development progresses.- Since:
- 5.9
 
- 
- 
Constructor SummaryConstructors Constructor Description RelationResource(RelationService relationService, PersonService personService)
 - 
Method SummaryAll Methods Instance Methods Concrete Methods Modifier and Type Method Description javax.ws.rs.core.Responsecreate(String sourceType, String sourceKey, String relationName, String targetType, String targetKey, ContentStatus sourceStatus, ContentStatus targetStatus, Integer sourceVersion, Integer targetVersion)Add a relationship between two user, space, or content entities.javax.ws.rs.core.Responsedelete(String sourceType, String sourceKey, String relationName, String targetType, String targetKey, ContentStatus sourceStatus, ContentStatus targetStatus, Integer sourceVersion, Integer targetVersion)Remove a relationship between two user, space, or content entities.javax.ws.rs.core.ResponseisRelated(String sourceType, String sourceKey, String relationName, String targetType, String targetKey, ContentStatus sourceStatus, ContentStatus targetStatus, Integer sourceVersion, Integer targetVersion)Determines whether a relationship exists between two user, space or content entities.
 
- 
- 
- 
Constructor Detail- 
RelationResourcepublic RelationResource(RelationService relationService, PersonService personService) 
 
- 
 - 
Method Detail- 
isRelatedpublic javax.ws.rs.core.Response isRelated(String sourceType, String sourceKey, String relationName, String targetType, String targetKey, ContentStatus sourceStatus, ContentStatus targetStatus, Integer sourceVersion, Integer targetVersion) throws NotFoundException, PermissionException Determines whether a relationship exists between two user, space or content entities. Example request URI(s): - GET http://localhost:8080/confluence/rest/experimental/relation/user/current/favourite/toSpace/SPC
- GET http://localhost:8080/confluence/rest/experimental/relation/user/current/favourite/toContent/1234
 - Parameters:
- sourceType- the source type of the relationship - possible values are user, space or content for favourites, only 'user' is permitted
- sourceKey- the identifier of the source of the relationship - possible values are a user key, 'current' (logged in user), space key or content identifier
 for favourites, only a user key or 'current' is permitted
- relationName- the name of the relationship type (must be 'favourite')
- targetType- the target type of the relationship - possible values are user, space or content
 for favourites, only 'space' or 'content' is permitted
- targetKey- the identifier of the target of the relationship - possible values are a user key, 'current' (logged in user), space key or content identifier
 for favourites, only a space key or content identifier is permitted
- sourceStatus- The status of the source - this parameter is only used when the source has a type of content
- targetStatus- The status of the target - this parameter is only used when the target has a type of content
- sourceVersion- The version of the source - this parameter is only used when the source has a type of content and status of historical
- targetVersion- The version of the target - this parameter is only used when the target has a type of content and status of historical
- Throws:
- NotFoundException
- PermissionException
 
 - 
createpublic javax.ws.rs.core.Response create(String sourceType, String sourceKey, String relationName, String targetType, String targetKey, ContentStatus sourceStatus, ContentStatus targetStatus, Integer sourceVersion, Integer targetVersion) throws NotFoundException, PermissionException Add a relationship between two user, space, or content entities. Favourite relationships between users and space, page or blog posts are supported. More relationship types will become available as development progresses. For favourites, the current user can create a favourite relationship between themselves and a space, page or blog post. A space administrator can add a favourite relationship for any user. Example request URI(s): - PUT http://localhost:8080/confluence/rest/experimental/relation/user/current/favourite/toSpace/SPC
- PUT http://localhost:8080/confluence/rest/experimental/relation/user/current/favourite/toContent/1234
 - Parameters:
- sourceType- the source type of the relationship - possible values are user, space or content for favourites, only 'user' is permitted
- sourceKey- the identifier of the source of the relationship - possible values are a user key, 'current' (logged in user), space key or content identifier
 for favourites, only a user key or 'current' is permitted
- relationName- the name of the relationship type (must be 'favourite')
- targetType- the target type of the relationship - possible values are user, space or content
 for favourites, only 'space' or 'content' is permitted
- targetKey- the identifier of the target of the relationship - possible values are a user key, 'current' (logged in user), space key or content identifier
 for favourites, only a space key or content identifier is permitted
- sourceStatus- The status of the source - this parameter is only used when the source has a type of content
- targetStatus- The status of the target - this parameter is only used when the target has a type of content
- sourceVersion- The version of the source - this parameter is only used when the source has a type of content and status of historical
- targetVersion- The version of the target - this parameter is only used when the target has a type of content and status of historical
- Throws:
- NotFoundException
- PermissionException
 
 - 
deletepublic javax.ws.rs.core.Response delete(String sourceType, String sourceKey, String relationName, String targetType, String targetKey, ContentStatus sourceStatus, ContentStatus targetStatus, Integer sourceVersion, Integer targetVersion) throws NotFoundException, PermissionException Remove a relationship between two user, space, or content entities. For favourites, the current user can delete their own favourite relationships. A space administrator can delete a favourite relationship for any user. Example request URI(s): - DELETE http://localhost:8080/confluence/rest/experimental/relation/user/current/favourite/toSpace/SPC
- DELETE http://localhost:8080/confluence/rest/experimental/relation/user/current/favourite/toContent/1234
 - Parameters:
- sourceType- the source type of the relationship - possible values are user, space or content for favourites, only 'user' is permitted
- sourceKey- the identifier of the source of the relationship - possible values are a user key, 'current' (logged in user), space key or content identifier
 for favourites, only a user key or 'current' is permitted
- relationName- the name of the relationship type (must be 'favourite')
- targetType- the target type of the relationship - possible values are user, space or content
 for favourites, only 'space' or 'content' is permitted
- targetKey- the identifier of the target of the relationship - possible values are a user key, 'current' (logged in user), space key or content identifier
 for favourites, only a space key or content identifier is permitted
- sourceStatus- The status of the source - this parameter is only used when the source has a type of content
- targetStatus- The status of the target - this parameter is only used when the target has a type of content
- sourceVersion- The version of the source - this parameter is only used when the source has a type of content and status of historical
- targetVersion- The version of the target - this parameter is only used when the target has a type of content and status of historical
- Throws:
- NotFoundException
- PermissionException
 
 
- 
 
-