Skip to content
Snippets Groups Projects

Implemented paging and filtration for results.

Merged Vilde Min Vikan requested to merge history-filtration into main
4 files
+ 49
17
Compare changes
  • Side-by-side
  • Inline
Files
4
@@ -6,6 +6,8 @@ import ntnu.idatt2105.group44.trivioServer.model.Result;
@@ -6,6 +6,8 @@ import ntnu.idatt2105.group44.trivioServer.model.Result;
import ntnu.idatt2105.group44.trivioServer.repository.ResultRepository;
import ntnu.idatt2105.group44.trivioServer.repository.ResultRepository;
import ntnu.idatt2105.group44.trivioServer.service.JWTService;
import ntnu.idatt2105.group44.trivioServer.service.JWTService;
import ntnu.idatt2105.group44.trivioServer.service.ResultService;
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.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.GetMapping;
@@ -28,20 +30,33 @@ public class ResultController {
@@ -28,20 +30,33 @@ public class ResultController {
}
}
@GetMapping()
@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 {
try {
long userId = Long.parseLong(jwtService.extractSubjectFromHeader(token));
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);
return ResponseEntity.ok(results);
} catch(RuntimeException e) {
} catch (RuntimeException e) {
return ResponseEntity.badRequest().build();
return ResponseEntity.badRequest().build();
}
}
}
}
// @GetMapping()
// public List<Result> getResults(){
@GetMapping("/trivioTitles")
// return resultService.getAllResults();
public ResponseEntity<List<String>> getDistinctTrivioTitles(@RequestHeader("Authorization") String token) {
// }
long userId = Long.parseLong(jwtService.extractSubjectFromHeader(token));
@PostMapping
List<String> trivioTitles = resultService.getDistinctTrivioTitles(userId);
 
return ResponseEntity.ok(trivioTitles);
 
}
 
 
@PostMapping()
public ResponseEntity<String> postResult(@RequestBody ResultDTO resultDTO){
public ResponseEntity<String> postResult(@RequestBody ResultDTO resultDTO){
resultService.addResult(resultDTO);
resultService.addResult(resultDTO);
return new ResponseEntity<>(HttpStatus.OK);
return new ResponseEntity<>(HttpStatus.OK);
Loading