/** * Remove an association between a challenge and a challenge referral. * * @param id challenge id * @param challengeReferralId challenge referral id * @return ServiceResponse with appropriate status * @throws ObjectNotFoundException If one of the objects were not found */ @RequestMapping(value = "/{id}/challengeReferral", method = RequestMethod.DELETE) public @ResponseBody ServiceResponse removeChallengeReferralFromChallenge( @PathVariable final UUID id, @RequestBody @NotNull final UUID challengeReferralId) throws ObjectNotFoundException { final Challenge challenge = service.get(id); final ChallengeReferral referral = challengeReferralService.get(challengeReferralId); service.removeChallengeReferralFromChallenge(referral, challenge); return new ServiceResponse(true); }
@RequestMapping(value = "/search", method = RequestMethod.GET) @DynamicPermissionChecking public @ResponseBody List<ChallengeTO> getChallengesForPerson( @PathVariable final UUID personId, @RequestParam("query") final String query) throws Exception { try { return challengeService.search(query, personService.get(personId), false); } catch (Exception e) { LOGGER.error("ERROR : search() : {}", e.getMessage(), e); throw e; } }
/** * Get all {@link ChallengeReferralTO} associated with the specified {@link ChallengeTO}. * * @param id challenge id * @param status {@link ObjectStatus} * @param start Optional start (0-based) * @param limit Optional row limit * @param sort Optional sort column * @param sortDirection Optional sort direction * @return All {@link ChallengeReferralTO} associated with the specified {@link ChallengeTO}. * @throws ObjectNotFoundException If the specified challenge could not be found. */ @RequestMapping(value = "/{id}/challengeReferral", method = RequestMethod.GET) @PreAuthorize(Permission.SECURITY_REFERENCE_READ) public @ResponseBody PagedResponse<ChallengeReferralTO> getChallengeReferralsForChallenge( @PathVariable final UUID id, final @RequestParam(required = false) ObjectStatus status, final @RequestParam(required = false) Integer start, final @RequestParam(required = false) Integer limit, final @RequestParam(required = false) String sort, final @RequestParam(required = false) String sortDirection) throws ObjectNotFoundException { final Challenge challenge = service.get(id); final PagingWrapper<ChallengeReferral> data = challengeReferralService.getAllForChallenge( challenge, SortingAndPaging.createForSingleSortWithPaging( status, start, limit, sort, sortDirection, null)); return new PagedResponse<ChallengeReferralTO>( true, data.getResults(), challengeReferralTOFactory.asTOSet(data.getRows())); }