Interface RemoteVersionLinkService
- All Known Implementing Classes:
RemoteVersionLinkServiceImpl
@ExperimentalApi
public interface RemoteVersionLinkService
- Since:
- v6.1.1
-
Nested Class Summary
Modifier and TypeInterfaceDescriptionstatic class
Holds the information about validating a delete remote version link operation.static class
Holds the information about validating a create remote version link operation.static class
Holds the information about performing a remote version link operation, when a list result is expected.static class
Holds the information about performing a remote version link operation. -
Method Summary
Modifier and TypeMethodDescriptionvoid
delete
(ApplicationUser user, RemoteVersionLinkService.DeleteValidationResult deleteValidationResult) Deletes the remote version link that links with the given JIRA version and has the given global id, if the current user has permission to do so.getRemoteVersionLinkByVersionIdAndGlobalId
(ApplicationUser user, Long versionId, String globalId) Retrieves the remote version link that links with the given JIRA version and has the given globalId.getRemoteVersionLinkCountByGlobalId
(String globalId) Retrieves the count of remote version links that are associated with the given remote resource.getRemoteVersionLinksByGlobalId
(ApplicationUser user, String globalId) Retrieves the remote version links that are associated with the given remote resource.getRemoteVersionLinksByVersionId
(ApplicationUser user, Long versionId) Retrieves all of the remote version links that link with the given JIRA version.put
(ApplicationUser user, RemoteVersionLinkService.PutValidationResult putValidationResult) Creates a remote version link using the validated request returned by a prior call tovalidatePut(ApplicationUser, Long, String, String)
validateDelete
(ApplicationUser user, Long versionId, String globalId) Validates parameters and checks permissions, and if all checks pass it will create aRemoteVersionLinkService.DeleteValidationResult
that can be passed to thedelete(ApplicationUser, DeleteValidationResult)
method to delete the specified remote version link.validateDeleteByVersionId
(ApplicationUser user, Long versionId) Validates parameters and checks permissions, and if all checks pass it will create aRemoteVersionLinkService.DeleteValidationResult
that can be passed to thedelete(ApplicationUser, DeleteValidationResult)
method to delete all remote version links for the specified version.validatePut
(ApplicationUser user, Long versionId, String globalId, String json) Validates parameters and checks permissions, and if all checks pass it will create aRemoteVersionLinkService.PutValidationResult
that can be passed to theput(ApplicationUser, PutValidationResult)
method.
-
Method Details
-
getRemoteVersionLinksByVersionId
RemoteVersionLinkService.RemoteVersionLinkListResult getRemoteVersionLinksByVersionId(ApplicationUser user, Long versionId) Retrieves all of the remote version links that link with the given JIRA version.- Parameters:
user
- user who the permission checks will be run against (may benull
, indicating an anonymous user).versionId
- the ID of the version to get the remote version links for- Returns:
- a result object containing a
List
ofRemoteVersionLink
s if all went well. If no remote version links are stored against the version, then the list will be empty. If there was an error, the remote version links list will benull
and the error collection will contain details of what went wrong. Some possible error cases include the given version not existing, or the user not havingPermissions.BROWSE
permission for the version's project.
-
getRemoteVersionLinksByGlobalId
RemoteVersionLinkService.RemoteVersionLinkListResult getRemoteVersionLinksByGlobalId(ApplicationUser user, String globalId) Retrieves the remote version links that are associated with the given remote resource.- Parameters:
user
- user who the permission checks will be run against (may benull
, indicating an anonymous user).globalId
- the globalId to get the remote version links for- Returns:
- a result object containing a
List
ofRemoteVersionLink
s if all went well. If no remote version links are stored against the global ID, then the list will be empty. If there was an error, the remote version links list will benull
and the error collection will contain details of what went wrong.
-
getRemoteVersionLinkCountByGlobalId
Retrieves the count of remote version links that are associated with the given remote resource. This method does not perform a permission check.- Parameters:
globalId
- the globalId to get the remote version links for- Returns:
- The count of
RemoteVersionLink
s associated with the given remote resource global id.
-
getRemoteVersionLinkByVersionIdAndGlobalId
RemoteVersionLinkService.RemoteVersionLinkResult getRemoteVersionLinkByVersionIdAndGlobalId(ApplicationUser user, Long versionId, String globalId) Retrieves the remote version link that links with the given JIRA version and has the given globalId.- Parameters:
user
- user who the permission checks will be run against (may benull
, indicating an anonymous user).versionId
- the ID of the version to get the remote version link forglobalId
- the globalId to get the remote version link for- Returns:
- a result object containing a
RemoteVersionLink
if all went well. If there was an error the remote version link will benull
and the error collection will contain details of what went wrong. Some possible error cases include a remote version link with the givenglobalId
not existing or the user not havingPermissions.BROWSE
permission for the version's project.
-
validatePut
RemoteVersionLinkService.PutValidationResult validatePut(ApplicationUser user, Long versionId, String globalId, String json) Validates parameters and checks permissions, and if all checks pass it will create aRemoteVersionLinkService.PutValidationResult
that can be passed to theput(ApplicationUser, PutValidationResult)
method.If any validation fails the result will contain a
null
String
.- Parameters:
user
- user who the permission checks will be run against (may benull
, indicating an anonymous user).versionId
- the ID of the version for which to create/update this remote version linkglobalId
- the global id to associate with the remote version link. If this isnull
, then the JSON value will be checked for a field withRemoteEntityLink.GLOBAL_ID
as the key. If that does not exist, then a new global ID is generated. After a successful call toput(ApplicationUser, PutValidationResult)
, theRemoteVersionLinkService.RemoteVersionLinkResult
that it returns can be used to obtain the newly createdRemoteVersionLink
json
- the JSON representation of the remote version link- Returns:
- a
RemoteVersionLinkService.PutValidationResult
. If all validation and permission checks pass, then it will contain the information required to create the link; otherwise, the result will contain an error collection with any error messages that may have been generated when performing the operation.
-
put
RemoteVersionLinkService.RemoteVersionLinkResult put(ApplicationUser user, RemoteVersionLinkService.PutValidationResult putValidationResult) Creates a remote version link using the validated request returned by a prior call tovalidatePut(ApplicationUser, Long, String, String)
- Parameters:
user
- user who the permission checks will be run against (may benull
, indicating an anonymous user).putValidationResult
- contains the remote version link to store. This should have been created by thevalidatePut(ApplicationUser, Long, String, String)
method. The result must bevalid
.- Returns:
- a result object containing the persisted
String
if all went well. If there was an error creating the remote version link then the remote version link will benull
and the error collection will contain details of what went wrong. - Throws:
IllegalStateException
- if theRemoteVersionLinkService.PutValidationResult
is not valid
-
validateDelete
RemoteVersionLinkService.DeleteValidationResult validateDelete(ApplicationUser user, Long versionId, String globalId) Validates parameters and checks permissions, and if all checks pass it will create aRemoteVersionLinkService.DeleteValidationResult
that can be passed to thedelete(ApplicationUser, DeleteValidationResult)
method to delete the specified remote version link.- Parameters:
user
- who the permission checks will be run against (can be null, indicating an anonymous user).versionId
- the ID of the version associated with the remote version link to be deletedglobalId
- the global id associated with the remote version link to be deleted- Returns:
- a DeleteValidationResult, if all validation and permission passes it will contain the information relevant to the deletion; otherwise, the error collection will contain the errors generated during validation.
-
validateDeleteByVersionId
RemoteVersionLinkService.DeleteValidationResult validateDeleteByVersionId(ApplicationUser user, Long versionId) Validates parameters and checks permissions, and if all checks pass it will create aRemoteVersionLinkService.DeleteValidationResult
that can be passed to thedelete(ApplicationUser, DeleteValidationResult)
method to delete all remote version links for the specified version.- Parameters:
user
- who the permission checks will be run against (can be null, indicating an anonymous user).versionId
- the version associated with the remote version links to be deleted- Returns:
- a DeleteValidationResult, if all validation and permission passes it will contain the information relevant to the deletion; otherwise, the error collection will contain the errors generated during validation.
-
delete
void delete(ApplicationUser user, RemoteVersionLinkService.DeleteValidationResult deleteValidationResult) Deletes the remote version link that links with the given JIRA version and has the given global id, if the current user has permission to do so.- Parameters:
user
- user user who the permission checks will be run against (can be null, indicating an anonymous user).deleteValidationResult
- contains the remote version link id to delete. This should have been created by one of thevalidateDeleteBy...
methods. The result must bevalid
.- Throws:
IllegalStateException
- if theRemoteVersionLinkService.DeleteValidationResult
is not valid
-