diff --git a/src/main/java/com/codzilla/backend/judge/problem/ProblemController.java b/src/main/java/com/codzilla/backend/judge/problem/ProblemController.java index 6bdba6d..336d7af 100644 --- a/src/main/java/com/codzilla/backend/judge/problem/ProblemController.java +++ b/src/main/java/com/codzilla/backend/judge/problem/ProblemController.java @@ -33,6 +33,24 @@ public class ProblemController { private final SqlServiceClient sqlServiceClient; private final MatchService matchService; + @GetMapping("/by-match/{matchId}") + public ResponseEntity getProblemByMatch(@PathVariable UUID matchId) { + Match match = matchService.getMatchById(matchId); + if (match == null || match.getProblem() == null) { + return ResponseEntity.notFound().build(); + } + Problem problem = match.getProblem(); + + ProblemInfoDTO dto = new ProblemInfoDTO(); + dto.setId(problem.getId()); + dto.setName(problem.getName()); + dto.setExternalId(problem.getExternalId()); + dto.setType(problem.getType().name()); + dto.setLevel(problem.getLevel() != null ? problem.getLevel().name() : "EASY"); + + return ResponseEntity.ok(dto); + } + @PostMapping("/algo") public ResponseEntity createAlgoProblem( @RequestBody CreateAlgoProblemRequest request) { diff --git a/src/main/java/com/codzilla/backend/judge/problem/ProblemInfoDTO.java b/src/main/java/com/codzilla/backend/judge/problem/ProblemInfoDTO.java new file mode 100644 index 0000000..6cf63ff --- /dev/null +++ b/src/main/java/com/codzilla/backend/judge/problem/ProblemInfoDTO.java @@ -0,0 +1,12 @@ +package com.codzilla.backend.judge.problem; + +import lombok.Data; + +@Data +public class ProblemInfoDTO { + private Long id; + private String name; + private Long externalId; + private String type; + private String level; +} \ No newline at end of file