Package org.dspace.app.rest.repository
Class EPersonRestRepository
java.lang.Object
org.dspace.app.rest.repository.AbstractDSpaceRestRepository
org.dspace.app.rest.repository.DSpaceRestRepository<R,UUID>
org.dspace.app.rest.repository.DSpaceObjectRestRepository<EPerson,EPersonRest>
org.dspace.app.rest.repository.EPersonRestRepository
- All Implemented Interfaces:
ReloadableEntityObjectRepository<EPerson,,UUID> Aware,BeanNameAware,InitializingBean,org.springframework.data.repository.CrudRepository<EPersonRest,,UUID> org.springframework.data.repository.PagingAndSortingRepository<EPersonRest,,UUID> org.springframework.data.repository.Repository<EPersonRest,UUID>
@Component("eperson.epersons")
public class EPersonRestRepository
extends DSpaceObjectRestRepository<EPerson,EPersonRest>
implements InitializingBean
This is the repository responsible to manage EPerson Rest object
- Author:
- Andrea Bollini (andrea.bollini at 4science.it)
-
Field Summary
Fields inherited from class org.dspace.app.rest.repository.AbstractDSpaceRestRepository
converter, requestService, utils -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidprotected EPersonRestcreateAndReturn(Context context) Method to implement to support the creation of a new instance.protected voidMethod to implement to support delete of a single object instanceorg.springframework.data.domain.Page<EPersonRest>Method to implement to support scroll of entity instances from the collection resource endpointfindByEmail(String email) Find the eperson with the provided email address if any.org.springframework.data.domain.Page<EPersonRest>findByMetadata(String query, org.springframework.data.domain.Pageable pageable) Find the epersons matching the query parameter.org.springframework.data.domain.Page<EPersonRest>findIsNotMemberOf(UUID groupUUID, String query, org.springframework.data.domain.Pageable pageable) Find the EPersons matching the query parameter which are NOT a member of the given Group.Method to implement to support retrieval of a specific REST object instanceThe REST model supported by the repositoryThis method tries to merge the details coming from theEPersonRegistrationRestControllerof a givenuuideperson.protected voidpatch(Context context, jakarta.servlet.http.HttpServletRequest request, String apiCategory, String model, UUID uuid, Patch patch) Method to implement to allow partial update of the REST object via JSON PatchMethods inherited from class org.dspace.app.rest.repository.DSpaceObjectRestRepository
findDomainObjectByPk, getPKClass, patchDSpaceObjectMethods inherited from class org.dspace.app.rest.repository.DSpaceRestRepository
action, action, count, createAndReturn, createAndReturn, createAndReturn, createAndReturn, createAndReturn, delete, deleteAll, deleteAll, deleteAllById, deleteById, existsById, findAll, findAll, findAll, findAllById, findById, patch, put, put, put, put, save, save, saveAll, setBeanName, upload, upload, uploadMethods inherited from class org.dspace.app.rest.repository.AbstractDSpaceRestRepository
getRequestService, obtainContext
-
Constructor Details
-
EPersonRestRepository
-
-
Method Details
-
createAndReturn
Description copied from class:DSpaceRestRepositoryMethod to implement to support the creation of a new instance. Usually require to retrieve the http request from the thread bound attribute- Overrides:
createAndReturnin classDSpaceRestRepository<EPersonRest,UUID> - Parameters:
context- the dspace context- Returns:
- the created REST object
- Throws:
AuthorizeException
-
findOne
@PreAuthorize("hasPermission(#id, \'EPERSON\', \'READ\')") public EPersonRest findOne(Context context, UUID id) Description copied from class:DSpaceRestRepositoryMethod to implement to support retrieval of a specific REST object instance- Specified by:
findOnein classDSpaceRestRepository<EPersonRest,UUID> - Parameters:
context- the dspace contextid- the rest object id- Returns:
- the REST object identified by its ID
-
findAll
@PreAuthorize("hasAuthority(\'ADMIN\')") public org.springframework.data.domain.Page<EPersonRest> findAll(Context context, org.springframework.data.domain.Pageable pageable) Description copied from class:DSpaceRestRepositoryMethod to implement to support scroll of entity instances from the collection resource endpoint- Specified by:
findAllin classDSpaceRestRepository<EPersonRest,UUID> - Parameters:
context- the dspace contextpageable- object embedding the requested pagination info- Returns:
-
findByEmail
Find the eperson with the provided email address if any. The search is delegated to theEPersonService.findByEmail(Context, String)method- Parameters:
email- is the *required* email address- Returns:
- a Page of EPersonRest instances matching the user query
-
findByMetadata
@PreAuthorize("hasAuthority(\'ADMIN\') || hasAuthority(\'MANAGE_ACCESS_GROUP\')") public org.springframework.data.domain.Page<EPersonRest> findByMetadata(String query, org.springframework.data.domain.Pageable pageable) Find the epersons matching the query parameter. The search is delegated to theEPersonService.search(Context, String, int, int)method- Parameters:
query- is the *required* query stringpageable- contains the pagination information- Returns:
- a Page of EPersonRest instances matching the user query
-
findIsNotMemberOf
@PreAuthorize("hasAuthority(\'ADMIN\') || hasAuthority(\'MANAGE_ACCESS_GROUP\')") public org.springframework.data.domain.Page<EPersonRest> findIsNotMemberOf(UUID groupUUID, String query, org.springframework.data.domain.Pageable pageable) Find the EPersons matching the query parameter which are NOT a member of the given Group. The search is delegated to theEPersonService.searchNonMembers(Context, String, Group, int, int)method- Parameters:
groupUUID- the *required* group UUID to exclude results fromquery- is the *required* query stringpageable- contains the pagination information- Returns:
- a Page of EPersonRest instances matching the user query
-
patch
@PreAuthorize("hasPermission(#uuid, \'EPERSON\', #patch)") protected void patch(Context context, jakarta.servlet.http.HttpServletRequest request, String apiCategory, String model, UUID uuid, Patch patch) throws AuthorizeException, SQLException Description copied from class:DSpaceRestRepositoryMethod to implement to allow partial update of the REST object via JSON Patch- Overrides:
patchin classDSpaceRestRepository<EPersonRest,UUID> request- the http requestuuid- the ID of the target REST objectpatch- the JSON Patch (https://tools.ietf.org/html/rfc6902) operation- Throws:
AuthorizeExceptionSQLException
-
delete
Description copied from class:DSpaceRestRepositoryMethod to implement to support delete of a single object instance- Overrides:
deletein classDSpaceRestRepository<EPersonRest,UUID> - Parameters:
context- the dspace contextid- the id of the rest object to delete- Throws:
AuthorizeException
-
getDomainClass
Description copied from class:DSpaceRestRepositoryThe REST model supported by the repository- Specified by:
getDomainClassin classDSpaceRestRepository<EPersonRest,UUID>
-
mergeFromRegistrationData
public EPersonRest mergeFromRegistrationData(Context context, UUID uuid, String token, List<String> override) throws AuthorizeException This method tries to merge the details coming from theEPersonRegistrationRestControllerof a givenuuideperson.- Parameters:
context- - The Dspace Contextuuid- - The uuid of the epersontoken- - A valid registration tokenoverride- - An optional list of metadata fields that will be overwritten- Returns:
- a EPersonRest entity updated with the registration data.
- Throws:
AuthorizeException
-
afterPropertiesSet
- Specified by:
afterPropertiesSetin interfaceInitializingBean- Throws:
Exception
-