From 4f5a5e9fbcc0b8072c2db3785f4f19e13434ba8f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=94=D0=B0=D0=BD=D0=B8=D0=B8=D0=BB=20=D0=9A=D0=B0=D0=BB?= =?UTF-8?q?=D0=B0=D1=88=D0=BD=D0=B8=D0=BA=D0=BE=D0=B2?= Date: Sat, 13 Jun 2026 12:11:33 +0300 Subject: [PATCH] add new endpoint /by-match/{matchId} --- .../judge/problem/ProblemController.java | 18 ++++++++++++++++++ .../backend/judge/problem/ProblemInfoDTO.java | 12 ++++++++++++ 2 files changed, 30 insertions(+) create mode 100644 src/main/java/com/codzilla/backend/judge/problem/ProblemInfoDTO.java 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