Skip to content
Snippets Groups Projects
Commit 46233262 authored by vildemv's avatar vildemv
Browse files

Implemented pagination and method to retrieve filtered result values for a user.

parent d5162761
No related branches found
No related tags found
1 merge request!5Implemented paging and filtration for results.
......@@ -6,6 +6,8 @@ import ntnu.idatt2105.group44.trivioServer.model.Result;
import ntnu.idatt2105.group44.trivioServer.repository.ResultRepository;
import ntnu.idatt2105.group44.trivioServer.service.JWTService;
import ntnu.idatt2105.group44.trivioServer.service.ResultService;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.GetMapping;
......@@ -28,20 +30,33 @@ public class ResultController {
}
@GetMapping()
public ResponseEntity<List<Result>> getResultByUserId(@RequestHeader("Authorization") String token){
public ResponseEntity<Page<Result>> getResultByUserIdAndTitle(
@RequestHeader("Authorization") String token,
@RequestParam(required = false) String title,
Pageable pageable) {
try {
long userId = Long.parseLong(jwtService.extractSubjectFromHeader(token));
List<Result> results = resultService.getResultbyUserId(userId);
Page<Result> results;
if (title != null) {
results = resultService.getResultByUserIdAndTitle(userId, title, pageable);
} else {
results= resultService.getResultByUserId(userId, pageable);
}
return ResponseEntity.ok(results);
} catch (RuntimeException e) {
return ResponseEntity.badRequest().build();
}
}
// @GetMapping()
// public List<Result> getResults(){
// return resultService.getAllResults();
// }
@PostMapping
@GetMapping("/trivioTitles")
public ResponseEntity<List<String>> getDistinctTrivioTitles(@RequestHeader("Authorization") String token) {
long userId = Long.parseLong(jwtService.extractSubjectFromHeader(token));
List<String> trivioTitles = resultService.getDistinctTrivioTitles(userId);
return ResponseEntity.ok(trivioTitles);
}
@PostMapping()
public ResponseEntity<String> postResult(@RequestBody ResultDTO resultDTO){
resultService.addResult(resultDTO);
return new ResponseEntity<>(HttpStatus.OK);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment