Interface ApplicationAuthorizationService
- All Known Implementing Classes:
ApplicationAuthorizationServiceImpl
ApplicationKey
).- Since:
- 7.0
- See Also:
-
Method Summary
Modifier and TypeMethodDescriptionboolean
canUseApplication
(ApplicationUser user, com.atlassian.application.api.ApplicationKey key) Determines whether the given user is allowed to access the passed application.Set
<com.atlassian.application.api.ApplicationAccess.AccessError> getAccessErrors
(ApplicationUser user, com.atlassian.application.api.ApplicationKey key) Gets the errors that would occur if the passed user accessed the passed application.Set
<com.atlassian.application.api.ApplicationAccess.AccessError> getLicensingAccessErrors
(com.atlassian.application.api.ApplicationKey key) Get any errors that would occur when accessing the passed application.int
getUserCount
(com.atlassian.application.api.ApplicationKey key) Retrieve the number of active users for an application as identified by theApplicationKey
.boolean
hasNoLicensingAccessErrors
(com.atlassian.application.api.ApplicationKey key) Determines whether it is possible to access the passed application.boolean
Returnstrue
if any of the licenses in this JIRA instance have exceeded their respective license user limit.boolean
isApplicationInstalledAndLicensed
(com.atlassian.application.api.ApplicationKey key) Determines whether an application is installed (running in this JIRA instance) and has a backing (potentially exceeded) license.boolean
isExceeded
(com.atlassian.application.api.ApplicationKey key) Determines whether an application's license user limit have been exceeded.
-
Method Details
-
canUseApplication
boolean canUseApplication(@Nullable ApplicationUser user, @Nonnull com.atlassian.application.api.ApplicationKey key) Determines whether the given user is allowed to access the passed application. This simply checks if there are any access errors caused by the user accessing the application. That is, it callsreturn getAccessError(user, key).isEmpty()
.You can get more fine grained control using
getAccessErrors(com.atlassian.jira.user.ApplicationUser, com.atlassian.application.api.ApplicationKey)
- Parameters:
user
- the user to check for access rights - if this is null, this method returns falsekey
- the key that uniquely identifies the application.- Returns:
- true if the user has been assigned to the specified application and the application is backed by a license.
-
getAccessErrors
Set<com.atlassian.application.api.ApplicationAccess.AccessError> getAccessErrors(@Nullable ApplicationUser user, @Nonnull com.atlassian.application.api.ApplicationKey key) Gets the errors that would occur if the passed user accessed the passed application. This includes checking errors from both the license and user access. Note, this is not a specific licensing check, as long as there is a license that can grant access present then there will be no access errors. That is, the access may not come from the license of the specific application you are checking.- Parameters:
user
- the user to check for access rights - if null this will give aAccessError.NO_ACCESS
.key
- the key that uniquely identifies the application.- Returns:
- the set of
ApplicationAccess.AccessError
. An empty set is returned if no errors would occur.
-
hasNoLicensingAccessErrors
boolean hasNoLicensingAccessErrors(@Nonnull com.atlassian.application.api.ApplicationKey key) Determines whether it is possible to access the passed application. Importantly, it does not indicate if a particular user would be able to access the application. UsecanUseApplication(com.atlassian.jira.user.ApplicationUser, com.atlassian.application.api.ApplicationKey)
to work out access permission for a particular user.Note, this simply calls
getLicensingAccessErrors(key).isEmpty()
.You can get more fine grained control using
getLicensingAccessErrors(com.atlassian.application.api.ApplicationKey)
- Parameters:
key
- the key that uniquely identifies the application.- Returns:
true
if the application has a license that is not exceeded, expired, or with a version mismatch. A return offalse
indicates that users will not be able to access the application. A return oftrue
indicates it might be possible for a user to access the application.
-
getLicensingAccessErrors
Set<com.atlassian.application.api.ApplicationAccess.AccessError> getLicensingAccessErrors(@Nonnull com.atlassian.application.api.ApplicationKey key) Get any errors that would occur when accessing the passed application. Note, this only checks access errors resulting from licensing, not from particular users accessing the application. User access errors are given bygetAccessErrors(com.atlassian.jira.user.ApplicationUser, com.atlassian.application.api.ApplicationKey)
. Furthermore, this is not a specific licensing check, as long as there is a license that can grant access present then there will be no access errors. That is, the access may not come from the license of the specific application you are checking.- Parameters:
key
- the key that uniquely identifies the application.- Returns:
- the set of
ApplicationAccess.AccessError
. An empty set is returned if no errors would occur.
-
isApplicationInstalledAndLicensed
boolean isApplicationInstalledAndLicensed(@Nonnull com.atlassian.application.api.ApplicationKey key) Determines whether an application is installed (running in this JIRA instance) and has a backing (potentially exceeded) license.Note: This method still returns
true
if the application's license has expired or has been exceeded.- Parameters:
key
- the key that uniquely identifies the application.- Returns:
true
if the application is installed (running in this JIRA instance) and has a backing (potentially exceeded) license.- See Also:
-
isAnyRoleLimitExceeded
boolean isAnyRoleLimitExceeded()Returnstrue
if any of the licenses in this JIRA instance have exceeded their respective license user limit.Note: does NOT check that license is within expiry limits; see
LicenseDetails.isExpired()
.- Returns:
true
if any of the licenses in this JIRA instance have exceeded their respective license user limit.
-
isExceeded
boolean isExceeded(@Nonnull com.atlassian.application.api.ApplicationKey key) Determines whether an application's license user limit have been exceeded.Note: Does NOT check that license is within expiry limits; see
LicenseDetails.isExpired()
.Returns
false
when the application is not installed.- Parameters:
key
- the key that uniquely identifies the application.- Returns:
true
if the application's license user limit have been exceeded orfalse
otherwise.
-
getUserCount
int getUserCount(@Nonnull com.atlassian.application.api.ApplicationKey key) Retrieve the number of active users for an application as identified by theApplicationKey
.It will uniquely count all users who are found in the groups associated with the application.
- Parameters:
key
- the key that uniquely identifies the application.- Returns:
- the number of active users for the passed
ApplicationRole
when the application does not exist (0) would be returned.
-