Accession APIv1 /filter
Add /filter endpoint to org.genesys2.server.api.v1.AccessionController
(depends on #281 (closed)).
Method (based on DatasetController#list
:
@PostMapping(value = "/filter")
public FilteredPage<Accession> filter(@RequestParam(name = "p", required = false, defaultValue = "0") final int page,
@RequestParam(name = "l", required = false, defaultValue = "50") final int pageSize,
@RequestParam(name = "d", required = false, defaultValue = "ASC") final Sort.Direction direction,
@RequestParam(name = "s", required = false, defaultValue = "id") final String[] sort, @RequestBody final DatasetFilter filter) {
if (StringUtils.isNotBlank(filterCode)) {
filter = shortFilterService.filterByCode(filterCode, DatasetFilter.class);
} else {
filterCode = shortFilterService.getCode(filter);
}
return new FilteredPage<>(filterCode, filter, genesysService.filter(filter, new PageRequest(page, Integer.min(pageSize, 100), direction, sort)));
}