Class RelationResource
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 Summary
ConstructorsConstructorDescriptionRelationResource
(RelationService relationService, PersonService personService) -
Method Summary
Modifier and TypeMethodDescriptionjavax.ws.rs.core.Response
create
(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.Response
delete
(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.Response
isRelated
(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 Details
-
RelationResource
-
-
Method Details
-
isRelated
@GET public javax.ws.rs.core.Response isRelated(@PathParam("sourceType") String sourceType, @PathParam("sourceKey") String sourceKey, @PathParam("relationName") String relationName, @PathParam("targetType") String targetType, @PathParam("targetKey") String targetKey, @QueryParam("sourceStatus") ContentStatus sourceStatus, @QueryParam("targetStatus") ContentStatus targetStatus, @QueryParam("sourceVersion") Integer sourceVersion, @QueryParam("targetVersion") 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 permittedsourceKey
- 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 permittedrelationName
- 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 permittedtargetKey
- 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 permittedsourceStatus
- The status of the source - this parameter is only used when the source has a type of contenttargetStatus
- The status of the target - this parameter is only used when the target has a type of contentsourceVersion
- The version of the source - this parameter is only used when the source has a type of content and status of historicaltargetVersion
- 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
-
create
@PUT public javax.ws.rs.core.Response create(@PathParam("sourceType") String sourceType, @PathParam("sourceKey") String sourceKey, @PathParam("relationName") String relationName, @PathParam("targetType") String targetType, @PathParam("targetKey") String targetKey, @QueryParam("sourceStatus") ContentStatus sourceStatus, @QueryParam("targetStatus") ContentStatus targetStatus, @QueryParam("sourceVersion") Integer sourceVersion, @QueryParam("targetVersion") 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 permittedsourceKey
- 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 permittedrelationName
- 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 permittedtargetKey
- 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 permittedsourceStatus
- The status of the source - this parameter is only used when the source has a type of contenttargetStatus
- The status of the target - this parameter is only used when the target has a type of contentsourceVersion
- The version of the source - this parameter is only used when the source has a type of content and status of historicaltargetVersion
- 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
-
delete
@DELETE public javax.ws.rs.core.Response delete(@PathParam("sourceType") String sourceType, @PathParam("sourceKey") String sourceKey, @PathParam("relationName") String relationName, @PathParam("targetType") String targetType, @PathParam("targetKey") String targetKey, @QueryParam("sourceStatus") ContentStatus sourceStatus, @QueryParam("targetStatus") ContentStatus targetStatus, @QueryParam("sourceVersion") Integer sourceVersion, @QueryParam("targetVersion") 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 permittedsourceKey
- 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 permittedrelationName
- 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 permittedtargetKey
- 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 permittedsourceStatus
- The status of the source - this parameter is only used when the source has a type of contenttargetStatus
- The status of the target - this parameter is only used when the target has a type of contentsourceVersion
- The version of the source - this parameter is only used when the source has a type of content and status of historicaltargetVersion
- 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
-