Class HazelcastAdministrationService
java.lang.Object
dk.acto.fafnir.api.service.hazelcast.HazelcastAdministrationService
- All Implemented Interfaces:
AdministrationService
@Service
public class HazelcastAdministrationService
extends Object
implements AdministrationService
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionReads the amount of organisations.createClaim(OrganisationSubjectPair pairSource, ClaimData source) Creates a claim for a user and an organisation.createOrganisation(OrganisationData source) Creates a new organisation.createUser(UserData src) Creates a new user.deleteClaims(OrganisationSubjectPair source) Deletes all claims for an organisation - user pair.deleteOrganisation(String orgId) Deletes an organisation.deleteUser(String source) Deletes a user.reactor.core.publisher.ConnectableFlux<String>Gets a ConnectableFlux which produces with every new organisation deleted from the administration service.reactor.core.publisher.ConnectableFlux<OrganisationData>Gets a ConnectableFlux which produces with every new organisation created/updated.reactor.core.publisher.ConnectableFlux<OrganisationData>getOrganisationFlux(Boolean publishOnUpdate) Gets a ConnectableFlux which produces with every new organisation created/updated.getOrganisationsForUser(String subject) Reads all organisations for a user.reactor.core.publisher.ConnectableFlux<String>Gets a ConnectableFlux which produces with every new user deleted from the administration service.reactor.core.publisher.ConnectableFlux<UserData>Gets a ConnectableFlux which produces with every new user created.reactor.core.publisher.ConnectableFlux<UserData>getUserFlux(Boolean publishOnUpdate) Gets a ConnectableFlux which produces with every new user created.UserData[]getUsersForOrganisation(String orgId) Reads all users for an organisation.readClaims(OrganisationSubjectPair source) Reads all claims for an organisation - user pair.readOrganisation(TenantIdentifier identifier) Reads an organisation by TenantIdentifier.readOrganisation(String orgId) Reads an organisation.Reads all organisations.readOrganisations(Long page) Read a paginated list of organisations.Reads a user, Fails is user does not exist.UserData[]Reads all users.Read a paginated list of users.updateClaims(OrganisationSubjectPair pairSource, ClaimData source) Update claims for an organisation - user pair.updateOrganisation(OrganisationData source) Updates an organisation.updateUser(UserData source) Updates a user.
-
Field Details
-
USER_POSTFIX
- See Also:
-
ORG_POSTFIX
- See Also:
-
CLAIM_POSTFIX
- See Also:
-
-
Constructor Details
-
HazelcastAdministrationService
public HazelcastAdministrationService()
-
-
Method Details
-
createUser
Description copied from interface:AdministrationServiceCreates a new user. Fails if user already exists.- Specified by:
createUserin interfaceAdministrationService- Parameters:
src- the UserData for the new user.- Returns:
- the new UserData.
-
readUser
Description copied from interface:AdministrationServiceReads a user, Fails is user does not exist.- Specified by:
readUserin interfaceAdministrationService- Parameters:
source- the user's subject.- Returns:
- the UserData for the user.
-
readUsers
Description copied from interface:AdministrationServiceRead a paginated list of users. Page size is defined by Slice.PAGE_SIZE (default 30).- Specified by:
readUsersin interfaceAdministrationService- Parameters:
page- the page to read. 0 indexed.- Returns:
- page with users.
-
readUsers
Description copied from interface:AdministrationServiceReads all users.- Specified by:
readUsersin interfaceAdministrationService- Returns:
- an array with all users.
-
updateUser
Description copied from interface:AdministrationServiceUpdates a user. Fails if user does not exist.- Specified by:
updateUserin interfaceAdministrationService- Parameters:
source- the user's new values.- Returns:
- the new user's UserData.
-
deleteUser
Description copied from interface:AdministrationServiceDeletes a user. Fails is user does not exist, or if user has any existing claims.- Specified by:
deleteUserin interfaceAdministrationService- Parameters:
source- the user's subject.- Returns:
- the UserData for the deleted user.
-
createOrganisation
Description copied from interface:AdministrationServiceCreates a new organisation. Fails if organisation already exists.- Specified by:
createOrganisationin interfaceAdministrationService- Parameters:
source- the OrganisationData for the new organisation.- Returns:
- the created organisatian's OrganisationData.
-
readOrganisation
Description copied from interface:AdministrationServiceReads an organisation. Fails is organisation does not exist.- Specified by:
readOrganisationin interfaceAdministrationService- Parameters:
orgId- the organisation id.- Returns:
- the organisation's OrganisationData.
-
readOrganisation
Description copied from interface:AdministrationServiceReads an organisation by TenantIdentifier. Fails if organisation does not exist. Will return the one of any matches, order is not guaranteed.- Specified by:
readOrganisationin interfaceAdministrationService- Parameters:
identifier- the matcher function.- Returns:
- the organisation's OrganisationData.
-
updateOrganisation
Description copied from interface:AdministrationServiceUpdates an organisation. Fails if organisation does not exist.- Specified by:
updateOrganisationin interfaceAdministrationService- Parameters:
source- the organisation's new values.- Returns:
- the new organisation's OrganisationData.
-
deleteOrganisation
Description copied from interface:AdministrationServiceDeletes an organisation. Fails is organisation does not exist.- Specified by:
deleteOrganisationin interfaceAdministrationService- Parameters:
orgId- the organisation's id.- Returns:
- the OrganisationData for the deleted organisation.
-
createClaim
Description copied from interface:AdministrationServiceCreates a claim for a user and an organisation. Fails if user or organisation does not exist, or if claim already exists.- Specified by:
createClaimin interfaceAdministrationService- Parameters:
pairSource- the user - organisation pair.source- the ClaimData for the new claim.- Returns:
- the created ClaimData.
-
readClaims
Description copied from interface:AdministrationServiceReads all claims for an organisation - user pair. Fails if pair doesn't have any claims.- Specified by:
readClaimsin interfaceAdministrationService- Parameters:
source- the user - organisation pair.- Returns:
- the pair's ClaimData.
-
updateClaims
Description copied from interface:AdministrationServiceUpdate claims for an organisation - user pair. Fails if pair doesn't have any claims.- Specified by:
updateClaimsin interfaceAdministrationService- Parameters:
pairSource- the user - organisation pair.source- the ClaimData to replace the old claim.- Returns:
- the updated ClaimData.
-
deleteClaims
Description copied from interface:AdministrationServiceDeletes all claims for an organisation - user pair. Fails if pair doesn't have any claims.- Specified by:
deleteClaimsin interfaceAdministrationService- Parameters:
source- the user - organisation pair.- Returns:
- the deleted claims.
-
getOrganisationsForUser
Description copied from interface:AdministrationServiceReads all organisations for a user. A user is only in an organisation if there exists a claim for that organisation - user pair.- Specified by:
getOrganisationsForUserin interfaceAdministrationService- Parameters:
subject- the user's subject.- Returns:
- the organisations which the user is part of.
-
getUsersForOrganisation
Description copied from interface:AdministrationServiceReads all users for an organisation. A user is only in an organisation if there exists a claim for that organisation - user pair.- Specified by:
getUsersForOrganisationin interfaceAdministrationService- Parameters:
orgId- the user's subject.- Returns:
- the users which are part of the organisation.
-
readOrganisations
Description copied from interface:AdministrationServiceRead a paginated list of organisations. Page size is defined by Slice.PAGE_SIZE (default 30).- Specified by:
readOrganisationsin interfaceAdministrationService- Parameters:
page- the page to read. 0 indexed.- Returns:
- page with organisations.
-
readOrganisations
Description copied from interface:AdministrationServiceReads all organisations.- Specified by:
readOrganisationsin interfaceAdministrationService- Returns:
- an array with all organisations.
-
countOrganisations
Description copied from interface:AdministrationServiceReads the amount of organisations.- Specified by:
countOrganisationsin interfaceAdministrationService- Returns:
- the number of organisations.
-
getUserFlux
Description copied from interface:AdministrationServiceGets a ConnectableFlux which produces with every new user created. The Flux does not complete. By default it will also publish on update. SeeAdministrationService.getUserFlux(Boolean).- Specified by:
getUserFluxin interfaceAdministrationService- Returns:
- the ConnectableFlux.
-
getUserFlux
Description copied from interface:AdministrationServiceGets a ConnectableFlux which produces with every new user created. The Flux does not complete.- Specified by:
getUserFluxin interfaceAdministrationService- Parameters:
publishOnUpdate- whether this flux should publish on update.- Returns:
- the ConnectableFlux.
-
getOrganisationFlux
Description copied from interface:AdministrationServiceGets a ConnectableFlux which produces with every new organisation created/updated. The Flux does not complete. By default it will also publish on update. SeeAdministrationService.getOrganisationFlux(Boolean).- Specified by:
getOrganisationFluxin interfaceAdministrationService- Returns:
- the ConnectableFlux.
-
getOrganisationFlux
public reactor.core.publisher.ConnectableFlux<OrganisationData> getOrganisationFlux(Boolean publishOnUpdate) Description copied from interface:AdministrationServiceGets a ConnectableFlux which produces with every new organisation created/updated. The Flux does not complete.- Specified by:
getOrganisationFluxin interfaceAdministrationService- Parameters:
publishOnUpdate- whether this flux should publish on update.- Returns:
- the ConnectableFlux.
-
getUserDeletionFlux
Description copied from interface:AdministrationServiceGets a ConnectableFlux which produces with every new user deleted from the administration service. The Flux does not complete.- Specified by:
getUserDeletionFluxin interfaceAdministrationService- Returns:
- the ConnectableFlux of subjects.
-
getOrganisationDeletionFlux
Description copied from interface:AdministrationServiceGets a ConnectableFlux which produces with every new organisation deleted from the administration service. The Flux does not complete.- Specified by:
getOrganisationDeletionFluxin interfaceAdministrationService- Returns:
- the ConnectableFlux of organisationIds.
-