Package org.dspace.app.rest.repository
Class RequestItemRepository
java.lang.Object
org.dspace.app.rest.repository.AbstractDSpaceRestRepository
org.dspace.app.rest.repository.DSpaceRestRepository<RequestItemRest,String>
org.dspace.app.rest.repository.RequestItemRepository
- All Implemented Interfaces:
Aware,BeanNameAware,org.springframework.data.repository.CrudRepository<RequestItemRest,,String> org.springframework.data.repository.PagingAndSortingRepository<RequestItemRest,,String> org.springframework.data.repository.Repository<RequestItemRest,String>
@Component("tools.itemrequests")
public class RequestItemRepository
extends DSpaceRestRepository<RequestItemRest,String>
Component to expose item requests and handle operations like create (request), put (grant/deny), and
email sending. Support for requested item access by a secure token / link is supported as well as the legacy
"attach files to email" method. See dspace.cfg for configuration.
- Author:
- Mark H. Wood <mwood@iupui.edu>, Kim Shepherd
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected AuthorizeServiceprotected BitstreamServiceprotected ConfigurationServiceprotected ItemServiceprotected RequestItemConverterprotected RequestItemEmailNotifierprotected RequestItemServiceFields inherited from class org.dspace.app.rest.repository.AbstractDSpaceRestRepository
converter, requestService, utils -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptioncreateAndReturn(Context ctx) Method to implement to support the creation of a new instance.voidMethod to implement to support delete of a single object instanceorg.springframework.data.domain.Page<RequestItemRest>Method to implement to support scroll of entity instances from the collection resource endpointfindByAccessToken(String accessToken) Method to implement to support retrieval of a specific REST object instanceThe REST model supported by the repositoryput(Context context, jakarta.servlet.http.HttpServletRequest request, String apiCategory, String model, String token, com.fasterxml.jackson.databind.JsonNode requestBody) Implement this method in the subclass to support updating a REST object.Methods 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, patch, put, put, put, save, save, saveAll, setBeanName, upload, upload, uploadMethods inherited from class org.dspace.app.rest.repository.AbstractDSpaceRestRepository
getRequestService, obtainContext
-
Field Details
-
requestItemService
-
bitstreamService
-
itemService
-
requestItemConverter
-
configurationService
-
requestItemEmailNotifier
-
authorizeService
-
-
Constructor Details
-
RequestItemRepository
public RequestItemRepository()
-
-
Method Details
-
findOne
Description copied from class:DSpaceRestRepositoryMethod to implement to support retrieval of a specific REST object instance- Specified by:
findOnein classDSpaceRestRepository<RequestItemRest,String> - Parameters:
context- the dspace contexttoken- the rest object id- Returns:
- the REST object identified by its ID
-
findAll
public org.springframework.data.domain.Page<RequestItemRest> 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<RequestItemRest,String> - Parameters:
context- the dspace contextpageable- object embedding the requested pagination info- Returns:
-
createAndReturn
@PreAuthorize("permitAll()") public RequestItemRest createAndReturn(Context ctx) throws AuthorizeException, SQLException 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<RequestItemRest,String> - Parameters:
ctx- the dspace context- Returns:
- the created REST object
- Throws:
AuthorizeExceptionSQLException
-
delete
public void delete(Context context, String token) throws AuthorizeException, RepositoryMethodNotImplementedException Description copied from class:DSpaceRestRepositoryMethod to implement to support delete of a single object instance- Overrides:
deletein classDSpaceRestRepository<RequestItemRest,String> - Parameters:
context- the dspace contexttoken- the id of the rest object to delete- Throws:
AuthorizeExceptionRepositoryMethodNotImplementedException- returned by the default implementation when the operation is not supported for the entity
-
put
@PreAuthorize("permitAll()") public RequestItemRest put(Context context, jakarta.servlet.http.HttpServletRequest request, String apiCategory, String model, String token, com.fasterxml.jackson.databind.JsonNode requestBody) throws AuthorizeException Description copied from class:DSpaceRestRepositoryImplement this method in the subclass to support updating a REST object.- Overrides:
putin classDSpaceRestRepository<RequestItemRest,String> - Parameters:
context- the dspace contextapiCategory- the API category e.g. "api"model- the DSpace model e.g. "metadatafield"token- the ID of the target REST objectrequestBody- the part of the request body representing the updated rest object- Returns:
- the updated REST object
- Throws:
AuthorizeException- if the context user is not authorized to perform this operation
-
findByAccessToken
- Parameters:
accessToken-- Returns:
-
getDomainClass
Description copied from class:DSpaceRestRepositoryThe REST model supported by the repository- Specified by:
getDomainClassin classDSpaceRestRepository<RequestItemRest,String>
-